From c5067e89036d96e750f2cfc0d0f01a1791ec85e2 Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 09:28:10 -0500 Subject: [PATCH 01/33] Initial pass at Maven --- .github/workflows/integration.yml | 6 +- .gitignore | 41 ++- .mvn/wrapper/maven-wrapper.jar | Bin 0 -> 62547 bytes .mvn/wrapper/maven-wrapper.properties | 18 + algorithm-cs/build.gradle | 11 - .../com/imsweb/staging/zip/ZipAlgorithm.java | 17 - algorithm-eod/build.gradle | 5 - .../com/imsweb/staging/zip/ZipAlgorithm.java | 14 - algorithm-pediatric/build.gradle | 5 - .../com/imsweb/staging/zip/ZipAlgorithm.java | 14 - algorithm-tnm/build.gradle | 5 - .../com/imsweb/staging/zip/ZipAlgorithm.java | 14 - build.gradle | 158 --------- gradlew | 251 -------------- gradlew.bat | 94 ------ lib/build.gradle | 24 -- mvnw | 308 ++++++++++++++++++ mvnw.cmd | 205 ++++++++++++ pom.xml | 271 +++++++++++++++ settings.gradle | 13 - .../ExternalStagingFileDataProvider.java | 0 .../imsweb/staging/InMemoryDataProvider.java | 0 .../main/java/com/imsweb/staging/Staging.java | 0 .../imsweb/staging/StagingDataProvider.java | 0 .../staging/StagingFileDataProvider.java | 0 .../com/imsweb/staging/cs/CsDataProvider.java | 0 .../com/imsweb/staging/cs/CsSchemaLookup.java | 0 .../com/imsweb/staging/cs/CsStagingData.java | 0 .../imsweb/staging/engine/DecisionEngine.java | 0 .../staging/entities/ColumnDefinition.java | 0 .../imsweb/staging/entities/DataProvider.java | 0 .../com/imsweb/staging/entities/Endpoint.java | 0 .../com/imsweb/staging/entities/Error.java | 0 .../staging/entities/GlossaryDefinition.java | 0 .../imsweb/staging/entities/GlossaryHit.java | 0 .../com/imsweb/staging/entities/Input.java | 0 .../imsweb/staging/entities/KeyMapping.java | 0 .../com/imsweb/staging/entities/KeyValue.java | 0 .../com/imsweb/staging/entities/Mapping.java | 0 .../com/imsweb/staging/entities/Metadata.java | 0 .../com/imsweb/staging/entities/Output.java | 0 .../com/imsweb/staging/entities/Range.java | 0 .../com/imsweb/staging/entities/Result.java | 0 .../com/imsweb/staging/entities/Schema.java | 0 .../imsweb/staging/entities/SchemaLookup.java | 7 +- .../imsweb/staging/entities/StagingData.java | 0 .../com/imsweb/staging/entities/Table.java | 0 .../imsweb/staging/entities/TablePath.java | 0 .../com/imsweb/staging/entities/TableRow.java | 0 .../impl/StagingColumnDefinition.java | 0 .../entities/impl/StagingEndpoint.java | 0 .../entities/impl/StagingKeyMapping.java | 0 .../entities/impl/StagingKeyValue.java | 0 .../staging/entities/impl/StagingMapping.java | 0 .../entities/impl/StagingMetadata.java | 0 .../impl/StagingMetadataDeserializer.java | 0 .../staging/entities/impl/StagingRange.java | 0 .../staging/entities/impl/StagingSchema.java | 0 .../entities/impl/StagingSchemaInput.java | 0 .../entities/impl/StagingSchemaOutput.java | 0 .../staging/entities/impl/StagingTable.java | 0 .../entities/impl/StagingTablePath.java | 0 .../entities/impl/StagingTableRow.java | 0 .../imsweb/staging/eod/EodDataProvider.java | 0 .../imsweb/staging/eod/EodSchemaLookup.java | 0 .../imsweb/staging/eod/EodStagingData.java | 0 .../pediatric/PediatricDataProvider.java | 0 .../pediatric/PediatricSchemaLookup.java | 0 .../pediatric/PediatricStagingData.java | 0 .../imsweb/staging/tnm/TnmDataProvider.java | 0 .../imsweb/staging/tnm/TnmSchemaLookup.java | 0 .../imsweb/staging/tnm/TnmStagingData.java | 0 .../com/imsweb/staging/util/Stopwatch.java | 0 .../com/imsweb/staging/AlgorithmZipUtils.java | 0 .../ExternalStagingFileDataProviderTest.java | 0 .../imsweb/staging/FileDataProviderTest.java | 0 .../staging/StagingDataProviderTest.java | 0 .../staging/StagingFileDataProviderTest.java | 0 .../java/com/imsweb/staging/StagingTest.java | 0 .../imsweb/staging/cs/CsIntegrationTest.java | 0 .../imsweb/staging/cs/CsSchemaLookupTest.java | 0 .../com/imsweb/staging/cs/CsStagingTest.java | 0 .../imsweb/staging/cs/CsUpdateFromAPI.java | 0 .../imsweb/staging/cs/IntegrationUtils.java | 8 +- .../staging/engine/BasicStagingTest.java | 0 .../staging/engine/DecisionEngineTest.java | 0 .../imsweb/staging/entities/EntitiesTest.java | 0 .../entities/GlossaryDefinitionTest.java | 0 .../staging/entities/SchemaLookupTest.java | 0 .../staging/entities/StagingRangeTest.java | 0 .../entities/impl/StagingSchemaInputTest.java | 0 .../impl/StagingSchemaOutputTest.java | 0 .../staging/eod/EodPublicUpdateFromAPI.java | 0 .../imsweb/staging/eod/EodStagingTest.java | 12 +- .../imsweb/staging/eod/EodUpdateFromAPI.java | 0 .../pediatric/PediatricStagingTest.java | 0 .../pediatric/PediatricUpdateFromAPI.java | 0 .../staging/tnm/TnmSchemaLookupTest.java | 0 .../imsweb/staging/tnm/TnmStagingTest.java | 0 .../imsweb/staging/tnm/TnmUpdateFromAPI.java | 0 .../staging/updater/BadRequestException.java | 0 .../staging/updater/ErrorInterceptor.java | 0 .../imsweb/staging/updater/ErrorResponse.java | 0 .../updater/NotAuthorizedException.java | 0 .../staging/updater/NotFoundException.java | 0 .../staging/updater/SeerApiException.java | 0 .../imsweb/staging/updater/UpdaterUtils.java | 0 .../imsweb/staging/util/StopwatchTest.java | 0 .../com/imsweb/staging/zip/ZipAlgorithm.java | 0 .../schemas/adnexa_uterine_other.json | 0 .../cs/02.05.50/schemas/adrenal_gland.json | 0 .../cs/02.05.50/schemas/ampulla_vater.json | 0 .../algorithms/cs/02.05.50/schemas/anus.json | 0 .../cs/02.05.50/schemas/appendix.json | 0 .../02.05.50/schemas/bile_ducts_distal.json | 0 .../schemas/bile_ducts_intrahepat.json | 0 .../schemas/bile_ducts_perihilar.json | 0 .../cs/02.05.50/schemas/biliary_other.json | 0 .../cs/02.05.50/schemas/bladder.json | 0 .../algorithms/cs/02.05.50/schemas/bone.json | 0 .../algorithms/cs/02.05.50/schemas/brain.json | 0 .../cs/02.05.50/schemas/breast.json | 0 .../cs/02.05.50/schemas/buccal_mucosa.json | 0 .../02.05.50/schemas/carcinoid_appendix.json | 0 .../cs/02.05.50/schemas/cervix.json | 0 .../cs/02.05.50/schemas/cns_other.json | 0 .../algorithms/cs/02.05.50/schemas/colon.json | 0 .../cs/02.05.50/schemas/conjunctiva.json | 0 .../02.05.50/schemas/corpus_adenosarcoma.json | 0 .../cs/02.05.50/schemas/corpus_carcinoma.json | 0 .../cs/02.05.50/schemas/corpus_sarcoma.json | 0 .../cs/02.05.50/schemas/cystic_duct.json | 0 .../cs/02.05.50/schemas/digestive_other.json | 0 .../cs/02.05.50/schemas/endocrine_other.json | 0 .../02.05.50/schemas/epiglottis_anterior.json | 0 .../cs/02.05.50/schemas/esophagus.json | 0 .../schemas/esophagus_gejunction.json | 0 .../cs/02.05.50/schemas/eye_other.json | 0 .../cs/02.05.50/schemas/fallopian_tube.json | 0 .../cs/02.05.50/schemas/floor_mouth.json | 0 .../cs/02.05.50/schemas/gallbladder.json | 0 .../schemas/genital_female_other.json | 0 .../02.05.50/schemas/genital_male_other.json | 0 .../cs/02.05.50/schemas/gist_appendix.json | 0 .../cs/02.05.50/schemas/gist_colon.json | 0 .../cs/02.05.50/schemas/gist_esophagus.json | 0 .../cs/02.05.50/schemas/gist_peritoneum.json | 0 .../cs/02.05.50/schemas/gist_rectum.json | 0 .../schemas/gist_small_intestine.json | 0 .../cs/02.05.50/schemas/gist_stomach.json | 0 .../cs/02.05.50/schemas/gum_lower.json | 0 .../cs/02.05.50/schemas/gum_other.json | 0 .../cs/02.05.50/schemas/gum_upper.json | 0 .../02.05.50/schemas/heart_mediastinum.json | 0 .../cs/02.05.50/schemas/heme_retic.json | 0 .../cs/02.05.50/schemas/hypopharynx.json | 0 .../algorithms/cs/02.05.50/schemas/ids.txt | 0 .../02.05.50/schemas/ill_defined_other.json | 0 .../02.05.50/schemas/intracranial_gland.json | 0 .../cs/02.05.50/schemas/kaposi_sarcoma.json | 0 .../02.05.50/schemas/kidney_parenchyma.json | 0 .../02.05.50/schemas/kidney_renal_pelvis.json | 0 .../cs/02.05.50/schemas/lacrimal_gland.json | 0 .../cs/02.05.50/schemas/lacrimal_sac.json | 0 .../cs/02.05.50/schemas/larynx_glottic.json | 0 .../cs/02.05.50/schemas/larynx_other.json | 0 .../02.05.50/schemas/larynx_subglottic.json | 0 .../02.05.50/schemas/larynx_supraglottic.json | 0 .../cs/02.05.50/schemas/lip_lower.json | 0 .../cs/02.05.50/schemas/lip_other.json | 0 .../cs/02.05.50/schemas/lip_upper.json | 0 .../algorithms/cs/02.05.50/schemas/liver.json | 0 .../algorithms/cs/02.05.50/schemas/lung.json | 0 .../cs/02.05.50/schemas/lymphoma.json | 0 .../schemas/lymphoma_ocular_adnexa.json | 0 .../schemas/melanoma_buccal_mucosa.json | 0 .../cs/02.05.50/schemas/melanoma_choroid.json | 0 .../schemas/melanoma_ciliary_body.json | 0 .../schemas/melanoma_conjunctiva.json | 0 .../schemas/melanoma_epiglottis_anterior.json | 0 .../02.05.50/schemas/melanoma_eye_other.json | 0 .../schemas/melanoma_floor_mouth.json | 0 .../02.05.50/schemas/melanoma_gum_lower.json | 0 .../02.05.50/schemas/melanoma_gum_other.json | 0 .../02.05.50/schemas/melanoma_gum_upper.json | 0 .../schemas/melanoma_hypopharynx.json | 0 .../cs/02.05.50/schemas/melanoma_iris.json | 0 .../schemas/melanoma_larynx_glottic.json | 0 .../schemas/melanoma_larynx_other.json | 0 .../schemas/melanoma_larynx_subglottic.json | 0 .../schemas/melanoma_larynx_supraglottic.json | 0 .../02.05.50/schemas/melanoma_lip_lower.json | 0 .../02.05.50/schemas/melanoma_lip_other.json | 0 .../02.05.50/schemas/melanoma_lip_upper.json | 0 .../schemas/melanoma_mouth_other.json | 0 .../schemas/melanoma_nasal_cavity.json | 0 .../schemas/melanoma_nasopharynx.json | 0 .../02.05.50/schemas/melanoma_oropharynx.json | 0 .../schemas/melanoma_palate_hard.json | 0 .../schemas/melanoma_palate_soft.json | 0 .../schemas/melanoma_pharynx_other.json | 0 .../schemas/melanoma_sinus_ethmoid.json | 0 .../schemas/melanoma_sinus_maxillary.json | 0 .../schemas/melanoma_sinus_other.json | 0 .../cs/02.05.50/schemas/melanoma_skin.json | 0 .../schemas/melanoma_tongue_anterior.json | 0 .../schemas/melanoma_tongue_base.json | 0 .../02.05.50/schemas/merkel_cell_penis.json | 0 .../02.05.50/schemas/merkel_cell_scrotum.json | 0 .../cs/02.05.50/schemas/merkel_cell_skin.json | 0 .../02.05.50/schemas/merkel_cell_vulva.json | 0 .../cs/02.05.50/schemas/middle_ear.json | 0 .../cs/02.05.50/schemas/mouth_other.json | 0 .../02.05.50/schemas/mycosis_fungoides.json | 0 .../schemas/myeloma_plasma_cell_disorder.json | 0 .../cs/02.05.50/schemas/nasal_cavity.json | 0 .../cs/02.05.50/schemas/nasopharynx.json | 0 .../cs/02.05.50/schemas/net_ampulla.json | 0 .../cs/02.05.50/schemas/net_colon.json | 0 .../cs/02.05.50/schemas/net_rectum.json | 0 .../02.05.50/schemas/net_small_intestine.json | 0 .../cs/02.05.50/schemas/net_stomach.json | 0 .../algorithms/cs/02.05.50/schemas/orbit.json | 0 .../cs/02.05.50/schemas/oropharynx.json | 0 .../algorithms/cs/02.05.50/schemas/ovary.json | 0 .../cs/02.05.50/schemas/palate_hard.json | 0 .../cs/02.05.50/schemas/palate_soft.json | 0 .../02.05.50/schemas/pancreas_body_tail.json | 0 .../cs/02.05.50/schemas/pancreas_head.json | 0 .../cs/02.05.50/schemas/pancreas_other.json | 0 .../cs/02.05.50/schemas/parotid_gland.json | 0 .../algorithms/cs/02.05.50/schemas/penis.json | 0 .../cs/02.05.50/schemas/peritoneum.json | 0 .../schemas/peritoneum_female_gen.json | 0 .../02.05.50/schemas/pharyngeal_tonsil.json | 0 .../cs/02.05.50/schemas/pharynx_other.json | 0 .../cs/02.05.50/schemas/placenta.json | 0 .../cs/02.05.50/schemas/pleura.json | 0 .../cs/02.05.50/schemas/prostate.json | 0 .../cs/02.05.50/schemas/rectum.json | 0 .../02.05.50/schemas/respiratory_other.json | 0 .../cs/02.05.50/schemas/retinoblastoma.json | 0 .../cs/02.05.50/schemas/retroperitoneum.json | 0 .../schemas/salivary_gland_other.json | 0 .../cs/02.05.50/schemas/scrotum.json | 0 .../cs/02.05.50/schemas/sinus_ethmoid.json | 0 .../cs/02.05.50/schemas/sinus_maxillary.json | 0 .../cs/02.05.50/schemas/sinus_other.json | 0 .../algorithms/cs/02.05.50/schemas/skin.json | 0 .../cs/02.05.50/schemas/skin_eyelid.json | 0 .../cs/02.05.50/schemas/small_intestine.json | 0 .../cs/02.05.50/schemas/soft_tissue.json | 0 .../cs/02.05.50/schemas/stomach.json | 0 .../02.05.50/schemas/submandibular_gland.json | 0 .../cs/02.05.50/schemas/testis.json | 0 .../cs/02.05.50/schemas/thyroid.json | 0 .../cs/02.05.50/schemas/tongue_anterior.json | 0 .../cs/02.05.50/schemas/tongue_base.json | 0 .../cs/02.05.50/schemas/trachea.json | 0 .../cs/02.05.50/schemas/urethra.json | 0 .../cs/02.05.50/schemas/urinary_other.json | 0 .../cs/02.05.50/schemas/vagina.json | 0 .../algorithms/cs/02.05.50/schemas/vulva.json | 0 .../02.05.50/tables/ajcc6_exclusions_paa.json | 0 .../02.05.50/tables/ajcc6_exclusions_pab.json | 0 .../02.05.50/tables/ajcc6_exclusions_pac.json | 0 .../02.05.50/tables/ajcc6_exclusions_pad.json | 0 .../02.05.50/tables/ajcc6_exclusions_pae.json | 0 .../02.05.50/tables/ajcc6_exclusions_paf.json | 0 .../02.05.50/tables/ajcc6_exclusions_pag.json | 0 .../02.05.50/tables/ajcc6_exclusions_paj.json | 0 .../02.05.50/tables/ajcc6_exclusions_pak.json | 0 .../02.05.50/tables/ajcc6_exclusions_pam.json | 0 .../02.05.50/tables/ajcc6_exclusions_pan.json | 0 .../02.05.50/tables/ajcc6_exclusions_ppb.json | 0 .../02.05.50/tables/ajcc6_exclusions_ppc.json | 0 .../02.05.50/tables/ajcc6_exclusions_ppd.json | 0 .../02.05.50/tables/ajcc6_exclusions_ppe.json | 0 .../cs/02.05.50/tables/ajcc6_m_codes.json | 0 .../cs/02.05.50/tables/ajcc6_n_codes.json | 0 .../cs/02.05.50/tables/ajcc6_stage_codes.json | 0 .../tables/ajcc6_stage_not_ewing_qai.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qab.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qac.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qad.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qag.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qah.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qaj.json | 0 .../tables/ajcc6_stage_qaj_grade.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qak.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qal.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qam.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qao.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qar.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qas.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qat.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qau.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qav.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qaw.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qax.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qaz.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qbb.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qbh.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qbi.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qbj.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qbk.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qbl.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qbq.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qbr.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qbv.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qcb.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qcc.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qcd.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qdx.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qdy.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qea.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qna.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qnb.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpb.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpf.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpi.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpj.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpk.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpl.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpn.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpo.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpp.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpq.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpr.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qps.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpt.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpu.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpv.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpw.json | 0 .../cs/02.05.50/tables/ajcc6_stage_qpx.json | 0 .../cs/02.05.50/tables/ajcc6_t_codes.json | 0 .../tables/ajcc6_year_validation.json | 0 .../02.05.50/tables/ajcc7_inclusions_tab.json | 0 .../02.05.50/tables/ajcc7_inclusions_tae.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpa.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpb.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpc.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpe.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpf.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpg.json | 0 .../02.05.50/tables/ajcc7_inclusions_tph.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpi.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpj.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpk.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpl.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpm.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpn.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpo.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpp.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpq.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpr.json | 0 .../02.05.50/tables/ajcc7_inclusions_tps.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpt.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpv.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpw.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpx.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpy.json | 0 .../02.05.50/tables/ajcc7_inclusions_tpz.json | 0 .../02.05.50/tables/ajcc7_inclusions_tqa.json | 0 .../02.05.50/tables/ajcc7_inclusions_tqb.json | 0 .../02.05.50/tables/ajcc7_inclusions_tqc.json | 0 .../02.05.50/tables/ajcc7_inclusions_tqf.json | 0 .../02.05.50/tables/ajcc7_inclusions_tqg.json | 0 .../02.05.50/tables/ajcc7_inclusions_tqh.json | 0 .../02.05.50/tables/ajcc7_inclusions_tqi.json | 0 .../02.05.50/tables/ajcc7_inclusions_tqj.json | 0 .../02.05.50/tables/ajcc7_inclusions_tqk.json | 0 .../02.05.50/tables/ajcc7_inclusions_tql.json | 0 .../02.05.50/tables/ajcc7_inclusions_tqm.json | 0 .../02.05.50/tables/ajcc7_inclusions_tqn.json | 0 .../cs/02.05.50/tables/ajcc7_m_codes.json | 0 .../cs/02.05.50/tables/ajcc7_n_codes.json | 0 .../cs/02.05.50/tables/ajcc7_stage_codes.json | 0 .../tables/ajcc7_stage_not_ewing_ube.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uaa.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uab.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uac.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uad.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uae.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uaf.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uag.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uak.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ual.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uam.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uao.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uap.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uaq.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uar.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uau.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uav.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uaw.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uax.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uay.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uaz.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uba.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubb.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubc.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubd.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubf.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubg.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubh.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubi.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubj.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubk.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubl.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubm.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubn.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubp.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubq.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubs.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubt.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubu.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubv.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubw.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ubx.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uby.json | 0 .../cs/02.05.50/tables/ajcc7_stage_una.json | 0 .../cs/02.05.50/tables/ajcc7_stage_unb.json | 0 .../cs/02.05.50/tables/ajcc7_stage_upm.json | 0 .../cs/02.05.50/tables/ajcc7_stage_ups.json | 0 .../cs/02.05.50/tables/ajcc7_stage_upt.json | 0 .../cs/02.05.50/tables/ajcc7_stage_upu.json | 0 .../cs/02.05.50/tables/ajcc7_stage_upv.json | 0 .../cs/02.05.50/tables/ajcc7_stage_upw.json | 0 .../cs/02.05.50/tables/ajcc7_stage_upx.json | 0 .../cs/02.05.50/tables/ajcc7_stage_upy.json | 0 .../cs/02.05.50/tables/ajcc7_stage_upz.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uqa.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uqb.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uqc.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uqd.json | 0 .../cs/02.05.50/tables/ajcc7_stage_uqe.json | 0 .../cs/02.05.50/tables/ajcc7_t_codes.json | 0 .../tables/ajcc7_year_validation.json | 0 .../tables/ajcc_descriptor_codes.json | 0 .../tables/ajcc_mdescriptor_cleanup.json | 0 .../tables/ajcc_ndescriptor_cleanup.json | 0 .../tables/ajcc_tdescriptor_cleanup.json | 0 .../tables/ajcc_tnm6_stage_csv1_xie.json | 0 .../tables/ajcctnm6_stage_csv1_xpz.json | 0 ...ajcctnm6_stage_thyroid_anaplastic_xcg.json | 0 .../ajcctnm6_stage_thyroid_medullary_xcf.json | 0 ...laryand_follicular_age45and_older_xco.json | 0 .../tables/ajcctnm6and7_stage_ewing_xho.json | 0 .../ajcctnm7_stage_adenocarcinoma_xhz.json | 0 .../ajcctnm7_stage_adenocarcinoma_xib.json | 0 .../ajcctnm7_stage_giststomach_xit.json | 0 .../tables/ajcctnm7_stage_squamous_xhy.json | 0 .../tables/ajcctnm7_stage_squamous_xia.json | 0 ...ajcctnm7_stage_thyroid_anaplastic_xdz.json | 0 .../ajcctnm7_stage_thyroid_medullary_xdy.json | 0 ...laryand_follicular_age45and_older_xdx.json | 0 .../cs/02.05.50/tables/behavior.json | 0 ...al_eval_extension_quadrants_ajcc7_xca.json | 0 ...al_eval_extension_thickness_ajcc6_xbw.json | 0 ...yearof_diagnosis_greater_than2009_xiy.json | 0 ...or_yearof_diagnosis_less_than2010_xiz.json | 0 .../tables/cs_input_version_original.json | 0 .../02.05.50/tables/cs_year_validation.json | 0 ...csextension_size_tablefor_ajcc6th_xba.json | 0 ...ermine_correct_table_for_ajcc6_m_ns29.json | 0 ...termine_correct_table_for_ajcc6_m_ns4.json | 0 ...ne_correct_table_for_ajcc6_meval_ns30.json | 0 ...termine_correct_table_for_ajcc6_n_ns1.json | 0 ...ermine_correct_table_for_ajcc6_n_ns10.json | 0 ...ermine_correct_table_for_ajcc6_n_ns13.json | 0 ...ermine_correct_table_for_ajcc6_n_ns22.json | 0 ...ermine_correct_table_for_ajcc6_n_ns23.json | 0 ...ermine_correct_table_for_ajcc6_n_ns24.json | 0 ...ermine_correct_table_for_ajcc6_n_ns26.json | 0 ...termine_correct_table_for_ajcc6_n_ns3.json | 0 ...ermine_correct_table_for_ajcc6_n_ns41.json | 0 ...termine_correct_table_for_ajcc6_n_ns8.json | 0 ...termine_correct_table_for_ajcc6_n_ns9.json | 0 ...ne_correct_table_for_ajcc6_neval_ns31.json | 0 ...mine_correct_table_for_ajcc6_stg_ns15.json | 0 ...mine_correct_table_for_ajcc6_stg_ns37.json | 0 ...ermine_correct_table_for_ajcc6_t_ns16.json | 0 ...ermine_correct_table_for_ajcc6_t_ns33.json | 0 ...ermine_correct_table_for_ajcc6_t_ns34.json | 0 ...ermine_correct_table_for_ajcc6_t_ns39.json | 0 ...termine_correct_table_for_ajcc6_t_ns6.json | 0 ...termine_correct_table_for_ajcc6_t_ns7.json | 0 ...rmine_correct_table_for_ajcc6_tm_ns44.json | 0 ...rmine_correct_table_for_ajcc6_tm_ns47.json | 0 ...ermine_correct_table_for_ajcc7_n_ns11.json | 0 ...ermine_correct_table_for_ajcc7_n_ns12.json | 0 ...ermine_correct_table_for_ajcc7_n_ns14.json | 0 ...ermine_correct_table_for_ajcc7_n_ns18.json | 0 ...ermine_correct_table_for_ajcc7_n_ns19.json | 0 ...termine_correct_table_for_ajcc7_n_ns2.json | 0 ...ermine_correct_table_for_ajcc7_n_ns20.json | 0 ...ermine_correct_table_for_ajcc7_n_ns21.json | 0 ...ermine_correct_table_for_ajcc7_n_ns25.json | 0 ...ermine_correct_table_for_ajcc7_n_ns27.json | 0 ...ermine_correct_table_for_ajcc7_n_ns40.json | 0 ...termine_correct_table_for_ajcc7_n_ns5.json | 0 ...ermine_correct_table_for_ajcc7_t_ns17.json | 0 ...ermine_correct_table_for_ajcc7_t_ns32.json | 0 ...ermine_correct_table_for_ajcc7_t_ns38.json | 0 ...ermine_correct_table_for_ajcc7_t_ns43.json | 0 .../determine_correct_table_for_m_ns48.json | 0 .../determine_correct_table_for_n_ns35.json | 0 .../determine_correct_table_for_s_ns36.json | 0 ...etermine_correct_table_for_ss00t_ns46.json | 0 ...etermine_correct_table_for_ss77t_ns45.json | 0 .../determine_correct_table_for_t_ns28.json | 0 .../determine_validity_for_ajcc6_ns50.json | 0 .../determine_validity_for_ajcc7_ns42.json | 0 .../tables/eval_extension_t3_ajcc7_xgh.json | 0 .../cs/02.05.50/tables/extension_baa.json | 0 .../cs/02.05.50/tables/extension_bab.json | 0 .../cs/02.05.50/tables/extension_bac.json | 0 .../cs/02.05.50/tables/extension_bad.json | 0 .../cs/02.05.50/tables/extension_bae.json | 0 .../cs/02.05.50/tables/extension_baf.json | 0 .../cs/02.05.50/tables/extension_bag.json | 0 .../cs/02.05.50/tables/extension_bah.json | 0 .../cs/02.05.50/tables/extension_bai.json | 0 .../cs/02.05.50/tables/extension_baj.json | 0 .../cs/02.05.50/tables/extension_bak.json | 0 .../cs/02.05.50/tables/extension_bal.json | 0 .../cs/02.05.50/tables/extension_bam.json | 0 .../cs/02.05.50/tables/extension_ban.json | 0 .../cs/02.05.50/tables/extension_bao.json | 0 .../cs/02.05.50/tables/extension_bap.json | 0 .../cs/02.05.50/tables/extension_baq.json | 0 .../cs/02.05.50/tables/extension_bar.json | 0 .../cs/02.05.50/tables/extension_bas.json | 0 .../cs/02.05.50/tables/extension_bat.json | 0 .../cs/02.05.50/tables/extension_bau.json | 0 .../cs/02.05.50/tables/extension_bav.json | 0 .../cs/02.05.50/tables/extension_baw.json | 0 .../cs/02.05.50/tables/extension_bax.json | 0 .../cs/02.05.50/tables/extension_bay.json | 0 .../cs/02.05.50/tables/extension_baz.json | 0 .../cs/02.05.50/tables/extension_bba.json | 0 .../cs/02.05.50/tables/extension_bbb.json | 0 .../cs/02.05.50/tables/extension_bbc.json | 0 .../cs/02.05.50/tables/extension_bbd.json | 0 .../cs/02.05.50/tables/extension_bbe.json | 0 .../cs/02.05.50/tables/extension_bbf.json | 0 .../cs/02.05.50/tables/extension_bbg.json | 0 .../cs/02.05.50/tables/extension_bbh.json | 0 .../cs/02.05.50/tables/extension_bbi.json | 0 .../cs/02.05.50/tables/extension_bbj.json | 0 .../cs/02.05.50/tables/extension_bbk.json | 0 .../cs/02.05.50/tables/extension_bbl.json | 0 .../cs/02.05.50/tables/extension_bbm.json | 0 .../cs/02.05.50/tables/extension_bbn.json | 0 .../cs/02.05.50/tables/extension_bbo.json | 0 .../cs/02.05.50/tables/extension_bbp.json | 0 .../cs/02.05.50/tables/extension_bbq.json | 0 .../cs/02.05.50/tables/extension_bbr.json | 0 .../cs/02.05.50/tables/extension_bbs.json | 0 .../cs/02.05.50/tables/extension_bbt.json | 0 .../cs/02.05.50/tables/extension_bbu.json | 0 .../cs/02.05.50/tables/extension_bbv.json | 0 .../cs/02.05.50/tables/extension_bbx.json | 0 .../cs/02.05.50/tables/extension_bby.json | 0 .../cs/02.05.50/tables/extension_bbz.json | 0 .../cs/02.05.50/tables/extension_bca.json | 0 .../cs/02.05.50/tables/extension_bcb.json | 0 .../cs/02.05.50/tables/extension_bcc.json | 0 .../cs/02.05.50/tables/extension_bcd.json | 0 .../cs/02.05.50/tables/extension_bce.json | 0 .../cs/02.05.50/tables/extension_bcf.json | 0 .../cs/02.05.50/tables/extension_bcg.json | 0 .../cs/02.05.50/tables/extension_bch.json | 0 .../cs/02.05.50/tables/extension_bci.json | 0 .../cs/02.05.50/tables/extension_bcj.json | 0 .../cs/02.05.50/tables/extension_bcl.json | 0 .../cs/02.05.50/tables/extension_bcm.json | 0 .../cs/02.05.50/tables/extension_bcn.json | 0 .../cs/02.05.50/tables/extension_bco.json | 0 .../cs/02.05.50/tables/extension_bcp.json | 0 .../cs/02.05.50/tables/extension_bcq.json | 0 .../cs/02.05.50/tables/extension_bcr.json | 0 .../cs/02.05.50/tables/extension_bcs.json | 0 .../cs/02.05.50/tables/extension_bct.json | 0 .../cs/02.05.50/tables/extension_bcu.json | 0 .../cs/02.05.50/tables/extension_bcv.json | 0 .../cs/02.05.50/tables/extension_bcw.json | 0 .../cs/02.05.50/tables/extension_bcx.json | 0 .../cs/02.05.50/tables/extension_bcy.json | 0 .../cs/02.05.50/tables/extension_bda.json | 0 .../cs/02.05.50/tables/extension_bdc.json | 0 .../cs/02.05.50/tables/extension_bdd.json | 0 .../cs/02.05.50/tables/extension_bde.json | 0 .../cs/02.05.50/tables/extension_bdf.json | 0 .../cs/02.05.50/tables/extension_bdg.json | 0 .../cs/02.05.50/tables/extension_bdh.json | 0 .../cs/02.05.50/tables/extension_bdi.json | 0 .../cs/02.05.50/tables/extension_bdj.json | 0 .../cs/02.05.50/tables/extension_bdk.json | 0 .../cs/02.05.50/tables/extension_bdl.json | 0 .../cs/02.05.50/tables/extension_bdm.json | 0 .../cs/02.05.50/tables/extension_bdn.json | 0 .../cs/02.05.50/tables/extension_bdo.json | 0 .../cs/02.05.50/tables/extension_bdp.json | 0 .../cs/02.05.50/tables/extension_bdr.json | 0 .../cs/02.05.50/tables/extension_bds.json | 0 .../cs/02.05.50/tables/extension_bdt.json | 0 .../cs/02.05.50/tables/extension_bdu.json | 0 .../cs/02.05.50/tables/extension_bdv.json | 0 .../cs/02.05.50/tables/extension_bdw.json | 0 .../cs/02.05.50/tables/extension_bdx.json | 0 .../cs/02.05.50/tables/extension_bdy.json | 0 .../cs/02.05.50/tables/extension_beb.json | 0 .../cs/02.05.50/tables/extension_bed.json | 0 .../cs/02.05.50/tables/extension_bee.json | 0 .../cs/02.05.50/tables/extension_bef.json | 0 .../cs/02.05.50/tables/extension_beg.json | 0 .../cs/02.05.50/tables/extension_beh.json | 0 .../tables/extension_behavior_xci.json | 0 .../cs/02.05.50/tables/extension_bei.json | 0 .../cs/02.05.50/tables/extension_bej.json | 0 .../cs/02.05.50/tables/extension_bek.json | 0 .../cs/02.05.50/tables/extension_bel.json | 0 .../cs/02.05.50/tables/extension_bem.json | 0 .../cs/02.05.50/tables/extension_ben.json | 0 .../cs/02.05.50/tables/extension_beo.json | 0 .../cs/02.05.50/tables/extension_bep.json | 0 .../cs/02.05.50/tables/extension_beq.json | 0 .../cs/02.05.50/tables/extension_ber.json | 0 .../cs/02.05.50/tables/extension_bes.json | 0 .../cs/02.05.50/tables/extension_bet.json | 0 .../cs/02.05.50/tables/extension_bev.json | 0 .../cs/02.05.50/tables/extension_bew.json | 0 .../cs/02.05.50/tables/extension_bex.json | 0 .../cs/02.05.50/tables/extension_bey.json | 0 .../cs/02.05.50/tables/extension_bez.json | 0 .../cs/02.05.50/tables/extension_bfa.json | 0 .../cs/02.05.50/tables/extension_bfc.json | 0 .../cs/02.05.50/tables/extension_bfd.json | 0 .../cs/02.05.50/tables/extension_bfe.json | 0 .../cs/02.05.50/tables/extension_bff.json | 0 .../cs/02.05.50/tables/extension_bfg.json | 0 .../cs/02.05.50/tables/extension_bfh.json | 0 .../cs/02.05.50/tables/extension_bfi.json | 0 .../cs/02.05.50/tables/extension_bfj.json | 0 .../cs/02.05.50/tables/extension_bfk.json | 0 .../cs/02.05.50/tables/extension_bfl.json | 0 .../cs/02.05.50/tables/extension_bfm.json | 0 .../cs/02.05.50/tables/extension_bfn.json | 0 .../cs/02.05.50/tables/extension_bfo.json | 0 .../cs/02.05.50/tables/extension_bfp.json | 0 .../cs/02.05.50/tables/extension_bfq.json | 0 .../cs/02.05.50/tables/extension_bfr.json | 0 .../cs/02.05.50/tables/extension_bfs.json | 0 .../cs/02.05.50/tables/extension_bft.json | 0 .../cs/02.05.50/tables/extension_bfu.json | 0 .../cs/02.05.50/tables/extension_bfv.json | 0 .../cs/02.05.50/tables/extension_bfw.json | 0 .../cs/02.05.50/tables/extension_bfx.json | 0 .../cs/02.05.50/tables/extension_bfy.json | 0 .../cs/02.05.50/tables/extension_bfz.json | 0 .../cs/02.05.50/tables/extension_bga.json | 0 .../cs/02.05.50/tables/extension_bgb.json | 0 .../cs/02.05.50/tables/extension_bgc.json | 0 .../cs/02.05.50/tables/extension_bna.json | 0 .../cs/02.05.50/tables/extension_bpb.json | 0 .../cs/02.05.50/tables/extension_btb.json | 0 ...tension_cytology_ajcc6_table_csv1_xkn.json | 0 ...tension_cytology_ajcc6_table_csv1_xko.json | 0 ...tension_cytology_ajcc6_table_csv2_xkm.json | 0 ...tension_cytology_ajcc6_table_csv2_xkq.json | 0 .../extension_cytology_summary_stage_xkl.json | 0 .../extension_cytology_summary_stage_xkp.json | 0 .../extension_cytology_summary_stage_xqa.json | 0 .../02.05.50/tables/extension_eval_6_cab.json | 0 .../02.05.50/tables/extension_eval_6_cac.json | 0 .../02.05.50/tables/extension_eval_cab.json | 0 .../02.05.50/tables/extension_eval_cac.json | 0 .../02.05.50/tables/extension_eval_cae.json | 0 .../02.05.50/tables/extension_eval_caf.json | 0 .../02.05.50/tables/extension_eval_cag.json | 0 .../02.05.50/tables/extension_eval_caj.json | 0 .../02.05.50/tables/extension_eval_cak.json | 0 .../02.05.50/tables/extension_eval_cal.json | 0 .../02.05.50/tables/extension_eval_cam.json | 0 .../02.05.50/tables/extension_eval_cna.json | 0 .../02.05.50/tables/extension_eval_cpa.json | 0 .../02.05.50/tables/extension_eval_cpb.json | 0 .../02.05.50/tables/extension_eval_cpc.json | 0 .../tables/extension_grade_lvi_xdm.json | 0 .../tables/extension_mets_ajcc6_xeh.json | 0 .../extension_mets_ssf1_ajcc6_xjo_m.json | 0 .../extension_mets_ssf1_ajcc6_xjo_t.json | 0 ...n_orchiectomy_lviajcc6_table_csv1_xbv.json | 0 ...n_orchiectomy_lviajcc6_table_csv2_xis.json | 0 .../extension_orchiectomy_lviajcc7_xgs.json | 0 ...tension_periductal_invasion_ajcc7_xks.json | 0 .../extension_size_ajcc6_table_csv1_xjb.json | 0 .../tables/extension_size_ajcc6_xai.json | 0 .../tables/extension_size_ajcc6_xak.json | 0 .../tables/extension_size_ajcc6_xat.json | 0 .../tables/extension_size_ajcc6_xav.json | 0 .../tables/extension_size_ajcc6_xaz.json | 0 .../tables/extension_size_ajcc6_xbc.json | 0 .../tables/extension_size_ajcc6_xda.json | 0 .../tables/extension_size_ajcc6_xdk.json | 0 .../tables/extension_size_ajcc6_xea.json | 0 .../tables/extension_size_ajcc6_xfw.json | 0 .../tables/extension_size_ajcc6_xir.json | 0 .../tables/extension_size_ajcc6_xji.json | 0 .../tables/extension_size_ajcc6_xjj.json | 0 .../tables/extension_size_ajcc6_xqb.json | 0 .../tables/extension_size_ajcc6_xqc.json | 0 .../tables/extension_size_ajcc7_xbl.json | 0 .../tables/extension_size_ajcc7_xdj.json | 0 .../tables/extension_size_ajcc7_xdl.json | 0 .../tables/extension_size_ajcc7_xdw.json | 0 .../tables/extension_size_ajcc7_xeb.json | 0 .../tables/extension_size_ajcc7_xec.json | 0 .../tables/extension_size_ajcc7_xed.json | 0 .../tables/extension_size_ajcc7_xef.json | 0 .../tables/extension_size_ajcc7_xej.json | 0 .../tables/extension_size_ajcc7_xet.json | 0 .../tables/extension_size_ajcc7_xeu.json | 0 .../tables/extension_size_ajcc7_xev.json | 0 .../tables/extension_size_ajcc7_xey.json | 0 .../tables/extension_size_ajcc7_xfc.json | 0 .../tables/extension_size_ajcc7_xfd.json | 0 .../tables/extension_size_ajcc7_xfe.json | 0 .../tables/extension_size_ajcc7_xff.json | 0 .../tables/extension_size_ajcc7_xfp.json | 0 .../tables/extension_size_ajcc7_xgi.json | 0 .../tables/extension_size_ajcc7_xik.json | 0 .../tables/extension_size_ajcc7_xim.json | 0 .../tables/extension_size_ajcc7_xio.json | 0 .../tables/extension_size_ajcc7_xkg.json | 0 .../tables/extension_size_ajcc7_xkh.json | 0 .../tables/extension_size_ajcc7_xkr.json | 0 .../extension_size_category_ajcc7_xpm.json | 0 .../tables/extension_size_high_risk_xfa.json | 0 .../tables/extension_size_high_risk_xfy.json | 0 .../tables/extension_size_pair_ajcc6_xpn.json | 0 ...l_invasion888988_ajcc6_table_csv2_xij.json | 0 ...e_perineural_invasion888988_ajcc7_xic.json | 0 ...gativeor_unknown_ajcc6_table_csv2_xgl.json | 0 ...invasion_negativeor_unknown_ajcc7_xgj.json | 0 ...nvasion_positive_ajcc6_table_csv2_xgm.json | 0 ...erineural_invasion_positive_ajcc7_xgk.json | 0 .../tables/extension_size_ssf1_ajcc7_xgb.json | 0 .../extension_size_table_ajcc6_xal.json | 0 .../extension_size_table_ajcc7_xek.json | 0 .../tables/extension_size_table_csv1_xas.json | 0 .../tables/extension_size_table_csv2_xez.json | 0 .../02.05.50/tables/extension_size_xaa.json | 0 .../02.05.50/tables/extension_size_xab.json | 0 .../02.05.50/tables/extension_size_xac.json | 0 .../02.05.50/tables/extension_size_xad.json | 0 .../02.05.50/tables/extension_size_xae.json | 0 .../02.05.50/tables/extension_size_xaf.json | 0 .../02.05.50/tables/extension_size_xag.json | 0 .../02.05.50/tables/extension_size_xar.json | 0 .../02.05.50/tables/extension_size_xbq.json | 0 .../02.05.50/tables/extension_size_xdb.json | 0 .../02.05.50/tables/extension_size_xde.json | 0 .../02.05.50/tables/extension_size_xfn.json | 0 .../02.05.50/tables/extension_size_xfu.json | 0 .../02.05.50/tables/extension_size_xgn.json | 0 .../02.05.50/tables/extension_size_xjg.json | 0 .../02.05.50/tables/extension_size_xjh.json | 0 .../02.05.50/tables/extension_size_xpa.json | 0 .../02.05.50/tables/extension_size_xpb.json | 0 .../02.05.50/tables/extension_size_xpe.json | 0 .../02.05.50/tables/extension_size_xpf.json | 0 .../02.05.50/tables/extension_size_xqj.json | 0 .../tables/extension_ssf1_ajcc7_t_xjy.json | 0 .../extension_ssf1_summary_stage2000_xke.json | 0 .../extension_ssf1_summary_stage2000_xkf.json | 0 .../extension_ssf1_summary_stage77_xkc.json | 0 .../extension_ssf1_summary_stage77_xkd.json | 0 .../02.05.50/tables/extension_sstg_bbo.json | 0 .../02.05.50/tables/extension_sstg_bcu.json | 0 .../tables/extension_t4_ssf1_ajcc7_xgw.json | 0 ...ckness_ulceration_tcategory_ajcc6_xkj.json | 0 ...ckness_ulceration_tcategory_ajcc7_xkk.json | 0 .../extension_ulceration_t1_ajcc6_xbo.json | 0 .../algorithms/cs/02.05.50/tables/grade.json | 0 .../grade_category_calculation_xei.json | 0 .../tables/histologies_grade_stage_xce.json | 0 .../tables/histologies_grade_stage_xce_6.json | 0 .../tables/histologies_stage_xhq_6.json | 0 .../tables/histologies_stage_xhq_7.json | 0 .../tables/histologies_stage_xhw.json | 0 .../tables/histologies_stage_xhx.json | 0 .../cs/02.05.50/tables/histology.json | 0 .../histology_grade_extension_ajcc6_xkw.json | 0 ...tology_grade_extension_ssf1_ajcc7_xkv.json | 0 ...ogy_grade_extension_summary_stage_xgx.json | 0 .../algorithms/cs/02.05.50/tables/ids.txt | 0 .../cs/02.05.50/tables/ihcmol_xcc.json | 0 .../tables/invalid_lung_m_values_ns49.json | 0 .../algorithms/cs/02.05.50/tables/lvi.json | 0 .../lymph_node_extranodal_extension_xdn.json | 0 ..._nodal_status_clinical_eval_ajcc6_xlk.json | 0 ..._nodal_status_clinical_eval_ajcc7_xlh.json | 0 ...h_nodeand_nodal_status_eval_ajcc7_xlb.json | 0 ...h_nodeand_nodal_status_eval_ajcc7_xld.json | 0 ...h_nodeand_nodal_status_eval_ajcc7_xle.json | 0 ...h_nodeand_nodal_status_eval_ajcc7_xlg.json | 0 ...and_nodal_status_eval_blank_ajcc6_xlm.json | 0 ...and_nodal_status_eval_blank_ajcc7_xlj.json | 0 ...and_nodal_status_eval_blank_ajcc7_xln.json | 0 ...and_nodal_status_eval_blank_ajcc7_xlo.json | 0 ...and_nodal_status_eval_blank_ajcc7_xlp.json | 0 ...and_nodal_status_eval_blank_ajcc7_xlq.json | 0 ...odal_status_pathologic_eval_ajcc6_xll.json | 0 ...odal_status_pathologic_eval_ajcc7_xli.json | 0 ...clinical_eval_priorto_v0205_ajcc7_xdf.json | 0 ...clinical_eval_priorto_v0205_ajcc7_xdh.json | 0 ...clinical_eval_priorto_v0205_ajcc7_xee.json | 0 ...clinical_eval_priorto_v0205_ajcc7_xfq.json | 0 ...clinical_eval_priorto_v0205_ajcc7_xfs.json | 0 ...clinical_eval_priorto_v0205_ajcc7_xqh.json | 0 ...h_nodes_clinical_eval_v0205_ajcc7_xaj.json | 0 ...h_nodes_clinical_eval_v0205_ajcc7_xam.json | 0 ...h_nodes_clinical_eval_v0205_ajcc7_xao.json | 0 ...h_nodes_clinical_eval_v0205_ajcc7_xaw.json | 0 ...h_nodes_clinical_eval_v0205_ajcc7_xax.json | 0 ...h_nodes_clinical_eval_v0205_ajcc7_xcd.json | 0 ...h_nodes_clinical_eval_v0205_ajcc7_xch.json | 0 .../tables/lymph_nodes_clinical_eval_xgt.json | 0 ...des_clinical_evaluation0or5_ajcc6_xbg.json | 0 ...des_clinical_evaluation1or9_ajcc6_xbf.json | 0 ...ymph_nodes_clinical_evaluation6th_xqf.json | 0 ...h_nodes_clinical_evaluation_ajcc6_xbe.json | 0 ...h_nodes_clinical_evaluation_ajcc6_xbi.json | 0 ...h_nodes_clinical_evaluation_ajcc6_xbj.json | 0 ...h_nodes_clinical_evaluation_ajcc6_xbk.json | 0 ...h_nodes_clinical_evaluation_ajcc6_xpo.json | 0 ...h_nodes_clinical_evaluation_ajcc6_xpq.json | 0 .../lymph_nodes_clinical_evaluation_xcx.json | 0 .../lymph_nodes_metsat_dxajcc6_xew.json | 0 .../lymph_nodes_metsat_dxajcc6_xfh_m.json | 0 .../lymph_nodes_metsat_dxajcc6_xfh_n.json | 0 .../lymph_nodes_metsat_dxajcc6_xfm.json | 0 .../lymph_nodes_metsat_dxajcc6_xfo.json | 0 .../lymph_nodes_metsat_dxajcc6_xgq_m.json | 0 .../lymph_nodes_metsat_dxajcc6_xgq_n.json | 0 .../lymph_nodes_metsat_dxajcc6_xhv.json | 0 .../lymph_nodes_metsat_dxajcc6_xjc.json | 0 .../lymph_nodes_metsat_dxajcc6_xjd.json | 0 .../lymph_nodes_metsat_dxajcc6_xje.json | 0 .../lymph_nodes_metsat_dxajcc6_xjf.json | 0 .../lymph_nodes_metsat_dxajcc6_xki.json | 0 .../lymph_nodes_metsat_dxajcc6_xlf.json | 0 .../lymph_nodes_metsat_dxtable_ajcc6_xfv.json | 0 .../lymph_nodes_pathologic_eval_xgu.json | 0 ...when_csreg_nodes_evalis_not_coded_xpp.json | 0 ...when_csreg_nodes_evalis_not_coded_xqg.json | 0 ...when_csreg_nodes_evalis_not_coded_xft.json | 0 ...n_cslymph_nodes_eval_is_not_coded_xpr.json | 0 ...n_cslymph_nodes_eval_is_not_coded_xdg.json | 0 ...n_cslymph_nodes_eval_is_not_coded_xfr.json | 0 ...en_cslymph_nodes_evalis_not_coded_xeg.json | 0 ...en_cslymph_nodes_evalis_not_coded_xqi.json | 0 ...when_csreg_nodes_evalis_not_coded_xdi.json | 0 ...lymph_nodes_pathologic_evaluation_xcw.json | 0 ...ymph_nodes_positive_axillary_node_xcy.json | 0 .../lymph_nodes_positive_eval_blank_xgv.json | 0 ...lymph_nodes_size_ajcc6_table_csv1_xex.json | 0 .../tables/lymph_nodes_size_ajcc7_xfb.json | 0 .../tables/lymph_nodes_size_ajcc7_xfz.json | 0 .../tables/lymph_nodes_size_csv1_xix.json | 0 .../tables/lymph_nodes_size_csv2_xiw.json | 0 .../lymph_nodes_size_mets00_ajcc6_xdo_m.json | 0 .../lymph_nodes_size_mets00_ajcc6_xdo_n.json | 0 ...mph_nodes_size_mets10or50_ajcc6_xid_m.json | 0 ...mph_nodes_size_mets10or50_ajcc6_xid_n.json | 0 ...nodes_size_mets114055or60_ajcc6_xdv_m.json | 0 ...nodes_size_mets114055or60_ajcc6_xdv_n.json | 0 .../lymph_nodes_size_mets99_ajcc6_xdp_m.json | 0 .../lymph_nodes_size_mets99_ajcc6_xdp_n.json | 0 .../lymph_nodes_size_table_csv2_xcp.json | 0 .../02.05.50/tables/lymph_nodes_size_xja.json | 0 .../02.05.50/tables/lymph_nodes_size_xpd.json | 0 .../02.05.50/tables/lymph_nodes_size_xpg.json | 0 .../tables/lymph_nodes_ssf11_ajcc6_xqd.json | 0 .../lymph_nodesand_ssf11_ajcc6_xiq.json | 0 .../cs/02.05.50/tables/mets_eval_iaa.json | 0 .../cs/02.05.50/tables/mets_eval_iac.json | 0 .../cs/02.05.50/tables/mets_eval_iad.json | 0 .../cs/02.05.50/tables/mets_eval_iae.json | 0 .../cs/02.05.50/tables/mets_eval_iaf.json | 0 .../cs/02.05.50/tables/mets_eval_ina.json | 0 .../cs/02.05.50/tables/mets_eval_ipa.json | 0 .../cs/02.05.50/tables/mets_eval_ipb.json | 0 .../cs/02.05.50/tables/mets_eval_ipc.json | 0 .../cs/02.05.50/tables/mets_hab.json | 0 .../cs/02.05.50/tables/mets_hac.json | 0 .../cs/02.05.50/tables/mets_had.json | 0 .../cs/02.05.50/tables/mets_hae.json | 0 .../cs/02.05.50/tables/mets_haf.json | 0 .../cs/02.05.50/tables/mets_hag.json | 0 .../cs/02.05.50/tables/mets_hah.json | 0 .../cs/02.05.50/tables/mets_hai.json | 0 .../cs/02.05.50/tables/mets_haj.json | 0 .../cs/02.05.50/tables/mets_hak.json | 0 .../cs/02.05.50/tables/mets_hal.json | 0 .../cs/02.05.50/tables/mets_ham.json | 0 .../cs/02.05.50/tables/mets_han.json | 0 .../cs/02.05.50/tables/mets_hao.json | 0 .../cs/02.05.50/tables/mets_hap.json | 0 .../cs/02.05.50/tables/mets_haq.json | 0 .../cs/02.05.50/tables/mets_har.json | 0 .../cs/02.05.50/tables/mets_hat.json | 0 .../cs/02.05.50/tables/mets_hau.json | 0 .../cs/02.05.50/tables/mets_hav.json | 0 .../cs/02.05.50/tables/mets_haw.json | 0 .../cs/02.05.50/tables/mets_haz.json | 0 .../cs/02.05.50/tables/mets_hba.json | 0 .../cs/02.05.50/tables/mets_hbb.json | 0 .../cs/02.05.50/tables/mets_hbc.json | 0 .../cs/02.05.50/tables/mets_hbe.json | 0 .../cs/02.05.50/tables/mets_hbf.json | 0 .../cs/02.05.50/tables/mets_hbg.json | 0 .../cs/02.05.50/tables/mets_hbj.json | 0 .../cs/02.05.50/tables/mets_hbn.json | 0 .../cs/02.05.50/tables/mets_hbo.json | 0 .../cs/02.05.50/tables/mets_hbu.json | 0 .../cs/02.05.50/tables/mets_hbv.json | 0 .../cs/02.05.50/tables/mets_hbx.json | 0 .../cs/02.05.50/tables/mets_hby.json | 0 .../cs/02.05.50/tables/mets_hbz.json | 0 .../cs/02.05.50/tables/mets_hca.json | 0 .../cs/02.05.50/tables/mets_hcb.json | 0 .../cs/02.05.50/tables/mets_hcc.json | 0 .../cs/02.05.50/tables/mets_hcd.json | 0 .../cs/02.05.50/tables/mets_hce.json | 0 .../cs/02.05.50/tables/mets_hcf.json | 0 .../cs/02.05.50/tables/mets_hcg.json | 0 .../cs/02.05.50/tables/mets_hch.json | 0 .../cs/02.05.50/tables/mets_hci.json | 0 .../cs/02.05.50/tables/mets_hcj.json | 0 .../cs/02.05.50/tables/mets_hck.json | 0 .../cs/02.05.50/tables/mets_hcl.json | 0 .../cs/02.05.50/tables/mets_hcm.json | 0 .../cs/02.05.50/tables/mets_hcn.json | 0 .../cs/02.05.50/tables/mets_hco.json | 0 .../cs/02.05.50/tables/mets_hcp.json | 0 .../cs/02.05.50/tables/mets_hcq.json | 0 .../cs/02.05.50/tables/mets_hcr.json | 0 .../cs/02.05.50/tables/mets_hcs.json | 0 .../cs/02.05.50/tables/mets_hcu.json | 0 .../cs/02.05.50/tables/mets_hcv.json | 0 .../cs/02.05.50/tables/mets_hcw.json | 0 .../cs/02.05.50/tables/mets_hcx.json | 0 .../cs/02.05.50/tables/mets_hcy.json | 0 .../cs/02.05.50/tables/mets_hna.json | 0 .../cs/02.05.50/tables/mets_hpa.json | 0 .../cs/02.05.50/tables/mets_hpb.json | 0 .../cs/02.05.50/tables/mets_hpc.json | 0 .../cs/02.05.50/tables/mets_hpd.json | 0 .../cs/02.05.50/tables/mets_hpe.json | 0 .../cs/02.05.50/tables/mets_hpf.json | 0 .../cs/02.05.50/tables/mets_hpg.json | 0 .../cs/02.05.50/tables/mets_hph.json | 0 .../02.05.50/tables/metsat_dxand_ldh_xbs.json | 0 .../tables/metsat_dxmets_eval_ajcc6_xck.json | 0 .../tables/metsat_dxmets_eval_ajcc7_xfg.json | 0 .../tables/mitotic_rate_calculation_xjm.json | 0 .../tables/mitotic_rate_calculation_xpi.json | 0 .../tables/mitotic_rate_calculation_xqe.json | 0 .../mitotic_rate_ulceration_t1_ajcc7_xgo.json | 0 .../cs/02.05.50/tables/nodes_daa.json | 0 .../cs/02.05.50/tables/nodes_dab.json | 0 .../cs/02.05.50/tables/nodes_dad.json | 0 .../cs/02.05.50/tables/nodes_dah.json | 0 .../cs/02.05.50/tables/nodes_dai.json | 0 .../cs/02.05.50/tables/nodes_daj.json | 0 .../cs/02.05.50/tables/nodes_dak.json | 0 .../cs/02.05.50/tables/nodes_dal.json | 0 .../cs/02.05.50/tables/nodes_dam.json | 0 .../cs/02.05.50/tables/nodes_dan.json | 0 .../cs/02.05.50/tables/nodes_dao.json | 0 .../cs/02.05.50/tables/nodes_dap.json | 0 .../cs/02.05.50/tables/nodes_daq.json | 0 .../cs/02.05.50/tables/nodes_dar.json | 0 .../cs/02.05.50/tables/nodes_das.json | 0 .../cs/02.05.50/tables/nodes_dat.json | 0 .../cs/02.05.50/tables/nodes_dau.json | 0 .../cs/02.05.50/tables/nodes_dav.json | 0 .../cs/02.05.50/tables/nodes_daw.json | 0 .../cs/02.05.50/tables/nodes_dax.json | 0 .../cs/02.05.50/tables/nodes_day.json | 0 .../cs/02.05.50/tables/nodes_daz.json | 0 .../cs/02.05.50/tables/nodes_dba.json | 0 .../cs/02.05.50/tables/nodes_dbb.json | 0 .../cs/02.05.50/tables/nodes_dbc.json | 0 .../cs/02.05.50/tables/nodes_dbd.json | 0 .../cs/02.05.50/tables/nodes_dbe.json | 0 .../cs/02.05.50/tables/nodes_dbf.json | 0 .../cs/02.05.50/tables/nodes_dbg.json | 0 .../cs/02.05.50/tables/nodes_dbh.json | 0 .../cs/02.05.50/tables/nodes_dbi.json | 0 .../cs/02.05.50/tables/nodes_dbj.json | 0 .../cs/02.05.50/tables/nodes_dbk.json | 0 .../cs/02.05.50/tables/nodes_dbl.json | 0 .../cs/02.05.50/tables/nodes_dbm.json | 0 .../cs/02.05.50/tables/nodes_dbn.json | 0 .../cs/02.05.50/tables/nodes_dbo.json | 0 .../cs/02.05.50/tables/nodes_dbq.json | 0 .../cs/02.05.50/tables/nodes_dbr.json | 0 .../cs/02.05.50/tables/nodes_dbs.json | 0 .../cs/02.05.50/tables/nodes_dbt.json | 0 .../cs/02.05.50/tables/nodes_dbu.json | 0 .../cs/02.05.50/tables/nodes_dbv.json | 0 .../cs/02.05.50/tables/nodes_dbw.json | 0 .../cs/02.05.50/tables/nodes_dbx.json | 0 .../cs/02.05.50/tables/nodes_dby.json | 0 .../cs/02.05.50/tables/nodes_dca.json | 0 .../cs/02.05.50/tables/nodes_dcb.json | 0 .../cs/02.05.50/tables/nodes_dcc.json | 0 .../cs/02.05.50/tables/nodes_dcd.json | 0 .../cs/02.05.50/tables/nodes_dce.json | 0 .../cs/02.05.50/tables/nodes_dcf.json | 0 .../cs/02.05.50/tables/nodes_dcj.json | 0 .../cs/02.05.50/tables/nodes_dck.json | 0 .../cs/02.05.50/tables/nodes_dcl.json | 0 .../cs/02.05.50/tables/nodes_dcm.json | 0 .../cs/02.05.50/tables/nodes_dcn.json | 0 .../cs/02.05.50/tables/nodes_dco.json | 0 .../cs/02.05.50/tables/nodes_dcp.json | 0 .../cs/02.05.50/tables/nodes_dcq.json | 0 .../cs/02.05.50/tables/nodes_dcr.json | 0 .../cs/02.05.50/tables/nodes_dcs.json | 0 .../cs/02.05.50/tables/nodes_dcu.json | 0 .../cs/02.05.50/tables/nodes_dcv.json | 0 .../cs/02.05.50/tables/nodes_dcw.json | 0 .../cs/02.05.50/tables/nodes_dcx.json | 0 .../cs/02.05.50/tables/nodes_dcy.json | 0 .../cs/02.05.50/tables/nodes_dcz.json | 0 .../cs/02.05.50/tables/nodes_ddd.json | 0 .../cs/02.05.50/tables/nodes_dde.json | 0 .../cs/02.05.50/tables/nodes_ddf.json | 0 .../cs/02.05.50/tables/nodes_ddg.json | 0 .../cs/02.05.50/tables/nodes_ddh.json | 0 .../cs/02.05.50/tables/nodes_ddi.json | 0 .../cs/02.05.50/tables/nodes_ddj.json | 0 .../cs/02.05.50/tables/nodes_ddk.json | 0 .../cs/02.05.50/tables/nodes_ddm.json | 0 .../cs/02.05.50/tables/nodes_ddn.json | 0 .../cs/02.05.50/tables/nodes_ddo.json | 0 .../cs/02.05.50/tables/nodes_ddp.json | 0 .../cs/02.05.50/tables/nodes_ddq.json | 0 .../cs/02.05.50/tables/nodes_ddr.json | 0 .../cs/02.05.50/tables/nodes_dds.json | 0 .../cs/02.05.50/tables/nodes_ddt.json | 0 .../cs/02.05.50/tables/nodes_ddw.json | 0 .../cs/02.05.50/tables/nodes_ddy.json | 0 .../cs/02.05.50/tables/nodes_ddz.json | 0 .../cs/02.05.50/tables/nodes_dea.json | 0 .../cs/02.05.50/tables/nodes_deb.json | 0 .../cs/02.05.50/tables/nodes_ded.json | 0 .../cs/02.05.50/tables/nodes_dee.json | 0 .../cs/02.05.50/tables/nodes_def.json | 0 .../cs/02.05.50/tables/nodes_deg.json | 0 .../cs/02.05.50/tables/nodes_dei.json | 0 .../cs/02.05.50/tables/nodes_dej.json | 0 .../cs/02.05.50/tables/nodes_dek.json | 0 .../cs/02.05.50/tables/nodes_del.json | 0 .../cs/02.05.50/tables/nodes_dem.json | 0 .../cs/02.05.50/tables/nodes_den.json | 0 .../cs/02.05.50/tables/nodes_deo.json | 0 .../cs/02.05.50/tables/nodes_deq.json | 0 .../cs/02.05.50/tables/nodes_der.json | 0 .../cs/02.05.50/tables/nodes_des.json | 0 .../cs/02.05.50/tables/nodes_det.json | 0 .../cs/02.05.50/tables/nodes_deu.json | 0 .../cs/02.05.50/tables/nodes_dev.json | 0 .../cs/02.05.50/tables/nodes_dew.json | 0 .../cs/02.05.50/tables/nodes_dex.json | 0 .../cs/02.05.50/tables/nodes_dey.json | 0 .../cs/02.05.50/tables/nodes_dez.json | 0 .../cs/02.05.50/tables/nodes_dfa.json | 0 .../cs/02.05.50/tables/nodes_dfb.json | 0 .../cs/02.05.50/tables/nodes_dfc.json | 0 .../cs/02.05.50/tables/nodes_dfd.json | 0 .../cs/02.05.50/tables/nodes_dfe.json | 0 .../cs/02.05.50/tables/nodes_dff.json | 0 .../cs/02.05.50/tables/nodes_dfg.json | 0 .../cs/02.05.50/tables/nodes_dfh.json | 0 .../cs/02.05.50/tables/nodes_dfi.json | 0 .../cs/02.05.50/tables/nodes_dfj.json | 0 .../cs/02.05.50/tables/nodes_dfk.json | 0 .../cs/02.05.50/tables/nodes_dfl.json | 0 .../cs/02.05.50/tables/nodes_dfm.json | 0 .../cs/02.05.50/tables/nodes_dfn.json | 0 .../cs/02.05.50/tables/nodes_dfo.json | 0 .../cs/02.05.50/tables/nodes_dfp.json | 0 .../cs/02.05.50/tables/nodes_dfq.json | 0 .../cs/02.05.50/tables/nodes_dfr.json | 0 .../cs/02.05.50/tables/nodes_dfs.json | 0 .../cs/02.05.50/tables/nodes_dft.json | 0 .../cs/02.05.50/tables/nodes_dfu.json | 0 .../cs/02.05.50/tables/nodes_dfv.json | 0 .../cs/02.05.50/tables/nodes_dfw.json | 0 .../cs/02.05.50/tables/nodes_dfx.json | 0 .../cs/02.05.50/tables/nodes_dfy.json | 0 .../cs/02.05.50/tables/nodes_dna.json | 0 .../cs/02.05.50/tables/nodes_dpa.json | 0 .../cs/02.05.50/tables/nodes_dpb.json | 0 .../cs/02.05.50/tables/nodes_dpc.json | 0 .../cs/02.05.50/tables/nodes_dpd.json | 0 .../cs/02.05.50/tables/nodes_eval_eaa.json | 0 .../cs/02.05.50/tables/nodes_eval_eaf.json | 0 .../cs/02.05.50/tables/nodes_eval_eag.json | 0 .../cs/02.05.50/tables/nodes_eval_eah.json | 0 .../cs/02.05.50/tables/nodes_eval_eai.json | 0 .../cs/02.05.50/tables/nodes_eval_eaj.json | 0 .../cs/02.05.50/tables/nodes_eval_eak.json | 0 .../cs/02.05.50/tables/nodes_eval_eba.json | 0 .../cs/02.05.50/tables/nodes_eval_ena.json | 0 .../cs/02.05.50/tables/nodes_eval_epa.json | 0 .../cs/02.05.50/tables/nodes_eval_epb.json | 0 .../cs/02.05.50/tables/nodes_eval_epc.json | 0 .../cs/02.05.50/tables/nodes_exam_gac.json | 0 .../cs/02.05.50/tables/nodes_exam_gaf.json | 0 .../cs/02.05.50/tables/nodes_exam_gna.json | 0 .../cs/02.05.50/tables/nodes_exam_gpa.json | 0 .../cs/02.05.50/tables/nodes_exam_gpb.json | 0 .../cs/02.05.50/tables/nodes_pos_fab.json | 0 .../cs/02.05.50/tables/nodes_pos_fae.json | 0 .../cs/02.05.50/tables/nodes_pos_fah.json | 0 .../cs/02.05.50/tables/nodes_pos_fna.json | 0 .../cs/02.05.50/tables/nodes_pos_fpa.json | 0 .../cs/02.05.50/tables/nodes_pos_fpb.json | 0 .../cs/02.05.50/tables/nodes_pos_fpc.json | 0 .../cs/02.05.50/tables/nodes_pos_fpd.json | 0 ...ic_eval_extension_thickness_ajcc6_xbt.json | 0 ...ic_eval_extension_thickness_ajcc7_xcb.json | 0 .../pleural_effusion_extension_xbz.json | 0 ...er_svalue_table_basedon_ssf131516_xgr.json | 0 .../cs/02.05.50/tables/primary_site.json | 0 ...schema_selection_adnexa_uterine_other.json | 0 .../schema_selection_adrenal_gland.json | 0 .../schema_selection_ampulla_vater.json | 0 .../tables/schema_selection_anus.json | 0 .../tables/schema_selection_appendix.json | 0 .../schema_selection_bile_ducts_distal.json | 0 ...chema_selection_bile_ducts_intrahepat.json | 0 ...schema_selection_bile_ducts_perihilar.json | 0 .../schema_selection_biliary_other.json | 0 .../tables/schema_selection_bladder.json | 0 .../tables/schema_selection_bone.json | 0 .../tables/schema_selection_brain.json | 0 .../tables/schema_selection_breast.json | 0 .../schema_selection_buccal_mucosa.json | 0 .../schema_selection_carcinoid_appendix.json | 0 .../tables/schema_selection_cervix.json | 0 .../tables/schema_selection_cns_other.json | 0 .../tables/schema_selection_colon.json | 0 .../tables/schema_selection_conjunctiva.json | 0 .../schema_selection_corpus_adenosarcoma.json | 0 .../schema_selection_corpus_carcinoma.json | 0 .../schema_selection_corpus_sarcoma.json | 0 .../tables/schema_selection_cystic_duct.json | 0 .../schema_selection_digestive_other.json | 0 .../schema_selection_endocrine_other.json | 0 .../schema_selection_epiglottis_anterior.json | 0 .../tables/schema_selection_esophagus.json | 0 ...schema_selection_esophagus_gejunction.json | 0 .../tables/schema_selection_eye_other.json | 0 .../schema_selection_fallopian_tube.json | 0 .../tables/schema_selection_floor_mouth.json | 0 .../tables/schema_selection_gallbladder.json | 0 ...schema_selection_genital_female_other.json | 0 .../schema_selection_genital_male_other.json | 0 .../schema_selection_gist_appendix.json | 0 .../tables/schema_selection_gist_colon.json | 0 .../schema_selection_gist_esophagus.json | 0 .../schema_selection_gist_peritoneum.json | 0 .../tables/schema_selection_gist_rectum.json | 0 ...schema_selection_gist_small_intestine.json | 0 .../tables/schema_selection_gist_stomach.json | 0 .../tables/schema_selection_gum_lower.json | 0 .../tables/schema_selection_gum_other.json | 0 .../tables/schema_selection_gum_upper.json | 0 .../schema_selection_heart_mediastinum.json | 0 .../tables/schema_selection_heme_retic.json | 0 .../tables/schema_selection_hypopharynx.json | 0 .../schema_selection_ill_defined_other.json | 0 .../schema_selection_intracranial_gland.json | 0 .../schema_selection_kaposi_sarcoma.json | 0 .../schema_selection_kidney_parenchyma.json | 0 .../schema_selection_kidney_renal_pelvis.json | 0 .../schema_selection_lacrimal_gland.json | 0 .../tables/schema_selection_lacrimal_sac.json | 0 .../schema_selection_larynx_glottic.json | 0 .../tables/schema_selection_larynx_other.json | 0 .../schema_selection_larynx_subglottic.json | 0 .../schema_selection_larynx_supraglottic.json | 0 .../tables/schema_selection_lip_lower.json | 0 .../tables/schema_selection_lip_other.json | 0 .../tables/schema_selection_lip_upper.json | 0 .../tables/schema_selection_liver.json | 0 .../tables/schema_selection_lung.json | 0 .../tables/schema_selection_lymphoma.json | 0 ...hema_selection_lymphoma_ocular_adnexa.json | 0 ...hema_selection_melanoma_buccal_mucosa.json | 0 .../schema_selection_melanoma_choroid.json | 0 ...chema_selection_melanoma_ciliary_body.json | 0 ...schema_selection_melanoma_conjunctiva.json | 0 ...election_melanoma_epiglottis_anterior.json | 0 .../schema_selection_melanoma_eye_other.json | 0 ...schema_selection_melanoma_floor_mouth.json | 0 .../schema_selection_melanoma_gum_lower.json | 0 .../schema_selection_melanoma_gum_other.json | 0 .../schema_selection_melanoma_gum_upper.json | 0 ...schema_selection_melanoma_hypopharynx.json | 0 .../schema_selection_melanoma_iris.json | 0 ...ema_selection_melanoma_larynx_glottic.json | 0 ...chema_selection_melanoma_larynx_other.json | 0 ..._selection_melanoma_larynx_subglottic.json | 0 ...election_melanoma_larynx_supraglottic.json | 0 .../schema_selection_melanoma_lip_lower.json | 0 .../schema_selection_melanoma_lip_other.json | 0 .../schema_selection_melanoma_lip_upper.json | 0 ...schema_selection_melanoma_mouth_other.json | 0 ...chema_selection_melanoma_nasal_cavity.json | 0 ...schema_selection_melanoma_nasopharynx.json | 0 .../schema_selection_melanoma_oropharynx.json | 0 ...schema_selection_melanoma_palate_hard.json | 0 ...schema_selection_melanoma_palate_soft.json | 0 ...hema_selection_melanoma_pharynx_other.json | 0 ...hema_selection_melanoma_sinus_ethmoid.json | 0 ...ma_selection_melanoma_sinus_maxillary.json | 0 ...schema_selection_melanoma_sinus_other.json | 0 .../schema_selection_melanoma_skin.json | 0 ...ma_selection_melanoma_tongue_anterior.json | 0 ...schema_selection_melanoma_tongue_base.json | 0 .../schema_selection_merkel_cell_penis.json | 0 .../schema_selection_merkel_cell_scrotum.json | 0 .../schema_selection_merkel_cell_skin.json | 0 .../schema_selection_merkel_cell_vulva.json | 0 .../tables/schema_selection_middle_ear.json | 0 .../tables/schema_selection_mouth_other.json | 0 .../schema_selection_mycosis_fungoides.json | 0 ...election_myeloma_plasma_cell_disorder.json | 0 .../tables/schema_selection_nasal_cavity.json | 0 .../tables/schema_selection_nasopharynx.json | 0 .../tables/schema_selection_net_ampulla.json | 0 .../tables/schema_selection_net_colon.json | 0 .../tables/schema_selection_net_rectum.json | 0 .../schema_selection_net_small_intestine.json | 0 .../tables/schema_selection_net_stomach.json | 0 .../tables/schema_selection_orbit.json | 0 .../tables/schema_selection_oropharynx.json | 0 .../tables/schema_selection_ovary.json | 0 .../tables/schema_selection_palate_hard.json | 0 .../tables/schema_selection_palate_soft.json | 0 .../schema_selection_pancreas_body_tail.json | 0 .../schema_selection_pancreas_head.json | 0 .../schema_selection_pancreas_other.json | 0 .../schema_selection_parotid_gland.json | 0 .../tables/schema_selection_penis.json | 0 .../tables/schema_selection_peritoneum.json | 0 ...chema_selection_peritoneum_female_gen.json | 0 .../schema_selection_pharyngeal_tonsil.json | 0 .../schema_selection_pharynx_other.json | 0 .../tables/schema_selection_placenta.json | 0 .../tables/schema_selection_pleura.json | 0 .../tables/schema_selection_prostate.json | 0 .../tables/schema_selection_rectum.json | 0 .../schema_selection_respiratory_other.json | 0 .../schema_selection_retinoblastoma.json | 0 .../schema_selection_retroperitoneum.json | 0 ...schema_selection_salivary_gland_other.json | 0 .../tables/schema_selection_scrotum.json | 0 .../schema_selection_sinus_ethmoid.json | 0 .../schema_selection_sinus_maxillary.json | 0 .../tables/schema_selection_sinus_other.json | 0 .../tables/schema_selection_skin.json | 0 .../tables/schema_selection_skin_eyelid.json | 0 .../schema_selection_small_intestine.json | 0 .../tables/schema_selection_soft_tissue.json | 0 .../tables/schema_selection_stomach.json | 0 .../schema_selection_submandibular_gland.json | 0 .../tables/schema_selection_testis.json | 0 .../tables/schema_selection_thyroid.json | 0 .../schema_selection_tongue_anterior.json | 0 .../tables/schema_selection_tongue_base.json | 0 .../tables/schema_selection_trachea.json | 0 .../tables/schema_selection_urethra.json | 0 .../schema_selection_urinary_other.json | 0 .../tables/schema_selection_vagina.json | 0 .../tables/schema_selection_vulva.json | 0 ...ker_svalue_table_basedon_csssf123_xcj.json | 0 .../cs/02.05.50/tables/size_aaa.json | 0 .../cs/02.05.50/tables/size_aab.json | 0 .../cs/02.05.50/tables/size_aac.json | 0 .../cs/02.05.50/tables/size_aad.json | 0 .../cs/02.05.50/tables/size_aae.json | 0 .../cs/02.05.50/tables/size_aaf.json | 0 .../cs/02.05.50/tables/size_aag.json | 0 .../cs/02.05.50/tables/size_aah.json | 0 .../cs/02.05.50/tables/size_aaj.json | 0 .../cs/02.05.50/tables/size_aak.json | 0 .../cs/02.05.50/tables/size_aal.json | 0 .../cs/02.05.50/tables/size_aam.json | 0 .../cs/02.05.50/tables/size_aan.json | 0 .../cs/02.05.50/tables/size_aao.json | 0 .../cs/02.05.50/tables/size_aap.json | 0 .../cs/02.05.50/tables/size_aaq.json | 0 .../cs/02.05.50/tables/size_aar.json | 0 .../cs/02.05.50/tables/size_aas.json | 0 .../cs/02.05.50/tables/size_aat.json | 0 .../cs/02.05.50/tables/size_aau.json | 0 .../cs/02.05.50/tables/size_aaw.json | 0 .../cs/02.05.50/tables/size_aax.json | 0 .../cs/02.05.50/tables/size_aay.json | 0 .../cs/02.05.50/tables/size_aaz.json | 0 .../cs/02.05.50/tables/size_aba.json | 0 .../cs/02.05.50/tables/size_ana.json | 0 .../cs/02.05.50/tables/size_apa.json | 0 .../cs/02.05.50/tables/size_apb.json | 0 .../cs/02.05.50/tables/size_apc.json | 0 .../cs/02.05.50/tables/size_apd.json | 0 .../cs/02.05.50/tables/size_apf.json | 0 .../cs/02.05.50/tables/size_apg.json | 0 .../cs/02.05.50/tables/size_aph.json | 0 .../cs/02.05.50/tables/size_api.json | 0 .../cs/02.05.50/tables/size_apj.json | 0 .../cs/02.05.50/tables/size_apk.json | 0 .../cs/02.05.50/tables/size_apl.json | 0 .../cs/02.05.50/tables/size_apo.json | 0 .../cs/02.05.50/tables/size_app.json | 0 .../cs/02.05.50/tables/size_apr.json | 0 .../cs/02.05.50/tables/size_aps.json | 0 .../cs/02.05.50/tables/size_apt.json | 0 .../cs/02.05.50/tables/size_apu.json | 0 .../size_extension_mets_ssf1_ajcc6_xjp_m.json | 0 .../size_extension_mets_ssf1_ajcc6_xjp_t.json | 0 .../size_extension_mets_ssf1_ajcc6_xjq_m.json | 0 .../size_extension_mets_ssf1_ajcc6_xjq_t.json | 0 .../size_extension_mets_ssf1_ajcc6_xjr_m.json | 0 .../size_extension_mets_ssf1_ajcc6_xjr_t.json | 0 .../size_extension_mets_ssf1_ajcc6_xjs_m.json | 0 .../size_extension_mets_ssf1_ajcc6_xjs_t.json | 0 .../size_extension_mets_ssf1_ajcc6_xjt_m.json | 0 .../size_extension_mets_ssf1_ajcc6_xjt_t.json | 0 .../size_extension_mets_ssf1_ajcc6_xju_m.json | 0 .../size_extension_mets_ssf1_ajcc6_xju_t.json | 0 .../size_extension_mets_ssf1_ajcc6_xjv_m.json | 0 .../size_extension_mets_ssf1_ajcc6_xjv_t.json | 0 .../size_extension_mets_ssf1_ajcc6_xjw_m.json | 0 .../size_extension_mets_ssf1_ajcc6_xjw_t.json | 0 .../size_extension_mets_ssf1_ajcc6_xjx_m.json | 0 .../size_extension_mets_ssf1_ajcc6_xjx_t.json | 0 .../size_extension_ssf1_ajcc7_t_xjz.json | 0 .../size_extension_ssf1_ajcc7_t_xka.json | 0 .../tables/size_metastasis_ajcc7_xpx.json | 0 .../tables/size_metsat_dxajcc7_m_xkb.json | 0 ...nown_pathologic_extension_xds_xdu_xdq.json | 0 ...sive_pathologic_extension_xdr_xdt_xdq.json | 0 ...pecial_calculation_tablefor_ajcct_xiu.json | 0 ...lation_tablefor_seersummary_stage_xiv.json | 0 .../cs/02.05.50/tables/ss_codes.json | 0 .../cs/02.05.50/tables/ssf10_sad.json | 0 .../cs/02.05.50/tables/ssf10_sat.json | 0 .../cs/02.05.50/tables/ssf10_saz.json | 0 .../cs/02.05.50/tables/ssf10_scm.json | 0 .../cs/02.05.50/tables/ssf10_sek.json | 0 .../cs/02.05.50/tables/ssf10_seq.json | 0 .../cs/02.05.50/tables/ssf10_sex.json | 0 .../cs/02.05.50/tables/ssf10_sfi.json | 0 .../cs/02.05.50/tables/ssf10_sfj.json | 0 .../cs/02.05.50/tables/ssf10_sne.json | 0 .../cs/02.05.50/tables/ssf10_spd.json | 0 .../cs/02.05.50/tables/ssf10_spi.json | 0 .../cs/02.05.50/tables/ssf10_spz.json | 0 .../cs/02.05.50/tables/ssf10_sqj.json | 0 .../cs/02.05.50/tables/ssf10_sqs.json | 0 .../cs/02.05.50/tables/ssf10_srh.json | 0 .../cs/02.05.50/tables/ssf11_sae.json | 0 .../cs/02.05.50/tables/ssf11_sba.json | 0 .../cs/02.05.50/tables/ssf11_sbt.json | 0 .../cs/02.05.50/tables/ssf11_scj.json | 0 .../cs/02.05.50/tables/ssf11_see.json | 0 .../cs/02.05.50/tables/ssf11_sel.json | 0 .../cs/02.05.50/tables/ssf11_ser.json | 0 .../cs/02.05.50/tables/ssf11_snf.json | 0 .../cs/02.05.50/tables/ssf11_spe.json | 0 .../cs/02.05.50/tables/ssf11_spk.json | 0 .../cs/02.05.50/tables/ssf11_sps.json | 0 .../cs/02.05.50/tables/ssf11_sqa.json | 0 .../cs/02.05.50/tables/ssf11_sqe.json | 0 .../cs/02.05.50/tables/ssf11_sqt.json | 0 .../cs/02.05.50/tables/ssf11_srd.json | 0 .../cs/02.05.50/tables/ssf11_sri.json | 0 .../cs/02.05.50/tables/ssf12_saf.json | 0 .../cs/02.05.50/tables/ssf12_sbb.json | 0 .../cs/02.05.50/tables/ssf12_sbu.json | 0 .../cs/02.05.50/tables/ssf12_sck.json | 0 .../cs/02.05.50/tables/ssf12_sef.json | 0 .../cs/02.05.50/tables/ssf12_ses.json | 0 .../cs/02.05.50/tables/ssf12_sev.json | 0 .../cs/02.05.50/tables/ssf12_sew.json | 0 .../cs/02.05.50/tables/ssf12_sez.json | 0 .../cs/02.05.50/tables/ssf12_sfd.json | 0 .../cs/02.05.50/tables/ssf12_sng.json | 0 .../cs/02.05.50/tables/ssf12_spl.json | 0 .../cs/02.05.50/tables/ssf12_sqb.json | 0 .../cs/02.05.50/tables/ssf12_sqf.json | 0 .../cs/02.05.50/tables/ssf12_srj.json | 0 .../cs/02.05.50/tables/ssf13_sag.json | 0 .../cs/02.05.50/tables/ssf13_sbc.json | 0 .../cs/02.05.50/tables/ssf13_sca.json | 0 .../cs/02.05.50/tables/ssf13_scl.json | 0 .../cs/02.05.50/tables/ssf13_sdg.json | 0 .../cs/02.05.50/tables/ssf13_sdr.json | 0 .../cs/02.05.50/tables/ssf13_seg.json | 0 .../cs/02.05.50/tables/ssf13_sfa.json | 0 .../cs/02.05.50/tables/ssf13_sfe.json | 0 .../cs/02.05.50/tables/ssf13_snh.json | 0 .../cs/02.05.50/tables/ssf13_spm.json | 0 .../cs/02.05.50/tables/ssf13_sqg.json | 0 .../cs/02.05.50/tables/ssf13_sqq.json | 0 .../cs/02.05.50/tables/ssf14_sbd.json | 0 .../cs/02.05.50/tables/ssf14_sbf.json | 0 .../cs/02.05.50/tables/ssf14_scn.json | 0 .../cs/02.05.50/tables/ssf14_sdh.json | 0 .../cs/02.05.50/tables/ssf14_sds.json | 0 .../cs/02.05.50/tables/ssf14_sfb.json | 0 .../cs/02.05.50/tables/ssf14_sff.json | 0 .../cs/02.05.50/tables/ssf14_sni.json | 0 .../cs/02.05.50/tables/ssf14_spn.json | 0 .../cs/02.05.50/tables/ssf14_sqh.json | 0 .../cs/02.05.50/tables/ssf14_sqr.json | 0 .../cs/02.05.50/tables/ssf15_sbe.json | 0 .../cs/02.05.50/tables/ssf15_sbg.json | 0 .../cs/02.05.50/tables/ssf15_sco.json | 0 .../cs/02.05.50/tables/ssf15_sdm.json | 0 .../cs/02.05.50/tables/ssf15_sdt.json | 0 .../cs/02.05.50/tables/ssf15_sfc.json | 0 .../cs/02.05.50/tables/ssf15_sfg.json | 0 .../cs/02.05.50/tables/ssf15_snj.json | 0 .../cs/02.05.50/tables/ssf15_spo.json | 0 .../cs/02.05.50/tables/ssf16_sah.json | 0 .../cs/02.05.50/tables/ssf16_scp.json | 0 .../cs/02.05.50/tables/ssf16_sdn.json | 0 .../cs/02.05.50/tables/ssf16_sfh.json | 0 .../cs/02.05.50/tables/ssf16_snk.json | 0 .../cs/02.05.50/tables/ssf16_spt.json | 0 .../cs/02.05.50/tables/ssf16_squ.json | 0 .../cs/02.05.50/tables/ssf16_sqv.json | 0 .../cs/02.05.50/tables/ssf16_sqw.json | 0 .../cs/02.05.50/tables/ssf17_sai.json | 0 .../cs/02.05.50/tables/ssf17_seu.json | 0 .../cs/02.05.50/tables/ssf17_snl.json | 0 .../cs/02.05.50/tables/ssf17_spu.json | 0 .../cs/02.05.50/tables/ssf17_sqx.json | 0 .../cs/02.05.50/tables/ssf18_saj.json | 0 .../cs/02.05.50/tables/ssf18_snm.json | 0 .../cs/02.05.50/tables/ssf18_sqy.json | 0 .../cs/02.05.50/tables/ssf19_sak.json | 0 .../cs/02.05.50/tables/ssf19_snn.json | 0 .../cs/02.05.50/tables/ssf19_sqz.json | 0 .../cs/02.05.50/tables/ssf1_jae.json | 0 .../cs/02.05.50/tables/ssf1_jag.json | 0 .../cs/02.05.50/tables/ssf1_jaj.json | 0 .../cs/02.05.50/tables/ssf1_jal.json | 0 .../cs/02.05.50/tables/ssf1_jam.json | 0 .../cs/02.05.50/tables/ssf1_jap.json | 0 .../cs/02.05.50/tables/ssf1_jaq.json | 0 .../cs/02.05.50/tables/ssf1_jat.json | 0 .../cs/02.05.50/tables/ssf1_jav.json | 0 .../cs/02.05.50/tables/ssf1_jaw.json | 0 .../cs/02.05.50/tables/ssf1_jax.json | 0 .../cs/02.05.50/tables/ssf1_jba.json | 0 .../cs/02.05.50/tables/ssf1_jbd.json | 0 .../cs/02.05.50/tables/ssf1_jbg.json | 0 .../cs/02.05.50/tables/ssf1_jbh.json | 0 .../cs/02.05.50/tables/ssf1_jbj.json | 0 .../cs/02.05.50/tables/ssf1_jbk.json | 0 .../cs/02.05.50/tables/ssf1_jbl.json | 0 .../cs/02.05.50/tables/ssf1_jbm.json | 0 .../cs/02.05.50/tables/ssf1_jbp.json | 0 .../cs/02.05.50/tables/ssf1_jbq.json | 0 .../cs/02.05.50/tables/ssf1_jbt.json | 0 .../cs/02.05.50/tables/ssf1_jbv.json | 0 .../cs/02.05.50/tables/ssf1_jbx.json | 0 .../cs/02.05.50/tables/ssf1_jby.json | 0 .../cs/02.05.50/tables/ssf1_jbz.json | 0 .../cs/02.05.50/tables/ssf1_jca.json | 0 .../cs/02.05.50/tables/ssf1_jcd.json | 0 .../cs/02.05.50/tables/ssf1_jce.json | 0 .../cs/02.05.50/tables/ssf1_jcf.json | 0 .../cs/02.05.50/tables/ssf1_jcg.json | 0 .../cs/02.05.50/tables/ssf1_jch.json | 0 .../cs/02.05.50/tables/ssf1_jna.json | 0 .../cs/02.05.50/tables/ssf1_jpa.json | 0 .../cs/02.05.50/tables/ssf1_jpd.json | 0 .../cs/02.05.50/tables/ssf1_jpe.json | 0 .../cs/02.05.50/tables/ssf1_jpf.json | 0 .../cs/02.05.50/tables/ssf1_jpj.json | 0 .../cs/02.05.50/tables/ssf1_jpl.json | 0 .../cs/02.05.50/tables/ssf1_jpm.json | 0 .../cs/02.05.50/tables/ssf1_jpn.json | 0 .../cs/02.05.50/tables/ssf1_jpo.json | 0 .../cs/02.05.50/tables/ssf1_jpp.json | 0 .../cs/02.05.50/tables/ssf1_jpq.json | 0 .../cs/02.05.50/tables/ssf1_jpr.json | 0 .../cs/02.05.50/tables/ssf1_jpt.json | 0 .../cs/02.05.50/tables/ssf1_jpu.json | 0 .../cs/02.05.50/tables/ssf1_jpv.json | 0 .../cs/02.05.50/tables/ssf1_jpw.json | 0 .../cs/02.05.50/tables/ssf1_sbh.json | 0 .../cs/02.05.50/tables/ssf1_sstg_jat.json | 0 .../cs/02.05.50/tables/ssf20_sal.json | 0 .../cs/02.05.50/tables/ssf20_sno.json | 0 .../cs/02.05.50/tables/ssf20_sra.json | 0 .../cs/02.05.50/tables/ssf21_sam.json | 0 .../cs/02.05.50/tables/ssf21_snp.json | 0 .../cs/02.05.50/tables/ssf21_srb.json | 0 .../cs/02.05.50/tables/ssf22_san.json | 0 .../cs/02.05.50/tables/ssf22_snq.json | 0 .../cs/02.05.50/tables/ssf22_src.json | 0 .../cs/02.05.50/tables/ssf23_sao.json | 0 .../cs/02.05.50/tables/ssf23_snr.json | 0 .../cs/02.05.50/tables/ssf24_sap.json | 0 .../cs/02.05.50/tables/ssf24_sns.json | 0 .../cs/02.05.50/tables/ssf25_snt.json | 0 .../cs/02.05.50/tables/ssf25_spj.json | 0 .../cs/02.05.50/tables/ssf25_spp.json | 0 .../cs/02.05.50/tables/ssf25_spv.json | 0 .../cs/02.05.50/tables/ssf25_sqc.json | 0 .../cs/02.05.50/tables/ssf25_sqi.json | 0 .../cs/02.05.50/tables/ssf25_sqp.json | 0 .../cs/02.05.50/tables/ssf2_kaa.json | 0 .../cs/02.05.50/tables/ssf2_kab.json | 0 .../cs/02.05.50/tables/ssf2_kac.json | 0 .../cs/02.05.50/tables/ssf2_kad.json | 0 .../cs/02.05.50/tables/ssf2_kaj.json | 0 .../cs/02.05.50/tables/ssf2_kak.json | 0 .../cs/02.05.50/tables/ssf2_kal.json | 0 .../cs/02.05.50/tables/ssf2_kao.json | 0 .../cs/02.05.50/tables/ssf2_kaq.json | 0 .../cs/02.05.50/tables/ssf2_kar.json | 0 .../cs/02.05.50/tables/ssf2_kas.json | 0 .../cs/02.05.50/tables/ssf2_kaw.json | 0 .../cs/02.05.50/tables/ssf2_kax.json | 0 .../cs/02.05.50/tables/ssf2_kay.json | 0 .../cs/02.05.50/tables/ssf2_kaz.json | 0 .../cs/02.05.50/tables/ssf2_kbb.json | 0 .../cs/02.05.50/tables/ssf2_kbc.json | 0 .../cs/02.05.50/tables/ssf2_kbf.json | 0 .../cs/02.05.50/tables/ssf2_kbi.json | 0 .../cs/02.05.50/tables/ssf2_kbl.json | 0 .../cs/02.05.50/tables/ssf2_kbm.json | 0 .../cs/02.05.50/tables/ssf2_kbu.json | 0 .../cs/02.05.50/tables/ssf2_kbv.json | 0 .../cs/02.05.50/tables/ssf2_kbw.json | 0 .../cs/02.05.50/tables/ssf2_kbx.json | 0 .../cs/02.05.50/tables/ssf2_kna.json | 0 .../cs/02.05.50/tables/ssf2_kpa.json | 0 .../cs/02.05.50/tables/ssf2_kpc.json | 0 .../cs/02.05.50/tables/ssf2_kpd.json | 0 .../cs/02.05.50/tables/ssf2_kpg.json | 0 .../cs/02.05.50/tables/ssf2_kph.json | 0 .../cs/02.05.50/tables/ssf2_kpi.json | 0 .../cs/02.05.50/tables/ssf2_kpj.json | 0 .../cs/02.05.50/tables/ssf2_kpk.json | 0 .../cs/02.05.50/tables/ssf2_kpl.json | 0 .../cs/02.05.50/tables/ssf2_kpn.json | 0 .../cs/02.05.50/tables/ssf2_kpo.json | 0 .../cs/02.05.50/tables/ssf2_kpp.json | 0 .../cs/02.05.50/tables/ssf2_kpq.json | 0 .../cs/02.05.50/tables/ssf2_kpr.json | 0 .../cs/02.05.50/tables/ssf2_sbi.json | 0 .../cs/02.05.50/tables/ssf2_sbz.json | 0 .../cs/02.05.50/tables/ssf3_laa.json | 0 .../cs/02.05.50/tables/ssf3_lab.json | 0 .../cs/02.05.50/tables/ssf3_lac.json | 0 .../cs/02.05.50/tables/ssf3_lad.json | 0 .../cs/02.05.50/tables/ssf3_laf.json | 0 .../cs/02.05.50/tables/ssf3_lah.json | 0 .../cs/02.05.50/tables/ssf3_lai.json | 0 .../cs/02.05.50/tables/ssf3_lao.json | 0 .../cs/02.05.50/tables/ssf3_lap.json | 0 .../cs/02.05.50/tables/ssf3_laq.json | 0 .../cs/02.05.50/tables/ssf3_lat.json | 0 .../cs/02.05.50/tables/ssf3_law.json | 0 .../cs/02.05.50/tables/ssf3_lay.json | 0 .../cs/02.05.50/tables/ssf3_laz.json | 0 .../cs/02.05.50/tables/ssf3_lba.json | 0 .../cs/02.05.50/tables/ssf3_lbb.json | 0 .../cs/02.05.50/tables/ssf3_lbc.json | 0 .../cs/02.05.50/tables/ssf3_lna.json | 0 .../cs/02.05.50/tables/ssf3_lpa.json | 0 .../cs/02.05.50/tables/ssf3_lpc.json | 0 .../cs/02.05.50/tables/ssf3_lpd.json | 0 .../cs/02.05.50/tables/ssf3_lpe.json | 0 .../cs/02.05.50/tables/ssf3_lph.json | 0 .../cs/02.05.50/tables/ssf3_lpj.json | 0 .../cs/02.05.50/tables/ssf3_lpk.json | 0 .../cs/02.05.50/tables/ssf3_lpl.json | 0 .../cs/02.05.50/tables/ssf3_lpm.json | 0 .../cs/02.05.50/tables/ssf3_lpp.json | 0 .../cs/02.05.50/tables/ssf3_lpq.json | 0 .../cs/02.05.50/tables/ssf3_lpr.json | 0 .../cs/02.05.50/tables/ssf3_lps.json | 0 .../cs/02.05.50/tables/ssf3_lpt.json | 0 .../cs/02.05.50/tables/ssf3_lpu.json | 0 .../cs/02.05.50/tables/ssf3_sstg_lab.json | 0 .../cs/02.05.50/tables/ssf4_maa.json | 0 .../cs/02.05.50/tables/ssf4_mab.json | 0 .../cs/02.05.50/tables/ssf4_mac.json | 0 .../cs/02.05.50/tables/ssf4_maf.json | 0 .../cs/02.05.50/tables/ssf4_maj.json | 0 .../cs/02.05.50/tables/ssf4_mal.json | 0 .../cs/02.05.50/tables/ssf4_mam.json | 0 .../cs/02.05.50/tables/ssf4_mas.json | 0 .../cs/02.05.50/tables/ssf4_mat.json | 0 .../cs/02.05.50/tables/ssf4_mav.json | 0 .../cs/02.05.50/tables/ssf4_maz.json | 0 .../cs/02.05.50/tables/ssf4_mbd.json | 0 .../cs/02.05.50/tables/ssf4_mbg.json | 0 .../cs/02.05.50/tables/ssf4_mbh.json | 0 .../cs/02.05.50/tables/ssf4_mbi.json | 0 .../cs/02.05.50/tables/ssf4_mbj.json | 0 .../cs/02.05.50/tables/ssf4_mna.json | 0 .../cs/02.05.50/tables/ssf4_mpa.json | 0 .../cs/02.05.50/tables/ssf4_mpb.json | 0 .../cs/02.05.50/tables/ssf4_mpd.json | 0 .../cs/02.05.50/tables/ssf4_mpe.json | 0 .../cs/02.05.50/tables/ssf4_mpf.json | 0 .../cs/02.05.50/tables/ssf4_mpg.json | 0 .../cs/02.05.50/tables/ssf4_mpn.json | 0 .../cs/02.05.50/tables/ssf4_mpq.json | 0 .../cs/02.05.50/tables/ssf4_mpr.json | 0 .../cs/02.05.50/tables/ssf4_mps.json | 0 .../cs/02.05.50/tables/ssf5_naa.json | 0 .../cs/02.05.50/tables/ssf5_nab.json | 0 .../cs/02.05.50/tables/ssf5_nac.json | 0 .../cs/02.05.50/tables/ssf5_nae.json | 0 .../cs/02.05.50/tables/ssf5_nah.json | 0 .../cs/02.05.50/tables/ssf5_nai.json | 0 .../cs/02.05.50/tables/ssf5_nak.json | 0 .../cs/02.05.50/tables/ssf5_nap.json | 0 .../cs/02.05.50/tables/ssf5_naq.json | 0 .../cs/02.05.50/tables/ssf5_nar.json | 0 .../cs/02.05.50/tables/ssf5_nas.json | 0 .../cs/02.05.50/tables/ssf5_nav.json | 0 .../cs/02.05.50/tables/ssf5_naw.json | 0 .../cs/02.05.50/tables/ssf5_nba.json | 0 .../cs/02.05.50/tables/ssf5_nbb.json | 0 .../cs/02.05.50/tables/ssf5_nna.json | 0 .../cs/02.05.50/tables/ssf5_npa.json | 0 .../cs/02.05.50/tables/ssf5_npb.json | 0 .../cs/02.05.50/tables/ssf5_npe.json | 0 .../cs/02.05.50/tables/ssf5_npf.json | 0 .../cs/02.05.50/tables/ssf5_npg.json | 0 .../cs/02.05.50/tables/ssf5_nph.json | 0 .../cs/02.05.50/tables/ssf5_npk.json | 0 .../cs/02.05.50/tables/ssf5_npl.json | 0 .../cs/02.05.50/tables/ssf5_npm.json | 0 .../cs/02.05.50/tables/ssf6_oaa.json | 0 .../cs/02.05.50/tables/ssf6_oad.json | 0 .../cs/02.05.50/tables/ssf6_oae.json | 0 .../cs/02.05.50/tables/ssf6_oaf.json | 0 .../cs/02.05.50/tables/ssf6_oag.json | 0 .../cs/02.05.50/tables/ssf6_oak.json | 0 .../cs/02.05.50/tables/ssf6_oam.json | 0 .../cs/02.05.50/tables/ssf6_oao.json | 0 .../cs/02.05.50/tables/ssf6_oap.json | 0 .../cs/02.05.50/tables/ssf6_oaq.json | 0 .../cs/02.05.50/tables/ssf6_oas.json | 0 .../cs/02.05.50/tables/ssf6_oat.json | 0 .../cs/02.05.50/tables/ssf6_oaw.json | 0 .../cs/02.05.50/tables/ssf6_oax.json | 0 .../cs/02.05.50/tables/ssf6_oay.json | 0 .../cs/02.05.50/tables/ssf6_ona.json | 0 .../cs/02.05.50/tables/ssf6_opa.json | 0 .../cs/02.05.50/tables/ssf6_opb.json | 0 .../cs/02.05.50/tables/ssf6_opd.json | 0 .../cs/02.05.50/tables/ssf6_opf.json | 0 .../cs/02.05.50/tables/ssf6_opg.json | 0 .../cs/02.05.50/tables/ssf6_oph.json | 0 .../cs/02.05.50/tables/ssf6_opi.json | 0 .../cs/02.05.50/tables/ssf7_saa.json | 0 .../cs/02.05.50/tables/ssf7_saq.json | 0 .../cs/02.05.50/tables/ssf7_saw.json | 0 .../cs/02.05.50/tables/ssf7_sbv.json | 0 .../cs/02.05.50/tables/ssf7_sbx.json | 0 .../cs/02.05.50/tables/ssf7_scb.json | 0 .../cs/02.05.50/tables/ssf7_scq.json | 0 .../cs/02.05.50/tables/ssf7_sde.json | 0 .../cs/02.05.50/tables/ssf7_sdf.json | 0 .../cs/02.05.50/tables/ssf7_sdo.json | 0 .../cs/02.05.50/tables/ssf7_sdx.json | 0 .../cs/02.05.50/tables/ssf7_seb.json | 0 .../cs/02.05.50/tables/ssf7_seh.json | 0 .../cs/02.05.50/tables/ssf7_sfl.json | 0 .../cs/02.05.50/tables/ssf7_snb.json | 0 .../cs/02.05.50/tables/ssf7_spa.json | 0 .../cs/02.05.50/tables/ssf7_spf.json | 0 .../cs/02.05.50/tables/ssf7_spw.json | 0 .../cs/02.05.50/tables/ssf7_sqk.json | 0 .../cs/02.05.50/tables/ssf7_sqn.json | 0 .../cs/02.05.50/tables/ssf7_sre.json | 0 .../cs/02.05.50/tables/ssf8_sab.json | 0 .../cs/02.05.50/tables/ssf8_sar.json | 0 .../cs/02.05.50/tables/ssf8_sax.json | 0 .../cs/02.05.50/tables/ssf8_sby.json | 0 .../cs/02.05.50/tables/ssf8_scc.json | 0 .../cs/02.05.50/tables/ssf8_sdd.json | 0 .../cs/02.05.50/tables/ssf8_sdp.json | 0 .../cs/02.05.50/tables/ssf8_sdy.json | 0 .../cs/02.05.50/tables/ssf8_sec.json | 0 .../cs/02.05.50/tables/ssf8_sei.json | 0 .../cs/02.05.50/tables/ssf8_sfk.json | 0 .../cs/02.05.50/tables/ssf8_snc.json | 0 .../cs/02.05.50/tables/ssf8_spb.json | 0 .../cs/02.05.50/tables/ssf8_spg.json | 0 .../cs/02.05.50/tables/ssf8_spx.json | 0 .../cs/02.05.50/tables/ssf8_sql.json | 0 .../cs/02.05.50/tables/ssf8_sqo.json | 0 .../cs/02.05.50/tables/ssf8_srf.json | 0 .../cs/02.05.50/tables/ssf9_sac.json | 0 .../cs/02.05.50/tables/ssf9_sas.json | 0 .../cs/02.05.50/tables/ssf9_say.json | 0 .../cs/02.05.50/tables/ssf9_sdi.json | 0 .../cs/02.05.50/tables/ssf9_sdq.json | 0 .../cs/02.05.50/tables/ssf9_sdz.json | 0 .../cs/02.05.50/tables/ssf9_sed.json | 0 .../cs/02.05.50/tables/ssf9_sej.json | 0 .../cs/02.05.50/tables/ssf9_snd.json | 0 .../cs/02.05.50/tables/ssf9_spc.json | 0 .../cs/02.05.50/tables/ssf9_sph.json | 0 .../cs/02.05.50/tables/ssf9_sqm.json | 0 .../cs/02.05.50/tables/ssf9_srg.json | 0 .../cs/02.05.50/tables/summary_stage_raa.json | 0 .../cs/02.05.50/tables/summary_stage_rac.json | 0 .../cs/02.05.50/tables/summary_stage_rpa.json | 0 .../thickness_ulceration_ajcc6_xbn.json | 0 .../thickness_ulceration_ajcc7_xhu.json | 0 .../tables/tumor_size_category_ajcc7_xpk.json | 0 .../tables/tumor_size_pair_ajcc6_xpl.json | 0 .../glossary/55a9a501e4b05cd0cddc710a.json | 0 .../eod_public/3.3/glossary/terms.txt | 0 .../3.3/schemas/adnexa_uterine_other.json | 0 .../eod_public/3.3/schemas/adrenal_gland.json | 0 .../eod_public/3.3/schemas/ampulla_vater.json | 0 .../eod_public/3.3/schemas/anus.json | 0 .../eod_public/3.3/schemas/anus_v9_2023.json | 0 .../eod_public/3.3/schemas/appendix.json | 0 .../3.3/schemas/appendix_v9_2023.json | 0 .../3.3/schemas/bile_ducts_distal.json | 0 .../3.3/schemas/bile_ducts_intrahepat.json | 0 .../3.3/schemas/bile_ducts_perihilar.json | 0 .../eod_public/3.3/schemas/biliary_other.json | 0 .../eod_public/3.3/schemas/bladder.json | 0 .../schemas/bone_appendicular_skeleton.json | 0 .../eod_public/3.3/schemas/bone_pelvis.json | 0 .../eod_public/3.3/schemas/bone_spine.json | 0 .../eod_public/3.3/schemas/brain.json | 0 .../eod_public/3.3/schemas/brain_v9_2023.json | 0 .../eod_public/3.3/schemas/breast.json | 0 .../eod_public/3.3/schemas/buccal_mucosa.json | 0 ...cervical_lymph_nodes_occult_head_neck.json | 0 .../eod_public/3.3/schemas/cervix.json | 0 .../3.3/schemas/cervix_9th_2021.json | 0 .../3.3/schemas/cervix_sarcoma.json | 0 .../eod_public/3.3/schemas/cns_other.json | 0 .../3.3/schemas/cns_other_v9_2023.json | 0 .../eod_public/3.3/schemas/colon_rectum.json | 0 .../eod_public/3.3/schemas/conjunctiva.json | 0 .../3.3/schemas/corpus_adenosarcoma.json | 0 .../3.3/schemas/corpus_carcinoma.json | 0 .../3.3/schemas/corpus_sarcoma.json | 0 .../cutaneous_carcinoma_head_neck.json | 0 .../eod_public/3.3/schemas/cystic_duct.json | 0 .../3.3/schemas/digestive_other.json | 0 .../3.3/schemas/endocrine_other.json | 0 .../3.3/schemas/esophagus_gejunction.json | 0 ...phagus_including_ge_junction_squamous.json | 0 .../eod_public/3.3/schemas/eye_other.json | 0 .../3.3/schemas/fallopian_tube.json | 0 .../eod_public/3.3/schemas/floor_mouth.json | 0 .../eod_public/3.3/schemas/gallbladder.json | 0 .../3.3/schemas/genital_female_other.json | 0 .../3.3/schemas/genital_male_other.json | 0 .../eod_public/3.3/schemas/gist.json | 0 .../eod_public/3.3/schemas/gum.json | 0 .../3.3/schemas/heart_mediastinum_pleura.json | 0 .../eod_public/3.3/schemas/hemeretic.json | 0 .../eod_public/3.3/schemas/hypopharynx.json | 0 .../algorithms/eod_public/3.3/schemas/ids.txt | 0 .../3.3/schemas/ill_defined_other.json | 0 .../3.3/schemas/intracranial_gland.json | 0 .../schemas/intracranial_gland_v9_2023.json | 0 .../3.3/schemas/kaposi_sarcoma.json | 0 .../3.3/schemas/kidney_parenchyma.json | 0 .../3.3/schemas/kidney_renal_pelvis.json | 0 .../3.3/schemas/lacrimal_gland.json | 0 .../eod_public/3.3/schemas/lacrimal_sac.json | 0 .../3.3/schemas/larynx_glottic.json | 0 .../eod_public/3.3/schemas/larynx_other.json | 0 .../3.3/schemas/larynx_subglottic.json | 0 .../3.3/schemas/larynx_supraglottic.json | 0 .../eod_public/3.3/schemas/lip.json | 0 .../eod_public/3.3/schemas/liver.json | 0 .../eod_public/3.3/schemas/lung.json | 0 .../eod_public/3.3/schemas/lung_v9_2025.json | 0 .../eod_public/3.3/schemas/lymphoma.json | 0 .../3.3/schemas/lymphoma_cll_sll.json | 0 .../3.3/schemas/lymphoma_ocular_adnexa.json | 0 .../3.3/schemas/major_salivary_glands.json | 0 .../major_salivary_glands_v9_2026.json | 0 .../3.3/schemas/maxillary_sinus.json | 0 .../3.3/schemas/medulloblastoma_v9_2023.json | 0 .../melanoma_choroid_ciliary_body.json | 0 .../3.3/schemas/melanoma_conjunctiva.json | 0 .../3.3/schemas/melanoma_head_neck.json | 0 .../eod_public/3.3/schemas/melanoma_iris.json | 0 .../eod_public/3.3/schemas/melanoma_skin.json | 0 .../3.3/schemas/merkel_cell_skin.json | 0 .../eod_public/3.3/schemas/middle_ear.json | 0 .../eod_public/3.3/schemas/mouth_other.json | 0 .../3.3/schemas/mycosis_fungoides.json | 0 .../schemas/nasal_cavity_ethmoid_sinus.json | 0 .../eod_public/3.3/schemas/nasopharynx.json | 0 .../3.3/schemas/nasopharynx_v9_2025.json | 0 .../3.3/schemas/net_adrenal_gland.json | 0 .../eod_public/3.3/schemas/net_ampulla.json | 0 .../schemas/net_ampulla_of_vater_v9_2024.json | 0 .../eod_public/3.3/schemas/net_appendix.json | 0 .../3.3/schemas/net_appendix_v9_2024.json | 0 .../schemas/net_colon_and_rectum_v9_2024.json | 0 .../3.3/schemas/net_colon_rectum.json | 0 .../eod_public/3.3/schemas/net_duodenum.json | 0 .../3.3/schemas/net_duodenum_v9_2024.json | 0 .../net_jejunum_and_ileum_v9_2024.json | 0 .../3.3/schemas/net_jejunum_ileum.json | 0 .../eod_public/3.3/schemas/net_pancreas.json | 0 .../3.3/schemas/net_pancreas_v9_2024.json | 0 .../eod_public/3.3/schemas/net_stomach.json | 0 .../3.3/schemas/net_stomach_v9_2024.json | 0 .../3.3/schemas/orbital_sarcoma.json | 0 .../oropharynx_hpv_associated_v9_2026.json | 0 .../oropharynx_hpv_mediated_p16_pos.json | 0 .../3.3/schemas/oropharynx_p16_neg.json | 0 .../eod_public/3.3/schemas/ovary.json | 0 .../eod_public/3.3/schemas/palate_hard.json | 0 .../eod_public/3.3/schemas/pancreas.json | 0 .../eod_public/3.3/schemas/parathyroid.json | 0 .../eod_public/3.3/schemas/penis.json | 0 .../eod_public/3.3/schemas/pharynx_other.json | 0 .../eod_public/3.3/schemas/placenta.json | 0 .../3.3/schemas/plasma_cell_disorders.json | 0 .../3.3/schemas/plasma_cell_myeloma.json | 0 .../3.3/schemas/pleural_mesothelioma.json | 0 .../schemas/pleural_mesothelioma_v9_2025.json | 0 .../primary_cutaneous_lymphoma_non_mf_ss.json | 0 .../schemas/primary_peritoneal_carcinoma.json | 0 .../eod_public/3.3/schemas/prostate.json | 0 .../3.3/schemas/respiratory_other.json | 0 .../3.3/schemas/retinoblastoma.json | 0 .../3.3/schemas/retroperitoneum.json | 0 .../eod_public/3.3/schemas/sinus_other.json | 0 .../eod_public/3.3/schemas/skin_eyelid.json | 0 .../eod_public/3.3/schemas/skin_other.json | 0 .../3.3/schemas/small_intestine.json | 0 .../schemas/soft_tissue_abdomen_thoracic.json | 0 .../3.3/schemas/soft_tissue_head_neck.json | 0 .../3.3/schemas/soft_tissue_other.json | 0 .../3.3/schemas/soft_tissue_rare.json | 0 .../soft_tissue_trunk_extremities.json | 0 .../eod_public/3.3/schemas/stomach.json | 0 .../eod_public/3.3/schemas/testis.json | 0 .../eod_public/3.3/schemas/thymus.json | 0 .../3.3/schemas/thymus_v9_2025.json | 0 .../eod_public/3.3/schemas/thyroid.json | 0 .../3.3/schemas/thyroid_medullary.json | 0 .../3.3/schemas/tongue_anterior.json | 0 .../eod_public/3.3/schemas/trachea.json | 0 .../eod_public/3.3/schemas/urethra.json | 0 .../3.3/schemas/urethra_prostatic.json | 0 .../eod_public/3.3/schemas/urinary_other.json | 0 .../eod_public/3.3/schemas/vagina.json | 0 .../eod_public/3.3/schemas/vulva.json | 0 .../eod_public/3.3/schemas/vulva_v9_2024.json | 0 ...adenoid_cystic_basaloid_pattern_86314.json | 0 .../3.3/tables/adenopathy_40816.json | 0 .../tables/adnexa_uterine_other_36223.json | 0 .../tables/adnexa_uterine_other_97891.json | 0 .../afp_post_orchiectomy_lab_value_90733.json | 0 .../afp_post_orchiectomy_range_84758.json | 0 .../afp_pre_orchiectomy_lab_value_94162.json | 0 .../afp_pre_orchiectomy_range_11386.json | 0 .../afp_pretx_interpretation_66147.json | 0 .../3.3/tables/afp_pretx_lab_value_25871.json | 0 .../age_at_diagnosis_validation_65093.json | 0 .../3.3/tables/ajcc_grade_3_94758.json | 0 .../3.3/tables/ajcc_path_grade_3_70197.json | 0 .../3.3/tables/alk_rearrangement_610.json | 0 .../eod_public/3.3/tables/anemia_15893.json | 0 .../b2_microglob_pretx_level_83264.json | 0 .../eod_public/3.3/tables/behavior.json | 0 ...with_primary_tumor_for_ss2018_t_69793.json | 0 ...l_bileductsperihilar_cysticduct_24541.json | 0 .../bilirubin_pretx_lab_value_68660.json | 0 .../tables/bilirubin_pretx_unit_98627.json | 0 .../3.3/tables/bone_invasion_96628.json | 0 .../braf_mutational_analysis_37823.json | 0 .../tables/brain_molecular_markers_75370.json | 0 .../brain_molecular_markers_v9_48556.json | 0 .../brain_primary_tumor_location_69074.json | 0 .../3.3/tables/breslow_thickness_79262.json | 0 .../ca_125_pretx_interpretation_51295.json | 0 .../tables/ca_19_9_pretx_lab_value_17332.json | 0 .../cea_pretx_interpretation_99474.json | 0 .../3.3/tables/cea_pretx_lab_value_33864.json | 0 .../tables/chromosome_19q_status_72683.json | 0 .../tables/chromosome_1p_status_40269.json | 0 .../3.3/tables/chromosome_3_status_93464.json | 0 .../tables/chromosome_8q_status_83582.json | 0 ...ircumferential_resection_margin_77909.json | 0 .../tables/clinical_margin_width_1179.json | 0 .../combine_prostate_eod_extension_16771.json | 0 .../3.3/tables/combined_grade_56638.json | 0 .../tables/combined_grade_breast_8723.json | 0 .../creatinine_pretx_lab_value_56869.json | 0 .../tables/creatinine_pretx_unit_26973.json | 0 .../3.3/tables/derive_rai_stage_42032.json | 0 .../3.3/tables/derived_grade_10693.json | 0 .../3.3/tables/derived_grade_12594.json | 0 .../3.3/tables/derived_grade_2099.json | 0 .../3.3/tables/derived_grade_21657.json | 0 .../3.3/tables/derived_grade_21945.json | 0 .../3.3/tables/derived_grade_21973.json | 0 .../3.3/tables/derived_grade_24813.json | 0 .../3.3/tables/derived_grade_27440.json | 0 .../3.3/tables/derived_grade_29698.json | 0 .../3.3/tables/derived_grade_30763.json | 0 .../3.3/tables/derived_grade_32209.json | 0 .../3.3/tables/derived_grade_40528.json | 0 .../3.3/tables/derived_grade_46639.json | 0 .../3.3/tables/derived_grade_48704.json | 0 .../3.3/tables/derived_grade_58317.json | 0 .../3.3/tables/derived_grade_69945.json | 0 .../3.3/tables/derived_grade_71063.json | 0 .../3.3/tables/derived_grade_71227.json | 0 .../3.3/tables/derived_grade_74326.json | 0 .../3.3/tables/derived_grade_76001.json | 0 .../3.3/tables/derived_grade_83462.json | 0 .../3.3/tables/derived_grade_84046.json | 0 .../3.3/tables/derived_grade_8564.json | 0 .../3.3/tables/derived_grade_91894.json | 0 .../3.3/tables/derived_grade_93981.json | 0 .../3.3/tables/derived_grade_96207.json | 0 .../3.3/tables/derived_grade_97763.json | 0 .../3.3/tables/derived_grade_gist_82068.json | 0 .../tables/derived_grade_standard_1196.json | 0 ...derived_grade_standard_non_ajcc_63932.json | 0 .../3.3/tables/derived_rai_stage_73218.json | 0 .../derived_ss2018_adrenal_gland_258.json | 0 .../derived_ss2018_ampulla_of_vater_2679.json | 0 .../3.3/tables/derived_ss2018_anus_8409.json | 0 .../tables/derived_ss2018_appendix_76889.json | 0 .../derived_ss2018_biliary_other_47058.json | 0 .../tables/derived_ss2018_bladder_71090.json | 0 .../3.3/tables/derived_ss2018_bone_34531.json | 0 .../tables/derived_ss2018_brain_35480.json | 0 .../tables/derived_ss2018_breast_7622.json | 0 .../derived_ss2018_buccal_mucosa_61240.json | 0 ...primary_tumors_of_head_and_neck_49724.json | 0 .../tables/derived_ss2018_cervix_8763.json | 0 .../derived_ss2018_cns_other_22397.json | 0 ...derived_ss2018_colon_and_rectum_35271.json | 0 .../derived_ss2018_conjunctiva_74486.json | 0 ...us_carcinoma_and_carcinosarcoma_56302.json | 0 .../derived_ss2018_corpus_sarcoma_68247.json | 0 .../derived_ss2018_digestive_other_3351.json | 0 .../derived_ss2018_endocrine_other_15778.json | 0 .../derived_ss2018_esophagus_32092.json | 0 ..._ss2018_extrahepatic_bile_ducts_37420.json | 0 .../derived_ss2018_eye_other_38179.json | 0 .../derived_ss2018_fallopian_tube_71863.json | 0 .../derived_ss2018_gallbladder_56868.json | 0 ...ived_ss2018_genital_female_other_6389.json | 0 ...rived_ss2018_genital_male_other_41924.json | 0 .../3.3/tables/derived_ss2018_gist_48315.json | 0 .../3.3/tables/derived_ss2018_gum_32702.json | 0 ...18_heart_mediastinum_and_pleura_70478.json | 0 .../derived_ss2018_hemeretic_89184.json | 0 .../derived_ss2018_hypopharynx_33792.json | 0 ...erived_ss2018_ill_defined_other_41227.json | 0 ...erived_ss2018_intracranial_gland_8078.json | 0 ..._ss2018_intrahepatic_bile_ducts_29879.json | 0 .../derived_ss2018_kaposi_sarcoma_84609.json | 0 ...erived_ss2018_kidney_parenchyma_35397.json | 0 ...rived_ss2018_kidney_renal_pelvis_4595.json | 0 ...rived_ss2018_lacrimal_gland_sac_94643.json | 0 .../derived_ss2018_larynx_glottic_7548.json | 0 .../derived_ss2018_larynx_other_66228.json | 0 ...erived_ss2018_larynx_subglottic_66548.json | 0 ...ived_ss2018_larynx_supraglottic_62635.json | 0 .../3.3/tables/derived_ss2018_lip_8421.json | 0 .../tables/derived_ss2018_liver_13967.json | 0 .../3.3/tables/derived_ss2018_lung_59907.json | 0 .../tables/derived_ss2018_lymphoma_35135.json | 0 ...d_ss2018_lymphoma_ocular_adnexa_92324.json | 0 ...ed_ss2018_major_salivary_glands_88669.json | 0 .../derived_ss2018_medulloblastoma_71501.json | 0 ...ved_ss2018_melanoma_conjunctiva_64436.json | 0 ...d_ss2018_melanoma_head_and_neck_82003.json | 0 .../derived_ss2018_melanoma_skin_34689.json | 0 .../derived_ss2018_melanoma_uvea_22506.json | 0 ...derived_ss2018_merkel_cell_skin_71353.json | 0 .../derived_ss2018_middle_ear_38870.json | 0 .../derived_ss2018_mouth_other_30776.json | 0 ...erived_ss2018_mycosis_fungoides_14217.json | 0 ...yeloma_and_plasma_cell_disorders_3894.json | 0 ...al_cavity_and_paranasal_sinuses_97890.json | 0 .../derived_ss2018_nasopharynx_69453.json | 0 .../derived_ss2018_orbital_sarcoma_90415.json | 0 .../derived_ss2018_oropharynx_79318.json | 0 ...nd_primary_peritoneal_carcinoma_26044.json | 0 .../derived_ss2018_palate_hard_38646.json | 0 .../tables/derived_ss2018_pancreas_85813.json | 0 .../derived_ss2018_parathyroid_93552.json | 0 .../tables/derived_ss2018_penis_70064.json | 0 .../derived_ss2018_pharynx_other_63252.json | 0 .../tables/derived_ss2018_placenta_6507.json | 0 ...ved_ss2018_pleural_mesothelioma_74611.json | 0 ...018_primary_cutaneous_lymphomas_45083.json | 0 .../tables/derived_ss2018_prostate_48792.json | 0 ...erived_ss2018_respiratory_other_17734.json | 0 .../derived_ss2018_retinoblastoma_10326.json | 0 .../derived_ss2018_retroperitoneum_11521.json | 0 .../derived_ss2018_sinus_other_893.json | 0 ...rived_ss2018_skin_except_eyelid_95559.json | 0 .../derived_ss2018_skin_eyelid_74710.json | 0 .../derived_ss2018_small_intestine_48854.json | 0 ...ss2018_soft_tissue_and_sarcomas_99149.json | 0 .../tables/derived_ss2018_stomach_19183.json | 0 .../tables/derived_ss2018_testis_36736.json | 0 .../tables/derived_ss2018_thymus_2194.json | 0 .../tables/derived_ss2018_thyroid_44895.json | 0 .../derived_ss2018_tongue_anterior_40968.json | 0 .../tables/derived_ss2018_trachea_96519.json | 0 .../tables/derived_ss2018_urethra_73432.json | 0 .../derived_ss2018_urinary_other_89509.json | 0 .../tables/derived_ss2018_vagina_63227.json | 0 .../tables/derived_ss2018_vulva_47165.json | 0 .../tables/derived_summary_grade_na_6690.json | 0 .../egfr_mutational_analysis_51122.json | 0 .../eod_public/3.3/tables/eod_mets_13303.json | 0 .../eod_public/3.3/tables/eod_mets_14084.json | 0 .../eod_public/3.3/tables/eod_mets_20229.json | 0 .../eod_public/3.3/tables/eod_mets_2212.json | 0 .../eod_public/3.3/tables/eod_mets_22645.json | 0 .../eod_public/3.3/tables/eod_mets_22894.json | 0 .../eod_public/3.3/tables/eod_mets_23805.json | 0 .../eod_public/3.3/tables/eod_mets_23953.json | 0 .../eod_public/3.3/tables/eod_mets_24042.json | 0 .../eod_public/3.3/tables/eod_mets_24606.json | 0 .../eod_public/3.3/tables/eod_mets_25000.json | 0 .../eod_public/3.3/tables/eod_mets_25281.json | 0 .../eod_public/3.3/tables/eod_mets_26533.json | 0 .../eod_public/3.3/tables/eod_mets_28878.json | 0 .../eod_public/3.3/tables/eod_mets_29252.json | 0 .../eod_public/3.3/tables/eod_mets_30426.json | 0 .../eod_public/3.3/tables/eod_mets_33408.json | 0 .../eod_public/3.3/tables/eod_mets_34827.json | 0 .../eod_public/3.3/tables/eod_mets_3742.json | 0 .../eod_public/3.3/tables/eod_mets_41985.json | 0 .../eod_public/3.3/tables/eod_mets_47277.json | 0 .../eod_public/3.3/tables/eod_mets_53046.json | 0 .../eod_public/3.3/tables/eod_mets_56430.json | 0 .../eod_public/3.3/tables/eod_mets_71734.json | 0 .../eod_public/3.3/tables/eod_mets_74247.json | 0 .../eod_public/3.3/tables/eod_mets_76404.json | 0 .../eod_public/3.3/tables/eod_mets_79894.json | 0 .../eod_public/3.3/tables/eod_mets_80017.json | 0 .../eod_public/3.3/tables/eod_mets_83665.json | 0 .../eod_public/3.3/tables/eod_mets_88527.json | 0 .../eod_public/3.3/tables/eod_mets_89421.json | 0 .../eod_public/3.3/tables/eod_mets_89986.json | 0 .../eod_public/3.3/tables/eod_mets_91004.json | 0 .../eod_public/3.3/tables/eod_mets_91154.json | 0 .../eod_public/3.3/tables/eod_mets_94984.json | 0 .../eod_public/3.3/tables/eod_mets_95518.json | 0 .../eod_public/3.3/tables/eod_mets_96081.json | 0 .../eod_public/3.3/tables/eod_mets_98654.json | 0 .../eod_mets_mucosal_head_and_neck_45697.json | 0 .../3.3/tables/eod_mets_v9_1812.json | 0 .../3.3/tables/eod_mets_v9_3184.json | 0 .../3.3/tables/eod_mets_v9_58862.json | 0 .../3.3/tables/eod_mets_v9_76161.json | 0 .../3.3/tables/eod_primary_tumor_12346.json | 0 .../3.3/tables/eod_primary_tumor_19089.json | 0 .../3.3/tables/eod_primary_tumor_3385.json | 0 .../3.3/tables/eod_primary_tumor_3433.json | 0 .../3.3/tables/eod_primary_tumor_38280.json | 0 .../3.3/tables/eod_primary_tumor_3897.json | 0 .../3.3/tables/eod_primary_tumor_40607.json | 0 .../3.3/tables/eod_primary_tumor_42615.json | 0 .../3.3/tables/eod_primary_tumor_43548.json | 0 .../3.3/tables/eod_primary_tumor_4717.json | 0 .../3.3/tables/eod_primary_tumor_50451.json | 0 .../3.3/tables/eod_primary_tumor_53330.json | 0 .../3.3/tables/eod_primary_tumor_55521.json | 0 .../3.3/tables/eod_primary_tumor_60922.json | 0 .../3.3/tables/eod_primary_tumor_72244.json | 0 .../3.3/tables/eod_primary_tumor_72245.json | 0 .../3.3/tables/eod_primary_tumor_72332.json | 0 .../3.3/tables/eod_primary_tumor_81646.json | 0 .../3.3/tables/eod_primary_tumor_84520.json | 0 .../3.3/tables/eod_primary_tumor_85962.json | 0 .../3.3/tables/eod_primary_tumor_93022.json | 0 .../3.3/tables/eod_primary_tumor_93027.json | 0 .../3.3/tables/eod_primary_tumor_93243.json | 0 .../3.3/tables/eod_primary_tumor_96275.json | 0 .../3.3/tables/eod_primary_tumor_97833.json | 0 .../3.3/tables/eod_primary_tumor_98910.json | 0 .../tables/eod_primary_tumor_copy_25294.json | 0 .../3.3/tables/eod_primary_tumor_v9_192.json | 0 .../tables/eod_primary_tumor_v9_52408.json | 0 .../tables/eod_primary_tumor_v9_58724.json | 0 .../3.3/tables/eod_primary_tumor_v9_6892.json | 0 .../tables/eod_primary_tumor_v9_75679.json | 0 ...od_prostate_pathologic_extension_2781.json | 0 .../3.3/tables/eod_regional_nodes_10020.json | 0 .../3.3/tables/eod_regional_nodes_11936.json | 0 .../3.3/tables/eod_regional_nodes_12613.json | 0 .../3.3/tables/eod_regional_nodes_16316.json | 0 .../3.3/tables/eod_regional_nodes_21853.json | 0 .../3.3/tables/eod_regional_nodes_22383.json | 0 .../3.3/tables/eod_regional_nodes_27426.json | 0 .../3.3/tables/eod_regional_nodes_29442.json | 0 .../3.3/tables/eod_regional_nodes_30921.json | 0 .../3.3/tables/eod_regional_nodes_3383.json | 0 .../3.3/tables/eod_regional_nodes_36470.json | 0 .../3.3/tables/eod_regional_nodes_38984.json | 0 .../3.3/tables/eod_regional_nodes_48374.json | 0 .../3.3/tables/eod_regional_nodes_53169.json | 0 .../3.3/tables/eod_regional_nodes_55756.json | 0 .../3.3/tables/eod_regional_nodes_58339.json | 0 .../3.3/tables/eod_regional_nodes_61282.json | 0 .../3.3/tables/eod_regional_nodes_62689.json | 0 .../3.3/tables/eod_regional_nodes_6464.json | 0 .../3.3/tables/eod_regional_nodes_65616.json | 0 .../3.3/tables/eod_regional_nodes_7080.json | 0 .../3.3/tables/eod_regional_nodes_76612.json | 0 .../3.3/tables/eod_regional_nodes_77237.json | 0 .../3.3/tables/eod_regional_nodes_79068.json | 0 .../3.3/tables/eod_regional_nodes_80411.json | 0 .../3.3/tables/eod_regional_nodes_8284.json | 0 .../3.3/tables/eod_regional_nodes_86049.json | 0 .../3.3/tables/eod_regional_nodes_92760.json | 0 .../3.3/tables/eod_regional_nodes_94494.json | 0 .../3.3/tables/eod_regional_nodes_97333.json | 0 .../3.3/tables/eod_regional_nodes_99855.json | 0 .../tables/eod_regional_nodes_v9_3599.json | 0 .../tables/eod_regional_nodes_v9_56625.json | 0 .../tables/eod_regional_nodes_v9_57286.json | 0 .../tables/eod_regional_nodes_v9_73197.json | 0 .../3.3/tables/er_allred_score_36612.json | 0 .../3.3/tables/er_percent_positive_61867.json | 0 .../3.3/tables/er_summary_44166.json | 0 .../tables/esoph_tumor_epicenter_18976.json | 0 ...esophagusgejunction_egj_stomach_57130.json | 0 .../eod_public/3.3/tables/extension_baa.json | 0 .../eod_public/3.3/tables/extension_bad.json | 0 .../eod_public/3.3/tables/extension_bag.json | 0 .../eod_public/3.3/tables/extension_baj.json | 0 .../eod_public/3.3/tables/extension_bak.json | 0 .../eod_public/3.3/tables/extension_bal.json | 0 .../eod_public/3.3/tables/extension_bam.json | 0 .../eod_public/3.3/tables/extension_ban.json | 0 .../eod_public/3.3/tables/extension_bao.json | 0 .../eod_public/3.3/tables/extension_bap.json | 0 .../eod_public/3.3/tables/extension_bar.json | 0 .../eod_public/3.3/tables/extension_bas.json | 0 .../eod_public/3.3/tables/extension_bat.json | 0 .../eod_public/3.3/tables/extension_bau.json | 0 .../eod_public/3.3/tables/extension_bav.json | 0 .../eod_public/3.3/tables/extension_baw.json | 0 .../eod_public/3.3/tables/extension_bax.json | 0 .../eod_public/3.3/tables/extension_bbb.json | 0 .../eod_public/3.3/tables/extension_bbc.json | 0 .../eod_public/3.3/tables/extension_bbd.json | 0 .../eod_public/3.3/tables/extension_bbe.json | 0 .../eod_public/3.3/tables/extension_bbi.json | 0 .../eod_public/3.3/tables/extension_bbj.json | 0 .../eod_public/3.3/tables/extension_bbk.json | 0 .../eod_public/3.3/tables/extension_bbl.json | 0 .../eod_public/3.3/tables/extension_bbm.json | 0 .../eod_public/3.3/tables/extension_bbn.json | 0 .../eod_public/3.3/tables/extension_bbo.json | 0 .../eod_public/3.3/tables/extension_bbp.json | 0 .../eod_public/3.3/tables/extension_bbr.json | 0 .../eod_public/3.3/tables/extension_bbs.json | 0 .../eod_public/3.3/tables/extension_bbx.json | 0 .../eod_public/3.3/tables/extension_bcb.json | 0 .../eod_public/3.3/tables/extension_bcc.json | 0 .../eod_public/3.3/tables/extension_bcd.json | 0 .../eod_public/3.3/tables/extension_bce.json | 0 .../eod_public/3.3/tables/extension_bcf.json | 0 .../eod_public/3.3/tables/extension_bcg.json | 0 .../eod_public/3.3/tables/extension_bci.json | 0 .../eod_public/3.3/tables/extension_bcj.json | 0 .../eod_public/3.3/tables/extension_bcl.json | 0 .../eod_public/3.3/tables/extension_bcm.json | 0 .../eod_public/3.3/tables/extension_bcn.json | 0 .../eod_public/3.3/tables/extension_bco.json | 0 .../eod_public/3.3/tables/extension_bcp.json | 0 .../eod_public/3.3/tables/extension_bcq.json | 0 .../eod_public/3.3/tables/extension_bcr.json | 0 .../eod_public/3.3/tables/extension_bcs.json | 0 .../eod_public/3.3/tables/extension_bct.json | 0 .../eod_public/3.3/tables/extension_bcv.json | 0 .../eod_public/3.3/tables/extension_bcx.json | 0 .../eod_public/3.3/tables/extension_bcy.json | 0 .../eod_public/3.3/tables/extension_bdd.json | 0 .../eod_public/3.3/tables/extension_bde.json | 0 .../eod_public/3.3/tables/extension_bdg.json | 0 .../eod_public/3.3/tables/extension_bdh.json | 0 .../eod_public/3.3/tables/extension_bdk.json | 0 .../eod_public/3.3/tables/extension_bdl.json | 0 .../eod_public/3.3/tables/extension_bdo.json | 0 .../eod_public/3.3/tables/extension_bds.json | 0 .../eod_public/3.3/tables/extension_bdu.json | 0 .../eod_public/3.3/tables/extension_bez.json | 0 .../eod_public/3.3/tables/extension_bfa.json | 0 .../eod_public/3.3/tables/extension_bfg.json | 0 .../eod_public/3.3/tables/extension_bfh.json | 0 .../eod_public/3.3/tables/extension_bfi.json | 0 .../eod_public/3.3/tables/extension_bfk.json | 0 .../eod_public/3.3/tables/extension_bfl.json | 0 .../eod_public/3.3/tables/extension_bfm.json | 0 .../eod_public/3.3/tables/extension_bfp.json | 0 .../eod_public/3.3/tables/extension_bfq.json | 0 .../eod_public/3.3/tables/extension_bfr.json | 0 .../eod_public/3.3/tables/extension_bfs.json | 0 .../eod_public/3.3/tables/extension_bft.json | 0 .../eod_public/3.3/tables/extension_bfv.json | 0 .../eod_public/3.3/tables/extension_bfw.json | 0 .../eod_public/3.3/tables/extension_bfy.json | 0 .../eod_public/3.3/tables/extension_bgc.json | 0 .../eod_public/3.3/tables/extension_bna.json | 0 .../eod_public/3.3/tables/extension_btb.json | 0 .../extranodal_extension_clinical_5022.json | 0 ...xtension_head_and_neck_clinical_79321.json | 0 ...sion_head_and_neck_pathological_87046.json | 0 ...tranodal_extension_pathological_30739.json | 0 .../extravascular_matrix_patterns_1397.json | 0 .../3.3/tables/fibrosis_score_38658.json | 0 .../3.3/tables/figo_stage_30513.json | 0 .../3.3/tables/figo_stage_cervix_46535.json | 0 .../figo_stage_corpus_adenosarcoma_24886.json | 0 ...us_carcinoma_and_carcinosarcoma_69186.json | 0 .../figo_stage_corpus_sarcoma_78807.json | 0 .../3.3/tables/figo_stage_placenta_73452.json | 0 .../3.3/tables/figo_stage_vagina_61098.json | 0 .../3.3/tables/figo_stage_vulva_69787.json | 0 .../tables/gestational_prog_index_28647.json | 0 .../gleason_pattern_clinical_75179.json | 0 .../gleason_patterns_pathological_833.json | 0 .../tables/gleason_score_clinical_67175.json | 0 .../gleason_score_pathological_82121.json | 0 .../tables/gleason_tertiary_pattern_6430.json | 0 .../3.3/tables/grade_clinical_18316.json | 0 .../3.3/tables/grade_clinical_18831.json | 0 .../3.3/tables/grade_clinical_19087.json | 0 .../3.3/tables/grade_clinical_19997.json | 0 .../3.3/tables/grade_clinical_21060.json | 0 .../3.3/tables/grade_clinical_22454.json | 0 .../3.3/tables/grade_clinical_24620.json | 0 .../3.3/tables/grade_clinical_25704.json | 0 .../3.3/tables/grade_clinical_26293.json | 0 .../3.3/tables/grade_clinical_26768.json | 0 .../3.3/tables/grade_clinical_2756.json | 0 .../3.3/tables/grade_clinical_29193.json | 0 .../3.3/tables/grade_clinical_36085.json | 0 .../3.3/tables/grade_clinical_41135.json | 0 .../3.3/tables/grade_clinical_46962.json | 0 .../3.3/tables/grade_clinical_54911.json | 0 .../3.3/tables/grade_clinical_62593.json | 0 .../3.3/tables/grade_clinical_6485.json | 0 .../3.3/tables/grade_clinical_64933.json | 0 .../3.3/tables/grade_clinical_69174.json | 0 .../3.3/tables/grade_clinical_73056.json | 0 .../3.3/tables/grade_clinical_73461.json | 0 .../3.3/tables/grade_clinical_78613.json | 0 .../3.3/tables/grade_clinical_83264.json | 0 .../3.3/tables/grade_clinical_8742.json | 0 .../3.3/tables/grade_clinical_88426.json | 0 .../3.3/tables/grade_clinical_91491.json | 0 .../3.3/tables/grade_clinical_91989.json | 0 .../tables/grade_clinical_standard_94331.json | 0 ...rade_clinical_standard_non_ajcc_32473.json | 0 .../3.3/tables/grade_clinical_v9_88505.json | 0 .../3.3/tables/grade_pathological_11803.json | 0 .../3.3/tables/grade_pathological_12915.json | 0 .../3.3/tables/grade_pathological_19141.json | 0 .../3.3/tables/grade_pathological_19694.json | 0 .../3.3/tables/grade_pathological_20069.json | 0 .../3.3/tables/grade_pathological_20722.json | 0 .../3.3/tables/grade_pathological_26086.json | 0 .../3.3/tables/grade_pathological_27152.json | 0 .../3.3/tables/grade_pathological_29069.json | 0 .../3.3/tables/grade_pathological_31963.json | 0 .../3.3/tables/grade_pathological_38051.json | 0 .../3.3/tables/grade_pathological_40052.json | 0 .../3.3/tables/grade_pathological_40399.json | 0 .../3.3/tables/grade_pathological_42127.json | 0 .../3.3/tables/grade_pathological_46618.json | 0 .../3.3/tables/grade_pathological_47031.json | 0 .../3.3/tables/grade_pathological_4783.json | 0 .../3.3/tables/grade_pathological_49403.json | 0 .../3.3/tables/grade_pathological_53280.json | 0 .../3.3/tables/grade_pathological_57271.json | 0 .../3.3/tables/grade_pathological_59340.json | 0 .../3.3/tables/grade_pathological_59975.json | 0 .../3.3/tables/grade_pathological_68805.json | 0 .../3.3/tables/grade_pathological_73388.json | 0 .../3.3/tables/grade_pathological_84704.json | 0 .../3.3/tables/grade_pathological_85185.json | 0 .../3.3/tables/grade_pathological_91031.json | 0 .../3.3/tables/grade_pathological_93273.json | 0 .../grade_pathological_standard_94268.json | 0 ...e_pathological_standard_non_ajcc_5627.json | 0 .../tables/grade_pathological_v9_76065.json | 0 .../tables/grade_post_therapy_clin_1647.json | 0 .../tables/grade_post_therapy_clin_18631.json | 0 .../tables/grade_post_therapy_clin_21162.json | 0 .../tables/grade_post_therapy_clin_23317.json | 0 .../tables/grade_post_therapy_clin_2503.json | 0 .../tables/grade_post_therapy_clin_2541.json | 0 .../tables/grade_post_therapy_clin_26948.json | 0 .../tables/grade_post_therapy_clin_26978.json | 0 .../tables/grade_post_therapy_clin_27082.json | 0 .../tables/grade_post_therapy_clin_30400.json | 0 .../tables/grade_post_therapy_clin_35900.json | 0 .../tables/grade_post_therapy_clin_41222.json | 0 .../tables/grade_post_therapy_clin_4232.json | 0 .../tables/grade_post_therapy_clin_43459.json | 0 .../tables/grade_post_therapy_clin_45036.json | 0 .../tables/grade_post_therapy_clin_53870.json | 0 .../tables/grade_post_therapy_clin_54917.json | 0 .../tables/grade_post_therapy_clin_60334.json | 0 .../tables/grade_post_therapy_clin_61658.json | 0 .../tables/grade_post_therapy_clin_68213.json | 0 .../tables/grade_post_therapy_clin_69737.json | 0 .../tables/grade_post_therapy_clin_72770.json | 0 .../tables/grade_post_therapy_clin_74830.json | 0 .../tables/grade_post_therapy_clin_76032.json | 0 .../tables/grade_post_therapy_clin_88214.json | 0 .../tables/grade_post_therapy_clin_93593.json | 0 .../tables/grade_post_therapy_clin_93998.json | 0 .../tables/grade_post_therapy_clin_95734.json | 0 .../tables/grade_post_therapy_clin_97989.json | 0 .../grade_post_therapy_clin_yc_31990.json | 0 .../grade_post_therapy_clin_yc_55565.json | 0 .../grade_post_therapy_clin_yc_v9_85438.json | 0 .../tables/grade_post_therapy_path_20786.json | 0 .../tables/grade_post_therapy_path_25809.json | 0 .../tables/grade_post_therapy_path_28874.json | 0 .../tables/grade_post_therapy_path_30693.json | 0 .../tables/grade_post_therapy_path_32110.json | 0 .../tables/grade_post_therapy_path_35393.json | 0 .../tables/grade_post_therapy_path_36935.json | 0 .../tables/grade_post_therapy_path_3704.json | 0 .../tables/grade_post_therapy_path_40048.json | 0 .../tables/grade_post_therapy_path_41285.json | 0 .../tables/grade_post_therapy_path_45323.json | 0 .../tables/grade_post_therapy_path_47044.json | 0 .../tables/grade_post_therapy_path_48765.json | 0 .../tables/grade_post_therapy_path_48957.json | 0 .../tables/grade_post_therapy_path_55848.json | 0 .../tables/grade_post_therapy_path_58350.json | 0 .../tables/grade_post_therapy_path_65729.json | 0 .../tables/grade_post_therapy_path_67342.json | 0 .../tables/grade_post_therapy_path_75348.json | 0 .../tables/grade_post_therapy_path_76876.json | 0 .../tables/grade_post_therapy_path_80308.json | 0 .../tables/grade_post_therapy_path_83202.json | 0 .../tables/grade_post_therapy_path_86055.json | 0 .../tables/grade_post_therapy_path_87571.json | 0 .../tables/grade_post_therapy_path_90448.json | 0 .../tables/grade_post_therapy_path_91649.json | 0 .../tables/grade_post_therapy_path_92197.json | 0 .../tables/grade_post_therapy_path_93034.json | 0 .../tables/grade_post_therapy_path_98398.json | 0 .../grade_post_therapy_path_yp_3519.json | 0 .../grade_post_therapy_path_yp_8036.json | 0 .../grade_post_therapy_path_yp_v9_717.json | 0 .../hcg_post_orchiectomy_lab_value_13834.json | 0 .../hcg_post_orchiectomy_range_92334.json | 0 .../hcg_pre_orchiectomy_lab_value_55584.json | 0 .../hcg_pre_orchiectomy_range_67679.json | 0 .../3.3/tables/her2_ihc_summary_57693.json | 0 .../3.3/tables/her2_ish_dp_copy_no_89821.json | 0 .../her2_ish_dual_probe_ration_4635.json | 0 .../3.3/tables/her2_ish_sp_copy_no_95955.json | 0 .../3.3/tables/her2_ish_summary_40783.json | 0 .../her2_overall_summary_copy_71435.json | 0 .../3.3/tables/her2_summary_30512.json | 0 .../3.3/tables/heritable_trait_49734.json | 0 .../tables/high_risk_cytogenetics_97806.json | 0 .../3.3/tables/high_risk_features_73750.json | 0 .../3.3/tables/histologic_subtype_8603.json | 0 .../eod_public/3.3/tables/histology.json | 0 ...tology_discriminator_for_8020_3_93311.json | 0 .../3.3/tables/hiv_status_12569.json | 0 .../algorithms/eod_public/3.3/tables/ids.txt | 0 .../3.3/tables/inr_prothrombin_time_6158.json | 0 .../tables/intern_prognostic_index_90310.json | 0 .../tables/invasion_beyond_capsule_4149.json | 0 ...teral_adrenal_gland_involvement_61538.json | 0 .../eod_public/3.3/tables/jak2_80148.json | 0 .../eod_public/3.3/tables/ki67_8355.json | 0 .../eod_public/3.3/tables/ki_67_67661.json | 0 .../kit_gene_immunohistochemistry_33220.json | 0 .../eod_public/3.3/tables/kras_79447.json | 0 .../lacrimal_gland_lacrimal_sac_63106.json | 0 .../3.3/tables/ldh_lab_value_85652.json | 0 .../3.3/tables/ldh_level_12428.json | 0 .../ldh_post_orchiectomy_range_38574.json | 0 .../ldh_pre_orchiectomy_range_42762.json | 0 .../tables/ldh_pretreatment_level_82697.json | 0 .../ldh_upper_limits_of_normal_34244.json | 0 ...essment_method_femoral_inguinal_48450.json | 0 ..._assessment_method_pelvic_vulva_10928.json | 0 .../eod_public/3.3/tables/ln_size_70140.json | 0 .../ln_status_femoral_inguinal_13374.json | 0 ..._status_femoral_inguinal_vagina_64638.json | 0 .../tables/ln_status_para_aortic_41020.json | 0 .../3.3/tables/ln_status_pelvic_31753.json | 0 .../3.3/tables/ln_status_pelvic_93438.json | 0 .../tables/lymph_node_laterality_65685.json | 0 ...nodes_assessment_method_femoral_46948.json | 0 ...s_assessment_method_para_aortic_56026.json | 0 ..._nodes_assessment_method_pelvic_33476.json | 0 ...nodes_distant_assessment_method_24499.json | 0 ...des_distant_mediastinal_scalene_90567.json | 0 ...odes_head_and_neck_levels_i_iii_19222.json | 0 ...nodes_head_and_neck_levels_iv_v_55093.json | 0 ...des_head_and_neck_levels_vi_vii_32325.json | 0 ...lymph_nodes_head_and_neck_other_31141.json | 0 ...ymph_nodes_isolated_tumor_cells_67876.json | 0 .../3.3/tables/lymphocytosis_79150.json | 0 .../tables/major_vein_involvement_87947.json | 0 .../tables/measured_basal_diameter_70699.json | 0 .../3.3/tables/measured_thickness_84907.json | 0 ...noma_ciliary_body_melanoma_iris_79773.json | 0 .../eod_public/3.3/tables/mets_hab.json | 0 .../eod_public/3.3/tables/mets_hac.json | 0 .../eod_public/3.3/tables/mets_had.json | 0 .../eod_public/3.3/tables/mets_hae.json | 0 .../eod_public/3.3/tables/mets_haf.json | 0 .../eod_public/3.3/tables/mets_hah.json | 0 .../eod_public/3.3/tables/mets_haj.json | 0 .../eod_public/3.3/tables/mets_hak.json | 0 .../eod_public/3.3/tables/mets_hal.json | 0 .../eod_public/3.3/tables/mets_han.json | 0 .../eod_public/3.3/tables/mets_har.json | 0 .../eod_public/3.3/tables/mets_hat.json | 0 .../eod_public/3.3/tables/mets_hau.json | 0 .../eod_public/3.3/tables/mets_hav.json | 0 .../eod_public/3.3/tables/mets_haw.json | 0 .../eod_public/3.3/tables/mets_haz.json | 0 .../eod_public/3.3/tables/mets_hba.json | 0 .../eod_public/3.3/tables/mets_hbb.json | 0 .../eod_public/3.3/tables/mets_hbe.json | 0 .../eod_public/3.3/tables/mets_hbg.json | 0 .../eod_public/3.3/tables/mets_hbo.json | 0 .../eod_public/3.3/tables/mets_hbv.json | 0 .../eod_public/3.3/tables/mets_hbx.json | 0 .../eod_public/3.3/tables/mets_hbz.json | 0 .../eod_public/3.3/tables/mets_hcf.json | 0 .../eod_public/3.3/tables/mets_hcg.json | 0 .../eod_public/3.3/tables/mets_hch.json | 0 .../eod_public/3.3/tables/mets_hci.json | 0 .../eod_public/3.3/tables/mets_hck.json | 0 .../eod_public/3.3/tables/mets_hcp.json | 0 .../eod_public/3.3/tables/mets_hcq.json | 0 .../eod_public/3.3/tables/mets_hcr.json | 0 .../eod_public/3.3/tables/mets_hcu.json | 0 .../eod_public/3.3/tables/mets_hcv.json | 0 .../eod_public/3.3/tables/mets_hna.json | 0 .../eod_public/3.3/tables/mets_hph.json | 0 .../eod_public/3.3/tables/mgmt_17454.json | 0 .../microsatellite_instability_35598.json | 0 .../microsatellite_instability_7008.json | 0 .../tables/microvascular_density_70589.json | 0 .../mitotic_count_uveal_melanoma_26990.json | 0 .../tables/mitotic_rate_melanoma_88184.json | 0 .../multigene_signature_method_85043.json | 0 .../multigene_signature_result_37000.json | 0 .../multiple_myeloma_terminology_20875.json | 0 .../nasopharynx_pharyngealtonsil_84756.json | 0 .../neoadj_tx_clinical_response_31723.json | 0 .../neoadj_tx_treatment_effect_18122.json | 0 .../neoadj_tx_treatment_effect_23019.json | 0 .../neoadj_tx_treatment_effect_34708.json | 0 .../neoadj_tx_treatment_effect_4391.json | 0 .../neoadj_tx_treatment_effect_52725.json | 0 .../neoadj_tx_treatment_effect_61650.json | 0 .../neoadj_tx_treatment_effect_90678.json | 0 .../3.3/tables/neoadjuvant_therapy_37302.json | 0 .../eod_public/3.3/tables/nodes_daa.json | 0 .../eod_public/3.3/tables/nodes_dab.json | 0 .../eod_public/3.3/tables/nodes_dai.json | 0 .../eod_public/3.3/tables/nodes_daj.json | 0 .../eod_public/3.3/tables/nodes_dak.json | 0 .../eod_public/3.3/tables/nodes_dam.json | 0 .../eod_public/3.3/tables/nodes_dan.json | 0 .../eod_public/3.3/tables/nodes_daq.json | 0 .../eod_public/3.3/tables/nodes_dat.json | 0 .../eod_public/3.3/tables/nodes_dau.json | 0 .../eod_public/3.3/tables/nodes_dav.json | 0 .../eod_public/3.3/tables/nodes_daw.json | 0 .../eod_public/3.3/tables/nodes_day.json | 0 .../eod_public/3.3/tables/nodes_dba.json | 0 .../eod_public/3.3/tables/nodes_dbb.json | 0 .../eod_public/3.3/tables/nodes_dbc.json | 0 .../eod_public/3.3/tables/nodes_dbd.json | 0 .../eod_public/3.3/tables/nodes_dbe.json | 0 .../eod_public/3.3/tables/nodes_dbf.json | 0 .../eod_public/3.3/tables/nodes_dbg.json | 0 .../eod_public/3.3/tables/nodes_dbh.json | 0 .../eod_public/3.3/tables/nodes_dbi.json | 0 .../eod_public/3.3/tables/nodes_dbj.json | 0 .../eod_public/3.3/tables/nodes_dbo.json | 0 .../eod_public/3.3/tables/nodes_dbq.json | 0 .../eod_public/3.3/tables/nodes_dbu.json | 0 .../eod_public/3.3/tables/nodes_dbv.json | 0 .../eod_public/3.3/tables/nodes_dbw.json | 0 .../eod_public/3.3/tables/nodes_dbx.json | 0 .../eod_public/3.3/tables/nodes_dby.json | 0 .../eod_public/3.3/tables/nodes_dca.json | 0 .../eod_public/3.3/tables/nodes_dcb.json | 0 .../eod_public/3.3/tables/nodes_dcc.json | 0 .../eod_public/3.3/tables/nodes_dcd.json | 0 .../eod_public/3.3/tables/nodes_dce.json | 0 .../eod_public/3.3/tables/nodes_dck.json | 0 .../eod_public/3.3/tables/nodes_dcl.json | 0 .../eod_public/3.3/tables/nodes_dcn.json | 0 .../eod_public/3.3/tables/nodes_dcu.json | 0 .../eod_public/3.3/tables/nodes_dcz.json | 0 .../eod_public/3.3/tables/nodes_dde.json | 0 .../eod_public/3.3/tables/nodes_ddf.json | 0 .../eod_public/3.3/tables/nodes_ddj.json | 0 .../eod_public/3.3/tables/nodes_ddn.json | 0 .../eod_public/3.3/tables/nodes_ddp.json | 0 .../eod_public/3.3/tables/nodes_dew.json | 0 .../eod_public/3.3/tables/nodes_dfc.json | 0 .../eod_public/3.3/tables/nodes_dfd.json | 0 .../eod_public/3.3/tables/nodes_dfe.json | 0 .../eod_public/3.3/tables/nodes_dfg.json | 0 .../eod_public/3.3/tables/nodes_dfh.json | 0 .../eod_public/3.3/tables/nodes_dfl.json | 0 .../eod_public/3.3/tables/nodes_dfm.json | 0 .../eod_public/3.3/tables/nodes_dfn.json | 0 .../eod_public/3.3/tables/nodes_dfo.json | 0 .../eod_public/3.3/tables/nodes_dfq.json | 0 .../eod_public/3.3/tables/nodes_dfr.json | 0 .../eod_public/3.3/tables/nodes_dna.json | 0 .../3.3/tables/nodes_exam_17543.json | 0 .../3.3/tables/nodes_exam_76029.json | 0 .../3.3/tables/nodes_exam_dna_95635.json | 0 .../eod_public/3.3/tables/nodes_pos_2999.json | 0 .../3.3/tables/nodes_pos_dna_91511.json | 0 .../eod_public/3.3/tables/nodes_pos_fab.json | 0 .../eod_public/3.3/tables/nodes_pos_fah.json | 0 .../eod_public/3.3/tables/nodes_pos_fpa.json | 0 .../nras_mutational_analysis_16621.json | 0 .../number_of_cores_examined_64985.json | 0 .../number_of_cores_positive_87819.json | 0 ...r_of_examined_para_aortic_nodes_38078.json | 0 ...number_of_examined_pelvic_nodes_60771.json | 0 ...level_i_ii_axillary_lymph_nodes_79439.json | 0 ...r_of_positive_para_aortic_nodes_62533.json | 0 .../number_of_postive_pelvic_nodes_94512.json | 0 ...ccult_head_and_neck_lymph_nodes_10277.json | 0 .../tables/oncotype_dx_recur_score_73667.json | 0 ...cotype_dx_recurrence_score_dcis_70549.json | 0 .../tables/oncotype_dx_risk_level_11033.json | 0 .../oncotype_dx_risk_level_dcis_53080.json | 0 .../3.3/tables/organomegaly_16131.json | 0 .../3.3/tables/oropharyngeal_p16_44685.json | 0 .../eod_public/3.3/tables/p16_19452.json | 0 .../eod_public/3.3/tables/p16_831.json | 0 .../eod_public/3.3/tables/p16_anus_2709.json | 0 ...illoma_virus_status_head_and_neck_509.json | 0 .../eod_public/3.3/tables/pd_l1_61573.json | 0 .../3.3/tables/perineural_invasion_24604.json | 0 .../3.3/tables/perineural_invasion_27557.json | 0 .../3.3/tables/perineural_invasion_84622.json | 0 .../tables/peripheral_blood_involv_92357.json | 0 .../3.3/tables/peritoneal_cytology_38674.json | 0 ...with_primary_tumor_for_ss2018_t_19664.json | 0 ...with_primary_tumor_for_ss2018_t_66387.json | 0 ...with_primary_tumor_for_ss2018_t_88427.json | 0 .../3.3/tables/pleural_effusion_40041.json | 0 ...t_neoadj_chemo_percent_necrosis_15912.json | 0 .../3.3/tables/pr_allred_score_83938.json | 0 .../3.3/tables/pr_percent_positive_94563.json | 0 .../3.3/tables/pr_summary_49534.json | 0 .../primary_peritoneum_tumor_19475.json | 0 .../primary_scleros_cholangitis_86402.json | 0 .../eod_public/3.3/tables/primary_site.json | 0 .../profound_immune_suppression_68178.json | 0 .../eod_public/3.3/tables/psa_46258.json | 0 .../eod_public/3.3/tables/ptld_17694.json | 0 .../3.3/tables/radiation_surg_seq.json | 0 .../eod_public/3.3/tables/rcb_class_750.json | 0 .../tables/residual_cancer_burden_62520.json | 0 ...tumor_volume_post_cytoreduction_90653.json | 0 ...response_to_neoadjuvant_therapy_57695.json | 0 .../3.3/tables/s_category_clinical_19191.json | 0 .../tables/s_category_pathologic_34448.json | 0 .../tables/sarcomatoid_features_99558.json | 0 .../tables/schema_discriminator_1_63995.json | 0 .../tables/schema_discriminator_2_15990.json | 0 ...schema_selection_adnexa_uterine_other.json | 0 .../schema_selection_adrenal_gland.json | 0 .../schema_selection_ampulla_vater.json | 0 .../3.3/tables/schema_selection_anus.json | 0 .../tables/schema_selection_anus_v9_2023.json | 0 .../3.3/tables/schema_selection_appendix.json | 0 .../schema_selection_appendix_v9_2023.json | 0 .../schema_selection_bile_ducts_distal.json | 0 ...chema_selection_bile_ducts_intrahepat.json | 0 ...schema_selection_bile_ducts_perihilar.json | 0 .../schema_selection_biliary_other.json | 0 .../3.3/tables/schema_selection_bladder.json | 0 .../3.3/tables/schema_selection_bone.json | 0 ..._selection_bone_appendicular_skeleton.json | 0 .../tables/schema_selection_bone_spine.json | 0 .../3.3/tables/schema_selection_brain.json | 0 .../schema_selection_brain_v9_2023.json | 0 .../3.3/tables/schema_selection_breast.json | 0 .../schema_selection_buccal_mucosa.json | 0 .../schema_selection_carcinoid_appendix.json | 0 ...ical_lymph_nodes_occult_head_and_neck.json | 0 .../3.3/tables/schema_selection_cervix.json | 0 .../schema_selection_cervix_9th_2021.json | 0 .../schema_selection_cervix_sarcoma.json | 0 ...ia_small_lymphocytic_lymphoma_cll_sll.json | 0 .../tables/schema_selection_cns_other.json | 0 .../schema_selection_cns_other_v9_2023.json | 0 .../3.3/tables/schema_selection_colon.json | 0 .../tables/schema_selection_conjunctiva.json | 0 .../schema_selection_corpus_adenosarcoma.json | 0 .../schema_selection_corpus_carcinoma.json | 0 .../schema_selection_corpus_sarcoma.json | 0 ...squamous_cell_carcinoma_head_and_neck.json | 0 .../tables/schema_selection_cystic_duct.json | 0 .../schema_selection_digestive_other.json | 0 .../schema_selection_endocrine_other.json | 0 ...schema_selection_esophagus_gejunction.json | 0 ...phagus_including_ge_junction_squamous.json | 0 .../tables/schema_selection_eye_other.json | 0 .../schema_selection_fallopian_tube.json | 0 .../tables/schema_selection_floor_mouth.json | 0 .../tables/schema_selection_gallbladder.json | 0 ...schema_selection_genital_female_other.json | 0 .../schema_selection_genital_male_other.json | 0 .../schema_selection_gist_appendix.json | 0 .../tables/schema_selection_gum_lower.json | 0 .../schema_selection_heart_mediastinum.json | 0 .../tables/schema_selection_heme_retic.json | 0 .../tables/schema_selection_hypopharynx.json | 0 .../schema_selection_ill_defined_other.json | 0 .../schema_selection_intracranial_gland.json | 0 ..._selection_intracranial_gland_v9_2023.json | 0 .../schema_selection_kaposi_sarcoma.json | 0 .../schema_selection_kidney_parenchyma.json | 0 .../schema_selection_kidney_renal_pelvis.json | 0 .../schema_selection_lacrimal_gland.json | 0 .../tables/schema_selection_lacrimal_sac.json | 0 .../schema_selection_larynx_glottic.json | 0 .../tables/schema_selection_larynx_other.json | 0 .../schema_selection_larynx_subglottic.json | 0 .../schema_selection_larynx_supraglottic.json | 0 .../tables/schema_selection_lip_lower.json | 0 .../3.3/tables/schema_selection_liver.json | 0 .../3.3/tables/schema_selection_lung.json | 0 .../tables/schema_selection_lung_v9_2025.json | 0 .../3.3/tables/schema_selection_lymphoma.json | 0 ...hema_selection_lymphoma_ocular_adnexa.json | 0 ...lection_major_salivary_glands_v9_2026.json | 0 ...ema_selection_medulloblastoma_v9_2023.json | 0 ...hema_selection_melanoma_buccal_mucosa.json | 0 ...chema_selection_melanoma_ciliary_body.json | 0 ...schema_selection_melanoma_conjunctiva.json | 0 .../schema_selection_melanoma_iris.json | 0 .../schema_selection_melanoma_skin.json | 0 .../schema_selection_merkel_cell_skin.json | 0 .../tables/schema_selection_middle_ear.json | 0 .../tables/schema_selection_mouth_other.json | 0 .../schema_selection_mycosis_fungoides.json | 0 ...election_myeloma_plasma_cell_disorder.json | 0 .../tables/schema_selection_nasal_cavity.json | 0 .../tables/schema_selection_nasopharynx.json | 0 .../schema_selection_nasopharynx_v9_2025.json | 0 .../schema_selection_net_adrenal_gland.json | 0 .../tables/schema_selection_net_ampulla.json | 0 ...election_net_ampulla_of_vater_v9_2024.json | 0 ...schema_selection_net_appendix_v9_2024.json | 0 .../tables/schema_selection_net_colon.json | 0 ...election_net_colon_and_rectum_v9_2024.json | 0 .../tables/schema_selection_net_duodenum.json | 0 ...schema_selection_net_duodenum_v9_2024.json | 0 ...lection_net_jejunum_and_ileum_v9_2024.json | 0 .../tables/schema_selection_net_pancreas.json | 0 ...schema_selection_net_pancreas_v9_2024.json | 0 .../schema_selection_net_small_intestine.json | 0 .../tables/schema_selection_net_stomach.json | 0 .../schema_selection_net_stomach_v9_2024.json | 0 .../3.3/tables/schema_selection_orbit.json | 0 .../tables/schema_selection_oropharynx.json | 0 ...ion_oropharynx_hpv_associated_v9_2026.json | 0 .../3.3/tables/schema_selection_ovary.json | 0 .../tables/schema_selection_palate_hard.json | 0 .../schema_selection_pancreas_body_tail.json | 0 .../tables/schema_selection_parathyroid.json | 0 .../schema_selection_parotid_gland.json | 0 .../3.3/tables/schema_selection_penis.json | 0 .../tables/schema_selection_peritoneum.json | 0 .../schema_selection_pharynx_other.json | 0 .../3.3/tables/schema_selection_placenta.json | 0 .../schema_selection_plasmacytomas.json | 0 .../3.3/tables/schema_selection_pleura.json | 0 ...election_pleural_mesothelioma_v9_2025.json | 0 ..._primary_cutaneous_lymphoma_non_mf_ss.json | 0 ...election_primary_peritoneal_carcinoma.json | 0 .../3.3/tables/schema_selection_prostate.json | 0 .../schema_selection_respiratory_other.json | 0 .../schema_selection_retinoblastoma.json | 0 .../schema_selection_retroperitoneum.json | 0 .../schema_selection_sinus_maxillary.json | 0 .../tables/schema_selection_sinus_other.json | 0 .../tables/schema_selection_skin_eyelid.json | 0 .../tables/schema_selection_skin_other.json | 0 .../schema_selection_small_intestine.json | 0 ...ion_soft_tissue_heart_and_mediastinum.json | 0 .../schema_selection_soft_tissue_rare.json | 0 ...ion_soft_tissue_sarcoma_head_and_neck.json | 0 ...ion_soft_tissue_trunk_and_extremities.json | 0 .../3.3/tables/schema_selection_stomach.json | 0 .../3.3/tables/schema_selection_testis.json | 0 .../3.3/tables/schema_selection_thymus.json | 0 .../schema_selection_thymus_v9_2025.json | 0 .../3.3/tables/schema_selection_thyroid.json | 0 .../schema_selection_thyroid_medullary.json | 0 .../schema_selection_tongue_anterior.json | 0 .../tables/schema_selection_tongue_base.json | 0 .../3.3/tables/schema_selection_trachea.json | 0 .../3.3/tables/schema_selection_urethra.json | 0 .../schema_selection_urethra_prostatic.json | 0 .../schema_selection_urinary_other.json | 0 .../3.3/tables/schema_selection_vagina.json | 0 .../3.3/tables/schema_selection_vulva.json | 0 .../schema_selection_vulva_v9_2024.json | 0 .../3.3/tables/seer_mets_21628.json | 0 .../3.3/tables/seer_mets_32413.json | 0 .../eod_public/3.3/tables/seer_mets_4721.json | 0 .../3.3/tables/seer_mets_48348.json | 0 .../3.3/tables/seer_mets_57075.json | 0 .../3.3/tables/seer_mets_61487.json | 0 .../3.3/tables/seer_mets_66514.json | 0 .../3.3/tables/seer_mets_79245.json | 0 .../3.3/tables/seer_mets_84419.json | 0 .../3.3/tables/seer_mets_90003.json | 0 .../3.3/tables/seer_mets_90643.json | 0 .../3.3/tables/seer_mets_lip_lower_28596.json | 0 .../seer_mets_melanomachoroid_55264.json | 0 .../tables/seer_mets_nasopharynx_46629.json | 0 .../seer_mets_sinus_othervs2_15755.json | 0 .../3.3/tables/seer_primary_tumor_25824.json | 0 .../3.3/tables/seer_primary_tumor_31838.json | 0 .../3.3/tables/seer_primary_tumor_36538.json | 0 .../3.3/tables/seer_primary_tumor_38025.json | 0 .../3.3/tables/seer_primary_tumor_42176.json | 0 .../3.3/tables/seer_primary_tumor_42751.json | 0 .../3.3/tables/seer_primary_tumor_43302.json | 0 .../3.3/tables/seer_primary_tumor_44962.json | 0 .../3.3/tables/seer_primary_tumor_52444.json | 0 .../3.3/tables/seer_primary_tumor_53926.json | 0 .../3.3/tables/seer_primary_tumor_59317.json | 0 .../3.3/tables/seer_primary_tumor_60433.json | 0 .../3.3/tables/seer_primary_tumor_6275.json | 0 .../3.3/tables/seer_primary_tumor_68925.json | 0 .../3.3/tables/seer_primary_tumor_72151.json | 0 .../3.3/tables/seer_primary_tumor_88917.json | 0 .../3.3/tables/seer_primary_tumor_9084.json | 0 .../3.3/tables/seer_primary_tumor_94875.json | 0 .../3.3/tables/seer_primary_tumor_95193.json | 0 .../3.3/tables/seer_primary_tumor_96082.json | 0 .../seer_primary_tumor_eyeother_64077.json | 0 ...rimary_tumor_head_neck_melanoma_38698.json | 0 .../3.3/tables/seer_regional_nodes_17757.json | 0 .../3.3/tables/seer_regional_nodes_19661.json | 0 .../3.3/tables/seer_regional_nodes_27397.json | 0 .../3.3/tables/seer_regional_nodes_36710.json | 0 .../3.3/tables/seer_regional_nodes_67072.json | 0 .../3.3/tables/seer_regional_nodes_69051.json | 0 .../3.3/tables/seer_regional_nodes_69974.json | 0 .../3.3/tables/seer_regional_nodes_83435.json | 0 .../3.3/tables/seer_regional_nodes_91716.json | 0 .../3.3/tables/seer_regional_nodes_93152.json | 0 .../seer_regional_nodes_copy_24179.json | 0 .../seer_regional_nodes_eyeother_16963.json | 0 ...eer_regional_nodes_lacrimal_sac_33881.json | 0 .../3.3/tables/sentinel_nodes_exam_7235.json | 0 .../3.3/tables/sentinel_nodes_pos_95909.json | 0 .../tables/separate_tumor_nodules_69006.json | 0 .../tables/serum_alb_pretx_level_58159.json | 0 .../tables/sex_assigned_at_birth_63290.json | 0 .../spread_through_air_spaces_stas_67834.json | 0 .../eod_public/3.3/tables/ss2018_44993.json | 0 ...018_adnexa_uterine_other_values_44976.json | 0 ...nal_gland_including_net_adrenal_70096.json | 0 ..._ampulla_of_vater_including_net_96311.json | 0 .../3.3/tables/ss2018_anus_55561.json | 0 .../ss2018_appendix_including_netl_54459.json | 0 .../3.3/tables/ss2018_bladder_57733.json | 0 .../3.3/tables/ss2018_brain_67865.json | 0 .../3.3/tables/ss2018_breast_69079.json | 0 .../tables/ss2018_buccal_mucosa_94903.json | 0 ..._nodes_and_unknown_primary_tumor_8991.json | 0 .../3.3/tables/ss2018_cervix_64954.json | 0 .../3.3/tables/ss2018_cns_other_67712.json | 0 ..._colon_and_rectum_including_net_40538.json | 0 .../3.3/tables/ss2018_conjunctiva_16779.json | 0 ...us_carcinoma_and_carcinosarcoma_28794.json | 0 .../tables/ss2018_corpus_sarcoma_75896.json | 0 .../tables/ss2018_digestive_other_9136.json | 0 .../tables/ss2018_endocrine_other_54817.json | 0 ...ss2018_esophagus_excluding_gist_57104.json | 0 .../ss2018_extrahepatic_bile_ducts_65728.json | 0 .../3.3/tables/ss2018_eye_other_36531.json | 0 .../tables/ss2018_fallopian_tube_83058.json | 0 .../3.3/tables/ss2018_floor_mouth_83713.json | 0 .../tables/ss2018_floor_of_mouth_27181.json | 0 .../3.3/tables/ss2018_gallbladder_15174.json | 0 .../ss2018_genital_female_other_5962.json | 0 .../ss2018_genital_male_other_44390.json | 0 .../3.3/tables/ss2018_gist_23534.json | 0 .../3.3/tables/ss2018_gum_75440.json | 0 .../3.3/tables/ss2018_hemeretic_3793.json | 0 ...cluding_melanoma_8720_8790_copy_30010.json | 0 .../3.3/tables/ss2018_ill_defined_18664.json | 0 .../ss2018_intracranial_gland_98794.json | 0 .../ss2018_intrahepatic_bile_ducts_51957.json | 0 .../tables/ss2018_kaposi_sarcoma_17563.json | 0 .../ss2018_kidney_renal_parenchyma_30980.json | 0 .../ss2018_kidney_renal_pelvis_29650.json | 0 .../tables/ss2018_lacrimal_gland_82062.json | 0 ...tic_excluding_melanoma_8720_8790_2238.json | 0 ...er_excluding_melanoma_8720_8790_40558.json | 0 ...ic_excluding_melanoma_8720_8790_93242.json | 0 ...ic_excluding_melanoma_8720_8790_91429.json | 0 .../3.3/tables/ss2018_lip_92534.json | 0 .../3.3/tables/ss2018_liver_84469.json | 0 .../3.3/tables/ss2018_lung_41334.json | 0 .../3.3/tables/ss2018_lymphoma_27031.json | 0 .../ss2018_lymphoma_ocular_adnexa_3583.json | 0 .../ss2018_major_salivary_glands_43893.json | 0 .../tables/ss2018_medulloblastoma_22906.json | 0 ...anoma_choroid_ciliary_body_iris_21929.json | 0 .../ss2018_melanoma_conjunctiva_86342.json | 0 ...elanoma_head_and_neck_8720_8790_46168.json | 0 .../tables/ss2018_melanoma_skin_64985.json | 0 .../ss2018_merkel_cell_carcinoma_89481.json | 0 .../3.3/tables/ss2018_middle_ear_16857.json | 0 .../3.3/tables/ss2018_mouth_other_31159.json | 0 .../ss2018_mycosis_fungoides_94448.json | 0 ...us_excluding_melanoma_8720_8790_21699.json | 0 ...cluding_melanoma_8720_8790_copy_99106.json | 0 .../3.3/tables/ss2018_orbit_27202.json | 0 ...ynx_excluding_melanoma_8720_8790_9999.json | 0 ...n_tube_and_peritoneal_carcinoma_21678.json | 0 .../3.3/tables/ss2018_palate_hard_86267.json | 0 .../3.3/tables/ss2018_pancreas_95507.json | 0 .../3.3/tables/ss2018_parathyroid_99309.json | 0 .../3.3/tables/ss2018_penis_97065.json | 0 ...nos_excluding_melanoma_8720_8790_3303.json | 0 .../3.3/tables/ss2018_placenta_66365.json | 0 .../3.3/tables/ss2018_pleura_60930.json | 0 ...2018_primary_cutaneous_lymphomas_4605.json | 0 .../3.3/tables/ss2018_prostate_76172.json | 0 .../ss2018_respiratory_other_36695.json | 0 .../tables/ss2018_retinoblastoma_45411.json | 0 ...er_excluding_melanoma_8720_8790_91859.json | 0 .../tables/ss2018_skin_of_eyelid_82925.json | 0 .../3.3/tables/ss2018_skin_other_56341.json | 0 ...8_small_intestine_including_net_85335.json | 0 .../3.3/tables/ss2018_soft_tissue_31311.json | 0 ...tissue_heart_mediastinum_pleura_63956.json | 0 ...2018_soft_tissue_retroperitoneum_5644.json | 0 ...8_stomach_including_net_stomach_35647.json | 0 .../3.3/tables/ss2018_testis_82848.json | 0 .../3.3/tables/ss2018_thymus_60066.json | 0 .../3.3/tables/ss2018_thyroid_33058.json | 0 .../tables/ss2018_tongue_anterior_66978.json | 0 .../3.3/tables/ss2018_trachea_70961.json | 0 .../3.3/tables/ss2018_urethra_14363.json | 0 .../tables/ss2018_urinary_other_87865.json | 0 .../3.3/tables/ss2018_vagina_94653.json | 0 .../3.3/tables/ss2018_validation.json | 0 .../3.3/tables/ss2018_vulva_49198.json | 0 .../3.3/tables/summary_stage_benign_3306.json | 0 .../tables/summary_stage_lymphoma_25139.json | 0 .../3.3/tables/summary_stage_raa.json | 0 .../3.3/tables/summary_stage_rac.json | 0 .../3.3/tables/summary_stage_rpa.json | 0 .../3.3/tables/systemic_surg_seq.json | 0 .../tables/systemic_symptoms_at_dx_60639.json | 0 .../3.3/tables/thrombocytopenia_8479.json | 0 ...thyroid_gland_thyroglossal_duct_21498.json | 0 .../3.3/tables/tumor_deposits_40070.json | 0 .../tables/tumor_growth_pattern_31889.json | 0 .../3.3/tables/tumor_size_clinical_48894.json | 0 .../3.3/tables/tumor_size_clinical_60979.json | 0 .../tumor_size_clinical_breast_34385.json | 0 .../tables/tumor_size_clinical_dna_64119.json | 0 .../tumor_size_clinical_full_19656.json | 0 .../tumor_size_clinical_full_74867.json | 0 .../tables/tumor_size_pathological_25597.json | 0 .../tables/tumor_size_pathological_43328.json | 0 .../tumor_size_pathological_breast_85445.json | 0 .../tumor_size_pathological_dna_6742.json | 0 .../tumor_size_pathological_full_62176.json | 0 .../tumor_size_pathological_full_93442.json | 0 .../3.3/tables/tumor_size_summary_47973.json | 0 .../3.3/tables/tumor_size_summary_63115.json | 0 .../tumor_size_summary_breast_14624.json | 0 .../tables/tumor_size_summary_dna_13275.json | 0 .../tables/tumor_size_summary_full_15510.json | 0 .../tables/tumor_size_summary_full_31213.json | 0 .../type_of_reporting_source_76696.json | 0 .../3.3/tables/ulceration_5718.json | 0 .../urethra_prostatic_urethra_30106.json | 0 .../visceral_pleural_invasion_25940.json | 0 .../3.3/tables/year_dx_validation.json | 0 .../pediatric/1.3/glossary/terms.txt | 0 .../schemas/acute_lymphoblastic_leukemia.json | 0 .../schemas/adult_other_non_pediatric.json | 0 .../pediatric/1.3/schemas/astrocytoma.json | 0 .../pediatric/1.3/schemas/ependymoma.json | 0 .../pediatric/1.3/schemas/hepatoblastoma.json | 0 .../1.3/schemas/hodgkin_lymphoma.json | 0 .../algorithms/pediatric/1.3/schemas/ids.txt | 0 ...malignant_bone_tumors_chondrosarcomas.json | 0 .../schemas/malignant_bone_tumors_ewing.json | 0 .../malignant_bone_tumors_osteosarcoma.json | 0 ...malignant_bone_tumors_other_specified.json | 0 .../malignant_bone_tumors_unspecified.json | 0 .../1.3/schemas/medulloblastoma.json | 0 ...loblastoma_atypical_teratoid_rhabdoid.json | 0 .../medulloblastoma_medulloepithelioma.json | 0 .../medulloblastoma_pineoblastoma.json | 0 .../1.3/schemas/medulloblastoma_pnet.json | 0 .../pediatric/1.3/schemas/neuroblastoma.json | 0 .../1.3/schemas/nhl_burkitt_lymphoma.json | 0 .../schemas/nhl_mature_b_cell_lymphomas.json | 0 .../pediatric/1.3/schemas/nhl_nos.json | 0 .../nhl_t_cell_and_nk_cell_lymphomas.json | 0 .../non_rhabdomyosarcoma_fibrosarcomas.json | 0 .../non_rhabdomyosarcoma_other_specified.json | 0 .../non_rhabdomyosarcoma_unspecified.json | 0 .../pediatric/1.3/schemas/ovarian.json | 0 .../renal_tumors_ewing_sarcoma_of_kidney.json | 0 .../schemas/renal_tumors_kidney_sarcomas.json | 0 .../schemas/renal_tumors_nephroblastoma.json | 0 .../renal_tumors_rhabdoid_renal_tumor.json | 0 ...rs_unspecified_malignant_renal_tumors.json | 0 .../pediatric/1.3/schemas/retinoblastoma.json | 0 .../1.3/schemas/rhabdomyosarcoma.json | 0 .../pediatric/1.3/schemas/testicular.json | 0 .../age_at_diagnosis_validation_3881.json | 0 .../1.3/tables/b_symptoms_95631.json | 0 .../pediatric/1.3/tables/behavior.json | 0 .../braf_mutational_analysis_15216.json | 0 .../tables/chromosome_16q_status_46566.json | 0 .../tables/chromosome_1p_status_97190.json | 0 .../tables/chromosome_1q_status_14467.json | 0 .../1.3/tables/combined_s_category_15139.json | 0 .../tables/conversion_to_pediatric_mets.json | 0 ...conversion_to_pediatric_primary_tumor.json | 0 ...onversion_to_pediatric_regional_nodes.json | 0 .../tables/derived_summary_grade_47984.json | 0 .../1.3/tables/ewsr1_fli1_fusion_57187.json | 0 .../foxo1_gene_rearrangements_72870.json | 0 .../pediatric/1.3/tables/histology.json | 0 .../algorithms/pediatric/1.3/tables/ids.txt | 0 .../pediatric/1.3/tables/inpc_21708.json | 0 ...neuroblastoma_risk_grp_stag_sys_18504.json | 0 .../tables/irss_stage_for_eye_2_95484.json | 0 .../1.3/tables/n_myc_amplification_57417.json | 0 .../pediatric/1.3/tables/nodes_pos_fpa.json | 0 .../1.3/tables/pediatric_grade_46495.json | 0 .../1.3/tables/pediatric_m_36063.json | 0 .../1.3/tables/pediatric_m_79386.json | 0 .../1.3/tables/pediatric_m_97287.json | 0 .../1.3/tables/pediatric_mets_12638.json | 0 .../1.3/tables/pediatric_mets_19048.json | 0 .../1.3/tables/pediatric_mets_20116.json | 0 .../1.3/tables/pediatric_mets_26722.json | 0 .../1.3/tables/pediatric_mets_40773.json | 0 .../1.3/tables/pediatric_mets_43643.json | 0 .../1.3/tables/pediatric_mets_53483.json | 0 .../1.3/tables/pediatric_mets_61257.json | 0 .../1.3/tables/pediatric_mets_63579.json | 0 .../1.3/tables/pediatric_mets_64617.json | 0 .../1.3/tables/pediatric_mets_72113.json | 0 .../1.3/tables/pediatric_mets_75175.json | 0 .../1.3/tables/pediatric_mets_93634.json | 0 .../1.3/tables/pediatric_mets_na_36656.json | 0 .../1.3/tables/pediatric_n_19406.json | 0 .../1.3/tables/pediatric_n_21296.json | 0 .../1.3/tables/pediatric_n_84898.json | 0 .../tables/pediatric_primary_tumor_1156.json | 0 .../tables/pediatric_primary_tumor_14026.json | 0 .../tables/pediatric_primary_tumor_1604.json | 0 .../tables/pediatric_primary_tumor_20791.json | 0 .../tables/pediatric_primary_tumor_21887.json | 0 .../tables/pediatric_primary_tumor_25859.json | 0 .../tables/pediatric_primary_tumor_36616.json | 0 .../tables/pediatric_primary_tumor_39067.json | 0 .../tables/pediatric_primary_tumor_47758.json | 0 .../tables/pediatric_primary_tumor_48137.json | 0 .../tables/pediatric_primary_tumor_57637.json | 0 .../tables/pediatric_primary_tumor_73431.json | 0 .../tables/pediatric_primary_tumor_7436.json | 0 .../tables/pediatric_primary_tumor_84083.json | 0 .../tables/pediatric_primary_tumor_92453.json | 0 .../pediatric_primary_tumor_na_1293.json | 0 .../pediatric_regional_nodes_20397.json | 0 .../pediatric_regional_nodes_24935.json | 0 .../pediatric_regional_nodes_26974.json | 0 .../pediatric_regional_nodes_30482.json | 0 .../pediatric_regional_nodes_32357.json | 0 .../pediatric_regional_nodes_42195.json | 0 .../tables/pediatric_regional_nodes_591.json | 0 .../pediatric_regional_nodes_59828.json | 0 .../pediatric_regional_nodes_67911.json | 0 .../pediatric_regional_nodes_na_68667.json | 0 .../1.3/tables/pediatric_stage_11224.json | 0 .../1.3/tables/pediatric_stage_11413.json | 0 .../1.3/tables/pediatric_stage_16688.json | 0 .../1.3/tables/pediatric_stage_19429.json | 0 .../1.3/tables/pediatric_stage_51275.json | 0 .../1.3/tables/pediatric_stage_54754.json | 0 .../1.3/tables/pediatric_stage_56655.json | 0 .../1.3/tables/pediatric_stage_57755.json | 0 .../1.3/tables/pediatric_stage_69576.json | 0 .../1.3/tables/pediatric_stage_70937.json | 0 .../1.3/tables/pediatric_stage_78332.json | 0 .../1.3/tables/pediatric_stage_79275.json | 0 .../1.3/tables/pediatric_stage_80420.json | 0 .../1.3/tables/pediatric_stage_85957.json | 0 .../1.3/tables/pediatric_stage_94654.json | 0 .../1.3/tables/pediatric_t_59799.json | 0 .../1.3/tables/pediatric_t_65327.json | 0 .../1.3/tables/pediatric_t_75382.json | 0 .../pretext_clinical_staging_39169.json | 0 .../pediatric/1.3/tables/primary_site.json | 0 ...x_summ_surg_2023_retinoblastoma_97268.json | 0 .../rx_summ_surgical_margins_47287.json | 0 .../1.3/tables/s_category_clinical_11368.json | 0 .../tables/s_category_pathological_46197.json | 0 ...election_acute_lymphoblastic_leukemia.json | 0 ...a_selection_adult_other_non_pediatric.json | 0 .../tables/schema_selection_astrocytoma.json | 0 .../tables/schema_selection_ependymoma.json | 0 .../schema_selection_hepatoblastoma.json | 0 .../schema_selection_hodgkin_lymphoma.json | 0 ...malignant_bone_tumors_chondrosarcomas.json | 0 ...selection_malignant_bone_tumors_ewing.json | 0 ...on_malignant_bone_tumors_osteosarcoma.json | 0 ...malignant_bone_tumors_other_specified.json | 0 ...ion_malignant_bone_tumors_unspecified.json | 0 .../schema_selection_medulloblastoma.json | 0 ...loblastoma_atypical_teratoid_rhabdoid.json | 0 ...on_medulloblastoma_medulloepithelioma.json | 0 ...lection_medulloblastoma_pineoblastoma.json | 0 ...schema_selection_medulloblastoma_pnet.json | 0 .../schema_selection_neuroblastoma.json | 0 ...schema_selection_nhl_burkitt_lymphoma.json | 0 ...selection_nhl_mature_b_cell_lymphomas.json | 0 .../1.3/tables/schema_selection_nhl_nos.json | 0 ...tion_nhl_t_cell_and_nk_cell_lymphomas.json | 0 ...on_non_rhabdomyosarcoma_fibrosarcomas.json | 0 ..._non_rhabdomyosarcoma_other_specified.json | 0 ...tion_non_rhabdomyosarcoma_unspecified.json | 0 .../1.3/tables/schema_selection_ovarian.json | 0 ..._renal_tumors_ewing_sarcoma_of_kidney.json | 0 ...election_renal_tumors_kidney_sarcomas.json | 0 ...selection_renal_tumors_nephroblastoma.json | 0 ...ion_renal_tumors_rhabdoid_renal_tumor.json | 0 ...rs_unspecified_malignant_renal_tumors.json | 0 .../schema_selection_retinoblastoma.json | 0 .../schema_selection_rhabdomyosarcoma.json | 0 .../tables/schema_selection_testicular.json | 0 .../1.3/tables/toronto_stage_92889.json | 0 .../1.3/tables/toronto_stage_group_41463.json | 0 .../1.3/tables/tumor_size_summary_47973.json | 0 .../tables/white_blood_cell_count_1932.json | 0 .../1.3/tables/year_dx_validation.json | 0 .../glossary/546cf5aee4b0d965832a94bf.json | 0 .../glossary/546f598de4b0d965832bb0c4.json | 0 .../glossary/5505c8e7e4b0c48f31d70838.json | 0 .../glossary/55097bbee4b0c48f31d8967a.json | 0 .../glossary/550adaede4b0c48f31d94520.json | 0 .../glossary/554540cfe4b0426fced42655.json | 0 .../glossary/55a800abe4b05cd0cddb978e.json | 0 .../glossary/55a80262e4b05cd0cddb99b8.json | 0 .../glossary/55a9a501e4b05cd0cddc710a.json | 0 .../glossary/55b12ee91ef5572aac76e67a.json | 0 .../glossary/55ba2b9b1ef5572aac7b2910.json | 0 .../glossary/55dcb1521ef5576bf30cca55.json | 0 .../glossary/55dcb26c1ef5576bf30ccc10.json | 0 .../testing/99.99/glossary/terms.txt | 0 .../algorithms/testing/99.99/schemas/ids.txt | 0 .../testing/99.99/schemas/urethra.json | 0 .../99.99/tables/ajcc6_exclusions_ppd.json | 0 .../testing/99.99/tables/ajcc6_m_codes.json | 0 .../testing/99.99/tables/ajcc6_n_codes.json | 0 .../99.99/tables/ajcc6_stage_codes.json | 0 .../testing/99.99/tables/ajcc6_stage_qaw.json | 0 .../testing/99.99/tables/ajcc6_t_codes.json | 0 .../99.99/tables/ajcc6_year_validation.json | 0 .../99.99/tables/ajcc7_inclusions_tpb.json | 0 .../testing/99.99/tables/ajcc7_m_codes.json | 0 .../testing/99.99/tables/ajcc7_n_codes.json | 0 .../99.99/tables/ajcc7_stage_codes.json | 0 .../testing/99.99/tables/ajcc7_stage_uaz.json | 0 .../testing/99.99/tables/ajcc7_t_codes.json | 0 .../99.99/tables/ajcc7_year_validation.json | 0 .../99.99/tables/ajcc_descriptor_codes.json | 0 .../tables/ajcc_mdescriptor_cleanup.json | 0 .../tables/ajcc_ndescriptor_cleanup.json | 0 .../tables/ajcc_tdescriptor_cleanup.json | 0 .../testing/99.99/tables/behavior.json | 0 .../tables/cs_input_version_original.json | 0 .../99.99/tables/cs_year_validation.json | 0 .../testing/99.99/tables/extension_bdi.json | 0 .../99.99/tables/extension_eval_cpa.json | 0 .../testing/99.99/tables/grade.json | 0 .../testing/99.99/tables/histology.json | 0 .../algorithms/testing/99.99/tables/ids.txt | 0 .../algorithms/testing/99.99/tables/lvi.json | 0 .../testing/99.99/tables/mets_eval_ipa.json | 0 .../testing/99.99/tables/mets_hpe.json | 0 .../testing/99.99/tables/nodes_dbu.json | 0 .../testing/99.99/tables/nodes_eval_epa.json | 0 .../testing/99.99/tables/nodes_exam_gpa.json | 0 .../testing/99.99/tables/nodes_pos_fpa.json | 0 .../testing/99.99/tables/primary_site.json | 0 .../tables/schema_selection_urethra.json | 0 .../testing/99.99/tables/size_apa.json | 0 .../testing/99.99/tables/ss_codes.json | 0 .../testing/99.99/tables/ssf10_sne.json | 0 .../testing/99.99/tables/ssf11_snf.json | 0 .../testing/99.99/tables/ssf12_sng.json | 0 .../testing/99.99/tables/ssf13_snh.json | 0 .../testing/99.99/tables/ssf14_sni.json | 0 .../testing/99.99/tables/ssf15_snj.json | 0 .../testing/99.99/tables/ssf16_snk.json | 0 .../testing/99.99/tables/ssf17_snl.json | 0 .../testing/99.99/tables/ssf18_snm.json | 0 .../testing/99.99/tables/ssf19_snn.json | 0 .../testing/99.99/tables/ssf1_jpd.json | 0 .../testing/99.99/tables/ssf20_sno.json | 0 .../testing/99.99/tables/ssf21_snp.json | 0 .../testing/99.99/tables/ssf22_snq.json | 0 .../testing/99.99/tables/ssf23_snr.json | 0 .../testing/99.99/tables/ssf24_sns.json | 0 .../testing/99.99/tables/ssf25_snt.json | 0 .../testing/99.99/tables/ssf2_kna.json | 0 .../testing/99.99/tables/ssf3_lna.json | 0 .../testing/99.99/tables/ssf4_mna.json | 0 .../testing/99.99/tables/ssf5_nna.json | 0 .../testing/99.99/tables/ssf6_ona.json | 0 .../testing/99.99/tables/ssf7_snb.json | 0 .../testing/99.99/tables/ssf8_snc.json | 0 .../testing/99.99/tables/ssf9_snd.json | 0 .../99.99/tables/summary_stage_rpa.json | 0 .../glossary/546cf5aee4b0d965832a94bf.json | 0 .../glossary/546f598de4b0d965832bb0c4.json | 0 .../glossary/5505c8e7e4b0c48f31d70838.json | 0 .../glossary/55097bbee4b0c48f31d8967a.json | 0 .../glossary/550adaede4b0c48f31d94520.json | 0 .../glossary/55a800abe4b05cd0cddb978e.json | 0 .../glossary/55a80262e4b05cd0cddb99b8.json | 0 .../glossary/55a99b73e4b05cd0cddc6dc1.json | 0 .../glossary/55a99c08e4b05cd0cddc6df1.json | 0 .../glossary/55a99cbce4b05cd0cddc6e1f.json | 0 .../glossary/55a99e80e4b05cd0cddc6ed7.json | 0 .../glossary/55a9a0bfe4b05cd0cddc6fed.json | 0 .../glossary/55a9a501e4b05cd0cddc710a.json | 0 .../glossary/55a9a750e4b05cd0cddc71b4.json | 0 .../glossary/55a9a9a6e4b05cd0cddc72cd.json | 0 .../glossary/55b12ee91ef5572aac76e67a.json | 0 .../glossary/55ba2b9b1ef5572aac7b2910.json | 0 .../glossary/55dcae631ef5571a5d966163.json | 0 .../glossary/55dcb1521ef5576bf30cca55.json | 0 .../glossary/55dcb26c1ef5576bf30ccc10.json | 0 .../glossary/55ddcdcd1ef5576bf30d4e4b.json | 0 .../glossary/55df18511ef5576bf30e0012.json | 0 .../glossary/55df3e691ef5576bf30e2e32.json | 0 .../algorithms/tnm/2.0/glossary/terms.txt | 0 .../tnm/2.0/schemas/adnexa_uterine_other.json | 0 .../tnm/2.0/schemas/adrenal_gland.json | 0 .../tnm/2.0/schemas/ampulla_vater.json | 0 .../algorithms/tnm/2.0/schemas/anus.json | 0 .../algorithms/tnm/2.0/schemas/appendix.json | 0 .../tnm/2.0/schemas/bile_ducts_distal.json | 0 .../2.0/schemas/bile_ducts_intrahepat.json | 0 .../tnm/2.0/schemas/bile_ducts_perihilar.json | 0 .../tnm/2.0/schemas/biliary_other.json | 0 .../algorithms/tnm/2.0/schemas/bladder.json | 0 .../algorithms/tnm/2.0/schemas/bone.json | 0 .../algorithms/tnm/2.0/schemas/brain.json | 0 .../algorithms/tnm/2.0/schemas/breast.json | 0 .../tnm/2.0/schemas/buccal_mucosa.json | 0 .../tnm/2.0/schemas/carcinoid_appendix.json | 0 .../algorithms/tnm/2.0/schemas/cervix.json | 0 .../algorithms/tnm/2.0/schemas/cns_other.json | 0 .../algorithms/tnm/2.0/schemas/colon.json | 0 .../tnm/2.0/schemas/conjunctiva.json | 0 .../tnm/2.0/schemas/corpus_adenosarcoma.json | 0 .../tnm/2.0/schemas/corpus_carcinoma.json | 0 .../tnm/2.0/schemas/corpus_sarcoma.json | 0 .../tnm/2.0/schemas/cystic_duct.json | 0 .../tnm/2.0/schemas/digestive_other.json | 0 .../tnm/2.0/schemas/endocrine_other.json | 0 .../tnm/2.0/schemas/epiglottis_anterior.json | 0 .../algorithms/tnm/2.0/schemas/esophagus.json | 0 .../tnm/2.0/schemas/esophagus_gejunction.json | 0 .../algorithms/tnm/2.0/schemas/eye_other.json | 0 .../tnm/2.0/schemas/fallopian_tube.json | 0 .../tnm/2.0/schemas/floor_mouth.json | 0 .../tnm/2.0/schemas/gallbladder.json | 0 .../tnm/2.0/schemas/genital_female_other.json | 0 .../tnm/2.0/schemas/genital_male_other.json | 0 .../tnm/2.0/schemas/gist_appendix.json | 0 .../tnm/2.0/schemas/gist_colon.json | 0 .../tnm/2.0/schemas/gist_esophagus.json | 0 .../tnm/2.0/schemas/gist_peritoneum.json | 0 .../tnm/2.0/schemas/gist_rectum.json | 0 .../tnm/2.0/schemas/gist_small_intestine.json | 0 .../tnm/2.0/schemas/gist_stomach.json | 0 .../algorithms/tnm/2.0/schemas/gum_lower.json | 0 .../algorithms/tnm/2.0/schemas/gum_other.json | 0 .../algorithms/tnm/2.0/schemas/gum_upper.json | 0 .../tnm/2.0/schemas/heart_mediastinum.json | 0 .../tnm/2.0/schemas/heme_retic.json | 0 .../tnm/2.0/schemas/hypopharynx.json | 0 .../algorithms/tnm/2.0/schemas/ids.txt | 0 .../tnm/2.0/schemas/ill_defined_other.json | 0 .../tnm/2.0/schemas/intracranial_gland.json | 0 .../tnm/2.0/schemas/kaposi_sarcoma.json | 0 .../tnm/2.0/schemas/kidney_parenchyma.json | 0 .../tnm/2.0/schemas/kidney_renal_pelvis.json | 0 .../tnm/2.0/schemas/lacrimal_gland.json | 0 .../tnm/2.0/schemas/lacrimal_sac.json | 0 .../tnm/2.0/schemas/larynx_glottic.json | 0 .../tnm/2.0/schemas/larynx_other.json | 0 .../tnm/2.0/schemas/larynx_subglottic.json | 0 .../tnm/2.0/schemas/larynx_supraglottic.json | 0 .../algorithms/tnm/2.0/schemas/lip_lower.json | 0 .../algorithms/tnm/2.0/schemas/lip_other.json | 0 .../algorithms/tnm/2.0/schemas/lip_upper.json | 0 .../algorithms/tnm/2.0/schemas/liver.json | 0 .../algorithms/tnm/2.0/schemas/lung.json | 0 .../algorithms/tnm/2.0/schemas/lymphoma.json | 0 .../2.0/schemas/lymphoma_ocular_adnexa.json | 0 .../2.0/schemas/melanoma_buccal_mucosa.json | 0 .../tnm/2.0/schemas/melanoma_choroid.json | 0 .../2.0/schemas/melanoma_ciliary_body.json | 0 .../tnm/2.0/schemas/melanoma_conjunctiva.json | 0 .../schemas/melanoma_epiglottis_anterior.json | 0 .../tnm/2.0/schemas/melanoma_eye_other.json | 0 .../tnm/2.0/schemas/melanoma_floor_mouth.json | 0 .../tnm/2.0/schemas/melanoma_gum_lower.json | 0 .../tnm/2.0/schemas/melanoma_gum_other.json | 0 .../tnm/2.0/schemas/melanoma_gum_upper.json | 0 .../tnm/2.0/schemas/melanoma_hypopharynx.json | 0 .../tnm/2.0/schemas/melanoma_iris.json | 0 .../2.0/schemas/melanoma_larynx_glottic.json | 0 .../2.0/schemas/melanoma_larynx_other.json | 0 .../schemas/melanoma_larynx_subglottic.json | 0 .../schemas/melanoma_larynx_supraglottic.json | 0 .../tnm/2.0/schemas/melanoma_lip_lower.json | 0 .../tnm/2.0/schemas/melanoma_lip_other.json | 0 .../tnm/2.0/schemas/melanoma_lip_upper.json | 0 .../tnm/2.0/schemas/melanoma_mouth_other.json | 0 .../2.0/schemas/melanoma_nasal_cavity.json | 0 .../tnm/2.0/schemas/melanoma_nasopharynx.json | 0 .../tnm/2.0/schemas/melanoma_oropharynx.json | 0 .../tnm/2.0/schemas/melanoma_palate_hard.json | 0 .../tnm/2.0/schemas/melanoma_palate_soft.json | 0 .../2.0/schemas/melanoma_pharynx_other.json | 0 .../2.0/schemas/melanoma_sinus_ethmoid.json | 0 .../2.0/schemas/melanoma_sinus_maxillary.json | 0 .../tnm/2.0/schemas/melanoma_sinus_other.json | 0 .../tnm/2.0/schemas/melanoma_skin.json | 0 .../2.0/schemas/melanoma_tongue_anterior.json | 0 .../tnm/2.0/schemas/melanoma_tongue_base.json | 0 .../tnm/2.0/schemas/merkel_cell_penis.json | 0 .../tnm/2.0/schemas/merkel_cell_scrotum.json | 0 .../tnm/2.0/schemas/merkel_cell_skin.json | 0 .../tnm/2.0/schemas/merkel_cell_vulva.json | 0 .../tnm/2.0/schemas/middle_ear.json | 0 .../tnm/2.0/schemas/mouth_other.json | 0 .../tnm/2.0/schemas/mycosis_fungoides.json | 0 .../schemas/myeloma_plasma_cell_disorder.json | 0 .../tnm/2.0/schemas/nasal_cavity.json | 0 .../tnm/2.0/schemas/nasopharynx.json | 0 .../tnm/2.0/schemas/net_ampulla.json | 0 .../algorithms/tnm/2.0/schemas/net_colon.json | 0 .../tnm/2.0/schemas/net_rectum.json | 0 .../tnm/2.0/schemas/net_small_intestine.json | 0 .../tnm/2.0/schemas/net_stomach.json | 0 .../algorithms/tnm/2.0/schemas/orbit.json | 0 .../tnm/2.0/schemas/oropharynx.json | 0 .../algorithms/tnm/2.0/schemas/ovary.json | 0 .../tnm/2.0/schemas/palate_hard.json | 0 .../tnm/2.0/schemas/palate_soft.json | 0 .../tnm/2.0/schemas/pancreas_body_tail.json | 0 .../tnm/2.0/schemas/pancreas_head.json | 0 .../tnm/2.0/schemas/pancreas_other.json | 0 .../tnm/2.0/schemas/parotid_gland.json | 0 .../algorithms/tnm/2.0/schemas/penis.json | 0 .../tnm/2.0/schemas/peritoneum.json | 0 .../2.0/schemas/peritoneum_female_gen.json | 0 .../tnm/2.0/schemas/pharyngeal_tonsil.json | 0 .../tnm/2.0/schemas/pharynx_other.json | 0 .../algorithms/tnm/2.0/schemas/placenta.json | 0 .../algorithms/tnm/2.0/schemas/pleura.json | 0 .../algorithms/tnm/2.0/schemas/prostate.json | 0 .../algorithms/tnm/2.0/schemas/rectum.json | 0 .../tnm/2.0/schemas/respiratory_other.json | 0 .../tnm/2.0/schemas/retinoblastoma.json | 0 .../tnm/2.0/schemas/retroperitoneum.json | 0 .../tnm/2.0/schemas/salivary_gland_other.json | 0 .../algorithms/tnm/2.0/schemas/scrotum.json | 0 .../tnm/2.0/schemas/sinus_ethmoid.json | 0 .../tnm/2.0/schemas/sinus_maxillary.json | 0 .../tnm/2.0/schemas/sinus_other.json | 0 .../algorithms/tnm/2.0/schemas/skin.json | 0 .../tnm/2.0/schemas/skin_eyelid.json | 0 .../tnm/2.0/schemas/small_intestine.json | 0 .../tnm/2.0/schemas/soft_tissue.json | 0 .../algorithms/tnm/2.0/schemas/stomach.json | 0 .../tnm/2.0/schemas/submandibular_gland.json | 0 .../algorithms/tnm/2.0/schemas/testis.json | 0 .../algorithms/tnm/2.0/schemas/thyroid.json | 0 .../tnm/2.0/schemas/tongue_anterior.json | 0 .../tnm/2.0/schemas/tongue_base.json | 0 .../algorithms/tnm/2.0/schemas/trachea.json | 0 .../algorithms/tnm/2.0/schemas/urethra.json | 0 .../tnm/2.0/schemas/urinary_other.json | 0 .../algorithms/tnm/2.0/schemas/vagina.json | 0 .../algorithms/tnm/2.0/schemas/vulva.json | 0 ...no_path_stage_group_not_defined_61358.json | 0 ...h_defaults_for_no_path_placenta_37763.json | 0 ...ustments_for_no_clin_or_no_path_26261.json | 0 .../tnm/2.0/tables/adrenal_gland_n_44698.json | 0 .../tnm/2.0/tables/adrenal_gland_t_18187.json | 0 .../tnm/2.0/tables/adrenal_m_7434.json | 0 .../age_at_diagnosis_validation_65093.json | 0 .../2.0/tables/ampulla_of_vater_t_63892.json | 0 .../tnm/2.0/tables/anus_t_35615.json | 0 .../appendix_grade_category_calculation.json | 0 .../algorithms/tnm/2.0/tables/behavior.json | 0 .../2.0/tables/bone_histologies_stage.json | 0 .../2.0/tables/breast_pathologic_t_84149.json | 0 .../tnm/2.0/tables/breast_t_70656.json | 0 .../tnm/2.0/tables/buccal_mucosa_t_35895.json | 0 .../2.0/tables/carcinoidappendix_t_41163.json | 0 .../tnm/2.0/tables/cervix_uteri_t_38859.json | 0 .../tnm/2.0/tables/clin_m_9010.json | 0 .../tnm/2.0/tables/clin_m_anus_46174.json | 0 .../2.0/tables/clin_m_conjunctiva_59480.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hab.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hac.json | 0 .../algorithms/tnm/2.0/tables/clin_m_had.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hae.json | 0 .../algorithms/tnm/2.0/tables/clin_m_haf.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hag.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hah.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hai.json | 0 .../algorithms/tnm/2.0/tables/clin_m_haj.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hak.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hal.json | 0 .../algorithms/tnm/2.0/tables/clin_m_ham.json | 0 .../algorithms/tnm/2.0/tables/clin_m_han.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hao.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hap.json | 0 .../algorithms/tnm/2.0/tables/clin_m_haq.json | 0 .../algorithms/tnm/2.0/tables/clin_m_har.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hat.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hau.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hav.json | 0 .../algorithms/tnm/2.0/tables/clin_m_haz.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hba.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hbb.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hbc.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hbf.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hbg.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hbo.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hbu.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hbx.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hbz.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcb.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcc.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcd.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hce.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcf.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcg.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hch.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hci.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcj.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hck.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcl.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcn.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcp.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcq.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcr.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcs.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcu.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcv.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcw.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hcy.json | 0 .../clin_m_head_neck_melanoma_25497.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hpb.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hpc.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hpd.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hpe.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hpg.json | 0 .../algorithms/tnm/2.0/tables/clin_m_hph.json | 0 .../clin_m_major_salivary_glands_94644.json | 0 .../2.0/tables/clin_m_net_ampulla_35993.json | 0 .../2.0/tables/clin_m_soft_tissues_97765.json | 0 .../tables/clin_n_ampulla_vater_45064.json | 0 .../tnm/2.0/tables/clin_n_bladder_88949.json | 0 .../tnm/2.0/tables/clin_n_bone_13753.json | 0 .../2.0/tables/clin_n_conjunctiva_61091.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dab.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dai.json | 0 .../algorithms/tnm/2.0/tables/clin_n_daj.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dak.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dam.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dan.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dat.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dau.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dav.json | 0 .../algorithms/tnm/2.0/tables/clin_n_daw.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dax.json | 0 .../algorithms/tnm/2.0/tables/clin_n_day.json | 0 .../algorithms/tnm/2.0/tables/clin_n_daz.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dba.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dbb.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dbc.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dbj.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dbl.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dbm.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dbn.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dbr.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dbt.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dce.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dcn.json | 0 .../algorithms/tnm/2.0/tables/clin_n_ddj.json | 0 .../algorithms/tnm/2.0/tables/clin_n_ddm.json | 0 .../algorithms/tnm/2.0/tables/clin_n_ddn.json | 0 .../algorithms/tnm/2.0/tables/clin_n_ddp.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dew.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dfc.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dfe.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dff.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dfg.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dfl.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dfn.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dfo.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dfr.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dfs.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dfv.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dfw.json | 0 .../algorithms/tnm/2.0/tables/clin_n_dfx.json | 0 .../clin_n_esophagus_ge_junction_51247.json | 0 .../tables/clin_n_gist_appendix_93665.json | 0 .../tables/clin_n_gist_esophagus_87582.json | 0 .../tables/clin_n_gist_peritoneum_47701.json | 0 .../2.0/tables/clin_n_gist_rectum_58109.json | 0 .../clin_n_gist_small_intestine_23294.json | 0 .../clin_n_heart_mediastinum_77775.json | 0 .../tables/clin_n_kidney_parenchyma_9806.json | 0 .../clin_n_mycosis_fungoides_95773.json | 0 .../2.0/tables/clin_n_net_ampulla_36773.json | 0 .../2.0/tables/clin_n_ophthalmic_n_94312.json | 0 .../clin_n_ophthalmic_n_notis_75953.json | 0 .../tnm/2.0/tables/clin_n_pleural_23905.json | 0 .../2.0/tables/clin_n_skin_eyelid_10770.json | 0 .../2.0/tables/clin_n_soft_tissues_78998.json | 0 .../tnm/2.0/tables/clin_n_testis_17993.json | 0 .../tnm/2.0/tables/clin_n_urethra_47275.json | 0 .../clin_renal_pevis_and_ureter_11547.json | 0 .../tnm/2.0/tables/clin_t_appendix_24847.json | 0 .../algorithms/tnm/2.0/tables/clin_t_ban.json | 0 .../algorithms/tnm/2.0/tables/clin_t_bbo.json | 0 .../algorithms/tnm/2.0/tables/clin_t_bcp.json | 0 .../algorithms/tnm/2.0/tables/clin_t_bcs.json | 0 .../algorithms/tnm/2.0/tables/clin_t_bcu.json | 0 .../algorithms/tnm/2.0/tables/clin_t_bdh.json | 0 .../tnm/2.0/tables/clin_t_bladder_38564.json | 0 .../tnm/2.0/tables/clin_t_bone_70163.json | 0 .../tnm/2.0/tables/clin_t_cervix_78153.json | 0 .../2.0/tables/clin_t_conjunctiva_42760.json | 0 .../tnm/2.0/tables/clin_t_copy_81159.json | 0 .../2.0/tables/clin_t_esophagus_57970.json | 0 .../tables/clin_t_fallopian_tube_77615.json | 0 .../tables/clin_t_floor_of_mouth_37028.json | 0 .../2.0/tables/clin_t_gallbladder_13172.json | 0 .../tables/clin_t_gist_appendix_41981.json | 0 .../tables/clin_t_gist_colon_copy_80286.json | 0 .../tables/clin_t_gist_esophagus_47140.json | 0 .../tables/clin_t_gist_peritoneum_12183.json | 0 .../2.0/tables/clin_t_gist_rectum_83293.json | 0 .../clin_t_gist_small_intestine_3299.json | 0 .../2.0/tables/clin_t_gist_stomach_46079.json | 0 .../tables/clin_t_glottic_larynx_36272.json | 0 .../2.0/tables/clin_t_gum_lower_57588.json | 0 .../2.0/tables/clin_t_gum_other_73657.json | 0 .../2.0/tables/clin_t_gum_upper_23313.json | 0 .../clin_t_heart_mediastinum_11552.json | 0 .../2.0/tables/clin_t_hypopharynx_3365.json | 0 .../tables/clin_t_kidney_parenchyma_9887.json | 0 .../tables/clin_t_lacrimal_gland_71633.json | 0 .../2.0/tables/clin_t_larynx_nos_75299.json | 0 .../clin_t_larynx_subglottic_11069.json | 0 .../clin_t_larynx_supraglottic_69988.json | 0 .../2.0/tables/clin_t_lip_lower_64771.json | 0 .../2.0/tables/clin_t_lip_other_75184.json | 0 .../tnm/2.0/tables/clin_t_lip_upper_3775.json | 0 .../tnm/2.0/tables/clin_t_liver_16950.json | 0 .../tnm/2.0/tables/clin_t_lung_28486.json | 0 .../clin_t_melanoma_buccal_mucosa_55204.json | 0 .../clin_t_melanoma_choroid_t_80325.json | 0 .../clin_t_melanoma_ciliary_body_68734.json | 0 ..._t_melanoma_epiglottis_anterior_87665.json | 0 .../clin_t_melanoma_floor_of_mouth_29889.json | 0 .../clin_t_melanoma_gum_lower_93520.json | 0 .../clin_t_melanoma_gum_other_64011.json | 0 .../clin_t_melanoma_gum_upper_45093.json | 0 .../clin_t_melanoma_hypopharynx_41386.json | 0 .../tables/clin_t_melanoma_iris_54551.json | 0 .../clin_t_melanoma_larynx_glottic_10232.json | 0 .../clin_t_melanoma_larynx_other_92067.json | 0 ...in_t_melanoma_larynx_subglottic_74637.json | 0 ..._t_melanoma_larynx_supraglottic_25433.json | 0 .../clin_t_melanoma_lip_other_38821.json | 0 .../clin_t_melanoma_lower_lip_15469.json | 0 .../clin_t_melanoma_lower_lip_t_31253.json | 0 .../clin_t_melanoma_mouth_other_18724.json | 0 .../clin_t_melanoma_nasal_cavity_92441.json | 0 .../clin_t_melanoma_nasopharynx_19497.json | 0 .../clin_t_melanoma_oropharynx_83498.json | 0 .../clin_t_melanoma_palate_hard_80202.json | 0 .../clin_t_melanoma_palate_soft_21789.json | 0 .../clin_t_melanoma_pharynx_other_3685.json | 0 .../clin_t_melanoma_sinus_ethmoid_72398.json | 0 ...clin_t_melanoma_sinus_maxillary_64193.json | 0 ...clin_t_melanoma_tongue_anterior_38455.json | 0 .../clin_t_melanoma_tongue_base_6605.json | 0 .../clin_t_merkel_cell_penis_10043.json | 0 .../clin_t_merkel_cell_scrotum_24017.json | 0 .../clin_t_merkel_cell_skin_t_96388.json | 0 .../clin_t_merkel_cell_vulva_96899.json | 0 .../2.0/tables/clin_t_mouth_other_28324.json | 0 .../clin_t_mycosis_fungoides_76446.json | 0 .../2.0/tables/clin_t_nasal_cavity_5031.json | 0 .../2.0/tables/clin_t_nasopharynx_40813.json | 0 .../tnm/2.0/tables/clin_t_orbit_59896.json | 0 .../2.0/tables/clin_t_oropharynx_53342.json | 0 .../tnm/2.0/tables/clin_t_ovary_95574.json | 0 .../2.0/tables/clin_t_palate_hard_21871.json | 0 .../clin_t_pancreas_body_tail_71461.json | 0 .../tables/clin_t_pancreas_head_97928.json | 0 .../tables/clin_t_pancreas_other_28719.json | 0 .../tables/clin_t_parotid_gland_13635.json | 0 .../tnm/2.0/tables/clin_t_penis_88876.json | 0 .../clin_t_perihilar_bile_ducts_63594.json | 0 .../2.0/tables/clin_t_peritoneum_67989.json | 0 .../clin_t_peritoneum_female_gen_47507.json | 0 .../clin_t_pharyngeal_tonsil_99141.json | 0 .../tnm/2.0/tables/clin_t_placenta_62001.json | 0 .../tnm/2.0/tables/clin_t_pleura_24291.json | 0 .../tnm/2.0/tables/clin_t_rectum_29212.json | 0 .../clin_t_renal_pelvis_and_ureter_48274.json | 0 .../tables/clin_t_retroperitoneum_91920.json | 0 .../clin_t_salivaryglandother_54081.json | 0 .../tnm/2.0/tables/clin_t_scrotum_13282.json | 0 .../tables/clin_t_sinus_ethmoid_61914.json | 0 .../tables/clin_t_sinus_maxillary_12245.json | 0 .../tnm/2.0/tables/clin_t_skin_92153.json | 0 .../2.0/tables/clin_t_skin_eyelid_93914.json | 0 .../tables/clin_t_small_intestine_22563.json | 0 .../2.0/tables/clin_t_soft_tissue_43767.json | 0 .../tnm/2.0/tables/clin_t_stomach_55386.json | 0 .../clin_t_submandibular_gland_45502.json | 0 .../tnm/2.0/tables/clin_t_thyroid_93682.json | 0 .../tables/clin_t_tongue_anterior_43968.json | 0 .../2.0/tables/clin_t_tongue_base_63370.json | 0 .../tnm/2.0/tables/clin_t_urethra_39553.json | 0 .../tnm/2.0/tables/clin_t_vagina_84852.json | 0 .../tnm/2.0/tables/clin_t_vulva_52779.json | 0 .../tnm/2.0/tables/clinical_m_64416.json | 0 .../2.0/tables/clinical_n_corpus_48422.json | 0 .../clinical_n_corpus_carcinoma_62458.json | 0 ..._n_head_neck_except_nasopharynx_25237.json | 0 .../clinical_n_head_neck_melanoma_66648.json | 0 ...linical_n_major_salivary_glands_19191.json | 0 .../tnm/2.0/tables/colon_65083.json | 0 .../2.0/tables/combined_gleason_93464.json | 0 .../algorithms/tnm/2.0/tables/combined_m.json | 0 .../algorithms/tnm/2.0/tables/combined_n.json | 0 .../combined_n_for_tis_cancers_4947.json | 0 .../tnm/2.0/tables/combined_n_lung.json | 0 ...ned_n_no_tis_path_n_cn0_allowed_73884.json | 0 ...mbined_stage_group_for_lymphoma_19552.json | 0 .../algorithms/tnm/2.0/tables/combined_t.json | 0 .../tnm/2.0/tables/combined_t_breast.json | 0 .../tnm/2.0/tables/combined_t_colon.json | 0 .../tnm/2.0/tables/combined_t_lung.json | 0 .../tnm/2.0/tables/combined_t_no_tis.json | 0 .../2.0/tables/combined_t_retinoblastoma.json | 0 .../combined_t_thyroid_anaplastic_32619.json | 0 .../tnm/2.0/tables/concatenate_m_40642.json | 0 .../tnm/2.0/tables/concatenate_n_43246.json | 0 .../tnm/2.0/tables/concatenate_t_51262.json | 0 .../tnm/2.0/tables/conjunctiva_t_62523.json | 0 ...orpus_adenosarcoma_pathologic_t_90591.json | 0 .../tables/corpus_adenosarcoma_t_34843.json | 0 .../2.0/tables/corpus_carcinoma_t_42324.json | 0 .../corpus_sarcoma_clinical_t_23604.json | 0 .../2.0/tables/corpus_sarcoma_t_13268.json | 0 .../tnm/2.0/tables/cystic_duct_t_52091.json | 0 .../determine_combined_prefix_91402.json | 0 .../tnm/2.0/tables/determine_default_m.json | 0 .../tnm/2.0/tables/determine_default_n.json | 0 .../tnm/2.0/tables/determine_default_t.json | 0 .../determine_default_t_anaplastic_77806.json | 0 .../2.0/tables/discriminator_bile_ducts.json | 0 .../discriminator_esophogus_ge_junction.json | 0 .../2.0/tables/discriminator_lacrimal.json | 0 .../2.0/tables/discriminator_melanoma.json | 0 .../2.0/tables/discriminator_nasopharynx.json | 0 .../2.0/tables/distal_blie_duct_t_30646.json | 0 ...sophagus_gejunction_histologies_stage.json | 0 .../tables/esophagus_histologies_stage.json | 0 .../tnm/2.0/tables/esophagus_t_28679.json | 0 .../tables/esophagusgejunction_t_39319.json | 0 .../2.0/tables/fallopian_tube_t_96584.json | 0 .../2.0/tables/floor_of_mouth_t_38606.json | 0 .../tnm/2.0/tables/gallbladder_t_77234.json | 0 ...ist_appendix_mitotic_rate_calculation.json | 0 .../tnm/2.0/tables/gist_appendix_n_87661.json | 0 .../tnm/2.0/tables/gist_appendix_t_67124.json | 0 .../tnm/2.0/tables/gist_colon_n_46351.json | 0 ...st_esophagus_mitotic_rate_calculation.json | 0 .../2.0/tables/gist_esophagus_t_61710.json | 0 ...t_peritoneum_mitotic_rate_calculation.json | 0 .../2.0/tables/gist_peritoneum_n_18654.json | 0 .../2.0/tables/gist_peritoneum_t_10242.json | 0 .../tnm/2.0/tables/gist_rectum_n_35223.json | 0 .../tnm/2.0/tables/gist_rectum_t_7125.json | 0 .../tables/gist_small_intestine_n_18642.json | 0 .../tables/gist_small_intestine_t_83343.json | 0 .../tnm/2.0/tables/gist_stomach_n_73991.json | 0 .../tnm/2.0/tables/gist_stomach_t_60871.json | 0 .../tnm/2.0/tables/gistcolon_t_85374.json | 0 .../tnm/2.0/tables/gistesophagus_n_17925.json | 0 .../tnm/2.0/tables/giststomach_t_55582.json | 0 .../tnm/2.0/tables/glottic_larynx_t_8691.json | 0 .../algorithms/tnm/2.0/tables/grade.json | 0 .../tnm/2.0/tables/gum_lower_t_24295.json | 0 .../tnm/2.0/tables/gum_other_t_49578.json | 0 .../tnm/2.0/tables/gum_upper_t_95905.json | 0 .../2.0/tables/heart_mediastinum_n_50568.json | 0 .../2.0/tables/heart_mediastinum_t_30394.json | 0 ...tologies_grade_path_stage_tnm_7_37149.json | 0 .../histologies_grade_stage_tnm_7_20594.json | 0 .../tables/histologies_path_stage_47414.json | 0 .../tables/histologies_path_stage_56616.json | 0 .../tables/histologies_path_stage_99978.json | 0 .../algorithms/tnm/2.0/tables/histology.json | 0 .../tnm/2.0/tables/hypopharynx_t_21848.json | 0 .../algorithms/tnm/2.0/tables/ids.txt | 0 .../intrahepatic_bile_ducts_t_31771.json | 0 .../tnm/2.0/tables/kidney_n_42919.json | 0 .../2.0/tables/kidney_parenchyma_t_48027.json | 0 .../tnm/2.0/tables/lacrimal_gland_t_1116.json | 0 .../tnm/2.0/tables/larynx_nos_t_90793.json | 0 .../2.0/tables/larynx_subglottic_t_32495.json | 0 .../tables/larynx_supraglottic_t_57946.json | 0 .../tnm/2.0/tables/lip_lower_t_82564.json | 0 .../tnm/2.0/tables/lip_other_t_56087.json | 0 .../tnm/2.0/tables/lip_upper_t_48652.json | 0 .../tnm/2.0/tables/liver_t_55652.json | 0 .../2.0/tables/lung_occult_stage_11131.json | 0 .../tnm/2.0/tables/lung_t_86537.json | 0 ...phoma_path_stage_group_detailed_88547.json | 0 .../lymphoma_stage_group_detailed_35045.json | 0 ...dnexa_clin_m_no_uicc_definition_96511.json | 0 ...dnexa_clin_n_no_uicc_definition_66872.json | 0 ...a_path_m_no_uicc_definition_copy_6387.json | 0 ...dnexa_path_n_no_uicc_definition_17284.json | 0 ..._path_t_no_uicc_definition_copy_11297.json | 0 ...ularadnexa_t_no_uicc_definition_89433.json | 0 .../melanoma_buccal_mucosa_t_76459.json | 0 .../2.0/tables/melanoma_choroid_t_79116.json | 0 .../tables/melanoma_ciliary_body_t_34399.json | 0 .../tables/melanoma_conjunctiva_n_15261.json | 0 ...lanoma_conjunctiva_pathologic_n_83143.json | 0 .../melanoma_epiglottis_anterior_t_92827.json | 0 .../melanoma_floor_of_mouth_t_86503.json | 0 .../tables/melanoma_gum_lower_t_30606.json | 0 .../tables/melanoma_gum_other_t_27553.json | 0 .../tables/melanoma_hypopharynx_t_81125.json | 0 .../tnm/2.0/tables/melanoma_iris_t_65686.json | 0 .../melanoma_larynx_glottic_t_65946.json | 0 .../tables/melanoma_larynx_other_t_71686.json | 0 .../melanoma_larynx_subglottic_81170.json | 0 .../melanoma_larynx_supraglottic_63201.json | 0 .../tables/melanoma_lip_other_t_71709.json | 0 .../tables/melanoma_lower_lip_t_30772.json | 0 .../tables/melanoma_lower_lip_t_39461.json | 0 .../tables/melanoma_mouth_other_t_26001.json | 0 .../tables/melanoma_nasal_cavity_t_57160.json | 0 .../tables/melanoma_nasopharynx_t_72770.json | 0 .../tables/melanoma_oropharynx_t_73396.json | 0 .../tables/melanoma_palate_hard_t_49262.json | 0 .../tables/melanoma_palate_soft_t_15766.json | 0 .../melanoma_pharynx_other_t_82152.json | 0 .../melanoma_sinus_maxillary_t_28715.json | 0 .../melanoma_tongue_anterior_t_170.json | 0 .../tables/melanoma_tongue_base_60314.json | 0 .../2.0/tables/merkel_cell_penis_t_93032.json | 0 .../tables/merkel_cell_scrotum_t_30089.json | 0 .../2.0/tables/merkel_cell_skin_t_48418.json | 0 .../2.0/tables/merkel_cell_vulva_t_49226.json | 0 .../tnm/2.0/tables/mouth_other_t_88942.json | 0 .../tnm/2.0/tables/nasal_cavity_t_71995.json | 0 .../tnm/2.0/tables/nasopharynx_t_29067.json | 0 .../net_ampulla_pathologic_t_58166.json | 0 .../tnm/2.0/tables/net_ampulla_t_37461.json | 0 .../tnm/2.0/tables/net_colon_t_5107.json | 0 .../tnm/2.0/tables/net_rectum_t_3082.json | 0 .../tables/net_smallintestine_t_60400.json | 0 .../tnm/2.0/tables/no_tnm_group_99227.json | 0 .../tnm/2.0/tables/no_tnm_group_p_41281.json | 0 .../tnm/2.0/tables/nodes_pos_fab.json | 0 .../tnm/2.0/tables/nodes_pos_fah.json | 0 .../tnm/2.0/tables/nodes_pos_fpa.json | 0 .../tnm/2.0/tables/ophthalmic_n_36875.json | 0 .../tnm/2.0/tables/orbit_t_97280.json | 0 .../tnm/2.0/tables/oropharynx_t_62492.json | 0 .../tnm/2.0/tables/ovary_t_58652.json | 0 .../tnm/2.0/tables/palate_hard_t_41050.json | 0 .../tnm/2.0/tables/palate_soft_t_48973.json | 0 .../2.0/tables/pancreas_bodytail_t_46669.json | 0 .../tnm/2.0/tables/pancreas_head_t_4793.json | 0 .../tnm/2.0/tables/pancreas_other_70468.json | 0 .../tnm/2.0/tables/parotid_gland_t_68628.json | 0 .../tnm/2.0/tables/parse_m_47057.json | 0 .../tnm/2.0/tables/parse_n_67182.json | 0 .../2.0/tables/parse_n_merkel_clin_55445.json | 0 .../parse_n_merkel_path_copy_67865.json | 0 .../tnm/2.0/tables/parse_t_2177.json | 0 .../tnm/2.0/tables/path_m_74330.json | 0 .../tnm/2.0/tables/path_m_anus_33946.json | 0 .../2.0/tables/path_m_conjunctiva_73224.json | 0 .../algorithms/tnm/2.0/tables/path_m_hab.json | 0 .../algorithms/tnm/2.0/tables/path_m_hac.json | 0 .../algorithms/tnm/2.0/tables/path_m_had.json | 0 .../algorithms/tnm/2.0/tables/path_m_hae.json | 0 .../algorithms/tnm/2.0/tables/path_m_haf.json | 0 .../algorithms/tnm/2.0/tables/path_m_hag.json | 0 .../algorithms/tnm/2.0/tables/path_m_hah.json | 0 .../algorithms/tnm/2.0/tables/path_m_hai.json | 0 .../algorithms/tnm/2.0/tables/path_m_haj.json | 0 .../algorithms/tnm/2.0/tables/path_m_hak.json | 0 .../algorithms/tnm/2.0/tables/path_m_hal.json | 0 .../algorithms/tnm/2.0/tables/path_m_ham.json | 0 .../algorithms/tnm/2.0/tables/path_m_han.json | 0 .../algorithms/tnm/2.0/tables/path_m_hao.json | 0 .../algorithms/tnm/2.0/tables/path_m_hap.json | 0 .../algorithms/tnm/2.0/tables/path_m_haq.json | 0 .../algorithms/tnm/2.0/tables/path_m_har.json | 0 .../algorithms/tnm/2.0/tables/path_m_hat.json | 0 .../algorithms/tnm/2.0/tables/path_m_hau.json | 0 .../algorithms/tnm/2.0/tables/path_m_hav.json | 0 .../algorithms/tnm/2.0/tables/path_m_haz.json | 0 .../algorithms/tnm/2.0/tables/path_m_hba.json | 0 .../algorithms/tnm/2.0/tables/path_m_hbb.json | 0 .../algorithms/tnm/2.0/tables/path_m_hbc.json | 0 .../algorithms/tnm/2.0/tables/path_m_hbf.json | 0 .../algorithms/tnm/2.0/tables/path_m_hbg.json | 0 .../algorithms/tnm/2.0/tables/path_m_hbn.json | 0 .../algorithms/tnm/2.0/tables/path_m_hbo.json | 0 .../algorithms/tnm/2.0/tables/path_m_hbu.json | 0 .../algorithms/tnm/2.0/tables/path_m_hbv.json | 0 .../algorithms/tnm/2.0/tables/path_m_hbx.json | 0 .../algorithms/tnm/2.0/tables/path_m_hbz.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcb.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcc.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcd.json | 0 .../algorithms/tnm/2.0/tables/path_m_hce.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcf.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcg.json | 0 .../algorithms/tnm/2.0/tables/path_m_hch.json | 0 .../algorithms/tnm/2.0/tables/path_m_hci.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcj.json | 0 .../algorithms/tnm/2.0/tables/path_m_hck.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcl.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcn.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcp.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcq.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcr.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcs.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcu.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcv.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcw.json | 0 .../algorithms/tnm/2.0/tables/path_m_hcy.json | 0 .../path_m_head_neck_melanoma_32288.json | 0 .../algorithms/tnm/2.0/tables/path_m_hpb.json | 0 .../algorithms/tnm/2.0/tables/path_m_hpc.json | 0 .../algorithms/tnm/2.0/tables/path_m_hpd.json | 0 .../algorithms/tnm/2.0/tables/path_m_hpe.json | 0 .../algorithms/tnm/2.0/tables/path_m_hpg.json | 0 .../algorithms/tnm/2.0/tables/path_m_hph.json | 0 .../path_m_major_salivary_glands_13003.json | 0 .../2.0/tables/path_m_net_ampulla_22136.json | 0 .../2.0/tables/path_m_soft_tissues_96225.json | 0 .../tables/path_n_adrenal_gland_53740.json | 0 .../tnm/2.0/tables/path_n_bladder_46197.json | 0 .../tnm/2.0/tables/path_n_bone_31243.json | 0 .../2.0/tables/path_n_conjunctiva_84900.json | 0 .../algorithms/tnm/2.0/tables/path_n_dab.json | 0 .../algorithms/tnm/2.0/tables/path_n_dai.json | 0 .../algorithms/tnm/2.0/tables/path_n_daj.json | 0 .../algorithms/tnm/2.0/tables/path_n_dak.json | 0 .../algorithms/tnm/2.0/tables/path_n_dam.json | 0 .../algorithms/tnm/2.0/tables/path_n_dan.json | 0 .../algorithms/tnm/2.0/tables/path_n_dat.json | 0 .../algorithms/tnm/2.0/tables/path_n_dau.json | 0 .../algorithms/tnm/2.0/tables/path_n_dav.json | 0 .../algorithms/tnm/2.0/tables/path_n_daw.json | 0 .../algorithms/tnm/2.0/tables/path_n_dax.json | 0 .../algorithms/tnm/2.0/tables/path_n_day.json | 0 .../algorithms/tnm/2.0/tables/path_n_daz.json | 0 .../algorithms/tnm/2.0/tables/path_n_dba.json | 0 .../algorithms/tnm/2.0/tables/path_n_dbb.json | 0 .../algorithms/tnm/2.0/tables/path_n_dbc.json | 0 .../algorithms/tnm/2.0/tables/path_n_dbj.json | 0 .../algorithms/tnm/2.0/tables/path_n_dbl.json | 0 .../algorithms/tnm/2.0/tables/path_n_dbm.json | 0 .../algorithms/tnm/2.0/tables/path_n_dbn.json | 0 .../algorithms/tnm/2.0/tables/path_n_dbo.json | 0 .../algorithms/tnm/2.0/tables/path_n_dbr.json | 0 .../algorithms/tnm/2.0/tables/path_n_dbt.json | 0 .../algorithms/tnm/2.0/tables/path_n_dcn.json | 0 .../algorithms/tnm/2.0/tables/path_n_ddj.json | 0 .../algorithms/tnm/2.0/tables/path_n_ddm.json | 0 .../algorithms/tnm/2.0/tables/path_n_ddn.json | 0 .../algorithms/tnm/2.0/tables/path_n_ddp.json | 0 .../algorithms/tnm/2.0/tables/path_n_dew.json | 0 .../algorithms/tnm/2.0/tables/path_n_dfa.json | 0 .../algorithms/tnm/2.0/tables/path_n_dfc.json | 0 .../algorithms/tnm/2.0/tables/path_n_dfe.json | 0 .../algorithms/tnm/2.0/tables/path_n_dff.json | 0 .../algorithms/tnm/2.0/tables/path_n_dfg.json | 0 .../algorithms/tnm/2.0/tables/path_n_dfl.json | 0 .../algorithms/tnm/2.0/tables/path_n_dfn.json | 0 .../algorithms/tnm/2.0/tables/path_n_dfo.json | 0 .../algorithms/tnm/2.0/tables/path_n_dfr.json | 0 .../algorithms/tnm/2.0/tables/path_n_dfs.json | 0 .../algorithms/tnm/2.0/tables/path_n_dfv.json | 0 .../algorithms/tnm/2.0/tables/path_n_dfw.json | 0 .../algorithms/tnm/2.0/tables/path_n_dfx.json | 0 .../2.0/tables/path_n_gist_colon_71024.json | 0 ..._n_head_neck_except_nasopharynx_40357.json | 0 .../path_n_major_salivary_glands_7162.json | 0 .../2.0/tables/path_n_net_ampulla_11118.json | 0 .../path_n_ophthalmic_no_tis_80282.json | 0 ...th_n_peritoneum_retroperitoneum_86254.json | 0 ...th_n_peritoneum_retroperitoneum_88959.json | 0 .../tables/path_t_adrenal_gland_28077.json | 0 .../tables/path_t_ampulla_vater_23469.json | 0 .../tnm/2.0/tables/path_t_anus_61291.json | 0 .../tnm/2.0/tables/path_t_appendix_94760.json | 0 .../algorithms/tnm/2.0/tables/path_t_ban.json | 0 .../algorithms/tnm/2.0/tables/path_t_baq.json | 0 .../algorithms/tnm/2.0/tables/path_t_bbo.json | 0 .../algorithms/tnm/2.0/tables/path_t_bcs.json | 0 .../algorithms/tnm/2.0/tables/path_t_bcu.json | 0 .../algorithms/tnm/2.0/tables/path_t_bfi.json | 0 .../tnm/2.0/tables/path_t_bladder_68862.json | 0 .../tnm/2.0/tables/path_t_bone_59009.json | 0 .../2.0/tables/path_t_buccal_mucosa_7034.json | 0 .../path_t_carcinoid_appendix_77608.json | 0 .../tnm/2.0/tables/path_t_colon_98925.json | 0 .../tables/path_t_corpus_carcinoma_7259.json | 0 .../2.0/tables/path_t_cystic_duct_38967.json | 0 .../tables/path_t_distal_bile_duct_50879.json | 0 .../path_t_epiglottis_anterior_t_4558.json | 0 .../2.0/tables/path_t_gum_upper_50893.json | 0 .../path_t_intrahepatic_bile_ducts_23893.json | 0 .../2.0/tables/path_t_net_rectum_13791.json | 0 .../path_t_net_small_intestine_71548.json | 0 .../2.0/tables/path_t_net_stomach_63587.json | 0 .../path_t_perihilar_bile_ducts_88350.json | 0 ...logic_n_head_neck_melanoma_copy_75380.json | 0 .../tables/pathological_n_corpus_31147.json | 0 ...pathological_n_corpus_carcinoma_11126.json | 0 .../tnm/2.0/tables/penis_t_51275.json | 0 .../tnm/2.0/tables/peritoneum_t_18850.json | 0 .../tables/peritoneumfemalegen_t_87084.json | 0 .../2.0/tables/pharyngeal_tonsil_t_36969.json | 0 .../tnm/2.0/tables/placenta_t_12749.json | 0 .../tnm/2.0/tables/pleura_t_20728.json | 0 .../tnm/2.0/tables/pleural_n_14342.json | 0 .../tnm/2.0/tables/primary_site.json | 0 .../tnm/2.0/tables/prostate_n_76551.json | 0 .../tables/prostate_pathologic_n_4662.json | 0 .../tnm/2.0/tables/radiation_surg_seq.json | 0 .../tnm/2.0/tables/rectum_t_5935.json | 0 .../renal_pelvis_and_ureter_t_91246.json | 0 .../renal_pevis_and_ureter_n_58133.json | 0 .../retinoblastoma_clinical_n_19393.json | 0 .../retinoblastoma_pathologic_n_93880.json | 0 .../2.0/tables/retroperitoneum_n_12750.json | 0 .../2.0/tables/retroperitoneum_t_87029.json | 0 .../tables/salivaryglandother_t_67266.json | 0 ...schema_selection_adnexa_uterine_other.json | 0 .../schema_selection_adrenal_gland.json | 0 .../schema_selection_ampulla_vater.json | 0 .../tnm/2.0/tables/schema_selection_anus.json | 0 .../2.0/tables/schema_selection_appendix.json | 0 .../schema_selection_bile_ducts_distal.json | 0 ...chema_selection_bile_ducts_intrahepat.json | 0 ...schema_selection_bile_ducts_perihilar.json | 0 .../schema_selection_biliary_other.json | 0 .../2.0/tables/schema_selection_bladder.json | 0 .../tnm/2.0/tables/schema_selection_bone.json | 0 .../2.0/tables/schema_selection_brain.json | 0 .../2.0/tables/schema_selection_breast.json | 0 .../schema_selection_buccal_mucosa.json | 0 .../schema_selection_carcinoid_appendix.json | 0 .../2.0/tables/schema_selection_cervix.json | 0 .../tables/schema_selection_cns_other.json | 0 .../2.0/tables/schema_selection_colon.json | 0 .../tables/schema_selection_conjunctiva.json | 0 .../schema_selection_corpus_adenosarcoma.json | 0 .../schema_selection_corpus_carcinoma.json | 0 .../schema_selection_corpus_sarcoma.json | 0 .../tables/schema_selection_cystic_duct.json | 0 .../schema_selection_digestive_other.json | 0 .../schema_selection_endocrine_other.json | 0 .../schema_selection_epiglottis_anterior.json | 0 .../tables/schema_selection_esophagus.json | 0 ...schema_selection_esophagus_gejunction.json | 0 .../tables/schema_selection_eye_other.json | 0 .../schema_selection_fallopian_tube.json | 0 .../tables/schema_selection_floor_mouth.json | 0 .../tables/schema_selection_gallbladder.json | 0 ...schema_selection_genital_female_other.json | 0 .../schema_selection_genital_male_other.json | 0 .../schema_selection_gist_appendix.json | 0 .../tables/schema_selection_gist_colon.json | 0 .../schema_selection_gist_esophagus.json | 0 .../schema_selection_gist_peritoneum.json | 0 .../tables/schema_selection_gist_rectum.json | 0 ...schema_selection_gist_small_intestine.json | 0 .../tables/schema_selection_gist_stomach.json | 0 .../tables/schema_selection_gum_lower.json | 0 .../tables/schema_selection_gum_other.json | 0 .../tables/schema_selection_gum_upper.json | 0 .../schema_selection_heart_mediastinum.json | 0 .../tables/schema_selection_heme_retic.json | 0 .../tables/schema_selection_hypopharynx.json | 0 .../schema_selection_ill_defined_other.json | 0 .../schema_selection_intracranial_gland.json | 0 .../schema_selection_kaposi_sarcoma.json | 0 .../schema_selection_kidney_parenchyma.json | 0 .../schema_selection_kidney_renal_pelvis.json | 0 .../schema_selection_lacrimal_gland.json | 0 .../tables/schema_selection_lacrimal_sac.json | 0 .../schema_selection_larynx_glottic.json | 0 .../tables/schema_selection_larynx_other.json | 0 .../schema_selection_larynx_subglottic.json | 0 .../schema_selection_larynx_supraglottic.json | 0 .../tables/schema_selection_lip_lower.json | 0 .../tables/schema_selection_lip_other.json | 0 .../tables/schema_selection_lip_upper.json | 0 .../2.0/tables/schema_selection_liver.json | 0 .../tnm/2.0/tables/schema_selection_lung.json | 0 .../2.0/tables/schema_selection_lymphoma.json | 0 ...hema_selection_lymphoma_ocular_adnexa.json | 0 ...hema_selection_melanoma_buccal_mucosa.json | 0 .../schema_selection_melanoma_choroid.json | 0 ...chema_selection_melanoma_ciliary_body.json | 0 ...schema_selection_melanoma_conjunctiva.json | 0 ...election_melanoma_epiglottis_anterior.json | 0 .../schema_selection_melanoma_eye_other.json | 0 ...schema_selection_melanoma_floor_mouth.json | 0 .../schema_selection_melanoma_gum_lower.json | 0 .../schema_selection_melanoma_gum_other.json | 0 .../schema_selection_melanoma_gum_upper.json | 0 ...schema_selection_melanoma_hypopharynx.json | 0 .../schema_selection_melanoma_iris.json | 0 ...ema_selection_melanoma_larynx_glottic.json | 0 ...chema_selection_melanoma_larynx_other.json | 0 ..._selection_melanoma_larynx_subglottic.json | 0 ...election_melanoma_larynx_supraglottic.json | 0 .../schema_selection_melanoma_lip_lower.json | 0 .../schema_selection_melanoma_lip_other.json | 0 .../schema_selection_melanoma_lip_upper.json | 0 ...schema_selection_melanoma_mouth_other.json | 0 ...chema_selection_melanoma_nasal_cavity.json | 0 ...schema_selection_melanoma_nasopharynx.json | 0 .../schema_selection_melanoma_oropharynx.json | 0 ...schema_selection_melanoma_palate_hard.json | 0 ...schema_selection_melanoma_palate_soft.json | 0 ...hema_selection_melanoma_pharynx_other.json | 0 ...hema_selection_melanoma_sinus_ethmoid.json | 0 ...ma_selection_melanoma_sinus_maxillary.json | 0 ...schema_selection_melanoma_sinus_other.json | 0 .../schema_selection_melanoma_skin.json | 0 ...ma_selection_melanoma_tongue_anterior.json | 0 ...schema_selection_melanoma_tongue_base.json | 0 .../schema_selection_merkel_cell_penis.json | 0 .../schema_selection_merkel_cell_scrotum.json | 0 .../schema_selection_merkel_cell_skin.json | 0 .../schema_selection_merkel_cell_vulva.json | 0 .../tables/schema_selection_middle_ear.json | 0 .../tables/schema_selection_mouth_other.json | 0 .../schema_selection_mycosis_fungoides.json | 0 ...election_myeloma_plasma_cell_disorder.json | 0 .../tables/schema_selection_nasal_cavity.json | 0 .../tables/schema_selection_nasopharynx.json | 0 .../tables/schema_selection_net_ampulla.json | 0 .../tables/schema_selection_net_colon.json | 0 .../tables/schema_selection_net_rectum.json | 0 .../schema_selection_net_small_intestine.json | 0 .../tables/schema_selection_net_stomach.json | 0 .../2.0/tables/schema_selection_orbit.json | 0 .../tables/schema_selection_oropharynx.json | 0 .../2.0/tables/schema_selection_ovary.json | 0 .../tables/schema_selection_palate_hard.json | 0 .../tables/schema_selection_palate_soft.json | 0 .../schema_selection_pancreas_body_tail.json | 0 .../schema_selection_pancreas_head.json | 0 .../schema_selection_pancreas_other.json | 0 .../schema_selection_parotid_gland.json | 0 .../2.0/tables/schema_selection_penis.json | 0 .../tables/schema_selection_peritoneum.json | 0 ...chema_selection_peritoneum_female_gen.json | 0 .../schema_selection_pharyngeal_tonsil.json | 0 .../schema_selection_pharynx_other.json | 0 .../2.0/tables/schema_selection_placenta.json | 0 .../2.0/tables/schema_selection_pleura.json | 0 .../2.0/tables/schema_selection_prostate.json | 0 .../2.0/tables/schema_selection_rectum.json | 0 .../schema_selection_respiratory_other.json | 0 .../schema_selection_retinoblastoma.json | 0 .../schema_selection_retroperitoneum.json | 0 ...schema_selection_salivary_gland_other.json | 0 .../2.0/tables/schema_selection_scrotum.json | 0 .../schema_selection_sinus_ethmoid.json | 0 .../schema_selection_sinus_maxillary.json | 0 .../tables/schema_selection_sinus_other.json | 0 .../tnm/2.0/tables/schema_selection_skin.json | 0 .../tables/schema_selection_skin_eyelid.json | 0 .../schema_selection_small_intestine.json | 0 .../tables/schema_selection_soft_tissue.json | 0 .../2.0/tables/schema_selection_stomach.json | 0 .../schema_selection_submandibular_gland.json | 0 .../2.0/tables/schema_selection_testis.json | 0 .../2.0/tables/schema_selection_thyroid.json | 0 .../schema_selection_tongue_anterior.json | 0 .../tables/schema_selection_tongue_base.json | 0 .../2.0/tables/schema_selection_trachea.json | 0 .../2.0/tables/schema_selection_urethra.json | 0 .../schema_selection_urinary_other.json | 0 .../2.0/tables/schema_selection_vagina.json | 0 .../2.0/tables/schema_selection_vulva.json | 0 .../tnm/2.0/tables/scrotum_t_52966.json | 0 .../2.0/tables/select_stage_group_19580.json | 0 .../algorithms/tnm/2.0/tables/sex_19563.json | 0 .../tnm/2.0/tables/sinus_ethmoid_t_5235.json | 0 .../tnm/2.0/tables/sinus_ethmoid_t_70472.json | 0 .../2.0/tables/sinus_maxillary_t_7871.json | 0 .../tnm/2.0/tables/skin_eyelid_n_65771.json | 0 .../tnm/2.0/tables/skin_eyelid_t_57348.json | 0 .../tnm/2.0/tables/skin_t_38821.json | 0 .../2.0/tables/small_intestine_t_70831.json | 0 .../tnm/2.0/tables/soft_tissue_n_4758.json | 0 .../tnm/2.0/tables/soft_tissue_t_79319.json | 0 ...sf10_path_stage_group_selection_48445.json | 0 .../algorithms/tnm/2.0/tables/ssf10_sad.json | 0 .../algorithms/tnm/2.0/tables/ssf10_sat.json | 0 .../algorithms/tnm/2.0/tables/ssf10_saz.json | 0 .../algorithms/tnm/2.0/tables/ssf10_scm.json | 0 .../algorithms/tnm/2.0/tables/ssf10_sek.json | 0 .../algorithms/tnm/2.0/tables/ssf10_seq.json | 0 .../algorithms/tnm/2.0/tables/ssf10_sex.json | 0 .../algorithms/tnm/2.0/tables/ssf10_sfi.json | 0 .../algorithms/tnm/2.0/tables/ssf10_spd.json | 0 .../algorithms/tnm/2.0/tables/ssf10_spi.json | 0 .../algorithms/tnm/2.0/tables/ssf10_spz.json | 0 .../algorithms/tnm/2.0/tables/ssf10_sqj.json | 0 .../algorithms/tnm/2.0/tables/ssf10_sqs.json | 0 .../algorithms/tnm/2.0/tables/ssf10_srh.json | 0 .../ssf10_stage_group_selection_87171.json | 0 .../algorithms/tnm/2.0/tables/ssf11_sae.json | 0 .../algorithms/tnm/2.0/tables/ssf11_sba.json | 0 .../algorithms/tnm/2.0/tables/ssf11_sbt.json | 0 .../algorithms/tnm/2.0/tables/ssf11_scj.json | 0 .../algorithms/tnm/2.0/tables/ssf11_ser.json | 0 .../algorithms/tnm/2.0/tables/ssf11_spe.json | 0 .../algorithms/tnm/2.0/tables/ssf11_spk.json | 0 .../algorithms/tnm/2.0/tables/ssf11_sps.json | 0 .../algorithms/tnm/2.0/tables/ssf11_sqa.json | 0 .../algorithms/tnm/2.0/tables/ssf11_sqe.json | 0 .../algorithms/tnm/2.0/tables/ssf11_sqt.json | 0 .../algorithms/tnm/2.0/tables/ssf11_srd.json | 0 .../algorithms/tnm/2.0/tables/ssf11_sri.json | 0 .../algorithms/tnm/2.0/tables/ssf12_saf.json | 0 .../algorithms/tnm/2.0/tables/ssf12_sbb.json | 0 .../algorithms/tnm/2.0/tables/ssf12_sbu.json | 0 .../algorithms/tnm/2.0/tables/ssf12_sck.json | 0 .../algorithms/tnm/2.0/tables/ssf12_ses.json | 0 .../algorithms/tnm/2.0/tables/ssf12_sev.json | 0 .../algorithms/tnm/2.0/tables/ssf12_sew.json | 0 .../algorithms/tnm/2.0/tables/ssf12_sez.json | 0 .../algorithms/tnm/2.0/tables/ssf12_sfd.json | 0 .../algorithms/tnm/2.0/tables/ssf12_spl.json | 0 .../algorithms/tnm/2.0/tables/ssf12_sqb.json | 0 .../algorithms/tnm/2.0/tables/ssf12_sqf.json | 0 .../algorithms/tnm/2.0/tables/ssf12_srj.json | 0 .../algorithms/tnm/2.0/tables/ssf13_sag.json | 0 .../algorithms/tnm/2.0/tables/ssf13_sbc.json | 0 .../algorithms/tnm/2.0/tables/ssf13_sca.json | 0 .../algorithms/tnm/2.0/tables/ssf13_scl.json | 0 .../algorithms/tnm/2.0/tables/ssf13_sdg.json | 0 .../algorithms/tnm/2.0/tables/ssf13_sdr.json | 0 .../algorithms/tnm/2.0/tables/ssf13_sfa.json | 0 .../algorithms/tnm/2.0/tables/ssf13_sfe.json | 0 .../algorithms/tnm/2.0/tables/ssf13_spm.json | 0 .../algorithms/tnm/2.0/tables/ssf13_sqg.json | 0 .../algorithms/tnm/2.0/tables/ssf13_sqq.json | 0 .../algorithms/tnm/2.0/tables/ssf14_sbd.json | 0 .../algorithms/tnm/2.0/tables/ssf14_sbf.json | 0 .../algorithms/tnm/2.0/tables/ssf14_scn.json | 0 .../algorithms/tnm/2.0/tables/ssf14_sdh.json | 0 .../algorithms/tnm/2.0/tables/ssf14_sds.json | 0 .../algorithms/tnm/2.0/tables/ssf14_sfb.json | 0 .../algorithms/tnm/2.0/tables/ssf14_sff.json | 0 .../algorithms/tnm/2.0/tables/ssf14_spn.json | 0 .../algorithms/tnm/2.0/tables/ssf14_sqh.json | 0 .../algorithms/tnm/2.0/tables/ssf14_sqr.json | 0 .../algorithms/tnm/2.0/tables/ssf15_sbe.json | 0 .../algorithms/tnm/2.0/tables/ssf15_sbg.json | 0 .../algorithms/tnm/2.0/tables/ssf15_sco.json | 0 .../algorithms/tnm/2.0/tables/ssf15_sdm.json | 0 .../algorithms/tnm/2.0/tables/ssf15_sdt.json | 0 .../algorithms/tnm/2.0/tables/ssf15_sfc.json | 0 .../algorithms/tnm/2.0/tables/ssf15_sfg.json | 0 .../algorithms/tnm/2.0/tables/ssf15_spo.json | 0 .../algorithms/tnm/2.0/tables/ssf16_sah.json | 0 .../algorithms/tnm/2.0/tables/ssf16_scp.json | 0 .../algorithms/tnm/2.0/tables/ssf16_sdn.json | 0 .../algorithms/tnm/2.0/tables/ssf16_sfh.json | 0 .../algorithms/tnm/2.0/tables/ssf16_spt.json | 0 .../algorithms/tnm/2.0/tables/ssf16_squ.json | 0 .../algorithms/tnm/2.0/tables/ssf16_sqv.json | 0 .../algorithms/tnm/2.0/tables/ssf16_sqw.json | 0 .../algorithms/tnm/2.0/tables/ssf17_sai.json | 0 .../algorithms/tnm/2.0/tables/ssf17_seu.json | 0 .../algorithms/tnm/2.0/tables/ssf17_spu.json | 0 .../algorithms/tnm/2.0/tables/ssf17_sqx.json | 0 .../algorithms/tnm/2.0/tables/ssf18_saj.json | 0 .../algorithms/tnm/2.0/tables/ssf18_sqy.json | 0 .../algorithms/tnm/2.0/tables/ssf19_sak.json | 0 .../algorithms/tnm/2.0/tables/ssf19_sqz.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jae.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jag.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jaj.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jam.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jap.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jaq.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jav.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jbd.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jbh.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jbj.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jbk.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jbl.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jbp.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jbq.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jbt.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jbv.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jbx.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jby.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jbz.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jca.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jce.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jcg.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jpa.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jpd.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jpe.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jpf.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jpj.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jpl.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jpm.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jpo.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jpp.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jpr.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jpt.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jpu.json | 0 .../algorithms/tnm/2.0/tables/ssf1_jpw.json | 0 .../algorithms/tnm/2.0/tables/ssf1_sbh.json | 0 .../algorithms/tnm/2.0/tables/ssf20_sal.json | 0 .../algorithms/tnm/2.0/tables/ssf20_sra.json | 0 .../algorithms/tnm/2.0/tables/ssf21_sam.json | 0 .../algorithms/tnm/2.0/tables/ssf21_srb.json | 0 .../algorithms/tnm/2.0/tables/ssf22_san.json | 0 .../algorithms/tnm/2.0/tables/ssf22_src.json | 0 .../algorithms/tnm/2.0/tables/ssf23_sao.json | 0 .../algorithms/tnm/2.0/tables/ssf24_sap.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kaa.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kab.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kac.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kaj.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kak.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kal.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kao.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kar.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kas.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kaw.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kax.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kay.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kaz.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kbb.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kbc.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kbf.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kbi.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kbl.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kbm.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kbu.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kbv.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kbx.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kpc.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kpd.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kpg.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kpj.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kpk.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kpl.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kpn.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kpo.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kpq.json | 0 .../algorithms/tnm/2.0/tables/ssf2_kpr.json | 0 .../algorithms/tnm/2.0/tables/ssf2_sbi.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lac.json | 0 .../algorithms/tnm/2.0/tables/ssf3_laf.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lah.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lai.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lao.json | 0 .../algorithms/tnm/2.0/tables/ssf3_laq.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lat.json | 0 .../algorithms/tnm/2.0/tables/ssf3_law.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lay.json | 0 .../algorithms/tnm/2.0/tables/ssf3_laz.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lbb.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lbc.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lpa.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lpc.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lpd.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lpe.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lph.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lpj.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lpk.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lpl.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lpm.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lpp.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lpr.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lps.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lpt.json | 0 .../algorithms/tnm/2.0/tables/ssf3_lpu.json | 0 .../algorithms/tnm/2.0/tables/ssf4_maa.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mab.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mac.json | 0 .../algorithms/tnm/2.0/tables/ssf4_maj.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mal.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mam.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mas.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mat.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mav.json | 0 .../algorithms/tnm/2.0/tables/ssf4_maz.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mbd.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mbg.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mbh.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mbi.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mbj.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mpa.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mpb.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mpd.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mpe.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mpf.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mpg.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mpn.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mpq.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mpr.json | 0 .../algorithms/tnm/2.0/tables/ssf4_mps.json | 0 .../algorithms/tnm/2.0/tables/ssf5_naa.json | 0 .../algorithms/tnm/2.0/tables/ssf5_nab.json | 0 .../algorithms/tnm/2.0/tables/ssf5_nac.json | 0 .../algorithms/tnm/2.0/tables/ssf5_nah.json | 0 .../algorithms/tnm/2.0/tables/ssf5_nai.json | 0 .../algorithms/tnm/2.0/tables/ssf5_nak.json | 0 .../algorithms/tnm/2.0/tables/ssf5_nap.json | 0 .../algorithms/tnm/2.0/tables/ssf5_naq.json | 0 .../algorithms/tnm/2.0/tables/ssf5_nar.json | 0 .../algorithms/tnm/2.0/tables/ssf5_nas.json | 0 .../algorithms/tnm/2.0/tables/ssf5_nav.json | 0 .../algorithms/tnm/2.0/tables/ssf5_naw.json | 0 .../algorithms/tnm/2.0/tables/ssf5_nba.json | 0 .../algorithms/tnm/2.0/tables/ssf5_nbb.json | 0 .../algorithms/tnm/2.0/tables/ssf5_npa.json | 0 .../algorithms/tnm/2.0/tables/ssf5_npb.json | 0 .../algorithms/tnm/2.0/tables/ssf5_npe.json | 0 .../algorithms/tnm/2.0/tables/ssf5_npf.json | 0 .../algorithms/tnm/2.0/tables/ssf5_npg.json | 0 .../algorithms/tnm/2.0/tables/ssf5_nph.json | 0 .../algorithms/tnm/2.0/tables/ssf5_npk.json | 0 .../algorithms/tnm/2.0/tables/ssf5_npl.json | 0 .../algorithms/tnm/2.0/tables/ssf5_npm.json | 0 .../algorithms/tnm/2.0/tables/ssf6_oaa.json | 0 .../algorithms/tnm/2.0/tables/ssf6_oae.json | 0 .../algorithms/tnm/2.0/tables/ssf6_oaf.json | 0 .../algorithms/tnm/2.0/tables/ssf6_oag.json | 0 .../algorithms/tnm/2.0/tables/ssf6_oak.json | 0 .../algorithms/tnm/2.0/tables/ssf6_oam.json | 0 .../algorithms/tnm/2.0/tables/ssf6_oao.json | 0 .../algorithms/tnm/2.0/tables/ssf6_oap.json | 0 .../algorithms/tnm/2.0/tables/ssf6_oaq.json | 0 .../algorithms/tnm/2.0/tables/ssf6_oas.json | 0 .../algorithms/tnm/2.0/tables/ssf6_oat.json | 0 .../algorithms/tnm/2.0/tables/ssf6_oaw.json | 0 .../algorithms/tnm/2.0/tables/ssf6_oax.json | 0 .../algorithms/tnm/2.0/tables/ssf6_oay.json | 0 .../algorithms/tnm/2.0/tables/ssf6_opa.json | 0 .../algorithms/tnm/2.0/tables/ssf6_opb.json | 0 .../algorithms/tnm/2.0/tables/ssf6_opd.json | 0 .../algorithms/tnm/2.0/tables/ssf6_opf.json | 0 .../algorithms/tnm/2.0/tables/ssf6_opg.json | 0 .../algorithms/tnm/2.0/tables/ssf6_oph.json | 0 .../algorithms/tnm/2.0/tables/ssf6_opi.json | 0 .../algorithms/tnm/2.0/tables/ssf7_saa.json | 0 .../algorithms/tnm/2.0/tables/ssf7_saq.json | 0 .../algorithms/tnm/2.0/tables/ssf7_saw.json | 0 .../algorithms/tnm/2.0/tables/ssf7_sbv.json | 0 .../algorithms/tnm/2.0/tables/ssf7_sbx.json | 0 .../algorithms/tnm/2.0/tables/ssf7_scb.json | 0 .../algorithms/tnm/2.0/tables/ssf7_scq.json | 0 .../algorithms/tnm/2.0/tables/ssf7_sde.json | 0 .../algorithms/tnm/2.0/tables/ssf7_sdf.json | 0 .../algorithms/tnm/2.0/tables/ssf7_sdo.json | 0 .../algorithms/tnm/2.0/tables/ssf7_sdx.json | 0 .../algorithms/tnm/2.0/tables/ssf7_seb.json | 0 .../algorithms/tnm/2.0/tables/ssf7_seh.json | 0 .../algorithms/tnm/2.0/tables/ssf7_sfl.json | 0 .../algorithms/tnm/2.0/tables/ssf7_spa.json | 0 .../algorithms/tnm/2.0/tables/ssf7_spf.json | 0 .../algorithms/tnm/2.0/tables/ssf7_spw.json | 0 .../algorithms/tnm/2.0/tables/ssf7_sqk.json | 0 .../algorithms/tnm/2.0/tables/ssf7_sqn.json | 0 .../algorithms/tnm/2.0/tables/ssf7_sre.json | 0 .../algorithms/tnm/2.0/tables/ssf8_sab.json | 0 .../algorithms/tnm/2.0/tables/ssf8_sar.json | 0 .../algorithms/tnm/2.0/tables/ssf8_sax.json | 0 .../algorithms/tnm/2.0/tables/ssf8_sby.json | 0 .../algorithms/tnm/2.0/tables/ssf8_scc.json | 0 .../algorithms/tnm/2.0/tables/ssf8_sdd.json | 0 .../algorithms/tnm/2.0/tables/ssf8_sdp.json | 0 .../algorithms/tnm/2.0/tables/ssf8_sdy.json | 0 .../algorithms/tnm/2.0/tables/ssf8_sec.json | 0 .../algorithms/tnm/2.0/tables/ssf8_sei.json | 0 .../algorithms/tnm/2.0/tables/ssf8_sfk.json | 0 .../algorithms/tnm/2.0/tables/ssf8_spb.json | 0 .../algorithms/tnm/2.0/tables/ssf8_spg.json | 0 .../algorithms/tnm/2.0/tables/ssf8_spx.json | 0 .../algorithms/tnm/2.0/tables/ssf8_sql.json | 0 .../algorithms/tnm/2.0/tables/ssf8_sqo.json | 0 .../algorithms/tnm/2.0/tables/ssf8_srf.json | 0 .../algorithms/tnm/2.0/tables/ssf9_sac.json | 0 .../algorithms/tnm/2.0/tables/ssf9_sas.json | 0 .../algorithms/tnm/2.0/tables/ssf9_say.json | 0 .../algorithms/tnm/2.0/tables/ssf9_sdi.json | 0 .../algorithms/tnm/2.0/tables/ssf9_sdq.json | 0 .../algorithms/tnm/2.0/tables/ssf9_sdz.json | 0 .../algorithms/tnm/2.0/tables/ssf9_sed.json | 0 .../algorithms/tnm/2.0/tables/ssf9_sej.json | 0 .../algorithms/tnm/2.0/tables/ssf9_spc.json | 0 .../algorithms/tnm/2.0/tables/ssf9_sph.json | 0 .../algorithms/tnm/2.0/tables/ssf9_sqm.json | 0 .../algorithms/tnm/2.0/tables/ssf9_srg.json | 0 .../tnm/2.0/tables/stage_group_94596.json | 0 .../tnm/2.0/tables/stage_group_c_1171.json | 0 .../tnm/2.0/tables/stage_group_c_13226.json | 0 .../tnm/2.0/tables/stage_group_c_14599.json | 0 .../tnm/2.0/tables/stage_group_c_15811.json | 0 .../tnm/2.0/tables/stage_group_c_19537.json | 0 .../tnm/2.0/tables/stage_group_c_20505.json | 0 .../tnm/2.0/tables/stage_group_c_22295.json | 0 .../tnm/2.0/tables/stage_group_c_2328.json | 0 .../tnm/2.0/tables/stage_group_c_26613.json | 0 .../tnm/2.0/tables/stage_group_c_29799.json | 0 .../tnm/2.0/tables/stage_group_c_30166.json | 0 .../tnm/2.0/tables/stage_group_c_32452.json | 0 .../tnm/2.0/tables/stage_group_c_32628.json | 0 .../tnm/2.0/tables/stage_group_c_32742.json | 0 .../tnm/2.0/tables/stage_group_c_34250.json | 0 .../tnm/2.0/tables/stage_group_c_34977.json | 0 .../tnm/2.0/tables/stage_group_c_37137.json | 0 .../tnm/2.0/tables/stage_group_c_40902.json | 0 .../tnm/2.0/tables/stage_group_c_4134.json | 0 .../tnm/2.0/tables/stage_group_c_41802.json | 0 .../tnm/2.0/tables/stage_group_c_42709.json | 0 .../tnm/2.0/tables/stage_group_c_42843.json | 0 .../tnm/2.0/tables/stage_group_c_46351.json | 0 .../tnm/2.0/tables/stage_group_c_46455.json | 0 .../tnm/2.0/tables/stage_group_c_47235.json | 0 .../tnm/2.0/tables/stage_group_c_47728.json | 0 .../tnm/2.0/tables/stage_group_c_478.json | 0 .../tnm/2.0/tables/stage_group_c_49193.json | 0 .../tnm/2.0/tables/stage_group_c_49395.json | 0 .../tnm/2.0/tables/stage_group_c_51542.json | 0 .../tnm/2.0/tables/stage_group_c_52010.json | 0 .../tnm/2.0/tables/stage_group_c_55797.json | 0 .../tnm/2.0/tables/stage_group_c_56577.json | 0 .../tnm/2.0/tables/stage_group_c_57716.json | 0 .../tnm/2.0/tables/stage_group_c_59028.json | 0 .../tnm/2.0/tables/stage_group_c_59520.json | 0 .../tnm/2.0/tables/stage_group_c_59832.json | 0 .../tnm/2.0/tables/stage_group_c_61951.json | 0 .../tnm/2.0/tables/stage_group_c_62342.json | 0 .../tnm/2.0/tables/stage_group_c_63552.json | 0 .../tnm/2.0/tables/stage_group_c_64282.json | 0 .../tnm/2.0/tables/stage_group_c_65478.json | 0 .../tnm/2.0/tables/stage_group_c_65801.json | 0 .../tnm/2.0/tables/stage_group_c_66879.json | 0 .../tnm/2.0/tables/stage_group_c_73800.json | 0 .../tnm/2.0/tables/stage_group_c_75034.json | 0 .../tnm/2.0/tables/stage_group_c_76410.json | 0 .../tnm/2.0/tables/stage_group_c_76779.json | 0 .../tnm/2.0/tables/stage_group_c_79525.json | 0 .../tnm/2.0/tables/stage_group_c_82556.json | 0 .../tnm/2.0/tables/stage_group_c_83264.json | 0 .../tnm/2.0/tables/stage_group_c_85588.json | 0 .../tnm/2.0/tables/stage_group_c_86666.json | 0 .../tnm/2.0/tables/stage_group_c_89731.json | 0 .../tnm/2.0/tables/stage_group_c_90191.json | 0 .../tnm/2.0/tables/stage_group_c_92535.json | 0 .../tnm/2.0/tables/stage_group_c_93818.json | 0 .../tnm/2.0/tables/stage_group_c_95471.json | 0 .../tnm/2.0/tables/stage_group_c_96502.json | 0 .../tables/stage_group_lymphoma_c_60180.json | 0 ..._group_lymphoma_ocular_adnexa_c_86297.json | 0 ..._group_lymphoma_ocular_adnexa_p_45342.json | 0 .../tables/stage_group_lymphoma_p_48657.json | 0 .../tnm/2.0/tables/stage_group_p_11962.json | 0 .../tnm/2.0/tables/stage_group_p_12670.json | 0 .../tnm/2.0/tables/stage_group_p_15208.json | 0 .../tnm/2.0/tables/stage_group_p_18837.json | 0 .../tnm/2.0/tables/stage_group_p_21201.json | 0 .../tnm/2.0/tables/stage_group_p_24418.json | 0 .../tnm/2.0/tables/stage_group_p_25104.json | 0 .../tnm/2.0/tables/stage_group_p_27096.json | 0 .../tnm/2.0/tables/stage_group_p_31599.json | 0 .../tnm/2.0/tables/stage_group_p_3409.json | 0 .../tnm/2.0/tables/stage_group_p_35702.json | 0 .../tnm/2.0/tables/stage_group_p_39380.json | 0 .../tnm/2.0/tables/stage_group_p_40037.json | 0 .../tnm/2.0/tables/stage_group_p_42277.json | 0 .../tnm/2.0/tables/stage_group_p_42915.json | 0 .../tnm/2.0/tables/stage_group_p_42930.json | 0 .../tnm/2.0/tables/stage_group_p_44218.json | 0 .../tnm/2.0/tables/stage_group_p_44348.json | 0 .../tnm/2.0/tables/stage_group_p_4518.json | 0 .../tnm/2.0/tables/stage_group_p_45269.json | 0 .../tnm/2.0/tables/stage_group_p_45729.json | 0 .../tnm/2.0/tables/stage_group_p_4750.json | 0 .../tnm/2.0/tables/stage_group_p_4759.json | 0 .../tnm/2.0/tables/stage_group_p_48023.json | 0 .../tnm/2.0/tables/stage_group_p_48545.json | 0 .../tnm/2.0/tables/stage_group_p_5079.json | 0 .../tnm/2.0/tables/stage_group_p_53847.json | 0 .../tnm/2.0/tables/stage_group_p_54450.json | 0 .../tnm/2.0/tables/stage_group_p_54695.json | 0 .../tnm/2.0/tables/stage_group_p_56445.json | 0 .../tnm/2.0/tables/stage_group_p_60572.json | 0 .../tnm/2.0/tables/stage_group_p_61212.json | 0 .../tnm/2.0/tables/stage_group_p_63631.json | 0 .../tnm/2.0/tables/stage_group_p_65545.json | 0 .../tnm/2.0/tables/stage_group_p_66747.json | 0 .../tnm/2.0/tables/stage_group_p_66915.json | 0 .../tnm/2.0/tables/stage_group_p_67704.json | 0 .../tnm/2.0/tables/stage_group_p_71358.json | 0 .../tnm/2.0/tables/stage_group_p_72316.json | 0 .../tnm/2.0/tables/stage_group_p_74045.json | 0 .../tnm/2.0/tables/stage_group_p_75705.json | 0 .../tnm/2.0/tables/stage_group_p_78345.json | 0 .../tnm/2.0/tables/stage_group_p_78368.json | 0 .../tnm/2.0/tables/stage_group_p_79654.json | 0 .../tnm/2.0/tables/stage_group_p_79934.json | 0 .../tnm/2.0/tables/stage_group_p_79956.json | 0 .../tnm/2.0/tables/stage_group_p_81228.json | 0 .../tnm/2.0/tables/stage_group_p_82326.json | 0 .../tnm/2.0/tables/stage_group_p_82525.json | 0 .../tnm/2.0/tables/stage_group_p_83975.json | 0 .../tnm/2.0/tables/stage_group_p_84556.json | 0 .../tnm/2.0/tables/stage_group_p_8501.json | 0 .../tnm/2.0/tables/stage_group_p_8706.json | 0 .../tnm/2.0/tables/stage_group_p_89660.json | 0 .../tnm/2.0/tables/stage_group_p_90233.json | 0 .../tnm/2.0/tables/stage_group_p_92581.json | 0 .../tnm/2.0/tables/stage_group_p_93370.json | 0 .../tnm/2.0/tables/stage_group_p_94665.json | 0 .../tnm/2.0/tables/stage_group_p_95243.json | 0 .../tnm/2.0/tables/stage_group_p_96481.json | 0 .../tnm/2.0/tables/stomach_t_57787.json | 0 .../stop_if_no_clin_and_no_path_24035.json | 0 ...if_no_clin_and_no_path_placenta_53933.json | 0 .../tables/submandibular_gland_t_42810.json | 0 .../tnm/2.0/tables/systemic_surg_seq.json | 0 .../tnm/2.0/tables/testis_n_51427.json | 0 .../tnm/2.0/tables/testis_path_t_76829.json | 0 ...marker_svalue_table_basedon_ssf131516.json | 0 ...oid_ajcctnm7_stage_thyroid_anaplastic.json | 0 ...roid_ajcctnm7_stage_thyroid_medullary.json | 0 ...apillaryand_follicular_age45and_older.json | 0 ...d_papillaryand_follicular_lessthan_45.json | 0 .../2.0/tables/thyroid_anaplastic_74409.json | 0 .../tnm/2.0/tables/thyroid_t_6166.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tab.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tae.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpa.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpb.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpc.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpe.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpf.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpg.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tph.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpi.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpj.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpk.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpl.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpm.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpn.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpo.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpp.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpq.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpr.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tps.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpt.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpv.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpw.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpx.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpy.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tpz.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tqa.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tqb.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tqc.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tqg.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tqh.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tqi.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tqj.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tqk.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tql.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tqm.json | 0 .../tnm/2.0/tables/tnm7_inclusions_tqn.json | 0 ...7_path_stage_gist_small_intestine_upy.json | 0 ...7_path_stage_group_gist_stomach_36358.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uaa.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uab.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uac.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uad.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uae.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uaf.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uak.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ual.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uam.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uao.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uaq.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uar.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uau.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uav.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uaw.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uax.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uay.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uaz.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uba.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubb.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubc.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubd.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubf.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubg.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubh.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubi.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubj.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubk.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubl.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubm.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubn.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubp.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubq.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubs.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubt.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubu.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubv.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ubx.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uby.json | 0 .../tnm/2.0/tables/tnm7_path_stage_upm.json | 0 .../tnm/2.0/tables/tnm7_path_stage_ups.json | 0 .../tnm/2.0/tables/tnm7_path_stage_upt.json | 0 .../tnm/2.0/tables/tnm7_path_stage_upu.json | 0 .../tnm/2.0/tables/tnm7_path_stage_upv.json | 0 .../tnm/2.0/tables/tnm7_path_stage_upw.json | 0 .../tnm/2.0/tables/tnm7_path_stage_upx.json | 0 .../tnm/2.0/tables/tnm7_path_stage_upz.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uqa.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uqb.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uqc.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uqd.json | 0 .../tnm/2.0/tables/tnm7_path_stage_uqe.json | 0 ...for_sites_with_no_stage_groupings_unb.json | 0 .../tnm7_stage_gist_small_intestine_upy.json | 0 .../tnm/2.0/tables/tnm7_stage_uaa.json | 0 .../tnm/2.0/tables/tnm7_stage_uab.json | 0 .../tnm/2.0/tables/tnm7_stage_uac.json | 0 .../tnm/2.0/tables/tnm7_stage_uad.json | 0 .../tnm/2.0/tables/tnm7_stage_uae.json | 0 .../tnm/2.0/tables/tnm7_stage_uaf.json | 0 .../tnm/2.0/tables/tnm7_stage_uak.json | 0 .../tnm/2.0/tables/tnm7_stage_ual.json | 0 .../tnm/2.0/tables/tnm7_stage_uam.json | 0 .../tnm/2.0/tables/tnm7_stage_uao.json | 0 .../tnm/2.0/tables/tnm7_stage_uaq.json | 0 .../tnm/2.0/tables/tnm7_stage_uar.json | 0 .../tnm/2.0/tables/tnm7_stage_uau.json | 0 .../tnm/2.0/tables/tnm7_stage_uav.json | 0 .../tnm/2.0/tables/tnm7_stage_uaw.json | 0 .../tnm/2.0/tables/tnm7_stage_uax.json | 0 .../tnm/2.0/tables/tnm7_stage_uay.json | 0 .../tnm/2.0/tables/tnm7_stage_uaz.json | 0 .../tnm/2.0/tables/tnm7_stage_uba.json | 0 .../tnm/2.0/tables/tnm7_stage_ubb.json | 0 .../tnm/2.0/tables/tnm7_stage_ubc.json | 0 .../tnm/2.0/tables/tnm7_stage_ubd.json | 0 .../tnm/2.0/tables/tnm7_stage_ubf.json | 0 .../tnm/2.0/tables/tnm7_stage_ubg.json | 0 .../tnm/2.0/tables/tnm7_stage_ubh.json | 0 .../tnm/2.0/tables/tnm7_stage_ubi.json | 0 .../tnm/2.0/tables/tnm7_stage_ubj.json | 0 .../tnm/2.0/tables/tnm7_stage_ubk.json | 0 .../tnm/2.0/tables/tnm7_stage_ubl.json | 0 .../tnm/2.0/tables/tnm7_stage_ubm.json | 0 .../tnm/2.0/tables/tnm7_stage_ubn.json | 0 .../tnm/2.0/tables/tnm7_stage_ubp.json | 0 .../tnm/2.0/tables/tnm7_stage_ubq.json | 0 .../tnm/2.0/tables/tnm7_stage_ubs.json | 0 .../tnm/2.0/tables/tnm7_stage_ubt.json | 0 .../tnm/2.0/tables/tnm7_stage_ubu.json | 0 .../tnm/2.0/tables/tnm7_stage_ubv.json | 0 .../tnm/2.0/tables/tnm7_stage_ubx.json | 0 .../tnm/2.0/tables/tnm7_stage_uby.json | 0 .../tnm/2.0/tables/tnm7_stage_upm.json | 0 .../tnm/2.0/tables/tnm7_stage_ups.json | 0 .../tnm/2.0/tables/tnm7_stage_upt.json | 0 .../tnm/2.0/tables/tnm7_stage_upu.json | 0 .../tnm/2.0/tables/tnm7_stage_upv.json | 0 .../tnm/2.0/tables/tnm7_stage_upw.json | 0 .../tnm/2.0/tables/tnm7_stage_upx.json | 0 .../tnm/2.0/tables/tnm7_stage_upz.json | 0 .../tnm/2.0/tables/tnm7_stage_uqa.json | 0 .../tnm/2.0/tables/tnm7_stage_uqb.json | 0 .../tnm/2.0/tables/tnm7_stage_uqc.json | 0 .../tnm/2.0/tables/tnm7_stage_uqd.json | 0 .../tnm/2.0/tables/tnm7_stage_uqe.json | 0 .../tnm_7_combined_stage_group_12118.json | 0 .../tnm_7_combined_stage_group_48585.json | 0 .../tnm_7_combined_stage_group_55778.json | 0 .../tnm_7_combined_stage_group_69346.json | 0 ...tnm_7_path_stage_adenocarcinoma_30413.json | 0 ...tnm_7_path_stage_adenocarcinoma_41458.json | 0 .../tables/tnm_7_path_stage_ewing_61213.json | 0 .../tnm_7_path_stage_not_ewing_41435.json | 0 .../tnm_7_path_stage_squamous_15592.json | 0 .../tnm_7_path_stage_squamous_29624.json | 0 ...7_path_stage_thyroid_anaplastic_79873.json | 0 ..._7_path_stage_thyroid_medullary_77691.json | 0 ...and_follicular_age_45_and_older_71342.json | 0 ...and_follicular_age_less_than_45_95553.json | 0 .../tnm_7_stage_adenocarcinoma_44054.json | 0 .../tnm_7_stage_adenocarcinoma_86531.json | 0 .../2.0/tables/tnm_7_stage_ewing_17708.json | 0 .../tnm_7_stage_group_gist_stomach_36358.json | 0 .../tables/tnm_7_stage_not_ewing_14573.json | 0 .../tables/tnm_7_stage_squamous_34274.json | 0 .../tables/tnm_7_stage_squamous_64205.json | 0 .../2.0/tables/tongue_anterior_t_49048.json | 0 .../tnm/2.0/tables/tonguebase_t_15526.json | 0 .../tnm/2.0/tables/urethra_n_54953.json | 0 .../tnm/2.0/tables/urethra_t_77785.json | 0 .../tnm/2.0/tables/vagina_t_91502.json | 0 .../tnm/2.0/tables/vulva_t_1223.json | 0 .../tnm/2.0/tables/year_dx_validation.json | 0 .../cs_schema_identification.txt.gz | Bin .../schemas/adnexa_uterine_other.gz | Bin .../cs/integration/schemas/adrenal_gland.gz | Bin .../cs/integration/schemas/ampulla_vater.gz | Bin .../resources/cs/integration/schemas/anus.gz | Bin .../integration/schemas/bile_ducts_distal.gz | Bin .../schemas/bile_ducts_perihilar.gz | Bin .../cs/integration/schemas/biliary_other.gz | Bin .../resources/cs/integration/schemas/brain.gz | Bin .../cs/integration/schemas/buccal_mucosa.gz | Bin .../cs/integration/schemas/cervix.gz | Bin .../cs/integration/schemas/cns_other.gz | Bin .../cs/integration/schemas/conjunctiva.gz | Bin .../schemas/corpus_adenosarcoma.gz | Bin .../cs/integration/schemas/cystic_duct.gz | Bin .../cs/integration/schemas/digestive_other.gz | Bin .../cs/integration/schemas/endocrine_other.gz | Bin .../schemas/epiglottis_anterior.gz | Bin .../cs/integration/schemas/eye_other.gz | Bin .../cs/integration/schemas/fallopian_tube.gz | Bin .../cs/integration/schemas/floor_mouth.gz | Bin .../cs/integration/schemas/gallbladder.gz | Bin .../schemas/genital_female_other.gz | Bin .../integration/schemas/genital_male_other.gz | Bin .../cs/integration/schemas/gist_appendix.gz | Bin .../cs/integration/schemas/gist_colon.gz | Bin .../cs/integration/schemas/gist_esophagus.gz | Bin .../cs/integration/schemas/gist_peritoneum.gz | Bin .../cs/integration/schemas/gist_rectum.gz | Bin .../schemas/gist_small_intestine.gz | Bin .../cs/integration/schemas/gist_stomach.gz | Bin .../cs/integration/schemas/gum_lower.gz | Bin .../cs/integration/schemas/gum_other.gz | Bin .../cs/integration/schemas/gum_upper.gz | Bin .../integration/schemas/heart_mediastinum.gz | Bin .../cs/integration/schemas/hypopharynx.gz | Bin .../integration/schemas/ill_defined_other.gz | Bin .../cs/integration/schemas/index.txt | 0 .../integration/schemas/intracranial_gland.gz | Bin .../cs/integration/schemas/kaposi_sarcoma.gz | Bin .../integration/schemas/kidney_parenchyma.gz | Bin .../schemas/kidney_renal_pelvis.gz | Bin .../cs/integration/schemas/lacrimal_gland.gz | Bin .../cs/integration/schemas/lacrimal_sac.gz | Bin .../cs/integration/schemas/larynx_glottic.gz | Bin .../cs/integration/schemas/larynx_other.gz | Bin .../integration/schemas/larynx_subglottic.gz | Bin .../schemas/larynx_supraglottic.gz | Bin .../cs/integration/schemas/lip_lower.gz | Bin .../cs/integration/schemas/lip_other.gz | Bin .../cs/integration/schemas/lip_upper.gz | Bin .../resources/cs/integration/schemas/liver.gz | Bin .../schemas/melanoma_buccal_mucosa.gz | Bin .../schemas/melanoma_epiglottis_anterior.gz | Bin .../integration/schemas/melanoma_eye_other.gz | Bin .../schemas/melanoma_floor_mouth.gz | Bin .../integration/schemas/melanoma_gum_lower.gz | Bin .../integration/schemas/melanoma_gum_other.gz | Bin .../integration/schemas/melanoma_gum_upper.gz | Bin .../schemas/melanoma_hypopharynx.gz | Bin .../cs/integration/schemas/melanoma_iris.gz | Bin .../schemas/melanoma_larynx_glottic.gz | Bin .../schemas/melanoma_larynx_other.gz | Bin .../schemas/melanoma_larynx_subglottic.gz | Bin .../schemas/melanoma_larynx_supraglottic.gz | Bin .../integration/schemas/melanoma_lip_lower.gz | Bin .../integration/schemas/melanoma_lip_other.gz | Bin .../integration/schemas/melanoma_lip_upper.gz | Bin .../schemas/melanoma_mouth_other.gz | Bin .../schemas/melanoma_nasal_cavity.gz | Bin .../schemas/melanoma_nasopharynx.gz | Bin .../schemas/melanoma_oropharynx.gz | Bin .../schemas/melanoma_palate_hard.gz | Bin .../schemas/melanoma_palate_soft.gz | Bin .../schemas/melanoma_pharynx_other.gz | Bin .../schemas/melanoma_sinus_ethmoid.gz | Bin .../schemas/melanoma_sinus_maxillary.gz | Bin .../schemas/melanoma_sinus_other.gz | Bin .../schemas/melanoma_tongue_anterior.gz | Bin .../schemas/melanoma_tongue_base.gz | Bin .../cs/integration/schemas/middle_ear.gz | Bin .../cs/integration/schemas/mouth_other.gz | Bin .../integration/schemas/mycosis_fungoides.gz | Bin .../schemas/myeloma_plasma_cell_disorder.gz | Bin .../cs/integration/schemas/nasal_cavity.gz | Bin .../cs/integration/schemas/nasopharynx.gz | Bin .../cs/integration/schemas/net_ampulla.gz | Bin .../schemas/net_small_intestine.gz | Bin .../resources/cs/integration/schemas/orbit.gz | Bin .../resources/cs/integration/schemas/ovary.gz | Bin .../cs/integration/schemas/palate_hard.gz | Bin .../cs/integration/schemas/palate_soft.gz | Bin .../integration/schemas/pancreas_body_tail.gz | Bin .../cs/integration/schemas/pancreas_head.gz | Bin .../cs/integration/schemas/pancreas_other.gz | Bin .../cs/integration/schemas/parotid_gland.gz | Bin .../resources/cs/integration/schemas/penis.gz | Bin .../cs/integration/schemas/peritoneum.gz | Bin .../integration/schemas/pharyngeal_tonsil.gz | Bin .../cs/integration/schemas/pharynx_other.gz | Bin .../cs/integration/schemas/placenta.gz | Bin .../integration/schemas/respiratory_other.gz | Bin .../cs/integration/schemas/retroperitoneum.gz | Bin .../schemas/salivary_gland_other.gz | Bin .../cs/integration/schemas/sinus_ethmoid.gz | Bin .../cs/integration/schemas/sinus_maxillary.gz | Bin .../cs/integration/schemas/sinus_other.gz | Bin .../schemas/submandibular_gland.gz | Bin .../cs/integration/schemas/tongue_anterior.gz | Bin .../cs/integration/schemas/tongue_base.gz | Bin .../cs/integration/schemas/trachea.gz | Bin .../cs/integration/schemas/urethra.gz | Bin .../cs/integration/schemas/urinary_other.gz | Bin .../cs/integration/schemas/vagina.gz | Bin .../resources/cs/integration/schemas/vulva.gz | Bin .../020550/AJCC_6.V020550.10000.txt.gz | Bin .../cs/test-data/020550/AJCC_6.V020550.txt.gz | Bin .../020550/AJCC_7.V020550.10000.txt.gz | Bin .../cs/test-data/020550/AJCC_7.V020550.txt.gz | Bin .../cs_schema_identification_unit_test.txt.gz | Bin .../020550/valid_inputs.020550.txt.gz | Bin .../test/resources/external_algorithm.zip | Bin .../test/resources/simplelogger.properties | 0 4861 files changed, 855 insertions(+), 646 deletions(-) create mode 100644 .mvn/wrapper/maven-wrapper.jar create mode 100644 .mvn/wrapper/maven-wrapper.properties delete mode 100644 algorithm-cs/build.gradle delete mode 100644 algorithm-cs/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java delete mode 100644 algorithm-eod/build.gradle delete mode 100644 algorithm-eod/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java delete mode 100644 algorithm-pediatric/build.gradle delete mode 100644 algorithm-pediatric/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java delete mode 100644 algorithm-tnm/build.gradle delete mode 100644 algorithm-tnm/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java delete mode 100644 build.gradle delete mode 100644 gradlew delete mode 100644 gradlew.bat delete mode 100644 lib/build.gradle create mode 100644 mvnw create mode 100644 mvnw.cmd create mode 100644 pom.xml delete mode 100644 settings.gradle rename {lib/src => src}/main/java/com/imsweb/staging/ExternalStagingFileDataProvider.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/InMemoryDataProvider.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/Staging.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/StagingDataProvider.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/StagingFileDataProvider.java (100%) rename {algorithm-cs/src => src}/main/java/com/imsweb/staging/cs/CsDataProvider.java (100%) rename {algorithm-cs/src => src}/main/java/com/imsweb/staging/cs/CsSchemaLookup.java (100%) rename {algorithm-cs/src => src}/main/java/com/imsweb/staging/cs/CsStagingData.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/engine/DecisionEngine.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/ColumnDefinition.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/DataProvider.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/Endpoint.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/Error.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/GlossaryDefinition.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/GlossaryHit.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/Input.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/KeyMapping.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/KeyValue.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/Mapping.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/Metadata.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/Output.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/Range.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/Result.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/Schema.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/SchemaLookup.java (96%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/StagingData.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/Table.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/TablePath.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/TableRow.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/impl/StagingColumnDefinition.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/impl/StagingEndpoint.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/impl/StagingKeyMapping.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/impl/StagingKeyValue.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/impl/StagingMapping.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/impl/StagingMetadata.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/impl/StagingMetadataDeserializer.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/impl/StagingRange.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/impl/StagingSchema.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/impl/StagingSchemaInput.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/impl/StagingSchemaOutput.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/impl/StagingTable.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/impl/StagingTablePath.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/entities/impl/StagingTableRow.java (100%) rename {algorithm-eod/src => src}/main/java/com/imsweb/staging/eod/EodDataProvider.java (100%) rename {algorithm-eod/src => src}/main/java/com/imsweb/staging/eod/EodSchemaLookup.java (100%) rename {algorithm-eod/src => src}/main/java/com/imsweb/staging/eod/EodStagingData.java (100%) rename {algorithm-pediatric/src => src}/main/java/com/imsweb/staging/pediatric/PediatricDataProvider.java (100%) rename {algorithm-pediatric/src => src}/main/java/com/imsweb/staging/pediatric/PediatricSchemaLookup.java (100%) rename {algorithm-pediatric/src => src}/main/java/com/imsweb/staging/pediatric/PediatricStagingData.java (100%) rename {algorithm-tnm/src => src}/main/java/com/imsweb/staging/tnm/TnmDataProvider.java (100%) rename {algorithm-tnm/src => src}/main/java/com/imsweb/staging/tnm/TnmSchemaLookup.java (100%) rename {algorithm-tnm/src => src}/main/java/com/imsweb/staging/tnm/TnmStagingData.java (100%) rename {lib/src => src}/main/java/com/imsweb/staging/util/Stopwatch.java (100%) rename {lib/src/testFixtures => src/test}/java/com/imsweb/staging/AlgorithmZipUtils.java (100%) rename {lib/src => src}/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java (100%) rename {lib/src => src}/test/java/com/imsweb/staging/FileDataProviderTest.java (100%) rename {lib/src => src}/test/java/com/imsweb/staging/StagingDataProviderTest.java (100%) rename {lib/src => src}/test/java/com/imsweb/staging/StagingFileDataProviderTest.java (100%) rename {lib/src/testFixtures => src/test}/java/com/imsweb/staging/StagingTest.java (100%) rename {algorithm-cs/src => src}/test/java/com/imsweb/staging/cs/CsIntegrationTest.java (100%) rename {algorithm-cs/src => src}/test/java/com/imsweb/staging/cs/CsSchemaLookupTest.java (100%) rename {algorithm-cs/src => src}/test/java/com/imsweb/staging/cs/CsStagingTest.java (100%) rename {algorithm-cs/src => src}/test/java/com/imsweb/staging/cs/CsUpdateFromAPI.java (100%) rename {algorithm-cs/src => src}/test/java/com/imsweb/staging/cs/IntegrationUtils.java (97%) rename {lib/src => src}/test/java/com/imsweb/staging/engine/BasicStagingTest.java (100%) rename {lib/src => src}/test/java/com/imsweb/staging/engine/DecisionEngineTest.java (100%) rename {lib/src => src}/test/java/com/imsweb/staging/entities/EntitiesTest.java (100%) rename {lib/src => src}/test/java/com/imsweb/staging/entities/GlossaryDefinitionTest.java (100%) rename {lib/src => src}/test/java/com/imsweb/staging/entities/SchemaLookupTest.java (100%) rename {lib/src => src}/test/java/com/imsweb/staging/entities/StagingRangeTest.java (100%) rename {lib/src => src}/test/java/com/imsweb/staging/entities/impl/StagingSchemaInputTest.java (100%) rename {lib/src => src}/test/java/com/imsweb/staging/entities/impl/StagingSchemaOutputTest.java (100%) rename {algorithm-eod/src => src}/test/java/com/imsweb/staging/eod/EodPublicUpdateFromAPI.java (100%) rename {algorithm-eod/src => src}/test/java/com/imsweb/staging/eod/EodStagingTest.java (97%) rename {algorithm-eod/src => src}/test/java/com/imsweb/staging/eod/EodUpdateFromAPI.java (100%) rename {algorithm-pediatric/src => src}/test/java/com/imsweb/staging/pediatric/PediatricStagingTest.java (100%) rename {algorithm-pediatric/src => src}/test/java/com/imsweb/staging/pediatric/PediatricUpdateFromAPI.java (100%) rename {algorithm-tnm/src => src}/test/java/com/imsweb/staging/tnm/TnmSchemaLookupTest.java (100%) rename {algorithm-tnm/src => src}/test/java/com/imsweb/staging/tnm/TnmStagingTest.java (100%) rename {algorithm-tnm/src => src}/test/java/com/imsweb/staging/tnm/TnmUpdateFromAPI.java (100%) rename {lib/src/testFixtures => src/test}/java/com/imsweb/staging/updater/BadRequestException.java (100%) rename {lib/src/testFixtures => src/test}/java/com/imsweb/staging/updater/ErrorInterceptor.java (100%) rename {lib/src/testFixtures => src/test}/java/com/imsweb/staging/updater/ErrorResponse.java (100%) rename {lib/src/testFixtures => src/test}/java/com/imsweb/staging/updater/NotAuthorizedException.java (100%) rename {lib/src/testFixtures => src/test}/java/com/imsweb/staging/updater/NotFoundException.java (100%) rename {lib/src/testFixtures => src/test}/java/com/imsweb/staging/updater/SeerApiException.java (100%) rename {lib/src/testFixtures => src/test}/java/com/imsweb/staging/updater/UpdaterUtils.java (100%) rename {lib/src => src}/test/java/com/imsweb/staging/util/StopwatchTest.java (100%) rename {lib/src => src}/test/java/com/imsweb/staging/zip/ZipAlgorithm.java (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/adnexa_uterine_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/adrenal_gland.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/ampulla_vater.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/anus.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/appendix.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/bile_ducts_distal.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/bile_ducts_intrahepat.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/bile_ducts_perihilar.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/biliary_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/bladder.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/bone.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/brain.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/breast.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/buccal_mucosa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/carcinoid_appendix.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/cervix.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/cns_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/colon.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/conjunctiva.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/corpus_adenosarcoma.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/corpus_carcinoma.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/corpus_sarcoma.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/cystic_duct.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/digestive_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/endocrine_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/epiglottis_anterior.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/esophagus.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/esophagus_gejunction.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/eye_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/fallopian_tube.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/floor_mouth.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/gallbladder.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/genital_female_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/genital_male_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/gist_appendix.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/gist_colon.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/gist_esophagus.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/gist_peritoneum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/gist_rectum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/gist_small_intestine.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/gist_stomach.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/gum_lower.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/gum_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/gum_upper.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/heart_mediastinum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/heme_retic.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/hypopharynx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/ids.txt (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/ill_defined_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/intracranial_gland.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/kaposi_sarcoma.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/kidney_parenchyma.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/kidney_renal_pelvis.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/lacrimal_gland.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/lacrimal_sac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/larynx_glottic.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/larynx_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/larynx_subglottic.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/larynx_supraglottic.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/lip_lower.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/lip_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/lip_upper.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/liver.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/lung.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/lymphoma.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/lymphoma_ocular_adnexa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_buccal_mucosa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_choroid.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_ciliary_body.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_conjunctiva.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_epiglottis_anterior.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_eye_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_floor_mouth.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_lower.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_upper.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_hypopharynx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_iris.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_glottic.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_subglottic.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_supraglottic.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_lower.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_upper.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_mouth_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_nasal_cavity.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_nasopharynx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_oropharynx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_hard.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_soft.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_pharynx_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_ethmoid.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_maxillary.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_skin.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_anterior.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_base.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/merkel_cell_penis.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/merkel_cell_scrotum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/merkel_cell_skin.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/merkel_cell_vulva.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/middle_ear.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/mouth_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/mycosis_fungoides.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/myeloma_plasma_cell_disorder.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/nasal_cavity.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/nasopharynx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/net_ampulla.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/net_colon.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/net_rectum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/net_small_intestine.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/net_stomach.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/orbit.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/oropharynx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/ovary.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/palate_hard.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/palate_soft.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/pancreas_body_tail.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/pancreas_head.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/pancreas_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/parotid_gland.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/penis.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/peritoneum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/peritoneum_female_gen.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/pharyngeal_tonsil.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/pharynx_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/placenta.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/pleura.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/prostate.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/rectum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/respiratory_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/retinoblastoma.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/retroperitoneum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/salivary_gland_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/scrotum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/sinus_ethmoid.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/sinus_maxillary.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/sinus_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/skin.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/skin_eyelid.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/small_intestine.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/soft_tissue.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/stomach.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/submandibular_gland.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/testis.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/thyroid.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/tongue_anterior.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/tongue_base.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/trachea.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/urethra.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/urinary_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/vagina.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/schemas/vulva.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pad.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pae.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pag.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pak.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pam.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pan.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_m_codes.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_n_codes.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_codes.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_not_ewing_qai.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qad.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qag.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qah.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj_grade.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qak.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qal.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qam.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qao.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qar.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qas.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qat.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qau.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qav.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qax.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qea.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qna.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qnb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qps.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_t_codes.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc6_year_validation.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tae.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tph.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tps.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tql.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_m_codes.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_n_codes.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_codes.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_not_ewing_ube.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uad.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uae.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uag.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uak.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ual.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uam.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uao.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uap.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uar.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uau.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uav.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uax.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uay.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uba.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubs.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uby.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_una.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_unb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ups.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_t_codes.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc7_year_validation.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc_descriptor_codes.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc_mdescriptor_cleanup.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc_ndescriptor_cleanup.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc_tdescriptor_cleanup.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcc_tnm6_stage_csv1_xie.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_csv1_xpz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_anaplastic_xcg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_medullary_xcf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_papillaryand_follicular_age45and_older_xco.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcctnm6and7_stage_ewing_xho.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xhz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xib.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_giststomach_xit.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xhy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xia.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_anaplastic_xdz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_medullary_xdy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older_xdx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/behavior.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_quadrants_ajcc7_xca.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_thickness_ajcc6_xbw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_greater_than2009_xiy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_less_than2010_xiz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/cs_input_version_original.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/cs_year_validation.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/csextension_size_tablefor_ajcc6th_xba.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns29.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns4.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_meval_ns30.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns1.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns10.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns13.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns22.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns23.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns24.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns26.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns3.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns41.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns8.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns9.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_neval_ns31.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns15.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns37.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns16.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns33.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns34.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns39.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns6.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns7.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns44.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns47.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns11.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns12.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns14.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns18.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns19.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns2.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns20.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns21.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns25.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns27.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns40.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns5.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns17.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns32.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns38.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns43.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_m_ns48.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_n_ns35.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_s_ns36.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss00t_ns46.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss77t_ns45.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_t_ns28.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc6_ns50.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc7_ns42.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/eval_extension_t3_ajcc7_xgh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_baa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bad.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bae.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_baf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bag.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bah.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bai.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_baj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bak.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bal.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bam.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_ban.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bao.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bap.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_baq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bar.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bas.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bat.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bau.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bav.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_baw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bax.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bay.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_baz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bba.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbs.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bby.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bbz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bca.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bce.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bch.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bci.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bco.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcs.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bct.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bcy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bda.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bde.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bds.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bdy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_beb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bed.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bee.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bef.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_beg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_beh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_behavior_xci.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bei.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bej.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bek.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bel.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bem.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_ben.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_beo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bep.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_beq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_ber.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bes.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bet.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bev.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bew.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bex.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bey.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bez.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bff.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfs.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bft.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bfz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bga.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bgb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bgc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bna.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_bpb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_btb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xkn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xko.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xqa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_eval_cab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_eval_cac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_eval_cae.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_eval_caf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_eval_cag.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_eval_caj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_eval_cak.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_eval_cal.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_eval_cam.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_eval_cna.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_eval_cpa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_eval_cpb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_eval_cpc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_grade_lvi_xdm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_mets_ajcc6_xeh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_t.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv1_xbv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv2_xis.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc7_xgs.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_periductal_invasion_ajcc7_xks.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_table_csv1_xjb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xai.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xak.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xat.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xav.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xaz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xbc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xda.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xdk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xea.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xfw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xir.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xji.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xjj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xbl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xec.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xed.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xef.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xej.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xet.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xev.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xey.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xff.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xgi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xik.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xim.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xio.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_category_ajcc7_xpm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_pair_ajcc6_xpn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc6_table_csv2_xij.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc7_xic.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc6_table_csv2_xgl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc7_xgj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc6_table_csv2_xgm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc7_xgk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_ssf1_ajcc7_xgb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc6_xal.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc7_xek.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv1_xas.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv2_xez.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xaa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xad.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xae.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xaf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xag.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xar.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xbq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xdb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xde.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xfn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xfu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xgn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xjg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xjh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xpa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xpb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xpe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xpf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_size_xqj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_ssf1_ajcc7_t_xjy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xke.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xkf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_sstg_bbo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_sstg_bcu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_t4_ssf1_ajcc7_xgw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc6_xkj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc7_xkk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/extension_ulceration_t1_ajcc6_xbo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/grade.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/grade_category_calculation_xei.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce_6.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_6.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_7.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/histology.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ajcc6_xkw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ssf1_ajcc7_xkv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_summary_stage_xgx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ids.txt (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ihcmol_xcc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/invalid_lung_m_values_ns49.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lvi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_node_extranodal_extension_xdn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc6_xlk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc7_xlh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xld.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xle.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc6_xlm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xln.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc6_xll.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc7_xli.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xee.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfs.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xqh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xam.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xao.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xax.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xcd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xch.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_xgt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation0or5_ajcc6_xbg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation1or9_ajcc6_xbf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation6th_xqf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_xcx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xew.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_n.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_n.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xhv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xje.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xki.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xlf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxtable_ajcc6_xfv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_eval_xgu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xqg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation7th_table_also_used_when_csreg_nodes_evalis_not_coded_xft.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xdg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xfr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_csreg_nodes_evalis_not_coded_xdi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_xcw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_axillary_node_xcy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_eval_blank_xgv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc6_table_csv1_xex.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv1_xix.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv2_xiw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_n.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_n.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_n.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_n.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_table_csv2_xcp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xja.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodes_ssf11_ajcc6_xqd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/lymph_nodesand_ssf11_ajcc6_xiq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_eval_iaa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_eval_iac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_eval_iad.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_eval_iae.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_eval_iaf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_eval_ina.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_eval_ipa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_eval_ipb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_eval_ipc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_had.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hae.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_haf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hag.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hah.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hai.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_haj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hak.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hal.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_ham.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_han.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hao.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hap.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_haq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_har.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hat.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hau.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hav.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_haw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_haz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hba.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hbb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hbc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hbe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hbf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hbg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hbj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hbn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hbo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hbu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hbv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hbx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hby.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hbz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hca.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hce.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hch.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hci.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hck.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hco.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcs.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hcy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hna.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hpa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hpb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hpc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hpd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hpe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hpf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hpg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mets_hph.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/metsat_dxand_ldh_xbs.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc6_xck.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc7_xfg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xjm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xpi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xqe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/mitotic_rate_ulceration_t1_ajcc7_xgo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_daa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dad.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dah.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dai.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_daj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dak.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dal.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dam.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dan.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dao.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dap.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_daq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dar.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_das.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dat.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dau.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dav.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_daw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dax.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_day.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_daz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dba.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbs.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dbx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dby.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dca.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dce.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dck.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dco.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcs.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dcz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dde.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dds.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ddz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dea.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_deb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_ded.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dee.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_def.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_deg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dei.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dej.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dek.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_del.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dem.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_den.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_deo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_deq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_der.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_des.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_det.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_deu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dev.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dew.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dex.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dey.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dez.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dff.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfs.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dft.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dfy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dna.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dpa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dpb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dpc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_dpd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_eval_eag.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_eval_eah.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_eval_eai.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_eval_eak.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_eval_eba.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_eval_ena.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_eval_epa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_eval_epb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_eval_epc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_exam_gac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_exam_gaf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_exam_gna.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_pos_fab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_pos_fae.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_pos_fah.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_pos_fna.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc6_xbt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc7_xcb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/pleural_effusion_extension_xbz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516_xgr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/primary_site.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_adnexa_uterine_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_adrenal_gland.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_ampulla_vater.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_anus.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_appendix.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_distal.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_intrahepat.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_perihilar.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_biliary_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_bladder.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_bone.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_brain.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_breast.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_buccal_mucosa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_carcinoid_appendix.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_cervix.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_cns_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_colon.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_conjunctiva.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_adenosarcoma.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_carcinoma.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_sarcoma.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_cystic_duct.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_digestive_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_endocrine_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_epiglottis_anterior.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus_gejunction.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_eye_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_fallopian_tube.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_floor_mouth.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_gallbladder.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_female_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_male_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_appendix.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_colon.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_esophagus.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_peritoneum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_rectum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_small_intestine.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_stomach.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_lower.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_upper.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_heart_mediastinum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_heme_retic.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_hypopharynx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_ill_defined_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_intracranial_gland.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_kaposi_sarcoma.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_parenchyma.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_renal_pelvis.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_gland.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_sac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_glottic.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_subglottic.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_supraglottic.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_lower.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_upper.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_liver.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_lung.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma_ocular_adnexa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_buccal_mucosa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_choroid.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_ciliary_body.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_conjunctiva.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_epiglottis_anterior.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_eye_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_floor_mouth.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_lower.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_upper.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_hypopharynx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_iris.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_glottic.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_subglottic.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_supraglottic.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_lower.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_upper.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_mouth_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasal_cavity.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasopharynx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_oropharynx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_hard.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_soft.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_pharynx_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_ethmoid.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_maxillary.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_skin.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_anterior.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_base.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_penis.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_scrotum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_skin.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_vulva.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_middle_ear.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_mouth_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_mycosis_fungoides.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_myeloma_plasma_cell_disorder.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_nasal_cavity.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_nasopharynx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_net_ampulla.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_net_colon.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_net_rectum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_net_small_intestine.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_net_stomach.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_orbit.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_oropharynx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_ovary.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_hard.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_soft.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_body_tail.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_head.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_parotid_gland.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_penis.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum_female_gen.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_pharyngeal_tonsil.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_pharynx_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_placenta.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_pleura.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_prostate.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_rectum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_respiratory_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_retinoblastoma.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_retroperitoneum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_salivary_gland_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_scrotum.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_ethmoid.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_maxillary.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_skin.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_skin_eyelid.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_small_intestine.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_soft_tissue.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_stomach.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_submandibular_gland.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_testis.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_thyroid.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_anterior.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_base.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_trachea.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_urethra.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_urinary_other.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_vagina.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/schema_selection_vulva.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/serum_tumor_marker_svalue_table_basedon_csssf123_xcj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aaa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aad.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aae.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aaf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aag.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aah.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aaj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aak.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aal.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aam.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aan.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aao.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aap.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aaq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aar.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aas.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aat.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aau.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aaw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aax.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aay.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aaz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aba.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_ana.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_apa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_apb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_apc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_apd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_apf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_apg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aph.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_api.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_apj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_apk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_apl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_apo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_app.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_apr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_aps.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_apt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_apu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_t.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_t.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_t.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_t.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_t.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_t.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_t.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_t.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_m.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_t.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xjz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xka.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_metastasis_ajcc7_xpx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/size_metsat_dxajcc7_m_xkb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/special_calculation_invasive_unknown_pathologic_extension_xds_xdu_xdq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/special_calculation_non_invasive_pathologic_extension_xdr_xdt_xdq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_ajcct_xiu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_seersummary_stage_xiv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ss_codes.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_sad.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_sat.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_saz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_scm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_sek.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_seq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_sex.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_sfi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_sfj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_sne.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_spd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_spi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_spz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_sqj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_sqs.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf10_srh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_sae.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_sba.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_sbt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_scj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_see.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_sel.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_ser.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_snf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_spe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_spk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_sps.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_sqa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_sqe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_sqt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_srd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf11_sri.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf12_saf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf12_sbb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf12_sbu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf12_sck.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf12_sef.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf12_ses.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf12_sev.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf12_sew.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf12_sez.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf12_sfd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf12_sng.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf12_spl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf12_sqb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf12_sqf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf12_srj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf13_sag.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf13_sbc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf13_sca.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf13_scl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf13_sdg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf13_sdr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf13_seg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf13_sfa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf13_sfe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf13_snh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf13_spm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf13_sqg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf13_sqq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf14_sbd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf14_sbf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf14_scn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf14_sdh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf14_sds.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf14_sfb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf14_sff.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf14_sni.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf14_spn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf14_sqh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf14_sqr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf15_sbe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf15_sbg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf15_sco.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf15_sdm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf15_sdt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf15_sfc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf15_sfg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf15_snj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf15_spo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf16_sah.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf16_scp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf16_sdn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf16_sfh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf16_snk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf16_spt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf16_squ.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf16_sqv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf16_sqw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf17_sai.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf17_seu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf17_snl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf17_spu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf17_sqx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf18_saj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf18_snm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf18_sqy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf19_sak.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf19_snn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf19_sqz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jae.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jag.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jaj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jal.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jam.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jap.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jaq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jat.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jav.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jaw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jax.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jba.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jbd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jbg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jbh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jbj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jbk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jbl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jbm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jbp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jbq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jbt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jbv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jbx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jby.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jbz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jca.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jcd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jce.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jcf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jcg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jch.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jna.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_jpw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_sbh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf1_sstg_jat.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf20_sal.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf20_sno.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf20_sra.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf21_sam.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf21_snp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf21_srb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf22_san.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf22_snq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf22_src.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf23_sao.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf23_snr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf24_sap.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf24_sns.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf25_snt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf25_spj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf25_spp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf25_spv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf25_sqc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf25_sqi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf25_sqp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kaa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kad.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kaj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kak.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kal.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kao.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kaq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kar.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kas.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kaw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kax.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kay.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kaz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kbb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kbc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kbf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kbi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kbl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kbm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kbu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kbv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kbw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kbx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kna.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kpa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kpc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kpd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kpg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kph.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kpi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kpj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kpk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kpl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kpn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kpo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kpp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kpq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_kpr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_sbi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf2_sbz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_laa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lad.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_laf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lah.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lai.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lao.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lap.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_laq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lat.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_law.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lay.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_laz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lba.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lbb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lbc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lna.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lpa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lpc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lpd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lpe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lph.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lpj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lpk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lpl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lpm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lpp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lpq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lpr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lps.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lpt.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_lpu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf3_sstg_lab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_maa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_maf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_maj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mal.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mam.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mas.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mat.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mav.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_maz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mbd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mbg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mbh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mbi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mbj.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mna.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mpa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mpb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mpd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mpe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mpf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mpg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mpn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mpq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mpr.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf4_mps.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_naa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_nab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_nac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_nae.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_nah.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_nai.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_nak.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_nap.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_naq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_nar.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_nas.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_nav.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_naw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_nba.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_nbb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_nna.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_npa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_npb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_npe.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_npf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_npg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_nph.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_npk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_npl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf5_npm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oaa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oad.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oae.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oaf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oag.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oak.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oam.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oao.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oap.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oaq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oas.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oat.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oaw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oax.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oay.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_ona.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_opa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_opb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_opd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_opf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_opg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_oph.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf6_opi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_saa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_saq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_saw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_sbv.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_sbx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_scb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_scq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_sde.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_sdf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_sdo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_sdx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_seb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_seh.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_sfl.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_snb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_spa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_spf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_spw.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_sqk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_sqn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf7_sre.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_sab.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_sar.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_sax.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_sby.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_scc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_sdd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_sdp.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_sdy.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_sec.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_sei.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_sfk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_snc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_spb.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_spg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_spx.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_sql.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_sqo.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf8_srf.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf9_sac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf9_sas.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf9_say.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf9_sdi.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf9_sdq.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf9_sdz.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf9_sed.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf9_sej.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf9_snd.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf9_spc.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf9_sph.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf9_sqm.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/ssf9_srg.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/summary_stage_raa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/summary_stage_rac.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/summary_stage_rpa.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc6_xbn.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc7_xhu.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/tumor_size_category_ajcc7_xpk.json (100%) rename {algorithm-cs/src/main => src/test}/resources/algorithms/cs/02.05.50/tables/tumor_size_pair_ajcc6_xpl.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/glossary/55a9a501e4b05cd0cddc710a.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/glossary/terms.txt (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/adnexa_uterine_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/adrenal_gland.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/ampulla_vater.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/anus.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/anus_v9_2023.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/appendix.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/appendix_v9_2023.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/bile_ducts_distal.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/bile_ducts_intrahepat.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/bile_ducts_perihilar.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/biliary_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/bladder.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/bone_appendicular_skeleton.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/bone_pelvis.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/bone_spine.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/brain.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/brain_v9_2023.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/breast.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/buccal_mucosa.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/cervical_lymph_nodes_occult_head_neck.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/cervix.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/cervix_9th_2021.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/cervix_sarcoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/cns_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/cns_other_v9_2023.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/colon_rectum.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/conjunctiva.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/corpus_adenosarcoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/corpus_carcinoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/corpus_sarcoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/cutaneous_carcinoma_head_neck.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/cystic_duct.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/digestive_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/endocrine_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/esophagus_gejunction.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/esophagus_including_ge_junction_squamous.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/eye_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/fallopian_tube.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/floor_mouth.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/gallbladder.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/genital_female_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/genital_male_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/gist.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/gum.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/heart_mediastinum_pleura.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/hemeretic.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/hypopharynx.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/ids.txt (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/ill_defined_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/intracranial_gland.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/intracranial_gland_v9_2023.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/kaposi_sarcoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/kidney_parenchyma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/kidney_renal_pelvis.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/lacrimal_gland.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/lacrimal_sac.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/larynx_glottic.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/larynx_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/larynx_subglottic.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/larynx_supraglottic.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/lip.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/liver.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/lung.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/lung_v9_2025.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/lymphoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/lymphoma_cll_sll.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/lymphoma_ocular_adnexa.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/major_salivary_glands.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/major_salivary_glands_v9_2026.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/maxillary_sinus.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/medulloblastoma_v9_2023.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/melanoma_choroid_ciliary_body.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/melanoma_conjunctiva.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/melanoma_head_neck.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/melanoma_iris.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/melanoma_skin.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/merkel_cell_skin.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/middle_ear.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/mouth_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/mycosis_fungoides.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/nasal_cavity_ethmoid_sinus.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/nasopharynx.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/nasopharynx_v9_2025.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/net_adrenal_gland.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/net_ampulla.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/net_ampulla_of_vater_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/net_appendix.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/net_appendix_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/net_colon_and_rectum_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/net_colon_rectum.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/net_duodenum.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/net_duodenum_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/net_jejunum_and_ileum_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/net_jejunum_ileum.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/net_pancreas.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/net_pancreas_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/net_stomach.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/net_stomach_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/orbital_sarcoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/oropharynx_hpv_associated_v9_2026.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/oropharynx_hpv_mediated_p16_pos.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/oropharynx_p16_neg.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/ovary.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/palate_hard.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/pancreas.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/parathyroid.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/penis.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/pharynx_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/placenta.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/plasma_cell_disorders.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/plasma_cell_myeloma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/pleural_mesothelioma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/pleural_mesothelioma_v9_2025.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/primary_cutaneous_lymphoma_non_mf_ss.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/primary_peritoneal_carcinoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/prostate.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/respiratory_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/retinoblastoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/retroperitoneum.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/sinus_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/skin_eyelid.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/skin_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/small_intestine.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/soft_tissue_abdomen_thoracic.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/soft_tissue_head_neck.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/soft_tissue_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/soft_tissue_rare.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/soft_tissue_trunk_extremities.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/stomach.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/testis.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/thymus.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/thymus_v9_2025.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/thyroid.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/thyroid_medullary.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/tongue_anterior.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/trachea.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/urethra.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/urethra_prostatic.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/urinary_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/vagina.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/vulva.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/schemas/vulva_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/adenoid_cystic_basaloid_pattern_86314.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/adenopathy_40816.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_36223.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_97891.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_lab_value_90733.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_range_84758.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_lab_value_94162.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_range_11386.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/afp_pretx_interpretation_66147.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/afp_pretx_lab_value_25871.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/age_at_diagnosis_validation_65093.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ajcc_grade_3_94758.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ajcc_path_grade_3_70197.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/alk_rearrangement_610.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/anemia_15893.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/b2_microglob_pretx_level_83264.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/behavior.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/behavior_with_primary_tumor_for_ss2018_t_69793.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/bileductsdistal_bileductsperihilar_cysticduct_24541.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_lab_value_68660.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_unit_98627.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/bone_invasion_96628.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/braf_mutational_analysis_37823.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_75370.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_v9_48556.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/brain_primary_tumor_location_69074.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/breslow_thickness_79262.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ca_125_pretx_interpretation_51295.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ca_19_9_pretx_lab_value_17332.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/cea_pretx_interpretation_99474.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/cea_pretx_lab_value_33864.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/chromosome_19q_status_72683.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/chromosome_1p_status_40269.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/chromosome_3_status_93464.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/chromosome_8q_status_83582.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/circumferential_resection_margin_77909.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/clinical_margin_width_1179.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/combine_prostate_eod_extension_16771.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/combined_grade_56638.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/combined_grade_breast_8723.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_lab_value_56869.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_unit_26973.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derive_rai_stage_42032.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_10693.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_12594.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_2099.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_21657.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_21945.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_21973.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_24813.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_27440.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_29698.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_30763.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_32209.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_40528.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_46639.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_48704.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_58317.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_69945.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_71063.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_71227.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_74326.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_76001.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_83462.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_84046.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_8564.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_91894.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_93981.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_96207.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_97763.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_gist_82068.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_1196.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_non_ajcc_63932.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_rai_stage_73218.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_adrenal_gland_258.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ampulla_of_vater_2679.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_anus_8409.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_appendix_76889.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_biliary_other_47058.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bladder_71090.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bone_34531.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_brain_35480.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_breast_7622.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_buccal_mucosa_61240.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervical_lymph_nodes_and_unknown_primary_tumors_of_head_and_neck_49724.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervix_8763.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cns_other_22397.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_colon_and_rectum_35271.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_conjunctiva_74486.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_carcinoma_and_carcinosarcoma_56302.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_sarcoma_68247.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_digestive_other_3351.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_endocrine_other_15778.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_esophagus_32092.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_extrahepatic_bile_ducts_37420.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_eye_other_38179.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_fallopian_tube_71863.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gallbladder_56868.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_female_other_6389.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_male_other_41924.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gist_48315.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gum_32702.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_heart_mediastinum_and_pleura_70478.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hemeretic_89184.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hypopharynx_33792.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ill_defined_other_41227.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intracranial_gland_8078.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intrahepatic_bile_ducts_29879.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kaposi_sarcoma_84609.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_parenchyma_35397.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_renal_pelvis_4595.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lacrimal_gland_sac_94643.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_glottic_7548.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_other_66228.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_subglottic_66548.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_supraglottic_62635.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lip_8421.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_liver_13967.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lung_59907.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_35135.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_ocular_adnexa_92324.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_major_salivary_glands_88669.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_medulloblastoma_71501.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_conjunctiva_64436.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_head_and_neck_82003.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_skin_34689.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_uvea_22506.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_merkel_cell_skin_71353.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_middle_ear_38870.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mouth_other_30776.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mycosis_fungoides_14217.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_myeloma_and_plasma_cell_disorders_3894.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasal_cavity_and_paranasal_sinuses_97890.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasopharynx_69453.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_orbital_sarcoma_90415.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_oropharynx_79318.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ovary_and_primary_peritoneal_carcinoma_26044.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_palate_hard_38646.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pancreas_85813.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_parathyroid_93552.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_penis_70064.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pharynx_other_63252.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_placenta_6507.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pleural_mesothelioma_74611.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_primary_cutaneous_lymphomas_45083.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_prostate_48792.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_respiratory_other_17734.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retinoblastoma_10326.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retroperitoneum_11521.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_sinus_other_893.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_except_eyelid_95559.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_eyelid_74710.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_small_intestine_48854.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_soft_tissue_and_sarcomas_99149.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_stomach_19183.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_testis_36736.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thymus_2194.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thyroid_44895.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_tongue_anterior_40968.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_trachea_96519.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urethra_73432.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urinary_other_89509.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vagina_63227.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vulva_47165.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/derived_summary_grade_na_6690.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/egfr_mutational_analysis_51122.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_13303.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_14084.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_20229.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_2212.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_22645.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_22894.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_23805.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_23953.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_24042.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_24606.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_25000.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_25281.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_26533.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_28878.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_29252.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_30426.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_33408.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_34827.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_3742.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_41985.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_47277.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_53046.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_56430.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_71734.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_74247.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_76404.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_79894.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_80017.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_83665.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_88527.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_89421.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_89986.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_91004.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_91154.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_94984.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_95518.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_96081.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_98654.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_mucosal_head_and_neck_45697.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_1812.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_3184.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_58862.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_76161.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_12346.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_19089.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3385.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3433.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_38280.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3897.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_40607.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_42615.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_43548.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_4717.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_50451.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_53330.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_55521.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_60922.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72244.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72245.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72332.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_81646.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_84520.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_85962.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93022.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93027.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93243.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_96275.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_97833.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_98910.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_copy_25294.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_192.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_52408.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_58724.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_6892.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_75679.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_prostate_pathologic_extension_2781.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_10020.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_11936.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_12613.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_16316.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_21853.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_22383.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_27426.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_29442.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_30921.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_3383.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_36470.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_38984.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_48374.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_53169.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_55756.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_58339.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_61282.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_62689.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_6464.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_65616.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_7080.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_76612.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_77237.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_79068.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_80411.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_8284.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_86049.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_92760.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_94494.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_97333.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_99855.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_3599.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_56625.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_57286.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_73197.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/er_allred_score_36612.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/er_percent_positive_61867.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/er_summary_44166.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/esoph_tumor_epicenter_18976.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/esophagusgejunction_egj_stomach_57130.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_baa.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bad.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bag.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_baj.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bak.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bal.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bam.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_ban.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bao.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bap.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bar.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bas.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bat.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bau.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bav.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_baw.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bax.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bbb.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bbc.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bbd.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bbe.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bbi.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bbj.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bbk.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bbl.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bbm.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bbn.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bbo.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bbp.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bbr.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bbs.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bbx.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcb.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcc.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcd.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bce.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcf.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcg.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bci.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcj.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcl.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcm.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcn.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bco.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcp.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcq.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcr.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcs.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bct.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcv.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcx.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bcy.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bdd.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bde.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bdg.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bdh.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bdk.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bdl.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bdo.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bds.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bdu.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bez.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bfa.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bfg.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bfh.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bfi.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bfk.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bfl.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bfm.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bfp.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bfq.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bfr.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bfs.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bft.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bfv.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bfw.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bfy.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bgc.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_bna.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extension_btb.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extranodal_extension_clinical_5022.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_clinical_79321.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_pathological_87046.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extranodal_extension_pathological_30739.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/extravascular_matrix_patterns_1397.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/fibrosis_score_38658.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/figo_stage_30513.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/figo_stage_cervix_46535.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_adenosarcoma_24886.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_carcinoma_and_carcinosarcoma_69186.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_sarcoma_78807.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/figo_stage_placenta_73452.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/figo_stage_vagina_61098.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/figo_stage_vulva_69787.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/gestational_prog_index_28647.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/gleason_pattern_clinical_75179.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/gleason_patterns_pathological_833.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/gleason_score_clinical_67175.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/gleason_score_pathological_82121.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/gleason_tertiary_pattern_6430.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_18316.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_18831.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_19087.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_19997.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_21060.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_22454.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_24620.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_25704.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_26293.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_26768.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_2756.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_29193.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_36085.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_41135.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_46962.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_54911.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_62593.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_6485.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_64933.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_69174.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_73056.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_73461.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_78613.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_83264.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_8742.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_88426.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_91491.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_91989.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_94331.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_non_ajcc_32473.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_clinical_v9_88505.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_11803.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_12915.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_19141.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_19694.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_20069.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_20722.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_26086.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_27152.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_29069.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_31963.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_38051.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_40052.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_40399.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_42127.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_46618.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_47031.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_4783.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_49403.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_53280.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_57271.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_59340.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_59975.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_68805.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_73388.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_84704.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_85185.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_91031.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_93273.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_94268.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_non_ajcc_5627.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_pathological_v9_76065.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_1647.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_18631.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_21162.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_23317.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2503.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2541.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26948.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26978.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_27082.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_30400.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_35900.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_41222.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_4232.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_43459.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_45036.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_53870.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_54917.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_60334.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_61658.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_68213.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_69737.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_72770.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_74830.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_76032.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_88214.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93593.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93998.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_95734.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_97989.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_31990.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_55565.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_v9_85438.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_20786.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_25809.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_28874.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_30693.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_32110.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_35393.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_36935.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_3704.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_40048.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_41285.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_45323.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_47044.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48765.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48957.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_55848.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_58350.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_65729.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_67342.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_75348.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_76876.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_80308.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_83202.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_86055.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_87571.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_90448.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_91649.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_92197.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_93034.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_98398.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_3519.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_8036.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_v9_717.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_lab_value_13834.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_range_92334.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_lab_value_55584.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_range_67679.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/her2_ihc_summary_57693.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/her2_ish_dp_copy_no_89821.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/her2_ish_dual_probe_ration_4635.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/her2_ish_sp_copy_no_95955.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/her2_ish_summary_40783.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/her2_overall_summary_copy_71435.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/her2_summary_30512.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/heritable_trait_49734.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/high_risk_cytogenetics_97806.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/high_risk_features_73750.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/histologic_subtype_8603.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/histology.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/histology_discriminator_for_8020_3_93311.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/hiv_status_12569.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ids.txt (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/inr_prothrombin_time_6158.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/intern_prognostic_index_90310.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/invasion_beyond_capsule_4149.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ipsilateral_adrenal_gland_involvement_61538.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/jak2_80148.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ki67_8355.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ki_67_67661.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/kit_gene_immunohistochemistry_33220.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/kras_79447.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/lacrimal_gland_lacrimal_sac_63106.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ldh_lab_value_85652.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ldh_level_12428.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ldh_post_orchiectomy_range_38574.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ldh_pre_orchiectomy_range_42762.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ldh_pretreatment_level_82697.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ldh_upper_limits_of_normal_34244.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_femoral_inguinal_48450.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_pelvic_vulva_10928.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ln_size_70140.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_13374.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_vagina_64638.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ln_status_para_aortic_41020.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_31753.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_93438.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/lymph_node_laterality_65685.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_femoral_46948.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_para_aortic_56026.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_pelvic_33476.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_assessment_method_24499.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_mediastinal_scalene_90567.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_i_iii_19222.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_iv_v_55093.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_vi_vii_32325.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_other_31141.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/lymph_nodes_isolated_tumor_cells_67876.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/lymphocytosis_79150.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/major_vein_involvement_87947.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/measured_basal_diameter_70699.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/measured_thickness_84907.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/melanoma_ciliary_body_melanoma_iris_79773.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hab.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hac.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_had.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hae.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_haf.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hah.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_haj.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hak.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hal.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_han.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_har.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hat.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hau.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hav.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_haw.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_haz.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hba.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hbb.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hbe.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hbg.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hbo.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hbv.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hbx.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hbz.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hcf.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hcg.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hch.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hci.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hck.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hcp.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hcq.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hcr.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hcu.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hcv.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hna.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mets_hph.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mgmt_17454.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_35598.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_7008.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/microvascular_density_70589.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mitotic_count_uveal_melanoma_26990.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/mitotic_rate_melanoma_88184.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/multigene_signature_method_85043.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/multigene_signature_result_37000.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/multiple_myeloma_terminology_20875.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nasopharynx_pharyngealtonsil_84756.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/neoadj_tx_clinical_response_31723.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_18122.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_23019.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_34708.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_4391.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_52725.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_61650.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_90678.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/neoadjuvant_therapy_37302.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_daa.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dab.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dai.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_daj.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dak.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dam.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dan.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_daq.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dat.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dau.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dav.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_daw.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_day.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dba.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dbb.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dbc.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dbd.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dbe.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dbf.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dbg.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dbh.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dbi.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dbj.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dbo.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dbq.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dbu.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dbv.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dbw.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dbx.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dby.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dca.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dcb.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dcc.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dcd.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dce.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dck.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dcl.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dcn.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dcu.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dcz.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dde.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_ddf.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_ddj.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_ddn.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_ddp.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dew.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dfc.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dfd.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dfe.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dfg.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dfh.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dfl.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dfm.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dfn.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dfo.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dfq.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dfr.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_dna.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_exam_17543.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_exam_76029.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_exam_dna_95635.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_pos_2999.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_pos_dna_91511.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_pos_fab.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_pos_fah.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nodes_pos_fpa.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/nras_mutational_analysis_16621.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/number_of_cores_examined_64985.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/number_of_cores_positive_87819.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/number_of_examined_para_aortic_nodes_38078.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/number_of_examined_pelvic_nodes_60771.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/number_of_positive_ipsilateral_level_i_ii_axillary_lymph_nodes_79439.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/number_of_positive_para_aortic_nodes_62533.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/number_of_postive_pelvic_nodes_94512.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/occult_head_and_neck_lymph_nodes_10277.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recur_score_73667.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recurrence_score_dcis_70549.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_11033.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_dcis_53080.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/organomegaly_16131.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/oropharyngeal_p16_44685.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/p16_19452.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/p16_831.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/p16_anus_2709.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/p16_hpv_human_papilloma_virus_status_head_and_neck_509.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/pd_l1_61573.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/perineural_invasion_24604.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/perineural_invasion_27557.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/perineural_invasion_84622.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/peripheral_blood_involv_92357.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_38674.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_19664.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_66387.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_88427.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/pleural_effusion_40041.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/post_neoadj_chemo_percent_necrosis_15912.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/pr_allred_score_83938.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/pr_percent_positive_94563.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/pr_summary_49534.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/primary_peritoneum_tumor_19475.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/primary_scleros_cholangitis_86402.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/primary_site.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/profound_immune_suppression_68178.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/psa_46258.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ptld_17694.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/radiation_surg_seq.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/rcb_class_750.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/residual_cancer_burden_62520.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/residual_tumor_volume_post_cytoreduction_90653.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/response_to_neoadjuvant_therapy_57695.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/s_category_clinical_19191.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/s_category_pathologic_34448.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/sarcomatoid_features_99558.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_discriminator_1_63995.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_discriminator_2_15990.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_adnexa_uterine_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_adrenal_gland.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_ampulla_vater.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_anus.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_anus_v9_2023.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix_v9_2023.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_distal.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_intrahepat.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_perihilar.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_biliary_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_bladder.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_bone.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_appendicular_skeleton.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_spine.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_brain.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_brain_v9_2023.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_breast.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_buccal_mucosa.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_carcinoid_appendix.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_cervical_lymph_nodes_occult_head_and_neck.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_9th_2021.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_sarcoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_chronic_lymphocytic_leukemia_small_lymphocytic_lymphoma_cll_sll.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other_v9_2023.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_colon.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_conjunctiva.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_adenosarcoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_carcinoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_sarcoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_cutaneous_squamous_cell_carcinoma_head_and_neck.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_cystic_duct.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_digestive_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_endocrine_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_gejunction.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_including_ge_junction_squamous.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_eye_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_fallopian_tube.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_floor_mouth.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_gallbladder.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_female_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_male_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_gist_appendix.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_gum_lower.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_heart_mediastinum.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_heme_retic.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_hypopharynx.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_ill_defined_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland_v9_2023.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_kaposi_sarcoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_parenchyma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_renal_pelvis.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_gland.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_sac.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_glottic.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_subglottic.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_supraglottic.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_lip_lower.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_liver.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_lung.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_lung_v9_2025.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma_ocular_adnexa.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_major_salivary_glands_v9_2026.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_medulloblastoma_v9_2023.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_buccal_mucosa.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_ciliary_body.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_conjunctiva.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_iris.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_skin.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_merkel_cell_skin.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_middle_ear.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_mouth_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_mycosis_fungoides.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_myeloma_plasma_cell_disorder.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_nasal_cavity.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx_v9_2025.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_net_adrenal_gland.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla_of_vater_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_net_appendix_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon_and_rectum_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_net_jejunum_and_ileum_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_net_small_intestine.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_orbit.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx_hpv_associated_v9_2026.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_ovary.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_palate_hard.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_pancreas_body_tail.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_parathyroid.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_parotid_gland.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_penis.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_peritoneum.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_pharynx_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_placenta.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_plasmacytomas.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_pleura.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_pleural_mesothelioma_v9_2025.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_cutaneous_lymphoma_non_mf_ss.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_peritoneal_carcinoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_prostate.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_respiratory_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_retinoblastoma.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_retroperitoneum.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_maxillary.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_eyelid.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_small_intestine.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_heart_and_mediastinum.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_rare.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_sarcoma_head_and_neck.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_trunk_and_extremities.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_stomach.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_testis.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus_v9_2025.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid_medullary.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_anterior.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_base.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_trachea.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra_prostatic.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_urinary_other.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_vagina.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva_v9_2024.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_mets_21628.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_mets_32413.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_mets_4721.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_mets_48348.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_mets_57075.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_mets_61487.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_mets_66514.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_mets_79245.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_mets_84419.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_mets_90003.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_mets_90643.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_mets_lip_lower_28596.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_mets_melanomachoroid_55264.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_mets_nasopharynx_46629.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_mets_sinus_othervs2_15755.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_25824.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_31838.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_36538.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_38025.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42176.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42751.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_43302.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_44962.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_52444.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_53926.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_59317.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_60433.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_6275.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_68925.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_72151.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_88917.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_9084.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_94875.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_95193.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_96082.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_eyeother_64077.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_head_neck_melanoma_38698.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_17757.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_19661.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_27397.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_36710.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_67072.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69051.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69974.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_83435.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_91716.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_93152.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_copy_24179.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_eyeother_16963.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_lacrimal_sac_33881.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_exam_7235.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_pos_95909.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/separate_tumor_nodules_69006.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/serum_alb_pretx_level_58159.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/sex_assigned_at_birth_63290.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/spread_through_air_spaces_stas_67834.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_44993.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_adnexa_uterine_other_values_44976.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_adrenal_gland_including_net_adrenal_70096.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_ampulla_of_vater_including_net_96311.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_anus_55561.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_appendix_including_netl_54459.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_bladder_57733.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_brain_67865.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_breast_69079.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_buccal_mucosa_94903.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_cervical_lymph_nodes_and_unknown_primary_tumor_8991.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_cervix_64954.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_cns_other_67712.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_colon_and_rectum_including_net_40538.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_conjunctiva_16779.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_carcinoma_and_carcinosarcoma_28794.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_sarcoma_75896.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_digestive_other_9136.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_endocrine_other_54817.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_esophagus_excluding_gist_57104.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_extrahepatic_bile_ducts_65728.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_eye_other_36531.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_fallopian_tube_83058.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_floor_mouth_83713.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_floor_of_mouth_27181.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_gallbladder_15174.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_genital_female_other_5962.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_genital_male_other_44390.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_gist_23534.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_gum_75440.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_hemeretic_3793.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_hypopharynx_excluding_melanoma_8720_8790_copy_30010.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_ill_defined_18664.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_intracranial_gland_98794.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_intrahepatic_bile_ducts_51957.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_kaposi_sarcoma_17563.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_parenchyma_30980.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_pelvis_29650.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_lacrimal_gland_82062.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_glottic_excluding_melanoma_8720_8790_2238.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_other_excluding_melanoma_8720_8790_40558.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_subglottic_excluding_melanoma_8720_8790_93242.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_supraglottic_excluding_melanoma_8720_8790_91429.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_lip_92534.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_liver_84469.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_lung_41334.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_27031.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_ocular_adnexa_3583.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_major_salivary_glands_43893.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_medulloblastoma_22906.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_choroid_ciliary_body_iris_21929.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_conjunctiva_86342.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_head_and_neck_8720_8790_46168.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_skin_64985.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_merkel_cell_carcinoma_89481.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_middle_ear_16857.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_mouth_other_31159.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_mycosis_fungoides_94448.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_nasal_cavity_and_ethmoid_sinus_excluding_melanoma_8720_8790_21699.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_nasopharynx_excluding_melanoma_8720_8790_copy_99106.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_orbit_27202.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_oropharynx_excluding_melanoma_8720_8790_9999.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_ovary_fallopian_tube_and_peritoneal_carcinoma_21678.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_palate_hard_86267.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_pancreas_95507.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_parathyroid_99309.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_penis_97065.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_pharynx_nos_excluding_melanoma_8720_8790_3303.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_placenta_66365.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_pleura_60930.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_primary_cutaneous_lymphomas_4605.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_prostate_76172.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_respiratory_other_36695.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_retinoblastoma_45411.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_sinus_other_excluding_melanoma_8720_8790_91859.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_skin_of_eyelid_82925.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_skin_other_56341.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_small_intestine_including_net_85335.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_31311.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_heart_mediastinum_pleura_63956.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_retroperitoneum_5644.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_stomach_including_net_stomach_35647.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_testis_82848.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_thymus_60066.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_thyroid_33058.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_tongue_anterior_66978.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_trachea_70961.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_urethra_14363.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_urinary_other_87865.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_vagina_94653.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_validation.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ss2018_vulva_49198.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/summary_stage_benign_3306.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/summary_stage_lymphoma_25139.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/summary_stage_raa.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/summary_stage_rac.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/summary_stage_rpa.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/systemic_surg_seq.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/systemic_symptoms_at_dx_60639.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/thrombocytopenia_8479.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/thyroid_gland_thyroglossal_duct_21498.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_deposits_40070.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_growth_pattern_31889.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_48894.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_60979.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_breast_34385.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_dna_64119.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_19656.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_74867.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_25597.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_43328.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_breast_85445.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_dna_6742.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_62176.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_93442.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_47973.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_63115.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_breast_14624.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_dna_13275.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_15510.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_31213.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/type_of_reporting_source_76696.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/ulceration_5718.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/urethra_prostatic_urethra_30106.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/visceral_pleural_invasion_25940.json (100%) rename {algorithm-eod/src/main => src/test}/resources/algorithms/eod_public/3.3/tables/year_dx_validation.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/glossary/terms.txt (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/acute_lymphoblastic_leukemia.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/adult_other_non_pediatric.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/astrocytoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/ependymoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/hepatoblastoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/hodgkin_lymphoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/ids.txt (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_chondrosarcomas.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_ewing.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_osteosarcoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_other_specified.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_unspecified.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/medulloblastoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_atypical_teratoid_rhabdoid.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_medulloepithelioma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pineoblastoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pnet.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/neuroblastoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/nhl_burkitt_lymphoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/nhl_mature_b_cell_lymphomas.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/nhl_nos.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/nhl_t_cell_and_nk_cell_lymphomas.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_fibrosarcomas.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_other_specified.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_unspecified.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/ovarian.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/renal_tumors_ewing_sarcoma_of_kidney.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/renal_tumors_kidney_sarcomas.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/renal_tumors_nephroblastoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/renal_tumors_rhabdoid_renal_tumor.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/renal_tumors_unspecified_malignant_renal_tumors.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/retinoblastoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/rhabdomyosarcoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/schemas/testicular.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/age_at_diagnosis_validation_3881.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/b_symptoms_95631.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/behavior.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/braf_mutational_analysis_15216.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/chromosome_16q_status_46566.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/chromosome_1p_status_97190.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/chromosome_1q_status_14467.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/combined_s_category_15139.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_mets.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_primary_tumor.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_regional_nodes.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/derived_summary_grade_47984.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/ewsr1_fli1_fusion_57187.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/foxo1_gene_rearrangements_72870.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/histology.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/ids.txt (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/inpc_21708.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/intl_neuroblastoma_risk_grp_stag_sys_18504.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/irss_stage_for_eye_2_95484.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/n_myc_amplification_57417.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/nodes_pos_fpa.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_grade_46495.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_m_36063.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_m_79386.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_m_97287.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_mets_12638.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_mets_19048.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_mets_20116.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_mets_26722.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_mets_40773.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_mets_43643.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_mets_53483.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_mets_61257.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_mets_63579.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_mets_64617.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_mets_72113.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_mets_75175.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_mets_93634.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_mets_na_36656.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_n_19406.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_n_21296.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_n_84898.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1156.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_14026.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1604.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_20791.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_21887.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_25859.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_36616.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_39067.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_47758.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_48137.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_57637.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_73431.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_7436.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_84083.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_92453.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_na_1293.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_20397.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_24935.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_26974.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_30482.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_32357.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_42195.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_591.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_59828.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_67911.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_na_68667.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11224.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11413.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_stage_16688.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_stage_19429.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_stage_51275.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_stage_54754.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_stage_56655.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_stage_57755.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_stage_69576.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_stage_70937.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_stage_78332.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_stage_79275.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_stage_80420.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_stage_85957.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_stage_94654.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_t_59799.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_t_65327.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pediatric_t_75382.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/pretext_clinical_staging_39169.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/primary_site.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/rx_summ_surg_2023_retinoblastoma_97268.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/rx_summ_surgical_margins_47287.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/s_category_clinical_11368.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/s_category_pathological_46197.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_acute_lymphoblastic_leukemia.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_adult_other_non_pediatric.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_astrocytoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_ependymoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_hepatoblastoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_hodgkin_lymphoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_chondrosarcomas.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_ewing.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_osteosarcoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_other_specified.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_unspecified.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_atypical_teratoid_rhabdoid.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_medulloepithelioma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pineoblastoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pnet.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_neuroblastoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_burkitt_lymphoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_mature_b_cell_lymphomas.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_nos.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_t_cell_and_nk_cell_lymphomas.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_fibrosarcomas.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_other_specified.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_unspecified.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_ovarian.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_ewing_sarcoma_of_kidney.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_kidney_sarcomas.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_nephroblastoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_rhabdoid_renal_tumor.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_unspecified_malignant_renal_tumors.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_retinoblastoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_rhabdomyosarcoma.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/schema_selection_testicular.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/toronto_stage_92889.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/toronto_stage_group_41463.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/tumor_size_summary_47973.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/white_blood_cell_count_1932.json (100%) rename {algorithm-pediatric/src/main => src/test}/resources/algorithms/pediatric/1.3/tables/year_dx_validation.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/glossary/546cf5aee4b0d965832a94bf.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/glossary/546f598de4b0d965832bb0c4.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/glossary/5505c8e7e4b0c48f31d70838.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/glossary/55097bbee4b0c48f31d8967a.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/glossary/550adaede4b0c48f31d94520.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/glossary/554540cfe4b0426fced42655.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/glossary/55a800abe4b05cd0cddb978e.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/glossary/55a80262e4b05cd0cddb99b8.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/glossary/55a9a501e4b05cd0cddc710a.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/glossary/55b12ee91ef5572aac76e67a.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/glossary/55ba2b9b1ef5572aac7b2910.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/glossary/55dcb1521ef5576bf30cca55.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/glossary/55dcb26c1ef5576bf30ccc10.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/glossary/terms.txt (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/schemas/ids.txt (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/schemas/urethra.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc6_exclusions_ppd.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc6_m_codes.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc6_n_codes.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_codes.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_qaw.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc6_t_codes.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc6_year_validation.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc7_inclusions_tpb.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc7_m_codes.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc7_n_codes.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_codes.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_uaz.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc7_t_codes.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc7_year_validation.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc_descriptor_codes.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc_mdescriptor_cleanup.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc_ndescriptor_cleanup.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ajcc_tdescriptor_cleanup.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/behavior.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/cs_input_version_original.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/cs_year_validation.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/extension_bdi.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/extension_eval_cpa.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/grade.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/histology.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ids.txt (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/lvi.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/mets_eval_ipa.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/mets_hpe.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/nodes_dbu.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/nodes_eval_epa.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/nodes_exam_gpa.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/nodes_pos_fpa.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/primary_site.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/schema_selection_urethra.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/size_apa.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ss_codes.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf10_sne.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf11_snf.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf12_sng.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf13_snh.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf14_sni.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf15_snj.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf16_snk.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf17_snl.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf18_snm.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf19_snn.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf1_jpd.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf20_sno.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf21_snp.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf22_snq.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf23_snr.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf24_sns.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf25_snt.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf2_kna.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf3_lna.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf4_mna.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf5_nna.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf6_ona.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf7_snb.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf8_snc.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/ssf9_snd.json (100%) rename {lib/src => src}/test/resources/algorithms/testing/99.99/tables/summary_stage_rpa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/546cf5aee4b0d965832a94bf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/546f598de4b0d965832bb0c4.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/5505c8e7e4b0c48f31d70838.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55097bbee4b0c48f31d8967a.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/550adaede4b0c48f31d94520.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55a800abe4b05cd0cddb978e.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55a80262e4b05cd0cddb99b8.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55a99b73e4b05cd0cddc6dc1.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55a99c08e4b05cd0cddc6df1.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55a99cbce4b05cd0cddc6e1f.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55a99e80e4b05cd0cddc6ed7.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55a9a0bfe4b05cd0cddc6fed.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55a9a501e4b05cd0cddc710a.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55a9a750e4b05cd0cddc71b4.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55a9a9a6e4b05cd0cddc72cd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55b12ee91ef5572aac76e67a.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55ba2b9b1ef5572aac7b2910.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55dcae631ef5571a5d966163.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55dcb1521ef5576bf30cca55.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55dcb26c1ef5576bf30ccc10.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55ddcdcd1ef5576bf30d4e4b.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55df18511ef5576bf30e0012.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/55df3e691ef5576bf30e2e32.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/glossary/terms.txt (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/adnexa_uterine_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/adrenal_gland.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/ampulla_vater.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/anus.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/appendix.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/bile_ducts_distal.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/bile_ducts_intrahepat.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/bile_ducts_perihilar.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/biliary_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/bladder.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/bone.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/brain.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/breast.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/buccal_mucosa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/carcinoid_appendix.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/cervix.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/cns_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/colon.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/conjunctiva.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/corpus_adenosarcoma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/corpus_carcinoma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/corpus_sarcoma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/cystic_duct.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/digestive_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/endocrine_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/epiglottis_anterior.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/esophagus.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/esophagus_gejunction.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/eye_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/fallopian_tube.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/floor_mouth.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/gallbladder.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/genital_female_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/genital_male_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/gist_appendix.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/gist_colon.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/gist_esophagus.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/gist_peritoneum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/gist_rectum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/gist_small_intestine.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/gist_stomach.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/gum_lower.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/gum_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/gum_upper.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/heart_mediastinum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/heme_retic.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/hypopharynx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/ids.txt (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/ill_defined_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/intracranial_gland.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/kaposi_sarcoma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/kidney_parenchyma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/kidney_renal_pelvis.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/lacrimal_gland.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/lacrimal_sac.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/larynx_glottic.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/larynx_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/larynx_subglottic.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/larynx_supraglottic.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/lip_lower.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/lip_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/lip_upper.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/liver.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/lung.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/lymphoma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/lymphoma_ocular_adnexa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_buccal_mucosa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_choroid.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_ciliary_body.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_conjunctiva.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_epiglottis_anterior.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_eye_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_floor_mouth.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_gum_lower.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_gum_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_gum_upper.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_hypopharynx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_iris.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_glottic.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_subglottic.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_supraglottic.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_lip_lower.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_lip_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_lip_upper.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_mouth_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_nasal_cavity.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_nasopharynx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_oropharynx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_palate_hard.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_palate_soft.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_pharynx_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_ethmoid.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_maxillary.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_skin.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_tongue_anterior.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/melanoma_tongue_base.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/merkel_cell_penis.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/merkel_cell_scrotum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/merkel_cell_skin.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/merkel_cell_vulva.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/middle_ear.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/mouth_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/mycosis_fungoides.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/myeloma_plasma_cell_disorder.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/nasal_cavity.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/nasopharynx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/net_ampulla.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/net_colon.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/net_rectum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/net_small_intestine.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/net_stomach.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/orbit.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/oropharynx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/ovary.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/palate_hard.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/palate_soft.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/pancreas_body_tail.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/pancreas_head.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/pancreas_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/parotid_gland.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/penis.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/peritoneum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/peritoneum_female_gen.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/pharyngeal_tonsil.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/pharynx_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/placenta.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/pleura.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/prostate.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/rectum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/respiratory_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/retinoblastoma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/retroperitoneum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/salivary_gland_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/scrotum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/sinus_ethmoid.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/sinus_maxillary.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/sinus_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/skin.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/skin_eyelid.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/small_intestine.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/soft_tissue.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/stomach.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/submandibular_gland.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/testis.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/thyroid.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/tongue_anterior.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/tongue_base.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/trachea.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/urethra.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/urinary_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/vagina.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/schemas/vulva.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/adjust_path_defaults_for_no_clin_no_path_stage_group_not_defined_61358.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/adjust_path_defaults_for_no_path_placenta_37763.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/adjustments_for_no_clin_or_no_path_26261.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/adrenal_gland_n_44698.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/adrenal_gland_t_18187.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/adrenal_m_7434.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/age_at_diagnosis_validation_65093.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ampulla_of_vater_t_63892.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/anus_t_35615.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/appendix_grade_category_calculation.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/behavior.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/bone_histologies_stage.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/breast_pathologic_t_84149.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/breast_t_70656.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/buccal_mucosa_t_35895.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/carcinoidappendix_t_41163.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/cervix_uteri_t_38859.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_9010.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_anus_46174.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_conjunctiva_59480.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hab.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hac.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_had.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hae.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_haf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hag.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hah.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hai.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_haj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hak.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hal.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_ham.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_han.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hao.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hap.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_haq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_har.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hat.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hau.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hav.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_haz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hba.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hbb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hbc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hbf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hbg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hbo.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hbu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hbx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hbz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hce.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hch.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hci.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hck.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcp.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcr.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcs.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcv.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hcy.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_head_neck_melanoma_25497.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hpb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hpc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hpd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hpe.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hpg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_hph.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_major_salivary_glands_94644.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_net_ampulla_35993.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_m_soft_tissues_97765.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_ampulla_vater_45064.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_bladder_88949.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_bone_13753.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_conjunctiva_61091.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dab.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dai.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_daj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dak.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dam.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dan.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dat.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dau.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dav.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_daw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dax.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_day.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_daz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dba.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dbb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dbc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dbj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dbl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dbm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dbn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dbr.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dbt.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dce.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dcn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_ddj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_ddm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_ddn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_ddp.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dew.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dfc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dfe.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dff.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dfg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dfl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dfn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dfo.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dfr.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dfs.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dfv.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dfw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_dfx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_esophagus_ge_junction_51247.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_gist_appendix_93665.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_gist_esophagus_87582.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_gist_peritoneum_47701.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_gist_rectum_58109.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_gist_small_intestine_23294.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_heart_mediastinum_77775.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_kidney_parenchyma_9806.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_mycosis_fungoides_95773.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_net_ampulla_36773.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_ophthalmic_n_94312.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_ophthalmic_n_notis_75953.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_pleural_23905.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_skin_eyelid_10770.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_soft_tissues_78998.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_testis_17993.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_n_urethra_47275.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_renal_pevis_and_ureter_11547.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_appendix_24847.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_ban.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_bbo.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_bcp.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_bcs.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_bcu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_bdh.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_bladder_38564.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_bone_70163.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_cervix_78153.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_conjunctiva_42760.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_copy_81159.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_esophagus_57970.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_fallopian_tube_77615.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_floor_of_mouth_37028.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_gallbladder_13172.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_gist_appendix_41981.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_gist_colon_copy_80286.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_gist_esophagus_47140.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_gist_peritoneum_12183.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_gist_rectum_83293.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_gist_small_intestine_3299.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_gist_stomach_46079.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_glottic_larynx_36272.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_gum_lower_57588.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_gum_other_73657.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_gum_upper_23313.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_heart_mediastinum_11552.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_hypopharynx_3365.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_kidney_parenchyma_9887.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_lacrimal_gland_71633.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_larynx_nos_75299.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_larynx_subglottic_11069.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_larynx_supraglottic_69988.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_lip_lower_64771.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_lip_other_75184.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_lip_upper_3775.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_liver_16950.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_lung_28486.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_buccal_mucosa_55204.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_choroid_t_80325.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_ciliary_body_68734.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_epiglottis_anterior_87665.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_floor_of_mouth_29889.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_lower_93520.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_other_64011.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_upper_45093.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_hypopharynx_41386.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_iris_54551.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_glottic_10232.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_other_92067.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_subglottic_74637.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_supraglottic_25433.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lip_other_38821.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_15469.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_t_31253.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_mouth_other_18724.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasal_cavity_92441.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasopharynx_19497.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_oropharynx_83498.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_hard_80202.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_soft_21789.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_pharynx_other_3685.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_ethmoid_72398.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_maxillary_64193.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_anterior_38455.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_base_6605.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_penis_10043.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_scrotum_24017.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_skin_t_96388.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_vulva_96899.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_mouth_other_28324.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_mycosis_fungoides_76446.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_nasal_cavity_5031.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_nasopharynx_40813.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_orbit_59896.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_oropharynx_53342.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_ovary_95574.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_palate_hard_21871.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_body_tail_71461.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_head_97928.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_other_28719.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_parotid_gland_13635.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_penis_88876.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_perihilar_bile_ducts_63594.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_67989.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_female_gen_47507.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_pharyngeal_tonsil_99141.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_placenta_62001.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_pleura_24291.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_rectum_29212.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_renal_pelvis_and_ureter_48274.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_retroperitoneum_91920.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_salivaryglandother_54081.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_scrotum_13282.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_sinus_ethmoid_61914.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_sinus_maxillary_12245.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_skin_92153.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_skin_eyelid_93914.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_small_intestine_22563.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_soft_tissue_43767.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_stomach_55386.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_submandibular_gland_45502.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_thyroid_93682.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_tongue_anterior_43968.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_tongue_base_63370.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_urethra_39553.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_vagina_84852.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clin_t_vulva_52779.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clinical_m_64416.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_48422.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_carcinoma_62458.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_except_nasopharynx_25237.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_melanoma_66648.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/clinical_n_major_salivary_glands_19191.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/colon_65083.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/combined_gleason_93464.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/combined_m.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/combined_n.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/combined_n_for_tis_cancers_4947.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/combined_n_lung.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/combined_n_no_tis_path_n_cn0_allowed_73884.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/combined_stage_group_for_lymphoma_19552.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/combined_t.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/combined_t_breast.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/combined_t_colon.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/combined_t_lung.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/combined_t_no_tis.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/combined_t_retinoblastoma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/combined_t_thyroid_anaplastic_32619.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/concatenate_m_40642.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/concatenate_n_43246.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/concatenate_t_51262.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/conjunctiva_t_62523.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_pathologic_t_90591.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_t_34843.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/corpus_carcinoma_t_42324.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_clinical_t_23604.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_t_13268.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/cystic_duct_t_52091.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/determine_combined_prefix_91402.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/determine_default_m.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/determine_default_n.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/determine_default_t.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/determine_default_t_anaplastic_77806.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/discriminator_bile_ducts.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/discriminator_esophogus_ge_junction.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/discriminator_lacrimal.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/discriminator_melanoma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/discriminator_nasopharynx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/distal_blie_duct_t_30646.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/esophagus_gejunction_histologies_stage.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/esophagus_histologies_stage.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/esophagus_t_28679.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/esophagusgejunction_t_39319.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/fallopian_tube_t_96584.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/floor_of_mouth_t_38606.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gallbladder_t_77234.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gist_appendix_mitotic_rate_calculation.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gist_appendix_n_87661.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gist_appendix_t_67124.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gist_colon_n_46351.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gist_esophagus_mitotic_rate_calculation.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gist_esophagus_t_61710.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gist_peritoneum_mitotic_rate_calculation.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gist_peritoneum_n_18654.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gist_peritoneum_t_10242.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gist_rectum_n_35223.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gist_rectum_t_7125.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gist_small_intestine_n_18642.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gist_small_intestine_t_83343.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gist_stomach_n_73991.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gist_stomach_t_60871.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gistcolon_t_85374.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gistesophagus_n_17925.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/giststomach_t_55582.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/glottic_larynx_t_8691.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/grade.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gum_lower_t_24295.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gum_other_t_49578.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/gum_upper_t_95905.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/heart_mediastinum_n_50568.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/heart_mediastinum_t_30394.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/histologies_grade_path_stage_tnm_7_37149.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/histologies_grade_stage_tnm_7_20594.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/histologies_path_stage_47414.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/histologies_path_stage_56616.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/histologies_path_stage_99978.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/histology.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/hypopharynx_t_21848.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ids.txt (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/intrahepatic_bile_ducts_t_31771.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/kidney_n_42919.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/kidney_parenchyma_t_48027.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/lacrimal_gland_t_1116.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/larynx_nos_t_90793.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/larynx_subglottic_t_32495.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/larynx_supraglottic_t_57946.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/lip_lower_t_82564.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/lip_other_t_56087.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/lip_upper_t_48652.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/liver_t_55652.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/lung_occult_stage_11131.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/lung_t_86537.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/lymphoma_path_stage_group_detailed_88547.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/lymphoma_stage_group_detailed_35045.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_m_no_uicc_definition_96511.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_n_no_uicc_definition_66872.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_m_no_uicc_definition_copy_6387.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_n_no_uicc_definition_17284.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_t_no_uicc_definition_copy_11297.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_t_no_uicc_definition_89433.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_buccal_mucosa_t_76459.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_choroid_t_79116.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_ciliary_body_t_34399.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_n_15261.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_pathologic_n_83143.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_epiglottis_anterior_t_92827.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_floor_of_mouth_t_86503.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_gum_lower_t_30606.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_gum_other_t_27553.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_hypopharynx_t_81125.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_iris_t_65686.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_larynx_glottic_t_65946.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_larynx_other_t_71686.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_larynx_subglottic_81170.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_larynx_supraglottic_63201.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_lip_other_t_71709.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_30772.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_39461.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_mouth_other_t_26001.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_nasal_cavity_t_57160.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_nasopharynx_t_72770.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_oropharynx_t_73396.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_palate_hard_t_49262.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_palate_soft_t_15766.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_pharynx_other_t_82152.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_sinus_maxillary_t_28715.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_tongue_anterior_t_170.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/melanoma_tongue_base_60314.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/merkel_cell_penis_t_93032.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/merkel_cell_scrotum_t_30089.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/merkel_cell_skin_t_48418.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/merkel_cell_vulva_t_49226.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/mouth_other_t_88942.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/nasal_cavity_t_71995.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/nasopharynx_t_29067.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/net_ampulla_pathologic_t_58166.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/net_ampulla_t_37461.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/net_colon_t_5107.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/net_rectum_t_3082.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/net_smallintestine_t_60400.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/no_tnm_group_99227.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/no_tnm_group_p_41281.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/nodes_pos_fab.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/nodes_pos_fah.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/nodes_pos_fpa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ophthalmic_n_36875.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/orbit_t_97280.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/oropharynx_t_62492.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ovary_t_58652.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/palate_hard_t_41050.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/palate_soft_t_48973.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/pancreas_bodytail_t_46669.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/pancreas_head_t_4793.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/pancreas_other_70468.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/parotid_gland_t_68628.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/parse_m_47057.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/parse_n_67182.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/parse_n_merkel_clin_55445.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/parse_n_merkel_path_copy_67865.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/parse_t_2177.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_74330.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_anus_33946.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_conjunctiva_73224.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hab.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hac.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_had.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hae.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_haf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hag.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hah.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hai.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_haj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hak.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hal.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_ham.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_han.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hao.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hap.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_haq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_har.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hat.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hau.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hav.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_haz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hba.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hbb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hbc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hbf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hbg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hbn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hbo.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hbu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hbv.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hbx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hbz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hce.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hch.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hci.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hck.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcp.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcr.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcs.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcv.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hcy.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_head_neck_melanoma_32288.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hpb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hpc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hpd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hpe.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hpg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_hph.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_major_salivary_glands_13003.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_net_ampulla_22136.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_m_soft_tissues_96225.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_adrenal_gland_53740.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_bladder_46197.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_bone_31243.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_conjunctiva_84900.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dab.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dai.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_daj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dak.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dam.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dan.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dat.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dau.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dav.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_daw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dax.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_day.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_daz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dba.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dbb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dbc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dbj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dbl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dbm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dbn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dbo.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dbr.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dbt.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dcn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_ddj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_ddm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_ddn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_ddp.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dew.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dfa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dfc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dfe.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dff.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dfg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dfl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dfn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dfo.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dfr.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dfs.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dfv.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dfw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_dfx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_gist_colon_71024.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_head_neck_except_nasopharynx_40357.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_major_salivary_glands_7162.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_net_ampulla_11118.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_ophthalmic_no_tis_80282.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_86254.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_88959.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_adrenal_gland_28077.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_ampulla_vater_23469.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_anus_61291.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_appendix_94760.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_ban.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_baq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_bbo.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_bcs.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_bcu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_bfi.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_bladder_68862.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_bone_59009.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_buccal_mucosa_7034.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_carcinoid_appendix_77608.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_colon_98925.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_corpus_carcinoma_7259.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_cystic_duct_38967.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_distal_bile_duct_50879.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_epiglottis_anterior_t_4558.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_gum_upper_50893.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_intrahepatic_bile_ducts_23893.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_net_rectum_13791.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_net_small_intestine_71548.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_net_stomach_63587.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/path_t_perihilar_bile_ducts_88350.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/pathologic_n_head_neck_melanoma_copy_75380.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_31147.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_carcinoma_11126.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/penis_t_51275.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/peritoneum_t_18850.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/peritoneumfemalegen_t_87084.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/pharyngeal_tonsil_t_36969.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/placenta_t_12749.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/pleura_t_20728.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/pleural_n_14342.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/primary_site.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/prostate_n_76551.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/prostate_pathologic_n_4662.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/radiation_surg_seq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/rectum_t_5935.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/renal_pelvis_and_ureter_t_91246.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/renal_pevis_and_ureter_n_58133.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/retinoblastoma_clinical_n_19393.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/retinoblastoma_pathologic_n_93880.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/retroperitoneum_n_12750.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/retroperitoneum_t_87029.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/salivaryglandother_t_67266.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_adnexa_uterine_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_adrenal_gland.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_ampulla_vater.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_anus.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_appendix.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_distal.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_intrahepat.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_perihilar.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_biliary_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_bladder.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_bone.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_brain.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_breast.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_buccal_mucosa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_carcinoid_appendix.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_cervix.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_cns_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_colon.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_conjunctiva.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_adenosarcoma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_carcinoma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_sarcoma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_cystic_duct.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_digestive_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_endocrine_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_epiglottis_anterior.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus_gejunction.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_eye_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_fallopian_tube.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_floor_mouth.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_gallbladder.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_genital_female_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_genital_male_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_gist_appendix.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_gist_colon.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_gist_esophagus.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_gist_peritoneum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_gist_rectum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_gist_small_intestine.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_gist_stomach.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_gum_lower.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_gum_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_gum_upper.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_heart_mediastinum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_heme_retic.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_hypopharynx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_ill_defined_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_intracranial_gland.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_kaposi_sarcoma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_parenchyma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_renal_pelvis.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_gland.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_sac.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_glottic.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_subglottic.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_supraglottic.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_lip_lower.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_lip_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_lip_upper.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_liver.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_lung.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma_ocular_adnexa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_buccal_mucosa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_choroid.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_ciliary_body.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_conjunctiva.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_epiglottis_anterior.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_eye_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_floor_mouth.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_lower.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_upper.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_hypopharynx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_iris.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_glottic.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_subglottic.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_supraglottic.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_lower.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_upper.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_mouth_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasal_cavity.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasopharynx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_oropharynx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_hard.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_soft.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_pharynx_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_ethmoid.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_maxillary.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_skin.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_anterior.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_base.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_penis.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_scrotum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_skin.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_vulva.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_middle_ear.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_mouth_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_mycosis_fungoides.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_myeloma_plasma_cell_disorder.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_nasal_cavity.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_nasopharynx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_net_ampulla.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_net_colon.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_net_rectum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_net_small_intestine.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_net_stomach.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_orbit.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_oropharynx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_ovary.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_palate_hard.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_palate_soft.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_body_tail.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_head.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_parotid_gland.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_penis.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum_female_gen.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_pharyngeal_tonsil.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_pharynx_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_placenta.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_pleura.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_prostate.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_rectum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_respiratory_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_retinoblastoma.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_retroperitoneum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_salivary_gland_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_scrotum.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_ethmoid.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_maxillary.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_skin.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_skin_eyelid.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_small_intestine.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_soft_tissue.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_stomach.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_submandibular_gland.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_testis.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_thyroid.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_anterior.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_base.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_trachea.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_urethra.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_urinary_other.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_vagina.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/schema_selection_vulva.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/scrotum_t_52966.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/select_stage_group_19580.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/sex_19563.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_5235.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_70472.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/sinus_maxillary_t_7871.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/skin_eyelid_n_65771.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/skin_eyelid_t_57348.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/skin_t_38821.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/small_intestine_t_70831.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/soft_tissue_n_4758.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/soft_tissue_t_79319.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_path_stage_group_selection_48445.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_sad.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_sat.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_saz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_scm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_sek.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_seq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_sex.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_sfi.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_spd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_spi.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_spz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_sqj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_sqs.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_srh.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf10_stage_group_selection_87171.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf11_sae.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf11_sba.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf11_sbt.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf11_scj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf11_ser.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf11_spe.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf11_spk.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf11_sps.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf11_sqa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf11_sqe.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf11_sqt.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf11_srd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf11_sri.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf12_saf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf12_sbb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf12_sbu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf12_sck.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf12_ses.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf12_sev.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf12_sew.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf12_sez.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf12_sfd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf12_spl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf12_sqb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf12_sqf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf12_srj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf13_sag.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf13_sbc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf13_sca.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf13_scl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf13_sdg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf13_sdr.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf13_sfa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf13_sfe.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf13_spm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf13_sqg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf13_sqq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf14_sbd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf14_sbf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf14_scn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf14_sdh.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf14_sds.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf14_sfb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf14_sff.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf14_spn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf14_sqh.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf14_sqr.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf15_sbe.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf15_sbg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf15_sco.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf15_sdm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf15_sdt.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf15_sfc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf15_sfg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf15_spo.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf16_sah.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf16_scp.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf16_sdn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf16_sfh.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf16_spt.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf16_squ.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf16_sqv.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf16_sqw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf17_sai.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf17_seu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf17_spu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf17_sqx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf18_saj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf18_sqy.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf19_sak.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf19_sqz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jae.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jag.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jaj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jam.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jap.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jaq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jav.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jbd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jbh.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jbj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jbk.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jbl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jbp.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jbq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jbt.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jbv.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jbx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jby.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jbz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jca.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jce.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jcg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jpa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jpd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jpe.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jpf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jpj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jpl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jpm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jpo.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jpp.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jpr.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jpt.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jpu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_jpw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf1_sbh.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf20_sal.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf20_sra.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf21_sam.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf21_srb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf22_san.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf22_src.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf23_sao.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf24_sap.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kaa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kab.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kac.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kaj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kak.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kal.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kao.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kar.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kas.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kaw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kax.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kay.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kaz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kbb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kbc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kbf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kbi.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kbl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kbm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kbu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kbv.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kbx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kpc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kpd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kpg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kpj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kpk.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kpl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kpn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kpo.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kpq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_kpr.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf2_sbi.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lac.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_laf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lah.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lai.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lao.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_laq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lat.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_law.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lay.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_laz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lbb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lbc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lpa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lpc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lpd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lpe.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lph.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lpj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lpk.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lpl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lpm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lpp.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lpr.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lps.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lpt.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf3_lpu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_maa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mab.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mac.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_maj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mal.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mam.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mas.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mat.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mav.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_maz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mbd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mbg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mbh.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mbi.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mbj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mpa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mpb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mpd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mpe.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mpf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mpg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mpn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mpq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mpr.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf4_mps.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_naa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_nab.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_nac.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_nah.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_nai.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_nak.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_nap.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_naq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_nar.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_nas.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_nav.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_naw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_nba.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_nbb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_npa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_npb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_npe.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_npf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_npg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_nph.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_npk.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_npl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf5_npm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_oaa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_oae.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_oaf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_oag.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_oak.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_oam.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_oao.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_oap.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_oaq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_oas.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_oat.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_oaw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_oax.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_oay.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_opa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_opb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_opd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_opf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_opg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_oph.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf6_opi.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_saa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_saq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_saw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_sbv.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_sbx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_scb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_scq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_sde.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_sdf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_sdo.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_sdx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_seb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_seh.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_sfl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_spa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_spf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_spw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_sqk.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_sqn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf7_sre.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_sab.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_sar.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_sax.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_sby.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_scc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_sdd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_sdp.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_sdy.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_sec.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_sei.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_sfk.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_spb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_spg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_spx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_sql.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_sqo.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf8_srf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf9_sac.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf9_sas.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf9_say.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf9_sdi.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf9_sdq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf9_sdz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf9_sed.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf9_sej.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf9_spc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf9_sph.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf9_sqm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/ssf9_srg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_94596.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_1171.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_13226.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_14599.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_15811.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_19537.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_20505.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_22295.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_2328.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_26613.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_29799.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_30166.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_32452.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_32628.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_32742.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_34250.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_34977.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_37137.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_40902.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_4134.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_41802.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_42709.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_42843.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_46351.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_46455.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_47235.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_47728.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_478.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_49193.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_49395.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_51542.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_52010.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_55797.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_56577.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_57716.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_59028.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_59520.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_59832.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_61951.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_62342.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_63552.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_64282.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_65478.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_65801.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_66879.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_73800.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_75034.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_76410.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_76779.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_79525.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_82556.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_83264.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_85588.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_86666.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_89731.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_90191.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_92535.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_93818.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_95471.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_c_96502.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_c_60180.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_c_86297.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_p_45342.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_p_48657.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_11962.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_12670.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_15208.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_18837.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_21201.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_24418.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_25104.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_27096.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_31599.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_3409.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_35702.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_39380.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_40037.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_42277.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_42915.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_42930.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_44218.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_44348.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_4518.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_45269.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_45729.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_4750.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_4759.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_48023.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_48545.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_5079.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_53847.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_54450.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_54695.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_56445.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_60572.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_61212.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_63631.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_65545.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_66747.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_66915.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_67704.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_71358.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_72316.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_74045.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_75705.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_78345.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_78368.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_79654.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_79934.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_79956.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_81228.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_82326.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_82525.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_83975.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_84556.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_8501.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_8706.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_89660.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_90233.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_92581.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_93370.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_94665.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_95243.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stage_group_p_96481.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stomach_t_57787.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_24035.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_placenta_53933.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/submandibular_gland_t_42810.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/systemic_surg_seq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/testis_n_51427.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/testis_path_t_76829.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/testis_postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_anaplastic.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_medullary.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_lessthan_45.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/thyroid_anaplastic_74409.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/thyroid_t_6166.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tab.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tae.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpe.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tph.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpi.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpk.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpo.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpp.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpr.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tps.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpt.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpv.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpy.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqh.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqi.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqk.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tql.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_gist_small_intestine_upy.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_group_gist_stomach_36358.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uab.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uac.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uad.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uae.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uak.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ual.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uam.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uao.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uar.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uau.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uav.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uax.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uay.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uba.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubh.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubi.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubk.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubp.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubs.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubt.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubv.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uby.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ups.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upt.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upv.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqe.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_for_sites_with_no_stage_groupings_unb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_gist_small_intestine_upy.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uab.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uac.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uad.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uae.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uak.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ual.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uam.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uao.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uar.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uau.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uav.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uax.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uay.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uba.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubf.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubg.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubh.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubi.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubj.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubk.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubl.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubn.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubp.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubq.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubs.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubt.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubv.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uby.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_upm.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_ups.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_upt.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_upu.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_upv.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_upw.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_upx.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_upz.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqa.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqb.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqc.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqd.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqe.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_12118.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_48585.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_55778.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_69346.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_30413.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_41458.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_ewing_61213.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_not_ewing_41435.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_15592.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_29624.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_anaplastic_79873.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_medullary_77691.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_45_and_older_71342.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_less_than_45_95553.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_44054.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_86531.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_stage_ewing_17708.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_stage_group_gist_stomach_36358.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_stage_not_ewing_14573.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_34274.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_64205.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tongue_anterior_t_49048.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/tonguebase_t_15526.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/urethra_n_54953.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/urethra_t_77785.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/vagina_t_91502.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/vulva_t_1223.json (100%) rename {algorithm-tnm/src/main => src/test}/resources/algorithms/tnm/2.0/tables/year_dx_validation.json (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schema_selection/cs_schema_identification.txt.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/adnexa_uterine_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/adrenal_gland.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/ampulla_vater.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/anus.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/bile_ducts_distal.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/bile_ducts_perihilar.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/biliary_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/brain.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/buccal_mucosa.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/cervix.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/cns_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/conjunctiva.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/corpus_adenosarcoma.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/cystic_duct.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/digestive_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/endocrine_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/epiglottis_anterior.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/eye_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/fallopian_tube.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/floor_mouth.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/gallbladder.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/genital_female_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/genital_male_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/gist_appendix.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/gist_colon.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/gist_esophagus.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/gist_peritoneum.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/gist_rectum.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/gist_small_intestine.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/gist_stomach.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/gum_lower.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/gum_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/gum_upper.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/heart_mediastinum.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/hypopharynx.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/ill_defined_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/index.txt (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/intracranial_gland.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/kaposi_sarcoma.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/kidney_parenchyma.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/kidney_renal_pelvis.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/lacrimal_gland.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/lacrimal_sac.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/larynx_glottic.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/larynx_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/larynx_subglottic.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/larynx_supraglottic.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/lip_lower.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/lip_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/lip_upper.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/liver.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_buccal_mucosa.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_epiglottis_anterior.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_eye_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_floor_mouth.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_gum_lower.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_gum_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_gum_upper.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_hypopharynx.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_iris.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_larynx_glottic.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_larynx_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_larynx_subglottic.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_larynx_supraglottic.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_lip_lower.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_lip_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_lip_upper.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_mouth_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_nasal_cavity.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_nasopharynx.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_oropharynx.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_palate_hard.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_palate_soft.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_pharynx_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_sinus_ethmoid.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_sinus_maxillary.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_sinus_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_tongue_anterior.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/melanoma_tongue_base.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/middle_ear.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/mouth_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/mycosis_fungoides.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/myeloma_plasma_cell_disorder.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/nasal_cavity.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/nasopharynx.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/net_ampulla.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/net_small_intestine.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/orbit.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/ovary.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/palate_hard.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/palate_soft.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/pancreas_body_tail.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/pancreas_head.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/pancreas_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/parotid_gland.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/penis.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/peritoneum.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/pharyngeal_tonsil.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/pharynx_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/placenta.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/respiratory_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/retroperitoneum.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/salivary_gland_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/sinus_ethmoid.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/sinus_maxillary.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/sinus_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/submandibular_gland.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/tongue_anterior.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/tongue_base.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/trachea.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/urethra.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/urinary_other.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/vagina.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/integration/schemas/vulva.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/test-data/020550/AJCC_6.V020550.10000.txt.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/test-data/020550/AJCC_6.V020550.txt.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/test-data/020550/AJCC_7.V020550.10000.txt.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/test-data/020550/AJCC_7.V020550.txt.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/test-data/020550/cs_schema_identification_unit_test.txt.gz (100%) rename {algorithm-cs/src => src}/test/resources/cs/test-data/020550/valid_inputs.020550.txt.gz (100%) rename {lib/src => src}/test/resources/external_algorithm.zip (100%) rename {lib/src => src}/test/resources/simplelogger.properties (100%) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 9a90c945d..8f2453594 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -20,7 +20,7 @@ jobs: with: distribution: 'adopt' java-version: '21' - cache: 'gradle' + cache: 'maven' - name: Cache SonarCloud packages uses: actions/cache@v4 @@ -34,5 +34,5 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: | - chmod +x gradlew - ./gradlew build sonar + chmod +x ./mvnw + ./mvnw -B verify sonar:sonar diff --git a/.gitignore b/.gitignore index a5eedeced..39c6819bf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,34 @@ -target -build -classes -dist -out -/.idea +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws *.iml -.dbshell -.gradle \ No newline at end of file +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..cb28b0e37c7d206feb564310fdeec0927af4123a GIT binary patch literal 62547 zcmb5V1CS=sk~Z9!wr$(CZEL#U=Co~N+O}=mwr$(Cds^S@-Tij=#=rmlVk@E|Dyp8$ z$UKz?`Q$l@GN3=8fq)=^fVx`E)Pern1@-q?PE1vZPD);!LGdpP^)C$aAFx&{CzjH` zpQV9;fd0PyFPNN=yp*_@iYmRFcvOrKbU!1a*o)t$0ex(~3z5?bw11HQYW_uDngyer za60w&wz^`W&Z!0XSH^cLNR&k>%)Vr|$}(wfBzmSbuK^)dy#xr@_NZVszJASn12dw; z-KbI5yz=2awY0>OUF)&crfPu&tVl|!>g*#ur@K=$@8N05<_Mldg}X`N6O<~3|Dpk3 zRWb!e7z<{Mr96 z^C{%ROigEIapRGbFA5g4XoQAe_Y1ii3Ci!KV`?$ zZ2Hy1VP#hVp>OOqe~m|lo@^276Ik<~*6eRSOe;$wn_0@St#cJy}qI#RP= zHVMXyFYYX%T_k3MNbtOX{<*_6Htq*o|7~MkS|A|A|8AqKl!%zTirAJGz;R<3&F7_N z)uC9$9K1M-)g0#}tnM(lO2k~W&4xT7gshgZ1-y2Yo-q9Li7%zguh7W#kGfnjo7Cl6 z!^wTtP392HU0aVB!$cPHjdK}yi7xNMp+KVZy3_u}+lBCloJ&C?#NE@y$_{Uv83*iV zhDOcv`=|CiyQ5)C4fghUmxmwBP0fvuR>aV`bZ3{Q4&6-(M@5sHt0M(}WetqItGB1C zCU-)_n-VD;(6T1%0(@6%U`UgUwgJCCdXvI#f%79Elbg4^yucgfW1^ zNF!|C39SaXsqU9kIimX0vZ`U29)>O|Kfs*hXBXC;Cs9_Zos3%8lu)JGm~c19+j8Va z)~kFfHouwMbfRHJ``%9mLj_bCx!<)O9XNq&uH(>(Q0V7-gom7$kxSpjpPiYGG{IT8 zKdjoDkkMTL9-|vXDuUL=B-K)nVaSFd5TsX0v1C$ETE1Ajnhe9ept?d;xVCWMc$MbR zL{-oP*vjp_3%f0b8h!Qija6rzq~E!#7X~8^ZUb#@rnF~sG0hx^Ok?G9dwmit494OT z_WQzm_sR_#%|I`jx5(6aJYTLv;3U#e@*^jms9#~U`eHOZZEB~yn=4UA(=_U#pYn5e zeeaDmq-$-)&)5Y}h1zDbftv>|?GjQ=)qUw*^CkcAG#o%I8i186AbS@;qrezPCQYWHe=q-5zF>xO*Kk|VTZD;t={XqrKfR|{itr~k71VS?cBc=9zgeFbpeQf*Wad-tAW7(o ze6RbNeu31Uebi}b0>|=7ZjH*J+zSj8fy|+T)+X{N8Vv^d+USG3arWZ?pz)WD)VW}P z0!D>}01W#e@VWTL8w1m|h`D(EnHc*C5#1WK4G|C5ViXO$YzKfJkda# z2c2*qXI-StLW*7_c-%Dws+D#Kkv^gL!_=GMn?Y^0J7*3le!!fTzSux%=1T$O8oy8j z%)PQ9!O+>+y+Dw*r`*}y4SpUa21pWJ$gEDXCZg8L+B!pYWd8X;jRBQkN_b=#tb6Nx zVodM4k?gF&R&P=s`B3d@M5Qvr;1;i_w1AI=*rH(G1kVRMC`_nohm~Ie5^YWYqZMV2<`J* z`i)p799U_mcUjKYn!^T&hu7`Lw$PkddV&W(ni)y|9f}rGr|i-7nnfH6nyB$Q{(*Nv zZz@~rzWM#V@sjT3ewv9c`pP@xM6D!StnV@qCdO${loe(4Gy00NDF5&@Ku;h2P+Vh7 z(X6De$cX5@V}DHXG?K^6mV>XiT768Ee^ye&Cs=2yefVcFn|G zBz$~J(ld&1j@%`sBK^^0Gs$I$q9{R}!HhVu|B@Bhb29PF(%U6#P|T|{ughrfjB@s- zZ)nWbT=6f6aVyk86h(0{NqFg#_d-&q^A@E2l0Iu0(C1@^s6Y-G0r32qll>aW3cHP# zyH`KWu&2?XrIGVB6LOgb+$1zrsW>c2!a(2Y!TnGSAg(|akb#ROpk$~$h}jiY&nWEz zmMxk4&H$8yk(6GKOLQCx$Ji-5H%$Oo4l7~@gbHzNj;iC%_g-+`hCf=YA>Z&F)I1sI z%?Mm27>#i5b5x*U%#QE0wgsN|L73Qf%Mq)QW@O+)a;#mQN?b8e#X%wHbZyA_F+`P%-1SZVnTPPMermk1Rpm#(;z^tMJqwt zDMHw=^c9%?#BcjyPGZFlGOC12RN(i`QAez>VM4#BK&Tm~MZ_!#U8PR->|l+38rIqk zap{3_ei_txm=KL<4p_ukI`9GAEZ+--)Z%)I+9LYO!c|rF=Da5DE@8%g-Zb*O-z8Tv zzbvTzeUcYFgy{b)8Q6+BPl*C}p~DiX%RHMlZf;NmCH;xy=D6Ii;tGU~ zM?k;9X_E?)-wP|VRChb4LrAL*?XD6R2L(MxRFolr6GJ$C>Ihr*nv#lBU>Yklt`-bQ zr;5c(o}R!m4PRz=CnYcQv}m?O=CA(PWBW0?)UY)5d4Kf;8-HU@=xMnA#uw{g`hK{U zB-EQG%T-7FMuUQ;r2xgBi1w69b-Jk8Kujr>`C#&kw-kx_R_GLRC}oum#c{je^h&x9 zoEe)8uUX|SahpME4SEog-5X^wQE0^I!YEHlwawJ|l^^0kD)z{o4^I$Eha$5tzD*A8 zR<*lss4U5N*JCYl;sxBaQkB3M8VT|gXibxFR-NH4Hsmw|{={*Xk)%!$IeqpW&($DQ zuf$~fL+;QIaK?EUfKSX;Gpbm8{<=v#$SrH~P-it--v1kL>3SbJS@>hAE2x_k1-iK# zRN~My-v@dGN3E#c!V1(nOH>vJ{rcOVCx$5s7B?7EKe%B`bbx(8}km#t2a z1A~COG(S4C7~h~k+3;NkxdA4gbB7bRVbm%$DXK0TSBI=Ph6f+PA@$t){_NrRLb`jp zn1u=O0C8%&`rdQgO3kEi#QqiBQcBcbG3wqPrJ8+0r<`L0Co-n8y-NbWbx;}DTq@FD z1b)B$b>Nwx^2;+oIcgW(4I`5DeLE$mWYYc7#tishbd;Y!oQLxI>?6_zq7Ej)92xAZ z!D0mfl|v4EC<3(06V8m+BS)Vx90b=xBSTwTznptIbt5u5KD54$vwl|kp#RpZuJ*k) z>jw52JS&x)9&g3RDXGV zElux37>A=`#5(UuRx&d4qxrV<38_w?#plbw03l9>Nz$Y zZS;fNq6>cGvoASa2y(D&qR9_{@tVrnvduek+riBR#VCG|4Ne^w@mf2Y;-k90%V zpA6dVw|naH;pM~VAwLcQZ|pyTEr;_S2GpkB?7)+?cW{0yE$G43`viTn+^}IPNlDo3 zmE`*)*tFe^=p+a{a5xR;H0r=&!u9y)kYUv@;NUKZ)`u-KFTv0S&FTEQc;D3d|KEKSxirI9TtAWe#hvOXV z>807~TWI~^rL?)WMmi!T!j-vjsw@f11?#jNTu^cmjp!+A1f__Dw!7oqF>&r$V7gc< z?6D92h~Y?faUD+I8V!w~8Z%ws5S{20(AkaTZc>=z`ZK=>ik1td7Op#vAnD;8S zh<>2tmEZiSm-nEjuaWVE)aUXp$BumSS;qw#Xy7-yeq)(<{2G#ap8z)+lTi( ziMb-iig6!==yk zb6{;1hs`#qO5OJQlcJ|62g!?fbI^6v-(`tAQ%Drjcm!`-$%Q#@yw3pf`mXjN>=BSH z(Nftnf50zUUTK;htPt0ONKJq1_d0!a^g>DeNCNpoyZhsnch+s|jXg1!NnEv%li2yw zL}Y=P3u`S%Fj)lhWv0vF4}R;rh4&}2YB8B!|7^}a{#Oac|%oFdMToRrWxEIEN<0CG@_j#R4%R4i0$*6xzzr}^`rI!#y9Xkr{+Rt9G$*@ zQ}XJ+_dl^9@(QYdlXLIMI_Q2uSl>N9g*YXMjddFvVouadTFwyNOT0uG$p!rGF5*`1 z&xsKPj&;t10m&pdPv+LpZd$pyI_v1IJnMD%kWn{vY=O3k1sJRYwPoDV1S4OfVz4FB z$^ygjgHCW=ySKSsoSA&wSlq83JB+O-)s>>e@a{_FjB{@=AlrX7wq>JE=n@}@fba(;n4EG| zge1i)?NE@M@DC5eEv4; z#R~0aNssmFHANL@-eDq2_jFn=MXE9y>1FZH4&v<}vEdB6Kz^l)X%%X@E#4)ahB(KY zx8RH+1*6b|o1$_lRqi^)qoLs;eV5zkKSN;HDwJIx#ceKS!A$ZJ-BpJSc*zl+D~EM2 zm@Kpq2M*kX`;gES_Dd1Y#UH`i!#1HdehqP^{DA-AW^dV(UPu|O@Hvr>?X3^~=1iaRa~AVXbj z-yGL<(5}*)su2Tj#oIt+c6Gh}$0|sUYGGDzNMX+$Oi$e&UJt3&kwu)HX+XP{es(S3 z%9C9y({_fu>^BKjI7k;mZ4DKrdqxw`IM#8{Sh?X(6WE4S6-9M}U0&e32fV$2w{`19 zd=9JfCaYm@J$;nSG3(|byYDqh>c%`JW)W*Y0&K~g6)W?AvVP&DsF_6!fG3i%j^Q>R zR_j5@NguaZB{&XjXF+~6m|utO*pxq$8?0GjW0J-e6Lnf0c@}hvom8KOnirhjOM7!n zP#Iv^0_BqJI?hR5+Dl}p!7X}^NvFOCGvh9y*hgik<&X)3UcEBCdUr$Dt8?0f&LSur ze*n!(V(7umZ%UCS>Hf(g=}39OcvGbf2+D;OZ089m_nUbdCE0PXJfnyrIlLXGh2D!m zK=C#{JmoHY1ws47L0zeWkxxV=A%V8a&E^w%;fBp`PN_ndicD@oN?p?Bu~20>;h;W` ztV=hI*Ts$6JXOwOY?sOk_1xjzNYA#40dD}|js#3V{SLhPEkn5>Ma+cGQi*#`g-*g56Q&@!dg)|1YpLai3Bu8a;l2fnD6&)MZ~hS%&J}k z2p-wG=S|5YGy*Rcnm<9VIVq%~`Q{g(Vq4V)CP257v06=M2W|8AgZO0CC_}HVQ>`VU zy;2LDlG1iwIeMj?l40_`21Qsm?d=1~6f4@_&`lp~pIeXnR)wF0z7FH&wu~L~mfmMr zY4_w6tc{ZP&sa&Ui@UxZ*!UovRT})(p!GtQh~+AMZ6wcqMXM*4r@EaUdt>;Qs2Nt8 zDCJi#^Rwx|T|j_kZi6K!X>Ir%%UxaH>m6I9Yp;Sr;DKJ@{)dz4hpG>jX?>iiXzVQ0 zR$IzL8q11KPvIWIT{hU`TrFyI0YQh`#>J4XE*3;v^07C004~FC7TlRVVC}<}LC4h_ zZjZ)2*#)JyXPHcwte!}{y%i_!{^KwF9qzIRst@oUu~4m;1J_qR;Pz1KSI{rXY5_I_ z%gWC*%bNsb;v?>+TbM$qT`_U8{-g@egY=7+SN#(?RE<2nfrWrOn2OXK!ek7v`aDrH zxCoFHyA&@^@m+#Y(*cohQ4B76me;)(t}{#7?E$_u#1fv)vUE5K;jmlgYI0$Mo!*EA zf?dx$4L(?nyFbv|AF1kB!$P_q)wk1*@L0>mSC(A8f4Rgmv1HG;QDWFj<(1oz)JHr+cP|EPET zSD~QW&W(W?1PF-iZ()b|UrnB(#wG^NR!*X}t~OS-21dpXq)h)YcdA(1A`2nzVFax9rx~WuN=SVt`OIR=eE@$^9&Gx_HCfN= zI(V`)Jn+tJPF~mS?ED7#InwS&6OfH;qDzI_8@t>In6nl zo}q{Ds*cTG*w3CH{Mw9*Zs|iDH^KqmhlLp_+wfwIS24G z{c@fdgqy^Y)RNpI7va^nYr9;18t|j=AYDMpj)j1oNE;8+QQ)ap8O??lv%jbrb*a;} z?OvnGXbtE9zt;TOyWc|$9BeSGQbfNZR`o_C!kMr|mzFvN+5;g2TgFo8DzgS2kkuw@ z=`Gq?xbAPzyf3MQ^ZXp>Gx4GwPD))qv<1EreWT!S@H-IpO{TPP1se8Yv8f@Xw>B}Y z@#;egDL_+0WDA)AuP5@5Dyefuu&0g;P>ro9Qr>@2-VDrb(-whYxmWgkRGE(KC2LwS z;ya>ASBlDMtcZCCD8h+Awq1%A|Hbx)rpn`REck#(J^SbjiHXe-jBp!?>~DC7Wb?mC z_AN+^nOt;3tPnaRZBEpB6s|hCcFouWlA{3QJHP!EPBq1``CIsgMCYD#80(bsKpvwO)0#)1{ zos6v&9c=%W0G-T@9sfSLxeGZvnHk$SnHw57+5X4!u1dvH0YwOvuZ7M^2YOKra0dqR zD`K@MTs(k@h>VeI5UYI%n7#3L_WXVnpu$Vr-g}gEE>Y8ZQQsj_wbl&t6nj{;ga4q8SN#Z6cBZepMoyv7MF-tnnZp*(8jq848yZ zsG_fP$Y-rtCAPPI7QC^nzQjlk;p3tk88!1dJuEFZ!BoB;c!T>L>xSD<#+4X%*;_IB z0bZ%-SLOi5DV7uo{z}YLKHsOHfFIYlu8h(?gRs9@bbzk&dkvw*CWnV;GTAKOZfbY9 z(nKOTQ?fRRs(pr@KsUDq@*P`YUk4j=m?FIoIr)pHUCSE84|Qcf6GucZBRt;6oq_8Z zP^R{LRMo?8>5oaye)Jgg9?H}q?%m@2bBI!XOOP1B0s$%htwA&XuR`=chDc2)ebgna zFWvevD|V882V)@vt|>eeB+@<-L0^6NN%B5BREi8K=GwHVh6X>kCN+R3l{%oJw5g>F zrj$rp$9 zhepggNYDlBLM;Q*CB&%w zW+aY{Mj{=;Rc0dkUw~k)SwgT$RVEn+1QV;%<*FZg!1OcfOcLiF@~k$`IG|E8J0?R2 zk?iDGLR*b|9#WhNLtavx0&=Nx2NII{!@1T78VEA*I#65C`b5)8cGclxKQoVFM$P({ zLwJKo9!9xN4Q8a2F`xL&_>KZfN zOK?5jP%CT{^m4_jZahnn4DrqgTr%(e_({|z2`C2NrR6=v9 z*|55wrjpExm3M&wQ^P?rQPmkI9Z9jlcB~4IfYuLaBV95OGm#E|YwBvj5Z}L~f`&wc zrFo!zLX*C{d2}OGE{YCxyPDNV(%RZ7;;6oM*5a>5LmLy~_NIuhXTy-*>*^oo1L;`o zlY#igc#sXmsfGHA{Vu$lCq$&Ok|9~pSl5Q3csNqZc-!a;O@R$G28a@Sg#&gnrYFsk z&OjZtfIdsr%RV)bh>{>f883aoWuYCPDP{_)%yQhVdYh;6(EOO=;ztX1>n-LcOvCIr zKPLkb`WG2;>r)LTp!~AlXjf-Oe3k`Chvw$l7SB2bA=x3s$;;VTFL0QcHliysKd^*n zg-SNbtPnMAIBX7uiwi&vS)`dunX$}x)f=iwHH;OS6jZ9dYJ^wQ=F#j9U{wJ9eGH^#vzm$HIm->xSO>WQ~nwLYQ8FS|?l!vWL<%j1~P<+07ZMKkTqE0F*Oy1FchM z2(Nx-db%$WC~|loN~e!U`A4)V4@A|gPZh`TA18`yO1{ z(?VA_M6SYp-A#%JEppNHsV~kgW+*Ez=?H?GV!<$F^nOd+SZX(f0IoC#@A=TDv4B2M z%G-laS}yqR0f+qnYW_e7E;5$Q!eO-%XWZML++hz$Xaq@c%2&ognqB2%k;Cs!WA6vl z{6s3fwj*0Q_odHNXd(8234^=Asmc0#8ChzaSyIeCkO(wxqC=R`cZY1|TSK)EYx{W9 z!YXa8GER#Hx<^$eY>{d;u8*+0ocvY0f#D-}KO!`zyDD$%z1*2KI>T+Xmp)%%7c$P< zvTF;ea#Zfzz51>&s<=tS74(t=Hm0dIncn~&zaxiohmQn>6x`R+%vT%~Dhc%RQ=Cj^ z&%gxxQo!zAsu6Z+Ud#P!%3is<%*dJXe!*wZ-yidw|zw|C`cR z`fiF^(yZt?p{ZX|8Ita)UC$=fg6wOve?w+8ww|^7OQ0d zN(3dmJ@mV8>74I$kQl8NM%aC+2l?ZQ2pqkMs{&q(|4hwNM z^xYnjj)q6uAK@m|H$g2ARS2($e9aqGYlEED9sT?~{isH3Sk}kjmZ05Atkgh^M6VNP zX7@!i@k$yRsDK8RA1iqi0}#Phs7y(bKYAQbO9y=~10?8cXtIC4@gF#xZS;y3mAI`h zZ^VmqwJ%W>kisQ!J6R?Zjcgar;Il%$jI*@y)B+fn^53jQd0`)=C~w%Lo?qw!q3fVi{~2arObUM{s=q)hgBn64~)W0tyi?(vlFb z>tCE=B1cbfyY=V38fUGN(#vmn1aY!@v_c70}pa(Lrle-(-SH8Nd!emQF zf3kz0cE~KzB%37B24|e=l4)L}g1AF@v%J*A;5F7li!>I0`lfO9TR+ak`xyqWnj5iwJ$>t_vp(bet2p(jRD;5Q9x2*`|FA4#5cfo8SF@cW zeO{H7C0_YJ*P@_BEvm2dB}pUDYXq@G1^Ee#NY9Q`l`$BUXb01#lmQk^{g3?aaP~(* zD;INgi#8TDZ&*@ZKhx$jA^H-H1Lp`%`O{Y{@_o!+7ST}{Ng^P;X>~Bci{|Qdf1{}p z_kK+zL;>D30r6~R?|h!5NKYOi6X&I5)|ME+NG>d9^`hxKpU^)KBOpZiU^ z;|SzGWtbaclC-%9(zR-|q}kB8H&($nsB1LPAkgcm+Qs@cAov{IXxo5PHrH(8DuEMb z3_R#>7^jjGeS7$!`}m8!8$z|)I~{dhd)SvoH9oR9#LjO{{8O&r7w{d9V1z^syn&E6 z{DG0vlQF_Yb3*|>RzVop^{$mWp|%NDYj@4{d*-@O^<(=L=DMFIQHEp-dtz@1Rumd; zadt^4B#(uUyM6aeUJkGl0GfaULpR!2Ql&q$nEV^+SiDptdPbuJ=VJ)`czZ@&HPUuj zc5dSRB&xk)dI~;6N?wkzI}}4K3i%I=EnlKGpPJ9hu?mNzH7|H0j(mN3(ubdaps3GM z1i+9gk=!$mH=L#LRDf4!mXw0;uxSUIXhl|#h*uK+fQPilJc8RCK9GNPt=X^8`*;3$ zBBo77gkGB5F8a8)*OR10nK&~8CEMPVQyhY>i`PS{L^-*WAz$ljtU%zlG1lm%%U4Zw zms0oZR8b|`>4U1X*9JLQQ>m9MF5%ppoafz^;`7DbmmIENrc$hucekkE4I83WhT%(9 zMaE;f7`g4B#vl(#tNP8$3q{$&oY*oa0HLX6D?xTW3M6f<^{%CK4OE1Pmfue`M6Dh= z&Z-zrq$^xhP%|hU&)(+2KSSpeHgX^0?gRZ5wA8@%%9~@|*Ylux1M{WQ4ekG(T+_b` zb6I)QRGp%fRF)^T?i^j&JDBhfNU9?>Sl6WVMM%S?7< ze|4gaDbPooB=F4Y=>~_+y~Q1{Ox@%q>v+_ZIOfnz5y+qy zhi+^!CE*Lv-}>g^%G=bGLqD(aTN;yHDBH#tOC=X02}QU~Xdme``Wn>N>6{VwgU~Z>g+0 zxv0`>>iSfu$baHMw8(^FL6QWe;}(U>@;8j)t)yHAOj?SdeH;evFx-kpU@nT>lsrUt zqhV}2pD^5bC4786guG1`5|fK@pE6xcT#ns)vR|^?A08G62teHaE&p`ZrCBj_Swt*~dVt=5*RK6Y{% zABqK$X59BnrK3r3u=wxklRnA1uh+q`?T0kE1YhvDWF4OY#<(+V|R@R%tdkq2huF(!Ip+EpZF3zr*|9pmKHPo)Cu z;H+^s&`Ql}u=Jt~ZWj`bAw|i-3#7(2WuRU3DU{BW8`?!O?YO1M$*MMTsaEM!5Jyp~ z!gp6yR4$O%wQ8%dyz43ZPeoJwy;o;yg=S0^Y}%|)to>=N^`!3VMf1~}OZ`Dl$q&|w z9$!i3!i1uAgPTuKSWdBrDr*N$g=E#mdqfj*h;Z}OG`{n245+g;IKfdn!&gF2OtHaD zyGDzj@@d2!P(_Ux)3v;1ABTj__{w*kaRF-1YVU`})Acgk?(T*1YqEve3=5)8bkZK* z!Tus*e$h@^u z>#zV0771Bix~r&h2FJ9)%N{>s>?2tk1$bId)1#G;OKgn-U8jUo^AK;Hu)hQEi}swD(264kAS-SBCD$R(Ro0rh8~Le zzRwxbz_JHDbD+hTX15AWmVw!#rC)-zeZahQQmo6FG1)ah3uuyIuTMof}RO!`Y3^Fxn_-G$23RDOh(@NU?r6`*S?#E50)w zpcsgDZ-iO{;EesgDQq9;p*C#QH(sp~2w^zAJWaUL%@yo)iIL6y8;e_}=dwQc%k%;H zFt5lenH*`}LWd+fPqi;exJeRZgl&nLR%|a!%1x0RQ54cgyWBYrL>sskcAtPxi&8c( zw_K?sI*3n%S;lKiYpveBN08{rgV&-B1NN5Jiu07~%n#%&f!(R(z1)xsxtRBkg#+Lv zh21zX?aYDd_f}qdA`Os*j!eC<5)iUJ&Twj7?*p%vEOGElGhpRZsccM!<k}DeC;TY;rULQs3e}lZyP#UVb=6 zB$Dkm2FaHWUXr7<{R&46sfZ)&(HXxB_=e`%LZci`s7L6c-L7iF&wdmTJz`*^=jD~* zpOZ@jcq8LezVkE^M6D9^QgZqnX&x*mr1_Cf#R9R3&{i3%v#}V$UZzGC;Or*=Dw5SXBC6NV|sGZp^#%RTimyaj@!ZuyJ z6C+r}O1TsAzV9PAa*Gd!9#FQMl)ZLHzTr99biAqA(dz-m9LeIeKny3YB=*+|#-Gq# zaErUR5Z*Wh^e<+wcm70eW;f-g=YTbMiDX)AznDM6B73)T4r%nq+*hKcKF?)#vbv?K zPMe=sFCuC*ZqsBPh-?g!m*O`}6<}Pfj}Y1n9|Y@cUdD5GX_)6Sx9pPfS7 zxkt?g6ZwJ+50C7qrh6dMFmr7qah`FskT_H=GC92vkVh$WfZa2%5L99_DxyM{$#6HQ zx$VR-Wwt!q9JL2{ybEGJr$^?!V4m_BqDqt!mbs=QjHf340+^a{)waVvP0+98(BA$M ztWr&sM=juyYgvf`(SC}+y@QtYgU>0ghJ6VbU}|kEraR&&W%#;!#KI?le%g`e>ZVPiDrneh#&1(Y?uiMo^f5qo@{JEr(p9>8GhDa+PC9yG;lX+D?hQ^fZB&Sdox219zUj_5;+n<0@Wi3@DK`MU8FM!OFJ z8*_mTA-u!Ab#95FRVWTIqAL#BVQGxE_s?>Ql|@0o9vos&r<_4d!+Q6(_270)6#lu$ zV!j$a?_V0I<(3Z=J7C-K0a^Kc1Go9p&T6yQeAD+)dG-$a&%Fo0AOte~_Z&_m2@ue~ z9cKFf-A41Dz31Ooj9FSR`l?H5UtdP?JS=UU$jF#znE1k@0g%K?KQuwZkfDI3Ai)(q z#x_Yo6WR_Y@#6I_02S&NpcP<%sw!!M_3#*8qa+*4rS@x=i{-2K#*Qr)*Q$-{<_(<| z0730e+rubnT38*m;|$-4!1r6u&Ua2kO_s-(7*NGgDTe##%I>_9uW;X__b_k)xlv$; zW%K2hsmr>5e^Z~`tS-eUgWmSF9}Yg8E}qydSVX0nYZMX_x94QK?tw2>^;raVTqstR zIrNAX2`X~|h->dTOb9IrA!i5INpLV}99ES|i0ldzC`;R$FBY5&7+TIy8%GO8SZ37_ zw=^Swk?z+j-&0-cTE|LU0q@IKRa&C6ZlXbSa2vN5r-)*f<3{wLV*uJUw980AFkWN7 zKh{?97GmVu-0rs9FB6ludy|n`gN5p~?y51aJzBg6#+-=0pWdZ2n4xTiQ=&3As-!-6 zFlb|ssAJEJL#s8(=odfz8^9b#@RrvNE4gjuEITzAd7R4+rq$yEJKXP?6D@yM7xZ&^ z@%jnE3}bteJo{p(l`hu`Yvzg9I#~>(T;>c;ufeLfc!m3D&RaQS=gAtEO-WbI+f_#| zaVpq-<%~=27U8*qlVCuI6z9@j)#R!z3{jc>&I(qT-8IBW57_$z5Qm3gVC1TcWJNc% zDk?H3%QHno@fu9nT%L^K)=#sRiRNg|=%M zR;8BE)QA4#Dsg^EakzttRg9pkfIrF3iVYVM#*_+#3X+~qeZc^WQJvEyVlO@9=0pl!ayNOh|{j0j^a z+zi_$_0QKhwArW)sJ$wji;A`?$ecbr?(4x5%2pLgh#wggbt)#T^2R3a9m+>GcrUxU z*u-WTgHAN*e!0;Wa%1k)J_P(Vdp>vwrROTVae@6Wn04q4JL-)g&bWO6PWGuN2Q*s9 zn47Q2bIn4=!P1k0jN_U#+`Ah59zRD??jY?s;U;k@%q87=dM*_yvLN0->qswJWb zImaj{Ah&`)C$u#E0mfZh;iyyWNyEg;w0v%QS5 zGXqad{`>!XZJ%+nT+DiVm;lahOGmZyeqJ-;D&!S3d%CQS4ZFM zkzq5U^O|vIsU_erz_^^$|D0E3(i*&fF-fN}8!k3ugsUmW1{&dgnk!|>z2At?h^^T@ zWN_|`?#UM!FwqmSAgD6Hw%VM|fEAlhIA~^S@d@o<`-sxtE(|<><#76_5^l)Xr|l}Q zd@7Fa8Bj1ICqcy2fKl1rD4TYd84)PG5Ee2W4Nt@NNmpJWvc3q@@*c;~%^Vasf2H`y z+~U-19wtFT?@yIFc4SE_ab?s@wEUfSkOED}+qVjjy>=eac2^S^+|_3%cjH%EUTJ&r znp9q?RbStJcT*Vi{3KDa^jr4>{5x+?!1)8c2SqiCEzE$TQ+`3KPQQnG8_Qk<^)y_o zt1Q^f{#yCUt!1e(3;E6y?>p+7sGAYLp`lA3c~Y`re9q&`c6>0?c0E2Ap5seFv92#X z1Vldj!7A8@8tWr&?%;EBQ_Fwd)8A3!wIx`V!~~h(!$pCy7=&*+*uIzG@*d%*{qG#4 zX0^}}sRN^N=p{w(+yjv%xwb!%lnVTE7l1l6gJwQmq_G83J&Y98$S!r*L8}IiIa2E= zE!0tbOuEDb*No0-KB{zjo1k#_4FHtr{!)>o+Y@bll}Sa6D^xktI0H&l{jKAK)A(iz zB-N00F?~Z}Y7tG+vp)-q*v71(C}65$-=uXx^|R$xx9zZip-V>Hqeyfd(wteM)+!!H z$s+>g4I@+`h2>C|J;PhvtOq)`xm4;CyF}R<)!ma3T{Vf_5|zo;D4YI4ZDBkE(vMeE zb#ZV;n}CgA0w8x!UC2&5Z(K)9bibj#?~>R(72lFx_Am~jS?;7mo~p+05~XGD+(wV4 zEVYnf0N5+-7O+Gc1L!sPGUHv<6=cV8}*m$m`kBs@z zy;goR(?J^JrB7uXXpD00+SD0luk!vK3wwp(N%|X!HmO{xC#OMYQ&a7Yqv-54iEUK4 zVH;)rY6)pUX~ESvQK^w|&}>J{I?YlvOhpMgt-JB}m5Br`Q9X+^8+Xa%S81hO<1t#h zbS+MljFP1J0GGNR1}KwE=cfey%;@n&@Kli+Z5d>daJjbvuO3dW{r$1FT0j zR$c9$t~P50P+NhG^krLH%k}wsQ%mm+@#c;-c9>rYy;8#(jZ|KA8RrmnN2~>w0ciU7 zGiLC?Q^{^Ox-9F()RE^>Xq(MAbGaT0^6jc>M5^*&uc@YGt5Iw4i{6_z5}H$oO`arY z4BT(POK%DnxbH>P$A;OWPb@gYS96F7`jTn6JO@hdM za>_p!1mf?ULJZb1w-+HamqN__2CtI%VK`k^(++Ga0%z*z@k0wYJDqT^)~%|4O299; zh1_iRtc7you(kOK8?Q$R7v-@Qk4+i=8GD2_zI0%{Ra`_prF{+UPW^m5MCA&4ZUpZb z2*!)KA8b--Upp~U%f+rsmCmV~!Y>Gzl#yVvZER2h;f&rkdx{r#9mc8DZMJaQXs?SL zCg3#>xR6ve8&YkP*`Z=lng|Ow+h@t*!Ial*XQg3P;VS8@E1C)VS`?L9N+rxlD7bxC z3@Ag)Vu?#ykY`ND+GvRYTUP&-KDMiqly$Z~uFXt^)4Jjk9RIs*&$?-UPM*d7&m${m zm12kaN3mV1J|c6f$>V+{lvHp~XVW3DU0;cBR>7|)4bo{xa1-ts-lYU-Q-b)_fVVl`EP5X}+J9EzT20x8XIv=m7witdu7!3Lh=KE#OyKpT1GWk{YAo^ny|fvZt<+jmsFs=l*%e& zmRkBt5ccv4O7!HAyv2~rsq*(FmMTm?@TX3&1`nu|7C^F{ad%GLuoX}Rl}6`)uHF_xlx^gVca+mGH4T8u8;q{S*x3=j;kelz^atO~)v!Q_BT z4H6%IA}bvfuk0_vweELeEl8N5w-Q1GF!@f{VKnbyYB2?}d&QvI-j}~RI_+9t9$tC2 z94m=3eLi=sQb^S5;fqP?3aaXc&`}`lq z&M8dOXvxx9Y1^u_ZQHhO+qP}nwkvJhwoz$Mp6Qcq^7M#eWm}!3U@s07hop` zW24|J{t$aB`W>uBTssEvYMyi$hkaOqWh+^(RV_1MYnE0XPgW?7sBDk=Cqs(;$qrPEflqa0ZE?A3cBfW%0RPA235Wb6@=R_d>Sez; z`spwa50bq?-zh+id~Q!T`AYn`$GHzs;jxIw(A1_Ql&f|qP}|bon#H;sjKmSDM!nyn z>bU8l%3DB3F+$}|J^da!!pN|DO!Ndc2J)wMk!+Rr1hes#V}5o(?(yQSphn|9_aU<- zn|nsDS{^x&tweP;Ft`2ur>Koo2IdXJDsr6IN)7vB41Yy-^Wbo9*2th2QA@C zE0-0Gk12YOO?d_Guu6b3&(PIL`d zh4{`k54hu9o%v1K3PGuccez-wdC<&2fp)>`qIIaf)R{5un7-vwm=>LD7ibnJ$|KyE zzw`X*tM0S|V(I3vf454PY{yA5lbE+36_<1kd=&0Xy4jfvUKZ0$Jq!AG4KS7DrE9rph;dK^6*#CIU9qu7 z?)6O`TN&MCWGmUVd1@E2ow2`vZ1A#nGo8_n!dmX77DCgAP1va*ILU+!a&$zdm6Pa6 z4#|*&3dM+r_RJb%!0}7X!An&T4a4@ejqNJ;=1YVQ{J6|oURuj8MBZ8i7l=zz%S4-; zL}=M^wU43lZVwNJgN|#xIfo$aZfY#odZ6~z?aNn=oR1@zDb=a(o3w`IGu&j>6lYxL z&MtqINe4Z>bdsHNkVIu$Dbq0wc#X-xev221e~L zbm8kJ(Xzij$gF4Ij0(yuR?H1hShSy@{WXsHyKtAedk4O!IdpR{E32Oqp{1TD{usJi zGG@{3A$x%R*pp8b$RQo4w&eDhN`&b~iZ2m3U>@9p1o5kXoEVmHX7I6Uw4dn((mFw` zilWrqFd=F5sH$&*(eJB52zaLwRe zz`sruIc=Ck75>v5P5kd>B2u=drvGPg6s&k5^W!%CDxtRO)V6_Y_QP{%7B>E~vyMLG zhrfn8kijyK&bX+rZsnSJ26!j$1x+V!Pyn|ph%sXWr9^f&lf|C;+I^Fi_4;`-LJI&F zr;5O@#4jZX=Yaw0`pUyfF4J8A9wE#7_9!X|_s8~YUzWu&#E^%4NxUA3*jK-F5R3LP2|msHBLmiMIzVpPAEX)2 zLKYjm3VI4r#7|nP^}-}rL+Q4?LqlmBnbL+R8P%8VmV{`wP0=~2)LptW_i682*sUR# z+EifOk_cWVKg-iWr^Qf4cs^3&@BFRC6n0vu{HqZzNqW1{m)3K@gi$i}O(hT`f#bT- z8PqCdSj~FncPNmMKl9i9QPH1OMhvd42zLL~qWVup#nIJRg_?7KQ-g3jGTt5ywN;Qx zwmz4dddJYIOsC8VqC2R%NQ>zm=PJH70kS|EsEB>2Otmtf-18`jUGA6kMZL3vEASDN zNX%?0+=vgsUz!dxZ@~)eU17m4pN3xGC0T;#a@b9Iu0g_v*a3|ck^s_DVA^%yH-wt= zm1)7&q6&Rq#)nc9PQ6DKD{NU=&ul10rTiIe!)x^PS~=K(wX9|?k&{Mv&S$iL9@H7= zG0w~UxKXLF003zJ-H%fGA4Db9{~#p&Bl7ki^SWwv2sfoAlrLMvza)uh;7Aa_@FL4b z4G>`j5Mn9e5JrrN#R$wiB(!6@lU@49(tawM&oma6lB$-^!Pmmo;&j57CDmKi)yesg~P;lJPy9D(!;n;^1ql)$5uYf~f z&GywSWx=ABov_%8pCx=g-gww_u26?5st=rdeExu?5dvj^C?ZZxDv@Si^nX~2qA&K= z2jr;{=L(x~9GLXrIGXs>dehU^D}_NMCMegdtNVWyx)8xHT6Qu!R>?%@RvADs9er;NMkweUBFNrBm1F5e0_>^%CwM6ui}K_MpRqLS0*@lAcj zB6TTCBv>w2qh)qU3*kN+6tPmMQx|5Z0A4n67U-nss90Ec_rDF}r)IR4PE{$8;BSt= zT%6|jyD^(w6a*A5>_|TkMqx~e$n@8{`q?|)Q&Y4UWcI!yP-8AwBQ#P`%M&ib;}pli z9KAPU_9txQ3zOM#(x}*lN8q$2(Tq1yT4RN0!t~|&RdQMXfm!81d0ZuyD}aG3r4+g` z8Aevs3E_ssRAMR+&*Q30M!J5&o%^(3$ZJ=PLZ9<@x^0nb>dm17;8EQJE>hLgR(Wc% zn_LXw|5=b$6%X zS~ClDAZ?wdQrtKcV9>_v1_IXqy)?<@cGGq#!H`DNOE1hb4*P_@tGbMy6r@iCN=NiA zL1jLwuMw&N-e9H(v7>HGwqegSgD{GSzZ@sZ?g5Y`fuZ^X2hL=qeFO(;u|QZl1|HmW zYv+kq#fq_Kzr_LaezT zqIkG6R+ve#k6!xy*}@Kz@jcRaG9g|~j5fAYegGOE0k8+qtF?EgI99h*W}Cw z7TP&T0tz4QxiW!r zF4?|!WiNo=$ZCyrom-ep7y}(MVWOWxL+9?AlhX<>p||=VzvX`lUX(EdR^e5m%Rp_q zim6JL6{>S%OKoX(0FS>c1zY|;&!%i-sSE>ybYX3&^>zb`NPj7?N^ydh=s=0fpyyz% zraFILQ17_9<ettJJt~I+sl=&CPHwz zC9dEb#QFQcY?bk11Y=tEl{t+2IG`QFmYS>ECl;kv=N6&_xJLQt>}ZQiFSf+!D*4Ar zGJ~LFB7e_2AQaxg*h{$!eJ6=smO(d2ZNmwzcy3OG@)kNymCWS44|>fP^7QkJHkE9JmLryhcxFASKb4GYkJ|u^Fj=VdF0%6kgKllkt zC|_ov2R4cJ2QjjYjT6jE#J1J<xaNC>Xm;0SX<`LuW*}*{yQ3c9{Zl=<9NP z^2g5rAdO!-b4XfeBrXa4f{M0&VDrq+ps&2C8FYl@S59?edhp~7ee>GR$zQI4r8ONi zP^OA+8zrTAxOMx5ZBS03RS@J_V`3{QsOxznx6Yt*$IuEd3%R|Ki&zZkjNvrxlPD$m z%K+rwM!`E&Z46ogXCu!3 z8use`FJJ?g_xi?~?MxZYXEu=F=XTC8P3{W*CbG3Wk)^31nD~W>*cJ@W4xg%Qqo7rq z`pUu8wL!6Cm~@niI*YmQ+NbldAlQRh?L!)upVZ)|1{2;0gh38FD&8h#V{7tR&&J}I zX1?;dBqK}5XVyv;l(%?@IVMYj3lL4r)Wx9$<99}{B92UthUfHW3DvGth^Q0-=kcJ1 z!*I9xYAc$5N$~rXV>_VzPVv`6CeX(A_j3*ZkeB~lor#8O-k+0OOYzTkri@PVRRpOP zmBV|NKlJT?y4Q82er)@lK&P%CeLbRw8f+ZC9R)twg5ayJ-Va!hbpPlhs?>297lC8 zvD*WtsmSS{t{}hMPS;JjNf)`_WzqoEt~Pd0T;+_0g*?p=dEQ0#Aemzg_czxPUspzI z^H5oelpi$Z{#zG$emQJ#$q#|K%a0_x5`|;7XGMuQ7lQB9zsnh6b75B9@>ZatHR_6c z0(k}`kfHic{V|@;ghTu>UOZ_jFClp>UT#piDniL(5ZNYXWeW0VRfBerxamg4su5<; z(}Ct2AhR@I-ro0}DdZLRtgI@dm+V`cRZjgV-H+aXm5|Mgz`aZX63i<|oHk-E)cABn z0$NR?(>fla7)Ong28FZSi9Yk0LtYl5lZw5wT!K5=fYT$avgkMKJWx~V#i@7~6_{dM zxDDPIW2l{O2Elv#i^cjYg~lGHRj(W*9gD`(FILKY$R`tL2qo&rtU*c;li!V`O$aV{ z!m|n!FAB2>MR_FVN*Ktv5+2dW4rr3YmfEheyD+48%USM#q6)w%#2}~=5yZE1LLcth zF%VtefH&#AcMx7)JNC$P>~OFuG6sK}F7V$D7m!{ixz&inpAVpFXiu^QruAw@Sc7Y2 z_A^V(2W_+KTGRp2aQSMAgyV#b3@{?5q@hPEP6oF3^}|@8GuD6iKbX;!LI!L=P#Za zL$Zuv#=x3fseRMZ()#SQcXv->xW`C|6quwqL1M&KByBj z2V`}(uL4JB-hUs6304@%QL~S6VF^6ZI=e-Nm9Tc^7gWLd*HM-^S&0d1NuObw-Y3e> zqSXR3>u^~aDQx>tHzn9x?XRk}+__h_LvS~3Fa`#+m*MB9qG(g(GY-^;wO|i#x^?CR zVsOitW{)5m7YV{kb&Z!eXmI}pxP_^kI{}#_ zgjaG)(y7RO*u`io)9E{kXo@kDHrbP;mO`v2Hei32u~HxyuS)acL!R(MUiOKsKCRtv z#H4&dEtrDz|MLy<&(dV!`Pr-J2RVuX1OUME@1%*GzLOchqoc94!9QF$QnrTrRzl`K zYz}h+XD4&p|5Pg33fh+ch;6#w*H5`@6xA;;S5)H>i$}ii2d*l_1qHxY`L3g=t? z!-H0J5>kDt$4DQ{@V3$htxCI;N+$d^K^ad8q~&)NCV6wa5(D${P!Y2w(XF!8d0GpJ zRa=xLRQ;=8`J2+A334};LOIhU`HQ*0v4Upn?w|sciL|{AJSrG_(%-(W9EZb%>EAGG zpDY?z1rQLps`nbCtzqJ#@wxU4}(j!ZQ{`g`g*SXlLah*W9 zyuh)UWoRCknQtd~Lk#BT_qjwj&Kw8U)w=owaJ;A5ae}3)y>{neYNS`|VHJdcSEBF# zBJ6a;T)u;^i#L~LVF-X7!E$SggILXMlsEy~v}K*DM2)f@U~g|Q6I-Pss@)`>fgFWx zsq&7pe!|VA-h;@=fBF{(mR1^{1>ukTYUdyF^#A+(|I_&nm{_xaKn3h4&yMyym2k-wMFg(s@ez=DPmuB%`| z6;e@HQKB(|!PU1sW)W6~x|=8m6rL~4dQ9LTk|RzL-_(_77B4I~ZG=q7K%qHiv!FD8 zmt;Vnhb{ymaydv2V;X-5p zTt2ln?kaB9&(dH_X70^@rrCfz)nwfa9LYTHXO(IPcTEf$QiEhTpl??L+`Eetyqof8 zzl=q)?KdYni!C_9b8Z3xm7r5<5ZG-0uA`u^7Dm7k4mAsQ(rkoWy*^DZJa~#y6+hNG zh?7{D9$a9LS`a@SvZ5?C{JUHovWU9KI}z8YV4pWftx21v*Q;MpU{+b@>Or(}pwO^fu0qA3_k_Bo2}lIxvmMhucG-o>O=+R6YxZ zjs!o%K1AA*q#&bs@~%YA@C;}?!7yIml1`%lT3Cvq4)%A)U0o1)7HM;mm4-ZZK2`Lj zLo?!Kq1G1y1lk>$U~_tOW=%XFoyIui^Cdk511&V}x#n4JeB7>bpQkYIkpGQRHxH$L z%tS=WHC~upIXSem>=TTv?BLsQ37AO88(X+L1bI<;Bt>eY!}wjYoBn#2RGEP49&ZH-Z_}R_JK_ z>o*_y!pOI6?Vf*{x-XT;^(_0}2twfk`*)_lLl0H-g|}BC?dm7CU|^-gNJ~rx z($>97WTKf71$?2|V$Ybpf~Aj@ZZOcb3#uRq51%4^ts-#RMrJhgm|K3QpCsPGW=2dZ zAr5-HYX!D*o#Q&2;jL%X?0{}yH}j*(JC4ck;u%=a_D6CrXyBIM&O#7QWgc?@7MCsY zfH6&xgQmG$U6Miu$iF(*6d8Mq3Z+en_Fi`6VFF=i6L8+;Hr6J zmT=k0A2T{9Ghh9@)|G5R-<3A|qe_a#ipsFs6Yd!}Lcdl8k)I22-)F^4O&GP&1ljl~ z!REpRoer@}YTSWM&mueNci|^H?GbJcfC_Y@?Y+e4Yw?Qoy@VLy_8u2d#0W~C6j(pe zyO6SqpGhB-;)%3lwMGseMkWH0EgErnd9a_pLaxbWJug8$meJoY@o-5kNv&A$MJZ=U z^fXPLqV6m3#x%4V*OYD zUPS&WHikdN<{#Yj|EFQ`UojD4`Zh*CZO4Cv`w^&*FfqBi`iXsWg%%a< zk@*c%j1+xib(4q^nHHO^y5d8iNkvczbqZ5;^ZVu%*PJ!O?X-CoNP*&tOU!5%bwUEw zQN?P*a=KKlu{`7GoA}DE=#nDibRgecw>-*da~7&wgow}|DyCJq!-Lp8a~(zR@tO1 zgu(4s4HptPGn(HmN2ayYs@g+yx1n`nU3KM{tQHhMHBw7f#gwru$=C()`aKZAl^dYc ze7fC)8EZEXOryk6AD&-4L+4cJ&M@3;;{R)mi4=`ti7IZByr^|_HNsjcNFu?mIE)jD za2j)FPwRY!R_YR-P?URm0Pti*e#5jmfK)6EvaKCT{h)kbJl{AGr1Ekt}pG?^e z*botRf-RsB8q10BTroj{ZP**)2zkXTF+{9<4@$aNDreO7%tttKkR3z`3ljd?heAJEe<0%4zYK?};Ur*!a>PbGYFFi(OF-%wyzbKeBdbkjv^i9mn@UocSS z4;J%-Q$l`zb&r*Pb`U;3@qkc=8QaPE9KwmlVwAf01sa*uI2*N`9U^3*1lLsM9dJ(4 zZBkU}os|5YT#Z;PD8xVv!yo$-n{-n4JM5ukjnTciniiT`(cZ6sD6~67e5_?8am%!w zeCLUxq~7x-!Xg#PgKV&caC@7mu<86am{WaXo(lAemt4~I$utSp(URWpYNo$RvU*$N z#%iiA+h`(E;BUg;=I!#EaxO89bUK3*v5Nc3GPmURC5TqzC|))DsFNtJICH6oBW6#q z+B(N{ey+^mk_{!@ z)VhAWXG=_0j|0f9iJ;c404PiIFqK)(AD05Xh`Fk`r$^b`v+>*g+_+h@r)e+ELJ45) z?20~u<}HQyQ5AsBz(teF9!!_GLXnm{5Z0e{Ki*@!=&3x4-RcjBn##DDzHJ|KSZ5(E z9=tFZ)p~-}x%9sCY27)2i>(E-^OiYT?_)a;yXAGR$y+E`myMd;xDA#_Q49t*E}&ql#H~|x z2J2R1_#2lt91NnF!uqW%_=HlbF?A{B{n>}9$g5QF!bh_a7LTU~Jyz}7>W5{_LAov{ zy2_dmGy)d)&7^bJyUjEw%3xj{cuG0Eo zwL*XQB*Oi=r&HIIecC1%lbE;Y-*5|cL955S+2@uR18JDL<0;;Uc2Q9JEyo1R!!sz_ z#BqnkGfbLP#oQJk3y}nwMd(3Tt^PVA#zXnYF7D0W1)#+`i?@cm}fBkKD z+Mpcuim53|v7;8Tv(KraEyOK`HvJq^;rlNzOjIbW&HJDFqW>doN&j7)`RDv#v|PQ+ z03WnB4Y4X@Fe-@%3;He*FjY1MFmkyv0>64Cp~FIDKQTwmFP~_CxZOf{8gPy}I<=JC zo%_bmue&$UU0|GG%%99eI!m#5Y1MD3AsJqG#gt3u{%sj5&tQ&xZpP%fcKdYPtr<3$ zAeqgZ=vdjA;Xi##r%!J+yhK)TDP3%C7Y#J|&N^))dRk&qJSU*b;1W%t1;j#2{l~#{ zo8QYEny2AY>N{z4S6|uBzYp>7nP_tqX#!DfgQfeY6CO7ZRJ10&$5Rc+BEPb{ns!Bi z`y;v{>LQheel`}&OniUiNtQv@;EQP5iR&MitbPCYvoZgL76Tqu#lruAI`#g9F#j!= z^FLRVg0?m$=BCaL`u{ZnNKV>N`O$SuDvY`AoyfIzL9~ zo|bs1ADoXMr{tRGL% zA#cLu%kuMrYQXJq8(&qS|UYUxdCla(;SJLYIdQp)1luCxniVg~duy zUTPo9%ev2~W}Vbm-*=!DKv$%TktO$2rF~7-W-{ODp{sL%yQY_tcupR@HlA0f#^1l8 zbi>MV~o zz)zl1a?sGv)E}kP$4v3CQgTjpSJo?s>_$e>s2i+M^D5EfrwjFAo(8E%(^ROV0vz0o z-cg0jIk24n!wxZainfH)+?MGu@kg$XgaMY-^H}z^vG~XC7z2;p2Kv`b^3S#b5ssMOJ7724v>S36dD zeypxJ<=E~sD4f5wX060RIF-AR0#{Z z=&y$r8A-e6q18lIF{@O9Mi%dYSYT6erw!@zrl=uj>o(3=M*Bg4E$#bLhNUPO+Mn}>+IVN-`>5gM7tT7jre|&*_t;Tpk%PJL z%$qScr*q7OJ6?p&;VjEZ&*A;wHv2GdJ+fE;d(Qj#pmf2WL5#s^ZrXYC8x7)>5vq_7 zMCL}T{jNMA5`}6P5#PaMJDB2~TVt;!yEP)WEDAoi9PUt89S2Cj?+E0V(=_sv4Vn6b z_kS6~X!G;PKK>vZF@gWpg8Zuh%YX^2UYPdCg7?EH#^gkdOWpy(%RnXyyrhmJT~UJw zAR;%Zgb6z(mS+o9MT|Sc6O({!i0pzk;s9?Dq)%tTW3*XdM3zhPn*`z45$Bg!P4xfy zD*{>30*JsSk?bQ-DgG62v>Vw-w`SA}{*Za7%N(d-mr@~xq5&OvPa*F2Q3Mqzzf%Oe z4N$`+<=;f5_$9nBd=PhPRU>9_2N8M`tT<-fcvc&!qkoAo4J{e3&;6(YoF8Wd&A+>; z|MSKXb~83~{=byCWHm57tRs{!AI<5papN(zKssb_p_WT@0kL0T0Z5#KLbz%zfk?f7 zR!vXBs36XaNcq5usS7<>skM_*P$e*^8y1ksiuokbsGFQ_{-8BAMfu!Z6G=88;>Fxt z|F-RU{=9i6obkTa0k~L#g;9ot8GCSxjAsyeN~1;^E=o5`m%u7dO1C*nn1gklHCBUw z;R(LgZ}sHld`c%&=S+Vx%;_I1*36P`WYx%&AboA1W@P;BvuFW+ng*wh?^aH4-b7So zG?9kFs_6ma85@wo!Z`L)B#zQAZz{Mc7S%d<*_4cKYaKRSY`#<{w?}4*Z>f2gvK`P1 zfT~v?LkvzaxnV|3^^P5UZa1I@u*4>TdXADYkent$d1q;jzE~%v?@rFYC~jB;IM5n_U0;r>5Xmdu{;2%zCwa&n>vnRC^&+dUZKy zt=@Lfsb$dsMP}Bn;3sb+u76jBKX(|0P-^P!&CUJ!;M?R?z7)$0DXkMG*ccBLj+xI) zYP=jIl88MY5Jyf@wKN--x@We~_^#kM2#Xg$0yD+2Tu^MZ1w%AIpCToT-qQbctHpc_ z>Z97ECB%ak;R<4hEt6bVqgYm(!~^Yx9?6_FUDqQQVk=HETyWpi!O^`EZ_5AoSv@VbUzsqusIZ;yX!4CsMiznO}S{4e>^0`c<)c~mC#*{90@+T@%EQ~>bovc8n_$bvqkOU7CrYe8uI5~{3O7EijeX`js z-$LNz4pJA7_V5~JA_Wl*uSrQYSh9Wm($%@jowv^fSPW<~kK&M*hAleywHd?7v{`;Y zBhL2+-O+7QK_)7XOJAbdTV-S`!I)t~GE8z+fV7y;wp#!wj75drv;R*UdSh(}u$%{VSd0gLeFp;h6FkiVz%g=EY3G#>RU;alRy;vQmk*| z@x-ba0XKE%IyL4OYw6IXzMiS(q^UDk=t(#XgkuF`{P?=k8k3r)rmhkv`vg@kiWd34 z-~t+1aV3SabTbG=nQYs>3~E<}{5@0g**LAWi*~SfRZhGcgP{e5T!0M7CU}`f@r8xI z0bx%sI!?5);-wG+Mx&S=NRfIi>V-wP(n&$X0Bhd)qI^ch%96s6&u7qpiK8ijA=X_R zk&|9f$GXf-;VgnrxV83Cp-Q!!sHH`5O^o~qZu!xny1t?(Au(EAn)D??v<1Uo;#m7-M@ovk|()C(`o>QMTp}F?> zakm3bHBKUjH-MHXDow7#Z|@wea1X9ePH;%YA)fCZ9-MD)p^(p!2E`aU9nmJlm;CXQ zkx~$WQ`Yq{1h5k>E>Ex{Z=P=)N*0b8_O({IeKg?vqQ)hk=JHe z5iqUKm!~mLP0fnRwkCO(xxTV@&p+o8wdSP$jZofYP}yEkvSc z5yD-^>04{zTP7X44q9Af&-wgt7k|XtncO&L@y-wFFR44RsPu57FRvIBaI^Pqy_*DV z@i13CsaR5@X@xH=NT3}T`_vsy!a02n80eQqya=-p7#YW`Jc0z!QglGg`1zeg6uXwI zsB~hlNMo)kFL(V3Q1<%8yoI6X7ncn-&&Uh3rL@S(6@wKAXt6Wr=a2ObI7}8$D-FoI z>AJA>WsBEMi5ba6JhJ%9EAi&ocd(ZsD|MsXwu@X;2h#|(bSWu@2{+c7soC`%uo{sMYq&Vyufb)?OI59ds)O+kyE8@G z@tlpNr0UO~}qd0HQve6njJ zda2+l$gdX7AvvGhxM6OToCuQ|Zw|9!g1)O+7>~{KNvASjp9#Cqce-or+y5xdzWL3gLWt2oa+T(I+{j(&bF1laUsJB{fOgE-B}qslaS>C z)TjzG8XecbS%a+?yT!0QmTex?E478;D|sL*oS4C-g0Tq(YoH|eyxJ#1j088C|U-w5id`%Sz7X_w#l+U9+)$|2no<}5J zRb_9@0esSr?n}HvVGbD5@$p$8k4?qOe-GNOk3-K^Mw>Xg+drCKi5@$GTeijpI;;IG ziD<&go`ptLC&^<0jw^l0aY?_pUUK+xp#0Bk66iQ29vpR)VBE{JOJ&OL^gKsN<&t<| zCMLTYMSDG5Ie9O>6Dl#T{@cscz%)}?tC#?rj>iwQ0!YUk~R z$rB-k=fa9x&631Z9Mfqj_GRoS1MzqSMEdaZ2!isP19Sr>qG8!yL(WWF)_&{F)r>KnJGSciSp!P0fqHr+G=fGO02Q#9gHK zpwz+yhpC4w*<9JO@#(MdkZcWbdCO5B!H`Z|nV?UtcBo96$BgX+7VYMwp@b-%;BrJu zMd*K!{1txv{kHKPDs9?WZrz_^o1Tq2P=+=|E=Oy4#WE{>9}*9(apqhmE`&AeBzQgQ zELFLCmb~q|6y0FCt|B}*uI*ayZ#6=$BpGtF{Jfye#Q>FZ?BPnk)*Qmd?rNG^tvFUU z_b&antYsZnUR6Q9tQUy81r$&ovT#fy;(Db4F&M*C=KxQgHDrRcVR#d+ z0(D|*9#u`w_%2o3faI{?dNd9$#5nj1PROHNq z7HJ(;7B1ThyM>a@Fo^lJb2ls2lD`}ocREH|5pKN;$>gFyM6k)kZG;lA;@kSJIqUhf zX%dhcN(Jtomz4(rNng&1br3Xx33EvCWz%o8s;SpRiKEUFd+KJ+u|gn|J85dZ)Exc&=V|Ns8Xs#P>qv6PX&VAJXJ(ILZO!WJd0 z`+|f5HrEj~isRN7?dBHotcPI7;6W48*%J(9 zftl1Tr`bKH*WNdFx+h;BZ+`p!qKl~|Zt5izh}#pU9FQKE97#$@*pf38Hr8A+`N+50U3$6h%^!4fBN zjh^cl#8qW5OZbvxCfYzKHuyeKLF4z^@~+oqlz9(Hx8vypIiUlt!(vs}_t#4@nh$s; z>FYERg*KD#Xs+W4q-V-IBQK!)M1)Aa+h+V+is)z!_=gEn&^ci7<DEEmYcoSh?WdXUsP7O4)&lQXA(BVM5jI8s6;mO}94AC0gG(`>|T)yuV1l~i-ejCCt zoejDhX0nrZDP|x9u4zp%S2UeDzV`o#pBGu1tZ-$<9TIbN=ALwhQ0=9S{8#}Uu8n-~ z5~xIvUhLSz@c@0|me$CdZCpZl(vQw@a0Y4^{T0w_>pOkwI^x4KkBf3qGmm)nG|Ps5 z_XTY~^b^mL&_*yjl~RRIi&eS(>y?y}O4-)nWyTEPpQAb#Xz8SnnfIL+nAcNL9nqV9 zRL|eyF)RKI5-kJO6}>Q89XmgY@b1&!JI>g3ryZ@jN2v3vm7O`AL!BTWNouJzV+$+Y zYY}u%i>K6=IYU2O$2TAyVjGt?wgF9xCj;?EK(8fWu!!~48`3u^W$eUlCh*91PLxu1 zRY(F7Q3s7h$Q-p&L$ucN}it*-9KR z_<wHu?!dav0$P+PI3{J8?{+l|n&2YMLV2 z+hRta$A5WpCXl1RNbYBsX8IGX{2v>U|8_I-JD56K|GexW>}F_e_g_1r?08v8Kz{V$ zT=6aGMk>ibvRO@Yrc@ezaD0%ydHkXGHrR{7>q~~tO7ChJflwa4-xL|@#YIJejC5VT zInU4CjQ9V0+lClQY=vh^s4MadwQmk7li{54Y;Ht}gkZOIh9(vfK?3kXLoD72!lHD# zwI-Jg|IhT=Y#s|tso1PWp;|aJ2}M?Y{ETyYG<86woO_b+WVRh<9eJu#i5jxKu(s~3 z4mz+@3=aNl^xt{E2_xewFIsHJfCzEkqQ0<7e|{vT>{;WlICA|DW4c@^A*osWudRAP zJut4A^wh@}XW4*&iFq|rOUqg*x%1F+hu3U6Am;CLXMF&({;q0uEWG2w2lZtg)prt` z=5@!oRH~lpncz1yO4+)?>NkO4NEgP4U~VPmfw~CEWo`!#AeTySp3qOE#{oUW>FwHkZ3rBaFeISHfiVSB7%}M) z=10EZ1Ec&l;4 zG98m5sU!pVqojGEFh8P{2|!ReQ&hfDEH2dmTVkrS;$dN~G2v-qnxn^A2VeHqY@;P} zudZD5vHtVvB*loIDF1M7AEEvS&h0;X`u}!1vj6S-NmdbeL=r{*T2J6^VA7F`S`CDd zY|=AA6|9Tu8>ND6fQhfK4;L3vAdJPBA}d6YOyKP&ZVi%z6{lbkE|VyB*p1_julR^k zqBwjkqmFK=u&e8MfArjW-(Ei8{rWso1vt5NhUdN|zpXqK{ylJ8@}wq-nV~L4bIjtt zt$&(1FTIs+aw}{&0SO4*sa0H2h&7g}VN5uYjfed5h7eGp$2Wu*@m9WIr0kxOc}fX9eOWh zFKfV>+SD$@kESKYm{F*J90XQjr$!<~v(J%&RMuQM+6CkmnYZDGlOUdq}%)VA& zl#acS%XE2KuX~7IamK`og@C`21~*cEEc#PZM6HT*Veb_l&Ej~j0zL7p0Eo`mMu(=X zJ$v;&Lya75I4C^saKROgfi(fdP0C$GM3WyZn%mm3yEI>|S&O(u{{S<}ihUp#`X&_z zmQBma;82#`C;dR5Sx09e07FvtJLhZ{9R~|$FCdU6TDNUwTc9kNct?8e@o2MpQDrkg zN?G+aYtTjiUPA=RX5o{4RYu}6;)ET>TcgL^VpfIpluJ|lQR(_)>6k%L^FZmoK-Wm- zR5qy0P)hm8yvqOL>>Z;k4U}!s?%1~7v7K~m+gh=0c9Ip_9UC3nwr$%^I>yU6`;2kV z-uJ%y-afzA7;BC7jc-=XnpHK+Kf*tcOS>f5ab2&J&5hIOfXzs=&cz|Qmrpu6Z);`R z0%3^dioK5x?o7t~SK7u5m{dyUZ#QUPqBHYn@jETeG>VU=ieZuJ;mm^j>dZM7))cw?a`w8R z%3M0R=kdOt^W^$Kq5Z%aJ(a$(*qFpy^W}Ij$h+Jnmc9eaP(vB@{@8t zz=RQ$x4XYC#enS$fxh@;cSZ|D%7ug;0z{C8I8h{KocN-cyv3UG_nk99UNS4ki^OFkYea`q`rs zG@qdMI;4ogcd5Tr`di1JBg4I*6CFvCID_2SN5&)DZG&wXW{|c+BdQ4)G9_{YGA@A* zaf}o^hQFJCFtzt&*ua~%3NylCjLtqWTfmA-@zw;@*?d&RE3O8G&d;AVC|rZrU}jx# zC-9SF`9;CbQ(?07o8Q9E12vi)EP@tOIYKEKnO@-o!ggkC)^#L-c40iZtb4Y-cS>$I zTn~+>rn*Ts>*y*z^b3-fAlne+M-*%ecrI^rmKAVv23cB`aWD?JDJ5NIafRvRr*~~C z)99Afs`BPK!5BFT)b_^8GyH*{22}yDq;be`GnPl=vW+ITnaqzl(uYOHhXi}S!P+QZ z4SwfEPuu&z4t#?6Zaw}bvN{;|80DfxCTuOdz-}iY%AO}SBj1nx1(*F%3A-zdxU0aj z`zzw9-l?C(2H7rtBA*_)*rea>G?SnBgv#L)17oe57KFyDgzE36&tlDunHKKW$?}ta ztJc>6h<^^#x1@iTYrc}__pe0yf1OnQmoTjWaCG`#Cbdb?g5kXaXd-7;tfx?>Y-gI| zt7_K}yT5WM-2?bD-}ym*?~sZ{FgkQ9tXFSF zls=QGy?fZ=+(@M>P3Y>@O{f44yU^fP>zNzIQ0(&O$JCd_!p?2;} zI6E1j@`DxzgJvqcE@zgapQ?tophO14`=14DUZ*#@%rRi``pi0lkNgidSsHGjXK8gO{drQoNqR&tRjM4>^DtW`)fiRFO4LE=Z+nCBS~|B3gZsh`Y?-$g z@8@Z$D7C!L9l=SWoE;(+*YirPLWvBd$5Ztn3J3EaGM+#pW#@{3%yksGqy(2Bt5PVE zf*fICtPp77%}5j#0G8<=v=)LR>-a3dxja8cy3m$=MZ2#$8mbLvxE%NptMd+L?mG`v zF1cANFv17DqP^P5)AYHDQWHk*s~HFq6OaJ3h#BUqUOMkh)~!(ptZ2WP!_$TBV}!@>Ta#eQS_{ffgpfiRbyw1f)X4S z_iU`lNuTy86;%!sF3yh?$5zjW4F?6E9Ts-TnA zDyx5p1h$Z3IsHv7b*Q{5(bkPc{f`2Wfxg*Z#IvQ;W_q9|GqXGj<@abo)FyPtzI~i25&o zC!cJR%0!}lLf^L2eAfZg7Z69wp{J?D6UhXr%vvAn?%)7Ngct4Hrs@LZqD9qFHYAWy z4l=2LI?ER&$He2n`RiG&nsfLv?8$Cl)&d8a-~-N`I|&EPa@Y=v@>0Gl?jlt>AUY;H z`**5bpS#VGhdp4pKbf3iEF*>-eXg_$bqt5Dc%q0+)R50>zd^l7sN5R5Z)Ut+oz-8_ zJ`Z9HE9(=wRTD)T=%GZTEi9K5naPzlfE$|3GYGLRCLsnqLi8Sc6y&iskqA&Z$#7Ng z7Q@C0)6k;J$TlQ+VKZ5)-Ff_BNoIMm+~!@Cv1yAUI-U!R)LHc@+nSUzo$GlRb+8W< zYPG%NFfr;!(RlnvBbN~~EpT6Xj5*^Z&73tdIQ$LZu`vkfzdTKa5|JJtQ_rm4g$9LO zKtgYVdW=b<2WGM3I_j|Rd8gZ3j;)S#AT(aP^d>9wrtQS_+K>pZDX^?mN!Z>f^jP@1 zlJ;i79_MgOAJa`%S9EdVn>ip{d!k6c5%zizdIoB9Nr!n`*X#%6xP1?vHKc6*6+vKx zmEt|f^02)S_u_wlW_<`7uLQU%{wdH0iojOf_=}2=(krE<*!~kn%==#0Zz`?8v@4gP zPB=-O-W=OO3tD19%eX>PZj3YfrCt0sEjgTd#b$buAgBri#)wW14x7QcHf2Cneuizz z368r7`zpf`YltXY9|2V{stf8VCHgKXVGjv$m!hdDf0gi`(Q!(Pyg~FO28Vr#!BYP| zI)qG2?Ho=1Us9dTml}-ZOR?g5Vk)f+r=dbCN*N1=qNfG>UCLeA8pd3Ub-pRx1b3FA zEn`CIMf`2Mt3>>#3RkE19o}aMzi^C`+Z>8iIPHSdTdmjCdJBtNmd9o0^LrJc9|U9c zD~=FUnSyghk7jScMWT|SHkP(&DK$Z=n&lGm+FDTpGxfoIyKV)H6^nY~INQ#=OtIT! zyB*J=(#oHf=S)MNOncW->!c0r0H#=2QzobO&f@x&Y8sYi-)Ld;83zO$9@nPPhD}yt z{P`*fT@Z(?YAmF{1)C;o?G@dfd2$c+=Av*|;P@Yz1KnclB-Z-fJQ-=+T*g>0B7!g# zQH{dHt_%wj=wlmT&m59)TQ~xK)gB6f^EY$=1zcbGf~Q>p_PzDCHR6lndGmqPY2)&w z$Th^K%1v@KeY-5DpLr4zeJcHqB`HqX0A$e)AIm(Y(hNQk5uqovcuch0v=`DU5YC3y z-5i&?5@i$icVgS3@YrU<+aBw+WUaTr5Ya9$)S>!<@Q?5PsQIz560=q4wGE3Ycs*vK z8@ys>cpbG8Ff74#oVzfy)S@LK27V5-0h|;_~=j1TTZ9_1LrbBUHb?)F4fc)&F7hX1v160!vJc!aRI>vp*bYK=CB(Qbtw7 zDr2O^J%%#zHa7M5hGBh#8(2IBAk}zdhAk$`=QYe^0P6Bb+j5X)Grmi$ z6YH?*kx9hX>KCI04iaM_wzSVD+%EWS)@DR&nWsSBc2VIZ>C(jX((ZiV0=cp}rtTO&|GMvbmE4FpBF5Rd z6ZG=>X&>N3?ZN2^11pXEP4L?XUo`qrwxgQm4X~RCttXmZAhnhu4KDK=VkKq?@@Q_Z za`*xyHrsAEsR zV(7)2+|h)%EHHLD3>Qg{>G|ns_%5g5aSzA#z91R zMDKNuIt@|t?PkPsjCxUy&fu^At*yUYdBV!R_KOyVb?DO&z$GLJh9~b|3ELsysL7U6 zp24`RH+;%C(!bWHtX&*bF!l-jEXsR_|K~XL+9c+$`<11IzZ4>se?JZh1Ds60y#7sW zoh+O!Tuqd}w)1VxzL>W?;A=$xf1Os={m;|NbvBxm+JC@H^Fj$J=?t2XqL|2KWl$3+ zz$K+#_-KW(t)MEg6zBSF8XqU$IUhHj+&VwsZqd7) ztjz$#CZrccfmFdi_1$#&wl~A*RisBaBy~)w|txu1QrvR1?)2mb&m2N$C(5MS%hSX)VJnb@ZGXB5^%(<#1L@ zL^>fBd+dEe`&hxXM<0A9tviIs^BDkByJdc~mtTYr!%F7Q1XnK2$%h$Ob30*hSP$Bt zDd#w{2Z%x^Wpv8!)hm>6u01mY!xmPgwZ#Q0148)SxJc3Udt!-&}eRO^LN ze26pQB!Jhg&Z>#FD>`C`sU44><=v>O>tJdLs!HPpV#AM32^J@Za-9J(CQjKxpzXao zQfRkWP%g9P8XV21MmoHfx{DICLSc*t4qVeQL9t}&Pz0rM}YTba@XsD=XMW@FxFM{QYQJHvM(JsUSa3mcTUl9^qcVA zBveO--fqw%{#QGR1vy;x88+qMcgzmcYc#8U`CPPt6bl?uj%w_`b~9JliftnOa|ziW z|6(q&STs_*0{KNa(Z79@{`X&JY1^+;Xa69b|Dd7D&H!hVf6&hh4NZ5v0pt&DEsMpo zMr0ak4U%PP5+e(ja@sKj)2IONU+B`cVR&53WbXAm5=K>~>@0Qh7kK*=iU^KaC~-ir zYFQA7@!SSrZyYEp95i%GCj*1WgtDId*icG=rKu~O#ZtEB2^+&4+s_Tv1;2OIjh~pG zcfHczxNp>;OeocnVoL-HyKU!i!v0vWF_jJs&O1zm%4%40S7_FVNX1;R4h^c1u9V@f z`YzP6l>w>%a#*jk(Y82xQ@`@L(*zD&H>NY`iH(iyEU5R$qwTKC5jm4>BikQGHp^)u z-RQ`UCa70hJaYQeA=HtU1;fyxkcB2oY&q&->r-G9pis)t$`508$?eDDueFdW=n5hJ z08lH$dKN$y#OEE@k{#|<%GYY=_c~fHfC@pD54KSP9{Ek@T47ez$;m$}iwR}3?)hbkwS$@p2iVH0IM$lB*XYA+#}-re|UNzCE)SOYwy z=Y!fkG4&I%3J(_H#UsV#SjHulRIVcpJ`utDTY{k&6?#fzt~@Om=L(vs6cxAJxkIWI z@H7)f2h%9!jl@C!lm+X4uu;TT6o0pd7 zteFQ(ND@djf#o2kTkjcgT=dHs7ukmP0&l8{f;o3JuHGd2Op*?p7?Ct=jA*tIg{MZk z$2Lsc0e8Tdcwrjx|_Ok?9uB3Il|^2FF%X#ck}WoIvrzQXN%kT$9NI{79Wm~gZ3`8I+O`)`n30feZ( zDO-fl6IG3c^8S;Y_M-)+^CmM0tT^g0?H#>H8!oC8W%oU!~3|DJ?)~LT9*&GAQG13zOGq6gs*={cu|(V7{R$y@{-iV*9q@AD(#Ktb}J&3&k|5Djs$)9WM7!6#EaJ_ilvbfUvyh8c?-{n zfuFrC0u6}UJZ7aj@(cNG_(CKgjQQTA-UK@-MVmick zot}6F%@jhq(*}!rVFp5d6?dg|G}M*moyLriI!PQDI;E1L1eOa6>F9E6&mdLD>^0jJ z09l?1PptuV65gm=)VYiv<5?*<+MH~*G|$~9Z3XEy@B1-M(}o&*Fr9Sv6NYAP#`h{p zbwbUE3xeJ;vD}QMqECN)!yvDHRwb7c1s6IRmW!094`?Fm!l~45w)0X`Hg+6Y0-xf# zSMemBdE)Q=e^58HR{kWrL5-H0X6pDu%o{0=#!KxGp0A;6{N5kI+EoY_eTE%2q|rwm zekNeLY-R?htk!YP2|@dbd8TWG4#G)=bXlE{^ZTb^Q$}Er zz)Fp)ul24tBtQFIegdI37`K$VR3tVdi<(fIsu{#QMx=$&CK9M8oN%3Mk;>ZPd-;Q- zn|sSKSnc-S0yrw#TlA$+p{J~u=u98s>IoL@cNLOxH=+1m?;t1bR$vR=M$US&Z8DO3 z_&zhQuId1$wVNsS=X?&s(ecIi#00o{kuPs6kpYkL$jMyGW8U7mlCVaZeEL=HsIxqm zFRLxWin8B>!Dc#9Z#t0RNQiR-@5J+=;tC7|1D*~rxcwHa5iIVD@99cCFE@BukUC-S z^iJdt?dwU)kH2VY9?|zVShMbZctzFRz5Q4tiXa^>@U%jDYq}$rSyc#p2wXr}mc0qq z^lT>$y)N(Qg0dwmEwTopneoU(y)>Mj+f{iHM0o|>ZtCg-itPj4addYz??aE)Rp&hk z_SI)%XeSf=SjZq18h!Cc>Xy&EynnxdHQ){(x@g|ZA%`3LU^KzX02c5N;F#tEk1)7v z(|V9tO3>?^X|kQ*rRBf4>mWW2$-Lx})|M7z125&VHcxsCqB!<$l1F$zCrJ+nm0f3Z z%Hq^=SKpHyV2@Y*Cu2x>fXC0SscnR*($zEB{KOniJcpn@e`PMH*_Q6*0Z^8RNCEvZ z+UU9!927p9YZ&g=bnUvQUZcdisyn;-4;ACXOe-Xor9K8Qbp{ldE17+G@VQT+9ZJQ*9dZoXfU2ue|mMhrrZk2R7&~YjFW4`BTq45UwVc6JORKU)wBCTanITh0GD}s$`C5pb(9{b9 znwee6j%?-UV)_7opOioCf5@C?@w^@g& z&68+oMmV;5JW@TT63&CSDrfYL2$L)pVseDtAwPwleEM3F^-Ufn3PpfxFmx6o zQ`Wq9x#d$e`VKn5LOXNsrqhGao7~|s(u~drPrZ+;aP!C%z4NskZstCbAibD}O%8Ij zb~C(taxco~WzJLxhL1T}3ctXMbV6}_z=IZN9L0|SxLSe`$X`<)BhM`$1&&)e_}fCh z=idVL<+u6Vn{&ksP*ZLlMo$fC`dtzF_?~L?4Rril2G4%v5^7sUa^&8aMtMX&mtapl zD(dW|cisM3fqMaB`8?QbkyiUl2g>hMB5EoS&IB8TdoC~)b$nT=`%GgU`k-)+8}`)F*~I~DXMaTP%kZftx11~?iALs5J+&Rom#p%Y z>dH}-euH4u=_V3hc6^*2WMtL!9%yRTJ93p}@aV0zdY*?xchFI>m+UivV=;aMFp0P~ zwB8P)wvV6D-GL?6hJ#g7Hy7=2i^&Od#S=j!;Rc_yjO!*4aN7{vqzg2t-R|Dav%_NDk z`H_FVlSi==(~f-#65VmQ{EE92x<03lwo5p)s=ZJ^L7PlS>132Whr zR6v~t(#I+(`usYLCoO;Rt8j&b^5g_xgs*98Gp|N}b>-`HtVm)MscD)71y?(K6DRCZV26RsHPHKk)EKKZA%C99t3$t^B0-k5@?E>A-YMbFe?>ms?J?_guHHNU(;id*>xH zTrtam+Aq?n@-y@uY@A?hy?1qX^eLu_RaH4Ave?A8NapgQF=C%XI7wlcCf4<6BRo_% zBXxxc*A6-3CruF?3i8HOdbc%>N=-iiOF+9HX|ht6SCkz;A^am&qi_I&qk1B(x<=(m z>QG)nswCOLl_1{SZ@_eE#m^qb6#6DoMsB*)`17ui+XvF%(}|J4G$z2G*;E!1ERnAH z@q%=#uV6kBddqy4=g>!VTV)9*1=i{wJ}Ep!I*?)uJdA(LwE?(!?;}_u=^M2NShWC_ z*7l4aBJ=!QVU2-iehgb`$vOI8zkm{W%QO~?xOD;NgI;Iqa3#^$^U5D&McReLe&qs# zR<^@QpR4#W~Laz+QBsPt@3L#KF`Yr8}jgHe;5(cfpQ=;Zjtbt;c%y^#-m=hqOT z;KAYakW+$w0&F}>K10&SiPcD9SrDOuczj@U#W})5jGU-_htU`U6Q%wdy((%?J}y+$ z=$4jw1N nJo)qTxG{D(`3*#8tY|67hJRF;)r6F|#I`Ar6I0aafRa=kr-Z0I^}9xf^u;G5iEQCbpv3b#S#%H|HYHsQaHK$! zU#3Fpz8*^pK%RRmX<_09eIVziB0jOgPgFnI-*QcwEBtBiO#v!>{W1cLNXyw3D9M|A z*oGy(u8BkDA1c;MsXmpK^-~pl=We^RYnhZ4bz*)Q)C2G+E3tgx9PzU0T>c|1ilS!T zyE=bz`=wskDiOi!@!l?Y))#%{FM`}7r~X)i1)1*c6_2Q!_1{)fp%cS|YF+Q-CB%d< z=zYus`Vt@Mx*a7V)=mpLS$-5viaKgNB=+zN657qy0qR94!cTtX-Z%KBCg4OKw7b=t zr=`7q5Ox=lJ%!G5WIyNQC1xpqYU0{!I$hyrk!6%De$gp<_*Gc?ES(OwY8U^)Kjgc{ zSlhpXDb|;{+y9`u{EuMz54rlky2~p6xX2>MV6BZ&k`$q%q7v(xYps2wr9e8^4<;CB zc)eAT~B^rjzO6<4BDDH;il6 zFsM8jL+agQ;zazW(uiQjM%fPf2N~_p{cy29XP11_lQFpt`t#9nlk}>fv((FZt-dBa zuMIc4HmPHW04n0TTG9ug9;&OV9euL$Ib|+M7}}L~z4e%%%b|r~6OQj(S2d7XfYn#xp8;KQ55UYu#gY*De5j6Cc z#R%?rqwpy7I1(kpU7B*Pq=etXeYUn04jg%ZPjYqQNa$==yTG=6KX+=;i2Xg+kjV2T*Gc!(ef z`Q4fR*TA=M5-}z+s%YO+!K{k}S**ic&>o4_Tmv$EQTOp7F6TXPCj-UTXy?OQ=%*y62Qajk{rXbR%jMCOFMiVE3KekQa4xR}B%=iPtd8BXo~q$OX_ zSp910{Ew;m|GATsq_XiJ3w@s(jrj^NDtr(Dp!`Ve!Oq?|EJ9=vY2>IfrV{rT%(jiY zi}W@jA2iqd=?q>s;3%?@oi7~Ndo3Ge-2!zX58j(w&zVlPuXm3rcHb7O0RsM|!Ys(b zh(=*&Aywo3vuJoWZnU!u2_4bNkDTc&&bCYc%T zM~~xYxS#3KXFzQ@OXdc%9QDOxqiTd_> zT;(DX9{5dIuC4pO_xy+3{Ov)1I7j!Z)6&nHUvTRP>VU5dm#849icG)cvl0QOPkCIzG^lOp4#UcNr`VhBp(Ha%8@KPlvT*5u!v_$b#b~%sn3K{mu zaxeD%Q~{;Lw03ZAq(Pc-IVj>n*h3l2{sqioCMGatQY0kx zi`1(WWDQ=;gmLSGptEQ%UFC)th@|71<8eiRtX&Mx@#1q#nMF_BMfQdS>!!Qkx2o}= zuqRi?`UOX5P3fP%M+71Q$ctH4Av}bXED#fQ`KR4!b~60nsAv^*M7c-x`|~B}XIuq% zlqIJOf>WvlhQ@Uw$du|14)tZ?; zPNZ|xZSwp1y+d4sut8E4*l2JWR|~o0A9vD-?zC-w zDc@=wE1YKb*OMSi_Kx}&w;#h3>sHp|8^hnA3w?-WK)X?@Z2dgV7`9Cupf-B2RE4x^ zwlw+~!V9C^tyb`J;m2}ksD`w}G9`yu(^--{SQ+wt^Fu4Li~Fft!3QO`upSkAU?o;# z(1Q%GUVWbbkTK-M=T+ULkk3s6Dc9`G4CO6|=&-S&D+rbJQ$`Y-xL~ol;kc(l)VbU>{&>bV+*?ua;$bnDc29RW+Ig16)Vf6=L|fMR_P2b7>6}0 zdlB#-gj|j*C~M=F^2=K*k~=tl6YM3SXXi&K-`EvEXnWz&4D-^hQRBJI3gKKDj^6|> z*WhHSim1qAffNt60Mve9lfw^+&0bx-AM0%j>QP3%W=S@(l=(nrJ678mRQ(#+sI@d{ zdb#5fo#T;hK7xJ=M58wZf|?DHwD%!OZ3JrTGV5#{cfQwuiMvz%!CQ}CubJ7`z?@rSF<+KHNV2goc)a6hP0oHB@3LLKSH2w{um&J*z1Ka2 zLIR>lvOvh>Oxe%?3A@v<_T|}${zf_&@C~^FCo#jB(W9VLO?DX{)n(BQ0(V0`mI|9Y z#U3WwxixJkU_NTvA>5q(A@r2dnEXJp#6B=pww$XGU}~1~c``UKqQb=^*2P|4Dq*_! zhY^i61Sy%T5$Td0O6^C>h(xVvT!}Y##WeT8+s+Uuz=7)~V$>!zU;%d>H)rm*6^IrsCma%|cifwDLk_ z!^W2voQ)D;I$=v2E>iSaBw!d7aD+|LWl2iD!cBw`Q5p1~fk_xGiPi8e^mY&#viTAk zmaKL8m;JQ4bY(n6uBZt02z#noMMxTfF-RzjKre-c+@B)#J3pN-Zv7F}JtAwNk3j?OkpVCL6W1)Q$FLAj zGI!tX;g`O{%pt=0|q54Jyj##w*4e*|_;Us2Tn?!#^R(>u}|FAw1G_ z#wQsagnj9$TAC`2B_XgB$wNq~Sxgl?#0+QWWcB{G`c6~&SosbtRt}Tukw`TQ!oG1= zYyL(y<;Wh+H24>=E}Gs=Hs2%fg;&Qdvr74{E!R?Bd zIRQ?{{xkLJ_44P@y3^#(Be%(pk%$liKbUUo76wSoVfJmt9iTKL3z{uW6L&?jYg>EY zsx{kRiW@q%<$VZvbS(TKKTO4{Ad6l^IeY(F^3}=mX9|FZmQ`~RErNxlBPl3ast}W$T4V?SW=6kIGn@-^`qJv| zZXwhK4Kl1a4E}nLI`rdOi?^pd6;LZ-|8G&INHgOeC5q{_#s+SXb0r(;5ryHFsoTJD zx$VtNDh=-Tx3t!NTlk=hgAaSM)#U}e>_-Ex(|JoX*hWmBPPdTIa-2(BIOUJ|Iddy| zwY*J%z%W$}*;uSoB!BIJB6N6UhQUIQE_yz_qzI>J^KBi}BY>=s6i!&Tc@qiz!=i?7 zxiX$U`wY+pL|g$eMs`>($`tgd_(wYg79#sL4Fo+aAXig?OQz2#X0Qak(8U8^&8==C z#-0^IygzQfJG4SWwS5vko2aaOJn*kM+f1-)aG{T43VJAgxdP(fJ4&U{XR90*#a)G8+clOwdF?hJ?D) zmxu>0>M|g_QRHe_7G|q6o`C>9x4xd$Gl7lAuR~+FtNid=%DRsnf}YI*yOToWO%xnP zY*1G5yDnTGv{{xg5FhWU65q3-|-(+-rJ2WCeSJn(7Az>ej4Jp9+l-GyZ_| zJ8}>iA4g|}q1AhEEv#uWR&$g&Uyht?fVU(qk(j?^D`))s>oG08pow!f>P1u71P%oL2)UC4GeS87&G?{)NE;D=my1Q9{~;y zJULE=bG6jXE28Y11YmoZoo945`MM*`v%5b=_02*0cwzDve#3(4M}NPt`)?SCa|7*q z-94ks(R6WH-l9fE4m4}10WSu&O`|;ZCIT%vL$_pbABY!}s33@~gIvZ0H4co|=_-T$ zF#lC7r`89_+RL9wYN=E3YwR?2{$^ki(KKd>smX(Wh*^VmQh|Ob5$n_%N{!{9xP~LJO0^=V?BK8AbCEFBhDd$^yih$>U z(o{RReCU{#zHSEavFNdc8Yt<%N9pd1flD{ZVSWQu*ea1t#$J5f6*6;tCx=&;EIN^S}*3s%=M#)`~=nz!&Q0&{EP|9nzWyS<#!QxP;!E8&3D}?QKh^ zqGum|+;xu9QE=F#fe2ws5+y1Igr&l`fLyLKry=1}(W+2W`waeOR`ZXlW1B{|;4sE3 zn^ZVlR11hiV~p<~TaSen8I~ay#7Ql=-_|U@$8yjZsZ=Vi+^`JV2+kn+oiSUi%omO_+7}saXnJ9 z5ETilbag(g#jZPopCgJu+n@(i7g}3EK2@N zd64$77H5a`i%b%a^iRjMaprwzWz(`=7E6QY)o)gek7H)yZ-BLw^6FAoHwTj9nJtWc ztKaytMlWGLg29W{?gr|rx&snb@XyvR_}x3fmC>d=-nQp5ab3*whTw}DfUcKlMDDx` z-%?ek^*|Kqooy#>2lfklZ|jN4X$&n6f)RNNPl(+0S>t(8xSeOGj~X0CGRrWmm(WXT z))DDW_t&y$D#2`9<-+JT0x1==26*gpWPV~IF=rePVF%e-I&y$@5eo~A+>yZ&z6&7> z*INESfBHGNegTWga&d@;n;FSCGyW?}e_Qw#GTLHo*fWxuuG@I~5VA!A1pOdRTiPA~ z^AGe(yo=9bwLJD}@oDf$d+34~=(vIuPtOKiP}obDc|?@hY}J*@V|UynBeAkYa?S{@ z_f$U=K+>deTAi&=a*xv>Ruyw$UsTWY=Yn=xjf;s)6NQu>_niQ_idmzIwuL`Scf)f= zyzK?D5a5)^D@H&qN%F6Zd0JeXX*Knbe~VLe^gi|?JK67&mB4jrapV-$`hCQT;C{%T z*pjxB+Y|~LD9bmMN%Iq}S$F$x1yWU7@GcR91V8h;!O2I5MN_rq*gRx(k8T!1WSDTp zr9eJO4$~H94aG^6k5p8k=kFJ>4lnY0q_Bsa$@vTRW6uY?slH|Qt)Yu6Yun&pfJ zBi!h;6x?FDs&79#PT*HSCEUsKws#s%TFy*=2PAfb`>gEPBn+D-WdfXA?MkB=<8kb_ z1+4D11mdHG0EcAyg4dneLtfJ8)RyHQl@6hWJNe(d_EjyCHf7%Xsd)S4A-4COz{G@% z5xQ!P>AS@H@;4Ws)N91)3A6PleMe2<& z!(zv#%Uc?N`(Xmm)OJPYt)BM`nRjoWA&P0Yxl@c9Y02zlPH1J5l$nhPrMwu=atkz4 z)a-1+OEL;d@ctx=s<<+3Sv1VYy0RYmiji|#hy$66#`5;u~BkH4^$EGZ-Y4xyZ=%3KuaeLYKAUr$xMtIh_5mga> zPz<#G0mQ7IxEw-yO}BueN}RaFlg$RwCDB)vLF$wDu%qZyLYsPKdcbHD23$qn9i#JFqIo#OK?u7db2-$GatzO!On87%}Br};~#}n zziVB;qf_4(K$u>Qyz$ln_kBGS!CD-t4Y}9oxL@7@Sx*?NOAzdeINUD>Hl#*V%pfA; zSA`==YatS*G*crJ3`3ll4)vKss&)UtY#7ZxiVoG%9(4<%`WWcjX2jV(^g7Yhj+h5J z$5=?S=tuCyEt74^6jo@6y|@~N>&cVfFNtaRl=)Gm!vR;Bc$3-;ySCI$%kdmjQ|si` z{$q_YCe6vjy6re9jGN|`43D``)1PODtz0)vhV4XV36nVpOnMx2uM%qZ<3TtcI%>BQ zf0(J`{JqPPJxw>k#&nIvoZ5e9Sno)B2r+E0G} z@&M|zf4E0Q$O*NBR2I;?i7N} z@2^Su#`%qeX}m3cbSojiLk#84kvW1fICNPS`OyT0SpUoA0(s^2m~J<^eKE!dhJx_N zG_T}0&(<*an>oF=@?6?55g&IxSgY3?7|@pmDRE6gJyJNPH6un~%0hZ@?h=hI6O$b^ z)29#<4$E)cE-5IFbRpk9JVrw$$966UDyw;Iym4OY4Fc!&s1ZH4BJ1-$9<)Zt1c)N- zU^&9hsk6z?3%<9kGKHW|6~k;&cghtWz`oz`_YjVuvy;B;T67=L2c6=8`7WyTBv*QH zNv*bo1#KOk{O&)@&pkd*?v+kcJ8tM>AGx$~WMhH{L40_N=bkrVg+^p!H)IqXCQf2_ z0fPig=8CEo>p4vE(nc^DKbZ|9_Xo}$i4zJ`jVh95; z5%aNP3@``=EJ=Vt9U`y+$YtX;%OPzgZ_3+;+mh{p#W&y4-%%Bf`LhOy-*kB0qnB^m z_nBTz_b?-`F$*ymByshU>D)za2g`0j^ioo;A#QeL@x3@|+_!=YXA5f6Xg(Ack&WOg zJ<2i|Fd6OmyH!@YSMVxb;=M)ZDhBt)4`5T*>cUXWPG#%@$&*>K&u3#|`fm2mj*FKVf?du{xZ}WKWETTFhq6_fO$PS5(ItF=3~pFp~*j z!ys1<4EL1)#{`mz@gW|t-FpPkd%pK)n_Rb)F;z7cQ6dym_>YI3&e!=!m006oS3Mjq{q ze%hNzW=G0jpfl2K(x`CDuZCsJV*hm9T~%5n7R_g}VFpk`G((D^MWVMAmRp--T{`P; zwMgD<;e`fm`g3|fPns|6qnd{|FCHY*YAguXH(?%sx%4+Gu|Y)_8mk4EljxmP+MP`* z`SUbI{TCIN2OV+$y#g->Jqv#$wL;}4xJmah#$0`v^ughM_XjTA$B}ux)JZuY5-GW4 zKy440I+w=ZtE-_i+0xImq}vyzD68?8;94-5L~_O6Ty>X3itdA-x?6P(c4jkr+f!H( zUDeqiG>3bn^Sf8(`_YwqPeJ9&-@OCQZm4X{FfRMeBtN4E9Ca@;GVpU*L>lVb;@=PH zTQvTr?^jKyCKh&ZVOI*<y%T*Aw(XCPrFC=39*y$A`FSzxBiQ#W+uW10d8&gYp4{teh;^p@anft+z$5!Hv&@h0X-@xJG>hbTCxjDwMiWK@1b%8wYL6BrV zT41m}tX8g-`P@vj4T!Mlk8F0S!MA`^J=SCy9-jdwDe^hVDa`WwyI^H@ryt=F5y6>b zT8&iI6&j8edAfX^ycgWbnMZQ26Q~`LmdEScKC8|~$Jgyw(>18NAQ$9AwCRmri!96L zp^)b0P2CR-9S%cG$#rU}MXnx21T#031o>2VrDs@sa-FpjfvgLPW>Q&LHUoNOtmkt# zoDZ=5OGp{^vO~=p29^`aXd8K?(+f-bW`N$U;-o;%f?RcR!k02Nod2h^^8ly%Z67#E zC3|IOuj~^YBO=Fklo@3mvd6I{Z*&FZ>iq* zxh|JuJoo2$p8MJ3zO@dQ;%1#~Mrm48 zB0053{1bDi_a@jo<4!@!`w4}B(&Qb`~IeSBh zu+_yIYl2Wgk+?x4pCmAM>x_SqBPUj#c`C`k>_fp@qPlAAwD$!zOxRkL7;=|nu(#ut zyF^;&hm-D_;ji{d6rOloACu5*NkF4IC3@rifMG(|^Skv$H&^YnYL*rpw=UCi;JOuz zN*NX(7wZXS4tF@6PIWAs%*j!$RoL*3sh)}iry%thDvN5AUM888q_(>|Tzt|Yea3AyMYBgm$H_`F^v2%)bux)3s znFIEBDK;-JS5SH|;1?afJb<*=c5puu=w%tv#ihn*R!^Hd$KWAp4$#`joJ*)$kNtZ z2Al6h>Z>(u?3tmzA4^d+jLKx{97!Pb4;CX&u;M||**7zXI7hO6nrdMx*Xa=|-`#1^ zBQ?Ha&7cd7hN=%y4yUp?zl8~Lo;%mQrDe8!ce-W_K94FFMN*g(w8q-_K5S+c0{o29X&PzpV;UJE^!xnFc%b@>kvW4m#xiOj-L*DadC&2N#0Us z;<-(m1WB7$=j6hjcPC6JB)D3T2#IC`ibu#yi!uK7W2!j|Z>~RaJ*&XXy#ytIk2DIp z5?Qd^s90_?ILjU#>ZWk5HXts}grg_!Gmgm!d?eLGR7xEP zvTCrslV~94ym5_i<5oqy(@@?wN}lIdtiY8=?|Ng!XeYnly`@9wCGx2S$3x|0x8T2h zz7A85Vb2>s44rKpI_4Y7_Pnd2^mYj2%^jM|Du>u4`^Psda^JIP%*DK6bo`Vf&f{!% zDTYCwF5Nhi=)QhU2$@eQv&ZzxsX+Hl+gP6kW|e!n9IU2>Vh~cioI{>4WvR}t*4Hpz z%5z?HjLGoka}Q3AbX9AkY|Yjf^M(>@tBAI9JO5pDCQu0R3Nns>)LC#vB2p96C*?K? zvX$un$sBDx$1=+NNj*@Oa@u*b@O*XBr_sg@8sCUq-|LK!MUmC)epklrv}5O_^<{NP zX16|c$9Wtbks3y7geI^tF5oRZJu;v zwkW8j+8Ccxo9stEDOT_Go&j%$KCgVO7pm+^%PKEPBZqbMw%s@732XS{cX+wCSjH1s z5)bc=g**<^NNsroY` z?}fHHlgu^B?2r{^^gQ&j zbF~T((>|Yg&C5WKL8DCnl1}Z3!YHFW2S1|;Xr0`Uz-;=FxEwYc4QpeAtnm7^f~uzX zl;xA!?>MLR?tL80Iudm;mi{!ewL91KhG7Hsa-XepKi<2mc6%zf0GwtbfJ1Zf-<@Xu z#|XWDzv|04t)&9Id!UxAAkN{t5qC%%8-WV3i;3duS19%m2||Y{!3pR1=g|zQYAMqc zff)_2nj-O4wfxy;UNM?|Uieo!^J$A*uDe>@V(NKH;KS;Y_dtE8${p>RdcrW;=2*fj4~d?OG0l-(g?ik}vz} z)5-wDppVts>K-=|@{=!53?=8)Jw#RGpS_FWpbwtn}{v!JEJ$q-sr7F6&OPBuI# zuVNFMPte79XgEu!P&qRq8u4J>r%$l-IQ00Lin90(_KtC)aR_de zxN=pY2<1b29_^AG2WJIGmmX4rv3$!`l15{e(H!1^+x9voZ6;882YAE12q7+lgy+>) zj|s0CyzI9=Mo!R}&LXB`&DYpZ7c?0r(&KNV+~TULd0y^e;G{KVR4nL0KvU9mr8&$^ zxrM-9P8zE`J?aZ(iB~Rz<{vvnk2HaZU#K$aVFfYnbAXVUOLU#As5JvS%+26 zi$sNuPY}dLGUS$0g&;oBqhzv2dY`l3@6Na403M!Sh${B|7(y|_cONa;6BrtUe@ZzV z7SThtHT8k?Rwc)(Z}@BP#H@JJHz&GR&M=E@P9KJ89yQKmRh&I~%vbL1L-K3E>7>CH z)Y!=jXVb1iPrAoAZZ3}3wU*5~nrV!ZjL5zqJ<@NwjHCZC>68Cc<{&E_#S;E*jOdjtg?uKN|l`P8sjz&Qf7a^z9 z;{3-8T+H4y99_zc;JYIvs!sk$G}` z??mt*Mm9Z@glCZb!X?!xXD-21sFDPEpZOK{sbQseQ$%6~b;n+*z0hRoR}0Pe>B|#t z$XrVcXv8M|q*Z8MY&r9J0A=d^1bHpjrUXu)qEj~$%%=gZp`^~%O*lzxUquG^p6;n; z^(3HL+hx4gRP?4N*b2p9!^|2~rcw3!9nQj$vmZusbXYz_x^AVc`3qBFm(jS9ueU5h z^AnNnbswfQ2Jq=W=T+p-V|nQco@bOAH$pLQZ+BKH8E$iM>IDz z3|wc?QP`yI=X5YTlp8h}%p6{Deq?S0QD$Ug>ih1SdPZg237Rl{S~=Ha4~-ckMoIWMn+X@@`V6 z#HHZj>MQbt$Qqp*9T(cjc^lxZ7UO(>PwzF-qEr(wo`vaulxdall|KP`7p4gd`23&Jy=#sAes*0diLB(U$Nx46VQvP)8idSs8^zaV91xw*O-JMH=)FoJshRob|_)O)ojtfP))WHCr(;*2;VMQ75^ zfN@a^f#o<|*9X;3IcGodLUz-3i~FAu+zI4c5h+nW^h_!^)b*B_xw-l4O$TB(ixaqW ziMoa%i=BeS<-F45kMO;Tw|FWa`G2c!SuOA3CbowPhF6csf1|&qqugUrj;UgGHm| z;j^yoH?MZhR;AYOW_XW2Lg2j%%ejL)B@*bUMD`g<#Z${1+fa57r7X82 zcqY-cfPnK%Y^3@szRner zt)bBToYCph6Jv*W+&t?&9FG4(Iu2w46 z4B#AcFy_^J@f*6<{>CN}Sj969*DYV*e7<61U>GoN{tz!Do90+jApFueVY_IW(MQF; zl?4yA_(MvMwN&pWKVyg{3uU_+y6RMdot2vu%mC?st=N0pf-~JZXE?3JFf)j<{1xsU z`2ephz)#HzsWEP!inHm2hI(V(~@W zY7gGU-lO52cHD&SY)>QHgy$=>^X%u0TQZfCizro!*weMyvZC=;MWOawdAx~`3C*W` z%^#^$uRP;gyqEE0<(i8xcQY$oc+6mY#z{-XFxsO1(cN8Y)>p;^q9|5bk`Z*p|c!?(rErw#y;yT(%@c7trQBv6cj)$3>pI z>tz+;IB?D=aQV=s(n)o63*yn8dX1m7#Z4G{%fF@K2o5n3jxR~mU?nzMi#;}8e#(>{ zy{Z4!AI)jZ8TY;nq1aq}tq;~=zzoTv)er06oeX3;9{uP{LWR*2%9cmE%S^`~!BW>X zn3PZFTf3g*dG68~^1*q@#^Ge(_8puPEFLD8OS|0b2a{5e=N4S%;~f3tC>F6UxK#v9 z)N-#Mv8=ePCh1KsUKD1A8jF_%$MPf|_yCN9oy%*@um6D{w*2|4GY zb}gafrSC+f=b*W{)!a!fqwZ9)K>fk=i4qf!4M?0v{CMNTo2A9}mQzV=%3UT&i{3{W z>ulG#M!K7%jPf6Mjff9BMslgQq3zIogY);Cv3v;&b#;^=sh#(Bn%W)H*bHNaLwdpq z85%fUTUJJNjYO_426T2TBj0D{6t zw&S_HZ|C?pI_2q(9Fas&@uJs6nVX;P*5K#6p|#)_(8PM-{L(;2wl`ma{ZAd5gA)?y z>0GSLoK<*FwW+G8@-M3vcffg7I(qm7lzF)n`Q9iCvp*mn7=|CjlpG{x z&r0n}XLWZ!>=lynUr7D`6n`7a_ZgT< zm!i;&?Fb0Q2QmqmCHfZ7ex=_tU~(7b)L?RIvPyEAU=gLIZ-VTAA~WR00yKyTXg^(G zqWLZJs!FnQYMOH3*fN&Tn(IKMLf{Ki?pRo8zZJ6YVyj)y0^)-sR}2-)%mI(Aw2AgT zbbp1T{qB(OSNJd0cVBH^tI>HR(q+#*lmi@LWe*rZz&M2h1L_=50uZ1e*n#E*`6?aw zj`ka&JpceRGe@}Ey1)Q~O}0qHRg4K_u>4e1arvJ7Q9!=t5AuzG`n=a-f0}{+lnCE#zu$`oVn44eS&T?N*wz~t~E&oQDBrB_MSg z_yVrQehWbD0xHX|v-hpselAu;O7s;P*!uAT`dr~}Lie=tknaGoiU?;*8Cwgala-65 zosOB4mATbdXJFujzgA4?UkCKE093A1KM?W&Pw>A?IACqg1z~IZYkdP70EeCfjii(n z3k%ax?4|rY(87N&_vhsyVK1zp@uils|B%`(V4e3%sj5f|i(eIhiSg-fHK1Pb0-mS^ zeh?WA7#{hhNci5e;?n*iVy|)iJiR>|8{TN3!=VBC2dN)~^ISSW_(g<^rHr$)nVrdA z39BMa5wl5q+5F@)4b%5-> zA^-P20l_e^S2PTa&HE2wf3jf)#)2ITVXzndeuMpPo8}kphQKhegB%QO+yBpDpgkcl z1nlPp14#+^bIA7__h16pMFECzKJ3p4`;Rf$gnr%{!5#oG42AH&X8hV8061%4W91ku z`OW_hyI+uBOqYXkVC&BqoKWmv;|{O|4d#Nay<)gkxBr^^N48(VDF7Sj#H1i3>9138 zkhxAU7;M)I18&d!Yw!V9zQA0tp(G4<8U5GX{YoYCQ?p56FxcD-2FwO5fqyx@__=$L zeK6Sg3>XQv)qz1?zW-k$_j`-)tf+yRU_%fXrenc>$^70d1Q-W?T#vy;6#Y-Q-<2)+ z5iTl6MA7j9m&oBhRXTKr*$3gec z3E;zX457RGZwUvD$l&8e42Qb^cbq>zYy@ive8`2N9vk=#6+AQlZZ7qk=?(ap1q0n0 z{B9Fte-{Gi-Tvax1)M+d1}Fyg@9X~sh1m|hsDcZuYOnxriBPN;z)q3<=-yBN2iM6V A?*IS* literal 0 HcmV?d00001 diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 000000000..11f586804 --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.7/apache-maven-3.9.7-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar diff --git a/algorithm-cs/build.gradle b/algorithm-cs/build.gradle deleted file mode 100644 index b0e44bc1f..000000000 --- a/algorithm-cs/build.gradle +++ /dev/null @@ -1,11 +0,0 @@ -dependencies { - implementation project(':staging-client-java') - - testImplementation(testFixtures(project(':staging-client-java'))) -} - -// run the full CS integration test suite -task csIntegrationTest(type: JavaExec) { - mainClass.set('com.imsweb.staging.cs.CsIntegrationTest') - classpath = sourceSets.test.runtimeClasspath -} diff --git a/algorithm-cs/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java b/algorithm-cs/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java deleted file mode 100644 index eba808375..000000000 --- a/algorithm-cs/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.imsweb.staging.zip; - -import java.io.IOException; - -import com.imsweb.staging.AlgorithmZipUtils; -import com.imsweb.staging.cs.CsDataProvider.CsVersion; - -/** - * Create ZIP files of algorithms to include in releases - */ -public class ZipAlgorithm { - - public static void main(String[] args) throws IOException { - AlgorithmZipUtils.zipAlgorithm("cs", CsVersion.LATEST.getVersion()); - } - -} diff --git a/algorithm-eod/build.gradle b/algorithm-eod/build.gradle deleted file mode 100644 index 670a67d88..000000000 --- a/algorithm-eod/build.gradle +++ /dev/null @@ -1,5 +0,0 @@ -dependencies { - implementation project(':staging-client-java') - - testImplementation(testFixtures(project(':staging-client-java'))) -} diff --git a/algorithm-eod/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java b/algorithm-eod/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java deleted file mode 100644 index b05518252..000000000 --- a/algorithm-eod/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.imsweb.staging.zip; - -import java.io.IOException; - -import com.imsweb.staging.AlgorithmZipUtils; -import com.imsweb.staging.eod.EodDataProvider.EodVersion; - -public class ZipAlgorithm { - - public static void main(String[] args) throws IOException { - AlgorithmZipUtils.zipAlgorithm("eod_public", EodVersion.LATEST.getVersion()); - } - -} diff --git a/algorithm-pediatric/build.gradle b/algorithm-pediatric/build.gradle deleted file mode 100644 index 670a67d88..000000000 --- a/algorithm-pediatric/build.gradle +++ /dev/null @@ -1,5 +0,0 @@ -dependencies { - implementation project(':staging-client-java') - - testImplementation(testFixtures(project(':staging-client-java'))) -} diff --git a/algorithm-pediatric/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java b/algorithm-pediatric/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java deleted file mode 100644 index 9d6c5539c..000000000 --- a/algorithm-pediatric/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.imsweb.staging.zip; - -import java.io.IOException; - -import com.imsweb.staging.AlgorithmZipUtils; -import com.imsweb.staging.pediatric.PediatricDataProvider.PediatricVersion; - -public class ZipAlgorithm { - - public static void main(String[] args) throws IOException { - AlgorithmZipUtils.zipAlgorithm("pediatric", PediatricVersion.LATEST.getVersion()); - } - -} diff --git a/algorithm-tnm/build.gradle b/algorithm-tnm/build.gradle deleted file mode 100644 index 670a67d88..000000000 --- a/algorithm-tnm/build.gradle +++ /dev/null @@ -1,5 +0,0 @@ -dependencies { - implementation project(':staging-client-java') - - testImplementation(testFixtures(project(':staging-client-java'))) -} diff --git a/algorithm-tnm/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java b/algorithm-tnm/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java deleted file mode 100644 index 8c515fdbd..000000000 --- a/algorithm-tnm/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.imsweb.staging.zip; - -import java.io.IOException; - -import com.imsweb.staging.AlgorithmZipUtils; -import com.imsweb.staging.tnm.TnmDataProvider.TnmVersion; - -public class ZipAlgorithm { - - public static void main(String[] args) throws IOException { - AlgorithmZipUtils.zipAlgorithm("tnm", TnmVersion.LATEST.getVersion()); - } - -} diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 98fc694c3..000000000 --- a/build.gradle +++ /dev/null @@ -1,158 +0,0 @@ -import com.vanniktech.maven.publish.JavaLibrary -import com.vanniktech.maven.publish.JavadocJar -import com.vanniktech.maven.publish.SonatypeHost - -plugins { - id 'com.github.spotbugs' version '6.1.11' - id 'com.adarshr.test-logger' version '4.0.0' - id 'com.github.ben-manes.versions' version '0.52.0' - id 'org.sonarqube' version '6.3.1.5724' - id 'com.vanniktech.maven.publish' version '0.31.0' -} - -sonarqube { - properties { - property "sonar.projectKey", "imsweb_staging-client-java" - property "sonar.organization", "imsweb" - property "sonar.host.url", "https://sonarcloud.io" - property "sonar.cpd.exclusions", "**/com/imsweb/staging/entities/impl/**" - property "sonar.coverage.exclusions", "**/UpdaterUtils.java" - property "sonar.gradle.skipCompile", "true" - } -} - -subprojects { - apply plugin: 'java-library' - apply plugin: 'com.github.spotbugs' - apply plugin: 'jacoco' - apply plugin: 'maven-publish' - apply plugin: 'signing' - apply plugin: 'com.adarshr.test-logger' - apply plugin: 'com.github.ben-manes.versions' - apply plugin: 'org.sonarqube' - apply plugin: 'com.vanniktech.maven.publish' - - group = 'com.imsweb' - version = '11.7.0' - - dependencies { - testImplementation platform('org.junit:junit-bom:5.13.4') - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testImplementation 'org.junit.jupiter:junit-jupiter-params' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.12.2' - - testImplementation 'org.assertj:assertj-core:3.27.6' - testImplementation 'com.google.code.bean-matchers:bean-matchers:0.14' - testImplementation 'org.slf4j:slf4j-simple:2.0.17' - } - - // fail the build if there are compiler warnings - tasks.withType(JavaCompile).configureEach { - options.encoding = 'UTF-8' - //options.compilerArgs << "-Xlint:all" << "-Xlint:-serial" << "-Xlint:-options" << "-Werror" - } - - java { - sourceCompatibility = JavaVersion.VERSION_21 - targetCompatibility = JavaVersion.VERSION_21 - } - - repositories { - mavenCentral() - } - - spotbugs { - excludeFilter = file("../config/spotbugs/spotbugs-exclude.xml") - } - - jar { - manifest { - attributes('Implementation-Title': project.name, - 'Implementation-Version': archiveVersion, - 'Implementation-Vendor': group, - 'Created-By': System.properties['java.vm.version'] + ' (' + System.properties['java.vm.vendor'] + ')', - 'Built-By': System.getProperty('user.name'), - 'Built-Date': new Date(), - 'Built-JDK': System.getProperty('java.version'), - 'Automatic-Module-Name': 'com.imsweb.algorithms.staging' - ) - } - } - - test { - useJUnitPlatform() - } - - jacocoTestReport { - reports { - xml.required = true - } - } - test.finalizedBy jacocoTestReport - - def isNonStable = { String version -> - def stableKeyword = ['RELEASE', 'FINAL', 'GA'].any { qualifier -> version.toUpperCase().contains(qualifier) } - def regex = /^[0-9,.v-]+$/ - return !stableKeyword && !(version ==~ regex) - } - - dependencyUpdates { - // ignore alpha, beta, etc. versions - rejectVersionIf { selection -> - isNonStable(selection.candidate.version) - } - } - - javadoc { - options.addBooleanOption('html5', true) - options.addStringOption('Xdoclint:none', '-quiet') - } - - // zip up all algorithms - tasks.register('zipAlgorithms', JavaExec) { - mainClass.set('com.imsweb.staging.zip.ZipAlgorithm') - classpath = sourceSets.test.runtimeClasspath - } - - mavenPublishing { - configure(new JavaLibrary(new JavadocJar.Javadoc(), true)) - - publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL, true) - signAllPublications() - - pom { - name = 'Staging Java Client' - description = 'A cancer staging client library' - url = 'https://github.com/imsweb/staging-client-java' - inceptionYear = '2015' - - licenses { - license { - name = 'A modified BSD License (BSD)' - url = 'https://github.com/imsweb/staging-client-java/blob/master/LICENSE' - distribution = 'repo' - } - } - - developers { - developer { - id = 'ctmay4' - name = 'Chuck May' - email = 'mayc@imsweb.com' - } - } - - scm { - url = 'https://github.com/imsweb/staging-client-java' - connection = 'scm:https://github.com/imsweb/staging-client-java.git' - developerConnection = 'scm:git@github.com:imsweb/staging-client-java.git' - } - } - } - - wrapper { - gradleVersion = '8.14' - distributionType = Wrapper.DistributionType.ALL - } -} \ No newline at end of file diff --git a/gradlew b/gradlew deleted file mode 100644 index 23d15a936..000000000 --- a/gradlew +++ /dev/null @@ -1,251 +0,0 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH="\\\"\\\"" - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - if ! command -v java >/dev/null 2>&1 - then - die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, -# and any embedded shellness will be escaped. -# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be -# treated as '${Hostname}' itself on the command line. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat deleted file mode 100644 index db3a6ac20..000000000 --- a/gradlew.bat +++ /dev/null @@ -1,94 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem -@rem SPDX-License-Identifier: Apache-2.0 -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. 1>&2 -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. 1>&2 -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH= - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/lib/build.gradle b/lib/build.gradle deleted file mode 100644 index 48a4c0774..000000000 --- a/lib/build.gradle +++ /dev/null @@ -1,24 +0,0 @@ -plugins { - id 'java-test-fixtures' -} - -dependencies { - api "com.fasterxml.jackson.core:jackson-core:2.19.1" - api "com.fasterxml.jackson.core:jackson-annotations:2.19.1" - api "com.fasterxml.jackson.core:jackson-databind:2.19.1" - - implementation "org.cache2k:cache2k-api:2.6.1.Final" - runtimeOnly "org.cache2k:cache2k-core:2.6.1.Final" - - implementation 'org.apache.commons:commons-lang3:3.18.0' - implementation 'org.ahocorasick:ahocorasick:0.6.3' - - implementation 'org.slf4j:slf4j-api:2.0.17' - - testFixturesImplementation 'com.imsweb:seerapi-client-java:5.9' - testFixturesImplementation 'org.slf4j:slf4j-simple:2.0.17' - testFixturesImplementation 'org.zeroturnaround:zt-zip:1.17' - testFixturesImplementation 'org.junit.jupiter:junit-jupiter-api:5.13.4' - testFixturesImplementation 'org.junit.jupiter:junit-jupiter-params:5.13.4' -} - diff --git a/mvnw b/mvnw new file mode 100644 index 000000000..8d937f4c1 --- /dev/null +++ b/mvnw @@ -0,0 +1,308 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.2.0 +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "$(uname)" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME + else + JAVA_HOME="/Library/Java/Home"; export JAVA_HOME + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && + JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then + if $darwin ; then + javaHome="$(dirname "\"$javaExecutable\"")" + javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" + else + javaExecutable="$(readlink -f "\"$javaExecutable\"")" + fi + javaHome="$(dirname "\"$javaExecutable\"")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$(cd "$wdir/.." || exit 1; pwd) + fi + # end of workaround + done + printf '%s' "$(cd "$basedir" || exit 1; pwd)" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + # Remove \r in case we run on Windows within Git Bash + # and check out the repository with auto CRLF management + # enabled. Otherwise, we may read lines that are delimited with + # \r\n and produce $'-Xarg\r' rather than -Xarg due to word + # splitting rules. + tr -s '\r\n' ' ' < "$1" + fi +} + +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" + fi +} + +BASE_DIR=$(find_maven_basedir "$(dirname "$0")") +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR +log "$MAVEN_PROJECTBASEDIR" + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" +if [ -r "$wrapperJarPath" ]; then + log "Found $wrapperJarPath" +else + log "Couldn't find $wrapperJarPath, downloading it ..." + + if [ -n "$MVNW_REPOURL" ]; then + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + else + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + fi + while IFS="=" read -r key value; do + # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) + safeValue=$(echo "$value" | tr -d '\r') + case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; + esac + done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" + + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget > /dev/null; then + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + else + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + fi + else + log "Falling back to using Java to download" + javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") + fi + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +# If specified, validate the SHA-256 sum of the Maven wrapper jar file +wrapperSha256Sum="" +while IFS="=" read -r key value; do + case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; + esac +done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" +if [ -n "$wrapperSha256Sum" ]; then + wrapperSha256Result=false + if command -v sha256sum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + elif command -v shasum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." + exit 1 + fi + if [ $wrapperSha256Result = false ]; then + echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 + echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 + echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 + exit 1 + fi +fi + +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +# shellcheck disable=SC2086 # safe args +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100644 index 000000000..c4586b564 --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,205 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.2.0 +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %WRAPPER_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file +SET WRAPPER_SHA_256_SUM="" +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B +) +IF NOT %WRAPPER_SHA_256_SUM%=="" ( + powershell -Command "&{"^ + "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ + "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ + " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ + " exit 1;"^ + "}"^ + "}" + if ERRORLEVEL 1 goto error +) + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/pom.xml b/pom.xml new file mode 100644 index 000000000..0c02e7d13 --- /dev/null +++ b/pom.xml @@ -0,0 +1,271 @@ + + + + 4.0.0 + + com.imsweb + staging-client-java + 11.8.0-SNAPSHOT + jar + + Staging Java Client + Java client library for SEER staging algorithms. + https://github.com/imsweb/staging-client-java + + + + A modified BSD License (BSD) + https://github.com/imsweb/staging-client-java/blob/master/LICENSE + repo + + + + + + IMS + Information Management Services, Inc. + https://www.imsweb.com + + + + + scm:git:https://github.com/imsweb/staging-client-java.git + scm:git:git@github.com:imsweb/staging-client-java.git + https://github.com/imsweb/staging-client-java + HEAD + + + + + 21 + UTF-8 + + + 2.20.1 + 4.12.0 + 0.6.3 + 3.20.0 + 2.6.1.Final + 1.17 + 5.9 + + + 5.11.2 + 3.27.6 + 2.0.17 + 0.14 + + + + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + ${jackson.version} + + + + com.squareup.okhttp3 + okhttp + ${okhttp.version} + + + + org.ahocorasick + ahocorasick + ${ahocorasick.version} + + + + org.apache.commons + commons-lang3 + ${commons.lang3.version} + + + + org.cache2k + cache2k-api + ${cache2k.version} + + + org.cache2k + cache2k-core + ${cache2k.version} + runtime + + + + org.zeroturnaround + zt-zip + ${zt-zip.version} + + + + com.imsweb + seerapi-client-java + ${seerapi-client.version} + + + + org.slf4j + slf4j-api + ${slf4j.version} + + + + + org.junit.jupiter + junit-jupiter + ${junit.jupiter.version} + test + + + org.assertj + assertj-core + ${assertj.version} + test + + + com.google.code.bean-matchers + bean-matchers + ${bean-matchers.version} + test + + + + + org.slf4j + slf4j-simple + ${slf4j.version} + test + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.13.0 + + ${maven.compiler.release} + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.3.1 + + false + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.4.1 + + + + org.jacoco + jacoco-maven-plugin + 0.8.12 + + + prepare-agent + + prepare-agent + + + + report + test + + report + + + + + + + com.github.spotbugs + spotbugs-maven-plugin + 4.9.3.0 + + config/spotbugs/spotbugs-exclude.xml + + + com.h3xstream.findsecbugs + findsecbugs-plugin + 1.12.0 + + + + + + + check + + + + + + + org.apache.maven.plugins + maven-source-plugin + 3.3.0 + + + attach-sources + + jar + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.10.0 + + all,-missing + + + + attach-javadocs + + jar + + + + + + + org.codehaus.mojo + versions-maven-plugin + 2.16.2 + + .*-M.*,.*-alpha.*,.*-beta.* + + + + + + + + ossrh + https://s01.oss.sonatype.org/content/repositories/snapshots + + + ossrh + https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ + + + + diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index ef0458c38..000000000 --- a/settings.gradle +++ /dev/null @@ -1,13 +0,0 @@ -rootProject.name = 'staging-client' -include 'lib' -include 'algorithm-cs' -include 'algorithm-tnm' -include 'algorithm-eod' -include 'algorithm-pediatric' - -// change subproject names -project(":lib").name = 'staging-client-java' -project(":algorithm-cs").name = 'staging-client-java-cs' -project(":algorithm-tnm").name = 'staging-client-java-tnm' -project(":algorithm-eod").name = 'staging-client-java-eod-public' -project(":algorithm-pediatric").name = 'staging-client-java-pediatric' diff --git a/lib/src/main/java/com/imsweb/staging/ExternalStagingFileDataProvider.java b/src/main/java/com/imsweb/staging/ExternalStagingFileDataProvider.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/ExternalStagingFileDataProvider.java rename to src/main/java/com/imsweb/staging/ExternalStagingFileDataProvider.java diff --git a/lib/src/main/java/com/imsweb/staging/InMemoryDataProvider.java b/src/main/java/com/imsweb/staging/InMemoryDataProvider.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/InMemoryDataProvider.java rename to src/main/java/com/imsweb/staging/InMemoryDataProvider.java diff --git a/lib/src/main/java/com/imsweb/staging/Staging.java b/src/main/java/com/imsweb/staging/Staging.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/Staging.java rename to src/main/java/com/imsweb/staging/Staging.java diff --git a/lib/src/main/java/com/imsweb/staging/StagingDataProvider.java b/src/main/java/com/imsweb/staging/StagingDataProvider.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/StagingDataProvider.java rename to src/main/java/com/imsweb/staging/StagingDataProvider.java diff --git a/lib/src/main/java/com/imsweb/staging/StagingFileDataProvider.java b/src/main/java/com/imsweb/staging/StagingFileDataProvider.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/StagingFileDataProvider.java rename to src/main/java/com/imsweb/staging/StagingFileDataProvider.java diff --git a/algorithm-cs/src/main/java/com/imsweb/staging/cs/CsDataProvider.java b/src/main/java/com/imsweb/staging/cs/CsDataProvider.java similarity index 100% rename from algorithm-cs/src/main/java/com/imsweb/staging/cs/CsDataProvider.java rename to src/main/java/com/imsweb/staging/cs/CsDataProvider.java diff --git a/algorithm-cs/src/main/java/com/imsweb/staging/cs/CsSchemaLookup.java b/src/main/java/com/imsweb/staging/cs/CsSchemaLookup.java similarity index 100% rename from algorithm-cs/src/main/java/com/imsweb/staging/cs/CsSchemaLookup.java rename to src/main/java/com/imsweb/staging/cs/CsSchemaLookup.java diff --git a/algorithm-cs/src/main/java/com/imsweb/staging/cs/CsStagingData.java b/src/main/java/com/imsweb/staging/cs/CsStagingData.java similarity index 100% rename from algorithm-cs/src/main/java/com/imsweb/staging/cs/CsStagingData.java rename to src/main/java/com/imsweb/staging/cs/CsStagingData.java diff --git a/lib/src/main/java/com/imsweb/staging/engine/DecisionEngine.java b/src/main/java/com/imsweb/staging/engine/DecisionEngine.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/engine/DecisionEngine.java rename to src/main/java/com/imsweb/staging/engine/DecisionEngine.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/ColumnDefinition.java b/src/main/java/com/imsweb/staging/entities/ColumnDefinition.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/ColumnDefinition.java rename to src/main/java/com/imsweb/staging/entities/ColumnDefinition.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/DataProvider.java b/src/main/java/com/imsweb/staging/entities/DataProvider.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/DataProvider.java rename to src/main/java/com/imsweb/staging/entities/DataProvider.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/Endpoint.java b/src/main/java/com/imsweb/staging/entities/Endpoint.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/Endpoint.java rename to src/main/java/com/imsweb/staging/entities/Endpoint.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/Error.java b/src/main/java/com/imsweb/staging/entities/Error.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/Error.java rename to src/main/java/com/imsweb/staging/entities/Error.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/GlossaryDefinition.java b/src/main/java/com/imsweb/staging/entities/GlossaryDefinition.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/GlossaryDefinition.java rename to src/main/java/com/imsweb/staging/entities/GlossaryDefinition.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/GlossaryHit.java b/src/main/java/com/imsweb/staging/entities/GlossaryHit.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/GlossaryHit.java rename to src/main/java/com/imsweb/staging/entities/GlossaryHit.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/Input.java b/src/main/java/com/imsweb/staging/entities/Input.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/Input.java rename to src/main/java/com/imsweb/staging/entities/Input.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/KeyMapping.java b/src/main/java/com/imsweb/staging/entities/KeyMapping.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/KeyMapping.java rename to src/main/java/com/imsweb/staging/entities/KeyMapping.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/KeyValue.java b/src/main/java/com/imsweb/staging/entities/KeyValue.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/KeyValue.java rename to src/main/java/com/imsweb/staging/entities/KeyValue.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/Mapping.java b/src/main/java/com/imsweb/staging/entities/Mapping.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/Mapping.java rename to src/main/java/com/imsweb/staging/entities/Mapping.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/Metadata.java b/src/main/java/com/imsweb/staging/entities/Metadata.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/Metadata.java rename to src/main/java/com/imsweb/staging/entities/Metadata.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/Output.java b/src/main/java/com/imsweb/staging/entities/Output.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/Output.java rename to src/main/java/com/imsweb/staging/entities/Output.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/Range.java b/src/main/java/com/imsweb/staging/entities/Range.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/Range.java rename to src/main/java/com/imsweb/staging/entities/Range.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/Result.java b/src/main/java/com/imsweb/staging/entities/Result.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/Result.java rename to src/main/java/com/imsweb/staging/entities/Result.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/Schema.java b/src/main/java/com/imsweb/staging/entities/Schema.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/Schema.java rename to src/main/java/com/imsweb/staging/entities/Schema.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/SchemaLookup.java b/src/main/java/com/imsweb/staging/entities/SchemaLookup.java similarity index 96% rename from lib/src/main/java/com/imsweb/staging/entities/SchemaLookup.java rename to src/main/java/com/imsweb/staging/entities/SchemaLookup.java index a08546704..bbaf2ab68 100644 --- a/lib/src/main/java/com/imsweb/staging/entities/SchemaLookup.java +++ b/src/main/java/com/imsweb/staging/entities/SchemaLookup.java @@ -147,8 +147,10 @@ public boolean hasDiscriminator() { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; SchemaLookup lookup = (SchemaLookup)o; @@ -160,4 +162,5 @@ public boolean equals(Object o) { public int hashCode() { return _inputs.hashCode(); } + } diff --git a/lib/src/main/java/com/imsweb/staging/entities/StagingData.java b/src/main/java/com/imsweb/staging/entities/StagingData.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/StagingData.java rename to src/main/java/com/imsweb/staging/entities/StagingData.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/Table.java b/src/main/java/com/imsweb/staging/entities/Table.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/Table.java rename to src/main/java/com/imsweb/staging/entities/Table.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/TablePath.java b/src/main/java/com/imsweb/staging/entities/TablePath.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/TablePath.java rename to src/main/java/com/imsweb/staging/entities/TablePath.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/TableRow.java b/src/main/java/com/imsweb/staging/entities/TableRow.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/TableRow.java rename to src/main/java/com/imsweb/staging/entities/TableRow.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/impl/StagingColumnDefinition.java b/src/main/java/com/imsweb/staging/entities/impl/StagingColumnDefinition.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/impl/StagingColumnDefinition.java rename to src/main/java/com/imsweb/staging/entities/impl/StagingColumnDefinition.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/impl/StagingEndpoint.java b/src/main/java/com/imsweb/staging/entities/impl/StagingEndpoint.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/impl/StagingEndpoint.java rename to src/main/java/com/imsweb/staging/entities/impl/StagingEndpoint.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/impl/StagingKeyMapping.java b/src/main/java/com/imsweb/staging/entities/impl/StagingKeyMapping.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/impl/StagingKeyMapping.java rename to src/main/java/com/imsweb/staging/entities/impl/StagingKeyMapping.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/impl/StagingKeyValue.java b/src/main/java/com/imsweb/staging/entities/impl/StagingKeyValue.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/impl/StagingKeyValue.java rename to src/main/java/com/imsweb/staging/entities/impl/StagingKeyValue.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/impl/StagingMapping.java b/src/main/java/com/imsweb/staging/entities/impl/StagingMapping.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/impl/StagingMapping.java rename to src/main/java/com/imsweb/staging/entities/impl/StagingMapping.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/impl/StagingMetadata.java b/src/main/java/com/imsweb/staging/entities/impl/StagingMetadata.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/impl/StagingMetadata.java rename to src/main/java/com/imsweb/staging/entities/impl/StagingMetadata.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/impl/StagingMetadataDeserializer.java b/src/main/java/com/imsweb/staging/entities/impl/StagingMetadataDeserializer.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/impl/StagingMetadataDeserializer.java rename to src/main/java/com/imsweb/staging/entities/impl/StagingMetadataDeserializer.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/impl/StagingRange.java b/src/main/java/com/imsweb/staging/entities/impl/StagingRange.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/impl/StagingRange.java rename to src/main/java/com/imsweb/staging/entities/impl/StagingRange.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/impl/StagingSchema.java b/src/main/java/com/imsweb/staging/entities/impl/StagingSchema.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/impl/StagingSchema.java rename to src/main/java/com/imsweb/staging/entities/impl/StagingSchema.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/impl/StagingSchemaInput.java b/src/main/java/com/imsweb/staging/entities/impl/StagingSchemaInput.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/impl/StagingSchemaInput.java rename to src/main/java/com/imsweb/staging/entities/impl/StagingSchemaInput.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/impl/StagingSchemaOutput.java b/src/main/java/com/imsweb/staging/entities/impl/StagingSchemaOutput.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/impl/StagingSchemaOutput.java rename to src/main/java/com/imsweb/staging/entities/impl/StagingSchemaOutput.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/impl/StagingTable.java b/src/main/java/com/imsweb/staging/entities/impl/StagingTable.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/impl/StagingTable.java rename to src/main/java/com/imsweb/staging/entities/impl/StagingTable.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/impl/StagingTablePath.java b/src/main/java/com/imsweb/staging/entities/impl/StagingTablePath.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/impl/StagingTablePath.java rename to src/main/java/com/imsweb/staging/entities/impl/StagingTablePath.java diff --git a/lib/src/main/java/com/imsweb/staging/entities/impl/StagingTableRow.java b/src/main/java/com/imsweb/staging/entities/impl/StagingTableRow.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/entities/impl/StagingTableRow.java rename to src/main/java/com/imsweb/staging/entities/impl/StagingTableRow.java diff --git a/algorithm-eod/src/main/java/com/imsweb/staging/eod/EodDataProvider.java b/src/main/java/com/imsweb/staging/eod/EodDataProvider.java similarity index 100% rename from algorithm-eod/src/main/java/com/imsweb/staging/eod/EodDataProvider.java rename to src/main/java/com/imsweb/staging/eod/EodDataProvider.java diff --git a/algorithm-eod/src/main/java/com/imsweb/staging/eod/EodSchemaLookup.java b/src/main/java/com/imsweb/staging/eod/EodSchemaLookup.java similarity index 100% rename from algorithm-eod/src/main/java/com/imsweb/staging/eod/EodSchemaLookup.java rename to src/main/java/com/imsweb/staging/eod/EodSchemaLookup.java diff --git a/algorithm-eod/src/main/java/com/imsweb/staging/eod/EodStagingData.java b/src/main/java/com/imsweb/staging/eod/EodStagingData.java similarity index 100% rename from algorithm-eod/src/main/java/com/imsweb/staging/eod/EodStagingData.java rename to src/main/java/com/imsweb/staging/eod/EodStagingData.java diff --git a/algorithm-pediatric/src/main/java/com/imsweb/staging/pediatric/PediatricDataProvider.java b/src/main/java/com/imsweb/staging/pediatric/PediatricDataProvider.java similarity index 100% rename from algorithm-pediatric/src/main/java/com/imsweb/staging/pediatric/PediatricDataProvider.java rename to src/main/java/com/imsweb/staging/pediatric/PediatricDataProvider.java diff --git a/algorithm-pediatric/src/main/java/com/imsweb/staging/pediatric/PediatricSchemaLookup.java b/src/main/java/com/imsweb/staging/pediatric/PediatricSchemaLookup.java similarity index 100% rename from algorithm-pediatric/src/main/java/com/imsweb/staging/pediatric/PediatricSchemaLookup.java rename to src/main/java/com/imsweb/staging/pediatric/PediatricSchemaLookup.java diff --git a/algorithm-pediatric/src/main/java/com/imsweb/staging/pediatric/PediatricStagingData.java b/src/main/java/com/imsweb/staging/pediatric/PediatricStagingData.java similarity index 100% rename from algorithm-pediatric/src/main/java/com/imsweb/staging/pediatric/PediatricStagingData.java rename to src/main/java/com/imsweb/staging/pediatric/PediatricStagingData.java diff --git a/algorithm-tnm/src/main/java/com/imsweb/staging/tnm/TnmDataProvider.java b/src/main/java/com/imsweb/staging/tnm/TnmDataProvider.java similarity index 100% rename from algorithm-tnm/src/main/java/com/imsweb/staging/tnm/TnmDataProvider.java rename to src/main/java/com/imsweb/staging/tnm/TnmDataProvider.java diff --git a/algorithm-tnm/src/main/java/com/imsweb/staging/tnm/TnmSchemaLookup.java b/src/main/java/com/imsweb/staging/tnm/TnmSchemaLookup.java similarity index 100% rename from algorithm-tnm/src/main/java/com/imsweb/staging/tnm/TnmSchemaLookup.java rename to src/main/java/com/imsweb/staging/tnm/TnmSchemaLookup.java diff --git a/algorithm-tnm/src/main/java/com/imsweb/staging/tnm/TnmStagingData.java b/src/main/java/com/imsweb/staging/tnm/TnmStagingData.java similarity index 100% rename from algorithm-tnm/src/main/java/com/imsweb/staging/tnm/TnmStagingData.java rename to src/main/java/com/imsweb/staging/tnm/TnmStagingData.java diff --git a/lib/src/main/java/com/imsweb/staging/util/Stopwatch.java b/src/main/java/com/imsweb/staging/util/Stopwatch.java similarity index 100% rename from lib/src/main/java/com/imsweb/staging/util/Stopwatch.java rename to src/main/java/com/imsweb/staging/util/Stopwatch.java diff --git a/lib/src/testFixtures/java/com/imsweb/staging/AlgorithmZipUtils.java b/src/test/java/com/imsweb/staging/AlgorithmZipUtils.java similarity index 100% rename from lib/src/testFixtures/java/com/imsweb/staging/AlgorithmZipUtils.java rename to src/test/java/com/imsweb/staging/AlgorithmZipUtils.java diff --git a/lib/src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java b/src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java similarity index 100% rename from lib/src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java rename to src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java diff --git a/lib/src/test/java/com/imsweb/staging/FileDataProviderTest.java b/src/test/java/com/imsweb/staging/FileDataProviderTest.java similarity index 100% rename from lib/src/test/java/com/imsweb/staging/FileDataProviderTest.java rename to src/test/java/com/imsweb/staging/FileDataProviderTest.java diff --git a/lib/src/test/java/com/imsweb/staging/StagingDataProviderTest.java b/src/test/java/com/imsweb/staging/StagingDataProviderTest.java similarity index 100% rename from lib/src/test/java/com/imsweb/staging/StagingDataProviderTest.java rename to src/test/java/com/imsweb/staging/StagingDataProviderTest.java diff --git a/lib/src/test/java/com/imsweb/staging/StagingFileDataProviderTest.java b/src/test/java/com/imsweb/staging/StagingFileDataProviderTest.java similarity index 100% rename from lib/src/test/java/com/imsweb/staging/StagingFileDataProviderTest.java rename to src/test/java/com/imsweb/staging/StagingFileDataProviderTest.java diff --git a/lib/src/testFixtures/java/com/imsweb/staging/StagingTest.java b/src/test/java/com/imsweb/staging/StagingTest.java similarity index 100% rename from lib/src/testFixtures/java/com/imsweb/staging/StagingTest.java rename to src/test/java/com/imsweb/staging/StagingTest.java diff --git a/algorithm-cs/src/test/java/com/imsweb/staging/cs/CsIntegrationTest.java b/src/test/java/com/imsweb/staging/cs/CsIntegrationTest.java similarity index 100% rename from algorithm-cs/src/test/java/com/imsweb/staging/cs/CsIntegrationTest.java rename to src/test/java/com/imsweb/staging/cs/CsIntegrationTest.java diff --git a/algorithm-cs/src/test/java/com/imsweb/staging/cs/CsSchemaLookupTest.java b/src/test/java/com/imsweb/staging/cs/CsSchemaLookupTest.java similarity index 100% rename from algorithm-cs/src/test/java/com/imsweb/staging/cs/CsSchemaLookupTest.java rename to src/test/java/com/imsweb/staging/cs/CsSchemaLookupTest.java diff --git a/algorithm-cs/src/test/java/com/imsweb/staging/cs/CsStagingTest.java b/src/test/java/com/imsweb/staging/cs/CsStagingTest.java similarity index 100% rename from algorithm-cs/src/test/java/com/imsweb/staging/cs/CsStagingTest.java rename to src/test/java/com/imsweb/staging/cs/CsStagingTest.java diff --git a/algorithm-cs/src/test/java/com/imsweb/staging/cs/CsUpdateFromAPI.java b/src/test/java/com/imsweb/staging/cs/CsUpdateFromAPI.java similarity index 100% rename from algorithm-cs/src/test/java/com/imsweb/staging/cs/CsUpdateFromAPI.java rename to src/test/java/com/imsweb/staging/cs/CsUpdateFromAPI.java diff --git a/algorithm-cs/src/test/java/com/imsweb/staging/cs/IntegrationUtils.java b/src/test/java/com/imsweb/staging/cs/IntegrationUtils.java similarity index 97% rename from algorithm-cs/src/test/java/com/imsweb/staging/cs/IntegrationUtils.java rename to src/test/java/com/imsweb/staging/cs/IntegrationUtils.java index d5da32c98..c2e3fa09e 100644 --- a/algorithm-cs/src/test/java/com/imsweb/staging/cs/IntegrationUtils.java +++ b/src/test/java/com/imsweb/staging/cs/IntegrationUtils.java @@ -32,6 +32,7 @@ import com.imsweb.staging.cs.CsStagingData.CsOutput; import com.imsweb.staging.entities.Schema; import com.imsweb.staging.entities.SchemaLookup; +import com.imsweb.staging.entities.StagingData; import com.imsweb.staging.util.Stopwatch; public final class IntegrationUtils { @@ -74,8 +75,11 @@ public static IntegrationResult processSchemaSelection(final Staging staging, St pool.submit(() -> { try { - SchemaLookup lookup = new SchemaLookup(parts[0], parts[1]); - lookup.setInput(CsStagingData.SSF25_KEY, parts[2]); + Map inputs = new HashMap<>(); + inputs.put(StagingData.PRIMARY_SITE_KEY, parts[0]); + inputs.put(StagingData.HISTOLOGY_KEY, parts[1]); + inputs.put(CsStagingData.SSF25_KEY, parts[2]); + SchemaLookup lookup = new SchemaLookup(inputs); List lookups = staging.lookupSchema(lookup); if (parts[3].isEmpty()) { diff --git a/lib/src/test/java/com/imsweb/staging/engine/BasicStagingTest.java b/src/test/java/com/imsweb/staging/engine/BasicStagingTest.java similarity index 100% rename from lib/src/test/java/com/imsweb/staging/engine/BasicStagingTest.java rename to src/test/java/com/imsweb/staging/engine/BasicStagingTest.java diff --git a/lib/src/test/java/com/imsweb/staging/engine/DecisionEngineTest.java b/src/test/java/com/imsweb/staging/engine/DecisionEngineTest.java similarity index 100% rename from lib/src/test/java/com/imsweb/staging/engine/DecisionEngineTest.java rename to src/test/java/com/imsweb/staging/engine/DecisionEngineTest.java diff --git a/lib/src/test/java/com/imsweb/staging/entities/EntitiesTest.java b/src/test/java/com/imsweb/staging/entities/EntitiesTest.java similarity index 100% rename from lib/src/test/java/com/imsweb/staging/entities/EntitiesTest.java rename to src/test/java/com/imsweb/staging/entities/EntitiesTest.java diff --git a/lib/src/test/java/com/imsweb/staging/entities/GlossaryDefinitionTest.java b/src/test/java/com/imsweb/staging/entities/GlossaryDefinitionTest.java similarity index 100% rename from lib/src/test/java/com/imsweb/staging/entities/GlossaryDefinitionTest.java rename to src/test/java/com/imsweb/staging/entities/GlossaryDefinitionTest.java diff --git a/lib/src/test/java/com/imsweb/staging/entities/SchemaLookupTest.java b/src/test/java/com/imsweb/staging/entities/SchemaLookupTest.java similarity index 100% rename from lib/src/test/java/com/imsweb/staging/entities/SchemaLookupTest.java rename to src/test/java/com/imsweb/staging/entities/SchemaLookupTest.java diff --git a/lib/src/test/java/com/imsweb/staging/entities/StagingRangeTest.java b/src/test/java/com/imsweb/staging/entities/StagingRangeTest.java similarity index 100% rename from lib/src/test/java/com/imsweb/staging/entities/StagingRangeTest.java rename to src/test/java/com/imsweb/staging/entities/StagingRangeTest.java diff --git a/lib/src/test/java/com/imsweb/staging/entities/impl/StagingSchemaInputTest.java b/src/test/java/com/imsweb/staging/entities/impl/StagingSchemaInputTest.java similarity index 100% rename from lib/src/test/java/com/imsweb/staging/entities/impl/StagingSchemaInputTest.java rename to src/test/java/com/imsweb/staging/entities/impl/StagingSchemaInputTest.java diff --git a/lib/src/test/java/com/imsweb/staging/entities/impl/StagingSchemaOutputTest.java b/src/test/java/com/imsweb/staging/entities/impl/StagingSchemaOutputTest.java similarity index 100% rename from lib/src/test/java/com/imsweb/staging/entities/impl/StagingSchemaOutputTest.java rename to src/test/java/com/imsweb/staging/entities/impl/StagingSchemaOutputTest.java diff --git a/algorithm-eod/src/test/java/com/imsweb/staging/eod/EodPublicUpdateFromAPI.java b/src/test/java/com/imsweb/staging/eod/EodPublicUpdateFromAPI.java similarity index 100% rename from algorithm-eod/src/test/java/com/imsweb/staging/eod/EodPublicUpdateFromAPI.java rename to src/test/java/com/imsweb/staging/eod/EodPublicUpdateFromAPI.java diff --git a/algorithm-eod/src/test/java/com/imsweb/staging/eod/EodStagingTest.java b/src/test/java/com/imsweb/staging/eod/EodStagingTest.java similarity index 97% rename from algorithm-eod/src/test/java/com/imsweb/staging/eod/EodStagingTest.java rename to src/test/java/com/imsweb/staging/eod/EodStagingTest.java index 50ef5af55..61203c56b 100644 --- a/algorithm-eod/src/test/java/com/imsweb/staging/eod/EodStagingTest.java +++ b/src/test/java/com/imsweb/staging/eod/EodStagingTest.java @@ -239,7 +239,7 @@ void testStagePancreas() { // perform the staging _STAGING.stage(data); - assertThat(data.getResult()).isEqualTo(StagingData.Result.STAGED); + assertThat(data.getResult()).isEqualTo(Result.STAGED); assertThat(data.getSchemaId()).isEqualTo("pancreas"); assertThat(data.getErrors()).isEmpty(); assertThat(data.getPath()).hasSize(5); @@ -277,7 +277,7 @@ void testStageDefaultSsdi() { // perform the staging _STAGING.stage(data); - assertThat(data.getResult()).isEqualTo(StagingData.Result.STAGED); + assertThat(data.getResult()).isEqualTo(Result.STAGED); assertThat(data.getSchemaId()).isEqualTo("breast"); assertThat(data.getErrors()).isEmpty(); assertThat(data.getPath()).hasSize(5); @@ -296,23 +296,23 @@ void testBadLookupInStage() { // if site/hist are not supplied, no lookup _STAGING.stage(data); - assertThat(data.getResult()).isEqualTo(StagingData.Result.FAILED_MISSING_SITE_OR_HISTOLOGY); + assertThat(data.getResult()).isEqualTo(Result.FAILED_MISSING_SITE_OR_HISTOLOGY); // add hist only and it should fail with same result data.setInput(EodInput.PRIMARY_SITE, "C489"); _STAGING.stage(data); - assertThat(data.getResult()).isEqualTo(StagingData.Result.FAILED_MISSING_SITE_OR_HISTOLOGY); + assertThat(data.getResult()).isEqualTo(Result.FAILED_MISSING_SITE_OR_HISTOLOGY); // put a site/hist combo that doesn't match a schema data.setInput(EodInput.HISTOLOGY, "9898"); _STAGING.stage(data); - assertThat(data.getResult()).isEqualTo(StagingData.Result.FAILED_NO_MATCHING_SCHEMA); + assertThat(data.getResult()).isEqualTo(Result.FAILED_NO_MATCHING_SCHEMA); // now a site/hist that returns multiple results data.setInput(EodInput.PRIMARY_SITE, "C111"); data.setInput(EodInput.HISTOLOGY, "8200"); _STAGING.stage(data); - assertThat(data.getResult()).isEqualTo(StagingData.Result.FAILED_MULITPLE_MATCHING_SCHEMAS); + assertThat(data.getResult()).isEqualTo(Result.FAILED_MULITPLE_MATCHING_SCHEMAS); } @Test diff --git a/algorithm-eod/src/test/java/com/imsweb/staging/eod/EodUpdateFromAPI.java b/src/test/java/com/imsweb/staging/eod/EodUpdateFromAPI.java similarity index 100% rename from algorithm-eod/src/test/java/com/imsweb/staging/eod/EodUpdateFromAPI.java rename to src/test/java/com/imsweb/staging/eod/EodUpdateFromAPI.java diff --git a/algorithm-pediatric/src/test/java/com/imsweb/staging/pediatric/PediatricStagingTest.java b/src/test/java/com/imsweb/staging/pediatric/PediatricStagingTest.java similarity index 100% rename from algorithm-pediatric/src/test/java/com/imsweb/staging/pediatric/PediatricStagingTest.java rename to src/test/java/com/imsweb/staging/pediatric/PediatricStagingTest.java diff --git a/algorithm-pediatric/src/test/java/com/imsweb/staging/pediatric/PediatricUpdateFromAPI.java b/src/test/java/com/imsweb/staging/pediatric/PediatricUpdateFromAPI.java similarity index 100% rename from algorithm-pediatric/src/test/java/com/imsweb/staging/pediatric/PediatricUpdateFromAPI.java rename to src/test/java/com/imsweb/staging/pediatric/PediatricUpdateFromAPI.java diff --git a/algorithm-tnm/src/test/java/com/imsweb/staging/tnm/TnmSchemaLookupTest.java b/src/test/java/com/imsweb/staging/tnm/TnmSchemaLookupTest.java similarity index 100% rename from algorithm-tnm/src/test/java/com/imsweb/staging/tnm/TnmSchemaLookupTest.java rename to src/test/java/com/imsweb/staging/tnm/TnmSchemaLookupTest.java diff --git a/algorithm-tnm/src/test/java/com/imsweb/staging/tnm/TnmStagingTest.java b/src/test/java/com/imsweb/staging/tnm/TnmStagingTest.java similarity index 100% rename from algorithm-tnm/src/test/java/com/imsweb/staging/tnm/TnmStagingTest.java rename to src/test/java/com/imsweb/staging/tnm/TnmStagingTest.java diff --git a/algorithm-tnm/src/test/java/com/imsweb/staging/tnm/TnmUpdateFromAPI.java b/src/test/java/com/imsweb/staging/tnm/TnmUpdateFromAPI.java similarity index 100% rename from algorithm-tnm/src/test/java/com/imsweb/staging/tnm/TnmUpdateFromAPI.java rename to src/test/java/com/imsweb/staging/tnm/TnmUpdateFromAPI.java diff --git a/lib/src/testFixtures/java/com/imsweb/staging/updater/BadRequestException.java b/src/test/java/com/imsweb/staging/updater/BadRequestException.java similarity index 100% rename from lib/src/testFixtures/java/com/imsweb/staging/updater/BadRequestException.java rename to src/test/java/com/imsweb/staging/updater/BadRequestException.java diff --git a/lib/src/testFixtures/java/com/imsweb/staging/updater/ErrorInterceptor.java b/src/test/java/com/imsweb/staging/updater/ErrorInterceptor.java similarity index 100% rename from lib/src/testFixtures/java/com/imsweb/staging/updater/ErrorInterceptor.java rename to src/test/java/com/imsweb/staging/updater/ErrorInterceptor.java diff --git a/lib/src/testFixtures/java/com/imsweb/staging/updater/ErrorResponse.java b/src/test/java/com/imsweb/staging/updater/ErrorResponse.java similarity index 100% rename from lib/src/testFixtures/java/com/imsweb/staging/updater/ErrorResponse.java rename to src/test/java/com/imsweb/staging/updater/ErrorResponse.java diff --git a/lib/src/testFixtures/java/com/imsweb/staging/updater/NotAuthorizedException.java b/src/test/java/com/imsweb/staging/updater/NotAuthorizedException.java similarity index 100% rename from lib/src/testFixtures/java/com/imsweb/staging/updater/NotAuthorizedException.java rename to src/test/java/com/imsweb/staging/updater/NotAuthorizedException.java diff --git a/lib/src/testFixtures/java/com/imsweb/staging/updater/NotFoundException.java b/src/test/java/com/imsweb/staging/updater/NotFoundException.java similarity index 100% rename from lib/src/testFixtures/java/com/imsweb/staging/updater/NotFoundException.java rename to src/test/java/com/imsweb/staging/updater/NotFoundException.java diff --git a/lib/src/testFixtures/java/com/imsweb/staging/updater/SeerApiException.java b/src/test/java/com/imsweb/staging/updater/SeerApiException.java similarity index 100% rename from lib/src/testFixtures/java/com/imsweb/staging/updater/SeerApiException.java rename to src/test/java/com/imsweb/staging/updater/SeerApiException.java diff --git a/lib/src/testFixtures/java/com/imsweb/staging/updater/UpdaterUtils.java b/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java similarity index 100% rename from lib/src/testFixtures/java/com/imsweb/staging/updater/UpdaterUtils.java rename to src/test/java/com/imsweb/staging/updater/UpdaterUtils.java diff --git a/lib/src/test/java/com/imsweb/staging/util/StopwatchTest.java b/src/test/java/com/imsweb/staging/util/StopwatchTest.java similarity index 100% rename from lib/src/test/java/com/imsweb/staging/util/StopwatchTest.java rename to src/test/java/com/imsweb/staging/util/StopwatchTest.java diff --git a/lib/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java b/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java similarity index 100% rename from lib/src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java rename to src/test/java/com/imsweb/staging/zip/ZipAlgorithm.java diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/adnexa_uterine_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/adnexa_uterine_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/adnexa_uterine_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/adnexa_uterine_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/adrenal_gland.json b/src/test/resources/algorithms/cs/02.05.50/schemas/adrenal_gland.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/adrenal_gland.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/adrenal_gland.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/ampulla_vater.json b/src/test/resources/algorithms/cs/02.05.50/schemas/ampulla_vater.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/ampulla_vater.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/ampulla_vater.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/anus.json b/src/test/resources/algorithms/cs/02.05.50/schemas/anus.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/anus.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/anus.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/appendix.json b/src/test/resources/algorithms/cs/02.05.50/schemas/appendix.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/appendix.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/appendix.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/bile_ducts_distal.json b/src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_distal.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/bile_ducts_distal.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_distal.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/bile_ducts_intrahepat.json b/src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_intrahepat.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/bile_ducts_intrahepat.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_intrahepat.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/bile_ducts_perihilar.json b/src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_perihilar.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/bile_ducts_perihilar.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_perihilar.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/biliary_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/biliary_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/biliary_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/biliary_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/bladder.json b/src/test/resources/algorithms/cs/02.05.50/schemas/bladder.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/bladder.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/bladder.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/bone.json b/src/test/resources/algorithms/cs/02.05.50/schemas/bone.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/bone.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/bone.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/brain.json b/src/test/resources/algorithms/cs/02.05.50/schemas/brain.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/brain.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/brain.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/breast.json b/src/test/resources/algorithms/cs/02.05.50/schemas/breast.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/breast.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/breast.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/buccal_mucosa.json b/src/test/resources/algorithms/cs/02.05.50/schemas/buccal_mucosa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/buccal_mucosa.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/buccal_mucosa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/carcinoid_appendix.json b/src/test/resources/algorithms/cs/02.05.50/schemas/carcinoid_appendix.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/carcinoid_appendix.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/carcinoid_appendix.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/cervix.json b/src/test/resources/algorithms/cs/02.05.50/schemas/cervix.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/cervix.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/cervix.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/cns_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/cns_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/cns_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/cns_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/colon.json b/src/test/resources/algorithms/cs/02.05.50/schemas/colon.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/colon.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/colon.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/conjunctiva.json b/src/test/resources/algorithms/cs/02.05.50/schemas/conjunctiva.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/conjunctiva.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/conjunctiva.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/corpus_adenosarcoma.json b/src/test/resources/algorithms/cs/02.05.50/schemas/corpus_adenosarcoma.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/corpus_adenosarcoma.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/corpus_adenosarcoma.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/corpus_carcinoma.json b/src/test/resources/algorithms/cs/02.05.50/schemas/corpus_carcinoma.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/corpus_carcinoma.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/corpus_carcinoma.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/corpus_sarcoma.json b/src/test/resources/algorithms/cs/02.05.50/schemas/corpus_sarcoma.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/corpus_sarcoma.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/corpus_sarcoma.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/cystic_duct.json b/src/test/resources/algorithms/cs/02.05.50/schemas/cystic_duct.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/cystic_duct.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/cystic_duct.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/digestive_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/digestive_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/digestive_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/digestive_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/endocrine_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/endocrine_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/endocrine_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/endocrine_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/epiglottis_anterior.json b/src/test/resources/algorithms/cs/02.05.50/schemas/epiglottis_anterior.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/epiglottis_anterior.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/epiglottis_anterior.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/esophagus.json b/src/test/resources/algorithms/cs/02.05.50/schemas/esophagus.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/esophagus.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/esophagus.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/esophagus_gejunction.json b/src/test/resources/algorithms/cs/02.05.50/schemas/esophagus_gejunction.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/esophagus_gejunction.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/esophagus_gejunction.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/eye_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/eye_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/eye_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/eye_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/fallopian_tube.json b/src/test/resources/algorithms/cs/02.05.50/schemas/fallopian_tube.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/fallopian_tube.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/fallopian_tube.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/floor_mouth.json b/src/test/resources/algorithms/cs/02.05.50/schemas/floor_mouth.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/floor_mouth.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/floor_mouth.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gallbladder.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gallbladder.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gallbladder.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/gallbladder.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/genital_female_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/genital_female_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/genital_female_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/genital_female_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/genital_male_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/genital_male_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/genital_male_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/genital_male_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gist_appendix.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gist_appendix.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gist_appendix.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/gist_appendix.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gist_colon.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gist_colon.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gist_colon.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/gist_colon.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gist_esophagus.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gist_esophagus.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gist_esophagus.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/gist_esophagus.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gist_peritoneum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gist_peritoneum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gist_peritoneum.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/gist_peritoneum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gist_rectum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gist_rectum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gist_rectum.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/gist_rectum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gist_small_intestine.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gist_small_intestine.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gist_small_intestine.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/gist_small_intestine.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gist_stomach.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gist_stomach.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gist_stomach.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/gist_stomach.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gum_lower.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gum_lower.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gum_lower.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/gum_lower.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gum_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gum_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gum_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/gum_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gum_upper.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gum_upper.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/gum_upper.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/gum_upper.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/heart_mediastinum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/heart_mediastinum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/heart_mediastinum.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/heart_mediastinum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/heme_retic.json b/src/test/resources/algorithms/cs/02.05.50/schemas/heme_retic.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/heme_retic.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/heme_retic.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/hypopharynx.json b/src/test/resources/algorithms/cs/02.05.50/schemas/hypopharynx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/hypopharynx.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/hypopharynx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/ids.txt b/src/test/resources/algorithms/cs/02.05.50/schemas/ids.txt similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/ids.txt rename to src/test/resources/algorithms/cs/02.05.50/schemas/ids.txt diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/ill_defined_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/ill_defined_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/ill_defined_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/ill_defined_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/intracranial_gland.json b/src/test/resources/algorithms/cs/02.05.50/schemas/intracranial_gland.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/intracranial_gland.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/intracranial_gland.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/kaposi_sarcoma.json b/src/test/resources/algorithms/cs/02.05.50/schemas/kaposi_sarcoma.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/kaposi_sarcoma.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/kaposi_sarcoma.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/kidney_parenchyma.json b/src/test/resources/algorithms/cs/02.05.50/schemas/kidney_parenchyma.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/kidney_parenchyma.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/kidney_parenchyma.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/kidney_renal_pelvis.json b/src/test/resources/algorithms/cs/02.05.50/schemas/kidney_renal_pelvis.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/kidney_renal_pelvis.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/kidney_renal_pelvis.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lacrimal_gland.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lacrimal_gland.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lacrimal_gland.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/lacrimal_gland.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lacrimal_sac.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lacrimal_sac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lacrimal_sac.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/lacrimal_sac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/larynx_glottic.json b/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_glottic.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/larynx_glottic.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/larynx_glottic.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/larynx_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/larynx_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/larynx_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/larynx_subglottic.json b/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_subglottic.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/larynx_subglottic.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/larynx_subglottic.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/larynx_supraglottic.json b/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_supraglottic.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/larynx_supraglottic.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/larynx_supraglottic.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lip_lower.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lip_lower.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lip_lower.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/lip_lower.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lip_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lip_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lip_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/lip_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lip_upper.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lip_upper.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lip_upper.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/lip_upper.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/liver.json b/src/test/resources/algorithms/cs/02.05.50/schemas/liver.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/liver.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/liver.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lung.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lung.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lung.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/lung.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lymphoma.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lymphoma.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lymphoma.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/lymphoma.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lymphoma_ocular_adnexa.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lymphoma_ocular_adnexa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/lymphoma_ocular_adnexa.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/lymphoma_ocular_adnexa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_buccal_mucosa.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_buccal_mucosa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_buccal_mucosa.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_buccal_mucosa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_choroid.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_choroid.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_choroid.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_choroid.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_ciliary_body.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_ciliary_body.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_ciliary_body.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_ciliary_body.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_conjunctiva.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_conjunctiva.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_conjunctiva.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_conjunctiva.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_epiglottis_anterior.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_epiglottis_anterior.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_epiglottis_anterior.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_epiglottis_anterior.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_eye_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_eye_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_eye_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_eye_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_floor_mouth.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_floor_mouth.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_floor_mouth.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_floor_mouth.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_lower.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_lower.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_lower.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_lower.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_upper.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_upper.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_upper.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_upper.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_hypopharynx.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_hypopharynx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_hypopharynx.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_hypopharynx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_iris.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_iris.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_iris.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_iris.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_glottic.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_glottic.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_glottic.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_glottic.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_subglottic.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_subglottic.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_subglottic.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_subglottic.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_supraglottic.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_supraglottic.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_supraglottic.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_supraglottic.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_lower.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_lower.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_lower.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_lower.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_upper.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_upper.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_upper.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_upper.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_mouth_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_mouth_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_mouth_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_mouth_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_nasal_cavity.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_nasal_cavity.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_nasal_cavity.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_nasal_cavity.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_nasopharynx.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_nasopharynx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_nasopharynx.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_nasopharynx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_oropharynx.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_oropharynx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_oropharynx.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_oropharynx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_hard.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_hard.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_hard.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_hard.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_soft.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_soft.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_soft.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_soft.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_pharynx_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_pharynx_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_pharynx_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_pharynx_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_ethmoid.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_ethmoid.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_ethmoid.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_ethmoid.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_maxillary.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_maxillary.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_maxillary.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_maxillary.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_skin.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_skin.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_skin.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_skin.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_anterior.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_anterior.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_anterior.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_anterior.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_base.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_base.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_base.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_base.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/merkel_cell_penis.json b/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_penis.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/merkel_cell_penis.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_penis.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/merkel_cell_scrotum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_scrotum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/merkel_cell_scrotum.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_scrotum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/merkel_cell_skin.json b/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_skin.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/merkel_cell_skin.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_skin.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/merkel_cell_vulva.json b/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_vulva.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/merkel_cell_vulva.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_vulva.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/middle_ear.json b/src/test/resources/algorithms/cs/02.05.50/schemas/middle_ear.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/middle_ear.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/middle_ear.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/mouth_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/mouth_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/mouth_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/mouth_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/mycosis_fungoides.json b/src/test/resources/algorithms/cs/02.05.50/schemas/mycosis_fungoides.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/mycosis_fungoides.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/mycosis_fungoides.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/myeloma_plasma_cell_disorder.json b/src/test/resources/algorithms/cs/02.05.50/schemas/myeloma_plasma_cell_disorder.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/myeloma_plasma_cell_disorder.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/myeloma_plasma_cell_disorder.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/nasal_cavity.json b/src/test/resources/algorithms/cs/02.05.50/schemas/nasal_cavity.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/nasal_cavity.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/nasal_cavity.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/nasopharynx.json b/src/test/resources/algorithms/cs/02.05.50/schemas/nasopharynx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/nasopharynx.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/nasopharynx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/net_ampulla.json b/src/test/resources/algorithms/cs/02.05.50/schemas/net_ampulla.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/net_ampulla.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/net_ampulla.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/net_colon.json b/src/test/resources/algorithms/cs/02.05.50/schemas/net_colon.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/net_colon.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/net_colon.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/net_rectum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/net_rectum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/net_rectum.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/net_rectum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/net_small_intestine.json b/src/test/resources/algorithms/cs/02.05.50/schemas/net_small_intestine.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/net_small_intestine.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/net_small_intestine.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/net_stomach.json b/src/test/resources/algorithms/cs/02.05.50/schemas/net_stomach.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/net_stomach.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/net_stomach.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/orbit.json b/src/test/resources/algorithms/cs/02.05.50/schemas/orbit.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/orbit.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/orbit.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/oropharynx.json b/src/test/resources/algorithms/cs/02.05.50/schemas/oropharynx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/oropharynx.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/oropharynx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/ovary.json b/src/test/resources/algorithms/cs/02.05.50/schemas/ovary.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/ovary.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/ovary.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/palate_hard.json b/src/test/resources/algorithms/cs/02.05.50/schemas/palate_hard.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/palate_hard.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/palate_hard.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/palate_soft.json b/src/test/resources/algorithms/cs/02.05.50/schemas/palate_soft.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/palate_soft.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/palate_soft.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/pancreas_body_tail.json b/src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_body_tail.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/pancreas_body_tail.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_body_tail.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/pancreas_head.json b/src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_head.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/pancreas_head.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_head.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/pancreas_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/pancreas_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/parotid_gland.json b/src/test/resources/algorithms/cs/02.05.50/schemas/parotid_gland.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/parotid_gland.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/parotid_gland.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/penis.json b/src/test/resources/algorithms/cs/02.05.50/schemas/penis.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/penis.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/penis.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/peritoneum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/peritoneum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/peritoneum.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/peritoneum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/peritoneum_female_gen.json b/src/test/resources/algorithms/cs/02.05.50/schemas/peritoneum_female_gen.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/peritoneum_female_gen.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/peritoneum_female_gen.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/pharyngeal_tonsil.json b/src/test/resources/algorithms/cs/02.05.50/schemas/pharyngeal_tonsil.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/pharyngeal_tonsil.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/pharyngeal_tonsil.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/pharynx_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/pharynx_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/pharynx_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/pharynx_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/placenta.json b/src/test/resources/algorithms/cs/02.05.50/schemas/placenta.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/placenta.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/placenta.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/pleura.json b/src/test/resources/algorithms/cs/02.05.50/schemas/pleura.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/pleura.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/pleura.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/prostate.json b/src/test/resources/algorithms/cs/02.05.50/schemas/prostate.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/prostate.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/prostate.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/rectum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/rectum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/rectum.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/rectum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/respiratory_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/respiratory_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/respiratory_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/respiratory_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/retinoblastoma.json b/src/test/resources/algorithms/cs/02.05.50/schemas/retinoblastoma.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/retinoblastoma.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/retinoblastoma.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/retroperitoneum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/retroperitoneum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/retroperitoneum.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/retroperitoneum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/salivary_gland_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/salivary_gland_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/salivary_gland_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/salivary_gland_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/scrotum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/scrotum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/scrotum.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/scrotum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/sinus_ethmoid.json b/src/test/resources/algorithms/cs/02.05.50/schemas/sinus_ethmoid.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/sinus_ethmoid.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/sinus_ethmoid.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/sinus_maxillary.json b/src/test/resources/algorithms/cs/02.05.50/schemas/sinus_maxillary.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/sinus_maxillary.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/sinus_maxillary.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/sinus_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/sinus_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/sinus_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/sinus_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/skin.json b/src/test/resources/algorithms/cs/02.05.50/schemas/skin.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/skin.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/skin.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/skin_eyelid.json b/src/test/resources/algorithms/cs/02.05.50/schemas/skin_eyelid.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/skin_eyelid.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/skin_eyelid.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/small_intestine.json b/src/test/resources/algorithms/cs/02.05.50/schemas/small_intestine.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/small_intestine.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/small_intestine.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/soft_tissue.json b/src/test/resources/algorithms/cs/02.05.50/schemas/soft_tissue.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/soft_tissue.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/soft_tissue.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/stomach.json b/src/test/resources/algorithms/cs/02.05.50/schemas/stomach.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/stomach.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/stomach.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/submandibular_gland.json b/src/test/resources/algorithms/cs/02.05.50/schemas/submandibular_gland.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/submandibular_gland.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/submandibular_gland.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/testis.json b/src/test/resources/algorithms/cs/02.05.50/schemas/testis.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/testis.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/testis.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/thyroid.json b/src/test/resources/algorithms/cs/02.05.50/schemas/thyroid.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/thyroid.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/thyroid.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/tongue_anterior.json b/src/test/resources/algorithms/cs/02.05.50/schemas/tongue_anterior.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/tongue_anterior.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/tongue_anterior.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/tongue_base.json b/src/test/resources/algorithms/cs/02.05.50/schemas/tongue_base.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/tongue_base.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/tongue_base.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/trachea.json b/src/test/resources/algorithms/cs/02.05.50/schemas/trachea.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/trachea.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/trachea.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/urethra.json b/src/test/resources/algorithms/cs/02.05.50/schemas/urethra.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/urethra.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/urethra.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/urinary_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/urinary_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/urinary_other.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/urinary_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/vagina.json b/src/test/resources/algorithms/cs/02.05.50/schemas/vagina.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/vagina.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/vagina.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/vulva.json b/src/test/resources/algorithms/cs/02.05.50/schemas/vulva.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/schemas/vulva.json rename to src/test/resources/algorithms/cs/02.05.50/schemas/vulva.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pad.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pad.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pad.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pad.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pae.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pae.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pae.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pae.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pag.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pag.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pag.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pag.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pak.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pak.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pak.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pak.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pam.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pam.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pam.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pam.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pan.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pan.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pan.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pan.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_m_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_m_codes.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_m_codes.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_m_codes.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_n_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_n_codes.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_n_codes.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_n_codes.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_codes.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_codes.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_codes.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_not_ewing_qai.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_not_ewing_qai.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_not_ewing_qai.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_not_ewing_qai.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qad.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qad.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qad.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qad.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qag.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qag.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qag.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qag.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qah.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qah.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qah.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qah.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj_grade.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj_grade.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj_grade.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj_grade.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qak.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qak.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qak.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qak.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qal.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qal.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qal.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qal.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qam.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qam.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qam.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qam.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qao.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qao.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qao.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qao.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qar.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qar.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qar.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qar.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qas.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qas.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qas.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qas.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qat.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qat.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qat.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qat.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qau.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qau.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qau.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qau.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qav.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qav.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qav.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qav.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qax.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qax.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qax.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qax.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdy.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qea.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qea.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qea.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qea.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qna.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qna.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qna.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qna.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qnb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qnb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qnb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qnb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpo.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qps.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qps.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qps.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qps.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_t_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_t_codes.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_t_codes.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_t_codes.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_year_validation.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_year_validation.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc6_year_validation.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_year_validation.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tae.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tae.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tae.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tae.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tph.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tph.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tph.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tph.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpo.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tps.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tps.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tps.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tps.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpy.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tql.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tql.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tql.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tql.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_m_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_m_codes.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_m_codes.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_m_codes.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_n_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_n_codes.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_n_codes.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_n_codes.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_codes.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_codes.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_codes.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_not_ewing_ube.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_not_ewing_ube.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_not_ewing_ube.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_not_ewing_ube.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uad.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uad.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uad.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uad.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uae.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uae.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uae.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uae.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uag.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uag.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uag.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uag.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uak.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uak.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uak.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uak.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ual.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ual.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ual.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ual.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uam.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uam.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uam.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uam.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uao.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uao.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uao.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uao.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uap.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uap.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uap.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uap.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uar.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uar.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uar.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uar.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uau.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uau.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uau.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uau.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uav.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uav.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uav.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uav.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uax.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uax.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uax.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uax.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uay.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uay.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uay.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uay.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uba.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uba.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uba.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uba.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubs.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubs.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubs.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubs.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uby.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uby.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uby.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uby.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_una.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_una.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_una.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_una.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_unb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_unb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_unb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_unb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ups.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ups.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ups.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ups.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upy.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_t_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_t_codes.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_t_codes.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_t_codes.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_year_validation.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_year_validation.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc7_year_validation.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_year_validation.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc_descriptor_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_descriptor_codes.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc_descriptor_codes.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc_descriptor_codes.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc_mdescriptor_cleanup.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_mdescriptor_cleanup.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc_mdescriptor_cleanup.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc_mdescriptor_cleanup.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc_ndescriptor_cleanup.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_ndescriptor_cleanup.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc_ndescriptor_cleanup.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc_ndescriptor_cleanup.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc_tdescriptor_cleanup.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_tdescriptor_cleanup.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc_tdescriptor_cleanup.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc_tdescriptor_cleanup.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc_tnm6_stage_csv1_xie.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_tnm6_stage_csv1_xie.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcc_tnm6_stage_csv1_xie.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcc_tnm6_stage_csv1_xie.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_csv1_xpz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_csv1_xpz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_csv1_xpz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_csv1_xpz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_anaplastic_xcg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_anaplastic_xcg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_anaplastic_xcg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_anaplastic_xcg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_medullary_xcf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_medullary_xcf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_medullary_xcf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_medullary_xcf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_papillaryand_follicular_age45and_older_xco.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_papillaryand_follicular_age45and_older_xco.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_papillaryand_follicular_age45and_older_xco.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_papillaryand_follicular_age45and_older_xco.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm6and7_stage_ewing_xho.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6and7_stage_ewing_xho.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm6and7_stage_ewing_xho.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6and7_stage_ewing_xho.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xhz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xhz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xhz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xhz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xib.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xib.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xib.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xib.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_giststomach_xit.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_giststomach_xit.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_giststomach_xit.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_giststomach_xit.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xhy.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xhy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xhy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xhy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xia.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xia.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xia.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xia.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_anaplastic_xdz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_anaplastic_xdz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_anaplastic_xdz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_anaplastic_xdz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_medullary_xdy.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_medullary_xdy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_medullary_xdy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_medullary_xdy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older_xdx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older_xdx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older_xdx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older_xdx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/behavior.json b/src/test/resources/algorithms/cs/02.05.50/tables/behavior.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/behavior.json rename to src/test/resources/algorithms/cs/02.05.50/tables/behavior.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_quadrants_ajcc7_xca.json b/src/test/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_quadrants_ajcc7_xca.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_quadrants_ajcc7_xca.json rename to src/test/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_quadrants_ajcc7_xca.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_thickness_ajcc6_xbw.json b/src/test/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_thickness_ajcc6_xbw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_thickness_ajcc6_xbw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_thickness_ajcc6_xbw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_greater_than2009_xiy.json b/src/test/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_greater_than2009_xiy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_greater_than2009_xiy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_greater_than2009_xiy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_less_than2010_xiz.json b/src/test/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_less_than2010_xiz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_less_than2010_xiz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_less_than2010_xiz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/cs_input_version_original.json b/src/test/resources/algorithms/cs/02.05.50/tables/cs_input_version_original.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/cs_input_version_original.json rename to src/test/resources/algorithms/cs/02.05.50/tables/cs_input_version_original.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/cs_year_validation.json b/src/test/resources/algorithms/cs/02.05.50/tables/cs_year_validation.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/cs_year_validation.json rename to src/test/resources/algorithms/cs/02.05.50/tables/cs_year_validation.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/csextension_size_tablefor_ajcc6th_xba.json b/src/test/resources/algorithms/cs/02.05.50/tables/csextension_size_tablefor_ajcc6th_xba.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/csextension_size_tablefor_ajcc6th_xba.json rename to src/test/resources/algorithms/cs/02.05.50/tables/csextension_size_tablefor_ajcc6th_xba.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns29.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns29.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns29.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns29.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns4.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns4.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns4.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns4.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_meval_ns30.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_meval_ns30.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_meval_ns30.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_meval_ns30.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns1.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns1.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns1.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns1.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns10.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns10.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns10.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns10.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns13.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns13.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns13.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns13.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns22.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns22.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns22.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns22.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns23.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns23.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns23.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns23.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns24.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns24.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns24.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns24.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns26.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns26.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns26.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns26.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns3.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns3.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns3.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns3.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns41.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns41.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns41.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns41.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns8.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns8.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns8.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns8.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns9.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns9.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns9.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns9.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_neval_ns31.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_neval_ns31.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_neval_ns31.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_neval_ns31.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns15.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns15.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns15.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns15.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns37.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns37.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns37.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns37.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns16.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns16.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns16.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns16.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns33.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns33.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns33.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns33.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns34.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns34.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns34.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns34.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns39.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns39.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns39.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns39.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns6.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns6.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns6.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns6.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns7.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns7.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns7.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns7.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns44.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns44.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns44.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns44.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns47.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns47.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns47.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns47.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns11.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns11.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns11.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns11.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns12.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns12.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns12.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns12.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns14.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns14.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns14.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns14.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns18.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns18.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns18.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns18.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns19.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns19.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns19.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns19.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns2.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns2.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns2.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns2.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns20.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns20.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns20.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns20.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns21.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns21.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns21.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns21.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns25.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns25.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns25.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns25.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns27.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns27.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns27.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns27.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns40.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns40.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns40.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns40.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns5.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns5.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns5.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns5.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns17.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns17.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns17.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns17.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns32.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns32.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns32.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns32.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns38.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns38.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns38.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns38.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns43.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns43.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns43.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns43.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_m_ns48.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_m_ns48.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_m_ns48.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_m_ns48.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_n_ns35.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_n_ns35.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_n_ns35.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_n_ns35.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_s_ns36.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_s_ns36.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_s_ns36.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_s_ns36.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss00t_ns46.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss00t_ns46.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss00t_ns46.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss00t_ns46.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss77t_ns45.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss77t_ns45.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss77t_ns45.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss77t_ns45.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_t_ns28.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_t_ns28.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_t_ns28.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_t_ns28.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc6_ns50.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc6_ns50.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc6_ns50.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc6_ns50.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc7_ns42.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc7_ns42.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc7_ns42.json rename to src/test/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc7_ns42.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/eval_extension_t3_ajcc7_xgh.json b/src/test/resources/algorithms/cs/02.05.50/tables/eval_extension_t3_ajcc7_xgh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/eval_extension_t3_ajcc7_xgh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/eval_extension_t3_ajcc7_xgh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_baa.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_baa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_baa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_baa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bab.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bac.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bad.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bad.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bad.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bad.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bae.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bae.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bae.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bae.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_baf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_baf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_baf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_baf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bag.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bag.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bag.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bag.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bah.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bah.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bah.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bah.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bai.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bai.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bai.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bai.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_baj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_baj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_baj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_baj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bak.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bak.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bak.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bak.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bal.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bal.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bal.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bal.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bam.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bam.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bam.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bam.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ban.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ban.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ban.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_ban.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bao.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bao.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bao.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bao.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bap.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bap.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bap.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bap.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_baq.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_baq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_baq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_baq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bar.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bar.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bar.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bar.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bas.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bas.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bas.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bas.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bat.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bat.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bat.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bat.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bau.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bau.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bau.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bau.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bav.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bav.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bav.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bav.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_baw.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_baw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_baw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_baw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bax.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bax.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bax.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bax.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bay.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bay.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bay.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bay.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_baz.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_baz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_baz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_baz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bba.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bba.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bba.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bba.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbd.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbe.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbg.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbh.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbi.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbk.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbo.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbp.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbq.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbr.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbs.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbs.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbs.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbs.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbt.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbu.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbx.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bby.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bby.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bby.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bby.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbz.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bbz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bbz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bca.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bca.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bca.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bca.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcd.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bce.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bce.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bce.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bce.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcg.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bch.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bch.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bch.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bch.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bci.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bci.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bci.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bci.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bco.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bco.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bco.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bco.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcp.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcq.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcr.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcs.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcs.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcs.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcs.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bct.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bct.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bct.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bct.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcu.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcv.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcw.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcx.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcy.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bcy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bcy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bda.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bda.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bda.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bda.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdd.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bde.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bde.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bde.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bde.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdg.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdh.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdi.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdk.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdo.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdp.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdr.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bds.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bds.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bds.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bds.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdt.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdu.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdv.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdw.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdx.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdy.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bdy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bdy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_beb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_beb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_beb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_beb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bed.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bed.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bed.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bed.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bee.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bee.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bee.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bee.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bef.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bef.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bef.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bef.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_beg.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_beg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_beg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_beg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_beh.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_beh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_beh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_beh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_behavior_xci.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_behavior_xci.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_behavior_xci.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_behavior_xci.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bei.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bei.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bei.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bei.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bej.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bej.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bej.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bej.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bek.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bek.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bek.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bek.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bel.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bel.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bel.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bel.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bem.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bem.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bem.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bem.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ben.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ben.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ben.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_ben.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_beo.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_beo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_beo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_beo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bep.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bep.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bep.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bep.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_beq.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_beq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_beq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_beq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ber.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ber.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ber.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_ber.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bes.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bes.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bes.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bes.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bet.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bet.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bet.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bet.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bev.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bev.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bev.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bev.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bew.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bew.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bew.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bew.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bex.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bex.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bex.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bex.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bey.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bey.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bey.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bey.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bez.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bez.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bez.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bez.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfa.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfd.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfe.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bff.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bff.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bff.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bff.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfg.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfh.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfi.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfk.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfo.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfp.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfq.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfr.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfs.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfs.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfs.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfs.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bft.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bft.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bft.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bft.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfu.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfv.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfw.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfx.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfy.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfz.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bfz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bfz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bga.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bga.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bga.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bga.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bgb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bgb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bgb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bgb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bgc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bgc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bgc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bgc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bna.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bna.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bna.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bna.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bpb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_bpb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_bpb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_btb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_btb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_btb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_btb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xkn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xkn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xkn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xkn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xko.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xko.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xko.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xko.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkq.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkp.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xqa.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xqa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xqa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xqa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cab.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cac.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cab.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cac.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cae.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cae.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cae.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cae.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_caf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_caf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_caf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_caf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cag.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cag.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cag.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cag.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_caj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_caj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_caj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_caj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cak.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cak.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cak.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cak.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cal.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cal.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cal.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cal.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cam.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cam.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cam.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cam.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cna.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cna.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cna.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cna.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cpa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cpb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cpc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_eval_cpc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_grade_lvi_xdm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_grade_lvi_xdm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_grade_lvi_xdm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_grade_lvi_xdm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_mets_ajcc6_xeh.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ajcc6_xeh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_mets_ajcc6_xeh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ajcc6_xeh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_t.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_t.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_t.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv1_xbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv1_xbv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv1_xbv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv1_xbv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv2_xis.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv2_xis.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv2_xis.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv2_xis.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc7_xgs.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc7_xgs.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc7_xgs.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc7_xgs.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_periductal_invasion_ajcc7_xks.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_periductal_invasion_ajcc7_xks.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_periductal_invasion_ajcc7_xks.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_periductal_invasion_ajcc7_xks.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_table_csv1_xjb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_table_csv1_xjb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_table_csv1_xjb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_table_csv1_xjb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xai.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xai.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xai.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xai.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xak.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xak.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xak.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xak.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xat.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xat.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xat.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xat.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xav.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xav.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xav.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xav.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xaz.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xaz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xaz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xaz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xbc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xbc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xbc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xbc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xda.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xda.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xda.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xda.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xdk.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xdk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xdk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xdk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xea.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xea.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xea.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xea.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xfw.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xfw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xfw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xfw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xir.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xir.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xir.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xir.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xji.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xji.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xji.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xji.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xjj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xjj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xjj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xjj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xbl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xbl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xbl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xbl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdw.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xec.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xec.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xec.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xec.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xed.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xed.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xed.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xed.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xef.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xef.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xef.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xef.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xej.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xej.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xej.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xej.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xet.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xet.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xet.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xet.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeu.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xev.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xev.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xev.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xev.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xey.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xey.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xey.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xey.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfd.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfe.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xff.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xff.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xff.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xff.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfp.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xgi.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xgi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xgi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xgi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xik.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xik.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xik.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xik.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xim.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xim.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xim.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xim.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xio.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xio.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xio.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xio.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkg.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkh.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkr.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_category_ajcc7_xpm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_category_ajcc7_xpm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_category_ajcc7_xpm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_category_ajcc7_xpm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfa.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfy.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_pair_ajcc6_xpn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_pair_ajcc6_xpn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_pair_ajcc6_xpn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_pair_ajcc6_xpn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc6_table_csv2_xij.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc6_table_csv2_xij.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc6_table_csv2_xij.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc6_table_csv2_xij.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc7_xic.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc7_xic.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc7_xic.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc7_xic.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc6_table_csv2_xgl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc6_table_csv2_xgl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc6_table_csv2_xgl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc6_table_csv2_xgl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc7_xgj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc7_xgj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc7_xgj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc7_xgj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc6_table_csv2_xgm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc6_table_csv2_xgm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc6_table_csv2_xgm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc6_table_csv2_xgm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc7_xgk.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc7_xgk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc7_xgk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc7_xgk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ssf1_ajcc7_xgb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ssf1_ajcc7_xgb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_ssf1_ajcc7_xgb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ssf1_ajcc7_xgb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc6_xal.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc6_xal.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc6_xal.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc6_xal.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc7_xek.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc7_xek.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc7_xek.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc7_xek.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv1_xas.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv1_xas.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv1_xas.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv1_xas.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv2_xez.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv2_xez.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv2_xez.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv2_xez.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xaa.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xaa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xaa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xaa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xab.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xac.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xad.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xad.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xad.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xad.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xae.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xae.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xae.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xae.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xaf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xaf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xaf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xaf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xag.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xag.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xag.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xag.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xar.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xar.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xar.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xar.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xbq.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xbq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xbq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xbq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xdb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xdb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xdb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xdb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xde.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xde.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xde.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xde.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xfn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xfn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xfn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xfn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xfu.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xfu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xfu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xfu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xgn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xgn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xgn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xgn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xjg.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xjg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xjg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xjg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xjh.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xjh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xjh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xjh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xpa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xpb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xpe.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xpe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xpf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xpf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xqj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xqj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_size_xqj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xqj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ssf1_ajcc7_t_xjy.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_ajcc7_t_xjy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ssf1_ajcc7_t_xjy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_ajcc7_t_xjy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xke.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xke.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xke.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xke.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xkf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xkf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xkf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xkf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkd.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_sstg_bbo.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_sstg_bbo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_sstg_bbo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_sstg_bbo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_sstg_bcu.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_sstg_bcu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_sstg_bcu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_sstg_bcu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_t4_ssf1_ajcc7_xgw.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_t4_ssf1_ajcc7_xgw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_t4_ssf1_ajcc7_xgw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_t4_ssf1_ajcc7_xgw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc6_xkj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc6_xkj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc6_xkj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc6_xkj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc7_xkk.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc7_xkk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc7_xkk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc7_xkk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ulceration_t1_ajcc6_xbo.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ulceration_t1_ajcc6_xbo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/extension_ulceration_t1_ajcc6_xbo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/extension_ulceration_t1_ajcc6_xbo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/grade.json b/src/test/resources/algorithms/cs/02.05.50/tables/grade.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/grade.json rename to src/test/resources/algorithms/cs/02.05.50/tables/grade.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/grade_category_calculation_xei.json b/src/test/resources/algorithms/cs/02.05.50/tables/grade_category_calculation_xei.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/grade_category_calculation_xei.json rename to src/test/resources/algorithms/cs/02.05.50/tables/grade_category_calculation_xei.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce.json b/src/test/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce.json rename to src/test/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce_6.json b/src/test/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce_6.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce_6.json rename to src/test/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce_6.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_6.json b/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_6.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_6.json rename to src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_6.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_7.json b/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_7.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_7.json rename to src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_7.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhw.json b/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhx.json b/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histology.json b/src/test/resources/algorithms/cs/02.05.50/tables/histology.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histology.json rename to src/test/resources/algorithms/cs/02.05.50/tables/histology.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ajcc6_xkw.json b/src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ajcc6_xkw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ajcc6_xkw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ajcc6_xkw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ssf1_ajcc7_xkv.json b/src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ssf1_ajcc7_xkv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ssf1_ajcc7_xkv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ssf1_ajcc7_xkv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_summary_stage_xgx.json b/src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_summary_stage_xgx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_summary_stage_xgx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_summary_stage_xgx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ids.txt b/src/test/resources/algorithms/cs/02.05.50/tables/ids.txt similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ids.txt rename to src/test/resources/algorithms/cs/02.05.50/tables/ids.txt diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ihcmol_xcc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ihcmol_xcc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ihcmol_xcc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ihcmol_xcc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/invalid_lung_m_values_ns49.json b/src/test/resources/algorithms/cs/02.05.50/tables/invalid_lung_m_values_ns49.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/invalid_lung_m_values_ns49.json rename to src/test/resources/algorithms/cs/02.05.50/tables/invalid_lung_m_values_ns49.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lvi.json b/src/test/resources/algorithms/cs/02.05.50/tables/lvi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lvi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lvi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_node_extranodal_extension_xdn.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_node_extranodal_extension_xdn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_node_extranodal_extension_xdn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_node_extranodal_extension_xdn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc6_xlk.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc6_xlk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc6_xlk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc6_xlk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc7_xlh.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc7_xlh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc7_xlh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc7_xlh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlb.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xld.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xld.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xld.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xld.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xle.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xle.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xle.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xle.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlg.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc6_xlm.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc6_xlm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc6_xlm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc6_xlm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlj.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xln.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xln.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xln.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xln.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlo.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlp.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlq.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc6_xll.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc6_xll.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc6_xll.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc6_xll.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc7_xli.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc7_xli.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc7_xli.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc7_xli.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdf.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdh.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xee.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xee.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xee.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xee.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfq.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfs.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfs.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfs.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfs.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xqh.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xqh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xqh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xqh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaj.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xam.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xam.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xam.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xam.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xao.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xao.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xao.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xao.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaw.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xax.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xax.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xax.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xax.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xcd.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xcd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xcd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xcd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xch.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xch.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xch.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xch.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_xgt.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_xgt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_xgt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_xgt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation0or5_ajcc6_xbg.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation0or5_ajcc6_xbg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation0or5_ajcc6_xbg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation0or5_ajcc6_xbg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation1or9_ajcc6_xbf.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation1or9_ajcc6_xbf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation1or9_ajcc6_xbf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation1or9_ajcc6_xbf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation6th_xqf.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation6th_xqf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation6th_xqf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation6th_xqf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbe.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbi.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbj.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbk.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpo.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpq.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_xcx.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_xcx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_xcx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_xcx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xew.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xew.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xew.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xew.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_n.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_n.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_n.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_n.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfm.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfo.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_n.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_n.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_n.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_n.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xhv.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xhv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xhv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xhv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjc.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjd.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xje.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xje.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xje.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xje.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjf.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xki.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xki.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xki.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xki.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xlf.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xlf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xlf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xlf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxtable_ajcc6_xfv.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxtable_ajcc6_xfv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxtable_ajcc6_xfv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxtable_ajcc6_xfv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_eval_xgu.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_eval_xgu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_eval_xgu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_eval_xgu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xqg.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xqg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xqg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xqg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation7th_table_also_used_when_csreg_nodes_evalis_not_coded_xft.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation7th_table_also_used_when_csreg_nodes_evalis_not_coded_xft.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation7th_table_also_used_when_csreg_nodes_evalis_not_coded_xft.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation7th_table_also_used_when_csreg_nodes_evalis_not_coded_xft.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xdg.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xdg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xdg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xdg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xfr.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xfr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xfr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xfr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_csreg_nodes_evalis_not_coded_xdi.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_csreg_nodes_evalis_not_coded_xdi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_csreg_nodes_evalis_not_coded_xdi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_csreg_nodes_evalis_not_coded_xdi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_xcw.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_xcw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_xcw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_xcw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_axillary_node_xcy.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_axillary_node_xcy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_axillary_node_xcy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_axillary_node_xcy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_eval_blank_xgv.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_eval_blank_xgv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_eval_blank_xgv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_eval_blank_xgv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc6_table_csv1_xex.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc6_table_csv1_xex.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc6_table_csv1_xex.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc6_table_csv1_xex.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfb.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfz.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv1_xix.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv1_xix.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv1_xix.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv1_xix.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv2_xiw.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv2_xiw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv2_xiw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv2_xiw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_n.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_n.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_n.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_n.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_n.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_n.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_n.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_n.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_n.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_n.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_n.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_n.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_n.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_n.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_n.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_n.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_table_csv2_xcp.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_table_csv2_xcp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_table_csv2_xcp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_table_csv2_xcp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xja.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xja.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xja.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xja.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpg.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_ssf11_ajcc6_xqd.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_ssf11_ajcc6_xqd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodes_ssf11_ajcc6_xqd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_ssf11_ajcc6_xqd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodesand_ssf11_ajcc6_xiq.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodesand_ssf11_ajcc6_xiq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/lymph_nodesand_ssf11_ajcc6_xiq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodesand_ssf11_ajcc6_xiq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_iaa.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iaa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_iaa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iaa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_iac.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_iac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_iad.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iad.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_iad.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iad.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_iae.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iae.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_iae.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iae.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_iaf.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iaf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_iaf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iaf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_ina.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ina.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_ina.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ina.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_ipa.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_ipa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_ipb.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_ipb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_ipc.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_eval_ipc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hab.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hac.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_had.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_had.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_had.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_had.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hae.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hae.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hae.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hae.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_haf.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_haf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_haf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_haf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hag.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hag.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hag.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hag.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hah.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hah.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hah.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hah.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hai.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hai.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hai.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hai.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_haj.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_haj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_haj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_haj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hak.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hak.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hak.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hak.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hal.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hal.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hal.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hal.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_ham.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_ham.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_ham.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_ham.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_han.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_han.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_han.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_han.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hao.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hao.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hao.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hao.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hap.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hap.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hap.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hap.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_haq.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_haq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_haq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_haq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_har.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_har.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_har.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_har.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hat.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hat.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hat.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hat.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hau.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hau.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hau.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hau.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hav.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hav.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hav.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hav.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_haw.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_haw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_haw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_haw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_haz.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_haz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_haz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_haz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hba.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hba.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hba.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hba.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hbb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbc.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hbc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbe.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hbe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbf.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hbf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbg.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hbg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbj.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hbj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbn.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hbn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbo.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hbo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbu.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hbu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hbv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbx.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hbx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hby.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hby.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hby.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hby.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbz.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hbz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hbz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hca.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hca.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hca.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hca.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcb.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcc.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcd.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hce.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hce.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hce.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hce.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcf.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcg.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hch.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hch.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hch.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hch.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hci.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hci.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hci.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hci.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcj.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hck.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hck.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hck.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hck.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcl.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcm.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcn.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hco.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hco.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hco.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hco.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcp.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcq.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcr.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcs.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcs.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcs.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcs.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcu.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcv.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcw.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcx.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcy.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hcy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hcy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hna.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hna.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hna.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hna.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hpa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hpa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hpb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hpb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hpc.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hpc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hpc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hpd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hpd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hpe.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hpe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hpe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hpf.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hpf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hpf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hpg.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hpg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hpg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hph.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hph.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mets_hph.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mets_hph.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/metsat_dxand_ldh_xbs.json b/src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxand_ldh_xbs.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/metsat_dxand_ldh_xbs.json rename to src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxand_ldh_xbs.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc6_xck.json b/src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc6_xck.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc6_xck.json rename to src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc6_xck.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc7_xfg.json b/src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc7_xfg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc7_xfg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc7_xfg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xjm.json b/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xjm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xjm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xjm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xpi.json b/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xpi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xpi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xpi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xqe.json b/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xqe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xqe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xqe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mitotic_rate_ulceration_t1_ajcc7_xgo.json b/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_ulceration_t1_ajcc7_xgo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/mitotic_rate_ulceration_t1_ajcc7_xgo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_ulceration_t1_ajcc7_xgo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_daa.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_daa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_daa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dab.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dad.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dad.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dad.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dad.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dah.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dah.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dah.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dah.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dai.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dai.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dai.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dai.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_daj.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_daj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_daj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dak.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dak.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dak.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dak.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dal.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dal.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dal.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dal.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dam.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dam.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dam.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dam.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dan.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dan.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dan.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dan.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dao.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dao.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dao.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dao.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dap.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dap.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dap.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dap.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_daq.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_daq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_daq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dar.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dar.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dar.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dar.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_das.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_das.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_das.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_das.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dat.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dat.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dat.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dat.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dau.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dau.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dau.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dau.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dav.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dav.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dav.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dav.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_daw.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_daw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_daw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dax.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dax.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dax.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dax.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_day.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_day.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_day.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_day.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_daz.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_daz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_daz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dba.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dba.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dba.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dba.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbc.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbd.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbe.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbf.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbg.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbh.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbi.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbj.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbk.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbl.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbm.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbn.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbo.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbq.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbr.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbs.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbs.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbs.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbs.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbt.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbu.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbw.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbx.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dbx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dby.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dby.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dby.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dby.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dca.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dca.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dca.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dca.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcc.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcd.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dce.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dce.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dce.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dce.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcf.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcj.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dck.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dck.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dck.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dck.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcl.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcm.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcn.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dco.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dco.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dco.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dco.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcp.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcq.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcr.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcs.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcs.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcs.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcs.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcu.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcv.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcw.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcx.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcy.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcz.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dcz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddd.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dde.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dde.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dde.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dde.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddf.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddg.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddh.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddi.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddj.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddk.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddm.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddn.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddo.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddp.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddq.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddr.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dds.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dds.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dds.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dds.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddt.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddw.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddy.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddz.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ddz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dea.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dea.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dea.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dea.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_deb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_deb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_deb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ded.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ded.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_ded.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_ded.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dee.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dee.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dee.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dee.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_def.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_def.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_def.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_def.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_deg.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_deg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_deg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dei.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dei.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dei.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dei.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dej.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dej.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dej.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dej.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dek.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dek.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dek.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dek.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_del.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_del.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_del.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_del.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dem.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dem.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dem.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dem.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_den.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_den.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_den.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_den.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_deo.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_deo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_deo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_deq.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_deq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_deq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_der.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_der.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_der.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_der.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_des.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_des.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_des.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_des.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_det.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_det.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_det.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_det.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_deu.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_deu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_deu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dev.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dev.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dev.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dev.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dew.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dew.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dew.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dew.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dex.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dex.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dex.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dex.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dey.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dey.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dey.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dey.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dez.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dez.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dez.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dez.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfa.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfc.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfd.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfe.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dff.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dff.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dff.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dff.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfg.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfh.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfi.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfj.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfk.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfl.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfm.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfn.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfo.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfp.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfq.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfr.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfs.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfs.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfs.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfs.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dft.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dft.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dft.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dft.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfu.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfv.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfw.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfx.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfy.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dfy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dna.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dna.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dna.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dna.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dpa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dpb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dpc.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dpc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_dpd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaa.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaf.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eag.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eag.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eag.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eag.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eah.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eah.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eah.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eah.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eai.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eai.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eai.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eai.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaj.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eak.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eak.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eak.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eak.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eba.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eba.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_eba.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eba.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_ena.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_ena.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_ena.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_ena.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_epa.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_epa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_epb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_epb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_epc.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_eval_epc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_exam_gac.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_exam_gac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_exam_gaf.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gaf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_exam_gaf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gaf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_exam_gna.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gna.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_exam_gna.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gna.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fab.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fae.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fae.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fae.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fae.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fah.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fah.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fah.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fah.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fna.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fna.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fna.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fna.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpc.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc6_xbt.json b/src/test/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc6_xbt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc6_xbt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc6_xbt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc7_xcb.json b/src/test/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc7_xcb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc7_xcb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc7_xcb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/pleural_effusion_extension_xbz.json b/src/test/resources/algorithms/cs/02.05.50/tables/pleural_effusion_extension_xbz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/pleural_effusion_extension_xbz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/pleural_effusion_extension_xbz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516_xgr.json b/src/test/resources/algorithms/cs/02.05.50/tables/postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516_xgr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516_xgr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516_xgr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/primary_site.json b/src/test/resources/algorithms/cs/02.05.50/tables/primary_site.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/primary_site.json rename to src/test/resources/algorithms/cs/02.05.50/tables/primary_site.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_adnexa_uterine_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_adnexa_uterine_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_adnexa_uterine_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_adnexa_uterine_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_adrenal_gland.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_adrenal_gland.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_adrenal_gland.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_adrenal_gland.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_ampulla_vater.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ampulla_vater.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_ampulla_vater.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ampulla_vater.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_anus.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_anus.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_anus.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_anus.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_appendix.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_appendix.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_appendix.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_appendix.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_distal.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_distal.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_distal.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_distal.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_intrahepat.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_intrahepat.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_intrahepat.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_intrahepat.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_perihilar.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_perihilar.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_perihilar.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_perihilar.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_biliary_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_biliary_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_biliary_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_biliary_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_bladder.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bladder.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_bladder.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bladder.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_bone.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bone.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_bone.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bone.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_brain.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_brain.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_brain.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_brain.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_breast.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_breast.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_breast.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_breast.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_buccal_mucosa.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_buccal_mucosa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_buccal_mucosa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_buccal_mucosa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_carcinoid_appendix.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_carcinoid_appendix.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_carcinoid_appendix.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_carcinoid_appendix.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_cervix.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cervix.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_cervix.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cervix.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_cns_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cns_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_cns_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cns_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_colon.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_colon.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_colon.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_colon.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_conjunctiva.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_conjunctiva.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_conjunctiva.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_conjunctiva.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_adenosarcoma.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_adenosarcoma.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_adenosarcoma.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_adenosarcoma.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_carcinoma.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_carcinoma.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_carcinoma.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_carcinoma.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_sarcoma.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_sarcoma.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_sarcoma.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_sarcoma.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_cystic_duct.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cystic_duct.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_cystic_duct.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cystic_duct.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_digestive_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_digestive_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_digestive_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_digestive_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_endocrine_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_endocrine_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_endocrine_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_endocrine_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_epiglottis_anterior.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_epiglottis_anterior.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_epiglottis_anterior.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_epiglottis_anterior.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus_gejunction.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus_gejunction.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus_gejunction.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus_gejunction.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_eye_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_eye_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_eye_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_eye_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_fallopian_tube.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_fallopian_tube.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_fallopian_tube.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_fallopian_tube.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_floor_mouth.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_floor_mouth.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_floor_mouth.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_floor_mouth.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gallbladder.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gallbladder.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gallbladder.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gallbladder.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_female_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_female_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_female_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_female_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_male_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_male_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_male_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_male_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_appendix.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_appendix.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_appendix.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_appendix.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_colon.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_colon.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_colon.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_colon.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_esophagus.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_esophagus.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_esophagus.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_esophagus.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_peritoneum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_peritoneum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_peritoneum.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_peritoneum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_rectum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_rectum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_rectum.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_rectum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_small_intestine.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_small_intestine.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_small_intestine.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_small_intestine.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_stomach.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_stomach.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_stomach.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_stomach.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_lower.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_lower.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_lower.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_lower.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_upper.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_upper.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_upper.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_upper.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_heart_mediastinum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_heart_mediastinum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_heart_mediastinum.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_heart_mediastinum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_heme_retic.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_heme_retic.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_heme_retic.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_heme_retic.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_hypopharynx.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_hypopharynx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_hypopharynx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_hypopharynx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_ill_defined_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ill_defined_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_ill_defined_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ill_defined_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_intracranial_gland.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_intracranial_gland.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_intracranial_gland.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_intracranial_gland.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_kaposi_sarcoma.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kaposi_sarcoma.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_kaposi_sarcoma.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kaposi_sarcoma.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_parenchyma.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_parenchyma.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_parenchyma.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_parenchyma.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_renal_pelvis.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_renal_pelvis.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_renal_pelvis.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_renal_pelvis.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_gland.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_gland.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_gland.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_gland.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_sac.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_sac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_sac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_sac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_glottic.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_glottic.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_glottic.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_glottic.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_subglottic.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_subglottic.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_subglottic.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_subglottic.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_supraglottic.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_supraglottic.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_supraglottic.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_supraglottic.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_lower.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_lower.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_lower.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_lower.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_upper.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_upper.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_upper.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_upper.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_liver.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_liver.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_liver.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_liver.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lung.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lung.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lung.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lung.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma_ocular_adnexa.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma_ocular_adnexa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma_ocular_adnexa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma_ocular_adnexa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_buccal_mucosa.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_buccal_mucosa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_buccal_mucosa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_buccal_mucosa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_choroid.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_choroid.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_choroid.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_choroid.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_ciliary_body.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_ciliary_body.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_ciliary_body.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_ciliary_body.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_conjunctiva.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_conjunctiva.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_conjunctiva.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_conjunctiva.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_epiglottis_anterior.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_epiglottis_anterior.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_epiglottis_anterior.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_epiglottis_anterior.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_eye_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_eye_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_eye_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_eye_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_floor_mouth.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_floor_mouth.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_floor_mouth.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_floor_mouth.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_lower.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_lower.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_lower.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_lower.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_upper.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_upper.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_upper.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_upper.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_hypopharynx.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_hypopharynx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_hypopharynx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_hypopharynx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_iris.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_iris.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_iris.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_iris.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_glottic.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_glottic.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_glottic.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_glottic.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_subglottic.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_subglottic.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_subglottic.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_subglottic.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_supraglottic.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_supraglottic.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_supraglottic.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_supraglottic.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_lower.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_lower.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_lower.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_lower.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_upper.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_upper.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_upper.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_upper.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_mouth_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_mouth_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_mouth_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_mouth_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasal_cavity.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasal_cavity.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasal_cavity.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasal_cavity.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasopharynx.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasopharynx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasopharynx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasopharynx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_oropharynx.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_oropharynx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_oropharynx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_oropharynx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_hard.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_hard.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_hard.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_hard.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_soft.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_soft.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_soft.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_soft.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_pharynx_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_pharynx_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_pharynx_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_pharynx_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_ethmoid.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_ethmoid.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_ethmoid.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_ethmoid.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_maxillary.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_maxillary.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_maxillary.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_maxillary.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_skin.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_skin.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_skin.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_skin.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_anterior.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_anterior.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_anterior.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_anterior.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_base.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_base.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_base.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_base.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_penis.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_penis.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_penis.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_penis.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_scrotum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_scrotum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_scrotum.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_scrotum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_skin.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_skin.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_skin.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_skin.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_vulva.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_vulva.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_vulva.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_vulva.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_middle_ear.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_middle_ear.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_middle_ear.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_middle_ear.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_mouth_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_mouth_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_mouth_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_mouth_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_mycosis_fungoides.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_mycosis_fungoides.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_mycosis_fungoides.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_mycosis_fungoides.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_myeloma_plasma_cell_disorder.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_myeloma_plasma_cell_disorder.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_myeloma_plasma_cell_disorder.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_myeloma_plasma_cell_disorder.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_nasal_cavity.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_nasal_cavity.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_nasal_cavity.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_nasal_cavity.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_nasopharynx.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_nasopharynx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_nasopharynx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_nasopharynx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_net_ampulla.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_ampulla.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_net_ampulla.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_ampulla.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_net_colon.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_colon.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_net_colon.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_colon.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_net_rectum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_rectum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_net_rectum.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_rectum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_net_small_intestine.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_small_intestine.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_net_small_intestine.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_small_intestine.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_net_stomach.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_stomach.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_net_stomach.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_stomach.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_orbit.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_orbit.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_orbit.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_orbit.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_oropharynx.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_oropharynx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_oropharynx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_oropharynx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_ovary.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ovary.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_ovary.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ovary.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_hard.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_hard.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_hard.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_hard.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_soft.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_soft.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_soft.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_soft.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_body_tail.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_body_tail.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_body_tail.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_body_tail.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_head.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_head.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_head.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_head.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_parotid_gland.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_parotid_gland.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_parotid_gland.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_parotid_gland.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_penis.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_penis.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_penis.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_penis.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum_female_gen.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum_female_gen.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum_female_gen.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum_female_gen.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_pharyngeal_tonsil.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pharyngeal_tonsil.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_pharyngeal_tonsil.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pharyngeal_tonsil.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_pharynx_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pharynx_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_pharynx_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pharynx_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_placenta.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_placenta.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_placenta.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_placenta.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_pleura.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pleura.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_pleura.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pleura.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_prostate.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_prostate.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_prostate.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_prostate.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_rectum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_rectum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_rectum.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_rectum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_respiratory_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_respiratory_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_respiratory_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_respiratory_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_retinoblastoma.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_retinoblastoma.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_retinoblastoma.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_retinoblastoma.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_retroperitoneum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_retroperitoneum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_retroperitoneum.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_retroperitoneum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_salivary_gland_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_salivary_gland_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_salivary_gland_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_salivary_gland_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_scrotum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_scrotum.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_scrotum.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_scrotum.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_ethmoid.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_ethmoid.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_ethmoid.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_ethmoid.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_maxillary.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_maxillary.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_maxillary.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_maxillary.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_skin.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_skin.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_skin.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_skin.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_skin_eyelid.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_skin_eyelid.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_skin_eyelid.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_skin_eyelid.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_small_intestine.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_small_intestine.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_small_intestine.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_small_intestine.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_soft_tissue.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_soft_tissue.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_soft_tissue.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_soft_tissue.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_stomach.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_stomach.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_stomach.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_stomach.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_submandibular_gland.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_submandibular_gland.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_submandibular_gland.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_submandibular_gland.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_testis.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_testis.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_testis.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_testis.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_thyroid.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_thyroid.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_thyroid.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_thyroid.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_anterior.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_anterior.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_anterior.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_anterior.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_base.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_base.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_base.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_base.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_trachea.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_trachea.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_trachea.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_trachea.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_urethra.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_urethra.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_urethra.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_urethra.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_urinary_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_urinary_other.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_urinary_other.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_urinary_other.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_vagina.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_vagina.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_vagina.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_vagina.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_vulva.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_vulva.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/schema_selection_vulva.json rename to src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_vulva.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/serum_tumor_marker_svalue_table_basedon_csssf123_xcj.json b/src/test/resources/algorithms/cs/02.05.50/tables/serum_tumor_marker_svalue_table_basedon_csssf123_xcj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/serum_tumor_marker_svalue_table_basedon_csssf123_xcj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/serum_tumor_marker_svalue_table_basedon_csssf123_xcj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aaa.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aaa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aaa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aaa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aab.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aac.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aad.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aad.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aad.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aad.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aae.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aae.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aae.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aae.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aaf.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aaf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aaf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aaf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aag.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aag.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aag.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aag.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aah.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aah.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aah.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aah.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aaj.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aaj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aaj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aaj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aak.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aak.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aak.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aak.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aal.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aal.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aal.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aal.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aam.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aam.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aam.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aam.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aan.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aan.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aan.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aan.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aao.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aao.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aao.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aao.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aap.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aap.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aap.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aap.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aaq.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aaq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aaq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aaq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aar.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aar.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aar.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aar.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aas.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aas.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aas.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aas.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aat.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aat.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aat.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aat.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aau.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aau.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aau.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aau.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aaw.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aaw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aaw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aaw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aax.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aax.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aax.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aax.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aay.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aay.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aay.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aay.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aaz.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aaz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aaz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aaz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aba.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aba.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aba.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aba.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_ana.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_ana.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_ana.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_ana.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apa.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_apa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apb.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_apb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apc.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_apc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apd.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_apd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apf.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_apf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apg.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_apg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aph.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aph.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aph.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aph.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_api.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_api.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_api.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_api.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apj.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_apj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apk.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_apk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apl.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_apl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apo.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_apo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_app.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_app.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_app.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_app.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apr.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_apr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aps.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aps.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_aps.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_aps.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apt.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_apt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apu.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_apu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_apu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_t.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_t.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_t.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_t.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_t.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_t.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_t.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_t.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_t.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_t.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_t.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_t.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_t.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_t.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_t.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_t.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_t.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_t.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_t.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_t.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_t.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_t.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_t.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_t.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_m.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_m.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_m.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_t.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_t.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_t.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xjz.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xjz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xjz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xjz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xka.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xka.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xka.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xka.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_metastasis_ajcc7_xpx.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_metastasis_ajcc7_xpx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_metastasis_ajcc7_xpx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_metastasis_ajcc7_xpx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_metsat_dxajcc7_m_xkb.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_metsat_dxajcc7_m_xkb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/size_metsat_dxajcc7_m_xkb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/size_metsat_dxajcc7_m_xkb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/special_calculation_invasive_unknown_pathologic_extension_xds_xdu_xdq.json b/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_invasive_unknown_pathologic_extension_xds_xdu_xdq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/special_calculation_invasive_unknown_pathologic_extension_xds_xdu_xdq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_invasive_unknown_pathologic_extension_xds_xdu_xdq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/special_calculation_non_invasive_pathologic_extension_xdr_xdt_xdq.json b/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_non_invasive_pathologic_extension_xdr_xdt_xdq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/special_calculation_non_invasive_pathologic_extension_xdr_xdt_xdq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_non_invasive_pathologic_extension_xdr_xdt_xdq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_ajcct_xiu.json b/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_ajcct_xiu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_ajcct_xiu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_ajcct_xiu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_seersummary_stage_xiv.json b/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_seersummary_stage_xiv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_seersummary_stage_xiv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_seersummary_stage_xiv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ss_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ss_codes.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ss_codes.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ss_codes.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sad.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sad.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sad.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sad.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sat.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sat.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sat.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sat.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_saz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_saz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_saz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_saz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_scm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_scm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_scm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_scm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sek.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sek.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sek.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sek.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_seq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_seq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_seq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_seq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sex.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sex.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sex.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sex.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sfi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sfi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sfi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sfi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sfj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sfj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sfj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sfj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sne.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sne.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sne.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sne.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_spd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_spd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_spi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_spi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_spz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_spz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sqj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sqj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sqj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sqj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sqs.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sqs.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_sqs.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sqs.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_srh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_srh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf10_srh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf10_srh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sae.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sae.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sae.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sae.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sba.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sba.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sba.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sba.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sbt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sbt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sbt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sbt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_scj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_scj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_scj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_scj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_see.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_see.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_see.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_see.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sel.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sel.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sel.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sel.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_ser.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_ser.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_ser.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_ser.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_snf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_snf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_snf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_snf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_spe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_spe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_spe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_spe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_spk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_spk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_spk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_spk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sps.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sps.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sps.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sps.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sqa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sqa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sqe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sqe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sqt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sqt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_srd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_srd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_srd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_srd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sri.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sri.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf11_sri.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sri.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_saf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_saf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_saf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf12_saf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sbb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sbb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sbb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sbu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sbu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sbu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sbu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sck.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sck.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sck.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sck.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sef.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sef.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sef.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sef.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_ses.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_ses.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_ses.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf12_ses.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sev.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sev.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sev.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sev.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sew.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sew.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sew.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sew.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sez.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sez.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sez.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sez.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sfd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sfd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sfd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sfd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sng.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sng.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sng.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sng.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_spl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_spl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_spl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf12_spl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sqb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sqb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sqb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sqb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sqf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sqf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_sqf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sqf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_srj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_srj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf12_srj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf12_srj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sag.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sag.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sag.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sag.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sbc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sbc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sbc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sbc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sca.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sca.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sca.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sca.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_scl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_scl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_scl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf13_scl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sdg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sdg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sdg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sdg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sdr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sdr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sdr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sdr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_seg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_seg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_seg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf13_seg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sfa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sfa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sfa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sfa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sfe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sfe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sfe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sfe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_snh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_snh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_snh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf13_snh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_spm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_spm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_spm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf13_spm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sqg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sqg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sqg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sqg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sqq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sqq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf13_sqq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sqq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sbd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sbd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sbd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sbd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sbf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sbf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sbf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sbf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_scn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_scn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_scn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf14_scn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sdh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sdh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sdh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sdh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sds.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sds.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sds.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sds.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sfb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sfb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sfb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sfb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sff.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sff.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sff.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sff.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sni.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sni.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sni.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sni.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_spn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_spn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_spn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf14_spn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sqh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sqh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sqh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sqh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sqr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sqr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf14_sqr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sqr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_sbe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sbe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_sbe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sbe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_sbg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sbg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_sbg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sbg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_sco.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sco.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_sco.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sco.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_sdm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sdm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_sdm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sdm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_sdt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sdt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_sdt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sdt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_sfc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sfc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_sfc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sfc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_sfg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sfg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_sfg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sfg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_snj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_snj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_snj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf15_snj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_spo.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_spo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf15_spo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf15_spo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_sah.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sah.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_sah.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sah.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_scp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_scp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_scp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf16_scp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_sdn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sdn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_sdn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sdn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_sfh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sfh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_sfh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sfh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_snk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_snk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_snk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf16_snk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_spt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_spt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_spt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf16_spt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_squ.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_squ.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_squ.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf16_squ.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_sqv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sqv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_sqv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sqv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_sqw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sqw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf16_sqw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sqw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf17_sai.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_sai.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf17_sai.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf17_sai.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf17_seu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_seu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf17_seu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf17_seu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf17_snl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_snl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf17_snl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf17_snl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf17_spu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_spu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf17_spu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf17_spu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf17_sqx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_sqx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf17_sqx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf17_sqx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf18_saj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf18_saj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf18_saj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf18_saj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf18_snm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf18_snm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf18_snm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf18_snm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf18_sqy.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf18_sqy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf18_sqy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf18_sqy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf19_sak.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf19_sak.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf19_sak.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf19_sak.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf19_snn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf19_snn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf19_snn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf19_snn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf19_sqz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf19_sqz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf19_sqz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf19_sqz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jae.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jae.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jae.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jae.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jag.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jag.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jag.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jag.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jaj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jaj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jal.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jal.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jal.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jal.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jam.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jam.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jam.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jam.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jap.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jap.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jap.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jap.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jaq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jaq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jat.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jat.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jat.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jat.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jav.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jav.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jav.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jav.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jaw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jaw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jax.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jax.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jax.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jax.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jba.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jba.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jba.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jba.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jby.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jby.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jby.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jby.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jbz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jca.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jca.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jca.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jca.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jcd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jcd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jce.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jce.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jce.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jce.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jcf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jcf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jcg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jcg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jch.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jch.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jch.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jch.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jna.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jna.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jna.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jna.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpo.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_jpw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_sbh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_sbh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_sbh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_sbh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_sstg_jat.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_sstg_jat.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf1_sstg_jat.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf1_sstg_jat.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf20_sal.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sal.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf20_sal.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sal.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf20_sno.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sno.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf20_sno.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sno.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf20_sra.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sra.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf20_sra.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sra.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf21_sam.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf21_sam.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf21_sam.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf21_sam.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf21_snp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf21_snp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf21_snp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf21_snp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf21_srb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf21_srb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf21_srb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf21_srb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf22_san.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf22_san.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf22_san.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf22_san.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf22_snq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf22_snq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf22_snq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf22_snq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf22_src.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf22_src.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf22_src.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf22_src.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf23_sao.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf23_sao.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf23_sao.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf23_sao.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf23_snr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf23_snr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf23_snr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf23_snr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf24_sap.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf24_sap.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf24_sap.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf24_sap.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf24_sns.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf24_sns.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf24_sns.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf24_sns.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf25_snt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_snt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf25_snt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf25_snt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf25_spj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf25_spj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf25_spp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf25_spp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf25_spv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf25_spv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf25_sqc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf25_sqc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf25_sqi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf25_sqi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf25_sqp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf25_sqp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kaa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kaa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kad.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kad.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kad.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kad.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kaj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kaj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kak.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kak.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kak.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kak.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kal.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kal.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kal.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kal.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kao.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kao.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kao.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kao.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kaq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kaq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kar.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kar.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kar.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kar.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kas.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kas.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kas.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kas.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kaw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kaw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kax.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kax.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kax.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kax.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kay.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kay.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kay.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kay.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kaz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kaz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kbx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kna.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kna.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kna.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kna.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kph.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kph.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kph.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kph.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpo.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_kpr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_sbi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_sbi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_sbi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_sbi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_sbz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_sbz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf2_sbz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf2_sbz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_laa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_laa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lad.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lad.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lad.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lad.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_laf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_laf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lah.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lah.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lah.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lah.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lai.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lai.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lai.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lai.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lao.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lao.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lao.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lao.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lap.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lap.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lap.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lap.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_laq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_laq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lat.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lat.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lat.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lat.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_law.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_law.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_law.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_law.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lay.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lay.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lay.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lay.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_laz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_laz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lba.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lba.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lba.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lba.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lbb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lbb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lbb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lbc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lbc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lbc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lbc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lna.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lna.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lna.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lna.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lph.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lph.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lph.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lph.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lps.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lps.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lps.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lps.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpt.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpt.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpt.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_lpu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_sstg_lab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_sstg_lab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf3_sstg_lab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf3_sstg_lab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_maa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_maa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_maf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_maf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_maj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_maj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mal.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mal.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mal.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mal.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mam.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mam.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mam.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mam.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mas.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mas.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mas.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mas.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mat.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mat.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mat.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mat.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mav.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mav.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mav.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mav.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_maz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_maz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mbd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mbd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mbg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mbg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mbh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mbh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mbi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mbi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mbj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbj.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mbj.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbj.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mna.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mna.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mna.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mna.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpr.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mpr.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpr.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mps.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mps.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf4_mps.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mps.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_naa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_naa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nae.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nae.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nae.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nae.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nah.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nah.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nah.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nah.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nai.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nai.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nai.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nai.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nak.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nak.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nak.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nak.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nap.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nap.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nap.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nap.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_naq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_naq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nar.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nar.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nar.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nar.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nas.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nas.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nas.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nas.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nav.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nav.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nav.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nav.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_naw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_naw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nba.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nba.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nba.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nba.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nbb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nbb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nbb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nna.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nna.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nna.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nna.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npe.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npe.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npe.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nph.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nph.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_nph.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nph.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf5_npm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oaa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oaa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oad.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oad.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oad.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oad.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oae.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oae.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oae.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oae.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oaf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oaf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oag.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oag.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oag.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oag.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oak.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oak.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oak.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oak.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oam.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oam.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oam.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oam.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oao.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oao.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oao.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oao.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oap.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oap.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oap.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oap.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oaq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oaq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oas.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oas.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oas.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oas.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oat.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oat.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oat.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oat.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oaw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oaw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oax.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oax.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oax.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oax.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oay.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oay.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oay.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oay.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_ona.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_ona.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_ona.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_ona.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_opa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_opa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_opb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_opb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_opd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_opd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_opf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_opf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_opg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_opg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oph.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oph.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_oph.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oph.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_opi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf6_opi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_saa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_saa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_saq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_saq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_saw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_saw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sbv.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sbv.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sbv.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sbx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sbx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sbx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sbx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_scb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_scb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_scb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_scb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_scq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_scq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_scq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_scq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sde.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sde.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sde.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sde.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sdf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sdf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sdo.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sdo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sdx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sdx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_seb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_seb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_seb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_seb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_seh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_seh.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_seh.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_seh.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sfl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sfl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sfl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sfl.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_snb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_snb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_snb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_snb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_spa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_spa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_spf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_spf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_spw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spw.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_spw.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spw.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sqk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sqk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sqk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sqk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sqn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sqn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sqn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sqn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sre.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sre.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf7_sre.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sre.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sab.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sab.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sab.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sar.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sar.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sar.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sar.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sax.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sax.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sax.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sax.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sby.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sby.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sby.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sby.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_scc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_scc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_scc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_scc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sdd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sdd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sdp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdp.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sdp.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdp.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sdy.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdy.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sdy.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdy.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sec.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sec.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sec.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sec.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sei.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sei.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sei.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sei.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sfk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sfk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sfk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sfk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_snc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_snc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_snc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_snc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_spb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spb.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_spb.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spb.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_spg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_spg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_spx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spx.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_spx.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spx.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sql.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sql.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sql.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sql.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sqo.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sqo.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_sqo.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sqo.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_srf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_srf.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf8_srf.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf8_srf.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sas.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sas.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sas.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sas.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_say.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_say.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_say.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf9_say.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sdi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdi.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sdi.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdi.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sdq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdq.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sdq.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdq.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sdz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdz.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sdz.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdz.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sed.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sed.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sed.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sed.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sej.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sej.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sej.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sej.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_snd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_snd.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_snd.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf9_snd.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_spc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_spc.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_spc.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf9_spc.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sph.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sph.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sph.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sph.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sqm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sqm.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_sqm.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sqm.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_srg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_srg.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/ssf9_srg.json rename to src/test/resources/algorithms/cs/02.05.50/tables/ssf9_srg.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/summary_stage_raa.json b/src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_raa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/summary_stage_raa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_raa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/summary_stage_rac.json b/src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_rac.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/summary_stage_rac.json rename to src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_rac.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/summary_stage_rpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_rpa.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/summary_stage_rpa.json rename to src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_rpa.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc6_xbn.json b/src/test/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc6_xbn.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc6_xbn.json rename to src/test/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc6_xbn.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc7_xhu.json b/src/test/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc7_xhu.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc7_xhu.json rename to src/test/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc7_xhu.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/tumor_size_category_ajcc7_xpk.json b/src/test/resources/algorithms/cs/02.05.50/tables/tumor_size_category_ajcc7_xpk.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/tumor_size_category_ajcc7_xpk.json rename to src/test/resources/algorithms/cs/02.05.50/tables/tumor_size_category_ajcc7_xpk.json diff --git a/algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/tumor_size_pair_ajcc6_xpl.json b/src/test/resources/algorithms/cs/02.05.50/tables/tumor_size_pair_ajcc6_xpl.json similarity index 100% rename from algorithm-cs/src/main/resources/algorithms/cs/02.05.50/tables/tumor_size_pair_ajcc6_xpl.json rename to src/test/resources/algorithms/cs/02.05.50/tables/tumor_size_pair_ajcc6_xpl.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/glossary/55a9a501e4b05cd0cddc710a.json b/src/test/resources/algorithms/eod_public/3.3/glossary/55a9a501e4b05cd0cddc710a.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/glossary/55a9a501e4b05cd0cddc710a.json rename to src/test/resources/algorithms/eod_public/3.3/glossary/55a9a501e4b05cd0cddc710a.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/glossary/terms.txt b/src/test/resources/algorithms/eod_public/3.3/glossary/terms.txt similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/glossary/terms.txt rename to src/test/resources/algorithms/eod_public/3.3/glossary/terms.txt diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/adnexa_uterine_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/adnexa_uterine_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/adnexa_uterine_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/adnexa_uterine_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/adrenal_gland.json b/src/test/resources/algorithms/eod_public/3.3/schemas/adrenal_gland.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/adrenal_gland.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/adrenal_gland.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/ampulla_vater.json b/src/test/resources/algorithms/eod_public/3.3/schemas/ampulla_vater.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/ampulla_vater.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/ampulla_vater.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/anus.json b/src/test/resources/algorithms/eod_public/3.3/schemas/anus.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/anus.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/anus.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/anus_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/schemas/anus_v9_2023.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/anus_v9_2023.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/anus_v9_2023.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/appendix.json b/src/test/resources/algorithms/eod_public/3.3/schemas/appendix.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/appendix.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/appendix.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/appendix_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/schemas/appendix_v9_2023.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/appendix_v9_2023.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/appendix_v9_2023.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/bile_ducts_distal.json b/src/test/resources/algorithms/eod_public/3.3/schemas/bile_ducts_distal.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/bile_ducts_distal.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/bile_ducts_distal.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/bile_ducts_intrahepat.json b/src/test/resources/algorithms/eod_public/3.3/schemas/bile_ducts_intrahepat.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/bile_ducts_intrahepat.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/bile_ducts_intrahepat.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/bile_ducts_perihilar.json b/src/test/resources/algorithms/eod_public/3.3/schemas/bile_ducts_perihilar.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/bile_ducts_perihilar.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/bile_ducts_perihilar.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/biliary_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/biliary_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/biliary_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/biliary_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/bladder.json b/src/test/resources/algorithms/eod_public/3.3/schemas/bladder.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/bladder.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/bladder.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/bone_appendicular_skeleton.json b/src/test/resources/algorithms/eod_public/3.3/schemas/bone_appendicular_skeleton.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/bone_appendicular_skeleton.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/bone_appendicular_skeleton.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/bone_pelvis.json b/src/test/resources/algorithms/eod_public/3.3/schemas/bone_pelvis.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/bone_pelvis.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/bone_pelvis.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/bone_spine.json b/src/test/resources/algorithms/eod_public/3.3/schemas/bone_spine.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/bone_spine.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/bone_spine.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/brain.json b/src/test/resources/algorithms/eod_public/3.3/schemas/brain.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/brain.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/brain.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/brain_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/schemas/brain_v9_2023.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/brain_v9_2023.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/brain_v9_2023.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/breast.json b/src/test/resources/algorithms/eod_public/3.3/schemas/breast.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/breast.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/breast.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/buccal_mucosa.json b/src/test/resources/algorithms/eod_public/3.3/schemas/buccal_mucosa.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/buccal_mucosa.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/buccal_mucosa.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cervical_lymph_nodes_occult_head_neck.json b/src/test/resources/algorithms/eod_public/3.3/schemas/cervical_lymph_nodes_occult_head_neck.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cervical_lymph_nodes_occult_head_neck.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/cervical_lymph_nodes_occult_head_neck.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cervix.json b/src/test/resources/algorithms/eod_public/3.3/schemas/cervix.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cervix.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/cervix.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cervix_9th_2021.json b/src/test/resources/algorithms/eod_public/3.3/schemas/cervix_9th_2021.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cervix_9th_2021.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/cervix_9th_2021.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cervix_sarcoma.json b/src/test/resources/algorithms/eod_public/3.3/schemas/cervix_sarcoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cervix_sarcoma.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/cervix_sarcoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cns_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/cns_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cns_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/cns_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cns_other_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/schemas/cns_other_v9_2023.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cns_other_v9_2023.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/cns_other_v9_2023.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/colon_rectum.json b/src/test/resources/algorithms/eod_public/3.3/schemas/colon_rectum.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/colon_rectum.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/colon_rectum.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/conjunctiva.json b/src/test/resources/algorithms/eod_public/3.3/schemas/conjunctiva.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/conjunctiva.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/conjunctiva.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/corpus_adenosarcoma.json b/src/test/resources/algorithms/eod_public/3.3/schemas/corpus_adenosarcoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/corpus_adenosarcoma.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/corpus_adenosarcoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/corpus_carcinoma.json b/src/test/resources/algorithms/eod_public/3.3/schemas/corpus_carcinoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/corpus_carcinoma.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/corpus_carcinoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/corpus_sarcoma.json b/src/test/resources/algorithms/eod_public/3.3/schemas/corpus_sarcoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/corpus_sarcoma.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/corpus_sarcoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cutaneous_carcinoma_head_neck.json b/src/test/resources/algorithms/eod_public/3.3/schemas/cutaneous_carcinoma_head_neck.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cutaneous_carcinoma_head_neck.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/cutaneous_carcinoma_head_neck.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cystic_duct.json b/src/test/resources/algorithms/eod_public/3.3/schemas/cystic_duct.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/cystic_duct.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/cystic_duct.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/digestive_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/digestive_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/digestive_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/digestive_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/endocrine_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/endocrine_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/endocrine_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/endocrine_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/esophagus_gejunction.json b/src/test/resources/algorithms/eod_public/3.3/schemas/esophagus_gejunction.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/esophagus_gejunction.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/esophagus_gejunction.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/esophagus_including_ge_junction_squamous.json b/src/test/resources/algorithms/eod_public/3.3/schemas/esophagus_including_ge_junction_squamous.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/esophagus_including_ge_junction_squamous.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/esophagus_including_ge_junction_squamous.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/eye_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/eye_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/eye_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/eye_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/fallopian_tube.json b/src/test/resources/algorithms/eod_public/3.3/schemas/fallopian_tube.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/fallopian_tube.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/fallopian_tube.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/floor_mouth.json b/src/test/resources/algorithms/eod_public/3.3/schemas/floor_mouth.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/floor_mouth.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/floor_mouth.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/gallbladder.json b/src/test/resources/algorithms/eod_public/3.3/schemas/gallbladder.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/gallbladder.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/gallbladder.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/genital_female_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/genital_female_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/genital_female_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/genital_female_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/genital_male_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/genital_male_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/genital_male_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/genital_male_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/gist.json b/src/test/resources/algorithms/eod_public/3.3/schemas/gist.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/gist.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/gist.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/gum.json b/src/test/resources/algorithms/eod_public/3.3/schemas/gum.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/gum.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/gum.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/heart_mediastinum_pleura.json b/src/test/resources/algorithms/eod_public/3.3/schemas/heart_mediastinum_pleura.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/heart_mediastinum_pleura.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/heart_mediastinum_pleura.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/hemeretic.json b/src/test/resources/algorithms/eod_public/3.3/schemas/hemeretic.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/hemeretic.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/hemeretic.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/hypopharynx.json b/src/test/resources/algorithms/eod_public/3.3/schemas/hypopharynx.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/hypopharynx.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/hypopharynx.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/ids.txt b/src/test/resources/algorithms/eod_public/3.3/schemas/ids.txt similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/ids.txt rename to src/test/resources/algorithms/eod_public/3.3/schemas/ids.txt diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/ill_defined_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/ill_defined_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/ill_defined_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/ill_defined_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/intracranial_gland.json b/src/test/resources/algorithms/eod_public/3.3/schemas/intracranial_gland.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/intracranial_gland.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/intracranial_gland.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/intracranial_gland_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/schemas/intracranial_gland_v9_2023.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/intracranial_gland_v9_2023.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/intracranial_gland_v9_2023.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/kaposi_sarcoma.json b/src/test/resources/algorithms/eod_public/3.3/schemas/kaposi_sarcoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/kaposi_sarcoma.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/kaposi_sarcoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/kidney_parenchyma.json b/src/test/resources/algorithms/eod_public/3.3/schemas/kidney_parenchyma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/kidney_parenchyma.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/kidney_parenchyma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/kidney_renal_pelvis.json b/src/test/resources/algorithms/eod_public/3.3/schemas/kidney_renal_pelvis.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/kidney_renal_pelvis.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/kidney_renal_pelvis.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lacrimal_gland.json b/src/test/resources/algorithms/eod_public/3.3/schemas/lacrimal_gland.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lacrimal_gland.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/lacrimal_gland.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lacrimal_sac.json b/src/test/resources/algorithms/eod_public/3.3/schemas/lacrimal_sac.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lacrimal_sac.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/lacrimal_sac.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/larynx_glottic.json b/src/test/resources/algorithms/eod_public/3.3/schemas/larynx_glottic.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/larynx_glottic.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/larynx_glottic.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/larynx_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/larynx_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/larynx_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/larynx_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/larynx_subglottic.json b/src/test/resources/algorithms/eod_public/3.3/schemas/larynx_subglottic.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/larynx_subglottic.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/larynx_subglottic.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/larynx_supraglottic.json b/src/test/resources/algorithms/eod_public/3.3/schemas/larynx_supraglottic.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/larynx_supraglottic.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/larynx_supraglottic.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lip.json b/src/test/resources/algorithms/eod_public/3.3/schemas/lip.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lip.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/lip.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/liver.json b/src/test/resources/algorithms/eod_public/3.3/schemas/liver.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/liver.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/liver.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lung.json b/src/test/resources/algorithms/eod_public/3.3/schemas/lung.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lung.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/lung.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lung_v9_2025.json b/src/test/resources/algorithms/eod_public/3.3/schemas/lung_v9_2025.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lung_v9_2025.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/lung_v9_2025.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lymphoma.json b/src/test/resources/algorithms/eod_public/3.3/schemas/lymphoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lymphoma.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/lymphoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lymphoma_cll_sll.json b/src/test/resources/algorithms/eod_public/3.3/schemas/lymphoma_cll_sll.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lymphoma_cll_sll.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/lymphoma_cll_sll.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lymphoma_ocular_adnexa.json b/src/test/resources/algorithms/eod_public/3.3/schemas/lymphoma_ocular_adnexa.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/lymphoma_ocular_adnexa.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/lymphoma_ocular_adnexa.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/major_salivary_glands.json b/src/test/resources/algorithms/eod_public/3.3/schemas/major_salivary_glands.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/major_salivary_glands.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/major_salivary_glands.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/major_salivary_glands_v9_2026.json b/src/test/resources/algorithms/eod_public/3.3/schemas/major_salivary_glands_v9_2026.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/major_salivary_glands_v9_2026.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/major_salivary_glands_v9_2026.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/maxillary_sinus.json b/src/test/resources/algorithms/eod_public/3.3/schemas/maxillary_sinus.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/maxillary_sinus.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/maxillary_sinus.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/medulloblastoma_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/schemas/medulloblastoma_v9_2023.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/medulloblastoma_v9_2023.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/medulloblastoma_v9_2023.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/melanoma_choroid_ciliary_body.json b/src/test/resources/algorithms/eod_public/3.3/schemas/melanoma_choroid_ciliary_body.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/melanoma_choroid_ciliary_body.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/melanoma_choroid_ciliary_body.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/melanoma_conjunctiva.json b/src/test/resources/algorithms/eod_public/3.3/schemas/melanoma_conjunctiva.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/melanoma_conjunctiva.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/melanoma_conjunctiva.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/melanoma_head_neck.json b/src/test/resources/algorithms/eod_public/3.3/schemas/melanoma_head_neck.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/melanoma_head_neck.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/melanoma_head_neck.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/melanoma_iris.json b/src/test/resources/algorithms/eod_public/3.3/schemas/melanoma_iris.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/melanoma_iris.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/melanoma_iris.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/melanoma_skin.json b/src/test/resources/algorithms/eod_public/3.3/schemas/melanoma_skin.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/melanoma_skin.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/melanoma_skin.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/merkel_cell_skin.json b/src/test/resources/algorithms/eod_public/3.3/schemas/merkel_cell_skin.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/merkel_cell_skin.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/merkel_cell_skin.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/middle_ear.json b/src/test/resources/algorithms/eod_public/3.3/schemas/middle_ear.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/middle_ear.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/middle_ear.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/mouth_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/mouth_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/mouth_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/mouth_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/mycosis_fungoides.json b/src/test/resources/algorithms/eod_public/3.3/schemas/mycosis_fungoides.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/mycosis_fungoides.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/mycosis_fungoides.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/nasal_cavity_ethmoid_sinus.json b/src/test/resources/algorithms/eod_public/3.3/schemas/nasal_cavity_ethmoid_sinus.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/nasal_cavity_ethmoid_sinus.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/nasal_cavity_ethmoid_sinus.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/nasopharynx.json b/src/test/resources/algorithms/eod_public/3.3/schemas/nasopharynx.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/nasopharynx.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/nasopharynx.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/nasopharynx_v9_2025.json b/src/test/resources/algorithms/eod_public/3.3/schemas/nasopharynx_v9_2025.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/nasopharynx_v9_2025.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/nasopharynx_v9_2025.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_adrenal_gland.json b/src/test/resources/algorithms/eod_public/3.3/schemas/net_adrenal_gland.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_adrenal_gland.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/net_adrenal_gland.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_ampulla.json b/src/test/resources/algorithms/eod_public/3.3/schemas/net_ampulla.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_ampulla.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/net_ampulla.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_ampulla_of_vater_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/schemas/net_ampulla_of_vater_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_ampulla_of_vater_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/net_ampulla_of_vater_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_appendix.json b/src/test/resources/algorithms/eod_public/3.3/schemas/net_appendix.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_appendix.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/net_appendix.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_appendix_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/schemas/net_appendix_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_appendix_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/net_appendix_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_colon_and_rectum_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/schemas/net_colon_and_rectum_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_colon_and_rectum_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/net_colon_and_rectum_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_colon_rectum.json b/src/test/resources/algorithms/eod_public/3.3/schemas/net_colon_rectum.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_colon_rectum.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/net_colon_rectum.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_duodenum.json b/src/test/resources/algorithms/eod_public/3.3/schemas/net_duodenum.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_duodenum.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/net_duodenum.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_duodenum_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/schemas/net_duodenum_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_duodenum_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/net_duodenum_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_jejunum_and_ileum_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/schemas/net_jejunum_and_ileum_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_jejunum_and_ileum_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/net_jejunum_and_ileum_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_jejunum_ileum.json b/src/test/resources/algorithms/eod_public/3.3/schemas/net_jejunum_ileum.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_jejunum_ileum.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/net_jejunum_ileum.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_pancreas.json b/src/test/resources/algorithms/eod_public/3.3/schemas/net_pancreas.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_pancreas.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/net_pancreas.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_pancreas_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/schemas/net_pancreas_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_pancreas_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/net_pancreas_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_stomach.json b/src/test/resources/algorithms/eod_public/3.3/schemas/net_stomach.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_stomach.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/net_stomach.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_stomach_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/schemas/net_stomach_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/net_stomach_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/net_stomach_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/orbital_sarcoma.json b/src/test/resources/algorithms/eod_public/3.3/schemas/orbital_sarcoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/orbital_sarcoma.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/orbital_sarcoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/oropharynx_hpv_associated_v9_2026.json b/src/test/resources/algorithms/eod_public/3.3/schemas/oropharynx_hpv_associated_v9_2026.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/oropharynx_hpv_associated_v9_2026.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/oropharynx_hpv_associated_v9_2026.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/oropharynx_hpv_mediated_p16_pos.json b/src/test/resources/algorithms/eod_public/3.3/schemas/oropharynx_hpv_mediated_p16_pos.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/oropharynx_hpv_mediated_p16_pos.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/oropharynx_hpv_mediated_p16_pos.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/oropharynx_p16_neg.json b/src/test/resources/algorithms/eod_public/3.3/schemas/oropharynx_p16_neg.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/oropharynx_p16_neg.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/oropharynx_p16_neg.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/ovary.json b/src/test/resources/algorithms/eod_public/3.3/schemas/ovary.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/ovary.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/ovary.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/palate_hard.json b/src/test/resources/algorithms/eod_public/3.3/schemas/palate_hard.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/palate_hard.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/palate_hard.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/pancreas.json b/src/test/resources/algorithms/eod_public/3.3/schemas/pancreas.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/pancreas.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/pancreas.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/parathyroid.json b/src/test/resources/algorithms/eod_public/3.3/schemas/parathyroid.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/parathyroid.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/parathyroid.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/penis.json b/src/test/resources/algorithms/eod_public/3.3/schemas/penis.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/penis.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/penis.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/pharynx_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/pharynx_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/pharynx_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/pharynx_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/placenta.json b/src/test/resources/algorithms/eod_public/3.3/schemas/placenta.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/placenta.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/placenta.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/plasma_cell_disorders.json b/src/test/resources/algorithms/eod_public/3.3/schemas/plasma_cell_disorders.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/plasma_cell_disorders.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/plasma_cell_disorders.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/plasma_cell_myeloma.json b/src/test/resources/algorithms/eod_public/3.3/schemas/plasma_cell_myeloma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/plasma_cell_myeloma.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/plasma_cell_myeloma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/pleural_mesothelioma.json b/src/test/resources/algorithms/eod_public/3.3/schemas/pleural_mesothelioma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/pleural_mesothelioma.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/pleural_mesothelioma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/pleural_mesothelioma_v9_2025.json b/src/test/resources/algorithms/eod_public/3.3/schemas/pleural_mesothelioma_v9_2025.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/pleural_mesothelioma_v9_2025.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/pleural_mesothelioma_v9_2025.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/primary_cutaneous_lymphoma_non_mf_ss.json b/src/test/resources/algorithms/eod_public/3.3/schemas/primary_cutaneous_lymphoma_non_mf_ss.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/primary_cutaneous_lymphoma_non_mf_ss.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/primary_cutaneous_lymphoma_non_mf_ss.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/primary_peritoneal_carcinoma.json b/src/test/resources/algorithms/eod_public/3.3/schemas/primary_peritoneal_carcinoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/primary_peritoneal_carcinoma.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/primary_peritoneal_carcinoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/prostate.json b/src/test/resources/algorithms/eod_public/3.3/schemas/prostate.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/prostate.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/prostate.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/respiratory_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/respiratory_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/respiratory_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/respiratory_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/retinoblastoma.json b/src/test/resources/algorithms/eod_public/3.3/schemas/retinoblastoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/retinoblastoma.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/retinoblastoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/retroperitoneum.json b/src/test/resources/algorithms/eod_public/3.3/schemas/retroperitoneum.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/retroperitoneum.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/retroperitoneum.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/sinus_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/sinus_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/sinus_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/sinus_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/skin_eyelid.json b/src/test/resources/algorithms/eod_public/3.3/schemas/skin_eyelid.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/skin_eyelid.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/skin_eyelid.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/skin_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/skin_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/skin_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/skin_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/small_intestine.json b/src/test/resources/algorithms/eod_public/3.3/schemas/small_intestine.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/small_intestine.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/small_intestine.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/soft_tissue_abdomen_thoracic.json b/src/test/resources/algorithms/eod_public/3.3/schemas/soft_tissue_abdomen_thoracic.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/soft_tissue_abdomen_thoracic.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/soft_tissue_abdomen_thoracic.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/soft_tissue_head_neck.json b/src/test/resources/algorithms/eod_public/3.3/schemas/soft_tissue_head_neck.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/soft_tissue_head_neck.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/soft_tissue_head_neck.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/soft_tissue_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/soft_tissue_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/soft_tissue_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/soft_tissue_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/soft_tissue_rare.json b/src/test/resources/algorithms/eod_public/3.3/schemas/soft_tissue_rare.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/soft_tissue_rare.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/soft_tissue_rare.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/soft_tissue_trunk_extremities.json b/src/test/resources/algorithms/eod_public/3.3/schemas/soft_tissue_trunk_extremities.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/soft_tissue_trunk_extremities.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/soft_tissue_trunk_extremities.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/stomach.json b/src/test/resources/algorithms/eod_public/3.3/schemas/stomach.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/stomach.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/stomach.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/testis.json b/src/test/resources/algorithms/eod_public/3.3/schemas/testis.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/testis.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/testis.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/thymus.json b/src/test/resources/algorithms/eod_public/3.3/schemas/thymus.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/thymus.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/thymus.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/thymus_v9_2025.json b/src/test/resources/algorithms/eod_public/3.3/schemas/thymus_v9_2025.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/thymus_v9_2025.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/thymus_v9_2025.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/thyroid.json b/src/test/resources/algorithms/eod_public/3.3/schemas/thyroid.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/thyroid.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/thyroid.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/thyroid_medullary.json b/src/test/resources/algorithms/eod_public/3.3/schemas/thyroid_medullary.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/thyroid_medullary.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/thyroid_medullary.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/tongue_anterior.json b/src/test/resources/algorithms/eod_public/3.3/schemas/tongue_anterior.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/tongue_anterior.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/tongue_anterior.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/trachea.json b/src/test/resources/algorithms/eod_public/3.3/schemas/trachea.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/trachea.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/trachea.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/urethra.json b/src/test/resources/algorithms/eod_public/3.3/schemas/urethra.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/urethra.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/urethra.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/urethra_prostatic.json b/src/test/resources/algorithms/eod_public/3.3/schemas/urethra_prostatic.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/urethra_prostatic.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/urethra_prostatic.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/urinary_other.json b/src/test/resources/algorithms/eod_public/3.3/schemas/urinary_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/urinary_other.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/urinary_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/vagina.json b/src/test/resources/algorithms/eod_public/3.3/schemas/vagina.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/vagina.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/vagina.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/vulva.json b/src/test/resources/algorithms/eod_public/3.3/schemas/vulva.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/vulva.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/vulva.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/vulva_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/schemas/vulva_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/schemas/vulva_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/schemas/vulva_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/adenoid_cystic_basaloid_pattern_86314.json b/src/test/resources/algorithms/eod_public/3.3/tables/adenoid_cystic_basaloid_pattern_86314.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/adenoid_cystic_basaloid_pattern_86314.json rename to src/test/resources/algorithms/eod_public/3.3/tables/adenoid_cystic_basaloid_pattern_86314.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/adenopathy_40816.json b/src/test/resources/algorithms/eod_public/3.3/tables/adenopathy_40816.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/adenopathy_40816.json rename to src/test/resources/algorithms/eod_public/3.3/tables/adenopathy_40816.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_36223.json b/src/test/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_36223.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_36223.json rename to src/test/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_36223.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_97891.json b/src/test/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_97891.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_97891.json rename to src/test/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_97891.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_lab_value_90733.json b/src/test/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_lab_value_90733.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_lab_value_90733.json rename to src/test/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_lab_value_90733.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_range_84758.json b/src/test/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_range_84758.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_range_84758.json rename to src/test/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_range_84758.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_lab_value_94162.json b/src/test/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_lab_value_94162.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_lab_value_94162.json rename to src/test/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_lab_value_94162.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_range_11386.json b/src/test/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_range_11386.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_range_11386.json rename to src/test/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_range_11386.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/afp_pretx_interpretation_66147.json b/src/test/resources/algorithms/eod_public/3.3/tables/afp_pretx_interpretation_66147.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/afp_pretx_interpretation_66147.json rename to src/test/resources/algorithms/eod_public/3.3/tables/afp_pretx_interpretation_66147.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/afp_pretx_lab_value_25871.json b/src/test/resources/algorithms/eod_public/3.3/tables/afp_pretx_lab_value_25871.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/afp_pretx_lab_value_25871.json rename to src/test/resources/algorithms/eod_public/3.3/tables/afp_pretx_lab_value_25871.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/age_at_diagnosis_validation_65093.json b/src/test/resources/algorithms/eod_public/3.3/tables/age_at_diagnosis_validation_65093.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/age_at_diagnosis_validation_65093.json rename to src/test/resources/algorithms/eod_public/3.3/tables/age_at_diagnosis_validation_65093.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ajcc_grade_3_94758.json b/src/test/resources/algorithms/eod_public/3.3/tables/ajcc_grade_3_94758.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ajcc_grade_3_94758.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ajcc_grade_3_94758.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ajcc_path_grade_3_70197.json b/src/test/resources/algorithms/eod_public/3.3/tables/ajcc_path_grade_3_70197.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ajcc_path_grade_3_70197.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ajcc_path_grade_3_70197.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/alk_rearrangement_610.json b/src/test/resources/algorithms/eod_public/3.3/tables/alk_rearrangement_610.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/alk_rearrangement_610.json rename to src/test/resources/algorithms/eod_public/3.3/tables/alk_rearrangement_610.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/anemia_15893.json b/src/test/resources/algorithms/eod_public/3.3/tables/anemia_15893.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/anemia_15893.json rename to src/test/resources/algorithms/eod_public/3.3/tables/anemia_15893.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/b2_microglob_pretx_level_83264.json b/src/test/resources/algorithms/eod_public/3.3/tables/b2_microglob_pretx_level_83264.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/b2_microglob_pretx_level_83264.json rename to src/test/resources/algorithms/eod_public/3.3/tables/b2_microglob_pretx_level_83264.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/behavior.json b/src/test/resources/algorithms/eod_public/3.3/tables/behavior.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/behavior.json rename to src/test/resources/algorithms/eod_public/3.3/tables/behavior.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/behavior_with_primary_tumor_for_ss2018_t_69793.json b/src/test/resources/algorithms/eod_public/3.3/tables/behavior_with_primary_tumor_for_ss2018_t_69793.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/behavior_with_primary_tumor_for_ss2018_t_69793.json rename to src/test/resources/algorithms/eod_public/3.3/tables/behavior_with_primary_tumor_for_ss2018_t_69793.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/bileductsdistal_bileductsperihilar_cysticduct_24541.json b/src/test/resources/algorithms/eod_public/3.3/tables/bileductsdistal_bileductsperihilar_cysticduct_24541.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/bileductsdistal_bileductsperihilar_cysticduct_24541.json rename to src/test/resources/algorithms/eod_public/3.3/tables/bileductsdistal_bileductsperihilar_cysticduct_24541.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_lab_value_68660.json b/src/test/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_lab_value_68660.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_lab_value_68660.json rename to src/test/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_lab_value_68660.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_unit_98627.json b/src/test/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_unit_98627.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_unit_98627.json rename to src/test/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_unit_98627.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/bone_invasion_96628.json b/src/test/resources/algorithms/eod_public/3.3/tables/bone_invasion_96628.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/bone_invasion_96628.json rename to src/test/resources/algorithms/eod_public/3.3/tables/bone_invasion_96628.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/braf_mutational_analysis_37823.json b/src/test/resources/algorithms/eod_public/3.3/tables/braf_mutational_analysis_37823.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/braf_mutational_analysis_37823.json rename to src/test/resources/algorithms/eod_public/3.3/tables/braf_mutational_analysis_37823.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_75370.json b/src/test/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_75370.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_75370.json rename to src/test/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_75370.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_v9_48556.json b/src/test/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_v9_48556.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_v9_48556.json rename to src/test/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_v9_48556.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/brain_primary_tumor_location_69074.json b/src/test/resources/algorithms/eod_public/3.3/tables/brain_primary_tumor_location_69074.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/brain_primary_tumor_location_69074.json rename to src/test/resources/algorithms/eod_public/3.3/tables/brain_primary_tumor_location_69074.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/breslow_thickness_79262.json b/src/test/resources/algorithms/eod_public/3.3/tables/breslow_thickness_79262.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/breslow_thickness_79262.json rename to src/test/resources/algorithms/eod_public/3.3/tables/breslow_thickness_79262.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ca_125_pretx_interpretation_51295.json b/src/test/resources/algorithms/eod_public/3.3/tables/ca_125_pretx_interpretation_51295.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ca_125_pretx_interpretation_51295.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ca_125_pretx_interpretation_51295.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ca_19_9_pretx_lab_value_17332.json b/src/test/resources/algorithms/eod_public/3.3/tables/ca_19_9_pretx_lab_value_17332.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ca_19_9_pretx_lab_value_17332.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ca_19_9_pretx_lab_value_17332.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/cea_pretx_interpretation_99474.json b/src/test/resources/algorithms/eod_public/3.3/tables/cea_pretx_interpretation_99474.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/cea_pretx_interpretation_99474.json rename to src/test/resources/algorithms/eod_public/3.3/tables/cea_pretx_interpretation_99474.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/cea_pretx_lab_value_33864.json b/src/test/resources/algorithms/eod_public/3.3/tables/cea_pretx_lab_value_33864.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/cea_pretx_lab_value_33864.json rename to src/test/resources/algorithms/eod_public/3.3/tables/cea_pretx_lab_value_33864.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/chromosome_19q_status_72683.json b/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_19q_status_72683.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/chromosome_19q_status_72683.json rename to src/test/resources/algorithms/eod_public/3.3/tables/chromosome_19q_status_72683.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/chromosome_1p_status_40269.json b/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_1p_status_40269.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/chromosome_1p_status_40269.json rename to src/test/resources/algorithms/eod_public/3.3/tables/chromosome_1p_status_40269.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/chromosome_3_status_93464.json b/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_3_status_93464.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/chromosome_3_status_93464.json rename to src/test/resources/algorithms/eod_public/3.3/tables/chromosome_3_status_93464.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/chromosome_8q_status_83582.json b/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_8q_status_83582.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/chromosome_8q_status_83582.json rename to src/test/resources/algorithms/eod_public/3.3/tables/chromosome_8q_status_83582.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/circumferential_resection_margin_77909.json b/src/test/resources/algorithms/eod_public/3.3/tables/circumferential_resection_margin_77909.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/circumferential_resection_margin_77909.json rename to src/test/resources/algorithms/eod_public/3.3/tables/circumferential_resection_margin_77909.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/clinical_margin_width_1179.json b/src/test/resources/algorithms/eod_public/3.3/tables/clinical_margin_width_1179.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/clinical_margin_width_1179.json rename to src/test/resources/algorithms/eod_public/3.3/tables/clinical_margin_width_1179.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/combine_prostate_eod_extension_16771.json b/src/test/resources/algorithms/eod_public/3.3/tables/combine_prostate_eod_extension_16771.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/combine_prostate_eod_extension_16771.json rename to src/test/resources/algorithms/eod_public/3.3/tables/combine_prostate_eod_extension_16771.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/combined_grade_56638.json b/src/test/resources/algorithms/eod_public/3.3/tables/combined_grade_56638.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/combined_grade_56638.json rename to src/test/resources/algorithms/eod_public/3.3/tables/combined_grade_56638.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/combined_grade_breast_8723.json b/src/test/resources/algorithms/eod_public/3.3/tables/combined_grade_breast_8723.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/combined_grade_breast_8723.json rename to src/test/resources/algorithms/eod_public/3.3/tables/combined_grade_breast_8723.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_lab_value_56869.json b/src/test/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_lab_value_56869.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_lab_value_56869.json rename to src/test/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_lab_value_56869.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_unit_26973.json b/src/test/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_unit_26973.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_unit_26973.json rename to src/test/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_unit_26973.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derive_rai_stage_42032.json b/src/test/resources/algorithms/eod_public/3.3/tables/derive_rai_stage_42032.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derive_rai_stage_42032.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derive_rai_stage_42032.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_10693.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_10693.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_10693.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_10693.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_12594.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_12594.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_12594.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_12594.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_2099.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_2099.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_2099.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_2099.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_21657.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21657.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_21657.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21657.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_21945.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21945.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_21945.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21945.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_21973.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21973.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_21973.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21973.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_24813.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_24813.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_24813.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_24813.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_27440.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_27440.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_27440.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_27440.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_29698.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_29698.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_29698.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_29698.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_30763.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_30763.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_30763.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_30763.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_32209.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_32209.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_32209.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_32209.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_40528.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_40528.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_40528.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_40528.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_46639.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_46639.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_46639.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_46639.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_48704.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_48704.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_48704.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_48704.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_58317.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_58317.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_58317.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_58317.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_69945.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_69945.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_69945.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_69945.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_71063.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_71063.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_71063.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_71063.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_71227.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_71227.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_71227.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_71227.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_74326.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_74326.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_74326.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_74326.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_76001.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_76001.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_76001.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_76001.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_83462.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_83462.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_83462.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_83462.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_84046.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_84046.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_84046.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_84046.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_8564.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_8564.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_8564.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_8564.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_91894.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_91894.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_91894.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_91894.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_93981.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_93981.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_93981.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_93981.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_96207.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_96207.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_96207.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_96207.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_97763.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_97763.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_97763.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_97763.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_gist_82068.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_gist_82068.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_gist_82068.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_gist_82068.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_1196.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_1196.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_1196.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_1196.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_non_ajcc_63932.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_non_ajcc_63932.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_non_ajcc_63932.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_non_ajcc_63932.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_rai_stage_73218.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_rai_stage_73218.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_rai_stage_73218.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_rai_stage_73218.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_adrenal_gland_258.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_adrenal_gland_258.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_adrenal_gland_258.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_adrenal_gland_258.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ampulla_of_vater_2679.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ampulla_of_vater_2679.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ampulla_of_vater_2679.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ampulla_of_vater_2679.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_anus_8409.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_anus_8409.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_anus_8409.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_anus_8409.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_appendix_76889.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_appendix_76889.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_appendix_76889.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_appendix_76889.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_biliary_other_47058.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_biliary_other_47058.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_biliary_other_47058.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_biliary_other_47058.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bladder_71090.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bladder_71090.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bladder_71090.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bladder_71090.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bone_34531.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bone_34531.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bone_34531.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bone_34531.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_brain_35480.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_brain_35480.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_brain_35480.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_brain_35480.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_breast_7622.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_breast_7622.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_breast_7622.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_breast_7622.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_buccal_mucosa_61240.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_buccal_mucosa_61240.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_buccal_mucosa_61240.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_buccal_mucosa_61240.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervical_lymph_nodes_and_unknown_primary_tumors_of_head_and_neck_49724.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervical_lymph_nodes_and_unknown_primary_tumors_of_head_and_neck_49724.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervical_lymph_nodes_and_unknown_primary_tumors_of_head_and_neck_49724.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervical_lymph_nodes_and_unknown_primary_tumors_of_head_and_neck_49724.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervix_8763.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervix_8763.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervix_8763.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervix_8763.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cns_other_22397.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cns_other_22397.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cns_other_22397.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cns_other_22397.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_colon_and_rectum_35271.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_colon_and_rectum_35271.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_colon_and_rectum_35271.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_colon_and_rectum_35271.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_conjunctiva_74486.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_conjunctiva_74486.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_conjunctiva_74486.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_conjunctiva_74486.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_carcinoma_and_carcinosarcoma_56302.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_carcinoma_and_carcinosarcoma_56302.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_carcinoma_and_carcinosarcoma_56302.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_carcinoma_and_carcinosarcoma_56302.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_sarcoma_68247.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_sarcoma_68247.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_sarcoma_68247.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_sarcoma_68247.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_digestive_other_3351.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_digestive_other_3351.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_digestive_other_3351.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_digestive_other_3351.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_endocrine_other_15778.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_endocrine_other_15778.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_endocrine_other_15778.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_endocrine_other_15778.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_esophagus_32092.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_esophagus_32092.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_esophagus_32092.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_esophagus_32092.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_extrahepatic_bile_ducts_37420.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_extrahepatic_bile_ducts_37420.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_extrahepatic_bile_ducts_37420.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_extrahepatic_bile_ducts_37420.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_eye_other_38179.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_eye_other_38179.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_eye_other_38179.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_eye_other_38179.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_fallopian_tube_71863.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_fallopian_tube_71863.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_fallopian_tube_71863.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_fallopian_tube_71863.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gallbladder_56868.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gallbladder_56868.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gallbladder_56868.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gallbladder_56868.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_female_other_6389.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_female_other_6389.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_female_other_6389.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_female_other_6389.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_male_other_41924.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_male_other_41924.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_male_other_41924.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_male_other_41924.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gist_48315.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gist_48315.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gist_48315.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gist_48315.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gum_32702.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gum_32702.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gum_32702.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gum_32702.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_heart_mediastinum_and_pleura_70478.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_heart_mediastinum_and_pleura_70478.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_heart_mediastinum_and_pleura_70478.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_heart_mediastinum_and_pleura_70478.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hemeretic_89184.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hemeretic_89184.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hemeretic_89184.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hemeretic_89184.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hypopharynx_33792.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hypopharynx_33792.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hypopharynx_33792.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hypopharynx_33792.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ill_defined_other_41227.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ill_defined_other_41227.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ill_defined_other_41227.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ill_defined_other_41227.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intracranial_gland_8078.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intracranial_gland_8078.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intracranial_gland_8078.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intracranial_gland_8078.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intrahepatic_bile_ducts_29879.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intrahepatic_bile_ducts_29879.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intrahepatic_bile_ducts_29879.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intrahepatic_bile_ducts_29879.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kaposi_sarcoma_84609.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kaposi_sarcoma_84609.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kaposi_sarcoma_84609.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kaposi_sarcoma_84609.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_parenchyma_35397.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_parenchyma_35397.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_parenchyma_35397.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_parenchyma_35397.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_renal_pelvis_4595.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_renal_pelvis_4595.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_renal_pelvis_4595.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_renal_pelvis_4595.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lacrimal_gland_sac_94643.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lacrimal_gland_sac_94643.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lacrimal_gland_sac_94643.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lacrimal_gland_sac_94643.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_glottic_7548.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_glottic_7548.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_glottic_7548.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_glottic_7548.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_other_66228.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_other_66228.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_other_66228.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_other_66228.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_subglottic_66548.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_subglottic_66548.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_subglottic_66548.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_subglottic_66548.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_supraglottic_62635.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_supraglottic_62635.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_supraglottic_62635.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_supraglottic_62635.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lip_8421.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lip_8421.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lip_8421.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lip_8421.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_liver_13967.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_liver_13967.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_liver_13967.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_liver_13967.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lung_59907.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lung_59907.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lung_59907.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lung_59907.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_35135.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_35135.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_35135.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_35135.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_ocular_adnexa_92324.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_ocular_adnexa_92324.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_ocular_adnexa_92324.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_ocular_adnexa_92324.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_major_salivary_glands_88669.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_major_salivary_glands_88669.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_major_salivary_glands_88669.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_major_salivary_glands_88669.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_medulloblastoma_71501.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_medulloblastoma_71501.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_medulloblastoma_71501.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_medulloblastoma_71501.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_conjunctiva_64436.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_conjunctiva_64436.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_conjunctiva_64436.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_conjunctiva_64436.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_head_and_neck_82003.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_head_and_neck_82003.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_head_and_neck_82003.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_head_and_neck_82003.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_skin_34689.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_skin_34689.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_skin_34689.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_skin_34689.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_uvea_22506.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_uvea_22506.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_uvea_22506.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_uvea_22506.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_merkel_cell_skin_71353.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_merkel_cell_skin_71353.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_merkel_cell_skin_71353.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_merkel_cell_skin_71353.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_middle_ear_38870.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_middle_ear_38870.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_middle_ear_38870.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_middle_ear_38870.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mouth_other_30776.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mouth_other_30776.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mouth_other_30776.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mouth_other_30776.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mycosis_fungoides_14217.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mycosis_fungoides_14217.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mycosis_fungoides_14217.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mycosis_fungoides_14217.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_myeloma_and_plasma_cell_disorders_3894.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_myeloma_and_plasma_cell_disorders_3894.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_myeloma_and_plasma_cell_disorders_3894.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_myeloma_and_plasma_cell_disorders_3894.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasal_cavity_and_paranasal_sinuses_97890.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasal_cavity_and_paranasal_sinuses_97890.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasal_cavity_and_paranasal_sinuses_97890.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasal_cavity_and_paranasal_sinuses_97890.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasopharynx_69453.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasopharynx_69453.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasopharynx_69453.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasopharynx_69453.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_orbital_sarcoma_90415.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_orbital_sarcoma_90415.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_orbital_sarcoma_90415.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_orbital_sarcoma_90415.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_oropharynx_79318.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_oropharynx_79318.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_oropharynx_79318.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_oropharynx_79318.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ovary_and_primary_peritoneal_carcinoma_26044.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ovary_and_primary_peritoneal_carcinoma_26044.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ovary_and_primary_peritoneal_carcinoma_26044.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ovary_and_primary_peritoneal_carcinoma_26044.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_palate_hard_38646.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_palate_hard_38646.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_palate_hard_38646.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_palate_hard_38646.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pancreas_85813.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pancreas_85813.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pancreas_85813.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pancreas_85813.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_parathyroid_93552.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_parathyroid_93552.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_parathyroid_93552.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_parathyroid_93552.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_penis_70064.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_penis_70064.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_penis_70064.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_penis_70064.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pharynx_other_63252.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pharynx_other_63252.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pharynx_other_63252.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pharynx_other_63252.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_placenta_6507.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_placenta_6507.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_placenta_6507.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_placenta_6507.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pleural_mesothelioma_74611.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pleural_mesothelioma_74611.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pleural_mesothelioma_74611.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pleural_mesothelioma_74611.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_primary_cutaneous_lymphomas_45083.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_primary_cutaneous_lymphomas_45083.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_primary_cutaneous_lymphomas_45083.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_primary_cutaneous_lymphomas_45083.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_prostate_48792.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_prostate_48792.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_prostate_48792.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_prostate_48792.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_respiratory_other_17734.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_respiratory_other_17734.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_respiratory_other_17734.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_respiratory_other_17734.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retinoblastoma_10326.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retinoblastoma_10326.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retinoblastoma_10326.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retinoblastoma_10326.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retroperitoneum_11521.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retroperitoneum_11521.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retroperitoneum_11521.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retroperitoneum_11521.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_sinus_other_893.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_sinus_other_893.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_sinus_other_893.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_sinus_other_893.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_except_eyelid_95559.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_except_eyelid_95559.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_except_eyelid_95559.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_except_eyelid_95559.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_eyelid_74710.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_eyelid_74710.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_eyelid_74710.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_eyelid_74710.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_small_intestine_48854.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_small_intestine_48854.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_small_intestine_48854.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_small_intestine_48854.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_soft_tissue_and_sarcomas_99149.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_soft_tissue_and_sarcomas_99149.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_soft_tissue_and_sarcomas_99149.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_soft_tissue_and_sarcomas_99149.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_stomach_19183.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_stomach_19183.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_stomach_19183.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_stomach_19183.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_testis_36736.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_testis_36736.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_testis_36736.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_testis_36736.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thymus_2194.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thymus_2194.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thymus_2194.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thymus_2194.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thyroid_44895.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thyroid_44895.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thyroid_44895.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thyroid_44895.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_tongue_anterior_40968.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_tongue_anterior_40968.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_tongue_anterior_40968.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_tongue_anterior_40968.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_trachea_96519.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_trachea_96519.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_trachea_96519.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_trachea_96519.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urethra_73432.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urethra_73432.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urethra_73432.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urethra_73432.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urinary_other_89509.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urinary_other_89509.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urinary_other_89509.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urinary_other_89509.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vagina_63227.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vagina_63227.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vagina_63227.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vagina_63227.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vulva_47165.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vulva_47165.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vulva_47165.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vulva_47165.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_summary_grade_na_6690.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_summary_grade_na_6690.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/derived_summary_grade_na_6690.json rename to src/test/resources/algorithms/eod_public/3.3/tables/derived_summary_grade_na_6690.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/egfr_mutational_analysis_51122.json b/src/test/resources/algorithms/eod_public/3.3/tables/egfr_mutational_analysis_51122.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/egfr_mutational_analysis_51122.json rename to src/test/resources/algorithms/eod_public/3.3/tables/egfr_mutational_analysis_51122.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_13303.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_13303.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_13303.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_13303.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_14084.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_14084.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_14084.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_14084.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_20229.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_20229.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_20229.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_20229.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_2212.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_2212.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_2212.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_2212.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_22645.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_22645.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_22645.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_22645.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_22894.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_22894.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_22894.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_22894.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_23805.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_23805.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_23805.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_23805.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_23953.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_23953.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_23953.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_23953.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_24042.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_24042.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_24042.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_24042.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_24606.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_24606.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_24606.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_24606.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_25000.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_25000.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_25000.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_25000.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_25281.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_25281.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_25281.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_25281.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_26533.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_26533.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_26533.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_26533.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_28878.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_28878.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_28878.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_28878.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_29252.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_29252.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_29252.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_29252.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_30426.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_30426.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_30426.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_30426.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_33408.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_33408.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_33408.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_33408.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_34827.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_34827.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_34827.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_34827.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_3742.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_3742.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_3742.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_3742.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_41985.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_41985.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_41985.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_41985.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_47277.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_47277.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_47277.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_47277.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_53046.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_53046.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_53046.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_53046.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_56430.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_56430.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_56430.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_56430.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_71734.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_71734.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_71734.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_71734.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_74247.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_74247.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_74247.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_74247.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_76404.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_76404.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_76404.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_76404.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_79894.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_79894.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_79894.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_79894.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_80017.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_80017.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_80017.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_80017.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_83665.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_83665.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_83665.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_83665.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_88527.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_88527.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_88527.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_88527.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_89421.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_89421.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_89421.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_89421.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_89986.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_89986.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_89986.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_89986.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_91004.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_91004.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_91004.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_91004.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_91154.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_91154.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_91154.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_91154.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_94984.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_94984.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_94984.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_94984.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_95518.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_95518.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_95518.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_95518.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_96081.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_96081.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_96081.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_96081.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_98654.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_98654.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_98654.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_98654.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_mucosal_head_and_neck_45697.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_mucosal_head_and_neck_45697.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_mucosal_head_and_neck_45697.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_mucosal_head_and_neck_45697.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_1812.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_1812.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_1812.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_1812.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_3184.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_3184.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_3184.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_3184.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_58862.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_58862.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_58862.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_58862.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_76161.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_76161.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_76161.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_76161.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_12346.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_12346.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_12346.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_12346.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_19089.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_19089.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_19089.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_19089.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3385.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3385.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3385.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3385.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3433.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3433.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3433.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3433.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_38280.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_38280.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_38280.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_38280.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3897.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3897.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3897.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3897.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_40607.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_40607.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_40607.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_40607.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_42615.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_42615.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_42615.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_42615.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_43548.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_43548.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_43548.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_43548.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_4717.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_4717.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_4717.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_4717.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_50451.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_50451.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_50451.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_50451.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_53330.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_53330.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_53330.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_53330.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_55521.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_55521.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_55521.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_55521.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_60922.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_60922.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_60922.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_60922.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72244.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72244.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72244.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72244.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72245.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72245.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72245.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72245.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72332.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72332.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72332.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72332.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_81646.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_81646.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_81646.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_81646.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_84520.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_84520.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_84520.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_84520.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_85962.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_85962.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_85962.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_85962.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93022.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93022.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93022.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93022.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93027.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93027.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93027.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93027.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93243.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93243.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93243.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93243.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_96275.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_96275.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_96275.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_96275.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_97833.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_97833.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_97833.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_97833.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_98910.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_98910.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_98910.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_98910.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_copy_25294.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_copy_25294.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_copy_25294.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_copy_25294.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_192.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_192.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_192.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_192.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_52408.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_52408.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_52408.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_52408.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_58724.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_58724.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_58724.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_58724.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_6892.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_6892.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_6892.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_6892.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_75679.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_75679.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_75679.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_75679.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_prostate_pathologic_extension_2781.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_prostate_pathologic_extension_2781.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_prostate_pathologic_extension_2781.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_prostate_pathologic_extension_2781.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_10020.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_10020.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_10020.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_10020.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_11936.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_11936.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_11936.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_11936.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_12613.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_12613.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_12613.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_12613.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_16316.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_16316.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_16316.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_16316.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_21853.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_21853.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_21853.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_21853.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_22383.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_22383.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_22383.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_22383.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_27426.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_27426.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_27426.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_27426.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_29442.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_29442.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_29442.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_29442.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_30921.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_30921.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_30921.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_30921.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_3383.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_3383.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_3383.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_3383.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_36470.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_36470.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_36470.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_36470.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_38984.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_38984.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_38984.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_38984.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_48374.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_48374.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_48374.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_48374.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_53169.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_53169.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_53169.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_53169.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_55756.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_55756.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_55756.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_55756.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_58339.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_58339.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_58339.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_58339.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_61282.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_61282.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_61282.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_61282.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_62689.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_62689.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_62689.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_62689.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_6464.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_6464.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_6464.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_6464.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_65616.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_65616.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_65616.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_65616.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_7080.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_7080.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_7080.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_7080.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_76612.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_76612.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_76612.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_76612.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_77237.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_77237.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_77237.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_77237.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_79068.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_79068.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_79068.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_79068.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_80411.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_80411.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_80411.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_80411.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_8284.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_8284.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_8284.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_8284.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_86049.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_86049.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_86049.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_86049.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_92760.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_92760.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_92760.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_92760.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_94494.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_94494.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_94494.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_94494.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_97333.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_97333.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_97333.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_97333.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_99855.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_99855.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_99855.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_99855.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_3599.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_3599.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_3599.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_3599.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_56625.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_56625.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_56625.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_56625.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_57286.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_57286.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_57286.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_57286.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_73197.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_73197.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_73197.json rename to src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_73197.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/er_allred_score_36612.json b/src/test/resources/algorithms/eod_public/3.3/tables/er_allred_score_36612.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/er_allred_score_36612.json rename to src/test/resources/algorithms/eod_public/3.3/tables/er_allred_score_36612.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/er_percent_positive_61867.json b/src/test/resources/algorithms/eod_public/3.3/tables/er_percent_positive_61867.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/er_percent_positive_61867.json rename to src/test/resources/algorithms/eod_public/3.3/tables/er_percent_positive_61867.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/er_summary_44166.json b/src/test/resources/algorithms/eod_public/3.3/tables/er_summary_44166.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/er_summary_44166.json rename to src/test/resources/algorithms/eod_public/3.3/tables/er_summary_44166.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/esoph_tumor_epicenter_18976.json b/src/test/resources/algorithms/eod_public/3.3/tables/esoph_tumor_epicenter_18976.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/esoph_tumor_epicenter_18976.json rename to src/test/resources/algorithms/eod_public/3.3/tables/esoph_tumor_epicenter_18976.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/esophagusgejunction_egj_stomach_57130.json b/src/test/resources/algorithms/eod_public/3.3/tables/esophagusgejunction_egj_stomach_57130.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/esophagusgejunction_egj_stomach_57130.json rename to src/test/resources/algorithms/eod_public/3.3/tables/esophagusgejunction_egj_stomach_57130.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_baa.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_baa.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_baa.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_baa.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bad.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bad.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bad.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bad.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bag.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bag.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bag.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bag.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_baj.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_baj.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_baj.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_baj.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bak.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bak.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bak.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bak.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bal.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bal.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bal.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bal.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bam.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bam.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bam.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bam.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_ban.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_ban.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_ban.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_ban.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bao.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bao.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bao.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bao.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bap.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bap.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bap.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bap.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bar.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bar.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bar.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bar.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bas.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bas.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bas.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bas.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bat.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bat.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bat.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bat.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bau.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bau.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bau.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bau.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bav.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bav.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bav.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bav.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_baw.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_baw.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_baw.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_baw.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bax.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bax.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bax.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bax.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbb.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbb.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbb.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bbb.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbc.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbc.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbc.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bbc.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbd.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbd.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbd.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bbd.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbe.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbe.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbe.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bbe.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbi.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbi.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbi.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bbi.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbj.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbj.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbj.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bbj.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbk.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbk.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbk.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bbk.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbl.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbl.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbl.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bbl.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbm.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbm.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbm.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bbm.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbn.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbn.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbn.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bbn.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbo.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbo.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbo.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bbo.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbp.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbp.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbp.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bbp.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbr.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbr.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbr.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bbr.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbs.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbs.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbs.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bbs.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbx.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbx.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bbx.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bbx.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcb.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcb.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcb.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcb.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcc.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcc.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcc.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcc.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcd.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcd.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcd.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcd.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bce.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bce.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bce.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bce.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcf.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcf.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcf.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcf.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcg.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcg.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcg.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcg.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bci.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bci.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bci.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bci.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcj.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcj.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcj.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcj.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcl.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcl.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcl.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcl.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcm.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcm.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcm.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcm.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcn.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcn.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcn.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcn.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bco.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bco.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bco.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bco.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcp.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcp.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcp.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcp.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcq.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcq.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcq.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcq.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcr.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcr.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcr.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcr.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcs.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcs.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcs.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcs.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bct.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bct.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bct.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bct.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcv.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcv.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcv.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcv.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcx.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcx.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcx.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcx.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcy.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcy.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bcy.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bcy.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bdd.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdd.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bdd.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bdd.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bde.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bde.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bde.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bde.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bdg.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdg.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bdg.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bdg.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bdh.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdh.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bdh.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bdh.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bdk.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdk.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bdk.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bdk.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bdl.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdl.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bdl.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bdl.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bdo.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdo.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bdo.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bdo.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bds.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bds.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bds.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bds.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bdu.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdu.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bdu.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bdu.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bez.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bez.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bez.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bez.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfa.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfa.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfa.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bfa.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfg.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfg.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfg.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bfg.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfh.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfh.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfh.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bfh.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfi.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfi.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfi.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bfi.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfk.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfk.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfk.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bfk.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfl.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfl.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfl.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bfl.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfm.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfm.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfm.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bfm.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfp.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfp.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfp.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bfp.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfq.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfq.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfq.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bfq.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfr.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfr.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfr.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bfr.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfs.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfs.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfs.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bfs.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bft.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bft.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bft.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bft.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfv.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfv.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfv.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bfv.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfw.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfw.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfw.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bfw.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfy.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfy.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bfy.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bfy.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bgc.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bgc.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bgc.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bgc.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bna.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bna.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_bna.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_bna.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_btb.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_btb.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extension_btb.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extension_btb.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extranodal_extension_clinical_5022.json b/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_clinical_5022.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extranodal_extension_clinical_5022.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_clinical_5022.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_clinical_79321.json b/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_clinical_79321.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_clinical_79321.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_clinical_79321.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_pathological_87046.json b/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_pathological_87046.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_pathological_87046.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_pathological_87046.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extranodal_extension_pathological_30739.json b/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_pathological_30739.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extranodal_extension_pathological_30739.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_pathological_30739.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extravascular_matrix_patterns_1397.json b/src/test/resources/algorithms/eod_public/3.3/tables/extravascular_matrix_patterns_1397.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/extravascular_matrix_patterns_1397.json rename to src/test/resources/algorithms/eod_public/3.3/tables/extravascular_matrix_patterns_1397.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/fibrosis_score_38658.json b/src/test/resources/algorithms/eod_public/3.3/tables/fibrosis_score_38658.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/fibrosis_score_38658.json rename to src/test/resources/algorithms/eod_public/3.3/tables/fibrosis_score_38658.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_30513.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_30513.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_30513.json rename to src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_30513.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_cervix_46535.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_cervix_46535.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_cervix_46535.json rename to src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_cervix_46535.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_adenosarcoma_24886.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_adenosarcoma_24886.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_adenosarcoma_24886.json rename to src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_adenosarcoma_24886.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_carcinoma_and_carcinosarcoma_69186.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_carcinoma_and_carcinosarcoma_69186.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_carcinoma_and_carcinosarcoma_69186.json rename to src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_carcinoma_and_carcinosarcoma_69186.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_sarcoma_78807.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_sarcoma_78807.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_sarcoma_78807.json rename to src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_sarcoma_78807.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_placenta_73452.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_placenta_73452.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_placenta_73452.json rename to src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_placenta_73452.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_vagina_61098.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_vagina_61098.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_vagina_61098.json rename to src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_vagina_61098.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_vulva_69787.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_vulva_69787.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/figo_stage_vulva_69787.json rename to src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_vulva_69787.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/gestational_prog_index_28647.json b/src/test/resources/algorithms/eod_public/3.3/tables/gestational_prog_index_28647.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/gestational_prog_index_28647.json rename to src/test/resources/algorithms/eod_public/3.3/tables/gestational_prog_index_28647.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/gleason_pattern_clinical_75179.json b/src/test/resources/algorithms/eod_public/3.3/tables/gleason_pattern_clinical_75179.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/gleason_pattern_clinical_75179.json rename to src/test/resources/algorithms/eod_public/3.3/tables/gleason_pattern_clinical_75179.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/gleason_patterns_pathological_833.json b/src/test/resources/algorithms/eod_public/3.3/tables/gleason_patterns_pathological_833.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/gleason_patterns_pathological_833.json rename to src/test/resources/algorithms/eod_public/3.3/tables/gleason_patterns_pathological_833.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/gleason_score_clinical_67175.json b/src/test/resources/algorithms/eod_public/3.3/tables/gleason_score_clinical_67175.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/gleason_score_clinical_67175.json rename to src/test/resources/algorithms/eod_public/3.3/tables/gleason_score_clinical_67175.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/gleason_score_pathological_82121.json b/src/test/resources/algorithms/eod_public/3.3/tables/gleason_score_pathological_82121.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/gleason_score_pathological_82121.json rename to src/test/resources/algorithms/eod_public/3.3/tables/gleason_score_pathological_82121.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/gleason_tertiary_pattern_6430.json b/src/test/resources/algorithms/eod_public/3.3/tables/gleason_tertiary_pattern_6430.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/gleason_tertiary_pattern_6430.json rename to src/test/resources/algorithms/eod_public/3.3/tables/gleason_tertiary_pattern_6430.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_18316.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_18316.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_18316.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_18316.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_18831.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_18831.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_18831.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_18831.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_19087.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_19087.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_19087.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_19087.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_19997.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_19997.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_19997.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_19997.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_21060.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_21060.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_21060.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_21060.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_22454.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_22454.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_22454.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_22454.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_24620.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_24620.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_24620.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_24620.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_25704.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_25704.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_25704.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_25704.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_26293.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_26293.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_26293.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_26293.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_26768.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_26768.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_26768.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_26768.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_2756.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_2756.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_2756.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_2756.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_29193.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_29193.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_29193.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_29193.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_36085.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_36085.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_36085.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_36085.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_41135.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_41135.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_41135.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_41135.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_46962.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_46962.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_46962.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_46962.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_54911.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_54911.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_54911.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_54911.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_62593.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_62593.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_62593.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_62593.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_6485.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_6485.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_6485.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_6485.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_64933.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_64933.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_64933.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_64933.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_69174.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_69174.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_69174.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_69174.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_73056.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_73056.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_73056.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_73056.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_73461.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_73461.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_73461.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_73461.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_78613.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_78613.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_78613.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_78613.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_83264.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_83264.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_83264.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_83264.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_8742.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_8742.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_8742.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_8742.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_88426.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_88426.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_88426.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_88426.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_91491.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_91491.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_91491.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_91491.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_91989.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_91989.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_91989.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_91989.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_94331.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_94331.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_94331.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_94331.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_non_ajcc_32473.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_non_ajcc_32473.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_non_ajcc_32473.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_non_ajcc_32473.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_v9_88505.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_v9_88505.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_clinical_v9_88505.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_v9_88505.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_11803.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_11803.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_11803.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_11803.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_12915.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_12915.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_12915.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_12915.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_19141.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_19141.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_19141.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_19141.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_19694.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_19694.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_19694.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_19694.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_20069.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_20069.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_20069.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_20069.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_20722.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_20722.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_20722.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_20722.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_26086.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_26086.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_26086.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_26086.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_27152.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_27152.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_27152.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_27152.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_29069.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_29069.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_29069.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_29069.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_31963.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_31963.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_31963.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_31963.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_38051.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_38051.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_38051.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_38051.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_40052.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_40052.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_40052.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_40052.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_40399.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_40399.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_40399.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_40399.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_42127.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_42127.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_42127.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_42127.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_46618.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_46618.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_46618.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_46618.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_47031.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_47031.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_47031.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_47031.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_4783.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_4783.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_4783.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_4783.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_49403.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_49403.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_49403.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_49403.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_53280.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_53280.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_53280.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_53280.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_57271.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_57271.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_57271.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_57271.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_59340.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_59340.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_59340.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_59340.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_59975.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_59975.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_59975.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_59975.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_68805.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_68805.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_68805.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_68805.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_73388.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_73388.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_73388.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_73388.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_84704.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_84704.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_84704.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_84704.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_85185.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_85185.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_85185.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_85185.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_91031.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_91031.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_91031.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_91031.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_93273.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_93273.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_93273.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_93273.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_94268.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_94268.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_94268.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_94268.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_non_ajcc_5627.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_non_ajcc_5627.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_non_ajcc_5627.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_non_ajcc_5627.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_v9_76065.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_v9_76065.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_pathological_v9_76065.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_v9_76065.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_1647.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_1647.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_1647.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_1647.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_18631.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_18631.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_18631.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_18631.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_21162.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_21162.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_21162.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_21162.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_23317.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_23317.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_23317.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_23317.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2503.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2503.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2503.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2503.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2541.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2541.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2541.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2541.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26948.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26948.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26948.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26948.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26978.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26978.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26978.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26978.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_27082.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_27082.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_27082.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_27082.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_30400.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_30400.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_30400.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_30400.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_35900.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_35900.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_35900.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_35900.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_41222.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_41222.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_41222.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_41222.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_4232.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_4232.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_4232.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_4232.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_43459.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_43459.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_43459.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_43459.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_45036.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_45036.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_45036.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_45036.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_53870.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_53870.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_53870.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_53870.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_54917.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_54917.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_54917.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_54917.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_60334.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_60334.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_60334.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_60334.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_61658.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_61658.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_61658.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_61658.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_68213.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_68213.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_68213.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_68213.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_69737.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_69737.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_69737.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_69737.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_72770.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_72770.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_72770.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_72770.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_74830.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_74830.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_74830.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_74830.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_76032.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_76032.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_76032.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_76032.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_88214.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_88214.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_88214.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_88214.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93593.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93593.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93593.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93593.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93998.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93998.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93998.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93998.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_95734.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_95734.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_95734.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_95734.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_97989.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_97989.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_97989.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_97989.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_31990.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_31990.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_31990.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_31990.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_55565.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_55565.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_55565.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_55565.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_v9_85438.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_v9_85438.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_v9_85438.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_v9_85438.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_20786.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_20786.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_20786.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_20786.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_25809.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_25809.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_25809.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_25809.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_28874.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_28874.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_28874.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_28874.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_30693.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_30693.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_30693.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_30693.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_32110.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_32110.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_32110.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_32110.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_35393.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_35393.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_35393.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_35393.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_36935.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_36935.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_36935.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_36935.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_3704.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_3704.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_3704.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_3704.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_40048.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_40048.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_40048.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_40048.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_41285.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_41285.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_41285.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_41285.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_45323.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_45323.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_45323.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_45323.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_47044.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_47044.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_47044.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_47044.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48765.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48765.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48765.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48765.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48957.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48957.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48957.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48957.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_55848.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_55848.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_55848.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_55848.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_58350.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_58350.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_58350.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_58350.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_65729.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_65729.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_65729.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_65729.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_67342.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_67342.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_67342.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_67342.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_75348.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_75348.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_75348.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_75348.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_76876.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_76876.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_76876.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_76876.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_80308.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_80308.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_80308.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_80308.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_83202.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_83202.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_83202.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_83202.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_86055.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_86055.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_86055.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_86055.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_87571.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_87571.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_87571.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_87571.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_90448.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_90448.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_90448.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_90448.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_91649.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_91649.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_91649.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_91649.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_92197.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_92197.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_92197.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_92197.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_93034.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_93034.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_93034.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_93034.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_98398.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_98398.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_98398.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_98398.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_3519.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_3519.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_3519.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_3519.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_8036.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_8036.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_8036.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_8036.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_v9_717.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_v9_717.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_v9_717.json rename to src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_v9_717.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_lab_value_13834.json b/src/test/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_lab_value_13834.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_lab_value_13834.json rename to src/test/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_lab_value_13834.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_range_92334.json b/src/test/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_range_92334.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_range_92334.json rename to src/test/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_range_92334.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_lab_value_55584.json b/src/test/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_lab_value_55584.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_lab_value_55584.json rename to src/test/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_lab_value_55584.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_range_67679.json b/src/test/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_range_67679.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_range_67679.json rename to src/test/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_range_67679.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/her2_ihc_summary_57693.json b/src/test/resources/algorithms/eod_public/3.3/tables/her2_ihc_summary_57693.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/her2_ihc_summary_57693.json rename to src/test/resources/algorithms/eod_public/3.3/tables/her2_ihc_summary_57693.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/her2_ish_dp_copy_no_89821.json b/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_dp_copy_no_89821.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/her2_ish_dp_copy_no_89821.json rename to src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_dp_copy_no_89821.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/her2_ish_dual_probe_ration_4635.json b/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_dual_probe_ration_4635.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/her2_ish_dual_probe_ration_4635.json rename to src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_dual_probe_ration_4635.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/her2_ish_sp_copy_no_95955.json b/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_sp_copy_no_95955.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/her2_ish_sp_copy_no_95955.json rename to src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_sp_copy_no_95955.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/her2_ish_summary_40783.json b/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_summary_40783.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/her2_ish_summary_40783.json rename to src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_summary_40783.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/her2_overall_summary_copy_71435.json b/src/test/resources/algorithms/eod_public/3.3/tables/her2_overall_summary_copy_71435.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/her2_overall_summary_copy_71435.json rename to src/test/resources/algorithms/eod_public/3.3/tables/her2_overall_summary_copy_71435.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/her2_summary_30512.json b/src/test/resources/algorithms/eod_public/3.3/tables/her2_summary_30512.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/her2_summary_30512.json rename to src/test/resources/algorithms/eod_public/3.3/tables/her2_summary_30512.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/heritable_trait_49734.json b/src/test/resources/algorithms/eod_public/3.3/tables/heritable_trait_49734.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/heritable_trait_49734.json rename to src/test/resources/algorithms/eod_public/3.3/tables/heritable_trait_49734.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/high_risk_cytogenetics_97806.json b/src/test/resources/algorithms/eod_public/3.3/tables/high_risk_cytogenetics_97806.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/high_risk_cytogenetics_97806.json rename to src/test/resources/algorithms/eod_public/3.3/tables/high_risk_cytogenetics_97806.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/high_risk_features_73750.json b/src/test/resources/algorithms/eod_public/3.3/tables/high_risk_features_73750.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/high_risk_features_73750.json rename to src/test/resources/algorithms/eod_public/3.3/tables/high_risk_features_73750.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/histologic_subtype_8603.json b/src/test/resources/algorithms/eod_public/3.3/tables/histologic_subtype_8603.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/histologic_subtype_8603.json rename to src/test/resources/algorithms/eod_public/3.3/tables/histologic_subtype_8603.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/histology.json b/src/test/resources/algorithms/eod_public/3.3/tables/histology.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/histology.json rename to src/test/resources/algorithms/eod_public/3.3/tables/histology.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/histology_discriminator_for_8020_3_93311.json b/src/test/resources/algorithms/eod_public/3.3/tables/histology_discriminator_for_8020_3_93311.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/histology_discriminator_for_8020_3_93311.json rename to src/test/resources/algorithms/eod_public/3.3/tables/histology_discriminator_for_8020_3_93311.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/hiv_status_12569.json b/src/test/resources/algorithms/eod_public/3.3/tables/hiv_status_12569.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/hiv_status_12569.json rename to src/test/resources/algorithms/eod_public/3.3/tables/hiv_status_12569.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ids.txt b/src/test/resources/algorithms/eod_public/3.3/tables/ids.txt similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ids.txt rename to src/test/resources/algorithms/eod_public/3.3/tables/ids.txt diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/inr_prothrombin_time_6158.json b/src/test/resources/algorithms/eod_public/3.3/tables/inr_prothrombin_time_6158.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/inr_prothrombin_time_6158.json rename to src/test/resources/algorithms/eod_public/3.3/tables/inr_prothrombin_time_6158.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/intern_prognostic_index_90310.json b/src/test/resources/algorithms/eod_public/3.3/tables/intern_prognostic_index_90310.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/intern_prognostic_index_90310.json rename to src/test/resources/algorithms/eod_public/3.3/tables/intern_prognostic_index_90310.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/invasion_beyond_capsule_4149.json b/src/test/resources/algorithms/eod_public/3.3/tables/invasion_beyond_capsule_4149.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/invasion_beyond_capsule_4149.json rename to src/test/resources/algorithms/eod_public/3.3/tables/invasion_beyond_capsule_4149.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ipsilateral_adrenal_gland_involvement_61538.json b/src/test/resources/algorithms/eod_public/3.3/tables/ipsilateral_adrenal_gland_involvement_61538.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ipsilateral_adrenal_gland_involvement_61538.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ipsilateral_adrenal_gland_involvement_61538.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/jak2_80148.json b/src/test/resources/algorithms/eod_public/3.3/tables/jak2_80148.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/jak2_80148.json rename to src/test/resources/algorithms/eod_public/3.3/tables/jak2_80148.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ki67_8355.json b/src/test/resources/algorithms/eod_public/3.3/tables/ki67_8355.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ki67_8355.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ki67_8355.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ki_67_67661.json b/src/test/resources/algorithms/eod_public/3.3/tables/ki_67_67661.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ki_67_67661.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ki_67_67661.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/kit_gene_immunohistochemistry_33220.json b/src/test/resources/algorithms/eod_public/3.3/tables/kit_gene_immunohistochemistry_33220.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/kit_gene_immunohistochemistry_33220.json rename to src/test/resources/algorithms/eod_public/3.3/tables/kit_gene_immunohistochemistry_33220.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/kras_79447.json b/src/test/resources/algorithms/eod_public/3.3/tables/kras_79447.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/kras_79447.json rename to src/test/resources/algorithms/eod_public/3.3/tables/kras_79447.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lacrimal_gland_lacrimal_sac_63106.json b/src/test/resources/algorithms/eod_public/3.3/tables/lacrimal_gland_lacrimal_sac_63106.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lacrimal_gland_lacrimal_sac_63106.json rename to src/test/resources/algorithms/eod_public/3.3/tables/lacrimal_gland_lacrimal_sac_63106.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ldh_lab_value_85652.json b/src/test/resources/algorithms/eod_public/3.3/tables/ldh_lab_value_85652.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ldh_lab_value_85652.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ldh_lab_value_85652.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ldh_level_12428.json b/src/test/resources/algorithms/eod_public/3.3/tables/ldh_level_12428.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ldh_level_12428.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ldh_level_12428.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ldh_post_orchiectomy_range_38574.json b/src/test/resources/algorithms/eod_public/3.3/tables/ldh_post_orchiectomy_range_38574.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ldh_post_orchiectomy_range_38574.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ldh_post_orchiectomy_range_38574.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ldh_pre_orchiectomy_range_42762.json b/src/test/resources/algorithms/eod_public/3.3/tables/ldh_pre_orchiectomy_range_42762.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ldh_pre_orchiectomy_range_42762.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ldh_pre_orchiectomy_range_42762.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ldh_pretreatment_level_82697.json b/src/test/resources/algorithms/eod_public/3.3/tables/ldh_pretreatment_level_82697.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ldh_pretreatment_level_82697.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ldh_pretreatment_level_82697.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ldh_upper_limits_of_normal_34244.json b/src/test/resources/algorithms/eod_public/3.3/tables/ldh_upper_limits_of_normal_34244.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ldh_upper_limits_of_normal_34244.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ldh_upper_limits_of_normal_34244.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_femoral_inguinal_48450.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_femoral_inguinal_48450.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_femoral_inguinal_48450.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_femoral_inguinal_48450.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_pelvic_vulva_10928.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_pelvic_vulva_10928.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_pelvic_vulva_10928.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_pelvic_vulva_10928.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_size_70140.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_size_70140.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_size_70140.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ln_size_70140.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_13374.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_13374.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_13374.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_13374.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_vagina_64638.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_vagina_64638.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_vagina_64638.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_vagina_64638.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_status_para_aortic_41020.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_para_aortic_41020.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_status_para_aortic_41020.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ln_status_para_aortic_41020.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_31753.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_31753.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_31753.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_31753.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_93438.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_93438.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_93438.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_93438.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_node_laterality_65685.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_node_laterality_65685.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_node_laterality_65685.json rename to src/test/resources/algorithms/eod_public/3.3/tables/lymph_node_laterality_65685.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_femoral_46948.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_femoral_46948.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_femoral_46948.json rename to src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_femoral_46948.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_para_aortic_56026.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_para_aortic_56026.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_para_aortic_56026.json rename to src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_para_aortic_56026.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_pelvic_33476.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_pelvic_33476.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_pelvic_33476.json rename to src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_pelvic_33476.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_assessment_method_24499.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_assessment_method_24499.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_assessment_method_24499.json rename to src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_assessment_method_24499.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_mediastinal_scalene_90567.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_mediastinal_scalene_90567.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_mediastinal_scalene_90567.json rename to src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_mediastinal_scalene_90567.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_i_iii_19222.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_i_iii_19222.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_i_iii_19222.json rename to src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_i_iii_19222.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_iv_v_55093.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_iv_v_55093.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_iv_v_55093.json rename to src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_iv_v_55093.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_vi_vii_32325.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_vi_vii_32325.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_vi_vii_32325.json rename to src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_vi_vii_32325.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_other_31141.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_other_31141.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_other_31141.json rename to src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_other_31141.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_isolated_tumor_cells_67876.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_isolated_tumor_cells_67876.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymph_nodes_isolated_tumor_cells_67876.json rename to src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_isolated_tumor_cells_67876.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymphocytosis_79150.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymphocytosis_79150.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/lymphocytosis_79150.json rename to src/test/resources/algorithms/eod_public/3.3/tables/lymphocytosis_79150.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/major_vein_involvement_87947.json b/src/test/resources/algorithms/eod_public/3.3/tables/major_vein_involvement_87947.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/major_vein_involvement_87947.json rename to src/test/resources/algorithms/eod_public/3.3/tables/major_vein_involvement_87947.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/measured_basal_diameter_70699.json b/src/test/resources/algorithms/eod_public/3.3/tables/measured_basal_diameter_70699.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/measured_basal_diameter_70699.json rename to src/test/resources/algorithms/eod_public/3.3/tables/measured_basal_diameter_70699.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/measured_thickness_84907.json b/src/test/resources/algorithms/eod_public/3.3/tables/measured_thickness_84907.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/measured_thickness_84907.json rename to src/test/resources/algorithms/eod_public/3.3/tables/measured_thickness_84907.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/melanoma_ciliary_body_melanoma_iris_79773.json b/src/test/resources/algorithms/eod_public/3.3/tables/melanoma_ciliary_body_melanoma_iris_79773.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/melanoma_ciliary_body_melanoma_iris_79773.json rename to src/test/resources/algorithms/eod_public/3.3/tables/melanoma_ciliary_body_melanoma_iris_79773.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hab.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hab.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hab.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hab.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hac.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hac.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hac.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hac.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_had.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_had.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_had.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_had.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hae.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hae.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hae.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hae.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_haf.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_haf.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_haf.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_haf.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hah.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hah.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hah.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hah.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_haj.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_haj.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_haj.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_haj.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hak.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hak.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hak.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hak.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hal.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hal.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hal.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hal.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_han.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_han.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_han.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_han.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_har.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_har.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_har.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_har.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hat.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hat.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hat.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hat.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hau.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hau.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hau.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hau.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hav.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hav.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hav.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hav.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_haw.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_haw.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_haw.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_haw.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_haz.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_haz.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_haz.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_haz.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hba.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hba.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hba.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hba.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hbb.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbb.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hbb.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hbb.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hbe.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbe.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hbe.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hbe.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hbg.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbg.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hbg.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hbg.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hbo.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbo.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hbo.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hbo.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hbv.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbv.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hbv.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hbv.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hbx.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbx.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hbx.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hbx.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hbz.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbz.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hbz.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hbz.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hcf.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcf.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hcf.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hcf.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hcg.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcg.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hcg.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hcg.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hch.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hch.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hch.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hch.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hci.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hci.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hci.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hci.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hck.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hck.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hck.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hck.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hcp.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcp.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hcp.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hcp.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hcq.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcq.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hcq.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hcq.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hcr.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcr.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hcr.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hcr.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hcu.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcu.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hcu.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hcu.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hcv.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcv.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hcv.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hcv.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hna.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hna.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hna.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hna.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hph.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hph.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mets_hph.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mets_hph.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mgmt_17454.json b/src/test/resources/algorithms/eod_public/3.3/tables/mgmt_17454.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mgmt_17454.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mgmt_17454.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_35598.json b/src/test/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_35598.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_35598.json rename to src/test/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_35598.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_7008.json b/src/test/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_7008.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_7008.json rename to src/test/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_7008.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/microvascular_density_70589.json b/src/test/resources/algorithms/eod_public/3.3/tables/microvascular_density_70589.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/microvascular_density_70589.json rename to src/test/resources/algorithms/eod_public/3.3/tables/microvascular_density_70589.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mitotic_count_uveal_melanoma_26990.json b/src/test/resources/algorithms/eod_public/3.3/tables/mitotic_count_uveal_melanoma_26990.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mitotic_count_uveal_melanoma_26990.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mitotic_count_uveal_melanoma_26990.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mitotic_rate_melanoma_88184.json b/src/test/resources/algorithms/eod_public/3.3/tables/mitotic_rate_melanoma_88184.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/mitotic_rate_melanoma_88184.json rename to src/test/resources/algorithms/eod_public/3.3/tables/mitotic_rate_melanoma_88184.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/multigene_signature_method_85043.json b/src/test/resources/algorithms/eod_public/3.3/tables/multigene_signature_method_85043.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/multigene_signature_method_85043.json rename to src/test/resources/algorithms/eod_public/3.3/tables/multigene_signature_method_85043.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/multigene_signature_result_37000.json b/src/test/resources/algorithms/eod_public/3.3/tables/multigene_signature_result_37000.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/multigene_signature_result_37000.json rename to src/test/resources/algorithms/eod_public/3.3/tables/multigene_signature_result_37000.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/multiple_myeloma_terminology_20875.json b/src/test/resources/algorithms/eod_public/3.3/tables/multiple_myeloma_terminology_20875.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/multiple_myeloma_terminology_20875.json rename to src/test/resources/algorithms/eod_public/3.3/tables/multiple_myeloma_terminology_20875.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nasopharynx_pharyngealtonsil_84756.json b/src/test/resources/algorithms/eod_public/3.3/tables/nasopharynx_pharyngealtonsil_84756.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nasopharynx_pharyngealtonsil_84756.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nasopharynx_pharyngealtonsil_84756.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_clinical_response_31723.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_clinical_response_31723.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_clinical_response_31723.json rename to src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_clinical_response_31723.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_18122.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_18122.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_18122.json rename to src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_18122.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_23019.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_23019.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_23019.json rename to src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_23019.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_34708.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_34708.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_34708.json rename to src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_34708.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_4391.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_4391.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_4391.json rename to src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_4391.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_52725.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_52725.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_52725.json rename to src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_52725.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_61650.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_61650.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_61650.json rename to src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_61650.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_90678.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_90678.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_90678.json rename to src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_90678.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadjuvant_therapy_37302.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadjuvant_therapy_37302.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/neoadjuvant_therapy_37302.json rename to src/test/resources/algorithms/eod_public/3.3/tables/neoadjuvant_therapy_37302.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_daa.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daa.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_daa.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_daa.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dab.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dab.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dab.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dab.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dai.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dai.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dai.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dai.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_daj.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daj.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_daj.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_daj.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dak.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dak.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dak.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dak.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dam.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dam.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dam.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dam.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dan.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dan.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dan.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dan.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_daq.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daq.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_daq.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_daq.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dat.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dat.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dat.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dat.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dau.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dau.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dau.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dau.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dav.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dav.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dav.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dav.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_daw.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daw.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_daw.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_daw.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_day.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_day.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_day.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_day.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dba.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dba.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dba.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dba.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbb.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbb.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbb.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbb.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbc.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbc.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbc.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbc.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbd.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbd.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbd.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbd.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbe.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbe.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbe.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbe.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbf.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbf.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbf.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbf.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbg.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbg.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbg.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbg.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbh.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbh.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbh.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbh.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbi.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbi.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbi.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbi.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbj.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbj.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbj.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbj.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbo.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbo.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbo.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbo.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbq.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbq.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbq.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbq.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbu.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbu.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbu.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbu.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbv.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbv.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbv.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbv.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbw.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbw.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbw.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbw.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbx.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbx.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dbx.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbx.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dby.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dby.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dby.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dby.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dca.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dca.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dca.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dca.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dcb.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcb.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dcb.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcb.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dcc.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcc.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dcc.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcc.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dcd.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcd.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dcd.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcd.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dce.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dce.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dce.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dce.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dck.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dck.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dck.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dck.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dcl.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcl.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dcl.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcl.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dcn.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcn.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dcn.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcn.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dcu.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcu.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dcu.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcu.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dcz.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcz.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dcz.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcz.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dde.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dde.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dde.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dde.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_ddf.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddf.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_ddf.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddf.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_ddj.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddj.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_ddj.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddj.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_ddn.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddn.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_ddn.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddn.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_ddp.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddp.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_ddp.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddp.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dew.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dew.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dew.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dew.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfc.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfc.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfc.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfc.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfd.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfd.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfd.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfd.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfe.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfe.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfe.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfe.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfg.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfg.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfg.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfg.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfh.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfh.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfh.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfh.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfl.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfl.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfl.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfl.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfm.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfm.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfm.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfm.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfn.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfn.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfn.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfn.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfo.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfo.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfo.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfo.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfq.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfq.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfq.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfq.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfr.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfr.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dfr.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfr.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dna.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dna.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_dna.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_dna.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_exam_17543.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_17543.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_exam_17543.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_17543.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_exam_76029.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_76029.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_exam_76029.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_76029.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_exam_dna_95635.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_dna_95635.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_exam_dna_95635.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_dna_95635.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_pos_2999.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_2999.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_pos_2999.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_2999.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_pos_dna_91511.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_dna_91511.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_pos_dna_91511.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_dna_91511.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_pos_fab.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fab.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_pos_fab.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fab.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_pos_fah.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fah.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_pos_fah.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fah.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_pos_fpa.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fpa.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nodes_pos_fpa.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fpa.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nras_mutational_analysis_16621.json b/src/test/resources/algorithms/eod_public/3.3/tables/nras_mutational_analysis_16621.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/nras_mutational_analysis_16621.json rename to src/test/resources/algorithms/eod_public/3.3/tables/nras_mutational_analysis_16621.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/number_of_cores_examined_64985.json b/src/test/resources/algorithms/eod_public/3.3/tables/number_of_cores_examined_64985.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/number_of_cores_examined_64985.json rename to src/test/resources/algorithms/eod_public/3.3/tables/number_of_cores_examined_64985.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/number_of_cores_positive_87819.json b/src/test/resources/algorithms/eod_public/3.3/tables/number_of_cores_positive_87819.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/number_of_cores_positive_87819.json rename to src/test/resources/algorithms/eod_public/3.3/tables/number_of_cores_positive_87819.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/number_of_examined_para_aortic_nodes_38078.json b/src/test/resources/algorithms/eod_public/3.3/tables/number_of_examined_para_aortic_nodes_38078.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/number_of_examined_para_aortic_nodes_38078.json rename to src/test/resources/algorithms/eod_public/3.3/tables/number_of_examined_para_aortic_nodes_38078.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/number_of_examined_pelvic_nodes_60771.json b/src/test/resources/algorithms/eod_public/3.3/tables/number_of_examined_pelvic_nodes_60771.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/number_of_examined_pelvic_nodes_60771.json rename to src/test/resources/algorithms/eod_public/3.3/tables/number_of_examined_pelvic_nodes_60771.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/number_of_positive_ipsilateral_level_i_ii_axillary_lymph_nodes_79439.json b/src/test/resources/algorithms/eod_public/3.3/tables/number_of_positive_ipsilateral_level_i_ii_axillary_lymph_nodes_79439.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/number_of_positive_ipsilateral_level_i_ii_axillary_lymph_nodes_79439.json rename to src/test/resources/algorithms/eod_public/3.3/tables/number_of_positive_ipsilateral_level_i_ii_axillary_lymph_nodes_79439.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/number_of_positive_para_aortic_nodes_62533.json b/src/test/resources/algorithms/eod_public/3.3/tables/number_of_positive_para_aortic_nodes_62533.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/number_of_positive_para_aortic_nodes_62533.json rename to src/test/resources/algorithms/eod_public/3.3/tables/number_of_positive_para_aortic_nodes_62533.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/number_of_postive_pelvic_nodes_94512.json b/src/test/resources/algorithms/eod_public/3.3/tables/number_of_postive_pelvic_nodes_94512.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/number_of_postive_pelvic_nodes_94512.json rename to src/test/resources/algorithms/eod_public/3.3/tables/number_of_postive_pelvic_nodes_94512.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/occult_head_and_neck_lymph_nodes_10277.json b/src/test/resources/algorithms/eod_public/3.3/tables/occult_head_and_neck_lymph_nodes_10277.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/occult_head_and_neck_lymph_nodes_10277.json rename to src/test/resources/algorithms/eod_public/3.3/tables/occult_head_and_neck_lymph_nodes_10277.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recur_score_73667.json b/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recur_score_73667.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recur_score_73667.json rename to src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recur_score_73667.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recurrence_score_dcis_70549.json b/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recurrence_score_dcis_70549.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recurrence_score_dcis_70549.json rename to src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recurrence_score_dcis_70549.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_11033.json b/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_11033.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_11033.json rename to src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_11033.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_dcis_53080.json b/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_dcis_53080.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_dcis_53080.json rename to src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_dcis_53080.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/organomegaly_16131.json b/src/test/resources/algorithms/eod_public/3.3/tables/organomegaly_16131.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/organomegaly_16131.json rename to src/test/resources/algorithms/eod_public/3.3/tables/organomegaly_16131.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/oropharyngeal_p16_44685.json b/src/test/resources/algorithms/eod_public/3.3/tables/oropharyngeal_p16_44685.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/oropharyngeal_p16_44685.json rename to src/test/resources/algorithms/eod_public/3.3/tables/oropharyngeal_p16_44685.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/p16_19452.json b/src/test/resources/algorithms/eod_public/3.3/tables/p16_19452.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/p16_19452.json rename to src/test/resources/algorithms/eod_public/3.3/tables/p16_19452.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/p16_831.json b/src/test/resources/algorithms/eod_public/3.3/tables/p16_831.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/p16_831.json rename to src/test/resources/algorithms/eod_public/3.3/tables/p16_831.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/p16_anus_2709.json b/src/test/resources/algorithms/eod_public/3.3/tables/p16_anus_2709.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/p16_anus_2709.json rename to src/test/resources/algorithms/eod_public/3.3/tables/p16_anus_2709.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/p16_hpv_human_papilloma_virus_status_head_and_neck_509.json b/src/test/resources/algorithms/eod_public/3.3/tables/p16_hpv_human_papilloma_virus_status_head_and_neck_509.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/p16_hpv_human_papilloma_virus_status_head_and_neck_509.json rename to src/test/resources/algorithms/eod_public/3.3/tables/p16_hpv_human_papilloma_virus_status_head_and_neck_509.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/pd_l1_61573.json b/src/test/resources/algorithms/eod_public/3.3/tables/pd_l1_61573.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/pd_l1_61573.json rename to src/test/resources/algorithms/eod_public/3.3/tables/pd_l1_61573.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/perineural_invasion_24604.json b/src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_24604.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/perineural_invasion_24604.json rename to src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_24604.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/perineural_invasion_27557.json b/src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_27557.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/perineural_invasion_27557.json rename to src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_27557.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/perineural_invasion_84622.json b/src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_84622.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/perineural_invasion_84622.json rename to src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_84622.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/peripheral_blood_involv_92357.json b/src/test/resources/algorithms/eod_public/3.3/tables/peripheral_blood_involv_92357.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/peripheral_blood_involv_92357.json rename to src/test/resources/algorithms/eod_public/3.3/tables/peripheral_blood_involv_92357.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_38674.json b/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_38674.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_38674.json rename to src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_38674.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_19664.json b/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_19664.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_19664.json rename to src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_19664.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_66387.json b/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_66387.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_66387.json rename to src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_66387.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_88427.json b/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_88427.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_88427.json rename to src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_88427.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/pleural_effusion_40041.json b/src/test/resources/algorithms/eod_public/3.3/tables/pleural_effusion_40041.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/pleural_effusion_40041.json rename to src/test/resources/algorithms/eod_public/3.3/tables/pleural_effusion_40041.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/post_neoadj_chemo_percent_necrosis_15912.json b/src/test/resources/algorithms/eod_public/3.3/tables/post_neoadj_chemo_percent_necrosis_15912.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/post_neoadj_chemo_percent_necrosis_15912.json rename to src/test/resources/algorithms/eod_public/3.3/tables/post_neoadj_chemo_percent_necrosis_15912.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/pr_allred_score_83938.json b/src/test/resources/algorithms/eod_public/3.3/tables/pr_allred_score_83938.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/pr_allred_score_83938.json rename to src/test/resources/algorithms/eod_public/3.3/tables/pr_allred_score_83938.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/pr_percent_positive_94563.json b/src/test/resources/algorithms/eod_public/3.3/tables/pr_percent_positive_94563.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/pr_percent_positive_94563.json rename to src/test/resources/algorithms/eod_public/3.3/tables/pr_percent_positive_94563.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/pr_summary_49534.json b/src/test/resources/algorithms/eod_public/3.3/tables/pr_summary_49534.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/pr_summary_49534.json rename to src/test/resources/algorithms/eod_public/3.3/tables/pr_summary_49534.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/primary_peritoneum_tumor_19475.json b/src/test/resources/algorithms/eod_public/3.3/tables/primary_peritoneum_tumor_19475.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/primary_peritoneum_tumor_19475.json rename to src/test/resources/algorithms/eod_public/3.3/tables/primary_peritoneum_tumor_19475.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/primary_scleros_cholangitis_86402.json b/src/test/resources/algorithms/eod_public/3.3/tables/primary_scleros_cholangitis_86402.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/primary_scleros_cholangitis_86402.json rename to src/test/resources/algorithms/eod_public/3.3/tables/primary_scleros_cholangitis_86402.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/primary_site.json b/src/test/resources/algorithms/eod_public/3.3/tables/primary_site.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/primary_site.json rename to src/test/resources/algorithms/eod_public/3.3/tables/primary_site.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/profound_immune_suppression_68178.json b/src/test/resources/algorithms/eod_public/3.3/tables/profound_immune_suppression_68178.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/profound_immune_suppression_68178.json rename to src/test/resources/algorithms/eod_public/3.3/tables/profound_immune_suppression_68178.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/psa_46258.json b/src/test/resources/algorithms/eod_public/3.3/tables/psa_46258.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/psa_46258.json rename to src/test/resources/algorithms/eod_public/3.3/tables/psa_46258.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ptld_17694.json b/src/test/resources/algorithms/eod_public/3.3/tables/ptld_17694.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ptld_17694.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ptld_17694.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/radiation_surg_seq.json b/src/test/resources/algorithms/eod_public/3.3/tables/radiation_surg_seq.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/radiation_surg_seq.json rename to src/test/resources/algorithms/eod_public/3.3/tables/radiation_surg_seq.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/rcb_class_750.json b/src/test/resources/algorithms/eod_public/3.3/tables/rcb_class_750.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/rcb_class_750.json rename to src/test/resources/algorithms/eod_public/3.3/tables/rcb_class_750.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/residual_cancer_burden_62520.json b/src/test/resources/algorithms/eod_public/3.3/tables/residual_cancer_burden_62520.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/residual_cancer_burden_62520.json rename to src/test/resources/algorithms/eod_public/3.3/tables/residual_cancer_burden_62520.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/residual_tumor_volume_post_cytoreduction_90653.json b/src/test/resources/algorithms/eod_public/3.3/tables/residual_tumor_volume_post_cytoreduction_90653.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/residual_tumor_volume_post_cytoreduction_90653.json rename to src/test/resources/algorithms/eod_public/3.3/tables/residual_tumor_volume_post_cytoreduction_90653.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/response_to_neoadjuvant_therapy_57695.json b/src/test/resources/algorithms/eod_public/3.3/tables/response_to_neoadjuvant_therapy_57695.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/response_to_neoadjuvant_therapy_57695.json rename to src/test/resources/algorithms/eod_public/3.3/tables/response_to_neoadjuvant_therapy_57695.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/s_category_clinical_19191.json b/src/test/resources/algorithms/eod_public/3.3/tables/s_category_clinical_19191.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/s_category_clinical_19191.json rename to src/test/resources/algorithms/eod_public/3.3/tables/s_category_clinical_19191.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/s_category_pathologic_34448.json b/src/test/resources/algorithms/eod_public/3.3/tables/s_category_pathologic_34448.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/s_category_pathologic_34448.json rename to src/test/resources/algorithms/eod_public/3.3/tables/s_category_pathologic_34448.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/sarcomatoid_features_99558.json b/src/test/resources/algorithms/eod_public/3.3/tables/sarcomatoid_features_99558.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/sarcomatoid_features_99558.json rename to src/test/resources/algorithms/eod_public/3.3/tables/sarcomatoid_features_99558.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_discriminator_1_63995.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_discriminator_1_63995.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_discriminator_1_63995.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_discriminator_1_63995.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_discriminator_2_15990.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_discriminator_2_15990.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_discriminator_2_15990.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_discriminator_2_15990.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_adnexa_uterine_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_adnexa_uterine_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_adnexa_uterine_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_adnexa_uterine_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_adrenal_gland.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_adrenal_gland.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_adrenal_gland.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_adrenal_gland.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_ampulla_vater.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ampulla_vater.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_ampulla_vater.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ampulla_vater.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_anus.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_anus.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_anus.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_anus.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_anus_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_anus_v9_2023.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_anus_v9_2023.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_anus_v9_2023.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix_v9_2023.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix_v9_2023.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix_v9_2023.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_distal.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_distal.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_distal.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_distal.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_intrahepat.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_intrahepat.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_intrahepat.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_intrahepat.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_perihilar.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_perihilar.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_perihilar.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_perihilar.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_biliary_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_biliary_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_biliary_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_biliary_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_bladder.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bladder.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_bladder.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bladder.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_bone.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_bone.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_appendicular_skeleton.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_appendicular_skeleton.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_appendicular_skeleton.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_appendicular_skeleton.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_spine.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_spine.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_spine.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_spine.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_brain.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_brain.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_brain.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_brain.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_brain_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_brain_v9_2023.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_brain_v9_2023.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_brain_v9_2023.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_breast.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_breast.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_breast.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_breast.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_buccal_mucosa.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_buccal_mucosa.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_buccal_mucosa.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_buccal_mucosa.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_carcinoid_appendix.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_carcinoid_appendix.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_carcinoid_appendix.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_carcinoid_appendix.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cervical_lymph_nodes_occult_head_and_neck.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervical_lymph_nodes_occult_head_and_neck.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cervical_lymph_nodes_occult_head_and_neck.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervical_lymph_nodes_occult_head_and_neck.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_9th_2021.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_9th_2021.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_9th_2021.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_9th_2021.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_sarcoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_sarcoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_sarcoma.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_sarcoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_chronic_lymphocytic_leukemia_small_lymphocytic_lymphoma_cll_sll.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_chronic_lymphocytic_leukemia_small_lymphocytic_lymphoma_cll_sll.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_chronic_lymphocytic_leukemia_small_lymphocytic_lymphoma_cll_sll.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_chronic_lymphocytic_leukemia_small_lymphocytic_lymphoma_cll_sll.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other_v9_2023.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other_v9_2023.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other_v9_2023.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_colon.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_colon.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_colon.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_colon.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_conjunctiva.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_conjunctiva.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_conjunctiva.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_conjunctiva.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_adenosarcoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_adenosarcoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_adenosarcoma.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_adenosarcoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_carcinoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_carcinoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_carcinoma.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_carcinoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_sarcoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_sarcoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_sarcoma.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_sarcoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cutaneous_squamous_cell_carcinoma_head_and_neck.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cutaneous_squamous_cell_carcinoma_head_and_neck.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cutaneous_squamous_cell_carcinoma_head_and_neck.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cutaneous_squamous_cell_carcinoma_head_and_neck.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cystic_duct.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cystic_duct.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_cystic_duct.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cystic_duct.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_digestive_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_digestive_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_digestive_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_digestive_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_endocrine_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_endocrine_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_endocrine_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_endocrine_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_gejunction.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_gejunction.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_gejunction.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_gejunction.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_including_ge_junction_squamous.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_including_ge_junction_squamous.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_including_ge_junction_squamous.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_including_ge_junction_squamous.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_eye_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_eye_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_eye_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_eye_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_fallopian_tube.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_fallopian_tube.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_fallopian_tube.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_fallopian_tube.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_floor_mouth.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_floor_mouth.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_floor_mouth.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_floor_mouth.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_gallbladder.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gallbladder.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_gallbladder.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gallbladder.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_female_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_female_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_female_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_female_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_male_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_male_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_male_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_male_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_gist_appendix.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gist_appendix.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_gist_appendix.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gist_appendix.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_gum_lower.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gum_lower.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_gum_lower.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gum_lower.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_heart_mediastinum.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_heart_mediastinum.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_heart_mediastinum.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_heart_mediastinum.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_heme_retic.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_heme_retic.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_heme_retic.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_heme_retic.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_hypopharynx.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_hypopharynx.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_hypopharynx.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_hypopharynx.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_ill_defined_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ill_defined_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_ill_defined_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ill_defined_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland_v9_2023.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland_v9_2023.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland_v9_2023.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_kaposi_sarcoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kaposi_sarcoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_kaposi_sarcoma.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kaposi_sarcoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_parenchyma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_parenchyma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_parenchyma.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_parenchyma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_renal_pelvis.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_renal_pelvis.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_renal_pelvis.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_renal_pelvis.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_gland.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_gland.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_gland.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_gland.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_sac.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_sac.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_sac.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_sac.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_glottic.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_glottic.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_glottic.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_glottic.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_subglottic.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_subglottic.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_subglottic.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_subglottic.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_supraglottic.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_supraglottic.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_supraglottic.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_supraglottic.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_lip_lower.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lip_lower.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_lip_lower.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lip_lower.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_liver.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_liver.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_liver.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_liver.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_lung.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lung.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_lung.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lung.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_lung_v9_2025.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lung_v9_2025.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_lung_v9_2025.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lung_v9_2025.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma_ocular_adnexa.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma_ocular_adnexa.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma_ocular_adnexa.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma_ocular_adnexa.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_major_salivary_glands_v9_2026.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_major_salivary_glands_v9_2026.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_major_salivary_glands_v9_2026.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_major_salivary_glands_v9_2026.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_medulloblastoma_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_medulloblastoma_v9_2023.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_medulloblastoma_v9_2023.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_medulloblastoma_v9_2023.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_buccal_mucosa.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_buccal_mucosa.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_buccal_mucosa.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_buccal_mucosa.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_ciliary_body.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_ciliary_body.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_ciliary_body.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_ciliary_body.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_conjunctiva.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_conjunctiva.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_conjunctiva.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_conjunctiva.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_iris.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_iris.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_iris.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_iris.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_skin.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_skin.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_skin.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_skin.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_merkel_cell_skin.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_merkel_cell_skin.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_merkel_cell_skin.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_merkel_cell_skin.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_middle_ear.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_middle_ear.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_middle_ear.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_middle_ear.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_mouth_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_mouth_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_mouth_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_mouth_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_mycosis_fungoides.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_mycosis_fungoides.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_mycosis_fungoides.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_mycosis_fungoides.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_myeloma_plasma_cell_disorder.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_myeloma_plasma_cell_disorder.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_myeloma_plasma_cell_disorder.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_myeloma_plasma_cell_disorder.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_nasal_cavity.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasal_cavity.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_nasal_cavity.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasal_cavity.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx_v9_2025.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx_v9_2025.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx_v9_2025.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx_v9_2025.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_adrenal_gland.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_adrenal_gland.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_adrenal_gland.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_adrenal_gland.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla_of_vater_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla_of_vater_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla_of_vater_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla_of_vater_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_appendix_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_appendix_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_appendix_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_appendix_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon_and_rectum_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon_and_rectum_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon_and_rectum_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon_and_rectum_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_jejunum_and_ileum_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_jejunum_and_ileum_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_jejunum_and_ileum_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_jejunum_and_ileum_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_small_intestine.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_small_intestine.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_small_intestine.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_small_intestine.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_orbit.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_orbit.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_orbit.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_orbit.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx_hpv_associated_v9_2026.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx_hpv_associated_v9_2026.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx_hpv_associated_v9_2026.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx_hpv_associated_v9_2026.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_ovary.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ovary.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_ovary.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ovary.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_palate_hard.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_palate_hard.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_palate_hard.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_palate_hard.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_pancreas_body_tail.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pancreas_body_tail.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_pancreas_body_tail.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pancreas_body_tail.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_parathyroid.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_parathyroid.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_parathyroid.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_parathyroid.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_parotid_gland.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_parotid_gland.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_parotid_gland.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_parotid_gland.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_penis.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_penis.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_penis.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_penis.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_peritoneum.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_peritoneum.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_peritoneum.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_peritoneum.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_pharynx_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pharynx_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_pharynx_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pharynx_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_placenta.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_placenta.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_placenta.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_placenta.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_plasmacytomas.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_plasmacytomas.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_plasmacytomas.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_plasmacytomas.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_pleura.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pleura.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_pleura.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pleura.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_pleural_mesothelioma_v9_2025.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pleural_mesothelioma_v9_2025.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_pleural_mesothelioma_v9_2025.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pleural_mesothelioma_v9_2025.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_cutaneous_lymphoma_non_mf_ss.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_cutaneous_lymphoma_non_mf_ss.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_cutaneous_lymphoma_non_mf_ss.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_cutaneous_lymphoma_non_mf_ss.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_peritoneal_carcinoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_peritoneal_carcinoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_peritoneal_carcinoma.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_peritoneal_carcinoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_prostate.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_prostate.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_prostate.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_prostate.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_respiratory_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_respiratory_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_respiratory_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_respiratory_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_retinoblastoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_retinoblastoma.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_retinoblastoma.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_retinoblastoma.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_retroperitoneum.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_retroperitoneum.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_retroperitoneum.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_retroperitoneum.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_maxillary.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_maxillary.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_maxillary.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_maxillary.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_eyelid.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_eyelid.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_eyelid.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_eyelid.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_small_intestine.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_small_intestine.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_small_intestine.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_small_intestine.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_heart_and_mediastinum.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_heart_and_mediastinum.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_heart_and_mediastinum.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_heart_and_mediastinum.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_rare.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_rare.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_rare.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_rare.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_sarcoma_head_and_neck.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_sarcoma_head_and_neck.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_sarcoma_head_and_neck.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_sarcoma_head_and_neck.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_trunk_and_extremities.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_trunk_and_extremities.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_trunk_and_extremities.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_trunk_and_extremities.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_stomach.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_stomach.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_stomach.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_stomach.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_testis.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_testis.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_testis.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_testis.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus_v9_2025.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus_v9_2025.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus_v9_2025.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus_v9_2025.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid_medullary.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid_medullary.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid_medullary.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid_medullary.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_anterior.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_anterior.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_anterior.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_anterior.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_base.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_base.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_base.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_base.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_trachea.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_trachea.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_trachea.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_trachea.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra_prostatic.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra_prostatic.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra_prostatic.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra_prostatic.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_urinary_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urinary_other.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_urinary_other.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urinary_other.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_vagina.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vagina.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_vagina.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vagina.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva_v9_2024.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva_v9_2024.json rename to src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva_v9_2024.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_21628.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_21628.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_21628.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_21628.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_32413.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_32413.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_32413.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_32413.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_4721.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_4721.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_4721.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_4721.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_48348.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_48348.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_48348.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_48348.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_57075.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_57075.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_57075.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_57075.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_61487.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_61487.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_61487.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_61487.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_66514.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_66514.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_66514.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_66514.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_79245.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_79245.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_79245.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_79245.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_84419.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_84419.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_84419.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_84419.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_90003.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_90003.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_90003.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_90003.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_90643.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_90643.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_90643.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_90643.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_lip_lower_28596.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_lip_lower_28596.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_lip_lower_28596.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_lip_lower_28596.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_melanomachoroid_55264.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_melanomachoroid_55264.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_melanomachoroid_55264.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_melanomachoroid_55264.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_nasopharynx_46629.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_nasopharynx_46629.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_nasopharynx_46629.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_nasopharynx_46629.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_sinus_othervs2_15755.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_sinus_othervs2_15755.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_mets_sinus_othervs2_15755.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_sinus_othervs2_15755.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_25824.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_25824.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_25824.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_25824.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_31838.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_31838.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_31838.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_31838.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_36538.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_36538.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_36538.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_36538.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_38025.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_38025.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_38025.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_38025.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42176.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42176.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42176.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42176.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42751.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42751.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42751.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42751.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_43302.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_43302.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_43302.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_43302.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_44962.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_44962.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_44962.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_44962.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_52444.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_52444.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_52444.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_52444.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_53926.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_53926.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_53926.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_53926.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_59317.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_59317.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_59317.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_59317.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_60433.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_60433.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_60433.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_60433.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_6275.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_6275.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_6275.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_6275.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_68925.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_68925.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_68925.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_68925.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_72151.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_72151.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_72151.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_72151.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_88917.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_88917.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_88917.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_88917.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_9084.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_9084.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_9084.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_9084.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_94875.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_94875.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_94875.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_94875.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_95193.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_95193.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_95193.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_95193.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_96082.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_96082.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_96082.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_96082.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_eyeother_64077.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_eyeother_64077.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_eyeother_64077.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_eyeother_64077.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_head_neck_melanoma_38698.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_head_neck_melanoma_38698.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_head_neck_melanoma_38698.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_head_neck_melanoma_38698.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_17757.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_17757.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_17757.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_17757.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_19661.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_19661.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_19661.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_19661.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_27397.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_27397.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_27397.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_27397.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_36710.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_36710.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_36710.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_36710.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_67072.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_67072.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_67072.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_67072.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69051.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69051.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69051.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69051.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69974.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69974.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69974.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69974.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_83435.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_83435.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_83435.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_83435.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_91716.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_91716.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_91716.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_91716.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_93152.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_93152.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_93152.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_93152.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_copy_24179.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_copy_24179.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_copy_24179.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_copy_24179.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_eyeother_16963.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_eyeother_16963.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_eyeother_16963.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_eyeother_16963.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_lacrimal_sac_33881.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_lacrimal_sac_33881.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_lacrimal_sac_33881.json rename to src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_lacrimal_sac_33881.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_exam_7235.json b/src/test/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_exam_7235.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_exam_7235.json rename to src/test/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_exam_7235.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_pos_95909.json b/src/test/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_pos_95909.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_pos_95909.json rename to src/test/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_pos_95909.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/separate_tumor_nodules_69006.json b/src/test/resources/algorithms/eod_public/3.3/tables/separate_tumor_nodules_69006.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/separate_tumor_nodules_69006.json rename to src/test/resources/algorithms/eod_public/3.3/tables/separate_tumor_nodules_69006.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/serum_alb_pretx_level_58159.json b/src/test/resources/algorithms/eod_public/3.3/tables/serum_alb_pretx_level_58159.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/serum_alb_pretx_level_58159.json rename to src/test/resources/algorithms/eod_public/3.3/tables/serum_alb_pretx_level_58159.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/sex_assigned_at_birth_63290.json b/src/test/resources/algorithms/eod_public/3.3/tables/sex_assigned_at_birth_63290.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/sex_assigned_at_birth_63290.json rename to src/test/resources/algorithms/eod_public/3.3/tables/sex_assigned_at_birth_63290.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/spread_through_air_spaces_stas_67834.json b/src/test/resources/algorithms/eod_public/3.3/tables/spread_through_air_spaces_stas_67834.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/spread_through_air_spaces_stas_67834.json rename to src/test/resources/algorithms/eod_public/3.3/tables/spread_through_air_spaces_stas_67834.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_44993.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_44993.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_44993.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_44993.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_adnexa_uterine_other_values_44976.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_adnexa_uterine_other_values_44976.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_adnexa_uterine_other_values_44976.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_adnexa_uterine_other_values_44976.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_adrenal_gland_including_net_adrenal_70096.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_adrenal_gland_including_net_adrenal_70096.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_adrenal_gland_including_net_adrenal_70096.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_adrenal_gland_including_net_adrenal_70096.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_ampulla_of_vater_including_net_96311.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ampulla_of_vater_including_net_96311.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_ampulla_of_vater_including_net_96311.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ampulla_of_vater_including_net_96311.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_anus_55561.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_anus_55561.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_anus_55561.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_anus_55561.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_appendix_including_netl_54459.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_appendix_including_netl_54459.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_appendix_including_netl_54459.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_appendix_including_netl_54459.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_bladder_57733.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_bladder_57733.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_bladder_57733.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_bladder_57733.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_brain_67865.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_brain_67865.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_brain_67865.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_brain_67865.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_breast_69079.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_breast_69079.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_breast_69079.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_breast_69079.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_buccal_mucosa_94903.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_buccal_mucosa_94903.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_buccal_mucosa_94903.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_buccal_mucosa_94903.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_cervical_lymph_nodes_and_unknown_primary_tumor_8991.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cervical_lymph_nodes_and_unknown_primary_tumor_8991.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_cervical_lymph_nodes_and_unknown_primary_tumor_8991.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cervical_lymph_nodes_and_unknown_primary_tumor_8991.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_cervix_64954.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cervix_64954.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_cervix_64954.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cervix_64954.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_cns_other_67712.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cns_other_67712.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_cns_other_67712.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cns_other_67712.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_colon_and_rectum_including_net_40538.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_colon_and_rectum_including_net_40538.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_colon_and_rectum_including_net_40538.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_colon_and_rectum_including_net_40538.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_conjunctiva_16779.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_conjunctiva_16779.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_conjunctiva_16779.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_conjunctiva_16779.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_carcinoma_and_carcinosarcoma_28794.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_carcinoma_and_carcinosarcoma_28794.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_carcinoma_and_carcinosarcoma_28794.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_carcinoma_and_carcinosarcoma_28794.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_sarcoma_75896.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_sarcoma_75896.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_sarcoma_75896.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_sarcoma_75896.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_digestive_other_9136.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_digestive_other_9136.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_digestive_other_9136.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_digestive_other_9136.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_endocrine_other_54817.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_endocrine_other_54817.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_endocrine_other_54817.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_endocrine_other_54817.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_esophagus_excluding_gist_57104.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_esophagus_excluding_gist_57104.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_esophagus_excluding_gist_57104.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_esophagus_excluding_gist_57104.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_extrahepatic_bile_ducts_65728.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_extrahepatic_bile_ducts_65728.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_extrahepatic_bile_ducts_65728.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_extrahepatic_bile_ducts_65728.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_eye_other_36531.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_eye_other_36531.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_eye_other_36531.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_eye_other_36531.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_fallopian_tube_83058.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_fallopian_tube_83058.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_fallopian_tube_83058.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_fallopian_tube_83058.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_floor_mouth_83713.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_floor_mouth_83713.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_floor_mouth_83713.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_floor_mouth_83713.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_floor_of_mouth_27181.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_floor_of_mouth_27181.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_floor_of_mouth_27181.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_floor_of_mouth_27181.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_gallbladder_15174.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gallbladder_15174.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_gallbladder_15174.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gallbladder_15174.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_genital_female_other_5962.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_genital_female_other_5962.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_genital_female_other_5962.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_genital_female_other_5962.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_genital_male_other_44390.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_genital_male_other_44390.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_genital_male_other_44390.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_genital_male_other_44390.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_gist_23534.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gist_23534.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_gist_23534.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gist_23534.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_gum_75440.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gum_75440.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_gum_75440.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gum_75440.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_hemeretic_3793.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_hemeretic_3793.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_hemeretic_3793.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_hemeretic_3793.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_hypopharynx_excluding_melanoma_8720_8790_copy_30010.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_hypopharynx_excluding_melanoma_8720_8790_copy_30010.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_hypopharynx_excluding_melanoma_8720_8790_copy_30010.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_hypopharynx_excluding_melanoma_8720_8790_copy_30010.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_ill_defined_18664.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ill_defined_18664.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_ill_defined_18664.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ill_defined_18664.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_intracranial_gland_98794.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_intracranial_gland_98794.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_intracranial_gland_98794.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_intracranial_gland_98794.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_intrahepatic_bile_ducts_51957.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_intrahepatic_bile_ducts_51957.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_intrahepatic_bile_ducts_51957.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_intrahepatic_bile_ducts_51957.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_kaposi_sarcoma_17563.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kaposi_sarcoma_17563.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_kaposi_sarcoma_17563.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kaposi_sarcoma_17563.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_parenchyma_30980.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_parenchyma_30980.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_parenchyma_30980.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_parenchyma_30980.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_pelvis_29650.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_pelvis_29650.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_pelvis_29650.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_pelvis_29650.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_lacrimal_gland_82062.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lacrimal_gland_82062.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_lacrimal_gland_82062.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lacrimal_gland_82062.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_glottic_excluding_melanoma_8720_8790_2238.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_glottic_excluding_melanoma_8720_8790_2238.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_glottic_excluding_melanoma_8720_8790_2238.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_glottic_excluding_melanoma_8720_8790_2238.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_other_excluding_melanoma_8720_8790_40558.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_other_excluding_melanoma_8720_8790_40558.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_other_excluding_melanoma_8720_8790_40558.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_other_excluding_melanoma_8720_8790_40558.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_subglottic_excluding_melanoma_8720_8790_93242.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_subglottic_excluding_melanoma_8720_8790_93242.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_subglottic_excluding_melanoma_8720_8790_93242.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_subglottic_excluding_melanoma_8720_8790_93242.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_supraglottic_excluding_melanoma_8720_8790_91429.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_supraglottic_excluding_melanoma_8720_8790_91429.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_supraglottic_excluding_melanoma_8720_8790_91429.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_supraglottic_excluding_melanoma_8720_8790_91429.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_lip_92534.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lip_92534.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_lip_92534.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lip_92534.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_liver_84469.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_liver_84469.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_liver_84469.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_liver_84469.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_lung_41334.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lung_41334.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_lung_41334.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lung_41334.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_27031.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_27031.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_27031.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_27031.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_ocular_adnexa_3583.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_ocular_adnexa_3583.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_ocular_adnexa_3583.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_ocular_adnexa_3583.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_major_salivary_glands_43893.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_major_salivary_glands_43893.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_major_salivary_glands_43893.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_major_salivary_glands_43893.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_medulloblastoma_22906.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_medulloblastoma_22906.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_medulloblastoma_22906.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_medulloblastoma_22906.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_choroid_ciliary_body_iris_21929.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_choroid_ciliary_body_iris_21929.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_choroid_ciliary_body_iris_21929.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_choroid_ciliary_body_iris_21929.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_conjunctiva_86342.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_conjunctiva_86342.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_conjunctiva_86342.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_conjunctiva_86342.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_head_and_neck_8720_8790_46168.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_head_and_neck_8720_8790_46168.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_head_and_neck_8720_8790_46168.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_head_and_neck_8720_8790_46168.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_skin_64985.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_skin_64985.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_skin_64985.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_skin_64985.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_merkel_cell_carcinoma_89481.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_merkel_cell_carcinoma_89481.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_merkel_cell_carcinoma_89481.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_merkel_cell_carcinoma_89481.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_middle_ear_16857.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_middle_ear_16857.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_middle_ear_16857.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_middle_ear_16857.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_mouth_other_31159.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_mouth_other_31159.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_mouth_other_31159.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_mouth_other_31159.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_mycosis_fungoides_94448.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_mycosis_fungoides_94448.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_mycosis_fungoides_94448.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_mycosis_fungoides_94448.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_nasal_cavity_and_ethmoid_sinus_excluding_melanoma_8720_8790_21699.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_nasal_cavity_and_ethmoid_sinus_excluding_melanoma_8720_8790_21699.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_nasal_cavity_and_ethmoid_sinus_excluding_melanoma_8720_8790_21699.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_nasal_cavity_and_ethmoid_sinus_excluding_melanoma_8720_8790_21699.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_nasopharynx_excluding_melanoma_8720_8790_copy_99106.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_nasopharynx_excluding_melanoma_8720_8790_copy_99106.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_nasopharynx_excluding_melanoma_8720_8790_copy_99106.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_nasopharynx_excluding_melanoma_8720_8790_copy_99106.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_orbit_27202.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_orbit_27202.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_orbit_27202.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_orbit_27202.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_oropharynx_excluding_melanoma_8720_8790_9999.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_oropharynx_excluding_melanoma_8720_8790_9999.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_oropharynx_excluding_melanoma_8720_8790_9999.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_oropharynx_excluding_melanoma_8720_8790_9999.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_ovary_fallopian_tube_and_peritoneal_carcinoma_21678.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ovary_fallopian_tube_and_peritoneal_carcinoma_21678.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_ovary_fallopian_tube_and_peritoneal_carcinoma_21678.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ovary_fallopian_tube_and_peritoneal_carcinoma_21678.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_palate_hard_86267.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_palate_hard_86267.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_palate_hard_86267.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_palate_hard_86267.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_pancreas_95507.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pancreas_95507.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_pancreas_95507.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pancreas_95507.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_parathyroid_99309.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_parathyroid_99309.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_parathyroid_99309.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_parathyroid_99309.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_penis_97065.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_penis_97065.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_penis_97065.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_penis_97065.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_pharynx_nos_excluding_melanoma_8720_8790_3303.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pharynx_nos_excluding_melanoma_8720_8790_3303.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_pharynx_nos_excluding_melanoma_8720_8790_3303.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pharynx_nos_excluding_melanoma_8720_8790_3303.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_placenta_66365.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_placenta_66365.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_placenta_66365.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_placenta_66365.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_pleura_60930.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pleura_60930.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_pleura_60930.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pleura_60930.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_primary_cutaneous_lymphomas_4605.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_primary_cutaneous_lymphomas_4605.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_primary_cutaneous_lymphomas_4605.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_primary_cutaneous_lymphomas_4605.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_prostate_76172.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_prostate_76172.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_prostate_76172.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_prostate_76172.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_respiratory_other_36695.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_respiratory_other_36695.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_respiratory_other_36695.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_respiratory_other_36695.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_retinoblastoma_45411.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_retinoblastoma_45411.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_retinoblastoma_45411.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_retinoblastoma_45411.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_sinus_other_excluding_melanoma_8720_8790_91859.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_sinus_other_excluding_melanoma_8720_8790_91859.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_sinus_other_excluding_melanoma_8720_8790_91859.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_sinus_other_excluding_melanoma_8720_8790_91859.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_skin_of_eyelid_82925.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_skin_of_eyelid_82925.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_skin_of_eyelid_82925.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_skin_of_eyelid_82925.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_skin_other_56341.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_skin_other_56341.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_skin_other_56341.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_skin_other_56341.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_small_intestine_including_net_85335.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_small_intestine_including_net_85335.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_small_intestine_including_net_85335.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_small_intestine_including_net_85335.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_31311.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_31311.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_31311.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_31311.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_heart_mediastinum_pleura_63956.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_heart_mediastinum_pleura_63956.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_heart_mediastinum_pleura_63956.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_heart_mediastinum_pleura_63956.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_retroperitoneum_5644.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_retroperitoneum_5644.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_retroperitoneum_5644.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_retroperitoneum_5644.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_stomach_including_net_stomach_35647.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_stomach_including_net_stomach_35647.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_stomach_including_net_stomach_35647.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_stomach_including_net_stomach_35647.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_testis_82848.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_testis_82848.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_testis_82848.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_testis_82848.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_thymus_60066.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_thymus_60066.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_thymus_60066.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_thymus_60066.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_thyroid_33058.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_thyroid_33058.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_thyroid_33058.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_thyroid_33058.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_tongue_anterior_66978.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_tongue_anterior_66978.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_tongue_anterior_66978.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_tongue_anterior_66978.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_trachea_70961.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_trachea_70961.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_trachea_70961.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_trachea_70961.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_urethra_14363.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_urethra_14363.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_urethra_14363.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_urethra_14363.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_urinary_other_87865.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_urinary_other_87865.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_urinary_other_87865.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_urinary_other_87865.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_vagina_94653.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_vagina_94653.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_vagina_94653.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_vagina_94653.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_validation.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_validation.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_validation.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_validation.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_vulva_49198.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_vulva_49198.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ss2018_vulva_49198.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ss2018_vulva_49198.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/summary_stage_benign_3306.json b/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_benign_3306.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/summary_stage_benign_3306.json rename to src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_benign_3306.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/summary_stage_lymphoma_25139.json b/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_lymphoma_25139.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/summary_stage_lymphoma_25139.json rename to src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_lymphoma_25139.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/summary_stage_raa.json b/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_raa.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/summary_stage_raa.json rename to src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_raa.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/summary_stage_rac.json b/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_rac.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/summary_stage_rac.json rename to src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_rac.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/summary_stage_rpa.json b/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_rpa.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/summary_stage_rpa.json rename to src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_rpa.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/systemic_surg_seq.json b/src/test/resources/algorithms/eod_public/3.3/tables/systemic_surg_seq.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/systemic_surg_seq.json rename to src/test/resources/algorithms/eod_public/3.3/tables/systemic_surg_seq.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/systemic_symptoms_at_dx_60639.json b/src/test/resources/algorithms/eod_public/3.3/tables/systemic_symptoms_at_dx_60639.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/systemic_symptoms_at_dx_60639.json rename to src/test/resources/algorithms/eod_public/3.3/tables/systemic_symptoms_at_dx_60639.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/thrombocytopenia_8479.json b/src/test/resources/algorithms/eod_public/3.3/tables/thrombocytopenia_8479.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/thrombocytopenia_8479.json rename to src/test/resources/algorithms/eod_public/3.3/tables/thrombocytopenia_8479.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/thyroid_gland_thyroglossal_duct_21498.json b/src/test/resources/algorithms/eod_public/3.3/tables/thyroid_gland_thyroglossal_duct_21498.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/thyroid_gland_thyroglossal_duct_21498.json rename to src/test/resources/algorithms/eod_public/3.3/tables/thyroid_gland_thyroglossal_duct_21498.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_deposits_40070.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_deposits_40070.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_deposits_40070.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_deposits_40070.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_growth_pattern_31889.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_growth_pattern_31889.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_growth_pattern_31889.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_growth_pattern_31889.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_48894.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_48894.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_48894.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_48894.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_60979.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_60979.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_60979.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_60979.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_breast_34385.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_breast_34385.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_breast_34385.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_breast_34385.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_dna_64119.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_dna_64119.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_dna_64119.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_dna_64119.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_19656.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_19656.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_19656.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_19656.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_74867.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_74867.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_74867.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_74867.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_25597.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_25597.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_25597.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_25597.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_43328.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_43328.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_43328.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_43328.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_breast_85445.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_breast_85445.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_breast_85445.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_breast_85445.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_dna_6742.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_dna_6742.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_dna_6742.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_dna_6742.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_62176.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_62176.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_62176.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_62176.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_93442.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_93442.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_93442.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_93442.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_47973.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_47973.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_47973.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_47973.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_63115.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_63115.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_63115.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_63115.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_breast_14624.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_breast_14624.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_breast_14624.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_breast_14624.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_dna_13275.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_dna_13275.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_dna_13275.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_dna_13275.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_15510.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_15510.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_15510.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_15510.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_31213.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_31213.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_31213.json rename to src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_31213.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/type_of_reporting_source_76696.json b/src/test/resources/algorithms/eod_public/3.3/tables/type_of_reporting_source_76696.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/type_of_reporting_source_76696.json rename to src/test/resources/algorithms/eod_public/3.3/tables/type_of_reporting_source_76696.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ulceration_5718.json b/src/test/resources/algorithms/eod_public/3.3/tables/ulceration_5718.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/ulceration_5718.json rename to src/test/resources/algorithms/eod_public/3.3/tables/ulceration_5718.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/urethra_prostatic_urethra_30106.json b/src/test/resources/algorithms/eod_public/3.3/tables/urethra_prostatic_urethra_30106.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/urethra_prostatic_urethra_30106.json rename to src/test/resources/algorithms/eod_public/3.3/tables/urethra_prostatic_urethra_30106.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/visceral_pleural_invasion_25940.json b/src/test/resources/algorithms/eod_public/3.3/tables/visceral_pleural_invasion_25940.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/visceral_pleural_invasion_25940.json rename to src/test/resources/algorithms/eod_public/3.3/tables/visceral_pleural_invasion_25940.json diff --git a/algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/year_dx_validation.json b/src/test/resources/algorithms/eod_public/3.3/tables/year_dx_validation.json similarity index 100% rename from algorithm-eod/src/main/resources/algorithms/eod_public/3.3/tables/year_dx_validation.json rename to src/test/resources/algorithms/eod_public/3.3/tables/year_dx_validation.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/glossary/terms.txt b/src/test/resources/algorithms/pediatric/1.3/glossary/terms.txt similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/glossary/terms.txt rename to src/test/resources/algorithms/pediatric/1.3/glossary/terms.txt diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/acute_lymphoblastic_leukemia.json b/src/test/resources/algorithms/pediatric/1.3/schemas/acute_lymphoblastic_leukemia.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/acute_lymphoblastic_leukemia.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/acute_lymphoblastic_leukemia.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/adult_other_non_pediatric.json b/src/test/resources/algorithms/pediatric/1.3/schemas/adult_other_non_pediatric.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/adult_other_non_pediatric.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/adult_other_non_pediatric.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/astrocytoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/astrocytoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/astrocytoma.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/astrocytoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/ependymoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/ependymoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/ependymoma.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/ependymoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/hepatoblastoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/hepatoblastoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/hepatoblastoma.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/hepatoblastoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/hodgkin_lymphoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/hodgkin_lymphoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/hodgkin_lymphoma.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/hodgkin_lymphoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/ids.txt b/src/test/resources/algorithms/pediatric/1.3/schemas/ids.txt similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/ids.txt rename to src/test/resources/algorithms/pediatric/1.3/schemas/ids.txt diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_chondrosarcomas.json b/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_chondrosarcomas.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_chondrosarcomas.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_chondrosarcomas.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_ewing.json b/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_ewing.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_ewing.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_ewing.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_osteosarcoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_osteosarcoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_osteosarcoma.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_osteosarcoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_other_specified.json b/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_other_specified.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_other_specified.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_other_specified.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_unspecified.json b/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_unspecified.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_unspecified.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_unspecified.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/medulloblastoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/medulloblastoma.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_atypical_teratoid_rhabdoid.json b/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_atypical_teratoid_rhabdoid.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_atypical_teratoid_rhabdoid.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_atypical_teratoid_rhabdoid.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_medulloepithelioma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_medulloepithelioma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_medulloepithelioma.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_medulloepithelioma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pineoblastoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pineoblastoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pineoblastoma.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pineoblastoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pnet.json b/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pnet.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pnet.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pnet.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/neuroblastoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/neuroblastoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/neuroblastoma.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/neuroblastoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/nhl_burkitt_lymphoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_burkitt_lymphoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/nhl_burkitt_lymphoma.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/nhl_burkitt_lymphoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/nhl_mature_b_cell_lymphomas.json b/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_mature_b_cell_lymphomas.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/nhl_mature_b_cell_lymphomas.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/nhl_mature_b_cell_lymphomas.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/nhl_nos.json b/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_nos.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/nhl_nos.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/nhl_nos.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/nhl_t_cell_and_nk_cell_lymphomas.json b/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_t_cell_and_nk_cell_lymphomas.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/nhl_t_cell_and_nk_cell_lymphomas.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/nhl_t_cell_and_nk_cell_lymphomas.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_fibrosarcomas.json b/src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_fibrosarcomas.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_fibrosarcomas.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_fibrosarcomas.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_other_specified.json b/src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_other_specified.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_other_specified.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_other_specified.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_unspecified.json b/src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_unspecified.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_unspecified.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_unspecified.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/ovarian.json b/src/test/resources/algorithms/pediatric/1.3/schemas/ovarian.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/ovarian.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/ovarian.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/renal_tumors_ewing_sarcoma_of_kidney.json b/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_ewing_sarcoma_of_kidney.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/renal_tumors_ewing_sarcoma_of_kidney.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_ewing_sarcoma_of_kidney.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/renal_tumors_kidney_sarcomas.json b/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_kidney_sarcomas.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/renal_tumors_kidney_sarcomas.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_kidney_sarcomas.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/renal_tumors_nephroblastoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_nephroblastoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/renal_tumors_nephroblastoma.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_nephroblastoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/renal_tumors_rhabdoid_renal_tumor.json b/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_rhabdoid_renal_tumor.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/renal_tumors_rhabdoid_renal_tumor.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_rhabdoid_renal_tumor.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/renal_tumors_unspecified_malignant_renal_tumors.json b/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_unspecified_malignant_renal_tumors.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/renal_tumors_unspecified_malignant_renal_tumors.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_unspecified_malignant_renal_tumors.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/retinoblastoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/retinoblastoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/retinoblastoma.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/retinoblastoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/rhabdomyosarcoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/rhabdomyosarcoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/rhabdomyosarcoma.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/rhabdomyosarcoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/testicular.json b/src/test/resources/algorithms/pediatric/1.3/schemas/testicular.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/schemas/testicular.json rename to src/test/resources/algorithms/pediatric/1.3/schemas/testicular.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/age_at_diagnosis_validation_3881.json b/src/test/resources/algorithms/pediatric/1.3/tables/age_at_diagnosis_validation_3881.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/age_at_diagnosis_validation_3881.json rename to src/test/resources/algorithms/pediatric/1.3/tables/age_at_diagnosis_validation_3881.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/b_symptoms_95631.json b/src/test/resources/algorithms/pediatric/1.3/tables/b_symptoms_95631.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/b_symptoms_95631.json rename to src/test/resources/algorithms/pediatric/1.3/tables/b_symptoms_95631.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/behavior.json b/src/test/resources/algorithms/pediatric/1.3/tables/behavior.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/behavior.json rename to src/test/resources/algorithms/pediatric/1.3/tables/behavior.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/braf_mutational_analysis_15216.json b/src/test/resources/algorithms/pediatric/1.3/tables/braf_mutational_analysis_15216.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/braf_mutational_analysis_15216.json rename to src/test/resources/algorithms/pediatric/1.3/tables/braf_mutational_analysis_15216.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/chromosome_16q_status_46566.json b/src/test/resources/algorithms/pediatric/1.3/tables/chromosome_16q_status_46566.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/chromosome_16q_status_46566.json rename to src/test/resources/algorithms/pediatric/1.3/tables/chromosome_16q_status_46566.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/chromosome_1p_status_97190.json b/src/test/resources/algorithms/pediatric/1.3/tables/chromosome_1p_status_97190.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/chromosome_1p_status_97190.json rename to src/test/resources/algorithms/pediatric/1.3/tables/chromosome_1p_status_97190.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/chromosome_1q_status_14467.json b/src/test/resources/algorithms/pediatric/1.3/tables/chromosome_1q_status_14467.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/chromosome_1q_status_14467.json rename to src/test/resources/algorithms/pediatric/1.3/tables/chromosome_1q_status_14467.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/combined_s_category_15139.json b/src/test/resources/algorithms/pediatric/1.3/tables/combined_s_category_15139.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/combined_s_category_15139.json rename to src/test/resources/algorithms/pediatric/1.3/tables/combined_s_category_15139.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_mets.json b/src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_mets.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_mets.json rename to src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_mets.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_primary_tumor.json b/src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_primary_tumor.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_primary_tumor.json rename to src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_primary_tumor.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_regional_nodes.json b/src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_regional_nodes.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_regional_nodes.json rename to src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_regional_nodes.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/derived_summary_grade_47984.json b/src/test/resources/algorithms/pediatric/1.3/tables/derived_summary_grade_47984.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/derived_summary_grade_47984.json rename to src/test/resources/algorithms/pediatric/1.3/tables/derived_summary_grade_47984.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/ewsr1_fli1_fusion_57187.json b/src/test/resources/algorithms/pediatric/1.3/tables/ewsr1_fli1_fusion_57187.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/ewsr1_fli1_fusion_57187.json rename to src/test/resources/algorithms/pediatric/1.3/tables/ewsr1_fli1_fusion_57187.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/foxo1_gene_rearrangements_72870.json b/src/test/resources/algorithms/pediatric/1.3/tables/foxo1_gene_rearrangements_72870.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/foxo1_gene_rearrangements_72870.json rename to src/test/resources/algorithms/pediatric/1.3/tables/foxo1_gene_rearrangements_72870.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/histology.json b/src/test/resources/algorithms/pediatric/1.3/tables/histology.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/histology.json rename to src/test/resources/algorithms/pediatric/1.3/tables/histology.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/ids.txt b/src/test/resources/algorithms/pediatric/1.3/tables/ids.txt similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/ids.txt rename to src/test/resources/algorithms/pediatric/1.3/tables/ids.txt diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/inpc_21708.json b/src/test/resources/algorithms/pediatric/1.3/tables/inpc_21708.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/inpc_21708.json rename to src/test/resources/algorithms/pediatric/1.3/tables/inpc_21708.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/intl_neuroblastoma_risk_grp_stag_sys_18504.json b/src/test/resources/algorithms/pediatric/1.3/tables/intl_neuroblastoma_risk_grp_stag_sys_18504.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/intl_neuroblastoma_risk_grp_stag_sys_18504.json rename to src/test/resources/algorithms/pediatric/1.3/tables/intl_neuroblastoma_risk_grp_stag_sys_18504.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/irss_stage_for_eye_2_95484.json b/src/test/resources/algorithms/pediatric/1.3/tables/irss_stage_for_eye_2_95484.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/irss_stage_for_eye_2_95484.json rename to src/test/resources/algorithms/pediatric/1.3/tables/irss_stage_for_eye_2_95484.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/n_myc_amplification_57417.json b/src/test/resources/algorithms/pediatric/1.3/tables/n_myc_amplification_57417.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/n_myc_amplification_57417.json rename to src/test/resources/algorithms/pediatric/1.3/tables/n_myc_amplification_57417.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/nodes_pos_fpa.json b/src/test/resources/algorithms/pediatric/1.3/tables/nodes_pos_fpa.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/nodes_pos_fpa.json rename to src/test/resources/algorithms/pediatric/1.3/tables/nodes_pos_fpa.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_grade_46495.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_grade_46495.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_grade_46495.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_grade_46495.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_m_36063.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_36063.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_m_36063.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_36063.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_m_79386.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_79386.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_m_79386.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_79386.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_m_97287.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_97287.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_m_97287.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_97287.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_12638.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_12638.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_12638.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_12638.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_19048.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_19048.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_19048.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_19048.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_20116.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_20116.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_20116.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_20116.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_26722.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_26722.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_26722.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_26722.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_40773.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_40773.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_40773.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_40773.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_43643.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_43643.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_43643.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_43643.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_53483.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_53483.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_53483.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_53483.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_61257.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_61257.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_61257.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_61257.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_63579.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_63579.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_63579.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_63579.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_64617.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_64617.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_64617.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_64617.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_72113.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_72113.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_72113.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_72113.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_75175.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_75175.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_75175.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_75175.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_93634.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_93634.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_93634.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_93634.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_na_36656.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_na_36656.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_mets_na_36656.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_na_36656.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_n_19406.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_19406.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_n_19406.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_19406.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_n_21296.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_21296.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_n_21296.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_21296.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_n_84898.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_84898.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_n_84898.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_84898.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1156.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1156.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1156.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1156.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_14026.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_14026.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_14026.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_14026.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1604.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1604.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1604.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1604.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_20791.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_20791.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_20791.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_20791.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_21887.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_21887.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_21887.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_21887.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_25859.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_25859.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_25859.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_25859.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_36616.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_36616.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_36616.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_36616.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_39067.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_39067.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_39067.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_39067.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_47758.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_47758.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_47758.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_47758.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_48137.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_48137.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_48137.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_48137.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_57637.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_57637.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_57637.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_57637.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_73431.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_73431.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_73431.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_73431.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_7436.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_7436.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_7436.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_7436.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_84083.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_84083.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_84083.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_84083.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_92453.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_92453.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_92453.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_92453.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_na_1293.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_na_1293.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_na_1293.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_na_1293.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_20397.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_20397.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_20397.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_20397.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_24935.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_24935.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_24935.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_24935.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_26974.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_26974.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_26974.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_26974.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_30482.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_30482.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_30482.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_30482.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_32357.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_32357.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_32357.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_32357.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_42195.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_42195.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_42195.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_42195.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_591.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_591.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_591.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_591.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_59828.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_59828.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_59828.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_59828.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_67911.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_67911.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_67911.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_67911.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_na_68667.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_na_68667.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_na_68667.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_na_68667.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11224.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11224.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11224.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11224.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11413.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11413.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11413.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11413.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_16688.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_16688.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_16688.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_16688.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_19429.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_19429.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_19429.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_19429.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_51275.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_51275.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_51275.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_51275.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_54754.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_54754.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_54754.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_54754.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_56655.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_56655.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_56655.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_56655.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_57755.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_57755.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_57755.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_57755.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_69576.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_69576.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_69576.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_69576.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_70937.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_70937.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_70937.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_70937.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_78332.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_78332.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_78332.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_78332.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_79275.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_79275.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_79275.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_79275.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_80420.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_80420.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_80420.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_80420.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_85957.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_85957.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_85957.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_85957.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_94654.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_94654.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_stage_94654.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_94654.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_t_59799.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_59799.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_t_59799.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_59799.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_t_65327.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_65327.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_t_65327.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_65327.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_t_75382.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_75382.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pediatric_t_75382.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_75382.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pretext_clinical_staging_39169.json b/src/test/resources/algorithms/pediatric/1.3/tables/pretext_clinical_staging_39169.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/pretext_clinical_staging_39169.json rename to src/test/resources/algorithms/pediatric/1.3/tables/pretext_clinical_staging_39169.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/primary_site.json b/src/test/resources/algorithms/pediatric/1.3/tables/primary_site.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/primary_site.json rename to src/test/resources/algorithms/pediatric/1.3/tables/primary_site.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/rx_summ_surg_2023_retinoblastoma_97268.json b/src/test/resources/algorithms/pediatric/1.3/tables/rx_summ_surg_2023_retinoblastoma_97268.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/rx_summ_surg_2023_retinoblastoma_97268.json rename to src/test/resources/algorithms/pediatric/1.3/tables/rx_summ_surg_2023_retinoblastoma_97268.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/rx_summ_surgical_margins_47287.json b/src/test/resources/algorithms/pediatric/1.3/tables/rx_summ_surgical_margins_47287.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/rx_summ_surgical_margins_47287.json rename to src/test/resources/algorithms/pediatric/1.3/tables/rx_summ_surgical_margins_47287.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/s_category_clinical_11368.json b/src/test/resources/algorithms/pediatric/1.3/tables/s_category_clinical_11368.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/s_category_clinical_11368.json rename to src/test/resources/algorithms/pediatric/1.3/tables/s_category_clinical_11368.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/s_category_pathological_46197.json b/src/test/resources/algorithms/pediatric/1.3/tables/s_category_pathological_46197.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/s_category_pathological_46197.json rename to src/test/resources/algorithms/pediatric/1.3/tables/s_category_pathological_46197.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_acute_lymphoblastic_leukemia.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_acute_lymphoblastic_leukemia.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_acute_lymphoblastic_leukemia.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_acute_lymphoblastic_leukemia.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_adult_other_non_pediatric.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_adult_other_non_pediatric.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_adult_other_non_pediatric.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_adult_other_non_pediatric.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_astrocytoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_astrocytoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_astrocytoma.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_astrocytoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_ependymoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_ependymoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_ependymoma.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_ependymoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_hepatoblastoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_hepatoblastoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_hepatoblastoma.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_hepatoblastoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_hodgkin_lymphoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_hodgkin_lymphoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_hodgkin_lymphoma.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_hodgkin_lymphoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_chondrosarcomas.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_chondrosarcomas.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_chondrosarcomas.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_chondrosarcomas.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_ewing.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_ewing.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_ewing.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_ewing.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_osteosarcoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_osteosarcoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_osteosarcoma.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_osteosarcoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_other_specified.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_other_specified.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_other_specified.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_other_specified.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_unspecified.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_unspecified.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_unspecified.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_unspecified.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_atypical_teratoid_rhabdoid.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_atypical_teratoid_rhabdoid.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_atypical_teratoid_rhabdoid.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_atypical_teratoid_rhabdoid.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_medulloepithelioma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_medulloepithelioma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_medulloepithelioma.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_medulloepithelioma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pineoblastoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pineoblastoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pineoblastoma.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pineoblastoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pnet.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pnet.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pnet.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pnet.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_neuroblastoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_neuroblastoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_neuroblastoma.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_neuroblastoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_burkitt_lymphoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_burkitt_lymphoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_burkitt_lymphoma.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_burkitt_lymphoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_mature_b_cell_lymphomas.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_mature_b_cell_lymphomas.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_mature_b_cell_lymphomas.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_mature_b_cell_lymphomas.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_nos.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_nos.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_nos.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_nos.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_t_cell_and_nk_cell_lymphomas.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_t_cell_and_nk_cell_lymphomas.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_t_cell_and_nk_cell_lymphomas.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_t_cell_and_nk_cell_lymphomas.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_fibrosarcomas.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_fibrosarcomas.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_fibrosarcomas.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_fibrosarcomas.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_other_specified.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_other_specified.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_other_specified.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_other_specified.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_unspecified.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_unspecified.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_unspecified.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_unspecified.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_ovarian.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_ovarian.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_ovarian.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_ovarian.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_ewing_sarcoma_of_kidney.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_ewing_sarcoma_of_kidney.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_ewing_sarcoma_of_kidney.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_ewing_sarcoma_of_kidney.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_kidney_sarcomas.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_kidney_sarcomas.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_kidney_sarcomas.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_kidney_sarcomas.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_nephroblastoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_nephroblastoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_nephroblastoma.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_nephroblastoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_rhabdoid_renal_tumor.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_rhabdoid_renal_tumor.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_rhabdoid_renal_tumor.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_rhabdoid_renal_tumor.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_unspecified_malignant_renal_tumors.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_unspecified_malignant_renal_tumors.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_unspecified_malignant_renal_tumors.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_unspecified_malignant_renal_tumors.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_retinoblastoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_retinoblastoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_retinoblastoma.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_retinoblastoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_rhabdomyosarcoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_rhabdomyosarcoma.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_rhabdomyosarcoma.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_rhabdomyosarcoma.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_testicular.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_testicular.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/schema_selection_testicular.json rename to src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_testicular.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/toronto_stage_92889.json b/src/test/resources/algorithms/pediatric/1.3/tables/toronto_stage_92889.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/toronto_stage_92889.json rename to src/test/resources/algorithms/pediatric/1.3/tables/toronto_stage_92889.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/toronto_stage_group_41463.json b/src/test/resources/algorithms/pediatric/1.3/tables/toronto_stage_group_41463.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/toronto_stage_group_41463.json rename to src/test/resources/algorithms/pediatric/1.3/tables/toronto_stage_group_41463.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/tumor_size_summary_47973.json b/src/test/resources/algorithms/pediatric/1.3/tables/tumor_size_summary_47973.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/tumor_size_summary_47973.json rename to src/test/resources/algorithms/pediatric/1.3/tables/tumor_size_summary_47973.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/white_blood_cell_count_1932.json b/src/test/resources/algorithms/pediatric/1.3/tables/white_blood_cell_count_1932.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/white_blood_cell_count_1932.json rename to src/test/resources/algorithms/pediatric/1.3/tables/white_blood_cell_count_1932.json diff --git a/algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/year_dx_validation.json b/src/test/resources/algorithms/pediatric/1.3/tables/year_dx_validation.json similarity index 100% rename from algorithm-pediatric/src/main/resources/algorithms/pediatric/1.3/tables/year_dx_validation.json rename to src/test/resources/algorithms/pediatric/1.3/tables/year_dx_validation.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/glossary/546cf5aee4b0d965832a94bf.json b/src/test/resources/algorithms/testing/99.99/glossary/546cf5aee4b0d965832a94bf.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/glossary/546cf5aee4b0d965832a94bf.json rename to src/test/resources/algorithms/testing/99.99/glossary/546cf5aee4b0d965832a94bf.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/glossary/546f598de4b0d965832bb0c4.json b/src/test/resources/algorithms/testing/99.99/glossary/546f598de4b0d965832bb0c4.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/glossary/546f598de4b0d965832bb0c4.json rename to src/test/resources/algorithms/testing/99.99/glossary/546f598de4b0d965832bb0c4.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/glossary/5505c8e7e4b0c48f31d70838.json b/src/test/resources/algorithms/testing/99.99/glossary/5505c8e7e4b0c48f31d70838.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/glossary/5505c8e7e4b0c48f31d70838.json rename to src/test/resources/algorithms/testing/99.99/glossary/5505c8e7e4b0c48f31d70838.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/glossary/55097bbee4b0c48f31d8967a.json b/src/test/resources/algorithms/testing/99.99/glossary/55097bbee4b0c48f31d8967a.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/glossary/55097bbee4b0c48f31d8967a.json rename to src/test/resources/algorithms/testing/99.99/glossary/55097bbee4b0c48f31d8967a.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/glossary/550adaede4b0c48f31d94520.json b/src/test/resources/algorithms/testing/99.99/glossary/550adaede4b0c48f31d94520.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/glossary/550adaede4b0c48f31d94520.json rename to src/test/resources/algorithms/testing/99.99/glossary/550adaede4b0c48f31d94520.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/glossary/554540cfe4b0426fced42655.json b/src/test/resources/algorithms/testing/99.99/glossary/554540cfe4b0426fced42655.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/glossary/554540cfe4b0426fced42655.json rename to src/test/resources/algorithms/testing/99.99/glossary/554540cfe4b0426fced42655.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/glossary/55a800abe4b05cd0cddb978e.json b/src/test/resources/algorithms/testing/99.99/glossary/55a800abe4b05cd0cddb978e.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/glossary/55a800abe4b05cd0cddb978e.json rename to src/test/resources/algorithms/testing/99.99/glossary/55a800abe4b05cd0cddb978e.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/glossary/55a80262e4b05cd0cddb99b8.json b/src/test/resources/algorithms/testing/99.99/glossary/55a80262e4b05cd0cddb99b8.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/glossary/55a80262e4b05cd0cddb99b8.json rename to src/test/resources/algorithms/testing/99.99/glossary/55a80262e4b05cd0cddb99b8.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/glossary/55a9a501e4b05cd0cddc710a.json b/src/test/resources/algorithms/testing/99.99/glossary/55a9a501e4b05cd0cddc710a.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/glossary/55a9a501e4b05cd0cddc710a.json rename to src/test/resources/algorithms/testing/99.99/glossary/55a9a501e4b05cd0cddc710a.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/glossary/55b12ee91ef5572aac76e67a.json b/src/test/resources/algorithms/testing/99.99/glossary/55b12ee91ef5572aac76e67a.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/glossary/55b12ee91ef5572aac76e67a.json rename to src/test/resources/algorithms/testing/99.99/glossary/55b12ee91ef5572aac76e67a.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/glossary/55ba2b9b1ef5572aac7b2910.json b/src/test/resources/algorithms/testing/99.99/glossary/55ba2b9b1ef5572aac7b2910.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/glossary/55ba2b9b1ef5572aac7b2910.json rename to src/test/resources/algorithms/testing/99.99/glossary/55ba2b9b1ef5572aac7b2910.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/glossary/55dcb1521ef5576bf30cca55.json b/src/test/resources/algorithms/testing/99.99/glossary/55dcb1521ef5576bf30cca55.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/glossary/55dcb1521ef5576bf30cca55.json rename to src/test/resources/algorithms/testing/99.99/glossary/55dcb1521ef5576bf30cca55.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/glossary/55dcb26c1ef5576bf30ccc10.json b/src/test/resources/algorithms/testing/99.99/glossary/55dcb26c1ef5576bf30ccc10.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/glossary/55dcb26c1ef5576bf30ccc10.json rename to src/test/resources/algorithms/testing/99.99/glossary/55dcb26c1ef5576bf30ccc10.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/glossary/terms.txt b/src/test/resources/algorithms/testing/99.99/glossary/terms.txt similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/glossary/terms.txt rename to src/test/resources/algorithms/testing/99.99/glossary/terms.txt diff --git a/lib/src/test/resources/algorithms/testing/99.99/schemas/ids.txt b/src/test/resources/algorithms/testing/99.99/schemas/ids.txt similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/schemas/ids.txt rename to src/test/resources/algorithms/testing/99.99/schemas/ids.txt diff --git a/lib/src/test/resources/algorithms/testing/99.99/schemas/urethra.json b/src/test/resources/algorithms/testing/99.99/schemas/urethra.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/schemas/urethra.json rename to src/test/resources/algorithms/testing/99.99/schemas/urethra.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc6_exclusions_ppd.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc6_exclusions_ppd.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc6_exclusions_ppd.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc6_exclusions_ppd.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc6_m_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc6_m_codes.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc6_m_codes.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc6_m_codes.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc6_n_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc6_n_codes.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc6_n_codes.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc6_n_codes.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_codes.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_codes.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_codes.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_qaw.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_qaw.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_qaw.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_qaw.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc6_t_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc6_t_codes.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc6_t_codes.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc6_t_codes.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc6_year_validation.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc6_year_validation.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc6_year_validation.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc6_year_validation.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc7_inclusions_tpb.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc7_inclusions_tpb.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc7_inclusions_tpb.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc7_inclusions_tpb.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc7_m_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc7_m_codes.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc7_m_codes.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc7_m_codes.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc7_n_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc7_n_codes.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc7_n_codes.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc7_n_codes.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_codes.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_codes.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_codes.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_uaz.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_uaz.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_uaz.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_uaz.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc7_t_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc7_t_codes.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc7_t_codes.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc7_t_codes.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc7_year_validation.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc7_year_validation.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc7_year_validation.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc7_year_validation.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc_descriptor_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc_descriptor_codes.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc_descriptor_codes.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc_descriptor_codes.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc_mdescriptor_cleanup.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc_mdescriptor_cleanup.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc_mdescriptor_cleanup.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc_mdescriptor_cleanup.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc_ndescriptor_cleanup.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc_ndescriptor_cleanup.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc_ndescriptor_cleanup.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc_ndescriptor_cleanup.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ajcc_tdescriptor_cleanup.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc_tdescriptor_cleanup.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ajcc_tdescriptor_cleanup.json rename to src/test/resources/algorithms/testing/99.99/tables/ajcc_tdescriptor_cleanup.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/behavior.json b/src/test/resources/algorithms/testing/99.99/tables/behavior.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/behavior.json rename to src/test/resources/algorithms/testing/99.99/tables/behavior.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/cs_input_version_original.json b/src/test/resources/algorithms/testing/99.99/tables/cs_input_version_original.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/cs_input_version_original.json rename to src/test/resources/algorithms/testing/99.99/tables/cs_input_version_original.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/cs_year_validation.json b/src/test/resources/algorithms/testing/99.99/tables/cs_year_validation.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/cs_year_validation.json rename to src/test/resources/algorithms/testing/99.99/tables/cs_year_validation.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/extension_bdi.json b/src/test/resources/algorithms/testing/99.99/tables/extension_bdi.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/extension_bdi.json rename to src/test/resources/algorithms/testing/99.99/tables/extension_bdi.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/extension_eval_cpa.json b/src/test/resources/algorithms/testing/99.99/tables/extension_eval_cpa.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/extension_eval_cpa.json rename to src/test/resources/algorithms/testing/99.99/tables/extension_eval_cpa.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/grade.json b/src/test/resources/algorithms/testing/99.99/tables/grade.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/grade.json rename to src/test/resources/algorithms/testing/99.99/tables/grade.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/histology.json b/src/test/resources/algorithms/testing/99.99/tables/histology.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/histology.json rename to src/test/resources/algorithms/testing/99.99/tables/histology.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ids.txt b/src/test/resources/algorithms/testing/99.99/tables/ids.txt similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ids.txt rename to src/test/resources/algorithms/testing/99.99/tables/ids.txt diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/lvi.json b/src/test/resources/algorithms/testing/99.99/tables/lvi.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/lvi.json rename to src/test/resources/algorithms/testing/99.99/tables/lvi.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/mets_eval_ipa.json b/src/test/resources/algorithms/testing/99.99/tables/mets_eval_ipa.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/mets_eval_ipa.json rename to src/test/resources/algorithms/testing/99.99/tables/mets_eval_ipa.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/mets_hpe.json b/src/test/resources/algorithms/testing/99.99/tables/mets_hpe.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/mets_hpe.json rename to src/test/resources/algorithms/testing/99.99/tables/mets_hpe.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/nodes_dbu.json b/src/test/resources/algorithms/testing/99.99/tables/nodes_dbu.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/nodes_dbu.json rename to src/test/resources/algorithms/testing/99.99/tables/nodes_dbu.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/nodes_eval_epa.json b/src/test/resources/algorithms/testing/99.99/tables/nodes_eval_epa.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/nodes_eval_epa.json rename to src/test/resources/algorithms/testing/99.99/tables/nodes_eval_epa.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/nodes_exam_gpa.json b/src/test/resources/algorithms/testing/99.99/tables/nodes_exam_gpa.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/nodes_exam_gpa.json rename to src/test/resources/algorithms/testing/99.99/tables/nodes_exam_gpa.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/nodes_pos_fpa.json b/src/test/resources/algorithms/testing/99.99/tables/nodes_pos_fpa.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/nodes_pos_fpa.json rename to src/test/resources/algorithms/testing/99.99/tables/nodes_pos_fpa.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/primary_site.json b/src/test/resources/algorithms/testing/99.99/tables/primary_site.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/primary_site.json rename to src/test/resources/algorithms/testing/99.99/tables/primary_site.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/schema_selection_urethra.json b/src/test/resources/algorithms/testing/99.99/tables/schema_selection_urethra.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/schema_selection_urethra.json rename to src/test/resources/algorithms/testing/99.99/tables/schema_selection_urethra.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/size_apa.json b/src/test/resources/algorithms/testing/99.99/tables/size_apa.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/size_apa.json rename to src/test/resources/algorithms/testing/99.99/tables/size_apa.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ss_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ss_codes.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ss_codes.json rename to src/test/resources/algorithms/testing/99.99/tables/ss_codes.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf10_sne.json b/src/test/resources/algorithms/testing/99.99/tables/ssf10_sne.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf10_sne.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf10_sne.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf11_snf.json b/src/test/resources/algorithms/testing/99.99/tables/ssf11_snf.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf11_snf.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf11_snf.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf12_sng.json b/src/test/resources/algorithms/testing/99.99/tables/ssf12_sng.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf12_sng.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf12_sng.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf13_snh.json b/src/test/resources/algorithms/testing/99.99/tables/ssf13_snh.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf13_snh.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf13_snh.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf14_sni.json b/src/test/resources/algorithms/testing/99.99/tables/ssf14_sni.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf14_sni.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf14_sni.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf15_snj.json b/src/test/resources/algorithms/testing/99.99/tables/ssf15_snj.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf15_snj.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf15_snj.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf16_snk.json b/src/test/resources/algorithms/testing/99.99/tables/ssf16_snk.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf16_snk.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf16_snk.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf17_snl.json b/src/test/resources/algorithms/testing/99.99/tables/ssf17_snl.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf17_snl.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf17_snl.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf18_snm.json b/src/test/resources/algorithms/testing/99.99/tables/ssf18_snm.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf18_snm.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf18_snm.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf19_snn.json b/src/test/resources/algorithms/testing/99.99/tables/ssf19_snn.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf19_snn.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf19_snn.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf1_jpd.json b/src/test/resources/algorithms/testing/99.99/tables/ssf1_jpd.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf1_jpd.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf1_jpd.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf20_sno.json b/src/test/resources/algorithms/testing/99.99/tables/ssf20_sno.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf20_sno.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf20_sno.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf21_snp.json b/src/test/resources/algorithms/testing/99.99/tables/ssf21_snp.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf21_snp.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf21_snp.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf22_snq.json b/src/test/resources/algorithms/testing/99.99/tables/ssf22_snq.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf22_snq.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf22_snq.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf23_snr.json b/src/test/resources/algorithms/testing/99.99/tables/ssf23_snr.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf23_snr.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf23_snr.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf24_sns.json b/src/test/resources/algorithms/testing/99.99/tables/ssf24_sns.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf24_sns.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf24_sns.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf25_snt.json b/src/test/resources/algorithms/testing/99.99/tables/ssf25_snt.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf25_snt.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf25_snt.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf2_kna.json b/src/test/resources/algorithms/testing/99.99/tables/ssf2_kna.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf2_kna.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf2_kna.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf3_lna.json b/src/test/resources/algorithms/testing/99.99/tables/ssf3_lna.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf3_lna.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf3_lna.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf4_mna.json b/src/test/resources/algorithms/testing/99.99/tables/ssf4_mna.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf4_mna.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf4_mna.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf5_nna.json b/src/test/resources/algorithms/testing/99.99/tables/ssf5_nna.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf5_nna.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf5_nna.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf6_ona.json b/src/test/resources/algorithms/testing/99.99/tables/ssf6_ona.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf6_ona.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf6_ona.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf7_snb.json b/src/test/resources/algorithms/testing/99.99/tables/ssf7_snb.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf7_snb.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf7_snb.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf8_snc.json b/src/test/resources/algorithms/testing/99.99/tables/ssf8_snc.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf8_snc.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf8_snc.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/ssf9_snd.json b/src/test/resources/algorithms/testing/99.99/tables/ssf9_snd.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/ssf9_snd.json rename to src/test/resources/algorithms/testing/99.99/tables/ssf9_snd.json diff --git a/lib/src/test/resources/algorithms/testing/99.99/tables/summary_stage_rpa.json b/src/test/resources/algorithms/testing/99.99/tables/summary_stage_rpa.json similarity index 100% rename from lib/src/test/resources/algorithms/testing/99.99/tables/summary_stage_rpa.json rename to src/test/resources/algorithms/testing/99.99/tables/summary_stage_rpa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/546cf5aee4b0d965832a94bf.json b/src/test/resources/algorithms/tnm/2.0/glossary/546cf5aee4b0d965832a94bf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/546cf5aee4b0d965832a94bf.json rename to src/test/resources/algorithms/tnm/2.0/glossary/546cf5aee4b0d965832a94bf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/546f598de4b0d965832bb0c4.json b/src/test/resources/algorithms/tnm/2.0/glossary/546f598de4b0d965832bb0c4.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/546f598de4b0d965832bb0c4.json rename to src/test/resources/algorithms/tnm/2.0/glossary/546f598de4b0d965832bb0c4.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/5505c8e7e4b0c48f31d70838.json b/src/test/resources/algorithms/tnm/2.0/glossary/5505c8e7e4b0c48f31d70838.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/5505c8e7e4b0c48f31d70838.json rename to src/test/resources/algorithms/tnm/2.0/glossary/5505c8e7e4b0c48f31d70838.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55097bbee4b0c48f31d8967a.json b/src/test/resources/algorithms/tnm/2.0/glossary/55097bbee4b0c48f31d8967a.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55097bbee4b0c48f31d8967a.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55097bbee4b0c48f31d8967a.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/550adaede4b0c48f31d94520.json b/src/test/resources/algorithms/tnm/2.0/glossary/550adaede4b0c48f31d94520.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/550adaede4b0c48f31d94520.json rename to src/test/resources/algorithms/tnm/2.0/glossary/550adaede4b0c48f31d94520.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a800abe4b05cd0cddb978e.json b/src/test/resources/algorithms/tnm/2.0/glossary/55a800abe4b05cd0cddb978e.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a800abe4b05cd0cddb978e.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55a800abe4b05cd0cddb978e.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a80262e4b05cd0cddb99b8.json b/src/test/resources/algorithms/tnm/2.0/glossary/55a80262e4b05cd0cddb99b8.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a80262e4b05cd0cddb99b8.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55a80262e4b05cd0cddb99b8.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a99b73e4b05cd0cddc6dc1.json b/src/test/resources/algorithms/tnm/2.0/glossary/55a99b73e4b05cd0cddc6dc1.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a99b73e4b05cd0cddc6dc1.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55a99b73e4b05cd0cddc6dc1.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a99c08e4b05cd0cddc6df1.json b/src/test/resources/algorithms/tnm/2.0/glossary/55a99c08e4b05cd0cddc6df1.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a99c08e4b05cd0cddc6df1.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55a99c08e4b05cd0cddc6df1.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a99cbce4b05cd0cddc6e1f.json b/src/test/resources/algorithms/tnm/2.0/glossary/55a99cbce4b05cd0cddc6e1f.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a99cbce4b05cd0cddc6e1f.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55a99cbce4b05cd0cddc6e1f.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a99e80e4b05cd0cddc6ed7.json b/src/test/resources/algorithms/tnm/2.0/glossary/55a99e80e4b05cd0cddc6ed7.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a99e80e4b05cd0cddc6ed7.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55a99e80e4b05cd0cddc6ed7.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a9a0bfe4b05cd0cddc6fed.json b/src/test/resources/algorithms/tnm/2.0/glossary/55a9a0bfe4b05cd0cddc6fed.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a9a0bfe4b05cd0cddc6fed.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55a9a0bfe4b05cd0cddc6fed.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a9a501e4b05cd0cddc710a.json b/src/test/resources/algorithms/tnm/2.0/glossary/55a9a501e4b05cd0cddc710a.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a9a501e4b05cd0cddc710a.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55a9a501e4b05cd0cddc710a.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a9a750e4b05cd0cddc71b4.json b/src/test/resources/algorithms/tnm/2.0/glossary/55a9a750e4b05cd0cddc71b4.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a9a750e4b05cd0cddc71b4.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55a9a750e4b05cd0cddc71b4.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a9a9a6e4b05cd0cddc72cd.json b/src/test/resources/algorithms/tnm/2.0/glossary/55a9a9a6e4b05cd0cddc72cd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55a9a9a6e4b05cd0cddc72cd.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55a9a9a6e4b05cd0cddc72cd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55b12ee91ef5572aac76e67a.json b/src/test/resources/algorithms/tnm/2.0/glossary/55b12ee91ef5572aac76e67a.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55b12ee91ef5572aac76e67a.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55b12ee91ef5572aac76e67a.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55ba2b9b1ef5572aac7b2910.json b/src/test/resources/algorithms/tnm/2.0/glossary/55ba2b9b1ef5572aac7b2910.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55ba2b9b1ef5572aac7b2910.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55ba2b9b1ef5572aac7b2910.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55dcae631ef5571a5d966163.json b/src/test/resources/algorithms/tnm/2.0/glossary/55dcae631ef5571a5d966163.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55dcae631ef5571a5d966163.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55dcae631ef5571a5d966163.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55dcb1521ef5576bf30cca55.json b/src/test/resources/algorithms/tnm/2.0/glossary/55dcb1521ef5576bf30cca55.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55dcb1521ef5576bf30cca55.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55dcb1521ef5576bf30cca55.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55dcb26c1ef5576bf30ccc10.json b/src/test/resources/algorithms/tnm/2.0/glossary/55dcb26c1ef5576bf30ccc10.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55dcb26c1ef5576bf30ccc10.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55dcb26c1ef5576bf30ccc10.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55ddcdcd1ef5576bf30d4e4b.json b/src/test/resources/algorithms/tnm/2.0/glossary/55ddcdcd1ef5576bf30d4e4b.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55ddcdcd1ef5576bf30d4e4b.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55ddcdcd1ef5576bf30d4e4b.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55df18511ef5576bf30e0012.json b/src/test/resources/algorithms/tnm/2.0/glossary/55df18511ef5576bf30e0012.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55df18511ef5576bf30e0012.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55df18511ef5576bf30e0012.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55df3e691ef5576bf30e2e32.json b/src/test/resources/algorithms/tnm/2.0/glossary/55df3e691ef5576bf30e2e32.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/55df3e691ef5576bf30e2e32.json rename to src/test/resources/algorithms/tnm/2.0/glossary/55df3e691ef5576bf30e2e32.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/terms.txt b/src/test/resources/algorithms/tnm/2.0/glossary/terms.txt similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/glossary/terms.txt rename to src/test/resources/algorithms/tnm/2.0/glossary/terms.txt diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/adnexa_uterine_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/adnexa_uterine_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/adnexa_uterine_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/adnexa_uterine_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/adrenal_gland.json b/src/test/resources/algorithms/tnm/2.0/schemas/adrenal_gland.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/adrenal_gland.json rename to src/test/resources/algorithms/tnm/2.0/schemas/adrenal_gland.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/ampulla_vater.json b/src/test/resources/algorithms/tnm/2.0/schemas/ampulla_vater.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/ampulla_vater.json rename to src/test/resources/algorithms/tnm/2.0/schemas/ampulla_vater.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/anus.json b/src/test/resources/algorithms/tnm/2.0/schemas/anus.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/anus.json rename to src/test/resources/algorithms/tnm/2.0/schemas/anus.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/appendix.json b/src/test/resources/algorithms/tnm/2.0/schemas/appendix.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/appendix.json rename to src/test/resources/algorithms/tnm/2.0/schemas/appendix.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/bile_ducts_distal.json b/src/test/resources/algorithms/tnm/2.0/schemas/bile_ducts_distal.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/bile_ducts_distal.json rename to src/test/resources/algorithms/tnm/2.0/schemas/bile_ducts_distal.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/bile_ducts_intrahepat.json b/src/test/resources/algorithms/tnm/2.0/schemas/bile_ducts_intrahepat.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/bile_ducts_intrahepat.json rename to src/test/resources/algorithms/tnm/2.0/schemas/bile_ducts_intrahepat.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/bile_ducts_perihilar.json b/src/test/resources/algorithms/tnm/2.0/schemas/bile_ducts_perihilar.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/bile_ducts_perihilar.json rename to src/test/resources/algorithms/tnm/2.0/schemas/bile_ducts_perihilar.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/biliary_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/biliary_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/biliary_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/biliary_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/bladder.json b/src/test/resources/algorithms/tnm/2.0/schemas/bladder.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/bladder.json rename to src/test/resources/algorithms/tnm/2.0/schemas/bladder.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/bone.json b/src/test/resources/algorithms/tnm/2.0/schemas/bone.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/bone.json rename to src/test/resources/algorithms/tnm/2.0/schemas/bone.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/brain.json b/src/test/resources/algorithms/tnm/2.0/schemas/brain.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/brain.json rename to src/test/resources/algorithms/tnm/2.0/schemas/brain.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/breast.json b/src/test/resources/algorithms/tnm/2.0/schemas/breast.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/breast.json rename to src/test/resources/algorithms/tnm/2.0/schemas/breast.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/buccal_mucosa.json b/src/test/resources/algorithms/tnm/2.0/schemas/buccal_mucosa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/buccal_mucosa.json rename to src/test/resources/algorithms/tnm/2.0/schemas/buccal_mucosa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/carcinoid_appendix.json b/src/test/resources/algorithms/tnm/2.0/schemas/carcinoid_appendix.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/carcinoid_appendix.json rename to src/test/resources/algorithms/tnm/2.0/schemas/carcinoid_appendix.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/cervix.json b/src/test/resources/algorithms/tnm/2.0/schemas/cervix.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/cervix.json rename to src/test/resources/algorithms/tnm/2.0/schemas/cervix.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/cns_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/cns_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/cns_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/cns_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/colon.json b/src/test/resources/algorithms/tnm/2.0/schemas/colon.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/colon.json rename to src/test/resources/algorithms/tnm/2.0/schemas/colon.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/conjunctiva.json b/src/test/resources/algorithms/tnm/2.0/schemas/conjunctiva.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/conjunctiva.json rename to src/test/resources/algorithms/tnm/2.0/schemas/conjunctiva.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/corpus_adenosarcoma.json b/src/test/resources/algorithms/tnm/2.0/schemas/corpus_adenosarcoma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/corpus_adenosarcoma.json rename to src/test/resources/algorithms/tnm/2.0/schemas/corpus_adenosarcoma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/corpus_carcinoma.json b/src/test/resources/algorithms/tnm/2.0/schemas/corpus_carcinoma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/corpus_carcinoma.json rename to src/test/resources/algorithms/tnm/2.0/schemas/corpus_carcinoma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/corpus_sarcoma.json b/src/test/resources/algorithms/tnm/2.0/schemas/corpus_sarcoma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/corpus_sarcoma.json rename to src/test/resources/algorithms/tnm/2.0/schemas/corpus_sarcoma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/cystic_duct.json b/src/test/resources/algorithms/tnm/2.0/schemas/cystic_duct.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/cystic_duct.json rename to src/test/resources/algorithms/tnm/2.0/schemas/cystic_duct.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/digestive_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/digestive_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/digestive_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/digestive_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/endocrine_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/endocrine_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/endocrine_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/endocrine_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/epiglottis_anterior.json b/src/test/resources/algorithms/tnm/2.0/schemas/epiglottis_anterior.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/epiglottis_anterior.json rename to src/test/resources/algorithms/tnm/2.0/schemas/epiglottis_anterior.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/esophagus.json b/src/test/resources/algorithms/tnm/2.0/schemas/esophagus.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/esophagus.json rename to src/test/resources/algorithms/tnm/2.0/schemas/esophagus.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/esophagus_gejunction.json b/src/test/resources/algorithms/tnm/2.0/schemas/esophagus_gejunction.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/esophagus_gejunction.json rename to src/test/resources/algorithms/tnm/2.0/schemas/esophagus_gejunction.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/eye_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/eye_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/eye_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/eye_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/fallopian_tube.json b/src/test/resources/algorithms/tnm/2.0/schemas/fallopian_tube.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/fallopian_tube.json rename to src/test/resources/algorithms/tnm/2.0/schemas/fallopian_tube.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/floor_mouth.json b/src/test/resources/algorithms/tnm/2.0/schemas/floor_mouth.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/floor_mouth.json rename to src/test/resources/algorithms/tnm/2.0/schemas/floor_mouth.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gallbladder.json b/src/test/resources/algorithms/tnm/2.0/schemas/gallbladder.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gallbladder.json rename to src/test/resources/algorithms/tnm/2.0/schemas/gallbladder.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/genital_female_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/genital_female_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/genital_female_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/genital_female_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/genital_male_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/genital_male_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/genital_male_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/genital_male_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gist_appendix.json b/src/test/resources/algorithms/tnm/2.0/schemas/gist_appendix.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gist_appendix.json rename to src/test/resources/algorithms/tnm/2.0/schemas/gist_appendix.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gist_colon.json b/src/test/resources/algorithms/tnm/2.0/schemas/gist_colon.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gist_colon.json rename to src/test/resources/algorithms/tnm/2.0/schemas/gist_colon.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gist_esophagus.json b/src/test/resources/algorithms/tnm/2.0/schemas/gist_esophagus.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gist_esophagus.json rename to src/test/resources/algorithms/tnm/2.0/schemas/gist_esophagus.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gist_peritoneum.json b/src/test/resources/algorithms/tnm/2.0/schemas/gist_peritoneum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gist_peritoneum.json rename to src/test/resources/algorithms/tnm/2.0/schemas/gist_peritoneum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gist_rectum.json b/src/test/resources/algorithms/tnm/2.0/schemas/gist_rectum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gist_rectum.json rename to src/test/resources/algorithms/tnm/2.0/schemas/gist_rectum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gist_small_intestine.json b/src/test/resources/algorithms/tnm/2.0/schemas/gist_small_intestine.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gist_small_intestine.json rename to src/test/resources/algorithms/tnm/2.0/schemas/gist_small_intestine.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gist_stomach.json b/src/test/resources/algorithms/tnm/2.0/schemas/gist_stomach.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gist_stomach.json rename to src/test/resources/algorithms/tnm/2.0/schemas/gist_stomach.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gum_lower.json b/src/test/resources/algorithms/tnm/2.0/schemas/gum_lower.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gum_lower.json rename to src/test/resources/algorithms/tnm/2.0/schemas/gum_lower.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gum_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/gum_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gum_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/gum_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gum_upper.json b/src/test/resources/algorithms/tnm/2.0/schemas/gum_upper.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/gum_upper.json rename to src/test/resources/algorithms/tnm/2.0/schemas/gum_upper.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/heart_mediastinum.json b/src/test/resources/algorithms/tnm/2.0/schemas/heart_mediastinum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/heart_mediastinum.json rename to src/test/resources/algorithms/tnm/2.0/schemas/heart_mediastinum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/heme_retic.json b/src/test/resources/algorithms/tnm/2.0/schemas/heme_retic.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/heme_retic.json rename to src/test/resources/algorithms/tnm/2.0/schemas/heme_retic.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/hypopharynx.json b/src/test/resources/algorithms/tnm/2.0/schemas/hypopharynx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/hypopharynx.json rename to src/test/resources/algorithms/tnm/2.0/schemas/hypopharynx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/ids.txt b/src/test/resources/algorithms/tnm/2.0/schemas/ids.txt similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/ids.txt rename to src/test/resources/algorithms/tnm/2.0/schemas/ids.txt diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/ill_defined_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/ill_defined_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/ill_defined_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/ill_defined_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/intracranial_gland.json b/src/test/resources/algorithms/tnm/2.0/schemas/intracranial_gland.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/intracranial_gland.json rename to src/test/resources/algorithms/tnm/2.0/schemas/intracranial_gland.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/kaposi_sarcoma.json b/src/test/resources/algorithms/tnm/2.0/schemas/kaposi_sarcoma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/kaposi_sarcoma.json rename to src/test/resources/algorithms/tnm/2.0/schemas/kaposi_sarcoma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/kidney_parenchyma.json b/src/test/resources/algorithms/tnm/2.0/schemas/kidney_parenchyma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/kidney_parenchyma.json rename to src/test/resources/algorithms/tnm/2.0/schemas/kidney_parenchyma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/kidney_renal_pelvis.json b/src/test/resources/algorithms/tnm/2.0/schemas/kidney_renal_pelvis.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/kidney_renal_pelvis.json rename to src/test/resources/algorithms/tnm/2.0/schemas/kidney_renal_pelvis.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lacrimal_gland.json b/src/test/resources/algorithms/tnm/2.0/schemas/lacrimal_gland.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lacrimal_gland.json rename to src/test/resources/algorithms/tnm/2.0/schemas/lacrimal_gland.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lacrimal_sac.json b/src/test/resources/algorithms/tnm/2.0/schemas/lacrimal_sac.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lacrimal_sac.json rename to src/test/resources/algorithms/tnm/2.0/schemas/lacrimal_sac.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/larynx_glottic.json b/src/test/resources/algorithms/tnm/2.0/schemas/larynx_glottic.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/larynx_glottic.json rename to src/test/resources/algorithms/tnm/2.0/schemas/larynx_glottic.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/larynx_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/larynx_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/larynx_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/larynx_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/larynx_subglottic.json b/src/test/resources/algorithms/tnm/2.0/schemas/larynx_subglottic.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/larynx_subglottic.json rename to src/test/resources/algorithms/tnm/2.0/schemas/larynx_subglottic.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/larynx_supraglottic.json b/src/test/resources/algorithms/tnm/2.0/schemas/larynx_supraglottic.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/larynx_supraglottic.json rename to src/test/resources/algorithms/tnm/2.0/schemas/larynx_supraglottic.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lip_lower.json b/src/test/resources/algorithms/tnm/2.0/schemas/lip_lower.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lip_lower.json rename to src/test/resources/algorithms/tnm/2.0/schemas/lip_lower.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lip_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/lip_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lip_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/lip_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lip_upper.json b/src/test/resources/algorithms/tnm/2.0/schemas/lip_upper.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lip_upper.json rename to src/test/resources/algorithms/tnm/2.0/schemas/lip_upper.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/liver.json b/src/test/resources/algorithms/tnm/2.0/schemas/liver.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/liver.json rename to src/test/resources/algorithms/tnm/2.0/schemas/liver.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lung.json b/src/test/resources/algorithms/tnm/2.0/schemas/lung.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lung.json rename to src/test/resources/algorithms/tnm/2.0/schemas/lung.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lymphoma.json b/src/test/resources/algorithms/tnm/2.0/schemas/lymphoma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lymphoma.json rename to src/test/resources/algorithms/tnm/2.0/schemas/lymphoma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lymphoma_ocular_adnexa.json b/src/test/resources/algorithms/tnm/2.0/schemas/lymphoma_ocular_adnexa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/lymphoma_ocular_adnexa.json rename to src/test/resources/algorithms/tnm/2.0/schemas/lymphoma_ocular_adnexa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_buccal_mucosa.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_buccal_mucosa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_buccal_mucosa.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_buccal_mucosa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_choroid.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_choroid.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_choroid.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_choroid.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_ciliary_body.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_ciliary_body.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_ciliary_body.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_ciliary_body.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_conjunctiva.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_conjunctiva.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_conjunctiva.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_conjunctiva.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_epiglottis_anterior.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_epiglottis_anterior.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_epiglottis_anterior.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_epiglottis_anterior.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_eye_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_eye_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_eye_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_eye_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_floor_mouth.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_floor_mouth.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_floor_mouth.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_floor_mouth.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_gum_lower.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_gum_lower.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_gum_lower.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_gum_lower.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_gum_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_gum_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_gum_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_gum_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_gum_upper.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_gum_upper.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_gum_upper.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_gum_upper.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_hypopharynx.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_hypopharynx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_hypopharynx.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_hypopharynx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_iris.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_iris.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_iris.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_iris.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_glottic.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_glottic.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_glottic.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_glottic.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_subglottic.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_subglottic.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_subglottic.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_subglottic.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_supraglottic.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_supraglottic.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_supraglottic.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_supraglottic.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_lip_lower.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_lip_lower.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_lip_lower.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_lip_lower.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_lip_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_lip_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_lip_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_lip_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_lip_upper.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_lip_upper.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_lip_upper.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_lip_upper.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_mouth_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_mouth_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_mouth_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_mouth_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_nasal_cavity.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_nasal_cavity.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_nasal_cavity.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_nasal_cavity.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_nasopharynx.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_nasopharynx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_nasopharynx.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_nasopharynx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_oropharynx.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_oropharynx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_oropharynx.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_oropharynx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_palate_hard.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_palate_hard.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_palate_hard.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_palate_hard.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_palate_soft.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_palate_soft.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_palate_soft.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_palate_soft.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_pharynx_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_pharynx_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_pharynx_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_pharynx_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_ethmoid.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_ethmoid.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_ethmoid.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_ethmoid.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_maxillary.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_maxillary.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_maxillary.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_maxillary.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_skin.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_skin.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_skin.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_skin.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_tongue_anterior.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_tongue_anterior.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_tongue_anterior.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_tongue_anterior.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_tongue_base.json b/src/test/resources/algorithms/tnm/2.0/schemas/melanoma_tongue_base.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/melanoma_tongue_base.json rename to src/test/resources/algorithms/tnm/2.0/schemas/melanoma_tongue_base.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/merkel_cell_penis.json b/src/test/resources/algorithms/tnm/2.0/schemas/merkel_cell_penis.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/merkel_cell_penis.json rename to src/test/resources/algorithms/tnm/2.0/schemas/merkel_cell_penis.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/merkel_cell_scrotum.json b/src/test/resources/algorithms/tnm/2.0/schemas/merkel_cell_scrotum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/merkel_cell_scrotum.json rename to src/test/resources/algorithms/tnm/2.0/schemas/merkel_cell_scrotum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/merkel_cell_skin.json b/src/test/resources/algorithms/tnm/2.0/schemas/merkel_cell_skin.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/merkel_cell_skin.json rename to src/test/resources/algorithms/tnm/2.0/schemas/merkel_cell_skin.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/merkel_cell_vulva.json b/src/test/resources/algorithms/tnm/2.0/schemas/merkel_cell_vulva.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/merkel_cell_vulva.json rename to src/test/resources/algorithms/tnm/2.0/schemas/merkel_cell_vulva.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/middle_ear.json b/src/test/resources/algorithms/tnm/2.0/schemas/middle_ear.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/middle_ear.json rename to src/test/resources/algorithms/tnm/2.0/schemas/middle_ear.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/mouth_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/mouth_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/mouth_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/mouth_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/mycosis_fungoides.json b/src/test/resources/algorithms/tnm/2.0/schemas/mycosis_fungoides.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/mycosis_fungoides.json rename to src/test/resources/algorithms/tnm/2.0/schemas/mycosis_fungoides.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/myeloma_plasma_cell_disorder.json b/src/test/resources/algorithms/tnm/2.0/schemas/myeloma_plasma_cell_disorder.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/myeloma_plasma_cell_disorder.json rename to src/test/resources/algorithms/tnm/2.0/schemas/myeloma_plasma_cell_disorder.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/nasal_cavity.json b/src/test/resources/algorithms/tnm/2.0/schemas/nasal_cavity.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/nasal_cavity.json rename to src/test/resources/algorithms/tnm/2.0/schemas/nasal_cavity.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/nasopharynx.json b/src/test/resources/algorithms/tnm/2.0/schemas/nasopharynx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/nasopharynx.json rename to src/test/resources/algorithms/tnm/2.0/schemas/nasopharynx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/net_ampulla.json b/src/test/resources/algorithms/tnm/2.0/schemas/net_ampulla.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/net_ampulla.json rename to src/test/resources/algorithms/tnm/2.0/schemas/net_ampulla.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/net_colon.json b/src/test/resources/algorithms/tnm/2.0/schemas/net_colon.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/net_colon.json rename to src/test/resources/algorithms/tnm/2.0/schemas/net_colon.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/net_rectum.json b/src/test/resources/algorithms/tnm/2.0/schemas/net_rectum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/net_rectum.json rename to src/test/resources/algorithms/tnm/2.0/schemas/net_rectum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/net_small_intestine.json b/src/test/resources/algorithms/tnm/2.0/schemas/net_small_intestine.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/net_small_intestine.json rename to src/test/resources/algorithms/tnm/2.0/schemas/net_small_intestine.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/net_stomach.json b/src/test/resources/algorithms/tnm/2.0/schemas/net_stomach.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/net_stomach.json rename to src/test/resources/algorithms/tnm/2.0/schemas/net_stomach.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/orbit.json b/src/test/resources/algorithms/tnm/2.0/schemas/orbit.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/orbit.json rename to src/test/resources/algorithms/tnm/2.0/schemas/orbit.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/oropharynx.json b/src/test/resources/algorithms/tnm/2.0/schemas/oropharynx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/oropharynx.json rename to src/test/resources/algorithms/tnm/2.0/schemas/oropharynx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/ovary.json b/src/test/resources/algorithms/tnm/2.0/schemas/ovary.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/ovary.json rename to src/test/resources/algorithms/tnm/2.0/schemas/ovary.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/palate_hard.json b/src/test/resources/algorithms/tnm/2.0/schemas/palate_hard.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/palate_hard.json rename to src/test/resources/algorithms/tnm/2.0/schemas/palate_hard.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/palate_soft.json b/src/test/resources/algorithms/tnm/2.0/schemas/palate_soft.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/palate_soft.json rename to src/test/resources/algorithms/tnm/2.0/schemas/palate_soft.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/pancreas_body_tail.json b/src/test/resources/algorithms/tnm/2.0/schemas/pancreas_body_tail.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/pancreas_body_tail.json rename to src/test/resources/algorithms/tnm/2.0/schemas/pancreas_body_tail.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/pancreas_head.json b/src/test/resources/algorithms/tnm/2.0/schemas/pancreas_head.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/pancreas_head.json rename to src/test/resources/algorithms/tnm/2.0/schemas/pancreas_head.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/pancreas_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/pancreas_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/pancreas_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/pancreas_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/parotid_gland.json b/src/test/resources/algorithms/tnm/2.0/schemas/parotid_gland.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/parotid_gland.json rename to src/test/resources/algorithms/tnm/2.0/schemas/parotid_gland.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/penis.json b/src/test/resources/algorithms/tnm/2.0/schemas/penis.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/penis.json rename to src/test/resources/algorithms/tnm/2.0/schemas/penis.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/peritoneum.json b/src/test/resources/algorithms/tnm/2.0/schemas/peritoneum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/peritoneum.json rename to src/test/resources/algorithms/tnm/2.0/schemas/peritoneum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/peritoneum_female_gen.json b/src/test/resources/algorithms/tnm/2.0/schemas/peritoneum_female_gen.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/peritoneum_female_gen.json rename to src/test/resources/algorithms/tnm/2.0/schemas/peritoneum_female_gen.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/pharyngeal_tonsil.json b/src/test/resources/algorithms/tnm/2.0/schemas/pharyngeal_tonsil.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/pharyngeal_tonsil.json rename to src/test/resources/algorithms/tnm/2.0/schemas/pharyngeal_tonsil.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/pharynx_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/pharynx_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/pharynx_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/pharynx_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/placenta.json b/src/test/resources/algorithms/tnm/2.0/schemas/placenta.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/placenta.json rename to src/test/resources/algorithms/tnm/2.0/schemas/placenta.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/pleura.json b/src/test/resources/algorithms/tnm/2.0/schemas/pleura.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/pleura.json rename to src/test/resources/algorithms/tnm/2.0/schemas/pleura.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/prostate.json b/src/test/resources/algorithms/tnm/2.0/schemas/prostate.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/prostate.json rename to src/test/resources/algorithms/tnm/2.0/schemas/prostate.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/rectum.json b/src/test/resources/algorithms/tnm/2.0/schemas/rectum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/rectum.json rename to src/test/resources/algorithms/tnm/2.0/schemas/rectum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/respiratory_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/respiratory_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/respiratory_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/respiratory_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/retinoblastoma.json b/src/test/resources/algorithms/tnm/2.0/schemas/retinoblastoma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/retinoblastoma.json rename to src/test/resources/algorithms/tnm/2.0/schemas/retinoblastoma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/retroperitoneum.json b/src/test/resources/algorithms/tnm/2.0/schemas/retroperitoneum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/retroperitoneum.json rename to src/test/resources/algorithms/tnm/2.0/schemas/retroperitoneum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/salivary_gland_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/salivary_gland_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/salivary_gland_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/salivary_gland_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/scrotum.json b/src/test/resources/algorithms/tnm/2.0/schemas/scrotum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/scrotum.json rename to src/test/resources/algorithms/tnm/2.0/schemas/scrotum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/sinus_ethmoid.json b/src/test/resources/algorithms/tnm/2.0/schemas/sinus_ethmoid.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/sinus_ethmoid.json rename to src/test/resources/algorithms/tnm/2.0/schemas/sinus_ethmoid.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/sinus_maxillary.json b/src/test/resources/algorithms/tnm/2.0/schemas/sinus_maxillary.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/sinus_maxillary.json rename to src/test/resources/algorithms/tnm/2.0/schemas/sinus_maxillary.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/sinus_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/sinus_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/sinus_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/sinus_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/skin.json b/src/test/resources/algorithms/tnm/2.0/schemas/skin.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/skin.json rename to src/test/resources/algorithms/tnm/2.0/schemas/skin.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/skin_eyelid.json b/src/test/resources/algorithms/tnm/2.0/schemas/skin_eyelid.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/skin_eyelid.json rename to src/test/resources/algorithms/tnm/2.0/schemas/skin_eyelid.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/small_intestine.json b/src/test/resources/algorithms/tnm/2.0/schemas/small_intestine.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/small_intestine.json rename to src/test/resources/algorithms/tnm/2.0/schemas/small_intestine.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/soft_tissue.json b/src/test/resources/algorithms/tnm/2.0/schemas/soft_tissue.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/soft_tissue.json rename to src/test/resources/algorithms/tnm/2.0/schemas/soft_tissue.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/stomach.json b/src/test/resources/algorithms/tnm/2.0/schemas/stomach.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/stomach.json rename to src/test/resources/algorithms/tnm/2.0/schemas/stomach.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/submandibular_gland.json b/src/test/resources/algorithms/tnm/2.0/schemas/submandibular_gland.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/submandibular_gland.json rename to src/test/resources/algorithms/tnm/2.0/schemas/submandibular_gland.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/testis.json b/src/test/resources/algorithms/tnm/2.0/schemas/testis.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/testis.json rename to src/test/resources/algorithms/tnm/2.0/schemas/testis.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/thyroid.json b/src/test/resources/algorithms/tnm/2.0/schemas/thyroid.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/thyroid.json rename to src/test/resources/algorithms/tnm/2.0/schemas/thyroid.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/tongue_anterior.json b/src/test/resources/algorithms/tnm/2.0/schemas/tongue_anterior.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/tongue_anterior.json rename to src/test/resources/algorithms/tnm/2.0/schemas/tongue_anterior.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/tongue_base.json b/src/test/resources/algorithms/tnm/2.0/schemas/tongue_base.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/tongue_base.json rename to src/test/resources/algorithms/tnm/2.0/schemas/tongue_base.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/trachea.json b/src/test/resources/algorithms/tnm/2.0/schemas/trachea.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/trachea.json rename to src/test/resources/algorithms/tnm/2.0/schemas/trachea.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/urethra.json b/src/test/resources/algorithms/tnm/2.0/schemas/urethra.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/urethra.json rename to src/test/resources/algorithms/tnm/2.0/schemas/urethra.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/urinary_other.json b/src/test/resources/algorithms/tnm/2.0/schemas/urinary_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/urinary_other.json rename to src/test/resources/algorithms/tnm/2.0/schemas/urinary_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/vagina.json b/src/test/resources/algorithms/tnm/2.0/schemas/vagina.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/vagina.json rename to src/test/resources/algorithms/tnm/2.0/schemas/vagina.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/vulva.json b/src/test/resources/algorithms/tnm/2.0/schemas/vulva.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/schemas/vulva.json rename to src/test/resources/algorithms/tnm/2.0/schemas/vulva.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/adjust_path_defaults_for_no_clin_no_path_stage_group_not_defined_61358.json b/src/test/resources/algorithms/tnm/2.0/tables/adjust_path_defaults_for_no_clin_no_path_stage_group_not_defined_61358.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/adjust_path_defaults_for_no_clin_no_path_stage_group_not_defined_61358.json rename to src/test/resources/algorithms/tnm/2.0/tables/adjust_path_defaults_for_no_clin_no_path_stage_group_not_defined_61358.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/adjust_path_defaults_for_no_path_placenta_37763.json b/src/test/resources/algorithms/tnm/2.0/tables/adjust_path_defaults_for_no_path_placenta_37763.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/adjust_path_defaults_for_no_path_placenta_37763.json rename to src/test/resources/algorithms/tnm/2.0/tables/adjust_path_defaults_for_no_path_placenta_37763.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/adjustments_for_no_clin_or_no_path_26261.json b/src/test/resources/algorithms/tnm/2.0/tables/adjustments_for_no_clin_or_no_path_26261.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/adjustments_for_no_clin_or_no_path_26261.json rename to src/test/resources/algorithms/tnm/2.0/tables/adjustments_for_no_clin_or_no_path_26261.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/adrenal_gland_n_44698.json b/src/test/resources/algorithms/tnm/2.0/tables/adrenal_gland_n_44698.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/adrenal_gland_n_44698.json rename to src/test/resources/algorithms/tnm/2.0/tables/adrenal_gland_n_44698.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/adrenal_gland_t_18187.json b/src/test/resources/algorithms/tnm/2.0/tables/adrenal_gland_t_18187.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/adrenal_gland_t_18187.json rename to src/test/resources/algorithms/tnm/2.0/tables/adrenal_gland_t_18187.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/adrenal_m_7434.json b/src/test/resources/algorithms/tnm/2.0/tables/adrenal_m_7434.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/adrenal_m_7434.json rename to src/test/resources/algorithms/tnm/2.0/tables/adrenal_m_7434.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/age_at_diagnosis_validation_65093.json b/src/test/resources/algorithms/tnm/2.0/tables/age_at_diagnosis_validation_65093.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/age_at_diagnosis_validation_65093.json rename to src/test/resources/algorithms/tnm/2.0/tables/age_at_diagnosis_validation_65093.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ampulla_of_vater_t_63892.json b/src/test/resources/algorithms/tnm/2.0/tables/ampulla_of_vater_t_63892.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ampulla_of_vater_t_63892.json rename to src/test/resources/algorithms/tnm/2.0/tables/ampulla_of_vater_t_63892.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/anus_t_35615.json b/src/test/resources/algorithms/tnm/2.0/tables/anus_t_35615.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/anus_t_35615.json rename to src/test/resources/algorithms/tnm/2.0/tables/anus_t_35615.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/appendix_grade_category_calculation.json b/src/test/resources/algorithms/tnm/2.0/tables/appendix_grade_category_calculation.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/appendix_grade_category_calculation.json rename to src/test/resources/algorithms/tnm/2.0/tables/appendix_grade_category_calculation.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/behavior.json b/src/test/resources/algorithms/tnm/2.0/tables/behavior.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/behavior.json rename to src/test/resources/algorithms/tnm/2.0/tables/behavior.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/bone_histologies_stage.json b/src/test/resources/algorithms/tnm/2.0/tables/bone_histologies_stage.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/bone_histologies_stage.json rename to src/test/resources/algorithms/tnm/2.0/tables/bone_histologies_stage.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/breast_pathologic_t_84149.json b/src/test/resources/algorithms/tnm/2.0/tables/breast_pathologic_t_84149.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/breast_pathologic_t_84149.json rename to src/test/resources/algorithms/tnm/2.0/tables/breast_pathologic_t_84149.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/breast_t_70656.json b/src/test/resources/algorithms/tnm/2.0/tables/breast_t_70656.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/breast_t_70656.json rename to src/test/resources/algorithms/tnm/2.0/tables/breast_t_70656.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/buccal_mucosa_t_35895.json b/src/test/resources/algorithms/tnm/2.0/tables/buccal_mucosa_t_35895.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/buccal_mucosa_t_35895.json rename to src/test/resources/algorithms/tnm/2.0/tables/buccal_mucosa_t_35895.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/carcinoidappendix_t_41163.json b/src/test/resources/algorithms/tnm/2.0/tables/carcinoidappendix_t_41163.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/carcinoidappendix_t_41163.json rename to src/test/resources/algorithms/tnm/2.0/tables/carcinoidappendix_t_41163.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/cervix_uteri_t_38859.json b/src/test/resources/algorithms/tnm/2.0/tables/cervix_uteri_t_38859.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/cervix_uteri_t_38859.json rename to src/test/resources/algorithms/tnm/2.0/tables/cervix_uteri_t_38859.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_9010.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_9010.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_9010.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_9010.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_anus_46174.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_anus_46174.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_anus_46174.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_anus_46174.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_conjunctiva_59480.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_conjunctiva_59480.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_conjunctiva_59480.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_conjunctiva_59480.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hab.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hab.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hab.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hab.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hac.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hac.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hac.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hac.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_had.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_had.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_had.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_had.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hae.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hae.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hae.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hae.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_haf.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_haf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_haf.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_haf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hag.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hag.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hag.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hag.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hah.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hah.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hah.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hah.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hai.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hai.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hai.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hai.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_haj.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_haj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_haj.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_haj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hak.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hak.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hak.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hak.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hal.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hal.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hal.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hal.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_ham.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_ham.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_ham.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_ham.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_han.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_han.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_han.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_han.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hao.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hao.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hao.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hao.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hap.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hap.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hap.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hap.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_haq.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_haq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_haq.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_haq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_har.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_har.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_har.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_har.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hat.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hat.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hat.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hat.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hau.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hau.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hau.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hau.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hav.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hav.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hav.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hav.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_haz.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_haz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_haz.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_haz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hba.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hba.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hba.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hba.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbb.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbb.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbc.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbc.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbf.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbf.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbg.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbg.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbo.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbo.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbo.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbo.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbu.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbu.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbx.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbx.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbz.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hbz.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcb.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcb.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcc.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcc.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcd.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcd.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hce.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hce.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hce.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hce.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcf.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcf.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcg.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcg.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hch.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hch.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hch.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hch.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hci.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hci.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hci.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hci.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcj.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcj.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hck.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hck.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hck.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hck.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcl.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcl.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcn.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcn.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcp.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcp.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcp.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcp.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcq.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcq.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcr.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcr.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcr.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcr.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcs.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcs.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcs.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcs.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcu.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcu.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcv.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcv.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcv.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcv.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcw.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcw.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcy.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcy.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hcy.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcy.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_head_neck_melanoma_25497.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_head_neck_melanoma_25497.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_head_neck_melanoma_25497.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_head_neck_melanoma_25497.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hpb.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hpb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hpb.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hpb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hpc.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hpc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hpc.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hpc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hpd.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hpd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hpd.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hpd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hpe.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hpe.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hpe.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hpe.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hpg.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hpg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hpg.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hpg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hph.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_hph.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_hph.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_hph.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_major_salivary_glands_94644.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_major_salivary_glands_94644.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_major_salivary_glands_94644.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_major_salivary_glands_94644.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_net_ampulla_35993.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_net_ampulla_35993.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_net_ampulla_35993.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_net_ampulla_35993.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_soft_tissues_97765.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_m_soft_tissues_97765.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_m_soft_tissues_97765.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_m_soft_tissues_97765.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_ampulla_vater_45064.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_ampulla_vater_45064.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_ampulla_vater_45064.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_ampulla_vater_45064.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_bladder_88949.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_bladder_88949.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_bladder_88949.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_bladder_88949.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_bone_13753.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_bone_13753.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_bone_13753.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_bone_13753.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_conjunctiva_61091.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_conjunctiva_61091.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_conjunctiva_61091.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_conjunctiva_61091.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dab.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dab.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dab.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dab.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dai.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dai.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dai.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dai.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_daj.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_daj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_daj.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_daj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dak.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dak.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dak.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dak.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dam.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dam.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dam.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dam.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dan.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dan.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dan.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dan.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dat.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dat.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dat.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dat.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dau.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dau.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dau.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dau.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dav.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dav.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dav.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dav.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_daw.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_daw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_daw.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_daw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dax.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dax.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dax.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dax.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_day.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_day.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_day.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_day.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_daz.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_daz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_daz.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_daz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dba.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dba.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dba.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dba.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbb.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbb.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbc.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbc.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbj.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbj.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbl.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbl.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbm.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbm.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbn.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbn.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbr.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbr.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbr.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbr.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbt.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbt.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dbt.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbt.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dce.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dce.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dce.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dce.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dcn.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dcn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dcn.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dcn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_ddj.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_ddj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_ddj.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_ddj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_ddm.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_ddm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_ddm.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_ddm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_ddn.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_ddn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_ddn.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_ddn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_ddp.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_ddp.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_ddp.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_ddp.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dew.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dew.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dew.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dew.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfc.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfc.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfe.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfe.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfe.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfe.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dff.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dff.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dff.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dff.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfg.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfg.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfl.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfl.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfn.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfn.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfo.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfo.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfo.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfo.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfr.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfr.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfr.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfr.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfs.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfs.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfs.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfs.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfv.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfv.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfv.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfv.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfw.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfw.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfx.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_dfx.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_esophagus_ge_junction_51247.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_esophagus_ge_junction_51247.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_esophagus_ge_junction_51247.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_esophagus_ge_junction_51247.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_gist_appendix_93665.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_gist_appendix_93665.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_gist_appendix_93665.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_gist_appendix_93665.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_gist_esophagus_87582.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_gist_esophagus_87582.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_gist_esophagus_87582.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_gist_esophagus_87582.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_gist_peritoneum_47701.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_gist_peritoneum_47701.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_gist_peritoneum_47701.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_gist_peritoneum_47701.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_gist_rectum_58109.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_gist_rectum_58109.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_gist_rectum_58109.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_gist_rectum_58109.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_gist_small_intestine_23294.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_gist_small_intestine_23294.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_gist_small_intestine_23294.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_gist_small_intestine_23294.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_heart_mediastinum_77775.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_heart_mediastinum_77775.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_heart_mediastinum_77775.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_heart_mediastinum_77775.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_kidney_parenchyma_9806.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_kidney_parenchyma_9806.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_kidney_parenchyma_9806.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_kidney_parenchyma_9806.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_mycosis_fungoides_95773.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_mycosis_fungoides_95773.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_mycosis_fungoides_95773.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_mycosis_fungoides_95773.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_net_ampulla_36773.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_net_ampulla_36773.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_net_ampulla_36773.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_net_ampulla_36773.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_ophthalmic_n_94312.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_ophthalmic_n_94312.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_ophthalmic_n_94312.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_ophthalmic_n_94312.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_ophthalmic_n_notis_75953.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_ophthalmic_n_notis_75953.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_ophthalmic_n_notis_75953.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_ophthalmic_n_notis_75953.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_pleural_23905.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_pleural_23905.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_pleural_23905.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_pleural_23905.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_skin_eyelid_10770.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_skin_eyelid_10770.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_skin_eyelid_10770.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_skin_eyelid_10770.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_soft_tissues_78998.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_soft_tissues_78998.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_soft_tissues_78998.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_soft_tissues_78998.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_testis_17993.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_testis_17993.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_testis_17993.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_testis_17993.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_urethra_47275.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_n_urethra_47275.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_n_urethra_47275.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_n_urethra_47275.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_renal_pevis_and_ureter_11547.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_renal_pevis_and_ureter_11547.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_renal_pevis_and_ureter_11547.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_renal_pevis_and_ureter_11547.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_appendix_24847.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_appendix_24847.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_appendix_24847.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_appendix_24847.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_ban.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_ban.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_ban.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_ban.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_bbo.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bbo.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_bbo.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_bbo.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_bcp.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bcp.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_bcp.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_bcp.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_bcs.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bcs.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_bcs.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_bcs.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_bcu.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bcu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_bcu.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_bcu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_bdh.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bdh.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_bdh.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_bdh.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_bladder_38564.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bladder_38564.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_bladder_38564.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_bladder_38564.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_bone_70163.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bone_70163.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_bone_70163.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_bone_70163.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_cervix_78153.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_cervix_78153.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_cervix_78153.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_cervix_78153.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_conjunctiva_42760.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_conjunctiva_42760.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_conjunctiva_42760.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_conjunctiva_42760.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_copy_81159.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_copy_81159.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_copy_81159.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_copy_81159.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_esophagus_57970.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_esophagus_57970.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_esophagus_57970.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_esophagus_57970.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_fallopian_tube_77615.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_fallopian_tube_77615.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_fallopian_tube_77615.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_fallopian_tube_77615.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_floor_of_mouth_37028.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_floor_of_mouth_37028.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_floor_of_mouth_37028.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_floor_of_mouth_37028.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gallbladder_13172.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gallbladder_13172.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gallbladder_13172.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_gallbladder_13172.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gist_appendix_41981.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_appendix_41981.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gist_appendix_41981.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_appendix_41981.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gist_colon_copy_80286.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_colon_copy_80286.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gist_colon_copy_80286.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_colon_copy_80286.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gist_esophagus_47140.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_esophagus_47140.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gist_esophagus_47140.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_esophagus_47140.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gist_peritoneum_12183.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_peritoneum_12183.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gist_peritoneum_12183.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_peritoneum_12183.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gist_rectum_83293.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_rectum_83293.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gist_rectum_83293.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_rectum_83293.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gist_small_intestine_3299.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_small_intestine_3299.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gist_small_intestine_3299.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_small_intestine_3299.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gist_stomach_46079.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_stomach_46079.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gist_stomach_46079.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_stomach_46079.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_glottic_larynx_36272.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_glottic_larynx_36272.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_glottic_larynx_36272.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_glottic_larynx_36272.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gum_lower_57588.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_lower_57588.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gum_lower_57588.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_lower_57588.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gum_other_73657.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_other_73657.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gum_other_73657.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_other_73657.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gum_upper_23313.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_upper_23313.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_gum_upper_23313.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_upper_23313.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_heart_mediastinum_11552.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_heart_mediastinum_11552.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_heart_mediastinum_11552.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_heart_mediastinum_11552.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_hypopharynx_3365.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_hypopharynx_3365.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_hypopharynx_3365.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_hypopharynx_3365.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_kidney_parenchyma_9887.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_kidney_parenchyma_9887.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_kidney_parenchyma_9887.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_kidney_parenchyma_9887.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_lacrimal_gland_71633.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lacrimal_gland_71633.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_lacrimal_gland_71633.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_lacrimal_gland_71633.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_larynx_nos_75299.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_nos_75299.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_larynx_nos_75299.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_nos_75299.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_larynx_subglottic_11069.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_subglottic_11069.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_larynx_subglottic_11069.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_subglottic_11069.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_larynx_supraglottic_69988.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_supraglottic_69988.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_larynx_supraglottic_69988.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_supraglottic_69988.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_lip_lower_64771.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_lower_64771.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_lip_lower_64771.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_lower_64771.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_lip_other_75184.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_other_75184.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_lip_other_75184.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_other_75184.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_lip_upper_3775.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_upper_3775.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_lip_upper_3775.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_upper_3775.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_liver_16950.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_liver_16950.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_liver_16950.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_liver_16950.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_lung_28486.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lung_28486.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_lung_28486.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_lung_28486.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_buccal_mucosa_55204.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_buccal_mucosa_55204.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_buccal_mucosa_55204.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_buccal_mucosa_55204.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_choroid_t_80325.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_choroid_t_80325.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_choroid_t_80325.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_choroid_t_80325.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_ciliary_body_68734.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_ciliary_body_68734.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_ciliary_body_68734.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_ciliary_body_68734.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_epiglottis_anterior_87665.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_epiglottis_anterior_87665.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_epiglottis_anterior_87665.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_epiglottis_anterior_87665.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_floor_of_mouth_29889.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_floor_of_mouth_29889.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_floor_of_mouth_29889.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_floor_of_mouth_29889.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_lower_93520.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_lower_93520.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_lower_93520.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_lower_93520.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_other_64011.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_other_64011.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_other_64011.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_other_64011.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_upper_45093.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_upper_45093.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_upper_45093.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_upper_45093.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_hypopharynx_41386.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_hypopharynx_41386.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_hypopharynx_41386.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_hypopharynx_41386.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_iris_54551.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_iris_54551.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_iris_54551.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_iris_54551.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_glottic_10232.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_glottic_10232.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_glottic_10232.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_glottic_10232.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_other_92067.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_other_92067.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_other_92067.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_other_92067.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_subglottic_74637.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_subglottic_74637.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_subglottic_74637.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_subglottic_74637.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_supraglottic_25433.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_supraglottic_25433.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_supraglottic_25433.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_supraglottic_25433.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lip_other_38821.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lip_other_38821.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lip_other_38821.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lip_other_38821.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_15469.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_15469.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_15469.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_15469.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_t_31253.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_t_31253.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_t_31253.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_t_31253.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_mouth_other_18724.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_mouth_other_18724.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_mouth_other_18724.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_mouth_other_18724.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasal_cavity_92441.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasal_cavity_92441.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasal_cavity_92441.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasal_cavity_92441.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasopharynx_19497.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasopharynx_19497.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasopharynx_19497.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasopharynx_19497.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_oropharynx_83498.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_oropharynx_83498.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_oropharynx_83498.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_oropharynx_83498.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_hard_80202.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_hard_80202.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_hard_80202.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_hard_80202.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_soft_21789.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_soft_21789.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_soft_21789.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_soft_21789.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_pharynx_other_3685.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_pharynx_other_3685.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_pharynx_other_3685.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_pharynx_other_3685.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_ethmoid_72398.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_ethmoid_72398.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_ethmoid_72398.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_ethmoid_72398.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_maxillary_64193.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_maxillary_64193.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_maxillary_64193.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_maxillary_64193.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_anterior_38455.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_anterior_38455.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_anterior_38455.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_anterior_38455.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_base_6605.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_base_6605.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_base_6605.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_base_6605.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_penis_10043.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_penis_10043.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_penis_10043.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_penis_10043.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_scrotum_24017.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_scrotum_24017.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_scrotum_24017.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_scrotum_24017.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_skin_t_96388.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_skin_t_96388.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_skin_t_96388.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_skin_t_96388.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_vulva_96899.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_vulva_96899.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_vulva_96899.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_vulva_96899.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_mouth_other_28324.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_mouth_other_28324.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_mouth_other_28324.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_mouth_other_28324.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_mycosis_fungoides_76446.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_mycosis_fungoides_76446.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_mycosis_fungoides_76446.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_mycosis_fungoides_76446.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_nasal_cavity_5031.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_nasal_cavity_5031.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_nasal_cavity_5031.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_nasal_cavity_5031.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_nasopharynx_40813.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_nasopharynx_40813.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_nasopharynx_40813.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_nasopharynx_40813.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_orbit_59896.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_orbit_59896.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_orbit_59896.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_orbit_59896.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_oropharynx_53342.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_oropharynx_53342.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_oropharynx_53342.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_oropharynx_53342.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_ovary_95574.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_ovary_95574.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_ovary_95574.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_ovary_95574.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_palate_hard_21871.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_palate_hard_21871.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_palate_hard_21871.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_palate_hard_21871.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_body_tail_71461.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_body_tail_71461.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_body_tail_71461.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_body_tail_71461.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_head_97928.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_head_97928.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_head_97928.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_head_97928.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_other_28719.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_other_28719.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_other_28719.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_other_28719.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_parotid_gland_13635.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_parotid_gland_13635.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_parotid_gland_13635.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_parotid_gland_13635.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_penis_88876.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_penis_88876.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_penis_88876.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_penis_88876.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_perihilar_bile_ducts_63594.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_perihilar_bile_ducts_63594.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_perihilar_bile_ducts_63594.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_perihilar_bile_ducts_63594.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_67989.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_67989.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_67989.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_67989.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_female_gen_47507.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_female_gen_47507.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_female_gen_47507.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_female_gen_47507.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_pharyngeal_tonsil_99141.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pharyngeal_tonsil_99141.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_pharyngeal_tonsil_99141.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_pharyngeal_tonsil_99141.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_placenta_62001.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_placenta_62001.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_placenta_62001.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_placenta_62001.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_pleura_24291.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pleura_24291.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_pleura_24291.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_pleura_24291.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_rectum_29212.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_rectum_29212.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_rectum_29212.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_rectum_29212.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_renal_pelvis_and_ureter_48274.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_renal_pelvis_and_ureter_48274.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_renal_pelvis_and_ureter_48274.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_renal_pelvis_and_ureter_48274.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_retroperitoneum_91920.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_retroperitoneum_91920.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_retroperitoneum_91920.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_retroperitoneum_91920.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_salivaryglandother_54081.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_salivaryglandother_54081.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_salivaryglandother_54081.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_salivaryglandother_54081.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_scrotum_13282.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_scrotum_13282.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_scrotum_13282.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_scrotum_13282.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_sinus_ethmoid_61914.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_sinus_ethmoid_61914.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_sinus_ethmoid_61914.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_sinus_ethmoid_61914.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_sinus_maxillary_12245.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_sinus_maxillary_12245.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_sinus_maxillary_12245.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_sinus_maxillary_12245.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_skin_92153.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_skin_92153.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_skin_92153.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_skin_92153.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_skin_eyelid_93914.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_skin_eyelid_93914.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_skin_eyelid_93914.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_skin_eyelid_93914.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_small_intestine_22563.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_small_intestine_22563.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_small_intestine_22563.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_small_intestine_22563.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_soft_tissue_43767.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_soft_tissue_43767.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_soft_tissue_43767.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_soft_tissue_43767.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_stomach_55386.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_stomach_55386.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_stomach_55386.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_stomach_55386.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_submandibular_gland_45502.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_submandibular_gland_45502.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_submandibular_gland_45502.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_submandibular_gland_45502.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_thyroid_93682.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_thyroid_93682.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_thyroid_93682.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_thyroid_93682.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_tongue_anterior_43968.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_tongue_anterior_43968.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_tongue_anterior_43968.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_tongue_anterior_43968.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_tongue_base_63370.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_tongue_base_63370.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_tongue_base_63370.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_tongue_base_63370.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_urethra_39553.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_urethra_39553.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_urethra_39553.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_urethra_39553.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_vagina_84852.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_vagina_84852.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_vagina_84852.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_vagina_84852.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_vulva_52779.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_vulva_52779.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clin_t_vulva_52779.json rename to src/test/resources/algorithms/tnm/2.0/tables/clin_t_vulva_52779.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clinical_m_64416.json b/src/test/resources/algorithms/tnm/2.0/tables/clinical_m_64416.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clinical_m_64416.json rename to src/test/resources/algorithms/tnm/2.0/tables/clinical_m_64416.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_48422.json b/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_48422.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_48422.json rename to src/test/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_48422.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_carcinoma_62458.json b/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_carcinoma_62458.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_carcinoma_62458.json rename to src/test/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_carcinoma_62458.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_except_nasopharynx_25237.json b/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_except_nasopharynx_25237.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_except_nasopharynx_25237.json rename to src/test/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_except_nasopharynx_25237.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_melanoma_66648.json b/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_melanoma_66648.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_melanoma_66648.json rename to src/test/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_melanoma_66648.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clinical_n_major_salivary_glands_19191.json b/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_major_salivary_glands_19191.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/clinical_n_major_salivary_glands_19191.json rename to src/test/resources/algorithms/tnm/2.0/tables/clinical_n_major_salivary_glands_19191.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/colon_65083.json b/src/test/resources/algorithms/tnm/2.0/tables/colon_65083.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/colon_65083.json rename to src/test/resources/algorithms/tnm/2.0/tables/colon_65083.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_gleason_93464.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_gleason_93464.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_gleason_93464.json rename to src/test/resources/algorithms/tnm/2.0/tables/combined_gleason_93464.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_m.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_m.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_m.json rename to src/test/resources/algorithms/tnm/2.0/tables/combined_m.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_n.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_n.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_n.json rename to src/test/resources/algorithms/tnm/2.0/tables/combined_n.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_n_for_tis_cancers_4947.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_n_for_tis_cancers_4947.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_n_for_tis_cancers_4947.json rename to src/test/resources/algorithms/tnm/2.0/tables/combined_n_for_tis_cancers_4947.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_n_lung.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_n_lung.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_n_lung.json rename to src/test/resources/algorithms/tnm/2.0/tables/combined_n_lung.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_n_no_tis_path_n_cn0_allowed_73884.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_n_no_tis_path_n_cn0_allowed_73884.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_n_no_tis_path_n_cn0_allowed_73884.json rename to src/test/resources/algorithms/tnm/2.0/tables/combined_n_no_tis_path_n_cn0_allowed_73884.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_stage_group_for_lymphoma_19552.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_stage_group_for_lymphoma_19552.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_stage_group_for_lymphoma_19552.json rename to src/test/resources/algorithms/tnm/2.0/tables/combined_stage_group_for_lymphoma_19552.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_t.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_t.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_t.json rename to src/test/resources/algorithms/tnm/2.0/tables/combined_t.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_t_breast.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_t_breast.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_t_breast.json rename to src/test/resources/algorithms/tnm/2.0/tables/combined_t_breast.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_t_colon.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_t_colon.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_t_colon.json rename to src/test/resources/algorithms/tnm/2.0/tables/combined_t_colon.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_t_lung.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_t_lung.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_t_lung.json rename to src/test/resources/algorithms/tnm/2.0/tables/combined_t_lung.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_t_no_tis.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_t_no_tis.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_t_no_tis.json rename to src/test/resources/algorithms/tnm/2.0/tables/combined_t_no_tis.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_t_retinoblastoma.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_t_retinoblastoma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_t_retinoblastoma.json rename to src/test/resources/algorithms/tnm/2.0/tables/combined_t_retinoblastoma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_t_thyroid_anaplastic_32619.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_t_thyroid_anaplastic_32619.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/combined_t_thyroid_anaplastic_32619.json rename to src/test/resources/algorithms/tnm/2.0/tables/combined_t_thyroid_anaplastic_32619.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/concatenate_m_40642.json b/src/test/resources/algorithms/tnm/2.0/tables/concatenate_m_40642.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/concatenate_m_40642.json rename to src/test/resources/algorithms/tnm/2.0/tables/concatenate_m_40642.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/concatenate_n_43246.json b/src/test/resources/algorithms/tnm/2.0/tables/concatenate_n_43246.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/concatenate_n_43246.json rename to src/test/resources/algorithms/tnm/2.0/tables/concatenate_n_43246.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/concatenate_t_51262.json b/src/test/resources/algorithms/tnm/2.0/tables/concatenate_t_51262.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/concatenate_t_51262.json rename to src/test/resources/algorithms/tnm/2.0/tables/concatenate_t_51262.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/conjunctiva_t_62523.json b/src/test/resources/algorithms/tnm/2.0/tables/conjunctiva_t_62523.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/conjunctiva_t_62523.json rename to src/test/resources/algorithms/tnm/2.0/tables/conjunctiva_t_62523.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_pathologic_t_90591.json b/src/test/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_pathologic_t_90591.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_pathologic_t_90591.json rename to src/test/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_pathologic_t_90591.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_t_34843.json b/src/test/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_t_34843.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_t_34843.json rename to src/test/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_t_34843.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/corpus_carcinoma_t_42324.json b/src/test/resources/algorithms/tnm/2.0/tables/corpus_carcinoma_t_42324.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/corpus_carcinoma_t_42324.json rename to src/test/resources/algorithms/tnm/2.0/tables/corpus_carcinoma_t_42324.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_clinical_t_23604.json b/src/test/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_clinical_t_23604.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_clinical_t_23604.json rename to src/test/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_clinical_t_23604.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_t_13268.json b/src/test/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_t_13268.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_t_13268.json rename to src/test/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_t_13268.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/cystic_duct_t_52091.json b/src/test/resources/algorithms/tnm/2.0/tables/cystic_duct_t_52091.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/cystic_duct_t_52091.json rename to src/test/resources/algorithms/tnm/2.0/tables/cystic_duct_t_52091.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/determine_combined_prefix_91402.json b/src/test/resources/algorithms/tnm/2.0/tables/determine_combined_prefix_91402.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/determine_combined_prefix_91402.json rename to src/test/resources/algorithms/tnm/2.0/tables/determine_combined_prefix_91402.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/determine_default_m.json b/src/test/resources/algorithms/tnm/2.0/tables/determine_default_m.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/determine_default_m.json rename to src/test/resources/algorithms/tnm/2.0/tables/determine_default_m.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/determine_default_n.json b/src/test/resources/algorithms/tnm/2.0/tables/determine_default_n.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/determine_default_n.json rename to src/test/resources/algorithms/tnm/2.0/tables/determine_default_n.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/determine_default_t.json b/src/test/resources/algorithms/tnm/2.0/tables/determine_default_t.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/determine_default_t.json rename to src/test/resources/algorithms/tnm/2.0/tables/determine_default_t.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/determine_default_t_anaplastic_77806.json b/src/test/resources/algorithms/tnm/2.0/tables/determine_default_t_anaplastic_77806.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/determine_default_t_anaplastic_77806.json rename to src/test/resources/algorithms/tnm/2.0/tables/determine_default_t_anaplastic_77806.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/discriminator_bile_ducts.json b/src/test/resources/algorithms/tnm/2.0/tables/discriminator_bile_ducts.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/discriminator_bile_ducts.json rename to src/test/resources/algorithms/tnm/2.0/tables/discriminator_bile_ducts.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/discriminator_esophogus_ge_junction.json b/src/test/resources/algorithms/tnm/2.0/tables/discriminator_esophogus_ge_junction.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/discriminator_esophogus_ge_junction.json rename to src/test/resources/algorithms/tnm/2.0/tables/discriminator_esophogus_ge_junction.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/discriminator_lacrimal.json b/src/test/resources/algorithms/tnm/2.0/tables/discriminator_lacrimal.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/discriminator_lacrimal.json rename to src/test/resources/algorithms/tnm/2.0/tables/discriminator_lacrimal.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/discriminator_melanoma.json b/src/test/resources/algorithms/tnm/2.0/tables/discriminator_melanoma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/discriminator_melanoma.json rename to src/test/resources/algorithms/tnm/2.0/tables/discriminator_melanoma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/discriminator_nasopharynx.json b/src/test/resources/algorithms/tnm/2.0/tables/discriminator_nasopharynx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/discriminator_nasopharynx.json rename to src/test/resources/algorithms/tnm/2.0/tables/discriminator_nasopharynx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/distal_blie_duct_t_30646.json b/src/test/resources/algorithms/tnm/2.0/tables/distal_blie_duct_t_30646.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/distal_blie_duct_t_30646.json rename to src/test/resources/algorithms/tnm/2.0/tables/distal_blie_duct_t_30646.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/esophagus_gejunction_histologies_stage.json b/src/test/resources/algorithms/tnm/2.0/tables/esophagus_gejunction_histologies_stage.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/esophagus_gejunction_histologies_stage.json rename to src/test/resources/algorithms/tnm/2.0/tables/esophagus_gejunction_histologies_stage.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/esophagus_histologies_stage.json b/src/test/resources/algorithms/tnm/2.0/tables/esophagus_histologies_stage.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/esophagus_histologies_stage.json rename to src/test/resources/algorithms/tnm/2.0/tables/esophagus_histologies_stage.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/esophagus_t_28679.json b/src/test/resources/algorithms/tnm/2.0/tables/esophagus_t_28679.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/esophagus_t_28679.json rename to src/test/resources/algorithms/tnm/2.0/tables/esophagus_t_28679.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/esophagusgejunction_t_39319.json b/src/test/resources/algorithms/tnm/2.0/tables/esophagusgejunction_t_39319.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/esophagusgejunction_t_39319.json rename to src/test/resources/algorithms/tnm/2.0/tables/esophagusgejunction_t_39319.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/fallopian_tube_t_96584.json b/src/test/resources/algorithms/tnm/2.0/tables/fallopian_tube_t_96584.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/fallopian_tube_t_96584.json rename to src/test/resources/algorithms/tnm/2.0/tables/fallopian_tube_t_96584.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/floor_of_mouth_t_38606.json b/src/test/resources/algorithms/tnm/2.0/tables/floor_of_mouth_t_38606.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/floor_of_mouth_t_38606.json rename to src/test/resources/algorithms/tnm/2.0/tables/floor_of_mouth_t_38606.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gallbladder_t_77234.json b/src/test/resources/algorithms/tnm/2.0/tables/gallbladder_t_77234.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gallbladder_t_77234.json rename to src/test/resources/algorithms/tnm/2.0/tables/gallbladder_t_77234.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_appendix_mitotic_rate_calculation.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_mitotic_rate_calculation.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_appendix_mitotic_rate_calculation.json rename to src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_mitotic_rate_calculation.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_appendix_n_87661.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_n_87661.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_appendix_n_87661.json rename to src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_n_87661.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_appendix_t_67124.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_t_67124.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_appendix_t_67124.json rename to src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_t_67124.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_colon_n_46351.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_colon_n_46351.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_colon_n_46351.json rename to src/test/resources/algorithms/tnm/2.0/tables/gist_colon_n_46351.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_esophagus_mitotic_rate_calculation.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_esophagus_mitotic_rate_calculation.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_esophagus_mitotic_rate_calculation.json rename to src/test/resources/algorithms/tnm/2.0/tables/gist_esophagus_mitotic_rate_calculation.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_esophagus_t_61710.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_esophagus_t_61710.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_esophagus_t_61710.json rename to src/test/resources/algorithms/tnm/2.0/tables/gist_esophagus_t_61710.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_peritoneum_mitotic_rate_calculation.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_mitotic_rate_calculation.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_peritoneum_mitotic_rate_calculation.json rename to src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_mitotic_rate_calculation.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_peritoneum_n_18654.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_n_18654.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_peritoneum_n_18654.json rename to src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_n_18654.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_peritoneum_t_10242.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_t_10242.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_peritoneum_t_10242.json rename to src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_t_10242.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_rectum_n_35223.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_rectum_n_35223.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_rectum_n_35223.json rename to src/test/resources/algorithms/tnm/2.0/tables/gist_rectum_n_35223.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_rectum_t_7125.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_rectum_t_7125.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_rectum_t_7125.json rename to src/test/resources/algorithms/tnm/2.0/tables/gist_rectum_t_7125.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_small_intestine_n_18642.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_small_intestine_n_18642.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_small_intestine_n_18642.json rename to src/test/resources/algorithms/tnm/2.0/tables/gist_small_intestine_n_18642.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_small_intestine_t_83343.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_small_intestine_t_83343.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_small_intestine_t_83343.json rename to src/test/resources/algorithms/tnm/2.0/tables/gist_small_intestine_t_83343.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_stomach_n_73991.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_stomach_n_73991.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_stomach_n_73991.json rename to src/test/resources/algorithms/tnm/2.0/tables/gist_stomach_n_73991.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_stomach_t_60871.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_stomach_t_60871.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gist_stomach_t_60871.json rename to src/test/resources/algorithms/tnm/2.0/tables/gist_stomach_t_60871.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gistcolon_t_85374.json b/src/test/resources/algorithms/tnm/2.0/tables/gistcolon_t_85374.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gistcolon_t_85374.json rename to src/test/resources/algorithms/tnm/2.0/tables/gistcolon_t_85374.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gistesophagus_n_17925.json b/src/test/resources/algorithms/tnm/2.0/tables/gistesophagus_n_17925.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gistesophagus_n_17925.json rename to src/test/resources/algorithms/tnm/2.0/tables/gistesophagus_n_17925.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/giststomach_t_55582.json b/src/test/resources/algorithms/tnm/2.0/tables/giststomach_t_55582.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/giststomach_t_55582.json rename to src/test/resources/algorithms/tnm/2.0/tables/giststomach_t_55582.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/glottic_larynx_t_8691.json b/src/test/resources/algorithms/tnm/2.0/tables/glottic_larynx_t_8691.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/glottic_larynx_t_8691.json rename to src/test/resources/algorithms/tnm/2.0/tables/glottic_larynx_t_8691.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/grade.json b/src/test/resources/algorithms/tnm/2.0/tables/grade.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/grade.json rename to src/test/resources/algorithms/tnm/2.0/tables/grade.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gum_lower_t_24295.json b/src/test/resources/algorithms/tnm/2.0/tables/gum_lower_t_24295.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gum_lower_t_24295.json rename to src/test/resources/algorithms/tnm/2.0/tables/gum_lower_t_24295.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gum_other_t_49578.json b/src/test/resources/algorithms/tnm/2.0/tables/gum_other_t_49578.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gum_other_t_49578.json rename to src/test/resources/algorithms/tnm/2.0/tables/gum_other_t_49578.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gum_upper_t_95905.json b/src/test/resources/algorithms/tnm/2.0/tables/gum_upper_t_95905.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/gum_upper_t_95905.json rename to src/test/resources/algorithms/tnm/2.0/tables/gum_upper_t_95905.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/heart_mediastinum_n_50568.json b/src/test/resources/algorithms/tnm/2.0/tables/heart_mediastinum_n_50568.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/heart_mediastinum_n_50568.json rename to src/test/resources/algorithms/tnm/2.0/tables/heart_mediastinum_n_50568.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/heart_mediastinum_t_30394.json b/src/test/resources/algorithms/tnm/2.0/tables/heart_mediastinum_t_30394.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/heart_mediastinum_t_30394.json rename to src/test/resources/algorithms/tnm/2.0/tables/heart_mediastinum_t_30394.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/histologies_grade_path_stage_tnm_7_37149.json b/src/test/resources/algorithms/tnm/2.0/tables/histologies_grade_path_stage_tnm_7_37149.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/histologies_grade_path_stage_tnm_7_37149.json rename to src/test/resources/algorithms/tnm/2.0/tables/histologies_grade_path_stage_tnm_7_37149.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/histologies_grade_stage_tnm_7_20594.json b/src/test/resources/algorithms/tnm/2.0/tables/histologies_grade_stage_tnm_7_20594.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/histologies_grade_stage_tnm_7_20594.json rename to src/test/resources/algorithms/tnm/2.0/tables/histologies_grade_stage_tnm_7_20594.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/histologies_path_stage_47414.json b/src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_47414.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/histologies_path_stage_47414.json rename to src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_47414.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/histologies_path_stage_56616.json b/src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_56616.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/histologies_path_stage_56616.json rename to src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_56616.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/histologies_path_stage_99978.json b/src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_99978.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/histologies_path_stage_99978.json rename to src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_99978.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/histology.json b/src/test/resources/algorithms/tnm/2.0/tables/histology.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/histology.json rename to src/test/resources/algorithms/tnm/2.0/tables/histology.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/hypopharynx_t_21848.json b/src/test/resources/algorithms/tnm/2.0/tables/hypopharynx_t_21848.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/hypopharynx_t_21848.json rename to src/test/resources/algorithms/tnm/2.0/tables/hypopharynx_t_21848.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ids.txt b/src/test/resources/algorithms/tnm/2.0/tables/ids.txt similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ids.txt rename to src/test/resources/algorithms/tnm/2.0/tables/ids.txt diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/intrahepatic_bile_ducts_t_31771.json b/src/test/resources/algorithms/tnm/2.0/tables/intrahepatic_bile_ducts_t_31771.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/intrahepatic_bile_ducts_t_31771.json rename to src/test/resources/algorithms/tnm/2.0/tables/intrahepatic_bile_ducts_t_31771.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/kidney_n_42919.json b/src/test/resources/algorithms/tnm/2.0/tables/kidney_n_42919.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/kidney_n_42919.json rename to src/test/resources/algorithms/tnm/2.0/tables/kidney_n_42919.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/kidney_parenchyma_t_48027.json b/src/test/resources/algorithms/tnm/2.0/tables/kidney_parenchyma_t_48027.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/kidney_parenchyma_t_48027.json rename to src/test/resources/algorithms/tnm/2.0/tables/kidney_parenchyma_t_48027.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lacrimal_gland_t_1116.json b/src/test/resources/algorithms/tnm/2.0/tables/lacrimal_gland_t_1116.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lacrimal_gland_t_1116.json rename to src/test/resources/algorithms/tnm/2.0/tables/lacrimal_gland_t_1116.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/larynx_nos_t_90793.json b/src/test/resources/algorithms/tnm/2.0/tables/larynx_nos_t_90793.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/larynx_nos_t_90793.json rename to src/test/resources/algorithms/tnm/2.0/tables/larynx_nos_t_90793.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/larynx_subglottic_t_32495.json b/src/test/resources/algorithms/tnm/2.0/tables/larynx_subglottic_t_32495.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/larynx_subglottic_t_32495.json rename to src/test/resources/algorithms/tnm/2.0/tables/larynx_subglottic_t_32495.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/larynx_supraglottic_t_57946.json b/src/test/resources/algorithms/tnm/2.0/tables/larynx_supraglottic_t_57946.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/larynx_supraglottic_t_57946.json rename to src/test/resources/algorithms/tnm/2.0/tables/larynx_supraglottic_t_57946.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lip_lower_t_82564.json b/src/test/resources/algorithms/tnm/2.0/tables/lip_lower_t_82564.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lip_lower_t_82564.json rename to src/test/resources/algorithms/tnm/2.0/tables/lip_lower_t_82564.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lip_other_t_56087.json b/src/test/resources/algorithms/tnm/2.0/tables/lip_other_t_56087.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lip_other_t_56087.json rename to src/test/resources/algorithms/tnm/2.0/tables/lip_other_t_56087.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lip_upper_t_48652.json b/src/test/resources/algorithms/tnm/2.0/tables/lip_upper_t_48652.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lip_upper_t_48652.json rename to src/test/resources/algorithms/tnm/2.0/tables/lip_upper_t_48652.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/liver_t_55652.json b/src/test/resources/algorithms/tnm/2.0/tables/liver_t_55652.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/liver_t_55652.json rename to src/test/resources/algorithms/tnm/2.0/tables/liver_t_55652.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lung_occult_stage_11131.json b/src/test/resources/algorithms/tnm/2.0/tables/lung_occult_stage_11131.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lung_occult_stage_11131.json rename to src/test/resources/algorithms/tnm/2.0/tables/lung_occult_stage_11131.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lung_t_86537.json b/src/test/resources/algorithms/tnm/2.0/tables/lung_t_86537.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lung_t_86537.json rename to src/test/resources/algorithms/tnm/2.0/tables/lung_t_86537.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphoma_path_stage_group_detailed_88547.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphoma_path_stage_group_detailed_88547.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphoma_path_stage_group_detailed_88547.json rename to src/test/resources/algorithms/tnm/2.0/tables/lymphoma_path_stage_group_detailed_88547.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphoma_stage_group_detailed_35045.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphoma_stage_group_detailed_35045.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphoma_stage_group_detailed_35045.json rename to src/test/resources/algorithms/tnm/2.0/tables/lymphoma_stage_group_detailed_35045.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_m_no_uicc_definition_96511.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_m_no_uicc_definition_96511.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_m_no_uicc_definition_96511.json rename to src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_m_no_uicc_definition_96511.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_n_no_uicc_definition_66872.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_n_no_uicc_definition_66872.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_n_no_uicc_definition_66872.json rename to src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_n_no_uicc_definition_66872.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_m_no_uicc_definition_copy_6387.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_m_no_uicc_definition_copy_6387.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_m_no_uicc_definition_copy_6387.json rename to src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_m_no_uicc_definition_copy_6387.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_n_no_uicc_definition_17284.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_n_no_uicc_definition_17284.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_n_no_uicc_definition_17284.json rename to src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_n_no_uicc_definition_17284.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_t_no_uicc_definition_copy_11297.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_t_no_uicc_definition_copy_11297.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_t_no_uicc_definition_copy_11297.json rename to src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_t_no_uicc_definition_copy_11297.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_t_no_uicc_definition_89433.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_t_no_uicc_definition_89433.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_t_no_uicc_definition_89433.json rename to src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_t_no_uicc_definition_89433.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_buccal_mucosa_t_76459.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_buccal_mucosa_t_76459.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_buccal_mucosa_t_76459.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_buccal_mucosa_t_76459.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_choroid_t_79116.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_choroid_t_79116.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_choroid_t_79116.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_choroid_t_79116.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_ciliary_body_t_34399.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_ciliary_body_t_34399.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_ciliary_body_t_34399.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_ciliary_body_t_34399.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_n_15261.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_n_15261.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_n_15261.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_n_15261.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_pathologic_n_83143.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_pathologic_n_83143.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_pathologic_n_83143.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_pathologic_n_83143.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_epiglottis_anterior_t_92827.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_epiglottis_anterior_t_92827.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_epiglottis_anterior_t_92827.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_epiglottis_anterior_t_92827.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_floor_of_mouth_t_86503.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_floor_of_mouth_t_86503.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_floor_of_mouth_t_86503.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_floor_of_mouth_t_86503.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_gum_lower_t_30606.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_gum_lower_t_30606.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_gum_lower_t_30606.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_gum_lower_t_30606.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_gum_other_t_27553.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_gum_other_t_27553.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_gum_other_t_27553.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_gum_other_t_27553.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_hypopharynx_t_81125.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_hypopharynx_t_81125.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_hypopharynx_t_81125.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_hypopharynx_t_81125.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_iris_t_65686.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_iris_t_65686.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_iris_t_65686.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_iris_t_65686.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_larynx_glottic_t_65946.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_glottic_t_65946.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_larynx_glottic_t_65946.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_glottic_t_65946.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_larynx_other_t_71686.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_other_t_71686.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_larynx_other_t_71686.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_other_t_71686.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_larynx_subglottic_81170.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_subglottic_81170.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_larynx_subglottic_81170.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_subglottic_81170.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_larynx_supraglottic_63201.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_supraglottic_63201.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_larynx_supraglottic_63201.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_supraglottic_63201.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_lip_other_t_71709.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_lip_other_t_71709.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_lip_other_t_71709.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_lip_other_t_71709.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_30772.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_30772.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_30772.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_30772.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_39461.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_39461.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_39461.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_39461.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_mouth_other_t_26001.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_mouth_other_t_26001.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_mouth_other_t_26001.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_mouth_other_t_26001.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_nasal_cavity_t_57160.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_nasal_cavity_t_57160.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_nasal_cavity_t_57160.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_nasal_cavity_t_57160.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_nasopharynx_t_72770.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_nasopharynx_t_72770.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_nasopharynx_t_72770.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_nasopharynx_t_72770.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_oropharynx_t_73396.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_oropharynx_t_73396.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_oropharynx_t_73396.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_oropharynx_t_73396.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_palate_hard_t_49262.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_palate_hard_t_49262.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_palate_hard_t_49262.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_palate_hard_t_49262.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_palate_soft_t_15766.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_palate_soft_t_15766.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_palate_soft_t_15766.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_palate_soft_t_15766.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_pharynx_other_t_82152.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_pharynx_other_t_82152.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_pharynx_other_t_82152.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_pharynx_other_t_82152.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_sinus_maxillary_t_28715.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_sinus_maxillary_t_28715.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_sinus_maxillary_t_28715.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_sinus_maxillary_t_28715.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_tongue_anterior_t_170.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_tongue_anterior_t_170.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_tongue_anterior_t_170.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_tongue_anterior_t_170.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_tongue_base_60314.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_tongue_base_60314.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/melanoma_tongue_base_60314.json rename to src/test/resources/algorithms/tnm/2.0/tables/melanoma_tongue_base_60314.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/merkel_cell_penis_t_93032.json b/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_penis_t_93032.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/merkel_cell_penis_t_93032.json rename to src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_penis_t_93032.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/merkel_cell_scrotum_t_30089.json b/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_scrotum_t_30089.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/merkel_cell_scrotum_t_30089.json rename to src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_scrotum_t_30089.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/merkel_cell_skin_t_48418.json b/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_skin_t_48418.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/merkel_cell_skin_t_48418.json rename to src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_skin_t_48418.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/merkel_cell_vulva_t_49226.json b/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_vulva_t_49226.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/merkel_cell_vulva_t_49226.json rename to src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_vulva_t_49226.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/mouth_other_t_88942.json b/src/test/resources/algorithms/tnm/2.0/tables/mouth_other_t_88942.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/mouth_other_t_88942.json rename to src/test/resources/algorithms/tnm/2.0/tables/mouth_other_t_88942.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/nasal_cavity_t_71995.json b/src/test/resources/algorithms/tnm/2.0/tables/nasal_cavity_t_71995.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/nasal_cavity_t_71995.json rename to src/test/resources/algorithms/tnm/2.0/tables/nasal_cavity_t_71995.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/nasopharynx_t_29067.json b/src/test/resources/algorithms/tnm/2.0/tables/nasopharynx_t_29067.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/nasopharynx_t_29067.json rename to src/test/resources/algorithms/tnm/2.0/tables/nasopharynx_t_29067.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/net_ampulla_pathologic_t_58166.json b/src/test/resources/algorithms/tnm/2.0/tables/net_ampulla_pathologic_t_58166.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/net_ampulla_pathologic_t_58166.json rename to src/test/resources/algorithms/tnm/2.0/tables/net_ampulla_pathologic_t_58166.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/net_ampulla_t_37461.json b/src/test/resources/algorithms/tnm/2.0/tables/net_ampulla_t_37461.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/net_ampulla_t_37461.json rename to src/test/resources/algorithms/tnm/2.0/tables/net_ampulla_t_37461.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/net_colon_t_5107.json b/src/test/resources/algorithms/tnm/2.0/tables/net_colon_t_5107.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/net_colon_t_5107.json rename to src/test/resources/algorithms/tnm/2.0/tables/net_colon_t_5107.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/net_rectum_t_3082.json b/src/test/resources/algorithms/tnm/2.0/tables/net_rectum_t_3082.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/net_rectum_t_3082.json rename to src/test/resources/algorithms/tnm/2.0/tables/net_rectum_t_3082.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/net_smallintestine_t_60400.json b/src/test/resources/algorithms/tnm/2.0/tables/net_smallintestine_t_60400.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/net_smallintestine_t_60400.json rename to src/test/resources/algorithms/tnm/2.0/tables/net_smallintestine_t_60400.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/no_tnm_group_99227.json b/src/test/resources/algorithms/tnm/2.0/tables/no_tnm_group_99227.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/no_tnm_group_99227.json rename to src/test/resources/algorithms/tnm/2.0/tables/no_tnm_group_99227.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/no_tnm_group_p_41281.json b/src/test/resources/algorithms/tnm/2.0/tables/no_tnm_group_p_41281.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/no_tnm_group_p_41281.json rename to src/test/resources/algorithms/tnm/2.0/tables/no_tnm_group_p_41281.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/nodes_pos_fab.json b/src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fab.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/nodes_pos_fab.json rename to src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fab.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/nodes_pos_fah.json b/src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fah.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/nodes_pos_fah.json rename to src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fah.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/nodes_pos_fpa.json b/src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fpa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/nodes_pos_fpa.json rename to src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fpa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ophthalmic_n_36875.json b/src/test/resources/algorithms/tnm/2.0/tables/ophthalmic_n_36875.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ophthalmic_n_36875.json rename to src/test/resources/algorithms/tnm/2.0/tables/ophthalmic_n_36875.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/orbit_t_97280.json b/src/test/resources/algorithms/tnm/2.0/tables/orbit_t_97280.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/orbit_t_97280.json rename to src/test/resources/algorithms/tnm/2.0/tables/orbit_t_97280.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/oropharynx_t_62492.json b/src/test/resources/algorithms/tnm/2.0/tables/oropharynx_t_62492.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/oropharynx_t_62492.json rename to src/test/resources/algorithms/tnm/2.0/tables/oropharynx_t_62492.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ovary_t_58652.json b/src/test/resources/algorithms/tnm/2.0/tables/ovary_t_58652.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ovary_t_58652.json rename to src/test/resources/algorithms/tnm/2.0/tables/ovary_t_58652.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/palate_hard_t_41050.json b/src/test/resources/algorithms/tnm/2.0/tables/palate_hard_t_41050.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/palate_hard_t_41050.json rename to src/test/resources/algorithms/tnm/2.0/tables/palate_hard_t_41050.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/palate_soft_t_48973.json b/src/test/resources/algorithms/tnm/2.0/tables/palate_soft_t_48973.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/palate_soft_t_48973.json rename to src/test/resources/algorithms/tnm/2.0/tables/palate_soft_t_48973.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pancreas_bodytail_t_46669.json b/src/test/resources/algorithms/tnm/2.0/tables/pancreas_bodytail_t_46669.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pancreas_bodytail_t_46669.json rename to src/test/resources/algorithms/tnm/2.0/tables/pancreas_bodytail_t_46669.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pancreas_head_t_4793.json b/src/test/resources/algorithms/tnm/2.0/tables/pancreas_head_t_4793.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pancreas_head_t_4793.json rename to src/test/resources/algorithms/tnm/2.0/tables/pancreas_head_t_4793.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pancreas_other_70468.json b/src/test/resources/algorithms/tnm/2.0/tables/pancreas_other_70468.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pancreas_other_70468.json rename to src/test/resources/algorithms/tnm/2.0/tables/pancreas_other_70468.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/parotid_gland_t_68628.json b/src/test/resources/algorithms/tnm/2.0/tables/parotid_gland_t_68628.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/parotid_gland_t_68628.json rename to src/test/resources/algorithms/tnm/2.0/tables/parotid_gland_t_68628.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/parse_m_47057.json b/src/test/resources/algorithms/tnm/2.0/tables/parse_m_47057.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/parse_m_47057.json rename to src/test/resources/algorithms/tnm/2.0/tables/parse_m_47057.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/parse_n_67182.json b/src/test/resources/algorithms/tnm/2.0/tables/parse_n_67182.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/parse_n_67182.json rename to src/test/resources/algorithms/tnm/2.0/tables/parse_n_67182.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/parse_n_merkel_clin_55445.json b/src/test/resources/algorithms/tnm/2.0/tables/parse_n_merkel_clin_55445.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/parse_n_merkel_clin_55445.json rename to src/test/resources/algorithms/tnm/2.0/tables/parse_n_merkel_clin_55445.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/parse_n_merkel_path_copy_67865.json b/src/test/resources/algorithms/tnm/2.0/tables/parse_n_merkel_path_copy_67865.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/parse_n_merkel_path_copy_67865.json rename to src/test/resources/algorithms/tnm/2.0/tables/parse_n_merkel_path_copy_67865.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/parse_t_2177.json b/src/test/resources/algorithms/tnm/2.0/tables/parse_t_2177.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/parse_t_2177.json rename to src/test/resources/algorithms/tnm/2.0/tables/parse_t_2177.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_74330.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_74330.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_74330.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_74330.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_anus_33946.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_anus_33946.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_anus_33946.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_anus_33946.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_conjunctiva_73224.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_conjunctiva_73224.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_conjunctiva_73224.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_conjunctiva_73224.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hab.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hab.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hab.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hab.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hac.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hac.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hac.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hac.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_had.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_had.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_had.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_had.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hae.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hae.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hae.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hae.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_haf.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_haf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_haf.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_haf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hag.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hag.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hag.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hag.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hah.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hah.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hah.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hah.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hai.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hai.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hai.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hai.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_haj.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_haj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_haj.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_haj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hak.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hak.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hak.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hak.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hal.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hal.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hal.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hal.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_ham.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_ham.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_ham.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_ham.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_han.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_han.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_han.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_han.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hao.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hao.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hao.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hao.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hap.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hap.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hap.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hap.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_haq.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_haq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_haq.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_haq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_har.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_har.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_har.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_har.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hat.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hat.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hat.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hat.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hau.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hau.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hau.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hau.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hav.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hav.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hav.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hav.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_haz.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_haz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_haz.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_haz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hba.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hba.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hba.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hba.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbb.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbb.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hbb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbc.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbc.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hbc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbf.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbf.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hbf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbg.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbg.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hbg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbn.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbn.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hbn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbo.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbo.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbo.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hbo.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbu.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbu.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hbu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbv.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbv.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbv.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hbv.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbx.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbx.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hbx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbz.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hbz.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hbz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcb.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcb.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcc.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcc.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcd.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcd.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hce.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hce.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hce.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hce.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcf.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcf.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcg.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcg.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hch.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hch.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hch.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hch.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hci.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hci.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hci.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hci.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcj.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcj.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hck.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hck.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hck.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hck.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcl.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcl.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcn.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcn.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcp.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcp.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcp.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcp.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcq.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcq.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcr.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcr.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcr.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcr.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcs.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcs.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcs.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcs.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcu.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcu.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcv.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcv.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcv.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcv.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcw.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcw.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcy.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcy.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hcy.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hcy.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_head_neck_melanoma_32288.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_head_neck_melanoma_32288.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_head_neck_melanoma_32288.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_head_neck_melanoma_32288.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hpb.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hpb.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hpb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hpc.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hpc.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hpc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hpd.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hpd.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hpd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hpe.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpe.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hpe.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hpe.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hpg.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hpg.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hpg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hph.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hph.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_hph.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_hph.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_major_salivary_glands_13003.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_major_salivary_glands_13003.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_major_salivary_glands_13003.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_major_salivary_glands_13003.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_net_ampulla_22136.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_net_ampulla_22136.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_net_ampulla_22136.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_net_ampulla_22136.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_soft_tissues_96225.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_soft_tissues_96225.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_m_soft_tissues_96225.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_m_soft_tissues_96225.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_adrenal_gland_53740.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_adrenal_gland_53740.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_adrenal_gland_53740.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_adrenal_gland_53740.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_bladder_46197.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_bladder_46197.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_bladder_46197.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_bladder_46197.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_bone_31243.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_bone_31243.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_bone_31243.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_bone_31243.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_conjunctiva_84900.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_conjunctiva_84900.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_conjunctiva_84900.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_conjunctiva_84900.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dab.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dab.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dab.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dab.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dai.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dai.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dai.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dai.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_daj.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_daj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_daj.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_daj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dak.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dak.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dak.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dak.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dam.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dam.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dam.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dam.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dan.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dan.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dan.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dan.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dat.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dat.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dat.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dat.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dau.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dau.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dau.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dau.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dav.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dav.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dav.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dav.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_daw.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_daw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_daw.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_daw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dax.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dax.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dax.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dax.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_day.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_day.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_day.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_day.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_daz.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_daz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_daz.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_daz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dba.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dba.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dba.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dba.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbb.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbb.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dbb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbc.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbc.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dbc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbj.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbj.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dbj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbl.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbl.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dbl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbm.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbm.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dbm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbn.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbn.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dbn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbo.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbo.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbo.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dbo.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbr.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbr.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbr.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dbr.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbt.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbt.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dbt.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dbt.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dcn.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dcn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dcn.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dcn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_ddj.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_ddj.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_ddj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_ddm.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_ddm.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_ddm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_ddn.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_ddn.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_ddn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_ddp.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddp.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_ddp.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_ddp.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dew.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dew.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dew.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dew.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfa.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfa.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dfa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfc.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfc.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dfc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfe.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfe.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfe.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dfe.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dff.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dff.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dff.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dff.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfg.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfg.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dfg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfl.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfl.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dfl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfn.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfn.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dfn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfo.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfo.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfo.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dfo.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfr.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfr.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfr.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dfr.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfs.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfs.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfs.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dfs.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfv.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfv.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfv.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dfv.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfw.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfw.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dfw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfx.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_dfx.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_dfx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_gist_colon_71024.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_gist_colon_71024.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_gist_colon_71024.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_gist_colon_71024.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_head_neck_except_nasopharynx_40357.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_head_neck_except_nasopharynx_40357.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_head_neck_except_nasopharynx_40357.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_head_neck_except_nasopharynx_40357.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_major_salivary_glands_7162.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_major_salivary_glands_7162.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_major_salivary_glands_7162.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_major_salivary_glands_7162.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_net_ampulla_11118.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_net_ampulla_11118.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_net_ampulla_11118.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_net_ampulla_11118.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_ophthalmic_no_tis_80282.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_ophthalmic_no_tis_80282.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_ophthalmic_no_tis_80282.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_ophthalmic_no_tis_80282.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_86254.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_86254.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_86254.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_86254.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_88959.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_88959.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_88959.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_88959.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_adrenal_gland_28077.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_adrenal_gland_28077.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_adrenal_gland_28077.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_adrenal_gland_28077.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_ampulla_vater_23469.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_ampulla_vater_23469.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_ampulla_vater_23469.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_ampulla_vater_23469.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_anus_61291.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_anus_61291.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_anus_61291.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_anus_61291.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_appendix_94760.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_appendix_94760.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_appendix_94760.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_appendix_94760.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_ban.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_ban.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_ban.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_ban.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_baq.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_baq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_baq.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_baq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_bbo.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_bbo.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_bbo.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_bbo.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_bcs.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_bcs.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_bcs.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_bcs.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_bcu.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_bcu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_bcu.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_bcu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_bfi.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_bfi.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_bfi.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_bfi.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_bladder_68862.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_bladder_68862.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_bladder_68862.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_bladder_68862.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_bone_59009.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_bone_59009.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_bone_59009.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_bone_59009.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_buccal_mucosa_7034.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_buccal_mucosa_7034.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_buccal_mucosa_7034.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_buccal_mucosa_7034.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_carcinoid_appendix_77608.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_carcinoid_appendix_77608.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_carcinoid_appendix_77608.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_carcinoid_appendix_77608.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_colon_98925.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_colon_98925.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_colon_98925.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_colon_98925.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_corpus_carcinoma_7259.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_corpus_carcinoma_7259.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_corpus_carcinoma_7259.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_corpus_carcinoma_7259.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_cystic_duct_38967.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_cystic_duct_38967.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_cystic_duct_38967.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_cystic_duct_38967.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_distal_bile_duct_50879.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_distal_bile_duct_50879.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_distal_bile_duct_50879.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_distal_bile_duct_50879.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_epiglottis_anterior_t_4558.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_epiglottis_anterior_t_4558.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_epiglottis_anterior_t_4558.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_epiglottis_anterior_t_4558.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_gum_upper_50893.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_gum_upper_50893.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_gum_upper_50893.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_gum_upper_50893.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_intrahepatic_bile_ducts_23893.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_intrahepatic_bile_ducts_23893.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_intrahepatic_bile_ducts_23893.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_intrahepatic_bile_ducts_23893.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_net_rectum_13791.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_net_rectum_13791.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_net_rectum_13791.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_net_rectum_13791.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_net_small_intestine_71548.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_net_small_intestine_71548.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_net_small_intestine_71548.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_net_small_intestine_71548.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_net_stomach_63587.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_net_stomach_63587.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_net_stomach_63587.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_net_stomach_63587.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_perihilar_bile_ducts_88350.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_perihilar_bile_ducts_88350.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/path_t_perihilar_bile_ducts_88350.json rename to src/test/resources/algorithms/tnm/2.0/tables/path_t_perihilar_bile_ducts_88350.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pathologic_n_head_neck_melanoma_copy_75380.json b/src/test/resources/algorithms/tnm/2.0/tables/pathologic_n_head_neck_melanoma_copy_75380.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pathologic_n_head_neck_melanoma_copy_75380.json rename to src/test/resources/algorithms/tnm/2.0/tables/pathologic_n_head_neck_melanoma_copy_75380.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_31147.json b/src/test/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_31147.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_31147.json rename to src/test/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_31147.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_carcinoma_11126.json b/src/test/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_carcinoma_11126.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_carcinoma_11126.json rename to src/test/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_carcinoma_11126.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/penis_t_51275.json b/src/test/resources/algorithms/tnm/2.0/tables/penis_t_51275.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/penis_t_51275.json rename to src/test/resources/algorithms/tnm/2.0/tables/penis_t_51275.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/peritoneum_t_18850.json b/src/test/resources/algorithms/tnm/2.0/tables/peritoneum_t_18850.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/peritoneum_t_18850.json rename to src/test/resources/algorithms/tnm/2.0/tables/peritoneum_t_18850.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/peritoneumfemalegen_t_87084.json b/src/test/resources/algorithms/tnm/2.0/tables/peritoneumfemalegen_t_87084.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/peritoneumfemalegen_t_87084.json rename to src/test/resources/algorithms/tnm/2.0/tables/peritoneumfemalegen_t_87084.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pharyngeal_tonsil_t_36969.json b/src/test/resources/algorithms/tnm/2.0/tables/pharyngeal_tonsil_t_36969.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pharyngeal_tonsil_t_36969.json rename to src/test/resources/algorithms/tnm/2.0/tables/pharyngeal_tonsil_t_36969.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/placenta_t_12749.json b/src/test/resources/algorithms/tnm/2.0/tables/placenta_t_12749.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/placenta_t_12749.json rename to src/test/resources/algorithms/tnm/2.0/tables/placenta_t_12749.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pleura_t_20728.json b/src/test/resources/algorithms/tnm/2.0/tables/pleura_t_20728.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pleura_t_20728.json rename to src/test/resources/algorithms/tnm/2.0/tables/pleura_t_20728.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pleural_n_14342.json b/src/test/resources/algorithms/tnm/2.0/tables/pleural_n_14342.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/pleural_n_14342.json rename to src/test/resources/algorithms/tnm/2.0/tables/pleural_n_14342.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/primary_site.json b/src/test/resources/algorithms/tnm/2.0/tables/primary_site.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/primary_site.json rename to src/test/resources/algorithms/tnm/2.0/tables/primary_site.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/prostate_n_76551.json b/src/test/resources/algorithms/tnm/2.0/tables/prostate_n_76551.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/prostate_n_76551.json rename to src/test/resources/algorithms/tnm/2.0/tables/prostate_n_76551.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/prostate_pathologic_n_4662.json b/src/test/resources/algorithms/tnm/2.0/tables/prostate_pathologic_n_4662.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/prostate_pathologic_n_4662.json rename to src/test/resources/algorithms/tnm/2.0/tables/prostate_pathologic_n_4662.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/radiation_surg_seq.json b/src/test/resources/algorithms/tnm/2.0/tables/radiation_surg_seq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/radiation_surg_seq.json rename to src/test/resources/algorithms/tnm/2.0/tables/radiation_surg_seq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/rectum_t_5935.json b/src/test/resources/algorithms/tnm/2.0/tables/rectum_t_5935.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/rectum_t_5935.json rename to src/test/resources/algorithms/tnm/2.0/tables/rectum_t_5935.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/renal_pelvis_and_ureter_t_91246.json b/src/test/resources/algorithms/tnm/2.0/tables/renal_pelvis_and_ureter_t_91246.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/renal_pelvis_and_ureter_t_91246.json rename to src/test/resources/algorithms/tnm/2.0/tables/renal_pelvis_and_ureter_t_91246.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/renal_pevis_and_ureter_n_58133.json b/src/test/resources/algorithms/tnm/2.0/tables/renal_pevis_and_ureter_n_58133.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/renal_pevis_and_ureter_n_58133.json rename to src/test/resources/algorithms/tnm/2.0/tables/renal_pevis_and_ureter_n_58133.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/retinoblastoma_clinical_n_19393.json b/src/test/resources/algorithms/tnm/2.0/tables/retinoblastoma_clinical_n_19393.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/retinoblastoma_clinical_n_19393.json rename to src/test/resources/algorithms/tnm/2.0/tables/retinoblastoma_clinical_n_19393.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/retinoblastoma_pathologic_n_93880.json b/src/test/resources/algorithms/tnm/2.0/tables/retinoblastoma_pathologic_n_93880.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/retinoblastoma_pathologic_n_93880.json rename to src/test/resources/algorithms/tnm/2.0/tables/retinoblastoma_pathologic_n_93880.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/retroperitoneum_n_12750.json b/src/test/resources/algorithms/tnm/2.0/tables/retroperitoneum_n_12750.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/retroperitoneum_n_12750.json rename to src/test/resources/algorithms/tnm/2.0/tables/retroperitoneum_n_12750.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/retroperitoneum_t_87029.json b/src/test/resources/algorithms/tnm/2.0/tables/retroperitoneum_t_87029.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/retroperitoneum_t_87029.json rename to src/test/resources/algorithms/tnm/2.0/tables/retroperitoneum_t_87029.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/salivaryglandother_t_67266.json b/src/test/resources/algorithms/tnm/2.0/tables/salivaryglandother_t_67266.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/salivaryglandother_t_67266.json rename to src/test/resources/algorithms/tnm/2.0/tables/salivaryglandother_t_67266.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_adnexa_uterine_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_adnexa_uterine_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_adnexa_uterine_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_adnexa_uterine_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_adrenal_gland.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_adrenal_gland.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_adrenal_gland.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_adrenal_gland.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_ampulla_vater.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ampulla_vater.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_ampulla_vater.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ampulla_vater.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_anus.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_anus.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_anus.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_anus.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_appendix.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_appendix.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_appendix.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_appendix.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_distal.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_distal.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_distal.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_distal.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_intrahepat.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_intrahepat.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_intrahepat.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_intrahepat.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_perihilar.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_perihilar.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_perihilar.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_perihilar.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_biliary_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_biliary_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_biliary_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_biliary_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_bladder.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bladder.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_bladder.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bladder.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_bone.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bone.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_bone.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bone.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_brain.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_brain.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_brain.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_brain.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_breast.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_breast.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_breast.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_breast.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_buccal_mucosa.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_buccal_mucosa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_buccal_mucosa.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_buccal_mucosa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_carcinoid_appendix.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_carcinoid_appendix.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_carcinoid_appendix.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_carcinoid_appendix.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_cervix.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cervix.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_cervix.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cervix.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_cns_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cns_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_cns_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cns_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_colon.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_colon.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_colon.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_colon.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_conjunctiva.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_conjunctiva.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_conjunctiva.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_conjunctiva.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_adenosarcoma.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_adenosarcoma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_adenosarcoma.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_adenosarcoma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_carcinoma.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_carcinoma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_carcinoma.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_carcinoma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_sarcoma.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_sarcoma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_sarcoma.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_sarcoma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_cystic_duct.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cystic_duct.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_cystic_duct.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cystic_duct.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_digestive_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_digestive_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_digestive_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_digestive_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_endocrine_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_endocrine_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_endocrine_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_endocrine_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_epiglottis_anterior.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_epiglottis_anterior.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_epiglottis_anterior.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_epiglottis_anterior.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus_gejunction.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus_gejunction.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus_gejunction.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus_gejunction.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_eye_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_eye_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_eye_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_eye_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_fallopian_tube.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_fallopian_tube.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_fallopian_tube.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_fallopian_tube.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_floor_mouth.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_floor_mouth.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_floor_mouth.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_floor_mouth.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gallbladder.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gallbladder.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gallbladder.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gallbladder.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_genital_female_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_genital_female_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_genital_female_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_genital_female_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_genital_male_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_genital_male_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_genital_male_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_genital_male_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gist_appendix.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_appendix.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gist_appendix.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_appendix.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gist_colon.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_colon.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gist_colon.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_colon.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gist_esophagus.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_esophagus.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gist_esophagus.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_esophagus.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gist_peritoneum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_peritoneum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gist_peritoneum.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_peritoneum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gist_rectum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_rectum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gist_rectum.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_rectum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gist_small_intestine.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_small_intestine.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gist_small_intestine.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_small_intestine.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gist_stomach.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_stomach.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gist_stomach.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_stomach.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gum_lower.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_lower.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gum_lower.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_lower.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gum_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gum_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gum_upper.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_upper.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_gum_upper.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_upper.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_heart_mediastinum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_heart_mediastinum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_heart_mediastinum.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_heart_mediastinum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_heme_retic.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_heme_retic.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_heme_retic.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_heme_retic.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_hypopharynx.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_hypopharynx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_hypopharynx.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_hypopharynx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_ill_defined_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ill_defined_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_ill_defined_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ill_defined_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_intracranial_gland.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_intracranial_gland.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_intracranial_gland.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_intracranial_gland.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_kaposi_sarcoma.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kaposi_sarcoma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_kaposi_sarcoma.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kaposi_sarcoma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_parenchyma.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_parenchyma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_parenchyma.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_parenchyma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_renal_pelvis.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_renal_pelvis.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_renal_pelvis.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_renal_pelvis.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_gland.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_gland.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_gland.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_gland.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_sac.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_sac.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_sac.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_sac.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_glottic.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_glottic.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_glottic.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_glottic.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_subglottic.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_subglottic.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_subglottic.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_subglottic.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_supraglottic.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_supraglottic.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_supraglottic.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_supraglottic.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lip_lower.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_lower.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lip_lower.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_lower.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lip_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lip_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lip_upper.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_upper.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lip_upper.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_upper.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_liver.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_liver.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_liver.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_liver.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lung.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lung.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lung.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lung.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma_ocular_adnexa.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma_ocular_adnexa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma_ocular_adnexa.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma_ocular_adnexa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_buccal_mucosa.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_buccal_mucosa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_buccal_mucosa.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_buccal_mucosa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_choroid.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_choroid.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_choroid.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_choroid.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_ciliary_body.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_ciliary_body.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_ciliary_body.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_ciliary_body.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_conjunctiva.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_conjunctiva.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_conjunctiva.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_conjunctiva.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_epiglottis_anterior.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_epiglottis_anterior.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_epiglottis_anterior.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_epiglottis_anterior.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_eye_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_eye_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_eye_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_eye_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_floor_mouth.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_floor_mouth.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_floor_mouth.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_floor_mouth.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_lower.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_lower.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_lower.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_lower.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_upper.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_upper.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_upper.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_upper.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_hypopharynx.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_hypopharynx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_hypopharynx.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_hypopharynx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_iris.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_iris.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_iris.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_iris.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_glottic.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_glottic.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_glottic.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_glottic.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_subglottic.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_subglottic.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_subglottic.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_subglottic.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_supraglottic.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_supraglottic.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_supraglottic.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_supraglottic.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_lower.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_lower.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_lower.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_lower.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_upper.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_upper.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_upper.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_upper.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_mouth_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_mouth_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_mouth_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_mouth_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasal_cavity.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasal_cavity.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasal_cavity.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasal_cavity.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasopharynx.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasopharynx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasopharynx.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasopharynx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_oropharynx.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_oropharynx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_oropharynx.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_oropharynx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_hard.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_hard.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_hard.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_hard.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_soft.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_soft.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_soft.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_soft.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_pharynx_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_pharynx_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_pharynx_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_pharynx_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_ethmoid.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_ethmoid.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_ethmoid.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_ethmoid.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_maxillary.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_maxillary.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_maxillary.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_maxillary.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_skin.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_skin.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_skin.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_skin.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_anterior.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_anterior.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_anterior.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_anterior.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_base.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_base.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_base.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_base.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_penis.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_penis.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_penis.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_penis.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_scrotum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_scrotum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_scrotum.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_scrotum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_skin.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_skin.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_skin.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_skin.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_vulva.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_vulva.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_vulva.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_vulva.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_middle_ear.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_middle_ear.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_middle_ear.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_middle_ear.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_mouth_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_mouth_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_mouth_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_mouth_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_mycosis_fungoides.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_mycosis_fungoides.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_mycosis_fungoides.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_mycosis_fungoides.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_myeloma_plasma_cell_disorder.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_myeloma_plasma_cell_disorder.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_myeloma_plasma_cell_disorder.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_myeloma_plasma_cell_disorder.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_nasal_cavity.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_nasal_cavity.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_nasal_cavity.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_nasal_cavity.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_nasopharynx.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_nasopharynx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_nasopharynx.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_nasopharynx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_net_ampulla.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_ampulla.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_net_ampulla.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_ampulla.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_net_colon.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_colon.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_net_colon.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_colon.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_net_rectum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_rectum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_net_rectum.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_rectum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_net_small_intestine.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_small_intestine.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_net_small_intestine.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_small_intestine.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_net_stomach.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_stomach.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_net_stomach.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_stomach.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_orbit.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_orbit.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_orbit.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_orbit.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_oropharynx.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_oropharynx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_oropharynx.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_oropharynx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_ovary.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ovary.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_ovary.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ovary.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_palate_hard.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_palate_hard.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_palate_hard.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_palate_hard.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_palate_soft.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_palate_soft.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_palate_soft.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_palate_soft.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_body_tail.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_body_tail.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_body_tail.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_body_tail.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_head.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_head.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_head.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_head.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_parotid_gland.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_parotid_gland.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_parotid_gland.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_parotid_gland.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_penis.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_penis.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_penis.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_penis.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum_female_gen.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum_female_gen.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum_female_gen.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum_female_gen.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_pharyngeal_tonsil.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pharyngeal_tonsil.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_pharyngeal_tonsil.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pharyngeal_tonsil.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_pharynx_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pharynx_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_pharynx_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pharynx_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_placenta.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_placenta.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_placenta.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_placenta.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_pleura.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pleura.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_pleura.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pleura.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_prostate.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_prostate.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_prostate.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_prostate.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_rectum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_rectum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_rectum.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_rectum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_respiratory_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_respiratory_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_respiratory_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_respiratory_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_retinoblastoma.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_retinoblastoma.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_retinoblastoma.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_retinoblastoma.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_retroperitoneum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_retroperitoneum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_retroperitoneum.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_retroperitoneum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_salivary_gland_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_salivary_gland_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_salivary_gland_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_salivary_gland_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_scrotum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_scrotum.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_scrotum.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_scrotum.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_ethmoid.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_ethmoid.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_ethmoid.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_ethmoid.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_maxillary.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_maxillary.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_maxillary.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_maxillary.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_skin.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_skin.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_skin.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_skin.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_skin_eyelid.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_skin_eyelid.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_skin_eyelid.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_skin_eyelid.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_small_intestine.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_small_intestine.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_small_intestine.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_small_intestine.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_soft_tissue.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_soft_tissue.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_soft_tissue.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_soft_tissue.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_stomach.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_stomach.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_stomach.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_stomach.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_submandibular_gland.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_submandibular_gland.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_submandibular_gland.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_submandibular_gland.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_testis.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_testis.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_testis.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_testis.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_thyroid.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_thyroid.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_thyroid.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_thyroid.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_anterior.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_anterior.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_anterior.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_anterior.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_base.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_base.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_base.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_base.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_trachea.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_trachea.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_trachea.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_trachea.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_urethra.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_urethra.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_urethra.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_urethra.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_urinary_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_urinary_other.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_urinary_other.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_urinary_other.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_vagina.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_vagina.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_vagina.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_vagina.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_vulva.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_vulva.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/schema_selection_vulva.json rename to src/test/resources/algorithms/tnm/2.0/tables/schema_selection_vulva.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/scrotum_t_52966.json b/src/test/resources/algorithms/tnm/2.0/tables/scrotum_t_52966.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/scrotum_t_52966.json rename to src/test/resources/algorithms/tnm/2.0/tables/scrotum_t_52966.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/select_stage_group_19580.json b/src/test/resources/algorithms/tnm/2.0/tables/select_stage_group_19580.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/select_stage_group_19580.json rename to src/test/resources/algorithms/tnm/2.0/tables/select_stage_group_19580.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/sex_19563.json b/src/test/resources/algorithms/tnm/2.0/tables/sex_19563.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/sex_19563.json rename to src/test/resources/algorithms/tnm/2.0/tables/sex_19563.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_5235.json b/src/test/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_5235.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_5235.json rename to src/test/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_5235.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_70472.json b/src/test/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_70472.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_70472.json rename to src/test/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_70472.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/sinus_maxillary_t_7871.json b/src/test/resources/algorithms/tnm/2.0/tables/sinus_maxillary_t_7871.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/sinus_maxillary_t_7871.json rename to src/test/resources/algorithms/tnm/2.0/tables/sinus_maxillary_t_7871.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/skin_eyelid_n_65771.json b/src/test/resources/algorithms/tnm/2.0/tables/skin_eyelid_n_65771.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/skin_eyelid_n_65771.json rename to src/test/resources/algorithms/tnm/2.0/tables/skin_eyelid_n_65771.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/skin_eyelid_t_57348.json b/src/test/resources/algorithms/tnm/2.0/tables/skin_eyelid_t_57348.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/skin_eyelid_t_57348.json rename to src/test/resources/algorithms/tnm/2.0/tables/skin_eyelid_t_57348.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/skin_t_38821.json b/src/test/resources/algorithms/tnm/2.0/tables/skin_t_38821.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/skin_t_38821.json rename to src/test/resources/algorithms/tnm/2.0/tables/skin_t_38821.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/small_intestine_t_70831.json b/src/test/resources/algorithms/tnm/2.0/tables/small_intestine_t_70831.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/small_intestine_t_70831.json rename to src/test/resources/algorithms/tnm/2.0/tables/small_intestine_t_70831.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/soft_tissue_n_4758.json b/src/test/resources/algorithms/tnm/2.0/tables/soft_tissue_n_4758.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/soft_tissue_n_4758.json rename to src/test/resources/algorithms/tnm/2.0/tables/soft_tissue_n_4758.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/soft_tissue_t_79319.json b/src/test/resources/algorithms/tnm/2.0/tables/soft_tissue_t_79319.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/soft_tissue_t_79319.json rename to src/test/resources/algorithms/tnm/2.0/tables/soft_tissue_t_79319.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_path_stage_group_selection_48445.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_path_stage_group_selection_48445.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_path_stage_group_selection_48445.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_path_stage_group_selection_48445.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_sad.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sad.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_sad.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_sad.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_sat.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sat.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_sat.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_sat.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_saz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_saz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_saz.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_saz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_scm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_scm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_scm.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_scm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_sek.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sek.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_sek.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_sek.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_seq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_seq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_seq.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_seq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_sex.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sex.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_sex.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_sex.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_sfi.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sfi.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_sfi.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_sfi.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_spd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_spd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_spd.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_spd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_spi.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_spi.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_spi.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_spi.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_spz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_spz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_spz.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_spz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_sqj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sqj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_sqj.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_sqj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_sqs.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sqs.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_sqs.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_sqs.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_srh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_srh.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_srh.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_srh.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_stage_group_selection_87171.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_stage_group_selection_87171.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf10_stage_group_selection_87171.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf10_stage_group_selection_87171.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sae.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sae.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sae.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf11_sae.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sba.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sba.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sba.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf11_sba.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sbt.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sbt.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sbt.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf11_sbt.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_scj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_scj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_scj.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf11_scj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_ser.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_ser.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_ser.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf11_ser.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_spe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_spe.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_spe.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf11_spe.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_spk.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_spk.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_spk.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf11_spk.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sps.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sps.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sps.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf11_sps.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sqa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sqa.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sqe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqe.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sqe.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqe.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sqt.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqt.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sqt.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqt.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_srd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_srd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_srd.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf11_srd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sri.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sri.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf11_sri.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf11_sri.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_saf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_saf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_saf.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf12_saf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sbb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sbb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sbb.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf12_sbb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sbu.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sbu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sbu.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf12_sbu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sck.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sck.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sck.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf12_sck.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_ses.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_ses.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_ses.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf12_ses.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sev.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sev.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sev.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf12_sev.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sew.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sew.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sew.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf12_sew.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sez.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sez.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sez.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf12_sez.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sfd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sfd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sfd.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf12_sfd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_spl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_spl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_spl.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf12_spl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sqb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sqb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sqb.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf12_sqb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sqf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sqf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_sqf.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf12_sqf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_srj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_srj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf12_srj.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf12_srj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sag.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sag.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sag.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf13_sag.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sbc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sbc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sbc.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf13_sbc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sca.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sca.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sca.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf13_sca.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_scl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_scl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_scl.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf13_scl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sdg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sdg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sdg.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf13_sdg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sdr.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sdr.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sdr.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf13_sdr.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sfa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sfa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sfa.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf13_sfa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sfe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sfe.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sfe.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf13_sfe.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_spm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_spm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_spm.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf13_spm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sqg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sqg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sqg.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf13_sqg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sqq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sqq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf13_sqq.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf13_sqq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sbd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sbd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sbd.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf14_sbd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sbf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sbf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sbf.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf14_sbf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_scn.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_scn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_scn.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf14_scn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sdh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sdh.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sdh.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf14_sdh.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sds.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sds.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sds.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf14_sds.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sfb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sfb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sfb.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf14_sfb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sff.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sff.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sff.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf14_sff.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_spn.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_spn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_spn.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf14_spn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sqh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sqh.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sqh.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf14_sqh.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sqr.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sqr.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf14_sqr.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf14_sqr.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_sbe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sbe.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_sbe.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf15_sbe.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_sbg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sbg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_sbg.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf15_sbg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_sco.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sco.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_sco.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf15_sco.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_sdm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sdm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_sdm.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf15_sdm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_sdt.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sdt.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_sdt.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf15_sdt.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_sfc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sfc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_sfc.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf15_sfc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_sfg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sfg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_sfg.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf15_sfg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_spo.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_spo.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf15_spo.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf15_spo.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_sah.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sah.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_sah.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf16_sah.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_scp.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_scp.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_scp.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf16_scp.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_sdn.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sdn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_sdn.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf16_sdn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_sfh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sfh.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_sfh.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf16_sfh.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_spt.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_spt.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_spt.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf16_spt.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_squ.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_squ.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_squ.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf16_squ.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_sqv.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sqv.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_sqv.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf16_sqv.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_sqw.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sqw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf16_sqw.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf16_sqw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf17_sai.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf17_sai.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf17_sai.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf17_sai.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf17_seu.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf17_seu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf17_seu.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf17_seu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf17_spu.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf17_spu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf17_spu.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf17_spu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf17_sqx.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf17_sqx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf17_sqx.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf17_sqx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf18_saj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf18_saj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf18_saj.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf18_saj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf18_sqy.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf18_sqy.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf18_sqy.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf18_sqy.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf19_sak.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf19_sak.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf19_sak.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf19_sak.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf19_sqz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf19_sqz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf19_sqz.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf19_sqz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jae.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jae.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jae.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jae.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jag.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jag.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jag.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jag.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jaj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jaj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jaj.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jaj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jam.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jam.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jam.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jam.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jap.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jap.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jap.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jap.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jaq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jaq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jaq.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jaq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jav.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jav.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jav.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jav.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbd.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbh.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbh.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbh.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbj.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbk.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbk.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbk.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbk.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbl.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbp.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbp.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbp.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbp.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbq.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbt.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbt.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbt.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbt.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbv.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbv.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbv.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbv.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbx.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbx.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jby.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jby.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jby.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jby.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jbz.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jca.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jca.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jca.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jca.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jce.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jce.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jce.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jce.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jcg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jcg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jcg.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jcg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpa.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpd.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpe.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpe.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpe.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpf.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpj.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpl.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpm.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpo.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpo.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpo.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpo.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpp.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpp.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpp.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpp.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpr.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpr.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpr.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpr.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpt.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpt.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpt.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpt.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpu.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpu.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpw.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_jpw.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_sbh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_sbh.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf1_sbh.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf1_sbh.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf20_sal.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf20_sal.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf20_sal.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf20_sal.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf20_sra.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf20_sra.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf20_sra.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf20_sra.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf21_sam.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf21_sam.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf21_sam.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf21_sam.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf21_srb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf21_srb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf21_srb.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf21_srb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf22_san.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf22_san.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf22_san.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf22_san.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf22_src.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf22_src.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf22_src.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf22_src.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf23_sao.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf23_sao.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf23_sao.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf23_sao.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf24_sap.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf24_sap.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf24_sap.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf24_sap.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kaa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kaa.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kab.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kab.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kab.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kab.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kac.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kac.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kac.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kac.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kaj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kaj.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kak.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kak.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kak.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kak.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kal.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kal.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kal.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kal.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kao.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kao.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kao.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kao.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kar.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kar.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kar.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kar.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kas.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kas.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kas.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kas.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kaw.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kaw.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kax.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kax.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kax.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kax.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kay.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kay.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kay.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kay.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kaz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kaz.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbb.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbc.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbf.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbi.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbi.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbi.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbi.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbl.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbm.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbu.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbu.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbv.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbv.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbv.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbv.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbx.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kbx.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpc.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpd.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpg.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpj.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpk.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpk.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpk.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpk.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpl.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpn.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpn.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpo.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpo.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpo.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpo.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpq.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpr.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpr.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_kpr.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpr.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_sbi.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_sbi.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf2_sbi.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf2_sbi.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lac.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lac.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lac.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lac.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_laf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_laf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_laf.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_laf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lah.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lah.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lah.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lah.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lai.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lai.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lai.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lai.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lao.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lao.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lao.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lao.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_laq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_laq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_laq.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_laq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lat.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lat.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lat.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lat.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_law.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_law.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_law.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_law.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lay.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lay.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lay.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lay.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_laz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_laz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_laz.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_laz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lbb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lbb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lbb.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lbb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lbc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lbc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lbc.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lbc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpa.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpc.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpd.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpe.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpe.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpe.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lph.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lph.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lph.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lph.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpj.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpk.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpk.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpk.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpk.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpl.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpm.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpp.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpp.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpp.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpp.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpr.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpr.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpr.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpr.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lps.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lps.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lps.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lps.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpt.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpt.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpt.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpt.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpu.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf3_lpu.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_maa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_maa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_maa.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_maa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mab.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mab.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mab.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mab.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mac.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mac.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mac.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mac.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_maj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_maj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_maj.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_maj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mal.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mal.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mal.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mal.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mam.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mam.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mam.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mam.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mas.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mas.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mas.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mas.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mat.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mat.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mat.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mat.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mav.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mav.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mav.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mav.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_maz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_maz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_maz.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_maz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mbd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mbd.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mbg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mbg.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mbh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbh.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mbh.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbh.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mbi.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbi.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mbi.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbi.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mbj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mbj.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpa.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpb.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpd.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpe.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpe.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpe.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpf.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpg.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpn.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpn.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpq.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpr.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpr.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mpr.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpr.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mps.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mps.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf4_mps.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf4_mps.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_naa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_naa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_naa.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_naa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nab.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nab.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nab.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_nab.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nac.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nac.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nac.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_nac.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nah.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nah.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nah.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_nah.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nai.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nai.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nai.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_nai.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nak.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nak.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nak.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_nak.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nap.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nap.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nap.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_nap.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_naq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_naq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_naq.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_naq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nar.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nar.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nar.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_nar.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nas.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nas.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nas.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_nas.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nav.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nav.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nav.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_nav.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_naw.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_naw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_naw.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_naw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nba.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nba.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nba.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_nba.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nbb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nbb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nbb.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_nbb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npa.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_npa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npb.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_npb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npe.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npe.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_npe.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npf.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_npf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npg.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_npg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nph.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nph.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_nph.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_nph.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npk.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npk.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npk.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_npk.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npl.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_npl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf5_npm.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf5_npm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oaa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oaa.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oae.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oae.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oae.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_oae.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oaf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oaf.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oag.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oag.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oag.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_oag.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oak.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oak.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oak.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_oak.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oam.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oam.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oam.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_oam.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oao.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oao.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oao.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_oao.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oap.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oap.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oap.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_oap.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oaq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oaq.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oas.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oas.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oas.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_oas.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oat.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oat.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oat.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_oat.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oaw.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oaw.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oax.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oax.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oax.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_oax.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oay.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oay.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oay.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_oay.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_opa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_opa.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_opa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_opb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_opb.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_opb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_opd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_opd.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_opd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_opf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_opf.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_opf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_opg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_opg.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_opg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oph.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oph.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_oph.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_oph.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_opi.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opi.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf6_opi.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf6_opi.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_saa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_saa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_saa.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_saa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_saq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_saq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_saq.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_saq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_saw.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_saw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_saw.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_saw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sbv.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sbv.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sbv.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_sbv.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sbx.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sbx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sbx.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_sbx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_scb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_scb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_scb.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_scb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_scq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_scq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_scq.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_scq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sde.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sde.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sde.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_sde.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sdf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sdf.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sdo.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdo.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sdo.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdo.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sdx.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sdx.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_seb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_seb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_seb.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_seb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_seh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_seh.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_seh.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_seh.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sfl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sfl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sfl.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_sfl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_spa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_spa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_spa.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_spa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_spf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_spf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_spf.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_spf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_spw.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_spw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_spw.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_spw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sqk.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sqk.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sqk.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_sqk.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sqn.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sqn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sqn.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_sqn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sre.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sre.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf7_sre.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf7_sre.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sab.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sab.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sab.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_sab.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sar.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sar.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sar.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_sar.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sax.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sax.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sax.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_sax.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sby.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sby.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sby.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_sby.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_scc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_scc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_scc.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_scc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sdd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sdd.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sdp.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdp.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sdp.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdp.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sdy.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdy.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sdy.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdy.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sec.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sec.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sec.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_sec.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sei.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sei.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sei.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_sei.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sfk.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sfk.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sfk.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_sfk.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_spb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_spb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_spb.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_spb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_spg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_spg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_spg.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_spg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_spx.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_spx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_spx.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_spx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sql.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sql.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sql.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_sql.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sqo.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sqo.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_sqo.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_sqo.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_srf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_srf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf8_srf.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf8_srf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sac.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sac.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sac.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf9_sac.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sas.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sas.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sas.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf9_sas.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_say.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_say.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_say.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf9_say.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sdi.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdi.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sdi.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdi.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sdq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sdq.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sdz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sdz.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sed.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sed.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sed.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf9_sed.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sej.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sej.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sej.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf9_sej.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_spc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_spc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_spc.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf9_spc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sph.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sph.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sph.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf9_sph.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sqm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sqm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_sqm.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf9_sqm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_srg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_srg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/ssf9_srg.json rename to src/test/resources/algorithms/tnm/2.0/tables/ssf9_srg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_94596.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_94596.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_94596.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_94596.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_1171.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_1171.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_1171.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_1171.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_13226.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_13226.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_13226.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_13226.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_14599.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_14599.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_14599.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_14599.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_15811.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_15811.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_15811.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_15811.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_19537.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_19537.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_19537.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_19537.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_20505.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_20505.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_20505.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_20505.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_22295.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_22295.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_22295.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_22295.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_2328.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_2328.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_2328.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_2328.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_26613.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_26613.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_26613.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_26613.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_29799.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_29799.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_29799.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_29799.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_30166.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_30166.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_30166.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_30166.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_32452.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32452.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_32452.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32452.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_32628.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32628.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_32628.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32628.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_32742.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32742.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_32742.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32742.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_34250.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_34250.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_34250.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_34250.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_34977.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_34977.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_34977.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_34977.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_37137.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_37137.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_37137.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_37137.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_40902.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_40902.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_40902.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_40902.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_4134.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_4134.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_4134.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_4134.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_41802.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_41802.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_41802.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_41802.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_42709.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_42709.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_42709.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_42709.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_42843.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_42843.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_42843.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_42843.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_46351.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_46351.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_46351.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_46351.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_46455.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_46455.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_46455.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_46455.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_47235.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_47235.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_47235.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_47235.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_47728.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_47728.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_47728.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_47728.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_478.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_478.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_478.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_478.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_49193.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_49193.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_49193.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_49193.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_49395.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_49395.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_49395.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_49395.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_51542.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_51542.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_51542.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_51542.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_52010.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_52010.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_52010.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_52010.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_55797.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_55797.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_55797.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_55797.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_56577.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_56577.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_56577.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_56577.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_57716.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_57716.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_57716.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_57716.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_59028.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59028.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_59028.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59028.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_59520.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59520.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_59520.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59520.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_59832.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59832.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_59832.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59832.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_61951.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_61951.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_61951.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_61951.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_62342.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_62342.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_62342.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_62342.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_63552.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_63552.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_63552.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_63552.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_64282.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_64282.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_64282.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_64282.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_65478.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_65478.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_65478.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_65478.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_65801.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_65801.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_65801.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_65801.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_66879.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_66879.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_66879.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_66879.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_73800.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_73800.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_73800.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_73800.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_75034.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_75034.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_75034.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_75034.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_76410.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_76410.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_76410.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_76410.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_76779.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_76779.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_76779.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_76779.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_79525.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_79525.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_79525.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_79525.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_82556.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_82556.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_82556.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_82556.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_83264.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_83264.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_83264.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_83264.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_85588.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_85588.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_85588.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_85588.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_86666.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_86666.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_86666.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_86666.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_89731.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_89731.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_89731.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_89731.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_90191.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_90191.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_90191.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_90191.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_92535.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_92535.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_92535.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_92535.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_93818.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_93818.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_93818.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_93818.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_95471.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_95471.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_95471.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_95471.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_96502.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_96502.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_c_96502.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_96502.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_c_60180.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_c_60180.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_c_60180.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_c_60180.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_c_86297.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_c_86297.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_c_86297.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_c_86297.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_p_45342.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_p_45342.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_p_45342.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_p_45342.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_p_48657.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_p_48657.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_p_48657.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_p_48657.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_11962.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_11962.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_11962.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_11962.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_12670.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_12670.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_12670.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_12670.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_15208.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_15208.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_15208.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_15208.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_18837.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_18837.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_18837.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_18837.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_21201.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_21201.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_21201.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_21201.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_24418.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_24418.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_24418.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_24418.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_25104.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_25104.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_25104.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_25104.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_27096.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_27096.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_27096.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_27096.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_31599.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_31599.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_31599.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_31599.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_3409.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_3409.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_3409.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_3409.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_35702.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_35702.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_35702.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_35702.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_39380.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_39380.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_39380.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_39380.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_40037.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_40037.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_40037.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_40037.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_42277.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42277.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_42277.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42277.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_42915.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42915.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_42915.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42915.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_42930.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42930.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_42930.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42930.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_44218.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_44218.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_44218.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_44218.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_44348.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_44348.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_44348.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_44348.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_4518.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4518.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_4518.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4518.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_45269.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_45269.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_45269.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_45269.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_45729.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_45729.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_45729.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_45729.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_4750.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4750.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_4750.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4750.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_4759.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4759.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_4759.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4759.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_48023.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_48023.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_48023.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_48023.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_48545.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_48545.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_48545.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_48545.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_5079.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_5079.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_5079.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_5079.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_53847.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_53847.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_53847.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_53847.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_54450.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_54450.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_54450.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_54450.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_54695.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_54695.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_54695.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_54695.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_56445.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_56445.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_56445.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_56445.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_60572.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_60572.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_60572.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_60572.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_61212.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_61212.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_61212.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_61212.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_63631.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_63631.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_63631.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_63631.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_65545.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_65545.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_65545.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_65545.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_66747.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_66747.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_66747.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_66747.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_66915.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_66915.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_66915.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_66915.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_67704.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_67704.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_67704.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_67704.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_71358.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_71358.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_71358.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_71358.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_72316.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_72316.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_72316.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_72316.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_74045.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_74045.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_74045.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_74045.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_75705.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_75705.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_75705.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_75705.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_78345.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_78345.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_78345.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_78345.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_78368.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_78368.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_78368.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_78368.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_79654.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79654.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_79654.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79654.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_79934.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79934.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_79934.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79934.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_79956.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79956.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_79956.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79956.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_81228.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_81228.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_81228.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_81228.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_82326.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_82326.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_82326.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_82326.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_82525.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_82525.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_82525.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_82525.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_83975.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_83975.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_83975.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_83975.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_84556.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_84556.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_84556.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_84556.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_8501.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_8501.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_8501.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_8501.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_8706.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_8706.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_8706.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_8706.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_89660.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_89660.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_89660.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_89660.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_90233.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_90233.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_90233.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_90233.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_92581.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_92581.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_92581.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_92581.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_93370.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_93370.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_93370.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_93370.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_94665.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_94665.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_94665.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_94665.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_95243.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_95243.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_95243.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_95243.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_96481.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_96481.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stage_group_p_96481.json rename to src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_96481.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stomach_t_57787.json b/src/test/resources/algorithms/tnm/2.0/tables/stomach_t_57787.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stomach_t_57787.json rename to src/test/resources/algorithms/tnm/2.0/tables/stomach_t_57787.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_24035.json b/src/test/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_24035.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_24035.json rename to src/test/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_24035.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_placenta_53933.json b/src/test/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_placenta_53933.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_placenta_53933.json rename to src/test/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_placenta_53933.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/submandibular_gland_t_42810.json b/src/test/resources/algorithms/tnm/2.0/tables/submandibular_gland_t_42810.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/submandibular_gland_t_42810.json rename to src/test/resources/algorithms/tnm/2.0/tables/submandibular_gland_t_42810.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/systemic_surg_seq.json b/src/test/resources/algorithms/tnm/2.0/tables/systemic_surg_seq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/systemic_surg_seq.json rename to src/test/resources/algorithms/tnm/2.0/tables/systemic_surg_seq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/testis_n_51427.json b/src/test/resources/algorithms/tnm/2.0/tables/testis_n_51427.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/testis_n_51427.json rename to src/test/resources/algorithms/tnm/2.0/tables/testis_n_51427.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/testis_path_t_76829.json b/src/test/resources/algorithms/tnm/2.0/tables/testis_path_t_76829.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/testis_path_t_76829.json rename to src/test/resources/algorithms/tnm/2.0/tables/testis_path_t_76829.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/testis_postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516.json b/src/test/resources/algorithms/tnm/2.0/tables/testis_postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/testis_postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516.json rename to src/test/resources/algorithms/tnm/2.0/tables/testis_postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_anaplastic.json b/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_anaplastic.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_anaplastic.json rename to src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_anaplastic.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_medullary.json b/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_medullary.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_medullary.json rename to src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_medullary.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older.json b/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older.json rename to src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_lessthan_45.json b/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_lessthan_45.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_lessthan_45.json rename to src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_lessthan_45.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/thyroid_anaplastic_74409.json b/src/test/resources/algorithms/tnm/2.0/tables/thyroid_anaplastic_74409.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/thyroid_anaplastic_74409.json rename to src/test/resources/algorithms/tnm/2.0/tables/thyroid_anaplastic_74409.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/thyroid_t_6166.json b/src/test/resources/algorithms/tnm/2.0/tables/thyroid_t_6166.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/thyroid_t_6166.json rename to src/test/resources/algorithms/tnm/2.0/tables/thyroid_t_6166.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tab.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tab.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tab.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tab.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tae.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tae.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tae.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tae.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpa.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpa.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpb.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpb.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpc.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpc.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpe.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpe.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpe.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpe.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpf.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpf.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpg.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpg.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tph.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tph.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tph.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tph.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpi.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpi.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpi.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpi.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpj.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpj.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpk.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpk.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpk.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpk.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpl.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpl.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpm.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpm.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpn.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpn.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpo.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpo.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpo.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpo.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpp.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpp.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpp.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpp.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpq.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpq.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpr.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpr.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpr.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpr.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tps.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tps.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tps.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tps.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpt.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpt.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpt.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpt.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpv.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpv.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpv.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpv.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpw.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpw.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpx.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpx.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpy.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpy.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpy.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpy.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpz.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpz.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqa.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqa.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqb.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqb.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqc.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqc.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqg.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqg.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqh.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqh.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqh.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqh.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqi.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqi.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqi.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqi.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqj.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqj.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqk.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqk.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqk.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqk.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tql.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tql.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tql.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tql.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqm.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqm.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqn.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqn.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_gist_small_intestine_upy.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_gist_small_intestine_upy.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_gist_small_intestine_upy.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_gist_small_intestine_upy.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_group_gist_stomach_36358.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_group_gist_stomach_36358.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_group_gist_stomach_36358.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_group_gist_stomach_36358.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaa.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaa.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uab.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uab.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uab.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uab.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uac.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uac.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uac.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uac.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uad.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uad.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uad.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uad.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uae.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uae.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uae.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uae.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaf.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaf.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uak.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uak.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uak.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uak.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ual.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ual.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ual.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ual.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uam.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uam.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uam.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uam.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uao.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uao.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uao.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uao.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaq.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaq.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uar.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uar.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uar.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uar.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uau.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uau.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uau.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uau.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uav.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uav.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uav.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uav.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaw.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaw.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uax.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uax.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uax.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uax.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uay.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uay.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uay.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uay.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaz.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaz.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uba.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uba.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uba.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uba.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubb.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubb.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubc.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubc.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubd.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubd.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubf.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubf.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubg.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubg.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubh.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubh.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubh.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubh.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubi.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubi.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubi.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubi.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubj.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubj.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubk.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubk.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubk.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubk.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubl.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubl.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubm.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubm.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubn.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubn.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubp.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubp.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubp.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubp.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubq.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubq.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubs.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubs.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubs.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubs.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubt.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubt.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubt.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubt.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubu.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubu.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubv.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubv.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubv.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubv.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubx.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubx.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uby.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uby.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uby.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uby.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upm.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upm.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ups.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ups.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ups.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ups.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upt.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upt.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upt.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upt.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upu.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upu.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upv.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upv.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upv.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upv.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upw.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upw.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upx.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upx.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upz.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upz.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqa.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqa.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqb.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqb.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqc.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqc.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqd.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqd.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqe.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqe.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqe.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqe.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_for_sites_with_no_stage_groupings_unb.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_for_sites_with_no_stage_groupings_unb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_for_sites_with_no_stage_groupings_unb.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_for_sites_with_no_stage_groupings_unb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_gist_small_intestine_upy.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_gist_small_intestine_upy.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_gist_small_intestine_upy.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_gist_small_intestine_upy.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaa.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaa.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uab.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uab.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uab.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uab.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uac.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uac.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uac.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uac.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uad.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uad.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uad.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uad.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uae.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uae.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uae.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uae.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaf.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaf.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uak.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uak.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uak.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uak.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ual.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ual.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ual.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ual.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uam.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uam.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uam.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uam.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uao.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uao.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uao.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uao.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaq.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaq.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uar.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uar.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uar.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uar.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uau.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uau.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uau.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uau.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uav.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uav.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uav.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uav.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaw.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaw.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uax.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uax.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uax.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uax.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uay.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uay.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uay.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uay.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaz.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaz.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uba.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uba.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uba.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uba.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubb.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubb.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubc.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubc.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubd.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubd.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubf.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubf.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubf.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubf.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubg.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubg.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubg.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubg.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubh.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubh.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubh.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubh.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubi.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubi.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubi.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubi.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubj.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubj.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubj.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubj.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubk.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubk.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubk.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubk.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubl.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubl.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubl.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubl.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubm.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubm.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubn.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubn.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubn.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubn.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubp.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubp.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubp.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubp.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubq.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubq.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubq.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubq.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubs.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubs.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubs.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubs.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubt.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubt.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubt.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubt.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubu.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubu.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubv.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubv.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubv.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubv.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubx.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubx.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uby.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uby.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uby.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uby.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_upm.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upm.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_upm.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upm.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ups.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ups.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_ups.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ups.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_upt.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upt.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_upt.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upt.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_upu.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upu.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_upu.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upu.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_upv.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upv.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_upv.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upv.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_upw.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upw.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_upw.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upw.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_upx.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upx.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_upx.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upx.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_upz.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upz.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_upz.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upz.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqa.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqa.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqa.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqa.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqb.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqb.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqb.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqb.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqc.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqc.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqc.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqc.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqd.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqd.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqd.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqd.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqe.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqe.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqe.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqe.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_12118.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_12118.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_12118.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_12118.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_48585.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_48585.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_48585.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_48585.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_55778.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_55778.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_55778.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_55778.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_69346.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_69346.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_69346.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_69346.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_30413.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_30413.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_30413.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_30413.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_41458.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_41458.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_41458.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_41458.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_ewing_61213.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_ewing_61213.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_ewing_61213.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_ewing_61213.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_not_ewing_41435.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_not_ewing_41435.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_not_ewing_41435.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_not_ewing_41435.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_15592.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_15592.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_15592.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_15592.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_29624.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_29624.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_29624.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_29624.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_anaplastic_79873.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_anaplastic_79873.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_anaplastic_79873.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_anaplastic_79873.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_medullary_77691.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_medullary_77691.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_medullary_77691.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_medullary_77691.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_45_and_older_71342.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_45_and_older_71342.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_45_and_older_71342.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_45_and_older_71342.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_less_than_45_95553.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_less_than_45_95553.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_less_than_45_95553.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_less_than_45_95553.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_44054.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_44054.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_44054.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_44054.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_86531.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_86531.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_86531.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_86531.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_stage_ewing_17708.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_ewing_17708.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_stage_ewing_17708.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_ewing_17708.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_stage_group_gist_stomach_36358.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_group_gist_stomach_36358.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_stage_group_gist_stomach_36358.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_group_gist_stomach_36358.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_stage_not_ewing_14573.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_not_ewing_14573.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_stage_not_ewing_14573.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_not_ewing_14573.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_34274.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_34274.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_34274.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_34274.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_64205.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_64205.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_64205.json rename to src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_64205.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tongue_anterior_t_49048.json b/src/test/resources/algorithms/tnm/2.0/tables/tongue_anterior_t_49048.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tongue_anterior_t_49048.json rename to src/test/resources/algorithms/tnm/2.0/tables/tongue_anterior_t_49048.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tonguebase_t_15526.json b/src/test/resources/algorithms/tnm/2.0/tables/tonguebase_t_15526.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/tonguebase_t_15526.json rename to src/test/resources/algorithms/tnm/2.0/tables/tonguebase_t_15526.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/urethra_n_54953.json b/src/test/resources/algorithms/tnm/2.0/tables/urethra_n_54953.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/urethra_n_54953.json rename to src/test/resources/algorithms/tnm/2.0/tables/urethra_n_54953.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/urethra_t_77785.json b/src/test/resources/algorithms/tnm/2.0/tables/urethra_t_77785.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/urethra_t_77785.json rename to src/test/resources/algorithms/tnm/2.0/tables/urethra_t_77785.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/vagina_t_91502.json b/src/test/resources/algorithms/tnm/2.0/tables/vagina_t_91502.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/vagina_t_91502.json rename to src/test/resources/algorithms/tnm/2.0/tables/vagina_t_91502.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/vulva_t_1223.json b/src/test/resources/algorithms/tnm/2.0/tables/vulva_t_1223.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/vulva_t_1223.json rename to src/test/resources/algorithms/tnm/2.0/tables/vulva_t_1223.json diff --git a/algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/year_dx_validation.json b/src/test/resources/algorithms/tnm/2.0/tables/year_dx_validation.json similarity index 100% rename from algorithm-tnm/src/main/resources/algorithms/tnm/2.0/tables/year_dx_validation.json rename to src/test/resources/algorithms/tnm/2.0/tables/year_dx_validation.json diff --git a/algorithm-cs/src/test/resources/cs/integration/schema_selection/cs_schema_identification.txt.gz b/src/test/resources/cs/integration/schema_selection/cs_schema_identification.txt.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schema_selection/cs_schema_identification.txt.gz rename to src/test/resources/cs/integration/schema_selection/cs_schema_identification.txt.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/adnexa_uterine_other.gz b/src/test/resources/cs/integration/schemas/adnexa_uterine_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/adnexa_uterine_other.gz rename to src/test/resources/cs/integration/schemas/adnexa_uterine_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/adrenal_gland.gz b/src/test/resources/cs/integration/schemas/adrenal_gland.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/adrenal_gland.gz rename to src/test/resources/cs/integration/schemas/adrenal_gland.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/ampulla_vater.gz b/src/test/resources/cs/integration/schemas/ampulla_vater.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/ampulla_vater.gz rename to src/test/resources/cs/integration/schemas/ampulla_vater.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/anus.gz b/src/test/resources/cs/integration/schemas/anus.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/anus.gz rename to src/test/resources/cs/integration/schemas/anus.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/bile_ducts_distal.gz b/src/test/resources/cs/integration/schemas/bile_ducts_distal.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/bile_ducts_distal.gz rename to src/test/resources/cs/integration/schemas/bile_ducts_distal.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/bile_ducts_perihilar.gz b/src/test/resources/cs/integration/schemas/bile_ducts_perihilar.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/bile_ducts_perihilar.gz rename to src/test/resources/cs/integration/schemas/bile_ducts_perihilar.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/biliary_other.gz b/src/test/resources/cs/integration/schemas/biliary_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/biliary_other.gz rename to src/test/resources/cs/integration/schemas/biliary_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/brain.gz b/src/test/resources/cs/integration/schemas/brain.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/brain.gz rename to src/test/resources/cs/integration/schemas/brain.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/buccal_mucosa.gz b/src/test/resources/cs/integration/schemas/buccal_mucosa.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/buccal_mucosa.gz rename to src/test/resources/cs/integration/schemas/buccal_mucosa.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/cervix.gz b/src/test/resources/cs/integration/schemas/cervix.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/cervix.gz rename to src/test/resources/cs/integration/schemas/cervix.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/cns_other.gz b/src/test/resources/cs/integration/schemas/cns_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/cns_other.gz rename to src/test/resources/cs/integration/schemas/cns_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/conjunctiva.gz b/src/test/resources/cs/integration/schemas/conjunctiva.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/conjunctiva.gz rename to src/test/resources/cs/integration/schemas/conjunctiva.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/corpus_adenosarcoma.gz b/src/test/resources/cs/integration/schemas/corpus_adenosarcoma.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/corpus_adenosarcoma.gz rename to src/test/resources/cs/integration/schemas/corpus_adenosarcoma.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/cystic_duct.gz b/src/test/resources/cs/integration/schemas/cystic_duct.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/cystic_duct.gz rename to src/test/resources/cs/integration/schemas/cystic_duct.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/digestive_other.gz b/src/test/resources/cs/integration/schemas/digestive_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/digestive_other.gz rename to src/test/resources/cs/integration/schemas/digestive_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/endocrine_other.gz b/src/test/resources/cs/integration/schemas/endocrine_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/endocrine_other.gz rename to src/test/resources/cs/integration/schemas/endocrine_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/epiglottis_anterior.gz b/src/test/resources/cs/integration/schemas/epiglottis_anterior.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/epiglottis_anterior.gz rename to src/test/resources/cs/integration/schemas/epiglottis_anterior.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/eye_other.gz b/src/test/resources/cs/integration/schemas/eye_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/eye_other.gz rename to src/test/resources/cs/integration/schemas/eye_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/fallopian_tube.gz b/src/test/resources/cs/integration/schemas/fallopian_tube.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/fallopian_tube.gz rename to src/test/resources/cs/integration/schemas/fallopian_tube.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/floor_mouth.gz b/src/test/resources/cs/integration/schemas/floor_mouth.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/floor_mouth.gz rename to src/test/resources/cs/integration/schemas/floor_mouth.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/gallbladder.gz b/src/test/resources/cs/integration/schemas/gallbladder.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/gallbladder.gz rename to src/test/resources/cs/integration/schemas/gallbladder.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/genital_female_other.gz b/src/test/resources/cs/integration/schemas/genital_female_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/genital_female_other.gz rename to src/test/resources/cs/integration/schemas/genital_female_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/genital_male_other.gz b/src/test/resources/cs/integration/schemas/genital_male_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/genital_male_other.gz rename to src/test/resources/cs/integration/schemas/genital_male_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/gist_appendix.gz b/src/test/resources/cs/integration/schemas/gist_appendix.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/gist_appendix.gz rename to src/test/resources/cs/integration/schemas/gist_appendix.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/gist_colon.gz b/src/test/resources/cs/integration/schemas/gist_colon.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/gist_colon.gz rename to src/test/resources/cs/integration/schemas/gist_colon.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/gist_esophagus.gz b/src/test/resources/cs/integration/schemas/gist_esophagus.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/gist_esophagus.gz rename to src/test/resources/cs/integration/schemas/gist_esophagus.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/gist_peritoneum.gz b/src/test/resources/cs/integration/schemas/gist_peritoneum.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/gist_peritoneum.gz rename to src/test/resources/cs/integration/schemas/gist_peritoneum.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/gist_rectum.gz b/src/test/resources/cs/integration/schemas/gist_rectum.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/gist_rectum.gz rename to src/test/resources/cs/integration/schemas/gist_rectum.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/gist_small_intestine.gz b/src/test/resources/cs/integration/schemas/gist_small_intestine.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/gist_small_intestine.gz rename to src/test/resources/cs/integration/schemas/gist_small_intestine.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/gist_stomach.gz b/src/test/resources/cs/integration/schemas/gist_stomach.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/gist_stomach.gz rename to src/test/resources/cs/integration/schemas/gist_stomach.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/gum_lower.gz b/src/test/resources/cs/integration/schemas/gum_lower.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/gum_lower.gz rename to src/test/resources/cs/integration/schemas/gum_lower.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/gum_other.gz b/src/test/resources/cs/integration/schemas/gum_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/gum_other.gz rename to src/test/resources/cs/integration/schemas/gum_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/gum_upper.gz b/src/test/resources/cs/integration/schemas/gum_upper.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/gum_upper.gz rename to src/test/resources/cs/integration/schemas/gum_upper.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/heart_mediastinum.gz b/src/test/resources/cs/integration/schemas/heart_mediastinum.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/heart_mediastinum.gz rename to src/test/resources/cs/integration/schemas/heart_mediastinum.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/hypopharynx.gz b/src/test/resources/cs/integration/schemas/hypopharynx.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/hypopharynx.gz rename to src/test/resources/cs/integration/schemas/hypopharynx.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/ill_defined_other.gz b/src/test/resources/cs/integration/schemas/ill_defined_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/ill_defined_other.gz rename to src/test/resources/cs/integration/schemas/ill_defined_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/index.txt b/src/test/resources/cs/integration/schemas/index.txt similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/index.txt rename to src/test/resources/cs/integration/schemas/index.txt diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/intracranial_gland.gz b/src/test/resources/cs/integration/schemas/intracranial_gland.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/intracranial_gland.gz rename to src/test/resources/cs/integration/schemas/intracranial_gland.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/kaposi_sarcoma.gz b/src/test/resources/cs/integration/schemas/kaposi_sarcoma.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/kaposi_sarcoma.gz rename to src/test/resources/cs/integration/schemas/kaposi_sarcoma.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/kidney_parenchyma.gz b/src/test/resources/cs/integration/schemas/kidney_parenchyma.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/kidney_parenchyma.gz rename to src/test/resources/cs/integration/schemas/kidney_parenchyma.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/kidney_renal_pelvis.gz b/src/test/resources/cs/integration/schemas/kidney_renal_pelvis.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/kidney_renal_pelvis.gz rename to src/test/resources/cs/integration/schemas/kidney_renal_pelvis.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/lacrimal_gland.gz b/src/test/resources/cs/integration/schemas/lacrimal_gland.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/lacrimal_gland.gz rename to src/test/resources/cs/integration/schemas/lacrimal_gland.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/lacrimal_sac.gz b/src/test/resources/cs/integration/schemas/lacrimal_sac.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/lacrimal_sac.gz rename to src/test/resources/cs/integration/schemas/lacrimal_sac.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/larynx_glottic.gz b/src/test/resources/cs/integration/schemas/larynx_glottic.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/larynx_glottic.gz rename to src/test/resources/cs/integration/schemas/larynx_glottic.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/larynx_other.gz b/src/test/resources/cs/integration/schemas/larynx_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/larynx_other.gz rename to src/test/resources/cs/integration/schemas/larynx_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/larynx_subglottic.gz b/src/test/resources/cs/integration/schemas/larynx_subglottic.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/larynx_subglottic.gz rename to src/test/resources/cs/integration/schemas/larynx_subglottic.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/larynx_supraglottic.gz b/src/test/resources/cs/integration/schemas/larynx_supraglottic.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/larynx_supraglottic.gz rename to src/test/resources/cs/integration/schemas/larynx_supraglottic.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/lip_lower.gz b/src/test/resources/cs/integration/schemas/lip_lower.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/lip_lower.gz rename to src/test/resources/cs/integration/schemas/lip_lower.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/lip_other.gz b/src/test/resources/cs/integration/schemas/lip_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/lip_other.gz rename to src/test/resources/cs/integration/schemas/lip_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/lip_upper.gz b/src/test/resources/cs/integration/schemas/lip_upper.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/lip_upper.gz rename to src/test/resources/cs/integration/schemas/lip_upper.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/liver.gz b/src/test/resources/cs/integration/schemas/liver.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/liver.gz rename to src/test/resources/cs/integration/schemas/liver.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_buccal_mucosa.gz b/src/test/resources/cs/integration/schemas/melanoma_buccal_mucosa.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_buccal_mucosa.gz rename to src/test/resources/cs/integration/schemas/melanoma_buccal_mucosa.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_epiglottis_anterior.gz b/src/test/resources/cs/integration/schemas/melanoma_epiglottis_anterior.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_epiglottis_anterior.gz rename to src/test/resources/cs/integration/schemas/melanoma_epiglottis_anterior.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_eye_other.gz b/src/test/resources/cs/integration/schemas/melanoma_eye_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_eye_other.gz rename to src/test/resources/cs/integration/schemas/melanoma_eye_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_floor_mouth.gz b/src/test/resources/cs/integration/schemas/melanoma_floor_mouth.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_floor_mouth.gz rename to src/test/resources/cs/integration/schemas/melanoma_floor_mouth.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_gum_lower.gz b/src/test/resources/cs/integration/schemas/melanoma_gum_lower.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_gum_lower.gz rename to src/test/resources/cs/integration/schemas/melanoma_gum_lower.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_gum_other.gz b/src/test/resources/cs/integration/schemas/melanoma_gum_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_gum_other.gz rename to src/test/resources/cs/integration/schemas/melanoma_gum_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_gum_upper.gz b/src/test/resources/cs/integration/schemas/melanoma_gum_upper.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_gum_upper.gz rename to src/test/resources/cs/integration/schemas/melanoma_gum_upper.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_hypopharynx.gz b/src/test/resources/cs/integration/schemas/melanoma_hypopharynx.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_hypopharynx.gz rename to src/test/resources/cs/integration/schemas/melanoma_hypopharynx.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_iris.gz b/src/test/resources/cs/integration/schemas/melanoma_iris.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_iris.gz rename to src/test/resources/cs/integration/schemas/melanoma_iris.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_larynx_glottic.gz b/src/test/resources/cs/integration/schemas/melanoma_larynx_glottic.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_larynx_glottic.gz rename to src/test/resources/cs/integration/schemas/melanoma_larynx_glottic.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_larynx_other.gz b/src/test/resources/cs/integration/schemas/melanoma_larynx_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_larynx_other.gz rename to src/test/resources/cs/integration/schemas/melanoma_larynx_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_larynx_subglottic.gz b/src/test/resources/cs/integration/schemas/melanoma_larynx_subglottic.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_larynx_subglottic.gz rename to src/test/resources/cs/integration/schemas/melanoma_larynx_subglottic.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_larynx_supraglottic.gz b/src/test/resources/cs/integration/schemas/melanoma_larynx_supraglottic.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_larynx_supraglottic.gz rename to src/test/resources/cs/integration/schemas/melanoma_larynx_supraglottic.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_lip_lower.gz b/src/test/resources/cs/integration/schemas/melanoma_lip_lower.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_lip_lower.gz rename to src/test/resources/cs/integration/schemas/melanoma_lip_lower.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_lip_other.gz b/src/test/resources/cs/integration/schemas/melanoma_lip_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_lip_other.gz rename to src/test/resources/cs/integration/schemas/melanoma_lip_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_lip_upper.gz b/src/test/resources/cs/integration/schemas/melanoma_lip_upper.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_lip_upper.gz rename to src/test/resources/cs/integration/schemas/melanoma_lip_upper.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_mouth_other.gz b/src/test/resources/cs/integration/schemas/melanoma_mouth_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_mouth_other.gz rename to src/test/resources/cs/integration/schemas/melanoma_mouth_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_nasal_cavity.gz b/src/test/resources/cs/integration/schemas/melanoma_nasal_cavity.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_nasal_cavity.gz rename to src/test/resources/cs/integration/schemas/melanoma_nasal_cavity.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_nasopharynx.gz b/src/test/resources/cs/integration/schemas/melanoma_nasopharynx.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_nasopharynx.gz rename to src/test/resources/cs/integration/schemas/melanoma_nasopharynx.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_oropharynx.gz b/src/test/resources/cs/integration/schemas/melanoma_oropharynx.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_oropharynx.gz rename to src/test/resources/cs/integration/schemas/melanoma_oropharynx.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_palate_hard.gz b/src/test/resources/cs/integration/schemas/melanoma_palate_hard.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_palate_hard.gz rename to src/test/resources/cs/integration/schemas/melanoma_palate_hard.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_palate_soft.gz b/src/test/resources/cs/integration/schemas/melanoma_palate_soft.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_palate_soft.gz rename to src/test/resources/cs/integration/schemas/melanoma_palate_soft.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_pharynx_other.gz b/src/test/resources/cs/integration/schemas/melanoma_pharynx_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_pharynx_other.gz rename to src/test/resources/cs/integration/schemas/melanoma_pharynx_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_sinus_ethmoid.gz b/src/test/resources/cs/integration/schemas/melanoma_sinus_ethmoid.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_sinus_ethmoid.gz rename to src/test/resources/cs/integration/schemas/melanoma_sinus_ethmoid.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_sinus_maxillary.gz b/src/test/resources/cs/integration/schemas/melanoma_sinus_maxillary.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_sinus_maxillary.gz rename to src/test/resources/cs/integration/schemas/melanoma_sinus_maxillary.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_sinus_other.gz b/src/test/resources/cs/integration/schemas/melanoma_sinus_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_sinus_other.gz rename to src/test/resources/cs/integration/schemas/melanoma_sinus_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_tongue_anterior.gz b/src/test/resources/cs/integration/schemas/melanoma_tongue_anterior.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_tongue_anterior.gz rename to src/test/resources/cs/integration/schemas/melanoma_tongue_anterior.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_tongue_base.gz b/src/test/resources/cs/integration/schemas/melanoma_tongue_base.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/melanoma_tongue_base.gz rename to src/test/resources/cs/integration/schemas/melanoma_tongue_base.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/middle_ear.gz b/src/test/resources/cs/integration/schemas/middle_ear.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/middle_ear.gz rename to src/test/resources/cs/integration/schemas/middle_ear.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/mouth_other.gz b/src/test/resources/cs/integration/schemas/mouth_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/mouth_other.gz rename to src/test/resources/cs/integration/schemas/mouth_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/mycosis_fungoides.gz b/src/test/resources/cs/integration/schemas/mycosis_fungoides.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/mycosis_fungoides.gz rename to src/test/resources/cs/integration/schemas/mycosis_fungoides.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/myeloma_plasma_cell_disorder.gz b/src/test/resources/cs/integration/schemas/myeloma_plasma_cell_disorder.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/myeloma_plasma_cell_disorder.gz rename to src/test/resources/cs/integration/schemas/myeloma_plasma_cell_disorder.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/nasal_cavity.gz b/src/test/resources/cs/integration/schemas/nasal_cavity.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/nasal_cavity.gz rename to src/test/resources/cs/integration/schemas/nasal_cavity.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/nasopharynx.gz b/src/test/resources/cs/integration/schemas/nasopharynx.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/nasopharynx.gz rename to src/test/resources/cs/integration/schemas/nasopharynx.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/net_ampulla.gz b/src/test/resources/cs/integration/schemas/net_ampulla.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/net_ampulla.gz rename to src/test/resources/cs/integration/schemas/net_ampulla.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/net_small_intestine.gz b/src/test/resources/cs/integration/schemas/net_small_intestine.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/net_small_intestine.gz rename to src/test/resources/cs/integration/schemas/net_small_intestine.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/orbit.gz b/src/test/resources/cs/integration/schemas/orbit.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/orbit.gz rename to src/test/resources/cs/integration/schemas/orbit.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/ovary.gz b/src/test/resources/cs/integration/schemas/ovary.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/ovary.gz rename to src/test/resources/cs/integration/schemas/ovary.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/palate_hard.gz b/src/test/resources/cs/integration/schemas/palate_hard.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/palate_hard.gz rename to src/test/resources/cs/integration/schemas/palate_hard.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/palate_soft.gz b/src/test/resources/cs/integration/schemas/palate_soft.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/palate_soft.gz rename to src/test/resources/cs/integration/schemas/palate_soft.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/pancreas_body_tail.gz b/src/test/resources/cs/integration/schemas/pancreas_body_tail.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/pancreas_body_tail.gz rename to src/test/resources/cs/integration/schemas/pancreas_body_tail.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/pancreas_head.gz b/src/test/resources/cs/integration/schemas/pancreas_head.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/pancreas_head.gz rename to src/test/resources/cs/integration/schemas/pancreas_head.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/pancreas_other.gz b/src/test/resources/cs/integration/schemas/pancreas_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/pancreas_other.gz rename to src/test/resources/cs/integration/schemas/pancreas_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/parotid_gland.gz b/src/test/resources/cs/integration/schemas/parotid_gland.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/parotid_gland.gz rename to src/test/resources/cs/integration/schemas/parotid_gland.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/penis.gz b/src/test/resources/cs/integration/schemas/penis.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/penis.gz rename to src/test/resources/cs/integration/schemas/penis.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/peritoneum.gz b/src/test/resources/cs/integration/schemas/peritoneum.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/peritoneum.gz rename to src/test/resources/cs/integration/schemas/peritoneum.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/pharyngeal_tonsil.gz b/src/test/resources/cs/integration/schemas/pharyngeal_tonsil.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/pharyngeal_tonsil.gz rename to src/test/resources/cs/integration/schemas/pharyngeal_tonsil.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/pharynx_other.gz b/src/test/resources/cs/integration/schemas/pharynx_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/pharynx_other.gz rename to src/test/resources/cs/integration/schemas/pharynx_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/placenta.gz b/src/test/resources/cs/integration/schemas/placenta.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/placenta.gz rename to src/test/resources/cs/integration/schemas/placenta.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/respiratory_other.gz b/src/test/resources/cs/integration/schemas/respiratory_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/respiratory_other.gz rename to src/test/resources/cs/integration/schemas/respiratory_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/retroperitoneum.gz b/src/test/resources/cs/integration/schemas/retroperitoneum.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/retroperitoneum.gz rename to src/test/resources/cs/integration/schemas/retroperitoneum.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/salivary_gland_other.gz b/src/test/resources/cs/integration/schemas/salivary_gland_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/salivary_gland_other.gz rename to src/test/resources/cs/integration/schemas/salivary_gland_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/sinus_ethmoid.gz b/src/test/resources/cs/integration/schemas/sinus_ethmoid.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/sinus_ethmoid.gz rename to src/test/resources/cs/integration/schemas/sinus_ethmoid.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/sinus_maxillary.gz b/src/test/resources/cs/integration/schemas/sinus_maxillary.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/sinus_maxillary.gz rename to src/test/resources/cs/integration/schemas/sinus_maxillary.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/sinus_other.gz b/src/test/resources/cs/integration/schemas/sinus_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/sinus_other.gz rename to src/test/resources/cs/integration/schemas/sinus_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/submandibular_gland.gz b/src/test/resources/cs/integration/schemas/submandibular_gland.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/submandibular_gland.gz rename to src/test/resources/cs/integration/schemas/submandibular_gland.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/tongue_anterior.gz b/src/test/resources/cs/integration/schemas/tongue_anterior.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/tongue_anterior.gz rename to src/test/resources/cs/integration/schemas/tongue_anterior.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/tongue_base.gz b/src/test/resources/cs/integration/schemas/tongue_base.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/tongue_base.gz rename to src/test/resources/cs/integration/schemas/tongue_base.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/trachea.gz b/src/test/resources/cs/integration/schemas/trachea.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/trachea.gz rename to src/test/resources/cs/integration/schemas/trachea.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/urethra.gz b/src/test/resources/cs/integration/schemas/urethra.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/urethra.gz rename to src/test/resources/cs/integration/schemas/urethra.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/urinary_other.gz b/src/test/resources/cs/integration/schemas/urinary_other.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/urinary_other.gz rename to src/test/resources/cs/integration/schemas/urinary_other.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/vagina.gz b/src/test/resources/cs/integration/schemas/vagina.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/vagina.gz rename to src/test/resources/cs/integration/schemas/vagina.gz diff --git a/algorithm-cs/src/test/resources/cs/integration/schemas/vulva.gz b/src/test/resources/cs/integration/schemas/vulva.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/integration/schemas/vulva.gz rename to src/test/resources/cs/integration/schemas/vulva.gz diff --git a/algorithm-cs/src/test/resources/cs/test-data/020550/AJCC_6.V020550.10000.txt.gz b/src/test/resources/cs/test-data/020550/AJCC_6.V020550.10000.txt.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/test-data/020550/AJCC_6.V020550.10000.txt.gz rename to src/test/resources/cs/test-data/020550/AJCC_6.V020550.10000.txt.gz diff --git a/algorithm-cs/src/test/resources/cs/test-data/020550/AJCC_6.V020550.txt.gz b/src/test/resources/cs/test-data/020550/AJCC_6.V020550.txt.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/test-data/020550/AJCC_6.V020550.txt.gz rename to src/test/resources/cs/test-data/020550/AJCC_6.V020550.txt.gz diff --git a/algorithm-cs/src/test/resources/cs/test-data/020550/AJCC_7.V020550.10000.txt.gz b/src/test/resources/cs/test-data/020550/AJCC_7.V020550.10000.txt.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/test-data/020550/AJCC_7.V020550.10000.txt.gz rename to src/test/resources/cs/test-data/020550/AJCC_7.V020550.10000.txt.gz diff --git a/algorithm-cs/src/test/resources/cs/test-data/020550/AJCC_7.V020550.txt.gz b/src/test/resources/cs/test-data/020550/AJCC_7.V020550.txt.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/test-data/020550/AJCC_7.V020550.txt.gz rename to src/test/resources/cs/test-data/020550/AJCC_7.V020550.txt.gz diff --git a/algorithm-cs/src/test/resources/cs/test-data/020550/cs_schema_identification_unit_test.txt.gz b/src/test/resources/cs/test-data/020550/cs_schema_identification_unit_test.txt.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/test-data/020550/cs_schema_identification_unit_test.txt.gz rename to src/test/resources/cs/test-data/020550/cs_schema_identification_unit_test.txt.gz diff --git a/algorithm-cs/src/test/resources/cs/test-data/020550/valid_inputs.020550.txt.gz b/src/test/resources/cs/test-data/020550/valid_inputs.020550.txt.gz similarity index 100% rename from algorithm-cs/src/test/resources/cs/test-data/020550/valid_inputs.020550.txt.gz rename to src/test/resources/cs/test-data/020550/valid_inputs.020550.txt.gz diff --git a/lib/src/test/resources/external_algorithm.zip b/src/test/resources/external_algorithm.zip similarity index 100% rename from lib/src/test/resources/external_algorithm.zip rename to src/test/resources/external_algorithm.zip diff --git a/lib/src/test/resources/simplelogger.properties b/src/test/resources/simplelogger.properties similarity index 100% rename from lib/src/test/resources/simplelogger.properties rename to src/test/resources/simplelogger.properties From fc380fd99b19b51b81bfea84f05fcfb4bbb793db Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 09:33:22 -0500 Subject: [PATCH 02/33] Change JDK distro --- .github/workflows/integration.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 8f2453594..40d038aa6 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -18,7 +18,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v4 with: - distribution: 'adopt' + distribution: 'temurin' java-version: '21' cache: 'maven' From 5e96c78d4693eb4fa694efc382750b29a62f1c79 Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 09:44:21 -0500 Subject: [PATCH 03/33] Sonarcloud config --- pom.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pom.xml b/pom.xml index 0c02e7d13..4bf93af87 100644 --- a/pom.xml +++ b/pom.xml @@ -54,6 +54,15 @@ 3.27.6 2.0.17 0.14 + + + imsweb_staging-client-java + imsweb + https://sonarcloud.io + + + **/com/imsweb/staging/entities/impl/** + **/UpdaterUtils.java From 6bb3c79ebebfbd124075ba121ef0b30ee9188a02 Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 09:48:57 -0500 Subject: [PATCH 04/33] Set Sonar plugin version --- pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pom.xml b/pom.xml index 4bf93af87..355ed7853 100644 --- a/pom.xml +++ b/pom.xml @@ -263,6 +263,12 @@ .*-M.*,.*-alpha.*,.*-beta.* + + + org.sonarsource.scanner.maven + sonar-maven-plugin + 5.3.0.6276 + From ce4fd9c923bec638c577223cd82ed7a229c7528f Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 09:55:19 -0500 Subject: [PATCH 05/33] Try to fix caching --- .github/workflows/integration.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 40d038aa6..3ba49f2a8 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -20,14 +20,22 @@ jobs: with: distribution: 'temurin' java-version: '21' - cache: 'maven' + + - name: Cache Maven packages + uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- - name: Cache SonarCloud packages uses: actions/cache@v4 with: path: ~/.sonar/cache key: ${{ runner.os }}-sonar - restore-keys: ${{ runner.os }}-sonar + restore-keys: | + ${{ runner.os }}-sonar - name: Build and test env: From c8a1163ade7b6d3404350304d25b487e20beb760 Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 10:01:57 -0500 Subject: [PATCH 06/33] Caching working now --- .github/workflows/integration.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 3ba49f2a8..5430f2e51 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -20,6 +20,7 @@ jobs: with: distribution: 'temurin' java-version: '21' + cache: 'maven' - name: Cache Maven packages uses: actions/cache@v4 From ad8d220705d16d929488b8ce53e6628ef91bdd6a Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 10:37:56 -0500 Subject: [PATCH 07/33] Update Maven wrapper --- .github/workflows/upload-algorithms.yml | 11 +- .mvn/wrapper/maven-wrapper.jar | Bin 62547 -> 0 bytes .mvn/wrapper/maven-wrapper.properties | 21 +- mvnw | 467 ++++++++++++------------ mvnw.cmd | 344 +++++++++-------- 5 files changed, 404 insertions(+), 439 deletions(-) delete mode 100644 .mvn/wrapper/maven-wrapper.jar diff --git a/.github/workflows/upload-algorithms.yml b/.github/workflows/upload-algorithms.yml index 615dc4555..1aa8b0e32 100644 --- a/.github/workflows/upload-algorithms.yml +++ b/.github/workflows/upload-algorithms.yml @@ -20,8 +20,17 @@ jobs: - name: Set up JDK uses: actions/setup-java@v4 with: - distribution: 'adopt' + distribution: 'temurin' java-version: '21' + cache: 'maven' + + - name: Cache Maven packages + uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- - name: Create algorithm zips if: ${{startsWith(github.ref, 'refs/tags/v') }} diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar deleted file mode 100644 index cb28b0e37c7d206feb564310fdeec0927af4123a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62547 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 A?*IS* diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 11f586804..c0bcafe98 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,18 +1,3 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.7/apache-maven-3.9.7-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar +wrapperVersion=3.3.4 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip diff --git a/mvnw b/mvnw index 8d937f4c1..bd8896bf2 100644 --- a/mvnw +++ b/mvnw @@ -19,290 +19,277 @@ # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- -# Apache Maven Wrapper startup batch script, version 3.2.0 -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir +# Apache Maven Wrapper startup batch script, version 3.3.4 # # Optional ENV vars # ----------------- -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# JAVA_HOME - location of a JDK home dir, required when download maven via java source +# MVNW_REPOURL - repo url base for downloading maven distribution +# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output # ---------------------------------------------------------------------------- -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /usr/local/etc/mavenrc ] ; then - . /usr/local/etc/mavenrc - fi - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi - - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi +set -euf +[ "${MVNW_VERBOSE-}" != debug ] || set -x -fi - -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false +# OS specific support. +native_path() { printf %s\\n "$1"; } case "$(uname)" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME - else - JAVA_HOME="/Library/Java/Home"; export JAVA_HOME - fi - fi - ;; +CYGWIN* | MINGW*) + [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" + native_path() { cygpath --path --windows "$1"; } + ;; esac -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=$(java-config --jre-home) - fi -fi - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$JAVA_HOME" ] && - JAVA_HOME=$(cygpath --unix "$JAVA_HOME") - [ -n "$CLASSPATH" ] && - CLASSPATH=$(cygpath --path --unix "$CLASSPATH") -fi - -# For Mingw, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && - JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" -fi - -if [ -z "$JAVA_HOME" ]; then - javaExecutable="$(which javac)" - if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=$(which readlink) - if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then - if $darwin ; then - javaHome="$(dirname "\"$javaExecutable\"")" - javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" - else - javaExecutable="$(readlink -f "\"$javaExecutable\"")" - fi - javaHome="$(dirname "\"$javaExecutable\"")" - javaHome=$(expr "$javaHome" : '\(.*\)/bin') - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then +# set JAVACMD and JAVACCMD +set_java_home() { + # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched + if [ -n "${JAVA_HOME-}" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACCMD="$JAVA_HOME/jre/sh/javac" else JAVACMD="$JAVA_HOME/bin/java" + JAVACCMD="$JAVA_HOME/bin/javac" + + if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then + echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 + fi fi else - JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" - fi -fi + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi - -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." -fi - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi fi +} - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=$(cd "$wdir/.." || exit 1; pwd) - fi - # end of workaround +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" done - printf '%s' "$(cd "$basedir" || exit 1; pwd)" + printf %x\\n $h } -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - # Remove \r in case we run on Windows within Git Bash - # and check out the repository with auto CRLF management - # enabled. Otherwise, we may read lines that are delimited with - # \r\n and produce $'-Xarg\r' rather than -Xarg due to word - # splitting rules. - tr -s '\r\n' ' ' < "$1" - fi +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + +die() { + printf %s\\n "$1" >&2 + exit 1 } -log() { - if [ "$MVNW_VERBOSE" = true ]; then - printf '%s\n' "$1" - fi +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +scriptDir="$(dirname "$0")" +scriptName="$(basename "$0")" + +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"$scriptDir/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${scriptName#mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" } -BASE_DIR=$(find_maven_basedir "$(dirname "$0")") -if [ -z "$BASE_DIR" ]; then - exit 1; +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" fi -MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR -log "$MAVEN_PROJECTBASEDIR" +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac -########################################################################################## -# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -# This allows using the maven wrapper in projects that prohibit checking in binary data. -########################################################################################## -wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" -if [ -r "$wrapperJarPath" ]; then - log "Found $wrapperJarPath" +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT else - log "Couldn't find $wrapperJarPath, downloading it ..." + die "cannot create temp dir" +fi - if [ -n "$MVNW_REPOURL" ]; then - wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - else - wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - fi - while IFS="=" read -r key value; do - # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) - safeValue=$(echo "$value" | tr -d '\r') - case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; - esac - done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" - log "Downloading from: $wrapperUrl" - - if $cygwin; then - wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") - fi +mkdir -p -- "${MAVEN_HOME%/*}" - if command -v wget > /dev/null; then - log "Found wget ... using wget" - [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" - else - wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" - fi - elif command -v curl > /dev/null; then - log "Found curl ... using curl" - [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" - else - curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" - fi - else - log "Falling back to using Java to download" - javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" - javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" - # For Cygwin, switch paths to Windows format before running javac - if $cygwin; then - javaSource=$(cygpath --path --windows "$javaSource") - javaClass=$(cygpath --path --windows "$javaClass") - fi - if [ -e "$javaSource" ]; then - if [ ! -e "$javaClass" ]; then - log " - Compiling MavenWrapperDownloader.java ..." - ("$JAVA_HOME/bin/javac" "$javaSource") - fi - if [ -e "$javaClass" ]; then - log " - Running MavenWrapperDownloader.java ..." - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" - fi - fi - fi +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" fi -########################################################################################## -# End of extension -########################################################################################## -# If specified, validate the SHA-256 sum of the Maven wrapper jar file -wrapperSha256Sum="" -while IFS="=" read -r key value; do - case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; - esac -done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" -if [ -n "$wrapperSha256Sum" ]; then - wrapperSha256Result=false - if command -v sha256sum > /dev/null; then - if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then - wrapperSha256Result=true +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v + +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac + +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c - >/dev/null 2>&1; then + distributionSha256Result=true fi - elif command -v shasum > /dev/null; then - if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then - wrapperSha256Result=true + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true fi else - echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." - echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 exit 1 fi - if [ $wrapperSha256Result = false ]; then - echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 - echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 - echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 exit 1 fi fi -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +else + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +fi + +# Find the actual extracted directory name (handles snapshots where filename != directory name) +actualDistributionDir="" -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$JAVA_HOME" ] && - JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") - [ -n "$CLASSPATH" ] && - CLASSPATH=$(cygpath --path --windows "$CLASSPATH") - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +# First try the expected directory name (for regular distributions) +if [ -d "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" ]; then + if [ -f "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/bin/$MVN_CMD" ]; then + actualDistributionDir="$distributionUrlNameMain" + fi fi -# Provide a "standardized" way to retrieve the CLI args that will -# work with both Windows and non-Windows executions. -MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" -export MAVEN_CMD_LINE_ARGS +# If not found, search for any directory with the Maven executable (for snapshots) +if [ -z "$actualDistributionDir" ]; then + # enable globbing to iterate over items + set +f + for dir in "$TMP_DOWNLOAD_DIR"/*; do + if [ -d "$dir" ]; then + if [ -f "$dir/bin/$MVN_CMD" ]; then + actualDistributionDir="$(basename "$dir")" + break + fi + fi + done + set -f +fi + +if [ -z "$actualDistributionDir" ]; then + verbose "Contents of $TMP_DOWNLOAD_DIR:" + verbose "$(ls -la "$TMP_DOWNLOAD_DIR")" + die "Could not find Maven distribution directory in extracted archive" +fi -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain +verbose "Found extracted Maven distribution directory: $actualDistributionDir" +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$actualDistributionDir/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$actualDistributionDir" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" -# shellcheck disable=SC2086 # safe args -exec "$JAVACMD" \ - $MAVEN_OPTS \ - $MAVEN_DEBUG_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" +clean || : +exec_maven "$@" diff --git a/mvnw.cmd b/mvnw.cmd index c4586b564..92450f932 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -1,3 +1,4 @@ +<# : batch portion @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @@ -18,188 +19,171 @@ @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- -@REM Apache Maven Wrapper startup batch script, version 3.2.0 -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir +@REM Apache Maven Wrapper startup batch script, version 3.3.4 @REM @REM Optional ENV vars -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output @REM ---------------------------------------------------------------------------- -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM set title of command window -title %0 -@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* -if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - -FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B -) - -@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -@REM This allows using the maven wrapper in projects that prohibit checking in binary data. -if exist %WRAPPER_JAR% ( - if "%MVNW_VERBOSE%" == "true" ( - echo Found %WRAPPER_JAR% - ) -) else ( - if not "%MVNW_REPOURL%" == "" ( - SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - ) - if "%MVNW_VERBOSE%" == "true" ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %WRAPPER_URL% - ) - - powershell -Command "&{"^ - "$webclient = new-object System.Net.WebClient;"^ - "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ - "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ - "}"^ - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ - "}" - if "%MVNW_VERBOSE%" == "true" ( - echo Finished downloading %WRAPPER_JAR% - ) -) -@REM End of extension - -@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file -SET WRAPPER_SHA_256_SUM="" -FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) ) -IF NOT %WRAPPER_SHA_256_SUM%=="" ( - powershell -Command "&{"^ - "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ - "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ - " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ - " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ - " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ - " exit 1;"^ - "}"^ - "}" - if ERRORLEVEL 1 goto error -) - -@REM Provide a "standardized" way to retrieve the CLI args that will -@REM work with both Windows and non-Windows executions. -set MAVEN_CMD_LINE_ARGS=%* - -%MAVEN_JAVA_EXE% ^ - %JVM_CONFIG_MAVEN_PROPS% ^ - %MAVEN_OPTS% ^ - %MAVEN_DEBUG_OPTS% ^ - -classpath %WRAPPER_JAR% ^ - "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ - %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" -if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%"=="on" pause - -if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% - -cmd /C exit /B %ERROR_CODE% +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" ("%__MVNW_CMD__%" %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND -eq $False) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace "^.*$MVNW_REPO_PATTERN",'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' + +$MAVEN_M2_PATH = "$HOME/.m2" +if ($env:MAVEN_USER_HOME) { + $MAVEN_M2_PATH = "$env:MAVEN_USER_HOME" +} + +if (-not (Test-Path -Path $MAVEN_M2_PATH)) { + New-Item -Path $MAVEN_M2_PATH -ItemType Directory | Out-Null +} + +$MAVEN_WRAPPER_DISTS = $null +if ((Get-Item $MAVEN_M2_PATH).Target[0] -eq $null) { + $MAVEN_WRAPPER_DISTS = "$MAVEN_M2_PATH/wrapper/dists" +} else { + $MAVEN_WRAPPER_DISTS = (Get-Item $MAVEN_M2_PATH).Target[0] + "/wrapper/dists" +} + +$MAVEN_HOME_PARENT = "$MAVEN_WRAPPER_DISTS/$distributionUrlNameMain" +$MAVEN_HOME_NAME = ([System.Security.Cryptography.SHA256]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null + +# Find the actual extracted directory name (handles snapshots where filename != directory name) +$actualDistributionDir = "" + +# First try the expected directory name (for regular distributions) +$expectedPath = Join-Path "$TMP_DOWNLOAD_DIR" "$distributionUrlNameMain" +$expectedMvnPath = Join-Path "$expectedPath" "bin/$MVN_CMD" +if ((Test-Path -Path $expectedPath -PathType Container) -and (Test-Path -Path $expectedMvnPath -PathType Leaf)) { + $actualDistributionDir = $distributionUrlNameMain +} + +# If not found, search for any directory with the Maven executable (for snapshots) +if (!$actualDistributionDir) { + Get-ChildItem -Path "$TMP_DOWNLOAD_DIR" -Directory | ForEach-Object { + $testPath = Join-Path $_.FullName "bin/$MVN_CMD" + if (Test-Path -Path $testPath -PathType Leaf) { + $actualDistributionDir = $_.Name + } + } +} + +if (!$actualDistributionDir) { + Write-Error "Could not find Maven distribution directory in extracted archive" +} + +Write-Verbose "Found extracted Maven distribution directory: $actualDistributionDir" +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$actualDistributionDir" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" From 201db039075acd01cbafff810c8409c8c26e40d8 Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 10:45:44 -0500 Subject: [PATCH 08/33] Update Maven wrapper --- .gitignore | 1 - .mvn/wrapper/maven-wrapper.properties | 3 +- mvnw | 475 +++++++++++++------------- mvnw.cmd | 321 +++++++++-------- 4 files changed, 403 insertions(+), 397 deletions(-) diff --git a/.gitignore b/.gitignore index 39c6819bf..a5edded5c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ HELP.md target/ -!.mvn/wrapper/maven-wrapper.jar !**/src/main/**/target/ !**/src/test/**/target/ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index c0bcafe98..d853aaf31 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,3 +1,2 @@ -wrapperVersion=3.3.4 -distributionType=only-script distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/mvnw b/mvnw index bd8896bf2..41c0f0c23 100644 --- a/mvnw +++ b/mvnw @@ -19,277 +19,292 @@ # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- -# Apache Maven Wrapper startup batch script, version 3.3.4 +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- -# JAVA_HOME - location of a JDK home dir, required when download maven via java source -# MVNW_REPOURL - repo url base for downloading maven distribution -# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven -# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- -set -euf -[ "${MVNW_VERBOSE-}" != debug ] || set -x +if [ -z "$MAVEN_SKIP_RC" ] ; then -# OS specific support. -native_path() { printf %s\\n "$1"; } -case "$(uname)" in -CYGWIN* | MINGW*) - [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" - native_path() { cygpath --path --windows "$1"; } - ;; -esac + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi -# set JAVACMD and JAVACCMD -set_java_home() { - # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched - if [ -n "${JAVA_HOME-}" ]; then - if [ -x "$JAVA_HOME/jre/sh/java" ]; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - JAVACCMD="$JAVA_HOME/jre/sh/javac" - else - JAVACMD="$JAVA_HOME/bin/java" - JAVACCMD="$JAVA_HOME/bin/javac" + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi - if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then - echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 - echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 - return 1 +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" fi fi - else - JAVACMD="$( - 'set' +e - 'unset' -f command 2>/dev/null - 'command' -v java - )" || : - JAVACCMD="$( - 'set' +e - 'unset' -f command 2>/dev/null - 'command' -v javac - )" || : - - if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then - echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 - return 1 - fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` fi -} +fi -# hash string like Java String::hashCode -hash_string() { - str="${1:-}" h=0 - while [ -n "$str" ]; do - char="${str%"${str#?}"}" - h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) - str="${str#?}" - done - printf %x\\n $h -} +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" -verbose() { :; } -[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done -die() { - printf %s\\n "$1" >&2 - exit 1 -} + saveddir=`pwd` -trim() { - # MWRAPPER-139: - # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. - # Needed for removing poorly interpreted newline sequences when running in more - # exotic environments such as mingw bash on Windows. - printf "%s" "${1}" | tr -d '[:space:]' -} + M2_HOME=`dirname "$PRG"`/.. -scriptDir="$(dirname "$0")" -scriptName="$(basename "$0")" - -# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties -while IFS="=" read -r key value; do - case "${key-}" in - distributionUrl) distributionUrl=$(trim "${value-}") ;; - distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; - esac -done <"$scriptDir/.mvn/wrapper/maven-wrapper.properties" -[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" - -case "${distributionUrl##*/}" in -maven-mvnd-*bin.*) - MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ - case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in - *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; - :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; - :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; - :Linux*x86_64*) distributionPlatform=linux-amd64 ;; - *) - echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 - distributionPlatform=linux-amd64 - ;; - esac - distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" - ;; -maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; -*) MVN_CMD="mvn${scriptName#mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; -esac + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` -# apply MVNW_REPOURL and calculate MAVEN_HOME -# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ -[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" -distributionUrlName="${distributionUrl##*/}" -distributionUrlNameMain="${distributionUrlName%.*}" -distributionUrlNameMain="${distributionUrlNameMain%-bin}" -MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" -MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" - -exec_maven() { - unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : - exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" -} + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi -if [ -d "$MAVEN_HOME" ]; then - verbose "found existing MAVEN_HOME at $MAVEN_HOME" - exec_maven "$@" +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi -case "${distributionUrl-}" in -*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; -*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; -esac +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi -# prepare tmp dir -if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then - clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } - trap clean HUP INT TERM EXIT -else - die "cannot create temp dir" +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi fi -mkdir -p -- "${MAVEN_HOME%/*}" +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`which java`" + fi +fi -# Download and Install Apache Maven -verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." -verbose "Downloading from: $distributionUrl" -verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi -# select .zip or .tar.gz -if ! command -v unzip >/dev/null; then - distributionUrl="${distributionUrl%.zip}.tar.gz" - distributionUrlName="${distributionUrl##*/}" +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." fi -# verbose opt -__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' -[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher -# normalize http auth -case "${MVNW_PASSWORD:+has-password}" in -'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; -has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; -esac +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { -if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then - verbose "Found wget ... using wget" - wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" -elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then - verbose "Found curl ... using curl" - curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" -elif set_java_home; then - verbose "Falling back to use Java to download" - javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" - targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" - cat >"$javaSource" <<-END - public class Downloader extends java.net.Authenticator - { - protected java.net.PasswordAuthentication getPasswordAuthentication() - { - return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); - } - public static void main( String[] args ) throws Exception - { - setDefault( new Downloader() ); - java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); - } - } - END - # For Cygwin/MinGW, switch paths to Windows format before running javac and java - verbose " - Compiling Downloader.java ..." - "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" - verbose " - Running Downloader.java ..." - "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" -fi + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi -# If specified, validate the SHA-256 sum of the Maven distribution zip file -if [ -n "${distributionSha256Sum-}" ]; then - distributionSha256Result=false - if [ "$MVN_CMD" = mvnd.sh ]; then - echo "Checksum validation is not supported for maven-mvnd." >&2 - echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 - exit 1 - elif command -v sha256sum >/dev/null; then - if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c - >/dev/null 2>&1; then - distributionSha256Result=true + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break fi - elif command -v shasum >/dev/null; then - if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then - distributionSha256Result=true + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` fi - else - echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 - echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 - exit 1 - fi - if [ $distributionSha256Result = false ]; then - echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 - echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 - exit 1 + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" fi -fi +} -# unzip and move -if command -v unzip >/dev/null; then - unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" -else - tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; fi -# Find the actual extracted directory name (handles snapshots where filename != directory name) -actualDistributionDir="" +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi -# First try the expected directory name (for regular distributions) -if [ -d "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" ]; then - if [ -f "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/bin/$MVN_CMD" ]; then - actualDistributionDir="$distributionUrlNameMain" - fi -fi + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi -# If not found, search for any directory with the Maven executable (for snapshots) -if [ -z "$actualDistributionDir" ]; then - # enable globbing to iterate over items - set +f - for dir in "$TMP_DOWNLOAD_DIR"/*; do - if [ -d "$dir" ]; then - if [ -f "$dir/bin/$MVN_CMD" ]; then - actualDistributionDir="$(basename "$dir")" - break - fi + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi fi - done - set -f fi +########################################################################################## +# End of extension +########################################################################################## -if [ -z "$actualDistributionDir" ]; then - verbose "Contents of $TMP_DOWNLOAD_DIR:" - verbose "$(ls -la "$TMP_DOWNLOAD_DIR")" - die "Could not find Maven distribution directory in extracted archive" +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS -verbose "Found extracted Maven distribution directory: $actualDistributionDir" -printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$actualDistributionDir/mvnw.url" -mv -- "$TMP_DOWNLOAD_DIR/$actualDistributionDir" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain -clean || : -exec_maven "$@" +exec "$JAVACMD" \ + $MAVEN_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd index 92450f932..86115719e 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -1,4 +1,3 @@ -<# : batch portion @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @@ -19,171 +18,165 @@ @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- -@REM Apache Maven Wrapper startup batch script, version 3.3.4 +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars -@REM MVNW_REPOURL - repo url base for downloading maven distribution -@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven -@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- -@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) -@SET __MVNW_CMD__= -@SET __MVNW_ERROR__= -@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% -@SET PSModulePath= -@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( - IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + +FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) ) -@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% -@SET __MVNW_PSMODULEP_SAVE= -@SET __MVNW_ARG0_NAME__= -@SET MVNW_USERNAME= -@SET MVNW_PASSWORD= -@IF NOT "%__MVNW_CMD__%"=="" ("%__MVNW_CMD__%" %*) -@echo Cannot start maven from wrapper >&2 && exit /b 1 -@GOTO :EOF -: end batch / begin powershell #> - -$ErrorActionPreference = "Stop" -if ($env:MVNW_VERBOSE -eq "true") { - $VerbosePreference = "Continue" -} - -# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties -$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl -if (!$distributionUrl) { - Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" -} - -switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { - "maven-mvnd-*" { - $USE_MVND = $true - $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" - $MVN_CMD = "mvnd.cmd" - break - } - default { - $USE_MVND = $false - $MVN_CMD = $script -replace '^mvnw','mvn' - break - } -} - -# apply MVNW_REPOURL and calculate MAVEN_HOME -# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ -if ($env:MVNW_REPOURL) { - $MVNW_REPO_PATTERN = if ($USE_MVND -eq $False) { "/org/apache/maven/" } else { "/maven/mvnd/" } - $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace "^.*$MVNW_REPO_PATTERN",'')" -} -$distributionUrlName = $distributionUrl -replace '^.*/','' -$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' - -$MAVEN_M2_PATH = "$HOME/.m2" -if ($env:MAVEN_USER_HOME) { - $MAVEN_M2_PATH = "$env:MAVEN_USER_HOME" -} - -if (-not (Test-Path -Path $MAVEN_M2_PATH)) { - New-Item -Path $MAVEN_M2_PATH -ItemType Directory | Out-Null -} - -$MAVEN_WRAPPER_DISTS = $null -if ((Get-Item $MAVEN_M2_PATH).Target[0] -eq $null) { - $MAVEN_WRAPPER_DISTS = "$MAVEN_M2_PATH/wrapper/dists" -} else { - $MAVEN_WRAPPER_DISTS = (Get-Item $MAVEN_M2_PATH).Target[0] + "/wrapper/dists" -} - -$MAVEN_HOME_PARENT = "$MAVEN_WRAPPER_DISTS/$distributionUrlNameMain" -$MAVEN_HOME_NAME = ([System.Security.Cryptography.SHA256]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' -$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" - -if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { - Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" - Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" - exit $? -} - -if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { - Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" -} - -# prepare tmp dir -$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile -$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" -$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null -trap { - if ($TMP_DOWNLOAD_DIR.Exists) { - try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } - catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } - } -} - -New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null - -# Download and Install Apache Maven -Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." -Write-Verbose "Downloading from: $distributionUrl" -Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" - -$webclient = New-Object System.Net.WebClient -if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { - $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) -} -[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 -$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null - -# If specified, validate the SHA-256 sum of the Maven distribution zip file -$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum -if ($distributionSha256Sum) { - if ($USE_MVND) { - Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." - } - Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash - if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { - Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." - } -} - -# unzip and move -Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null - -# Find the actual extracted directory name (handles snapshots where filename != directory name) -$actualDistributionDir = "" - -# First try the expected directory name (for regular distributions) -$expectedPath = Join-Path "$TMP_DOWNLOAD_DIR" "$distributionUrlNameMain" -$expectedMvnPath = Join-Path "$expectedPath" "bin/$MVN_CMD" -if ((Test-Path -Path $expectedPath -PathType Container) -and (Test-Path -Path $expectedMvnPath -PathType Leaf)) { - $actualDistributionDir = $distributionUrlNameMain -} - -# If not found, search for any directory with the Maven executable (for snapshots) -if (!$actualDistributionDir) { - Get-ChildItem -Path "$TMP_DOWNLOAD_DIR" -Directory | ForEach-Object { - $testPath = Join-Path $_.FullName "bin/$MVN_CMD" - if (Test-Path -Path $testPath -PathType Leaf) { - $actualDistributionDir = $_.Name - } - } -} - -if (!$actualDistributionDir) { - Write-Error "Could not find Maven distribution directory in extracted archive" -} - -Write-Verbose "Found extracted Maven distribution directory: $actualDistributionDir" -Rename-Item -Path "$TMP_DOWNLOAD_DIR/$actualDistributionDir" -NewName $MAVEN_HOME_NAME | Out-Null -try { - Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null -} catch { - if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { - Write-Error "fail to move MAVEN_HOME" - } -} finally { - try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } - catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } -} - -Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%" == "on" pause + +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% + +exit /B %ERROR_CODE% From 4861eaf5a8db1dc3e0679d53ad168772f6388181 Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 10:46:11 -0500 Subject: [PATCH 09/33] Update Maven wrapper --- .mvn/wrapper/MavenWrapperDownloader.java | 117 +++++++++++++++++++++++ .mvn/wrapper/maven-wrapper.jar | Bin 0 -> 50710 bytes 2 files changed, 117 insertions(+) create mode 100644 .mvn/wrapper/MavenWrapperDownloader.java create mode 100644 .mvn/wrapper/maven-wrapper.jar diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java new file mode 100644 index 000000000..b901097f2 --- /dev/null +++ b/.mvn/wrapper/MavenWrapperDownloader.java @@ -0,0 +1,117 @@ +/* + * Copyright 2007-present the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import java.net.*; +import java.io.*; +import java.nio.channels.*; +import java.util.Properties; + +public class MavenWrapperDownloader { + + private static final String WRAPPER_VERSION = "0.5.6"; + /** + * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. + */ + private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" + + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; + + /** + * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to + * use instead of the default one. + */ + private static final String MAVEN_WRAPPER_PROPERTIES_PATH = + ".mvn/wrapper/maven-wrapper.properties"; + + /** + * Path where the maven-wrapper.jar will be saved to. + */ + private static final String MAVEN_WRAPPER_JAR_PATH = + ".mvn/wrapper/maven-wrapper.jar"; + + /** + * Name of the property which should be used to override the default download url for the wrapper. + */ + private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; + + public static void main(String args[]) { + System.out.println("- Downloader started"); + File baseDirectory = new File(args[0]); + System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); + + // If the maven-wrapper.properties exists, read it and check if it contains a custom + // wrapperUrl parameter. + File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); + String url = DEFAULT_DOWNLOAD_URL; + if(mavenWrapperPropertyFile.exists()) { + FileInputStream mavenWrapperPropertyFileInputStream = null; + try { + mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); + Properties mavenWrapperProperties = new Properties(); + mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); + url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); + } catch (IOException e) { + System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); + } finally { + try { + if(mavenWrapperPropertyFileInputStream != null) { + mavenWrapperPropertyFileInputStream.close(); + } + } catch (IOException e) { + // Ignore ... + } + } + } + System.out.println("- Downloading from: " + url); + + File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); + if(!outputFile.getParentFile().exists()) { + if(!outputFile.getParentFile().mkdirs()) { + System.out.println( + "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); + } + } + System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); + try { + downloadFileFromURL(url, outputFile); + System.out.println("Done"); + System.exit(0); + } catch (Throwable e) { + System.out.println("- Error downloading"); + e.printStackTrace(); + System.exit(1); + } + } + + private static void downloadFileFromURL(String urlString, File destination) throws Exception { + if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { + String username = System.getenv("MVNW_USERNAME"); + char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); + Authenticator.setDefault(new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(username, password); + } + }); + } + URL website = new URL(urlString); + ReadableByteChannel rbc; + rbc = Channels.newChannel(website.openStream()); + FileOutputStream fos = new FileOutputStream(destination); + fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); + fos.close(); + rbc.close(); + } + +} diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..2cc7d4a55c0cd0092912bf49ae38b3a9e3fd0054 GIT binary patch literal 50710 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 EfAhh=DF6Tf literal 0 HcmV?d00001 From 021f9fe718a63791ac1e97a3190101ce9858b7f2 Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 13:46:51 -0500 Subject: [PATCH 10/33] Fix cache key --- .../imsweb/staging/StagingDataProvider.java | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/imsweb/staging/StagingDataProvider.java b/src/main/java/com/imsweb/staging/StagingDataProvider.java index a4e34d1e8..6ff8039b2 100644 --- a/src/main/java/com/imsweb/staging/StagingDataProvider.java +++ b/src/main/java/com/imsweb/staging/StagingDataProvider.java @@ -62,8 +62,25 @@ public abstract class StagingDataProvider implements DataProvider { protected Trie _trie; + /** + * SchemaLookup is mutable which is not good when using it as a key in the lookup cache; switch + * to a lookup key made up of the inputs as the cache key + */ + record SchemaLookupKey(Map inputs) { + + public SchemaLookupKey(Map inputs) { + this.inputs = inputs.entrySet().stream() + .filter(e -> e.getKey() != null) // keep keys non-null + .collect(Collectors.toUnmodifiableMap( + Map.Entry::getKey, + e -> e.getValue() == null ? "" : e.getValue() // normalize null values + )); + } + + } + // lookup cache - private final Cache> _lookupCache; + private final Cache> _lookupCache; // site/hist cache private final Cache> _validValuesCache; @@ -88,10 +105,13 @@ protected StagingDataProvider() { _mapper.setVisibility(PropertyAccessor.GETTER, Visibility.ANY); // cache schema lookups - _lookupCache = new Cache2kBuilder>() {} + _lookupCache = new Cache2kBuilder>() {} .entryCapacity(500) .eternal(true) - .loader(this::getSchemas) + .loader(key -> { + SchemaLookup lookup = new SchemaLookup(key.inputs()); + return getSchemas(lookup); + }) .build(); // cache the valid values for certain tables including site and histology @@ -469,7 +489,7 @@ public List lookupSchema(SchemaLookup lookup) { if (lookup.getSite() == null || lookup.getHistology() == null) return getSchemas(lookup); - return _lookupCache.get(lookup); + return _lookupCache.get(new SchemaLookupKey(lookup.getInputs())); } /** From ab716c0d5cc441002a12f64f75e5d5ec7d341f08 Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 13:55:13 -0500 Subject: [PATCH 11/33] Improved logging --- src/test/java/com/imsweb/staging/cs/CsStagingTest.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/imsweb/staging/cs/CsStagingTest.java b/src/test/java/com/imsweb/staging/cs/CsStagingTest.java index 2780ef6b8..d45e3d3d5 100644 --- a/src/test/java/com/imsweb/staging/cs/CsStagingTest.java +++ b/src/test/java/com/imsweb/staging/cs/CsStagingTest.java @@ -41,6 +41,7 @@ import com.imsweb.staging.entities.Table; import com.imsweb.staging.entities.TableRow; import com.imsweb.staging.entities.impl.StagingMetadata; +import com.imsweb.staging.util.Stopwatch; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -819,6 +820,7 @@ void testExpectedOutput() throws IOException, InterruptedException { @Test void testAllValidInputs() throws IOException { + Stopwatch sw = Stopwatch.create(); GZIPInputStream is = new GZIPInputStream(Objects.requireNonNull(Thread.currentThread().getContextClassLoader().getResourceAsStream("cs/test-data/020550/valid_inputs.020550.txt.gz"))); LineNumberReader reader = new LineNumberReader(new InputStreamReader(is, StandardCharsets.UTF_8)); @@ -841,7 +843,7 @@ void testAllValidInputs() throws IOException { line = reader.readLine(); } - _LOG.info("Processed {} lines.", reader.getLineNumber()); + _LOG.info("Processed {} lines in {}.", reader.getLineNumber(), sw); reader.close(); } From b0905c55091611303daf74f95741886239a73c7e Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 14:16:12 -0500 Subject: [PATCH 12/33] Add more provider constructors --- .../ExternalStagingFileDataProvider.java | 25 +++++++++++++ .../ExternalStagingFileDataProviderTest.java | 36 +++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/src/main/java/com/imsweb/staging/ExternalStagingFileDataProvider.java b/src/main/java/com/imsweb/staging/ExternalStagingFileDataProvider.java index cc085105d..eb4b301ef 100644 --- a/src/main/java/com/imsweb/staging/ExternalStagingFileDataProvider.java +++ b/src/main/java/com/imsweb/staging/ExternalStagingFileDataProvider.java @@ -8,6 +8,9 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -44,6 +47,28 @@ public class ExternalStagingFileDataProvider extends StagingDataProvider { private final Map _schemas = new HashMap<>(); private final Map _glossaryTerms = new HashMap<>(); + /** + * Constructor loads all schemas and sets up table cache + * @param zipFilePath full path to algorithm zip file + * @throws IOException exception for file operations + */ + public ExternalStagingFileDataProvider(Path zipFilePath) throws IOException { + super(); + + try (InputStream is = Files.newInputStream(zipFilePath)) { + init(is); + } + } + + /** + * Constructor loads all schemas and sets up table cache + * @param zipFileName full path to algorithm zip file + * @throws IOException exception for file operations + */ + public ExternalStagingFileDataProvider(String zipFileName) throws IOException { + this(Paths.get(zipFileName)); + } + /** * Constructor loads all schemas and sets up table cache * @param is InputStream pointing the zip file diff --git a/src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java b/src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java index 46c2422a1..2f2dc5e8d 100644 --- a/src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java +++ b/src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java @@ -2,8 +2,14 @@ import java.io.IOException; import java.io.InputStream; +import java.nio.file.Path; +import java.nio.file.Paths; import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.AssertionsForClassTypes.assertThatThrownBy; class ExternalStagingFileDataProviderTest extends FileDataProviderTest { @@ -21,4 +27,34 @@ public Staging getStaging() { return _STAGING; } + @Test + void testConstructorWithPath() throws IOException { + Path zipPath = Paths.get("src/test/resources/external_algorithm.zip"); + ExternalStagingFileDataProvider provider = new ExternalStagingFileDataProvider(zipPath); + + assertThat(provider.getAlgorithm()).isNotBlank(); + assertThat(provider.getVersion()).isNotBlank(); + assertThat(provider.getSchemaIds()).isNotEmpty(); + assertThat(provider.getTableIds()).isNotEmpty(); + } + + @Test + void testConstructorWithString() throws IOException { + String zipFileName = "src/test/resources/external_algorithm.zip"; + ExternalStagingFileDataProvider provider = new ExternalStagingFileDataProvider(zipFileName); + + assertThat(provider.getAlgorithm()).isNotBlank(); + assertThat(provider.getVersion()).isNotBlank(); + assertThat(provider.getSchemaIds()).isNotEmpty(); + assertThat(provider.getTableIds()).isNotEmpty(); + } + + @Test + void testInvalidPathThrowsException() { + Path invalidPath = Paths.get("src/test/resources/missing.zip"); + assertThatThrownBy(() -> new ExternalStagingFileDataProvider(invalidPath)) + .isInstanceOf(IOException.class) + .hasMessageContaining("missing.zip"); + } + } \ No newline at end of file From 41dd39dcf972694da28e9d3d62d2cd2081ee03da Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 14:22:00 -0500 Subject: [PATCH 13/33] Fix Spotbugs --- config/spotbugs/spotbugs-exclude.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/spotbugs/spotbugs-exclude.xml b/config/spotbugs/spotbugs-exclude.xml index 9f5221856..308ba3227 100644 --- a/config/spotbugs/spotbugs-exclude.xml +++ b/config/spotbugs/spotbugs-exclude.xml @@ -23,6 +23,10 @@ + + + + From 0e044c796193341e3cae03c67d1b2ff9312b5700 Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 14:28:10 -0500 Subject: [PATCH 14/33] Plugin updates --- pom.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 355ed7853..9cab924ab 100644 --- a/pom.xml +++ b/pom.xml @@ -159,7 +159,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.13.0 + 3.14.1 ${maven.compiler.release} @@ -168,7 +168,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.3.1 + 3.5.4 false @@ -177,7 +177,7 @@ org.apache.maven.plugins maven-jar-plugin - 3.4.1 + 3.5.0 @@ -204,7 +204,7 @@ com.github.spotbugs spotbugs-maven-plugin - 4.9.3.0 + 4.9.8.1 config/spotbugs/spotbugs-exclude.xml @@ -241,7 +241,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.10.0 + 3.12.0 all,-missing @@ -258,7 +258,7 @@ org.codehaus.mojo versions-maven-plugin - 2.16.2 + 2.19.1 .*-M.*,.*-alpha.*,.*-beta.* From 74aee836655bfb28c2c34e964b35f69359b6d6ad Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 15:35:07 -0500 Subject: [PATCH 15/33] Switch to algorithm zip files --- .github/workflows/upload-algorithms.yml | 8 +- .../staging/StagingFileDataProvider.java | 235 -- .../com/imsweb/staging/cs/CsDataProvider.java | 54 - .../imsweb/staging/eod/EodDataProvider.java | 54 - .../pediatric/PediatricDataProvider.java | 54 - .../imsweb/staging/tnm/TnmDataProvider.java | 55 - .../com/imsweb/staging/AlgorithmZipUtils.java | 36 - .../staging/StagingFileDataProviderTest.java | 19 - .../java/com/imsweb/staging/StagingTest.java | 24 +- .../imsweb/staging/cs/CsIntegrationTest.java | 11 +- .../com/imsweb/staging/cs/CsStagingTest.java | 27 +- .../imsweb/staging/eod/EodStagingTest.java | 45 +- .../pediatric/PediatricStagingTest.java | 34 +- .../pediatric/PediatricUpdateFromAPI.java | 4 +- .../imsweb/staging/tnm/TnmStagingTest.java | 32 +- .../imsweb/staging/updater/UpdaterUtils.java | 4 +- src/test/resources/algorithms/cs-02.05.50.zip | Bin 0 -> 2523473 bytes .../schemas/adnexa_uterine_other.json | 1120 ------ .../cs/02.05.50/schemas/adrenal_gland.json | 1156 ------- .../cs/02.05.50/schemas/ampulla_vater.json | 1207 ------- .../algorithms/cs/02.05.50/schemas/anus.json | 1209 ------- .../cs/02.05.50/schemas/appendix.json | 1210 ------- .../02.05.50/schemas/bile_ducts_distal.json | 1216 ------- .../schemas/bile_ducts_intrahepat.json | 1208 ------- .../schemas/bile_ducts_perihilar.json | 1215 ------- .../cs/02.05.50/schemas/biliary_other.json | 1171 ------- .../cs/02.05.50/schemas/bladder.json | 1214 ------- .../algorithms/cs/02.05.50/schemas/bone.json | 1207 ------- .../algorithms/cs/02.05.50/schemas/brain.json | 1155 ------- .../cs/02.05.50/schemas/breast.json | 1205 ------- .../cs/02.05.50/schemas/buccal_mucosa.json | 1206 ------- .../02.05.50/schemas/carcinoid_appendix.json | 1208 ------- .../cs/02.05.50/schemas/cervix.json | 1202 ------- .../cs/02.05.50/schemas/cns_other.json | 1155 ------- .../algorithms/cs/02.05.50/schemas/colon.json | 1207 ------- .../cs/02.05.50/schemas/conjunctiva.json | 1209 ------- .../02.05.50/schemas/corpus_adenosarcoma.json | 1208 ------- .../cs/02.05.50/schemas/corpus_carcinoma.json | 1208 ------- .../cs/02.05.50/schemas/corpus_sarcoma.json | 1208 ------- .../cs/02.05.50/schemas/cystic_duct.json | 1219 ------- .../cs/02.05.50/schemas/digestive_other.json | 1120 ------ .../cs/02.05.50/schemas/endocrine_other.json | 1119 ------ .../02.05.50/schemas/epiglottis_anterior.json | 1206 ------- .../cs/02.05.50/schemas/esophagus.json | 1206 ------- .../schemas/esophagus_gejunction.json | 1216 ------- .../cs/02.05.50/schemas/eye_other.json | 1120 ------ .../cs/02.05.50/schemas/fallopian_tube.json | 1208 ------- .../cs/02.05.50/schemas/floor_mouth.json | 1206 ------- .../cs/02.05.50/schemas/gallbladder.json | 1208 ------- .../schemas/genital_female_other.json | 1120 ------ .../02.05.50/schemas/genital_male_other.json | 1120 ------ .../cs/02.05.50/schemas/gist_appendix.json | 1158 ------- .../cs/02.05.50/schemas/gist_colon.json | 1158 ------- .../cs/02.05.50/schemas/gist_esophagus.json | 1160 ------- .../cs/02.05.50/schemas/gist_peritoneum.json | 1211 ------- .../cs/02.05.50/schemas/gist_rectum.json | 1158 ------- .../schemas/gist_small_intestine.json | 1160 ------- .../cs/02.05.50/schemas/gist_stomach.json | 1159 ------- .../cs/02.05.50/schemas/gum_lower.json | 1206 ------- .../cs/02.05.50/schemas/gum_other.json | 1206 ------- .../cs/02.05.50/schemas/gum_upper.json | 1206 ------- .../02.05.50/schemas/heart_mediastinum.json | 1212 ------- .../cs/02.05.50/schemas/heme_retic.json | 1120 ------ .../cs/02.05.50/schemas/hypopharynx.json | 1207 ------- .../algorithms/cs/02.05.50/schemas/ids.txt | 153 - .../02.05.50/schemas/ill_defined_other.json | 1120 ------ .../02.05.50/schemas/intracranial_gland.json | 1119 ------ .../cs/02.05.50/schemas/kaposi_sarcoma.json | 1117 ------ .../02.05.50/schemas/kidney_parenchyma.json | 1208 ------- .../02.05.50/schemas/kidney_renal_pelvis.json | 1210 ------- .../cs/02.05.50/schemas/lacrimal_gland.json | 1214 ------- .../cs/02.05.50/schemas/lacrimal_sac.json | 1176 ------- .../cs/02.05.50/schemas/larynx_glottic.json | 1206 ------- .../cs/02.05.50/schemas/larynx_other.json | 1206 ------- .../02.05.50/schemas/larynx_subglottic.json | 1206 ------- .../02.05.50/schemas/larynx_supraglottic.json | 1206 ------- .../cs/02.05.50/schemas/lip_lower.json | 1207 ------- .../cs/02.05.50/schemas/lip_other.json | 1207 ------- .../cs/02.05.50/schemas/lip_upper.json | 1207 ------- .../algorithms/cs/02.05.50/schemas/liver.json | 1210 ------- .../algorithms/cs/02.05.50/schemas/lung.json | 1186 ------- .../cs/02.05.50/schemas/lymphoma.json | 1137 ------- .../schemas/lymphoma_ocular_adnexa.json | 1140 ------- .../schemas/melanoma_buccal_mucosa.json | 1155 ------- .../cs/02.05.50/schemas/melanoma_choroid.json | 1156 ------- .../schemas/melanoma_ciliary_body.json | 1165 ------- .../schemas/melanoma_conjunctiva.json | 1158 ------- .../schemas/melanoma_epiglottis_anterior.json | 1155 ------- .../02.05.50/schemas/melanoma_eye_other.json | 1120 ------ .../schemas/melanoma_floor_mouth.json | 1155 ------- .../02.05.50/schemas/melanoma_gum_lower.json | 1155 ------- .../02.05.50/schemas/melanoma_gum_other.json | 1155 ------- .../02.05.50/schemas/melanoma_gum_upper.json | 1155 ------- .../schemas/melanoma_hypopharynx.json | 1155 ------- .../cs/02.05.50/schemas/melanoma_iris.json | 1164 ------- .../schemas/melanoma_larynx_glottic.json | 1155 ------- .../schemas/melanoma_larynx_other.json | 1155 ------- .../schemas/melanoma_larynx_subglottic.json | 1155 ------- .../schemas/melanoma_larynx_supraglottic.json | 1155 ------- .../02.05.50/schemas/melanoma_lip_lower.json | 1156 ------- .../02.05.50/schemas/melanoma_lip_other.json | 1156 ------- .../02.05.50/schemas/melanoma_lip_upper.json | 1156 ------- .../schemas/melanoma_mouth_other.json | 1155 ------- .../schemas/melanoma_nasal_cavity.json | 1155 ------- .../schemas/melanoma_nasopharynx.json | 1155 ------- .../02.05.50/schemas/melanoma_oropharynx.json | 1155 ------- .../schemas/melanoma_palate_hard.json | 1155 ------- .../schemas/melanoma_palate_soft.json | 1155 ------- .../schemas/melanoma_pharynx_other.json | 1155 ------- .../schemas/melanoma_sinus_ethmoid.json | 1155 ------- .../schemas/melanoma_sinus_maxillary.json | 1155 ------- .../schemas/melanoma_sinus_other.json | 1155 ------- .../cs/02.05.50/schemas/melanoma_skin.json | 1157 ------- .../schemas/melanoma_tongue_anterior.json | 1155 ------- .../schemas/melanoma_tongue_base.json | 1155 ------- .../02.05.50/schemas/merkel_cell_penis.json | 1207 ------- .../02.05.50/schemas/merkel_cell_scrotum.json | 1207 ------- .../cs/02.05.50/schemas/merkel_cell_skin.json | 1207 ------- .../02.05.50/schemas/merkel_cell_vulva.json | 1207 ------- .../cs/02.05.50/schemas/middle_ear.json | 1167 ------- .../cs/02.05.50/schemas/mouth_other.json | 1206 ------- .../02.05.50/schemas/mycosis_fungoides.json | 1217 ------- .../schemas/myeloma_plasma_cell_disorder.json | 1116 ------ .../cs/02.05.50/schemas/nasal_cavity.json | 1206 ------- .../cs/02.05.50/schemas/nasopharynx.json | 1216 ------- .../cs/02.05.50/schemas/net_ampulla.json | 1209 ------- .../cs/02.05.50/schemas/net_colon.json | 1208 ------- .../cs/02.05.50/schemas/net_rectum.json | 1208 ------- .../02.05.50/schemas/net_small_intestine.json | 1209 ------- .../cs/02.05.50/schemas/net_stomach.json | 1209 ------- .../algorithms/cs/02.05.50/schemas/orbit.json | 1210 ------- .../cs/02.05.50/schemas/oropharynx.json | 1207 ------- .../algorithms/cs/02.05.50/schemas/ovary.json | 1208 ------- .../cs/02.05.50/schemas/palate_hard.json | 1206 ------- .../cs/02.05.50/schemas/palate_soft.json | 1207 ------- .../02.05.50/schemas/pancreas_body_tail.json | 1207 ------- .../cs/02.05.50/schemas/pancreas_head.json | 1207 ------- .../cs/02.05.50/schemas/pancreas_other.json | 1207 ------- .../cs/02.05.50/schemas/parotid_gland.json | 1207 ------- .../algorithms/cs/02.05.50/schemas/penis.json | 1207 ------- .../cs/02.05.50/schemas/peritoneum.json | 1220 ------- .../schemas/peritoneum_female_gen.json | 1217 ------- .../02.05.50/schemas/pharyngeal_tonsil.json | 1216 ------- .../cs/02.05.50/schemas/pharynx_other.json | 1168 ------- .../cs/02.05.50/schemas/placenta.json | 1210 ------- .../cs/02.05.50/schemas/pleura.json | 1207 ------- .../cs/02.05.50/schemas/prostate.json | 1190 ------- .../cs/02.05.50/schemas/rectum.json | 1207 ------- .../02.05.50/schemas/respiratory_other.json | 1120 ------ .../cs/02.05.50/schemas/retinoblastoma.json | 1142 ------- .../cs/02.05.50/schemas/retroperitoneum.json | 1211 ------- .../schemas/salivary_gland_other.json | 1207 ------- .../cs/02.05.50/schemas/scrotum.json | 1208 ------- .../cs/02.05.50/schemas/sinus_ethmoid.json | 1206 ------- .../cs/02.05.50/schemas/sinus_maxillary.json | 1206 ------- .../cs/02.05.50/schemas/sinus_other.json | 1116 ------ .../algorithms/cs/02.05.50/schemas/skin.json | 1209 ------- .../cs/02.05.50/schemas/skin_eyelid.json | 1198 ------- .../cs/02.05.50/schemas/small_intestine.json | 1208 ------- .../cs/02.05.50/schemas/soft_tissue.json | 1212 ------- .../cs/02.05.50/schemas/stomach.json | 1215 ------- .../02.05.50/schemas/submandibular_gland.json | 1207 ------- .../cs/02.05.50/schemas/testis.json | 1228 ------- .../cs/02.05.50/schemas/thyroid.json | 1202 ------- .../cs/02.05.50/schemas/tongue_anterior.json | 1206 ------- .../cs/02.05.50/schemas/tongue_base.json | 1207 ------- .../cs/02.05.50/schemas/trachea.json | 1120 ------ .../cs/02.05.50/schemas/urethra.json | 1210 ------- .../cs/02.05.50/schemas/urinary_other.json | 1120 ------ .../cs/02.05.50/schemas/vagina.json | 1210 ------- .../algorithms/cs/02.05.50/schemas/vulva.json | 1206 ------- .../02.05.50/tables/ajcc6_exclusions_paa.json | 23 - .../02.05.50/tables/ajcc6_exclusions_pab.json | 23 - .../02.05.50/tables/ajcc6_exclusions_pac.json | 23 - .../02.05.50/tables/ajcc6_exclusions_pad.json | 23 - .../02.05.50/tables/ajcc6_exclusions_pae.json | 23 - .../02.05.50/tables/ajcc6_exclusions_paf.json | 23 - .../02.05.50/tables/ajcc6_exclusions_pag.json | 23 - .../02.05.50/tables/ajcc6_exclusions_paj.json | 23 - .../02.05.50/tables/ajcc6_exclusions_pak.json | 23 - .../02.05.50/tables/ajcc6_exclusions_pam.json | 23 - .../02.05.50/tables/ajcc6_exclusions_pan.json | 23 - .../02.05.50/tables/ajcc6_exclusions_ppb.json | 23 - .../02.05.50/tables/ajcc6_exclusions_ppc.json | 23 - .../02.05.50/tables/ajcc6_exclusions_ppd.json | 23 - .../02.05.50/tables/ajcc6_exclusions_ppe.json | 23 - .../cs/02.05.50/tables/ajcc6_m_codes.json | 22 - .../cs/02.05.50/tables/ajcc6_n_codes.json | 22 - .../cs/02.05.50/tables/ajcc6_stage_codes.json | 22 - .../tables/ajcc6_stage_not_ewing_qai.json | 30 - .../cs/02.05.50/tables/ajcc6_stage_qab.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qac.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qad.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qag.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qah.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qaj.json | 27 - .../tables/ajcc6_stage_qaj_grade.json | 19 - .../cs/02.05.50/tables/ajcc6_stage_qak.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qal.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qam.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qao.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qar.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qas.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qat.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qau.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qav.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qaw.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qax.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qaz.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qbb.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qbh.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qbi.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qbj.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qbk.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qbl.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qbq.json | 30 - .../cs/02.05.50/tables/ajcc6_stage_qbr.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qbv.json | 30 - .../cs/02.05.50/tables/ajcc6_stage_qcb.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qcc.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qcd.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qdx.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qdy.json | 30 - .../cs/02.05.50/tables/ajcc6_stage_qea.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qna.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qnb.json | 27 - .../cs/02.05.50/tables/ajcc6_stage_qpb.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qpf.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qpi.json | 30 - .../cs/02.05.50/tables/ajcc6_stage_qpj.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qpk.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qpl.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qpn.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qpo.json | 22 - .../cs/02.05.50/tables/ajcc6_stage_qpp.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qpq.json | 30 - .../cs/02.05.50/tables/ajcc6_stage_qpr.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qps.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qpt.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qpu.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qpv.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qpw.json | 26 - .../cs/02.05.50/tables/ajcc6_stage_qpx.json | 26 - .../cs/02.05.50/tables/ajcc6_t_codes.json | 22 - .../tables/ajcc6_year_validation.json | 18 - .../02.05.50/tables/ajcc7_inclusions_tab.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tae.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpa.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpb.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpc.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpe.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpf.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpg.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tph.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpi.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpj.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpk.json | 18 - .../02.05.50/tables/ajcc7_inclusions_tpl.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpm.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpn.json | 18 - .../02.05.50/tables/ajcc7_inclusions_tpo.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpp.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpq.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpr.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tps.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpt.json | 18 - .../02.05.50/tables/ajcc7_inclusions_tpv.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpw.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpx.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpy.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tpz.json | 15 - .../02.05.50/tables/ajcc7_inclusions_tqa.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tqb.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tqc.json | 18 - .../02.05.50/tables/ajcc7_inclusions_tqf.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tqg.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tqh.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tqi.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tqj.json | 14 - .../02.05.50/tables/ajcc7_inclusions_tqk.json | 18 - .../02.05.50/tables/ajcc7_inclusions_tql.json | 18 - .../02.05.50/tables/ajcc7_inclusions_tqm.json | 18 - .../02.05.50/tables/ajcc7_inclusions_tqn.json | 14 - .../cs/02.05.50/tables/ajcc7_m_codes.json | 22 - .../cs/02.05.50/tables/ajcc7_n_codes.json | 22 - .../cs/02.05.50/tables/ajcc7_stage_codes.json | 22 - .../tables/ajcc7_stage_not_ewing_ube.json | 30 - .../cs/02.05.50/tables/ajcc7_stage_uaa.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uab.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uac.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uad.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uae.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uaf.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uag.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uak.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ual.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uam.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uao.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uap.json | 30 - .../cs/02.05.50/tables/ajcc7_stage_uaq.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uar.json | 30 - .../cs/02.05.50/tables/ajcc7_stage_uau.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uav.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uaw.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uax.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uay.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uaz.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uba.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubb.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubc.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubd.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubf.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubg.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubh.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubi.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubj.json | 30 - .../cs/02.05.50/tables/ajcc7_stage_ubk.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubl.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubm.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubn.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubp.json | 34 - .../cs/02.05.50/tables/ajcc7_stage_ubq.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubs.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubt.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubu.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_ubv.json | 30 - .../cs/02.05.50/tables/ajcc7_stage_ubw.json | 22 - .../cs/02.05.50/tables/ajcc7_stage_ubx.json | 30 - .../cs/02.05.50/tables/ajcc7_stage_uby.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_una.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_unb.json | 27 - .../cs/02.05.50/tables/ajcc7_stage_upm.json | 30 - .../cs/02.05.50/tables/ajcc7_stage_ups.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_upt.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_upu.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_upv.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_upw.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_upx.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_upy.json | 30 - .../cs/02.05.50/tables/ajcc7_stage_upz.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uqa.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uqb.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uqc.json | 26 - .../cs/02.05.50/tables/ajcc7_stage_uqd.json | 30 - .../cs/02.05.50/tables/ajcc7_stage_uqe.json | 30 - .../cs/02.05.50/tables/ajcc7_t_codes.json | 22 - .../tables/ajcc7_year_validation.json | 18 - .../tables/ajcc_descriptor_codes.json | 22 - .../tables/ajcc_mdescriptor_cleanup.json | 30 - .../tables/ajcc_ndescriptor_cleanup.json | 30 - .../tables/ajcc_tdescriptor_cleanup.json | 30 - .../tables/ajcc_tnm6_stage_csv1_xie.json | 22 - .../tables/ajcctnm6_stage_csv1_xpz.json | 31 - ...ajcctnm6_stage_thyroid_anaplastic_xcg.json | 26 - .../ajcctnm6_stage_thyroid_medullary_xcf.json | 26 - ...laryand_follicular_age45and_older_xco.json | 26 - .../tables/ajcctnm6and7_stage_ewing_xho.json | 26 - .../ajcctnm7_stage_adenocarcinoma_xhz.json | 30 - .../ajcctnm7_stage_adenocarcinoma_xib.json | 30 - .../ajcctnm7_stage_giststomach_xit.json | 30 - .../tables/ajcctnm7_stage_squamous_xhy.json | 34 - .../tables/ajcctnm7_stage_squamous_xia.json | 30 - ...ajcctnm7_stage_thyroid_anaplastic_xdz.json | 26 - .../ajcctnm7_stage_thyroid_medullary_xdy.json | 26 - ...laryand_follicular_age45and_older_xdx.json | 26 - .../cs/02.05.50/tables/behavior.json | 18 - ...al_eval_extension_quadrants_ajcc7_xca.json | 31 - ...al_eval_extension_thickness_ajcc6_xbw.json | 27 - ...yearof_diagnosis_greater_than2009_xiy.json | 23 - ...or_yearof_diagnosis_less_than2010_xiz.json | 23 - .../tables/cs_input_version_original.json | 14 - .../02.05.50/tables/cs_year_validation.json | 22 - ...csextension_size_tablefor_ajcc6th_xba.json | 23 - ...ermine_correct_table_for_ajcc6_m_ns29.json | 18 - ...termine_correct_table_for_ajcc6_m_ns4.json | 22 - ...ne_correct_table_for_ajcc6_meval_ns30.json | 22 - ...termine_correct_table_for_ajcc6_n_ns1.json | 18 - ...ermine_correct_table_for_ajcc6_n_ns10.json | 18 - ...ermine_correct_table_for_ajcc6_n_ns13.json | 18 - ...ermine_correct_table_for_ajcc6_n_ns22.json | 18 - ...ermine_correct_table_for_ajcc6_n_ns23.json | 18 - ...ermine_correct_table_for_ajcc6_n_ns24.json | 18 - ...ermine_correct_table_for_ajcc6_n_ns26.json | 18 - ...termine_correct_table_for_ajcc6_n_ns3.json | 18 - ...ermine_correct_table_for_ajcc6_n_ns41.json | 18 - ...termine_correct_table_for_ajcc6_n_ns8.json | 18 - ...termine_correct_table_for_ajcc6_n_ns9.json | 18 - ...ne_correct_table_for_ajcc6_neval_ns31.json | 22 - ...mine_correct_table_for_ajcc6_stg_ns15.json | 18 - ...mine_correct_table_for_ajcc6_stg_ns37.json | 22 - ...ermine_correct_table_for_ajcc6_t_ns16.json | 22 - ...ermine_correct_table_for_ajcc6_t_ns33.json | 22 - ...ermine_correct_table_for_ajcc6_t_ns34.json | 22 - ...ermine_correct_table_for_ajcc6_t_ns39.json | 26 - ...termine_correct_table_for_ajcc6_t_ns6.json | 22 - ...termine_correct_table_for_ajcc6_t_ns7.json | 22 - ...rmine_correct_table_for_ajcc6_tm_ns44.json | 22 - ...rmine_correct_table_for_ajcc6_tm_ns47.json | 22 - ...ermine_correct_table_for_ajcc7_n_ns11.json | 22 - ...ermine_correct_table_for_ajcc7_n_ns12.json | 22 - ...ermine_correct_table_for_ajcc7_n_ns14.json | 22 - ...ermine_correct_table_for_ajcc7_n_ns18.json | 18 - ...ermine_correct_table_for_ajcc7_n_ns19.json | 18 - ...termine_correct_table_for_ajcc7_n_ns2.json | 22 - ...ermine_correct_table_for_ajcc7_n_ns20.json | 18 - ...ermine_correct_table_for_ajcc7_n_ns21.json | 18 - ...ermine_correct_table_for_ajcc7_n_ns25.json | 22 - ...ermine_correct_table_for_ajcc7_n_ns27.json | 22 - ...ermine_correct_table_for_ajcc7_n_ns40.json | 18 - ...termine_correct_table_for_ajcc7_n_ns5.json | 22 - ...ermine_correct_table_for_ajcc7_t_ns17.json | 22 - ...ermine_correct_table_for_ajcc7_t_ns32.json | 22 - ...ermine_correct_table_for_ajcc7_t_ns38.json | 18 - ...ermine_correct_table_for_ajcc7_t_ns43.json | 18 - .../determine_correct_table_for_m_ns48.json | 22 - .../determine_correct_table_for_n_ns35.json | 18 - .../determine_correct_table_for_s_ns36.json | 22 - ...etermine_correct_table_for_ss00t_ns46.json | 22 - ...etermine_correct_table_for_ss77t_ns45.json | 22 - .../determine_correct_table_for_t_ns28.json | 18 - .../determine_validity_for_ajcc6_ns50.json | 26 - .../determine_validity_for_ajcc7_ns42.json | 26 - .../tables/eval_extension_t3_ajcc7_xgh.json | 23 - .../cs/02.05.50/tables/extension_baa.json | 36 - .../cs/02.05.50/tables/extension_bab.json | 36 - .../cs/02.05.50/tables/extension_bac.json | 36 - .../cs/02.05.50/tables/extension_bad.json | 35 - .../cs/02.05.50/tables/extension_bae.json | 36 - .../cs/02.05.50/tables/extension_baf.json | 36 - .../cs/02.05.50/tables/extension_bag.json | 36 - .../cs/02.05.50/tables/extension_bah.json | 36 - .../cs/02.05.50/tables/extension_bai.json | 36 - .../cs/02.05.50/tables/extension_baj.json | 36 - .../cs/02.05.50/tables/extension_bak.json | 36 - .../cs/02.05.50/tables/extension_bal.json | 35 - .../cs/02.05.50/tables/extension_bam.json | 36 - .../cs/02.05.50/tables/extension_ban.json | 36 - .../cs/02.05.50/tables/extension_bao.json | 35 - .../cs/02.05.50/tables/extension_bap.json | 36 - .../cs/02.05.50/tables/extension_baq.json | 36 - .../cs/02.05.50/tables/extension_bar.json | 36 - .../cs/02.05.50/tables/extension_bas.json | 35 - .../cs/02.05.50/tables/extension_bat.json | 35 - .../cs/02.05.50/tables/extension_bau.json | 35 - .../cs/02.05.50/tables/extension_bav.json | 35 - .../cs/02.05.50/tables/extension_baw.json | 35 - .../cs/02.05.50/tables/extension_bax.json | 35 - .../cs/02.05.50/tables/extension_bay.json | 35 - .../cs/02.05.50/tables/extension_baz.json | 36 - .../cs/02.05.50/tables/extension_bba.json | 36 - .../cs/02.05.50/tables/extension_bbb.json | 35 - .../cs/02.05.50/tables/extension_bbc.json | 36 - .../cs/02.05.50/tables/extension_bbd.json | 35 - .../cs/02.05.50/tables/extension_bbe.json | 35 - .../cs/02.05.50/tables/extension_bbf.json | 35 - .../cs/02.05.50/tables/extension_bbg.json | 35 - .../cs/02.05.50/tables/extension_bbh.json | 35 - .../cs/02.05.50/tables/extension_bbi.json | 36 - .../cs/02.05.50/tables/extension_bbj.json | 36 - .../cs/02.05.50/tables/extension_bbk.json | 36 - .../cs/02.05.50/tables/extension_bbl.json | 36 - .../cs/02.05.50/tables/extension_bbm.json | 35 - .../cs/02.05.50/tables/extension_bbn.json | 35 - .../cs/02.05.50/tables/extension_bbo.json | 36 - .../cs/02.05.50/tables/extension_bbp.json | 36 - .../cs/02.05.50/tables/extension_bbq.json | 36 - .../cs/02.05.50/tables/extension_bbr.json | 36 - .../cs/02.05.50/tables/extension_bbs.json | 36 - .../cs/02.05.50/tables/extension_bbt.json | 36 - .../cs/02.05.50/tables/extension_bbu.json | 36 - .../cs/02.05.50/tables/extension_bbv.json | 36 - .../cs/02.05.50/tables/extension_bbx.json | 36 - .../cs/02.05.50/tables/extension_bby.json | 36 - .../cs/02.05.50/tables/extension_bbz.json | 36 - .../cs/02.05.50/tables/extension_bca.json | 36 - .../cs/02.05.50/tables/extension_bcb.json | 35 - .../cs/02.05.50/tables/extension_bcc.json | 35 - .../cs/02.05.50/tables/extension_bcd.json | 34 - .../cs/02.05.50/tables/extension_bce.json | 34 - .../cs/02.05.50/tables/extension_bcf.json | 34 - .../cs/02.05.50/tables/extension_bcg.json | 35 - .../cs/02.05.50/tables/extension_bch.json | 36 - .../cs/02.05.50/tables/extension_bci.json | 35 - .../cs/02.05.50/tables/extension_bcj.json | 35 - .../cs/02.05.50/tables/extension_bcl.json | 34 - .../cs/02.05.50/tables/extension_bcm.json | 34 - .../cs/02.05.50/tables/extension_bcn.json | 34 - .../cs/02.05.50/tables/extension_bco.json | 34 - .../cs/02.05.50/tables/extension_bcp.json | 35 - .../cs/02.05.50/tables/extension_bcq.json | 35 - .../cs/02.05.50/tables/extension_bcr.json | 34 - .../cs/02.05.50/tables/extension_bcs.json | 36 - .../cs/02.05.50/tables/extension_bct.json | 36 - .../cs/02.05.50/tables/extension_bcu.json | 36 - .../cs/02.05.50/tables/extension_bcv.json | 36 - .../cs/02.05.50/tables/extension_bcw.json | 35 - .../cs/02.05.50/tables/extension_bcx.json | 34 - .../cs/02.05.50/tables/extension_bcy.json | 35 - .../cs/02.05.50/tables/extension_bda.json | 36 - .../cs/02.05.50/tables/extension_bdc.json | 36 - .../cs/02.05.50/tables/extension_bdd.json | 35 - .../cs/02.05.50/tables/extension_bde.json | 35 - .../cs/02.05.50/tables/extension_bdf.json | 36 - .../cs/02.05.50/tables/extension_bdg.json | 36 - .../cs/02.05.50/tables/extension_bdh.json | 36 - .../cs/02.05.50/tables/extension_bdi.json | 35 - .../cs/02.05.50/tables/extension_bdj.json | 36 - .../cs/02.05.50/tables/extension_bdk.json | 35 - .../cs/02.05.50/tables/extension_bdl.json | 36 - .../cs/02.05.50/tables/extension_bdm.json | 36 - .../cs/02.05.50/tables/extension_bdn.json | 36 - .../cs/02.05.50/tables/extension_bdo.json | 36 - .../cs/02.05.50/tables/extension_bdp.json | 36 - .../cs/02.05.50/tables/extension_bdr.json | 35 - .../cs/02.05.50/tables/extension_bds.json | 36 - .../cs/02.05.50/tables/extension_bdt.json | 35 - .../cs/02.05.50/tables/extension_bdu.json | 36 - .../cs/02.05.50/tables/extension_bdv.json | 35 - .../cs/02.05.50/tables/extension_bdw.json | 35 - .../cs/02.05.50/tables/extension_bdx.json | 35 - .../cs/02.05.50/tables/extension_bdy.json | 35 - .../cs/02.05.50/tables/extension_beb.json | 35 - .../cs/02.05.50/tables/extension_bed.json | 35 - .../cs/02.05.50/tables/extension_bee.json | 35 - .../cs/02.05.50/tables/extension_bef.json | 35 - .../cs/02.05.50/tables/extension_beg.json | 35 - .../cs/02.05.50/tables/extension_beh.json | 35 - .../tables/extension_behavior_xci.json | 27 - .../cs/02.05.50/tables/extension_bei.json | 35 - .../cs/02.05.50/tables/extension_bej.json | 35 - .../cs/02.05.50/tables/extension_bek.json | 35 - .../cs/02.05.50/tables/extension_bel.json | 35 - .../cs/02.05.50/tables/extension_bem.json | 35 - .../cs/02.05.50/tables/extension_ben.json | 35 - .../cs/02.05.50/tables/extension_beo.json | 35 - .../cs/02.05.50/tables/extension_bep.json | 35 - .../cs/02.05.50/tables/extension_beq.json | 35 - .../cs/02.05.50/tables/extension_ber.json | 35 - .../cs/02.05.50/tables/extension_bes.json | 35 - .../cs/02.05.50/tables/extension_bet.json | 35 - .../cs/02.05.50/tables/extension_bev.json | 35 - .../cs/02.05.50/tables/extension_bew.json | 35 - .../cs/02.05.50/tables/extension_bex.json | 35 - .../cs/02.05.50/tables/extension_bey.json | 36 - .../cs/02.05.50/tables/extension_bez.json | 36 - .../cs/02.05.50/tables/extension_bfa.json | 36 - .../cs/02.05.50/tables/extension_bfc.json | 36 - .../cs/02.05.50/tables/extension_bfd.json | 36 - .../cs/02.05.50/tables/extension_bfe.json | 36 - .../cs/02.05.50/tables/extension_bff.json | 36 - .../cs/02.05.50/tables/extension_bfg.json | 35 - .../cs/02.05.50/tables/extension_bfh.json | 36 - .../cs/02.05.50/tables/extension_bfi.json | 36 - .../cs/02.05.50/tables/extension_bfj.json | 36 - .../cs/02.05.50/tables/extension_bfk.json | 36 - .../cs/02.05.50/tables/extension_bfl.json | 36 - .../cs/02.05.50/tables/extension_bfm.json | 36 - .../cs/02.05.50/tables/extension_bfn.json | 36 - .../cs/02.05.50/tables/extension_bfo.json | 36 - .../cs/02.05.50/tables/extension_bfp.json | 36 - .../cs/02.05.50/tables/extension_bfq.json | 36 - .../cs/02.05.50/tables/extension_bfr.json | 35 - .../cs/02.05.50/tables/extension_bfs.json | 35 - .../cs/02.05.50/tables/extension_bft.json | 35 - .../cs/02.05.50/tables/extension_bfu.json | 36 - .../cs/02.05.50/tables/extension_bfv.json | 36 - .../cs/02.05.50/tables/extension_bfw.json | 35 - .../cs/02.05.50/tables/extension_bfx.json | 36 - .../cs/02.05.50/tables/extension_bfy.json | 34 - .../cs/02.05.50/tables/extension_bfz.json | 36 - .../cs/02.05.50/tables/extension_bga.json | 36 - .../cs/02.05.50/tables/extension_bgb.json | 36 - .../cs/02.05.50/tables/extension_bgc.json | 35 - .../cs/02.05.50/tables/extension_bna.json | 34 - .../cs/02.05.50/tables/extension_bpb.json | 34 - .../cs/02.05.50/tables/extension_btb.json | 36 - ...tension_cytology_ajcc6_table_csv1_xkn.json | 24 - ...tension_cytology_ajcc6_table_csv1_xko.json | 23 - ...tension_cytology_ajcc6_table_csv2_xkm.json | 24 - ...tension_cytology_ajcc6_table_csv2_xkq.json | 23 - .../extension_cytology_summary_stage_xkl.json | 23 - .../extension_cytology_summary_stage_xkp.json | 23 - .../extension_cytology_summary_stage_xqa.json | 23 - .../02.05.50/tables/extension_eval_6_cab.json | 23 - .../02.05.50/tables/extension_eval_6_cac.json | 23 - .../02.05.50/tables/extension_eval_cab.json | 23 - .../02.05.50/tables/extension_eval_cac.json | 23 - .../02.05.50/tables/extension_eval_cae.json | 26 - .../02.05.50/tables/extension_eval_caf.json | 23 - .../02.05.50/tables/extension_eval_cag.json | 23 - .../02.05.50/tables/extension_eval_caj.json | 27 - .../02.05.50/tables/extension_eval_cak.json | 27 - .../02.05.50/tables/extension_eval_cal.json | 27 - .../02.05.50/tables/extension_eval_cam.json | 27 - .../02.05.50/tables/extension_eval_cna.json | 23 - .../02.05.50/tables/extension_eval_cpa.json | 22 - .../02.05.50/tables/extension_eval_cpb.json | 26 - .../02.05.50/tables/extension_eval_cpc.json | 22 - .../tables/extension_grade_lvi_xdm.json | 27 - .../tables/extension_mets_ajcc6_xeh.json | 23 - .../extension_mets_ssf1_ajcc6_xjo_m.json | 24 - .../extension_mets_ssf1_ajcc6_xjo_t.json | 24 - ...n_orchiectomy_lviajcc6_table_csv1_xbv.json | 27 - ...n_orchiectomy_lviajcc6_table_csv2_xis.json | 27 - .../extension_orchiectomy_lviajcc7_xgs.json | 27 - ...tension_periductal_invasion_ajcc7_xks.json | 23 - .../extension_size_ajcc6_table_csv1_xjb.json | 23 - .../tables/extension_size_ajcc6_xai.json | 23 - .../tables/extension_size_ajcc6_xak.json | 23 - .../tables/extension_size_ajcc6_xat.json | 23 - .../tables/extension_size_ajcc6_xav.json | 23 - .../tables/extension_size_ajcc6_xaz.json | 23 - .../tables/extension_size_ajcc6_xbc.json | 27 - .../tables/extension_size_ajcc6_xda.json | 23 - .../tables/extension_size_ajcc6_xdk.json | 23 - .../tables/extension_size_ajcc6_xea.json | 23 - .../tables/extension_size_ajcc6_xfw.json | 23 - .../tables/extension_size_ajcc6_xir.json | 23 - .../tables/extension_size_ajcc6_xji.json | 23 - .../tables/extension_size_ajcc6_xjj.json | 23 - .../tables/extension_size_ajcc6_xqb.json | 23 - .../tables/extension_size_ajcc6_xqc.json | 23 - .../tables/extension_size_ajcc7_xbl.json | 23 - .../tables/extension_size_ajcc7_xdj.json | 23 - .../tables/extension_size_ajcc7_xdl.json | 23 - .../tables/extension_size_ajcc7_xdw.json | 23 - .../tables/extension_size_ajcc7_xeb.json | 23 - .../tables/extension_size_ajcc7_xec.json | 23 - .../tables/extension_size_ajcc7_xed.json | 23 - .../tables/extension_size_ajcc7_xef.json | 23 - .../tables/extension_size_ajcc7_xej.json | 23 - .../tables/extension_size_ajcc7_xet.json | 23 - .../tables/extension_size_ajcc7_xeu.json | 23 - .../tables/extension_size_ajcc7_xev.json | 23 - .../tables/extension_size_ajcc7_xey.json | 23 - .../tables/extension_size_ajcc7_xfc.json | 23 - .../tables/extension_size_ajcc7_xfd.json | 23 - .../tables/extension_size_ajcc7_xfe.json | 23 - .../tables/extension_size_ajcc7_xff.json | 23 - .../tables/extension_size_ajcc7_xfp.json | 23 - .../tables/extension_size_ajcc7_xgi.json | 23 - .../tables/extension_size_ajcc7_xik.json | 23 - .../tables/extension_size_ajcc7_xim.json | 23 - .../tables/extension_size_ajcc7_xio.json | 23 - .../tables/extension_size_ajcc7_xkg.json | 23 - .../tables/extension_size_ajcc7_xkh.json | 23 - .../tables/extension_size_ajcc7_xkr.json | 23 - .../extension_size_category_ajcc7_xpm.json | 23 - .../tables/extension_size_high_risk_xfa.json | 27 - .../tables/extension_size_high_risk_xfy.json | 27 - .../tables/extension_size_pair_ajcc6_xpn.json | 23 - ...l_invasion888988_ajcc6_table_csv2_xij.json | 23 - ...e_perineural_invasion888988_ajcc7_xic.json | 23 - ...gativeor_unknown_ajcc6_table_csv2_xgl.json | 23 - ...invasion_negativeor_unknown_ajcc7_xgj.json | 23 - ...nvasion_positive_ajcc6_table_csv2_xgm.json | 19 - ...erineural_invasion_positive_ajcc7_xgk.json | 19 - .../tables/extension_size_ssf1_ajcc7_xgb.json | 31 - .../extension_size_table_ajcc6_xal.json | 23 - .../extension_size_table_ajcc7_xek.json | 23 - .../tables/extension_size_table_csv1_xas.json | 23 - .../tables/extension_size_table_csv2_xez.json | 27 - .../02.05.50/tables/extension_size_xaa.json | 27 - .../02.05.50/tables/extension_size_xab.json | 27 - .../02.05.50/tables/extension_size_xac.json | 27 - .../02.05.50/tables/extension_size_xad.json | 27 - .../02.05.50/tables/extension_size_xae.json | 27 - .../02.05.50/tables/extension_size_xaf.json | 27 - .../02.05.50/tables/extension_size_xag.json | 27 - .../02.05.50/tables/extension_size_xar.json | 27 - .../02.05.50/tables/extension_size_xbq.json | 27 - .../02.05.50/tables/extension_size_xdb.json | 27 - .../02.05.50/tables/extension_size_xde.json | 23 - .../02.05.50/tables/extension_size_xfn.json | 27 - .../02.05.50/tables/extension_size_xfu.json | 27 - .../02.05.50/tables/extension_size_xgn.json | 23 - .../02.05.50/tables/extension_size_xjg.json | 27 - .../02.05.50/tables/extension_size_xjh.json | 27 - .../02.05.50/tables/extension_size_xpa.json | 27 - .../02.05.50/tables/extension_size_xpb.json | 27 - .../02.05.50/tables/extension_size_xpe.json | 27 - .../02.05.50/tables/extension_size_xpf.json | 27 - .../02.05.50/tables/extension_size_xqj.json | 27 - .../tables/extension_ssf1_ajcc7_t_xjy.json | 20 - .../extension_ssf1_summary_stage2000_xke.json | 24 - .../extension_ssf1_summary_stage2000_xkf.json | 24 - .../extension_ssf1_summary_stage77_xkc.json | 24 - .../extension_ssf1_summary_stage77_xkd.json | 24 - .../02.05.50/tables/extension_sstg_bbo.json | 24 - .../02.05.50/tables/extension_sstg_bcu.json | 24 - .../tables/extension_t4_ssf1_ajcc7_xgw.json | 23 - ...ckness_ulceration_tcategory_ajcc6_xkj.json | 28 - ...ckness_ulceration_tcategory_ajcc7_xkk.json | 28 - .../extension_ulceration_t1_ajcc6_xbo.json | 23 - .../algorithms/cs/02.05.50/tables/grade.json | 18 - .../grade_category_calculation_xei.json | 19 - .../tables/histologies_grade_stage_xce.json | 35 - .../tables/histologies_grade_stage_xce_6.json | 35 - .../tables/histologies_stage_xhq_6.json | 23 - .../tables/histologies_stage_xhq_7.json | 23 - .../tables/histologies_stage_xhw.json | 19 - .../tables/histologies_stage_xhx.json | 19 - .../cs/02.05.50/tables/histology.json | 14 - .../histology_grade_extension_ajcc6_xkw.json | 19 - ...tology_grade_extension_ssf1_ajcc7_xkv.json | 23 - ...ogy_grade_extension_summary_stage_xgx.json | 31 - .../algorithms/cs/02.05.50/tables/ids.txt | 1484 -------- .../cs/02.05.50/tables/ihcmol_xcc.json | 27 - .../tables/invalid_lung_m_values_ns49.json | 34 - .../algorithms/cs/02.05.50/tables/lvi.json | 18 - .../lymph_node_extranodal_extension_xdn.json | 23 - ..._nodal_status_clinical_eval_ajcc6_xlk.json | 23 - ..._nodal_status_clinical_eval_ajcc7_xlh.json | 23 - ...h_nodeand_nodal_status_eval_ajcc7_xlb.json | 27 - ...h_nodeand_nodal_status_eval_ajcc7_xld.json | 27 - ...h_nodeand_nodal_status_eval_ajcc7_xle.json | 27 - ...h_nodeand_nodal_status_eval_ajcc7_xlg.json | 27 - ...and_nodal_status_eval_blank_ajcc6_xlm.json | 27 - ...and_nodal_status_eval_blank_ajcc7_xlj.json | 27 - ...and_nodal_status_eval_blank_ajcc7_xln.json | 27 - ...and_nodal_status_eval_blank_ajcc7_xlo.json | 27 - ...and_nodal_status_eval_blank_ajcc7_xlp.json | 27 - ...and_nodal_status_eval_blank_ajcc7_xlq.json | 27 - ...odal_status_pathologic_eval_ajcc6_xll.json | 27 - ...odal_status_pathologic_eval_ajcc7_xli.json | 27 - ...clinical_eval_priorto_v0205_ajcc7_xdf.json | 23 - ...clinical_eval_priorto_v0205_ajcc7_xdh.json | 23 - ...clinical_eval_priorto_v0205_ajcc7_xee.json | 23 - ...clinical_eval_priorto_v0205_ajcc7_xfq.json | 23 - ...clinical_eval_priorto_v0205_ajcc7_xfs.json | 23 - ...clinical_eval_priorto_v0205_ajcc7_xqh.json | 23 - ...h_nodes_clinical_eval_v0205_ajcc7_xaj.json | 19 - ...h_nodes_clinical_eval_v0205_ajcc7_xam.json | 19 - ...h_nodes_clinical_eval_v0205_ajcc7_xao.json | 19 - ...h_nodes_clinical_eval_v0205_ajcc7_xaw.json | 19 - ...h_nodes_clinical_eval_v0205_ajcc7_xax.json | 19 - ...h_nodes_clinical_eval_v0205_ajcc7_xcd.json | 19 - ...h_nodes_clinical_eval_v0205_ajcc7_xch.json | 19 - .../tables/lymph_nodes_clinical_eval_xgt.json | 27 - ...des_clinical_evaluation0or5_ajcc6_xbg.json | 19 - ...des_clinical_evaluation1or9_ajcc6_xbf.json | 23 - ...ymph_nodes_clinical_evaluation6th_xqf.json | 23 - ...h_nodes_clinical_evaluation_ajcc6_xbe.json | 23 - ...h_nodes_clinical_evaluation_ajcc6_xbi.json | 23 - ...h_nodes_clinical_evaluation_ajcc6_xbj.json | 23 - ...h_nodes_clinical_evaluation_ajcc6_xbk.json | 23 - ...h_nodes_clinical_evaluation_ajcc6_xpo.json | 23 - ...h_nodes_clinical_evaluation_ajcc6_xpq.json | 23 - .../lymph_nodes_clinical_evaluation_xcx.json | 27 - .../lymph_nodes_metsat_dxajcc6_xew.json | 23 - .../lymph_nodes_metsat_dxajcc6_xfh_m.json | 35 - .../lymph_nodes_metsat_dxajcc6_xfh_n.json | 35 - .../lymph_nodes_metsat_dxajcc6_xfm.json | 23 - .../lymph_nodes_metsat_dxajcc6_xfo.json | 23 - .../lymph_nodes_metsat_dxajcc6_xgq_m.json | 23 - .../lymph_nodes_metsat_dxajcc6_xgq_n.json | 23 - .../lymph_nodes_metsat_dxajcc6_xhv.json | 23 - .../lymph_nodes_metsat_dxajcc6_xjc.json | 23 - .../lymph_nodes_metsat_dxajcc6_xjd.json | 23 - .../lymph_nodes_metsat_dxajcc6_xje.json | 23 - .../lymph_nodes_metsat_dxajcc6_xjf.json | 23 - .../lymph_nodes_metsat_dxajcc6_xki.json | 22 - .../lymph_nodes_metsat_dxajcc6_xlf.json | 23 - .../lymph_nodes_metsat_dxtable_ajcc6_xfv.json | 23 - .../lymph_nodes_pathologic_eval_xgu.json | 27 - ...when_csreg_nodes_evalis_not_coded_xpp.json | 19 - ...when_csreg_nodes_evalis_not_coded_xqg.json | 19 - ...when_csreg_nodes_evalis_not_coded_xft.json | 19 - ...n_cslymph_nodes_eval_is_not_coded_xpr.json | 19 - ...n_cslymph_nodes_eval_is_not_coded_xdg.json | 19 - ...n_cslymph_nodes_eval_is_not_coded_xfr.json | 19 - ...en_cslymph_nodes_evalis_not_coded_xeg.json | 19 - ...en_cslymph_nodes_evalis_not_coded_xqi.json | 19 - ...when_csreg_nodes_evalis_not_coded_xdi.json | 19 - ...lymph_nodes_pathologic_evaluation_xcw.json | 27 - ...ymph_nodes_positive_axillary_node_xcy.json | 27 - .../lymph_nodes_positive_eval_blank_xgv.json | 27 - ...lymph_nodes_size_ajcc6_table_csv1_xex.json | 23 - .../tables/lymph_nodes_size_ajcc7_xfb.json | 23 - .../tables/lymph_nodes_size_ajcc7_xfz.json | 23 - .../tables/lymph_nodes_size_csv1_xix.json | 23 - .../tables/lymph_nodes_size_csv2_xiw.json | 27 - .../lymph_nodes_size_mets00_ajcc6_xdo_m.json | 27 - .../lymph_nodes_size_mets00_ajcc6_xdo_n.json | 23 - ...mph_nodes_size_mets10or50_ajcc6_xid_m.json | 27 - ...mph_nodes_size_mets10or50_ajcc6_xid_n.json | 23 - ...nodes_size_mets114055or60_ajcc6_xdv_m.json | 27 - ...nodes_size_mets114055or60_ajcc6_xdv_n.json | 23 - .../lymph_nodes_size_mets99_ajcc6_xdp_m.json | 27 - .../lymph_nodes_size_mets99_ajcc6_xdp_n.json | 23 - .../lymph_nodes_size_table_csv2_xcp.json | 27 - .../02.05.50/tables/lymph_nodes_size_xja.json | 27 - .../02.05.50/tables/lymph_nodes_size_xpd.json | 28 - .../02.05.50/tables/lymph_nodes_size_xpg.json | 27 - .../tables/lymph_nodes_ssf11_ajcc6_xqd.json | 23 - .../lymph_nodesand_ssf11_ajcc6_xiq.json | 23 - .../cs/02.05.50/tables/mets_eval_iaa.json | 22 - .../cs/02.05.50/tables/mets_eval_iac.json | 27 - .../cs/02.05.50/tables/mets_eval_iad.json | 27 - .../cs/02.05.50/tables/mets_eval_iae.json | 27 - .../cs/02.05.50/tables/mets_eval_iaf.json | 27 - .../cs/02.05.50/tables/mets_eval_ina.json | 23 - .../cs/02.05.50/tables/mets_eval_ipa.json | 23 - .../cs/02.05.50/tables/mets_eval_ipb.json | 23 - .../cs/02.05.50/tables/mets_eval_ipc.json | 27 - .../cs/02.05.50/tables/mets_hab.json | 36 - .../cs/02.05.50/tables/mets_hac.json | 34 - .../cs/02.05.50/tables/mets_had.json | 36 - .../cs/02.05.50/tables/mets_hae.json | 35 - .../cs/02.05.50/tables/mets_haf.json | 36 - .../cs/02.05.50/tables/mets_hag.json | 35 - .../cs/02.05.50/tables/mets_hah.json | 35 - .../cs/02.05.50/tables/mets_hai.json | 35 - .../cs/02.05.50/tables/mets_haj.json | 35 - .../cs/02.05.50/tables/mets_hak.json | 35 - .../cs/02.05.50/tables/mets_hal.json | 34 - .../cs/02.05.50/tables/mets_ham.json | 35 - .../cs/02.05.50/tables/mets_han.json | 35 - .../cs/02.05.50/tables/mets_hao.json | 34 - .../cs/02.05.50/tables/mets_hap.json | 35 - .../cs/02.05.50/tables/mets_haq.json | 35 - .../cs/02.05.50/tables/mets_har.json | 34 - .../cs/02.05.50/tables/mets_hat.json | 36 - .../cs/02.05.50/tables/mets_hau.json | 35 - .../cs/02.05.50/tables/mets_hav.json | 35 - .../cs/02.05.50/tables/mets_haw.json | 35 - .../cs/02.05.50/tables/mets_haz.json | 35 - .../cs/02.05.50/tables/mets_hba.json | 35 - .../cs/02.05.50/tables/mets_hbb.json | 35 - .../cs/02.05.50/tables/mets_hbc.json | 35 - .../cs/02.05.50/tables/mets_hbe.json | 36 - .../cs/02.05.50/tables/mets_hbf.json | 34 - .../cs/02.05.50/tables/mets_hbg.json | 36 - .../cs/02.05.50/tables/mets_hbj.json | 34 - .../cs/02.05.50/tables/mets_hbn.json | 36 - .../cs/02.05.50/tables/mets_hbo.json | 34 - .../cs/02.05.50/tables/mets_hbu.json | 34 - .../cs/02.05.50/tables/mets_hbv.json | 34 - .../cs/02.05.50/tables/mets_hbx.json | 34 - .../cs/02.05.50/tables/mets_hby.json | 36 - .../cs/02.05.50/tables/mets_hbz.json | 36 - .../cs/02.05.50/tables/mets_hca.json | 34 - .../cs/02.05.50/tables/mets_hcb.json | 35 - .../cs/02.05.50/tables/mets_hcc.json | 35 - .../cs/02.05.50/tables/mets_hcd.json | 35 - .../cs/02.05.50/tables/mets_hce.json | 35 - .../cs/02.05.50/tables/mets_hcf.json | 36 - .../cs/02.05.50/tables/mets_hcg.json | 34 - .../cs/02.05.50/tables/mets_hch.json | 35 - .../cs/02.05.50/tables/mets_hci.json | 34 - .../cs/02.05.50/tables/mets_hcj.json | 34 - .../cs/02.05.50/tables/mets_hck.json | 34 - .../cs/02.05.50/tables/mets_hcl.json | 35 - .../cs/02.05.50/tables/mets_hcm.json | 35 - .../cs/02.05.50/tables/mets_hcn.json | 35 - .../cs/02.05.50/tables/mets_hco.json | 34 - .../cs/02.05.50/tables/mets_hcp.json | 34 - .../cs/02.05.50/tables/mets_hcq.json | 35 - .../cs/02.05.50/tables/mets_hcr.json | 36 - .../cs/02.05.50/tables/mets_hcs.json | 35 - .../cs/02.05.50/tables/mets_hcu.json | 35 - .../cs/02.05.50/tables/mets_hcv.json | 36 - .../cs/02.05.50/tables/mets_hcw.json | 35 - .../cs/02.05.50/tables/mets_hcx.json | 35 - .../cs/02.05.50/tables/mets_hcy.json | 36 - .../cs/02.05.50/tables/mets_hna.json | 34 - .../cs/02.05.50/tables/mets_hpa.json | 34 - .../cs/02.05.50/tables/mets_hpb.json | 35 - .../cs/02.05.50/tables/mets_hpc.json | 34 - .../cs/02.05.50/tables/mets_hpd.json | 35 - .../cs/02.05.50/tables/mets_hpe.json | 35 - .../cs/02.05.50/tables/mets_hpf.json | 35 - .../cs/02.05.50/tables/mets_hpg.json | 35 - .../cs/02.05.50/tables/mets_hph.json | 35 - .../02.05.50/tables/metsat_dxand_ldh_xbs.json | 27 - .../tables/metsat_dxmets_eval_ajcc6_xck.json | 23 - .../tables/metsat_dxmets_eval_ajcc7_xfg.json | 19 - .../tables/mitotic_rate_calculation_xjm.json | 19 - .../tables/mitotic_rate_calculation_xpi.json | 19 - .../tables/mitotic_rate_calculation_xqe.json | 19 - .../mitotic_rate_ulceration_t1_ajcc7_xgo.json | 27 - .../cs/02.05.50/tables/nodes_daa.json | 36 - .../cs/02.05.50/tables/nodes_dab.json | 35 - .../cs/02.05.50/tables/nodes_dad.json | 36 - .../cs/02.05.50/tables/nodes_dah.json | 36 - .../cs/02.05.50/tables/nodes_dai.json | 35 - .../cs/02.05.50/tables/nodes_daj.json | 36 - .../cs/02.05.50/tables/nodes_dak.json | 36 - .../cs/02.05.50/tables/nodes_dal.json | 36 - .../cs/02.05.50/tables/nodes_dam.json | 36 - .../cs/02.05.50/tables/nodes_dan.json | 36 - .../cs/02.05.50/tables/nodes_dao.json | 36 - .../cs/02.05.50/tables/nodes_dap.json | 36 - .../cs/02.05.50/tables/nodes_daq.json | 35 - .../cs/02.05.50/tables/nodes_dar.json | 36 - .../cs/02.05.50/tables/nodes_das.json | 36 - .../cs/02.05.50/tables/nodes_dat.json | 36 - .../cs/02.05.50/tables/nodes_dau.json | 35 - .../cs/02.05.50/tables/nodes_dav.json | 35 - .../cs/02.05.50/tables/nodes_daw.json | 36 - .../cs/02.05.50/tables/nodes_dax.json | 36 - .../cs/02.05.50/tables/nodes_day.json | 35 - .../cs/02.05.50/tables/nodes_daz.json | 36 - .../cs/02.05.50/tables/nodes_dba.json | 35 - .../cs/02.05.50/tables/nodes_dbb.json | 36 - .../cs/02.05.50/tables/nodes_dbc.json | 35 - .../cs/02.05.50/tables/nodes_dbd.json | 35 - .../cs/02.05.50/tables/nodes_dbe.json | 35 - .../cs/02.05.50/tables/nodes_dbf.json | 35 - .../cs/02.05.50/tables/nodes_dbg.json | 35 - .../cs/02.05.50/tables/nodes_dbh.json | 35 - .../cs/02.05.50/tables/nodes_dbi.json | 35 - .../cs/02.05.50/tables/nodes_dbj.json | 36 - .../cs/02.05.50/tables/nodes_dbk.json | 35 - .../cs/02.05.50/tables/nodes_dbl.json | 35 - .../cs/02.05.50/tables/nodes_dbm.json | 36 - .../cs/02.05.50/tables/nodes_dbn.json | 36 - .../cs/02.05.50/tables/nodes_dbo.json | 35 - .../cs/02.05.50/tables/nodes_dbq.json | 35 - .../cs/02.05.50/tables/nodes_dbr.json | 35 - .../cs/02.05.50/tables/nodes_dbs.json | 35 - .../cs/02.05.50/tables/nodes_dbt.json | 36 - .../cs/02.05.50/tables/nodes_dbu.json | 35 - .../cs/02.05.50/tables/nodes_dbv.json | 35 - .../cs/02.05.50/tables/nodes_dbw.json | 35 - .../cs/02.05.50/tables/nodes_dbx.json | 35 - .../cs/02.05.50/tables/nodes_dby.json | 35 - .../cs/02.05.50/tables/nodes_dca.json | 35 - .../cs/02.05.50/tables/nodes_dcb.json | 35 - .../cs/02.05.50/tables/nodes_dcc.json | 35 - .../cs/02.05.50/tables/nodes_dcd.json | 35 - .../cs/02.05.50/tables/nodes_dce.json | 35 - .../cs/02.05.50/tables/nodes_dcf.json | 35 - .../cs/02.05.50/tables/nodes_dcj.json | 36 - .../cs/02.05.50/tables/nodes_dck.json | 36 - .../cs/02.05.50/tables/nodes_dcl.json | 35 - .../cs/02.05.50/tables/nodes_dcm.json | 36 - .../cs/02.05.50/tables/nodes_dcn.json | 36 - .../cs/02.05.50/tables/nodes_dco.json | 36 - .../cs/02.05.50/tables/nodes_dcp.json | 36 - .../cs/02.05.50/tables/nodes_dcq.json | 36 - .../cs/02.05.50/tables/nodes_dcr.json | 36 - .../cs/02.05.50/tables/nodes_dcs.json | 36 - .../cs/02.05.50/tables/nodes_dcu.json | 36 - .../cs/02.05.50/tables/nodes_dcv.json | 36 - .../cs/02.05.50/tables/nodes_dcw.json | 36 - .../cs/02.05.50/tables/nodes_dcx.json | 36 - .../cs/02.05.50/tables/nodes_dcy.json | 35 - .../cs/02.05.50/tables/nodes_dcz.json | 35 - .../cs/02.05.50/tables/nodes_ddd.json | 36 - .../cs/02.05.50/tables/nodes_dde.json | 35 - .../cs/02.05.50/tables/nodes_ddf.json | 36 - .../cs/02.05.50/tables/nodes_ddg.json | 36 - .../cs/02.05.50/tables/nodes_ddh.json | 36 - .../cs/02.05.50/tables/nodes_ddi.json | 36 - .../cs/02.05.50/tables/nodes_ddj.json | 36 - .../cs/02.05.50/tables/nodes_ddk.json | 35 - .../cs/02.05.50/tables/nodes_ddm.json | 36 - .../cs/02.05.50/tables/nodes_ddn.json | 36 - .../cs/02.05.50/tables/nodes_ddo.json | 35 - .../cs/02.05.50/tables/nodes_ddp.json | 36 - .../cs/02.05.50/tables/nodes_ddq.json | 35 - .../cs/02.05.50/tables/nodes_ddr.json | 35 - .../cs/02.05.50/tables/nodes_dds.json | 35 - .../cs/02.05.50/tables/nodes_ddt.json | 35 - .../cs/02.05.50/tables/nodes_ddw.json | 35 - .../cs/02.05.50/tables/nodes_ddy.json | 35 - .../cs/02.05.50/tables/nodes_ddz.json | 35 - .../cs/02.05.50/tables/nodes_dea.json | 35 - .../cs/02.05.50/tables/nodes_deb.json | 35 - .../cs/02.05.50/tables/nodes_ded.json | 35 - .../cs/02.05.50/tables/nodes_dee.json | 35 - .../cs/02.05.50/tables/nodes_def.json | 35 - .../cs/02.05.50/tables/nodes_deg.json | 35 - .../cs/02.05.50/tables/nodes_dei.json | 35 - .../cs/02.05.50/tables/nodes_dej.json | 35 - .../cs/02.05.50/tables/nodes_dek.json | 35 - .../cs/02.05.50/tables/nodes_del.json | 35 - .../cs/02.05.50/tables/nodes_dem.json | 35 - .../cs/02.05.50/tables/nodes_den.json | 35 - .../cs/02.05.50/tables/nodes_deo.json | 35 - .../cs/02.05.50/tables/nodes_deq.json | 35 - .../cs/02.05.50/tables/nodes_der.json | 35 - .../cs/02.05.50/tables/nodes_des.json | 35 - .../cs/02.05.50/tables/nodes_det.json | 36 - .../cs/02.05.50/tables/nodes_deu.json | 35 - .../cs/02.05.50/tables/nodes_dev.json | 36 - .../cs/02.05.50/tables/nodes_dew.json | 36 - .../cs/02.05.50/tables/nodes_dex.json | 34 - .../cs/02.05.50/tables/nodes_dey.json | 35 - .../cs/02.05.50/tables/nodes_dez.json | 35 - .../cs/02.05.50/tables/nodes_dfa.json | 35 - .../cs/02.05.50/tables/nodes_dfb.json | 35 - .../cs/02.05.50/tables/nodes_dfc.json | 36 - .../cs/02.05.50/tables/nodes_dfd.json | 35 - .../cs/02.05.50/tables/nodes_dfe.json | 36 - .../cs/02.05.50/tables/nodes_dff.json | 36 - .../cs/02.05.50/tables/nodes_dfg.json | 36 - .../cs/02.05.50/tables/nodes_dfh.json | 35 - .../cs/02.05.50/tables/nodes_dfi.json | 35 - .../cs/02.05.50/tables/nodes_dfj.json | 35 - .../cs/02.05.50/tables/nodes_dfk.json | 35 - .../cs/02.05.50/tables/nodes_dfl.json | 35 - .../cs/02.05.50/tables/nodes_dfm.json | 35 - .../cs/02.05.50/tables/nodes_dfn.json | 36 - .../cs/02.05.50/tables/nodes_dfo.json | 35 - .../cs/02.05.50/tables/nodes_dfp.json | 35 - .../cs/02.05.50/tables/nodes_dfq.json | 35 - .../cs/02.05.50/tables/nodes_dfr.json | 35 - .../cs/02.05.50/tables/nodes_dfs.json | 35 - .../cs/02.05.50/tables/nodes_dft.json | 35 - .../cs/02.05.50/tables/nodes_dfu.json | 35 - .../cs/02.05.50/tables/nodes_dfv.json | 36 - .../cs/02.05.50/tables/nodes_dfw.json | 36 - .../cs/02.05.50/tables/nodes_dfx.json | 36 - .../cs/02.05.50/tables/nodes_dfy.json | 35 - .../cs/02.05.50/tables/nodes_dna.json | 34 - .../cs/02.05.50/tables/nodes_dpa.json | 34 - .../cs/02.05.50/tables/nodes_dpb.json | 35 - .../cs/02.05.50/tables/nodes_dpc.json | 36 - .../cs/02.05.50/tables/nodes_dpd.json | 36 - .../cs/02.05.50/tables/nodes_eval_eaa.json | 22 - .../cs/02.05.50/tables/nodes_eval_eaf.json | 22 - .../cs/02.05.50/tables/nodes_eval_eag.json | 27 - .../cs/02.05.50/tables/nodes_eval_eah.json | 27 - .../cs/02.05.50/tables/nodes_eval_eai.json | 27 - .../cs/02.05.50/tables/nodes_eval_eaj.json | 27 - .../cs/02.05.50/tables/nodes_eval_eak.json | 27 - .../cs/02.05.50/tables/nodes_eval_eba.json | 23 - .../cs/02.05.50/tables/nodes_eval_ena.json | 23 - .../cs/02.05.50/tables/nodes_eval_epa.json | 23 - .../cs/02.05.50/tables/nodes_eval_epb.json | 22 - .../cs/02.05.50/tables/nodes_eval_epc.json | 27 - .../cs/02.05.50/tables/nodes_exam_gac.json | 19 - .../cs/02.05.50/tables/nodes_exam_gaf.json | 19 - .../cs/02.05.50/tables/nodes_exam_gna.json | 18 - .../cs/02.05.50/tables/nodes_exam_gpa.json | 18 - .../cs/02.05.50/tables/nodes_exam_gpb.json | 19 - .../cs/02.05.50/tables/nodes_pos_fab.json | 19 - .../cs/02.05.50/tables/nodes_pos_fae.json | 19 - .../cs/02.05.50/tables/nodes_pos_fah.json | 19 - .../cs/02.05.50/tables/nodes_pos_fna.json | 18 - .../cs/02.05.50/tables/nodes_pos_fpa.json | 19 - .../cs/02.05.50/tables/nodes_pos_fpb.json | 19 - .../cs/02.05.50/tables/nodes_pos_fpc.json | 19 - .../cs/02.05.50/tables/nodes_pos_fpd.json | 19 - ...ic_eval_extension_thickness_ajcc6_xbt.json | 27 - ...ic_eval_extension_thickness_ajcc7_xcb.json | 27 - .../pleural_effusion_extension_xbz.json | 27 - ...er_svalue_table_basedon_ssf131516_xgr.json | 27 - .../cs/02.05.50/tables/primary_site.json | 18 - ...schema_selection_adnexa_uterine_other.json | 22 - .../schema_selection_adrenal_gland.json | 22 - .../schema_selection_ampulla_vater.json | 22 - .../tables/schema_selection_anus.json | 22 - .../tables/schema_selection_appendix.json | 22 - .../schema_selection_bile_ducts_distal.json | 26 - ...chema_selection_bile_ducts_intrahepat.json | 22 - ...schema_selection_bile_ducts_perihilar.json | 26 - .../schema_selection_biliary_other.json | 22 - .../tables/schema_selection_bladder.json | 22 - .../tables/schema_selection_bone.json | 22 - .../tables/schema_selection_brain.json | 22 - .../tables/schema_selection_breast.json | 22 - .../schema_selection_buccal_mucosa.json | 22 - .../schema_selection_carcinoid_appendix.json | 22 - .../tables/schema_selection_cervix.json | 22 - .../tables/schema_selection_cns_other.json | 22 - .../tables/schema_selection_colon.json | 22 - .../tables/schema_selection_conjunctiva.json | 22 - .../schema_selection_corpus_adenosarcoma.json | 22 - .../schema_selection_corpus_carcinoma.json | 22 - .../schema_selection_corpus_sarcoma.json | 22 - .../tables/schema_selection_cystic_duct.json | 26 - .../schema_selection_digestive_other.json | 22 - .../schema_selection_endocrine_other.json | 22 - .../schema_selection_epiglottis_anterior.json | 22 - .../tables/schema_selection_esophagus.json | 22 - ...schema_selection_esophagus_gejunction.json | 26 - .../tables/schema_selection_eye_other.json | 22 - .../schema_selection_fallopian_tube.json | 22 - .../tables/schema_selection_floor_mouth.json | 22 - .../tables/schema_selection_gallbladder.json | 22 - ...schema_selection_genital_female_other.json | 22 - .../schema_selection_genital_male_other.json | 22 - .../schema_selection_gist_appendix.json | 22 - .../tables/schema_selection_gist_colon.json | 22 - .../schema_selection_gist_esophagus.json | 22 - .../schema_selection_gist_peritoneum.json | 22 - .../tables/schema_selection_gist_rectum.json | 22 - ...schema_selection_gist_small_intestine.json | 22 - .../tables/schema_selection_gist_stomach.json | 22 - .../tables/schema_selection_gum_lower.json | 22 - .../tables/schema_selection_gum_other.json | 22 - .../tables/schema_selection_gum_upper.json | 22 - .../schema_selection_heart_mediastinum.json | 22 - .../tables/schema_selection_heme_retic.json | 22 - .../tables/schema_selection_hypopharynx.json | 22 - .../schema_selection_ill_defined_other.json | 22 - .../schema_selection_intracranial_gland.json | 22 - .../schema_selection_kaposi_sarcoma.json | 22 - .../schema_selection_kidney_parenchyma.json | 22 - .../schema_selection_kidney_renal_pelvis.json | 22 - .../schema_selection_lacrimal_gland.json | 26 - .../tables/schema_selection_lacrimal_sac.json | 26 - .../schema_selection_larynx_glottic.json | 22 - .../tables/schema_selection_larynx_other.json | 22 - .../schema_selection_larynx_subglottic.json | 22 - .../schema_selection_larynx_supraglottic.json | 22 - .../tables/schema_selection_lip_lower.json | 22 - .../tables/schema_selection_lip_other.json | 22 - .../tables/schema_selection_lip_upper.json | 22 - .../tables/schema_selection_liver.json | 22 - .../tables/schema_selection_lung.json | 22 - .../tables/schema_selection_lymphoma.json | 22 - ...hema_selection_lymphoma_ocular_adnexa.json | 22 - ...hema_selection_melanoma_buccal_mucosa.json | 22 - .../schema_selection_melanoma_choroid.json | 22 - ...chema_selection_melanoma_ciliary_body.json | 26 - ...schema_selection_melanoma_conjunctiva.json | 22 - ...election_melanoma_epiglottis_anterior.json | 22 - .../schema_selection_melanoma_eye_other.json | 22 - ...schema_selection_melanoma_floor_mouth.json | 22 - .../schema_selection_melanoma_gum_lower.json | 22 - .../schema_selection_melanoma_gum_other.json | 22 - .../schema_selection_melanoma_gum_upper.json | 22 - ...schema_selection_melanoma_hypopharynx.json | 22 - .../schema_selection_melanoma_iris.json | 26 - ...ema_selection_melanoma_larynx_glottic.json | 22 - ...chema_selection_melanoma_larynx_other.json | 22 - ..._selection_melanoma_larynx_subglottic.json | 22 - ...election_melanoma_larynx_supraglottic.json | 22 - .../schema_selection_melanoma_lip_lower.json | 22 - .../schema_selection_melanoma_lip_other.json | 22 - .../schema_selection_melanoma_lip_upper.json | 22 - ...schema_selection_melanoma_mouth_other.json | 22 - ...chema_selection_melanoma_nasal_cavity.json | 22 - ...schema_selection_melanoma_nasopharynx.json | 22 - .../schema_selection_melanoma_oropharynx.json | 22 - ...schema_selection_melanoma_palate_hard.json | 22 - ...schema_selection_melanoma_palate_soft.json | 22 - ...hema_selection_melanoma_pharynx_other.json | 22 - ...hema_selection_melanoma_sinus_ethmoid.json | 22 - ...ma_selection_melanoma_sinus_maxillary.json | 22 - ...schema_selection_melanoma_sinus_other.json | 22 - .../schema_selection_melanoma_skin.json | 22 - ...ma_selection_melanoma_tongue_anterior.json | 22 - ...schema_selection_melanoma_tongue_base.json | 22 - .../schema_selection_merkel_cell_penis.json | 22 - .../schema_selection_merkel_cell_scrotum.json | 22 - .../schema_selection_merkel_cell_skin.json | 22 - .../schema_selection_merkel_cell_vulva.json | 22 - .../tables/schema_selection_middle_ear.json | 22 - .../tables/schema_selection_mouth_other.json | 22 - .../schema_selection_mycosis_fungoides.json | 22 - ...election_myeloma_plasma_cell_disorder.json | 22 - .../tables/schema_selection_nasal_cavity.json | 22 - .../tables/schema_selection_nasopharynx.json | 26 - .../tables/schema_selection_net_ampulla.json | 22 - .../tables/schema_selection_net_colon.json | 22 - .../tables/schema_selection_net_rectum.json | 22 - .../schema_selection_net_small_intestine.json | 22 - .../tables/schema_selection_net_stomach.json | 22 - .../tables/schema_selection_orbit.json | 22 - .../tables/schema_selection_oropharynx.json | 22 - .../tables/schema_selection_ovary.json | 22 - .../tables/schema_selection_palate_hard.json | 22 - .../tables/schema_selection_palate_soft.json | 22 - .../schema_selection_pancreas_body_tail.json | 22 - .../schema_selection_pancreas_head.json | 22 - .../schema_selection_pancreas_other.json | 22 - .../schema_selection_parotid_gland.json | 22 - .../tables/schema_selection_penis.json | 22 - .../tables/schema_selection_peritoneum.json | 26 - ...chema_selection_peritoneum_female_gen.json | 26 - .../schema_selection_pharyngeal_tonsil.json | 26 - .../schema_selection_pharynx_other.json | 22 - .../tables/schema_selection_placenta.json | 22 - .../tables/schema_selection_pleura.json | 22 - .../tables/schema_selection_prostate.json | 22 - .../tables/schema_selection_rectum.json | 22 - .../schema_selection_respiratory_other.json | 22 - .../schema_selection_retinoblastoma.json | 22 - .../schema_selection_retroperitoneum.json | 22 - ...schema_selection_salivary_gland_other.json | 22 - .../tables/schema_selection_scrotum.json | 22 - .../schema_selection_sinus_ethmoid.json | 22 - .../schema_selection_sinus_maxillary.json | 22 - .../tables/schema_selection_sinus_other.json | 22 - .../tables/schema_selection_skin.json | 22 - .../tables/schema_selection_skin_eyelid.json | 22 - .../schema_selection_small_intestine.json | 22 - .../tables/schema_selection_soft_tissue.json | 22 - .../tables/schema_selection_stomach.json | 26 - .../schema_selection_submandibular_gland.json | 22 - .../tables/schema_selection_testis.json | 22 - .../tables/schema_selection_thyroid.json | 22 - .../schema_selection_tongue_anterior.json | 22 - .../tables/schema_selection_tongue_base.json | 22 - .../tables/schema_selection_trachea.json | 22 - .../tables/schema_selection_urethra.json | 22 - .../schema_selection_urinary_other.json | 22 - .../tables/schema_selection_vagina.json | 22 - .../tables/schema_selection_vulva.json | 22 - ...ker_svalue_table_basedon_csssf123_xcj.json | 27 - .../cs/02.05.50/tables/size_aaa.json | 19 - .../cs/02.05.50/tables/size_aab.json | 19 - .../cs/02.05.50/tables/size_aac.json | 19 - .../cs/02.05.50/tables/size_aad.json | 18 - .../cs/02.05.50/tables/size_aae.json | 18 - .../cs/02.05.50/tables/size_aaf.json | 18 - .../cs/02.05.50/tables/size_aag.json | 19 - .../cs/02.05.50/tables/size_aah.json | 18 - .../cs/02.05.50/tables/size_aaj.json | 19 - .../cs/02.05.50/tables/size_aak.json | 19 - .../cs/02.05.50/tables/size_aal.json | 19 - .../cs/02.05.50/tables/size_aam.json | 18 - .../cs/02.05.50/tables/size_aan.json | 19 - .../cs/02.05.50/tables/size_aao.json | 19 - .../cs/02.05.50/tables/size_aap.json | 19 - .../cs/02.05.50/tables/size_aaq.json | 19 - .../cs/02.05.50/tables/size_aar.json | 19 - .../cs/02.05.50/tables/size_aas.json | 19 - .../cs/02.05.50/tables/size_aat.json | 19 - .../cs/02.05.50/tables/size_aau.json | 19 - .../cs/02.05.50/tables/size_aaw.json | 19 - .../cs/02.05.50/tables/size_aax.json | 19 - .../cs/02.05.50/tables/size_aay.json | 19 - .../cs/02.05.50/tables/size_aaz.json | 18 - .../cs/02.05.50/tables/size_aba.json | 19 - .../cs/02.05.50/tables/size_ana.json | 18 - .../cs/02.05.50/tables/size_apa.json | 18 - .../cs/02.05.50/tables/size_apb.json | 19 - .../cs/02.05.50/tables/size_apc.json | 19 - .../cs/02.05.50/tables/size_apd.json | 19 - .../cs/02.05.50/tables/size_apf.json | 19 - .../cs/02.05.50/tables/size_apg.json | 19 - .../cs/02.05.50/tables/size_aph.json | 19 - .../cs/02.05.50/tables/size_api.json | 19 - .../cs/02.05.50/tables/size_apj.json | 19 - .../cs/02.05.50/tables/size_apk.json | 19 - .../cs/02.05.50/tables/size_apl.json | 19 - .../cs/02.05.50/tables/size_apo.json | 19 - .../cs/02.05.50/tables/size_app.json | 18 - .../cs/02.05.50/tables/size_apr.json | 19 - .../cs/02.05.50/tables/size_aps.json | 19 - .../cs/02.05.50/tables/size_apt.json | 18 - .../cs/02.05.50/tables/size_apu.json | 19 - .../size_extension_mets_ssf1_ajcc6_xjp_m.json | 24 - .../size_extension_mets_ssf1_ajcc6_xjp_t.json | 24 - .../size_extension_mets_ssf1_ajcc6_xjq_m.json | 24 - .../size_extension_mets_ssf1_ajcc6_xjq_t.json | 24 - .../size_extension_mets_ssf1_ajcc6_xjr_m.json | 24 - .../size_extension_mets_ssf1_ajcc6_xjr_t.json | 24 - .../size_extension_mets_ssf1_ajcc6_xjs_m.json | 24 - .../size_extension_mets_ssf1_ajcc6_xjs_t.json | 24 - .../size_extension_mets_ssf1_ajcc6_xjt_m.json | 24 - .../size_extension_mets_ssf1_ajcc6_xjt_t.json | 24 - .../size_extension_mets_ssf1_ajcc6_xju_m.json | 24 - .../size_extension_mets_ssf1_ajcc6_xju_t.json | 24 - .../size_extension_mets_ssf1_ajcc6_xjv_m.json | 24 - .../size_extension_mets_ssf1_ajcc6_xjv_t.json | 24 - .../size_extension_mets_ssf1_ajcc6_xjw_m.json | 24 - .../size_extension_mets_ssf1_ajcc6_xjw_t.json | 24 - .../size_extension_mets_ssf1_ajcc6_xjx_m.json | 24 - .../size_extension_mets_ssf1_ajcc6_xjx_t.json | 24 - .../size_extension_ssf1_ajcc7_t_xjz.json | 24 - .../size_extension_ssf1_ajcc7_t_xka.json | 28 - .../tables/size_metastasis_ajcc7_xpx.json | 23 - .../tables/size_metsat_dxajcc7_m_xkb.json | 24 - ...nown_pathologic_extension_xds_xdu_xdq.json | 45 - ...sive_pathologic_extension_xdr_xdt_xdq.json | 40 - ...pecial_calculation_tablefor_ajcct_xiu.json | 35 - ...lation_tablefor_seersummary_stage_xiv.json | 23 - .../cs/02.05.50/tables/ss_codes.json | 22 - .../cs/02.05.50/tables/ssf10_sad.json | 20 - .../cs/02.05.50/tables/ssf10_sat.json | 20 - .../cs/02.05.50/tables/ssf10_saz.json | 20 - .../cs/02.05.50/tables/ssf10_scm.json | 20 - .../cs/02.05.50/tables/ssf10_sek.json | 20 - .../cs/02.05.50/tables/ssf10_seq.json | 20 - .../cs/02.05.50/tables/ssf10_sex.json | 20 - .../cs/02.05.50/tables/ssf10_sfi.json | 20 - .../cs/02.05.50/tables/ssf10_sfj.json | 20 - .../cs/02.05.50/tables/ssf10_sne.json | 18 - .../cs/02.05.50/tables/ssf10_spd.json | 20 - .../cs/02.05.50/tables/ssf10_spi.json | 20 - .../cs/02.05.50/tables/ssf10_spz.json | 20 - .../cs/02.05.50/tables/ssf10_sqj.json | 24 - .../cs/02.05.50/tables/ssf10_sqs.json | 20 - .../cs/02.05.50/tables/ssf10_srh.json | 20 - .../cs/02.05.50/tables/ssf11_sae.json | 20 - .../cs/02.05.50/tables/ssf11_sba.json | 20 - .../cs/02.05.50/tables/ssf11_sbt.json | 20 - .../cs/02.05.50/tables/ssf11_scj.json | 20 - .../cs/02.05.50/tables/ssf11_see.json | 19 - .../cs/02.05.50/tables/ssf11_sel.json | 20 - .../cs/02.05.50/tables/ssf11_ser.json | 20 - .../cs/02.05.50/tables/ssf11_snf.json | 18 - .../cs/02.05.50/tables/ssf11_spe.json | 20 - .../cs/02.05.50/tables/ssf11_spk.json | 20 - .../cs/02.05.50/tables/ssf11_sps.json | 20 - .../cs/02.05.50/tables/ssf11_sqa.json | 20 - .../cs/02.05.50/tables/ssf11_sqe.json | 20 - .../cs/02.05.50/tables/ssf11_sqt.json | 20 - .../cs/02.05.50/tables/ssf11_srd.json | 19 - .../cs/02.05.50/tables/ssf11_sri.json | 20 - .../cs/02.05.50/tables/ssf12_saf.json | 20 - .../cs/02.05.50/tables/ssf12_sbb.json | 20 - .../cs/02.05.50/tables/ssf12_sbu.json | 20 - .../cs/02.05.50/tables/ssf12_sck.json | 20 - .../cs/02.05.50/tables/ssf12_sef.json | 19 - .../cs/02.05.50/tables/ssf12_ses.json | 20 - .../cs/02.05.50/tables/ssf12_sev.json | 20 - .../cs/02.05.50/tables/ssf12_sew.json | 20 - .../cs/02.05.50/tables/ssf12_sez.json | 20 - .../cs/02.05.50/tables/ssf12_sfd.json | 20 - .../cs/02.05.50/tables/ssf12_sng.json | 18 - .../cs/02.05.50/tables/ssf12_spl.json | 20 - .../cs/02.05.50/tables/ssf12_sqb.json | 20 - .../cs/02.05.50/tables/ssf12_sqf.json | 20 - .../cs/02.05.50/tables/ssf12_srj.json | 20 - .../cs/02.05.50/tables/ssf13_sag.json | 20 - .../cs/02.05.50/tables/ssf13_sbc.json | 20 - .../cs/02.05.50/tables/ssf13_sca.json | 20 - .../cs/02.05.50/tables/ssf13_scl.json | 20 - .../cs/02.05.50/tables/ssf13_sdg.json | 20 - .../cs/02.05.50/tables/ssf13_sdr.json | 20 - .../cs/02.05.50/tables/ssf13_seg.json | 19 - .../cs/02.05.50/tables/ssf13_sfa.json | 20 - .../cs/02.05.50/tables/ssf13_sfe.json | 20 - .../cs/02.05.50/tables/ssf13_snh.json | 18 - .../cs/02.05.50/tables/ssf13_spm.json | 20 - .../cs/02.05.50/tables/ssf13_sqg.json | 20 - .../cs/02.05.50/tables/ssf13_sqq.json | 20 - .../cs/02.05.50/tables/ssf14_sbd.json | 20 - .../cs/02.05.50/tables/ssf14_sbf.json | 20 - .../cs/02.05.50/tables/ssf14_scn.json | 20 - .../cs/02.05.50/tables/ssf14_sdh.json | 20 - .../cs/02.05.50/tables/ssf14_sds.json | 20 - .../cs/02.05.50/tables/ssf14_sfb.json | 20 - .../cs/02.05.50/tables/ssf14_sff.json | 20 - .../cs/02.05.50/tables/ssf14_sni.json | 18 - .../cs/02.05.50/tables/ssf14_spn.json | 20 - .../cs/02.05.50/tables/ssf14_sqh.json | 20 - .../cs/02.05.50/tables/ssf14_sqr.json | 20 - .../cs/02.05.50/tables/ssf15_sbe.json | 20 - .../cs/02.05.50/tables/ssf15_sbg.json | 20 - .../cs/02.05.50/tables/ssf15_sco.json | 20 - .../cs/02.05.50/tables/ssf15_sdm.json | 20 - .../cs/02.05.50/tables/ssf15_sdt.json | 20 - .../cs/02.05.50/tables/ssf15_sfc.json | 20 - .../cs/02.05.50/tables/ssf15_sfg.json | 20 - .../cs/02.05.50/tables/ssf15_snj.json | 18 - .../cs/02.05.50/tables/ssf15_spo.json | 20 - .../cs/02.05.50/tables/ssf16_sah.json | 20 - .../cs/02.05.50/tables/ssf16_scp.json | 20 - .../cs/02.05.50/tables/ssf16_sdn.json | 20 - .../cs/02.05.50/tables/ssf16_sfh.json | 20 - .../cs/02.05.50/tables/ssf16_snk.json | 18 - .../cs/02.05.50/tables/ssf16_spt.json | 20 - .../cs/02.05.50/tables/ssf16_squ.json | 20 - .../cs/02.05.50/tables/ssf16_sqv.json | 20 - .../cs/02.05.50/tables/ssf16_sqw.json | 20 - .../cs/02.05.50/tables/ssf17_sai.json | 20 - .../cs/02.05.50/tables/ssf17_seu.json | 20 - .../cs/02.05.50/tables/ssf17_snl.json | 18 - .../cs/02.05.50/tables/ssf17_spu.json | 20 - .../cs/02.05.50/tables/ssf17_sqx.json | 20 - .../cs/02.05.50/tables/ssf18_saj.json | 20 - .../cs/02.05.50/tables/ssf18_snm.json | 18 - .../cs/02.05.50/tables/ssf18_sqy.json | 20 - .../cs/02.05.50/tables/ssf19_sak.json | 20 - .../cs/02.05.50/tables/ssf19_snn.json | 18 - .../cs/02.05.50/tables/ssf19_sqz.json | 20 - .../cs/02.05.50/tables/ssf1_jae.json | 20 - .../cs/02.05.50/tables/ssf1_jag.json | 20 - .../cs/02.05.50/tables/ssf1_jaj.json | 24 - .../cs/02.05.50/tables/ssf1_jal.json | 20 - .../cs/02.05.50/tables/ssf1_jam.json | 20 - .../cs/02.05.50/tables/ssf1_jap.json | 20 - .../cs/02.05.50/tables/ssf1_jaq.json | 20 - .../cs/02.05.50/tables/ssf1_jat.json | 37 - .../cs/02.05.50/tables/ssf1_jav.json | 20 - .../cs/02.05.50/tables/ssf1_jaw.json | 20 - .../cs/02.05.50/tables/ssf1_jax.json | 20 - .../cs/02.05.50/tables/ssf1_jba.json | 20 - .../cs/02.05.50/tables/ssf1_jbd.json | 20 - .../cs/02.05.50/tables/ssf1_jbg.json | 20 - .../cs/02.05.50/tables/ssf1_jbh.json | 20 - .../cs/02.05.50/tables/ssf1_jbj.json | 20 - .../cs/02.05.50/tables/ssf1_jbk.json | 20 - .../cs/02.05.50/tables/ssf1_jbl.json | 20 - .../cs/02.05.50/tables/ssf1_jbm.json | 20 - .../cs/02.05.50/tables/ssf1_jbp.json | 20 - .../cs/02.05.50/tables/ssf1_jbq.json | 20 - .../cs/02.05.50/tables/ssf1_jbt.json | 20 - .../cs/02.05.50/tables/ssf1_jbv.json | 20 - .../cs/02.05.50/tables/ssf1_jbx.json | 20 - .../cs/02.05.50/tables/ssf1_jby.json | 20 - .../cs/02.05.50/tables/ssf1_jbz.json | 20 - .../cs/02.05.50/tables/ssf1_jca.json | 20 - .../cs/02.05.50/tables/ssf1_jcd.json | 20 - .../cs/02.05.50/tables/ssf1_jce.json | 20 - .../cs/02.05.50/tables/ssf1_jcf.json | 20 - .../cs/02.05.50/tables/ssf1_jcg.json | 20 - .../cs/02.05.50/tables/ssf1_jch.json | 20 - .../cs/02.05.50/tables/ssf1_jna.json | 18 - .../cs/02.05.50/tables/ssf1_jpa.json | 20 - .../cs/02.05.50/tables/ssf1_jpd.json | 20 - .../cs/02.05.50/tables/ssf1_jpe.json | 20 - .../cs/02.05.50/tables/ssf1_jpf.json | 20 - .../cs/02.05.50/tables/ssf1_jpj.json | 20 - .../cs/02.05.50/tables/ssf1_jpl.json | 20 - .../cs/02.05.50/tables/ssf1_jpm.json | 24 - .../cs/02.05.50/tables/ssf1_jpn.json | 20 - .../cs/02.05.50/tables/ssf1_jpo.json | 20 - .../cs/02.05.50/tables/ssf1_jpp.json | 20 - .../cs/02.05.50/tables/ssf1_jpq.json | 20 - .../cs/02.05.50/tables/ssf1_jpr.json | 20 - .../cs/02.05.50/tables/ssf1_jpt.json | 20 - .../cs/02.05.50/tables/ssf1_jpu.json | 20 - .../cs/02.05.50/tables/ssf1_jpv.json | 20 - .../cs/02.05.50/tables/ssf1_jpw.json | 20 - .../cs/02.05.50/tables/ssf1_sbh.json | 20 - .../cs/02.05.50/tables/ssf1_sstg_jat.json | 25 - .../cs/02.05.50/tables/ssf20_sal.json | 20 - .../cs/02.05.50/tables/ssf20_sno.json | 18 - .../cs/02.05.50/tables/ssf20_sra.json | 20 - .../cs/02.05.50/tables/ssf21_sam.json | 20 - .../cs/02.05.50/tables/ssf21_snp.json | 18 - .../cs/02.05.50/tables/ssf21_srb.json | 20 - .../cs/02.05.50/tables/ssf22_san.json | 20 - .../cs/02.05.50/tables/ssf22_snq.json | 18 - .../cs/02.05.50/tables/ssf22_src.json | 20 - .../cs/02.05.50/tables/ssf23_sao.json | 20 - .../cs/02.05.50/tables/ssf23_snr.json | 18 - .../cs/02.05.50/tables/ssf24_sap.json | 20 - .../cs/02.05.50/tables/ssf24_sns.json | 18 - .../cs/02.05.50/tables/ssf25_snt.json | 18 - .../cs/02.05.50/tables/ssf25_spj.json | 24 - .../cs/02.05.50/tables/ssf25_spp.json | 24 - .../cs/02.05.50/tables/ssf25_spv.json | 24 - .../cs/02.05.50/tables/ssf25_sqc.json | 24 - .../cs/02.05.50/tables/ssf25_sqi.json | 24 - .../cs/02.05.50/tables/ssf25_sqp.json | 24 - .../cs/02.05.50/tables/ssf2_kaa.json | 20 - .../cs/02.05.50/tables/ssf2_kab.json | 20 - .../cs/02.05.50/tables/ssf2_kac.json | 20 - .../cs/02.05.50/tables/ssf2_kad.json | 20 - .../cs/02.05.50/tables/ssf2_kaj.json | 20 - .../cs/02.05.50/tables/ssf2_kak.json | 20 - .../cs/02.05.50/tables/ssf2_kal.json | 19 - .../cs/02.05.50/tables/ssf2_kao.json | 20 - .../cs/02.05.50/tables/ssf2_kaq.json | 20 - .../cs/02.05.50/tables/ssf2_kar.json | 20 - .../cs/02.05.50/tables/ssf2_kas.json | 20 - .../cs/02.05.50/tables/ssf2_kaw.json | 20 - .../cs/02.05.50/tables/ssf2_kax.json | 20 - .../cs/02.05.50/tables/ssf2_kay.json | 20 - .../cs/02.05.50/tables/ssf2_kaz.json | 20 - .../cs/02.05.50/tables/ssf2_kbb.json | 20 - .../cs/02.05.50/tables/ssf2_kbc.json | 19 - .../cs/02.05.50/tables/ssf2_kbf.json | 20 - .../cs/02.05.50/tables/ssf2_kbi.json | 20 - .../cs/02.05.50/tables/ssf2_kbl.json | 20 - .../cs/02.05.50/tables/ssf2_kbm.json | 20 - .../cs/02.05.50/tables/ssf2_kbu.json | 20 - .../cs/02.05.50/tables/ssf2_kbv.json | 20 - .../cs/02.05.50/tables/ssf2_kbw.json | 20 - .../cs/02.05.50/tables/ssf2_kbx.json | 20 - .../cs/02.05.50/tables/ssf2_kna.json | 18 - .../cs/02.05.50/tables/ssf2_kpa.json | 20 - .../cs/02.05.50/tables/ssf2_kpc.json | 20 - .../cs/02.05.50/tables/ssf2_kpd.json | 20 - .../cs/02.05.50/tables/ssf2_kpg.json | 25 - .../cs/02.05.50/tables/ssf2_kph.json | 20 - .../cs/02.05.50/tables/ssf2_kpi.json | 20 - .../cs/02.05.50/tables/ssf2_kpj.json | 20 - .../cs/02.05.50/tables/ssf2_kpk.json | 20 - .../cs/02.05.50/tables/ssf2_kpl.json | 20 - .../cs/02.05.50/tables/ssf2_kpn.json | 20 - .../cs/02.05.50/tables/ssf2_kpo.json | 20 - .../cs/02.05.50/tables/ssf2_kpp.json | 20 - .../cs/02.05.50/tables/ssf2_kpq.json | 20 - .../cs/02.05.50/tables/ssf2_kpr.json | 20 - .../cs/02.05.50/tables/ssf2_sbi.json | 20 - .../cs/02.05.50/tables/ssf2_sbz.json | 20 - .../cs/02.05.50/tables/ssf3_laa.json | 20 - .../cs/02.05.50/tables/ssf3_lab.json | 37 - .../cs/02.05.50/tables/ssf3_lac.json | 20 - .../cs/02.05.50/tables/ssf3_lad.json | 20 - .../cs/02.05.50/tables/ssf3_laf.json | 20 - .../cs/02.05.50/tables/ssf3_lah.json | 20 - .../cs/02.05.50/tables/ssf3_lai.json | 20 - .../cs/02.05.50/tables/ssf3_lao.json | 20 - .../cs/02.05.50/tables/ssf3_lap.json | 19 - .../cs/02.05.50/tables/ssf3_laq.json | 20 - .../cs/02.05.50/tables/ssf3_lat.json | 20 - .../cs/02.05.50/tables/ssf3_law.json | 20 - .../cs/02.05.50/tables/ssf3_lay.json | 20 - .../cs/02.05.50/tables/ssf3_laz.json | 20 - .../cs/02.05.50/tables/ssf3_lba.json | 20 - .../cs/02.05.50/tables/ssf3_lbb.json | 20 - .../cs/02.05.50/tables/ssf3_lbc.json | 20 - .../cs/02.05.50/tables/ssf3_lna.json | 18 - .../cs/02.05.50/tables/ssf3_lpa.json | 20 - .../cs/02.05.50/tables/ssf3_lpc.json | 20 - .../cs/02.05.50/tables/ssf3_lpd.json | 20 - .../cs/02.05.50/tables/ssf3_lpe.json | 20 - .../cs/02.05.50/tables/ssf3_lph.json | 20 - .../cs/02.05.50/tables/ssf3_lpj.json | 20 - .../cs/02.05.50/tables/ssf3_lpk.json | 20 - .../cs/02.05.50/tables/ssf3_lpl.json | 20 - .../cs/02.05.50/tables/ssf3_lpm.json | 20 - .../cs/02.05.50/tables/ssf3_lpp.json | 20 - .../cs/02.05.50/tables/ssf3_lpq.json | 20 - .../cs/02.05.50/tables/ssf3_lpr.json | 20 - .../cs/02.05.50/tables/ssf3_lps.json | 20 - .../cs/02.05.50/tables/ssf3_lpt.json | 20 - .../cs/02.05.50/tables/ssf3_lpu.json | 20 - .../cs/02.05.50/tables/ssf3_sstg_lab.json | 25 - .../cs/02.05.50/tables/ssf4_maa.json | 20 - .../cs/02.05.50/tables/ssf4_mab.json | 20 - .../cs/02.05.50/tables/ssf4_mac.json | 19 - .../cs/02.05.50/tables/ssf4_maf.json | 20 - .../cs/02.05.50/tables/ssf4_maj.json | 20 - .../cs/02.05.50/tables/ssf4_mal.json | 20 - .../cs/02.05.50/tables/ssf4_mam.json | 20 - .../cs/02.05.50/tables/ssf4_mas.json | 20 - .../cs/02.05.50/tables/ssf4_mat.json | 20 - .../cs/02.05.50/tables/ssf4_mav.json | 20 - .../cs/02.05.50/tables/ssf4_maz.json | 20 - .../cs/02.05.50/tables/ssf4_mbd.json | 20 - .../cs/02.05.50/tables/ssf4_mbg.json | 20 - .../cs/02.05.50/tables/ssf4_mbh.json | 20 - .../cs/02.05.50/tables/ssf4_mbi.json | 20 - .../cs/02.05.50/tables/ssf4_mbj.json | 20 - .../cs/02.05.50/tables/ssf4_mna.json | 18 - .../cs/02.05.50/tables/ssf4_mpa.json | 20 - .../cs/02.05.50/tables/ssf4_mpb.json | 20 - .../cs/02.05.50/tables/ssf4_mpd.json | 20 - .../cs/02.05.50/tables/ssf4_mpe.json | 20 - .../cs/02.05.50/tables/ssf4_mpf.json | 20 - .../cs/02.05.50/tables/ssf4_mpg.json | 20 - .../cs/02.05.50/tables/ssf4_mpn.json | 20 - .../cs/02.05.50/tables/ssf4_mpq.json | 20 - .../cs/02.05.50/tables/ssf4_mpr.json | 20 - .../cs/02.05.50/tables/ssf4_mps.json | 20 - .../cs/02.05.50/tables/ssf5_naa.json | 20 - .../cs/02.05.50/tables/ssf5_nab.json | 20 - .../cs/02.05.50/tables/ssf5_nac.json | 20 - .../cs/02.05.50/tables/ssf5_nae.json | 20 - .../cs/02.05.50/tables/ssf5_nah.json | 20 - .../cs/02.05.50/tables/ssf5_nai.json | 20 - .../cs/02.05.50/tables/ssf5_nak.json | 20 - .../cs/02.05.50/tables/ssf5_nap.json | 20 - .../cs/02.05.50/tables/ssf5_naq.json | 20 - .../cs/02.05.50/tables/ssf5_nar.json | 19 - .../cs/02.05.50/tables/ssf5_nas.json | 20 - .../cs/02.05.50/tables/ssf5_nav.json | 20 - .../cs/02.05.50/tables/ssf5_naw.json | 20 - .../cs/02.05.50/tables/ssf5_nba.json | 20 - .../cs/02.05.50/tables/ssf5_nbb.json | 20 - .../cs/02.05.50/tables/ssf5_nna.json | 18 - .../cs/02.05.50/tables/ssf5_npa.json | 20 - .../cs/02.05.50/tables/ssf5_npb.json | 20 - .../cs/02.05.50/tables/ssf5_npe.json | 20 - .../cs/02.05.50/tables/ssf5_npf.json | 20 - .../cs/02.05.50/tables/ssf5_npg.json | 20 - .../cs/02.05.50/tables/ssf5_nph.json | 20 - .../cs/02.05.50/tables/ssf5_npk.json | 20 - .../cs/02.05.50/tables/ssf5_npl.json | 20 - .../cs/02.05.50/tables/ssf5_npm.json | 20 - .../cs/02.05.50/tables/ssf6_oaa.json | 20 - .../cs/02.05.50/tables/ssf6_oad.json | 20 - .../cs/02.05.50/tables/ssf6_oae.json | 20 - .../cs/02.05.50/tables/ssf6_oaf.json | 20 - .../cs/02.05.50/tables/ssf6_oag.json | 20 - .../cs/02.05.50/tables/ssf6_oak.json | 20 - .../cs/02.05.50/tables/ssf6_oam.json | 20 - .../cs/02.05.50/tables/ssf6_oao.json | 20 - .../cs/02.05.50/tables/ssf6_oap.json | 20 - .../cs/02.05.50/tables/ssf6_oaq.json | 20 - .../cs/02.05.50/tables/ssf6_oas.json | 20 - .../cs/02.05.50/tables/ssf6_oat.json | 20 - .../cs/02.05.50/tables/ssf6_oaw.json | 20 - .../cs/02.05.50/tables/ssf6_oax.json | 20 - .../cs/02.05.50/tables/ssf6_oay.json | 20 - .../cs/02.05.50/tables/ssf6_ona.json | 18 - .../cs/02.05.50/tables/ssf6_opa.json | 20 - .../cs/02.05.50/tables/ssf6_opb.json | 20 - .../cs/02.05.50/tables/ssf6_opd.json | 20 - .../cs/02.05.50/tables/ssf6_opf.json | 20 - .../cs/02.05.50/tables/ssf6_opg.json | 20 - .../cs/02.05.50/tables/ssf6_oph.json | 20 - .../cs/02.05.50/tables/ssf6_opi.json | 20 - .../cs/02.05.50/tables/ssf7_saa.json | 20 - .../cs/02.05.50/tables/ssf7_saq.json | 20 - .../cs/02.05.50/tables/ssf7_saw.json | 20 - .../cs/02.05.50/tables/ssf7_sbv.json | 20 - .../cs/02.05.50/tables/ssf7_sbx.json | 20 - .../cs/02.05.50/tables/ssf7_scb.json | 20 - .../cs/02.05.50/tables/ssf7_scq.json | 20 - .../cs/02.05.50/tables/ssf7_sde.json | 20 - .../cs/02.05.50/tables/ssf7_sdf.json | 20 - .../cs/02.05.50/tables/ssf7_sdo.json | 20 - .../cs/02.05.50/tables/ssf7_sdx.json | 20 - .../cs/02.05.50/tables/ssf7_seb.json | 20 - .../cs/02.05.50/tables/ssf7_seh.json | 20 - .../cs/02.05.50/tables/ssf7_sfl.json | 20 - .../cs/02.05.50/tables/ssf7_snb.json | 18 - .../cs/02.05.50/tables/ssf7_spa.json | 20 - .../cs/02.05.50/tables/ssf7_spf.json | 20 - .../cs/02.05.50/tables/ssf7_spw.json | 20 - .../cs/02.05.50/tables/ssf7_sqk.json | 20 - .../cs/02.05.50/tables/ssf7_sqn.json | 20 - .../cs/02.05.50/tables/ssf7_sre.json | 20 - .../cs/02.05.50/tables/ssf8_sab.json | 20 - .../cs/02.05.50/tables/ssf8_sar.json | 20 - .../cs/02.05.50/tables/ssf8_sax.json | 20 - .../cs/02.05.50/tables/ssf8_sby.json | 20 - .../cs/02.05.50/tables/ssf8_scc.json | 20 - .../cs/02.05.50/tables/ssf8_sdd.json | 20 - .../cs/02.05.50/tables/ssf8_sdp.json | 20 - .../cs/02.05.50/tables/ssf8_sdy.json | 20 - .../cs/02.05.50/tables/ssf8_sec.json | 20 - .../cs/02.05.50/tables/ssf8_sei.json | 20 - .../cs/02.05.50/tables/ssf8_sfk.json | 20 - .../cs/02.05.50/tables/ssf8_snc.json | 18 - .../cs/02.05.50/tables/ssf8_spb.json | 20 - .../cs/02.05.50/tables/ssf8_spg.json | 20 - .../cs/02.05.50/tables/ssf8_spx.json | 20 - .../cs/02.05.50/tables/ssf8_sql.json | 20 - .../cs/02.05.50/tables/ssf8_sqo.json | 20 - .../cs/02.05.50/tables/ssf8_srf.json | 20 - .../cs/02.05.50/tables/ssf9_sac.json | 20 - .../cs/02.05.50/tables/ssf9_sas.json | 20 - .../cs/02.05.50/tables/ssf9_say.json | 20 - .../cs/02.05.50/tables/ssf9_sdi.json | 20 - .../cs/02.05.50/tables/ssf9_sdq.json | 20 - .../cs/02.05.50/tables/ssf9_sdz.json | 20 - .../cs/02.05.50/tables/ssf9_sed.json | 20 - .../cs/02.05.50/tables/ssf9_sej.json | 20 - .../cs/02.05.50/tables/ssf9_snd.json | 18 - .../cs/02.05.50/tables/ssf9_spc.json | 20 - .../cs/02.05.50/tables/ssf9_sph.json | 20 - .../cs/02.05.50/tables/ssf9_sqm.json | 20 - .../cs/02.05.50/tables/ssf9_srg.json | 20 - .../cs/02.05.50/tables/summary_stage_raa.json | 30 - .../cs/02.05.50/tables/summary_stage_rac.json | 30 - .../cs/02.05.50/tables/summary_stage_rpa.json | 30 - .../thickness_ulceration_ajcc6_xbn.json | 24 - .../thickness_ulceration_ajcc7_xhu.json | 24 - .../tables/tumor_size_category_ajcc7_xpk.json | 27 - .../tables/tumor_size_pair_ajcc6_xpl.json | 27 - .../resources/algorithms/eod_public-3.3.zip | Bin 0 -> 1938151 bytes .../glossary/55a9a501e4b05cd0cddc710a.json | 6 - .../eod_public/3.3/glossary/terms.txt | 2 - .../3.3/schemas/adnexa_uterine_other.json | 274 -- .../eod_public/3.3/schemas/adrenal_gland.json | 274 -- .../eod_public/3.3/schemas/ampulla_vater.json | 274 -- .../eod_public/3.3/schemas/anus.json | 275 -- .../eod_public/3.3/schemas/anus_v9_2023.json | 296 -- .../eod_public/3.3/schemas/appendix.json | 307 -- .../3.3/schemas/appendix_v9_2023.json | 327 -- .../3.3/schemas/bile_ducts_distal.json | 294 -- .../3.3/schemas/bile_ducts_intrahepat.json | 327 -- .../3.3/schemas/bile_ducts_perihilar.json | 311 -- .../eod_public/3.3/schemas/biliary_other.json | 274 -- .../eod_public/3.3/schemas/bladder.json | 274 -- .../schemas/bone_appendicular_skeleton.json | 292 -- .../eod_public/3.3/schemas/bone_pelvis.json | 292 -- .../eod_public/3.3/schemas/bone_spine.json | 292 -- .../eod_public/3.3/schemas/brain.json | 338 -- .../eod_public/3.3/schemas/brain_v9_2023.json | 361 -- .../eod_public/3.3/schemas/breast.json | 724 ---- .../eod_public/3.3/schemas/buccal_mucosa.json | 344 -- ...cervical_lymph_nodes_occult_head_neck.json | 434 --- .../eod_public/3.3/schemas/cervix.json | 382 --- .../3.3/schemas/cervix_9th_2021.json | 410 --- .../3.3/schemas/cervix_sarcoma.json | 370 -- .../eod_public/3.3/schemas/cns_other.json | 335 -- .../3.3/schemas/cns_other_v9_2023.json | 335 -- .../eod_public/3.3/schemas/colon_rectum.json | 428 --- .../eod_public/3.3/schemas/conjunctiva.json | 274 -- .../3.3/schemas/corpus_adenosarcoma.json | 362 -- .../3.3/schemas/corpus_carcinoma.json | 390 --- .../3.3/schemas/corpus_sarcoma.json | 362 -- .../cutaneous_carcinoma_head_neck.json | 331 -- .../eod_public/3.3/schemas/cystic_duct.json | 294 -- .../3.3/schemas/digestive_other.json | 274 -- .../3.3/schemas/endocrine_other.json | 274 -- .../3.3/schemas/esophagus_gejunction.json | 326 -- ...phagus_including_ge_junction_squamous.json | 343 -- .../eod_public/3.3/schemas/eye_other.json | 274 -- .../3.3/schemas/fallopian_tube.json | 331 -- .../eod_public/3.3/schemas/floor_mouth.json | 344 -- .../eod_public/3.3/schemas/gallbladder.json | 274 -- .../3.3/schemas/genital_female_other.json | 274 -- .../3.3/schemas/genital_male_other.json | 274 -- .../eod_public/3.3/schemas/gist.json | 310 -- .../eod_public/3.3/schemas/gum.json | 344 -- .../3.3/schemas/heart_mediastinum_pleura.json | 287 -- .../eod_public/3.3/schemas/hemeretic.json | 317 -- .../eod_public/3.3/schemas/hypopharynx.json | 344 -- .../algorithms/eod_public/3.3/schemas/ids.txt | 141 - .../3.3/schemas/ill_defined_other.json | 280 -- .../3.3/schemas/intracranial_gland.json | 275 -- .../schemas/intracranial_gland_v9_2023.json | 275 -- .../3.3/schemas/kaposi_sarcoma.json | 269 -- .../3.3/schemas/kidney_parenchyma.json | 349 -- .../3.3/schemas/kidney_renal_pelvis.json | 274 -- .../3.3/schemas/lacrimal_gland.json | 329 -- .../eod_public/3.3/schemas/lacrimal_sac.json | 294 -- .../3.3/schemas/larynx_glottic.json | 333 -- .../eod_public/3.3/schemas/larynx_other.json | 333 -- .../3.3/schemas/larynx_subglottic.json | 333 -- .../3.3/schemas/larynx_supraglottic.json | 334 -- .../eod_public/3.3/schemas/lip.json | 345 -- .../eod_public/3.3/schemas/liver.json | 400 --- .../eod_public/3.3/schemas/lung.json | 353 -- .../eod_public/3.3/schemas/lung_v9_2025.json | 382 --- .../eod_public/3.3/schemas/lymphoma.json | 372 -- .../3.3/schemas/lymphoma_cll_sll.json | 447 --- .../3.3/schemas/lymphoma_ocular_adnexa.json | 267 -- .../3.3/schemas/major_salivary_glands.json | 336 -- .../major_salivary_glands_v9_2026.json | 326 -- .../3.3/schemas/maxillary_sinus.json | 333 -- .../3.3/schemas/medulloblastoma_v9_2023.json | 290 -- .../melanoma_choroid_ciliary_body.json | 408 --- .../3.3/schemas/melanoma_conjunctiva.json | 289 -- .../3.3/schemas/melanoma_head_neck.json | 413 --- .../eod_public/3.3/schemas/melanoma_iris.json | 408 --- .../eod_public/3.3/schemas/melanoma_skin.json | 419 --- .../3.3/schemas/merkel_cell_skin.json | 345 -- .../eod_public/3.3/schemas/middle_ear.json | 274 -- .../eod_public/3.3/schemas/mouth_other.json | 344 -- .../3.3/schemas/mycosis_fungoides.json | 292 -- .../schemas/nasal_cavity_ethmoid_sinus.json | 333 -- .../eod_public/3.3/schemas/nasopharynx.json | 354 -- .../3.3/schemas/nasopharynx_v9_2025.json | 326 -- .../3.3/schemas/net_adrenal_gland.json | 274 -- .../eod_public/3.3/schemas/net_ampulla.json | 290 -- .../schemas/net_ampulla_of_vater_v9_2024.json | 290 -- .../eod_public/3.3/schemas/net_appendix.json | 290 -- .../3.3/schemas/net_appendix_v9_2024.json | 290 -- .../schemas/net_colon_and_rectum_v9_2024.json | 290 -- .../3.3/schemas/net_colon_rectum.json | 290 -- .../eod_public/3.3/schemas/net_duodenum.json | 290 -- .../3.3/schemas/net_duodenum_v9_2024.json | 290 -- .../net_jejunum_and_ileum_v9_2024.json | 290 -- .../3.3/schemas/net_jejunum_ileum.json | 290 -- .../eod_public/3.3/schemas/net_pancreas.json | 290 -- .../3.3/schemas/net_pancreas_v9_2024.json | 290 -- .../eod_public/3.3/schemas/net_stomach.json | 290 -- .../3.3/schemas/net_stomach_v9_2024.json | 290 -- .../3.3/schemas/orbital_sarcoma.json | 275 -- .../oropharynx_hpv_associated_v9_2026.json | 356 -- .../oropharynx_hpv_mediated_p16_pos.json | 378 --- .../3.3/schemas/oropharynx_p16_neg.json | 382 --- .../eod_public/3.3/schemas/ovary.json | 331 -- .../eod_public/3.3/schemas/palate_hard.json | 344 -- .../eod_public/3.3/schemas/pancreas.json | 293 -- .../eod_public/3.3/schemas/parathyroid.json | 274 -- .../eod_public/3.3/schemas/penis.json | 304 -- .../eod_public/3.3/schemas/pharynx_other.json | 274 -- .../eod_public/3.3/schemas/placenta.json | 311 -- .../3.3/schemas/plasma_cell_disorders.json | 298 -- .../3.3/schemas/plasma_cell_myeloma.json | 385 --- .../3.3/schemas/pleural_mesothelioma.json | 290 -- .../schemas/pleural_mesothelioma_v9_2025.json | 290 -- .../primary_cutaneous_lymphoma_non_mf_ss.json | 288 -- .../schemas/primary_peritoneal_carcinoma.json | 339 -- .../eod_public/3.3/schemas/prostate.json | 467 --- .../3.3/schemas/respiratory_other.json | 274 -- .../3.3/schemas/retinoblastoma.json | 284 -- .../3.3/schemas/retroperitoneum.json | 295 -- .../eod_public/3.3/schemas/sinus_other.json | 274 -- .../eod_public/3.3/schemas/skin_eyelid.json | 289 -- .../eod_public/3.3/schemas/skin_other.json | 274 -- .../3.3/schemas/small_intestine.json | 274 -- .../schemas/soft_tissue_abdomen_thoracic.json | 299 -- .../3.3/schemas/soft_tissue_head_neck.json | 295 -- .../3.3/schemas/soft_tissue_other.json | 324 -- .../3.3/schemas/soft_tissue_rare.json | 302 -- .../soft_tissue_trunk_extremities.json | 299 -- .../eod_public/3.3/schemas/stomach.json | 308 -- .../eod_public/3.3/schemas/testis.json | 488 --- .../eod_public/3.3/schemas/thymus.json | 275 -- .../3.3/schemas/thymus_v9_2025.json | 275 -- .../eod_public/3.3/schemas/thyroid.json | 300 -- .../3.3/schemas/thyroid_medullary.json | 293 -- .../3.3/schemas/tongue_anterior.json | 344 -- .../eod_public/3.3/schemas/trachea.json | 274 -- .../eod_public/3.3/schemas/urethra.json | 294 -- .../3.3/schemas/urethra_prostatic.json | 294 -- .../eod_public/3.3/schemas/urinary_other.json | 274 -- .../eod_public/3.3/schemas/vagina.json | 414 --- .../eod_public/3.3/schemas/vulva.json | 369 -- .../eod_public/3.3/schemas/vulva_v9_2024.json | 385 --- ...adenoid_cystic_basaloid_pattern_86314.json | 23 - .../3.3/tables/adenopathy_40816.json | 23 - .../tables/adnexa_uterine_other_36223.json | 21 - .../tables/adnexa_uterine_other_97891.json | 21 - .../afp_post_orchiectomy_lab_value_90733.json | 23 - .../afp_post_orchiectomy_range_84758.json | 22 - .../afp_pre_orchiectomy_lab_value_94162.json | 23 - .../afp_pre_orchiectomy_range_11386.json | 22 - .../afp_pretx_interpretation_66147.json | 23 - .../3.3/tables/afp_pretx_lab_value_25871.json | 23 - .../age_at_diagnosis_validation_65093.json | 15 - .../3.3/tables/ajcc_grade_3_94758.json | 19 - .../3.3/tables/ajcc_path_grade_3_70197.json | 19 - .../3.3/tables/alk_rearrangement_610.json | 23 - .../eod_public/3.3/tables/anemia_15893.json | 23 - .../b2_microglob_pretx_level_83264.json | 23 - .../eod_public/3.3/tables/behavior.json | 19 - ...with_primary_tumor_for_ss2018_t_69793.json | 23 - ...l_bileductsperihilar_cysticduct_24541.json | 25 - .../bilirubin_pretx_lab_value_68660.json | 23 - .../tables/bilirubin_pretx_unit_98627.json | 22 - .../3.3/tables/bone_invasion_96628.json | 23 - .../braf_mutational_analysis_37823.json | 23 - .../tables/brain_molecular_markers_75370.json | 23 - .../brain_molecular_markers_v9_48556.json | 27 - .../brain_primary_tumor_location_69074.json | 22 - .../3.3/tables/breslow_thickness_79262.json | 23 - .../ca_125_pretx_interpretation_51295.json | 23 - .../tables/ca_19_9_pretx_lab_value_17332.json | 23 - .../cea_pretx_interpretation_99474.json | 23 - .../3.3/tables/cea_pretx_lab_value_33864.json | 23 - .../tables/chromosome_19q_status_72683.json | 23 - .../tables/chromosome_1p_status_40269.json | 23 - .../3.3/tables/chromosome_3_status_93464.json | 23 - .../tables/chromosome_8q_status_83582.json | 23 - ...ircumferential_resection_margin_77909.json | 24 - .../tables/clinical_margin_width_1179.json | 22 - .../combine_prostate_eod_extension_16771.json | 23 - .../3.3/tables/combined_grade_56638.json | 24 - .../tables/combined_grade_breast_8723.json | 28 - .../creatinine_pretx_lab_value_56869.json | 23 - .../tables/creatinine_pretx_unit_26973.json | 22 - .../3.3/tables/derive_rai_stage_42032.json | 35 - .../3.3/tables/derived_grade_10693.json | 18 - .../3.3/tables/derived_grade_12594.json | 18 - .../3.3/tables/derived_grade_2099.json | 18 - .../3.3/tables/derived_grade_21657.json | 18 - .../3.3/tables/derived_grade_21945.json | 18 - .../3.3/tables/derived_grade_21973.json | 18 - .../3.3/tables/derived_grade_24813.json | 18 - .../3.3/tables/derived_grade_27440.json | 18 - .../3.3/tables/derived_grade_29698.json | 18 - .../3.3/tables/derived_grade_30763.json | 18 - .../3.3/tables/derived_grade_32209.json | 18 - .../3.3/tables/derived_grade_40528.json | 18 - .../3.3/tables/derived_grade_46639.json | 18 - .../3.3/tables/derived_grade_48704.json | 18 - .../3.3/tables/derived_grade_58317.json | 18 - .../3.3/tables/derived_grade_69945.json | 18 - .../3.3/tables/derived_grade_71063.json | 18 - .../3.3/tables/derived_grade_71227.json | 18 - .../3.3/tables/derived_grade_74326.json | 18 - .../3.3/tables/derived_grade_76001.json | 18 - .../3.3/tables/derived_grade_83462.json | 18 - .../3.3/tables/derived_grade_84046.json | 18 - .../3.3/tables/derived_grade_8564.json | 18 - .../3.3/tables/derived_grade_91894.json | 18 - .../3.3/tables/derived_grade_93981.json | 18 - .../3.3/tables/derived_grade_96207.json | 18 - .../3.3/tables/derived_grade_97763.json | 18 - .../3.3/tables/derived_grade_gist_82068.json | 18 - .../tables/derived_grade_standard_1196.json | 18 - ...derived_grade_standard_non_ajcc_63932.json | 18 - .../3.3/tables/derived_rai_stage_73218.json | 26 - .../derived_ss2018_adrenal_gland_258.json | 19 - .../derived_ss2018_ampulla_of_vater_2679.json | 19 - .../3.3/tables/derived_ss2018_anus_8409.json | 19 - .../tables/derived_ss2018_appendix_76889.json | 19 - .../derived_ss2018_biliary_other_47058.json | 19 - .../tables/derived_ss2018_bladder_71090.json | 19 - .../3.3/tables/derived_ss2018_bone_34531.json | 19 - .../tables/derived_ss2018_brain_35480.json | 19 - .../tables/derived_ss2018_breast_7622.json | 19 - .../derived_ss2018_buccal_mucosa_61240.json | 19 - ...primary_tumors_of_head_and_neck_49724.json | 19 - .../tables/derived_ss2018_cervix_8763.json | 19 - .../derived_ss2018_cns_other_22397.json | 19 - ...derived_ss2018_colon_and_rectum_35271.json | 19 - .../derived_ss2018_conjunctiva_74486.json | 19 - ...us_carcinoma_and_carcinosarcoma_56302.json | 19 - .../derived_ss2018_corpus_sarcoma_68247.json | 19 - .../derived_ss2018_digestive_other_3351.json | 19 - .../derived_ss2018_endocrine_other_15778.json | 19 - .../derived_ss2018_esophagus_32092.json | 19 - ..._ss2018_extrahepatic_bile_ducts_37420.json | 19 - .../derived_ss2018_eye_other_38179.json | 19 - .../derived_ss2018_fallopian_tube_71863.json | 19 - .../derived_ss2018_gallbladder_56868.json | 19 - ...ived_ss2018_genital_female_other_6389.json | 19 - ...rived_ss2018_genital_male_other_41924.json | 19 - .../3.3/tables/derived_ss2018_gist_48315.json | 19 - .../3.3/tables/derived_ss2018_gum_32702.json | 19 - ...18_heart_mediastinum_and_pleura_70478.json | 19 - .../derived_ss2018_hemeretic_89184.json | 19 - .../derived_ss2018_hypopharynx_33792.json | 19 - ...erived_ss2018_ill_defined_other_41227.json | 19 - ...erived_ss2018_intracranial_gland_8078.json | 19 - ..._ss2018_intrahepatic_bile_ducts_29879.json | 19 - .../derived_ss2018_kaposi_sarcoma_84609.json | 19 - ...erived_ss2018_kidney_parenchyma_35397.json | 19 - ...rived_ss2018_kidney_renal_pelvis_4595.json | 19 - ...rived_ss2018_lacrimal_gland_sac_94643.json | 19 - .../derived_ss2018_larynx_glottic_7548.json | 19 - .../derived_ss2018_larynx_other_66228.json | 19 - ...erived_ss2018_larynx_subglottic_66548.json | 19 - ...ived_ss2018_larynx_supraglottic_62635.json | 19 - .../3.3/tables/derived_ss2018_lip_8421.json | 19 - .../tables/derived_ss2018_liver_13967.json | 19 - .../3.3/tables/derived_ss2018_lung_59907.json | 19 - .../tables/derived_ss2018_lymphoma_35135.json | 20 - ...d_ss2018_lymphoma_ocular_adnexa_92324.json | 19 - ...ed_ss2018_major_salivary_glands_88669.json | 19 - .../derived_ss2018_medulloblastoma_71501.json | 19 - ...ved_ss2018_melanoma_conjunctiva_64436.json | 19 - ...d_ss2018_melanoma_head_and_neck_82003.json | 19 - .../derived_ss2018_melanoma_skin_34689.json | 19 - .../derived_ss2018_melanoma_uvea_22506.json | 19 - ...derived_ss2018_merkel_cell_skin_71353.json | 19 - .../derived_ss2018_middle_ear_38870.json | 19 - .../derived_ss2018_mouth_other_30776.json | 19 - ...erived_ss2018_mycosis_fungoides_14217.json | 19 - ...yeloma_and_plasma_cell_disorders_3894.json | 19 - ...al_cavity_and_paranasal_sinuses_97890.json | 19 - .../derived_ss2018_nasopharynx_69453.json | 19 - .../derived_ss2018_orbital_sarcoma_90415.json | 19 - .../derived_ss2018_oropharynx_79318.json | 19 - ...nd_primary_peritoneal_carcinoma_26044.json | 19 - .../derived_ss2018_palate_hard_38646.json | 19 - .../tables/derived_ss2018_pancreas_85813.json | 19 - .../derived_ss2018_parathyroid_93552.json | 19 - .../tables/derived_ss2018_penis_70064.json | 19 - .../derived_ss2018_pharynx_other_63252.json | 19 - .../tables/derived_ss2018_placenta_6507.json | 19 - ...ved_ss2018_pleural_mesothelioma_74611.json | 19 - ...018_primary_cutaneous_lymphomas_45083.json | 19 - .../tables/derived_ss2018_prostate_48792.json | 19 - ...erived_ss2018_respiratory_other_17734.json | 19 - .../derived_ss2018_retinoblastoma_10326.json | 19 - .../derived_ss2018_retroperitoneum_11521.json | 19 - .../derived_ss2018_sinus_other_893.json | 19 - ...rived_ss2018_skin_except_eyelid_95559.json | 19 - .../derived_ss2018_skin_eyelid_74710.json | 19 - .../derived_ss2018_small_intestine_48854.json | 19 - ...ss2018_soft_tissue_and_sarcomas_99149.json | 19 - .../tables/derived_ss2018_stomach_19183.json | 19 - .../tables/derived_ss2018_testis_36736.json | 19 - .../tables/derived_ss2018_thymus_2194.json | 19 - .../tables/derived_ss2018_thyroid_44895.json | 19 - .../derived_ss2018_tongue_anterior_40968.json | 19 - .../tables/derived_ss2018_trachea_96519.json | 19 - .../tables/derived_ss2018_urethra_73432.json | 19 - .../derived_ss2018_urinary_other_89509.json | 19 - .../tables/derived_ss2018_vagina_63227.json | 19 - .../tables/derived_ss2018_vulva_47165.json | 19 - .../tables/derived_summary_grade_na_6690.json | 24 - .../egfr_mutational_analysis_51122.json | 23 - .../eod_public/3.3/tables/eod_mets_13303.json | 23 - .../eod_public/3.3/tables/eod_mets_14084.json | 23 - .../eod_public/3.3/tables/eod_mets_20229.json | 23 - .../eod_public/3.3/tables/eod_mets_2212.json | 23 - .../eod_public/3.3/tables/eod_mets_22645.json | 23 - .../eod_public/3.3/tables/eod_mets_22894.json | 24 - .../eod_public/3.3/tables/eod_mets_23805.json | 23 - .../eod_public/3.3/tables/eod_mets_23953.json | 23 - .../eod_public/3.3/tables/eod_mets_24042.json | 24 - .../eod_public/3.3/tables/eod_mets_24606.json | 24 - .../eod_public/3.3/tables/eod_mets_25000.json | 24 - .../eod_public/3.3/tables/eod_mets_25281.json | 23 - .../eod_public/3.3/tables/eod_mets_26533.json | 24 - .../eod_public/3.3/tables/eod_mets_28878.json | 24 - .../eod_public/3.3/tables/eod_mets_29252.json | 23 - .../eod_public/3.3/tables/eod_mets_30426.json | 24 - .../eod_public/3.3/tables/eod_mets_33408.json | 23 - .../eod_public/3.3/tables/eod_mets_34827.json | 23 - .../eod_public/3.3/tables/eod_mets_3742.json | 23 - .../eod_public/3.3/tables/eod_mets_41985.json | 23 - .../eod_public/3.3/tables/eod_mets_47277.json | 23 - .../eod_public/3.3/tables/eod_mets_53046.json | 23 - .../eod_public/3.3/tables/eod_mets_56430.json | 23 - .../eod_public/3.3/tables/eod_mets_71734.json | 23 - .../eod_public/3.3/tables/eod_mets_74247.json | 23 - .../eod_public/3.3/tables/eod_mets_76404.json | 23 - .../eod_public/3.3/tables/eod_mets_79894.json | 24 - .../eod_public/3.3/tables/eod_mets_80017.json | 23 - .../eod_public/3.3/tables/eod_mets_83665.json | 23 - .../eod_public/3.3/tables/eod_mets_88527.json | 24 - .../eod_public/3.3/tables/eod_mets_89421.json | 23 - .../eod_public/3.3/tables/eod_mets_89986.json | 24 - .../eod_public/3.3/tables/eod_mets_91004.json | 24 - .../eod_public/3.3/tables/eod_mets_91154.json | 23 - .../eod_public/3.3/tables/eod_mets_94984.json | 23 - .../eod_public/3.3/tables/eod_mets_95518.json | 23 - .../eod_public/3.3/tables/eod_mets_96081.json | 23 - .../eod_public/3.3/tables/eod_mets_98654.json | 23 - .../eod_mets_mucosal_head_and_neck_45697.json | 23 - .../3.3/tables/eod_mets_v9_1812.json | 24 - .../3.3/tables/eod_mets_v9_3184.json | 24 - .../3.3/tables/eod_mets_v9_58862.json | 23 - .../3.3/tables/eod_mets_v9_76161.json | 24 - .../3.3/tables/eod_primary_tumor_12346.json | 24 - .../3.3/tables/eod_primary_tumor_19089.json | 24 - .../3.3/tables/eod_primary_tumor_3385.json | 24 - .../3.3/tables/eod_primary_tumor_3433.json | 24 - .../3.3/tables/eod_primary_tumor_38280.json | 24 - .../3.3/tables/eod_primary_tumor_3897.json | 24 - .../3.3/tables/eod_primary_tumor_40607.json | 24 - .../3.3/tables/eod_primary_tumor_42615.json | 24 - .../3.3/tables/eod_primary_tumor_43548.json | 24 - .../3.3/tables/eod_primary_tumor_4717.json | 24 - .../3.3/tables/eod_primary_tumor_50451.json | 24 - .../3.3/tables/eod_primary_tumor_53330.json | 24 - .../3.3/tables/eod_primary_tumor_55521.json | 23 - .../3.3/tables/eod_primary_tumor_60922.json | 24 - .../3.3/tables/eod_primary_tumor_72244.json | 24 - .../3.3/tables/eod_primary_tumor_72245.json | 24 - .../3.3/tables/eod_primary_tumor_72332.json | 24 - .../3.3/tables/eod_primary_tumor_81646.json | 24 - .../3.3/tables/eod_primary_tumor_84520.json | 24 - .../3.3/tables/eod_primary_tumor_85962.json | 23 - .../3.3/tables/eod_primary_tumor_93022.json | 24 - .../3.3/tables/eod_primary_tumor_93027.json | 23 - .../3.3/tables/eod_primary_tumor_93243.json | 24 - .../3.3/tables/eod_primary_tumor_96275.json | 24 - .../3.3/tables/eod_primary_tumor_97833.json | 24 - .../3.3/tables/eod_primary_tumor_98910.json | 24 - .../tables/eod_primary_tumor_copy_25294.json | 24 - .../3.3/tables/eod_primary_tumor_v9_192.json | 24 - .../tables/eod_primary_tumor_v9_52408.json | 24 - .../tables/eod_primary_tumor_v9_58724.json | 23 - .../3.3/tables/eod_primary_tumor_v9_6892.json | 23 - .../tables/eod_primary_tumor_v9_75679.json | 24 - ...od_prostate_pathologic_extension_2781.json | 24 - .../3.3/tables/eod_regional_nodes_10020.json | 24 - .../3.3/tables/eod_regional_nodes_11936.json | 24 - .../3.3/tables/eod_regional_nodes_12613.json | 24 - .../3.3/tables/eod_regional_nodes_16316.json | 24 - .../3.3/tables/eod_regional_nodes_21853.json | 24 - .../3.3/tables/eod_regional_nodes_22383.json | 24 - .../3.3/tables/eod_regional_nodes_27426.json | 24 - .../3.3/tables/eod_regional_nodes_29442.json | 24 - .../3.3/tables/eod_regional_nodes_30921.json | 24 - .../3.3/tables/eod_regional_nodes_3383.json | 24 - .../3.3/tables/eod_regional_nodes_36470.json | 24 - .../3.3/tables/eod_regional_nodes_38984.json | 24 - .../3.3/tables/eod_regional_nodes_48374.json | 24 - .../3.3/tables/eod_regional_nodes_53169.json | 24 - .../3.3/tables/eod_regional_nodes_55756.json | 24 - .../3.3/tables/eod_regional_nodes_58339.json | 24 - .../3.3/tables/eod_regional_nodes_61282.json | 24 - .../3.3/tables/eod_regional_nodes_62689.json | 24 - .../3.3/tables/eod_regional_nodes_6464.json | 24 - .../3.3/tables/eod_regional_nodes_65616.json | 24 - .../3.3/tables/eod_regional_nodes_7080.json | 24 - .../3.3/tables/eod_regional_nodes_76612.json | 24 - .../3.3/tables/eod_regional_nodes_77237.json | 24 - .../3.3/tables/eod_regional_nodes_79068.json | 24 - .../3.3/tables/eod_regional_nodes_80411.json | 24 - .../3.3/tables/eod_regional_nodes_8284.json | 24 - .../3.3/tables/eod_regional_nodes_86049.json | 24 - .../3.3/tables/eod_regional_nodes_92760.json | 24 - .../3.3/tables/eod_regional_nodes_94494.json | 24 - .../3.3/tables/eod_regional_nodes_97333.json | 24 - .../3.3/tables/eod_regional_nodes_99855.json | 24 - .../tables/eod_regional_nodes_v9_3599.json | 24 - .../tables/eod_regional_nodes_v9_56625.json | 24 - .../tables/eod_regional_nodes_v9_57286.json | 24 - .../tables/eod_regional_nodes_v9_73197.json | 24 - .../3.3/tables/er_allred_score_36612.json | 23 - .../3.3/tables/er_percent_positive_61867.json | 23 - .../3.3/tables/er_summary_44166.json | 23 - .../tables/esoph_tumor_epicenter_18976.json | 22 - ...esophagusgejunction_egj_stomach_57130.json | 27 - .../eod_public/3.3/tables/extension_baa.json | 23 - .../eod_public/3.3/tables/extension_bad.json | 24 - .../eod_public/3.3/tables/extension_bag.json | 24 - .../eod_public/3.3/tables/extension_baj.json | 24 - .../eod_public/3.3/tables/extension_bak.json | 25 - .../eod_public/3.3/tables/extension_bal.json | 24 - .../eod_public/3.3/tables/extension_bam.json | 24 - .../eod_public/3.3/tables/extension_ban.json | 24 - .../eod_public/3.3/tables/extension_bao.json | 24 - .../eod_public/3.3/tables/extension_bap.json | 24 - .../eod_public/3.3/tables/extension_bar.json | 24 - .../eod_public/3.3/tables/extension_bas.json | 24 - .../eod_public/3.3/tables/extension_bat.json | 24 - .../eod_public/3.3/tables/extension_bau.json | 24 - .../eod_public/3.3/tables/extension_bav.json | 24 - .../eod_public/3.3/tables/extension_baw.json | 24 - .../eod_public/3.3/tables/extension_bax.json | 24 - .../eod_public/3.3/tables/extension_bbb.json | 24 - .../eod_public/3.3/tables/extension_bbc.json | 24 - .../eod_public/3.3/tables/extension_bbd.json | 23 - .../eod_public/3.3/tables/extension_bbe.json | 24 - .../eod_public/3.3/tables/extension_bbi.json | 24 - .../eod_public/3.3/tables/extension_bbj.json | 23 - .../eod_public/3.3/tables/extension_bbk.json | 24 - .../eod_public/3.3/tables/extension_bbl.json | 24 - .../eod_public/3.3/tables/extension_bbm.json | 24 - .../eod_public/3.3/tables/extension_bbn.json | 24 - .../eod_public/3.3/tables/extension_bbo.json | 24 - .../eod_public/3.3/tables/extension_bbp.json | 24 - .../eod_public/3.3/tables/extension_bbr.json | 23 - .../eod_public/3.3/tables/extension_bbs.json | 24 - .../eod_public/3.3/tables/extension_bbx.json | 24 - .../eod_public/3.3/tables/extension_bcb.json | 24 - .../eod_public/3.3/tables/extension_bcc.json | 24 - .../eod_public/3.3/tables/extension_bcd.json | 24 - .../eod_public/3.3/tables/extension_bce.json | 23 - .../eod_public/3.3/tables/extension_bcf.json | 23 - .../eod_public/3.3/tables/extension_bcg.json | 23 - .../eod_public/3.3/tables/extension_bci.json | 24 - .../eod_public/3.3/tables/extension_bcj.json | 24 - .../eod_public/3.3/tables/extension_bcl.json | 23 - .../eod_public/3.3/tables/extension_bcm.json | 23 - .../eod_public/3.3/tables/extension_bcn.json | 23 - .../eod_public/3.3/tables/extension_bco.json | 23 - .../eod_public/3.3/tables/extension_bcp.json | 24 - .../eod_public/3.3/tables/extension_bcq.json | 24 - .../eod_public/3.3/tables/extension_bcr.json | 23 - .../eod_public/3.3/tables/extension_bcs.json | 24 - .../eod_public/3.3/tables/extension_bct.json | 23 - .../eod_public/3.3/tables/extension_bcv.json | 24 - .../eod_public/3.3/tables/extension_bcx.json | 23 - .../eod_public/3.3/tables/extension_bcy.json | 24 - .../eod_public/3.3/tables/extension_bdd.json | 24 - .../eod_public/3.3/tables/extension_bde.json | 23 - .../eod_public/3.3/tables/extension_bdg.json | 24 - .../eod_public/3.3/tables/extension_bdh.json | 24 - .../eod_public/3.3/tables/extension_bdk.json | 24 - .../eod_public/3.3/tables/extension_bdl.json | 24 - .../eod_public/3.3/tables/extension_bdo.json | 24 - .../eod_public/3.3/tables/extension_bds.json | 24 - .../eod_public/3.3/tables/extension_bdu.json | 23 - .../eod_public/3.3/tables/extension_bez.json | 23 - .../eod_public/3.3/tables/extension_bfa.json | 24 - .../eod_public/3.3/tables/extension_bfg.json | 24 - .../eod_public/3.3/tables/extension_bfh.json | 24 - .../eod_public/3.3/tables/extension_bfi.json | 23 - .../eod_public/3.3/tables/extension_bfk.json | 23 - .../eod_public/3.3/tables/extension_bfl.json | 24 - .../eod_public/3.3/tables/extension_bfm.json | 24 - .../eod_public/3.3/tables/extension_bfp.json | 23 - .../eod_public/3.3/tables/extension_bfq.json | 24 - .../eod_public/3.3/tables/extension_bfr.json | 24 - .../eod_public/3.3/tables/extension_bfs.json | 23 - .../eod_public/3.3/tables/extension_bft.json | 24 - .../eod_public/3.3/tables/extension_bfv.json | 23 - .../eod_public/3.3/tables/extension_bfw.json | 24 - .../eod_public/3.3/tables/extension_bfy.json | 24 - .../eod_public/3.3/tables/extension_bgc.json | 24 - .../eod_public/3.3/tables/extension_bna.json | 22 - .../eod_public/3.3/tables/extension_btb.json | 24 - .../extranodal_extension_clinical_5022.json | 23 - ...xtension_head_and_neck_clinical_79321.json | 24 - ...sion_head_and_neck_pathological_87046.json | 24 - ...tranodal_extension_pathological_30739.json | 23 - .../extravascular_matrix_patterns_1397.json | 23 - .../3.3/tables/fibrosis_score_38658.json | 23 - .../3.3/tables/figo_stage_30513.json | 22 - .../3.3/tables/figo_stage_cervix_46535.json | 22 - .../figo_stage_corpus_adenosarcoma_24886.json | 22 - ...us_carcinoma_and_carcinosarcoma_69186.json | 22 - .../figo_stage_corpus_sarcoma_78807.json | 22 - .../3.3/tables/figo_stage_placenta_73452.json | 22 - .../3.3/tables/figo_stage_vagina_61098.json | 22 - .../3.3/tables/figo_stage_vulva_69787.json | 22 - .../tables/gestational_prog_index_28647.json | 21 - .../gleason_pattern_clinical_75179.json | 23 - .../gleason_patterns_pathological_833.json | 23 - .../tables/gleason_score_clinical_67175.json | 23 - .../gleason_score_pathological_82121.json | 23 - .../tables/gleason_tertiary_pattern_6430.json | 22 - .../3.3/tables/grade_clinical_18316.json | 19 - .../3.3/tables/grade_clinical_18831.json | 19 - .../3.3/tables/grade_clinical_19087.json | 19 - .../3.3/tables/grade_clinical_19997.json | 19 - .../3.3/tables/grade_clinical_21060.json | 19 - .../3.3/tables/grade_clinical_22454.json | 19 - .../3.3/tables/grade_clinical_24620.json | 19 - .../3.3/tables/grade_clinical_25704.json | 19 - .../3.3/tables/grade_clinical_26293.json | 19 - .../3.3/tables/grade_clinical_26768.json | 19 - .../3.3/tables/grade_clinical_2756.json | 19 - .../3.3/tables/grade_clinical_29193.json | 19 - .../3.3/tables/grade_clinical_36085.json | 19 - .../3.3/tables/grade_clinical_41135.json | 19 - .../3.3/tables/grade_clinical_46962.json | 19 - .../3.3/tables/grade_clinical_54911.json | 19 - .../3.3/tables/grade_clinical_62593.json | 19 - .../3.3/tables/grade_clinical_6485.json | 19 - .../3.3/tables/grade_clinical_64933.json | 19 - .../3.3/tables/grade_clinical_69174.json | 19 - .../3.3/tables/grade_clinical_73056.json | 19 - .../3.3/tables/grade_clinical_73461.json | 19 - .../3.3/tables/grade_clinical_78613.json | 19 - .../3.3/tables/grade_clinical_83264.json | 19 - .../3.3/tables/grade_clinical_8742.json | 19 - .../3.3/tables/grade_clinical_88426.json | 19 - .../3.3/tables/grade_clinical_91491.json | 19 - .../3.3/tables/grade_clinical_91989.json | 19 - .../tables/grade_clinical_standard_94331.json | 19 - ...rade_clinical_standard_non_ajcc_32473.json | 19 - .../3.3/tables/grade_clinical_v9_88505.json | 19 - .../3.3/tables/grade_pathological_11803.json | 19 - .../3.3/tables/grade_pathological_12915.json | 19 - .../3.3/tables/grade_pathological_19141.json | 19 - .../3.3/tables/grade_pathological_19694.json | 19 - .../3.3/tables/grade_pathological_20069.json | 19 - .../3.3/tables/grade_pathological_20722.json | 19 - .../3.3/tables/grade_pathological_26086.json | 19 - .../3.3/tables/grade_pathological_27152.json | 19 - .../3.3/tables/grade_pathological_29069.json | 19 - .../3.3/tables/grade_pathological_31963.json | 19 - .../3.3/tables/grade_pathological_38051.json | 19 - .../3.3/tables/grade_pathological_40052.json | 19 - .../3.3/tables/grade_pathological_40399.json | 19 - .../3.3/tables/grade_pathological_42127.json | 19 - .../3.3/tables/grade_pathological_46618.json | 19 - .../3.3/tables/grade_pathological_47031.json | 19 - .../3.3/tables/grade_pathological_4783.json | 19 - .../3.3/tables/grade_pathological_49403.json | 19 - .../3.3/tables/grade_pathological_53280.json | 19 - .../3.3/tables/grade_pathological_57271.json | 19 - .../3.3/tables/grade_pathological_59340.json | 19 - .../3.3/tables/grade_pathological_59975.json | 19 - .../3.3/tables/grade_pathological_68805.json | 19 - .../3.3/tables/grade_pathological_73388.json | 19 - .../3.3/tables/grade_pathological_84704.json | 19 - .../3.3/tables/grade_pathological_85185.json | 19 - .../3.3/tables/grade_pathological_91031.json | 19 - .../3.3/tables/grade_pathological_93273.json | 19 - .../grade_pathological_standard_94268.json | 19 - ...e_pathological_standard_non_ajcc_5627.json | 19 - .../tables/grade_pathological_v9_76065.json | 19 - .../tables/grade_post_therapy_clin_1647.json | 19 - .../tables/grade_post_therapy_clin_18631.json | 19 - .../tables/grade_post_therapy_clin_21162.json | 19 - .../tables/grade_post_therapy_clin_23317.json | 19 - .../tables/grade_post_therapy_clin_2503.json | 19 - .../tables/grade_post_therapy_clin_2541.json | 19 - .../tables/grade_post_therapy_clin_26948.json | 19 - .../tables/grade_post_therapy_clin_26978.json | 19 - .../tables/grade_post_therapy_clin_27082.json | 19 - .../tables/grade_post_therapy_clin_30400.json | 19 - .../tables/grade_post_therapy_clin_35900.json | 19 - .../tables/grade_post_therapy_clin_41222.json | 19 - .../tables/grade_post_therapy_clin_4232.json | 19 - .../tables/grade_post_therapy_clin_43459.json | 19 - .../tables/grade_post_therapy_clin_45036.json | 19 - .../tables/grade_post_therapy_clin_53870.json | 19 - .../tables/grade_post_therapy_clin_54917.json | 19 - .../tables/grade_post_therapy_clin_60334.json | 19 - .../tables/grade_post_therapy_clin_61658.json | 19 - .../tables/grade_post_therapy_clin_68213.json | 19 - .../tables/grade_post_therapy_clin_69737.json | 19 - .../tables/grade_post_therapy_clin_72770.json | 19 - .../tables/grade_post_therapy_clin_74830.json | 19 - .../tables/grade_post_therapy_clin_76032.json | 19 - .../tables/grade_post_therapy_clin_88214.json | 19 - .../tables/grade_post_therapy_clin_93593.json | 19 - .../tables/grade_post_therapy_clin_93998.json | 19 - .../tables/grade_post_therapy_clin_95734.json | 19 - .../tables/grade_post_therapy_clin_97989.json | 19 - .../grade_post_therapy_clin_yc_31990.json | 19 - .../grade_post_therapy_clin_yc_55565.json | 19 - .../grade_post_therapy_clin_yc_v9_85438.json | 19 - .../tables/grade_post_therapy_path_20786.json | 19 - .../tables/grade_post_therapy_path_25809.json | 19 - .../tables/grade_post_therapy_path_28874.json | 19 - .../tables/grade_post_therapy_path_30693.json | 19 - .../tables/grade_post_therapy_path_32110.json | 19 - .../tables/grade_post_therapy_path_35393.json | 19 - .../tables/grade_post_therapy_path_36935.json | 19 - .../tables/grade_post_therapy_path_3704.json | 19 - .../tables/grade_post_therapy_path_40048.json | 19 - .../tables/grade_post_therapy_path_41285.json | 19 - .../tables/grade_post_therapy_path_45323.json | 19 - .../tables/grade_post_therapy_path_47044.json | 19 - .../tables/grade_post_therapy_path_48765.json | 19 - .../tables/grade_post_therapy_path_48957.json | 19 - .../tables/grade_post_therapy_path_55848.json | 19 - .../tables/grade_post_therapy_path_58350.json | 19 - .../tables/grade_post_therapy_path_65729.json | 19 - .../tables/grade_post_therapy_path_67342.json | 19 - .../tables/grade_post_therapy_path_75348.json | 19 - .../tables/grade_post_therapy_path_76876.json | 19 - .../tables/grade_post_therapy_path_80308.json | 19 - .../tables/grade_post_therapy_path_83202.json | 19 - .../tables/grade_post_therapy_path_86055.json | 19 - .../tables/grade_post_therapy_path_87571.json | 19 - .../tables/grade_post_therapy_path_90448.json | 19 - .../tables/grade_post_therapy_path_91649.json | 19 - .../tables/grade_post_therapy_path_92197.json | 19 - .../tables/grade_post_therapy_path_93034.json | 19 - .../tables/grade_post_therapy_path_98398.json | 19 - .../grade_post_therapy_path_yp_3519.json | 19 - .../grade_post_therapy_path_yp_8036.json | 19 - .../grade_post_therapy_path_yp_v9_717.json | 19 - .../hcg_post_orchiectomy_lab_value_13834.json | 23 - .../hcg_post_orchiectomy_range_92334.json | 22 - .../hcg_pre_orchiectomy_lab_value_55584.json | 23 - .../hcg_pre_orchiectomy_range_67679.json | 22 - .../3.3/tables/her2_ihc_summary_57693.json | 22 - .../3.3/tables/her2_ish_dp_copy_no_89821.json | 22 - .../her2_ish_dual_probe_ration_4635.json | 22 - .../3.3/tables/her2_ish_sp_copy_no_95955.json | 22 - .../3.3/tables/her2_ish_summary_40783.json | 22 - .../her2_overall_summary_copy_71435.json | 22 - .../3.3/tables/her2_summary_30512.json | 23 - .../3.3/tables/heritable_trait_49734.json | 23 - .../tables/high_risk_cytogenetics_97806.json | 23 - .../3.3/tables/high_risk_features_73750.json | 23 - .../3.3/tables/histologic_subtype_8603.json | 23 - .../eod_public/3.3/tables/histology.json | 15 - ...tology_discriminator_for_8020_3_93311.json | 26 - .../3.3/tables/hiv_status_12569.json | 23 - .../algorithms/eod_public/3.3/tables/ids.txt | 1059 ------ .../3.3/tables/inr_prothrombin_time_6158.json | 23 - .../tables/intern_prognostic_index_90310.json | 22 - .../tables/invasion_beyond_capsule_4149.json | 23 - ...teral_adrenal_gland_involvement_61538.json | 23 - .../eod_public/3.3/tables/jak2_80148.json | 23 - .../eod_public/3.3/tables/ki67_8355.json | 23 - .../eod_public/3.3/tables/ki_67_67661.json | 23 - .../kit_gene_immunohistochemistry_33220.json | 22 - .../eod_public/3.3/tables/kras_79447.json | 23 - .../lacrimal_gland_lacrimal_sac_63106.json | 26 - .../3.3/tables/ldh_lab_value_85652.json | 23 - .../3.3/tables/ldh_level_12428.json | 22 - .../ldh_post_orchiectomy_range_38574.json | 23 - .../ldh_pre_orchiectomy_range_42762.json | 23 - .../tables/ldh_pretreatment_level_82697.json | 23 - .../ldh_upper_limits_of_normal_34244.json | 22 - ...essment_method_femoral_inguinal_48450.json | 23 - ..._assessment_method_pelvic_vulva_10928.json | 23 - .../eod_public/3.3/tables/ln_size_70140.json | 24 - .../ln_status_femoral_inguinal_13374.json | 23 - ..._status_femoral_inguinal_vagina_64638.json | 23 - .../tables/ln_status_para_aortic_41020.json | 23 - .../3.3/tables/ln_status_pelvic_31753.json | 23 - .../3.3/tables/ln_status_pelvic_93438.json | 23 - .../tables/lymph_node_laterality_65685.json | 23 - ...nodes_assessment_method_femoral_46948.json | 23 - ...s_assessment_method_para_aortic_56026.json | 23 - ..._nodes_assessment_method_pelvic_33476.json | 23 - ...nodes_distant_assessment_method_24499.json | 23 - ...des_distant_mediastinal_scalene_90567.json | 23 - ...odes_head_and_neck_levels_i_iii_19222.json | 23 - ...nodes_head_and_neck_levels_iv_v_55093.json | 23 - ...des_head_and_neck_levels_vi_vii_32325.json | 23 - ...lymph_nodes_head_and_neck_other_31141.json | 23 - ...ymph_nodes_isolated_tumor_cells_67876.json | 23 - .../3.3/tables/lymphocytosis_79150.json | 23 - .../tables/major_vein_involvement_87947.json | 23 - .../tables/measured_basal_diameter_70699.json | 22 - .../3.3/tables/measured_thickness_84907.json | 22 - ...noma_ciliary_body_melanoma_iris_79773.json | 26 - .../eod_public/3.3/tables/mets_hab.json | 24 - .../eod_public/3.3/tables/mets_hac.json | 24 - .../eod_public/3.3/tables/mets_had.json | 24 - .../eod_public/3.3/tables/mets_hae.json | 24 - .../eod_public/3.3/tables/mets_haf.json | 23 - .../eod_public/3.3/tables/mets_hah.json | 23 - .../eod_public/3.3/tables/mets_haj.json | 24 - .../eod_public/3.3/tables/mets_hak.json | 24 - .../eod_public/3.3/tables/mets_hal.json | 24 - .../eod_public/3.3/tables/mets_han.json | 24 - .../eod_public/3.3/tables/mets_har.json | 23 - .../eod_public/3.3/tables/mets_hat.json | 24 - .../eod_public/3.3/tables/mets_hau.json | 24 - .../eod_public/3.3/tables/mets_hav.json | 24 - .../eod_public/3.3/tables/mets_haw.json | 24 - .../eod_public/3.3/tables/mets_haz.json | 24 - .../eod_public/3.3/tables/mets_hba.json | 24 - .../eod_public/3.3/tables/mets_hbb.json | 24 - .../eod_public/3.3/tables/mets_hbe.json | 23 - .../eod_public/3.3/tables/mets_hbg.json | 23 - .../eod_public/3.3/tables/mets_hbo.json | 23 - .../eod_public/3.3/tables/mets_hbv.json | 24 - .../eod_public/3.3/tables/mets_hbx.json | 24 - .../eod_public/3.3/tables/mets_hbz.json | 23 - .../eod_public/3.3/tables/mets_hcf.json | 24 - .../eod_public/3.3/tables/mets_hcg.json | 23 - .../eod_public/3.3/tables/mets_hch.json | 23 - .../eod_public/3.3/tables/mets_hci.json | 24 - .../eod_public/3.3/tables/mets_hck.json | 24 - .../eod_public/3.3/tables/mets_hcp.json | 24 - .../eod_public/3.3/tables/mets_hcq.json | 23 - .../eod_public/3.3/tables/mets_hcr.json | 23 - .../eod_public/3.3/tables/mets_hcu.json | 23 - .../eod_public/3.3/tables/mets_hcv.json | 23 - .../eod_public/3.3/tables/mets_hna.json | 22 - .../eod_public/3.3/tables/mets_hph.json | 24 - .../eod_public/3.3/tables/mgmt_17454.json | 23 - .../microsatellite_instability_35598.json | 22 - .../microsatellite_instability_7008.json | 23 - .../tables/microvascular_density_70589.json | 22 - .../mitotic_count_uveal_melanoma_26990.json | 22 - .../tables/mitotic_rate_melanoma_88184.json | 23 - .../multigene_signature_method_85043.json | 22 - .../multigene_signature_result_37000.json | 22 - .../multiple_myeloma_terminology_20875.json | 26 - .../nasopharynx_pharyngealtonsil_84756.json | 26 - .../neoadj_tx_clinical_response_31723.json | 20 - .../neoadj_tx_treatment_effect_18122.json | 20 - .../neoadj_tx_treatment_effect_23019.json | 20 - .../neoadj_tx_treatment_effect_34708.json | 20 - .../neoadj_tx_treatment_effect_4391.json | 20 - .../neoadj_tx_treatment_effect_52725.json | 20 - .../neoadj_tx_treatment_effect_61650.json | 20 - .../neoadj_tx_treatment_effect_90678.json | 20 - .../3.3/tables/neoadjuvant_therapy_37302.json | 20 - .../eod_public/3.3/tables/nodes_daa.json | 24 - .../eod_public/3.3/tables/nodes_dab.json | 24 - .../eod_public/3.3/tables/nodes_dai.json | 24 - .../eod_public/3.3/tables/nodes_daj.json | 24 - .../eod_public/3.3/tables/nodes_dak.json | 24 - .../eod_public/3.3/tables/nodes_dam.json | 24 - .../eod_public/3.3/tables/nodes_dan.json | 24 - .../eod_public/3.3/tables/nodes_daq.json | 24 - .../eod_public/3.3/tables/nodes_dat.json | 24 - .../eod_public/3.3/tables/nodes_dau.json | 24 - .../eod_public/3.3/tables/nodes_dav.json | 24 - .../eod_public/3.3/tables/nodes_daw.json | 24 - .../eod_public/3.3/tables/nodes_day.json | 24 - .../eod_public/3.3/tables/nodes_dba.json | 24 - .../eod_public/3.3/tables/nodes_dbb.json | 24 - .../eod_public/3.3/tables/nodes_dbc.json | 24 - .../eod_public/3.3/tables/nodes_dbd.json | 24 - .../eod_public/3.3/tables/nodes_dbe.json | 24 - .../eod_public/3.3/tables/nodes_dbf.json | 24 - .../eod_public/3.3/tables/nodes_dbg.json | 24 - .../eod_public/3.3/tables/nodes_dbh.json | 24 - .../eod_public/3.3/tables/nodes_dbi.json | 24 - .../eod_public/3.3/tables/nodes_dbj.json | 24 - .../eod_public/3.3/tables/nodes_dbo.json | 24 - .../eod_public/3.3/tables/nodes_dbq.json | 24 - .../eod_public/3.3/tables/nodes_dbu.json | 24 - .../eod_public/3.3/tables/nodes_dbv.json | 24 - .../eod_public/3.3/tables/nodes_dbw.json | 24 - .../eod_public/3.3/tables/nodes_dbx.json | 24 - .../eod_public/3.3/tables/nodes_dby.json | 24 - .../eod_public/3.3/tables/nodes_dca.json | 24 - .../eod_public/3.3/tables/nodes_dcb.json | 24 - .../eod_public/3.3/tables/nodes_dcc.json | 24 - .../eod_public/3.3/tables/nodes_dcd.json | 24 - .../eod_public/3.3/tables/nodes_dce.json | 24 - .../eod_public/3.3/tables/nodes_dck.json | 24 - .../eod_public/3.3/tables/nodes_dcl.json | 24 - .../eod_public/3.3/tables/nodes_dcn.json | 24 - .../eod_public/3.3/tables/nodes_dcu.json | 24 - .../eod_public/3.3/tables/nodes_dcz.json | 24 - .../eod_public/3.3/tables/nodes_dde.json | 24 - .../eod_public/3.3/tables/nodes_ddf.json | 24 - .../eod_public/3.3/tables/nodes_ddj.json | 24 - .../eod_public/3.3/tables/nodes_ddn.json | 24 - .../eod_public/3.3/tables/nodes_ddp.json | 24 - .../eod_public/3.3/tables/nodes_dew.json | 24 - .../eod_public/3.3/tables/nodes_dfc.json | 24 - .../eod_public/3.3/tables/nodes_dfd.json | 24 - .../eod_public/3.3/tables/nodes_dfe.json | 24 - .../eod_public/3.3/tables/nodes_dfg.json | 24 - .../eod_public/3.3/tables/nodes_dfh.json | 24 - .../eod_public/3.3/tables/nodes_dfl.json | 24 - .../eod_public/3.3/tables/nodes_dfm.json | 24 - .../eod_public/3.3/tables/nodes_dfn.json | 24 - .../eod_public/3.3/tables/nodes_dfo.json | 24 - .../eod_public/3.3/tables/nodes_dfq.json | 24 - .../eod_public/3.3/tables/nodes_dfr.json | 24 - .../eod_public/3.3/tables/nodes_dna.json | 22 - .../3.3/tables/nodes_exam_17543.json | 19 - .../3.3/tables/nodes_exam_76029.json | 19 - .../3.3/tables/nodes_exam_dna_95635.json | 19 - .../eod_public/3.3/tables/nodes_pos_2999.json | 19 - .../3.3/tables/nodes_pos_dna_91511.json | 19 - .../eod_public/3.3/tables/nodes_pos_fab.json | 19 - .../eod_public/3.3/tables/nodes_pos_fah.json | 19 - .../eod_public/3.3/tables/nodes_pos_fpa.json | 19 - .../nras_mutational_analysis_16621.json | 23 - .../number_of_cores_examined_64985.json | 23 - .../number_of_cores_positive_87819.json | 23 - ...r_of_examined_para_aortic_nodes_38078.json | 23 - ...number_of_examined_pelvic_nodes_60771.json | 23 - ...level_i_ii_axillary_lymph_nodes_79439.json | 23 - ...r_of_positive_para_aortic_nodes_62533.json | 23 - .../number_of_postive_pelvic_nodes_94512.json | 23 - ...ccult_head_and_neck_lymph_nodes_10277.json | 27 - .../tables/oncotype_dx_recur_score_73667.json | 23 - ...cotype_dx_recurrence_score_dcis_70549.json | 23 - .../tables/oncotype_dx_risk_level_11033.json | 23 - .../oncotype_dx_risk_level_dcis_53080.json | 23 - .../3.3/tables/organomegaly_16131.json | 23 - .../3.3/tables/oropharyngeal_p16_44685.json | 26 - .../eod_public/3.3/tables/p16_19452.json | 21 - .../eod_public/3.3/tables/p16_831.json | 21 - .../eod_public/3.3/tables/p16_anus_2709.json | 23 - ...illoma_virus_status_head_and_neck_509.json | 21 - .../eod_public/3.3/tables/pd_l1_61573.json | 22 - .../3.3/tables/perineural_invasion_24604.json | 22 - .../3.3/tables/perineural_invasion_27557.json | 23 - .../3.3/tables/perineural_invasion_84622.json | 22 - .../tables/peripheral_blood_involv_92357.json | 26 - .../3.3/tables/peritoneal_cytology_38674.json | 23 - ...with_primary_tumor_for_ss2018_t_19664.json | 23 - ...with_primary_tumor_for_ss2018_t_66387.json | 23 - ...with_primary_tumor_for_ss2018_t_88427.json | 23 - .../3.3/tables/pleural_effusion_40041.json | 23 - ...t_neoadj_chemo_percent_necrosis_15912.json | 23 - .../3.3/tables/pr_allred_score_83938.json | 23 - .../3.3/tables/pr_percent_positive_94563.json | 23 - .../3.3/tables/pr_summary_49534.json | 23 - .../primary_peritoneum_tumor_19475.json | 26 - .../primary_scleros_cholangitis_86402.json | 23 - .../eod_public/3.3/tables/primary_site.json | 19 - .../profound_immune_suppression_68178.json | 23 - .../eod_public/3.3/tables/psa_46258.json | 23 - .../eod_public/3.3/tables/ptld_17694.json | 22 - .../3.3/tables/radiation_surg_seq.json | 19 - .../eod_public/3.3/tables/rcb_class_750.json | 23 - .../tables/residual_cancer_burden_62520.json | 23 - ...tumor_volume_post_cytoreduction_90653.json | 22 - ...response_to_neoadjuvant_therapy_57695.json | 23 - .../3.3/tables/s_category_clinical_19191.json | 21 - .../tables/s_category_pathologic_34448.json | 21 - .../tables/sarcomatoid_features_99558.json | 23 - .../tables/schema_discriminator_1_63995.json | 27 - .../tables/schema_discriminator_2_15990.json | 27 - ...schema_selection_adnexa_uterine_other.json | 22 - .../schema_selection_adrenal_gland.json | 22 - .../schema_selection_ampulla_vater.json | 22 - .../3.3/tables/schema_selection_anus.json | 26 - .../tables/schema_selection_anus_v9_2023.json | 26 - .../3.3/tables/schema_selection_appendix.json | 26 - .../schema_selection_appendix_v9_2023.json | 26 - .../schema_selection_bile_ducts_distal.json | 26 - ...chema_selection_bile_ducts_intrahepat.json | 22 - ...schema_selection_bile_ducts_perihilar.json | 26 - .../schema_selection_biliary_other.json | 22 - .../3.3/tables/schema_selection_bladder.json | 22 - .../3.3/tables/schema_selection_bone.json | 22 - ..._selection_bone_appendicular_skeleton.json | 22 - .../tables/schema_selection_bone_spine.json | 22 - .../3.3/tables/schema_selection_brain.json | 30 - .../schema_selection_brain_v9_2023.json | 30 - .../3.3/tables/schema_selection_breast.json | 22 - .../schema_selection_buccal_mucosa.json | 22 - .../schema_selection_carcinoid_appendix.json | 26 - ...ical_lymph_nodes_occult_head_and_neck.json | 26 - .../3.3/tables/schema_selection_cervix.json | 26 - .../schema_selection_cervix_9th_2021.json | 26 - .../schema_selection_cervix_sarcoma.json | 26 - ...ia_small_lymphocytic_lymphoma_cll_sll.json | 26 - .../tables/schema_selection_cns_other.json | 30 - .../schema_selection_cns_other_v9_2023.json | 30 - .../3.3/tables/schema_selection_colon.json | 22 - .../tables/schema_selection_conjunctiva.json | 22 - .../schema_selection_corpus_adenosarcoma.json | 22 - .../schema_selection_corpus_carcinoma.json | 22 - .../schema_selection_corpus_sarcoma.json | 22 - ...squamous_cell_carcinoma_head_and_neck.json | 22 - .../tables/schema_selection_cystic_duct.json | 26 - .../schema_selection_digestive_other.json | 22 - .../schema_selection_endocrine_other.json | 22 - ...schema_selection_esophagus_gejunction.json | 30 - ...phagus_including_ge_junction_squamous.json | 30 - .../tables/schema_selection_eye_other.json | 22 - .../schema_selection_fallopian_tube.json | 22 - .../tables/schema_selection_floor_mouth.json | 22 - .../tables/schema_selection_gallbladder.json | 22 - ...schema_selection_genital_female_other.json | 22 - .../schema_selection_genital_male_other.json | 22 - .../schema_selection_gist_appendix.json | 30 - .../tables/schema_selection_gum_lower.json | 22 - .../schema_selection_heart_mediastinum.json | 30 - .../tables/schema_selection_heme_retic.json | 34 - .../tables/schema_selection_hypopharynx.json | 22 - .../schema_selection_ill_defined_other.json | 26 - .../schema_selection_intracranial_gland.json | 30 - ..._selection_intracranial_gland_v9_2023.json | 30 - .../schema_selection_kaposi_sarcoma.json | 22 - .../schema_selection_kidney_parenchyma.json | 22 - .../schema_selection_kidney_renal_pelvis.json | 22 - .../schema_selection_lacrimal_gland.json | 26 - .../tables/schema_selection_lacrimal_sac.json | 26 - .../schema_selection_larynx_glottic.json | 22 - .../tables/schema_selection_larynx_other.json | 22 - .../schema_selection_larynx_subglottic.json | 22 - .../schema_selection_larynx_supraglottic.json | 26 - .../tables/schema_selection_lip_lower.json | 22 - .../3.3/tables/schema_selection_liver.json | 22 - .../3.3/tables/schema_selection_lung.json | 26 - .../tables/schema_selection_lung_v9_2025.json | 26 - .../3.3/tables/schema_selection_lymphoma.json | 34 - ...hema_selection_lymphoma_ocular_adnexa.json | 22 - ...lection_major_salivary_glands_v9_2026.json | 26 - ...ema_selection_medulloblastoma_v9_2023.json | 26 - ...hema_selection_melanoma_buccal_mucosa.json | 22 - ...chema_selection_melanoma_ciliary_body.json | 26 - ...schema_selection_melanoma_conjunctiva.json | 22 - .../schema_selection_melanoma_iris.json | 26 - .../schema_selection_melanoma_skin.json | 22 - .../schema_selection_merkel_cell_skin.json | 26 - .../tables/schema_selection_middle_ear.json | 22 - .../tables/schema_selection_mouth_other.json | 22 - .../schema_selection_mycosis_fungoides.json | 26 - ...election_myeloma_plasma_cell_disorder.json | 26 - .../tables/schema_selection_nasal_cavity.json | 22 - .../tables/schema_selection_nasopharynx.json | 30 - .../schema_selection_nasopharynx_v9_2025.json | 26 - .../schema_selection_net_adrenal_gland.json | 22 - .../tables/schema_selection_net_ampulla.json | 26 - ...election_net_ampulla_of_vater_v9_2024.json | 26 - ...schema_selection_net_appendix_v9_2024.json | 26 - .../tables/schema_selection_net_colon.json | 26 - ...election_net_colon_and_rectum_v9_2024.json | 26 - .../tables/schema_selection_net_duodenum.json | 26 - ...schema_selection_net_duodenum_v9_2024.json | 26 - ...lection_net_jejunum_and_ileum_v9_2024.json | 26 - .../tables/schema_selection_net_pancreas.json | 26 - ...schema_selection_net_pancreas_v9_2024.json | 26 - .../schema_selection_net_small_intestine.json | 26 - .../tables/schema_selection_net_stomach.json | 26 - .../schema_selection_net_stomach_v9_2024.json | 26 - .../3.3/tables/schema_selection_orbit.json | 30 - .../tables/schema_selection_oropharynx.json | 34 - ...ion_oropharynx_hpv_associated_v9_2026.json | 30 - .../3.3/tables/schema_selection_ovary.json | 22 - .../tables/schema_selection_palate_hard.json | 22 - .../schema_selection_pancreas_body_tail.json | 26 - .../tables/schema_selection_parathyroid.json | 22 - .../schema_selection_parotid_gland.json | 26 - .../3.3/tables/schema_selection_penis.json | 22 - .../tables/schema_selection_peritoneum.json | 38 - .../schema_selection_pharynx_other.json | 22 - .../3.3/tables/schema_selection_placenta.json | 22 - .../schema_selection_plasmacytomas.json | 30 - .../3.3/tables/schema_selection_pleura.json | 26 - ...election_pleural_mesothelioma_v9_2025.json | 26 - ..._primary_cutaneous_lymphoma_non_mf_ss.json | 22 - ...election_primary_peritoneal_carcinoma.json | 26 - .../3.3/tables/schema_selection_prostate.json | 22 - .../schema_selection_respiratory_other.json | 22 - .../schema_selection_retinoblastoma.json | 22 - .../schema_selection_retroperitoneum.json | 26 - .../schema_selection_sinus_maxillary.json | 22 - .../tables/schema_selection_sinus_other.json | 22 - .../tables/schema_selection_skin_eyelid.json | 22 - .../tables/schema_selection_skin_other.json | 22 - .../schema_selection_small_intestine.json | 22 - ...ion_soft_tissue_heart_and_mediastinum.json | 22 - .../schema_selection_soft_tissue_rare.json | 34 - ...ion_soft_tissue_sarcoma_head_and_neck.json | 30 - ...ion_soft_tissue_trunk_and_extremities.json | 26 - .../3.3/tables/schema_selection_stomach.json | 26 - .../3.3/tables/schema_selection_testis.json | 22 - .../3.3/tables/schema_selection_thymus.json | 26 - .../schema_selection_thymus_v9_2025.json | 26 - .../3.3/tables/schema_selection_thyroid.json | 22 - .../schema_selection_thyroid_medullary.json | 22 - .../schema_selection_tongue_anterior.json | 22 - .../tables/schema_selection_tongue_base.json | 34 - .../3.3/tables/schema_selection_trachea.json | 22 - .../3.3/tables/schema_selection_urethra.json | 26 - .../schema_selection_urethra_prostatic.json | 26 - .../schema_selection_urinary_other.json | 22 - .../3.3/tables/schema_selection_vagina.json | 22 - .../3.3/tables/schema_selection_vulva.json | 26 - .../schema_selection_vulva_v9_2024.json | 26 - .../3.3/tables/seer_mets_21628.json | 24 - .../3.3/tables/seer_mets_32413.json | 24 - .../eod_public/3.3/tables/seer_mets_4721.json | 24 - .../3.3/tables/seer_mets_48348.json | 23 - .../3.3/tables/seer_mets_57075.json | 24 - .../3.3/tables/seer_mets_61487.json | 24 - .../3.3/tables/seer_mets_66514.json | 23 - .../3.3/tables/seer_mets_79245.json | 24 - .../3.3/tables/seer_mets_84419.json | 24 - .../3.3/tables/seer_mets_90003.json | 24 - .../3.3/tables/seer_mets_90643.json | 24 - .../3.3/tables/seer_mets_lip_lower_28596.json | 23 - .../seer_mets_melanomachoroid_55264.json | 24 - .../tables/seer_mets_nasopharynx_46629.json | 23 - .../seer_mets_sinus_othervs2_15755.json | 23 - .../3.3/tables/seer_primary_tumor_25824.json | 24 - .../3.3/tables/seer_primary_tumor_31838.json | 23 - .../3.3/tables/seer_primary_tumor_36538.json | 24 - .../3.3/tables/seer_primary_tumor_38025.json | 24 - .../3.3/tables/seer_primary_tumor_42176.json | 23 - .../3.3/tables/seer_primary_tumor_42751.json | 23 - .../3.3/tables/seer_primary_tumor_43302.json | 24 - .../3.3/tables/seer_primary_tumor_44962.json | 23 - .../3.3/tables/seer_primary_tumor_52444.json | 24 - .../3.3/tables/seer_primary_tumor_53926.json | 24 - .../3.3/tables/seer_primary_tumor_59317.json | 24 - .../3.3/tables/seer_primary_tumor_60433.json | 24 - .../3.3/tables/seer_primary_tumor_6275.json | 24 - .../3.3/tables/seer_primary_tumor_68925.json | 23 - .../3.3/tables/seer_primary_tumor_72151.json | 24 - .../3.3/tables/seer_primary_tumor_88917.json | 24 - .../3.3/tables/seer_primary_tumor_9084.json | 24 - .../3.3/tables/seer_primary_tumor_94875.json | 24 - .../3.3/tables/seer_primary_tumor_95193.json | 24 - .../3.3/tables/seer_primary_tumor_96082.json | 23 - .../seer_primary_tumor_eyeother_64077.json | 23 - ...rimary_tumor_head_neck_melanoma_38698.json | 24 - .../3.3/tables/seer_regional_nodes_17757.json | 24 - .../3.3/tables/seer_regional_nodes_19661.json | 24 - .../3.3/tables/seer_regional_nodes_27397.json | 24 - .../3.3/tables/seer_regional_nodes_36710.json | 24 - .../3.3/tables/seer_regional_nodes_67072.json | 24 - .../3.3/tables/seer_regional_nodes_69051.json | 24 - .../3.3/tables/seer_regional_nodes_69974.json | 24 - .../3.3/tables/seer_regional_nodes_83435.json | 24 - .../3.3/tables/seer_regional_nodes_91716.json | 24 - .../3.3/tables/seer_regional_nodes_93152.json | 24 - .../seer_regional_nodes_copy_24179.json | 24 - .../seer_regional_nodes_eyeother_16963.json | 24 - ...eer_regional_nodes_lacrimal_sac_33881.json | 24 - .../3.3/tables/sentinel_nodes_exam_7235.json | 20 - .../3.3/tables/sentinel_nodes_pos_95909.json | 20 - .../tables/separate_tumor_nodules_69006.json | 23 - .../tables/serum_alb_pretx_level_58159.json | 23 - .../tables/sex_assigned_at_birth_63290.json | 18 - .../spread_through_air_spaces_stas_67834.json | 23 - .../eod_public/3.3/tables/ss2018_44993.json | 21 - ...018_adnexa_uterine_other_values_44976.json | 19 - ...nal_gland_including_net_adrenal_70096.json | 21 - ..._ampulla_of_vater_including_net_96311.json | 21 - .../3.3/tables/ss2018_anus_55561.json | 21 - .../ss2018_appendix_including_netl_54459.json | 21 - .../3.3/tables/ss2018_bladder_57733.json | 21 - .../3.3/tables/ss2018_brain_67865.json | 21 - .../3.3/tables/ss2018_breast_69079.json | 21 - .../tables/ss2018_buccal_mucosa_94903.json | 21 - ..._nodes_and_unknown_primary_tumor_8991.json | 21 - .../3.3/tables/ss2018_cervix_64954.json | 21 - .../3.3/tables/ss2018_cns_other_67712.json | 21 - ..._colon_and_rectum_including_net_40538.json | 21 - .../3.3/tables/ss2018_conjunctiva_16779.json | 21 - ...us_carcinoma_and_carcinosarcoma_28794.json | 21 - .../tables/ss2018_corpus_sarcoma_75896.json | 21 - .../tables/ss2018_digestive_other_9136.json | 21 - .../tables/ss2018_endocrine_other_54817.json | 21 - ...ss2018_esophagus_excluding_gist_57104.json | 21 - .../ss2018_extrahepatic_bile_ducts_65728.json | 21 - .../3.3/tables/ss2018_eye_other_36531.json | 21 - .../tables/ss2018_fallopian_tube_83058.json | 22 - .../3.3/tables/ss2018_floor_mouth_83713.json | 21 - .../tables/ss2018_floor_of_mouth_27181.json | 19 - .../3.3/tables/ss2018_gallbladder_15174.json | 21 - .../ss2018_genital_female_other_5962.json | 21 - .../ss2018_genital_male_other_44390.json | 21 - .../3.3/tables/ss2018_gist_23534.json | 21 - .../3.3/tables/ss2018_gum_75440.json | 21 - .../3.3/tables/ss2018_hemeretic_3793.json | 21 - ...cluding_melanoma_8720_8790_copy_30010.json | 21 - .../3.3/tables/ss2018_ill_defined_18664.json | 21 - .../ss2018_intracranial_gland_98794.json | 21 - .../ss2018_intrahepatic_bile_ducts_51957.json | 21 - .../tables/ss2018_kaposi_sarcoma_17563.json | 21 - .../ss2018_kidney_renal_parenchyma_30980.json | 21 - .../ss2018_kidney_renal_pelvis_29650.json | 21 - .../tables/ss2018_lacrimal_gland_82062.json | 21 - ...tic_excluding_melanoma_8720_8790_2238.json | 21 - ...er_excluding_melanoma_8720_8790_40558.json | 21 - ...ic_excluding_melanoma_8720_8790_93242.json | 21 - ...ic_excluding_melanoma_8720_8790_91429.json | 21 - .../3.3/tables/ss2018_lip_92534.json | 21 - .../3.3/tables/ss2018_liver_84469.json | 21 - .../3.3/tables/ss2018_lung_41334.json | 21 - .../3.3/tables/ss2018_lymphoma_27031.json | 21 - .../ss2018_lymphoma_ocular_adnexa_3583.json | 21 - .../ss2018_major_salivary_glands_43893.json | 21 - .../tables/ss2018_medulloblastoma_22906.json | 21 - ...anoma_choroid_ciliary_body_iris_21929.json | 21 - .../ss2018_melanoma_conjunctiva_86342.json | 21 - ...elanoma_head_and_neck_8720_8790_46168.json | 21 - .../tables/ss2018_melanoma_skin_64985.json | 21 - .../ss2018_merkel_cell_carcinoma_89481.json | 21 - .../3.3/tables/ss2018_middle_ear_16857.json | 21 - .../3.3/tables/ss2018_mouth_other_31159.json | 21 - .../ss2018_mycosis_fungoides_94448.json | 21 - ...us_excluding_melanoma_8720_8790_21699.json | 21 - ...cluding_melanoma_8720_8790_copy_99106.json | 21 - .../3.3/tables/ss2018_orbit_27202.json | 21 - ...ynx_excluding_melanoma_8720_8790_9999.json | 21 - ...n_tube_and_peritoneal_carcinoma_21678.json | 21 - .../3.3/tables/ss2018_palate_hard_86267.json | 21 - .../3.3/tables/ss2018_pancreas_95507.json | 21 - .../3.3/tables/ss2018_parathyroid_99309.json | 21 - .../3.3/tables/ss2018_penis_97065.json | 21 - ...nos_excluding_melanoma_8720_8790_3303.json | 21 - .../3.3/tables/ss2018_placenta_66365.json | 21 - .../3.3/tables/ss2018_pleura_60930.json | 21 - ...2018_primary_cutaneous_lymphomas_4605.json | 21 - .../3.3/tables/ss2018_prostate_76172.json | 21 - .../ss2018_respiratory_other_36695.json | 21 - .../tables/ss2018_retinoblastoma_45411.json | 21 - ...er_excluding_melanoma_8720_8790_91859.json | 21 - .../tables/ss2018_skin_of_eyelid_82925.json | 21 - .../3.3/tables/ss2018_skin_other_56341.json | 21 - ...8_small_intestine_including_net_85335.json | 21 - .../3.3/tables/ss2018_soft_tissue_31311.json | 21 - ...tissue_heart_mediastinum_pleura_63956.json | 21 - ...2018_soft_tissue_retroperitoneum_5644.json | 21 - ...8_stomach_including_net_stomach_35647.json | 21 - .../3.3/tables/ss2018_testis_82848.json | 21 - .../3.3/tables/ss2018_thymus_60066.json | 21 - .../3.3/tables/ss2018_thyroid_33058.json | 21 - .../tables/ss2018_tongue_anterior_66978.json | 21 - .../3.3/tables/ss2018_trachea_70961.json | 21 - .../3.3/tables/ss2018_urethra_14363.json | 21 - .../tables/ss2018_urinary_other_87865.json | 21 - .../3.3/tables/ss2018_vagina_94653.json | 21 - .../3.3/tables/ss2018_validation.json | 21 - .../3.3/tables/ss2018_vulva_49198.json | 21 - .../3.3/tables/summary_stage_benign_3306.json | 26 - .../tables/summary_stage_lymphoma_25139.json | 26 - .../3.3/tables/summary_stage_raa.json | 26 - .../3.3/tables/summary_stage_rac.json | 26 - .../3.3/tables/summary_stage_rpa.json | 26 - .../3.3/tables/systemic_surg_seq.json | 19 - .../tables/systemic_symptoms_at_dx_60639.json | 23 - .../3.3/tables/thrombocytopenia_8479.json | 23 - ...thyroid_gland_thyroglossal_duct_21498.json | 21 - .../3.3/tables/tumor_deposits_40070.json | 23 - .../tables/tumor_growth_pattern_31889.json | 23 - .../3.3/tables/tumor_size_clinical_48894.json | 19 - .../3.3/tables/tumor_size_clinical_60979.json | 19 - .../tumor_size_clinical_breast_34385.json | 20 - .../tables/tumor_size_clinical_dna_64119.json | 19 - .../tumor_size_clinical_full_19656.json | 19 - .../tumor_size_clinical_full_74867.json | 19 - .../tables/tumor_size_pathological_25597.json | 19 - .../tables/tumor_size_pathological_43328.json | 19 - .../tumor_size_pathological_breast_85445.json | 20 - .../tumor_size_pathological_dna_6742.json | 19 - .../tumor_size_pathological_full_62176.json | 19 - .../tumor_size_pathological_full_93442.json | 19 - .../3.3/tables/tumor_size_summary_47973.json | 19 - .../3.3/tables/tumor_size_summary_63115.json | 19 - .../tumor_size_summary_breast_14624.json | 20 - .../tables/tumor_size_summary_dna_13275.json | 19 - .../tables/tumor_size_summary_full_15510.json | 19 - .../tables/tumor_size_summary_full_31213.json | 19 - .../type_of_reporting_source_76696.json | 18 - .../3.3/tables/ulceration_5718.json | 22 - .../urethra_prostatic_urethra_30106.json | 26 - .../visceral_pleural_invasion_25940.json | 23 - .../3.3/tables/year_dx_validation.json | 19 - .../resources/algorithms/pediatric-1.3.zip | Bin 0 -> 185948 bytes .../pediatric/1.3/glossary/terms.txt | 0 .../schemas/acute_lymphoblastic_leukemia.json | 164 - .../schemas/adult_other_non_pediatric.json | 116 - .../pediatric/1.3/schemas/astrocytoma.json | 159 - .../pediatric/1.3/schemas/ependymoma.json | 139 - .../pediatric/1.3/schemas/hepatoblastoma.json | 157 - .../1.3/schemas/hodgkin_lymphoma.json | 165 - .../algorithms/pediatric/1.3/schemas/ids.txt | 33 - ...malignant_bone_tumors_chondrosarcomas.json | 154 - .../schemas/malignant_bone_tumors_ewing.json | 166 - .../malignant_bone_tumors_osteosarcoma.json | 154 - ...malignant_bone_tumors_other_specified.json | 154 - .../malignant_bone_tumors_unspecified.json | 154 - .../1.3/schemas/medulloblastoma.json | 139 - ...loblastoma_atypical_teratoid_rhabdoid.json | 139 - .../medulloblastoma_medulloepithelioma.json | 139 - .../medulloblastoma_pineoblastoma.json | 139 - .../1.3/schemas/medulloblastoma_pnet.json | 139 - .../pediatric/1.3/schemas/neuroblastoma.json | 192 -- .../1.3/schemas/nhl_burkitt_lymphoma.json | 154 - .../schemas/nhl_mature_b_cell_lymphomas.json | 154 - .../pediatric/1.3/schemas/nhl_nos.json | 154 - .../nhl_t_cell_and_nk_cell_lymphomas.json | 154 - .../non_rhabdomyosarcoma_fibrosarcomas.json | 198 -- .../non_rhabdomyosarcoma_other_specified.json | 198 -- .../non_rhabdomyosarcoma_unspecified.json | 198 -- .../pediatric/1.3/schemas/ovarian.json | 154 - .../renal_tumors_ewing_sarcoma_of_kidney.json | 203 -- .../schemas/renal_tumors_kidney_sarcomas.json | 198 -- .../schemas/renal_tumors_nephroblastoma.json | 191 -- .../renal_tumors_rhabdoid_renal_tumor.json | 191 -- ...rs_unspecified_malignant_renal_tumors.json | 198 -- .../pediatric/1.3/schemas/retinoblastoma.json | 175 - .../1.3/schemas/rhabdomyosarcoma.json | 198 -- .../pediatric/1.3/schemas/testicular.json | 216 -- .../age_at_diagnosis_validation_3881.json | 15 - .../1.3/tables/b_symptoms_95631.json | 23 - .../pediatric/1.3/tables/behavior.json | 19 - .../braf_mutational_analysis_15216.json | 23 - .../tables/chromosome_16q_status_46566.json | 22 - .../tables/chromosome_1p_status_97190.json | 22 - .../tables/chromosome_1q_status_14467.json | 22 - .../1.3/tables/combined_s_category_15139.json | 23 - .../tables/conversion_to_pediatric_mets.json | 43 - ...conversion_to_pediatric_primary_tumor.json | 47 - ...onversion_to_pediatric_regional_nodes.json | 39 - .../tables/derived_summary_grade_47984.json | 15 - .../1.3/tables/ewsr1_fli1_fusion_57187.json | 22 - .../foxo1_gene_rearrangements_72870.json | 23 - .../pediatric/1.3/tables/histology.json | 15 - .../algorithms/pediatric/1.3/tables/ids.txt | 129 - .../pediatric/1.3/tables/inpc_21708.json | 24 - ...neuroblastoma_risk_grp_stag_sys_18504.json | 23 - .../tables/irss_stage_for_eye_2_95484.json | 23 - .../1.3/tables/n_myc_amplification_57417.json | 23 - .../pediatric/1.3/tables/nodes_pos_fpa.json | 19 - .../1.3/tables/pediatric_grade_46495.json | 19 - .../1.3/tables/pediatric_m_36063.json | 23 - .../1.3/tables/pediatric_m_79386.json | 23 - .../1.3/tables/pediatric_m_97287.json | 23 - .../1.3/tables/pediatric_mets_12638.json | 19 - .../1.3/tables/pediatric_mets_19048.json | 19 - .../1.3/tables/pediatric_mets_20116.json | 21 - .../1.3/tables/pediatric_mets_26722.json | 19 - .../1.3/tables/pediatric_mets_40773.json | 19 - .../1.3/tables/pediatric_mets_43643.json | 21 - .../1.3/tables/pediatric_mets_53483.json | 18 - .../1.3/tables/pediatric_mets_61257.json | 19 - .../1.3/tables/pediatric_mets_63579.json | 19 - .../1.3/tables/pediatric_mets_64617.json | 19 - .../1.3/tables/pediatric_mets_72113.json | 20 - .../1.3/tables/pediatric_mets_75175.json | 21 - .../1.3/tables/pediatric_mets_93634.json | 19 - .../1.3/tables/pediatric_mets_na_36656.json | 18 - .../1.3/tables/pediatric_n_19406.json | 23 - .../1.3/tables/pediatric_n_21296.json | 23 - .../1.3/tables/pediatric_n_84898.json | 27 - .../tables/pediatric_primary_tumor_1156.json | 20 - .../tables/pediatric_primary_tumor_14026.json | 19 - .../tables/pediatric_primary_tumor_1604.json | 19 - .../tables/pediatric_primary_tumor_20791.json | 19 - .../tables/pediatric_primary_tumor_21887.json | 21 - .../tables/pediatric_primary_tumor_25859.json | 20 - .../tables/pediatric_primary_tumor_36616.json | 20 - .../tables/pediatric_primary_tumor_39067.json | 19 - .../tables/pediatric_primary_tumor_47758.json | 21 - .../tables/pediatric_primary_tumor_48137.json | 20 - .../tables/pediatric_primary_tumor_57637.json | 19 - .../tables/pediatric_primary_tumor_73431.json | 19 - .../tables/pediatric_primary_tumor_7436.json | 19 - .../tables/pediatric_primary_tumor_84083.json | 21 - .../tables/pediatric_primary_tumor_92453.json | 19 - .../pediatric_primary_tumor_na_1293.json | 18 - .../pediatric_regional_nodes_20397.json | 19 - .../pediatric_regional_nodes_24935.json | 19 - .../pediatric_regional_nodes_26974.json | 19 - .../pediatric_regional_nodes_30482.json | 19 - .../pediatric_regional_nodes_32357.json | 19 - .../pediatric_regional_nodes_42195.json | 19 - .../tables/pediatric_regional_nodes_591.json | 19 - .../pediatric_regional_nodes_59828.json | 19 - .../pediatric_regional_nodes_67911.json | 19 - .../pediatric_regional_nodes_na_68667.json | 18 - .../1.3/tables/pediatric_stage_11224.json | 23 - .../1.3/tables/pediatric_stage_11413.json | 23 - .../1.3/tables/pediatric_stage_16688.json | 35 - .../1.3/tables/pediatric_stage_19429.json | 39 - .../1.3/tables/pediatric_stage_51275.json | 27 - .../1.3/tables/pediatric_stage_54754.json | 23 - .../1.3/tables/pediatric_stage_56655.json | 23 - .../1.3/tables/pediatric_stage_57755.json | 35 - .../1.3/tables/pediatric_stage_69576.json | 23 - .../1.3/tables/pediatric_stage_70937.json | 27 - .../1.3/tables/pediatric_stage_78332.json | 31 - .../1.3/tables/pediatric_stage_79275.json | 35 - .../1.3/tables/pediatric_stage_80420.json | 31 - .../1.3/tables/pediatric_stage_85957.json | 23 - .../1.3/tables/pediatric_stage_94654.json | 35 - .../1.3/tables/pediatric_t_59799.json | 27 - .../1.3/tables/pediatric_t_65327.json | 23 - .../1.3/tables/pediatric_t_75382.json | 27 - .../pretext_clinical_staging_39169.json | 21 - .../pediatric/1.3/tables/primary_site.json | 19 - ...x_summ_surg_2023_retinoblastoma_97268.json | 15 - .../rx_summ_surgical_margins_47287.json | 15 - .../1.3/tables/s_category_clinical_11368.json | 21 - .../tables/s_category_pathological_46197.json | 21 - ...election_acute_lymphoblastic_leukemia.json | 30 - ...a_selection_adult_other_non_pediatric.json | 30 - .../tables/schema_selection_astrocytoma.json | 26 - .../tables/schema_selection_ependymoma.json | 22 - .../schema_selection_hepatoblastoma.json | 26 - .../schema_selection_hodgkin_lymphoma.json | 30 - ...malignant_bone_tumors_chondrosarcomas.json | 30 - ...selection_malignant_bone_tumors_ewing.json | 30 - ...on_malignant_bone_tumors_osteosarcoma.json | 30 - ...malignant_bone_tumors_other_specified.json | 30 - ...ion_malignant_bone_tumors_unspecified.json | 30 - .../schema_selection_medulloblastoma.json | 22 - ...loblastoma_atypical_teratoid_rhabdoid.json | 22 - ...on_medulloblastoma_medulloepithelioma.json | 22 - ...lection_medulloblastoma_pineoblastoma.json | 22 - ...schema_selection_medulloblastoma_pnet.json | 22 - .../schema_selection_neuroblastoma.json | 26 - ...schema_selection_nhl_burkitt_lymphoma.json | 30 - ...selection_nhl_mature_b_cell_lymphomas.json | 30 - .../1.3/tables/schema_selection_nhl_nos.json | 30 - ...tion_nhl_t_cell_and_nk_cell_lymphomas.json | 30 - ...on_non_rhabdomyosarcoma_fibrosarcomas.json | 30 - ..._non_rhabdomyosarcoma_other_specified.json | 30 - ...tion_non_rhabdomyosarcoma_unspecified.json | 30 - .../1.3/tables/schema_selection_ovarian.json | 30 - ..._renal_tumors_ewing_sarcoma_of_kidney.json | 26 - ...election_renal_tumors_kidney_sarcomas.json | 30 - ...selection_renal_tumors_nephroblastoma.json | 26 - ...ion_renal_tumors_rhabdoid_renal_tumor.json | 26 - ...rs_unspecified_malignant_renal_tumors.json | 30 - .../schema_selection_retinoblastoma.json | 26 - .../schema_selection_rhabdomyosarcoma.json | 30 - .../tables/schema_selection_testicular.json | 30 - .../1.3/tables/toronto_stage_92889.json | 19 - .../1.3/tables/toronto_stage_group_41463.json | 18 - .../1.3/tables/tumor_size_summary_47973.json | 19 - .../tables/white_blood_cell_count_1932.json | 23 - .../1.3/tables/year_dx_validation.json | 19 - .../glossary/546cf5aee4b0d965832a94bf.json | 8 - .../glossary/546f598de4b0d965832bb0c4.json | 5 - .../glossary/5505c8e7e4b0c48f31d70838.json | 11 - .../glossary/55097bbee4b0c48f31d8967a.json | 5 - .../glossary/550adaede4b0c48f31d94520.json | 11 - .../glossary/554540cfe4b0426fced42655.json | 5 - .../glossary/55a800abe4b05cd0cddb978e.json | 8 - .../glossary/55a80262e4b05cd0cddb99b8.json | 5 - .../glossary/55a9a501e4b05cd0cddc710a.json | 9 - .../glossary/55b12ee91ef5572aac76e67a.json | 8 - .../glossary/55ba2b9b1ef5572aac7b2910.json | 5 - .../glossary/55dcb1521ef5576bf30cca55.json | 9 - .../glossary/55dcb26c1ef5576bf30ccc10.json | 9 - .../testing/99.99/glossary/terms.txt | 13 - .../algorithms/testing/99.99/schemas/ids.txt | 1 - .../testing/99.99/schemas/urethra.json | 1894 ----------- .../99.99/tables/ajcc6_exclusions_ppd.json | 3013 ----------------- .../testing/99.99/tables/ajcc6_m_codes.json | 87 - .../testing/99.99/tables/ajcc6_n_codes.json | 152 - .../99.99/tables/ajcc6_stage_codes.json | 347 -- .../testing/99.99/tables/ajcc6_stage_qaw.json | 752 ---- .../testing/99.99/tables/ajcc6_t_codes.json | 322 -- .../99.99/tables/ajcc6_year_validation.json | 31 - .../99.99/tables/ajcc7_inclusions_tpb.json | 26 - .../testing/99.99/tables/ajcc7_m_codes.json | 87 - .../testing/99.99/tables/ajcc7_n_codes.json | 152 - .../99.99/tables/ajcc7_stage_codes.json | 347 -- .../testing/99.99/tables/ajcc7_stage_uaz.json | 512 --- .../testing/99.99/tables/ajcc7_t_codes.json | 322 -- .../99.99/tables/ajcc7_year_validation.json | 31 - .../99.99/tables/ajcc_descriptor_codes.json | 57 - .../tables/ajcc_mdescriptor_cleanup.json | 65 - .../tables/ajcc_ndescriptor_cleanup.json | 65 - .../tables/ajcc_tdescriptor_cleanup.json | 65 - .../testing/99.99/tables/behavior.json | 38 - .../tables/cs_input_version_original.json | 50 - .../99.99/tables/cs_year_validation.json | 38 - .../testing/99.99/tables/extension_bdi.json | 187 - .../99.99/tables/extension_eval_cpa.json | 67 - .../testing/99.99/tables/grade.json | 58 - .../testing/99.99/tables/histology.json | 665 ---- .../algorithms/testing/99.99/tables/ids.txt | 62 - .../algorithms/testing/99.99/tables/lvi.json | 38 - .../testing/99.99/tables/mets_eval_ipa.json | 68 - .../testing/99.99/tables/mets_hpe.json | 91 - .../testing/99.99/tables/nodes_dbu.json | 131 - .../testing/99.99/tables/nodes_eval_epa.json | 68 - .../testing/99.99/tables/nodes_exam_gpa.json | 54 - .../testing/99.99/tables/nodes_pos_fpa.json | 51 - .../testing/99.99/tables/primary_site.json | 1342 -------- .../tables/schema_selection_urethra.json | 32 - .../testing/99.99/tables/size_apa.json | 62 - .../testing/99.99/tables/ss_codes.json | 82 - .../testing/99.99/tables/ssf10_sne.json | 26 - .../testing/99.99/tables/ssf11_snf.json | 26 - .../testing/99.99/tables/ssf12_sng.json | 26 - .../testing/99.99/tables/ssf13_snh.json | 26 - .../testing/99.99/tables/ssf14_sni.json | 26 - .../testing/99.99/tables/ssf15_snj.json | 26 - .../testing/99.99/tables/ssf16_snk.json | 26 - .../testing/99.99/tables/ssf17_snl.json | 26 - .../testing/99.99/tables/ssf18_snm.json | 26 - .../testing/99.99/tables/ssf19_snn.json | 26 - .../testing/99.99/tables/ssf1_jpd.json | 52 - .../testing/99.99/tables/ssf20_sno.json | 26 - .../testing/99.99/tables/ssf21_snp.json | 26 - .../testing/99.99/tables/ssf22_snq.json | 26 - .../testing/99.99/tables/ssf23_snr.json | 26 - .../testing/99.99/tables/ssf24_sns.json | 26 - .../testing/99.99/tables/ssf25_snt.json | 26 - .../testing/99.99/tables/ssf2_kna.json | 30 - .../testing/99.99/tables/ssf3_lna.json | 30 - .../testing/99.99/tables/ssf4_mna.json | 30 - .../testing/99.99/tables/ssf5_nna.json | 30 - .../testing/99.99/tables/ssf6_ona.json | 30 - .../testing/99.99/tables/ssf7_snb.json | 26 - .../testing/99.99/tables/ssf8_snc.json | 26 - .../testing/99.99/tables/ssf9_snd.json | 26 - .../99.99/tables/summary_stage_rpa.json | 2781 --------------- src/test/resources/algorithms/tnm-2.0.zip | Bin 0 -> 2110421 bytes .../glossary/546cf5aee4b0d965832a94bf.json | 6 - .../glossary/546f598de4b0d965832bb0c4.json | 5 - .../glossary/5505c8e7e4b0c48f31d70838.json | 6 - .../glossary/55097bbee4b0c48f31d8967a.json | 5 - .../glossary/550adaede4b0c48f31d94520.json | 6 - .../glossary/55a800abe4b05cd0cddb978e.json | 6 - .../glossary/55a80262e4b05cd0cddb99b8.json | 5 - .../glossary/55a99b73e4b05cd0cddc6dc1.json | 6 - .../glossary/55a99c08e4b05cd0cddc6df1.json | 6 - .../glossary/55a99cbce4b05cd0cddc6e1f.json | 6 - .../glossary/55a99e80e4b05cd0cddc6ed7.json | 6 - .../glossary/55a9a0bfe4b05cd0cddc6fed.json | 6 - .../glossary/55a9a501e4b05cd0cddc710a.json | 6 - .../glossary/55a9a750e4b05cd0cddc71b4.json | 5 - .../glossary/55a9a9a6e4b05cd0cddc72cd.json | 6 - .../glossary/55b12ee91ef5572aac76e67a.json | 6 - .../glossary/55ba2b9b1ef5572aac7b2910.json | 5 - .../glossary/55dcae631ef5571a5d966163.json | 5 - .../glossary/55dcb1521ef5576bf30cca55.json | 6 - .../glossary/55dcb26c1ef5576bf30ccc10.json | 6 - .../glossary/55ddcdcd1ef5576bf30d4e4b.json | 5 - .../glossary/55df18511ef5576bf30e0012.json | 5 - .../glossary/55df3e691ef5576bf30e2e32.json | 5 - .../algorithms/tnm/2.0/glossary/terms.txt | 33 - .../tnm/2.0/schemas/adnexa_uterine_other.json | 90 - .../tnm/2.0/schemas/adrenal_gland.json | 637 ---- .../tnm/2.0/schemas/ampulla_vater.json | 652 ---- .../algorithms/tnm/2.0/schemas/anus.json | 636 ---- .../algorithms/tnm/2.0/schemas/appendix.json | 700 ---- .../tnm/2.0/schemas/bile_ducts_distal.json | 670 ---- .../2.0/schemas/bile_ducts_intrahepat.json | 685 ---- .../tnm/2.0/schemas/bile_ducts_perihilar.json | 691 ---- .../tnm/2.0/schemas/biliary_other.json | 90 - .../algorithms/tnm/2.0/schemas/bladder.json | 671 ---- .../algorithms/tnm/2.0/schemas/bone.json | 665 ---- .../algorithms/tnm/2.0/schemas/brain.json | 178 - .../algorithms/tnm/2.0/schemas/breast.json | 955 ------ .../tnm/2.0/schemas/buccal_mucosa.json | 753 ---- .../tnm/2.0/schemas/carcinoid_appendix.json | 629 ---- .../algorithms/tnm/2.0/schemas/cervix.json | 705 ---- .../algorithms/tnm/2.0/schemas/cns_other.json | 178 - .../algorithms/tnm/2.0/schemas/colon.json | 733 ---- .../tnm/2.0/schemas/conjunctiva.json | 649 ---- .../tnm/2.0/schemas/corpus_adenosarcoma.json | 728 ---- .../tnm/2.0/schemas/corpus_carcinoma.json | 728 ---- .../tnm/2.0/schemas/corpus_sarcoma.json | 721 ---- .../tnm/2.0/schemas/cystic_duct.json | 644 ---- .../tnm/2.0/schemas/digestive_other.json | 90 - .../tnm/2.0/schemas/endocrine_other.json | 90 - .../tnm/2.0/schemas/epiglottis_anterior.json | 740 ---- .../algorithms/tnm/2.0/schemas/esophagus.json | 667 ---- .../tnm/2.0/schemas/esophagus_gejunction.json | 677 ---- .../algorithms/tnm/2.0/schemas/eye_other.json | 90 - .../tnm/2.0/schemas/fallopian_tube.json | 717 ---- .../tnm/2.0/schemas/floor_mouth.json | 753 ---- .../tnm/2.0/schemas/gallbladder.json | 644 ---- .../tnm/2.0/schemas/genital_female_other.json | 90 - .../tnm/2.0/schemas/genital_male_other.json | 90 - .../tnm/2.0/schemas/gist_appendix.json | 670 ---- .../tnm/2.0/schemas/gist_colon.json | 670 ---- .../tnm/2.0/schemas/gist_esophagus.json | 670 ---- .../tnm/2.0/schemas/gist_peritoneum.json | 678 ---- .../tnm/2.0/schemas/gist_rectum.json | 670 ---- .../tnm/2.0/schemas/gist_small_intestine.json | 670 ---- .../tnm/2.0/schemas/gist_stomach.json | 670 ---- .../algorithms/tnm/2.0/schemas/gum_lower.json | 753 ---- .../algorithms/tnm/2.0/schemas/gum_other.json | 753 ---- .../algorithms/tnm/2.0/schemas/gum_upper.json | 753 ---- .../tnm/2.0/schemas/heart_mediastinum.json | 673 ---- .../tnm/2.0/schemas/heme_retic.json | 105 - .../tnm/2.0/schemas/hypopharynx.json | 747 ---- .../algorithms/tnm/2.0/schemas/ids.txt | 153 - .../tnm/2.0/schemas/ill_defined_other.json | 90 - .../tnm/2.0/schemas/intracranial_gland.json | 115 - .../tnm/2.0/schemas/kaposi_sarcoma.json | 129 - .../tnm/2.0/schemas/kidney_parenchyma.json | 727 ---- .../tnm/2.0/schemas/kidney_renal_pelvis.json | 656 ---- .../tnm/2.0/schemas/lacrimal_gland.json | 716 ---- .../tnm/2.0/schemas/lacrimal_sac.json | 108 - .../tnm/2.0/schemas/larynx_glottic.json | 740 ---- .../tnm/2.0/schemas/larynx_other.json | 740 ---- .../tnm/2.0/schemas/larynx_subglottic.json | 740 ---- .../tnm/2.0/schemas/larynx_supraglottic.json | 740 ---- .../algorithms/tnm/2.0/schemas/lip_lower.json | 754 ----- .../algorithms/tnm/2.0/schemas/lip_other.json | 754 ----- .../algorithms/tnm/2.0/schemas/lip_upper.json | 754 ----- .../algorithms/tnm/2.0/schemas/liver.json | 727 ---- .../algorithms/tnm/2.0/schemas/lung.json | 674 ---- .../algorithms/tnm/2.0/schemas/lymphoma.json | 241 -- .../2.0/schemas/lymphoma_ocular_adnexa.json | 320 -- .../2.0/schemas/melanoma_buccal_mucosa.json | 750 ---- .../tnm/2.0/schemas/melanoma_choroid.json | 776 ----- .../2.0/schemas/melanoma_ciliary_body.json | 794 ----- .../tnm/2.0/schemas/melanoma_conjunctiva.json | 662 ---- .../schemas/melanoma_epiglottis_anterior.json | 750 ---- .../tnm/2.0/schemas/melanoma_eye_other.json | 90 - .../tnm/2.0/schemas/melanoma_floor_mouth.json | 750 ---- .../tnm/2.0/schemas/melanoma_gum_lower.json | 750 ---- .../tnm/2.0/schemas/melanoma_gum_other.json | 750 ---- .../tnm/2.0/schemas/melanoma_gum_upper.json | 750 ---- .../tnm/2.0/schemas/melanoma_hypopharynx.json | 750 ---- .../tnm/2.0/schemas/melanoma_iris.json | 795 ----- .../2.0/schemas/melanoma_larynx_glottic.json | 750 ---- .../2.0/schemas/melanoma_larynx_other.json | 750 ---- .../schemas/melanoma_larynx_subglottic.json | 750 ---- .../schemas/melanoma_larynx_supraglottic.json | 750 ---- .../tnm/2.0/schemas/melanoma_lip_lower.json | 751 ---- .../tnm/2.0/schemas/melanoma_lip_other.json | 751 ---- .../tnm/2.0/schemas/melanoma_lip_upper.json | 751 ---- .../tnm/2.0/schemas/melanoma_mouth_other.json | 750 ---- .../2.0/schemas/melanoma_nasal_cavity.json | 750 ---- .../tnm/2.0/schemas/melanoma_nasopharynx.json | 750 ---- .../tnm/2.0/schemas/melanoma_oropharynx.json | 750 ---- .../tnm/2.0/schemas/melanoma_palate_hard.json | 750 ---- .../tnm/2.0/schemas/melanoma_palate_soft.json | 750 ---- .../2.0/schemas/melanoma_pharynx_other.json | 750 ---- .../2.0/schemas/melanoma_sinus_ethmoid.json | 750 ---- .../2.0/schemas/melanoma_sinus_maxillary.json | 750 ---- .../tnm/2.0/schemas/melanoma_sinus_other.json | 219 -- .../tnm/2.0/schemas/melanoma_skin.json | 725 ---- .../2.0/schemas/melanoma_tongue_anterior.json | 750 ---- .../tnm/2.0/schemas/melanoma_tongue_base.json | 750 ---- .../tnm/2.0/schemas/merkel_cell_penis.json | 731 ---- .../tnm/2.0/schemas/merkel_cell_scrotum.json | 731 ---- .../tnm/2.0/schemas/merkel_cell_skin.json | 731 ---- .../tnm/2.0/schemas/merkel_cell_vulva.json | 744 ---- .../tnm/2.0/schemas/middle_ear.json | 204 -- .../tnm/2.0/schemas/mouth_other.json | 753 ---- .../tnm/2.0/schemas/mycosis_fungoides.json | 649 ---- .../schemas/myeloma_plasma_cell_disorder.json | 120 - .../tnm/2.0/schemas/nasal_cavity.json | 753 ---- .../tnm/2.0/schemas/nasopharynx.json | 765 ----- .../tnm/2.0/schemas/net_ampulla.json | 655 ---- .../algorithms/tnm/2.0/schemas/net_colon.json | 659 ---- .../tnm/2.0/schemas/net_rectum.json | 659 ---- .../tnm/2.0/schemas/net_small_intestine.json | 655 ---- .../tnm/2.0/schemas/net_stomach.json | 662 ---- .../algorithms/tnm/2.0/schemas/orbit.json | 621 ---- .../tnm/2.0/schemas/oropharynx.json | 747 ---- .../algorithms/tnm/2.0/schemas/ovary.json | 680 ---- .../tnm/2.0/schemas/palate_hard.json | 753 ---- .../tnm/2.0/schemas/palate_soft.json | 747 ---- .../tnm/2.0/schemas/pancreas_body_tail.json | 647 ---- .../tnm/2.0/schemas/pancreas_head.json | 652 ---- .../tnm/2.0/schemas/pancreas_other.json | 652 ---- .../tnm/2.0/schemas/parotid_gland.json | 725 ---- .../algorithms/tnm/2.0/schemas/penis.json | 680 ---- .../tnm/2.0/schemas/peritoneum.json | 685 ---- .../2.0/schemas/peritoneum_female_gen.json | 693 ---- .../tnm/2.0/schemas/pharyngeal_tonsil.json | 765 ----- .../tnm/2.0/schemas/pharynx_other.json | 211 -- .../algorithms/tnm/2.0/schemas/placenta.json | 501 --- .../algorithms/tnm/2.0/schemas/pleura.json | 678 ---- .../algorithms/tnm/2.0/schemas/prostate.json | 786 ----- .../algorithms/tnm/2.0/schemas/rectum.json | 740 ---- .../tnm/2.0/schemas/respiratory_other.json | 90 - .../tnm/2.0/schemas/retinoblastoma.json | 661 ---- .../tnm/2.0/schemas/retroperitoneum.json | 666 ---- .../tnm/2.0/schemas/salivary_gland_other.json | 725 ---- .../algorithms/tnm/2.0/schemas/scrotum.json | 683 ---- .../tnm/2.0/schemas/sinus_ethmoid.json | 753 ---- .../tnm/2.0/schemas/sinus_maxillary.json | 753 ---- .../tnm/2.0/schemas/sinus_other.json | 217 -- .../algorithms/tnm/2.0/schemas/skin.json | 688 ---- .../tnm/2.0/schemas/skin_eyelid.json | 765 ----- .../tnm/2.0/schemas/small_intestine.json | 672 ---- .../tnm/2.0/schemas/soft_tissue.json | 673 ---- .../algorithms/tnm/2.0/schemas/stomach.json | 678 ---- .../tnm/2.0/schemas/submandibular_gland.json | 725 ---- .../algorithms/tnm/2.0/schemas/testis.json | 769 ----- .../algorithms/tnm/2.0/schemas/thyroid.json | 647 ---- .../tnm/2.0/schemas/tongue_anterior.json | 753 ---- .../tnm/2.0/schemas/tongue_base.json | 747 ---- .../algorithms/tnm/2.0/schemas/trachea.json | 90 - .../algorithms/tnm/2.0/schemas/urethra.json | 643 ---- .../tnm/2.0/schemas/urinary_other.json | 90 - .../algorithms/tnm/2.0/schemas/vagina.json | 719 ---- .../algorithms/tnm/2.0/schemas/vulva.json | 686 ---- ...no_path_stage_group_not_defined_61358.json | 68 - ...h_defaults_for_no_path_placenta_37763.json | 68 - ...ustments_for_no_clin_or_no_path_26261.json | 76 - .../tnm/2.0/tables/adrenal_gland_n_44698.json | 27 - .../tnm/2.0/tables/adrenal_gland_t_18187.json | 27 - .../tnm/2.0/tables/adrenal_m_7434.json | 26 - .../age_at_diagnosis_validation_65093.json | 18 - .../2.0/tables/ampulla_of_vater_t_63892.json | 27 - .../tnm/2.0/tables/anus_t_35615.json | 27 - .../appendix_grade_category_calculation.json | 19 - .../algorithms/tnm/2.0/tables/behavior.json | 18 - .../2.0/tables/bone_histologies_stage.json | 23 - .../2.0/tables/breast_pathologic_t_84149.json | 28 - .../tnm/2.0/tables/breast_t_70656.json | 28 - .../tnm/2.0/tables/buccal_mucosa_t_35895.json | 28 - .../2.0/tables/carcinoidappendix_t_41163.json | 27 - .../tnm/2.0/tables/cervix_uteri_t_38859.json | 27 - .../tnm/2.0/tables/clin_m_9010.json | 26 - .../tnm/2.0/tables/clin_m_anus_46174.json | 26 - .../2.0/tables/clin_m_conjunctiva_59480.json | 26 - .../algorithms/tnm/2.0/tables/clin_m_hab.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hac.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_had.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hae.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_haf.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hag.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hah.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hai.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_haj.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hak.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hal.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_ham.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_han.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hao.json | 26 - .../algorithms/tnm/2.0/tables/clin_m_hap.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_haq.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_har.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hat.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hau.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hav.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_haz.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hba.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hbb.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hbc.json | 26 - .../algorithms/tnm/2.0/tables/clin_m_hbf.json | 26 - .../algorithms/tnm/2.0/tables/clin_m_hbg.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hbo.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hbu.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hbx.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hbz.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hcb.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hcc.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hcd.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hce.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hcf.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hcg.json | 26 - .../algorithms/tnm/2.0/tables/clin_m_hch.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hci.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hcj.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hck.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hcl.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hcn.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hcp.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hcq.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hcr.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hcs.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hcu.json | 26 - .../algorithms/tnm/2.0/tables/clin_m_hcv.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hcw.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hcy.json | 26 - .../clin_m_head_neck_melanoma_25497.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hpb.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hpc.json | 26 - .../algorithms/tnm/2.0/tables/clin_m_hpd.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hpe.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hpg.json | 27 - .../algorithms/tnm/2.0/tables/clin_m_hph.json | 27 - .../clin_m_major_salivary_glands_94644.json | 27 - .../2.0/tables/clin_m_net_ampulla_35993.json | 27 - .../2.0/tables/clin_m_soft_tissues_97765.json | 26 - .../tables/clin_n_ampulla_vater_45064.json | 27 - .../tnm/2.0/tables/clin_n_bladder_88949.json | 27 - .../tnm/2.0/tables/clin_n_bone_13753.json | 27 - .../2.0/tables/clin_n_conjunctiva_61091.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dab.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dai.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_daj.json | 28 - .../algorithms/tnm/2.0/tables/clin_n_dak.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dam.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dan.json | 28 - .../algorithms/tnm/2.0/tables/clin_n_dat.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dau.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dav.json | 28 - .../algorithms/tnm/2.0/tables/clin_n_daw.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dax.json | 28 - .../algorithms/tnm/2.0/tables/clin_n_day.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_daz.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dba.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dbb.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dbc.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dbj.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dbl.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dbm.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dbn.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dbr.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dbt.json | 28 - .../algorithms/tnm/2.0/tables/clin_n_dce.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dcn.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_ddj.json | 28 - .../algorithms/tnm/2.0/tables/clin_n_ddm.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_ddn.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_ddp.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dew.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dfc.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dfe.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dff.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dfg.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dfl.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dfn.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dfo.json | 28 - .../algorithms/tnm/2.0/tables/clin_n_dfr.json | 28 - .../algorithms/tnm/2.0/tables/clin_n_dfs.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dfv.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dfw.json | 27 - .../algorithms/tnm/2.0/tables/clin_n_dfx.json | 27 - .../clin_n_esophagus_ge_junction_51247.json | 27 - .../tables/clin_n_gist_appendix_93665.json | 28 - .../tables/clin_n_gist_esophagus_87582.json | 28 - .../tables/clin_n_gist_peritoneum_47701.json | 28 - .../2.0/tables/clin_n_gist_rectum_58109.json | 28 - .../clin_n_gist_small_intestine_23294.json | 28 - .../clin_n_heart_mediastinum_77775.json | 27 - .../tables/clin_n_kidney_parenchyma_9806.json | 28 - .../clin_n_mycosis_fungoides_95773.json | 27 - .../2.0/tables/clin_n_net_ampulla_36773.json | 27 - .../2.0/tables/clin_n_ophthalmic_n_94312.json | 27 - .../clin_n_ophthalmic_n_notis_75953.json | 27 - .../tnm/2.0/tables/clin_n_pleural_23905.json | 27 - .../2.0/tables/clin_n_skin_eyelid_10770.json | 27 - .../2.0/tables/clin_n_soft_tissues_78998.json | 27 - .../tnm/2.0/tables/clin_n_testis_17993.json | 27 - .../tnm/2.0/tables/clin_n_urethra_47275.json | 27 - .../clin_renal_pevis_and_ureter_11547.json | 27 - .../tnm/2.0/tables/clin_t_appendix_24847.json | 27 - .../algorithms/tnm/2.0/tables/clin_t_ban.json | 28 - .../algorithms/tnm/2.0/tables/clin_t_bbo.json | 27 - .../algorithms/tnm/2.0/tables/clin_t_bcp.json | 28 - .../algorithms/tnm/2.0/tables/clin_t_bcs.json | 28 - .../algorithms/tnm/2.0/tables/clin_t_bcu.json | 27 - .../algorithms/tnm/2.0/tables/clin_t_bdh.json | 28 - .../tnm/2.0/tables/clin_t_bladder_38564.json | 27 - .../tnm/2.0/tables/clin_t_bone_70163.json | 27 - .../tnm/2.0/tables/clin_t_cervix_78153.json | 27 - .../2.0/tables/clin_t_conjunctiva_42760.json | 28 - .../tnm/2.0/tables/clin_t_copy_81159.json | 28 - .../2.0/tables/clin_t_esophagus_57970.json | 27 - .../tables/clin_t_fallopian_tube_77615.json | 27 - .../tables/clin_t_floor_of_mouth_37028.json | 28 - .../2.0/tables/clin_t_gallbladder_13172.json | 27 - .../tables/clin_t_gist_appendix_41981.json | 27 - .../tables/clin_t_gist_colon_copy_80286.json | 27 - .../tables/clin_t_gist_esophagus_47140.json | 27 - .../tables/clin_t_gist_peritoneum_12183.json | 27 - .../2.0/tables/clin_t_gist_rectum_83293.json | 27 - .../clin_t_gist_small_intestine_3299.json | 27 - .../2.0/tables/clin_t_gist_stomach_46079.json | 27 - .../tables/clin_t_glottic_larynx_36272.json | 28 - .../2.0/tables/clin_t_gum_lower_57588.json | 28 - .../2.0/tables/clin_t_gum_other_73657.json | 28 - .../2.0/tables/clin_t_gum_upper_23313.json | 28 - .../clin_t_heart_mediastinum_11552.json | 27 - .../2.0/tables/clin_t_hypopharynx_3365.json | 28 - .../tables/clin_t_kidney_parenchyma_9887.json | 27 - .../tables/clin_t_lacrimal_gland_71633.json | 27 - .../2.0/tables/clin_t_larynx_nos_75299.json | 28 - .../clin_t_larynx_subglottic_11069.json | 28 - .../clin_t_larynx_supraglottic_69988.json | 28 - .../2.0/tables/clin_t_lip_lower_64771.json | 28 - .../2.0/tables/clin_t_lip_other_75184.json | 28 - .../tnm/2.0/tables/clin_t_lip_upper_3775.json | 28 - .../tnm/2.0/tables/clin_t_liver_16950.json | 28 - .../tnm/2.0/tables/clin_t_lung_28486.json | 27 - .../clin_t_melanoma_buccal_mucosa_55204.json | 28 - .../clin_t_melanoma_choroid_t_80325.json | 28 - .../clin_t_melanoma_ciliary_body_68734.json | 28 - ..._t_melanoma_epiglottis_anterior_87665.json | 28 - .../clin_t_melanoma_floor_of_mouth_29889.json | 28 - .../clin_t_melanoma_gum_lower_93520.json | 28 - .../clin_t_melanoma_gum_other_64011.json | 28 - .../clin_t_melanoma_gum_upper_45093.json | 28 - .../clin_t_melanoma_hypopharynx_41386.json | 28 - .../tables/clin_t_melanoma_iris_54551.json | 28 - .../clin_t_melanoma_larynx_glottic_10232.json | 28 - .../clin_t_melanoma_larynx_other_92067.json | 28 - ...in_t_melanoma_larynx_subglottic_74637.json | 28 - ..._t_melanoma_larynx_supraglottic_25433.json | 28 - .../clin_t_melanoma_lip_other_38821.json | 28 - .../clin_t_melanoma_lower_lip_15469.json | 28 - .../clin_t_melanoma_lower_lip_t_31253.json | 28 - .../clin_t_melanoma_mouth_other_18724.json | 28 - .../clin_t_melanoma_nasal_cavity_92441.json | 28 - .../clin_t_melanoma_nasopharynx_19497.json | 28 - .../clin_t_melanoma_oropharynx_83498.json | 28 - .../clin_t_melanoma_palate_hard_80202.json | 28 - .../clin_t_melanoma_palate_soft_21789.json | 28 - .../clin_t_melanoma_pharynx_other_3685.json | 28 - .../clin_t_melanoma_sinus_ethmoid_72398.json | 28 - ...clin_t_melanoma_sinus_maxillary_64193.json | 28 - ...clin_t_melanoma_tongue_anterior_38455.json | 28 - .../clin_t_melanoma_tongue_base_6605.json | 28 - .../clin_t_merkel_cell_penis_10043.json | 27 - .../clin_t_merkel_cell_scrotum_24017.json | 27 - .../clin_t_merkel_cell_skin_t_96388.json | 27 - .../clin_t_merkel_cell_vulva_96899.json | 27 - .../2.0/tables/clin_t_mouth_other_28324.json | 28 - .../clin_t_mycosis_fungoides_76446.json | 28 - .../2.0/tables/clin_t_nasal_cavity_5031.json | 28 - .../2.0/tables/clin_t_nasopharynx_40813.json | 27 - .../tnm/2.0/tables/clin_t_orbit_59896.json | 27 - .../2.0/tables/clin_t_oropharynx_53342.json | 28 - .../tnm/2.0/tables/clin_t_ovary_95574.json | 27 - .../2.0/tables/clin_t_palate_hard_21871.json | 28 - .../clin_t_pancreas_body_tail_71461.json | 27 - .../tables/clin_t_pancreas_head_97928.json | 27 - .../tables/clin_t_pancreas_other_28719.json | 27 - .../tables/clin_t_parotid_gland_13635.json | 28 - .../tnm/2.0/tables/clin_t_penis_88876.json | 28 - .../clin_t_perihilar_bile_ducts_63594.json | 28 - .../2.0/tables/clin_t_peritoneum_67989.json | 27 - .../clin_t_peritoneum_female_gen_47507.json | 27 - .../clin_t_pharyngeal_tonsil_99141.json | 28 - .../tnm/2.0/tables/clin_t_placenta_62001.json | 27 - .../tnm/2.0/tables/clin_t_pleura_24291.json | 27 - .../tnm/2.0/tables/clin_t_rectum_29212.json | 28 - .../clin_t_renal_pelvis_and_ureter_48274.json | 27 - .../tables/clin_t_retroperitoneum_91920.json | 27 - .../clin_t_salivaryglandother_54081.json | 28 - .../tnm/2.0/tables/clin_t_scrotum_13282.json | 27 - .../tables/clin_t_sinus_ethmoid_61914.json | 28 - .../tables/clin_t_sinus_maxillary_12245.json | 28 - .../tnm/2.0/tables/clin_t_skin_92153.json | 27 - .../2.0/tables/clin_t_skin_eyelid_93914.json | 28 - .../tables/clin_t_small_intestine_22563.json | 28 - .../2.0/tables/clin_t_soft_tissue_43767.json | 27 - .../tnm/2.0/tables/clin_t_stomach_55386.json | 27 - .../clin_t_submandibular_gland_45502.json | 28 - .../tnm/2.0/tables/clin_t_thyroid_93682.json | 28 - .../tables/clin_t_tongue_anterior_43968.json | 28 - .../2.0/tables/clin_t_tongue_base_63370.json | 28 - .../tnm/2.0/tables/clin_t_urethra_39553.json | 27 - .../tnm/2.0/tables/clin_t_vagina_84852.json | 27 - .../tnm/2.0/tables/clin_t_vulva_52779.json | 28 - .../tnm/2.0/tables/clinical_m_64416.json | 28 - .../2.0/tables/clinical_n_corpus_48422.json | 27 - .../clinical_n_corpus_carcinoma_62458.json | 28 - ..._n_head_neck_except_nasopharynx_25237.json | 27 - .../clinical_n_head_neck_melanoma_66648.json | 27 - ...linical_n_major_salivary_glands_19191.json | 27 - .../tnm/2.0/tables/colon_65083.json | 28 - .../2.0/tables/combined_gleason_93464.json | 20 - .../algorithms/tnm/2.0/tables/combined_m.json | 36 - .../algorithms/tnm/2.0/tables/combined_n.json | 44 - .../combined_n_for_tis_cancers_4947.json | 44 - .../tnm/2.0/tables/combined_n_lung.json | 44 - ...ned_n_no_tis_path_n_cn0_allowed_73884.json | 44 - ...mbined_stage_group_for_lymphoma_19552.json | 24 - .../algorithms/tnm/2.0/tables/combined_t.json | 44 - .../tnm/2.0/tables/combined_t_breast.json | 40 - .../tnm/2.0/tables/combined_t_colon.json | 40 - .../tnm/2.0/tables/combined_t_lung.json | 44 - .../tnm/2.0/tables/combined_t_no_tis.json | 40 - .../2.0/tables/combined_t_retinoblastoma.json | 40 - .../combined_t_thyroid_anaplastic_32619.json | 40 - .../tnm/2.0/tables/concatenate_m_40642.json | 23 - .../tnm/2.0/tables/concatenate_n_43246.json | 23 - .../tnm/2.0/tables/concatenate_t_51262.json | 23 - .../tnm/2.0/tables/conjunctiva_t_62523.json | 28 - ...orpus_adenosarcoma_pathologic_t_90591.json | 28 - .../tables/corpus_adenosarcoma_t_34843.json | 28 - .../2.0/tables/corpus_carcinoma_t_42324.json | 28 - .../corpus_sarcoma_clinical_t_23604.json | 28 - .../2.0/tables/corpus_sarcoma_t_13268.json | 28 - .../tnm/2.0/tables/cystic_duct_t_52091.json | 27 - .../determine_combined_prefix_91402.json | 28 - .../tnm/2.0/tables/determine_default_m.json | 36 - .../tnm/2.0/tables/determine_default_n.json | 36 - .../tnm/2.0/tables/determine_default_t.json | 36 - .../determine_default_t_anaplastic_77806.json | 36 - .../2.0/tables/discriminator_bile_ducts.json | 25 - .../discriminator_esophogus_ge_junction.json | 24 - .../2.0/tables/discriminator_lacrimal.json | 24 - .../2.0/tables/discriminator_melanoma.json | 24 - .../2.0/tables/discriminator_nasopharynx.json | 24 - .../2.0/tables/distal_blie_duct_t_30646.json | 27 - ...sophagus_gejunction_histologies_stage.json | 19 - .../tables/esophagus_histologies_stage.json | 19 - .../tnm/2.0/tables/esophagus_t_28679.json | 27 - .../tables/esophagusgejunction_t_39319.json | 27 - .../2.0/tables/fallopian_tube_t_96584.json | 27 - .../2.0/tables/floor_of_mouth_t_38606.json | 28 - .../tnm/2.0/tables/gallbladder_t_77234.json | 27 - ...ist_appendix_mitotic_rate_calculation.json | 19 - .../tnm/2.0/tables/gist_appendix_n_87661.json | 28 - .../tnm/2.0/tables/gist_appendix_t_67124.json | 27 - .../tnm/2.0/tables/gist_colon_n_46351.json | 28 - ...st_esophagus_mitotic_rate_calculation.json | 19 - .../2.0/tables/gist_esophagus_t_61710.json | 27 - ...t_peritoneum_mitotic_rate_calculation.json | 19 - .../2.0/tables/gist_peritoneum_n_18654.json | 28 - .../2.0/tables/gist_peritoneum_t_10242.json | 27 - .../tnm/2.0/tables/gist_rectum_n_35223.json | 28 - .../tnm/2.0/tables/gist_rectum_t_7125.json | 27 - .../tables/gist_small_intestine_n_18642.json | 28 - .../tables/gist_small_intestine_t_83343.json | 27 - .../tnm/2.0/tables/gist_stomach_n_73991.json | 28 - .../tnm/2.0/tables/gist_stomach_t_60871.json | 27 - .../tnm/2.0/tables/gistcolon_t_85374.json | 27 - .../tnm/2.0/tables/gistesophagus_n_17925.json | 28 - .../tnm/2.0/tables/giststomach_t_55582.json | 27 - .../tnm/2.0/tables/glottic_larynx_t_8691.json | 28 - .../algorithms/tnm/2.0/tables/grade.json | 18 - .../tnm/2.0/tables/gum_lower_t_24295.json | 28 - .../tnm/2.0/tables/gum_other_t_49578.json | 28 - .../tnm/2.0/tables/gum_upper_t_95905.json | 28 - .../2.0/tables/heart_mediastinum_n_50568.json | 27 - .../2.0/tables/heart_mediastinum_t_30394.json | 27 - ...tologies_grade_path_stage_tnm_7_37149.json | 35 - .../histologies_grade_stage_tnm_7_20594.json | 39 - .../tables/histologies_path_stage_47414.json | 19 - .../tables/histologies_path_stage_56616.json | 23 - .../tables/histologies_path_stage_99978.json | 19 - .../algorithms/tnm/2.0/tables/histology.json | 14 - .../tnm/2.0/tables/hypopharynx_t_21848.json | 28 - .../algorithms/tnm/2.0/tables/ids.txt | 1363 -------- .../intrahepatic_bile_ducts_t_31771.json | 28 - .../tnm/2.0/tables/kidney_n_42919.json | 28 - .../2.0/tables/kidney_parenchyma_t_48027.json | 27 - .../tnm/2.0/tables/lacrimal_gland_t_1116.json | 27 - .../tnm/2.0/tables/larynx_nos_t_90793.json | 28 - .../2.0/tables/larynx_subglottic_t_32495.json | 28 - .../tables/larynx_supraglottic_t_57946.json | 28 - .../tnm/2.0/tables/lip_lower_t_82564.json | 28 - .../tnm/2.0/tables/lip_other_t_56087.json | 28 - .../tnm/2.0/tables/lip_upper_t_48652.json | 28 - .../tnm/2.0/tables/liver_t_55652.json | 28 - .../2.0/tables/lung_occult_stage_11131.json | 19 - .../tnm/2.0/tables/lung_t_86537.json | 27 - ...phoma_path_stage_group_detailed_88547.json | 27 - .../lymphoma_stage_group_detailed_35045.json | 23 - ...dnexa_clin_m_no_uicc_definition_96511.json | 19 - ...dnexa_clin_n_no_uicc_definition_66872.json | 19 - ...a_path_m_no_uicc_definition_copy_6387.json | 19 - ...dnexa_path_n_no_uicc_definition_17284.json | 19 - ..._path_t_no_uicc_definition_copy_11297.json | 19 - ...ularadnexa_t_no_uicc_definition_89433.json | 19 - .../melanoma_buccal_mucosa_t_76459.json | 28 - .../2.0/tables/melanoma_choroid_t_79116.json | 28 - .../tables/melanoma_ciliary_body_t_34399.json | 28 - .../tables/melanoma_conjunctiva_n_15261.json | 28 - ...lanoma_conjunctiva_pathologic_n_83143.json | 27 - .../melanoma_epiglottis_anterior_t_92827.json | 28 - .../melanoma_floor_of_mouth_t_86503.json | 28 - .../tables/melanoma_gum_lower_t_30606.json | 28 - .../tables/melanoma_gum_other_t_27553.json | 28 - .../tables/melanoma_hypopharynx_t_81125.json | 28 - .../tnm/2.0/tables/melanoma_iris_t_65686.json | 28 - .../melanoma_larynx_glottic_t_65946.json | 28 - .../tables/melanoma_larynx_other_t_71686.json | 28 - .../melanoma_larynx_subglottic_81170.json | 28 - .../melanoma_larynx_supraglottic_63201.json | 28 - .../tables/melanoma_lip_other_t_71709.json | 28 - .../tables/melanoma_lower_lip_t_30772.json | 28 - .../tables/melanoma_lower_lip_t_39461.json | 28 - .../tables/melanoma_mouth_other_t_26001.json | 28 - .../tables/melanoma_nasal_cavity_t_57160.json | 28 - .../tables/melanoma_nasopharynx_t_72770.json | 28 - .../tables/melanoma_oropharynx_t_73396.json | 28 - .../tables/melanoma_palate_hard_t_49262.json | 28 - .../tables/melanoma_palate_soft_t_15766.json | 28 - .../melanoma_pharynx_other_t_82152.json | 28 - .../melanoma_sinus_maxillary_t_28715.json | 28 - .../melanoma_tongue_anterior_t_170.json | 28 - .../tables/melanoma_tongue_base_60314.json | 28 - .../2.0/tables/merkel_cell_penis_t_93032.json | 27 - .../tables/merkel_cell_scrotum_t_30089.json | 27 - .../2.0/tables/merkel_cell_skin_t_48418.json | 27 - .../2.0/tables/merkel_cell_vulva_t_49226.json | 27 - .../tnm/2.0/tables/mouth_other_t_88942.json | 28 - .../tnm/2.0/tables/nasal_cavity_t_71995.json | 28 - .../tnm/2.0/tables/nasopharynx_t_29067.json | 27 - .../net_ampulla_pathologic_t_58166.json | 27 - .../tnm/2.0/tables/net_ampulla_t_37461.json | 27 - .../tnm/2.0/tables/net_colon_t_5107.json | 27 - .../tnm/2.0/tables/net_rectum_t_3082.json | 27 - .../tables/net_smallintestine_t_60400.json | 27 - .../tnm/2.0/tables/no_tnm_group_99227.json | 31 - .../tnm/2.0/tables/no_tnm_group_p_41281.json | 31 - .../tnm/2.0/tables/nodes_pos_fab.json | 19 - .../tnm/2.0/tables/nodes_pos_fah.json | 19 - .../tnm/2.0/tables/nodes_pos_fpa.json | 19 - .../tnm/2.0/tables/ophthalmic_n_36875.json | 27 - .../tnm/2.0/tables/orbit_t_97280.json | 27 - .../tnm/2.0/tables/oropharynx_t_62492.json | 28 - .../tnm/2.0/tables/ovary_t_58652.json | 27 - .../tnm/2.0/tables/palate_hard_t_41050.json | 28 - .../tnm/2.0/tables/palate_soft_t_48973.json | 28 - .../2.0/tables/pancreas_bodytail_t_46669.json | 27 - .../tnm/2.0/tables/pancreas_head_t_4793.json | 27 - .../tnm/2.0/tables/pancreas_other_70468.json | 27 - .../tnm/2.0/tables/parotid_gland_t_68628.json | 28 - .../tnm/2.0/tables/parse_m_47057.json | 23 - .../tnm/2.0/tables/parse_n_67182.json | 23 - .../2.0/tables/parse_n_merkel_clin_55445.json | 24 - .../parse_n_merkel_path_copy_67865.json | 24 - .../tnm/2.0/tables/parse_t_2177.json | 23 - .../tnm/2.0/tables/path_m_74330.json | 26 - .../tnm/2.0/tables/path_m_anus_33946.json | 26 - .../2.0/tables/path_m_conjunctiva_73224.json | 26 - .../algorithms/tnm/2.0/tables/path_m_hab.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hac.json | 27 - .../algorithms/tnm/2.0/tables/path_m_had.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hae.json | 27 - .../algorithms/tnm/2.0/tables/path_m_haf.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hag.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hah.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hai.json | 27 - .../algorithms/tnm/2.0/tables/path_m_haj.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hak.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hal.json | 27 - .../algorithms/tnm/2.0/tables/path_m_ham.json | 27 - .../algorithms/tnm/2.0/tables/path_m_han.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hao.json | 26 - .../algorithms/tnm/2.0/tables/path_m_hap.json | 27 - .../algorithms/tnm/2.0/tables/path_m_haq.json | 27 - .../algorithms/tnm/2.0/tables/path_m_har.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hat.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hau.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hav.json | 27 - .../algorithms/tnm/2.0/tables/path_m_haz.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hba.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hbb.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hbc.json | 26 - .../algorithms/tnm/2.0/tables/path_m_hbf.json | 26 - .../algorithms/tnm/2.0/tables/path_m_hbg.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hbn.json | 28 - .../algorithms/tnm/2.0/tables/path_m_hbo.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hbu.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hbv.json | 26 - .../algorithms/tnm/2.0/tables/path_m_hbx.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hbz.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hcb.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hcc.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hcd.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hce.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hcf.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hcg.json | 26 - .../algorithms/tnm/2.0/tables/path_m_hch.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hci.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hcj.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hck.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hcl.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hcn.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hcp.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hcq.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hcr.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hcs.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hcu.json | 26 - .../algorithms/tnm/2.0/tables/path_m_hcv.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hcw.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hcy.json | 26 - .../path_m_head_neck_melanoma_32288.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hpb.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hpc.json | 26 - .../algorithms/tnm/2.0/tables/path_m_hpd.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hpe.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hpg.json | 27 - .../algorithms/tnm/2.0/tables/path_m_hph.json | 27 - .../path_m_major_salivary_glands_13003.json | 27 - .../2.0/tables/path_m_net_ampulla_22136.json | 27 - .../2.0/tables/path_m_soft_tissues_96225.json | 26 - .../tables/path_n_adrenal_gland_53740.json | 27 - .../tnm/2.0/tables/path_n_bladder_46197.json | 27 - .../tnm/2.0/tables/path_n_bone_31243.json | 27 - .../2.0/tables/path_n_conjunctiva_84900.json | 27 - .../algorithms/tnm/2.0/tables/path_n_dab.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dai.json | 28 - .../algorithms/tnm/2.0/tables/path_n_daj.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dak.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dam.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dan.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dat.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dau.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dav.json | 28 - .../algorithms/tnm/2.0/tables/path_n_daw.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dax.json | 28 - .../algorithms/tnm/2.0/tables/path_n_day.json | 28 - .../algorithms/tnm/2.0/tables/path_n_daz.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dba.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dbb.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dbc.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dbj.json | 27 - .../algorithms/tnm/2.0/tables/path_n_dbl.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dbm.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dbn.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dbo.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dbr.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dbt.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dcn.json | 28 - .../algorithms/tnm/2.0/tables/path_n_ddj.json | 28 - .../algorithms/tnm/2.0/tables/path_n_ddm.json | 28 - .../algorithms/tnm/2.0/tables/path_n_ddn.json | 28 - .../algorithms/tnm/2.0/tables/path_n_ddp.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dew.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dfa.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dfc.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dfe.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dff.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dfg.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dfl.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dfn.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dfo.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dfr.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dfs.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dfv.json | 28 - .../algorithms/tnm/2.0/tables/path_n_dfw.json | 27 - .../algorithms/tnm/2.0/tables/path_n_dfx.json | 27 - .../2.0/tables/path_n_gist_colon_71024.json | 28 - ..._n_head_neck_except_nasopharynx_40357.json | 28 - .../path_n_major_salivary_glands_7162.json | 28 - .../2.0/tables/path_n_net_ampulla_11118.json | 28 - .../path_n_ophthalmic_no_tis_80282.json | 27 - ...th_n_peritoneum_retroperitoneum_86254.json | 27 - ...th_n_peritoneum_retroperitoneum_88959.json | 27 - .../tables/path_t_adrenal_gland_28077.json | 27 - .../tables/path_t_ampulla_vater_23469.json | 27 - .../tnm/2.0/tables/path_t_anus_61291.json | 27 - .../tnm/2.0/tables/path_t_appendix_94760.json | 27 - .../algorithms/tnm/2.0/tables/path_t_ban.json | 28 - .../algorithms/tnm/2.0/tables/path_t_baq.json | 28 - .../algorithms/tnm/2.0/tables/path_t_bbo.json | 27 - .../algorithms/tnm/2.0/tables/path_t_bcs.json | 28 - .../algorithms/tnm/2.0/tables/path_t_bcu.json | 27 - .../algorithms/tnm/2.0/tables/path_t_bfi.json | 27 - .../tnm/2.0/tables/path_t_bladder_68862.json | 27 - .../tnm/2.0/tables/path_t_bone_59009.json | 27 - .../2.0/tables/path_t_buccal_mucosa_7034.json | 28 - .../path_t_carcinoid_appendix_77608.json | 27 - .../tnm/2.0/tables/path_t_colon_98925.json | 28 - .../tables/path_t_corpus_carcinoma_7259.json | 28 - .../2.0/tables/path_t_cystic_duct_38967.json | 27 - .../tables/path_t_distal_bile_duct_50879.json | 27 - .../path_t_epiglottis_anterior_t_4558.json | 28 - .../2.0/tables/path_t_gum_upper_50893.json | 28 - .../path_t_intrahepatic_bile_ducts_23893.json | 28 - .../2.0/tables/path_t_net_rectum_13791.json | 27 - .../path_t_net_small_intestine_71548.json | 27 - .../2.0/tables/path_t_net_stomach_63587.json | 27 - .../path_t_perihilar_bile_ducts_88350.json | 28 - ...logic_n_head_neck_melanoma_copy_75380.json | 28 - .../tables/pathological_n_corpus_31147.json | 28 - ...pathological_n_corpus_carcinoma_11126.json | 28 - .../tnm/2.0/tables/penis_t_51275.json | 28 - .../tnm/2.0/tables/peritoneum_t_18850.json | 27 - .../tables/peritoneumfemalegen_t_87084.json | 27 - .../2.0/tables/pharyngeal_tonsil_t_36969.json | 28 - .../tnm/2.0/tables/placenta_t_12749.json | 27 - .../tnm/2.0/tables/pleura_t_20728.json | 27 - .../tnm/2.0/tables/pleural_n_14342.json | 27 - .../tnm/2.0/tables/primary_site.json | 18 - .../tnm/2.0/tables/prostate_n_76551.json | 27 - .../tables/prostate_pathologic_n_4662.json | 27 - .../tnm/2.0/tables/radiation_surg_seq.json | 18 - .../tnm/2.0/tables/rectum_t_5935.json | 28 - .../renal_pelvis_and_ureter_t_91246.json | 27 - .../renal_pevis_and_ureter_n_58133.json | 27 - .../retinoblastoma_clinical_n_19393.json | 28 - .../retinoblastoma_pathologic_n_93880.json | 27 - .../2.0/tables/retroperitoneum_n_12750.json | 27 - .../2.0/tables/retroperitoneum_t_87029.json | 27 - .../tables/salivaryglandother_t_67266.json | 28 - ...schema_selection_adnexa_uterine_other.json | 22 - .../schema_selection_adrenal_gland.json | 22 - .../schema_selection_ampulla_vater.json | 22 - .../tnm/2.0/tables/schema_selection_anus.json | 22 - .../2.0/tables/schema_selection_appendix.json | 22 - .../schema_selection_bile_ducts_distal.json | 26 - ...chema_selection_bile_ducts_intrahepat.json | 22 - ...schema_selection_bile_ducts_perihilar.json | 26 - .../schema_selection_biliary_other.json | 22 - .../2.0/tables/schema_selection_bladder.json | 22 - .../tnm/2.0/tables/schema_selection_bone.json | 22 - .../2.0/tables/schema_selection_brain.json | 22 - .../2.0/tables/schema_selection_breast.json | 22 - .../schema_selection_buccal_mucosa.json | 22 - .../schema_selection_carcinoid_appendix.json | 22 - .../2.0/tables/schema_selection_cervix.json | 22 - .../tables/schema_selection_cns_other.json | 22 - .../2.0/tables/schema_selection_colon.json | 22 - .../tables/schema_selection_conjunctiva.json | 22 - .../schema_selection_corpus_adenosarcoma.json | 22 - .../schema_selection_corpus_carcinoma.json | 22 - .../schema_selection_corpus_sarcoma.json | 22 - .../tables/schema_selection_cystic_duct.json | 26 - .../schema_selection_digestive_other.json | 22 - .../schema_selection_endocrine_other.json | 22 - .../schema_selection_epiglottis_anterior.json | 22 - .../tables/schema_selection_esophagus.json | 22 - ...schema_selection_esophagus_gejunction.json | 26 - .../tables/schema_selection_eye_other.json | 22 - .../schema_selection_fallopian_tube.json | 22 - .../tables/schema_selection_floor_mouth.json | 22 - .../tables/schema_selection_gallbladder.json | 22 - ...schema_selection_genital_female_other.json | 22 - .../schema_selection_genital_male_other.json | 22 - .../schema_selection_gist_appendix.json | 22 - .../tables/schema_selection_gist_colon.json | 22 - .../schema_selection_gist_esophagus.json | 22 - .../schema_selection_gist_peritoneum.json | 22 - .../tables/schema_selection_gist_rectum.json | 22 - ...schema_selection_gist_small_intestine.json | 22 - .../tables/schema_selection_gist_stomach.json | 22 - .../tables/schema_selection_gum_lower.json | 22 - .../tables/schema_selection_gum_other.json | 22 - .../tables/schema_selection_gum_upper.json | 22 - .../schema_selection_heart_mediastinum.json | 22 - .../tables/schema_selection_heme_retic.json | 22 - .../tables/schema_selection_hypopharynx.json | 22 - .../schema_selection_ill_defined_other.json | 22 - .../schema_selection_intracranial_gland.json | 22 - .../schema_selection_kaposi_sarcoma.json | 22 - .../schema_selection_kidney_parenchyma.json | 22 - .../schema_selection_kidney_renal_pelvis.json | 22 - .../schema_selection_lacrimal_gland.json | 26 - .../tables/schema_selection_lacrimal_sac.json | 26 - .../schema_selection_larynx_glottic.json | 22 - .../tables/schema_selection_larynx_other.json | 22 - .../schema_selection_larynx_subglottic.json | 22 - .../schema_selection_larynx_supraglottic.json | 22 - .../tables/schema_selection_lip_lower.json | 22 - .../tables/schema_selection_lip_other.json | 22 - .../tables/schema_selection_lip_upper.json | 22 - .../2.0/tables/schema_selection_liver.json | 22 - .../tnm/2.0/tables/schema_selection_lung.json | 22 - .../2.0/tables/schema_selection_lymphoma.json | 22 - ...hema_selection_lymphoma_ocular_adnexa.json | 22 - ...hema_selection_melanoma_buccal_mucosa.json | 22 - .../schema_selection_melanoma_choroid.json | 22 - ...chema_selection_melanoma_ciliary_body.json | 26 - ...schema_selection_melanoma_conjunctiva.json | 22 - ...election_melanoma_epiglottis_anterior.json | 22 - .../schema_selection_melanoma_eye_other.json | 22 - ...schema_selection_melanoma_floor_mouth.json | 22 - .../schema_selection_melanoma_gum_lower.json | 22 - .../schema_selection_melanoma_gum_other.json | 22 - .../schema_selection_melanoma_gum_upper.json | 22 - ...schema_selection_melanoma_hypopharynx.json | 22 - .../schema_selection_melanoma_iris.json | 26 - ...ema_selection_melanoma_larynx_glottic.json | 22 - ...chema_selection_melanoma_larynx_other.json | 22 - ..._selection_melanoma_larynx_subglottic.json | 22 - ...election_melanoma_larynx_supraglottic.json | 22 - .../schema_selection_melanoma_lip_lower.json | 22 - .../schema_selection_melanoma_lip_other.json | 22 - .../schema_selection_melanoma_lip_upper.json | 22 - ...schema_selection_melanoma_mouth_other.json | 22 - ...chema_selection_melanoma_nasal_cavity.json | 22 - ...schema_selection_melanoma_nasopharynx.json | 22 - .../schema_selection_melanoma_oropharynx.json | 22 - ...schema_selection_melanoma_palate_hard.json | 22 - ...schema_selection_melanoma_palate_soft.json | 22 - ...hema_selection_melanoma_pharynx_other.json | 22 - ...hema_selection_melanoma_sinus_ethmoid.json | 22 - ...ma_selection_melanoma_sinus_maxillary.json | 22 - ...schema_selection_melanoma_sinus_other.json | 22 - .../schema_selection_melanoma_skin.json | 22 - ...ma_selection_melanoma_tongue_anterior.json | 22 - ...schema_selection_melanoma_tongue_base.json | 22 - .../schema_selection_merkel_cell_penis.json | 22 - .../schema_selection_merkel_cell_scrotum.json | 22 - .../schema_selection_merkel_cell_skin.json | 22 - .../schema_selection_merkel_cell_vulva.json | 22 - .../tables/schema_selection_middle_ear.json | 22 - .../tables/schema_selection_mouth_other.json | 22 - .../schema_selection_mycosis_fungoides.json | 22 - ...election_myeloma_plasma_cell_disorder.json | 22 - .../tables/schema_selection_nasal_cavity.json | 22 - .../tables/schema_selection_nasopharynx.json | 26 - .../tables/schema_selection_net_ampulla.json | 22 - .../tables/schema_selection_net_colon.json | 22 - .../tables/schema_selection_net_rectum.json | 22 - .../schema_selection_net_small_intestine.json | 22 - .../tables/schema_selection_net_stomach.json | 22 - .../2.0/tables/schema_selection_orbit.json | 22 - .../tables/schema_selection_oropharynx.json | 22 - .../2.0/tables/schema_selection_ovary.json | 22 - .../tables/schema_selection_palate_hard.json | 22 - .../tables/schema_selection_palate_soft.json | 22 - .../schema_selection_pancreas_body_tail.json | 22 - .../schema_selection_pancreas_head.json | 22 - .../schema_selection_pancreas_other.json | 22 - .../schema_selection_parotid_gland.json | 22 - .../2.0/tables/schema_selection_penis.json | 22 - .../tables/schema_selection_peritoneum.json | 26 - ...chema_selection_peritoneum_female_gen.json | 26 - .../schema_selection_pharyngeal_tonsil.json | 26 - .../schema_selection_pharynx_other.json | 22 - .../2.0/tables/schema_selection_placenta.json | 22 - .../2.0/tables/schema_selection_pleura.json | 22 - .../2.0/tables/schema_selection_prostate.json | 22 - .../2.0/tables/schema_selection_rectum.json | 22 - .../schema_selection_respiratory_other.json | 22 - .../schema_selection_retinoblastoma.json | 22 - .../schema_selection_retroperitoneum.json | 22 - ...schema_selection_salivary_gland_other.json | 22 - .../2.0/tables/schema_selection_scrotum.json | 22 - .../schema_selection_sinus_ethmoid.json | 22 - .../schema_selection_sinus_maxillary.json | 22 - .../tables/schema_selection_sinus_other.json | 22 - .../tnm/2.0/tables/schema_selection_skin.json | 22 - .../tables/schema_selection_skin_eyelid.json | 22 - .../schema_selection_small_intestine.json | 22 - .../tables/schema_selection_soft_tissue.json | 22 - .../2.0/tables/schema_selection_stomach.json | 26 - .../schema_selection_submandibular_gland.json | 22 - .../2.0/tables/schema_selection_testis.json | 22 - .../2.0/tables/schema_selection_thyroid.json | 22 - .../schema_selection_tongue_anterior.json | 22 - .../tables/schema_selection_tongue_base.json | 22 - .../2.0/tables/schema_selection_trachea.json | 22 - .../2.0/tables/schema_selection_urethra.json | 22 - .../schema_selection_urinary_other.json | 22 - .../2.0/tables/schema_selection_vagina.json | 22 - .../2.0/tables/schema_selection_vulva.json | 22 - .../tnm/2.0/tables/scrotum_t_52966.json | 27 - .../2.0/tables/select_stage_group_19580.json | 23 - .../algorithms/tnm/2.0/tables/sex_19563.json | 19 - .../tnm/2.0/tables/sinus_ethmoid_t_5235.json | 28 - .../tnm/2.0/tables/sinus_ethmoid_t_70472.json | 28 - .../2.0/tables/sinus_maxillary_t_7871.json | 28 - .../tnm/2.0/tables/skin_eyelid_n_65771.json | 27 - .../tnm/2.0/tables/skin_eyelid_t_57348.json | 28 - .../tnm/2.0/tables/skin_t_38821.json | 27 - .../2.0/tables/small_intestine_t_70831.json | 28 - .../tnm/2.0/tables/soft_tissue_n_4758.json | 27 - .../tnm/2.0/tables/soft_tissue_t_79319.json | 27 - ...sf10_path_stage_group_selection_48445.json | 24 - .../algorithms/tnm/2.0/tables/ssf10_sad.json | 20 - .../algorithms/tnm/2.0/tables/ssf10_sat.json | 20 - .../algorithms/tnm/2.0/tables/ssf10_saz.json | 20 - .../algorithms/tnm/2.0/tables/ssf10_scm.json | 20 - .../algorithms/tnm/2.0/tables/ssf10_sek.json | 20 - .../algorithms/tnm/2.0/tables/ssf10_seq.json | 20 - .../algorithms/tnm/2.0/tables/ssf10_sex.json | 20 - .../algorithms/tnm/2.0/tables/ssf10_sfi.json | 20 - .../algorithms/tnm/2.0/tables/ssf10_spd.json | 20 - .../algorithms/tnm/2.0/tables/ssf10_spi.json | 20 - .../algorithms/tnm/2.0/tables/ssf10_spz.json | 20 - .../algorithms/tnm/2.0/tables/ssf10_sqj.json | 24 - .../algorithms/tnm/2.0/tables/ssf10_sqs.json | 20 - .../algorithms/tnm/2.0/tables/ssf10_srh.json | 20 - .../ssf10_stage_group_selection_87171.json | 24 - .../algorithms/tnm/2.0/tables/ssf11_sae.json | 20 - .../algorithms/tnm/2.0/tables/ssf11_sba.json | 20 - .../algorithms/tnm/2.0/tables/ssf11_sbt.json | 20 - .../algorithms/tnm/2.0/tables/ssf11_scj.json | 20 - .../algorithms/tnm/2.0/tables/ssf11_ser.json | 20 - .../algorithms/tnm/2.0/tables/ssf11_spe.json | 20 - .../algorithms/tnm/2.0/tables/ssf11_spk.json | 21 - .../algorithms/tnm/2.0/tables/ssf11_sps.json | 21 - .../algorithms/tnm/2.0/tables/ssf11_sqa.json | 20 - .../algorithms/tnm/2.0/tables/ssf11_sqe.json | 20 - .../algorithms/tnm/2.0/tables/ssf11_sqt.json | 20 - .../algorithms/tnm/2.0/tables/ssf11_srd.json | 19 - .../algorithms/tnm/2.0/tables/ssf11_sri.json | 20 - .../algorithms/tnm/2.0/tables/ssf12_saf.json | 20 - .../algorithms/tnm/2.0/tables/ssf12_sbb.json | 20 - .../algorithms/tnm/2.0/tables/ssf12_sbu.json | 20 - .../algorithms/tnm/2.0/tables/ssf12_sck.json | 20 - .../algorithms/tnm/2.0/tables/ssf12_ses.json | 20 - .../algorithms/tnm/2.0/tables/ssf12_sev.json | 20 - .../algorithms/tnm/2.0/tables/ssf12_sew.json | 20 - .../algorithms/tnm/2.0/tables/ssf12_sez.json | 20 - .../algorithms/tnm/2.0/tables/ssf12_sfd.json | 20 - .../algorithms/tnm/2.0/tables/ssf12_spl.json | 20 - .../algorithms/tnm/2.0/tables/ssf12_sqb.json | 20 - .../algorithms/tnm/2.0/tables/ssf12_sqf.json | 20 - .../algorithms/tnm/2.0/tables/ssf12_srj.json | 20 - .../algorithms/tnm/2.0/tables/ssf13_sag.json | 20 - .../algorithms/tnm/2.0/tables/ssf13_sbc.json | 20 - .../algorithms/tnm/2.0/tables/ssf13_sca.json | 20 - .../algorithms/tnm/2.0/tables/ssf13_scl.json | 20 - .../algorithms/tnm/2.0/tables/ssf13_sdg.json | 20 - .../algorithms/tnm/2.0/tables/ssf13_sdr.json | 20 - .../algorithms/tnm/2.0/tables/ssf13_sfa.json | 20 - .../algorithms/tnm/2.0/tables/ssf13_sfe.json | 20 - .../algorithms/tnm/2.0/tables/ssf13_spm.json | 20 - .../algorithms/tnm/2.0/tables/ssf13_sqg.json | 20 - .../algorithms/tnm/2.0/tables/ssf13_sqq.json | 20 - .../algorithms/tnm/2.0/tables/ssf14_sbd.json | 20 - .../algorithms/tnm/2.0/tables/ssf14_sbf.json | 20 - .../algorithms/tnm/2.0/tables/ssf14_scn.json | 20 - .../algorithms/tnm/2.0/tables/ssf14_sdh.json | 20 - .../algorithms/tnm/2.0/tables/ssf14_sds.json | 20 - .../algorithms/tnm/2.0/tables/ssf14_sfb.json | 20 - .../algorithms/tnm/2.0/tables/ssf14_sff.json | 20 - .../algorithms/tnm/2.0/tables/ssf14_spn.json | 20 - .../algorithms/tnm/2.0/tables/ssf14_sqh.json | 20 - .../algorithms/tnm/2.0/tables/ssf14_sqr.json | 20 - .../algorithms/tnm/2.0/tables/ssf15_sbe.json | 20 - .../algorithms/tnm/2.0/tables/ssf15_sbg.json | 20 - .../algorithms/tnm/2.0/tables/ssf15_sco.json | 20 - .../algorithms/tnm/2.0/tables/ssf15_sdm.json | 20 - .../algorithms/tnm/2.0/tables/ssf15_sdt.json | 20 - .../algorithms/tnm/2.0/tables/ssf15_sfc.json | 20 - .../algorithms/tnm/2.0/tables/ssf15_sfg.json | 20 - .../algorithms/tnm/2.0/tables/ssf15_spo.json | 20 - .../algorithms/tnm/2.0/tables/ssf16_sah.json | 20 - .../algorithms/tnm/2.0/tables/ssf16_scp.json | 20 - .../algorithms/tnm/2.0/tables/ssf16_sdn.json | 20 - .../algorithms/tnm/2.0/tables/ssf16_sfh.json | 20 - .../algorithms/tnm/2.0/tables/ssf16_spt.json | 20 - .../algorithms/tnm/2.0/tables/ssf16_squ.json | 20 - .../algorithms/tnm/2.0/tables/ssf16_sqv.json | 20 - .../algorithms/tnm/2.0/tables/ssf16_sqw.json | 20 - .../algorithms/tnm/2.0/tables/ssf17_sai.json | 20 - .../algorithms/tnm/2.0/tables/ssf17_seu.json | 20 - .../algorithms/tnm/2.0/tables/ssf17_spu.json | 20 - .../algorithms/tnm/2.0/tables/ssf17_sqx.json | 20 - .../algorithms/tnm/2.0/tables/ssf18_saj.json | 20 - .../algorithms/tnm/2.0/tables/ssf18_sqy.json | 20 - .../algorithms/tnm/2.0/tables/ssf19_sak.json | 20 - .../algorithms/tnm/2.0/tables/ssf19_sqz.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jae.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jag.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jaj.json | 24 - .../algorithms/tnm/2.0/tables/ssf1_jam.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jap.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jaq.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jav.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jbd.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jbh.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jbj.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jbk.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jbl.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jbp.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jbq.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jbt.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jbv.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jbx.json | 21 - .../algorithms/tnm/2.0/tables/ssf1_jby.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jbz.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jca.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jce.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jcg.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jpa.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jpd.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jpe.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jpf.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jpj.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jpl.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jpm.json | 24 - .../algorithms/tnm/2.0/tables/ssf1_jpo.json | 21 - .../algorithms/tnm/2.0/tables/ssf1_jpp.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jpr.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jpt.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jpu.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_jpw.json | 20 - .../algorithms/tnm/2.0/tables/ssf1_sbh.json | 20 - .../algorithms/tnm/2.0/tables/ssf20_sal.json | 20 - .../algorithms/tnm/2.0/tables/ssf20_sra.json | 20 - .../algorithms/tnm/2.0/tables/ssf21_sam.json | 20 - .../algorithms/tnm/2.0/tables/ssf21_srb.json | 20 - .../algorithms/tnm/2.0/tables/ssf22_san.json | 20 - .../algorithms/tnm/2.0/tables/ssf22_src.json | 20 - .../algorithms/tnm/2.0/tables/ssf23_sao.json | 20 - .../algorithms/tnm/2.0/tables/ssf24_sap.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kaa.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kab.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kac.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kaj.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kak.json | 21 - .../algorithms/tnm/2.0/tables/ssf2_kal.json | 19 - .../algorithms/tnm/2.0/tables/ssf2_kao.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kar.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kas.json | 21 - .../algorithms/tnm/2.0/tables/ssf2_kaw.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kax.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kay.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kaz.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kbb.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kbc.json | 19 - .../algorithms/tnm/2.0/tables/ssf2_kbf.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kbi.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kbl.json | 21 - .../algorithms/tnm/2.0/tables/ssf2_kbm.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kbu.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kbv.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kbx.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kpc.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kpd.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kpg.json | 24 - .../algorithms/tnm/2.0/tables/ssf2_kpj.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kpk.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kpl.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kpn.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kpo.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_kpq.json | 21 - .../algorithms/tnm/2.0/tables/ssf2_kpr.json | 20 - .../algorithms/tnm/2.0/tables/ssf2_sbi.json | 21 - .../algorithms/tnm/2.0/tables/ssf3_lac.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_laf.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lah.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lai.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lao.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_laq.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lat.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_law.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lay.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_laz.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lbb.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lbc.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lpa.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lpc.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lpd.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lpe.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lph.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lpj.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lpk.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lpl.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lpm.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lpp.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lpr.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lps.json | 20 - .../algorithms/tnm/2.0/tables/ssf3_lpt.json | 21 - .../algorithms/tnm/2.0/tables/ssf3_lpu.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_maa.json | 21 - .../algorithms/tnm/2.0/tables/ssf4_mab.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mac.json | 19 - .../algorithms/tnm/2.0/tables/ssf4_maj.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mal.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mam.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mas.json | 21 - .../algorithms/tnm/2.0/tables/ssf4_mat.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mav.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_maz.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mbd.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mbg.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mbh.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mbi.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mbj.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mpa.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mpb.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mpd.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mpe.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mpf.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mpg.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mpn.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mpq.json | 20 - .../algorithms/tnm/2.0/tables/ssf4_mpr.json | 21 - .../algorithms/tnm/2.0/tables/ssf4_mps.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_naa.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_nab.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_nac.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_nah.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_nai.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_nak.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_nap.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_naq.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_nar.json | 19 - .../algorithms/tnm/2.0/tables/ssf5_nas.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_nav.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_naw.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_nba.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_nbb.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_npa.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_npb.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_npe.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_npf.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_npg.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_nph.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_npk.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_npl.json | 20 - .../algorithms/tnm/2.0/tables/ssf5_npm.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_oaa.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_oae.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_oaf.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_oag.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_oak.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_oam.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_oao.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_oap.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_oaq.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_oas.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_oat.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_oaw.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_oax.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_oay.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_opa.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_opb.json | 21 - .../algorithms/tnm/2.0/tables/ssf6_opd.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_opf.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_opg.json | 20 - .../algorithms/tnm/2.0/tables/ssf6_oph.json | 21 - .../algorithms/tnm/2.0/tables/ssf6_opi.json | 21 - .../algorithms/tnm/2.0/tables/ssf7_saa.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_saq.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_saw.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_sbv.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_sbx.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_scb.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_scq.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_sde.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_sdf.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_sdo.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_sdx.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_seb.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_seh.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_sfl.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_spa.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_spf.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_spw.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_sqk.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_sqn.json | 20 - .../algorithms/tnm/2.0/tables/ssf7_sre.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_sab.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_sar.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_sax.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_sby.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_scc.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_sdd.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_sdp.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_sdy.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_sec.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_sei.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_sfk.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_spb.json | 21 - .../algorithms/tnm/2.0/tables/ssf8_spg.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_spx.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_sql.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_sqo.json | 20 - .../algorithms/tnm/2.0/tables/ssf8_srf.json | 20 - .../algorithms/tnm/2.0/tables/ssf9_sac.json | 20 - .../algorithms/tnm/2.0/tables/ssf9_sas.json | 20 - .../algorithms/tnm/2.0/tables/ssf9_say.json | 20 - .../algorithms/tnm/2.0/tables/ssf9_sdi.json | 20 - .../algorithms/tnm/2.0/tables/ssf9_sdq.json | 20 - .../algorithms/tnm/2.0/tables/ssf9_sdz.json | 20 - .../algorithms/tnm/2.0/tables/ssf9_sed.json | 21 - .../algorithms/tnm/2.0/tables/ssf9_sej.json | 20 - .../algorithms/tnm/2.0/tables/ssf9_spc.json | 20 - .../algorithms/tnm/2.0/tables/ssf9_sph.json | 20 - .../algorithms/tnm/2.0/tables/ssf9_sqm.json | 21 - .../algorithms/tnm/2.0/tables/ssf9_srg.json | 20 - .../tnm/2.0/tables/stage_group_94596.json | 31 - .../tnm/2.0/tables/stage_group_c_1171.json | 31 - .../tnm/2.0/tables/stage_group_c_13226.json | 31 - .../tnm/2.0/tables/stage_group_c_14599.json | 32 - .../tnm/2.0/tables/stage_group_c_15811.json | 31 - .../tnm/2.0/tables/stage_group_c_19537.json | 31 - .../tnm/2.0/tables/stage_group_c_20505.json | 31 - .../tnm/2.0/tables/stage_group_c_22295.json | 31 - .../tnm/2.0/tables/stage_group_c_2328.json | 31 - .../tnm/2.0/tables/stage_group_c_26613.json | 31 - .../tnm/2.0/tables/stage_group_c_29799.json | 31 - .../tnm/2.0/tables/stage_group_c_30166.json | 35 - .../tnm/2.0/tables/stage_group_c_32452.json | 31 - .../tnm/2.0/tables/stage_group_c_32628.json | 31 - .../tnm/2.0/tables/stage_group_c_32742.json | 35 - .../tnm/2.0/tables/stage_group_c_34250.json | 31 - .../tnm/2.0/tables/stage_group_c_34977.json | 31 - .../tnm/2.0/tables/stage_group_c_37137.json | 35 - .../tnm/2.0/tables/stage_group_c_40902.json | 31 - .../tnm/2.0/tables/stage_group_c_4134.json | 31 - .../tnm/2.0/tables/stage_group_c_41802.json | 31 - .../tnm/2.0/tables/stage_group_c_42709.json | 31 - .../tnm/2.0/tables/stage_group_c_42843.json | 31 - .../tnm/2.0/tables/stage_group_c_46351.json | 31 - .../tnm/2.0/tables/stage_group_c_46455.json | 31 - .../tnm/2.0/tables/stage_group_c_47235.json | 31 - .../tnm/2.0/tables/stage_group_c_47728.json | 35 - .../tnm/2.0/tables/stage_group_c_478.json | 31 - .../tnm/2.0/tables/stage_group_c_49193.json | 31 - .../tnm/2.0/tables/stage_group_c_49395.json | 35 - .../tnm/2.0/tables/stage_group_c_51542.json | 31 - .../tnm/2.0/tables/stage_group_c_52010.json | 31 - .../tnm/2.0/tables/stage_group_c_55797.json | 31 - .../tnm/2.0/tables/stage_group_c_56577.json | 31 - .../tnm/2.0/tables/stage_group_c_57716.json | 31 - .../tnm/2.0/tables/stage_group_c_59028.json | 31 - .../tnm/2.0/tables/stage_group_c_59520.json | 31 - .../tnm/2.0/tables/stage_group_c_59832.json | 39 - .../tnm/2.0/tables/stage_group_c_61951.json | 35 - .../tnm/2.0/tables/stage_group_c_62342.json | 31 - .../tnm/2.0/tables/stage_group_c_63552.json | 31 - .../tnm/2.0/tables/stage_group_c_64282.json | 43 - .../tnm/2.0/tables/stage_group_c_65478.json | 31 - .../tnm/2.0/tables/stage_group_c_65801.json | 31 - .../tnm/2.0/tables/stage_group_c_66879.json | 31 - .../tnm/2.0/tables/stage_group_c_73800.json | 31 - .../tnm/2.0/tables/stage_group_c_75034.json | 39 - .../tnm/2.0/tables/stage_group_c_76410.json | 31 - .../tnm/2.0/tables/stage_group_c_76779.json | 39 - .../tnm/2.0/tables/stage_group_c_79525.json | 31 - .../tnm/2.0/tables/stage_group_c_82556.json | 31 - .../tnm/2.0/tables/stage_group_c_83264.json | 35 - .../tnm/2.0/tables/stage_group_c_85588.json | 31 - .../tnm/2.0/tables/stage_group_c_86666.json | 35 - .../tnm/2.0/tables/stage_group_c_89731.json | 31 - .../tnm/2.0/tables/stage_group_c_90191.json | 31 - .../tnm/2.0/tables/stage_group_c_92535.json | 31 - .../tnm/2.0/tables/stage_group_c_93818.json | 31 - .../tnm/2.0/tables/stage_group_c_95471.json | 31 - .../tnm/2.0/tables/stage_group_c_96502.json | 39 - .../tables/stage_group_lymphoma_c_60180.json | 27 - ..._group_lymphoma_ocular_adnexa_c_86297.json | 27 - ..._group_lymphoma_ocular_adnexa_p_45342.json | 28 - .../tables/stage_group_lymphoma_p_48657.json | 28 - .../tnm/2.0/tables/stage_group_p_11962.json | 31 - .../tnm/2.0/tables/stage_group_p_12670.json | 31 - .../tnm/2.0/tables/stage_group_p_15208.json | 31 - .../tnm/2.0/tables/stage_group_p_18837.json | 31 - .../tnm/2.0/tables/stage_group_p_21201.json | 31 - .../tnm/2.0/tables/stage_group_p_24418.json | 31 - .../tnm/2.0/tables/stage_group_p_25104.json | 31 - .../tnm/2.0/tables/stage_group_p_27096.json | 31 - .../tnm/2.0/tables/stage_group_p_31599.json | 31 - .../tnm/2.0/tables/stage_group_p_3409.json | 43 - .../tnm/2.0/tables/stage_group_p_35702.json | 31 - .../tnm/2.0/tables/stage_group_p_39380.json | 35 - .../tnm/2.0/tables/stage_group_p_40037.json | 35 - .../tnm/2.0/tables/stage_group_p_42277.json | 31 - .../tnm/2.0/tables/stage_group_p_42915.json | 31 - .../tnm/2.0/tables/stage_group_p_42930.json | 31 - .../tnm/2.0/tables/stage_group_p_44218.json | 39 - .../tnm/2.0/tables/stage_group_p_44348.json | 31 - .../tnm/2.0/tables/stage_group_p_4518.json | 31 - .../tnm/2.0/tables/stage_group_p_45269.json | 32 - .../tnm/2.0/tables/stage_group_p_45729.json | 31 - .../tnm/2.0/tables/stage_group_p_4750.json | 31 - .../tnm/2.0/tables/stage_group_p_4759.json | 31 - .../tnm/2.0/tables/stage_group_p_48023.json | 31 - .../tnm/2.0/tables/stage_group_p_48545.json | 39 - .../tnm/2.0/tables/stage_group_p_5079.json | 31 - .../tnm/2.0/tables/stage_group_p_53847.json | 35 - .../tnm/2.0/tables/stage_group_p_54450.json | 31 - .../tnm/2.0/tables/stage_group_p_54695.json | 35 - .../tnm/2.0/tables/stage_group_p_56445.json | 31 - .../tnm/2.0/tables/stage_group_p_60572.json | 31 - .../tnm/2.0/tables/stage_group_p_61212.json | 31 - .../tnm/2.0/tables/stage_group_p_63631.json | 39 - .../tnm/2.0/tables/stage_group_p_65545.json | 31 - .../tnm/2.0/tables/stage_group_p_66747.json | 31 - .../tnm/2.0/tables/stage_group_p_66915.json | 31 - .../tnm/2.0/tables/stage_group_p_67704.json | 31 - .../tnm/2.0/tables/stage_group_p_71358.json | 35 - .../tnm/2.0/tables/stage_group_p_72316.json | 31 - .../tnm/2.0/tables/stage_group_p_74045.json | 31 - .../tnm/2.0/tables/stage_group_p_75705.json | 31 - .../tnm/2.0/tables/stage_group_p_78345.json | 31 - .../tnm/2.0/tables/stage_group_p_78368.json | 31 - .../tnm/2.0/tables/stage_group_p_79654.json | 35 - .../tnm/2.0/tables/stage_group_p_79934.json | 31 - .../tnm/2.0/tables/stage_group_p_79956.json | 35 - .../tnm/2.0/tables/stage_group_p_81228.json | 31 - .../tnm/2.0/tables/stage_group_p_82326.json | 31 - .../tnm/2.0/tables/stage_group_p_82525.json | 35 - .../tnm/2.0/tables/stage_group_p_83975.json | 31 - .../tnm/2.0/tables/stage_group_p_84556.json | 39 - .../tnm/2.0/tables/stage_group_p_8501.json | 31 - .../tnm/2.0/tables/stage_group_p_8706.json | 31 - .../tnm/2.0/tables/stage_group_p_89660.json | 31 - .../tnm/2.0/tables/stage_group_p_90233.json | 31 - .../tnm/2.0/tables/stage_group_p_92581.json | 31 - .../tnm/2.0/tables/stage_group_p_93370.json | 31 - .../tnm/2.0/tables/stage_group_p_94665.json | 31 - .../tnm/2.0/tables/stage_group_p_95243.json | 31 - .../tnm/2.0/tables/stage_group_p_96481.json | 35 - .../tnm/2.0/tables/stomach_t_57787.json | 27 - .../stop_if_no_clin_and_no_path_24035.json | 76 - ...if_no_clin_and_no_path_placenta_53933.json | 68 - .../tables/submandibular_gland_t_42810.json | 28 - .../tnm/2.0/tables/systemic_surg_seq.json | 18 - .../tnm/2.0/tables/testis_n_51427.json | 27 - .../tnm/2.0/tables/testis_path_t_76829.json | 26 - ...marker_svalue_table_basedon_ssf131516.json | 27 - ...oid_ajcctnm7_stage_thyroid_anaplastic.json | 26 - ...roid_ajcctnm7_stage_thyroid_medullary.json | 26 - ...apillaryand_follicular_age45and_older.json | 26 - ...d_papillaryand_follicular_lessthan_45.json | 26 - .../2.0/tables/thyroid_anaplastic_74409.json | 26 - .../tnm/2.0/tables/thyroid_t_6166.json | 28 - .../tnm/2.0/tables/tnm7_inclusions_tab.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tae.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpa.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpb.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpc.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpe.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpf.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpg.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tph.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpi.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpj.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpk.json | 18 - .../tnm/2.0/tables/tnm7_inclusions_tpl.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpm.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpn.json | 18 - .../tnm/2.0/tables/tnm7_inclusions_tpo.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpp.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpq.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpr.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tps.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpt.json | 18 - .../tnm/2.0/tables/tnm7_inclusions_tpv.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpw.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpx.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpy.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tpz.json | 15 - .../tnm/2.0/tables/tnm7_inclusions_tqa.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tqb.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tqc.json | 18 - .../tnm/2.0/tables/tnm7_inclusions_tqg.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tqh.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tqi.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tqj.json | 14 - .../tnm/2.0/tables/tnm7_inclusions_tqk.json | 18 - .../tnm/2.0/tables/tnm7_inclusions_tql.json | 18 - .../tnm/2.0/tables/tnm7_inclusions_tqm.json | 18 - .../tnm/2.0/tables/tnm7_inclusions_tqn.json | 14 - ...7_path_stage_gist_small_intestine_upy.json | 30 - ...7_path_stage_group_gist_stomach_36358.json | 30 - .../tnm/2.0/tables/tnm7_path_stage_uaa.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uab.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uac.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uad.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uae.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uaf.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uak.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ual.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uam.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uao.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uaq.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uar.json | 30 - .../tnm/2.0/tables/tnm7_path_stage_uau.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uav.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uaw.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uax.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uay.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uaz.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uba.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubb.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubc.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubd.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubf.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubg.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubh.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubi.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubj.json | 30 - .../tnm/2.0/tables/tnm7_path_stage_ubk.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubl.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubm.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubn.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubp.json | 34 - .../tnm/2.0/tables/tnm7_path_stage_ubq.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubs.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubt.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubu.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubv.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_ubx.json | 30 - .../tnm/2.0/tables/tnm7_path_stage_uby.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_upm.json | 30 - .../tnm/2.0/tables/tnm7_path_stage_ups.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_upt.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_upu.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_upv.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_upw.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_upx.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_upz.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uqa.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uqb.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uqc.json | 26 - .../tnm/2.0/tables/tnm7_path_stage_uqd.json | 30 - .../tnm/2.0/tables/tnm7_path_stage_uqe.json | 30 - ...for_sites_with_no_stage_groupings_unb.json | 27 - .../tnm7_stage_gist_small_intestine_upy.json | 30 - .../tnm/2.0/tables/tnm7_stage_uaa.json | 26 - .../tnm/2.0/tables/tnm7_stage_uab.json | 26 - .../tnm/2.0/tables/tnm7_stage_uac.json | 26 - .../tnm/2.0/tables/tnm7_stage_uad.json | 26 - .../tnm/2.0/tables/tnm7_stage_uae.json | 26 - .../tnm/2.0/tables/tnm7_stage_uaf.json | 26 - .../tnm/2.0/tables/tnm7_stage_uak.json | 26 - .../tnm/2.0/tables/tnm7_stage_ual.json | 26 - .../tnm/2.0/tables/tnm7_stage_uam.json | 26 - .../tnm/2.0/tables/tnm7_stage_uao.json | 26 - .../tnm/2.0/tables/tnm7_stage_uaq.json | 26 - .../tnm/2.0/tables/tnm7_stage_uar.json | 30 - .../tnm/2.0/tables/tnm7_stage_uau.json | 26 - .../tnm/2.0/tables/tnm7_stage_uav.json | 26 - .../tnm/2.0/tables/tnm7_stage_uaw.json | 26 - .../tnm/2.0/tables/tnm7_stage_uax.json | 26 - .../tnm/2.0/tables/tnm7_stage_uay.json | 26 - .../tnm/2.0/tables/tnm7_stage_uaz.json | 26 - .../tnm/2.0/tables/tnm7_stage_uba.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubb.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubc.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubd.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubf.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubg.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubh.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubi.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubj.json | 30 - .../tnm/2.0/tables/tnm7_stage_ubk.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubl.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubm.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubn.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubp.json | 34 - .../tnm/2.0/tables/tnm7_stage_ubq.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubs.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubt.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubu.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubv.json | 26 - .../tnm/2.0/tables/tnm7_stage_ubx.json | 30 - .../tnm/2.0/tables/tnm7_stage_uby.json | 26 - .../tnm/2.0/tables/tnm7_stage_upm.json | 30 - .../tnm/2.0/tables/tnm7_stage_ups.json | 26 - .../tnm/2.0/tables/tnm7_stage_upt.json | 26 - .../tnm/2.0/tables/tnm7_stage_upu.json | 26 - .../tnm/2.0/tables/tnm7_stage_upv.json | 26 - .../tnm/2.0/tables/tnm7_stage_upw.json | 26 - .../tnm/2.0/tables/tnm7_stage_upx.json | 26 - .../tnm/2.0/tables/tnm7_stage_upz.json | 26 - .../tnm/2.0/tables/tnm7_stage_uqa.json | 26 - .../tnm/2.0/tables/tnm7_stage_uqb.json | 26 - .../tnm/2.0/tables/tnm7_stage_uqc.json | 26 - .../tnm/2.0/tables/tnm7_stage_uqd.json | 30 - .../tnm/2.0/tables/tnm7_stage_uqe.json | 26 - .../tnm_7_combined_stage_group_12118.json | 34 - .../tnm_7_combined_stage_group_48585.json | 30 - .../tnm_7_combined_stage_group_55778.json | 30 - .../tnm_7_combined_stage_group_69346.json | 26 - ...tnm_7_path_stage_adenocarcinoma_30413.json | 30 - ...tnm_7_path_stage_adenocarcinoma_41458.json | 30 - .../tables/tnm_7_path_stage_ewing_61213.json | 26 - .../tnm_7_path_stage_not_ewing_41435.json | 30 - .../tnm_7_path_stage_squamous_15592.json | 34 - .../tnm_7_path_stage_squamous_29624.json | 30 - ...7_path_stage_thyroid_anaplastic_79873.json | 26 - ..._7_path_stage_thyroid_medullary_77691.json | 26 - ...and_follicular_age_45_and_older_71342.json | 26 - ...and_follicular_age_less_than_45_95553.json | 26 - .../tnm_7_stage_adenocarcinoma_44054.json | 30 - .../tnm_7_stage_adenocarcinoma_86531.json | 30 - .../2.0/tables/tnm_7_stage_ewing_17708.json | 26 - .../tnm_7_stage_group_gist_stomach_36358.json | 30 - .../tables/tnm_7_stage_not_ewing_14573.json | 30 - .../tables/tnm_7_stage_squamous_34274.json | 34 - .../tables/tnm_7_stage_squamous_64205.json | 30 - .../2.0/tables/tongue_anterior_t_49048.json | 28 - .../tnm/2.0/tables/tonguebase_t_15526.json | 28 - .../tnm/2.0/tables/urethra_n_54953.json | 27 - .../tnm/2.0/tables/urethra_t_77785.json | 27 - .../tnm/2.0/tables/vagina_t_91502.json | 27 - .../tnm/2.0/tables/vulva_t_1223.json | 28 - .../tnm/2.0/tables/year_dx_validation.json | 18 - 4649 files changed, 77 insertions(+), 445806 deletions(-) delete mode 100644 src/main/java/com/imsweb/staging/StagingFileDataProvider.java delete mode 100644 src/main/java/com/imsweb/staging/cs/CsDataProvider.java delete mode 100644 src/main/java/com/imsweb/staging/eod/EodDataProvider.java delete mode 100644 src/main/java/com/imsweb/staging/pediatric/PediatricDataProvider.java delete mode 100644 src/main/java/com/imsweb/staging/tnm/TnmDataProvider.java delete mode 100644 src/test/java/com/imsweb/staging/AlgorithmZipUtils.java delete mode 100644 src/test/java/com/imsweb/staging/StagingFileDataProviderTest.java create mode 100644 src/test/resources/algorithms/cs-02.05.50.zip delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/adnexa_uterine_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/adrenal_gland.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/ampulla_vater.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/anus.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/appendix.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_distal.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_intrahepat.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_perihilar.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/biliary_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/bladder.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/bone.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/brain.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/breast.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/buccal_mucosa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/carcinoid_appendix.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/cervix.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/cns_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/colon.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/conjunctiva.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/corpus_adenosarcoma.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/corpus_carcinoma.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/corpus_sarcoma.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/cystic_duct.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/digestive_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/endocrine_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/epiglottis_anterior.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/esophagus.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/esophagus_gejunction.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/eye_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/fallopian_tube.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/floor_mouth.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/gallbladder.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/genital_female_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/genital_male_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/gist_appendix.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/gist_colon.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/gist_esophagus.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/gist_peritoneum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/gist_rectum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/gist_small_intestine.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/gist_stomach.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/gum_lower.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/gum_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/gum_upper.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/heart_mediastinum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/heme_retic.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/hypopharynx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/ids.txt delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/ill_defined_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/intracranial_gland.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/kaposi_sarcoma.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/kidney_parenchyma.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/kidney_renal_pelvis.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/lacrimal_gland.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/lacrimal_sac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/larynx_glottic.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/larynx_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/larynx_subglottic.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/larynx_supraglottic.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/lip_lower.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/lip_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/lip_upper.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/liver.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/lung.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/lymphoma.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/lymphoma_ocular_adnexa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_buccal_mucosa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_choroid.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_ciliary_body.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_conjunctiva.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_epiglottis_anterior.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_eye_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_floor_mouth.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_lower.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_upper.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_hypopharynx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_iris.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_glottic.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_subglottic.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_supraglottic.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_lower.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_upper.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_mouth_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_nasal_cavity.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_nasopharynx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_oropharynx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_hard.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_soft.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_pharynx_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_ethmoid.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_maxillary.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_skin.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_anterior.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_base.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_penis.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_scrotum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_skin.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_vulva.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/middle_ear.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/mouth_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/mycosis_fungoides.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/myeloma_plasma_cell_disorder.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/nasal_cavity.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/nasopharynx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/net_ampulla.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/net_colon.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/net_rectum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/net_small_intestine.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/net_stomach.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/orbit.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/oropharynx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/ovary.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/palate_hard.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/palate_soft.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_body_tail.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_head.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/parotid_gland.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/penis.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/peritoneum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/peritoneum_female_gen.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/pharyngeal_tonsil.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/pharynx_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/placenta.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/pleura.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/prostate.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/rectum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/respiratory_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/retinoblastoma.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/retroperitoneum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/salivary_gland_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/scrotum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/sinus_ethmoid.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/sinus_maxillary.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/sinus_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/skin.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/skin_eyelid.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/small_intestine.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/soft_tissue.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/stomach.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/submandibular_gland.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/testis.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/thyroid.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/tongue_anterior.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/tongue_base.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/trachea.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/urethra.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/urinary_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/vagina.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/schemas/vulva.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pad.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pae.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pag.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pak.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pam.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pan.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_m_codes.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_n_codes.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_codes.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_not_ewing_qai.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qad.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qag.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qah.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj_grade.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qak.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qal.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qam.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qao.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qar.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qas.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qat.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qau.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qav.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qax.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qea.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qna.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qnb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qps.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_t_codes.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_year_validation.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tae.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tph.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tps.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tql.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_m_codes.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_n_codes.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_codes.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_not_ewing_ube.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uad.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uae.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uag.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uak.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ual.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uam.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uao.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uap.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uar.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uau.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uav.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uax.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uay.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uba.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubs.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uby.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_una.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_unb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ups.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_t_codes.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_year_validation.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc_descriptor_codes.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc_mdescriptor_cleanup.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc_ndescriptor_cleanup.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc_tdescriptor_cleanup.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcc_tnm6_stage_csv1_xie.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_csv1_xpz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_anaplastic_xcg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_medullary_xcf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_papillaryand_follicular_age45and_older_xco.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6and7_stage_ewing_xho.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xhz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xib.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_giststomach_xit.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xhy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xia.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_anaplastic_xdz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_medullary_xdy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older_xdx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/behavior.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_quadrants_ajcc7_xca.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_thickness_ajcc6_xbw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_greater_than2009_xiy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_less_than2010_xiz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/cs_input_version_original.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/cs_year_validation.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/csextension_size_tablefor_ajcc6th_xba.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns29.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns4.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_meval_ns30.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns1.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns10.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns13.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns22.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns23.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns24.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns26.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns3.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns41.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns8.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns9.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_neval_ns31.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns15.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns37.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns16.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns33.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns34.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns39.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns6.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns7.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns44.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns47.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns11.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns12.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns14.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns18.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns19.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns2.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns20.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns21.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns25.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns27.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns40.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns5.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns17.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns32.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns38.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns43.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_m_ns48.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_n_ns35.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_s_ns36.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss00t_ns46.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss77t_ns45.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_t_ns28.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc6_ns50.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc7_ns42.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/eval_extension_t3_ajcc7_xgh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_baa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bad.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bae.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_baf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bag.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bah.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bai.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_baj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bak.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bal.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bam.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_ban.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bao.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bap.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_baq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bar.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bas.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bat.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bau.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bav.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_baw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bax.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bay.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_baz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bba.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbs.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bby.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bbz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bca.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bce.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bch.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bci.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bco.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcs.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bct.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bcy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bda.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bde.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bds.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bdy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_beb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bed.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bee.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bef.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_beg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_beh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_behavior_xci.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bei.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bej.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bek.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bel.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bem.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_ben.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_beo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bep.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_beq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_ber.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bes.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bet.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bev.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bew.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bex.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bey.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bez.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bff.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfs.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bft.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bfz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bga.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bgb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bgc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bna.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_bpb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_btb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xkn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xko.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xqa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cae.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_caf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cag.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_caj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cak.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cal.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cam.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cna.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_grade_lvi_xdm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ajcc6_xeh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_t.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv1_xbv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv2_xis.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc7_xgs.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_periductal_invasion_ajcc7_xks.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_table_csv1_xjb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xai.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xak.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xat.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xav.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xaz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xbc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xda.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xdk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xea.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xfw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xir.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xji.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xjj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xbl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xec.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xed.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xef.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xej.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xet.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xev.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xey.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xff.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xgi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xik.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xim.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xio.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_category_ajcc7_xpm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_pair_ajcc6_xpn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc6_table_csv2_xij.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc7_xic.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc6_table_csv2_xgl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc7_xgj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc6_table_csv2_xgm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc7_xgk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ssf1_ajcc7_xgb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc6_xal.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc7_xek.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv1_xas.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv2_xez.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xaa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xad.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xae.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xaf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xag.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xar.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xbq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xdb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xde.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xfn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xfu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xgn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xjg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xjh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xqj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_ajcc7_t_xjy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xke.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xkf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_sstg_bbo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_sstg_bcu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_t4_ssf1_ajcc7_xgw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc6_xkj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc7_xkk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/extension_ulceration_t1_ajcc6_xbo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/grade.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/grade_category_calculation_xei.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce_6.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_6.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_7.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/histology.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ajcc6_xkw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ssf1_ajcc7_xkv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_summary_stage_xgx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ids.txt delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ihcmol_xcc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/invalid_lung_m_values_ns49.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lvi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_node_extranodal_extension_xdn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc6_xlk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc7_xlh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xld.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xle.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc6_xlm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xln.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc6_xll.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc7_xli.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xee.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfs.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xqh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xam.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xao.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xax.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xcd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xch.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_xgt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation0or5_ajcc6_xbg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation1or9_ajcc6_xbf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation6th_xqf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_xcx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xew.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_n.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_n.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xhv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xje.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xki.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xlf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxtable_ajcc6_xfv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_eval_xgu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xqg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation7th_table_also_used_when_csreg_nodes_evalis_not_coded_xft.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xdg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xfr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_csreg_nodes_evalis_not_coded_xdi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_xcw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_axillary_node_xcy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_eval_blank_xgv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc6_table_csv1_xex.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv1_xix.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv2_xiw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_n.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_n.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_n.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_n.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_table_csv2_xcp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xja.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_ssf11_ajcc6_xqd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodesand_ssf11_ajcc6_xiq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iaa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iad.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iae.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iaf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ina.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_had.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hae.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_haf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hag.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hah.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hai.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_haj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hak.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hal.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_ham.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_han.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hao.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hap.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_haq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_har.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hat.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hau.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hav.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_haw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_haz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hba.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hbb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hbc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hbe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hbf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hbg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hbj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hbn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hbo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hbu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hbv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hbx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hby.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hbz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hca.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hce.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hch.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hci.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hck.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hco.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcs.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hcy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hna.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hpa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hpb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hpc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hpd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hpe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hpf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hpg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mets_hph.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxand_ldh_xbs.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc6_xck.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc7_xfg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xjm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xpi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xqe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_ulceration_t1_ajcc7_xgo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_daa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dad.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dah.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dai.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_daj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dak.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dal.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dam.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dan.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dao.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dap.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_daq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dar.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_das.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dat.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dau.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dav.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_daw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dax.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_day.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_daz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dba.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbs.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dby.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dca.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dce.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dck.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dco.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcs.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dde.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dds.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dea.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_deb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_ded.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dee.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_def.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_deg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dei.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dej.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dek.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_del.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dem.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_den.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_deo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_deq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_der.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_des.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_det.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_deu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dev.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dew.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dex.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dey.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dez.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dff.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfs.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dft.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dna.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eag.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eah.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eai.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eak.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eba.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_ena.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gaf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gna.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fae.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fah.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fna.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc6_xbt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc7_xcb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/pleural_effusion_extension_xbz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516_xgr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/primary_site.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_adnexa_uterine_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_adrenal_gland.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ampulla_vater.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_anus.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_appendix.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_distal.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_intrahepat.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_perihilar.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_biliary_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bladder.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bone.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_brain.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_breast.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_buccal_mucosa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_carcinoid_appendix.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cervix.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cns_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_colon.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_conjunctiva.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_adenosarcoma.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_carcinoma.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_sarcoma.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cystic_duct.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_digestive_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_endocrine_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_epiglottis_anterior.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus_gejunction.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_eye_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_fallopian_tube.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_floor_mouth.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gallbladder.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_female_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_male_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_appendix.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_colon.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_esophagus.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_peritoneum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_rectum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_small_intestine.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_stomach.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_lower.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_upper.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_heart_mediastinum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_heme_retic.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_hypopharynx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ill_defined_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_intracranial_gland.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kaposi_sarcoma.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_parenchyma.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_renal_pelvis.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_gland.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_sac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_glottic.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_subglottic.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_supraglottic.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_lower.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_upper.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_liver.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lung.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma_ocular_adnexa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_buccal_mucosa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_choroid.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_ciliary_body.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_conjunctiva.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_epiglottis_anterior.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_eye_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_floor_mouth.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_lower.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_upper.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_hypopharynx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_iris.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_glottic.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_subglottic.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_supraglottic.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_lower.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_upper.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_mouth_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasal_cavity.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasopharynx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_oropharynx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_hard.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_soft.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_pharynx_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_ethmoid.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_maxillary.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_skin.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_anterior.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_base.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_penis.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_scrotum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_skin.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_vulva.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_middle_ear.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_mouth_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_mycosis_fungoides.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_myeloma_plasma_cell_disorder.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_nasal_cavity.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_nasopharynx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_ampulla.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_colon.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_rectum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_small_intestine.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_stomach.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_orbit.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_oropharynx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ovary.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_hard.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_soft.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_body_tail.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_head.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_parotid_gland.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_penis.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum_female_gen.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pharyngeal_tonsil.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pharynx_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_placenta.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pleura.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_prostate.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_rectum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_respiratory_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_retinoblastoma.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_retroperitoneum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_salivary_gland_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_scrotum.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_ethmoid.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_maxillary.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_skin.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_skin_eyelid.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_small_intestine.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_soft_tissue.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_stomach.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_submandibular_gland.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_testis.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_thyroid.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_anterior.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_base.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_trachea.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_urethra.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_urinary_other.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_vagina.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_vulva.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/serum_tumor_marker_svalue_table_basedon_csssf123_xcj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aaa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aad.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aae.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aaf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aag.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aah.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aaj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aak.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aal.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aam.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aan.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aao.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aap.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aaq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aar.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aas.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aat.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aau.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aaw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aax.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aay.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aaz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aba.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_ana.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_apa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_apb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_apc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_apd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_apf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_apg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aph.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_api.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_apj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_apk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_apl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_apo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_app.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_apr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_aps.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_apt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_apu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_t.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_t.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_t.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_t.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_t.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_t.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_t.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_t.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_m.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_t.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xjz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xka.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_metastasis_ajcc7_xpx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/size_metsat_dxajcc7_m_xkb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_invasive_unknown_pathologic_extension_xds_xdu_xdq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_non_invasive_pathologic_extension_xdr_xdt_xdq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_ajcct_xiu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_seersummary_stage_xiv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ss_codes.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sad.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sat.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_saz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_scm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sek.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_seq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sex.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sfi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sfj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sne.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sqj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sqs.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf10_srh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sae.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sba.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sbt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_scj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_see.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sel.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_ser.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_snf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_spe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_spk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sps.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_srd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sri.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf12_saf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sbb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sbu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sck.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sef.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf12_ses.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sev.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sew.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sez.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sfd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sng.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf12_spl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sqb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sqf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf12_srj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sag.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sbc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sca.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf13_scl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sdg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sdr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf13_seg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sfa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sfe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf13_snh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf13_spm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sqg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sqq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sbd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sbf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf14_scn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sdh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sds.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sfb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sff.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sni.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf14_spn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sqh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sqr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sbe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sbg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sco.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sdm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sdt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sfc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sfg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf15_snj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf15_spo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sah.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf16_scp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sdn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sfh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf16_snk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf16_spt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf16_squ.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sqv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sqw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf17_sai.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf17_seu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf17_snl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf17_spu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf17_sqx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf18_saj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf18_snm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf18_sqy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf19_sak.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf19_snn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf19_sqz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jae.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jag.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jal.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jam.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jap.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jat.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jav.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jax.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jba.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jby.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jca.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jce.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jch.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jna.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_sbh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf1_sstg_jat.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sal.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sno.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sra.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf21_sam.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf21_snp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf21_srb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf22_san.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf22_snq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf22_src.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf23_sao.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf23_snr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf24_sap.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf24_sns.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf25_snt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kad.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kak.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kal.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kao.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kar.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kas.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kax.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kay.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kna.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kph.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_sbi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf2_sbz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lad.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lah.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lai.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lao.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lap.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lat.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_law.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lay.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lba.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lbb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lbc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lna.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lph.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lps.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpt.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf3_sstg_lab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mal.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mam.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mas.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mat.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mav.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbj.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mna.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpr.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mps.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nae.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nah.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nai.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nak.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nap.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nar.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nas.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nav.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nba.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nbb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nna.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npe.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nph.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oad.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oae.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oag.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oak.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oam.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oao.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oap.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oas.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oat.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oax.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oay.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_ona.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oph.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sbv.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sbx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_scb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_scq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sde.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_seb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_seh.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sfl.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_snb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spw.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sqk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sqn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sre.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sab.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sar.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sax.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sby.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_scc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdp.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdy.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sec.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sei.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sfk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_snc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spb.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spx.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sql.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sqo.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf8_srf.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sas.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf9_say.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdi.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdq.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdz.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sed.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sej.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf9_snd.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf9_spc.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sph.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sqm.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/ssf9_srg.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_raa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_rac.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_rpa.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc6_xbn.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc7_xhu.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/tumor_size_category_ajcc7_xpk.json delete mode 100644 src/test/resources/algorithms/cs/02.05.50/tables/tumor_size_pair_ajcc6_xpl.json create mode 100644 src/test/resources/algorithms/eod_public-3.3.zip delete mode 100644 src/test/resources/algorithms/eod_public/3.3/glossary/55a9a501e4b05cd0cddc710a.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/glossary/terms.txt delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/adnexa_uterine_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/adrenal_gland.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/ampulla_vater.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/anus.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/anus_v9_2023.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/appendix.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/appendix_v9_2023.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/bile_ducts_distal.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/bile_ducts_intrahepat.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/bile_ducts_perihilar.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/biliary_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/bladder.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/bone_appendicular_skeleton.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/bone_pelvis.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/bone_spine.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/brain.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/brain_v9_2023.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/breast.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/buccal_mucosa.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/cervical_lymph_nodes_occult_head_neck.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/cervix.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/cervix_9th_2021.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/cervix_sarcoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/cns_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/cns_other_v9_2023.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/colon_rectum.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/conjunctiva.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/corpus_adenosarcoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/corpus_carcinoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/corpus_sarcoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/cutaneous_carcinoma_head_neck.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/cystic_duct.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/digestive_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/endocrine_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/esophagus_gejunction.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/esophagus_including_ge_junction_squamous.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/eye_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/fallopian_tube.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/floor_mouth.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/gallbladder.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/genital_female_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/genital_male_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/gist.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/gum.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/heart_mediastinum_pleura.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/hemeretic.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/hypopharynx.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/ids.txt delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/ill_defined_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/intracranial_gland.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/intracranial_gland_v9_2023.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/kaposi_sarcoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/kidney_parenchyma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/kidney_renal_pelvis.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/lacrimal_gland.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/lacrimal_sac.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/larynx_glottic.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/larynx_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/larynx_subglottic.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/larynx_supraglottic.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/lip.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/liver.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/lung.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/lung_v9_2025.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/lymphoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/lymphoma_cll_sll.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/lymphoma_ocular_adnexa.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/major_salivary_glands.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/major_salivary_glands_v9_2026.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/maxillary_sinus.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/medulloblastoma_v9_2023.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/melanoma_choroid_ciliary_body.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/melanoma_conjunctiva.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/melanoma_head_neck.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/melanoma_iris.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/melanoma_skin.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/merkel_cell_skin.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/middle_ear.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/mouth_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/mycosis_fungoides.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/nasal_cavity_ethmoid_sinus.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/nasopharynx.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/nasopharynx_v9_2025.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/net_adrenal_gland.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/net_ampulla.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/net_ampulla_of_vater_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/net_appendix.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/net_appendix_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/net_colon_and_rectum_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/net_colon_rectum.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/net_duodenum.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/net_duodenum_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/net_jejunum_and_ileum_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/net_jejunum_ileum.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/net_pancreas.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/net_pancreas_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/net_stomach.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/net_stomach_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/orbital_sarcoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/oropharynx_hpv_associated_v9_2026.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/oropharynx_hpv_mediated_p16_pos.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/oropharynx_p16_neg.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/ovary.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/palate_hard.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/pancreas.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/parathyroid.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/penis.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/pharynx_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/placenta.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/plasma_cell_disorders.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/plasma_cell_myeloma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/pleural_mesothelioma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/pleural_mesothelioma_v9_2025.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/primary_cutaneous_lymphoma_non_mf_ss.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/primary_peritoneal_carcinoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/prostate.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/respiratory_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/retinoblastoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/retroperitoneum.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/sinus_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/skin_eyelid.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/skin_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/small_intestine.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/soft_tissue_abdomen_thoracic.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/soft_tissue_head_neck.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/soft_tissue_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/soft_tissue_rare.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/soft_tissue_trunk_extremities.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/stomach.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/testis.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/thymus.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/thymus_v9_2025.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/thyroid.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/thyroid_medullary.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/tongue_anterior.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/trachea.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/urethra.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/urethra_prostatic.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/urinary_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/vagina.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/vulva.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/schemas/vulva_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/adenoid_cystic_basaloid_pattern_86314.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/adenopathy_40816.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_36223.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_97891.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_lab_value_90733.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_range_84758.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_lab_value_94162.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_range_11386.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/afp_pretx_interpretation_66147.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/afp_pretx_lab_value_25871.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/age_at_diagnosis_validation_65093.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ajcc_grade_3_94758.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ajcc_path_grade_3_70197.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/alk_rearrangement_610.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/anemia_15893.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/b2_microglob_pretx_level_83264.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/behavior.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/behavior_with_primary_tumor_for_ss2018_t_69793.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/bileductsdistal_bileductsperihilar_cysticduct_24541.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_lab_value_68660.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_unit_98627.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/bone_invasion_96628.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/braf_mutational_analysis_37823.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_75370.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_v9_48556.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/brain_primary_tumor_location_69074.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/breslow_thickness_79262.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ca_125_pretx_interpretation_51295.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ca_19_9_pretx_lab_value_17332.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/cea_pretx_interpretation_99474.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/cea_pretx_lab_value_33864.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/chromosome_19q_status_72683.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/chromosome_1p_status_40269.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/chromosome_3_status_93464.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/chromosome_8q_status_83582.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/circumferential_resection_margin_77909.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/clinical_margin_width_1179.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/combine_prostate_eod_extension_16771.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/combined_grade_56638.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/combined_grade_breast_8723.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_lab_value_56869.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_unit_26973.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derive_rai_stage_42032.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_10693.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_12594.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_2099.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21657.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21945.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21973.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_24813.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_27440.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_29698.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_30763.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_32209.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_40528.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_46639.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_48704.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_58317.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_69945.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_71063.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_71227.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_74326.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_76001.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_83462.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_84046.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_8564.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_91894.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_93981.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_96207.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_97763.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_gist_82068.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_1196.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_non_ajcc_63932.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_rai_stage_73218.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_adrenal_gland_258.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ampulla_of_vater_2679.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_anus_8409.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_appendix_76889.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_biliary_other_47058.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bladder_71090.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bone_34531.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_brain_35480.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_breast_7622.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_buccal_mucosa_61240.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervical_lymph_nodes_and_unknown_primary_tumors_of_head_and_neck_49724.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervix_8763.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cns_other_22397.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_colon_and_rectum_35271.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_conjunctiva_74486.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_carcinoma_and_carcinosarcoma_56302.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_sarcoma_68247.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_digestive_other_3351.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_endocrine_other_15778.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_esophagus_32092.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_extrahepatic_bile_ducts_37420.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_eye_other_38179.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_fallopian_tube_71863.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gallbladder_56868.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_female_other_6389.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_male_other_41924.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gist_48315.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gum_32702.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_heart_mediastinum_and_pleura_70478.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hemeretic_89184.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hypopharynx_33792.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ill_defined_other_41227.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intracranial_gland_8078.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intrahepatic_bile_ducts_29879.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kaposi_sarcoma_84609.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_parenchyma_35397.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_renal_pelvis_4595.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lacrimal_gland_sac_94643.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_glottic_7548.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_other_66228.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_subglottic_66548.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_supraglottic_62635.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lip_8421.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_liver_13967.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lung_59907.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_35135.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_ocular_adnexa_92324.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_major_salivary_glands_88669.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_medulloblastoma_71501.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_conjunctiva_64436.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_head_and_neck_82003.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_skin_34689.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_uvea_22506.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_merkel_cell_skin_71353.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_middle_ear_38870.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mouth_other_30776.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mycosis_fungoides_14217.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_myeloma_and_plasma_cell_disorders_3894.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasal_cavity_and_paranasal_sinuses_97890.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasopharynx_69453.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_orbital_sarcoma_90415.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_oropharynx_79318.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ovary_and_primary_peritoneal_carcinoma_26044.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_palate_hard_38646.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pancreas_85813.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_parathyroid_93552.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_penis_70064.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pharynx_other_63252.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_placenta_6507.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pleural_mesothelioma_74611.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_primary_cutaneous_lymphomas_45083.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_prostate_48792.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_respiratory_other_17734.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retinoblastoma_10326.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retroperitoneum_11521.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_sinus_other_893.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_except_eyelid_95559.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_eyelid_74710.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_small_intestine_48854.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_soft_tissue_and_sarcomas_99149.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_stomach_19183.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_testis_36736.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thymus_2194.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thyroid_44895.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_tongue_anterior_40968.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_trachea_96519.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urethra_73432.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urinary_other_89509.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vagina_63227.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vulva_47165.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/derived_summary_grade_na_6690.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/egfr_mutational_analysis_51122.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_13303.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_14084.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_20229.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_2212.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_22645.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_22894.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_23805.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_23953.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_24042.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_24606.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_25000.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_25281.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_26533.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_28878.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_29252.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_30426.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_33408.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_34827.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_3742.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_41985.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_47277.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_53046.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_56430.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_71734.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_74247.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_76404.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_79894.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_80017.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_83665.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_88527.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_89421.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_89986.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_91004.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_91154.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_94984.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_95518.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_96081.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_98654.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_mucosal_head_and_neck_45697.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_1812.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_3184.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_58862.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_76161.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_12346.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_19089.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3385.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3433.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_38280.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3897.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_40607.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_42615.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_43548.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_4717.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_50451.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_53330.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_55521.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_60922.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72244.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72245.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72332.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_81646.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_84520.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_85962.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93022.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93027.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93243.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_96275.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_97833.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_98910.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_copy_25294.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_192.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_52408.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_58724.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_6892.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_75679.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_prostate_pathologic_extension_2781.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_10020.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_11936.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_12613.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_16316.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_21853.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_22383.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_27426.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_29442.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_30921.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_3383.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_36470.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_38984.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_48374.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_53169.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_55756.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_58339.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_61282.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_62689.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_6464.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_65616.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_7080.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_76612.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_77237.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_79068.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_80411.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_8284.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_86049.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_92760.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_94494.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_97333.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_99855.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_3599.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_56625.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_57286.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_73197.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/er_allred_score_36612.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/er_percent_positive_61867.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/er_summary_44166.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/esoph_tumor_epicenter_18976.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/esophagusgejunction_egj_stomach_57130.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_baa.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bad.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bag.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_baj.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bak.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bal.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bam.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_ban.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bao.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bap.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bar.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bas.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bat.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bau.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bav.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_baw.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bax.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bbb.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bbc.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bbd.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bbe.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bbi.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bbj.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bbk.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bbl.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bbm.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bbn.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bbo.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bbp.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bbr.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bbs.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bbx.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcb.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcc.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcd.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bce.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcf.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcg.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bci.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcj.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcl.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcm.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcn.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bco.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcp.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcq.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcr.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcs.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bct.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcv.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcx.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bcy.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bdd.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bde.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bdg.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bdh.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bdk.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bdl.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bdo.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bds.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bdu.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bez.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bfa.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bfg.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bfh.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bfi.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bfk.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bfl.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bfm.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bfp.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bfq.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bfr.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bfs.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bft.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bfv.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bfw.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bfy.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bgc.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_bna.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extension_btb.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_clinical_5022.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_clinical_79321.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_pathological_87046.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_pathological_30739.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/extravascular_matrix_patterns_1397.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/fibrosis_score_38658.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_30513.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_cervix_46535.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_adenosarcoma_24886.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_carcinoma_and_carcinosarcoma_69186.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_sarcoma_78807.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_placenta_73452.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_vagina_61098.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_vulva_69787.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/gestational_prog_index_28647.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/gleason_pattern_clinical_75179.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/gleason_patterns_pathological_833.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/gleason_score_clinical_67175.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/gleason_score_pathological_82121.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/gleason_tertiary_pattern_6430.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_18316.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_18831.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_19087.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_19997.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_21060.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_22454.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_24620.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_25704.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_26293.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_26768.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_2756.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_29193.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_36085.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_41135.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_46962.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_54911.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_62593.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_6485.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_64933.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_69174.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_73056.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_73461.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_78613.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_83264.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_8742.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_88426.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_91491.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_91989.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_94331.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_non_ajcc_32473.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_v9_88505.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_11803.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_12915.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_19141.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_19694.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_20069.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_20722.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_26086.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_27152.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_29069.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_31963.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_38051.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_40052.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_40399.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_42127.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_46618.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_47031.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_4783.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_49403.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_53280.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_57271.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_59340.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_59975.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_68805.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_73388.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_84704.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_85185.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_91031.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_93273.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_94268.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_non_ajcc_5627.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_v9_76065.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_1647.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_18631.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_21162.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_23317.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2503.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2541.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26948.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26978.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_27082.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_30400.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_35900.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_41222.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_4232.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_43459.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_45036.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_53870.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_54917.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_60334.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_61658.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_68213.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_69737.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_72770.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_74830.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_76032.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_88214.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93593.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93998.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_95734.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_97989.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_31990.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_55565.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_v9_85438.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_20786.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_25809.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_28874.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_30693.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_32110.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_35393.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_36935.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_3704.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_40048.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_41285.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_45323.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_47044.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48765.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48957.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_55848.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_58350.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_65729.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_67342.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_75348.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_76876.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_80308.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_83202.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_86055.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_87571.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_90448.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_91649.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_92197.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_93034.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_98398.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_3519.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_8036.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_v9_717.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_lab_value_13834.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_range_92334.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_lab_value_55584.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_range_67679.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/her2_ihc_summary_57693.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_dp_copy_no_89821.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_dual_probe_ration_4635.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_sp_copy_no_95955.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_summary_40783.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/her2_overall_summary_copy_71435.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/her2_summary_30512.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/heritable_trait_49734.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/high_risk_cytogenetics_97806.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/high_risk_features_73750.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/histologic_subtype_8603.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/histology.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/histology_discriminator_for_8020_3_93311.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/hiv_status_12569.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ids.txt delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/inr_prothrombin_time_6158.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/intern_prognostic_index_90310.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/invasion_beyond_capsule_4149.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ipsilateral_adrenal_gland_involvement_61538.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/jak2_80148.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ki67_8355.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ki_67_67661.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/kit_gene_immunohistochemistry_33220.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/kras_79447.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/lacrimal_gland_lacrimal_sac_63106.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ldh_lab_value_85652.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ldh_level_12428.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ldh_post_orchiectomy_range_38574.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ldh_pre_orchiectomy_range_42762.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ldh_pretreatment_level_82697.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ldh_upper_limits_of_normal_34244.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_femoral_inguinal_48450.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_pelvic_vulva_10928.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ln_size_70140.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_13374.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_vagina_64638.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ln_status_para_aortic_41020.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_31753.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_93438.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/lymph_node_laterality_65685.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_femoral_46948.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_para_aortic_56026.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_pelvic_33476.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_assessment_method_24499.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_mediastinal_scalene_90567.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_i_iii_19222.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_iv_v_55093.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_vi_vii_32325.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_other_31141.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_isolated_tumor_cells_67876.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/lymphocytosis_79150.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/major_vein_involvement_87947.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/measured_basal_diameter_70699.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/measured_thickness_84907.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/melanoma_ciliary_body_melanoma_iris_79773.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hab.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hac.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_had.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hae.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_haf.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hah.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_haj.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hak.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hal.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_han.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_har.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hat.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hau.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hav.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_haw.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_haz.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hba.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hbb.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hbe.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hbg.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hbo.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hbv.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hbx.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hbz.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hcf.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hcg.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hch.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hci.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hck.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hcp.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hcq.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hcr.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hcu.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hcv.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hna.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mets_hph.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mgmt_17454.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_35598.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_7008.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/microvascular_density_70589.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mitotic_count_uveal_melanoma_26990.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/mitotic_rate_melanoma_88184.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/multigene_signature_method_85043.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/multigene_signature_result_37000.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/multiple_myeloma_terminology_20875.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nasopharynx_pharyngealtonsil_84756.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_clinical_response_31723.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_18122.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_23019.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_34708.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_4391.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_52725.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_61650.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_90678.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/neoadjuvant_therapy_37302.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_daa.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dab.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dai.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_daj.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dak.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dam.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dan.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_daq.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dat.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dau.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dav.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_daw.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_day.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dba.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbb.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbc.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbd.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbe.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbf.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbg.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbh.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbi.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbj.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbo.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbq.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbu.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbv.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbw.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbx.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dby.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dca.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcb.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcc.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcd.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dce.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dck.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcl.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcn.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcu.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcz.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dde.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddf.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddj.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddn.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddp.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dew.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfc.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfd.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfe.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfg.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfh.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfl.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfm.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfn.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfo.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfq.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfr.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_dna.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_17543.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_76029.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_dna_95635.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_2999.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_dna_91511.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fab.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fah.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fpa.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/nras_mutational_analysis_16621.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/number_of_cores_examined_64985.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/number_of_cores_positive_87819.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/number_of_examined_para_aortic_nodes_38078.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/number_of_examined_pelvic_nodes_60771.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/number_of_positive_ipsilateral_level_i_ii_axillary_lymph_nodes_79439.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/number_of_positive_para_aortic_nodes_62533.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/number_of_postive_pelvic_nodes_94512.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/occult_head_and_neck_lymph_nodes_10277.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recur_score_73667.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recurrence_score_dcis_70549.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_11033.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_dcis_53080.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/organomegaly_16131.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/oropharyngeal_p16_44685.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/p16_19452.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/p16_831.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/p16_anus_2709.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/p16_hpv_human_papilloma_virus_status_head_and_neck_509.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/pd_l1_61573.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_24604.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_27557.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_84622.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/peripheral_blood_involv_92357.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_38674.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_19664.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_66387.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_88427.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/pleural_effusion_40041.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/post_neoadj_chemo_percent_necrosis_15912.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/pr_allred_score_83938.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/pr_percent_positive_94563.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/pr_summary_49534.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/primary_peritoneum_tumor_19475.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/primary_scleros_cholangitis_86402.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/primary_site.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/profound_immune_suppression_68178.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/psa_46258.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ptld_17694.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/radiation_surg_seq.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/rcb_class_750.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/residual_cancer_burden_62520.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/residual_tumor_volume_post_cytoreduction_90653.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/response_to_neoadjuvant_therapy_57695.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/s_category_clinical_19191.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/s_category_pathologic_34448.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/sarcomatoid_features_99558.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_discriminator_1_63995.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_discriminator_2_15990.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_adnexa_uterine_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_adrenal_gland.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ampulla_vater.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_anus.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_anus_v9_2023.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix_v9_2023.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_distal.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_intrahepat.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_perihilar.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_biliary_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bladder.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_appendicular_skeleton.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_spine.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_brain.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_brain_v9_2023.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_breast.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_buccal_mucosa.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_carcinoid_appendix.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervical_lymph_nodes_occult_head_and_neck.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_9th_2021.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_sarcoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_chronic_lymphocytic_leukemia_small_lymphocytic_lymphoma_cll_sll.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other_v9_2023.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_colon.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_conjunctiva.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_adenosarcoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_carcinoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_sarcoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cutaneous_squamous_cell_carcinoma_head_and_neck.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cystic_duct.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_digestive_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_endocrine_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_gejunction.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_including_ge_junction_squamous.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_eye_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_fallopian_tube.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_floor_mouth.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gallbladder.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_female_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_male_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gist_appendix.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gum_lower.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_heart_mediastinum.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_heme_retic.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_hypopharynx.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ill_defined_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland_v9_2023.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kaposi_sarcoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_parenchyma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_renal_pelvis.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_gland.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_sac.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_glottic.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_subglottic.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_supraglottic.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lip_lower.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_liver.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lung.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lung_v9_2025.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma_ocular_adnexa.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_major_salivary_glands_v9_2026.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_medulloblastoma_v9_2023.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_buccal_mucosa.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_ciliary_body.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_conjunctiva.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_iris.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_skin.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_merkel_cell_skin.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_middle_ear.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_mouth_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_mycosis_fungoides.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_myeloma_plasma_cell_disorder.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasal_cavity.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx_v9_2025.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_adrenal_gland.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla_of_vater_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_appendix_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon_and_rectum_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_jejunum_and_ileum_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_small_intestine.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_orbit.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx_hpv_associated_v9_2026.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ovary.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_palate_hard.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pancreas_body_tail.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_parathyroid.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_parotid_gland.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_penis.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_peritoneum.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pharynx_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_placenta.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_plasmacytomas.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pleura.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pleural_mesothelioma_v9_2025.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_cutaneous_lymphoma_non_mf_ss.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_peritoneal_carcinoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_prostate.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_respiratory_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_retinoblastoma.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_retroperitoneum.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_maxillary.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_eyelid.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_small_intestine.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_heart_and_mediastinum.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_rare.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_sarcoma_head_and_neck.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_trunk_and_extremities.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_stomach.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_testis.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus_v9_2025.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid_medullary.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_anterior.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_base.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_trachea.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra_prostatic.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urinary_other.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vagina.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva_v9_2024.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_21628.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_32413.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_4721.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_48348.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_57075.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_61487.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_66514.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_79245.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_84419.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_90003.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_90643.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_lip_lower_28596.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_melanomachoroid_55264.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_nasopharynx_46629.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_sinus_othervs2_15755.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_25824.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_31838.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_36538.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_38025.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42176.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42751.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_43302.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_44962.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_52444.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_53926.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_59317.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_60433.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_6275.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_68925.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_72151.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_88917.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_9084.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_94875.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_95193.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_96082.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_eyeother_64077.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_head_neck_melanoma_38698.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_17757.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_19661.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_27397.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_36710.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_67072.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69051.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69974.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_83435.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_91716.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_93152.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_copy_24179.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_eyeother_16963.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_lacrimal_sac_33881.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_exam_7235.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_pos_95909.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/separate_tumor_nodules_69006.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/serum_alb_pretx_level_58159.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/sex_assigned_at_birth_63290.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/spread_through_air_spaces_stas_67834.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_44993.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_adnexa_uterine_other_values_44976.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_adrenal_gland_including_net_adrenal_70096.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ampulla_of_vater_including_net_96311.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_anus_55561.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_appendix_including_netl_54459.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_bladder_57733.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_brain_67865.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_breast_69079.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_buccal_mucosa_94903.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cervical_lymph_nodes_and_unknown_primary_tumor_8991.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cervix_64954.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cns_other_67712.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_colon_and_rectum_including_net_40538.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_conjunctiva_16779.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_carcinoma_and_carcinosarcoma_28794.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_sarcoma_75896.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_digestive_other_9136.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_endocrine_other_54817.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_esophagus_excluding_gist_57104.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_extrahepatic_bile_ducts_65728.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_eye_other_36531.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_fallopian_tube_83058.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_floor_mouth_83713.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_floor_of_mouth_27181.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gallbladder_15174.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_genital_female_other_5962.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_genital_male_other_44390.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gist_23534.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gum_75440.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_hemeretic_3793.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_hypopharynx_excluding_melanoma_8720_8790_copy_30010.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ill_defined_18664.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_intracranial_gland_98794.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_intrahepatic_bile_ducts_51957.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kaposi_sarcoma_17563.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_parenchyma_30980.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_pelvis_29650.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lacrimal_gland_82062.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_glottic_excluding_melanoma_8720_8790_2238.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_other_excluding_melanoma_8720_8790_40558.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_subglottic_excluding_melanoma_8720_8790_93242.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_supraglottic_excluding_melanoma_8720_8790_91429.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lip_92534.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_liver_84469.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lung_41334.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_27031.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_ocular_adnexa_3583.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_major_salivary_glands_43893.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_medulloblastoma_22906.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_choroid_ciliary_body_iris_21929.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_conjunctiva_86342.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_head_and_neck_8720_8790_46168.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_skin_64985.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_merkel_cell_carcinoma_89481.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_middle_ear_16857.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_mouth_other_31159.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_mycosis_fungoides_94448.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_nasal_cavity_and_ethmoid_sinus_excluding_melanoma_8720_8790_21699.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_nasopharynx_excluding_melanoma_8720_8790_copy_99106.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_orbit_27202.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_oropharynx_excluding_melanoma_8720_8790_9999.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ovary_fallopian_tube_and_peritoneal_carcinoma_21678.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_palate_hard_86267.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pancreas_95507.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_parathyroid_99309.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_penis_97065.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pharynx_nos_excluding_melanoma_8720_8790_3303.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_placenta_66365.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pleura_60930.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_primary_cutaneous_lymphomas_4605.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_prostate_76172.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_respiratory_other_36695.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_retinoblastoma_45411.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_sinus_other_excluding_melanoma_8720_8790_91859.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_skin_of_eyelid_82925.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_skin_other_56341.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_small_intestine_including_net_85335.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_31311.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_heart_mediastinum_pleura_63956.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_retroperitoneum_5644.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_stomach_including_net_stomach_35647.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_testis_82848.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_thymus_60066.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_thyroid_33058.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_tongue_anterior_66978.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_trachea_70961.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_urethra_14363.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_urinary_other_87865.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_vagina_94653.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_validation.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ss2018_vulva_49198.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_benign_3306.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_lymphoma_25139.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_raa.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_rac.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_rpa.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/systemic_surg_seq.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/systemic_symptoms_at_dx_60639.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/thrombocytopenia_8479.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/thyroid_gland_thyroglossal_duct_21498.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_deposits_40070.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_growth_pattern_31889.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_48894.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_60979.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_breast_34385.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_dna_64119.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_19656.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_74867.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_25597.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_43328.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_breast_85445.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_dna_6742.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_62176.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_93442.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_47973.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_63115.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_breast_14624.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_dna_13275.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_15510.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_31213.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/type_of_reporting_source_76696.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/ulceration_5718.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/urethra_prostatic_urethra_30106.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/visceral_pleural_invasion_25940.json delete mode 100644 src/test/resources/algorithms/eod_public/3.3/tables/year_dx_validation.json create mode 100644 src/test/resources/algorithms/pediatric-1.3.zip delete mode 100644 src/test/resources/algorithms/pediatric/1.3/glossary/terms.txt delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/acute_lymphoblastic_leukemia.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/adult_other_non_pediatric.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/astrocytoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/ependymoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/hepatoblastoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/hodgkin_lymphoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/ids.txt delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_chondrosarcomas.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_ewing.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_osteosarcoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_other_specified.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_unspecified.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_atypical_teratoid_rhabdoid.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_medulloepithelioma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pineoblastoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pnet.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/neuroblastoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/nhl_burkitt_lymphoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/nhl_mature_b_cell_lymphomas.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/nhl_nos.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/nhl_t_cell_and_nk_cell_lymphomas.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_fibrosarcomas.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_other_specified.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_unspecified.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/ovarian.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_ewing_sarcoma_of_kidney.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_kidney_sarcomas.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_nephroblastoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_rhabdoid_renal_tumor.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_unspecified_malignant_renal_tumors.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/retinoblastoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/rhabdomyosarcoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/schemas/testicular.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/age_at_diagnosis_validation_3881.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/b_symptoms_95631.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/behavior.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/braf_mutational_analysis_15216.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/chromosome_16q_status_46566.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/chromosome_1p_status_97190.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/chromosome_1q_status_14467.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/combined_s_category_15139.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_mets.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_primary_tumor.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_regional_nodes.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/derived_summary_grade_47984.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/ewsr1_fli1_fusion_57187.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/foxo1_gene_rearrangements_72870.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/histology.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/ids.txt delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/inpc_21708.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/intl_neuroblastoma_risk_grp_stag_sys_18504.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/irss_stage_for_eye_2_95484.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/n_myc_amplification_57417.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/nodes_pos_fpa.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_grade_46495.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_36063.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_79386.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_97287.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_12638.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_19048.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_20116.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_26722.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_40773.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_43643.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_53483.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_61257.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_63579.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_64617.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_72113.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_75175.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_93634.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_na_36656.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_19406.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_21296.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_84898.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1156.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_14026.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1604.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_20791.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_21887.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_25859.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_36616.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_39067.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_47758.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_48137.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_57637.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_73431.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_7436.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_84083.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_92453.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_na_1293.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_20397.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_24935.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_26974.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_30482.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_32357.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_42195.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_591.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_59828.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_67911.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_na_68667.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11224.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11413.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_16688.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_19429.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_51275.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_54754.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_56655.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_57755.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_69576.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_70937.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_78332.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_79275.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_80420.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_85957.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_94654.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_59799.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_65327.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_75382.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/pretext_clinical_staging_39169.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/primary_site.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/rx_summ_surg_2023_retinoblastoma_97268.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/rx_summ_surgical_margins_47287.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/s_category_clinical_11368.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/s_category_pathological_46197.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_acute_lymphoblastic_leukemia.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_adult_other_non_pediatric.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_astrocytoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_ependymoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_hepatoblastoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_hodgkin_lymphoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_chondrosarcomas.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_ewing.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_osteosarcoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_other_specified.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_unspecified.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_atypical_teratoid_rhabdoid.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_medulloepithelioma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pineoblastoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pnet.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_neuroblastoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_burkitt_lymphoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_mature_b_cell_lymphomas.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_nos.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_t_cell_and_nk_cell_lymphomas.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_fibrosarcomas.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_other_specified.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_unspecified.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_ovarian.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_ewing_sarcoma_of_kidney.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_kidney_sarcomas.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_nephroblastoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_rhabdoid_renal_tumor.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_unspecified_malignant_renal_tumors.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_retinoblastoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_rhabdomyosarcoma.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_testicular.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/toronto_stage_92889.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/toronto_stage_group_41463.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/tumor_size_summary_47973.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/white_blood_cell_count_1932.json delete mode 100644 src/test/resources/algorithms/pediatric/1.3/tables/year_dx_validation.json delete mode 100644 src/test/resources/algorithms/testing/99.99/glossary/546cf5aee4b0d965832a94bf.json delete mode 100644 src/test/resources/algorithms/testing/99.99/glossary/546f598de4b0d965832bb0c4.json delete mode 100644 src/test/resources/algorithms/testing/99.99/glossary/5505c8e7e4b0c48f31d70838.json delete mode 100644 src/test/resources/algorithms/testing/99.99/glossary/55097bbee4b0c48f31d8967a.json delete mode 100644 src/test/resources/algorithms/testing/99.99/glossary/550adaede4b0c48f31d94520.json delete mode 100644 src/test/resources/algorithms/testing/99.99/glossary/554540cfe4b0426fced42655.json delete mode 100644 src/test/resources/algorithms/testing/99.99/glossary/55a800abe4b05cd0cddb978e.json delete mode 100644 src/test/resources/algorithms/testing/99.99/glossary/55a80262e4b05cd0cddb99b8.json delete mode 100644 src/test/resources/algorithms/testing/99.99/glossary/55a9a501e4b05cd0cddc710a.json delete mode 100644 src/test/resources/algorithms/testing/99.99/glossary/55b12ee91ef5572aac76e67a.json delete mode 100644 src/test/resources/algorithms/testing/99.99/glossary/55ba2b9b1ef5572aac7b2910.json delete mode 100644 src/test/resources/algorithms/testing/99.99/glossary/55dcb1521ef5576bf30cca55.json delete mode 100644 src/test/resources/algorithms/testing/99.99/glossary/55dcb26c1ef5576bf30ccc10.json delete mode 100644 src/test/resources/algorithms/testing/99.99/glossary/terms.txt delete mode 100644 src/test/resources/algorithms/testing/99.99/schemas/ids.txt delete mode 100644 src/test/resources/algorithms/testing/99.99/schemas/urethra.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc6_exclusions_ppd.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc6_m_codes.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc6_n_codes.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_codes.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_qaw.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc6_t_codes.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc6_year_validation.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc7_inclusions_tpb.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc7_m_codes.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc7_n_codes.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_codes.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_uaz.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc7_t_codes.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc7_year_validation.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc_descriptor_codes.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc_mdescriptor_cleanup.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc_ndescriptor_cleanup.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ajcc_tdescriptor_cleanup.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/behavior.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/cs_input_version_original.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/cs_year_validation.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/extension_bdi.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/extension_eval_cpa.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/grade.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/histology.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ids.txt delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/lvi.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/mets_eval_ipa.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/mets_hpe.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/nodes_dbu.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/nodes_eval_epa.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/nodes_exam_gpa.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/nodes_pos_fpa.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/primary_site.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/schema_selection_urethra.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/size_apa.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ss_codes.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf10_sne.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf11_snf.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf12_sng.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf13_snh.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf14_sni.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf15_snj.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf16_snk.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf17_snl.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf18_snm.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf19_snn.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf1_jpd.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf20_sno.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf21_snp.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf22_snq.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf23_snr.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf24_sns.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf25_snt.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf2_kna.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf3_lna.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf4_mna.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf5_nna.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf6_ona.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf7_snb.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf8_snc.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/ssf9_snd.json delete mode 100644 src/test/resources/algorithms/testing/99.99/tables/summary_stage_rpa.json create mode 100644 src/test/resources/algorithms/tnm-2.0.zip delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/546cf5aee4b0d965832a94bf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/546f598de4b0d965832bb0c4.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/5505c8e7e4b0c48f31d70838.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55097bbee4b0c48f31d8967a.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/550adaede4b0c48f31d94520.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55a800abe4b05cd0cddb978e.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55a80262e4b05cd0cddb99b8.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55a99b73e4b05cd0cddc6dc1.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55a99c08e4b05cd0cddc6df1.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55a99cbce4b05cd0cddc6e1f.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55a99e80e4b05cd0cddc6ed7.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55a9a0bfe4b05cd0cddc6fed.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55a9a501e4b05cd0cddc710a.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55a9a750e4b05cd0cddc71b4.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55a9a9a6e4b05cd0cddc72cd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55b12ee91ef5572aac76e67a.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55ba2b9b1ef5572aac7b2910.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55dcae631ef5571a5d966163.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55dcb1521ef5576bf30cca55.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55dcb26c1ef5576bf30ccc10.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55ddcdcd1ef5576bf30d4e4b.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55df18511ef5576bf30e0012.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/55df3e691ef5576bf30e2e32.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/glossary/terms.txt delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/adnexa_uterine_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/adrenal_gland.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/ampulla_vater.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/anus.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/appendix.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/bile_ducts_distal.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/bile_ducts_intrahepat.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/bile_ducts_perihilar.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/biliary_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/bladder.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/bone.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/brain.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/breast.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/buccal_mucosa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/carcinoid_appendix.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/cervix.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/cns_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/colon.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/conjunctiva.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/corpus_adenosarcoma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/corpus_carcinoma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/corpus_sarcoma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/cystic_duct.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/digestive_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/endocrine_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/epiglottis_anterior.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/esophagus.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/esophagus_gejunction.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/eye_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/fallopian_tube.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/floor_mouth.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/gallbladder.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/genital_female_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/genital_male_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/gist_appendix.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/gist_colon.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/gist_esophagus.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/gist_peritoneum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/gist_rectum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/gist_small_intestine.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/gist_stomach.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/gum_lower.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/gum_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/gum_upper.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/heart_mediastinum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/heme_retic.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/hypopharynx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/ids.txt delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/ill_defined_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/intracranial_gland.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/kaposi_sarcoma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/kidney_parenchyma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/kidney_renal_pelvis.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/lacrimal_gland.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/lacrimal_sac.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/larynx_glottic.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/larynx_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/larynx_subglottic.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/larynx_supraglottic.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/lip_lower.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/lip_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/lip_upper.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/liver.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/lung.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/lymphoma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/lymphoma_ocular_adnexa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_buccal_mucosa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_choroid.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_ciliary_body.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_conjunctiva.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_epiglottis_anterior.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_eye_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_floor_mouth.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_gum_lower.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_gum_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_gum_upper.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_hypopharynx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_iris.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_glottic.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_subglottic.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_larynx_supraglottic.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_lip_lower.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_lip_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_lip_upper.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_mouth_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_nasal_cavity.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_nasopharynx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_oropharynx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_palate_hard.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_palate_soft.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_pharynx_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_ethmoid.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_maxillary.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_sinus_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_skin.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_tongue_anterior.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/melanoma_tongue_base.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/merkel_cell_penis.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/merkel_cell_scrotum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/merkel_cell_skin.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/merkel_cell_vulva.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/middle_ear.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/mouth_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/mycosis_fungoides.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/myeloma_plasma_cell_disorder.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/nasal_cavity.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/nasopharynx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/net_ampulla.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/net_colon.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/net_rectum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/net_small_intestine.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/net_stomach.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/orbit.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/oropharynx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/ovary.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/palate_hard.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/palate_soft.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/pancreas_body_tail.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/pancreas_head.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/pancreas_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/parotid_gland.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/penis.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/peritoneum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/peritoneum_female_gen.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/pharyngeal_tonsil.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/pharynx_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/placenta.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/pleura.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/prostate.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/rectum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/respiratory_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/retinoblastoma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/retroperitoneum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/salivary_gland_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/scrotum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/sinus_ethmoid.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/sinus_maxillary.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/sinus_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/skin.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/skin_eyelid.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/small_intestine.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/soft_tissue.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/stomach.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/submandibular_gland.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/testis.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/thyroid.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/tongue_anterior.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/tongue_base.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/trachea.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/urethra.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/urinary_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/vagina.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/schemas/vulva.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/adjust_path_defaults_for_no_clin_no_path_stage_group_not_defined_61358.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/adjust_path_defaults_for_no_path_placenta_37763.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/adjustments_for_no_clin_or_no_path_26261.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/adrenal_gland_n_44698.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/adrenal_gland_t_18187.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/adrenal_m_7434.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/age_at_diagnosis_validation_65093.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ampulla_of_vater_t_63892.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/anus_t_35615.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/appendix_grade_category_calculation.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/behavior.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/bone_histologies_stage.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/breast_pathologic_t_84149.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/breast_t_70656.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/buccal_mucosa_t_35895.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/carcinoidappendix_t_41163.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/cervix_uteri_t_38859.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_9010.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_anus_46174.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_conjunctiva_59480.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hab.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hac.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_had.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hae.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_haf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hag.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hah.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hai.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_haj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hak.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hal.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_ham.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_han.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hao.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hap.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_haq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_har.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hat.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hau.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hav.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_haz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hba.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbo.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hbz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hce.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hch.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hci.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hck.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcp.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcr.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcs.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcv.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hcy.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_head_neck_melanoma_25497.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hpb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hpc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hpd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hpe.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hpg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_hph.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_major_salivary_glands_94644.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_net_ampulla_35993.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_m_soft_tissues_97765.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_ampulla_vater_45064.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_bladder_88949.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_bone_13753.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_conjunctiva_61091.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dab.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dai.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_daj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dak.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dam.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dan.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dat.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dau.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dav.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_daw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dax.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_day.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_daz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dba.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbr.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dbt.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dce.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dcn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_ddj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_ddm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_ddn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_ddp.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dew.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfe.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dff.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfo.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfr.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfs.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfv.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_dfx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_esophagus_ge_junction_51247.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_gist_appendix_93665.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_gist_esophagus_87582.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_gist_peritoneum_47701.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_gist_rectum_58109.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_gist_small_intestine_23294.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_heart_mediastinum_77775.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_kidney_parenchyma_9806.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_mycosis_fungoides_95773.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_net_ampulla_36773.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_ophthalmic_n_94312.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_ophthalmic_n_notis_75953.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_pleural_23905.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_skin_eyelid_10770.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_soft_tissues_78998.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_testis_17993.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_n_urethra_47275.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_renal_pevis_and_ureter_11547.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_appendix_24847.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_ban.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_bbo.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_bcp.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_bcs.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_bcu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_bdh.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_bladder_38564.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_bone_70163.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_cervix_78153.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_conjunctiva_42760.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_copy_81159.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_esophagus_57970.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_fallopian_tube_77615.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_floor_of_mouth_37028.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_gallbladder_13172.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_appendix_41981.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_colon_copy_80286.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_esophagus_47140.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_peritoneum_12183.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_rectum_83293.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_small_intestine_3299.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_stomach_46079.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_glottic_larynx_36272.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_lower_57588.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_other_73657.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_upper_23313.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_heart_mediastinum_11552.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_hypopharynx_3365.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_kidney_parenchyma_9887.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_lacrimal_gland_71633.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_nos_75299.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_subglottic_11069.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_supraglottic_69988.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_lower_64771.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_other_75184.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_upper_3775.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_liver_16950.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_lung_28486.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_buccal_mucosa_55204.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_choroid_t_80325.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_ciliary_body_68734.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_epiglottis_anterior_87665.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_floor_of_mouth_29889.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_lower_93520.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_other_64011.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_upper_45093.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_hypopharynx_41386.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_iris_54551.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_glottic_10232.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_other_92067.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_subglottic_74637.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_supraglottic_25433.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lip_other_38821.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_15469.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_t_31253.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_mouth_other_18724.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasal_cavity_92441.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasopharynx_19497.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_oropharynx_83498.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_hard_80202.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_soft_21789.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_pharynx_other_3685.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_ethmoid_72398.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_maxillary_64193.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_anterior_38455.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_base_6605.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_penis_10043.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_scrotum_24017.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_skin_t_96388.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_vulva_96899.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_mouth_other_28324.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_mycosis_fungoides_76446.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_nasal_cavity_5031.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_nasopharynx_40813.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_orbit_59896.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_oropharynx_53342.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_ovary_95574.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_palate_hard_21871.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_body_tail_71461.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_head_97928.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_other_28719.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_parotid_gland_13635.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_penis_88876.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_perihilar_bile_ducts_63594.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_67989.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_female_gen_47507.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_pharyngeal_tonsil_99141.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_placenta_62001.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_pleura_24291.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_rectum_29212.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_renal_pelvis_and_ureter_48274.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_retroperitoneum_91920.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_salivaryglandother_54081.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_scrotum_13282.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_sinus_ethmoid_61914.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_sinus_maxillary_12245.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_skin_92153.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_skin_eyelid_93914.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_small_intestine_22563.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_soft_tissue_43767.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_stomach_55386.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_submandibular_gland_45502.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_thyroid_93682.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_tongue_anterior_43968.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_tongue_base_63370.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_urethra_39553.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_vagina_84852.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clin_t_vulva_52779.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clinical_m_64416.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_48422.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_carcinoma_62458.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_except_nasopharynx_25237.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_melanoma_66648.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/clinical_n_major_salivary_glands_19191.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/colon_65083.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/combined_gleason_93464.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/combined_m.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/combined_n.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/combined_n_for_tis_cancers_4947.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/combined_n_lung.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/combined_n_no_tis_path_n_cn0_allowed_73884.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/combined_stage_group_for_lymphoma_19552.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/combined_t.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/combined_t_breast.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/combined_t_colon.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/combined_t_lung.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/combined_t_no_tis.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/combined_t_retinoblastoma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/combined_t_thyroid_anaplastic_32619.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/concatenate_m_40642.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/concatenate_n_43246.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/concatenate_t_51262.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/conjunctiva_t_62523.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_pathologic_t_90591.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_t_34843.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/corpus_carcinoma_t_42324.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_clinical_t_23604.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_t_13268.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/cystic_duct_t_52091.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/determine_combined_prefix_91402.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/determine_default_m.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/determine_default_n.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/determine_default_t.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/determine_default_t_anaplastic_77806.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/discriminator_bile_ducts.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/discriminator_esophogus_ge_junction.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/discriminator_lacrimal.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/discriminator_melanoma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/discriminator_nasopharynx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/distal_blie_duct_t_30646.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/esophagus_gejunction_histologies_stage.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/esophagus_histologies_stage.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/esophagus_t_28679.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/esophagusgejunction_t_39319.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/fallopian_tube_t_96584.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/floor_of_mouth_t_38606.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gallbladder_t_77234.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_mitotic_rate_calculation.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_n_87661.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_t_67124.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gist_colon_n_46351.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gist_esophagus_mitotic_rate_calculation.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gist_esophagus_t_61710.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_mitotic_rate_calculation.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_n_18654.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_t_10242.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gist_rectum_n_35223.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gist_rectum_t_7125.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gist_small_intestine_n_18642.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gist_small_intestine_t_83343.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gist_stomach_n_73991.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gist_stomach_t_60871.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gistcolon_t_85374.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gistesophagus_n_17925.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/giststomach_t_55582.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/glottic_larynx_t_8691.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/grade.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gum_lower_t_24295.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gum_other_t_49578.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/gum_upper_t_95905.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/heart_mediastinum_n_50568.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/heart_mediastinum_t_30394.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/histologies_grade_path_stage_tnm_7_37149.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/histologies_grade_stage_tnm_7_20594.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_47414.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_56616.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_99978.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/histology.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/hypopharynx_t_21848.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ids.txt delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/intrahepatic_bile_ducts_t_31771.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/kidney_n_42919.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/kidney_parenchyma_t_48027.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/lacrimal_gland_t_1116.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/larynx_nos_t_90793.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/larynx_subglottic_t_32495.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/larynx_supraglottic_t_57946.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/lip_lower_t_82564.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/lip_other_t_56087.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/lip_upper_t_48652.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/liver_t_55652.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/lung_occult_stage_11131.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/lung_t_86537.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/lymphoma_path_stage_group_detailed_88547.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/lymphoma_stage_group_detailed_35045.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_m_no_uicc_definition_96511.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_n_no_uicc_definition_66872.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_m_no_uicc_definition_copy_6387.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_n_no_uicc_definition_17284.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_t_no_uicc_definition_copy_11297.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_t_no_uicc_definition_89433.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_buccal_mucosa_t_76459.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_choroid_t_79116.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_ciliary_body_t_34399.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_n_15261.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_pathologic_n_83143.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_epiglottis_anterior_t_92827.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_floor_of_mouth_t_86503.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_gum_lower_t_30606.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_gum_other_t_27553.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_hypopharynx_t_81125.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_iris_t_65686.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_glottic_t_65946.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_other_t_71686.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_subglottic_81170.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_supraglottic_63201.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_lip_other_t_71709.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_30772.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_39461.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_mouth_other_t_26001.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_nasal_cavity_t_57160.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_nasopharynx_t_72770.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_oropharynx_t_73396.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_palate_hard_t_49262.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_palate_soft_t_15766.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_pharynx_other_t_82152.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_sinus_maxillary_t_28715.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_tongue_anterior_t_170.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/melanoma_tongue_base_60314.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_penis_t_93032.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_scrotum_t_30089.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_skin_t_48418.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_vulva_t_49226.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/mouth_other_t_88942.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/nasal_cavity_t_71995.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/nasopharynx_t_29067.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/net_ampulla_pathologic_t_58166.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/net_ampulla_t_37461.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/net_colon_t_5107.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/net_rectum_t_3082.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/net_smallintestine_t_60400.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/no_tnm_group_99227.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/no_tnm_group_p_41281.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fab.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fah.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fpa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ophthalmic_n_36875.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/orbit_t_97280.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/oropharynx_t_62492.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ovary_t_58652.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/palate_hard_t_41050.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/palate_soft_t_48973.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/pancreas_bodytail_t_46669.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/pancreas_head_t_4793.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/pancreas_other_70468.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/parotid_gland_t_68628.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/parse_m_47057.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/parse_n_67182.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/parse_n_merkel_clin_55445.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/parse_n_merkel_path_copy_67865.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/parse_t_2177.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_74330.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_anus_33946.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_conjunctiva_73224.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hab.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hac.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_had.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hae.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_haf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hag.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hah.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hai.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_haj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hak.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hal.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_ham.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_han.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hao.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hap.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_haq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_har.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hat.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hau.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hav.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_haz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hba.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hbb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hbc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hbf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hbg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hbn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hbo.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hbu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hbv.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hbx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hbz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hce.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hch.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hci.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hck.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcp.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcr.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcs.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcv.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hcy.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_head_neck_melanoma_32288.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hpb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hpc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hpd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hpe.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hpg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_hph.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_major_salivary_glands_13003.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_net_ampulla_22136.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_m_soft_tissues_96225.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_adrenal_gland_53740.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_bladder_46197.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_bone_31243.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_conjunctiva_84900.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dab.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dai.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_daj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dak.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dam.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dan.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dat.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dau.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dav.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_daw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dax.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_day.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_daz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dba.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dbb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dbc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dbj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dbl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dbm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dbn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dbo.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dbr.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dbt.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dcn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_ddj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_ddm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_ddn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_ddp.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dew.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dfa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dfc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dfe.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dff.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dfg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dfl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dfn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dfo.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dfr.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dfs.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dfv.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dfw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_dfx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_gist_colon_71024.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_head_neck_except_nasopharynx_40357.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_major_salivary_glands_7162.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_net_ampulla_11118.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_ophthalmic_no_tis_80282.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_86254.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_88959.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_adrenal_gland_28077.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_ampulla_vater_23469.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_anus_61291.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_appendix_94760.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_ban.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_baq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_bbo.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_bcs.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_bcu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_bfi.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_bladder_68862.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_bone_59009.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_buccal_mucosa_7034.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_carcinoid_appendix_77608.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_colon_98925.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_corpus_carcinoma_7259.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_cystic_duct_38967.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_distal_bile_duct_50879.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_epiglottis_anterior_t_4558.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_gum_upper_50893.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_intrahepatic_bile_ducts_23893.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_net_rectum_13791.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_net_small_intestine_71548.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_net_stomach_63587.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/path_t_perihilar_bile_ducts_88350.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/pathologic_n_head_neck_melanoma_copy_75380.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_31147.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_carcinoma_11126.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/penis_t_51275.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/peritoneum_t_18850.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/peritoneumfemalegen_t_87084.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/pharyngeal_tonsil_t_36969.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/placenta_t_12749.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/pleura_t_20728.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/pleural_n_14342.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/primary_site.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/prostate_n_76551.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/prostate_pathologic_n_4662.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/radiation_surg_seq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/rectum_t_5935.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/renal_pelvis_and_ureter_t_91246.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/renal_pevis_and_ureter_n_58133.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/retinoblastoma_clinical_n_19393.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/retinoblastoma_pathologic_n_93880.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/retroperitoneum_n_12750.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/retroperitoneum_t_87029.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/salivaryglandother_t_67266.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_adnexa_uterine_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_adrenal_gland.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ampulla_vater.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_anus.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_appendix.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_distal.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_intrahepat.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_perihilar.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_biliary_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bladder.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bone.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_brain.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_breast.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_buccal_mucosa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_carcinoid_appendix.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cervix.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cns_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_colon.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_conjunctiva.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_adenosarcoma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_carcinoma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_sarcoma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cystic_duct.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_digestive_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_endocrine_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_epiglottis_anterior.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus_gejunction.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_eye_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_fallopian_tube.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_floor_mouth.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gallbladder.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_genital_female_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_genital_male_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_appendix.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_colon.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_esophagus.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_peritoneum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_rectum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_small_intestine.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_stomach.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_lower.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_upper.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_heart_mediastinum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_heme_retic.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_hypopharynx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ill_defined_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_intracranial_gland.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kaposi_sarcoma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_parenchyma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_renal_pelvis.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_gland.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_sac.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_glottic.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_subglottic.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_supraglottic.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_lower.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_upper.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_liver.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lung.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma_ocular_adnexa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_buccal_mucosa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_choroid.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_ciliary_body.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_conjunctiva.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_epiglottis_anterior.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_eye_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_floor_mouth.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_lower.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_upper.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_hypopharynx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_iris.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_glottic.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_subglottic.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_supraglottic.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_lower.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_upper.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_mouth_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasal_cavity.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasopharynx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_oropharynx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_hard.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_soft.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_pharynx_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_ethmoid.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_maxillary.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_skin.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_anterior.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_base.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_penis.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_scrotum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_skin.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_vulva.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_middle_ear.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_mouth_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_mycosis_fungoides.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_myeloma_plasma_cell_disorder.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_nasal_cavity.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_nasopharynx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_ampulla.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_colon.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_rectum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_small_intestine.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_stomach.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_orbit.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_oropharynx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ovary.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_palate_hard.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_palate_soft.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_body_tail.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_head.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_parotid_gland.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_penis.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum_female_gen.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pharyngeal_tonsil.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pharynx_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_placenta.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pleura.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_prostate.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_rectum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_respiratory_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_retinoblastoma.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_retroperitoneum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_salivary_gland_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_scrotum.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_ethmoid.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_maxillary.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_skin.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_skin_eyelid.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_small_intestine.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_soft_tissue.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_stomach.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_submandibular_gland.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_testis.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_thyroid.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_anterior.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_base.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_trachea.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_urethra.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_urinary_other.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_vagina.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/schema_selection_vulva.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/scrotum_t_52966.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/select_stage_group_19580.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/sex_19563.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_5235.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_70472.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/sinus_maxillary_t_7871.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/skin_eyelid_n_65771.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/skin_eyelid_t_57348.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/skin_t_38821.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/small_intestine_t_70831.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/soft_tissue_n_4758.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/soft_tissue_t_79319.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_path_stage_group_selection_48445.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_sad.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_sat.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_saz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_scm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_sek.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_seq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_sex.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_sfi.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_spd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_spi.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_spz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_sqj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_sqs.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_srh.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf10_stage_group_selection_87171.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf11_sae.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf11_sba.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf11_sbt.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf11_scj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf11_ser.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf11_spe.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf11_spk.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf11_sps.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqe.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqt.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf11_srd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf11_sri.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf12_saf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf12_sbb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf12_sbu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf12_sck.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf12_ses.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf12_sev.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf12_sew.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf12_sez.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf12_sfd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf12_spl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf12_sqb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf12_sqf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf12_srj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf13_sag.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf13_sbc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf13_sca.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf13_scl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf13_sdg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf13_sdr.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf13_sfa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf13_sfe.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf13_spm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf13_sqg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf13_sqq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf14_sbd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf14_sbf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf14_scn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf14_sdh.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf14_sds.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf14_sfb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf14_sff.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf14_spn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf14_sqh.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf14_sqr.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf15_sbe.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf15_sbg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf15_sco.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf15_sdm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf15_sdt.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf15_sfc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf15_sfg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf15_spo.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf16_sah.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf16_scp.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf16_sdn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf16_sfh.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf16_spt.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf16_squ.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf16_sqv.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf16_sqw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf17_sai.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf17_seu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf17_spu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf17_sqx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf18_saj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf18_sqy.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf19_sak.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf19_sqz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jae.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jag.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jaj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jam.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jap.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jaq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jav.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbh.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbk.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbp.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbt.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbv.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jby.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jca.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jce.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jcg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpe.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpo.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpp.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpr.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpt.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf1_sbh.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf20_sal.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf20_sra.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf21_sam.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf21_srb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf22_san.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf22_src.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf23_sao.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf24_sap.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kab.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kac.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kak.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kal.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kao.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kar.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kas.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kax.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kay.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbi.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbv.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpk.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpo.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpr.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf2_sbi.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lac.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_laf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lah.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lai.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lao.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_laq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lat.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_law.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lay.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_laz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lbb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lbc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpe.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lph.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpk.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpp.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpr.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lps.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpt.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_maa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mab.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mac.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_maj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mal.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mam.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mas.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mat.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mav.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_maz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbh.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbi.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpe.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpr.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf4_mps.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_naa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_nab.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_nac.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_nah.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_nai.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_nak.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_nap.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_naq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_nar.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_nas.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_nav.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_naw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_nba.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_nbb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_npa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_npb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_npe.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_npf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_npg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_nph.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_npk.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_npl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf5_npm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_oae.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_oag.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_oak.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_oam.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_oao.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_oap.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_oas.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_oat.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_oax.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_oay.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_opa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_opb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_opd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_opf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_opg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_oph.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf6_opi.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_saa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_saq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_saw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_sbv.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_sbx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_scb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_scq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_sde.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdo.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_seb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_seh.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_sfl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_spa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_spf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_spw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_sqk.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_sqn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf7_sre.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_sab.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_sar.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_sax.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_sby.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_scc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdp.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdy.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_sec.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_sei.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_sfk.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_spb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_spg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_spx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_sql.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_sqo.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf8_srf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf9_sac.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf9_sas.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf9_say.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdi.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf9_sed.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf9_sej.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf9_spc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf9_sph.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf9_sqm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/ssf9_srg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_94596.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_1171.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_13226.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_14599.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_15811.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_19537.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_20505.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_22295.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_2328.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_26613.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_29799.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_30166.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32452.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32628.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32742.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_34250.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_34977.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_37137.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_40902.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_4134.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_41802.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_42709.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_42843.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_46351.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_46455.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_47235.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_47728.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_478.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_49193.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_49395.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_51542.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_52010.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_55797.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_56577.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_57716.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59028.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59520.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59832.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_61951.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_62342.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_63552.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_64282.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_65478.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_65801.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_66879.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_73800.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_75034.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_76410.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_76779.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_79525.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_82556.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_83264.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_85588.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_86666.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_89731.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_90191.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_92535.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_93818.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_95471.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_96502.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_c_60180.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_c_86297.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_p_45342.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_p_48657.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_11962.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_12670.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_15208.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_18837.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_21201.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_24418.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_25104.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_27096.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_31599.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_3409.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_35702.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_39380.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_40037.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42277.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42915.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42930.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_44218.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_44348.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4518.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_45269.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_45729.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4750.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4759.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_48023.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_48545.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_5079.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_53847.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_54450.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_54695.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_56445.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_60572.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_61212.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_63631.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_65545.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_66747.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_66915.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_67704.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_71358.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_72316.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_74045.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_75705.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_78345.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_78368.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79654.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79934.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79956.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_81228.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_82326.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_82525.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_83975.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_84556.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_8501.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_8706.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_89660.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_90233.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_92581.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_93370.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_94665.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_95243.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_96481.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stomach_t_57787.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_24035.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_placenta_53933.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/submandibular_gland_t_42810.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/systemic_surg_seq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/testis_n_51427.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/testis_path_t_76829.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/testis_postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_anaplastic.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_medullary.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_lessthan_45.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/thyroid_anaplastic_74409.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/thyroid_t_6166.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tab.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tae.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpe.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tph.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpi.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpk.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpo.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpp.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpr.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tps.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpt.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpv.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpy.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqh.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqi.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqk.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tql.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_gist_small_intestine_upy.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_group_gist_stomach_36358.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uab.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uac.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uad.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uae.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uak.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ual.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uam.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uao.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uar.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uau.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uav.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uax.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uay.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uba.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubh.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubi.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubk.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubp.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubs.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubt.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubv.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uby.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ups.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upt.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upv.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqe.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_for_sites_with_no_stage_groupings_unb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_gist_small_intestine_upy.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uab.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uac.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uad.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uae.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uak.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ual.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uam.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uao.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uar.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uau.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uav.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uax.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uay.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uba.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubf.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubg.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubh.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubi.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubj.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubk.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubl.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubn.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubp.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubq.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubs.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubt.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubv.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uby.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upm.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ups.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upt.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upu.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upv.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upw.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upx.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upz.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqa.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqb.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqc.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqd.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqe.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_12118.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_48585.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_55778.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_69346.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_30413.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_41458.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_ewing_61213.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_not_ewing_41435.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_15592.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_29624.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_anaplastic_79873.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_medullary_77691.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_45_and_older_71342.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_less_than_45_95553.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_44054.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_86531.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_ewing_17708.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_group_gist_stomach_36358.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_not_ewing_14573.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_34274.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_64205.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tongue_anterior_t_49048.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/tonguebase_t_15526.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/urethra_n_54953.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/urethra_t_77785.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/vagina_t_91502.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/vulva_t_1223.json delete mode 100644 src/test/resources/algorithms/tnm/2.0/tables/year_dx_validation.json diff --git a/.github/workflows/upload-algorithms.yml b/.github/workflows/upload-algorithms.yml index 1aa8b0e32..337db7414 100644 --- a/.github/workflows/upload-algorithms.yml +++ b/.github/workflows/upload-algorithms.yml @@ -43,7 +43,7 @@ jobs: if: ${{startsWith(github.ref, 'refs/tags/v') }} with: files: | - algorithm-cs/build/algorithms/*.zip - algorithm-eod/build/algorithms/*.zip - algorithm-tnm/build/algorithms/*.zip - algorithm-pediatric/build/algorithms/*.zip + target/test-classes/algorithms/cs-*.zip + target/test-classes/algorithms/eod_public-*.zip + target/test-classes/algorithms/pediatric-*.zip + target/test-classes/algorithms/tnm-*.zip diff --git a/src/main/java/com/imsweb/staging/StagingFileDataProvider.java b/src/main/java/com/imsweb/staging/StagingFileDataProvider.java deleted file mode 100644 index 639293b58..000000000 --- a/src/main/java/com/imsweb/staging/StagingFileDataProvider.java +++ /dev/null @@ -1,235 +0,0 @@ -/* - * Copyright (C) 2014 Information Management Services, Inc. - */ -package com.imsweb.staging; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.nio.charset.StandardCharsets; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; - -import org.ahocorasick.trie.Trie; -import org.ahocorasick.trie.Trie.TrieBuilder; - -import com.imsweb.staging.entities.Endpoint; -import com.imsweb.staging.entities.GlossaryDefinition; -import com.imsweb.staging.entities.Range; -import com.imsweb.staging.entities.Schema; -import com.imsweb.staging.entities.Table; -import com.imsweb.staging.entities.TableRow; -import com.imsweb.staging.entities.impl.StagingEndpoint; -import com.imsweb.staging.entities.impl.StagingRange; -import com.imsweb.staging.entities.impl.StagingSchema; -import com.imsweb.staging.entities.impl.StagingTable; -import com.imsweb.staging.entities.impl.StagingTableRow; - -import static com.imsweb.staging.entities.Endpoint.EndpointType; - -/** - * Implementation of DataProvider which loads from internal directories and holds all data in memory - */ -public class StagingFileDataProvider extends StagingDataProvider { - - private final String _algorithm; - private final String _version; - - private final Map _tables = new HashMap<>(); - private final Map _schemas = new HashMap<>(); - - private final Map _glossaryTerms = new HashMap<>(); - - private static final String _ALGORITHM_BASE_DIR = "algorithms/"; - private static final String _JSON_EXT = ".json"; - - /** - * Constructor loads all schemas and sets up table cache - * @param algorithm algorithm - * @param version version - */ - protected StagingFileDataProvider(String algorithm, String version) { - super(); - - _algorithm = algorithm; - _version = version; - - // loop over all tables and load them into Map - try { - String directory = _ALGORITHM_BASE_DIR + algorithm.toLowerCase() + "/" + version + "/tables"; - for (String file : readLines(directory + "/ids.txt")) { - if (!file.isEmpty()) { - StagingTable table = getMapper().reader().readValue(getMapper().getFactory().createParser(getStagingInputStream(directory + "/" + file + _JSON_EXT)), StagingTable.class); - - initTable(table); - - _tables.put(table.getId(), table); - } - } - } - catch (IOException e) { - throw new IllegalStateException("IOException reading schemas: " + e.getMessage()); - } - - // loop over all schemas and load them into Map - try { - String directory = _ALGORITHM_BASE_DIR + algorithm.toLowerCase() + "/" + version + "/schemas"; - for (String file : readLines(directory + "/ids.txt")) { - if (!file.isEmpty()) { - StagingSchema schema = getMapper().reader().readValue(getMapper().getFactory().createParser(getStagingInputStream(directory + "/" + file + _JSON_EXT)), StagingSchema.class); - - initSchema(schema); - - _schemas.put(schema.getId(), schema); - } - } - } - catch (IOException e) { - throw new IllegalStateException("IOException reading schemas: " + e.getMessage()); - } - - // load the glossary terms - try { - String keywords = _ALGORITHM_BASE_DIR + algorithm.toLowerCase() + "/" + version + "/glossary/terms.txt"; - - // if the file is not found, that just means that there are no glossary terms - InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(keywords); - if (is != null) { - TrieBuilder builder = Trie.builder().onlyWholeWords().ignoreCase(); - - try (BufferedReader buffer = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8))) { - for (String line : buffer.lines().toList()) { - if (!line.isEmpty()) { - String[] parts = line.split("~"); - if (parts.length != 2) - throw new IllegalStateException("Error parsing glossary terms. Should only be two parts of each line in terms.txt"); - - _glossaryTerms.put(parts[0], parts[1]); - builder.addKeyword(parts[0]); - } - } - } - - _trie = builder.build(); - } - } - catch (IOException e) { - throw new IllegalStateException("IOException reading glossary terms: " + e.getMessage()); - } - - // finally, initialize any caches now that everything else has been set up - invalidateCache(); - } - - /** - * @param location relative file location within the classpath - * @return a {@link String} {@link java.util.List} of all lines in the file - * @throws IOException error reading file - */ - private static List readLines(String location) throws IOException { - try (BufferedReader buffer = new BufferedReader(new InputStreamReader(getStagingInputStream(location), StandardCharsets.UTF_8))) { - return buffer.lines().collect(Collectors.toList()); - } - } - - /** - * @param location relative file location within the classpath - * @return The {@link java.io.Reader} resource - */ - private static InputStream getStagingInputStream(String location) { - InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream(location); - - if (input == null) - throw new IllegalStateException("Internal error reading file; File could not be found: " + location); - - return input; - } - - /** - * Return the algorithm - * @return the algorithm - */ - @Override - public String getAlgorithm() { - return _algorithm.toLowerCase(); - } - - /** - * Return the data version - * @return a String representing the version - */ - @Override - public String getVersion() { - return _version; - } - - @Override - public Table getTable(String id) { - return _tables.get(id); - } - - @Override - public Endpoint getEndpoint(EndpointType type, String value) { - return new StagingEndpoint(type, value); - } - - @Override - public TableRow getTableRow() { - return new StagingTableRow(); - } - - @Override - public Range getMatchAllRange() { - return new StagingRange(); - } - - @Override - public Range getRange(String low, String high) { - return new StagingRange(low, high); - } - - @Override - public Set getSchemaIds() { - return _schemas.keySet(); - } - - @Override - public Set getTableIds() { - return _tables.keySet(); - } - - @Override - public Schema getSchema(String id) { - return _schemas.get(id); - } - - @Override - public Set getGlossaryTerms() { - return _glossaryTerms.keySet(); - } - - @SuppressWarnings("java:S1075") - @Override - public GlossaryDefinition getGlossaryDefinition(String term) { - String id = _glossaryTerms.get(term); - if (id == null) - return null; - - String filename = _ALGORITHM_BASE_DIR + getAlgorithm() + "/" + getVersion() + "/glossary/" + id + _JSON_EXT; - InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream(filename); - if (input == null) - return null; - - try { - return getMapper().reader().readValue(getMapper().getFactory().createParser(input), GlossaryDefinition.class); - } - catch (IOException e) { - throw new IllegalStateException("Error reading glossary term: " + e.getMessage()); - } - } - -} diff --git a/src/main/java/com/imsweb/staging/cs/CsDataProvider.java b/src/main/java/com/imsweb/staging/cs/CsDataProvider.java deleted file mode 100644 index a4a51cce9..000000000 --- a/src/main/java/com/imsweb/staging/cs/CsDataProvider.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2014 Information Management Services, Inc. - */ -package com.imsweb.staging.cs; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import com.imsweb.staging.StagingFileDataProvider; - -public final class CsDataProvider extends StagingFileDataProvider { - - private static final Map _PROVIDERS = new ConcurrentHashMap<>(); - - public enum CsVersion { - LATEST("02.05.50"), - V020550("02.05.50"); - - private final String _version; - - CsVersion(String version) { - _version = version; - } - - public String getVersion() { - return _version; - } - } - - /** - * Construct a CS data provider with the passed version - * @param version version to initialize - */ - private CsDataProvider(CsVersion version) { - super("cs", version.getVersion()); - } - - /** - * Return the CS provider for the latest version - * @return the data provider - */ - public static synchronized CsDataProvider getInstance() { - return getInstance(CsVersion.LATEST); - } - - /** - * Return the CS provider for a specified version - * @param version CS version - * @return the data provider - */ - public static synchronized CsDataProvider getInstance(CsVersion version) { - return _PROVIDERS.computeIfAbsent(version, k -> new CsDataProvider(version)); - } -} diff --git a/src/main/java/com/imsweb/staging/eod/EodDataProvider.java b/src/main/java/com/imsweb/staging/eod/EodDataProvider.java deleted file mode 100644 index c57e0a79a..000000000 --- a/src/main/java/com/imsweb/staging/eod/EodDataProvider.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2014 Information Management Services, Inc. - */ -package com.imsweb.staging.eod; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import com.imsweb.staging.StagingFileDataProvider; - -public final class EodDataProvider extends StagingFileDataProvider { - - private static final Map _PROVIDERS = new ConcurrentHashMap<>(); - - /** - * Construct a EOD data provider with the passed version - * @param version version to initialize - */ - private EodDataProvider(EodVersion version) { - super("eod_public", version.getVersion()); - } - - /** - * Return the EOD provider for the latest version - * @return the data provider - */ - public static synchronized EodDataProvider getInstance() { - return getInstance(EodVersion.LATEST); - } - - /** - * Return the EOD provider for a specified version - * @param version EOD version - * @return the data provider - */ - public static synchronized EodDataProvider getInstance(EodVersion version) { - return _PROVIDERS.computeIfAbsent(version, k -> new EodDataProvider(version)); - } - - public enum EodVersion { - LATEST("3.3"), - V3_3("3.3"); - - private final String _version; - - EodVersion(String version) { - _version = version; - } - - public String getVersion() { - return _version; - } - } -} diff --git a/src/main/java/com/imsweb/staging/pediatric/PediatricDataProvider.java b/src/main/java/com/imsweb/staging/pediatric/PediatricDataProvider.java deleted file mode 100644 index 967427a1f..000000000 --- a/src/main/java/com/imsweb/staging/pediatric/PediatricDataProvider.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2014 Information Management Services, Inc. - */ -package com.imsweb.staging.pediatric; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import com.imsweb.staging.StagingFileDataProvider; - -public final class PediatricDataProvider extends StagingFileDataProvider { - - private static final Map _PROVIDERS = new ConcurrentHashMap<>(); - - /** - * Construct a pediatric data provider with the passed version - * @param version version to initialize - */ - private PediatricDataProvider(PediatricVersion version) { - super("pediatric", version.getVersion()); - } - - /** - * Return the pediatric provider for the latest version - * @return the data provider - */ - public static synchronized PediatricDataProvider getInstance() { - return getInstance(PediatricVersion.LATEST); - } - - /** - * Return the pediatric provider for a specified version - * @param version pediatric version - * @return the data provider - */ - public static synchronized PediatricDataProvider getInstance(PediatricVersion version) { - return _PROVIDERS.computeIfAbsent(version, k -> new PediatricDataProvider(version)); - } - - public enum PediatricVersion { - LATEST("1.3"), - V1_3("1.3"); - - private final String _version; - - PediatricVersion(String version) { - _version = version; - } - - public String getVersion() { - return _version; - } - } -} diff --git a/src/main/java/com/imsweb/staging/tnm/TnmDataProvider.java b/src/main/java/com/imsweb/staging/tnm/TnmDataProvider.java deleted file mode 100644 index e349c40fd..000000000 --- a/src/main/java/com/imsweb/staging/tnm/TnmDataProvider.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (C) 2014 Information Management Services, Inc. - */ -package com.imsweb.staging.tnm; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import com.imsweb.staging.StagingFileDataProvider; - -public final class TnmDataProvider extends StagingFileDataProvider { - - private static final Map _PROVIDERS = new ConcurrentHashMap<>(); - - public enum TnmVersion { - LATEST("2.0"), - V2_0("2.0"); - - private final String _version; - - TnmVersion(String version) { - _version = version; - } - - public String getVersion() { - return _version; - } - } - - /** - * Construct a TNM data provider with the passed version - * @param version version to initialize - */ - private TnmDataProvider(TnmVersion version) { - super("tnm", version.getVersion()); - } - - /** - * Return the TNM provider for the latest version - * @return the data provider - */ - public static synchronized TnmDataProvider getInstance() { - return getInstance(TnmVersion.LATEST); - } - - /** - * Return the TNM provider for a specified version - * @param version TNM version - * @return the data provider - */ - public static synchronized TnmDataProvider getInstance(TnmVersion version) { - return _PROVIDERS.computeIfAbsent(version, k -> new TnmDataProvider(version)); - } - -} diff --git a/src/test/java/com/imsweb/staging/AlgorithmZipUtils.java b/src/test/java/com/imsweb/staging/AlgorithmZipUtils.java deleted file mode 100644 index b772fdd22..000000000 --- a/src/test/java/com/imsweb/staging/AlgorithmZipUtils.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2022 Information Management Services, Inc. - */ -package com.imsweb.staging; - -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.zeroturnaround.zip.ZipUtil; - -/** - * Create ZIP files of algorithms to include in releases - */ -public class AlgorithmZipUtils { - - private static final Logger _LOG = LoggerFactory.getLogger(AlgorithmZipUtils.class); - - public static void zipAlgorithm(String algorithm, String version) throws IOException { - Path algoDir = Paths.get("src", "main", "resources", "algorithms", algorithm, version); - Path buildDir = Paths.get("build", "algorithms"); - String outputFile = buildDir.toFile().getAbsolutePath() + File.separatorChar + algorithm + "-" + version + ".zip"; - - // make sure directory exists - Files.createDirectories(buildDir); - - ZipUtil.pack(new File(algoDir.toFile().getAbsolutePath()), new File(outputFile)); - - _LOG.info("Created {}", outputFile); - } - -} diff --git a/src/test/java/com/imsweb/staging/StagingFileDataProviderTest.java b/src/test/java/com/imsweb/staging/StagingFileDataProviderTest.java deleted file mode 100644 index 18c47e7d6..000000000 --- a/src/test/java/com/imsweb/staging/StagingFileDataProviderTest.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.imsweb.staging; - -import org.junit.jupiter.api.BeforeAll; - -class StagingFileDataProviderTest extends FileDataProviderTest { - - private static Staging _STAGING; - - @BeforeAll - static void setup() { - _STAGING = Staging.getInstance(new StagingFileDataProvider("testing", "99.99")); - } - - @Override - public Staging getStaging() { - return _STAGING; - } - -} \ No newline at end of file diff --git a/src/test/java/com/imsweb/staging/StagingTest.java b/src/test/java/com/imsweb/staging/StagingTest.java index 1328575a2..3c6a4682c 100644 --- a/src/test/java/com/imsweb/staging/StagingTest.java +++ b/src/test/java/com/imsweb/staging/StagingTest.java @@ -3,6 +3,11 @@ */ package com.imsweb.staging; +import java.io.IOException; +import java.net.URISyntaxException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; @@ -12,6 +17,7 @@ import java.util.Map; import java.util.Set; import java.util.stream.Collectors; +import java.util.stream.Stream; import org.junit.jupiter.api.Test; import org.slf4j.Logger; @@ -40,6 +46,7 @@ public abstract class StagingTest { private static final Logger _LOG = LoggerFactory.getLogger(StagingTest.class); protected static Staging _STAGING; + protected static StagingDataProvider _PROVIDER; /** * Return the algorithm name @@ -52,9 +59,22 @@ public abstract class StagingTest { public abstract String getVersion(); /** - * Return the staging data provider + * Return the full path of specified algorithm */ - public abstract StagingFileDataProvider getProvider(); + public static Path getAlgorithmPath(String algorithm) throws URISyntaxException, IOException { + Path algorithmsDir = Paths.get(Thread.currentThread() + .getContextClassLoader() + .getResource("algorithms") + .toURI()); + + try (Stream files = Files.list(algorithmsDir)) { + return files + .filter(Files::isRegularFile) + .filter(path -> path.getFileName().toString().startsWith(algorithm + "-")) + .findFirst() + .orElseThrow(() -> new IllegalStateException("No " + algorithm + " file found in algorithms directory")); + } + } @Test public void testInitialization() { diff --git a/src/test/java/com/imsweb/staging/cs/CsIntegrationTest.java b/src/test/java/com/imsweb/staging/cs/CsIntegrationTest.java index 4e9f1b1ff..6ae603503 100644 --- a/src/test/java/com/imsweb/staging/cs/CsIntegrationTest.java +++ b/src/test/java/com/imsweb/staging/cs/CsIntegrationTest.java @@ -6,6 +6,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; +import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.text.NumberFormat; import java.util.Collections; @@ -18,11 +19,13 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.imsweb.staging.ExternalStagingFileDataProvider; import com.imsweb.staging.Staging; -import com.imsweb.staging.cs.CsDataProvider.CsVersion; import com.imsweb.staging.cs.IntegrationUtils.IntegrationResult; import com.imsweb.staging.util.Stopwatch; +import static com.imsweb.staging.StagingTest.getAlgorithmPath; + @SuppressWarnings("java:S2187") public class CsIntegrationTest { @@ -31,12 +34,12 @@ public class CsIntegrationTest { // set this to null to process all, or a list of schema filename to process private static final List _SCHEMA_FILES = Collections.emptyList(); - public static void main(String[] args) throws IOException, InterruptedException { + public static void main(String[] args) throws IOException, InterruptedException, URISyntaxException { execute(); } - private static void execute() throws IOException, InterruptedException { - Staging staging = Staging.getInstance(CsDataProvider.getInstance(CsVersion.V020550)); + private static void execute() throws IOException, InterruptedException, URISyntaxException { + Staging staging = Staging.getInstance(new ExternalStagingFileDataProvider(getAlgorithmPath("cs"))); // only do schema selection test if running all schemas if (_SCHEMA_FILES.isEmpty()) { diff --git a/src/test/java/com/imsweb/staging/cs/CsStagingTest.java b/src/test/java/com/imsweb/staging/cs/CsStagingTest.java index d45e3d3d5..41701f40c 100644 --- a/src/test/java/com/imsweb/staging/cs/CsStagingTest.java +++ b/src/test/java/com/imsweb/staging/cs/CsStagingTest.java @@ -6,6 +6,7 @@ import java.io.IOException; import java.io.InputStreamReader; import java.io.LineNumberReader; +import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Calendar; @@ -24,10 +25,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.imsweb.staging.ExternalStagingFileDataProvider; import com.imsweb.staging.Staging; -import com.imsweb.staging.StagingFileDataProvider; import com.imsweb.staging.StagingTest; -import com.imsweb.staging.cs.CsDataProvider.CsVersion; import com.imsweb.staging.cs.CsStagingData.CsOutput; import com.imsweb.staging.cs.CsStagingData.CsStagingInputBuilder; import com.imsweb.staging.cs.IntegrationUtils.IntegrationResult; @@ -55,8 +55,9 @@ class CsStagingTest extends StagingTest { private static final Logger _LOG = LoggerFactory.getLogger(CsStagingTest.class); @BeforeAll - static void init() { - _STAGING = Staging.getInstance(CsDataProvider.getInstance(CsVersion.V020550)); + static void init() throws URISyntaxException, IOException { + _PROVIDER = new ExternalStagingFileDataProvider(getAlgorithmPath("cs")); + _STAGING = Staging.getInstance(_PROVIDER); } @Override @@ -66,12 +67,7 @@ public String getAlgorithm() { @Override public String getVersion() { - return CsVersion.V020550.getVersion(); - } - - @Override - public StagingFileDataProvider getProvider() { - return CsDataProvider.getInstance(CsVersion.V020550); + return "02.05.50"; } @Test @@ -83,15 +79,6 @@ void testBasicInitialization() { assertNotNull(_STAGING.getTable("extension_bdi")); } - @Test - void testVersionInitializationTypes() { - Staging staging020550 = Staging.getInstance(CsDataProvider.getInstance(CsVersion.V020550)); - assertEquals("02.05.50", staging020550.getVersion()); - - Staging stagingLatest = Staging.getInstance(CsDataProvider.getInstance()); - assertEquals("02.05.50", stagingLatest.getVersion()); - } - @Test void testDescriminatorKeys() { assertEquals(new HashSet<>(Collections.singletonList("ssf25")), _STAGING.getSchema("nasopharynx").getSchemaDiscriminators()); @@ -179,7 +166,7 @@ void testLookupCache() { assertEquals("testis", lookup.getFirst().getId()); // now invalidate the cache - getProvider().invalidateCache(); + _PROVIDER.invalidateCache(); // try the lookup again lookup = _STAGING.lookupSchema(new CsSchemaLookup("C629", "9231", "")); diff --git a/src/test/java/com/imsweb/staging/eod/EodStagingTest.java b/src/test/java/com/imsweb/staging/eod/EodStagingTest.java index 61203c56b..7f43b88b3 100644 --- a/src/test/java/com/imsweb/staging/eod/EodStagingTest.java +++ b/src/test/java/com/imsweb/staging/eod/EodStagingTest.java @@ -3,6 +3,8 @@ */ package com.imsweb.staging.eod; +import java.io.IOException; +import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Collections; @@ -15,9 +17,9 @@ import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import com.imsweb.staging.ExternalStagingFileDataProvider; import com.imsweb.staging.Staging; import com.imsweb.staging.StagingDataProvider; -import com.imsweb.staging.StagingFileDataProvider; import com.imsweb.staging.StagingTest; import com.imsweb.staging.entities.GlossaryDefinition; import com.imsweb.staging.entities.Input; @@ -28,7 +30,6 @@ import com.imsweb.staging.entities.StagingData.Result; import com.imsweb.staging.entities.Table; import com.imsweb.staging.entities.impl.StagingMetadata; -import com.imsweb.staging.eod.EodDataProvider.EodVersion; import com.imsweb.staging.eod.EodStagingData.EodInput; import com.imsweb.staging.eod.EodStagingData.EodOutput; import com.imsweb.staging.eod.EodStagingData.EodStagingInputBuilder; @@ -41,8 +42,9 @@ class EodStagingTest extends StagingTest { @BeforeAll - static void init() { - _STAGING = Staging.getInstance(EodDataProvider.getInstance(EodVersion.LATEST)); + static void init() throws URISyntaxException, IOException { + _PROVIDER = new ExternalStagingFileDataProvider(getAlgorithmPath("eod_public")); + _STAGING = Staging.getInstance(_PROVIDER); } @Override @@ -52,12 +54,7 @@ public String getAlgorithm() { @Override public String getVersion() { - return EodVersion.V3_3.getVersion(); - } - - @Override - public StagingFileDataProvider getProvider() { - return EodDataProvider.getInstance(EodVersion.LATEST); + return "3.3"; } @Test @@ -69,15 +66,6 @@ void testBasicInitialization() { assertThat(_STAGING.getTable("ss2018_urethra_14363")).isNotNull(); } - @Test - void testVersionInitializationTypes() { - Staging staging10 = Staging.getInstance(EodDataProvider.getInstance(EodVersion.V3_3)); - assertThat(staging10.getVersion()).isEqualTo(EodVersion.LATEST.getVersion()); - - Staging stagingLatest = Staging.getInstance(EodDataProvider.getInstance()); - assertThat(stagingLatest.getVersion()).isEqualTo(EodVersion.LATEST.getVersion()); - } - @Test void testDescriminatorKeys() { assertThat(_STAGING.getSchema("nasopharynx").getSchemaDiscriminators()).containsOnly("discriminator_1", "year_dx"); @@ -196,7 +184,7 @@ void testLookupCache() { assertThat(lookup.getFirst().getId()).isEqualTo("soft_tissue_rare"); // now invalidate the cache - EodDataProvider.getInstance(EodVersion.V3_3).invalidateCache(); + _PROVIDER.invalidateCache(); // try the lookup again lookup = _STAGING.lookupSchema(new EodSchemaLookup("C629", "9231")); @@ -246,7 +234,7 @@ void testStagePancreas() { assertThat(data.getOutput()).hasSize(4); // check outputs - assertThat(data.getOutput(EodOutput.DERIVED_VERSION)).isEqualTo(EodVersion.LATEST.getVersion()); + assertThat(data.getOutput(EodOutput.DERIVED_VERSION)).isEqualTo(getVersion()); assertThat(data.getOutput(EodOutput.NAACCR_SCHEMA_ID)).isEqualTo("00280"); assertThat(data.getOutput(EodOutput.SS_2018_DERIVED)).isEqualTo("7"); assertThat(data.getOutput(EodOutput.DERIVED_SUMMARY_GRADE)).isEqualTo("9"); @@ -284,7 +272,7 @@ void testStageDefaultSsdi() { assertThat(data.getOutput()).hasSize(4); // check outputs - assertThat(data.getOutput(EodOutput.DERIVED_VERSION)).isEqualTo(EodVersion.LATEST.getVersion()); + assertThat(data.getOutput(EodOutput.DERIVED_VERSION)).isEqualTo(getVersion()); assertThat(data.getOutput(EodOutput.SS_2018_DERIVED)).isEqualTo("3"); assertThat(data.getOutput(EodOutput.NAACCR_SCHEMA_ID)).isEqualTo("00480"); assertThat(data.getOutput(EodOutput.DERIVED_SUMMARY_GRADE)).isEqualTo("1"); @@ -483,20 +471,13 @@ void testContentNotReturnedForInvalidYear() { @Test void testGlossary() { - assertEquals(2, _STAGING.getGlossaryTerms().size()); - GlossaryDefinition entry = _STAGING.getGlossaryDefinition("Level VA"); + assertEquals(1, _STAGING.getGlossaryTerms().size()); + GlossaryDefinition entry = _STAGING.getGlossaryDefinition("Level V lymph nodes"); assertNotNull(entry); assertEquals("Level V lymph nodes", entry.getName()); assertTrue(entry.getDefinition().startsWith("The two groups dorsal cervical nodes along the spinal")); assertEquals(Arrays.asList("Level VA", "Level VB"), entry.getAlternateNames()); assertNotNull(entry.getLastModified()); - - /* There are hardly any glossary terms anymore - Set hits = _STAGING.getSchemaGlossary("urethra"); - assertEquals(0, hits.size()); - hits = _STAGING.getTableGlossary("nodes_dad"); - assertEquals(3, hits.size()); - */ } @Test @@ -517,7 +498,7 @@ void testMetadata() { @Test void testCachedSiteAndHistology() { - StagingDataProvider provider = getProvider(); + StagingDataProvider provider = _PROVIDER; assertThat(provider.getValidSites()).isNotEmpty(); assertThat(provider.getValidHistologies()).isNotEmpty(); diff --git a/src/test/java/com/imsweb/staging/pediatric/PediatricStagingTest.java b/src/test/java/com/imsweb/staging/pediatric/PediatricStagingTest.java index f8eedc81b..a6cd3014f 100644 --- a/src/test/java/com/imsweb/staging/pediatric/PediatricStagingTest.java +++ b/src/test/java/com/imsweb/staging/pediatric/PediatricStagingTest.java @@ -3,6 +3,8 @@ */ package com.imsweb.staging.pediatric; +import java.io.IOException; +import java.net.URISyntaxException; import java.util.Arrays; import java.util.Collection; import java.util.Collections; @@ -18,9 +20,9 @@ import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import com.imsweb.staging.ExternalStagingFileDataProvider; import com.imsweb.staging.Staging; import com.imsweb.staging.StagingDataProvider; -import com.imsweb.staging.StagingFileDataProvider; import com.imsweb.staging.StagingTest; import com.imsweb.staging.entities.Input; import com.imsweb.staging.entities.Metadata; @@ -28,7 +30,6 @@ import com.imsweb.staging.entities.Schema; import com.imsweb.staging.entities.SchemaLookup; import com.imsweb.staging.entities.StagingData.Result; -import com.imsweb.staging.pediatric.PediatricDataProvider.PediatricVersion; import com.imsweb.staging.pediatric.PediatricStagingData.PediatricInput; import com.imsweb.staging.pediatric.PediatricStagingData.PediatricOutput; import com.imsweb.staging.pediatric.PediatricStagingData.PediatricStagingInputBuilder; @@ -38,8 +39,9 @@ class PediatricStagingTest extends StagingTest { @BeforeAll - static void init() { - _STAGING = Staging.getInstance(PediatricDataProvider.getInstance(PediatricVersion.V1_3)); + static void init() throws URISyntaxException, IOException { + _PROVIDER = new ExternalStagingFileDataProvider(getAlgorithmPath("pediatric")); + _STAGING = Staging.getInstance(_PROVIDER); } @Override @@ -49,12 +51,7 @@ public String getAlgorithm() { @Override public String getVersion() { - return PediatricVersion.V1_3.getVersion(); - } - - @Override - public StagingFileDataProvider getProvider() { - return PediatricDataProvider.getInstance(PediatricVersion.LATEST); + return "1.3"; } @Test @@ -66,15 +63,6 @@ void testBasicInitialization() { assertThat(_STAGING.getTable("n_myc_amplification_57417")).isNotNull(); } - @Test - void testVersionInitializationTypes() { - Staging staging10 = Staging.getInstance(PediatricDataProvider.getInstance(PediatricVersion.V1_3)); - assertThat(staging10.getVersion()).isEqualTo(PediatricVersion.LATEST.getVersion()); - - Staging stagingLatest = Staging.getInstance(PediatricDataProvider.getInstance()); - assertThat(stagingLatest.getVersion()).isEqualTo(PediatricVersion.LATEST.getVersion()); - } - @Test void testDescriminatorKeys() { assertThat(_STAGING.getSchema("acute_lymphoblastic_leukemia").getSchemaDiscriminators()).containsOnly("age_dx", "behavior"); @@ -201,7 +189,7 @@ void testLookupCache() { assertThat(lookup.getFirst().getId()).isEqualTo(schemaId); // now invalidate the cache - PediatricDataProvider.getInstance(PediatricVersion.V1_3).invalidateCache(); + _PROVIDER.invalidateCache(); // try the lookup again lookup = _STAGING.lookupSchema(new PediatricSchemaLookup(site, hist)); @@ -246,11 +234,11 @@ void testStageOvarian() { assertThat(data.getOutput()).hasSize(11); // check outputs - assertThat(data.getOutput(PediatricOutput.DERIVED_VERSION)).isEqualTo(PediatricVersion.LATEST.getVersion()); + assertThat(data.getOutput(PediatricOutput.DERIVED_VERSION)).isEqualTo(getVersion()); assertThat(data.getOutput()) .hasSize(11) - .hasFieldOrPropertyWithValue(PediatricOutput.DERIVED_VERSION.toString(), PediatricVersion.LATEST.getVersion()) + .hasFieldOrPropertyWithValue(PediatricOutput.DERIVED_VERSION.toString(), getVersion()) .hasFieldOrPropertyWithValue(PediatricOutput.TORONTO_VERSION_NUMBER.toString(), "2") .hasFieldOrPropertyWithValue(PediatricOutput.PEDIATRIC_ID.toString(), "10c2") .hasFieldOrPropertyWithValue(PediatricOutput.PEDIATRIC_GROUP.toString(), "1") @@ -409,7 +397,7 @@ void testMetadata() { @Test void testCachedSiteAndHistology() { - StagingDataProvider provider = getProvider(); + StagingDataProvider provider = _PROVIDER; assertThat(provider.getValidSites()).isNotEmpty(); assertThat(provider.getValidHistologies()).isNotEmpty(); diff --git a/src/test/java/com/imsweb/staging/pediatric/PediatricUpdateFromAPI.java b/src/test/java/com/imsweb/staging/pediatric/PediatricUpdateFromAPI.java index bc53491b8..64b78bab6 100644 --- a/src/test/java/com/imsweb/staging/pediatric/PediatricUpdateFromAPI.java +++ b/src/test/java/com/imsweb/staging/pediatric/PediatricUpdateFromAPI.java @@ -6,15 +6,13 @@ import com.imsweb.staging.updater.UpdaterUtils; -import static com.imsweb.staging.pediatric.PediatricDataProvider.PediatricVersion.LATEST; - /** * Update the pediatric data from the API */ public class PediatricUpdateFromAPI { public static void main(String[] args) throws IOException { - UpdaterUtils.update("pediatric", LATEST.getVersion(), new HashSet<>(Collections.singletonList("STAGING"))); + UpdaterUtils.update("pediatric", "1.3", new HashSet<>(Collections.singletonList("STAGING"))); } } diff --git a/src/test/java/com/imsweb/staging/tnm/TnmStagingTest.java b/src/test/java/com/imsweb/staging/tnm/TnmStagingTest.java index c7b95ad07..2a13becb2 100644 --- a/src/test/java/com/imsweb/staging/tnm/TnmStagingTest.java +++ b/src/test/java/com/imsweb/staging/tnm/TnmStagingTest.java @@ -3,6 +3,8 @@ */ package com.imsweb.staging.tnm; +import java.io.IOException; +import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Collections; @@ -16,9 +18,9 @@ import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import com.imsweb.staging.ExternalStagingFileDataProvider; import com.imsweb.staging.Staging; import com.imsweb.staging.StagingDataProvider; -import com.imsweb.staging.StagingFileDataProvider; import com.imsweb.staging.StagingTest; import com.imsweb.staging.entities.Input; import com.imsweb.staging.entities.Output; @@ -28,7 +30,6 @@ import com.imsweb.staging.entities.StagingData.Result; import com.imsweb.staging.entities.Table; import com.imsweb.staging.entities.impl.StagingMetadata; -import com.imsweb.staging.tnm.TnmDataProvider.TnmVersion; import com.imsweb.staging.tnm.TnmStagingData.TnmOutput; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -41,8 +42,9 @@ class TnmStagingTest extends StagingTest { @BeforeAll - static void init() { - _STAGING = Staging.getInstance(TnmDataProvider.getInstance(TnmVersion.LATEST)); + static void init() throws URISyntaxException, IOException { + _PROVIDER = new ExternalStagingFileDataProvider(getAlgorithmPath("tnm")); + _STAGING = Staging.getInstance(_PROVIDER); } @Override @@ -52,12 +54,7 @@ public String getAlgorithm() { @Override public String getVersion() { - return TnmVersion.V2_0.getVersion(); - } - - @Override - public StagingFileDataProvider getProvider() { - return TnmDataProvider.getInstance(TnmVersion.LATEST); + return "2.0"; } @Test @@ -69,15 +66,6 @@ void testBasicInitialization() { assertNotNull(_STAGING.getTable("ssf4_mpn")); } - @Test - void testVersionInitializationTypes() { - Staging staging10 = Staging.getInstance(TnmDataProvider.getInstance(TnmVersion.V2_0)); - assertEquals(TnmVersion.LATEST.getVersion(), staging10.getVersion()); - - Staging stagingLatest = Staging.getInstance(TnmDataProvider.getInstance()); - assertEquals(TnmVersion.LATEST.getVersion(), stagingLatest.getVersion()); - } - @Test void testDescriminatorKeys() { assertEquals(new HashSet<>(Collections.singletonList("ssf25")), _STAGING.getSchema("nasopharynx").getSchemaDiscriminators()); @@ -171,7 +159,7 @@ void testLookupCache() { assertEquals("testis", lookup.getFirst().getId()); // now invalidate the cache - TnmDataProvider.getInstance(TnmVersion.V2_0).invalidateCache(); + _PROVIDER.invalidateCache(); // try the lookup again lookup = _STAGING.lookupSchema(new TnmSchemaLookup("C629", "9231")); @@ -275,7 +263,7 @@ void testStageUrethra() { assertEquals(10, data.getOutput().size()); // check outputs - assertEquals(TnmVersion.LATEST.getVersion(), data.getOutput(TnmOutput.DERIVED_VERSION)); + assertEquals(getVersion(), data.getOutput(TnmOutput.DERIVED_VERSION)); assertEquals("3", data.getOutput(TnmOutput.CLIN_STAGE_GROUP)); assertEquals("4", data.getOutput(TnmOutput.PATH_STAGE_GROUP)); assertEquals("4", data.getOutput(TnmOutput.COMBINED_STAGE_GROUP)); @@ -483,7 +471,7 @@ void testMetadata() { @Test void testCachedSiteAndHistology() { - StagingDataProvider provider = getProvider(); + StagingDataProvider provider = _PROVIDER; assertFalse(provider.getValidSites().isEmpty()); assertFalse(provider.getValidHistologies().isEmpty()); diff --git a/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java b/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java index c675021bc..53db16cd3 100644 --- a/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java +++ b/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java @@ -76,8 +76,8 @@ public static void update(String algorithm, String version, Set glossary // create an object mapper used to output the entities ObjectMapper mapper = new ObjectMapper(); mapper.setDefaultPropertyInclusion(JsonInclude.Value.construct(Include.ALWAYS, Include.NON_NULL)); - mapper.setSerializationInclusion(Include.NON_NULL); - mapper.setSerializationInclusion(Include.NON_EMPTY); + mapper.setDefaultPropertyInclusion(Include.NON_NULL); + mapper.setDefaultPropertyInclusion(Include.NON_EMPTY); mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); mapper.setDateFormat(format); diff --git a/src/test/resources/algorithms/cs-02.05.50.zip b/src/test/resources/algorithms/cs-02.05.50.zip new file mode 100644 index 0000000000000000000000000000000000000000..77a778a81e850e2c58917d611262120d5a654c3d GIT binary patch literal 2523473 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%0DC8Hxu+Fab7& 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

wpObuEY`a}!8l7Zy@p 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 z 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

3bJ}LB5#pr) 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%0DYrlz#>$f743vKs98`Q23m5g~^zk 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

JJGkv7*QMDsa_>ULy}v?VEQObzG|o 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 L6}h*`>8XoSxe{b%l)X#gJpYwzB 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%0AGd@!k7>ZST) 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

J(&*%u_PGHuFCk)GCbCRx=FEZYd@p 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

a~#;{Nu}{UCq=8cwZIoZ35_-^?pT* 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

UZ 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̟HYF&8T_V5i~AQ@j5_+M(P(05#{bh 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 {O-cP=kHCd~{pLE6;y@%=jVZBZu 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%0AqI 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

$3cGfGCTOq=tqRz0P6N+%^Em;H(*l^X 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 literal 0 HcmV?d00001 diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/adnexa_uterine_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/adnexa_uterine_other.json deleted file mode 100644 index 92395d701..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/adnexa_uterine_other.json +++ /dev/null @@ -1,1120 +0,0 @@ -{ - "id" : "adnexa_uterine_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AdnexaUterineOther", - "title" : "Broad and Round Ligaments, Parametrium, Uterine Adnexa", - "notes" : "C57.1 - Broad ligament\nC57.2 - Round ligament\nC57.3 - Parametrium\nC57.4 - Uterine adnexa\n\n**Note**: AJCC does not define TNM staging for this site.", - "schema_num" : 116, - "schema_selection_table" : "schema_selection_adnexa_uterine_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcn", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcc", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpa", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "116" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcn", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcc", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpa", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "schema_selection_adnexa_uterine_other", "cs_input_version_original", "mets_hpa", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "ssf4_mna", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "nodes_dcc", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "extension_bcn", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:09.076Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/adrenal_gland.json b/src/test/resources/algorithms/cs/02.05.50/schemas/adrenal_gland.json deleted file mode 100644 index e8518ae8c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/adrenal_gland.json +++ /dev/null @@ -1,1156 +0,0 @@ -{ - "id" : "adrenal_gland", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AdrenalGland", - "title" : "Adrenal Gland", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2, SSF3\n\nC74.0 - Cortex of adrenal gland\nC74.1 - Medulla of adrenal gland\nC74.9 - Adrenal gland, NOS\n\n**Note 1**: Laterality must be coded for this site.\n\n**Note 2**: Except for histologies that have strictly histology-based CS schemas (for example lymphoma), all cases with primary site adrenal gland (C74._) are coded with this schema. However, only adrenal cortical carcinomas will have AJCC stage derived (7th Edition only). Adrenal cortical carcinoma is identified as C74.0 (adrenal cortex) with histology 8010, 8140, or 8370 OR C74.9 (adrenal gland, NOS) with histology 8370.", - "schema_num" : 147, - "schema_selection_table" : "schema_selection_adrenal_gland", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aak", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdp", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_caj", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddk", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_eah", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hbv", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_iac", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "OBSOLETE - WHO Grade Classification", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jba", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "Tumor Weight", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kak", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Vascular Invasion", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_laf", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "147" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdp", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_caj", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_caj", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddk", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_eah", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_eah", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hbv", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_iac", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_iac", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqc", - "inputs" : [ "site", "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uba", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqc", - "inputs" : [ "site", "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf25_snt", "nodes_ddk", "ajcc7_inclusions_tqc", "ssf2_kak", "size_aak", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "ssf3_laf", "ajcc_tdescriptor_cleanup", "ssf4_mna", "schema_selection_adrenal_gland", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "mets_eval_iac", "grade", "summary_stage_rpa", "ajcc7_m_codes", "extension_eval_caj", "mets_hbv", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "extension_size_xde", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "nodes_eval_eah", "ssf7_snb", "ssf11_snf", "ss_codes", "ssf6_ona", "ssf1_jba", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "extension_bdp", "ssf10_sne", "ssf18_snm", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "ajcc7_stage_uba", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:09.268Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/ampulla_vater.json b/src/test/resources/algorithms/cs/02.05.50/schemas/ampulla_vater.json deleted file mode 100644 index 524b7d594..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/ampulla_vater.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "ampulla_vater", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AmpullaVater", - "title" : "Ampulla of Vater (excluding Neuroendocrine Tumor)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF1, SSF2, SSF3\n\nC24.1 - Ampulla of Vater", - "schema_num" : 66, - "schema_selection_table" : "schema_selection_ampulla_vater", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bde", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbo", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_har", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpe", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "Carcinoembryonic Antigen (CEA)", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpc", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Carcinoembryonic Antigen (CEA) Lab Value", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpc", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "66" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bde", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbo", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_har", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uaa", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpp", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_exclusions_ppe", "ssf25_snt", "ssf1_jpe", "ssf15_snj", "ajcc7_t_codes", "ssf3_lpc", "ssf23_snr", "histology", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "ajcc7_stage_uaa", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_inclusions_tpe", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpc", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "extension_bde", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "mets_har", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ajcc6_stage_qpp", "schema_selection_ampulla_vater", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "nodes_dbo", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:09.467Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/anus.json b/src/test/resources/algorithms/cs/02.05.50/schemas/anus.json deleted file mode 100644 index deaade753..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/anus.json +++ /dev/null @@ -1,1209 +0,0 @@ -{ - "id" : "anus", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Anus", - "title" : "Anus, Anal Canal, and Other Parts of Rectum", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF1\n\nC21.0 - Anus, NOS (excluding skin of anus and perianal skin C44.5)\nC21.1 - Anal canal\nC21.2 - Cloacogenic zone\nC21.8 - Overlapping lesion of rectum, anus and anal canal\n\n**Note**: Skin of anus is coded separately (C44.5).", - "schema_num" : 59, - "schema_selection_table" : "schema_selection_anus", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apf", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_baa", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dab", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpc", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jce", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "59" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_baa", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dab", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpc", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uab", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qbj", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ajcc6_exclusions_ppd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ajcc7_stage_uab", "cs_input_version_original", "mets_hpc", "ssf22_snq", "lvi", "ssf14_sni", "extension_size_xaa", "ajcc_tdescriptor_cleanup", "nodes_dab", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "extension_baa", "ajcc7_inclusions_tpe", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ajcc6_stage_qbj", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "size_apf", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "schema_selection_anus", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "ssf1_jce", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:09.667Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/appendix.json b/src/test/resources/algorithms/cs/02.05.50/schemas/appendix.json deleted file mode 100644 index 25d5f9ccf..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/appendix.json +++ /dev/null @@ -1,1210 +0,0 @@ -{ - "id" : "appendix", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Appendix", - "title" : "Carcinomas of the Appendix (excluding Carcinoid Tumor and Neuroendocrine Carcinoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF4, SSF7, SSF10, SSF12\n\nM-8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701\nC18.1 - Appendix\n\n**Note**: Carcinoid tumor and neuroendocrine carcinoma (histology codes 8153, 8240-8242, 8246, 8249) of the appendix are included in the \"CarcinoidAppendix\" schema.", - "schema_num" : 50, - "schema_selection_table" : "schema_selection_appendix", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aam", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfg", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfc", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpb", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcf", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipb", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Carcinoembryonic Antigen (CEA)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpf", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "Clinical Assessment of Regional Lymph Nodes", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kaq", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf3", - "name" : "Carcinoembryonic Antigen (CEA) Lab Value", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpe", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf4", - "name" : "Tumor Deposits", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mpb", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "Microsatellite Instability (MSI)", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spf", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "18q Loss of Heterozygosity (LOH)", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spi", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Histopathologic Grading", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_sbt", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf12", - "name" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sbu", - "used_for_staging" : false - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "50" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfg", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfc", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "cs_input_version_original", "ssf2" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcf", - "inputs" : [ "extension", "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipb", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipb", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "grade_category_calculation_xei", - "inputs" : [ "ssf11" ], - "outputs" : [ "grade_category" ] - }, { - "id" : "ajcc7_stage_uar", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "grade_category", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpf", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_exclusions_ppd", "ssf2_kaq", "ajcc7_stage_uar", "ssf25_snt", "mets_hcf", "ssf7_spf", "ssf1_jpf", "ssf15_snj", "size_aam", "ajcc7_t_codes", "extension_bfg", "ssf23_snr", "ssf3_lpe", "histology", "lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg", "determine_correct_table_for_ajcc6_n_ns1", "cs_input_version_original", "ssf22_snq", "ssf10_spi", "lvi", "extension_mets_ajcc6_xeh", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "lymph_nodes_clinical_evaluation_ajcc6_xbk", "ajcc7_inclusions_tpc", "grade", "summary_stage_rpa", "ajcc7_m_codes", "lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "determine_correct_table_for_ajcc7_n_ns2", "ssf12_sbu", "nodes_dfc", "ajcc6_t_codes", "nodes_pos_fpb", "ajcc_mdescriptor_cleanup", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipb", "ssf18_snm", "ajcc6_stage_qpf", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpb", "lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xee", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "schema_selection_appendix", "ssf11_sbt", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "grade_category_calculation_xei", "cs_year_validation", "ssf24_sns", "lymph_nodes_clinical_eval_v0205_ajcc7_xcd", "ssf8_snc" ], - "last_modified" : "2020-06-30T19:47:09.848Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_distal.json b/src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_distal.json deleted file mode 100644 index ead119a2d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_distal.json +++ /dev/null @@ -1,1216 +0,0 @@ -{ - "id" : "bile_ducts_distal", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "BileDuctsDistal", - "title" : "Distal Bile Duct", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF12 SSF13, SSF14\n\nC24.0 - Extrahepatic bile duct\n\n**Note**: Extrahepatic Bile Duct was a single chapter in the AJCC 6th Edition. It has been divided into two chapters in the AJCC 7th Edition: Perihilar Bile Ducts and Distal Bile Duct.", - "schema_num" : 65, - "schema_selection_table" : "schema_selection_bile_ducts_distal", - "schema_discriminators" : [ "ssf25" ], - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfs", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfn", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcq", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sqf", - "used_for_staging" : false - }, { - "key" : "ssf13", - "name" : "Carcinoembryonic Antigen (CEA)", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_sqg", - "used_for_staging" : false - }, { - "key" : "ssf14", - "name" : "Carcinoembryonic Antigen (CEA) Lab Value", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sqh", - "used_for_staging" : false - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: BileDuctsDistal/BileDuctsPerihilar/CysticDuct", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "999", - "table" : "ssf25_sqi", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_2004_FORWARD" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "65" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfs", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfn", - "inputs" : [ "nodes", "mets" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcq", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf25_sqi", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc7_stage_ubm", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ssf25_sqi", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc6_stage_qpv", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ajcc6_exclusions_ppd", "mets_hcq", "ssf13_sqg", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ajcc6_stage_qpv", "histology", "cs_input_version_original", "ssf12_sqf", "extension_bfs", "ssf22_snq", "lvi", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_inclusions_tpe", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jna", "ajcc6_t_codes", "nodes_dfn", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "lymph_nodes_metsat_dxajcc6_xjc", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf25_sqi", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "schema_selection_bile_ducts_distal", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "primary_site", "ajcc6_year_validation", "ajcc7_stage_ubm", "ssf14_sqh", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc" ], - "last_modified" : "2020-06-30T19:47:09.977Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_intrahepat.json b/src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_intrahepat.json deleted file mode 100644 index 3dcefd2e9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_intrahepat.json +++ /dev/null @@ -1,1208 +0,0 @@ -{ - "id" : "bile_ducts_intrahepat", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "BileDuctsIntraHepat", - "title" : "Intrahepatic Bile Ducts", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF3, SSF12\n\nC22.0 - Liver\nC22.1 - Intrahepatic bile duct\n\n**Note 1**: For C22.0, the BileDuctsIntraHepat schema includes only M-8160, 8161, 8180. For other histologies, see the Liver schema.\n\n**Note 2**: For C22.1, the BileDuctsIntraHepat schema only includes M-8000-8162, 8180-9136, 9141-9582, and 9700-9701. For hepatocellular carcinoma, M-8170-8175, see the Liver schema.\n\n**Note 3**: AJCC TNM 7 staging will be derived for cases with primary site code of C22.1 and histology code of 8160, 8161, and 8180 only.\n\n**Note 4**: Staging for intrahepatic bile ducts was included in the Liver chapter in the AJCC 6th Edition. Intrahepatic Bile Ducts is a separate chapter in the AJCC 7th Edition.", - "schema_num" : 61, - "schema_selection_table" : "schema_selection_bile_ducts_intrahepat", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apt", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfa", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpc", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dew", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hbz", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Alpha Fetoprotein (AFP) Interpretation", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpw", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "Fibrosis Score", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpq", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED" ] - }, { - "key" : "ssf3", - "name" : "Alpha Fetoprotein (AFP) Lab Value", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lps", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "Tumor Growth Pattern", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "999", - "table" : "ssf10_sfj", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf11", - "name" : "Primary Sclerosing Cholangitis (PSC)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_sqe", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf12", - "name" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sqf", - "used_for_staging" : false - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "61" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfa", - "inputs" : [ "extension", "size", "ssf10" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpc", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpc", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dew", - "inputs" : [ "nodes", "mets" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hbz", - "inputs" : [ "nodes", "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpt", - "inputs" : [ "site", "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubi", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpt", - "inputs" : [ "site", "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qcd", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf3_lps", "ajcc7_inclusions_tpt", "ajcc6_exclusions_ppd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "ssf12_sqf", "ssf1_jpw", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "extension_periductal_invasion_ajcc7_xks", "ssf17_snl", "ajcc_descriptor_codes", "extension_bfa", "mets_hbz", "ssf11_sqe", "grade", "summary_stage_rpa", "ajcc7_m_codes", "schema_selection_bile_ducts_intrahepat", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "extension_size_ajcc6_xda", "lymph_nodes_metsat_dxajcc6_xgq_m", "ajcc6_t_codes", "ajcc6_stage_qcd", "lymph_nodes_metsat_dxajcc6_xgq_n", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ss_codes", "ssf10_sfj", "ssf6_ona", "nodes_exam_gpa", "ssf2_kpq", "ajcc6_n_codes", "behavior", "nodes_dew", "ssf18_snm", "mets_eval_ipa", "ajcc7_n_codes", "extension_eval_cpc", "ajcc6_stage_codes", "size_apt", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc7_stage_ubi", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc" ], - "last_modified" : "2020-06-30T19:47:10.139Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_perihilar.json b/src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_perihilar.json deleted file mode 100644 index f4b26fd54..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/bile_ducts_perihilar.json +++ /dev/null @@ -1,1215 +0,0 @@ -{ - "id" : "bile_ducts_perihilar", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "BileDuctsPerihilar", - "title" : "Perihilar Bile Ducts", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF10, SSF12, SSF13, SSF14\n\nC24.0 - Extrahepatic bile duct\n\n**Note**: Extrahepatic Bile Duct was a single chapter in the AJCC 6th Edition. It has been divided into two chapters in the AJCC 7th Edition: Perihilar Bile Ducts and Distal Bile Duct.", - "schema_num" : 63, - "schema_selection_table" : "schema_selection_bile_ducts_perihilar", - "schema_discriminators" : [ "ssf25" ], - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bft", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfo", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcr", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "Tumor Growth Pattern", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sfi", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Primary Sclerosing Cholangitis (PSC)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_sqe", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf12", - "name" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sqf", - "used_for_staging" : false - }, { - "key" : "ssf13", - "name" : "Carcinoembryonic Antigen (CEA)", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_sqg", - "used_for_staging" : false - }, { - "key" : "ssf14", - "name" : "Carcinoembryonic Antigen (CEA) Lab Value", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sqh", - "used_for_staging" : false - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: BileDuctsDistal/BileDuctsPerihilar/CysticDuct", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "999", - "table" : "ssf25_sqi", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_2004_FORWARD" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "63" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bft", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfo", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcr", - "inputs" : [ "nodes", "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf25_sqi", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc7_stage_ubn", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ssf25_sqi", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc6_stage_qpv", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "extension_bft", "ssf2_kna", "ajcc6_exclusions_ppd", "mets_hcr", "ssf13_sqg", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ajcc6_stage_qpv", "schema_selection_bile_ducts_perihilar", "histology", "cs_input_version_original", "ssf12_sqf", "ssf22_snq", "lvi", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ssf11_sqe", "ajcc7_inclusions_tpe", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "nodes_dfo", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf3_lna", "ss_codes", "ssf10_sfi", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "lymph_nodes_metsat_dxajcc6_xfo", "ssf25_sqi", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "primary_site", "ajcc6_year_validation", "ssf14_sqh", "ajcc7_stage_ubn", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc" ], - "last_modified" : "2020-06-30T19:47:10.262Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/biliary_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/biliary_other.json deleted file mode 100644 index 6c5311ef2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/biliary_other.json +++ /dev/null @@ -1,1171 +0,0 @@ -{ - "id" : "biliary_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "BiliaryOther", - "title" : "Other Biliary and Biliary, NOS", - "notes" : "C24.8 - Overlapping lesion of biliary tract (neoplasms involving both intrahepatic and extrahepatic bile ducts)\nC24.9 - Biliary tract, NOS\n\n**Note**: AJCC does not define TNM staging for this site.", - "schema_num" : 68, - "schema_selection_table" : "schema_selection_biliary_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcx", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcl", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hbj", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "68" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcx", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcl", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hbj", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qbk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ajcc6_exclusions_ppd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "mets_hbj", "ajcc_tdescriptor_cleanup", "schema_selection_biliary_other", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ajcc6_stage_qbk", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_bcx", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "nodes_dcl", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:10.380Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/bladder.json b/src/test/resources/algorithms/cs/02.05.50/schemas/bladder.json deleted file mode 100644 index fead76c28..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/bladder.json +++ /dev/null @@ -1,1214 +0,0 @@ -{ - "id" : "bladder", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Bladder", - "title" : "Bladder", - "notes" : "C67.0 - Trigone of bladder\nC67.1 - Dome of bladder\nC67.2 - Lateral wall of bladder\nC67.3 - Anterior wall of bladder\nC67.4 - Posterior wall of bladder\nC67.5 - Bladder neck\nC67.6 - Ureteric orifice\nC67.7 - Urachus\nC67.8 - Overlapping lesion of bladder\nC67.9 - Bladder, NOS", - "schema_num" : 128, - "schema_selection_table" : "schema_selection_bladder", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcb", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cag", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dck", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hbc", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "WHO/ISUP Grade", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpd", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "Size of Metastasis in Lymph Nodes", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kao", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf3", - "name" : "Extranodal Extension of Regional Lymph Nodes", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lai", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "128" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcb", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cag", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cag", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dck", - "inputs" : [ "nodes", "mets", "ssf2" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hbc", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "determine_correct_table_for_ajcc6_m_ns4", - "inputs" : [ "nodes", "mets", "ssf2" ], - "outputs" : [ "ajcc6_m", "result_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uau", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qbh", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_exclusions_ppd", "determine_correct_table_for_ajcc6_m_ns4", "ssf25_snt", "ssf2_kao", "ssf1_jpd", "ajcc7_stage_uau", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "determine_correct_table_for_ajcc6_n_ns3", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "lymph_nodes_size_mets114055or60_ajcc6_xdv_n", "ajcc7_year_validation", "ssf21_snp", "mets_hbc", "lymph_nodes_size_mets114055or60_ajcc6_xdv_m", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "extension_eval_cag", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "lymph_nodes_size_mets00_ajcc6_xdo_n", "lymph_nodes_size_mets00_ajcc6_xdo_m", "ajcc6_t_codes", "lymph_nodes_size_mets99_ajcc6_xdp_m", "lymph_nodes_size_mets99_ajcc6_xdp_n", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "ajcc6_stage_qbh", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf3_lai", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "schema_selection_bladder", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "nodes_dck", "ssf19_snn", "ajcc7_stage_codes", "lymph_nodes_size_mets10or50_ajcc6_xid_n", "lymph_nodes_size_mets10or50_ajcc6_xid_m", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "extension_bcb", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:10.563Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/bone.json b/src/test/resources/algorithms/cs/02.05.50/schemas/bone.json deleted file mode 100644 index b44d6e9d7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/bone.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "bone", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Bone", - "title" : "Bone", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF1, SSF2, SSF4\n\nC40.0 - Long bones of upper limb, scapula and associated joints\nC40.1 - Short bones of upper limb and associated joints\nC40.2 - Long bones of lower limb and associated joints\nC40.3 - Short bones of lower limb and associated joints\nC40.8 - Overlapping lesion of bones, joints and articular cartilage of limbs\nC40.9 - Bone of limb, NOS\nC41.0 - Bones of skull and face and associated joints (excludes mandible C41.1)\nC41.1 - Mandible\nC41.2 - Vertebral column (excludes sacrum and coccyx C41.4)\nC41.3 - Rib, sternum, clavicle and associated joints\nC41.4 - Pelvic bones, sacrum, coccyx and associated joints\nC41.8 - Overlapping lesion of bones, joints and articular cartilage\nC41.9 - Bone, NOS\n\n**Note 1**: Laterality must be coded for C40.0-C40.3, and C41.3-C41.4. For sternum, sacrum, coccyx, and symphysis pubis, laterality is coded 0.\n\n**Note 2**: The determination of AJCC stage group from T, N, M, and grade for bone also depends on histologic type. The Histologies Stage Table shows the selection of the AJCC Stage table based on histology.", - "schema_num" : 95, - "schema_selection_table" : "schema_selection_bone", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aau", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbq", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbh", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hav", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Tumor Size - Second Largest Dimension", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jbx", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "CS Tumor Size - Third Largest Dimension", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kbl", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Percent Necrosis Post Neoadjuvant Chemotherapy", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lay", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf4", - "name" : "Resected Pulmonary Metastasis", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mbd", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "95" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbq", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbh", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hav", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpy", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "histologies_stage_xhq_7", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "hist", "ajcc7_n", "ajcc7_m", "grade", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpy", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "histologies_stage_xhq_6", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "hist", "ajcc6_n", "ajcc6_m", "grade", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "extension_bbq", "ajcc7_inclusions_tpy", "ajcc6_exclusions_ppc", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "size_aau", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ssf2_kbl", "ajcc_descriptor_codes", "ssf4_mbd", "grade", "summary_stage_rpa", "schema_selection_bone", "ajcc7_m_codes", "ajcc7_stage_not_ewing_ube", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "histologies_stage_xhq_6", "histologies_stage_xhq_7", "nodes_dbh", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf3_lay", "ssf11_snf", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_hav", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf1_jbx", "ssf9_snd", "ssf13_snh", "primary_site", "ajcctnm6and7_stage_ewing_xho", "ajcc6_year_validation", "extension_size_xfu", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ajcc6_stage_not_ewing_qai", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:10.739Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/brain.json b/src/test/resources/algorithms/cs/02.05.50/schemas/brain.json deleted file mode 100644 index fbeec127f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/brain.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "brain", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Brain", - "title" : "Brain and Cerebral Meninges", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2, SSF3, SSF7, SSF8\n\nC70.0 - Cerebral meninges\nC71.0 - Cerebrum\nC71.1 - Frontal lobe\nC71.2 - Temporal lobe\nC71.3 - Parietal lobe\nC71.4 - Occipital lobe\nC71.5 - Ventricle, NOS\nC71.6 - Cerebellum, NOS\nC71.7 - Brain stem\nC71.8 - Overlapping lesion of brain\nC71.9 - Brain, NOS\n\n**Note 1**: This schema is compatible with the AJCC 4th edition TNM scheme for brain, updated to include metastatic and site-specific information from the AJCC 7th edition. The AJCC opted not to recommend a TNM scheme in the 6th or 7th editions.\n\n**Note 2**: AJCC does not define TNM staging for this site.", - "schema_num" : 143, - "schema_selection_table" : "schema_selection_brain", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcc", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "988", - "table" : "nodes_dna", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fna", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gna", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_haw", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "World Health Organization (WHO) Grade Classification", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpo", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "NPCR_REQUIRED_BY_NPCR_2011_FORWARD", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "Ki-67/MIB-1 Labeling Index (LI): Brain", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpl", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Functional Neurologic Status - Karnofsky Performance Scale (KPS)", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpm", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "Methylation of O6-Methylguanine-Methyltransferase (MGMT)", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mpn", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf5", - "name" : "Chromosome 1p: Loss of Heterozygosity (LOH)", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nph", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf6", - "name" : "Chromosome 19q: Loss of Heterozygosity (LOH)", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_opf", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf7", - "name" : "Surgical Resection", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_sqk", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Unifocal vs Multifocal Tumor", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_sql", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "143" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcc", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dna", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_haw", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqf", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_una", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqf", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf25_snt", "ssf3_lpm", "ajcc7_stage_una", "ssf15_snj", "ajcc7_t_codes", "ssf6_opf", "ssf23_snr", "histology", "ssf1_jpo", "ajcc7_inclusions_tqf", "cs_input_version_original", "nodes_exam_gna", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf7_sqk", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "schema_selection_brain", "ssf5_nph", "nodes_pos_fna", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "size_apa", "ajcc6_n_codes", "ssf2_kpl", "behavior", "nodes_dna", "mets_haw", "ssf10_sne", "ssf18_snm", "ajcc7_n_codes", "ssf8_sql", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "extension_bcc", "ssf4_mpn", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:10.882Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/breast.json b/src/test/resources/algorithms/cs/02.05.50/schemas/breast.json deleted file mode 100644 index 51240559b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/breast.json +++ /dev/null @@ -1,1205 +0,0 @@ -{ - "id" : "breast", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Breast", - "title" : "Breast", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF17, SSF18, SSF19, SSF20, SSF24\n\nC50.0 - Nipple\nC50.1 - Central portion of breast\nC50.2 - Upper-inner quadrant of breast\nC50.3 - Lower-inner quadrant of breast\nC50.4 - Upper-outer quadrant of breast\nC50.5 - Lower-outer quadrant of breast\nC50.6 - Axillary Tail of breast\nC50.8 - Overlapping lesion of breast\nC50.9 - Breast, NOS\n\n**Note**: Laterality must be coded for this site.", - "schema_num" : 106, - "schema_selection_table" : "schema_selection_breast", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aab", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bak", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_daj", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fab", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hau", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Estrogen Receptor (ER) Assay", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jag", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "NPCR_REQUIRED_BY_NPCR_2010_FORWARD", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "Progesterone Receptor (PR) Assay", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kac", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "NPCR_REQUIRED_BY_NPCR_2010_FORWARD", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf3", - "name" : "Number of Positive Ipsilateral Level I-II Axillary Lymph Nodes", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "099", - "table" : "ssf3_lac", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf4", - "name" : "Immunohistochemistry (IHC) of Regional Lymph Nodes", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "987", - "table" : "ssf4_mab", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf5", - "name" : "Molecular (MOL) Studies of Regional Lymph Nodes", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "987", - "table" : "ssf5_naa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf6", - "name" : "Size of Tumor-Invasive Component", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "987", - "table" : "ssf6_oaa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Nottingham or Bloom-Richardson (BR) Score/Grade", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "999", - "table" : "ssf7_saa", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf8", - "name" : "HER2: Immunohistochemistry (IHC) Lab Value", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "999", - "table" : "ssf8_sab", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "NPCR_REQUIRED_BY_NPCR_2010_FORWARD", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf9", - "name" : "HER2: Immunohistochemistry (IHC) Test Interpretation", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_sac", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "NPCR_REQUIRED_BY_NPCR_2010_FORWARD", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "HER2: Fluorescence In Situ Hybridization (FISH) Lab Value", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sad", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION" ] - }, { - "key" : "ssf11", - "name" : "HER2: Fluorescence In Situ Hybridization (FISH) Test Interpretation", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_sae", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "NPCR_REQUIRED_BY_NPCR_2010_FORWARD", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "HER2: Chromogenic In Situ Hybridization (CISH) Lab Value", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_saf", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION" ] - }, { - "key" : "ssf13", - "name" : "HER2: Chromogenic In Situ Hybridization (CISH) Test Interpretation", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "999", - "table" : "ssf13_sag", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "NPCR_REQUIRED_BY_NPCR_2010_FORWARD", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf14", - "name" : "HER2: Result of Other or Unknown Test", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "999", - "table" : "ssf14_sbf", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "NPCR_REQUIRED_BY_NPCR_2010_FORWARD", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf15", - "name" : "HER2: Summary Result of Testing", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "999", - "table" : "ssf15_sbg", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "NPCR_REQUIRED_BY_NPCR_2011_FORWARD", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf16", - "name" : "Combinations of ER, PR, and HER2 Results", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_sah", - "used_for_staging" : false, - "metadata" : [ "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "NPCR_REQUIRED_BY_NPCR_2011_FORWARD" ] - }, { - "key" : "ssf17", - "name" : "Circulating Tumor Cells (CTC) and Method of Detection", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_sai", - "used_for_staging" : false - }, { - "key" : "ssf18", - "name" : "Disseminated Tumor Cells (DTC) and Method of Detection", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_saj", - "used_for_staging" : false - }, { - "key" : "ssf19", - "name" : "Assessment of Positive Ipsilateral Axillary Lymph Nodes", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_sak", - "used_for_staging" : false - }, { - "key" : "ssf20", - "name" : "Assessment of Positive Distant Metastases", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sal", - "used_for_staging" : false - }, { - "key" : "ssf21", - "name" : "Response to Neoadjuvant Therapy", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_sam", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf22", - "name" : "Multigene Signature Method", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "999", - "table" : "ssf22_san", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf23", - "name" : "Multigene Signature Results", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "999", - "table" : "ssf23_sao", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf24", - "name" : "Paget Disease", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sap", - "used_for_staging" : false - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "106" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bak", - "inputs" : [ "extension", "size", "behavior" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_daj", - "inputs" : [ "nodes", "nodes_eval", "ssf4", "ssf5", "ssf3" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hau", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpg", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uac", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpg", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_pan", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qad", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_pan", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "lymph_nodes_clinical_evaluation_xcx", "size_aab", "ssf22_san", "ssf23_sao", "ssf5_naa", "ssf25_snt", "extension_behavior_xci", "schema_selection_breast", "lymph_nodes_positive_axillary_node_xcy", "ajcc7_t_codes", "extension_size_xar", "determine_correct_table_for_ajcc6_n_ns9", "histology", "ssf24_sap", "cs_input_version_original", "ajcc7_stage_uac", "nodes_pos_fab", "lvi", "ssf3_lac", "ajcc_tdescriptor_cleanup", "ssf11_sae", "ssf16_sah", "ssf14_sbf", "ssf20_sal", "ajcc7_year_validation", "nodes_daj", "ajcc_descriptor_codes", "ajcc7_inclusions_tpg", "ssf10_sad", "ssf15_sbg", "ajcc6_stage_qad", "ssf21_sam", "grade", "summary_stage_rpa", "ssf17_sai", "ajcc7_m_codes", "ssf1_jag", "ajcc_ndescriptor_cleanup", "extension_bak", "ssf19_sak", "ssf6_oaa", "ajcc6_t_codes", "ssf18_saj", "ajcc_mdescriptor_cleanup", "ajcc6_exclusions_pan", "ss_codes", "ssf7_saa", "nodes_exam_gpa", "ssf4_mab", "ajcc6_n_codes", "behavior", "mets_hau", "mets_eval_ipa", "ssf8_sab", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf12_saf", "ajcc7_stage_codes", "ihcmol_xcc", "primary_site", "ajcc6_year_validation", "ssf2_kac", "lymph_nodes_pathologic_evaluation_xcw", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf9_sac", "ssf13_sag" ], - "last_modified" : "2020-06-30T19:47:11.163Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/buccal_mucosa.json b/src/test/resources/algorithms/cs/02.05.50/schemas/buccal_mucosa.json deleted file mode 100644 index b0bfd4924..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/buccal_mucosa.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "buccal_mucosa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "BuccalMucosa", - "title" : "Cheek (Buccal) Mucosa, Vestibule (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC06.0 - Cheek mucosa\nC06.1 - Vestibule of mouth", - "schema_num" : 25, - "schema_selection_table" : "schema_selection_buccal_mucosa", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apc", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bai", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dah", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "25" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bai", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dah", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "schema_selection_buccal_mucosa", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "extension_size_xag", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "nodes_dah", "ajcc7_inclusions_tpb", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "ssf5_npa", "grade", "extension_bai", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "nodes_exam_gpa", "size_apc", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:11.414Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/carcinoid_appendix.json b/src/test/resources/algorithms/cs/02.05.50/schemas/carcinoid_appendix.json deleted file mode 100644 index 4df5859fe..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/carcinoid_appendix.json +++ /dev/null @@ -1,1208 +0,0 @@ -{ - "id" : "carcinoid_appendix", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "CarcinoidAppendix", - "title" : "Carcinoid Tumor and Neuroendocrine Carcinoma of Appendix", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF13\n\nM-8153, 8240-8242, 8246, 8249\nC18.1 - Appendix\n\n**Note 1**: Carcinoid tumor of the appendix is typically not reportable. Use this schema if your institution collects this tumor as reportable by agreement.\n\n**Note 2**: This schema is also used for neurendocrine carcinoma and malignant gastrinomas.\n\n**Note 3**: Not all histologies included in this schema were staged in AJCC 6th Edition. The algorithm will derive an AJCC 6 TNM and stage group only for histology codes 8153 and 8246.", - "schema_num" : 51, - "schema_selection_table" : "schema_selection_carcinoid_appendix", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aal", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdu", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddp", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpc", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hbx", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "OBSOLETE - Carcinoembryonic Antigen (CEA)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jcd", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "Clinical Assessment of Regional Lymph Nodes", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_sbz", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "Serum Chromogranin A (CgA) Lab Value", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_sca", - "used_for_staging" : false - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "51" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdu", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddp", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "ssf2" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hbx", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpm", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uak", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpm", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpf", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_exclusions_ppd", "ssf25_snt", "size_aal", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "determine_correct_table_for_ajcc6_n_ns8", "ajcc7_stage_uak", "histology", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "nodes_ddp", "ssf2_sbz", "grade", "summary_stage_rpa", "ajcc7_m_codes", "lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr", "ssf20_sno", "mets_hbx", "ajcc_ndescriptor_cleanup", "ajcc7_inclusions_tpm", "ssf16_snk", "extension_bdu", "ssf13_sca", "lymph_nodes_clinical_evaluation_ajcc6_xpq", "ajcc6_t_codes", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "schema_selection_carcinoid_appendix", "extension_size_ajcc7_xdj", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "ajcc6_stage_qpf", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "primary_site", "ajcc6_year_validation", "nodes_pos_fpc", "ssf1_jcd", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:11.555Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/cervix.json b/src/test/resources/algorithms/cs/02.05.50/schemas/cervix.json deleted file mode 100644 index 4958ddfd6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/cervix.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "id" : "cervix", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Cervix", - "title" : "Cervix Uteri", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2, SSF3, SSF4, SSF5, SSF6, SSF7, SSF8, SSF9\n\nC53.0 - Endocervix\nC53.1 - Exocervix\nC53.8 - Overlapping lesion of cervix\nC53.9 - Cervix uteri\n\n**Note**: AJCC TNM values correspond to the stages accepted by the Federation Internationale de Gynecologic et d'Obstetrique (FIGO). Note that FIGO uses a single stage value which corresponds to different groupings of T, N, and M values.", - "schema_num" : 110, - "schema_selection_table" : "schema_selection_cervix", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aac", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbk", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbc", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_han", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "FIGO Stage", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jbv", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "Pelvic Nodal Status", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpr", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Assessment Method of Pelvic Nodal Status", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpu", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "Para-Aortic Nodal Status", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mps", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "Assessment Method of Para-Aortic Nodal Status", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_npm", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "Mediastinal Nodal Status", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_oaw", - "used_for_staging" : false - }, { - "key" : "ssf7", - "name" : "Assessment Method of Mediastinal Nodal Status", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_sdx", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Scalene Nodal Status", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_sdy", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Assessment Method of Scalene Nodal Status", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_sdz", - "used_for_staging" : false - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "110" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbk", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbc", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_han", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubh", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qaz", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf3_lpu", "size_aac", "ajcc6_exclusions_ppd", "csextension_size_tablefor_ajcc6th_xba", "ssf25_snt", "ssf9_sdz", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "extension_bbk", "cs_input_version_original", "ssf22_snq", "lvi", "ssf8_sdy", "ssf14_sni", "ajcc6_stage_qaz", "ssf5_npm", "ajcc_tdescriptor_cleanup", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "ssf7_sdx", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "extension_size_ajcc7_xgi", "ssf16_snk", "nodes_dbc", "mets_han", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "ssf6_oaw", "nodes_exam_gpa", "ssf2_kpr", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf1_jbv", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "schema_selection_cervix", "ssf4_mps", "ajcc7_stage_ubh", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:11.745Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/cns_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/cns_other.json deleted file mode 100644 index 124f083de..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/cns_other.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "cns_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "CNSOther", - "title" : "Other Parts of Central Nervous System", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2, SSF3, SSF7, SSF8\n\nC70.1 - Spinal meninges\nC70.9 - Meninges, NOS\nC72.0 - Spinal cord\nC72.1 - Cauda equina\nC72.2 - Olfactory nerve\nC72.3 - Optic nerve\nC72.4 - Acoustic nerve\nC72.5 - Cranial nerve, NOS\nC72.8 - Overlapping lesion of brain and central nervous system\nC72.9 - Nervous system, NOS\n\n**Note 1**: This schema is compatible with the AJCC fourth edition TNM for spinal cord. \n\n**Note 2**: AJCC does not define TNM staging for this site in the sixth or seventh editions.", - "schema_num" : 144, - "schema_selection_table" : "schema_selection_cns_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcd", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "988", - "table" : "nodes_dna", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fna", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gna", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpa", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "World Health Organization (WHO) Grade Classification", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpo", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "NPCR_REQUIRED_BY_NPCR_2011_FORWARD", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "Ki-67/MIB-1 Labeling Index (LI): Brain", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpl", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Functional Neurologic Status - Karnofsky Performance Scale (KPS)", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpm", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "Methylation of O6-Methylguanine-Methyltransferase (MGMT)", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mpn", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf5", - "name" : "Chromosome 1p: Loss of Heterozygosity (LOH)", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nph", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf6", - "name" : "Chromosome 19q: Loss of Heterozygosity (LOH)", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_opf", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf7", - "name" : "Surgical Resection", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_sfl", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Unifocal vs Multifocal Tumor", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_sql", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "144" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcd", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dna", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpa", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqf", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_una", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqf", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf25_snt", "ssf3_lpm", "ajcc7_stage_una", "ssf15_snj", "ajcc7_t_codes", "ssf6_opf", "ssf23_snr", "schema_selection_cns_other", "histology", "ssf1_jpo", "ajcc7_inclusions_tqf", "cs_input_version_original", "mets_hpa", "nodes_exam_gna", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ssf5_nph", "nodes_pos_fna", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "size_apa", "ajcc6_n_codes", "ssf2_kpl", "behavior", "nodes_dna", "ssf10_sne", "ssf18_snm", "ajcc7_n_codes", "ssf8_sql", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "extension_bcd", "ssf4_mpn", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "ssf7_sfl", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:11.846Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/colon.json b/src/test/resources/algorithms/cs/02.05.50/schemas/colon.json deleted file mode 100644 index 0ce5057ab..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/colon.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "colon", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Colon", - "title" : "Colon (excluding Appendix, Gastrointestinal Stromal Tumor, and Neuroendocrine Tumor)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF5, SSF7, SSF10\n\nM-8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701\nC18.0 - Cecum\nC18.2 - Ascending colon\nC18.3 - Hepatic flexure of colon\nC18.4 - Transverse colon\nC18.5 - Splenic flexure of colon\nC18.6 - Descending colon\nC18.7 - Sigmoid colon\nC18.8 - Overlapping lesion of colon\nC18.9 - Colon, NOS", - "schema_num" : 53, - "schema_selection_table" : "schema_selection_colon", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aad", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bao", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dan", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpb", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hae", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipb", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Carcinoembryonic Antigen (CEA)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpf", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "Clinical Assessment of Regional Lymph Nodes", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kpp", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf3", - "name" : "Carcinoembryonic Antigen (CEA) Lab Value", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpe", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf4", - "name" : "Tumor Deposits", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpb", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf5", - "name" : "Tumor Regression Grade", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_npb", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "Circumferential Resection Margin (CRM)", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opb", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf7", - "name" : "Microsatellite Instability (MSI)", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spf", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Perineural Invasion", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "999", - "table" : "ssf8_spg", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf9", - "name" : "KRAS", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_sph", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "18q Loss of Heterozygosity (LOH)", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spi", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "53" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bao", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dan", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "cs_input_version_original", "ssf2" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hae", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipb", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipb", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upw", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpf", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_exclusions_ppd", "lymph_nodes_clinical_eval_v0205_ajcc7_xaj", "size_aad", "ssf25_snt", "ssf7_spf", "ssf1_jpf", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf3_lpe", "histology", "ssf6_opb", "schema_selection_colon", "cs_input_version_original", "ssf22_snq", "ssf10_spi", "lvi", "ssf14_sni", "lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi", "ajcc_tdescriptor_cleanup", "extension_bao", "ajcc7_year_validation", "ssf21_snp", "ssf5_npb", "ssf17_snl", "ssf9_sph", "determine_correct_table_for_ajcc6_n_ns10", "ajcc_descriptor_codes", "lymph_nodes_clinical_evaluation_ajcc6_xbj", "ajcc7_inclusions_tpc", "ajcc7_stage_upw", "grade", "ssf8_spg", "summary_stage_rpa", "ajcc7_m_codes", "lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpb", "mets_hae", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "nodes_exam_gpa", "ssf2_kpp", "nodes_dan", "ajcc6_n_codes", "behavior", "mets_eval_ipb", "ssf18_snm", "ajcc6_stage_qpf", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpb", "ajcc6_stage_codes", "ssf19_snn", "determine_correct_table_for_ajcc7_n_ns11", "lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xqh", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:11.984Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/conjunctiva.json b/src/test/resources/algorithms/cs/02.05.50/schemas/conjunctiva.json deleted file mode 100644 index 7c81adadb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/conjunctiva.json +++ /dev/null @@ -1,1209 +0,0 @@ -{ - "id" : "conjunctiva", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Conjunctiva", - "title" : "Conjunctiva (excluding Retinoblastoma, Malignant Melanoma, Kaposi Sarcoma, and Lymphoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2\n\nC69.0 - Conjunctiva\n\n**Note**: Laterality must be coded for this site.", - "schema_num" : 131, - "schema_selection_table" : "schema_selection_conjunctiva", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "988", - "table" : "size_aaq", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbj", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dpa", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpc", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Tumor Size", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jbk", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "Ki-67/MIB Labeling Index (LI): Ophthalmic", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kay", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "131" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbj", - "inputs" : [ "extension", "size", "ssf1" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dpa", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpc", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_unb", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qnb", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_exclusions_ppd", "extension_size_table_csv2_xez", "ssf25_snt", "ajcc7_stage_unb", "schema_selection_conjunctiva", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "nodes_dpa", "size_aaq", "histology", "extension_bbj", "cs_input_version_original", "mets_hpc", "ssf22_snq", "lvi", "ssf2_kay", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc6_stage_qnb", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "extension_size_table_csv1_xas", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf1_jbk", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:12.129Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/corpus_adenosarcoma.json b/src/test/resources/algorithms/cs/02.05.50/schemas/corpus_adenosarcoma.json deleted file mode 100644 index 0f87e4c1e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/corpus_adenosarcoma.json +++ /dev/null @@ -1,1208 +0,0 @@ -{ - "id" : "corpus_adenosarcoma", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "CorpusAdenosarcoma", - "title" : "Adenosarcoma of the Corpus Uteri; Uterus, NOS", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8\n\nM-8933\nC54.0 - Isthmus uteri\nC54.1 - Endometrium\nC54.2 - Myometrium\nC54.3 - Fundus uteri\nC54.8 - Overlapping lesion of corpus uteri\nC54.9 - Corpus uteri\nC55.9 - Uterus, NOS\n\n**Note 1**: AJCC 7th Edition TNM staging reflects the new staging adopted by the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) and utilizes three new staging schemas for cancer of the Corpus Uteri based on histology. This is a change from the AJCC 6th Edition TNM staging. The three new schemas are:\n\n1. Carcinoma and carcinosarcoma \n2. Leiomyosarcoma and endometrial stromal sarcoma (ESS) \n3. Adenosarcoma \n\n**Note 2**: This schema is for adenosarcoma ONLY. When coding pay attention to the FIGO Editions and descriptions about cell and tumor types, disease extension, lymph node status and metastasis.\n\n**Note 3**: AJCC TNM values correspond to the stages accepted by FIGO. Note that FIGO uses a single stage value which corresponds to different groupings of T, N, and M values.", - "schema_num" : 112, - "schema_selection_table" : "schema_selection_corpus_adenosarcoma", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfl", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfh", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcl", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "FIGO Stage", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jca", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "Peritoneal Cytology", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kpo", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_BY_NPCR_2010_FORWARD" ] - }, { - "key" : "ssf3", - "name" : "Number of Positive Pelvic Nodes", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpp", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf4", - "name" : "Number of Examined Pelvic Nodes", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpq", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf5", - "name" : "Number of Positive Para-Aortic Nodes", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npk", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf6", - "name" : "Number of Examined Para-Aortic Nodes", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opg", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf7", - "name" : "Percentage of Non-Endometrioid Cell Type in Mixed Histology Tumors", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_sqn", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Omentectomy", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_sqo", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "112" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfl", - "inputs" : [ "extension", "ssf2" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfh", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcl", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqh", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqh", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_pae", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_pae", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "mets_hcl", "ssf3_lpp", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf6_opg", "ajcc7_inclusions_tqh", "ssf23_snr", "histology", "cs_input_version_original", "extension_bfl", "ssf22_snq", "lvi", "ssf14_sni", "ssf5_npk", "ajcc_tdescriptor_cleanup", "extension_cytology_summary_stage_xkl", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpa", "nodes_dfh", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "ssf7_sqn", "size_apa", "nodes_exam_gpa", "ajcc6_exclusions_pae", "ssf2_kpo", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf8_sqo", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "schema_selection_corpus_adenosarcoma", "ajcc7_stage_ubt", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ssf1_jca", "ssf4_mpq", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:12.272Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/corpus_carcinoma.json b/src/test/resources/algorithms/cs/02.05.50/schemas/corpus_carcinoma.json deleted file mode 100644 index 65ad4eb5b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/corpus_carcinoma.json +++ /dev/null @@ -1,1208 +0,0 @@ -{ - "id" : "corpus_carcinoma", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "CorpusCarcinoma", - "title" : "Carcinoma and Carcinosarcoma of Corpus Uteri; Uterus, NOS (excluding Placenta and Adenosarcoma, Leiomyosarcoma, and Endometrial Stromal Sarcoma (ESS))", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8\n\nM-8000-8790, 8950, 8951, 8980-8981,9700-9701\nC54.0 - Isthmus uteri\nC54.1 - Endometrium\nC54.2 - Myometrium\nC54.3 - Fundus uteri\nC54.8 - Overlapping lesion of corpus uteri\nC54.9 - Corpus uteri\nC55.9 - Uterus, NOS\n\n**Note 1**: AJCC 7th Edition TNM staging reflects the new staging adopted by the International Federation of Gynecology and Obstetrics (FIGO) and utilizes three new staging schemas for cancer of the Corpus Uteri based on histology. This is a change from the AJCC 6th Edition TNM staging. The three new schemas are: \n\n1. Carcinoma and carcinosarcoma \n2. Leiomyosarcoma and endometrial stromal sarcoma (ESS) \n3. Adenosarcoma\n\n**Note 2**: Carcinosarcoma should be staged as carcinoma.\n\n**Note 3**: This schema is for carcinoma and carcinosarcoma. When coding pay attention to the FIGO Editions and descriptions about cell and tumor types, disease extension, lymph node status and metastasis.\n\n**Note 4**: AJCC TNM values correspond to the stages accepted by the Federation Internationale de Gynecologic et d'Obstetrique (FIGO). Note that FIGO uses a single stage value which corresponds to different groupings of T, N, and M values.", - "schema_num" : 111, - "schema_selection_table" : "schema_selection_corpus_carcinoma", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbl", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbd", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_ham", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "FIGO Stage", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jbz", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "Peritoneal Cytology", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kpo", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_BY_NPCR_2010_FORWARD" ] - }, { - "key" : "ssf3", - "name" : "Number of Positive Pelvic Nodes", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpp", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf4", - "name" : "Number of Examined Pelvic Nodes", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpq", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf5", - "name" : "Number of Positive Para-Aortic Nodes", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npk", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf6", - "name" : "Number of Examined Para-Aortic Nodes", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opg", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf7", - "name" : "Percentage of Non-Endometrioid Cell Type in Mixed Histology Tumors", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_sqn", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Omentectomy", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_sqo", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "111" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbl", - "inputs" : [ "year_dx", "extension", "cs_input_version_original", "ssf2" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbd", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_ham", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqg", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubs", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqg", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_pae", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpw", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_pae", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf3_lpp", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf6_opg", "ssf23_snr", "ajcc6_stage_qpw", "histology", "ajcc7_inclusions_tqg", "cs_input_version_original", "ssf22_snq", "lvi", "extension_bbl", "ssf14_sni", "ssf5_npk", "determine_correct_table_for_ajcc6_t_ns6", "ajcc_tdescriptor_cleanup", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "mets_ham", "extension_cytology_ajcc6_table_csv1_xkn", "ajcc6_t_codes", "nodes_pos_fpa", "nodes_dbd", "ajcc_mdescriptor_cleanup", "schema_selection_corpus_carcinoma", "ssf11_snf", "ss_codes", "ssf7_sqn", "size_apa", "nodes_exam_gpa", "ajcc6_exclusions_pae", "extension_cytology_summary_stage_xqa", "ssf2_kpo", "ajcc6_n_codes", "extension_cytology_ajcc6_table_csv2_xkm", "behavior", "ssf10_sne", "ssf8_sqo", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ajcc7_stage_ubs", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf1_jbz", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ssf4_mpq", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:12.420Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/corpus_sarcoma.json b/src/test/resources/algorithms/cs/02.05.50/schemas/corpus_sarcoma.json deleted file mode 100644 index bf6f6f0a8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/corpus_sarcoma.json +++ /dev/null @@ -1,1208 +0,0 @@ -{ - "id" : "corpus_sarcoma", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "CorpusSarcoma", - "title" : "Sarcoma (Leiomyosarcoma and Endometrial Stromal Sarcoma) of the Corpus Uteri; Uterus, NOS (excluding Placenta and Adenosarcoma, Carcinoma, and Carcinosaroma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8\n\nM-8800-8932,8934-8941,8959-8974, 8982-9136,9141-9582 \nC54.0 - Isthmus uteri\nC54.1 - Endometrium\nC54.2 - Myometrium\nC54.3 - Fundus uteri\nC54.8 - Overlapping lesion of corpus uteri\nC54.9 - Corpus uteri\nC55.9 - Uterus, NOS\n\n**Note 1**: AJCC 7th Edition TNM staging reflects the new staging adopted by the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) and utilizes three new staging schemas for cancer of the Corpus Uteri based on histology. This is a change from the AJCC 6th Edition TNM staging. The three new schemas are:\n\n1. Carcinoma and carcinosarcoma\n2. Leiomyosarcoma and endometrial stromal sarcoma (ESS)\n3. Adenosarcoma\n\n**Note 2**: This schema is for leiomyosarcoma and endometrial stromal sarcoma (ESS). \n\n**Note 3**: When coding pay attention to the FIGO Editions and descriptions about cell and tumor types, disease extension, lymph node status and metastasis.\n\n**Note 4**: AJCC TNM values correspond to the stages accepted by FIGO. Note that FIGO uses a single stage value which corresponds to different groupings of T, N, and M values.", - "schema_num" : 113, - "schema_selection_table" : "schema_selection_corpus_sarcoma", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_app", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfm", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfi", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcm", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "FIGO Stage", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jbh", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "Peritoneal Cytology", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kpo", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_BY_NPCR_2010_FORWARD" ] - }, { - "key" : "ssf3", - "name" : "Number of Positive Pelvic Nodes", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpp", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf4", - "name" : "Number of Examined Pelvic Nodes", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpq", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf5", - "name" : "Number of Positive Para-Aortic Nodes", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npk", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf6", - "name" : "Number of Examined Para-Aortic Nodes", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opg", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf7", - "name" : "Percentage of Non-Endometrioid Cell Type in Mixed Histology Tumors", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_sqn", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Omentectomy", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_sqo", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "113" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfm", - "inputs" : [ "year_dx", "extension", "size", "cs_input_version_original", "ssf2" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfi", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcm", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqi", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqi", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_pae", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpw", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_pae", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "mets_hcm", "ssf3_lpp", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf6_opg", "ssf23_snr", "ajcc7_inclusions_tqi", "ajcc6_stage_qpw", "histology", "cs_input_version_original", "extension_bfm", "ssf22_snq", "lvi", "ssf14_sni", "ssf5_npk", "ajcc_tdescriptor_cleanup", "schema_selection_corpus_sarcoma", "determine_correct_table_for_ajcc6_t_ns7", "extension_size_ajcc7_xkr", "ajcc7_year_validation", "extension_cytology_summary_stage_xkp", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "nodes_dfi", "extension_cytology_ajcc6_table_csv1_xko", "ssf11_snf", "ss_codes", "ssf7_sqn", "nodes_exam_gpa", "ajcc6_exclusions_pae", "ssf2_kpo", "ajcc6_n_codes", "behavior", "ssf1_jbh", "extension_cytology_ajcc6_table_csv2_xkq", "ssf10_sne", "ssf8_sqo", "ssf18_snm", "mets_eval_ipa", "size_app", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ajcc7_stage_ubu", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ssf4_mpq", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:12.623Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/cystic_duct.json b/src/test/resources/algorithms/cs/02.05.50/schemas/cystic_duct.json deleted file mode 100644 index 6d8b34631..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/cystic_duct.json +++ /dev/null @@ -1,1219 +0,0 @@ -{ - "id" : "cystic_duct", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "CysticDuct", - "title" : "Cystic Duct", - "notes" : "C24.0 - Extrahepatic Bile Duct\n\n**Note**: In the 7th edition of the AJCC manual, Cystic Duct was removed from the Extrahepatic Bile Duct staging chapter and added to the Gallbladder staging chapter. For Collaborative Stage version 2, a new schema was created for Cystic Duct due to differences between schemas for bile ducts and gallbladder.", - "schema_num" : 64, - "schema_selection_table" : "schema_selection_cystic_duct", - "schema_discriminators" : [ "ssf25" ], - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfw", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfr", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcv", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: BileDuctsDistal/BileDuctsPerihilar/CysticDuct", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "999", - "table" : "ssf25_sqi", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_2004_FORWARD" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "64" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfw", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfr", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcv", - "inputs" : [ "nodes", "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf25_sqi", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc7_stage_uqb", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ssf25_sqi", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc6_stage_qpv", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "extension_bfw", "ssf2_kna", "ajcc6_exclusions_ppd", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ajcc6_stage_qpv", "histology", "cs_input_version_original", "mets_hcv", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_stage_uqb", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "schema_selection_cystic_duct", "ajcc7_inclusions_tpe", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jna", "ajcc6_t_codes", "lymph_nodes_metsat_dxajcc6_xjd", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf25_sqi", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "nodes_dfr", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:12.794Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/digestive_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/digestive_other.json deleted file mode 100644 index 8618b639f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/digestive_other.json +++ /dev/null @@ -1,1120 +0,0 @@ -{ - "id" : "digestive_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "DigestiveOther", - "title" : "Other and Ill-Defined Digestive Organs", - "notes" : "C26.0 - Intestinal tract, NOS\nC26.8 - Overlapping lesion of digestive system\nC26.9 - Gastrointestinal tract, NOS\n\n**Note**: AJCC does not define TNM staging for this site.", - "schema_num" : 72, - "schema_selection_table" : "schema_selection_digestive_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcg", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbx", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpa", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "72" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcg", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbx", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpa", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "mets_hpa", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "ssf4_mna", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "schema_selection_digestive_other", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "extension_bcg", "ajcc6_m_codes", "nodes_dbx", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:12.917Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/endocrine_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/endocrine_other.json deleted file mode 100644 index fbe764861..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/endocrine_other.json +++ /dev/null @@ -1,1119 +0,0 @@ -{ - "id" : "endocrine_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "EndocrineOther", - "title" : "Thymus and Other Endocrine Glands (excluding Adrenal Gland, Pituitary Gland, Craniopharyngeal Duct, and Pineal Gland", - "notes" : "C37.9 - Thymus\nC75.0 - Parathyroid gland\nC75.4 - Carotid body\nC75.5 - Aortic body and other paraganglia\nC75.8 - Overlapping lesion of endocrine glands and related structures\nC75.9 - Endocrine gland, NOS\n\n**Note 1**: Laterality must be coded for C75.4.\n\n**Note 2**: AJCC does not define TNM staging for these sites.\n\n**Note 3**: Adrenal gland primaries (C74.0, C74.1, and C74.9) are included in the Adrenal Gland schema.\n\n**Note 4**: Pituitary gland (C75.1), craniopharyngeal duct (C75.2), and pineal gland (C75.3) primaries are included in the Intracranial Gland schema.", - "schema_num" : 148, - "schema_selection_table" : "schema_selection_endocrine_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bco", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcd", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpd", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpb", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpa", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "OBSOLETE - WHO Grade Classification", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jaw", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "148" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bco", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcd", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpa", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "mets_hpa", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "ssf4_mna", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "ajcc_mdescriptor_cleanup", "ssf1_jaw", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "nodes_exam_gpb", "ssf6_ona", "size_apa", "ajcc6_n_codes", "schema_selection_endocrine_other", "behavior", "ssf10_sne", "ssf18_snm", "nodes_dcd", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "nodes_pos_fpd", "ajcc6_m_codes", "cs_year_validation", "extension_bco", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:13.063Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/epiglottis_anterior.json b/src/test/resources/algorithms/cs/02.05.50/schemas/epiglottis_anterior.json deleted file mode 100644 index 339499cf6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/epiglottis_anterior.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "epiglottis_anterior", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "EpiglottisAnterior", - "title" : "Anterior Surface of Epiglottis (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC10.1 - Anterior surface of epiglottis\n\n**Note**: AJCC includes lingual (anterior) surface of epiglottis (C10.1) with larynx. SEER Extent of Disease included it with oropharynx.", - "schema_num" : 32, - "schema_selection_table" : "schema_selection_epiglottis_anterior", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcw", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcs", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "32" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcw", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcs", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "nodes_dcs", "schema_selection_epiglottis_anterior", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "extension_bcw", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:13.166Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/esophagus.json b/src/test/resources/algorithms/cs/02.05.50/schemas/esophagus.json deleted file mode 100644 index 2e1bffaee..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/esophagus.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "esophagus", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Esophagus", - "title" : "Esophagus", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2, SSF3, SSF4, SSF5\n\nC15.0 - Cervical esophagus\nC15.1 - Thoracic esophagus\nC15.2 - Abdominal esophagus\nC15.3 - Upper third of esophagus\nC15.4 - Middle third of esophagus\nC15.5 - Lower third of esophagus\nC15.8 - Overlapping lesion of esophagus\nC15.9 - Esophagus, NOS\n\n**Note 1**: The cardia/gastroesophageal junction (EGJ), and the proximal 5 centimeters (cm) of the fundus and body of the stomach (C16.0-C16.2) have been removed from the Stomach chapter and added to the Esophagus chapter effective with AJCC 7th Edition. A new schema EsophagusGEJunction was created in CSv2 to accommodate this change. Tumors arising at the EGJ, or arising in the stomach within 5 cm of the EGJ and crossing the EGJ are staged using the EsophagusGEJunction schema. All other cancers with a midpoint in the stomach lying more than 5 cm distal to the EGJ, or those within 5 cm of the EGJ but not extending into the EGJ or esophagus, are staged using the stomach schema.\n\n**Note 2**: There are two widely used but incompatible systems of dividing the esophagus into subsites, one using anatomic landmarks and the other using using thirds of the total length. Each of these two systems has been assigned topography codes in ICD-O-3; codes C15.0-C15.2 for the former, and C15.3-C15.5 for the latter. As explained on page 23 of ICD-O-3, \"The terms cervical, thoracic, and abdominal are radiographic and intraoperative descriptors; upper, middle, and lower third are endoscopic and clinical descriptors.\" In actual practice by physicians, and in publications of UICC and AJCC, the terms and codes for the upper, middle, and lower thirds are often applied to sub-sections of the thoracic esophagus, and the abdominal portion can be considered part of the lower thoracic esophagus. \n\n**Note 3**: Anatomic Limits of Esophagus: \n\n* Cervical Esophagus (C15.0): From the lower border of the cricoid cartilage to the thoracic inlet (suprasternal notch), about 18 cm from the incisors.\n* Thoracic Esophagus (C15.1) and Abdominal Esophagus (C15.2):\n * Upper thoracic portion (C15.3): From the thoracic inlet to the level of the tracheal bifurcation (18-24 cm). \n * Mid-thoracic portion (C15.4): From the tracheal bifurcation midway to the GEJ (24-32 cm).\n * Lower thoracic portion (C15.5): From midway between the tracheal bifurcation and the EGJ to the EGJ including the abdominal esophagus (32-40 cm). \n\n**Note 4**: Effective with AJCC TNM 7th Edition, there are separate stage groupings for squamous cell carcinoma and adenocarcinoma. Since squamous cell carcinoma typically has a poorer prognosis than adenocarcinoma, a tumor of mixed histopathologic type or a type that is not otherwise specified should be classified as squamous cell carcinoma. \n\n**Note 5**: Effective with AJCC TNM 7th Edition, histologic grade is required for stage grouping.", - "schema_num" : 41, - "schema_selection_table" : "schema_selection_esophagus", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aag", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbb", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dat", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpc", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hbg", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Clinical Assessment of Regional Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpn", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "Specific Location of Tumor", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kas", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Number of Regional Lymph Nodes with Extracapsular Tumor", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpl", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "Distance to Proximal Edge of Tumor from Incisors", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mpg", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "Distance to Distal Edge of Tumor from Incisors", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_npg", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "41" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbb", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dat", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "cs_input_version_original", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hbg", - "inputs" : [ "nodes", "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "histologies_stage_xhw", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "hist", "ajcc7_n", "site", "ajcc7_m", "grade", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qah", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "schema_selection_esophagus", "ssf2_kas", "ajcc6_exclusions_ppd", "ssf25_snt", "size_aag", "ssf3_lpl", "lymph_nodes_clinical_eval_v0205_ajcc7_xaw", "lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xfr", "ssf15_snj", "ajcc7_t_codes", "extension_bbb", "ssf23_snr", "histology", "ssf1_jpn", "cs_input_version_original", "lymph_nodes_metsat_dxtable_ajcc6_xfv", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "histologies_stage_xhw", "ssf5_npg", "ssf17_snl", "mets_hbg", "ajcc_descriptor_codes", "lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfq", "ajcc6_stage_qah", "ajcctnm7_stage_squamous_xhy", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "nodes_dat", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "ajcctnm7_stage_adenocarcinoma_xhz", "primary_site", "ajcc6_year_validation", "determine_correct_table_for_ajcc7_n_ns12", "nodes_pos_fpc", "ajcc6_m_codes", "nodes_eval_epa", "ssf4_mpg", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:13.559Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/esophagus_gejunction.json b/src/test/resources/algorithms/cs/02.05.50/schemas/esophagus_gejunction.json deleted file mode 100644 index daa7b1001..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/esophagus_gejunction.json +++ /dev/null @@ -1,1216 +0,0 @@ -{ - "id" : "esophagus_gejunction", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "EsophagusGEJunction", - "title" : "EsophagusGEJunction", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF3, SSF4, SSF5\n\nC16.0 - Cardia, esophagogastric junction (EGJ)\nC16.1 - Fundus of stomach, proximal 5 centimeters (cm) only\nC16.2 - Body of stomach, proximal 5 cm only\n\n**Note 1**: The cardia/EGJ and the proximal 5 cm of the fundus and body of the stomach have been removed from the Stomach chapter and added to the Esophagus chapter effective with AJCC TNM 7th Edition. Due to differences between the schemas for Esophagus and Stomach, a new schema was created in CSv2 to accommodate these changes. Since primary site codes C16.1 (fundus of stomach) and C16.2 (body of stomach) can be assigned to either schema, EsophagusGEJunction or Stomach, a schema discriminator field is needed for the CS algorithm to determine which schema to select. \nIn AJCC 7th Edition, cancers with a midpoint in the lower thoracic esophagus, in the EGJ, or within the proximal 5 cm of the stomach (cardia) and extending into the EGJ or esophagus, are staged similarly to cancers of the esophagus. All other cancers with a midpoint in the stomach greater than 5 cm distal to the EGJ, or those within 5 cm of the EGJ but not extending into the EGJ or esophagus, are staged using the gastric cancer staging system.\n\n**Note 2**: Effective with AJCC TNM 7th Edition, there are separate stage groupings for squamous cell carcinoma and adenocarcinoma of the esophagus. Since squamous cell carcinoma typically has a poorer prognosis than adenocarcinoma, a tumor of mixed histopathologic type or a type that is not otherwise specified should be classified as squamous cell carcinoma. \n\n**Note 3**: Effective with AJCC TNM 7th Edition, histologic grade is required for stage grouping.", - "schema_num" : 43, - "schema_selection_table" : "schema_selection_esophagus_gejunction", - "schema_discriminators" : [ "ssf25" ], - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aah", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdr", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddm", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpc", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hbu", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Clinical Assessment of Regional Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jcf", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "Number of Regional Lymph Nodes with Extracapsular Tumor", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpl", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "Distance to Proximal Edge of Tumor from Incisors", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mpg", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "Distance to Distal Edge of Tumor from Incisors", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_npg", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: EsophagusGEJunction (EGJ)/Stomach", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "999", - "table" : "ssf25_spv", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_2004_FORWARD" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "43" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdr", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddm", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "cs_input_version_original", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hbu", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf25_spv", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "histologies_stage_xhx", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "hist", "ajcc7_n", "ajcc7_m", "grade", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ssf25_spv", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc6_stage_qcb", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ajcc6_exclusions_ppd", "size_aah", "ssf3_lpl", "nodes_ddm", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "lymph_nodes_clinical_eval_v0205_ajcc7_xax", "cs_input_version_original", "lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "histologies_stage_xhx", "ajcc7_year_validation", "ssf21_snp", "ssf5_npg", "ssf17_snl", "lymph_nodes_clinical_evaluation0or5_ajcc6_xbg", "ajcc_descriptor_codes", "determine_correct_table_for_ajcc6_n_ns13", "ajcc7_inclusions_tpc", "lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfs", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcctnm7_stage_squamous_xia", "mets_hbu", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "lymph_nodes_clinical_evaluation1or9_ajcc6_xbf", "extension_bdr", "lymph_nodes_pathologic_evaluation7th_table_also_used_when_csreg_nodes_evalis_not_coded_xft", "ajcc6_t_codes", "ssf25_spv", "ajcc6_stage_qcb", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "schema_selection_esophagus_gejunction", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "determine_correct_table_for_ajcc7_n_ns14", "ajcc6_year_validation", "ajcctnm7_stage_adenocarcinoma_xib", "nodes_pos_fpc", "ajcc6_m_codes", "nodes_eval_epa", "ssf4_mpg", "ssf1_jcf", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:13.831Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/eye_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/eye_other.json deleted file mode 100644 index 9bb7b7166..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/eye_other.json +++ /dev/null @@ -1,1120 +0,0 @@ -{ - "id" : "eye_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "EyeOther", - "title" : "Cornea, Retina, Choroid, Ciliary Body, Iris, Overlapping Lesion of Eye, and Other Eye (excluding Melanoma and Retinoblastoma)", - "notes" : "C69.1 - Cornea, NOS\nC69.2 - Retina\nC69.3 - Choroid\nC69.4 - Ciliary body\nC69.8 - Overlapping lesion of eye and adnexa\nC69.9 - Eye, NOS\n\n**Note 1**: Laterality must be coded for this site.\n\n**Note 2**: AJCC does not define TNM staging for these sites.\n\n**Note 3**: AJCC includes primary site C69.8 (overlapping lesion of eye and adnexa) in its chapter 46, Sarcoma of the Orbit. Collaborative Staging excludes melanomas and retinoblastomas from this schema.", - "schema_num" : 133, - "schema_selection_table" : "schema_selection_eye_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bpb", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dpb", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpa", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "133" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bpb", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dpb", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpa", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "mets_hpa", "nodes_dpb", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "ssf4_mna", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "ajcc7_n_codes", "ajcc6_stage_codes", "extension_bpb", "ssf5_nna", "schema_selection_eye_other", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:13.968Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/fallopian_tube.json b/src/test/resources/algorithms/cs/02.05.50/schemas/fallopian_tube.json deleted file mode 100644 index 259a4ca18..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/fallopian_tube.json +++ /dev/null @@ -1,1208 +0,0 @@ -{ - "id" : "fallopian_tube", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "FallopianTube", - "title" : "Fallopian Tube", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2, SSF3\n\nC57.0 - Fallopian tube\n\n**Note 1**: Laterality must be coded for this site.\n\n**Note 2**: AJCC TNM values correspond to the stages accepted by the Federation Internationale de Gynecologic et d'Obstetrique (FIGO). Note that FIGO uses a single stage value which corresponds to different groupings of T, N, and M values.", - "schema_num" : 115, - "schema_selection_table" : "schema_selection_fallopian_tube", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbh", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_daz", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hai", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "FIGO Stage", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jbp", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "Biopsy of Metastatic Site", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kbc", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Primary Tumor Location", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_laq", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "Number of Positive Pelvic Nodes", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mav", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf5", - "name" : "Number of Examined Pelvic Nodes", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_nas", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf6", - "name" : "Number of Positive Para-Aortic Nodes", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_oap", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf7", - "name" : "Number of Examined Para-Aortic Nodes", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "999", - "table" : "ssf7_sde", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "115" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbh", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_daz", - "inputs" : [ "nodes", "mets" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hai", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubb", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qac", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_exclusions_ppd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ssf2_kbc", "cs_input_version_original", "extension_bbh", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "ssf7_sde", "schema_selection_fallopian_tube", "grade", "ajcc6_stage_qac", "summary_stage_rpa", "ssf4_mav", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "mets_hai", "ssf6_oap", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "size_apa", "nodes_exam_gpa", "ssf3_laq", "ajcc6_n_codes", "nodes_daz", "behavior", "lymph_nodes_metsat_dxajcc6_xfm", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf1_jbp", "ajcc6_stage_codes", "ssf5_nas", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng", "ajcc7_stage_ubb" ], - "last_modified" : "2020-06-30T19:47:14.150Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/floor_mouth.json b/src/test/resources/algorithms/cs/02.05.50/schemas/floor_mouth.json deleted file mode 100644 index a4db4c865..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/floor_mouth.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "floor_mouth", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "FloorMouth", - "title" : "Floor of Mouth (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC04.0 - Anterior floor of mouth\nC04.1 - Lateral floor of mouth\nC04.8 - Overlapping lesion of floor of mouth\nC04.9 - Floor of mouth, NOS", - "schema_num" : 17, - "schema_selection_table" : "schema_selection_floor_mouth", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apc", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bae", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dpd", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "17" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bae", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dpd", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "schema_selection_floor_mouth", "ssf22_snq", "lvi", "nodes_dpd", "ssf14_sni", "ajcc_tdescriptor_cleanup", "extension_size_xac", "ssf9_spc", "lymph_nodes_size_xpd", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "extension_bae", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "nodes_exam_gpa", "size_apc", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:14.373Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/gallbladder.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gallbladder.json deleted file mode 100644 index 907fd1efc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/gallbladder.json +++ /dev/null @@ -1,1208 +0,0 @@ -{ - "id" : "gallbladder", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Gallbladder", - "title" : "Gallbladder", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF15, SSF16\n\nC23.9 - Gallbladder", - "schema_num" : 62, - "schema_selection_table" : "schema_selection_gallbladder", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbd", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dav", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hbe", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "Extent of Liver Resection", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_sdm", - "used_for_staging" : false - }, { - "key" : "ssf16", - "name" : "Primary Tumor Location within Gallbladder", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_sdn", - "used_for_staging" : false - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "62" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbd", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dav", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hbe", - "inputs" : [ "nodes", "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uqb", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_pac", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qag", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_pac", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ssf25_snt", "ajcc7_t_codes", "ssf23_snr", "histology", "extension_bbd", "schema_selection_gallbladder", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_stage_uqb", "ajcc7_year_validation", "ssf21_snp", "mets_hbe", "ssf17_snl", "ajcc_descriptor_codes", "ajcc6_stage_qag", "ajcc7_inclusions_tpe", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf1_jna", "ajcc6_t_codes", "ssf16_sdn", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ajcc6_exclusions_pac", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "nodes_dav", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "lymph_nodes_metsat_dxajcc6_xhv", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ssf15_sdm", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:14.753Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/genital_female_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/genital_female_other.json deleted file mode 100644 index 2f7da84ef..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/genital_female_other.json +++ /dev/null @@ -1,1120 +0,0 @@ -{ - "id" : "genital_female_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "GenitalFemaleOther", - "title" : "Other and Unspecified Female Genital Organs", - "notes" : "C57.7 - Other specified parts of female genital organs\nC57.8 - Overlapping lesion of female genital organs\nC57.9 - Female genital tract, NOS\n\n**Note**: AJCC does not define TNM staging for this site.", - "schema_num" : 117, - "schema_selection_table" : "schema_selection_genital_female_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcm", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcb", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpa", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "117" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcm", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcb", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpa", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "mets_hpa", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "ssf4_mna", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "schema_selection_genital_female_other", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "nodes_dcb", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "extension_bcm", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:14.873Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/genital_male_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/genital_male_other.json deleted file mode 100644 index f125c72bc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/genital_male_other.json +++ /dev/null @@ -1,1120 +0,0 @@ -{ - "id" : "genital_male_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "GenitalMaleOther", - "title" : " Other and Unspecified Male Genital Organs (excluding Scrotum, Kaposi Sarcoma and Lymphoma)", - "notes" : "C63.0 - Epididymis\nC63.1 - Spermatic cord\nC63.7 - Other specified parts of male genital organs\nC63.8 - Overlapping lesion of male genital organs\nC63.9 - Male genital organs, NOS\n\n**Note 1**: AJCC does not define TNM staging for this site.\n\n**Note 2**: Laterality must be coded for C63.0-C63.1.\n\n**Note 3**: Melanoma, mycosis fungoides, or Sezary disease of all sites listed is coded using this schema. Kaposi sarcoma of all sites is included in the Kaposi sarcoma schema, and lymphomas of all sites are included in the lymphoma schema.", - "schema_num" : 123, - "schema_selection_table" : "schema_selection_genital_male_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcl", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dca", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpa", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "123" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcl", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dca", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpa", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "mets_hpa", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "ssf4_mna", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "schema_selection_genital_male_other", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "nodes_dca", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "extension_bcl", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:15.186Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/gist_appendix.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gist_appendix.json deleted file mode 100644 index e2094517a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/gist_appendix.json +++ /dev/null @@ -1,1158 +0,0 @@ -{ - "id" : "gist_appendix", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "GISTAppendix", - "title" : "Gastrointestinal Stromal Tumor of Appendix", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF13, SSF14, SSF15\n\nM- 8935-8936\nC18.1 - Appendix\n\n**Note**: The histologies included in this schema were not staged with AJCC 6th Edition. Therefore, the algorithm will not derive an AJCC 6th TNM or stage group.", - "schema_num" : 52, - "schema_selection_table" : "schema_selection_gist_appendix", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apr", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfh", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfd", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hch", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "OBSOLETE - Carcinoembryonic Antigen (CEA)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpv", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Clinical Assessment of Regional Lymph Nodes", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kph", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "Mitotic Count", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spk", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf12", - "name" : "KIT Gene Immunohistochemistry (IHC)", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_spl", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION" ] - }, { - "key" : "ssf13", - "name" : "KIT Gene Mutations", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_spm", - "used_for_staging" : false - }, { - "key" : "ssf14", - "name" : "PDGFRA Gene Mutation", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_spn", - "used_for_staging" : false - }, { - "key" : "ssf15", - "name" : "Tumor Multiplicity", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_spo", - "used_for_staging" : false - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "52" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfh", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfd", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hch", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpo", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "mitotic_rate_calculation_xpi", - "inputs" : [ "ssf11" ], - "outputs" : [ "mitotic_rate" ] - }, { - "id" : "ajcc7_stage_upy", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "mitotic_rate", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpo", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf11_spk", "ssf25_snt", "mets_hch", "ajcc7_t_codes", "ssf23_snr", "histology", "extension_bfh", "cs_input_version_original", "ssf22_snq", "ssf1_jpv", "lvi", "ssf13_spm", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "schema_selection_gist_appendix", "ajcc7_stage_upy", "grade", "ajcc7_inclusions_tpo", "summary_stage_rpa", "ajcc7_m_codes", "ssf12_spl", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "mitotic_rate_calculation_xpi", "nodes_dfd", "ssf15_spo", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf3_lna", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf14_spn", "ssf2_kph", "ssf10_sne", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "size_apr", "ajcc6_stage_codes", "extension_eval_cpb", "ssf5_nna", "extension_size_ajcc7_xet", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf8_snc" ], - "last_modified" : "2020-06-30T19:47:15.388Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/gist_colon.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gist_colon.json deleted file mode 100644 index b615bc153..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/gist_colon.json +++ /dev/null @@ -1,1158 +0,0 @@ -{ - "id" : "gist_colon", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "GISTColon", - "title" : "Gastrointestinal Stromal Tumors of Colon (excluding Appendix)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF13, SSF14, SSF15\n\nM-8935-8936\nC18.0 - Cecum\nC18.2 - Ascending colon\nC18.3 - Hepatic flexure of colon\nC18.4 - Transverse colon\nC18.5 - Splenic flexure of colon\nC18.6 - Descending colon\nC18.7 - Sigmoid colon\nC18.8 - Overlapping lesion of colon\nC18.9 - Colon, NOS\n\n**Note**: The histologies included in this schema were not staged with AJCC 6th Edition. Therefore, the algorithm will not derive an AJCC 6th TNM or stage group.", - "schema_num" : 54, - "schema_selection_table" : "schema_selection_gist_colon", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apr", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfe", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dey", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "OBSOLETE - Carcinoembryonic Antigen (CEA)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpv", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Clinical Assessment of Regional Lymph Nodes", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kph", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "Mitotic Count", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spk", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf12", - "name" : "KIT Gene Immunohistochemistry (IHC)", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_spl", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION" ] - }, { - "key" : "ssf13", - "name" : "KIT Gene Mutations", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_spm", - "used_for_staging" : false - }, { - "key" : "ssf14", - "name" : "PDGFRA Gene Mutation", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_spn", - "used_for_staging" : false - }, { - "key" : "ssf15", - "name" : "Tumor Multiplicity", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_spo", - "used_for_staging" : false - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "54" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfe", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dey", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpo", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "mitotic_rate_calculation_xpi", - "inputs" : [ "ssf11" ], - "outputs" : [ "mitotic_rate" ] - }, { - "id" : "ajcc7_stage_upy", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "mitotic_rate", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpo", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf11_spk", "ssf25_snt", "ajcc7_t_codes", "ssf23_snr", "extension_bfe", "histology", "cs_input_version_original", "ssf22_snq", "ssf1_jpv", "lvi", "ssf13_spm", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upy", "schema_selection_gist_colon", "mets_hcb", "grade", "ajcc7_inclusions_tpo", "summary_stage_rpa", "ajcc7_m_codes", "ssf12_spl", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "mitotic_rate_calculation_xpi", "ssf15_spo", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf3_lna", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf14_spn", "nodes_dey", "ssf2_kph", "ssf10_sne", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "size_apr", "ajcc6_stage_codes", "extension_eval_cpb", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "primary_site", "ajcc6_year_validation", "extension_size_ajcc7_xeb", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf8_snc" ], - "last_modified" : "2020-06-30T19:47:15.606Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/gist_esophagus.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gist_esophagus.json deleted file mode 100644 index 138237417..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/gist_esophagus.json +++ /dev/null @@ -1,1160 +0,0 @@ -{ - "id" : "gist_esophagus", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "GISTEsophagus", - "title" : "Gastrointestinal Stromal Tumor of Esophagus", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF8, SSF9, SSF10\n\nM- 8935-8936\nC15.0 - Cervical esophagus\nC15.1 - Thoracic esophagus\nC15.2 - Abdominal esophagus\nC15.3 - Upper third of esophagus\nC15.4 - Middle third of esophagus\nC15.5 - Lower third of esophagus\nC15.8 - Overlapping lesion of esophagus\nC15.9 - Esophagus, NOS\n\n**Note**: The histologies included in this schema were not staged with AJCC 6th Edition. Therefore, the algorithm will not derive an AJCC 6th TNM or stage group.", - "schema_num" : 42, - "schema_selection_table" : "schema_selection_gist_esophagus", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_api", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfn", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfj", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcn", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "Mitotic Count", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_oph", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf7", - "name" : "KIT Gene Immunohistochemistry (IHC)", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_sre", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION" ] - }, { - "key" : "ssf8", - "name" : "KIT Gene Mutations", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_srf", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "PDGFRA Gene Mutation", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_srg", - "used_for_staging" : false - }, { - "key" : "ssf10", - "name" : "Tumor Multiplicity", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_srh", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "42" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfn", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfj", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcn", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpo", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "mitotic_rate_calculation_xqe", - "inputs" : [ "ssf6" ], - "outputs" : [ "mitotic_rate" ] - }, { - "id" : "ajcc7_stage_upy", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "mitotic_rate", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpo", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "mets_hcn", "ssf2_kna", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "extension_size_ajcc7_xfd", "histology", "extension_bfn", "cs_input_version_original", "ssf22_snq", "lvi", "ssf6_oph", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "mitotic_rate_calculation_xqe", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upy", "grade", "ajcc7_inclusions_tpo", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf10_srh", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_sre", "nodes_dfj", "ssf11_snf", "ssf3_lna", "ss_codes", "schema_selection_gist_esophagus", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "size_api", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ajcc6_stage_codes", "extension_eval_cpb", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_srg", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf8_srf", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:15.779Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/gist_peritoneum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gist_peritoneum.json deleted file mode 100644 index 991afd60c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/gist_peritoneum.json +++ /dev/null @@ -1,1211 +0,0 @@ -{ - "id" : "gist_peritoneum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "GISTPeritoneum", - "title" : "Gastrointestinal Stromal Tumors of Peritoneum and Retroperitoneum", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF9\n\nM-8935-8936\nC48.0 - Retroperitioneum\nC48.1 - Specified parts of peritoneum (including omentum and mesentery)\nC48.2 - Peritoneum, NOS\nC48.8 - Overlapping lesion of retroperitoneum and peritoneum", - "schema_num" : 104, - "schema_selection_table" : "schema_selection_gist_peritoneum", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aps", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfu", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfp", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcs", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "Mitotic Count", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_nav", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf6", - "name" : "KIT Gene Immunohistochemistry (IHC)", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_oas", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION" ] - }, { - "key" : "ssf7", - "name" : "KIT Gene Mutations", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_sdo", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "PDGFRA Gene Mutation", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_sdp", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Tumor Multiplicity", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_sdq", - "used_for_staging" : false - }, { - "key" : "ssf10", - "name" : "Location of Primary Tumor", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "999", - "table" : "ssf10_sqj", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "104" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfu", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfp", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcs", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpo", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "mitotic_rate_calculation_xjm", - "inputs" : [ "ssf5" ], - "outputs" : [ "mitotic_rate" ] - }, { - "id" : "ssf10_sqj", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "mitotic_rate", "ajcc7_m", "ajcc7_t", "ssf10" ], - "outputs" : [ "stage_table", "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpo", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpi", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "grade", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "extension_bfu", "ajcc6_exclusions_ppc", "ssf2_kna", "ssf9_sdq", "extension_size_ajcc7_xfp", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ssf8_sdp", "mets_hcs", "cs_input_version_original", "ajcctnm7_stage_giststomach_xit", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ssf7_sdo", "schema_selection_gist_peritoneum", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upy", "grade", "ajcc7_inclusions_tpo", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ssf10_sqj", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ssf3_lna", "ss_codes", "nodes_exam_gpa", "ssf6_oas", "ajcc6_n_codes", "behavior", "ssf18_snm", "ajcc6_stage_qpi", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "size_aps", "ajcc6_stage_codes", "ssf5_nav", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "nodes_dfp", "mitotic_rate_calculation_xjm", "extension_size_ajcc6_xir", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:16.022Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/gist_rectum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gist_rectum.json deleted file mode 100644 index cf1e1ddb5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/gist_rectum.json +++ /dev/null @@ -1,1158 +0,0 @@ -{ - "id" : "gist_rectum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "GISTRectum", - "title" : "Gastrointestinal Stromal Tumor of Rectum and Rectosigmoid Junction", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF13, SSF14, SSF15\n\nM-8935-8936\nC19.9 - Rectosigmoid junction\nC20.9 - Rectum, NOS\n\n**Note**: The histologies included in this schema were not staged with AJCC 6th Edition. Therefore, the algorithm will not derive an AJCC 6th TNM or stage group.", - "schema_num" : 57, - "schema_selection_table" : "schema_selection_gist_rectum", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apr", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bff", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dez", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcc", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "OBSOLETE - Carcinoembryonic Antigen (CEA)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpv", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Clinical Assessment of Regional Lymph Nodes", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kph", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "Mitotic Count", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spk", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf12", - "name" : "KIT Gene Immunohistochemistry (IHC)", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_spl", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION" ] - }, { - "key" : "ssf13", - "name" : "KIT Gene Mutations", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_spm", - "used_for_staging" : false - }, { - "key" : "ssf14", - "name" : "PDGFRA Gene Mutation", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_spn", - "used_for_staging" : false - }, { - "key" : "ssf15", - "name" : "Tumor Multiplicity", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_spo", - "used_for_staging" : false - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "57" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bff", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dez", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcc", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpo", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "mitotic_rate_calculation_xpi", - "inputs" : [ "ssf11" ], - "outputs" : [ "mitotic_rate" ] - }, { - "id" : "ajcc7_stage_upy", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "mitotic_rate", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpo", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "mets_hcc", "ssf11_spk", "ssf25_snt", "ajcc7_t_codes", "extension_bff", "ssf23_snr", "histology", "cs_input_version_original", "ssf22_snq", "ssf1_jpv", "lvi", "ssf13_spm", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upy", "grade", "ajcc7_inclusions_tpo", "summary_stage_rpa", "ajcc7_m_codes", "ssf12_spl", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "mitotic_rate_calculation_xpi", "ssf15_spo", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf3_lna", "ss_codes", "schema_selection_gist_rectum", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf14_spn", "ssf2_kph", "ssf10_sne", "mets_eval_ipc", "nodes_dez", "ssf18_snm", "ajcc7_n_codes", "size_apr", "ajcc6_stage_codes", "extension_eval_cpb", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "primary_site", "ajcc6_year_validation", "extension_size_ajcc7_xec", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf8_snc" ], - "last_modified" : "2020-06-30T19:47:16.176Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/gist_small_intestine.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gist_small_intestine.json deleted file mode 100644 index 19d4fd63f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/gist_small_intestine.json +++ /dev/null @@ -1,1160 +0,0 @@ -{ - "id" : "gist_small_intestine", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "GISTSmallIntestine", - "title" : "Gastrointestinal Stromal Tumor of Small Intestine", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF8, SSF9, SSF10\n\nM-8935-8936\nC17.0 - Duodenum\nC17.1 - Jejunum\nC17.2 - Ileum (excludes ileocecal valve C18.0)\nC17.3 - Meckel diverticulum (site of neoplasm)\nC17.8 - Overlapping lesion of small intestine\nC17.9 - Small intestine, NOS\n\n**Note**: The histologies included in this schema were not staged with AJCC 6th Edition. Therefore, the algorithm will not derive an AJCC 6th TNM or stage group.", - "schema_num" : 48, - "schema_selection_table" : "schema_selection_gist_small_intestine", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aps", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfd", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfb", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hce", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "Mitotic Count", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_oph", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf7", - "name" : "KIT Gene Immunohistochemistry (IHC)", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_sre", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION" ] - }, { - "key" : "ssf8", - "name" : "KIT Gene Mutations", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_srf", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "PDGFRA Gene Mutation", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_srg", - "used_for_staging" : false - }, { - "key" : "ssf10", - "name" : "Tumor Multiplicity", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_srh", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "48" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfd", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfb", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hce", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tql", - "inputs" : [ "site", "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "mitotic_rate_calculation_xqe", - "inputs" : [ "ssf6" ], - "outputs" : [ "mitotic_rate" ] - }, { - "id" : "ajcc7_stage_upy", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "mitotic_rate", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tql", - "inputs" : [ "site", "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ssf25_snt", "mets_hce", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "extension_bfd", "histology", "cs_input_version_original", "ajcc7_inclusions_tql", "ssf22_snq", "lvi", "ssf6_oph", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "mitotic_rate_calculation_xqe", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upy", "grade", "summary_stage_rpa", "schema_selection_gist_small_intestine", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf10_srh", "nodes_dfb", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_sre", "ssf11_snf", "ssf3_lna", "ss_codes", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "size_aps", "ajcc6_stage_codes", "extension_eval_cpb", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_srg", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "extension_size_ajcc7_xef", "ssf8_srf", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:16.305Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/gist_stomach.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gist_stomach.json deleted file mode 100644 index 613968942..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/gist_stomach.json +++ /dev/null @@ -1,1159 +0,0 @@ -{ - "id" : "gist_stomach", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "GISTStomach", - "title" : "Gastrointestinal Stromal Tumor of Stomach", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF8, SSF9, SSF10\n\nM-8935-8936\nC16.0 - Cardia of stomach\nC16.1 - Fundus of stomach\nC16.2 - Body of stomach\nC16.3 - Gastric antrum\nC16.4 - Pylorus\nC16.5 - Lesser curvature of stomach, NOS\nC16.6 - Greater curvature of stomach, NOS\nC16.8 - Overlapping lesion of stomach\nC16.9 - Stomach, NOS\n\n**Note**: The histologies included in this schema were not staged with AJCC 6th Edition. Therefore, the algorithm will not derive an AJCC 6th TNM or stage group.", - "schema_num" : 45, - "schema_selection_table" : "schema_selection_gist_stomach", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aax", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfc", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfa", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "OBSOLETE - Clinical Assessment of Regional Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jbm", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "Mitotic Count", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_oph", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf7", - "name" : "KIT Gene Immunohistochemistry (IHC)", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_sre", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION" ] - }, { - "key" : "ssf8", - "name" : "KIT Gene Mutations", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_srf", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "PDGFRA Gene Mutation", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_srg", - "used_for_staging" : false - }, { - "key" : "ssf10", - "name" : "Tumor Multiplicity", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_srh", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "45" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfc", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfa", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpo", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "mitotic_rate_calculation_xqe", - "inputs" : [ "ssf6" ], - "outputs" : [ "mitotic_rate" ] - }, { - "id" : "ajcc7_stage_uap", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "mitotic_rate", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpo", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ssf25_snt", "mets_hcd", "ajcc7_stage_uap", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "size_aax", "ssf22_snq", "lvi", "ssf6_oph", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "mitotic_rate_calculation_xqe", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "extension_bfc", "ssf17_snl", "ajcc_descriptor_codes", "grade", "ajcc7_inclusions_tpo", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf10_srh", "nodes_dfa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_sre", "ssf11_snf", "ssf3_lna", "ss_codes", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf1_jbm", "ssf18_snm", "ajcc7_n_codes", "ajcc6_stage_codes", "extension_eval_cpb", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_srg", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "schema_selection_gist_stomach", "nodes_eval_epc", "cs_year_validation", "extension_size_ajcc7_xed", "ssf24_sns", "ssf8_srf", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:16.429Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/gum_lower.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gum_lower.json deleted file mode 100644 index ca997e6d0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/gum_lower.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "gum_lower", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "GumLower", - "title" : "Gum, Lower and Retromolar Area (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC03.1 - Lower gum\nC06.2 - Retromolar area (gingiva, trigone)", - "schema_num" : 13, - "schema_selection_table" : "schema_selection_gum_lower", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apc", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdl", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddh", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "13" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdl", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddh", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "nodes_ddh", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "schema_selection_gum_lower", "nodes_exam_gpa", "size_apc", "extension_size_xpb", "ajcc6_n_codes", "extension_bdl", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:16.574Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/gum_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gum_other.json deleted file mode 100644 index 487346810..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/gum_other.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "gum_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "GumOther", - "title" : "Gum, NOS (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC03.9 - Gum, NOS", - "schema_num" : 15, - "schema_selection_table" : "schema_selection_gum_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apc", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdn", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dad", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "15" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdn", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dad", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "extension_size_xjg", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "nodes_dad", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "schema_selection_gum_other", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "nodes_exam_gpa", "size_apc", "ajcc6_n_codes", "behavior", "extension_bdn", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:16.735Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/gum_upper.json b/src/test/resources/algorithms/cs/02.05.50/schemas/gum_upper.json deleted file mode 100644 index 159671ea2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/gum_upper.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "gum_upper", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "GumUpper", - "title" : "Gum, Upper (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC03.0 - Upper gum", - "schema_num" : 11, - "schema_selection_table" : "schema_selection_gum_upper", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apc", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdm", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddi", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "11" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdm", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddi", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "nodes_ddi", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "schema_selection_gum_upper", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "nodes_exam_gpa", "size_apc", "extension_size_xpb", "extension_bdm", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:16.875Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/heart_mediastinum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/heart_mediastinum.json deleted file mode 100644 index 613ab8388..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/heart_mediastinum.json +++ /dev/null @@ -1,1212 +0,0 @@ -{ - "id" : "heart_mediastinum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "HeartMediastinum", - "title" : "Heart, Mediastinum", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2, SSF4\n\nC38.0 - Heart\nC38.1 - Anterior mediastinum\nC38.2 - Posterior mediastinum\nC38.3 - Mediastinum, NOS\nC38.8 - Overlapping lesion of heart, mediastinum and pleura", - "schema_num" : 92, - "schema_selection_table" : "schema_selection_heart_mediastinum", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apu", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbt", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbk", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpc", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Grade for Sarcomas", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpm", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "Neurovascular Invasion", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpk", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Bone Invasion", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpk", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf4", - "name" : "Pathologic M1: Source of Pathologic Metastatic Specimen", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mpf", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "92" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbt", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbk", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpc", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tps", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf1_jpm", - "inputs" : [ "ssf1" ], - "outputs" : [ "grade_ssf1" ] - }, { - "id" : "ajcc7_stage_upm", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "grade_ssf1", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tps", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpi", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "grade", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_exclusions_ppc", "ajcc7_inclusions_tps", "extension_bbt", "ssf3_lpk", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf1_jpm", "histology", "cs_input_version_original", "mets_hpc", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "extension_size_xqj", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upm", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpa", "nodes_dbk", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "schema_selection_heart_mediastinum", "ajcc6_n_codes", "ssf2_kpk", "behavior", "ssf10_sne", "ssf18_snm", "ajcc6_stage_qpi", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "size_apu", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "ssf4_mpf", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:17.038Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/heme_retic.json b/src/test/resources/algorithms/cs/02.05.50/schemas/heme_retic.json deleted file mode 100644 index 083ac9727..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/heme_retic.json +++ /dev/null @@ -1,1120 +0,0 @@ -{ - "id" : "heme_retic", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "HemeRetic", - "title" : "Hematopoietic, Reticuloendothelial, Immunoproliferative, and Myeloproliferative Neoplasms", - "notes" : "* M-See list of specific histologies below. All primary sites (C00.0-C80.9) are included unless otherwise specified.\n \n* Schema includes only preferred terms from ICD-O-3.\n\n* Plasmacytomas (9731 and 9734) and Multiple Myeloma (9732), except for cases with primary site C441, C690 and C695-C696, have been moved to the MyelomaPlasmaCellDisorder schema in V0203.\n9733 - Plasma cell leukemia [except C441, C690, C695-C696]\n9740 - Mast cell sarcoma\n9741 - Malignant mastocytosis\n9742 - Mast cell leukemia\n9750 - Malignant histiocytosis\n9752 - Langerhans cell histiocytosis, unifocal\\* (see new reportable code 9751/3)\n9753 - Langerhans cell histiocytosis, multifocal\\* (see new reportable code 9751/3)\n9754 - Langerhans cell histiocytosis disseminated\n9755 - Histiocytic sarcoma\n9756 - Langerhans cell sarcoma\n9757 - Interdigitating dendritic cell sarcoma\n9758 - Follicular dendritic cell sarcoma\n9760 - Immunoproliferative disease, NOS\n9761 - Waldenstrom macroglobulinemia\n9762 - Heavy chain disease, NOS\n9764 - Immunoproliferative small intestinal disease\n9765 - Monoclonal gammopathy of undetermined significance\\*\n9766 - Angiocentric immunoproliferative lesion\\*\n9767 - Angioimmunoblastic lymphadenopathy\\*\n9768 - T-gamma lymphoproliferative disease\\*\n9769 - Immunoglobulin deposition disease\\*\n9800 - Leukemia, NOS\n9801 - Acute leukemia, NOS\n9805 - Acute biphenotypic leukemia\n9820 - Lymphoid leukemia, NOS [except C441, C690, C695-C696]\n9823 - B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma [C420, C421, or C424 ONLY]\n9826 - Burkitt cell leukemia leukemia [except C441, C690, C695-C696]\n9827 - Adult T-cell leukemia/lymphoma (HTLV-1 positive)[C420, C421, or C424 ONLY]\n9832 - Prolymphocytic leukemia, NOS [except C441, C690, C695-C696]\n9833 - Prolymphocytic leukemia, B-cell type [except C441, C690, C695-C696]\n9834 - Prolymphocytic leukemia, T-cell type [except C441, C690, C695-C696]\n9835 - Precursor cell lymphoblastic leukemia, NOS [except C441, C690, C695-C696]\n9836 - Precursor B-cell lymphoblastic leukemia [except C441, C690, C695-C696]\n9837 - Precursor T-cell lymphoblastic leukemia [see 9837 below, new definition]\n9840 - Acute myeloid leukemia, M6 type\n9860 - Myeloid leukemia, NOS\n9861 - Acute myeloid leukemia, NOS\n9863 - Chronic myeloid leukemia\n9866 - Acute promyelocytic leukemia\n9867 - Acute myelomonocytic leukemia\n9870 - Acute basophilic leukemia\n9871 - Acute myeloid leukemia with abnormal marrow, eosinophils\n9872 - Acute myeloid leukemia, minimal differentiation\n9873 - Acute myeloid leukemia without maturation\n9874 - Acute myeloid leukemia with maturation\n9875 - Chronic myelogenous leukemia, BCR/ABL positive\n9876 - Atypical chronic myeloid leukemia BCR/ABL negative\n9891 - Acute monocytic leukemia\n9895 - Acute myeloid leukemia with multilineage dysplasia\n9896 - Acute myeloid leukemia, t(8;21)(q22;q22)\n9897 - Acute myeloid leukemia, 11q23 abnormalities\n9910 - Acute megakaryoblastic leukemia\n9920 - Therapy-related acute myeloid leukemia, NOS\n9930 - Myeloid sarcoma\n9931 - Acute panmyelosis with myelofibrosis\n9940 - Hairy cell leukemia\n9945 - Chronic myelomonocytic leukemia, NOS\n9946 - Juvenile myelomonocytic leukemia\n9948 - Aggressive NK-cell leukemia\n9950 - Polycythemia (rubra) vera\n9960 - Chronic myeloproliferative disease, NOS\n9961 - Myelosclerosis with myeloid metaplasia\n9962 - Essential thrombocythemia\n9963 - Chronic neutrophilic leukemia\n9964 - Hypereosinophilic syndrome\n9970 - Lymphoproliferative disorder, NOS\\*\n9975 - Myeloproliferative disease, NOS\\*\n9980 - Refractory anemia, NOS\n9982 - Refractory anemia with sideroblasts\n9983 - Refractory anemia with excess blasts\n9984 - Refractory anemia with excess blasts in transformation\n9985 - Refractory cytopenia with multilineage dysplasia\n9986 - Myelodysplastic syndrome with 5q deletion (5q-) syndrome\n9987 - Therapy-related myelodysplastic syndrome, NOS\n9989 - Myelodysplastic syndrome, NOS\n\n\n* The following ICD-O codes were added to the reportable list for Hematopoietic diseases. These are from the \"WHO Classification of Tumours of Haematopoietic and Lymphoid Tissues, 3rd edition\" publication, which was released in 2008. These new codes have been incorporated into the new Hematopoietic and Lymphoid Neoplasm MP/H rules. Use these only for cases diagnosed on January 1, 2010 and forward.\n9751 - Langerhans cell histiocytosis, NOS\n9806 - Mixed phenotype acute leukemia with t(9;22(q34;q11.2); BCR-ABL1\n9807 - Mixed phenotype acute leukemia with t(v;11q23); MLL, rearranged\n9808 - Mixed phenotype acute leukemia, B/myeloid, NOS\n9809 - Mixed phenotype acute leukemia, T/myeloid, NOS\n9811 - B lymphoblastic leukemia/lymphoma, NOS [C420, C421, or C424 ONLY]\n9812 - B lymphoblastic leukemia/lymphoma with t(9;22))q34;q11.2); BCR-ABL1 [C420, C421, or C424 ONLY]\n9813 - B lymphoblastic leukemia/lymphoma with t(v;11q23); MLL rearranged [C420, C421, or C424 ONLY]\n9814 - B lymphoblastic leukemia/lymphoma with t(12;21)(p13;q22); TEL-AML1 (ETV6-RUNX1) [C420, C421, or C424 ONLY]\n9815 - B lymphoblastic/lymphoma with hyperdiploidy[C420, C421, or C424 ONLY]\n9816 - B lymphoblastic/lymphoma with hypodiploidy (hypodiploid ALL) [C420, C421, or C424 ONLY]\n9817 - B lymphoblastic/lymphoma with t(5;14)(q31;q32); IL3-IGH [C420, C421, or C424 ONLY]\n9818 - B lymphoblastic/lymphoma with t(1;19)(q23;p13.3); E2A PBX1 (TCF3 PBX1) [C420, C421, or C424 ONLY]\n9831 - T-cell large granular lymphocytic leukemia [except C441, C690, C695-C696]\n9837 - T lymphoblastic leukemia/lymphoma [C420, C421, or C424 ONLY]\n9865 - Acute myeloid leukemia with t(6;9)([23;q34) DEK-NUP214\n9869 - Acute myeloid leukemia with inv(3)(q21q26.2) or t(3;3)(q21;q26;2); RPN1EVI1\n9898 - Myeloid leukemia associated with Down Syndrome\n9911 - Acute myeloid leukemia (megakaryoblastic) with t(1;22)(p13;q13); RBM15-MKL1\n9965 - Myeloid and lymphoid neoplasms with PDGFRA rearrangement\n9966 - Myeloid neoplasm with PDGFRB rearrangement\n9967 - Myeloid and lymphoid neoplasm with FGFR1 abnormalities\n9971 - Polymorphic PTLD\n9975 - Myeloproliferative neoplasm, unclassifiable\n9991 - Refractory neutropenia\n9992 - Refractory thrombocytopenia\n\n\\*Usually considered of uncertain/borderline behavior\n\n**Note**: AJCC does not define TNM staging for this site.", - "schema_num" : 151, - "schema_selection_table" : "schema_selection_heme_retic", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "988", - "table" : "size_ana", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bci", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "988", - "table" : "nodes_dna", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fna", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gna", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "98", - "table" : "mets_hna", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "JAK2 (also known as Janus Kinase 2 and JAK2 Exon 12)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jbt", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "151" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bci", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dna", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hna", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "size_ana", "cs_input_version_original", "nodes_exam_gna", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "ssf4_mna", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "schema_selection_heme_retic", "ssf17_snl", "ajcc_descriptor_codes", "nodes_pos_fna", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "ajcc6_n_codes", "mets_hna", "behavior", "nodes_dna", "ssf10_sne", "ssf18_snm", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf1_jbt", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "extension_bci", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:17.210Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/hypopharynx.json b/src/test/resources/algorithms/cs/02.05.50/schemas/hypopharynx.json deleted file mode 100644 index af6161c59..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/hypopharynx.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "hypopharynx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Hypopharynx", - "title" : "Pyriform Sinus, Hypopharynx, Laryngopharynx (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8\n\nC12.9 - Pyriform sinus\nC13.0 - Postcricoid region\nC13.1 - Hypopharyngeal aspect of aryepiglottic fold\nC13.2 - Posterior wall of hypopharynx\nC13.8 - Overlapping lesion of hypopharynx\nC13.9 - Hypopharynx, NOS (laryngopharynx)", - "schema_num" : 37, - "schema_selection_table" : "schema_selection_hypopharynx", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aay", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bar", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dco", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "999", - "table" : "ssf10_spd", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "37" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bar", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dco", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ssf6_opa", "ssf3_lpa", "nodes_dco", "cs_input_version_original", "mets_hpb", "size_aay", "ssf22_snq", "lvi", "ssf14_sni", "extension_bar", "ajcc_tdescriptor_cleanup", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "schema_selection_hypopharynx", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "extension_size_xbq", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:17.408Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/ids.txt b/src/test/resources/algorithms/cs/02.05.50/schemas/ids.txt deleted file mode 100644 index 028efd8f9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/ids.txt +++ /dev/null @@ -1,153 +0,0 @@ -adnexa_uterine_other -adrenal_gland -ampulla_vater -anus -appendix -bile_ducts_distal -bile_ducts_intrahepat -bile_ducts_perihilar -biliary_other -bladder -bone -brain -breast -buccal_mucosa -carcinoid_appendix -cervix -cns_other -colon -conjunctiva -corpus_adenosarcoma -corpus_carcinoma -corpus_sarcoma -cystic_duct -digestive_other -endocrine_other -epiglottis_anterior -esophagus -esophagus_gejunction -eye_other -fallopian_tube -floor_mouth -gallbladder -genital_female_other -genital_male_other -gist_appendix -gist_colon -gist_esophagus -gist_peritoneum -gist_rectum -gist_small_intestine -gist_stomach -gum_lower -gum_other -gum_upper -heart_mediastinum -heme_retic -hypopharynx -ill_defined_other -intracranial_gland -kaposi_sarcoma -kidney_parenchyma -kidney_renal_pelvis -lacrimal_gland -lacrimal_sac -larynx_glottic -larynx_other -larynx_subglottic -larynx_supraglottic -lip_lower -lip_other -lip_upper -liver -lung -lymphoma -lymphoma_ocular_adnexa -melanoma_buccal_mucosa -melanoma_choroid -melanoma_ciliary_body -melanoma_conjunctiva -melanoma_epiglottis_anterior -melanoma_eye_other -melanoma_floor_mouth -melanoma_gum_lower -melanoma_gum_other -melanoma_gum_upper -melanoma_hypopharynx -melanoma_iris -melanoma_larynx_glottic -melanoma_larynx_other -melanoma_larynx_subglottic -melanoma_larynx_supraglottic -melanoma_lip_lower -melanoma_lip_other -melanoma_lip_upper -melanoma_mouth_other -melanoma_nasal_cavity -melanoma_nasopharynx -melanoma_oropharynx -melanoma_palate_hard -melanoma_palate_soft -melanoma_pharynx_other -melanoma_sinus_ethmoid -melanoma_sinus_maxillary -melanoma_sinus_other -melanoma_skin -melanoma_tongue_anterior -melanoma_tongue_base -merkel_cell_penis -merkel_cell_scrotum -merkel_cell_skin -merkel_cell_vulva -middle_ear -mouth_other -mycosis_fungoides -myeloma_plasma_cell_disorder -nasal_cavity -nasopharynx -net_ampulla -net_colon -net_rectum -net_small_intestine -net_stomach -orbit -oropharynx -ovary -palate_hard -palate_soft -pancreas_body_tail -pancreas_head -pancreas_other -parotid_gland -penis -peritoneum -peritoneum_female_gen -pharyngeal_tonsil -pharynx_other -placenta -pleura -prostate -rectum -respiratory_other -retinoblastoma -retroperitoneum -salivary_gland_other -scrotum -sinus_ethmoid -sinus_maxillary -sinus_other -skin -skin_eyelid -small_intestine -soft_tissue -stomach -submandibular_gland -testis -thyroid -tongue_anterior -tongue_base -trachea -urethra -urinary_other -vagina -vulva diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/ill_defined_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/ill_defined_other.json deleted file mode 100644 index c288df928..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/ill_defined_other.json +++ /dev/null @@ -1,1120 +0,0 @@ -{ - "id" : "ill_defined_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "IllDefinedOther", - "title" : "Other and Ill-Defined Sites, Unknown Primary Site", - "notes" : "M-8000-9136,9141-9582,9700-9701\nC42.0 - Blood\nC42.1 - Bone marrow\nC42.2 - Spleen\nC42.3 - Reticuloendothelial system, NOS\nC42.4 - Hematopoietic system, NOS\nC76.0 - Head, face or neck, NOS\nC76.1 - Thorax, NOS\nC76.2 - Abdomen, NOS\nC76.3 - Pelvis, NOS\nC76.4 - Upper limb, NOS\nC76.5 - Lower limb, NOS\nC76.7 - Other ill-defined sites\nC76.8 - Overlapping lesion of ill-defined sites\nC77.0 - Lymph nodes of head, face and neck\nC77.1 - Lymph nodes of intrathoracic\nC77.2 - Lymph nodes of intra-abdominal\nC77.3 - Lymph nodes of axilla or arm\nC77.4 - Lymph nodes of inguinal region or leg\nC77.5 - Lymph nodes of pelvis\nC77.8 - Lymph nodes of multiple regions\nC77.9 - Lymph nodes, NOS\nC80.9 - Unknown primary site\n\n**Note 1**: AJCC does not define TNM staging for these sites.\n\n**Note 2**: Excludes hematopoietic, reticuloendothelial, immunoproliferative and myeloproliferative neoplasms, Hodgkin and non-Hodgkin lymphomas, and Kaposi sarcoma.", - "schema_num" : 153, - "schema_selection_table" : "schema_selection_ill_defined_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "988", - "table" : "extension_bna", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "988", - "table" : "nodes_dna", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fna", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gna", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "98", - "table" : "mets_hna", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "153" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bna", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dna", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hna", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "nodes_exam_gna", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "ssf4_mna", "extension_bna", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "nodes_pos_fna", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jna", "ajcc6_t_codes", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "schema_selection_ill_defined_other", "ssf6_ona", "size_apa", "ajcc6_n_codes", "mets_hna", "behavior", "nodes_dna", "ssf10_sne", "ssf18_snm", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:17.555Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/intracranial_gland.json b/src/test/resources/algorithms/cs/02.05.50/schemas/intracranial_gland.json deleted file mode 100644 index 1664fb362..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/intracranial_gland.json +++ /dev/null @@ -1,1119 +0,0 @@ -{ - "id" : "intracranial_gland", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "IntracranialGland", - "title" : "Pituitary Gland, Craniopharyngeal Duct, and Pineal Gland", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2\n\nC75.1 - Pituitary gland\nC75.2 - Craniopharyngeal duct\nC75.3 - Pineal Gland\n\n**Note**: AJCC does not define TNM staging for this schema.", - "schema_num" : 145, - "schema_selection_table" : "schema_selection_intracranial_gland", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfy", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "988", - "table" : "nodes_dfu", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fna", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gna", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpa", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "World Health Organization (WHO) Grade Classification", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpo", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_CLINICALLY_SIGNIFICANT", "NPCR_REQUIRED_BY_NPCR_2011_FORWARD", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "Ki-67/MIB-1 Labeling Index (LI): Brain", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpl", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "145" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfy", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfu", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpa", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "extension_bfy", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ssf1_jpo", "cs_input_version_original", "mets_hpa", "nodes_exam_gna", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "ssf4_mna", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "nodes_pos_fna", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "schema_selection_intracranial_gland", "ssf6_ona", "size_apa", "ajcc6_n_codes", "ssf2_kpl", "behavior", "ssf10_sne", "ssf18_snm", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "nodes_dfu", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:17.696Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/kaposi_sarcoma.json b/src/test/resources/algorithms/cs/02.05.50/schemas/kaposi_sarcoma.json deleted file mode 100644 index 15ff87a38..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/kaposi_sarcoma.json +++ /dev/null @@ -1,1117 +0,0 @@ -{ - "id" : "kaposi_sarcoma", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "KaposiSarcoma", - "title" : "Kaposi Sarcoma of All Sites", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2, SSF3, SSF4\n\nM-9140\n\n**Note**: This scheme cannot be compared to either the Historic Stage or the 1977 Summary Stage schemes.", - "schema_num" : 149, - "schema_selection_table" : "schema_selection_kaposi_sarcoma", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "988", - "table" : "size_ana", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcj", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dby", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "98", - "table" : "mets_hna", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Associated with HIV/AIDS", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpj", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "Systemic Symptoms at Diagnosis", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kbv", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Ulceration and Edema", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_laz", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "CD4 Cell Count", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mbh", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "149" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcj", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dby", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hna", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf25_snt", "ssf4_mbh", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf1_jpj", "histology", "size_ana", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "ssf2_kbv", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "schema_selection_kaposi_sarcoma", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf3_laz", "ssf7_snb", "ssf11_snf", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "mets_hna", "behavior", "ssf10_sne", "ssf18_snm", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_dby", "extension_bcj", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:17.822Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/kidney_parenchyma.json b/src/test/resources/algorithms/cs/02.05.50/schemas/kidney_parenchyma.json deleted file mode 100644 index 4906f1252..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/kidney_parenchyma.json +++ /dev/null @@ -1,1208 +0,0 @@ -{ - "id" : "kidney_parenchyma", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "KidneyParenchyma", - "title" : "Kidney (Renal Parenchyma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF5, SSF7\n\nC64.9 - Kidney, NOS (Renal parenchyma)\n\n**Note**: Laterality must be coded for this site.", - "schema_num" : 126, - "schema_selection_table" : "schema_selection_kidney_parenchyma", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aao", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbp", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbg", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcg", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Invasion Beyond Capsule", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jbd", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "Vein Involvement", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kar", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf3", - "name" : "Ipsilateral Adrenal Gland Involvement", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lah", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf4", - "name" : "Sarcomatoid Features", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mam", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf5", - "name" : "Histologic Tumor Necrosis", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nai", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "Fuhrman Nuclear Grade", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_oaf", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf7", - "name" : "Size of Metastasis in Lymph Nodes", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_sbx", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extranodal Extension of Regional Lymph Nodes", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "999", - "table" : "ssf8_sby", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "126" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbp", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbg", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcg", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uaw", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qal", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "extension_bbp", "ajcc7_stage_uaw", "ajcc6_exclusions_ppd", "ssf2_kar", "ssf25_snt", "mets_hcg", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "size_aao", "histology", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "extension_size_table_ajcc7_xek", "ajcc_tdescriptor_cleanup", "ssf4_mam", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ajcc6_stage_qal", "ssf16_snk", "ssf6_oaf", "ajcc6_t_codes", "nodes_pos_fpa", "extension_size_table_ajcc6_xal", "ajcc_mdescriptor_cleanup", "ssf11_snf", "nodes_dbg", "ss_codes", "nodes_exam_gpa", "ajcc6_n_codes", "ssf8_sby", "ssf1_jbd", "ssf3_lah", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf7_sbx", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf5_nai", "ssf12_sng", "schema_selection_kidney_parenchyma" ], - "last_modified" : "2020-06-30T19:47:17.990Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/kidney_renal_pelvis.json b/src/test/resources/algorithms/cs/02.05.50/schemas/kidney_renal_pelvis.json deleted file mode 100644 index d791f1923..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/kidney_renal_pelvis.json +++ /dev/null @@ -1,1210 +0,0 @@ -{ - "id" : "kidney_renal_pelvis", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "KidneyRenalPelvis", - "title" : "Renal Pelvis and Ureter", - "notes" : "C65.9 - Renal pelvis\nC66.9 - Ureter\n\n**Note**: Laterality must be coded for this site.", - "schema_num" : 127, - "schema_selection_table" : "schema_selection_kidney_renal_pelvis", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbn", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbe", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpe", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "WHO/ISUP Grade", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpd", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "Depth of Renal Parenchymal Invasion", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kaj", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "127" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbn", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbe", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpe", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upz", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qao", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_exclusions_ppd", "ssf25_snt", "ssf1_jpd", "ssf2_kaj", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "extension_bbn", "ssf22_snq", "mets_hpe", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upz", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc6_stage_qao", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "nodes_dbe", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "schema_selection_kidney_renal_pelvis", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:18.133Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/lacrimal_gland.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lacrimal_gland.json deleted file mode 100644 index 35569b1f5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/lacrimal_gland.json +++ /dev/null @@ -1,1214 +0,0 @@ -{ - "id" : "lacrimal_gland", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "LacrimalGland", - "title" : "Lacrimal Gland (excluding Lymphoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF1, SSF2, SSF3, SSF5, SSF7\n\nC69.5 - Lacrimal gland [excluding lacrimal sac, lacrimal duct] \n\n**Note 1**: CS Site-Specific Factor 25 is used to discriminate between lacrimal gland, staged by AJCC, and lacrimal sac, not staged by AJCC. Both sites are coded to ICD-O-3 code C69.5.\n\n**Note 2**: Laterality must be coded for this site.", - "schema_num" : 138, - "schema_selection_table" : "schema_selection_lacrimal_gland", - "schema_discriminators" : [ "ssf25" ], - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aan", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bct", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dpa", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpc", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Ki-67/MIB-1 Labeling Index (LI): Ophthalmic", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jbj", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "Nuclear NM23 Staining", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kax", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Clinical Evaluation of Lymph Nodes", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lba", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "Perineural Invasion", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_maj", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf5", - "name" : "Carcinoma ex Pleomorphic Adenoma, Invasion Beyond Capsule", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nah", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "Adenoid Cystic Carcinoma - Presence of Basaloid Pattern", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_oae", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf7", - "name" : "Mucoepidermoid Carcinoma - Grade", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_sbv", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Orbital Bone", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "999", - "table" : "ssf8_sfk", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Lacrimal Gland/Lacrimal Sac", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "015", - "table" : "ssf25_spp", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_2004_FORWARD" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "138" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bct", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dpa", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpc", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf25_spp", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc7_stage_unb", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ssf25_spp", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc6_stage_qnb", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kax", "ajcc6_exclusions_ppd", "ajcc7_stage_unb", "ssf15_snj", "ajcc7_t_codes", "size_aan", "ssf23_snr", "nodes_dpa", "histology", "cs_input_version_original", "mets_hpc", "ssf22_snq", "lvi", "ssf14_sni", "schema_selection_lacrimal_gland", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qnb", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "ssf4_maj", "ssf25_spp", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf6_oae", "ssf3_lba", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf8_sfk", "ssf11_snf", "ss_codes", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf1_jbj", "ssf10_sne", "extension_bct", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf7_sbv", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "extension_size_ajcc7_xej", "cs_year_validation", "ssf5_nah", "extension_size_ajcc6_xat", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:18.325Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/lacrimal_sac.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lacrimal_sac.json deleted file mode 100644 index 2065ffb41..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/lacrimal_sac.json +++ /dev/null @@ -1,1176 +0,0 @@ -{ - "id" : "lacrimal_sac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "LacrimalSac", - "title" : "Lacrimal Sac (excluding Lymphoma)", - "notes" : "C69.5 - Lacrimal sac, lacrimal duct \n\n**Note 1**: CS Site-Specific Factor 25 is used to discriminate between lacrimal gland, staged by AJCC, and lacrimal sac, not staged by AJCC. Both sites are coded to ICD-O-3 code C69.5.\n\n**Note 2**: Laterality must be coded for this site.", - "schema_num" : 139, - "schema_selection_table" : "schema_selection_lacrimal_sac", - "schema_discriminators" : [ "ssf25" ], - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aaz", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_btb", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cal", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dex", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_eaj", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hca", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_iae", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Lacrimal Gland/Lacrimal Sac", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "015", - "table" : "ssf25_spp", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_2004_FORWARD" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "139" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_btb", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cal", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_ajcc_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cal", - "output_mapping" : [ { - "from" : "staging_basis_ajcc_6", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "tdescriptor", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dex", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_eaj", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_ajcc_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_eaj", - "output_mapping" : [ { - "from" : "staging_basis_ajcc_6", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hca", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_iae", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_iae", - "output_mapping" : [ { - "from" : "staging_basis_6", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ssf25_spp", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc6_stage_qpj", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ajcc6_exclusions_ppd", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "size_aaz", "ssf22_snq", "schema_selection_lacrimal_sac", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "mets_eval_iae", "ajcc_descriptor_codes", "mets_hca", "ssf25_spp", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "extension_eval_cal", "ajcc_ndescriptor_cleanup", "ssf16_snk", "nodes_eval_eaj", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "nodes_dex", "ssf10_sne", "ssf18_snm", "extension_size_ajcc6_xea", "extension_btb", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ssf9_snd", "ssf13_snh", "ajcc6_stage_qpj", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:18.463Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_glottic.json b/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_glottic.json deleted file mode 100644 index a8031dcf2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_glottic.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "larynx_glottic", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "LarynxGlottic", - "title" : "Glottic Larynx (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC32.0 - Glottis", - "schema_num" : 82, - "schema_selection_table" : "schema_selection_larynx_glottic", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bat", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcp", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "82" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bat", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcp", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubk", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qbl", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ssf6_opa", "ssf3_lpa", "nodes_dcp", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "extension_bat", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ajcc6_stage_qbl", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "schema_selection_larynx_glottic", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "ajcc7_stage_ubk", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:18.609Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_other.json deleted file mode 100644 index 84d4d04fb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_other.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "larynx_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "LarynxOther", - "title" : "Laryngeal Cartilage, Overlapping Lesion of Larynx, and Larynx, NOS (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC32.3 - Laryngeal cartilage\nC32.8 - Overlapping lesion of larynx\nC32.9 - Larynx, NOS\n\n**Note**: AJCC 7 TNM staging will be derived for primary site codes of C32.8 and C32.9 only", - "schema_num" : 88, - "schema_selection_table" : "schema_selection_larynx_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_baw", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcr", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "88" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_baw", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcr", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqm", - "inputs" : [ "site", "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqm", - "inputs" : [ "site", "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "nodes_dcr", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "ajcc7_inclusions_tqm", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "extension_baw", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "schema_selection_larynx_other", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:18.743Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_subglottic.json b/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_subglottic.json deleted file mode 100644 index 1150de150..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_subglottic.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "larynx_subglottic", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "LarynxSubglottic", - "title" : "Subglottic Larynx (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC32.2 - Subglottis", - "schema_num" : 86, - "schema_selection_table" : "schema_selection_larynx_subglottic", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bav", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dap", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "86" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bav", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dap", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "extension_bav", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "schema_selection_larynx_subglottic", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "nodes_dap", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:18.891Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_supraglottic.json b/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_supraglottic.json deleted file mode 100644 index a31551547..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/larynx_supraglottic.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "larynx_supraglottic", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "LarynxSupraglottic", - "title" : "Supraglottic Larynx (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC32.1 - Supraglottis\n\n**Note**: Excludes Anterior Surface of Epiglottis - see separate schema (C10.1).", - "schema_num" : 84, - "schema_selection_table" : "schema_selection_larynx_supraglottic", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bau", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcq", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "84" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bau", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcq", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "nodes_dcq", "ssf23_snr", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "extension_bau", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "schema_selection_larynx_supraglottic", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:19.052Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/lip_lower.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lip_lower.json deleted file mode 100644 index f78e2f9e7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/lip_lower.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "lip_lower", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "LipLower", - "title" : "Lip, Lower (excluding Malignant Melanoma)", - "subtitle" : "Lip (Vermilion or Labial Mucosa)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC00.1 - External lower lip (vermilion)\nC00.4 - Mucosa of lower lip\nC00.6 - Commissure of lip", - "schema_num" : 3, - "schema_selection_table" : "schema_selection_lip_lower", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apc", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bab", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_daa", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "3" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bab", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_daa", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ssf14_sni", "nodes_daa", "ajcc_tdescriptor_cleanup", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "extension_bab", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "extension_size_xpa", "ss_codes", "nodes_exam_gpa", "size_apc", "ajcc6_n_codes", "schema_selection_lip_lower", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:19.213Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/lip_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lip_other.json deleted file mode 100644 index 3cc5ec69c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/lip_other.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "lip_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "LipOther", - "title" : "Other Lip (excluding Malignant Melanoma)", - "subtitle" : "Lip (Vermilion or Labial Mucosa)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC00.2 - External lip, NOS (vermilion)\nC00.5 - Mucosa of lip, NOS\nC00.8 - Overlapping lesion of lip\nC00.9 - Lip, NOS (excludes skin of lip C44.0)\n\n**Note**: AJCC includes labial mucosa (C00.5) with buccal mucosa (C06.0)", - "schema_num" : 5, - "schema_selection_table" : "schema_selection_lip_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apc", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdj", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddg", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "5" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdj", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddg", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "extension_size_xjh", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "nodes_ddg", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "schema_selection_lip_other", "mets_hpb", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "nodes_exam_gpa", "size_apc", "ajcc6_n_codes", "extension_bdj", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:19.364Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/lip_upper.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lip_upper.json deleted file mode 100644 index dcd869b1d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/lip_upper.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "lip_upper", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "LipUpper", - "title" : "Lip, Upper (excluding Malignant Melanoma)", - "subtitle" : "Lip (Vermilion or Labial Mucosa)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC00.0 - External upper lip (vermilion)\nC00.3 - Mucosa of upper lip", - "schema_num" : 1, - "schema_selection_table" : "schema_selection_lip_upper", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apc", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdc", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddd", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "1" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdc", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddd", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "nodes_ddd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "extension_size_xpa", "ss_codes", "extension_bdc", "nodes_exam_gpa", "size_apc", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "lymph_nodes_size_xja", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "schema_selection_lip_upper", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:19.563Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/liver.json b/src/test/resources/algorithms/cs/02.05.50/schemas/liver.json deleted file mode 100644 index 1124687c8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/liver.json +++ /dev/null @@ -1,1210 +0,0 @@ -{ - "id" : "liver", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Liver", - "title" : "Liver", - "notes" : "C22.0 - Liver\nC22.1 - Intrahepatic bile duct \n\n**Note 1**: For C22.0, the Liver schema includes only M-8000-8157,8162-8175,8190-9136,9141-9582, and 9700-9701. For cholangiocarcinoma (M-8160,8161, and 8180), see BileDuctsIntraHepat schema.\n\n**Note 2**: For C22.1, the Liver schema includes only M-8170-8175. For other histologies, see BileDuctsIntraHepat schema.\n\n**Note 3**: AJCC 7 TNM staging will be derived for hepatocellular carcinoma only, M-8170-8175 for liver (C22.0).", - "schema_num" : 60, - "schema_selection_table" : "schema_selection_liver", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apt", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbc", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpc", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dau", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_haf", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Alpha Fetoprotein (AFP) Interpretation", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpw", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "Fibrosis Score", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpq", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED" ] - }, { - "key" : "ssf3", - "name" : "Alpha Fetoprotein (AFP) Lab Value", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lps", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf4", - "name" : "Creatinine Value", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mal", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf5", - "name" : "Creatinine Unit of Measure", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nak", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf6", - "name" : "Total Bilirubin Value", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_oag", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf7", - "name" : "Total Bilirubin Unit of Measure", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_scb", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf8", - "name" : "International Normalized Ratio for Prothrombin Time (INR)", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_scc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "60" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbc", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpc", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpc", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dau", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_haf", - "inputs" : [ "nodes", "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpn", - "inputs" : [ "site", "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubl", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpn", - "inputs" : [ "site", "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qcc", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf3_lps", "ajcc6_exclusions_ppd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "extension_bbc", "ssf23_snr", "ssf7_scb", "histology", "cs_input_version_original", "ssf1_jpw", "ssf22_snq", "lvi", "ssf14_sni", "schema_selection_liver", "ssf8_scc", "ajcc_tdescriptor_cleanup", "ajcc7_year_validation", "ssf21_snp", "ssf4_mal", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc7_inclusions_tpn", "ssf6_oag", "lymph_nodes_metsat_dxajcc6_xew", "ajcc6_t_codes", "ajcc6_stage_qcc", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "mets_haf", "ssf11_snf", "ss_codes", "nodes_exam_gpa", "ssf2_kpq", "ajcc6_n_codes", "behavior", "nodes_dau", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "ajcc7_n_codes", "extension_eval_cpc", "ajcc6_stage_codes", "size_apt", "ssf19_snn", "ajcc7_stage_codes", "extension_size_ajcc7_xev", "ssf9_snd", "ssf13_snh", "ssf5_nak", "primary_site", "ajcc7_stage_ubl", "ajcc6_year_validation", "extension_size_ajcc6_xak", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:19.740Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/lung.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lung.json deleted file mode 100644 index edf237a26..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/lung.json +++ /dev/null @@ -1,1186 +0,0 @@ -{ - "id" : "lung", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lung", - "title" : "Lung", - "notes" : "C34.0 - Main bronchus\nC34.1 - Upper lobe, lung\nC34.2 - Middle lobe, lung\nC34.3 - Lower lobe, lung\nC34.8 - Overlapping lesion of lung\nC34.9 - Lung, NOS\n\n**Note**: Laterality must be coded for this site (except carina).", - "schema_num" : 91, - "schema_selection_table" : "schema_selection_lung", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aaa", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_baj", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cae", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dai", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_eag", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hab", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Separate Tumor Nodules - Ipsilateral Lung", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_sbh", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_BY_NPCR_2010_FORWARD" ] - }, { - "key" : "ssf2", - "name" : "Pleural/Elastic Layer Invasion (PL) by H and E or Elastic Stain", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_sbi", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "91" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_baj", - "inputs" : [ "year_dx", "extension", "size", "mets", "cs_input_version_original", "ssf1" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cae", - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dai", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_eag", - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "determine_correct_table_for_m_ns48", - "inputs" : [ "extension", "mets", "size", "ssf1" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubq", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_paa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qab", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_paa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "size_extension_mets_ssf1_ajcc6_xjp_t", "size_extension_mets_ssf1_ajcc6_xjt_m", "size_extension_mets_ssf1_ajcc6_xjp_m", "determine_correct_table_for_ajcc7_t_ns43", "size_extension_mets_ssf1_ajcc6_xjx_t", "ssf25_snt", "size_extension_mets_ssf1_ajcc6_xjt_t", "size_extension_mets_ssf1_ajcc6_xjx_m", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "extension_ssf1_summary_stage77_xkc", "extension_ssf1_summary_stage77_xkd", "histology", "cs_input_version_original", "lvi", "ajcc_tdescriptor_cleanup", "ssf1_sbh", "ssf21_snp", "nodes_dai", "extension_mets_ssf1_ajcc6_xjo_m", "ssf17_snl", "extension_eval_cae", "extension_mets_ssf1_ajcc6_xjo_t", "grade", "extension_baj", "determine_correct_table_for_ss77t_ns45", "size_extension_mets_ssf1_ajcc6_xjw_m", "extension_ssf1_summary_stage2000_xkf", "extension_ssf1_summary_stage2000_xke", "size_extension_mets_ssf1_ajcc6_xjs_m", "size_extension_mets_ssf1_ajcc6_xjw_t", "ajcc6_t_codes", "mets_hab", "determine_correct_table_for_ajcc6_tm_ns47", "nodes_pos_fpa", "size_extension_mets_ssf1_ajcc6_xjs_t", "determine_correct_table_for_ajcc6_tm_ns44", "nodes_eval_eag", "ssf11_snf", "ssf3_lna", "ssf6_ona", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "schema_selection_lung", "ajcc6_stage_codes", "ajcc7_stage_codes", "ssf13_snh", "ajcc6_m_codes", "ssf24_sns", "ssf8_snc", "size_extension_mets_ssf1_ajcc6_xjv_m", "size_aaa", "size_extension_mets_ssf1_ajcc6_xjr_m", "ajcc6_stage_qab", "size_extension_mets_ssf1_ajcc6_xjv_t", "size_extension_mets_ssf1_ajcc6_xjr_t", "determine_correct_table_for_ss00t_ns46", "ssf22_snq", "ssf14_sni", "ssf4_mna", "ssf2_sbi", "ajcc7_year_validation", "ajcc7_inclusions_tpb", "ajcc_descriptor_codes", "invalid_lung_m_values_ns49", "size_extension_ssf1_ajcc7_t_xjz", "extension_ssf1_ajcc7_t_xjy", "summary_stage_rpa", "ajcc7_m_codes", "size_extension_ssf1_ajcc7_t_xka", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "size_extension_mets_ssf1_ajcc6_xju_m", "size_extension_mets_ssf1_ajcc6_xjq_m", "size_extension_mets_ssf1_ajcc6_xju_t", "ajcc_mdescriptor_cleanup", "size_extension_mets_ssf1_ajcc6_xjq_t", "ssf7_snb", "ss_codes", "ajcc6_exclusions_paa", "nodes_exam_gpa", "size_metsat_dxajcc7_m_xkb", "ssf10_sne", "ajcc7_n_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_ubq", "ssf9_snd", "primary_site", "ajcc6_year_validation", "determine_correct_table_for_m_ns48", "cs_year_validation", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:20.076Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/lymphoma.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lymphoma.json deleted file mode 100644 index 1b66e0d37..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/lymphoma.json +++ /dev/null @@ -1,1137 +0,0 @@ -{ - "id" : "lymphoma", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymphoma", - "title" : "Hodgkin and Non-Hodgkin Lymphomas of All Sites (excluding Mycosis Fungoides and Sezary Disease)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF4, SSF5\n\nM-9590-9699,9702-9729,9735,9737,9738 (EXCEPT C44.1, C69.0, C69.5-C69.6)\nM-9811-9818,9823,9827,9837 (EXCEPT C42.0, C42.1, C42.4, C44.1, C69.0, C69.5-C69.6)", - "schema_num" : 150, - "schema_selection_table" : "schema_selection_lymphoma", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "988", - "table" : "size_aaf", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bch", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_caf", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "988", - "table" : "nodes_dna", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_eaf", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fna", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gna", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "98", - "table" : "mets_hna", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_iaa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Associated with HIV/AIDS", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpj", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "Systemic Symptoms at Diagnosis", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kpg", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf3", - "name" : "International Prognostic Index (IPI)", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lph", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Follicular Lymphoma Prognostic Index (FLIPI)", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mpd", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "International Prognostic Score (IPS)", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_npe", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "150" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bch", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_caf", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_caf", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dna", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_eaf", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_eaf", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hna", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_iaa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_iaa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpr", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubw", - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "extension", "ssf2" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpr", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpo", - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "extension", "ssf2" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "size_aaf", "ssf25_snt", "ssf3_lph", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf1_jpj", "histology", "cs_input_version_original", "nodes_exam_gna", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc7_year_validation", "schema_selection_lymphoma", "ssf21_snp", "ssf5_npe", "ssf17_snl", "ajcc_descriptor_codes", "extension_eval_caf", "mets_eval_iaa", "nodes_pos_fna", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_inclusions_tpr", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpg", "ajcc6_t_codes", "nodes_eval_eaf", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "ssf6_ona", "ajcc6_n_codes", "mets_hna", "behavior", "nodes_dna", "ssf10_sne", "ssf18_snm", "ajcc7_n_codes", "ajcc7_stage_ubw", "ajcc6_stage_codes", "ajcc6_stage_qpo", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "extension_bch", "ajcc6_m_codes", "cs_year_validation", "ssf4_mpd", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:20.273Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/lymphoma_ocular_adnexa.json b/src/test/resources/algorithms/cs/02.05.50/schemas/lymphoma_ocular_adnexa.json deleted file mode 100644 index 2002de46e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/lymphoma_ocular_adnexa.json +++ /dev/null @@ -1,1140 +0,0 @@ -{ - "id" : "lymphoma_ocular_adnexa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "LymphomaOcularAdnexa", - "title" : "Lymphoma of the Ocular Adnexa and Skin of Eyelid", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF4, SSF5, SSF7, SSF8, SSF9, SSF10, SSF11, SSF12, SSF13\n\nM-9590-9699,9702-9738, 9811-9818,9820-9837\nC44.1 - Skin of Eyelid\nC69.0 - Conjunctiva\nC69.5 - Lacrimal Gland\nC69.6 - Orbit\n\n**Note 1**: Laterality must be coded for this site.\n\n**Note 2**: Ocular lymphomas are assigned a stage grouping but no TNM values in AJCC 6th Edition staging. Ocular lymphomas are assigned TNM values but no stage grouping in AJCC 7th Edition staging.", - "schema_num" : 142, - "schema_selection_table" : "schema_selection_lymphoma_ocular_adnexa", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aaw", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "989", - "table" : "extension_bez", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cak", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dev", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_eai", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hby", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_iad", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Associated with HIV/AIDS", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpj", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "Systemic Symptoms at Diagnosis", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kpg", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf3", - "name" : "International Prognostic Index (IPI)", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lbc", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Follicular Lymphoma Prognostic Index (FLIPI)", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mbj", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "Ki-67/MIB-1 Labeling Index (LI): Ophthalmic", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nac", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "Lactate Dehydrogenase (LDH)", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_oat", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf7", - "name" : "Rheumatoid Arthritis", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_saq", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Sjogren Syndrome", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_sar", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Other Connective Tissue Disease", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_sas", - "used_for_staging" : false - }, { - "key" : "ssf10", - "name" : "Sicca Syndrome", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sat", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Other Viral Infection", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_see", - "used_for_staging" : false - }, { - "key" : "ssf12", - "name" : "Bacterial Infection", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sef", - "used_for_staging" : false - }, { - "key" : "ssf13", - "name" : "Other infection", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_seg", - "used_for_staging" : false - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "142" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bez", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cak", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cak", - "output_mapping" : [ { - "from" : "staging_basis_6", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "tdescriptor", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dev", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_eai", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_eai", - "output_mapping" : [ { - "from" : "staging_basis_6", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hby", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_iad", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_iad", - "output_mapping" : [ { - "from" : "staging_basis_6", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpl", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_unb", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpl", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "determine_correct_table_for_ajcc6_stg_ns15", - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "extension", "nodes", "mets", "ssf2" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_raa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_raa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_stage_qdy", "ssf13_seg", "summary_stage_raa", "ssf25_snt", "ajcc7_stage_unb", "ssf4_mbj", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf1_jpj", "histology", "ssf12_sef", "cs_input_version_original", "size_aaw", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc_tnm6_stage_csv1_xie", "extension_bez", "ssf11_see", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "mets_eval_iad", "determine_correct_table_for_ajcc6_stg_ns15", "grade", "ajcc7_m_codes", "ssf20_sno", "ajcc7_inclusions_tpl", "ajcc_ndescriptor_cleanup", "extension_eval_cak", "ssf16_snk", "mets_hby", "ssf2_kpg", "nodes_eval_eai", "schema_selection_lymphoma_ocular_adnexa", "ssf7_saq", "ssf10_sat", "ssf3_lbc", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "nodes_dev", "ssf6_oat", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf18_snm", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf9_sas", "ssf19_snn", "ajcc7_stage_codes", "primary_site", "ajcc6_year_validation", "ssf8_sar", "ajcc6_m_codes", "ssf5_nac", "cs_year_validation", "ssf24_sns" ], - "last_modified" : "2020-06-30T19:47:20.568Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_buccal_mucosa.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_buccal_mucosa.json deleted file mode 100644 index 52e07176b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_buccal_mucosa.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_buccal_mucosa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaBuccalMucosa", - "title" : "Malignant Melanoma of Buccal Mucosa", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC06.0 - Cheek mucosa\nC06.1 - Vestibule of mouth", - "schema_num" : 26, - "schema_selection_table" : "schema_selection_melanoma_buccal_mucosa", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_ben", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dei", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "26" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_ben", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dei", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "nodes_dei", "ajcc7_stage_upu", "ssf5_npa", "grade", "extension_ben", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "schema_selection_melanoma_buccal_mucosa", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:20.701Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_choroid.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_choroid.json deleted file mode 100644 index 9e7cce687..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_choroid.json +++ /dev/null @@ -1,1156 +0,0 @@ -{ - "id" : "melanoma_choroid", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaChoroid", - "title" : "Malignant Melanoma of Choroid", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF8, SSF14\n\nM-8720-8790\nC69.3 - Choroid\n\n**Note**: Laterality must be coded for this site.", - "schema_num" : 136, - "schema_selection_table" : "schema_selection_melanoma_choroid", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "988", - "table" : "size_apb", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bda", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dpa", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpg", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "OBSOLETE - Measured Thickness (Depth)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpq", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "Measured Basal Diameter", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kpj", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf3", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpj", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf4", - "name" : "Size of Largest Metastasis", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpe", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf5", - "name" : "Chromosome 3 Status", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_npf", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf6", - "name" : "Chromosome 6p Status", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_opd", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf7", - "name" : "Chromosome 8q Status", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spw", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf8", - "name" : "Gene Expression Profile", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spx", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Mitotic Count", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_sqm", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Mean Diameter Nucleoli (MLN)", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spz", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf11", - "name" : "Extravascular Matrix Patterns, Loops", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_sqa", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "Extravascular Matrix Patterns, Networks", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sqb", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf13", - "name" : "Microvascular Density (MVD)", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_sqq", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf14", - "name" : "PET Standardized Uptake Values (SUV)", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sqr", - "used_for_staging" : false - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "136" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bda", - "inputs" : [ "extension", "ssf2", "ssf3" ], - "outputs" : [ "t77", "t_category", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dpa", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpg", - "inputs" : [ "mets", "ssf4" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upv", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpx", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "extension_size_category_ajcc7_xpm", "ssf13_sqq", "ssf12_sqb", "ssf25_snt", "ssf3_lpj", "ssf8_spx", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ajcc6_stage_qpx", "ssf6_opd", "nodes_dpa", "histology", "ssf1_jpq", "cs_input_version_original", "tumor_size_category_ajcc7_xpk", "ssf22_snq", "lvi", "mets_hpg", "ajcc_tdescriptor_cleanup", "schema_selection_melanoma_choroid", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ssf10_spz", "ssf5_npf", "ajcc_descriptor_codes", "ajcc7_stage_upv", "ssf11_sqa", "grade", "summary_stage_rpa", "ssf7_spw", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "tumor_size_pair_ajcc6_xpl", "nodes_exam_gpa", "size_apb", "ajcc6_n_codes", "behavior", "ssf2_kpj", "extension_size_pair_ajcc6_xpn", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "extension_bda", "ssf19_snn", "ajcc7_stage_codes", "size_metastasis_ajcc7_xpx", "ssf9_sqm", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "ssf14_sqr", "ssf4_mpe", "cs_year_validation", "ssf24_sns" ], - "last_modified" : "2020-06-30T19:47:20.868Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_ciliary_body.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_ciliary_body.json deleted file mode 100644 index 9585fff04..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_ciliary_body.json +++ /dev/null @@ -1,1165 +0,0 @@ -{ - "id" : "melanoma_ciliary_body", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaCiliaryBody", - "title" : "Malignant Melanoma of Ciliary Body (excluding Iris)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF8, SSF14\n\nM-8720-8790\nC69.4 - Ciliary body [excluding iris]\n\n**Note 1**: CS Site-Specific Factor 25 is used to discriminate between tumors arising in the ciliary body and the iris, both coded to C69.4.\n\n**Note 2**: Laterality must be coded for this site.", - "schema_num" : 135, - "schema_selection_table" : "schema_selection_melanoma_ciliary_body", - "schema_discriminators" : [ "ssf25" ], - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "988", - "table" : "size_apb", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfq", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dpa", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpg", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "OBSOLETE - Measured Thickness (Depth)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpq", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "Measured Basal Diameter", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kpj", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf3", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpj", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf4", - "name" : "Size of Largest Metastasis", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpe", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf5", - "name" : "Chromosome 3 Status", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_npf", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf6", - "name" : "Chromosome 6p Status", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_opd", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf7", - "name" : "Chromosome 8q Status", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spw", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf8", - "name" : "Gene Expression Profile", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spx", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Mitotic Count", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_sqm", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Mean Diameter Nucleoli (MLN)", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spz", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf11", - "name" : "Extravascular Matrix Patterns, Loops", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_sqa", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "Extravascular Matrix Patterns, Networks", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sqb", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf13", - "name" : "Microvascular density (MVD)", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_sdg", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf14", - "name" : "PET Standardized Uptake Values (SUV)", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sdh", - "used_for_staging" : false - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Melanoma Ciliary Body/Melanoma Iris", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "010", - "table" : "ssf25_sqc", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_2004_FORWARD" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "135" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfq", - "inputs" : [ "extension", "ssf2", "ssf3" ], - "outputs" : [ "t77", "t_category", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dpa", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpg", - "inputs" : [ "mets", "ssf4" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf25_sqc", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc7_stage_upv", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ssf25_sqc", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc6_stage_qpx", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "extension_size_category_ajcc7_xpm", "ssf12_sqb", "ssf3_lpj", "ssf8_spx", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ajcc6_stage_qpx", "ssf6_opd", "nodes_dpa", "histology", "ssf1_jpq", "cs_input_version_original", "tumor_size_category_ajcc7_xpk", "ssf22_snq", "extension_bfq", "lvi", "mets_hpg", "ajcc_tdescriptor_cleanup", "ssf13_sdg", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ssf10_spz", "ssf5_npf", "ajcc_descriptor_codes", "ajcc7_stage_upv", "ssf11_sqa", "grade", "summary_stage_rpa", "ssf7_spw", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf25_sqc", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "tumor_size_pair_ajcc6_xpl", "schema_selection_melanoma_ciliary_body", "nodes_exam_gpa", "size_apb", "ajcc6_n_codes", "behavior", "ssf2_kpj", "extension_size_pair_ajcc6_xpn", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf14_sdh", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "size_metastasis_ajcc7_xpx", "ssf9_sqm", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "ssf4_mpe", "cs_year_validation", "ssf24_sns" ], - "last_modified" : "2020-06-30T19:47:20.985Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_conjunctiva.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_conjunctiva.json deleted file mode 100644 index e83d6e902..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_conjunctiva.json +++ /dev/null @@ -1,1158 +0,0 @@ -{ - "id" : "melanoma_conjunctiva", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaConjunctiva", - "title" : "Malignant Melanoma of Conjunctiva", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF3\n\nM-8720-8790\nC69.0 - Conjunctiva\n\n**Note**: Laterality must be coded for this site.", - "schema_num" : 132, - "schema_selection_table" : "schema_selection_melanoma_conjunctiva", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcs", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dpa", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpc", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jby", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "Quadrants", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kbi", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf3", - "name" : "Grade - Melanoma Origin", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_law", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "132" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcs", - "inputs" : [ "extension", "ssf2", "extension_eval", "ssf1" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dpa", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpc", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_unb", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qnb", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf25_snt", "ajcc7_stage_unb", "ssf15_snj", "ajcc7_t_codes", "ssf2_kbi", "ssf23_snr", "nodes_dpa", "histology", "cs_input_version_original", "mets_hpc", "pathologic_eval_extension_thickness_ajcc6_xbt", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc6_stage_qnb", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "pathologic_eval_extension_thickness_ajcc7_xcb", "grade", "summary_stage_rpa", "ajcc7_m_codes", "eval_extension_t3_ajcc7_xgh", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf3_law", "ssf7_snb", "ssf11_snf", "determine_correct_table_for_ajcc6_t_ns16", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "clinical_eval_extension_thickness_ajcc6_xbw", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "extension_bcs", "mets_eval_ipa", "clinical_eval_extension_quadrants_ajcc7_xca", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "schema_selection_melanoma_conjunctiva", "ssf1_jby", "ssf19_snn", "ajcc7_stage_codes", "determine_correct_table_for_ajcc7_t_ns17", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:21.124Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_epiglottis_anterior.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_epiglottis_anterior.json deleted file mode 100644 index bf7f21417..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_epiglottis_anterior.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_epiglottis_anterior", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaEpiglottisAnterior", - "title" : "Malignant Melanoma of Anterior Surface of Epiglottis", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC10.1 - Anterior surface of epiglottis", - "schema_num" : 33, - "schema_selection_table" : "schema_selection_melanoma_epiglottis_anterior", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bed", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddy", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "33" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bed", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddy", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "schema_selection_melanoma_epiglottis_anterior", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "extension_bed", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "nodes_ddy", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:21.234Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_eye_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_eye_other.json deleted file mode 100644 index dbae6c111..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_eye_other.json +++ /dev/null @@ -1,1120 +0,0 @@ -{ - "id" : "melanoma_eye_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaEyeOther", - "title" : "Malignant Melanoma of Other Eye (excluding Conjunctiva, Choroid, Ciliary Body, and Iris)", - "notes" : "M-8720-8790\nC69.1 - Cornea\nC69.2 - Retina\nC69.5 - Lacrimal gland\nC69.8 - Overlapping lesion of eye and adnexa\nC69.9 - Eye, NOS\n\n**Note 1**: Laterality must be coded for these sites\n\n**Note 2**: AJCC does not define TNM staging for these sites.\n\n**Note 3**: AJCC includes primary site C69.8 (overlapping lesions of eye and adnexa) in chapter 46, Sarcoma of the Orbit. This schema includes only melanomas of the sites listed above.", - "schema_num" : 137, - "schema_selection_table" : "schema_selection_melanoma_eye_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bpb", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cam", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dpb", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_eak", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpa", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_iaf", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "137" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bpb", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cam", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cam", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dpb", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_eak", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_eak", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpa", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_iaf", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_iaf", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "mets_hpa", "nodes_dpb", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "mets_eval_iaf", "ajcc_descriptor_codes", "grade", "extension_eval_cam", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "nodes_eval_eak", "schema_selection_melanoma_eye_other", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "ajcc7_n_codes", "ajcc6_stage_codes", "extension_bpb", "ssf5_nna", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:21.336Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_floor_mouth.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_floor_mouth.json deleted file mode 100644 index dd0ae7a25..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_floor_mouth.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_floor_mouth", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaFloorMouth", - "title" : "Malignant Melanoma of Floor of Mouth", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC04.0 - Anterior floor of mouth\nC04.1 - Lateral floor of mouth\nC04.8 - Overlapping lesion of floor of mouth\nC04.9 - Floor of mouth, NOS", - "schema_num" : 18, - "schema_selection_table" : "schema_selection_melanoma_floor_mouth", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_beo", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dej", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "18" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_beo", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dej", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "nodes_dej", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "extension_beo", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "schema_selection_melanoma_floor_mouth", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:21.443Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_lower.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_lower.json deleted file mode 100644 index 1b28f9d5e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_lower.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_gum_lower", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaGumLower", - "title" : "Malignant Melanoma of Lower Gum and Retromolar Area", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC03.1 - Lower gum\nC06.2 - Retromolar area", - "schema_num" : 14, - "schema_selection_table" : "schema_selection_melanoma_gum_lower", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bep", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dek", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "14" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bep", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dek", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "nodes_dek", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "extension_bep", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "schema_selection_melanoma_gum_lower", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:21.548Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_other.json deleted file mode 100644 index f275ea16d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_other.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_gum_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaGumOther", - "title" : "Malignant Melanoma of Gum, NOS", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC03.9 - Gum, NOS", - "schema_num" : 16, - "schema_selection_table" : "schema_selection_melanoma_gum_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_beq", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_del", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "16" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_beq", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_del", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "schema_selection_melanoma_gum_other", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "nodes_del", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "extension_beq", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:21.647Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_upper.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_upper.json deleted file mode 100644 index b6f0d1342..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_gum_upper.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_gum_upper", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaGumUpper", - "title" : "Malignant Melanoma of Upper Gum", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC03.0 - Upper gum", - "schema_num" : 12, - "schema_selection_table" : "schema_selection_melanoma_gum_upper", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_ber", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dem", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "12" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_ber", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dem", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "nodes_dem", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "extension_ber", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "schema_selection_melanoma_gum_upper", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:21.760Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_hypopharynx.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_hypopharynx.json deleted file mode 100644 index e1a7c01fd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_hypopharynx.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_hypopharynx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaHypopharynx", - "title" : "Malignant Melanoma of Pyriform Sinus, Hypopharynx, and Laryngopharynx", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC12.9 - Pyriform sinus\nC13.0 - Postcricoid region\nC13.1 - Hypopharyngeal aspect of aryepiglottic fold\nC13.2 - Posterior wall of hypopharynx\nC13.8 - Overlapping lesion of hypopharynx\nC13.9 - Hypopharynx, NOS (laryngopharynx)", - "schema_num" : 38, - "schema_selection_table" : "schema_selection_melanoma_hypopharynx", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bee", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddz", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "38" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bee", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddz", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "extension_bee", "ajcc7_stage_upu", "schema_selection_melanoma_hypopharynx", "ssf5_npa", "grade", "nodes_ddz", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:21.870Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_iris.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_iris.json deleted file mode 100644 index 839133190..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_iris.json +++ /dev/null @@ -1,1164 +0,0 @@ -{ - "id" : "melanoma_iris", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaIris", - "title" : "Malignant Melanoma of Iris (excluding Ciliary Body)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2, SSF8, SSF14\n\nM-8720-8790\nC69.4 - Iris\n\n**Note 1**: CS Site-Specific Factor 25 is used to discriminate between tumors arising in the ciliary body and the iris, both coded to C69.4.\n\n**Note 2**: Laterality must be coded for this site.", - "schema_num" : 134, - "schema_selection_table" : "schema_selection_melanoma_iris", - "schema_discriminators" : [ "ssf25" ], - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "988", - "table" : "size_apb", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfr", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dpa", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpg", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "OBSOLETE - Measured Thickness (Depth)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpq", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "Measured Basal Diameter", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kbm", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpr", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf4", - "name" : "Size of Largest Metastasis", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpe", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf5", - "name" : "Chromosome 3 Status", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_npf", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf6", - "name" : "Chromosome 6p Status", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_opd", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf7", - "name" : "Chromosome 8q Status", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spw", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf8", - "name" : "Gene Expression Profile", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spx", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Mitotic Count", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_sqm", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Mean Diameter Nucleoli (MLN)", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spz", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf11", - "name" : "Extravascular Matrix Patterns, Loops", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_sqa", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "Extravascular Matrix Patterns, Networks", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sqb", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf13", - "name" : "Microvascular Density (MVD)", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_sqq", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf14", - "name" : "PET Standardized Uptake Values (SUV)", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sqr", - "used_for_staging" : false - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Melanoma Ciliary Body/Melanoma Iris", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "010", - "table" : "ssf25_sqc", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_2004_FORWARD" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "134" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfr", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dpa", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpg", - "inputs" : [ "mets", "ssf4" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf25_sqc", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc7_stage_uad", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ssf25_sqc", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc6_stage_qea", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf3_lpr", "ssf13_sqq", "ssf12_sqb", "ssf8_spx", "ajcc6_stage_qea", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf6_opd", "nodes_dpa", "histology", "ssf1_jpq", "cs_input_version_original", "ajcc7_stage_uad", "schema_selection_melanoma_iris", "extension_bfr", "ssf22_snq", "lvi", "mets_hpg", "ajcc_tdescriptor_cleanup", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf2_kbm", "ssf17_snl", "ssf10_spz", "ssf5_npf", "ajcc_descriptor_codes", "ssf11_sqa", "grade", "summary_stage_rpa", "ssf7_spw", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf25_sqc", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "nodes_exam_gpa", "size_apb", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "size_metastasis_ajcc7_xpx", "ssf9_sqm", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "ssf14_sqr", "ssf4_mpe", "cs_year_validation", "ssf24_sns" ], - "last_modified" : "2020-06-30T19:47:21.980Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_glottic.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_glottic.json deleted file mode 100644 index bc0952e1b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_glottic.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_larynx_glottic", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaLarynxGlottic", - "title" : "Malignant Melanoma of Glottic Larynx", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC32.0 - Glottis", - "schema_num" : 83, - "schema_selection_table" : "schema_selection_melanoma_larynx_glottic", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdv", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddq", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "83" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdv", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddq", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "schema_selection_melanoma_larynx_glottic", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upu", "ssf5_npa", "nodes_ddq", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "extension_bdv", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:22.075Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_other.json deleted file mode 100644 index bc7797d98..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_other.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_larynx_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaLarynxOther", - "title" : "Malignant Melanoma of Other Larynx", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC32.3 - Laryngeal cartilage\nC32.8 - Overlapping lesion of larynx\nC32.9 - Larynx, NOS", - "schema_num" : 89, - "schema_selection_table" : "schema_selection_melanoma_larynx_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdw", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddr", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "89" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdw", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddr", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "nodes_ddr", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "extension_bdw", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "schema_selection_melanoma_larynx_other", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:22.186Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_subglottic.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_subglottic.json deleted file mode 100644 index dba6a3da4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_subglottic.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_larynx_subglottic", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaLarynxSubglottic", - "title" : "Malignant Melanoma of Subglottic Larynx", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC32.2 - Subglottis", - "schema_num" : 87, - "schema_selection_table" : "schema_selection_melanoma_larynx_subglottic", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdx", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dds", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "87" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdx", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dds", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "nodes_dds", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "extension_bdx", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "schema_selection_melanoma_larynx_subglottic", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:22.299Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_supraglottic.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_supraglottic.json deleted file mode 100644 index 906ae8125..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_larynx_supraglottic.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_larynx_supraglottic", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaLarynxSupraglottic", - "title" : "Malignant Melanoma of Supraglottic Larynx", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC32.1 - Supraglottis", - "schema_num" : 85, - "schema_selection_table" : "schema_selection_melanoma_larynx_supraglottic", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdy", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddt", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "85" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdy", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddt", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "nodes_ddt", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "extension_bdy", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "schema_selection_melanoma_larynx_supraglottic", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:22.424Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_lower.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_lower.json deleted file mode 100644 index c90c4e12e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_lower.json +++ /dev/null @@ -1,1156 +0,0 @@ -{ - "id" : "melanoma_lip_lower", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaLipLower", - "title" : "Malignant Melanoma of Lower Lip", - "subtitle" : "Lip (Vermilion or Labial Mucosa)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC00.1 - External lower lip\nC00.4 - Mucosa of lower lip\nC00.6 - Commissure of lip", - "schema_num" : 4, - "schema_selection_table" : "schema_selection_melanoma_lip_lower", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bes", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_den", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "4" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bes", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_den", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "extension_bes", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "nodes_den", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "schema_selection_melanoma_lip_lower", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:22.534Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_other.json deleted file mode 100644 index f46ad9c1b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_other.json +++ /dev/null @@ -1,1156 +0,0 @@ -{ - "id" : "melanoma_lip_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaLipOther", - "title" : "Malignant Melanoma of Other Lip", - "subtitle" : "Lip (Vermilion or Labial Mucosa)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC00.2 - External lip, NOS\nC00.5 - Mucosa of lip, NOS\nC00.8 - Overlapping lesion of lip\nC00.9 - Lip, NOS (excludes skin of lip C44.0)", - "schema_num" : 6, - "schema_selection_table" : "schema_selection_melanoma_lip_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bet", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_deo", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "6" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bet", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_deo", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "extension_bet", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "nodes_deo", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "schema_selection_melanoma_lip_other", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:22.701Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_upper.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_upper.json deleted file mode 100644 index 4f916338c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_lip_upper.json +++ /dev/null @@ -1,1156 +0,0 @@ -{ - "id" : "melanoma_lip_upper", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaLipUpper", - "title" : "Malignant Melanoma of Upper Lip", - "subtitle" : "Lip (Vermilion or Labial Mucosa)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC00.0 - External upper lip\nC00.3 - Mucosa of upper lip", - "schema_num" : 2, - "schema_selection_table" : "schema_selection_melanoma_lip_upper", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdt", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddo", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "2" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdt", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddo", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upu", "nodes_ddo", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "extension_bdt", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "schema_selection_melanoma_lip_upper", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:22.818Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_mouth_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_mouth_other.json deleted file mode 100644 index 6bf337f6e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_mouth_other.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_mouth_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaMouthOther", - "title" : "Malignant Melanoma of Other Mouth", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC05.8 - Overlapping lesion of palate\nC05.9 - Palate, NOS\nC06.8 - Overlapping lesion of other and unspecified parts of mouth\nC06.9 - Mouth, NOS", - "schema_num" : 24, - "schema_selection_table" : "schema_selection_melanoma_mouth_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bev", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_deq", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "24" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bev", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_deq", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "extension_bev", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "nodes_deq", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "schema_selection_melanoma_mouth_other", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:22.950Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_nasal_cavity.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_nasal_cavity.json deleted file mode 100644 index e17ee9c82..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_nasal_cavity.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_nasal_cavity", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaNasalCavity", - "title" : "Malignant Melanoma of Nasal Cavity", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC30.0 - Nasal cavity (excludes nose, NOS C76.0)\n\n**Note**: Laterality must be coded for this site, except subsites nasal cartilage and nasal septum, for which laterality is coded 0.", - "schema_num" : 74, - "schema_selection_table" : "schema_selection_melanoma_nasal_cavity", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bei", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ded", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "74" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bei", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ded", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "nodes_ded", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upu", "extension_bei", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng", "schema_selection_melanoma_nasal_cavity" ], - "last_modified" : "2020-06-30T19:47:23.089Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_nasopharynx.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_nasopharynx.json deleted file mode 100644 index ab0d6978e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_nasopharynx.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_nasopharynx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaNasopharynx", - "title" : "Malignant Melanoma of Nasopharynx (including Pharyngeal Tonsil)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC11.0 - Superior wall of nasopharynx\nC11.1 - Posterior wall of nasopharynx (including pharyngeal tonsil)\nC11.2 - Lateral wall of nasopharynx\nC11.3 - Anterior wall of nasopharynx\nC11.8 - Overlapping lesion of nasopharynx\nC11.9 - Nasopharynx, NOS", - "schema_num" : 35, - "schema_selection_table" : "schema_selection_melanoma_nasopharynx", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bej", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dee", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "35" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bej", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dee", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "schema_selection_melanoma_nasopharynx", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "nodes_dee", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "extension_bej", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:23.211Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_oropharynx.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_oropharynx.json deleted file mode 100644 index 7c4af7f90..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_oropharynx.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_oropharynx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaOropharynx", - "title" : "Malignant Melanoma of Tonsil and Oropharynx", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC09.0 - Tonsillar fossa\nC09.1 - Tonsillar pillar\nC09.8 - Overlapping lesion of tonsil\nC09.9 - Tonsil, NOS (excluding lingual tonsil C02.4)\nC10.0 - Vallecula\nC10.2 - Lateral wall of oropharynx\nC10.3 - Posterior wall of oropharynx\nC10.4 - Branchial cleft (site of neoplasm)\nC10.8 - Overlapping lesion of oropharynx\nC10.9 - Oropharynx, NOS\n\n**Note**: Laterality must be coded for C09.0, C09.1, C09.8, and C09.9", - "schema_num" : 31, - "schema_selection_table" : "schema_selection_melanoma_oropharynx", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bek", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_def", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "31" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bek", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_def", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "nodes_def", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "extension_bek", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "schema_selection_melanoma_oropharynx", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:23.380Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_hard.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_hard.json deleted file mode 100644 index 9ac2f433a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_hard.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_palate_hard", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaPalateHard", - "title" : "Malignant Melanoma of Hard Palate", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC05.0 - Hard palate", - "schema_num" : 20, - "schema_selection_table" : "schema_selection_melanoma_palate_hard", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bew", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_der", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "20" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bew", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_der", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "schema_selection_melanoma_palate_hard", "ajcc6_stage_qna", "extension_bew", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "nodes_der", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:23.530Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_soft.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_soft.json deleted file mode 100644 index 74ef7f3c6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_palate_soft.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_palate_soft", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaPalateSoft", - "title" : "Malignant Melanoma of Soft Palate and Uvula", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC05.1 - Soft palate, NOS\nC05.2 - Uvula\n\n**Note**: Soft palate excludes nasopharyngeal (superior) surface of soft palate (C11.3)", - "schema_num" : 22, - "schema_selection_table" : "schema_selection_melanoma_palate_soft", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bel", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_deg", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "22" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bel", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_deg", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "nodes_deg", "ajcc_descriptor_codes", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "extension_bel", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "schema_selection_melanoma_palate_soft", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:23.672Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_pharynx_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_pharynx_other.json deleted file mode 100644 index a54aa1dd4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_pharynx_other.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_pharynx_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaPharynxOther", - "title" : "Malignant Melanoma of Pharynx, NOS and Overlapping Lesions of Lip, Oral Cavity, and Pharynx", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC14.0 - Pharynx, NOS\nC14.2 - Waldeyer ring\nC14.8 - Overlapping lesion of lip, oral cavity, and pharynx", - "schema_num" : 40, - "schema_selection_table" : "schema_selection_melanoma_pharynx_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bem", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dft", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "40" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bem", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dft", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "schema_selection_melanoma_pharynx_other", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upu", "ssf5_npa", "grade", "extension_bem", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "nodes_dft", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:23.854Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_ethmoid.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_ethmoid.json deleted file mode 100644 index 16248b395..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_ethmoid.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_sinus_ethmoid", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaSinusEthmoid", - "title" : "Malignant Melanoma of Ethmoid Sinus", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC31.1 - Ethmoid sinus", - "schema_num" : 79, - "schema_selection_table" : "schema_selection_melanoma_sinus_ethmoid", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_beg", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_deb", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "79" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_beg", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_deb", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "nodes_deb", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "schema_selection_melanoma_sinus_ethmoid", "ajcc7_stage_upu", "ssf5_npa", "extension_beg", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:24.061Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_maxillary.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_maxillary.json deleted file mode 100644 index c8192ccbc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_maxillary.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_sinus_maxillary", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaSinusMaxillary", - "title" : "Malignant Melanoma of Maxillary Sinus", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC31.0 - Maxillary sinus\n\n**Note**: Laterality must be coded for this site.", - "schema_num" : 77, - "schema_selection_table" : "schema_selection_melanoma_sinus_maxillary", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_beh", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_deu", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "77" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_beh", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_deu", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upu", "extension_beh", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "nodes_deu", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng", "schema_selection_melanoma_sinus_maxillary" ], - "last_modified" : "2020-06-30T19:47:24.202Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_other.json deleted file mode 100644 index 225077a33..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_sinus_other.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_sinus_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaSinusOther", - "title" : "Malignant Melanoma of Accessory (Paranasal) Sinuses", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC31.2 - Frontal sinus\nC31.3 - Sphenoid sinus\nC31.8 - Overlapping lesion of accessory sinuses\nC31.9 - Accessory sinus, NOS\n\n**Note 1**: Laterality must be coded for frontal sinus (C31.2).\n\n**Note 2**: AJCC does not define TNM staging for these sites and histologies.", - "schema_num" : 81, - "schema_selection_table" : "schema_selection_melanoma_sinus_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_beb", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddw", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcx", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "81" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_beb", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddw", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcx", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_una", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ajcc7_stage_una", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "ssf22_snq", "mets_hcx", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "extension_eval_cna", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "nodes_ddw", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "extension_beb", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "schema_selection_melanoma_sinus_other", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:24.392Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_skin.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_skin.json deleted file mode 100644 index 84c75dca1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_skin.json +++ /dev/null @@ -1,1157 +0,0 @@ -{ - "id" : "melanoma_skin", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaSkin", - "title" : " Malignant Melanoma of Skin, Vulva, Penis, Scrotum", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF8, SSF9\n\nM-8720-8790\nC44.0 - Skin of lip, NOS\nC44.1 - Eyelid\nC44.2 - External ear\nC44.3 - Skin of other and unspecified parts of face\nC44.4 - Skin of scalp and neck\nC44.5 - Skin of trunk\nC44.6 - Skin of upper limb and shoulder\nC44.7 - Skin of lower limb and hip\nC44.8 - Overlapping lesion of skin\nC44.9 - Skin, NOS\nC51.0 - Labium majus\nC51.1 - Labium minus\nC51.2 - Clitoris\nC51.8 - Overlapping lesion of vulva\nC51.9 - Vulva, NOS\nC60.0 - Prepuce\nC60.1 - Glans penis\nC60.2 - Body of penis\nC60.8 - Overlapping lesion of penis\nC60.9 - Penis\nC63.2 - Scrotum, NOS\n\n**Note 1**: Laterality must be coded for C44.1-C44.3, and C44.5-C44.7. For codes C44.3 and C44.5, if the tumor is midline (e.g., chin), use code 5 (midline) in the laterality field. \n\n**Note 2**: For melanoma of sites other than those above, use the appropriate site-specific schema.", - "schema_num" : 99, - "schema_selection_table" : "schema_selection_melanoma_skin", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_ban", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dam", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_eba", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fah", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gaf", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_had", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Measured Thickness (Depth), Breslow Measurement", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpl", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "Ulceration", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kaa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf3", - "name" : "Clinical Status of Lymph Node Mets", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_laa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf4", - "name" : "Serum Lactate Dehydrogenase (LDH)", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_maa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf5", - "name" : "Serum Lactate Dehydrogenase (LDH) Lab Value", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nba", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf6", - "name" : "LDH Upper Limits of Normal", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_oax", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf7", - "name" : "Primary Tumor Mitotic Count/Rate", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "999", - "table" : "ssf7_seb", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf8", - "name" : "Primary Tumor Regression", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_sec", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Vertical Growth Phase (VGP)", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_sed", - "used_for_staging" : false - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "99" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_ban", - "inputs" : [ "extension", "ssf7", "ssf2", "ssf1" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dam", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "ssf3" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_eba", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_eba", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_had", - "inputs" : [ "mets", "ssf4" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubv", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "nodes_eval", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qbq", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "nodes_eval", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rac", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rac", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "nodes_pos_fah", "schema_selection_melanoma_skin", "determine_correct_table_for_ajcc7_n_ns40", "ssf25_snt", "summary_stage_rac", "ssf15_snj", "determine_correct_table_for_ajcc6_n_ns41", "ajcc7_t_codes", "ssf23_snr", "ssf1_jpl", "histology", "cs_input_version_original", "extension_thickness_ulceration_tcategory_ajcc6_xkj", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "metsat_dxand_ldh_xbs", "ssf3_laa", "ajcc7_year_validation", "extension_thickness_ulceration_tcategory_ajcc7_xkk", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "lymph_nodeand_nodal_status_eval_blank_ajcc6_xlm", "thickness_ulceration_ajcc6_xbn", "nodes_eval_eba", "grade", "ajcc7_m_codes", "extension_ban", "ssf20_sno", "lymph_nodeand_nodal_status_eval_blank_ajcc7_xlj", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "mets_had", "lymph_nodeand_nodal_status_pathologic_eval_ajcc6_xll", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ssf6_oax", "ss_codes", "ssf7_seb", "size_apa", "nodes_dam", "ssf4_maa", "lymph_nodeand_nodal_status_pathologic_eval_ajcc7_xli", "lymph_nodeand_nodal_status_clinical_eval_ajcc6_xlk", "ajcc6_n_codes", "ajcc6_stage_qbq", "behavior", "ssf10_sne", "ssf8_sec", "ssf18_snm", "mets_eval_ipa", "ssf5_nba", "extension_eval_cpa", "ajcc7_n_codes", "thickness_ulceration_ajcc7_xhu", "ajcc6_stage_codes", "lymph_nodeand_nodal_status_clinical_eval_ajcc7_xlh", "nodes_exam_gaf", "ajcc7_stage_ubv", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "extension_ulceration_t1_ajcc6_xbo", "ssf9_sed", "ssf2_kaa", "ajcc6_m_codes", "cs_year_validation", "mitotic_rate_ulceration_t1_ajcc7_xgo", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:25.463Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_anterior.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_anterior.json deleted file mode 100644 index 610b4168c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_anterior.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_tongue_anterior", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaTongueAnterior", - "title" : "Malignant Melanoma of Anterior Tongue", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC02.0 - Dorsal surface of tongue, NOS\nC02.1 - Border of tongue\nC02.2 - Ventral surface of tongue, NOS\nC02.3 - Anterior 2/3 of tongue, NOS\nC02.8 - Overlapping lesion of tongue\nC02.9 - Tongue, NOS", - "schema_num" : 10, - "schema_selection_table" : "schema_selection_melanoma_tongue_anterior", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bex", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_des", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "10" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bex", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_des", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "extension_bex", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "nodes_des", "ss_codes", "size_apa", "schema_selection_melanoma_tongue_anterior", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:25.610Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_base.json b/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_base.json deleted file mode 100644 index a868da5dd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/melanoma_tongue_base.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "id" : "melanoma_tongue_base", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MelanomaTongueBase", - "title" : "Malignant Melanoma of Base of Tongue and Lingual Tonsil", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nM-8720-8790\nC01.9 - Base of tongue, NOS\nC02.4 - Lingual tonsil", - "schema_num" : 8, - "schema_selection_table" : "schema_selection_melanoma_tongue_base", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bef", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpb", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dea", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epc", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpd", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipc", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "8" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bef", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpb", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dea", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epc", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpd", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor", "staging_basis_6" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipc", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "staging_basis_6", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upu", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "schema_selection_melanoma_tongue_base", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "mets_hpd", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "nodes_dea", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpa", "ssf17_snl", "ajcc_descriptor_codes", "extension_bef", "ajcc7_stage_upu", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "mets_eval_ipc", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "extension_eval_cpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epc", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:25.759Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_penis.json b/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_penis.json deleted file mode 100644 index 6f4fd7fdb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_penis.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "merkel_cell_penis", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MerkelCellPenis", - "title" : "Merkel Cell Carcinoma of the Penis", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF19, SSF20, SSF21\n\nM-8247\nC60.0 - Prepuce\nC60.1 - Glans penis\nC60.2 - Body of penis\nC60.8 - Overlapping lesion of penis\nC60.9 - Penis, NOS\n\n**Note 1**: This schema is used for Merkel cell carcinoma only.", - "schema_num" : 120, - "schema_selection_table" : "schema_selection_merkel_cell_penis", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apo", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfz", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfv", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_eba", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fah", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hph", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpt", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "Clinical Status of Lymph Node Mets", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpq", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "Size of Metastasis in Lymph Nodes", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "999", - "table" : "ssf16_sqw", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf17", - "name" : "Extracapsular Extension of Regional Lymph Nodes", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "999", - "table" : "ssf17_sqx", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf18", - "name" : "Isolated Tumor Cells (ITC) in Regional Lymph Node(s)", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "999", - "table" : "ssf18_sqy", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf19", - "name" : "Tumor Base Transection Status", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_sqz", - "used_for_staging" : false - }, { - "key" : "ssf20", - "name" : "Tumor Infiltrating Lymphocytes (TIL)", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sra", - "used_for_staging" : false - }, { - "key" : "ssf21", - "name" : "Growth Pattern of Primary Tumor", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_srb", - "used_for_staging" : false - }, { - "key" : "ssf22", - "name" : "Profound Immune Suppression", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "999", - "table" : "ssf22_src", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "120" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfz", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfv", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "ssf3" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_eba", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_eba", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hph", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uqe", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "nodes_eval", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qps", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "nodes_pos_fah", "ssf2_kna", "extension_bfz", "ajcc6_exclusions_ppd", "ssf3_lpq", "ssf25_snt", "ajcc7_inclusions_tqb", "ssf22_src", "ssf15_snj", "ajcc7_t_codes", "mets_hph", "ssf23_snr", "histology", "ajcc6_stage_qps", "cs_input_version_original", "ssf1_jpt", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf20_sra", "ssf4_mna", "ssf16_sqw", "ajcc7_year_validation", "ajcc7_stage_uqe", "ajcc_descriptor_codes", "ssf17_sqx", "nodes_eval_eba", "grade", "lymph_nodeand_nodal_status_eval_blank_ajcc7_xln", "summary_stage_rpa", "ajcc7_m_codes", "ssf21_srb", "ajcc_ndescriptor_cleanup", "ssf19_sqz", "ajcc6_t_codes", "ssf18_sqy", "schema_selection_merkel_cell_penis", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "mets_eval_ipa", "size_apo", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "nodes_dfv", "determine_correct_table_for_ajcc7_n_ns18", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "lymph_nodeand_nodal_status_eval_ajcc7_xlg", "extension_size_ajcc7_xik", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:26.033Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_scrotum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_scrotum.json deleted file mode 100644 index 2549899bb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_scrotum.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "merkel_cell_scrotum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MerkelCellScrotum", - "title" : "Merkel Cell Carcinoma of the Scrotum", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF19, SSF20, SSF21\n\nM-8247\nC63.2 - Scrotum, NOS\n\n**Note**: This schema is used for Merkel cell carcinoma only.", - "schema_num" : 125, - "schema_selection_table" : "schema_selection_merkel_cell_scrotum", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apo", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bga", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfw", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_eba", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fah", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hph", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpt", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "Clinical Status of Lymph Node Mets", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpq", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "Size of Metastasis in Lymph Nodes", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "999", - "table" : "ssf16_sqw", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf17", - "name" : "Extracapsular Extension of Regional Lymph Nodes", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "999", - "table" : "ssf17_sqx", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf18", - "name" : "Isolated Tumor Cells (ITC) in Regional Lymph Node(s)", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "999", - "table" : "ssf18_sqy", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf19", - "name" : "Tumor Base Transection Status", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_sqz", - "used_for_staging" : false - }, { - "key" : "ssf20", - "name" : "Tumor Infiltrating Lymphocytes (TIL)", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sra", - "used_for_staging" : false - }, { - "key" : "ssf21", - "name" : "Growth Pattern of Primary Tumor", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_srb", - "used_for_staging" : false - }, { - "key" : "ssf22", - "name" : "Profound Immune Suppression", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "999", - "table" : "ssf22_src", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "125" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bga", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfw", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "ssf3" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_eba", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_eba", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hph", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uqe", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "nodes_eval", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpt", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "extension_size_ajcc6_xji", "nodes_pos_fah", "ssf2_kna", "ajcc6_exclusions_ppd", "ssf3_lpq", "ssf25_snt", "ajcc7_inclusions_tqb", "ssf22_src", "extension_bga", "ssf15_snj", "ajcc7_t_codes", "mets_hph", "ssf23_snr", "histology", "ajcc6_stage_qpt", "cs_input_version_original", "ssf1_jpt", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf20_sra", "ssf4_mna", "ssf16_sqw", "ajcc7_year_validation", "ajcc7_stage_uqe", "ajcc_descriptor_codes", "ssf17_sqx", "nodes_eval_eba", "grade", "lymph_nodeand_nodal_status_eval_blank_ajcc7_xlo", "summary_stage_rpa", "ajcc7_m_codes", "ssf21_srb", "ajcc_ndescriptor_cleanup", "ssf19_sqz", "ajcc6_t_codes", "ssf18_sqy", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "schema_selection_merkel_cell_scrotum", "behavior", "ssf10_sne", "mets_eval_ipa", "size_apo", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "lymph_nodeand_nodal_status_eval_ajcc7_xlb", "ajcc6_year_validation", "nodes_dfw", "determine_correct_table_for_ajcc7_n_ns19", "ajcc6_m_codes", "extension_size_ajcc7_xim", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:26.200Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_skin.json b/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_skin.json deleted file mode 100644 index 88a0a7231..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_skin.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "merkel_cell_skin", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MerkelCellSkin", - "title" : "Merkel Cell Carcinoma of the Skin (excluding Merkel Cell Carcinoma of Penis, Scrotum, and Vulva)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF19, SSF20, SSF21\n\nM-8247\nC44.0 - Skin of lip, NOS\nC44.2 - External ear\nC44.3 - Skin of ear and unspecified parts of face\nC44.4 - Skin of scalp and neck\nC44.5 - Skin of trunk\nC44.6 - Skin of upper limb and shoulder\nC44.7 - Skin of lower limb and hip\nC44.8 - Overlapping lesion of skin\nC44.9 - Skin, NOS\n\n**Note 1**: This schema is NOT used for Merkel cell carcinoma of the vulva, penis, or scrotum. Each of these has a separate schema.\n\n**Note 2**: Laterality must be coded for C44.2-C44.3 and C44.5-C44.7. For codes C44.3 and C44.5, if the tumor is midline (e.g., chin), code 5 (midline) in the laterality field.\n\n**Note 3**: Merkel cell carcinoma presenting in nodal or visceral site with primary site unknown is coded to C44.9, Skin, NOS.", - "schema_num" : 98, - "schema_selection_table" : "schema_selection_merkel_cell_skin", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apo", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bds", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddn", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_eba", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fah", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hph", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpt", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "Clinical Status of Lymph Node Mets", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpq", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "Size of Metastasis in Lymph Nodes", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "999", - "table" : "ssf16_sqw", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf17", - "name" : "Extracapsular Extension of Regional Lymph Nodes", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "999", - "table" : "ssf17_sqx", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf18", - "name" : "Isolated Tumor Cells (ITC) in Regional Lymph Node(s)", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "999", - "table" : "ssf18_sqy", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf19", - "name" : "Tumor Base Transection Status", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_sqz", - "used_for_staging" : false - }, { - "key" : "ssf20", - "name" : "Tumor Infiltrating Lymphocytes (TIL)", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sra", - "used_for_staging" : false - }, { - "key" : "ssf21", - "name" : "Growth Pattern of Primary Tumor", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_srb", - "used_for_staging" : false - }, { - "key" : "ssf22", - "name" : "Profound Immune Suppression", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "999", - "table" : "ssf22_src", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "98" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bds", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddn", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "ssf3" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_eba", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_eba", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hph", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uqe", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "nodes_eval", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qdx", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "nodes_pos_fah", "ssf2_kna", "ajcc6_exclusions_ppd", "ajcc6_stage_qdx", "ssf3_lpq", "ssf25_snt", "ajcc7_inclusions_tqb", "ssf22_src", "schema_selection_merkel_cell_skin", "ssf15_snj", "ajcc7_t_codes", "mets_hph", "ssf23_snr", "histology", "cs_input_version_original", "ssf1_jpt", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf20_sra", "ssf4_mna", "ssf16_sqw", "ajcc7_year_validation", "ajcc7_stage_uqe", "ajcc_descriptor_codes", "nodes_ddn", "ssf17_sqx", "nodes_eval_eba", "lymph_nodeand_nodal_status_eval_blank_ajcc7_xlp", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf21_srb", "ajcc_ndescriptor_cleanup", "extension_bds", "extension_size_xdb", "ssf19_sqz", "ajcc6_t_codes", "ssf18_sqy", "ajcc_mdescriptor_cleanup", "determine_correct_table_for_ajcc7_n_ns20", "ssf7_snb", "ssf11_snf", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "mets_eval_ipa", "size_apo", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "lymph_nodeand_nodal_status_eval_ajcc7_xle", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:26.369Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_vulva.json b/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_vulva.json deleted file mode 100644 index 1e5939a68..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/merkel_cell_vulva.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "merkel_cell_vulva", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MerkelCellVulva", - "title" : "Merkel Cell Carcinoma of the Vulva", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF19, SSF20, SSF21\n\nM-8247\nC51.0 - Labium majus\nC51.1 - Labium minus\nC51.2 - Clitoris\nC51.8 - Overlapping lesion of vulva\nC51.9 - Vulva, NOS\n\n**Note 1**: This schema is used for Merkel cell carcinoma only.\n\n**Note 2**: The AJCC 7th edition stages cancer of the perineum with vulva. Cancer of the perineum can be coded to several different primary site codes each of which includes sites other than perineum. Involvement of the vulva and perineum should be assigned to vulva as the primary site in the absence of a statement that the tumor extended from the perineum to the vulva. Collaborative Stage only includes C51.0-C51.9 (vulva) and does not include primaries of the perineum in this schema. In addition, basal and squamous cell carcinomas of the skin of the perineum would be coded to C44.5 and would not be reportable.", - "schema_num" : 108, - "schema_selection_table" : "schema_selection_merkel_cell_vulva", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apo", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bgb", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfx", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_eba", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fah", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcy", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpt", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "Clinical Status of Lymph Node Mets", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpq", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "Regional Lymph Node - Laterality", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_srd", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "Size of Metastasis in Lymph Nodes", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "999", - "table" : "ssf16_sqw", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf17", - "name" : "Extracapsular Extension of Regional Lymph Nodes", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "999", - "table" : "ssf17_sqx", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf18", - "name" : "Isolated Tumor Cells (ITC) in Regional Lymph Node(s)", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "999", - "table" : "ssf18_sqy", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf19", - "name" : "Tumor Base Transection Status", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_sqz", - "used_for_staging" : false - }, { - "key" : "ssf20", - "name" : "Tumor Infiltrating Lymphocytes (TIL)", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sra", - "used_for_staging" : false - }, { - "key" : "ssf21", - "name" : "Growth Pattern of Primary Tumor", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_srb", - "used_for_staging" : false - }, { - "key" : "ssf22", - "name" : "Profound Immune Suppression", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "999", - "table" : "ssf22_src", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "108" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bgb", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfx", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "ssf3", "ssf11" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_eba", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_eba", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcy", - "inputs" : [ "nodes", "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uqe", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "nodes_eval", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpu", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "nodes_pos_fah", "ssf2_kna", "ajcc6_exclusions_ppd", "ssf3_lpq", "ssf25_snt", "lymph_nodes_metsat_dxajcc6_xlf", "ajcc7_inclusions_tqb", "ssf22_src", "extension_bgb", "extension_size_ajcc6_xjj", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ajcc6_stage_qpu", "cs_input_version_original", "ssf1_jpt", "lvi", "mets_hcy", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf20_sra", "ssf4_mna", "ssf16_sqw", "ajcc7_year_validation", "ajcc7_stage_uqe", "ajcc_descriptor_codes", "ssf17_sqx", "nodes_eval_eba", "lymph_nodeand_nodal_status_eval_blank_ajcc7_xlq", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf21_srb", "ajcc_ndescriptor_cleanup", "ssf19_sqz", "ajcc6_t_codes", "ssf18_sqy", "ajcc_mdescriptor_cleanup", "determine_correct_table_for_ajcc7_n_ns21", "ssf7_snb", "ss_codes", "ssf11_srd", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "schema_selection_merkel_cell_vulva", "mets_eval_ipa", "size_apo", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "lymph_nodesand_ssf11_ajcc6_xiq", "lymph_nodeand_nodal_status_eval_ajcc7_xld", "ajcc6_m_codes", "cs_year_validation", "extension_size_ajcc7_xio", "nodes_dfx", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:26.559Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/middle_ear.json b/src/test/resources/algorithms/cs/02.05.50/schemas/middle_ear.json deleted file mode 100644 index 14cc7dfb7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/middle_ear.json +++ /dev/null @@ -1,1167 +0,0 @@ -{ - "id" : "middle_ear", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MiddleEar", - "title" : "Middle Ear", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC30.1 - Middle ear\n\n**Note 1**: Laterality must be coded for this site.\n\n**Note 2**: AJCC does not define TNM staging for this site.", - "schema_num" : 75, - "schema_selection_table" : "schema_selection_middle_ear", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcr", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcf", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpf", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "75" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcr", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcf", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpf", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "ssf22_snq", "lvi", "mets_hpf", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "extension_eval_cna", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "schema_selection_middle_ear", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf18_snm", "extension_bcr", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "nodes_dcf", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:26.674Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/mouth_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/mouth_other.json deleted file mode 100644 index 3db984837..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/mouth_other.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "mouth_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MouthOther", - "title" : "Other Mouth (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC05.8 - Overlapping lesion of palate\nC05.9 - Palate, NOS\nC06.8 - Overlapping lesion of other and unspecified parts of mouth\nC06.9 - Mouth, NOS", - "schema_num" : 23, - "schema_selection_table" : "schema_selection_mouth_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apc", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_baf", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dpd", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "23" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_baf", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dpd", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "schema_selection_mouth_other", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "nodes_dpd", "ssf14_sni", "ajcc_tdescriptor_cleanup", "extension_size_xad", "ssf9_spc", "lymph_nodes_size_xpd", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "extension_baf", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "nodes_exam_gpa", "size_apc", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:26.797Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/mycosis_fungoides.json b/src/test/resources/algorithms/cs/02.05.50/schemas/mycosis_fungoides.json deleted file mode 100644 index cd6c295ad..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/mycosis_fungoides.json +++ /dev/null @@ -1,1217 +0,0 @@ -{ - "id" : "mycosis_fungoides", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MycosisFungoides", - "title" : "Mycosis Fungoides and Sezary Disease of Skin, Vulva, Penis, Scrotum", - "notes" : "M-9700-9701\nC44.0 - Skin of lip, NOS\nC44.1 - Eyelid\nC44.2 - External ear\nC44.3 - Skin of other and unspecified parts of face\nC44.4 - Skin of scalp and neck\nC44.5 - Skin of trunk\nC44.6 - Skin of upper limb and shoulder\nC44.7 - Skin of lower limb and hip\nC44.8 - Overlapping lesion of skin\nC44.9 - Skin, NOS\nC51.0 - Labium majus\nC51.1 - Labium minus\nC51.2 - Clitoris\nC51.8 - Overlapping lesion of vulva\nC51.9 - Vulva, NOS\nC60.0 - Prepuce\nC60.1 - Glans penis\nC60.2 - Body of penis\nC60.8 - Overlapping lesion of penis\nC60.9 - Penis\nC63.2 - Scrotum, NOS\n\n**Note**: Laterality must be coded for C44.1-C44.3 and C44.5-C44.7. For codes C44.3 and C44.5, if the tumor is midline (e.g., chin), code 5 (midline) in the laterality field.", - "schema_num" : 100, - "schema_selection_table" : "schema_selection_mycosis_fungoides", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aba", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcp", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dce", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_haz", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Peripheral Blood Involvement", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jaj", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "100" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcp", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dce", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_haz", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpw", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf1_jaj", - "inputs" : [ "ssf1" ], - "outputs" : [ "b_map" ] - }, { - "id" : "ajcc7_stage_ubx", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "b_map", - "to" : "peripheral_blood_involvement" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t", "b_map" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpw", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_pak", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qbb", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_pak", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc7_inclusions_tpw", "ssf2_kna", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "size_aba", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ajcc6_stage_qbb", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ssf1_jaj", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc6_exclusions_pak", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "mets_haz", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc7_stage_ubx", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "nodes_dce", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "extension_bcp", "ssf24_sns", "ssf8_snc", "ssf12_sng", "schema_selection_mycosis_fungoides" ], - "last_modified" : "2020-06-30T19:47:27.343Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/myeloma_plasma_cell_disorder.json b/src/test/resources/algorithms/cs/02.05.50/schemas/myeloma_plasma_cell_disorder.json deleted file mode 100644 index 52ffb2c37..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/myeloma_plasma_cell_disorder.json +++ /dev/null @@ -1,1116 +0,0 @@ -{ - "id" : "myeloma_plasma_cell_disorder", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "MyelomaPlasmaCellDisorder", - "title" : "Plasma Cell Disorders including Myeloma", - "notes" : "9731 - Plasmacytoma, NOS (except C441, C690, C695-C696)\n9732 - Multiple myeloma (except C441, C690, C695-C696)\n9734 - Plasmacytoma, extramedullary (except C441, C690, C695-C696)\n\n**Note 1**: This schema was added in V0203. Originally these histologies were part of the HemeRetic schema.\n\n**Note 2**: AJCC does not define TNM staging for this site.", - "schema_num" : 152, - "schema_selection_table" : "schema_selection_myeloma_plasma_cell_disorder", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "988", - "table" : "size_ana", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bgc", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "table" : "nodes_dfy", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fae", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gac", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "98", - "table" : "mets_hna", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "OBSOLETE - Janus Kinase 2 (JAK2) (also known as JAK2 Exon 12)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jch", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "Durie-Salmon Staging System", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "table" : "ssf2_kbx", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf3", - "name" : "Multiple Myeloma Terminology", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "table" : "ssf3_lbb", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "152" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bgc", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfy", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hna", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "nodes_pos_fae", "ssf25_snt", "extension_bgc", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "size_ana", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ssf2_kbx", "ajcc_tdescriptor_cleanup", "ssf4_mna", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "schema_selection_myeloma_plasma_cell_disorder", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf3_lbb", "ajcc6_t_codes", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "ssf6_ona", "ajcc6_n_codes", "mets_hna", "behavior", "ssf10_sne", "ssf18_snm", "nodes_exam_gac", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "ssf1_jch", "cs_year_validation", "ssf24_sns", "nodes_dfy", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:27.491Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/nasal_cavity.json b/src/test/resources/algorithms/cs/02.05.50/schemas/nasal_cavity.json deleted file mode 100644 index 5cb3d2f7c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/nasal_cavity.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "nasal_cavity", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "NasalCavity", - "title" : "Nasal Cavity (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC30.0 - Nasal cavity (excluding nose, NOS C76.0)\n\n**Note**: Laterality must be coded for this site, except subsites nasal cartilage and nasal septum, for which laterality is coded 0.", - "schema_num" : 73, - "schema_selection_table" : "schema_selection_nasal_cavity", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcq", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcx", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "73" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcq", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcx", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "schema_selection_nasal_cavity", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ssf14_sni", "nodes_dcx", "ajcc_tdescriptor_cleanup", "ssf9_spc", "lymph_nodes_size_xpd", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_bcq", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:27.625Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/nasopharynx.json b/src/test/resources/algorithms/cs/02.05.50/schemas/nasopharynx.json deleted file mode 100644 index 709b62ca4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/nasopharynx.json +++ /dev/null @@ -1,1216 +0,0 @@ -{ - "id" : "nasopharynx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nasopharynx", - "title" : "Nasopharynx (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8\n\nC11.0 - Superior wall of nasopharynx\nC11.1 - Posterior wall of nasopharynx (excluding pharyngeal tonsil)\nC11.2 - Lateral wall of nasopharynx\nC11.3 - Anterior wall of nasopharynx\nC11.8 - Overlapping lesion of nasopharynx\nC11.9 - Nasopharynx, NOS", - "schema_num" : 34, - "schema_selection_table" : "schema_selection_nasopharynx", - "schema_discriminators" : [ "ssf25" ], - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bas", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcn", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "999", - "table" : "ssf10_spd", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Nasopharynx/PharyngealTonsil", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "981", - "table" : "ssf25_spj", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_2004_FORWARD" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "34" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bas", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcn", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf25_spj", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc7_stage_uae", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ssf25_spj", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc6_stage_qak", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "lymph_nodes_size_table_csv2_xcp", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "nodes_dcn", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ajcc7_stage_uae", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "extension_bas", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "lymph_nodes_size_ajcc6_table_csv1_xex", "schema_selection_nasopharynx", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf25_spj", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_stage_qak", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:27.807Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/net_ampulla.json b/src/test/resources/algorithms/cs/02.05.50/schemas/net_ampulla.json deleted file mode 100644 index 6cba4f30b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/net_ampulla.json +++ /dev/null @@ -1,1209 +0,0 @@ -{ - "id" : "net_ampulla", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "NETAmpulla", - "title" : "Neuroendocrine Tumors of Ampulla of Vater", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF4\n\nM-8153, 8240-8242, 8246, 8249\nC24.1 - Ampulla of Vater\n\n**Note 1**: For this schema, AJCC only stages well-differentiated neuroendocrine tumors. Note that the \"concept\" of well-differentiated is reflected in the histology code. The grade code is not needed in order to select the correct schema, but does need to be coded.\n\n**Note 2**: This schema is also used for carcinoid tumors and malignant gastrinomas.", - "schema_num" : 67, - "schema_selection_table" : "schema_selection_net_ampulla", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aar", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfo", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfk", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hco", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "Mitotic Count", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mas", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "Serum Chromogranin A (CgA) Lab Value", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nap", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf6", - "name" : "Urinary 5-HIAA Lab Value", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_oam", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "67" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfo", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfk", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hco", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpm", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uqa", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpm", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpp", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppe", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "mets_hco", "ajcc6_exclusions_ppe", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "size_aar", "extension_bfo", "cs_input_version_original", "extension_size_ajcc7_xfe", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mas", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_uqa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ajcc7_inclusions_tpm", "ssf16_snk", "ssf1_jna", "ajcc6_t_codes", "ssf6_oam", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "nodes_dfk", "ssf3_lna", "ss_codes", "nodes_exam_gpa", "ajcc6_n_codes", "schema_selection_net_ampulla", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ajcc6_stage_qpp", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ssf5_nap", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:27.962Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/net_colon.json b/src/test/resources/algorithms/cs/02.05.50/schemas/net_colon.json deleted file mode 100644 index 517ab7192..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/net_colon.json +++ /dev/null @@ -1,1208 +0,0 @@ -{ - "id" : "net_colon", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "NETColon", - "title" : "Neuroendocrine Tumors of Colon (excluding Appendix)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF11\n\nM-8153, 8240-8242, 8246, 8249\nC18.0 - Cecum\nC18.2 - Ascending colon\nC18.3 - Hepatic flexure of colon\nC18.4 - Transverse colon\nC18.5 - Splenic flexure of colon\nC18.6 - Descending colon\nC18.7 - Sigmoid colon\nC18.8 - Overlapping lesion of colon\nC18.9 - Colon, NOS\n\n**Note 1**: For this schema, AJCC only stages well-differentiated neuroendocrine tumors. Note that the \"concept\" of well-differentiated is reflected in the histology code. The grade code is not needed in order to select the correct schema, but does need to be coded.\n\n**Note 2**: This schema is also used for carcinoid tumors and malignant gastrinomas.", - "schema_num" : 55, - "schema_selection_table" : "schema_selection_net_colon", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apk", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfi", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfe", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpc", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hci", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "OBSOLETE - Carcinoembryonic Antigen (CEA)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpv", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "Clinical Assessment of Regional Lymph Nodes", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kpi", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "Mitotic Count", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_sps", - "used_for_staging" : false - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "Serum Chromogranin A (CgA) Lab Value", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "999", - "table" : "ssf16_spt", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf17", - "name" : "Urinary 5-Hydroxyindoleacetic Acid (5-HIAA) Lab Value", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "999", - "table" : "ssf17_spu", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "55" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfi", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfe", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "ssf2" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hci", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpm", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upx", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpm", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpf", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf11_sps", "ajcc6_exclusions_ppd", "ssf25_snt", "mets_hci", "ssf15_snj", "ajcc7_t_codes", "schema_selection_net_colon", "ssf23_snr", "histology", "extension_bfi", "cs_input_version_original", "ssf22_snq", "ssf1_jpv", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ajcc_descriptor_codes", "extension_size_ajcc7_xkg", "lymph_nodes_clinical_evaluation6th_xqf", "grade", "ajcc7_stage_upx", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ajcc7_inclusions_tpm", "ssf16_spt", "nodes_dfe", "ajcc6_t_codes", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf3_lna", "ss_codes", "determine_correct_table_for_ajcc6_n_ns22", "ssf6_ona", "nodes_exam_gpa", "ssf17_spu", "ajcc6_n_codes", "behavior", "ssf2_kpi", "size_apk", "ssf10_sne", "ssf18_snm", "lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xqg", "mets_eval_ipa", "ajcc6_stage_qpf", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "nodes_pos_fpc", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:28.138Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/net_rectum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/net_rectum.json deleted file mode 100644 index c7cb465f1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/net_rectum.json +++ /dev/null @@ -1,1208 +0,0 @@ -{ - "id" : "net_rectum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "NETRectum", - "title" : "Neuroendocrine Tumors of Rectum and Rectosigmoid Junction", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF11\n\nM-8153, 8240-8242, 8246, 8249\nC19.9 - Rectosigmoid junction\nC20.9 - Rectum, NOS\n\n**Note 1**: For this schema, AJCC only stages well-differentiated neuroendocrine tumors. Note that the \"concept\" of well-differentiated is reflected in the histology code. The grade code is not needed in order to select the correct schema, but does need to be coded.\n\n**Note 2**: This schema is also used for carcinoid tumors and malignant gastrinomas.", - "schema_num" : 58, - "schema_selection_table" : "schema_selection_net_rectum", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apk", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfj", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dff", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpc", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcj", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "OBSOLETE - Carcinoembryonic Antigen (CEA)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpv", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "Clinical Assessment of Regional Lymph Nodes", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kpi", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "Mitotic Count", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_sps", - "used_for_staging" : false - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "Serum Chromogranin A (CgA) Lab Value", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "999", - "table" : "ssf16_spt", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf17", - "name" : "Urinary 5-Hydroxyindoleacetic Acid (5-HIAA) Lab Value", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "999", - "table" : "ssf17_spu", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "58" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfj", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dff", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "ssf2" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcj", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpm", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upx", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpm", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpf", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf11_sps", "ajcc6_exclusions_ppd", "ssf25_snt", "ssf15_snj", "mets_hcj", "ajcc7_t_codes", "ssf23_snr", "histology", "extension_bfj", "schema_selection_net_rectum", "cs_input_version_original", "ssf22_snq", "ssf1_jpv", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ajcc_descriptor_codes", "lymph_nodes_clinical_evaluation6th_xqf", "extension_size_ajcc7_xkh", "grade", "ajcc7_stage_upx", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ajcc7_inclusions_tpm", "ssf16_spt", "nodes_dff", "ajcc6_t_codes", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf3_lna", "ss_codes", "determine_correct_table_for_ajcc6_n_ns22", "ssf6_ona", "nodes_exam_gpa", "ssf17_spu", "ajcc6_n_codes", "behavior", "ssf2_kpi", "size_apk", "ssf10_sne", "ssf18_snm", "lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xqg", "mets_eval_ipa", "ajcc6_stage_qpf", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "nodes_pos_fpc", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:28.314Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/net_small_intestine.json b/src/test/resources/algorithms/cs/02.05.50/schemas/net_small_intestine.json deleted file mode 100644 index e13526083..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/net_small_intestine.json +++ /dev/null @@ -1,1209 +0,0 @@ -{ - "id" : "net_small_intestine", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "NETSmallIntestine", - "title" : "Neuroendocrine Tumors of Small Intestine", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF6\n\nM-8153, 8240-8242, 8246, 8249\nC17.0 - Duodenum\nC17.1 - Jejunum\nC17.2 - Ileum (excludes ileocecal valve C18.0)\nC17.3 - Meckel diverticulum (site of neoplasm)\nC17.8 - Overlapping lesion of small intestine\nC17.9 - Small intestine, NOS\n\n**Note 1**: For this schema, AJCC only stages well-differentiated neuroendocrine tumors. Note that the \"concept\" of well-differentiated is reflected in the histology code. The grade code is not needed in order to select the correct schema, but does need to be coded.\n\n**Note 2**: This schema is also used for carcinoid tumors and malignant gastrinomas.", - "schema_num" : 49, - "schema_selection_table" : "schema_selection_net_small_intestine", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aas", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfp", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfl", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcp", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "Mitotic Count", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_opi", - "used_for_staging" : false - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "Serum Chromogranin A (CgA) Lab Value", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_sri", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf12", - "name" : "Urinary 5-HIAA Lab Value", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_srj", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "49" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfp", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfl", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcp", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpm", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uqa", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpm", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpn", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "mets_hcp", "ajcc6_exclusions_ppd", "schema_selection_net_small_intestine", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "size_aas", "cs_input_version_original", "extension_size_ajcc7_xff", "ssf22_snq", "ssf6_opi", "lvi", "extension_bfp", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_stage_uqa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ajcc7_inclusions_tpm", "ssf16_snk", "ssf1_jna", "nodes_dfl", "ajcc6_t_codes", "nodes_pos_fpa", "ssf11_sri", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf3_lna", "ss_codes", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ajcc6_stage_qpn", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "ssf12_srj", "cs_year_validation", "ssf24_sns", "ssf8_snc" ], - "last_modified" : "2020-06-30T19:47:28.503Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/net_stomach.json b/src/test/resources/algorithms/cs/02.05.50/schemas/net_stomach.json deleted file mode 100644 index f775523ee..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/net_stomach.json +++ /dev/null @@ -1,1209 +0,0 @@ -{ - "id" : "net_stomach", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "NETStomach", - "title" : "Neuroendocrine Tumors of Stomach", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF6\n\nM-8153, 8240-8242, 8246, 8249\nC16.0 - Cardia of stomach\nC16.1 - Fundus of stomach\nC16.2 - Body of stomach\nC16.3 - Gastric antrum\nC16.4 - Pylorus\nC16.5 - Lesser curvature of stomach, NOS\nC16.6 - Greater curvature of stomach, NOS\nC16.8 - Overlapping lesion of stomach\nC16.9 - Stomach, NOS\n\n**Note 1**: For this schema, AJCC only stages well-differentiated neuroendocrine tumors. Note that the \"concept\" of well-differentiated is reflected in the histology code. The grade code is not needed in order to select the correct schema, but does need to be coded.\n\n**Note 2**: This schema is also used for carcinoid tumors and malignant gastrinomas.", - "schema_num" : 46, - "schema_selection_table" : "schema_selection_net_stomach", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aap", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfk", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfg", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpc", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hck", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Clinical Assessment of Regional Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jbg", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "Mitotic Count", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_opi", - "used_for_staging" : false - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "Serum Chromogranin A (CgA) Lab Value", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_sri", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf12", - "name" : "Urinary 5-HIAA Lab Value", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_srj", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "46" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfk", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfg", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hck", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpm", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uao", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpm", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpl", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "mets_hck", "ssf2_kna", "ajcc6_exclusions_ppd", "ssf25_snt", "ajcc7_stage_uao", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "size_aap", "extension_bfk", "histology", "cs_input_version_original", "lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp", "ssf22_snq", "ssf6_opi", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ajcc7_inclusions_tpm", "ssf16_snk", "nodes_dfg", "ajcc6_t_codes", "lymph_nodes_clinical_evaluation_ajcc6_xpo", "ssf11_sri", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf3_lna", "ss_codes", "determine_correct_table_for_ajcc6_n_ns23", "nodes_exam_gpa", "ajcc6_n_codes", "ssf1_jbg", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "schema_selection_net_stomach", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "extension_size_ajcc7_xey", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpl", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "nodes_pos_fpc", "ajcc6_m_codes", "nodes_eval_epa", "ssf12_srj", "cs_year_validation", "ssf24_sns", "ssf8_snc" ], - "last_modified" : "2020-06-30T19:47:28.666Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/orbit.json b/src/test/resources/algorithms/cs/02.05.50/schemas/orbit.json deleted file mode 100644 index bee853be4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/orbit.json +++ /dev/null @@ -1,1210 +0,0 @@ -{ - "id" : "orbit", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Orbit", - "title" : "Orbit (excluding Lymphoma)", - "notes" : "C69.6 - Orbit, NOS\n\n**Note 1**: Laterality must be coded for this site.\n\n**Note 2**: AJCC uses this scheme only for sarcomas of the orbit.", - "schema_num" : 140, - "schema_selection_table" : "schema_selection_orbit", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aaj", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bag", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dpa", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epb", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpc", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "140" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bag", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dpa", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epb", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epb", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpc", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpp", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_unb", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpp", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qnb", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_exclusions_ppc", "ssf2_kna", "ssf25_snt", "ajcc7_stage_unb", "size_aaj", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "nodes_dpa", "histology", "cs_input_version_original", "mets_hpc", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "extension_size_xaf", "ssf4_mna", "ajcc6_stage_qnb", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "ajcc7_inclusions_tpp", "summary_stage_rpa", "ajcc7_m_codes", "schema_selection_orbit", "extension_bag", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "nodes_eval_epb", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:28.798Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/oropharynx.json b/src/test/resources/algorithms/cs/02.05.50/schemas/oropharynx.json deleted file mode 100644 index a05fb8138..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/oropharynx.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "oropharynx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Oropharynx", - "title" : "Tonsil and Oropharynx (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8\n\nC09.0 - Tonsillar fossa\nC09.1 - Tonsillar pillar\nC09.8 - Overlapping lesion of tonsil\nC09.9 - Tonsil, NOS (excluding lingual tonsil C02.4)\nC10.0 - Vallecula\nC10.2 - Lateral wall of oropharynx\nC10.3 - Posterior wall of oropharynx\nC10.4 - Branchial cleft (site of neoplasm)\nC10.8 - Overlapping lesion of oropharynx\nC10.9 - Oropharynx, NOS\n\n**Note 1**: Laterality must be coded for C09.0, C09.1, C09.8, and C09.9.\n\n**Note 2**: AJCC includes base of tongue (C01.9) with oropharynx (C09._, C10._).", - "schema_num" : 30, - "schema_selection_table" : "schema_selection_oropharynx", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aph", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bap", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcu", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "999", - "table" : "ssf10_spd", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "30" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bap", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcu", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "schema_selection_oropharynx", "ajcc6_exclusions_ppd", "ssf1_jpa", "extension_size_ajcc6_xaz", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "nodes_dcu", "ssf22_snq", "lvi", "ssf14_sni", "extension_bap", "ajcc_tdescriptor_cleanup", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "extension_size_ajcc7_xdw", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "nodes_exam_gpa", "ajcc6_n_codes", "size_aph", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:28.934Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/ovary.json b/src/test/resources/algorithms/cs/02.05.50/schemas/ovary.json deleted file mode 100644 index 17cc9f6d4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/ovary.json +++ /dev/null @@ -1,1208 +0,0 @@ -{ - "id" : "ovary", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Ovary", - "title" : "Ovary", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF4, SSF5\n\nC56.9 - Ovary\n\n**Note 1**: Laterality must be coded for this site.\n\n**Note 2**: AJCC TNM values correspond to the stages accepted by the Federation Internationale de Gynecologic et d'Obstetrique (FIGO). Note that FIGO uses a single stage value which corresponds to different groupings of T, N, and M values.", - "schema_num" : 114, - "schema_selection_table" : "schema_selection_ovary", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbg", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_day", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hah", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Carbohydrate Antigen 125 (CA-125)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jae", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "FIGO Stage", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kbu", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf3", - "name" : "Residual Tumor Status and Size After Primary Cytoreduction Surgery", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpt", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf4", - "name" : "Tumor Location after Primary Cytoreduction (Debulking) Surgery", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mpr", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "Malignant Ascites", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_npl", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "114" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbg", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_day", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hah", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpx", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubf", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpx", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_pad", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qbi", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_pad", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc7_inclusions_tpx", "ssf3_lpt", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "extension_bbg", "histology", "schema_selection_ovary", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf5_npl", "ssf2_kbu", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf1_jae", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "mets_hah", "ssf11_snf", "ss_codes", "ajcc6_exclusions_pad", "ajcc6_stage_qbi", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "nodes_day", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ssf4_mpr", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ajcc7_stage_ubf", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:29.250Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/palate_hard.json b/src/test/resources/algorithms/cs/02.05.50/schemas/palate_hard.json deleted file mode 100644 index 5e0429a9b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/palate_hard.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "palate_hard", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "PalateHard", - "title" : "Hard Palate (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC05.0 - Hard palate", - "schema_num" : 19, - "schema_selection_table" : "schema_selection_palate_hard", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apc", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bah", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dpc", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "19" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bah", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dpc", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "nodes_dpc", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "extension_size_xae", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "extension_bah", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "schema_selection_palate_hard", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "nodes_exam_gpa", "size_apc", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:29.408Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/palate_soft.json b/src/test/resources/algorithms/cs/02.05.50/schemas/palate_soft.json deleted file mode 100644 index 405a75c2b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/palate_soft.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "palate_soft", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "PalateSoft", - "title" : "Soft Palate and Uvula (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8\n\nC05.1 - Soft palate, NOS\nC05.2 - Uvula\n\n**Note 1**: AJCC includes inferior surface of the soft palate (C05.1) and uvula (C05.2) with oropharynx (C09._, C10._).\n\n**Note 2**: Soft palate excludes nasopharyngeal (superior) surface of soft palate (C11.3).", - "schema_num" : 21, - "schema_selection_table" : "schema_selection_palate_soft", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aph", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_baq", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dao", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "999", - "table" : "ssf10_spd", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "21" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_baq", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dao", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "schema_selection_palate_soft", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "extension_size_ajcc7_xfc", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ssf14_sni", "extension_baq", "ajcc_tdescriptor_cleanup", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "nodes_dao", "ss_codes", "nodes_exam_gpa", "ajcc6_n_codes", "size_aph", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "extension_size_ajcc6_xav", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:29.575Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_body_tail.json b/src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_body_tail.json deleted file mode 100644 index be071eb32..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_body_tail.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "pancreas_body_tail", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "PancreasBodyTail", - "title" : "Body and Tail of Pancreas", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF1, SSF2, SSF3\n\nC25.1 - Body of pancreas\nC25.2 - Tail of pancreas\n\n**Note**: For tumors of the islet cells, determine which subsite of the pancreas is involved and use that primary site code and corresponding Collaborative Stage schema. If the subsite cannot be determined, use the general code for Islets of Langerhans, C25.4, and use the Collaborative Stage schema for Pancreas, Other and Unspecified.", - "schema_num" : 70, - "schema_selection_table" : "schema_selection_pancreas_body_tail", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apg", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdf", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbm", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hap", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpe", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "Serum Chromogranin A (CgA) Lab Value", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpd", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Mitotic Count", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpd", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "70" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdf", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbm", - "inputs" : [ "nodes", "mets" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hap", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tae", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ups", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tae", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qas", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_exclusions_ppb", "ssf25_snt", "ssf1_jpe", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf3_lpd", "histology", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc6_stage_qas", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_ups", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpd", "mets_hap", "lymph_nodes_metsat_dxajcc6_xje", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "extension_size_xpe", "ssf6_ona", "nodes_exam_gpa", "extension_bdf", "ajcc6_n_codes", "size_apg", "schema_selection_pancreas_body_tail", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc7_inclusions_tae", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "nodes_dbm", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:29.932Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_head.json b/src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_head.json deleted file mode 100644 index d659db531..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_head.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "pancreas_head", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "PancreasHead", - "title" : "Head of Pancreas", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF1, SSF2, SSF3\n\nC25.0 - Head of pancreas\n\n**Note**: For tumors of the islet cells, determine which subsite of the pancreas is involved and use that primary site code and the corresponding Collaborative Stage schema. If the subsite cannot be determined, use the general code for Islets of Langerhans, C25.4, and use the Collaborative Stage schema for Pancreas, Other and Unspecified.", - "schema_num" : 69, - "schema_selection_table" : "schema_selection_pancreas_head", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apg", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbv", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbn", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_haq", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpe", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "Serum Chromogranin A (CgA) Lab Value", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpd", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Mitotic Count", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpd", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "69" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbv", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbn", - "inputs" : [ "nodes", "mets" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_haq", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tae", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ups", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tae", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qat", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_exclusions_ppb", "extension_bbv", "ssf25_snt", "ssf1_jpe", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf3_lpd", "histology", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc6_stage_qat", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "schema_selection_pancreas_head", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_ups", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpd", "ajcc6_t_codes", "nodes_pos_fpa", "lymph_nodes_metsat_dxajcc6_xjf", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "extension_size_xpe", "ssf6_ona", "nodes_exam_gpa", "mets_haq", "ajcc6_n_codes", "size_apg", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc7_inclusions_tae", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "nodes_dbn", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:30.284Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_other.json deleted file mode 100644 index 3dd3a0c04..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/pancreas_other.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "pancreas_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "PancreasOther", - "title" : "Other and Unspecified Pancreas", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF1, SSF2, SSF3\n\nC25.3 - Pancreatic duct\nC25.4 - Islets of Langerhans\nC25.7 - Other specified parts of pancreas\nC25.8 - Overlapping lesion of pancreas\nC25.9 - Pancreas, NOS\n\n**Note**: For tumors of the islet cells, determine which subsite of the pancreas is involved and use that primary site code and the corresponding Collaborative Stage schema. If the subsite cannot be determined, use the general code for Islets of Langerhans, C25.4, and use the Collaborative Stage schema for Pancreas, Other and Unspecified.", - "schema_num" : 71, - "schema_selection_table" : "schema_selection_pancreas_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apg", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbu", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbl", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hao", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpe", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "Serum Chromogranin A (CgA) Lab Value", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpd", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Mitotic Count", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpd", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "71" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbu", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbl", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hao", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tae", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ups", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tae", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qar", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "schema_selection_pancreas_other", "ajcc6_exclusions_ppb", "extension_bbu", "ssf25_snt", "ssf1_jpe", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf3_lpd", "histology", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "ajcc6_stage_qar", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_ups", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpd", "mets_hao", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "extension_size_xpe", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "size_apg", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc7_inclusions_tae", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "nodes_dbl", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:30.408Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/parotid_gland.json b/src/test/resources/algorithms/cs/02.05.50/schemas/parotid_gland.json deleted file mode 100644 index 716d6c906..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/parotid_gland.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "parotid_gland", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "ParotidGland", - "title" : "Parotid Gland", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8\n\nC07.9 - Parotid gland\n\n**Note**: Laterality must be coded for this site.", - "schema_num" : 27, - "schema_selection_table" : "schema_selection_parotid_gland", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aph", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcv", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcv", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "27" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcv", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcv", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqn", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uqc", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqn", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpr", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ssf6_opa", "ssf3_lpa", "ajcc6_stage_qpr", "cs_input_version_original", "mets_hpb", "ssf22_snq", "nodes_dcv", "lvi", "ajcc7_inclusions_tqn", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_stage_uqc", "schema_selection_parotid_gland", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "extension_size_xpf", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "nodes_exam_gpa", "ajcc6_n_codes", "size_aph", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "extension_bcv", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:30.565Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/penis.json b/src/test/resources/algorithms/cs/02.05.50/schemas/penis.json deleted file mode 100644 index 9707cf79e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/penis.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "penis", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Penis", - "title" : "Penis (excludes Malignant Melanoma, Merkel Cell Carcinoma, Kaposi Sarcoma, Mycosis Fungoides, Sezary Disease and Other Lymphomas)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF11, SSF12, SSF16\n\nC60.0 - Prepuce\nC60.1 - Glans penis\nC60.2 - Body of penis\nC60.8 - Overlapping lesion of penis\nC60.9 - Penis, NOS\n\n**Note 1**: This schema is NOT used for Malignant Melanoma, Merkel Cell Carcinoma of Penis, Kaposi Sarcoma, Mycosis Fungoides, Sezary Disease, or other Lymphomas. Each of these diseases has a separate schema.\n\n**Note 2**: Primary carcinoma of the urethra is to be coded C68.0 and assigned Collaborative Stage codes according to the Urethra schema.", - "schema_num" : 119, - "schema_selection_table" : "schema_selection_penis", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "9", - "table" : "lvi", - "used_for_staging" : true - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbs", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbj", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpe", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "Involvement of Corpus Spongiosum/Corpus Cavernosum", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "999", - "table" : "ssf10_seq", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf11", - "name" : "Poorly Differentiated Tumor Percentage", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_ser", - "used_for_staging" : false - }, { - "key" : "ssf12", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_ses", - "used_for_staging" : false - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "Size of Metastasis in Lymph Nodes", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_sqv", - "used_for_staging" : false - }, { - "key" : "ssf17", - "name" : "Extranodal Extension of Regional Lymph Nodes", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "999", - "table" : "ssf17_seu", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "119" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbs", - "inputs" : [ "extension", "grade", "lvi" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbj", - "inputs" : [ "nodes", "ssf17" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpe", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpq", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uav", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpq", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qps", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "extension_bbs", "ssf2_kna", "ajcc7_stage_uav", "ajcc6_exclusions_ppd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ajcc6_stage_qps", "cs_input_version_original", "ssf22_snq", "mets_hpe", "lvi", "ssf14_sni", "ssf17_seu", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ssf16_sqv", "ajcc7_year_validation", "ssf21_snp", "extension_grade_lvi_xdm", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_inclusions_tpq", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf1_jna", "ajcc6_t_codes", "ssf10_seq", "nodes_dbj", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf3_lna", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "ssf11_ser", "behavior", "lymph_node_extranodal_extension_xdn", "ssf18_snm", "mets_eval_ipa", "ssf12_ses", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "schema_selection_penis", "cs_year_validation", "ssf24_sns", "ssf8_snc" ], - "last_modified" : "2020-06-30T19:47:30.689Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/peritoneum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/peritoneum.json deleted file mode 100644 index 4f8bdbc21..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/peritoneum.json +++ /dev/null @@ -1,1220 +0,0 @@ -{ - "id" : "peritoneum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Peritoneum", - "title" : "Peritoneum (excluding Gastrointestinal Stromal Tumors and Peritoneum Female Genital M-8000-8576, 8590-8671, 8930-8934, 8940-9110 for females)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2, SSF3, SSF4\n\nM-8000-8934,8940-9136,9141-9582,9700-9701 for males\nM-8580-8589,8680-8921,9120-9136,9141-9582,9700-9701 for females\nC48.1 - Specified parts of peritoneum (including omentum and mesentery)\nC48.2 - Peritoneum, NOS\nC48.8 - Overlapping lesion of retroperitoneum and peritoneum\n\n**Note**: AJCC includes these sites with soft tissue sarcomas (C47.0-C48.9)", - "schema_num" : 102, - "schema_selection_table" : "schema_selection_peritoneum", - "schema_discriminators" : [ "ssf25" ], - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apu", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbr", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbi", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpc", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Grade for Sarcomas", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpm", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "Neurovascular Invasion", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpk", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Bone Invasion", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpk", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "Pathologic M1: Source of Pathologic Metastatic Specimen", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mpf", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Peritoneum/PeritoneumFemaleGen", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "009", - "table" : "ssf25_sqp", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_2004_FORWARD" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "102" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbr", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbi", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpc", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpz", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf25_sqp", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ssf1_jpm", - "inputs" : [ "ssf1" ], - "outputs" : [ "grade_ssf1" ] - }, { - "id" : "ajcc7_stage_upm", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "grade_ssf1", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpz", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ssf25_sqp", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc6_stage_qpi", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "grade", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "extension_bbr", "ajcc6_exclusions_ppc", "ajcc7_inclusions_tpz", "ssf3_lpk", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf1_jpm", "histology", "cs_input_version_original", "mets_hpc", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "extension_size_xqj", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upm", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "schema_selection_peritoneum", "ajcc6_t_codes", "nodes_dbi", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ssf25_sqp", "ajcc6_n_codes", "ssf2_kpk", "behavior", "ssf10_sne", "ssf18_snm", "ajcc6_stage_qpi", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "size_apu", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "ssf4_mpf", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:30.828Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/peritoneum_female_gen.json b/src/test/resources/algorithms/cs/02.05.50/schemas/peritoneum_female_gen.json deleted file mode 100644 index 573f1dbb5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/peritoneum_female_gen.json +++ /dev/null @@ -1,1217 +0,0 @@ -{ - "id" : "peritoneum_female_gen", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "PeritoneumFemaleGen", - "title" : "Peritoneum for Females Only", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF4, SSF5\n\nM-8000-8576, 8590-8671, 8930-8934, 8940-9110\nC48.1 - Specified parts of peritoneum (including omentum and mesentery)\nC48.2 - Peritoneum, NOS\nC48.8 - Overlapping lesion of retroperitoneum and peritoneum\n\n**Note 1**: AJCC only stages the carcinomas.\n\n**Note 2**: Information for female primary peritoneal carcinomas was collected using codes appropriate for staging sarcoma of the peritoneum in CS Version 1. AJCC 6 stage was assigned to some but not all of the histologies that are assigned AJCC 7 stage using this schema, PeritoneumFemaleGen, in CS Version 2. AJCC 6 stage continues to be assigned as sarcoma of the peritoneum for the histologies that were so assigned in CS Version 1.\n\n**Note 3**: AJCC TNM values correspond to the stages accepted by the Federation Internationale de Gynecologic et d'Obstetrique (FIGO). Note that FIGO uses a single stage value which corresponds to different groupings of T, N, and M values.", - "schema_num" : 105, - "schema_selection_table" : "schema_selection_peritoneum_female_gen", - "schema_discriminators" : [ "ssf25" ], - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_app", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfx", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfs", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcw", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Carbohydrate Antigen 125 (CA-125)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpr", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "FIGO Stage", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpn", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf3", - "name" : "Residual Tumor Status and Size After Primary Cytoreduction Surgery", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpt", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf4", - "name" : "Tumor Location after Primary Cytoreduction (Debulking) Surgery", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mpr", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "Malignant Ascites", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_npl", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Peritoneum/PeritoneumFemaleGen", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "009", - "table" : "ssf25_sqp", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_2004_FORWARD" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "105" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfx", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfs", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcw", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf25_sqp", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc7_stage_uby", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqa", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ssf25_sqp", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc6_stage_qpi", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "grade", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_exclusions_ppc", "ssf3_lpt", "extension_bfx", "ajcc7_inclusions_tqa", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "ssf1_jpr", "mets_hcw", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf5_npl", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ssf25_sqp", "ajcc6_n_codes", "ssf2_kpn", "extension_size_xgn", "behavior", "ssf10_sne", "ssf18_snm", "ajcc6_stage_qpi", "mets_eval_ipa", "size_app", "extension_eval_cpa", "ajcc7_n_codes", "ajcc7_stage_uby", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "schema_selection_peritoneum_female_gen", "ssf4_mpr", "nodes_dfs", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:30.995Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/pharyngeal_tonsil.json b/src/test/resources/algorithms/cs/02.05.50/schemas/pharyngeal_tonsil.json deleted file mode 100644 index 7066b43e6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/pharyngeal_tonsil.json +++ /dev/null @@ -1,1216 +0,0 @@ -{ - "id" : "pharyngeal_tonsil", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "PharyngealTonsil", - "title" : "PharyngealTonsil (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8\n\nC11.1 - Pharyngeal tonsil \n\n**Note**: CS Site-Specific Factor 25 is used to discriminate between posterior wall of nasopharynx, staged with nasopharynx, and pharyngeal tonsil, staged with oropharynx. Both sites are coded to ICD-O-3 code C11.1.", - "schema_num" : 36, - "schema_selection_table" : "schema_selection_pharyngeal_tonsil", - "schema_discriminators" : [ "ssf25" ], - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aph", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bey", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_det", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "999", - "table" : "ssf10_spd", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Nasopharynx/PharyngealTonsil", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "981", - "table" : "ssf25_spj", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_2004_FORWARD" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "36" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bey", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_det", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf25_spj", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ssf25_spj", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc6_stage_qpb", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "lymph_nodes_size_csv1_xix", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "extension_bey", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf25_spj", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "schema_selection_pharyngeal_tonsil", "extension_size_ajcc7_xdl", "ssf2_kpa", "ajcc6_t_codes", "extension_size_ajcc6_xdk", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "nodes_det", "nodes_exam_gpa", "ajcc6_n_codes", "size_aph", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ajcc6_stage_qpb", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "lymph_nodes_size_csv2_xiw", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:31.210Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/pharynx_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/pharynx_other.json deleted file mode 100644 index dc0c2ab40..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/pharynx_other.json +++ /dev/null @@ -1,1168 +0,0 @@ -{ - "id" : "pharynx_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "PharynxOther", - "title" : "Pharynx, NOS, and Overlapping Lesion of Lip, Oral Cavity, and Pharynx (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8\n\nC14.0 - Pharynx, NOS\nC14.2 - Waldeyer ring\nC14.8 - Overlapping lesion of lip, oral cavity\n\n**Note**: AJCC does not define TNM staging for these sites.", - "schema_num" : 39, - "schema_selection_table" : "schema_selection_pharynx_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apd", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdd", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcy", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpf", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "999", - "table" : "ssf10_spd", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "39" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdd", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcy", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpf", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ssf6_opa", "ssf3_lpa", "nodes_dcy", "cs_input_version_original", "ssf1_jpu", "ssf22_snq", "lvi", "mets_hpf", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "extension_eval_cna", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "schema_selection_pharynx_other", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "extension_bdd", "nodes_exam_gpa", "size_apd", "ajcc6_n_codes", "behavior", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:31.347Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/placenta.json b/src/test/resources/algorithms/cs/02.05.50/schemas/placenta.json deleted file mode 100644 index be6ebc2f6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/placenta.json +++ /dev/null @@ -1,1210 +0,0 @@ -{ - "id" : "placenta", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Placenta", - "title" : "Placenta", - "notes" : "C58.9 - Placenta\n\n**Note 1**: This schema correlates to the AJCC's Gestational Trophoblastic Tumors scheme. In most cases, gestational trophoblastic tumors (ICD-O-3 morphology codes 9100-9105) are coded to placenta, C58.9.\n\n**Note 2**: If a trophoblastic tumor is not associated with a pregnancy and arises in another site, such as ovary, use the primary site code and Collaborative Staging schema for that site.\n\n**Note 3**: AJCC TNM values correspond to the stages accepted by the Federation Internationale de Gynecologic et d'Obstetrique (FIGO). Note that FIGO uses a single stage value which corresponds to different groupings of T, N, and M values.", - "schema_num" : 118, - "schema_selection_table" : "schema_selection_placenta", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbm", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "988", - "table" : "nodes_dfm", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_eaa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fna", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gna", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hak", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Prognostic Scoring Index", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jaq", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "FIGO Stage", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kaw", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "118" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbm", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfm", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_eaa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_eaa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hak", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpi", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uax", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_m", "ajcc7_t", "ssf1" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpi", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_paf", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qau", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_t", "ssf1" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_paf", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kaw", "ajcc7_stage_uax", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "nodes_exam_gna", "ssf22_snq", "extension_bbm", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc6_stage_qau", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ajcc7_inclusions_tpi", "nodes_pos_fna", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "mets_hak", "ssf1_jaq", "ajcc6_t_codes", "nodes_eval_eaa", "nodes_dfm", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "schema_selection_placenta", "ssf6_ona", "size_apa", "ajcc6_exclusions_paf", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:31.829Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/pleura.json b/src/test/resources/algorithms/cs/02.05.50/schemas/pleura.json deleted file mode 100644 index a9671a1cc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/pleura.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "pleura", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Pleura", - "title" : "Pleura (Including pleural mesothelioma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF3, SSF4, SSF5\n\nM-8000-9136,9141-9582,9700-9701 \nC38.4 - Pleura, NOS", - "schema_num" : 93, - "schema_selection_table" : "schema_selection_pleura", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbx", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbq", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hat", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Pleural Effusion", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jam", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_2004_FORWARD" ] - }, { - "key" : "ssf2", - "name" : "Histologic Subtype", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kbf", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf3", - "name" : "History of Asbestos Exposure", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lat", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "Presence of Chest Pain", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_maz", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "Positron Emission Tomography (PET) Standardized Uptake Values (SUV)", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_naw", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "93" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbx", - "inputs" : [ "extension", "ssf1" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbq", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hat", - "inputs" : [ "nodes", "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpf", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uaq", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpf", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_pam", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qam", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_pam", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf25_snt", "extension_bbx", "ssf15_snj", "ajcc7_t_codes", "ajcc7_stage_uaq", "schema_selection_pleura", "ssf23_snr", "ssf2_kbf", "histology", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "pleural_effusion_extension_xbz", "lymph_nodes_metsat_dxajcc6_xki", "grade", "ajcc7_inclusions_tpf", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc6_stage_qam", "ssf4_maz", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jam", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ajcc6_exclusions_pam", "ssf7_snb", "ssf11_snf", "ssf3_lat", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "mets_hat", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf5_naw", "ssf9_snd", "ssf13_snh", "primary_site", "nodes_dbq", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:32.283Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/prostate.json b/src/test/resources/algorithms/cs/02.05.50/schemas/prostate.json deleted file mode 100644 index a591dcb56..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/prostate.json +++ /dev/null @@ -1,1190 +0,0 @@ -{ - "id" : "prostate", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Prostate", - "title" : "Prostate", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF14, SSF15\n\nC61.9 - Prostate gland\n\n**Note 1**: Transitional cell (urothelial) carcinoma of the prostatic urethra is to be coded to primary site C68.0, Urethra, and assigned Collaborative Stage codes according to the Urethra schema.\n\n**Note 2**: The 7th Edition AJCC stage group is derived not only from the T, N, and M categories but also from CS Site-Specific Factor 1 (PSA Lab Value) and CS Site-Specific Factor 8 or CS Site-Specific Factor 10 (Gleason's Score). The specific Gleason's Score used is dependent upon the values of CS Extension - Clinical Extension, CS Site-Specific Factor 3 (CS Extension - Pathologic Extension) and CS Tumor Size/Ext Eval as shown in the Special Calculation Table for TNM 7 Invasive/Unknown Pathologic Extension Eval and Special Calculation Table for TNM 7 Non-Invasive Pathologic Extension.", - "schema_num" : 121, - "schema_selection_table" : "schema_selection_prostate", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbo", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cab", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbf", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hal", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipb", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Prostatic Specific Antigen (PSA) Lab Value", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jav", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "Prostatic Specific Antigen (PSA) Interpretation", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kab", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf3", - "name" : "CS Extension - Pathologic Extension", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "960", - "table" : "ssf3_lab", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_2004_FORWARD" ] - }, { - "key" : "ssf4", - "name" : "Prostate Apex Involvement (OBSOLETE: Prostatic Acid Phosphatase (PAP))", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_maf", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "SEER_REQUIRED_PRE_2010", "COC_REQUIRED_PRE_2010" ] - }, { - "key" : "ssf5", - "name" : "OBSOLETE - Gleason's Primary Pattern and Secondary Pattern Value", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nae", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "OBSOLETE - Gleason's Score", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_oad", - "used_for_staging" : false - }, { - "key" : "ssf7", - "name" : "Gleason's Primary Pattern and Secondary Pattern Values on Needle Core Biopsy/Transurethral Resection of Prostate (TURP)", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "999", - "table" : "ssf7_saw", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf8", - "name" : "Gleason's Score on Needle Core Biopsy/Transurethral Resection of Prostate (TURP)", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "999", - "table" : "ssf8_sax", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf9", - "name" : "Gleason's Primary Pattern and Secondary Pattern Values on Prostatectomy/Autopsy", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_say", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Gleason's Score on Prostatectomy/Autopsy", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "999", - "table" : "ssf10_saz", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf11", - "name" : "Gleason's Tertiary Pattern Value on Prostatectomy/Autopsy", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_sba", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "Number of Cores Positive", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "999", - "table" : "ssf12_sbb", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf13", - "name" : "Number of Cores Examined", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "999", - "table" : "ssf13_sbc", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf14", - "name" : "Needle Core Biopsy Findings", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sbd", - "used_for_staging" : false - }, { - "key" : "ssf15", - "name" : "Clinical Staging Procedures Performed", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_sbe", - "used_for_staging" : false - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "121" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "determine_correct_table_for_t_ns28", - "inputs" : [ "extension", "ssf8", "ssf3", "extension_eval", "ssf10" ], - "outputs" : [ "temp_summ_t", "temp_ajcc_t", "t77", "ajcc6_tdescriptor", "ajcc7_tdescriptor", "t2000", "gleason", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbf", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hal", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipb", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipb", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpv", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubp", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "gleason", "ajcc7_t", "ssf1" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpv", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_pag", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qaj", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "grade", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_pag", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc7_inclusions_tpv", "ssf25_snt", "ajcc7_t_codes", "ssf23_snr", "extension_eval_6_cab", "schema_selection_prostate", "histology", "special_calculation_non_invasive_pathologic_extension_xdr_xdt_xdq", "ssf14_sbd", "cs_input_version_original", "extension_sstg_bbo", "extension_bbo", "ssf22_snq", "lvi", "ssf3_sstg_lab", "ajcc_tdescriptor_cleanup", "ssf3_lab", "ajcc7_year_validation", "ssf21_snp", "ssf4_maf", "ssf17_snl", "ajcc_descriptor_codes", "special_calculation_invasive_unknown_pathologic_extension_xds_xdu_xdq", "ajcc6_stage_qaj", "extension_eval_cab", "ssf15_sbe", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_stage_qaj_grade", "mets_hal", "ssf6_oad", "ssf11_sba", "ajcc6_t_codes", "ssf1_jav", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_saw", "nodes_dbf", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_exclusions_pag", "ajcc6_n_codes", "behavior", "ssf10_saz", "mets_eval_ipb", "ssf18_snm", "ssf13_sbc", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf9_say", "ajcc7_stage_ubp", "ssf12_sbb", "primary_site", "ajcc6_year_validation", "ssf2_kab", "determine_correct_table_for_t_ns28", "ajcc6_m_codes", "nodes_eval_epa", "ssf8_sax", "cs_year_validation", "ssf5_nae", "ssf24_sns" ], - "last_modified" : "2020-06-30T19:47:33.004Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/rectum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/rectum.json deleted file mode 100644 index e81c13a0e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/rectum.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "rectum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Rectum", - "title" : "Rectosigmoid, Rectum (excluding Gastrointestinal Stromal Tumor and Neuroendocrine Tumor)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF5, SSF7, SSF10\n\nM-8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701 \nC19.9 - Rectosigmoid junction\nC20.9 - Rectum, NOS", - "schema_num" : 56, - "schema_selection_table" : "schema_selection_rectum", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aae", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbf", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dax", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpb", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hag", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipb", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Carcinoembryonic Antigen (CEA)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpf", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "Clinical Assessment of Regional Lymph Nodes", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kpp", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf3", - "name" : "Carcinoembryonic Antigen (CEA) Lab Value", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpe", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf4", - "name" : "Tumor Deposits", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpb", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf5", - "name" : "Tumor Regression Grade", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_npb", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "Circumferential Resection Margin (CRM)", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opb", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf7", - "name" : "Microsatellite Instability (MSI)", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spf", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Perineural Invasion", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "999", - "table" : "ssf8_spg", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf9", - "name" : "KRAS", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_sph", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "18q Loss of Heterozygosity (LOH)", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spi", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "56" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbf", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dax", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "cs_input_version_original", "ssf2" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hag", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipb", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipb", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upw", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpf", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_exclusions_ppd", "size_aae", "ssf25_snt", "ssf7_spf", "ssf1_jpf", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf3_lpe", "histology", "extension_bbf", "ssf6_opb", "cs_input_version_original", "ssf22_snq", "ssf10_spi", "lvi", "ssf14_sni", "lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi", "ajcc_tdescriptor_cleanup", "schema_selection_rectum", "ajcc7_year_validation", "ssf21_snp", "ssf5_npb", "ssf17_snl", "ssf9_sph", "ajcc_descriptor_codes", "lymph_nodes_clinical_evaluation_ajcc6_xbi", "ajcc7_inclusions_tpc", "ajcc7_stage_upw", "grade", "ssf8_spg", "summary_stage_rpa", "ajcc7_m_codes", "lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpb", "ajcc_mdescriptor_cleanup", "mets_hag", "ssf11_snf", "determine_correct_table_for_ajcc6_n_ns24", "ss_codes", "determine_correct_table_for_ajcc7_n_ns25", "nodes_exam_gpa", "ssf2_kpp", "ajcc6_n_codes", "nodes_dax", "behavior", "mets_eval_ipb", "ssf18_snm", "ajcc6_stage_qpf", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpb", "ajcc6_stage_codes", "ssf19_snn", "lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xqh", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "lymph_nodes_clinical_eval_v0205_ajcc7_xch", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:33.166Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/respiratory_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/respiratory_other.json deleted file mode 100644 index 2d235642c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/respiratory_other.json +++ /dev/null @@ -1,1120 +0,0 @@ -{ - "id" : "respiratory_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "RespiratoryOther", - "title" : "Other and Ill-Defined Respiratory Sites and Intrathoracic Organs", - "notes" : "C39.0 - Upper respiratory tract, NOS\nC39.8 - Overlapping lesion of respiratory system and intrathoracic organs\nC39.9 - Ill-defined sites within respiratory system\n\n**Note**: AJCC does not define TNM staging for this site.", - "schema_num" : 94, - "schema_selection_table" : "schema_selection_respiratory_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bce", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbv", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpa", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "94" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bce", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbv", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpa", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "mets_hpa", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "ssf4_mna", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "extension_bce", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "nodes_dbv", "schema_selection_respiratory_other", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:33.295Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/retinoblastoma.json b/src/test/resources/algorithms/cs/02.05.50/schemas/retinoblastoma.json deleted file mode 100644 index e87a6147b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/retinoblastoma.json +++ /dev/null @@ -1,1142 +0,0 @@ -{ - "id" : "retinoblastoma", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Retinoblastoma", - "title" : "Retinoblastoma", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2, SSF3, SSF4, SSF5, SSF6\n\nM-9510-9514\nC69.0 - Conjunctiva\nC69.1 - Cornea, NOS\nC69.2 - Retina\nC69.3 - Choroid\nC69.4 - Ciliary Body\nC69.5 - Lacrimal Gland\nC69.6 - Orbit, NOS\nC69.8 - Overlapping lesion of eye and adnexa\nC69.9 - Eye, NOS\n\n**Note 1**: Laterality must be coded for this site.\n\n**Note 2**: Code all retinoblastomas using this schema, including retinoblastomas described in other parts of eye. AJCC TNM categories will be derived for retinoblastomas with a primary site code of C69.2 only.", - "schema_num" : 141, - "schema_selection_table" : "schema_selection_retinoblastoma", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcu", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cac", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcj", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hbn", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Extension Evaluated at Enucleation", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "960", - "table" : "ssf1_jat", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_VERSION_0202_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "Retinoblastoma (RB) Gene Mutation", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kbb", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Family History of Retinoblastoma", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lao", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "Primary Globe-Sparing Treatment Failure", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mat", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "Linear Choroidal Invasion", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_naq", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "Clinical Extension for Second Eye", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_oao", - "used_for_staging" : false - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "141" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "special_calculation_tablefor_ajcct_xiu", - "inputs" : [ "extension", "extension_eval", "ssf1" ], - "outputs" : [ "temp_ajcc_t", "ajcc6_tdescriptor", "ajcc7_tdescriptor", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "special_calculation_tablefor_seersummary_stage_xiv", - "inputs" : [ "extension", "ssf1" ], - "outputs" : [ "temp_summ_t", "t77", "t2000" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcj", - "inputs" : [ "mets_eval", "nodes", "mets", "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor", "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "determine_correct_table_for_ajcc6_neval_ns31", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes", "mets", "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hbn", - "inputs" : [ "mets_eval", "nodes", "mets", "nodes_eval" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000", "ajcc6_mdescriptor" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "determine_correct_table_for_ajcc6_meval_ns30", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval", "nodes", "mets" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpk", - "inputs" : [ "site", "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_unb", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpk", - "inputs" : [ "site", "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qnb", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "metsat_dxmets_eval_ajcc7_xfg", "determine_correct_table_for_ajcc6_meval_ns30", "ssf25_snt", "ajcc7_stage_unb", "ssf15_snj", "ajcc7_t_codes", "extension_eval_6_cac", "ssf23_snr", "histology", "ssf2_kbb", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "ssf1_sstg_jat", "lymph_nodes_metsat_dxajcc6_xfh_n", "ajcc_tdescriptor_cleanup", "lymph_nodes_metsat_dxajcc6_xfh_m", "ssf4_mat", "mets_hbn", "ajcc6_stage_qnb", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "extension_sstg_bcu", "extension_eval_cac", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_inclusions_tpk", "schema_selection_retinoblastoma", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jat", "ajcc6_t_codes", "ssf6_oao", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "determine_correct_table_for_ajcc6_neval_ns31", "size_apa", "nodes_exam_gpa", "ssf3_lao", "special_calculation_tablefor_ajcct_xiu", "ajcc6_n_codes", "behavior", "metsat_dxmets_eval_ajcc6_xck", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "ajcc7_n_codes", "ajcc6_stage_codes", "extension_bcu", "nodes_dcj", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "determine_correct_table_for_ajcc6_m_ns29", "ssf5_naq", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "special_calculation_tablefor_seersummary_stage_xiv", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:33.797Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/retroperitoneum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/retroperitoneum.json deleted file mode 100644 index 2aed94d27..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/retroperitoneum.json +++ /dev/null @@ -1,1211 +0,0 @@ -{ - "id" : "retroperitoneum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Retroperitoneum", - "title" : "Retroperitoneum", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2, SSF3, SSF4\n\nC48.0 - Retroperitioneum", - "schema_num" : 103, - "schema_selection_table" : "schema_selection_retroperitoneum", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apu", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bfv", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dfq", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpc", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Grade for Sarcomas", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpm", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "Neurovascular Invasion", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpk", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Bone Invasion", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpk", - "used_for_staging" : false - }, { - "key" : "ssf4", - "name" : "Pathologic M1: Source of Pathologic Metastatic Specimen", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mpf", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "103" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bfv", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dfq", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpc", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tab", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf1_jpm", - "inputs" : [ "ssf1" ], - "outputs" : [ "grade_ssf1" ] - }, { - "id" : "ajcc7_stage_upm", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "grade_ssf1", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tab", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpi", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "grade", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "extension_bfv", "ajcc6_exclusions_ppc", "ssf3_lpk", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf1_jpm", "histology", "cs_input_version_original", "ajcc7_inclusions_tab", "mets_hpc", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "extension_size_xqj", "ajcc7_year_validation", "ssf21_snp", "schema_selection_retroperitoneum", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upm", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "ssf2_kpk", "behavior", "ssf10_sne", "ssf18_snm", "ajcc6_stage_qpi", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "size_apu", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "nodes_dfq", "ajcc6_m_codes", "nodes_eval_epa", "ssf4_mpf", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:33.945Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/salivary_gland_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/salivary_gland_other.json deleted file mode 100644 index a65251693..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/salivary_gland_other.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "salivary_gland_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SalivaryGlandOther", - "title" : "Other and Unspecified Major Salivary Glands", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8\n\nC08.1 - Sublingual gland\nC08.8 - Overlapping lesion of major salivary glands\nC08.9 - Major salivary gland, NOS\n\n**Note**: Laterality must be coded for C08.1.", - "schema_num" : 29, - "schema_selection_table" : "schema_selection_salivary_gland_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aph", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bba", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_das", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "29" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bba", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_das", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqn", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uqc", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqn", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpr", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "extension_bba", "histology", "ssf6_opa", "ssf3_lpa", "ajcc6_stage_qpr", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ajcc7_inclusions_tqn", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf9_spc", "lymph_nodes_size_xpd", "ajcc7_year_validation", "ssf21_snp", "ajcc7_stage_uqc", "ssf17_snl", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "extension_size_xpf", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "nodes_exam_gpa", "schema_selection_salivary_gland_other", "ajcc6_n_codes", "size_aph", "behavior", "nodes_das", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:34.076Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/scrotum.json b/src/test/resources/algorithms/cs/02.05.50/schemas/scrotum.json deleted file mode 100644 index b5afb28b1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/scrotum.json +++ /dev/null @@ -1,1208 +0,0 @@ -{ - "id" : "scrotum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Scrotum", - "title" : "Scrotum (excluding Malignant Melanoma, Merkel Cell Carcinoma, Kaposi Sarcoma, Mycosis Fungoides, Sezary Disease, and Other Lymphomas)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF10, SSF11\n\nC63.2 - Scrotum, NOS\n\n**Note**: Melanoma (M-8720-8790) of scrotum is included in the Melanoma schema. Merkel cell carcinoma (M-8247) of the scrotum is included in the MerkelCellScrotum schema. Mycosis Fungoides (M-9700) or Sezary disease (M-9701) of scrotum is included in the MycosisFungoides schema. Kaposi sarcoma (M-9140) of the scrotum is included in the KaposiSarcoma schema. Lymphoma of the scrotum is included in the Lymphoma schema.", - "schema_num" : 124, - "schema_selection_table" : "schema_selection_scrotum", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apl", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdo", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddj", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpe", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpp", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "Clark Level", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sqs", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Perineural Invasion", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_sqt", - "used_for_staging" : false - }, { - "key" : "ssf12", - "name" : "High Risk Features", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "999", - "table" : "ssf12_sev", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "999", - "table" : "ssf16_squ", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "124" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdo", - "inputs" : [ "extension", "size", "ssf12" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddj", - "inputs" : [ "ssf16", "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpe", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpq", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uay", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpq", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpt", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ajcc6_exclusions_ppd", "ajcc7_stage_uay", "nodes_ddj", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ajcc6_stage_qpt", "ssf1_jpp", "cs_input_version_original", "ssf22_snq", "mets_hpe", "lvi", "ssf14_sni", "ssf16_squ", "ssf11_sqt", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ssf10_sqs", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_inclusions_tpq", "ssf20_sno", "schema_selection_scrotum", "ajcc_ndescriptor_cleanup", "ajcc6_t_codes", "lymph_nodes_size_ajcc7_xfb", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf3_lna", "ss_codes", "extension_size_high_risk_xfa", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "extension_bdo", "extension_size_ajcc6_xqb", "size_apl", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf12_sev", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc" ], - "last_modified" : "2020-06-30T19:47:34.283Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/sinus_ethmoid.json b/src/test/resources/algorithms/cs/02.05.50/schemas/sinus_ethmoid.json deleted file mode 100644 index 49f0b20c6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/sinus_ethmoid.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "sinus_ethmoid", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SinusEthmoid", - "title" : "Ethmoid Sinus (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC31.1 - Ethmoid sinus", - "schema_num" : 78, - "schema_selection_table" : "schema_selection_sinus_ethmoid", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bay", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcm", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "78" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bay", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcm", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "nodes_dcm", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf9_spc", "lymph_nodes_size_xpd", "ajcc7_year_validation", "extension_bay", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "schema_selection_sinus_ethmoid", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:34.438Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/sinus_maxillary.json b/src/test/resources/algorithms/cs/02.05.50/schemas/sinus_maxillary.json deleted file mode 100644 index 6a3a9e226..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/sinus_maxillary.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "sinus_maxillary", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SinusMaxillary", - "title" : "Maxillary Sinus (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC31.0 - Maxillary sinus\n\n**Note**: Laterality must be coded for this site.", - "schema_num" : 76, - "schema_selection_table" : "schema_selection_sinus_maxillary", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bax", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcw", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "76" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bax", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcw", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "schema_selection_sinus_maxillary", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "nodes_dcw", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf9_spc", "lymph_nodes_size_xpd", "ajcc7_year_validation", "ssf21_snp", "extension_bax", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:34.574Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/sinus_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/sinus_other.json deleted file mode 100644 index dae06d534..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/sinus_other.json +++ /dev/null @@ -1,1116 +0,0 @@ -{ - "id" : "sinus_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SinusOther", - "title" : "Accessory (Paranasal) Sinuses (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC31.2 - Frontal sinus\nC31.3 - Sphenoid sinus\nC31.8 - Overlapping lesion of accessory sinuses\nC31.9 - Accessory sinus, NOS\n\n**Note 1**: Laterality must be coded for frontal sinus, C31.2\n\n**Note 2**: AJCC does not define TNM staging for these sites.", - "schema_num" : 80, - "schema_selection_table" : "schema_selection_sinus_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdk", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_daq", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpf", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "80" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdk", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_daq", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpf", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "ssf1_jpu", "ssf22_snq", "lvi", "mets_hpf", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "extension_eval_cna", "ajcc6_stage_qna", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "nodes_daq", "size_apa", "nodes_exam_gpa", "schema_selection_sinus_other", "ajcc6_n_codes", "extension_bdk", "behavior", "ssf18_snm", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:34.723Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/skin.json b/src/test/resources/algorithms/cs/02.05.50/schemas/skin.json deleted file mode 100644 index d7d9a379e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/skin.json +++ /dev/null @@ -1,1209 +0,0 @@ -{ - "id" : "skin", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Skin", - "title" : "Skin (excluding Skin of Eyelid and Malignant Melanoma, Merkel Cell Carcinoma, Kaposi Sarcoma, Mycosis Fungoides, Sezary Disease, and Other Lymphomas)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF10\n\nC44.0 - Skin of lip, NOS\nC44.2 - External ear\nC44.3 - Skin of other and unspecified parts of face\nC44.4 - Skin of scalp and neck\nC44.5 - Skin of trunk\nC44.6 - Skin of upper limb and shoulder\nC44.7 - Skin of lower limb and hip\nC44.8 - Overlapping lesion of skin\nC44.9 - Skin, NOS\n\n**Note**: Laterality must be coded for C44.2-C44.3 and C44.5-C44.7. For codes C44.3 and C44.5, code 5 (midline) in the laterality field if the tumor is midline (e.g., chin).", - "schema_num" : 96, - "schema_selection_table" : "schema_selection_skin", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apl", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bca", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbt", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpe", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jpp", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "Clark Level", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sqs", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Perineural Invasion", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_sqt", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "High Risk Features", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "999", - "table" : "ssf12_sew", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "999", - "table" : "ssf16_squ", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "96" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bca", - "inputs" : [ "extension", "size", "ssf12" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbt", - "inputs" : [ "ssf16", "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpe", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpq", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubg", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpq", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qav", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ajcc6_exclusions_ppd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ssf1_jpp", "cs_input_version_original", "ssf22_snq", "mets_hpe", "lvi", "extension_size_ajcc6_xfw", "ssf14_sni", "ssf16_squ", "ssf11_sqt", "lymph_nodes_size_ajcc7_xfz", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc6_stage_qav", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ssf10_sqs", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_inclusions_tpq", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ajcc6_t_codes", "extension_size_high_risk_xfy", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf3_lna", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "size_apl", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf12_sew", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "extension_bca", "ajcc7_stage_ubg", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "schema_selection_skin", "nodes_dbt", "ssf24_sns", "ssf8_snc" ], - "last_modified" : "2020-06-30T19:47:34.907Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/skin_eyelid.json b/src/test/resources/algorithms/cs/02.05.50/schemas/skin_eyelid.json deleted file mode 100644 index 3a8a705d4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/skin_eyelid.json +++ /dev/null @@ -1,1198 +0,0 @@ -{ - "id" : "skin_eyelid", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SkinEyelid", - "title" : "Skin of Eyelid", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF1, SSF2, SSF4, SSF5, SSF7, SSF9, SSF11, SSF12, SSF13, SSF14, SSF15, SSF16\n\nC44.1 - Eyelid\n\n**Note**: Laterality must be coded for this site.", - "schema_num" : 97, - "schema_selection_table" : "schema_selection_skin_eyelid", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_app", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdg", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dde", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epb", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hcu", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Measured Thickness (Depth) for Squamous Cell Carcinoma", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jbl", - "used_for_staging" : false - }, { - "key" : "ssf2", - "name" : "Clark Level", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kaz", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Clinical Status of Lymph Nodes", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lap", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf4", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mbg", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "Sentinel Lymph Node Biopsy", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nar", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "Perineural Invasion", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_oak", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf7", - "name" : "Tumor Necrosis", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_scq", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Pagetoid Spread", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_sdd", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf9", - "name" : "Mohs Layers", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_sdi", - "used_for_staging" : false - }, { - "key" : "ssf10", - "name" : "Prior Radiation", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_scm", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf11", - "name" : "Human Immunodeficiency Virus (HIV) Status", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_scj", - "used_for_staging" : false - }, { - "key" : "ssf12", - "name" : "Solid Organ Transplant", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sck", - "used_for_staging" : false - }, { - "key" : "ssf13", - "name" : "Leukemia", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_scl", - "used_for_staging" : false - }, { - "key" : "ssf14", - "name" : "Multiple Carcinomas", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_scn", - "used_for_staging" : false - }, { - "key" : "ssf15", - "name" : "Muir-Torre Syndrome", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_sco", - "used_for_staging" : false - }, { - "key" : "ssf16", - "name" : "Xeroderma Pigmentosa", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_scp", - "used_for_staging" : false - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "97" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdg", - "inputs" : [ "year_dx", "extension", "size", "ssf6", "cs_input_version_original" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dde", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epb", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epb", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hcu", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uaf", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_pab", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qnb", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_pab", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf8_sdd", "nodes_dde", "ssf7_scq", "ssf25_snt", "ssf4_mbg", "extension_size_perineural_invasion_positive_ajcc6_table_csv2_xgm", "extension_size_ajcc6_table_csv1_xjb", "ssf10_scm", "determine_correct_table_for_ajcc6_t_ns39", "ajcc7_t_codes", "ssf23_snr", "histology", "ajcc7_stage_uaf", "extension_size_perineural_invasion888988_ajcc7_xic", "cs_input_version_original", "mets_hcu", "ssf11_scj", "ssf22_snq", "ssf9_sdi", "ssf2_kaz", "lvi", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qnb", "ssf12_sck", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "determine_correct_table_for_ajcc7_t_ns38", "extension_size_perineural_invasion888988_ajcc6_table_csv2_xij", "grade", "extension_size_perineural_invasion_positive_ajcc7_xgk", "summary_stage_rpa", "ajcc7_m_codes", "ssf13_scl", "ssf20_sno", "ajcc_ndescriptor_cleanup", "extension_size_perineural_invasion_negativeor_unknown_ajcc6_table_csv2_xgl", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf6_oak", "ssf14_scn", "ajcc6_exclusions_pab", "ss_codes", "ssf3_lap", "nodes_exam_gpa", "extension_bdg", "ajcc6_n_codes", "behavior", "schema_selection_skin_eyelid", "extension_size_perineural_invasion_negativeor_unknown_ajcc7_xgj", "ssf15_sco", "ssf18_snm", "ssf1_jbl", "mets_eval_ipa", "size_app", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf16_scp", "primary_site", "ajcc6_year_validation", "ssf5_nar", "ajcc6_m_codes", "cs_year_validation", "nodes_eval_epb", "ssf24_sns" ], - "last_modified" : "2020-06-30T19:47:35.280Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/small_intestine.json b/src/test/resources/algorithms/cs/02.05.50/schemas/small_intestine.json deleted file mode 100644 index 076dc7579..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/small_intestine.json +++ /dev/null @@ -1,1208 +0,0 @@ -{ - "id" : "small_intestine", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SmallIntestine", - "title" : "Small Intestine (excluding Gastrointestinal Stromal Tumor and Neuroendocrine Tumor)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF4, SSF5\n\nM-8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701 \nC17.0 - Duodenum\nC17.1 - Jejunum\nC17.2 - Ileum (excluding ileocecal valve C18.0)\nC17.3 - Meckel diverticulum (site of neoplasm)\nC17.8 - Overlapping lesion of small intestine\nC17.9 - Small intestine, NOS", - "schema_num" : 47, - "schema_selection_table" : "schema_selection_small_intestine", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbe", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_daw", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpb", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hbo", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Carcinoembryonic Antigen (CEA)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jcg", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "Clinical Assessment of Regional Lymph Nodes", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "999", - "table" : "ssf2_kbw", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf3", - "name" : "Carcinoembryonic Antigen (CEA) Lab Value", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpe", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf4", - "name" : "Crohn Disease", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mbi", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "Microsatellite Instability", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nbb", - "used_for_staging" : false - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "47" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbe", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_daw", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "cs_input_version_original", "ssf2" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hbo", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqk", - "inputs" : [ "site", "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ual", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqk", - "inputs" : [ "site", "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpn", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "lymph_nodes_clinical_eval_v0205_ajcc7_xao", "ajcc6_exclusions_ppd", "ssf4_mbi", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf3_lpe", "ajcc7_stage_ual", "ajcc7_inclusions_tqk", "histology", "schema_selection_small_intestine", "lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg", "extension_bbe", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "ssf2_kbw", "ajcc_tdescriptor_cleanup", "mets_hbo", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xdg", "determine_correct_table_for_ajcc7_n_ns5", "ajcc6_t_codes", "nodes_pos_fpb", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "nodes_daw", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nbb", "ajcc6_stage_qpn", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf1_jcg", "lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdf", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:35.501Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/soft_tissue.json b/src/test/resources/algorithms/cs/02.05.50/schemas/soft_tissue.json deleted file mode 100644 index 93e4acd32..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/soft_tissue.json +++ /dev/null @@ -1,1212 +0,0 @@ -{ - "id" : "soft_tissue", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SoftTissue", - "title" : "Peripheral Nerves and Autonomic Nervous System; Connective, Subcutaneous, and Other Soft Tissues", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2, SSF4\n\nM-8000-9136,9141-9582,9700-9701\nC47.0 - Peripheral nerves and autonomic nervous system of head, face and neck\nC47.1 - Peripheral nerves and autonomic nervous system of upper limb and shoulder\nC47.2 - Peripheral nerves and autonomic nervous system of lower limb and hip\nC47.3 - Peripheral nerves and autonomic nervous system of thorax\nC47.4 - Peripheral nerves and autonomic nervous system of abdomen\nC47.5 - Peripheral nerves and autonomic nervous system of pelvis\nC47.6 - Peripheral nerves and autonomic nervous system of trunk, NOS\nC47.8 - Overlapping lesion of peripheral nerves and autonomic nervous system\nC47.9 - Autonomic nervous system, NOS\nC49.0 - Connective, subcutaneous and other soft tissues of head, face, and neck\nC49.1 - Connective, subcutaneous and other soft tissues of upper limb and shoulder\nC49.2 - Connective, subcutaneous and other soft tissues of lower limb and hip\nC49.3 - Connective, subcutaneous and other soft tissues of thorax\nC49.4 - Connective, subcutaneous and other soft tissues of abdomen\nC49.5 - Connective, subcutaneous and other soft tissues of pelvis\nC49.6 - Connective, subcutaneous and other soft tissues of trunk\nC49.9 - Connective, subcutaneous and other soft tissues, NOS\nC49.8 - Overlapping lesion of connective, subcutaneous and other soft tissues\n\n**Note 1**: Laterality must be coded for C47.1-C47.2 and C49.1-C49.2.\n\n**Note 2**: Soft tissue sarcomas of the heart and mediastinum (C38.0-C38.3 and C38.9) use the Heart, Mediastinum schema.", - "schema_num" : 101, - "schema_selection_table" : "schema_selection_soft_tissue", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aat", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbz", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbs", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpc", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Grade for Sarcomas", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpm", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "Neurovascular Invasion", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpk", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Bone Invasion", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpk", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf4", - "name" : "Pathologic M1: Source of Pathologic Metastatic Specimen", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mpf", - "used_for_staging" : false - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "101" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbz", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbs", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpc", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tps", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf1_jpm", - "inputs" : [ "ssf1" ], - "outputs" : [ "grade_ssf1" ] - }, { - "id" : "ajcc7_stage_ubj", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "grade_ssf1", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tps", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qbv", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "grade", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppc", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc6_exclusions_ppc", "ajcc7_inclusions_tps", "ssf3_lpk", "extension_bbz", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf1_jpm", "histology", "size_aat", "cs_input_version_original", "mets_hpc", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_stage_qbv", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ss_codes", "schema_selection_soft_tissue", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "ssf2_kpk", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "nodes_dbs", "ajcc6_m_codes", "ajcc7_stage_ubj", "nodes_eval_epa", "extension_size_xfn", "ssf4_mpf", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:35.665Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/stomach.json b/src/test/resources/algorithms/cs/02.05.50/schemas/stomach.json deleted file mode 100644 index 6fa79462c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/stomach.json +++ /dev/null @@ -1,1215 +0,0 @@ -{ - "id" : "stomach", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Stomach", - "title" : "Stomach (excluding Gastrointestinal Stromal Tumor and Neuroendocrine Tumor)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF2, SSF13, SSF14, SSF15\n\nC16.1 - Fundus of stomach\nC16.2 - Body of stomach\nC16.3 - Gastric antrum\nC16.4 - Pylorus\nC16.5 - Lesser curvature of stomach, NOS\nC16.6 - Greater curvature of stomach, NOS\nC16.8 - Overlapping lesion of stomach\nC16.9 - Stomach, NOS", - "schema_num" : 44, - "schema_selection_table" : "schema_selection_stomach", - "schema_discriminators" : [ "ssf25" ], - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aah", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bal", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dak", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpb", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hac", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Clinical Assessment of Regional Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jax", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "Specific Location of Tumor", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kal", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "Carcinoembryonic Antigen (CEA)", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_sdr", - "used_for_staging" : false - }, { - "key" : "ssf14", - "name" : "Carcinoembryonic Antigen (CEA) Lab Value", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sds", - "used_for_staging" : false - }, { - "key" : "ssf15", - "name" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_sdt", - "used_for_staging" : false - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: EsophagusGEJunction (EGJ)/Stomach", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "999", - "table" : "ssf25_spv", - "used_for_staging" : true, - "metadata" : [ "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION", "NPCR_REQUIRED_2004_FORWARD" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "44" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bal", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dak", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "cs_input_version_original", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hac", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqj", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ssf25_spv", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc7_stage_uam", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqj", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ssf25_spv", - "inputs" : [ "ssf25" ], - "outputs" : [ "schema" ] - }, { - "id" : "ajcc6_stage_qpl", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "lymph_nodes_clinical_eval_v0205_ajcc7_xam", "ajcc6_exclusions_ppd", "size_aah", "ssf2_kal", "lymph_nodes_clinical_evaluation_ajcc6_xbe", "ajcc7_t_codes", "ssf23_snr", "ajcc7_inclusions_tqj", "ssf13_sdr", "ajcc7_stage_uam", "histology", "cs_input_version_original", "lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp", "ssf22_snq", "lvi", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "extension_bal", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "ssf25_spv", "nodes_pos_fpb", "mets_hac", "ssf1_jax", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "nodes_dak", "nodes_exam_gpa", "determine_correct_table_for_ajcc6_n_ns26", "determine_correct_table_for_ajcc7_n_ns27", "ajcc6_n_codes", "behavior", "schema_selection_stomach", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf14_sds", "ssf19_snn", "ajcc7_stage_codes", "ajcc6_stage_qpl", "ssf9_snd", "primary_site", "ajcc6_year_validation", "lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_csreg_nodes_evalis_not_coded_xdi", "ajcc6_m_codes", "nodes_eval_epa", "lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdh", "cs_year_validation", "ssf15_sdt", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:35.864Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/submandibular_gland.json b/src/test/resources/algorithms/cs/02.05.50/schemas/submandibular_gland.json deleted file mode 100644 index ccb4a1918..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/submandibular_gland.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "submandibular_gland", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SubmandibularGland", - "title" : "Submandibular Gland", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8\n\nC08.0 - Submandibular gland\n\n**Note**: Laterality must be coded for C08.0.", - "schema_num" : 28, - "schema_selection_table" : "schema_selection_submandibular_gland", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aph", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_baz", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dar", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "28" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_baz", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dar", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqn", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uqc", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tqn", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpr", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "schema_selection_submandibular_gland", "ssf23_snr", "histology", "ssf6_opa", "ssf3_lpa", "ajcc6_stage_qpr", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ajcc7_inclusions_tqn", "ssf14_sni", "ajcc_tdescriptor_cleanup", "extension_baz", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_stage_uqc", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "extension_size_xpf", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "nodes_dar", "nodes_exam_gpa", "ajcc6_n_codes", "size_aph", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:36.019Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/testis.json b/src/test/resources/algorithms/cs/02.05.50/schemas/testis.json deleted file mode 100644 index e064a6fb8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/testis.json +++ /dev/null @@ -1,1228 +0,0 @@ -{ - "id" : "testis", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Testis", - "title" : "Testis", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF12, SSF14\n\nC62.0 - Undescended testis\nC62.1 - Descended testis\nC62.9 - Testis, NOS\n\n**Note 1**: Instructions for coding pre- or post-orchiectomy tumor marker values were ambiguous for CS version 1 and there was variation in data collection by registrars. Furthermore, AJCC 7th Edition clarified that S value stage group IS is to be calculated based on the persistence of elevated serum tumor markers after surgery. As a consequence, there is uncertainly about the reliability of the data for the S parameter in data collected with CS version 1. The data elements and codes have been modified in CS version 2 to calculate the S value correctly. Any analysis of testis staging over time relying on the tumor marker data collected in CS version 1 might require review of medical records to verify the appropriate preoperative tumor marker values and the presence of persistent tumor markers post-orchiectomy.\n\n**Note 2**: CS version 2 corrects some version 1 errors in the calculation of the N category. For this reason, analysis of data originally collected in version 1 may show a different distribution of N categories and stage groups once the version 2 algorithm is run to re-derive AJCC 6th edition staging.\n\n**Note 3**: For cases collected in CSv1, the T category is derived using the Extension Orchiectomy LVI AJCC 6 Table CSv1, the S value is derived using the Serum Tumor Marker S Value Table Based on CS SSF 1, 2, 3, and the AJCC 6th Edition stage is derived using the AJCC TNM 6 Stage CSv1 table.\n\n**Note 4**: For cases collected in CSv2, the T category is derived using the Extension Orchiectomy LVI AJCC 6 Table CSv2 or the Extension Orchiectomy LVI AJCC 7 Table, the S value is derived using the Post-orchiectomy Serum Marker S Value Table Based on SSF 13, 15, 16, and the AJCC 6th and 7th Edition stages are derived using the AJCC TNM 6 Stage table and AJCC TNM 7 Stage table.\n\n**Note 5**: Laterality must be coded for this site.", - "schema_num" : 122, - "schema_selection_table" : "schema_selection_testis", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "9", - "table" : "lvi", - "used_for_staging" : true - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdh", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_ddf", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpc", - "used_for_staging" : true - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hbb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipb", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "OBSOLETE - Alpha Fetoprotein (AFP)", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jal", - "used_for_staging" : true - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Human Chorionic Gonadotropin (hCG)", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kad", - "used_for_staging" : true - }, { - "key" : "ssf3", - "name" : "OBSOLETE - Lactate Dehydrogenase (LDH)", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lad", - "used_for_staging" : true - }, { - "key" : "ssf4", - "name" : "Radical Orchiectomy Performed", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mac", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf5", - "name" : "Size of Metastasis in Lymph Nodes", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_nab", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf6", - "name" : "Pre-Orchiectomy Alpha Fetoprotein (AFP) Lab Value", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_oay", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf7", - "name" : "Pre-Orchiectomy Alpha Fetoprotein (AFP) Range", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "999", - "table" : "ssf7_seh", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf8", - "name" : "Pre-Orchiectomy Human Chorionic Gonadotropin (hCG) Lab Value", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_sei", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART" ] - }, { - "key" : "ssf9", - "name" : "Pre-Orchiectomy Human Chorionic Gonadotropin (hCG) Range", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_sej", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Pre-Orchiectomy Lactate Dehydrogenase (LDH) Range", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "999", - "table" : "ssf10_sek", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_IVB_COLLECT_IF_IN_CLINICAL_CHART", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf11", - "name" : "OBSOLETE - Persistence of Elevated Serum Tumor Markers", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_sel", - "used_for_staging" : false - }, { - "key" : "ssf12", - "name" : "Post-Orchiectomy Alpha Fetoprotein (AFP) Lab Value", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sfd", - "used_for_staging" : false - }, { - "key" : "ssf13", - "name" : "Post-Orchiectomy Alpha Fetoprotein (AFP) Range", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "999", - "table" : "ssf13_sfe", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf14", - "name" : "Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Lab Value", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sff", - "used_for_staging" : false - }, { - "key" : "ssf15", - "name" : "Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Range", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "999", - "table" : "ssf15_sfg", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf16", - "name" : "Post-Orchiectomy Lactate Dehydrogenase (LDH) Range", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "999", - "table" : "ssf16_sfh", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "122" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdh", - "inputs" : [ "year_dx", "extension", "ssf4", "cs_input_version_original", "lvi" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_ddf", - "inputs" : [ "nodes_pos", "nodes", "nodes_eval", "ssf5" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hbb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipb", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipb", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpj", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516_xgr", - "inputs" : [ "ssf15", "ssf16", "ssf13" ], - "outputs" : [ "s_131516" ] - }, { - "id" : "serum_tumor_marker_svalue_table_basedon_csssf123_xcj", - "inputs" : [ "ssf2", "ssf3", "ssf1" ], - "outputs" : [ "s_123" ] - }, { - "id" : "determine_correct_table_for_s_ns36", - "inputs" : [ "year_dx", "s_123", "cs_input_version_original", "s_131516" ], - "outputs" : [ "s" ] - }, { - "id" : "ajcc7_stage_uqd", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "s", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpj", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_paj", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516_xgr", - "inputs" : [ "ssf15", "ssf16", "ssf13" ], - "outputs" : [ "s_131516" ] - }, { - "id" : "serum_tumor_marker_svalue_table_basedon_csssf123_xcj", - "inputs" : [ "ssf2", "ssf3", "ssf1" ], - "outputs" : [ "s_123" ] - }, { - "id" : "determine_correct_table_for_s_ns36", - "inputs" : [ "year_dx", "s_123", "cs_input_version_original", "s_131516" ], - "outputs" : [ "s" ] - }, { - "id" : "determine_correct_table_for_ajcc6_stg_ns37", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "year_dx", "ajcc6_n", "s", "ajcc6_m", "cs_input_version_original", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_paj", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf16_sfh", "extension_orchiectomy_lviajcc6_table_csv2_xis", "ssf5_nab", "ssf25_snt", "ssf15_sfg", "nodes_ddf", "ajcc7_t_codes", "ssf23_snr", "determine_correct_table_for_ajcc6_t_ns34", "histology", "schema_selection_testis", "cs_input_version_original", "ssf14_sff", "ssf22_snq", "lvi", "ssf3_lad", "ajcc_tdescriptor_cleanup", "mets_hbb", "lymph_nodes_pathologic_eval_xgu", "determine_correct_table_for_s_ns36", "combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_less_than2010_xiz", "ajcc7_year_validation", "ssf21_snp", "ajcc7_stage_uqd", "ssf17_snl", "determine_correct_table_for_n_ns35", "ajcc_descriptor_codes", "ssf10_sek", "ajcc7_inclusions_tpj", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf1_jal", "extension_orchiectomy_lviajcc7_xgs", "ajcc6_t_codes", "ajcc6_exclusions_paj", "extension_orchiectomy_lviajcc6_table_csv1_xbv", "ajcc_mdescriptor_cleanup", "ss_codes", "size_apa", "nodes_exam_gpa", "extension_bdh", "ssf4_mac", "ajcc6_n_codes", "combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_greater_than2009_xiy", "behavior", "ssf11_sel", "ssf7_seh", "mets_eval_ipb", "ssf6_oay", "ssf18_snm", "lymph_nodes_clinical_eval_xgt", "ssf13_sfe", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ajcc6_stage_qpq", "serum_tumor_marker_svalue_table_basedon_csssf123_xcj", "ssf19_snn", "ajcc7_stage_codes", "ssf8_sei", "determine_correct_table_for_ajcc6_stg_ns37", "primary_site", "ajcc6_year_validation", "ssf12_sfd", "ssf2_kad", "nodes_pos_fpc", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "lymph_nodes_positive_eval_blank_xgv", "ajcctnm6_stage_csv1_xpz", "ssf24_sns", "ssf9_sej", "postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516_xgr" ], - "last_modified" : "2020-06-30T19:47:36.844Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/thyroid.json b/src/test/resources/algorithms/cs/02.05.50/schemas/thyroid.json deleted file mode 100644 index e837850f5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/thyroid.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "id" : "thyroid", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Thyroid", - "title" : "Thyroid Gland", - "notes" : "C73.9 - Thyroid gland\n\n**Note**: The determination of AJCC stage group from T, N, and M for thyroid depends on histologic type, grade, and age. The Histologies, Grade, Stage table shows the selection of the AJCC Stage table based on histology and grade. For papillary and follicular carcinomas, age is also needed for the selection; if age at diagnosis is unknown, AJCC stage will be derived as unknown for these histologies.", - "schema_num" : 146, - "schema_selection_table" : "schema_selection_thyroid", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : true - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apj", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bby", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbr", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hbf", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Solitary vs Multifocal Tumor", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jap", - "used_for_staging" : true, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "146" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bby", - "inputs" : [ "extension", "hist", "size", "grade", "ssf1" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbr", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hbf", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "histologies_grade_stage_xce", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "inputs" : [ "hist", "ajcc7_n", "ajcc7_m", "age_dx", "grade", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "histologies_grade_stage_xce_6", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "inputs" : [ "hist", "ajcc6_n", "age_dx", "ajcc6_m", "grade", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ajcc6_exclusions_ppd", "histology_grade_extension_ajcc6_xkw", "ssf25_snt", "extension_bby", "ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older_xdx", "extension_size_ajcc6_xbc", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ajcctnm6_stage_thyroid_anaplastic_xcg", "histology", "determine_correct_table_for_ajcc6_t_ns33", "ajcc7_stage_uag", "cs_input_version_original", "histologies_grade_stage_xce", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qax", "ssf4_mna", "ajcctnm7_stage_thyroid_medullary_xdy", "determine_correct_table_for_ajcc7_t_ns32", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "mets_hbf", "ssf17_snl", "ajcc_descriptor_codes", "determine_validity_for_ajcc7_ns42", "histologies_grade_stage_xce_6", "extension_size_ssf1_ajcc7_xgb", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcctnm6_stage_thyroid_papillaryand_follicular_age45and_older_xco", "ssf1_jap", "ajcc6_t_codes", "ajcctnm6_stage_thyroid_medullary_xcf", "ajcctnm7_stage_thyroid_anaplastic_xdz", "schema_selection_thyroid", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "size_apj", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "histology_grade_extension_summary_stage_xgx", "histology_grade_extension_ssf1_ajcc7_xkv", "extension_eval_cpa", "ajcc7_n_codes", "determine_validity_for_ajcc6_ns50", "ajcc6_stage_codes", "ssf5_nna", "extension_t4_ssf1_ajcc7_xgw", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "nodes_dbr", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:37.158Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/tongue_anterior.json b/src/test/resources/algorithms/cs/02.05.50/schemas/tongue_anterior.json deleted file mode 100644 index 8a3cf640e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/tongue_anterior.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "tongue_anterior", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "TongueAnterior", - "title" : "Anterior 2/3 of Tongue, Tip, Border, and Tongue, NOS (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8, SSF10\n\nC02.0 - Dorsal surface of tongue, NOS\nC02.1 - Border of tongue (Tip)\nC02.2 - Ventral surface of tongue, NOS\nC02.3 - Anterior 2/3 of tongue, NOS\nC02.8 - Overlapping lesion of tongue\nC02.9 - Tongue, NOS", - "schema_num" : 9, - "schema_selection_table" : "schema_selection_tongue_anterior", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apc", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bac", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dpd", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_spd", - "used_for_staging" : false - }, { - "key" : "ssf11", - "name" : "Measured Thickness (Depth)", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_spe", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "9" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bac", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dpd", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "ssf11_spe", "histology", "ssf6_opa", "ssf3_lpa", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "nodes_dpd", "ssf14_sni", "extension_size_xab", "ajcc_tdescriptor_cleanup", "ssf9_spc", "lymph_nodes_size_xpd", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "ssf5_npa", "extension_bac", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ss_codes", "nodes_exam_gpa", "size_apc", "ajcc6_n_codes", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "schema_selection_tongue_anterior", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:37.332Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/tongue_base.json b/src/test/resources/algorithms/cs/02.05.50/schemas/tongue_base.json deleted file mode 100644 index 4adfb86d3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/tongue_base.json +++ /dev/null @@ -1,1207 +0,0 @@ -{ - "id" : "tongue_base", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "TongueBase", - "title" : "Base of Tongue and Lingual Tonsil (excluding Malignant Melanoma)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF7, SSF8\n\nC01.9 - Base of tongue, NOS\nC02.4 - Lingual tonsil\n\n**Note**: AJCC includes base of tongue (C01.9) with oropharynx (C10._).", - "schema_num" : 7, - "schema_selection_table" : "schema_selection_tongue_base", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_aph", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bam", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dal", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpb", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "Size of Lymph Nodes", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpa", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf2", - "name" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpa", - "used_for_staging" : false - }, { - "key" : "ssf3", - "name" : "Levels I-III, Lymph Nodes for Head and Neck", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "999", - "table" : "ssf3_lpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf4", - "name" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "999", - "table" : "ssf4_mpa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf5", - "name" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "999", - "table" : "ssf5_npa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf6", - "name" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "999", - "table" : "ssf6_opa", - "used_for_staging" : false, - "metadata" : [ "CCCR_III_COLLECTED_IN_CSV1", "COC_ALREADY_COLLECTED", "SEER_ALREADY_COLLECTED" ] - }, { - "key" : "ssf7", - "name" : "Upper and Lower Cervical Node Levels", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_spa", - "used_for_staging" : false - }, { - "key" : "ssf8", - "name" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_spb", - "used_for_staging" : false - }, { - "key" : "ssf9", - "name" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "999", - "table" : "ssf9_spc", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf10", - "name" : "Human Papilloma Virus (HPV) Status", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "999", - "table" : "ssf10_spd", - "used_for_staging" : false, - "metadata" : [ "COC_CLINICALLY_SIGNIFICANT", "CCCR_II_ESSENTIAL_FOR_CLINICAL_DECISION", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "7" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bam", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dal", - "inputs" : [ "nodes", "ssf1" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpb", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_upt", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpk", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf7_spa", "ssf10_spd", "ajcc6_exclusions_ppd", "ssf1_jpa", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "ssf6_opa", "ssf3_lpa", "schema_selection_tongue_base", "cs_input_version_original", "mets_hpb", "ssf22_snq", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ssf9_spc", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "lymph_nodes_size_xpg", "ajcc_descriptor_codes", "ssf5_npa", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_stage_upt", "ssf8_spb", "extension_bam", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf2_kpa", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "nodes_exam_gpa", "nodes_dal", "ajcc6_n_codes", "size_aph", "behavior", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ssf4_mpa", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "extension_size_ajcc7_xeu", "ajcc6_stage_qpk", "ssf13_snh", "primary_site", "ajcc6_year_validation", "extension_size_ajcc6_xai", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:37.480Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/trachea.json b/src/test/resources/algorithms/cs/02.05.50/schemas/trachea.json deleted file mode 100644 index b943c9c07..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/trachea.json +++ /dev/null @@ -1,1120 +0,0 @@ -{ - "id" : "trachea", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Trachea", - "title" : "Trachea", - "notes" : "C33.9 - Trachea\n\n**Note**: AJCC does not define TNM staging for this site.", - "schema_num" : 90, - "schema_selection_table" : "schema_selection_trachea", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcf", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbw", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpa", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "90" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcf", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbw", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpa", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "mets_hpa", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "ssf4_mna", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "schema_selection_trachea", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "behavior", "ssf10_sne", "ssf18_snm", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "extension_bcf", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng", "nodes_dbw" ], - "last_modified" : "2020-06-30T19:47:37.617Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/urethra.json b/src/test/resources/algorithms/cs/02.05.50/schemas/urethra.json deleted file mode 100644 index cb341e1a1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/urethra.json +++ /dev/null @@ -1,1210 +0,0 @@ -{ - "id" : "urethra", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Urethra", - "title" : "Urethra", - "notes" : "C68.0 - Urethra\n\n**Note**: Transitional cell carcinoma of the prostatic ducts and prostatic urethra are to be coded to urethra (C68.0) according to this schema.", - "schema_num" : 129, - "schema_selection_table" : "schema_selection_urethra", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bdi", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbu", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpe", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "WHO/ISUP Grade", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "999", - "table" : "ssf1_jpd", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT", "SEER_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "129" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bdi", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbu", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpe", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_uaz", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpb", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qaw", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ajcc7_stage_uaz", "ssf2_kna", "ajcc6_exclusions_ppd", "ssf25_snt", "ssf1_jpd", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "ssf22_snq", "mets_hpe", "lvi", "ssf14_sni", "ajcc_tdescriptor_cleanup", "ajcc6_stage_qaw", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ajcc7_inclusions_tpb", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "extension_bdi", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "schema_selection_urethra", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "cs_year_validation", "ssf24_sns", "nodes_dbu", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:37.749Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/urinary_other.json b/src/test/resources/algorithms/cs/02.05.50/schemas/urinary_other.json deleted file mode 100644 index d0fcb6bbf..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/urinary_other.json +++ /dev/null @@ -1,1120 +0,0 @@ -{ - "id" : "urinary_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "UrinaryOther", - "title" : "Paraurethral Gland, Overlapping Lesion of Urinary Organs, and Unspecified Urinary Organs", - "notes" : "C68.1 - Paraurethral gland\nC68.8 - Overlapping lesion of urinary organs\nC68.9 - Urinary system, NOS\n\n**Note**: AJCC does not define TNM staging for this site.", - "schema_num" : 130, - "schema_selection_table" : "schema_selection_urinary_other", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bcy", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cna", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dcz", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_ena", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hpa", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ina", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "130" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bcy", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cna", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dcz", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_ena", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hpa", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ina", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qna", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf2_kna", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "mets_hpa", "nodes_dcz", "ssf22_snq", "lvi", "ssf14_sni", "mets_eval_ina", "ajcc_tdescriptor_cleanup", "ssf4_mna", "extension_eval_cna", "ajcc6_stage_qna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "nodes_eval_ena", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf11_snf", "ssf3_lna", "ss_codes", "ssf6_ona", "size_apa", "nodes_exam_gpa", "ajcc6_n_codes", "schema_selection_urinary_other", "behavior", "ssf10_sne", "ssf18_snm", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "extension_bcy", "ssf19_snn", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:37.861Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/vagina.json b/src/test/resources/algorithms/cs/02.05.50/schemas/vagina.json deleted file mode 100644 index f77416d76..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/vagina.json +++ /dev/null @@ -1,1210 +0,0 @@ -{ - "id" : "vagina", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Vagina", - "title" : "Vagina", - "notes" : "C52.9 - Vagina, NOS\n\n**Note**: AJCC TNM values correspond to the stages accepted by the Federation Internationale de Gynecologic et d'Obstetrique (FIGO). Note that FIGO uses a single stage value which corresponds to different groupings of T, N, and M values.", - "schema_num" : 109, - "schema_selection_table" : "schema_selection_vagina", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_apa", - "used_for_staging" : false - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bad", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dba", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_haj", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "FIGO Stage", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jbq", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf2", - "name" : "Pelvic Nodal Status", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kpr", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf3", - "name" : "Assessment Method of Pelvic Nodal Status", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lpu", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf4", - "name" : "Para-Aortic Nodal Status", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mps", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf5", - "name" : "Assessment Method of Para-Aortic Nodal Status", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_npm", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf6", - "name" : "Distant (Mediastinal, Scalene) Nodal Status", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_oaq", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf7", - "name" : "Assessment Method of Distant (Mediastinal, Scalene) Nodal Status", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_sdf", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "CS Site-Specific Factor 10", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sne", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf11", - "name" : "CS Site-Specific Factor 11", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "988", - "table" : "ssf11_snf", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf12", - "name" : "CS Site-Specific Factor 12", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sng", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf13", - "name" : "CS Site-Specific Factor 13", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_snh", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf14", - "name" : "CS Site-Specific Factor 14", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sni", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf15", - "name" : "CS Site-Specific Factor 15", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_snj", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "109" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bad", - "inputs" : [ "extension" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dba", - "inputs" : [ "nodes" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_haj", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tph", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubc", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tph", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qbr", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "ssf3_lpu", "ajcc6_exclusions_ppd", "ssf25_snt", "ssf15_snj", "ajcc7_t_codes", "ssf23_snr", "histology", "cs_input_version_original", "ssf22_snq", "lvi", "ssf14_sni", "ssf5_npm", "ajcc_tdescriptor_cleanup", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "ssf7_sdf", "ajcc7_inclusions_tph", "extension_bad", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "mets_haj", "nodes_dba", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf11_snf", "ss_codes", "size_apa", "nodes_exam_gpa", "ssf2_kpr", "ssf6_oaq", "schema_selection_vagina", "ajcc6_n_codes", "ajcc6_stage_qbr", "behavior", "ssf10_sne", "ssf18_snm", "mets_eval_ipa", "extension_eval_cpa", "ssf1_jbq", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf19_snn", "ajcc7_stage_codes", "ssf9_snd", "ssf13_snh", "primary_site", "ajcc6_year_validation", "ssf4_mps", "ajcc6_m_codes", "nodes_eval_epa", "ajcc7_stage_ubc", "cs_year_validation", "ssf24_sns", "ssf8_snc", "ssf12_sng" ], - "last_modified" : "2020-06-30T19:47:37.998Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/schemas/vulva.json b/src/test/resources/algorithms/cs/02.05.50/schemas/vulva.json deleted file mode 100644 index 822c82824..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/schemas/vulva.json +++ /dev/null @@ -1,1206 +0,0 @@ -{ - "id" : "vulva", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Vulva", - "title" : "Vulva (including Skin of Vulva) (excluding Malignant Melanoma, Merkel Cell Carcinoma, Kaposi Sarcoma, Mycosis Fungoides, Sezary Disease, and Other Lymphomas)", - "notes" : "DISCONTINUED SITE-SPECIFIC FACTORS: SSF12, SSF13, SSF14, SSF15\n\nC51.0 - Labium majus\nC51.1 - Labium minus\nC51.2 - Clitoris\nC51.8 - Overlapping lesion of vulva\nC51.9 - Vulva, NOS\n\n**Note 1**: This schema includes skin of Vulva but is NOT used for Malignant Melanoma, Merkel Cell Carcinoma, Kaposi Sarcoma, Mycosis Fungoides, Sezary Disease, or Other Lymphomas. Each of these diseases has a separate schema.\n\n**Note 2**: Involvement of the vulva and perineum should be assigned to vulva as the primary site in the absence of a statement that the tumor extended from the perineum to the vulva. Collaborative Stage only includes C51.0-C51.9 (vulva) and does not include primaries of the perineum in this schema. Basal and squamous cell carcinomas of the skin of the vulva are coded to C51.9 and are reportable; basal and squamous carcinomas of the skin of the perineum would be coded to C44.5 and would not be reportable.\n\n**Note 3**: AJCC TNM values correspond to the stages accepted by the Federation Internationale de Gynecologic et d'Obstetrique (FIGO). Note that FIGO uses a single stage value which corresponds to different groupings of T, N, and M values.", - "schema_num" : 107, - "schema_selection_table" : "schema_selection_vulva", - "inputs" : [ { - "key" : "site", - "name" : "Primary Site", - "description" : "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "description" : "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "description" : "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "cs_year_validation", - "used_for_staging" : true - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "description" : "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item" : 2935, - "naaccr_xml_id" : "csVersionInputOriginal", - "table" : "cs_input_version_original", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior ICD-O-3", - "description" : "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : false - }, { - "key" : "grade", - "name" : "Grade", - "description" : "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item" : 440, - "naaccr_xml_id" : "grade", - "table" : "grade", - "used_for_staging" : false - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "description" : "Age of the patient at diagnosis in complete years.", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "used_for_staging" : false - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "description" : "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item" : 1182, - "naaccr_xml_id" : "lymphVascularInvasion", - "default" : "8", - "table" : "lvi", - "used_for_staging" : false - }, { - "key" : "size", - "name" : "CS Tumor Size", - "description" : "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item" : 2800, - "naaccr_xml_id" : "csTumorSize", - "default" : "999", - "table" : "size_app", - "used_for_staging" : true - }, { - "key" : "extension", - "name" : "CS Extension", - "description" : "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item" : 2810, - "naaccr_xml_id" : "csExtension", - "default" : "999", - "table" : "extension_bbi", - "used_for_staging" : true - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "description" : "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item" : 2820, - "naaccr_xml_id" : "csTumorSizeExtEval", - "default" : "9", - "table" : "extension_eval_cpa", - "used_for_staging" : true - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "description" : "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item" : 2830, - "naaccr_xml_id" : "csLymphNodes", - "default" : "999", - "table" : "nodes_dbb", - "used_for_staging" : true - }, { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "description" : "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item" : 2840, - "naaccr_xml_id" : "csLymphNodesEval", - "default" : "9", - "table" : "nodes_eval_epa", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "description" : "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : false - }, { - "key" : "nodes_exam", - "name" : "Regional Nodes Examined", - "description" : "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item" : 830, - "naaccr_xml_id" : "regionalNodesExamined", - "default" : "99", - "table" : "nodes_exam_gpa", - "used_for_staging" : false - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "description" : "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item" : 2850, - "naaccr_xml_id" : "csMetsAtDx", - "default" : "99", - "table" : "mets_hba", - "used_for_staging" : true - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "description" : "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item" : 2860, - "naaccr_xml_id" : "csMetsEval", - "default" : "9", - "table" : "mets_eval_ipa", - "used_for_staging" : true - }, { - "key" : "ssf1", - "name" : "CS Site-Specific Factor 1", - "naaccr_item" : 2880, - "naaccr_xml_id" : "csSiteSpecificFactor1", - "default" : "988", - "table" : "ssf1_jna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf2", - "name" : "CS Site-Specific Factor 2", - "naaccr_item" : 2890, - "naaccr_xml_id" : "csSiteSpecificFactor2", - "default" : "988", - "table" : "ssf2_kna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf3", - "name" : "CS Site-Specific Factor 3", - "naaccr_item" : 2900, - "naaccr_xml_id" : "csSiteSpecificFactor3", - "default" : "988", - "table" : "ssf3_lna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf4", - "name" : "CS Site-Specific Factor 4", - "naaccr_item" : 2910, - "naaccr_xml_id" : "csSiteSpecificFactor4", - "default" : "988", - "table" : "ssf4_mna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf5", - "name" : "CS Site-Specific Factor 5", - "naaccr_item" : 2920, - "naaccr_xml_id" : "csSiteSpecificFactor5", - "default" : "988", - "table" : "ssf5_nna", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf6", - "name" : "CS Site-Specific Factor 6", - "naaccr_item" : 2930, - "naaccr_xml_id" : "csSiteSpecificFactor6", - "default" : "988", - "table" : "ssf6_ona", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf7", - "name" : "CS Site-Specific Factor 7", - "naaccr_item" : 2861, - "naaccr_xml_id" : "csSiteSpecificFactor7", - "default" : "988", - "table" : "ssf7_snb", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf8", - "name" : "CS Site-Specific Factor 8", - "naaccr_item" : 2862, - "naaccr_xml_id" : "csSiteSpecificFactor8", - "default" : "988", - "table" : "ssf8_snc", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf9", - "name" : "CS Site-Specific Factor 9", - "naaccr_item" : 2863, - "naaccr_xml_id" : "csSiteSpecificFactor9", - "default" : "988", - "table" : "ssf9_snd", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf10", - "name" : "FIGO Stage", - "naaccr_item" : 2864, - "naaccr_xml_id" : "csSiteSpecificFactor10", - "default" : "988", - "table" : "ssf10_sex", - "used_for_staging" : false, - "metadata" : [ "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", "COC_CLINICALLY_SIGNIFICANT" ] - }, { - "key" : "ssf11", - "name" : "Regional Lymph Node - Laterality", - "naaccr_item" : 2865, - "naaccr_xml_id" : "csSiteSpecificFactor11", - "default" : "999", - "table" : "ssf11_srd", - "used_for_staging" : true, - "metadata" : [ "NPCR_REQUIRED_WHEN_AVAILABLE_2011_FORWARD", "CCCR_ESSENTIAL_FOR_TNM_CLASSIFICATION" ] - }, { - "key" : "ssf12", - "name" : "Pelvic Nodal Status", - "naaccr_item" : 2866, - "naaccr_xml_id" : "csSiteSpecificFactor12", - "default" : "988", - "table" : "ssf12_sez", - "used_for_staging" : false - }, { - "key" : "ssf13", - "name" : "Assessment Method of Pelvic Nodal Status", - "naaccr_item" : 2867, - "naaccr_xml_id" : "csSiteSpecificFactor13", - "default" : "988", - "table" : "ssf13_sfa", - "used_for_staging" : false - }, { - "key" : "ssf14", - "name" : "Femoral Inguinal Nodal Status", - "naaccr_item" : 2868, - "naaccr_xml_id" : "csSiteSpecificFactor14", - "default" : "988", - "table" : "ssf14_sfb", - "used_for_staging" : false - }, { - "key" : "ssf15", - "name" : "Assessment Method of Femoral Inguinal Nodal Status", - "naaccr_item" : 2869, - "naaccr_xml_id" : "csSiteSpecificFactor15", - "default" : "988", - "table" : "ssf15_sfc", - "used_for_staging" : false - }, { - "key" : "ssf16", - "name" : "CS Site-Specific Factor 16", - "naaccr_item" : 2870, - "naaccr_xml_id" : "csSiteSpecificFactor16", - "default" : "988", - "table" : "ssf16_snk", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf17", - "name" : "CS Site-Specific Factor 17", - "naaccr_item" : 2871, - "naaccr_xml_id" : "csSiteSpecificFactor17", - "default" : "988", - "table" : "ssf17_snl", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf18", - "name" : "CS Site-Specific Factor 18", - "naaccr_item" : 2872, - "naaccr_xml_id" : "csSiteSpecificFactor18", - "default" : "988", - "table" : "ssf18_snm", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf19", - "name" : "CS Site-Specific Factor 19", - "naaccr_item" : 2873, - "naaccr_xml_id" : "csSiteSpecificFactor19", - "default" : "988", - "table" : "ssf19_snn", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf20", - "name" : "CS Site-Specific Factor 20", - "naaccr_item" : 2874, - "naaccr_xml_id" : "csSiteSpecificFactor20", - "default" : "988", - "table" : "ssf20_sno", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf21", - "name" : "CS Site-Specific Factor 21", - "naaccr_item" : 2875, - "naaccr_xml_id" : "csSiteSpecificFactor21", - "default" : "988", - "table" : "ssf21_snp", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf22", - "name" : "CS Site-Specific Factor 22", - "naaccr_item" : 2876, - "naaccr_xml_id" : "csSiteSpecificFactor22", - "default" : "988", - "table" : "ssf22_snq", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf23", - "name" : "CS Site-Specific Factor 23", - "naaccr_item" : 2877, - "naaccr_xml_id" : "csSiteSpecificFactor23", - "default" : "988", - "table" : "ssf23_snr", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf24", - "name" : "CS Site-Specific Factor 24", - "naaccr_item" : 2878, - "naaccr_xml_id" : "csSiteSpecificFactor24", - "default" : "988", - "table" : "ssf24_sns", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - }, { - "key" : "ssf25", - "name" : "CS Site-Specific Factor 25", - "naaccr_item" : 2879, - "naaccr_xml_id" : "csSiteSpecificFactor25", - "default" : "988", - "table" : "ssf25_snt", - "used_for_staging" : false, - "metadata" : [ "UNDEFINED_SSF" ] - } ], - "outputs" : [ { - "key" : "schema_number", - "name" : "Schema Number", - "description" : "CS assigned schema number.", - "default" : "107" - }, { - "key" : "csver_derived", - "name" : "CS Version Derived", - "description" : "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item" : 2936, - "naaccr_xml_id" : "csVersionDerived", - "default" : "020550" - }, { - "key" : "ajcc6_t", - "name" : "AJCC6 T" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor" - }, { - "key" : "ajcc6_n", - "name" : "AJCC6 N" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor" - }, { - "key" : "ajcc6_m", - "name" : "AJCC6 M" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor" - }, { - "key" : "ajcc6_stage", - "name" : "AJCC6 Stage Group" - }, { - "key" : "ajcc7_t", - "name" : "AJCC7 T" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor" - }, { - "key" : "ajcc7_n", - "name" : "AJCC7 N" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor" - }, { - "key" : "ajcc7_m", - "name" : "AJCC7 M" - }, { - "key" : "ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor" - }, { - "key" : "ajcc7_stage", - "name" : "AJCC7 Stage Group" - }, { - "key" : "t77", - "name" : "Summary Stage T 1977" - }, { - "key" : "n77", - "name" : "Summary Stage N 1977" - }, { - "key" : "m77", - "name" : "Summary Stage M 1977" - }, { - "key" : "ss77", - "name" : "Summary Stage Group 1977" - }, { - "key" : "t2000", - "name" : "Summary Stage T 2000" - }, { - "key" : "n2000", - "name" : "Summary Stage N 2000" - }, { - "key" : "m2000", - "name" : "Summary Stage M 2000" - }, { - "key" : "ss2000", - "name" : "Summary Stage Group 2000" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 T (Storage)", - "naaccr_item" : 2940, - "naaccr_xml_id" : "derivedAjcc6T" - }, { - "key" : "stor_ajcc6_tdescriptor", - "name" : "AJCC6 T Descriptor (Storage)", - "naaccr_item" : 2950, - "naaccr_xml_id" : "derivedAjcc6TDescript" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 N (Storage)", - "naaccr_item" : 2960, - "naaccr_xml_id" : "derivedAjcc6N" - }, { - "key" : "stor_ajcc6_ndescriptor", - "name" : "AJCC6 N Descriptor (Storage)", - "naaccr_item" : 2970, - "naaccr_xml_id" : "derivedAjcc6NDescript" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 M (Storage)", - "naaccr_item" : 2980, - "naaccr_xml_id" : "derivedAjcc6M" - }, { - "key" : "stor_ajcc6_mdescriptor", - "name" : "AJCC6 M Descriptor (Storage)", - "naaccr_item" : 2990, - "naaccr_xml_id" : "derivedAjcc6MDescript" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Stage Group (Storage)", - "naaccr_item" : 3000, - "naaccr_xml_id" : "derivedAjcc6StageGrp" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 T (Storage)", - "naaccr_item" : 3400, - "naaccr_xml_id" : "derivedAjcc7T" - }, { - "key" : "stor_ajcc7_tdescriptor", - "name" : "AJCC7 T Descriptor (Storage)", - "naaccr_item" : 3402, - "naaccr_xml_id" : "derivedAjcc7TDescript" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 N (Storage)", - "naaccr_item" : 3410, - "naaccr_xml_id" : "derivedAjcc7N" - }, { - "key" : "stor_ajcc7_ndescriptor", - "name" : "AJCC7 N Descriptor (Storage)", - "naaccr_item" : 3412, - "naaccr_xml_id" : "derivedAjcc7NDescript" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 M (Storage)", - "naaccr_item" : 3420, - "naaccr_xml_id" : "derivedAjcc7M" - }, { - "key" : "stor_ajcc7_mdescriptor", - "name" : "AJCC7 M Descriptor (Storage)", - "naaccr_item" : 3422, - "naaccr_xml_id" : "derivedAjcc7MDescript" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Stage Group (Storage)", - "naaccr_item" : 3430, - "naaccr_xml_id" : "derivedAjcc7StageGrp" - }, { - "key" : "stor_ss77", - "name" : "Summary Stage Group 1977 (Storage)", - "naaccr_item" : 3010, - "naaccr_xml_id" : "derivedSs1977" - }, { - "key" : "stor_ss2000", - "name" : "Summary Stage Group 2000 (Storage)", - "naaccr_item" : 3020, - "naaccr_xml_id" : "derivedSs2000" - } ], - "mappings" : [ { - "id" : "mapping_t", - "name" : "T", - "initial_context" : [ { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc6_tdescriptor", - "value" : "ERROR" - }, { - "key" : "t2000" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "t77" - }, { - "key" : "ajcc7_tdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "ajcc7_t" - } ], - "tables" : [ { - "id" : "extension_bbi", - "inputs" : [ "extension", "size" ], - "outputs" : [ "t77", "t2000", "ajcc7_t", "ajcc6_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor" ], - "outputs" : [ "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc7_tdescriptor" - }, { - "from" : "tdescriptor", - "to" : "ajcc7_tdescriptor" - } ], - "inputs" : [ "ajcc7_tdescriptor", "ajcc7_t" ], - "outputs" : [ "ajcc7_tdescriptor", "stor_ajcc7_tdescriptor" ] - }, { - "id" : "ajcc7_t_codes", - "inputs" : [ "ajcc7_t" ], - "outputs" : [ "stor_ajcc7_t" ] - }, { - "id" : "extension_eval_cpa", - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - } ], - "inputs" : [ "extension_eval" ], - "outputs" : [ "ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_tdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor" ], - "outputs" : [ "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc_tdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_tdescriptor", - "to" : "tdescriptor" - } ], - "output_mapping" : [ { - "from" : "tdescriptor", - "to" : "ajcc6_tdescriptor" - }, { - "from" : "stor_tdescriptor", - "to" : "stor_ajcc6_tdescriptor" - } ], - "inputs" : [ "ajcc6_tdescriptor", "ajcc6_t" ], - "outputs" : [ "ajcc6_tdescriptor", "stor_ajcc6_tdescriptor" ] - }, { - "id" : "ajcc6_t_codes", - "inputs" : [ "ajcc6_t" ], - "outputs" : [ "stor_ajcc6_t" ] - } ] - }, { - "id" : "mapping_n", - "name" : "N", - "initial_context" : [ { - "key" : "stor_ajcc6_n" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "ajcc6_n" - }, { - "key" : "ajcc7_n" - }, { - "key" : "n2000" - }, { - "key" : "ajcc6_ndescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - }, { - "key" : "ajcc7_ndescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "nodes_dbb", - "inputs" : [ "nodes", "ssf11" ], - "outputs" : [ "ajcc7_n", "ajcc6_n", "n2000", "n77" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_ndescriptor" ], - "outputs" : [ "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc7_ndescriptor" - }, { - "from" : "ndescriptor", - "to" : "ajcc7_ndescriptor" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_ndescriptor" ], - "outputs" : [ "ajcc7_ndescriptor", "stor_ajcc7_ndescriptor" ] - }, { - "id" : "ajcc7_n_codes", - "inputs" : [ "ajcc7_n" ], - "outputs" : [ "stor_ajcc7_n" ] - }, { - "id" : "nodes_eval_epa", - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - } ], - "inputs" : [ "nodes_eval" ], - "outputs" : [ "ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_ndescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor" ], - "outputs" : [ "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc_ndescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_ndescriptor", - "to" : "ndescriptor" - } ], - "output_mapping" : [ { - "from" : "ndescriptor", - "to" : "ajcc6_ndescriptor" - }, { - "from" : "stor_ndescriptor", - "to" : "stor_ajcc6_ndescriptor" - } ], - "inputs" : [ "ajcc6_ndescriptor", "ajcc6_n" ], - "outputs" : [ "ajcc6_ndescriptor", "stor_ajcc6_ndescriptor" ] - }, { - "id" : "ajcc6_n_codes", - "inputs" : [ "ajcc6_n" ], - "outputs" : [ "stor_ajcc6_n" ] - } ] - }, { - "id" : "mapping_m", - "name" : "M", - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc7_m" - }, { - "key" : "m2000" - }, { - "key" : "ajcc6_m" - }, { - "key" : "ajcc7_m" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_mdescriptor", - "value" : "ERROR" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "ajcc7_mdescriptor", - "value" : "ERROR" - } ], - "tables" : [ { - "id" : "mets_hba", - "inputs" : [ "mets" ], - "outputs" : [ "ajcc7_m", "ajcc6_m", "m77", "m2000" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc7_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor" ], - "outputs" : [ "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc7_m", - "to" : "m" - }, { - "from" : "ajcc7_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc7_mdescriptor" - }, { - "from" : "mdescriptor", - "to" : "ajcc7_mdescriptor" - } ], - "inputs" : [ "ajcc7_mdescriptor", "ajcc7_m" ], - "outputs" : [ "ajcc7_mdescriptor", "stor_ajcc7_mdescriptor" ] - }, { - "id" : "ajcc7_m_codes", - "inputs" : [ "ajcc7_m" ], - "outputs" : [ "stor_ajcc7_m" ] - }, { - "id" : "mets_eval_ipa", - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - } ], - "inputs" : [ "mets_eval" ], - "outputs" : [ "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_descriptor_codes", - "input_mapping" : [ { - "from" : "ajcc6_mdescriptor", - "to" : "descriptor" - } ], - "output_mapping" : [ { - "from" : "stor_descriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor" ] - }, { - "id" : "ajcc_mdescriptor_cleanup", - "input_mapping" : [ { - "from" : "ajcc6_m", - "to" : "m" - }, { - "from" : "ajcc6_mdescriptor", - "to" : "mdescriptor" - } ], - "output_mapping" : [ { - "from" : "mdescriptor", - "to" : "ajcc6_mdescriptor" - }, { - "from" : "stor_mdescriptor", - "to" : "stor_ajcc6_mdescriptor" - } ], - "inputs" : [ "ajcc6_m", "ajcc6_mdescriptor" ], - "outputs" : [ "stor_ajcc6_mdescriptor", "ajcc6_mdescriptor" ] - }, { - "id" : "ajcc6_m_codes", - "inputs" : [ "ajcc6_m" ], - "outputs" : [ "stor_ajcc6_m" ] - } ] - }, { - "id" : "mapping_ajcc7", - "name" : "AJCC 7", - "inclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpq", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_stage" - } ], - "tables" : [ { - "id" : "ajcc7_stage_ubd", - "input_mapping" : [ { - "from" : "ajcc7_t", - "to" : "t" - }, { - "from" : "ajcc7_n", - "to" : "n" - }, { - "from" : "ajcc7_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc7_stage" - } ], - "inputs" : [ "ajcc7_n", "ajcc7_m", "ajcc7_t" ], - "outputs" : [ "ajcc7_stage" ] - }, { - "id" : "ajcc7_stage_codes", - "inputs" : [ "ajcc7_stage" ], - "outputs" : [ "stor_ajcc7_stage" ] - } ] - }, { - "id" : "mapping_ajcc7_excluded", - "name" : "AJCC 7 Excluded", - "exclusion_tables" : [ { - "id" : "ajcc7_inclusions_tpq", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_tdescriptor", - "value" : "N" - }, { - "key" : "stor_ajcc7_mdescriptor", - "value" : "N" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_stage", - "value" : "888" - }, { - "key" : "stor_ajcc7_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc7_t", - "value" : "NA" - }, { - "key" : "stor_ajcc7_t", - "value" : "888" - }, { - "key" : "ajcc7_n", - "value" : "NA" - }, { - "key" : "stor_ajcc7_n", - "value" : "888" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "stor_ajcc7_m", - "value" : "888" - }, { - "key" : "ajcc7_stage", - "value" : "NA" - }, { - "key" : "ajcc7_m", - "value" : "NA" - } ] - }, { - "id" : "mapping_ajcc6", - "name" : "AJCC 6", - "exclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_stage" - } ], - "tables" : [ { - "id" : "ajcc6_stage_qpu", - "input_mapping" : [ { - "from" : "ajcc6_t", - "to" : "t" - }, { - "from" : "ajcc6_n", - "to" : "n" - }, { - "from" : "ajcc6_m", - "to" : "m" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ajcc6_stage" - } ], - "inputs" : [ "ajcc6_n", "ajcc6_m", "ajcc6_t" ], - "outputs" : [ "ajcc6_stage" ] - }, { - "id" : "ajcc6_stage_codes", - "inputs" : [ "ajcc6_stage" ], - "outputs" : [ "stor_ajcc6_stage" ] - } ] - }, { - "id" : "mapping_ajcc6_included", - "name" : "AJCC 6 Included", - "inclusion_tables" : [ { - "id" : "ajcc6_exclusions_ppd", - "inputs" : [ "hist" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m", - "value" : "88" - }, { - "key" : "stor_ajcc6_n", - "value" : "88" - }, { - "key" : "stor_ajcc6_tdescriptor", - "value" : "N" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "stor_ajcc6_ndescriptor", - "value" : "N" - }, { - "key" : "ajcc6_t", - "value" : "NA" - }, { - "key" : "ajcc6_stage", - "value" : "NA" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_stage", - "value" : "88" - }, { - "key" : "ajcc6_m", - "value" : "NA" - }, { - "key" : "stor_ajcc6_t", - "value" : "88" - }, { - "key" : "ajcc6_n", - "value" : "NA" - }, { - "key" : "stor_ajcc6_mdescriptor", - "value" : "N" - } ] - }, { - "id" : "mapping_summary_stage", - "name" : "Summary Stage", - "tables" : [ { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "n77", - "to" : "n" - }, { - "from" : "m77", - "to" : "m" - }, { - "from" : "t77", - "to" : "t" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss77" - } ], - "inputs" : [ "t77", "m77", "n77" ], - "outputs" : [ "ss77" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss77", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss77" - } ], - "inputs" : [ "ss77" ], - "outputs" : [ "stor_ss77" ] - }, { - "id" : "summary_stage_rpa", - "input_mapping" : [ { - "from" : "m2000", - "to" : "m" - }, { - "from" : "t2000", - "to" : "t" - }, { - "from" : "n2000", - "to" : "n" - } ], - "output_mapping" : [ { - "from" : "stage", - "to" : "ss2000" - } ], - "inputs" : [ "t2000", "n2000", "m2000" ], - "outputs" : [ "ss2000" ] - }, { - "id" : "ss_codes", - "input_mapping" : [ { - "from" : "ss2000", - "to" : "ss" - } ], - "output_mapping" : [ { - "from" : "stor_ss", - "to" : "stor_ss2000" - } ], - "inputs" : [ "ss2000" ], - "outputs" : [ "stor_ss2000" ] - } ] - }, { - "id" : "mapping_ajcc7_invalid_year", - "name" : "Validate AJCC7 Year", - "exclusion_tables" : [ { - "id" : "ajcc7_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc7_m" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc7_m" - }, { - "key" : "ajcc7_n" - }, { - "key" : "ajcc7_mdescriptor" - }, { - "key" : "ajcc7_stage" - }, { - "key" : "stor_ajcc7_mdescriptor" - }, { - "key" : "stor_ajcc7_tdescriptor" - }, { - "key" : "ajcc7_tdescriptor" - }, { - "key" : "stor_ajcc7_t" - }, { - "key" : "ajcc7_ndescriptor" - }, { - "key" : "ajcc7_t" - }, { - "key" : "stor_ajcc7_n" - }, { - "key" : "stor_ajcc7_ndescriptor" - } ] - }, { - "id" : "mapping_ajcc6_invalid_year", - "name" : "Validate AJCC6 Year", - "exclusion_tables" : [ { - "id" : "ajcc6_year_validation", - "inputs" : [ "year_dx", "cs_input_version_original" ] - } ], - "initial_context" : [ { - "key" : "stor_ajcc6_m" - }, { - "key" : "stor_ajcc6_ndescriptor" - }, { - "key" : "n77" - }, { - "key" : "stor_ajcc7_stage" - }, { - "key" : "ajcc6_m" - }, { - "key" : "t2000" - }, { - "key" : "ss77" - }, { - "key" : "stor_ss77" - }, { - "key" : "ajcc6_tdescriptor" - }, { - "key" : "t77" - }, { - "key" : "stor_ajcc6_stage" - }, { - "key" : "n2000" - }, { - "key" : "stor_ajcc6_t" - }, { - "key" : "ajcc6_t" - }, { - "key" : "stor_ajcc6_n" - }, { - "key" : "m2000" - }, { - "key" : "ss2000" - }, { - "key" : "ajcc6_ndescriptor" - }, { - "key" : "ajcc6_n" - }, { - "key" : "m77" - }, { - "key" : "ajcc6_stage" - }, { - "key" : "stor_ajcc6_mdescriptor" - }, { - "key" : "stor_ajcc6_tdescriptor" - }, { - "key" : "ajcc6_mdescriptor" - }, { - "key" : "stor_ss2000" - } ] - } ], - "involved_tables" : [ "schema_selection_vulva", "ssf2_kna", "ajcc6_exclusions_ppd", "extension_size_ajcc7_xbl", "ssf25_snt", "ssf15_sfc", "ajcc7_t_codes", "ssf23_snr", "histology", "ajcc6_stage_qpu", "cs_input_version_original", "extension_bbi", "ssf22_snq", "lvi", "ssf14_sfb", "ajcc_tdescriptor_cleanup", "ssf4_mna", "ajcc7_year_validation", "ssf21_snp", "ssf17_snl", "ajcc_descriptor_codes", "grade", "summary_stage_rpa", "ajcc7_m_codes", "ajcc7_inclusions_tpq", "ssf20_sno", "ajcc_ndescriptor_cleanup", "ssf16_snk", "nodes_dbb", "ssf10_sex", "ssf1_jna", "ajcc6_t_codes", "nodes_pos_fpa", "ajcc_mdescriptor_cleanup", "ssf7_snb", "ssf3_lna", "ss_codes", "ssf11_srd", "ssf6_ona", "nodes_exam_gpa", "mets_hba", "ajcc6_n_codes", "extension_size_ajcc6_xqc", "behavior", "ssf18_snm", "mets_eval_ipa", "size_app", "extension_eval_cpa", "ajcc7_n_codes", "ajcc6_stage_codes", "ssf5_nna", "ssf19_snn", "ajcc7_stage_codes", "ssf13_sfa", "ssf9_snd", "lymph_nodes_ssf11_ajcc6_xqd", "primary_site", "ajcc6_year_validation", "ajcc6_m_codes", "nodes_eval_epa", "ajcc7_stage_ubd", "cs_year_validation", "ssf12_sez", "ssf24_sns", "ssf8_snc" ], - "last_modified" : "2020-06-30T19:47:38.161Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paa.json deleted file mode 100644 index eb161e517..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paa.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ajcc6_exclusions_paa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Exclusions", - "title" : "Histology Exclusion Table AJCC 6th ed.", - "notes" : "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. For these cases, displayed results will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified" : "2015-05-27T16:18:46.272Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8240", "1", "Carcinoid tumor of uncertain malignant potential" ], [ "8240", "3", "Carcinoid tumor, NOS (except of appendix M-8240/1)" ], [ "8241", "3", "Enterochromaffin cell carcinoid" ], [ "8242", "1", "Enterochromaffin-like cell carcinoid, NOS" ], [ "8242", "3", "Enterochromaffin-like cell tumor, malignant" ], [ "8243", "3", "Goblet cell carcinoid" ], [ "8248", "1", "Apudoma" ], [ "8680", "0", "Paraganglioma, benign" ], [ "8680", "1", "Paraganglioma, NOS" ], [ "8680", "3", "Paraganglioma, malignant" ], [ "8681", "1", "Sympathetic paraganglioma" ], [ "8682", "1", "Parasympathetic paraganglioma" ], [ "8683", "0", "Gangliocytic paraganglioma (C17.0)" ], [ "8690", "1", "Glomus jugulare tumor, NOS (C75.5)" ], [ "8691", "1", "Aortic body tumor (C75.5)" ], [ "8692", "1", "Carotid body tumor (C75.4)" ], [ "8693", "1", "Extra-adrenal paraganglioma, NOS" ], [ "8693", "3", "Extra-adrenal paraganglioma, malignant" ], [ "8700", "0", "Pheochromocytoma, NOS (C74.1)" ], [ "8700", "3", "Pheochromocytoma, malignant (C74.1)" ], [ "8710", "3", "Glomangiosarcoma" ], [ "8711", "0", "Glomus tumor, NOS" ], [ "8711", "3", "Glomus tumor, malignant" ], [ "8712", "0", "Glomangioma" ], [ "8713", "0", "Glomangiomyoma" ], [ "8800", "0", "Soft tissue tumor, benign" ], [ "8800", "3", "Sarcoma, NOS" ], [ "8800", "9", "Sarcomatosis, NOS" ], [ "8801", "3", "Spindle cell sarcoma" ], [ "8802", "3", "Giant cell sarcoma (except of bone M-9250/3)" ], [ "8803", "3", "Small cell sarcoma" ], [ "8804", "3", "Epithelioid sarcoma" ], [ "8805", "3", "Undifferentiated sarcoma" ], [ "8806", "3", "Desmoplastic small round cell tumor" ], [ "8810", "0", "Fibroma, NOS" ], [ "8810", "1", "Cellular fibroma (C56.9)" ], [ "8810", "3", "Fibrosarcoma, NOS" ], [ "8811", "0", "Fibromyxoma" ], [ "8811", "3", "Fibromyxosarcoma" ], [ "8812", "0", "Periosteal fibroma (C40._, C41._)" ], [ "8812", "3", "Periosteal fibrosarcoma (C40._, C41._)" ], [ "8813", "0", "Fascial fibroma" ], [ "8813", "3", "Fascial fibrosarcoma" ], [ "8814", "3", "Infantile fibrosarcoma" ], [ "8815", "0", "Solitary fibrous tumor" ], [ "8815", "3", "Solitary fibrous tumor, malignant" ], [ "8820", "0", "Elastofibroma" ], [ "8821", "1", "Aggressive fibromatosis" ], [ "8822", "1", "Abdominal fibromatosis" ], [ "8823", "0", "Desmoplastic fibroma" ], [ "8824", "0", "Myofibroma" ], [ "8824", "1", "Myofibromatosis" ], [ "8825", "0", "Myofibroblastoma" ], [ "8825", "1", "Myofibroblastic tumor, NOS" ], [ "8826", "0", "Angiomyofibroblastoma" ], [ "8827", "1", "Myofibroblastic tumor, peribronchial (C34._)" ], [ "8830", "0", "Benign fibrous histiocytoma" ], [ "8830", "1", "Atypical fibrous histiocytoma" ], [ "8830", "3", "Malignant fibrous histiocytoma" ], [ "8831", "0", "Histiocytoma, NOS" ], [ "8832", "0", "Dermatofibroma, NOS (C44._)" ], [ "8832", "3", "Dermatofibrosarcoma, NOS (C44._)" ], [ "8833", "3", "Pigmented dermatofibrosarcoma protuberans (C44._)" ], [ "8834", "1", "Giant cell fibroblastoma" ], [ "8835", "1", "Plexiform fibrohistiocytic tumor" ], [ "8836", "1", "Angiomatoid fibrous histiocytoma" ], [ "8840", "0", "Myxoma, NOS" ], [ "8840", "3", "Myxosarcoma" ], [ "8841", "1", "Angiomyxoma" ], [ "8842", "0", "Ossifying fibromyxoid tumor" ], [ "8850", "0", "Lipoma, NOS" ], [ "8850", "1", "Atypical lipoma" ], [ "8850", "3", "Liposarcoma, NOS" ], [ "8851", "0", "Fibrolipoma" ], [ "8851", "3", "Liposarcoma, well differentiated" ], [ "8852", "0", "Fibromyxolipoma" ], [ "8852", "3", "Myxoid liposarcoma" ], [ "8853", "3", "Round cell liposarcoma" ], [ "8854", "0", "Pleomorphic lipoma" ], [ "8854", "3", "Pleomorphic liposarcoma" ], [ "8855", "3", "Mixed liposarcoma" ], [ "8856", "0", "Intramuscular lipoma" ], [ "8857", "0", "Spindle cell lipoma" ], [ "8857", "3", "Fibroblastic liposarcoma" ], [ "8858", "3", "Dedifferentiated liposarcoma" ], [ "8860", "0", "Angiomyolipoma" ], [ "8861", "0", "Angiolipoma, NOS" ], [ "8862", "0", "Chondroid lipoma" ], [ "8870", "0", "Myelolipoma" ], [ "8880", "0", "Hibernoma" ], [ "8881", "0", "Lipoblastomatosis" ], [ "8890", "0", "Leiomyoma, NOS" ], [ "8890", "1", "Leiomyomatosis, NOS" ], [ "8890", "3", "Leiomyosarcoma, NOS" ], [ "8891", "0", "Epithelioid leiomyoma" ], [ "8891", "3", "Epithelioid leiomyosarcoma" ], [ "8892", "0", "Cellular leiomyoma" ], [ "8893", "0", "Bizarre leiomyoma" ], [ "8894", "0", "Angiomyoma" ], [ "8894", "3", "Angiomyosarcoma" ], [ "8895", "0", "Myoma" ], [ "8895", "3", "Myosarcoma" ], [ "8896", "3", "Myxoid leiomyosarcoma" ], [ "8897", "1", "Smooth muscle tumor of uncertain malignant potential" ], [ "8898", "1", "Metastasizing leiomyoma" ], [ "8900", "0", "Rhabdomyoma, NOS" ], [ "8900", "3", "Rhabdomyosarcoma, NOS" ], [ "8901", "3", "Pleomorphic rhabdomyosarcoma, adult type" ], [ "8902", "3", "Mixed type rhabdomyosarcoma" ], [ "8903", "0", "Fetal rhabdomyoma" ], [ "8904", "0", "Adult rhabdomyoma" ], [ "8905", "0", "Genital rhabdomyoma (C51._, C52.9)" ], [ "8910", "3", "Embryonal rhabdomyosarcoma, NOS" ], [ "8912", "3", "Spindle cell rhabdomyosarcoma" ], [ "8920", "3", "Alveolar rhabdomyosarcoma" ], [ "8921", "3", "Rhabdomyosarcoma with ganglionic differentiation" ], [ "8930", "0", "Endometrial stromal nodule (C54.1)" ], [ "8930", "3", "Endometrial stromal sarcoma, NOS (C54.1)" ], [ "8931", "3", "Endometrial stromal sarcoma, low grade (C54.1)" ], [ "8932", "0", "Adenomyoma" ], [ "8933", "3", "Adenosarcoma" ], [ "8934", "3", "Carcinofibroma" ], [ "8935", "0", "Stromal tumor, benign" ], [ "8935", "1", "Stromal tumor, NOS" ], [ "8935", "3", "Stromal sarcoma, NOS" ], [ "8936", "0", "Gastrointestinal stromal tumor, benign" ], [ "8936", "1", "Gastrointestinal stromal tumor, NOS" ], [ "8936", "3", "Gastrointestinal stromal sarcoma" ], [ "8950", "3", "Mullerian mixed tumor (C54._)" ], [ "8951", "3", "Mesodermal mixed tumor" ], [ "8959", "0", "Benign cystic nephroma (C64.9)" ], [ "8959", "1", "Cystic partially differentiated nephroblastoma (C64.9)" ], [ "8959", "3", "Malignant cystic nephroma (C64.9)" ], [ "8960", "1", "Mesoblastic nephroma" ], [ "8960", "3", "Nephroblastoma, NOS (C64.9)" ], [ "8963", "3", "Malignant rhabdoid tumor" ], [ "8964", "3", "Clear cell sarcoma of kidney (C64.9)" ], [ "8965", "0", "Nephrogenic adenofibroma (C64.9)" ], [ "8966", "0", "Renomedullary interstitial cell tumor (C64.9)" ], [ "8967", "0", "Ossifying renal tumor (C64.9)" ], [ "8970", "3", "Hepatoblastoma (C22.0)" ], [ "8971", "3", "Pancreatoblastoma (C25._)" ], [ "8972", "3", "Pulmonary blastoma (C34._)" ], [ "8973", "3", "Pleuropulmonary blastoma" ], [ "8974", "1", "Sialoblastoma" ], [ "8980", "3", "Carcinosarcoma, NOS" ], [ "8981", "3", "Carcinosarcoma, embryonal" ], [ "8982", "0", "Myoepithelioma" ], [ "8982", "3", "Malignant myoepithelioma" ], [ "8983", "0", "Adenomyoepithelioma (C50._)" ], [ "8990", "0", "Mesenchymoma, benign" ], [ "8990", "1", "Mesenchymoma, NOS" ], [ "8990", "3", "Mesenchymoma, malignant" ], [ "8991", "3", "Embryonal sarcoma" ], [ "9000", "0", "Brenner tumor, NOS (C56.9)" ], [ "9000", "1", "Brenner tumor, borderline malignancy (C56.9)" ], [ "9000", "3", "Brenner tumor, malignant (C56.9)" ], [ "9010", "0", "Fibroadenoma, NOS (C50._)" ], [ "9011", "0", "Intracanalicular fibroadenoma (C50._)" ], [ "9012", "0", "Pericanalicular fibroadenoma (C50._)" ], [ "9013", "0", "Adenofibroma, NOS" ], [ "9014", "0", "Serous adenofibroma, NOS" ], [ "9014", "1", "Serous adenofibroma of borderline malignancy" ], [ "9014", "3", "Serous adenocarcinofibroma" ], [ "9015", "0", "Mucinous adenofibroma, NOS" ], [ "9015", "1", "Mucinous adenofibroma of borderline malignancy" ], [ "9015", "3", "Mucinous adenocarcinofibroma" ], [ "9016", "0", "Giant fibroadenoma (C50._)" ], [ "9020", "0", "Phyllodes tumor, benign (C50._)" ], [ "9020", "1", "Phyllodes tumor, borderline (C50._)" ], [ "9020", "3", "Phyllodes tumor, malignant (C50._)" ], [ "9030", "0", "Juvenile fibroadenoma (C50._)" ], [ "9040", "0", "Synovioma, benign" ], [ "9040", "3", "Synovial sarcoma, NOS" ], [ "9041", "3", "Synovial sarcoma, spindle cell" ], [ "9042", "3", "Synovial sarcoma, epithelioid cell" ], [ "9043", "3", "Synovial sarcoma, biphasic" ], [ "9044", "3", "Clear cell sarcoma, NOS (except of kidney M-8964/3)" ], [ "9050", "0", "Mesothelioma, benign" ], [ "9050", "3", "Mesothelioma, malignant" ], [ "9051", "0", "Fibrous mesothelioma, benign" ], [ "9051", "3", "Fibrous mesothelioma, malignant" ], [ "9052", "0", "Epithelioid mesothelioma, benign" ], [ "9052", "3", "Epithelioid mesothelioma, malignant" ], [ "9053", "3", "Mesothelioma, biphasic, malignant" ], [ "9054", "0", "Adenomatoid tumor, NOS" ], [ "9055", "0", "Multicystic mesothelioma, benign" ], [ "9055", "1", "Cystic mesothelioma, NOS (C48._)" ], [ "9060", "3", "Dysgerminoma" ], [ "9061", "3", "Seminoma, NOS (C62._)" ], [ "9062", "3", "Seminoma, anaplastic (C62._)" ], [ "9063", "3", "Spermatocytic seminoma (C62._)" ], [ "9064", "2", "Intratubular malignant germ cells (C62._)" ], [ "9064", "3", "Germinoma" ], [ "9065", "3", "Germ cell tumor, nonseminomatous (C62._)" ], [ "9070", "3", "Embryonal carcinoma, NOS" ], [ "9071", "3", "Yolk sac tumor" ], [ "9072", "3", "Polyembryoma" ], [ "9073", "1", "Gonadoblastoma" ], [ "9080", "0", "Teratoma, benign" ], [ "9080", "1", "Teratoma, NOS" ], [ "9080", "3", "Teratoma, malignant, NOS" ], [ "9081", "3", "Teratocarcinoma" ], [ "9082", "3", "Malignant teratoma, undifferentiated" ], [ "9083", "3", "Malignant teratoma, intermediate" ], [ "9084", "0", "Dermoid cyst, NOS" ], [ "9084", "3", "Teratoma with malignant transformation" ], [ "9085", "3", "Mixed germ cell tumor" ], [ "9090", "0", "Struma ovarii, NOS (C56.9)" ], [ "9090", "3", "Struma ovarii, malignant (C56.9)" ], [ "9091", "1", "Strumal carcinoid (C56.9)" ], [ "9100", "0", "Hydatidiform mole, NOS (C58.9)" ], [ "9100", "1", "Invasive hydatidiform mole (C58.9)" ], [ "9100", "3", "Choriocarcinoma, NOS" ], [ "9101", "3", "Choriocarcinoma combined with other germ cell elements" ], [ "9102", "3", "Malignant teratoma, trophoblastic" ], [ "9103", "0", "Partial hydatidiform mole (C58.9)" ], [ "9104", "1", "Placental site trophoblastic tumor (C58.9)" ], [ "9105", "3", "Trophoblastic tumor, epithelioid" ], [ "9110", "0", "Mesonephroma, benign" ], [ "9110", "1", "Mesonephric tumor, NOS" ], [ "9110", "3", "Mesonephroma, malignant" ], [ "9120", "0", "Hemangioma, NOS" ], [ "9120", "3", "Hemangiosarcoma" ], [ "9121", "0", "Cavernous hemangioma" ], [ "9122", "0", "Venous hemangioma" ], [ "9123", "0", "Racemose hemangioma" ], [ "9124", "3", "Kupffer cell sarcoma (C22.0)" ], [ "9125", "0", "Epithelioid hemangioma" ], [ "9130", "0", "Hemangioendothelioma, benign" ], [ "9130", "1", "Hemangioendothelioma, NOS" ], [ "9130", "3", "Hemangioendothelioma, malignant" ], [ "9131", "0", "Capillary hemangioma" ], [ "9132", "0", "Intramuscular hemangioma" ], [ "9133", "1", "Epithelioid hemangioendothelioma, NOS" ], [ "9133", "3", "Epithelioid hemangioendothelioma, malignant" ], [ "9135", "1", "Endovascular papillary angioendothelioma" ], [ "9136", "1", "Spindle cell hemangioendothelioma" ], [ "9140", "3", "Kaposi sarcoma" ], [ "9141", "0", "Angiokeratoma" ], [ "9142", "0", "Verrucous keratotic hemangioma" ], [ "9150", "0", "Hemangiopericytoma, benign" ], [ "9150", "1", "Hemangiopericytoma, NOS" ], [ "9150", "3", "Hemangiopericytoma, malignant" ], [ "9160", "0", "Angiofibroma, NOS" ], [ "9161", "0", "Acquired tufted hemangioma" ], [ "9161", "1", "Hemangioblastoma" ], [ "9170", "0", "Lymphangioma, NOS" ], [ "9170", "3", "Lymphangiosarcoma" ], [ "9171", "0", "Capillary lymphangioma" ], [ "9172", "0", "Cavernous lymphangioma" ], [ "9173", "0", "Cystic lymphangioma" ], [ "9174", "0", "Lymphangiomyoma" ], [ "9174", "1", "Lymphangiomyomatosis" ], [ "9175", "0", "Hemolymphangioma" ], [ "9180", "0", "Osteoma, NOS (C40._, C41._)" ], [ "9180", "3", "Osteosarcoma, NOS (C40._, C41._)" ], [ "9181", "3", "Chondroblastic osteosarcoma (C40._, C41._)" ], [ "9182", "3", "Fibroblastic osteosarcoma (C40._, C41._)" ], [ "9183", "3", "Telangiectatic osteosarcoma (C40._, C41._)" ], [ "9184", "3", "Osteosarcoma in Paget disease of bone (C40._, C41._)" ], [ "9185", "3", "Small cell osteosarcoma (C40._, C41._)" ], [ "9186", "3", "Central osteosarcoma (C40._, C41._)" ], [ "9187", "3", "Intraosseous well differentiated osteosarcoma (C40._, C41._)" ], [ "9191", "0", "Osteoid osteoma, NOS (C40._, C41._)" ], [ "9192", "3", "Parosteal osteosarcoma (C40._, C41._)" ], [ "9193", "3", "Periosteal osteosarcoma (C40._, C41._)" ], [ "9194", "3", "High grade surface osteosarcoma (C40._, C41._)" ], [ "9195", "3", "Intracortical osteosarcoma (C40._, C41._)" ], [ "9200", "0", "Osteoblastoma, NOS (C40._, C41._)" ], [ "9200", "1", "Aggressive osteoblastoma (C40._, C41._)" ], [ "9210", "0", "Osteochondroma (C40._, C41._)" ], [ "9210", "1", "Osteochondromatosis, NOS (C40._, C41._)" ], [ "9220", "0", "Chondroma, NOS (C40._, C41._)" ], [ "9220", "1", "Chondromatosis, NOS" ], [ "9220", "3", "Chondrosarcoma, NOS (C40._, C41._)" ], [ "9221", "0", "Juxtacortical chondroma (C40._, C41._)" ], [ "9221", "3", "Juxtacortical chondrosarcoma (C40._, C41._)" ], [ "9230", "0", "Chondroblastoma, NOS (C40._, C41._)" ], [ "9230", "3", "Chondroblastoma, malignant (C40._, C41._)" ], [ "9231", "3", "Myxoid chondrosarcoma" ], [ "9240", "3", "Mesenchymal chondrosarcoma" ], [ "9241", "0", "Chondromyxoid fibroma (C40._, C41._)" ], [ "9242", "3", "Clear cell chondrosarcoma (C40._, C41._)" ], [ "9243", "3", "Dedifferentiated chondrosarcoma (C40._, C41._)" ], [ "9250", "1", "Giant cell tumor of bone, NOS (C40._, C41._)" ], [ "9250", "3", "Giant cell tumor of bone, malignant (C40._, C41._)" ], [ "9251", "1", "Giant cell tumor of soft parts, NOS" ], [ "9251", "3", "Malignant giant cell tumor of soft parts" ], [ "9252", "0", "Tenosynovial giant cell tumor (C49._)" ], [ "9252", "3", "Malignant tenosynovial giant cell tumor (C49._)" ], [ "9260", "3", "Ewing sarcoma" ], [ "9261", "3", "Adamantinoma of long bones (C40._)" ], [ "9262", "0", "Ossifying fibroma" ], [ "9270", "0", "Odontogenic tumor, benign" ], [ "9270", "1", "Odontogenic tumor, NOS" ], [ "9270", "3", "Odontogenic tumor, malignant" ], [ "9271", "0", "Ameloblastic fibrodentinoma" ], [ "9272", "0", "Cementoma, NOS" ], [ "9273", "0", "Cementoblastoma, benign" ], [ "9274", "0", "Cementifying fibroma" ], [ "9275", "0", "Gigantiform cementoma" ], [ "9280", "0", "Odontoma, NOS" ], [ "9281", "0", "Compound odontoma" ], [ "9282", "0", "Complex odontoma" ], [ "9290", "0", "Ameloblastic fibro-odontoma" ], [ "9290", "3", "Ameloblastic odontosarcoma" ], [ "9300", "0", "Adenomatoid odontogenic tumor" ], [ "9301", "0", "Calcifying odontogenic cyst" ], [ "9302", "0", "Odontogenic ghost cell tumor" ], [ "9310", "0", "Ameloblastoma, NOS" ], [ "9310", "3", "Ameloblastoma, malignant" ], [ "9311", "0", "Odontoameloblastoma" ], [ "9312", "0", "Squamous odontogenic tumor" ], [ "9320", "0", "Odontogenic myxoma" ], [ "9321", "0", "Central odontogenic fibroma" ], [ "9322", "0", "Peripheral odontogenic fibroma" ], [ "9330", "0", "Ameloblastic fibroma" ], [ "9330", "3", "Ameloblastic fibrosarcoma" ], [ "9340", "0", "Calcifying epithelial odontogenic tumor" ], [ "9341", "1", "Clear cell odontogenic tumor" ], [ "9342", "3", "Odontogenic carcinosarcoma" ], [ "9350", "1", "Craniopharyngioma (C75.2)" ], [ "9351", "1", "Craniopharyngioma, adamantinomatous (C75.2)" ], [ "9352", "1", "Craniopharyngioma, papillary (C75.2)" ], [ "9360", "1", "Pinealoma (C75.3)" ], [ "9361", "1", "Pineocytoma (C75.3)" ], [ "9362", "3", "Pineoblastoma (C75.3)" ], [ "9363", "0", "Melanotic neuroectodermal tumor" ], [ "9364", "3", "Peripheral neuroectodermal tumor" ], [ "9365", "3", "Askin tumor" ], [ "9370", "3", "Chordoma, NOS" ], [ "9371", "3", "Chondroid chordoma" ], [ "9372", "3", "Dedifferentiated chordoma" ], [ "9373", "0", "Parachordoma" ], [ "9380", "3", "Glioma, malignant (C71._)" ], [ "9381", "3", "Gliomatosis cerebri (C71._)" ], [ "9382", "3", "Mixed glioma (C71._)" ], [ "9383", "1", "Subependymoma (C71._)" ], [ "9384", "1", "Subependymal giant cell astrocytoma (C71._)" ], [ "9390", "0", "Choroid plexus papilloma, NOS (C71.5)" ], [ "9390", "1", "Atypical choroid plexus papilloma (C71.5)" ], [ "9390", "3", "Choroid plexus carcinoma (C71.5)" ], [ "9391", "3", "Ependymoma, NOS (C71._)" ], [ "9392", "3", "Ependymoma, anaplastic (C71._)" ], [ "9393", "3", "Papillary ependymoma (C71._)" ], [ "9394", "1", "Myxopapillary ependymoma (C72.0)" ], [ "9400", "3", "Astrocytoma, NOS (C71._)" ], [ "9401", "3", "Astrocytoma, anaplastic (C71._)" ], [ "9410", "3", "Protoplasmic astrocytoma (C71._)" ], [ "9411", "3", "Gemistocytic astrocytoma (C71._)" ], [ "9412", "1", "Desmoplastic infantile astrocytoma (C71._)" ], [ "9413", "0", "Dysembryoplastic neuroepithelial tumor" ], [ "9420", "3", "Fibrillary astrocytoma (C71._)" ], [ "9421", "1", "Pilocytic astrocytoma (C71._)" ], [ "9423", "3", "Polar spongioblastoma (C71._)" ], [ "9424", "3", "Pleomorphic xanthoastrocytoma (C71._)" ], [ "9430", "3", "Astroblastoma (C71._)" ], [ "9440", "3", "Glioblastoma, NOS (C71._)" ], [ "9441", "3", "Giant cell glioblastoma (C71._)" ], [ "9442", "1", "Gliofibroma (C71._)" ], [ "9442", "3", "Gliosarcoma (C71._)" ], [ "9444", "1", "Chordoid glioma (C71._)" ], [ "9450", "3", "Oligodendroglioma, NOS (C71._)" ], [ "9451", "3", "Oligodendroglioma, anaplastic (C71._)" ], [ "9460", "3", "Oligodendroblastoma (C71._) [obs]" ], [ "9470", "3", "Medulloblastoma, NOS (C71.6)" ], [ "9471", "3", "Desmoplastic nodular medulloblastoma (C71.6)" ], [ "9472", "3", "Medullomyoblastoma (C71.6)" ], [ "9473", "3", "Primitive neuroectodermal tumor, NOS" ], [ "9474", "3", "Large cell medulloblastoma (C71.6)" ], [ "9480", "3", "Cerebellar sarcoma, NOS (C71.6) [obs]" ], [ "9490", "0", "Ganglioneuroma" ], [ "9490", "3", "Ganglioneuroblastoma" ], [ "9491", "0", "Ganglioneuromatosis" ], [ "9492", "0", "Gangliocytoma" ], [ "9493", "0", "Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" ], [ "9500", "3", "Neuroblastoma, NOS" ], [ "9501", "0", "Medulloepithelioma, benign (C69.4)" ], [ "9501", "3", "Medulloepithelioma, NOS" ], [ "9502", "0", "Teratoid medulloepithelioma, benign (C69.4)" ], [ "9502", "3", "Teratoid medulloepithelioma" ], [ "9503", "3", "Neuroepithelioma, NOS" ], [ "9504", "3", "Spongioneuroblastoma" ], [ "9505", "1", "Ganglioglioma, NOS" ], [ "9505", "3", "Ganglioglioma, anaplastic" ], [ "9506", "1", "Central neurocytoma" ], [ "9507", "0", "Pacinian tumor" ], [ "9508", "3", "Atypical teratoid/rhabdoid tumor (C71._)" ], [ "9510", "0", "Retinocytoma (C69.2)" ], [ "9510", "3", "Retinoblastoma, NOS (C69.2)" ], [ "9511", "3", "Retinoblastoma, differentiated (C69.2)" ], [ "9512", "3", "Retinoblastoma, undifferentiated (C69.2)" ], [ "9513", "3", "Retinoblastoma, diffuse (C69.2)" ], [ "9514", "1", "Retinoblastoma, spontaneously regressed (C69.2)" ], [ "9520", "3", "Olfactory neurogenic tumor" ], [ "9521", "3", "Olfactory neurocytoma (C30.0)" ], [ "9522", "3", "Olfactory neuroblastoma (C30.0)" ], [ "9523", "3", "Olfactory neuroepithelioma (C30.0)" ], [ "9530", "0", "Meningioma, NOS" ], [ "9530", "1", "Meningiomatosis, NOS" ], [ "9530", "3", "Meningioma, malignant" ], [ "9531", "0", "Meningothelial meningioma" ], [ "9532", "0", "Fibrous meningioma" ], [ "9533", "0", "Psammomatous meningioma" ], [ "9534", "0", "Angiomatous meningioma" ], [ "9535", "0", "Hemangioblastic meningioma [obs]" ], [ "9537", "0", "Transitional meningioma" ], [ "9538", "1", "Clear cell meningioma" ], [ "9538", "3", "Papillary meningioma" ], [ "9539", "1", "Atypical meningioma" ], [ "9539", "3", "Meningeal sarcomatosis" ], [ "9540", "0", "Neurofibroma, NOS" ], [ "9540", "1", "Neurofibromatosis, NOS" ], [ "9540", "3", "Malignant peripheral nerve sheath tumor" ], [ "9541", "0", "Melanotic neurofibroma" ], [ "9550", "0", "Plexiform neurofibroma" ], [ "9560", "0", "Neurilemoma, NOS" ], [ "9560", "1", "Neurinomatosis" ], [ "9560", "3", "Neurilemoma, malignant [obs]" ], [ "9561", "3", "Malignant peripheral nerve sheath tumor with rhabdomyoblastic differentiation" ], [ "9562", "0", "Neurothekeoma" ], [ "9570", "0", "Neuroma, NOS" ], [ "9571", "0", "Perineurioma, NOS" ], [ "9571", "3", "Perineurioma, malignant" ], [ "9580", "0", "Granular cell tumor, NOS" ], [ "9580", "3", "Granular cell tumor, malignant" ], [ "9581", "3", "Alveolar soft part sarcoma" ], [ "9582", "0", "Granular cell tumor of the sellar region (C75.1)" ], [ "9590", "3", "Malignant lymphoma, NOS" ], [ "9591", "3", "Malignant lymphoma, non-Hodgkin, NOS" ], [ "9596", "3", "Composite Hodgkin and non-Hodgkin lymphoma" ], [ "9650", "3", "Hodgkin lymphoma, NOS" ], [ "9651", "3", "Hodgkin lymphoma, lymphocyte-rich" ], [ "9652", "3", "Hodgkin lymphoma, mixed cellularity, NOS" ], [ "9653", "3", "Hodgkin lymphoma, lymphocyte depletion, NOS" ], [ "9654", "3", "Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" ], [ "9655", "3", "Hodgkin lymphoma, lymphocyte depletion, reticular" ], [ "9659", "3", "Hodgkin lymphoma, nodular lymphocyte predominance" ], [ "9661", "3", "Hodgkin granuloma [obs]" ], [ "9662", "3", "Hodgkin sarcoma [obs]" ], [ "9663", "3", "Hodgkin lymphoma, nodular sclerosis, NOS" ], [ "9664", "3", "Hodgkin lymphoma, nodular sclerosis, cellular phase" ], [ "9665", "3", "Hodgkin lymphoma, nodular sclerosis, grade 1" ], [ "9667", "3", "Hodgkin lymphoma, nodular sclerosis, grade 2" ], [ "9670", "3", "Malignant lymphoma, small B lymphocytic, NOS (see also M-9823/3)" ], [ "9671", "3", "Malignant lymphoma, lymphoplasmacytic (see also M-9761/3)" ], [ "9673", "3", "Mantle cell lymphoma" ], [ "9675", "3", "Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" ], [ "9678", "3", "Primary effusion lymphoma" ], [ "9679", "3", "Mediastinal large B-cell lymphoma (C38.3)" ], [ "9680", "3", "Malignant lymphoma, large B-cell, diffuse, NOS" ], [ "9684", "3", "Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" ], [ "9687", "3", "Burkitt lymphoma, NOS (see also M-9826/3)" ], [ "9689", "3", "Splenic marginal zone B-cell lymphoma (C42.2)" ], [ "9690", "3", "Follicular lymphoma, NOS (see also M-9675/3)" ], [ "9691", "3", "Follicular lymphoma, grade 2" ], [ "9695", "3", "Follicular lymphoma, grade 1" ], [ "9698", "3", "Follicular lymphoma, grade 3" ], [ "9699", "3", "Marginal zone B-cell lymphoma, NOS" ], [ "9700", "3", "Mycosis fungoides (C44._)" ], [ "9701", "3", "Sezary syndrome" ], [ "9702", "3", "Mature T-cell lymphoma, NOS" ], [ "9705", "3", "Angioimmunoblastic T-cell lymphoma" ], [ "9708", "3", "Subcutaneous panniculitis-like T-cell lymphoma" ], [ "9709", "3", "Cutaneous T-cell lymphoma, NOS (C44._)" ], [ "9714", "3", "Anaplastic large cell lymphoma, T cell and Null cell type" ], [ "9716", "3", "Hepatosplenic ?? (gamma-delta) cell lymphoma" ], [ "9717", "3", "Intestinal T-cell lymphoma" ], [ "9718", "3", "Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" ], [ "9719", "3", "NK/T-cell lymphoma, nasal and nasal-type" ], [ "9727", "3", "Precursor cell lymphoblastic lymphoma, NOS (see also M-9835/3)" ], [ "9728", "3", "Precursor B-cell lymphoblastic lymphoma (see also M-9836/3)" ], [ "9729", "3", "Precursor T-cell lymphoblastic lymphoma (see also M-9837/3)" ], [ "9731", "3", "Plasmacytoma, NOS" ], [ "9732", "3", "Multiple myeloma (C42.1)" ], [ "9733", "3", "Plasma cell leukemia (C42.1)" ], [ "9734", "3", "Plasmacytoma, extramedullary (not occurring in bone)" ], [ "9740", "1", "Mastocytoma, NOS" ], [ "9740", "3", "Mast cell sarcoma" ], [ "9741", "3", "Malignant mastocytosis" ], [ "9742", "3", "Mast cell leukemia (C42.1)" ], [ "9750", "3", "Malignant histiocytosis" ], [ "9751", "1", "Langerhans cell histiocytosis, NOS" ], [ "9752", "1", "Langerhans cell histiocytosis, unifocal" ], [ "9753", "1", "Langerhans cell histiocytosis, multifocal" ], [ "9754", "3", "Langerhans cell histiocytosis, disseminated" ], [ "9755", "3", "Histiocytic sarcoma" ], [ "9756", "3", "Langerhans cell sarcoma" ], [ "9757", "3", "Interdigitating dendritic cell sarcoma" ], [ "9758", "3", "Follicular dendritic cell sarcoma" ], [ "9760", "3", "Immunoproliferative disease, NOS" ], [ "9761", "3", "Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" ], [ "9762", "3", "Heavy chain disease, NOS" ], [ "9764", "3", "Immunoproliferative small intestinal disease (C17._)" ], [ "9765", "1", "Monoclonal gammopathy of undetermined significance" ], [ "9766", "1", "Angiocentric immunoproliferative lesion" ], [ "9767", "1", "Angioimmunoblastic lymphadenopathy" ], [ "9768", "1", "T-gamma lymphoproliferative disease" ], [ "9769", "1", "Immunoglobulin deposition disease" ], [ "9800", "3", "Leukemia, NOS" ], [ "9801", "3", "Acute leukemia, NOS" ], [ "9805", "3", "Acute biphenotypic leukemia" ], [ "9820", "3", "Lymphoid leukemia, NOS" ], [ "9823", "3", "B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" ], [ "9826", "3", "Burkitt cell leukemia (see also M-9687/3)" ], [ "9827", "3", "Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" ], [ "9831", "1", "T-cell large granular lymphocytic leukemia" ], [ "9832", "3", "Prolymphocytic leukemia, NOS" ], [ "9833", "3", "Prolymphocytic leukemia, B-cell type" ], [ "9834", "3", "Prolymphocytic leukemia, T-cell type" ], [ "9835", "3", "Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" ], [ "9836", "3", "Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" ], [ "9837", "3", "Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" ], [ "9840", "3", "Acute myeloid leukemia, M6 type" ], [ "9860", "3", "Myeloid leukemia, NOS" ], [ "9861", "3", "Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" ], [ "9863", "3", "Chronic myeloid leukemia, NOS" ], [ "9866", "3", "Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" ], [ "9867", "3", "Acute myelomonocytic leukemia" ], [ "9870", "3", "Acute basophilic leukemia" ], [ "9871", "3", "Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" ], [ "9872", "3", "Acute myeloid leukemia, minimal differentiation" ], [ "9873", "3", "Acute myeloid leukemia without maturation" ], [ "9874", "3", "Acute myeloid leukemia with maturation" ], [ "9875", "3", "Chronic myelogenous leukemia, BCR/ABL positive" ], [ "9876", "3", "Atypical chronic myeloid leukemia, BCR/ABL negative" ], [ "9891", "3", "Acute monocytic leukemia" ], [ "9895", "3", "Acute myeloid leukemia with multilineage dysplasia" ], [ "9896", "3", "Acute myeloid leukemia, t(8;21)(q22;q22)" ], [ "9897", "3", "Acute myeloid leukemia, 11q23 abnormalities" ], [ "9910", "3", "Acute megakaryoblastic leukemia" ], [ "9920", "3", "Therapy-related acute myeloid leukemia, NOS" ], [ "9930", "3", "Myeloid sarcoma (see also M-9861/3)" ], [ "9931", "3", "Acute panmyelosis with myelofibrosis (C42.1)" ], [ "9940", "3", "Hairy cell leukemia (C42.1)" ], [ "9945", "3", "Chronic myelomonocytic leukemia, NOS" ], [ "9946", "3", "Juvenile myelomonocytic leukemia" ], [ "9948", "3", "Aggressive NK-cell leukemia" ], [ "9950", "3", "Polycythemia vera" ], [ "9960", "3", "Chronic myeloproliferative disease, NOS" ], [ "9961", "3", "Myelosclerosis with myeloid metaplasia" ], [ "9962", "3", "Essential thrombocythemia" ], [ "9963", "3", "Chronic neutrophilic leukemia" ], [ "9964", "3", "Hypereosinophilic syndrome" ], [ "9970", "1", "Lymphoproliferative disorder, NOS" ], [ "9975", "1", "Myeloproliferative disease, NOS" ], [ "9980", "3", "Refractory anemia" ], [ "9982", "3", "Refractory anemia with sideroblasts" ], [ "9983", "3", "Refractory anemia with excess blasts" ], [ "9984", "3", "Refractory anemia with excess blasts in transformation [obs]" ], [ "9985", "3", "Refractory cytopenia with multilineage dysplasia" ], [ "9986", "3", "Myelodysplastic syndrome with 5q deletion (5q-) syndrome" ], [ "9987", "3", "Therapy-related myelodysplastic syndrome, NOS" ], [ "9989", "3", "Myelodysplastic syndrome, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pab.json deleted file mode 100644 index d57e6fd34..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pab.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ajcc6_exclusions_pab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Exclusions", - "title" : "Histology Exclusion Table AJCC 6th ed.", - "notes" : "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. For these cases, displayed results will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified" : "2015-05-27T16:18:46.382Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8240", "1", "Carcinoid tumor of uncertain malignant potential" ], [ "8240", "3", "Carcinoid tumor, NOS (except of appendix M-8240/1)" ], [ "8241", "3", "Enterochromaffin cell carcinoid" ], [ "8242", "1", "Enterochromaffin-like cell carcinoid, NOS" ], [ "8242", "3", "Enterochromaffin-like cell tumor, malignant" ], [ "8243", "3", "Goblet cell carcinoid" ], [ "8248", "1", "Apudoma" ], [ "8680", "0", "Paraganglioma, benign" ], [ "8680", "1", "Paraganglioma, NOS" ], [ "8680", "3", "Paraganglioma, malignant" ], [ "8681", "1", "Sympathetic paraganglioma" ], [ "8682", "1", "Parasympathetic paraganglioma" ], [ "8683", "0", "Gangliocytic paraganglioma (C17.0)" ], [ "8690", "1", "Glomus jugulare tumor, NOS (C75.5)" ], [ "8691", "1", "Aortic body tumor (C75.5)" ], [ "8692", "1", "Carotid body tumor (C75.4)" ], [ "8693", "1", "Extra-adrenal paraganglioma, NOS" ], [ "8693", "3", "Extra-adrenal paraganglioma, malignant" ], [ "8700", "0", "Pheochromocytoma, NOS (C74.1)" ], [ "8700", "3", "Pheochromocytoma, malignant (C74.1)" ], [ "8720", "0", "Pigmented nevus, NOS (C44._)" ], [ "8720", "2", "Melanoma in situ" ], [ "8720", "3", "Malignant melanoma, NOS (except juvenile melanoma M-8770/0)" ], [ "8721", "3", "Nodular melanoma (C44._)" ], [ "8722", "0", "Balloon cell nevus (C44._)" ], [ "8722", "3", "Balloon cell melanoma (C44._)" ], [ "8723", "0", "Halo nevus (C44._)" ], [ "8723", "3", "Malignant melanoma, regressing (C44._)" ], [ "8725", "0", "Neuronevus (C44._)" ], [ "8726", "0", "Magnocellular nevus (C69.4)" ], [ "8727", "0", "Dysplastic nevus (C44._)" ], [ "8728", "0", "Diffuse melanocytosis (C70.9)" ], [ "8728", "1", "Meningeal melanocytoma (C70.9)" ], [ "8728", "3", "Meningeal melanomatosis (C70.9)" ], [ "8730", "0", "Nonpigmented nevus (C44._)" ], [ "8730", "3", "Amelanotic melanoma (C44._)" ], [ "8740", "0", "Junctional nevus, NOS (C44._)" ], [ "8740", "3", "Malignant melanoma in junctional nevus (C44._)" ], [ "8741", "2", "Precancerous melanosis, NOS (C44._)" ], [ "8741", "3", "Malignant melanoma in precancerous melanosis (C44._)" ], [ "8742", "2", "Lentigo maligna (C44._)" ], [ "8742", "3", "Lentigo maligna melanoma (C44._)" ], [ "8743", "3", "Superficial spreading melanoma (C44._)" ], [ "8744", "3", "Acral lentiginous melanoma, malignant (C44._)" ], [ "8745", "3", "Desmoplastic melanoma, malignant (C44._)" ], [ "8746", "3", "Mucosal lentiginous melanoma" ], [ "8750", "0", "Intradermal nevus (C44._)" ], [ "8760", "0", "Compound nevus (C44._)" ], [ "8761", "0", "Small congenital nevus (C44._)" ], [ "8761", "1", "Giant pigmented nevus, NOS (C44._)" ], [ "8761", "3", "Malignant melanoma in giant pigmented nevus (C44._)" ], [ "8762", "1", "Proliferative dermal lesion in congenital nevus (C44._)" ], [ "8770", "0", "Epithelioid and spindle cell nevus (C44._)" ], [ "8770", "3", "Mixed epithelioid and spindle cell melanoma" ], [ "8771", "0", "Epithelioid cell nevus (C44._)" ], [ "8771", "3", "Epithelioid cell melanoma" ], [ "8772", "0", "Spindle cell nevus, NOS (C44._)" ], [ "8772", "3", "Spindle cell melanoma, NOS" ], [ "8773", "3", "Spindle cell melanoma, type A (C69._)" ], [ "8774", "3", "Spindle cell melanoma, type B (C69._)" ], [ "8780", "0", "Blue nevus, NOS (C44._)" ], [ "8780", "3", "Blue nevus, malignant (C44._)" ], [ "8790", "0", "Cellular blue nevus (C44._)" ], [ "8930", "0", "Endometrial stromal nodule (C54.1)" ], [ "8930", "3", "Endometrial stromal sarcoma, NOS (C54.1)" ], [ "8931", "3", "Endometrial stromal sarcoma, low grade (C54.1)" ], [ "8932", "0", "Adenomyoma" ], [ "8933", "3", "Adenosarcoma" ], [ "8934", "3", "Carcinofibroma" ], [ "8935", "0", "Stromal tumor, benign" ], [ "8935", "1", "Stromal tumor, NOS" ], [ "8935", "3", "Stromal sarcoma, NOS" ], [ "8936", "0", "Gastrointestinal stromal tumor, benign" ], [ "8936", "1", "Gastrointestinal stromal tumor, NOS" ], [ "8936", "3", "Gastrointestinal stromal sarcoma" ], [ "8950", "3", "Mullerian mixed tumor (C54._)" ], [ "8951", "3", "Mesodermal mixed tumor" ], [ "8959", "0", "Benign cystic nephroma (C64.9)" ], [ "8959", "1", "Cystic partially differentiated nephroblastoma (C64.9)" ], [ "8959", "3", "Malignant cystic nephroma (C64.9)" ], [ "8960", "1", "Mesoblastic nephroma" ], [ "8960", "3", "Nephroblastoma, NOS (C64.9)" ], [ "8963", "3", "Malignant rhabdoid tumor" ], [ "8964", "3", "Clear cell sarcoma of kidney (C64.9)" ], [ "8965", "0", "Nephrogenic adenofibroma (C64.9)" ], [ "8966", "0", "Renomedullary interstitial cell tumor (C64.9)" ], [ "8967", "0", "Ossifying renal tumor (C64.9)" ], [ "8970", "3", "Hepatoblastoma (C22.0)" ], [ "8971", "3", "Pancreatoblastoma (C25._)" ], [ "8972", "3", "Pulmonary blastoma (C34._)" ], [ "8973", "3", "Pleuropulmonary blastoma" ], [ "8974", "1", "Sialoblastoma" ], [ "8980", "3", "Carcinosarcoma, NOS" ], [ "8981", "3", "Carcinosarcoma, embryonal" ], [ "8982", "0", "Myoepithelioma" ], [ "8982", "3", "Malignant myoepithelioma" ], [ "8983", "0", "Adenomyoepithelioma (C50._)" ], [ "9000", "0", "Brenner tumor, NOS (C56.9)" ], [ "9000", "1", "Brenner tumor, borderline malignancy (C56.9)" ], [ "9000", "3", "Brenner tumor, malignant (C56.9)" ], [ "9010", "0", "Fibroadenoma, NOS (C50._)" ], [ "9011", "0", "Intracanalicular fibroadenoma (C50._)" ], [ "9012", "0", "Pericanalicular fibroadenoma (C50._)" ], [ "9013", "0", "Adenofibroma, NOS" ], [ "9014", "0", "Serous adenofibroma, NOS" ], [ "9014", "1", "Serous adenofibroma of borderline malignancy" ], [ "9014", "3", "Serous adenocarcinofibroma" ], [ "9015", "0", "Mucinous adenofibroma, NOS" ], [ "9015", "1", "Mucinous adenofibroma of borderline malignancy" ], [ "9015", "3", "Mucinous adenocarcinofibroma" ], [ "9016", "0", "Giant fibroadenoma (C50._)" ], [ "9020", "0", "Phyllodes tumor, benign (C50._)" ], [ "9020", "1", "Phyllodes tumor, borderline (C50._)" ], [ "9020", "3", "Phyllodes tumor, malignant (C50._)" ], [ "9030", "0", "Juvenile fibroadenoma (C50._)" ], [ "9050", "0", "Mesothelioma, benign" ], [ "9050", "3", "Mesothelioma, malignant" ], [ "9051", "0", "Fibrous mesothelioma, benign" ], [ "9051", "3", "Fibrous mesothelioma, malignant" ], [ "9052", "0", "Epithelioid mesothelioma, benign" ], [ "9052", "3", "Epithelioid mesothelioma, malignant" ], [ "9053", "3", "Mesothelioma, biphasic, malignant" ], [ "9054", "0", "Adenomatoid tumor, NOS" ], [ "9055", "0", "Multicystic mesothelioma, benign" ], [ "9055", "1", "Cystic mesothelioma, NOS (C48._)" ], [ "9060", "3", "Dysgerminoma" ], [ "9061", "3", "Seminoma, NOS (C62._)" ], [ "9062", "3", "Seminoma, anaplastic (C62._)" ], [ "9063", "3", "Spermatocytic seminoma (C62._)" ], [ "9064", "2", "Intratubular malignant germ cells (C62._)" ], [ "9064", "3", "Germinoma" ], [ "9065", "3", "Germ cell tumor, nonseminomatous (C62._)" ], [ "9070", "3", "Embryonal carcinoma, NOS" ], [ "9071", "3", "Yolk sac tumor" ], [ "9072", "3", "Polyembryoma" ], [ "9073", "1", "Gonadoblastoma" ], [ "9080", "0", "Teratoma, benign" ], [ "9080", "1", "Teratoma, NOS" ], [ "9080", "3", "Teratoma, malignant, NOS" ], [ "9081", "3", "Teratocarcinoma" ], [ "9082", "3", "Malignant teratoma, undifferentiated" ], [ "9083", "3", "Malignant teratoma, intermediate" ], [ "9084", "0", "Dermoid cyst, NOS" ], [ "9084", "3", "Teratoma with malignant transformation" ], [ "9085", "3", "Mixed germ cell tumor" ], [ "9090", "0", "Struma ovarii, NOS (C56.9)" ], [ "9090", "3", "Struma ovarii, malignant (C56.9)" ], [ "9091", "1", "Strumal carcinoid (C56.9)" ], [ "9100", "0", "Hydatidiform mole, NOS (C58.9)" ], [ "9100", "1", "Invasive hydatidiform mole (C58.9)" ], [ "9100", "3", "Choriocarcinoma, NOS" ], [ "9101", "3", "Choriocarcinoma combined with other germ cell elements" ], [ "9102", "3", "Malignant teratoma, trophoblastic" ], [ "9103", "0", "Partial hydatidiform mole (C58.9)" ], [ "9104", "1", "Placental site trophoblastic tumor (C58.9)" ], [ "9105", "3", "Trophoblastic tumor, epithelioid" ], [ "9110", "0", "Mesonephroma, benign" ], [ "9110", "1", "Mesonephric tumor, NOS" ], [ "9110", "3", "Mesonephroma, malignant" ], [ "9140", "3", "Kaposi sarcoma" ], [ "9141", "0", "Angiokeratoma" ], [ "9142", "0", "Verrucous keratotic hemangioma" ], [ "9260", "3", "Ewing sarcoma" ], [ "9261", "3", "Adamantinoma of long bones (C40._)" ], [ "9262", "0", "Ossifying fibroma" ], [ "9270", "0", "Odontogenic tumor, benign" ], [ "9270", "1", "Odontogenic tumor, NOS" ], [ "9270", "3", "Odontogenic tumor, malignant" ], [ "9271", "0", "Ameloblastic fibrodentinoma" ], [ "9272", "0", "Cementoma, NOS" ], [ "9273", "0", "Cementoblastoma, benign" ], [ "9274", "0", "Cementifying fibroma" ], [ "9275", "0", "Gigantiform cementoma" ], [ "9280", "0", "Odontoma, NOS" ], [ "9281", "0", "Compound odontoma" ], [ "9282", "0", "Complex odontoma" ], [ "9290", "0", "Ameloblastic fibro-odontoma" ], [ "9290", "3", "Ameloblastic odontosarcoma" ], [ "9300", "0", "Adenomatoid odontogenic tumor" ], [ "9301", "0", "Calcifying odontogenic cyst" ], [ "9302", "0", "Odontogenic ghost cell tumor" ], [ "9310", "0", "Ameloblastoma, NOS" ], [ "9310", "3", "Ameloblastoma, malignant" ], [ "9311", "0", "Odontoameloblastoma" ], [ "9312", "0", "Squamous odontogenic tumor" ], [ "9320", "0", "Odontogenic myxoma" ], [ "9321", "0", "Central odontogenic fibroma" ], [ "9322", "0", "Peripheral odontogenic fibroma" ], [ "9330", "0", "Ameloblastic fibroma" ], [ "9330", "3", "Ameloblastic fibrosarcoma" ], [ "9340", "0", "Calcifying epithelial odontogenic tumor" ], [ "9341", "1", "Clear cell odontogenic tumor" ], [ "9342", "3", "Odontogenic carcinosarcoma" ], [ "9350", "1", "Craniopharyngioma (C75.2)" ], [ "9351", "1", "Craniopharyngioma, adamantinomatous (C75.2)" ], [ "9352", "1", "Craniopharyngioma, papillary (C75.2)" ], [ "9360", "1", "Pinealoma (C75.3)" ], [ "9361", "1", "Pineocytoma (C75.3)" ], [ "9362", "3", "Pineoblastoma (C75.3)" ], [ "9363", "0", "Melanotic neuroectodermal tumor" ], [ "9364", "3", "Peripheral neuroectodermal tumor" ], [ "9365", "3", "Askin tumor" ], [ "9380", "3", "Glioma, malignant (C71._)" ], [ "9381", "3", "Gliomatosis cerebri (C71._)" ], [ "9382", "3", "Mixed glioma (C71._)" ], [ "9383", "1", "Subependymoma (C71._)" ], [ "9384", "1", "Subependymal giant cell astrocytoma (C71._)" ], [ "9390", "0", "Choroid plexus papilloma, NOS (C71.5)" ], [ "9390", "1", "Atypical choroid plexus papilloma (C71.5)" ], [ "9390", "3", "Choroid plexus carcinoma (C71.5)" ], [ "9391", "3", "Ependymoma, NOS (C71._)" ], [ "9392", "3", "Ependymoma, anaplastic (C71._)" ], [ "9393", "3", "Papillary ependymoma (C71._)" ], [ "9394", "1", "Myxopapillary ependymoma (C72.0)" ], [ "9400", "3", "Astrocytoma, NOS (C71._)" ], [ "9401", "3", "Astrocytoma, anaplastic (C71._)" ], [ "9410", "3", "Protoplasmic astrocytoma (C71._)" ], [ "9411", "3", "Gemistocytic astrocytoma (C71._)" ], [ "9412", "1", "Desmoplastic infantile astrocytoma (C71._)" ], [ "9413", "0", "Dysembryoplastic neuroepithelial tumor" ], [ "9420", "3", "Fibrillary astrocytoma (C71._)" ], [ "9421", "1", "Pilocytic astrocytoma (C71._)" ], [ "9423", "3", "Polar spongioblastoma (C71._)" ], [ "9424", "3", "Pleomorphic xanthoastrocytoma (C71._)" ], [ "9430", "3", "Astroblastoma (C71._)" ], [ "9440", "3", "Glioblastoma, NOS (C71._)" ], [ "9441", "3", "Giant cell glioblastoma (C71._)" ], [ "9442", "1", "Gliofibroma (C71._)" ], [ "9442", "3", "Gliosarcoma (C71._)" ], [ "9444", "1", "Chordoid glioma (C71._)" ], [ "9450", "3", "Oligodendroglioma, NOS (C71._)" ], [ "9451", "3", "Oligodendroglioma, anaplastic (C71._)" ], [ "9460", "3", "Oligodendroblastoma (C71._) [obs]" ], [ "9470", "3", "Medulloblastoma, NOS (C71.6)" ], [ "9471", "3", "Desmoplastic nodular medulloblastoma (C71.6)" ], [ "9472", "3", "Medullomyoblastoma (C71.6)" ], [ "9473", "3", "Primitive neuroectodermal tumor, NOS" ], [ "9474", "3", "Large cell medulloblastoma (C71.6)" ], [ "9480", "3", "Cerebellar sarcoma, NOS (C71.6) [obs]" ], [ "9490", "0", "Ganglioneuroma" ], [ "9490", "3", "Ganglioneuroblastoma" ], [ "9491", "0", "Ganglioneuromatosis" ], [ "9492", "0", "Gangliocytoma" ], [ "9493", "0", "Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" ], [ "9500", "3", "Neuroblastoma, NOS" ], [ "9501", "0", "Medulloepithelioma, benign (C69.4)" ], [ "9501", "3", "Medulloepithelioma, NOS" ], [ "9502", "0", "Teratoid medulloepithelioma, benign (C69.4)" ], [ "9502", "3", "Teratoid medulloepithelioma" ], [ "9503", "3", "Neuroepithelioma, NOS" ], [ "9504", "3", "Spongioneuroblastoma" ], [ "9505", "1", "Ganglioglioma, NOS" ], [ "9505", "3", "Ganglioglioma, anaplastic" ], [ "9506", "1", "Central neurocytoma" ], [ "9507", "0", "Pacinian tumor" ], [ "9508", "3", "Atypical teratoid/rhabdoid tumor (C71._)" ], [ "9510", "0", "Retinocytoma (C69.2)" ], [ "9510", "3", "Retinoblastoma, NOS (C69.2)" ], [ "9511", "3", "Retinoblastoma, differentiated (C69.2)" ], [ "9512", "3", "Retinoblastoma, undifferentiated (C69.2)" ], [ "9513", "3", "Retinoblastoma, diffuse (C69.2)" ], [ "9514", "1", "Retinoblastoma, spontaneously regressed (C69.2)" ], [ "9520", "3", "Olfactory neurogenic tumor" ], [ "9521", "3", "Olfactory neurocytoma (C30.0)" ], [ "9522", "3", "Olfactory neuroblastoma (C30.0)" ], [ "9523", "3", "Olfactory neuroepithelioma (C30.0)" ], [ "9530", "0", "Meningioma, NOS" ], [ "9530", "1", "Meningiomatosis, NOS" ], [ "9530", "3", "Meningioma, malignant" ], [ "9531", "0", "Meningothelial meningioma" ], [ "9532", "0", "Fibrous meningioma" ], [ "9533", "0", "Psammomatous meningioma" ], [ "9534", "0", "Angiomatous meningioma" ], [ "9535", "0", "Hemangioblastic meningioma [obs]" ], [ "9537", "0", "Transitional meningioma" ], [ "9538", "1", "Clear cell meningioma" ], [ "9538", "3", "Papillary meningioma" ], [ "9539", "1", "Atypical meningioma" ], [ "9539", "3", "Meningeal sarcomatosis" ], [ "9590", "3", "Malignant lymphoma, NOS" ], [ "9591", "3", "Malignant lymphoma, non-Hodgkin, NOS" ], [ "9596", "3", "Composite Hodgkin and non-Hodgkin lymphoma" ], [ "9650", "3", "Hodgkin lymphoma, NOS" ], [ "9651", "3", "Hodgkin lymphoma, lymphocyte-rich" ], [ "9652", "3", "Hodgkin lymphoma, mixed cellularity, NOS" ], [ "9653", "3", "Hodgkin lymphoma, lymphocyte depletion, NOS" ], [ "9654", "3", "Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" ], [ "9655", "3", "Hodgkin lymphoma, lymphocyte depletion, reticular" ], [ "9659", "3", "Hodgkin lymphoma, nodular lymphocyte predominance" ], [ "9661", "3", "Hodgkin granuloma [obs]" ], [ "9662", "3", "Hodgkin sarcoma [obs]" ], [ "9663", "3", "Hodgkin lymphoma, nodular sclerosis, NOS" ], [ "9664", "3", "Hodgkin lymphoma, nodular sclerosis, cellular phase" ], [ "9665", "3", "Hodgkin lymphoma, nodular sclerosis, grade 1" ], [ "9667", "3", "Hodgkin lymphoma, nodular sclerosis, grade 2" ], [ "9670", "3", "Malignant lymphoma, small B lymphocytic, NOS (see also M-9823/3)" ], [ "9671", "3", "Malignant lymphoma, lymphoplasmacytic (see also M-9761/3)" ], [ "9673", "3", "Mantle cell lymphoma" ], [ "9675", "3", "Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" ], [ "9678", "3", "Primary effusion lymphoma" ], [ "9679", "3", "Mediastinal large B-cell lymphoma (C38.3)" ], [ "9680", "3", "Malignant lymphoma, large B-cell, diffuse, NOS" ], [ "9684", "3", "Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" ], [ "9687", "3", "Burkitt lymphoma, NOS (see also M-9826/3)" ], [ "9689", "3", "Splenic marginal zone B-cell lymphoma (C42.2)" ], [ "9690", "3", "Follicular lymphoma, NOS (see also M-9675/3)" ], [ "9691", "3", "Follicular lymphoma, grade 2" ], [ "9695", "3", "Follicular lymphoma, grade 1" ], [ "9698", "3", "Follicular lymphoma, grade 3" ], [ "9699", "3", "Marginal zone B-cell lymphoma, NOS" ], [ "9700", "3", "Mycosis fungoides (C44._)" ], [ "9701", "3", "Sezary syndrome" ], [ "9702", "3", "Mature T-cell lymphoma, NOS" ], [ "9705", "3", "Angioimmunoblastic T-cell lymphoma" ], [ "9708", "3", "Subcutaneous panniculitis-like T-cell lymphoma" ], [ "9709", "3", "Cutaneous T-cell lymphoma, NOS (C44._)" ], [ "9714", "3", "Anaplastic large cell lymphoma, T cell and Null cell type" ], [ "9716", "3", "Hepatosplenic ?? (gamma-delta) cell lymphoma" ], [ "9717", "3", "Intestinal T-cell lymphoma" ], [ "9718", "3", "Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" ], [ "9719", "3", "NK/T-cell lymphoma, nasal and nasal-type" ], [ "9727", "3", "Precursor cell lymphoblastic lymphoma, NOS (see also M-9835/3)" ], [ "9728", "3", "Precursor B-cell lymphoblastic lymphoma (see also M-9836/3)" ], [ "9729", "3", "Precursor T-cell lymphoblastic lymphoma (see also M-9837/3)" ], [ "9731", "3", "Plasmacytoma, NOS" ], [ "9732", "3", "Multiple myeloma (C42.1)" ], [ "9733", "3", "Plasma cell leukemia (C42.1)" ], [ "9734", "3", "Plasmacytoma, extramedullary (not occurring in bone)" ], [ "9740", "1", "Mastocytoma, NOS" ], [ "9740", "3", "Mast cell sarcoma" ], [ "9741", "3", "Malignant mastocytosis" ], [ "9742", "3", "Mast cell leukemia (C42.1)" ], [ "9750", "3", "Malignant histiocytosis" ], [ "9751", "1", "Langerhans cell histiocytosis, NOS" ], [ "9752", "1", "Langerhans cell histiocytosis, unifocal" ], [ "9753", "1", "Langerhans cell histiocytosis, multifocal" ], [ "9754", "3", "Langerhans cell histiocytosis, disseminated" ], [ "9755", "3", "Histiocytic sarcoma" ], [ "9756", "3", "Langerhans cell sarcoma" ], [ "9757", "3", "Interdigitating dendritic cell sarcoma" ], [ "9758", "3", "Follicular dendritic cell sarcoma" ], [ "9760", "3", "Immunoproliferative disease, NOS" ], [ "9761", "3", "Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" ], [ "9762", "3", "Heavy chain disease, NOS" ], [ "9764", "3", "Immunoproliferative small intestinal disease (C17._)" ], [ "9765", "1", "Monoclonal gammopathy of undetermined significance" ], [ "9766", "1", "Angiocentric immunoproliferative lesion" ], [ "9767", "1", "Angioimmunoblastic lymphadenopathy" ], [ "9768", "1", "T-gamma lymphoproliferative disease" ], [ "9769", "1", "Immunoglobulin deposition disease" ], [ "9800", "3", "Leukemia, NOS" ], [ "9801", "3", "Acute leukemia, NOS" ], [ "9805", "3", "Acute biphenotypic leukemia" ], [ "9820", "3", "Lymphoid leukemia, NOS" ], [ "9823", "3", "B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" ], [ "9826", "3", "Burkitt cell leukemia (see also M-9687/3)" ], [ "9827", "3", "Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" ], [ "9831", "1", "T-cell large granular lymphocytic leukemia" ], [ "9832", "3", "Prolymphocytic leukemia, NOS" ], [ "9833", "3", "Prolymphocytic leukemia, B-cell type" ], [ "9834", "3", "Prolymphocytic leukemia, T-cell type" ], [ "9835", "3", "Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" ], [ "9836", "3", "Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" ], [ "9837", "3", "Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" ], [ "9840", "3", "Acute myeloid leukemia, M6 type" ], [ "9860", "3", "Myeloid leukemia, NOS" ], [ "9861", "3", "Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" ], [ "9863", "3", "Chronic myeloid leukemia, NOS" ], [ "9866", "3", "Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" ], [ "9867", "3", "Acute myelomonocytic leukemia" ], [ "9870", "3", "Acute basophilic leukemia" ], [ "9871", "3", "Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" ], [ "9872", "3", "Acute myeloid leukemia, minimal differentiation" ], [ "9873", "3", "Acute myeloid leukemia without maturation" ], [ "9874", "3", "Acute myeloid leukemia with maturation" ], [ "9875", "3", "Chronic myelogenous leukemia, BCR/ABL positive" ], [ "9876", "3", "Atypical chronic myeloid leukemia, BCR/ABL negative" ], [ "9891", "3", "Acute monocytic leukemia" ], [ "9895", "3", "Acute myeloid leukemia with multilineage dysplasia" ], [ "9896", "3", "Acute myeloid leukemia, t(8;21)(q22;q22)" ], [ "9897", "3", "Acute myeloid leukemia, 11q23 abnormalities" ], [ "9910", "3", "Acute megakaryoblastic leukemia" ], [ "9920", "3", "Therapy-related acute myeloid leukemia, NOS" ], [ "9930", "3", "Myeloid sarcoma (see also M-9861/3)" ], [ "9931", "3", "Acute panmyelosis with myelofibrosis (C42.1)" ], [ "9940", "3", "Hairy cell leukemia (C42.1)" ], [ "9945", "3", "Chronic myelomonocytic leukemia, NOS" ], [ "9946", "3", "Juvenile myelomonocytic leukemia" ], [ "9948", "3", "Aggressive NK-cell leukemia" ], [ "9950", "3", "Polycythemia vera" ], [ "9960", "3", "Chronic myeloproliferative disease, NOS" ], [ "9961", "3", "Myelosclerosis with myeloid metaplasia" ], [ "9962", "3", "Essential thrombocythemia" ], [ "9963", "3", "Chronic neutrophilic leukemia" ], [ "9964", "3", "Hypereosinophilic syndrome" ], [ "9970", "1", "Lymphoproliferative disorder, NOS" ], [ "9975", "1", "Myeloproliferative disease, NOS" ], [ "9980", "3", "Refractory anemia" ], [ "9982", "3", "Refractory anemia with sideroblasts" ], [ "9983", "3", "Refractory anemia with excess blasts" ], [ "9984", "3", "Refractory anemia with excess blasts in transformation [obs]" ], [ "9985", "3", "Refractory cytopenia with multilineage dysplasia" ], [ "9986", "3", "Myelodysplastic syndrome with 5q deletion (5q-) syndrome" ], [ "9987", "3", "Therapy-related myelodysplastic syndrome, NOS" ], [ "9989", "3", "Myelodysplastic syndrome, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pac.json deleted file mode 100644 index 212bc9de8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pac.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ajcc6_exclusions_pac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Exclusions", - "title" : "Histology Exclusion Table AJCC 6th ed.", - "notes" : "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. For these cases, displayed results will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified" : "2015-05-27T16:18:46.455Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8240", "1", "Carcinoid tumor of uncertain malignant potential" ], [ "8240", "3", "Carcinoid tumor, NOS (except of appendix M-8240/1)" ], [ "8241", "3", "Enterochromaffin cell carcinoid" ], [ "8242", "1", "Enterochromaffin-like cell carcinoid, NOS" ], [ "8242", "3", "Enterochromaffin-like cell tumor, malignant" ], [ "8243", "3", "Goblet cell carcinoid" ], [ "8244", "3", "Composite carcinoid" ], [ "8245", "1", "Tubular carcinoid" ], [ "8245", "3", "Adenocarcinoid tumor" ], [ "8246", "3", "Neuroendocrine carcinoma, NOS" ], [ "8247", "3", "Merkel cell carcinoma (C44._)" ], [ "8248", "1", "Apudoma" ], [ "8249", "3", "Atypical carcinoid tumor" ], [ "8680", "0", "Paraganglioma, benign" ], [ "8680", "1", "Paraganglioma, NOS" ], [ "8680", "3", "Paraganglioma, malignant" ], [ "8681", "1", "Sympathetic paraganglioma" ], [ "8682", "1", "Parasympathetic paraganglioma" ], [ "8683", "0", "Gangliocytic paraganglioma (C17.0)" ], [ "8690", "1", "Glomus jugulare tumor, NOS (C75.5)" ], [ "8691", "1", "Aortic body tumor (C75.5)" ], [ "8692", "1", "Carotid body tumor (C75.4)" ], [ "8693", "1", "Extra-adrenal paraganglioma, NOS" ], [ "8693", "3", "Extra-adrenal paraganglioma, malignant" ], [ "8700", "0", "Pheochromocytoma, NOS (C74.1)" ], [ "8700", "3", "Pheochromocytoma, malignant (C74.1)" ], [ "8710", "3", "Glomangiosarcoma" ], [ "8711", "0", "Glomus tumor, NOS" ], [ "8711", "3", "Glomus tumor, malignant" ], [ "8712", "0", "Glomangioma" ], [ "8713", "0", "Glomangiomyoma" ], [ "8720", "0", "Pigmented nevus, NOS (C44._)" ], [ "8720", "2", "Melanoma in situ" ], [ "8720", "3", "Malignant melanoma, NOS (except juvenile melanoma M-8770/0)" ], [ "8721", "3", "Nodular melanoma (C44._)" ], [ "8722", "0", "Balloon cell nevus (C44._)" ], [ "8722", "3", "Balloon cell melanoma (C44._)" ], [ "8723", "0", "Halo nevus (C44._)" ], [ "8723", "3", "Malignant melanoma, regressing (C44._)" ], [ "8725", "0", "Neuronevus (C44._)" ], [ "8726", "0", "Magnocellular nevus (C69.4)" ], [ "8727", "0", "Dysplastic nevus (C44._)" ], [ "8728", "0", "Diffuse melanocytosis (C70.9)" ], [ "8728", "1", "Meningeal melanocytoma (C70.9)" ], [ "8728", "3", "Meningeal melanomatosis (C70.9)" ], [ "8730", "0", "Nonpigmented nevus (C44._)" ], [ "8730", "3", "Amelanotic melanoma (C44._)" ], [ "8740", "0", "Junctional nevus, NOS (C44._)" ], [ "8740", "3", "Malignant melanoma in junctional nevus (C44._)" ], [ "8741", "2", "Precancerous melanosis, NOS (C44._)" ], [ "8741", "3", "Malignant melanoma in precancerous melanosis (C44._)" ], [ "8742", "2", "Lentigo maligna (C44._)" ], [ "8742", "3", "Lentigo maligna melanoma (C44._)" ], [ "8743", "3", "Superficial spreading melanoma (C44._)" ], [ "8744", "3", "Acral lentiginous melanoma, malignant (C44._)" ], [ "8745", "3", "Desmoplastic melanoma, malignant (C44._)" ], [ "8746", "3", "Mucosal lentiginous melanoma" ], [ "8750", "0", "Intradermal nevus (C44._)" ], [ "8760", "0", "Compound nevus (C44._)" ], [ "8761", "0", "Small congenital nevus (C44._)" ], [ "8761", "1", "Giant pigmented nevus, NOS (C44._)" ], [ "8761", "3", "Malignant melanoma in giant pigmented nevus (C44._)" ], [ "8762", "1", "Proliferative dermal lesion in congenital nevus (C44._)" ], [ "8770", "0", "Epithelioid and spindle cell nevus (C44._)" ], [ "8770", "3", "Mixed epithelioid and spindle cell melanoma" ], [ "8771", "0", "Epithelioid cell nevus (C44._)" ], [ "8771", "3", "Epithelioid cell melanoma" ], [ "8772", "0", "Spindle cell nevus, NOS (C44._)" ], [ "8772", "3", "Spindle cell melanoma, NOS" ], [ "8773", "3", "Spindle cell melanoma, type A (C69._)" ], [ "8774", "3", "Spindle cell melanoma, type B (C69._)" ], [ "8780", "0", "Blue nevus, NOS (C44._)" ], [ "8780", "3", "Blue nevus, malignant (C44._)" ], [ "8790", "0", "Cellular blue nevus (C44._)" ], [ "8800", "0", "Soft tissue tumor, benign" ], [ "8800", "3", "Sarcoma, NOS" ], [ "8800", "9", "Sarcomatosis, NOS" ], [ "8801", "3", "Spindle cell sarcoma" ], [ "8802", "3", "Giant cell sarcoma (except of bone M-9250/3)" ], [ "8803", "3", "Small cell sarcoma" ], [ "8804", "3", "Epithelioid sarcoma" ], [ "8805", "3", "Undifferentiated sarcoma" ], [ "8806", "3", "Desmoplastic small round cell tumor" ], [ "8810", "0", "Fibroma, NOS" ], [ "8810", "1", "Cellular fibroma (C56.9)" ], [ "8810", "3", "Fibrosarcoma, NOS" ], [ "8811", "0", "Fibromyxoma" ], [ "8811", "3", "Fibromyxosarcoma" ], [ "8812", "0", "Periosteal fibroma (C40._, C41._)" ], [ "8812", "3", "Periosteal fibrosarcoma (C40._, C41._)" ], [ "8813", "0", "Fascial fibroma" ], [ "8813", "3", "Fascial fibrosarcoma" ], [ "8814", "3", "Infantile fibrosarcoma" ], [ "8815", "0", "Solitary fibrous tumor" ], [ "8815", "3", "Solitary fibrous tumor, malignant" ], [ "8820", "0", "Elastofibroma" ], [ "8821", "1", "Aggressive fibromatosis" ], [ "8822", "1", "Abdominal fibromatosis" ], [ "8823", "0", "Desmoplastic fibroma" ], [ "8824", "0", "Myofibroma" ], [ "8824", "1", "Myofibromatosis" ], [ "8825", "0", "Myofibroblastoma" ], [ "8825", "1", "Myofibroblastic tumor, NOS" ], [ "8826", "0", "Angiomyofibroblastoma" ], [ "8827", "1", "Myofibroblastic tumor, peribronchial (C34._)" ], [ "8830", "0", "Benign fibrous histiocytoma" ], [ "8830", "1", "Atypical fibrous histiocytoma" ], [ "8830", "3", "Malignant fibrous histiocytoma" ], [ "8831", "0", "Histiocytoma, NOS" ], [ "8832", "0", "Dermatofibroma, NOS (C44._)" ], [ "8832", "3", "Dermatofibrosarcoma, NOS (C44._)" ], [ "8833", "3", "Pigmented dermatofibrosarcoma protuberans (C44._)" ], [ "8834", "1", "Giant cell fibroblastoma" ], [ "8835", "1", "Plexiform fibrohistiocytic tumor" ], [ "8836", "1", "Angiomatoid fibrous histiocytoma" ], [ "8840", "0", "Myxoma, NOS" ], [ "8840", "3", "Myxosarcoma" ], [ "8841", "1", "Angiomyxoma" ], [ "8842", "0", "Ossifying fibromyxoid tumor" ], [ "8850", "0", "Lipoma, NOS" ], [ "8850", "1", "Atypical lipoma" ], [ "8850", "3", "Liposarcoma, NOS" ], [ "8851", "0", "Fibrolipoma" ], [ "8851", "3", "Liposarcoma, well differentiated" ], [ "8852", "0", "Fibromyxolipoma" ], [ "8852", "3", "Myxoid liposarcoma" ], [ "8853", "3", "Round cell liposarcoma" ], [ "8854", "0", "Pleomorphic lipoma" ], [ "8854", "3", "Pleomorphic liposarcoma" ], [ "8855", "3", "Mixed liposarcoma" ], [ "8856", "0", "Intramuscular lipoma" ], [ "8857", "0", "Spindle cell lipoma" ], [ "8857", "3", "Fibroblastic liposarcoma" ], [ "8858", "3", "Dedifferentiated liposarcoma" ], [ "8860", "0", "Angiomyolipoma" ], [ "8861", "0", "Angiolipoma, NOS" ], [ "8862", "0", "Chondroid lipoma" ], [ "8870", "0", "Myelolipoma" ], [ "8880", "0", "Hibernoma" ], [ "8881", "0", "Lipoblastomatosis" ], [ "8890", "0", "Leiomyoma, NOS" ], [ "8890", "1", "Leiomyomatosis, NOS" ], [ "8890", "3", "Leiomyosarcoma, NOS" ], [ "8891", "0", "Epithelioid leiomyoma" ], [ "8891", "3", "Epithelioid leiomyosarcoma" ], [ "8892", "0", "Cellular leiomyoma" ], [ "8893", "0", "Bizarre leiomyoma" ], [ "8894", "0", "Angiomyoma" ], [ "8894", "3", "Angiomyosarcoma" ], [ "8895", "0", "Myoma" ], [ "8895", "3", "Myosarcoma" ], [ "8896", "3", "Myxoid leiomyosarcoma" ], [ "8897", "1", "Smooth muscle tumor of uncertain malignant potential" ], [ "8898", "1", "Metastasizing leiomyoma" ], [ "8900", "0", "Rhabdomyoma, NOS" ], [ "8900", "3", "Rhabdomyosarcoma, NOS" ], [ "8901", "3", "Pleomorphic rhabdomyosarcoma, adult type" ], [ "8902", "3", "Mixed type rhabdomyosarcoma" ], [ "8903", "0", "Fetal rhabdomyoma" ], [ "8904", "0", "Adult rhabdomyoma" ], [ "8905", "0", "Genital rhabdomyoma (C51._, C52.9)" ], [ "8910", "3", "Embryonal rhabdomyosarcoma, NOS" ], [ "8912", "3", "Spindle cell rhabdomyosarcoma" ], [ "8920", "3", "Alveolar rhabdomyosarcoma" ], [ "8921", "3", "Rhabdomyosarcoma with ganglionic differentiation" ], [ "8930", "0", "Endometrial stromal nodule (C54.1)" ], [ "8930", "3", "Endometrial stromal sarcoma, NOS (C54.1)" ], [ "8931", "3", "Endometrial stromal sarcoma, low grade (C54.1)" ], [ "8932", "0", "Adenomyoma" ], [ "8933", "3", "Adenosarcoma" ], [ "8934", "3", "Carcinofibroma" ], [ "8935", "0", "Stromal tumor, benign" ], [ "8935", "1", "Stromal tumor, NOS" ], [ "8935", "3", "Stromal sarcoma, NOS" ], [ "8936", "0", "Gastrointestinal stromal tumor, benign" ], [ "8936", "1", "Gastrointestinal stromal tumor, NOS" ], [ "8936", "3", "Gastrointestinal stromal sarcoma" ], [ "8950", "3", "Mullerian mixed tumor (C54._)" ], [ "8951", "3", "Mesodermal mixed tumor" ], [ "8959", "0", "Benign cystic nephroma (C64.9)" ], [ "8959", "1", "Cystic partially differentiated nephroblastoma (C64.9)" ], [ "8959", "3", "Malignant cystic nephroma (C64.9)" ], [ "8960", "1", "Mesoblastic nephroma" ], [ "8960", "3", "Nephroblastoma, NOS (C64.9)" ], [ "8963", "3", "Malignant rhabdoid tumor" ], [ "8964", "3", "Clear cell sarcoma of kidney (C64.9)" ], [ "8965", "0", "Nephrogenic adenofibroma (C64.9)" ], [ "8966", "0", "Renomedullary interstitial cell tumor (C64.9)" ], [ "8967", "0", "Ossifying renal tumor (C64.9)" ], [ "8970", "3", "Hepatoblastoma (C22.0)" ], [ "8971", "3", "Pancreatoblastoma (C25._)" ], [ "8972", "3", "Pulmonary blastoma (C34._)" ], [ "8973", "3", "Pleuropulmonary blastoma" ], [ "8974", "1", "Sialoblastoma" ], [ "8981", "3", "Carcinosarcoma, embryonal" ], [ "8982", "0", "Myoepithelioma" ], [ "8982", "3", "Malignant myoepithelioma" ], [ "8983", "0", "Adenomyoepithelioma (C50._)" ], [ "8990", "0", "Mesenchymoma, benign" ], [ "8990", "1", "Mesenchymoma, NOS" ], [ "8990", "3", "Mesenchymoma, malignant" ], [ "8991", "3", "Embryonal sarcoma" ], [ "9000", "0", "Brenner tumor, NOS (C56.9)" ], [ "9000", "1", "Brenner tumor, borderline malignancy (C56.9)" ], [ "9000", "3", "Brenner tumor, malignant (C56.9)" ], [ "9010", "0", "Fibroadenoma, NOS (C50._)" ], [ "9011", "0", "Intracanalicular fibroadenoma (C50._)" ], [ "9012", "0", "Pericanalicular fibroadenoma (C50._)" ], [ "9013", "0", "Adenofibroma, NOS" ], [ "9014", "0", "Serous adenofibroma, NOS" ], [ "9014", "1", "Serous adenofibroma of borderline malignancy" ], [ "9014", "3", "Serous adenocarcinofibroma" ], [ "9015", "0", "Mucinous adenofibroma, NOS" ], [ "9015", "1", "Mucinous adenofibroma of borderline malignancy" ], [ "9015", "3", "Mucinous adenocarcinofibroma" ], [ "9016", "0", "Giant fibroadenoma (C50._)" ], [ "9020", "0", "Phyllodes tumor, benign (C50._)" ], [ "9020", "1", "Phyllodes tumor, borderline (C50._)" ], [ "9020", "3", "Phyllodes tumor, malignant (C50._)" ], [ "9030", "0", "Juvenile fibroadenoma (C50._)" ], [ "9040", "0", "Synovioma, benign" ], [ "9040", "3", "Synovial sarcoma, NOS" ], [ "9041", "3", "Synovial sarcoma, spindle cell" ], [ "9042", "3", "Synovial sarcoma, epithelioid cell" ], [ "9043", "3", "Synovial sarcoma, biphasic" ], [ "9044", "3", "Clear cell sarcoma, NOS (except of kidney M-8964/3)" ], [ "9050", "0", "Mesothelioma, benign" ], [ "9050", "3", "Mesothelioma, malignant" ], [ "9051", "0", "Fibrous mesothelioma, benign" ], [ "9051", "3", "Fibrous mesothelioma, malignant" ], [ "9052", "0", "Epithelioid mesothelioma, benign" ], [ "9052", "3", "Epithelioid mesothelioma, malignant" ], [ "9053", "3", "Mesothelioma, biphasic, malignant" ], [ "9054", "0", "Adenomatoid tumor, NOS" ], [ "9055", "0", "Multicystic mesothelioma, benign" ], [ "9055", "1", "Cystic mesothelioma, NOS (C48._)" ], [ "9060", "3", "Dysgerminoma" ], [ "9061", "3", "Seminoma, NOS (C62._)" ], [ "9062", "3", "Seminoma, anaplastic (C62._)" ], [ "9063", "3", "Spermatocytic seminoma (C62._)" ], [ "9064", "2", "Intratubular malignant germ cells (C62._)" ], [ "9064", "3", "Germinoma" ], [ "9065", "3", "Germ cell tumor, nonseminomatous (C62._)" ], [ "9070", "3", "Embryonal carcinoma, NOS" ], [ "9071", "3", "Yolk sac tumor" ], [ "9072", "3", "Polyembryoma" ], [ "9073", "1", "Gonadoblastoma" ], [ "9080", "0", "Teratoma, benign" ], [ "9080", "1", "Teratoma, NOS" ], [ "9080", "3", "Teratoma, malignant, NOS" ], [ "9081", "3", "Teratocarcinoma" ], [ "9082", "3", "Malignant teratoma, undifferentiated" ], [ "9083", "3", "Malignant teratoma, intermediate" ], [ "9084", "0", "Dermoid cyst, NOS" ], [ "9084", "3", "Teratoma with malignant transformation" ], [ "9085", "3", "Mixed germ cell tumor" ], [ "9090", "0", "Struma ovarii, NOS (C56.9)" ], [ "9090", "3", "Struma ovarii, malignant (C56.9)" ], [ "9091", "1", "Strumal carcinoid (C56.9)" ], [ "9100", "0", "Hydatidiform mole, NOS (C58.9)" ], [ "9100", "1", "Invasive hydatidiform mole (C58.9)" ], [ "9100", "3", "Choriocarcinoma, NOS" ], [ "9101", "3", "Choriocarcinoma combined with other germ cell elements" ], [ "9102", "3", "Malignant teratoma, trophoblastic" ], [ "9103", "0", "Partial hydatidiform mole (C58.9)" ], [ "9104", "1", "Placental site trophoblastic tumor (C58.9)" ], [ "9105", "3", "Trophoblastic tumor, epithelioid" ], [ "9110", "0", "Mesonephroma, benign" ], [ "9110", "1", "Mesonephric tumor, NOS" ], [ "9110", "3", "Mesonephroma, malignant" ], [ "9120", "0", "Hemangioma, NOS" ], [ "9120", "3", "Hemangiosarcoma" ], [ "9121", "0", "Cavernous hemangioma" ], [ "9122", "0", "Venous hemangioma" ], [ "9123", "0", "Racemose hemangioma" ], [ "9124", "3", "Kupffer cell sarcoma (C22.0)" ], [ "9125", "0", "Epithelioid hemangioma" ], [ "9130", "0", "Hemangioendothelioma, benign" ], [ "9130", "1", "Hemangioendothelioma, NOS" ], [ "9130", "3", "Hemangioendothelioma, malignant" ], [ "9131", "0", "Capillary hemangioma" ], [ "9132", "0", "Intramuscular hemangioma" ], [ "9133", "1", "Epithelioid hemangioendothelioma, NOS" ], [ "9133", "3", "Epithelioid hemangioendothelioma, malignant" ], [ "9135", "1", "Endovascular papillary angioendothelioma" ], [ "9136", "1", "Spindle cell hemangioendothelioma" ], [ "9140", "3", "Kaposi sarcoma" ], [ "9141", "0", "Angiokeratoma" ], [ "9142", "0", "Verrucous keratotic hemangioma" ], [ "9150", "0", "Hemangiopericytoma, benign" ], [ "9150", "1", "Hemangiopericytoma, NOS" ], [ "9150", "3", "Hemangiopericytoma, malignant" ], [ "9160", "0", "Angiofibroma, NOS" ], [ "9161", "0", "Acquired tufted hemangioma" ], [ "9161", "1", "Hemangioblastoma" ], [ "9170", "0", "Lymphangioma, NOS" ], [ "9170", "3", "Lymphangiosarcoma" ], [ "9171", "0", "Capillary lymphangioma" ], [ "9172", "0", "Cavernous lymphangioma" ], [ "9173", "0", "Cystic lymphangioma" ], [ "9174", "0", "Lymphangiomyoma" ], [ "9174", "1", "Lymphangiomyomatosis" ], [ "9175", "0", "Hemolymphangioma" ], [ "9180", "0", "Osteoma, NOS (C40._, C41._)" ], [ "9180", "3", "Osteosarcoma, NOS (C40._, C41._)" ], [ "9181", "3", "Chondroblastic osteosarcoma (C40._, C41._)" ], [ "9182", "3", "Fibroblastic osteosarcoma (C40._, C41._)" ], [ "9183", "3", "Telangiectatic osteosarcoma (C40._, C41._)" ], [ "9184", "3", "Osteosarcoma in Paget disease of bone (C40._, C41._)" ], [ "9185", "3", "Small cell osteosarcoma (C40._, C41._)" ], [ "9186", "3", "Central osteosarcoma (C40._, C41._)" ], [ "9187", "3", "Intraosseous well differentiated osteosarcoma (C40._, C41._)" ], [ "9191", "0", "Osteoid osteoma, NOS (C40._, C41._)" ], [ "9192", "3", "Parosteal osteosarcoma (C40._, C41._)" ], [ "9193", "3", "Periosteal osteosarcoma (C40._, C41._)" ], [ "9194", "3", "High grade surface osteosarcoma (C40._, C41._)" ], [ "9195", "3", "Intracortical osteosarcoma (C40._, C41._)" ], [ "9200", "0", "Osteoblastoma, NOS (C40._, C41._)" ], [ "9200", "1", "Aggressive osteoblastoma (C40._, C41._)" ], [ "9210", "0", "Osteochondroma (C40._, C41._)" ], [ "9210", "1", "Osteochondromatosis, NOS (C40._, C41._)" ], [ "9220", "0", "Chondroma, NOS (C40._, C41._)" ], [ "9220", "1", "Chondromatosis, NOS" ], [ "9220", "3", "Chondrosarcoma, NOS (C40._, C41._)" ], [ "9221", "0", "Juxtacortical chondroma (C40._, C41._)" ], [ "9221", "3", "Juxtacortical chondrosarcoma (C40._, C41._)" ], [ "9230", "0", "Chondroblastoma, NOS (C40._, C41._)" ], [ "9230", "3", "Chondroblastoma, malignant (C40._, C41._)" ], [ "9231", "3", "Myxoid chondrosarcoma" ], [ "9240", "3", "Mesenchymal chondrosarcoma" ], [ "9241", "0", "Chondromyxoid fibroma (C40._, C41._)" ], [ "9242", "3", "Clear cell chondrosarcoma (C40._, C41._)" ], [ "9243", "3", "Dedifferentiated chondrosarcoma (C40._, C41._)" ], [ "9250", "1", "Giant cell tumor of bone, NOS (C40._, C41._)" ], [ "9250", "3", "Giant cell tumor of bone, malignant (C40._, C41._)" ], [ "9251", "1", "Giant cell tumor of soft parts, NOS" ], [ "9251", "3", "Malignant giant cell tumor of soft parts" ], [ "9252", "0", "Tenosynovial giant cell tumor (C49._)" ], [ "9252", "3", "Malignant tenosynovial giant cell tumor (C49._)" ], [ "9260", "3", "Ewing sarcoma" ], [ "9261", "3", "Adamantinoma of long bones (C40._)" ], [ "9262", "0", "Ossifying fibroma" ], [ "9270", "0", "Odontogenic tumor, benign" ], [ "9270", "1", "Odontogenic tumor, NOS" ], [ "9270", "3", "Odontogenic tumor, malignant" ], [ "9271", "0", "Ameloblastic fibrodentinoma" ], [ "9272", "0", "Cementoma, NOS" ], [ "9273", "0", "Cementoblastoma, benign" ], [ "9274", "0", "Cementifying fibroma" ], [ "9275", "0", "Gigantiform cementoma" ], [ "9280", "0", "Odontoma, NOS" ], [ "9281", "0", "Compound odontoma" ], [ "9282", "0", "Complex odontoma" ], [ "9290", "0", "Ameloblastic fibro-odontoma" ], [ "9290", "3", "Ameloblastic odontosarcoma" ], [ "9300", "0", "Adenomatoid odontogenic tumor" ], [ "9301", "0", "Calcifying odontogenic cyst" ], [ "9302", "0", "Odontogenic ghost cell tumor" ], [ "9310", "0", "Ameloblastoma, NOS" ], [ "9310", "3", "Ameloblastoma, malignant" ], [ "9311", "0", "Odontoameloblastoma" ], [ "9312", "0", "Squamous odontogenic tumor" ], [ "9320", "0", "Odontogenic myxoma" ], [ "9321", "0", "Central odontogenic fibroma" ], [ "9322", "0", "Peripheral odontogenic fibroma" ], [ "9330", "0", "Ameloblastic fibroma" ], [ "9330", "3", "Ameloblastic fibrosarcoma" ], [ "9340", "0", "Calcifying epithelial odontogenic tumor" ], [ "9341", "1", "Clear cell odontogenic tumor" ], [ "9342", "3", "Odontogenic carcinosarcoma" ], [ "9350", "1", "Craniopharyngioma (C75.2)" ], [ "9351", "1", "Craniopharyngioma, adamantinomatous (C75.2)" ], [ "9352", "1", "Craniopharyngioma, papillary (C75.2)" ], [ "9360", "1", "Pinealoma (C75.3)" ], [ "9361", "1", "Pineocytoma (C75.3)" ], [ "9362", "3", "Pineoblastoma (C75.3)" ], [ "9363", "0", "Melanotic neuroectodermal tumor" ], [ "9364", "3", "Peripheral neuroectodermal tumor" ], [ "9365", "3", "Askin tumor" ], [ "9370", "3", "Chordoma, NOS" ], [ "9371", "3", "Chondroid chordoma" ], [ "9372", "3", "Dedifferentiated chordoma" ], [ "9373", "0", "Parachordoma" ], [ "9380", "3", "Glioma, malignant (C71._)" ], [ "9381", "3", "Gliomatosis cerebri (C71._)" ], [ "9382", "3", "Mixed glioma (C71._)" ], [ "9383", "1", "Subependymoma (C71._)" ], [ "9384", "1", "Subependymal giant cell astrocytoma (C71._)" ], [ "9390", "0", "Choroid plexus papilloma, NOS (C71.5)" ], [ "9390", "1", "Atypical choroid plexus papilloma (C71.5)" ], [ "9390", "3", "Choroid plexus carcinoma (C71.5)" ], [ "9391", "3", "Ependymoma, NOS (C71._)" ], [ "9392", "3", "Ependymoma, anaplastic (C71._)" ], [ "9393", "3", "Papillary ependymoma (C71._)" ], [ "9394", "1", "Myxopapillary ependymoma (C72.0)" ], [ "9400", "3", "Astrocytoma, NOS (C71._)" ], [ "9401", "3", "Astrocytoma, anaplastic (C71._)" ], [ "9410", "3", "Protoplasmic astrocytoma (C71._)" ], [ "9411", "3", "Gemistocytic astrocytoma (C71._)" ], [ "9412", "1", "Desmoplastic infantile astrocytoma (C71._)" ], [ "9413", "0", "Dysembryoplastic neuroepithelial tumor" ], [ "9420", "3", "Fibrillary astrocytoma (C71._)" ], [ "9421", "1", "Pilocytic astrocytoma (C71._)" ], [ "9423", "3", "Polar spongioblastoma (C71._)" ], [ "9424", "3", "Pleomorphic xanthoastrocytoma (C71._)" ], [ "9430", "3", "Astroblastoma (C71._)" ], [ "9440", "3", "Glioblastoma, NOS (C71._)" ], [ "9441", "3", "Giant cell glioblastoma (C71._)" ], [ "9442", "1", "Gliofibroma (C71._)" ], [ "9442", "3", "Gliosarcoma (C71._)" ], [ "9444", "1", "Chordoid glioma (C71._)" ], [ "9450", "3", "Oligodendroglioma, NOS (C71._)" ], [ "9451", "3", "Oligodendroglioma, anaplastic (C71._)" ], [ "9460", "3", "Oligodendroblastoma (C71._) [obs]" ], [ "9470", "3", "Medulloblastoma, NOS (C71.6)" ], [ "9471", "3", "Desmoplastic nodular medulloblastoma (C71.6)" ], [ "9472", "3", "Medullomyoblastoma (C71.6)" ], [ "9473", "3", "Primitive neuroectodermal tumor, NOS" ], [ "9474", "3", "Large cell medulloblastoma (C71.6)" ], [ "9480", "3", "Cerebellar sarcoma, NOS (C71.6) [obs]" ], [ "9490", "0", "Ganglioneuroma" ], [ "9490", "3", "Ganglioneuroblastoma" ], [ "9491", "0", "Ganglioneuromatosis" ], [ "9492", "0", "Gangliocytoma" ], [ "9493", "0", "Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" ], [ "9500", "3", "Neuroblastoma, NOS" ], [ "9501", "0", "Medulloepithelioma, benign (C69.4)" ], [ "9501", "3", "Medulloepithelioma, NOS" ], [ "9502", "0", "Teratoid medulloepithelioma, benign (C69.4)" ], [ "9502", "3", "Teratoid medulloepithelioma" ], [ "9503", "3", "Neuroepithelioma, NOS" ], [ "9504", "3", "Spongioneuroblastoma" ], [ "9505", "1", "Ganglioglioma, NOS" ], [ "9505", "3", "Ganglioglioma, anaplastic" ], [ "9506", "1", "Central neurocytoma" ], [ "9507", "0", "Pacinian tumor" ], [ "9508", "3", "Atypical teratoid/rhabdoid tumor (C71._)" ], [ "9510", "0", "Retinocytoma (C69.2)" ], [ "9510", "3", "Retinoblastoma, NOS (C69.2)" ], [ "9511", "3", "Retinoblastoma, differentiated (C69.2)" ], [ "9512", "3", "Retinoblastoma, undifferentiated (C69.2)" ], [ "9513", "3", "Retinoblastoma, diffuse (C69.2)" ], [ "9514", "1", "Retinoblastoma, spontaneously regressed (C69.2)" ], [ "9520", "3", "Olfactory neurogenic tumor" ], [ "9521", "3", "Olfactory neurocytoma (C30.0)" ], [ "9522", "3", "Olfactory neuroblastoma (C30.0)" ], [ "9523", "3", "Olfactory neuroepithelioma (C30.0)" ], [ "9530", "0", "Meningioma, NOS" ], [ "9530", "1", "Meningiomatosis, NOS" ], [ "9530", "3", "Meningioma, malignant" ], [ "9531", "0", "Meningothelial meningioma" ], [ "9532", "0", "Fibrous meningioma" ], [ "9533", "0", "Psammomatous meningioma" ], [ "9534", "0", "Angiomatous meningioma" ], [ "9535", "0", "Hemangioblastic meningioma [obs]" ], [ "9537", "0", "Transitional meningioma" ], [ "9538", "1", "Clear cell meningioma" ], [ "9538", "3", "Papillary meningioma" ], [ "9539", "1", "Atypical meningioma" ], [ "9539", "3", "Meningeal sarcomatosis" ], [ "9540", "0", "Neurofibroma, NOS" ], [ "9540", "1", "Neurofibromatosis, NOS" ], [ "9540", "3", "Malignant peripheral nerve sheath tumor" ], [ "9541", "0", "Melanotic neurofibroma" ], [ "9550", "0", "Plexiform neurofibroma" ], [ "9560", "0", "Neurilemoma, NOS" ], [ "9560", "1", "Neurinomatosis" ], [ "9560", "3", "Neurilemoma, malignant [obs]" ], [ "9561", "3", "Malignant peripheral nerve sheath tumor with rhabdomyoblastic differentiation" ], [ "9562", "0", "Neurothekeoma" ], [ "9570", "0", "Neuroma, NOS" ], [ "9571", "0", "Perineurioma, NOS" ], [ "9571", "3", "Perineurioma, malignant" ], [ "9580", "0", "Granular cell tumor, NOS" ], [ "9580", "3", "Granular cell tumor, malignant" ], [ "9581", "3", "Alveolar soft part sarcoma" ], [ "9582", "0", "Granular cell tumor of the sellar region (C75.1)" ], [ "9590", "3", "Malignant lymphoma, NOS" ], [ "9591", "3", "Malignant lymphoma, non-Hodgkin, NOS" ], [ "9596", "3", "Composite Hodgkin and non-Hodgkin lymphoma" ], [ "9650", "3", "Hodgkin lymphoma, NOS" ], [ "9651", "3", "Hodgkin lymphoma, lymphocyte-rich" ], [ "9652", "3", "Hodgkin lymphoma, mixed cellularity, NOS" ], [ "9653", "3", "Hodgkin lymphoma, lymphocyte depletion, NOS" ], [ "9654", "3", "Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" ], [ "9655", "3", "Hodgkin lymphoma, lymphocyte depletion, reticular" ], [ "9659", "3", "Hodgkin lymphoma, nodular lymphocyte predominance" ], [ "9661", "3", "Hodgkin granuloma [obs]" ], [ "9662", "3", "Hodgkin sarcoma [obs]" ], [ "9663", "3", "Hodgkin lymphoma, nodular sclerosis, NOS" ], [ "9664", "3", "Hodgkin lymphoma, nodular sclerosis, cellular phase" ], [ "9665", "3", "Hodgkin lymphoma, nodular sclerosis, grade 1" ], [ "9667", "3", "Hodgkin lymphoma, nodular sclerosis, grade 2" ], [ "9670", "3", "Malignant lymphoma, small B lymphocytic, NOS (see also M-9823/3)" ], [ "9671", "3", "Malignant lymphoma, lymphoplasmacytic (see also M-9761/3)" ], [ "9673", "3", "Mantle cell lymphoma" ], [ "9675", "3", "Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" ], [ "9678", "3", "Primary effusion lymphoma" ], [ "9679", "3", "Mediastinal large B-cell lymphoma (C38.3)" ], [ "9680", "3", "Malignant lymphoma, large B-cell, diffuse, NOS" ], [ "9684", "3", "Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" ], [ "9687", "3", "Burkitt lymphoma, NOS (see also M-9826/3)" ], [ "9689", "3", "Splenic marginal zone B-cell lymphoma (C42.2)" ], [ "9690", "3", "Follicular lymphoma, NOS (see also M-9675/3)" ], [ "9691", "3", "Follicular lymphoma, grade 2" ], [ "9695", "3", "Follicular lymphoma, grade 1" ], [ "9698", "3", "Follicular lymphoma, grade 3" ], [ "9699", "3", "Marginal zone B-cell lymphoma, NOS" ], [ "9700", "3", "Mycosis fungoides (C44._)" ], [ "9701", "3", "Sezary syndrome" ], [ "9702", "3", "Mature T-cell lymphoma, NOS" ], [ "9705", "3", "Angioimmunoblastic T-cell lymphoma" ], [ "9708", "3", "Subcutaneous panniculitis-like T-cell lymphoma" ], [ "9709", "3", "Cutaneous T-cell lymphoma, NOS (C44._)" ], [ "9714", "3", "Anaplastic large cell lymphoma, T cell and Null cell type" ], [ "9716", "3", "Hepatosplenic ?? (gamma-delta) cell lymphoma" ], [ "9717", "3", "Intestinal T-cell lymphoma" ], [ "9718", "3", "Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" ], [ "9719", "3", "NK/T-cell lymphoma, nasal and nasal-type" ], [ "9727", "3", "Precursor cell lymphoblastic lymphoma, NOS (see also M-9835/3)" ], [ "9728", "3", "Precursor B-cell lymphoblastic lymphoma (see also M-9836/3)" ], [ "9729", "3", "Precursor T-cell lymphoblastic lymphoma (see also M-9837/3)" ], [ "9731", "3", "Plasmacytoma, NOS" ], [ "9732", "3", "Multiple myeloma (C42.1)" ], [ "9733", "3", "Plasma cell leukemia (C42.1)" ], [ "9734", "3", "Plasmacytoma, extramedullary (not occurring in bone)" ], [ "9740", "1", "Mastocytoma, NOS" ], [ "9740", "3", "Mast cell sarcoma" ], [ "9741", "3", "Malignant mastocytosis" ], [ "9742", "3", "Mast cell leukemia (C42.1)" ], [ "9750", "3", "Malignant histiocytosis" ], [ "9751", "1", "Langerhans cell histiocytosis, NOS" ], [ "9752", "1", "Langerhans cell histiocytosis, unifocal" ], [ "9753", "1", "Langerhans cell histiocytosis, multifocal" ], [ "9754", "3", "Langerhans cell histiocytosis, disseminated" ], [ "9755", "3", "Histiocytic sarcoma" ], [ "9756", "3", "Langerhans cell sarcoma" ], [ "9757", "3", "Interdigitating dendritic cell sarcoma" ], [ "9758", "3", "Follicular dendritic cell sarcoma" ], [ "9760", "3", "Immunoproliferative disease, NOS" ], [ "9761", "3", "Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" ], [ "9762", "3", "Heavy chain disease, NOS" ], [ "9764", "3", "Immunoproliferative small intestinal disease (C17._)" ], [ "9765", "1", "Monoclonal gammopathy of undetermined significance" ], [ "9766", "1", "Angiocentric immunoproliferative lesion" ], [ "9767", "1", "Angioimmunoblastic lymphadenopathy" ], [ "9768", "1", "T-gamma lymphoproliferative disease" ], [ "9769", "1", "Immunoglobulin deposition disease" ], [ "9800", "3", "Leukemia, NOS" ], [ "9801", "3", "Acute leukemia, NOS" ], [ "9805", "3", "Acute biphenotypic leukemia" ], [ "9820", "3", "Lymphoid leukemia, NOS" ], [ "9823", "3", "B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" ], [ "9826", "3", "Burkitt cell leukemia (see also M-9687/3)" ], [ "9827", "3", "Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" ], [ "9831", "1", "T-cell large granular lymphocytic leukemia" ], [ "9832", "3", "Prolymphocytic leukemia, NOS" ], [ "9833", "3", "Prolymphocytic leukemia, B-cell type" ], [ "9834", "3", "Prolymphocytic leukemia, T-cell type" ], [ "9835", "3", "Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" ], [ "9836", "3", "Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" ], [ "9837", "3", "Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" ], [ "9840", "3", "Acute myeloid leukemia, M6 type" ], [ "9860", "3", "Myeloid leukemia, NOS" ], [ "9861", "3", "Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" ], [ "9863", "3", "Chronic myeloid leukemia, NOS" ], [ "9866", "3", "Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" ], [ "9867", "3", "Acute myelomonocytic leukemia" ], [ "9870", "3", "Acute basophilic leukemia" ], [ "9871", "3", "Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" ], [ "9872", "3", "Acute myeloid leukemia, minimal differentiation" ], [ "9873", "3", "Acute myeloid leukemia without maturation" ], [ "9874", "3", "Acute myeloid leukemia with maturation" ], [ "9875", "3", "Chronic myelogenous leukemia, BCR/ABL positive" ], [ "9876", "3", "Atypical chronic myeloid leukemia, BCR/ABL negative" ], [ "9891", "3", "Acute monocytic leukemia" ], [ "9895", "3", "Acute myeloid leukemia with multilineage dysplasia" ], [ "9896", "3", "Acute myeloid leukemia, t(8;21)(q22;q22)" ], [ "9897", "3", "Acute myeloid leukemia, 11q23 abnormalities" ], [ "9910", "3", "Acute megakaryoblastic leukemia" ], [ "9920", "3", "Therapy-related acute myeloid leukemia, NOS" ], [ "9930", "3", "Myeloid sarcoma (see also M-9861/3)" ], [ "9931", "3", "Acute panmyelosis with myelofibrosis (C42.1)" ], [ "9940", "3", "Hairy cell leukemia (C42.1)" ], [ "9945", "3", "Chronic myelomonocytic leukemia, NOS" ], [ "9946", "3", "Juvenile myelomonocytic leukemia" ], [ "9948", "3", "Aggressive NK-cell leukemia" ], [ "9950", "3", "Polycythemia vera" ], [ "9960", "3", "Chronic myeloproliferative disease, NOS" ], [ "9961", "3", "Myelosclerosis with myeloid metaplasia" ], [ "9962", "3", "Essential thrombocythemia" ], [ "9963", "3", "Chronic neutrophilic leukemia" ], [ "9964", "3", "Hypereosinophilic syndrome" ], [ "9970", "1", "Lymphoproliferative disorder, NOS" ], [ "9975", "1", "Myeloproliferative disease, NOS" ], [ "9980", "3", "Refractory anemia" ], [ "9982", "3", "Refractory anemia with sideroblasts" ], [ "9983", "3", "Refractory anemia with excess blasts" ], [ "9984", "3", "Refractory anemia with excess blasts in transformation [obs]" ], [ "9985", "3", "Refractory cytopenia with multilineage dysplasia" ], [ "9986", "3", "Myelodysplastic syndrome with 5q deletion (5q-) syndrome" ], [ "9987", "3", "Therapy-related myelodysplastic syndrome, NOS" ], [ "9989", "3", "Myelodysplastic syndrome, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pad.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pad.json deleted file mode 100644 index aca99b5f1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pad.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ajcc6_exclusions_pad", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Exclusions", - "title" : "Histology Exclusion Table AJCC 6th ed.", - "notes" : "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. For these cases, displayed results will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified" : "2015-05-27T16:18:46.541Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8240", "1", "Carcinoid tumor of uncertain malignant potential" ], [ "8240", "3", "Carcinoid tumor, NOS (except of appendix M-8240/1)" ], [ "8241", "3", "Enterochromaffin cell carcinoid" ], [ "8242", "1", "Enterochromaffin-like cell carcinoid, NOS" ], [ "8242", "3", "Enterochromaffin-like cell tumor, malignant" ], [ "8243", "3", "Goblet cell carcinoid" ], [ "8244", "3", "Composite carcinoid" ], [ "8245", "1", "Tubular carcinoid" ], [ "8245", "3", "Adenocarcinoid tumor" ], [ "8246", "3", "Neuroendocrine carcinoma, NOS" ], [ "8247", "3", "Merkel cell carcinoma (C44._)" ], [ "8248", "1", "Apudoma" ], [ "8249", "3", "Atypical carcinoid tumor" ], [ "8680", "0", "Paraganglioma, benign" ], [ "8680", "1", "Paraganglioma, NOS" ], [ "8680", "3", "Paraganglioma, malignant" ], [ "8681", "1", "Sympathetic paraganglioma" ], [ "8682", "1", "Parasympathetic paraganglioma" ], [ "8683", "0", "Gangliocytic paraganglioma (C17.0)" ], [ "8690", "1", "Glomus jugulare tumor, NOS (C75.5)" ], [ "8691", "1", "Aortic body tumor (C75.5)" ], [ "8692", "1", "Carotid body tumor (C75.4)" ], [ "8693", "1", "Extra-adrenal paraganglioma, NOS" ], [ "8693", "3", "Extra-adrenal paraganglioma, malignant" ], [ "8700", "0", "Pheochromocytoma, NOS (C74.1)" ], [ "8700", "3", "Pheochromocytoma, malignant (C74.1)" ], [ "8710", "3", "Glomangiosarcoma" ], [ "8711", "0", "Glomus tumor, NOS" ], [ "8711", "3", "Glomus tumor, malignant" ], [ "8712", "0", "Glomangioma" ], [ "8713", "0", "Glomangiomyoma" ], [ "8720", "0", "Pigmented nevus, NOS (C44._)" ], [ "8720", "2", "Melanoma in situ" ], [ "8720", "3", "Malignant melanoma, NOS (except juvenile melanoma M-8770/0)" ], [ "8721", "3", "Nodular melanoma (C44._)" ], [ "8722", "0", "Balloon cell nevus (C44._)" ], [ "8722", "3", "Balloon cell melanoma (C44._)" ], [ "8723", "0", "Halo nevus (C44._)" ], [ "8723", "3", "Malignant melanoma, regressing (C44._)" ], [ "8725", "0", "Neuronevus (C44._)" ], [ "8726", "0", "Magnocellular nevus (C69.4)" ], [ "8727", "0", "Dysplastic nevus (C44._)" ], [ "8728", "0", "Diffuse melanocytosis (C70.9)" ], [ "8728", "1", "Meningeal melanocytoma (C70.9)" ], [ "8728", "3", "Meningeal melanomatosis (C70.9)" ], [ "8730", "0", "Nonpigmented nevus (C44._)" ], [ "8730", "3", "Amelanotic melanoma (C44._)" ], [ "8740", "0", "Junctional nevus, NOS (C44._)" ], [ "8740", "3", "Malignant melanoma in junctional nevus (C44._)" ], [ "8741", "2", "Precancerous melanosis, NOS (C44._)" ], [ "8741", "3", "Malignant melanoma in precancerous melanosis (C44._)" ], [ "8742", "2", "Lentigo maligna (C44._)" ], [ "8742", "3", "Lentigo maligna melanoma (C44._)" ], [ "8743", "3", "Superficial spreading melanoma (C44._)" ], [ "8744", "3", "Acral lentiginous melanoma, malignant (C44._)" ], [ "8745", "3", "Desmoplastic melanoma, malignant (C44._)" ], [ "8746", "3", "Mucosal lentiginous melanoma" ], [ "8750", "0", "Intradermal nevus (C44._)" ], [ "8760", "0", "Compound nevus (C44._)" ], [ "8761", "0", "Small congenital nevus (C44._)" ], [ "8761", "1", "Giant pigmented nevus, NOS (C44._)" ], [ "8761", "3", "Malignant melanoma in giant pigmented nevus (C44._)" ], [ "8762", "1", "Proliferative dermal lesion in congenital nevus (C44._)" ], [ "8770", "0", "Epithelioid and spindle cell nevus (C44._)" ], [ "8770", "3", "Mixed epithelioid and spindle cell melanoma" ], [ "8771", "0", "Epithelioid cell nevus (C44._)" ], [ "8771", "3", "Epithelioid cell melanoma" ], [ "8772", "0", "Spindle cell nevus, NOS (C44._)" ], [ "8772", "3", "Spindle cell melanoma, NOS" ], [ "8773", "3", "Spindle cell melanoma, type A (C69._)" ], [ "8774", "3", "Spindle cell melanoma, type B (C69._)" ], [ "8780", "0", "Blue nevus, NOS (C44._)" ], [ "8780", "3", "Blue nevus, malignant (C44._)" ], [ "8790", "0", "Cellular blue nevus (C44._)" ], [ "8800", "0", "Soft tissue tumor, benign" ], [ "8800", "3", "Sarcoma, NOS" ], [ "8800", "9", "Sarcomatosis, NOS" ], [ "8801", "3", "Spindle cell sarcoma" ], [ "8802", "3", "Giant cell sarcoma (except of bone M-9250/3)" ], [ "8803", "3", "Small cell sarcoma" ], [ "8804", "3", "Epithelioid sarcoma" ], [ "8805", "3", "Undifferentiated sarcoma" ], [ "8806", "3", "Desmoplastic small round cell tumor" ], [ "8810", "0", "Fibroma, NOS" ], [ "8810", "1", "Cellular fibroma (C56.9)" ], [ "8810", "3", "Fibrosarcoma, NOS" ], [ "8811", "0", "Fibromyxoma" ], [ "8811", "3", "Fibromyxosarcoma" ], [ "8812", "0", "Periosteal fibroma (C40._, C41._)" ], [ "8812", "3", "Periosteal fibrosarcoma (C40._, C41._)" ], [ "8813", "0", "Fascial fibroma" ], [ "8813", "3", "Fascial fibrosarcoma" ], [ "8814", "3", "Infantile fibrosarcoma" ], [ "8815", "0", "Solitary fibrous tumor" ], [ "8815", "3", "Solitary fibrous tumor, malignant" ], [ "8820", "0", "Elastofibroma" ], [ "8821", "1", "Aggressive fibromatosis" ], [ "8822", "1", "Abdominal fibromatosis" ], [ "8823", "0", "Desmoplastic fibroma" ], [ "8824", "0", "Myofibroma" ], [ "8824", "1", "Myofibromatosis" ], [ "8825", "0", "Myofibroblastoma" ], [ "8825", "1", "Myofibroblastic tumor, NOS" ], [ "8826", "0", "Angiomyofibroblastoma" ], [ "8827", "1", "Myofibroblastic tumor, peribronchial (C34._)" ], [ "8830", "0", "Benign fibrous histiocytoma" ], [ "8830", "1", "Atypical fibrous histiocytoma" ], [ "8830", "3", "Malignant fibrous histiocytoma" ], [ "8831", "0", "Histiocytoma, NOS" ], [ "8832", "0", "Dermatofibroma, NOS (C44._)" ], [ "8832", "3", "Dermatofibrosarcoma, NOS (C44._)" ], [ "8833", "3", "Pigmented dermatofibrosarcoma protuberans (C44._)" ], [ "8834", "1", "Giant cell fibroblastoma" ], [ "8835", "1", "Plexiform fibrohistiocytic tumor" ], [ "8836", "1", "Angiomatoid fibrous histiocytoma" ], [ "8840", "0", "Myxoma, NOS" ], [ "8840", "3", "Myxosarcoma" ], [ "8841", "1", "Angiomyxoma" ], [ "8842", "0", "Ossifying fibromyxoid tumor" ], [ "8850", "0", "Lipoma, NOS" ], [ "8850", "1", "Atypical lipoma" ], [ "8850", "3", "Liposarcoma, NOS" ], [ "8851", "0", "Fibrolipoma" ], [ "8851", "3", "Liposarcoma, well differentiated" ], [ "8852", "0", "Fibromyxolipoma" ], [ "8852", "3", "Myxoid liposarcoma" ], [ "8853", "3", "Round cell liposarcoma" ], [ "8854", "0", "Pleomorphic lipoma" ], [ "8854", "3", "Pleomorphic liposarcoma" ], [ "8855", "3", "Mixed liposarcoma" ], [ "8856", "0", "Intramuscular lipoma" ], [ "8857", "0", "Spindle cell lipoma" ], [ "8857", "3", "Fibroblastic liposarcoma" ], [ "8858", "3", "Dedifferentiated liposarcoma" ], [ "8860", "0", "Angiomyolipoma" ], [ "8861", "0", "Angiolipoma, NOS" ], [ "8862", "0", "Chondroid lipoma" ], [ "8870", "0", "Myelolipoma" ], [ "8880", "0", "Hibernoma" ], [ "8881", "0", "Lipoblastomatosis" ], [ "8890", "0", "Leiomyoma, NOS" ], [ "8890", "1", "Leiomyomatosis, NOS" ], [ "8890", "3", "Leiomyosarcoma, NOS" ], [ "8891", "0", "Epithelioid leiomyoma" ], [ "8891", "3", "Epithelioid leiomyosarcoma" ], [ "8892", "0", "Cellular leiomyoma" ], [ "8893", "0", "Bizarre leiomyoma" ], [ "8894", "0", "Angiomyoma" ], [ "8894", "3", "Angiomyosarcoma" ], [ "8895", "0", "Myoma" ], [ "8895", "3", "Myosarcoma" ], [ "8896", "3", "Myxoid leiomyosarcoma" ], [ "8897", "1", "Smooth muscle tumor of uncertain malignant potential" ], [ "8898", "1", "Metastasizing leiomyoma" ], [ "8900", "0", "Rhabdomyoma, NOS" ], [ "8900", "3", "Rhabdomyosarcoma, NOS" ], [ "8901", "3", "Pleomorphic rhabdomyosarcoma, adult type" ], [ "8902", "3", "Mixed type rhabdomyosarcoma" ], [ "8903", "0", "Fetal rhabdomyoma" ], [ "8904", "0", "Adult rhabdomyoma" ], [ "8905", "0", "Genital rhabdomyoma (C51._, C52.9)" ], [ "8910", "3", "Embryonal rhabdomyosarcoma, NOS" ], [ "8912", "3", "Spindle cell rhabdomyosarcoma" ], [ "8920", "3", "Alveolar rhabdomyosarcoma" ], [ "8921", "3", "Rhabdomyosarcoma with ganglionic differentiation" ], [ "8930", "0", "Endometrial stromal nodule (C54.1)" ], [ "8930", "3", "Endometrial stromal sarcoma, NOS (C54.1)" ], [ "8931", "3", "Endometrial stromal sarcoma, low grade (C54.1)" ], [ "8932", "0", "Adenomyoma" ], [ "8933", "3", "Adenosarcoma" ], [ "8934", "3", "Carcinofibroma" ], [ "8935", "0", "Stromal tumor, benign" ], [ "8935", "1", "Stromal tumor, NOS" ], [ "8935", "3", "Stromal sarcoma, NOS" ], [ "8936", "0", "Gastrointestinal stromal tumor, benign" ], [ "8936", "1", "Gastrointestinal stromal tumor, NOS" ], [ "8936", "3", "Gastrointestinal stromal sarcoma" ], [ "8959", "0", "Benign cystic nephroma (C64.9)" ], [ "8959", "1", "Cystic partially differentiated nephroblastoma (C64.9)" ], [ "8959", "3", "Malignant cystic nephroma (C64.9)" ], [ "8960", "1", "Mesoblastic nephroma" ], [ "8960", "3", "Nephroblastoma, NOS (C64.9)" ], [ "8963", "3", "Malignant rhabdoid tumor" ], [ "8964", "3", "Clear cell sarcoma of kidney (C64.9)" ], [ "8965", "0", "Nephrogenic adenofibroma (C64.9)" ], [ "8966", "0", "Renomedullary interstitial cell tumor (C64.9)" ], [ "8967", "0", "Ossifying renal tumor (C64.9)" ], [ "8970", "3", "Hepatoblastoma (C22.0)" ], [ "8971", "3", "Pancreatoblastoma (C25._)" ], [ "8972", "3", "Pulmonary blastoma (C34._)" ], [ "8973", "3", "Pleuropulmonary blastoma" ], [ "8974", "1", "Sialoblastoma" ], [ "8980", "3", "Carcinosarcoma, NOS" ], [ "8981", "3", "Carcinosarcoma, embryonal" ], [ "8982", "0", "Myoepithelioma" ], [ "8982", "3", "Malignant myoepithelioma" ], [ "8983", "0", "Adenomyoepithelioma (C50._)" ], [ "8990", "0", "Mesenchymoma, benign" ], [ "8990", "1", "Mesenchymoma, NOS" ], [ "8990", "3", "Mesenchymoma, malignant" ], [ "8991", "3", "Embryonal sarcoma" ], [ "9000", "0", "Brenner tumor, NOS (C56.9)" ], [ "9000", "1", "Brenner tumor, borderline malignancy (C56.9)" ], [ "9010", "0", "Fibroadenoma, NOS (C50._)" ], [ "9011", "0", "Intracanalicular fibroadenoma (C50._)" ], [ "9012", "0", "Pericanalicular fibroadenoma (C50._)" ], [ "9013", "0", "Adenofibroma, NOS" ], [ "9014", "0", "Serous adenofibroma, NOS" ], [ "9014", "1", "Serous adenofibroma of borderline malignancy" ], [ "9014", "3", "Serous adenocarcinofibroma" ], [ "9015", "0", "Mucinous adenofibroma, NOS" ], [ "9015", "1", "Mucinous adenofibroma of borderline malignancy" ], [ "9015", "3", "Mucinous adenocarcinofibroma" ], [ "9016", "0", "Giant fibroadenoma (C50._)" ], [ "9020", "0", "Phyllodes tumor, benign (C50._)" ], [ "9020", "1", "Phyllodes tumor, borderline (C50._)" ], [ "9020", "3", "Phyllodes tumor, malignant (C50._)" ], [ "9030", "0", "Juvenile fibroadenoma (C50._)" ], [ "9040", "0", "Synovioma, benign" ], [ "9040", "3", "Synovial sarcoma, NOS" ], [ "9041", "3", "Synovial sarcoma, spindle cell" ], [ "9042", "3", "Synovial sarcoma, epithelioid cell" ], [ "9043", "3", "Synovial sarcoma, biphasic" ], [ "9044", "3", "Clear cell sarcoma, NOS (except of kidney M-8964/3)" ], [ "9050", "0", "Mesothelioma, benign" ], [ "9050", "3", "Mesothelioma, malignant" ], [ "9051", "0", "Fibrous mesothelioma, benign" ], [ "9051", "3", "Fibrous mesothelioma, malignant" ], [ "9052", "0", "Epithelioid mesothelioma, benign" ], [ "9052", "3", "Epithelioid mesothelioma, malignant" ], [ "9053", "3", "Mesothelioma, biphasic, malignant" ], [ "9054", "0", "Adenomatoid tumor, NOS" ], [ "9055", "0", "Multicystic mesothelioma, benign" ], [ "9055", "1", "Cystic mesothelioma, NOS (C48._)" ], [ "9100", "0", "Hydatidiform mole, NOS (C58.9)" ], [ "9100", "1", "Invasive hydatidiform mole (C58.9)" ], [ "9100", "3", "Choriocarcinoma, NOS" ], [ "9101", "3", "Choriocarcinoma combined with other germ cell elements" ], [ "9102", "3", "Malignant teratoma, trophoblastic" ], [ "9103", "0", "Partial hydatidiform mole (C58.9)" ], [ "9104", "1", "Placental site trophoblastic tumor (C58.9)" ], [ "9105", "3", "Trophoblastic tumor, epithelioid" ], [ "9110", "0", "Mesonephroma, benign" ], [ "9110", "1", "Mesonephric tumor, NOS" ], [ "9110", "3", "Mesonephroma, malignant" ], [ "9120", "0", "Hemangioma, NOS" ], [ "9120", "3", "Hemangiosarcoma" ], [ "9121", "0", "Cavernous hemangioma" ], [ "9122", "0", "Venous hemangioma" ], [ "9123", "0", "Racemose hemangioma" ], [ "9124", "3", "Kupffer cell sarcoma (C22.0)" ], [ "9125", "0", "Epithelioid hemangioma" ], [ "9130", "0", "Hemangioendothelioma, benign" ], [ "9130", "1", "Hemangioendothelioma, NOS" ], [ "9130", "3", "Hemangioendothelioma, malignant" ], [ "9131", "0", "Capillary hemangioma" ], [ "9132", "0", "Intramuscular hemangioma" ], [ "9133", "1", "Epithelioid hemangioendothelioma, NOS" ], [ "9133", "3", "Epithelioid hemangioendothelioma, malignant" ], [ "9135", "1", "Endovascular papillary angioendothelioma" ], [ "9136", "1", "Spindle cell hemangioendothelioma" ], [ "9140", "3", "Kaposi sarcoma" ], [ "9141", "0", "Angiokeratoma" ], [ "9142", "0", "Verrucous keratotic hemangioma" ], [ "9150", "0", "Hemangiopericytoma, benign" ], [ "9150", "1", "Hemangiopericytoma, NOS" ], [ "9150", "3", "Hemangiopericytoma, malignant" ], [ "9160", "0", "Angiofibroma, NOS" ], [ "9161", "0", "Acquired tufted hemangioma" ], [ "9161", "1", "Hemangioblastoma" ], [ "9170", "0", "Lymphangioma, NOS" ], [ "9170", "3", "Lymphangiosarcoma" ], [ "9171", "0", "Capillary lymphangioma" ], [ "9172", "0", "Cavernous lymphangioma" ], [ "9173", "0", "Cystic lymphangioma" ], [ "9174", "0", "Lymphangiomyoma" ], [ "9174", "1", "Lymphangiomyomatosis" ], [ "9175", "0", "Hemolymphangioma" ], [ "9180", "0", "Osteoma, NOS (C40._, C41._)" ], [ "9180", "3", "Osteosarcoma, NOS (C40._, C41._)" ], [ "9181", "3", "Chondroblastic osteosarcoma (C40._, C41._)" ], [ "9182", "3", "Fibroblastic osteosarcoma (C40._, C41._)" ], [ "9183", "3", "Telangiectatic osteosarcoma (C40._, C41._)" ], [ "9184", "3", "Osteosarcoma in Paget disease of bone (C40._, C41._)" ], [ "9185", "3", "Small cell osteosarcoma (C40._, C41._)" ], [ "9186", "3", "Central osteosarcoma (C40._, C41._)" ], [ "9187", "3", "Intraosseous well differentiated osteosarcoma (C40._, C41._)" ], [ "9191", "0", "Osteoid osteoma, NOS (C40._, C41._)" ], [ "9192", "3", "Parosteal osteosarcoma (C40._, C41._)" ], [ "9193", "3", "Periosteal osteosarcoma (C40._, C41._)" ], [ "9194", "3", "High grade surface osteosarcoma (C40._, C41._)" ], [ "9195", "3", "Intracortical osteosarcoma (C40._, C41._)" ], [ "9200", "0", "Osteoblastoma, NOS (C40._, C41._)" ], [ "9200", "1", "Aggressive osteoblastoma (C40._, C41._)" ], [ "9210", "0", "Osteochondroma (C40._, C41._)" ], [ "9210", "1", "Osteochondromatosis, NOS (C40._, C41._)" ], [ "9220", "0", "Chondroma, NOS (C40._, C41._)" ], [ "9220", "1", "Chondromatosis, NOS" ], [ "9220", "3", "Chondrosarcoma, NOS (C40._, C41._)" ], [ "9221", "0", "Juxtacortical chondroma (C40._, C41._)" ], [ "9221", "3", "Juxtacortical chondrosarcoma (C40._, C41._)" ], [ "9230", "0", "Chondroblastoma, NOS (C40._, C41._)" ], [ "9230", "3", "Chondroblastoma, malignant (C40._, C41._)" ], [ "9231", "3", "Myxoid chondrosarcoma" ], [ "9240", "3", "Mesenchymal chondrosarcoma" ], [ "9241", "0", "Chondromyxoid fibroma (C40._, C41._)" ], [ "9242", "3", "Clear cell chondrosarcoma (C40._, C41._)" ], [ "9243", "3", "Dedifferentiated chondrosarcoma (C40._, C41._)" ], [ "9250", "1", "Giant cell tumor of bone, NOS (C40._, C41._)" ], [ "9250", "3", "Giant cell tumor of bone, malignant (C40._, C41._)" ], [ "9251", "1", "Giant cell tumor of soft parts, NOS" ], [ "9251", "3", "Malignant giant cell tumor of soft parts" ], [ "9252", "0", "Tenosynovial giant cell tumor (C49._)" ], [ "9252", "3", "Malignant tenosynovial giant cell tumor (C49._)" ], [ "9260", "3", "Ewing sarcoma" ], [ "9261", "3", "Adamantinoma of long bones (C40._)" ], [ "9262", "0", "Ossifying fibroma" ], [ "9270", "0", "Odontogenic tumor, benign" ], [ "9270", "1", "Odontogenic tumor, NOS" ], [ "9270", "3", "Odontogenic tumor, malignant" ], [ "9271", "0", "Ameloblastic fibrodentinoma" ], [ "9272", "0", "Cementoma, NOS" ], [ "9273", "0", "Cementoblastoma, benign" ], [ "9274", "0", "Cementifying fibroma" ], [ "9275", "0", "Gigantiform cementoma" ], [ "9280", "0", "Odontoma, NOS" ], [ "9281", "0", "Compound odontoma" ], [ "9282", "0", "Complex odontoma" ], [ "9290", "0", "Ameloblastic fibro-odontoma" ], [ "9290", "3", "Ameloblastic odontosarcoma" ], [ "9300", "0", "Adenomatoid odontogenic tumor" ], [ "9301", "0", "Calcifying odontogenic cyst" ], [ "9302", "0", "Odontogenic ghost cell tumor" ], [ "9310", "0", "Ameloblastoma, NOS" ], [ "9310", "3", "Ameloblastoma, malignant" ], [ "9311", "0", "Odontoameloblastoma" ], [ "9312", "0", "Squamous odontogenic tumor" ], [ "9320", "0", "Odontogenic myxoma" ], [ "9321", "0", "Central odontogenic fibroma" ], [ "9322", "0", "Peripheral odontogenic fibroma" ], [ "9330", "0", "Ameloblastic fibroma" ], [ "9330", "3", "Ameloblastic fibrosarcoma" ], [ "9340", "0", "Calcifying epithelial odontogenic tumor" ], [ "9341", "1", "Clear cell odontogenic tumor" ], [ "9342", "3", "Odontogenic carcinosarcoma" ], [ "9350", "1", "Craniopharyngioma (C75.2)" ], [ "9351", "1", "Craniopharyngioma, adamantinomatous (C75.2)" ], [ "9352", "1", "Craniopharyngioma, papillary (C75.2)" ], [ "9360", "1", "Pinealoma (C75.3)" ], [ "9361", "1", "Pineocytoma (C75.3)" ], [ "9362", "3", "Pineoblastoma (C75.3)" ], [ "9363", "0", "Melanotic neuroectodermal tumor" ], [ "9364", "3", "Peripheral neuroectodermal tumor" ], [ "9365", "3", "Askin tumor" ], [ "9370", "3", "Chordoma, NOS" ], [ "9371", "3", "Chondroid chordoma" ], [ "9372", "3", "Dedifferentiated chordoma" ], [ "9373", "0", "Parachordoma" ], [ "9380", "3", "Glioma, malignant (C71._)" ], [ "9381", "3", "Gliomatosis cerebri (C71._)" ], [ "9382", "3", "Mixed glioma (C71._)" ], [ "9383", "1", "Subependymoma (C71._)" ], [ "9384", "1", "Subependymal giant cell astrocytoma (C71._)" ], [ "9390", "0", "Choroid plexus papilloma, NOS (C71.5)" ], [ "9390", "1", "Atypical choroid plexus papilloma (C71.5)" ], [ "9390", "3", "Choroid plexus carcinoma (C71.5)" ], [ "9391", "3", "Ependymoma, NOS (C71._)" ], [ "9392", "3", "Ependymoma, anaplastic (C71._)" ], [ "9393", "3", "Papillary ependymoma (C71._)" ], [ "9394", "1", "Myxopapillary ependymoma (C72.0)" ], [ "9400", "3", "Astrocytoma, NOS (C71._)" ], [ "9401", "3", "Astrocytoma, anaplastic (C71._)" ], [ "9410", "3", "Protoplasmic astrocytoma (C71._)" ], [ "9411", "3", "Gemistocytic astrocytoma (C71._)" ], [ "9412", "1", "Desmoplastic infantile astrocytoma (C71._)" ], [ "9413", "0", "Dysembryoplastic neuroepithelial tumor" ], [ "9420", "3", "Fibrillary astrocytoma (C71._)" ], [ "9421", "1", "Pilocytic astrocytoma (C71._)" ], [ "9423", "3", "Polar spongioblastoma (C71._)" ], [ "9424", "3", "Pleomorphic xanthoastrocytoma (C71._)" ], [ "9430", "3", "Astroblastoma (C71._)" ], [ "9440", "3", "Glioblastoma, NOS (C71._)" ], [ "9441", "3", "Giant cell glioblastoma (C71._)" ], [ "9442", "1", "Gliofibroma (C71._)" ], [ "9442", "3", "Gliosarcoma (C71._)" ], [ "9444", "1", "Chordoid glioma (C71._)" ], [ "9450", "3", "Oligodendroglioma, NOS (C71._)" ], [ "9451", "3", "Oligodendroglioma, anaplastic (C71._)" ], [ "9460", "3", "Oligodendroblastoma (C71._) [obs]" ], [ "9470", "3", "Medulloblastoma, NOS (C71.6)" ], [ "9471", "3", "Desmoplastic nodular medulloblastoma (C71.6)" ], [ "9472", "3", "Medullomyoblastoma (C71.6)" ], [ "9473", "3", "Primitive neuroectodermal tumor, NOS" ], [ "9474", "3", "Large cell medulloblastoma (C71.6)" ], [ "9480", "3", "Cerebellar sarcoma, NOS (C71.6) [obs]" ], [ "9490", "0", "Ganglioneuroma" ], [ "9490", "3", "Ganglioneuroblastoma" ], [ "9491", "0", "Ganglioneuromatosis" ], [ "9492", "0", "Gangliocytoma" ], [ "9493", "0", "Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" ], [ "9500", "3", "Neuroblastoma, NOS" ], [ "9501", "0", "Medulloepithelioma, benign (C69.4)" ], [ "9501", "3", "Medulloepithelioma, NOS" ], [ "9502", "0", "Teratoid medulloepithelioma, benign (C69.4)" ], [ "9502", "3", "Teratoid medulloepithelioma" ], [ "9503", "3", "Neuroepithelioma, NOS" ], [ "9504", "3", "Spongioneuroblastoma" ], [ "9505", "1", "Ganglioglioma, NOS" ], [ "9505", "3", "Ganglioglioma, anaplastic" ], [ "9506", "1", "Central neurocytoma" ], [ "9507", "0", "Pacinian tumor" ], [ "9508", "3", "Atypical teratoid/rhabdoid tumor (C71._)" ], [ "9510", "0", "Retinocytoma (C69.2)" ], [ "9510", "3", "Retinoblastoma, NOS (C69.2)" ], [ "9511", "3", "Retinoblastoma, differentiated (C69.2)" ], [ "9512", "3", "Retinoblastoma, undifferentiated (C69.2)" ], [ "9513", "3", "Retinoblastoma, diffuse (C69.2)" ], [ "9514", "1", "Retinoblastoma, spontaneously regressed (C69.2)" ], [ "9520", "3", "Olfactory neurogenic tumor" ], [ "9521", "3", "Olfactory neurocytoma (C30.0)" ], [ "9522", "3", "Olfactory neuroblastoma (C30.0)" ], [ "9523", "3", "Olfactory neuroepithelioma (C30.0)" ], [ "9530", "0", "Meningioma, NOS" ], [ "9530", "1", "Meningiomatosis, NOS" ], [ "9530", "3", "Meningioma, malignant" ], [ "9531", "0", "Meningothelial meningioma" ], [ "9532", "0", "Fibrous meningioma" ], [ "9533", "0", "Psammomatous meningioma" ], [ "9534", "0", "Angiomatous meningioma" ], [ "9535", "0", "Hemangioblastic meningioma [obs]" ], [ "9537", "0", "Transitional meningioma" ], [ "9538", "1", "Clear cell meningioma" ], [ "9538", "3", "Papillary meningioma" ], [ "9539", "1", "Atypical meningioma" ], [ "9539", "3", "Meningeal sarcomatosis" ], [ "9540", "0", "Neurofibroma, NOS" ], [ "9540", "1", "Neurofibromatosis, NOS" ], [ "9540", "3", "Malignant peripheral nerve sheath tumor" ], [ "9541", "0", "Melanotic neurofibroma" ], [ "9550", "0", "Plexiform neurofibroma" ], [ "9560", "0", "Neurilemoma, NOS" ], [ "9560", "1", "Neurinomatosis" ], [ "9560", "3", "Neurilemoma, malignant [obs]" ], [ "9561", "3", "Malignant peripheral nerve sheath tumor with rhabdomyoblastic differentiation" ], [ "9562", "0", "Neurothekeoma" ], [ "9570", "0", "Neuroma, NOS" ], [ "9571", "0", "Perineurioma, NOS" ], [ "9571", "3", "Perineurioma, malignant" ], [ "9580", "0", "Granular cell tumor, NOS" ], [ "9580", "3", "Granular cell tumor, malignant" ], [ "9581", "3", "Alveolar soft part sarcoma" ], [ "9582", "0", "Granular cell tumor of the sellar region (C75.1)" ], [ "9590", "3", "Malignant lymphoma, NOS" ], [ "9591", "3", "Malignant lymphoma, non-Hodgkin, NOS" ], [ "9596", "3", "Composite Hodgkin and non-Hodgkin lymphoma" ], [ "9650", "3", "Hodgkin lymphoma, NOS" ], [ "9651", "3", "Hodgkin lymphoma, lymphocyte-rich" ], [ "9652", "3", "Hodgkin lymphoma, mixed cellularity, NOS" ], [ "9653", "3", "Hodgkin lymphoma, lymphocyte depletion, NOS" ], [ "9654", "3", "Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" ], [ "9655", "3", "Hodgkin lymphoma, lymphocyte depletion, reticular" ], [ "9659", "3", "Hodgkin lymphoma, nodular lymphocyte predominance" ], [ "9661", "3", "Hodgkin granuloma [obs]" ], [ "9662", "3", "Hodgkin sarcoma [obs]" ], [ "9663", "3", "Hodgkin lymphoma, nodular sclerosis, NOS" ], [ "9664", "3", "Hodgkin lymphoma, nodular sclerosis, cellular phase" ], [ "9665", "3", "Hodgkin lymphoma, nodular sclerosis, grade 1" ], [ "9667", "3", "Hodgkin lymphoma, nodular sclerosis, grade 2" ], [ "9673", "3", "Mantle cell lymphoma" ], [ "9675", "3", "Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" ], [ "9678", "3", "Primary effusion lymphoma" ], [ "9679", "3", "Mediastinal large B-cell lymphoma (C38.3)" ], [ "9680", "3", "Malignant lymphoma, large B-cell, diffuse, NOS" ], [ "9684", "3", "Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" ], [ "9687", "3", "Burkitt lymphoma, NOS (see also M-9826/3)" ], [ "9689", "3", "Splenic marginal zone B-cell lymphoma (C42.2)" ], [ "9690", "3", "Follicular lymphoma, NOS (see also M-9675/3)" ], [ "9691", "3", "Follicular lymphoma, grade 2" ], [ "9695", "3", "Follicular lymphoma, grade 1" ], [ "9698", "3", "Follicular lymphoma, grade 3" ], [ "9699", "3", "Marginal zone B-cell lymphoma, NOS" ], [ "9700", "3", "Mycosis fungoides (C44._)" ], [ "9701", "3", "Sezary syndrome" ], [ "9702", "3", "Mature T-cell lymphoma, NOS" ], [ "9705", "3", "Angioimmunoblastic T-cell lymphoma" ], [ "9708", "3", "Subcutaneous panniculitis-like T-cell lymphoma" ], [ "9709", "3", "Cutaneous T-cell lymphoma, NOS (C44._)" ], [ "9714", "3", "Anaplastic large cell lymphoma, T cell and Null cell type" ], [ "9716", "3", "Hepatosplenic ?? (gamma-delta) cell lymphoma" ], [ "9717", "3", "Intestinal T-cell lymphoma" ], [ "9718", "3", "Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" ], [ "9719", "3", "NK/T-cell lymphoma, nasal and nasal-type" ], [ "9727", "3", "Precursor cell lymphoblastic lymphoma, NOS (see also M-9835/3)" ], [ "9728", "3", "Precursor B-cell lymphoblastic lymphoma (see also M-9836/3)" ], [ "9729", "3", "Precursor T-cell lymphoblastic lymphoma (see also M-9837/3)" ], [ "9731", "3", "Plasmacytoma, NOS" ], [ "9732", "3", "Multiple myeloma (C42.1)" ], [ "9733", "3", "Plasma cell leukemia (C42.1)" ], [ "9734", "3", "Plasmacytoma, extramedullary (not occurring in bone)" ], [ "9740", "1", "Mastocytoma, NOS" ], [ "9740", "3", "Mast cell sarcoma" ], [ "9741", "3", "Malignant mastocytosis" ], [ "9742", "3", "Mast cell leukemia (C42.1)" ], [ "9750", "3", "Malignant histiocytosis" ], [ "9751", "1", "Langerhans cell histiocytosis, NOS" ], [ "9752", "1", "Langerhans cell histiocytosis, unifocal" ], [ "9753", "1", "Langerhans cell histiocytosis, multifocal" ], [ "9754", "3", "Langerhans cell histiocytosis, disseminated" ], [ "9755", "3", "Histiocytic sarcoma" ], [ "9756", "3", "Langerhans cell sarcoma" ], [ "9757", "3", "Interdigitating dendritic cell sarcoma" ], [ "9758", "3", "Follicular dendritic cell sarcoma" ], [ "9760", "3", "Immunoproliferative disease, NOS" ], [ "9761", "3", "Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" ], [ "9762", "3", "Heavy chain disease, NOS" ], [ "9764", "3", "Immunoproliferative small intestinal disease (C17._)" ], [ "9765", "1", "Monoclonal gammopathy of undetermined significance" ], [ "9766", "1", "Angiocentric immunoproliferative lesion" ], [ "9767", "1", "Angioimmunoblastic lymphadenopathy" ], [ "9768", "1", "T-gamma lymphoproliferative disease" ], [ "9769", "1", "Immunoglobulin deposition disease" ], [ "9800", "3", "Leukemia, NOS" ], [ "9801", "3", "Acute leukemia, NOS" ], [ "9805", "3", "Acute biphenotypic leukemia" ], [ "9820", "3", "Lymphoid leukemia, NOS" ], [ "9823", "3", "B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" ], [ "9826", "3", "Burkitt cell leukemia (see also M-9687/3)" ], [ "9827", "3", "Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" ], [ "9831", "1", "T-cell large granular lymphocytic leukemia" ], [ "9832", "3", "Prolymphocytic leukemia, NOS" ], [ "9833", "3", "Prolymphocytic leukemia, B-cell type" ], [ "9834", "3", "Prolymphocytic leukemia, T-cell type" ], [ "9835", "3", "Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" ], [ "9836", "3", "Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" ], [ "9837", "3", "Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" ], [ "9840", "3", "Acute myeloid leukemia, M6 type" ], [ "9860", "3", "Myeloid leukemia, NOS" ], [ "9861", "3", "Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" ], [ "9863", "3", "Chronic myeloid leukemia, NOS" ], [ "9866", "3", "Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" ], [ "9867", "3", "Acute myelomonocytic leukemia" ], [ "9870", "3", "Acute basophilic leukemia" ], [ "9871", "3", "Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" ], [ "9872", "3", "Acute myeloid leukemia, minimal differentiation" ], [ "9873", "3", "Acute myeloid leukemia without maturation" ], [ "9874", "3", "Acute myeloid leukemia with maturation" ], [ "9875", "3", "Chronic myelogenous leukemia, BCR/ABL positive" ], [ "9876", "3", "Atypical chronic myeloid leukemia, BCR/ABL negative" ], [ "9891", "3", "Acute monocytic leukemia" ], [ "9895", "3", "Acute myeloid leukemia with multilineage dysplasia" ], [ "9896", "3", "Acute myeloid leukemia, t(8;21)(q22;q22)" ], [ "9897", "3", "Acute myeloid leukemia, 11q23 abnormalities" ], [ "9910", "3", "Acute megakaryoblastic leukemia" ], [ "9920", "3", "Therapy-related acute myeloid leukemia, NOS" ], [ "9930", "3", "Myeloid sarcoma (see also M-9861/3)" ], [ "9931", "3", "Acute panmyelosis with myelofibrosis (C42.1)" ], [ "9940", "3", "Hairy cell leukemia (C42.1)" ], [ "9945", "3", "Chronic myelomonocytic leukemia, NOS" ], [ "9946", "3", "Juvenile myelomonocytic leukemia" ], [ "9948", "3", "Aggressive NK-cell leukemia" ], [ "9950", "3", "Polycythemia vera" ], [ "9960", "3", "Chronic myeloproliferative disease, NOS" ], [ "9961", "3", "Myelosclerosis with myeloid metaplasia" ], [ "9962", "3", "Essential thrombocythemia" ], [ "9963", "3", "Chronic neutrophilic leukemia" ], [ "9964", "3", "Hypereosinophilic syndrome" ], [ "9970", "1", "Lymphoproliferative disorder, NOS" ], [ "9975", "1", "Myeloproliferative disease, NOS" ], [ "9980", "3", "Refractory anemia" ], [ "9982", "3", "Refractory anemia with sideroblasts" ], [ "9983", "3", "Refractory anemia with excess blasts" ], [ "9984", "3", "Refractory anemia with excess blasts in transformation [obs]" ], [ "9985", "3", "Refractory cytopenia with multilineage dysplasia" ], [ "9986", "3", "Myelodysplastic syndrome with 5q deletion (5q-) syndrome" ], [ "9987", "3", "Therapy-related myelodysplastic syndrome, NOS" ], [ "9989", "3", "Myelodysplastic syndrome, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pae.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pae.json deleted file mode 100644 index 39b68dd51..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pae.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ajcc6_exclusions_pae", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Exclusions", - "title" : "Histology Exclusion Table AJCC 6th ed.", - "notes" : "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. For these cases, displayed results will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified" : "2015-05-27T16:18:46.623Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8240", "1", "Carcinoid tumor of uncertain malignant potential" ], [ "8240", "3", "Carcinoid tumor, NOS (except of appendix M-8240/1)" ], [ "8241", "3", "Enterochromaffin cell carcinoid" ], [ "8242", "1", "Enterochromaffin-like cell carcinoid, NOS" ], [ "8242", "3", "Enterochromaffin-like cell tumor, malignant" ], [ "8243", "3", "Goblet cell carcinoid" ], [ "8244", "3", "Composite carcinoid" ], [ "8245", "1", "Tubular carcinoid" ], [ "8245", "3", "Adenocarcinoid tumor" ], [ "8246", "3", "Neuroendocrine carcinoma, NOS" ], [ "8247", "3", "Merkel cell carcinoma (C44._)" ], [ "8248", "1", "Apudoma" ], [ "8249", "3", "Atypical carcinoid tumor" ], [ "8680", "0", "Paraganglioma, benign" ], [ "8680", "1", "Paraganglioma, NOS" ], [ "8680", "3", "Paraganglioma, malignant" ], [ "8681", "1", "Sympathetic paraganglioma" ], [ "8682", "1", "Parasympathetic paraganglioma" ], [ "8683", "0", "Gangliocytic paraganglioma (C17.0)" ], [ "8690", "1", "Glomus jugulare tumor, NOS (C75.5)" ], [ "8691", "1", "Aortic body tumor (C75.5)" ], [ "8692", "1", "Carotid body tumor (C75.4)" ], [ "8693", "1", "Extra-adrenal paraganglioma, NOS" ], [ "8693", "3", "Extra-adrenal paraganglioma, malignant" ], [ "8700", "0", "Pheochromocytoma, NOS (C74.1)" ], [ "8700", "3", "Pheochromocytoma, malignant (C74.1)" ], [ "8710", "3", "Glomangiosarcoma" ], [ "8711", "0", "Glomus tumor, NOS" ], [ "8711", "3", "Glomus tumor, malignant" ], [ "8712", "0", "Glomangioma" ], [ "8713", "0", "Glomangiomyoma" ], [ "8720", "0", "Pigmented nevus, NOS (C44._)" ], [ "8720", "2", "Melanoma in situ" ], [ "8720", "3", "Malignant melanoma, NOS (except juvenile melanoma M-8770/0)" ], [ "8721", "3", "Nodular melanoma (C44._)" ], [ "8722", "0", "Balloon cell nevus (C44._)" ], [ "8722", "3", "Balloon cell melanoma (C44._)" ], [ "8723", "0", "Halo nevus (C44._)" ], [ "8723", "3", "Malignant melanoma, regressing (C44._)" ], [ "8725", "0", "Neuronevus (C44._)" ], [ "8726", "0", "Magnocellular nevus (C69.4)" ], [ "8727", "0", "Dysplastic nevus (C44._)" ], [ "8728", "0", "Diffuse melanocytosis (C70.9)" ], [ "8728", "1", "Meningeal melanocytoma (C70.9)" ], [ "8728", "3", "Meningeal melanomatosis (C70.9)" ], [ "8730", "0", "Nonpigmented nevus (C44._)" ], [ "8730", "3", "Amelanotic melanoma (C44._)" ], [ "8740", "0", "Junctional nevus, NOS (C44._)" ], [ "8740", "3", "Malignant melanoma in junctional nevus (C44._)" ], [ "8741", "2", "Precancerous melanosis, NOS (C44._)" ], [ "8741", "3", "Malignant melanoma in precancerous melanosis (C44._)" ], [ "8742", "2", "Lentigo maligna (C44._)" ], [ "8742", "3", "Lentigo maligna melanoma (C44._)" ], [ "8743", "3", "Superficial spreading melanoma (C44._)" ], [ "8744", "3", "Acral lentiginous melanoma, malignant (C44._)" ], [ "8745", "3", "Desmoplastic melanoma, malignant (C44._)" ], [ "8746", "3", "Mucosal lentiginous melanoma" ], [ "8750", "0", "Intradermal nevus (C44._)" ], [ "8760", "0", "Compound nevus (C44._)" ], [ "8761", "0", "Small congenital nevus (C44._)" ], [ "8761", "1", "Giant pigmented nevus, NOS (C44._)" ], [ "8761", "3", "Malignant melanoma in giant pigmented nevus (C44._)" ], [ "8762", "1", "Proliferative dermal lesion in congenital nevus (C44._)" ], [ "8770", "0", "Epithelioid and spindle cell nevus (C44._)" ], [ "8770", "3", "Mixed epithelioid and spindle cell melanoma" ], [ "8771", "0", "Epithelioid cell nevus (C44._)" ], [ "8771", "3", "Epithelioid cell melanoma" ], [ "8772", "0", "Spindle cell nevus, NOS (C44._)" ], [ "8772", "3", "Spindle cell melanoma, NOS" ], [ "8773", "3", "Spindle cell melanoma, type A (C69._)" ], [ "8774", "3", "Spindle cell melanoma, type B (C69._)" ], [ "8780", "0", "Blue nevus, NOS (C44._)" ], [ "8780", "3", "Blue nevus, malignant (C44._)" ], [ "8790", "0", "Cellular blue nevus (C44._)" ], [ "8800", "0", "Soft tissue tumor, benign" ], [ "8800", "3", "Sarcoma, NOS" ], [ "8800", "9", "Sarcomatosis, NOS" ], [ "8801", "3", "Spindle cell sarcoma" ], [ "8802", "3", "Giant cell sarcoma (except of bone M-9250/3)" ], [ "8803", "3", "Small cell sarcoma" ], [ "8804", "3", "Epithelioid sarcoma" ], [ "8805", "3", "Undifferentiated sarcoma" ], [ "8806", "3", "Desmoplastic small round cell tumor" ], [ "8810", "0", "Fibroma, NOS" ], [ "8810", "1", "Cellular fibroma (C56.9)" ], [ "8810", "3", "Fibrosarcoma, NOS" ], [ "8811", "0", "Fibromyxoma" ], [ "8811", "3", "Fibromyxosarcoma" ], [ "8812", "0", "Periosteal fibroma (C40._, C41._)" ], [ "8812", "3", "Periosteal fibrosarcoma (C40._, C41._)" ], [ "8813", "0", "Fascial fibroma" ], [ "8813", "3", "Fascial fibrosarcoma" ], [ "8814", "3", "Infantile fibrosarcoma" ], [ "8815", "0", "Solitary fibrous tumor" ], [ "8815", "3", "Solitary fibrous tumor, malignant" ], [ "8820", "0", "Elastofibroma" ], [ "8821", "1", "Aggressive fibromatosis" ], [ "8822", "1", "Abdominal fibromatosis" ], [ "8823", "0", "Desmoplastic fibroma" ], [ "8824", "0", "Myofibroma" ], [ "8824", "1", "Myofibromatosis" ], [ "8825", "0", "Myofibroblastoma" ], [ "8825", "1", "Myofibroblastic tumor, NOS" ], [ "8826", "0", "Angiomyofibroblastoma" ], [ "8827", "1", "Myofibroblastic tumor, peribronchial (C34._)" ], [ "8830", "0", "Benign fibrous histiocytoma" ], [ "8830", "1", "Atypical fibrous histiocytoma" ], [ "8830", "3", "Malignant fibrous histiocytoma" ], [ "8831", "0", "Histiocytoma, NOS" ], [ "8832", "0", "Dermatofibroma, NOS (C44._)" ], [ "8832", "3", "Dermatofibrosarcoma, NOS (C44._)" ], [ "8833", "3", "Pigmented dermatofibrosarcoma protuberans (C44._)" ], [ "8834", "1", "Giant cell fibroblastoma" ], [ "8835", "1", "Plexiform fibrohistiocytic tumor" ], [ "8836", "1", "Angiomatoid fibrous histiocytoma" ], [ "8840", "0", "Myxoma, NOS" ], [ "8840", "3", "Myxosarcoma" ], [ "8841", "1", "Angiomyxoma" ], [ "8842", "0", "Ossifying fibromyxoid tumor" ], [ "8850", "0", "Lipoma, NOS" ], [ "8850", "1", "Atypical lipoma" ], [ "8850", "3", "Liposarcoma, NOS" ], [ "8851", "0", "Fibrolipoma" ], [ "8851", "3", "Liposarcoma, well differentiated" ], [ "8852", "0", "Fibromyxolipoma" ], [ "8852", "3", "Myxoid liposarcoma" ], [ "8853", "3", "Round cell liposarcoma" ], [ "8854", "0", "Pleomorphic lipoma" ], [ "8854", "3", "Pleomorphic liposarcoma" ], [ "8855", "3", "Mixed liposarcoma" ], [ "8856", "0", "Intramuscular lipoma" ], [ "8857", "0", "Spindle cell lipoma" ], [ "8857", "3", "Fibroblastic liposarcoma" ], [ "8858", "3", "Dedifferentiated liposarcoma" ], [ "8860", "0", "Angiomyolipoma" ], [ "8861", "0", "Angiolipoma, NOS" ], [ "8862", "0", "Chondroid lipoma" ], [ "8870", "0", "Myelolipoma" ], [ "8880", "0", "Hibernoma" ], [ "8881", "0", "Lipoblastomatosis" ], [ "8890", "0", "Leiomyoma, NOS" ], [ "8890", "1", "Leiomyomatosis, NOS" ], [ "8890", "3", "Leiomyosarcoma, NOS" ], [ "8891", "0", "Epithelioid leiomyoma" ], [ "8891", "3", "Epithelioid leiomyosarcoma" ], [ "8892", "0", "Cellular leiomyoma" ], [ "8893", "0", "Bizarre leiomyoma" ], [ "8894", "0", "Angiomyoma" ], [ "8894", "3", "Angiomyosarcoma" ], [ "8895", "0", "Myoma" ], [ "8895", "3", "Myosarcoma" ], [ "8896", "3", "Myxoid leiomyosarcoma" ], [ "8897", "1", "Smooth muscle tumor of uncertain malignant potential" ], [ "8898", "1", "Metastasizing leiomyoma" ], [ "8900", "0", "Rhabdomyoma, NOS" ], [ "8900", "3", "Rhabdomyosarcoma, NOS" ], [ "8901", "3", "Pleomorphic rhabdomyosarcoma, adult type" ], [ "8902", "3", "Mixed type rhabdomyosarcoma" ], [ "8903", "0", "Fetal rhabdomyoma" ], [ "8904", "0", "Adult rhabdomyoma" ], [ "8905", "0", "Genital rhabdomyoma (C51._, C52.9)" ], [ "8910", "3", "Embryonal rhabdomyosarcoma, NOS" ], [ "8912", "3", "Spindle cell rhabdomyosarcoma" ], [ "8920", "3", "Alveolar rhabdomyosarcoma" ], [ "8921", "3", "Rhabdomyosarcoma with ganglionic differentiation" ], [ "8930", "0", "Endometrial stromal nodule (C54.1)" ], [ "8930", "3", "Endometrial stromal sarcoma, NOS (C54.1)" ], [ "8931", "3", "Endometrial stromal sarcoma, low grade (C54.1)" ], [ "8932", "0", "Adenomyoma" ], [ "8933", "3", "Adenosarcoma" ], [ "8934", "3", "Carcinofibroma" ], [ "8935", "0", "Stromal tumor, benign" ], [ "8935", "1", "Stromal tumor, NOS" ], [ "8935", "3", "Stromal sarcoma, NOS" ], [ "8936", "0", "Gastrointestinal stromal tumor, benign" ], [ "8936", "1", "Gastrointestinal stromal tumor, NOS" ], [ "8936", "3", "Gastrointestinal stromal sarcoma" ], [ "8959", "0", "Benign cystic nephroma (C64.9)" ], [ "8959", "1", "Cystic partially differentiated nephroblastoma (C64.9)" ], [ "8959", "3", "Malignant cystic nephroma (C64.9)" ], [ "8960", "1", "Mesoblastic nephroma" ], [ "8960", "3", "Nephroblastoma, NOS (C64.9)" ], [ "8963", "3", "Malignant rhabdoid tumor" ], [ "8964", "3", "Clear cell sarcoma of kidney (C64.9)" ], [ "8965", "0", "Nephrogenic adenofibroma (C64.9)" ], [ "8966", "0", "Renomedullary interstitial cell tumor (C64.9)" ], [ "8967", "0", "Ossifying renal tumor (C64.9)" ], [ "8970", "3", "Hepatoblastoma (C22.0)" ], [ "8971", "3", "Pancreatoblastoma (C25._)" ], [ "8972", "3", "Pulmonary blastoma (C34._)" ], [ "8973", "3", "Pleuropulmonary blastoma" ], [ "8974", "1", "Sialoblastoma" ], [ "8980", "3", "Carcinosarcoma, NOS" ], [ "8981", "3", "Carcinosarcoma, embryonal" ], [ "8982", "0", "Myoepithelioma" ], [ "8982", "3", "Malignant myoepithelioma" ], [ "8983", "0", "Adenomyoepithelioma (C50._)" ], [ "8990", "0", "Mesenchymoma, benign" ], [ "8990", "1", "Mesenchymoma, NOS" ], [ "8990", "3", "Mesenchymoma, malignant" ], [ "8991", "3", "Embryonal sarcoma" ], [ "9000", "0", "Brenner tumor, NOS (C56.9)" ], [ "9000", "1", "Brenner tumor, borderline malignancy (C56.9)" ], [ "9000", "3", "Brenner tumor, malignant (C56.9)" ], [ "9010", "0", "Fibroadenoma, NOS (C50._)" ], [ "9011", "0", "Intracanalicular fibroadenoma (C50._)" ], [ "9012", "0", "Pericanalicular fibroadenoma (C50._)" ], [ "9013", "0", "Adenofibroma, NOS" ], [ "9014", "0", "Serous adenofibroma, NOS" ], [ "9014", "1", "Serous adenofibroma of borderline malignancy" ], [ "9014", "3", "Serous adenocarcinofibroma" ], [ "9015", "0", "Mucinous adenofibroma, NOS" ], [ "9015", "1", "Mucinous adenofibroma of borderline malignancy" ], [ "9015", "3", "Mucinous adenocarcinofibroma" ], [ "9016", "0", "Giant fibroadenoma (C50._)" ], [ "9020", "0", "Phyllodes tumor, benign (C50._)" ], [ "9020", "1", "Phyllodes tumor, borderline (C50._)" ], [ "9020", "3", "Phyllodes tumor, malignant (C50._)" ], [ "9030", "0", "Juvenile fibroadenoma (C50._)" ], [ "9040", "0", "Synovioma, benign" ], [ "9040", "3", "Synovial sarcoma, NOS" ], [ "9041", "3", "Synovial sarcoma, spindle cell" ], [ "9042", "3", "Synovial sarcoma, epithelioid cell" ], [ "9043", "3", "Synovial sarcoma, biphasic" ], [ "9044", "3", "Clear cell sarcoma, NOS (except of kidney M-8964/3)" ], [ "9050", "0", "Mesothelioma, benign" ], [ "9050", "3", "Mesothelioma, malignant" ], [ "9051", "0", "Fibrous mesothelioma, benign" ], [ "9051", "3", "Fibrous mesothelioma, malignant" ], [ "9052", "0", "Epithelioid mesothelioma, benign" ], [ "9052", "3", "Epithelioid mesothelioma, malignant" ], [ "9053", "3", "Mesothelioma, biphasic, malignant" ], [ "9054", "0", "Adenomatoid tumor, NOS" ], [ "9055", "0", "Multicystic mesothelioma, benign" ], [ "9055", "1", "Cystic mesothelioma, NOS (C48._)" ], [ "9060", "3", "Dysgerminoma" ], [ "9061", "3", "Seminoma, NOS (C62._)" ], [ "9062", "3", "Seminoma, anaplastic (C62._)" ], [ "9063", "3", "Spermatocytic seminoma (C62._)" ], [ "9064", "2", "Intratubular malignant germ cells (C62._)" ], [ "9064", "3", "Germinoma" ], [ "9065", "3", "Germ cell tumor, nonseminomatous (C62._)" ], [ "9070", "3", "Embryonal carcinoma, NOS" ], [ "9071", "3", "Yolk sac tumor" ], [ "9072", "3", "Polyembryoma" ], [ "9073", "1", "Gonadoblastoma" ], [ "9080", "0", "Teratoma, benign" ], [ "9080", "1", "Teratoma, NOS" ], [ "9080", "3", "Teratoma, malignant, NOS" ], [ "9081", "3", "Teratocarcinoma" ], [ "9082", "3", "Malignant teratoma, undifferentiated" ], [ "9083", "3", "Malignant teratoma, intermediate" ], [ "9084", "0", "Dermoid cyst, NOS" ], [ "9084", "3", "Teratoma with malignant transformation" ], [ "9085", "3", "Mixed germ cell tumor" ], [ "9090", "0", "Struma ovarii, NOS (C56.9)" ], [ "9090", "3", "Struma ovarii, malignant (C56.9)" ], [ "9091", "1", "Strumal carcinoid (C56.9)" ], [ "9100", "0", "Hydatidiform mole, NOS (C58.9)" ], [ "9100", "1", "Invasive hydatidiform mole (C58.9)" ], [ "9100", "3", "Choriocarcinoma, NOS" ], [ "9101", "3", "Choriocarcinoma combined with other germ cell elements" ], [ "9102", "3", "Malignant teratoma, trophoblastic" ], [ "9103", "0", "Partial hydatidiform mole (C58.9)" ], [ "9104", "1", "Placental site trophoblastic tumor (C58.9)" ], [ "9105", "3", "Trophoblastic tumor, epithelioid" ], [ "9110", "0", "Mesonephroma, benign" ], [ "9110", "1", "Mesonephric tumor, NOS" ], [ "9110", "3", "Mesonephroma, malignant" ], [ "9120", "0", "Hemangioma, NOS" ], [ "9120", "3", "Hemangiosarcoma" ], [ "9121", "0", "Cavernous hemangioma" ], [ "9122", "0", "Venous hemangioma" ], [ "9123", "0", "Racemose hemangioma" ], [ "9124", "3", "Kupffer cell sarcoma (C22.0)" ], [ "9125", "0", "Epithelioid hemangioma" ], [ "9130", "0", "Hemangioendothelioma, benign" ], [ "9130", "1", "Hemangioendothelioma, NOS" ], [ "9130", "3", "Hemangioendothelioma, malignant" ], [ "9131", "0", "Capillary hemangioma" ], [ "9132", "0", "Intramuscular hemangioma" ], [ "9133", "1", "Epithelioid hemangioendothelioma, NOS" ], [ "9133", "3", "Epithelioid hemangioendothelioma, malignant" ], [ "9135", "1", "Endovascular papillary angioendothelioma" ], [ "9136", "1", "Spindle cell hemangioendothelioma" ], [ "9140", "3", "Kaposi sarcoma" ], [ "9141", "0", "Angiokeratoma" ], [ "9142", "0", "Verrucous keratotic hemangioma" ], [ "9150", "0", "Hemangiopericytoma, benign" ], [ "9150", "1", "Hemangiopericytoma, NOS" ], [ "9150", "3", "Hemangiopericytoma, malignant" ], [ "9160", "0", "Angiofibroma, NOS" ], [ "9161", "0", "Acquired tufted hemangioma" ], [ "9161", "1", "Hemangioblastoma" ], [ "9170", "0", "Lymphangioma, NOS" ], [ "9170", "3", "Lymphangiosarcoma" ], [ "9171", "0", "Capillary lymphangioma" ], [ "9172", "0", "Cavernous lymphangioma" ], [ "9173", "0", "Cystic lymphangioma" ], [ "9174", "0", "Lymphangiomyoma" ], [ "9174", "1", "Lymphangiomyomatosis" ], [ "9175", "0", "Hemolymphangioma" ], [ "9180", "0", "Osteoma, NOS (C40._, C41._)" ], [ "9180", "3", "Osteosarcoma, NOS (C40._, C41._)" ], [ "9181", "3", "Chondroblastic osteosarcoma (C40._, C41._)" ], [ "9182", "3", "Fibroblastic osteosarcoma (C40._, C41._)" ], [ "9183", "3", "Telangiectatic osteosarcoma (C40._, C41._)" ], [ "9184", "3", "Osteosarcoma in Paget disease of bone (C40._, C41._)" ], [ "9185", "3", "Small cell osteosarcoma (C40._, C41._)" ], [ "9186", "3", "Central osteosarcoma (C40._, C41._)" ], [ "9187", "3", "Intraosseous well differentiated osteosarcoma (C40._, C41._)" ], [ "9191", "0", "Osteoid osteoma, NOS (C40._, C41._)" ], [ "9192", "3", "Parosteal osteosarcoma (C40._, C41._)" ], [ "9193", "3", "Periosteal osteosarcoma (C40._, C41._)" ], [ "9194", "3", "High grade surface osteosarcoma (C40._, C41._)" ], [ "9195", "3", "Intracortical osteosarcoma (C40._, C41._)" ], [ "9200", "0", "Osteoblastoma, NOS (C40._, C41._)" ], [ "9200", "1", "Aggressive osteoblastoma (C40._, C41._)" ], [ "9210", "0", "Osteochondroma (C40._, C41._)" ], [ "9210", "1", "Osteochondromatosis, NOS (C40._, C41._)" ], [ "9220", "0", "Chondroma, NOS (C40._, C41._)" ], [ "9220", "1", "Chondromatosis, NOS" ], [ "9220", "3", "Chondrosarcoma, NOS (C40._, C41._)" ], [ "9221", "0", "Juxtacortical chondroma (C40._, C41._)" ], [ "9221", "3", "Juxtacortical chondrosarcoma (C40._, C41._)" ], [ "9230", "0", "Chondroblastoma, NOS (C40._, C41._)" ], [ "9230", "3", "Chondroblastoma, malignant (C40._, C41._)" ], [ "9231", "3", "Myxoid chondrosarcoma" ], [ "9240", "3", "Mesenchymal chondrosarcoma" ], [ "9241", "0", "Chondromyxoid fibroma (C40._, C41._)" ], [ "9242", "3", "Clear cell chondrosarcoma (C40._, C41._)" ], [ "9243", "3", "Dedifferentiated chondrosarcoma (C40._, C41._)" ], [ "9250", "1", "Giant cell tumor of bone, NOS (C40._, C41._)" ], [ "9250", "3", "Giant cell tumor of bone, malignant (C40._, C41._)" ], [ "9251", "1", "Giant cell tumor of soft parts, NOS" ], [ "9251", "3", "Malignant giant cell tumor of soft parts" ], [ "9252", "0", "Tenosynovial giant cell tumor (C49._)" ], [ "9252", "3", "Malignant tenosynovial giant cell tumor (C49._)" ], [ "9260", "3", "Ewing sarcoma" ], [ "9261", "3", "Adamantinoma of long bones (C40._)" ], [ "9262", "0", "Ossifying fibroma" ], [ "9270", "0", "Odontogenic tumor, benign" ], [ "9270", "1", "Odontogenic tumor, NOS" ], [ "9270", "3", "Odontogenic tumor, malignant" ], [ "9271", "0", "Ameloblastic fibrodentinoma" ], [ "9272", "0", "Cementoma, NOS" ], [ "9273", "0", "Cementoblastoma, benign" ], [ "9274", "0", "Cementifying fibroma" ], [ "9275", "0", "Gigantiform cementoma" ], [ "9280", "0", "Odontoma, NOS" ], [ "9281", "0", "Compound odontoma" ], [ "9282", "0", "Complex odontoma" ], [ "9290", "0", "Ameloblastic fibro-odontoma" ], [ "9290", "3", "Ameloblastic odontosarcoma" ], [ "9300", "0", "Adenomatoid odontogenic tumor" ], [ "9301", "0", "Calcifying odontogenic cyst" ], [ "9302", "0", "Odontogenic ghost cell tumor" ], [ "9310", "0", "Ameloblastoma, NOS" ], [ "9310", "3", "Ameloblastoma, malignant" ], [ "9311", "0", "Odontoameloblastoma" ], [ "9312", "0", "Squamous odontogenic tumor" ], [ "9320", "0", "Odontogenic myxoma" ], [ "9321", "0", "Central odontogenic fibroma" ], [ "9322", "0", "Peripheral odontogenic fibroma" ], [ "9330", "0", "Ameloblastic fibroma" ], [ "9330", "3", "Ameloblastic fibrosarcoma" ], [ "9340", "0", "Calcifying epithelial odontogenic tumor" ], [ "9341", "1", "Clear cell odontogenic tumor" ], [ "9342", "3", "Odontogenic carcinosarcoma" ], [ "9350", "1", "Craniopharyngioma (C75.2)" ], [ "9351", "1", "Craniopharyngioma, adamantinomatous (C75.2)" ], [ "9352", "1", "Craniopharyngioma, papillary (C75.2)" ], [ "9360", "1", "Pinealoma (C75.3)" ], [ "9361", "1", "Pineocytoma (C75.3)" ], [ "9362", "3", "Pineoblastoma (C75.3)" ], [ "9363", "0", "Melanotic neuroectodermal tumor" ], [ "9364", "3", "Peripheral neuroectodermal tumor" ], [ "9365", "3", "Askin tumor" ], [ "9370", "3", "Chordoma, NOS" ], [ "9371", "3", "Chondroid chordoma" ], [ "9372", "3", "Dedifferentiated chordoma" ], [ "9373", "0", "Parachordoma" ], [ "9380", "3", "Glioma, malignant (C71._)" ], [ "9381", "3", "Gliomatosis cerebri (C71._)" ], [ "9382", "3", "Mixed glioma (C71._)" ], [ "9383", "1", "Subependymoma (C71._)" ], [ "9384", "1", "Subependymal giant cell astrocytoma (C71._)" ], [ "9390", "0", "Choroid plexus papilloma, NOS (C71.5)" ], [ "9390", "1", "Atypical choroid plexus papilloma (C71.5)" ], [ "9390", "3", "Choroid plexus carcinoma (C71.5)" ], [ "9391", "3", "Ependymoma, NOS (C71._)" ], [ "9392", "3", "Ependymoma, anaplastic (C71._)" ], [ "9393", "3", "Papillary ependymoma (C71._)" ], [ "9394", "1", "Myxopapillary ependymoma (C72.0)" ], [ "9400", "3", "Astrocytoma, NOS (C71._)" ], [ "9401", "3", "Astrocytoma, anaplastic (C71._)" ], [ "9410", "3", "Protoplasmic astrocytoma (C71._)" ], [ "9411", "3", "Gemistocytic astrocytoma (C71._)" ], [ "9412", "1", "Desmoplastic infantile astrocytoma (C71._)" ], [ "9413", "0", "Dysembryoplastic neuroepithelial tumor" ], [ "9420", "3", "Fibrillary astrocytoma (C71._)" ], [ "9421", "1", "Pilocytic astrocytoma (C71._)" ], [ "9423", "3", "Polar spongioblastoma (C71._)" ], [ "9424", "3", "Pleomorphic xanthoastrocytoma (C71._)" ], [ "9430", "3", "Astroblastoma (C71._)" ], [ "9440", "3", "Glioblastoma, NOS (C71._)" ], [ "9441", "3", "Giant cell glioblastoma (C71._)" ], [ "9442", "1", "Gliofibroma (C71._)" ], [ "9442", "3", "Gliosarcoma (C71._)" ], [ "9444", "1", "Chordoid glioma (C71._)" ], [ "9450", "3", "Oligodendroglioma, NOS (C71._)" ], [ "9451", "3", "Oligodendroglioma, anaplastic (C71._)" ], [ "9460", "3", "Oligodendroblastoma (C71._) [obs]" ], [ "9470", "3", "Medulloblastoma, NOS (C71.6)" ], [ "9471", "3", "Desmoplastic nodular medulloblastoma (C71.6)" ], [ "9472", "3", "Medullomyoblastoma (C71.6)" ], [ "9473", "3", "Primitive neuroectodermal tumor, NOS" ], [ "9474", "3", "Large cell medulloblastoma (C71.6)" ], [ "9480", "3", "Cerebellar sarcoma, NOS (C71.6) [obs]" ], [ "9490", "0", "Ganglioneuroma" ], [ "9490", "3", "Ganglioneuroblastoma" ], [ "9491", "0", "Ganglioneuromatosis" ], [ "9492", "0", "Gangliocytoma" ], [ "9493", "0", "Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" ], [ "9500", "3", "Neuroblastoma, NOS" ], [ "9501", "0", "Medulloepithelioma, benign (C69.4)" ], [ "9501", "3", "Medulloepithelioma, NOS" ], [ "9502", "0", "Teratoid medulloepithelioma, benign (C69.4)" ], [ "9502", "3", "Teratoid medulloepithelioma" ], [ "9503", "3", "Neuroepithelioma, NOS" ], [ "9504", "3", "Spongioneuroblastoma" ], [ "9505", "1", "Ganglioglioma, NOS" ], [ "9505", "3", "Ganglioglioma, anaplastic" ], [ "9506", "1", "Central neurocytoma" ], [ "9507", "0", "Pacinian tumor" ], [ "9508", "3", "Atypical teratoid/rhabdoid tumor (C71._)" ], [ "9510", "0", "Retinocytoma (C69.2)" ], [ "9510", "3", "Retinoblastoma, NOS (C69.2)" ], [ "9511", "3", "Retinoblastoma, differentiated (C69.2)" ], [ "9512", "3", "Retinoblastoma, undifferentiated (C69.2)" ], [ "9513", "3", "Retinoblastoma, diffuse (C69.2)" ], [ "9514", "1", "Retinoblastoma, spontaneously regressed (C69.2)" ], [ "9520", "3", "Olfactory neurogenic tumor" ], [ "9521", "3", "Olfactory neurocytoma (C30.0)" ], [ "9522", "3", "Olfactory neuroblastoma (C30.0)" ], [ "9523", "3", "Olfactory neuroepithelioma (C30.0)" ], [ "9530", "0", "Meningioma, NOS" ], [ "9530", "1", "Meningiomatosis, NOS" ], [ "9530", "3", "Meningioma, malignant" ], [ "9531", "0", "Meningothelial meningioma" ], [ "9532", "0", "Fibrous meningioma" ], [ "9533", "0", "Psammomatous meningioma" ], [ "9534", "0", "Angiomatous meningioma" ], [ "9535", "0", "Hemangioblastic meningioma [obs]" ], [ "9537", "0", "Transitional meningioma" ], [ "9538", "1", "Clear cell meningioma" ], [ "9538", "3", "Papillary meningioma" ], [ "9539", "1", "Atypical meningioma" ], [ "9539", "3", "Meningeal sarcomatosis" ], [ "9540", "0", "Neurofibroma, NOS" ], [ "9540", "1", "Neurofibromatosis, NOS" ], [ "9540", "3", "Malignant peripheral nerve sheath tumor" ], [ "9541", "0", "Melanotic neurofibroma" ], [ "9550", "0", "Plexiform neurofibroma" ], [ "9560", "0", "Neurilemoma, NOS" ], [ "9560", "1", "Neurinomatosis" ], [ "9560", "3", "Neurilemoma, malignant [obs]" ], [ "9561", "3", "Malignant peripheral nerve sheath tumor with rhabdomyoblastic differentiation" ], [ "9562", "0", "Neurothekeoma" ], [ "9570", "0", "Neuroma, NOS" ], [ "9571", "0", "Perineurioma, NOS" ], [ "9571", "3", "Perineurioma, malignant" ], [ "9580", "0", "Granular cell tumor, NOS" ], [ "9580", "3", "Granular cell tumor, malignant" ], [ "9581", "3", "Alveolar soft part sarcoma" ], [ "9582", "0", "Granular cell tumor of the sellar region (C75.1)" ], [ "9590", "3", "Malignant lymphoma, NOS" ], [ "9591", "3", "Malignant lymphoma, non-Hodgkin, NOS" ], [ "9596", "3", "Composite Hodgkin and non-Hodgkin lymphoma" ], [ "9650", "3", "Hodgkin lymphoma, NOS" ], [ "9651", "3", "Hodgkin lymphoma, lymphocyte-rich" ], [ "9652", "3", "Hodgkin lymphoma, mixed cellularity, NOS" ], [ "9653", "3", "Hodgkin lymphoma, lymphocyte depletion, NOS" ], [ "9654", "3", "Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" ], [ "9655", "3", "Hodgkin lymphoma, lymphocyte depletion, reticular" ], [ "9659", "3", "Hodgkin lymphoma, nodular lymphocyte predominance" ], [ "9661", "3", "Hodgkin granuloma [obs]" ], [ "9662", "3", "Hodgkin sarcoma [obs]" ], [ "9663", "3", "Hodgkin lymphoma, nodular sclerosis, NOS" ], [ "9664", "3", "Hodgkin lymphoma, nodular sclerosis, cellular phase" ], [ "9665", "3", "Hodgkin lymphoma, nodular sclerosis, grade 1" ], [ "9667", "3", "Hodgkin lymphoma, nodular sclerosis, grade 2" ], [ "9673", "3", "Mantle cell lymphoma" ], [ "9675", "3", "Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" ], [ "9678", "3", "Primary effusion lymphoma" ], [ "9679", "3", "Mediastinal large B-cell lymphoma (C38.3)" ], [ "9680", "3", "Malignant lymphoma, large B-cell, diffuse, NOS" ], [ "9684", "3", "Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" ], [ "9687", "3", "Burkitt lymphoma, NOS (see also M-9826/3)" ], [ "9689", "3", "Splenic marginal zone B-cell lymphoma (C42.2)" ], [ "9690", "3", "Follicular lymphoma, NOS (see also M-9675/3)" ], [ "9691", "3", "Follicular lymphoma, grade 2" ], [ "9695", "3", "Follicular lymphoma, grade 1" ], [ "9698", "3", "Follicular lymphoma, grade 3" ], [ "9699", "3", "Marginal zone B-cell lymphoma, NOS" ], [ "9700", "3", "Mycosis fungoides (C44._)" ], [ "9701", "3", "Sezary syndrome" ], [ "9702", "3", "Mature T-cell lymphoma, NOS" ], [ "9705", "3", "Angioimmunoblastic T-cell lymphoma" ], [ "9708", "3", "Subcutaneous panniculitis-like T-cell lymphoma" ], [ "9709", "3", "Cutaneous T-cell lymphoma, NOS (C44._)" ], [ "9714", "3", "Anaplastic large cell lymphoma, T cell and Null cell type" ], [ "9716", "3", "Hepatosplenic ?? (gamma-delta) cell lymphoma" ], [ "9717", "3", "Intestinal T-cell lymphoma" ], [ "9718", "3", "Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" ], [ "9719", "3", "NK/T-cell lymphoma, nasal and nasal-type" ], [ "9727", "3", "Precursor cell lymphoblastic lymphoma, NOS (see also M-9835/3)" ], [ "9728", "3", "Precursor B-cell lymphoblastic lymphoma (see also M-9836/3)" ], [ "9729", "3", "Precursor T-cell lymphoblastic lymphoma (see also M-9837/3)" ], [ "9731", "3", "Plasmacytoma, NOS" ], [ "9732", "3", "Multiple myeloma (C42.1)" ], [ "9733", "3", "Plasma cell leukemia (C42.1)" ], [ "9734", "3", "Plasmacytoma, extramedullary (not occurring in bone)" ], [ "9740", "1", "Mastocytoma, NOS" ], [ "9740", "3", "Mast cell sarcoma" ], [ "9741", "3", "Malignant mastocytosis" ], [ "9742", "3", "Mast cell leukemia (C42.1)" ], [ "9750", "3", "Malignant histiocytosis" ], [ "9751", "1", "Langerhans cell histiocytosis, NOS" ], [ "9752", "1", "Langerhans cell histiocytosis, unifocal" ], [ "9753", "1", "Langerhans cell histiocytosis, multifocal" ], [ "9754", "3", "Langerhans cell histiocytosis, disseminated" ], [ "9755", "3", "Histiocytic sarcoma" ], [ "9756", "3", "Langerhans cell sarcoma" ], [ "9757", "3", "Interdigitating dendritic cell sarcoma" ], [ "9758", "3", "Follicular dendritic cell sarcoma" ], [ "9760", "3", "Immunoproliferative disease, NOS" ], [ "9761", "3", "Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" ], [ "9762", "3", "Heavy chain disease, NOS" ], [ "9764", "3", "Immunoproliferative small intestinal disease (C17._)" ], [ "9765", "1", "Monoclonal gammopathy of undetermined significance" ], [ "9766", "1", "Angiocentric immunoproliferative lesion" ], [ "9767", "1", "Angioimmunoblastic lymphadenopathy" ], [ "9768", "1", "T-gamma lymphoproliferative disease" ], [ "9769", "1", "Immunoglobulin deposition disease" ], [ "9800", "3", "Leukemia, NOS" ], [ "9801", "3", "Acute leukemia, NOS" ], [ "9805", "3", "Acute biphenotypic leukemia" ], [ "9820", "3", "Lymphoid leukemia, NOS" ], [ "9823", "3", "B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" ], [ "9826", "3", "Burkitt cell leukemia (see also M-9687/3)" ], [ "9827", "3", "Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" ], [ "9831", "1", "T-cell large granular lymphocytic leukemia" ], [ "9832", "3", "Prolymphocytic leukemia, NOS" ], [ "9833", "3", "Prolymphocytic leukemia, B-cell type" ], [ "9834", "3", "Prolymphocytic leukemia, T-cell type" ], [ "9835", "3", "Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" ], [ "9836", "3", "Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" ], [ "9837", "3", "Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" ], [ "9840", "3", "Acute myeloid leukemia, M6 type" ], [ "9860", "3", "Myeloid leukemia, NOS" ], [ "9861", "3", "Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" ], [ "9863", "3", "Chronic myeloid leukemia, NOS" ], [ "9866", "3", "Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" ], [ "9867", "3", "Acute myelomonocytic leukemia" ], [ "9870", "3", "Acute basophilic leukemia" ], [ "9871", "3", "Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" ], [ "9872", "3", "Acute myeloid leukemia, minimal differentiation" ], [ "9873", "3", "Acute myeloid leukemia without maturation" ], [ "9874", "3", "Acute myeloid leukemia with maturation" ], [ "9875", "3", "Chronic myelogenous leukemia, BCR/ABL positive" ], [ "9876", "3", "Atypical chronic myeloid leukemia, BCR/ABL negative" ], [ "9891", "3", "Acute monocytic leukemia" ], [ "9895", "3", "Acute myeloid leukemia with multilineage dysplasia" ], [ "9896", "3", "Acute myeloid leukemia, t(8;21)(q22;q22)" ], [ "9897", "3", "Acute myeloid leukemia, 11q23 abnormalities" ], [ "9910", "3", "Acute megakaryoblastic leukemia" ], [ "9920", "3", "Therapy-related acute myeloid leukemia, NOS" ], [ "9930", "3", "Myeloid sarcoma (see also M-9861/3)" ], [ "9931", "3", "Acute panmyelosis with myelofibrosis (C42.1)" ], [ "9940", "3", "Hairy cell leukemia (C42.1)" ], [ "9945", "3", "Chronic myelomonocytic leukemia, NOS" ], [ "9946", "3", "Juvenile myelomonocytic leukemia" ], [ "9948", "3", "Aggressive NK-cell leukemia" ], [ "9950", "3", "Polycythemia vera" ], [ "9960", "3", "Chronic myeloproliferative disease, NOS" ], [ "9961", "3", "Myelosclerosis with myeloid metaplasia" ], [ "9962", "3", "Essential thrombocythemia" ], [ "9963", "3", "Chronic neutrophilic leukemia" ], [ "9964", "3", "Hypereosinophilic syndrome" ], [ "9970", "1", "Lymphoproliferative disorder, NOS" ], [ "9975", "1", "Myeloproliferative disease, NOS" ], [ "9980", "3", "Refractory anemia" ], [ "9982", "3", "Refractory anemia with sideroblasts" ], [ "9983", "3", "Refractory anemia with excess blasts" ], [ "9984", "3", "Refractory anemia with excess blasts in transformation [obs]" ], [ "9985", "3", "Refractory cytopenia with multilineage dysplasia" ], [ "9986", "3", "Myelodysplastic syndrome with 5q deletion (5q-) syndrome" ], [ "9987", "3", "Therapy-related myelodysplastic syndrome, NOS" ], [ "9989", "3", "Myelodysplastic syndrome, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paf.json deleted file mode 100644 index 7ce44d983..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paf.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ajcc6_exclusions_paf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Exclusions", - "title" : "Histology Exclusion Table AJCC 6th ed.", - "notes" : "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. For these cases, displayed results will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified" : "2015-05-27T16:18:46.714Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8000", "0", "Neoplasm, benign" ], [ "8000", "1", "Neoplasm, uncertain whether benign or malignant" ], [ "8000", "3", "Neoplasm, malignant" ], [ "8000", "6", "Neoplasm, metastatic" ], [ "8000", "9", "Neoplasm, malignant, uncertain whether primary or metastatic" ], [ "8001", "0", "Tumor cells, benign" ], [ "8001", "1", "Tumor cells, uncertain whether benign or malignant" ], [ "8001", "3", "Tumor cells, malignant" ], [ "8002", "3", "Malignant tumor, small cell type" ], [ "8003", "3", "Malignant tumor, giant cell type" ], [ "8004", "3", "Malignant tumor, spindle cell type" ], [ "8005", "0", "Clear cell tumor, NOS" ], [ "8005", "3", "Malignant tumor, clear cell type" ], [ "8010", "0", "Epithelial tumor, benign" ], [ "8010", "2", "Carcinoma in situ, NOS" ], [ "8010", "3", "Carcinoma, NOS" ], [ "8010", "6", "Carcinoma, metastatic, NOS" ], [ "8010", "9", "Carcinomatosis" ], [ "8011", "0", "Epithelioma, benign" ], [ "8011", "3", "Epithelioma, malignant" ], [ "8012", "3", "Large cell carcinoma, NOS" ], [ "8013", "3", "Large cell neuroendocrine carcinoma" ], [ "8014", "3", "Large cell carcinoma with rhabdoid phenotype" ], [ "8015", "3", "Glassy cell carcinoma" ], [ "8020", "3", "Carcinoma, undifferentiated, NOS" ], [ "8021", "3", "Carcinoma, anaplastic, NOS" ], [ "8022", "3", "Pleomorphic carcinoma" ], [ "8030", "3", "Giant cell and spindle cell carcinoma" ], [ "8031", "3", "Giant cell carcinoma" ], [ "8032", "3", "Spindle cell carcinoma, NOS" ], [ "8033", "3", "Pseudosarcomatous carcinoma" ], [ "8034", "3", "Polygonal cell carcinoma" ], [ "8035", "3", "Carcinoma with osteoclast-like giant cells" ], [ "8040", "0", "Tumorlet, benign" ], [ "8040", "1", "Tumorlet, NOS" ], [ "8041", "3", "Small cell carcinoma, NOS" ], [ "8042", "3", "Oat cell carcinoma (C34._)" ], [ "8043", "3", "Small cell carcinoma, fusiform cell" ], [ "8044", "3", "Small cell carcinoma, intermediate cell" ], [ "8045", "3", "Combined small cell carcinoma" ], [ "8046", "3", "Non-small cell carcinoma (C34._)" ], [ "8050", "0", "Papilloma, NOS (except papilloma of bladder M-8120/1)" ], [ "8050", "2", "Papillary carcinoma in situ" ], [ "8050", "3", "Papillary carcinoma, NOS" ], [ "8051", "0", "Verrucous papilloma" ], [ "8051", "3", "Verrucous carcinoma, NOS" ], [ "8052", "0", "Squamous cell papilloma, NOS" ], [ "8052", "2", "Papillary squamous cell carcinoma, non-invasive" ], [ "8052", "3", "Papillary squamous cell carcinoma" ], [ "8053", "0", "Squamous cell papilloma, inverted" ], [ "8060", "0", "Squamous papillomatosis" ], [ "8070", "2", "Squamous cell carcinoma in situ, NOS" ], [ "8070", "3", "Squamous cell carcinoma, NOS" ], [ "8070", "6", "Squamous cell carcinoma, metastatic, NOS" ], [ "8071", "3", "Squamous cell carcinoma, keratinizing, NOS" ], [ "8072", "3", "Squamous cell carcinoma, large cell, nonkeratinizing, NOS" ], [ "8073", "3", "Squamous cell carcinoma, small cell, nonkeratinizing" ], [ "8074", "3", "Squamous cell carcinoma, spindle cell" ], [ "8075", "3", "Squamous cell carcinoma, adenoid" ], [ "8076", "2", "Squamous cell carcinoma in situ with questionable stromal invasion" ], [ "8076", "3", "Squamous cell carcinoma, microinvasive" ], [ "8077", "2", "Squamous intraepithelial neoplasia, grade III" ], [ "8078", "3", "Squamous cell carcinoma with horn formation" ], [ "8080", "2", "Queyrat erythroplasia (C60._)" ], [ "8081", "2", "Bowen disease (C44._)" ], [ "8082", "3", "Lymphoepithelial carcinoma" ], [ "8083", "3", "Basaloid squamous cell carcinoma" ], [ "8084", "3", "Squamous cell carcinoma, clear cell type" ], [ "8090", "1", "Basal cell tumor (C44._)" ], [ "8090", "3", "Basal cell carcinoma, NOS (C44._)" ], [ "8091", "3", "Multifocal superficial basal cell carcinoma (C44._)" ], [ "8092", "3", "Infiltrating basal cell carcinoma, NOS (C44._)" ], [ "8093", "3", "Basal cell carcinoma, fibroepithelial (C44._)" ], [ "8094", "3", "Basosquamous carcinoma (C44._)" ], [ "8095", "3", "Metatypical carcinoma (C44._)" ], [ "8096", "0", "Intraepidermal epithelioma of Jadassohn (C44._)" ], [ "8097", "3", "Basal cell carcinoma, nodular (C44._)" ], [ "8098", "3", "Adenoid basal carcinoma (C53._)" ], [ "8100", "0", "Trichoepithelioma (C44._)" ], [ "8101", "0", "Trichofolliculoma (C44._)" ], [ "8102", "0", "Trichilemmoma (C44._)" ], [ "8102", "3", "Trichilemmocarcinoma (C44._)" ], [ "8103", "0", "Pilar tumor (C44._)" ], [ "8110", "0", "Pilomatrixoma, NOS (C44._)" ], [ "8110", "3", "Pilomatrix carcinoma (C44._)" ], [ "8120", "0", "Transitional cell papilloma, benign" ], [ "8120", "1", "Urothelial papilloma, NOS" ], [ "8120", "2", "Transitional cell carcinoma in situ" ], [ "8120", "3", "Transitional cell carcinoma, NOS" ], [ "8121", "0", "Schneiderian papilloma, NOS (C30.0, C31._)" ], [ "8121", "1", "Transitional cell papilloma, inverted, NOS" ], [ "8121", "3", "Schneiderian carcinoma (C30.0, C31._)" ], [ "8122", "3", "Transitional cell carcinoma, spindle cell" ], [ "8123", "3", "Basaloid carcinoma" ], [ "8124", "3", "Cloacogenic carcinoma (C21.2)" ], [ "8130", "1", "Papillary transitional cell neoplasm of low malignant potential (C67._)" ], [ "8130", "2", "Papillary transitional cell carcinoma, non-invasive (C67._)" ], [ "8130", "3", "Papillary transitional cell carcinoma (C67._)" ], [ "8131", "3", "Transitional cell carcinoma, micropapillary (C67._)" ], [ "8140", "0", "Adenoma, NOS" ], [ "8140", "1", "Atypical adenoma" ], [ "8140", "2", "Adenocarcinoma in situ, NOS" ], [ "8140", "3", "Adenocarcinoma, NOS" ], [ "8140", "6", "Adenocarcinoma, metastatic, NOS" ], [ "8141", "3", "Scirrhous adenocarcinoma" ], [ "8142", "3", "Linitis plastica (C16._)" ], [ "8143", "3", "Superficial spreading adenocarcinoma" ], [ "8144", "3", "Adenocarcinoma, intestinal type (C16._)" ], [ "8145", "3", "Carcinoma, diffuse type (C16._)" ], [ "8146", "0", "Monomorphic adenoma" ], [ "8147", "0", "Basal cell adenoma" ], [ "8147", "3", "Basal cell adenocarcinoma" ], [ "8148", "2", "Glandular intraepithelial neoplasia, grade III" ], [ "8149", "0", "Canalicular adenoma" ], [ "8150", "0", "Islet cell adenoma (C25._)" ], [ "8150", "1", "Islet cell tumor, NOS (C25._)" ], [ "8150", "3", "Islet cell carcinoma (C25._)" ], [ "8151", "0", "Insulinoma, NOS (C25._)" ], [ "8151", "3", "Insulinoma, malignant (C25._)" ], [ "8152", "1", "Glucagonoma, NOS (C25._)" ], [ "8152", "3", "Glucagonoma, malignant (C25._)" ], [ "8153", "1", "Gastrinoma, NOS" ], [ "8153", "3", "Gastrinoma, malignant" ], [ "8154", "3", "Mixed islet cell and exocrine adenocarcinoma (C25._)" ], [ "8155", "1", "Vipoma, NOS" ], [ "8155", "3", "Vipoma, malignant" ], [ "8156", "1", "Somatostatinoma, NOS" ], [ "8156", "3", "Somatostatinoma, malignant" ], [ "8157", "1", "Enteroglucagonoma, NOS" ], [ "8157", "3", "Enteroglucagonoma, malignant" ], [ "8160", "0", "Bile duct adenoma (C22.1, C24.0)" ], [ "8160", "3", "Cholangiocarcinoma (C22.1, C24.0)" ], [ "8161", "0", "Bile duct cystadenoma (C22.1, C24.0)" ], [ "8161", "3", "Bile duct cystadenocarcinoma (C22.1, C24.0)" ], [ "8162", "3", "Klatskin tumor (C22.1, C24.0)" ], [ "8170", "0", "Liver cell adenoma (C22.0)" ], [ "8170", "3", "Hepatocellular carcinoma, NOS (C22.0)" ], [ "8171", "3", "Hepatocellular carcinoma, fibrolamellar (C22.0)" ], [ "8172", "3", "Hepatocellular carcinoma, scirrhous (C22.0)" ], [ "8173", "3", "Hepatocellular carcinoma, spindle cell variant (C22.0)" ], [ "8174", "3", "Hepatocellular carcinoma, clear cell type (C22.0)" ], [ "8175", "3", "Hepatocellular carcinoma, pleomorphic type (C22.0)" ], [ "8180", "3", "Combined hepatocellular carcinoma and cholangiocarcinoma (C22.0)" ], [ "8190", "0", "Trabecular adenoma" ], [ "8190", "3", "Trabecular adenocarcinoma" ], [ "8191", "0", "Embryonal adenoma" ], [ "8200", "0", "Eccrine dermal cylindroma (C44._)" ], [ "8200", "3", "Adenoid cystic carcinoma" ], [ "8201", "2", "Cribriform carcinoma in situ (C50._)" ], [ "8201", "3", "Cribriform carcinoma, NOS" ], [ "8202", "0", "Microcystic adenoma (C25._)" ], [ "8204", "0", "Lactating adenoma (C50._)" ], [ "8210", "0", "Adenomatous polyp, NOS" ], [ "8210", "2", "Adenocarcinoma in situ in adenomatous polyp" ], [ "8210", "3", "Adenocarcinoma in adenomatous polyp" ], [ "8211", "0", "Tubular adenoma, NOS" ], [ "8211", "3", "Tubular adenocarcinoma" ], [ "8212", "0", "Flat adenoma" ], [ "8213", "0", "Serrated adenoma (C18._)" ], [ "8214", "3", "Parietal cell carcinoma (C16._)" ], [ "8215", "3", "Adenocarcinoma of anal glands (C21.1)" ], [ "8220", "0", "Adenomatous polyposis coli (C18._)" ], [ "8220", "3", "Adenocarcinoma in adenomatous polyposis coli (C18._)" ], [ "8221", "0", "Multiple adenomatous polyps" ], [ "8221", "3", "Adenocarcinoma in multiple adenomatous polyps" ], [ "8230", "2", "Ductal carcinoma in situ, solid type (C50._)" ], [ "8230", "3", "Solid carcinoma, NOS" ], [ "8231", "3", "Carcinoma simplex" ], [ "8240", "1", "Carcinoid tumor of uncertain malignant potential" ], [ "8240", "3", "Carcinoid tumor, NOS (except of appendix M-8240/1)" ], [ "8241", "3", "Enterochromaffin cell carcinoid" ], [ "8242", "1", "Enterochromaffin-like cell carcinoid, NOS" ], [ "8242", "3", "Enterochromaffin-like cell tumor, malignant" ], [ "8243", "3", "Goblet cell carcinoid" ], [ "8244", "3", "Composite carcinoid" ], [ "8245", "1", "Tubular carcinoid" ], [ "8245", "3", "Adenocarcinoid tumor" ], [ "8246", "3", "Neuroendocrine carcinoma, NOS" ], [ "8247", "3", "Merkel cell carcinoma (C44._)" ], [ "8248", "1", "Apudoma" ], [ "8249", "3", "Atypical carcinoid tumor" ], [ "8250", "1", "Pulmonary adenomatosis (C34._)" ], [ "8250", "3", "Bronchiolo-alveolar adenocarcinoma, NOS (C34._)" ], [ "8251", "0", "Alveolar adenoma (C34._)" ], [ "8251", "3", "Alveolar adenocarcinoma (C34._)" ], [ "8252", "3", "Bronchiolo-alveolar carcinoma, non-mucinous (C34._)" ], [ "8253", "3", "Bronchiolo-alveolar carcinoma, mucinous (C34._)" ], [ "8254", "3", "Bronchiolo-alveolar carcinoma, mixed mucinous and non-mucinous (C34._)" ], [ "8255", "3", "Adenocarcinoma with mixed subtypes" ], [ "8260", "0", "Papillary adenoma, NOS" ], [ "8260", "3", "Papillary adenocarcinoma, NOS" ], [ "8261", "0", "Villous adenoma, NOS" ], [ "8261", "2", "Adenocarcinoma in situ in villous adenoma" ], [ "8261", "3", "Adenocarcinoma in villous adenoma" ], [ "8262", "3", "Villous adenocarcinoma" ], [ "8263", "0", "Tubulovillous adenoma, NOS" ], [ "8263", "2", "Adenocarcinoma in situ in tubulovillous adenoma" ], [ "8263", "3", "Adenocarcinoma in tubulovillous adenoma" ], [ "8264", "0", "Papillomatosis, glandular" ], [ "8270", "0", "Chromophobe adenoma (C75.1)" ], [ "8270", "3", "Chromophobe carcinoma (C75.1)" ], [ "8271", "0", "Prolactinoma (C75.1)" ], [ "8272", "0", "Pituitary adenoma, NOS (C75.1)" ], [ "8272", "3", "Pituitary carcinoma, NOS (C75.1)" ], [ "8280", "0", "Acidophil adenoma (C75.1)" ], [ "8280", "3", "Acidophil carcinoma (C75.1)" ], [ "8281", "0", "Mixed acidophil-basophil adenoma (C75.1)" ], [ "8281", "3", "Mixed acidophil-basophil carcinoma (C75.1)" ], [ "8290", "0", "Oxyphilic adenoma" ], [ "8290", "3", "Oxyphilic adenocarcinoma" ], [ "8300", "0", "Basophil adenoma (C75.1)" ], [ "8300", "3", "Basophil carcinoma (C75.1)" ], [ "8310", "0", "Clear cell adenoma" ], [ "8310", "3", "Clear cell adenocarcinoma, NOS" ], [ "8311", "1", "Hypernephroid tumor [obs]" ], [ "8312", "3", "Renal cell carcinoma, NOS (C64.9)" ], [ "8313", "0", "Clear cell adenofibroma (C56.9)" ], [ "8313", "1", "Clear cell adenofibroma of borderline malignancy (C56.9)" ], [ "8313", "3", "Clear cell adenocarcinofibroma (C56.9)" ], [ "8314", "3", "Lipid-rich carcinoma (C50._)" ], [ "8315", "3", "Glycogen-rich carcinoma" ], [ "8316", "3", "Cyst-associated renal cell carcinoma (C64.9)" ], [ "8317", "3", "Renal cell carcinoma, chromophobe type (C64.9)" ], [ "8318", "3", "Renal cell carcinoma, sarcomatoid (C64.9)" ], [ "8319", "3", "Collecting duct carcinoma (C64.9)" ], [ "8320", "3", "Granular cell carcinoma" ], [ "8321", "0", "Chief cell adenoma (C75.0)" ], [ "8322", "0", "Water-clear cell adenoma (C75.0)" ], [ "8322", "3", "Water-clear cell adenocarcinoma (C75.0)" ], [ "8323", "0", "Mixed cell adenoma" ], [ "8323", "3", "Mixed cell adenocarcinoma" ], [ "8324", "0", "Lipoadenoma" ], [ "8325", "0", "Metanephric adenoma (C64.9)" ], [ "8330", "0", "Follicular adenoma (C73.9)" ], [ "8330", "1", "Atypical follicular adenoma (C73.9)" ], [ "8330", "3", "Follicular adenocarcinoma, NOS (C73.9)" ], [ "8331", "3", "Follicular adenocarcinoma, well differentiated (C73.9)" ], [ "8332", "3", "Follicular adenocarcinoma, trabecular (C73.9)" ], [ "8333", "0", "Microfollicular adenoma, NOS (C73.9)" ], [ "8333", "3", "Fetal adenocarcinoma" ], [ "8334", "0", "Macrofollicular adenoma (C73.9)" ], [ "8335", "3", "Follicular carcinoma, minimally invasive (C73.9)" ], [ "8336", "0", "Hyalinizing trabecular adenoma (C73.9)" ], [ "8337", "3", "Insular carcinoma (C73.9)" ], [ "8340", "3", "Papillary carcinoma, follicular variant (C73.9)" ], [ "8341", "3", "Papillary microcarcinoma (C73.9)" ], [ "8342", "3", "Papillary carcinoma, oxyphilic cell (C73.9)" ], [ "8343", "3", "Papillary carcinoma, encapsulated (C73.9)" ], [ "8344", "3", "Papillary carcinoma, columnar cell (C73.9)" ], [ "8345", "3", "Medullary carcinoma with amyloid stroma (C73.9)" ], [ "8346", "3", "Mixed medullary-follicular carcinoma (C73.9)" ], [ "8347", "3", "Mixed medullary-papillary carcinoma (C73.9)" ], [ "8350", "3", "Nonencapsulated sclerosing carcinoma (C73.9)" ], [ "8360", "1", "Multiple endocrine adenomas" ], [ "8361", "0", "Juxtaglomerular tumor (C64.9)" ], [ "8370", "0", "Adrenal cortical adenoma, NOS (C74.0)" ], [ "8370", "3", "Adrenal cortical carcinoma (C74.0)" ], [ "8371", "0", "Adrenal cortical adenoma, compact cell (C74.0)" ], [ "8372", "0", "Adrenal cortical adenoma, pigmented (C74.0)" ], [ "8373", "0", "Adrenal cortical adenoma, clear cell (C74.0)" ], [ "8374", "0", "Adrenal cortical adenoma, glomerulosa cell (C74.0)" ], [ "8375", "0", "Adrenal cortical adenoma, mixed cell (C74.0)" ], [ "8380", "0", "Endometrioid adenoma, NOS" ], [ "8380", "1", "Endometrioid adenoma, borderline malignancy" ], [ "8380", "3", "Endometrioid adenocarcinoma, NOS" ], [ "8381", "0", "Endometrioid adenofibroma, NOS" ], [ "8381", "1", "Endometrioid adenofibroma, borderline malignancy" ], [ "8381", "3", "Endometrioid adenofibroma, malignant" ], [ "8382", "3", "Endometrioid adenocarcinoma, secretory variant" ], [ "8383", "3", "Endometrioid adenocarcinoma, ciliated cell variant" ], [ "8384", "3", "Adenocarcinoma, endocervical type" ], [ "8390", "0", "Skin appendage adenoma (C44._)" ], [ "8390", "3", "Skin appendage carcinoma (C44._)" ], [ "8391", "0", "Follicular fibroma (C44._)" ], [ "8392", "0", "Syringofibroadenoma (C44._)" ], [ "8400", "0", "Sweat gland adenoma (C44._)" ], [ "8400", "1", "Sweat gland tumor, NOS (C44._)" ], [ "8400", "3", "Sweat gland adenocarcinoma (C44._)" ], [ "8401", "0", "Apocrine adenoma" ], [ "8401", "3", "Apocrine adenocarcinoma" ], [ "8402", "0", "Nodular hidradenoma (C44._)" ], [ "8402", "3", "Nodular hidradenoma, malignant (C44._)" ], [ "8403", "0", "Eccrine spiradenoma (C44._)" ], [ "8403", "3", "Malignant eccrine spiradenoma (C44._)" ], [ "8404", "0", "Hidrocystoma (C44._)" ], [ "8405", "0", "Papillary hidradenoma" ], [ "8406", "0", "Papillary syringadenoma (C44._)" ], [ "8407", "0", "Syringoma, NOS (C44._)" ], [ "8407", "3", "Sclerosing sweat duct carcinoma (C44._)" ], [ "8408", "0", "Eccrine papillary adenoma (C44._)" ], [ "8408", "1", "Aggressive digital papillary adenoma (C44._)" ], [ "8408", "3", "Eccrine papillary adenocarcinoma (C44._)" ], [ "8409", "0", "Eccrine poroma (C44._)" ], [ "8409", "3", "Eccrine poroma, malignant" ], [ "8410", "0", "Sebaceous adenoma (C44._)" ], [ "8410", "3", "Sebaceous adenocarcinoma (C44._)" ], [ "8413", "3", "Eccrine adenocarcinoma (C44._)" ], [ "8420", "0", "Ceruminous adenoma (C44.2)" ], [ "8420", "3", "Ceruminous adenocarcinoma (C44.2)" ], [ "8430", "1", "Mucoepidermoid tumor [obs]" ], [ "8430", "3", "Mucoepidermoid carcinoma" ], [ "8440", "0", "Cystadenoma, NOS" ], [ "8440", "3", "Cystadenocarcinoma, NOS" ], [ "8441", "0", "Serous cystadenoma, NOS" ], [ "8441", "3", "Serous cystadenocarcinoma, NOS (C56.9)" ], [ "8442", "1", "Serous cystadenoma, borderline malignancy (C56.9)" ], [ "8443", "0", "Clear cell cystadenoma (C56.9)" ], [ "8444", "1", "Clear cell cystic tumor of borderline malignancy (C56.9)" ], [ "8450", "0", "Papillary cystadenoma, NOS (C56.9)" ], [ "8450", "3", "Papillary cystadenocarcinoma, NOS (C56.9)" ], [ "8451", "1", "Papillary cystadenoma, borderline malignancy (C56.9)" ], [ "8452", "1", "Solid pseudopapillary tumor (C25._)" ], [ "8452", "3", "Solid pseudopapillary carcinoma (C25._)" ], [ "8453", "0", "Intraductal papillary-mucinous adenoma (C25._)" ], [ "8453", "1", "Intraductal papillary-mucinous tumor with moderate dysplasia (C25._)" ], [ "8453", "2", "Intraductal papillary-mucinous carcinoma, non-invasive (C25._)" ], [ "8453", "3", "Intraductal papillary-mucinous carcinoma, invasive (C25._)" ], [ "8454", "0", "Cystic tumor of atrio-ventricular node (C38.0)" ], [ "8460", "0", "Papillary serous cystadenoma, NOS (C56.9)" ], [ "8460", "3", "Papillary serous cystadenocarcinoma (C56.9)" ], [ "8461", "0", "Serous surface papilloma (C56.9)" ], [ "8461", "3", "Serous surface papillary carcinoma (C56.9)" ], [ "8462", "1", "Serous papillary cystic tumor of borderline malignancy (C56.9)" ], [ "8463", "1", "Serous surface papillary tumor of borderline malignancy (C56.9)" ], [ "8470", "0", "Mucinous cystadenoma, NOS (C56.9)" ], [ "8470", "1", "Mucinous cystic tumor with moderate dysplasia (C25._)" ], [ "8470", "2", "Mucinous cystadenocarcinoma, non-invasive (C25._)" ], [ "8470", "3", "Mucinous cystadenocarcinoma, NOS (C56.9)" ], [ "8471", "0", "Papillary mucinous cystadenoma, NOS (C56.9)" ], [ "8471", "3", "Papillary mucinous cystadenocarcinoma (C56.9)" ], [ "8472", "1", "Mucinous cystic tumor of borderline malignancy (C56.9)" ], [ "8473", "1", "Papillary mucinous cystadenoma, borderline malignancy (C56.9)" ], [ "8480", "0", "Mucinous adenoma" ], [ "8480", "3", "Mucinous adenocarcinoma" ], [ "8480", "6", "Pseudomyxoma peritonei" ], [ "8481", "3", "Mucin-producing adenocarcinoma" ], [ "8482", "3", "Mucinous adenocarcinoma, endocervical type" ], [ "8490", "3", "Signet ring cell carcinoma" ], [ "8490", "6", "Metastatic signet ring cell carcinoma" ], [ "8500", "2", "Intraductal carcinoma, noninfiltrating, NOS" ], [ "8500", "3", "Infiltrating duct carcinoma, NOS (C50._)" ], [ "8501", "2", "Comedocarcinoma, noninfiltrating (C50._)" ], [ "8501", "3", "Comedocarcinoma, NOS (C50._)" ], [ "8502", "3", "Secretory carcinoma of breast (C50._)" ], [ "8503", "0", "Intraductal papilloma" ], [ "8503", "2", "Noninfiltrating intraductal papillary adenocarcinoma (C50._)" ], [ "8503", "3", "Intraductal papillary adenocarcinoma with invasion (C50._)" ], [ "8504", "0", "Intracystic papillary adenoma" ], [ "8504", "2", "Noninfiltrating intracystic carcinoma" ], [ "8504", "3", "Intracystic carcinoma, NOS" ], [ "8505", "0", "Intraductal papillomatosis, NOS" ], [ "8506", "0", "Adenoma of nipple (C50.0)" ], [ "8507", "2", "Intraductal micropapillary carcinoma (C50._)" ], [ "8508", "3", "Cystic hypersecretory carcinoma (C50._)" ], [ "8510", "3", "Medullary carcinoma, NOS" ], [ "8512", "3", "Medullary carcinoma with lymphoid stroma" ], [ "8513", "3", "Atypical medullary carcinoma (C50._)" ], [ "8514", "3", "Duct carcinoma, desmoplastic type" ], [ "8520", "2", "Lobular carcinoma in situ, NOS (C50._)" ], [ "8520", "3", "Lobular carcinoma, NOS (C50._)" ], [ "8521", "3", "Infiltrating ductular carcinoma (C50._)" ], [ "8522", "2", "Intraductal carcinoma and lobular carcinoma in situ (C50._)" ], [ "8522", "3", "Infiltrating duct and lobular carcinoma (C50._)" ], [ "8523", "3", "Infiltrating duct mixed with other types of carcinoma (C50._)" ], [ "8524", "3", "Infiltrating lobular mixed with other types of carcinoma (C50._)" ], [ "8525", "3", "Polymorphous low grade adenocarcinoma" ], [ "8530", "3", "Inflammatory carcinoma (C50._)" ], [ "8540", "3", "Paget disease, mammary (C50._)" ], [ "8541", "3", "Paget disease and infiltrating duct carcinoma of breast (C50._)" ], [ "8542", "3", "Paget disease, extramammary (except Paget disease of bone)" ], [ "8543", "3", "Paget disease and intraductal carcinoma of breast (C50._)" ], [ "8550", "0", "Acinar cell adenoma" ], [ "8550", "1", "Acinar cell tumor [obs]" ], [ "8550", "3", "Acinar cell carcinoma" ], [ "8551", "3", "Acinar cell cystadenocarcinoma" ], [ "8560", "0", "Mixed squamous cell and glandular papilloma" ], [ "8560", "3", "Adenosquamous carcinoma" ], [ "8561", "0", "Adenolymphoma (C07._, C08._)" ], [ "8562", "3", "Epithelial-myoepithelial carcinoma" ], [ "8570", "3", "Adenocarcinoma with squamous metaplasia" ], [ "8571", "3", "Adenocarcinoma with cartilaginous and osseous metaplasia" ], [ "8572", "3", "Adenocarcinoma with spindle cell metaplasia" ], [ "8573", "3", "Adenocarcinoma with apocrine metaplasia" ], [ "8574", "3", "Adenocarcinoma with neuroendocrine differentiation" ], [ "8575", "3", "Metaplastic carcinoma, NOS" ], [ "8576", "3", "Hepatoid adenocarcinoma" ], [ "8580", "0", "Thymoma, benign (C37.9)" ], [ "8580", "1", "Thymoma, NOS (C37.9)" ], [ "8580", "3", "Thymoma, malignant, NOS (C37.9)" ], [ "8581", "1", "Thymoma, type A, NOS (C37.9)" ], [ "8581", "3", "Thymoma, type A, malignant (C37.9)" ], [ "8582", "1", "Thymoma, type AB, NOS (C37.9)" ], [ "8582", "3", "Thymoma, type AB, malignant (C37.9)" ], [ "8583", "1", "Thymoma, type B1, NOS (C37.9)" ], [ "8583", "3", "Thymoma, type B1, malignant (C37.9)" ], [ "8584", "1", "Thymoma, type B2, NOS (C37.9)" ], [ "8584", "3", "Thymoma, type B2, malignant (C37.9)" ], [ "8585", "1", "Thymoma, type B3, NOS (C37.9)" ], [ "8585", "3", "Thymoma, type B3, malignant (C37.9)" ], [ "8586", "3", "Thymic carcinoma, NOS (C37.9)" ], [ "8587", "0", "Ectopic hamartomatous thymoma" ], [ "8588", "3", "Spindle epithelial tumor with thymus-like element" ], [ "8589", "3", "Carcinoma showing thymus-like element" ], [ "8590", "1", "Sex cord-gonadal stromal tumor, NOS" ], [ "8591", "1", "Sex cord-gonadal stromal tumor, incompletely differentiated" ], [ "8592", "1", "Sex cord-gonadal stromal tumor, mixed forms" ], [ "8593", "1", "Stromal tumor with minor sex cord elements (C56.9)" ], [ "8600", "0", "Thecoma, NOS (C56.9)" ], [ "8600", "3", "Thecoma, malignant (C56.9)" ], [ "8601", "0", "Thecoma, luteinized (C56.9)" ], [ "8602", "0", "Sclerosing stromal tumor (C56.9)" ], [ "8610", "0", "Luteoma, NOS (C56.9)" ], [ "8620", "1", "Granulosa cell tumor, adult type (C56.9)" ], [ "8620", "3", "Granulosa cell tumor, malignant (C56.9)" ], [ "8621", "1", "Granulosa cell-theca cell tumor (C56.9)" ], [ "8622", "1", "Granulosa cell tumor, juvenile (C56.9)" ], [ "8623", "1", "Sex cord tumor with annular tubules (C56.9)" ], [ "8630", "0", "Androblastoma, benign" ], [ "8630", "1", "Androblastoma, NOS" ], [ "8630", "3", "Androblastoma, malignant" ], [ "8631", "0", "Sertoli-Leydig cell tumor, well differentiated" ], [ "8631", "1", "Sertoli-Leydig cell tumor of intermediate differentiation" ], [ "8631", "3", "Sertoli-Leydig cell tumor, poorly differentiated" ], [ "8632", "1", "Gynandroblastoma (C56.9)" ], [ "8633", "1", "Sertoli-Leydig cell tumor, retiform" ], [ "8634", "1", "Sertoli-Leydig cell tumor, intermediate differentiation, with heterologous elements" ], [ "8634", "3", "Sertoli-Leydig cell tumor, poorly differentiated, with heterologous elements" ], [ "8640", "1", "Sertoli cell tumor, NOS" ], [ "8640", "3", "Sertoli cell carcinoma (C62._)" ], [ "8641", "0", "Sertoli cell tumor with lipid storage" ], [ "8642", "1", "Large cell calcifying Sertoli cell tumor" ], [ "8650", "0", "Leydig cell tumor, benign (C62._)" ], [ "8650", "1", "Leydig cell tumor, NOS (C62._)" ], [ "8650", "3", "Leydig cell tumor, malignant (C62._)" ], [ "8660", "0", "Hilus cell tumor (C56.9)" ], [ "8670", "0", "Lipid cell tumor of ovary (C56.9)" ], [ "8670", "3", "Steroid cell tumor, malignant" ], [ "8671", "0", "Adrenal rest tumor" ], [ "8680", "0", "Paraganglioma, benign" ], [ "8680", "1", "Paraganglioma, NOS" ], [ "8680", "3", "Paraganglioma, malignant" ], [ "8681", "1", "Sympathetic paraganglioma" ], [ "8682", "1", "Parasympathetic paraganglioma" ], [ "8683", "0", "Gangliocytic paraganglioma (C17.0)" ], [ "8690", "1", "Glomus jugulare tumor, NOS (C75.5)" ], [ "8691", "1", "Aortic body tumor (C75.5)" ], [ "8692", "1", "Carotid body tumor (C75.4)" ], [ "8693", "1", "Extra-adrenal paraganglioma, NOS" ], [ "8693", "3", "Extra-adrenal paraganglioma, malignant" ], [ "8700", "0", "Pheochromocytoma, NOS (C74.1)" ], [ "8700", "3", "Pheochromocytoma, malignant (C74.1)" ], [ "8710", "3", "Glomangiosarcoma" ], [ "8711", "0", "Glomus tumor, NOS" ], [ "8711", "3", "Glomus tumor, malignant" ], [ "8712", "0", "Glomangioma" ], [ "8713", "0", "Glomangiomyoma" ], [ "8720", "0", "Pigmented nevus, NOS (C44._)" ], [ "8720", "2", "Melanoma in situ" ], [ "8720", "3", "Malignant melanoma, NOS (except juvenile melanoma M-8770/0)" ], [ "8721", "3", "Nodular melanoma (C44._)" ], [ "8722", "0", "Balloon cell nevus (C44._)" ], [ "8722", "3", "Balloon cell melanoma (C44._)" ], [ "8723", "0", "Halo nevus (C44._)" ], [ "8723", "3", "Malignant melanoma, regressing (C44._)" ], [ "8725", "0", "Neuronevus (C44._)" ], [ "8726", "0", "Magnocellular nevus (C69.4)" ], [ "8727", "0", "Dysplastic nevus (C44._)" ], [ "8728", "0", "Diffuse melanocytosis (C70.9)" ], [ "8728", "1", "Meningeal melanocytoma (C70.9)" ], [ "8728", "3", "Meningeal melanomatosis (C70.9)" ], [ "8730", "0", "Nonpigmented nevus (C44._)" ], [ "8730", "3", "Amelanotic melanoma (C44._)" ], [ "8740", "0", "Junctional nevus, NOS (C44._)" ], [ "8740", "3", "Malignant melanoma in junctional nevus (C44._)" ], [ "8741", "2", "Precancerous melanosis, NOS (C44._)" ], [ "8741", "3", "Malignant melanoma in precancerous melanosis (C44._)" ], [ "8742", "2", "Lentigo maligna (C44._)" ], [ "8742", "3", "Lentigo maligna melanoma (C44._)" ], [ "8743", "3", "Superficial spreading melanoma (C44._)" ], [ "8744", "3", "Acral lentiginous melanoma, malignant (C44._)" ], [ "8745", "3", "Desmoplastic melanoma, malignant (C44._)" ], [ "8746", "3", "Mucosal lentiginous melanoma" ], [ "8750", "0", "Intradermal nevus (C44._)" ], [ "8760", "0", "Compound nevus (C44._)" ], [ "8761", "0", "Small congenital nevus (C44._)" ], [ "8761", "1", "Giant pigmented nevus, NOS (C44._)" ], [ "8761", "3", "Malignant melanoma in giant pigmented nevus (C44._)" ], [ "8762", "1", "Proliferative dermal lesion in congenital nevus (C44._)" ], [ "8770", "0", "Epithelioid and spindle cell nevus (C44._)" ], [ "8770", "3", "Mixed epithelioid and spindle cell melanoma" ], [ "8771", "0", "Epithelioid cell nevus (C44._)" ], [ "8771", "3", "Epithelioid cell melanoma" ], [ "8772", "0", "Spindle cell nevus, NOS (C44._)" ], [ "8772", "3", "Spindle cell melanoma, NOS" ], [ "8773", "3", "Spindle cell melanoma, type A (C69._)" ], [ "8774", "3", "Spindle cell melanoma, type B (C69._)" ], [ "8780", "0", "Blue nevus, NOS (C44._)" ], [ "8780", "3", "Blue nevus, malignant (C44._)" ], [ "8790", "0", "Cellular blue nevus (C44._)" ], [ "8800", "0", "Soft tissue tumor, benign" ], [ "8800", "3", "Sarcoma, NOS" ], [ "8800", "9", "Sarcomatosis, NOS" ], [ "8801", "3", "Spindle cell sarcoma" ], [ "8802", "3", "Giant cell sarcoma (except of bone M-9250/3)" ], [ "8803", "3", "Small cell sarcoma" ], [ "8804", "3", "Epithelioid sarcoma" ], [ "8805", "3", "Undifferentiated sarcoma" ], [ "8806", "3", "Desmoplastic small round cell tumor" ], [ "8810", "0", "Fibroma, NOS" ], [ "8810", "1", "Cellular fibroma (C56.9)" ], [ "8810", "3", "Fibrosarcoma, NOS" ], [ "8811", "0", "Fibromyxoma" ], [ "8811", "3", "Fibromyxosarcoma" ], [ "8812", "0", "Periosteal fibroma (C40._, C41._)" ], [ "8812", "3", "Periosteal fibrosarcoma (C40._, C41._)" ], [ "8813", "0", "Fascial fibroma" ], [ "8813", "3", "Fascial fibrosarcoma" ], [ "8814", "3", "Infantile fibrosarcoma" ], [ "8815", "0", "Solitary fibrous tumor" ], [ "8815", "3", "Solitary fibrous tumor, malignant" ], [ "8820", "0", "Elastofibroma" ], [ "8821", "1", "Aggressive fibromatosis" ], [ "8822", "1", "Abdominal fibromatosis" ], [ "8823", "0", "Desmoplastic fibroma" ], [ "8824", "0", "Myofibroma" ], [ "8824", "1", "Myofibromatosis" ], [ "8825", "0", "Myofibroblastoma" ], [ "8825", "1", "Myofibroblastic tumor, NOS" ], [ "8826", "0", "Angiomyofibroblastoma" ], [ "8827", "1", "Myofibroblastic tumor, peribronchial (C34._)" ], [ "8830", "0", "Benign fibrous histiocytoma" ], [ "8830", "1", "Atypical fibrous histiocytoma" ], [ "8830", "3", "Malignant fibrous histiocytoma" ], [ "8831", "0", "Histiocytoma, NOS" ], [ "8832", "0", "Dermatofibroma, NOS (C44._)" ], [ "8832", "3", "Dermatofibrosarcoma, NOS (C44._)" ], [ "8833", "3", "Pigmented dermatofibrosarcoma protuberans (C44._)" ], [ "8834", "1", "Giant cell fibroblastoma" ], [ "8835", "1", "Plexiform fibrohistiocytic tumor" ], [ "8836", "1", "Angiomatoid fibrous histiocytoma" ], [ "8840", "0", "Myxoma, NOS" ], [ "8840", "3", "Myxosarcoma" ], [ "8841", "1", "Angiomyxoma" ], [ "8842", "0", "Ossifying fibromyxoid tumor" ], [ "8850", "0", "Lipoma, NOS" ], [ "8850", "1", "Atypical lipoma" ], [ "8850", "3", "Liposarcoma, NOS" ], [ "8851", "0", "Fibrolipoma" ], [ "8851", "3", "Liposarcoma, well differentiated" ], [ "8852", "0", "Fibromyxolipoma" ], [ "8852", "3", "Myxoid liposarcoma" ], [ "8853", "3", "Round cell liposarcoma" ], [ "8854", "0", "Pleomorphic lipoma" ], [ "8854", "3", "Pleomorphic liposarcoma" ], [ "8855", "3", "Mixed liposarcoma" ], [ "8856", "0", "Intramuscular lipoma" ], [ "8857", "0", "Spindle cell lipoma" ], [ "8857", "3", "Fibroblastic liposarcoma" ], [ "8858", "3", "Dedifferentiated liposarcoma" ], [ "8860", "0", "Angiomyolipoma" ], [ "8861", "0", "Angiolipoma, NOS" ], [ "8862", "0", "Chondroid lipoma" ], [ "8870", "0", "Myelolipoma" ], [ "8880", "0", "Hibernoma" ], [ "8881", "0", "Lipoblastomatosis" ], [ "8890", "0", "Leiomyoma, NOS" ], [ "8890", "1", "Leiomyomatosis, NOS" ], [ "8890", "3", "Leiomyosarcoma, NOS" ], [ "8891", "0", "Epithelioid leiomyoma" ], [ "8891", "3", "Epithelioid leiomyosarcoma" ], [ "8892", "0", "Cellular leiomyoma" ], [ "8893", "0", "Bizarre leiomyoma" ], [ "8894", "0", "Angiomyoma" ], [ "8894", "3", "Angiomyosarcoma" ], [ "8895", "0", "Myoma" ], [ "8895", "3", "Myosarcoma" ], [ "8896", "3", "Myxoid leiomyosarcoma" ], [ "8897", "1", "Smooth muscle tumor of uncertain malignant potential" ], [ "8898", "1", "Metastasizing leiomyoma" ], [ "8900", "0", "Rhabdomyoma, NOS" ], [ "8900", "3", "Rhabdomyosarcoma, NOS" ], [ "8901", "3", "Pleomorphic rhabdomyosarcoma, adult type" ], [ "8902", "3", "Mixed type rhabdomyosarcoma" ], [ "8903", "0", "Fetal rhabdomyoma" ], [ "8904", "0", "Adult rhabdomyoma" ], [ "8905", "0", "Genital rhabdomyoma (C51._, C52.9)" ], [ "8910", "3", "Embryonal rhabdomyosarcoma, NOS" ], [ "8912", "3", "Spindle cell rhabdomyosarcoma" ], [ "8920", "3", "Alveolar rhabdomyosarcoma" ], [ "8921", "3", "Rhabdomyosarcoma with ganglionic differentiation" ], [ "8930", "0", "Endometrial stromal nodule (C54.1)" ], [ "8930", "3", "Endometrial stromal sarcoma, NOS (C54.1)" ], [ "8931", "3", "Endometrial stromal sarcoma, low grade (C54.1)" ], [ "8932", "0", "Adenomyoma" ], [ "8933", "3", "Adenosarcoma" ], [ "8934", "3", "Carcinofibroma" ], [ "8935", "0", "Stromal tumor, benign" ], [ "8935", "1", "Stromal tumor, NOS" ], [ "8935", "3", "Stromal sarcoma, NOS" ], [ "8936", "0", "Gastrointestinal stromal tumor, benign" ], [ "8936", "1", "Gastrointestinal stromal tumor, NOS" ], [ "8936", "3", "Gastrointestinal stromal sarcoma" ], [ "8940", "0", "Pleomorphic adenoma" ], [ "8940", "3", "Mixed tumor, malignant, NOS" ], [ "8941", "3", "Carcinoma in pleomorphic adenoma (C07._, C08._)" ], [ "8950", "3", "Mullerian mixed tumor (C54._)" ], [ "8951", "3", "Mesodermal mixed tumor" ], [ "8959", "0", "Benign cystic nephroma (C64.9)" ], [ "8959", "1", "Cystic partially differentiated nephroblastoma (C64.9)" ], [ "8959", "3", "Malignant cystic nephroma (C64.9)" ], [ "8960", "1", "Mesoblastic nephroma" ], [ "8960", "3", "Nephroblastoma, NOS (C64.9)" ], [ "8963", "3", "Malignant rhabdoid tumor" ], [ "8964", "3", "Clear cell sarcoma of kidney (C64.9)" ], [ "8965", "0", "Nephrogenic adenofibroma (C64.9)" ], [ "8966", "0", "Renomedullary interstitial cell tumor (C64.9)" ], [ "8967", "0", "Ossifying renal tumor (C64.9)" ], [ "8970", "3", "Hepatoblastoma (C22.0)" ], [ "8971", "3", "Pancreatoblastoma (C25._)" ], [ "8972", "3", "Pulmonary blastoma (C34._)" ], [ "8973", "3", "Pleuropulmonary blastoma" ], [ "8974", "1", "Sialoblastoma" ], [ "8980", "3", "Carcinosarcoma, NOS" ], [ "8981", "3", "Carcinosarcoma, embryonal" ], [ "8982", "0", "Myoepithelioma" ], [ "8982", "3", "Malignant myoepithelioma" ], [ "8983", "0", "Adenomyoepithelioma (C50._)" ], [ "8990", "0", "Mesenchymoma, benign" ], [ "8990", "1", "Mesenchymoma, NOS" ], [ "8990", "3", "Mesenchymoma, malignant" ], [ "8991", "3", "Embryonal sarcoma" ], [ "9000", "0", "Brenner tumor, NOS (C56.9)" ], [ "9000", "1", "Brenner tumor, borderline malignancy (C56.9)" ], [ "9000", "3", "Brenner tumor, malignant (C56.9)" ], [ "9010", "0", "Fibroadenoma, NOS (C50._)" ], [ "9011", "0", "Intracanalicular fibroadenoma (C50._)" ], [ "9012", "0", "Pericanalicular fibroadenoma (C50._)" ], [ "9013", "0", "Adenofibroma, NOS" ], [ "9014", "0", "Serous adenofibroma, NOS" ], [ "9014", "1", "Serous adenofibroma of borderline malignancy" ], [ "9014", "3", "Serous adenocarcinofibroma" ], [ "9015", "0", "Mucinous adenofibroma, NOS" ], [ "9015", "1", "Mucinous adenofibroma of borderline malignancy" ], [ "9015", "3", "Mucinous adenocarcinofibroma" ], [ "9016", "0", "Giant fibroadenoma (C50._)" ], [ "9020", "0", "Phyllodes tumor, benign (C50._)" ], [ "9020", "1", "Phyllodes tumor, borderline (C50._)" ], [ "9020", "3", "Phyllodes tumor, malignant (C50._)" ], [ "9030", "0", "Juvenile fibroadenoma (C50._)" ], [ "9040", "0", "Synovioma, benign" ], [ "9040", "3", "Synovial sarcoma, NOS" ], [ "9041", "3", "Synovial sarcoma, spindle cell" ], [ "9042", "3", "Synovial sarcoma, epithelioid cell" ], [ "9043", "3", "Synovial sarcoma, biphasic" ], [ "9044", "3", "Clear cell sarcoma, NOS (except of kidney M-8964/3)" ], [ "9050", "0", "Mesothelioma, benign" ], [ "9050", "3", "Mesothelioma, malignant" ], [ "9051", "0", "Fibrous mesothelioma, benign" ], [ "9051", "3", "Fibrous mesothelioma, malignant" ], [ "9052", "0", "Epithelioid mesothelioma, benign" ], [ "9052", "3", "Epithelioid mesothelioma, malignant" ], [ "9053", "3", "Mesothelioma, biphasic, malignant" ], [ "9054", "0", "Adenomatoid tumor, NOS" ], [ "9055", "0", "Multicystic mesothelioma, benign" ], [ "9055", "1", "Cystic mesothelioma, NOS (C48._)" ], [ "9060", "3", "Dysgerminoma" ], [ "9061", "3", "Seminoma, NOS (C62._)" ], [ "9062", "3", "Seminoma, anaplastic (C62._)" ], [ "9063", "3", "Spermatocytic seminoma (C62._)" ], [ "9064", "2", "Intratubular malignant germ cells (C62._)" ], [ "9064", "3", "Germinoma" ], [ "9065", "3", "Germ cell tumor, nonseminomatous (C62._)" ], [ "9070", "3", "Embryonal carcinoma, NOS" ], [ "9071", "3", "Yolk sac tumor" ], [ "9072", "3", "Polyembryoma" ], [ "9073", "1", "Gonadoblastoma" ], [ "9080", "0", "Teratoma, benign" ], [ "9080", "1", "Teratoma, NOS" ], [ "9080", "3", "Teratoma, malignant, NOS" ], [ "9081", "3", "Teratocarcinoma" ], [ "9082", "3", "Malignant teratoma, undifferentiated" ], [ "9083", "3", "Malignant teratoma, intermediate" ], [ "9084", "0", "Dermoid cyst, NOS" ], [ "9084", "3", "Teratoma with malignant transformation" ], [ "9085", "3", "Mixed germ cell tumor" ], [ "9090", "0", "Struma ovarii, NOS (C56.9)" ], [ "9090", "3", "Struma ovarii, malignant (C56.9)" ], [ "9091", "1", "Strumal carcinoid (C56.9)" ], [ "9110", "0", "Mesonephroma, benign" ], [ "9110", "1", "Mesonephric tumor, NOS" ], [ "9110", "3", "Mesonephroma, malignant" ], [ "9120", "0", "Hemangioma, NOS" ], [ "9120", "3", "Hemangiosarcoma" ], [ "9121", "0", "Cavernous hemangioma" ], [ "9122", "0", "Venous hemangioma" ], [ "9123", "0", "Racemose hemangioma" ], [ "9124", "3", "Kupffer cell sarcoma (C22.0)" ], [ "9125", "0", "Epithelioid hemangioma" ], [ "9130", "0", "Hemangioendothelioma, benign" ], [ "9130", "1", "Hemangioendothelioma, NOS" ], [ "9130", "3", "Hemangioendothelioma, malignant" ], [ "9131", "0", "Capillary hemangioma" ], [ "9132", "0", "Intramuscular hemangioma" ], [ "9133", "1", "Epithelioid hemangioendothelioma, NOS" ], [ "9133", "3", "Epithelioid hemangioendothelioma, malignant" ], [ "9135", "1", "Endovascular papillary angioendothelioma" ], [ "9136", "1", "Spindle cell hemangioendothelioma" ], [ "9140", "3", "Kaposi sarcoma" ], [ "9141", "0", "Angiokeratoma" ], [ "9142", "0", "Verrucous keratotic hemangioma" ], [ "9150", "0", "Hemangiopericytoma, benign" ], [ "9150", "1", "Hemangiopericytoma, NOS" ], [ "9150", "3", "Hemangiopericytoma, malignant" ], [ "9160", "0", "Angiofibroma, NOS" ], [ "9161", "0", "Acquired tufted hemangioma" ], [ "9161", "1", "Hemangioblastoma" ], [ "9170", "0", "Lymphangioma, NOS" ], [ "9170", "3", "Lymphangiosarcoma" ], [ "9171", "0", "Capillary lymphangioma" ], [ "9172", "0", "Cavernous lymphangioma" ], [ "9173", "0", "Cystic lymphangioma" ], [ "9174", "0", "Lymphangiomyoma" ], [ "9174", "1", "Lymphangiomyomatosis" ], [ "9175", "0", "Hemolymphangioma" ], [ "9180", "0", "Osteoma, NOS (C40._, C41._)" ], [ "9180", "3", "Osteosarcoma, NOS (C40._, C41._)" ], [ "9181", "3", "Chondroblastic osteosarcoma (C40._, C41._)" ], [ "9182", "3", "Fibroblastic osteosarcoma (C40._, C41._)" ], [ "9183", "3", "Telangiectatic osteosarcoma (C40._, C41._)" ], [ "9184", "3", "Osteosarcoma in Paget disease of bone (C40._, C41._)" ], [ "9185", "3", "Small cell osteosarcoma (C40._, C41._)" ], [ "9186", "3", "Central osteosarcoma (C40._, C41._)" ], [ "9187", "3", "Intraosseous well differentiated osteosarcoma (C40._, C41._)" ], [ "9191", "0", "Osteoid osteoma, NOS (C40._, C41._)" ], [ "9192", "3", "Parosteal osteosarcoma (C40._, C41._)" ], [ "9193", "3", "Periosteal osteosarcoma (C40._, C41._)" ], [ "9194", "3", "High grade surface osteosarcoma (C40._, C41._)" ], [ "9195", "3", "Intracortical osteosarcoma (C40._, C41._)" ], [ "9200", "0", "Osteoblastoma, NOS (C40._, C41._)" ], [ "9200", "1", "Aggressive osteoblastoma (C40._, C41._)" ], [ "9210", "0", "Osteochondroma (C40._, C41._)" ], [ "9210", "1", "Osteochondromatosis, NOS (C40._, C41._)" ], [ "9220", "0", "Chondroma, NOS (C40._, C41._)" ], [ "9220", "1", "Chondromatosis, NOS" ], [ "9220", "3", "Chondrosarcoma, NOS (C40._, C41._)" ], [ "9221", "0", "Juxtacortical chondroma (C40._, C41._)" ], [ "9221", "3", "Juxtacortical chondrosarcoma (C40._, C41._)" ], [ "9230", "0", "Chondroblastoma, NOS (C40._, C41._)" ], [ "9230", "3", "Chondroblastoma, malignant (C40._, C41._)" ], [ "9231", "3", "Myxoid chondrosarcoma" ], [ "9240", "3", "Mesenchymal chondrosarcoma" ], [ "9241", "0", "Chondromyxoid fibroma (C40._, C41._)" ], [ "9242", "3", "Clear cell chondrosarcoma (C40._, C41._)" ], [ "9243", "3", "Dedifferentiated chondrosarcoma (C40._, C41._)" ], [ "9250", "1", "Giant cell tumor of bone, NOS (C40._, C41._)" ], [ "9250", "3", "Giant cell tumor of bone, malignant (C40._, C41._)" ], [ "9251", "1", "Giant cell tumor of soft parts, NOS" ], [ "9251", "3", "Malignant giant cell tumor of soft parts" ], [ "9252", "0", "Tenosynovial giant cell tumor (C49._)" ], [ "9252", "3", "Malignant tenosynovial giant cell tumor (C49._)" ], [ "9260", "3", "Ewing sarcoma" ], [ "9261", "3", "Adamantinoma of long bones (C40._)" ], [ "9262", "0", "Ossifying fibroma" ], [ "9270", "0", "Odontogenic tumor, benign" ], [ "9270", "1", "Odontogenic tumor, NOS" ], [ "9270", "3", "Odontogenic tumor, malignant" ], [ "9271", "0", "Ameloblastic fibrodentinoma" ], [ "9272", "0", "Cementoma, NOS" ], [ "9273", "0", "Cementoblastoma, benign" ], [ "9274", "0", "Cementifying fibroma" ], [ "9275", "0", "Gigantiform cementoma" ], [ "9280", "0", "Odontoma, NOS" ], [ "9281", "0", "Compound odontoma" ], [ "9282", "0", "Complex odontoma" ], [ "9290", "0", "Ameloblastic fibro-odontoma" ], [ "9290", "3", "Ameloblastic odontosarcoma" ], [ "9300", "0", "Adenomatoid odontogenic tumor" ], [ "9301", "0", "Calcifying odontogenic cyst" ], [ "9302", "0", "Odontogenic ghost cell tumor" ], [ "9310", "0", "Ameloblastoma, NOS" ], [ "9310", "3", "Ameloblastoma, malignant" ], [ "9311", "0", "Odontoameloblastoma" ], [ "9312", "0", "Squamous odontogenic tumor" ], [ "9320", "0", "Odontogenic myxoma" ], [ "9321", "0", "Central odontogenic fibroma" ], [ "9322", "0", "Peripheral odontogenic fibroma" ], [ "9330", "0", "Ameloblastic fibroma" ], [ "9330", "3", "Ameloblastic fibrosarcoma" ], [ "9340", "0", "Calcifying epithelial odontogenic tumor" ], [ "9341", "1", "Clear cell odontogenic tumor" ], [ "9342", "3", "Odontogenic carcinosarcoma" ], [ "9350", "1", "Craniopharyngioma (C75.2)" ], [ "9351", "1", "Craniopharyngioma, adamantinomatous (C75.2)" ], [ "9352", "1", "Craniopharyngioma, papillary (C75.2)" ], [ "9360", "1", "Pinealoma (C75.3)" ], [ "9361", "1", "Pineocytoma (C75.3)" ], [ "9362", "3", "Pineoblastoma (C75.3)" ], [ "9363", "0", "Melanotic neuroectodermal tumor" ], [ "9364", "3", "Peripheral neuroectodermal tumor" ], [ "9365", "3", "Askin tumor" ], [ "9370", "3", "Chordoma, NOS" ], [ "9371", "3", "Chondroid chordoma" ], [ "9372", "3", "Dedifferentiated chordoma" ], [ "9373", "0", "Parachordoma" ], [ "9380", "3", "Glioma, malignant (C71._)" ], [ "9381", "3", "Gliomatosis cerebri (C71._)" ], [ "9382", "3", "Mixed glioma (C71._)" ], [ "9383", "1", "Subependymoma (C71._)" ], [ "9384", "1", "Subependymal giant cell astrocytoma (C71._)" ], [ "9390", "0", "Choroid plexus papilloma, NOS (C71.5)" ], [ "9390", "1", "Atypical choroid plexus papilloma (C71.5)" ], [ "9390", "3", "Choroid plexus carcinoma (C71.5)" ], [ "9391", "3", "Ependymoma, NOS (C71._)" ], [ "9392", "3", "Ependymoma, anaplastic (C71._)" ], [ "9393", "3", "Papillary ependymoma (C71._)" ], [ "9394", "1", "Myxopapillary ependymoma (C72.0)" ], [ "9400", "3", "Astrocytoma, NOS (C71._)" ], [ "9401", "3", "Astrocytoma, anaplastic (C71._)" ], [ "9410", "3", "Protoplasmic astrocytoma (C71._)" ], [ "9411", "3", "Gemistocytic astrocytoma (C71._)" ], [ "9412", "1", "Desmoplastic infantile astrocytoma (C71._)" ], [ "9413", "0", "Dysembryoplastic neuroepithelial tumor" ], [ "9420", "3", "Fibrillary astrocytoma (C71._)" ], [ "9421", "1", "Pilocytic astrocytoma (C71._)" ], [ "9423", "3", "Polar spongioblastoma (C71._)" ], [ "9424", "3", "Pleomorphic xanthoastrocytoma (C71._)" ], [ "9430", "3", "Astroblastoma (C71._)" ], [ "9440", "3", "Glioblastoma, NOS (C71._)" ], [ "9441", "3", "Giant cell glioblastoma (C71._)" ], [ "9442", "1", "Gliofibroma (C71._)" ], [ "9442", "3", "Gliosarcoma (C71._)" ], [ "9444", "1", "Chordoid glioma (C71._)" ], [ "9450", "3", "Oligodendroglioma, NOS (C71._)" ], [ "9451", "3", "Oligodendroglioma, anaplastic (C71._)" ], [ "9460", "3", "Oligodendroblastoma (C71._) [obs]" ], [ "9470", "3", "Medulloblastoma, NOS (C71.6)" ], [ "9471", "3", "Desmoplastic nodular medulloblastoma (C71.6)" ], [ "9472", "3", "Medullomyoblastoma (C71.6)" ], [ "9473", "3", "Primitive neuroectodermal tumor, NOS" ], [ "9474", "3", "Large cell medulloblastoma (C71.6)" ], [ "9480", "3", "Cerebellar sarcoma, NOS (C71.6) [obs]" ], [ "9490", "0", "Ganglioneuroma" ], [ "9490", "3", "Ganglioneuroblastoma" ], [ "9491", "0", "Ganglioneuromatosis" ], [ "9492", "0", "Gangliocytoma" ], [ "9493", "0", "Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" ], [ "9500", "3", "Neuroblastoma, NOS" ], [ "9501", "0", "Medulloepithelioma, benign (C69.4)" ], [ "9501", "3", "Medulloepithelioma, NOS" ], [ "9502", "0", "Teratoid medulloepithelioma, benign (C69.4)" ], [ "9502", "3", "Teratoid medulloepithelioma" ], [ "9503", "3", "Neuroepithelioma, NOS" ], [ "9504", "3", "Spongioneuroblastoma" ], [ "9505", "1", "Ganglioglioma, NOS" ], [ "9505", "3", "Ganglioglioma, anaplastic" ], [ "9506", "1", "Central neurocytoma" ], [ "9507", "0", "Pacinian tumor" ], [ "9508", "3", "Atypical teratoid/rhabdoid tumor (C71._)" ], [ "9510", "0", "Retinocytoma (C69.2)" ], [ "9510", "3", "Retinoblastoma, NOS (C69.2)" ], [ "9511", "3", "Retinoblastoma, differentiated (C69.2)" ], [ "9512", "3", "Retinoblastoma, undifferentiated (C69.2)" ], [ "9513", "3", "Retinoblastoma, diffuse (C69.2)" ], [ "9514", "1", "Retinoblastoma, spontaneously regressed (C69.2)" ], [ "9520", "3", "Olfactory neurogenic tumor" ], [ "9521", "3", "Olfactory neurocytoma (C30.0)" ], [ "9522", "3", "Olfactory neuroblastoma (C30.0)" ], [ "9523", "3", "Olfactory neuroepithelioma (C30.0)" ], [ "9530", "0", "Meningioma, NOS" ], [ "9530", "1", "Meningiomatosis, NOS" ], [ "9530", "3", "Meningioma, malignant" ], [ "9531", "0", "Meningothelial meningioma" ], [ "9532", "0", "Fibrous meningioma" ], [ "9533", "0", "Psammomatous meningioma" ], [ "9534", "0", "Angiomatous meningioma" ], [ "9535", "0", "Hemangioblastic meningioma [obs]" ], [ "9537", "0", "Transitional meningioma" ], [ "9538", "1", "Clear cell meningioma" ], [ "9538", "3", "Papillary meningioma" ], [ "9539", "1", "Atypical meningioma" ], [ "9539", "3", "Meningeal sarcomatosis" ], [ "9540", "0", "Neurofibroma, NOS" ], [ "9540", "1", "Neurofibromatosis, NOS" ], [ "9540", "3", "Malignant peripheral nerve sheath tumor" ], [ "9541", "0", "Melanotic neurofibroma" ], [ "9550", "0", "Plexiform neurofibroma" ], [ "9560", "0", "Neurilemoma, NOS" ], [ "9560", "1", "Neurinomatosis" ], [ "9560", "3", "Neurilemoma, malignant [obs]" ], [ "9561", "3", "Malignant peripheral nerve sheath tumor with rhabdomyoblastic differentiation" ], [ "9562", "0", "Neurothekeoma" ], [ "9570", "0", "Neuroma, NOS" ], [ "9571", "0", "Perineurioma, NOS" ], [ "9571", "3", "Perineurioma, malignant" ], [ "9580", "0", "Granular cell tumor, NOS" ], [ "9580", "3", "Granular cell tumor, malignant" ], [ "9581", "3", "Alveolar soft part sarcoma" ], [ "9582", "0", "Granular cell tumor of the sellar region (C75.1)" ], [ "9590", "3", "Malignant lymphoma, NOS" ], [ "9591", "3", "Malignant lymphoma, non-Hodgkin, NOS" ], [ "9596", "3", "Composite Hodgkin and non-Hodgkin lymphoma" ], [ "9650", "3", "Hodgkin lymphoma, NOS" ], [ "9651", "3", "Hodgkin lymphoma, lymphocyte-rich" ], [ "9652", "3", "Hodgkin lymphoma, mixed cellularity, NOS" ], [ "9653", "3", "Hodgkin lymphoma, lymphocyte depletion, NOS" ], [ "9654", "3", "Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" ], [ "9655", "3", "Hodgkin lymphoma, lymphocyte depletion, reticular" ], [ "9659", "3", "Hodgkin lymphoma, nodular lymphocyte predominance" ], [ "9661", "3", "Hodgkin granuloma [obs]" ], [ "9662", "3", "Hodgkin sarcoma [obs]" ], [ "9663", "3", "Hodgkin lymphoma, nodular sclerosis, NOS" ], [ "9664", "3", "Hodgkin lymphoma, nodular sclerosis, cellular phase" ], [ "9665", "3", "Hodgkin lymphoma, nodular sclerosis, grade 1" ], [ "9667", "3", "Hodgkin lymphoma, nodular sclerosis, grade 2" ], [ "9673", "3", "Mantle cell lymphoma" ], [ "9675", "3", "Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" ], [ "9678", "3", "Primary effusion lymphoma" ], [ "9679", "3", "Mediastinal large B-cell lymphoma (C38.3)" ], [ "9680", "3", "Malignant lymphoma, large B-cell, diffuse, NOS" ], [ "9684", "3", "Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" ], [ "9687", "3", "Burkitt lymphoma, NOS (see also M-9826/3)" ], [ "9689", "3", "Splenic marginal zone B-cell lymphoma (C42.2)" ], [ "9690", "3", "Follicular lymphoma, NOS (see also M-9675/3)" ], [ "9691", "3", "Follicular lymphoma, grade 2" ], [ "9695", "3", "Follicular lymphoma, grade 1" ], [ "9698", "3", "Follicular lymphoma, grade 3" ], [ "9699", "3", "Marginal zone B-cell lymphoma, NOS" ], [ "9700", "3", "Mycosis fungoides (C44._)" ], [ "9701", "3", "Sezary syndrome" ], [ "9702", "3", "Mature T-cell lymphoma, NOS" ], [ "9705", "3", "Angioimmunoblastic T-cell lymphoma" ], [ "9708", "3", "Subcutaneous panniculitis-like T-cell lymphoma" ], [ "9709", "3", "Cutaneous T-cell lymphoma, NOS (C44._)" ], [ "9714", "3", "Anaplastic large cell lymphoma, T cell and Null cell type" ], [ "9716", "3", "Hepatosplenic ?? (gamma-delta) cell lymphoma" ], [ "9717", "3", "Intestinal T-cell lymphoma" ], [ "9718", "3", "Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" ], [ "9719", "3", "NK/T-cell lymphoma, nasal and nasal-type" ], [ "9727", "3", "Precursor cell lymphoblastic lymphoma, NOS (see also M-9835/3)" ], [ "9728", "3", "Precursor B-cell lymphoblastic lymphoma (see also M-9836/3)" ], [ "9729", "3", "Precursor T-cell lymphoblastic lymphoma (see also M-9837/3)" ], [ "9731", "3", "Plasmacytoma, NOS" ], [ "9732", "3", "Multiple myeloma (C42.1)" ], [ "9733", "3", "Plasma cell leukemia (C42.1)" ], [ "9734", "3", "Plasmacytoma, extramedullary (not occurring in bone)" ], [ "9740", "1", "Mastocytoma, NOS" ], [ "9740", "3", "Mast cell sarcoma" ], [ "9741", "3", "Malignant mastocytosis" ], [ "9742", "3", "Mast cell leukemia (C42.1)" ], [ "9750", "3", "Malignant histiocytosis" ], [ "9751", "1", "Langerhans cell histiocytosis, NOS" ], [ "9752", "1", "Langerhans cell histiocytosis, unifocal" ], [ "9753", "1", "Langerhans cell histiocytosis, multifocal" ], [ "9754", "3", "Langerhans cell histiocytosis, disseminated" ], [ "9755", "3", "Histiocytic sarcoma" ], [ "9756", "3", "Langerhans cell sarcoma" ], [ "9757", "3", "Interdigitating dendritic cell sarcoma" ], [ "9758", "3", "Follicular dendritic cell sarcoma" ], [ "9760", "3", "Immunoproliferative disease, NOS" ], [ "9761", "3", "Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" ], [ "9762", "3", "Heavy chain disease, NOS" ], [ "9764", "3", "Immunoproliferative small intestinal disease (C17._)" ], [ "9765", "1", "Monoclonal gammopathy of undetermined significance" ], [ "9766", "1", "Angiocentric immunoproliferative lesion" ], [ "9767", "1", "Angioimmunoblastic lymphadenopathy" ], [ "9768", "1", "T-gamma lymphoproliferative disease" ], [ "9769", "1", "Immunoglobulin deposition disease" ], [ "9800", "3", "Leukemia, NOS" ], [ "9801", "3", "Acute leukemia, NOS" ], [ "9805", "3", "Acute biphenotypic leukemia" ], [ "9820", "3", "Lymphoid leukemia, NOS" ], [ "9823", "3", "B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" ], [ "9826", "3", "Burkitt cell leukemia (see also M-9687/3)" ], [ "9827", "3", "Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" ], [ "9831", "1", "T-cell large granular lymphocytic leukemia" ], [ "9832", "3", "Prolymphocytic leukemia, NOS" ], [ "9833", "3", "Prolymphocytic leukemia, B-cell type" ], [ "9834", "3", "Prolymphocytic leukemia, T-cell type" ], [ "9835", "3", "Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" ], [ "9836", "3", "Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" ], [ "9837", "3", "Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" ], [ "9840", "3", "Acute myeloid leukemia, M6 type" ], [ "9860", "3", "Myeloid leukemia, NOS" ], [ "9861", "3", "Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" ], [ "9863", "3", "Chronic myeloid leukemia, NOS" ], [ "9866", "3", "Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" ], [ "9867", "3", "Acute myelomonocytic leukemia" ], [ "9870", "3", "Acute basophilic leukemia" ], [ "9871", "3", "Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" ], [ "9872", "3", "Acute myeloid leukemia, minimal differentiation" ], [ "9873", "3", "Acute myeloid leukemia without maturation" ], [ "9874", "3", "Acute myeloid leukemia with maturation" ], [ "9875", "3", "Chronic myelogenous leukemia, BCR/ABL positive" ], [ "9876", "3", "Atypical chronic myeloid leukemia, BCR/ABL negative" ], [ "9891", "3", "Acute monocytic leukemia" ], [ "9895", "3", "Acute myeloid leukemia with multilineage dysplasia" ], [ "9896", "3", "Acute myeloid leukemia, t(8;21)(q22;q22)" ], [ "9897", "3", "Acute myeloid leukemia, 11q23 abnormalities" ], [ "9910", "3", "Acute megakaryoblastic leukemia" ], [ "9920", "3", "Therapy-related acute myeloid leukemia, NOS" ], [ "9930", "3", "Myeloid sarcoma (see also M-9861/3)" ], [ "9931", "3", "Acute panmyelosis with myelofibrosis (C42.1)" ], [ "9940", "3", "Hairy cell leukemia (C42.1)" ], [ "9945", "3", "Chronic myelomonocytic leukemia, NOS" ], [ "9946", "3", "Juvenile myelomonocytic leukemia" ], [ "9948", "3", "Aggressive NK-cell leukemia" ], [ "9950", "3", "Polycythemia vera" ], [ "9960", "3", "Chronic myeloproliferative disease, NOS" ], [ "9961", "3", "Myelosclerosis with myeloid metaplasia" ], [ "9962", "3", "Essential thrombocythemia" ], [ "9963", "3", "Chronic neutrophilic leukemia" ], [ "9964", "3", "Hypereosinophilic syndrome" ], [ "9970", "1", "Lymphoproliferative disorder, NOS" ], [ "9975", "1", "Myeloproliferative disease, NOS" ], [ "9980", "3", "Refractory anemia" ], [ "9982", "3", "Refractory anemia with sideroblasts" ], [ "9983", "3", "Refractory anemia with excess blasts" ], [ "9984", "3", "Refractory anemia with excess blasts in transformation [obs]" ], [ "9985", "3", "Refractory cytopenia with multilineage dysplasia" ], [ "9986", "3", "Myelodysplastic syndrome with 5q deletion (5q-) syndrome" ], [ "9987", "3", "Therapy-related myelodysplastic syndrome, NOS" ], [ "9989", "3", "Myelodysplastic syndrome, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pag.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pag.json deleted file mode 100644 index a09a1e852..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pag.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ajcc6_exclusions_pag", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Exclusions", - "title" : "Histology Exclusion Table AJCC 6th ed.", - "notes" : "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. For these cases, displayed results will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified" : "2015-05-27T16:18:46.820Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8120", "0", "Transitional cell papilloma, benign" ], [ "8120", "1", "Urothelial papilloma, NOS" ], [ "8120", "2", "Transitional cell carcinoma in situ" ], [ "8120", "3", "Transitional cell carcinoma, NOS" ], [ "8121", "0", "Schneiderian papilloma, NOS (C30.0, C31._)" ], [ "8121", "1", "Transitional cell papilloma, inverted, NOS" ], [ "8121", "3", "Schneiderian carcinoma (C30.0, C31._)" ], [ "8122", "3", "Transitional cell carcinoma, spindle cell" ], [ "8123", "3", "Basaloid carcinoma" ], [ "8124", "3", "Cloacogenic carcinoma (C21.2)" ], [ "8130", "1", "Papillary transitional cell neoplasm of low malignant potential (C67._)" ], [ "8130", "2", "Papillary transitional cell carcinoma, non-invasive (C67._)" ], [ "8130", "3", "Papillary transitional cell carcinoma (C67._)" ], [ "8131", "3", "Transitional cell carcinoma, micropapillary (C67._)" ], [ "8240", "1", "Carcinoid tumor of uncertain malignant potential" ], [ "8240", "3", "Carcinoid tumor, NOS (except of appendix M-8240/1)" ], [ "8241", "3", "Enterochromaffin cell carcinoid" ], [ "8242", "1", "Enterochromaffin-like cell carcinoid, NOS" ], [ "8242", "3", "Enterochromaffin-like cell tumor, malignant" ], [ "8243", "3", "Goblet cell carcinoid" ], [ "8248", "1", "Apudoma" ], [ "8680", "0", "Paraganglioma, benign" ], [ "8680", "1", "Paraganglioma, NOS" ], [ "8680", "3", "Paraganglioma, malignant" ], [ "8681", "1", "Sympathetic paraganglioma" ], [ "8682", "1", "Parasympathetic paraganglioma" ], [ "8683", "0", "Gangliocytic paraganglioma (C17.0)" ], [ "8690", "1", "Glomus jugulare tumor, NOS (C75.5)" ], [ "8691", "1", "Aortic body tumor (C75.5)" ], [ "8692", "1", "Carotid body tumor (C75.4)" ], [ "8693", "1", "Extra-adrenal paraganglioma, NOS" ], [ "8693", "3", "Extra-adrenal paraganglioma, malignant" ], [ "8700", "0", "Pheochromocytoma, NOS (C74.1)" ], [ "8700", "3", "Pheochromocytoma, malignant (C74.1)" ], [ "8710", "3", "Glomangiosarcoma" ], [ "8711", "0", "Glomus tumor, NOS" ], [ "8711", "3", "Glomus tumor, malignant" ], [ "8712", "0", "Glomangioma" ], [ "8713", "0", "Glomangiomyoma" ], [ "8720", "0", "Pigmented nevus, NOS (C44._)" ], [ "8720", "2", "Melanoma in situ" ], [ "8720", "3", "Malignant melanoma, NOS (except juvenile melanoma M-8770/0)" ], [ "8721", "3", "Nodular melanoma (C44._)" ], [ "8722", "0", "Balloon cell nevus (C44._)" ], [ "8722", "3", "Balloon cell melanoma (C44._)" ], [ "8723", "0", "Halo nevus (C44._)" ], [ "8723", "3", "Malignant melanoma, regressing (C44._)" ], [ "8725", "0", "Neuronevus (C44._)" ], [ "8726", "0", "Magnocellular nevus (C69.4)" ], [ "8727", "0", "Dysplastic nevus (C44._)" ], [ "8728", "0", "Diffuse melanocytosis (C70.9)" ], [ "8728", "1", "Meningeal melanocytoma (C70.9)" ], [ "8728", "3", "Meningeal melanomatosis (C70.9)" ], [ "8730", "0", "Nonpigmented nevus (C44._)" ], [ "8730", "3", "Amelanotic melanoma (C44._)" ], [ "8740", "0", "Junctional nevus, NOS (C44._)" ], [ "8740", "3", "Malignant melanoma in junctional nevus (C44._)" ], [ "8741", "2", "Precancerous melanosis, NOS (C44._)" ], [ "8741", "3", "Malignant melanoma in precancerous melanosis (C44._)" ], [ "8742", "2", "Lentigo maligna (C44._)" ], [ "8742", "3", "Lentigo maligna melanoma (C44._)" ], [ "8743", "3", "Superficial spreading melanoma (C44._)" ], [ "8744", "3", "Acral lentiginous melanoma, malignant (C44._)" ], [ "8745", "3", "Desmoplastic melanoma, malignant (C44._)" ], [ "8746", "3", "Mucosal lentiginous melanoma" ], [ "8750", "0", "Intradermal nevus (C44._)" ], [ "8760", "0", "Compound nevus (C44._)" ], [ "8761", "0", "Small congenital nevus (C44._)" ], [ "8761", "1", "Giant pigmented nevus, NOS (C44._)" ], [ "8761", "3", "Malignant melanoma in giant pigmented nevus (C44._)" ], [ "8762", "1", "Proliferative dermal lesion in congenital nevus (C44._)" ], [ "8770", "0", "Epithelioid and spindle cell nevus (C44._)" ], [ "8770", "3", "Mixed epithelioid and spindle cell melanoma" ], [ "8771", "0", "Epithelioid cell nevus (C44._)" ], [ "8771", "3", "Epithelioid cell melanoma" ], [ "8772", "0", "Spindle cell nevus, NOS (C44._)" ], [ "8772", "3", "Spindle cell melanoma, NOS" ], [ "8773", "3", "Spindle cell melanoma, type A (C69._)" ], [ "8774", "3", "Spindle cell melanoma, type B (C69._)" ], [ "8780", "0", "Blue nevus, NOS (C44._)" ], [ "8780", "3", "Blue nevus, malignant (C44._)" ], [ "8790", "0", "Cellular blue nevus (C44._)" ], [ "8800", "0", "Soft tissue tumor, benign" ], [ "8800", "3", "Sarcoma, NOS" ], [ "8800", "9", "Sarcomatosis, NOS" ], [ "8801", "3", "Spindle cell sarcoma" ], [ "8802", "3", "Giant cell sarcoma (except of bone M-9250/3)" ], [ "8803", "3", "Small cell sarcoma" ], [ "8804", "3", "Epithelioid sarcoma" ], [ "8805", "3", "Undifferentiated sarcoma" ], [ "8806", "3", "Desmoplastic small round cell tumor" ], [ "8810", "0", "Fibroma, NOS" ], [ "8810", "1", "Cellular fibroma (C56.9)" ], [ "8810", "3", "Fibrosarcoma, NOS" ], [ "8811", "0", "Fibromyxoma" ], [ "8811", "3", "Fibromyxosarcoma" ], [ "8812", "0", "Periosteal fibroma (C40._, C41._)" ], [ "8812", "3", "Periosteal fibrosarcoma (C40._, C41._)" ], [ "8813", "0", "Fascial fibroma" ], [ "8813", "3", "Fascial fibrosarcoma" ], [ "8814", "3", "Infantile fibrosarcoma" ], [ "8815", "0", "Solitary fibrous tumor" ], [ "8815", "3", "Solitary fibrous tumor, malignant" ], [ "8820", "0", "Elastofibroma" ], [ "8821", "1", "Aggressive fibromatosis" ], [ "8822", "1", "Abdominal fibromatosis" ], [ "8823", "0", "Desmoplastic fibroma" ], [ "8824", "0", "Myofibroma" ], [ "8824", "1", "Myofibromatosis" ], [ "8825", "0", "Myofibroblastoma" ], [ "8825", "1", "Myofibroblastic tumor, NOS" ], [ "8826", "0", "Angiomyofibroblastoma" ], [ "8827", "1", "Myofibroblastic tumor, peribronchial (C34._)" ], [ "8830", "0", "Benign fibrous histiocytoma" ], [ "8830", "1", "Atypical fibrous histiocytoma" ], [ "8830", "3", "Malignant fibrous histiocytoma" ], [ "8831", "0", "Histiocytoma, NOS" ], [ "8832", "0", "Dermatofibroma, NOS (C44._)" ], [ "8832", "3", "Dermatofibrosarcoma, NOS (C44._)" ], [ "8833", "3", "Pigmented dermatofibrosarcoma protuberans (C44._)" ], [ "8834", "1", "Giant cell fibroblastoma" ], [ "8835", "1", "Plexiform fibrohistiocytic tumor" ], [ "8836", "1", "Angiomatoid fibrous histiocytoma" ], [ "8840", "0", "Myxoma, NOS" ], [ "8840", "3", "Myxosarcoma" ], [ "8841", "1", "Angiomyxoma" ], [ "8842", "0", "Ossifying fibromyxoid tumor" ], [ "8850", "0", "Lipoma, NOS" ], [ "8850", "1", "Atypical lipoma" ], [ "8850", "3", "Liposarcoma, NOS" ], [ "8851", "0", "Fibrolipoma" ], [ "8851", "3", "Liposarcoma, well differentiated" ], [ "8852", "0", "Fibromyxolipoma" ], [ "8852", "3", "Myxoid liposarcoma" ], [ "8853", "3", "Round cell liposarcoma" ], [ "8854", "0", "Pleomorphic lipoma" ], [ "8854", "3", "Pleomorphic liposarcoma" ], [ "8855", "3", "Mixed liposarcoma" ], [ "8856", "0", "Intramuscular lipoma" ], [ "8857", "0", "Spindle cell lipoma" ], [ "8857", "3", "Fibroblastic liposarcoma" ], [ "8858", "3", "Dedifferentiated liposarcoma" ], [ "8860", "0", "Angiomyolipoma" ], [ "8861", "0", "Angiolipoma, NOS" ], [ "8862", "0", "Chondroid lipoma" ], [ "8870", "0", "Myelolipoma" ], [ "8880", "0", "Hibernoma" ], [ "8881", "0", "Lipoblastomatosis" ], [ "8890", "0", "Leiomyoma, NOS" ], [ "8890", "1", "Leiomyomatosis, NOS" ], [ "8890", "3", "Leiomyosarcoma, NOS" ], [ "8891", "0", "Epithelioid leiomyoma" ], [ "8891", "3", "Epithelioid leiomyosarcoma" ], [ "8892", "0", "Cellular leiomyoma" ], [ "8893", "0", "Bizarre leiomyoma" ], [ "8894", "0", "Angiomyoma" ], [ "8894", "3", "Angiomyosarcoma" ], [ "8895", "0", "Myoma" ], [ "8895", "3", "Myosarcoma" ], [ "8896", "3", "Myxoid leiomyosarcoma" ], [ "8897", "1", "Smooth muscle tumor of uncertain malignant potential" ], [ "8898", "1", "Metastasizing leiomyoma" ], [ "8900", "0", "Rhabdomyoma, NOS" ], [ "8900", "3", "Rhabdomyosarcoma, NOS" ], [ "8901", "3", "Pleomorphic rhabdomyosarcoma, adult type" ], [ "8902", "3", "Mixed type rhabdomyosarcoma" ], [ "8903", "0", "Fetal rhabdomyoma" ], [ "8904", "0", "Adult rhabdomyoma" ], [ "8905", "0", "Genital rhabdomyoma (C51._, C52.9)" ], [ "8910", "3", "Embryonal rhabdomyosarcoma, NOS" ], [ "8912", "3", "Spindle cell rhabdomyosarcoma" ], [ "8920", "3", "Alveolar rhabdomyosarcoma" ], [ "8921", "3", "Rhabdomyosarcoma with ganglionic differentiation" ], [ "8930", "0", "Endometrial stromal nodule (C54.1)" ], [ "8930", "3", "Endometrial stromal sarcoma, NOS (C54.1)" ], [ "8931", "3", "Endometrial stromal sarcoma, low grade (C54.1)" ], [ "8932", "0", "Adenomyoma" ], [ "8933", "3", "Adenosarcoma" ], [ "8934", "3", "Carcinofibroma" ], [ "8935", "0", "Stromal tumor, benign" ], [ "8935", "1", "Stromal tumor, NOS" ], [ "8935", "3", "Stromal sarcoma, NOS" ], [ "8936", "0", "Gastrointestinal stromal tumor, benign" ], [ "8936", "1", "Gastrointestinal stromal tumor, NOS" ], [ "8936", "3", "Gastrointestinal stromal sarcoma" ], [ "8950", "3", "Mullerian mixed tumor (C54._)" ], [ "8951", "3", "Mesodermal mixed tumor" ], [ "8959", "0", "Benign cystic nephroma (C64.9)" ], [ "8959", "1", "Cystic partially differentiated nephroblastoma (C64.9)" ], [ "8959", "3", "Malignant cystic nephroma (C64.9)" ], [ "8960", "1", "Mesoblastic nephroma" ], [ "8960", "3", "Nephroblastoma, NOS (C64.9)" ], [ "8963", "3", "Malignant rhabdoid tumor" ], [ "8964", "3", "Clear cell sarcoma of kidney (C64.9)" ], [ "8965", "0", "Nephrogenic adenofibroma (C64.9)" ], [ "8966", "0", "Renomedullary interstitial cell tumor (C64.9)" ], [ "8967", "0", "Ossifying renal tumor (C64.9)" ], [ "8970", "3", "Hepatoblastoma (C22.0)" ], [ "8971", "3", "Pancreatoblastoma (C25._)" ], [ "8972", "3", "Pulmonary blastoma (C34._)" ], [ "8973", "3", "Pleuropulmonary blastoma" ], [ "8974", "1", "Sialoblastoma" ], [ "8980", "3", "Carcinosarcoma, NOS" ], [ "8981", "3", "Carcinosarcoma, embryonal" ], [ "8982", "0", "Myoepithelioma" ], [ "8982", "3", "Malignant myoepithelioma" ], [ "8983", "0", "Adenomyoepithelioma (C50._)" ], [ "8990", "0", "Mesenchymoma, benign" ], [ "8990", "1", "Mesenchymoma, NOS" ], [ "8990", "3", "Mesenchymoma, malignant" ], [ "8991", "3", "Embryonal sarcoma" ], [ "9000", "0", "Brenner tumor, NOS (C56.9)" ], [ "9000", "1", "Brenner tumor, borderline malignancy (C56.9)" ], [ "9000", "3", "Brenner tumor, malignant (C56.9)" ], [ "9010", "0", "Fibroadenoma, NOS (C50._)" ], [ "9011", "0", "Intracanalicular fibroadenoma (C50._)" ], [ "9012", "0", "Pericanalicular fibroadenoma (C50._)" ], [ "9013", "0", "Adenofibroma, NOS" ], [ "9014", "0", "Serous adenofibroma, NOS" ], [ "9014", "1", "Serous adenofibroma of borderline malignancy" ], [ "9014", "3", "Serous adenocarcinofibroma" ], [ "9015", "0", "Mucinous adenofibroma, NOS" ], [ "9015", "1", "Mucinous adenofibroma of borderline malignancy" ], [ "9015", "3", "Mucinous adenocarcinofibroma" ], [ "9016", "0", "Giant fibroadenoma (C50._)" ], [ "9020", "0", "Phyllodes tumor, benign (C50._)" ], [ "9020", "1", "Phyllodes tumor, borderline (C50._)" ], [ "9020", "3", "Phyllodes tumor, malignant (C50._)" ], [ "9030", "0", "Juvenile fibroadenoma (C50._)" ], [ "9040", "0", "Synovioma, benign" ], [ "9040", "3", "Synovial sarcoma, NOS" ], [ "9041", "3", "Synovial sarcoma, spindle cell" ], [ "9042", "3", "Synovial sarcoma, epithelioid cell" ], [ "9043", "3", "Synovial sarcoma, biphasic" ], [ "9044", "3", "Clear cell sarcoma, NOS (except of kidney M-8964/3)" ], [ "9050", "0", "Mesothelioma, benign" ], [ "9050", "3", "Mesothelioma, malignant" ], [ "9051", "0", "Fibrous mesothelioma, benign" ], [ "9051", "3", "Fibrous mesothelioma, malignant" ], [ "9052", "0", "Epithelioid mesothelioma, benign" ], [ "9052", "3", "Epithelioid mesothelioma, malignant" ], [ "9053", "3", "Mesothelioma, biphasic, malignant" ], [ "9054", "0", "Adenomatoid tumor, NOS" ], [ "9055", "0", "Multicystic mesothelioma, benign" ], [ "9055", "1", "Cystic mesothelioma, NOS (C48._)" ], [ "9060", "3", "Dysgerminoma" ], [ "9061", "3", "Seminoma, NOS (C62._)" ], [ "9062", "3", "Seminoma, anaplastic (C62._)" ], [ "9063", "3", "Spermatocytic seminoma (C62._)" ], [ "9064", "2", "Intratubular malignant germ cells (C62._)" ], [ "9064", "3", "Germinoma" ], [ "9065", "3", "Germ cell tumor, nonseminomatous (C62._)" ], [ "9070", "3", "Embryonal carcinoma, NOS" ], [ "9071", "3", "Yolk sac tumor" ], [ "9072", "3", "Polyembryoma" ], [ "9073", "1", "Gonadoblastoma" ], [ "9080", "0", "Teratoma, benign" ], [ "9080", "1", "Teratoma, NOS" ], [ "9080", "3", "Teratoma, malignant, NOS" ], [ "9081", "3", "Teratocarcinoma" ], [ "9082", "3", "Malignant teratoma, undifferentiated" ], [ "9083", "3", "Malignant teratoma, intermediate" ], [ "9084", "0", "Dermoid cyst, NOS" ], [ "9084", "3", "Teratoma with malignant transformation" ], [ "9085", "3", "Mixed germ cell tumor" ], [ "9090", "0", "Struma ovarii, NOS (C56.9)" ], [ "9090", "3", "Struma ovarii, malignant (C56.9)" ], [ "9091", "1", "Strumal carcinoid (C56.9)" ], [ "9100", "0", "Hydatidiform mole, NOS (C58.9)" ], [ "9100", "1", "Invasive hydatidiform mole (C58.9)" ], [ "9100", "3", "Choriocarcinoma, NOS" ], [ "9101", "3", "Choriocarcinoma combined with other germ cell elements" ], [ "9102", "3", "Malignant teratoma, trophoblastic" ], [ "9103", "0", "Partial hydatidiform mole (C58.9)" ], [ "9104", "1", "Placental site trophoblastic tumor (C58.9)" ], [ "9105", "3", "Trophoblastic tumor, epithelioid" ], [ "9110", "0", "Mesonephroma, benign" ], [ "9110", "1", "Mesonephric tumor, NOS" ], [ "9110", "3", "Mesonephroma, malignant" ], [ "9120", "0", "Hemangioma, NOS" ], [ "9120", "3", "Hemangiosarcoma" ], [ "9121", "0", "Cavernous hemangioma" ], [ "9122", "0", "Venous hemangioma" ], [ "9123", "0", "Racemose hemangioma" ], [ "9124", "3", "Kupffer cell sarcoma (C22.0)" ], [ "9125", "0", "Epithelioid hemangioma" ], [ "9130", "0", "Hemangioendothelioma, benign" ], [ "9130", "1", "Hemangioendothelioma, NOS" ], [ "9130", "3", "Hemangioendothelioma, malignant" ], [ "9131", "0", "Capillary hemangioma" ], [ "9132", "0", "Intramuscular hemangioma" ], [ "9133", "1", "Epithelioid hemangioendothelioma, NOS" ], [ "9133", "3", "Epithelioid hemangioendothelioma, malignant" ], [ "9135", "1", "Endovascular papillary angioendothelioma" ], [ "9136", "1", "Spindle cell hemangioendothelioma" ], [ "9140", "3", "Kaposi sarcoma" ], [ "9141", "0", "Angiokeratoma" ], [ "9142", "0", "Verrucous keratotic hemangioma" ], [ "9150", "0", "Hemangiopericytoma, benign" ], [ "9150", "1", "Hemangiopericytoma, NOS" ], [ "9150", "3", "Hemangiopericytoma, malignant" ], [ "9160", "0", "Angiofibroma, NOS" ], [ "9161", "0", "Acquired tufted hemangioma" ], [ "9161", "1", "Hemangioblastoma" ], [ "9170", "0", "Lymphangioma, NOS" ], [ "9170", "3", "Lymphangiosarcoma" ], [ "9171", "0", "Capillary lymphangioma" ], [ "9172", "0", "Cavernous lymphangioma" ], [ "9173", "0", "Cystic lymphangioma" ], [ "9174", "0", "Lymphangiomyoma" ], [ "9174", "1", "Lymphangiomyomatosis" ], [ "9175", "0", "Hemolymphangioma" ], [ "9180", "0", "Osteoma, NOS (C40._, C41._)" ], [ "9180", "3", "Osteosarcoma, NOS (C40._, C41._)" ], [ "9181", "3", "Chondroblastic osteosarcoma (C40._, C41._)" ], [ "9182", "3", "Fibroblastic osteosarcoma (C40._, C41._)" ], [ "9183", "3", "Telangiectatic osteosarcoma (C40._, C41._)" ], [ "9184", "3", "Osteosarcoma in Paget disease of bone (C40._, C41._)" ], [ "9185", "3", "Small cell osteosarcoma (C40._, C41._)" ], [ "9186", "3", "Central osteosarcoma (C40._, C41._)" ], [ "9187", "3", "Intraosseous well differentiated osteosarcoma (C40._, C41._)" ], [ "9191", "0", "Osteoid osteoma, NOS (C40._, C41._)" ], [ "9192", "3", "Parosteal osteosarcoma (C40._, C41._)" ], [ "9193", "3", "Periosteal osteosarcoma (C40._, C41._)" ], [ "9194", "3", "High grade surface osteosarcoma (C40._, C41._)" ], [ "9195", "3", "Intracortical osteosarcoma (C40._, C41._)" ], [ "9200", "0", "Osteoblastoma, NOS (C40._, C41._)" ], [ "9200", "1", "Aggressive osteoblastoma (C40._, C41._)" ], [ "9210", "0", "Osteochondroma (C40._, C41._)" ], [ "9210", "1", "Osteochondromatosis, NOS (C40._, C41._)" ], [ "9220", "0", "Chondroma, NOS (C40._, C41._)" ], [ "9220", "1", "Chondromatosis, NOS" ], [ "9220", "3", "Chondrosarcoma, NOS (C40._, C41._)" ], [ "9221", "0", "Juxtacortical chondroma (C40._, C41._)" ], [ "9221", "3", "Juxtacortical chondrosarcoma (C40._, C41._)" ], [ "9230", "0", "Chondroblastoma, NOS (C40._, C41._)" ], [ "9230", "3", "Chondroblastoma, malignant (C40._, C41._)" ], [ "9231", "3", "Myxoid chondrosarcoma" ], [ "9240", "3", "Mesenchymal chondrosarcoma" ], [ "9241", "0", "Chondromyxoid fibroma (C40._, C41._)" ], [ "9242", "3", "Clear cell chondrosarcoma (C40._, C41._)" ], [ "9243", "3", "Dedifferentiated chondrosarcoma (C40._, C41._)" ], [ "9250", "1", "Giant cell tumor of bone, NOS (C40._, C41._)" ], [ "9250", "3", "Giant cell tumor of bone, malignant (C40._, C41._)" ], [ "9251", "1", "Giant cell tumor of soft parts, NOS" ], [ "9251", "3", "Malignant giant cell tumor of soft parts" ], [ "9252", "0", "Tenosynovial giant cell tumor (C49._)" ], [ "9252", "3", "Malignant tenosynovial giant cell tumor (C49._)" ], [ "9260", "3", "Ewing sarcoma" ], [ "9261", "3", "Adamantinoma of long bones (C40._)" ], [ "9262", "0", "Ossifying fibroma" ], [ "9270", "0", "Odontogenic tumor, benign" ], [ "9270", "1", "Odontogenic tumor, NOS" ], [ "9270", "3", "Odontogenic tumor, malignant" ], [ "9271", "0", "Ameloblastic fibrodentinoma" ], [ "9272", "0", "Cementoma, NOS" ], [ "9273", "0", "Cementoblastoma, benign" ], [ "9274", "0", "Cementifying fibroma" ], [ "9275", "0", "Gigantiform cementoma" ], [ "9280", "0", "Odontoma, NOS" ], [ "9281", "0", "Compound odontoma" ], [ "9282", "0", "Complex odontoma" ], [ "9290", "0", "Ameloblastic fibro-odontoma" ], [ "9290", "3", "Ameloblastic odontosarcoma" ], [ "9300", "0", "Adenomatoid odontogenic tumor" ], [ "9301", "0", "Calcifying odontogenic cyst" ], [ "9302", "0", "Odontogenic ghost cell tumor" ], [ "9310", "0", "Ameloblastoma, NOS" ], [ "9310", "3", "Ameloblastoma, malignant" ], [ "9311", "0", "Odontoameloblastoma" ], [ "9312", "0", "Squamous odontogenic tumor" ], [ "9320", "0", "Odontogenic myxoma" ], [ "9321", "0", "Central odontogenic fibroma" ], [ "9322", "0", "Peripheral odontogenic fibroma" ], [ "9330", "0", "Ameloblastic fibroma" ], [ "9330", "3", "Ameloblastic fibrosarcoma" ], [ "9340", "0", "Calcifying epithelial odontogenic tumor" ], [ "9341", "1", "Clear cell odontogenic tumor" ], [ "9342", "3", "Odontogenic carcinosarcoma" ], [ "9350", "1", "Craniopharyngioma (C75.2)" ], [ "9351", "1", "Craniopharyngioma, adamantinomatous (C75.2)" ], [ "9352", "1", "Craniopharyngioma, papillary (C75.2)" ], [ "9360", "1", "Pinealoma (C75.3)" ], [ "9361", "1", "Pineocytoma (C75.3)" ], [ "9362", "3", "Pineoblastoma (C75.3)" ], [ "9363", "0", "Melanotic neuroectodermal tumor" ], [ "9364", "3", "Peripheral neuroectodermal tumor" ], [ "9365", "3", "Askin tumor" ], [ "9370", "3", "Chordoma, NOS" ], [ "9371", "3", "Chondroid chordoma" ], [ "9372", "3", "Dedifferentiated chordoma" ], [ "9373", "0", "Parachordoma" ], [ "9380", "3", "Glioma, malignant (C71._)" ], [ "9381", "3", "Gliomatosis cerebri (C71._)" ], [ "9382", "3", "Mixed glioma (C71._)" ], [ "9383", "1", "Subependymoma (C71._)" ], [ "9384", "1", "Subependymal giant cell astrocytoma (C71._)" ], [ "9390", "0", "Choroid plexus papilloma, NOS (C71.5)" ], [ "9390", "1", "Atypical choroid plexus papilloma (C71.5)" ], [ "9390", "3", "Choroid plexus carcinoma (C71.5)" ], [ "9391", "3", "Ependymoma, NOS (C71._)" ], [ "9392", "3", "Ependymoma, anaplastic (C71._)" ], [ "9393", "3", "Papillary ependymoma (C71._)" ], [ "9394", "1", "Myxopapillary ependymoma (C72.0)" ], [ "9400", "3", "Astrocytoma, NOS (C71._)" ], [ "9401", "3", "Astrocytoma, anaplastic (C71._)" ], [ "9410", "3", "Protoplasmic astrocytoma (C71._)" ], [ "9411", "3", "Gemistocytic astrocytoma (C71._)" ], [ "9412", "1", "Desmoplastic infantile astrocytoma (C71._)" ], [ "9413", "0", "Dysembryoplastic neuroepithelial tumor" ], [ "9420", "3", "Fibrillary astrocytoma (C71._)" ], [ "9421", "1", "Pilocytic astrocytoma (C71._)" ], [ "9423", "3", "Polar spongioblastoma (C71._)" ], [ "9424", "3", "Pleomorphic xanthoastrocytoma (C71._)" ], [ "9430", "3", "Astroblastoma (C71._)" ], [ "9440", "3", "Glioblastoma, NOS (C71._)" ], [ "9441", "3", "Giant cell glioblastoma (C71._)" ], [ "9442", "1", "Gliofibroma (C71._)" ], [ "9442", "3", "Gliosarcoma (C71._)" ], [ "9444", "1", "Chordoid glioma (C71._)" ], [ "9450", "3", "Oligodendroglioma, NOS (C71._)" ], [ "9451", "3", "Oligodendroglioma, anaplastic (C71._)" ], [ "9460", "3", "Oligodendroblastoma (C71._) [obs]" ], [ "9470", "3", "Medulloblastoma, NOS (C71.6)" ], [ "9471", "3", "Desmoplastic nodular medulloblastoma (C71.6)" ], [ "9472", "3", "Medullomyoblastoma (C71.6)" ], [ "9473", "3", "Primitive neuroectodermal tumor, NOS" ], [ "9474", "3", "Large cell medulloblastoma (C71.6)" ], [ "9480", "3", "Cerebellar sarcoma, NOS (C71.6) [obs]" ], [ "9490", "0", "Ganglioneuroma" ], [ "9490", "3", "Ganglioneuroblastoma" ], [ "9491", "0", "Ganglioneuromatosis" ], [ "9492", "0", "Gangliocytoma" ], [ "9493", "0", "Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" ], [ "9500", "3", "Neuroblastoma, NOS" ], [ "9501", "0", "Medulloepithelioma, benign (C69.4)" ], [ "9501", "3", "Medulloepithelioma, NOS" ], [ "9502", "0", "Teratoid medulloepithelioma, benign (C69.4)" ], [ "9502", "3", "Teratoid medulloepithelioma" ], [ "9503", "3", "Neuroepithelioma, NOS" ], [ "9504", "3", "Spongioneuroblastoma" ], [ "9505", "1", "Ganglioglioma, NOS" ], [ "9505", "3", "Ganglioglioma, anaplastic" ], [ "9506", "1", "Central neurocytoma" ], [ "9507", "0", "Pacinian tumor" ], [ "9508", "3", "Atypical teratoid/rhabdoid tumor (C71._)" ], [ "9510", "0", "Retinocytoma (C69.2)" ], [ "9510", "3", "Retinoblastoma, NOS (C69.2)" ], [ "9511", "3", "Retinoblastoma, differentiated (C69.2)" ], [ "9512", "3", "Retinoblastoma, undifferentiated (C69.2)" ], [ "9513", "3", "Retinoblastoma, diffuse (C69.2)" ], [ "9514", "1", "Retinoblastoma, spontaneously regressed (C69.2)" ], [ "9520", "3", "Olfactory neurogenic tumor" ], [ "9521", "3", "Olfactory neurocytoma (C30.0)" ], [ "9522", "3", "Olfactory neuroblastoma (C30.0)" ], [ "9523", "3", "Olfactory neuroepithelioma (C30.0)" ], [ "9530", "0", "Meningioma, NOS" ], [ "9530", "1", "Meningiomatosis, NOS" ], [ "9530", "3", "Meningioma, malignant" ], [ "9531", "0", "Meningothelial meningioma" ], [ "9532", "0", "Fibrous meningioma" ], [ "9533", "0", "Psammomatous meningioma" ], [ "9534", "0", "Angiomatous meningioma" ], [ "9535", "0", "Hemangioblastic meningioma [obs]" ], [ "9537", "0", "Transitional meningioma" ], [ "9538", "1", "Clear cell meningioma" ], [ "9538", "3", "Papillary meningioma" ], [ "9539", "1", "Atypical meningioma" ], [ "9539", "3", "Meningeal sarcomatosis" ], [ "9540", "0", "Neurofibroma, NOS" ], [ "9540", "1", "Neurofibromatosis, NOS" ], [ "9540", "3", "Malignant peripheral nerve sheath tumor" ], [ "9541", "0", "Melanotic neurofibroma" ], [ "9550", "0", "Plexiform neurofibroma" ], [ "9560", "0", "Neurilemoma, NOS" ], [ "9560", "1", "Neurinomatosis" ], [ "9560", "3", "Neurilemoma, malignant [obs]" ], [ "9561", "3", "Malignant peripheral nerve sheath tumor with rhabdomyoblastic differentiation" ], [ "9562", "0", "Neurothekeoma" ], [ "9570", "0", "Neuroma, NOS" ], [ "9571", "0", "Perineurioma, NOS" ], [ "9571", "3", "Perineurioma, malignant" ], [ "9580", "0", "Granular cell tumor, NOS" ], [ "9580", "3", "Granular cell tumor, malignant" ], [ "9581", "3", "Alveolar soft part sarcoma" ], [ "9582", "0", "Granular cell tumor of the sellar region (C75.1)" ], [ "9590", "3", "Malignant lymphoma, NOS" ], [ "9591", "3", "Malignant lymphoma, non-Hodgkin, NOS" ], [ "9596", "3", "Composite Hodgkin and non-Hodgkin lymphoma" ], [ "9650", "3", "Hodgkin lymphoma, NOS" ], [ "9651", "3", "Hodgkin lymphoma, lymphocyte-rich" ], [ "9652", "3", "Hodgkin lymphoma, mixed cellularity, NOS" ], [ "9653", "3", "Hodgkin lymphoma, lymphocyte depletion, NOS" ], [ "9654", "3", "Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" ], [ "9655", "3", "Hodgkin lymphoma, lymphocyte depletion, reticular" ], [ "9659", "3", "Hodgkin lymphoma, nodular lymphocyte predominance" ], [ "9661", "3", "Hodgkin granuloma [obs]" ], [ "9662", "3", "Hodgkin sarcoma [obs]" ], [ "9663", "3", "Hodgkin lymphoma, nodular sclerosis, NOS" ], [ "9664", "3", "Hodgkin lymphoma, nodular sclerosis, cellular phase" ], [ "9665", "3", "Hodgkin lymphoma, nodular sclerosis, grade 1" ], [ "9667", "3", "Hodgkin lymphoma, nodular sclerosis, grade 2" ], [ "9670", "3", "Malignant lymphoma, small B lymphocytic, NOS (see also M-9823/3)" ], [ "9671", "3", "Malignant lymphoma, lymphoplasmacytic (see also M-9761/3)" ], [ "9673", "3", "Mantle cell lymphoma" ], [ "9675", "3", "Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" ], [ "9678", "3", "Primary effusion lymphoma" ], [ "9679", "3", "Mediastinal large B-cell lymphoma (C38.3)" ], [ "9680", "3", "Malignant lymphoma, large B-cell, diffuse, NOS" ], [ "9684", "3", "Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" ], [ "9687", "3", "Burkitt lymphoma, NOS (see also M-9826/3)" ], [ "9689", "3", "Splenic marginal zone B-cell lymphoma (C42.2)" ], [ "9690", "3", "Follicular lymphoma, NOS (see also M-9675/3)" ], [ "9691", "3", "Follicular lymphoma, grade 2" ], [ "9695", "3", "Follicular lymphoma, grade 1" ], [ "9698", "3", "Follicular lymphoma, grade 3" ], [ "9699", "3", "Marginal zone B-cell lymphoma, NOS" ], [ "9700", "3", "Mycosis fungoides (C44._)" ], [ "9701", "3", "Sezary syndrome" ], [ "9702", "3", "Mature T-cell lymphoma, NOS" ], [ "9705", "3", "Angioimmunoblastic T-cell lymphoma" ], [ "9708", "3", "Subcutaneous panniculitis-like T-cell lymphoma" ], [ "9709", "3", "Cutaneous T-cell lymphoma, NOS (C44._)" ], [ "9714", "3", "Anaplastic large cell lymphoma, T cell and Null cell type" ], [ "9716", "3", "Hepatosplenic ?? (gamma-delta) cell lymphoma" ], [ "9717", "3", "Intestinal T-cell lymphoma" ], [ "9718", "3", "Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" ], [ "9719", "3", "NK/T-cell lymphoma, nasal and nasal-type" ], [ "9727", "3", "Precursor cell lymphoblastic lymphoma, NOS (see also M-9835/3)" ], [ "9728", "3", "Precursor B-cell lymphoblastic lymphoma (see also M-9836/3)" ], [ "9729", "3", "Precursor T-cell lymphoblastic lymphoma (see also M-9837/3)" ], [ "9731", "3", "Plasmacytoma, NOS" ], [ "9732", "3", "Multiple myeloma (C42.1)" ], [ "9733", "3", "Plasma cell leukemia (C42.1)" ], [ "9734", "3", "Plasmacytoma, extramedullary (not occurring in bone)" ], [ "9740", "1", "Mastocytoma, NOS" ], [ "9740", "3", "Mast cell sarcoma" ], [ "9741", "3", "Malignant mastocytosis" ], [ "9742", "3", "Mast cell leukemia (C42.1)" ], [ "9750", "3", "Malignant histiocytosis" ], [ "9751", "1", "Langerhans cell histiocytosis, NOS" ], [ "9752", "1", "Langerhans cell histiocytosis, unifocal" ], [ "9753", "1", "Langerhans cell histiocytosis, multifocal" ], [ "9754", "3", "Langerhans cell histiocytosis, disseminated" ], [ "9755", "3", "Histiocytic sarcoma" ], [ "9756", "3", "Langerhans cell sarcoma" ], [ "9757", "3", "Interdigitating dendritic cell sarcoma" ], [ "9758", "3", "Follicular dendritic cell sarcoma" ], [ "9760", "3", "Immunoproliferative disease, NOS" ], [ "9761", "3", "Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" ], [ "9762", "3", "Heavy chain disease, NOS" ], [ "9764", "3", "Immunoproliferative small intestinal disease (C17._)" ], [ "9765", "1", "Monoclonal gammopathy of undetermined significance" ], [ "9766", "1", "Angiocentric immunoproliferative lesion" ], [ "9767", "1", "Angioimmunoblastic lymphadenopathy" ], [ "9768", "1", "T-gamma lymphoproliferative disease" ], [ "9769", "1", "Immunoglobulin deposition disease" ], [ "9800", "3", "Leukemia, NOS" ], [ "9801", "3", "Acute leukemia, NOS" ], [ "9805", "3", "Acute biphenotypic leukemia" ], [ "9820", "3", "Lymphoid leukemia, NOS" ], [ "9823", "3", "B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" ], [ "9826", "3", "Burkitt cell leukemia (see also M-9687/3)" ], [ "9827", "3", "Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" ], [ "9831", "1", "T-cell large granular lymphocytic leukemia" ], [ "9832", "3", "Prolymphocytic leukemia, NOS" ], [ "9833", "3", "Prolymphocytic leukemia, B-cell type" ], [ "9834", "3", "Prolymphocytic leukemia, T-cell type" ], [ "9835", "3", "Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" ], [ "9836", "3", "Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" ], [ "9837", "3", "Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" ], [ "9840", "3", "Acute myeloid leukemia, M6 type" ], [ "9860", "3", "Myeloid leukemia, NOS" ], [ "9861", "3", "Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" ], [ "9863", "3", "Chronic myeloid leukemia, NOS" ], [ "9866", "3", "Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" ], [ "9867", "3", "Acute myelomonocytic leukemia" ], [ "9870", "3", "Acute basophilic leukemia" ], [ "9871", "3", "Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" ], [ "9872", "3", "Acute myeloid leukemia, minimal differentiation" ], [ "9873", "3", "Acute myeloid leukemia without maturation" ], [ "9874", "3", "Acute myeloid leukemia with maturation" ], [ "9875", "3", "Chronic myelogenous leukemia, BCR/ABL positive" ], [ "9876", "3", "Atypical chronic myeloid leukemia, BCR/ABL negative" ], [ "9891", "3", "Acute monocytic leukemia" ], [ "9895", "3", "Acute myeloid leukemia with multilineage dysplasia" ], [ "9896", "3", "Acute myeloid leukemia, t(8;21)(q22;q22)" ], [ "9897", "3", "Acute myeloid leukemia, 11q23 abnormalities" ], [ "9910", "3", "Acute megakaryoblastic leukemia" ], [ "9920", "3", "Therapy-related acute myeloid leukemia, NOS" ], [ "9930", "3", "Myeloid sarcoma (see also M-9861/3)" ], [ "9931", "3", "Acute panmyelosis with myelofibrosis (C42.1)" ], [ "9940", "3", "Hairy cell leukemia (C42.1)" ], [ "9945", "3", "Chronic myelomonocytic leukemia, NOS" ], [ "9946", "3", "Juvenile myelomonocytic leukemia" ], [ "9948", "3", "Aggressive NK-cell leukemia" ], [ "9950", "3", "Polycythemia vera" ], [ "9960", "3", "Chronic myeloproliferative disease, NOS" ], [ "9961", "3", "Myelosclerosis with myeloid metaplasia" ], [ "9962", "3", "Essential thrombocythemia" ], [ "9963", "3", "Chronic neutrophilic leukemia" ], [ "9964", "3", "Hypereosinophilic syndrome" ], [ "9970", "1", "Lymphoproliferative disorder, NOS" ], [ "9975", "1", "Myeloproliferative disease, NOS" ], [ "9980", "3", "Refractory anemia" ], [ "9982", "3", "Refractory anemia with sideroblasts" ], [ "9983", "3", "Refractory anemia with excess blasts" ], [ "9984", "3", "Refractory anemia with excess blasts in transformation [obs]" ], [ "9985", "3", "Refractory cytopenia with multilineage dysplasia" ], [ "9986", "3", "Myelodysplastic syndrome with 5q deletion (5q-) syndrome" ], [ "9987", "3", "Therapy-related myelodysplastic syndrome, NOS" ], [ "9989", "3", "Myelodysplastic syndrome, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paj.json deleted file mode 100644 index a9904d9c6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_paj.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ajcc6_exclusions_paj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Exclusions", - "title" : "Histology Exclusion Table AJCC 6th ed.", - "notes" : "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. For these cases, displayed results will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified" : "2015-05-27T16:18:46.905Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8000", "0", "Neoplasm, benign" ], [ "8000", "1", "Neoplasm, uncertain whether benign or malignant" ], [ "8000", "3", "Neoplasm, malignant" ], [ "8000", "6", "Neoplasm, metastatic" ], [ "8000", "9", "Neoplasm, malignant, uncertain whether primary or metastatic" ], [ "8001", "0", "Tumor cells, benign" ], [ "8001", "1", "Tumor cells, uncertain whether benign or malignant" ], [ "8001", "3", "Tumor cells, malignant" ], [ "8002", "3", "Malignant tumor, small cell type" ], [ "8003", "3", "Malignant tumor, giant cell type" ], [ "8004", "3", "Malignant tumor, spindle cell type" ], [ "8005", "0", "Clear cell tumor, NOS" ], [ "8005", "3", "Malignant tumor, clear cell type" ], [ "8010", "0", "Epithelial tumor, benign" ], [ "8010", "2", "Carcinoma in situ, NOS" ], [ "8010", "3", "Carcinoma, NOS" ], [ "8010", "6", "Carcinoma, metastatic, NOS" ], [ "8010", "9", "Carcinomatosis" ], [ "8011", "0", "Epithelioma, benign" ], [ "8011", "3", "Epithelioma, malignant" ], [ "8012", "3", "Large cell carcinoma, NOS" ], [ "8013", "3", "Large cell neuroendocrine carcinoma" ], [ "8014", "3", "Large cell carcinoma with rhabdoid phenotype" ], [ "8015", "3", "Glassy cell carcinoma" ], [ "8020", "3", "Carcinoma, undifferentiated, NOS" ], [ "8021", "3", "Carcinoma, anaplastic, NOS" ], [ "8022", "3", "Pleomorphic carcinoma" ], [ "8030", "3", "Giant cell and spindle cell carcinoma" ], [ "8031", "3", "Giant cell carcinoma" ], [ "8032", "3", "Spindle cell carcinoma, NOS" ], [ "8033", "3", "Pseudosarcomatous carcinoma" ], [ "8034", "3", "Polygonal cell carcinoma" ], [ "8035", "3", "Carcinoma with osteoclast-like giant cells" ], [ "8040", "0", "Tumorlet, benign" ], [ "8040", "1", "Tumorlet, NOS" ], [ "8041", "3", "Small cell carcinoma, NOS" ], [ "8042", "3", "Oat cell carcinoma (C34._)" ], [ "8043", "3", "Small cell carcinoma, fusiform cell" ], [ "8044", "3", "Small cell carcinoma, intermediate cell" ], [ "8045", "3", "Combined small cell carcinoma" ], [ "8046", "3", "Non-small cell carcinoma (C34._)" ], [ "8050", "0", "Papilloma, NOS (except papilloma of bladder M-8120/1)" ], [ "8050", "2", "Papillary carcinoma in situ" ], [ "8050", "3", "Papillary carcinoma, NOS" ], [ "8051", "0", "Verrucous papilloma" ], [ "8051", "3", "Verrucous carcinoma, NOS" ], [ "8052", "0", "Squamous cell papilloma, NOS" ], [ "8052", "2", "Papillary squamous cell carcinoma, non-invasive" ], [ "8052", "3", "Papillary squamous cell carcinoma" ], [ "8053", "0", "Squamous cell papilloma, inverted" ], [ "8060", "0", "Squamous papillomatosis" ], [ "8070", "2", "Squamous cell carcinoma in situ, NOS" ], [ "8070", "3", "Squamous cell carcinoma, NOS" ], [ "8070", "6", "Squamous cell carcinoma, metastatic, NOS" ], [ "8071", "3", "Squamous cell carcinoma, keratinizing, NOS" ], [ "8072", "3", "Squamous cell carcinoma, large cell, nonkeratinizing, NOS" ], [ "8073", "3", "Squamous cell carcinoma, small cell, nonkeratinizing" ], [ "8074", "3", "Squamous cell carcinoma, spindle cell" ], [ "8075", "3", "Squamous cell carcinoma, adenoid" ], [ "8076", "2", "Squamous cell carcinoma in situ with questionable stromal invasion" ], [ "8076", "3", "Squamous cell carcinoma, microinvasive" ], [ "8077", "2", "Squamous intraepithelial neoplasia, grade III" ], [ "8078", "3", "Squamous cell carcinoma with horn formation" ], [ "8080", "2", "Queyrat erythroplasia (C60._)" ], [ "8081", "2", "Bowen disease (C44._)" ], [ "8082", "3", "Lymphoepithelial carcinoma" ], [ "8083", "3", "Basaloid squamous cell carcinoma" ], [ "8084", "3", "Squamous cell carcinoma, clear cell type" ], [ "8090", "1", "Basal cell tumor (C44._)" ], [ "8090", "3", "Basal cell carcinoma, NOS (C44._)" ], [ "8091", "3", "Multifocal superficial basal cell carcinoma (C44._)" ], [ "8092", "3", "Infiltrating basal cell carcinoma, NOS (C44._)" ], [ "8093", "3", "Basal cell carcinoma, fibroepithelial (C44._)" ], [ "8094", "3", "Basosquamous carcinoma (C44._)" ], [ "8095", "3", "Metatypical carcinoma (C44._)" ], [ "8096", "0", "Intraepidermal epithelioma of Jadassohn (C44._)" ], [ "8097", "3", "Basal cell carcinoma, nodular (C44._)" ], [ "8098", "3", "Adenoid basal carcinoma (C53._)" ], [ "8100", "0", "Trichoepithelioma (C44._)" ], [ "8101", "0", "Trichofolliculoma (C44._)" ], [ "8102", "0", "Trichilemmoma (C44._)" ], [ "8102", "3", "Trichilemmocarcinoma (C44._)" ], [ "8103", "0", "Pilar tumor (C44._)" ], [ "8110", "0", "Pilomatrixoma, NOS (C44._)" ], [ "8110", "3", "Pilomatrix carcinoma (C44._)" ], [ "8120", "0", "Transitional cell papilloma, benign" ], [ "8120", "1", "Urothelial papilloma, NOS" ], [ "8120", "2", "Transitional cell carcinoma in situ" ], [ "8120", "3", "Transitional cell carcinoma, NOS" ], [ "8121", "0", "Schneiderian papilloma, NOS (C30.0, C31._)" ], [ "8121", "1", "Transitional cell papilloma, inverted, NOS" ], [ "8121", "3", "Schneiderian carcinoma (C30.0, C31._)" ], [ "8122", "3", "Transitional cell carcinoma, spindle cell" ], [ "8123", "3", "Basaloid carcinoma" ], [ "8124", "3", "Cloacogenic carcinoma (C21.2)" ], [ "8130", "1", "Papillary transitional cell neoplasm of low malignant potential (C67._)" ], [ "8130", "2", "Papillary transitional cell carcinoma, non-invasive (C67._)" ], [ "8130", "3", "Papillary transitional cell carcinoma (C67._)" ], [ "8131", "3", "Transitional cell carcinoma, micropapillary (C67._)" ], [ "8140", "0", "Adenoma, NOS" ], [ "8140", "1", "Atypical adenoma" ], [ "8140", "2", "Adenocarcinoma in situ, NOS" ], [ "8140", "3", "Adenocarcinoma, NOS" ], [ "8140", "6", "Adenocarcinoma, metastatic, NOS" ], [ "8141", "3", "Scirrhous adenocarcinoma" ], [ "8142", "3", "Linitis plastica (C16._)" ], [ "8143", "3", "Superficial spreading adenocarcinoma" ], [ "8144", "3", "Adenocarcinoma, intestinal type (C16._)" ], [ "8145", "3", "Carcinoma, diffuse type (C16._)" ], [ "8146", "0", "Monomorphic adenoma" ], [ "8147", "0", "Basal cell adenoma" ], [ "8147", "3", "Basal cell adenocarcinoma" ], [ "8148", "2", "Glandular intraepithelial neoplasia, grade III" ], [ "8149", "0", "Canalicular adenoma" ], [ "8150", "0", "Islet cell adenoma (C25._)" ], [ "8150", "1", "Islet cell tumor, NOS (C25._)" ], [ "8150", "3", "Islet cell carcinoma (C25._)" ], [ "8151", "0", "Insulinoma, NOS (C25._)" ], [ "8151", "3", "Insulinoma, malignant (C25._)" ], [ "8152", "1", "Glucagonoma, NOS (C25._)" ], [ "8152", "3", "Glucagonoma, malignant (C25._)" ], [ "8153", "1", "Gastrinoma, NOS" ], [ "8153", "3", "Gastrinoma, malignant" ], [ "8154", "3", "Mixed islet cell and exocrine adenocarcinoma (C25._)" ], [ "8155", "1", "Vipoma, NOS" ], [ "8155", "3", "Vipoma, malignant" ], [ "8156", "1", "Somatostatinoma, NOS" ], [ "8156", "3", "Somatostatinoma, malignant" ], [ "8157", "1", "Enteroglucagonoma, NOS" ], [ "8157", "3", "Enteroglucagonoma, malignant" ], [ "8160", "0", "Bile duct adenoma (C22.1, C24.0)" ], [ "8160", "3", "Cholangiocarcinoma (C22.1, C24.0)" ], [ "8161", "0", "Bile duct cystadenoma (C22.1, C24.0)" ], [ "8161", "3", "Bile duct cystadenocarcinoma (C22.1, C24.0)" ], [ "8162", "3", "Klatskin tumor (C22.1, C24.0)" ], [ "8170", "0", "Liver cell adenoma (C22.0)" ], [ "8170", "3", "Hepatocellular carcinoma, NOS (C22.0)" ], [ "8171", "3", "Hepatocellular carcinoma, fibrolamellar (C22.0)" ], [ "8172", "3", "Hepatocellular carcinoma, scirrhous (C22.0)" ], [ "8173", "3", "Hepatocellular carcinoma, spindle cell variant (C22.0)" ], [ "8174", "3", "Hepatocellular carcinoma, clear cell type (C22.0)" ], [ "8175", "3", "Hepatocellular carcinoma, pleomorphic type (C22.0)" ], [ "8180", "3", "Combined hepatocellular carcinoma and cholangiocarcinoma (C22.0)" ], [ "8190", "0", "Trabecular adenoma" ], [ "8190", "3", "Trabecular adenocarcinoma" ], [ "8191", "0", "Embryonal adenoma" ], [ "8200", "0", "Eccrine dermal cylindroma (C44._)" ], [ "8200", "3", "Adenoid cystic carcinoma" ], [ "8201", "2", "Cribriform carcinoma in situ (C50._)" ], [ "8201", "3", "Cribriform carcinoma, NOS" ], [ "8202", "0", "Microcystic adenoma (C25._)" ], [ "8204", "0", "Lactating adenoma (C50._)" ], [ "8210", "0", "Adenomatous polyp, NOS" ], [ "8210", "2", "Adenocarcinoma in situ in adenomatous polyp" ], [ "8210", "3", "Adenocarcinoma in adenomatous polyp" ], [ "8211", "0", "Tubular adenoma, NOS" ], [ "8211", "3", "Tubular adenocarcinoma" ], [ "8212", "0", "Flat adenoma" ], [ "8213", "0", "Serrated adenoma (C18._)" ], [ "8214", "3", "Parietal cell carcinoma (C16._)" ], [ "8215", "3", "Adenocarcinoma of anal glands (C21.1)" ], [ "8220", "0", "Adenomatous polyposis coli (C18._)" ], [ "8220", "3", "Adenocarcinoma in adenomatous polyposis coli (C18._)" ], [ "8221", "0", "Multiple adenomatous polyps" ], [ "8221", "3", "Adenocarcinoma in multiple adenomatous polyps" ], [ "8230", "2", "Ductal carcinoma in situ, solid type (C50._)" ], [ "8230", "3", "Solid carcinoma, NOS" ], [ "8231", "3", "Carcinoma simplex" ], [ "8240", "1", "Carcinoid tumor of uncertain malignant potential" ], [ "8240", "3", "Carcinoid tumor, NOS (except of appendix M-8240/1)" ], [ "8241", "3", "Enterochromaffin cell carcinoid" ], [ "8242", "1", "Enterochromaffin-like cell carcinoid, NOS" ], [ "8242", "3", "Enterochromaffin-like cell tumor, malignant" ], [ "8243", "3", "Goblet cell carcinoid" ], [ "8244", "3", "Composite carcinoid" ], [ "8245", "1", "Tubular carcinoid" ], [ "8245", "3", "Adenocarcinoid tumor" ], [ "8246", "3", "Neuroendocrine carcinoma, NOS" ], [ "8247", "3", "Merkel cell carcinoma (C44._)" ], [ "8248", "1", "Apudoma" ], [ "8249", "3", "Atypical carcinoid tumor" ], [ "8250", "1", "Pulmonary adenomatosis (C34._)" ], [ "8250", "3", "Bronchiolo-alveolar adenocarcinoma, NOS (C34._)" ], [ "8251", "0", "Alveolar adenoma (C34._)" ], [ "8251", "3", "Alveolar adenocarcinoma (C34._)" ], [ "8252", "3", "Bronchiolo-alveolar carcinoma, non-mucinous (C34._)" ], [ "8253", "3", "Bronchiolo-alveolar carcinoma, mucinous (C34._)" ], [ "8254", "3", "Bronchiolo-alveolar carcinoma, mixed mucinous and non-mucinous (C34._)" ], [ "8255", "3", "Adenocarcinoma with mixed subtypes" ], [ "8260", "0", "Papillary adenoma, NOS" ], [ "8260", "3", "Papillary adenocarcinoma, NOS" ], [ "8261", "0", "Villous adenoma, NOS" ], [ "8261", "2", "Adenocarcinoma in situ in villous adenoma" ], [ "8261", "3", "Adenocarcinoma in villous adenoma" ], [ "8262", "3", "Villous adenocarcinoma" ], [ "8263", "0", "Tubulovillous adenoma, NOS" ], [ "8263", "2", "Adenocarcinoma in situ in tubulovillous adenoma" ], [ "8263", "3", "Adenocarcinoma in tubulovillous adenoma" ], [ "8264", "0", "Papillomatosis, glandular" ], [ "8270", "0", "Chromophobe adenoma (C75.1)" ], [ "8270", "3", "Chromophobe carcinoma (C75.1)" ], [ "8271", "0", "Prolactinoma (C75.1)" ], [ "8272", "0", "Pituitary adenoma, NOS (C75.1)" ], [ "8272", "3", "Pituitary carcinoma, NOS (C75.1)" ], [ "8280", "0", "Acidophil adenoma (C75.1)" ], [ "8280", "3", "Acidophil carcinoma (C75.1)" ], [ "8281", "0", "Mixed acidophil-basophil adenoma (C75.1)" ], [ "8281", "3", "Mixed acidophil-basophil carcinoma (C75.1)" ], [ "8290", "0", "Oxyphilic adenoma" ], [ "8290", "3", "Oxyphilic adenocarcinoma" ], [ "8300", "0", "Basophil adenoma (C75.1)" ], [ "8300", "3", "Basophil carcinoma (C75.1)" ], [ "8310", "0", "Clear cell adenoma" ], [ "8310", "3", "Clear cell adenocarcinoma, NOS" ], [ "8311", "1", "Hypernephroid tumor [obs]" ], [ "8312", "3", "Renal cell carcinoma, NOS (C64.9)" ], [ "8313", "0", "Clear cell adenofibroma (C56.9)" ], [ "8313", "1", "Clear cell adenofibroma of borderline malignancy (C56.9)" ], [ "8313", "3", "Clear cell adenocarcinofibroma (C56.9)" ], [ "8314", "3", "Lipid-rich carcinoma (C50._)" ], [ "8315", "3", "Glycogen-rich carcinoma" ], [ "8316", "3", "Cyst-associated renal cell carcinoma (C64.9)" ], [ "8317", "3", "Renal cell carcinoma, chromophobe type (C64.9)" ], [ "8318", "3", "Renal cell carcinoma, sarcomatoid (C64.9)" ], [ "8319", "3", "Collecting duct carcinoma (C64.9)" ], [ "8320", "3", "Granular cell carcinoma" ], [ "8321", "0", "Chief cell adenoma (C75.0)" ], [ "8322", "0", "Water-clear cell adenoma (C75.0)" ], [ "8322", "3", "Water-clear cell adenocarcinoma (C75.0)" ], [ "8323", "0", "Mixed cell adenoma" ], [ "8323", "3", "Mixed cell adenocarcinoma" ], [ "8324", "0", "Lipoadenoma" ], [ "8325", "0", "Metanephric adenoma (C64.9)" ], [ "8330", "0", "Follicular adenoma (C73.9)" ], [ "8330", "1", "Atypical follicular adenoma (C73.9)" ], [ "8330", "3", "Follicular adenocarcinoma, NOS (C73.9)" ], [ "8331", "3", "Follicular adenocarcinoma, well differentiated (C73.9)" ], [ "8332", "3", "Follicular adenocarcinoma, trabecular (C73.9)" ], [ "8333", "0", "Microfollicular adenoma, NOS (C73.9)" ], [ "8333", "3", "Fetal adenocarcinoma" ], [ "8334", "0", "Macrofollicular adenoma (C73.9)" ], [ "8335", "3", "Follicular carcinoma, minimally invasive (C73.9)" ], [ "8336", "0", "Hyalinizing trabecular adenoma (C73.9)" ], [ "8337", "3", "Insular carcinoma (C73.9)" ], [ "8340", "3", "Papillary carcinoma, follicular variant (C73.9)" ], [ "8341", "3", "Papillary microcarcinoma (C73.9)" ], [ "8342", "3", "Papillary carcinoma, oxyphilic cell (C73.9)" ], [ "8343", "3", "Papillary carcinoma, encapsulated (C73.9)" ], [ "8344", "3", "Papillary carcinoma, columnar cell (C73.9)" ], [ "8345", "3", "Medullary carcinoma with amyloid stroma (C73.9)" ], [ "8346", "3", "Mixed medullary-follicular carcinoma (C73.9)" ], [ "8347", "3", "Mixed medullary-papillary carcinoma (C73.9)" ], [ "8350", "3", "Nonencapsulated sclerosing carcinoma (C73.9)" ], [ "8360", "1", "Multiple endocrine adenomas" ], [ "8361", "0", "Juxtaglomerular tumor (C64.9)" ], [ "8370", "0", "Adrenal cortical adenoma, NOS (C74.0)" ], [ "8370", "3", "Adrenal cortical carcinoma (C74.0)" ], [ "8371", "0", "Adrenal cortical adenoma, compact cell (C74.0)" ], [ "8372", "0", "Adrenal cortical adenoma, pigmented (C74.0)" ], [ "8373", "0", "Adrenal cortical adenoma, clear cell (C74.0)" ], [ "8374", "0", "Adrenal cortical adenoma, glomerulosa cell (C74.0)" ], [ "8375", "0", "Adrenal cortical adenoma, mixed cell (C74.0)" ], [ "8380", "0", "Endometrioid adenoma, NOS" ], [ "8380", "1", "Endometrioid adenoma, borderline malignancy" ], [ "8380", "3", "Endometrioid adenocarcinoma, NOS" ], [ "8381", "0", "Endometrioid adenofibroma, NOS" ], [ "8381", "1", "Endometrioid adenofibroma, borderline malignancy" ], [ "8381", "3", "Endometrioid adenofibroma, malignant" ], [ "8382", "3", "Endometrioid adenocarcinoma, secretory variant" ], [ "8383", "3", "Endometrioid adenocarcinoma, ciliated cell variant" ], [ "8384", "3", "Adenocarcinoma, endocervical type" ], [ "8390", "0", "Skin appendage adenoma (C44._)" ], [ "8390", "3", "Skin appendage carcinoma (C44._)" ], [ "8391", "0", "Follicular fibroma (C44._)" ], [ "8392", "0", "Syringofibroadenoma (C44._)" ], [ "8400", "0", "Sweat gland adenoma (C44._)" ], [ "8400", "1", "Sweat gland tumor, NOS (C44._)" ], [ "8400", "3", "Sweat gland adenocarcinoma (C44._)" ], [ "8401", "0", "Apocrine adenoma" ], [ "8401", "3", "Apocrine adenocarcinoma" ], [ "8402", "0", "Nodular hidradenoma (C44._)" ], [ "8402", "3", "Nodular hidradenoma, malignant (C44._)" ], [ "8403", "0", "Eccrine spiradenoma (C44._)" ], [ "8403", "3", "Malignant eccrine spiradenoma (C44._)" ], [ "8404", "0", "Hidrocystoma (C44._)" ], [ "8405", "0", "Papillary hidradenoma" ], [ "8406", "0", "Papillary syringadenoma (C44._)" ], [ "8407", "0", "Syringoma, NOS (C44._)" ], [ "8407", "3", "Sclerosing sweat duct carcinoma (C44._)" ], [ "8408", "0", "Eccrine papillary adenoma (C44._)" ], [ "8408", "1", "Aggressive digital papillary adenoma (C44._)" ], [ "8408", "3", "Eccrine papillary adenocarcinoma (C44._)" ], [ "8409", "0", "Eccrine poroma (C44._)" ], [ "8409", "3", "Eccrine poroma, malignant" ], [ "8410", "0", "Sebaceous adenoma (C44._)" ], [ "8410", "3", "Sebaceous adenocarcinoma (C44._)" ], [ "8413", "3", "Eccrine adenocarcinoma (C44._)" ], [ "8420", "0", "Ceruminous adenoma (C44.2)" ], [ "8420", "3", "Ceruminous adenocarcinoma (C44.2)" ], [ "8430", "1", "Mucoepidermoid tumor [obs]" ], [ "8430", "3", "Mucoepidermoid carcinoma" ], [ "8440", "0", "Cystadenoma, NOS" ], [ "8440", "3", "Cystadenocarcinoma, NOS" ], [ "8441", "0", "Serous cystadenoma, NOS" ], [ "8441", "3", "Serous cystadenocarcinoma, NOS (C56.9)" ], [ "8442", "1", "Serous cystadenoma, borderline malignancy (C56.9)" ], [ "8443", "0", "Clear cell cystadenoma (C56.9)" ], [ "8444", "1", "Clear cell cystic tumor of borderline malignancy (C56.9)" ], [ "8450", "0", "Papillary cystadenoma, NOS (C56.9)" ], [ "8450", "3", "Papillary cystadenocarcinoma, NOS (C56.9)" ], [ "8451", "1", "Papillary cystadenoma, borderline malignancy (C56.9)" ], [ "8452", "1", "Solid pseudopapillary tumor (C25._)" ], [ "8452", "3", "Solid pseudopapillary carcinoma (C25._)" ], [ "8453", "0", "Intraductal papillary-mucinous adenoma (C25._)" ], [ "8453", "1", "Intraductal papillary-mucinous tumor with moderate dysplasia (C25._)" ], [ "8453", "2", "Intraductal papillary-mucinous carcinoma, non-invasive (C25._)" ], [ "8453", "3", "Intraductal papillary-mucinous carcinoma, invasive (C25._)" ], [ "8454", "0", "Cystic tumor of atrio-ventricular node (C38.0)" ], [ "8460", "0", "Papillary serous cystadenoma, NOS (C56.9)" ], [ "8460", "3", "Papillary serous cystadenocarcinoma (C56.9)" ], [ "8461", "0", "Serous surface papilloma (C56.9)" ], [ "8461", "3", "Serous surface papillary carcinoma (C56.9)" ], [ "8462", "1", "Serous papillary cystic tumor of borderline malignancy (C56.9)" ], [ "8463", "1", "Serous surface papillary tumor of borderline malignancy (C56.9)" ], [ "8470", "0", "Mucinous cystadenoma, NOS (C56.9)" ], [ "8470", "1", "Mucinous cystic tumor with moderate dysplasia (C25._)" ], [ "8470", "2", "Mucinous cystadenocarcinoma, non-invasive (C25._)" ], [ "8470", "3", "Mucinous cystadenocarcinoma, NOS (C56.9)" ], [ "8471", "0", "Papillary mucinous cystadenoma, NOS (C56.9)" ], [ "8471", "3", "Papillary mucinous cystadenocarcinoma (C56.9)" ], [ "8472", "1", "Mucinous cystic tumor of borderline malignancy (C56.9)" ], [ "8473", "1", "Papillary mucinous cystadenoma, borderline malignancy (C56.9)" ], [ "8480", "0", "Mucinous adenoma" ], [ "8480", "3", "Mucinous adenocarcinoma" ], [ "8480", "6", "Pseudomyxoma peritonei" ], [ "8481", "3", "Mucin-producing adenocarcinoma" ], [ "8482", "3", "Mucinous adenocarcinoma, endocervical type" ], [ "8490", "3", "Signet ring cell carcinoma" ], [ "8490", "6", "Metastatic signet ring cell carcinoma" ], [ "8500", "2", "Intraductal carcinoma, noninfiltrating, NOS" ], [ "8500", "3", "Infiltrating duct carcinoma, NOS (C50._)" ], [ "8501", "2", "Comedocarcinoma, noninfiltrating (C50._)" ], [ "8501", "3", "Comedocarcinoma, NOS (C50._)" ], [ "8502", "3", "Secretory carcinoma of breast (C50._)" ], [ "8503", "0", "Intraductal papilloma" ], [ "8503", "2", "Noninfiltrating intraductal papillary adenocarcinoma (C50._)" ], [ "8503", "3", "Intraductal papillary adenocarcinoma with invasion (C50._)" ], [ "8504", "0", "Intracystic papillary adenoma" ], [ "8504", "2", "Noninfiltrating intracystic carcinoma" ], [ "8504", "3", "Intracystic carcinoma, NOS" ], [ "8505", "0", "Intraductal papillomatosis, NOS" ], [ "8506", "0", "Adenoma of nipple (C50.0)" ], [ "8507", "2", "Intraductal micropapillary carcinoma (C50._)" ], [ "8508", "3", "Cystic hypersecretory carcinoma (C50._)" ], [ "8510", "3", "Medullary carcinoma, NOS" ], [ "8512", "3", "Medullary carcinoma with lymphoid stroma" ], [ "8513", "3", "Atypical medullary carcinoma (C50._)" ], [ "8514", "3", "Duct carcinoma, desmoplastic type" ], [ "8520", "2", "Lobular carcinoma in situ, NOS (C50._)" ], [ "8520", "3", "Lobular carcinoma, NOS (C50._)" ], [ "8521", "3", "Infiltrating ductular carcinoma (C50._)" ], [ "8522", "2", "Intraductal carcinoma and lobular carcinoma in situ (C50._)" ], [ "8522", "3", "Infiltrating duct and lobular carcinoma (C50._)" ], [ "8523", "3", "Infiltrating duct mixed with other types of carcinoma (C50._)" ], [ "8524", "3", "Infiltrating lobular mixed with other types of carcinoma (C50._)" ], [ "8525", "3", "Polymorphous low grade adenocarcinoma" ], [ "8530", "3", "Inflammatory carcinoma (C50._)" ], [ "8540", "3", "Paget disease, mammary (C50._)" ], [ "8541", "3", "Paget disease and infiltrating duct carcinoma of breast (C50._)" ], [ "8542", "3", "Paget disease, extramammary (except Paget disease of bone)" ], [ "8543", "3", "Paget disease and intraductal carcinoma of breast (C50._)" ], [ "8550", "0", "Acinar cell adenoma" ], [ "8550", "1", "Acinar cell tumor [obs]" ], [ "8550", "3", "Acinar cell carcinoma" ], [ "8551", "3", "Acinar cell cystadenocarcinoma" ], [ "8560", "0", "Mixed squamous cell and glandular papilloma" ], [ "8560", "3", "Adenosquamous carcinoma" ], [ "8561", "0", "Adenolymphoma (C07._, C08._)" ], [ "8562", "3", "Epithelial-myoepithelial carcinoma" ], [ "8570", "3", "Adenocarcinoma with squamous metaplasia" ], [ "8571", "3", "Adenocarcinoma with cartilaginous and osseous metaplasia" ], [ "8572", "3", "Adenocarcinoma with spindle cell metaplasia" ], [ "8573", "3", "Adenocarcinoma with apocrine metaplasia" ], [ "8574", "3", "Adenocarcinoma with neuroendocrine differentiation" ], [ "8575", "3", "Metaplastic carcinoma, NOS" ], [ "8576", "3", "Hepatoid adenocarcinoma" ], [ "8580", "0", "Thymoma, benign (C37.9)" ], [ "8580", "1", "Thymoma, NOS (C37.9)" ], [ "8580", "3", "Thymoma, malignant, NOS (C37.9)" ], [ "8581", "1", "Thymoma, type A, NOS (C37.9)" ], [ "8581", "3", "Thymoma, type A, malignant (C37.9)" ], [ "8582", "1", "Thymoma, type AB, NOS (C37.9)" ], [ "8582", "3", "Thymoma, type AB, malignant (C37.9)" ], [ "8583", "1", "Thymoma, type B1, NOS (C37.9)" ], [ "8583", "3", "Thymoma, type B1, malignant (C37.9)" ], [ "8584", "1", "Thymoma, type B2, NOS (C37.9)" ], [ "8584", "3", "Thymoma, type B2, malignant (C37.9)" ], [ "8585", "1", "Thymoma, type B3, NOS (C37.9)" ], [ "8585", "3", "Thymoma, type B3, malignant (C37.9)" ], [ "8586", "3", "Thymic carcinoma, NOS (C37.9)" ], [ "8587", "0", "Ectopic hamartomatous thymoma" ], [ "8588", "3", "Spindle epithelial tumor with thymus-like element" ], [ "8589", "3", "Carcinoma showing thymus-like element" ], [ "8660", "0", "Hilus cell tumor (C56.9)" ], [ "8670", "0", "Lipid cell tumor of ovary (C56.9)" ], [ "8670", "3", "Steroid cell tumor, malignant" ], [ "8671", "0", "Adrenal rest tumor" ], [ "8680", "0", "Paraganglioma, benign" ], [ "8680", "1", "Paraganglioma, NOS" ], [ "8680", "3", "Paraganglioma, malignant" ], [ "8681", "1", "Sympathetic paraganglioma" ], [ "8682", "1", "Parasympathetic paraganglioma" ], [ "8683", "0", "Gangliocytic paraganglioma (C17.0)" ], [ "8690", "1", "Glomus jugulare tumor, NOS (C75.5)" ], [ "8691", "1", "Aortic body tumor (C75.5)" ], [ "8692", "1", "Carotid body tumor (C75.4)" ], [ "8693", "1", "Extra-adrenal paraganglioma, NOS" ], [ "8693", "3", "Extra-adrenal paraganglioma, malignant" ], [ "8700", "0", "Pheochromocytoma, NOS (C74.1)" ], [ "8700", "3", "Pheochromocytoma, malignant (C74.1)" ], [ "8710", "3", "Glomangiosarcoma" ], [ "8711", "0", "Glomus tumor, NOS" ], [ "8711", "3", "Glomus tumor, malignant" ], [ "8712", "0", "Glomangioma" ], [ "8713", "0", "Glomangiomyoma" ], [ "8720", "0", "Pigmented nevus, NOS (C44._)" ], [ "8720", "2", "Melanoma in situ" ], [ "8720", "3", "Malignant melanoma, NOS (except juvenile melanoma M-8770/0)" ], [ "8721", "3", "Nodular melanoma (C44._)" ], [ "8722", "0", "Balloon cell nevus (C44._)" ], [ "8722", "3", "Balloon cell melanoma (C44._)" ], [ "8723", "0", "Halo nevus (C44._)" ], [ "8723", "3", "Malignant melanoma, regressing (C44._)" ], [ "8725", "0", "Neuronevus (C44._)" ], [ "8726", "0", "Magnocellular nevus (C69.4)" ], [ "8727", "0", "Dysplastic nevus (C44._)" ], [ "8728", "0", "Diffuse melanocytosis (C70.9)" ], [ "8728", "1", "Meningeal melanocytoma (C70.9)" ], [ "8728", "3", "Meningeal melanomatosis (C70.9)" ], [ "8730", "0", "Nonpigmented nevus (C44._)" ], [ "8730", "3", "Amelanotic melanoma (C44._)" ], [ "8740", "0", "Junctional nevus, NOS (C44._)" ], [ "8740", "3", "Malignant melanoma in junctional nevus (C44._)" ], [ "8741", "2", "Precancerous melanosis, NOS (C44._)" ], [ "8741", "3", "Malignant melanoma in precancerous melanosis (C44._)" ], [ "8742", "2", "Lentigo maligna (C44._)" ], [ "8742", "3", "Lentigo maligna melanoma (C44._)" ], [ "8743", "3", "Superficial spreading melanoma (C44._)" ], [ "8744", "3", "Acral lentiginous melanoma, malignant (C44._)" ], [ "8745", "3", "Desmoplastic melanoma, malignant (C44._)" ], [ "8746", "3", "Mucosal lentiginous melanoma" ], [ "8750", "0", "Intradermal nevus (C44._)" ], [ "8760", "0", "Compound nevus (C44._)" ], [ "8761", "0", "Small congenital nevus (C44._)" ], [ "8761", "1", "Giant pigmented nevus, NOS (C44._)" ], [ "8761", "3", "Malignant melanoma in giant pigmented nevus (C44._)" ], [ "8762", "1", "Proliferative dermal lesion in congenital nevus (C44._)" ], [ "8770", "0", "Epithelioid and spindle cell nevus (C44._)" ], [ "8770", "3", "Mixed epithelioid and spindle cell melanoma" ], [ "8771", "0", "Epithelioid cell nevus (C44._)" ], [ "8771", "3", "Epithelioid cell melanoma" ], [ "8772", "0", "Spindle cell nevus, NOS (C44._)" ], [ "8772", "3", "Spindle cell melanoma, NOS" ], [ "8773", "3", "Spindle cell melanoma, type A (C69._)" ], [ "8774", "3", "Spindle cell melanoma, type B (C69._)" ], [ "8780", "0", "Blue nevus, NOS (C44._)" ], [ "8780", "3", "Blue nevus, malignant (C44._)" ], [ "8790", "0", "Cellular blue nevus (C44._)" ], [ "8800", "0", "Soft tissue tumor, benign" ], [ "8800", "3", "Sarcoma, NOS" ], [ "8800", "9", "Sarcomatosis, NOS" ], [ "8801", "3", "Spindle cell sarcoma" ], [ "8802", "3", "Giant cell sarcoma (except of bone M-9250/3)" ], [ "8803", "3", "Small cell sarcoma" ], [ "8804", "3", "Epithelioid sarcoma" ], [ "8805", "3", "Undifferentiated sarcoma" ], [ "8806", "3", "Desmoplastic small round cell tumor" ], [ "8810", "0", "Fibroma, NOS" ], [ "8810", "1", "Cellular fibroma (C56.9)" ], [ "8810", "3", "Fibrosarcoma, NOS" ], [ "8811", "0", "Fibromyxoma" ], [ "8811", "3", "Fibromyxosarcoma" ], [ "8812", "0", "Periosteal fibroma (C40._, C41._)" ], [ "8812", "3", "Periosteal fibrosarcoma (C40._, C41._)" ], [ "8813", "0", "Fascial fibroma" ], [ "8813", "3", "Fascial fibrosarcoma" ], [ "8814", "3", "Infantile fibrosarcoma" ], [ "8815", "0", "Solitary fibrous tumor" ], [ "8815", "3", "Solitary fibrous tumor, malignant" ], [ "8820", "0", "Elastofibroma" ], [ "8821", "1", "Aggressive fibromatosis" ], [ "8822", "1", "Abdominal fibromatosis" ], [ "8823", "0", "Desmoplastic fibroma" ], [ "8824", "0", "Myofibroma" ], [ "8824", "1", "Myofibromatosis" ], [ "8825", "0", "Myofibroblastoma" ], [ "8825", "1", "Myofibroblastic tumor, NOS" ], [ "8826", "0", "Angiomyofibroblastoma" ], [ "8827", "1", "Myofibroblastic tumor, peribronchial (C34._)" ], [ "8830", "0", "Benign fibrous histiocytoma" ], [ "8830", "1", "Atypical fibrous histiocytoma" ], [ "8830", "3", "Malignant fibrous histiocytoma" ], [ "8831", "0", "Histiocytoma, NOS" ], [ "8832", "0", "Dermatofibroma, NOS (C44._)" ], [ "8832", "3", "Dermatofibrosarcoma, NOS (C44._)" ], [ "8833", "3", "Pigmented dermatofibrosarcoma protuberans (C44._)" ], [ "8834", "1", "Giant cell fibroblastoma" ], [ "8835", "1", "Plexiform fibrohistiocytic tumor" ], [ "8836", "1", "Angiomatoid fibrous histiocytoma" ], [ "8840", "0", "Myxoma, NOS" ], [ "8840", "3", "Myxosarcoma" ], [ "8841", "1", "Angiomyxoma" ], [ "8842", "0", "Ossifying fibromyxoid tumor" ], [ "8850", "0", "Lipoma, NOS" ], [ "8850", "1", "Atypical lipoma" ], [ "8850", "3", "Liposarcoma, NOS" ], [ "8851", "0", "Fibrolipoma" ], [ "8851", "3", "Liposarcoma, well differentiated" ], [ "8852", "0", "Fibromyxolipoma" ], [ "8852", "3", "Myxoid liposarcoma" ], [ "8853", "3", "Round cell liposarcoma" ], [ "8854", "0", "Pleomorphic lipoma" ], [ "8854", "3", "Pleomorphic liposarcoma" ], [ "8855", "3", "Mixed liposarcoma" ], [ "8856", "0", "Intramuscular lipoma" ], [ "8857", "0", "Spindle cell lipoma" ], [ "8857", "3", "Fibroblastic liposarcoma" ], [ "8858", "3", "Dedifferentiated liposarcoma" ], [ "8860", "0", "Angiomyolipoma" ], [ "8861", "0", "Angiolipoma, NOS" ], [ "8862", "0", "Chondroid lipoma" ], [ "8870", "0", "Myelolipoma" ], [ "8880", "0", "Hibernoma" ], [ "8881", "0", "Lipoblastomatosis" ], [ "8890", "0", "Leiomyoma, NOS" ], [ "8890", "1", "Leiomyomatosis, NOS" ], [ "8890", "3", "Leiomyosarcoma, NOS" ], [ "8891", "0", "Epithelioid leiomyoma" ], [ "8891", "3", "Epithelioid leiomyosarcoma" ], [ "8892", "0", "Cellular leiomyoma" ], [ "8893", "0", "Bizarre leiomyoma" ], [ "8894", "0", "Angiomyoma" ], [ "8894", "3", "Angiomyosarcoma" ], [ "8895", "0", "Myoma" ], [ "8895", "3", "Myosarcoma" ], [ "8896", "3", "Myxoid leiomyosarcoma" ], [ "8897", "1", "Smooth muscle tumor of uncertain malignant potential" ], [ "8898", "1", "Metastasizing leiomyoma" ], [ "8900", "0", "Rhabdomyoma, NOS" ], [ "8900", "3", "Rhabdomyosarcoma, NOS" ], [ "8901", "3", "Pleomorphic rhabdomyosarcoma, adult type" ], [ "8902", "3", "Mixed type rhabdomyosarcoma" ], [ "8903", "0", "Fetal rhabdomyoma" ], [ "8904", "0", "Adult rhabdomyoma" ], [ "8905", "0", "Genital rhabdomyoma (C51._, C52.9)" ], [ "8910", "3", "Embryonal rhabdomyosarcoma, NOS" ], [ "8912", "3", "Spindle cell rhabdomyosarcoma" ], [ "8920", "3", "Alveolar rhabdomyosarcoma" ], [ "8921", "3", "Rhabdomyosarcoma with ganglionic differentiation" ], [ "8930", "0", "Endometrial stromal nodule (C54.1)" ], [ "8930", "3", "Endometrial stromal sarcoma, NOS (C54.1)" ], [ "8931", "3", "Endometrial stromal sarcoma, low grade (C54.1)" ], [ "8932", "0", "Adenomyoma" ], [ "8933", "3", "Adenosarcoma" ], [ "8934", "3", "Carcinofibroma" ], [ "8935", "0", "Stromal tumor, benign" ], [ "8935", "1", "Stromal tumor, NOS" ], [ "8935", "3", "Stromal sarcoma, NOS" ], [ "8936", "0", "Gastrointestinal stromal tumor, benign" ], [ "8936", "1", "Gastrointestinal stromal tumor, NOS" ], [ "8936", "3", "Gastrointestinal stromal sarcoma" ], [ "8940", "0", "Pleomorphic adenoma" ], [ "8940", "3", "Mixed tumor, malignant, NOS" ], [ "8941", "3", "Carcinoma in pleomorphic adenoma (C07._, C08._)" ], [ "8950", "3", "Mullerian mixed tumor (C54._)" ], [ "8951", "3", "Mesodermal mixed tumor" ], [ "8959", "0", "Benign cystic nephroma (C64.9)" ], [ "8959", "1", "Cystic partially differentiated nephroblastoma (C64.9)" ], [ "8959", "3", "Malignant cystic nephroma (C64.9)" ], [ "8960", "1", "Mesoblastic nephroma" ], [ "8960", "3", "Nephroblastoma, NOS (C64.9)" ], [ "8963", "3", "Malignant rhabdoid tumor" ], [ "8964", "3", "Clear cell sarcoma of kidney (C64.9)" ], [ "8965", "0", "Nephrogenic adenofibroma (C64.9)" ], [ "8966", "0", "Renomedullary interstitial cell tumor (C64.9)" ], [ "8967", "0", "Ossifying renal tumor (C64.9)" ], [ "8970", "3", "Hepatoblastoma (C22.0)" ], [ "8971", "3", "Pancreatoblastoma (C25._)" ], [ "8972", "3", "Pulmonary blastoma (C34._)" ], [ "8973", "3", "Pleuropulmonary blastoma" ], [ "8974", "1", "Sialoblastoma" ], [ "8980", "3", "Carcinosarcoma, NOS" ], [ "8981", "3", "Carcinosarcoma, embryonal" ], [ "8982", "0", "Myoepithelioma" ], [ "8982", "3", "Malignant myoepithelioma" ], [ "8983", "0", "Adenomyoepithelioma (C50._)" ], [ "8990", "0", "Mesenchymoma, benign" ], [ "8990", "1", "Mesenchymoma, NOS" ], [ "8990", "3", "Mesenchymoma, malignant" ], [ "8991", "3", "Embryonal sarcoma" ], [ "9000", "0", "Brenner tumor, NOS (C56.9)" ], [ "9000", "1", "Brenner tumor, borderline malignancy (C56.9)" ], [ "9000", "3", "Brenner tumor, malignant (C56.9)" ], [ "9010", "0", "Fibroadenoma, NOS (C50._)" ], [ "9011", "0", "Intracanalicular fibroadenoma (C50._)" ], [ "9012", "0", "Pericanalicular fibroadenoma (C50._)" ], [ "9013", "0", "Adenofibroma, NOS" ], [ "9014", "0", "Serous adenofibroma, NOS" ], [ "9014", "1", "Serous adenofibroma of borderline malignancy" ], [ "9014", "3", "Serous adenocarcinofibroma" ], [ "9015", "0", "Mucinous adenofibroma, NOS" ], [ "9015", "1", "Mucinous adenofibroma of borderline malignancy" ], [ "9015", "3", "Mucinous adenocarcinofibroma" ], [ "9016", "0", "Giant fibroadenoma (C50._)" ], [ "9020", "0", "Phyllodes tumor, benign (C50._)" ], [ "9020", "1", "Phyllodes tumor, borderline (C50._)" ], [ "9020", "3", "Phyllodes tumor, malignant (C50._)" ], [ "9030", "0", "Juvenile fibroadenoma (C50._)" ], [ "9040", "0", "Synovioma, benign" ], [ "9040", "3", "Synovial sarcoma, NOS" ], [ "9041", "3", "Synovial sarcoma, spindle cell" ], [ "9042", "3", "Synovial sarcoma, epithelioid cell" ], [ "9043", "3", "Synovial sarcoma, biphasic" ], [ "9044", "3", "Clear cell sarcoma, NOS (except of kidney M-8964/3)" ], [ "9050", "0", "Mesothelioma, benign" ], [ "9050", "3", "Mesothelioma, malignant" ], [ "9051", "0", "Fibrous mesothelioma, benign" ], [ "9051", "3", "Fibrous mesothelioma, malignant" ], [ "9052", "0", "Epithelioid mesothelioma, benign" ], [ "9052", "3", "Epithelioid mesothelioma, malignant" ], [ "9053", "3", "Mesothelioma, biphasic, malignant" ], [ "9054", "0", "Adenomatoid tumor, NOS" ], [ "9055", "0", "Multicystic mesothelioma, benign" ], [ "9055", "1", "Cystic mesothelioma, NOS (C48._)" ], [ "9102", "3", "Malignant teratoma, trophoblastic" ], [ "9103", "0", "Partial hydatidiform mole (C58.9)" ], [ "9104", "1", "Placental site trophoblastic tumor (C58.9)" ], [ "9105", "3", "Trophoblastic tumor, epithelioid" ], [ "9110", "0", "Mesonephroma, benign" ], [ "9110", "1", "Mesonephric tumor, NOS" ], [ "9110", "3", "Mesonephroma, malignant" ], [ "9120", "0", "Hemangioma, NOS" ], [ "9120", "3", "Hemangiosarcoma" ], [ "9121", "0", "Cavernous hemangioma" ], [ "9122", "0", "Venous hemangioma" ], [ "9123", "0", "Racemose hemangioma" ], [ "9124", "3", "Kupffer cell sarcoma (C22.0)" ], [ "9125", "0", "Epithelioid hemangioma" ], [ "9130", "0", "Hemangioendothelioma, benign" ], [ "9130", "1", "Hemangioendothelioma, NOS" ], [ "9130", "3", "Hemangioendothelioma, malignant" ], [ "9131", "0", "Capillary hemangioma" ], [ "9132", "0", "Intramuscular hemangioma" ], [ "9133", "1", "Epithelioid hemangioendothelioma, NOS" ], [ "9133", "3", "Epithelioid hemangioendothelioma, malignant" ], [ "9135", "1", "Endovascular papillary angioendothelioma" ], [ "9136", "1", "Spindle cell hemangioendothelioma" ], [ "9140", "3", "Kaposi sarcoma" ], [ "9141", "0", "Angiokeratoma" ], [ "9142", "0", "Verrucous keratotic hemangioma" ], [ "9150", "0", "Hemangiopericytoma, benign" ], [ "9150", "1", "Hemangiopericytoma, NOS" ], [ "9150", "3", "Hemangiopericytoma, malignant" ], [ "9160", "0", "Angiofibroma, NOS" ], [ "9161", "0", "Acquired tufted hemangioma" ], [ "9161", "1", "Hemangioblastoma" ], [ "9170", "0", "Lymphangioma, NOS" ], [ "9170", "3", "Lymphangiosarcoma" ], [ "9171", "0", "Capillary lymphangioma" ], [ "9172", "0", "Cavernous lymphangioma" ], [ "9173", "0", "Cystic lymphangioma" ], [ "9174", "0", "Lymphangiomyoma" ], [ "9174", "1", "Lymphangiomyomatosis" ], [ "9175", "0", "Hemolymphangioma" ], [ "9180", "0", "Osteoma, NOS (C40._, C41._)" ], [ "9180", "3", "Osteosarcoma, NOS (C40._, C41._)" ], [ "9181", "3", "Chondroblastic osteosarcoma (C40._, C41._)" ], [ "9182", "3", "Fibroblastic osteosarcoma (C40._, C41._)" ], [ "9183", "3", "Telangiectatic osteosarcoma (C40._, C41._)" ], [ "9184", "3", "Osteosarcoma in Paget disease of bone (C40._, C41._)" ], [ "9185", "3", "Small cell osteosarcoma (C40._, C41._)" ], [ "9186", "3", "Central osteosarcoma (C40._, C41._)" ], [ "9187", "3", "Intraosseous well differentiated osteosarcoma (C40._, C41._)" ], [ "9191", "0", "Osteoid osteoma, NOS (C40._, C41._)" ], [ "9192", "3", "Parosteal osteosarcoma (C40._, C41._)" ], [ "9193", "3", "Periosteal osteosarcoma (C40._, C41._)" ], [ "9194", "3", "High grade surface osteosarcoma (C40._, C41._)" ], [ "9195", "3", "Intracortical osteosarcoma (C40._, C41._)" ], [ "9200", "0", "Osteoblastoma, NOS (C40._, C41._)" ], [ "9200", "1", "Aggressive osteoblastoma (C40._, C41._)" ], [ "9210", "0", "Osteochondroma (C40._, C41._)" ], [ "9210", "1", "Osteochondromatosis, NOS (C40._, C41._)" ], [ "9220", "0", "Chondroma, NOS (C40._, C41._)" ], [ "9220", "1", "Chondromatosis, NOS" ], [ "9220", "3", "Chondrosarcoma, NOS (C40._, C41._)" ], [ "9221", "0", "Juxtacortical chondroma (C40._, C41._)" ], [ "9221", "3", "Juxtacortical chondrosarcoma (C40._, C41._)" ], [ "9230", "0", "Chondroblastoma, NOS (C40._, C41._)" ], [ "9230", "3", "Chondroblastoma, malignant (C40._, C41._)" ], [ "9231", "3", "Myxoid chondrosarcoma" ], [ "9240", "3", "Mesenchymal chondrosarcoma" ], [ "9241", "0", "Chondromyxoid fibroma (C40._, C41._)" ], [ "9242", "3", "Clear cell chondrosarcoma (C40._, C41._)" ], [ "9243", "3", "Dedifferentiated chondrosarcoma (C40._, C41._)" ], [ "9250", "1", "Giant cell tumor of bone, NOS (C40._, C41._)" ], [ "9250", "3", "Giant cell tumor of bone, malignant (C40._, C41._)" ], [ "9251", "1", "Giant cell tumor of soft parts, NOS" ], [ "9251", "3", "Malignant giant cell tumor of soft parts" ], [ "9252", "0", "Tenosynovial giant cell tumor (C49._)" ], [ "9252", "3", "Malignant tenosynovial giant cell tumor (C49._)" ], [ "9260", "3", "Ewing sarcoma" ], [ "9261", "3", "Adamantinoma of long bones (C40._)" ], [ "9262", "0", "Ossifying fibroma" ], [ "9270", "0", "Odontogenic tumor, benign" ], [ "9270", "1", "Odontogenic tumor, NOS" ], [ "9270", "3", "Odontogenic tumor, malignant" ], [ "9271", "0", "Ameloblastic fibrodentinoma" ], [ "9272", "0", "Cementoma, NOS" ], [ "9273", "0", "Cementoblastoma, benign" ], [ "9274", "0", "Cementifying fibroma" ], [ "9275", "0", "Gigantiform cementoma" ], [ "9280", "0", "Odontoma, NOS" ], [ "9281", "0", "Compound odontoma" ], [ "9282", "0", "Complex odontoma" ], [ "9290", "0", "Ameloblastic fibro-odontoma" ], [ "9290", "3", "Ameloblastic odontosarcoma" ], [ "9300", "0", "Adenomatoid odontogenic tumor" ], [ "9301", "0", "Calcifying odontogenic cyst" ], [ "9302", "0", "Odontogenic ghost cell tumor" ], [ "9310", "0", "Ameloblastoma, NOS" ], [ "9310", "3", "Ameloblastoma, malignant" ], [ "9311", "0", "Odontoameloblastoma" ], [ "9312", "0", "Squamous odontogenic tumor" ], [ "9320", "0", "Odontogenic myxoma" ], [ "9321", "0", "Central odontogenic fibroma" ], [ "9322", "0", "Peripheral odontogenic fibroma" ], [ "9330", "0", "Ameloblastic fibroma" ], [ "9330", "3", "Ameloblastic fibrosarcoma" ], [ "9340", "0", "Calcifying epithelial odontogenic tumor" ], [ "9341", "1", "Clear cell odontogenic tumor" ], [ "9342", "3", "Odontogenic carcinosarcoma" ], [ "9350", "1", "Craniopharyngioma (C75.2)" ], [ "9351", "1", "Craniopharyngioma, adamantinomatous (C75.2)" ], [ "9352", "1", "Craniopharyngioma, papillary (C75.2)" ], [ "9360", "1", "Pinealoma (C75.3)" ], [ "9361", "1", "Pineocytoma (C75.3)" ], [ "9362", "3", "Pineoblastoma (C75.3)" ], [ "9363", "0", "Melanotic neuroectodermal tumor" ], [ "9364", "3", "Peripheral neuroectodermal tumor" ], [ "9365", "3", "Askin tumor" ], [ "9370", "3", "Chordoma, NOS" ], [ "9371", "3", "Chondroid chordoma" ], [ "9372", "3", "Dedifferentiated chordoma" ], [ "9373", "0", "Parachordoma" ], [ "9380", "3", "Glioma, malignant (C71._)" ], [ "9381", "3", "Gliomatosis cerebri (C71._)" ], [ "9382", "3", "Mixed glioma (C71._)" ], [ "9383", "1", "Subependymoma (C71._)" ], [ "9384", "1", "Subependymal giant cell astrocytoma (C71._)" ], [ "9390", "0", "Choroid plexus papilloma, NOS (C71.5)" ], [ "9390", "1", "Atypical choroid plexus papilloma (C71.5)" ], [ "9390", "3", "Choroid plexus carcinoma (C71.5)" ], [ "9391", "3", "Ependymoma, NOS (C71._)" ], [ "9392", "3", "Ependymoma, anaplastic (C71._)" ], [ "9393", "3", "Papillary ependymoma (C71._)" ], [ "9394", "1", "Myxopapillary ependymoma (C72.0)" ], [ "9400", "3", "Astrocytoma, NOS (C71._)" ], [ "9401", "3", "Astrocytoma, anaplastic (C71._)" ], [ "9410", "3", "Protoplasmic astrocytoma (C71._)" ], [ "9411", "3", "Gemistocytic astrocytoma (C71._)" ], [ "9412", "1", "Desmoplastic infantile astrocytoma (C71._)" ], [ "9413", "0", "Dysembryoplastic neuroepithelial tumor" ], [ "9420", "3", "Fibrillary astrocytoma (C71._)" ], [ "9421", "1", "Pilocytic astrocytoma (C71._)" ], [ "9423", "3", "Polar spongioblastoma (C71._)" ], [ "9424", "3", "Pleomorphic xanthoastrocytoma (C71._)" ], [ "9430", "3", "Astroblastoma (C71._)" ], [ "9440", "3", "Glioblastoma, NOS (C71._)" ], [ "9441", "3", "Giant cell glioblastoma (C71._)" ], [ "9442", "1", "Gliofibroma (C71._)" ], [ "9442", "3", "Gliosarcoma (C71._)" ], [ "9444", "1", "Chordoid glioma (C71._)" ], [ "9450", "3", "Oligodendroglioma, NOS (C71._)" ], [ "9451", "3", "Oligodendroglioma, anaplastic (C71._)" ], [ "9460", "3", "Oligodendroblastoma (C71._) [obs]" ], [ "9470", "3", "Medulloblastoma, NOS (C71.6)" ], [ "9471", "3", "Desmoplastic nodular medulloblastoma (C71.6)" ], [ "9472", "3", "Medullomyoblastoma (C71.6)" ], [ "9473", "3", "Primitive neuroectodermal tumor, NOS" ], [ "9474", "3", "Large cell medulloblastoma (C71.6)" ], [ "9480", "3", "Cerebellar sarcoma, NOS (C71.6) [obs]" ], [ "9490", "0", "Ganglioneuroma" ], [ "9490", "3", "Ganglioneuroblastoma" ], [ "9491", "0", "Ganglioneuromatosis" ], [ "9492", "0", "Gangliocytoma" ], [ "9493", "0", "Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" ], [ "9500", "3", "Neuroblastoma, NOS" ], [ "9501", "0", "Medulloepithelioma, benign (C69.4)" ], [ "9501", "3", "Medulloepithelioma, NOS" ], [ "9502", "0", "Teratoid medulloepithelioma, benign (C69.4)" ], [ "9502", "3", "Teratoid medulloepithelioma" ], [ "9503", "3", "Neuroepithelioma, NOS" ], [ "9504", "3", "Spongioneuroblastoma" ], [ "9505", "1", "Ganglioglioma, NOS" ], [ "9505", "3", "Ganglioglioma, anaplastic" ], [ "9506", "1", "Central neurocytoma" ], [ "9507", "0", "Pacinian tumor" ], [ "9508", "3", "Atypical teratoid/rhabdoid tumor (C71._)" ], [ "9510", "0", "Retinocytoma (C69.2)" ], [ "9510", "3", "Retinoblastoma, NOS (C69.2)" ], [ "9511", "3", "Retinoblastoma, differentiated (C69.2)" ], [ "9512", "3", "Retinoblastoma, undifferentiated (C69.2)" ], [ "9513", "3", "Retinoblastoma, diffuse (C69.2)" ], [ "9514", "1", "Retinoblastoma, spontaneously regressed (C69.2)" ], [ "9520", "3", "Olfactory neurogenic tumor" ], [ "9521", "3", "Olfactory neurocytoma (C30.0)" ], [ "9522", "3", "Olfactory neuroblastoma (C30.0)" ], [ "9523", "3", "Olfactory neuroepithelioma (C30.0)" ], [ "9530", "0", "Meningioma, NOS" ], [ "9530", "1", "Meningiomatosis, NOS" ], [ "9530", "3", "Meningioma, malignant" ], [ "9531", "0", "Meningothelial meningioma" ], [ "9532", "0", "Fibrous meningioma" ], [ "9533", "0", "Psammomatous meningioma" ], [ "9534", "0", "Angiomatous meningioma" ], [ "9535", "0", "Hemangioblastic meningioma [obs]" ], [ "9537", "0", "Transitional meningioma" ], [ "9538", "1", "Clear cell meningioma" ], [ "9538", "3", "Papillary meningioma" ], [ "9539", "1", "Atypical meningioma" ], [ "9539", "3", "Meningeal sarcomatosis" ], [ "9540", "0", "Neurofibroma, NOS" ], [ "9540", "1", "Neurofibromatosis, NOS" ], [ "9540", "3", "Malignant peripheral nerve sheath tumor" ], [ "9541", "0", "Melanotic neurofibroma" ], [ "9550", "0", "Plexiform neurofibroma" ], [ "9560", "0", "Neurilemoma, NOS" ], [ "9560", "1", "Neurinomatosis" ], [ "9560", "3", "Neurilemoma, malignant [obs]" ], [ "9561", "3", "Malignant peripheral nerve sheath tumor with rhabdomyoblastic differentiation" ], [ "9562", "0", "Neurothekeoma" ], [ "9570", "0", "Neuroma, NOS" ], [ "9571", "0", "Perineurioma, NOS" ], [ "9571", "3", "Perineurioma, malignant" ], [ "9580", "0", "Granular cell tumor, NOS" ], [ "9580", "3", "Granular cell tumor, malignant" ], [ "9581", "3", "Alveolar soft part sarcoma" ], [ "9582", "0", "Granular cell tumor of the sellar region (C75.1)" ], [ "9590", "3", "Malignant lymphoma, NOS" ], [ "9591", "3", "Malignant lymphoma, non-Hodgkin, NOS" ], [ "9596", "3", "Composite Hodgkin and non-Hodgkin lymphoma" ], [ "9650", "3", "Hodgkin lymphoma, NOS" ], [ "9651", "3", "Hodgkin lymphoma, lymphocyte-rich" ], [ "9652", "3", "Hodgkin lymphoma, mixed cellularity, NOS" ], [ "9653", "3", "Hodgkin lymphoma, lymphocyte depletion, NOS" ], [ "9654", "3", "Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" ], [ "9655", "3", "Hodgkin lymphoma, lymphocyte depletion, reticular" ], [ "9659", "3", "Hodgkin lymphoma, nodular lymphocyte predominance" ], [ "9661", "3", "Hodgkin granuloma [obs]" ], [ "9662", "3", "Hodgkin sarcoma [obs]" ], [ "9663", "3", "Hodgkin lymphoma, nodular sclerosis, NOS" ], [ "9664", "3", "Hodgkin lymphoma, nodular sclerosis, cellular phase" ], [ "9665", "3", "Hodgkin lymphoma, nodular sclerosis, grade 1" ], [ "9667", "3", "Hodgkin lymphoma, nodular sclerosis, grade 2" ], [ "9673", "3", "Mantle cell lymphoma" ], [ "9675", "3", "Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" ], [ "9678", "3", "Primary effusion lymphoma" ], [ "9679", "3", "Mediastinal large B-cell lymphoma (C38.3)" ], [ "9680", "3", "Malignant lymphoma, large B-cell, diffuse, NOS" ], [ "9684", "3", "Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" ], [ "9687", "3", "Burkitt lymphoma, NOS (see also M-9826/3)" ], [ "9689", "3", "Splenic marginal zone B-cell lymphoma (C42.2)" ], [ "9690", "3", "Follicular lymphoma, NOS (see also M-9675/3)" ], [ "9691", "3", "Follicular lymphoma, grade 2" ], [ "9695", "3", "Follicular lymphoma, grade 1" ], [ "9698", "3", "Follicular lymphoma, grade 3" ], [ "9699", "3", "Marginal zone B-cell lymphoma, NOS" ], [ "9700", "3", "Mycosis fungoides (C44._)" ], [ "9701", "3", "Sezary syndrome" ], [ "9702", "3", "Mature T-cell lymphoma, NOS" ], [ "9705", "3", "Angioimmunoblastic T-cell lymphoma" ], [ "9708", "3", "Subcutaneous panniculitis-like T-cell lymphoma" ], [ "9709", "3", "Cutaneous T-cell lymphoma, NOS (C44._)" ], [ "9714", "3", "Anaplastic large cell lymphoma, T cell and Null cell type" ], [ "9716", "3", "Hepatosplenic ?? (gamma-delta) cell lymphoma" ], [ "9717", "3", "Intestinal T-cell lymphoma" ], [ "9718", "3", "Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" ], [ "9719", "3", "NK/T-cell lymphoma, nasal and nasal-type" ], [ "9727", "3", "Precursor cell lymphoblastic lymphoma, NOS (see also M-9835/3)" ], [ "9728", "3", "Precursor B-cell lymphoblastic lymphoma (see also M-9836/3)" ], [ "9729", "3", "Precursor T-cell lymphoblastic lymphoma (see also M-9837/3)" ], [ "9731", "3", "Plasmacytoma, NOS" ], [ "9732", "3", "Multiple myeloma (C42.1)" ], [ "9733", "3", "Plasma cell leukemia (C42.1)" ], [ "9734", "3", "Plasmacytoma, extramedullary (not occurring in bone)" ], [ "9740", "1", "Mastocytoma, NOS" ], [ "9740", "3", "Mast cell sarcoma" ], [ "9741", "3", "Malignant mastocytosis" ], [ "9742", "3", "Mast cell leukemia (C42.1)" ], [ "9750", "3", "Malignant histiocytosis" ], [ "9751", "1", "Langerhans cell histiocytosis, NOS" ], [ "9752", "1", "Langerhans cell histiocytosis, unifocal" ], [ "9753", "1", "Langerhans cell histiocytosis, multifocal" ], [ "9754", "3", "Langerhans cell histiocytosis, disseminated" ], [ "9755", "3", "Histiocytic sarcoma" ], [ "9756", "3", "Langerhans cell sarcoma" ], [ "9757", "3", "Interdigitating dendritic cell sarcoma" ], [ "9758", "3", "Follicular dendritic cell sarcoma" ], [ "9760", "3", "Immunoproliferative disease, NOS" ], [ "9761", "3", "Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" ], [ "9762", "3", "Heavy chain disease, NOS" ], [ "9764", "3", "Immunoproliferative small intestinal disease (C17._)" ], [ "9765", "1", "Monoclonal gammopathy of undetermined significance" ], [ "9766", "1", "Angiocentric immunoproliferative lesion" ], [ "9767", "1", "Angioimmunoblastic lymphadenopathy" ], [ "9768", "1", "T-gamma lymphoproliferative disease" ], [ "9769", "1", "Immunoglobulin deposition disease" ], [ "9800", "3", "Leukemia, NOS" ], [ "9801", "3", "Acute leukemia, NOS" ], [ "9805", "3", "Acute biphenotypic leukemia" ], [ "9820", "3", "Lymphoid leukemia, NOS" ], [ "9823", "3", "B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" ], [ "9826", "3", "Burkitt cell leukemia (see also M-9687/3)" ], [ "9827", "3", "Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" ], [ "9831", "1", "T-cell large granular lymphocytic leukemia" ], [ "9832", "3", "Prolymphocytic leukemia, NOS" ], [ "9833", "3", "Prolymphocytic leukemia, B-cell type" ], [ "9834", "3", "Prolymphocytic leukemia, T-cell type" ], [ "9835", "3", "Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" ], [ "9836", "3", "Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" ], [ "9837", "3", "Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" ], [ "9840", "3", "Acute myeloid leukemia, M6 type" ], [ "9860", "3", "Myeloid leukemia, NOS" ], [ "9861", "3", "Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" ], [ "9863", "3", "Chronic myeloid leukemia, NOS" ], [ "9866", "3", "Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" ], [ "9867", "3", "Acute myelomonocytic leukemia" ], [ "9870", "3", "Acute basophilic leukemia" ], [ "9871", "3", "Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" ], [ "9872", "3", "Acute myeloid leukemia, minimal differentiation" ], [ "9873", "3", "Acute myeloid leukemia without maturation" ], [ "9874", "3", "Acute myeloid leukemia with maturation" ], [ "9875", "3", "Chronic myelogenous leukemia, BCR/ABL positive" ], [ "9876", "3", "Atypical chronic myeloid leukemia, BCR/ABL negative" ], [ "9891", "3", "Acute monocytic leukemia" ], [ "9895", "3", "Acute myeloid leukemia with multilineage dysplasia" ], [ "9896", "3", "Acute myeloid leukemia, t(8;21)(q22;q22)" ], [ "9897", "3", "Acute myeloid leukemia, 11q23 abnormalities" ], [ "9910", "3", "Acute megakaryoblastic leukemia" ], [ "9920", "3", "Therapy-related acute myeloid leukemia, NOS" ], [ "9930", "3", "Myeloid sarcoma (see also M-9861/3)" ], [ "9931", "3", "Acute panmyelosis with myelofibrosis (C42.1)" ], [ "9940", "3", "Hairy cell leukemia (C42.1)" ], [ "9945", "3", "Chronic myelomonocytic leukemia, NOS" ], [ "9946", "3", "Juvenile myelomonocytic leukemia" ], [ "9948", "3", "Aggressive NK-cell leukemia" ], [ "9950", "3", "Polycythemia vera" ], [ "9960", "3", "Chronic myeloproliferative disease, NOS" ], [ "9961", "3", "Myelosclerosis with myeloid metaplasia" ], [ "9962", "3", "Essential thrombocythemia" ], [ "9963", "3", "Chronic neutrophilic leukemia" ], [ "9964", "3", "Hypereosinophilic syndrome" ], [ "9970", "1", "Lymphoproliferative disorder, NOS" ], [ "9975", "1", "Myeloproliferative disease, NOS" ], [ "9980", "3", "Refractory anemia" ], [ "9982", "3", "Refractory anemia with sideroblasts" ], [ "9983", "3", "Refractory anemia with excess blasts" ], [ "9984", "3", "Refractory anemia with excess blasts in transformation [obs]" ], [ "9985", "3", "Refractory cytopenia with multilineage dysplasia" ], [ "9986", "3", "Myelodysplastic syndrome with 5q deletion (5q-) syndrome" ], [ "9987", "3", "Therapy-related myelodysplastic syndrome, NOS" ], [ "9989", "3", "Myelodysplastic syndrome, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pak.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pak.json deleted file mode 100644 index b4d895e20..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pak.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ajcc6_exclusions_pak", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Exclusions", - "title" : "Histology Exclusion Table AJCC 6th ed.", - "notes" : "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. For these cases, displayed results will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified" : "2015-05-27T16:18:47.009Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8000", "0", "Neoplasm, benign" ], [ "8000", "1", "Neoplasm, uncertain whether benign or malignant" ], [ "8000", "3", "Neoplasm, malignant" ], [ "8000", "6", "Neoplasm, metastatic" ], [ "8000", "9", "Neoplasm, malignant, uncertain whether primary or metastatic" ], [ "8001", "0", "Tumor cells, benign" ], [ "8001", "1", "Tumor cells, uncertain whether benign or malignant" ], [ "8001", "3", "Tumor cells, malignant" ], [ "8002", "3", "Malignant tumor, small cell type" ], [ "8003", "3", "Malignant tumor, giant cell type" ], [ "8004", "3", "Malignant tumor, spindle cell type" ], [ "8005", "0", "Clear cell tumor, NOS" ], [ "8005", "3", "Malignant tumor, clear cell type" ], [ "8010", "0", "Epithelial tumor, benign" ], [ "8010", "2", "Carcinoma in situ, NOS" ], [ "8010", "3", "Carcinoma, NOS" ], [ "8010", "6", "Carcinoma, metastatic, NOS" ], [ "8010", "9", "Carcinomatosis" ], [ "8011", "0", "Epithelioma, benign" ], [ "8011", "3", "Epithelioma, malignant" ], [ "8012", "3", "Large cell carcinoma, NOS" ], [ "8013", "3", "Large cell neuroendocrine carcinoma" ], [ "8014", "3", "Large cell carcinoma with rhabdoid phenotype" ], [ "8015", "3", "Glassy cell carcinoma" ], [ "8020", "3", "Carcinoma, undifferentiated, NOS" ], [ "8021", "3", "Carcinoma, anaplastic, NOS" ], [ "8022", "3", "Pleomorphic carcinoma" ], [ "8030", "3", "Giant cell and spindle cell carcinoma" ], [ "8031", "3", "Giant cell carcinoma" ], [ "8032", "3", "Spindle cell carcinoma, NOS" ], [ "8033", "3", "Pseudosarcomatous carcinoma" ], [ "8034", "3", "Polygonal cell carcinoma" ], [ "8035", "3", "Carcinoma with osteoclast-like giant cells" ], [ "8040", "0", "Tumorlet, benign" ], [ "8040", "1", "Tumorlet, NOS" ], [ "8041", "3", "Small cell carcinoma, NOS" ], [ "8042", "3", "Oat cell carcinoma (C34._)" ], [ "8043", "3", "Small cell carcinoma, fusiform cell" ], [ "8044", "3", "Small cell carcinoma, intermediate cell" ], [ "8045", "3", "Combined small cell carcinoma" ], [ "8046", "3", "Non-small cell carcinoma (C34._)" ], [ "8050", "0", "Papilloma, NOS (except papilloma of bladder M-8120/1)" ], [ "8050", "2", "Papillary carcinoma in situ" ], [ "8050", "3", "Papillary carcinoma, NOS" ], [ "8051", "0", "Verrucous papilloma" ], [ "8051", "3", "Verrucous carcinoma, NOS" ], [ "8052", "0", "Squamous cell papilloma, NOS" ], [ "8052", "2", "Papillary squamous cell carcinoma, non-invasive" ], [ "8052", "3", "Papillary squamous cell carcinoma" ], [ "8053", "0", "Squamous cell papilloma, inverted" ], [ "8060", "0", "Squamous papillomatosis" ], [ "8070", "2", "Squamous cell carcinoma in situ, NOS" ], [ "8070", "3", "Squamous cell carcinoma, NOS" ], [ "8070", "6", "Squamous cell carcinoma, metastatic, NOS" ], [ "8071", "3", "Squamous cell carcinoma, keratinizing, NOS" ], [ "8072", "3", "Squamous cell carcinoma, large cell, nonkeratinizing, NOS" ], [ "8073", "3", "Squamous cell carcinoma, small cell, nonkeratinizing" ], [ "8074", "3", "Squamous cell carcinoma, spindle cell" ], [ "8075", "3", "Squamous cell carcinoma, adenoid" ], [ "8076", "2", "Squamous cell carcinoma in situ with questionable stromal invasion" ], [ "8076", "3", "Squamous cell carcinoma, microinvasive" ], [ "8077", "2", "Squamous intraepithelial neoplasia, grade III" ], [ "8078", "3", "Squamous cell carcinoma with horn formation" ], [ "8080", "2", "Queyrat erythroplasia (C60._)" ], [ "8081", "2", "Bowen disease (C44._)" ], [ "8082", "3", "Lymphoepithelial carcinoma" ], [ "8083", "3", "Basaloid squamous cell carcinoma" ], [ "8084", "3", "Squamous cell carcinoma, clear cell type" ], [ "8090", "1", "Basal cell tumor (C44._)" ], [ "8090", "3", "Basal cell carcinoma, NOS (C44._)" ], [ "8091", "3", "Multifocal superficial basal cell carcinoma (C44._)" ], [ "8092", "3", "Infiltrating basal cell carcinoma, NOS (C44._)" ], [ "8093", "3", "Basal cell carcinoma, fibroepithelial (C44._)" ], [ "8094", "3", "Basosquamous carcinoma (C44._)" ], [ "8095", "3", "Metatypical carcinoma (C44._)" ], [ "8096", "0", "Intraepidermal epithelioma of Jadassohn (C44._)" ], [ "8097", "3", "Basal cell carcinoma, nodular (C44._)" ], [ "8098", "3", "Adenoid basal carcinoma (C53._)" ], [ "8100", "0", "Trichoepithelioma (C44._)" ], [ "8101", "0", "Trichofolliculoma (C44._)" ], [ "8102", "0", "Trichilemmoma (C44._)" ], [ "8102", "3", "Trichilemmocarcinoma (C44._)" ], [ "8103", "0", "Pilar tumor (C44._)" ], [ "8110", "0", "Pilomatrixoma, NOS (C44._)" ], [ "8110", "3", "Pilomatrix carcinoma (C44._)" ], [ "8120", "0", "Transitional cell papilloma, benign" ], [ "8120", "1", "Urothelial papilloma, NOS" ], [ "8120", "2", "Transitional cell carcinoma in situ" ], [ "8120", "3", "Transitional cell carcinoma, NOS" ], [ "8121", "0", "Schneiderian papilloma, NOS (C30.0, C31._)" ], [ "8121", "1", "Transitional cell papilloma, inverted, NOS" ], [ "8121", "3", "Schneiderian carcinoma (C30.0, C31._)" ], [ "8122", "3", "Transitional cell carcinoma, spindle cell" ], [ "8123", "3", "Basaloid carcinoma" ], [ "8124", "3", "Cloacogenic carcinoma (C21.2)" ], [ "8130", "1", "Papillary transitional cell neoplasm of low malignant potential (C67._)" ], [ "8130", "2", "Papillary transitional cell carcinoma, non-invasive (C67._)" ], [ "8130", "3", "Papillary transitional cell carcinoma (C67._)" ], [ "8131", "3", "Transitional cell carcinoma, micropapillary (C67._)" ], [ "8140", "0", "Adenoma, NOS" ], [ "8140", "1", "Atypical adenoma" ], [ "8140", "2", "Adenocarcinoma in situ, NOS" ], [ "8140", "3", "Adenocarcinoma, NOS" ], [ "8140", "6", "Adenocarcinoma, metastatic, NOS" ], [ "8141", "3", "Scirrhous adenocarcinoma" ], [ "8142", "3", "Linitis plastica (C16._)" ], [ "8143", "3", "Superficial spreading adenocarcinoma" ], [ "8144", "3", "Adenocarcinoma, intestinal type (C16._)" ], [ "8145", "3", "Carcinoma, diffuse type (C16._)" ], [ "8146", "0", "Monomorphic adenoma" ], [ "8147", "0", "Basal cell adenoma" ], [ "8147", "3", "Basal cell adenocarcinoma" ], [ "8148", "2", "Glandular intraepithelial neoplasia, grade III" ], [ "8149", "0", "Canalicular adenoma" ], [ "8150", "0", "Islet cell adenoma (C25._)" ], [ "8150", "1", "Islet cell tumor, NOS (C25._)" ], [ "8150", "3", "Islet cell carcinoma (C25._)" ], [ "8151", "0", "Insulinoma, NOS (C25._)" ], [ "8151", "3", "Insulinoma, malignant (C25._)" ], [ "8152", "1", "Glucagonoma, NOS (C25._)" ], [ "8152", "3", "Glucagonoma, malignant (C25._)" ], [ "8153", "1", "Gastrinoma, NOS" ], [ "8153", "3", "Gastrinoma, malignant" ], [ "8154", "3", "Mixed islet cell and exocrine adenocarcinoma (C25._)" ], [ "8155", "1", "Vipoma, NOS" ], [ "8155", "3", "Vipoma, malignant" ], [ "8156", "1", "Somatostatinoma, NOS" ], [ "8156", "3", "Somatostatinoma, malignant" ], [ "8157", "1", "Enteroglucagonoma, NOS" ], [ "8157", "3", "Enteroglucagonoma, malignant" ], [ "8160", "0", "Bile duct adenoma (C22.1, C24.0)" ], [ "8160", "3", "Cholangiocarcinoma (C22.1, C24.0)" ], [ "8161", "0", "Bile duct cystadenoma (C22.1, C24.0)" ], [ "8161", "3", "Bile duct cystadenocarcinoma (C22.1, C24.0)" ], [ "8162", "3", "Klatskin tumor (C22.1, C24.0)" ], [ "8170", "0", "Liver cell adenoma (C22.0)" ], [ "8170", "3", "Hepatocellular carcinoma, NOS (C22.0)" ], [ "8171", "3", "Hepatocellular carcinoma, fibrolamellar (C22.0)" ], [ "8172", "3", "Hepatocellular carcinoma, scirrhous (C22.0)" ], [ "8173", "3", "Hepatocellular carcinoma, spindle cell variant (C22.0)" ], [ "8174", "3", "Hepatocellular carcinoma, clear cell type (C22.0)" ], [ "8175", "3", "Hepatocellular carcinoma, pleomorphic type (C22.0)" ], [ "8180", "3", "Combined hepatocellular carcinoma and cholangiocarcinoma (C22.0)" ], [ "8190", "0", "Trabecular adenoma" ], [ "8190", "3", "Trabecular adenocarcinoma" ], [ "8191", "0", "Embryonal adenoma" ], [ "8200", "0", "Eccrine dermal cylindroma (C44._)" ], [ "8200", "3", "Adenoid cystic carcinoma" ], [ "8201", "2", "Cribriform carcinoma in situ (C50._)" ], [ "8201", "3", "Cribriform carcinoma, NOS" ], [ "8202", "0", "Microcystic adenoma (C25._)" ], [ "8204", "0", "Lactating adenoma (C50._)" ], [ "8210", "0", "Adenomatous polyp, NOS" ], [ "8210", "2", "Adenocarcinoma in situ in adenomatous polyp" ], [ "8210", "3", "Adenocarcinoma in adenomatous polyp" ], [ "8211", "0", "Tubular adenoma, NOS" ], [ "8211", "3", "Tubular adenocarcinoma" ], [ "8212", "0", "Flat adenoma" ], [ "8213", "0", "Serrated adenoma (C18._)" ], [ "8214", "3", "Parietal cell carcinoma (C16._)" ], [ "8215", "3", "Adenocarcinoma of anal glands (C21.1)" ], [ "8220", "0", "Adenomatous polyposis coli (C18._)" ], [ "8220", "3", "Adenocarcinoma in adenomatous polyposis coli (C18._)" ], [ "8221", "0", "Multiple adenomatous polyps" ], [ "8221", "3", "Adenocarcinoma in multiple adenomatous polyps" ], [ "8230", "2", "Ductal carcinoma in situ, solid type (C50._)" ], [ "8230", "3", "Solid carcinoma, NOS" ], [ "8231", "3", "Carcinoma simplex" ], [ "8240", "1", "Carcinoid tumor of uncertain malignant potential" ], [ "8240", "3", "Carcinoid tumor, NOS (except of appendix M-8240/1)" ], [ "8241", "3", "Enterochromaffin cell carcinoid" ], [ "8242", "1", "Enterochromaffin-like cell carcinoid, NOS" ], [ "8242", "3", "Enterochromaffin-like cell tumor, malignant" ], [ "8243", "3", "Goblet cell carcinoid" ], [ "8244", "3", "Composite carcinoid" ], [ "8245", "1", "Tubular carcinoid" ], [ "8245", "3", "Adenocarcinoid tumor" ], [ "8246", "3", "Neuroendocrine carcinoma, NOS" ], [ "8247", "3", "Merkel cell carcinoma (C44._)" ], [ "8248", "1", "Apudoma" ], [ "8249", "3", "Atypical carcinoid tumor" ], [ "8250", "1", "Pulmonary adenomatosis (C34._)" ], [ "8250", "3", "Bronchiolo-alveolar adenocarcinoma, NOS (C34._)" ], [ "8251", "0", "Alveolar adenoma (C34._)" ], [ "8251", "3", "Alveolar adenocarcinoma (C34._)" ], [ "8252", "3", "Bronchiolo-alveolar carcinoma, non-mucinous (C34._)" ], [ "8253", "3", "Bronchiolo-alveolar carcinoma, mucinous (C34._)" ], [ "8254", "3", "Bronchiolo-alveolar carcinoma, mixed mucinous and non-mucinous (C34._)" ], [ "8255", "3", "Adenocarcinoma with mixed subtypes" ], [ "8260", "0", "Papillary adenoma, NOS" ], [ "8260", "3", "Papillary adenocarcinoma, NOS" ], [ "8261", "0", "Villous adenoma, NOS" ], [ "8261", "2", "Adenocarcinoma in situ in villous adenoma" ], [ "8261", "3", "Adenocarcinoma in villous adenoma" ], [ "8262", "3", "Villous adenocarcinoma" ], [ "8263", "0", "Tubulovillous adenoma, NOS" ], [ "8263", "2", "Adenocarcinoma in situ in tubulovillous adenoma" ], [ "8263", "3", "Adenocarcinoma in tubulovillous adenoma" ], [ "8264", "0", "Papillomatosis, glandular" ], [ "8270", "0", "Chromophobe adenoma (C75.1)" ], [ "8270", "3", "Chromophobe carcinoma (C75.1)" ], [ "8271", "0", "Prolactinoma (C75.1)" ], [ "8272", "0", "Pituitary adenoma, NOS (C75.1)" ], [ "8272", "3", "Pituitary carcinoma, NOS (C75.1)" ], [ "8280", "0", "Acidophil adenoma (C75.1)" ], [ "8280", "3", "Acidophil carcinoma (C75.1)" ], [ "8281", "0", "Mixed acidophil-basophil adenoma (C75.1)" ], [ "8281", "3", "Mixed acidophil-basophil carcinoma (C75.1)" ], [ "8290", "0", "Oxyphilic adenoma" ], [ "8290", "3", "Oxyphilic adenocarcinoma" ], [ "8300", "0", "Basophil adenoma (C75.1)" ], [ "8300", "3", "Basophil carcinoma (C75.1)" ], [ "8310", "0", "Clear cell adenoma" ], [ "8310", "3", "Clear cell adenocarcinoma, NOS" ], [ "8311", "1", "Hypernephroid tumor [obs]" ], [ "8312", "3", "Renal cell carcinoma, NOS (C64.9)" ], [ "8313", "0", "Clear cell adenofibroma (C56.9)" ], [ "8313", "1", "Clear cell adenofibroma of borderline malignancy (C56.9)" ], [ "8313", "3", "Clear cell adenocarcinofibroma (C56.9)" ], [ "8314", "3", "Lipid-rich carcinoma (C50._)" ], [ "8315", "3", "Glycogen-rich carcinoma" ], [ "8316", "3", "Cyst-associated renal cell carcinoma (C64.9)" ], [ "8317", "3", "Renal cell carcinoma, chromophobe type (C64.9)" ], [ "8318", "3", "Renal cell carcinoma, sarcomatoid (C64.9)" ], [ "8319", "3", "Collecting duct carcinoma (C64.9)" ], [ "8320", "3", "Granular cell carcinoma" ], [ "8321", "0", "Chief cell adenoma (C75.0)" ], [ "8322", "0", "Water-clear cell adenoma (C75.0)" ], [ "8322", "3", "Water-clear cell adenocarcinoma (C75.0)" ], [ "8323", "0", "Mixed cell adenoma" ], [ "8323", "3", "Mixed cell adenocarcinoma" ], [ "8324", "0", "Lipoadenoma" ], [ "8325", "0", "Metanephric adenoma (C64.9)" ], [ "8330", "0", "Follicular adenoma (C73.9)" ], [ "8330", "1", "Atypical follicular adenoma (C73.9)" ], [ "8330", "3", "Follicular adenocarcinoma, NOS (C73.9)" ], [ "8331", "3", "Follicular adenocarcinoma, well differentiated (C73.9)" ], [ "8332", "3", "Follicular adenocarcinoma, trabecular (C73.9)" ], [ "8333", "0", "Microfollicular adenoma, NOS (C73.9)" ], [ "8333", "3", "Fetal adenocarcinoma" ], [ "8334", "0", "Macrofollicular adenoma (C73.9)" ], [ "8335", "3", "Follicular carcinoma, minimally invasive (C73.9)" ], [ "8336", "0", "Hyalinizing trabecular adenoma (C73.9)" ], [ "8337", "3", "Insular carcinoma (C73.9)" ], [ "8340", "3", "Papillary carcinoma, follicular variant (C73.9)" ], [ "8341", "3", "Papillary microcarcinoma (C73.9)" ], [ "8342", "3", "Papillary carcinoma, oxyphilic cell (C73.9)" ], [ "8343", "3", "Papillary carcinoma, encapsulated (C73.9)" ], [ "8344", "3", "Papillary carcinoma, columnar cell (C73.9)" ], [ "8345", "3", "Medullary carcinoma with amyloid stroma (C73.9)" ], [ "8346", "3", "Mixed medullary-follicular carcinoma (C73.9)" ], [ "8347", "3", "Mixed medullary-papillary carcinoma (C73.9)" ], [ "8350", "3", "Nonencapsulated sclerosing carcinoma (C73.9)" ], [ "8360", "1", "Multiple endocrine adenomas" ], [ "8361", "0", "Juxtaglomerular tumor (C64.9)" ], [ "8370", "0", "Adrenal cortical adenoma, NOS (C74.0)" ], [ "8370", "3", "Adrenal cortical carcinoma (C74.0)" ], [ "8371", "0", "Adrenal cortical adenoma, compact cell (C74.0)" ], [ "8372", "0", "Adrenal cortical adenoma, pigmented (C74.0)" ], [ "8373", "0", "Adrenal cortical adenoma, clear cell (C74.0)" ], [ "8374", "0", "Adrenal cortical adenoma, glomerulosa cell (C74.0)" ], [ "8375", "0", "Adrenal cortical adenoma, mixed cell (C74.0)" ], [ "8380", "0", "Endometrioid adenoma, NOS" ], [ "8380", "1", "Endometrioid adenoma, borderline malignancy" ], [ "8380", "3", "Endometrioid adenocarcinoma, NOS" ], [ "8381", "0", "Endometrioid adenofibroma, NOS" ], [ "8381", "1", "Endometrioid adenofibroma, borderline malignancy" ], [ "8381", "3", "Endometrioid adenofibroma, malignant" ], [ "8382", "3", "Endometrioid adenocarcinoma, secretory variant" ], [ "8383", "3", "Endometrioid adenocarcinoma, ciliated cell variant" ], [ "8384", "3", "Adenocarcinoma, endocervical type" ], [ "8390", "0", "Skin appendage adenoma (C44._)" ], [ "8390", "3", "Skin appendage carcinoma (C44._)" ], [ "8391", "0", "Follicular fibroma (C44._)" ], [ "8392", "0", "Syringofibroadenoma (C44._)" ], [ "8400", "0", "Sweat gland adenoma (C44._)" ], [ "8400", "1", "Sweat gland tumor, NOS (C44._)" ], [ "8400", "3", "Sweat gland adenocarcinoma (C44._)" ], [ "8401", "0", "Apocrine adenoma" ], [ "8401", "3", "Apocrine adenocarcinoma" ], [ "8402", "0", "Nodular hidradenoma (C44._)" ], [ "8402", "3", "Nodular hidradenoma, malignant (C44._)" ], [ "8403", "0", "Eccrine spiradenoma (C44._)" ], [ "8403", "3", "Malignant eccrine spiradenoma (C44._)" ], [ "8404", "0", "Hidrocystoma (C44._)" ], [ "8405", "0", "Papillary hidradenoma" ], [ "8406", "0", "Papillary syringadenoma (C44._)" ], [ "8407", "0", "Syringoma, NOS (C44._)" ], [ "8407", "3", "Sclerosing sweat duct carcinoma (C44._)" ], [ "8408", "0", "Eccrine papillary adenoma (C44._)" ], [ "8408", "1", "Aggressive digital papillary adenoma (C44._)" ], [ "8408", "3", "Eccrine papillary adenocarcinoma (C44._)" ], [ "8409", "0", "Eccrine poroma (C44._)" ], [ "8409", "3", "Eccrine poroma, malignant" ], [ "8410", "0", "Sebaceous adenoma (C44._)" ], [ "8410", "3", "Sebaceous adenocarcinoma (C44._)" ], [ "8413", "3", "Eccrine adenocarcinoma (C44._)" ], [ "8420", "0", "Ceruminous adenoma (C44.2)" ], [ "8420", "3", "Ceruminous adenocarcinoma (C44.2)" ], [ "8430", "1", "Mucoepidermoid tumor [obs]" ], [ "8430", "3", "Mucoepidermoid carcinoma" ], [ "8440", "0", "Cystadenoma, NOS" ], [ "8440", "3", "Cystadenocarcinoma, NOS" ], [ "8441", "0", "Serous cystadenoma, NOS" ], [ "8441", "3", "Serous cystadenocarcinoma, NOS (C56.9)" ], [ "8442", "1", "Serous cystadenoma, borderline malignancy (C56.9)" ], [ "8443", "0", "Clear cell cystadenoma (C56.9)" ], [ "8444", "1", "Clear cell cystic tumor of borderline malignancy (C56.9)" ], [ "8450", "0", "Papillary cystadenoma, NOS (C56.9)" ], [ "8450", "3", "Papillary cystadenocarcinoma, NOS (C56.9)" ], [ "8451", "1", "Papillary cystadenoma, borderline malignancy (C56.9)" ], [ "8452", "1", "Solid pseudopapillary tumor (C25._)" ], [ "8452", "3", "Solid pseudopapillary carcinoma (C25._)" ], [ "8453", "0", "Intraductal papillary-mucinous adenoma (C25._)" ], [ "8453", "1", "Intraductal papillary-mucinous tumor with moderate dysplasia (C25._)" ], [ "8453", "2", "Intraductal papillary-mucinous carcinoma, non-invasive (C25._)" ], [ "8453", "3", "Intraductal papillary-mucinous carcinoma, invasive (C25._)" ], [ "8454", "0", "Cystic tumor of atrio-ventricular node (C38.0)" ], [ "8460", "0", "Papillary serous cystadenoma, NOS (C56.9)" ], [ "8460", "3", "Papillary serous cystadenocarcinoma (C56.9)" ], [ "8461", "0", "Serous surface papilloma (C56.9)" ], [ "8461", "3", "Serous surface papillary carcinoma (C56.9)" ], [ "8462", "1", "Serous papillary cystic tumor of borderline malignancy (C56.9)" ], [ "8463", "1", "Serous surface papillary tumor of borderline malignancy (C56.9)" ], [ "8470", "0", "Mucinous cystadenoma, NOS (C56.9)" ], [ "8470", "1", "Mucinous cystic tumor with moderate dysplasia (C25._)" ], [ "8470", "2", "Mucinous cystadenocarcinoma, non-invasive (C25._)" ], [ "8470", "3", "Mucinous cystadenocarcinoma, NOS (C56.9)" ], [ "8471", "0", "Papillary mucinous cystadenoma, NOS (C56.9)" ], [ "8471", "3", "Papillary mucinous cystadenocarcinoma (C56.9)" ], [ "8472", "1", "Mucinous cystic tumor of borderline malignancy (C56.9)" ], [ "8473", "1", "Papillary mucinous cystadenoma, borderline malignancy (C56.9)" ], [ "8480", "0", "Mucinous adenoma" ], [ "8480", "3", "Mucinous adenocarcinoma" ], [ "8480", "6", "Pseudomyxoma peritonei" ], [ "8481", "3", "Mucin-producing adenocarcinoma" ], [ "8482", "3", "Mucinous adenocarcinoma, endocervical type" ], [ "8490", "3", "Signet ring cell carcinoma" ], [ "8490", "6", "Metastatic signet ring cell carcinoma" ], [ "8500", "2", "Intraductal carcinoma, noninfiltrating, NOS" ], [ "8500", "3", "Infiltrating duct carcinoma, NOS (C50._)" ], [ "8501", "2", "Comedocarcinoma, noninfiltrating (C50._)" ], [ "8501", "3", "Comedocarcinoma, NOS (C50._)" ], [ "8502", "3", "Secretory carcinoma of breast (C50._)" ], [ "8503", "0", "Intraductal papilloma" ], [ "8503", "2", "Noninfiltrating intraductal papillary adenocarcinoma (C50._)" ], [ "8503", "3", "Intraductal papillary adenocarcinoma with invasion (C50._)" ], [ "8504", "0", "Intracystic papillary adenoma" ], [ "8504", "2", "Noninfiltrating intracystic carcinoma" ], [ "8504", "3", "Intracystic carcinoma, NOS" ], [ "8505", "0", "Intraductal papillomatosis, NOS" ], [ "8506", "0", "Adenoma of nipple (C50.0)" ], [ "8507", "2", "Intraductal micropapillary carcinoma (C50._)" ], [ "8508", "3", "Cystic hypersecretory carcinoma (C50._)" ], [ "8510", "3", "Medullary carcinoma, NOS" ], [ "8512", "3", "Medullary carcinoma with lymphoid stroma" ], [ "8513", "3", "Atypical medullary carcinoma (C50._)" ], [ "8514", "3", "Duct carcinoma, desmoplastic type" ], [ "8520", "2", "Lobular carcinoma in situ, NOS (C50._)" ], [ "8520", "3", "Lobular carcinoma, NOS (C50._)" ], [ "8521", "3", "Infiltrating ductular carcinoma (C50._)" ], [ "8522", "2", "Intraductal carcinoma and lobular carcinoma in situ (C50._)" ], [ "8522", "3", "Infiltrating duct and lobular carcinoma (C50._)" ], [ "8523", "3", "Infiltrating duct mixed with other types of carcinoma (C50._)" ], [ "8524", "3", "Infiltrating lobular mixed with other types of carcinoma (C50._)" ], [ "8525", "3", "Polymorphous low grade adenocarcinoma" ], [ "8530", "3", "Inflammatory carcinoma (C50._)" ], [ "8540", "3", "Paget disease, mammary (C50._)" ], [ "8541", "3", "Paget disease and infiltrating duct carcinoma of breast (C50._)" ], [ "8542", "3", "Paget disease, extramammary (except Paget disease of bone)" ], [ "8543", "3", "Paget disease and intraductal carcinoma of breast (C50._)" ], [ "8550", "0", "Acinar cell adenoma" ], [ "8550", "1", "Acinar cell tumor [obs]" ], [ "8550", "3", "Acinar cell carcinoma" ], [ "8551", "3", "Acinar cell cystadenocarcinoma" ], [ "8560", "0", "Mixed squamous cell and glandular papilloma" ], [ "8560", "3", "Adenosquamous carcinoma" ], [ "8561", "0", "Adenolymphoma (C07._, C08._)" ], [ "8562", "3", "Epithelial-myoepithelial carcinoma" ], [ "8570", "3", "Adenocarcinoma with squamous metaplasia" ], [ "8571", "3", "Adenocarcinoma with cartilaginous and osseous metaplasia" ], [ "8572", "3", "Adenocarcinoma with spindle cell metaplasia" ], [ "8573", "3", "Adenocarcinoma with apocrine metaplasia" ], [ "8574", "3", "Adenocarcinoma with neuroendocrine differentiation" ], [ "8575", "3", "Metaplastic carcinoma, NOS" ], [ "8576", "3", "Hepatoid adenocarcinoma" ], [ "8580", "0", "Thymoma, benign (C37.9)" ], [ "8580", "1", "Thymoma, NOS (C37.9)" ], [ "8580", "3", "Thymoma, malignant, NOS (C37.9)" ], [ "8581", "1", "Thymoma, type A, NOS (C37.9)" ], [ "8581", "3", "Thymoma, type A, malignant (C37.9)" ], [ "8582", "1", "Thymoma, type AB, NOS (C37.9)" ], [ "8582", "3", "Thymoma, type AB, malignant (C37.9)" ], [ "8583", "1", "Thymoma, type B1, NOS (C37.9)" ], [ "8583", "3", "Thymoma, type B1, malignant (C37.9)" ], [ "8584", "1", "Thymoma, type B2, NOS (C37.9)" ], [ "8584", "3", "Thymoma, type B2, malignant (C37.9)" ], [ "8585", "1", "Thymoma, type B3, NOS (C37.9)" ], [ "8585", "3", "Thymoma, type B3, malignant (C37.9)" ], [ "8586", "3", "Thymic carcinoma, NOS (C37.9)" ], [ "8587", "0", "Ectopic hamartomatous thymoma" ], [ "8588", "3", "Spindle epithelial tumor with thymus-like element" ], [ "8589", "3", "Carcinoma showing thymus-like element" ], [ "8590", "1", "Sex cord-gonadal stromal tumor, NOS" ], [ "8591", "1", "Sex cord-gonadal stromal tumor, incompletely differentiated" ], [ "8592", "1", "Sex cord-gonadal stromal tumor, mixed forms" ], [ "8593", "1", "Stromal tumor with minor sex cord elements (C56.9)" ], [ "8600", "0", "Thecoma, NOS (C56.9)" ], [ "8600", "3", "Thecoma, malignant (C56.9)" ], [ "8601", "0", "Thecoma, luteinized (C56.9)" ], [ "8602", "0", "Sclerosing stromal tumor (C56.9)" ], [ "8610", "0", "Luteoma, NOS (C56.9)" ], [ "8620", "1", "Granulosa cell tumor, adult type (C56.9)" ], [ "8620", "3", "Granulosa cell tumor, malignant (C56.9)" ], [ "8621", "1", "Granulosa cell-theca cell tumor (C56.9)" ], [ "8622", "1", "Granulosa cell tumor, juvenile (C56.9)" ], [ "8623", "1", "Sex cord tumor with annular tubules (C56.9)" ], [ "8630", "0", "Androblastoma, benign" ], [ "8630", "1", "Androblastoma, NOS" ], [ "8630", "3", "Androblastoma, malignant" ], [ "8631", "0", "Sertoli-Leydig cell tumor, well differentiated" ], [ "8631", "1", "Sertoli-Leydig cell tumor of intermediate differentiation" ], [ "8631", "3", "Sertoli-Leydig cell tumor, poorly differentiated" ], [ "8632", "1", "Gynandroblastoma (C56.9)" ], [ "8633", "1", "Sertoli-Leydig cell tumor, retiform" ], [ "8634", "1", "Sertoli-Leydig cell tumor, intermediate differentiation, with heterologous elements" ], [ "8634", "3", "Sertoli-Leydig cell tumor, poorly differentiated, with heterologous elements" ], [ "8640", "1", "Sertoli cell tumor, NOS" ], [ "8640", "3", "Sertoli cell carcinoma (C62._)" ], [ "8641", "0", "Sertoli cell tumor with lipid storage" ], [ "8642", "1", "Large cell calcifying Sertoli cell tumor" ], [ "8650", "0", "Leydig cell tumor, benign (C62._)" ], [ "8650", "1", "Leydig cell tumor, NOS (C62._)" ], [ "8650", "3", "Leydig cell tumor, malignant (C62._)" ], [ "8660", "0", "Hilus cell tumor (C56.9)" ], [ "8670", "0", "Lipid cell tumor of ovary (C56.9)" ], [ "8670", "3", "Steroid cell tumor, malignant" ], [ "8671", "0", "Adrenal rest tumor" ], [ "8680", "0", "Paraganglioma, benign" ], [ "8680", "1", "Paraganglioma, NOS" ], [ "8680", "3", "Paraganglioma, malignant" ], [ "8681", "1", "Sympathetic paraganglioma" ], [ "8682", "1", "Parasympathetic paraganglioma" ], [ "8683", "0", "Gangliocytic paraganglioma (C17.0)" ], [ "8690", "1", "Glomus jugulare tumor, NOS (C75.5)" ], [ "8691", "1", "Aortic body tumor (C75.5)" ], [ "8692", "1", "Carotid body tumor (C75.4)" ], [ "8693", "1", "Extra-adrenal paraganglioma, NOS" ], [ "8693", "3", "Extra-adrenal paraganglioma, malignant" ], [ "8700", "0", "Pheochromocytoma, NOS (C74.1)" ], [ "8700", "3", "Pheochromocytoma, malignant (C74.1)" ], [ "8710", "3", "Glomangiosarcoma" ], [ "8711", "0", "Glomus tumor, NOS" ], [ "8711", "3", "Glomus tumor, malignant" ], [ "8712", "0", "Glomangioma" ], [ "8713", "0", "Glomangiomyoma" ], [ "8720", "0", "Pigmented nevus, NOS (C44._)" ], [ "8720", "2", "Melanoma in situ" ], [ "8720", "3", "Malignant melanoma, NOS (except juvenile melanoma M-8770/0)" ], [ "8721", "3", "Nodular melanoma (C44._)" ], [ "8722", "0", "Balloon cell nevus (C44._)" ], [ "8722", "3", "Balloon cell melanoma (C44._)" ], [ "8723", "0", "Halo nevus (C44._)" ], [ "8723", "3", "Malignant melanoma, regressing (C44._)" ], [ "8725", "0", "Neuronevus (C44._)" ], [ "8726", "0", "Magnocellular nevus (C69.4)" ], [ "8727", "0", "Dysplastic nevus (C44._)" ], [ "8728", "0", "Diffuse melanocytosis (C70.9)" ], [ "8728", "1", "Meningeal melanocytoma (C70.9)" ], [ "8728", "3", "Meningeal melanomatosis (C70.9)" ], [ "8730", "0", "Nonpigmented nevus (C44._)" ], [ "8730", "3", "Amelanotic melanoma (C44._)" ], [ "8740", "0", "Junctional nevus, NOS (C44._)" ], [ "8740", "3", "Malignant melanoma in junctional nevus (C44._)" ], [ "8741", "2", "Precancerous melanosis, NOS (C44._)" ], [ "8741", "3", "Malignant melanoma in precancerous melanosis (C44._)" ], [ "8742", "2", "Lentigo maligna (C44._)" ], [ "8742", "3", "Lentigo maligna melanoma (C44._)" ], [ "8743", "3", "Superficial spreading melanoma (C44._)" ], [ "8744", "3", "Acral lentiginous melanoma, malignant (C44._)" ], [ "8745", "3", "Desmoplastic melanoma, malignant (C44._)" ], [ "8746", "3", "Mucosal lentiginous melanoma" ], [ "8750", "0", "Intradermal nevus (C44._)" ], [ "8760", "0", "Compound nevus (C44._)" ], [ "8761", "0", "Small congenital nevus (C44._)" ], [ "8761", "1", "Giant pigmented nevus, NOS (C44._)" ], [ "8761", "3", "Malignant melanoma in giant pigmented nevus (C44._)" ], [ "8762", "1", "Proliferative dermal lesion in congenital nevus (C44._)" ], [ "8770", "0", "Epithelioid and spindle cell nevus (C44._)" ], [ "8770", "3", "Mixed epithelioid and spindle cell melanoma" ], [ "8771", "0", "Epithelioid cell nevus (C44._)" ], [ "8771", "3", "Epithelioid cell melanoma" ], [ "8772", "0", "Spindle cell nevus, NOS (C44._)" ], [ "8772", "3", "Spindle cell melanoma, NOS" ], [ "8773", "3", "Spindle cell melanoma, type A (C69._)" ], [ "8774", "3", "Spindle cell melanoma, type B (C69._)" ], [ "8780", "0", "Blue nevus, NOS (C44._)" ], [ "8780", "3", "Blue nevus, malignant (C44._)" ], [ "8790", "0", "Cellular blue nevus (C44._)" ], [ "8800", "0", "Soft tissue tumor, benign" ], [ "8800", "3", "Sarcoma, NOS" ], [ "8800", "9", "Sarcomatosis, NOS" ], [ "8801", "3", "Spindle cell sarcoma" ], [ "8802", "3", "Giant cell sarcoma (except of bone M-9250/3)" ], [ "8803", "3", "Small cell sarcoma" ], [ "8804", "3", "Epithelioid sarcoma" ], [ "8805", "3", "Undifferentiated sarcoma" ], [ "8806", "3", "Desmoplastic small round cell tumor" ], [ "8810", "0", "Fibroma, NOS" ], [ "8810", "1", "Cellular fibroma (C56.9)" ], [ "8810", "3", "Fibrosarcoma, NOS" ], [ "8811", "0", "Fibromyxoma" ], [ "8811", "3", "Fibromyxosarcoma" ], [ "8812", "0", "Periosteal fibroma (C40._, C41._)" ], [ "8812", "3", "Periosteal fibrosarcoma (C40._, C41._)" ], [ "8813", "0", "Fascial fibroma" ], [ "8813", "3", "Fascial fibrosarcoma" ], [ "8814", "3", "Infantile fibrosarcoma" ], [ "8815", "0", "Solitary fibrous tumor" ], [ "8815", "3", "Solitary fibrous tumor, malignant" ], [ "8820", "0", "Elastofibroma" ], [ "8821", "1", "Aggressive fibromatosis" ], [ "8822", "1", "Abdominal fibromatosis" ], [ "8823", "0", "Desmoplastic fibroma" ], [ "8824", "0", "Myofibroma" ], [ "8824", "1", "Myofibromatosis" ], [ "8825", "0", "Myofibroblastoma" ], [ "8825", "1", "Myofibroblastic tumor, NOS" ], [ "8826", "0", "Angiomyofibroblastoma" ], [ "8827", "1", "Myofibroblastic tumor, peribronchial (C34._)" ], [ "8830", "0", "Benign fibrous histiocytoma" ], [ "8830", "1", "Atypical fibrous histiocytoma" ], [ "8830", "3", "Malignant fibrous histiocytoma" ], [ "8831", "0", "Histiocytoma, NOS" ], [ "8832", "0", "Dermatofibroma, NOS (C44._)" ], [ "8832", "3", "Dermatofibrosarcoma, NOS (C44._)" ], [ "8833", "3", "Pigmented dermatofibrosarcoma protuberans (C44._)" ], [ "8834", "1", "Giant cell fibroblastoma" ], [ "8835", "1", "Plexiform fibrohistiocytic tumor" ], [ "8836", "1", "Angiomatoid fibrous histiocytoma" ], [ "8840", "0", "Myxoma, NOS" ], [ "8840", "3", "Myxosarcoma" ], [ "8841", "1", "Angiomyxoma" ], [ "8842", "0", "Ossifying fibromyxoid tumor" ], [ "8850", "0", "Lipoma, NOS" ], [ "8850", "1", "Atypical lipoma" ], [ "8850", "3", "Liposarcoma, NOS" ], [ "8851", "0", "Fibrolipoma" ], [ "8851", "3", "Liposarcoma, well differentiated" ], [ "8852", "0", "Fibromyxolipoma" ], [ "8852", "3", "Myxoid liposarcoma" ], [ "8853", "3", "Round cell liposarcoma" ], [ "8854", "0", "Pleomorphic lipoma" ], [ "8854", "3", "Pleomorphic liposarcoma" ], [ "8855", "3", "Mixed liposarcoma" ], [ "8856", "0", "Intramuscular lipoma" ], [ "8857", "0", "Spindle cell lipoma" ], [ "8857", "3", "Fibroblastic liposarcoma" ], [ "8858", "3", "Dedifferentiated liposarcoma" ], [ "8860", "0", "Angiomyolipoma" ], [ "8861", "0", "Angiolipoma, NOS" ], [ "8862", "0", "Chondroid lipoma" ], [ "8870", "0", "Myelolipoma" ], [ "8880", "0", "Hibernoma" ], [ "8881", "0", "Lipoblastomatosis" ], [ "8890", "0", "Leiomyoma, NOS" ], [ "8890", "1", "Leiomyomatosis, NOS" ], [ "8890", "3", "Leiomyosarcoma, NOS" ], [ "8891", "0", "Epithelioid leiomyoma" ], [ "8891", "3", "Epithelioid leiomyosarcoma" ], [ "8892", "0", "Cellular leiomyoma" ], [ "8893", "0", "Bizarre leiomyoma" ], [ "8894", "0", "Angiomyoma" ], [ "8894", "3", "Angiomyosarcoma" ], [ "8895", "0", "Myoma" ], [ "8895", "3", "Myosarcoma" ], [ "8896", "3", "Myxoid leiomyosarcoma" ], [ "8897", "1", "Smooth muscle tumor of uncertain malignant potential" ], [ "8898", "1", "Metastasizing leiomyoma" ], [ "8900", "0", "Rhabdomyoma, NOS" ], [ "8900", "3", "Rhabdomyosarcoma, NOS" ], [ "8901", "3", "Pleomorphic rhabdomyosarcoma, adult type" ], [ "8902", "3", "Mixed type rhabdomyosarcoma" ], [ "8903", "0", "Fetal rhabdomyoma" ], [ "8904", "0", "Adult rhabdomyoma" ], [ "8905", "0", "Genital rhabdomyoma (C51._, C52.9)" ], [ "8910", "3", "Embryonal rhabdomyosarcoma, NOS" ], [ "8912", "3", "Spindle cell rhabdomyosarcoma" ], [ "8920", "3", "Alveolar rhabdomyosarcoma" ], [ "8921", "3", "Rhabdomyosarcoma with ganglionic differentiation" ], [ "8930", "0", "Endometrial stromal nodule (C54.1)" ], [ "8930", "3", "Endometrial stromal sarcoma, NOS (C54.1)" ], [ "8931", "3", "Endometrial stromal sarcoma, low grade (C54.1)" ], [ "8932", "0", "Adenomyoma" ], [ "8933", "3", "Adenosarcoma" ], [ "8934", "3", "Carcinofibroma" ], [ "8935", "0", "Stromal tumor, benign" ], [ "8935", "1", "Stromal tumor, NOS" ], [ "8935", "3", "Stromal sarcoma, NOS" ], [ "8936", "0", "Gastrointestinal stromal tumor, benign" ], [ "8936", "1", "Gastrointestinal stromal tumor, NOS" ], [ "8936", "3", "Gastrointestinal stromal sarcoma" ], [ "8940", "0", "Pleomorphic adenoma" ], [ "8940", "3", "Mixed tumor, malignant, NOS" ], [ "8941", "3", "Carcinoma in pleomorphic adenoma (C07._, C08._)" ], [ "8950", "3", "Mullerian mixed tumor (C54._)" ], [ "8951", "3", "Mesodermal mixed tumor" ], [ "8959", "0", "Benign cystic nephroma (C64.9)" ], [ "8959", "1", "Cystic partially differentiated nephroblastoma (C64.9)" ], [ "8959", "3", "Malignant cystic nephroma (C64.9)" ], [ "8960", "1", "Mesoblastic nephroma" ], [ "8960", "3", "Nephroblastoma, NOS (C64.9)" ], [ "8963", "3", "Malignant rhabdoid tumor" ], [ "8964", "3", "Clear cell sarcoma of kidney (C64.9)" ], [ "8965", "0", "Nephrogenic adenofibroma (C64.9)" ], [ "8966", "0", "Renomedullary interstitial cell tumor (C64.9)" ], [ "8967", "0", "Ossifying renal tumor (C64.9)" ], [ "8970", "3", "Hepatoblastoma (C22.0)" ], [ "8971", "3", "Pancreatoblastoma (C25._)" ], [ "8972", "3", "Pulmonary blastoma (C34._)" ], [ "8973", "3", "Pleuropulmonary blastoma" ], [ "8974", "1", "Sialoblastoma" ], [ "8980", "3", "Carcinosarcoma, NOS" ], [ "8981", "3", "Carcinosarcoma, embryonal" ], [ "8982", "0", "Myoepithelioma" ], [ "8982", "3", "Malignant myoepithelioma" ], [ "8983", "0", "Adenomyoepithelioma (C50._)" ], [ "8990", "0", "Mesenchymoma, benign" ], [ "8990", "1", "Mesenchymoma, NOS" ], [ "8990", "3", "Mesenchymoma, malignant" ], [ "8991", "3", "Embryonal sarcoma" ], [ "9000", "0", "Brenner tumor, NOS (C56.9)" ], [ "9000", "1", "Brenner tumor, borderline malignancy (C56.9)" ], [ "9000", "3", "Brenner tumor, malignant (C56.9)" ], [ "9010", "0", "Fibroadenoma, NOS (C50._)" ], [ "9011", "0", "Intracanalicular fibroadenoma (C50._)" ], [ "9012", "0", "Pericanalicular fibroadenoma (C50._)" ], [ "9013", "0", "Adenofibroma, NOS" ], [ "9014", "0", "Serous adenofibroma, NOS" ], [ "9014", "1", "Serous adenofibroma of borderline malignancy" ], [ "9014", "3", "Serous adenocarcinofibroma" ], [ "9015", "0", "Mucinous adenofibroma, NOS" ], [ "9015", "1", "Mucinous adenofibroma of borderline malignancy" ], [ "9015", "3", "Mucinous adenocarcinofibroma" ], [ "9016", "0", "Giant fibroadenoma (C50._)" ], [ "9020", "0", "Phyllodes tumor, benign (C50._)" ], [ "9020", "1", "Phyllodes tumor, borderline (C50._)" ], [ "9020", "3", "Phyllodes tumor, malignant (C50._)" ], [ "9030", "0", "Juvenile fibroadenoma (C50._)" ], [ "9040", "0", "Synovioma, benign" ], [ "9040", "3", "Synovial sarcoma, NOS" ], [ "9041", "3", "Synovial sarcoma, spindle cell" ], [ "9042", "3", "Synovial sarcoma, epithelioid cell" ], [ "9043", "3", "Synovial sarcoma, biphasic" ], [ "9044", "3", "Clear cell sarcoma, NOS (except of kidney M-8964/3)" ], [ "9050", "0", "Mesothelioma, benign" ], [ "9050", "3", "Mesothelioma, malignant" ], [ "9051", "0", "Fibrous mesothelioma, benign" ], [ "9051", "3", "Fibrous mesothelioma, malignant" ], [ "9052", "0", "Epithelioid mesothelioma, benign" ], [ "9052", "3", "Epithelioid mesothelioma, malignant" ], [ "9053", "3", "Mesothelioma, biphasic, malignant" ], [ "9054", "0", "Adenomatoid tumor, NOS" ], [ "9055", "0", "Multicystic mesothelioma, benign" ], [ "9055", "1", "Cystic mesothelioma, NOS (C48._)" ], [ "9060", "3", "Dysgerminoma" ], [ "9061", "3", "Seminoma, NOS (C62._)" ], [ "9062", "3", "Seminoma, anaplastic (C62._)" ], [ "9063", "3", "Spermatocytic seminoma (C62._)" ], [ "9064", "2", "Intratubular malignant germ cells (C62._)" ], [ "9064", "3", "Germinoma" ], [ "9065", "3", "Germ cell tumor, nonseminomatous (C62._)" ], [ "9070", "3", "Embryonal carcinoma, NOS" ], [ "9071", "3", "Yolk sac tumor" ], [ "9072", "3", "Polyembryoma" ], [ "9073", "1", "Gonadoblastoma" ], [ "9080", "0", "Teratoma, benign" ], [ "9080", "1", "Teratoma, NOS" ], [ "9080", "3", "Teratoma, malignant, NOS" ], [ "9081", "3", "Teratocarcinoma" ], [ "9082", "3", "Malignant teratoma, undifferentiated" ], [ "9083", "3", "Malignant teratoma, intermediate" ], [ "9084", "0", "Dermoid cyst, NOS" ], [ "9084", "3", "Teratoma with malignant transformation" ], [ "9085", "3", "Mixed germ cell tumor" ], [ "9090", "0", "Struma ovarii, NOS (C56.9)" ], [ "9090", "3", "Struma ovarii, malignant (C56.9)" ], [ "9091", "1", "Strumal carcinoid (C56.9)" ], [ "9100", "0", "Hydatidiform mole, NOS (C58.9)" ], [ "9100", "1", "Invasive hydatidiform mole (C58.9)" ], [ "9100", "3", "Choriocarcinoma, NOS" ], [ "9101", "3", "Choriocarcinoma combined with other germ cell elements" ], [ "9102", "3", "Malignant teratoma, trophoblastic" ], [ "9103", "0", "Partial hydatidiform mole (C58.9)" ], [ "9104", "1", "Placental site trophoblastic tumor (C58.9)" ], [ "9105", "3", "Trophoblastic tumor, epithelioid" ], [ "9110", "0", "Mesonephroma, benign" ], [ "9110", "1", "Mesonephric tumor, NOS" ], [ "9110", "3", "Mesonephroma, malignant" ], [ "9120", "0", "Hemangioma, NOS" ], [ "9120", "3", "Hemangiosarcoma" ], [ "9121", "0", "Cavernous hemangioma" ], [ "9122", "0", "Venous hemangioma" ], [ "9123", "0", "Racemose hemangioma" ], [ "9124", "3", "Kupffer cell sarcoma (C22.0)" ], [ "9125", "0", "Epithelioid hemangioma" ], [ "9130", "0", "Hemangioendothelioma, benign" ], [ "9130", "1", "Hemangioendothelioma, NOS" ], [ "9130", "3", "Hemangioendothelioma, malignant" ], [ "9131", "0", "Capillary hemangioma" ], [ "9132", "0", "Intramuscular hemangioma" ], [ "9133", "1", "Epithelioid hemangioendothelioma, NOS" ], [ "9133", "3", "Epithelioid hemangioendothelioma, malignant" ], [ "9135", "1", "Endovascular papillary angioendothelioma" ], [ "9136", "1", "Spindle cell hemangioendothelioma" ], [ "9140", "3", "Kaposi sarcoma" ], [ "9141", "0", "Angiokeratoma" ], [ "9142", "0", "Verrucous keratotic hemangioma" ], [ "9150", "0", "Hemangiopericytoma, benign" ], [ "9150", "1", "Hemangiopericytoma, NOS" ], [ "9150", "3", "Hemangiopericytoma, malignant" ], [ "9160", "0", "Angiofibroma, NOS" ], [ "9161", "0", "Acquired tufted hemangioma" ], [ "9161", "1", "Hemangioblastoma" ], [ "9170", "0", "Lymphangioma, NOS" ], [ "9170", "3", "Lymphangiosarcoma" ], [ "9171", "0", "Capillary lymphangioma" ], [ "9172", "0", "Cavernous lymphangioma" ], [ "9173", "0", "Cystic lymphangioma" ], [ "9174", "0", "Lymphangiomyoma" ], [ "9174", "1", "Lymphangiomyomatosis" ], [ "9175", "0", "Hemolymphangioma" ], [ "9180", "0", "Osteoma, NOS (C40._, C41._)" ], [ "9180", "3", "Osteosarcoma, NOS (C40._, C41._)" ], [ "9181", "3", "Chondroblastic osteosarcoma (C40._, C41._)" ], [ "9182", "3", "Fibroblastic osteosarcoma (C40._, C41._)" ], [ "9183", "3", "Telangiectatic osteosarcoma (C40._, C41._)" ], [ "9184", "3", "Osteosarcoma in Paget disease of bone (C40._, C41._)" ], [ "9185", "3", "Small cell osteosarcoma (C40._, C41._)" ], [ "9186", "3", "Central osteosarcoma (C40._, C41._)" ], [ "9187", "3", "Intraosseous well differentiated osteosarcoma (C40._, C41._)" ], [ "9191", "0", "Osteoid osteoma, NOS (C40._, C41._)" ], [ "9192", "3", "Parosteal osteosarcoma (C40._, C41._)" ], [ "9193", "3", "Periosteal osteosarcoma (C40._, C41._)" ], [ "9194", "3", "High grade surface osteosarcoma (C40._, C41._)" ], [ "9195", "3", "Intracortical osteosarcoma (C40._, C41._)" ], [ "9200", "0", "Osteoblastoma, NOS (C40._, C41._)" ], [ "9200", "1", "Aggressive osteoblastoma (C40._, C41._)" ], [ "9210", "0", "Osteochondroma (C40._, C41._)" ], [ "9210", "1", "Osteochondromatosis, NOS (C40._, C41._)" ], [ "9220", "0", "Chondroma, NOS (C40._, C41._)" ], [ "9220", "1", "Chondromatosis, NOS" ], [ "9220", "3", "Chondrosarcoma, NOS (C40._, C41._)" ], [ "9221", "0", "Juxtacortical chondroma (C40._, C41._)" ], [ "9221", "3", "Juxtacortical chondrosarcoma (C40._, C41._)" ], [ "9230", "0", "Chondroblastoma, NOS (C40._, C41._)" ], [ "9230", "3", "Chondroblastoma, malignant (C40._, C41._)" ], [ "9231", "3", "Myxoid chondrosarcoma" ], [ "9240", "3", "Mesenchymal chondrosarcoma" ], [ "9241", "0", "Chondromyxoid fibroma (C40._, C41._)" ], [ "9242", "3", "Clear cell chondrosarcoma (C40._, C41._)" ], [ "9243", "3", "Dedifferentiated chondrosarcoma (C40._, C41._)" ], [ "9250", "1", "Giant cell tumor of bone, NOS (C40._, C41._)" ], [ "9250", "3", "Giant cell tumor of bone, malignant (C40._, C41._)" ], [ "9251", "1", "Giant cell tumor of soft parts, NOS" ], [ "9251", "3", "Malignant giant cell tumor of soft parts" ], [ "9252", "0", "Tenosynovial giant cell tumor (C49._)" ], [ "9252", "3", "Malignant tenosynovial giant cell tumor (C49._)" ], [ "9260", "3", "Ewing sarcoma" ], [ "9261", "3", "Adamantinoma of long bones (C40._)" ], [ "9262", "0", "Ossifying fibroma" ], [ "9270", "0", "Odontogenic tumor, benign" ], [ "9270", "1", "Odontogenic tumor, NOS" ], [ "9270", "3", "Odontogenic tumor, malignant" ], [ "9271", "0", "Ameloblastic fibrodentinoma" ], [ "9272", "0", "Cementoma, NOS" ], [ "9273", "0", "Cementoblastoma, benign" ], [ "9274", "0", "Cementifying fibroma" ], [ "9275", "0", "Gigantiform cementoma" ], [ "9280", "0", "Odontoma, NOS" ], [ "9281", "0", "Compound odontoma" ], [ "9282", "0", "Complex odontoma" ], [ "9290", "0", "Ameloblastic fibro-odontoma" ], [ "9290", "3", "Ameloblastic odontosarcoma" ], [ "9300", "0", "Adenomatoid odontogenic tumor" ], [ "9301", "0", "Calcifying odontogenic cyst" ], [ "9302", "0", "Odontogenic ghost cell tumor" ], [ "9310", "0", "Ameloblastoma, NOS" ], [ "9310", "3", "Ameloblastoma, malignant" ], [ "9311", "0", "Odontoameloblastoma" ], [ "9312", "0", "Squamous odontogenic tumor" ], [ "9320", "0", "Odontogenic myxoma" ], [ "9321", "0", "Central odontogenic fibroma" ], [ "9322", "0", "Peripheral odontogenic fibroma" ], [ "9330", "0", "Ameloblastic fibroma" ], [ "9330", "3", "Ameloblastic fibrosarcoma" ], [ "9340", "0", "Calcifying epithelial odontogenic tumor" ], [ "9341", "1", "Clear cell odontogenic tumor" ], [ "9342", "3", "Odontogenic carcinosarcoma" ], [ "9350", "1", "Craniopharyngioma (C75.2)" ], [ "9351", "1", "Craniopharyngioma, adamantinomatous (C75.2)" ], [ "9352", "1", "Craniopharyngioma, papillary (C75.2)" ], [ "9360", "1", "Pinealoma (C75.3)" ], [ "9361", "1", "Pineocytoma (C75.3)" ], [ "9362", "3", "Pineoblastoma (C75.3)" ], [ "9363", "0", "Melanotic neuroectodermal tumor" ], [ "9364", "3", "Peripheral neuroectodermal tumor" ], [ "9365", "3", "Askin tumor" ], [ "9370", "3", "Chordoma, NOS" ], [ "9371", "3", "Chondroid chordoma" ], [ "9372", "3", "Dedifferentiated chordoma" ], [ "9373", "0", "Parachordoma" ], [ "9380", "3", "Glioma, malignant (C71._)" ], [ "9381", "3", "Gliomatosis cerebri (C71._)" ], [ "9382", "3", "Mixed glioma (C71._)" ], [ "9383", "1", "Subependymoma (C71._)" ], [ "9384", "1", "Subependymal giant cell astrocytoma (C71._)" ], [ "9390", "0", "Choroid plexus papilloma, NOS (C71.5)" ], [ "9390", "1", "Atypical choroid plexus papilloma (C71.5)" ], [ "9390", "3", "Choroid plexus carcinoma (C71.5)" ], [ "9391", "3", "Ependymoma, NOS (C71._)" ], [ "9392", "3", "Ependymoma, anaplastic (C71._)" ], [ "9393", "3", "Papillary ependymoma (C71._)" ], [ "9394", "1", "Myxopapillary ependymoma (C72.0)" ], [ "9400", "3", "Astrocytoma, NOS (C71._)" ], [ "9401", "3", "Astrocytoma, anaplastic (C71._)" ], [ "9410", "3", "Protoplasmic astrocytoma (C71._)" ], [ "9411", "3", "Gemistocytic astrocytoma (C71._)" ], [ "9412", "1", "Desmoplastic infantile astrocytoma (C71._)" ], [ "9413", "0", "Dysembryoplastic neuroepithelial tumor" ], [ "9420", "3", "Fibrillary astrocytoma (C71._)" ], [ "9421", "1", "Pilocytic astrocytoma (C71._)" ], [ "9423", "3", "Polar spongioblastoma (C71._)" ], [ "9424", "3", "Pleomorphic xanthoastrocytoma (C71._)" ], [ "9430", "3", "Astroblastoma (C71._)" ], [ "9440", "3", "Glioblastoma, NOS (C71._)" ], [ "9441", "3", "Giant cell glioblastoma (C71._)" ], [ "9442", "1", "Gliofibroma (C71._)" ], [ "9442", "3", "Gliosarcoma (C71._)" ], [ "9444", "1", "Chordoid glioma (C71._)" ], [ "9450", "3", "Oligodendroglioma, NOS (C71._)" ], [ "9451", "3", "Oligodendroglioma, anaplastic (C71._)" ], [ "9460", "3", "Oligodendroblastoma (C71._) [obs]" ], [ "9470", "3", "Medulloblastoma, NOS (C71.6)" ], [ "9471", "3", "Desmoplastic nodular medulloblastoma (C71.6)" ], [ "9472", "3", "Medullomyoblastoma (C71.6)" ], [ "9473", "3", "Primitive neuroectodermal tumor, NOS" ], [ "9474", "3", "Large cell medulloblastoma (C71.6)" ], [ "9480", "3", "Cerebellar sarcoma, NOS (C71.6) [obs]" ], [ "9490", "0", "Ganglioneuroma" ], [ "9490", "3", "Ganglioneuroblastoma" ], [ "9491", "0", "Ganglioneuromatosis" ], [ "9492", "0", "Gangliocytoma" ], [ "9493", "0", "Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" ], [ "9500", "3", "Neuroblastoma, NOS" ], [ "9501", "0", "Medulloepithelioma, benign (C69.4)" ], [ "9501", "3", "Medulloepithelioma, NOS" ], [ "9502", "0", "Teratoid medulloepithelioma, benign (C69.4)" ], [ "9502", "3", "Teratoid medulloepithelioma" ], [ "9503", "3", "Neuroepithelioma, NOS" ], [ "9504", "3", "Spongioneuroblastoma" ], [ "9505", "1", "Ganglioglioma, NOS" ], [ "9505", "3", "Ganglioglioma, anaplastic" ], [ "9506", "1", "Central neurocytoma" ], [ "9507", "0", "Pacinian tumor" ], [ "9508", "3", "Atypical teratoid/rhabdoid tumor (C71._)" ], [ "9510", "0", "Retinocytoma (C69.2)" ], [ "9510", "3", "Retinoblastoma, NOS (C69.2)" ], [ "9511", "3", "Retinoblastoma, differentiated (C69.2)" ], [ "9512", "3", "Retinoblastoma, undifferentiated (C69.2)" ], [ "9513", "3", "Retinoblastoma, diffuse (C69.2)" ], [ "9514", "1", "Retinoblastoma, spontaneously regressed (C69.2)" ], [ "9520", "3", "Olfactory neurogenic tumor" ], [ "9521", "3", "Olfactory neurocytoma (C30.0)" ], [ "9522", "3", "Olfactory neuroblastoma (C30.0)" ], [ "9523", "3", "Olfactory neuroepithelioma (C30.0)" ], [ "9530", "0", "Meningioma, NOS" ], [ "9530", "1", "Meningiomatosis, NOS" ], [ "9530", "3", "Meningioma, malignant" ], [ "9531", "0", "Meningothelial meningioma" ], [ "9532", "0", "Fibrous meningioma" ], [ "9533", "0", "Psammomatous meningioma" ], [ "9534", "0", "Angiomatous meningioma" ], [ "9535", "0", "Hemangioblastic meningioma [obs]" ], [ "9537", "0", "Transitional meningioma" ], [ "9538", "1", "Clear cell meningioma" ], [ "9538", "3", "Papillary meningioma" ], [ "9539", "1", "Atypical meningioma" ], [ "9539", "3", "Meningeal sarcomatosis" ], [ "9540", "0", "Neurofibroma, NOS" ], [ "9540", "1", "Neurofibromatosis, NOS" ], [ "9540", "3", "Malignant peripheral nerve sheath tumor" ], [ "9541", "0", "Melanotic neurofibroma" ], [ "9550", "0", "Plexiform neurofibroma" ], [ "9560", "0", "Neurilemoma, NOS" ], [ "9560", "1", "Neurinomatosis" ], [ "9560", "3", "Neurilemoma, malignant [obs]" ], [ "9561", "3", "Malignant peripheral nerve sheath tumor with rhabdomyoblastic differentiation" ], [ "9562", "0", "Neurothekeoma" ], [ "9570", "0", "Neuroma, NOS" ], [ "9571", "0", "Perineurioma, NOS" ], [ "9571", "3", "Perineurioma, malignant" ], [ "9580", "0", "Granular cell tumor, NOS" ], [ "9580", "3", "Granular cell tumor, malignant" ], [ "9581", "3", "Alveolar soft part sarcoma" ], [ "9582", "0", "Granular cell tumor of the sellar region (C75.1)" ], [ "9590", "3", "Malignant lymphoma, NOS" ], [ "9591", "3", "Malignant lymphoma, non-Hodgkin, NOS" ], [ "9596", "3", "Composite Hodgkin and non-Hodgkin lymphoma" ], [ "9650", "3", "Hodgkin lymphoma, NOS" ], [ "9651", "3", "Hodgkin lymphoma, lymphocyte-rich" ], [ "9652", "3", "Hodgkin lymphoma, mixed cellularity, NOS" ], [ "9653", "3", "Hodgkin lymphoma, lymphocyte depletion, NOS" ], [ "9654", "3", "Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" ], [ "9655", "3", "Hodgkin lymphoma, lymphocyte depletion, reticular" ], [ "9659", "3", "Hodgkin lymphoma, nodular lymphocyte predominance" ], [ "9661", "3", "Hodgkin granuloma [obs]" ], [ "9662", "3", "Hodgkin sarcoma [obs]" ], [ "9663", "3", "Hodgkin lymphoma, nodular sclerosis, NOS" ], [ "9664", "3", "Hodgkin lymphoma, nodular sclerosis, cellular phase" ], [ "9665", "3", "Hodgkin lymphoma, nodular sclerosis, grade 1" ], [ "9667", "3", "Hodgkin lymphoma, nodular sclerosis, grade 2" ], [ "9673", "3", "Mantle cell lymphoma" ], [ "9675", "3", "Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" ], [ "9678", "3", "Primary effusion lymphoma" ], [ "9679", "3", "Mediastinal large B-cell lymphoma (C38.3)" ], [ "9680", "3", "Malignant lymphoma, large B-cell, diffuse, NOS" ], [ "9684", "3", "Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" ], [ "9687", "3", "Burkitt lymphoma, NOS (see also M-9826/3)" ], [ "9689", "3", "Splenic marginal zone B-cell lymphoma (C42.2)" ], [ "9690", "3", "Follicular lymphoma, NOS (see also M-9675/3)" ], [ "9691", "3", "Follicular lymphoma, grade 2" ], [ "9695", "3", "Follicular lymphoma, grade 1" ], [ "9698", "3", "Follicular lymphoma, grade 3" ], [ "9699", "3", "Marginal zone B-cell lymphoma, NOS" ], [ "9702", "3", "Mature T-cell lymphoma, NOS" ], [ "9705", "3", "Angioimmunoblastic T-cell lymphoma" ], [ "9708", "3", "Subcutaneous panniculitis-like T-cell lymphoma" ], [ "9709", "3", "Cutaneous T-cell lymphoma, NOS (C44._)" ], [ "9714", "3", "Anaplastic large cell lymphoma, T cell and Null cell type" ], [ "9716", "3", "Hepatosplenic ?? (gamma-delta) cell lymphoma" ], [ "9717", "3", "Intestinal T-cell lymphoma" ], [ "9718", "3", "Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" ], [ "9719", "3", "NK/T-cell lymphoma, nasal and nasal-type" ], [ "9727", "3", "Precursor cell lymphoblastic lymphoma, NOS (see also M-9835/3)" ], [ "9728", "3", "Precursor B-cell lymphoblastic lymphoma (see also M-9836/3)" ], [ "9729", "3", "Precursor T-cell lymphoblastic lymphoma (see also M-9837/3)" ], [ "9731", "3", "Plasmacytoma, NOS" ], [ "9732", "3", "Multiple myeloma (C42.1)" ], [ "9733", "3", "Plasma cell leukemia (C42.1)" ], [ "9734", "3", "Plasmacytoma, extramedullary (not occurring in bone)" ], [ "9740", "1", "Mastocytoma, NOS" ], [ "9740", "3", "Mast cell sarcoma" ], [ "9741", "3", "Malignant mastocytosis" ], [ "9742", "3", "Mast cell leukemia (C42.1)" ], [ "9750", "3", "Malignant histiocytosis" ], [ "9751", "1", "Langerhans cell histiocytosis, NOS" ], [ "9752", "1", "Langerhans cell histiocytosis, unifocal" ], [ "9753", "1", "Langerhans cell histiocytosis, multifocal" ], [ "9754", "3", "Langerhans cell histiocytosis, disseminated" ], [ "9755", "3", "Histiocytic sarcoma" ], [ "9756", "3", "Langerhans cell sarcoma" ], [ "9757", "3", "Interdigitating dendritic cell sarcoma" ], [ "9758", "3", "Follicular dendritic cell sarcoma" ], [ "9760", "3", "Immunoproliferative disease, NOS" ], [ "9761", "3", "Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" ], [ "9762", "3", "Heavy chain disease, NOS" ], [ "9764", "3", "Immunoproliferative small intestinal disease (C17._)" ], [ "9765", "1", "Monoclonal gammopathy of undetermined significance" ], [ "9766", "1", "Angiocentric immunoproliferative lesion" ], [ "9767", "1", "Angioimmunoblastic lymphadenopathy" ], [ "9768", "1", "T-gamma lymphoproliferative disease" ], [ "9769", "1", "Immunoglobulin deposition disease" ], [ "9800", "3", "Leukemia, NOS" ], [ "9801", "3", "Acute leukemia, NOS" ], [ "9805", "3", "Acute biphenotypic leukemia" ], [ "9820", "3", "Lymphoid leukemia, NOS" ], [ "9823", "3", "B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" ], [ "9826", "3", "Burkitt cell leukemia (see also M-9687/3)" ], [ "9827", "3", "Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" ], [ "9831", "1", "T-cell large granular lymphocytic leukemia" ], [ "9832", "3", "Prolymphocytic leukemia, NOS" ], [ "9833", "3", "Prolymphocytic leukemia, B-cell type" ], [ "9834", "3", "Prolymphocytic leukemia, T-cell type" ], [ "9835", "3", "Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" ], [ "9836", "3", "Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" ], [ "9837", "3", "Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" ], [ "9840", "3", "Acute myeloid leukemia, M6 type" ], [ "9860", "3", "Myeloid leukemia, NOS" ], [ "9861", "3", "Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" ], [ "9863", "3", "Chronic myeloid leukemia, NOS" ], [ "9866", "3", "Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" ], [ "9867", "3", "Acute myelomonocytic leukemia" ], [ "9870", "3", "Acute basophilic leukemia" ], [ "9871", "3", "Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" ], [ "9872", "3", "Acute myeloid leukemia, minimal differentiation" ], [ "9873", "3", "Acute myeloid leukemia without maturation" ], [ "9874", "3", "Acute myeloid leukemia with maturation" ], [ "9875", "3", "Chronic myelogenous leukemia, BCR/ABL positive" ], [ "9876", "3", "Atypical chronic myeloid leukemia, BCR/ABL negative" ], [ "9891", "3", "Acute monocytic leukemia" ], [ "9895", "3", "Acute myeloid leukemia with multilineage dysplasia" ], [ "9896", "3", "Acute myeloid leukemia, t(8;21)(q22;q22)" ], [ "9897", "3", "Acute myeloid leukemia, 11q23 abnormalities" ], [ "9910", "3", "Acute megakaryoblastic leukemia" ], [ "9920", "3", "Therapy-related acute myeloid leukemia, NOS" ], [ "9930", "3", "Myeloid sarcoma (see also M-9861/3)" ], [ "9931", "3", "Acute panmyelosis with myelofibrosis (C42.1)" ], [ "9940", "3", "Hairy cell leukemia (C42.1)" ], [ "9945", "3", "Chronic myelomonocytic leukemia, NOS" ], [ "9946", "3", "Juvenile myelomonocytic leukemia" ], [ "9948", "3", "Aggressive NK-cell leukemia" ], [ "9950", "3", "Polycythemia vera" ], [ "9960", "3", "Chronic myeloproliferative disease, NOS" ], [ "9961", "3", "Myelosclerosis with myeloid metaplasia" ], [ "9962", "3", "Essential thrombocythemia" ], [ "9963", "3", "Chronic neutrophilic leukemia" ], [ "9964", "3", "Hypereosinophilic syndrome" ], [ "9970", "1", "Lymphoproliferative disorder, NOS" ], [ "9975", "1", "Myeloproliferative disease, NOS" ], [ "9980", "3", "Refractory anemia" ], [ "9982", "3", "Refractory anemia with sideroblasts" ], [ "9983", "3", "Refractory anemia with excess blasts" ], [ "9984", "3", "Refractory anemia with excess blasts in transformation [obs]" ], [ "9985", "3", "Refractory cytopenia with multilineage dysplasia" ], [ "9986", "3", "Myelodysplastic syndrome with 5q deletion (5q-) syndrome" ], [ "9987", "3", "Therapy-related myelodysplastic syndrome, NOS" ], [ "9989", "3", "Myelodysplastic syndrome, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pam.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pam.json deleted file mode 100644 index a6031bcea..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pam.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ajcc6_exclusions_pam", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Exclusions", - "title" : "Histology Exclusion Table AJCC 6th ed.", - "notes" : "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. For these cases, displayed results will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified" : "2015-05-27T16:18:47.110Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8000", "0", "Neoplasm, benign" ], [ "8000", "1", "Neoplasm, uncertain whether benign or malignant" ], [ "8000", "3", "Neoplasm, malignant" ], [ "8000", "6", "Neoplasm, metastatic" ], [ "8000", "9", "Neoplasm, malignant, uncertain whether primary or metastatic" ], [ "8001", "0", "Tumor cells, benign" ], [ "8001", "1", "Tumor cells, uncertain whether benign or malignant" ], [ "8001", "3", "Tumor cells, malignant" ], [ "8002", "3", "Malignant tumor, small cell type" ], [ "8003", "3", "Malignant tumor, giant cell type" ], [ "8004", "3", "Malignant tumor, spindle cell type" ], [ "8005", "0", "Clear cell tumor, NOS" ], [ "8005", "3", "Malignant tumor, clear cell type" ], [ "8010", "0", "Epithelial tumor, benign" ], [ "8010", "2", "Carcinoma in situ, NOS" ], [ "8010", "3", "Carcinoma, NOS" ], [ "8010", "6", "Carcinoma, metastatic, NOS" ], [ "8010", "9", "Carcinomatosis" ], [ "8011", "0", "Epithelioma, benign" ], [ "8011", "3", "Epithelioma, malignant" ], [ "8012", "3", "Large cell carcinoma, NOS" ], [ "8013", "3", "Large cell neuroendocrine carcinoma" ], [ "8014", "3", "Large cell carcinoma with rhabdoid phenotype" ], [ "8015", "3", "Glassy cell carcinoma" ], [ "8020", "3", "Carcinoma, undifferentiated, NOS" ], [ "8021", "3", "Carcinoma, anaplastic, NOS" ], [ "8022", "3", "Pleomorphic carcinoma" ], [ "8030", "3", "Giant cell and spindle cell carcinoma" ], [ "8031", "3", "Giant cell carcinoma" ], [ "8032", "3", "Spindle cell carcinoma, NOS" ], [ "8033", "3", "Pseudosarcomatous carcinoma" ], [ "8034", "3", "Polygonal cell carcinoma" ], [ "8035", "3", "Carcinoma with osteoclast-like giant cells" ], [ "8040", "0", "Tumorlet, benign" ], [ "8040", "1", "Tumorlet, NOS" ], [ "8041", "3", "Small cell carcinoma, NOS" ], [ "8042", "3", "Oat cell carcinoma (C34._)" ], [ "8043", "3", "Small cell carcinoma, fusiform cell" ], [ "8044", "3", "Small cell carcinoma, intermediate cell" ], [ "8045", "3", "Combined small cell carcinoma" ], [ "8046", "3", "Non-small cell carcinoma (C34._)" ], [ "8050", "0", "Papilloma, NOS (except papilloma of bladder M-8120/1)" ], [ "8050", "2", "Papillary carcinoma in situ" ], [ "8050", "3", "Papillary carcinoma, NOS" ], [ "8051", "0", "Verrucous papilloma" ], [ "8051", "3", "Verrucous carcinoma, NOS" ], [ "8052", "0", "Squamous cell papilloma, NOS" ], [ "8052", "2", "Papillary squamous cell carcinoma, non-invasive" ], [ "8052", "3", "Papillary squamous cell carcinoma" ], [ "8053", "0", "Squamous cell papilloma, inverted" ], [ "8060", "0", "Squamous papillomatosis" ], [ "8070", "2", "Squamous cell carcinoma in situ, NOS" ], [ "8070", "3", "Squamous cell carcinoma, NOS" ], [ "8070", "6", "Squamous cell carcinoma, metastatic, NOS" ], [ "8071", "3", "Squamous cell carcinoma, keratinizing, NOS" ], [ "8072", "3", "Squamous cell carcinoma, large cell, nonkeratinizing, NOS" ], [ "8073", "3", "Squamous cell carcinoma, small cell, nonkeratinizing" ], [ "8074", "3", "Squamous cell carcinoma, spindle cell" ], [ "8075", "3", "Squamous cell carcinoma, adenoid" ], [ "8076", "2", "Squamous cell carcinoma in situ with questionable stromal invasion" ], [ "8076", "3", "Squamous cell carcinoma, microinvasive" ], [ "8077", "2", "Squamous intraepithelial neoplasia, grade III" ], [ "8078", "3", "Squamous cell carcinoma with horn formation" ], [ "8080", "2", "Queyrat erythroplasia (C60._)" ], [ "8081", "2", "Bowen disease (C44._)" ], [ "8082", "3", "Lymphoepithelial carcinoma" ], [ "8083", "3", "Basaloid squamous cell carcinoma" ], [ "8084", "3", "Squamous cell carcinoma, clear cell type" ], [ "8090", "1", "Basal cell tumor (C44._)" ], [ "8090", "3", "Basal cell carcinoma, NOS (C44._)" ], [ "8091", "3", "Multifocal superficial basal cell carcinoma (C44._)" ], [ "8092", "3", "Infiltrating basal cell carcinoma, NOS (C44._)" ], [ "8093", "3", "Basal cell carcinoma, fibroepithelial (C44._)" ], [ "8094", "3", "Basosquamous carcinoma (C44._)" ], [ "8095", "3", "Metatypical carcinoma (C44._)" ], [ "8096", "0", "Intraepidermal epithelioma of Jadassohn (C44._)" ], [ "8097", "3", "Basal cell carcinoma, nodular (C44._)" ], [ "8098", "3", "Adenoid basal carcinoma (C53._)" ], [ "8100", "0", "Trichoepithelioma (C44._)" ], [ "8101", "0", "Trichofolliculoma (C44._)" ], [ "8102", "0", "Trichilemmoma (C44._)" ], [ "8102", "3", "Trichilemmocarcinoma (C44._)" ], [ "8103", "0", "Pilar tumor (C44._)" ], [ "8110", "0", "Pilomatrixoma, NOS (C44._)" ], [ "8110", "3", "Pilomatrix carcinoma (C44._)" ], [ "8120", "0", "Transitional cell papilloma, benign" ], [ "8120", "1", "Urothelial papilloma, NOS" ], [ "8120", "2", "Transitional cell carcinoma in situ" ], [ "8120", "3", "Transitional cell carcinoma, NOS" ], [ "8121", "0", "Schneiderian papilloma, NOS (C30.0, C31._)" ], [ "8121", "1", "Transitional cell papilloma, inverted, NOS" ], [ "8121", "3", "Schneiderian carcinoma (C30.0, C31._)" ], [ "8122", "3", "Transitional cell carcinoma, spindle cell" ], [ "8123", "3", "Basaloid carcinoma" ], [ "8124", "3", "Cloacogenic carcinoma (C21.2)" ], [ "8130", "1", "Papillary transitional cell neoplasm of low malignant potential (C67._)" ], [ "8130", "2", "Papillary transitional cell carcinoma, non-invasive (C67._)" ], [ "8130", "3", "Papillary transitional cell carcinoma (C67._)" ], [ "8131", "3", "Transitional cell carcinoma, micropapillary (C67._)" ], [ "8140", "0", "Adenoma, NOS" ], [ "8140", "1", "Atypical adenoma" ], [ "8140", "2", "Adenocarcinoma in situ, NOS" ], [ "8140", "3", "Adenocarcinoma, NOS" ], [ "8140", "6", "Adenocarcinoma, metastatic, NOS" ], [ "8141", "3", "Scirrhous adenocarcinoma" ], [ "8142", "3", "Linitis plastica (C16._)" ], [ "8143", "3", "Superficial spreading adenocarcinoma" ], [ "8144", "3", "Adenocarcinoma, intestinal type (C16._)" ], [ "8145", "3", "Carcinoma, diffuse type (C16._)" ], [ "8146", "0", "Monomorphic adenoma" ], [ "8147", "0", "Basal cell adenoma" ], [ "8147", "3", "Basal cell adenocarcinoma" ], [ "8148", "2", "Glandular intraepithelial neoplasia, grade III" ], [ "8149", "0", "Canalicular adenoma" ], [ "8150", "0", "Islet cell adenoma (C25._)" ], [ "8150", "1", "Islet cell tumor, NOS (C25._)" ], [ "8150", "3", "Islet cell carcinoma (C25._)" ], [ "8151", "0", "Insulinoma, NOS (C25._)" ], [ "8151", "3", "Insulinoma, malignant (C25._)" ], [ "8152", "1", "Glucagonoma, NOS (C25._)" ], [ "8152", "3", "Glucagonoma, malignant (C25._)" ], [ "8153", "1", "Gastrinoma, NOS" ], [ "8153", "3", "Gastrinoma, malignant" ], [ "8154", "3", "Mixed islet cell and exocrine adenocarcinoma (C25._)" ], [ "8155", "1", "Vipoma, NOS" ], [ "8155", "3", "Vipoma, malignant" ], [ "8156", "1", "Somatostatinoma, NOS" ], [ "8156", "3", "Somatostatinoma, malignant" ], [ "8157", "1", "Enteroglucagonoma, NOS" ], [ "8157", "3", "Enteroglucagonoma, malignant" ], [ "8160", "0", "Bile duct adenoma (C22.1, C24.0)" ], [ "8160", "3", "Cholangiocarcinoma (C22.1, C24.0)" ], [ "8161", "0", "Bile duct cystadenoma (C22.1, C24.0)" ], [ "8161", "3", "Bile duct cystadenocarcinoma (C22.1, C24.0)" ], [ "8162", "3", "Klatskin tumor (C22.1, C24.0)" ], [ "8170", "0", "Liver cell adenoma (C22.0)" ], [ "8170", "3", "Hepatocellular carcinoma, NOS (C22.0)" ], [ "8171", "3", "Hepatocellular carcinoma, fibrolamellar (C22.0)" ], [ "8172", "3", "Hepatocellular carcinoma, scirrhous (C22.0)" ], [ "8173", "3", "Hepatocellular carcinoma, spindle cell variant (C22.0)" ], [ "8174", "3", "Hepatocellular carcinoma, clear cell type (C22.0)" ], [ "8175", "3", "Hepatocellular carcinoma, pleomorphic type (C22.0)" ], [ "8180", "3", "Combined hepatocellular carcinoma and cholangiocarcinoma (C22.0)" ], [ "8190", "0", "Trabecular adenoma" ], [ "8190", "3", "Trabecular adenocarcinoma" ], [ "8191", "0", "Embryonal adenoma" ], [ "8200", "0", "Eccrine dermal cylindroma (C44._)" ], [ "8200", "3", "Adenoid cystic carcinoma" ], [ "8201", "2", "Cribriform carcinoma in situ (C50._)" ], [ "8201", "3", "Cribriform carcinoma, NOS" ], [ "8202", "0", "Microcystic adenoma (C25._)" ], [ "8204", "0", "Lactating adenoma (C50._)" ], [ "8210", "0", "Adenomatous polyp, NOS" ], [ "8210", "2", "Adenocarcinoma in situ in adenomatous polyp" ], [ "8210", "3", "Adenocarcinoma in adenomatous polyp" ], [ "8211", "0", "Tubular adenoma, NOS" ], [ "8211", "3", "Tubular adenocarcinoma" ], [ "8212", "0", "Flat adenoma" ], [ "8213", "0", "Serrated adenoma (C18._)" ], [ "8214", "3", "Parietal cell carcinoma (C16._)" ], [ "8215", "3", "Adenocarcinoma of anal glands (C21.1)" ], [ "8220", "0", "Adenomatous polyposis coli (C18._)" ], [ "8220", "3", "Adenocarcinoma in adenomatous polyposis coli (C18._)" ], [ "8221", "0", "Multiple adenomatous polyps" ], [ "8221", "3", "Adenocarcinoma in multiple adenomatous polyps" ], [ "8230", "2", "Ductal carcinoma in situ, solid type (C50._)" ], [ "8230", "3", "Solid carcinoma, NOS" ], [ "8231", "3", "Carcinoma simplex" ], [ "8240", "1", "Carcinoid tumor of uncertain malignant potential" ], [ "8240", "3", "Carcinoid tumor, NOS (except of appendix M-8240/1)" ], [ "8241", "3", "Enterochromaffin cell carcinoid" ], [ "8242", "1", "Enterochromaffin-like cell carcinoid, NOS" ], [ "8242", "3", "Enterochromaffin-like cell tumor, malignant" ], [ "8243", "3", "Goblet cell carcinoid" ], [ "8244", "3", "Composite carcinoid" ], [ "8245", "1", "Tubular carcinoid" ], [ "8245", "3", "Adenocarcinoid tumor" ], [ "8246", "3", "Neuroendocrine carcinoma, NOS" ], [ "8247", "3", "Merkel cell carcinoma (C44._)" ], [ "8248", "1", "Apudoma" ], [ "8249", "3", "Atypical carcinoid tumor" ], [ "8250", "1", "Pulmonary adenomatosis (C34._)" ], [ "8250", "3", "Bronchiolo-alveolar adenocarcinoma, NOS (C34._)" ], [ "8251", "0", "Alveolar adenoma (C34._)" ], [ "8251", "3", "Alveolar adenocarcinoma (C34._)" ], [ "8252", "3", "Bronchiolo-alveolar carcinoma, non-mucinous (C34._)" ], [ "8253", "3", "Bronchiolo-alveolar carcinoma, mucinous (C34._)" ], [ "8254", "3", "Bronchiolo-alveolar carcinoma, mixed mucinous and non-mucinous (C34._)" ], [ "8255", "3", "Adenocarcinoma with mixed subtypes" ], [ "8260", "0", "Papillary adenoma, NOS" ], [ "8260", "3", "Papillary adenocarcinoma, NOS" ], [ "8261", "0", "Villous adenoma, NOS" ], [ "8261", "2", "Adenocarcinoma in situ in villous adenoma" ], [ "8261", "3", "Adenocarcinoma in villous adenoma" ], [ "8262", "3", "Villous adenocarcinoma" ], [ "8263", "0", "Tubulovillous adenoma, NOS" ], [ "8263", "2", "Adenocarcinoma in situ in tubulovillous adenoma" ], [ "8263", "3", "Adenocarcinoma in tubulovillous adenoma" ], [ "8264", "0", "Papillomatosis, glandular" ], [ "8270", "0", "Chromophobe adenoma (C75.1)" ], [ "8270", "3", "Chromophobe carcinoma (C75.1)" ], [ "8271", "0", "Prolactinoma (C75.1)" ], [ "8272", "0", "Pituitary adenoma, NOS (C75.1)" ], [ "8272", "3", "Pituitary carcinoma, NOS (C75.1)" ], [ "8280", "0", "Acidophil adenoma (C75.1)" ], [ "8280", "3", "Acidophil carcinoma (C75.1)" ], [ "8281", "0", "Mixed acidophil-basophil adenoma (C75.1)" ], [ "8281", "3", "Mixed acidophil-basophil carcinoma (C75.1)" ], [ "8290", "0", "Oxyphilic adenoma" ], [ "8290", "3", "Oxyphilic adenocarcinoma" ], [ "8300", "0", "Basophil adenoma (C75.1)" ], [ "8300", "3", "Basophil carcinoma (C75.1)" ], [ "8310", "0", "Clear cell adenoma" ], [ "8310", "3", "Clear cell adenocarcinoma, NOS" ], [ "8311", "1", "Hypernephroid tumor [obs]" ], [ "8312", "3", "Renal cell carcinoma, NOS (C64.9)" ], [ "8313", "0", "Clear cell adenofibroma (C56.9)" ], [ "8313", "1", "Clear cell adenofibroma of borderline malignancy (C56.9)" ], [ "8313", "3", "Clear cell adenocarcinofibroma (C56.9)" ], [ "8314", "3", "Lipid-rich carcinoma (C50._)" ], [ "8315", "3", "Glycogen-rich carcinoma" ], [ "8316", "3", "Cyst-associated renal cell carcinoma (C64.9)" ], [ "8317", "3", "Renal cell carcinoma, chromophobe type (C64.9)" ], [ "8318", "3", "Renal cell carcinoma, sarcomatoid (C64.9)" ], [ "8319", "3", "Collecting duct carcinoma (C64.9)" ], [ "8320", "3", "Granular cell carcinoma" ], [ "8321", "0", "Chief cell adenoma (C75.0)" ], [ "8322", "0", "Water-clear cell adenoma (C75.0)" ], [ "8322", "3", "Water-clear cell adenocarcinoma (C75.0)" ], [ "8323", "0", "Mixed cell adenoma" ], [ "8323", "3", "Mixed cell adenocarcinoma" ], [ "8324", "0", "Lipoadenoma" ], [ "8325", "0", "Metanephric adenoma (C64.9)" ], [ "8330", "0", "Follicular adenoma (C73.9)" ], [ "8330", "1", "Atypical follicular adenoma (C73.9)" ], [ "8330", "3", "Follicular adenocarcinoma, NOS (C73.9)" ], [ "8331", "3", "Follicular adenocarcinoma, well differentiated (C73.9)" ], [ "8332", "3", "Follicular adenocarcinoma, trabecular (C73.9)" ], [ "8333", "0", "Microfollicular adenoma, NOS (C73.9)" ], [ "8333", "3", "Fetal adenocarcinoma" ], [ "8334", "0", "Macrofollicular adenoma (C73.9)" ], [ "8335", "3", "Follicular carcinoma, minimally invasive (C73.9)" ], [ "8336", "0", "Hyalinizing trabecular adenoma (C73.9)" ], [ "8337", "3", "Insular carcinoma (C73.9)" ], [ "8340", "3", "Papillary carcinoma, follicular variant (C73.9)" ], [ "8341", "3", "Papillary microcarcinoma (C73.9)" ], [ "8342", "3", "Papillary carcinoma, oxyphilic cell (C73.9)" ], [ "8343", "3", "Papillary carcinoma, encapsulated (C73.9)" ], [ "8344", "3", "Papillary carcinoma, columnar cell (C73.9)" ], [ "8345", "3", "Medullary carcinoma with amyloid stroma (C73.9)" ], [ "8346", "3", "Mixed medullary-follicular carcinoma (C73.9)" ], [ "8347", "3", "Mixed medullary-papillary carcinoma (C73.9)" ], [ "8350", "3", "Nonencapsulated sclerosing carcinoma (C73.9)" ], [ "8360", "1", "Multiple endocrine adenomas" ], [ "8361", "0", "Juxtaglomerular tumor (C64.9)" ], [ "8370", "0", "Adrenal cortical adenoma, NOS (C74.0)" ], [ "8370", "3", "Adrenal cortical carcinoma (C74.0)" ], [ "8371", "0", "Adrenal cortical adenoma, compact cell (C74.0)" ], [ "8372", "0", "Adrenal cortical adenoma, pigmented (C74.0)" ], [ "8373", "0", "Adrenal cortical adenoma, clear cell (C74.0)" ], [ "8374", "0", "Adrenal cortical adenoma, glomerulosa cell (C74.0)" ], [ "8375", "0", "Adrenal cortical adenoma, mixed cell (C74.0)" ], [ "8380", "0", "Endometrioid adenoma, NOS" ], [ "8380", "1", "Endometrioid adenoma, borderline malignancy" ], [ "8380", "3", "Endometrioid adenocarcinoma, NOS" ], [ "8381", "0", "Endometrioid adenofibroma, NOS" ], [ "8381", "1", "Endometrioid adenofibroma, borderline malignancy" ], [ "8381", "3", "Endometrioid adenofibroma, malignant" ], [ "8382", "3", "Endometrioid adenocarcinoma, secretory variant" ], [ "8383", "3", "Endometrioid adenocarcinoma, ciliated cell variant" ], [ "8384", "3", "Adenocarcinoma, endocervical type" ], [ "8390", "0", "Skin appendage adenoma (C44._)" ], [ "8390", "3", "Skin appendage carcinoma (C44._)" ], [ "8391", "0", "Follicular fibroma (C44._)" ], [ "8392", "0", "Syringofibroadenoma (C44._)" ], [ "8400", "0", "Sweat gland adenoma (C44._)" ], [ "8400", "1", "Sweat gland tumor, NOS (C44._)" ], [ "8400", "3", "Sweat gland adenocarcinoma (C44._)" ], [ "8401", "0", "Apocrine adenoma" ], [ "8401", "3", "Apocrine adenocarcinoma" ], [ "8402", "0", "Nodular hidradenoma (C44._)" ], [ "8402", "3", "Nodular hidradenoma, malignant (C44._)" ], [ "8403", "0", "Eccrine spiradenoma (C44._)" ], [ "8403", "3", "Malignant eccrine spiradenoma (C44._)" ], [ "8404", "0", "Hidrocystoma (C44._)" ], [ "8405", "0", "Papillary hidradenoma" ], [ "8406", "0", "Papillary syringadenoma (C44._)" ], [ "8407", "0", "Syringoma, NOS (C44._)" ], [ "8407", "3", "Sclerosing sweat duct carcinoma (C44._)" ], [ "8408", "0", "Eccrine papillary adenoma (C44._)" ], [ "8408", "1", "Aggressive digital papillary adenoma (C44._)" ], [ "8408", "3", "Eccrine papillary adenocarcinoma (C44._)" ], [ "8409", "0", "Eccrine poroma (C44._)" ], [ "8409", "3", "Eccrine poroma, malignant" ], [ "8410", "0", "Sebaceous adenoma (C44._)" ], [ "8410", "3", "Sebaceous adenocarcinoma (C44._)" ], [ "8413", "3", "Eccrine adenocarcinoma (C44._)" ], [ "8420", "0", "Ceruminous adenoma (C44.2)" ], [ "8420", "3", "Ceruminous adenocarcinoma (C44.2)" ], [ "8430", "1", "Mucoepidermoid tumor [obs]" ], [ "8430", "3", "Mucoepidermoid carcinoma" ], [ "8440", "0", "Cystadenoma, NOS" ], [ "8440", "3", "Cystadenocarcinoma, NOS" ], [ "8441", "0", "Serous cystadenoma, NOS" ], [ "8441", "3", "Serous cystadenocarcinoma, NOS (C56.9)" ], [ "8442", "1", "Serous cystadenoma, borderline malignancy (C56.9)" ], [ "8443", "0", "Clear cell cystadenoma (C56.9)" ], [ "8444", "1", "Clear cell cystic tumor of borderline malignancy (C56.9)" ], [ "8450", "0", "Papillary cystadenoma, NOS (C56.9)" ], [ "8450", "3", "Papillary cystadenocarcinoma, NOS (C56.9)" ], [ "8451", "1", "Papillary cystadenoma, borderline malignancy (C56.9)" ], [ "8452", "1", "Solid pseudopapillary tumor (C25._)" ], [ "8452", "3", "Solid pseudopapillary carcinoma (C25._)" ], [ "8453", "0", "Intraductal papillary-mucinous adenoma (C25._)" ], [ "8453", "1", "Intraductal papillary-mucinous tumor with moderate dysplasia (C25._)" ], [ "8453", "2", "Intraductal papillary-mucinous carcinoma, non-invasive (C25._)" ], [ "8453", "3", "Intraductal papillary-mucinous carcinoma, invasive (C25._)" ], [ "8454", "0", "Cystic tumor of atrio-ventricular node (C38.0)" ], [ "8460", "0", "Papillary serous cystadenoma, NOS (C56.9)" ], [ "8460", "3", "Papillary serous cystadenocarcinoma (C56.9)" ], [ "8461", "0", "Serous surface papilloma (C56.9)" ], [ "8461", "3", "Serous surface papillary carcinoma (C56.9)" ], [ "8462", "1", "Serous papillary cystic tumor of borderline malignancy (C56.9)" ], [ "8463", "1", "Serous surface papillary tumor of borderline malignancy (C56.9)" ], [ "8470", "0", "Mucinous cystadenoma, NOS (C56.9)" ], [ "8470", "1", "Mucinous cystic tumor with moderate dysplasia (C25._)" ], [ "8470", "2", "Mucinous cystadenocarcinoma, non-invasive (C25._)" ], [ "8470", "3", "Mucinous cystadenocarcinoma, NOS (C56.9)" ], [ "8471", "0", "Papillary mucinous cystadenoma, NOS (C56.9)" ], [ "8471", "3", "Papillary mucinous cystadenocarcinoma (C56.9)" ], [ "8472", "1", "Mucinous cystic tumor of borderline malignancy (C56.9)" ], [ "8473", "1", "Papillary mucinous cystadenoma, borderline malignancy (C56.9)" ], [ "8480", "0", "Mucinous adenoma" ], [ "8480", "3", "Mucinous adenocarcinoma" ], [ "8480", "6", "Pseudomyxoma peritonei" ], [ "8481", "3", "Mucin-producing adenocarcinoma" ], [ "8482", "3", "Mucinous adenocarcinoma, endocervical type" ], [ "8490", "3", "Signet ring cell carcinoma" ], [ "8490", "6", "Metastatic signet ring cell carcinoma" ], [ "8500", "2", "Intraductal carcinoma, noninfiltrating, NOS" ], [ "8500", "3", "Infiltrating duct carcinoma, NOS (C50._)" ], [ "8501", "2", "Comedocarcinoma, noninfiltrating (C50._)" ], [ "8501", "3", "Comedocarcinoma, NOS (C50._)" ], [ "8502", "3", "Secretory carcinoma of breast (C50._)" ], [ "8503", "0", "Intraductal papilloma" ], [ "8503", "2", "Noninfiltrating intraductal papillary adenocarcinoma (C50._)" ], [ "8503", "3", "Intraductal papillary adenocarcinoma with invasion (C50._)" ], [ "8504", "0", "Intracystic papillary adenoma" ], [ "8504", "2", "Noninfiltrating intracystic carcinoma" ], [ "8504", "3", "Intracystic carcinoma, NOS" ], [ "8505", "0", "Intraductal papillomatosis, NOS" ], [ "8506", "0", "Adenoma of nipple (C50.0)" ], [ "8507", "2", "Intraductal micropapillary carcinoma (C50._)" ], [ "8508", "3", "Cystic hypersecretory carcinoma (C50._)" ], [ "8510", "3", "Medullary carcinoma, NOS" ], [ "8512", "3", "Medullary carcinoma with lymphoid stroma" ], [ "8513", "3", "Atypical medullary carcinoma (C50._)" ], [ "8514", "3", "Duct carcinoma, desmoplastic type" ], [ "8520", "2", "Lobular carcinoma in situ, NOS (C50._)" ], [ "8520", "3", "Lobular carcinoma, NOS (C50._)" ], [ "8521", "3", "Infiltrating ductular carcinoma (C50._)" ], [ "8522", "2", "Intraductal carcinoma and lobular carcinoma in situ (C50._)" ], [ "8522", "3", "Infiltrating duct and lobular carcinoma (C50._)" ], [ "8523", "3", "Infiltrating duct mixed with other types of carcinoma (C50._)" ], [ "8524", "3", "Infiltrating lobular mixed with other types of carcinoma (C50._)" ], [ "8525", "3", "Polymorphous low grade adenocarcinoma" ], [ "8530", "3", "Inflammatory carcinoma (C50._)" ], [ "8540", "3", "Paget disease, mammary (C50._)" ], [ "8541", "3", "Paget disease and infiltrating duct carcinoma of breast (C50._)" ], [ "8542", "3", "Paget disease, extramammary (except Paget disease of bone)" ], [ "8543", "3", "Paget disease and intraductal carcinoma of breast (C50._)" ], [ "8550", "0", "Acinar cell adenoma" ], [ "8550", "1", "Acinar cell tumor [obs]" ], [ "8550", "3", "Acinar cell carcinoma" ], [ "8551", "3", "Acinar cell cystadenocarcinoma" ], [ "8560", "0", "Mixed squamous cell and glandular papilloma" ], [ "8560", "3", "Adenosquamous carcinoma" ], [ "8561", "0", "Adenolymphoma (C07._, C08._)" ], [ "8562", "3", "Epithelial-myoepithelial carcinoma" ], [ "8570", "3", "Adenocarcinoma with squamous metaplasia" ], [ "8571", "3", "Adenocarcinoma with cartilaginous and osseous metaplasia" ], [ "8572", "3", "Adenocarcinoma with spindle cell metaplasia" ], [ "8573", "3", "Adenocarcinoma with apocrine metaplasia" ], [ "8574", "3", "Adenocarcinoma with neuroendocrine differentiation" ], [ "8575", "3", "Metaplastic carcinoma, NOS" ], [ "8576", "3", "Hepatoid adenocarcinoma" ], [ "8580", "0", "Thymoma, benign (C37.9)" ], [ "8580", "1", "Thymoma, NOS (C37.9)" ], [ "8580", "3", "Thymoma, malignant, NOS (C37.9)" ], [ "8581", "1", "Thymoma, type A, NOS (C37.9)" ], [ "8581", "3", "Thymoma, type A, malignant (C37.9)" ], [ "8582", "1", "Thymoma, type AB, NOS (C37.9)" ], [ "8582", "3", "Thymoma, type AB, malignant (C37.9)" ], [ "8583", "1", "Thymoma, type B1, NOS (C37.9)" ], [ "8583", "3", "Thymoma, type B1, malignant (C37.9)" ], [ "8584", "1", "Thymoma, type B2, NOS (C37.9)" ], [ "8584", "3", "Thymoma, type B2, malignant (C37.9)" ], [ "8585", "1", "Thymoma, type B3, NOS (C37.9)" ], [ "8585", "3", "Thymoma, type B3, malignant (C37.9)" ], [ "8586", "3", "Thymic carcinoma, NOS (C37.9)" ], [ "8587", "0", "Ectopic hamartomatous thymoma" ], [ "8588", "3", "Spindle epithelial tumor with thymus-like element" ], [ "8589", "3", "Carcinoma showing thymus-like element" ], [ "8590", "1", "Sex cord-gonadal stromal tumor, NOS" ], [ "8591", "1", "Sex cord-gonadal stromal tumor, incompletely differentiated" ], [ "8592", "1", "Sex cord-gonadal stromal tumor, mixed forms" ], [ "8593", "1", "Stromal tumor with minor sex cord elements (C56.9)" ], [ "8600", "0", "Thecoma, NOS (C56.9)" ], [ "8600", "3", "Thecoma, malignant (C56.9)" ], [ "8601", "0", "Thecoma, luteinized (C56.9)" ], [ "8602", "0", "Sclerosing stromal tumor (C56.9)" ], [ "8610", "0", "Luteoma, NOS (C56.9)" ], [ "8620", "1", "Granulosa cell tumor, adult type (C56.9)" ], [ "8620", "3", "Granulosa cell tumor, malignant (C56.9)" ], [ "8621", "1", "Granulosa cell-theca cell tumor (C56.9)" ], [ "8622", "1", "Granulosa cell tumor, juvenile (C56.9)" ], [ "8623", "1", "Sex cord tumor with annular tubules (C56.9)" ], [ "8630", "0", "Androblastoma, benign" ], [ "8630", "1", "Androblastoma, NOS" ], [ "8630", "3", "Androblastoma, malignant" ], [ "8631", "0", "Sertoli-Leydig cell tumor, well differentiated" ], [ "8631", "1", "Sertoli-Leydig cell tumor of intermediate differentiation" ], [ "8631", "3", "Sertoli-Leydig cell tumor, poorly differentiated" ], [ "8632", "1", "Gynandroblastoma (C56.9)" ], [ "8633", "1", "Sertoli-Leydig cell tumor, retiform" ], [ "8634", "1", "Sertoli-Leydig cell tumor, intermediate differentiation, with heterologous elements" ], [ "8634", "3", "Sertoli-Leydig cell tumor, poorly differentiated, with heterologous elements" ], [ "8640", "1", "Sertoli cell tumor, NOS" ], [ "8640", "3", "Sertoli cell carcinoma (C62._)" ], [ "8641", "0", "Sertoli cell tumor with lipid storage" ], [ "8642", "1", "Large cell calcifying Sertoli cell tumor" ], [ "8650", "0", "Leydig cell tumor, benign (C62._)" ], [ "8650", "1", "Leydig cell tumor, NOS (C62._)" ], [ "8650", "3", "Leydig cell tumor, malignant (C62._)" ], [ "8660", "0", "Hilus cell tumor (C56.9)" ], [ "8670", "0", "Lipid cell tumor of ovary (C56.9)" ], [ "8670", "3", "Steroid cell tumor, malignant" ], [ "8671", "0", "Adrenal rest tumor" ], [ "8680", "0", "Paraganglioma, benign" ], [ "8680", "1", "Paraganglioma, NOS" ], [ "8680", "3", "Paraganglioma, malignant" ], [ "8681", "1", "Sympathetic paraganglioma" ], [ "8682", "1", "Parasympathetic paraganglioma" ], [ "8683", "0", "Gangliocytic paraganglioma (C17.0)" ], [ "8690", "1", "Glomus jugulare tumor, NOS (C75.5)" ], [ "8691", "1", "Aortic body tumor (C75.5)" ], [ "8692", "1", "Carotid body tumor (C75.4)" ], [ "8693", "1", "Extra-adrenal paraganglioma, NOS" ], [ "8693", "3", "Extra-adrenal paraganglioma, malignant" ], [ "8700", "0", "Pheochromocytoma, NOS (C74.1)" ], [ "8700", "3", "Pheochromocytoma, malignant (C74.1)" ], [ "8710", "3", "Glomangiosarcoma" ], [ "8711", "0", "Glomus tumor, NOS" ], [ "8711", "3", "Glomus tumor, malignant" ], [ "8712", "0", "Glomangioma" ], [ "8713", "0", "Glomangiomyoma" ], [ "8720", "0", "Pigmented nevus, NOS (C44._)" ], [ "8720", "2", "Melanoma in situ" ], [ "8720", "3", "Malignant melanoma, NOS (except juvenile melanoma M-8770/0)" ], [ "8721", "3", "Nodular melanoma (C44._)" ], [ "8722", "0", "Balloon cell nevus (C44._)" ], [ "8722", "3", "Balloon cell melanoma (C44._)" ], [ "8723", "0", "Halo nevus (C44._)" ], [ "8723", "3", "Malignant melanoma, regressing (C44._)" ], [ "8725", "0", "Neuronevus (C44._)" ], [ "8726", "0", "Magnocellular nevus (C69.4)" ], [ "8727", "0", "Dysplastic nevus (C44._)" ], [ "8728", "0", "Diffuse melanocytosis (C70.9)" ], [ "8728", "1", "Meningeal melanocytoma (C70.9)" ], [ "8728", "3", "Meningeal melanomatosis (C70.9)" ], [ "8730", "0", "Nonpigmented nevus (C44._)" ], [ "8730", "3", "Amelanotic melanoma (C44._)" ], [ "8740", "0", "Junctional nevus, NOS (C44._)" ], [ "8740", "3", "Malignant melanoma in junctional nevus (C44._)" ], [ "8741", "2", "Precancerous melanosis, NOS (C44._)" ], [ "8741", "3", "Malignant melanoma in precancerous melanosis (C44._)" ], [ "8742", "2", "Lentigo maligna (C44._)" ], [ "8742", "3", "Lentigo maligna melanoma (C44._)" ], [ "8743", "3", "Superficial spreading melanoma (C44._)" ], [ "8744", "3", "Acral lentiginous melanoma, malignant (C44._)" ], [ "8745", "3", "Desmoplastic melanoma, malignant (C44._)" ], [ "8746", "3", "Mucosal lentiginous melanoma" ], [ "8750", "0", "Intradermal nevus (C44._)" ], [ "8760", "0", "Compound nevus (C44._)" ], [ "8761", "0", "Small congenital nevus (C44._)" ], [ "8761", "1", "Giant pigmented nevus, NOS (C44._)" ], [ "8761", "3", "Malignant melanoma in giant pigmented nevus (C44._)" ], [ "8762", "1", "Proliferative dermal lesion in congenital nevus (C44._)" ], [ "8770", "0", "Epithelioid and spindle cell nevus (C44._)" ], [ "8770", "3", "Mixed epithelioid and spindle cell melanoma" ], [ "8771", "0", "Epithelioid cell nevus (C44._)" ], [ "8771", "3", "Epithelioid cell melanoma" ], [ "8772", "0", "Spindle cell nevus, NOS (C44._)" ], [ "8772", "3", "Spindle cell melanoma, NOS" ], [ "8773", "3", "Spindle cell melanoma, type A (C69._)" ], [ "8774", "3", "Spindle cell melanoma, type B (C69._)" ], [ "8780", "0", "Blue nevus, NOS (C44._)" ], [ "8780", "3", "Blue nevus, malignant (C44._)" ], [ "8790", "0", "Cellular blue nevus (C44._)" ], [ "8800", "0", "Soft tissue tumor, benign" ], [ "8800", "3", "Sarcoma, NOS" ], [ "8800", "9", "Sarcomatosis, NOS" ], [ "8801", "3", "Spindle cell sarcoma" ], [ "8802", "3", "Giant cell sarcoma (except of bone M-9250/3)" ], [ "8803", "3", "Small cell sarcoma" ], [ "8804", "3", "Epithelioid sarcoma" ], [ "8805", "3", "Undifferentiated sarcoma" ], [ "8806", "3", "Desmoplastic small round cell tumor" ], [ "8810", "0", "Fibroma, NOS" ], [ "8810", "1", "Cellular fibroma (C56.9)" ], [ "8810", "3", "Fibrosarcoma, NOS" ], [ "8811", "0", "Fibromyxoma" ], [ "8811", "3", "Fibromyxosarcoma" ], [ "8812", "0", "Periosteal fibroma (C40._, C41._)" ], [ "8812", "3", "Periosteal fibrosarcoma (C40._, C41._)" ], [ "8813", "0", "Fascial fibroma" ], [ "8813", "3", "Fascial fibrosarcoma" ], [ "8814", "3", "Infantile fibrosarcoma" ], [ "8815", "0", "Solitary fibrous tumor" ], [ "8815", "3", "Solitary fibrous tumor, malignant" ], [ "8820", "0", "Elastofibroma" ], [ "8821", "1", "Aggressive fibromatosis" ], [ "8822", "1", "Abdominal fibromatosis" ], [ "8823", "0", "Desmoplastic fibroma" ], [ "8824", "0", "Myofibroma" ], [ "8824", "1", "Myofibromatosis" ], [ "8825", "0", "Myofibroblastoma" ], [ "8825", "1", "Myofibroblastic tumor, NOS" ], [ "8826", "0", "Angiomyofibroblastoma" ], [ "8827", "1", "Myofibroblastic tumor, peribronchial (C34._)" ], [ "8830", "0", "Benign fibrous histiocytoma" ], [ "8830", "1", "Atypical fibrous histiocytoma" ], [ "8830", "3", "Malignant fibrous histiocytoma" ], [ "8831", "0", "Histiocytoma, NOS" ], [ "8832", "0", "Dermatofibroma, NOS (C44._)" ], [ "8832", "3", "Dermatofibrosarcoma, NOS (C44._)" ], [ "8833", "3", "Pigmented dermatofibrosarcoma protuberans (C44._)" ], [ "8834", "1", "Giant cell fibroblastoma" ], [ "8835", "1", "Plexiform fibrohistiocytic tumor" ], [ "8836", "1", "Angiomatoid fibrous histiocytoma" ], [ "8840", "0", "Myxoma, NOS" ], [ "8840", "3", "Myxosarcoma" ], [ "8841", "1", "Angiomyxoma" ], [ "8842", "0", "Ossifying fibromyxoid tumor" ], [ "8850", "0", "Lipoma, NOS" ], [ "8850", "1", "Atypical lipoma" ], [ "8850", "3", "Liposarcoma, NOS" ], [ "8851", "0", "Fibrolipoma" ], [ "8851", "3", "Liposarcoma, well differentiated" ], [ "8852", "0", "Fibromyxolipoma" ], [ "8852", "3", "Myxoid liposarcoma" ], [ "8853", "3", "Round cell liposarcoma" ], [ "8854", "0", "Pleomorphic lipoma" ], [ "8854", "3", "Pleomorphic liposarcoma" ], [ "8855", "3", "Mixed liposarcoma" ], [ "8856", "0", "Intramuscular lipoma" ], [ "8857", "0", "Spindle cell lipoma" ], [ "8857", "3", "Fibroblastic liposarcoma" ], [ "8858", "3", "Dedifferentiated liposarcoma" ], [ "8860", "0", "Angiomyolipoma" ], [ "8861", "0", "Angiolipoma, NOS" ], [ "8862", "0", "Chondroid lipoma" ], [ "8870", "0", "Myelolipoma" ], [ "8880", "0", "Hibernoma" ], [ "8881", "0", "Lipoblastomatosis" ], [ "8890", "0", "Leiomyoma, NOS" ], [ "8890", "1", "Leiomyomatosis, NOS" ], [ "8890", "3", "Leiomyosarcoma, NOS" ], [ "8891", "0", "Epithelioid leiomyoma" ], [ "8891", "3", "Epithelioid leiomyosarcoma" ], [ "8892", "0", "Cellular leiomyoma" ], [ "8893", "0", "Bizarre leiomyoma" ], [ "8894", "0", "Angiomyoma" ], [ "8894", "3", "Angiomyosarcoma" ], [ "8895", "0", "Myoma" ], [ "8895", "3", "Myosarcoma" ], [ "8896", "3", "Myxoid leiomyosarcoma" ], [ "8897", "1", "Smooth muscle tumor of uncertain malignant potential" ], [ "8898", "1", "Metastasizing leiomyoma" ], [ "8900", "0", "Rhabdomyoma, NOS" ], [ "8900", "3", "Rhabdomyosarcoma, NOS" ], [ "8901", "3", "Pleomorphic rhabdomyosarcoma, adult type" ], [ "8902", "3", "Mixed type rhabdomyosarcoma" ], [ "8903", "0", "Fetal rhabdomyoma" ], [ "8904", "0", "Adult rhabdomyoma" ], [ "8905", "0", "Genital rhabdomyoma (C51._, C52.9)" ], [ "8910", "3", "Embryonal rhabdomyosarcoma, NOS" ], [ "8912", "3", "Spindle cell rhabdomyosarcoma" ], [ "8920", "3", "Alveolar rhabdomyosarcoma" ], [ "8921", "3", "Rhabdomyosarcoma with ganglionic differentiation" ], [ "8930", "0", "Endometrial stromal nodule (C54.1)" ], [ "8930", "3", "Endometrial stromal sarcoma, NOS (C54.1)" ], [ "8931", "3", "Endometrial stromal sarcoma, low grade (C54.1)" ], [ "8932", "0", "Adenomyoma" ], [ "8933", "3", "Adenosarcoma" ], [ "8934", "3", "Carcinofibroma" ], [ "8935", "0", "Stromal tumor, benign" ], [ "8935", "1", "Stromal tumor, NOS" ], [ "8935", "3", "Stromal sarcoma, NOS" ], [ "8936", "0", "Gastrointestinal stromal tumor, benign" ], [ "8936", "1", "Gastrointestinal stromal tumor, NOS" ], [ "8936", "3", "Gastrointestinal stromal sarcoma" ], [ "8940", "0", "Pleomorphic adenoma" ], [ "8940", "3", "Mixed tumor, malignant, NOS" ], [ "8941", "3", "Carcinoma in pleomorphic adenoma (C07._, C08._)" ], [ "8950", "3", "Mullerian mixed tumor (C54._)" ], [ "8951", "3", "Mesodermal mixed tumor" ], [ "8959", "0", "Benign cystic nephroma (C64.9)" ], [ "8959", "1", "Cystic partially differentiated nephroblastoma (C64.9)" ], [ "8959", "3", "Malignant cystic nephroma (C64.9)" ], [ "8960", "1", "Mesoblastic nephroma" ], [ "8960", "3", "Nephroblastoma, NOS (C64.9)" ], [ "8963", "3", "Malignant rhabdoid tumor" ], [ "8964", "3", "Clear cell sarcoma of kidney (C64.9)" ], [ "8965", "0", "Nephrogenic adenofibroma (C64.9)" ], [ "8966", "0", "Renomedullary interstitial cell tumor (C64.9)" ], [ "8967", "0", "Ossifying renal tumor (C64.9)" ], [ "8970", "3", "Hepatoblastoma (C22.0)" ], [ "8971", "3", "Pancreatoblastoma (C25._)" ], [ "8972", "3", "Pulmonary blastoma (C34._)" ], [ "8973", "3", "Pleuropulmonary blastoma" ], [ "8974", "1", "Sialoblastoma" ], [ "8980", "3", "Carcinosarcoma, NOS" ], [ "8981", "3", "Carcinosarcoma, embryonal" ], [ "8982", "0", "Myoepithelioma" ], [ "8982", "3", "Malignant myoepithelioma" ], [ "8983", "0", "Adenomyoepithelioma (C50._)" ], [ "8990", "0", "Mesenchymoma, benign" ], [ "8990", "1", "Mesenchymoma, NOS" ], [ "8990", "3", "Mesenchymoma, malignant" ], [ "8991", "3", "Embryonal sarcoma" ], [ "9000", "0", "Brenner tumor, NOS (C56.9)" ], [ "9000", "1", "Brenner tumor, borderline malignancy (C56.9)" ], [ "9000", "3", "Brenner tumor, malignant (C56.9)" ], [ "9010", "0", "Fibroadenoma, NOS (C50._)" ], [ "9011", "0", "Intracanalicular fibroadenoma (C50._)" ], [ "9012", "0", "Pericanalicular fibroadenoma (C50._)" ], [ "9013", "0", "Adenofibroma, NOS" ], [ "9014", "0", "Serous adenofibroma, NOS" ], [ "9014", "1", "Serous adenofibroma of borderline malignancy" ], [ "9014", "3", "Serous adenocarcinofibroma" ], [ "9015", "0", "Mucinous adenofibroma, NOS" ], [ "9015", "1", "Mucinous adenofibroma of borderline malignancy" ], [ "9015", "3", "Mucinous adenocarcinofibroma" ], [ "9016", "0", "Giant fibroadenoma (C50._)" ], [ "9020", "0", "Phyllodes tumor, benign (C50._)" ], [ "9020", "1", "Phyllodes tumor, borderline (C50._)" ], [ "9020", "3", "Phyllodes tumor, malignant (C50._)" ], [ "9030", "0", "Juvenile fibroadenoma (C50._)" ], [ "9040", "0", "Synovioma, benign" ], [ "9040", "3", "Synovial sarcoma, NOS" ], [ "9041", "3", "Synovial sarcoma, spindle cell" ], [ "9042", "3", "Synovial sarcoma, epithelioid cell" ], [ "9043", "3", "Synovial sarcoma, biphasic" ], [ "9044", "3", "Clear cell sarcoma, NOS (except of kidney M-8964/3)" ], [ "9060", "3", "Dysgerminoma" ], [ "9061", "3", "Seminoma, NOS (C62._)" ], [ "9062", "3", "Seminoma, anaplastic (C62._)" ], [ "9063", "3", "Spermatocytic seminoma (C62._)" ], [ "9064", "2", "Intratubular malignant germ cells (C62._)" ], [ "9064", "3", "Germinoma" ], [ "9065", "3", "Germ cell tumor, nonseminomatous (C62._)" ], [ "9070", "3", "Embryonal carcinoma, NOS" ], [ "9071", "3", "Yolk sac tumor" ], [ "9072", "3", "Polyembryoma" ], [ "9073", "1", "Gonadoblastoma" ], [ "9080", "0", "Teratoma, benign" ], [ "9080", "1", "Teratoma, NOS" ], [ "9080", "3", "Teratoma, malignant, NOS" ], [ "9081", "3", "Teratocarcinoma" ], [ "9082", "3", "Malignant teratoma, undifferentiated" ], [ "9083", "3", "Malignant teratoma, intermediate" ], [ "9084", "0", "Dermoid cyst, NOS" ], [ "9084", "3", "Teratoma with malignant transformation" ], [ "9085", "3", "Mixed germ cell tumor" ], [ "9090", "0", "Struma ovarii, NOS (C56.9)" ], [ "9090", "3", "Struma ovarii, malignant (C56.9)" ], [ "9091", "1", "Strumal carcinoid (C56.9)" ], [ "9100", "0", "Hydatidiform mole, NOS (C58.9)" ], [ "9100", "1", "Invasive hydatidiform mole (C58.9)" ], [ "9100", "3", "Choriocarcinoma, NOS" ], [ "9101", "3", "Choriocarcinoma combined with other germ cell elements" ], [ "9102", "3", "Malignant teratoma, trophoblastic" ], [ "9103", "0", "Partial hydatidiform mole (C58.9)" ], [ "9104", "1", "Placental site trophoblastic tumor (C58.9)" ], [ "9105", "3", "Trophoblastic tumor, epithelioid" ], [ "9110", "0", "Mesonephroma, benign" ], [ "9110", "1", "Mesonephric tumor, NOS" ], [ "9110", "3", "Mesonephroma, malignant" ], [ "9120", "0", "Hemangioma, NOS" ], [ "9120", "3", "Hemangiosarcoma" ], [ "9121", "0", "Cavernous hemangioma" ], [ "9122", "0", "Venous hemangioma" ], [ "9123", "0", "Racemose hemangioma" ], [ "9124", "3", "Kupffer cell sarcoma (C22.0)" ], [ "9125", "0", "Epithelioid hemangioma" ], [ "9130", "0", "Hemangioendothelioma, benign" ], [ "9130", "1", "Hemangioendothelioma, NOS" ], [ "9130", "3", "Hemangioendothelioma, malignant" ], [ "9131", "0", "Capillary hemangioma" ], [ "9132", "0", "Intramuscular hemangioma" ], [ "9133", "1", "Epithelioid hemangioendothelioma, NOS" ], [ "9133", "3", "Epithelioid hemangioendothelioma, malignant" ], [ "9135", "1", "Endovascular papillary angioendothelioma" ], [ "9136", "1", "Spindle cell hemangioendothelioma" ], [ "9140", "3", "Kaposi sarcoma" ], [ "9141", "0", "Angiokeratoma" ], [ "9142", "0", "Verrucous keratotic hemangioma" ], [ "9150", "0", "Hemangiopericytoma, benign" ], [ "9150", "1", "Hemangiopericytoma, NOS" ], [ "9150", "3", "Hemangiopericytoma, malignant" ], [ "9160", "0", "Angiofibroma, NOS" ], [ "9161", "0", "Acquired tufted hemangioma" ], [ "9161", "1", "Hemangioblastoma" ], [ "9170", "0", "Lymphangioma, NOS" ], [ "9170", "3", "Lymphangiosarcoma" ], [ "9171", "0", "Capillary lymphangioma" ], [ "9172", "0", "Cavernous lymphangioma" ], [ "9173", "0", "Cystic lymphangioma" ], [ "9174", "0", "Lymphangiomyoma" ], [ "9174", "1", "Lymphangiomyomatosis" ], [ "9175", "0", "Hemolymphangioma" ], [ "9180", "0", "Osteoma, NOS (C40._, C41._)" ], [ "9180", "3", "Osteosarcoma, NOS (C40._, C41._)" ], [ "9181", "3", "Chondroblastic osteosarcoma (C40._, C41._)" ], [ "9182", "3", "Fibroblastic osteosarcoma (C40._, C41._)" ], [ "9183", "3", "Telangiectatic osteosarcoma (C40._, C41._)" ], [ "9184", "3", "Osteosarcoma in Paget disease of bone (C40._, C41._)" ], [ "9185", "3", "Small cell osteosarcoma (C40._, C41._)" ], [ "9186", "3", "Central osteosarcoma (C40._, C41._)" ], [ "9187", "3", "Intraosseous well differentiated osteosarcoma (C40._, C41._)" ], [ "9191", "0", "Osteoid osteoma, NOS (C40._, C41._)" ], [ "9192", "3", "Parosteal osteosarcoma (C40._, C41._)" ], [ "9193", "3", "Periosteal osteosarcoma (C40._, C41._)" ], [ "9194", "3", "High grade surface osteosarcoma (C40._, C41._)" ], [ "9195", "3", "Intracortical osteosarcoma (C40._, C41._)" ], [ "9200", "0", "Osteoblastoma, NOS (C40._, C41._)" ], [ "9200", "1", "Aggressive osteoblastoma (C40._, C41._)" ], [ "9210", "0", "Osteochondroma (C40._, C41._)" ], [ "9210", "1", "Osteochondromatosis, NOS (C40._, C41._)" ], [ "9220", "0", "Chondroma, NOS (C40._, C41._)" ], [ "9220", "1", "Chondromatosis, NOS" ], [ "9220", "3", "Chondrosarcoma, NOS (C40._, C41._)" ], [ "9221", "0", "Juxtacortical chondroma (C40._, C41._)" ], [ "9221", "3", "Juxtacortical chondrosarcoma (C40._, C41._)" ], [ "9230", "0", "Chondroblastoma, NOS (C40._, C41._)" ], [ "9230", "3", "Chondroblastoma, malignant (C40._, C41._)" ], [ "9231", "3", "Myxoid chondrosarcoma" ], [ "9240", "3", "Mesenchymal chondrosarcoma" ], [ "9241", "0", "Chondromyxoid fibroma (C40._, C41._)" ], [ "9242", "3", "Clear cell chondrosarcoma (C40._, C41._)" ], [ "9243", "3", "Dedifferentiated chondrosarcoma (C40._, C41._)" ], [ "9250", "1", "Giant cell tumor of bone, NOS (C40._, C41._)" ], [ "9250", "3", "Giant cell tumor of bone, malignant (C40._, C41._)" ], [ "9251", "1", "Giant cell tumor of soft parts, NOS" ], [ "9251", "3", "Malignant giant cell tumor of soft parts" ], [ "9252", "0", "Tenosynovial giant cell tumor (C49._)" ], [ "9252", "3", "Malignant tenosynovial giant cell tumor (C49._)" ], [ "9260", "3", "Ewing sarcoma" ], [ "9261", "3", "Adamantinoma of long bones (C40._)" ], [ "9262", "0", "Ossifying fibroma" ], [ "9270", "0", "Odontogenic tumor, benign" ], [ "9270", "1", "Odontogenic tumor, NOS" ], [ "9270", "3", "Odontogenic tumor, malignant" ], [ "9271", "0", "Ameloblastic fibrodentinoma" ], [ "9272", "0", "Cementoma, NOS" ], [ "9273", "0", "Cementoblastoma, benign" ], [ "9274", "0", "Cementifying fibroma" ], [ "9275", "0", "Gigantiform cementoma" ], [ "9280", "0", "Odontoma, NOS" ], [ "9281", "0", "Compound odontoma" ], [ "9282", "0", "Complex odontoma" ], [ "9290", "0", "Ameloblastic fibro-odontoma" ], [ "9290", "3", "Ameloblastic odontosarcoma" ], [ "9300", "0", "Adenomatoid odontogenic tumor" ], [ "9301", "0", "Calcifying odontogenic cyst" ], [ "9302", "0", "Odontogenic ghost cell tumor" ], [ "9310", "0", "Ameloblastoma, NOS" ], [ "9310", "3", "Ameloblastoma, malignant" ], [ "9311", "0", "Odontoameloblastoma" ], [ "9312", "0", "Squamous odontogenic tumor" ], [ "9320", "0", "Odontogenic myxoma" ], [ "9321", "0", "Central odontogenic fibroma" ], [ "9322", "0", "Peripheral odontogenic fibroma" ], [ "9330", "0", "Ameloblastic fibroma" ], [ "9330", "3", "Ameloblastic fibrosarcoma" ], [ "9340", "0", "Calcifying epithelial odontogenic tumor" ], [ "9341", "1", "Clear cell odontogenic tumor" ], [ "9342", "3", "Odontogenic carcinosarcoma" ], [ "9350", "1", "Craniopharyngioma (C75.2)" ], [ "9351", "1", "Craniopharyngioma, adamantinomatous (C75.2)" ], [ "9352", "1", "Craniopharyngioma, papillary (C75.2)" ], [ "9360", "1", "Pinealoma (C75.3)" ], [ "9361", "1", "Pineocytoma (C75.3)" ], [ "9362", "3", "Pineoblastoma (C75.3)" ], [ "9363", "0", "Melanotic neuroectodermal tumor" ], [ "9364", "3", "Peripheral neuroectodermal tumor" ], [ "9365", "3", "Askin tumor" ], [ "9370", "3", "Chordoma, NOS" ], [ "9371", "3", "Chondroid chordoma" ], [ "9372", "3", "Dedifferentiated chordoma" ], [ "9373", "0", "Parachordoma" ], [ "9380", "3", "Glioma, malignant (C71._)" ], [ "9381", "3", "Gliomatosis cerebri (C71._)" ], [ "9382", "3", "Mixed glioma (C71._)" ], [ "9383", "1", "Subependymoma (C71._)" ], [ "9384", "1", "Subependymal giant cell astrocytoma (C71._)" ], [ "9390", "0", "Choroid plexus papilloma, NOS (C71.5)" ], [ "9390", "1", "Atypical choroid plexus papilloma (C71.5)" ], [ "9390", "3", "Choroid plexus carcinoma (C71.5)" ], [ "9391", "3", "Ependymoma, NOS (C71._)" ], [ "9392", "3", "Ependymoma, anaplastic (C71._)" ], [ "9393", "3", "Papillary ependymoma (C71._)" ], [ "9394", "1", "Myxopapillary ependymoma (C72.0)" ], [ "9400", "3", "Astrocytoma, NOS (C71._)" ], [ "9401", "3", "Astrocytoma, anaplastic (C71._)" ], [ "9410", "3", "Protoplasmic astrocytoma (C71._)" ], [ "9411", "3", "Gemistocytic astrocytoma (C71._)" ], [ "9412", "1", "Desmoplastic infantile astrocytoma (C71._)" ], [ "9413", "0", "Dysembryoplastic neuroepithelial tumor" ], [ "9420", "3", "Fibrillary astrocytoma (C71._)" ], [ "9421", "1", "Pilocytic astrocytoma (C71._)" ], [ "9423", "3", "Polar spongioblastoma (C71._)" ], [ "9424", "3", "Pleomorphic xanthoastrocytoma (C71._)" ], [ "9430", "3", "Astroblastoma (C71._)" ], [ "9440", "3", "Glioblastoma, NOS (C71._)" ], [ "9441", "3", "Giant cell glioblastoma (C71._)" ], [ "9442", "1", "Gliofibroma (C71._)" ], [ "9442", "3", "Gliosarcoma (C71._)" ], [ "9444", "1", "Chordoid glioma (C71._)" ], [ "9450", "3", "Oligodendroglioma, NOS (C71._)" ], [ "9451", "3", "Oligodendroglioma, anaplastic (C71._)" ], [ "9460", "3", "Oligodendroblastoma (C71._) [obs]" ], [ "9470", "3", "Medulloblastoma, NOS (C71.6)" ], [ "9471", "3", "Desmoplastic nodular medulloblastoma (C71.6)" ], [ "9472", "3", "Medullomyoblastoma (C71.6)" ], [ "9473", "3", "Primitive neuroectodermal tumor, NOS" ], [ "9474", "3", "Large cell medulloblastoma (C71.6)" ], [ "9480", "3", "Cerebellar sarcoma, NOS (C71.6) [obs]" ], [ "9490", "0", "Ganglioneuroma" ], [ "9490", "3", "Ganglioneuroblastoma" ], [ "9491", "0", "Ganglioneuromatosis" ], [ "9492", "0", "Gangliocytoma" ], [ "9493", "0", "Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" ], [ "9500", "3", "Neuroblastoma, NOS" ], [ "9501", "0", "Medulloepithelioma, benign (C69.4)" ], [ "9501", "3", "Medulloepithelioma, NOS" ], [ "9502", "0", "Teratoid medulloepithelioma, benign (C69.4)" ], [ "9502", "3", "Teratoid medulloepithelioma" ], [ "9503", "3", "Neuroepithelioma, NOS" ], [ "9504", "3", "Spongioneuroblastoma" ], [ "9505", "1", "Ganglioglioma, NOS" ], [ "9505", "3", "Ganglioglioma, anaplastic" ], [ "9506", "1", "Central neurocytoma" ], [ "9507", "0", "Pacinian tumor" ], [ "9508", "3", "Atypical teratoid/rhabdoid tumor (C71._)" ], [ "9510", "0", "Retinocytoma (C69.2)" ], [ "9510", "3", "Retinoblastoma, NOS (C69.2)" ], [ "9511", "3", "Retinoblastoma, differentiated (C69.2)" ], [ "9512", "3", "Retinoblastoma, undifferentiated (C69.2)" ], [ "9513", "3", "Retinoblastoma, diffuse (C69.2)" ], [ "9514", "1", "Retinoblastoma, spontaneously regressed (C69.2)" ], [ "9520", "3", "Olfactory neurogenic tumor" ], [ "9521", "3", "Olfactory neurocytoma (C30.0)" ], [ "9522", "3", "Olfactory neuroblastoma (C30.0)" ], [ "9523", "3", "Olfactory neuroepithelioma (C30.0)" ], [ "9530", "0", "Meningioma, NOS" ], [ "9530", "1", "Meningiomatosis, NOS" ], [ "9530", "3", "Meningioma, malignant" ], [ "9531", "0", "Meningothelial meningioma" ], [ "9532", "0", "Fibrous meningioma" ], [ "9533", "0", "Psammomatous meningioma" ], [ "9534", "0", "Angiomatous meningioma" ], [ "9535", "0", "Hemangioblastic meningioma [obs]" ], [ "9537", "0", "Transitional meningioma" ], [ "9538", "1", "Clear cell meningioma" ], [ "9538", "3", "Papillary meningioma" ], [ "9539", "1", "Atypical meningioma" ], [ "9539", "3", "Meningeal sarcomatosis" ], [ "9540", "0", "Neurofibroma, NOS" ], [ "9540", "1", "Neurofibromatosis, NOS" ], [ "9540", "3", "Malignant peripheral nerve sheath tumor" ], [ "9541", "0", "Melanotic neurofibroma" ], [ "9550", "0", "Plexiform neurofibroma" ], [ "9560", "0", "Neurilemoma, NOS" ], [ "9560", "1", "Neurinomatosis" ], [ "9560", "3", "Neurilemoma, malignant [obs]" ], [ "9561", "3", "Malignant peripheral nerve sheath tumor with rhabdomyoblastic differentiation" ], [ "9562", "0", "Neurothekeoma" ], [ "9570", "0", "Neuroma, NOS" ], [ "9571", "0", "Perineurioma, NOS" ], [ "9571", "3", "Perineurioma, malignant" ], [ "9580", "0", "Granular cell tumor, NOS" ], [ "9580", "3", "Granular cell tumor, malignant" ], [ "9581", "3", "Alveolar soft part sarcoma" ], [ "9582", "0", "Granular cell tumor of the sellar region (C75.1)" ], [ "9590", "3", "Malignant lymphoma, NOS" ], [ "9591", "3", "Malignant lymphoma, non-Hodgkin, NOS" ], [ "9596", "3", "Composite Hodgkin and non-Hodgkin lymphoma" ], [ "9650", "3", "Hodgkin lymphoma, NOS" ], [ "9651", "3", "Hodgkin lymphoma, lymphocyte-rich" ], [ "9652", "3", "Hodgkin lymphoma, mixed cellularity, NOS" ], [ "9653", "3", "Hodgkin lymphoma, lymphocyte depletion, NOS" ], [ "9654", "3", "Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" ], [ "9655", "3", "Hodgkin lymphoma, lymphocyte depletion, reticular" ], [ "9659", "3", "Hodgkin lymphoma, nodular lymphocyte predominance" ], [ "9661", "3", "Hodgkin granuloma [obs]" ], [ "9662", "3", "Hodgkin sarcoma [obs]" ], [ "9663", "3", "Hodgkin lymphoma, nodular sclerosis, NOS" ], [ "9664", "3", "Hodgkin lymphoma, nodular sclerosis, cellular phase" ], [ "9665", "3", "Hodgkin lymphoma, nodular sclerosis, grade 1" ], [ "9667", "3", "Hodgkin lymphoma, nodular sclerosis, grade 2" ], [ "9670", "3", "Malignant lymphoma, small B lymphocytic, NOS (see also M-9823/3)" ], [ "9671", "3", "Malignant lymphoma, lymphoplasmacytic (see also M-9761/3)" ], [ "9673", "3", "Mantle cell lymphoma" ], [ "9675", "3", "Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" ], [ "9678", "3", "Primary effusion lymphoma" ], [ "9679", "3", "Mediastinal large B-cell lymphoma (C38.3)" ], [ "9680", "3", "Malignant lymphoma, large B-cell, diffuse, NOS" ], [ "9684", "3", "Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" ], [ "9687", "3", "Burkitt lymphoma, NOS (see also M-9826/3)" ], [ "9689", "3", "Splenic marginal zone B-cell lymphoma (C42.2)" ], [ "9690", "3", "Follicular lymphoma, NOS (see also M-9675/3)" ], [ "9691", "3", "Follicular lymphoma, grade 2" ], [ "9695", "3", "Follicular lymphoma, grade 1" ], [ "9698", "3", "Follicular lymphoma, grade 3" ], [ "9699", "3", "Marginal zone B-cell lymphoma, NOS" ], [ "9700", "3", "Mycosis fungoides (C44._)" ], [ "9701", "3", "Sezary syndrome" ], [ "9702", "3", "Mature T-cell lymphoma, NOS" ], [ "9705", "3", "Angioimmunoblastic T-cell lymphoma" ], [ "9708", "3", "Subcutaneous panniculitis-like T-cell lymphoma" ], [ "9709", "3", "Cutaneous T-cell lymphoma, NOS (C44._)" ], [ "9714", "3", "Anaplastic large cell lymphoma, T cell and Null cell type" ], [ "9716", "3", "Hepatosplenic ?? (gamma-delta) cell lymphoma" ], [ "9717", "3", "Intestinal T-cell lymphoma" ], [ "9718", "3", "Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" ], [ "9719", "3", "NK/T-cell lymphoma, nasal and nasal-type" ], [ "9727", "3", "Precursor cell lymphoblastic lymphoma, NOS (see also M-9835/3)" ], [ "9728", "3", "Precursor B-cell lymphoblastic lymphoma (see also M-9836/3)" ], [ "9729", "3", "Precursor T-cell lymphoblastic lymphoma (see also M-9837/3)" ], [ "9731", "3", "Plasmacytoma, NOS" ], [ "9732", "3", "Multiple myeloma (C42.1)" ], [ "9733", "3", "Plasma cell leukemia (C42.1)" ], [ "9734", "3", "Plasmacytoma, extramedullary (not occurring in bone)" ], [ "9740", "1", "Mastocytoma, NOS" ], [ "9740", "3", "Mast cell sarcoma" ], [ "9741", "3", "Malignant mastocytosis" ], [ "9742", "3", "Mast cell leukemia (C42.1)" ], [ "9750", "3", "Malignant histiocytosis" ], [ "9751", "1", "Langerhans cell histiocytosis, NOS" ], [ "9752", "1", "Langerhans cell histiocytosis, unifocal" ], [ "9753", "1", "Langerhans cell histiocytosis, multifocal" ], [ "9754", "3", "Langerhans cell histiocytosis, disseminated" ], [ "9755", "3", "Histiocytic sarcoma" ], [ "9756", "3", "Langerhans cell sarcoma" ], [ "9757", "3", "Interdigitating dendritic cell sarcoma" ], [ "9758", "3", "Follicular dendritic cell sarcoma" ], [ "9760", "3", "Immunoproliferative disease, NOS" ], [ "9761", "3", "Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" ], [ "9762", "3", "Heavy chain disease, NOS" ], [ "9764", "3", "Immunoproliferative small intestinal disease (C17._)" ], [ "9765", "1", "Monoclonal gammopathy of undetermined significance" ], [ "9766", "1", "Angiocentric immunoproliferative lesion" ], [ "9767", "1", "Angioimmunoblastic lymphadenopathy" ], [ "9768", "1", "T-gamma lymphoproliferative disease" ], [ "9769", "1", "Immunoglobulin deposition disease" ], [ "9800", "3", "Leukemia, NOS" ], [ "9801", "3", "Acute leukemia, NOS" ], [ "9805", "3", "Acute biphenotypic leukemia" ], [ "9820", "3", "Lymphoid leukemia, NOS" ], [ "9823", "3", "B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" ], [ "9826", "3", "Burkitt cell leukemia (see also M-9687/3)" ], [ "9827", "3", "Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" ], [ "9831", "1", "T-cell large granular lymphocytic leukemia" ], [ "9832", "3", "Prolymphocytic leukemia, NOS" ], [ "9833", "3", "Prolymphocytic leukemia, B-cell type" ], [ "9834", "3", "Prolymphocytic leukemia, T-cell type" ], [ "9835", "3", "Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" ], [ "9836", "3", "Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" ], [ "9837", "3", "Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" ], [ "9840", "3", "Acute myeloid leukemia, M6 type" ], [ "9860", "3", "Myeloid leukemia, NOS" ], [ "9861", "3", "Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" ], [ "9863", "3", "Chronic myeloid leukemia, NOS" ], [ "9866", "3", "Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" ], [ "9867", "3", "Acute myelomonocytic leukemia" ], [ "9870", "3", "Acute basophilic leukemia" ], [ "9871", "3", "Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" ], [ "9872", "3", "Acute myeloid leukemia, minimal differentiation" ], [ "9873", "3", "Acute myeloid leukemia without maturation" ], [ "9874", "3", "Acute myeloid leukemia with maturation" ], [ "9875", "3", "Chronic myelogenous leukemia, BCR/ABL positive" ], [ "9876", "3", "Atypical chronic myeloid leukemia, BCR/ABL negative" ], [ "9891", "3", "Acute monocytic leukemia" ], [ "9895", "3", "Acute myeloid leukemia with multilineage dysplasia" ], [ "9896", "3", "Acute myeloid leukemia, t(8;21)(q22;q22)" ], [ "9897", "3", "Acute myeloid leukemia, 11q23 abnormalities" ], [ "9910", "3", "Acute megakaryoblastic leukemia" ], [ "9920", "3", "Therapy-related acute myeloid leukemia, NOS" ], [ "9930", "3", "Myeloid sarcoma (see also M-9861/3)" ], [ "9931", "3", "Acute panmyelosis with myelofibrosis (C42.1)" ], [ "9940", "3", "Hairy cell leukemia (C42.1)" ], [ "9945", "3", "Chronic myelomonocytic leukemia, NOS" ], [ "9946", "3", "Juvenile myelomonocytic leukemia" ], [ "9948", "3", "Aggressive NK-cell leukemia" ], [ "9950", "3", "Polycythemia vera" ], [ "9960", "3", "Chronic myeloproliferative disease, NOS" ], [ "9961", "3", "Myelosclerosis with myeloid metaplasia" ], [ "9962", "3", "Essential thrombocythemia" ], [ "9963", "3", "Chronic neutrophilic leukemia" ], [ "9964", "3", "Hypereosinophilic syndrome" ], [ "9970", "1", "Lymphoproliferative disorder, NOS" ], [ "9975", "1", "Myeloproliferative disease, NOS" ], [ "9980", "3", "Refractory anemia" ], [ "9982", "3", "Refractory anemia with sideroblasts" ], [ "9983", "3", "Refractory anemia with excess blasts" ], [ "9984", "3", "Refractory anemia with excess blasts in transformation [obs]" ], [ "9985", "3", "Refractory cytopenia with multilineage dysplasia" ], [ "9986", "3", "Myelodysplastic syndrome with 5q deletion (5q-) syndrome" ], [ "9987", "3", "Therapy-related myelodysplastic syndrome, NOS" ], [ "9989", "3", "Myelodysplastic syndrome, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pan.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pan.json deleted file mode 100644 index 27fa86e31..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_pan.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ajcc6_exclusions_pan", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Exclusions", - "title" : "Histology Exclusion Table AJCC 6th ed.", - "notes" : "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. For these cases, displayed results will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified" : "2015-05-27T16:18:47.213Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8240", "1", "Carcinoid tumor of uncertain malignant potential" ], [ "8240", "3", "Carcinoid tumor, NOS (except of appendix M-8240/1)" ], [ "8241", "3", "Enterochromaffin cell carcinoid" ], [ "8242", "1", "Enterochromaffin-like cell carcinoid, NOS" ], [ "8242", "3", "Enterochromaffin-like cell tumor, malignant" ], [ "8243", "3", "Goblet cell carcinoid" ], [ "8248", "1", "Apudoma" ], [ "8249", "3", "Atypical carcinoid tumor" ], [ "8680", "0", "Paraganglioma, benign" ], [ "8680", "1", "Paraganglioma, NOS" ], [ "8680", "3", "Paraganglioma, malignant" ], [ "8681", "1", "Sympathetic paraganglioma" ], [ "8682", "1", "Parasympathetic paraganglioma" ], [ "8683", "0", "Gangliocytic paraganglioma (C17.0)" ], [ "8690", "1", "Glomus jugulare tumor, NOS (C75.5)" ], [ "8691", "1", "Aortic body tumor (C75.5)" ], [ "8692", "1", "Carotid body tumor (C75.4)" ], [ "8693", "1", "Extra-adrenal paraganglioma, NOS" ], [ "8693", "3", "Extra-adrenal paraganglioma, malignant" ], [ "8700", "0", "Pheochromocytoma, NOS (C74.1)" ], [ "8700", "3", "Pheochromocytoma, malignant (C74.1)" ], [ "8710", "3", "Glomangiosarcoma" ], [ "8711", "0", "Glomus tumor, NOS" ], [ "8711", "3", "Glomus tumor, malignant" ], [ "8712", "0", "Glomangioma" ], [ "8713", "0", "Glomangiomyoma" ], [ "8720", "0", "Pigmented nevus, NOS (C44._)" ], [ "8720", "2", "Melanoma in situ" ], [ "8720", "3", "Malignant melanoma, NOS (except juvenile melanoma M-8770/0)" ], [ "8721", "3", "Nodular melanoma (C44._)" ], [ "8722", "0", "Balloon cell nevus (C44._)" ], [ "8722", "3", "Balloon cell melanoma (C44._)" ], [ "8723", "0", "Halo nevus (C44._)" ], [ "8723", "3", "Malignant melanoma, regressing (C44._)" ], [ "8725", "0", "Neuronevus (C44._)" ], [ "8726", "0", "Magnocellular nevus (C69.4)" ], [ "8727", "0", "Dysplastic nevus (C44._)" ], [ "8728", "0", "Diffuse melanocytosis (C70.9) " ], [ "8728", "1", "Meningeal melanocytoma (C70.9)" ], [ "8728", "3", "Meningeal melanomatosis (C70.9)" ], [ "8730", "0", "Nonpigmented nevus (C44._)" ], [ "8730", "3", "Amelanotic melanoma (C44._)" ], [ "8740", "0", "Junctional nevus, NOS (C44._)" ], [ "8740", "3", "Malignant melanoma in junctional nevus (C44._)" ], [ "8741", "2", "Precancerous melanosis, NOS (C44._)" ], [ "8741", "3", "Malignant melanoma in precancerous melanosis (C44._)" ], [ "8742", "2", "Lentigo maligna (C44._)" ], [ "8742", "3", "Lentigo maligna melanoma (C44._)" ], [ "8743", "3", "Superficial spreading melanoma (C44._)" ], [ "8744", "3", "Acral lentiginous melanoma, malignant (C44._)" ], [ "8745", "3", "Desmoplastic melanoma, malignant (C44._)" ], [ "8746", "3", "Mucosal lentiginous melanoma" ], [ "8750", "0", "Intradermal nevus (C44._)" ], [ "8760", "0", "Compound nevus (C44._)" ], [ "8761", "0", "Small congenital nevus (C44._)" ], [ "8761", "1", "Giant pigmented nevus, NOS (C44._)" ], [ "8761", "3", "Malignant melanoma in giant pigmented nevus (C44._)" ], [ "8762", "1", "Proliferative dermal lesion in congenital nevus (C44._)" ], [ "8770", "0", "Epithelioid and spindle cell nevus (C44._)" ], [ "8770", "3", "Mixed epithelioid and spindle cell melanoma" ], [ "8771", "0", "Epithelioid cell nevus (C44._)" ], [ "8771", "3", "Epithelioid cell melanoma" ], [ "8772", "0", "Spindle cell nevus, NOS (C44._)" ], [ "8772", "3", "Spindle cell melanoma, NOS" ], [ "8773", "3", "Spindle cell melanoma, type A (C69._)" ], [ "8774", "3", "Spindle cell melanoma, type B (C69._)" ], [ "8780", "0", "Blue nevus, NOS (C44._)" ], [ "8780", "3", "Blue nevus, malignant (C44._)" ], [ "8790", "0", "Cellular blue nevus (C44._)" ], [ "8800", "0", "Soft tissue tumor, benign" ], [ "8800", "3", "Sarcoma, NOS" ], [ "8800", "9", "Sarcomatosis, NOS" ], [ "8801", "3", "Spindle cell sarcoma" ], [ "8802", "3", "Giant cell sarcoma (except of bone M-9250/3)" ], [ "8803", "3", "Small cell sarcoma" ], [ "8804", "3", "Epithelioid sarcoma" ], [ "8805", "3", "Undifferentiated sarcoma" ], [ "8806", "3", "Desmoplastic small round cell tumor" ], [ "8810", "0", "Fibroma, NOS" ], [ "8810", "1", "Cellular fibroma (C56.9)" ], [ "8810", "3", "Fibrosarcoma, NOS" ], [ "8811", "0", "Fibromyxoma" ], [ "8811", "3", "Fibromyxosarcoma" ], [ "8812", "0", "Periosteal fibroma (C40._, C41._)" ], [ "8812", "3", "Periosteal fibrosarcoma (C40._, C41._)" ], [ "8813", "0", "Fascial fibroma" ], [ "8813", "3", "Fascial fibrosarcoma" ], [ "8814", "3", "Infantile fibrosarcoma" ], [ "8815", "0", "Solitary fibrous tumor" ], [ "8815", "3", "Solitary fibrous tumor, malignant" ], [ "8820", "0", "Elastofibroma" ], [ "8821", "1", "Aggressive fibromatosis" ], [ "8822", "1", "Abdominal fibromatosis" ], [ "8823", "0", "Desmoplastic fibroma" ], [ "8824", "0", "Myofibroma " ], [ "8824", "1", "Myofibromatosis" ], [ "8825", "0", "Myofibroblastoma" ], [ "8825", "1", "Myofibroblastic tumor, NOS" ], [ "8826", "0", "Angiomyofibroblastoma" ], [ "8827", "1", "Myofibroblastic tumor, peribronchial (C34._)" ], [ "8830", "0", "Benign fibrous histiocytoma" ], [ "8830", "1", "Atypical fibrous histiocytoma" ], [ "8830", "3", "Malignant fibrous histiocytoma" ], [ "8831", "0", "Histiocytoma, NOS" ], [ "8832", "0", "Dermatofibroma, NOS (C44._)" ], [ "8832", "3", "Dermatofibrosarcoma, NOS (C44._)" ], [ "8833", "3", "Pigmented dermatofibrosarcoma protuberans (C44._)" ], [ "8834", "1", "Giant cell fibroblastoma" ], [ "8835", "1", "Plexiform fibrohistiocytic tumor" ], [ "8836", "1", "Angiomatoid fibrous histiocytoma" ], [ "8840", "0", "Myxoma, NOS" ], [ "8840", "3", "Myxosarcoma" ], [ "8841", "1", "Angiomyxoma" ], [ "8842", "0", "Ossifying fibromyxoid tumor" ], [ "8850", "0", "Lipoma, NOS" ], [ "8850", "1", "Atypical lipoma" ], [ "8850", "3", "Liposarcoma, NOS" ], [ "8851", "0", "Fibrolipoma" ], [ "8851", "3", "Liposarcoma, well differentiated" ], [ "8852", "0", "Fibromyxolipoma" ], [ "8852", "3", "Myxoid liposarcoma" ], [ "8853", "3", "Round cell liposarcoma" ], [ "8854", "0", "Pleomorphic lipoma" ], [ "8854", "3", "Pleomorphic liposarcoma" ], [ "8855", "3", "Mixed liposarcoma" ], [ "8856", "0", "Intramuscular lipoma" ], [ "8857", "0", "Spindle cell lipoma" ], [ "8857", "3", "Fibroblastic liposarcoma" ], [ "8858", "3", "Dedifferentiated liposarcoma" ], [ "8860", "0", "Angiomyolipoma" ], [ "8861", "0", "Angiolipoma, NOS" ], [ "8862", "0", "Chondroid lipoma" ], [ "8870", "0", "Myelolipoma" ], [ "8880", "0", "Hibernoma" ], [ "8881", "0", "Lipoblastomatosis" ], [ "8890", "0", "Leiomyoma, NOS" ], [ "8890", "1", "Leiomyomatosis, NOS" ], [ "8890", "3", "Leiomyosarcoma, NOS" ], [ "8891", "0", "Epithelioid leiomyoma" ], [ "8891", "3", "Epithelioid leiomyosarcoma" ], [ "8892", "0", "Cellular leiomyoma" ], [ "8893", "0", "Bizarre leiomyoma" ], [ "8894", "0", "Angiomyoma" ], [ "8894", "3", "Angiomyosarcoma" ], [ "8895", "0", "Myoma" ], [ "8895", "3", "Myosarcoma" ], [ "8896", "3", "Myxoid leiomyosarcoma" ], [ "8897", "1", "Smooth muscle tumor of uncertain malignant potential" ], [ "8898", "1", "Metastasizing leiomyoma" ], [ "8900", "0", "Rhabdomyoma, NOS" ], [ "8900", "3", "Rhabdomyosarcoma, NOS" ], [ "8901", "3", "Pleomorphic rhabdomyosarcoma, adult type" ], [ "8902", "3", "Mixed type rhabdomyosarcoma" ], [ "8903", "0", "Fetal rhabdomyoma" ], [ "8904", "0", "Adult rhabdomyoma" ], [ "8905", "0", "Genital rhabdomyoma (C51._, C52.9)" ], [ "8910", "3", "Embryonal rhabdomyosarcoma, NOS" ], [ "8912", "3", "Spindle cell rhabdomyosarcoma" ], [ "8920", "3", "Alveolar rhabdomyosarcoma" ], [ "8921", "3", "Rhabdomyosarcoma with ganglionic differentiation" ], [ "8930", "0", "Endometrial stromal nodule (C54.1)" ], [ "8930", "3", "Endometrial stromal sarcoma, NOS (C54.1)" ], [ "8931", "3", "Endometrial stromal sarcoma, low grade (C54.1)" ], [ "8932", "0", "Adenomyoma" ], [ "8933", "3", "Adenosarcoma" ], [ "8934", "3", "Carcinofibroma" ], [ "8935", "0", "Stromal tumor, benign" ], [ "8935", "1", "Stromal tumor, NOS" ], [ "8935", "3", "Stromal sarcoma, NOS" ], [ "8936", "0", "Gastrointestinal stromal tumor, benign" ], [ "8936", "1", "Gastrointestinal stromal tumor, NOS" ], [ "8936", "3", "Gastrointestinal stromal sarcoma" ], [ "8950", "3", "Mullerian mixed tumor (C54._)" ], [ "8951", "3", "Mesodermal mixed tumor" ], [ "8959", "0", "Benign cystic nephroma (C64.9)" ], [ "8959", "1", "Cystic partially differentiated nephroblastoma (C64.9)" ], [ "8959", "3", "Malignant cystic nephroma (C64.9)" ], [ "8960", "1", "Mesoblastic nephroma" ], [ "8960", "3", "Nephroblastoma, NOS (C64.9)" ], [ "8963", "3", "Malignant rhabdoid tumor" ], [ "8964", "3", "Clear cell sarcoma of kidney (C64.9)" ], [ "8965", "0", "Nephrogenic adenofibroma (C64.9)" ], [ "8966", "0", "Renomedullary interstitial cell tumor (C64.9)" ], [ "8967", "0", "Ossifying renal tumor (C64.9)" ], [ "8970", "3", "Hepatoblastoma (C22.0)" ], [ "8971", "3", "Pancreatoblastoma (C25._)" ], [ "8972", "3", "Pulmonary blastoma (C34._)" ], [ "8973", "3", "Pleuropulmonary blastoma" ], [ "8974", "1", "Sialoblastoma" ], [ "8980", "3", "Carcinosarcoma, NOS" ], [ "8981", "3", "Carcinosarcoma, embryonal" ], [ "8983", "0", "Adenomyoepithelioma (C50._)" ], [ "8990", "0", "Mesenchymoma, benign" ], [ "8990", "1", "Mesenchymoma, NOS" ], [ "8990", "3", "Mesenchymoma, malignant" ], [ "8991", "3", "Embryonal sarcoma" ], [ "9000", "0", "Brenner tumor, NOS (C56.9)" ], [ "9000", "1", "Brenner tumor, borderline malignancy (C56.9)" ], [ "9000", "3", "Brenner tumor, malignant (C56.9)" ], [ "9010", "0", "Fibroadenoma, NOS (C50._)" ], [ "9011", "0", "Intracanalicular fibroadenoma (C50._)" ], [ "9012", "0", "Pericanalicular fibroadenoma (C50._)" ], [ "9013", "0", "Adenofibroma, NOS" ], [ "9014", "0", "Serous adenofibroma, NOS" ], [ "9014", "1", "Serous adenofibroma of borderline malignancy" ], [ "9014", "3", "Serous adenocarcinofibroma" ], [ "9015", "0", "Mucinous adenofibroma, NOS" ], [ "9015", "1", "Mucinous adenofibroma of borderline malignancy" ], [ "9015", "3", "Mucinous adenocarcinofibroma" ], [ "9016", "0", "Giant fibroadenoma (C50._)" ], [ "9030", "0", "Juvenile fibroadenoma (C50._)" ], [ "9040", "0", "Synovioma, benign" ], [ "9040", "3", "Synovial sarcoma, NOS" ], [ "9041", "3", "Synovial sarcoma, spindle cell" ], [ "9042", "3", "Synovial sarcoma, epithelioid cell" ], [ "9043", "3", "Synovial sarcoma, biphasic" ], [ "9044", "3", "Clear cell sarcoma, NOS (except of kidney M-8964/3)" ], [ "9050", "0", "Mesothelioma, benign" ], [ "9050", "3", "Mesothelioma, malignant" ], [ "9051", "0", "Fibrous mesothelioma, benign" ], [ "9051", "3", "Fibrous mesothelioma, malignant" ], [ "9052", "0", "Epithelioid mesothelioma, benign" ], [ "9052", "3", "Epithelioid mesothelioma, malignant" ], [ "9053", "3", "Mesothelioma, biphasic, malignant" ], [ "9054", "0", "Adenomatoid tumor, NOS" ], [ "9055", "0", "Multicystic mesothelioma, benign" ], [ "9055", "1", "Cystic mesothelioma, NOS (C48._)" ], [ "9060", "3", "Dysgerminoma" ], [ "9061", "3", "Seminoma, NOS (C62._)" ], [ "9062", "3", "Seminoma, anaplastic (C62._)" ], [ "9063", "3", "Spermatocytic seminoma (C62._)" ], [ "9064", "2", "Intratubular malignant germ cells (C62._)" ], [ "9064", "3", "Germinoma" ], [ "9065", "3", "Germ cell tumor, nonseminomatous (C62._)" ], [ "9070", "3", "Embryonal carcinoma, NOS" ], [ "9071", "3", "Yolk sac tumor" ], [ "9072", "3", "Polyembryoma" ], [ "9073", "1", "Gonadoblastoma" ], [ "9080", "0", "Teratoma, benign" ], [ "9080", "1", "Teratoma, NOS" ], [ "9080", "3", "Teratoma, malignant, NOS" ], [ "9081", "3", "Teratocarcinoma" ], [ "9082", "3", "Malignant teratoma, undifferentiated" ], [ "9083", "3", "Malignant teratoma, intermediate" ], [ "9084", "0", "Dermoid cyst, NOS" ], [ "9084", "3", "Teratoma with malignant transformation" ], [ "9085", "3", "Mixed germ cell tumor" ], [ "9090", "0", "Struma ovarii, NOS (C56.9)" ], [ "9090", "3", "Struma ovarii, malignant (C56.9)" ], [ "9091", "1", "Strumal carcinoid (C56.9)" ], [ "9100", "0", "Hydatidiform mole, NOS (C58.9)" ], [ "9100", "1", "Invasive hydatidiform mole (C58.9)" ], [ "9100", "3", "Choriocarcinoma, NOS" ], [ "9101", "3", "Choriocarcinoma combined with other germ cell elements" ], [ "9102", "3", "Malignant teratoma, trophoblastic" ], [ "9103", "0", "Partial hydatidiform mole (C58.9)" ], [ "9104", "1", "Placental site trophoblastic tumor (C58.9)" ], [ "9105", "3", "Trophoblastic tumor, epithelioid" ], [ "9110", "0", "Mesonephroma, benign" ], [ "9110", "1", "Mesonephric tumor, NOS" ], [ "9110", "3", "Mesonephroma, malignant" ], [ "9120", "0", "Hemangioma, NOS" ], [ "9120", "3", "Hemangiosarcoma" ], [ "9121", "0", "Cavernous hemangioma" ], [ "9122", "0", "Venous hemangioma" ], [ "9123", "0", "Racemose hemangioma" ], [ "9124", "3", "Kupffer cell sarcoma (C22.0)" ], [ "9125", "0", "Epithelioid hemangioma" ], [ "9130", "0", "Hemangioendothelioma, benign" ], [ "9130", "1", "Hemangioendothelioma, NOS" ], [ "9130", "3", "Hemangioendothelioma, malignant" ], [ "9131", "0", "Capillary hemangioma" ], [ "9132", "0", "Intramuscular hemangioma" ], [ "9133", "1", "Epithelioid hemangioendothelioma, NOS" ], [ "9133", "3", "Epithelioid hemangioendothelioma, malignant" ], [ "9135", "1", "Endovascular papillary angioendothelioma" ], [ "9136", "1", "Spindle cell hemangioendothelioma " ], [ "9140", "3", "Kaposi sarcoma" ], [ "9141", "0", "Angiokeratoma" ], [ "9142", "0", "Verrucous keratotic hemangioma" ], [ "9150", "0", "Hemangiopericytoma, benign" ], [ "9150", "1", "Hemangiopericytoma, NOS" ], [ "9150", "3", "Hemangiopericytoma, malignant" ], [ "9160", "0", "Angiofibroma, NOS" ], [ "9161", "0", "Acquired tufted hemangioma" ], [ "9161", "1", "Hemangioblastoma" ], [ "9170", "0", "Lymphangioma, NOS" ], [ "9170", "3", "Lymphangiosarcoma" ], [ "9171", "0", "Capillary lymphangioma" ], [ "9172", "0", "Cavernous lymphangioma" ], [ "9173", "0", "Cystic lymphangioma" ], [ "9174", "0", "Lymphangiomyoma" ], [ "9174", "1", "Lymphangiomyomatosis" ], [ "9175", "0", "Hemolymphangioma" ], [ "9180", "0", "Osteoma, NOS (C40._, C41._)" ], [ "9180", "3", "Osteosarcoma, NOS (C40._, C41._)" ], [ "9181", "3", "Chondroblastic osteosarcoma (C40._, C41._)" ], [ "9182", "3", "Fibroblastic osteosarcoma (C40._, C41._)" ], [ "9183", "3", "Telangiectatic osteosarcoma (C40._, C41._)" ], [ "9184", "3", "Osteosarcoma in Paget disease of bone (C40._, C41._)" ], [ "9185", "3", "Small cell osteosarcoma (C40._, C41._)" ], [ "9186", "3", "Central osteosarcoma (C40._, C41._)" ], [ "9187", "3", "Intraosseous well differentiated osteosarcoma (C40._, C41._)" ], [ "9191", "0", "Osteoid osteoma, NOS (C40._, C41._)" ], [ "9192", "3", "Parosteal osteosarcoma (C40._, C41._)" ], [ "9193", "3", "Periosteal osteosarcoma (C40._, C41._)" ], [ "9194", "3", "High grade surface osteosarcoma (C40._, C41._)" ], [ "9195", "3", "Intracortical osteosarcoma (C40._, C41._)" ], [ "9200", "0", "Osteoblastoma, NOS (C40._, C41._)" ], [ "9200", "1", "Aggressive osteoblastoma (C40._, C41._)" ], [ "9210", "0", "Osteochondroma (C40._, C41._)" ], [ "9210", "1", "Osteochondromatosis, NOS (C40._, C41._)" ], [ "9220", "0", "Chondroma, NOS (C40._, C41._)" ], [ "9220", "1", "Chondromatosis, NOS" ], [ "9220", "3", "Chondrosarcoma, NOS (C40._, C41._)" ], [ "9221", "0", "Juxtacortical chondroma (C40._, C41._)" ], [ "9221", "3", "Juxtacortical chondrosarcoma (C40._, C41._)" ], [ "9230", "0", "Chondroblastoma, NOS (C40._, C41._)" ], [ "9230", "3", "Chondroblastoma, malignant (C40._, C41._)" ], [ "9231", "3", "Myxoid chondrosarcoma" ], [ "9240", "3", "Mesenchymal chondrosarcoma" ], [ "9241", "0", "Chondromyxoid fibroma (C40._, C41._)" ], [ "9242", "3", "Clear cell chondrosarcoma (C40._, C41._)" ], [ "9243", "3", "Dedifferentiated chondrosarcoma (C40._, C41._)" ], [ "9250", "1", "Giant cell tumor of bone, NOS (C40._, C41._)" ], [ "9250", "3", "Giant cell tumor of bone, malignant (C40._, C41._)" ], [ "9251", "1", "Giant cell tumor of soft parts, NOS" ], [ "9251", "3", "Malignant giant cell tumor of soft parts" ], [ "9252", "0", "Tenosynovial giant cell tumor (C49._)" ], [ "9252", "3", "Malignant tenosynovial giant cell tumor (C49._)" ], [ "9260", "3", "Ewing sarcoma" ], [ "9261", "3", "Adamantinoma of long bones (C40._)" ], [ "9262", "0", "Ossifying fibroma" ], [ "9270", "0", "Odontogenic tumor, benign" ], [ "9270", "1", "Odontogenic tumor, NOS" ], [ "9270", "3", "Odontogenic tumor, malignant" ], [ "9271", "0", "Ameloblastic fibrodentinoma" ], [ "9272", "0", "Cementoma, NOS" ], [ "9273", "0", "Cementoblastoma, benign" ], [ "9274", "0", "Cementifying fibroma" ], [ "9275", "0", "Gigantiform cementoma" ], [ "9280", "0", "Odontoma, NOS" ], [ "9281", "0", "Compound odontoma" ], [ "9282", "0", "Complex odontoma" ], [ "9290", "0", "Ameloblastic fibro-odontoma" ], [ "9290", "3", "Ameloblastic odontosarcoma" ], [ "9300", "0", "Adenomatoid odontogenic tumor" ], [ "9301", "0", "Calcifying odontogenic cyst" ], [ "9302", "0", "Odontogenic ghost cell tumor" ], [ "9310", "0", "Ameloblastoma, NOS" ], [ "9310", "3", "Ameloblastoma, malignant" ], [ "9311", "0", "Odontoameloblastoma" ], [ "9312", "0", "Squamous odontogenic tumor" ], [ "9320", "0", "Odontogenic myxoma" ], [ "9321", "0", "Central odontogenic fibroma" ], [ "9322", "0", "Peripheral odontogenic fibroma" ], [ "9330", "0", "Ameloblastic fibroma" ], [ "9330", "3", "Ameloblastic fibrosarcoma" ], [ "9340", "0", "Calcifying epithelial odontogenic tumor" ], [ "9341", "1", "Clear cell odontogenic tumor" ], [ "9342", "3", "Odontogenic carcinosarcoma" ], [ "9350", "1", "Craniopharyngioma (C75.2)" ], [ "9351", "1", "Craniopharyngioma, adamantinomatous (C75.2)" ], [ "9352", "1", "Craniopharyngioma, papillary (C75.2)" ], [ "9360", "1", "Pinealoma (C75.3)" ], [ "9361", "1", "Pineocytoma (C75.3)" ], [ "9362", "3", "Pineoblastoma (C75.3)" ], [ "9363", "0", "Melanotic neuroectodermal tumor" ], [ "9364", "3", "Peripheral neuroectodermal tumor" ], [ "9365", "3", "Askin tumor" ], [ "9370", "3", "Chordoma, NOS" ], [ "9371", "3", "Chondroid chordoma" ], [ "9372", "3", "Dedifferentiated chordoma" ], [ "9373", "0", "Parachordoma" ], [ "9380", "3", "Glioma, malignant (C71._)" ], [ "9381", "3", "Gliomatosis cerebri (C71._)" ], [ "9382", "3", "Mixed glioma (C71._)" ], [ "9383", "1", "Subependymoma (C71._)" ], [ "9384", "1", "Subependymal giant cell astrocytoma (C71._)" ], [ "9390", "0", "Choroid plexus papilloma, NOS (C71.5)" ], [ "9390", "1", "Atypical choroid plexus papilloma (C71.5)" ], [ "9390", "3", "Choroid plexus carcinoma (C71.5)" ], [ "9391", "3", "Ependymoma, NOS (C71._)" ], [ "9392", "3", "Ependymoma, anaplastic (C71._)" ], [ "9393", "3", "Papillary ependymoma (C71._)" ], [ "9394", "1", "Myxopapillary ependymoma (C72.0)" ], [ "9400", "3", "Astrocytoma, NOS (C71._)" ], [ "9401", "3", "Astrocytoma, anaplastic (C71._)" ], [ "9410", "3", "Protoplasmic astrocytoma (C71._)" ], [ "9411", "3", "Gemistocytic astrocytoma (C71._)" ], [ "9412", "1", "Desmoplastic infantile astrocytoma (C71._)" ], [ "9413", "0", "Dysembryoplastic neuroepithelial tumor" ], [ "9420", "3", "Fibrillary astrocytoma (C71._)" ], [ "9421", "1", "Pilocytic astrocytoma (C71._)" ], [ "9423", "3", "Polar spongioblastoma (C71._)" ], [ "9424", "3", "Pleomorphic xanthoastrocytoma (C71._)" ], [ "9430", "3", "Astroblastoma (C71._)" ], [ "9440", "3", "Glioblastoma, NOS (C71._)" ], [ "9441", "3", "Giant cell glioblastoma (C71._)" ], [ "9442", "1", "Gliofibroma (C71._)" ], [ "9442", "3", "Gliosarcoma (C71._)" ], [ "9444", "1", "Chordoid glioma (C71._)" ], [ "9450", "3", "Oligodendroglioma, NOS (C71._)" ], [ "9451", "3", "Oligodendroglioma, anaplastic (C71._)" ], [ "9460", "3", "Oligodendroblastoma (C71._) [obs]" ], [ "9470", "3", "Medulloblastoma, NOS (C71.6)" ], [ "9471", "3", "Desmoplastic nodular medulloblastoma (C71.6)" ], [ "9472", "3", "Medullomyoblastoma (C71.6)" ], [ "9473", "3", "Primitive neuroectodermal tumor, NOS" ], [ "9474", "3", "Large cell medulloblastoma (C71.6)" ], [ "9480", "3", "Cerebellar sarcoma, NOS (C71.6) [obs]" ], [ "9490", "0", "Ganglioneuroma" ], [ "9490", "3", "Ganglioneuroblastoma" ], [ "9491", "0", "Ganglioneuromatosis" ], [ "9492", "0", "Gangliocytoma" ], [ "9493", "0", "Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" ], [ "9500", "3", "Neuroblastoma, NOS" ], [ "9501", "0", "Medulloepithelioma, benign (C69.4)" ], [ "9501", "3", "Medulloepithelioma, NOS" ], [ "9502", "0", "Teratoid medulloepithelioma, benign (C69.4)" ], [ "9502", "3", "Teratoid medulloepithelioma" ], [ "9503", "3", "Neuroepithelioma, NOS" ], [ "9504", "3", "Spongioneuroblastoma" ], [ "9505", "1", "Ganglioglioma, NOS" ], [ "9505", "3", "Ganglioglioma, anaplastic" ], [ "9506", "1", "Central neurocytoma" ], [ "9507", "0", "Pacinian tumor" ], [ "9508", "3", "Atypical teratoid/rhabdoid tumor (C71._)" ], [ "9510", "0", "Retinocytoma (C69.2)" ], [ "9510", "3", "Retinoblastoma, NOS (C69.2)" ], [ "9511", "3", "Retinoblastoma, differentiated (C69.2)" ], [ "9512", "3", "Retinoblastoma, undifferentiated (C69.2)" ], [ "9513", "3", "Retinoblastoma, diffuse (C69.2)" ], [ "9514", "1", "Retinoblastoma, spontaneously regressed (C69.2)" ], [ "9520", "3", "Olfactory neurogenic tumor" ], [ "9521", "3", "Olfactory neurocytoma (C30.0)" ], [ "9522", "3", "Olfactory neuroblastoma (C30.0)" ], [ "9523", "3", "Olfactory neuroepithelioma (C30.0)" ], [ "9530", "0", "Meningioma, NOS" ], [ "9530", "1", "Meningiomatosis, NOS" ], [ "9530", "3", "Meningioma, malignant" ], [ "9531", "0", "Meningothelial meningioma" ], [ "9532", "0", "Fibrous meningioma" ], [ "9533", "0", "Psammomatous meningioma" ], [ "9534", "0", "Angiomatous meningioma" ], [ "9535", "0", "Hemangioblastic meningioma [obs]" ], [ "9537", "0", "Transitional meningioma" ], [ "9538", "1", "Clear cell meningioma" ], [ "9538", "3", "Papillary meningioma" ], [ "9539", "1", "Atypical meningioma" ], [ "9539", "3", "Meningeal sarcomatosis" ], [ "9540", "0", "Neurofibroma, NOS" ], [ "9540", "1", "Neurofibromatosis, NOS" ], [ "9540", "3", "Malignant peripheral nerve sheath tumor" ], [ "9541", "0", "Melanotic neurofibroma" ], [ "9550", "0", "Plexiform neurofibroma" ], [ "9560", "0", "Neurilemoma, NOS" ], [ "9560", "1", "Neurinomatosis" ], [ "9560", "3", "Neurilemoma, malignant [obs]" ], [ "9561", "3", "Malignant peripheral nerve sheath tumor with rhabdomyoblastic differentiation" ], [ "9562", "0", "Neurothekeoma" ], [ "9570", "0", "Neuroma, NOS" ], [ "9571", "0", "Perineurioma, NOS" ], [ "9571", "3", "Perineurioma, malignant" ], [ "9580", "0", "Granular cell tumor, NOS" ], [ "9580", "3", "Granular cell tumor, malignant" ], [ "9581", "3", "Alveolar soft part sarcoma" ], [ "9582", "0", "Granular cell tumor of the sellar region (C75.1)" ], [ "9590", "3", "Malignant lymphoma, NOS" ], [ "9591", "3", "Malignant lymphoma, non-Hodgkin, NOS" ], [ "9596", "3", "Composite Hodgkin and non-Hodgkin lymphoma" ], [ "9650", "3", "Hodgkin lymphoma, NOS" ], [ "9651", "3", "Hodgkin lymphoma, lymphocyte-rich" ], [ "9652", "3", "Hodgkin lymphoma, mixed cellularity, NOS" ], [ "9653", "3", "Hodgkin lymphoma, lymphocyte depletion, NOS" ], [ "9654", "3", "Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" ], [ "9655", "3", "Hodgkin lymphoma, lymphocyte depletion, reticular" ], [ "9659", "3", "Hodgkin lymphoma, nodular lymphocyte predominance" ], [ "9661", "3", "Hodgkin granuloma [obs]" ], [ "9662", "3", "Hodgkin sarcoma [obs]" ], [ "9663", "3", "Hodgkin lymphoma, nodular sclerosis, NOS" ], [ "9664", "3", "Hodgkin lymphoma, nodular sclerosis, cellular phase" ], [ "9665", "3", "Hodgkin lymphoma, nodular sclerosis, grade 1" ], [ "9667", "3", "Hodgkin lymphoma, nodular sclerosis, grade 2" ], [ "9670", "3", "Malignant lymphoma, small B lymphocytic, NOS (see also M-9823/3)" ], [ "9671", "3", "Malignant lymphoma, lymphoplasmacytic (see also M-9761/3)" ], [ "9673", "3", "Mantle cell lymphoma" ], [ "9675", "3", "Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" ], [ "9678", "3", "Primary effusion lymphoma" ], [ "9679", "3", "Mediastinal large B-cell lymphoma (C38.3)" ], [ "9680", "3", "Malignant lymphoma, large B-cell, diffuse, NOS" ], [ "9684", "3", "Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" ], [ "9687", "3", "Burkitt lymphoma, NOS (see also M-9826/3)" ], [ "9689", "3", "Splenic marginal zone B-cell lymphoma (C42.2)" ], [ "9690", "3", "Follicular lymphoma, NOS (see also M-9675/3)" ], [ "9691", "3", "Follicular lymphoma, grade 2" ], [ "9695", "3", "Follicular lymphoma, grade 1" ], [ "9698", "3", "Follicular lymphoma, grade 3" ], [ "9699", "3", "Marginal zone B-cell lymphoma, NOS" ], [ "9700", "3", "Mycosis fungoides (C44._)" ], [ "9701", "3", "Sezary syndrome" ], [ "9702", "3", "Mature T-cell lymphoma, NOS" ], [ "9705", "3", "Angioimmunoblastic T-cell lymphoma" ], [ "9708", "3", "Subcutaneous panniculitis-like T-cell lymphoma" ], [ "9709", "3", "Cutaneous T-cell lymphoma, NOS (C44._)" ], [ "9714", "3", "Anaplastic large cell lymphoma, T cell and Null cell type" ], [ "9716", "3", "Hepatosplenic ?? (gamma-delta) cell lymphoma" ], [ "9717", "3", "Intestinal T-cell lymphoma" ], [ "9718", "3", "Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" ], [ "9719", "3", "NK/T-cell lymphoma, nasal and nasal-type" ], [ "9727", "3", "Precursor cell lymphoblastic lymphoma, NOS (see also M-9835/3)" ], [ "9728", "3", "Precursor B-cell lymphoblastic lymphoma (see also M-9836/3)" ], [ "9729", "3", "Precursor T-cell lymphoblastic lymphoma (see also M-9837/3)" ], [ "9731", "3", "Plasmacytoma, NOS" ], [ "9732", "3", "Multiple myeloma (C42.1)" ], [ "9733", "3", "Plasma cell leukemia (C42.1)" ], [ "9734", "3", "Plasmacytoma, extramedullary (not occurring in bone)" ], [ "9740", "1", "Mastocytoma, NOS" ], [ "9740", "3", "Mast cell sarcoma" ], [ "9741", "3", "Malignant mastocytosis" ], [ "9742", "3", "Mast cell leukemia (C42.1)" ], [ "9750", "3", "Malignant histiocytosis" ], [ "9751", "1", "Langerhans cell histiocytosis, NOS" ], [ "9752", "1", "Langerhans cell histiocytosis, unifocal" ], [ "9753", "1", "Langerhans cell histiocytosis, multifocal" ], [ "9754", "3", "Langerhans cell histiocytosis, disseminated" ], [ "9755", "3", "Histiocytic sarcoma" ], [ "9756", "3", "Langerhans cell sarcoma" ], [ "9757", "3", "Interdigitating dendritic cell sarcoma" ], [ "9758", "3", "Follicular dendritic cell sarcoma" ], [ "9760", "3", "Immunoproliferative disease, NOS" ], [ "9761", "3", "Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" ], [ "9762", "3", "Heavy chain disease, NOS" ], [ "9764", "3", "Immunoproliferative small intestinal disease (C17._)" ], [ "9765", "1", "Monoclonal gammopathy of undetermined significance" ], [ "9766", "1", "Angiocentric immunoproliferative lesion" ], [ "9767", "1", "Angioimmunoblastic lymphadenopathy" ], [ "9768", "1", "T-gamma lymphoproliferative disease" ], [ "9769", "1", "Immunoglobulin deposition disease" ], [ "9800", "3", "Leukemia, NOS" ], [ "9801", "3", "Acute leukemia, NOS" ], [ "9805", "3", "Acute biphenotypic leukemia" ], [ "9820", "3", "Lymphoid leukemia, NOS" ], [ "9823", "3", "B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" ], [ "9826", "3", "Burkitt cell leukemia (see also M-9687/3)" ], [ "9827", "3", "Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" ], [ "9831", "1", "T-cell large granular lymphocytic leukemia" ], [ "9832", "3", "Prolymphocytic leukemia, NOS" ], [ "9833", "3", "Prolymphocytic leukemia, B-cell type" ], [ "9834", "3", "Prolymphocytic leukemia, T-cell type" ], [ "9835", "3", "Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" ], [ "9836", "3", "Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" ], [ "9837", "3", "Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" ], [ "9840", "3", "Acute myeloid leukemia, M6 type" ], [ "9860", "3", "Myeloid leukemia, NOS" ], [ "9861", "3", "Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" ], [ "9863", "3", "Chronic myeloid leukemia, NOS" ], [ "9866", "3", "Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" ], [ "9867", "3", "Acute myelomonocytic leukemia" ], [ "9870", "3", "Acute basophilic leukemia" ], [ "9871", "3", "Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" ], [ "9872", "3", "Acute myeloid leukemia, minimal differentiation" ], [ "9873", "3", "Acute myeloid leukemia without maturation" ], [ "9874", "3", "Acute myeloid leukemia with maturation" ], [ "9875", "3", "Chronic myelogenous leukemia, BCR/ABL positive" ], [ "9876", "3", "Atypical chronic myeloid leukemia, BCR/ABL negative" ], [ "9891", "3", "Acute monocytic leukemia" ], [ "9895", "3", "Acute myeloid leukemia with multilineage dysplasia" ], [ "9896", "3", "Acute myeloid leukemia, t(8;21)(q22;q22)" ], [ "9897", "3", "Acute myeloid leukemia, 11q23 abnormalities" ], [ "9910", "3", "Acute megakaryoblastic leukemia" ], [ "9920", "3", "Therapy-related acute myeloid leukemia, NOS" ], [ "9930", "3", "Myeloid sarcoma (see also M-9861/3)" ], [ "9931", "3", "Acute panmyelosis with myelofibrosis (C42.1)" ], [ "9940", "3", "Hairy cell leukemia (C42.1)" ], [ "9945", "3", "Chronic myelomonocytic leukemia, NOS" ], [ "9946", "3", "Juvenile myelomonocytic leukemia" ], [ "9948", "3", "Aggressive NK-cell leukemia" ], [ "9950", "3", "Polycythemia vera" ], [ "9960", "3", "Chronic myeloproliferative disease, NOS" ], [ "9961", "3", "Myelosclerosis with myeloid metaplasia" ], [ "9962", "3", "Essential thrombocythemia" ], [ "9963", "3", "Chronic neutrophilic leukemia" ], [ "9964", "3", "Hypereosinophilic syndrome" ], [ "9970", "1", "Lymphoproliferative disorder, NOS" ], [ "9975", "1", "Myeloproliferative disease, NOS" ], [ "9980", "3", "Refractory anemia" ], [ "9982", "3", "Refractory anemia with sideroblasts" ], [ "9983", "3", "Refractory anemia with excess blasts" ], [ "9984", "3", "Refractory anemia with excess blasts in transformation [obs]" ], [ "9985", "3", "Refractory cytopenia with multilineage dysplasia" ], [ "9986", "3", "Myelodysplastic syndrome with 5q deletion (5q-) syndrome" ], [ "9987", "3", "Therapy-related myelodysplastic syndrome, NOS" ], [ "9989", "3", "Myelodysplastic syndrome, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppb.json deleted file mode 100644 index 97d8c553f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppb.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ajcc6_exclusions_ppb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Exclusions", - "title" : "Histology Exclusion Table AJCC 6th ed.", - "notes" : "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. For these cases, displayed results will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified" : "2015-05-27T16:18:47.294Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8150", "0", "Islet cell adenoma (C25._)" ], [ "8150", "1", "Islet cell tumor, NOS (C25._)" ], [ "8150", "3", "Islet cell carcinoma (C25._)" ], [ "8151", "0", "Insulinoma, NOS (C25._)" ], [ "8151", "3", "Insulinoma, malignant (C25._)" ], [ "8152", "1", "Glucagonoma, NOS (C25._)" ], [ "8152", "3", "Glucagonoma, malignant (C25._)" ], [ "8153", "1", "Gastrinoma, NOS" ], [ "8153", "3", "Gastrinoma, malignant" ], [ "8154", "3", "Mixed islet cell and exocrine adenocarcinoma (C25._)" ], [ "8155", "1", "Vipoma, NOS" ], [ "8155", "3", "Vipoma, malignant" ], [ "8156", "1", "Somatostatinoma, NOS" ], [ "8156", "3", "Somatostatinoma, malignant" ], [ "8157", "1", "Enteroglucagonoma, NOS" ], [ "8157", "3", "Enteroglucagonoma, malignant" ], [ "8240", "1", "Carcinoid tumor of uncertain malignant potential" ], [ "8240", "3", "Carcinoid tumor, NOS (except of appendix M-8240/1)" ], [ "8241", "3", "Enterochromaffin cell carcinoid" ], [ "8242", "1", "Enterochromaffin-like cell carcinoid, NOS" ], [ "8242", "3", "Enterochromaffin-like cell tumor, malignant" ], [ "8243", "3", "Goblet cell carcinoid" ], [ "8248", "1", "Apudoma" ], [ "8249", "3", "Atypical carcinoid tumor" ], [ "8680", "0", "Paraganglioma, benign" ], [ "8680", "1", "Paraganglioma, NOS" ], [ "8680", "3", "Paraganglioma, malignant" ], [ "8681", "1", "Sympathetic paraganglioma" ], [ "8682", "1", "Parasympathetic paraganglioma" ], [ "8683", "0", "Gangliocytic paraganglioma (C17.0)" ], [ "8690", "1", "Glomus jugulare tumor, NOS (C75.5)" ], [ "8691", "1", "Aortic body tumor (C75.5)" ], [ "8692", "1", "Carotid body tumor (C75.4)" ], [ "8693", "1", "Extra-adrenal paraganglioma, NOS" ], [ "8693", "3", "Extra-adrenal paraganglioma, malignant" ], [ "8700", "0", "Pheochromocytoma, NOS (C74.1)" ], [ "8700", "3", "Pheochromocytoma, malignant (C74.1)" ], [ "8710", "3", "Glomangiosarcoma" ], [ "8711", "0", "Glomus tumor, NOS" ], [ "8711", "3", "Glomus tumor, malignant" ], [ "8712", "0", "Glomangioma" ], [ "8713", "0", "Glomangiomyoma" ], [ "8720", "0", "Pigmented nevus, NOS (C44._)" ], [ "8720", "2", "Melanoma in situ" ], [ "8720", "3", "Malignant melanoma, NOS (except juvenile melanoma M-8770/0)" ], [ "8721", "3", "Nodular melanoma (C44._)" ], [ "8722", "0", "Balloon cell nevus (C44._)" ], [ "8722", "3", "Balloon cell melanoma (C44._)" ], [ "8723", "0", "Halo nevus (C44._)" ], [ "8723", "3", "Malignant melanoma, regressing (C44._)" ], [ "8725", "0", "Neuronevus (C44._)" ], [ "8726", "0", "Magnocellular nevus (C69.4)" ], [ "8727", "0", "Dysplastic nevus (C44._)" ], [ "8728", "0", "Diffuse melanocytosis (C70.9)" ], [ "8728", "1", "Meningeal melanocytoma (C70.9)" ], [ "8728", "3", "Meningeal melanomatosis (C70.9)" ], [ "8730", "0", "Nonpigmented nevus (C44._)" ], [ "8730", "3", "Amelanotic melanoma (C44._)" ], [ "8740", "0", "Junctional nevus, NOS (C44._)" ], [ "8740", "3", "Malignant melanoma in junctional nevus (C44._)" ], [ "8741", "2", "Precancerous melanosis, NOS (C44._)" ], [ "8741", "3", "Malignant melanoma in precancerous melanosis (C44._)" ], [ "8742", "2", "Lentigo maligna (C44._)" ], [ "8742", "3", "Lentigo maligna melanoma (C44._)" ], [ "8743", "3", "Superficial spreading melanoma (C44._)" ], [ "8744", "3", "Acral lentiginous melanoma, malignant (C44._)" ], [ "8745", "3", "Desmoplastic melanoma, malignant (C44._)" ], [ "8746", "3", "Mucosal lentiginous melanoma" ], [ "8750", "0", "Intradermal nevus (C44._)" ], [ "8760", "0", "Compound nevus (C44._)" ], [ "8761", "0", "Small congenital nevus (C44._)" ], [ "8761", "1", "Giant pigmented nevus, NOS (C44._)" ], [ "8761", "3", "Malignant melanoma in giant pigmented nevus (C44._)" ], [ "8762", "1", "Proliferative dermal lesion in congenital nevus (C44._)" ], [ "8770", "0", "Epithelioid and spindle cell nevus (C44._)" ], [ "8770", "3", "Mixed epithelioid and spindle cell melanoma" ], [ "8771", "0", "Epithelioid cell nevus (C44._)" ], [ "8771", "3", "Epithelioid cell melanoma" ], [ "8772", "0", "Spindle cell nevus, NOS (C44._)" ], [ "8772", "3", "Spindle cell melanoma, NOS" ], [ "8773", "3", "Spindle cell melanoma, type A (C69._)" ], [ "8774", "3", "Spindle cell melanoma, type B (C69._)" ], [ "8780", "0", "Blue nevus, NOS (C44._)" ], [ "8780", "3", "Blue nevus, malignant (C44._)" ], [ "8790", "0", "Cellular blue nevus (C44._)" ], [ "8800", "0", "Soft tissue tumor, benign" ], [ "8800", "3", "Sarcoma, NOS" ], [ "8800", "9", "Sarcomatosis, NOS" ], [ "8801", "3", "Spindle cell sarcoma" ], [ "8802", "3", "Giant cell sarcoma (except of bone M-9250/3)" ], [ "8803", "3", "Small cell sarcoma" ], [ "8804", "3", "Epithelioid sarcoma" ], [ "8805", "3", "Undifferentiated sarcoma" ], [ "8806", "3", "Desmoplastic small round cell tumor" ], [ "8810", "0", "Fibroma, NOS" ], [ "8810", "1", "Cellular fibroma (C56.9)" ], [ "8810", "3", "Fibrosarcoma, NOS" ], [ "8811", "0", "Fibromyxoma" ], [ "8811", "3", "Fibromyxosarcoma" ], [ "8812", "0", "Periosteal fibroma (C40._, C41._)" ], [ "8812", "3", "Periosteal fibrosarcoma (C40._, C41._)" ], [ "8813", "0", "Fascial fibroma" ], [ "8813", "3", "Fascial fibrosarcoma" ], [ "8814", "3", "Infantile fibrosarcoma" ], [ "8815", "0", "Solitary fibrous tumor" ], [ "8815", "3", "Solitary fibrous tumor, malignant" ], [ "8820", "0", "Elastofibroma" ], [ "8821", "1", "Aggressive fibromatosis" ], [ "8822", "1", "Abdominal fibromatosis" ], [ "8823", "0", "Desmoplastic fibroma" ], [ "8824", "0", "Myofibroma" ], [ "8824", "1", "Myofibromatosis" ], [ "8825", "0", "Myofibroblastoma" ], [ "8825", "1", "Myofibroblastic tumor, NOS" ], [ "8826", "0", "Angiomyofibroblastoma" ], [ "8827", "1", "Myofibroblastic tumor, peribronchial (C34._)" ], [ "8830", "0", "Benign fibrous histiocytoma" ], [ "8830", "1", "Atypical fibrous histiocytoma" ], [ "8830", "3", "Malignant fibrous histiocytoma" ], [ "8831", "0", "Histiocytoma, NOS" ], [ "8832", "0", "Dermatofibroma, NOS (C44._)" ], [ "8832", "3", "Dermatofibrosarcoma, NOS (C44._)" ], [ "8833", "3", "Pigmented dermatofibrosarcoma protuberans (C44._)" ], [ "8834", "1", "Giant cell fibroblastoma" ], [ "8835", "1", "Plexiform fibrohistiocytic tumor" ], [ "8836", "1", "Angiomatoid fibrous histiocytoma" ], [ "8840", "0", "Myxoma, NOS" ], [ "8840", "3", "Myxosarcoma" ], [ "8841", "1", "Angiomyxoma" ], [ "8842", "0", "Ossifying fibromyxoid tumor" ], [ "8850", "0", "Lipoma, NOS" ], [ "8850", "1", "Atypical lipoma" ], [ "8850", "3", "Liposarcoma, NOS" ], [ "8851", "0", "Fibrolipoma" ], [ "8851", "3", "Liposarcoma, well differentiated" ], [ "8852", "0", "Fibromyxolipoma" ], [ "8852", "3", "Myxoid liposarcoma" ], [ "8853", "3", "Round cell liposarcoma" ], [ "8854", "0", "Pleomorphic lipoma" ], [ "8854", "3", "Pleomorphic liposarcoma" ], [ "8855", "3", "Mixed liposarcoma" ], [ "8856", "0", "Intramuscular lipoma" ], [ "8857", "0", "Spindle cell lipoma" ], [ "8857", "3", "Fibroblastic liposarcoma" ], [ "8858", "3", "Dedifferentiated liposarcoma" ], [ "8860", "0", "Angiomyolipoma" ], [ "8861", "0", "Angiolipoma, NOS" ], [ "8862", "0", "Chondroid lipoma" ], [ "8870", "0", "Myelolipoma" ], [ "8880", "0", "Hibernoma" ], [ "8881", "0", "Lipoblastomatosis" ], [ "8890", "0", "Leiomyoma, NOS" ], [ "8890", "1", "Leiomyomatosis, NOS" ], [ "8890", "3", "Leiomyosarcoma, NOS" ], [ "8891", "0", "Epithelioid leiomyoma" ], [ "8891", "3", "Epithelioid leiomyosarcoma" ], [ "8892", "0", "Cellular leiomyoma" ], [ "8893", "0", "Bizarre leiomyoma" ], [ "8894", "0", "Angiomyoma" ], [ "8894", "3", "Angiomyosarcoma" ], [ "8895", "0", "Myoma" ], [ "8895", "3", "Myosarcoma" ], [ "8896", "3", "Myxoid leiomyosarcoma" ], [ "8897", "1", "Smooth muscle tumor of uncertain malignant potential" ], [ "8898", "1", "Metastasizing leiomyoma" ], [ "8900", "0", "Rhabdomyoma, NOS" ], [ "8900", "3", "Rhabdomyosarcoma, NOS" ], [ "8901", "3", "Pleomorphic rhabdomyosarcoma, adult type" ], [ "8902", "3", "Mixed type rhabdomyosarcoma" ], [ "8903", "0", "Fetal rhabdomyoma" ], [ "8904", "0", "Adult rhabdomyoma" ], [ "8905", "0", "Genital rhabdomyoma (C51._, C52.9)" ], [ "8910", "3", "Embryonal rhabdomyosarcoma, NOS" ], [ "8912", "3", "Spindle cell rhabdomyosarcoma" ], [ "8920", "3", "Alveolar rhabdomyosarcoma" ], [ "8921", "3", "Rhabdomyosarcoma with ganglionic differentiation" ], [ "8930", "0", "Endometrial stromal nodule (C54.1)" ], [ "8930", "3", "Endometrial stromal sarcoma, NOS (C54.1)" ], [ "8931", "3", "Endometrial stromal sarcoma, low grade (C54.1)" ], [ "8932", "0", "Adenomyoma" ], [ "8933", "3", "Adenosarcoma" ], [ "8934", "3", "Carcinofibroma" ], [ "8935", "0", "Stromal tumor, benign" ], [ "8935", "1", "Stromal tumor, NOS" ], [ "8935", "3", "Stromal sarcoma, NOS" ], [ "8936", "0", "Gastrointestinal stromal tumor, benign" ], [ "8936", "1", "Gastrointestinal stromal tumor, NOS" ], [ "8936", "3", "Gastrointestinal stromal sarcoma" ], [ "8950", "3", "Mullerian mixed tumor (C54._)" ], [ "8951", "3", "Mesodermal mixed tumor" ], [ "8959", "0", "Benign cystic nephroma (C64.9)" ], [ "8959", "1", "Cystic partially differentiated nephroblastoma (C64.9)" ], [ "8959", "3", "Malignant cystic nephroma (C64.9)" ], [ "8960", "1", "Mesoblastic nephroma" ], [ "8960", "3", "Nephroblastoma, NOS (C64.9)" ], [ "8963", "3", "Malignant rhabdoid tumor" ], [ "8964", "3", "Clear cell sarcoma of kidney (C64.9)" ], [ "8965", "0", "Nephrogenic adenofibroma (C64.9)" ], [ "8966", "0", "Renomedullary interstitial cell tumor (C64.9)" ], [ "8967", "0", "Ossifying renal tumor (C64.9)" ], [ "8970", "3", "Hepatoblastoma (C22.0)" ], [ "8972", "3", "Pulmonary blastoma (C34._)" ], [ "8973", "3", "Pleuropulmonary blastoma" ], [ "8974", "1", "Sialoblastoma" ], [ "8980", "3", "Carcinosarcoma, NOS" ], [ "8981", "3", "Carcinosarcoma, embryonal" ], [ "8982", "0", "Myoepithelioma" ], [ "8982", "3", "Malignant myoepithelioma" ], [ "8983", "0", "Adenomyoepithelioma (C50._)" ], [ "8990", "0", "Mesenchymoma, benign" ], [ "8990", "1", "Mesenchymoma, NOS" ], [ "8990", "3", "Mesenchymoma, malignant" ], [ "8991", "3", "Embryonal sarcoma" ], [ "9000", "0", "Brenner tumor, NOS (C56.9)" ], [ "9000", "1", "Brenner tumor, borderline malignancy (C56.9)" ], [ "9000", "3", "Brenner tumor, malignant (C56.9)" ], [ "9010", "0", "Fibroadenoma, NOS (C50._)" ], [ "9011", "0", "Intracanalicular fibroadenoma (C50._)" ], [ "9012", "0", "Pericanalicular fibroadenoma (C50._)" ], [ "9013", "0", "Adenofibroma, NOS" ], [ "9014", "0", "Serous adenofibroma, NOS" ], [ "9014", "1", "Serous adenofibroma of borderline malignancy" ], [ "9014", "3", "Serous adenocarcinofibroma" ], [ "9015", "0", "Mucinous adenofibroma, NOS" ], [ "9015", "1", "Mucinous adenofibroma of borderline malignancy" ], [ "9015", "3", "Mucinous adenocarcinofibroma" ], [ "9016", "0", "Giant fibroadenoma (C50._)" ], [ "9020", "0", "Phyllodes tumor, benign (C50._)" ], [ "9020", "1", "Phyllodes tumor, borderline (C50._)" ], [ "9020", "3", "Phyllodes tumor, malignant (C50._)" ], [ "9030", "0", "Juvenile fibroadenoma (C50._)" ], [ "9040", "0", "Synovioma, benign" ], [ "9040", "3", "Synovial sarcoma, NOS" ], [ "9041", "3", "Synovial sarcoma, spindle cell" ], [ "9042", "3", "Synovial sarcoma, epithelioid cell" ], [ "9043", "3", "Synovial sarcoma, biphasic" ], [ "9044", "3", "Clear cell sarcoma, NOS (except of kidney M-8964/3)" ], [ "9050", "0", "Mesothelioma, benign" ], [ "9050", "3", "Mesothelioma, malignant" ], [ "9051", "0", "Fibrous mesothelioma, benign" ], [ "9051", "3", "Fibrous mesothelioma, malignant" ], [ "9052", "0", "Epithelioid mesothelioma, benign" ], [ "9052", "3", "Epithelioid mesothelioma, malignant" ], [ "9053", "3", "Mesothelioma, biphasic, malignant" ], [ "9054", "0", "Adenomatoid tumor, NOS" ], [ "9055", "0", "Multicystic mesothelioma, benign" ], [ "9055", "1", "Cystic mesothelioma, NOS (C48._)" ], [ "9060", "3", "Dysgerminoma" ], [ "9061", "3", "Seminoma, NOS (C62._)" ], [ "9062", "3", "Seminoma, anaplastic (C62._)" ], [ "9063", "3", "Spermatocytic seminoma (C62._)" ], [ "9064", "2", "Intratubular malignant germ cells (C62._)" ], [ "9064", "3", "Germinoma" ], [ "9065", "3", "Germ cell tumor, nonseminomatous (C62._)" ], [ "9070", "3", "Embryonal carcinoma, NOS" ], [ "9071", "3", "Yolk sac tumor" ], [ "9072", "3", "Polyembryoma" ], [ "9073", "1", "Gonadoblastoma" ], [ "9080", "0", "Teratoma, benign" ], [ "9080", "1", "Teratoma, NOS" ], [ "9080", "3", "Teratoma, malignant, NOS" ], [ "9081", "3", "Teratocarcinoma" ], [ "9082", "3", "Malignant teratoma, undifferentiated" ], [ "9083", "3", "Malignant teratoma, intermediate" ], [ "9084", "0", "Dermoid cyst, NOS" ], [ "9084", "3", "Teratoma with malignant transformation" ], [ "9085", "3", "Mixed germ cell tumor" ], [ "9090", "0", "Struma ovarii, NOS (C56.9)" ], [ "9090", "3", "Struma ovarii, malignant (C56.9)" ], [ "9091", "1", "Strumal carcinoid (C56.9)" ], [ "9100", "0", "Hydatidiform mole, NOS (C58.9)" ], [ "9100", "1", "Invasive hydatidiform mole (C58.9)" ], [ "9100", "3", "Choriocarcinoma, NOS" ], [ "9101", "3", "Choriocarcinoma combined with other germ cell elements" ], [ "9102", "3", "Malignant teratoma, trophoblastic" ], [ "9103", "0", "Partial hydatidiform mole (C58.9)" ], [ "9104", "1", "Placental site trophoblastic tumor (C58.9)" ], [ "9105", "3", "Trophoblastic tumor, epithelioid" ], [ "9110", "0", "Mesonephroma, benign" ], [ "9110", "1", "Mesonephric tumor, NOS" ], [ "9110", "3", "Mesonephroma, malignant" ], [ "9120", "0", "Hemangioma, NOS" ], [ "9120", "3", "Hemangiosarcoma" ], [ "9121", "0", "Cavernous hemangioma" ], [ "9122", "0", "Venous hemangioma" ], [ "9123", "0", "Racemose hemangioma" ], [ "9124", "3", "Kupffer cell sarcoma (C22.0)" ], [ "9125", "0", "Epithelioid hemangioma" ], [ "9130", "0", "Hemangioendothelioma, benign" ], [ "9130", "1", "Hemangioendothelioma, NOS" ], [ "9130", "3", "Hemangioendothelioma, malignant" ], [ "9131", "0", "Capillary hemangioma" ], [ "9132", "0", "Intramuscular hemangioma" ], [ "9133", "1", "Epithelioid hemangioendothelioma, NOS" ], [ "9133", "3", "Epithelioid hemangioendothelioma, malignant" ], [ "9135", "1", "Endovascular papillary angioendothelioma" ], [ "9136", "1", "Spindle cell hemangioendothelioma" ], [ "9140", "3", "Kaposi sarcoma" ], [ "9141", "0", "Angiokeratoma" ], [ "9142", "0", "Verrucous keratotic hemangioma" ], [ "9150", "0", "Hemangiopericytoma, benign" ], [ "9150", "1", "Hemangiopericytoma, NOS" ], [ "9150", "3", "Hemangiopericytoma, malignant" ], [ "9160", "0", "Angiofibroma, NOS" ], [ "9161", "0", "Acquired tufted hemangioma" ], [ "9161", "1", "Hemangioblastoma" ], [ "9170", "0", "Lymphangioma, NOS" ], [ "9170", "3", "Lymphangiosarcoma" ], [ "9171", "0", "Capillary lymphangioma" ], [ "9172", "0", "Cavernous lymphangioma" ], [ "9173", "0", "Cystic lymphangioma" ], [ "9174", "0", "Lymphangiomyoma" ], [ "9174", "1", "Lymphangiomyomatosis" ], [ "9175", "0", "Hemolymphangioma" ], [ "9180", "0", "Osteoma, NOS (C40._, C41._)" ], [ "9180", "3", "Osteosarcoma, NOS (C40._, C41._)" ], [ "9181", "3", "Chondroblastic osteosarcoma (C40._, C41._)" ], [ "9182", "3", "Fibroblastic osteosarcoma (C40._, C41._)" ], [ "9183", "3", "Telangiectatic osteosarcoma (C40._, C41._)" ], [ "9184", "3", "Osteosarcoma in Paget disease of bone (C40._, C41._)" ], [ "9185", "3", "Small cell osteosarcoma (C40._, C41._)" ], [ "9186", "3", "Central osteosarcoma (C40._, C41._)" ], [ "9187", "3", "Intraosseous well differentiated osteosarcoma (C40._, C41._)" ], [ "9191", "0", "Osteoid osteoma, NOS (C40._, C41._)" ], [ "9192", "3", "Parosteal osteosarcoma (C40._, C41._)" ], [ "9193", "3", "Periosteal osteosarcoma (C40._, C41._)" ], [ "9194", "3", "High grade surface osteosarcoma (C40._, C41._)" ], [ "9195", "3", "Intracortical osteosarcoma (C40._, C41._)" ], [ "9200", "0", "Osteoblastoma, NOS (C40._, C41._)" ], [ "9200", "1", "Aggressive osteoblastoma (C40._, C41._)" ], [ "9210", "0", "Osteochondroma (C40._, C41._)" ], [ "9210", "1", "Osteochondromatosis, NOS (C40._, C41._)" ], [ "9220", "0", "Chondroma, NOS (C40._, C41._)" ], [ "9220", "1", "Chondromatosis, NOS" ], [ "9220", "3", "Chondrosarcoma, NOS (C40._, C41._)" ], [ "9221", "0", "Juxtacortical chondroma (C40._, C41._)" ], [ "9221", "3", "Juxtacortical chondrosarcoma (C40._, C41._)" ], [ "9230", "0", "Chondroblastoma, NOS (C40._, C41._)" ], [ "9230", "3", "Chondroblastoma, malignant (C40._, C41._)" ], [ "9231", "3", "Myxoid chondrosarcoma" ], [ "9240", "3", "Mesenchymal chondrosarcoma" ], [ "9241", "0", "Chondromyxoid fibroma (C40._, C41._)" ], [ "9242", "3", "Clear cell chondrosarcoma (C40._, C41._)" ], [ "9243", "3", "Dedifferentiated chondrosarcoma (C40._, C41._)" ], [ "9250", "1", "Giant cell tumor of bone, NOS (C40._, C41._)" ], [ "9250", "3", "Giant cell tumor of bone, malignant (C40._, C41._)" ], [ "9251", "1", "Giant cell tumor of soft parts, NOS" ], [ "9251", "3", "Malignant giant cell tumor of soft parts" ], [ "9252", "0", "Tenosynovial giant cell tumor (C49._)" ], [ "9252", "3", "Malignant tenosynovial giant cell tumor (C49._)" ], [ "9260", "3", "Ewing sarcoma" ], [ "9261", "3", "Adamantinoma of long bones (C40._)" ], [ "9262", "0", "Ossifying fibroma" ], [ "9270", "0", "Odontogenic tumor, benign" ], [ "9270", "1", "Odontogenic tumor, NOS" ], [ "9270", "3", "Odontogenic tumor, malignant" ], [ "9271", "0", "Ameloblastic fibrodentinoma" ], [ "9272", "0", "Cementoma, NOS" ], [ "9273", "0", "Cementoblastoma, benign" ], [ "9274", "0", "Cementifying fibroma" ], [ "9275", "0", "Gigantiform cementoma" ], [ "9280", "0", "Odontoma, NOS" ], [ "9281", "0", "Compound odontoma" ], [ "9282", "0", "Complex odontoma" ], [ "9290", "0", "Ameloblastic fibro-odontoma" ], [ "9290", "3", "Ameloblastic odontosarcoma" ], [ "9300", "0", "Adenomatoid odontogenic tumor" ], [ "9301", "0", "Calcifying odontogenic cyst" ], [ "9302", "0", "Odontogenic ghost cell tumor" ], [ "9310", "0", "Ameloblastoma, NOS" ], [ "9310", "3", "Ameloblastoma, malignant" ], [ "9311", "0", "Odontoameloblastoma" ], [ "9312", "0", "Squamous odontogenic tumor" ], [ "9320", "0", "Odontogenic myxoma" ], [ "9321", "0", "Central odontogenic fibroma" ], [ "9322", "0", "Peripheral odontogenic fibroma" ], [ "9330", "0", "Ameloblastic fibroma" ], [ "9330", "3", "Ameloblastic fibrosarcoma" ], [ "9340", "0", "Calcifying epithelial odontogenic tumor" ], [ "9341", "1", "Clear cell odontogenic tumor" ], [ "9342", "3", "Odontogenic carcinosarcoma" ], [ "9350", "1", "Craniopharyngioma (C75.2)" ], [ "9351", "1", "Craniopharyngioma, adamantinomatous (C75.2)" ], [ "9352", "1", "Craniopharyngioma, papillary (C75.2)" ], [ "9360", "1", "Pinealoma (C75.3)" ], [ "9361", "1", "Pineocytoma (C75.3)" ], [ "9362", "3", "Pineoblastoma (C75.3)" ], [ "9363", "0", "Melanotic neuroectodermal tumor" ], [ "9364", "3", "Peripheral neuroectodermal tumor" ], [ "9365", "3", "Askin tumor" ], [ "9370", "3", "Chordoma, NOS" ], [ "9371", "3", "Chondroid chordoma" ], [ "9372", "3", "Dedifferentiated chordoma" ], [ "9373", "0", "Parachordoma" ], [ "9380", "3", "Glioma, malignant (C71._)" ], [ "9381", "3", "Gliomatosis cerebri (C71._)" ], [ "9382", "3", "Mixed glioma (C71._)" ], [ "9383", "1", "Subependymoma (C71._)" ], [ "9384", "1", "Subependymal giant cell astrocytoma (C71._)" ], [ "9390", "0", "Choroid plexus papilloma, NOS (C71.5)" ], [ "9390", "1", "Atypical choroid plexus papilloma (C71.5)" ], [ "9390", "3", "Choroid plexus carcinoma (C71.5)" ], [ "9391", "3", "Ependymoma, NOS (C71._)" ], [ "9392", "3", "Ependymoma, anaplastic (C71._)" ], [ "9393", "3", "Papillary ependymoma (C71._)" ], [ "9394", "1", "Myxopapillary ependymoma (C72.0)" ], [ "9400", "3", "Astrocytoma, NOS (C71._)" ], [ "9401", "3", "Astrocytoma, anaplastic (C71._)" ], [ "9410", "3", "Protoplasmic astrocytoma (C71._)" ], [ "9411", "3", "Gemistocytic astrocytoma (C71._)" ], [ "9412", "1", "Desmoplastic infantile astrocytoma (C71._)" ], [ "9413", "0", "Dysembryoplastic neuroepithelial tumor" ], [ "9420", "3", "Fibrillary astrocytoma (C71._)" ], [ "9421", "1", "Pilocytic astrocytoma (C71._)" ], [ "9423", "3", "Polar spongioblastoma (C71._)" ], [ "9424", "3", "Pleomorphic xanthoastrocytoma (C71._)" ], [ "9430", "3", "Astroblastoma (C71._)" ], [ "9440", "3", "Glioblastoma, NOS (C71._)" ], [ "9441", "3", "Giant cell glioblastoma (C71._)" ], [ "9442", "1", "Gliofibroma (C71._)" ], [ "9442", "3", "Gliosarcoma (C71._)" ], [ "9444", "1", "Chordoid glioma (C71._)" ], [ "9450", "3", "Oligodendroglioma, NOS (C71._)" ], [ "9451", "3", "Oligodendroglioma, anaplastic (C71._)" ], [ "9460", "3", "Oligodendroblastoma (C71._) [obs]" ], [ "9470", "3", "Medulloblastoma, NOS (C71.6)" ], [ "9471", "3", "Desmoplastic nodular medulloblastoma (C71.6)" ], [ "9472", "3", "Medullomyoblastoma (C71.6)" ], [ "9473", "3", "Primitive neuroectodermal tumor, NOS" ], [ "9474", "3", "Large cell medulloblastoma (C71.6)" ], [ "9480", "3", "Cerebellar sarcoma, NOS (C71.6) [obs]" ], [ "9490", "0", "Ganglioneuroma" ], [ "9490", "3", "Ganglioneuroblastoma" ], [ "9491", "0", "Ganglioneuromatosis" ], [ "9492", "0", "Gangliocytoma" ], [ "9493", "0", "Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" ], [ "9500", "3", "Neuroblastoma, NOS" ], [ "9501", "0", "Medulloepithelioma, benign (C69.4)" ], [ "9501", "3", "Medulloepithelioma, NOS" ], [ "9502", "0", "Teratoid medulloepithelioma, benign (C69.4)" ], [ "9502", "3", "Teratoid medulloepithelioma" ], [ "9503", "3", "Neuroepithelioma, NOS" ], [ "9504", "3", "Spongioneuroblastoma" ], [ "9505", "1", "Ganglioglioma, NOS" ], [ "9505", "3", "Ganglioglioma, anaplastic" ], [ "9506", "1", "Central neurocytoma" ], [ "9507", "0", "Pacinian tumor" ], [ "9508", "3", "Atypical teratoid/rhabdoid tumor (C71._)" ], [ "9510", "0", "Retinocytoma (C69.2)" ], [ "9510", "3", "Retinoblastoma, NOS (C69.2)" ], [ "9511", "3", "Retinoblastoma, differentiated (C69.2)" ], [ "9512", "3", "Retinoblastoma, undifferentiated (C69.2)" ], [ "9513", "3", "Retinoblastoma, diffuse (C69.2)" ], [ "9514", "1", "Retinoblastoma, spontaneously regressed (C69.2)" ], [ "9520", "3", "Olfactory neurogenic tumor" ], [ "9521", "3", "Olfactory neurocytoma (C30.0)" ], [ "9522", "3", "Olfactory neuroblastoma (C30.0)" ], [ "9523", "3", "Olfactory neuroepithelioma (C30.0)" ], [ "9530", "0", "Meningioma, NOS" ], [ "9530", "1", "Meningiomatosis, NOS" ], [ "9530", "3", "Meningioma, malignant" ], [ "9531", "0", "Meningothelial meningioma" ], [ "9532", "0", "Fibrous meningioma" ], [ "9533", "0", "Psammomatous meningioma" ], [ "9534", "0", "Angiomatous meningioma" ], [ "9535", "0", "Hemangioblastic meningioma [obs]" ], [ "9537", "0", "Transitional meningioma" ], [ "9538", "1", "Clear cell meningioma" ], [ "9538", "3", "Papillary meningioma" ], [ "9539", "1", "Atypical meningioma" ], [ "9539", "3", "Meningeal sarcomatosis" ], [ "9540", "0", "Neurofibroma, NOS" ], [ "9540", "1", "Neurofibromatosis, NOS" ], [ "9540", "3", "Malignant peripheral nerve sheath tumor" ], [ "9541", "0", "Melanotic neurofibroma" ], [ "9550", "0", "Plexiform neurofibroma" ], [ "9560", "0", "Neurilemoma, NOS" ], [ "9560", "1", "Neurinomatosis" ], [ "9560", "3", "Neurilemoma, malignant [obs]" ], [ "9561", "3", "Malignant peripheral nerve sheath tumor with rhabdomyoblastic differentiation" ], [ "9562", "0", "Neurothekeoma" ], [ "9570", "0", "Neuroma, NOS" ], [ "9571", "0", "Perineurioma, NOS" ], [ "9571", "3", "Perineurioma, malignant" ], [ "9580", "0", "Granular cell tumor, NOS" ], [ "9580", "3", "Granular cell tumor, malignant" ], [ "9581", "3", "Alveolar soft part sarcoma" ], [ "9582", "0", "Granular cell tumor of the sellar region (C75.1)" ], [ "9590", "3", "Malignant lymphoma, NOS" ], [ "9591", "3", "Malignant lymphoma, non-Hodgkin, NOS" ], [ "9596", "3", "Composite Hodgkin and non-Hodgkin lymphoma" ], [ "9650", "3", "Hodgkin lymphoma, NOS" ], [ "9651", "3", "Hodgkin lymphoma, lymphocyte-rich" ], [ "9652", "3", "Hodgkin lymphoma, mixed cellularity, NOS" ], [ "9653", "3", "Hodgkin lymphoma, lymphocyte depletion, NOS" ], [ "9654", "3", "Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" ], [ "9655", "3", "Hodgkin lymphoma, lymphocyte depletion, reticular" ], [ "9659", "3", "Hodgkin lymphoma, nodular lymphocyte predominance" ], [ "9661", "3", "Hodgkin granuloma [obs]" ], [ "9662", "3", "Hodgkin sarcoma [obs]" ], [ "9663", "3", "Hodgkin lymphoma, nodular sclerosis, NOS" ], [ "9664", "3", "Hodgkin lymphoma, nodular sclerosis, cellular phase" ], [ "9665", "3", "Hodgkin lymphoma, nodular sclerosis, grade 1" ], [ "9667", "3", "Hodgkin lymphoma, nodular sclerosis, grade 2" ], [ "9670", "3", "Malignant lymphoma, small B lymphocytic, NOS (see also M-9823/3)" ], [ "9671", "3", "Malignant lymphoma, lymphoplasmacytic (see also M-9761/3)" ], [ "9673", "3", "Mantle cell lymphoma" ], [ "9675", "3", "Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" ], [ "9678", "3", "Primary effusion lymphoma" ], [ "9679", "3", "Mediastinal large B-cell lymphoma (C38.3)" ], [ "9680", "3", "Malignant lymphoma, large B-cell, diffuse, NOS" ], [ "9684", "3", "Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" ], [ "9687", "3", "Burkitt lymphoma, NOS (see also M-9826/3)" ], [ "9689", "3", "Splenic marginal zone B-cell lymphoma (C42.2)" ], [ "9690", "3", "Follicular lymphoma, NOS (see also M-9675/3)" ], [ "9691", "3", "Follicular lymphoma, grade 2" ], [ "9695", "3", "Follicular lymphoma, grade 1" ], [ "9698", "3", "Follicular lymphoma, grade 3" ], [ "9699", "3", "Marginal zone B-cell lymphoma, NOS" ], [ "9700", "3", "Mycosis fungoides (C44._)" ], [ "9701", "3", "Sezary syndrome" ], [ "9702", "3", "Mature T-cell lymphoma, NOS" ], [ "9705", "3", "Angioimmunoblastic T-cell lymphoma" ], [ "9708", "3", "Subcutaneous panniculitis-like T-cell lymphoma" ], [ "9709", "3", "Cutaneous T-cell lymphoma, NOS (C44._)" ], [ "9714", "3", "Anaplastic large cell lymphoma, T cell and Null cell type" ], [ "9716", "3", "Hepatosplenic ?? (gamma-delta) cell lymphoma" ], [ "9717", "3", "Intestinal T-cell lymphoma" ], [ "9718", "3", "Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" ], [ "9719", "3", "NK/T-cell lymphoma, nasal and nasal-type" ], [ "9727", "3", "Precursor cell lymphoblastic lymphoma, NOS (see also M-9835/3)" ], [ "9728", "3", "Precursor B-cell lymphoblastic lymphoma (see also M-9836/3)" ], [ "9729", "3", "Precursor T-cell lymphoblastic lymphoma (see also M-9837/3)" ], [ "9731", "3", "Plasmacytoma, NOS" ], [ "9732", "3", "Multiple myeloma (C42.1)" ], [ "9733", "3", "Plasma cell leukemia (C42.1)" ], [ "9734", "3", "Plasmacytoma, extramedullary (not occurring in bone)" ], [ "9740", "1", "Mastocytoma, NOS" ], [ "9740", "3", "Mast cell sarcoma" ], [ "9741", "3", "Malignant mastocytosis" ], [ "9742", "3", "Mast cell leukemia (C42.1)" ], [ "9750", "3", "Malignant histiocytosis" ], [ "9751", "1", "Langerhans cell histiocytosis, NOS" ], [ "9752", "1", "Langerhans cell histiocytosis, unifocal" ], [ "9753", "1", "Langerhans cell histiocytosis, multifocal" ], [ "9754", "3", "Langerhans cell histiocytosis, disseminated" ], [ "9755", "3", "Histiocytic sarcoma" ], [ "9756", "3", "Langerhans cell sarcoma" ], [ "9757", "3", "Interdigitating dendritic cell sarcoma" ], [ "9758", "3", "Follicular dendritic cell sarcoma" ], [ "9760", "3", "Immunoproliferative disease, NOS" ], [ "9761", "3", "Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" ], [ "9762", "3", "Heavy chain disease, NOS" ], [ "9764", "3", "Immunoproliferative small intestinal disease (C17._)" ], [ "9765", "1", "Monoclonal gammopathy of undetermined significance" ], [ "9766", "1", "Angiocentric immunoproliferative lesion" ], [ "9767", "1", "Angioimmunoblastic lymphadenopathy" ], [ "9768", "1", "T-gamma lymphoproliferative disease" ], [ "9769", "1", "Immunoglobulin deposition disease" ], [ "9800", "3", "Leukemia, NOS" ], [ "9801", "3", "Acute leukemia, NOS" ], [ "9805", "3", "Acute biphenotypic leukemia" ], [ "9820", "3", "Lymphoid leukemia, NOS" ], [ "9823", "3", "B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" ], [ "9826", "3", "Burkitt cell leukemia (see also M-9687/3)" ], [ "9827", "3", "Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" ], [ "9831", "1", "T-cell large granular lymphocytic leukemia" ], [ "9832", "3", "Prolymphocytic leukemia, NOS" ], [ "9833", "3", "Prolymphocytic leukemia, B-cell type" ], [ "9834", "3", "Prolymphocytic leukemia, T-cell type" ], [ "9835", "3", "Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" ], [ "9836", "3", "Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" ], [ "9837", "3", "Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" ], [ "9840", "3", "Acute myeloid leukemia, M6 type" ], [ "9860", "3", "Myeloid leukemia, NOS" ], [ "9861", "3", "Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" ], [ "9863", "3", "Chronic myeloid leukemia, NOS" ], [ "9866", "3", "Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" ], [ "9867", "3", "Acute myelomonocytic leukemia" ], [ "9870", "3", "Acute basophilic leukemia" ], [ "9871", "3", "Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" ], [ "9872", "3", "Acute myeloid leukemia, minimal differentiation" ], [ "9873", "3", "Acute myeloid leukemia without maturation" ], [ "9874", "3", "Acute myeloid leukemia with maturation" ], [ "9875", "3", "Chronic myelogenous leukemia, BCR/ABL positive" ], [ "9876", "3", "Atypical chronic myeloid leukemia, BCR/ABL negative" ], [ "9891", "3", "Acute monocytic leukemia" ], [ "9895", "3", "Acute myeloid leukemia with multilineage dysplasia" ], [ "9896", "3", "Acute myeloid leukemia, t(8;21)(q22;q22)" ], [ "9897", "3", "Acute myeloid leukemia, 11q23 abnormalities" ], [ "9910", "3", "Acute megakaryoblastic leukemia" ], [ "9920", "3", "Therapy-related acute myeloid leukemia, NOS" ], [ "9930", "3", "Myeloid sarcoma (see also M-9861/3)" ], [ "9931", "3", "Acute panmyelosis with myelofibrosis (C42.1)" ], [ "9940", "3", "Hairy cell leukemia (C42.1)" ], [ "9945", "3", "Chronic myelomonocytic leukemia, NOS" ], [ "9946", "3", "Juvenile myelomonocytic leukemia" ], [ "9948", "3", "Aggressive NK-cell leukemia" ], [ "9950", "3", "Polycythemia vera" ], [ "9960", "3", "Chronic myeloproliferative disease, NOS" ], [ "9961", "3", "Myelosclerosis with myeloid metaplasia" ], [ "9962", "3", "Essential thrombocythemia" ], [ "9963", "3", "Chronic neutrophilic leukemia" ], [ "9964", "3", "Hypereosinophilic syndrome" ], [ "9970", "1", "Lymphoproliferative disorder, NOS" ], [ "9975", "1", "Myeloproliferative disease, NOS" ], [ "9980", "3", "Refractory anemia" ], [ "9982", "3", "Refractory anemia with sideroblasts" ], [ "9983", "3", "Refractory anemia with excess blasts" ], [ "9984", "3", "Refractory anemia with excess blasts in transformation [obs]" ], [ "9985", "3", "Refractory cytopenia with multilineage dysplasia" ], [ "9986", "3", "Myelodysplastic syndrome with 5q deletion (5q-) syndrome" ], [ "9987", "3", "Therapy-related myelodysplastic syndrome, NOS" ], [ "9989", "3", "Myelodysplastic syndrome, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppc.json deleted file mode 100644 index d5a183acd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppc.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ajcc6_exclusions_ppc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Exclusions", - "title" : "Histology Exclusion Table AJCC 6th ed.", - "notes" : "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. For these cases, displayed results will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified" : "2015-05-27T16:18:47.376Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8000", "0", " Neoplasm, benign" ], [ "8000", "1", " Neoplasm, uncertain whether benign or malignant" ], [ "8000", "3", " Neoplasm, malignant" ], [ "8000", "6", " Neoplasm, metastatic" ], [ "8000", "9", " Neoplasm, malignant, uncertain whether primary or metastatic" ], [ "8001", "0", " Tumor cells, benign" ], [ "8001", "1", " Tumor cells, uncertain whether benign or malignant" ], [ "8001", "3", " Tumor cells, malignant" ], [ "8002", "3", " Malignant tumor, small cell type" ], [ "8003", "3", " Malignant tumor, giant cell type" ], [ "8004", "3", " Malignant tumor, spindle cell type" ], [ "8005", "0", " Clear cell tumor, NOS" ], [ "8005", "3", " Malignant tumor, clear cell type" ], [ "8010", "0", " Epithelial tumor, benign" ], [ "8010", "2", " Carcinoma in situ, NOS" ], [ "8010", "3", " Carcinoma, NOS" ], [ "8010", "6", " Carcinoma, metastatic, NOS" ], [ "8010", "9", " Carcinomatosis" ], [ "8011", "0", " Epithelioma, benign" ], [ "8011", "3", " Epithelioma, malignant" ], [ "8012", "3", " Large cell carcinoma, NOS" ], [ "8013", "3", " Large cell neuroendocrine carcinoma" ], [ "8014", "3", " Large cell carcinoma with rhabdoid phenotype" ], [ "8015", "3", " Glassy cell carcinoma" ], [ "8020", "3", " Carcinoma, undifferentiated, NOS" ], [ "8021", "3", " Carcinoma, anaplastic, NOS" ], [ "8022", "3", " Pleomorphic carcinoma" ], [ "8030", "3", " Giant cell and spindle cell carcinoma" ], [ "8031", "3", " Giant cell carcinoma" ], [ "8032", "3", " Spindle cell carcinoma, NOS" ], [ "8033", "3", " Pseudosarcomatous carcinoma" ], [ "8034", "3", " Polygonal cell carcinoma" ], [ "8035", "3", " Carcinoma with osteoclast-like giant cells" ], [ "8040", "0", " Tumorlet, benign" ], [ "8040", "1", " Tumorlet, NOS" ], [ "8041", "3", " Small cell carcinoma, NOS" ], [ "8042", "3", " Oat cell carcinoma (C34._)" ], [ "8043", "3", " Small cell carcinoma, fusiform cell" ], [ "8044", "3", " Small cell carcinoma, intermediate cell" ], [ "8045", "3", " Combined small cell carcinoma" ], [ "8046", "3", " Non-small cell carcinoma (C34._)" ], [ "8050", "0", " Papilloma, NOS (except papilloma of bladder M-8120/1)" ], [ "8050", "2", " Papillary carcinoma in situ" ], [ "8050", "3", " Papillary carcinoma, NOS" ], [ "8051", "0", " Verrucous papilloma" ], [ "8051", "3", " Verrucous carcinoma, NOS" ], [ "8052", "0", " Squamous cell papilloma, NOS" ], [ "8052", "2", " Papillary squamous cell carcinoma, non-invasive" ], [ "8052", "3", " Papillary squamous cell carcinoma" ], [ "8053", "0", " Squamous cell papilloma, inverted" ], [ "8060", "0", " Squamous papillomatosis" ], [ "8070", "2", " Squamous cell carcinoma in situ, NOS" ], [ "8070", "3", " Squamous cell carcinoma, NOS" ], [ "8070", "6", " Squamous cell carcinoma, metastatic, NOS" ], [ "8071", "3", " Squamous cell carcinoma, keratinizing, NOS" ], [ "8072", "3", " Squamous cell carcinoma, large cell, nonkeratinizing, NOS" ], [ "8073", "3", " Squamous cell carcinoma, small cell, nonkeratinizing" ], [ "8074", "3", " Squamous cell carcinoma, spindle cell" ], [ "8075", "3", " Squamous cell carcinoma, adenoid" ], [ "8076", "2", " Squamous cell carcinoma in situ with questionable stromal invasion" ], [ "8076", "3", " Squamous cell carcinoma, microinvasive" ], [ "8077", "2", " Squamous intraepithelial neoplasia, grade III" ], [ "8078", "3", " Squamous cell carcinoma with horn formation" ], [ "8080", "2", " Queyrat erythroplasia (C60._)" ], [ "8081", "2", " Bowen disease (C44._)" ], [ "8082", "3", " Lymphoepithelial carcinoma" ], [ "8083", "3", " Basaloid squamous cell carcinoma" ], [ "8084", "3", " Squamous cell carcinoma, clear cell type" ], [ "8090", "1", " Basal cell tumor (C44._)" ], [ "8090", "3", " Basal cell carcinoma, NOS (C44._)" ], [ "8091", "3", " Multifocal superficial basal cell carcinoma (C44._)" ], [ "8092", "3", " Infiltrating basal cell carcinoma, NOS (C44._)" ], [ "8093", "3", " Basal cell carcinoma, fibroepithelial (C44._)" ], [ "8094", "3", " Basosquamous carcinoma (C44._)" ], [ "8095", "3", " Metatypical carcinoma (C44._)" ], [ "8096", "0", " Intraepidermal epithelioma of Jadassohn (C44._)" ], [ "8097", "3", " Basal cell carcinoma, nodular (C44._)" ], [ "8098", "3", " Adenoid basal carcinoma (C53._)" ], [ "8100", "0", " Trichoepithelioma (C44._)" ], [ "8101", "0", " Trichofolliculoma (C44._)" ], [ "8102", "0", " Trichilemmoma (C44._)" ], [ "8102", "3", " Trichilemmocarcinoma (C44._)" ], [ "8103", "0", " Pilar tumor (C44._)" ], [ "8110", "0", " Pilomatrixoma, NOS (C44._)" ], [ "8110", "3", " Pilomatrix carcinoma (C44._)" ], [ "8120", "0", " Transitional cell papilloma, benign" ], [ "8120", "1", " Urothelial papilloma, NOS" ], [ "8120", "2", " Transitional cell carcinoma in situ" ], [ "8120", "3", " Transitional cell carcinoma, NOS" ], [ "8121", "0", " Schneiderian papilloma, NOS (C30.0, C31._)" ], [ "8121", "1", " Transitional cell papilloma, inverted, NOS" ], [ "8121", "3", " Schneiderian carcinoma (C30.0, C31._)" ], [ "8122", "3", " Transitional cell carcinoma, spindle cell" ], [ "8123", "3", " Basaloid carcinoma" ], [ "8124", "3", " Cloacogenic carcinoma (C21.2)" ], [ "8130", "1", " Papillary transitional cell neoplasm of low malignant potential (C67._)" ], [ "8130", "2", " Papillary transitional cell carcinoma, non-invasive (C67._)" ], [ "8130", "3", " Papillary transitional cell carcinoma (C67._)" ], [ "8131", "3", " Transitional cell carcinoma, micropapillary (C67._)" ], [ "8140", "0", " Adenoma, NOS" ], [ "8140", "1", " Atypical adenoma" ], [ "8140", "2", " Adenocarcinoma in situ, NOS" ], [ "8140", "3", " Adenocarcinoma, NOS" ], [ "8140", "6", " Adenocarcinoma, metastatic, NOS" ], [ "8141", "3", " Scirrhous adenocarcinoma" ], [ "8142", "3", " Linitis plastica (C16._)" ], [ "8143", "3", " Superficial spreading adenocarcinoma" ], [ "8144", "3", " Adenocarcinoma, intestinal type (C16._)" ], [ "8145", "3", " Carcinoma, diffuse type (C16._)" ], [ "8146", "0", " Monomorphic adenoma" ], [ "8147", "0", " Basal cell adenoma" ], [ "8147", "3", " Basal cell adenocarcinoma" ], [ "8148", "2", " Glandular intraepithelial neoplasia, grade III" ], [ "8149", "0", " Canalicular adenoma" ], [ "8150", "0", " Islet cell adenoma (C25._)" ], [ "8150", "1", " Islet cell tumor, NOS (C25._)" ], [ "8150", "3", " Islet cell carcinoma (C25._)" ], [ "8151", "0", " Insulinoma, NOS (C25._)" ], [ "8151", "3", " Insulinoma, malignant (C25._)" ], [ "8152", "1", " Glucagonoma, NOS (C25._)" ], [ "8152", "3", " Glucagonoma, malignant (C25._)" ], [ "8153", "1", " Gastrinoma, NOS" ], [ "8153", "3", " Gastrinoma, malignant" ], [ "8154", "3", " Mixed islet cell and exocrine adenocarcinoma (C25._)" ], [ "8155", "1", " Vipoma, NOS" ], [ "8155", "3", " Vipoma, malignant" ], [ "8156", "1", " Somatostatinoma, NOS" ], [ "8156", "3", " Somatostatinoma, malignant" ], [ "8157", "1", " Enteroglucagonoma, NOS" ], [ "8157", "3", " Enteroglucagonoma, malignant" ], [ "8160", "0", " Bile duct adenoma (C22.1, C24.0)" ], [ "8160", "3", " Cholangiocarcinoma (C22.1, C24.0)" ], [ "8161", "0", " Bile duct cystadenoma (C22.1, C24.0)" ], [ "8161", "3", " Bile duct cystadenocarcinoma (C22.1, C24.0)" ], [ "8162", "3", " Klatskin tumor (C22.1, C24.0)" ], [ "8170", "0", " Liver cell adenoma (C22.0)" ], [ "8170", "3", " Hepatocellular carcinoma, NOS (C22.0)" ], [ "8171", "3", " Hepatocellular carcinoma, fibrolamellar (C22.0)" ], [ "8172", "3", " Hepatocellular carcinoma, scirrhous (C22.0)" ], [ "8173", "3", " Hepatocellular carcinoma, spindle cell variant (C22.0)" ], [ "8174", "3", " Hepatocellular carcinoma, clear cell type (C22.0)" ], [ "8175", "3", " Hepatocellular carcinoma, pleomorphic type (C22.0)" ], [ "8180", "3", " Combined hepatocellular carcinoma and cholangiocarcinoma (C22.0)" ], [ "8190", "0", " Trabecular adenoma" ], [ "8190", "3", " Trabecular adenocarcinoma" ], [ "8191", "0", " Embryonal adenoma" ], [ "8200", "0", " Eccrine dermal cylindroma (C44._)" ], [ "8200", "3", " Adenoid cystic carcinoma" ], [ "8201", "2", " Cribriform carcinoma in situ (C50._)" ], [ "8201", "3", " Cribriform carcinoma, NOS" ], [ "8202", "0", " Microcystic adenoma (C25._)" ], [ "8204", "0", " Lactating adenoma (C50._)" ], [ "8210", "0", " Adenomatous polyp, NOS" ], [ "8210", "2", " Adenocarcinoma in situ in adenomatous polyp" ], [ "8210", "3", " Adenocarcinoma in adenomatous polyp" ], [ "8211", "0", " Tubular adenoma, NOS" ], [ "8211", "3", " Tubular adenocarcinoma" ], [ "8212", "0", " Flat adenoma" ], [ "8213", "0", " Serrated adenoma (C18._)" ], [ "8214", "3", " Parietal cell carcinoma (C16._)" ], [ "8215", "3", " Adenocarcinoma of anal glands (C21.1)" ], [ "8220", "0", " Adenomatous polyposis coli (C18._)" ], [ "8220", "3", " Adenocarcinoma in adenomatous polyposis coli (C18._)" ], [ "8221", "0", " Multiple adenomatous polyps" ], [ "8221", "3", " Adenocarcinoma in multiple adenomatous polyps" ], [ "8230", "2", " Ductal carcinoma in situ, solid type (C50._)" ], [ "8230", "3", " Solid carcinoma, NOS" ], [ "8231", "3", " Carcinoma simplex" ], [ "8240", "1", " Carcinoid tumor of uncertain malignant potential" ], [ "8240", "3", " Carcinoid tumor, NOS (except of appendix M-8240/1)" ], [ "8241", "3", " Enterochromaffin cell carcinoid" ], [ "8242", "1", " Enterochromaffin-like cell carcinoid, NOS" ], [ "8242", "3", " Enterochromaffin-like cell tumor, malignant" ], [ "8243", "3", " Goblet cell carcinoid" ], [ "8244", "3", " Composite carcinoid" ], [ "8245", "1", " Tubular carcinoid" ], [ "8245", "3", " Adenocarcinoid tumor" ], [ "8246", "3", " Neuroendocrine carcinoma, NOS" ], [ "8247", "3", " Merkel cell carcinoma (C44._)" ], [ "8248", "1", " Apudoma" ], [ "8249", "3", " Atypical carcinoid tumor" ], [ "8250", "1", " Pulmonary adenomatosis (C34._)" ], [ "8250", "3", " Bronchiolo-alveolar adenocarcinoma, NOS (C34._)" ], [ "8251", "0", " Alveolar adenoma (C34._)" ], [ "8251", "3", " Alveolar adenocarcinoma (C34._)" ], [ "8252", "3", " Bronchiolo-alveolar carcinoma, non-mucinous (C34._)" ], [ "8253", "3", " Bronchiolo-alveolar carcinoma, mucinous (C34._)" ], [ "8254", "3", " Bronchiolo-alveolar carcinoma, mixed mucinous and non-mucinous (C34._)" ], [ "8255", "3", " Adenocarcinoma with mixed subtypes" ], [ "8260", "0", " Papillary adenoma, NOS" ], [ "8260", "3", " Papillary adenocarcinoma, NOS" ], [ "8261", "0", " Villous adenoma, NOS" ], [ "8261", "2", " Adenocarcinoma in situ in villous adenoma" ], [ "8261", "3", " Adenocarcinoma in villous adenoma" ], [ "8262", "3", " Villous adenocarcinoma" ], [ "8263", "0", " Tubulovillous adenoma, NOS" ], [ "8263", "2", " Adenocarcinoma in situ in tubulovillous adenoma" ], [ "8263", "3", " Adenocarcinoma in tubulovillous adenoma" ], [ "8264", "0", " Papillomatosis, glandular" ], [ "8270", "0", " Chromophobe adenoma (C75.1)" ], [ "8270", "3", " Chromophobe carcinoma (C75.1)" ], [ "8271", "0", " Prolactinoma (C75.1)" ], [ "8272", "0", " Pituitary adenoma, NOS (C75.1)" ], [ "8272", "3", " Pituitary carcinoma, NOS (C75.1)" ], [ "8280", "0", " Acidophil adenoma (C75.1)" ], [ "8280", "3", " Acidophil carcinoma (C75.1)" ], [ "8281", "0", " Mixed acidophil-basophil adenoma (C75.1)" ], [ "8281", "3", " Mixed acidophil-basophil carcinoma (C75.1)" ], [ "8290", "0", " Oxyphilic adenoma" ], [ "8290", "3", " Oxyphilic adenocarcinoma" ], [ "8300", "0", " Basophil adenoma (C75.1)" ], [ "8300", "3", " Basophil carcinoma (C75.1)" ], [ "8310", "0", " Clear cell adenoma" ], [ "8310", "3", " Clear cell adenocarcinoma, NOS" ], [ "8311", "1", " Hypernephroid tumor [obs]" ], [ "8312", "3", " Renal cell carcinoma, NOS (C64.9)" ], [ "8313", "0", " Clear cell adenofibroma (C56.9)" ], [ "8313", "1", " Clear cell adenofibroma of borderline malignancy (C56.9)" ], [ "8313", "3", " Clear cell adenocarcinofibroma (C56.9)" ], [ "8314", "3", " Lipid-rich carcinoma (C50._)" ], [ "8315", "3", " Glycogen-rich carcinoma" ], [ "8316", "3", " Cyst-associated renal cell carcinoma (C64.9)" ], [ "8317", "3", " Renal cell carcinoma, chromophobe type (C64.9)" ], [ "8318", "3", " Renal cell carcinoma, sarcomatoid (C64.9)" ], [ "8319", "3", " Collecting duct carcinoma (C64.9)" ], [ "8320", "3", " Granular cell carcinoma" ], [ "8321", "0", " Chief cell adenoma (C75.0)" ], [ "8322", "0", " Water-clear cell adenoma (C75.0)" ], [ "8322", "3", " Water-clear cell adenocarcinoma (C75.0)" ], [ "8323", "0", " Mixed cell adenoma" ], [ "8323", "3", " Mixed cell adenocarcinoma" ], [ "8324", "0", " Lipoadenoma" ], [ "8325", "0", " Metanephric adenoma (C64.9)" ], [ "8330", "0", " Follicular adenoma (C73.9)" ], [ "8330", "1", " Atypical follicular adenoma (C73.9)" ], [ "8330", "3", " Follicular adenocarcinoma, NOS (C73.9)" ], [ "8331", "3", " Follicular adenocarcinoma, well differentiated (C73.9)" ], [ "8332", "3", " Follicular adenocarcinoma, trabecular (C73.9)" ], [ "8333", "0", " Microfollicular adenoma, NOS (C73.9)" ], [ "8333", "3", " Fetal adenocarcinoma" ], [ "8334", "0", " Macrofollicular adenoma (C73.9)" ], [ "8335", "3", " Follicular carcinoma, minimally invasive (C73.9)" ], [ "8336", "0", " Hyalinizing trabecular adenoma (C73.9)" ], [ "8337", "3", " Insular carcinoma (C73.9)" ], [ "8340", "3", " Papillary carcinoma, follicular variant (C73.9)" ], [ "8341", "3", " Papillary microcarcinoma (C73.9)" ], [ "8342", "3", " Papillary carcinoma, oxyphilic cell (C73.9)" ], [ "8343", "3", " Papillary carcinoma, encapsulated (C73.9)" ], [ "8344", "3", " Papillary carcinoma, columnar cell (C73.9)" ], [ "8345", "3", " Medullary carcinoma with amyloid stroma (C73.9)" ], [ "8346", "3", " Mixed medullary-follicular carcinoma (C73.9)" ], [ "8347", "3", " Mixed medullary-papillary carcinoma (C73.9)" ], [ "8350", "3", " Nonencapsulated sclerosing carcinoma (C73.9)" ], [ "8360", "1", " Multiple endocrine adenomas" ], [ "8361", "0", " Juxtaglomerular tumor (C64.9)" ], [ "8370", "0", " Adrenal cortical adenoma, NOS (C74.0)" ], [ "8370", "3", " Adrenal cortical carcinoma (C74.0)" ], [ "8371", "0", " Adrenal cortical adenoma, compact cell (C74.0)" ], [ "8372", "0", " Adrenal cortical adenoma, pigmented (C74.0)" ], [ "8373", "0", " Adrenal cortical adenoma, clear cell (C74.0)" ], [ "8374", "0", " Adrenal cortical adenoma, glomerulosa cell (C74.0)" ], [ "8375", "0", " Adrenal cortical adenoma, mixed cell (C74.0)" ], [ "8380", "0", " Endometrioid adenoma, NOS" ], [ "8380", "1", " Endometrioid adenoma, borderline malignancy" ], [ "8380", "3", " Endometrioid adenocarcinoma, NOS" ], [ "8381", "0", " Endometrioid adenofibroma, NOS" ], [ "8381", "1", " Endometrioid adenofibroma, borderline malignancy" ], [ "8381", "3", " Endometrioid adenofibroma, malignant" ], [ "8382", "3", " Endometrioid adenocarcinoma, secretory variant" ], [ "8383", "3", " Endometrioid adenocarcinoma, ciliated cell variant" ], [ "8384", "3", " Adenocarcinoma, endocervical type" ], [ "8390", "0", " Skin appendage adenoma (C44._)" ], [ "8390", "3", " Skin appendage carcinoma (C44._)" ], [ "8391", "0", " Follicular fibroma (C44._)" ], [ "8392", "0", " Syringofibroadenoma (C44._)" ], [ "8400", "0", " Sweat gland adenoma (C44._)" ], [ "8400", "1", " Sweat gland tumor, NOS (C44._)" ], [ "8400", "3", " Sweat gland adenocarcinoma (C44._)" ], [ "8401", "0", " Apocrine adenoma" ], [ "8401", "3", " Apocrine adenocarcinoma" ], [ "8402", "0", " Nodular hidradenoma (C44._)" ], [ "8402", "3", " Nodular hidradenoma, malignant (C44._)" ], [ "8403", "0", " Eccrine spiradenoma (C44._)" ], [ "8403", "3", " Malignant eccrine spiradenoma (C44._)" ], [ "8404", "0", " Hidrocystoma (C44._)" ], [ "8405", "0", " Papillary hidradenoma" ], [ "8406", "0", " Papillary syringadenoma (C44._)" ], [ "8407", "0", " Syringoma, NOS (C44._)" ], [ "8407", "3", " Sclerosing sweat duct carcinoma (C44._)" ], [ "8408", "0", " Eccrine papillary adenoma (C44._)" ], [ "8408", "1", " Aggressive digital papillary adenoma (C44._)" ], [ "8408", "3", " Eccrine papillary adenocarcinoma (C44._)" ], [ "8409", "0", " Eccrine poroma (C44._)" ], [ "8409", "3", " Eccrine poroma, malignant" ], [ "8410", "0", " Sebaceous adenoma (C44._)" ], [ "8410", "3", " Sebaceous adenocarcinoma (C44._)" ], [ "8413", "3", " Eccrine adenocarcinoma (C44._)" ], [ "8420", "0", " Ceruminous adenoma (C44.2)" ], [ "8420", "3", " Ceruminous adenocarcinoma (C44.2)" ], [ "8430", "1", " Mucoepidermoid tumor [obs]" ], [ "8430", "3", " Mucoepidermoid carcinoma" ], [ "8440", "0", " Cystadenoma, NOS" ], [ "8440", "3", " Cystadenocarcinoma, NOS" ], [ "8441", "0", " Serous cystadenoma, NOS" ], [ "8441", "3", " Serous cystadenocarcinoma, NOS (C56.9)" ], [ "8442", "1", " Serous cystadenoma, borderline malignancy (C56.9)" ], [ "8443", "0", " Clear cell cystadenoma (C56.9)" ], [ "8444", "1", " Clear cell cystic tumor of borderline malignancy (C56.9)" ], [ "8450", "0", " Papillary cystadenoma, NOS (C56.9)" ], [ "8450", "3", " Papillary cystadenocarcinoma, NOS (C56.9)" ], [ "8451", "1", " Papillary cystadenoma, borderline malignancy (C56.9)" ], [ "8452", "1", " Solid pseudopapillary tumor (C25._)" ], [ "8452", "3", " Solid pseudopapillary carcinoma (C25._)" ], [ "8453", "0", " Intraductal papillary-mucinous adenoma (C25._)" ], [ "8453", "1", " Intraductal papillary-mucinous tumor with moderate dysplasia (C25._)" ], [ "8453", "2", " Intraductal papillary-mucinous carcinoma, non-invasive (C25._)" ], [ "8453", "3", " Intraductal papillary-mucinous carcinoma, invasive (C25._)" ], [ "8454", "0", " Cystic tumor of atrio-ventricular node (C38.0)" ], [ "8460", "0", " Papillary serous cystadenoma, NOS (C56.9)" ], [ "8460", "3", " Papillary serous cystadenocarcinoma (C56.9)" ], [ "8461", "0", " Serous surface papilloma (C56.9)" ], [ "8461", "3", " Serous surface papillary carcinoma (C56.9)" ], [ "8462", "1", " Serous papillary cystic tumor of borderline malignancy (C56.9)" ], [ "8463", "1", " Serous surface papillary tumor of borderline malignancy (C56.9)" ], [ "8470", "0", " Mucinous cystadenoma, NOS (C56.9)" ], [ "8470", "1", " Mucinous cystic tumor with moderate dysplasia (C25._)" ], [ "8470", "2", " Mucinous cystadenocarcinoma, non-invasive (C25._)" ], [ "8470", "3", " Mucinous cystadenocarcinoma, NOS (C56.9)" ], [ "8471", "0", " Papillary mucinous cystadenoma, NOS (C56.9)" ], [ "8471", "3", " Papillary mucinous cystadenocarcinoma (C56.9)" ], [ "8472", "1", " Mucinous cystic tumor of borderline malignancy (C56.9)" ], [ "8473", "1", " Papillary mucinous cystadenoma, borderline malignancy (C56.9)" ], [ "8480", "0", " Mucinous adenoma" ], [ "8480", "3", " Mucinous adenocarcinoma" ], [ "8480", "6", " Pseudomyxoma peritonei" ], [ "8481", "3", " Mucin-producing adenocarcinoma" ], [ "8482", "3", " Mucinous adenocarcinoma, endocervical type" ], [ "8490", "3", " Signet ring cell carcinoma" ], [ "8490", "6", " Metastatic signet ring cell carcinoma" ], [ "8500", "2", " Intraductal carcinoma, noninfiltrating, NOS" ], [ "8500", "3", " Infiltrating duct carcinoma, NOS (C50._)" ], [ "8501", "2", " Comedocarcinoma, noninfiltrating (C50._)" ], [ "8501", "3", " Comedocarcinoma, NOS (C50._)" ], [ "8502", "3", " Secretory carcinoma of breast (C50._)" ], [ "8503", "0", " Intraductal papilloma" ], [ "8503", "2", " Noninfiltrating intraductal papillary adenocarcinoma (C50._)" ], [ "8503", "3", " Intraductal papillary adenocarcinoma with invasion (C50._)" ], [ "8504", "0", " Intracystic papillary adenoma" ], [ "8504", "2", " Noninfiltrating intracystic carcinoma" ], [ "8504", "3", " Intracystic carcinoma, NOS" ], [ "8505", "0", " Intraductal papillomatosis, NOS" ], [ "8506", "0", " Adenoma of nipple (C50.0)" ], [ "8507", "2", " Intraductal micropapillary carcinoma (C50._)" ], [ "8508", "3", " Cystic hypersecretory carcinoma (C50._)" ], [ "8510", "3", " Medullary carcinoma, NOS" ], [ "8512", "3", " Medullary carcinoma with lymphoid stroma" ], [ "8513", "3", " Atypical medullary carcinoma (C50._)" ], [ "8514", "3", " Duct carcinoma, desmoplastic type" ], [ "8520", "2", " Lobular carcinoma in situ, NOS (C50._)" ], [ "8520", "3", " Lobular carcinoma, NOS (C50._)" ], [ "8521", "3", " Infiltrating ductular carcinoma (C50._)" ], [ "8522", "2", " Intraductal carcinoma and lobular carcinoma in situ (C50._)" ], [ "8522", "3", " Infiltrating duct and lobular carcinoma (C50._)" ], [ "8523", "3", " Infiltrating duct mixed with other types of carcinoma (C50._)" ], [ "8524", "3", " Infiltrating lobular mixed with other types of carcinoma (C50._)" ], [ "8525", "3", " Polymorphous low grade adenocarcinoma" ], [ "8530", "3", " Inflammatory carcinoma (C50._)" ], [ "8540", "3", " Paget disease, mammary (C50._)" ], [ "8541", "3", " Paget disease and infiltrating duct carcinoma of breast (C50._)" ], [ "8542", "3", " Paget disease, extramammary (except Paget disease of bone)" ], [ "8543", "3", " Paget disease and intraductal carcinoma of breast (C50._)" ], [ "8550", "0", " Acinar cell adenoma" ], [ "8550", "1", " Acinar cell tumor [obs]" ], [ "8550", "3", " Acinar cell carcinoma" ], [ "8551", "3", " Acinar cell cystadenocarcinoma" ], [ "8560", "0", " Mixed squamous cell and glandular papilloma" ], [ "8560", "3", " Adenosquamous carcinoma" ], [ "8561", "0", " Adenolymphoma (C07._, C08._)" ], [ "8562", "3", " Epithelial-myoepithelial carcinoma" ], [ "8570", "3", " Adenocarcinoma with squamous metaplasia" ], [ "8571", "3", " Adenocarcinoma with cartilaginous and osseous metaplasia" ], [ "8572", "3", " Adenocarcinoma with spindle cell metaplasia" ], [ "8573", "3", " Adenocarcinoma with apocrine metaplasia" ], [ "8574", "3", " Adenocarcinoma with neuroendocrine differentiation" ], [ "8575", "3", " Metaplastic carcinoma, NOS" ], [ "8576", "3", " Hepatoid adenocarcinoma" ], [ "8580", "0", " Thymoma, benign (C37.9)" ], [ "8580", "1", " Thymoma, NOS (C37.9)" ], [ "8580", "3", " Thymoma, malignant, NOS (C37.9)" ], [ "8581", "1", " Thymoma, type A, NOS (C37.9)" ], [ "8581", "3", " Thymoma, type A, malignant (C37.9)" ], [ "8582", "1", " Thymoma, type AB, NOS (C37.9)" ], [ "8582", "3", " Thymoma, type AB, malignant (C37.9)" ], [ "8583", "1", " Thymoma, type B1, NOS (C37.9)" ], [ "8583", "3", " Thymoma, type B1, malignant (C37.9)" ], [ "8584", "1", " Thymoma, type B2, NOS (C37.9)" ], [ "8584", "3", " Thymoma, type B2, malignant (C37.9)" ], [ "8585", "1", " Thymoma, type B3, NOS (C37.9)" ], [ "8585", "3", " Thymoma, type B3, malignant (C37.9)" ], [ "8586", "3", " Thymic carcinoma, NOS (C37.9)" ], [ "8587", "0", " Ectopic hamartomatous thymoma" ], [ "8588", "3", " Spindle epithelial tumor with thymus-like element" ], [ "8589", "3", " Carcinoma showing thymus-like element" ], [ "8590", "1", " Sex cord-gonadal stromal tumor, NOS" ], [ "8591", "1", " Sex cord-gonadal stromal tumor, incompletely differentiated" ], [ "8592", "1", " Sex cord-gonadal stromal tumor, mixed forms" ], [ "8593", "1", " Stromal tumor with minor sex cord elements (C56.9)" ], [ "8600", "0", " Thecoma, NOS (C56.9)" ], [ "8600", "3", " Thecoma, malignant (C56.9)" ], [ "8601", "0", " Thecoma, luteinized (C56.9)" ], [ "8602", "0", " Sclerosing stromal tumor (C56.9)" ], [ "8610", "0", " Luteoma, NOS (C56.9)" ], [ "8620", "1", " Granulosa cell tumor, adult type (C56.9)" ], [ "8620", "3", " Granulosa cell tumor, malignant (C56.9)" ], [ "8621", "1", " Granulosa cell-theca cell tumor (C56.9)" ], [ "8622", "1", " Granulosa cell tumor, juvenile (C56.9)" ], [ "8623", "1", " Sex cord tumor with annular tubules (C56.9)" ], [ "8630", "0", " Androblastoma, benign" ], [ "8630", "1", " Androblastoma, NOS" ], [ "8630", "3", " Androblastoma, malignant" ], [ "8631", "0", " Sertoli-Leydig cell tumor, well differentiated" ], [ "8631", "1", " Sertoli-Leydig cell tumor of intermediate differentiation" ], [ "8631", "3", " Sertoli-Leydig cell tumor, poorly differentiated" ], [ "8632", "1", " Gynandroblastoma (C56.9)" ], [ "8633", "1", " Sertoli-Leydig cell tumor, retiform" ], [ "8634", "1", " Sertoli-Leydig cell tumor, intermediate differentiation, with heterologous elements" ], [ "8634", "3", " Sertoli-Leydig cell tumor, poorly differentiated, with heterologous elements" ], [ "8640", "1", " Sertoli cell tumor, NOS" ], [ "8640", "3", " Sertoli cell carcinoma (C62._)" ], [ "8641", "0", " Sertoli cell tumor with lipid storage" ], [ "8642", "1", " Large cell calcifying Sertoli cell tumor" ], [ "8650", "0", " Leydig cell tumor, benign (C62._)" ], [ "8650", "1", " Leydig cell tumor, NOS (C62._)" ], [ "8650", "3", " Leydig cell tumor, malignant (C62._)" ], [ "8660", "0", " Hilus cell tumor (C56.9)" ], [ "8670", "0", " Lipid cell tumor of ovary (C56.9)" ], [ "8670", "3", " Steroid cell tumor, malignant" ], [ "8671", "0", " Adrenal rest tumor" ], [ "8680", "0", " Paraganglioma, benign" ], [ "8680", "1", " Paraganglioma, NOS" ], [ "8680", "3", " Paraganglioma, malignant" ], [ "8681", "1", " Sympathetic paraganglioma" ], [ "8682", "1", " Parasympathetic paraganglioma" ], [ "8683", "0", " Gangliocytic paraganglioma (C17.0)" ], [ "8690", "1", " Glomus jugulare tumor, NOS (C75.5)" ], [ "8691", "1", " Aortic body tumor (C75.5)" ], [ "8692", "1", " Carotid body tumor (C75.4)" ], [ "8693", "1", " Extra-adrenal paraganglioma, NOS" ], [ "8693", "3", " Extra-adrenal paraganglioma, malignant" ], [ "8700", "0", " Pheochromocytoma, NOS (C74.1)" ], [ "8700", "3", " Pheochromocytoma, malignant (C74.1)" ], [ "8720", "0", " Pigmented nevus, NOS (C44._)" ], [ "8720", "2", " Melanoma in situ" ], [ "8720", "3", " Malignant melanoma, NOS (except juvenile melanoma M-8770/0)" ], [ "8721", "3", " Nodular melanoma (C44._)" ], [ "8722", "0", " Balloon cell nevus (C44._)" ], [ "8722", "3", " Balloon cell melanoma (C44._)" ], [ "8723", "0", " Halo nevus (C44._)" ], [ "8723", "3", " Malignant melanoma, regressing (C44._)" ], [ "8725", "0", " Neuronevus (C44._)" ], [ "8726", "0", " Magnocellular nevus (C69.4)" ], [ "8727", "0", " Dysplastic nevus (C44._)" ], [ "8728", "0", " Diffuse melanocytosis (C70.9)" ], [ "8728", "1", " Meningeal melanocytoma (C70.9)" ], [ "8728", "3", " Meningeal melanomatosis (C70.9)" ], [ "8730", "0", " Nonpigmented nevus (C44._)" ], [ "8730", "3", " Amelanotic melanoma (C44._)" ], [ "8740", "0", " Junctional nevus, NOS (C44._)" ], [ "8740", "3", " Malignant melanoma in junctional nevus (C44._)" ], [ "8741", "2", " Precancerous melanosis, NOS (C44._)" ], [ "8741", "3", " Malignant melanoma in precancerous melanosis (C44._)" ], [ "8742", "2", " Lentigo maligna (C44._)" ], [ "8742", "3", " Lentigo maligna melanoma (C44._)" ], [ "8743", "3", " Superficial spreading melanoma (C44._)" ], [ "8744", "3", " Acral lentiginous melanoma, malignant (C44._)" ], [ "8745", "3", " Desmoplastic melanoma, malignant (C44._)" ], [ "8746", "3", " Mucosal lentiginous melanoma" ], [ "8750", "0", " Intradermal nevus (C44._)" ], [ "8760", "0", " Compound nevus (C44._)" ], [ "8761", "0", " Small congenital nevus (C44._)" ], [ "8761", "1", " Giant pigmented nevus, NOS (C44._)" ], [ "8761", "3", " Malignant melanoma in giant pigmented nevus (C44._)" ], [ "8762", "1", " Proliferative dermal lesion in congenital nevus (C44._)" ], [ "8770", "0", " Epithelioid and spindle cell nevus (C44._)" ], [ "8770", "3", " Mixed epithelioid and spindle cell melanoma" ], [ "8771", "0", " Epithelioid cell nevus (C44._)" ], [ "8771", "3", " Epithelioid cell melanoma" ], [ "8772", "0", " Spindle cell nevus, NOS (C44._)" ], [ "8772", "3", " Spindle cell melanoma, NOS" ], [ "8773", "3", " Spindle cell melanoma, type A (C69._)" ], [ "8774", "3", " Spindle cell melanoma, type B (C69._)" ], [ "8780", "0", " Blue nevus, NOS (C44._)" ], [ "8780", "3", " Blue nevus, malignant (C44._)" ], [ "8790", "0", " Cellular blue nevus (C44._)" ], [ "8930", "0", " Endometrial stromal nodule (C54.1)" ], [ "8930", "3", " Endometrial stromal sarcoma, NOS (C54.1)" ], [ "8931", "3", " Endometrial stromal sarcoma, low grade (C54.1)" ], [ "8932", "0", " Adenomyoma" ], [ "8933", "3", " Adenosarcoma" ], [ "8934", "3", " Carcinofibroma" ], [ "8935", "0", " Stromal tumor, benign" ], [ "8935", "1", " Stromal tumor, NOS" ], [ "8935", "3", " Stromal sarcoma, NOS" ], [ "8940", "0", " Pleomorphic adenoma" ], [ "8940", "3", " Mixed tumor, malignant, NOS" ], [ "8941", "3", " Carcinoma in pleomorphic adenoma (C07._, C08._)" ], [ "8950", "3", " Mullerian mixed tumor (C54._)" ], [ "8951", "3", " Mesodermal mixed tumor" ], [ "8959", "0", " Benign cystic nephroma (C64.9)" ], [ "8959", "1", " Cystic partially differentiated nephroblastoma (C64.9)" ], [ "8959", "3", " Malignant cystic nephroma (C64.9)" ], [ "8960", "1", " Mesoblastic nephroma" ], [ "8960", "3", " Nephroblastoma, NOS (C64.9)" ], [ "8963", "3", " Malignant rhabdoid tumor" ], [ "8964", "3", " Clear cell sarcoma of kidney (C64.9)" ], [ "8965", "0", " Nephrogenic adenofibroma (C64.9)" ], [ "8966", "0", " Renomedullary interstitial cell tumor (C64.9)" ], [ "8967", "0", " Ossifying renal tumor (C64.9)" ], [ "8970", "3", " Hepatoblastoma (C22.0)" ], [ "8971", "3", " Pancreatoblastoma (C25._)" ], [ "8972", "3", " Pulmonary blastoma (C34._)" ], [ "8973", "3", " Pleuropulmonary blastoma" ], [ "8974", "1", " Sialoblastoma" ], [ "8980", "3", " Carcinosarcoma, NOS" ], [ "8981", "3", " Carcinosarcoma, embryonal" ], [ "8982", "0", " Myoepithelioma" ], [ "8982", "3", " Malignant myoepithelioma" ], [ "8983", "0", " Adenomyoepithelioma (C50._)" ], [ "9000", "0", " Brenner tumor, NOS (C56.9)" ], [ "9000", "1", " Brenner tumor, borderline malignancy (C56.9)" ], [ "9000", "3", " Brenner tumor, malignant (C56.9)" ], [ "9010", "0", " Fibroadenoma, NOS (C50._)" ], [ "9011", "0", " Intracanalicular fibroadenoma (C50._)" ], [ "9012", "0", " Pericanalicular fibroadenoma (C50._)" ], [ "9013", "0", " Adenofibroma, NOS" ], [ "9014", "0", " Serous adenofibroma, NOS" ], [ "9014", "1", " Serous adenofibroma of borderline malignancy" ], [ "9014", "3", " Serous adenocarcinofibroma" ], [ "9015", "0", " Mucinous adenofibroma, NOS" ], [ "9015", "1", " Mucinous adenofibroma of borderline malignancy" ], [ "9015", "3", " Mucinous adenocarcinofibroma" ], [ "9016", "0", " Giant fibroadenoma (C50._)" ], [ "9020", "0", " Phyllodes tumor, benign (C50._)" ], [ "9020", "1", " Phyllodes tumor, borderline (C50._)" ], [ "9020", "3", " Phyllodes tumor, malignant (C50._)" ], [ "9030", "0", " Juvenile fibroadenoma (C50._)" ], [ "9050", "0", " Mesothelioma, benign" ], [ "9050", "3", " Mesothelioma, malignant" ], [ "9051", "0", " Fibrous mesothelioma, benign" ], [ "9051", "3", " Fibrous mesothelioma, malignant" ], [ "9052", "0", " Epithelioid mesothelioma, benign" ], [ "9052", "3", " Epithelioid mesothelioma, malignant" ], [ "9053", "3", " Mesothelioma, biphasic, malignant" ], [ "9054", "0", " Adenomatoid tumor, NOS" ], [ "9055", "0", " Multicystic mesothelioma, benign" ], [ "9055", "1", " Cystic mesothelioma, NOS (C48._)" ], [ "9060", "3", " Dysgerminoma" ], [ "9061", "3", " Seminoma, NOS (C62._)" ], [ "9062", "3", " Seminoma, anaplastic (C62._)" ], [ "9063", "3", " Spermatocytic seminoma (C62._)" ], [ "9064", "2", " Intratubular malignant germ cells (C62._)" ], [ "9064", "3", " Germinoma" ], [ "9065", "3", " Germ cell tumor, nonseminomatous (C62._)" ], [ "9070", "3", " Embryonal carcinoma, NOS" ], [ "9071", "3", " Yolk sac tumor" ], [ "9072", "3", " Polyembryoma" ], [ "9073", "1", " Gonadoblastoma" ], [ "9080", "0", " Teratoma, benign" ], [ "9080", "1", " Teratoma, NOS" ], [ "9080", "3", " Teratoma, malignant, NOS" ], [ "9081", "3", " Teratocarcinoma" ], [ "9082", "3", " Malignant teratoma, undifferentiated" ], [ "9083", "3", " Malignant teratoma, intermediate" ], [ "9084", "0", " Dermoid cyst, NOS" ], [ "9084", "3", " Teratoma with malignant transformation" ], [ "9085", "3", " Mixed germ cell tumor" ], [ "9090", "0", " Struma ovarii, NOS (C56.9)" ], [ "9090", "3", " Struma ovarii, malignant (C56.9)" ], [ "9091", "1", " Strumal carcinoid (C56.9)" ], [ "9100", "0", " Hydatidiform mole, NOS (C58.9)" ], [ "9100", "1", " Invasive hydatidiform mole (C58.9)" ], [ "9100", "3", " Choriocarcinoma, NOS" ], [ "9101", "3", " Choriocarcinoma combined with other germ cell elements" ], [ "9102", "3", " Malignant teratoma, trophoblastic" ], [ "9103", "0", " Partial hydatidiform mole (C58.9)" ], [ "9104", "1", " Placental site trophoblastic tumor (C58.9)" ], [ "9105", "3", " Trophoblastic tumor, epithelioid" ], [ "9110", "0", " Mesonephroma, benign" ], [ "9110", "1", " Mesonephric tumor, NOS" ], [ "9110", "3", " Mesonephroma, malignant" ], [ "9140", "3", " Kaposi sarcoma" ], [ "9141", "0", " Angiokeratoma" ], [ "9142", "0", " Verrucous keratotic hemangioma" ], [ "9262", "0", " Ossifying fibroma" ], [ "9270", "0", " Odontogenic tumor, benign" ], [ "9270", "1", " Odontogenic tumor, NOS" ], [ "9270", "3", " Odontogenic tumor, malignant" ], [ "9271", "0", " Ameloblastic fibrodentinoma" ], [ "9272", "0", " Cementoma, NOS" ], [ "9273", "0", " Cementoblastoma, benign" ], [ "9274", "0", " Cementifying fibroma" ], [ "9275", "0", " Gigantiform cementoma" ], [ "9280", "0", " Odontoma, NOS" ], [ "9281", "0", " Compound odontoma" ], [ "9282", "0", " Complex odontoma" ], [ "9290", "0", " Ameloblastic fibro-odontoma" ], [ "9290", "3", " Ameloblastic odontosarcoma" ], [ "9300", "0", " Adenomatoid odontogenic tumor" ], [ "9301", "0", " Calcifying odontogenic cyst" ], [ "9302", "0", " Odontogenic ghost cell tumor" ], [ "9310", "0", " Ameloblastoma, NOS" ], [ "9310", "3", " Ameloblastoma, malignant" ], [ "9311", "0", " Odontoameloblastoma" ], [ "9312", "0", " Squamous odontogenic tumor" ], [ "9320", "0", " Odontogenic myxoma" ], [ "9321", "0", " Central odontogenic fibroma" ], [ "9322", "0", " Peripheral odontogenic fibroma" ], [ "9330", "0", " Ameloblastic fibroma" ], [ "9330", "3", " Ameloblastic fibrosarcoma" ], [ "9340", "0", " Calcifying epithelial odontogenic tumor" ], [ "9341", "1", " Clear cell odontogenic tumor" ], [ "9342", "3", " Odontogenic carcinosarcoma" ], [ "9350", "1", " Craniopharyngioma (C75.2)" ], [ "9351", "1", " Craniopharyngioma, adamantinomatous (C75.2)" ], [ "9352", "1", " Craniopharyngioma, papillary (C75.2)" ], [ "9360", "1", " Pinealoma (C75.3)" ], [ "9361", "1", " Pineocytoma (C75.3)" ], [ "9362", "3", " Pineoblastoma (C75.3)" ], [ "9363", "0", " Melanotic neuroectodermal tumor" ], [ "9364", "3", " Peripheral neuroectodermal tumor" ], [ "9365", "3", " Askin tumor" ], [ "9380", "3", " Glioma, malignant (C71._)" ], [ "9381", "3", " Gliomatosis cerebri (C71._)" ], [ "9382", "3", " Mixed glioma (C71._)" ], [ "9383", "1", " Subependymoma (C71._)" ], [ "9384", "1", " Subependymal giant cell astrocytoma (C71._)" ], [ "9390", "0", " Choroid plexus papilloma, NOS (C71.5)" ], [ "9390", "1", " Atypical choroid plexus papilloma (C71.5)" ], [ "9390", "3", " Choroid plexus carcinoma (C71.5)" ], [ "9391", "3", " Ependymoma, NOS (C71._)" ], [ "9392", "3", " Ependymoma, anaplastic (C71._)" ], [ "9393", "3", " Papillary ependymoma (C71._)" ], [ "9394", "1", " Myxopapillary ependymoma (C72.0)" ], [ "9400", "3", " Astrocytoma, NOS (C71._)" ], [ "9401", "3", " Astrocytoma, anaplastic (C71._)" ], [ "9410", "3", " Protoplasmic astrocytoma (C71._)" ], [ "9411", "3", " Gemistocytic astrocytoma (C71._)" ], [ "9412", "1", " Desmoplastic infantile astrocytoma (C71._)" ], [ "9413", "0", " Dysembryoplastic neuroepithelial tumor" ], [ "9420", "3", " Fibrillary astrocytoma (C71._)" ], [ "9421", "1", " Pilocytic astrocytoma (C71._)" ], [ "9423", "3", " Polar spongioblastoma (C71._)" ], [ "9424", "3", " Pleomorphic xanthoastrocytoma (C71._)" ], [ "9430", "3", " Astroblastoma (C71._)" ], [ "9440", "3", " Glioblastoma, NOS (C71._)" ], [ "9441", "3", " Giant cell glioblastoma (C71._)" ], [ "9442", "1", " Gliofibroma (C71._)" ], [ "9442", "3", " Gliosarcoma (C71._)" ], [ "9444", "1", " Chordoid glioma (C71._)" ], [ "9450", "3", " Oligodendroglioma, NOS (C71._)" ], [ "9451", "3", " Oligodendroglioma, anaplastic (C71._)" ], [ "9460", "3", " Oligodendroblastoma (C71._) [obs]" ], [ "9470", "3", " Medulloblastoma, NOS (C71.6)" ], [ "9471", "3", " Desmoplastic nodular medulloblastoma (C71.6)" ], [ "9472", "3", " Medullomyoblastoma (C71.6)" ], [ "9474", "3", " Large cell medulloblastoma (C71.6)" ], [ "9480", "3", " Cerebellar sarcoma, NOS (C71.6) [obs]" ], [ "9490", "0", " Ganglioneuroma" ], [ "9490", "3", " Ganglioneuroblastoma" ], [ "9491", "0", " Ganglioneuromatosis" ], [ "9492", "0", " Gangliocytoma" ], [ "9493", "0", " Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" ], [ "9500", "3", " Neuroblastoma, NOS" ], [ "9501", "0", " Medulloepithelioma, benign (C69.4)" ], [ "9501", "3", " Medulloepithelioma, NOS" ], [ "9502", "0", " Teratoid medulloepithelioma, benign (C69.4)" ], [ "9502", "3", " Teratoid medulloepithelioma" ], [ "9503", "3", " Neuroepithelioma, NOS" ], [ "9504", "3", " Spongioneuroblastoma" ], [ "9505", "1", " Ganglioglioma, NOS" ], [ "9505", "3", " Ganglioglioma, anaplastic" ], [ "9506", "1", " Central neurocytoma" ], [ "9507", "0", " Pacinian tumor" ], [ "9508", "3", " Atypical teratoid/rhabdoid tumor (C71._)" ], [ "9510", "0", " Retinocytoma (C69.2)" ], [ "9510", "3", " Retinoblastoma, NOS (C69.2)" ], [ "9511", "3", " Retinoblastoma, differentiated (C69.2)" ], [ "9512", "3", " Retinoblastoma, undifferentiated (C69.2)" ], [ "9513", "3", " Retinoblastoma, diffuse (C69.2)" ], [ "9514", "1", " Retinoblastoma, spontaneously regressed (C69.2)" ], [ "9520", "3", " Olfactory neurogenic tumor" ], [ "9521", "3", " Olfactory neurocytoma (C30.0)" ], [ "9522", "3", " Olfactory neuroblastoma (C30.0)" ], [ "9523", "3", " Olfactory neuroepithelioma (C30.0)" ], [ "9530", "0", " Meningioma, NOS" ], [ "9530", "1", " Meningiomatosis, NOS" ], [ "9530", "3", " Meningioma, malignant" ], [ "9531", "0", " Meningothelial meningioma" ], [ "9532", "0", " Fibrous meningioma" ], [ "9533", "0", " Psammomatous meningioma" ], [ "9534", "0", " Angiomatous meningioma" ], [ "9535", "0", " Hemangioblastic meningioma [obs]" ], [ "9537", "0", " Transitional meningioma" ], [ "9538", "1", " Clear cell meningioma" ], [ "9538", "3", " Papillary meningioma" ], [ "9539", "1", " Atypical meningioma" ], [ "9539", "3", " Meningeal sarcomatosis" ], [ "9590", "3", " Malignant lymphoma, NOS" ], [ "9591", "3", " Malignant lymphoma, non-Hodgkin, NOS" ], [ "9596", "3", " Composite Hodgkin and non-Hodgkin lymphoma" ], [ "9650", "3", " Hodgkin lymphoma, NOS" ], [ "9651", "3", " Hodgkin lymphoma, lymphocyte-rich" ], [ "9652", "3", " Hodgkin lymphoma, mixed cellularity, NOS" ], [ "9653", "3", " Hodgkin lymphoma, lymphocyte depletion, NOS" ], [ "9654", "3", " Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" ], [ "9655", "3", " Hodgkin lymphoma, lymphocyte depletion, reticular" ], [ "9659", "3", " Hodgkin lymphoma, nodular lymphocyte predominance" ], [ "9661", "3", " Hodgkin granuloma [obs]" ], [ "9662", "3", " Hodgkin sarcoma [obs]" ], [ "9663", "3", " Hodgkin lymphoma, nodular sclerosis, NOS" ], [ "9664", "3", " Hodgkin lymphoma, nodular sclerosis, cellular phase" ], [ "9665", "3", " Hodgkin lymphoma, nodular sclerosis, grade 1" ], [ "9667", "3", " Hodgkin lymphoma, nodular sclerosis, grade 2" ], [ "9670", "3", " Malignant lymphoma, small B lymphocytic, NOS (see also M-9823/3)" ], [ "9671", "3", " Malignant lymphoma, lymphoplasmacytic (see also M-9761/3)" ], [ "9673", "3", " Mantle cell lymphoma" ], [ "9675", "3", " Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" ], [ "9678", "3", " Primary effusion lymphoma" ], [ "9679", "3", " Mediastinal large B-cell lymphoma (C38.3)" ], [ "9680", "3", " Malignant lymphoma, large B-cell, diffuse, NOS" ], [ "9684", "3", " Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" ], [ "9687", "3", " Burkitt lymphoma, NOS (see also M-9826/3)" ], [ "9689", "3", " Splenic marginal zone B-cell lymphoma (C42.2)" ], [ "9690", "3", " Follicular lymphoma, NOS (see also M-9675/3)" ], [ "9691", "3", " Follicular lymphoma, grade 2" ], [ "9695", "3", " Follicular lymphoma, grade 1" ], [ "9698", "3", " Follicular lymphoma, grade 3" ], [ "9699", "3", " Marginal zone B-cell lymphoma, NOS" ], [ "9700", "3", " Mycosis fungoides (C44._)" ], [ "9701", "3", " Sezary syndrome" ], [ "9702", "3", " Mature T-cell lymphoma, NOS" ], [ "9705", "3", " Angioimmunoblastic T-cell lymphoma" ], [ "9708", "3", " Subcutaneous panniculitis-like T-cell lymphoma" ], [ "9709", "3", " Cutaneous T-cell lymphoma, NOS (C44._)" ], [ "9714", "3", " Anaplastic large cell lymphoma, T cell and Null cell type" ], [ "9716", "3", " Hepatosplenic ?? (gamma-delta) cell lymphoma" ], [ "9717", "3", " Intestinal T-cell lymphoma" ], [ "9718", "3", " Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" ], [ "9719", "3", " NK/T-cell lymphoma, nasal and nasal-type" ], [ "9727", "3", " Precursor cell lymphoblastic lymphoma, NOS (see also M-9835/3)" ], [ "9728", "3", " Precursor B-cell lymphoblastic lymphoma (see also M-9836/3)" ], [ "9729", "3", " Precursor T-cell lymphoblastic lymphoma (see also M-9837/3)" ], [ "9731", "3", " Plasmacytoma, NOS" ], [ "9732", "3", " Multiple myeloma (C42.1)" ], [ "9733", "3", " Plasma cell leukemia (C42.1)" ], [ "9734", "3", " Plasmacytoma, extramedullary (not occurring in bone)" ], [ "9740", "1", " Mastocytoma, NOS" ], [ "9740", "3", " Mast cell sarcoma" ], [ "9741", "3", " Malignant mastocytosis" ], [ "9742", "3", " Mast cell leukemia (C42.1)" ], [ "9750", "3", " Malignant histiocytosis" ], [ "9751", "1", " Langerhans cell histiocytosis, NOS" ], [ "9752", "1", " Langerhans cell histiocytosis, unifocal" ], [ "9753", "1", " Langerhans cell histiocytosis, multifocal" ], [ "9754", "3", " Langerhans cell histiocytosis, disseminated" ], [ "9755", "3", " Histiocytic sarcoma" ], [ "9756", "3", " Langerhans cell sarcoma" ], [ "9757", "3", " Interdigitating dendritic cell sarcoma" ], [ "9758", "3", " Follicular dendritic cell sarcoma" ], [ "9760", "3", " Immunoproliferative disease, NOS" ], [ "9761", "3", " Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" ], [ "9762", "3", " Heavy chain disease, NOS" ], [ "9764", "3", " Immunoproliferative small intestinal disease (C17._)" ], [ "9765", "1", " Monoclonal gammopathy of undetermined significance" ], [ "9766", "1", " Angiocentric immunoproliferative lesion" ], [ "9767", "1", " Angioimmunoblastic lymphadenopathy" ], [ "9768", "1", " T-gamma lymphoproliferative disease" ], [ "9769", "1", " Immunoglobulin deposition disease" ], [ "9800", "3", " Leukemia, NOS" ], [ "9801", "3", " Acute leukemia, NOS" ], [ "9805", "3", " Acute biphenotypic leukemia" ], [ "9820", "3", " Lymphoid leukemia, NOS" ], [ "9823", "3", " B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" ], [ "9826", "3", " Burkitt cell leukemia (see also M-9687/3)" ], [ "9827", "3", " Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" ], [ "9831", "1", " T-cell large granular lymphocytic leukemia" ], [ "9832", "3", " Prolymphocytic leukemia, NOS" ], [ "9833", "3", " Prolymphocytic leukemia, B-cell type" ], [ "9834", "3", " Prolymphocytic leukemia, T-cell type" ], [ "9835", "3", " Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" ], [ "9836", "3", " Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" ], [ "9837", "3", " Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" ], [ "9840", "3", " Acute myeloid leukemia, M6 type" ], [ "9860", "3", " Myeloid leukemia, NOS" ], [ "9861", "3", " Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" ], [ "9863", "3", " Chronic myeloid leukemia, NOS" ], [ "9866", "3", " Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" ], [ "9867", "3", " Acute myelomonocytic leukemia" ], [ "9870", "3", " Acute basophilic leukemia" ], [ "9871", "3", " Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" ], [ "9872", "3", " Acute myeloid leukemia, minimal differentiation" ], [ "9873", "3", " Acute myeloid leukemia without maturation" ], [ "9874", "3", " Acute myeloid leukemia with maturation" ], [ "9875", "3", " Chronic myelogenous leukemia, BCR/ABL positive" ], [ "9876", "3", " Atypical chronic myeloid leukemia, BCR/ABL negative" ], [ "9891", "3", " Acute monocytic leukemia" ], [ "9895", "3", " Acute myeloid leukemia with multilineage dysplasia" ], [ "9896", "3", " Acute myeloid leukemia, t(8;21)(q22;q22)" ], [ "9897", "3", " Acute myeloid leukemia, 11q23 abnormalities" ], [ "9910", "3", " Acute megakaryoblastic leukemia" ], [ "9920", "3", " Therapy-related acute myeloid leukemia, NOS" ], [ "9930", "3", " Myeloid sarcoma (see also M-9861/3)" ], [ "9931", "3", " Acute panmyelosis with myelofibrosis (C42.1)" ], [ "9940", "3", " Hairy cell leukemia (C42.1)" ], [ "9945", "3", " Chronic myelomonocytic leukemia, NOS" ], [ "9946", "3", " Juvenile myelomonocytic leukemia" ], [ "9948", "3", " Aggressive NK-cell leukemia" ], [ "9950", "3", " Polycythemia vera" ], [ "9960", "3", " Chronic myeloproliferative disease, NOS" ], [ "9961", "3", " Myelosclerosis with myeloid metaplasia" ], [ "9962", "3", " Essential thrombocythemia" ], [ "9963", "3", " Chronic neutrophilic leukemia" ], [ "9964", "3", " Hypereosinophilic syndrome" ], [ "9970", "1", " Lymphoproliferative disorder, NOS" ], [ "9975", "1", " Myeloproliferative disease, NOS" ], [ "9980", "3", " Refractory anemia" ], [ "9982", "3", " Refractory anemia with sideroblasts" ], [ "9983", "3", " Refractory anemia with excess blasts" ], [ "9984", "3", " Refractory anemia with excess blasts in transformation [obs]" ], [ "9985", "3", " Refractory cytopenia with multilineage dysplasia" ], [ "9986", "3", " Myelodysplastic syndrome with 5q deletion (5q-) syndrome" ], [ "9987", "3", " Therapy-related myelodysplastic syndrome, NOS" ], [ "9989", "3", " Myelodysplastic syndrome, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppd.json deleted file mode 100644 index 900d00605..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppd.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ajcc6_exclusions_ppd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Exclusions", - "title" : "Histology Exclusion Table AJCC 6th ed.", - "notes" : "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. For these cases, displayed results will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified" : "2015-05-27T16:18:47.463Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8240", "1", "Carcinoid tumor of uncertain malignant potential" ], [ "8240", "3", "Carcinoid tumor, NOS (except of appendix M-8240/1)" ], [ "8241", "3", "Enterochromaffin cell carcinoid" ], [ "8242", "1", "Enterochromaffin-like cell carcinoid, NOS" ], [ "8242", "3", "Enterochromaffin-like cell tumor, malignant" ], [ "8243", "3", "Goblet cell carcinoid" ], [ "8248", "1", "Apudoma" ], [ "8249", "3", "Atypical carcinoid tumor" ], [ "8680", "0", "Paraganglioma, benign" ], [ "8680", "1", "Paraganglioma, NOS" ], [ "8680", "3", "Paraganglioma, malignant" ], [ "8681", "1", "Sympathetic paraganglioma" ], [ "8682", "1", "Parasympathetic paraganglioma" ], [ "8683", "0", "Gangliocytic paraganglioma (C17.0)" ], [ "8690", "1", "Glomus jugulare tumor, NOS (C75.5)" ], [ "8691", "1", "Aortic body tumor (C75.5)" ], [ "8692", "1", "Carotid body tumor (C75.4)" ], [ "8693", "1", "Extra-adrenal paraganglioma, NOS" ], [ "8693", "3", "Extra-adrenal paraganglioma, malignant" ], [ "8700", "0", "Pheochromocytoma, NOS (C74.1)" ], [ "8700", "3", "Pheochromocytoma, malignant (C74.1)" ], [ "8710", "3", "Glomangiosarcoma" ], [ "8711", "0", "Glomus tumor, NOS" ], [ "8711", "3", "Glomus tumor, malignant" ], [ "8712", "0", "Glomangioma" ], [ "8713", "0", "Glomangiomyoma" ], [ "8720", "0", "Pigmented nevus, NOS (C44._)" ], [ "8720", "2", "Melanoma in situ" ], [ "8720", "3", "Malignant melanoma, NOS (except juvenile melanoma M-8770/0)" ], [ "8721", "3", "Nodular melanoma (C44._)" ], [ "8722", "0", "Balloon cell nevus (C44._)" ], [ "8722", "3", "Balloon cell melanoma (C44._)" ], [ "8723", "0", "Halo nevus (C44._)" ], [ "8723", "3", "Malignant melanoma, regressing (C44._)" ], [ "8725", "0", "Neuronevus (C44._)" ], [ "8726", "0", "Magnocellular nevus (C69.4)" ], [ "8727", "0", "Dysplastic nevus (C44._)" ], [ "8728", "0", "Diffuse melanocytosis (C70.9) " ], [ "8728", "1", "Meningeal melanocytoma (C70.9)" ], [ "8728", "3", "Meningeal melanomatosis (C70.9)" ], [ "8730", "0", "Nonpigmented nevus (C44._)" ], [ "8730", "3", "Amelanotic melanoma (C44._)" ], [ "8740", "0", "Junctional nevus, NOS (C44._)" ], [ "8740", "3", "Malignant melanoma in junctional nevus (C44._)" ], [ "8741", "2", "Precancerous melanosis, NOS (C44._)" ], [ "8741", "3", "Malignant melanoma in precancerous melanosis (C44._)" ], [ "8742", "2", "Lentigo maligna (C44._)" ], [ "8742", "3", "Lentigo maligna melanoma (C44._)" ], [ "8743", "3", "Superficial spreading melanoma (C44._)" ], [ "8744", "3", "Acral lentiginous melanoma, malignant (C44._)" ], [ "8745", "3", "Desmoplastic melanoma, malignant (C44._)" ], [ "8746", "3", "Mucosal lentiginous melanoma" ], [ "8750", "0", "Intradermal nevus (C44._)" ], [ "8760", "0", "Compound nevus (C44._)" ], [ "8761", "0", "Small congenital nevus (C44._)" ], [ "8761", "1", "Giant pigmented nevus, NOS (C44._)" ], [ "8761", "3", "Malignant melanoma in giant pigmented nevus (C44._)" ], [ "8762", "1", "Proliferative dermal lesion in congenital nevus (C44._)" ], [ "8770", "0", "Epithelioid and spindle cell nevus (C44._)" ], [ "8770", "3", "Mixed epithelioid and spindle cell melanoma" ], [ "8771", "0", "Epithelioid cell nevus (C44._)" ], [ "8771", "3", "Epithelioid cell melanoma" ], [ "8772", "0", "Spindle cell nevus, NOS (C44._)" ], [ "8772", "3", "Spindle cell melanoma, NOS" ], [ "8773", "3", "Spindle cell melanoma, type A (C69._)" ], [ "8774", "3", "Spindle cell melanoma, type B (C69._)" ], [ "8780", "0", "Blue nevus, NOS (C44._)" ], [ "8780", "3", "Blue nevus, malignant (C44._)" ], [ "8790", "0", "Cellular blue nevus (C44._)" ], [ "8800", "0", "Soft tissue tumor, benign" ], [ "8800", "3", "Sarcoma, NOS" ], [ "8800", "9", "Sarcomatosis, NOS" ], [ "8801", "3", "Spindle cell sarcoma" ], [ "8802", "3", "Giant cell sarcoma (except of bone M-9250/3)" ], [ "8803", "3", "Small cell sarcoma" ], [ "8804", "3", "Epithelioid sarcoma" ], [ "8805", "3", "Undifferentiated sarcoma" ], [ "8806", "3", "Desmoplastic small round cell tumor" ], [ "8810", "0", "Fibroma, NOS" ], [ "8810", "1", "Cellular fibroma (C56.9)" ], [ "8810", "3", "Fibrosarcoma, NOS" ], [ "8811", "0", "Fibromyxoma" ], [ "8811", "3", "Fibromyxosarcoma" ], [ "8812", "0", "Periosteal fibroma (C40._, C41._)" ], [ "8812", "3", "Periosteal fibrosarcoma (C40._, C41._)" ], [ "8813", "0", "Fascial fibroma" ], [ "8813", "3", "Fascial fibrosarcoma" ], [ "8814", "3", "Infantile fibrosarcoma" ], [ "8815", "0", "Solitary fibrous tumor" ], [ "8815", "3", "Solitary fibrous tumor, malignant" ], [ "8820", "0", "Elastofibroma" ], [ "8821", "1", "Aggressive fibromatosis" ], [ "8822", "1", "Abdominal fibromatosis" ], [ "8823", "0", "Desmoplastic fibroma" ], [ "8824", "0", "Myofibroma " ], [ "8824", "1", "Myofibromatosis" ], [ "8825", "0", "Myofibroblastoma" ], [ "8825", "1", "Myofibroblastic tumor, NOS" ], [ "8826", "0", "Angiomyofibroblastoma" ], [ "8827", "1", "Myofibroblastic tumor, peribronchial (C34._)" ], [ "8830", "0", "Benign fibrous histiocytoma" ], [ "8830", "1", "Atypical fibrous histiocytoma" ], [ "8830", "3", "Malignant fibrous histiocytoma" ], [ "8831", "0", "Histiocytoma, NOS" ], [ "8832", "0", "Dermatofibroma, NOS (C44._)" ], [ "8832", "3", "Dermatofibrosarcoma, NOS (C44._)" ], [ "8833", "3", "Pigmented dermatofibrosarcoma protuberans (C44._)" ], [ "8834", "1", "Giant cell fibroblastoma" ], [ "8835", "1", "Plexiform fibrohistiocytic tumor" ], [ "8836", "1", "Angiomatoid fibrous histiocytoma" ], [ "8840", "0", "Myxoma, NOS" ], [ "8840", "3", "Myxosarcoma" ], [ "8841", "1", "Angiomyxoma" ], [ "8842", "0", "Ossifying fibromyxoid tumor" ], [ "8850", "0", "Lipoma, NOS" ], [ "8850", "1", "Atypical lipoma" ], [ "8850", "3", "Liposarcoma, NOS" ], [ "8851", "0", "Fibrolipoma" ], [ "8851", "3", "Liposarcoma, well differentiated" ], [ "8852", "0", "Fibromyxolipoma" ], [ "8852", "3", "Myxoid liposarcoma" ], [ "8853", "3", "Round cell liposarcoma" ], [ "8854", "0", "Pleomorphic lipoma" ], [ "8854", "3", "Pleomorphic liposarcoma" ], [ "8855", "3", "Mixed liposarcoma" ], [ "8856", "0", "Intramuscular lipoma" ], [ "8857", "0", "Spindle cell lipoma" ], [ "8857", "3", "Fibroblastic liposarcoma" ], [ "8858", "3", "Dedifferentiated liposarcoma" ], [ "8860", "0", "Angiomyolipoma" ], [ "8861", "0", "Angiolipoma, NOS" ], [ "8862", "0", "Chondroid lipoma" ], [ "8870", "0", "Myelolipoma" ], [ "8880", "0", "Hibernoma" ], [ "8881", "0", "Lipoblastomatosis" ], [ "8890", "0", "Leiomyoma, NOS" ], [ "8890", "1", "Leiomyomatosis, NOS" ], [ "8890", "3", "Leiomyosarcoma, NOS" ], [ "8891", "0", "Epithelioid leiomyoma" ], [ "8891", "3", "Epithelioid leiomyosarcoma" ], [ "8892", "0", "Cellular leiomyoma" ], [ "8893", "0", "Bizarre leiomyoma" ], [ "8894", "0", "Angiomyoma" ], [ "8894", "3", "Angiomyosarcoma" ], [ "8895", "0", "Myoma" ], [ "8895", "3", "Myosarcoma" ], [ "8896", "3", "Myxoid leiomyosarcoma" ], [ "8897", "1", "Smooth muscle tumor of uncertain malignant potential" ], [ "8898", "1", "Metastasizing leiomyoma" ], [ "8900", "0", "Rhabdomyoma, NOS" ], [ "8900", "3", "Rhabdomyosarcoma, NOS" ], [ "8901", "3", "Pleomorphic rhabdomyosarcoma, adult type" ], [ "8902", "3", "Mixed type rhabdomyosarcoma" ], [ "8903", "0", "Fetal rhabdomyoma" ], [ "8904", "0", "Adult rhabdomyoma" ], [ "8905", "0", "Genital rhabdomyoma (C51._, C52.9)" ], [ "8910", "3", "Embryonal rhabdomyosarcoma, NOS" ], [ "8912", "3", "Spindle cell rhabdomyosarcoma" ], [ "8920", "3", "Alveolar rhabdomyosarcoma" ], [ "8921", "3", "Rhabdomyosarcoma with ganglionic differentiation" ], [ "8930", "0", "Endometrial stromal nodule (C54.1)" ], [ "8930", "3", "Endometrial stromal sarcoma, NOS (C54.1)" ], [ "8931", "3", "Endometrial stromal sarcoma, low grade (C54.1)" ], [ "8932", "0", "Adenomyoma" ], [ "8933", "3", "Adenosarcoma" ], [ "8934", "3", "Carcinofibroma" ], [ "8935", "0", "Stromal tumor, benign" ], [ "8935", "1", "Stromal tumor, NOS" ], [ "8935", "3", "Stromal sarcoma, NOS" ], [ "8936", "0", "Gastrointestinal stromal tumor, benign" ], [ "8936", "1", "Gastrointestinal stromal tumor, NOS" ], [ "8936", "3", "Gastrointestinal stromal sarcoma" ], [ "8950", "3", "Mullerian mixed tumor (C54._)" ], [ "8951", "3", "Mesodermal mixed tumor" ], [ "8959", "0", "Benign cystic nephroma (C64.9)" ], [ "8959", "1", "Cystic partially differentiated nephroblastoma (C64.9)" ], [ "8959", "3", "Malignant cystic nephroma (C64.9)" ], [ "8960", "1", "Mesoblastic nephroma" ], [ "8960", "3", "Nephroblastoma, NOS (C64.9)" ], [ "8963", "3", "Malignant rhabdoid tumor" ], [ "8964", "3", "Clear cell sarcoma of kidney (C64.9)" ], [ "8965", "0", "Nephrogenic adenofibroma (C64.9)" ], [ "8966", "0", "Renomedullary interstitial cell tumor (C64.9)" ], [ "8967", "0", "Ossifying renal tumor (C64.9)" ], [ "8970", "3", "Hepatoblastoma (C22.0)" ], [ "8971", "3", "Pancreatoblastoma (C25._)" ], [ "8972", "3", "Pulmonary blastoma (C34._)" ], [ "8973", "3", "Pleuropulmonary blastoma" ], [ "8974", "1", "Sialoblastoma" ], [ "8980", "3", "Carcinosarcoma, NOS" ], [ "8981", "3", "Carcinosarcoma, embryonal" ], [ "8983", "0", "Adenomyoepithelioma (C50._)" ], [ "8990", "0", "Mesenchymoma, benign" ], [ "8990", "1", "Mesenchymoma, NOS" ], [ "8990", "3", "Mesenchymoma, malignant" ], [ "8991", "3", "Embryonal sarcoma" ], [ "9000", "0", "Brenner tumor, NOS (C56.9)" ], [ "9000", "1", "Brenner tumor, borderline malignancy (C56.9)" ], [ "9000", "3", "Brenner tumor, malignant (C56.9)" ], [ "9010", "0", "Fibroadenoma, NOS (C50._)" ], [ "9011", "0", "Intracanalicular fibroadenoma (C50._)" ], [ "9012", "0", "Pericanalicular fibroadenoma (C50._)" ], [ "9013", "0", "Adenofibroma, NOS" ], [ "9014", "0", "Serous adenofibroma, NOS" ], [ "9014", "1", "Serous adenofibroma of borderline malignancy" ], [ "9014", "3", "Serous adenocarcinofibroma" ], [ "9015", "0", "Mucinous adenofibroma, NOS" ], [ "9015", "1", "Mucinous adenofibroma of borderline malignancy" ], [ "9015", "3", "Mucinous adenocarcinofibroma" ], [ "9016", "0", "Giant fibroadenoma (C50._)" ], [ "9020", "0", "Phyllodes tumor, benign (C50._)" ], [ "9020", "1", "Phyllodes tumor, borderline (C50._)" ], [ "9020", "3", "Phyllodes tumor, malignant (C50._)" ], [ "9030", "0", "Juvenile fibroadenoma (C50._)" ], [ "9040", "0", "Synovioma, benign" ], [ "9040", "3", "Synovial sarcoma, NOS" ], [ "9041", "3", "Synovial sarcoma, spindle cell" ], [ "9042", "3", "Synovial sarcoma, epithelioid cell" ], [ "9043", "3", "Synovial sarcoma, biphasic" ], [ "9044", "3", "Clear cell sarcoma, NOS (except of kidney M-8964/3)" ], [ "9050", "0", "Mesothelioma, benign" ], [ "9050", "3", "Mesothelioma, malignant" ], [ "9051", "0", "Fibrous mesothelioma, benign" ], [ "9051", "3", "Fibrous mesothelioma, malignant" ], [ "9052", "0", "Epithelioid mesothelioma, benign" ], [ "9052", "3", "Epithelioid mesothelioma, malignant" ], [ "9053", "3", "Mesothelioma, biphasic, malignant" ], [ "9054", "0", "Adenomatoid tumor, NOS" ], [ "9055", "0", "Multicystic mesothelioma, benign" ], [ "9055", "1", "Cystic mesothelioma, NOS (C48._)" ], [ "9060", "3", "Dysgerminoma" ], [ "9061", "3", "Seminoma, NOS (C62._)" ], [ "9062", "3", "Seminoma, anaplastic (C62._)" ], [ "9063", "3", "Spermatocytic seminoma (C62._)" ], [ "9064", "2", "Intratubular malignant germ cells (C62._)" ], [ "9064", "3", "Germinoma" ], [ "9065", "3", "Germ cell tumor, nonseminomatous (C62._)" ], [ "9070", "3", "Embryonal carcinoma, NOS" ], [ "9071", "3", "Yolk sac tumor" ], [ "9072", "3", "Polyembryoma" ], [ "9073", "1", "Gonadoblastoma" ], [ "9080", "0", "Teratoma, benign" ], [ "9080", "1", "Teratoma, NOS" ], [ "9080", "3", "Teratoma, malignant, NOS" ], [ "9081", "3", "Teratocarcinoma" ], [ "9082", "3", "Malignant teratoma, undifferentiated" ], [ "9083", "3", "Malignant teratoma, intermediate" ], [ "9084", "0", "Dermoid cyst, NOS" ], [ "9084", "3", "Teratoma with malignant transformation" ], [ "9085", "3", "Mixed germ cell tumor" ], [ "9090", "0", "Struma ovarii, NOS (C56.9)" ], [ "9090", "3", "Struma ovarii, malignant (C56.9)" ], [ "9091", "1", "Strumal carcinoid (C56.9)" ], [ "9100", "0", "Hydatidiform mole, NOS (C58.9)" ], [ "9100", "1", "Invasive hydatidiform mole (C58.9)" ], [ "9100", "3", "Choriocarcinoma, NOS" ], [ "9101", "3", "Choriocarcinoma combined with other germ cell elements" ], [ "9102", "3", "Malignant teratoma, trophoblastic" ], [ "9103", "0", "Partial hydatidiform mole (C58.9)" ], [ "9104", "1", "Placental site trophoblastic tumor (C58.9)" ], [ "9105", "3", "Trophoblastic tumor, epithelioid" ], [ "9110", "0", "Mesonephroma, benign" ], [ "9110", "1", "Mesonephric tumor, NOS" ], [ "9110", "3", "Mesonephroma, malignant" ], [ "9120", "0", "Hemangioma, NOS" ], [ "9120", "3", "Hemangiosarcoma" ], [ "9121", "0", "Cavernous hemangioma" ], [ "9122", "0", "Venous hemangioma" ], [ "9123", "0", "Racemose hemangioma" ], [ "9124", "3", "Kupffer cell sarcoma (C22.0)" ], [ "9125", "0", "Epithelioid hemangioma" ], [ "9130", "0", "Hemangioendothelioma, benign" ], [ "9130", "1", "Hemangioendothelioma, NOS" ], [ "9130", "3", "Hemangioendothelioma, malignant" ], [ "9131", "0", "Capillary hemangioma" ], [ "9132", "0", "Intramuscular hemangioma" ], [ "9133", "1", "Epithelioid hemangioendothelioma, NOS" ], [ "9133", "3", "Epithelioid hemangioendothelioma, malignant" ], [ "9135", "1", "Endovascular papillary angioendothelioma" ], [ "9136", "1", "Spindle cell hemangioendothelioma " ], [ "9140", "3", "Kaposi sarcoma" ], [ "9141", "0", "Angiokeratoma" ], [ "9142", "0", "Verrucous keratotic hemangioma" ], [ "9150", "0", "Hemangiopericytoma, benign" ], [ "9150", "1", "Hemangiopericytoma, NOS" ], [ "9150", "3", "Hemangiopericytoma, malignant" ], [ "9160", "0", "Angiofibroma, NOS" ], [ "9161", "0", "Acquired tufted hemangioma" ], [ "9161", "1", "Hemangioblastoma" ], [ "9170", "0", "Lymphangioma, NOS" ], [ "9170", "3", "Lymphangiosarcoma" ], [ "9171", "0", "Capillary lymphangioma" ], [ "9172", "0", "Cavernous lymphangioma" ], [ "9173", "0", "Cystic lymphangioma" ], [ "9174", "0", "Lymphangiomyoma" ], [ "9174", "1", "Lymphangiomyomatosis" ], [ "9175", "0", "Hemolymphangioma" ], [ "9180", "0", "Osteoma, NOS (C40._, C41._)" ], [ "9180", "3", "Osteosarcoma, NOS (C40._, C41._)" ], [ "9181", "3", "Chondroblastic osteosarcoma (C40._, C41._)" ], [ "9182", "3", "Fibroblastic osteosarcoma (C40._, C41._)" ], [ "9183", "3", "Telangiectatic osteosarcoma (C40._, C41._)" ], [ "9184", "3", "Osteosarcoma in Paget disease of bone (C40._, C41._)" ], [ "9185", "3", "Small cell osteosarcoma (C40._, C41._)" ], [ "9186", "3", "Central osteosarcoma (C40._, C41._)" ], [ "9187", "3", "Intraosseous well differentiated osteosarcoma (C40._, C41._)" ], [ "9191", "0", "Osteoid osteoma, NOS (C40._, C41._)" ], [ "9192", "3", "Parosteal osteosarcoma (C40._, C41._)" ], [ "9193", "3", "Periosteal osteosarcoma (C40._, C41._)" ], [ "9194", "3", "High grade surface osteosarcoma (C40._, C41._)" ], [ "9195", "3", "Intracortical osteosarcoma (C40._, C41._)" ], [ "9200", "0", "Osteoblastoma, NOS (C40._, C41._)" ], [ "9200", "1", "Aggressive osteoblastoma (C40._, C41._)" ], [ "9210", "0", "Osteochondroma (C40._, C41._)" ], [ "9210", "1", "Osteochondromatosis, NOS (C40._, C41._)" ], [ "9220", "0", "Chondroma, NOS (C40._, C41._)" ], [ "9220", "1", "Chondromatosis, NOS" ], [ "9220", "3", "Chondrosarcoma, NOS (C40._, C41._)" ], [ "9221", "0", "Juxtacortical chondroma (C40._, C41._)" ], [ "9221", "3", "Juxtacortical chondrosarcoma (C40._, C41._)" ], [ "9230", "0", "Chondroblastoma, NOS (C40._, C41._)" ], [ "9230", "3", "Chondroblastoma, malignant (C40._, C41._)" ], [ "9231", "3", "Myxoid chondrosarcoma" ], [ "9240", "3", "Mesenchymal chondrosarcoma" ], [ "9241", "0", "Chondromyxoid fibroma (C40._, C41._)" ], [ "9242", "3", "Clear cell chondrosarcoma (C40._, C41._)" ], [ "9243", "3", "Dedifferentiated chondrosarcoma (C40._, C41._)" ], [ "9250", "1", "Giant cell tumor of bone, NOS (C40._, C41._)" ], [ "9250", "3", "Giant cell tumor of bone, malignant (C40._, C41._)" ], [ "9251", "1", "Giant cell tumor of soft parts, NOS" ], [ "9251", "3", "Malignant giant cell tumor of soft parts" ], [ "9252", "0", "Tenosynovial giant cell tumor (C49._)" ], [ "9252", "3", "Malignant tenosynovial giant cell tumor (C49._)" ], [ "9260", "3", "Ewing sarcoma" ], [ "9261", "3", "Adamantinoma of long bones (C40._)" ], [ "9262", "0", "Ossifying fibroma" ], [ "9270", "0", "Odontogenic tumor, benign" ], [ "9270", "1", "Odontogenic tumor, NOS" ], [ "9270", "3", "Odontogenic tumor, malignant" ], [ "9271", "0", "Ameloblastic fibrodentinoma" ], [ "9272", "0", "Cementoma, NOS" ], [ "9273", "0", "Cementoblastoma, benign" ], [ "9274", "0", "Cementifying fibroma" ], [ "9275", "0", "Gigantiform cementoma" ], [ "9280", "0", "Odontoma, NOS" ], [ "9281", "0", "Compound odontoma" ], [ "9282", "0", "Complex odontoma" ], [ "9290", "0", "Ameloblastic fibro-odontoma" ], [ "9290", "3", "Ameloblastic odontosarcoma" ], [ "9300", "0", "Adenomatoid odontogenic tumor" ], [ "9301", "0", "Calcifying odontogenic cyst" ], [ "9302", "0", "Odontogenic ghost cell tumor" ], [ "9310", "0", "Ameloblastoma, NOS" ], [ "9310", "3", "Ameloblastoma, malignant" ], [ "9311", "0", "Odontoameloblastoma" ], [ "9312", "0", "Squamous odontogenic tumor" ], [ "9320", "0", "Odontogenic myxoma" ], [ "9321", "0", "Central odontogenic fibroma" ], [ "9322", "0", "Peripheral odontogenic fibroma" ], [ "9330", "0", "Ameloblastic fibroma" ], [ "9330", "3", "Ameloblastic fibrosarcoma" ], [ "9340", "0", "Calcifying epithelial odontogenic tumor" ], [ "9341", "1", "Clear cell odontogenic tumor" ], [ "9342", "3", "Odontogenic carcinosarcoma" ], [ "9350", "1", "Craniopharyngioma (C75.2)" ], [ "9351", "1", "Craniopharyngioma, adamantinomatous (C75.2)" ], [ "9352", "1", "Craniopharyngioma, papillary (C75.2)" ], [ "9360", "1", "Pinealoma (C75.3)" ], [ "9361", "1", "Pineocytoma (C75.3)" ], [ "9362", "3", "Pineoblastoma (C75.3)" ], [ "9363", "0", "Melanotic neuroectodermal tumor" ], [ "9364", "3", "Peripheral neuroectodermal tumor" ], [ "9365", "3", "Askin tumor" ], [ "9370", "3", "Chordoma, NOS" ], [ "9371", "3", "Chondroid chordoma" ], [ "9372", "3", "Dedifferentiated chordoma" ], [ "9373", "0", "Parachordoma" ], [ "9380", "3", "Glioma, malignant (C71._)" ], [ "9381", "3", "Gliomatosis cerebri (C71._)" ], [ "9382", "3", "Mixed glioma (C71._)" ], [ "9383", "1", "Subependymoma (C71._)" ], [ "9384", "1", "Subependymal giant cell astrocytoma (C71._)" ], [ "9390", "0", "Choroid plexus papilloma, NOS (C71.5)" ], [ "9390", "1", "Atypical choroid plexus papilloma (C71.5)" ], [ "9390", "3", "Choroid plexus carcinoma (C71.5)" ], [ "9391", "3", "Ependymoma, NOS (C71._)" ], [ "9392", "3", "Ependymoma, anaplastic (C71._)" ], [ "9393", "3", "Papillary ependymoma (C71._)" ], [ "9394", "1", "Myxopapillary ependymoma (C72.0)" ], [ "9400", "3", "Astrocytoma, NOS (C71._)" ], [ "9401", "3", "Astrocytoma, anaplastic (C71._)" ], [ "9410", "3", "Protoplasmic astrocytoma (C71._)" ], [ "9411", "3", "Gemistocytic astrocytoma (C71._)" ], [ "9412", "1", "Desmoplastic infantile astrocytoma (C71._)" ], [ "9413", "0", "Dysembryoplastic neuroepithelial tumor" ], [ "9420", "3", "Fibrillary astrocytoma (C71._)" ], [ "9421", "1", "Pilocytic astrocytoma (C71._)" ], [ "9423", "3", "Polar spongioblastoma (C71._)" ], [ "9424", "3", "Pleomorphic xanthoastrocytoma (C71._)" ], [ "9430", "3", "Astroblastoma (C71._)" ], [ "9440", "3", "Glioblastoma, NOS (C71._)" ], [ "9441", "3", "Giant cell glioblastoma (C71._)" ], [ "9442", "1", "Gliofibroma (C71._)" ], [ "9442", "3", "Gliosarcoma (C71._)" ], [ "9444", "1", "Chordoid glioma (C71._)" ], [ "9450", "3", "Oligodendroglioma, NOS (C71._)" ], [ "9451", "3", "Oligodendroglioma, anaplastic (C71._)" ], [ "9460", "3", "Oligodendroblastoma (C71._) [obs]" ], [ "9470", "3", "Medulloblastoma, NOS (C71.6)" ], [ "9471", "3", "Desmoplastic nodular medulloblastoma (C71.6)" ], [ "9472", "3", "Medullomyoblastoma (C71.6)" ], [ "9473", "3", "Primitive neuroectodermal tumor, NOS" ], [ "9474", "3", "Large cell medulloblastoma (C71.6)" ], [ "9480", "3", "Cerebellar sarcoma, NOS (C71.6) [obs]" ], [ "9490", "0", "Ganglioneuroma" ], [ "9490", "3", "Ganglioneuroblastoma" ], [ "9491", "0", "Ganglioneuromatosis" ], [ "9492", "0", "Gangliocytoma" ], [ "9493", "0", "Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" ], [ "9500", "3", "Neuroblastoma, NOS" ], [ "9501", "0", "Medulloepithelioma, benign (C69.4)" ], [ "9501", "3", "Medulloepithelioma, NOS" ], [ "9502", "0", "Teratoid medulloepithelioma, benign (C69.4)" ], [ "9502", "3", "Teratoid medulloepithelioma" ], [ "9503", "3", "Neuroepithelioma, NOS" ], [ "9504", "3", "Spongioneuroblastoma" ], [ "9505", "1", "Ganglioglioma, NOS" ], [ "9505", "3", "Ganglioglioma, anaplastic" ], [ "9506", "1", "Central neurocytoma" ], [ "9507", "0", "Pacinian tumor" ], [ "9508", "3", "Atypical teratoid/rhabdoid tumor (C71._)" ], [ "9510", "0", "Retinocytoma (C69.2)" ], [ "9510", "3", "Retinoblastoma, NOS (C69.2)" ], [ "9511", "3", "Retinoblastoma, differentiated (C69.2)" ], [ "9512", "3", "Retinoblastoma, undifferentiated (C69.2)" ], [ "9513", "3", "Retinoblastoma, diffuse (C69.2)" ], [ "9514", "1", "Retinoblastoma, spontaneously regressed (C69.2)" ], [ "9520", "3", "Olfactory neurogenic tumor" ], [ "9521", "3", "Olfactory neurocytoma (C30.0)" ], [ "9522", "3", "Olfactory neuroblastoma (C30.0)" ], [ "9523", "3", "Olfactory neuroepithelioma (C30.0)" ], [ "9530", "0", "Meningioma, NOS" ], [ "9530", "1", "Meningiomatosis, NOS" ], [ "9530", "3", "Meningioma, malignant" ], [ "9531", "0", "Meningothelial meningioma" ], [ "9532", "0", "Fibrous meningioma" ], [ "9533", "0", "Psammomatous meningioma" ], [ "9534", "0", "Angiomatous meningioma" ], [ "9535", "0", "Hemangioblastic meningioma [obs]" ], [ "9537", "0", "Transitional meningioma" ], [ "9538", "1", "Clear cell meningioma" ], [ "9538", "3", "Papillary meningioma" ], [ "9539", "1", "Atypical meningioma" ], [ "9539", "3", "Meningeal sarcomatosis" ], [ "9540", "0", "Neurofibroma, NOS" ], [ "9540", "1", "Neurofibromatosis, NOS" ], [ "9540", "3", "Malignant peripheral nerve sheath tumor" ], [ "9541", "0", "Melanotic neurofibroma" ], [ "9550", "0", "Plexiform neurofibroma" ], [ "9560", "0", "Neurilemoma, NOS" ], [ "9560", "1", "Neurinomatosis" ], [ "9560", "3", "Neurilemoma, malignant [obs]" ], [ "9561", "3", "Malignant peripheral nerve sheath tumor with rhabdomyoblastic differentiation" ], [ "9562", "0", "Neurothekeoma" ], [ "9570", "0", "Neuroma, NOS" ], [ "9571", "0", "Perineurioma, NOS" ], [ "9571", "3", "Perineurioma, malignant" ], [ "9580", "0", "Granular cell tumor, NOS" ], [ "9580", "3", "Granular cell tumor, malignant" ], [ "9581", "3", "Alveolar soft part sarcoma" ], [ "9582", "0", "Granular cell tumor of the sellar region (C75.1)" ], [ "9590", "3", "Malignant lymphoma, NOS" ], [ "9591", "3", "Malignant lymphoma, non-Hodgkin, NOS" ], [ "9596", "3", "Composite Hodgkin and non-Hodgkin lymphoma" ], [ "9650", "3", "Hodgkin lymphoma, NOS" ], [ "9651", "3", "Hodgkin lymphoma, lymphocyte-rich" ], [ "9652", "3", "Hodgkin lymphoma, mixed cellularity, NOS" ], [ "9653", "3", "Hodgkin lymphoma, lymphocyte depletion, NOS" ], [ "9654", "3", "Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" ], [ "9655", "3", "Hodgkin lymphoma, lymphocyte depletion, reticular" ], [ "9659", "3", "Hodgkin lymphoma, nodular lymphocyte predominance" ], [ "9661", "3", "Hodgkin granuloma [obs]" ], [ "9662", "3", "Hodgkin sarcoma [obs]" ], [ "9663", "3", "Hodgkin lymphoma, nodular sclerosis, NOS" ], [ "9664", "3", "Hodgkin lymphoma, nodular sclerosis, cellular phase" ], [ "9665", "3", "Hodgkin lymphoma, nodular sclerosis, grade 1" ], [ "9667", "3", "Hodgkin lymphoma, nodular sclerosis, grade 2" ], [ "9670", "3", "Malignant lymphoma, small B lymphocytic, NOS (see also M-9823/3)" ], [ "9671", "3", "Malignant lymphoma, lymphoplasmacytic (see also M-9761/3)" ], [ "9673", "3", "Mantle cell lymphoma" ], [ "9675", "3", "Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" ], [ "9678", "3", "Primary effusion lymphoma" ], [ "9679", "3", "Mediastinal large B-cell lymphoma (C38.3)" ], [ "9680", "3", "Malignant lymphoma, large B-cell, diffuse, NOS" ], [ "9684", "3", "Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" ], [ "9687", "3", "Burkitt lymphoma, NOS (see also M-9826/3)" ], [ "9689", "3", "Splenic marginal zone B-cell lymphoma (C42.2)" ], [ "9690", "3", "Follicular lymphoma, NOS (see also M-9675/3)" ], [ "9691", "3", "Follicular lymphoma, grade 2" ], [ "9695", "3", "Follicular lymphoma, grade 1" ], [ "9698", "3", "Follicular lymphoma, grade 3" ], [ "9699", "3", "Marginal zone B-cell lymphoma, NOS" ], [ "9700", "3", "Mycosis fungoides (C44._)" ], [ "9701", "3", "Sezary syndrome" ], [ "9702", "3", "Mature T-cell lymphoma, NOS" ], [ "9705", "3", "Angioimmunoblastic T-cell lymphoma" ], [ "9708", "3", "Subcutaneous panniculitis-like T-cell lymphoma" ], [ "9709", "3", "Cutaneous T-cell lymphoma, NOS (C44._)" ], [ "9714", "3", "Anaplastic large cell lymphoma, T cell and Null cell type" ], [ "9716", "3", "Hepatosplenic ?? (gamma-delta) cell lymphoma" ], [ "9717", "3", "Intestinal T-cell lymphoma" ], [ "9718", "3", "Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" ], [ "9719", "3", "NK/T-cell lymphoma, nasal and nasal-type" ], [ "9727", "3", "Precursor cell lymphoblastic lymphoma, NOS (see also M-9835/3)" ], [ "9728", "3", "Precursor B-cell lymphoblastic lymphoma (see also M-9836/3)" ], [ "9729", "3", "Precursor T-cell lymphoblastic lymphoma (see also M-9837/3)" ], [ "9731", "3", "Plasmacytoma, NOS" ], [ "9732", "3", "Multiple myeloma (C42.1)" ], [ "9733", "3", "Plasma cell leukemia (C42.1)" ], [ "9734", "3", "Plasmacytoma, extramedullary (not occurring in bone)" ], [ "9740", "1", "Mastocytoma, NOS" ], [ "9740", "3", "Mast cell sarcoma" ], [ "9741", "3", "Malignant mastocytosis" ], [ "9742", "3", "Mast cell leukemia (C42.1)" ], [ "9750", "3", "Malignant histiocytosis" ], [ "9751", "1", "Langerhans cell histiocytosis, NOS" ], [ "9752", "1", "Langerhans cell histiocytosis, unifocal" ], [ "9753", "1", "Langerhans cell histiocytosis, multifocal" ], [ "9754", "3", "Langerhans cell histiocytosis, disseminated" ], [ "9755", "3", "Histiocytic sarcoma" ], [ "9756", "3", "Langerhans cell sarcoma" ], [ "9757", "3", "Interdigitating dendritic cell sarcoma" ], [ "9758", "3", "Follicular dendritic cell sarcoma" ], [ "9760", "3", "Immunoproliferative disease, NOS" ], [ "9761", "3", "Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" ], [ "9762", "3", "Heavy chain disease, NOS" ], [ "9764", "3", "Immunoproliferative small intestinal disease (C17._)" ], [ "9765", "1", "Monoclonal gammopathy of undetermined significance" ], [ "9766", "1", "Angiocentric immunoproliferative lesion" ], [ "9767", "1", "Angioimmunoblastic lymphadenopathy" ], [ "9768", "1", "T-gamma lymphoproliferative disease" ], [ "9769", "1", "Immunoglobulin deposition disease" ], [ "9800", "3", "Leukemia, NOS" ], [ "9801", "3", "Acute leukemia, NOS" ], [ "9805", "3", "Acute biphenotypic leukemia" ], [ "9820", "3", "Lymphoid leukemia, NOS" ], [ "9823", "3", "B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" ], [ "9826", "3", "Burkitt cell leukemia (see also M-9687/3)" ], [ "9827", "3", "Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" ], [ "9831", "1", "T-cell large granular lymphocytic leukemia" ], [ "9832", "3", "Prolymphocytic leukemia, NOS" ], [ "9833", "3", "Prolymphocytic leukemia, B-cell type" ], [ "9834", "3", "Prolymphocytic leukemia, T-cell type" ], [ "9835", "3", "Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" ], [ "9836", "3", "Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" ], [ "9837", "3", "Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" ], [ "9840", "3", "Acute myeloid leukemia, M6 type" ], [ "9860", "3", "Myeloid leukemia, NOS" ], [ "9861", "3", "Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" ], [ "9863", "3", "Chronic myeloid leukemia, NOS" ], [ "9866", "3", "Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" ], [ "9867", "3", "Acute myelomonocytic leukemia" ], [ "9870", "3", "Acute basophilic leukemia" ], [ "9871", "3", "Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" ], [ "9872", "3", "Acute myeloid leukemia, minimal differentiation" ], [ "9873", "3", "Acute myeloid leukemia without maturation" ], [ "9874", "3", "Acute myeloid leukemia with maturation" ], [ "9875", "3", "Chronic myelogenous leukemia, BCR/ABL positive" ], [ "9876", "3", "Atypical chronic myeloid leukemia, BCR/ABL negative" ], [ "9891", "3", "Acute monocytic leukemia" ], [ "9895", "3", "Acute myeloid leukemia with multilineage dysplasia" ], [ "9896", "3", "Acute myeloid leukemia, t(8;21)(q22;q22)" ], [ "9897", "3", "Acute myeloid leukemia, 11q23 abnormalities" ], [ "9910", "3", "Acute megakaryoblastic leukemia" ], [ "9920", "3", "Therapy-related acute myeloid leukemia, NOS" ], [ "9930", "3", "Myeloid sarcoma (see also M-9861/3)" ], [ "9931", "3", "Acute panmyelosis with myelofibrosis (C42.1)" ], [ "9940", "3", "Hairy cell leukemia (C42.1)" ], [ "9945", "3", "Chronic myelomonocytic leukemia, NOS" ], [ "9946", "3", "Juvenile myelomonocytic leukemia" ], [ "9948", "3", "Aggressive NK-cell leukemia" ], [ "9950", "3", "Polycythemia vera" ], [ "9960", "3", "Chronic myeloproliferative disease, NOS" ], [ "9961", "3", "Myelosclerosis with myeloid metaplasia" ], [ "9962", "3", "Essential thrombocythemia" ], [ "9963", "3", "Chronic neutrophilic leukemia" ], [ "9964", "3", "Hypereosinophilic syndrome" ], [ "9970", "1", "Lymphoproliferative disorder, NOS" ], [ "9975", "1", "Myeloproliferative disease, NOS" ], [ "9980", "3", "Refractory anemia" ], [ "9982", "3", "Refractory anemia with sideroblasts" ], [ "9983", "3", "Refractory anemia with excess blasts" ], [ "9984", "3", "Refractory anemia with excess blasts in transformation [obs]" ], [ "9985", "3", "Refractory cytopenia with multilineage dysplasia" ], [ "9986", "3", "Myelodysplastic syndrome with 5q deletion (5q-) syndrome" ], [ "9987", "3", "Therapy-related myelodysplastic syndrome, NOS" ], [ "9989", "3", "Myelodysplastic syndrome, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppe.json deleted file mode 100644 index 4d8d90cf2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_exclusions_ppe.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ajcc6_exclusions_ppe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Exclusions", - "title" : "Histology Exclusion Table AJCC 6th ed.", - "notes" : "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. Displayed results of a non-TNM staged site will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified" : "2015-05-27T16:18:47.543Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8013", "3", "Large cell neuroendocrine carcinoma" ], [ "8041", "3", "Small cell carcinoma, NOS" ], [ "8240", "1", "Carcinoid tumor of uncertain malignant potential" ], [ "8240", "3", "Carcinoid tumor, NOS (except of appendix M-8240/1)" ], [ "8241", "3", "Enterochromaffin cell carcinoid" ], [ "8242", "1", "Enterochromaffin-like cell carcinoid, NOS" ], [ "8242", "3", "Enterochromaffin-like cell tumor, malignant" ], [ "8243", "3", "Goblet cell carcinoid" ], [ "8244", "3", "Composite carcinoid" ], [ "8245", "1", "Tubular carcinoid" ], [ "8245", "3", "Adenocarcinoid tumor" ], [ "8246", "3", "Neuroendocrine carcinoma, NOS" ], [ "8247", "3", "Merkel cell carcinoma (C44._)" ], [ "8248", "1", "Apudoma" ], [ "8249", "3", "Atypical carcinoid tumor" ], [ "8574", "3", "Adenocarcinoma with neuroendocrine differentiation" ], [ "8680", "0", "Paraganglioma, benign" ], [ "8680", "1", "Paraganglioma, NOS" ], [ "8680", "3", "Paraganglioma, malignant" ], [ "8681", "1", "Sympathetic paraganglioma" ], [ "8682", "1", "Parasympathetic paraganglioma" ], [ "8683", "0", "Gangliocytic paraganglioma (C17.0)" ], [ "8690", "1", "Glomus jugulare tumor, NOS (C75.5)" ], [ "8691", "1", "Aortic body tumor (C75.5)" ], [ "8692", "1", "Carotid body tumor (C75.4)" ], [ "8693", "1", "Extra-adrenal paraganglioma, NOS" ], [ "8693", "3", "Extra-adrenal paraganglioma, malignant" ], [ "8700", "0", "Pheochromocytoma, NOS (C74.1)" ], [ "8700", "3", "Pheochromocytoma, malignant (C74.1)" ], [ "8710", "3", "Glomangiosarcoma" ], [ "8711", "0", "Glomus tumor, NOS" ], [ "8711", "3", "Glomus tumor, malignant" ], [ "8712", "0", "Glomangioma" ], [ "8713", "0", "Glomangiomyoma" ], [ "8720", "0", "Pigmented nevus, NOS (C44._)" ], [ "8720", "2", "Melanoma in situ" ], [ "8720", "3", "Malignant melanoma, NOS (except juvenile melanoma M-8770/0)" ], [ "8721", "3", "Nodular melanoma (C44._)" ], [ "8722", "0", "Balloon cell nevus (C44._)" ], [ "8722", "3", "Balloon cell melanoma (C44._)" ], [ "8723", "0", "Halo nevus (C44._)" ], [ "8723", "3", "Malignant melanoma, regressing (C44._)" ], [ "8725", "0", "Neuronevus (C44._)" ], [ "8726", "0", "Magnocellular nevus (C69.4)" ], [ "8727", "0", "Dysplastic nevus (C44._)" ], [ "8728", "0", "Diffuse melanocytosis (C70.9)" ], [ "8728", "1", "Meningeal melanocytoma (C70.9)" ], [ "8728", "3", "Meningeal melanomatosis (C70.9)" ], [ "8730", "0", "Nonpigmented nevus (C44._)" ], [ "8730", "3", "Amelanotic melanoma (C44._)" ], [ "8740", "0", "Junctional nevus, NOS (C44._)" ], [ "8740", "3", "Malignant melanoma in junctional nevus (C44._)" ], [ "8741", "2", "Precancerous melanosis, NOS (C44._)" ], [ "8741", "3", "Malignant melanoma in precancerous melanosis (C44._)" ], [ "8742", "2", "Lentigo maligna (C44._)" ], [ "8742", "3", "Lentigo maligna melanoma (C44._)" ], [ "8743", "3", "Superficial spreading melanoma (C44._)" ], [ "8744", "3", "Acral lentiginous melanoma, malignant (C44._)" ], [ "8745", "3", "Desmoplastic melanoma, malignant (C44._)" ], [ "8746", "3", "Mucosal lentiginous melanoma" ], [ "8750", "0", "Intradermal nevus (C44._)" ], [ "8760", "0", "Compound nevus (C44._)" ], [ "8761", "0", "Small congenital nevus (C44._)" ], [ "8761", "1", "Giant pigmented nevus, NOS (C44._)" ], [ "8761", "3", "Malignant melanoma in giant pigmented nevus (C44._)" ], [ "8762", "1", "Proliferative dermal lesion in congenital nevus (C44._)" ], [ "8770", "0", "Epithelioid and spindle cell nevus (C44._)" ], [ "8770", "3", "Mixed epithelioid and spindle cell melanoma" ], [ "8771", "0", "Epithelioid cell nevus (C44._)" ], [ "8771", "3", "Epithelioid cell melanoma" ], [ "8772", "0", "Spindle cell nevus, NOS (C44._)" ], [ "8772", "3", "Spindle cell melanoma, NOS" ], [ "8773", "3", "Spindle cell melanoma, type A (C69._)" ], [ "8774", "3", "Spindle cell melanoma, type B (C69._)" ], [ "8780", "0", "Blue nevus, NOS (C44._)" ], [ "8780", "3", "Blue nevus, malignant (C44._)" ], [ "8790", "0", "Cellular blue nevus (C44._)" ], [ "8800", "0", "Soft tissue tumor, benign" ], [ "8800", "3", "Sarcoma, NOS" ], [ "8800", "9", "Sarcomatosis, NOS" ], [ "8801", "3", "Spindle cell sarcoma" ], [ "8802", "3", "Giant cell sarcoma (except of bone M-9250/3)" ], [ "8803", "3", "Small cell sarcoma" ], [ "8804", "3", "Epithelioid sarcoma" ], [ "8805", "3", "Undifferentiated sarcoma" ], [ "8806", "3", "Desmoplastic small round cell tumor" ], [ "8810", "0", "Fibroma, NOS" ], [ "8810", "1", "Cellular fibroma (C56.9)" ], [ "8810", "3", "Fibrosarcoma, NOS" ], [ "8811", "0", "Fibromyxoma" ], [ "8811", "3", "Fibromyxosarcoma" ], [ "8812", "0", "Periosteal fibroma (C40._, C41._)" ], [ "8812", "3", "Periosteal fibrosarcoma (C40._, C41._)" ], [ "8813", "0", "Fascial fibroma" ], [ "8813", "3", "Fascial fibrosarcoma" ], [ "8814", "3", "Infantile fibrosarcoma" ], [ "8815", "0", "Solitary fibrous tumor" ], [ "8815", "3", "Solitary fibrous tumor, malignant" ], [ "8820", "0", "Elastofibroma" ], [ "8821", "1", "Aggressive fibromatosis" ], [ "8822", "1", "Abdominal fibromatosis" ], [ "8823", "0", "Desmoplastic fibroma" ], [ "8824", "0", "Myofibroma" ], [ "8824", "1", "Myofibromatosis" ], [ "8825", "0", "Myofibroblastoma" ], [ "8825", "1", "Myofibroblastic tumor, NOS" ], [ "8826", "0", "Angiomyofibroblastoma" ], [ "8827", "1", "Myofibroblastic tumor, peribronchial (C34._)" ], [ "8830", "0", "Benign fibrous histiocytoma" ], [ "8830", "1", "Atypical fibrous histiocytoma" ], [ "8830", "3", "Malignant fibrous histiocytoma" ], [ "8831", "0", "Histiocytoma, NOS" ], [ "8832", "0", "Dermatofibroma, NOS (C44._)" ], [ "8832", "3", "Dermatofibrosarcoma, NOS (C44._)" ], [ "8833", "3", "Pigmented dermatofibrosarcoma protuberans (C44._)" ], [ "8834", "1", "Giant cell fibroblastoma" ], [ "8835", "1", "Plexiform fibrohistiocytic tumor" ], [ "8836", "1", "Angiomatoid fibrous histiocytoma" ], [ "8840", "0", "Myxoma, NOS" ], [ "8840", "3", "Myxosarcoma" ], [ "8841", "1", "Angiomyxoma" ], [ "8842", "0", "Ossifying fibromyxoid tumor" ], [ "8850", "0", "Lipoma, NOS" ], [ "8850", "1", "Atypical lipoma" ], [ "8850", "3", "Liposarcoma, NOS" ], [ "8851", "0", "Fibrolipoma" ], [ "8851", "3", "Liposarcoma, well differentiated" ], [ "8852", "0", "Fibromyxolipoma" ], [ "8852", "3", "Myxoid liposarcoma" ], [ "8853", "3", "Round cell liposarcoma" ], [ "8854", "0", "Pleomorphic lipoma" ], [ "8854", "3", "Pleomorphic liposarcoma" ], [ "8855", "3", "Mixed liposarcoma" ], [ "8856", "0", "Intramuscular lipoma" ], [ "8857", "0", "Spindle cell lipoma" ], [ "8857", "3", "Fibroblastic liposarcoma" ], [ "8858", "3", "Dedifferentiated liposarcoma" ], [ "8860", "0", "Angiomyolipoma" ], [ "8861", "0", "Angiolipoma, NOS" ], [ "8862", "0", "Chondroid lipoma" ], [ "8870", "0", "Myelolipoma" ], [ "8880", "0", "Hibernoma" ], [ "8881", "0", "Lipoblastomatosis" ], [ "8890", "0", "Leiomyoma, NOS" ], [ "8890", "1", "Leiomyomatosis, NOS" ], [ "8890", "3", "Leiomyosarcoma, NOS" ], [ "8891", "0", "Epithelioid leiomyoma" ], [ "8891", "3", "Epithelioid leiomyosarcoma" ], [ "8892", "0", "Cellular leiomyoma" ], [ "8893", "0", "Bizarre leiomyoma" ], [ "8894", "0", "Angiomyoma" ], [ "8894", "3", "Angiomyosarcoma" ], [ "8895", "0", "Myoma" ], [ "8895", "3", "Myosarcoma" ], [ "8896", "3", "Myxoid leiomyosarcoma" ], [ "8897", "1", "Smooth muscle tumor of uncertain malignant potential" ], [ "8898", "1", "Metastasizing leiomyoma" ], [ "8900", "0", "Rhabdomyoma, NOS" ], [ "8900", "3", "Rhabdomyosarcoma, NOS" ], [ "8901", "3", "Pleomorphic rhabdomyosarcoma, adult type" ], [ "8902", "3", "Mixed type rhabdomyosarcoma" ], [ "8903", "0", "Fetal rhabdomyoma" ], [ "8904", "0", "Adult rhabdomyoma" ], [ "8905", "0", "Genital rhabdomyoma (C51._, C52.9)" ], [ "8910", "3", "Embryonal rhabdomyosarcoma, NOS" ], [ "8912", "3", "Spindle cell rhabdomyosarcoma" ], [ "8920", "3", "Alveolar rhabdomyosarcoma" ], [ "8921", "3", "Rhabdomyosarcoma with ganglionic differentiation" ], [ "8930", "0", "Endometrial stromal nodule (C54.1)" ], [ "8930", "3", "Endometrial stromal sarcoma, NOS (C54.1)" ], [ "8931", "3", "Endometrial stromal sarcoma, low grade (C54.1)" ], [ "8932", "0", "Adenomyoma" ], [ "8933", "3", "Adenosarcoma" ], [ "8934", "3", "Carcinofibroma" ], [ "8935", "0", "Stromal tumor, benign" ], [ "8935", "1", "Stromal tumor, NOS" ], [ "8935", "3", "Stromal sarcoma, NOS" ], [ "8936", "0", "Gastrointestinal stromal tumor, benign" ], [ "8936", "1", "Gastrointestinal stromal tumor, NOS" ], [ "8936", "3", "Gastrointestinal stromal sarcoma" ], [ "8950", "3", "Mullerian mixed tumor (C54._)" ], [ "8951", "3", "Mesodermal mixed tumor" ], [ "8959", "0", "Benign cystic nephroma (C64.9)" ], [ "8959", "1", "Cystic partially differentiated nephroblastoma (C64.9)" ], [ "8959", "3", "Malignant cystic nephroma (C64.9)" ], [ "8960", "1", "Mesoblastic nephroma" ], [ "8960", "3", "Nephroblastoma, NOS (C64.9)" ], [ "8963", "3", "Malignant rhabdoid tumor" ], [ "8964", "3", "Clear cell sarcoma of kidney (C64.9)" ], [ "8965", "0", "Nephrogenic adenofibroma (C64.9)" ], [ "8966", "0", "Renomedullary interstitial cell tumor (C64.9)" ], [ "8967", "0", "Ossifying renal tumor (C64.9)" ], [ "8970", "3", "Hepatoblastoma (C22.0)" ], [ "8971", "3", "Pancreatoblastoma (C25._)" ], [ "8972", "3", "Pulmonary blastoma (C34._)" ], [ "8973", "3", "Pleuropulmonary blastoma" ], [ "8974", "1", "Sialoblastoma" ], [ "8980", "3", "Carcinosarcoma, NOS" ], [ "8981", "3", "Carcinosarcoma, embryonal" ], [ "8982", "0", "Myoepithelioma" ], [ "8982", "3", "Malignant myoepithelioma" ], [ "8983", "0", "Adenomyoepithelioma (C50._)" ], [ "8990", "0", "Mesenchymoma, benign" ], [ "8990", "1", "Mesenchymoma, NOS" ], [ "8990", "3", "Mesenchymoma, malignant" ], [ "8991", "3", "Embryonal sarcoma" ], [ "9000", "0", "Brenner tumor, NOS (C56.9)" ], [ "9000", "1", "Brenner tumor, borderline malignancy (C56.9)" ], [ "9000", "3", "Brenner tumor, malignant (C56.9)" ], [ "9010", "0", "Fibroadenoma, NOS (C50._)" ], [ "9011", "0", "Intracanalicular fibroadenoma (C50._)" ], [ "9012", "0", "Pericanalicular fibroadenoma (C50._)" ], [ "9013", "0", "Adenofibroma, NOS" ], [ "9014", "0", "Serous adenofibroma, NOS" ], [ "9014", "1", "Serous adenofibroma of borderline malignancy" ], [ "9014", "3", "Serous adenocarcinofibroma" ], [ "9015", "0", "Mucinous adenofibroma, NOS" ], [ "9015", "1", "Mucinous adenofibroma of borderline malignancy" ], [ "9015", "3", "Mucinous adenocarcinofibroma" ], [ "9016", "0", "Giant fibroadenoma (C50._)" ], [ "9020", "0", "Phyllodes tumor, benign (C50._)" ], [ "9020", "1", "Phyllodes tumor, borderline (C50._)" ], [ "9020", "3", "Phyllodes tumor, malignant (C50._)" ], [ "9030", "0", "Juvenile fibroadenoma (C50._)" ], [ "9040", "0", "Synovioma, benign" ], [ "9040", "3", "Synovial sarcoma, NOS" ], [ "9041", "3", "Synovial sarcoma, spindle cell" ], [ "9042", "3", "Synovial sarcoma, epithelioid cell" ], [ "9043", "3", "Synovial sarcoma, biphasic" ], [ "9044", "3", "Clear cell sarcoma, NOS (except of kidney M-8964/3)" ], [ "9050", "0", "Mesothelioma, benign" ], [ "9050", "3", "Mesothelioma, malignant" ], [ "9051", "0", "Fibrous mesothelioma, benign" ], [ "9051", "3", "Fibrous mesothelioma, malignant" ], [ "9052", "0", "Epithelioid mesothelioma, benign" ], [ "9052", "3", "Epithelioid mesothelioma, malignant" ], [ "9053", "3", "Mesothelioma, biphasic, malignant" ], [ "9054", "0", "Adenomatoid tumor, NOS" ], [ "9055", "0", "Multicystic mesothelioma, benign" ], [ "9055", "1", "Cystic mesothelioma, NOS (C48._)" ], [ "9060", "3", "Dysgerminoma" ], [ "9061", "3", "Seminoma, NOS (C62._)" ], [ "9062", "3", "Seminoma, anaplastic (C62._)" ], [ "9063", "3", "Spermatocytic seminoma (C62._)" ], [ "9064", "2", "Intratubular malignant germ cells (C62._)" ], [ "9064", "3", "Germinoma" ], [ "9065", "3", "Germ cell tumor, nonseminomatous (C62._)" ], [ "9070", "3", "Embryonal carcinoma, NOS" ], [ "9071", "3", "Yolk sac tumor" ], [ "9072", "3", "Polyembryoma" ], [ "9073", "1", "Gonadoblastoma" ], [ "9080", "0", "Teratoma, benign" ], [ "9080", "1", "Teratoma, NOS" ], [ "9080", "3", "Teratoma, malignant, NOS" ], [ "9081", "3", "Teratocarcinoma" ], [ "9082", "3", "Malignant teratoma, undifferentiated" ], [ "9083", "3", "Malignant teratoma, intermediate" ], [ "9084", "0", "Dermoid cyst, NOS" ], [ "9084", "3", "Teratoma with malignant transformation" ], [ "9085", "3", "Mixed germ cell tumor" ], [ "9090", "0", "Struma ovarii, NOS (C56.9)" ], [ "9090", "3", "Struma ovarii, malignant (C56.9)" ], [ "9091", "1", "Strumal carcinoid (C56.9)" ], [ "9100", "0", "Hydatidiform mole, NOS (C58.9)" ], [ "9100", "1", "Invasive hydatidiform mole (C58.9)" ], [ "9100", "3", "Choriocarcinoma, NOS" ], [ "9101", "3", "Choriocarcinoma combined with other germ cell elements" ], [ "9102", "3", "Malignant teratoma, trophoblastic" ], [ "9103", "0", "Partial hydatidiform mole (C58.9)" ], [ "9104", "1", "Placental site trophoblastic tumor (C58.9)" ], [ "9105", "3", "Trophoblastic tumor, epithelioid" ], [ "9110", "0", "Mesonephroma, benign" ], [ "9110", "1", "Mesonephric tumor, NOS" ], [ "9110", "3", "Mesonephroma, malignant" ], [ "9120", "0", "Hemangioma, NOS" ], [ "9120", "3", "Hemangiosarcoma" ], [ "9121", "0", "Cavernous hemangioma" ], [ "9122", "0", "Venous hemangioma" ], [ "9123", "0", "Racemose hemangioma" ], [ "9124", "3", "Kupffer cell sarcoma (C22.0)" ], [ "9125", "0", "Epithelioid hemangioma" ], [ "9130", "0", "Hemangioendothelioma, benign" ], [ "9130", "1", "Hemangioendothelioma, NOS" ], [ "9130", "3", "Hemangioendothelioma, malignant" ], [ "9131", "0", "Capillary hemangioma" ], [ "9132", "0", "Intramuscular hemangioma" ], [ "9133", "1", "Epithelioid hemangioendothelioma, NOS" ], [ "9133", "3", "Epithelioid hemangioendothelioma, malignant" ], [ "9135", "1", "Endovascular papillary angioendothelioma" ], [ "9136", "1", "Spindle cell hemangioendothelioma" ], [ "9140", "3", "Kaposi sarcoma" ], [ "9141", "0", "Angiokeratoma" ], [ "9142", "0", "Verrucous keratotic hemangioma" ], [ "9150", "0", "Hemangiopericytoma, benign" ], [ "9150", "1", "Hemangiopericytoma, NOS" ], [ "9150", "3", "Hemangiopericytoma, malignant" ], [ "9160", "0", "Angiofibroma, NOS" ], [ "9161", "0", "Acquired tufted hemangioma" ], [ "9161", "1", "Hemangioblastoma" ], [ "9170", "0", "Lymphangioma, NOS" ], [ "9170", "3", "Lymphangiosarcoma" ], [ "9171", "0", "Capillary lymphangioma" ], [ "9172", "0", "Cavernous lymphangioma" ], [ "9173", "0", "Cystic lymphangioma" ], [ "9174", "0", "Lymphangiomyoma" ], [ "9174", "1", "Lymphangiomyomatosis" ], [ "9175", "0", "Hemolymphangioma" ], [ "9180", "0", "Osteoma, NOS (C40._, C41._)" ], [ "9180", "3", "Osteosarcoma, NOS (C40._, C41._)" ], [ "9181", "3", "Chondroblastic osteosarcoma (C40._, C41._)" ], [ "9182", "3", "Fibroblastic osteosarcoma (C40._, C41._)" ], [ "9183", "3", "Telangiectatic osteosarcoma (C40._, C41._)" ], [ "9184", "3", "Osteosarcoma in Paget disease of bone (C40._, C41._)" ], [ "9185", "3", "Small cell osteosarcoma (C40._, C41._)" ], [ "9186", "3", "Central osteosarcoma (C40._, C41._)" ], [ "9187", "3", "Intraosseous well differentiated osteosarcoma (C40._, C41._)" ], [ "9191", "0", "Osteoid osteoma, NOS (C40._, C41._)" ], [ "9192", "3", "Parosteal osteosarcoma (C40._, C41._)" ], [ "9193", "3", "Periosteal osteosarcoma (C40._, C41._)" ], [ "9194", "3", "High grade surface osteosarcoma (C40._, C41._)" ], [ "9195", "3", "Intracortical osteosarcoma (C40._, C41._)" ], [ "9200", "0", "Osteoblastoma, NOS (C40._, C41._)" ], [ "9200", "1", "Aggressive osteoblastoma (C40._, C41._)" ], [ "9210", "0", "Osteochondroma (C40._, C41._)" ], [ "9210", "1", "Osteochondromatosis, NOS (C40._, C41._)" ], [ "9220", "0", "Chondroma, NOS (C40._, C41._)" ], [ "9220", "1", "Chondromatosis, NOS" ], [ "9220", "3", "Chondrosarcoma, NOS (C40._, C41._)" ], [ "9221", "0", "Juxtacortical chondroma (C40._, C41._)" ], [ "9221", "3", "Juxtacortical chondrosarcoma (C40._, C41._)" ], [ "9230", "0", "Chondroblastoma, NOS (C40._, C41._)" ], [ "9230", "3", "Chondroblastoma, malignant (C40._, C41._)" ], [ "9231", "3", "Myxoid chondrosarcoma" ], [ "9240", "3", "Mesenchymal chondrosarcoma" ], [ "9241", "0", "Chondromyxoid fibroma (C40._, C41._)" ], [ "9242", "3", "Clear cell chondrosarcoma (C40._, C41._)" ], [ "9243", "3", "Dedifferentiated chondrosarcoma (C40._, C41._)" ], [ "9250", "1", "Giant cell tumor of bone, NOS (C40._, C41._)" ], [ "9250", "3", "Giant cell tumor of bone, malignant (C40._, C41._)" ], [ "9251", "1", "Giant cell tumor of soft parts, NOS" ], [ "9251", "3", "Malignant giant cell tumor of soft parts" ], [ "9252", "0", "Tenosynovial giant cell tumor (C49._)" ], [ "9252", "3", "Malignant tenosynovial giant cell tumor (C49._)" ], [ "9260", "3", "Ewing sarcoma" ], [ "9261", "3", "Adamantinoma of long bones (C40._)" ], [ "9262", "0", "Ossifying fibroma" ], [ "9270", "0", "Odontogenic tumor, benign" ], [ "9270", "1", "Odontogenic tumor, NOS" ], [ "9270", "3", "Odontogenic tumor, malignant" ], [ "9271", "0", "Ameloblastic fibrodentinoma" ], [ "9272", "0", "Cementoma, NOS" ], [ "9273", "0", "Cementoblastoma, benign" ], [ "9274", "0", "Cementifying fibroma" ], [ "9275", "0", "Gigantiform cementoma" ], [ "9280", "0", "Odontoma, NOS" ], [ "9281", "0", "Compound odontoma" ], [ "9282", "0", "Complex odontoma" ], [ "9290", "0", "Ameloblastic fibro-odontoma" ], [ "9290", "3", "Ameloblastic odontosarcoma" ], [ "9300", "0", "Adenomatoid odontogenic tumor" ], [ "9301", "0", "Calcifying odontogenic cyst" ], [ "9302", "0", "Odontogenic ghost cell tumor" ], [ "9310", "0", "Ameloblastoma, NOS" ], [ "9310", "3", "Ameloblastoma, malignant" ], [ "9311", "0", "Odontoameloblastoma" ], [ "9312", "0", "Squamous odontogenic tumor" ], [ "9320", "0", "Odontogenic myxoma" ], [ "9321", "0", "Central odontogenic fibroma" ], [ "9322", "0", "Peripheral odontogenic fibroma" ], [ "9330", "0", "Ameloblastic fibroma" ], [ "9330", "3", "Ameloblastic fibrosarcoma" ], [ "9340", "0", "Calcifying epithelial odontogenic tumor" ], [ "9341", "1", "Clear cell odontogenic tumor" ], [ "9342", "3", "Odontogenic carcinosarcoma" ], [ "9350", "1", "Craniopharyngioma (C75.2)" ], [ "9351", "1", "Craniopharyngioma, adamantinomatous (C75.2)" ], [ "9352", "1", "Craniopharyngioma, papillary (C75.2)" ], [ "9360", "1", "Pinealoma (C75.3)" ], [ "9361", "1", "Pineocytoma (C75.3)" ], [ "9362", "3", "Pineoblastoma (C75.3)" ], [ "9363", "0", "Melanotic neuroectodermal tumor" ], [ "9364", "3", "Peripheral neuroectodermal tumor" ], [ "9365", "3", "Askin tumor" ], [ "9370", "3", "Chordoma, NOS" ], [ "9371", "3", "Chondroid chordoma" ], [ "9372", "3", "Dedifferentiated chordoma" ], [ "9373", "0", "Parachordoma" ], [ "9380", "3", "Glioma, malignant (C71._)" ], [ "9381", "3", "Gliomatosis cerebri (C71._)" ], [ "9382", "3", "Mixed glioma (C71._)" ], [ "9383", "1", "Subependymoma (C71._)" ], [ "9384", "1", "Subependymal giant cell astrocytoma (C71._)" ], [ "9390", "0", "Choroid plexus papilloma, NOS (C71.5)" ], [ "9390", "1", "Atypical choroid plexus papilloma (C71.5)" ], [ "9390", "3", "Choroid plexus carcinoma (C71.5)" ], [ "9391", "3", "Ependymoma, NOS (C71._)" ], [ "9392", "3", "Ependymoma, anaplastic (C71._)" ], [ "9393", "3", "Papillary ependymoma (C71._)" ], [ "9394", "1", "Myxopapillary ependymoma (C72.0)" ], [ "9400", "3", "Astrocytoma, NOS (C71._)" ], [ "9401", "3", "Astrocytoma, anaplastic (C71._)" ], [ "9410", "3", "Protoplasmic astrocytoma (C71._)" ], [ "9411", "3", "Gemistocytic astrocytoma (C71._)" ], [ "9412", "1", "Desmoplastic infantile astrocytoma (C71._)" ], [ "9413", "0", "Dysembryoplastic neuroepithelial tumor" ], [ "9420", "3", "Fibrillary astrocytoma (C71._)" ], [ "9421", "1", "Pilocytic astrocytoma (C71._)" ], [ "9423", "3", "Polar spongioblastoma (C71._)" ], [ "9424", "3", "Pleomorphic xanthoastrocytoma (C71._)" ], [ "9430", "3", "Astroblastoma (C71._)" ], [ "9440", "3", "Glioblastoma, NOS (C71._)" ], [ "9441", "3", "Giant cell glioblastoma (C71._)" ], [ "9442", "1", "Gliofibroma (C71._)" ], [ "9442", "3", "Gliosarcoma (C71._)" ], [ "9444", "1", "Chordoid glioma (C71._)" ], [ "9450", "3", "Oligodendroglioma, NOS (C71._)" ], [ "9451", "3", "Oligodendroglioma, anaplastic (C71._)" ], [ "9460", "3", "Oligodendroblastoma (C71._) [obs]" ], [ "9470", "3", "Medulloblastoma, NOS (C71.6)" ], [ "9471", "3", "Desmoplastic nodular medulloblastoma (C71.6)" ], [ "9472", "3", "Medullomyoblastoma (C71.6)" ], [ "9473", "3", "Primitive neuroectodermal tumor, NOS" ], [ "9474", "3", "Large cell medulloblastoma (C71.6)" ], [ "9480", "3", "Cerebellar sarcoma, NOS (C71.6) [obs]" ], [ "9490", "0", "Ganglioneuroma" ], [ "9490", "3", "Ganglioneuroblastoma" ], [ "9491", "0", "Ganglioneuromatosis" ], [ "9492", "0", "Gangliocytoma" ], [ "9493", "0", "Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" ], [ "9500", "3", "Neuroblastoma, NOS" ], [ "9501", "0", "Medulloepithelioma, benign (C69.4)" ], [ "9501", "3", "Medulloepithelioma, NOS" ], [ "9502", "0", "Teratoid medulloepithelioma, benign (C69.4)" ], [ "9502", "3", "Teratoid medulloepithelioma" ], [ "9503", "3", "Neuroepithelioma, NOS" ], [ "9504", "3", "Spongioneuroblastoma" ], [ "9505", "1", "Ganglioglioma, NOS" ], [ "9505", "3", "Ganglioglioma, anaplastic" ], [ "9506", "1", "Central neurocytoma" ], [ "9507", "0", "Pacinian tumor" ], [ "9508", "3", "Atypical teratoid/rhabdoid tumor (C71._)" ], [ "9510", "0", "Retinocytoma (C69.2)" ], [ "9510", "3", "Retinoblastoma, NOS (C69.2)" ], [ "9511", "3", "Retinoblastoma, differentiated (C69.2)" ], [ "9512", "3", "Retinoblastoma, undifferentiated (C69.2)" ], [ "9513", "3", "Retinoblastoma, diffuse (C69.2)" ], [ "9514", "1", "Retinoblastoma, spontaneously regressed (C69.2)" ], [ "9520", "3", "Olfactory neurogenic tumor" ], [ "9521", "3", "Olfactory neurocytoma (C30.0)" ], [ "9522", "3", "Olfactory neuroblastoma (C30.0)" ], [ "9523", "3", "Olfactory neuroepithelioma (C30.0)" ], [ "9530", "0", "Meningioma, NOS" ], [ "9530", "1", "Meningiomatosis, NOS" ], [ "9530", "3", "Meningioma, malignant" ], [ "9531", "0", "Meningothelial meningioma" ], [ "9532", "0", "Fibrous meningioma" ], [ "9533", "0", "Psammomatous meningioma" ], [ "9534", "0", "Angiomatous meningioma" ], [ "9535", "0", "Hemangioblastic meningioma [obs]" ], [ "9537", "0", "Transitional meningioma" ], [ "9538", "1", "Clear cell meningioma" ], [ "9538", "3", "Papillary meningioma" ], [ "9539", "1", "Atypical meningioma" ], [ "9539", "3", "Meningeal sarcomatosis" ], [ "9540", "0", "Neurofibroma, NOS" ], [ "9540", "1", "Neurofibromatosis, NOS" ], [ "9540", "3", "Malignant peripheral nerve sheath tumor" ], [ "9541", "0", "Melanotic neurofibroma" ], [ "9550", "0", "Plexiform neurofibroma" ], [ "9560", "0", "Neurilemoma, NOS" ], [ "9560", "1", "Neurinomatosis" ], [ "9560", "3", "Neurilemoma, malignant [obs]" ], [ "9561", "3", "Malignant peripheral nerve sheath tumor with rhabdomyoblastic differentiation" ], [ "9562", "0", "Neurothekeoma" ], [ "9570", "0", "Neuroma, NOS" ], [ "9571", "0", "Perineurioma, NOS" ], [ "9571", "3", "Perineurioma, malignant" ], [ "9580", "0", "Granular cell tumor, NOS" ], [ "9580", "3", "Granular cell tumor, malignant" ], [ "9581", "3", "Alveolar soft part sarcoma" ], [ "9582", "0", "Granular cell tumor of the sellar region (C75.1)" ], [ "9590", "3", "Malignant lymphoma, NOS" ], [ "9591", "3", "Malignant lymphoma, non-Hodgkin, NOS" ], [ "9596", "3", "Composite Hodgkin and non-Hodgkin lymphoma" ], [ "9650", "3", "Hodgkin lymphoma, NOS" ], [ "9651", "3", "Hodgkin lymphoma, lymphocyte-rich" ], [ "9652", "3", "Hodgkin lymphoma, mixed cellularity, NOS" ], [ "9653", "3", "Hodgkin lymphoma, lymphocyte depletion, NOS" ], [ "9654", "3", "Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" ], [ "9655", "3", "Hodgkin lymphoma, lymphocyte depletion, reticular" ], [ "9659", "3", "Hodgkin lymphoma, nodular lymphocyte predominance" ], [ "9661", "3", "Hodgkin granuloma [obs]" ], [ "9662", "3", "Hodgkin sarcoma [obs]" ], [ "9663", "3", "Hodgkin lymphoma, nodular sclerosis, NOS" ], [ "9664", "3", "Hodgkin lymphoma, nodular sclerosis, cellular phase" ], [ "9665", "3", "Hodgkin lymphoma, nodular sclerosis, grade 1" ], [ "9667", "3", "Hodgkin lymphoma, nodular sclerosis, grade 2" ], [ "9673", "3", "Mantle cell lymphoma" ], [ "9675", "3", "Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" ], [ "9678", "3", "Primary effusion lymphoma" ], [ "9679", "3", "Mediastinal large B-cell lymphoma (C38.3)" ], [ "9680", "3", "Malignant lymphoma, large B-cell, diffuse, NOS" ], [ "9684", "3", "Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" ], [ "9687", "3", "Burkitt lymphoma, NOS (see also M-9826/3)" ], [ "9689", "3", "Splenic marginal zone B-cell lymphoma (C42.2)" ], [ "9690", "3", "Follicular lymphoma, NOS (see also M-9675/3)" ], [ "9691", "3", "Follicular lymphoma, grade 2" ], [ "9695", "3", "Follicular lymphoma, grade 1" ], [ "9698", "3", "Follicular lymphoma, grade 3" ], [ "9699", "3", "Marginal zone B-cell lymphoma, NOS" ], [ "9700", "3", "Mycosis fungoides (C44._)" ], [ "9701", "3", "Sezary syndrome" ], [ "9702", "3", "Mature T-cell lymphoma, NOS" ], [ "9705", "3", "Angioimmunoblastic T-cell lymphoma" ], [ "9708", "3", "Subcutaneous panniculitis-like T-cell lymphoma" ], [ "9709", "3", "Cutaneous T-cell lymphoma, NOS (C44._)" ], [ "9714", "3", "Anaplastic large cell lymphoma, T cell and Null cell type" ], [ "9716", "3", "Hepatosplenic ?? (gamma-delta) cell lymphoma" ], [ "9717", "3", "Intestinal T-cell lymphoma" ], [ "9718", "3", "Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" ], [ "9719", "3", "NK/T-cell lymphoma, nasal and nasal-type" ], [ "9731", "3", "Plasmacytoma, NOS" ], [ "9732", "3", "Multiple myeloma (C42.1)" ], [ "9733", "3", "Plasma cell leukemia (C42.1)" ], [ "9734", "3", "Plasmacytoma, extramedullary (not occurring in bone)" ], [ "9740", "1", "Mastocytoma, NOS" ], [ "9740", "3", "Mast cell sarcoma" ], [ "9741", "3", "Malignant mastocytosis" ], [ "9742", "3", "Mast cell leukemia (C42.1)" ], [ "9750", "3", "Malignant histiocytosis" ], [ "9751", "1", "Langerhans cell histiocytosis, NOS" ], [ "9752", "1", "Langerhans cell histiocytosis, unifocal" ], [ "9753", "1", "Langerhans cell histiocytosis, multifocal" ], [ "9754", "3", "Langerhans cell histiocytosis, disseminated" ], [ "9755", "3", "Histiocytic sarcoma" ], [ "9756", "3", "Langerhans cell sarcoma" ], [ "9757", "3", "Interdigitating dendritic cell sarcoma" ], [ "9758", "3", "Follicular dendritic cell sarcoma" ], [ "9760", "3", "Immunoproliferative disease, NOS" ], [ "9761", "3", "Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" ], [ "9762", "3", "Heavy chain disease, NOS" ], [ "9764", "3", "Immunoproliferative small intestinal disease (C17._)" ], [ "9765", "1", "Monoclonal gammopathy of undetermined significance" ], [ "9766", "1", "Angiocentric immunoproliferative lesion" ], [ "9767", "1", "Angioimmunoblastic lymphadenopathy" ], [ "9768", "1", "T-gamma lymphoproliferative disease" ], [ "9769", "1", "Immunoglobulin deposition disease" ], [ "9800", "3", "Leukemia, NOS" ], [ "9801", "3", "Acute leukemia, NOS" ], [ "9805", "3", "Acute biphenotypic leukemia" ], [ "9820", "3", "Lymphoid leukemia, NOS" ], [ "9823", "3", "B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" ], [ "9826", "3", "Burkitt cell leukemia (see also M-9687/3)" ], [ "9827", "3", "Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" ], [ "9831", "1", "T-cell large granular lymphocytic leukemia" ], [ "9832", "3", "Prolymphocytic leukemia, NOS" ], [ "9833", "3", "Prolymphocytic leukemia, B-cell type" ], [ "9834", "3", "Prolymphocytic leukemia, T-cell type" ], [ "9835", "3", "Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" ], [ "9836", "3", "Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" ], [ "9837", "3", "Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" ], [ "9840", "3", "Acute myeloid leukemia, M6 type" ], [ "9860", "3", "Myeloid leukemia, NOS" ], [ "9861", "3", "Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" ], [ "9863", "3", "Chronic myeloid leukemia, NOS" ], [ "9866", "3", "Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" ], [ "9867", "3", "Acute myelomonocytic leukemia" ], [ "9870", "3", "Acute basophilic leukemia" ], [ "9871", "3", "Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" ], [ "9872", "3", "Acute myeloid leukemia, minimal differentiation" ], [ "9873", "3", "Acute myeloid leukemia without maturation" ], [ "9874", "3", "Acute myeloid leukemia with maturation" ], [ "9875", "3", "Chronic myelogenous leukemia, BCR/ABL positive" ], [ "9876", "3", "Atypical chronic myeloid leukemia, BCR/ABL negative" ], [ "9891", "3", "Acute monocytic leukemia" ], [ "9895", "3", "Acute myeloid leukemia with multilineage dysplasia" ], [ "9896", "3", "Acute myeloid leukemia, t(8;21)(q22;q22)" ], [ "9897", "3", "Acute myeloid leukemia, 11q23 abnormalities" ], [ "9910", "3", "Acute megakaryoblastic leukemia" ], [ "9920", "3", "Therapy-related acute myeloid leukemia, NOS" ], [ "9930", "3", "Myeloid sarcoma (see also M-9861/3)" ], [ "9931", "3", "Acute panmyelosis with myelofibrosis (C42.1)" ], [ "9940", "3", "Hairy cell leukemia (C42.1)" ], [ "9945", "3", "Chronic myelomonocytic leukemia, NOS" ], [ "9946", "3", "Juvenile myelomonocytic leukemia" ], [ "9948", "3", "Aggressive NK-cell leukemia" ], [ "9950", "3", "Polycythemia vera" ], [ "9960", "3", "Chronic myeloproliferative disease, NOS" ], [ "9961", "3", "Myelosclerosis with myeloid metaplasia" ], [ "9962", "3", "Essential thrombocythemia" ], [ "9963", "3", "Chronic neutrophilic leukemia" ], [ "9964", "3", "Hypereosinophilic syndrome" ], [ "9970", "1", "Lymphoproliferative disorder, NOS" ], [ "9975", "1", "Myeloproliferative disease, NOS" ], [ "9980", "3", "Refractory anemia" ], [ "9982", "3", "Refractory anemia with sideroblasts" ], [ "9983", "3", "Refractory anemia with excess blasts" ], [ "9984", "3", "Refractory anemia with excess blasts in transformation [obs]" ], [ "9985", "3", "Refractory cytopenia with multilineage dysplasia" ], [ "9986", "3", "Myelodysplastic syndrome with 5q deletion (5q-) syndrome" ], [ "9987", "3", "Therapy-related myelodysplastic syndrome, NOS" ], [ "9989", "3", "Myelodysplastic syndrome, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_m_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_m_codes.json deleted file mode 100644 index 6e418ac9e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_m_codes.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ajcc6_m_codes", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC 6 M Codes", - "title" : "AJCC 6 M Allowable Codes", - "last_modified" : "2015-05-27T16:18:47.617Z", - "definition" : [ { - "key" : "ajcc6_m", - "name" : "Display String", - "type" : "INPUT" - }, { - "key" : "stor_ajcc6_m", - "name" : "AJCC6 Storage Code", - "type" : "ENDPOINT" - }, { - "key" : "comments", - "name" : "Comments", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "MX", "VALUE:99", "MX" ], [ "M0", "VALUE:00", "M0" ], [ "M0(i+)", "VALUE: ", "M0(i+)" ], [ "M1", "VALUE:10", "M1" ], [ "M1a", "VALUE:11", "M1a" ], [ "M1b", "VALUE:12", "M1b" ], [ "M1c", "VALUE:13", "M1c" ], [ "M1d", "VALUE: ", "M1d" ], [ "M1e", "VALUE: ", "M1e" ], [ "M1NOS", "VALUE:19", "M1 NOS" ], [ "NA", "VALUE:88", "Not applicable" ], [ "*", "VALUE: ", "Error" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_n_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_n_codes.json deleted file mode 100644 index 25aa403c6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_n_codes.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ajcc6_n_codes", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC 6 N Codes", - "title" : "AJCC 6 N Allowable Codes", - "last_modified" : "2015-05-27T16:18:47.663Z", - "definition" : [ { - "key" : "ajcc6_n", - "name" : "Display String", - "type" : "INPUT" - }, { - "key" : "stor_ajcc6_n", - "name" : "AJCC6 Storage Code", - "type" : "ENDPOINT" - }, { - "key" : "comments", - "name" : "Comments", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "NX", "VALUE:99", "NX" ], [ "N0", "VALUE:00", "N0" ], [ "N0(i-)", "VALUE:01", "N0(i-)" ], [ "N0(i+)", "VALUE:02", "N0(i+)" ], [ "N0(mol-)", "VALUE:03", "N0(mol-)" ], [ "N0(mol+)", "VALUE:04", "N0(mol+)" ], [ "N1", "VALUE:10", "N1" ], [ "N1NOS", "VALUE:19", "N1 NOS" ], [ "N1a", "VALUE:11", "N1a" ], [ "N1b", "VALUE:12", "N1b" ], [ "N1c", "VALUE:13", "N1c" ], [ "N1mi", "VALUE:18", "N1mi" ], [ "N2", "VALUE:20", "N2" ], [ "N2NOS", "VALUE:29", "N2 NOS" ], [ "N2a", "VALUE:21", "N2a" ], [ "N2b", "VALUE:22", "N2b" ], [ "N2c", "VALUE:23", "N2c" ], [ "N3", "VALUE:30", "N3" ], [ "N3NOS", "VALUE:39", "N3 NOS" ], [ "N3a", "VALUE:31", "N3a" ], [ "N3b", "VALUE:32", "N3b" ], [ "N3c", "VALUE:33", "N3c" ], [ "N4", "VALUE: ", "N4" ], [ "NA", "VALUE:88", "Not applicable" ], [ "*", "VALUE: ", "Error" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_codes.json deleted file mode 100644 index 6f55e1740..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_codes.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ajcc6_stage_codes", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC 6 Stage Codes", - "title" : "AJCC 6 Stage Allowable Codes", - "last_modified" : "2015-05-27T16:18:47.725Z", - "definition" : [ { - "key" : "ajcc6_stage", - "name" : "Display String", - "type" : "INPUT" - }, { - "key" : "stor_ajcc6_stage", - "name" : "AJCC6 Storage Code", - "type" : "ENDPOINT" - }, { - "key" : "comments", - "name" : "Comments", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "VALUE:00", "Stage 0" ], [ "0a", "VALUE:01", "Stage 0a" ], [ "0is", "VALUE:02", "Stage 0is" ], [ "I", "VALUE:10", "Stage I" ], [ "INOS", "VALUE:11", "Stage I NOS" ], [ "IA", "VALUE:12", "Stage IA" ], [ "IA1", "VALUE:13", "Stage IA1" ], [ "IA2", "VALUE:14", "Stage IA2" ], [ "IANOS", "VALUE: ", "Stage IA NOS" ], [ "IB", "VALUE:15", "Stage IB" ], [ "IB1", "VALUE:16", "Stage IB1" ], [ "IB2", "VALUE:17", "Stage IB2" ], [ "IBNOS", "VALUE: ", "Stage IB NOS" ], [ "IC", "VALUE:18", "Stage IC" ], [ "IS", "VALUE:19", "Stage IS" ], [ "ISA", "VALUE:23", "Stage ISA (lymphoma only)" ], [ "ISB", "VALUE:24", "Stage ISB (lymphoma only)" ], [ "IEA", "VALUE:20", "Stage IEA (lymphoma only)" ], [ "IEB", "VALUE:21", "Stage IEB (lymphoma only)" ], [ "IE", "VALUE:22", "Stage IE (lymphoma only)" ], [ "II", "VALUE:30", "Stage II" ], [ "IINOS", "VALUE:31", "Stage II NOS" ], [ "IIA", "VALUE:32", "Stage IIA" ], [ "IIANOS", "VALUE: ", "Stage IIA NOS" ], [ "IIA1", "VALUE: ", "Stage IIA1" ], [ "IIA2", "VALUE: ", "Stage IIA2" ], [ "IIB", "VALUE:33", "Stage IIB" ], [ "IIC", "VALUE:34", "Stage IIC" ], [ "IIEA", "VALUE:35", "Stage IIEA (lymphoma only)" ], [ "IIEB", "VALUE:36", "Stage IIEB (lymphoma only)" ], [ "IIE", "VALUE:37", "Stage IIE (lymphoma only)" ], [ "IISA", "VALUE:38", "Stage IISA (lymphoma only)" ], [ "IISB", "VALUE:39", "Stage IISB (lymphoma only)" ], [ "IIS", "VALUE:40", "Stage IIS (lymphoma only)" ], [ "IIESA", "VALUE:41", "Stage IIESA (lymphoma only)" ], [ "IIESB", "VALUE:42", "Stage IIESB (lymphoma only)" ], [ "IIES", "VALUE:43", "Stage IIES (lymphoma only)" ], [ "III", "VALUE:50", "Stage III" ], [ "IIINOS", "VALUE:51", "Stage III NOS" ], [ "IIIA", "VALUE:52", "Stage IIIA" ], [ "IIIB", "VALUE:53", "Stage IIIB" ], [ "IIIC", "VALUE:54", "Stage IIIC" ], [ "IIIC1", "VALUE: ", "Stage IIIC1" ], [ "IIIC2", "VALUE: ", "Stage IIIC2" ], [ "IIIEA", "VALUE:55", "Stage IIIEA (lymphoma only)" ], [ "IIIEB", "VALUE:56", "Stage IIIEB (lymphoma only)" ], [ "IIIE", "VALUE:57", "Stage IIIE (lymphoma only)" ], [ "IIISA", "VALUE:58", "Stage IIISA (lymphoma only)" ], [ "IIISB", "VALUE:59", "Stage IIISB (lymphoma only)" ], [ "IIIS", "VALUE:60", "Stage IIIS (lymphoma only)" ], [ "IIIESA", "VALUE:61", "Stage IIIESA (lymphoma only)" ], [ "IIIESB", "VALUE:62", "Stage IIIESB (lymphoma only)" ], [ "IIIES", "VALUE:63", "Stage IIIES (lymphoma only)" ], [ "IV", "VALUE:70", "Stage IV" ], [ "IVNOS", "VALUE:71", "Stage IV NOS" ], [ "IVA", "VALUE:72", "Stage IVA" ], [ "IVA1", "VALUE: ", "Stage IVA1" ], [ "IVA2", "VALUE: ", "Stage IVA2" ], [ "IVB", "VALUE:73", "Stage IVB" ], [ "IVC", "VALUE:74", "Stage IVC" ], [ "NA", "VALUE:88", "Not applicable" ], [ "OCCULT", "VALUE:90", "Stage Occult" ], [ "UNK", "VALUE:99", "Stage Unknown" ], [ "*", "VALUE: ", "Error" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_not_ewing_qai.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_not_ewing_qai.json deleted file mode 100644 index 4f9dd9228..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_not_ewing_qai.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc6_stage_not_ewing_qai", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage Not Ewing", - "last_modified" : "2015-05-27T16:18:47.778Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "1", "ERROR:" ], [ "T0", "N0", "M0", "2", "ERROR:" ], [ "T0", "N0", "M0", "3", "ERROR:" ], [ "T0", "N0", "M0", "4", "ERROR:" ], [ "T0", "N0", "M0", "9", "ERROR:" ], [ "T0", "N1", "M0", "1", "VALUE:IVB" ], [ "T0", "N1", "M0", "2", "VALUE:IVB" ], [ "T0", "N1", "M0", "3", "VALUE:IVB" ], [ "T0", "N1", "M0", "4", "VALUE:IVB" ], [ "T0", "N1", "M0", "9", "VALUE:IVB" ], [ "T0", "NX", "M0", "1", "VALUE:UNK" ], [ "T0", "NX", "M0", "2", "VALUE:UNK" ], [ "T0", "NX", "M0", "3", "VALUE:UNK" ], [ "T0", "NX", "M0", "4", "VALUE:UNK" ], [ "T0", "NX", "M0", "9", "VALUE:UNK" ], [ "T1", "N0", "M0", "1", "VALUE:IA" ], [ "T1", "N0", "M0", "2", "VALUE:IA" ], [ "T1", "N0", "M0", "3", "VALUE:IIA" ], [ "T1", "N0", "M0", "4", "VALUE:IIA" ], [ "T1", "N0", "M0", "9", "VALUE:UNK" ], [ "T1", "N1", "M0", "1", "VALUE:IVB" ], [ "T1", "N1", "M0", "2", "VALUE:IVB" ], [ "T1", "N1", "M0", "3", "VALUE:IVB" ], [ "T1", "N1", "M0", "4", "VALUE:IVB" ], [ "T1", "N1", "M0", "9", "VALUE:IVB" ], [ "T1", "NX", "M0", "1", "VALUE:UNK" ], [ "T1", "NX", "M0", "2", "VALUE:UNK" ], [ "T1", "NX", "M0", "3", "VALUE:UNK" ], [ "T1", "NX", "M0", "4", "VALUE:UNK" ], [ "T1", "NX", "M0", "9", "VALUE:UNK" ], [ "T2", "N0", "M0", "1", "VALUE:IB" ], [ "T2", "N0", "M0", "2", "VALUE:IB" ], [ "T2", "N0", "M0", "3", "VALUE:IIB" ], [ "T2", "N0", "M0", "4", "VALUE:IIB" ], [ "T2", "N0", "M0", "9", "VALUE:UNK" ], [ "T2", "N1", "M0", "1", "VALUE:IVB" ], [ "T2", "N1", "M0", "2", "VALUE:IVB" ], [ "T2", "N1", "M0", "3", "VALUE:IVB" ], [ "T2", "N1", "M0", "4", "VALUE:IVB" ], [ "T2", "N1", "M0", "9", "VALUE:IVB" ], [ "T2", "NX", "M0", "1", "VALUE:UNK" ], [ "T2", "NX", "M0", "2", "VALUE:UNK" ], [ "T2", "NX", "M0", "3", "VALUE:UNK" ], [ "T2", "NX", "M0", "4", "VALUE:UNK" ], [ "T2", "NX", "M0", "9", "VALUE:UNK" ], [ "T3", "N0", "M0", "1", "VALUE:III" ], [ "T3", "N0", "M0", "2", "VALUE:III" ], [ "T3", "N0", "M0", "3", "VALUE:III" ], [ "T3", "N0", "M0", "4", "VALUE:III" ], [ "T3", "N0", "M0", "9", "VALUE:III" ], [ "T3", "N1", "M0", "1", "VALUE:IVB" ], [ "T3", "N1", "M0", "2", "VALUE:IVB" ], [ "T3", "N1", "M0", "3", "VALUE:IVB" ], [ "T3", "N1", "M0", "4", "VALUE:IVB" ], [ "T3", "N1", "M0", "9", "VALUE:IVB" ], [ "T3", "NX", "M0", "1", "VALUE:UNK" ], [ "T3", "NX", "M0", "2", "VALUE:UNK" ], [ "T3", "NX", "M0", "3", "VALUE:UNK" ], [ "T3", "NX", "M0", "4", "VALUE:UNK" ], [ "T3", "NX", "M0", "9", "VALUE:UNK" ], [ "TX", "N0", "M0", "1", "VALUE:UNK" ], [ "TX", "N0", "M0", "2", "VALUE:UNK" ], [ "TX", "N0", "M0", "3", "VALUE:UNK" ], [ "TX", "N0", "M0", "4", "VALUE:UNK" ], [ "TX", "N0", "M0", "9", "VALUE:UNK" ], [ "TX", "N1", "M0", "1", "VALUE:IVB" ], [ "TX", "N1", "M0", "2", "VALUE:IVB" ], [ "TX", "N1", "M0", "3", "VALUE:IVB" ], [ "TX", "N1", "M0", "4", "VALUE:IVB" ], [ "TX", "N1", "M0", "9", "VALUE:IVB" ], [ "TX", "NX", "M0", "1", "VALUE:UNK" ], [ "TX", "NX", "M0", "2", "VALUE:UNK" ], [ "TX", "NX", "M0", "3", "VALUE:UNK" ], [ "TX", "NX", "M0", "4", "VALUE:UNK" ], [ "TX", "NX", "M0", "9", "VALUE:UNK" ], [ "T0", "N0", "M1a", "1", "VALUE:IVA" ], [ "T0", "N0", "M1a", "2", "VALUE:IVA" ], [ "T0", "N0", "M1a", "3", "VALUE:IVA" ], [ "T0", "N0", "M1a", "4", "VALUE:IVA" ], [ "T0", "N0", "M1a", "9", "VALUE:IVA" ], [ "T0", "N1", "M1a", "1", "VALUE:IVB" ], [ "T0", "N1", "M1a", "2", "VALUE:IVB" ], [ "T0", "N1", "M1a", "3", "VALUE:IVB" ], [ "T0", "N1", "M1a", "4", "VALUE:IVB" ], [ "T0", "N1", "M1a", "9", "VALUE:IVB" ], [ "T0", "NX", "M1a", "1", "VALUE:IVNOS" ], [ "T0", "NX", "M1a", "2", "VALUE:IVNOS" ], [ "T0", "NX", "M1a", "3", "VALUE:IVNOS" ], [ "T0", "NX", "M1a", "4", "VALUE:IVNOS" ], [ "T0", "NX", "M1a", "9", "VALUE:IVNOS" ], [ "T1", "N0", "M1a", "1", "VALUE:IVA" ], [ "T1", "N0", "M1a", "2", "VALUE:IVA" ], [ "T1", "N0", "M1a", "3", "VALUE:IVA" ], [ "T1", "N0", "M1a", "4", "VALUE:IVA" ], [ "T1", "N0", "M1a", "9", "VALUE:IVA" ], [ "T1", "N1", "M1a", "1", "VALUE:IVB" ], [ "T1", "N1", "M1a", "2", "VALUE:IVB" ], [ "T1", "N1", "M1a", "3", "VALUE:IVB" ], [ "T1", "N1", "M1a", "4", "VALUE:IVB" ], [ "T1", "N1", "M1a", "9", "VALUE:IVB" ], [ "T1", "NX", "M1a", "1", "VALUE:IVNOS" ], [ "T1", "NX", "M1a", "2", "VALUE:IVNOS" ], [ "T1", "NX", "M1a", "3", "VALUE:IVNOS" ], [ "T1", "NX", "M1a", "4", "VALUE:IVNOS" ], [ "T1", "NX", "M1a", "9", "VALUE:IVNOS" ], [ "T2", "N0", "M1a", "1", "VALUE:IVA" ], [ "T2", "N0", "M1a", "2", "VALUE:IVA" ], [ "T2", "N0", "M1a", "3", "VALUE:IVA" ], [ "T2", "N0", "M1a", "4", "VALUE:IVA" ], [ "T2", "N0", "M1a", "9", "VALUE:IVA" ], [ "T2", "N1", "M1a", "1", "VALUE:IVB" ], [ "T2", "N1", "M1a", "2", "VALUE:IVB" ], [ "T2", "N1", "M1a", "3", "VALUE:IVB" ], [ "T2", "N1", "M1a", "4", "VALUE:IVB" ], [ "T2", "N1", "M1a", "9", "VALUE:IVB" ], [ "T2", "NX", "M1a", "1", "VALUE:IVNOS" ], [ "T2", "NX", "M1a", "2", "VALUE:IVNOS" ], [ "T2", "NX", "M1a", "3", "VALUE:IVNOS" ], [ "T2", "NX", "M1a", "4", "VALUE:IVNOS" ], [ "T2", "NX", "M1a", "9", "VALUE:IVNOS" ], [ "T3", "N0", "M1a", "1", "VALUE:IVA" ], [ "T3", "N0", "M1a", "2", "VALUE:IVA" ], [ "T3", "N0", "M1a", "3", "VALUE:IVA" ], [ "T3", "N0", "M1a", "4", "VALUE:IVA" ], [ "T3", "N0", "M1a", "9", "VALUE:IVA" ], [ "T3", "N1", "M1a", "1", "VALUE:IVB" ], [ "T3", "N1", "M1a", "2", "VALUE:IVB" ], [ "T3", "N1", "M1a", "3", "VALUE:IVB" ], [ "T3", "N1", "M1a", "4", "VALUE:IVB" ], [ "T3", "N1", "M1a", "9", "VALUE:IVB" ], [ "T3", "NX", "M1a", "1", "VALUE:IVNOS" ], [ "T3", "NX", "M1a", "2", "VALUE:IVNOS" ], [ "T3", "NX", "M1a", "3", "VALUE:IVNOS" ], [ "T3", "NX", "M1a", "4", "VALUE:IVNOS" ], [ "T3", "NX", "M1a", "9", "VALUE:IVNOS" ], [ "TX", "N0", "M1a", "1", "VALUE:IVA" ], [ "TX", "N0", "M1a", "2", "VALUE:IVA" ], [ "TX", "N0", "M1a", "3", "VALUE:IVA" ], [ "TX", "N0", "M1a", "4", "VALUE:IVA" ], [ "TX", "N0", "M1a", "9", "VALUE:IVA" ], [ "TX", "N1", "M1a", "1", "VALUE:IVB" ], [ "TX", "N1", "M1a", "2", "VALUE:IVB" ], [ "TX", "N1", "M1a", "3", "VALUE:IVB" ], [ "TX", "N1", "M1a", "4", "VALUE:IVB" ], [ "TX", "N1", "M1a", "9", "VALUE:IVB" ], [ "TX", "NX", "M1a", "1", "VALUE:IVNOS" ], [ "TX", "NX", "M1a", "2", "VALUE:IVNOS" ], [ "TX", "NX", "M1a", "3", "VALUE:IVNOS" ], [ "TX", "NX", "M1a", "4", "VALUE:IVNOS" ], [ "TX", "NX", "M1a", "9", "VALUE:IVNOS" ], [ "T0", "N0", "M1b", "1", "VALUE:IVB" ], [ "T0", "N0", "M1b", "2", "VALUE:IVB" ], [ "T0", "N0", "M1b", "3", "VALUE:IVB" ], [ "T0", "N0", "M1b", "4", "VALUE:IVB" ], [ "T0", "N0", "M1b", "9", "VALUE:IVB" ], [ "T0", "N1", "M1b", "1", "VALUE:IVB" ], [ "T0", "N1", "M1b", "2", "VALUE:IVB" ], [ "T0", "N1", "M1b", "3", "VALUE:IVB" ], [ "T0", "N1", "M1b", "4", "VALUE:IVB" ], [ "T0", "N1", "M1b", "9", "VALUE:IVB" ], [ "T0", "NX", "M1b", "1", "VALUE:IVB" ], [ "T0", "NX", "M1b", "2", "VALUE:IVB" ], [ "T0", "NX", "M1b", "3", "VALUE:IVB" ], [ "T0", "NX", "M1b", "4", "VALUE:IVB" ], [ "T0", "NX", "M1b", "9", "VALUE:IVB" ], [ "T1", "N0", "M1b", "1", "VALUE:IVB" ], [ "T1", "N0", "M1b", "2", "VALUE:IVB" ], [ "T1", "N0", "M1b", "3", "VALUE:IVB" ], [ "T1", "N0", "M1b", "4", "VALUE:IVB" ], [ "T1", "N0", "M1b", "9", "VALUE:IVB" ], [ "T1", "N1", "M1b", "1", "VALUE:IVB" ], [ "T1", "N1", "M1b", "2", "VALUE:IVB" ], [ "T1", "N1", "M1b", "3", "VALUE:IVB" ], [ "T1", "N1", "M1b", "4", "VALUE:IVB" ], [ "T1", "N1", "M1b", "9", "VALUE:IVB" ], [ "T1", "NX", "M1b", "1", "VALUE:IVB" ], [ "T1", "NX", "M1b", "2", "VALUE:IVB" ], [ "T1", "NX", "M1b", "3", "VALUE:IVB" ], [ "T1", "NX", "M1b", "4", "VALUE:IVB" ], [ "T1", "NX", "M1b", "9", "VALUE:IVB" ], [ "T2", "N0", "M1b", "1", "VALUE:IVB" ], [ "T2", "N0", "M1b", "2", "VALUE:IVB" ], [ "T2", "N0", "M1b", "3", "VALUE:IVB" ], [ "T2", "N0", "M1b", "4", "VALUE:IVB" ], [ "T2", "N0", "M1b", "9", "VALUE:IVB" ], [ "T2", "N1", "M1b", "1", "VALUE:IVB" ], [ "T2", "N1", "M1b", "2", "VALUE:IVB" ], [ "T2", "N1", "M1b", "3", "VALUE:IVB" ], [ "T2", "N1", "M1b", "4", "VALUE:IVB" ], [ "T2", "N1", "M1b", "9", "VALUE:IVB" ], [ "T2", "NX", "M1b", "1", "VALUE:IVB" ], [ "T2", "NX", "M1b", "2", "VALUE:IVB" ], [ "T2", "NX", "M1b", "3", "VALUE:IVB" ], [ "T2", "NX", "M1b", "4", "VALUE:IVB" ], [ "T2", "NX", "M1b", "9", "VALUE:IVB" ], [ "T3", "N0", "M1b", "1", "VALUE:IVB" ], [ "T3", "N0", "M1b", "2", "VALUE:IVB" ], [ "T3", "N0", "M1b", "3", "VALUE:IVB" ], [ "T3", "N0", "M1b", "4", "VALUE:IVB" ], [ "T3", "N0", "M1b", "9", "VALUE:IVB" ], [ "T3", "N1", "M1b", "1", "VALUE:IVB" ], [ "T3", "N1", "M1b", "2", "VALUE:IVB" ], [ "T3", "N1", "M1b", "3", "VALUE:IVB" ], [ "T3", "N1", "M1b", "4", "VALUE:IVB" ], [ "T3", "N1", "M1b", "9", "VALUE:IVB" ], [ "T3", "NX", "M1b", "1", "VALUE:IVB" ], [ "T3", "NX", "M1b", "2", "VALUE:IVB" ], [ "T3", "NX", "M1b", "3", "VALUE:IVB" ], [ "T3", "NX", "M1b", "4", "VALUE:IVB" ], [ "T3", "NX", "M1b", "9", "VALUE:IVB" ], [ "TX", "N0", "M1b", "1", "VALUE:IVB" ], [ "TX", "N0", "M1b", "2", "VALUE:IVB" ], [ "TX", "N0", "M1b", "3", "VALUE:IVB" ], [ "TX", "N0", "M1b", "4", "VALUE:IVB" ], [ "TX", "N0", "M1b", "9", "VALUE:IVB" ], [ "TX", "N1", "M1b", "1", "VALUE:IVB" ], [ "TX", "N1", "M1b", "2", "VALUE:IVB" ], [ "TX", "N1", "M1b", "3", "VALUE:IVB" ], [ "TX", "N1", "M1b", "4", "VALUE:IVB" ], [ "TX", "N1", "M1b", "9", "VALUE:IVB" ], [ "TX", "NX", "M1b", "1", "VALUE:IVB" ], [ "TX", "NX", "M1b", "2", "VALUE:IVB" ], [ "TX", "NX", "M1b", "3", "VALUE:IVB" ], [ "TX", "NX", "M1b", "4", "VALUE:IVB" ], [ "TX", "NX", "M1b", "9", "VALUE:IVB" ], [ "T0", "N0", "M1NOS", "1", "VALUE:IVNOS" ], [ "T0", "N0", "M1NOS", "2", "VALUE:IVNOS" ], [ "T0", "N0", "M1NOS", "3", "VALUE:IVNOS" ], [ "T0", "N0", "M1NOS", "4", "VALUE:IVNOS" ], [ "T0", "N0", "M1NOS", "9", "VALUE:IVNOS" ], [ "T0", "N1", "M1NOS", "1", "VALUE:IVB" ], [ "T0", "N1", "M1NOS", "2", "VALUE:IVB" ], [ "T0", "N1", "M1NOS", "3", "VALUE:IVB" ], [ "T0", "N1", "M1NOS", "4", "VALUE:IVB" ], [ "T0", "N1", "M1NOS", "9", "VALUE:IVB" ], [ "T0", "NX", "M1NOS", "1", "VALUE:IVNOS" ], [ "T0", "NX", "M1NOS", "2", "VALUE:IVNOS" ], [ "T0", "NX", "M1NOS", "3", "VALUE:IVNOS" ], [ "T0", "NX", "M1NOS", "4", "VALUE:IVNOS" ], [ "T0", "NX", "M1NOS", "9", "VALUE:IVNOS" ], [ "T1", "N0", "M1NOS", "1", "VALUE:IVNOS" ], [ "T1", "N0", "M1NOS", "2", "VALUE:IVNOS" ], [ "T1", "N0", "M1NOS", "3", "VALUE:IVNOS" ], [ "T1", "N0", "M1NOS", "4", "VALUE:IVNOS" ], [ "T1", "N0", "M1NOS", "9", "VALUE:IVNOS" ], [ "T1", "N1", "M1NOS", "1", "VALUE:IVB" ], [ "T1", "N1", "M1NOS", "2", "VALUE:IVB" ], [ "T1", "N1", "M1NOS", "3", "VALUE:IVB" ], [ "T1", "N1", "M1NOS", "4", "VALUE:IVB" ], [ "T1", "N1", "M1NOS", "9", "VALUE:IVB" ], [ "T1", "NX", "M1NOS", "1", "VALUE:IVNOS" ], [ "T1", "NX", "M1NOS", "2", "VALUE:IVNOS" ], [ "T1", "NX", "M1NOS", "3", "VALUE:IVNOS" ], [ "T1", "NX", "M1NOS", "4", "VALUE:IVNOS" ], [ "T1", "NX", "M1NOS", "9", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "1", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "2", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "3", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "4", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "9", "VALUE:IVNOS" ], [ "T2", "N1", "M1NOS", "1", "VALUE:IVB" ], [ "T2", "N1", "M1NOS", "2", "VALUE:IVB" ], [ "T2", "N1", "M1NOS", "3", "VALUE:IVB" ], [ "T2", "N1", "M1NOS", "4", "VALUE:IVB" ], [ "T2", "N1", "M1NOS", "9", "VALUE:IVB" ], [ "T2", "NX", "M1NOS", "1", "VALUE:IVNOS" ], [ "T2", "NX", "M1NOS", "2", "VALUE:IVNOS" ], [ "T2", "NX", "M1NOS", "3", "VALUE:IVNOS" ], [ "T2", "NX", "M1NOS", "4", "VALUE:IVNOS" ], [ "T2", "NX", "M1NOS", "9", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "1", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "2", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "3", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "4", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "9", "VALUE:IVNOS" ], [ "T3", "N1", "M1NOS", "1", "VALUE:IVB" ], [ "T3", "N1", "M1NOS", "2", "VALUE:IVB" ], [ "T3", "N1", "M1NOS", "3", "VALUE:IVB" ], [ "T3", "N1", "M1NOS", "4", "VALUE:IVB" ], [ "T3", "N1", "M1NOS", "9", "VALUE:IVB" ], [ "T3", "NX", "M1NOS", "1", "VALUE:IVNOS" ], [ "T3", "NX", "M1NOS", "2", "VALUE:IVNOS" ], [ "T3", "NX", "M1NOS", "3", "VALUE:IVNOS" ], [ "T3", "NX", "M1NOS", "4", "VALUE:IVNOS" ], [ "T3", "NX", "M1NOS", "9", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "1", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "2", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "3", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "4", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "9", "VALUE:IVNOS" ], [ "TX", "N1", "M1NOS", "1", "VALUE:IVB" ], [ "TX", "N1", "M1NOS", "2", "VALUE:IVB" ], [ "TX", "N1", "M1NOS", "3", "VALUE:IVB" ], [ "TX", "N1", "M1NOS", "4", "VALUE:IVB" ], [ "TX", "N1", "M1NOS", "9", "VALUE:IVB" ], [ "TX", "NX", "M1NOS", "1", "VALUE:IVNOS" ], [ "TX", "NX", "M1NOS", "2", "VALUE:IVNOS" ], [ "TX", "NX", "M1NOS", "3", "VALUE:IVNOS" ], [ "TX", "NX", "M1NOS", "4", "VALUE:IVNOS" ], [ "TX", "NX", "M1NOS", "9", "VALUE:IVNOS" ], [ "T0", "N0", "MX", "1", "VALUE:UNK" ], [ "T0", "N0", "MX", "2", "VALUE:UNK" ], [ "T0", "N0", "MX", "3", "VALUE:UNK" ], [ "T0", "N0", "MX", "4", "VALUE:UNK" ], [ "T0", "N0", "MX", "9", "VALUE:UNK" ], [ "T0", "N1", "MX", "1", "VALUE:IVB" ], [ "T0", "N1", "MX", "2", "VALUE:IVB" ], [ "T0", "N1", "MX", "3", "VALUE:IVB" ], [ "T0", "N1", "MX", "4", "VALUE:IVB" ], [ "T0", "N1", "MX", "9", "VALUE:IVB" ], [ "T0", "NX", "MX", "1", "VALUE:UNK" ], [ "T0", "NX", "MX", "2", "VALUE:UNK" ], [ "T0", "NX", "MX", "3", "VALUE:UNK" ], [ "T0", "NX", "MX", "4", "VALUE:UNK" ], [ "T0", "NX", "MX", "9", "VALUE:UNK" ], [ "T1", "N0", "MX", "1", "VALUE:UNK" ], [ "T1", "N0", "MX", "2", "VALUE:UNK" ], [ "T1", "N0", "MX", "3", "VALUE:UNK" ], [ "T1", "N0", "MX", "4", "VALUE:UNK" ], [ "T1", "N0", "MX", "9", "VALUE:UNK" ], [ "T1", "N1", "MX", "1", "VALUE:IVB" ], [ "T1", "N1", "MX", "2", "VALUE:IVB" ], [ "T1", "N1", "MX", "3", "VALUE:IVB" ], [ "T1", "N1", "MX", "4", "VALUE:IVB" ], [ "T1", "N1", "MX", "9", "VALUE:IVB" ], [ "T1", "NX", "MX", "1", "VALUE:UNK" ], [ "T1", "NX", "MX", "2", "VALUE:UNK" ], [ "T1", "NX", "MX", "3", "VALUE:UNK" ], [ "T1", "NX", "MX", "4", "VALUE:UNK" ], [ "T1", "NX", "MX", "9", "VALUE:UNK" ], [ "T2", "N0", "MX", "1", "VALUE:UNK" ], [ "T2", "N0", "MX", "2", "VALUE:UNK" ], [ "T2", "N0", "MX", "3", "VALUE:UNK" ], [ "T2", "N0", "MX", "4", "VALUE:UNK" ], [ "T2", "N0", "MX", "9", "VALUE:UNK" ], [ "T2", "N1", "MX", "1", "VALUE:IVB" ], [ "T2", "N1", "MX", "2", "VALUE:IVB" ], [ "T2", "N1", "MX", "3", "VALUE:IVB" ], [ "T2", "N1", "MX", "4", "VALUE:IVB" ], [ "T2", "N1", "MX", "9", "VALUE:IVB" ], [ "T2", "NX", "MX", "1", "VALUE:UNK" ], [ "T2", "NX", "MX", "2", "VALUE:UNK" ], [ "T2", "NX", "MX", "3", "VALUE:UNK" ], [ "T2", "NX", "MX", "4", "VALUE:UNK" ], [ "T2", "NX", "MX", "9", "VALUE:UNK" ], [ "T3", "N0", "MX", "1", "VALUE:UNK" ], [ "T3", "N0", "MX", "2", "VALUE:UNK" ], [ "T3", "N0", "MX", "3", "VALUE:UNK" ], [ "T3", "N0", "MX", "4", "VALUE:UNK" ], [ "T3", "N0", "MX", "9", "VALUE:UNK" ], [ "T3", "N1", "MX", "1", "VALUE:IVB" ], [ "T3", "N1", "MX", "2", "VALUE:IVB" ], [ "T3", "N1", "MX", "3", "VALUE:IVB" ], [ "T3", "N1", "MX", "4", "VALUE:IVB" ], [ "T3", "N1", "MX", "9", "VALUE:IVB" ], [ "T3", "NX", "MX", "1", "VALUE:UNK" ], [ "T3", "NX", "MX", "2", "VALUE:UNK" ], [ "T3", "NX", "MX", "3", "VALUE:UNK" ], [ "T3", "NX", "MX", "4", "VALUE:UNK" ], [ "T3", "NX", "MX", "9", "VALUE:UNK" ], [ "TX", "N0", "MX", "1", "VALUE:UNK" ], [ "TX", "N0", "MX", "2", "VALUE:UNK" ], [ "TX", "N0", "MX", "3", "VALUE:UNK" ], [ "TX", "N0", "MX", "4", "VALUE:UNK" ], [ "TX", "N0", "MX", "9", "VALUE:UNK" ], [ "TX", "N1", "MX", "1", "VALUE:IVB" ], [ "TX", "N1", "MX", "2", "VALUE:IVB" ], [ "TX", "N1", "MX", "3", "VALUE:IVB" ], [ "TX", "N1", "MX", "4", "VALUE:IVB" ], [ "TX", "N1", "MX", "9", "VALUE:IVB" ], [ "TX", "NX", "MX", "1", "VALUE:UNK" ], [ "TX", "NX", "MX", "2", "VALUE:UNK" ], [ "TX", "NX", "MX", "3", "VALUE:UNK" ], [ "TX", "NX", "MX", "4", "VALUE:UNK" ], [ "TX", "NX", "MX", "9", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qab.json deleted file mode 100644 index 4a51bbeef..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qab.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:47.872Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIA" ], [ "T0", "N2", "M0", "VALUE:IIIA" ], [ "T0", "N3", "M0", "VALUE:IIIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:IA" ], [ "T1", "N1", "M0", "VALUE:IIA" ], [ "T1", "N2", "M0", "VALUE:IIIA" ], [ "T1", "N3", "M0", "VALUE:IIIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IB" ], [ "T2", "N1", "M0", "VALUE:IIB" ], [ "T2", "N2", "M0", "VALUE:IIIA" ], [ "T2", "N3", "M0", "VALUE:IIIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIB" ], [ "T3", "N1", "M0", "VALUE:IIIA" ], [ "T3", "N2", "M0", "VALUE:IIIA" ], [ "T3", "N3", "M0", "VALUE:IIIB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IIIB" ], [ "T4", "N1", "M0", "VALUE:IIIB" ], [ "T4", "N2", "M0", "VALUE:IIIB" ], [ "T4", "N3", "M0", "VALUE:IIIB" ], [ "T4", "NX", "M0", "VALUE:IIIB" ], [ "TX", "N0", "M0", "VALUE:OCCULT" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:IIIA" ], [ "TX", "N3", "M0", "VALUE:IIIB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "N3", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "N2", "M1", "VALUE:IV" ], [ "T1", "N3", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2", "M1", "VALUE:IV" ], [ "T2", "N3", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "N3", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "N3", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "N3", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2", "MX", "VALUE:UNK" ], [ "T0", "N3", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "N2", "MX", "ERROR:" ], [ "Tis", "N3", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "N2", "MX", "VALUE:UNK" ], [ "T1", "N3", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "N2", "MX", "VALUE:UNK" ], [ "T2", "N3", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N2", "MX", "VALUE:UNK" ], [ "T3", "N3", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "N2", "MX", "VALUE:UNK" ], [ "T4", "N3", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2", "MX", "VALUE:UNK" ], [ "TX", "N3", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qac.json deleted file mode 100644 index 8082cb3fc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qac.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:47.930Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIC" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N1", "M0", "VALUE:IIIC" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IB" ], [ "T1b", "N1", "M0", "VALUE:IIIC" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1c", "N0", "M0", "VALUE:IC" ], [ "T1c", "N1", "M0", "VALUE:IIIC" ], [ "T1c", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:INOS" ], [ "T1NOS", "N1", "M0", "VALUE:IIIC" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:IIA" ], [ "T2a", "N1", "M0", "VALUE:IIIC" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:IIB" ], [ "T2b", "N1", "M0", "VALUE:IIIC" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2c", "N0", "M0", "VALUE:IIC" ], [ "T2c", "N1", "M0", "VALUE:IIIC" ], [ "T2c", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:IINOS" ], [ "T2NOS", "N1", "M0", "VALUE:IIIC" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:IIIA" ], [ "T3a", "N1", "M0", "VALUE:IIIC" ], [ "T3a", "NX", "M0", "VALUE:IIINOS" ], [ "T3b", "N0", "M0", "VALUE:IIIB" ], [ "T3b", "N1", "M0", "VALUE:IIIC" ], [ "T3b", "NX", "M0", "VALUE:IIINOS" ], [ "T3c", "N0", "M0", "VALUE:IIIC" ], [ "T3c", "N1", "M0", "VALUE:IIIC" ], [ "T3c", "NX", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N0", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N1", "M0", "VALUE:IIIC" ], [ "T3NOS", "NX", "M0", "VALUE:IIINOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIIC" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1c", "N0", "M1", "VALUE:IV" ], [ "T1c", "N1", "M1", "VALUE:IV" ], [ "T1c", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2a", "N0", "M1", "VALUE:IV" ], [ "T2a", "N1", "M1", "VALUE:IV" ], [ "T2a", "NX", "M1", "VALUE:IV" ], [ "T2b", "N0", "M1", "VALUE:IV" ], [ "T2b", "N1", "M1", "VALUE:IV" ], [ "T2b", "NX", "M1", "VALUE:IV" ], [ "T2c", "N0", "M1", "VALUE:IV" ], [ "T2c", "N1", "M1", "VALUE:IV" ], [ "T2c", "NX", "M1", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "VALUE:IV" ], [ "T3a", "N0", "M1", "VALUE:IV" ], [ "T3a", "N1", "M1", "VALUE:IV" ], [ "T3a", "NX", "M1", "VALUE:IV" ], [ "T3b", "N0", "M1", "VALUE:IV" ], [ "T3b", "N1", "M1", "VALUE:IV" ], [ "T3b", "NX", "M1", "VALUE:IV" ], [ "T3c", "N0", "M1", "VALUE:IV" ], [ "T3c", "N1", "M1", "VALUE:IV" ], [ "T3c", "NX", "M1", "VALUE:IV" ], [ "T3NOS", "N0", "M1", "VALUE:IV" ], [ "T3NOS", "N1", "M1", "VALUE:IV" ], [ "T3NOS", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1a", "N0", "MX", "VALUE:UNK" ], [ "T1a", "N1", "MX", "VALUE:UNK" ], [ "T1a", "NX", "MX", "VALUE:UNK" ], [ "T1b", "N0", "MX", "VALUE:UNK" ], [ "T1b", "N1", "MX", "VALUE:UNK" ], [ "T1b", "NX", "MX", "VALUE:UNK" ], [ "T1c", "N0", "MX", "VALUE:UNK" ], [ "T1c", "N1", "MX", "VALUE:UNK" ], [ "T1c", "NX", "MX", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "VALUE:UNK" ], [ "T1NOS", "NX", "MX", "VALUE:UNK" ], [ "T2a", "N0", "MX", "VALUE:UNK" ], [ "T2a", "N1", "MX", "VALUE:UNK" ], [ "T2a", "NX", "MX", "VALUE:UNK" ], [ "T2b", "N0", "MX", "VALUE:UNK" ], [ "T2b", "N1", "MX", "VALUE:UNK" ], [ "T2b", "NX", "MX", "VALUE:UNK" ], [ "T2c", "N0", "MX", "VALUE:UNK" ], [ "T2c", "N1", "MX", "VALUE:UNK" ], [ "T2c", "NX", "MX", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "VALUE:UNK" ], [ "T2NOS", "N1", "MX", "VALUE:UNK" ], [ "T2NOS", "NX", "MX", "VALUE:UNK" ], [ "T3a", "N0", "MX", "VALUE:UNK" ], [ "T3a", "N1", "MX", "VALUE:UNK" ], [ "T3a", "NX", "MX", "VALUE:UNK" ], [ "T3b", "N0", "MX", "VALUE:UNK" ], [ "T3b", "N1", "MX", "VALUE:UNK" ], [ "T3b", "NX", "MX", "VALUE:UNK" ], [ "T3c", "N0", "MX", "VALUE:UNK" ], [ "T3c", "N1", "MX", "VALUE:UNK" ], [ "T3c", "NX", "MX", "VALUE:UNK" ], [ "T3NOS", "N0", "MX", "VALUE:UNK" ], [ "T3NOS", "N1", "MX", "VALUE:UNK" ], [ "T3NOS", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qad.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qad.json deleted file mode 100644 index 07d67e51a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qad.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qad", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:47.994Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N0(i-)", "M0", "ERROR:" ], [ "T0", "N0(i+)", "M0", "ERROR:" ], [ "T0", "N0(mol-)", "M0", "ERROR:" ], [ "T0", "N0(mol+)", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIA" ], [ "T0", "N1a", "M0", "VALUE:IIA" ], [ "T0", "N1b", "M0", "VALUE:IIA" ], [ "T0", "N1c", "M0", "VALUE:IIA" ], [ "T0", "N1mi", "M0", "VALUE:IIA" ], [ "T0", "N1NOS", "M0", "VALUE:IIA" ], [ "T0", "N2a", "M0", "VALUE:IIIA" ], [ "T0", "N2b", "M0", "VALUE:IIIA" ], [ "T0", "N2NOS", "M0", "VALUE:IIIA" ], [ "T0", "N3a", "M0", "VALUE:IIIC" ], [ "T0", "N3b", "M0", "VALUE:IIIC" ], [ "T0", "N3c", "M0", "VALUE:IIIC" ], [ "T0", "N3NOS", "M0", "VALUE:IIIC" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N0(i-)", "M0", "VALUE:0" ], [ "Tis", "N0(i+)", "M0", "VALUE:0" ], [ "Tis", "N0(mol-)", "M0", "VALUE:0" ], [ "Tis", "N0(mol+)", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N1a", "M0", "ERROR:" ], [ "Tis", "N1b", "M0", "ERROR:" ], [ "Tis", "N1c", "M0", "ERROR:" ], [ "Tis", "N1mi", "M0", "ERROR:" ], [ "Tis", "N1NOS", "M0", "ERROR:" ], [ "Tis", "N2a", "M0", "ERROR:" ], [ "Tis", "N2b", "M0", "ERROR:" ], [ "Tis", "N2NOS", "M0", "ERROR:" ], [ "Tis", "N3a", "M0", "ERROR:" ], [ "Tis", "N3b", "M0", "ERROR:" ], [ "Tis", "N3c", "M0", "ERROR:" ], [ "Tis", "N3NOS", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1mi", "N0", "M0", "VALUE:I" ], [ "T1mi", "N0(i-)", "M0", "VALUE:I" ], [ "T1mi", "N0(i+)", "M0", "VALUE:I" ], [ "T1mi", "N0(mol-)", "M0", "VALUE:I" ], [ "T1mi", "N0(mol+)", "M0", "VALUE:I" ], [ "T1mi", "N1", "M0", "VALUE:IIA" ], [ "T1mi", "N1a", "M0", "VALUE:IIA" ], [ "T1mi", "N1b", "M0", "VALUE:IIA" ], [ "T1mi", "N1c", "M0", "VALUE:IIA" ], [ "T1mi", "N1mi", "M0", "VALUE:IIA" ], [ "T1mi", "N1NOS", "M0", "VALUE:IIA" ], [ "T1mi", "N2a", "M0", "VALUE:IIIA" ], [ "T1mi", "N2b", "M0", "VALUE:IIIA" ], [ "T1mi", "N2NOS", "M0", "VALUE:IIIA" ], [ "T1mi", "N3a", "M0", "VALUE:IIIC" ], [ "T1mi", "N3b", "M0", "VALUE:IIIC" ], [ "T1mi", "N3c", "M0", "VALUE:IIIC" ], [ "T1mi", "N3NOS", "M0", "VALUE:IIIC" ], [ "T1mi", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N0(i-)", "M0", "VALUE:I" ], [ "T1a", "N0(i+)", "M0", "VALUE:I" ], [ "T1a", "N0(mol-)", "M0", "VALUE:I" ], [ "T1a", "N0(mol+)", "M0", "VALUE:I" ], [ "T1a", "N1", "M0", "VALUE:IIA" ], [ "T1a", "N1a", "M0", "VALUE:IIA" ], [ "T1a", "N1b", "M0", "VALUE:IIA" ], [ "T1a", "N1c", "M0", "VALUE:IIA" ], [ "T1a", "N1mi", "M0", "VALUE:IIA" ], [ "T1a", "N1NOS", "M0", "VALUE:IIA" ], [ "T1a", "N2a", "M0", "VALUE:IIIA" ], [ "T1a", "N2b", "M0", "VALUE:IIIA" ], [ "T1a", "N2NOS", "M0", "VALUE:IIIA" ], [ "T1a", "N3a", "M0", "VALUE:IIIC" ], [ "T1a", "N3b", "M0", "VALUE:IIIC" ], [ "T1a", "N3c", "M0", "VALUE:IIIC" ], [ "T1a", "N3NOS", "M0", "VALUE:IIIC" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:I" ], [ "T1b", "N0(i-)", "M0", "VALUE:I" ], [ "T1b", "N0(i+)", "M0", "VALUE:I" ], [ "T1b", "N0(mol-)", "M0", "VALUE:I" ], [ "T1b", "N0(mol+)", "M0", "VALUE:I" ], [ "T1b", "N1", "M0", "VALUE:IIA" ], [ "T1b", "N1a", "M0", "VALUE:IIA" ], [ "T1b", "N1b", "M0", "VALUE:IIA" ], [ "T1b", "N1c", "M0", "VALUE:IIA" ], [ "T1b", "N1mi", "M0", "VALUE:IIA" ], [ "T1b", "N1NOS", "M0", "VALUE:IIA" ], [ "T1b", "N2a", "M0", "VALUE:IIIA" ], [ "T1b", "N2b", "M0", "VALUE:IIIA" ], [ "T1b", "N2NOS", "M0", "VALUE:IIIA" ], [ "T1b", "N3a", "M0", "VALUE:IIIC" ], [ "T1b", "N3b", "M0", "VALUE:IIIC" ], [ "T1b", "N3c", "M0", "VALUE:IIIC" ], [ "T1b", "N3NOS", "M0", "VALUE:IIIC" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1c", "N0", "M0", "VALUE:I" ], [ "T1c", "N0(i-)", "M0", "VALUE:I" ], [ "T1c", "N0(i+)", "M0", "VALUE:I" ], [ "T1c", "N0(mol-)", "M0", "VALUE:I" ], [ "T1c", "N0(mol+)", "M0", "VALUE:I" ], [ "T1c", "N1", "M0", "VALUE:IIA" ], [ "T1c", "N1a", "M0", "VALUE:IIA" ], [ "T1c", "N1b", "M0", "VALUE:IIA" ], [ "T1c", "N1c", "M0", "VALUE:IIA" ], [ "T1c", "N1mi", "M0", "VALUE:IIA" ], [ "T1c", "N1NOS", "M0", "VALUE:IIA" ], [ "T1c", "N2a", "M0", "VALUE:IIIA" ], [ "T1c", "N2b", "M0", "VALUE:IIIA" ], [ "T1c", "N2NOS", "M0", "VALUE:IIIA" ], [ "T1c", "N3a", "M0", "VALUE:IIIC" ], [ "T1c", "N3b", "M0", "VALUE:IIIC" ], [ "T1c", "N3c", "M0", "VALUE:IIIC" ], [ "T1c", "N3NOS", "M0", "VALUE:IIIC" ], [ "T1c", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N0(i-)", "M0", "VALUE:I" ], [ "T1NOS", "N0(i+)", "M0", "VALUE:I" ], [ "T1NOS", "N0(mol-)", "M0", "VALUE:I" ], [ "T1NOS", "N0(mol+)", "M0", "VALUE:I" ], [ "T1NOS", "N1", "M0", "VALUE:IIA" ], [ "T1NOS", "N1a", "M0", "VALUE:IIA" ], [ "T1NOS", "N1b", "M0", "VALUE:IIA" ], [ "T1NOS", "N1c", "M0", "VALUE:IIA" ], [ "T1NOS", "N1mi", "M0", "VALUE:IIA" ], [ "T1NOS", "N1NOS", "M0", "VALUE:IIA" ], [ "T1NOS", "N2a", "M0", "VALUE:IIIA" ], [ "T1NOS", "N2b", "M0", "VALUE:IIIA" ], [ "T1NOS", "N2NOS", "M0", "VALUE:IIIA" ], [ "T1NOS", "N3a", "M0", "VALUE:IIIC" ], [ "T1NOS", "N3b", "M0", "VALUE:IIIC" ], [ "T1NOS", "N3c", "M0", "VALUE:IIIC" ], [ "T1NOS", "N3NOS", "M0", "VALUE:IIIC" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IIA" ], [ "T2", "N0(i-)", "M0", "VALUE:IIA" ], [ "T2", "N0(i+)", "M0", "VALUE:IIA" ], [ "T2", "N0(mol-)", "M0", "VALUE:IIA" ], [ "T2", "N0(mol+)", "M0", "VALUE:IIA" ], [ "T2", "N1", "M0", "VALUE:IIB" ], [ "T2", "N1a", "M0", "VALUE:IIB" ], [ "T2", "N1b", "M0", "VALUE:IIB" ], [ "T2", "N1c", "M0", "VALUE:IIB" ], [ "T2", "N1mi", "M0", "VALUE:IIB" ], [ "T2", "N1NOS", "M0", "VALUE:IIB" ], [ "T2", "N2a", "M0", "VALUE:IIIA" ], [ "T2", "N2b", "M0", "VALUE:IIIA" ], [ "T2", "N2NOS", "M0", "VALUE:IIIA" ], [ "T2", "N3a", "M0", "VALUE:IIIC" ], [ "T2", "N3b", "M0", "VALUE:IIIC" ], [ "T2", "N3c", "M0", "VALUE:IIIC" ], [ "T2", "N3NOS", "M0", "VALUE:IIIC" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIB" ], [ "T3", "N0(i-)", "M0", "VALUE:IIB" ], [ "T3", "N0(i+)", "M0", "VALUE:IIB" ], [ "T3", "N0(mol-)", "M0", "VALUE:IIB" ], [ "T3", "N0(mol+)", "M0", "VALUE:IIB" ], [ "T3", "N1", "M0", "VALUE:IIIA" ], [ "T3", "N1a", "M0", "VALUE:IIIA" ], [ "T3", "N1b", "M0", "VALUE:IIIA" ], [ "T3", "N1c", "M0", "VALUE:IIIA" ], [ "T3", "N1mi", "M0", "VALUE:IIIA" ], [ "T3", "N1NOS", "M0", "VALUE:IIIA" ], [ "T3", "N2a", "M0", "VALUE:IIIA" ], [ "T3", "N2b", "M0", "VALUE:IIIA" ], [ "T3", "N2NOS", "M0", "VALUE:IIIA" ], [ "T3", "N3a", "M0", "VALUE:IIIC" ], [ "T3", "N3b", "M0", "VALUE:IIIC" ], [ "T3", "N3c", "M0", "VALUE:IIIC" ], [ "T3", "N3NOS", "M0", "VALUE:IIIC" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IIIB" ], [ "T4a", "N0(i-)", "M0", "VALUE:IIIB" ], [ "T4a", "N0(i+)", "M0", "VALUE:IIIB" ], [ "T4a", "N0(mol-)", "M0", "VALUE:IIIB" ], [ "T4a", "N0(mol+)", "M0", "VALUE:IIIB" ], [ "T4a", "N1", "M0", "VALUE:IIIB" ], [ "T4a", "N1a", "M0", "VALUE:IIIB" ], [ "T4a", "N1b", "M0", "VALUE:IIIB" ], [ "T4a", "N1c", "M0", "VALUE:IIIB" ], [ "T4a", "N1mi", "M0", "VALUE:IIIB" ], [ "T4a", "N1NOS", "M0", "VALUE:IIIB" ], [ "T4a", "N2a", "M0", "VALUE:IIIB" ], [ "T4a", "N2b", "M0", "VALUE:IIIB" ], [ "T4a", "N2NOS", "M0", "VALUE:IIIB" ], [ "T4a", "N3a", "M0", "VALUE:IIIC" ], [ "T4a", "N3b", "M0", "VALUE:IIIC" ], [ "T4a", "N3c", "M0", "VALUE:IIIC" ], [ "T4a", "N3NOS", "M0", "VALUE:IIIC" ], [ "T4a", "NX", "M0", "VALUE:IIINOS" ], [ "T4b", "N0", "M0", "VALUE:IIIB" ], [ "T4b", "N0(i-)", "M0", "VALUE:IIIB" ], [ "T4b", "N0(i+)", "M0", "VALUE:IIIB" ], [ "T4b", "N0(mol-)", "M0", "VALUE:IIIB" ], [ "T4b", "N0(mol+)", "M0", "VALUE:IIIB" ], [ "T4b", "N1", "M0", "VALUE:IIIB" ], [ "T4b", "N1a", "M0", "VALUE:IIIB" ], [ "T4b", "N1b", "M0", "VALUE:IIIB" ], [ "T4b", "N1c", "M0", "VALUE:IIIB" ], [ "T4b", "N1mi", "M0", "VALUE:IIIB" ], [ "T4b", "N1NOS", "M0", "VALUE:IIIB" ], [ "T4b", "N2a", "M0", "VALUE:IIIB" ], [ "T4b", "N2b", "M0", "VALUE:IIIB" ], [ "T4b", "N2NOS", "M0", "VALUE:IIIB" ], [ "T4b", "N3a", "M0", "VALUE:IIIC" ], [ "T4b", "N3b", "M0", "VALUE:IIIC" ], [ "T4b", "N3c", "M0", "VALUE:IIIC" ], [ "T4b", "N3NOS", "M0", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "VALUE:IIINOS" ], [ "T4c", "N0", "M0", "VALUE:IIIB" ], [ "T4c", "N0(i-)", "M0", "VALUE:IIIB" ], [ "T4c", "N0(i+)", "M0", "VALUE:IIIB" ], [ "T4c", "N0(mol-)", "M0", "VALUE:IIIB" ], [ "T4c", "N0(mol+)", "M0", "VALUE:IIIB" ], [ "T4c", "N1", "M0", "VALUE:IIIB" ], [ "T4c", "N1a", "M0", "VALUE:IIIB" ], [ "T4c", "N1b", "M0", "VALUE:IIIB" ], [ "T4c", "N1c", "M0", "VALUE:IIIB" ], [ "T4c", "N1mi", "M0", "VALUE:IIIB" ], [ "T4c", "N1NOS", "M0", "VALUE:IIIB" ], [ "T4c", "N2a", "M0", "VALUE:IIIB" ], [ "T4c", "N2b", "M0", "VALUE:IIIB" ], [ "T4c", "N2NOS", "M0", "VALUE:IIIB" ], [ "T4c", "N3a", "M0", "VALUE:IIIC" ], [ "T4c", "N3b", "M0", "VALUE:IIIC" ], [ "T4c", "N3c", "M0", "VALUE:IIIC" ], [ "T4c", "N3NOS", "M0", "VALUE:IIIC" ], [ "T4c", "NX", "M0", "VALUE:IIINOS" ], [ "T4d", "N0", "M0", "VALUE:IIIB" ], [ "T4d", "N0(i-)", "M0", "VALUE:IIIB" ], [ "T4d", "N0(i+)", "M0", "VALUE:IIIB" ], [ "T4d", "N0(mol-)", "M0", "VALUE:IIIB" ], [ "T4d", "N0(mol+)", "M0", "VALUE:IIIB" ], [ "T4d", "N1", "M0", "VALUE:IIIB" ], [ "T4d", "N1a", "M0", "VALUE:IIIB" ], [ "T4d", "N1b", "M0", "VALUE:IIIB" ], [ "T4d", "N1c", "M0", "VALUE:IIIB" ], [ "T4d", "N1mi", "M0", "VALUE:IIIB" ], [ "T4d", "N1NOS", "M0", "VALUE:IIIB" ], [ "T4d", "N2a", "M0", "VALUE:IIIB" ], [ "T4d", "N2b", "M0", "VALUE:IIIB" ], [ "T4d", "N2NOS", "M0", "VALUE:IIIB" ], [ "T4d", "N3a", "M0", "VALUE:IIIC" ], [ "T4d", "N3b", "M0", "VALUE:IIIC" ], [ "T4d", "N3c", "M0", "VALUE:IIIC" ], [ "T4d", "N3NOS", "M0", "VALUE:IIIC" ], [ "T4d", "NX", "M0", "VALUE:IIINOS" ], [ "T4NOS", "N0", "M0", "VALUE:IIIB" ], [ "T4NOS", "N0(i-)", "M0", "VALUE:IIIB" ], [ "T4NOS", "N0(i+)", "M0", "VALUE:IIIB" ], [ "T4NOS", "N0(mol-)", "M0", "VALUE:IIIB" ], [ "T4NOS", "N0(mol+)", "M0", "VALUE:IIIB" ], [ "T4NOS", "N1", "M0", "VALUE:IIIB" ], [ "T4NOS", "N1a", "M0", "VALUE:IIIB" ], [ "T4NOS", "N1b", "M0", "VALUE:IIIB" ], [ "T4NOS", "N1c", "M0", "VALUE:IIIB" ], [ "T4NOS", "N1mi", "M0", "VALUE:IIIB" ], [ "T4NOS", "N1NOS", "M0", "VALUE:IIIB" ], [ "T4NOS", "N2a", "M0", "VALUE:IIIB" ], [ "T4NOS", "N2b", "M0", "VALUE:IIIB" ], [ "T4NOS", "N2NOS", "M0", "VALUE:IIIB" ], [ "T4NOS", "N3a", "M0", "VALUE:IIIC" ], [ "T4NOS", "N3b", "M0", "VALUE:IIIC" ], [ "T4NOS", "N3c", "M0", "VALUE:IIIC" ], [ "T4NOS", "N3NOS", "M0", "VALUE:IIIC" ], [ "T4NOS", "NX", "M0", "VALUE:IIINOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N0(i-)", "M0", "VALUE:UNK" ], [ "TX", "N0(i+)", "M0", "VALUE:UNK" ], [ "TX", "N0(mol-)", "M0", "VALUE:UNK" ], [ "TX", "N0(mol+)", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N1a", "M0", "VALUE:UNK" ], [ "TX", "N1b", "M0", "VALUE:UNK" ], [ "TX", "N1c", "M0", "VALUE:UNK" ], [ "TX", "N1mi", "M0", "VALUE:UNK" ], [ "TX", "N1NOS", "M0", "VALUE:UNK" ], [ "TX", "N2a", "M0", "VALUE:IIINOS" ], [ "TX", "N2b", "M0", "VALUE:IIINOS" ], [ "TX", "N2NOS", "M0", "VALUE:IIINOS" ], [ "TX", "N3a", "M0", "VALUE:IIIC" ], [ "TX", "N3b", "M0", "VALUE:IIIC" ], [ "TX", "N3c", "M0", "VALUE:IIIC" ], [ "TX", "N3NOS", "M0", "VALUE:IIIC" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N0(i-)", "M1", "VALUE:IV" ], [ "T0", "N0(i+)", "M1", "VALUE:IV" ], [ "T0", "N0(mol-)", "M1", "VALUE:IV" ], [ "T0", "N0(mol+)", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N1a", "M1", "VALUE:IV" ], [ "T0", "N1b", "M1", "VALUE:IV" ], [ "T0", "N1c", "M1", "VALUE:IV" ], [ "T0", "N1mi", "M1", "VALUE:IV" ], [ "T0", "N1NOS", "M1", "VALUE:IV" ], [ "T0", "N2a", "M1", "VALUE:IV" ], [ "T0", "N2b", "M1", "VALUE:IV" ], [ "T0", "N2NOS", "M1", "VALUE:IV" ], [ "T0", "N3a", "M1", "VALUE:IV" ], [ "T0", "N3b", "M1", "VALUE:IV" ], [ "T0", "N3c", "M1", "VALUE:IV" ], [ "T0", "N3NOS", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N0(i-)", "M1", "ERROR:" ], [ "Tis", "N0(i+)", "M1", "ERROR:" ], [ "Tis", "N0(mol-)", "M1", "ERROR:" ], [ "Tis", "N0(mol+)", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N1a", "M1", "ERROR:" ], [ "Tis", "N1b", "M1", "ERROR:" ], [ "Tis", "N1c", "M1", "ERROR:" ], [ "Tis", "N1mi", "M1", "ERROR:" ], [ "Tis", "N1NOS", "M1", "ERROR:" ], [ "Tis", "N2a", "M1", "ERROR:" ], [ "Tis", "N2b", "M1", "ERROR:" ], [ "Tis", "N2NOS", "M1", "ERROR:" ], [ "Tis", "N3a", "M1", "ERROR:" ], [ "Tis", "N3b", "M1", "ERROR:" ], [ "Tis", "N3c", "M1", "ERROR:" ], [ "Tis", "N3NOS", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1mi", "N0", "M1", "VALUE:IV" ], [ "T1mi", "N0(i-)", "M1", "VALUE:IV" ], [ "T1mi", "N0(i+)", "M1", "VALUE:IV" ], [ "T1mi", "N0(mol-)", "M1", "VALUE:IV" ], [ "T1mi", "N0(mol+)", "M1", "VALUE:IV" ], [ "T1mi", "N1", "M1", "VALUE:IV" ], [ "T1mi", "N1a", "M1", "VALUE:IV" ], [ "T1mi", "N1b", "M1", "VALUE:IV" ], [ "T1mi", "N1c", "M1", "VALUE:IV" ], [ "T1mi", "N1mi", "M1", "VALUE:IV" ], [ "T1mi", "N1NOS", "M1", "VALUE:IV" ], [ "T1mi", "N2a", "M1", "VALUE:IV" ], [ "T1mi", "N2b", "M1", "VALUE:IV" ], [ "T1mi", "N2NOS", "M1", "VALUE:IV" ], [ "T1mi", "N3a", "M1", "VALUE:IV" ], [ "T1mi", "N3b", "M1", "VALUE:IV" ], [ "T1mi", "N3c", "M1", "VALUE:IV" ], [ "T1mi", "N3NOS", "M1", "VALUE:IV" ], [ "T1mi", "NX", "M1", "VALUE:IV" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N0(i-)", "M1", "VALUE:IV" ], [ "T1a", "N0(i+)", "M1", "VALUE:IV" ], [ "T1a", "N0(mol-)", "M1", "VALUE:IV" ], [ "T1a", "N0(mol+)", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "N1a", "M1", "VALUE:IV" ], [ "T1a", "N1b", "M1", "VALUE:IV" ], [ "T1a", "N1c", "M1", "VALUE:IV" ], [ "T1a", "N1mi", "M1", "VALUE:IV" ], [ "T1a", "N1NOS", "M1", "VALUE:IV" ], [ "T1a", "N2a", "M1", "VALUE:IV" ], [ "T1a", "N2b", "M1", "VALUE:IV" ], [ "T1a", "N2NOS", "M1", "VALUE:IV" ], [ "T1a", "N3a", "M1", "VALUE:IV" ], [ "T1a", "N3b", "M1", "VALUE:IV" ], [ "T1a", "N3c", "M1", "VALUE:IV" ], [ "T1a", "N3NOS", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N0(i-)", "M1", "VALUE:IV" ], [ "T1b", "N0(i+)", "M1", "VALUE:IV" ], [ "T1b", "N0(mol-)", "M1", "VALUE:IV" ], [ "T1b", "N0(mol+)", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "N1a", "M1", "VALUE:IV" ], [ "T1b", "N1b", "M1", "VALUE:IV" ], [ "T1b", "N1c", "M1", "VALUE:IV" ], [ "T1b", "N1mi", "M1", "VALUE:IV" ], [ "T1b", "N1NOS", "M1", "VALUE:IV" ], [ "T1b", "N2a", "M1", "VALUE:IV" ], [ "T1b", "N2b", "M1", "VALUE:IV" ], [ "T1b", "N2NOS", "M1", "VALUE:IV" ], [ "T1b", "N3a", "M1", "VALUE:IV" ], [ "T1b", "N3b", "M1", "VALUE:IV" ], [ "T1b", "N3c", "M1", "VALUE:IV" ], [ "T1b", "N3NOS", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1c", "N0", "M1", "VALUE:IV" ], [ "T1c", "N0(i-)", "M1", "VALUE:IV" ], [ "T1c", "N0(i+)", "M1", "VALUE:IV" ], [ "T1c", "N0(mol-)", "M1", "VALUE:IV" ], [ "T1c", "N0(mol+)", "M1", "VALUE:IV" ], [ "T1c", "N1", "M1", "VALUE:IV" ], [ "T1c", "N1a", "M1", "VALUE:IV" ], [ "T1c", "N1b", "M1", "VALUE:IV" ], [ "T1c", "N1c", "M1", "VALUE:IV" ], [ "T1c", "N1mi", "M1", "VALUE:IV" ], [ "T1c", "N1NOS", "M1", "VALUE:IV" ], [ "T1c", "N2a", "M1", "VALUE:IV" ], [ "T1c", "N2b", "M1", "VALUE:IV" ], [ "T1c", "N2NOS", "M1", "VALUE:IV" ], [ "T1c", "N3a", "M1", "VALUE:IV" ], [ "T1c", "N3b", "M1", "VALUE:IV" ], [ "T1c", "N3c", "M1", "VALUE:IV" ], [ "T1c", "N3NOS", "M1", "VALUE:IV" ], [ "T1c", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N0(i-)", "M1", "VALUE:IV" ], [ "T1NOS", "N0(i+)", "M1", "VALUE:IV" ], [ "T1NOS", "N0(mol-)", "M1", "VALUE:IV" ], [ "T1NOS", "N0(mol+)", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "N1a", "M1", "VALUE:IV" ], [ "T1NOS", "N1b", "M1", "VALUE:IV" ], [ "T1NOS", "N1c", "M1", "VALUE:IV" ], [ "T1NOS", "N1mi", "M1", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1", "VALUE:IV" ], [ "T1NOS", "N2a", "M1", "VALUE:IV" ], [ "T1NOS", "N2b", "M1", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1", "VALUE:IV" ], [ "T1NOS", "N3a", "M1", "VALUE:IV" ], [ "T1NOS", "N3b", "M1", "VALUE:IV" ], [ "T1NOS", "N3c", "M1", "VALUE:IV" ], [ "T1NOS", "N3NOS", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N0(i-)", "M1", "VALUE:IV" ], [ "T2", "N0(i+)", "M1", "VALUE:IV" ], [ "T2", "N0(mol-)", "M1", "VALUE:IV" ], [ "T2", "N0(mol+)", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N1a", "M1", "VALUE:IV" ], [ "T2", "N1b", "M1", "VALUE:IV" ], [ "T2", "N1c", "M1", "VALUE:IV" ], [ "T2", "N1mi", "M1", "VALUE:IV" ], [ "T2", "N1NOS", "M1", "VALUE:IV" ], [ "T2", "N2a", "M1", "VALUE:IV" ], [ "T2", "N2b", "M1", "VALUE:IV" ], [ "T2", "N2NOS", "M1", "VALUE:IV" ], [ "T2", "N3a", "M1", "VALUE:IV" ], [ "T2", "N3b", "M1", "VALUE:IV" ], [ "T2", "N3c", "M1", "VALUE:IV" ], [ "T2", "N3NOS", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N0(i-)", "M1", "VALUE:IV" ], [ "T3", "N0(i+)", "M1", "VALUE:IV" ], [ "T3", "N0(mol-)", "M1", "VALUE:IV" ], [ "T3", "N0(mol+)", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N1a", "M1", "VALUE:IV" ], [ "T3", "N1b", "M1", "VALUE:IV" ], [ "T3", "N1c", "M1", "VALUE:IV" ], [ "T3", "N1mi", "M1", "VALUE:IV" ], [ "T3", "N1NOS", "M1", "VALUE:IV" ], [ "T3", "N2a", "M1", "VALUE:IV" ], [ "T3", "N2b", "M1", "VALUE:IV" ], [ "T3", "N2NOS", "M1", "VALUE:IV" ], [ "T3", "N3a", "M1", "VALUE:IV" ], [ "T3", "N3b", "M1", "VALUE:IV" ], [ "T3", "N3c", "M1", "VALUE:IV" ], [ "T3", "N3NOS", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4a", "N0", "M1", "VALUE:IV" ], [ "T4a", "N0(i-)", "M1", "VALUE:IV" ], [ "T4a", "N0(i+)", "M1", "VALUE:IV" ], [ "T4a", "N0(mol-)", "M1", "VALUE:IV" ], [ "T4a", "N0(mol+)", "M1", "VALUE:IV" ], [ "T4a", "N1", "M1", "VALUE:IV" ], [ "T4a", "N1a", "M1", "VALUE:IV" ], [ "T4a", "N1b", "M1", "VALUE:IV" ], [ "T4a", "N1c", "M1", "VALUE:IV" ], [ "T4a", "N1mi", "M1", "VALUE:IV" ], [ "T4a", "N1NOS", "M1", "VALUE:IV" ], [ "T4a", "N2a", "M1", "VALUE:IV" ], [ "T4a", "N2b", "M1", "VALUE:IV" ], [ "T4a", "N2NOS", "M1", "VALUE:IV" ], [ "T4a", "N3a", "M1", "VALUE:IV" ], [ "T4a", "N3b", "M1", "VALUE:IV" ], [ "T4a", "N3c", "M1", "VALUE:IV" ], [ "T4a", "N3NOS", "M1", "VALUE:IV" ], [ "T4a", "NX", "M1", "VALUE:IV" ], [ "T4b", "N0", "M1", "VALUE:IV" ], [ "T4b", "N0(i-)", "M1", "VALUE:IV" ], [ "T4b", "N0(i+)", "M1", "VALUE:IV" ], [ "T4b", "N0(mol-)", "M1", "VALUE:IV" ], [ "T4b", "N0(mol+)", "M1", "VALUE:IV" ], [ "T4b", "N1", "M1", "VALUE:IV" ], [ "T4b", "N1a", "M1", "VALUE:IV" ], [ "T4b", "N1b", "M1", "VALUE:IV" ], [ "T4b", "N1c", "M1", "VALUE:IV" ], [ "T4b", "N1mi", "M1", "VALUE:IV" ], [ "T4b", "N1NOS", "M1", "VALUE:IV" ], [ "T4b", "N2a", "M1", "VALUE:IV" ], [ "T4b", "N2b", "M1", "VALUE:IV" ], [ "T4b", "N2NOS", "M1", "VALUE:IV" ], [ "T4b", "N3a", "M1", "VALUE:IV" ], [ "T4b", "N3b", "M1", "VALUE:IV" ], [ "T4b", "N3c", "M1", "VALUE:IV" ], [ "T4b", "N3NOS", "M1", "VALUE:IV" ], [ "T4b", "NX", "M1", "VALUE:IV" ], [ "T4c", "N0", "M1", "VALUE:IV" ], [ "T4c", "N0(i-)", "M1", "VALUE:IV" ], [ "T4c", "N0(i+)", "M1", "VALUE:IV" ], [ "T4c", "N0(mol-)", "M1", "VALUE:IV" ], [ "T4c", "N0(mol+)", "M1", "VALUE:IV" ], [ "T4c", "N1", "M1", "VALUE:IV" ], [ "T4c", "N1a", "M1", "VALUE:IV" ], [ "T4c", "N1b", "M1", "VALUE:IV" ], [ "T4c", "N1c", "M1", "VALUE:IV" ], [ "T4c", "N1mi", "M1", "VALUE:IV" ], [ "T4c", "N1NOS", "M1", "VALUE:IV" ], [ "T4c", "N2a", "M1", "VALUE:IV" ], [ "T4c", "N2b", "M1", "VALUE:IV" ], [ "T4c", "N2NOS", "M1", "VALUE:IV" ], [ "T4c", "N3a", "M1", "VALUE:IV" ], [ "T4c", "N3b", "M1", "VALUE:IV" ], [ "T4c", "N3c", "M1", "VALUE:IV" ], [ "T4c", "N3NOS", "M1", "VALUE:IV" ], [ "T4c", "NX", "M1", "VALUE:IV" ], [ "T4d", "N0", "M1", "VALUE:IV" ], [ "T4d", "N0(i-)", "M1", "VALUE:IV" ], [ "T4d", "N0(i+)", "M1", "VALUE:IV" ], [ "T4d", "N0(mol-)", "M1", "VALUE:IV" ], [ "T4d", "N0(mol+)", "M1", "VALUE:IV" ], [ "T4d", "N1", "M1", "VALUE:IV" ], [ "T4d", "N1a", "M1", "VALUE:IV" ], [ "T4d", "N1b", "M1", "VALUE:IV" ], [ "T4d", "N1c", "M1", "VALUE:IV" ], [ "T4d", "N1mi", "M1", "VALUE:IV" ], [ "T4d", "N1NOS", "M1", "VALUE:IV" ], [ "T4d", "N2a", "M1", "VALUE:IV" ], [ "T4d", "N2b", "M1", "VALUE:IV" ], [ "T4d", "N2NOS", "M1", "VALUE:IV" ], [ "T4d", "N3a", "M1", "VALUE:IV" ], [ "T4d", "N3b", "M1", "VALUE:IV" ], [ "T4d", "N3c", "M1", "VALUE:IV" ], [ "T4d", "N3NOS", "M1", "VALUE:IV" ], [ "T4d", "NX", "M1", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "VALUE:IV" ], [ "T4NOS", "N0(i-)", "M1", "VALUE:IV" ], [ "T4NOS", "N0(i+)", "M1", "VALUE:IV" ], [ "T4NOS", "N0(mol-)", "M1", "VALUE:IV" ], [ "T4NOS", "N0(mol+)", "M1", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "VALUE:IV" ], [ "T4NOS", "N1a", "M1", "VALUE:IV" ], [ "T4NOS", "N1b", "M1", "VALUE:IV" ], [ "T4NOS", "N1c", "M1", "VALUE:IV" ], [ "T4NOS", "N1mi", "M1", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1", "VALUE:IV" ], [ "T4NOS", "N2a", "M1", "VALUE:IV" ], [ "T4NOS", "N2b", "M1", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1", "VALUE:IV" ], [ "T4NOS", "N3a", "M1", "VALUE:IV" ], [ "T4NOS", "N3b", "M1", "VALUE:IV" ], [ "T4NOS", "N3c", "M1", "VALUE:IV" ], [ "T4NOS", "N3NOS", "M1", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N0(i-)", "M1", "VALUE:IV" ], [ "TX", "N0(i+)", "M1", "VALUE:IV" ], [ "TX", "N0(mol-)", "M1", "VALUE:IV" ], [ "TX", "N0(mol+)", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N1a", "M1", "VALUE:IV" ], [ "TX", "N1b", "M1", "VALUE:IV" ], [ "TX", "N1c", "M1", "VALUE:IV" ], [ "TX", "N1mi", "M1", "VALUE:IV" ], [ "TX", "N1NOS", "M1", "VALUE:IV" ], [ "TX", "N2a", "M1", "VALUE:IV" ], [ "TX", "N2b", "M1", "VALUE:IV" ], [ "TX", "N2NOS", "M1", "VALUE:IV" ], [ "TX", "N3a", "M1", "VALUE:IV" ], [ "TX", "N3b", "M1", "VALUE:IV" ], [ "TX", "N3c", "M1", "VALUE:IV" ], [ "TX", "N3NOS", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N0(i-)", "MX", "VALUE:UNK" ], [ "T0", "N0(i+)", "MX", "VALUE:UNK" ], [ "T0", "N0(mol-)", "MX", "VALUE:UNK" ], [ "T0", "N0(mol+)", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N1a", "MX", "VALUE:UNK" ], [ "T0", "N1b", "MX", "VALUE:UNK" ], [ "T0", "N1c", "MX", "VALUE:UNK" ], [ "T0", "N1mi", "MX", "VALUE:UNK" ], [ "T0", "N1NOS", "MX", "VALUE:UNK" ], [ "T0", "N2a", "MX", "VALUE:UNK" ], [ "T0", "N2b", "MX", "VALUE:UNK" ], [ "T0", "N2NOS", "MX", "VALUE:UNK" ], [ "T0", "N3a", "MX", "VALUE:UNK" ], [ "T0", "N3b", "MX", "VALUE:UNK" ], [ "T0", "N3c", "MX", "VALUE:UNK" ], [ "T0", "N3NOS", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N0(i-)", "MX", "VALUE:0" ], [ "Tis", "N0(i+)", "MX", "VALUE:0" ], [ "Tis", "N0(mol-)", "MX", "VALUE:0" ], [ "Tis", "N0(mol+)", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "N1a", "MX", "ERROR:" ], [ "Tis", "N1b", "MX", "ERROR:" ], [ "Tis", "N1c", "MX", "ERROR:" ], [ "Tis", "N1mi", "MX", "ERROR:" ], [ "Tis", "N1NOS", "MX", "ERROR:" ], [ "Tis", "N2a", "MX", "ERROR:" ], [ "Tis", "N2b", "MX", "ERROR:" ], [ "Tis", "N2NOS", "MX", "ERROR:" ], [ "Tis", "N3a", "MX", "ERROR:" ], [ "Tis", "N3b", "MX", "ERROR:" ], [ "Tis", "N3c", "MX", "ERROR:" ], [ "Tis", "N3NOS", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1mi", "N0", "MX", "VALUE:UNK" ], [ "T1mi", "N0(i-)", "MX", "VALUE:UNK" ], [ "T1mi", "N0(i+)", "MX", "VALUE:UNK" ], [ "T1mi", "N0(mol-)", "MX", "VALUE:UNK" ], [ "T1mi", "N0(mol+)", "MX", "VALUE:UNK" ], [ "T1mi", "N1", "MX", "VALUE:UNK" ], [ "T1mi", "N1a", "MX", "VALUE:UNK" ], [ "T1mi", "N1b", "MX", "VALUE:UNK" ], [ "T1mi", "N1c", "MX", "VALUE:UNK" ], [ "T1mi", "N1mi", "MX", "VALUE:UNK" ], [ "T1mi", "N1NOS", "MX", "VALUE:UNK" ], [ "T1mi", "N2a", "MX", "VALUE:UNK" ], [ "T1mi", "N2b", "MX", "VALUE:UNK" ], [ "T1mi", "N2NOS", "MX", "VALUE:UNK" ], [ "T1mi", "N3a", "MX", "VALUE:UNK" ], [ "T1mi", "N3b", "MX", "VALUE:UNK" ], [ "T1mi", "N3c", "MX", "VALUE:UNK" ], [ "T1mi", "N3NOS", "MX", "VALUE:UNK" ], [ "T1mi", "NX", "MX", "VALUE:UNK" ], [ "T1a", "N0", "MX", "VALUE:UNK" ], [ "T1a", "N0(i-)", "MX", "VALUE:UNK" ], [ "T1a", "N0(i+)", "MX", "VALUE:UNK" ], [ "T1a", "N0(mol-)", "MX", "VALUE:UNK" ], [ "T1a", "N0(mol+)", "MX", "VALUE:UNK" ], [ "T1a", "N1", "MX", "VALUE:UNK" ], [ "T1a", "N1a", "MX", "VALUE:UNK" ], [ "T1a", "N1b", "MX", "VALUE:UNK" ], [ "T1a", "N1c", "MX", "VALUE:UNK" ], [ "T1a", "N1mi", "MX", "VALUE:UNK" ], [ "T1a", "N1NOS", "MX", "VALUE:UNK" ], [ "T1a", "N2a", "MX", "VALUE:UNK" ], [ "T1a", "N2b", "MX", "VALUE:UNK" ], [ "T1a", "N2NOS", "MX", "VALUE:UNK" ], [ "T1a", "N3a", "MX", "VALUE:UNK" ], [ "T1a", "N3b", "MX", "VALUE:UNK" ], [ "T1a", "N3c", "MX", "VALUE:UNK" ], [ "T1a", "N3NOS", "MX", "VALUE:UNK" ], [ "T1a", "NX", "MX", "VALUE:UNK" ], [ "T1b", "N0", "MX", "VALUE:UNK" ], [ "T1b", "N0(i-)", "MX", "VALUE:UNK" ], [ "T1b", "N0(i+)", "MX", "VALUE:UNK" ], [ "T1b", "N0(mol-)", "MX", "VALUE:UNK" ], [ "T1b", "N0(mol+)", "MX", "VALUE:UNK" ], [ "T1b", "N1", "MX", "VALUE:UNK" ], [ "T1b", "N1a", "MX", "VALUE:UNK" ], [ "T1b", "N1b", "MX", "VALUE:UNK" ], [ "T1b", "N1c", "MX", "VALUE:UNK" ], [ "T1b", "N1mi", "MX", "VALUE:UNK" ], [ "T1b", "N1NOS", "MX", "VALUE:UNK" ], [ "T1b", "N2a", "MX", "VALUE:UNK" ], [ "T1b", "N2b", "MX", "VALUE:UNK" ], [ "T1b", "N2NOS", "MX", "VALUE:UNK" ], [ "T1b", "N3a", "MX", "VALUE:UNK" ], [ "T1b", "N3b", "MX", "VALUE:UNK" ], [ "T1b", "N3c", "MX", "VALUE:UNK" ], [ "T1b", "N3NOS", "MX", "VALUE:UNK" ], [ "T1b", "NX", "MX", "VALUE:UNK" ], [ "T1c", "N0", "MX", "VALUE:UNK" ], [ "T1c", "N0(i-)", "MX", "VALUE:UNK" ], [ "T1c", "N0(i+)", "MX", "VALUE:UNK" ], [ "T1c", "N0(mol-)", "MX", "VALUE:UNK" ], [ "T1c", "N0(mol+)", "MX", "VALUE:UNK" ], [ "T1c", "N1", "MX", "VALUE:UNK" ], [ "T1c", "N1a", "MX", "VALUE:UNK" ], [ "T1c", "N1b", "MX", "VALUE:UNK" ], [ "T1c", "N1c", "MX", "VALUE:UNK" ], [ "T1c", "N1mi", "MX", "VALUE:UNK" ], [ "T1c", "N1NOS", "MX", "VALUE:UNK" ], [ "T1c", "N2a", "MX", "VALUE:UNK" ], [ "T1c", "N2b", "MX", "VALUE:UNK" ], [ "T1c", "N2NOS", "MX", "VALUE:UNK" ], [ "T1c", "N3a", "MX", "VALUE:UNK" ], [ "T1c", "N3b", "MX", "VALUE:UNK" ], [ "T1c", "N3c", "MX", "VALUE:UNK" ], [ "T1c", "N3NOS", "MX", "VALUE:UNK" ], [ "T1c", "NX", "MX", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "VALUE:UNK" ], [ "T1NOS", "N0(i-)", "MX", "VALUE:UNK" ], [ "T1NOS", "N0(i+)", "MX", "VALUE:UNK" ], [ "T1NOS", "N0(mol-)", "MX", "VALUE:UNK" ], [ "T1NOS", "N0(mol+)", "MX", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "VALUE:UNK" ], [ "T1NOS", "N1a", "MX", "VALUE:UNK" ], [ "T1NOS", "N1b", "MX", "VALUE:UNK" ], [ "T1NOS", "N1c", "MX", "VALUE:UNK" ], [ "T1NOS", "N1mi", "MX", "VALUE:UNK" ], [ "T1NOS", "N1NOS", "MX", "VALUE:UNK" ], [ "T1NOS", "N2a", "MX", "VALUE:UNK" ], [ "T1NOS", "N2b", "MX", "VALUE:UNK" ], [ "T1NOS", "N2NOS", "MX", "VALUE:UNK" ], [ "T1NOS", "N3a", "MX", "VALUE:UNK" ], [ "T1NOS", "N3b", "MX", "VALUE:UNK" ], [ "T1NOS", "N3c", "MX", "VALUE:UNK" ], [ "T1NOS", "N3NOS", "MX", "VALUE:UNK" ], [ "T1NOS", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N0(i-)", "MX", "VALUE:UNK" ], [ "T2", "N0(i+)", "MX", "VALUE:UNK" ], [ "T2", "N0(mol-)", "MX", "VALUE:UNK" ], [ "T2", "N0(mol+)", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "N1a", "MX", "VALUE:UNK" ], [ "T2", "N1b", "MX", "VALUE:UNK" ], [ "T2", "N1c", "MX", "VALUE:UNK" ], [ "T2", "N1mi", "MX", "VALUE:UNK" ], [ "T2", "N1NOS", "MX", "VALUE:UNK" ], [ "T2", "N2a", "MX", "VALUE:UNK" ], [ "T2", "N2b", "MX", "VALUE:UNK" ], [ "T2", "N2NOS", "MX", "VALUE:UNK" ], [ "T2", "N3a", "MX", "VALUE:UNK" ], [ "T2", "N3b", "MX", "VALUE:UNK" ], [ "T2", "N3c", "MX", "VALUE:UNK" ], [ "T2", "N3NOS", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N0(i-)", "MX", "VALUE:UNK" ], [ "T3", "N0(i+)", "MX", "VALUE:UNK" ], [ "T3", "N0(mol-)", "MX", "VALUE:UNK" ], [ "T3", "N0(mol+)", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N1a", "MX", "VALUE:UNK" ], [ "T3", "N1b", "MX", "VALUE:UNK" ], [ "T3", "N1c", "MX", "VALUE:UNK" ], [ "T3", "N1mi", "MX", "VALUE:UNK" ], [ "T3", "N1NOS", "MX", "VALUE:UNK" ], [ "T3", "N2a", "MX", "VALUE:UNK" ], [ "T3", "N2b", "MX", "VALUE:UNK" ], [ "T3", "N2NOS", "MX", "VALUE:UNK" ], [ "T3", "N3a", "MX", "VALUE:UNK" ], [ "T3", "N3b", "MX", "VALUE:UNK" ], [ "T3", "N3c", "MX", "VALUE:UNK" ], [ "T3", "N3NOS", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4a", "N0", "MX", "VALUE:UNK" ], [ "T4a", "N0(i-)", "MX", "VALUE:UNK" ], [ "T4a", "N0(i+)", "MX", "VALUE:UNK" ], [ "T4a", "N0(mol-)", "MX", "VALUE:UNK" ], [ "T4a", "N0(mol+)", "MX", "VALUE:UNK" ], [ "T4a", "N1", "MX", "VALUE:UNK" ], [ "T4a", "N1a", "MX", "VALUE:UNK" ], [ "T4a", "N1b", "MX", "VALUE:UNK" ], [ "T4a", "N1c", "MX", "VALUE:UNK" ], [ "T4a", "N1mi", "MX", "VALUE:UNK" ], [ "T4a", "N1NOS", "MX", "VALUE:UNK" ], [ "T4a", "N2a", "MX", "VALUE:UNK" ], [ "T4a", "N2b", "MX", "VALUE:UNK" ], [ "T4a", "N2NOS", "MX", "VALUE:UNK" ], [ "T4a", "N3a", "MX", "VALUE:UNK" ], [ "T4a", "N3b", "MX", "VALUE:UNK" ], [ "T4a", "N3c", "MX", "VALUE:UNK" ], [ "T4a", "N3NOS", "MX", "VALUE:UNK" ], [ "T4a", "NX", "MX", "VALUE:UNK" ], [ "T4b", "N0", "MX", "VALUE:UNK" ], [ "T4b", "N0(i-)", "MX", "VALUE:UNK" ], [ "T4b", "N0(i+)", "MX", "VALUE:UNK" ], [ "T4b", "N0(mol-)", "MX", "VALUE:UNK" ], [ "T4b", "N0(mol+)", "MX", "VALUE:UNK" ], [ "T4b", "N1", "MX", "VALUE:UNK" ], [ "T4b", "N1a", "MX", "VALUE:UNK" ], [ "T4b", "N1b", "MX", "VALUE:UNK" ], [ "T4b", "N1c", "MX", "VALUE:UNK" ], [ "T4b", "N1mi", "MX", "VALUE:UNK" ], [ "T4b", "N1NOS", "MX", "VALUE:UNK" ], [ "T4b", "N2a", "MX", "VALUE:UNK" ], [ "T4b", "N2b", "MX", "VALUE:UNK" ], [ "T4b", "N2NOS", "MX", "VALUE:UNK" ], [ "T4b", "N3a", "MX", "VALUE:UNK" ], [ "T4b", "N3b", "MX", "VALUE:UNK" ], [ "T4b", "N3c", "MX", "VALUE:UNK" ], [ "T4b", "N3NOS", "MX", "VALUE:UNK" ], [ "T4b", "NX", "MX", "VALUE:UNK" ], [ "T4c", "N0", "MX", "VALUE:UNK" ], [ "T4c", "N0(i-)", "MX", "VALUE:UNK" ], [ "T4c", "N0(i+)", "MX", "VALUE:UNK" ], [ "T4c", "N0(mol-)", "MX", "VALUE:UNK" ], [ "T4c", "N0(mol+)", "MX", "VALUE:UNK" ], [ "T4c", "N1", "MX", "VALUE:UNK" ], [ "T4c", "N1a", "MX", "VALUE:UNK" ], [ "T4c", "N1b", "MX", "VALUE:UNK" ], [ "T4c", "N1c", "MX", "VALUE:UNK" ], [ "T4c", "N1mi", "MX", "VALUE:UNK" ], [ "T4c", "N1NOS", "MX", "VALUE:UNK" ], [ "T4c", "N2a", "MX", "VALUE:UNK" ], [ "T4c", "N2b", "MX", "VALUE:UNK" ], [ "T4c", "N2NOS", "MX", "VALUE:UNK" ], [ "T4c", "N3a", "MX", "VALUE:UNK" ], [ "T4c", "N3b", "MX", "VALUE:UNK" ], [ "T4c", "N3c", "MX", "VALUE:UNK" ], [ "T4c", "N3NOS", "MX", "VALUE:UNK" ], [ "T4c", "NX", "MX", "VALUE:UNK" ], [ "T4d", "N0", "MX", "VALUE:UNK" ], [ "T4d", "N0(i-)", "MX", "VALUE:UNK" ], [ "T4d", "N0(i+)", "MX", "VALUE:UNK" ], [ "T4d", "N0(mol-)", "MX", "VALUE:UNK" ], [ "T4d", "N0(mol+)", "MX", "VALUE:UNK" ], [ "T4d", "N1", "MX", "VALUE:UNK" ], [ "T4d", "N1a", "MX", "VALUE:UNK" ], [ "T4d", "N1b", "MX", "VALUE:UNK" ], [ "T4d", "N1c", "MX", "VALUE:UNK" ], [ "T4d", "N1mi", "MX", "VALUE:UNK" ], [ "T4d", "N1NOS", "MX", "VALUE:UNK" ], [ "T4d", "N2a", "MX", "VALUE:UNK" ], [ "T4d", "N2b", "MX", "VALUE:UNK" ], [ "T4d", "N2NOS", "MX", "VALUE:UNK" ], [ "T4d", "N3a", "MX", "VALUE:UNK" ], [ "T4d", "N3b", "MX", "VALUE:UNK" ], [ "T4d", "N3c", "MX", "VALUE:UNK" ], [ "T4d", "N3NOS", "MX", "VALUE:UNK" ], [ "T4d", "NX", "MX", "VALUE:UNK" ], [ "T4NOS", "N0", "MX", "VALUE:UNK" ], [ "T4NOS", "N0(i-)", "MX", "VALUE:UNK" ], [ "T4NOS", "N0(i+)", "MX", "VALUE:UNK" ], [ "T4NOS", "N0(mol-)", "MX", "VALUE:UNK" ], [ "T4NOS", "N0(mol+)", "MX", "VALUE:UNK" ], [ "T4NOS", "N1", "MX", "VALUE:UNK" ], [ "T4NOS", "N1a", "MX", "VALUE:UNK" ], [ "T4NOS", "N1b", "MX", "VALUE:UNK" ], [ "T4NOS", "N1c", "MX", "VALUE:UNK" ], [ "T4NOS", "N1mi", "MX", "VALUE:UNK" ], [ "T4NOS", "N1NOS", "MX", "VALUE:UNK" ], [ "T4NOS", "N2a", "MX", "VALUE:UNK" ], [ "T4NOS", "N2b", "MX", "VALUE:UNK" ], [ "T4NOS", "N2NOS", "MX", "VALUE:UNK" ], [ "T4NOS", "N3a", "MX", "VALUE:UNK" ], [ "T4NOS", "N3b", "MX", "VALUE:UNK" ], [ "T4NOS", "N3c", "MX", "VALUE:UNK" ], [ "T4NOS", "N3NOS", "MX", "VALUE:UNK" ], [ "T4NOS", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N0(i-)", "MX", "VALUE:UNK" ], [ "TX", "N0(i+)", "MX", "VALUE:UNK" ], [ "TX", "N0(mol-)", "MX", "VALUE:UNK" ], [ "TX", "N0(mol+)", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N1a", "MX", "VALUE:UNK" ], [ "TX", "N1b", "MX", "VALUE:UNK" ], [ "TX", "N1c", "MX", "VALUE:UNK" ], [ "TX", "N1mi", "MX", "VALUE:UNK" ], [ "TX", "N1NOS", "MX", "VALUE:UNK" ], [ "TX", "N2a", "MX", "VALUE:UNK" ], [ "TX", "N2b", "MX", "VALUE:UNK" ], [ "TX", "N2NOS", "MX", "VALUE:UNK" ], [ "TX", "N3a", "MX", "VALUE:UNK" ], [ "TX", "N3b", "MX", "VALUE:UNK" ], [ "TX", "N3c", "MX", "VALUE:UNK" ], [ "TX", "N3NOS", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qag.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qag.json deleted file mode 100644 index acda515c3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qag.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qag", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:48.132Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N1", "M0", "VALUE:IIB" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IA" ], [ "T1b", "N1", "M0", "VALUE:IIB" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:IA" ], [ "T1NOS", "N1", "M0", "VALUE:IIB" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IB" ], [ "T2", "N1", "M0", "VALUE:IIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIA" ], [ "T3", "N1", "M0", "VALUE:IIB" ], [ "T3", "NX", "M0", "VALUE:IINOS" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1a", "N0", "MX", "VALUE:UNK" ], [ "T1a", "N1", "MX", "VALUE:UNK" ], [ "T1a", "NX", "MX", "VALUE:UNK" ], [ "T1b", "N0", "MX", "VALUE:UNK" ], [ "T1b", "N1", "MX", "VALUE:UNK" ], [ "T1b", "NX", "MX", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "VALUE:UNK" ], [ "T1NOS", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qah.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qah.json deleted file mode 100644 index 98812f2e6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qah.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qah", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:48.187Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IIA" ], [ "T2", "N1", "M0", "VALUE:IIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIA" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1a", "VALUE:IVA" ], [ "T0", "N1", "M1a", "VALUE:IVA" ], [ "T0", "NX", "M1a", "VALUE:IVA" ], [ "Tis", "N0", "M1a", "ERROR:" ], [ "Tis", "N1", "M1a", "ERROR:" ], [ "Tis", "NX", "M1a", "ERROR:" ], [ "T1", "N0", "M1a", "VALUE:IVA" ], [ "T1", "N1", "M1a", "VALUE:IVA" ], [ "T1", "NX", "M1a", "VALUE:IVA" ], [ "T2", "N0", "M1a", "VALUE:IVA" ], [ "T2", "N1", "M1a", "VALUE:IVA" ], [ "T2", "NX", "M1a", "VALUE:IVA" ], [ "T3", "N0", "M1a", "VALUE:IVA" ], [ "T3", "N1", "M1a", "VALUE:IVA" ], [ "T3", "NX", "M1a", "VALUE:IVA" ], [ "T4", "N0", "M1a", "VALUE:IVA" ], [ "T4", "N1", "M1a", "VALUE:IVA" ], [ "T4", "NX", "M1a", "VALUE:IVA" ], [ "TX", "N0", "M1a", "VALUE:IVA" ], [ "TX", "N1", "M1a", "VALUE:IVA" ], [ "TX", "NX", "M1a", "VALUE:IVA" ], [ "T0", "N0", "M1b", "VALUE:IVB" ], [ "T0", "N1", "M1b", "VALUE:IVB" ], [ "T0", "NX", "M1b", "VALUE:IVB" ], [ "Tis", "N0", "M1b", "ERROR:" ], [ "Tis", "N1", "M1b", "ERROR:" ], [ "Tis", "NX", "M1b", "ERROR:" ], [ "T1", "N0", "M1b", "VALUE:IVB" ], [ "T1", "N1", "M1b", "VALUE:IVB" ], [ "T1", "NX", "M1b", "VALUE:IVB" ], [ "T2", "N0", "M1b", "VALUE:IVB" ], [ "T2", "N1", "M1b", "VALUE:IVB" ], [ "T2", "NX", "M1b", "VALUE:IVB" ], [ "T3", "N0", "M1b", "VALUE:IVB" ], [ "T3", "N1", "M1b", "VALUE:IVB" ], [ "T3", "NX", "M1b", "VALUE:IVB" ], [ "T4", "N0", "M1b", "VALUE:IVB" ], [ "T4", "N1", "M1b", "VALUE:IVB" ], [ "T4", "NX", "M1b", "VALUE:IVB" ], [ "TX", "N0", "M1b", "VALUE:IVB" ], [ "TX", "N1", "M1b", "VALUE:IVB" ], [ "TX", "NX", "M1b", "VALUE:IVB" ], [ "T0", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T0", "N1", "M1NOS", "VALUE:IVNOS" ], [ "T0", "NX", "M1NOS", "VALUE:IVNOS" ], [ "Tis", "N0", "M1NOS", "ERROR:" ], [ "Tis", "N1", "M1NOS", "ERROR:" ], [ "Tis", "NX", "M1NOS", "ERROR:" ], [ "T1", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T1", "N1", "M1NOS", "VALUE:IVNOS" ], [ "T1", "NX", "M1NOS", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T2", "N1", "M1NOS", "VALUE:IVNOS" ], [ "T2", "NX", "M1NOS", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T3", "N1", "M1NOS", "VALUE:IVNOS" ], [ "T3", "NX", "M1NOS", "VALUE:IVNOS" ], [ "T4", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T4", "N1", "M1NOS", "VALUE:IVNOS" ], [ "T4", "NX", "M1NOS", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "VALUE:IVNOS" ], [ "TX", "N1", "M1NOS", "VALUE:IVNOS" ], [ "TX", "NX", "M1NOS", "VALUE:IVNOS" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj.json deleted file mode 100644 index 8f637bb84..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "ajcc6_stage_qaj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "footnotes" : "- For T1a N0 M0, stage is based on grade as follows: if grade is 1, stage is I; if grade is 2, 3, or 4, stage is II; if grade is 9, stage is UNK.", - "last_modified" : "2015-05-27T16:18:48.244Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "JUMP:ajcc6_stage_qaj_grade" ], [ "T1a", "N1", "M0", "VALUE:IV" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:II" ], [ "T1b", "N1", "M0", "VALUE:IV" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1c", "N0", "M0", "VALUE:II" ], [ "T1c", "N1", "M0", "VALUE:IV" ], [ "T1c", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:II" ], [ "T1NOS", "N1", "M0", "VALUE:IV" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:II" ], [ "T2a", "N1", "M0", "VALUE:IV" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:II" ], [ "T2b", "N1", "M0", "VALUE:IV" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2c", "N0", "M0", "VALUE:II" ], [ "T2c", "N1", "M0", "VALUE:IV" ], [ "T2c", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:II" ], [ "T2NOS", "N1", "M0", "VALUE:IV" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:III" ], [ "T3a", "N1", "M0", "VALUE:IV" ], [ "T3a", "NX", "M0", "VALUE:UNK" ], [ "T3b", "N0", "M0", "VALUE:III" ], [ "T3b", "N1", "M0", "VALUE:IV" ], [ "T3b", "NX", "M0", "VALUE:UNK" ], [ "T3NOS", "N0", "M0", "VALUE:III" ], [ "T3NOS", "N1", "M0", "VALUE:IV" ], [ "T3NOS", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IV" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:IV" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1a", "VALUE:IV" ], [ "T0", "N1", "M1a", "VALUE:IV" ], [ "T0", "NX", "M1a", "VALUE:IV" ], [ "T1a", "N0", "M1a", "VALUE:IV" ], [ "T1a", "N1", "M1a", "VALUE:IV" ], [ "T1a", "NX", "M1a", "VALUE:IV" ], [ "T1b", "N0", "M1a", "VALUE:IV" ], [ "T1b", "N1", "M1a", "VALUE:IV" ], [ "T1b", "NX", "M1a", "VALUE:IV" ], [ "T1c", "N0", "M1a", "VALUE:IV" ], [ "T1c", "N1", "M1a", "VALUE:IV" ], [ "T1c", "NX", "M1a", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "VALUE:IV" ], [ "T2a", "N0", "M1a", "VALUE:IV" ], [ "T2a", "N1", "M1a", "VALUE:IV" ], [ "T2a", "NX", "M1a", "VALUE:IV" ], [ "T2b", "N0", "M1a", "VALUE:IV" ], [ "T2b", "N1", "M1a", "VALUE:IV" ], [ "T2b", "NX", "M1a", "VALUE:IV" ], [ "T2c", "N0", "M1a", "VALUE:IV" ], [ "T2c", "N1", "M1a", "VALUE:IV" ], [ "T2c", "NX", "M1a", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "VALUE:IV" ], [ "T3a", "N0", "M1a", "VALUE:IV" ], [ "T3a", "N1", "M1a", "VALUE:IV" ], [ "T3a", "NX", "M1a", "VALUE:IV" ], [ "T3b", "N0", "M1a", "VALUE:IV" ], [ "T3b", "N1", "M1a", "VALUE:IV" ], [ "T3b", "NX", "M1a", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "VALUE:IV" ], [ "T4", "N0", "M1a", "VALUE:IV" ], [ "T4", "N1", "M1a", "VALUE:IV" ], [ "T4", "NX", "M1a", "VALUE:IV" ], [ "TX", "N0", "M1a", "VALUE:IV" ], [ "TX", "N1", "M1a", "VALUE:IV" ], [ "TX", "NX", "M1a", "VALUE:IV" ], [ "T0", "N0", "M1b", "VALUE:IV" ], [ "T0", "N1", "M1b", "VALUE:IV" ], [ "T0", "NX", "M1b", "VALUE:IV" ], [ "T1a", "N0", "M1b", "VALUE:IV" ], [ "T1a", "N1", "M1b", "VALUE:IV" ], [ "T1a", "NX", "M1b", "VALUE:IV" ], [ "T1b", "N0", "M1b", "VALUE:IV" ], [ "T1b", "N1", "M1b", "VALUE:IV" ], [ "T1b", "NX", "M1b", "VALUE:IV" ], [ "T1c", "N0", "M1b", "VALUE:IV" ], [ "T1c", "N1", "M1b", "VALUE:IV" ], [ "T1c", "NX", "M1b", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "VALUE:IV" ], [ "T2a", "N0", "M1b", "VALUE:IV" ], [ "T2a", "N1", "M1b", "VALUE:IV" ], [ "T2a", "NX", "M1b", "VALUE:IV" ], [ "T2b", "N0", "M1b", "VALUE:IV" ], [ "T2b", "N1", "M1b", "VALUE:IV" ], [ "T2b", "NX", "M1b", "VALUE:IV" ], [ "T2c", "N0", "M1b", "VALUE:IV" ], [ "T2c", "N1", "M1b", "VALUE:IV" ], [ "T2c", "NX", "M1b", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "VALUE:IV" ], [ "T3a", "N0", "M1b", "VALUE:IV" ], [ "T3a", "N1", "M1b", "VALUE:IV" ], [ "T3a", "NX", "M1b", "VALUE:IV" ], [ "T3b", "N0", "M1b", "VALUE:IV" ], [ "T3b", "N1", "M1b", "VALUE:IV" ], [ "T3b", "NX", "M1b", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "VALUE:IV" ], [ "T4", "N0", "M1b", "VALUE:IV" ], [ "T4", "N1", "M1b", "VALUE:IV" ], [ "T4", "NX", "M1b", "VALUE:IV" ], [ "TX", "N0", "M1b", "VALUE:IV" ], [ "TX", "N1", "M1b", "VALUE:IV" ], [ "TX", "NX", "M1b", "VALUE:IV" ], [ "T0", "N0", "M1c", "VALUE:IV" ], [ "T0", "N1", "M1c", "VALUE:IV" ], [ "T0", "NX", "M1c", "VALUE:IV" ], [ "T1a", "N0", "M1c", "VALUE:IV" ], [ "T1a", "N1", "M1c", "VALUE:IV" ], [ "T1a", "NX", "M1c", "VALUE:IV" ], [ "T1b", "N0", "M1c", "VALUE:IV" ], [ "T1b", "N1", "M1c", "VALUE:IV" ], [ "T1b", "NX", "M1c", "VALUE:IV" ], [ "T1c", "N0", "M1c", "VALUE:IV" ], [ "T1c", "N1", "M1c", "VALUE:IV" ], [ "T1c", "NX", "M1c", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "VALUE:IV" ], [ "T2a", "N0", "M1c", "VALUE:IV" ], [ "T2a", "N1", "M1c", "VALUE:IV" ], [ "T2a", "NX", "M1c", "VALUE:IV" ], [ "T2b", "N0", "M1c", "VALUE:IV" ], [ "T2b", "N1", "M1c", "VALUE:IV" ], [ "T2b", "NX", "M1c", "VALUE:IV" ], [ "T2c", "N0", "M1c", "VALUE:IV" ], [ "T2c", "N1", "M1c", "VALUE:IV" ], [ "T2c", "NX", "M1c", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "VALUE:IV" ], [ "T3a", "N0", "M1c", "VALUE:IV" ], [ "T3a", "N1", "M1c", "VALUE:IV" ], [ "T3a", "NX", "M1c", "VALUE:IV" ], [ "T3b", "N0", "M1c", "VALUE:IV" ], [ "T3b", "N1", "M1c", "VALUE:IV" ], [ "T3b", "NX", "M1c", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "VALUE:IV" ], [ "T4", "N0", "M1c", "VALUE:IV" ], [ "T4", "N1", "M1c", "VALUE:IV" ], [ "T4", "NX", "M1c", "VALUE:IV" ], [ "TX", "N0", "M1c", "VALUE:IV" ], [ "TX", "N1", "M1c", "VALUE:IV" ], [ "TX", "NX", "M1c", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:IV" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "T1a", "N0", "MX", "VALUE:UNK" ], [ "T1a", "N1", "MX", "VALUE:IV" ], [ "T1a", "NX", "MX", "VALUE:UNK" ], [ "T1b", "N0", "MX", "VALUE:UNK" ], [ "T1b", "N1", "MX", "VALUE:IV" ], [ "T1b", "NX", "MX", "VALUE:UNK" ], [ "T1c", "N0", "MX", "VALUE:UNK" ], [ "T1c", "N1", "MX", "VALUE:IV" ], [ "T1c", "NX", "MX", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "VALUE:IV" ], [ "T1NOS", "NX", "MX", "VALUE:UNK" ], [ "T2a", "N0", "MX", "VALUE:UNK" ], [ "T2a", "N1", "MX", "VALUE:IV" ], [ "T2a", "NX", "MX", "VALUE:UNK" ], [ "T2b", "N0", "MX", "VALUE:UNK" ], [ "T2b", "N1", "MX", "VALUE:IV" ], [ "T2b", "NX", "MX", "VALUE:UNK" ], [ "T2c", "N0", "MX", "VALUE:UNK" ], [ "T2c", "N1", "MX", "VALUE:IV" ], [ "T2c", "NX", "MX", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "VALUE:UNK" ], [ "T2NOS", "N1", "MX", "VALUE:IV" ], [ "T2NOS", "NX", "MX", "VALUE:UNK" ], [ "T3a", "N0", "MX", "VALUE:UNK" ], [ "T3a", "N1", "MX", "VALUE:IV" ], [ "T3a", "NX", "MX", "VALUE:UNK" ], [ "T3b", "N0", "MX", "VALUE:UNK" ], [ "T3b", "N1", "MX", "VALUE:IV" ], [ "T3b", "NX", "MX", "VALUE:UNK" ], [ "T3NOS", "N0", "MX", "VALUE:UNK" ], [ "T3NOS", "N1", "MX", "VALUE:IV" ], [ "T3NOS", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:IV" ], [ "T4", "N1", "MX", "VALUE:IV" ], [ "T4", "NX", "MX", "VALUE:IV" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:IV" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj_grade.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj_grade.json deleted file mode 100644 index 70c0271ee..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaj_grade.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ajcc6_stage_qaj_grade", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage - Footnote", - "title" : "AJCC TNM 6 Stage - Footnote: Stage Group determined by Grade", - "footnotes" : "- For T1a N0 M0, stage is based on grade as follows: if grade is 1, stage is I; if grade is 2, 3, or 4, stage is II; if grade is 9, stage is UNK.", - "last_modified" : "2015-05-27T16:18:48.314Z", - "definition" : [ { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "1", "VALUE:I" ], [ "2,3,4", "VALUE:II" ], [ "9", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qak.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qak.json deleted file mode 100644 index 07226bc52..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qak.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qak", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:48.363Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:UNK" ], [ "T0", "N2", "M0", "VALUE:UNK" ], [ "T0", "N3a", "M0", "VALUE:IVB" ], [ "T0", "N3b", "M0", "VALUE:IVB" ], [ "T0", "N3NOS", "M0", "VALUE:IVB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "N3a", "M0", "ERROR:" ], [ "Tis", "N3b", "M0", "ERROR:" ], [ "Tis", "N3NOS", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IIB" ], [ "T1", "N2", "M0", "VALUE:III" ], [ "T1", "N3a", "M0", "VALUE:IVB" ], [ "T1", "N3b", "M0", "VALUE:IVB" ], [ "T1", "N3NOS", "M0", "VALUE:IVB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:IIA" ], [ "T2a", "N1", "M0", "VALUE:IIB" ], [ "T2a", "N2", "M0", "VALUE:III" ], [ "T2a", "N3a", "M0", "VALUE:IVB" ], [ "T2a", "N3b", "M0", "VALUE:IVB" ], [ "T2a", "N3NOS", "M0", "VALUE:IVB" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:IIB" ], [ "T2b", "N1", "M0", "VALUE:IIB" ], [ "T2b", "N2", "M0", "VALUE:III" ], [ "T2b", "N3a", "M0", "VALUE:IVB" ], [ "T2b", "N3b", "M0", "VALUE:IVB" ], [ "T2b", "N3NOS", "M0", "VALUE:IVB" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:IINOS" ], [ "T2NOS", "N1", "M0", "VALUE:IIB" ], [ "T2NOS", "N2", "M0", "VALUE:III" ], [ "T2NOS", "N3a", "M0", "VALUE:IVB" ], [ "T2NOS", "N3b", "M0", "VALUE:IVB" ], [ "T2NOS", "N3NOS", "M0", "VALUE:IVB" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2", "M0", "VALUE:III" ], [ "T3", "N3a", "M0", "VALUE:IVB" ], [ "T3", "N3b", "M0", "VALUE:IVB" ], [ "T3", "N3NOS", "M0", "VALUE:IVB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IVA" ], [ "T4", "N1", "M0", "VALUE:IVA" ], [ "T4", "N2", "M0", "VALUE:IVA" ], [ "T4", "N3a", "M0", "VALUE:IVB" ], [ "T4", "N3b", "M0", "VALUE:IVB" ], [ "T4", "N3NOS", "M0", "VALUE:IVB" ], [ "T4", "NX", "M0", "VALUE:IVNOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:UNK" ], [ "TX", "N3a", "M0", "VALUE:IVB" ], [ "TX", "N3b", "M0", "VALUE:IVB" ], [ "TX", "N3NOS", "M0", "VALUE:IVB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVC" ], [ "T0", "N1", "M1", "VALUE:IVC" ], [ "T0", "N2", "M1", "VALUE:IVC" ], [ "T0", "N3a", "M1", "VALUE:IVC" ], [ "T0", "N3b", "M1", "VALUE:IVC" ], [ "T0", "N3NOS", "M1", "VALUE:IVC" ], [ "T0", "NX", "M1", "VALUE:IVC" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "N3a", "M1", "ERROR:" ], [ "Tis", "N3b", "M1", "ERROR:" ], [ "Tis", "N3NOS", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IVC" ], [ "T1", "N1", "M1", "VALUE:IVC" ], [ "T1", "N2", "M1", "VALUE:IVC" ], [ "T1", "N3a", "M1", "VALUE:IVC" ], [ "T1", "N3b", "M1", "VALUE:IVC" ], [ "T1", "N3NOS", "M1", "VALUE:IVC" ], [ "T1", "NX", "M1", "VALUE:IVC" ], [ "T2a", "N0", "M1", "VALUE:IVC" ], [ "T2a", "N1", "M1", "VALUE:IVC" ], [ "T2a", "N2", "M1", "VALUE:IVC" ], [ "T2a", "N3a", "M1", "VALUE:IVC" ], [ "T2a", "N3b", "M1", "VALUE:IVC" ], [ "T2a", "N3NOS", "M1", "VALUE:IVC" ], [ "T2a", "NX", "M1", "VALUE:IVC" ], [ "T2b", "N0", "M1", "VALUE:IVC" ], [ "T2b", "N1", "M1", "VALUE:IVC" ], [ "T2b", "N2", "M1", "VALUE:IVC" ], [ "T2b", "N3a", "M1", "VALUE:IVC" ], [ "T2b", "N3b", "M1", "VALUE:IVC" ], [ "T2b", "N3NOS", "M1", "VALUE:IVC" ], [ "T2b", "NX", "M1", "VALUE:IVC" ], [ "T2NOS", "N0", "M1", "VALUE:IVC" ], [ "T2NOS", "N1", "M1", "VALUE:IVC" ], [ "T2NOS", "N2", "M1", "VALUE:IVC" ], [ "T2NOS", "N3a", "M1", "VALUE:IVC" ], [ "T2NOS", "N3b", "M1", "VALUE:IVC" ], [ "T2NOS", "N3NOS", "M1", "VALUE:IVC" ], [ "T2NOS", "NX", "M1", "VALUE:IVC" ], [ "T3", "N0", "M1", "VALUE:IVC" ], [ "T3", "N1", "M1", "VALUE:IVC" ], [ "T3", "N2", "M1", "VALUE:IVC" ], [ "T3", "N3a", "M1", "VALUE:IVC" ], [ "T3", "N3b", "M1", "VALUE:IVC" ], [ "T3", "N3NOS", "M1", "VALUE:IVC" ], [ "T3", "NX", "M1", "VALUE:IVC" ], [ "T4", "N0", "M1", "VALUE:IVC" ], [ "T4", "N1", "M1", "VALUE:IVC" ], [ "T4", "N2", "M1", "VALUE:IVC" ], [ "T4", "N3a", "M1", "VALUE:IVC" ], [ "T4", "N3b", "M1", "VALUE:IVC" ], [ "T4", "N3NOS", "M1", "VALUE:IVC" ], [ "T4", "NX", "M1", "VALUE:IVC" ], [ "TX", "N0", "M1", "VALUE:IVC" ], [ "TX", "N1", "M1", "VALUE:IVC" ], [ "TX", "N2", "M1", "VALUE:IVC" ], [ "TX", "N3a", "M1", "VALUE:IVC" ], [ "TX", "N3b", "M1", "VALUE:IVC" ], [ "TX", "N3NOS", "M1", "VALUE:IVC" ], [ "TX", "NX", "M1", "VALUE:IVC" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2", "MX", "VALUE:UNK" ], [ "T0", "N3a", "MX", "VALUE:IVNOS" ], [ "T0", "N3b", "MX", "VALUE:IVNOS" ], [ "T0", "N3NOS", "MX", "VALUE:IVNOS" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "N2", "MX", "ERROR:" ], [ "Tis", "N3a", "MX", "ERROR:" ], [ "Tis", "N3b", "MX", "ERROR:" ], [ "Tis", "N3NOS", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "N2", "MX", "VALUE:UNK" ], [ "T1", "N3a", "MX", "VALUE:IVNOS" ], [ "T1", "N3b", "MX", "VALUE:IVNOS" ], [ "T1", "N3NOS", "MX", "VALUE:IVNOS" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2a", "N0", "MX", "VALUE:UNK" ], [ "T2a", "N1", "MX", "VALUE:UNK" ], [ "T2a", "N2", "MX", "VALUE:UNK" ], [ "T2a", "N3a", "MX", "VALUE:IVNOS" ], [ "T2a", "N3b", "MX", "VALUE:IVNOS" ], [ "T2a", "N3NOS", "MX", "VALUE:IVNOS" ], [ "T2a", "NX", "MX", "VALUE:UNK" ], [ "T2b", "N0", "MX", "VALUE:UNK" ], [ "T2b", "N1", "MX", "VALUE:UNK" ], [ "T2b", "N2", "MX", "VALUE:UNK" ], [ "T2b", "N3a", "MX", "VALUE:IVNOS" ], [ "T2b", "N3b", "MX", "VALUE:IVNOS" ], [ "T2b", "N3NOS", "MX", "VALUE:IVNOS" ], [ "T2b", "NX", "MX", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "VALUE:UNK" ], [ "T2NOS", "N1", "MX", "VALUE:UNK" ], [ "T2NOS", "N2", "MX", "VALUE:UNK" ], [ "T2NOS", "N3a", "MX", "VALUE:IVNOS" ], [ "T2NOS", "N3b", "MX", "VALUE:IVNOS" ], [ "T2NOS", "N3NOS", "MX", "VALUE:IVNOS" ], [ "T2NOS", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N2", "MX", "VALUE:UNK" ], [ "T3", "N3a", "MX", "VALUE:IVNOS" ], [ "T3", "N3b", "MX", "VALUE:IVNOS" ], [ "T3", "N3NOS", "MX", "VALUE:IVNOS" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:IVNOS" ], [ "T4", "N1", "MX", "VALUE:IVNOS" ], [ "T4", "N2", "MX", "VALUE:IVNOS" ], [ "T4", "N3a", "MX", "VALUE:IVNOS" ], [ "T4", "N3b", "MX", "VALUE:IVNOS" ], [ "T4", "N3NOS", "MX", "VALUE:IVNOS" ], [ "T4", "NX", "MX", "VALUE:IVNOS" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2", "MX", "VALUE:UNK" ], [ "TX", "N3a", "MX", "VALUE:IVNOS" ], [ "TX", "N3b", "MX", "VALUE:IVNOS" ], [ "TX", "N3NOS", "MX", "VALUE:IVNOS" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qal.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qal.json deleted file mode 100644 index 5d7ac635e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qal.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qal", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:48.425Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "N2", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N1", "M0", "VALUE:III" ], [ "T1a", "N2", "M0", "VALUE:IV" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:I" ], [ "T1b", "N1", "M0", "VALUE:III" ], [ "T1b", "N2", "M0", "VALUE:IV" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N1", "M0", "VALUE:III" ], [ "T1NOS", "N2", "M0", "VALUE:IV" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "N2", "M0", "VALUE:IV" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:III" ], [ "T3a", "N1", "M0", "VALUE:III" ], [ "T3a", "N2", "M0", "VALUE:IV" ], [ "T3a", "NX", "M0", "VALUE:UNK" ], [ "T3b", "N0", "M0", "VALUE:III" ], [ "T3b", "N1", "M0", "VALUE:III" ], [ "T3b", "N2", "M0", "VALUE:IV" ], [ "T3b", "NX", "M0", "VALUE:UNK" ], [ "T3c", "N0", "M0", "VALUE:III" ], [ "T3c", "N1", "M0", "VALUE:III" ], [ "T3c", "N2", "M0", "VALUE:IV" ], [ "T3c", "NX", "M0", "VALUE:UNK" ], [ "T3NOS", "N0", "M0", "VALUE:III" ], [ "T3NOS", "N1", "M0", "VALUE:III" ], [ "T3NOS", "N2", "M0", "VALUE:IV" ], [ "T3NOS", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IV" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "N2", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:IV" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "N2", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "N2", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3a", "N0", "M1", "VALUE:IV" ], [ "T3a", "N1", "M1", "VALUE:IV" ], [ "T3a", "N2", "M1", "VALUE:IV" ], [ "T3a", "NX", "M1", "VALUE:IV" ], [ "T3b", "N0", "M1", "VALUE:IV" ], [ "T3b", "N1", "M1", "VALUE:IV" ], [ "T3b", "N2", "M1", "VALUE:IV" ], [ "T3b", "NX", "M1", "VALUE:IV" ], [ "T3c", "N0", "M1", "VALUE:IV" ], [ "T3c", "N1", "M1", "VALUE:IV" ], [ "T3c", "N2", "M1", "VALUE:IV" ], [ "T3c", "NX", "M1", "VALUE:IV" ], [ "T3NOS", "N0", "M1", "VALUE:IV" ], [ "T3NOS", "N1", "M1", "VALUE:IV" ], [ "T3NOS", "N2", "M1", "VALUE:IV" ], [ "T3NOS", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2", "MX", "VALUE:IV" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "T1a", "N0", "MX", "VALUE:UNK" ], [ "T1a", "N1", "MX", "VALUE:UNK" ], [ "T1a", "N2", "MX", "VALUE:IV" ], [ "T1a", "NX", "MX", "VALUE:UNK" ], [ "T1b", "N0", "MX", "VALUE:UNK" ], [ "T1b", "N1", "MX", "VALUE:UNK" ], [ "T1b", "N2", "MX", "VALUE:IV" ], [ "T1b", "NX", "MX", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "VALUE:UNK" ], [ "T1NOS", "N2", "MX", "VALUE:IV" ], [ "T1NOS", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "N2", "MX", "VALUE:IV" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3a", "N0", "MX", "VALUE:UNK" ], [ "T3a", "N1", "MX", "VALUE:UNK" ], [ "T3a", "N2", "MX", "VALUE:IV" ], [ "T3a", "NX", "MX", "VALUE:UNK" ], [ "T3b", "N0", "MX", "VALUE:UNK" ], [ "T3b", "N1", "MX", "VALUE:UNK" ], [ "T3b", "N2", "MX", "VALUE:IV" ], [ "T3b", "NX", "MX", "VALUE:UNK" ], [ "T3c", "N0", "MX", "VALUE:UNK" ], [ "T3c", "N1", "MX", "VALUE:UNK" ], [ "T3c", "N2", "MX", "VALUE:IV" ], [ "T3c", "NX", "MX", "VALUE:UNK" ], [ "T3NOS", "N0", "MX", "VALUE:UNK" ], [ "T3NOS", "N1", "MX", "VALUE:UNK" ], [ "T3NOS", "N2", "MX", "VALUE:IV" ], [ "T3NOS", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:IV" ], [ "T4", "N1", "MX", "VALUE:IV" ], [ "T4", "N2", "MX", "VALUE:IV" ], [ "T4", "NX", "MX", "VALUE:IV" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2", "MX", "VALUE:IV" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qam.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qam.json deleted file mode 100644 index 1810ac891..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qam.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qam", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:48.483Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "N2", "M0", "VALUE:III" ], [ "T0", "N3", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N1", "M0", "VALUE:III" ], [ "T1a", "N2", "M0", "VALUE:III" ], [ "T1a", "N3", "M0", "VALUE:IV" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IB" ], [ "T1b", "N1", "M0", "VALUE:III" ], [ "T1b", "N2", "M0", "VALUE:III" ], [ "T1b", "N3", "M0", "VALUE:IV" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:INOS" ], [ "T1NOS", "N1", "M0", "VALUE:III" ], [ "T1NOS", "N2", "M0", "VALUE:III" ], [ "T1NOS", "N3", "M0", "VALUE:IV" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "N2", "M0", "VALUE:III" ], [ "T2", "N3", "M0", "VALUE:IV" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2", "M0", "VALUE:III" ], [ "T3", "N3", "M0", "VALUE:IV" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IV" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "N2", "M0", "VALUE:IV" ], [ "T4", "N3", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:IV" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:UNK" ], [ "TX", "N3", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "N3", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "N2", "M1", "VALUE:IV" ], [ "T1a", "N3", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "N2", "M1", "VALUE:IV" ], [ "T1b", "N3", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2", "M1", "VALUE:IV" ], [ "T2", "N3", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "N3", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "N3", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "N3", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2", "MX", "VALUE:UNK" ], [ "T0", "N3", "MX", "VALUE:IV" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "T1a", "N0", "MX", "VALUE:UNK" ], [ "T1a", "N1", "MX", "VALUE:UNK" ], [ "T1a", "N2", "MX", "VALUE:UNK" ], [ "T1a", "N3", "MX", "VALUE:IV" ], [ "T1a", "NX", "MX", "VALUE:UNK" ], [ "T1b", "N0", "MX", "VALUE:UNK" ], [ "T1b", "N1", "MX", "VALUE:UNK" ], [ "T1b", "N2", "MX", "VALUE:UNK" ], [ "T1b", "N3", "MX", "VALUE:IV" ], [ "T1b", "NX", "MX", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "VALUE:UNK" ], [ "T1NOS", "N2", "MX", "VALUE:UNK" ], [ "T1NOS", "N3", "MX", "VALUE:IV" ], [ "T1NOS", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "N2", "MX", "VALUE:UNK" ], [ "T2", "N3", "MX", "VALUE:IV" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N2", "MX", "VALUE:UNK" ], [ "T3", "N3", "MX", "VALUE:IV" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:IV" ], [ "T4", "N1", "MX", "VALUE:IV" ], [ "T4", "N2", "MX", "VALUE:IV" ], [ "T4", "N3", "MX", "VALUE:IV" ], [ "T4", "NX", "MX", "VALUE:IV" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2", "MX", "VALUE:UNK" ], [ "TX", "N3", "MX", "VALUE:IV" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qao.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qao.json deleted file mode 100644 index d0d5d4962..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qao.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qao", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:48.543Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IV" ], [ "T0", "N2", "M0", "VALUE:IV" ], [ "T0", "N3", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Ta", "N0", "M0", "VALUE:0a" ], [ "Ta", "N1", "M0", "ERROR:" ], [ "Ta", "N2", "M0", "ERROR:" ], [ "Ta", "N3", "M0", "ERROR:" ], [ "Ta", "NX", "M0", "VALUE:0a" ], [ "Tis", "N0", "M0", "VALUE:0is" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0is" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IV" ], [ "T1", "N2", "M0", "VALUE:IV" ], [ "T1", "N3", "M0", "VALUE:IV" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:IV" ], [ "T2", "N2", "M0", "VALUE:IV" ], [ "T2", "N3", "M0", "VALUE:IV" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:IV" ], [ "T3", "N2", "M0", "VALUE:IV" ], [ "T3", "N3", "M0", "VALUE:IV" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IV" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "N2", "M0", "VALUE:IV" ], [ "T4", "N3", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:IV" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IV" ], [ "TX", "N2", "M0", "VALUE:IV" ], [ "TX", "N3", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "N3", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Ta", "N0", "M1", "ERROR:" ], [ "Ta", "N1", "M1", "ERROR:" ], [ "Ta", "N2", "M1", "ERROR:" ], [ "Ta", "N3", "M1", "ERROR:" ], [ "Ta", "NX", "M1", "ERROR:" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "N2", "M1", "VALUE:IV" ], [ "T1", "N3", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2", "M1", "VALUE:IV" ], [ "T2", "N3", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "N3", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "N3", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "N3", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:IV" ], [ "T0", "N2", "MX", "VALUE:IV" ], [ "T0", "N3", "MX", "VALUE:IV" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Ta", "N0", "MX", "VALUE:0a" ], [ "Ta", "N1", "MX", "ERROR:" ], [ "Ta", "N2", "MX", "ERROR:" ], [ "Ta", "N3", "MX", "ERROR:" ], [ "Ta", "NX", "MX", "VALUE:0a" ], [ "Tis", "N0", "MX", "VALUE:0is" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "N2", "MX", "ERROR:" ], [ "Tis", "N3", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0is" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:IV" ], [ "T1", "N2", "MX", "VALUE:IV" ], [ "T1", "N3", "MX", "VALUE:IV" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:IV" ], [ "T2", "N2", "MX", "VALUE:IV" ], [ "T2", "N3", "MX", "VALUE:IV" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:IV" ], [ "T3", "N2", "MX", "VALUE:IV" ], [ "T3", "N3", "MX", "VALUE:IV" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:IV" ], [ "T4", "N1", "MX", "VALUE:IV" ], [ "T4", "N2", "MX", "VALUE:IV" ], [ "T4", "N3", "MX", "VALUE:IV" ], [ "T4", "NX", "MX", "VALUE:IV" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:IV" ], [ "TX", "N2", "MX", "VALUE:IV" ], [ "TX", "N3", "MX", "VALUE:IV" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qar.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qar.json deleted file mode 100644 index 64c42fb6d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qar.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qar", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:48.606Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:IA" ], [ "T1", "N1", "M0", "VALUE:IIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IB" ], [ "T2", "N1", "M0", "VALUE:IIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIA" ], [ "T3", "N1", "M0", "VALUE:IIB" ], [ "T3", "NX", "M0", "VALUE:IINOS" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qas.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qas.json deleted file mode 100644 index b99c9a1c8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qas.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qas", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:48.655Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:IA" ], [ "T1", "N1", "M0", "VALUE:IIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IB" ], [ "T2", "N1", "M0", "VALUE:IIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIA" ], [ "T3", "N1", "M0", "VALUE:IIB" ], [ "T3", "NX", "M0", "VALUE:IINOS" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qat.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qat.json deleted file mode 100644 index 631f7260c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qat.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qat", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:48.705Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:IA" ], [ "T1", "N1", "M0", "VALUE:IIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IB" ], [ "T2", "N1", "M0", "VALUE:IIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIA" ], [ "T3", "N1", "M0", "VALUE:IIB" ], [ "T3", "NX", "M0", "VALUE:IINOS" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qau.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qau.json deleted file mode 100644 index 07e42b291..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qau.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qau", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:48.758Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "SSF1", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "M0", "000", "ERROR:" ], [ "T0", "M0", "001", "ERROR:" ], [ "T0", "M0", "002", "ERROR:" ], [ "T0", "M0", "010", "ERROR:" ], [ "T0", "M0", "050", "ERROR:" ], [ "T0", "M0", "110", "ERROR:" ], [ "T0", "M0", "150", "ERROR:" ], [ "T0", "M0", "200", "ERROR:" ], [ "T0", "M0", "988", "ERROR:" ], [ "T0", "M0", "999", "ERROR:" ], [ "T1", "M0", "000", "VALUE:IA" ], [ "T1", "M0", "001", "VALUE:IA" ], [ "T1", "M0", "002", "VALUE:IB" ], [ "T1", "M0", "010", "VALUE:IA" ], [ "T1", "M0", "050", "VALUE:IA" ], [ "T1", "M0", "110", "VALUE:IB" ], [ "T1", "M0", "150", "VALUE:IB" ], [ "T1", "M0", "200", "VALUE:IA" ], [ "T1", "M0", "988", "VALUE:INOS" ], [ "T1", "M0", "999", "VALUE:INOS" ], [ "T2", "M0", "000", "VALUE:IIA" ], [ "T2", "M0", "001", "VALUE:IIA" ], [ "T2", "M0", "002", "VALUE:IIB" ], [ "T2", "M0", "010", "VALUE:IIA" ], [ "T2", "M0", "050", "VALUE:IIA" ], [ "T2", "M0", "110", "VALUE:IIB" ], [ "T2", "M0", "150", "VALUE:IIB" ], [ "T2", "M0", "200", "VALUE:IIA" ], [ "T2", "M0", "988", "VALUE:IINOS" ], [ "T2", "M0", "999", "VALUE:IINOS" ], [ "TX", "M0", "000", "VALUE:UNK" ], [ "TX", "M0", "001", "VALUE:UNK" ], [ "TX", "M0", "002", "VALUE:UNK" ], [ "TX", "M0", "010", "VALUE:UNK" ], [ "TX", "M0", "050", "VALUE:UNK" ], [ "TX", "M0", "110", "VALUE:UNK" ], [ "TX", "M0", "150", "VALUE:UNK" ], [ "TX", "M0", "200", "VALUE:UNK" ], [ "TX", "M0", "988", "VALUE:UNK" ], [ "TX", "M0", "999", "VALUE:UNK" ], [ "T0", "M1a", "000", "VALUE:IIIA" ], [ "T0", "M1a", "001", "VALUE:IIIA" ], [ "T0", "M1a", "002", "VALUE:IIIB" ], [ "T0", "M1a", "010", "VALUE:IIIA" ], [ "T0", "M1a", "050", "VALUE:IIIA" ], [ "T0", "M1a", "110", "VALUE:IIIB" ], [ "T0", "M1a", "150", "VALUE:IIIB" ], [ "T0", "M1a", "200", "VALUE:IIIA" ], [ "T0", "M1a", "988", "VALUE:IIINOS" ], [ "T0", "M1a", "999", "VALUE:IIINOS" ], [ "T1", "M1a", "000", "VALUE:IIIA" ], [ "T1", "M1a", "001", "VALUE:IIIA" ], [ "T1", "M1a", "002", "VALUE:IIIB" ], [ "T1", "M1a", "010", "VALUE:IIIA" ], [ "T1", "M1a", "050", "VALUE:IIIA" ], [ "T1", "M1a", "110", "VALUE:IIIB" ], [ "T1", "M1a", "150", "VALUE:IIIB" ], [ "T1", "M1a", "200", "VALUE:IIIA" ], [ "T1", "M1a", "988", "VALUE:IIINOS" ], [ "T1", "M1a", "999", "VALUE:IIINOS" ], [ "T2", "M1a", "000", "VALUE:IIIA" ], [ "T2", "M1a", "001", "VALUE:IIIA" ], [ "T2", "M1a", "002", "VALUE:IIIB" ], [ "T2", "M1a", "010", "VALUE:IIIA" ], [ "T2", "M1a", "050", "VALUE:IIIA" ], [ "T2", "M1a", "110", "VALUE:IIIB" ], [ "T2", "M1a", "150", "VALUE:IIIB" ], [ "T2", "M1a", "200", "VALUE:IIIA" ], [ "T2", "M1a", "988", "VALUE:IIINOS" ], [ "T2", "M1a", "999", "VALUE:IIINOS" ], [ "TX", "M1a", "000", "VALUE:IIIA" ], [ "TX", "M1a", "001", "VALUE:IIIA" ], [ "TX", "M1a", "002", "VALUE:IIIB" ], [ "TX", "M1a", "010", "VALUE:IIIA" ], [ "TX", "M1a", "050", "VALUE:IIIA" ], [ "TX", "M1a", "110", "VALUE:IIIB" ], [ "TX", "M1a", "150", "VALUE:IIIB" ], [ "TX", "M1a", "200", "VALUE:IIIA" ], [ "TX", "M1a", "988", "VALUE:IIINOS" ], [ "TX", "M1a", "999", "VALUE:IIINOS" ], [ "T0", "M1b", "000", "VALUE:IVA" ], [ "T0", "M1b", "001", "VALUE:IVA" ], [ "T0", "M1b", "002", "VALUE:IVB" ], [ "T0", "M1b", "010", "VALUE:IVA" ], [ "T0", "M1b", "050", "VALUE:IVA" ], [ "T0", "M1b", "110", "VALUE:IVB" ], [ "T0", "M1b", "150", "VALUE:IVB" ], [ "T0", "M1b", "200", "VALUE:IVA" ], [ "T0", "M1b", "988", "VALUE:IVNOS" ], [ "T0", "M1b", "999", "VALUE:IVNOS" ], [ "T1", "M1b", "000", "VALUE:IVA" ], [ "T1", "M1b", "001", "VALUE:IVA" ], [ "T1", "M1b", "002", "VALUE:IVB" ], [ "T1", "M1b", "010", "VALUE:IVA" ], [ "T1", "M1b", "050", "VALUE:IVA" ], [ "T1", "M1b", "110", "VALUE:IVB" ], [ "T1", "M1b", "150", "VALUE:IVB" ], [ "T1", "M1b", "200", "VALUE:IVA" ], [ "T1", "M1b", "988", "VALUE:IVNOS" ], [ "T1", "M1b", "999", "VALUE:IVNOS" ], [ "T2", "M1b", "000", "VALUE:IVA" ], [ "T2", "M1b", "001", "VALUE:IVA" ], [ "T2", "M1b", "002", "VALUE:IVB" ], [ "T2", "M1b", "010", "VALUE:IVA" ], [ "T2", "M1b", "050", "VALUE:IVA" ], [ "T2", "M1b", "110", "VALUE:IVB" ], [ "T2", "M1b", "150", "VALUE:IVB" ], [ "T2", "M1b", "200", "VALUE:IVA" ], [ "T2", "M1b", "988", "VALUE:IVNOS" ], [ "T2", "M1b", "999", "VALUE:IVNOS" ], [ "TX", "M1b", "000", "VALUE:IVA" ], [ "TX", "M1b", "001", "VALUE:IVA" ], [ "TX", "M1b", "002", "VALUE:IVB" ], [ "TX", "M1b", "010", "VALUE:IVA" ], [ "TX", "M1b", "050", "VALUE:IVA" ], [ "TX", "M1b", "110", "VALUE:IVB" ], [ "TX", "M1b", "150", "VALUE:IVB" ], [ "TX", "M1b", "200", "VALUE:IVA" ], [ "TX", "M1b", "988", "VALUE:IVNOS" ], [ "TX", "M1b", "999", "VALUE:IVNOS" ], [ "T0", "M1NOS", "000", "VALUE:UNK" ], [ "T0", "M1NOS", "001", "VALUE:UNK" ], [ "T0", "M1NOS", "002", "VALUE:UNK" ], [ "T0", "M1NOS", "010", "VALUE:UNK" ], [ "T0", "M1NOS", "050", "VALUE:UNK" ], [ "T0", "M1NOS", "110", "VALUE:UNK" ], [ "T0", "M1NOS", "150", "VALUE:UNK" ], [ "T0", "M1NOS", "200", "VALUE:UNK" ], [ "T0", "M1NOS", "988", "VALUE:UNK" ], [ "T0", "M1NOS", "999", "VALUE:UNK" ], [ "T1", "M1NOS", "000", "VALUE:UNK" ], [ "T1", "M1NOS", "001", "VALUE:UNK" ], [ "T1", "M1NOS", "002", "VALUE:UNK" ], [ "T1", "M1NOS", "010", "VALUE:UNK" ], [ "T1", "M1NOS", "050", "VALUE:UNK" ], [ "T1", "M1NOS", "110", "VALUE:UNK" ], [ "T1", "M1NOS", "150", "VALUE:UNK" ], [ "T1", "M1NOS", "200", "VALUE:UNK" ], [ "T1", "M1NOS", "988", "VALUE:UNK" ], [ "T1", "M1NOS", "999", "VALUE:UNK" ], [ "T2", "M1NOS", "000", "VALUE:UNK" ], [ "T2", "M1NOS", "001", "VALUE:UNK" ], [ "T2", "M1NOS", "002", "VALUE:UNK" ], [ "T2", "M1NOS", "010", "VALUE:UNK" ], [ "T2", "M1NOS", "050", "VALUE:UNK" ], [ "T2", "M1NOS", "110", "VALUE:UNK" ], [ "T2", "M1NOS", "150", "VALUE:UNK" ], [ "T2", "M1NOS", "200", "VALUE:UNK" ], [ "T2", "M1NOS", "988", "VALUE:UNK" ], [ "T2", "M1NOS", "999", "VALUE:UNK" ], [ "TX", "M1NOS", "000", "VALUE:UNK" ], [ "TX", "M1NOS", "001", "VALUE:UNK" ], [ "TX", "M1NOS", "002", "VALUE:UNK" ], [ "TX", "M1NOS", "010", "VALUE:UNK" ], [ "TX", "M1NOS", "050", "VALUE:UNK" ], [ "TX", "M1NOS", "110", "VALUE:UNK" ], [ "TX", "M1NOS", "150", "VALUE:UNK" ], [ "TX", "M1NOS", "200", "VALUE:UNK" ], [ "TX", "M1NOS", "988", "VALUE:UNK" ], [ "TX", "M1NOS", "999", "VALUE:UNK" ], [ "T0", "MX", "000", "VALUE:UNK" ], [ "T0", "MX", "001", "VALUE:UNK" ], [ "T0", "MX", "002", "VALUE:UNK" ], [ "T0", "MX", "010", "VALUE:UNK" ], [ "T0", "MX", "050", "VALUE:UNK" ], [ "T0", "MX", "110", "VALUE:UNK" ], [ "T0", "MX", "150", "VALUE:UNK" ], [ "T0", "MX", "200", "VALUE:UNK" ], [ "T0", "MX", "988", "VALUE:UNK" ], [ "T0", "MX", "999", "VALUE:UNK" ], [ "T1", "MX", "000", "VALUE:UNK" ], [ "T1", "MX", "001", "VALUE:UNK" ], [ "T1", "MX", "002", "VALUE:UNK" ], [ "T1", "MX", "010", "VALUE:UNK" ], [ "T1", "MX", "050", "VALUE:UNK" ], [ "T1", "MX", "110", "VALUE:UNK" ], [ "T1", "MX", "150", "VALUE:UNK" ], [ "T1", "MX", "200", "VALUE:UNK" ], [ "T1", "MX", "988", "VALUE:UNK" ], [ "T1", "MX", "999", "VALUE:UNK" ], [ "T2", "MX", "000", "VALUE:UNK" ], [ "T2", "MX", "001", "VALUE:UNK" ], [ "T2", "MX", "002", "VALUE:UNK" ], [ "T2", "MX", "010", "VALUE:UNK" ], [ "T2", "MX", "050", "VALUE:UNK" ], [ "T2", "MX", "110", "VALUE:UNK" ], [ "T2", "MX", "150", "VALUE:UNK" ], [ "T2", "MX", "200", "VALUE:UNK" ], [ "T2", "MX", "988", "VALUE:UNK" ], [ "T2", "MX", "999", "VALUE:UNK" ], [ "TX", "MX", "000", "VALUE:UNK" ], [ "TX", "MX", "001", "VALUE:UNK" ], [ "TX", "MX", "002", "VALUE:UNK" ], [ "TX", "MX", "010", "VALUE:UNK" ], [ "TX", "MX", "050", "VALUE:UNK" ], [ "TX", "MX", "110", "VALUE:UNK" ], [ "TX", "MX", "150", "VALUE:UNK" ], [ "TX", "MX", "200", "VALUE:UNK" ], [ "TX", "MX", "988", "VALUE:UNK" ], [ "TX", "MX", "999", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qav.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qav.json deleted file mode 100644 index eba124613..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qav.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qav", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:48.822Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:II" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:III" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaw.json deleted file mode 100644 index c8b299cdc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaw.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qaw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:48.874Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "N2", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Ta", "N0", "M0", "VALUE:0a" ], [ "Ta", "N1", "M0", "ERROR:" ], [ "Ta", "N2", "M0", "ERROR:" ], [ "Ta", "NX", "M0", "VALUE:0a" ], [ "Tis", "N0", "M0", "VALUE:0is" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0is" ], [ "Tispu", "N0", "M0", "VALUE:0is" ], [ "Tispu", "N1", "M0", "ERROR:" ], [ "Tispu", "N2", "M0", "ERROR:" ], [ "Tispu", "NX", "M0", "VALUE:0is" ], [ "Tispd", "N0", "M0", "VALUE:0is" ], [ "Tispd", "N1", "M0", "ERROR:" ], [ "Tispd", "N2", "M0", "ERROR:" ], [ "Tispd", "NX", "M0", "VALUE:0is" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "N2", "M0", "VALUE:IV" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "N2", "M0", "VALUE:IV" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2", "M0", "VALUE:IV" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IV" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "N2", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:IV" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Ta", "N0", "M1", "ERROR:" ], [ "Ta", "N1", "M1", "ERROR:" ], [ "Ta", "N2", "M1", "ERROR:" ], [ "Ta", "NX", "M1", "ERROR:" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "Tispu", "N0", "M1", "ERROR:" ], [ "Tispu", "N1", "M1", "ERROR:" ], [ "Tispu", "N2", "M1", "ERROR:" ], [ "Tispu", "NX", "M1", "ERROR:" ], [ "Tispd", "N0", "M1", "ERROR:" ], [ "Tispd", "N1", "M1", "ERROR:" ], [ "Tispd", "N2", "M1", "ERROR:" ], [ "Tispd", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "N2", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2", "MX", "VALUE:IV" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Ta", "N0", "MX", "VALUE:0a" ], [ "Ta", "N1", "MX", "ERROR:" ], [ "Ta", "N2", "MX", "ERROR:" ], [ "Ta", "NX", "MX", "VALUE:0a" ], [ "Tis", "N0", "MX", "VALUE:0is" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "N2", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0is" ], [ "Tispu", "N0", "MX", "VALUE:0is" ], [ "Tispu", "N1", "MX", "ERROR:" ], [ "Tispu", "N2", "MX", "ERROR:" ], [ "Tispu", "NX", "MX", "VALUE:0is" ], [ "Tispd", "N0", "MX", "VALUE:0is" ], [ "Tispd", "N1", "MX", "ERROR:" ], [ "Tispd", "N2", "MX", "ERROR:" ], [ "Tispd", "NX", "MX", "VALUE:0is" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "N2", "MX", "VALUE:IV" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "N2", "MX", "VALUE:IV" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N2", "MX", "VALUE:IV" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:IV" ], [ "T4", "N1", "MX", "VALUE:IV" ], [ "T4", "N2", "MX", "VALUE:IV" ], [ "T4", "NX", "MX", "VALUE:IV" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2", "MX", "VALUE:IV" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qax.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qax.json deleted file mode 100644 index 133dfa779..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qax.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qax", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage-Thyroid: Papillary and Follicular Age less than 45", - "last_modified" : "2015-05-27T16:18:48.930Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ajcc6_stage", - "name" : "Stage Table 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1a", "M0", "VALUE:I" ], [ "T0", "N1b", "M0", "VALUE:I" ], [ "T0", "N1NOS", "M0", "VALUE:I" ], [ "T0", "NX", "M0", "VALUE:I" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1a", "M0", "VALUE:I" ], [ "T1", "N1b", "M0", "VALUE:I" ], [ "T1", "N1NOS", "M0", "VALUE:I" ], [ "T1", "NX", "M0", "VALUE:I" ], [ "T2", "N0", "M0", "VALUE:I" ], [ "T2", "N1a", "M0", "VALUE:I" ], [ "T2", "N1b", "M0", "VALUE:I" ], [ "T2", "N1NOS", "M0", "VALUE:I" ], [ "T2", "NX", "M0", "VALUE:I" ], [ "T3", "N0", "M0", "VALUE:I" ], [ "T3", "N1a", "M0", "VALUE:I" ], [ "T3", "N1b", "M0", "VALUE:I" ], [ "T3", "N1NOS", "M0", "VALUE:I" ], [ "T3", "NX", "M0", "VALUE:I" ], [ "T4a", "N0", "M0", "VALUE:I" ], [ "T4a", "N1a", "M0", "VALUE:I" ], [ "T4a", "N1b", "M0", "VALUE:I" ], [ "T4a", "N1NOS", "M0", "VALUE:I" ], [ "T4a", "NX", "M0", "VALUE:I" ], [ "T4b", "N0", "M0", "VALUE:I" ], [ "T4b", "N1a", "M0", "VALUE:I" ], [ "T4b", "N1b", "M0", "VALUE:I" ], [ "T4b", "N1NOS", "M0", "VALUE:I" ], [ "T4b", "NX", "M0", "VALUE:I" ], [ "T4NOS", "N0", "M0", "VALUE:I" ], [ "T4NOS", "N1a", "M0", "VALUE:I" ], [ "T4NOS", "N1b", "M0", "VALUE:I" ], [ "T4NOS", "N1NOS", "M0", "VALUE:I" ], [ "T4NOS", "NX", "M0", "VALUE:I" ], [ "TX", "N0", "M0", "VALUE:I" ], [ "TX", "N1a", "M0", "VALUE:I" ], [ "TX", "N1b", "M0", "VALUE:I" ], [ "TX", "N1NOS", "M0", "VALUE:I" ], [ "TX", "NX", "M0", "VALUE:I" ], [ "T0", "N0", "M1", "VALUE:II" ], [ "T0", "N1a", "M1", "VALUE:II" ], [ "T0", "N1b", "M1", "VALUE:II" ], [ "T0", "N1NOS", "M1", "VALUE:II" ], [ "T0", "NX", "M1", "VALUE:II" ], [ "T1", "N0", "M1", "VALUE:II" ], [ "T1", "N1a", "M1", "VALUE:II" ], [ "T1", "N1b", "M1", "VALUE:II" ], [ "T1", "N1NOS", "M1", "VALUE:II" ], [ "T1", "NX", "M1", "VALUE:II" ], [ "T2", "N0", "M1", "VALUE:II" ], [ "T2", "N1a", "M1", "VALUE:II" ], [ "T2", "N1b", "M1", "VALUE:II" ], [ "T2", "N1NOS", "M1", "VALUE:II" ], [ "T2", "NX", "M1", "VALUE:II" ], [ "T3", "N0", "M1", "VALUE:II" ], [ "T3", "N1a", "M1", "VALUE:II" ], [ "T3", "N1b", "M1", "VALUE:II" ], [ "T3", "N1NOS", "M1", "VALUE:II" ], [ "T3", "NX", "M1", "VALUE:II" ], [ "T4a", "N0", "M1", "VALUE:II" ], [ "T4a", "N1a", "M1", "VALUE:II" ], [ "T4a", "N1b", "M1", "VALUE:II" ], [ "T4a", "N1NOS", "M1", "VALUE:II" ], [ "T4a", "NX", "M1", "VALUE:II" ], [ "T4b", "N0", "M1", "VALUE:II" ], [ "T4b", "N1a", "M1", "VALUE:II" ], [ "T4b", "N1b", "M1", "VALUE:II" ], [ "T4b", "N1NOS", "M1", "VALUE:II" ], [ "T4b", "NX", "M1", "VALUE:II" ], [ "T4NOS", "N0", "M1", "VALUE:II" ], [ "T4NOS", "N1a", "M1", "VALUE:II" ], [ "T4NOS", "N1b", "M1", "VALUE:II" ], [ "T4NOS", "N1NOS", "M1", "VALUE:II" ], [ "T4NOS", "NX", "M1", "VALUE:II" ], [ "TX", "N0", "M1", "VALUE:II" ], [ "TX", "N1a", "M1", "VALUE:II" ], [ "TX", "N1b", "M1", "VALUE:II" ], [ "TX", "N1NOS", "M1", "VALUE:II" ], [ "TX", "NX", "M1", "VALUE:II" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1a", "MX", "VALUE:UNK" ], [ "T0", "N1b", "MX", "VALUE:UNK" ], [ "T0", "N1NOS", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1a", "MX", "VALUE:UNK" ], [ "T1", "N1b", "MX", "VALUE:UNK" ], [ "T1", "N1NOS", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1a", "MX", "VALUE:UNK" ], [ "T2", "N1b", "MX", "VALUE:UNK" ], [ "T2", "N1NOS", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1a", "MX", "VALUE:UNK" ], [ "T3", "N1b", "MX", "VALUE:UNK" ], [ "T3", "N1NOS", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4a", "N0", "MX", "VALUE:UNK" ], [ "T4a", "N1a", "MX", "VALUE:UNK" ], [ "T4a", "N1b", "MX", "VALUE:UNK" ], [ "T4a", "N1NOS", "MX", "VALUE:UNK" ], [ "T4a", "NX", "MX", "VALUE:UNK" ], [ "T4b", "N0", "MX", "VALUE:UNK" ], [ "T4b", "N1a", "MX", "VALUE:UNK" ], [ "T4b", "N1b", "MX", "VALUE:UNK" ], [ "T4b", "N1NOS", "MX", "VALUE:UNK" ], [ "T4b", "NX", "MX", "VALUE:UNK" ], [ "T4NOS", "N0", "MX", "VALUE:UNK" ], [ "T4NOS", "N1a", "MX", "VALUE:UNK" ], [ "T4NOS", "N1b", "MX", "VALUE:UNK" ], [ "T4NOS", "N1NOS", "MX", "VALUE:UNK" ], [ "T4NOS", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1a", "MX", "VALUE:UNK" ], [ "TX", "N1b", "MX", "VALUE:UNK" ], [ "TX", "N1NOS", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaz.json deleted file mode 100644 index c65747f12..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qaz.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qaz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:48.988Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a1", "N0", "M0", "VALUE:IA1" ], [ "T1a1", "N1", "M0", "VALUE:IIIB" ], [ "T1a1", "NX", "M0", "VALUE:UNK" ], [ "T1a2", "N0", "M0", "VALUE:IA2" ], [ "T1a2", "N1", "M0", "VALUE:IIIB" ], [ "T1a2", "NX", "M0", "VALUE:UNK" ], [ "T1b1", "N0", "M0", "VALUE:IB1" ], [ "T1b1", "N1", "M0", "VALUE:IIIB" ], [ "T1b1", "NX", "M0", "VALUE:UNK" ], [ "T1b2", "N0", "M0", "VALUE:IB2" ], [ "T1b2", "N1", "M0", "VALUE:IIIB" ], [ "T1b2", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:INOS" ], [ "T1NOS", "N1", "M0", "VALUE:IIIB" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:IIA" ], [ "T2a", "N1", "M0", "VALUE:IIIB" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:IIB" ], [ "T2b", "N1", "M0", "VALUE:IIIB" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:IINOS" ], [ "T2NOS", "N1", "M0", "VALUE:IIIB" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:IIIA" ], [ "T3a", "N1", "M0", "VALUE:IIIB" ], [ "T3a", "NX", "M0", "VALUE:IIINOS" ], [ "T3b", "N0", "M0", "VALUE:IIIB" ], [ "T3b", "N1", "M0", "VALUE:IIIB" ], [ "T3b", "NX", "M0", "VALUE:IIIB" ], [ "T3NOS", "N0", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N1", "M0", "VALUE:IIIB" ], [ "T3NOS", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IVA" ], [ "T4", "N1", "M0", "VALUE:IVA" ], [ "T4", "NX", "M0", "VALUE:IVA" ], [ "T1aNOS", "N0", "M0", "VALUE:IA" ], [ "T1aNOS", "N1", "M0", "VALUE:IIIB" ], [ "T1aNOS", "NX", "M0", "VALUE:UNK" ], [ "T1bNOS", "N0", "M0", "VALUE:IB" ], [ "T1bNOS", "N1", "M0", "VALUE:IIIB" ], [ "T1bNOS", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIIB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVB" ], [ "T0", "N1", "M1", "VALUE:IVB" ], [ "T0", "NX", "M1", "VALUE:IVB" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1a1", "N0", "M1", "VALUE:IVB" ], [ "T1a1", "N1", "M1", "VALUE:IVB" ], [ "T1a1", "NX", "M1", "VALUE:IVB" ], [ "T1a2", "N0", "M1", "VALUE:IVB" ], [ "T1a2", "N1", "M1", "VALUE:IVB" ], [ "T1a2", "NX", "M1", "VALUE:IVB" ], [ "T1b1", "N0", "M1", "VALUE:IVB" ], [ "T1b1", "N1", "M1", "VALUE:IVB" ], [ "T1b1", "NX", "M1", "VALUE:IVB" ], [ "T1b2", "N0", "M1", "VALUE:IVB" ], [ "T1b2", "N1", "M1", "VALUE:IVB" ], [ "T1b2", "NX", "M1", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "VALUE:IVB" ], [ "T1NOS", "N1", "M1", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "VALUE:IVB" ], [ "T2a", "N0", "M1", "VALUE:IVB" ], [ "T2a", "N1", "M1", "VALUE:IVB" ], [ "T2a", "NX", "M1", "VALUE:IVB" ], [ "T2b", "N0", "M1", "VALUE:IVB" ], [ "T2b", "N1", "M1", "VALUE:IVB" ], [ "T2b", "NX", "M1", "VALUE:IVB" ], [ "T2NOS", "N0", "M1", "VALUE:IVB" ], [ "T2NOS", "N1", "M1", "VALUE:IVB" ], [ "T2NOS", "NX", "M1", "VALUE:IVB" ], [ "T3a", "N0", "M1", "VALUE:IVB" ], [ "T3a", "N1", "M1", "VALUE:IVB" ], [ "T3a", "NX", "M1", "VALUE:IVB" ], [ "T3b", "N0", "M1", "VALUE:IVB" ], [ "T3b", "N1", "M1", "VALUE:IVB" ], [ "T3b", "NX", "M1", "VALUE:IVB" ], [ "T3NOS", "N0", "M1", "VALUE:IVB" ], [ "T3NOS", "N1", "M1", "VALUE:IVB" ], [ "T3NOS", "NX", "M1", "VALUE:IVB" ], [ "T4", "N0", "M1", "VALUE:IVB" ], [ "T4", "N1", "M1", "VALUE:IVB" ], [ "T4", "NX", "M1", "VALUE:IVB" ], [ "T1aNOS", "N0", "M1", "VALUE:IVB" ], [ "T1aNOS", "N1", "M1", "VALUE:IVB" ], [ "T1aNOS", "NX", "M1", "VALUE:IVB" ], [ "T1bNOS", "N0", "M1", "VALUE:IVB" ], [ "T1bNOS", "N1", "M1", "VALUE:IVB" ], [ "T1bNOS", "NX", "M1", "VALUE:IVB" ], [ "TX", "N0", "M1", "VALUE:IVB" ], [ "TX", "N1", "M1", "VALUE:IVB" ], [ "TX", "NX", "M1", "VALUE:IVB" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1a1", "N0", "MX", "VALUE:UNK" ], [ "T1a1", "N1", "MX", "VALUE:UNK" ], [ "T1a1", "NX", "MX", "VALUE:UNK" ], [ "T1a2", "N0", "MX", "VALUE:UNK" ], [ "T1a2", "N1", "MX", "VALUE:UNK" ], [ "T1a2", "NX", "MX", "VALUE:UNK" ], [ "T1b1", "N0", "MX", "VALUE:UNK" ], [ "T1b1", "N1", "MX", "VALUE:UNK" ], [ "T1b1", "NX", "MX", "VALUE:UNK" ], [ "T1b2", "N0", "MX", "VALUE:UNK" ], [ "T1b2", "N1", "MX", "VALUE:UNK" ], [ "T1b2", "NX", "MX", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "VALUE:UNK" ], [ "T1NOS", "NX", "MX", "VALUE:UNK" ], [ "T2a", "N0", "MX", "VALUE:UNK" ], [ "T2a", "N1", "MX", "VALUE:UNK" ], [ "T2a", "NX", "MX", "VALUE:UNK" ], [ "T2b", "N0", "MX", "VALUE:UNK" ], [ "T2b", "N1", "MX", "VALUE:UNK" ], [ "T2b", "NX", "MX", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "VALUE:UNK" ], [ "T2NOS", "N1", "MX", "VALUE:UNK" ], [ "T2NOS", "NX", "MX", "VALUE:UNK" ], [ "T3a", "N0", "MX", "VALUE:UNK" ], [ "T3a", "N1", "MX", "VALUE:UNK" ], [ "T3a", "NX", "MX", "VALUE:UNK" ], [ "T3b", "N0", "MX", "VALUE:UNK" ], [ "T3b", "N1", "MX", "VALUE:UNK" ], [ "T3b", "NX", "MX", "VALUE:UNK" ], [ "T3NOS", "N0", "MX", "VALUE:UNK" ], [ "T3NOS", "N1", "MX", "VALUE:UNK" ], [ "T3NOS", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:IVNOS" ], [ "T4", "N1", "MX", "VALUE:IVNOS" ], [ "T4", "NX", "MX", "VALUE:IVNOS" ], [ "T1aNOS", "N0", "MX", "VALUE:UNK" ], [ "T1aNOS", "N1", "MX", "VALUE:UNK" ], [ "T1aNOS", "NX", "MX", "VALUE:UNK" ], [ "T1bNOS", "N0", "MX", "VALUE:UNK" ], [ "T1bNOS", "N1", "MX", "VALUE:UNK" ], [ "T1bNOS", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbb.json deleted file mode 100644 index c1d99e057..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbb.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qbb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:49.051Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIA" ], [ "T0", "N2", "M0", "VALUE:IVA" ], [ "T0", "N3", "M0", "VALUE:IVA" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1", "N0", "M0", "VALUE:IA" ], [ "T1", "N1", "M0", "VALUE:IIA" ], [ "T1", "N2", "M0", "VALUE:IVA" ], [ "T1", "N3", "M0", "VALUE:IVA" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IB" ], [ "T2", "N1", "M0", "VALUE:IIA" ], [ "T2", "N2", "M0", "VALUE:IVA" ], [ "T2", "N3", "M0", "VALUE:IVA" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIB" ], [ "T3", "N1", "M0", "VALUE:IIB" ], [ "T3", "N2", "M0", "VALUE:IVA" ], [ "T3", "N3", "M0", "VALUE:IVA" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IIIA" ], [ "T4", "N1", "M0", "VALUE:IIIB" ], [ "T4", "N2", "M0", "VALUE:IVA" ], [ "T4", "N3", "M0", "VALUE:IVA" ], [ "T4", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:UNK" ], [ "TX", "N3", "M0", "VALUE:IVNOS" ], [ "TX", "NX", "M0", "VALUE:IVNOS" ], [ "T0", "N0", "M1", "VALUE:IVB" ], [ "T0", "N1", "M1", "VALUE:IVB" ], [ "T0", "N2", "M1", "VALUE:IVB" ], [ "T0", "N3", "M1", "VALUE:IVB" ], [ "T0", "NX", "M1", "VALUE:IVB" ], [ "T1", "N0", "M1", "VALUE:IVB" ], [ "T1", "N1", "M1", "VALUE:IVB" ], [ "T1", "N2", "M1", "VALUE:IVB" ], [ "T1", "N3", "M1", "VALUE:IVB" ], [ "T1", "NX", "M1", "VALUE:IVB" ], [ "T2", "N0", "M1", "VALUE:IVB" ], [ "T2", "N1", "M1", "VALUE:IVB" ], [ "T2", "N2", "M1", "VALUE:IVB" ], [ "T2", "N3", "M1", "VALUE:IVB" ], [ "T2", "NX", "M1", "VALUE:IVB" ], [ "T3", "N0", "M1", "VALUE:IVB" ], [ "T3", "N1", "M1", "VALUE:IVB" ], [ "T3", "N2", "M1", "VALUE:IVB" ], [ "T3", "N3", "M1", "VALUE:IVB" ], [ "T3", "NX", "M1", "VALUE:IVB" ], [ "T4", "N0", "M1", "VALUE:IVB" ], [ "T4", "N1", "M1", "VALUE:IVB" ], [ "T4", "N2", "M1", "VALUE:IVB" ], [ "T4", "N3", "M1", "VALUE:IVB" ], [ "T4", "NX", "M1", "VALUE:IVB" ], [ "TX", "N0", "M1", "VALUE:IVB" ], [ "TX", "N1", "M1", "VALUE:IVB" ], [ "TX", "N2", "M1", "VALUE:IVB" ], [ "TX", "N3", "M1", "VALUE:IVB" ], [ "TX", "NX", "M1", "VALUE:IVB" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2", "MX", "VALUE:IVNOS" ], [ "T0", "N3", "MX", "VALUE:IVNOS" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "N2", "MX", "VALUE:IVNOS" ], [ "T1", "N3", "MX", "VALUE:IVNOS" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "N2", "MX", "VALUE:IVNOS" ], [ "T2", "N3", "MX", "VALUE:IVNOS" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N2", "MX", "VALUE:IVNOS" ], [ "T3", "N3", "MX", "VALUE:IVNOS" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "N2", "MX", "VALUE:IVNOS" ], [ "T4", "N3", "MX", "VALUE:IVNOS" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2", "MX", "VALUE:IVNOS" ], [ "TX", "N3", "MX", "VALUE:IVNOS" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbh.json deleted file mode 100644 index db7c049ac..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbh.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qbh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:49.100Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IV" ], [ "T0", "N2", "M0", "VALUE:IV" ], [ "T0", "N3", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Ta", "N0", "M0", "VALUE:0a" ], [ "Ta", "N1", "M0", "ERROR:" ], [ "Ta", "N2", "M0", "ERROR:" ], [ "Ta", "N3", "M0", "ERROR:" ], [ "Ta", "NX", "M0", "VALUE:0a" ], [ "Tis", "N0", "M0", "VALUE:0is" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0is" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IV" ], [ "T1", "N2", "M0", "VALUE:IV" ], [ "T1", "N3", "M0", "VALUE:IV" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:II" ], [ "T2a", "N1", "M0", "VALUE:IV" ], [ "T2a", "N2", "M0", "VALUE:IV" ], [ "T2a", "N3", "M0", "VALUE:IV" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:II" ], [ "T2b", "N1", "M0", "VALUE:IV" ], [ "T2b", "N2", "M0", "VALUE:IV" ], [ "T2b", "N3", "M0", "VALUE:IV" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:II" ], [ "T2NOS", "N1", "M0", "VALUE:IV" ], [ "T2NOS", "N2", "M0", "VALUE:IV" ], [ "T2NOS", "N3", "M0", "VALUE:IV" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:III" ], [ "T3a", "N1", "M0", "VALUE:IV" ], [ "T3a", "N2", "M0", "VALUE:IV" ], [ "T3a", "N3", "M0", "VALUE:IV" ], [ "T3a", "NX", "M0", "VALUE:UNK" ], [ "T3b", "N0", "M0", "VALUE:III" ], [ "T3b", "N1", "M0", "VALUE:IV" ], [ "T3b", "N2", "M0", "VALUE:IV" ], [ "T3b", "N3", "M0", "VALUE:IV" ], [ "T3b", "NX", "M0", "VALUE:UNK" ], [ "T3NOS", "N0", "M0", "VALUE:III" ], [ "T3NOS", "N1", "M0", "VALUE:IV" ], [ "T3NOS", "N2", "M0", "VALUE:IV" ], [ "T3NOS", "N3", "M0", "VALUE:IV" ], [ "T3NOS", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:III" ], [ "T4a", "N1", "M0", "VALUE:IV" ], [ "T4a", "N2", "M0", "VALUE:IV" ], [ "T4a", "N3", "M0", "VALUE:IV" ], [ "T4a", "NX", "M0", "VALUE:UNK" ], [ "T4b", "N0", "M0", "VALUE:IV" ], [ "T4b", "N1", "M0", "VALUE:IV" ], [ "T4b", "N2", "M0", "VALUE:IV" ], [ "T4b", "N3", "M0", "VALUE:IV" ], [ "T4b", "NX", "M0", "VALUE:IV" ], [ "T4NOS", "N0", "M0", "VALUE:UNK" ], [ "T4NOS", "N1", "M0", "VALUE:IV" ], [ "T4NOS", "N2", "M0", "VALUE:IV" ], [ "T4NOS", "N3", "M0", "VALUE:IV" ], [ "T4NOS", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IV" ], [ "TX", "N2", "M0", "VALUE:IV" ], [ "TX", "N3", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "N3", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Ta", "N0", "M1", "ERROR:" ], [ "Ta", "N1", "M1", "ERROR:" ], [ "Ta", "N2", "M1", "ERROR:" ], [ "Ta", "N3", "M1", "ERROR:" ], [ "Ta", "NX", "M1", "ERROR:" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "N2", "M1", "VALUE:IV" ], [ "T1", "N3", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2a", "N0", "M1", "VALUE:IV" ], [ "T2a", "N1", "M1", "VALUE:IV" ], [ "T2a", "N2", "M1", "VALUE:IV" ], [ "T2a", "N3", "M1", "VALUE:IV" ], [ "T2a", "NX", "M1", "VALUE:IV" ], [ "T2b", "N0", "M1", "VALUE:IV" ], [ "T2b", "N1", "M1", "VALUE:IV" ], [ "T2b", "N2", "M1", "VALUE:IV" ], [ "T2b", "N3", "M1", "VALUE:IV" ], [ "T2b", "NX", "M1", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "VALUE:IV" ], [ "T2NOS", "N2", "M1", "VALUE:IV" ], [ "T2NOS", "N3", "M1", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "VALUE:IV" ], [ "T3a", "N0", "M1", "VALUE:IV" ], [ "T3a", "N1", "M1", "VALUE:IV" ], [ "T3a", "N2", "M1", "VALUE:IV" ], [ "T3a", "N3", "M1", "VALUE:IV" ], [ "T3a", "NX", "M1", "VALUE:IV" ], [ "T3b", "N0", "M1", "VALUE:IV" ], [ "T3b", "N1", "M1", "VALUE:IV" ], [ "T3b", "N2", "M1", "VALUE:IV" ], [ "T3b", "N3", "M1", "VALUE:IV" ], [ "T3b", "NX", "M1", "VALUE:IV" ], [ "T3NOS", "N0", "M1", "VALUE:IV" ], [ "T3NOS", "N1", "M1", "VALUE:IV" ], [ "T3NOS", "N2", "M1", "VALUE:IV" ], [ "T3NOS", "N3", "M1", "VALUE:IV" ], [ "T3NOS", "NX", "M1", "VALUE:IV" ], [ "T4a", "N0", "M1", "VALUE:IV" ], [ "T4a", "N1", "M1", "VALUE:IV" ], [ "T4a", "N2", "M1", "VALUE:IV" ], [ "T4a", "N3", "M1", "VALUE:IV" ], [ "T4a", "NX", "M1", "VALUE:IV" ], [ "T4b", "N0", "M1", "VALUE:IV" ], [ "T4b", "N1", "M1", "VALUE:IV" ], [ "T4b", "N2", "M1", "VALUE:IV" ], [ "T4b", "N3", "M1", "VALUE:IV" ], [ "T4b", "NX", "M1", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "N3", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:IV" ], [ "T0", "N2", "MX", "VALUE:IV" ], [ "T0", "N3", "MX", "VALUE:IV" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Ta", "N0", "MX", "VALUE:0a" ], [ "Ta", "N1", "MX", "ERROR:" ], [ "Ta", "N2", "MX", "ERROR:" ], [ "Ta", "N3", "MX", "ERROR:" ], [ "Ta", "NX", "MX", "VALUE:0a" ], [ "Tis", "N0", "MX", "VALUE:0is" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "N2", "MX", "ERROR:" ], [ "Tis", "N3", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0is" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:IV" ], [ "T1", "N2", "MX", "VALUE:IV" ], [ "T1", "N3", "MX", "VALUE:IV" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2a", "N0", "MX", "VALUE:UNK" ], [ "T2a", "N1", "MX", "VALUE:IV" ], [ "T2a", "N2", "MX", "VALUE:IV" ], [ "T2a", "N3", "MX", "VALUE:IV" ], [ "T2a", "NX", "MX", "VALUE:UNK" ], [ "T2b", "N0", "MX", "VALUE:UNK" ], [ "T2b", "N1", "MX", "VALUE:IV" ], [ "T2b", "N2", "MX", "VALUE:IV" ], [ "T2b", "N3", "MX", "VALUE:IV" ], [ "T2b", "NX", "MX", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "VALUE:UNK" ], [ "T2NOS", "N1", "MX", "VALUE:IV" ], [ "T2NOS", "N2", "MX", "VALUE:IV" ], [ "T2NOS", "N3", "MX", "VALUE:IV" ], [ "T2NOS", "NX", "MX", "VALUE:UNK" ], [ "T3a", "N0", "MX", "VALUE:UNK" ], [ "T3a", "N1", "MX", "VALUE:IV" ], [ "T3a", "N2", "MX", "VALUE:IV" ], [ "T3a", "N3", "MX", "VALUE:IV" ], [ "T3a", "NX", "MX", "VALUE:UNK" ], [ "T3b", "N0", "MX", "VALUE:UNK" ], [ "T3b", "N1", "MX", "VALUE:IV" ], [ "T3b", "N2", "MX", "VALUE:IV" ], [ "T3b", "N3", "MX", "VALUE:IV" ], [ "T3b", "NX", "MX", "VALUE:UNK" ], [ "T3NOS", "N0", "MX", "VALUE:UNK" ], [ "T3NOS", "N1", "MX", "VALUE:IV" ], [ "T3NOS", "N2", "MX", "VALUE:IV" ], [ "T3NOS", "N3", "MX", "VALUE:IV" ], [ "T3NOS", "NX", "MX", "VALUE:UNK" ], [ "T4a", "N0", "MX", "VALUE:UNK" ], [ "T4a", "N1", "MX", "VALUE:IV" ], [ "T4a", "N2", "MX", "VALUE:IV" ], [ "T4a", "N3", "MX", "VALUE:IV" ], [ "T4a", "NX", "MX", "VALUE:UNK" ], [ "T4b", "N0", "MX", "VALUE:IV" ], [ "T4b", "N1", "MX", "VALUE:IV" ], [ "T4b", "N2", "MX", "VALUE:IV" ], [ "T4b", "N3", "MX", "VALUE:IV" ], [ "T4b", "NX", "MX", "VALUE:IV" ], [ "T4NOS", "N0", "MX", "VALUE:UNK" ], [ "T4NOS", "N1", "MX", "VALUE:IV" ], [ "T4NOS", "N2", "MX", "VALUE:IV" ], [ "T4NOS", "N3", "MX", "VALUE:IV" ], [ "T4NOS", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:IV" ], [ "TX", "N2", "MX", "VALUE:IV" ], [ "TX", "N3", "MX", "VALUE:IV" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbi.json deleted file mode 100644 index cfa285818..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbi.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qbi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:49.176Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIC" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N1", "M0", "VALUE:IIIC" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IB" ], [ "T1b", "N1", "M0", "VALUE:IIIC" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1c", "N0", "M0", "VALUE:IC" ], [ "T1c", "N1", "M0", "VALUE:IIIC" ], [ "T1c", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:INOS" ], [ "T1NOS", "N1", "M0", "VALUE:IIIC" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:IIA" ], [ "T2a", "N1", "M0", "VALUE:IIIC" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:IIB" ], [ "T2b", "N1", "M0", "VALUE:IIIC" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2c", "N0", "M0", "VALUE:IIC" ], [ "T2c", "N1", "M0", "VALUE:IIIC" ], [ "T2c", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:IINOS" ], [ "T2NOS", "N1", "M0", "VALUE:IIIC" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:IIIA" ], [ "T3a", "N1", "M0", "VALUE:IIIC" ], [ "T3a", "NX", "M0", "VALUE:IIINOS" ], [ "T3b", "N0", "M0", "VALUE:IIIB" ], [ "T3b", "N1", "M0", "VALUE:IIIC" ], [ "T3b", "NX", "M0", "VALUE:IIINOS" ], [ "T3c", "N0", "M0", "VALUE:IIIC" ], [ "T3c", "N1", "M0", "VALUE:IIIC" ], [ "T3c", "NX", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N0", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N1", "M0", "VALUE:IIIC" ], [ "T3NOS", "NX", "M0", "VALUE:IIINOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIIC" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1c", "N0", "M1", "VALUE:IV" ], [ "T1c", "N1", "M1", "VALUE:IV" ], [ "T1c", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2a", "N0", "M1", "VALUE:IV" ], [ "T2a", "N1", "M1", "VALUE:IV" ], [ "T2a", "NX", "M1", "VALUE:IV" ], [ "T2b", "N0", "M1", "VALUE:IV" ], [ "T2b", "N1", "M1", "VALUE:IV" ], [ "T2b", "NX", "M1", "VALUE:IV" ], [ "T2c", "N0", "M1", "VALUE:IV" ], [ "T2c", "N1", "M1", "VALUE:IV" ], [ "T2c", "NX", "M1", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "VALUE:IV" ], [ "T3a", "N0", "M1", "VALUE:IV" ], [ "T3a", "N1", "M1", "VALUE:IV" ], [ "T3a", "NX", "M1", "VALUE:IV" ], [ "T3b", "N0", "M1", "VALUE:IV" ], [ "T3b", "N1", "M1", "VALUE:IV" ], [ "T3b", "NX", "M1", "VALUE:IV" ], [ "T3c", "N0", "M1", "VALUE:IV" ], [ "T3c", "N1", "M1", "VALUE:IV" ], [ "T3c", "NX", "M1", "VALUE:IV" ], [ "T3NOS", "N0", "M1", "VALUE:IV" ], [ "T3NOS", "N1", "M1", "VALUE:IV" ], [ "T3NOS", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "T1a", "N0", "MX", "VALUE:UNK" ], [ "T1a", "N1", "MX", "VALUE:UNK" ], [ "T1a", "NX", "MX", "VALUE:UNK" ], [ "T1b", "N0", "MX", "VALUE:UNK" ], [ "T1b", "N1", "MX", "VALUE:UNK" ], [ "T1b", "NX", "MX", "VALUE:UNK" ], [ "T1c", "N0", "MX", "VALUE:UNK" ], [ "T1c", "N1", "MX", "VALUE:UNK" ], [ "T1c", "NX", "MX", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "VALUE:UNK" ], [ "T1NOS", "NX", "MX", "VALUE:UNK" ], [ "T2a", "N0", "MX", "VALUE:UNK" ], [ "T2a", "N1", "MX", "VALUE:UNK" ], [ "T2a", "NX", "MX", "VALUE:UNK" ], [ "T2b", "N0", "MX", "VALUE:UNK" ], [ "T2b", "N1", "MX", "VALUE:UNK" ], [ "T2b", "NX", "MX", "VALUE:UNK" ], [ "T2c", "N0", "MX", "VALUE:UNK" ], [ "T2c", "N1", "MX", "VALUE:UNK" ], [ "T2c", "NX", "MX", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "VALUE:UNK" ], [ "T2NOS", "N1", "MX", "VALUE:UNK" ], [ "T2NOS", "NX", "MX", "VALUE:UNK" ], [ "T3a", "N0", "MX", "VALUE:UNK" ], [ "T3a", "N1", "MX", "VALUE:UNK" ], [ "T3a", "NX", "MX", "VALUE:UNK" ], [ "T3b", "N0", "MX", "VALUE:UNK" ], [ "T3b", "N1", "MX", "VALUE:UNK" ], [ "T3b", "NX", "MX", "VALUE:UNK" ], [ "T3c", "N0", "MX", "VALUE:UNK" ], [ "T3c", "N1", "MX", "VALUE:UNK" ], [ "T3c", "NX", "MX", "VALUE:UNK" ], [ "T3NOS", "N0", "MX", "VALUE:UNK" ], [ "T3NOS", "N1", "MX", "VALUE:UNK" ], [ "T3NOS", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbj.json deleted file mode 100644 index b3d98af24..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbj.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qbj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:49.252Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIA" ], [ "T0", "N2", "M0", "VALUE:IIIB" ], [ "T0", "N3", "M0", "VALUE:IIIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IIIA" ], [ "T1", "N2", "M0", "VALUE:IIIB" ], [ "T1", "N3", "M0", "VALUE:IIIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:IIIA" ], [ "T2", "N2", "M0", "VALUE:IIIB" ], [ "T2", "N3", "M0", "VALUE:IIIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:II" ], [ "T3", "N1", "M0", "VALUE:IIIA" ], [ "T3", "N2", "M0", "VALUE:IIIB" ], [ "T3", "N3", "M0", "VALUE:IIIB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IIIA" ], [ "T4", "N1", "M0", "VALUE:IIIB" ], [ "T4", "N2", "M0", "VALUE:IIIB" ], [ "T4", "N3", "M0", "VALUE:IIIB" ], [ "T4", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:IIIB" ], [ "TX", "N3", "M0", "VALUE:IIIB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "N3", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "N2", "M1", "VALUE:IV" ], [ "T1", "N3", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2", "M1", "VALUE:IV" ], [ "T2", "N3", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "N3", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "N3", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "N3", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2", "MX", "VALUE:UNK" ], [ "T0", "N3", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "N2", "MX", "ERROR:" ], [ "Tis", "N3", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "N2", "MX", "VALUE:UNK" ], [ "T1", "N3", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "N2", "MX", "VALUE:UNK" ], [ "T2", "N3", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N2", "MX", "VALUE:UNK" ], [ "T3", "N3", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "N2", "MX", "VALUE:UNK" ], [ "T4", "N3", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2", "MX", "VALUE:UNK" ], [ "TX", "N3", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbk.json deleted file mode 100644 index 7b4b1f3a1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbk.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qbk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:49.308Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:IA" ], [ "T1", "N1", "M0", "VALUE:IIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IB" ], [ "T2", "N1", "M0", "VALUE:IIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIA" ], [ "T3", "N1", "M0", "VALUE:IIB" ], [ "T3", "NX", "M0", "VALUE:IINOS" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbl.json deleted file mode 100644 index 711e350f3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbl.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qbl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:49.360Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:UNK" ], [ "T0", "N2a", "M0", "VALUE:IVA" ], [ "T0", "N2b", "M0", "VALUE:IVA" ], [ "T0", "N2c", "M0", "VALUE:IVA" ], [ "T0", "N2NOS", "M0", "VALUE:IVA" ], [ "T0", "N3", "M0", "VALUE:IVB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2a", "M0", "ERROR:" ], [ "Tis", "N2b", "M0", "ERROR:" ], [ "Tis", "N2c", "M0", "ERROR:" ], [ "Tis", "N2NOS", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N1", "M0", "VALUE:III" ], [ "T1a", "N2a", "M0", "VALUE:IVA" ], [ "T1a", "N2b", "M0", "VALUE:IVA" ], [ "T1a", "N2c", "M0", "VALUE:IVA" ], [ "T1a", "N2NOS", "M0", "VALUE:IVA" ], [ "T1a", "N3", "M0", "VALUE:IVB" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:I" ], [ "T1b", "N1", "M0", "VALUE:III" ], [ "T1b", "N2a", "M0", "VALUE:IVA" ], [ "T1b", "N2b", "M0", "VALUE:IVA" ], [ "T1b", "N2c", "M0", "VALUE:IVA" ], [ "T1b", "N2NOS", "M0", "VALUE:IVA" ], [ "T1b", "N3", "M0", "VALUE:IVB" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N1", "M0", "VALUE:III" ], [ "T1NOS", "N2a", "M0", "VALUE:IVA" ], [ "T1NOS", "N2b", "M0", "VALUE:IVA" ], [ "T1NOS", "N2c", "M0", "VALUE:IVA" ], [ "T1NOS", "N2NOS", "M0", "VALUE:IVA" ], [ "T1NOS", "N3", "M0", "VALUE:IVB" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "N2a", "M0", "VALUE:IVA" ], [ "T2", "N2b", "M0", "VALUE:IVA" ], [ "T2", "N2c", "M0", "VALUE:IVA" ], [ "T2", "N2NOS", "M0", "VALUE:IVA" ], [ "T2", "N3", "M0", "VALUE:IVB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2a", "M0", "VALUE:IVA" ], [ "T3", "N2b", "M0", "VALUE:IVA" ], [ "T3", "N2c", "M0", "VALUE:IVA" ], [ "T3", "N2NOS", "M0", "VALUE:IVA" ], [ "T3", "N3", "M0", "VALUE:IVB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IVA" ], [ "T4a", "N1", "M0", "VALUE:IVA" ], [ "T4a", "N2a", "M0", "VALUE:IVA" ], [ "T4a", "N2b", "M0", "VALUE:IVA" ], [ "T4a", "N2c", "M0", "VALUE:IVA" ], [ "T4a", "N2NOS", "M0", "VALUE:IVA" ], [ "T4a", "N3", "M0", "VALUE:IVB" ], [ "T4a", "NX", "M0", "VALUE:IVNOS" ], [ "T4b", "N0", "M0", "VALUE:IVB" ], [ "T4b", "N1", "M0", "VALUE:IVB" ], [ "T4b", "N2a", "M0", "VALUE:IVB" ], [ "T4b", "N2b", "M0", "VALUE:IVB" ], [ "T4b", "N2c", "M0", "VALUE:IVB" ], [ "T4b", "N2NOS", "M0", "VALUE:IVB" ], [ "T4b", "N3", "M0", "VALUE:IVB" ], [ "T4b", "NX", "M0", "VALUE:IVB" ], [ "T4NOS", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2a", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2b", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2c", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N3", "M0", "VALUE:IVB" ], [ "T4NOS", "NX", "M0", "VALUE:IVNOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2a", "M0", "VALUE:IVNOS" ], [ "TX", "N2b", "M0", "VALUE:IVNOS" ], [ "TX", "N2c", "M0", "VALUE:IVNOS" ], [ "TX", "N2NOS", "M0", "VALUE:IVNOS" ], [ "TX", "N3", "M0", "VALUE:IVB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVC" ], [ "T0", "N1", "M1", "VALUE:IVC" ], [ "T0", "N2a", "M1", "VALUE:IVC" ], [ "T0", "N2b", "M1", "VALUE:IVC" ], [ "T0", "N2c", "M1", "VALUE:IVC" ], [ "T0", "N2NOS", "M1", "VALUE:IVC" ], [ "T0", "N3", "M1", "VALUE:IVC" ], [ "T0", "NX", "M1", "VALUE:IVC" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2a", "M1", "ERROR:" ], [ "Tis", "N2b", "M1", "ERROR:" ], [ "Tis", "N2c", "M1", "ERROR:" ], [ "Tis", "N2NOS", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1a", "N0", "M1", "VALUE:IVC" ], [ "T1a", "N1", "M1", "VALUE:IVC" ], [ "T1a", "N2a", "M1", "VALUE:IVC" ], [ "T1a", "N2b", "M1", "VALUE:IVC" ], [ "T1a", "N2c", "M1", "VALUE:IVC" ], [ "T1a", "N2NOS", "M1", "VALUE:IVC" ], [ "T1a", "N3", "M1", "VALUE:IVC" ], [ "T1a", "NX", "M1", "VALUE:IVC" ], [ "T1b", "N0", "M1", "VALUE:IVC" ], [ "T1b", "N1", "M1", "VALUE:IVC" ], [ "T1b", "N2a", "M1", "VALUE:IVC" ], [ "T1b", "N2b", "M1", "VALUE:IVC" ], [ "T1b", "N2c", "M1", "VALUE:IVC" ], [ "T1b", "N2NOS", "M1", "VALUE:IVC" ], [ "T1b", "N3", "M1", "VALUE:IVC" ], [ "T1b", "NX", "M1", "VALUE:IVC" ], [ "T1NOS", "N0", "M1", "VALUE:IVC" ], [ "T1NOS", "N1", "M1", "VALUE:IVC" ], [ "T1NOS", "N2a", "M1", "VALUE:IVC" ], [ "T1NOS", "N2b", "M1", "VALUE:IVC" ], [ "T1NOS", "N2c", "M1", "VALUE:IVC" ], [ "T1NOS", "N2NOS", "M1", "VALUE:IVC" ], [ "T1NOS", "N3", "M1", "VALUE:IVC" ], [ "T1NOS", "NX", "M1", "VALUE:IVC" ], [ "T2", "N0", "M1", "VALUE:IVC" ], [ "T2", "N1", "M1", "VALUE:IVC" ], [ "T2", "N2a", "M1", "VALUE:IVC" ], [ "T2", "N2b", "M1", "VALUE:IVC" ], [ "T2", "N2c", "M1", "VALUE:IVC" ], [ "T2", "N2NOS", "M1", "VALUE:IVC" ], [ "T2", "N3", "M1", "VALUE:IVC" ], [ "T2", "NX", "M1", "VALUE:IVC" ], [ "T3", "N0", "M1", "VALUE:IVC" ], [ "T3", "N1", "M1", "VALUE:IVC" ], [ "T3", "N2a", "M1", "VALUE:IVC" ], [ "T3", "N2b", "M1", "VALUE:IVC" ], [ "T3", "N2c", "M1", "VALUE:IVC" ], [ "T3", "N2NOS", "M1", "VALUE:IVC" ], [ "T3", "N3", "M1", "VALUE:IVC" ], [ "T3", "NX", "M1", "VALUE:IVC" ], [ "T4a", "N0", "M1", "VALUE:IVC" ], [ "T4a", "N1", "M1", "VALUE:IVC" ], [ "T4a", "N2a", "M1", "VALUE:IVC" ], [ "T4a", "N2b", "M1", "VALUE:IVC" ], [ "T4a", "N2c", "M1", "VALUE:IVC" ], [ "T4a", "N2NOS", "M1", "VALUE:IVC" ], [ "T4a", "N3", "M1", "VALUE:IVC" ], [ "T4a", "NX", "M1", "VALUE:IVC" ], [ "T4b", "N0", "M1", "VALUE:IVC" ], [ "T4b", "N1", "M1", "VALUE:IVC" ], [ "T4b", "N2a", "M1", "VALUE:IVC" ], [ "T4b", "N2b", "M1", "VALUE:IVC" ], [ "T4b", "N2c", "M1", "VALUE:IVC" ], [ "T4b", "N2NOS", "M1", "VALUE:IVC" ], [ "T4b", "N3", "M1", "VALUE:IVC" ], [ "T4b", "NX", "M1", "VALUE:IVC" ], [ "T4NOS", "N0", "M1", "VALUE:IVC" ], [ "T4NOS", "N1", "M1", "VALUE:IVC" ], [ "T4NOS", "N2a", "M1", "VALUE:IVC" ], [ "T4NOS", "N2b", "M1", "VALUE:IVC" ], [ "T4NOS", "N2c", "M1", "VALUE:IVC" ], [ "T4NOS", "N2NOS", "M1", "VALUE:IVC" ], [ "T4NOS", "N3", "M1", "VALUE:IVC" ], [ "T4NOS", "NX", "M1", "VALUE:IVC" ], [ "TX", "N0", "M1", "VALUE:IVC" ], [ "TX", "N1", "M1", "VALUE:IVC" ], [ "TX", "N2a", "M1", "VALUE:IVC" ], [ "TX", "N2b", "M1", "VALUE:IVC" ], [ "TX", "N2c", "M1", "VALUE:IVC" ], [ "TX", "N2NOS", "M1", "VALUE:IVC" ], [ "TX", "N3", "M1", "VALUE:IVC" ], [ "TX", "NX", "M1", "VALUE:IVC" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2a", "MX", "VALUE:IVNOS" ], [ "T0", "N2b", "MX", "VALUE:IVNOS" ], [ "T0", "N2c", "MX", "VALUE:IVNOS" ], [ "T0", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T0", "N3", "MX", "VALUE:IVNOS" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "N2a", "MX", "ERROR:" ], [ "Tis", "N2b", "MX", "ERROR:" ], [ "Tis", "N2c", "MX", "ERROR:" ], [ "Tis", "N2NOS", "MX", "ERROR:" ], [ "Tis", "N3", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1a", "N0", "MX", "VALUE:UNK" ], [ "T1a", "N1", "MX", "VALUE:UNK" ], [ "T1a", "N2a", "MX", "VALUE:IVNOS" ], [ "T1a", "N2b", "MX", "VALUE:IVNOS" ], [ "T1a", "N2c", "MX", "VALUE:IVNOS" ], [ "T1a", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T1a", "N3", "MX", "VALUE:IVNOS" ], [ "T1a", "NX", "MX", "VALUE:UNK" ], [ "T1b", "N0", "MX", "VALUE:UNK" ], [ "T1b", "N1", "MX", "VALUE:UNK" ], [ "T1b", "N2a", "MX", "VALUE:IVNOS" ], [ "T1b", "N2b", "MX", "VALUE:IVNOS" ], [ "T1b", "N2c", "MX", "VALUE:IVNOS" ], [ "T1b", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T1b", "N3", "MX", "VALUE:IVNOS" ], [ "T1b", "NX", "MX", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "VALUE:UNK" ], [ "T1NOS", "N2a", "MX", "VALUE:IVNOS" ], [ "T1NOS", "N2b", "MX", "VALUE:IVNOS" ], [ "T1NOS", "N2c", "MX", "VALUE:IVNOS" ], [ "T1NOS", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T1NOS", "N3", "MX", "VALUE:IVNOS" ], [ "T1NOS", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "N2a", "MX", "VALUE:IVNOS" ], [ "T2", "N2b", "MX", "VALUE:IVNOS" ], [ "T2", "N2c", "MX", "VALUE:IVNOS" ], [ "T2", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T2", "N3", "MX", "VALUE:IVNOS" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N2a", "MX", "VALUE:IVNOS" ], [ "T3", "N2b", "MX", "VALUE:IVNOS" ], [ "T3", "N2c", "MX", "VALUE:IVNOS" ], [ "T3", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T3", "N3", "MX", "VALUE:IVNOS" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4a", "N0", "MX", "VALUE:IVNOS" ], [ "T4a", "N1", "MX", "VALUE:IVNOS" ], [ "T4a", "N2a", "MX", "VALUE:IVNOS" ], [ "T4a", "N2b", "MX", "VALUE:IVNOS" ], [ "T4a", "N2c", "MX", "VALUE:IVNOS" ], [ "T4a", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T4a", "N3", "MX", "VALUE:IVNOS" ], [ "T4a", "NX", "MX", "VALUE:IVNOS" ], [ "T4b", "N0", "MX", "VALUE:IVNOS" ], [ "T4b", "N1", "MX", "VALUE:IVNOS" ], [ "T4b", "N2a", "MX", "VALUE:IVNOS" ], [ "T4b", "N2b", "MX", "VALUE:IVNOS" ], [ "T4b", "N2c", "MX", "VALUE:IVNOS" ], [ "T4b", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T4b", "N3", "MX", "VALUE:IVNOS" ], [ "T4b", "NX", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N0", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N1", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2a", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2b", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2c", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N3", "MX", "VALUE:IVNOS" ], [ "T4NOS", "NX", "MX", "VALUE:IVNOS" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2a", "MX", "VALUE:IVNOS" ], [ "TX", "N2b", "MX", "VALUE:IVNOS" ], [ "TX", "N2c", "MX", "VALUE:IVNOS" ], [ "TX", "N2NOS", "MX", "VALUE:IVNOS" ], [ "TX", "N3", "MX", "VALUE:IVNOS" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbq.json deleted file mode 100644 index d3e778cd6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbq.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc6_stage_qbq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:49.441Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "nodes_eval", - "name" : "Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", " ", "ERROR:" ], [ "T0", "N0", "M0", "0,1,5,9", "ERROR:" ], [ "T0", "N0", "M0", "2,3,6,8", "ERROR:" ], [ "T0", "N1", "M0", " ", "VALUE:III" ], [ "T0", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N1", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N1a", "M0", " ", "VALUE:IIINOS" ], [ "T0", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N1a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N1b", "M0", " ", "VALUE:IIINOS" ], [ "T0", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N1b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T0", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N2", "M0", " ", "VALUE:III" ], [ "T0", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T0", "N2a", "M0", " ", "VALUE:IIINOS" ], [ "T0", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N2a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N2b", "M0", " ", "VALUE:IIINOS" ], [ "T0", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N2b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T0", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T0", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T0", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N3", "M0", " ", "VALUE:IIIC" ], [ "T0", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T0", "NX", "M0", " ", "VALUE:UNK" ], [ "T0", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T0", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "Tis", "N0", "M0", " ", "VALUE:0" ], [ "Tis", "N0", "M0", "0,1,5,9", "VALUE:0" ], [ "Tis", "N0", "M0", "2,3,6,8", "VALUE:0" ], [ "Tis", "N1", "M0", " ", "ERROR:" ], [ "Tis", "N1", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "M0", " ", "ERROR:" ], [ "Tis", "N1a", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "M0", " ", "ERROR:" ], [ "Tis", "N1b", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "M0", " ", "ERROR:" ], [ "Tis", "N1NOS", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "M0", " ", "ERROR:" ], [ "Tis", "N2", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N2a", "M0", " ", "ERROR:" ], [ "Tis", "N2a", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N2a", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N2b", "M0", " ", "ERROR:" ], [ "Tis", "N2b", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N2b", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N2c", "M0", " ", "ERROR:" ], [ "Tis", "N2c", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N2c", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N2NOS", "M0", " ", "ERROR:" ], [ "Tis", "N2NOS", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N2NOS", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N3", "M0", " ", "ERROR:" ], [ "Tis", "N3", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N3", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "M0", " ", "VALUE:0" ], [ "Tis", "NX", "M0", "0,1,5,9", "VALUE:0" ], [ "Tis", "NX", "M0", "2,3,6,8", "VALUE:0" ], [ "T1a", "N0", "M0", " ", "VALUE:IA" ], [ "T1a", "N0", "M0", "0,1,5,9", "VALUE:IA" ], [ "T1a", "N0", "M0", "2,3,6,8", "VALUE:IA" ], [ "T1a", "N1", "M0", " ", "VALUE:III" ], [ "T1a", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T1a", "N1a", "M0", " ", "VALUE:IIIA" ], [ "T1a", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N1a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T1a", "N1b", "M0", " ", "VALUE:IIIB" ], [ "T1a", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N1b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T1a", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T1a", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1a", "N2", "M0", " ", "VALUE:III" ], [ "T1a", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T1a", "N2a", "M0", " ", "VALUE:IIIA" ], [ "T1a", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N2a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T1a", "N2b", "M0", " ", "VALUE:IIIB" ], [ "T1a", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N2b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T1a", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T1a", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T1a", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T1a", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1a", "N3", "M0", " ", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T1a", "NX", "M0", " ", "VALUE:UNK" ], [ "T1a", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T1a", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T1b", "N0", "M0", " ", "VALUE:IB" ], [ "T1b", "N0", "M0", "0,1,5,9", "VALUE:IB" ], [ "T1b", "N0", "M0", "2,3,6,8", "VALUE:IB" ], [ "T1b", "N1", "M0", " ", "VALUE:III" ], [ "T1b", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T1b", "N1a", "M0", " ", "VALUE:IIIB" ], [ "T1b", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N1a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T1b", "N1b", "M0", " ", "VALUE:IIIC" ], [ "T1b", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N1b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T1b", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T1b", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1b", "N2", "M0", " ", "VALUE:III" ], [ "T1b", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T1b", "N2a", "M0", " ", "VALUE:IIIB" ], [ "T1b", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N2a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T1b", "N2b", "M0", " ", "VALUE:IIIC" ], [ "T1b", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N2b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T1b", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T1b", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T1b", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T1b", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1b", "N3", "M0", " ", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T1b", "NX", "M0", " ", "VALUE:UNK" ], [ "T1b", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T1b", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", " ", "VALUE:INOS" ], [ "T1NOS", "N0", "M0", "0,1,5,9", "VALUE:INOS" ], [ "T1NOS", "N0", "M0", "2,3,6,8", "VALUE:INOS" ], [ "T1NOS", "N1", "M0", " ", "VALUE:III" ], [ "T1NOS", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T1NOS", "N1a", "M0", " ", "VALUE:IIINOS" ], [ "T1NOS", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N1a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1NOS", "N1b", "M0", " ", "VALUE:IIINOS" ], [ "T1NOS", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N1b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1NOS", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T1NOS", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1NOS", "N2", "M0", " ", "VALUE:III" ], [ "T1NOS", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T1NOS", "N2a", "M0", " ", "VALUE:IIINOS" ], [ "T1NOS", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N2a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1NOS", "N2b", "M0", " ", "VALUE:IIINOS" ], [ "T1NOS", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N2b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1NOS", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T1NOS", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T1NOS", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T1NOS", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1NOS", "N3", "M0", " ", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T1NOS", "NX", "M0", " ", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T2a", "N0", "M0", " ", "VALUE:IB" ], [ "T2a", "N0", "M0", "0,1,5,9", "VALUE:IB" ], [ "T2a", "N0", "M0", "2,3,6,8", "VALUE:IB" ], [ "T2a", "N1", "M0", " ", "VALUE:III" ], [ "T2a", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T2a", "N1a", "M0", " ", "VALUE:IIIA" ], [ "T2a", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N1a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T2a", "N1b", "M0", " ", "VALUE:IIIB" ], [ "T2a", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N1b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T2a", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T2a", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2a", "N2", "M0", " ", "VALUE:III" ], [ "T2a", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T2a", "N2a", "M0", " ", "VALUE:IIIA" ], [ "T2a", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N2a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T2a", "N2b", "M0", " ", "VALUE:IIIB" ], [ "T2a", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N2b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T2a", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T2a", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T2a", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T2a", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2a", "N3", "M0", " ", "VALUE:IIIC" ], [ "T2a", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T2a", "NX", "M0", " ", "VALUE:UNK" ], [ "T2a", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T2a", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T2b", "N0", "M0", " ", "VALUE:IIA" ], [ "T2b", "N0", "M0", "0,1,5,9", "VALUE:IIA" ], [ "T2b", "N0", "M0", "2,3,6,8", "VALUE:IIA" ], [ "T2b", "N1", "M0", " ", "VALUE:III" ], [ "T2b", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T2b", "N1a", "M0", " ", "VALUE:IIIB" ], [ "T2b", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N1a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T2b", "N1b", "M0", " ", "VALUE:IIIC" ], [ "T2b", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N1b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T2b", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T2b", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2b", "N2", "M0", " ", "VALUE:III" ], [ "T2b", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T2b", "N2a", "M0", " ", "VALUE:IIIB" ], [ "T2b", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N2a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T2b", "N2b", "M0", " ", "VALUE:IIIC" ], [ "T2b", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N2b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T2b", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T2b", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T2b", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T2b", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2b", "N3", "M0", " ", "VALUE:IIIC" ], [ "T2b", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T2b", "NX", "M0", " ", "VALUE:UNK" ], [ "T2b", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T2b", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", " ", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "N1", "M0", " ", "VALUE:III" ], [ "T2NOS", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T2NOS", "N1a", "M0", " ", "VALUE:IIINOS" ], [ "T2NOS", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N1a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2NOS", "N1b", "M0", " ", "VALUE:IIINOS" ], [ "T2NOS", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N1b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2NOS", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T2NOS", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2NOS", "N2", "M0", " ", "VALUE:III" ], [ "T2NOS", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T2NOS", "N2a", "M0", " ", "VALUE:IIINOS" ], [ "T2NOS", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N2a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2NOS", "N2b", "M0", " ", "VALUE:IIINOS" ], [ "T2NOS", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N2b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2NOS", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T2NOS", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T2NOS", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T2NOS", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2NOS", "N3", "M0", " ", "VALUE:IIIC" ], [ "T2NOS", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T2NOS", "NX", "M0", " ", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T3a", "N0", "M0", " ", "VALUE:IIA" ], [ "T3a", "N0", "M0", "0,1,5,9", "VALUE:IIA" ], [ "T3a", "N0", "M0", "2,3,6,8", "VALUE:IIA" ], [ "T3a", "N1", "M0", " ", "VALUE:III" ], [ "T3a", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T3a", "N1a", "M0", " ", "VALUE:IIIA" ], [ "T3a", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N1a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T3a", "N1b", "M0", " ", "VALUE:IIIB" ], [ "T3a", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N1b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T3a", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T3a", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3a", "N2", "M0", " ", "VALUE:III" ], [ "T3a", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T3a", "N2a", "M0", " ", "VALUE:IIIA" ], [ "T3a", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N2a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T3a", "N2b", "M0", " ", "VALUE:IIIB" ], [ "T3a", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N2b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T3a", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T3a", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T3a", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T3a", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3a", "N3", "M0", " ", "VALUE:IIIC" ], [ "T3a", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T3a", "NX", "M0", " ", "VALUE:UNK" ], [ "T3a", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T3a", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T3b", "N0", "M0", " ", "VALUE:IIB" ], [ "T3b", "N0", "M0", "0,1,5,9", "VALUE:IIB" ], [ "T3b", "N0", "M0", "2,3,6,8", "VALUE:IIB" ], [ "T3b", "N1", "M0", " ", "VALUE:III" ], [ "T3b", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T3b", "N1a", "M0", " ", "VALUE:IIIB" ], [ "T3b", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N1a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T3b", "N1b", "M0", " ", "VALUE:IIIC" ], [ "T3b", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N1b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T3b", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T3b", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3b", "N2", "M0", " ", "VALUE:III" ], [ "T3b", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T3b", "N2a", "M0", " ", "VALUE:IIIB" ], [ "T3b", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N2a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T3b", "N2b", "M0", " ", "VALUE:IIIC" ], [ "T3b", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N2b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T3b", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T3b", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T3b", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T3b", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3b", "N3", "M0", " ", "VALUE:IIIC" ], [ "T3b", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T3b", "NX", "M0", " ", "VALUE:UNK" ], [ "T3b", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T3b", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T3NOS", "N0", "M0", " ", "VALUE:IINOS" ], [ "T3NOS", "N0", "M0", "0,1,5,9", "VALUE:IINOS" ], [ "T3NOS", "N0", "M0", "2,3,6,8", "VALUE:IINOS" ], [ "T3NOS", "N1", "M0", " ", "VALUE:III" ], [ "T3NOS", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T3NOS", "N1a", "M0", " ", "VALUE:IIINOS" ], [ "T3NOS", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N1a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3NOS", "N1b", "M0", " ", "VALUE:IIINOS" ], [ "T3NOS", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N1b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3NOS", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T3NOS", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3NOS", "N2", "M0", " ", "VALUE:III" ], [ "T3NOS", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T3NOS", "N2a", "M0", " ", "VALUE:IIINOS" ], [ "T3NOS", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N2a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3NOS", "N2b", "M0", " ", "VALUE:IIINOS" ], [ "T3NOS", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N2b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3NOS", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T3NOS", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T3NOS", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T3NOS", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3NOS", "N3", "M0", " ", "VALUE:IIIC" ], [ "T3NOS", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T3NOS", "NX", "M0", " ", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T4a", "N0", "M0", " ", "VALUE:IIB" ], [ "T4a", "N0", "M0", "0,1,5,9", "VALUE:IIB" ], [ "T4a", "N0", "M0", "2,3,6,8", "VALUE:IIB" ], [ "T4a", "N1", "M0", " ", "VALUE:III" ], [ "T4a", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T4a", "N1a", "M0", " ", "VALUE:IIIA" ], [ "T4a", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N1a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T4a", "N1b", "M0", " ", "VALUE:IIIB" ], [ "T4a", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N1b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T4a", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T4a", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4a", "N2", "M0", " ", "VALUE:III" ], [ "T4a", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T4a", "N2a", "M0", " ", "VALUE:IIIA" ], [ "T4a", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N2a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T4a", "N2b", "M0", " ", "VALUE:IIIB" ], [ "T4a", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N2b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T4a", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T4a", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T4a", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T4a", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4a", "N3", "M0", " ", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T4a", "NX", "M0", " ", "VALUE:UNK" ], [ "T4a", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T4a", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T4b", "N0", "M0", " ", "VALUE:IIC" ], [ "T4b", "N0", "M0", "0,1,5,9", "VALUE:IIC" ], [ "T4b", "N0", "M0", "2,3,6,8", "VALUE:IIC" ], [ "T4b", "N1", "M0", " ", "VALUE:III" ], [ "T4b", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T4b", "N1a", "M0", " ", "VALUE:IIIB" ], [ "T4b", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N1a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T4b", "N1b", "M0", " ", "VALUE:IIIC" ], [ "T4b", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N1b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T4b", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T4b", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4b", "N2", "M0", " ", "VALUE:III" ], [ "T4b", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T4b", "N2a", "M0", " ", "VALUE:IIIB" ], [ "T4b", "N2a", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T4b", "N2a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T4b", "N2b", "M0", " ", "VALUE:IIIC" ], [ "T4b", "N2b", "M0", "0,1,5,9", "VALUE:IIIC" ], [ "T4b", "N2b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T4b", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T4b", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T4b", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T4b", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4b", "N3", "M0", " ", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T4b", "NX", "M0", " ", "VALUE:UNK" ], [ "T4b", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T4b", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T4NOS", "N0", "M0", " ", "VALUE:IINOS" ], [ "T4NOS", "N0", "M0", "0,1,5,9", "VALUE:IINOS" ], [ "T4NOS", "N0", "M0", "2,3,6,8", "VALUE:IINOS" ], [ "T4NOS", "N1", "M0", " ", "VALUE:III" ], [ "T4NOS", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T4NOS", "N1a", "M0", " ", "VALUE:IIINOS" ], [ "T4NOS", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N1a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4NOS", "N1b", "M0", " ", "VALUE:IIINOS" ], [ "T4NOS", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N1b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4NOS", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T4NOS", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4NOS", "N2", "M0", " ", "VALUE:III" ], [ "T4NOS", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T4NOS", "N2a", "M0", " ", "VALUE:IIINOS" ], [ "T4NOS", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N2a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4NOS", "N2b", "M0", " ", "VALUE:IIINOS" ], [ "T4NOS", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N2b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4NOS", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T4NOS", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T4NOS", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T4NOS", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4NOS", "N3", "M0", " ", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T4NOS", "NX", "M0", " ", "VALUE:UNK" ], [ "T4NOS", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T4NOS", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N0", "M0", " ", "VALUE:UNK" ], [ "TX", "N0", "M0", "0,1,5,9", "VALUE:UNK" ], [ "TX", "N0", "M0", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N1", "M0", " ", "VALUE:III" ], [ "TX", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "TX", "N1a", "M0", " ", "VALUE:IIINOS" ], [ "TX", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N1a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "TX", "N1b", "M0", " ", "VALUE:IIINOS" ], [ "TX", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N1b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "TX", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "TX", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "TX", "N2", "M0", " ", "VALUE:III" ], [ "TX", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "TX", "N2a", "M0", " ", "VALUE:IIINOS" ], [ "TX", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N2a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "TX", "N2b", "M0", " ", "VALUE:IIINOS" ], [ "TX", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N2b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "TX", "N2c", "M0", " ", "VALUE:IIIB" ], [ "TX", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "TX", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "TX", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "TX", "N3", "M0", " ", "VALUE:IIIC" ], [ "TX", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "TX", "NX", "M0", " ", "VALUE:UNK" ], [ "TX", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "TX", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T0", "N0", "M1a", " ", "VALUE:IV" ], [ "T0", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1", "M1a", " ", "VALUE:IV" ], [ "T0", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1a", "M1a", " ", "VALUE:IV" ], [ "T0", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1b", "M1a", " ", "VALUE:IV" ], [ "T0", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T0", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2", "M1a", " ", "VALUE:IV" ], [ "T0", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2a", "M1a", " ", "VALUE:IV" ], [ "T0", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2b", "M1a", " ", "VALUE:IV" ], [ "T0", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2c", "M1a", " ", "VALUE:IV" ], [ "T0", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T0", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N3", "M1a", " ", "VALUE:IV" ], [ "T0", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "NX", "M1a", " ", "VALUE:IV" ], [ "T0", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "Tis", "N0", "M1a", " ", "ERROR:" ], [ "Tis", "N0", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N0", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N1", "M1a", " ", "ERROR:" ], [ "Tis", "N1", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "M1a", " ", "ERROR:" ], [ "Tis", "N1a", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "M1a", " ", "ERROR:" ], [ "Tis", "N1b", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "M1a", " ", "ERROR:" ], [ "Tis", "N1NOS", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "M1a", " ", "ERROR:" ], [ "Tis", "N2", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N2a", "M1a", " ", "ERROR:" ], [ "Tis", "N2a", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N2a", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N2b", "M1a", " ", "ERROR:" ], [ "Tis", "N2b", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N2b", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N2c", "M1a", " ", "ERROR:" ], [ "Tis", "N2c", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N2c", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N2NOS", "M1a", " ", "ERROR:" ], [ "Tis", "N2NOS", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N2NOS", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N3", "M1a", " ", "ERROR:" ], [ "Tis", "N3", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N3", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "M1a", " ", "ERROR:" ], [ "Tis", "NX", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "NX", "M1a", "2,3,6,8", "ERROR:" ], [ "T1a", "N0", "M1a", " ", "VALUE:IV" ], [ "T1a", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1", "M1a", " ", "VALUE:IV" ], [ "T1a", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1a", "M1a", " ", "VALUE:IV" ], [ "T1a", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1b", "M1a", " ", "VALUE:IV" ], [ "T1a", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T1a", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2", "M1a", " ", "VALUE:IV" ], [ "T1a", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2a", "M1a", " ", "VALUE:IV" ], [ "T1a", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2b", "M1a", " ", "VALUE:IV" ], [ "T1a", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2c", "M1a", " ", "VALUE:IV" ], [ "T1a", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T1a", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N3", "M1a", " ", "VALUE:IV" ], [ "T1a", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "NX", "M1a", " ", "VALUE:IV" ], [ "T1a", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N0", "M1a", " ", "VALUE:IV" ], [ "T1b", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1", "M1a", " ", "VALUE:IV" ], [ "T1b", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1a", "M1a", " ", "VALUE:IV" ], [ "T1b", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1b", "M1a", " ", "VALUE:IV" ], [ "T1b", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T1b", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2", "M1a", " ", "VALUE:IV" ], [ "T1b", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2a", "M1a", " ", "VALUE:IV" ], [ "T1b", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2b", "M1a", " ", "VALUE:IV" ], [ "T1b", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2c", "M1a", " ", "VALUE:IV" ], [ "T1b", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T1b", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N3", "M1a", " ", "VALUE:IV" ], [ "T1b", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "NX", "M1a", " ", "VALUE:IV" ], [ "T1b", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1a", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1b", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2a", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2b", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2c", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N3", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N0", "M1a", " ", "VALUE:IV" ], [ "T2a", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1", "M1a", " ", "VALUE:IV" ], [ "T2a", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1a", "M1a", " ", "VALUE:IV" ], [ "T2a", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1b", "M1a", " ", "VALUE:IV" ], [ "T2a", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T2a", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2", "M1a", " ", "VALUE:IV" ], [ "T2a", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2a", "M1a", " ", "VALUE:IV" ], [ "T2a", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2b", "M1a", " ", "VALUE:IV" ], [ "T2a", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2c", "M1a", " ", "VALUE:IV" ], [ "T2a", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T2a", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N3", "M1a", " ", "VALUE:IV" ], [ "T2a", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "NX", "M1a", " ", "VALUE:IV" ], [ "T2a", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N0", "M1a", " ", "VALUE:IV" ], [ "T2b", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1", "M1a", " ", "VALUE:IV" ], [ "T2b", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1a", "M1a", " ", "VALUE:IV" ], [ "T2b", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1b", "M1a", " ", "VALUE:IV" ], [ "T2b", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T2b", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2", "M1a", " ", "VALUE:IV" ], [ "T2b", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2a", "M1a", " ", "VALUE:IV" ], [ "T2b", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2b", "M1a", " ", "VALUE:IV" ], [ "T2b", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2c", "M1a", " ", "VALUE:IV" ], [ "T2b", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T2b", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N3", "M1a", " ", "VALUE:IV" ], [ "T2b", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "NX", "M1a", " ", "VALUE:IV" ], [ "T2b", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1a", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1b", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2a", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2b", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2c", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N3", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N0", "M1a", " ", "VALUE:IV" ], [ "T3a", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1", "M1a", " ", "VALUE:IV" ], [ "T3a", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1a", "M1a", " ", "VALUE:IV" ], [ "T3a", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1b", "M1a", " ", "VALUE:IV" ], [ "T3a", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T3a", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2", "M1a", " ", "VALUE:IV" ], [ "T3a", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2a", "M1a", " ", "VALUE:IV" ], [ "T3a", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2b", "M1a", " ", "VALUE:IV" ], [ "T3a", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2c", "M1a", " ", "VALUE:IV" ], [ "T3a", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T3a", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N3", "M1a", " ", "VALUE:IV" ], [ "T3a", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "NX", "M1a", " ", "VALUE:IV" ], [ "T3a", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N0", "M1a", " ", "VALUE:IV" ], [ "T3b", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1", "M1a", " ", "VALUE:IV" ], [ "T3b", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1a", "M1a", " ", "VALUE:IV" ], [ "T3b", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1b", "M1a", " ", "VALUE:IV" ], [ "T3b", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T3b", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2", "M1a", " ", "VALUE:IV" ], [ "T3b", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2a", "M1a", " ", "VALUE:IV" ], [ "T3b", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2b", "M1a", " ", "VALUE:IV" ], [ "T3b", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2c", "M1a", " ", "VALUE:IV" ], [ "T3b", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T3b", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N3", "M1a", " ", "VALUE:IV" ], [ "T3b", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "NX", "M1a", " ", "VALUE:IV" ], [ "T3b", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1a", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1b", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2a", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2b", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2c", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N3", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N0", "M1a", " ", "VALUE:IV" ], [ "T4a", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1", "M1a", " ", "VALUE:IV" ], [ "T4a", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1a", "M1a", " ", "VALUE:IV" ], [ "T4a", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1b", "M1a", " ", "VALUE:IV" ], [ "T4a", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T4a", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2", "M1a", " ", "VALUE:IV" ], [ "T4a", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2a", "M1a", " ", "VALUE:IV" ], [ "T4a", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2b", "M1a", " ", "VALUE:IV" ], [ "T4a", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2c", "M1a", " ", "VALUE:IV" ], [ "T4a", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T4a", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N3", "M1a", " ", "VALUE:IV" ], [ "T4a", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "NX", "M1a", " ", "VALUE:IV" ], [ "T4a", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N0", "M1a", " ", "VALUE:IV" ], [ "T4b", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1", "M1a", " ", "VALUE:IV" ], [ "T4b", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1a", "M1a", " ", "VALUE:IV" ], [ "T4b", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1b", "M1a", " ", "VALUE:IV" ], [ "T4b", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T4b", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2", "M1a", " ", "VALUE:IV" ], [ "T4b", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2a", "M1a", " ", "VALUE:IV" ], [ "T4b", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2b", "M1a", " ", "VALUE:IV" ], [ "T4b", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2c", "M1a", " ", "VALUE:IV" ], [ "T4b", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T4b", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N3", "M1a", " ", "VALUE:IV" ], [ "T4b", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "NX", "M1a", " ", "VALUE:IV" ], [ "T4b", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N0", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1a", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1b", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2a", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2b", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2c", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N3", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "NX", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N0", "M1a", " ", "VALUE:IV" ], [ "TX", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1", "M1a", " ", "VALUE:IV" ], [ "TX", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1a", "M1a", " ", "VALUE:IV" ], [ "TX", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1b", "M1a", " ", "VALUE:IV" ], [ "TX", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "TX", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2", "M1a", " ", "VALUE:IV" ], [ "TX", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2a", "M1a", " ", "VALUE:IV" ], [ "TX", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2b", "M1a", " ", "VALUE:IV" ], [ "TX", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2c", "M1a", " ", "VALUE:IV" ], [ "TX", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "TX", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N3", "M1a", " ", "VALUE:IV" ], [ "TX", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "NX", "M1a", " ", "VALUE:IV" ], [ "TX", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N0", "M1b", " ", "VALUE:IV" ], [ "T0", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1", "M1b", " ", "VALUE:IV" ], [ "T0", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1a", "M1b", " ", "VALUE:IV" ], [ "T0", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1b", "M1b", " ", "VALUE:IV" ], [ "T0", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T0", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2", "M1b", " ", "VALUE:IV" ], [ "T0", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2a", "M1b", " ", "VALUE:IV" ], [ "T0", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2b", "M1b", " ", "VALUE:IV" ], [ "T0", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2c", "M1b", " ", "VALUE:IV" ], [ "T0", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T0", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N3", "M1b", " ", "VALUE:IV" ], [ "T0", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "NX", "M1b", " ", "VALUE:IV" ], [ "T0", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "Tis", "N0", "M1b", " ", "ERROR:" ], [ "Tis", "N0", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N0", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N1", "M1b", " ", "ERROR:" ], [ "Tis", "N1", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "M1b", " ", "ERROR:" ], [ "Tis", "N1a", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "M1b", " ", "ERROR:" ], [ "Tis", "N1b", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "M1b", " ", "ERROR:" ], [ "Tis", "N1NOS", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "M1b", " ", "ERROR:" ], [ "Tis", "N2", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N2a", "M1b", " ", "ERROR:" ], [ "Tis", "N2a", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N2a", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N2b", "M1b", " ", "ERROR:" ], [ "Tis", "N2b", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N2b", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N2c", "M1b", " ", "ERROR:" ], [ "Tis", "N2c", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N2c", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N2NOS", "M1b", " ", "ERROR:" ], [ "Tis", "N2NOS", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N2NOS", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N3", "M1b", " ", "ERROR:" ], [ "Tis", "N3", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N3", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "M1b", " ", "ERROR:" ], [ "Tis", "NX", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "NX", "M1b", "2,3,6,8", "ERROR:" ], [ "T1a", "N0", "M1b", " ", "VALUE:IV" ], [ "T1a", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1", "M1b", " ", "VALUE:IV" ], [ "T1a", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1a", "M1b", " ", "VALUE:IV" ], [ "T1a", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1b", "M1b", " ", "VALUE:IV" ], [ "T1a", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T1a", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2", "M1b", " ", "VALUE:IV" ], [ "T1a", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2a", "M1b", " ", "VALUE:IV" ], [ "T1a", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2b", "M1b", " ", "VALUE:IV" ], [ "T1a", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2c", "M1b", " ", "VALUE:IV" ], [ "T1a", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T1a", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N3", "M1b", " ", "VALUE:IV" ], [ "T1a", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "NX", "M1b", " ", "VALUE:IV" ], [ "T1a", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N0", "M1b", " ", "VALUE:IV" ], [ "T1b", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1", "M1b", " ", "VALUE:IV" ], [ "T1b", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1a", "M1b", " ", "VALUE:IV" ], [ "T1b", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1b", "M1b", " ", "VALUE:IV" ], [ "T1b", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T1b", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2", "M1b", " ", "VALUE:IV" ], [ "T1b", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2a", "M1b", " ", "VALUE:IV" ], [ "T1b", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2b", "M1b", " ", "VALUE:IV" ], [ "T1b", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2c", "M1b", " ", "VALUE:IV" ], [ "T1b", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T1b", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N3", "M1b", " ", "VALUE:IV" ], [ "T1b", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "NX", "M1b", " ", "VALUE:IV" ], [ "T1b", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1a", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1b", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2a", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2b", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2c", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N3", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N0", "M1b", " ", "VALUE:IV" ], [ "T2a", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1", "M1b", " ", "VALUE:IV" ], [ "T2a", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1a", "M1b", " ", "VALUE:IV" ], [ "T2a", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1b", "M1b", " ", "VALUE:IV" ], [ "T2a", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T2a", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2", "M1b", " ", "VALUE:IV" ], [ "T2a", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2a", "M1b", " ", "VALUE:IV" ], [ "T2a", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2b", "M1b", " ", "VALUE:IV" ], [ "T2a", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2c", "M1b", " ", "VALUE:IV" ], [ "T2a", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T2a", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N3", "M1b", " ", "VALUE:IV" ], [ "T2a", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "NX", "M1b", " ", "VALUE:IV" ], [ "T2a", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N0", "M1b", " ", "VALUE:IV" ], [ "T2b", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1", "M1b", " ", "VALUE:IV" ], [ "T2b", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1a", "M1b", " ", "VALUE:IV" ], [ "T2b", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1b", "M1b", " ", "VALUE:IV" ], [ "T2b", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T2b", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2", "M1b", " ", "VALUE:IV" ], [ "T2b", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2a", "M1b", " ", "VALUE:IV" ], [ "T2b", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2b", "M1b", " ", "VALUE:IV" ], [ "T2b", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2c", "M1b", " ", "VALUE:IV" ], [ "T2b", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T2b", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N3", "M1b", " ", "VALUE:IV" ], [ "T2b", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "NX", "M1b", " ", "VALUE:IV" ], [ "T2b", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1a", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1b", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2a", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2b", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2c", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N3", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N0", "M1b", " ", "VALUE:IV" ], [ "T3a", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1", "M1b", " ", "VALUE:IV" ], [ "T3a", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1a", "M1b", " ", "VALUE:IV" ], [ "T3a", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1b", "M1b", " ", "VALUE:IV" ], [ "T3a", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T3a", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2", "M1b", " ", "VALUE:IV" ], [ "T3a", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2a", "M1b", " ", "VALUE:IV" ], [ "T3a", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2b", "M1b", " ", "VALUE:IV" ], [ "T3a", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2c", "M1b", " ", "VALUE:IV" ], [ "T3a", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T3a", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N3", "M1b", " ", "VALUE:IV" ], [ "T3a", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "NX", "M1b", " ", "VALUE:IV" ], [ "T3a", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N0", "M1b", " ", "VALUE:IV" ], [ "T3b", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1", "M1b", " ", "VALUE:IV" ], [ "T3b", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1a", "M1b", " ", "VALUE:IV" ], [ "T3b", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1b", "M1b", " ", "VALUE:IV" ], [ "T3b", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T3b", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2", "M1b", " ", "VALUE:IV" ], [ "T3b", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2a", "M1b", " ", "VALUE:IV" ], [ "T3b", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2b", "M1b", " ", "VALUE:IV" ], [ "T3b", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2c", "M1b", " ", "VALUE:IV" ], [ "T3b", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T3b", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N3", "M1b", " ", "VALUE:IV" ], [ "T3b", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "NX", "M1b", " ", "VALUE:IV" ], [ "T3b", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1a", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1b", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2a", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2b", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2c", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N3", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N0", "M1b", " ", "VALUE:IV" ], [ "T4a", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1", "M1b", " ", "VALUE:IV" ], [ "T4a", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1a", "M1b", " ", "VALUE:IV" ], [ "T4a", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1b", "M1b", " ", "VALUE:IV" ], [ "T4a", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T4a", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2", "M1b", " ", "VALUE:IV" ], [ "T4a", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2a", "M1b", " ", "VALUE:IV" ], [ "T4a", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2b", "M1b", " ", "VALUE:IV" ], [ "T4a", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2c", "M1b", " ", "VALUE:IV" ], [ "T4a", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T4a", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N3", "M1b", " ", "VALUE:IV" ], [ "T4a", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "NX", "M1b", " ", "VALUE:IV" ], [ "T4a", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N0", "M1b", " ", "VALUE:IV" ], [ "T4b", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1", "M1b", " ", "VALUE:IV" ], [ "T4b", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1a", "M1b", " ", "VALUE:IV" ], [ "T4b", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1b", "M1b", " ", "VALUE:IV" ], [ "T4b", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T4b", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2", "M1b", " ", "VALUE:IV" ], [ "T4b", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2a", "M1b", " ", "VALUE:IV" ], [ "T4b", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2b", "M1b", " ", "VALUE:IV" ], [ "T4b", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2c", "M1b", " ", "VALUE:IV" ], [ "T4b", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T4b", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N3", "M1b", " ", "VALUE:IV" ], [ "T4b", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "NX", "M1b", " ", "VALUE:IV" ], [ "T4b", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N0", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1a", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1b", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2a", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2b", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2c", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N3", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "NX", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N0", "M1b", " ", "VALUE:IV" ], [ "TX", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1", "M1b", " ", "VALUE:IV" ], [ "TX", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1a", "M1b", " ", "VALUE:IV" ], [ "TX", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1b", "M1b", " ", "VALUE:IV" ], [ "TX", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "TX", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2", "M1b", " ", "VALUE:IV" ], [ "TX", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2a", "M1b", " ", "VALUE:IV" ], [ "TX", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2b", "M1b", " ", "VALUE:IV" ], [ "TX", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2c", "M1b", " ", "VALUE:IV" ], [ "TX", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "TX", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N3", "M1b", " ", "VALUE:IV" ], [ "TX", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "NX", "M1b", " ", "VALUE:IV" ], [ "TX", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N0", "M1c", " ", "VALUE:IV" ], [ "T0", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1", "M1c", " ", "VALUE:IV" ], [ "T0", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1a", "M1c", " ", "VALUE:IV" ], [ "T0", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1b", "M1c", " ", "VALUE:IV" ], [ "T0", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T0", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2", "M1c", " ", "VALUE:IV" ], [ "T0", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2a", "M1c", " ", "VALUE:IV" ], [ "T0", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2b", "M1c", " ", "VALUE:IV" ], [ "T0", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2c", "M1c", " ", "VALUE:IV" ], [ "T0", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T0", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N3", "M1c", " ", "VALUE:IV" ], [ "T0", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "NX", "M1c", " ", "VALUE:IV" ], [ "T0", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "Tis", "N0", "M1c", " ", "ERROR:" ], [ "Tis", "N0", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N0", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N1", "M1c", " ", "ERROR:" ], [ "Tis", "N1", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "M1c", " ", "ERROR:" ], [ "Tis", "N1a", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "M1c", " ", "ERROR:" ], [ "Tis", "N1b", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "M1c", " ", "ERROR:" ], [ "Tis", "N1NOS", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "M1c", " ", "ERROR:" ], [ "Tis", "N2", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N2a", "M1c", " ", "ERROR:" ], [ "Tis", "N2a", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N2a", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N2b", "M1c", " ", "ERROR:" ], [ "Tis", "N2b", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N2b", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N2c", "M1c", " ", "ERROR:" ], [ "Tis", "N2c", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N2c", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N2NOS", "M1c", " ", "ERROR:" ], [ "Tis", "N2NOS", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N2NOS", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N3", "M1c", " ", "ERROR:" ], [ "Tis", "N3", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N3", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "M1c", " ", "ERROR:" ], [ "Tis", "NX", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "NX", "M1c", "2,3,6,8", "ERROR:" ], [ "T1a", "N0", "M1c", " ", "VALUE:IV" ], [ "T1a", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1", "M1c", " ", "VALUE:IV" ], [ "T1a", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1a", "M1c", " ", "VALUE:IV" ], [ "T1a", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1b", "M1c", " ", "VALUE:IV" ], [ "T1a", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T1a", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2", "M1c", " ", "VALUE:IV" ], [ "T1a", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2a", "M1c", " ", "VALUE:IV" ], [ "T1a", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2b", "M1c", " ", "VALUE:IV" ], [ "T1a", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2c", "M1c", " ", "VALUE:IV" ], [ "T1a", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T1a", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N3", "M1c", " ", "VALUE:IV" ], [ "T1a", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "NX", "M1c", " ", "VALUE:IV" ], [ "T1a", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N0", "M1c", " ", "VALUE:IV" ], [ "T1b", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1", "M1c", " ", "VALUE:IV" ], [ "T1b", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1a", "M1c", " ", "VALUE:IV" ], [ "T1b", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1b", "M1c", " ", "VALUE:IV" ], [ "T1b", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T1b", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2", "M1c", " ", "VALUE:IV" ], [ "T1b", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2a", "M1c", " ", "VALUE:IV" ], [ "T1b", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2b", "M1c", " ", "VALUE:IV" ], [ "T1b", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2c", "M1c", " ", "VALUE:IV" ], [ "T1b", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T1b", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N3", "M1c", " ", "VALUE:IV" ], [ "T1b", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "NX", "M1c", " ", "VALUE:IV" ], [ "T1b", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1a", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1b", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2a", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2b", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2c", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N3", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N0", "M1c", " ", "VALUE:IV" ], [ "T2a", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1", "M1c", " ", "VALUE:IV" ], [ "T2a", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1a", "M1c", " ", "VALUE:IV" ], [ "T2a", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1b", "M1c", " ", "VALUE:IV" ], [ "T2a", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T2a", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2", "M1c", " ", "VALUE:IV" ], [ "T2a", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2a", "M1c", " ", "VALUE:IV" ], [ "T2a", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2b", "M1c", " ", "VALUE:IV" ], [ "T2a", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2c", "M1c", " ", "VALUE:IV" ], [ "T2a", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T2a", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N3", "M1c", " ", "VALUE:IV" ], [ "T2a", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "NX", "M1c", " ", "VALUE:IV" ], [ "T2a", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N0", "M1c", " ", "VALUE:IV" ], [ "T2b", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1", "M1c", " ", "VALUE:IV" ], [ "T2b", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1a", "M1c", " ", "VALUE:IV" ], [ "T2b", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1b", "M1c", " ", "VALUE:IV" ], [ "T2b", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T2b", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2", "M1c", " ", "VALUE:IV" ], [ "T2b", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2a", "M1c", " ", "VALUE:IV" ], [ "T2b", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2b", "M1c", " ", "VALUE:IV" ], [ "T2b", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2c", "M1c", " ", "VALUE:IV" ], [ "T2b", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T2b", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N3", "M1c", " ", "VALUE:IV" ], [ "T2b", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "NX", "M1c", " ", "VALUE:IV" ], [ "T2b", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1a", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1b", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2a", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2b", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2c", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N3", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N0", "M1c", " ", "VALUE:IV" ], [ "T3a", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1", "M1c", " ", "VALUE:IV" ], [ "T3a", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1a", "M1c", " ", "VALUE:IV" ], [ "T3a", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1b", "M1c", " ", "VALUE:IV" ], [ "T3a", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T3a", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2", "M1c", " ", "VALUE:IV" ], [ "T3a", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2a", "M1c", " ", "VALUE:IV" ], [ "T3a", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2b", "M1c", " ", "VALUE:IV" ], [ "T3a", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2c", "M1c", " ", "VALUE:IV" ], [ "T3a", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T3a", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N3", "M1c", " ", "VALUE:IV" ], [ "T3a", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "NX", "M1c", " ", "VALUE:IV" ], [ "T3a", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N0", "M1c", " ", "VALUE:IV" ], [ "T3b", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1", "M1c", " ", "VALUE:IV" ], [ "T3b", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1a", "M1c", " ", "VALUE:IV" ], [ "T3b", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1b", "M1c", " ", "VALUE:IV" ], [ "T3b", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T3b", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2", "M1c", " ", "VALUE:IV" ], [ "T3b", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2a", "M1c", " ", "VALUE:IV" ], [ "T3b", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2b", "M1c", " ", "VALUE:IV" ], [ "T3b", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2c", "M1c", " ", "VALUE:IV" ], [ "T3b", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T3b", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N3", "M1c", " ", "VALUE:IV" ], [ "T3b", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "NX", "M1c", " ", "VALUE:IV" ], [ "T3b", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1a", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1b", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2a", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2b", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2c", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N3", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N0", "M1c", " ", "VALUE:IV" ], [ "T4a", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1", "M1c", " ", "VALUE:IV" ], [ "T4a", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1a", "M1c", " ", "VALUE:IV" ], [ "T4a", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1b", "M1c", " ", "VALUE:IV" ], [ "T4a", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T4a", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2", "M1c", " ", "VALUE:IV" ], [ "T4a", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2a", "M1c", " ", "VALUE:IV" ], [ "T4a", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2b", "M1c", " ", "VALUE:IV" ], [ "T4a", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2c", "M1c", " ", "VALUE:IV" ], [ "T4a", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T4a", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N3", "M1c", " ", "VALUE:IV" ], [ "T4a", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "NX", "M1c", " ", "VALUE:IV" ], [ "T4a", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N0", "M1c", " ", "VALUE:IV" ], [ "T4b", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1", "M1c", " ", "VALUE:IV" ], [ "T4b", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1a", "M1c", " ", "VALUE:IV" ], [ "T4b", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1b", "M1c", " ", "VALUE:IV" ], [ "T4b", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T4b", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2", "M1c", " ", "VALUE:IV" ], [ "T4b", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2a", "M1c", " ", "VALUE:IV" ], [ "T4b", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2b", "M1c", " ", "VALUE:IV" ], [ "T4b", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2c", "M1c", " ", "VALUE:IV" ], [ "T4b", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T4b", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N3", "M1c", " ", "VALUE:IV" ], [ "T4b", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "NX", "M1c", " ", "VALUE:IV" ], [ "T4b", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N0", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1a", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1b", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2a", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2b", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2c", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N3", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "NX", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N0", "M1c", " ", "VALUE:IV" ], [ "TX", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1", "M1c", " ", "VALUE:IV" ], [ "TX", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1a", "M1c", " ", "VALUE:IV" ], [ "TX", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1b", "M1c", " ", "VALUE:IV" ], [ "TX", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "TX", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2", "M1c", " ", "VALUE:IV" ], [ "TX", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2a", "M1c", " ", "VALUE:IV" ], [ "TX", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2b", "M1c", " ", "VALUE:IV" ], [ "TX", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2c", "M1c", " ", "VALUE:IV" ], [ "TX", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "TX", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N3", "M1c", " ", "VALUE:IV" ], [ "TX", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "NX", "M1c", " ", "VALUE:IV" ], [ "TX", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "Tis", "N0", "M1NOS", " ", "ERROR:" ], [ "Tis", "N0", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N0", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N1", "M1NOS", " ", "ERROR:" ], [ "Tis", "N1", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "M1NOS", " ", "ERROR:" ], [ "Tis", "N1a", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "M1NOS", " ", "ERROR:" ], [ "Tis", "N1b", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "M1NOS", " ", "ERROR:" ], [ "Tis", "N1NOS", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "M1NOS", " ", "ERROR:" ], [ "Tis", "N2", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N2a", "M1NOS", " ", "ERROR:" ], [ "Tis", "N2a", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N2a", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N2b", "M1NOS", " ", "ERROR:" ], [ "Tis", "N2b", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N2b", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N2c", "M1NOS", " ", "ERROR:" ], [ "Tis", "N2c", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N2c", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N2NOS", "M1NOS", " ", "ERROR:" ], [ "Tis", "N2NOS", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N2NOS", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N3", "M1NOS", " ", "ERROR:" ], [ "Tis", "N3", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N3", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "M1NOS", " ", "ERROR:" ], [ "Tis", "NX", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "NX", "M1NOS", "2,3,6,8", "ERROR:" ], [ "T1a", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N0", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N3", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "NX", "M1NOS", " ", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N0", "MX", " ", "VALUE:UNK" ], [ "T0", "N0", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T0", "N0", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T0", "N1", "MX", " ", "VALUE:UNK" ], [ "T0", "N1", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T0", "N1", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T0", "N1a", "MX", " ", "VALUE:UNK" ], [ "T0", "N1a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T0", "N1a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T0", "N1b", "MX", " ", "VALUE:UNK" ], [ "T0", "N1b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T0", "N1b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T0", "N1NOS", "MX", " ", "VALUE:UNK" ], [ "T0", "N1NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T0", "N1NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T0", "N2", "MX", " ", "VALUE:UNK" ], [ "T0", "N2", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T0", "N2", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T0", "N2a", "MX", " ", "VALUE:UNK" ], [ "T0", "N2a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T0", "N2a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T0", "N2b", "MX", " ", "VALUE:UNK" ], [ "T0", "N2b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T0", "N2b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T0", "N2c", "MX", " ", "VALUE:UNK" ], [ "T0", "N2c", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T0", "N2c", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T0", "N2NOS", "MX", " ", "VALUE:UNK" ], [ "T0", "N2NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T0", "N2NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T0", "N3", "MX", " ", "VALUE:UNK" ], [ "T0", "N3", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T0", "N3", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T0", "NX", "MX", " ", "VALUE:UNK" ], [ "T0", "NX", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T0", "NX", "MX", "2,3,6,8", "VALUE:UNK" ], [ "Tis", "N0", "MX", " ", "VALUE:0" ], [ "Tis", "N0", "MX", "0,1,5,9", "VALUE:0" ], [ "Tis", "N0", "MX", "2,3,6,8", "VALUE:0" ], [ "Tis", "N1", "MX", " ", "ERROR:" ], [ "Tis", "N1", "MX", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "MX", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "MX", " ", "ERROR:" ], [ "Tis", "N1a", "MX", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "MX", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "MX", " ", "ERROR:" ], [ "Tis", "N1b", "MX", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "MX", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "MX", " ", "ERROR:" ], [ "Tis", "N1NOS", "MX", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "MX", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "MX", " ", "ERROR:" ], [ "Tis", "N2", "MX", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "MX", "2,3,6,8", "ERROR:" ], [ "Tis", "N2a", "MX", " ", "ERROR:" ], [ "Tis", "N2a", "MX", "0,1,5,9", "ERROR:" ], [ "Tis", "N2a", "MX", "2,3,6,8", "ERROR:" ], [ "Tis", "N2b", "MX", " ", "ERROR:" ], [ "Tis", "N2b", "MX", "0,1,5,9", "ERROR:" ], [ "Tis", "N2b", "MX", "2,3,6,8", "ERROR:" ], [ "Tis", "N2c", "MX", " ", "ERROR:" ], [ "Tis", "N2c", "MX", "0,1,5,9", "ERROR:" ], [ "Tis", "N2c", "MX", "2,3,6,8", "ERROR:" ], [ "Tis", "N2NOS", "MX", " ", "ERROR:" ], [ "Tis", "N2NOS", "MX", "0,1,5,9", "ERROR:" ], [ "Tis", "N2NOS", "MX", "2,3,6,8", "ERROR:" ], [ "Tis", "N3", "MX", " ", "ERROR:" ], [ "Tis", "N3", "MX", "0,1,5,9", "ERROR:" ], [ "Tis", "N3", "MX", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "MX", " ", "VALUE:0" ], [ "Tis", "NX", "MX", "0,1,5,9", "VALUE:0" ], [ "Tis", "NX", "MX", "2,3,6,8", "VALUE:0" ], [ "T1a", "N0", "MX", " ", "VALUE:UNK" ], [ "T1a", "N0", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1a", "N0", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1a", "N1", "MX", " ", "VALUE:UNK" ], [ "T1a", "N1", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1a", "N1", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1a", "N1a", "MX", " ", "VALUE:UNK" ], [ "T1a", "N1a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1a", "N1a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1a", "N1b", "MX", " ", "VALUE:UNK" ], [ "T1a", "N1b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1a", "N1b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1a", "N1NOS", "MX", " ", "VALUE:UNK" ], [ "T1a", "N1NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1a", "N1NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1a", "N2", "MX", " ", "VALUE:UNK" ], [ "T1a", "N2", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1a", "N2", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1a", "N2a", "MX", " ", "VALUE:UNK" ], [ "T1a", "N2a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1a", "N2a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1a", "N2b", "MX", " ", "VALUE:UNK" ], [ "T1a", "N2b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1a", "N2b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1a", "N2c", "MX", " ", "VALUE:UNK" ], [ "T1a", "N2c", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1a", "N2c", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1a", "N2NOS", "MX", " ", "VALUE:UNK" ], [ "T1a", "N2NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1a", "N2NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1a", "N3", "MX", " ", "VALUE:UNK" ], [ "T1a", "N3", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1a", "N3", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1a", "NX", "MX", " ", "VALUE:UNK" ], [ "T1a", "NX", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1a", "NX", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1b", "N0", "MX", " ", "VALUE:UNK" ], [ "T1b", "N0", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1b", "N0", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1b", "N1", "MX", " ", "VALUE:UNK" ], [ "T1b", "N1", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1b", "N1", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1b", "N1a", "MX", " ", "VALUE:UNK" ], [ "T1b", "N1a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1b", "N1a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1b", "N1b", "MX", " ", "VALUE:UNK" ], [ "T1b", "N1b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1b", "N1b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1b", "N1NOS", "MX", " ", "VALUE:UNK" ], [ "T1b", "N1NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1b", "N1NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1b", "N2", "MX", " ", "VALUE:UNK" ], [ "T1b", "N2", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1b", "N2", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1b", "N2a", "MX", " ", "VALUE:UNK" ], [ "T1b", "N2a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1b", "N2a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1b", "N2b", "MX", " ", "VALUE:UNK" ], [ "T1b", "N2b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1b", "N2b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1b", "N2c", "MX", " ", "VALUE:UNK" ], [ "T1b", "N2c", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1b", "N2c", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1b", "N2NOS", "MX", " ", "VALUE:UNK" ], [ "T1b", "N2NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1b", "N2NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1b", "N3", "MX", " ", "VALUE:UNK" ], [ "T1b", "N3", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1b", "N3", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1b", "NX", "MX", " ", "VALUE:UNK" ], [ "T1b", "NX", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1b", "NX", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", " ", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", " ", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1NOS", "N1a", "MX", " ", "VALUE:UNK" ], [ "T1NOS", "N1a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1NOS", "N1a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1NOS", "N1b", "MX", " ", "VALUE:UNK" ], [ "T1NOS", "N1b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1NOS", "N1b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1NOS", "N1NOS", "MX", " ", "VALUE:UNK" ], [ "T1NOS", "N1NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1NOS", "N1NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1NOS", "N2", "MX", " ", "VALUE:UNK" ], [ "T1NOS", "N2", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1NOS", "N2", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1NOS", "N2a", "MX", " ", "VALUE:UNK" ], [ "T1NOS", "N2a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1NOS", "N2a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1NOS", "N2b", "MX", " ", "VALUE:UNK" ], [ "T1NOS", "N2b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1NOS", "N2b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1NOS", "N2c", "MX", " ", "VALUE:UNK" ], [ "T1NOS", "N2c", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1NOS", "N2c", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1NOS", "N2NOS", "MX", " ", "VALUE:UNK" ], [ "T1NOS", "N2NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1NOS", "N2NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1NOS", "N3", "MX", " ", "VALUE:UNK" ], [ "T1NOS", "N3", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1NOS", "N3", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T1NOS", "NX", "MX", " ", "VALUE:UNK" ], [ "T1NOS", "NX", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T1NOS", "NX", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2a", "N0", "MX", " ", "VALUE:UNK" ], [ "T2a", "N0", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2a", "N0", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2a", "N1", "MX", " ", "VALUE:UNK" ], [ "T2a", "N1", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2a", "N1", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2a", "N1a", "MX", " ", "VALUE:UNK" ], [ "T2a", "N1a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2a", "N1a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2a", "N1b", "MX", " ", "VALUE:UNK" ], [ "T2a", "N1b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2a", "N1b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2a", "N1NOS", "MX", " ", "VALUE:UNK" ], [ "T2a", "N1NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2a", "N1NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2a", "N2", "MX", " ", "VALUE:UNK" ], [ "T2a", "N2", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2a", "N2", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2a", "N2a", "MX", " ", "VALUE:UNK" ], [ "T2a", "N2a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2a", "N2a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2a", "N2b", "MX", " ", "VALUE:UNK" ], [ "T2a", "N2b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2a", "N2b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2a", "N2c", "MX", " ", "VALUE:UNK" ], [ "T2a", "N2c", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2a", "N2c", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2a", "N2NOS", "MX", " ", "VALUE:UNK" ], [ "T2a", "N2NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2a", "N2NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2a", "N3", "MX", " ", "VALUE:UNK" ], [ "T2a", "N3", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2a", "N3", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2a", "NX", "MX", " ", "VALUE:UNK" ], [ "T2a", "NX", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2a", "NX", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2b", "N0", "MX", " ", "VALUE:UNK" ], [ "T2b", "N0", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2b", "N0", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2b", "N1", "MX", " ", "VALUE:UNK" ], [ "T2b", "N1", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2b", "N1", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2b", "N1a", "MX", " ", "VALUE:UNK" ], [ "T2b", "N1a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2b", "N1a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2b", "N1b", "MX", " ", "VALUE:UNK" ], [ "T2b", "N1b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2b", "N1b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2b", "N1NOS", "MX", " ", "VALUE:UNK" ], [ "T2b", "N1NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2b", "N1NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2b", "N2", "MX", " ", "VALUE:UNK" ], [ "T2b", "N2", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2b", "N2", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2b", "N2a", "MX", " ", "VALUE:UNK" ], [ "T2b", "N2a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2b", "N2a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2b", "N2b", "MX", " ", "VALUE:UNK" ], [ "T2b", "N2b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2b", "N2b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2b", "N2c", "MX", " ", "VALUE:UNK" ], [ "T2b", "N2c", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2b", "N2c", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2b", "N2NOS", "MX", " ", "VALUE:UNK" ], [ "T2b", "N2NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2b", "N2NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2b", "N3", "MX", " ", "VALUE:UNK" ], [ "T2b", "N3", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2b", "N3", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2b", "NX", "MX", " ", "VALUE:UNK" ], [ "T2b", "NX", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2b", "NX", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", " ", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "N1", "MX", " ", "VALUE:UNK" ], [ "T2NOS", "N1", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "N1", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "N1a", "MX", " ", "VALUE:UNK" ], [ "T2NOS", "N1a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "N1a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "N1b", "MX", " ", "VALUE:UNK" ], [ "T2NOS", "N1b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "N1b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "N1NOS", "MX", " ", "VALUE:UNK" ], [ "T2NOS", "N1NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "N1NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "N2", "MX", " ", "VALUE:UNK" ], [ "T2NOS", "N2", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "N2", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "N2a", "MX", " ", "VALUE:UNK" ], [ "T2NOS", "N2a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "N2a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "N2b", "MX", " ", "VALUE:UNK" ], [ "T2NOS", "N2b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "N2b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "N2c", "MX", " ", "VALUE:UNK" ], [ "T2NOS", "N2c", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "N2c", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "N2NOS", "MX", " ", "VALUE:UNK" ], [ "T2NOS", "N2NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "N2NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "N3", "MX", " ", "VALUE:UNK" ], [ "T2NOS", "N3", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "N3", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "NX", "MX", " ", "VALUE:UNK" ], [ "T2NOS", "NX", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "NX", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3a", "N0", "MX", " ", "VALUE:UNK" ], [ "T3a", "N0", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3a", "N0", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3a", "N1", "MX", " ", "VALUE:UNK" ], [ "T3a", "N1", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3a", "N1", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3a", "N1a", "MX", " ", "VALUE:UNK" ], [ "T3a", "N1a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3a", "N1a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3a", "N1b", "MX", " ", "VALUE:UNK" ], [ "T3a", "N1b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3a", "N1b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3a", "N1NOS", "MX", " ", "VALUE:UNK" ], [ "T3a", "N1NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3a", "N1NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3a", "N2", "MX", " ", "VALUE:UNK" ], [ "T3a", "N2", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3a", "N2", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3a", "N2a", "MX", " ", "VALUE:UNK" ], [ "T3a", "N2a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3a", "N2a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3a", "N2b", "MX", " ", "VALUE:UNK" ], [ "T3a", "N2b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3a", "N2b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3a", "N2c", "MX", " ", "VALUE:UNK" ], [ "T3a", "N2c", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3a", "N2c", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3a", "N2NOS", "MX", " ", "VALUE:UNK" ], [ "T3a", "N2NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3a", "N2NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3a", "N3", "MX", " ", "VALUE:UNK" ], [ "T3a", "N3", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3a", "N3", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3a", "NX", "MX", " ", "VALUE:UNK" ], [ "T3a", "NX", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3a", "NX", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3b", "N0", "MX", " ", "VALUE:UNK" ], [ "T3b", "N0", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3b", "N0", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3b", "N1", "MX", " ", "VALUE:UNK" ], [ "T3b", "N1", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3b", "N1", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3b", "N1a", "MX", " ", "VALUE:UNK" ], [ "T3b", "N1a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3b", "N1a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3b", "N1b", "MX", " ", "VALUE:UNK" ], [ "T3b", "N1b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3b", "N1b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3b", "N1NOS", "MX", " ", "VALUE:UNK" ], [ "T3b", "N1NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3b", "N1NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3b", "N2", "MX", " ", "VALUE:UNK" ], [ "T3b", "N2", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3b", "N2", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3b", "N2a", "MX", " ", "VALUE:UNK" ], [ "T3b", "N2a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3b", "N2a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3b", "N2b", "MX", " ", "VALUE:UNK" ], [ "T3b", "N2b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3b", "N2b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3b", "N2c", "MX", " ", "VALUE:UNK" ], [ "T3b", "N2c", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3b", "N2c", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3b", "N2NOS", "MX", " ", "VALUE:UNK" ], [ "T3b", "N2NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3b", "N2NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3b", "N3", "MX", " ", "VALUE:UNK" ], [ "T3b", "N3", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3b", "N3", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3b", "NX", "MX", " ", "VALUE:UNK" ], [ "T3b", "NX", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3b", "NX", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3NOS", "N0", "MX", " ", "VALUE:UNK" ], [ "T3NOS", "N0", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3NOS", "N0", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3NOS", "N1", "MX", " ", "VALUE:UNK" ], [ "T3NOS", "N1", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3NOS", "N1", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3NOS", "N1a", "MX", " ", "VALUE:UNK" ], [ "T3NOS", "N1a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3NOS", "N1a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3NOS", "N1b", "MX", " ", "VALUE:UNK" ], [ "T3NOS", "N1b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3NOS", "N1b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3NOS", "N1NOS", "MX", " ", "VALUE:UNK" ], [ "T3NOS", "N1NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3NOS", "N1NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3NOS", "N2", "MX", " ", "VALUE:UNK" ], [ "T3NOS", "N2", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3NOS", "N2", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3NOS", "N2a", "MX", " ", "VALUE:UNK" ], [ "T3NOS", "N2a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3NOS", "N2a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3NOS", "N2b", "MX", " ", "VALUE:UNK" ], [ "T3NOS", "N2b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3NOS", "N2b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3NOS", "N2c", "MX", " ", "VALUE:UNK" ], [ "T3NOS", "N2c", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3NOS", "N2c", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3NOS", "N2NOS", "MX", " ", "VALUE:UNK" ], [ "T3NOS", "N2NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3NOS", "N2NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3NOS", "N3", "MX", " ", "VALUE:UNK" ], [ "T3NOS", "N3", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3NOS", "N3", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T3NOS", "NX", "MX", " ", "VALUE:UNK" ], [ "T3NOS", "NX", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T3NOS", "NX", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4a", "N0", "MX", " ", "VALUE:UNK" ], [ "T4a", "N0", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4a", "N0", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4a", "N1", "MX", " ", "VALUE:UNK" ], [ "T4a", "N1", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4a", "N1", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4a", "N1a", "MX", " ", "VALUE:UNK" ], [ "T4a", "N1a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4a", "N1a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4a", "N1b", "MX", " ", "VALUE:UNK" ], [ "T4a", "N1b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4a", "N1b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4a", "N1NOS", "MX", " ", "VALUE:UNK" ], [ "T4a", "N1NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4a", "N1NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4a", "N2", "MX", " ", "VALUE:UNK" ], [ "T4a", "N2", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4a", "N2", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4a", "N2a", "MX", " ", "VALUE:UNK" ], [ "T4a", "N2a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4a", "N2a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4a", "N2b", "MX", " ", "VALUE:UNK" ], [ "T4a", "N2b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4a", "N2b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4a", "N2c", "MX", " ", "VALUE:UNK" ], [ "T4a", "N2c", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4a", "N2c", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4a", "N2NOS", "MX", " ", "VALUE:UNK" ], [ "T4a", "N2NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4a", "N2NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4a", "N3", "MX", " ", "VALUE:UNK" ], [ "T4a", "N3", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4a", "N3", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4a", "NX", "MX", " ", "VALUE:UNK" ], [ "T4a", "NX", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4a", "NX", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4b", "N0", "MX", " ", "VALUE:UNK" ], [ "T4b", "N0", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4b", "N0", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4b", "N1", "MX", " ", "VALUE:UNK" ], [ "T4b", "N1", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4b", "N1", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4b", "N1a", "MX", " ", "VALUE:UNK" ], [ "T4b", "N1a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4b", "N1a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4b", "N1b", "MX", " ", "VALUE:UNK" ], [ "T4b", "N1b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4b", "N1b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4b", "N1NOS", "MX", " ", "VALUE:UNK" ], [ "T4b", "N1NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4b", "N1NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4b", "N2", "MX", " ", "VALUE:UNK" ], [ "T4b", "N2", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4b", "N2", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4b", "N2a", "MX", " ", "VALUE:UNK" ], [ "T4b", "N2a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4b", "N2a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4b", "N2b", "MX", " ", "VALUE:UNK" ], [ "T4b", "N2b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4b", "N2b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4b", "N2c", "MX", " ", "VALUE:UNK" ], [ "T4b", "N2c", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4b", "N2c", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4b", "N2NOS", "MX", " ", "VALUE:UNK" ], [ "T4b", "N2NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4b", "N2NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4b", "N3", "MX", " ", "VALUE:UNK" ], [ "T4b", "N3", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4b", "N3", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4b", "NX", "MX", " ", "VALUE:UNK" ], [ "T4b", "NX", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4b", "NX", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4NOS", "N0", "MX", " ", "VALUE:UNK" ], [ "T4NOS", "N0", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4NOS", "N0", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4NOS", "N1", "MX", " ", "VALUE:UNK" ], [ "T4NOS", "N1", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4NOS", "N1", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4NOS", "N1a", "MX", " ", "VALUE:UNK" ], [ "T4NOS", "N1a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4NOS", "N1a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4NOS", "N1b", "MX", " ", "VALUE:UNK" ], [ "T4NOS", "N1b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4NOS", "N1b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4NOS", "N1NOS", "MX", " ", "VALUE:UNK" ], [ "T4NOS", "N1NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4NOS", "N1NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4NOS", "N2", "MX", " ", "VALUE:UNK" ], [ "T4NOS", "N2", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4NOS", "N2", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4NOS", "N2a", "MX", " ", "VALUE:UNK" ], [ "T4NOS", "N2a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4NOS", "N2a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4NOS", "N2b", "MX", " ", "VALUE:UNK" ], [ "T4NOS", "N2b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4NOS", "N2b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4NOS", "N2c", "MX", " ", "VALUE:UNK" ], [ "T4NOS", "N2c", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4NOS", "N2c", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4NOS", "N2NOS", "MX", " ", "VALUE:UNK" ], [ "T4NOS", "N2NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4NOS", "N2NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4NOS", "N3", "MX", " ", "VALUE:UNK" ], [ "T4NOS", "N3", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4NOS", "N3", "MX", "2,3,6,8", "VALUE:UNK" ], [ "T4NOS", "NX", "MX", " ", "VALUE:UNK" ], [ "T4NOS", "NX", "MX", "0,1,5,9", "VALUE:UNK" ], [ "T4NOS", "NX", "MX", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N0", "MX", " ", "VALUE:UNK" ], [ "TX", "N0", "MX", "0,1,5,9", "VALUE:UNK" ], [ "TX", "N0", "MX", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N1", "MX", " ", "VALUE:UNK" ], [ "TX", "N1", "MX", "0,1,5,9", "VALUE:UNK" ], [ "TX", "N1", "MX", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N1a", "MX", " ", "VALUE:UNK" ], [ "TX", "N1a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "TX", "N1a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N1b", "MX", " ", "VALUE:UNK" ], [ "TX", "N1b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "TX", "N1b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N1NOS", "MX", " ", "VALUE:UNK" ], [ "TX", "N1NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "TX", "N1NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N2", "MX", " ", "VALUE:UNK" ], [ "TX", "N2", "MX", "0,1,5,9", "VALUE:UNK" ], [ "TX", "N2", "MX", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N2a", "MX", " ", "VALUE:UNK" ], [ "TX", "N2a", "MX", "0,1,5,9", "VALUE:UNK" ], [ "TX", "N2a", "MX", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N2b", "MX", " ", "VALUE:UNK" ], [ "TX", "N2b", "MX", "0,1,5,9", "VALUE:UNK" ], [ "TX", "N2b", "MX", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N2c", "MX", " ", "VALUE:UNK" ], [ "TX", "N2c", "MX", "0,1,5,9", "VALUE:UNK" ], [ "TX", "N2c", "MX", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N2NOS", "MX", " ", "VALUE:UNK" ], [ "TX", "N2NOS", "MX", "0,1,5,9", "VALUE:UNK" ], [ "TX", "N2NOS", "MX", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N3", "MX", " ", "VALUE:UNK" ], [ "TX", "N3", "MX", "0,1,5,9", "VALUE:UNK" ], [ "TX", "N3", "MX", "2,3,6,8", "VALUE:UNK" ], [ "TX", "NX", "MX", " ", "VALUE:UNK" ], [ "TX", "NX", "MX", "0,1,5,9", "VALUE:UNK" ], [ "TX", "NX", "MX", "2,3,6,8", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbr.json deleted file mode 100644 index 386f2dc30..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbr.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qbr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:50.028Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "NX", "M0", "VALUE:III" ], [ "T4", "N0", "M0", "VALUE:IVA" ], [ "T4", "N1", "M0", "VALUE:IVA" ], [ "T4", "NX", "M0", "VALUE:IVA" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:III" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVB" ], [ "T0", "N1", "M1", "VALUE:IVB" ], [ "T0", "NX", "M1", "VALUE:IVB" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IVB" ], [ "T1", "N1", "M1", "VALUE:IVB" ], [ "T1", "NX", "M1", "VALUE:IVB" ], [ "T2", "N0", "M1", "VALUE:IVB" ], [ "T2", "N1", "M1", "VALUE:IVB" ], [ "T2", "NX", "M1", "VALUE:IVB" ], [ "T3", "N0", "M1", "VALUE:IVB" ], [ "T3", "N1", "M1", "VALUE:IVB" ], [ "T3", "NX", "M1", "VALUE:IVB" ], [ "T4", "N0", "M1", "VALUE:IVB" ], [ "T4", "N1", "M1", "VALUE:IVB" ], [ "T4", "NX", "M1", "VALUE:IVB" ], [ "TX", "N0", "M1", "VALUE:IVB" ], [ "TX", "N1", "M1", "VALUE:IVB" ], [ "TX", "NX", "M1", "VALUE:IVB" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:IVNOS" ], [ "T4", "N1", "MX", "VALUE:IVNOS" ], [ "T4", "NX", "MX", "VALUE:IVNOS" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbv.json deleted file mode 100644 index 0a1b2a4a7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qbv.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc6_stage_qbv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:50.079Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "1", "ERROR:" ], [ "T0", "N0", "M0", "2", "ERROR:" ], [ "T0", "N0", "M0", "3", "ERROR:" ], [ "T0", "N0", "M0", "4", "ERROR:" ], [ "T0", "N0", "M0", "9", "ERROR:" ], [ "T0", "N1", "M0", "1", "VALUE:IV" ], [ "T0", "N1", "M0", "2", "VALUE:IV" ], [ "T0", "N1", "M0", "3", "VALUE:IV" ], [ "T0", "N1", "M0", "4", "VALUE:IV" ], [ "T0", "N1", "M0", "9", "VALUE:IV" ], [ "T0", "NX", "M0", "1", "VALUE:UNK" ], [ "T0", "NX", "M0", "2", "VALUE:UNK" ], [ "T0", "NX", "M0", "3", "VALUE:UNK" ], [ "T0", "NX", "M0", "4", "VALUE:UNK" ], [ "T0", "NX", "M0", "9", "VALUE:UNK" ], [ "T1a", "N0", "M0", "1", "VALUE:IA" ], [ "T1a", "N0", "M0", "2", "VALUE:IA" ], [ "T1a", "N0", "M0", "3", "VALUE:IIA" ], [ "T1a", "N0", "M0", "4", "VALUE:IIA" ], [ "T1a", "N0", "M0", "9", "VALUE:UNK" ], [ "T1a", "N1", "M0", "1", "VALUE:IV" ], [ "T1a", "N1", "M0", "2", "VALUE:IV" ], [ "T1a", "N1", "M0", "3", "VALUE:IV" ], [ "T1a", "N1", "M0", "4", "VALUE:IV" ], [ "T1a", "N1", "M0", "9", "VALUE:IV" ], [ "T1a", "NX", "M0", "1", "VALUE:UNK" ], [ "T1a", "NX", "M0", "2", "VALUE:UNK" ], [ "T1a", "NX", "M0", "3", "VALUE:UNK" ], [ "T1a", "NX", "M0", "4", "VALUE:UNK" ], [ "T1a", "NX", "M0", "9", "VALUE:UNK" ], [ "T1b", "N0", "M0", "1", "VALUE:IA" ], [ "T1b", "N0", "M0", "2", "VALUE:IA" ], [ "T1b", "N0", "M0", "3", "VALUE:IIA" ], [ "T1b", "N0", "M0", "4", "VALUE:IIA" ], [ "T1b", "N0", "M0", "9", "VALUE:UNK" ], [ "T1b", "N1", "M0", "1", "VALUE:IV" ], [ "T1b", "N1", "M0", "2", "VALUE:IV" ], [ "T1b", "N1", "M0", "3", "VALUE:IV" ], [ "T1b", "N1", "M0", "4", "VALUE:IV" ], [ "T1b", "N1", "M0", "9", "VALUE:IV" ], [ "T1b", "NX", "M0", "1", "VALUE:IA" ], [ "T1b", "NX", "M0", "2", "VALUE:IA" ], [ "T1b", "NX", "M0", "3", "VALUE:IIA" ], [ "T1b", "NX", "M0", "4", "VALUE:IIA" ], [ "T1b", "NX", "M0", "9", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "1", "VALUE:INOS" ], [ "T1NOS", "N0", "M0", "2", "VALUE:INOS" ], [ "T1NOS", "N0", "M0", "3", "VALUE:IINOS" ], [ "T1NOS", "N0", "M0", "4", "VALUE:IINOS" ], [ "T1NOS", "N0", "M0", "9", "VALUE:UNK" ], [ "T1NOS", "N1", "M0", "1", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "2", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "3", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "4", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "9", "VALUE:IV" ], [ "T1NOS", "NX", "M0", "1", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "2", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "3", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "4", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "9", "VALUE:UNK" ], [ "T2a", "N0", "M0", "1", "VALUE:IB" ], [ "T2a", "N0", "M0", "2", "VALUE:IB" ], [ "T2a", "N0", "M0", "3", "VALUE:IIB" ], [ "T2a", "N0", "M0", "4", "VALUE:IIB" ], [ "T2a", "N0", "M0", "9", "VALUE:UNK" ], [ "T2a", "N1", "M0", "1", "VALUE:IV" ], [ "T2a", "N1", "M0", "2", "VALUE:IV" ], [ "T2a", "N1", "M0", "3", "VALUE:IV" ], [ "T2a", "N1", "M0", "4", "VALUE:IV" ], [ "T2a", "N1", "M0", "9", "VALUE:IV" ], [ "T2a", "NX", "M0", "1", "VALUE:UNK" ], [ "T2a", "NX", "M0", "2", "VALUE:UNK" ], [ "T2a", "NX", "M0", "3", "VALUE:UNK" ], [ "T2a", "NX", "M0", "4", "VALUE:UNK" ], [ "T2a", "NX", "M0", "9", "VALUE:UNK" ], [ "T2b", "N0", "M0", "1", "VALUE:IB" ], [ "T2b", "N0", "M0", "2", "VALUE:IB" ], [ "T2b", "N0", "M0", "3", "VALUE:III" ], [ "T2b", "N0", "M0", "4", "VALUE:III" ], [ "T2b", "N0", "M0", "9", "VALUE:UNK" ], [ "T2b", "N1", "M0", "1", "VALUE:IV" ], [ "T2b", "N1", "M0", "2", "VALUE:IV" ], [ "T2b", "N1", "M0", "3", "VALUE:IV" ], [ "T2b", "N1", "M0", "4", "VALUE:IV" ], [ "T2b", "N1", "M0", "9", "VALUE:IV" ], [ "T2b", "NX", "M0", "1", "VALUE:IB" ], [ "T2b", "NX", "M0", "2", "VALUE:IB" ], [ "T2b", "NX", "M0", "3", "VALUE:III" ], [ "T2b", "NX", "M0", "4", "VALUE:III" ], [ "T2b", "NX", "M0", "9", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "1", "VALUE:INOS" ], [ "T2NOS", "N0", "M0", "2", "VALUE:INOS" ], [ "T2NOS", "N0", "M0", "3", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "4", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "9", "VALUE:UNK" ], [ "T2NOS", "N1", "M0", "1", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "2", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "3", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "4", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "9", "VALUE:IV" ], [ "T2NOS", "NX", "M0", "1", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "2", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "3", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "4", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "9", "VALUE:UNK" ], [ "TX", "N0", "M0", "1", "VALUE:UNK" ], [ "TX", "N0", "M0", "2", "VALUE:UNK" ], [ "TX", "N0", "M0", "3", "VALUE:UNK" ], [ "TX", "N0", "M0", "4", "VALUE:UNK" ], [ "TX", "N0", "M0", "9", "VALUE:UNK" ], [ "TX", "N1", "M0", "1", "VALUE:IV" ], [ "TX", "N1", "M0", "2", "VALUE:IV" ], [ "TX", "N1", "M0", "3", "VALUE:IV" ], [ "TX", "N1", "M0", "4", "VALUE:IV" ], [ "TX", "N1", "M0", "9", "VALUE:IV" ], [ "TX", "NX", "M0", "1", "VALUE:UNK" ], [ "TX", "NX", "M0", "2", "VALUE:UNK" ], [ "TX", "NX", "M0", "3", "VALUE:UNK" ], [ "TX", "NX", "M0", "4", "VALUE:UNK" ], [ "TX", "NX", "M0", "9", "VALUE:UNK" ], [ "T0", "N0", "M1", "1", "VALUE:IV" ], [ "T0", "N0", "M1", "2", "VALUE:IV" ], [ "T0", "N0", "M1", "3", "VALUE:IV" ], [ "T0", "N0", "M1", "4", "VALUE:IV" ], [ "T0", "N0", "M1", "9", "VALUE:IV" ], [ "T0", "N1", "M1", "1", "VALUE:IV" ], [ "T0", "N1", "M1", "2", "VALUE:IV" ], [ "T0", "N1", "M1", "3", "VALUE:IV" ], [ "T0", "N1", "M1", "4", "VALUE:IV" ], [ "T0", "N1", "M1", "9", "VALUE:IV" ], [ "T0", "NX", "M1", "1", "VALUE:IV" ], [ "T0", "NX", "M1", "2", "VALUE:IV" ], [ "T0", "NX", "M1", "3", "VALUE:IV" ], [ "T0", "NX", "M1", "4", "VALUE:IV" ], [ "T0", "NX", "M1", "9", "VALUE:IV" ], [ "T1a", "N0", "M1", "1", "VALUE:IV" ], [ "T1a", "N0", "M1", "2", "VALUE:IV" ], [ "T1a", "N0", "M1", "3", "VALUE:IV" ], [ "T1a", "N0", "M1", "4", "VALUE:IV" ], [ "T1a", "N0", "M1", "9", "VALUE:IV" ], [ "T1a", "N1", "M1", "1", "VALUE:IV" ], [ "T1a", "N1", "M1", "2", "VALUE:IV" ], [ "T1a", "N1", "M1", "3", "VALUE:IV" ], [ "T1a", "N1", "M1", "4", "VALUE:IV" ], [ "T1a", "N1", "M1", "9", "VALUE:IV" ], [ "T1a", "NX", "M1", "1", "VALUE:IV" ], [ "T1a", "NX", "M1", "2", "VALUE:IV" ], [ "T1a", "NX", "M1", "3", "VALUE:IV" ], [ "T1a", "NX", "M1", "4", "VALUE:IV" ], [ "T1a", "NX", "M1", "9", "VALUE:IV" ], [ "T1b", "N0", "M1", "1", "VALUE:IV" ], [ "T1b", "N0", "M1", "2", "VALUE:IV" ], [ "T1b", "N0", "M1", "3", "VALUE:IV" ], [ "T1b", "N0", "M1", "4", "VALUE:IV" ], [ "T1b", "N0", "M1", "9", "VALUE:IV" ], [ "T1b", "N1", "M1", "1", "VALUE:IV" ], [ "T1b", "N1", "M1", "2", "VALUE:IV" ], [ "T1b", "N1", "M1", "3", "VALUE:IV" ], [ "T1b", "N1", "M1", "4", "VALUE:IV" ], [ "T1b", "N1", "M1", "9", "VALUE:IV" ], [ "T1b", "NX", "M1", "1", "VALUE:IV" ], [ "T1b", "NX", "M1", "2", "VALUE:IV" ], [ "T1b", "NX", "M1", "3", "VALUE:IV" ], [ "T1b", "NX", "M1", "4", "VALUE:IV" ], [ "T1b", "NX", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "4", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "4", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "9", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "2", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "3", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "4", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "9", "VALUE:IV" ], [ "T2a", "N0", "M1", "1", "VALUE:IV" ], [ "T2a", "N0", "M1", "2", "VALUE:IV" ], [ "T2a", "N0", "M1", "3", "VALUE:IV" ], [ "T2a", "N0", "M1", "4", "VALUE:IV" ], [ "T2a", "N0", "M1", "9", "VALUE:IV" ], [ "T2a", "N1", "M1", "1", "VALUE:IV" ], [ "T2a", "N1", "M1", "2", "VALUE:IV" ], [ "T2a", "N1", "M1", "3", "VALUE:IV" ], [ "T2a", "N1", "M1", "4", "VALUE:IV" ], [ "T2a", "N1", "M1", "9", "VALUE:IV" ], [ "T2a", "NX", "M1", "1", "VALUE:IV" ], [ "T2a", "NX", "M1", "2", "VALUE:IV" ], [ "T2a", "NX", "M1", "3", "VALUE:IV" ], [ "T2a", "NX", "M1", "4", "VALUE:IV" ], [ "T2a", "NX", "M1", "9", "VALUE:IV" ], [ "T2b", "N0", "M1", "1", "VALUE:IV" ], [ "T2b", "N0", "M1", "2", "VALUE:IV" ], [ "T2b", "N0", "M1", "3", "VALUE:IV" ], [ "T2b", "N0", "M1", "4", "VALUE:IV" ], [ "T2b", "N0", "M1", "9", "VALUE:IV" ], [ "T2b", "N1", "M1", "1", "VALUE:IV" ], [ "T2b", "N1", "M1", "2", "VALUE:IV" ], [ "T2b", "N1", "M1", "3", "VALUE:IV" ], [ "T2b", "N1", "M1", "4", "VALUE:IV" ], [ "T2b", "N1", "M1", "9", "VALUE:IV" ], [ "T2b", "NX", "M1", "1", "VALUE:IV" ], [ "T2b", "NX", "M1", "2", "VALUE:IV" ], [ "T2b", "NX", "M1", "3", "VALUE:IV" ], [ "T2b", "NX", "M1", "4", "VALUE:IV" ], [ "T2b", "NX", "M1", "9", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "1", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "2", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "3", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "4", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "9", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "1", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "2", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "3", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "4", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "9", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "1", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "2", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "3", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "4", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "9", "VALUE:IV" ], [ "TX", "N0", "M1", "1", "VALUE:IV" ], [ "TX", "N0", "M1", "2", "VALUE:IV" ], [ "TX", "N0", "M1", "3", "VALUE:IV" ], [ "TX", "N0", "M1", "4", "VALUE:IV" ], [ "TX", "N0", "M1", "9", "VALUE:IV" ], [ "TX", "N1", "M1", "1", "VALUE:IV" ], [ "TX", "N1", "M1", "2", "VALUE:IV" ], [ "TX", "N1", "M1", "3", "VALUE:IV" ], [ "TX", "N1", "M1", "4", "VALUE:IV" ], [ "TX", "N1", "M1", "9", "VALUE:IV" ], [ "TX", "NX", "M1", "1", "VALUE:IV" ], [ "TX", "NX", "M1", "2", "VALUE:IV" ], [ "TX", "NX", "M1", "3", "VALUE:IV" ], [ "TX", "NX", "M1", "4", "VALUE:IV" ], [ "TX", "NX", "M1", "9", "VALUE:IV" ], [ "T0", "N0", "MX", "1", "VALUE:UNK" ], [ "T0", "N0", "MX", "2", "VALUE:UNK" ], [ "T0", "N0", "MX", "3", "VALUE:UNK" ], [ "T0", "N0", "MX", "4", "VALUE:UNK" ], [ "T0", "N0", "MX", "9", "VALUE:UNK" ], [ "T0", "N1", "MX", "1", "VALUE:IV" ], [ "T0", "N1", "MX", "2", "VALUE:IV" ], [ "T0", "N1", "MX", "3", "VALUE:IV" ], [ "T0", "N1", "MX", "4", "VALUE:IV" ], [ "T0", "N1", "MX", "9", "VALUE:IV" ], [ "T0", "NX", "MX", "1", "VALUE:UNK" ], [ "T0", "NX", "MX", "2", "VALUE:UNK" ], [ "T0", "NX", "MX", "3", "VALUE:UNK" ], [ "T0", "NX", "MX", "4", "VALUE:UNK" ], [ "T0", "NX", "MX", "9", "VALUE:UNK" ], [ "T1a", "N0", "MX", "1", "VALUE:UNK" ], [ "T1a", "N0", "MX", "2", "VALUE:UNK" ], [ "T1a", "N0", "MX", "3", "VALUE:UNK" ], [ "T1a", "N0", "MX", "4", "VALUE:UNK" ], [ "T1a", "N0", "MX", "9", "VALUE:UNK" ], [ "T1a", "N1", "MX", "1", "VALUE:IV" ], [ "T1a", "N1", "MX", "2", "VALUE:IV" ], [ "T1a", "N1", "MX", "3", "VALUE:IV" ], [ "T1a", "N1", "MX", "4", "VALUE:IV" ], [ "T1a", "N1", "MX", "9", "VALUE:IV" ], [ "T1a", "NX", "MX", "1", "VALUE:UNK" ], [ "T1a", "NX", "MX", "2", "VALUE:UNK" ], [ "T1a", "NX", "MX", "3", "VALUE:UNK" ], [ "T1a", "NX", "MX", "4", "VALUE:UNK" ], [ "T1a", "NX", "MX", "9", "VALUE:UNK" ], [ "T1b", "N0", "MX", "1", "VALUE:UNK" ], [ "T1b", "N0", "MX", "2", "VALUE:UNK" ], [ "T1b", "N0", "MX", "3", "VALUE:UNK" ], [ "T1b", "N0", "MX", "4", "VALUE:UNK" ], [ "T1b", "N0", "MX", "9", "VALUE:UNK" ], [ "T1b", "N1", "MX", "1", "VALUE:IV" ], [ "T1b", "N1", "MX", "2", "VALUE:IV" ], [ "T1b", "N1", "MX", "3", "VALUE:IV" ], [ "T1b", "N1", "MX", "4", "VALUE:IV" ], [ "T1b", "N1", "MX", "9", "VALUE:IV" ], [ "T1b", "NX", "MX", "1", "VALUE:UNK" ], [ "T1b", "NX", "MX", "2", "VALUE:UNK" ], [ "T1b", "NX", "MX", "3", "VALUE:UNK" ], [ "T1b", "NX", "MX", "4", "VALUE:UNK" ], [ "T1b", "NX", "MX", "9", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "1", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "2", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "3", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "4", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "9", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "1", "VALUE:IV" ], [ "T1NOS", "N1", "MX", "2", "VALUE:IV" ], [ "T1NOS", "N1", "MX", "3", "VALUE:IV" ], [ "T1NOS", "N1", "MX", "4", "VALUE:IV" ], [ "T1NOS", "N1", "MX", "9", "VALUE:IV" ], [ "T1NOS", "NX", "MX", "1", "VALUE:UNK" ], [ "T1NOS", "NX", "MX", "2", "VALUE:UNK" ], [ "T1NOS", "NX", "MX", "3", "VALUE:UNK" ], [ "T1NOS", "NX", "MX", "4", "VALUE:UNK" ], [ "T1NOS", "NX", "MX", "9", "VALUE:UNK" ], [ "T2a", "N0", "MX", "1", "VALUE:UNK" ], [ "T2a", "N0", "MX", "2", "VALUE:UNK" ], [ "T2a", "N0", "MX", "3", "VALUE:UNK" ], [ "T2a", "N0", "MX", "4", "VALUE:UNK" ], [ "T2a", "N0", "MX", "9", "VALUE:UNK" ], [ "T2a", "N1", "MX", "1", "VALUE:IV" ], [ "T2a", "N1", "MX", "2", "VALUE:IV" ], [ "T2a", "N1", "MX", "3", "VALUE:IV" ], [ "T2a", "N1", "MX", "4", "VALUE:IV" ], [ "T2a", "N1", "MX", "9", "VALUE:IV" ], [ "T2a", "NX", "MX", "1", "VALUE:UNK" ], [ "T2a", "NX", "MX", "2", "VALUE:UNK" ], [ "T2a", "NX", "MX", "3", "VALUE:UNK" ], [ "T2a", "NX", "MX", "4", "VALUE:UNK" ], [ "T2a", "NX", "MX", "9", "VALUE:UNK" ], [ "T2b", "N0", "MX", "1", "VALUE:UNK" ], [ "T2b", "N0", "MX", "2", "VALUE:UNK" ], [ "T2b", "N0", "MX", "3", "VALUE:UNK" ], [ "T2b", "N0", "MX", "4", "VALUE:UNK" ], [ "T2b", "N0", "MX", "9", "VALUE:UNK" ], [ "T2b", "N1", "MX", "1", "VALUE:IV" ], [ "T2b", "N1", "MX", "2", "VALUE:IV" ], [ "T2b", "N1", "MX", "3", "VALUE:IV" ], [ "T2b", "N1", "MX", "4", "VALUE:IV" ], [ "T2b", "N1", "MX", "9", "VALUE:IV" ], [ "T2b", "NX", "MX", "1", "VALUE:UNK" ], [ "T2b", "NX", "MX", "2", "VALUE:UNK" ], [ "T2b", "NX", "MX", "3", "VALUE:UNK" ], [ "T2b", "NX", "MX", "4", "VALUE:UNK" ], [ "T2b", "NX", "MX", "9", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "1", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "2", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "3", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "4", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "9", "VALUE:UNK" ], [ "T2NOS", "N1", "MX", "1", "VALUE:IV" ], [ "T2NOS", "N1", "MX", "2", "VALUE:IV" ], [ "T2NOS", "N1", "MX", "3", "VALUE:IV" ], [ "T2NOS", "N1", "MX", "4", "VALUE:IV" ], [ "T2NOS", "N1", "MX", "9", "VALUE:IV" ], [ "T2NOS", "NX", "MX", "1", "VALUE:UNK" ], [ "T2NOS", "NX", "MX", "2", "VALUE:UNK" ], [ "T2NOS", "NX", "MX", "3", "VALUE:UNK" ], [ "T2NOS", "NX", "MX", "4", "VALUE:UNK" ], [ "T2NOS", "NX", "MX", "9", "VALUE:UNK" ], [ "TX", "N0", "MX", "1", "VALUE:UNK" ], [ "TX", "N0", "MX", "2", "VALUE:UNK" ], [ "TX", "N0", "MX", "3", "VALUE:UNK" ], [ "TX", "N0", "MX", "4", "VALUE:UNK" ], [ "TX", "N0", "MX", "9", "VALUE:UNK" ], [ "TX", "N1", "MX", "1", "VALUE:IV" ], [ "TX", "N1", "MX", "2", "VALUE:IV" ], [ "TX", "N1", "MX", "3", "VALUE:IV" ], [ "TX", "N1", "MX", "4", "VALUE:IV" ], [ "TX", "N1", "MX", "9", "VALUE:IV" ], [ "TX", "NX", "MX", "1", "VALUE:UNK" ], [ "TX", "NX", "MX", "2", "VALUE:UNK" ], [ "TX", "NX", "MX", "3", "VALUE:UNK" ], [ "TX", "NX", "MX", "4", "VALUE:UNK" ], [ "TX", "NX", "MX", "9", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcb.json deleted file mode 100644 index ff7ce559b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcb.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qcb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:50.173Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IB" ], [ "T0", "N2", "M0", "VALUE:II" ], [ "T0", "N3", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:IA" ], [ "T1", "N1", "M0", "VALUE:IB" ], [ "T1", "N2", "M0", "VALUE:II" ], [ "T1", "N3", "M0", "VALUE:IV" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:IB" ], [ "T2a", "N1", "M0", "VALUE:II" ], [ "T2a", "N2", "M0", "VALUE:IIIA" ], [ "T2a", "N3", "M0", "VALUE:IV" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:IB" ], [ "T2b", "N1", "M0", "VALUE:II" ], [ "T2b", "N2", "M0", "VALUE:IIIA" ], [ "T2b", "N3", "M0", "VALUE:IV" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:IB" ], [ "T2NOS", "N1", "M0", "VALUE:II" ], [ "T2NOS", "N2", "M0", "VALUE:IIIA" ], [ "T2NOS", "N3", "M0", "VALUE:IV" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:II" ], [ "T3", "N1", "M0", "VALUE:IIIA" ], [ "T3", "N2", "M0", "VALUE:IIIB" ], [ "T3", "N3", "M0", "VALUE:IV" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IIIA" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "N2", "M0", "VALUE:IV" ], [ "T4", "N3", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:UNK" ], [ "TX", "N3", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "N3", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "N2", "M1", "VALUE:IV" ], [ "T1", "N3", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2a", "N0", "M1", "VALUE:IV" ], [ "T2a", "N1", "M1", "VALUE:IV" ], [ "T2a", "N2", "M1", "VALUE:IV" ], [ "T2a", "N3", "M1", "VALUE:IV" ], [ "T2a", "NX", "M1", "VALUE:IV" ], [ "T2b", "N0", "M1", "VALUE:IV" ], [ "T2b", "N1", "M1", "VALUE:IV" ], [ "T2b", "N2", "M1", "VALUE:IV" ], [ "T2b", "N3", "M1", "VALUE:IV" ], [ "T2b", "NX", "M1", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "VALUE:IV" ], [ "T2NOS", "N2", "M1", "VALUE:IV" ], [ "T2NOS", "N3", "M1", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "N3", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "N3", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "N3", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2", "MX", "VALUE:UNK" ], [ "T0", "N3", "MX", "VALUE:IV" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "N2", "MX", "ERROR:" ], [ "Tis", "N3", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "N2", "MX", "VALUE:UNK" ], [ "T1", "N3", "MX", "VALUE:IV" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2a", "N0", "MX", "VALUE:UNK" ], [ "T2a", "N1", "MX", "VALUE:UNK" ], [ "T2a", "N2", "MX", "VALUE:UNK" ], [ "T2a", "N3", "MX", "VALUE:IV" ], [ "T2a", "NX", "MX", "VALUE:UNK" ], [ "T2b", "N0", "MX", "VALUE:UNK" ], [ "T2b", "N1", "MX", "VALUE:UNK" ], [ "T2b", "N2", "MX", "VALUE:UNK" ], [ "T2b", "N3", "MX", "VALUE:IV" ], [ "T2b", "NX", "MX", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "VALUE:UNK" ], [ "T2NOS", "N1", "MX", "VALUE:UNK" ], [ "T2NOS", "N2", "MX", "VALUE:UNK" ], [ "T2NOS", "N3", "MX", "VALUE:IV" ], [ "T2NOS", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N2", "MX", "VALUE:UNK" ], [ "T3", "N3", "MX", "VALUE:IV" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:IV" ], [ "T4", "N1", "MX", "VALUE:IV" ], [ "T4", "N2", "MX", "VALUE:IV" ], [ "T4", "N3", "MX", "VALUE:IV" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2", "MX", "VALUE:UNK" ], [ "TX", "N3", "MX", "VALUE:IV" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcc.json deleted file mode 100644 index 6fb0d2a07..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcc.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qcc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:50.237Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIC" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IIIC" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:IIIC" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIIA" ], [ "T3", "N1", "M0", "VALUE:IIIC" ], [ "T3", "NX", "M0", "VALUE:IIINOS" ], [ "T4", "N0", "M0", "VALUE:IIIB" ], [ "T4", "N1", "M0", "VALUE:IIIC" ], [ "T4", "NX", "M0", "VALUE:IIINOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIIC" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcd.json deleted file mode 100644 index 433393f1e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qcd.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qcd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:50.288Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIC" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IIIC" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:IIIC" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIIA" ], [ "T3", "N1", "M0", "VALUE:IIIC" ], [ "T3", "NX", "M0", "VALUE:IIINOS" ], [ "T4", "N0", "M0", "VALUE:IIIB" ], [ "T4", "N1", "M0", "VALUE:IIIC" ], [ "T4", "NX", "M0", "VALUE:IIINOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIIC" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdx.json deleted file mode 100644 index 1fadf97a8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdx.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qdx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:50.339Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:II" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:III" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdy.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdy.json deleted file mode 100644 index 17ce1da61..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qdy.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc6_stage_qdy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:50.399Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "SSF2", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "105", "000", "00", "000,020", "VALUE:IEA" ], [ "105", "000", "00", "010,030", "VALUE:IEB" ], [ "105", "000", "00", "988", "ERROR:" ], [ "105", "000", "00", "999", "VALUE:IE" ], [ "105", "000", "20", "000,020", "VALUE:IIIESA" ], [ "105", "000", "20", "010,030", "VALUE:IIIESB" ], [ "105", "000", "20", "988", "ERROR:" ], [ "105", "000", "20", "999", "VALUE:IIIES" ], [ "105", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "105", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "105", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "105", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "105", "000", "88,98", "000,020", "ERROR:" ], [ "105", "000", "88,98", "010,030", "ERROR:" ], [ "105", "000", "88,98", "988", "ERROR:" ], [ "105", "000", "88,98", "999", "ERROR:" ], [ "105", "000", "99", "000,020", "VALUE:UNK" ], [ "105", "000", "99", "010,030", "VALUE:UNK" ], [ "105", "000", "99", "988", "ERROR:" ], [ "105", "000", "99", "999", "VALUE:UNK" ], [ "105", "100,300,600,700,800", "00", "000,020", "VALUE:IIEA" ], [ "105", "100,300,600,700,800", "00", "010,030", "VALUE:IIEB" ], [ "105", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "105", "100,300,600,700,800", "00", "999", "VALUE:IIE" ], [ "105", "100,300,600,700,800", "20", "000,020", "VALUE:IIIESA" ], [ "105", "100,300,600,700,800", "20", "010,030", "VALUE:IIIESB" ], [ "105", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "105", "100,300,600,700,800", "20", "999", "VALUE:IIIES" ], [ "105", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "105", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "105", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "105", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "105", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "105", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "105", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "105", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "105", "100,300,600,700,800", "99", "000,020", "VALUE:UNK" ], [ "105", "100,300,600,700,800", "99", "010,030", "VALUE:UNK" ], [ "105", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "105", "100,300,600,700,800", "99", "999", "VALUE:UNK" ], [ "105", "888,988", "00", "000,020", "ERROR:" ], [ "105", "888,988", "00", "010,030", "ERROR:" ], [ "105", "888,988", "00", "988", "ERROR:" ], [ "105", "888,988", "00", "999", "ERROR:" ], [ "105", "888,988", "20", "000,020", "ERROR:" ], [ "105", "888,988", "20", "010,030", "ERROR:" ], [ "105", "888,988", "20", "988", "ERROR:" ], [ "105", "888,988", "20", "999", "ERROR:" ], [ "105", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "105", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "105", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "105", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "105", "888,988", "88,98", "000,020", "ERROR:" ], [ "105", "888,988", "88,98", "010,030", "ERROR:" ], [ "105", "888,988", "88,98", "988", "ERROR:" ], [ "105", "888,988", "88,98", "999", "ERROR:" ], [ "105", "888,988", "99", "000,020", "ERROR:" ], [ "105", "888,988", "99", "010,030", "ERROR:" ], [ "105", "888,988", "99", "988", "ERROR:" ], [ "105", "888,988", "99", "999", "ERROR:" ], [ "105", "999", "00", "000,020", "VALUE:UNK" ], [ "105", "999", "00", "010,030", "VALUE:UNK" ], [ "105", "999", "00", "988", "ERROR:" ], [ "105", "999", "00", "999", "VALUE:UNK" ], [ "105", "999", "20", "000,020", "VALUE:IIIESA" ], [ "105", "999", "20", "010,030", "VALUE:IIIESB" ], [ "105", "999", "20", "988", "ERROR:" ], [ "105", "999", "20", "999", "VALUE:IIIES" ], [ "105", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "105", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "105", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "105", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "105", "999", "88,98", "000,020", "ERROR:" ], [ "105", "999", "88,98", "010,030", "ERROR:" ], [ "105", "999", "88,98", "988", "ERROR:" ], [ "105", "999", "88,98", "999", "ERROR:" ], [ "105", "999", "99", "000,020", "VALUE:UNK" ], [ "105", "999", "99", "010,030", "VALUE:UNK" ], [ "105", "999", "99", "988", "ERROR:" ], [ "105", "999", "99", "999", "VALUE:UNK" ], [ "115", "000", "00", "000,020", "VALUE:IEA" ], [ "115", "000", "00", "010,030", "VALUE:IEB" ], [ "115", "000", "00", "988", "ERROR:" ], [ "115", "000", "00", "999", "VALUE:IE" ], [ "115", "000", "20", "000,020", "VALUE:IIIESA" ], [ "115", "000", "20", "010,030", "VALUE:IIIESB" ], [ "115", "000", "20", "988", "ERROR:" ], [ "115", "000", "20", "999", "VALUE:IIIES" ], [ "115", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "115", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "115", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "115", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "115", "000", "88,98", "000,020", "ERROR:" ], [ "115", "000", "88,98", "010,030", "ERROR:" ], [ "115", "000", "88,98", "988", "ERROR:" ], [ "115", "000", "88,98", "999", "ERROR:" ], [ "115", "000", "99", "000,020", "VALUE:UNK" ], [ "115", "000", "99", "010,030", "VALUE:UNK" ], [ "115", "000", "99", "988", "ERROR:" ], [ "115", "000", "99", "999", "VALUE:UNK" ], [ "115", "100,300,600,700,800", "00", "000,020", "VALUE:IIEA" ], [ "115", "100,300,600,700,800", "00", "010,030", "VALUE:IIEB" ], [ "115", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "115", "100,300,600,700,800", "00", "999", "VALUE:IIE" ], [ "115", "100,300,600,700,800", "20", "000,020", "VALUE:IIIESA" ], [ "115", "100,300,600,700,800", "20", "010,030", "VALUE:IIIESB" ], [ "115", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "115", "100,300,600,700,800", "20", "999", "VALUE:IIIES" ], [ "115", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "115", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "115", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "115", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "115", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "115", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "115", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "115", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "115", "100,300,600,700,800", "99", "000,020", "VALUE:UNK" ], [ "115", "100,300,600,700,800", "99", "010,030", "VALUE:UNK" ], [ "115", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "115", "100,300,600,700,800", "99", "999", "VALUE:UNK" ], [ "115", "888,988", "00", "000,020", "ERROR:" ], [ "115", "888,988", "00", "010,030", "ERROR:" ], [ "115", "888,988", "00", "988", "ERROR:" ], [ "115", "888,988", "00", "999", "ERROR:" ], [ "115", "888,988", "20", "000,020", "ERROR:" ], [ "115", "888,988", "20", "010,030", "ERROR:" ], [ "115", "888,988", "20", "988", "ERROR:" ], [ "115", "888,988", "20", "999", "ERROR:" ], [ "115", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "115", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "115", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "115", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "115", "888,988", "88,98", "000,020", "ERROR:" ], [ "115", "888,988", "88,98", "010,030", "ERROR:" ], [ "115", "888,988", "88,98", "988", "ERROR:" ], [ "115", "888,988", "88,98", "999", "ERROR:" ], [ "115", "888,988", "99", "000,020", "ERROR:" ], [ "115", "888,988", "99", "010,030", "ERROR:" ], [ "115", "888,988", "99", "988", "ERROR:" ], [ "115", "888,988", "99", "999", "ERROR:" ], [ "115", "999", "00", "000,020", "VALUE:UNK" ], [ "115", "999", "00", "010,030", "VALUE:UNK" ], [ "115", "999", "00", "988", "ERROR:" ], [ "115", "999", "00", "999", "VALUE:UNK" ], [ "115", "999", "20", "000,020", "VALUE:IIIESA" ], [ "115", "999", "20", "010,030", "VALUE:IIIESB" ], [ "115", "999", "20", "988", "ERROR:" ], [ "115", "999", "20", "999", "VALUE:IIIES" ], [ "115", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "115", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "115", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "115", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "115", "999", "88,98", "000,020", "ERROR:" ], [ "115", "999", "88,98", "010,030", "ERROR:" ], [ "115", "999", "88,98", "988", "ERROR:" ], [ "115", "999", "88,98", "999", "ERROR:" ], [ "115", "999", "99", "000,020", "VALUE:UNK" ], [ "115", "999", "99", "010,030", "VALUE:UNK" ], [ "115", "999", "99", "988", "ERROR:" ], [ "115", "999", "99", "999", "VALUE:UNK" ], [ "125", "000", "00", "000,020", "VALUE:IEA" ], [ "125", "000", "00", "010,030", "VALUE:IEB" ], [ "125", "000", "00", "988", "ERROR:" ], [ "125", "000", "00", "999", "VALUE:IE" ], [ "125", "000", "20", "000,020", "VALUE:IIIESA" ], [ "125", "000", "20", "010,030", "VALUE:IIIESB" ], [ "125", "000", "20", "988", "ERROR:" ], [ "125", "000", "20", "999", "VALUE:IIIES" ], [ "125", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "125", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "125", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "125", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "125", "000", "88,98", "000,020", "ERROR:" ], [ "125", "000", "88,98", "010,030", "ERROR:" ], [ "125", "000", "88,98", "988", "ERROR:" ], [ "125", "000", "88,98", "999", "ERROR:" ], [ "125", "000", "99", "000,020", "VALUE:UNK" ], [ "125", "000", "99", "010,030", "VALUE:UNK" ], [ "125", "000", "99", "988", "ERROR:" ], [ "125", "000", "99", "999", "VALUE:UNK" ], [ "125", "100,300,600,700,800", "00", "000,020", "VALUE:IIEA" ], [ "125", "100,300,600,700,800", "00", "010,030", "VALUE:IIEB" ], [ "125", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "125", "100,300,600,700,800", "00", "999", "VALUE:IIE" ], [ "125", "100,300,600,700,800", "20", "000,020", "VALUE:IIIESA" ], [ "125", "100,300,600,700,800", "20", "010,030", "VALUE:IIIESB" ], [ "125", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "125", "100,300,600,700,800", "20", "999", "VALUE:IIIES" ], [ "125", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "125", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "125", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "125", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "125", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "125", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "125", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "125", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "125", "100,300,600,700,800", "99", "000,020", "VALUE:UNK" ], [ "125", "100,300,600,700,800", "99", "010,030", "VALUE:UNK" ], [ "125", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "125", "100,300,600,700,800", "99", "999", "VALUE:UNK" ], [ "125", "888,988", "00", "000,020", "ERROR:" ], [ "125", "888,988", "00", "010,030", "ERROR:" ], [ "125", "888,988", "00", "988", "ERROR:" ], [ "125", "888,988", "00", "999", "ERROR:" ], [ "125", "888,988", "20", "000,020", "ERROR:" ], [ "125", "888,988", "20", "010,030", "ERROR:" ], [ "125", "888,988", "20", "988", "ERROR:" ], [ "125", "888,988", "20", "999", "ERROR:" ], [ "125", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "125", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "125", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "125", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "125", "888,988", "88,98", "000,020", "ERROR:" ], [ "125", "888,988", "88,98", "010,030", "ERROR:" ], [ "125", "888,988", "88,98", "988", "ERROR:" ], [ "125", "888,988", "88,98", "999", "ERROR:" ], [ "125", "888,988", "99", "000,020", "ERROR:" ], [ "125", "888,988", "99", "010,030", "ERROR:" ], [ "125", "888,988", "99", "988", "ERROR:" ], [ "125", "888,988", "99", "999", "ERROR:" ], [ "125", "999", "00", "000,020", "VALUE:UNK" ], [ "125", "999", "00", "010,030", "VALUE:UNK" ], [ "125", "999", "00", "988", "ERROR:" ], [ "125", "999", "00", "999", "VALUE:UNK" ], [ "125", "999", "20", "000,020", "VALUE:IIIESA" ], [ "125", "999", "20", "010,030", "VALUE:IIIESB" ], [ "125", "999", "20", "988", "ERROR:" ], [ "125", "999", "20", "999", "VALUE:IIIES" ], [ "125", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "125", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "125", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "125", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "125", "999", "88,98", "000,020", "ERROR:" ], [ "125", "999", "88,98", "010,030", "ERROR:" ], [ "125", "999", "88,98", "988", "ERROR:" ], [ "125", "999", "88,98", "999", "ERROR:" ], [ "125", "999", "99", "000,020", "VALUE:UNK" ], [ "125", "999", "99", "010,030", "VALUE:UNK" ], [ "125", "999", "99", "988", "ERROR:" ], [ "125", "999", "99", "999", "VALUE:UNK" ], [ "150", "000", "00", "000,020", "VALUE:IEA" ], [ "150", "000", "00", "010,030", "VALUE:IEB" ], [ "150", "000", "00", "988", "ERROR:" ], [ "150", "000", "00", "999", "VALUE:IE" ], [ "150", "000", "20", "000,020", "VALUE:IIIESA" ], [ "150", "000", "20", "010,030", "VALUE:IIIESB" ], [ "150", "000", "20", "988", "ERROR:" ], [ "150", "000", "20", "999", "VALUE:IIIES" ], [ "150", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "150", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "150", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "150", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "150", "000", "88,98", "000,020", "ERROR:" ], [ "150", "000", "88,98", "010,030", "ERROR:" ], [ "150", "000", "88,98", "988", "ERROR:" ], [ "150", "000", "88,98", "999", "ERROR:" ], [ "150", "000", "99", "000,020", "VALUE:UNK" ], [ "150", "000", "99", "010,030", "VALUE:UNK" ], [ "150", "000", "99", "988", "ERROR:" ], [ "150", "000", "99", "999", "VALUE:UNK" ], [ "150", "100,300,600,700,800", "00", "000,020", "VALUE:IIEA" ], [ "150", "100,300,600,700,800", "00", "010,030", "VALUE:IIEB" ], [ "150", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "150", "100,300,600,700,800", "00", "999", "VALUE:IIE" ], [ "150", "100,300,600,700,800", "20", "000,020", "VALUE:IIIESA" ], [ "150", "100,300,600,700,800", "20", "010,030", "VALUE:IIIESB" ], [ "150", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "150", "100,300,600,700,800", "20", "999", "VALUE:IIIES" ], [ "150", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "150", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "150", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "150", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "150", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "150", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "150", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "150", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "150", "100,300,600,700,800", "99", "000,020", "VALUE:UNK" ], [ "150", "100,300,600,700,800", "99", "010,030", "VALUE:UNK" ], [ "150", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "150", "100,300,600,700,800", "99", "999", "VALUE:UNK" ], [ "150", "888,988", "00", "000,020", "ERROR:" ], [ "150", "888,988", "00", "010,030", "ERROR:" ], [ "150", "888,988", "00", "988", "ERROR:" ], [ "150", "888,988", "00", "999", "ERROR:" ], [ "150", "888,988", "20", "000,020", "ERROR:" ], [ "150", "888,988", "20", "010,030", "ERROR:" ], [ "150", "888,988", "20", "988", "ERROR:" ], [ "150", "888,988", "20", "999", "ERROR:" ], [ "150", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "150", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "150", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "150", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "150", "888,988", "88,98", "000,020", "ERROR:" ], [ "150", "888,988", "88,98", "010,030", "ERROR:" ], [ "150", "888,988", "88,98", "988", "ERROR:" ], [ "150", "888,988", "88,98", "999", "ERROR:" ], [ "150", "888,988", "99", "000,020", "ERROR:" ], [ "150", "888,988", "99", "010,030", "ERROR:" ], [ "150", "888,988", "99", "988", "ERROR:" ], [ "150", "888,988", "99", "999", "ERROR:" ], [ "150", "999", "00", "000,020", "VALUE:UNK" ], [ "150", "999", "00", "010,030", "VALUE:UNK" ], [ "150", "999", "00", "988", "ERROR:" ], [ "150", "999", "00", "999", "VALUE:UNK" ], [ "150", "999", "20", "000,020", "VALUE:IIIESA" ], [ "150", "999", "20", "010,030", "VALUE:IIIESB" ], [ "150", "999", "20", "988", "ERROR:" ], [ "150", "999", "20", "999", "VALUE:IIIES" ], [ "150", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "150", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "150", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "150", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "150", "999", "88,98", "000,020", "ERROR:" ], [ "150", "999", "88,98", "010,030", "ERROR:" ], [ "150", "999", "88,98", "988", "ERROR:" ], [ "150", "999", "88,98", "999", "ERROR:" ], [ "150", "999", "99", "000,020", "VALUE:UNK" ], [ "150", "999", "99", "010,030", "VALUE:UNK" ], [ "150", "999", "99", "988", "ERROR:" ], [ "150", "999", "99", "999", "VALUE:UNK" ], [ "305", "000", "00", "000,020", "VALUE:IEA" ], [ "305", "000", "00", "010,030", "VALUE:IEB" ], [ "305", "000", "00", "988", "ERROR:" ], [ "305", "000", "00", "999", "VALUE:IE" ], [ "305", "000", "20", "000,020", "VALUE:IIIESA" ], [ "305", "000", "20", "010,030", "VALUE:IIIESB" ], [ "305", "000", "20", "988", "ERROR:" ], [ "305", "000", "20", "999", "VALUE:IIIES" ], [ "305", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "305", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "305", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "305", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "305", "000", "88,98", "000,020", "ERROR:" ], [ "305", "000", "88,98", "010,030", "ERROR:" ], [ "305", "000", "88,98", "988", "ERROR:" ], [ "305", "000", "88,98", "999", "ERROR:" ], [ "305", "000", "99", "000,020", "VALUE:UNK" ], [ "305", "000", "99", "010,030", "VALUE:UNK" ], [ "305", "000", "99", "988", "ERROR:" ], [ "305", "000", "99", "999", "VALUE:UNK" ], [ "305", "100,300,600,700,800", "00", "000,020", "VALUE:IIEA" ], [ "305", "100,300,600,700,800", "00", "010,030", "VALUE:IIEB" ], [ "305", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "305", "100,300,600,700,800", "00", "999", "VALUE:IIE" ], [ "305", "100,300,600,700,800", "20", "000,020", "VALUE:IIIESA" ], [ "305", "100,300,600,700,800", "20", "010,030", "VALUE:IIIESB" ], [ "305", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "305", "100,300,600,700,800", "20", "999", "VALUE:IIIES" ], [ "305", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "305", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "305", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "305", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "305", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "305", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "305", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "305", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "305", "100,300,600,700,800", "99", "000,020", "VALUE:UNK" ], [ "305", "100,300,600,700,800", "99", "010,030", "VALUE:UNK" ], [ "305", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "305", "100,300,600,700,800", "99", "999", "VALUE:UNK" ], [ "305", "888,988", "00", "000,020", "ERROR:" ], [ "305", "888,988", "00", "010,030", "ERROR:" ], [ "305", "888,988", "00", "988", "ERROR:" ], [ "305", "888,988", "00", "999", "ERROR:" ], [ "305", "888,988", "20", "000,020", "ERROR:" ], [ "305", "888,988", "20", "010,030", "ERROR:" ], [ "305", "888,988", "20", "988", "ERROR:" ], [ "305", "888,988", "20", "999", "ERROR:" ], [ "305", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "305", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "305", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "305", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "305", "888,988", "88,98", "000,020", "ERROR:" ], [ "305", "888,988", "88,98", "010,030", "ERROR:" ], [ "305", "888,988", "88,98", "988", "ERROR:" ], [ "305", "888,988", "88,98", "999", "ERROR:" ], [ "305", "888,988", "99", "000,020", "ERROR:" ], [ "305", "888,988", "99", "010,030", "ERROR:" ], [ "305", "888,988", "99", "988", "ERROR:" ], [ "305", "888,988", "99", "999", "ERROR:" ], [ "305", "999", "00", "000,020", "VALUE:UNK" ], [ "305", "999", "00", "010,030", "VALUE:UNK" ], [ "305", "999", "00", "988", "ERROR:" ], [ "305", "999", "00", "999", "VALUE:UNK" ], [ "305", "999", "20", "000,020", "VALUE:IIIESA" ], [ "305", "999", "20", "010,030", "VALUE:IIIESB" ], [ "305", "999", "20", "988", "ERROR:" ], [ "305", "999", "20", "999", "VALUE:IIIES" ], [ "305", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "305", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "305", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "305", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "305", "999", "88,98", "000,020", "ERROR:" ], [ "305", "999", "88,98", "010,030", "ERROR:" ], [ "305", "999", "88,98", "988", "ERROR:" ], [ "305", "999", "88,98", "999", "ERROR:" ], [ "305", "999", "99", "000,020", "VALUE:UNK" ], [ "305", "999", "99", "010,030", "VALUE:UNK" ], [ "305", "999", "99", "988", "ERROR:" ], [ "305", "999", "99", "999", "VALUE:UNK" ], [ "315", "000", "00", "000,020", "VALUE:IEA" ], [ "315", "000", "00", "010,030", "VALUE:IEB" ], [ "315", "000", "00", "988", "ERROR:" ], [ "315", "000", "00", "999", "VALUE:IE" ], [ "315", "000", "20", "000,020", "VALUE:IIIESA" ], [ "315", "000", "20", "010,030", "VALUE:IIIESB" ], [ "315", "000", "20", "988", "ERROR:" ], [ "315", "000", "20", "999", "VALUE:IIIES" ], [ "315", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "315", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "315", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "315", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "315", "000", "88,98", "000,020", "ERROR:" ], [ "315", "000", "88,98", "010,030", "ERROR:" ], [ "315", "000", "88,98", "988", "ERROR:" ], [ "315", "000", "88,98", "999", "ERROR:" ], [ "315", "000", "99", "000,020", "VALUE:UNK" ], [ "315", "000", "99", "010,030", "VALUE:UNK" ], [ "315", "000", "99", "988", "ERROR:" ], [ "315", "000", "99", "999", "VALUE:UNK" ], [ "315", "100,300,600,700,800", "00", "000,020", "VALUE:IIEA" ], [ "315", "100,300,600,700,800", "00", "010,030", "VALUE:IIEB" ], [ "315", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "315", "100,300,600,700,800", "00", "999", "VALUE:IIE" ], [ "315", "100,300,600,700,800", "20", "000,020", "VALUE:IIIESA" ], [ "315", "100,300,600,700,800", "20", "010,030", "VALUE:IIIESB" ], [ "315", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "315", "100,300,600,700,800", "20", "999", "VALUE:IIIES" ], [ "315", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "315", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "315", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "315", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "315", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "315", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "315", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "315", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "315", "100,300,600,700,800", "99", "000,020", "VALUE:UNK" ], [ "315", "100,300,600,700,800", "99", "010,030", "VALUE:UNK" ], [ "315", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "315", "100,300,600,700,800", "99", "999", "VALUE:UNK" ], [ "315", "888,988", "00", "000,020", "ERROR:" ], [ "315", "888,988", "00", "010,030", "ERROR:" ], [ "315", "888,988", "00", "988", "ERROR:" ], [ "315", "888,988", "00", "999", "ERROR:" ], [ "315", "888,988", "20", "000,020", "ERROR:" ], [ "315", "888,988", "20", "010,030", "ERROR:" ], [ "315", "888,988", "20", "988", "ERROR:" ], [ "315", "888,988", "20", "999", "ERROR:" ], [ "315", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "315", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "315", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "315", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "315", "888,988", "88,98", "000,020", "ERROR:" ], [ "315", "888,988", "88,98", "010,030", "ERROR:" ], [ "315", "888,988", "88,98", "988", "ERROR:" ], [ "315", "888,988", "88,98", "999", "ERROR:" ], [ "315", "888,988", "99", "000,020", "ERROR:" ], [ "315", "888,988", "99", "010,030", "ERROR:" ], [ "315", "888,988", "99", "988", "ERROR:" ], [ "315", "888,988", "99", "999", "ERROR:" ], [ "315", "999", "00", "000,020", "VALUE:UNK" ], [ "315", "999", "00", "010,030", "VALUE:UNK" ], [ "315", "999", "00", "988", "ERROR:" ], [ "315", "999", "00", "999", "VALUE:UNK" ], [ "315", "999", "20", "000,020", "VALUE:IIIESA" ], [ "315", "999", "20", "010,030", "VALUE:IIIESB" ], [ "315", "999", "20", "988", "ERROR:" ], [ "315", "999", "20", "999", "VALUE:IIIES" ], [ "315", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "315", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "315", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "315", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "315", "999", "88,98", "000,020", "ERROR:" ], [ "315", "999", "88,98", "010,030", "ERROR:" ], [ "315", "999", "88,98", "988", "ERROR:" ], [ "315", "999", "88,98", "999", "ERROR:" ], [ "315", "999", "99", "000,020", "VALUE:UNK" ], [ "315", "999", "99", "010,030", "VALUE:UNK" ], [ "315", "999", "99", "988", "ERROR:" ], [ "315", "999", "99", "999", "VALUE:UNK" ], [ "325", "000", "00", "000,020", "VALUE:IEA" ], [ "325", "000", "00", "010,030", "VALUE:IEB" ], [ "325", "000", "00", "988", "ERROR:" ], [ "325", "000", "00", "999", "VALUE:IE" ], [ "325", "000", "20", "000,020", "VALUE:IIIESA" ], [ "325", "000", "20", "010,030", "VALUE:IIIESB" ], [ "325", "000", "20", "988", "ERROR:" ], [ "325", "000", "20", "999", "VALUE:IIIES" ], [ "325", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "325", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "325", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "325", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "325", "000", "88,98", "000,020", "ERROR:" ], [ "325", "000", "88,98", "010,030", "ERROR:" ], [ "325", "000", "88,98", "988", "ERROR:" ], [ "325", "000", "88,98", "999", "ERROR:" ], [ "325", "000", "99", "000,020", "VALUE:UNK" ], [ "325", "000", "99", "010,030", "VALUE:UNK" ], [ "325", "000", "99", "988", "ERROR:" ], [ "325", "000", "99", "999", "VALUE:UNK" ], [ "325", "100,300,600,700,800", "00", "000,020", "VALUE:IIEA" ], [ "325", "100,300,600,700,800", "00", "010,030", "VALUE:IIEB" ], [ "325", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "325", "100,300,600,700,800", "00", "999", "VALUE:IIE" ], [ "325", "100,300,600,700,800", "20", "000,020", "VALUE:IIIESA" ], [ "325", "100,300,600,700,800", "20", "010,030", "VALUE:IIIESB" ], [ "325", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "325", "100,300,600,700,800", "20", "999", "VALUE:IIIES" ], [ "325", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "325", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "325", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "325", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "325", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "325", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "325", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "325", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "325", "100,300,600,700,800", "99", "000,020", "VALUE:UNK" ], [ "325", "100,300,600,700,800", "99", "010,030", "VALUE:UNK" ], [ "325", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "325", "100,300,600,700,800", "99", "999", "VALUE:UNK" ], [ "325", "888,988", "00", "000,020", "ERROR:" ], [ "325", "888,988", "00", "010,030", "ERROR:" ], [ "325", "888,988", "00", "988", "ERROR:" ], [ "325", "888,988", "00", "999", "ERROR:" ], [ "325", "888,988", "20", "000,020", "ERROR:" ], [ "325", "888,988", "20", "010,030", "ERROR:" ], [ "325", "888,988", "20", "988", "ERROR:" ], [ "325", "888,988", "20", "999", "ERROR:" ], [ "325", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "325", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "325", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "325", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "325", "888,988", "88,98", "000,020", "ERROR:" ], [ "325", "888,988", "88,98", "010,030", "ERROR:" ], [ "325", "888,988", "88,98", "988", "ERROR:" ], [ "325", "888,988", "88,98", "999", "ERROR:" ], [ "325", "888,988", "99", "000,020", "ERROR:" ], [ "325", "888,988", "99", "010,030", "ERROR:" ], [ "325", "888,988", "99", "988", "ERROR:" ], [ "325", "888,988", "99", "999", "ERROR:" ], [ "325", "999", "00", "000,020", "VALUE:UNK" ], [ "325", "999", "00", "010,030", "VALUE:UNK" ], [ "325", "999", "00", "988", "ERROR:" ], [ "325", "999", "00", "999", "VALUE:UNK" ], [ "325", "999", "20", "000,020", "VALUE:IIIESA" ], [ "325", "999", "20", "010,030", "VALUE:IIIESB" ], [ "325", "999", "20", "988", "ERROR:" ], [ "325", "999", "20", "999", "VALUE:IIIES" ], [ "325", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "325", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "325", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "325", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "325", "999", "88,98", "000,020", "ERROR:" ], [ "325", "999", "88,98", "010,030", "ERROR:" ], [ "325", "999", "88,98", "988", "ERROR:" ], [ "325", "999", "88,98", "999", "ERROR:" ], [ "325", "999", "99", "000,020", "VALUE:UNK" ], [ "325", "999", "99", "010,030", "VALUE:UNK" ], [ "325", "999", "99", "988", "ERROR:" ], [ "325", "999", "99", "999", "VALUE:UNK" ], [ "335", "000", "00", "000,020", "VALUE:IEA" ], [ "335", "000", "00", "010,030", "VALUE:IEB" ], [ "335", "000", "00", "988", "ERROR:" ], [ "335", "000", "00", "999", "VALUE:IE" ], [ "335", "000", "20", "000,020", "VALUE:IIIESA" ], [ "335", "000", "20", "010,030", "VALUE:IIIESB" ], [ "335", "000", "20", "988", "ERROR:" ], [ "335", "000", "20", "999", "VALUE:IIIES" ], [ "335", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "335", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "335", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "335", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "335", "000", "88,98", "000,020", "ERROR:" ], [ "335", "000", "88,98", "010,030", "ERROR:" ], [ "335", "000", "88,98", "988", "ERROR:" ], [ "335", "000", "88,98", "999", "ERROR:" ], [ "335", "000", "99", "000,020", "VALUE:UNK" ], [ "335", "000", "99", "010,030", "VALUE:UNK" ], [ "335", "000", "99", "988", "ERROR:" ], [ "335", "000", "99", "999", "VALUE:UNK" ], [ "335", "100,300,600,700,800", "00", "000,020", "VALUE:IIEA" ], [ "335", "100,300,600,700,800", "00", "010,030", "VALUE:IIEB" ], [ "335", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "335", "100,300,600,700,800", "00", "999", "VALUE:IIE" ], [ "335", "100,300,600,700,800", "20", "000,020", "VALUE:IIIESA" ], [ "335", "100,300,600,700,800", "20", "010,030", "VALUE:IIIESB" ], [ "335", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "335", "100,300,600,700,800", "20", "999", "VALUE:IIIES" ], [ "335", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "335", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "335", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "335", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "335", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "335", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "335", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "335", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "335", "100,300,600,700,800", "99", "000,020", "VALUE:UNK" ], [ "335", "100,300,600,700,800", "99", "010,030", "VALUE:UNK" ], [ "335", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "335", "100,300,600,700,800", "99", "999", "VALUE:UNK" ], [ "335", "888,988", "00", "000,020", "ERROR:" ], [ "335", "888,988", "00", "010,030", "ERROR:" ], [ "335", "888,988", "00", "988", "ERROR:" ], [ "335", "888,988", "00", "999", "ERROR:" ], [ "335", "888,988", "20", "000,020", "ERROR:" ], [ "335", "888,988", "20", "010,030", "ERROR:" ], [ "335", "888,988", "20", "988", "ERROR:" ], [ "335", "888,988", "20", "999", "ERROR:" ], [ "335", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "335", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "335", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "335", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "335", "888,988", "88,98", "000,020", "ERROR:" ], [ "335", "888,988", "88,98", "010,030", "ERROR:" ], [ "335", "888,988", "88,98", "988", "ERROR:" ], [ "335", "888,988", "88,98", "999", "ERROR:" ], [ "335", "888,988", "99", "000,020", "ERROR:" ], [ "335", "888,988", "99", "010,030", "ERROR:" ], [ "335", "888,988", "99", "988", "ERROR:" ], [ "335", "888,988", "99", "999", "ERROR:" ], [ "335", "999", "00", "000,020", "VALUE:UNK" ], [ "335", "999", "00", "010,030", "VALUE:UNK" ], [ "335", "999", "00", "988", "ERROR:" ], [ "335", "999", "00", "999", "VALUE:UNK" ], [ "335", "999", "20", "000,020", "VALUE:IIIESA" ], [ "335", "999", "20", "010,030", "VALUE:IIIESB" ], [ "335", "999", "20", "988", "ERROR:" ], [ "335", "999", "20", "999", "VALUE:IIIES" ], [ "335", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "335", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "335", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "335", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "335", "999", "88,98", "000,020", "ERROR:" ], [ "335", "999", "88,98", "010,030", "ERROR:" ], [ "335", "999", "88,98", "988", "ERROR:" ], [ "335", "999", "88,98", "999", "ERROR:" ], [ "335", "999", "99", "000,020", "VALUE:UNK" ], [ "335", "999", "99", "010,030", "VALUE:UNK" ], [ "335", "999", "99", "988", "ERROR:" ], [ "335", "999", "99", "999", "VALUE:UNK" ], [ "350", "000", "00", "000,020", "VALUE:IEA" ], [ "350", "000", "00", "010,030", "VALUE:IEB" ], [ "350", "000", "00", "988", "ERROR:" ], [ "350", "000", "00", "999", "VALUE:IE" ], [ "350", "000", "20", "000,020", "VALUE:IIIESA" ], [ "350", "000", "20", "010,030", "VALUE:IIIESB" ], [ "350", "000", "20", "988", "ERROR:" ], [ "350", "000", "20", "999", "VALUE:IIIES" ], [ "350", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "350", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "350", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "350", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "350", "000", "88,98", "000,020", "ERROR:" ], [ "350", "000", "88,98", "010,030", "ERROR:" ], [ "350", "000", "88,98", "988", "ERROR:" ], [ "350", "000", "88,98", "999", "ERROR:" ], [ "350", "000", "99", "000,020", "VALUE:UNK" ], [ "350", "000", "99", "010,030", "VALUE:UNK" ], [ "350", "000", "99", "988", "ERROR:" ], [ "350", "000", "99", "999", "VALUE:UNK" ], [ "350", "100,300,600,700,800", "00", "000,020", "VALUE:IIEA" ], [ "350", "100,300,600,700,800", "00", "010,030", "VALUE:IIEB" ], [ "350", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "350", "100,300,600,700,800", "00", "999", "VALUE:IIE" ], [ "350", "100,300,600,700,800", "20", "000,020", "VALUE:IIIESA" ], [ "350", "100,300,600,700,800", "20", "010,030", "VALUE:IIIESB" ], [ "350", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "350", "100,300,600,700,800", "20", "999", "VALUE:IIIES" ], [ "350", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "350", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "350", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "350", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "350", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "350", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "350", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "350", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "350", "100,300,600,700,800", "99", "000,020", "VALUE:UNK" ], [ "350", "100,300,600,700,800", "99", "010,030", "VALUE:UNK" ], [ "350", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "350", "100,300,600,700,800", "99", "999", "VALUE:UNK" ], [ "350", "888,988", "00", "000,020", "ERROR:" ], [ "350", "888,988", "00", "010,030", "ERROR:" ], [ "350", "888,988", "00", "988", "ERROR:" ], [ "350", "888,988", "00", "999", "ERROR:" ], [ "350", "888,988", "20", "000,020", "ERROR:" ], [ "350", "888,988", "20", "010,030", "ERROR:" ], [ "350", "888,988", "20", "988", "ERROR:" ], [ "350", "888,988", "20", "999", "ERROR:" ], [ "350", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "350", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "350", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "350", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "350", "888,988", "88,98", "000,020", "ERROR:" ], [ "350", "888,988", "88,98", "010,030", "ERROR:" ], [ "350", "888,988", "88,98", "988", "ERROR:" ], [ "350", "888,988", "88,98", "999", "ERROR:" ], [ "350", "888,988", "99", "000,020", "ERROR:" ], [ "350", "888,988", "99", "010,030", "ERROR:" ], [ "350", "888,988", "99", "988", "ERROR:" ], [ "350", "888,988", "99", "999", "ERROR:" ], [ "350", "999", "00", "000,020", "VALUE:UNK" ], [ "350", "999", "00", "010,030", "VALUE:UNK" ], [ "350", "999", "00", "988", "ERROR:" ], [ "350", "999", "00", "999", "VALUE:UNK" ], [ "350", "999", "20", "000,020", "VALUE:IIIESA" ], [ "350", "999", "20", "010,030", "VALUE:IIIESB" ], [ "350", "999", "20", "988", "ERROR:" ], [ "350", "999", "20", "999", "VALUE:IIIES" ], [ "350", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "350", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "350", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "350", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "350", "999", "88,98", "000,020", "ERROR:" ], [ "350", "999", "88,98", "010,030", "ERROR:" ], [ "350", "999", "88,98", "988", "ERROR:" ], [ "350", "999", "88,98", "999", "ERROR:" ], [ "350", "999", "99", "000,020", "VALUE:UNK" ], [ "350", "999", "99", "010,030", "VALUE:UNK" ], [ "350", "999", "99", "988", "ERROR:" ], [ "350", "999", "99", "999", "VALUE:UNK" ], [ "500", "000", "00", "000,020", "VALUE:IEA" ], [ "500", "000", "00", "010,030", "VALUE:IEB" ], [ "500", "000", "00", "988", "ERROR:" ], [ "500", "000", "00", "999", "VALUE:IE" ], [ "500", "000", "20", "000,020", "VALUE:IIIESA" ], [ "500", "000", "20", "010,030", "VALUE:IIIESB" ], [ "500", "000", "20", "988", "ERROR:" ], [ "500", "000", "20", "999", "VALUE:IIIES" ], [ "500", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "500", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "500", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "500", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "500", "000", "88,98", "000,020", "ERROR:" ], [ "500", "000", "88,98", "010,030", "ERROR:" ], [ "500", "000", "88,98", "988", "ERROR:" ], [ "500", "000", "88,98", "999", "ERROR:" ], [ "500", "000", "99", "000,020", "VALUE:UNK" ], [ "500", "000", "99", "010,030", "VALUE:UNK" ], [ "500", "000", "99", "988", "ERROR:" ], [ "500", "000", "99", "999", "VALUE:UNK" ], [ "500", "100,300,600,700,800", "00", "000,020", "VALUE:IIEA" ], [ "500", "100,300,600,700,800", "00", "010,030", "VALUE:IIEB" ], [ "500", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "500", "100,300,600,700,800", "00", "999", "VALUE:IIE" ], [ "500", "100,300,600,700,800", "20", "000,020", "VALUE:IIIESA" ], [ "500", "100,300,600,700,800", "20", "010,030", "VALUE:IIIESB" ], [ "500", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "500", "100,300,600,700,800", "20", "999", "VALUE:IIIES" ], [ "500", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "500", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "500", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "500", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "500", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "500", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "500", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "500", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "500", "100,300,600,700,800", "99", "000,020", "VALUE:UNK" ], [ "500", "100,300,600,700,800", "99", "010,030", "VALUE:UNK" ], [ "500", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "500", "100,300,600,700,800", "99", "999", "VALUE:UNK" ], [ "500", "888,988", "00", "000,020", "ERROR:" ], [ "500", "888,988", "00", "010,030", "ERROR:" ], [ "500", "888,988", "00", "988", "ERROR:" ], [ "500", "888,988", "00", "999", "ERROR:" ], [ "500", "888,988", "20", "000,020", "ERROR:" ], [ "500", "888,988", "20", "010,030", "ERROR:" ], [ "500", "888,988", "20", "988", "ERROR:" ], [ "500", "888,988", "20", "999", "ERROR:" ], [ "500", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "500", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "500", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "500", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "500", "888,988", "88,98", "000,020", "ERROR:" ], [ "500", "888,988", "88,98", "010,030", "ERROR:" ], [ "500", "888,988", "88,98", "988", "ERROR:" ], [ "500", "888,988", "88,98", "999", "ERROR:" ], [ "500", "888,988", "99", "000,020", "ERROR:" ], [ "500", "888,988", "99", "010,030", "ERROR:" ], [ "500", "888,988", "99", "988", "ERROR:" ], [ "500", "888,988", "99", "999", "ERROR:" ], [ "500", "999", "00", "000,020", "VALUE:UNK" ], [ "500", "999", "00", "010,030", "VALUE:UNK" ], [ "500", "999", "00", "988", "ERROR:" ], [ "500", "999", "00", "999", "VALUE:UNK" ], [ "500", "999", "20", "000,020", "VALUE:IIIESA" ], [ "500", "999", "20", "010,030", "VALUE:IIIESB" ], [ "500", "999", "20", "988", "ERROR:" ], [ "500", "999", "20", "999", "VALUE:IIIES" ], [ "500", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "500", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "500", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "500", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "500", "999", "88,98", "000,020", "ERROR:" ], [ "500", "999", "88,98", "010,030", "ERROR:" ], [ "500", "999", "88,98", "988", "ERROR:" ], [ "500", "999", "88,98", "999", "ERROR:" ], [ "500", "999", "99", "000,020", "VALUE:UNK" ], [ "500", "999", "99", "010,030", "VALUE:UNK" ], [ "500", "999", "99", "988", "ERROR:" ], [ "500", "999", "99", "999", "VALUE:UNK" ], [ "700", "000", "00", "000,020", "VALUE:IVA" ], [ "700", "000", "00", "010,030", "VALUE:IVB" ], [ "700", "000", "00", "988", "ERROR:" ], [ "700", "000", "00", "999", "VALUE:IV" ], [ "700", "000", "20", "000,020", "VALUE:IVA" ], [ "700", "000", "20", "010,030", "VALUE:IVB" ], [ "700", "000", "20", "988", "ERROR:" ], [ "700", "000", "20", "999", "VALUE:IV" ], [ "700", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "700", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "700", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "700", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "700", "000", "88,98", "000,020", "ERROR:" ], [ "700", "000", "88,98", "010,030", "ERROR:" ], [ "700", "000", "88,98", "988", "ERROR:" ], [ "700", "000", "88,98", "999", "ERROR:" ], [ "700", "000", "99", "000,020", "VALUE:IVA" ], [ "700", "000", "99", "010,030", "VALUE:IVB" ], [ "700", "000", "99", "988", "ERROR:" ], [ "700", "000", "99", "999", "VALUE:IV" ], [ "700", "100,300,600,700,800", "00", "000,020", "VALUE:IVA" ], [ "700", "100,300,600,700,800", "00", "010,030", "VALUE:IVB" ], [ "700", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "700", "100,300,600,700,800", "00", "999", "VALUE:IV" ], [ "700", "100,300,600,700,800", "20", "000,020", "VALUE:IVA" ], [ "700", "100,300,600,700,800", "20", "010,030", "VALUE:IVB" ], [ "700", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "700", "100,300,600,700,800", "20", "999", "VALUE:IV" ], [ "700", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "700", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "700", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "700", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "700", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "700", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "700", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "700", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "700", "100,300,600,700,800", "99", "000,020", "VALUE:IVA" ], [ "700", "100,300,600,700,800", "99", "010,030", "VALUE:IVB" ], [ "700", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "700", "100,300,600,700,800", "99", "999", "VALUE:IV" ], [ "700", "888,988", "00", "000,020", "ERROR:" ], [ "700", "888,988", "00", "010,030", "ERROR:" ], [ "700", "888,988", "00", "988", "ERROR:" ], [ "700", "888,988", "00", "999", "ERROR:" ], [ "700", "888,988", "20", "000,020", "ERROR:" ], [ "700", "888,988", "20", "010,030", "ERROR:" ], [ "700", "888,988", "20", "988", "ERROR:" ], [ "700", "888,988", "20", "999", "ERROR:" ], [ "700", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "700", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "700", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "700", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "700", "888,988", "88,98", "000,020", "ERROR:" ], [ "700", "888,988", "88,98", "010,030", "ERROR:" ], [ "700", "888,988", "88,98", "988", "ERROR:" ], [ "700", "888,988", "88,98", "999", "ERROR:" ], [ "700", "888,988", "99", "000,020", "ERROR:" ], [ "700", "888,988", "99", "010,030", "ERROR:" ], [ "700", "888,988", "99", "988", "ERROR:" ], [ "700", "888,988", "99", "999", "ERROR:" ], [ "700", "999", "00", "000,020", "VALUE:IVA" ], [ "700", "999", "00", "010,030", "VALUE:IVB" ], [ "700", "999", "00", "988", "ERROR:" ], [ "700", "999", "00", "999", "VALUE:IV" ], [ "700", "999", "20", "000,020", "VALUE:IVA" ], [ "700", "999", "20", "010,030", "VALUE:IVB" ], [ "700", "999", "20", "988", "ERROR:" ], [ "700", "999", "20", "999", "VALUE:IV" ], [ "700", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "700", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "700", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "700", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "700", "999", "88,98", "000,020", "ERROR:" ], [ "700", "999", "88,98", "010,030", "ERROR:" ], [ "700", "999", "88,98", "988", "ERROR:" ], [ "700", "999", "88,98", "999", "ERROR:" ], [ "700", "999", "99", "000,020", "VALUE:IVA" ], [ "700", "999", "99", "010,030", "VALUE:IVB" ], [ "700", "999", "99", "988", "ERROR:" ], [ "700", "999", "99", "999", "VALUE:IV" ], [ "710", "000", "00", "000,020", "VALUE:IVA" ], [ "710", "000", "00", "010,030", "VALUE:IVB" ], [ "710", "000", "00", "988", "ERROR:" ], [ "710", "000", "00", "999", "VALUE:IV" ], [ "710", "000", "20", "000,020", "VALUE:IVA" ], [ "710", "000", "20", "010,030", "VALUE:IVB" ], [ "710", "000", "20", "988", "ERROR:" ], [ "710", "000", "20", "999", "VALUE:IV" ], [ "710", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "710", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "710", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "710", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "710", "000", "88,98", "000,020", "ERROR:" ], [ "710", "000", "88,98", "010,030", "ERROR:" ], [ "710", "000", "88,98", "988", "ERROR:" ], [ "710", "000", "88,98", "999", "ERROR:" ], [ "710", "000", "99", "000,020", "VALUE:IVA" ], [ "710", "000", "99", "010,030", "VALUE:IVB" ], [ "710", "000", "99", "988", "ERROR:" ], [ "710", "000", "99", "999", "VALUE:IV" ], [ "710", "100,300,600,700,800", "00", "000,020", "VALUE:IVA" ], [ "710", "100,300,600,700,800", "00", "010,030", "VALUE:IVB" ], [ "710", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "710", "100,300,600,700,800", "00", "999", "VALUE:IV" ], [ "710", "100,300,600,700,800", "20", "000,020", "VALUE:IVA" ], [ "710", "100,300,600,700,800", "20", "010,030", "VALUE:IVB" ], [ "710", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "710", "100,300,600,700,800", "20", "999", "VALUE:IV" ], [ "710", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "710", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "710", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "710", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "710", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "710", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "710", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "710", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "710", "100,300,600,700,800", "99", "000,020", "VALUE:IVA" ], [ "710", "100,300,600,700,800", "99", "010,030", "VALUE:IVB" ], [ "710", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "710", "100,300,600,700,800", "99", "999", "VALUE:IV" ], [ "710", "888,988", "00", "000,020", "ERROR:" ], [ "710", "888,988", "00", "010,030", "ERROR:" ], [ "710", "888,988", "00", "988", "ERROR:" ], [ "710", "888,988", "00", "999", "ERROR:" ], [ "710", "888,988", "20", "000,020", "ERROR:" ], [ "710", "888,988", "20", "010,030", "ERROR:" ], [ "710", "888,988", "20", "988", "ERROR:" ], [ "710", "888,988", "20", "999", "ERROR:" ], [ "710", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "710", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "710", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "710", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "710", "888,988", "88,98", "000,020", "ERROR:" ], [ "710", "888,988", "88,98", "010,030", "ERROR:" ], [ "710", "888,988", "88,98", "988", "ERROR:" ], [ "710", "888,988", "88,98", "999", "ERROR:" ], [ "710", "888,988", "99", "000,020", "ERROR:" ], [ "710", "888,988", "99", "010,030", "ERROR:" ], [ "710", "888,988", "99", "988", "ERROR:" ], [ "710", "888,988", "99", "999", "ERROR:" ], [ "710", "999", "00", "000,020", "VALUE:IVA" ], [ "710", "999", "00", "010,030", "VALUE:IVB" ], [ "710", "999", "00", "988", "ERROR:" ], [ "710", "999", "00", "999", "VALUE:IV" ], [ "710", "999", "20", "000,020", "VALUE:IVA" ], [ "710", "999", "20", "010,030", "VALUE:IVB" ], [ "710", "999", "20", "988", "ERROR:" ], [ "710", "999", "20", "999", "VALUE:IV" ], [ "710", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "710", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "710", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "710", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "710", "999", "88,98", "000,020", "ERROR:" ], [ "710", "999", "88,98", "010,030", "ERROR:" ], [ "710", "999", "88,98", "988", "ERROR:" ], [ "710", "999", "88,98", "999", "ERROR:" ], [ "710", "999", "99", "000,020", "VALUE:IVA" ], [ "710", "999", "99", "010,030", "VALUE:IVB" ], [ "710", "999", "99", "988", "ERROR:" ], [ "710", "999", "99", "999", "VALUE:IV" ], [ "720", "000", "00", "000,020", "VALUE:IVA" ], [ "720", "000", "00", "010,030", "VALUE:IVB" ], [ "720", "000", "00", "988", "ERROR:" ], [ "720", "000", "00", "999", "VALUE:IV" ], [ "720", "000", "20", "000,020", "VALUE:IVA" ], [ "720", "000", "20", "010,030", "VALUE:IVB" ], [ "720", "000", "20", "988", "ERROR:" ], [ "720", "000", "20", "999", "VALUE:IV" ], [ "720", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "720", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "720", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "720", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "720", "000", "88,98", "000,020", "ERROR:" ], [ "720", "000", "88,98", "010,030", "ERROR:" ], [ "720", "000", "88,98", "988", "ERROR:" ], [ "720", "000", "88,98", "999", "ERROR:" ], [ "720", "000", "99", "000,020", "VALUE:IVA" ], [ "720", "000", "99", "010,030", "VALUE:IVB" ], [ "720", "000", "99", "988", "ERROR:" ], [ "720", "000", "99", "999", "VALUE:IV" ], [ "720", "100,300,600,700,800", "00", "000,020", "VALUE:IVA" ], [ "720", "100,300,600,700,800", "00", "010,030", "VALUE:IVB" ], [ "720", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "720", "100,300,600,700,800", "00", "999", "VALUE:IV" ], [ "720", "100,300,600,700,800", "20", "000,020", "VALUE:IVA" ], [ "720", "100,300,600,700,800", "20", "010,030", "VALUE:IVB" ], [ "720", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "720", "100,300,600,700,800", "20", "999", "VALUE:IV" ], [ "720", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "720", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "720", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "720", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "720", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "720", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "720", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "720", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "720", "100,300,600,700,800", "99", "000,020", "VALUE:IVA" ], [ "720", "100,300,600,700,800", "99", "010,030", "VALUE:IVB" ], [ "720", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "720", "100,300,600,700,800", "99", "999", "VALUE:IV" ], [ "720", "888,988", "00", "000,020", "ERROR:" ], [ "720", "888,988", "00", "010,030", "ERROR:" ], [ "720", "888,988", "00", "988", "ERROR:" ], [ "720", "888,988", "00", "999", "ERROR:" ], [ "720", "888,988", "20", "000,020", "ERROR:" ], [ "720", "888,988", "20", "010,030", "ERROR:" ], [ "720", "888,988", "20", "988", "ERROR:" ], [ "720", "888,988", "20", "999", "ERROR:" ], [ "720", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "720", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "720", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "720", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "720", "888,988", "88,98", "000,020", "ERROR:" ], [ "720", "888,988", "88,98", "010,030", "ERROR:" ], [ "720", "888,988", "88,98", "988", "ERROR:" ], [ "720", "888,988", "88,98", "999", "ERROR:" ], [ "720", "888,988", "99", "000,020", "ERROR:" ], [ "720", "888,988", "99", "010,030", "ERROR:" ], [ "720", "888,988", "99", "988", "ERROR:" ], [ "720", "888,988", "99", "999", "ERROR:" ], [ "720", "999", "00", "000,020", "VALUE:IVA" ], [ "720", "999", "00", "010,030", "VALUE:IVB" ], [ "720", "999", "00", "988", "ERROR:" ], [ "720", "999", "00", "999", "VALUE:IV" ], [ "720", "999", "20", "000,020", "VALUE:IVA" ], [ "720", "999", "20", "010,030", "VALUE:IVB" ], [ "720", "999", "20", "988", "ERROR:" ], [ "720", "999", "20", "999", "VALUE:IV" ], [ "720", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "720", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "720", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "720", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "720", "999", "88,98", "000,020", "ERROR:" ], [ "720", "999", "88,98", "010,030", "ERROR:" ], [ "720", "999", "88,98", "988", "ERROR:" ], [ "720", "999", "88,98", "999", "ERROR:" ], [ "720", "999", "99", "000,020", "VALUE:IVA" ], [ "720", "999", "99", "010,030", "VALUE:IVB" ], [ "720", "999", "99", "988", "ERROR:" ], [ "720", "999", "99", "999", "VALUE:IV" ], [ "730", "000", "00", "000,020", "VALUE:IVA" ], [ "730", "000", "00", "010,030", "VALUE:IVB" ], [ "730", "000", "00", "988", "ERROR:" ], [ "730", "000", "00", "999", "VALUE:IV" ], [ "730", "000", "20", "000,020", "VALUE:IVA" ], [ "730", "000", "20", "010,030", "VALUE:IVB" ], [ "730", "000", "20", "988", "ERROR:" ], [ "730", "000", "20", "999", "VALUE:IV" ], [ "730", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "730", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "730", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "730", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "730", "000", "88,98", "000,020", "ERROR:" ], [ "730", "000", "88,98", "010,030", "ERROR:" ], [ "730", "000", "88,98", "988", "ERROR:" ], [ "730", "000", "88,98", "999", "ERROR:" ], [ "730", "000", "99", "000,020", "VALUE:IVA" ], [ "730", "000", "99", "010,030", "VALUE:IVB" ], [ "730", "000", "99", "988", "ERROR:" ], [ "730", "000", "99", "999", "VALUE:IV" ], [ "730", "100,300,600,700,800", "00", "000,020", "VALUE:IVA" ], [ "730", "100,300,600,700,800", "00", "010,030", "VALUE:IVB" ], [ "730", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "730", "100,300,600,700,800", "00", "999", "VALUE:IV" ], [ "730", "100,300,600,700,800", "20", "000,020", "VALUE:IVA" ], [ "730", "100,300,600,700,800", "20", "010,030", "VALUE:IVB" ], [ "730", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "730", "100,300,600,700,800", "20", "999", "VALUE:IV" ], [ "730", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "730", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "730", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "730", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "730", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "730", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "730", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "730", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "730", "100,300,600,700,800", "99", "000,020", "VALUE:IVA" ], [ "730", "100,300,600,700,800", "99", "010,030", "VALUE:IVB" ], [ "730", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "730", "100,300,600,700,800", "99", "999", "VALUE:IV" ], [ "730", "888,988", "00", "000,020", "ERROR:" ], [ "730", "888,988", "00", "010,030", "ERROR:" ], [ "730", "888,988", "00", "988", "ERROR:" ], [ "730", "888,988", "00", "999", "ERROR:" ], [ "730", "888,988", "20", "000,020", "ERROR:" ], [ "730", "888,988", "20", "010,030", "ERROR:" ], [ "730", "888,988", "20", "988", "ERROR:" ], [ "730", "888,988", "20", "999", "ERROR:" ], [ "730", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "730", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "730", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "730", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "730", "888,988", "88,98", "000,020", "ERROR:" ], [ "730", "888,988", "88,98", "010,030", "ERROR:" ], [ "730", "888,988", "88,98", "988", "ERROR:" ], [ "730", "888,988", "88,98", "999", "ERROR:" ], [ "730", "888,988", "99", "000,020", "ERROR:" ], [ "730", "888,988", "99", "010,030", "ERROR:" ], [ "730", "888,988", "99", "988", "ERROR:" ], [ "730", "888,988", "99", "999", "ERROR:" ], [ "730", "999", "00", "000,020", "VALUE:IVA" ], [ "730", "999", "00", "010,030", "VALUE:IVB" ], [ "730", "999", "00", "988", "ERROR:" ], [ "730", "999", "00", "999", "VALUE:IV" ], [ "730", "999", "20", "000,020", "VALUE:IVA" ], [ "730", "999", "20", "010,030", "VALUE:IVB" ], [ "730", "999", "20", "988", "ERROR:" ], [ "730", "999", "20", "999", "VALUE:IV" ], [ "730", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "730", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "730", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "730", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "730", "999", "88,98", "000,020", "ERROR:" ], [ "730", "999", "88,98", "010,030", "ERROR:" ], [ "730", "999", "88,98", "988", "ERROR:" ], [ "730", "999", "88,98", "999", "ERROR:" ], [ "730", "999", "99", "000,020", "VALUE:IVA" ], [ "730", "999", "99", "010,030", "VALUE:IVB" ], [ "730", "999", "99", "988", "ERROR:" ], [ "730", "999", "99", "999", "VALUE:IV" ], [ "750", "000", "00", "000,020", "VALUE:IVA" ], [ "750", "000", "00", "010,030", "VALUE:IVB" ], [ "750", "000", "00", "988", "ERROR:" ], [ "750", "000", "00", "999", "VALUE:IV" ], [ "750", "000", "20", "000,020", "VALUE:IVA" ], [ "750", "000", "20", "010,030", "VALUE:IVB" ], [ "750", "000", "20", "988", "ERROR:" ], [ "750", "000", "20", "999", "VALUE:IV" ], [ "750", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "750", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "750", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "750", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "750", "000", "88,98", "000,020", "ERROR:" ], [ "750", "000", "88,98", "010,030", "ERROR:" ], [ "750", "000", "88,98", "988", "ERROR:" ], [ "750", "000", "88,98", "999", "ERROR:" ], [ "750", "000", "99", "000,020", "VALUE:IVA" ], [ "750", "000", "99", "010,030", "VALUE:IVB" ], [ "750", "000", "99", "988", "ERROR:" ], [ "750", "000", "99", "999", "VALUE:IV" ], [ "750", "100,300,600,700,800", "00", "000,020", "VALUE:IVA" ], [ "750", "100,300,600,700,800", "00", "010,030", "VALUE:IVB" ], [ "750", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "750", "100,300,600,700,800", "00", "999", "VALUE:IV" ], [ "750", "100,300,600,700,800", "20", "000,020", "VALUE:IVA" ], [ "750", "100,300,600,700,800", "20", "010,030", "VALUE:IVB" ], [ "750", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "750", "100,300,600,700,800", "20", "999", "VALUE:IV" ], [ "750", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "750", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "750", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "750", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "750", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "750", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "750", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "750", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "750", "100,300,600,700,800", "99", "000,020", "VALUE:IVA" ], [ "750", "100,300,600,700,800", "99", "010,030", "VALUE:IVB" ], [ "750", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "750", "100,300,600,700,800", "99", "999", "VALUE:IV" ], [ "750", "888,988", "00", "000,020", "ERROR:" ], [ "750", "888,988", "00", "010,030", "ERROR:" ], [ "750", "888,988", "00", "988", "ERROR:" ], [ "750", "888,988", "00", "999", "ERROR:" ], [ "750", "888,988", "20", "000,020", "ERROR:" ], [ "750", "888,988", "20", "010,030", "ERROR:" ], [ "750", "888,988", "20", "988", "ERROR:" ], [ "750", "888,988", "20", "999", "ERROR:" ], [ "750", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "750", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "750", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "750", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "750", "888,988", "88,98", "000,020", "ERROR:" ], [ "750", "888,988", "88,98", "010,030", "ERROR:" ], [ "750", "888,988", "88,98", "988", "ERROR:" ], [ "750", "888,988", "88,98", "999", "ERROR:" ], [ "750", "888,988", "99", "000,020", "ERROR:" ], [ "750", "888,988", "99", "010,030", "ERROR:" ], [ "750", "888,988", "99", "988", "ERROR:" ], [ "750", "888,988", "99", "999", "ERROR:" ], [ "750", "999", "00", "000,020", "VALUE:IVA" ], [ "750", "999", "00", "010,030", "VALUE:IVB" ], [ "750", "999", "00", "988", "ERROR:" ], [ "750", "999", "00", "999", "VALUE:IV" ], [ "750", "999", "20", "000,020", "VALUE:IVA" ], [ "750", "999", "20", "010,030", "VALUE:IVB" ], [ "750", "999", "20", "988", "ERROR:" ], [ "750", "999", "20", "999", "VALUE:IV" ], [ "750", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "750", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "750", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "750", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "750", "999", "88,98", "000,020", "ERROR:" ], [ "750", "999", "88,98", "010,030", "ERROR:" ], [ "750", "999", "88,98", "988", "ERROR:" ], [ "750", "999", "88,98", "999", "ERROR:" ], [ "750", "999", "99", "000,020", "VALUE:IVA" ], [ "750", "999", "99", "010,030", "VALUE:IVB" ], [ "750", "999", "99", "988", "ERROR:" ], [ "750", "999", "99", "999", "VALUE:IV" ], [ "805", "000", "00", "000,020", "VALUE:IVA" ], [ "805", "000", "00", "010,030", "VALUE:IVB" ], [ "805", "000", "00", "988", "ERROR:" ], [ "805", "000", "00", "999", "VALUE:IV" ], [ "805", "000", "20", "000,020", "VALUE:IVA" ], [ "805", "000", "20", "010,030", "VALUE:IVB" ], [ "805", "000", "20", "988", "ERROR:" ], [ "805", "000", "20", "999", "VALUE:IV" ], [ "805", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "805", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "805", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "805", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "805", "000", "88,98", "000,020", "ERROR:" ], [ "805", "000", "88,98", "010,030", "ERROR:" ], [ "805", "000", "88,98", "988", "ERROR:" ], [ "805", "000", "88,98", "999", "ERROR:" ], [ "805", "000", "99", "000,020", "VALUE:IVA" ], [ "805", "000", "99", "010,030", "VALUE:IVB" ], [ "805", "000", "99", "988", "ERROR:" ], [ "805", "000", "99", "999", "VALUE:IV" ], [ "805", "100,300,600,700,800", "00", "000,020", "VALUE:IVA" ], [ "805", "100,300,600,700,800", "00", "010,030", "VALUE:IVB" ], [ "805", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "805", "100,300,600,700,800", "00", "999", "VALUE:IV" ], [ "805", "100,300,600,700,800", "20", "000,020", "VALUE:IVA" ], [ "805", "100,300,600,700,800", "20", "010,030", "VALUE:IVB" ], [ "805", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "805", "100,300,600,700,800", "20", "999", "VALUE:IV" ], [ "805", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "805", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "805", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "805", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "805", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "805", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "805", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "805", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "805", "100,300,600,700,800", "99", "000,020", "VALUE:IVA" ], [ "805", "100,300,600,700,800", "99", "010,030", "VALUE:IVB" ], [ "805", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "805", "100,300,600,700,800", "99", "999", "VALUE:IV" ], [ "805", "888,988", "00", "000,020", "ERROR:" ], [ "805", "888,988", "00", "010,030", "ERROR:" ], [ "805", "888,988", "00", "988", "ERROR:" ], [ "805", "888,988", "00", "999", "ERROR:" ], [ "805", "888,988", "20", "000,020", "ERROR:" ], [ "805", "888,988", "20", "010,030", "ERROR:" ], [ "805", "888,988", "20", "988", "ERROR:" ], [ "805", "888,988", "20", "999", "ERROR:" ], [ "805", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "805", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "805", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "805", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "805", "888,988", "88,98", "000,020", "ERROR:" ], [ "805", "888,988", "88,98", "010,030", "ERROR:" ], [ "805", "888,988", "88,98", "988", "ERROR:" ], [ "805", "888,988", "88,98", "999", "ERROR:" ], [ "805", "888,988", "99", "000,020", "ERROR:" ], [ "805", "888,988", "99", "010,030", "ERROR:" ], [ "805", "888,988", "99", "988", "ERROR:" ], [ "805", "888,988", "99", "999", "ERROR:" ], [ "805", "999", "00", "000,020", "VALUE:IVA" ], [ "805", "999", "00", "010,030", "VALUE:IVB" ], [ "805", "999", "00", "988", "ERROR:" ], [ "805", "999", "00", "999", "VALUE:IV" ], [ "805", "999", "20", "000,020", "VALUE:IVA" ], [ "805", "999", "20", "010,030", "VALUE:IVB" ], [ "805", "999", "20", "988", "ERROR:" ], [ "805", "999", "20", "999", "VALUE:IV" ], [ "805", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "805", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "805", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "805", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "805", "999", "88,98", "000,020", "ERROR:" ], [ "805", "999", "88,98", "010,030", "ERROR:" ], [ "805", "999", "88,98", "988", "ERROR:" ], [ "805", "999", "88,98", "999", "ERROR:" ], [ "805", "999", "99", "000,020", "VALUE:IVA" ], [ "805", "999", "99", "010,030", "VALUE:IVB" ], [ "805", "999", "99", "988", "ERROR:" ], [ "805", "999", "99", "999", "VALUE:IV" ], [ "950", "000", "00", "000,020", "ERROR:" ], [ "950", "000", "00", "010,030", "ERROR:" ], [ "950", "000", "00", "988", "ERROR:" ], [ "950", "000", "00", "999", "ERROR:" ], [ "950", "000", "20", "000,020", "VALUE:IIIESA" ], [ "950", "000", "20", "010,030", "VALUE:IIIESB" ], [ "950", "000", "20", "988", "ERROR:" ], [ "950", "000", "20", "999", "VALUE:IIIES" ], [ "950", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "950", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "950", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "950", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "950", "000", "88,98", "000,020", "ERROR:" ], [ "950", "000", "88,98", "010,030", "ERROR:" ], [ "950", "000", "88,98", "988", "ERROR:" ], [ "950", "000", "88,98", "999", "ERROR:" ], [ "950", "000", "99", "000,020", "VALUE:UNK" ], [ "950", "000", "99", "010,030", "VALUE:UNK" ], [ "950", "000", "99", "988", "ERROR:" ], [ "950", "000", "99", "999", "VALUE:UNK" ], [ "950", "100,300,600,700,800", "00", "000,020", "VALUE:IIEA" ], [ "950", "100,300,600,700,800", "00", "010,030", "VALUE:IIEB" ], [ "950", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "950", "100,300,600,700,800", "00", "999", "VALUE:IIE" ], [ "950", "100,300,600,700,800", "20", "000,020", "VALUE:IIIESA" ], [ "950", "100,300,600,700,800", "20", "010,030", "VALUE:IIIESB" ], [ "950", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "950", "100,300,600,700,800", "20", "999", "VALUE:IIIES" ], [ "950", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "950", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "950", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "950", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "950", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "950", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "950", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "950", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "950", "100,300,600,700,800", "99", "000,020", "VALUE:UNK" ], [ "950", "100,300,600,700,800", "99", "010,030", "VALUE:UNK" ], [ "950", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "950", "100,300,600,700,800", "99", "999", "VALUE:UNK" ], [ "950", "888,988", "00", "000,020", "ERROR:" ], [ "950", "888,988", "00", "010,030", "ERROR:" ], [ "950", "888,988", "00", "988", "ERROR:" ], [ "950", "888,988", "00", "999", "ERROR:" ], [ "950", "888,988", "20", "000,020", "ERROR:" ], [ "950", "888,988", "20", "010,030", "ERROR:" ], [ "950", "888,988", "20", "988", "ERROR:" ], [ "950", "888,988", "20", "999", "ERROR:" ], [ "950", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "950", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "950", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "950", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "950", "888,988", "88,98", "000,020", "ERROR:" ], [ "950", "888,988", "88,98", "010,030", "ERROR:" ], [ "950", "888,988", "88,98", "988", "ERROR:" ], [ "950", "888,988", "88,98", "999", "ERROR:" ], [ "950", "888,988", "99", "000,020", "ERROR:" ], [ "950", "888,988", "99", "010,030", "ERROR:" ], [ "950", "888,988", "99", "988", "ERROR:" ], [ "950", "888,988", "99", "999", "ERROR:" ], [ "950", "999", "00", "000,020", "VALUE:UNK" ], [ "950", "999", "00", "010,030", "VALUE:UNK" ], [ "950", "999", "00", "988", "ERROR:" ], [ "950", "999", "00", "999", "VALUE:UNK" ], [ "950", "999", "20", "000,020", "VALUE:IIIESA" ], [ "950", "999", "20", "010,030", "VALUE:IIIESB" ], [ "950", "999", "20", "988", "ERROR:" ], [ "950", "999", "20", "999", "VALUE:IIIES" ], [ "950", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "950", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "950", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "950", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "950", "999", "88,98", "000,020", "ERROR:" ], [ "950", "999", "88,98", "010,030", "ERROR:" ], [ "950", "999", "88,98", "988", "ERROR:" ], [ "950", "999", "88,98", "999", "ERROR:" ], [ "950", "999", "99", "000,020", "VALUE:UNK" ], [ "950", "999", "99", "010,030", "VALUE:UNK" ], [ "950", "999", "99", "988", "ERROR:" ], [ "950", "999", "99", "999", "VALUE:UNK" ], [ "989", "000", "00", "000,020", "VALUE:UNK" ], [ "989", "000", "00", "010,030", "VALUE:UNK" ], [ "989", "000", "00", "988", "ERROR:" ], [ "989", "000", "00", "999", "VALUE:UNK" ], [ "989", "000", "20", "000,020", "VALUE:IIIESA" ], [ "989", "000", "20", "010,030", "VALUE:IIIESB" ], [ "989", "000", "20", "988", "ERROR:" ], [ "989", "000", "20", "999", "VALUE:IIIES" ], [ "989", "000", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "989", "000", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "989", "000", "30,35,40,50,60", "988", "ERROR:" ], [ "989", "000", "30,35,40,50,60", "999", "VALUE:IV" ], [ "989", "000", "88,98", "000,020", "ERROR:" ], [ "989", "000", "88,98", "010,030", "ERROR:" ], [ "989", "000", "88,98", "988", "ERROR:" ], [ "989", "000", "88,98", "999", "ERROR:" ], [ "989", "000", "99", "000,020", "VALUE:UNK" ], [ "989", "000", "99", "010,030", "VALUE:UNK" ], [ "989", "000", "99", "988", "ERROR:" ], [ "989", "000", "99", "999", "VALUE:UNK" ], [ "989", "100,300,600,700,800", "00", "000,020", "VALUE:IIEA" ], [ "989", "100,300,600,700,800", "00", "010,030", "VALUE:IIEB" ], [ "989", "100,300,600,700,800", "00", "988", "ERROR:" ], [ "989", "100,300,600,700,800", "00", "999", "VALUE:IIE" ], [ "989", "100,300,600,700,800", "20", "000,020", "VALUE:IIIESA" ], [ "989", "100,300,600,700,800", "20", "010,030", "VALUE:IIIESB" ], [ "989", "100,300,600,700,800", "20", "988", "ERROR:" ], [ "989", "100,300,600,700,800", "20", "999", "VALUE:IIIES" ], [ "989", "100,300,600,700,800", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "989", "100,300,600,700,800", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "989", "100,300,600,700,800", "30,35,40,50,60", "988", "ERROR:" ], [ "989", "100,300,600,700,800", "30,35,40,50,60", "999", "VALUE:IV" ], [ "989", "100,300,600,700,800", "88,98", "000,020", "ERROR:" ], [ "989", "100,300,600,700,800", "88,98", "010,030", "ERROR:" ], [ "989", "100,300,600,700,800", "88,98", "988", "ERROR:" ], [ "989", "100,300,600,700,800", "88,98", "999", "ERROR:" ], [ "989", "100,300,600,700,800", "99", "000,020", "VALUE:UNK" ], [ "989", "100,300,600,700,800", "99", "010,030", "VALUE:UNK" ], [ "989", "100,300,600,700,800", "99", "988", "ERROR:" ], [ "989", "100,300,600,700,800", "99", "999", "VALUE:UNK" ], [ "989", "888,988", "00", "000,020", "ERROR:" ], [ "989", "888,988", "00", "010,030", "ERROR:" ], [ "989", "888,988", "00", "988", "ERROR:" ], [ "989", "888,988", "00", "999", "ERROR:" ], [ "989", "888,988", "20", "000,020", "ERROR:" ], [ "989", "888,988", "20", "010,030", "ERROR:" ], [ "989", "888,988", "20", "988", "ERROR:" ], [ "989", "888,988", "20", "999", "ERROR:" ], [ "989", "888,988", "30,35,40,50,60", "000,020", "ERROR:" ], [ "989", "888,988", "30,35,40,50,60", "010,030", "ERROR:" ], [ "989", "888,988", "30,35,40,50,60", "988", "ERROR:" ], [ "989", "888,988", "30,35,40,50,60", "999", "ERROR:" ], [ "989", "888,988", "88,98", "000,020", "ERROR:" ], [ "989", "888,988", "88,98", "010,030", "ERROR:" ], [ "989", "888,988", "88,98", "988", "ERROR:" ], [ "989", "888,988", "88,98", "999", "ERROR:" ], [ "989", "888,988", "99", "000,020", "ERROR:" ], [ "989", "888,988", "99", "010,030", "ERROR:" ], [ "989", "888,988", "99", "988", "ERROR:" ], [ "989", "888,988", "99", "999", "ERROR:" ], [ "989", "999", "00", "000,020", "VALUE:UNK" ], [ "989", "999", "00", "010,030", "VALUE:UNK" ], [ "989", "999", "00", "988", "ERROR:" ], [ "989", "999", "00", "999", "VALUE:UNK" ], [ "989", "999", "20", "000,020", "VALUE:IIIESA" ], [ "989", "999", "20", "010,030", "VALUE:IIIESB" ], [ "989", "999", "20", "988", "ERROR:" ], [ "989", "999", "20", "999", "VALUE:IIIES" ], [ "989", "999", "30,35,40,50,60", "000,020", "VALUE:IVA" ], [ "989", "999", "30,35,40,50,60", "010,030", "VALUE:IVB" ], [ "989", "999", "30,35,40,50,60", "988", "ERROR:" ], [ "989", "999", "30,35,40,50,60", "999", "VALUE:IV" ], [ "989", "999", "88,98", "000,020", "ERROR:" ], [ "989", "999", "88,98", "010,030", "ERROR:" ], [ "989", "999", "88,98", "988", "ERROR:" ], [ "989", "999", "88,98", "999", "ERROR:" ], [ "989", "999", "99", "000,020", "VALUE:UNK" ], [ "989", "999", "99", "010,030", "VALUE:UNK" ], [ "989", "999", "99", "988", "ERROR:" ], [ "989", "999", "99", "999", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qea.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qea.json deleted file mode 100644 index f38e8a611..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qea.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qea", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:50.721Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N1", "M0", "VALUE:IV" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:I" ], [ "T1b", "N1", "M0", "VALUE:IV" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1c", "N0", "M0", "VALUE:I" ], [ "T1c", "N1", "M0", "VALUE:IV" ], [ "T1c", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N1", "M0", "VALUE:IV" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:II" ], [ "T2a", "N1", "M0", "VALUE:IV" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:II" ], [ "T2b", "N1", "M0", "VALUE:IV" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2c", "N0", "M0", "VALUE:II" ], [ "T2c", "N1", "M0", "VALUE:IV" ], [ "T2c", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:II" ], [ "T2NOS", "N1", "M0", "VALUE:IV" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:III" ], [ "T3a", "N1", "M0", "VALUE:IV" ], [ "T3a", "NX", "M0", "VALUE:UNK" ], [ "T3NOS", "N0", "M0", "VALUE:III" ], [ "T3NOS", "N1", "M0", "VALUE:IV" ], [ "T3NOS", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1c", "N0", "M1", "VALUE:IV" ], [ "T1c", "N1", "M1", "VALUE:IV" ], [ "T1c", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2a", "N0", "M1", "VALUE:IV" ], [ "T2a", "N1", "M1", "VALUE:IV" ], [ "T2a", "NX", "M1", "VALUE:IV" ], [ "T2b", "N0", "M1", "VALUE:IV" ], [ "T2b", "N1", "M1", "VALUE:IV" ], [ "T2b", "NX", "M1", "VALUE:IV" ], [ "T2c", "N0", "M1", "VALUE:IV" ], [ "T2c", "N1", "M1", "VALUE:IV" ], [ "T2c", "NX", "M1", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "VALUE:IV" ], [ "T3a", "N0", "M1", "VALUE:IV" ], [ "T3a", "N1", "M1", "VALUE:IV" ], [ "T3a", "NX", "M1", "VALUE:IV" ], [ "T3NOS", "N0", "M1", "VALUE:IV" ], [ "T3NOS", "N1", "M1", "VALUE:IV" ], [ "T3NOS", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:IV" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "T1a", "N0", "MX", "VALUE:UNK" ], [ "T1a", "N1", "MX", "VALUE:IV" ], [ "T1a", "NX", "MX", "VALUE:UNK" ], [ "T1b", "N0", "MX", "VALUE:UNK" ], [ "T1b", "N1", "MX", "VALUE:IV" ], [ "T1b", "NX", "MX", "VALUE:UNK" ], [ "T1c", "N0", "MX", "VALUE:UNK" ], [ "T1c", "N1", "MX", "VALUE:IV" ], [ "T1c", "NX", "MX", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "VALUE:IV" ], [ "T1NOS", "NX", "MX", "VALUE:UNK" ], [ "T2a", "N0", "MX", "VALUE:UNK" ], [ "T2a", "N1", "MX", "VALUE:IV" ], [ "T2a", "NX", "MX", "VALUE:UNK" ], [ "T2b", "N0", "MX", "VALUE:UNK" ], [ "T2b", "N1", "MX", "VALUE:IV" ], [ "T2b", "NX", "MX", "VALUE:UNK" ], [ "T2c", "N0", "MX", "VALUE:UNK" ], [ "T2c", "N1", "MX", "VALUE:IV" ], [ "T2c", "NX", "MX", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "VALUE:UNK" ], [ "T2NOS", "N1", "MX", "VALUE:IV" ], [ "T2NOS", "NX", "MX", "VALUE:UNK" ], [ "T3a", "N0", "MX", "VALUE:UNK" ], [ "T3a", "N1", "MX", "VALUE:IV" ], [ "T3a", "NX", "MX", "VALUE:UNK" ], [ "T3NOS", "N0", "MX", "VALUE:UNK" ], [ "T3NOS", "N1", "MX", "VALUE:IV" ], [ "T3NOS", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:IV" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:IV" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qna.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qna.json deleted file mode 100644 index cc86bb546..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qna.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qna", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:50.783Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "NA", "NA", "NA", "VALUE:NA" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qnb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qnb.json deleted file mode 100644 index 1c5347cab..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qnb.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "ajcc6_stage_qnb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage for sites with no stage groupings", - "notes" : "In the table below, \"ANY\" designates any valid (allowable) value.", - "last_modified" : "2015-05-27T16:18:50.828Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "", "*", "*", "VALUE:" ], [ "*", "", "*", "VALUE:" ], [ "*", "*", "", "VALUE:" ], [ "*", "*", "*", "VALUE:NA" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpb.json deleted file mode 100644 index b3cb808b1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpb.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qpb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:50.874Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "N2a", "M0", "VALUE:IVA" ], [ "T0", "N2b", "M0", "VALUE:IVA" ], [ "T0", "N2c", "M0", "VALUE:IVA" ], [ "T0", "N2NOS", "M0", "VALUE:IVA" ], [ "T0", "N3", "M0", "VALUE:IVB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2a", "M0", "ERROR:" ], [ "Tis", "N2b", "M0", "ERROR:" ], [ "Tis", "N2c", "M0", "ERROR:" ], [ "Tis", "N2NOS", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "N2a", "M0", "VALUE:IVA" ], [ "T1", "N2b", "M0", "VALUE:IVA" ], [ "T1", "N2c", "M0", "VALUE:IVA" ], [ "T1", "N2NOS", "M0", "VALUE:IVA" ], [ "T1", "N3", "M0", "VALUE:IVB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "N2a", "M0", "VALUE:IVA" ], [ "T2", "N2b", "M0", "VALUE:IVA" ], [ "T2", "N2c", "M0", "VALUE:IVA" ], [ "T2", "N2NOS", "M0", "VALUE:IVA" ], [ "T2", "N3", "M0", "VALUE:IVB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2a", "M0", "VALUE:IVA" ], [ "T3", "N2b", "M0", "VALUE:IVA" ], [ "T3", "N2c", "M0", "VALUE:IVA" ], [ "T3", "N2NOS", "M0", "VALUE:IVA" ], [ "T3", "N3", "M0", "VALUE:IVB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IVA" ], [ "T4a", "N1", "M0", "VALUE:IVA" ], [ "T4a", "N2a", "M0", "VALUE:IVA" ], [ "T4a", "N2b", "M0", "VALUE:IVA" ], [ "T4a", "N2c", "M0", "VALUE:IVA" ], [ "T4a", "N2NOS", "M0", "VALUE:IVA" ], [ "T4a", "N3", "M0", "VALUE:IVB" ], [ "T4a", "NX", "M0", "VALUE:IVNOS" ], [ "T4b", "N0", "M0", "VALUE:IVB" ], [ "T4b", "N1", "M0", "VALUE:IVB" ], [ "T4b", "N2a", "M0", "VALUE:IVB" ], [ "T4b", "N2b", "M0", "VALUE:IVB" ], [ "T4b", "N2c", "M0", "VALUE:IVB" ], [ "T4b", "N2NOS", "M0", "VALUE:IVB" ], [ "T4b", "N3", "M0", "VALUE:IVB" ], [ "T4b", "NX", "M0", "VALUE:IVB" ], [ "T4NOS", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2a", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2b", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2c", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N3", "M0", "VALUE:IVB" ], [ "T4NOS", "NX", "M0", "VALUE:IVNOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2a", "M0", "VALUE:UNK" ], [ "TX", "N2b", "M0", "VALUE:UNK" ], [ "TX", "N2c", "M0", "VALUE:UNK" ], [ "TX", "N2NOS", "M0", "VALUE:UNK" ], [ "TX", "N3", "M0", "VALUE:IVB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVC" ], [ "T0", "N1", "M1", "VALUE:IVC" ], [ "T0", "N2a", "M1", "VALUE:IVC" ], [ "T0", "N2b", "M1", "VALUE:IVC" ], [ "T0", "N2c", "M1", "VALUE:IVC" ], [ "T0", "N2NOS", "M1", "VALUE:IVC" ], [ "T0", "N3", "M1", "VALUE:IVC" ], [ "T0", "NX", "M1", "VALUE:IVC" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2a", "M1", "ERROR:" ], [ "Tis", "N2b", "M1", "ERROR:" ], [ "Tis", "N2c", "M1", "ERROR:" ], [ "Tis", "N2NOS", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IVC" ], [ "T1", "N1", "M1", "VALUE:IVC" ], [ "T1", "N2a", "M1", "VALUE:IVC" ], [ "T1", "N2b", "M1", "VALUE:IVC" ], [ "T1", "N2c", "M1", "VALUE:IVC" ], [ "T1", "N2NOS", "M1", "VALUE:IVC" ], [ "T1", "N3", "M1", "VALUE:IVC" ], [ "T1", "NX", "M1", "VALUE:IVC" ], [ "T2", "N0", "M1", "VALUE:IVC" ], [ "T2", "N1", "M1", "VALUE:IVC" ], [ "T2", "N2a", "M1", "VALUE:IVC" ], [ "T2", "N2b", "M1", "VALUE:IVC" ], [ "T2", "N2c", "M1", "VALUE:IVC" ], [ "T2", "N2NOS", "M1", "VALUE:IVC" ], [ "T2", "N3", "M1", "VALUE:IVC" ], [ "T2", "NX", "M1", "VALUE:IVC" ], [ "T3", "N0", "M1", "VALUE:IVC" ], [ "T3", "N1", "M1", "VALUE:IVC" ], [ "T3", "N2a", "M1", "VALUE:IVC" ], [ "T3", "N2b", "M1", "VALUE:IVC" ], [ "T3", "N2c", "M1", "VALUE:IVC" ], [ "T3", "N2NOS", "M1", "VALUE:IVC" ], [ "T3", "N3", "M1", "VALUE:IVC" ], [ "T3", "NX", "M1", "VALUE:IVC" ], [ "T4a", "N0", "M1", "VALUE:IVC" ], [ "T4a", "N1", "M1", "VALUE:IVC" ], [ "T4a", "N2a", "M1", "VALUE:IVC" ], [ "T4a", "N2b", "M1", "VALUE:IVC" ], [ "T4a", "N2c", "M1", "VALUE:IVC" ], [ "T4a", "N2NOS", "M1", "VALUE:IVC" ], [ "T4a", "N3", "M1", "VALUE:IVC" ], [ "T4a", "NX", "M1", "VALUE:IVC" ], [ "T4b", "N0", "M1", "VALUE:IVC" ], [ "T4b", "N1", "M1", "VALUE:IVC" ], [ "T4b", "N2a", "M1", "VALUE:IVC" ], [ "T4b", "N2b", "M1", "VALUE:IVC" ], [ "T4b", "N2c", "M1", "VALUE:IVC" ], [ "T4b", "N2NOS", "M1", "VALUE:IVC" ], [ "T4b", "N3", "M1", "VALUE:IVC" ], [ "T4b", "NX", "M1", "VALUE:IVC" ], [ "T4NOS", "N0", "M1", "VALUE:IVC" ], [ "T4NOS", "N1", "M1", "VALUE:IVC" ], [ "T4NOS", "N2a", "M1", "VALUE:IVC" ], [ "T4NOS", "N2b", "M1", "VALUE:IVC" ], [ "T4NOS", "N2c", "M1", "VALUE:IVC" ], [ "T4NOS", "N2NOS", "M1", "VALUE:IVC" ], [ "T4NOS", "N3", "M1", "VALUE:IVC" ], [ "T4NOS", "NX", "M1", "VALUE:IVC" ], [ "TX", "N0", "M1", "VALUE:IVC" ], [ "TX", "N1", "M1", "VALUE:IVC" ], [ "TX", "N2a", "M1", "VALUE:IVC" ], [ "TX", "N2b", "M1", "VALUE:IVC" ], [ "TX", "N2c", "M1", "VALUE:IVC" ], [ "TX", "N2NOS", "M1", "VALUE:IVC" ], [ "TX", "N3", "M1", "VALUE:IVC" ], [ "TX", "NX", "M1", "VALUE:IVC" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2a", "MX", "VALUE:UNK" ], [ "T0", "N2b", "MX", "VALUE:UNK" ], [ "T0", "N2c", "MX", "VALUE:UNK" ], [ "T0", "N2NOS", "MX", "VALUE:UNK" ], [ "T0", "N3", "MX", "VALUE:IVNOS" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "N2a", "MX", "ERROR:" ], [ "Tis", "N2b", "MX", "ERROR:" ], [ "Tis", "N2c", "MX", "ERROR:" ], [ "Tis", "N2NOS", "MX", "ERROR:" ], [ "Tis", "N3", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "N2a", "MX", "VALUE:UNK" ], [ "T1", "N2b", "MX", "VALUE:UNK" ], [ "T1", "N2c", "MX", "VALUE:UNK" ], [ "T1", "N2NOS", "MX", "VALUE:UNK" ], [ "T1", "N3", "MX", "VALUE:IVNOS" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "N2a", "MX", "VALUE:UNK" ], [ "T2", "N2b", "MX", "VALUE:UNK" ], [ "T2", "N2c", "MX", "VALUE:UNK" ], [ "T2", "N2NOS", "MX", "VALUE:UNK" ], [ "T2", "N3", "MX", "VALUE:IVNOS" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N2a", "MX", "VALUE:UNK" ], [ "T3", "N2b", "MX", "VALUE:UNK" ], [ "T3", "N2c", "MX", "VALUE:UNK" ], [ "T3", "N2NOS", "MX", "VALUE:UNK" ], [ "T3", "N3", "MX", "VALUE:IVNOS" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4a", "N0", "MX", "VALUE:IVNOS" ], [ "T4a", "N1", "MX", "VALUE:IVNOS" ], [ "T4a", "N2a", "MX", "VALUE:IVNOS" ], [ "T4a", "N2b", "MX", "VALUE:IVNOS" ], [ "T4a", "N2c", "MX", "VALUE:IVNOS" ], [ "T4a", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T4a", "N3", "MX", "VALUE:IVNOS" ], [ "T4a", "NX", "MX", "VALUE:IVNOS" ], [ "T4b", "N0", "MX", "VALUE:IVNOS" ], [ "T4b", "N1", "MX", "VALUE:IVNOS" ], [ "T4b", "N2a", "MX", "VALUE:IVNOS" ], [ "T4b", "N2b", "MX", "VALUE:IVNOS" ], [ "T4b", "N2c", "MX", "VALUE:IVNOS" ], [ "T4b", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T4b", "N3", "MX", "VALUE:IVNOS" ], [ "T4b", "NX", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N0", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N1", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2a", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2b", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2c", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N3", "MX", "VALUE:IVNOS" ], [ "T4NOS", "NX", "MX", "VALUE:IVNOS" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2a", "MX", "VALUE:UNK" ], [ "TX", "N2b", "MX", "VALUE:UNK" ], [ "TX", "N2c", "MX", "VALUE:UNK" ], [ "TX", "N2NOS", "MX", "VALUE:UNK" ], [ "TX", "N3", "MX", "VALUE:IVNOS" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpf.json deleted file mode 100644 index f31ac1ac1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpf.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qpf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:50.949Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIA" ], [ "T0", "N2", "M0", "VALUE:IIIC" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IIIA" ], [ "T1", "N2", "M0", "VALUE:IIIC" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:I" ], [ "T2", "N1", "M0", "VALUE:IIIA" ], [ "T2", "N2", "M0", "VALUE:IIIC" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIA" ], [ "T3", "N1", "M0", "VALUE:IIIB" ], [ "T3", "N2", "M0", "VALUE:IIIC" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IIB" ], [ "T4", "N1", "M0", "VALUE:IIIB" ], [ "T4", "N2", "M0", "VALUE:IIIC" ], [ "T4", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIINOS" ], [ "TX", "N2", "M0", "VALUE:IIIC" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "N2", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "N2", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "N2", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "N2", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N2", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "N2", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpi.json deleted file mode 100644 index b79d03970..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpi.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc6_stage_qpi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:50.999Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "1", "ERROR:" ], [ "T0", "N0", "M0", "2", "ERROR:" ], [ "T0", "N0", "M0", "3", "ERROR:" ], [ "T0", "N0", "M0", "4", "ERROR:" ], [ "T0", "N0", "M0", "5-9", "ERROR:" ], [ "T0", "N1", "M0", "1", "VALUE:IV" ], [ "T0", "N1", "M0", "2", "VALUE:IV" ], [ "T0", "N1", "M0", "3", "VALUE:IV" ], [ "T0", "N1", "M0", "4", "VALUE:IV" ], [ "T0", "N1", "M0", "5-9", "VALUE:IV" ], [ "T0", "NX", "M0", "1", "VALUE:UNK" ], [ "T0", "NX", "M0", "2", "VALUE:UNK" ], [ "T0", "NX", "M0", "3", "VALUE:UNK" ], [ "T0", "NX", "M0", "4", "VALUE:UNK" ], [ "T0", "NX", "M0", "5-9", "VALUE:UNK" ], [ "T1b", "N0", "M0", "1", "VALUE:IA" ], [ "T1b", "N0", "M0", "2", "VALUE:IA" ], [ "T1b", "N0", "M0", "3", "VALUE:IIA" ], [ "T1b", "N0", "M0", "4", "VALUE:IIA" ], [ "T1b", "N0", "M0", "5-9", "VALUE:UNK" ], [ "T1b", "N1", "M0", "1", "VALUE:IV" ], [ "T1b", "N1", "M0", "2", "VALUE:IV" ], [ "T1b", "N1", "M0", "3", "VALUE:IV" ], [ "T1b", "N1", "M0", "4", "VALUE:IV" ], [ "T1b", "N1", "M0", "5-9", "VALUE:IV" ], [ "T1b", "NX", "M0", "1", "VALUE:IA" ], [ "T1b", "NX", "M0", "2", "VALUE:IA" ], [ "T1b", "NX", "M0", "3", "VALUE:IIA" ], [ "T1b", "NX", "M0", "4", "VALUE:IIA" ], [ "T1b", "NX", "M0", "5-9", "VALUE:UNK" ], [ "T2b", "N0", "M0", "1", "VALUE:IB" ], [ "T2b", "N0", "M0", "2", "VALUE:IB" ], [ "T2b", "N0", "M0", "3", "VALUE:III" ], [ "T2b", "N0", "M0", "4", "VALUE:III" ], [ "T2b", "N0", "M0", "5-9", "VALUE:UNK" ], [ "T2b", "N1", "M0", "1", "VALUE:IV" ], [ "T2b", "N1", "M0", "2", "VALUE:IV" ], [ "T2b", "N1", "M0", "3", "VALUE:IV" ], [ "T2b", "N1", "M0", "4", "VALUE:IV" ], [ "T2b", "N1", "M0", "5-9", "VALUE:IV" ], [ "T2b", "NX", "M0", "1", "VALUE:IB" ], [ "T2b", "NX", "M0", "2", "VALUE:IB" ], [ "T2b", "NX", "M0", "3", "VALUE:III" ], [ "T2b", "NX", "M0", "4", "VALUE:III" ], [ "T2b", "NX", "M0", "5-9", "VALUE:UNK" ], [ "TX", "N0", "M0", "1", "VALUE:UNK" ], [ "TX", "N0", "M0", "2", "VALUE:UNK" ], [ "TX", "N0", "M0", "3", "VALUE:UNK" ], [ "TX", "N0", "M0", "4", "VALUE:UNK" ], [ "TX", "N0", "M0", "5-9", "VALUE:UNK" ], [ "TX", "N1", "M0", "1", "VALUE:IV" ], [ "TX", "N1", "M0", "2", "VALUE:IV" ], [ "TX", "N1", "M0", "3", "VALUE:IV" ], [ "TX", "N1", "M0", "4", "VALUE:IV" ], [ "TX", "N1", "M0", "5-9", "VALUE:IV" ], [ "TX", "NX", "M0", "1", "VALUE:UNK" ], [ "TX", "NX", "M0", "2", "VALUE:UNK" ], [ "TX", "NX", "M0", "3", "VALUE:UNK" ], [ "TX", "NX", "M0", "4", "VALUE:UNK" ], [ "TX", "NX", "M0", "5-9", "VALUE:UNK" ], [ "T0", "N0", "M1", "1", "VALUE:IV" ], [ "T0", "N0", "M1", "2", "VALUE:IV" ], [ "T0", "N0", "M1", "3", "VALUE:IV" ], [ "T0", "N0", "M1", "4", "VALUE:IV" ], [ "T0", "N0", "M1", "5-9", "VALUE:IV" ], [ "T0", "N1", "M1", "1", "VALUE:IV" ], [ "T0", "N1", "M1", "2", "VALUE:IV" ], [ "T0", "N1", "M1", "3", "VALUE:IV" ], [ "T0", "N1", "M1", "4", "VALUE:IV" ], [ "T0", "N1", "M1", "5-9", "VALUE:IV" ], [ "T0", "NX", "M1", "1", "VALUE:IV" ], [ "T0", "NX", "M1", "2", "VALUE:IV" ], [ "T0", "NX", "M1", "3", "VALUE:IV" ], [ "T0", "NX", "M1", "4", "VALUE:IV" ], [ "T0", "NX", "M1", "5-9", "VALUE:IV" ], [ "T1b", "N0", "M1", "1", "VALUE:IV" ], [ "T1b", "N0", "M1", "2", "VALUE:IV" ], [ "T1b", "N0", "M1", "3", "VALUE:IV" ], [ "T1b", "N0", "M1", "4", "VALUE:IV" ], [ "T1b", "N0", "M1", "5-9", "VALUE:IV" ], [ "T1b", "N1", "M1", "1", "VALUE:IV" ], [ "T1b", "N1", "M1", "2", "VALUE:IV" ], [ "T1b", "N1", "M1", "3", "VALUE:IV" ], [ "T1b", "N1", "M1", "4", "VALUE:IV" ], [ "T1b", "N1", "M1", "5-9", "VALUE:IV" ], [ "T1b", "NX", "M1", "1", "VALUE:IV" ], [ "T1b", "NX", "M1", "2", "VALUE:IV" ], [ "T1b", "NX", "M1", "3", "VALUE:IV" ], [ "T1b", "NX", "M1", "4", "VALUE:IV" ], [ "T1b", "NX", "M1", "5-9", "VALUE:IV" ], [ "T2b", "N0", "M1", "1", "VALUE:IV" ], [ "T2b", "N0", "M1", "2", "VALUE:IV" ], [ "T2b", "N0", "M1", "3", "VALUE:IV" ], [ "T2b", "N0", "M1", "4", "VALUE:IV" ], [ "T2b", "N0", "M1", "5-9", "VALUE:IV" ], [ "T2b", "N1", "M1", "1", "VALUE:IV" ], [ "T2b", "N1", "M1", "2", "VALUE:IV" ], [ "T2b", "N1", "M1", "3", "VALUE:IV" ], [ "T2b", "N1", "M1", "4", "VALUE:IV" ], [ "T2b", "N1", "M1", "5-9", "VALUE:IV" ], [ "T2b", "NX", "M1", "1", "VALUE:IV" ], [ "T2b", "NX", "M1", "2", "VALUE:IV" ], [ "T2b", "NX", "M1", "3", "VALUE:IV" ], [ "T2b", "NX", "M1", "4", "VALUE:IV" ], [ "T2b", "NX", "M1", "5-9", "VALUE:IV" ], [ "TX", "N0", "M1", "1", "VALUE:IV" ], [ "TX", "N0", "M1", "2", "VALUE:IV" ], [ "TX", "N0", "M1", "3", "VALUE:IV" ], [ "TX", "N0", "M1", "4", "VALUE:IV" ], [ "TX", "N0", "M1", "5-9", "VALUE:IV" ], [ "TX", "N1", "M1", "1", "VALUE:IV" ], [ "TX", "N1", "M1", "2", "VALUE:IV" ], [ "TX", "N1", "M1", "3", "VALUE:IV" ], [ "TX", "N1", "M1", "4", "VALUE:IV" ], [ "TX", "N1", "M1", "5-9", "VALUE:IV" ], [ "TX", "NX", "M1", "1", "VALUE:IV" ], [ "TX", "NX", "M1", "2", "VALUE:IV" ], [ "TX", "NX", "M1", "3", "VALUE:IV" ], [ "TX", "NX", "M1", "4", "VALUE:IV" ], [ "TX", "NX", "M1", "5-9", "VALUE:IV" ], [ "T0", "N0", "MX", "1", "VALUE:UNK" ], [ "T0", "N0", "MX", "2", "VALUE:UNK" ], [ "T0", "N0", "MX", "3", "VALUE:UNK" ], [ "T0", "N0", "MX", "4", "VALUE:UNK" ], [ "T0", "N0", "MX", "5-9", "VALUE:UNK" ], [ "T0", "N1", "MX", "1", "VALUE:IV" ], [ "T0", "N1", "MX", "2", "VALUE:IV" ], [ "T0", "N1", "MX", "3", "VALUE:IV" ], [ "T0", "N1", "MX", "4", "VALUE:IV" ], [ "T0", "N1", "MX", "5-9", "VALUE:IV" ], [ "T0", "NX", "MX", "1", "VALUE:UNK" ], [ "T0", "NX", "MX", "2", "VALUE:UNK" ], [ "T0", "NX", "MX", "3", "VALUE:UNK" ], [ "T0", "NX", "MX", "4", "VALUE:UNK" ], [ "T0", "NX", "MX", "5-9", "VALUE:UNK" ], [ "T1b", "N0", "MX", "1", "VALUE:UNK" ], [ "T1b", "N0", "MX", "2", "VALUE:UNK" ], [ "T1b", "N0", "MX", "3", "VALUE:UNK" ], [ "T1b", "N0", "MX", "4", "VALUE:UNK" ], [ "T1b", "N0", "MX", "5-9", "VALUE:UNK" ], [ "T1b", "N1", "MX", "1", "VALUE:IV" ], [ "T1b", "N1", "MX", "2", "VALUE:IV" ], [ "T1b", "N1", "MX", "3", "VALUE:IV" ], [ "T1b", "N1", "MX", "4", "VALUE:IV" ], [ "T1b", "N1", "MX", "5-9", "VALUE:IV" ], [ "T1b", "NX", "MX", "1", "VALUE:UNK" ], [ "T1b", "NX", "MX", "2", "VALUE:UNK" ], [ "T1b", "NX", "MX", "3", "VALUE:UNK" ], [ "T1b", "NX", "MX", "4", "VALUE:UNK" ], [ "T1b", "NX", "MX", "5-9", "VALUE:UNK" ], [ "T2b", "N0", "MX", "1", "VALUE:UNK" ], [ "T2b", "N0", "MX", "2", "VALUE:UNK" ], [ "T2b", "N0", "MX", "3", "VALUE:UNK" ], [ "T2b", "N0", "MX", "4", "VALUE:UNK" ], [ "T2b", "N0", "MX", "5-9", "VALUE:UNK" ], [ "T2b", "N1", "MX", "1", "VALUE:IV" ], [ "T2b", "N1", "MX", "2", "VALUE:IV" ], [ "T2b", "N1", "MX", "3", "VALUE:IV" ], [ "T2b", "N1", "MX", "4", "VALUE:IV" ], [ "T2b", "N1", "MX", "5-9", "VALUE:IV" ], [ "T2b", "NX", "MX", "1", "VALUE:UNK" ], [ "T2b", "NX", "MX", "2", "VALUE:UNK" ], [ "T2b", "NX", "MX", "3", "VALUE:UNK" ], [ "T2b", "NX", "MX", "4", "VALUE:UNK" ], [ "T2b", "NX", "MX", "5-9", "VALUE:UNK" ], [ "TX", "N0", "MX", "1", "VALUE:UNK" ], [ "TX", "N0", "MX", "2", "VALUE:UNK" ], [ "TX", "N0", "MX", "3", "VALUE:UNK" ], [ "TX", "N0", "MX", "4", "VALUE:UNK" ], [ "TX", "N0", "MX", "5-9", "VALUE:UNK" ], [ "TX", "N1", "MX", "1", "VALUE:IV" ], [ "TX", "N1", "MX", "2", "VALUE:IV" ], [ "TX", "N1", "MX", "3", "VALUE:IV" ], [ "TX", "N1", "MX", "4", "VALUE:IV" ], [ "TX", "N1", "MX", "5-9", "VALUE:IV" ], [ "TX", "NX", "MX", "1", "VALUE:UNK" ], [ "TX", "NX", "MX", "2", "VALUE:UNK" ], [ "TX", "NX", "MX", "3", "VALUE:UNK" ], [ "TX", "NX", "MX", "4", "VALUE:UNK" ], [ "TX", "NX", "MX", "5-9", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpj.json deleted file mode 100644 index f00bc7c45..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpj.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qpj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:51.060Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "VALUE:NA" ], [ "T0", "N1", "M0", "VALUE:NA" ], [ "T0", "NX", "M0", "VALUE:NA" ], [ "T1", "N0", "M0", "VALUE:NA" ], [ "T1", "N1", "M0", "VALUE:NA" ], [ "T1", "NX", "M0", "VALUE:NA" ], [ "T2", "N0", "M0", "VALUE:NA" ], [ "T2", "N1", "M0", "VALUE:NA" ], [ "T2", "NX", "M0", "VALUE:NA" ], [ "T3a", "N0", "M0", "VALUE:NA" ], [ "T3a", "N1", "M0", "VALUE:NA" ], [ "T3a", "NX", "M0", "VALUE:NA" ], [ "T3b", "N0", "M0", "VALUE:NA" ], [ "T3b", "N1", "M0", "VALUE:NA" ], [ "T3b", "NX", "M0", "VALUE:NA" ], [ "T3NOS", "N0", "M0", "VALUE:NA" ], [ "T3NOS", "N1", "M0", "VALUE:NA" ], [ "T3NOS", "NX", "M0", "VALUE:NA" ], [ "T4", "N0", "M0", "VALUE:NA" ], [ "T4", "N1", "M0", "VALUE:NA" ], [ "T4", "NX", "M0", "VALUE:NA" ], [ "TX", "N0", "M0", "VALUE:NA" ], [ "TX", "N1", "M0", "VALUE:NA" ], [ "TX", "NX", "M0", "VALUE:NA" ], [ "T0", "N0", "M1", "VALUE:NA" ], [ "T0", "N1", "M1", "VALUE:NA" ], [ "T0", "NX", "M1", "VALUE:NA" ], [ "T1", "N0", "M1", "VALUE:NA" ], [ "T1", "N1", "M1", "VALUE:NA" ], [ "T1", "NX", "M1", "VALUE:NA" ], [ "T2", "N0", "M1", "VALUE:NA" ], [ "T2", "N1", "M1", "VALUE:NA" ], [ "T2", "NX", "M1", "VALUE:NA" ], [ "T3a", "N0", "M1", "VALUE:NA" ], [ "T3a", "N1", "M1", "VALUE:NA" ], [ "T3a", "NX", "M1", "VALUE:NA" ], [ "T3b", "N0", "M1", "VALUE:NA" ], [ "T3b", "N1", "M1", "VALUE:NA" ], [ "T3b", "NX", "M1", "VALUE:NA" ], [ "T3NOS", "N0", "M1", "VALUE:NA" ], [ "T3NOS", "N1", "M1", "VALUE:NA" ], [ "T3NOS", "NX", "M1", "VALUE:NA" ], [ "T4", "N0", "M1", "VALUE:NA" ], [ "T4", "N1", "M1", "VALUE:NA" ], [ "T4", "NX", "M1", "VALUE:NA" ], [ "TX", "N0", "M1", "VALUE:NA" ], [ "TX", "N1", "M1", "VALUE:NA" ], [ "TX", "NX", "M1", "VALUE:NA" ], [ "T0", "N0", "MX", "VALUE:NA" ], [ "T0", "N1", "MX", "VALUE:NA" ], [ "T0", "NX", "MX", "VALUE:NA" ], [ "T1", "N0", "MX", "VALUE:NA" ], [ "T1", "N1", "MX", "VALUE:NA" ], [ "T1", "NX", "MX", "VALUE:NA" ], [ "T2", "N0", "MX", "VALUE:NA" ], [ "T2", "N1", "MX", "VALUE:NA" ], [ "T2", "NX", "MX", "VALUE:NA" ], [ "T3a", "N0", "MX", "VALUE:NA" ], [ "T3a", "N1", "MX", "VALUE:NA" ], [ "T3a", "NX", "MX", "VALUE:NA" ], [ "T3b", "N0", "MX", "VALUE:NA" ], [ "T3b", "N1", "MX", "VALUE:NA" ], [ "T3b", "NX", "MX", "VALUE:NA" ], [ "T3NOS", "N0", "MX", "VALUE:NA" ], [ "T3NOS", "N1", "MX", "VALUE:NA" ], [ "T3NOS", "NX", "MX", "VALUE:NA" ], [ "T4", "N0", "MX", "VALUE:NA" ], [ "T4", "N1", "MX", "VALUE:NA" ], [ "T4", "NX", "MX", "VALUE:NA" ], [ "TX", "N0", "MX", "VALUE:NA" ], [ "TX", "N1", "MX", "VALUE:NA" ], [ "TX", "NX", "MX", "VALUE:NA" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpk.json deleted file mode 100644 index 83420add4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpk.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qpk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:51.108Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:UNK" ], [ "T0", "N2a", "M0", "VALUE:IVNOS" ], [ "T0", "N2b", "M0", "VALUE:IVNOS" ], [ "T0", "N2c", "M0", "VALUE:IVNOS" ], [ "T0", "N2NOS", "M0", "VALUE:IVNOS" ], [ "T0", "N3", "M0", "VALUE:IVB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2a", "M0", "ERROR:" ], [ "Tis", "N2b", "M0", "ERROR:" ], [ "Tis", "N2c", "M0", "ERROR:" ], [ "Tis", "N2NOS", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "N2a", "M0", "VALUE:IVA" ], [ "T1", "N2b", "M0", "VALUE:IVA" ], [ "T1", "N2c", "M0", "VALUE:IVA" ], [ "T1", "N2NOS", "M0", "VALUE:IVA" ], [ "T1", "N3", "M0", "VALUE:IVB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "N2a", "M0", "VALUE:IVA" ], [ "T2", "N2b", "M0", "VALUE:IVA" ], [ "T2", "N2c", "M0", "VALUE:IVA" ], [ "T2", "N2NOS", "M0", "VALUE:IVA" ], [ "T2", "N3", "M0", "VALUE:IVB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2a", "M0", "VALUE:IVA" ], [ "T3", "N2b", "M0", "VALUE:IVA" ], [ "T3", "N2c", "M0", "VALUE:IVA" ], [ "T3", "N2NOS", "M0", "VALUE:IVA" ], [ "T3", "N3", "M0", "VALUE:IVB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IVA" ], [ "T4a", "N1", "M0", "VALUE:IVA" ], [ "T4a", "N2a", "M0", "VALUE:IVA" ], [ "T4a", "N2b", "M0", "VALUE:IVA" ], [ "T4a", "N2c", "M0", "VALUE:IVA" ], [ "T4a", "N2NOS", "M0", "VALUE:IVA" ], [ "T4a", "N3", "M0", "VALUE:IVB" ], [ "T4a", "NX", "M0", "VALUE:IVNOS" ], [ "T4b", "N0", "M0", "VALUE:IVB" ], [ "T4b", "N1", "M0", "VALUE:IVB" ], [ "T4b", "N2a", "M0", "VALUE:IVB" ], [ "T4b", "N2b", "M0", "VALUE:IVB" ], [ "T4b", "N2c", "M0", "VALUE:IVB" ], [ "T4b", "N2NOS", "M0", "VALUE:IVB" ], [ "T4b", "N3", "M0", "VALUE:IVB" ], [ "T4b", "NX", "M0", "VALUE:IVB" ], [ "T4NOS", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2a", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2b", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2c", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N3", "M0", "VALUE:IVB" ], [ "T4NOS", "NX", "M0", "VALUE:IVNOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2a", "M0", "VALUE:IVNOS" ], [ "TX", "N2b", "M0", "VALUE:IVNOS" ], [ "TX", "N2c", "M0", "VALUE:IVNOS" ], [ "TX", "N2NOS", "M0", "VALUE:IVNOS" ], [ "TX", "N3", "M0", "VALUE:IVB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVC" ], [ "T0", "N1", "M1", "VALUE:IVC" ], [ "T0", "N2a", "M1", "VALUE:IVC" ], [ "T0", "N2b", "M1", "VALUE:IVC" ], [ "T0", "N2c", "M1", "VALUE:IVC" ], [ "T0", "N2NOS", "M1", "VALUE:IVC" ], [ "T0", "N3", "M1", "VALUE:IVC" ], [ "T0", "NX", "M1", "VALUE:IVC" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2a", "M1", "ERROR:" ], [ "Tis", "N2b", "M1", "ERROR:" ], [ "Tis", "N2c", "M1", "ERROR:" ], [ "Tis", "N2NOS", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IVC" ], [ "T1", "N1", "M1", "VALUE:IVC" ], [ "T1", "N2a", "M1", "VALUE:IVC" ], [ "T1", "N2b", "M1", "VALUE:IVC" ], [ "T1", "N2c", "M1", "VALUE:IVC" ], [ "T1", "N2NOS", "M1", "VALUE:IVC" ], [ "T1", "N3", "M1", "VALUE:IVC" ], [ "T1", "NX", "M1", "VALUE:IVC" ], [ "T2", "N0", "M1", "VALUE:IVC" ], [ "T2", "N1", "M1", "VALUE:IVC" ], [ "T2", "N2a", "M1", "VALUE:IVC" ], [ "T2", "N2b", "M1", "VALUE:IVC" ], [ "T2", "N2c", "M1", "VALUE:IVC" ], [ "T2", "N2NOS", "M1", "VALUE:IVC" ], [ "T2", "N3", "M1", "VALUE:IVC" ], [ "T2", "NX", "M1", "VALUE:IVC" ], [ "T3", "N0", "M1", "VALUE:IVC" ], [ "T3", "N1", "M1", "VALUE:IVC" ], [ "T3", "N2a", "M1", "VALUE:IVC" ], [ "T3", "N2b", "M1", "VALUE:IVC" ], [ "T3", "N2c", "M1", "VALUE:IVC" ], [ "T3", "N2NOS", "M1", "VALUE:IVC" ], [ "T3", "N3", "M1", "VALUE:IVC" ], [ "T3", "NX", "M1", "VALUE:IVC" ], [ "T4a", "N0", "M1", "VALUE:IVC" ], [ "T4a", "N1", "M1", "VALUE:IVC" ], [ "T4a", "N2a", "M1", "VALUE:IVC" ], [ "T4a", "N2b", "M1", "VALUE:IVC" ], [ "T4a", "N2c", "M1", "VALUE:IVC" ], [ "T4a", "N2NOS", "M1", "VALUE:IVC" ], [ "T4a", "N3", "M1", "VALUE:IVC" ], [ "T4a", "NX", "M1", "VALUE:IVC" ], [ "T4b", "N0", "M1", "VALUE:IVC" ], [ "T4b", "N1", "M1", "VALUE:IVC" ], [ "T4b", "N2a", "M1", "VALUE:IVC" ], [ "T4b", "N2b", "M1", "VALUE:IVC" ], [ "T4b", "N2c", "M1", "VALUE:IVC" ], [ "T4b", "N2NOS", "M1", "VALUE:IVC" ], [ "T4b", "N3", "M1", "VALUE:IVC" ], [ "T4b", "NX", "M1", "VALUE:IVC" ], [ "T4NOS", "N0", "M1", "VALUE:IVC" ], [ "T4NOS", "N1", "M1", "VALUE:IVC" ], [ "T4NOS", "N2a", "M1", "VALUE:IVC" ], [ "T4NOS", "N2b", "M1", "VALUE:IVC" ], [ "T4NOS", "N2c", "M1", "VALUE:IVC" ], [ "T4NOS", "N2NOS", "M1", "VALUE:IVC" ], [ "T4NOS", "N3", "M1", "VALUE:IVC" ], [ "T4NOS", "NX", "M1", "VALUE:IVC" ], [ "TX", "N0", "M1", "VALUE:IVC" ], [ "TX", "N1", "M1", "VALUE:IVC" ], [ "TX", "N2a", "M1", "VALUE:IVC" ], [ "TX", "N2b", "M1", "VALUE:IVC" ], [ "TX", "N2c", "M1", "VALUE:IVC" ], [ "TX", "N2NOS", "M1", "VALUE:IVC" ], [ "TX", "N3", "M1", "VALUE:IVC" ], [ "TX", "NX", "M1", "VALUE:IVC" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2a", "MX", "VALUE:IVNOS" ], [ "T0", "N2b", "MX", "VALUE:IVNOS" ], [ "T0", "N2c", "MX", "VALUE:IVNOS" ], [ "T0", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T0", "N3", "MX", "VALUE:IVNOS" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "N2a", "MX", "ERROR:" ], [ "Tis", "N2b", "MX", "ERROR:" ], [ "Tis", "N2c", "MX", "ERROR:" ], [ "Tis", "N2NOS", "MX", "ERROR:" ], [ "Tis", "N3", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "N2a", "MX", "VALUE:IVNOS" ], [ "T1", "N2b", "MX", "VALUE:IVNOS" ], [ "T1", "N2c", "MX", "VALUE:IVNOS" ], [ "T1", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T1", "N3", "MX", "VALUE:IVNOS" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "N2a", "MX", "VALUE:IVNOS" ], [ "T2", "N2b", "MX", "VALUE:IVNOS" ], [ "T2", "N2c", "MX", "VALUE:IVNOS" ], [ "T2", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T2", "N3", "MX", "VALUE:IVNOS" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N2a", "MX", "VALUE:IVNOS" ], [ "T3", "N2b", "MX", "VALUE:IVNOS" ], [ "T3", "N2c", "MX", "VALUE:IVNOS" ], [ "T3", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T3", "N3", "MX", "VALUE:IVNOS" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4a", "N0", "MX", "VALUE:IVNOS" ], [ "T4a", "N1", "MX", "VALUE:IVNOS" ], [ "T4a", "N2a", "MX", "VALUE:IVNOS" ], [ "T4a", "N2b", "MX", "VALUE:IVNOS" ], [ "T4a", "N2c", "MX", "VALUE:IVNOS" ], [ "T4a", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T4a", "N3", "MX", "VALUE:IVNOS" ], [ "T4a", "NX", "MX", "VALUE:IVNOS" ], [ "T4b", "N0", "MX", "VALUE:IVNOS" ], [ "T4b", "N1", "MX", "VALUE:IVNOS" ], [ "T4b", "N2a", "MX", "VALUE:IVNOS" ], [ "T4b", "N2b", "MX", "VALUE:IVNOS" ], [ "T4b", "N2c", "MX", "VALUE:IVNOS" ], [ "T4b", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T4b", "N3", "MX", "VALUE:IVNOS" ], [ "T4b", "NX", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N0", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N1", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2a", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2b", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2c", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N3", "MX", "VALUE:IVNOS" ], [ "T4NOS", "NX", "MX", "VALUE:IVNOS" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2a", "MX", "VALUE:IVNOS" ], [ "TX", "N2b", "MX", "VALUE:IVNOS" ], [ "TX", "N2c", "MX", "VALUE:IVNOS" ], [ "TX", "N2NOS", "MX", "VALUE:IVNOS" ], [ "TX", "N3", "MX", "VALUE:IVNOS" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpl.json deleted file mode 100644 index 68cde8fc0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpl.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qpl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:51.177Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IB" ], [ "T0", "N2", "M0", "VALUE:II" ], [ "T0", "N3", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:IA" ], [ "T1", "N1", "M0", "VALUE:IB" ], [ "T1", "N2", "M0", "VALUE:II" ], [ "T1", "N3", "M0", "VALUE:IV" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:IB" ], [ "T2a", "N1", "M0", "VALUE:II" ], [ "T2a", "N2", "M0", "VALUE:IIIA" ], [ "T2a", "N3", "M0", "VALUE:IV" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:IB" ], [ "T2b", "N1", "M0", "VALUE:II" ], [ "T2b", "N2", "M0", "VALUE:IIIA" ], [ "T2b", "N3", "M0", "VALUE:IV" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:IB" ], [ "T2NOS", "N1", "M0", "VALUE:II" ], [ "T2NOS", "N2", "M0", "VALUE:IIIA" ], [ "T2NOS", "N3", "M0", "VALUE:IV" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:II" ], [ "T3", "N1", "M0", "VALUE:IIIA" ], [ "T3", "N2", "M0", "VALUE:IIIB" ], [ "T3", "N3", "M0", "VALUE:IV" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IIIA" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "N2", "M0", "VALUE:IV" ], [ "T4", "N3", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:UNK" ], [ "TX", "N3", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "N3", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "N2", "M1", "VALUE:IV" ], [ "T1", "N3", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2a", "N0", "M1", "VALUE:IV" ], [ "T2a", "N1", "M1", "VALUE:IV" ], [ "T2a", "N2", "M1", "VALUE:IV" ], [ "T2a", "N3", "M1", "VALUE:IV" ], [ "T2a", "NX", "M1", "VALUE:IV" ], [ "T2b", "N0", "M1", "VALUE:IV" ], [ "T2b", "N1", "M1", "VALUE:IV" ], [ "T2b", "N2", "M1", "VALUE:IV" ], [ "T2b", "N3", "M1", "VALUE:IV" ], [ "T2b", "NX", "M1", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "VALUE:IV" ], [ "T2NOS", "N2", "M1", "VALUE:IV" ], [ "T2NOS", "N3", "M1", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "N3", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "N3", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "N3", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2", "MX", "VALUE:UNK" ], [ "T0", "N3", "MX", "VALUE:IV" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "N2", "MX", "ERROR:" ], [ "Tis", "N3", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "N2", "MX", "VALUE:UNK" ], [ "T1", "N3", "MX", "VALUE:IV" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2a", "N0", "MX", "VALUE:UNK" ], [ "T2a", "N1", "MX", "VALUE:UNK" ], [ "T2a", "N2", "MX", "VALUE:UNK" ], [ "T2a", "N3", "MX", "VALUE:IV" ], [ "T2a", "NX", "MX", "VALUE:UNK" ], [ "T2b", "N0", "MX", "VALUE:UNK" ], [ "T2b", "N1", "MX", "VALUE:UNK" ], [ "T2b", "N2", "MX", "VALUE:UNK" ], [ "T2b", "N3", "MX", "VALUE:IV" ], [ "T2b", "NX", "MX", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "VALUE:UNK" ], [ "T2NOS", "N1", "MX", "VALUE:UNK" ], [ "T2NOS", "N2", "MX", "VALUE:UNK" ], [ "T2NOS", "N3", "MX", "VALUE:IV" ], [ "T2NOS", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N2", "MX", "VALUE:UNK" ], [ "T3", "N3", "MX", "VALUE:IV" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:IV" ], [ "T4", "N1", "MX", "VALUE:IV" ], [ "T4", "N2", "MX", "VALUE:IV" ], [ "T4", "N3", "MX", "VALUE:IV" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2", "MX", "VALUE:UNK" ], [ "TX", "N3", "MX", "VALUE:IV" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpn.json deleted file mode 100644 index b61484990..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpn.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qpn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:51.277Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:I" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:II" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:II" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpo.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpo.json deleted file mode 100644 index a1292707a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpo.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ajcc6_stage_qpo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:51.336Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "SSF2", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000,020", "VALUE:IA" ], [ "100", "010,030", "VALUE:IB" ], [ "100", "999", "VALUE:I" ], [ "100-999", "988", "ERROR:" ], [ "110", "000,020", "VALUE:IEA" ], [ "110", "010,030", "VALUE:IEB" ], [ "110", "999", "VALUE:IE" ], [ "120", "000,020", "VALUE:ISA" ], [ "120", "010,030", "VALUE:ISB" ], [ "120", "999", "VALUE:IS" ], [ "200", "000,020", "VALUE:IIA" ], [ "200", "010,030", "VALUE:IIB" ], [ "200", "999", "VALUE:II" ], [ "210", "000,020", "VALUE:IIEA" ], [ "210", "010,030", "VALUE:IIEB" ], [ "210", "999", "VALUE:IIE" ], [ "220", "000,020", "VALUE:IISA" ], [ "220", "010,030", "VALUE:IISB" ], [ "220", "999", "VALUE:IIS" ], [ "230", "000,020", "VALUE:IIESA" ], [ "230", "010,030", "VALUE:IIESB" ], [ "230", "999", "VALUE:IIES" ], [ "300", "000,020", "VALUE:IIIA" ], [ "300", "010,030", "VALUE:IIIB" ], [ "300", "999", "VALUE:III" ], [ "310", "000,020", "VALUE:IIIEA" ], [ "310", "010,030", "VALUE:IIIEB" ], [ "310", "999", "VALUE:IIIE" ], [ "320", "000,020", "VALUE:IIISA" ], [ "320", "010,030", "VALUE:IIISB" ], [ "320", "999", "VALUE:IIIS" ], [ "330", "000,020", "VALUE:IIIESA" ], [ "330", "010,030", "VALUE:IIIESB" ], [ "330", "999", "VALUE:IIIES" ], [ "800", "000,020", "VALUE:IVA" ], [ "800", "010,030", "VALUE:IVB" ], [ "800", "999", "VALUE:IV" ], [ "999", "000,020", "VALUE:UNK" ], [ "999", "010,030", "VALUE:UNK" ], [ "999", "999", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpp.json deleted file mode 100644 index 0245d8f09..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpp.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qpp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:51.395Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:IA" ], [ "T1", "N1", "M0", "VALUE:IIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IB" ], [ "T2", "N1", "M0", "VALUE:IIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIA" ], [ "T3", "N1", "M0", "VALUE:IIB" ], [ "T3", "NX", "M0", "VALUE:IINOS" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpq.json deleted file mode 100644 index e5bcd5ba2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpq.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc6_stage_qpq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:51.443Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "s", - "name" : "S", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR", "ERROR:" ], [ "T0", "N0", "M0", "S0", "ERROR:" ], [ "T0", "N0", "M0", "S1", "VALUE:IS" ], [ "T0", "N0", "M0", "S2", "VALUE:IS" ], [ "T0", "N0", "M0", "S3", "VALUE:IS" ], [ "T0", "N0", "M0", "SX", "ERROR:" ], [ "T0", "N1", "M0", "ERROR", "ERROR:" ], [ "T0", "N1", "M0", "S0", "VALUE:IIA" ], [ "T0", "N1", "M0", "S1", "VALUE:IIA" ], [ "T0", "N1", "M0", "S2", "VALUE:IIIB" ], [ "T0", "N1", "M0", "S3", "VALUE:IIIC" ], [ "T0", "N1", "M0", "SX", "VALUE:IINOS" ], [ "T0", "N2", "M0", "ERROR", "ERROR:" ], [ "T0", "N2", "M0", "S0", "VALUE:IIB" ], [ "T0", "N2", "M0", "S1", "VALUE:IIB" ], [ "T0", "N2", "M0", "S2", "VALUE:IIIB" ], [ "T0", "N2", "M0", "S3", "VALUE:IIIC" ], [ "T0", "N2", "M0", "SX", "VALUE:IINOS" ], [ "T0", "N3", "M0", "ERROR", "ERROR:" ], [ "T0", "N3", "M0", "S0", "VALUE:IIC" ], [ "T0", "N3", "M0", "S1", "VALUE:IIC" ], [ "T0", "N3", "M0", "S2", "VALUE:IIIB" ], [ "T0", "N3", "M0", "S3", "VALUE:IIIC" ], [ "T0", "N3", "M0", "SX", "VALUE:IINOS" ], [ "T0", "NX", "M0", "ERROR", "ERROR:" ], [ "T0", "NX", "M0", "S0", "VALUE:UNK" ], [ "T0", "NX", "M0", "S1", "VALUE:UNK" ], [ "T0", "NX", "M0", "S2", "VALUE:UNK" ], [ "T0", "NX", "M0", "S3", "VALUE:UNK" ], [ "T0", "NX", "M0", "SX", "VALUE:UNK" ], [ "Tis", "N0", "M0", "ERROR", "ERROR:" ], [ "Tis", "N0", "M0", "S0", "VALUE:0" ], [ "Tis", "N0", "M0", "S1", "ERROR:" ], [ "Tis", "N0", "M0", "S2", "ERROR:" ], [ "Tis", "N0", "M0", "S3", "ERROR:" ], [ "Tis", "N0", "M0", "SX", "VALUE:UNK" ], [ "Tis", "N1", "M0", "ERROR", "ERROR:" ], [ "Tis", "N1", "M0", "S0", "ERROR:" ], [ "Tis", "N1", "M0", "S1", "ERROR:" ], [ "Tis", "N1", "M0", "S2", "ERROR:" ], [ "Tis", "N1", "M0", "S3", "ERROR:" ], [ "Tis", "N1", "M0", "SX", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR", "ERROR:" ], [ "Tis", "N2", "M0", "S0", "ERROR:" ], [ "Tis", "N2", "M0", "S1", "ERROR:" ], [ "Tis", "N2", "M0", "S2", "ERROR:" ], [ "Tis", "N2", "M0", "S3", "ERROR:" ], [ "Tis", "N2", "M0", "SX", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR", "ERROR:" ], [ "Tis", "N3", "M0", "S0", "ERROR:" ], [ "Tis", "N3", "M0", "S1", "ERROR:" ], [ "Tis", "N3", "M0", "S2", "ERROR:" ], [ "Tis", "N3", "M0", "S3", "ERROR:" ], [ "Tis", "N3", "M0", "SX", "ERROR:" ], [ "Tis", "NX", "M0", "ERROR", "ERROR:" ], [ "Tis", "NX", "M0", "S0", "ERROR:" ], [ "Tis", "NX", "M0", "S1", "ERROR:" ], [ "Tis", "NX", "M0", "S2", "ERROR:" ], [ "Tis", "NX", "M0", "S3", "ERROR:" ], [ "Tis", "NX", "M0", "SX", "VALUE:UNK" ], [ "T1", "N0", "M0", "ERROR", "ERROR:" ], [ "T1", "N0", "M0", "S0", "VALUE:IA" ], [ "T1", "N0", "M0", "S1", "VALUE:IS" ], [ "T1", "N0", "M0", "S2", "VALUE:IS" ], [ "T1", "N0", "M0", "S3", "VALUE:IS" ], [ "T1", "N0", "M0", "SX", "VALUE:INOS" ], [ "T1", "N1", "M0", "ERROR", "ERROR:" ], [ "T1", "N1", "M0", "S0", "VALUE:IIA" ], [ "T1", "N1", "M0", "S1", "VALUE:IIA" ], [ "T1", "N1", "M0", "S2", "VALUE:IIIB" ], [ "T1", "N1", "M0", "S3", "VALUE:IIIC" ], [ "T1", "N1", "M0", "SX", "VALUE:IINOS" ], [ "T1", "N2", "M0", "ERROR", "ERROR:" ], [ "T1", "N2", "M0", "S0", "VALUE:IIB" ], [ "T1", "N2", "M0", "S1", "VALUE:IIB" ], [ "T1", "N2", "M0", "S2", "VALUE:IIIB" ], [ "T1", "N2", "M0", "S3", "VALUE:IIIC" ], [ "T1", "N2", "M0", "SX", "VALUE:IINOS" ], [ "T1", "N3", "M0", "ERROR", "ERROR:" ], [ "T1", "N3", "M0", "S0", "VALUE:IIC" ], [ "T1", "N3", "M0", "S1", "VALUE:IIC" ], [ "T1", "N3", "M0", "S2", "VALUE:IIIB" ], [ "T1", "N3", "M0", "S3", "VALUE:IIIC" ], [ "T1", "N3", "M0", "SX", "VALUE:IINOS" ], [ "T1", "NX", "M0", "ERROR", "ERROR:" ], [ "T1", "NX", "M0", "S0", "VALUE:UNK" ], [ "T1", "NX", "M0", "S1", "VALUE:UNK" ], [ "T1", "NX", "M0", "S2", "VALUE:UNK" ], [ "T1", "NX", "M0", "S3", "VALUE:UNK" ], [ "T1", "NX", "M0", "SX", "VALUE:UNK" ], [ "T2", "N0", "M0", "ERROR", "ERROR:" ], [ "T2", "N0", "M0", "S0", "VALUE:IB" ], [ "T2", "N0", "M0", "S1", "VALUE:IS" ], [ "T2", "N0", "M0", "S2", "VALUE:IS" ], [ "T2", "N0", "M0", "S3", "VALUE:IS" ], [ "T2", "N0", "M0", "SX", "VALUE:INOS" ], [ "T2", "N1", "M0", "ERROR", "ERROR:" ], [ "T2", "N1", "M0", "S0", "VALUE:IIA" ], [ "T2", "N1", "M0", "S1", "VALUE:IIA" ], [ "T2", "N1", "M0", "S2", "VALUE:IIIB" ], [ "T2", "N1", "M0", "S3", "VALUE:IIIC" ], [ "T2", "N1", "M0", "SX", "VALUE:IINOS" ], [ "T2", "N2", "M0", "ERROR", "ERROR:" ], [ "T2", "N2", "M0", "S0", "VALUE:IIB" ], [ "T2", "N2", "M0", "S1", "VALUE:IIB" ], [ "T2", "N2", "M0", "S2", "VALUE:IIIB" ], [ "T2", "N2", "M0", "S3", "VALUE:IIIC" ], [ "T2", "N2", "M0", "SX", "VALUE:IINOS" ], [ "T2", "N3", "M0", "ERROR", "ERROR:" ], [ "T2", "N3", "M0", "S0", "VALUE:IIC" ], [ "T2", "N3", "M0", "S1", "VALUE:IIC" ], [ "T2", "N3", "M0", "S2", "VALUE:IIIB" ], [ "T2", "N3", "M0", "S3", "VALUE:IIIC" ], [ "T2", "N3", "M0", "SX", "VALUE:IINOS" ], [ "T2", "NX", "M0", "ERROR", "ERROR:" ], [ "T2", "NX", "M0", "S0", "VALUE:UNK" ], [ "T2", "NX", "M0", "S1", "VALUE:UNK" ], [ "T2", "NX", "M0", "S2", "VALUE:UNK" ], [ "T2", "NX", "M0", "S3", "VALUE:UNK" ], [ "T2", "NX", "M0", "SX", "VALUE:UNK" ], [ "T3", "N0", "M0", "ERROR", "ERROR:" ], [ "T3", "N0", "M0", "S0", "VALUE:IB" ], [ "T3", "N0", "M0", "S1", "VALUE:IS" ], [ "T3", "N0", "M0", "S2", "VALUE:IS" ], [ "T3", "N0", "M0", "S3", "VALUE:IS" ], [ "T3", "N0", "M0", "SX", "VALUE:INOS" ], [ "T3", "N1", "M0", "ERROR", "ERROR:" ], [ "T3", "N1", "M0", "S0", "VALUE:IIA" ], [ "T3", "N1", "M0", "S1", "VALUE:IIA" ], [ "T3", "N1", "M0", "S2", "VALUE:IIIB" ], [ "T3", "N1", "M0", "S3", "VALUE:IIIC" ], [ "T3", "N1", "M0", "SX", "VALUE:IINOS" ], [ "T3", "N2", "M0", "ERROR", "ERROR:" ], [ "T3", "N2", "M0", "S0", "VALUE:IIB" ], [ "T3", "N2", "M0", "S1", "VALUE:IIB" ], [ "T3", "N2", "M0", "S2", "VALUE:IIIB" ], [ "T3", "N2", "M0", "S3", "VALUE:IIIC" ], [ "T3", "N2", "M0", "SX", "VALUE:IINOS" ], [ "T3", "N3", "M0", "ERROR", "ERROR:" ], [ "T3", "N3", "M0", "S0", "VALUE:IIC" ], [ "T3", "N3", "M0", "S1", "VALUE:IIC" ], [ "T3", "N3", "M0", "S2", "VALUE:IIIB" ], [ "T3", "N3", "M0", "S3", "VALUE:IIIC" ], [ "T3", "N3", "M0", "SX", "VALUE:IINOS" ], [ "T3", "NX", "M0", "ERROR", "ERROR:" ], [ "T3", "NX", "M0", "S0", "VALUE:UNK" ], [ "T3", "NX", "M0", "S1", "VALUE:UNK" ], [ "T3", "NX", "M0", "S2", "VALUE:UNK" ], [ "T3", "NX", "M0", "S3", "VALUE:UNK" ], [ "T3", "NX", "M0", "SX", "VALUE:UNK" ], [ "T4", "N0", "M0", "ERROR", "ERROR:" ], [ "T4", "N0", "M0", "S0", "VALUE:IB" ], [ "T4", "N0", "M0", "S1", "VALUE:IS" ], [ "T4", "N0", "M0", "S2", "VALUE:IS" ], [ "T4", "N0", "M0", "S3", "VALUE:IS" ], [ "T4", "N0", "M0", "SX", "VALUE:INOS" ], [ "T4", "N1", "M0", "ERROR", "ERROR:" ], [ "T4", "N1", "M0", "S0", "VALUE:IIA" ], [ "T4", "N1", "M0", "S1", "VALUE:IIA" ], [ "T4", "N1", "M0", "S2", "VALUE:IIIB" ], [ "T4", "N1", "M0", "S3", "VALUE:IIIC" ], [ "T4", "N1", "M0", "SX", "VALUE:IINOS" ], [ "T4", "N2", "M0", "ERROR", "ERROR:" ], [ "T4", "N2", "M0", "S0", "VALUE:IIB" ], [ "T4", "N2", "M0", "S1", "VALUE:IIB" ], [ "T4", "N2", "M0", "S2", "VALUE:IIIB" ], [ "T4", "N2", "M0", "S3", "VALUE:IIIC" ], [ "T4", "N2", "M0", "SX", "VALUE:IINOS" ], [ "T4", "N3", "M0", "ERROR", "ERROR:" ], [ "T4", "N3", "M0", "S0", "VALUE:IIC" ], [ "T4", "N3", "M0", "S1", "VALUE:IIC" ], [ "T4", "N3", "M0", "S2", "VALUE:IIIB" ], [ "T4", "N3", "M0", "S3", "VALUE:IIIC" ], [ "T4", "N3", "M0", "SX", "VALUE:IINOS" ], [ "T4", "NX", "M0", "ERROR", "ERROR:" ], [ "T4", "NX", "M0", "S0", "VALUE:UNK" ], [ "T4", "NX", "M0", "S1", "VALUE:UNK" ], [ "T4", "NX", "M0", "S2", "VALUE:UNK" ], [ "T4", "NX", "M0", "S3", "VALUE:UNK" ], [ "T4", "NX", "M0", "SX", "VALUE:UNK" ], [ "TX", "N0", "M0", "ERROR", "ERROR:" ], [ "TX", "N0", "M0", "S0", "VALUE:UNK" ], [ "TX", "N0", "M0", "S1", "VALUE:IS" ], [ "TX", "N0", "M0", "S2", "VALUE:IS" ], [ "TX", "N0", "M0", "S3", "VALUE:IS" ], [ "TX", "N0", "M0", "SX", "VALUE:UNK" ], [ "TX", "N1", "M0", "ERROR", "ERROR:" ], [ "TX", "N1", "M0", "S0", "VALUE:IIA" ], [ "TX", "N1", "M0", "S1", "VALUE:IIA" ], [ "TX", "N1", "M0", "S2", "VALUE:IIIB" ], [ "TX", "N1", "M0", "S3", "VALUE:IIIC" ], [ "TX", "N1", "M0", "SX", "VALUE:IINOS" ], [ "TX", "N2", "M0", "ERROR", "ERROR:" ], [ "TX", "N2", "M0", "S0", "VALUE:IIB" ], [ "TX", "N2", "M0", "S1", "VALUE:IIB" ], [ "TX", "N2", "M0", "S2", "VALUE:IIIB" ], [ "TX", "N2", "M0", "S3", "VALUE:IIIC" ], [ "TX", "N2", "M0", "SX", "VALUE:IINOS" ], [ "TX", "N3", "M0", "ERROR", "ERROR:" ], [ "TX", "N3", "M0", "S0", "VALUE:IIC" ], [ "TX", "N3", "M0", "S1", "VALUE:IIC" ], [ "TX", "N3", "M0", "S2", "VALUE:IIIB" ], [ "TX", "N3", "M0", "S3", "VALUE:IIIC" ], [ "TX", "N3", "M0", "SX", "VALUE:IINOS" ], [ "TX", "NX", "M0", "ERROR", "ERROR:" ], [ "TX", "NX", "M0", "S0", "VALUE:UNK" ], [ "TX", "NX", "M0", "S1", "VALUE:UNK" ], [ "TX", "NX", "M0", "S2", "VALUE:UNK" ], [ "TX", "NX", "M0", "S3", "VALUE:UNK" ], [ "TX", "NX", "M0", "SX", "VALUE:UNK" ], [ "T0", "N0", "M1a", "ERROR", "ERROR:" ], [ "T0", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "T0", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "T0", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "T0", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "T0", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "T0", "N1", "M1a", "ERROR", "ERROR:" ], [ "T0", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "T0", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "T0", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "T0", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "T0", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "T0", "N2", "M1a", "ERROR", "ERROR:" ], [ "T0", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "T0", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "T0", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "T0", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "T0", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "T0", "N3", "M1a", "ERROR", "ERROR:" ], [ "T0", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "T0", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "T0", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "T0", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "T0", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "T0", "NX", "M1a", "ERROR", "ERROR:" ], [ "T0", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "T0", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "T0", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "T0", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "T0", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "Tis", "N0", "M1a", "ERROR", "ERROR:" ], [ "Tis", "N0", "M1a", "S0", "ERROR:" ], [ "Tis", "N0", "M1a", "S1", "ERROR:" ], [ "Tis", "N0", "M1a", "S2", "ERROR:" ], [ "Tis", "N0", "M1a", "S3", "ERROR:" ], [ "Tis", "N0", "M1a", "SX", "ERROR:" ], [ "Tis", "N1", "M1a", "ERROR", "ERROR:" ], [ "Tis", "N1", "M1a", "S0", "ERROR:" ], [ "Tis", "N1", "M1a", "S1", "ERROR:" ], [ "Tis", "N1", "M1a", "S2", "ERROR:" ], [ "Tis", "N1", "M1a", "S3", "ERROR:" ], [ "Tis", "N1", "M1a", "SX", "ERROR:" ], [ "Tis", "N2", "M1a", "ERROR", "ERROR:" ], [ "Tis", "N2", "M1a", "S0", "ERROR:" ], [ "Tis", "N2", "M1a", "S1", "ERROR:" ], [ "Tis", "N2", "M1a", "S2", "ERROR:" ], [ "Tis", "N2", "M1a", "S3", "ERROR:" ], [ "Tis", "N2", "M1a", "SX", "ERROR:" ], [ "Tis", "N3", "M1a", "ERROR", "ERROR:" ], [ "Tis", "N3", "M1a", "S0", "ERROR:" ], [ "Tis", "N3", "M1a", "S1", "ERROR:" ], [ "Tis", "N3", "M1a", "S2", "ERROR:" ], [ "Tis", "N3", "M1a", "S3", "ERROR:" ], [ "Tis", "N3", "M1a", "SX", "ERROR:" ], [ "Tis", "NX", "M1a", "ERROR", "ERROR:" ], [ "Tis", "NX", "M1a", "S0", "ERROR:" ], [ "Tis", "NX", "M1a", "S1", "ERROR:" ], [ "Tis", "NX", "M1a", "S2", "ERROR:" ], [ "Tis", "NX", "M1a", "S3", "ERROR:" ], [ "Tis", "NX", "M1a", "SX", "ERROR:" ], [ "T1", "N0", "M1a", "ERROR", "ERROR:" ], [ "T1", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "T1", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "T1", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "T1", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "T1", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "T1", "N1", "M1a", "ERROR", "ERROR:" ], [ "T1", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "T1", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "T1", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "T1", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "T1", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "T1", "N2", "M1a", "ERROR", "ERROR:" ], [ "T1", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "T1", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "T1", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "T1", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "T1", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "T1", "N3", "M1a", "ERROR", "ERROR:" ], [ "T1", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "T1", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "T1", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "T1", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "T1", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "T1", "NX", "M1a", "ERROR", "ERROR:" ], [ "T1", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "T1", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "T1", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "T1", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "T1", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "T2", "N0", "M1a", "ERROR", "ERROR:" ], [ "T2", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "T2", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "T2", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "T2", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "T2", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "T2", "N1", "M1a", "ERROR", "ERROR:" ], [ "T2", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "T2", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "T2", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "T2", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "T2", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "T2", "N2", "M1a", "ERROR", "ERROR:" ], [ "T2", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "T2", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "T2", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "T2", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "T2", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "T2", "N3", "M1a", "ERROR", "ERROR:" ], [ "T2", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "T2", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "T2", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "T2", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "T2", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "T2", "NX", "M1a", "ERROR", "ERROR:" ], [ "T2", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "T2", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "T2", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "T2", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "T2", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "T3", "N0", "M1a", "ERROR", "ERROR:" ], [ "T3", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "T3", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "T3", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "T3", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "T3", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "T3", "N1", "M1a", "ERROR", "ERROR:" ], [ "T3", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "T3", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "T3", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "T3", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "T3", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "T3", "N2", "M1a", "ERROR", "ERROR:" ], [ "T3", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "T3", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "T3", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "T3", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "T3", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "T3", "N3", "M1a", "ERROR", "ERROR:" ], [ "T3", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "T3", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "T3", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "T3", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "T3", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "T3", "NX", "M1a", "ERROR", "ERROR:" ], [ "T3", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "T3", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "T3", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "T3", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "T3", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "T4", "N0", "M1a", "ERROR", "ERROR:" ], [ "T4", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "T4", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "T4", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "T4", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "T4", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "T4", "N1", "M1a", "ERROR", "ERROR:" ], [ "T4", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "T4", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "T4", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "T4", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "T4", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "T4", "N2", "M1a", "ERROR", "ERROR:" ], [ "T4", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "T4", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "T4", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "T4", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "T4", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "T4", "N3", "M1a", "ERROR", "ERROR:" ], [ "T4", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "T4", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "T4", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "T4", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "T4", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "T4", "NX", "M1a", "ERROR", "ERROR:" ], [ "T4", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "T4", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "T4", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "T4", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "T4", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "TX", "N0", "M1a", "ERROR", "ERROR:" ], [ "TX", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "TX", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "TX", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "TX", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "TX", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "TX", "N1", "M1a", "ERROR", "ERROR:" ], [ "TX", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "TX", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "TX", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "TX", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "TX", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "TX", "N2", "M1a", "ERROR", "ERROR:" ], [ "TX", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "TX", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "TX", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "TX", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "TX", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "TX", "N3", "M1a", "ERROR", "ERROR:" ], [ "TX", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "TX", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "TX", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "TX", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "TX", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "TX", "NX", "M1a", "ERROR", "ERROR:" ], [ "TX", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "TX", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "TX", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "TX", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "TX", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "T0", "N0", "M1b", "ERROR", "ERROR:" ], [ "T0", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "T0", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "T0", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "T0", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "T0", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "T0", "N1", "M1b", "ERROR", "ERROR:" ], [ "T0", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "T0", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "T0", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "T0", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "T0", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "T0", "N2", "M1b", "ERROR", "ERROR:" ], [ "T0", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "T0", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "T0", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "T0", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "T0", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "T0", "N3", "M1b", "ERROR", "ERROR:" ], [ "T0", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "T0", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "T0", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "T0", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "T0", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "T0", "NX", "M1b", "ERROR", "ERROR:" ], [ "T0", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "T0", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "T0", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "T0", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "T0", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "Tis", "N0", "M1b", "ERROR", "ERROR:" ], [ "Tis", "N0", "M1b", "S0", "ERROR:" ], [ "Tis", "N0", "M1b", "S1", "ERROR:" ], [ "Tis", "N0", "M1b", "S2", "ERROR:" ], [ "Tis", "N0", "M1b", "S3", "ERROR:" ], [ "Tis", "N0", "M1b", "SX", "ERROR:" ], [ "Tis", "N1", "M1b", "ERROR", "ERROR:" ], [ "Tis", "N1", "M1b", "S0", "ERROR:" ], [ "Tis", "N1", "M1b", "S1", "ERROR:" ], [ "Tis", "N1", "M1b", "S2", "ERROR:" ], [ "Tis", "N1", "M1b", "S3", "ERROR:" ], [ "Tis", "N1", "M1b", "SX", "ERROR:" ], [ "Tis", "N2", "M1b", "ERROR", "ERROR:" ], [ "Tis", "N2", "M1b", "S0", "ERROR:" ], [ "Tis", "N2", "M1b", "S1", "ERROR:" ], [ "Tis", "N2", "M1b", "S2", "ERROR:" ], [ "Tis", "N2", "M1b", "S3", "ERROR:" ], [ "Tis", "N2", "M1b", "SX", "ERROR:" ], [ "Tis", "N3", "M1b", "ERROR", "ERROR:" ], [ "Tis", "N3", "M1b", "S0", "ERROR:" ], [ "Tis", "N3", "M1b", "S1", "ERROR:" ], [ "Tis", "N3", "M1b", "S2", "ERROR:" ], [ "Tis", "N3", "M1b", "S3", "ERROR:" ], [ "Tis", "N3", "M1b", "SX", "ERROR:" ], [ "Tis", "NX", "M1b", "ERROR", "ERROR:" ], [ "Tis", "NX", "M1b", "S0", "ERROR:" ], [ "Tis", "NX", "M1b", "S1", "ERROR:" ], [ "Tis", "NX", "M1b", "S2", "ERROR:" ], [ "Tis", "NX", "M1b", "S3", "ERROR:" ], [ "Tis", "NX", "M1b", "SX", "ERROR:" ], [ "T1", "N0", "M1b", "ERROR", "ERROR:" ], [ "T1", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "T1", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "T1", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "T1", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "T1", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "T1", "N1", "M1b", "ERROR", "ERROR:" ], [ "T1", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "T1", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "T1", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "T1", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "T1", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "T1", "N2", "M1b", "ERROR", "ERROR:" ], [ "T1", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "T1", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "T1", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "T1", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "T1", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "T1", "N3", "M1b", "ERROR", "ERROR:" ], [ "T1", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "T1", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "T1", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "T1", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "T1", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "T1", "NX", "M1b", "ERROR", "ERROR:" ], [ "T1", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "T1", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "T1", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "T1", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "T1", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "T2", "N0", "M1b", "ERROR", "ERROR:" ], [ "T2", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "T2", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "T2", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "T2", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "T2", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "T2", "N1", "M1b", "ERROR", "ERROR:" ], [ "T2", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "T2", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "T2", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "T2", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "T2", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "T2", "N2", "M1b", "ERROR", "ERROR:" ], [ "T2", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "T2", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "T2", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "T2", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "T2", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "T2", "N3", "M1b", "ERROR", "ERROR:" ], [ "T2", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "T2", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "T2", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "T2", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "T2", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "T2", "NX", "M1b", "ERROR", "ERROR:" ], [ "T2", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "T2", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "T2", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "T2", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "T2", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "T3", "N0", "M1b", "ERROR", "ERROR:" ], [ "T3", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "T3", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "T3", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "T3", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "T3", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "T3", "N1", "M1b", "ERROR", "ERROR:" ], [ "T3", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "T3", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "T3", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "T3", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "T3", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "T3", "N2", "M1b", "ERROR", "ERROR:" ], [ "T3", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "T3", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "T3", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "T3", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "T3", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "T3", "N3", "M1b", "ERROR", "ERROR:" ], [ "T3", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "T3", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "T3", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "T3", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "T3", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "T3", "NX", "M1b", "ERROR", "ERROR:" ], [ "T3", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "T3", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "T3", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "T3", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "T3", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "T4", "N0", "M1b", "ERROR", "ERROR:" ], [ "T4", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "T4", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "T4", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "T4", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "T4", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "T4", "N1", "M1b", "ERROR", "ERROR:" ], [ "T4", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "T4", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "T4", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "T4", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "T4", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "T4", "N2", "M1b", "ERROR", "ERROR:" ], [ "T4", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "T4", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "T4", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "T4", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "T4", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "T4", "N3", "M1b", "ERROR", "ERROR:" ], [ "T4", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "T4", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "T4", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "T4", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "T4", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "T4", "NX", "M1b", "ERROR", "ERROR:" ], [ "T4", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "T4", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "T4", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "T4", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "T4", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "TX", "N0", "M1b", "ERROR", "ERROR:" ], [ "TX", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "TX", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "TX", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "TX", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "TX", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "TX", "N1", "M1b", "ERROR", "ERROR:" ], [ "TX", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "TX", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "TX", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "TX", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "TX", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "TX", "N2", "M1b", "ERROR", "ERROR:" ], [ "TX", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "TX", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "TX", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "TX", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "TX", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "TX", "N3", "M1b", "ERROR", "ERROR:" ], [ "TX", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "TX", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "TX", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "TX", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "TX", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "TX", "NX", "M1b", "ERROR", "ERROR:" ], [ "TX", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "TX", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "TX", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "TX", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "TX", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "T0", "N0", "M1NOS", "ERROR", "ERROR:" ], [ "T0", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T0", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T0", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T0", "N0", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T0", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T0", "N1", "M1NOS", "ERROR", "ERROR:" ], [ "T0", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T0", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T0", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T0", "N1", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T0", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T0", "N2", "M1NOS", "ERROR", "ERROR:" ], [ "T0", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T0", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T0", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T0", "N2", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T0", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T0", "N3", "M1NOS", "ERROR", "ERROR:" ], [ "T0", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T0", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T0", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T0", "N3", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T0", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T0", "NX", "M1NOS", "ERROR", "ERROR:" ], [ "T0", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T0", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T0", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T0", "NX", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T0", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "Tis", "N0", "M1NOS", "ERROR", "ERROR:" ], [ "Tis", "N0", "M1NOS", "S0", "ERROR:" ], [ "Tis", "N0", "M1NOS", "S1", "ERROR:" ], [ "Tis", "N0", "M1NOS", "S2", "ERROR:" ], [ "Tis", "N0", "M1NOS", "S3", "ERROR:" ], [ "Tis", "N0", "M1NOS", "SX", "ERROR:" ], [ "Tis", "N1", "M1NOS", "ERROR", "ERROR:" ], [ "Tis", "N1", "M1NOS", "S0", "ERROR:" ], [ "Tis", "N1", "M1NOS", "S1", "ERROR:" ], [ "Tis", "N1", "M1NOS", "S2", "ERROR:" ], [ "Tis", "N1", "M1NOS", "S3", "ERROR:" ], [ "Tis", "N1", "M1NOS", "SX", "ERROR:" ], [ "Tis", "N2", "M1NOS", "ERROR", "ERROR:" ], [ "Tis", "N2", "M1NOS", "S0", "ERROR:" ], [ "Tis", "N2", "M1NOS", "S1", "ERROR:" ], [ "Tis", "N2", "M1NOS", "S2", "ERROR:" ], [ "Tis", "N2", "M1NOS", "S3", "ERROR:" ], [ "Tis", "N2", "M1NOS", "SX", "ERROR:" ], [ "Tis", "N3", "M1NOS", "ERROR", "ERROR:" ], [ "Tis", "N3", "M1NOS", "S0", "ERROR:" ], [ "Tis", "N3", "M1NOS", "S1", "ERROR:" ], [ "Tis", "N3", "M1NOS", "S2", "ERROR:" ], [ "Tis", "N3", "M1NOS", "S3", "ERROR:" ], [ "Tis", "N3", "M1NOS", "SX", "ERROR:" ], [ "Tis", "NX", "M1NOS", "ERROR", "ERROR:" ], [ "Tis", "NX", "M1NOS", "S0", "ERROR:" ], [ "Tis", "NX", "M1NOS", "S1", "ERROR:" ], [ "Tis", "NX", "M1NOS", "S2", "ERROR:" ], [ "Tis", "NX", "M1NOS", "S3", "ERROR:" ], [ "Tis", "NX", "M1NOS", "SX", "ERROR:" ], [ "T1", "N0", "M1NOS", "ERROR", "ERROR:" ], [ "T1", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T1", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T1", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T1", "N0", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T1", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T1", "N1", "M1NOS", "ERROR", "ERROR:" ], [ "T1", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T1", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T1", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T1", "N1", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T1", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T1", "N2", "M1NOS", "ERROR", "ERROR:" ], [ "T1", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T1", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T1", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T1", "N2", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T1", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T1", "N3", "M1NOS", "ERROR", "ERROR:" ], [ "T1", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T1", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T1", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T1", "N3", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T1", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T1", "NX", "M1NOS", "ERROR", "ERROR:" ], [ "T1", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T1", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T1", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T1", "NX", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T1", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T2", "N0", "M1NOS", "ERROR", "ERROR:" ], [ "T2", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T2", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T2", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T2", "N0", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T2", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T2", "N1", "M1NOS", "ERROR", "ERROR:" ], [ "T2", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T2", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T2", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T2", "N1", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T2", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T2", "N2", "M1NOS", "ERROR", "ERROR:" ], [ "T2", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T2", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T2", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T2", "N2", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T2", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T2", "N3", "M1NOS", "ERROR", "ERROR:" ], [ "T2", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T2", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T2", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T2", "N3", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T2", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T2", "NX", "M1NOS", "ERROR", "ERROR:" ], [ "T2", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T2", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T2", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T2", "NX", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T2", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T3", "N0", "M1NOS", "ERROR", "ERROR:" ], [ "T3", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T3", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T3", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T3", "N0", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T3", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T3", "N1", "M1NOS", "ERROR", "ERROR:" ], [ "T3", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T3", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T3", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T3", "N1", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T3", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T3", "N2", "M1NOS", "ERROR", "ERROR:" ], [ "T3", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T3", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T3", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T3", "N2", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T3", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T3", "N3", "M1NOS", "ERROR", "ERROR:" ], [ "T3", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T3", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T3", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T3", "N3", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T3", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T3", "NX", "M1NOS", "ERROR", "ERROR:" ], [ "T3", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T3", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T3", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T3", "NX", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T3", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T4", "N0", "M1NOS", "ERROR", "ERROR:" ], [ "T4", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T4", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T4", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T4", "N0", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T4", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T4", "N1", "M1NOS", "ERROR", "ERROR:" ], [ "T4", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T4", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T4", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T4", "N1", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T4", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T4", "N2", "M1NOS", "ERROR", "ERROR:" ], [ "T4", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T4", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T4", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T4", "N2", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T4", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T4", "N3", "M1NOS", "ERROR", "ERROR:" ], [ "T4", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T4", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T4", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T4", "N3", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T4", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T4", "NX", "M1NOS", "ERROR", "ERROR:" ], [ "T4", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T4", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T4", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T4", "NX", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T4", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "TX", "N0", "M1NOS", "ERROR", "ERROR:" ], [ "TX", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "TX", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "TX", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "TX", "N0", "M1NOS", "S3", "VALUE:IIINOS" ], [ "TX", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "TX", "N1", "M1NOS", "ERROR", "ERROR:" ], [ "TX", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "TX", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "TX", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "TX", "N1", "M1NOS", "S3", "VALUE:IIINOS" ], [ "TX", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "TX", "N2", "M1NOS", "ERROR", "ERROR:" ], [ "TX", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "TX", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "TX", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "TX", "N2", "M1NOS", "S3", "VALUE:IIINOS" ], [ "TX", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "TX", "N3", "M1NOS", "ERROR", "ERROR:" ], [ "TX", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "TX", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "TX", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "TX", "N3", "M1NOS", "S3", "VALUE:IIINOS" ], [ "TX", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "TX", "NX", "M1NOS", "ERROR", "ERROR:" ], [ "TX", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "TX", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "TX", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "TX", "NX", "M1NOS", "S3", "VALUE:IIINOS" ], [ "TX", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T0", "N0", "MX", "ERROR", "ERROR:" ], [ "T0", "N0", "MX", "S0", "VALUE:UNK" ], [ "T0", "N0", "MX", "S1", "VALUE:UNK" ], [ "T0", "N0", "MX", "S2", "VALUE:UNK" ], [ "T0", "N0", "MX", "S3", "VALUE:UNK" ], [ "T0", "N0", "MX", "SX", "VALUE:UNK" ], [ "T0", "N1", "MX", "ERROR", "ERROR:" ], [ "T0", "N1", "MX", "S0", "VALUE:UNK" ], [ "T0", "N1", "MX", "S1", "VALUE:UNK" ], [ "T0", "N1", "MX", "S2", "VALUE:IIINOS" ], [ "T0", "N1", "MX", "S3", "VALUE:IIIC" ], [ "T0", "N1", "MX", "SX", "VALUE:UNK" ], [ "T0", "N2", "MX", "ERROR", "ERROR:" ], [ "T0", "N2", "MX", "S0", "VALUE:UNK" ], [ "T0", "N2", "MX", "S1", "VALUE:UNK" ], [ "T0", "N2", "MX", "S2", "VALUE:IIINOS" ], [ "T0", "N2", "MX", "S3", "VALUE:IIIC" ], [ "T0", "N2", "MX", "SX", "VALUE:UNK" ], [ "T0", "N3", "MX", "ERROR", "ERROR:" ], [ "T0", "N3", "MX", "S0", "VALUE:UNK" ], [ "T0", "N3", "MX", "S1", "VALUE:UNK" ], [ "T0", "N3", "MX", "S2", "VALUE:IIINOS" ], [ "T0", "N3", "MX", "S3", "VALUE:IIIC" ], [ "T0", "N3", "MX", "SX", "VALUE:UNK" ], [ "T0", "NX", "MX", "ERROR", "ERROR:" ], [ "T0", "NX", "MX", "S0", "VALUE:UNK" ], [ "T0", "NX", "MX", "S1", "VALUE:UNK" ], [ "T0", "NX", "MX", "S2", "VALUE:UNK" ], [ "T0", "NX", "MX", "S3", "VALUE:UNK" ], [ "T0", "NX", "MX", "SX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "ERROR", "ERROR:" ], [ "Tis", "N0", "MX", "S0", "VALUE:0" ], [ "Tis", "N0", "MX", "S1", "ERROR:" ], [ "Tis", "N0", "MX", "S2", "ERROR:" ], [ "Tis", "N0", "MX", "S3", "ERROR:" ], [ "Tis", "N0", "MX", "SX", "ERROR:" ], [ "Tis", "N1", "MX", "ERROR", "ERROR:" ], [ "Tis", "N1", "MX", "S0", "ERROR:" ], [ "Tis", "N1", "MX", "S1", "ERROR:" ], [ "Tis", "N1", "MX", "S2", "ERROR:" ], [ "Tis", "N1", "MX", "S3", "ERROR:" ], [ "Tis", "N1", "MX", "SX", "ERROR:" ], [ "Tis", "N2", "MX", "ERROR", "ERROR:" ], [ "Tis", "N2", "MX", "S0", "ERROR:" ], [ "Tis", "N2", "MX", "S1", "ERROR:" ], [ "Tis", "N2", "MX", "S2", "ERROR:" ], [ "Tis", "N2", "MX", "S3", "ERROR:" ], [ "Tis", "N2", "MX", "SX", "ERROR:" ], [ "Tis", "N3", "MX", "ERROR", "ERROR:" ], [ "Tis", "N3", "MX", "S0", "ERROR:" ], [ "Tis", "N3", "MX", "S1", "ERROR:" ], [ "Tis", "N3", "MX", "S2", "ERROR:" ], [ "Tis", "N3", "MX", "S3", "ERROR:" ], [ "Tis", "N3", "MX", "SX", "ERROR:" ], [ "Tis", "NX", "MX", "ERROR", "ERROR:" ], [ "Tis", "NX", "MX", "S0", "VALUE:0" ], [ "Tis", "NX", "MX", "S1", "ERROR:" ], [ "Tis", "NX", "MX", "S2", "ERROR:" ], [ "Tis", "NX", "MX", "S3", "ERROR:" ], [ "Tis", "NX", "MX", "SX", "VALUE:UNK" ], [ "T1", "N0", "MX", "ERROR", "ERROR:" ], [ "T1", "N0", "MX", "S0", "VALUE:UNK" ], [ "T1", "N0", "MX", "S1", "VALUE:UNK" ], [ "T1", "N0", "MX", "S2", "VALUE:UNK" ], [ "T1", "N0", "MX", "S3", "VALUE:UNK" ], [ "T1", "N0", "MX", "SX", "VALUE:UNK" ], [ "T1", "N1", "MX", "ERROR", "ERROR:" ], [ "T1", "N1", "MX", "S0", "VALUE:UNK" ], [ "T1", "N1", "MX", "S1", "VALUE:UNK" ], [ "T1", "N1", "MX", "S2", "VALUE:IIINOS" ], [ "T1", "N1", "MX", "S3", "VALUE:IIIC" ], [ "T1", "N1", "MX", "SX", "VALUE:UNK" ], [ "T1", "N2", "MX", "ERROR", "ERROR:" ], [ "T1", "N2", "MX", "S0", "VALUE:UNK" ], [ "T1", "N2", "MX", "S1", "VALUE:UNK" ], [ "T1", "N2", "MX", "S2", "VALUE:IIINOS" ], [ "T1", "N2", "MX", "S3", "VALUE:IIIC" ], [ "T1", "N2", "MX", "SX", "VALUE:UNK" ], [ "T1", "N3", "MX", "ERROR", "ERROR:" ], [ "T1", "N3", "MX", "S0", "VALUE:UNK" ], [ "T1", "N3", "MX", "S1", "VALUE:UNK" ], [ "T1", "N3", "MX", "S2", "VALUE:IIINOS" ], [ "T1", "N3", "MX", "S3", "VALUE:IIIC" ], [ "T1", "N3", "MX", "SX", "VALUE:UNK" ], [ "T1", "NX", "MX", "ERROR", "ERROR:" ], [ "T1", "NX", "MX", "S0", "VALUE:UNK" ], [ "T1", "NX", "MX", "S1", "VALUE:UNK" ], [ "T1", "NX", "MX", "S2", "VALUE:UNK" ], [ "T1", "NX", "MX", "S3", "VALUE:UNK" ], [ "T1", "NX", "MX", "SX", "VALUE:UNK" ], [ "T2", "N0", "MX", "ERROR", "ERROR:" ], [ "T2", "N0", "MX", "S0", "VALUE:UNK" ], [ "T2", "N0", "MX", "S1", "VALUE:UNK" ], [ "T2", "N0", "MX", "S2", "VALUE:UNK" ], [ "T2", "N0", "MX", "S3", "VALUE:UNK" ], [ "T2", "N0", "MX", "SX", "VALUE:UNK" ], [ "T2", "N1", "MX", "ERROR", "ERROR:" ], [ "T2", "N1", "MX", "S0", "VALUE:UNK" ], [ "T2", "N1", "MX", "S1", "VALUE:UNK" ], [ "T2", "N1", "MX", "S2", "VALUE:IIINOS" ], [ "T2", "N1", "MX", "S3", "VALUE:IIIC" ], [ "T2", "N1", "MX", "SX", "VALUE:UNK" ], [ "T2", "N2", "MX", "ERROR", "ERROR:" ], [ "T2", "N2", "MX", "S0", "VALUE:UNK" ], [ "T2", "N2", "MX", "S1", "VALUE:UNK" ], [ "T2", "N2", "MX", "S2", "VALUE:IIINOS" ], [ "T2", "N2", "MX", "S3", "VALUE:IIIC" ], [ "T2", "N2", "MX", "SX", "VALUE:UNK" ], [ "T2", "N3", "MX", "ERROR", "ERROR:" ], [ "T2", "N3", "MX", "S0", "VALUE:UNK" ], [ "T2", "N3", "MX", "S1", "VALUE:UNK" ], [ "T2", "N3", "MX", "S2", "VALUE:IIINOS" ], [ "T2", "N3", "MX", "S3", "VALUE:IIIC" ], [ "T2", "N3", "MX", "SX", "VALUE:UNK" ], [ "T2", "NX", "MX", "ERROR", "ERROR:" ], [ "T2", "NX", "MX", "S0", "VALUE:UNK" ], [ "T2", "NX", "MX", "S1", "VALUE:UNK" ], [ "T2", "NX", "MX", "S2", "VALUE:UNK" ], [ "T2", "NX", "MX", "S3", "VALUE:UNK" ], [ "T2", "NX", "MX", "SX", "VALUE:UNK" ], [ "T3", "N0", "MX", "ERROR", "ERROR:" ], [ "T3", "N0", "MX", "S0", "VALUE:UNK" ], [ "T3", "N0", "MX", "S1", "VALUE:UNK" ], [ "T3", "N0", "MX", "S2", "VALUE:UNK" ], [ "T3", "N0", "MX", "S3", "VALUE:UNK" ], [ "T3", "N0", "MX", "SX", "VALUE:UNK" ], [ "T3", "N1", "MX", "ERROR", "ERROR:" ], [ "T3", "N1", "MX", "S0", "VALUE:UNK" ], [ "T3", "N1", "MX", "S1", "VALUE:UNK" ], [ "T3", "N1", "MX", "S2", "VALUE:IIINOS" ], [ "T3", "N1", "MX", "S3", "VALUE:IIIC" ], [ "T3", "N1", "MX", "SX", "VALUE:UNK" ], [ "T3", "N2", "MX", "ERROR", "ERROR:" ], [ "T3", "N2", "MX", "S0", "VALUE:UNK" ], [ "T3", "N2", "MX", "S1", "VALUE:UNK" ], [ "T3", "N2", "MX", "S2", "VALUE:IIINOS" ], [ "T3", "N2", "MX", "S3", "VALUE:IIIC" ], [ "T3", "N2", "MX", "SX", "VALUE:UNK" ], [ "T3", "N3", "MX", "ERROR", "ERROR:" ], [ "T3", "N3", "MX", "S0", "VALUE:UNK" ], [ "T3", "N3", "MX", "S1", "VALUE:UNK" ], [ "T3", "N3", "MX", "S2", "VALUE:IIINOS" ], [ "T3", "N3", "MX", "S3", "VALUE:IIIC" ], [ "T3", "N3", "MX", "SX", "VALUE:UNK" ], [ "T3", "NX", "MX", "ERROR", "ERROR:" ], [ "T3", "NX", "MX", "S0", "VALUE:UNK" ], [ "T3", "NX", "MX", "S1", "VALUE:UNK" ], [ "T3", "NX", "MX", "S2", "VALUE:UNK" ], [ "T3", "NX", "MX", "S3", "VALUE:UNK" ], [ "T3", "NX", "MX", "SX", "VALUE:UNK" ], [ "T4", "N0", "MX", "ERROR", "ERROR:" ], [ "T4", "N0", "MX", "S0", "VALUE:UNK" ], [ "T4", "N0", "MX", "S1", "VALUE:UNK" ], [ "T4", "N0", "MX", "S2", "VALUE:UNK" ], [ "T4", "N0", "MX", "S3", "VALUE:UNK" ], [ "T4", "N0", "MX", "SX", "VALUE:UNK" ], [ "T4", "N1", "MX", "ERROR", "ERROR:" ], [ "T4", "N1", "MX", "S0", "VALUE:UNK" ], [ "T4", "N1", "MX", "S1", "VALUE:UNK" ], [ "T4", "N1", "MX", "S2", "VALUE:IIINOS" ], [ "T4", "N1", "MX", "S3", "VALUE:IIIC" ], [ "T4", "N1", "MX", "SX", "VALUE:UNK" ], [ "T4", "N2", "MX", "ERROR", "ERROR:" ], [ "T4", "N2", "MX", "S0", "VALUE:UNK" ], [ "T4", "N2", "MX", "S1", "VALUE:UNK" ], [ "T4", "N2", "MX", "S2", "VALUE:IIINOS" ], [ "T4", "N2", "MX", "S3", "VALUE:IIIC" ], [ "T4", "N2", "MX", "SX", "VALUE:UNK" ], [ "T4", "N3", "MX", "ERROR", "ERROR:" ], [ "T4", "N3", "MX", "S0", "VALUE:UNK" ], [ "T4", "N3", "MX", "S1", "VALUE:UNK" ], [ "T4", "N3", "MX", "S2", "VALUE:IIINOS" ], [ "T4", "N3", "MX", "S3", "VALUE:IIIC" ], [ "T4", "N3", "MX", "SX", "VALUE:UNK" ], [ "T4", "NX", "MX", "ERROR", "ERROR:" ], [ "T4", "NX", "MX", "S0", "VALUE:UNK" ], [ "T4", "NX", "MX", "S1", "VALUE:UNK" ], [ "T4", "NX", "MX", "S2", "VALUE:UNK" ], [ "T4", "NX", "MX", "S3", "VALUE:UNK" ], [ "T4", "NX", "MX", "SX", "VALUE:UNK" ], [ "TX", "N0", "MX", "ERROR", "ERROR:" ], [ "TX", "N0", "MX", "S0", "VALUE:UNK" ], [ "TX", "N0", "MX", "S1", "VALUE:UNK" ], [ "TX", "N0", "MX", "S2", "VALUE:UNK" ], [ "TX", "N0", "MX", "S3", "VALUE:UNK" ], [ "TX", "N0", "MX", "SX", "VALUE:UNK" ], [ "TX", "N1", "MX", "ERROR", "ERROR:" ], [ "TX", "N1", "MX", "S0", "VALUE:UNK" ], [ "TX", "N1", "MX", "S1", "VALUE:UNK" ], [ "TX", "N1", "MX", "S2", "VALUE:IIINOS" ], [ "TX", "N1", "MX", "S3", "VALUE:IIIC" ], [ "TX", "N1", "MX", "SX", "VALUE:UNK" ], [ "TX", "N2", "MX", "ERROR", "ERROR:" ], [ "TX", "N2", "MX", "S0", "VALUE:UNK" ], [ "TX", "N2", "MX", "S1", "VALUE:UNK" ], [ "TX", "N2", "MX", "S2", "VALUE:IIINOS" ], [ "TX", "N2", "MX", "S3", "VALUE:IIIC" ], [ "TX", "N2", "MX", "SX", "VALUE:UNK" ], [ "TX", "N3", "MX", "ERROR", "ERROR:" ], [ "TX", "N3", "MX", "S0", "VALUE:UNK" ], [ "TX", "N3", "MX", "S1", "VALUE:UNK" ], [ "TX", "N3", "MX", "S2", "VALUE:IIINOS" ], [ "TX", "N3", "MX", "S3", "VALUE:IIIC" ], [ "TX", "N3", "MX", "SX", "VALUE:UNK" ], [ "TX", "NX", "MX", "ERROR", "ERROR:" ], [ "TX", "NX", "MX", "S0", "VALUE:UNK" ], [ "TX", "NX", "MX", "S1", "VALUE:UNK" ], [ "TX", "NX", "MX", "S2", "VALUE:UNK" ], [ "TX", "NX", "MX", "S3", "VALUE:UNK" ], [ "TX", "NX", "MX", "SX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpr.json deleted file mode 100644 index f4fd34c40..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpr.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qpr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:51.625Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "N2a", "M0", "VALUE:IVA" ], [ "T0", "N2b", "M0", "VALUE:IVA" ], [ "T0", "N2c", "M0", "VALUE:IVA" ], [ "T0", "N2NOS", "M0", "VALUE:IVA" ], [ "T0", "N3", "M0", "VALUE:IVB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "N2a", "M0", "VALUE:IVA" ], [ "T1", "N2b", "M0", "VALUE:IVA" ], [ "T1", "N2c", "M0", "VALUE:IVA" ], [ "T1", "N2NOS", "M0", "VALUE:IVA" ], [ "T1", "N3", "M0", "VALUE:IVB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "N2a", "M0", "VALUE:IVA" ], [ "T2", "N2b", "M0", "VALUE:IVA" ], [ "T2", "N2c", "M0", "VALUE:IVA" ], [ "T2", "N2NOS", "M0", "VALUE:IVA" ], [ "T2", "N3", "M0", "VALUE:IVB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2a", "M0", "VALUE:IVA" ], [ "T3", "N2b", "M0", "VALUE:IVA" ], [ "T3", "N2c", "M0", "VALUE:IVA" ], [ "T3", "N2NOS", "M0", "VALUE:IVA" ], [ "T3", "N3", "M0", "VALUE:IVB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IVA" ], [ "T4a", "N1", "M0", "VALUE:IVA" ], [ "T4a", "N2a", "M0", "VALUE:IVA" ], [ "T4a", "N2b", "M0", "VALUE:IVA" ], [ "T4a", "N2c", "M0", "VALUE:IVA" ], [ "T4a", "N2NOS", "M0", "VALUE:IVA" ], [ "T4a", "N3", "M0", "VALUE:IVB" ], [ "T4a", "NX", "M0", "VALUE:IVNOS" ], [ "T4b", "N0", "M0", "VALUE:IVB" ], [ "T4b", "N1", "M0", "VALUE:IVB" ], [ "T4b", "N2a", "M0", "VALUE:IVB" ], [ "T4b", "N2b", "M0", "VALUE:IVB" ], [ "T4b", "N2c", "M0", "VALUE:IVB" ], [ "T4b", "N2NOS", "M0", "VALUE:IVB" ], [ "T4b", "N3", "M0", "VALUE:IVB" ], [ "T4b", "NX", "M0", "VALUE:IVB" ], [ "T4NOS", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2a", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2b", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2c", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N3", "M0", "VALUE:IVB" ], [ "T4NOS", "NX", "M0", "VALUE:IVNOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2a", "M0", "VALUE:IVNOS" ], [ "TX", "N2b", "M0", "VALUE:IVNOS" ], [ "TX", "N2c", "M0", "VALUE:IVNOS" ], [ "TX", "N2NOS", "M0", "VALUE:IVNOS" ], [ "TX", "N3", "M0", "VALUE:IVB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVC" ], [ "T0", "N1", "M1", "VALUE:IVC" ], [ "T0", "N2a", "M1", "VALUE:IVC" ], [ "T0", "N2b", "M1", "VALUE:IVC" ], [ "T0", "N2c", "M1", "VALUE:IVC" ], [ "T0", "N2NOS", "M1", "VALUE:IVC" ], [ "T0", "N3", "M1", "VALUE:IVC" ], [ "T0", "NX", "M1", "VALUE:IVC" ], [ "T1", "N0", "M1", "VALUE:IVC" ], [ "T1", "N1", "M1", "VALUE:IVC" ], [ "T1", "N2a", "M1", "VALUE:IVC" ], [ "T1", "N2b", "M1", "VALUE:IVC" ], [ "T1", "N2c", "M1", "VALUE:IVC" ], [ "T1", "N2NOS", "M1", "VALUE:IVC" ], [ "T1", "N3", "M1", "VALUE:IVC" ], [ "T1", "NX", "M1", "VALUE:IVC" ], [ "T2", "N0", "M1", "VALUE:IVC" ], [ "T2", "N1", "M1", "VALUE:IVC" ], [ "T2", "N2a", "M1", "VALUE:IVC" ], [ "T2", "N2b", "M1", "VALUE:IVC" ], [ "T2", "N2c", "M1", "VALUE:IVC" ], [ "T2", "N2NOS", "M1", "VALUE:IVC" ], [ "T2", "N3", "M1", "VALUE:IVC" ], [ "T2", "NX", "M1", "VALUE:IVC" ], [ "T3", "N0", "M1", "VALUE:IVC" ], [ "T3", "N1", "M1", "VALUE:IVC" ], [ "T3", "N2a", "M1", "VALUE:IVC" ], [ "T3", "N2b", "M1", "VALUE:IVC" ], [ "T3", "N2c", "M1", "VALUE:IVC" ], [ "T3", "N2NOS", "M1", "VALUE:IVC" ], [ "T3", "N3", "M1", "VALUE:IVC" ], [ "T3", "NX", "M1", "VALUE:IVC" ], [ "T4a", "N0", "M1", "VALUE:IVC" ], [ "T4a", "N1", "M1", "VALUE:IVC" ], [ "T4a", "N2a", "M1", "VALUE:IVC" ], [ "T4a", "N2b", "M1", "VALUE:IVC" ], [ "T4a", "N2c", "M1", "VALUE:IVC" ], [ "T4a", "N2NOS", "M1", "VALUE:IVC" ], [ "T4a", "N3", "M1", "VALUE:IVC" ], [ "T4a", "NX", "M1", "VALUE:IVC" ], [ "T4b", "N0", "M1", "VALUE:IVC" ], [ "T4b", "N1", "M1", "VALUE:IVC" ], [ "T4b", "N2a", "M1", "VALUE:IVC" ], [ "T4b", "N2b", "M1", "VALUE:IVC" ], [ "T4b", "N2c", "M1", "VALUE:IVC" ], [ "T4b", "N2NOS", "M1", "VALUE:IVC" ], [ "T4b", "N3", "M1", "VALUE:IVC" ], [ "T4b", "NX", "M1", "VALUE:IVC" ], [ "T4NOS", "N0", "M1", "VALUE:IVC" ], [ "T4NOS", "N1", "M1", "VALUE:IVC" ], [ "T4NOS", "N2a", "M1", "VALUE:IVC" ], [ "T4NOS", "N2b", "M1", "VALUE:IVC" ], [ "T4NOS", "N2c", "M1", "VALUE:IVC" ], [ "T4NOS", "N2NOS", "M1", "VALUE:IVC" ], [ "T4NOS", "N3", "M1", "VALUE:IVC" ], [ "T4NOS", "NX", "M1", "VALUE:IVC" ], [ "TX", "N0", "M1", "VALUE:IVC" ], [ "TX", "N1", "M1", "VALUE:IVC" ], [ "TX", "N2a", "M1", "VALUE:IVC" ], [ "TX", "N2b", "M1", "VALUE:IVC" ], [ "TX", "N2c", "M1", "VALUE:IVC" ], [ "TX", "N2NOS", "M1", "VALUE:IVC" ], [ "TX", "N3", "M1", "VALUE:IVC" ], [ "TX", "NX", "M1", "VALUE:IVC" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2a", "MX", "VALUE:IVNOS" ], [ "T0", "N2b", "MX", "VALUE:IVNOS" ], [ "T0", "N2c", "MX", "VALUE:IVNOS" ], [ "T0", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T0", "N3", "MX", "VALUE:IVNOS" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "N2a", "MX", "VALUE:IVNOS" ], [ "T1", "N2b", "MX", "VALUE:IVNOS" ], [ "T1", "N2c", "MX", "VALUE:IVNOS" ], [ "T1", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T1", "N3", "MX", "VALUE:IVNOS" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "N2a", "MX", "VALUE:IVNOS" ], [ "T2", "N2b", "MX", "VALUE:IVNOS" ], [ "T2", "N2c", "MX", "VALUE:IVNOS" ], [ "T2", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T2", "N3", "MX", "VALUE:IVNOS" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N2a", "MX", "VALUE:IVNOS" ], [ "T3", "N2b", "MX", "VALUE:IVNOS" ], [ "T3", "N2c", "MX", "VALUE:IVNOS" ], [ "T3", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T3", "N3", "MX", "VALUE:IVNOS" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4a", "N0", "MX", "VALUE:IVNOS" ], [ "T4a", "N1", "MX", "VALUE:IVNOS" ], [ "T4a", "N2a", "MX", "VALUE:IVNOS" ], [ "T4a", "N2b", "MX", "VALUE:IVNOS" ], [ "T4a", "N2c", "MX", "VALUE:IVNOS" ], [ "T4a", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T4a", "N3", "MX", "VALUE:IVNOS" ], [ "T4a", "NX", "MX", "VALUE:IVNOS" ], [ "T4b", "N0", "MX", "VALUE:IVNOS" ], [ "T4b", "N1", "MX", "VALUE:IVNOS" ], [ "T4b", "N2a", "MX", "VALUE:IVNOS" ], [ "T4b", "N2b", "MX", "VALUE:IVNOS" ], [ "T4b", "N2c", "MX", "VALUE:IVNOS" ], [ "T4b", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T4b", "N3", "MX", "VALUE:IVNOS" ], [ "T4b", "NX", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N0", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N1", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2a", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2b", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2c", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N2NOS", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N3", "MX", "VALUE:IVNOS" ], [ "T4NOS", "NX", "MX", "VALUE:IVNOS" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2a", "MX", "VALUE:IVNOS" ], [ "TX", "N2b", "MX", "VALUE:IVNOS" ], [ "TX", "N2c", "MX", "VALUE:IVNOS" ], [ "TX", "N2NOS", "MX", "VALUE:IVNOS" ], [ "TX", "N3", "MX", "VALUE:IVNOS" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qps.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qps.json deleted file mode 100644 index 4baf26fc2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qps.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qps", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:51.692Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:II" ], [ "T0", "N2", "M0", "VALUE:III" ], [ "T0", "N3", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Ta", "N0", "M0", "VALUE:0" ], [ "Ta", "N1", "M0", "ERROR:" ], [ "Ta", "N2", "M0", "ERROR:" ], [ "Ta", "N3", "M0", "ERROR:" ], [ "Ta", "NX", "M0", "VALUE:0" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:II" ], [ "T1", "N2", "M0", "VALUE:III" ], [ "T1", "N3", "M0", "VALUE:IV" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:II" ], [ "T2", "N2", "M0", "VALUE:III" ], [ "T2", "N3", "M0", "VALUE:IV" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2", "M0", "VALUE:III" ], [ "T3", "N3", "M0", "VALUE:IV" ], [ "T3", "NX", "M0", "VALUE:III" ], [ "T4", "N0", "M0", "VALUE:IV" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "N2", "M0", "VALUE:IV" ], [ "T4", "N3", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:IV" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:III" ], [ "TX", "N3", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "N3", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Ta", "N0", "M1", "ERROR:" ], [ "Ta", "N1", "M1", "ERROR:" ], [ "Ta", "N2", "M1", "ERROR:" ], [ "Ta", "N3", "M1", "ERROR:" ], [ "Ta", "NX", "M1", "ERROR:" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "N2", "M1", "VALUE:IV" ], [ "T1", "N3", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2", "M1", "VALUE:IV" ], [ "T2", "N3", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "N3", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "N3", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "N3", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2", "MX", "VALUE:UNK" ], [ "T0", "N3", "MX", "VALUE:IV" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Ta", "N0", "MX", "VALUE:0" ], [ "Ta", "N1", "MX", "ERROR:" ], [ "Ta", "N2", "MX", "ERROR:" ], [ "Ta", "N3", "MX", "ERROR:" ], [ "Ta", "NX", "MX", "VALUE:0" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "N2", "MX", "ERROR:" ], [ "Tis", "N3", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "N2", "MX", "VALUE:UNK" ], [ "T1", "N3", "MX", "VALUE:IV" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "N2", "MX", "VALUE:UNK" ], [ "T2", "N3", "MX", "VALUE:IV" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N2", "MX", "VALUE:UNK" ], [ "T3", "N3", "MX", "VALUE:IV" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:IV" ], [ "T4", "N1", "MX", "VALUE:IV" ], [ "T4", "N2", "MX", "VALUE:IV" ], [ "T4", "N3", "MX", "VALUE:IV" ], [ "T4", "NX", "MX", "VALUE:IV" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2", "MX", "VALUE:UNK" ], [ "TX", "N3", "MX", "VALUE:IV" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpt.json deleted file mode 100644 index 704aabd06..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpt.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qpt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:51.750Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:II" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:III" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpu.json deleted file mode 100644 index 410821970..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpu.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qpu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:51.804Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "N2", "M0", "VALUE:IVA" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N1", "M0", "VALUE:III" ], [ "T1a", "N2", "M0", "VALUE:IVA" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IB" ], [ "T1b", "N1", "M0", "VALUE:III" ], [ "T1b", "N2", "M0", "VALUE:IVA" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N1", "M0", "VALUE:III" ], [ "T1NOS", "N2", "M0", "VALUE:IVA" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "N2", "M0", "VALUE:IVA" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2", "M0", "VALUE:IVA" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IVA" ], [ "T4", "N1", "M0", "VALUE:IVA" ], [ "T4", "N2", "M0", "VALUE:IVA" ], [ "T4", "NX", "M0", "VALUE:IVA" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:IVNOS" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVB" ], [ "T0", "N1", "M1", "VALUE:IVB" ], [ "T0", "N2", "M1", "VALUE:IVB" ], [ "T0", "NX", "M1", "VALUE:IVB" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1a", "N0", "M1", "VALUE:IVB" ], [ "T1a", "N1", "M1", "VALUE:IVB" ], [ "T1a", "N2", "M1", "VALUE:IVB" ], [ "T1a", "NX", "M1", "VALUE:IVB" ], [ "T1b", "N0", "M1", "VALUE:IVB" ], [ "T1b", "N1", "M1", "VALUE:IVB" ], [ "T1b", "N2", "M1", "VALUE:IVB" ], [ "T1b", "NX", "M1", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "VALUE:IVB" ], [ "T1NOS", "N1", "M1", "VALUE:IVB" ], [ "T1NOS", "N2", "M1", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "VALUE:IVB" ], [ "T2", "N0", "M1", "VALUE:IVB" ], [ "T2", "N1", "M1", "VALUE:IVB" ], [ "T2", "N2", "M1", "VALUE:IVB" ], [ "T2", "NX", "M1", "VALUE:IVB" ], [ "T3", "N0", "M1", "VALUE:IVB" ], [ "T3", "N1", "M1", "VALUE:IVB" ], [ "T3", "N2", "M1", "VALUE:IVB" ], [ "T3", "NX", "M1", "VALUE:IVB" ], [ "T4", "N0", "M1", "VALUE:IVB" ], [ "T4", "N1", "M1", "VALUE:IVB" ], [ "T4", "N2", "M1", "VALUE:IVB" ], [ "T4", "NX", "M1", "VALUE:IVB" ], [ "TX", "N0", "M1", "VALUE:IVB" ], [ "TX", "N1", "M1", "VALUE:IVB" ], [ "TX", "N2", "M1", "VALUE:IVB" ], [ "TX", "NX", "M1", "VALUE:IVB" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "N2", "MX", "VALUE:IVNOS" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "N2", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1a", "N0", "MX", "VALUE:UNK" ], [ "T1a", "N1", "MX", "VALUE:UNK" ], [ "T1a", "N2", "MX", "VALUE:IVNOS" ], [ "T1a", "NX", "MX", "VALUE:UNK" ], [ "T1b", "N0", "MX", "VALUE:UNK" ], [ "T1b", "N1", "MX", "VALUE:UNK" ], [ "T1b", "N2", "MX", "VALUE:IVNOS" ], [ "T1b", "NX", "MX", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "VALUE:UNK" ], [ "T1NOS", "N2", "MX", "VALUE:IVNOS" ], [ "T1NOS", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "N2", "MX", "VALUE:IVNOS" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "N2", "MX", "VALUE:IVNOS" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:IVNOS" ], [ "T4", "N1", "MX", "VALUE:IVNOS" ], [ "T4", "N2", "MX", "VALUE:IVNOS" ], [ "T4", "NX", "MX", "VALUE:IVNOS" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "N2", "MX", "VALUE:IVNOS" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpv.json deleted file mode 100644 index 8c267c5cd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpv.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qpv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:51.867Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:IA" ], [ "T1", "N1", "M0", "VALUE:IIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IB" ], [ "T2", "N1", "M0", "VALUE:IIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIA" ], [ "T3", "N1", "M0", "VALUE:IIB" ], [ "T3", "NX", "M0", "VALUE:IINOS" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:UNK" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:UNK" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:UNK" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:UNK" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpw.json deleted file mode 100644 index 5449f8f4f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpw.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qpw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:51.923Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIC" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N1", "M0", "VALUE:IIIC" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IB" ], [ "T1b", "N1", "M0", "VALUE:IIIC" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1c", "N0", "M0", "VALUE:IC" ], [ "T1c", "N1", "M0", "VALUE:IIIC" ], [ "T1c", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:INOS" ], [ "T1NOS", "N1", "M0", "VALUE:IIIC" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:IIA" ], [ "T2a", "N1", "M0", "VALUE:IIIC" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:IIB" ], [ "T2b", "N1", "M0", "VALUE:IIIC" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:IINOS" ], [ "T2NOS", "N1", "M0", "VALUE:IIIC" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:IIIA" ], [ "T3a", "N1", "M0", "VALUE:IIIC" ], [ "T3a", "NX", "M0", "VALUE:IIINOS" ], [ "T3b", "N0", "M0", "VALUE:IIIB" ], [ "T3b", "N1", "M0", "VALUE:IIIC" ], [ "T3b", "NX", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N0", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N1", "M0", "VALUE:IIIC" ], [ "T3NOS", "NX", "M0", "VALUE:IIINOS" ], [ "T4", "N0", "M0", "VALUE:IVA" ], [ "T4", "N1", "M0", "VALUE:IVA" ], [ "T4", "NX", "M0", "VALUE:IVA" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIIC" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVB" ], [ "T0", "N1", "M1", "VALUE:IVB" ], [ "T0", "NX", "M1", "VALUE:IVB" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1a", "N0", "M1", "VALUE:IVB" ], [ "T1a", "N1", "M1", "VALUE:IVB" ], [ "T1a", "NX", "M1", "VALUE:IVB" ], [ "T1b", "N0", "M1", "VALUE:IVB" ], [ "T1b", "N1", "M1", "VALUE:IVB" ], [ "T1b", "NX", "M1", "VALUE:IVB" ], [ "T1c", "N0", "M1", "VALUE:IVB" ], [ "T1c", "N1", "M1", "VALUE:IVB" ], [ "T1c", "NX", "M1", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "VALUE:IVB" ], [ "T1NOS", "N1", "M1", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "VALUE:IVB" ], [ "T2a", "N0", "M1", "VALUE:IVB" ], [ "T2a", "N1", "M1", "VALUE:IVB" ], [ "T2a", "NX", "M1", "VALUE:IVB" ], [ "T2b", "N0", "M1", "VALUE:IVB" ], [ "T2b", "N1", "M1", "VALUE:IVB" ], [ "T2b", "NX", "M1", "VALUE:IVB" ], [ "T2NOS", "N0", "M1", "VALUE:IVB" ], [ "T2NOS", "N1", "M1", "VALUE:IVB" ], [ "T2NOS", "NX", "M1", "VALUE:IVB" ], [ "T3a", "N0", "M1", "VALUE:IVB" ], [ "T3a", "N1", "M1", "VALUE:IVB" ], [ "T3a", "NX", "M1", "VALUE:IVB" ], [ "T3b", "N0", "M1", "VALUE:IVB" ], [ "T3b", "N1", "M1", "VALUE:IVB" ], [ "T3b", "NX", "M1", "VALUE:IVB" ], [ "T3NOS", "N0", "M1", "VALUE:IVB" ], [ "T3NOS", "N1", "M1", "VALUE:IVB" ], [ "T3NOS", "NX", "M1", "VALUE:IVB" ], [ "T4", "N0", "M1", "VALUE:IVB" ], [ "T4", "N1", "M1", "VALUE:IVB" ], [ "T4", "NX", "M1", "VALUE:IVB" ], [ "TX", "N0", "M1", "VALUE:IVB" ], [ "TX", "N1", "M1", "VALUE:IVB" ], [ "TX", "NX", "M1", "VALUE:IVB" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:UNK" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "Tis", "N0", "MX", "VALUE:0" ], [ "Tis", "N1", "MX", "ERROR:" ], [ "Tis", "NX", "MX", "VALUE:0" ], [ "T1a", "N0", "MX", "VALUE:UNK" ], [ "T1a", "N1", "MX", "VALUE:UNK" ], [ "T1a", "NX", "MX", "VALUE:UNK" ], [ "T1b", "N0", "MX", "VALUE:UNK" ], [ "T1b", "N1", "MX", "VALUE:UNK" ], [ "T1b", "NX", "MX", "VALUE:UNK" ], [ "T1c", "N0", "MX", "VALUE:UNK" ], [ "T1c", "N1", "MX", "VALUE:UNK" ], [ "T1c", "NX", "MX", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "VALUE:UNK" ], [ "T1NOS", "NX", "MX", "VALUE:UNK" ], [ "T2a", "N0", "MX", "VALUE:UNK" ], [ "T2a", "N1", "MX", "VALUE:UNK" ], [ "T2a", "NX", "MX", "VALUE:UNK" ], [ "T2b", "N0", "MX", "VALUE:UNK" ], [ "T2b", "N1", "MX", "VALUE:UNK" ], [ "T2b", "NX", "MX", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "VALUE:UNK" ], [ "T2NOS", "N1", "MX", "VALUE:UNK" ], [ "T2NOS", "NX", "MX", "VALUE:UNK" ], [ "T3a", "N0", "MX", "VALUE:UNK" ], [ "T3a", "N1", "MX", "VALUE:UNK" ], [ "T3a", "NX", "MX", "VALUE:UNK" ], [ "T3b", "N0", "MX", "VALUE:UNK" ], [ "T3b", "N1", "MX", "VALUE:UNK" ], [ "T3b", "NX", "MX", "VALUE:UNK" ], [ "T3NOS", "N0", "MX", "VALUE:UNK" ], [ "T3NOS", "N1", "MX", "VALUE:UNK" ], [ "T3NOS", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:IVNOS" ], [ "T4", "N1", "MX", "VALUE:IVNOS" ], [ "T4", "NX", "MX", "VALUE:IVNOS" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:UNK" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpx.json deleted file mode 100644 index 52be0b808..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_stage_qpx.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc6_stage_qpx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage", - "last_modified" : "2015-05-27T16:18:51.981Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N1", "M0", "VALUE:IV" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:I" ], [ "T1b", "N1", "M0", "VALUE:IV" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1c", "N0", "M0", "VALUE:I" ], [ "T1c", "N1", "M0", "VALUE:IV" ], [ "T1c", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N1", "M0", "VALUE:IV" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:II" ], [ "T2a", "N1", "M0", "VALUE:IV" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:II" ], [ "T2b", "N1", "M0", "VALUE:IV" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2c", "N0", "M0", "VALUE:II" ], [ "T2c", "N1", "M0", "VALUE:IV" ], [ "T2c", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:II" ], [ "T2NOS", "N1", "M0", "VALUE:IV" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:IV" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:III" ], [ "T3a", "N1", "M0", "VALUE:IV" ], [ "T3a", "NX", "M0", "VALUE:UNK" ], [ "T3NOS", "N0", "M0", "VALUE:III" ], [ "T3NOS", "N1", "M0", "VALUE:IV" ], [ "T3NOS", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1c", "N0", "M1", "VALUE:IV" ], [ "T1c", "N1", "M1", "VALUE:IV" ], [ "T1c", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2a", "N0", "M1", "VALUE:IV" ], [ "T2a", "N1", "M1", "VALUE:IV" ], [ "T2a", "NX", "M1", "VALUE:IV" ], [ "T2b", "N0", "M1", "VALUE:IV" ], [ "T2b", "N1", "M1", "VALUE:IV" ], [ "T2b", "NX", "M1", "VALUE:IV" ], [ "T2c", "N0", "M1", "VALUE:IV" ], [ "T2c", "N1", "M1", "VALUE:IV" ], [ "T2c", "NX", "M1", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T3a", "N0", "M1", "VALUE:IV" ], [ "T3a", "N1", "M1", "VALUE:IV" ], [ "T3a", "NX", "M1", "VALUE:IV" ], [ "T3NOS", "N0", "M1", "VALUE:IV" ], [ "T3NOS", "N1", "M1", "VALUE:IV" ], [ "T3NOS", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:IV" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "T1a", "N0", "MX", "VALUE:UNK" ], [ "T1a", "N1", "MX", "VALUE:IV" ], [ "T1a", "NX", "MX", "VALUE:UNK" ], [ "T1b", "N0", "MX", "VALUE:UNK" ], [ "T1b", "N1", "MX", "VALUE:IV" ], [ "T1b", "NX", "MX", "VALUE:UNK" ], [ "T1c", "N0", "MX", "VALUE:UNK" ], [ "T1c", "N1", "MX", "VALUE:IV" ], [ "T1c", "NX", "MX", "VALUE:UNK" ], [ "T1NOS", "N0", "MX", "VALUE:UNK" ], [ "T1NOS", "N1", "MX", "VALUE:IV" ], [ "T1NOS", "NX", "MX", "VALUE:UNK" ], [ "T2a", "N0", "MX", "VALUE:UNK" ], [ "T2a", "N1", "MX", "VALUE:IV" ], [ "T2a", "NX", "MX", "VALUE:UNK" ], [ "T2b", "N0", "MX", "VALUE:UNK" ], [ "T2b", "N1", "MX", "VALUE:IV" ], [ "T2b", "NX", "MX", "VALUE:UNK" ], [ "T2c", "N0", "MX", "VALUE:UNK" ], [ "T2c", "N1", "MX", "VALUE:IV" ], [ "T2c", "NX", "MX", "VALUE:UNK" ], [ "T2NOS", "N0", "MX", "VALUE:UNK" ], [ "T2NOS", "N1", "MX", "VALUE:IV" ], [ "T2NOS", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:IV" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T3a", "N0", "MX", "VALUE:UNK" ], [ "T3a", "N1", "MX", "VALUE:IV" ], [ "T3a", "NX", "MX", "VALUE:UNK" ], [ "T3NOS", "N0", "MX", "VALUE:UNK" ], [ "T3NOS", "N1", "MX", "VALUE:IV" ], [ "T3NOS", "NX", "MX", "VALUE:UNK" ], [ "T4", "N0", "MX", "VALUE:UNK" ], [ "T4", "N1", "MX", "VALUE:IV" ], [ "T4", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:IV" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_t_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_t_codes.json deleted file mode 100644 index fab2a6660..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_t_codes.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ajcc6_t_codes", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC 6 T Codes", - "title" : "AJCC 6 T Allowable Codes", - "last_modified" : "2015-05-27T16:18:52.044Z", - "definition" : [ { - "key" : "ajcc6_t", - "name" : "Display String", - "type" : "INPUT" - }, { - "key" : "stor_ajcc6_t", - "name" : "AJCC6 Storage Code", - "type" : "ENDPOINT" - }, { - "key" : "comments", - "name" : "Comments", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "TX", "VALUE:99", "TX" ], [ "T0", "VALUE:00", "T0" ], [ "Ta", "VALUE:01", "Ta" ], [ "Tis", "VALUE:05", "Tis" ], [ "Tispu", "VALUE:06", "Tispu (Urethra only)" ], [ "Tispd", "VALUE:07", "Tispd (Urethra only)" ], [ "T1", "VALUE:10", "T1" ], [ "T1mi", "VALUE:11", "T1mi" ], [ "T1NOS", "VALUE:19", "T1 NOS" ], [ "T1NOS(s)", "VALUE: ", "T1 NOS(s)" ], [ "T1NOS(m)", "VALUE: ", "T1 NOS(m)" ], [ "T1a", "VALUE:12", "T1a" ], [ "T1a(s)", "VALUE: ", "T1a(s)" ], [ "T1a(m)", "VALUE: ", "T1a(m)" ], [ "T1a1", "VALUE:13", "T1a1" ], [ "T1a2", "VALUE:14", "T1a2" ], [ "T1b", "VALUE:15", "T1b" ], [ "T1b(s)", "VALUE: ", "T1b(s)" ], [ "T1b(m)", "VALUE: ", "T1b(m)" ], [ "T1b1", "VALUE:16", "T1b1" ], [ "T1b2", "VALUE:17", "T1b2" ], [ "T1c", "VALUE:18", "T1c" ], [ "T1d", "VALUE: ", "T1d" ], [ "T2", "VALUE:20", "T2" ], [ "T2(s)", "VALUE: ", "T2(s)" ], [ "T2(m)", "VALUE: ", "T2(m)" ], [ "T2NOS", "VALUE:29", "T2 NOS" ], [ "T2a", "VALUE:21", "T2a" ], [ "T2a1", "VALUE: ", "T2a1" ], [ "T2a2", "VALUE: ", "T2a2" ], [ "T2aNOS", "VALUE: ", "T2a NOS" ], [ "T2b", "VALUE:22", "T2b" ], [ "T2c", "VALUE:23", "T2c" ], [ "T2d", "VALUE: ", "T2d" ], [ "T3", "VALUE:30", "T3" ], [ "T3(s)", "VALUE: ", "T3(s)" ], [ "T3(m)", "VALUE: ", "T3(m)" ], [ "T3NOS", "VALUE:39", "T3 NOS" ], [ "T3a", "VALUE:31", "T3a" ], [ "T3b", "VALUE:32", "T3b" ], [ "T3c", "VALUE:33", "T3c" ], [ "T3d", "VALUE: ", "T3d" ], [ "T4", "VALUE:40", "T4" ], [ "T4NOS", "VALUE:49", "T4 NOS" ], [ "T4NOS(s)", "VALUE: ", "T4 NOS(s)" ], [ "T4NOS(m)", "VALUE: ", "T4 NOS(m)" ], [ "T4a", "VALUE:41", "T4a" ], [ "T4a(s)", "VALUE: ", "T4a(s)" ], [ "T4a(m)", "VALUE: ", "T4a(m)" ], [ "T4b", "VALUE:42", "T4b" ], [ "T4b(s)", "VALUE: ", "T4b(s)" ], [ "T4b(m)", "VALUE: ", "T4b(m)" ], [ "T4c", "VALUE:43", "T4c" ], [ "T4d", "VALUE:44", "T4d" ], [ "T4e", "VALUE: ", "T4e" ], [ "T1aNOS", "VALUE:80", "T1a NOS" ], [ "T1bNOS", "VALUE:81", "T1b NOS" ], [ "NA", "VALUE:88", "Not applicable" ], [ "*", "VALUE: ", "Error" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_year_validation.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_year_validation.json deleted file mode 100644 index 2f22adc7b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc6_year_validation.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ajcc6_year_validation", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC 6 Year Validation", - "title" : "AJCC 6 Year Validation", - "last_modified" : "2015-05-27T16:18:52.091Z", - "definition" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - } ], - "rows" : [ [ "2004-{{ctx_year_current}}", "*" ], [ "", "020500-999999,020440,020302,020200,020100,020001,010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tab.json deleted file mode 100644 index ae65cbfb5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tab.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.139Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8800-8820" ], [ "8823-8934" ], [ "8940-9136" ], [ "9142-9582" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tae.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tae.json deleted file mode 100644 index b6a84bc53..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tae.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tae", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.184Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8940-8950" ], [ "8971" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpa.json deleted file mode 100644 index 9e768e91d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpa.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.235Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8720-8790" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpb.json deleted file mode 100644 index 8e46d531f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpb.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.281Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8940-8950" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpc.json deleted file mode 100644 index 6bb151b10..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpc.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.327Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8152" ], [ "8154-8231" ], [ "8243-8245" ], [ "8247" ], [ "8248" ], [ "8250-8576" ], [ "8940-8950" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpe.json deleted file mode 100644 index 29de30c36..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpe.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.375Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8152" ], [ "8154-8231" ], [ "8243-8245" ], [ "8250-8576" ], [ "8940-8950" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpf.json deleted file mode 100644 index e0ad3d2ea..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpf.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.420Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "9050-9053" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpg.json deleted file mode 100644 index 1043e5abc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpg.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.468Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8940-8950" ], [ "8980-8981" ], [ "9020" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tph.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tph.json deleted file mode 100644 index a2ba7827f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tph.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tph", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.512Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8800-8801" ], [ "8940-8950" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpi.json deleted file mode 100644 index 8ff504050..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpi.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.557Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "9100-9105" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpj.json deleted file mode 100644 index 650216d0d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpj.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.599Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8590-8670" ], [ "8940-8950" ], [ "8980-8981" ], [ "9060-9090" ], [ "9100-9105" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpk.json deleted file mode 100644 index 770bd05b7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpk.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.646Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "C692", "9510-9514" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpl.json deleted file mode 100644 index 92b7f5015..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpl.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.689Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "9590-9699" ], [ "9702-9738" ], [ "9811-9818" ], [ "9820-9837" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpm.json deleted file mode 100644 index 3235ae91d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpm.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.733Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8153" ], [ "8240-8242" ], [ "8246" ], [ "8249" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpn.json deleted file mode 100644 index 4481b96e3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpn.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.778Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "C220", "8170-8175" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpo.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpo.json deleted file mode 100644 index 1ffa1335c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpo.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.823Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8935-8936" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpp.json deleted file mode 100644 index 655800750..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpp.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.872Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8800-8936" ], [ "8940-9136" ], [ "9141-9508" ], [ "9520-9582" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpq.json deleted file mode 100644 index e20bdf139..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpq.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.917Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8246" ], [ "8248-8576" ], [ "8940-8950" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpr.json deleted file mode 100644 index fbfaf0c4f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpr.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:52.959Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "9590-9699" ], [ "9702-9729" ], [ "9735" ], [ "9737" ], [ "9738" ], [ "9811-9818" ], [ "9823" ], [ "9827" ], [ "9837" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tps.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tps.json deleted file mode 100644 index 8008a4b7e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tps.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tps", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.002Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8800-8820" ], [ "8823-8935" ], [ "8940-9136" ], [ "9142-9582" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpt.json deleted file mode 100644 index 06ff7a7e9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpt.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.059Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "C221", "8160" ], [ "C221", "8161" ], [ "C221", "8180" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpv.json deleted file mode 100644 index e77e0b48f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpv.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.112Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8110" ], [ "8140-8576" ], [ "8940-8950" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpw.json deleted file mode 100644 index edc3c9a18..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpw.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.158Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "9700-9701" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpx.json deleted file mode 100644 index 2849eee1b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpx.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.205Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8590-8671" ], [ "8930-9110" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpy.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpy.json deleted file mode 100644 index 2243f7042..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpy.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.252Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8800-9136" ], [ "9142-9582" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpz.json deleted file mode 100644 index 3e31d9cc4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tpz.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tpz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "notes" : "**Note**: For Peritoneum, this table is for males only. For females and site C481-C482, C488, the histologies are 8800-8820,8823-8921,9120-9136,9142-9582 because the other histologies are in PeritoneumFemaleGen.", - "last_modified" : "2015-05-27T16:18:53.298Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8800-8820" ], [ "8823-8934" ], [ "8940-9136" ], [ "9142-9582" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqa.json deleted file mode 100644 index d50320cb9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqa.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tqa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.344Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8590-8671" ], [ "8930-8934" ], [ "8940-9110" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqb.json deleted file mode 100644 index efc43559a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqb.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tqb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.387Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8247" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqc.json deleted file mode 100644 index 8e730a7b2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqc.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tqc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.443Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "C740", "8010" ], [ "C740", "8140" ], [ "C740", "8370" ], [ "C749", "8370" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqf.json deleted file mode 100644 index 00b99447b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqf.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tqf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.495Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000" ], [ "8680-9136" ], [ "9141-9582" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqg.json deleted file mode 100644 index 296c6d63b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqg.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tqg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.553Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8790" ], [ "8950" ], [ "8951" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqh.json deleted file mode 100644 index 74f4a3eb0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqh.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tqh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.685Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8933" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqi.json deleted file mode 100644 index 0d0a197bc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqi.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tqi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.732Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8800" ], [ "8890-8898" ], [ "8900-8921" ], [ "8930-8931" ], [ "8935" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqj.json deleted file mode 100644 index a015d6fb8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqj.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tqj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.782Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8152" ], [ "8154-8231" ], [ "8243-8245" ], [ "8247" ], [ "8248" ], [ "8250-8576" ], [ "8940-8950" ], [ "8980-8990" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqk.json deleted file mode 100644 index 21398d67d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqk.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tqk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.827Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "C170,C171,C172,C178,C179", "8000-8152" ], [ "C170,C171,C172,C178,C179", "8154-8231" ], [ "C170,C171,C172,C178,C179", "8243-8245" ], [ "C170,C171,C172,C178,C179", "8247" ], [ "C170,C171,C172,C178,C179", "8248" ], [ "C170,C171,C172,C178,C179", "8250-8576" ], [ "C170,C171,C172,C178,C179", "8940-8950" ], [ "C170,C171,C172,C178,C179", "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tql.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tql.json deleted file mode 100644 index 14f20340a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tql.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tql", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.879Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "C170,C171,C172,C178,C179", "8935-8936" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqm.json deleted file mode 100644 index 029cd8a3b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqm.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tqm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed.", - "last_modified" : "2015-05-27T16:18:53.926Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "C328, C329", "8000-8576" ], [ "C328, C329", "8940-8950" ], [ "C328, C329", "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqn.json deleted file mode 100644 index 8cce406fd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_inclusions_tqn.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "ajcc7_inclusions_tqn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Inclusions", - "title" : "Histology Inclusion Table AJCC 7th ed. new", - "last_modified" : "2015-05-27T16:18:53.972Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8940-8950" ], [ "8980-8982" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_m_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_m_codes.json deleted file mode 100644 index f4b6007dd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_m_codes.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ajcc7_m_codes", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC 7 M Codes", - "title" : "AJCC 7 M Allowable Codes", - "last_modified" : "2015-05-27T16:18:54.021Z", - "definition" : [ { - "key" : "ajcc7_m", - "name" : "Display String", - "type" : "INPUT" - }, { - "key" : "stor_ajcc7_m", - "name" : "AJCC7 Storage Code", - "type" : "ENDPOINT" - }, { - "key" : "comments", - "name" : "Comments", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "MX", "VALUE:999", "MX" ], [ "M0", "VALUE:000", "M0" ], [ "M0(i+)", "VALUE:010", "M0(i+)" ], [ "M1", "VALUE:100", "M1" ], [ "M1a", "VALUE:110", "M1a" ], [ "M1b", "VALUE:120", "M1b" ], [ "M1c", "VALUE:130", "M1c" ], [ "M1d", "VALUE:140", "M1d" ], [ "M1e", "VALUE:150", "M1e" ], [ "M1NOS", "VALUE:199", "M1 NOS" ], [ "NA", "VALUE:888", "Not applicable" ], [ "*", "VALUE: ", "Error" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_n_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_n_codes.json deleted file mode 100644 index 2130c4f8c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_n_codes.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ajcc7_n_codes", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC 7 N Codes", - "title" : "AJCC 7 N Allowable Codes", - "last_modified" : "2015-05-27T16:18:54.078Z", - "definition" : [ { - "key" : "ajcc7_n", - "name" : "Display String", - "type" : "INPUT" - }, { - "key" : "stor_ajcc7_n", - "name" : "AJCC7 Storage Code", - "type" : "ENDPOINT" - }, { - "key" : "comments", - "name" : "Comments", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "NX", "VALUE:999", "NX" ], [ "N0", "VALUE:000", "N0" ], [ "N0(i-)", "VALUE:010", "N0(i-)" ], [ "N0(i+)", "VALUE:020", "N0(i+)" ], [ "N0(mol-)", "VALUE:030", "N0(mol-)" ], [ "N0(mol+)", "VALUE:040", "N0(mol+)" ], [ "N1", "VALUE:100", "N1" ], [ "N1NOS", "VALUE:199", "N1 NOS" ], [ "N1a", "VALUE:110", "N1a" ], [ "N1b", "VALUE:120", "N1b" ], [ "N1c", "VALUE:130", "N1c" ], [ "N1mi", "VALUE:180", "N1mi" ], [ "N2", "VALUE:200", "N2" ], [ "N2NOS", "VALUE:299", "N2 NOS" ], [ "N2a", "VALUE:210", "N2a" ], [ "N2b", "VALUE:220", "N2b" ], [ "N2c", "VALUE:230", "N2c" ], [ "N3", "VALUE:300", "N3" ], [ "N3NOS", "VALUE:399", "N3 NOS" ], [ "N3a", "VALUE:310", "N3a" ], [ "N3b", "VALUE:320", "N3b" ], [ "N3c", "VALUE:330", "N3c" ], [ "N4", "VALUE:400", "N4" ], [ "NA", "VALUE:888", "Not applicable" ], [ "*", "VALUE: ", "Error" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_codes.json deleted file mode 100644 index d57f58c2e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_codes.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ajcc7_stage_codes", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC 7 Stage Codes", - "title" : "AJCC 7 Stage Allowable Codes", - "last_modified" : "2015-05-27T16:18:54.126Z", - "definition" : [ { - "key" : "ajcc7_stage", - "name" : "Display String", - "type" : "INPUT" - }, { - "key" : "stor_ajcc7_stage", - "name" : "AJCC7 Storage Code", - "type" : "ENDPOINT" - }, { - "key" : "comments", - "name" : "Comments", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "VALUE:000", "Stage 0" ], [ "0a", "VALUE:010", "Stage 0a" ], [ "0is", "VALUE:020", "Stage 0is" ], [ "I", "VALUE:100", "Stage I" ], [ "INOS", "VALUE:110", "Stage I NOS" ], [ "IA", "VALUE:120", "Stage IA" ], [ "IA1", "VALUE:130", "Stage IA1" ], [ "IA2", "VALUE:140", "Stage IA2" ], [ "IANOS", "VALUE:121", "Stage IA NOS" ], [ "IB", "VALUE:150", "Stage IB" ], [ "IB1", "VALUE:160", "Stage IB1" ], [ "IB2", "VALUE:170", "Stage IB2" ], [ "IBNOS", "VALUE:151", "Stage IB NOS" ], [ "IC", "VALUE:180", "Stage IC" ], [ "IS", "VALUE:190", "Stage IS" ], [ "ISA", "VALUE:230", "Stage ISA (lymphoma only)" ], [ "ISB", "VALUE:240", "Stage ISB (lymphoma only)" ], [ "IEA", "VALUE:200", "Stage IEA (lymphoma only)" ], [ "IEB", "VALUE:210", "Stage IEB (lymphoma only)" ], [ "IE", "VALUE:220", "Stage IE (lymphoma only)" ], [ "II", "VALUE:300", "Stage II" ], [ "IINOS", "VALUE:310", "Stage II NOS" ], [ "IIA", "VALUE:320", "Stage IIA" ], [ "IIANOS", "VALUE:321", "Stage IIA NOS" ], [ "IIA1", "VALUE:322", "Stage IIA1" ], [ "IIA2", "VALUE:323", "Stage IIA2" ], [ "IIB", "VALUE:330", "Stage IIB" ], [ "IIC", "VALUE:340", "Stage IIC" ], [ "IIEA", "VALUE:350", "Stage IIEA (lymphoma only)" ], [ "IIEB", "VALUE:360", "Stage IIEB (lymphoma only)" ], [ "IIE", "VALUE:370", "Stage IIE (lymphoma only)" ], [ "IISA", "VALUE:380", "Stage IISA (lymphoma only)" ], [ "IISB", "VALUE:390", "Stage IISB (lymphoma only)" ], [ "IIS", "VALUE:400", "Stage IIS (lymphoma only)" ], [ "IIESA", "VALUE:410", "Stage IIESA (lymphoma only)" ], [ "IIESB", "VALUE:420", "Stage IIESB (lymphoma only)" ], [ "IIES", "VALUE:430", "Stage IIES (lymphoma only)" ], [ "III", "VALUE:500", "Stage III" ], [ "IIINOS", "VALUE:510", "Stage III NOS" ], [ "IIIA", "VALUE:520", "Stage IIIA" ], [ "IIIB", "VALUE:530", "Stage IIIB" ], [ "IIIC", "VALUE:540", "Stage IIIC" ], [ "IIIC1", "VALUE:541", "Stage IIIC1" ], [ "IIIC2", "VALUE:542", "Stage IIIC2" ], [ "IIIEA", "VALUE:550", "Stage IIIEA (lymphoma only)" ], [ "IIIEB", "VALUE:560", "Stage IIIEB (lymphoma only)" ], [ "IIIE", "VALUE:570", "Stage IIIE (lymphoma only)" ], [ "IIISA", "VALUE:580", "Stage IIISA (lymphoma only)" ], [ "IIISB", "VALUE:590", "Stage IIISB (lymphoma only)" ], [ "IIIS", "VALUE:600", "Stage IIIS (lymphoma only)" ], [ "IIIESA", "VALUE:610", "Stage IIIESA (lymphoma only)" ], [ "IIIESB", "VALUE:620", "Stage IIIESB (lymphoma only)" ], [ "IIIES", "VALUE:630", "Stage IIIES (lymphoma only)" ], [ "IV", "VALUE:700", "Stage IV" ], [ "IVNOS", "VALUE:710", "Stage IV NOS" ], [ "IVA", "VALUE:720", "Stage IVA" ], [ "IVA1", "VALUE:721", "Stage IVA1" ], [ "IVA2", "VALUE:722", "Stage IVA2" ], [ "IVB", "VALUE:730", "Stage IVB" ], [ "IVC", "VALUE:740", "Stage IVC" ], [ "NA", "VALUE:888", "Not applicable" ], [ "OCCULT", "VALUE:900", "Stage Occult" ], [ "UNK", "VALUE:999", "Stage Unknown" ], [ "*", "VALUE: ", "Error" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_not_ewing_ube.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_not_ewing_ube.json deleted file mode 100644 index bf9bf45ac..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_not_ewing_ube.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc7_stage_not_ewing_ube", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage Not Ewing", - "last_modified" : "2015-05-27T16:18:54.182Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "1", "ERROR:" ], [ "T0", "N0", "M0", "2", "ERROR:" ], [ "T0", "N0", "M0", "3", "ERROR:" ], [ "T0", "N0", "M0", "4", "ERROR:" ], [ "T0", "N0", "M0", "9", "ERROR:" ], [ "T0", "N1", "M0", "1", "VALUE:IVB" ], [ "T0", "N1", "M0", "2", "VALUE:IVB" ], [ "T0", "N1", "M0", "3", "VALUE:IVB" ], [ "T0", "N1", "M0", "4", "VALUE:IVB" ], [ "T0", "N1", "M0", "9", "VALUE:IVB" ], [ "T0", "NX", "M0", "1", "ERROR:" ], [ "T0", "NX", "M0", "2", "ERROR:" ], [ "T0", "NX", "M0", "3", "ERROR:" ], [ "T0", "NX", "M0", "4", "ERROR:" ], [ "T0", "NX", "M0", "9", "ERROR:" ], [ "T1", "N0", "M0", "1", "VALUE:IA" ], [ "T1", "N0", "M0", "2", "VALUE:IA" ], [ "T1", "N0", "M0", "3", "VALUE:IIA" ], [ "T1", "N0", "M0", "4", "VALUE:IIA" ], [ "T1", "N0", "M0", "9", "VALUE:IA" ], [ "T1", "N1", "M0", "1", "VALUE:IVB" ], [ "T1", "N1", "M0", "2", "VALUE:IVB" ], [ "T1", "N1", "M0", "3", "VALUE:IVB" ], [ "T1", "N1", "M0", "4", "VALUE:IVB" ], [ "T1", "N1", "M0", "9", "VALUE:IVB" ], [ "T1", "NX", "M0", "1", "VALUE:IA" ], [ "T1", "NX", "M0", "2", "VALUE:IA" ], [ "T1", "NX", "M0", "3", "VALUE:IIA" ], [ "T1", "NX", "M0", "4", "VALUE:IIA" ], [ "T1", "NX", "M0", "9", "VALUE:IA" ], [ "T2", "N0", "M0", "1", "VALUE:IB" ], [ "T2", "N0", "M0", "2", "VALUE:IB" ], [ "T2", "N0", "M0", "3", "VALUE:IIB" ], [ "T2", "N0", "M0", "4", "VALUE:IIB" ], [ "T2", "N0", "M0", "9", "VALUE:IB" ], [ "T2", "N1", "M0", "1", "VALUE:IVB" ], [ "T2", "N1", "M0", "2", "VALUE:IVB" ], [ "T2", "N1", "M0", "3", "VALUE:IVB" ], [ "T2", "N1", "M0", "4", "VALUE:IVB" ], [ "T2", "N1", "M0", "9", "VALUE:IVB" ], [ "T2", "NX", "M0", "1", "VALUE:IB" ], [ "T2", "NX", "M0", "2", "VALUE:IB" ], [ "T2", "NX", "M0", "3", "VALUE:IIB" ], [ "T2", "NX", "M0", "4", "VALUE:IIB" ], [ "T2", "NX", "M0", "9", "VALUE:IB" ], [ "T3", "N0", "M0", "1", "VALUE:IB" ], [ "T3", "N0", "M0", "2", "VALUE:IB" ], [ "T3", "N0", "M0", "3", "VALUE:III" ], [ "T3", "N0", "M0", "4", "VALUE:III" ], [ "T3", "N0", "M0", "9", "VALUE:IB" ], [ "T3", "N1", "M0", "1", "VALUE:IVB" ], [ "T3", "N1", "M0", "2", "VALUE:IVB" ], [ "T3", "N1", "M0", "3", "VALUE:IVB" ], [ "T3", "N1", "M0", "4", "VALUE:IVB" ], [ "T3", "N1", "M0", "9", "VALUE:IVB" ], [ "T3", "NX", "M0", "1", "VALUE:IB" ], [ "T3", "NX", "M0", "2", "VALUE:IB" ], [ "T3", "NX", "M0", "3", "VALUE:III" ], [ "T3", "NX", "M0", "4", "VALUE:III" ], [ "T3", "NX", "M0", "9", "VALUE:IB" ], [ "TX", "N0", "M0", "1", "VALUE:UNK" ], [ "TX", "N0", "M0", "2", "VALUE:UNK" ], [ "TX", "N0", "M0", "3", "VALUE:UNK" ], [ "TX", "N0", "M0", "4", "VALUE:UNK" ], [ "TX", "N0", "M0", "9", "VALUE:UNK" ], [ "TX", "N1", "M0", "1", "VALUE:IVB" ], [ "TX", "N1", "M0", "2", "VALUE:IVB" ], [ "TX", "N1", "M0", "3", "VALUE:IVB" ], [ "TX", "N1", "M0", "4", "VALUE:IVB" ], [ "TX", "N1", "M0", "9", "VALUE:IVB" ], [ "TX", "NX", "M0", "1", "VALUE:UNK" ], [ "TX", "NX", "M0", "2", "VALUE:UNK" ], [ "TX", "NX", "M0", "3", "VALUE:UNK" ], [ "TX", "NX", "M0", "4", "VALUE:UNK" ], [ "TX", "NX", "M0", "9", "VALUE:UNK" ], [ "T0", "N0", "M1a", "1", "VALUE:IVA" ], [ "T0", "N0", "M1a", "2", "VALUE:IVA" ], [ "T0", "N0", "M1a", "3", "VALUE:IVA" ], [ "T0", "N0", "M1a", "4", "VALUE:IVA" ], [ "T0", "N0", "M1a", "9", "VALUE:IVA" ], [ "T0", "N1", "M1a", "1", "VALUE:IVB" ], [ "T0", "N1", "M1a", "2", "VALUE:IVB" ], [ "T0", "N1", "M1a", "3", "VALUE:IVB" ], [ "T0", "N1", "M1a", "4", "VALUE:IVB" ], [ "T0", "N1", "M1a", "9", "VALUE:IVB" ], [ "T0", "NX", "M1a", "1", "VALUE:IVA" ], [ "T0", "NX", "M1a", "2", "VALUE:IVA" ], [ "T0", "NX", "M1a", "3", "VALUE:IVA" ], [ "T0", "NX", "M1a", "4", "VALUE:IVA" ], [ "T0", "NX", "M1a", "9", "VALUE:IVA" ], [ "T1", "N0", "M1a", "1", "VALUE:IVA" ], [ "T1", "N0", "M1a", "2", "VALUE:IVA" ], [ "T1", "N0", "M1a", "3", "VALUE:IVA" ], [ "T1", "N0", "M1a", "4", "VALUE:IVA" ], [ "T1", "N0", "M1a", "9", "VALUE:IVA" ], [ "T1", "N1", "M1a", "1", "VALUE:IVB" ], [ "T1", "N1", "M1a", "2", "VALUE:IVB" ], [ "T1", "N1", "M1a", "3", "VALUE:IVB" ], [ "T1", "N1", "M1a", "4", "VALUE:IVB" ], [ "T1", "N1", "M1a", "9", "VALUE:IVB" ], [ "T1", "NX", "M1a", "1", "VALUE:IVA" ], [ "T1", "NX", "M1a", "2", "VALUE:IVA" ], [ "T1", "NX", "M1a", "3", "VALUE:IVA" ], [ "T1", "NX", "M1a", "4", "VALUE:IVA" ], [ "T1", "NX", "M1a", "9", "VALUE:IVA" ], [ "T2", "N0", "M1a", "1", "VALUE:IVA" ], [ "T2", "N0", "M1a", "2", "VALUE:IVA" ], [ "T2", "N0", "M1a", "3", "VALUE:IVA" ], [ "T2", "N0", "M1a", "4", "VALUE:IVA" ], [ "T2", "N0", "M1a", "9", "VALUE:IVA" ], [ "T2", "N1", "M1a", "1", "VALUE:IVB" ], [ "T2", "N1", "M1a", "2", "VALUE:IVB" ], [ "T2", "N1", "M1a", "3", "VALUE:IVB" ], [ "T2", "N1", "M1a", "4", "VALUE:IVB" ], [ "T2", "N1", "M1a", "9", "VALUE:IVB" ], [ "T2", "NX", "M1a", "1", "VALUE:IVA" ], [ "T2", "NX", "M1a", "2", "VALUE:IVA" ], [ "T2", "NX", "M1a", "3", "VALUE:IVA" ], [ "T2", "NX", "M1a", "4", "VALUE:IVA" ], [ "T2", "NX", "M1a", "9", "VALUE:IVA" ], [ "T3", "N0", "M1a", "1", "VALUE:IVA" ], [ "T3", "N0", "M1a", "2", "VALUE:IVA" ], [ "T3", "N0", "M1a", "3", "VALUE:IVA" ], [ "T3", "N0", "M1a", "4", "VALUE:IVA" ], [ "T3", "N0", "M1a", "9", "VALUE:IVA" ], [ "T3", "N1", "M1a", "1", "VALUE:IVB" ], [ "T3", "N1", "M1a", "2", "VALUE:IVB" ], [ "T3", "N1", "M1a", "3", "VALUE:IVB" ], [ "T3", "N1", "M1a", "4", "VALUE:IVB" ], [ "T3", "N1", "M1a", "9", "VALUE:IVB" ], [ "T3", "NX", "M1a", "1", "VALUE:IVA" ], [ "T3", "NX", "M1a", "2", "VALUE:IVA" ], [ "T3", "NX", "M1a", "3", "VALUE:IVA" ], [ "T3", "NX", "M1a", "4", "VALUE:IVA" ], [ "T3", "NX", "M1a", "9", "VALUE:IVA" ], [ "TX", "N0", "M1a", "1", "VALUE:IVA" ], [ "TX", "N0", "M1a", "2", "VALUE:IVA" ], [ "TX", "N0", "M1a", "3", "VALUE:IVA" ], [ "TX", "N0", "M1a", "4", "VALUE:IVA" ], [ "TX", "N0", "M1a", "9", "VALUE:IVA" ], [ "TX", "N1", "M1a", "1", "VALUE:IVB" ], [ "TX", "N1", "M1a", "2", "VALUE:IVB" ], [ "TX", "N1", "M1a", "3", "VALUE:IVB" ], [ "TX", "N1", "M1a", "4", "VALUE:IVB" ], [ "TX", "N1", "M1a", "9", "VALUE:IVB" ], [ "TX", "NX", "M1a", "1", "VALUE:IVA" ], [ "TX", "NX", "M1a", "2", "VALUE:IVA" ], [ "TX", "NX", "M1a", "3", "VALUE:IVA" ], [ "TX", "NX", "M1a", "4", "VALUE:IVA" ], [ "TX", "NX", "M1a", "9", "VALUE:IVA" ], [ "T0", "N0", "M1b", "1", "VALUE:IVB" ], [ "T0", "N0", "M1b", "2", "VALUE:IVB" ], [ "T0", "N0", "M1b", "3", "VALUE:IVB" ], [ "T0", "N0", "M1b", "4", "VALUE:IVB" ], [ "T0", "N0", "M1b", "9", "VALUE:IVB" ], [ "T0", "N1", "M1b", "1", "VALUE:IVB" ], [ "T0", "N1", "M1b", "2", "VALUE:IVB" ], [ "T0", "N1", "M1b", "3", "VALUE:IVB" ], [ "T0", "N1", "M1b", "4", "VALUE:IVB" ], [ "T0", "N1", "M1b", "9", "VALUE:IVB" ], [ "T0", "NX", "M1b", "1", "VALUE:IVB" ], [ "T0", "NX", "M1b", "2", "VALUE:IVB" ], [ "T0", "NX", "M1b", "3", "VALUE:IVB" ], [ "T0", "NX", "M1b", "4", "VALUE:IVB" ], [ "T0", "NX", "M1b", "9", "VALUE:IVB" ], [ "T1", "N0", "M1b", "1", "VALUE:IVB" ], [ "T1", "N0", "M1b", "2", "VALUE:IVB" ], [ "T1", "N0", "M1b", "3", "VALUE:IVB" ], [ "T1", "N0", "M1b", "4", "VALUE:IVB" ], [ "T1", "N0", "M1b", "9", "VALUE:IVB" ], [ "T1", "N1", "M1b", "1", "VALUE:IVB" ], [ "T1", "N1", "M1b", "2", "VALUE:IVB" ], [ "T1", "N1", "M1b", "3", "VALUE:IVB" ], [ "T1", "N1", "M1b", "4", "VALUE:IVB" ], [ "T1", "N1", "M1b", "9", "VALUE:IVB" ], [ "T1", "NX", "M1b", "1", "VALUE:IVB" ], [ "T1", "NX", "M1b", "2", "VALUE:IVB" ], [ "T1", "NX", "M1b", "3", "VALUE:IVB" ], [ "T1", "NX", "M1b", "4", "VALUE:IVB" ], [ "T1", "NX", "M1b", "9", "VALUE:IVB" ], [ "T2", "N0", "M1b", "1", "VALUE:IVB" ], [ "T2", "N0", "M1b", "2", "VALUE:IVB" ], [ "T2", "N0", "M1b", "3", "VALUE:IVB" ], [ "T2", "N0", "M1b", "4", "VALUE:IVB" ], [ "T2", "N0", "M1b", "9", "VALUE:IVB" ], [ "T2", "N1", "M1b", "1", "VALUE:IVB" ], [ "T2", "N1", "M1b", "2", "VALUE:IVB" ], [ "T2", "N1", "M1b", "3", "VALUE:IVB" ], [ "T2", "N1", "M1b", "4", "VALUE:IVB" ], [ "T2", "N1", "M1b", "9", "VALUE:IVB" ], [ "T2", "NX", "M1b", "1", "VALUE:IVB" ], [ "T2", "NX", "M1b", "2", "VALUE:IVB" ], [ "T2", "NX", "M1b", "3", "VALUE:IVB" ], [ "T2", "NX", "M1b", "4", "VALUE:IVB" ], [ "T2", "NX", "M1b", "9", "VALUE:IVB" ], [ "T3", "N0", "M1b", "1", "VALUE:IVB" ], [ "T3", "N0", "M1b", "2", "VALUE:IVB" ], [ "T3", "N0", "M1b", "3", "VALUE:IVB" ], [ "T3", "N0", "M1b", "4", "VALUE:IVB" ], [ "T3", "N0", "M1b", "9", "VALUE:IVB" ], [ "T3", "N1", "M1b", "1", "VALUE:IVB" ], [ "T3", "N1", "M1b", "2", "VALUE:IVB" ], [ "T3", "N1", "M1b", "3", "VALUE:IVB" ], [ "T3", "N1", "M1b", "4", "VALUE:IVB" ], [ "T3", "N1", "M1b", "9", "VALUE:IVB" ], [ "T3", "NX", "M1b", "1", "VALUE:IVB" ], [ "T3", "NX", "M1b", "2", "VALUE:IVB" ], [ "T3", "NX", "M1b", "3", "VALUE:IVB" ], [ "T3", "NX", "M1b", "4", "VALUE:IVB" ], [ "T3", "NX", "M1b", "9", "VALUE:IVB" ], [ "TX", "N0", "M1b", "1", "VALUE:IVB" ], [ "TX", "N0", "M1b", "2", "VALUE:IVB" ], [ "TX", "N0", "M1b", "3", "VALUE:IVB" ], [ "TX", "N0", "M1b", "4", "VALUE:IVB" ], [ "TX", "N0", "M1b", "9", "VALUE:IVB" ], [ "TX", "N1", "M1b", "1", "VALUE:IVB" ], [ "TX", "N1", "M1b", "2", "VALUE:IVB" ], [ "TX", "N1", "M1b", "3", "VALUE:IVB" ], [ "TX", "N1", "M1b", "4", "VALUE:IVB" ], [ "TX", "N1", "M1b", "9", "VALUE:IVB" ], [ "TX", "NX", "M1b", "1", "VALUE:IVB" ], [ "TX", "NX", "M1b", "2", "VALUE:IVB" ], [ "TX", "NX", "M1b", "3", "VALUE:IVB" ], [ "TX", "NX", "M1b", "4", "VALUE:IVB" ], [ "TX", "NX", "M1b", "9", "VALUE:IVB" ], [ "T0", "N0", "M1NOS", "1", "VALUE:IVNOS" ], [ "T0", "N0", "M1NOS", "2", "VALUE:IVNOS" ], [ "T0", "N0", "M1NOS", "3", "VALUE:IVNOS" ], [ "T0", "N0", "M1NOS", "4", "VALUE:IVNOS" ], [ "T0", "N0", "M1NOS", "9", "VALUE:IVNOS" ], [ "T0", "N1", "M1NOS", "1", "VALUE:IVB" ], [ "T0", "N1", "M1NOS", "2", "VALUE:IVB" ], [ "T0", "N1", "M1NOS", "3", "VALUE:IVB" ], [ "T0", "N1", "M1NOS", "4", "VALUE:IVB" ], [ "T0", "N1", "M1NOS", "9", "VALUE:IVB" ], [ "T0", "NX", "M1NOS", "1", "VALUE:IVNOS" ], [ "T0", "NX", "M1NOS", "2", "VALUE:IVNOS" ], [ "T0", "NX", "M1NOS", "3", "VALUE:IVNOS" ], [ "T0", "NX", "M1NOS", "4", "VALUE:IVNOS" ], [ "T0", "NX", "M1NOS", "9", "VALUE:IVNOS" ], [ "T1", "N0", "M1NOS", "1", "VALUE:IVNOS" ], [ "T1", "N0", "M1NOS", "2", "VALUE:IVNOS" ], [ "T1", "N0", "M1NOS", "3", "VALUE:IVNOS" ], [ "T1", "N0", "M1NOS", "4", "VALUE:IVNOS" ], [ "T1", "N0", "M1NOS", "9", "VALUE:IVNOS" ], [ "T1", "N1", "M1NOS", "1", "VALUE:IVB" ], [ "T1", "N1", "M1NOS", "2", "VALUE:IVB" ], [ "T1", "N1", "M1NOS", "3", "VALUE:IVB" ], [ "T1", "N1", "M1NOS", "4", "VALUE:IVB" ], [ "T1", "N1", "M1NOS", "9", "VALUE:IVB" ], [ "T1", "NX", "M1NOS", "1", "VALUE:IVNOS" ], [ "T1", "NX", "M1NOS", "2", "VALUE:IVNOS" ], [ "T1", "NX", "M1NOS", "3", "VALUE:IVNOS" ], [ "T1", "NX", "M1NOS", "4", "VALUE:IVNOS" ], [ "T1", "NX", "M1NOS", "9", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "1", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "2", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "3", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "4", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "9", "VALUE:IVNOS" ], [ "T2", "N1", "M1NOS", "1", "VALUE:IVB" ], [ "T2", "N1", "M1NOS", "2", "VALUE:IVB" ], [ "T2", "N1", "M1NOS", "3", "VALUE:IVB" ], [ "T2", "N1", "M1NOS", "4", "VALUE:IVB" ], [ "T2", "N1", "M1NOS", "9", "VALUE:IVB" ], [ "T2", "NX", "M1NOS", "1", "VALUE:IVNOS" ], [ "T2", "NX", "M1NOS", "2", "VALUE:IVNOS" ], [ "T2", "NX", "M1NOS", "3", "VALUE:IVNOS" ], [ "T2", "NX", "M1NOS", "4", "VALUE:IVNOS" ], [ "T2", "NX", "M1NOS", "9", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "1", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "2", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "3", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "4", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "9", "VALUE:IVNOS" ], [ "T3", "N1", "M1NOS", "1", "VALUE:IVB" ], [ "T3", "N1", "M1NOS", "2", "VALUE:IVB" ], [ "T3", "N1", "M1NOS", "3", "VALUE:IVB" ], [ "T3", "N1", "M1NOS", "4", "VALUE:IVB" ], [ "T3", "N1", "M1NOS", "9", "VALUE:IVB" ], [ "T3", "NX", "M1NOS", "1", "VALUE:IVNOS" ], [ "T3", "NX", "M1NOS", "2", "VALUE:IVNOS" ], [ "T3", "NX", "M1NOS", "3", "VALUE:IVNOS" ], [ "T3", "NX", "M1NOS", "4", "VALUE:IVNOS" ], [ "T3", "NX", "M1NOS", "9", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "1", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "2", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "3", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "4", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "9", "VALUE:IVNOS" ], [ "TX", "N1", "M1NOS", "1", "VALUE:IVB" ], [ "TX", "N1", "M1NOS", "2", "VALUE:IVB" ], [ "TX", "N1", "M1NOS", "3", "VALUE:IVB" ], [ "TX", "N1", "M1NOS", "4", "VALUE:IVB" ], [ "TX", "N1", "M1NOS", "9", "VALUE:IVB" ], [ "TX", "NX", "M1NOS", "1", "VALUE:IVNOS" ], [ "TX", "NX", "M1NOS", "2", "VALUE:IVNOS" ], [ "TX", "NX", "M1NOS", "3", "VALUE:IVNOS" ], [ "TX", "NX", "M1NOS", "4", "VALUE:IVNOS" ], [ "TX", "NX", "M1NOS", "9", "VALUE:IVNOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaa.json deleted file mode 100644 index bc6d3a4ba..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaa.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uaa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:54.310Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ajcc7_stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:UNK" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:IA" ], [ "T1", "N1", "M0", "VALUE:IIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IB" ], [ "T2", "N1", "M0", "VALUE:IIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIA" ], [ "T3", "N1", "M0", "VALUE:IIB" ], [ "T3", "NX", "M0", "VALUE:IINOS" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uab.json deleted file mode 100644 index 6c3b2de36..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uab.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:54.399Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIINOS" ], [ "T0", "N2", "M0", "VALUE:IIIB" ], [ "T0", "N3", "M0", "VALUE:IIIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IIIA" ], [ "T1", "N2", "M0", "VALUE:IIIB" ], [ "T1", "N3", "M0", "VALUE:IIIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:IIIA" ], [ "T2", "N2", "M0", "VALUE:IIIB" ], [ "T2", "N3", "M0", "VALUE:IIIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:II" ], [ "T3", "N1", "M0", "VALUE:IIIA" ], [ "T3", "N2", "M0", "VALUE:IIIB" ], [ "T3", "N3", "M0", "VALUE:IIIB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IIIA" ], [ "T4", "N1", "M0", "VALUE:IIIB" ], [ "T4", "N2", "M0", "VALUE:IIIB" ], [ "T4", "N3", "M0", "VALUE:IIIB" ], [ "T4", "NX", "M0", "VALUE:IIINOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIINOS" ], [ "TX", "N2", "M0", "VALUE:IIIB" ], [ "TX", "N3", "M0", "VALUE:IIIB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "N3", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "N2", "M1", "VALUE:IV" ], [ "T1", "N3", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2", "M1", "VALUE:IV" ], [ "T2", "N3", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "N3", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "N3", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "N3", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uac.json deleted file mode 100644 index cec9098c4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uac.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:54.473Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N0(i-)", "M0", "ERROR:" ], [ "T0", "N0(i+)", "M0", "ERROR:" ], [ "T0", "N0(mol-)", "M0", "ERROR:" ], [ "T0", "N0(mol+)", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIA" ], [ "T0", "N1a", "M0", "VALUE:IIA" ], [ "T0", "N1b", "M0", "VALUE:IIA" ], [ "T0", "N1c", "M0", "VALUE:IIA" ], [ "T0", "N1mi", "M0", "VALUE:IB" ], [ "T0", "N1NOS", "M0", "VALUE:IIA" ], [ "T0", "N2a", "M0", "VALUE:IIIA" ], [ "T0", "N2b", "M0", "VALUE:IIIA" ], [ "T0", "N2NOS", "M0", "VALUE:IIIA" ], [ "T0", "N3a", "M0", "VALUE:IIIC" ], [ "T0", "N3b", "M0", "VALUE:IIIC" ], [ "T0", "N3c", "M0", "VALUE:IIIC" ], [ "T0", "N3NOS", "M0", "VALUE:IIIC" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N0(i-)", "M0", "VALUE:0" ], [ "Tis", "N0(i+)", "M0", "VALUE:0" ], [ "Tis", "N0(mol-)", "M0", "VALUE:0" ], [ "Tis", "N0(mol+)", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N1a", "M0", "ERROR:" ], [ "Tis", "N1b", "M0", "ERROR:" ], [ "Tis", "N1c", "M0", "ERROR:" ], [ "Tis", "N1mi", "M0", "ERROR:" ], [ "Tis", "N1NOS", "M0", "ERROR:" ], [ "Tis", "N2a", "M0", "ERROR:" ], [ "Tis", "N2b", "M0", "ERROR:" ], [ "Tis", "N2NOS", "M0", "ERROR:" ], [ "Tis", "N3a", "M0", "ERROR:" ], [ "Tis", "N3b", "M0", "ERROR:" ], [ "Tis", "N3c", "M0", "ERROR:" ], [ "Tis", "N3NOS", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1mi", "N0", "M0", "VALUE:IA" ], [ "T1mi", "N0(i-)", "M0", "VALUE:IA" ], [ "T1mi", "N0(i+)", "M0", "VALUE:IA" ], [ "T1mi", "N0(mol-)", "M0", "VALUE:IA" ], [ "T1mi", "N0(mol+)", "M0", "VALUE:IA" ], [ "T1mi", "N1", "M0", "VALUE:IIA" ], [ "T1mi", "N1a", "M0", "VALUE:IIA" ], [ "T1mi", "N1b", "M0", "VALUE:IIA" ], [ "T1mi", "N1c", "M0", "VALUE:IIA" ], [ "T1mi", "N1mi", "M0", "VALUE:IB" ], [ "T1mi", "N1NOS", "M0", "VALUE:IIA" ], [ "T1mi", "N2a", "M0", "VALUE:IIIA" ], [ "T1mi", "N2b", "M0", "VALUE:IIIA" ], [ "T1mi", "N2NOS", "M0", "VALUE:IIIA" ], [ "T1mi", "N3a", "M0", "VALUE:IIIC" ], [ "T1mi", "N3b", "M0", "VALUE:IIIC" ], [ "T1mi", "N3c", "M0", "VALUE:IIIC" ], [ "T1mi", "N3NOS", "M0", "VALUE:IIIC" ], [ "T1mi", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N0(i-)", "M0", "VALUE:IA" ], [ "T1a", "N0(i+)", "M0", "VALUE:IA" ], [ "T1a", "N0(mol-)", "M0", "VALUE:IA" ], [ "T1a", "N0(mol+)", "M0", "VALUE:IA" ], [ "T1a", "N1", "M0", "VALUE:IIA" ], [ "T1a", "N1a", "M0", "VALUE:IIA" ], [ "T1a", "N1b", "M0", "VALUE:IIA" ], [ "T1a", "N1c", "M0", "VALUE:IIA" ], [ "T1a", "N1mi", "M0", "VALUE:IB" ], [ "T1a", "N1NOS", "M0", "VALUE:IIA" ], [ "T1a", "N2a", "M0", "VALUE:IIIA" ], [ "T1a", "N2b", "M0", "VALUE:IIIA" ], [ "T1a", "N2NOS", "M0", "VALUE:IIIA" ], [ "T1a", "N3a", "M0", "VALUE:IIIC" ], [ "T1a", "N3b", "M0", "VALUE:IIIC" ], [ "T1a", "N3c", "M0", "VALUE:IIIC" ], [ "T1a", "N3NOS", "M0", "VALUE:IIIC" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IA" ], [ "T1b", "N0(i-)", "M0", "VALUE:IA" ], [ "T1b", "N0(i+)", "M0", "VALUE:IA" ], [ "T1b", "N0(mol-)", "M0", "VALUE:IA" ], [ "T1b", "N0(mol+)", "M0", "VALUE:IA" ], [ "T1b", "N1", "M0", "VALUE:IIA" ], [ "T1b", "N1a", "M0", "VALUE:IIA" ], [ "T1b", "N1b", "M0", "VALUE:IIA" ], [ "T1b", "N1c", "M0", "VALUE:IIA" ], [ "T1b", "N1mi", "M0", "VALUE:IB" ], [ "T1b", "N1NOS", "M0", "VALUE:IIA" ], [ "T1b", "N2a", "M0", "VALUE:IIIA" ], [ "T1b", "N2b", "M0", "VALUE:IIIA" ], [ "T1b", "N2NOS", "M0", "VALUE:IIIA" ], [ "T1b", "N3a", "M0", "VALUE:IIIC" ], [ "T1b", "N3b", "M0", "VALUE:IIIC" ], [ "T1b", "N3c", "M0", "VALUE:IIIC" ], [ "T1b", "N3NOS", "M0", "VALUE:IIIC" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1c", "N0", "M0", "VALUE:IA" ], [ "T1c", "N0(i-)", "M0", "VALUE:IA" ], [ "T1c", "N0(i+)", "M0", "VALUE:IA" ], [ "T1c", "N0(mol-)", "M0", "VALUE:IA" ], [ "T1c", "N0(mol+)", "M0", "VALUE:IA" ], [ "T1c", "N1", "M0", "VALUE:IIA" ], [ "T1c", "N1a", "M0", "VALUE:IIA" ], [ "T1c", "N1b", "M0", "VALUE:IIA" ], [ "T1c", "N1c", "M0", "VALUE:IIA" ], [ "T1c", "N1mi", "M0", "VALUE:IB" ], [ "T1c", "N1NOS", "M0", "VALUE:IIA" ], [ "T1c", "N2a", "M0", "VALUE:IIIA" ], [ "T1c", "N2b", "M0", "VALUE:IIIA" ], [ "T1c", "N2NOS", "M0", "VALUE:IIIA" ], [ "T1c", "N3a", "M0", "VALUE:IIIC" ], [ "T1c", "N3b", "M0", "VALUE:IIIC" ], [ "T1c", "N3c", "M0", "VALUE:IIIC" ], [ "T1c", "N3NOS", "M0", "VALUE:IIIC" ], [ "T1c", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:IA" ], [ "T1NOS", "N0(i-)", "M0", "VALUE:IA" ], [ "T1NOS", "N0(i+)", "M0", "VALUE:IA" ], [ "T1NOS", "N0(mol-)", "M0", "VALUE:IA" ], [ "T1NOS", "N0(mol+)", "M0", "VALUE:IA" ], [ "T1NOS", "N1", "M0", "VALUE:IIA" ], [ "T1NOS", "N1a", "M0", "VALUE:IIA" ], [ "T1NOS", "N1b", "M0", "VALUE:IIA" ], [ "T1NOS", "N1c", "M0", "VALUE:IIA" ], [ "T1NOS", "N1mi", "M0", "VALUE:IB" ], [ "T1NOS", "N1NOS", "M0", "VALUE:IIA" ], [ "T1NOS", "N2a", "M0", "VALUE:IIIA" ], [ "T1NOS", "N2b", "M0", "VALUE:IIIA" ], [ "T1NOS", "N2NOS", "M0", "VALUE:IIIA" ], [ "T1NOS", "N3a", "M0", "VALUE:IIIC" ], [ "T1NOS", "N3b", "M0", "VALUE:IIIC" ], [ "T1NOS", "N3c", "M0", "VALUE:IIIC" ], [ "T1NOS", "N3NOS", "M0", "VALUE:IIIC" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IIA" ], [ "T2", "N0(i-)", "M0", "VALUE:IIA" ], [ "T2", "N0(i+)", "M0", "VALUE:IIA" ], [ "T2", "N0(mol-)", "M0", "VALUE:IIA" ], [ "T2", "N0(mol+)", "M0", "VALUE:IIA" ], [ "T2", "N1", "M0", "VALUE:IIB" ], [ "T2", "N1a", "M0", "VALUE:IIB" ], [ "T2", "N1b", "M0", "VALUE:IIB" ], [ "T2", "N1c", "M0", "VALUE:IIB" ], [ "T2", "N1mi", "M0", "VALUE:IIB" ], [ "T2", "N1NOS", "M0", "VALUE:IIB" ], [ "T2", "N2a", "M0", "VALUE:IIIA" ], [ "T2", "N2b", "M0", "VALUE:IIIA" ], [ "T2", "N2NOS", "M0", "VALUE:IIIA" ], [ "T2", "N3a", "M0", "VALUE:IIIC" ], [ "T2", "N3b", "M0", "VALUE:IIIC" ], [ "T2", "N3c", "M0", "VALUE:IIIC" ], [ "T2", "N3NOS", "M0", "VALUE:IIIC" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIB" ], [ "T3", "N0(i-)", "M0", "VALUE:IIB" ], [ "T3", "N0(i+)", "M0", "VALUE:IIB" ], [ "T3", "N0(mol-)", "M0", "VALUE:IIB" ], [ "T3", "N0(mol+)", "M0", "VALUE:IIB" ], [ "T3", "N1", "M0", "VALUE:IIIA" ], [ "T3", "N1a", "M0", "VALUE:IIIA" ], [ "T3", "N1b", "M0", "VALUE:IIIA" ], [ "T3", "N1c", "M0", "VALUE:IIIA" ], [ "T3", "N1mi", "M0", "VALUE:IIIA" ], [ "T3", "N1NOS", "M0", "VALUE:IIIA" ], [ "T3", "N2a", "M0", "VALUE:IIIA" ], [ "T3", "N2b", "M0", "VALUE:IIIA" ], [ "T3", "N2NOS", "M0", "VALUE:IIIA" ], [ "T3", "N3a", "M0", "VALUE:IIIC" ], [ "T3", "N3b", "M0", "VALUE:IIIC" ], [ "T3", "N3c", "M0", "VALUE:IIIC" ], [ "T3", "N3NOS", "M0", "VALUE:IIIC" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IIIB" ], [ "T4a", "N0(i-)", "M0", "VALUE:IIIB" ], [ "T4a", "N0(i+)", "M0", "VALUE:IIIB" ], [ "T4a", "N0(mol-)", "M0", "VALUE:IIIB" ], [ "T4a", "N0(mol+)", "M0", "VALUE:IIIB" ], [ "T4a", "N1", "M0", "VALUE:IIIB" ], [ "T4a", "N1a", "M0", "VALUE:IIIB" ], [ "T4a", "N1b", "M0", "VALUE:IIIB" ], [ "T4a", "N1c", "M0", "VALUE:IIIB" ], [ "T4a", "N1mi", "M0", "VALUE:IIIB" ], [ "T4a", "N1NOS", "M0", "VALUE:IIIB" ], [ "T4a", "N2a", "M0", "VALUE:IIIB" ], [ "T4a", "N2b", "M0", "VALUE:IIIB" ], [ "T4a", "N2NOS", "M0", "VALUE:IIIB" ], [ "T4a", "N3a", "M0", "VALUE:IIIC" ], [ "T4a", "N3b", "M0", "VALUE:IIIC" ], [ "T4a", "N3c", "M0", "VALUE:IIIC" ], [ "T4a", "N3NOS", "M0", "VALUE:IIIC" ], [ "T4a", "NX", "M0", "VALUE:IIINOS" ], [ "T4b", "N0", "M0", "VALUE:IIIB" ], [ "T4b", "N0(i-)", "M0", "VALUE:IIIB" ], [ "T4b", "N0(i+)", "M0", "VALUE:IIIB" ], [ "T4b", "N0(mol-)", "M0", "VALUE:IIIB" ], [ "T4b", "N0(mol+)", "M0", "VALUE:IIIB" ], [ "T4b", "N1", "M0", "VALUE:IIIB" ], [ "T4b", "N1a", "M0", "VALUE:IIIB" ], [ "T4b", "N1b", "M0", "VALUE:IIIB" ], [ "T4b", "N1c", "M0", "VALUE:IIIB" ], [ "T4b", "N1mi", "M0", "VALUE:IIIB" ], [ "T4b", "N1NOS", "M0", "VALUE:IIIB" ], [ "T4b", "N2a", "M0", "VALUE:IIIB" ], [ "T4b", "N2b", "M0", "VALUE:IIIB" ], [ "T4b", "N2NOS", "M0", "VALUE:IIIB" ], [ "T4b", "N3a", "M0", "VALUE:IIIC" ], [ "T4b", "N3b", "M0", "VALUE:IIIC" ], [ "T4b", "N3c", "M0", "VALUE:IIIC" ], [ "T4b", "N3NOS", "M0", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "VALUE:IIINOS" ], [ "T4c", "N0", "M0", "VALUE:IIIB" ], [ "T4c", "N0(i-)", "M0", "VALUE:IIIB" ], [ "T4c", "N0(i+)", "M0", "VALUE:IIIB" ], [ "T4c", "N0(mol-)", "M0", "VALUE:IIIB" ], [ "T4c", "N0(mol+)", "M0", "VALUE:IIIB" ], [ "T4c", "N1", "M0", "VALUE:IIIB" ], [ "T4c", "N1a", "M0", "VALUE:IIIB" ], [ "T4c", "N1b", "M0", "VALUE:IIIB" ], [ "T4c", "N1c", "M0", "VALUE:IIIB" ], [ "T4c", "N1mi", "M0", "VALUE:IIIB" ], [ "T4c", "N1NOS", "M0", "VALUE:IIIB" ], [ "T4c", "N2a", "M0", "VALUE:IIIB" ], [ "T4c", "N2b", "M0", "VALUE:IIIB" ], [ "T4c", "N2NOS", "M0", "VALUE:IIIB" ], [ "T4c", "N3a", "M0", "VALUE:IIIC" ], [ "T4c", "N3b", "M0", "VALUE:IIIC" ], [ "T4c", "N3c", "M0", "VALUE:IIIC" ], [ "T4c", "N3NOS", "M0", "VALUE:IIIC" ], [ "T4c", "NX", "M0", "VALUE:IIINOS" ], [ "T4d", "N0", "M0", "VALUE:IIIB" ], [ "T4d", "N0(i-)", "M0", "VALUE:IIIB" ], [ "T4d", "N0(i+)", "M0", "VALUE:IIIB" ], [ "T4d", "N0(mol-)", "M0", "VALUE:IIIB" ], [ "T4d", "N0(mol+)", "M0", "VALUE:IIIB" ], [ "T4d", "N1", "M0", "VALUE:IIIB" ], [ "T4d", "N1a", "M0", "VALUE:IIIB" ], [ "T4d", "N1b", "M0", "VALUE:IIIB" ], [ "T4d", "N1c", "M0", "VALUE:IIIB" ], [ "T4d", "N1mi", "M0", "VALUE:IIIB" ], [ "T4d", "N1NOS", "M0", "VALUE:IIIB" ], [ "T4d", "N2a", "M0", "VALUE:IIIB" ], [ "T4d", "N2b", "M0", "VALUE:IIIB" ], [ "T4d", "N2NOS", "M0", "VALUE:IIIB" ], [ "T4d", "N3a", "M0", "VALUE:IIIC" ], [ "T4d", "N3b", "M0", "VALUE:IIIC" ], [ "T4d", "N3c", "M0", "VALUE:IIIC" ], [ "T4d", "N3NOS", "M0", "VALUE:IIIC" ], [ "T4d", "NX", "M0", "VALUE:IIINOS" ], [ "T4NOS", "N0", "M0", "VALUE:IIIB" ], [ "T4NOS", "N0(i-)", "M0", "VALUE:IIIB" ], [ "T4NOS", "N0(i+)", "M0", "VALUE:IIIB" ], [ "T4NOS", "N0(mol-)", "M0", "VALUE:IIIB" ], [ "T4NOS", "N0(mol+)", "M0", "VALUE:IIIB" ], [ "T4NOS", "N1", "M0", "VALUE:IIIB" ], [ "T4NOS", "N1a", "M0", "VALUE:IIIB" ], [ "T4NOS", "N1b", "M0", "VALUE:IIIB" ], [ "T4NOS", "N1c", "M0", "VALUE:IIIB" ], [ "T4NOS", "N1mi", "M0", "VALUE:IIIB" ], [ "T4NOS", "N1NOS", "M0", "VALUE:IIIB" ], [ "T4NOS", "N2a", "M0", "VALUE:IIIB" ], [ "T4NOS", "N2b", "M0", "VALUE:IIIB" ], [ "T4NOS", "N2NOS", "M0", "VALUE:IIIB" ], [ "T4NOS", "N3a", "M0", "VALUE:IIIC" ], [ "T4NOS", "N3b", "M0", "VALUE:IIIC" ], [ "T4NOS", "N3c", "M0", "VALUE:IIIC" ], [ "T4NOS", "N3NOS", "M0", "VALUE:IIIC" ], [ "T4NOS", "NX", "M0", "VALUE:IIINOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N0(i-)", "M0", "VALUE:UNK" ], [ "TX", "N0(i+)", "M0", "VALUE:UNK" ], [ "TX", "N0(mol-)", "M0", "VALUE:UNK" ], [ "TX", "N0(mol+)", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N1a", "M0", "VALUE:UNK" ], [ "TX", "N1b", "M0", "VALUE:UNK" ], [ "TX", "N1c", "M0", "VALUE:UNK" ], [ "TX", "N1mi", "M0", "VALUE:UNK" ], [ "TX", "N1NOS", "M0", "VALUE:UNK" ], [ "TX", "N2a", "M0", "VALUE:IIINOS" ], [ "TX", "N2b", "M0", "VALUE:IIINOS" ], [ "TX", "N2NOS", "M0", "VALUE:IIINOS" ], [ "TX", "N3a", "M0", "VALUE:IIIC" ], [ "TX", "N3b", "M0", "VALUE:IIIC" ], [ "TX", "N3c", "M0", "VALUE:IIIC" ], [ "TX", "N3NOS", "M0", "VALUE:IIIC" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M0(i+)", "ERROR:" ], [ "T0", "N0(i-)", "M0(i+)", "ERROR:" ], [ "T0", "N0(i+)", "M0(i+)", "ERROR:" ], [ "T0", "N0(mol-)", "M0(i+)", "ERROR:" ], [ "T0", "N0(mol+)", "M0(i+)", "ERROR:" ], [ "T0", "N1", "M0(i+)", "VALUE:IIA" ], [ "T0", "N1a", "M0(i+)", "VALUE:IIA" ], [ "T0", "N1b", "M0(i+)", "VALUE:IIA" ], [ "T0", "N1c", "M0(i+)", "VALUE:IIA" ], [ "T0", "N1mi", "M0(i+)", "VALUE:IB" ], [ "T0", "N1NOS", "M0(i+)", "VALUE:IIA" ], [ "T0", "N2a", "M0(i+)", "VALUE:IIIA" ], [ "T0", "N2b", "M0(i+)", "VALUE:IIIA" ], [ "T0", "N2NOS", "M0(i+)", "VALUE:IIIA" ], [ "T0", "N3a", "M0(i+)", "VALUE:IIIC" ], [ "T0", "N3b", "M0(i+)", "VALUE:IIIC" ], [ "T0", "N3c", "M0(i+)", "VALUE:IIIC" ], [ "T0", "N3NOS", "M0(i+)", "VALUE:IIIC" ], [ "T0", "NX", "M0(i+)", "VALUE:UNK" ], [ "Tis", "N0", "M0(i+)", "VALUE:0" ], [ "Tis", "N0(i-)", "M0(i+)", "VALUE:0" ], [ "Tis", "N0(i+)", "M0(i+)", "VALUE:0" ], [ "Tis", "N0(mol-)", "M0(i+)", "VALUE:0" ], [ "Tis", "N0(mol+)", "M0(i+)", "VALUE:0" ], [ "Tis", "N1", "M0(i+)", "ERROR:" ], [ "Tis", "N1a", "M0(i+)", "ERROR:" ], [ "Tis", "N1b", "M0(i+)", "ERROR:" ], [ "Tis", "N1c", "M0(i+)", "ERROR:" ], [ "Tis", "N1mi", "M0(i+)", "ERROR:" ], [ "Tis", "N1NOS", "M0(i+)", "ERROR:" ], [ "Tis", "N2a", "M0(i+)", "ERROR:" ], [ "Tis", "N2b", "M0(i+)", "ERROR:" ], [ "Tis", "N2NOS", "M0(i+)", "ERROR:" ], [ "Tis", "N3a", "M0(i+)", "ERROR:" ], [ "Tis", "N3b", "M0(i+)", "ERROR:" ], [ "Tis", "N3c", "M0(i+)", "ERROR:" ], [ "Tis", "N3NOS", "M0(i+)", "ERROR:" ], [ "Tis", "NX", "M0(i+)", "VALUE:0" ], [ "T1mi", "N0", "M0(i+)", "VALUE:IA" ], [ "T1mi", "N0(i-)", "M0(i+)", "VALUE:IA" ], [ "T1mi", "N0(i+)", "M0(i+)", "VALUE:IA" ], [ "T1mi", "N0(mol-)", "M0(i+)", "VALUE:IA" ], [ "T1mi", "N0(mol+)", "M0(i+)", "VALUE:IA" ], [ "T1mi", "N1", "M0(i+)", "VALUE:IIA" ], [ "T1mi", "N1a", "M0(i+)", "VALUE:IIA" ], [ "T1mi", "N1b", "M0(i+)", "VALUE:IIA" ], [ "T1mi", "N1c", "M0(i+)", "VALUE:IIA" ], [ "T1mi", "N1mi", "M0(i+)", "VALUE:IB" ], [ "T1mi", "N1NOS", "M0(i+)", "VALUE:IIA" ], [ "T1mi", "N2a", "M0(i+)", "VALUE:IIIA" ], [ "T1mi", "N2b", "M0(i+)", "VALUE:IIIA" ], [ "T1mi", "N2NOS", "M0(i+)", "VALUE:IIIA" ], [ "T1mi", "N3a", "M0(i+)", "VALUE:IIIC" ], [ "T1mi", "N3b", "M0(i+)", "VALUE:IIIC" ], [ "T1mi", "N3c", "M0(i+)", "VALUE:IIIC" ], [ "T1mi", "N3NOS", "M0(i+)", "VALUE:IIIC" ], [ "T1mi", "NX", "M0(i+)", "VALUE:UNK" ], [ "T1a", "N0", "M0(i+)", "VALUE:IA" ], [ "T1a", "N0(i-)", "M0(i+)", "VALUE:IA" ], [ "T1a", "N0(i+)", "M0(i+)", "VALUE:IA" ], [ "T1a", "N0(mol-)", "M0(i+)", "VALUE:IA" ], [ "T1a", "N0(mol+)", "M0(i+)", "VALUE:IA" ], [ "T1a", "N1", "M0(i+)", "VALUE:IIA" ], [ "T1a", "N1a", "M0(i+)", "VALUE:IIA" ], [ "T1a", "N1b", "M0(i+)", "VALUE:IIA" ], [ "T1a", "N1c", "M0(i+)", "VALUE:IIA" ], [ "T1a", "N1mi", "M0(i+)", "VALUE:IB" ], [ "T1a", "N1NOS", "M0(i+)", "VALUE:IIA" ], [ "T1a", "N2a", "M0(i+)", "VALUE:IIIA" ], [ "T1a", "N2b", "M0(i+)", "VALUE:IIIA" ], [ "T1a", "N2NOS", "M0(i+)", "VALUE:IIIA" ], [ "T1a", "N3a", "M0(i+)", "VALUE:IIIC" ], [ "T1a", "N3b", "M0(i+)", "VALUE:IIIC" ], [ "T1a", "N3c", "M0(i+)", "VALUE:IIIC" ], [ "T1a", "N3NOS", "M0(i+)", "VALUE:IIIC" ], [ "T1a", "NX", "M0(i+)", "VALUE:UNK" ], [ "T1b", "N0", "M0(i+)", "VALUE:IA" ], [ "T1b", "N0(i-)", "M0(i+)", "VALUE:IA" ], [ "T1b", "N0(i+)", "M0(i+)", "VALUE:IA" ], [ "T1b", "N0(mol-)", "M0(i+)", "VALUE:IA" ], [ "T1b", "N0(mol+)", "M0(i+)", "VALUE:IA" ], [ "T1b", "N1", "M0(i+)", "VALUE:IIA" ], [ "T1b", "N1a", "M0(i+)", "VALUE:IIA" ], [ "T1b", "N1b", "M0(i+)", "VALUE:IIA" ], [ "T1b", "N1c", "M0(i+)", "VALUE:IIA" ], [ "T1b", "N1mi", "M0(i+)", "VALUE:IB" ], [ "T1b", "N1NOS", "M0(i+)", "VALUE:IIA" ], [ "T1b", "N2a", "M0(i+)", "VALUE:IIIA" ], [ "T1b", "N2b", "M0(i+)", "VALUE:IIIA" ], [ "T1b", "N2NOS", "M0(i+)", "VALUE:IIIA" ], [ "T1b", "N3a", "M0(i+)", "VALUE:IIIC" ], [ "T1b", "N3b", "M0(i+)", "VALUE:IIIC" ], [ "T1b", "N3c", "M0(i+)", "VALUE:IIIC" ], [ "T1b", "N3NOS", "M0(i+)", "VALUE:IIIC" ], [ "T1b", "NX", "M0(i+)", "VALUE:UNK" ], [ "T1c", "N0", "M0(i+)", "VALUE:IA" ], [ "T1c", "N0(i-)", "M0(i+)", "VALUE:IA" ], [ "T1c", "N0(i+)", "M0(i+)", "VALUE:IA" ], [ "T1c", "N0(mol-)", "M0(i+)", "VALUE:IA" ], [ "T1c", "N0(mol+)", "M0(i+)", "VALUE:IA" ], [ "T1c", "N1", "M0(i+)", "VALUE:IIA" ], [ "T1c", "N1a", "M0(i+)", "VALUE:IIA" ], [ "T1c", "N1b", "M0(i+)", "VALUE:IIA" ], [ "T1c", "N1c", "M0(i+)", "VALUE:IIA" ], [ "T1c", "N1mi", "M0(i+)", "VALUE:IB" ], [ "T1c", "N1NOS", "M0(i+)", "VALUE:IIA" ], [ "T1c", "N2a", "M0(i+)", "VALUE:IIIA" ], [ "T1c", "N2b", "M0(i+)", "VALUE:IIIA" ], [ "T1c", "N2NOS", "M0(i+)", "VALUE:IIIA" ], [ "T1c", "N3a", "M0(i+)", "VALUE:IIIC" ], [ "T1c", "N3b", "M0(i+)", "VALUE:IIIC" ], [ "T1c", "N3c", "M0(i+)", "VALUE:IIIC" ], [ "T1c", "N3NOS", "M0(i+)", "VALUE:IIIC" ], [ "T1c", "NX", "M0(i+)", "VALUE:UNK" ], [ "T1NOS", "N0", "M0(i+)", "VALUE:IA" ], [ "T1NOS", "N0(i-)", "M0(i+)", "VALUE:IA" ], [ "T1NOS", "N0(i+)", "M0(i+)", "VALUE:IA" ], [ "T1NOS", "N0(mol-)", "M0(i+)", "VALUE:IA" ], [ "T1NOS", "N0(mol+)", "M0(i+)", "VALUE:IA" ], [ "T1NOS", "N1", "M0(i+)", "VALUE:IIA" ], [ "T1NOS", "N1a", "M0(i+)", "VALUE:IIA" ], [ "T1NOS", "N1b", "M0(i+)", "VALUE:IIA" ], [ "T1NOS", "N1c", "M0(i+)", "VALUE:IIA" ], [ "T1NOS", "N1mi", "M0(i+)", "VALUE:IB" ], [ "T1NOS", "N1NOS", "M0(i+)", "VALUE:IIA" ], [ "T1NOS", "N2a", "M0(i+)", "VALUE:IIIA" ], [ "T1NOS", "N2b", "M0(i+)", "VALUE:IIIA" ], [ "T1NOS", "N2NOS", "M0(i+)", "VALUE:IIIA" ], [ "T1NOS", "N3a", "M0(i+)", "VALUE:IIIC" ], [ "T1NOS", "N3b", "M0(i+)", "VALUE:IIIC" ], [ "T1NOS", "N3c", "M0(i+)", "VALUE:IIIC" ], [ "T1NOS", "N3NOS", "M0(i+)", "VALUE:IIIC" ], [ "T1NOS", "NX", "M0(i+)", "VALUE:UNK" ], [ "T2", "N0", "M0(i+)", "VALUE:IIA" ], [ "T2", "N0(i-)", "M0(i+)", "VALUE:IIA" ], [ "T2", "N0(i+)", "M0(i+)", "VALUE:IIA" ], [ "T2", "N0(mol-)", "M0(i+)", "VALUE:IIA" ], [ "T2", "N0(mol+)", "M0(i+)", "VALUE:IIA" ], [ "T2", "N1", "M0(i+)", "VALUE:IIB" ], [ "T2", "N1a", "M0(i+)", "VALUE:IIB" ], [ "T2", "N1b", "M0(i+)", "VALUE:IIB" ], [ "T2", "N1c", "M0(i+)", "VALUE:IIB" ], [ "T2", "N1mi", "M0(i+)", "VALUE:IIB" ], [ "T2", "N1NOS", "M0(i+)", "VALUE:IIB" ], [ "T2", "N2a", "M0(i+)", "VALUE:IIIA" ], [ "T2", "N2b", "M0(i+)", "VALUE:IIIA" ], [ "T2", "N2NOS", "M0(i+)", "VALUE:IIIA" ], [ "T2", "N3a", "M0(i+)", "VALUE:IIIC" ], [ "T2", "N3b", "M0(i+)", "VALUE:IIIC" ], [ "T2", "N3c", "M0(i+)", "VALUE:IIIC" ], [ "T2", "N3NOS", "M0(i+)", "VALUE:IIIC" ], [ "T2", "NX", "M0(i+)", "VALUE:UNK" ], [ "T3", "N0", "M0(i+)", "VALUE:IIB" ], [ "T3", "N0(i-)", "M0(i+)", "VALUE:IIB" ], [ "T3", "N0(i+)", "M0(i+)", "VALUE:IIB" ], [ "T3", "N0(mol-)", "M0(i+)", "VALUE:IIB" ], [ "T3", "N0(mol+)", "M0(i+)", "VALUE:IIB" ], [ "T3", "N1", "M0(i+)", "VALUE:IIIA" ], [ "T3", "N1a", "M0(i+)", "VALUE:IIIA" ], [ "T3", "N1b", "M0(i+)", "VALUE:IIIA" ], [ "T3", "N1c", "M0(i+)", "VALUE:IIIA" ], [ "T3", "N1mi", "M0(i+)", "VALUE:IIIA" ], [ "T3", "N1NOS", "M0(i+)", "VALUE:IIIA" ], [ "T3", "N2a", "M0(i+)", "VALUE:IIIA" ], [ "T3", "N2b", "M0(i+)", "VALUE:IIIA" ], [ "T3", "N2NOS", "M0(i+)", "VALUE:IIIA" ], [ "T3", "N3a", "M0(i+)", "VALUE:IIIC" ], [ "T3", "N3b", "M0(i+)", "VALUE:IIIC" ], [ "T3", "N3c", "M0(i+)", "VALUE:IIIC" ], [ "T3", "N3NOS", "M0(i+)", "VALUE:IIIC" ], [ "T3", "NX", "M0(i+)", "VALUE:UNK" ], [ "T4a", "N0", "M0(i+)", "VALUE:IIIB" ], [ "T4a", "N0(i-)", "M0(i+)", "VALUE:IIIB" ], [ "T4a", "N0(i+)", "M0(i+)", "VALUE:IIIB" ], [ "T4a", "N0(mol-)", "M0(i+)", "VALUE:IIIB" ], [ "T4a", "N0(mol+)", "M0(i+)", "VALUE:IIIB" ], [ "T4a", "N1", "M0(i+)", "VALUE:IIIB" ], [ "T4a", "N1a", "M0(i+)", "VALUE:IIIB" ], [ "T4a", "N1b", "M0(i+)", "VALUE:IIIB" ], [ "T4a", "N1c", "M0(i+)", "VALUE:IIIB" ], [ "T4a", "N1mi", "M0(i+)", "VALUE:IIIB" ], [ "T4a", "N1NOS", "M0(i+)", "VALUE:IIIB" ], [ "T4a", "N2a", "M0(i+)", "VALUE:IIIB" ], [ "T4a", "N2b", "M0(i+)", "VALUE:IIIB" ], [ "T4a", "N2NOS", "M0(i+)", "VALUE:IIIB" ], [ "T4a", "N3a", "M0(i+)", "VALUE:IIIC" ], [ "T4a", "N3b", "M0(i+)", "VALUE:IIIC" ], [ "T4a", "N3c", "M0(i+)", "VALUE:IIIC" ], [ "T4a", "N3NOS", "M0(i+)", "VALUE:IIIC" ], [ "T4a", "NX", "M0(i+)", "VALUE:IIINOS" ], [ "T4b", "N0", "M0(i+)", "VALUE:IIIB" ], [ "T4b", "N0(i-)", "M0(i+)", "VALUE:IIIB" ], [ "T4b", "N0(i+)", "M0(i+)", "VALUE:IIIB" ], [ "T4b", "N0(mol-)", "M0(i+)", "VALUE:IIIB" ], [ "T4b", "N0(mol+)", "M0(i+)", "VALUE:IIIB" ], [ "T4b", "N1", "M0(i+)", "VALUE:IIIB" ], [ "T4b", "N1a", "M0(i+)", "VALUE:IIIB" ], [ "T4b", "N1b", "M0(i+)", "VALUE:IIIB" ], [ "T4b", "N1c", "M0(i+)", "VALUE:IIIB" ], [ "T4b", "N1mi", "M0(i+)", "VALUE:IIIB" ], [ "T4b", "N1NOS", "M0(i+)", "VALUE:IIIB" ], [ "T4b", "N2a", "M0(i+)", "VALUE:IIIB" ], [ "T4b", "N2b", "M0(i+)", "VALUE:IIIB" ], [ "T4b", "N2NOS", "M0(i+)", "VALUE:IIIB" ], [ "T4b", "N3a", "M0(i+)", "VALUE:IIIC" ], [ "T4b", "N3b", "M0(i+)", "VALUE:IIIC" ], [ "T4b", "N3c", "M0(i+)", "VALUE:IIIC" ], [ "T4b", "N3NOS", "M0(i+)", "VALUE:IIIC" ], [ "T4b", "NX", "M0(i+)", "VALUE:IIINOS" ], [ "T4c", "N0", "M0(i+)", "VALUE:IIIB" ], [ "T4c", "N0(i-)", "M0(i+)", "VALUE:IIIB" ], [ "T4c", "N0(i+)", "M0(i+)", "VALUE:IIIB" ], [ "T4c", "N0(mol-)", "M0(i+)", "VALUE:IIIB" ], [ "T4c", "N0(mol+)", "M0(i+)", "VALUE:IIIB" ], [ "T4c", "N1", "M0(i+)", "VALUE:IIIB" ], [ "T4c", "N1a", "M0(i+)", "VALUE:IIIB" ], [ "T4c", "N1b", "M0(i+)", "VALUE:IIIB" ], [ "T4c", "N1c", "M0(i+)", "VALUE:IIIB" ], [ "T4c", "N1mi", "M0(i+)", "VALUE:IIIB" ], [ "T4c", "N1NOS", "M0(i+)", "VALUE:IIIB" ], [ "T4c", "N2a", "M0(i+)", "VALUE:IIIB" ], [ "T4c", "N2b", "M0(i+)", "VALUE:IIIB" ], [ "T4c", "N2NOS", "M0(i+)", "VALUE:IIIB" ], [ "T4c", "N3a", "M0(i+)", "VALUE:IIIC" ], [ "T4c", "N3b", "M0(i+)", "VALUE:IIIC" ], [ "T4c", "N3c", "M0(i+)", "VALUE:IIIC" ], [ "T4c", "N3NOS", "M0(i+)", "VALUE:IIIC" ], [ "T4c", "NX", "M0(i+)", "VALUE:IIINOS" ], [ "T4d", "N0", "M0(i+)", "VALUE:IIIB" ], [ "T4d", "N0(i-)", "M0(i+)", "VALUE:IIIB" ], [ "T4d", "N0(i+)", "M0(i+)", "VALUE:IIIB" ], [ "T4d", "N0(mol-)", "M0(i+)", "VALUE:IIIB" ], [ "T4d", "N0(mol+)", "M0(i+)", "VALUE:IIIB" ], [ "T4d", "N1", "M0(i+)", "VALUE:IIIB" ], [ "T4d", "N1a", "M0(i+)", "VALUE:IIIB" ], [ "T4d", "N1b", "M0(i+)", "VALUE:IIIB" ], [ "T4d", "N1c", "M0(i+)", "VALUE:IIIB" ], [ "T4d", "N1mi", "M0(i+)", "VALUE:IIIB" ], [ "T4d", "N1NOS", "M0(i+)", "VALUE:IIIB" ], [ "T4d", "N2a", "M0(i+)", "VALUE:IIIB" ], [ "T4d", "N2b", "M0(i+)", "VALUE:IIIB" ], [ "T4d", "N2NOS", "M0(i+)", "VALUE:IIIB" ], [ "T4d", "N3a", "M0(i+)", "VALUE:IIIC" ], [ "T4d", "N3b", "M0(i+)", "VALUE:IIIC" ], [ "T4d", "N3c", "M0(i+)", "VALUE:IIIC" ], [ "T4d", "N3NOS", "M0(i+)", "VALUE:IIIC" ], [ "T4d", "NX", "M0(i+)", "VALUE:IIINOS" ], [ "T4NOS", "N0", "M0(i+)", "VALUE:IIIB" ], [ "T4NOS", "N0(i-)", "M0(i+)", "VALUE:IIIB" ], [ "T4NOS", "N0(i+)", "M0(i+)", "VALUE:IIIB" ], [ "T4NOS", "N0(mol-)", "M0(i+)", "VALUE:IIIB" ], [ "T4NOS", "N0(mol+)", "M0(i+)", "VALUE:IIIB" ], [ "T4NOS", "N1", "M0(i+)", "VALUE:IIIB" ], [ "T4NOS", "N1a", "M0(i+)", "VALUE:IIIB" ], [ "T4NOS", "N1b", "M0(i+)", "VALUE:IIIB" ], [ "T4NOS", "N1c", "M0(i+)", "VALUE:IIIB" ], [ "T4NOS", "N1mi", "M0(i+)", "VALUE:IIIB" ], [ "T4NOS", "N1NOS", "M0(i+)", "VALUE:IIIB" ], [ "T4NOS", "N2a", "M0(i+)", "VALUE:IIIB" ], [ "T4NOS", "N2b", "M0(i+)", "VALUE:IIIB" ], [ "T4NOS", "N2NOS", "M0(i+)", "VALUE:IIIB" ], [ "T4NOS", "N3a", "M0(i+)", "VALUE:IIIC" ], [ "T4NOS", "N3b", "M0(i+)", "VALUE:IIIC" ], [ "T4NOS", "N3c", "M0(i+)", "VALUE:IIIC" ], [ "T4NOS", "N3NOS", "M0(i+)", "VALUE:IIIC" ], [ "T4NOS", "NX", "M0(i+)", "VALUE:IIINOS" ], [ "TX", "N0", "M0(i+)", "VALUE:UNK" ], [ "TX", "N0(i-)", "M0(i+)", "VALUE:UNK" ], [ "TX", "N0(i+)", "M0(i+)", "VALUE:UNK" ], [ "TX", "N0(mol-)", "M0(i+)", "VALUE:UNK" ], [ "TX", "N0(mol+)", "M0(i+)", "VALUE:UNK" ], [ "TX", "N1", "M0(i+)", "VALUE:UNK" ], [ "TX", "N1a", "M0(i+)", "VALUE:UNK" ], [ "TX", "N1b", "M0(i+)", "VALUE:UNK" ], [ "TX", "N1c", "M0(i+)", "VALUE:UNK" ], [ "TX", "N1mi", "M0(i+)", "VALUE:UNK" ], [ "TX", "N1NOS", "M0(i+)", "VALUE:UNK" ], [ "TX", "N2a", "M0(i+)", "VALUE:IIINOS" ], [ "TX", "N2b", "M0(i+)", "VALUE:IIINOS" ], [ "TX", "N2NOS", "M0(i+)", "VALUE:IIINOS" ], [ "TX", "N3a", "M0(i+)", "VALUE:IIIC" ], [ "TX", "N3b", "M0(i+)", "VALUE:IIIC" ], [ "TX", "N3c", "M0(i+)", "VALUE:IIIC" ], [ "TX", "N3NOS", "M0(i+)", "VALUE:IIIC" ], [ "TX", "NX", "M0(i+)", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N0(i-)", "M1", "VALUE:IV" ], [ "T0", "N0(i+)", "M1", "VALUE:IV" ], [ "T0", "N0(mol-)", "M1", "VALUE:IV" ], [ "T0", "N0(mol+)", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N1a", "M1", "VALUE:IV" ], [ "T0", "N1b", "M1", "VALUE:IV" ], [ "T0", "N1c", "M1", "VALUE:IV" ], [ "T0", "N1mi", "M1", "VALUE:IV" ], [ "T0", "N1NOS", "M1", "VALUE:IV" ], [ "T0", "N2a", "M1", "VALUE:IV" ], [ "T0", "N2b", "M1", "VALUE:IV" ], [ "T0", "N2NOS", "M1", "VALUE:IV" ], [ "T0", "N3a", "M1", "VALUE:IV" ], [ "T0", "N3b", "M1", "VALUE:IV" ], [ "T0", "N3c", "M1", "VALUE:IV" ], [ "T0", "N3NOS", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N0(i-)", "M1", "ERROR:" ], [ "Tis", "N0(i+)", "M1", "ERROR:" ], [ "Tis", "N0(mol-)", "M1", "ERROR:" ], [ "Tis", "N0(mol+)", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N1a", "M1", "ERROR:" ], [ "Tis", "N1b", "M1", "ERROR:" ], [ "Tis", "N1c", "M1", "ERROR:" ], [ "Tis", "N1mi", "M1", "ERROR:" ], [ "Tis", "N1NOS", "M1", "ERROR:" ], [ "Tis", "N2a", "M1", "ERROR:" ], [ "Tis", "N2b", "M1", "ERROR:" ], [ "Tis", "N2NOS", "M1", "ERROR:" ], [ "Tis", "N3a", "M1", "ERROR:" ], [ "Tis", "N3b", "M1", "ERROR:" ], [ "Tis", "N3c", "M1", "ERROR:" ], [ "Tis", "N3NOS", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1mi", "N0", "M1", "VALUE:IV" ], [ "T1mi", "N0(i-)", "M1", "VALUE:IV" ], [ "T1mi", "N0(i+)", "M1", "VALUE:IV" ], [ "T1mi", "N0(mol-)", "M1", "VALUE:IV" ], [ "T1mi", "N0(mol+)", "M1", "VALUE:IV" ], [ "T1mi", "N1", "M1", "VALUE:IV" ], [ "T1mi", "N1a", "M1", "VALUE:IV" ], [ "T1mi", "N1b", "M1", "VALUE:IV" ], [ "T1mi", "N1c", "M1", "VALUE:IV" ], [ "T1mi", "N1mi", "M1", "VALUE:IV" ], [ "T1mi", "N1NOS", "M1", "VALUE:IV" ], [ "T1mi", "N2a", "M1", "VALUE:IV" ], [ "T1mi", "N2b", "M1", "VALUE:IV" ], [ "T1mi", "N2NOS", "M1", "VALUE:IV" ], [ "T1mi", "N3a", "M1", "VALUE:IV" ], [ "T1mi", "N3b", "M1", "VALUE:IV" ], [ "T1mi", "N3c", "M1", "VALUE:IV" ], [ "T1mi", "N3NOS", "M1", "VALUE:IV" ], [ "T1mi", "NX", "M1", "VALUE:IV" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N0(i-)", "M1", "VALUE:IV" ], [ "T1a", "N0(i+)", "M1", "VALUE:IV" ], [ "T1a", "N0(mol-)", "M1", "VALUE:IV" ], [ "T1a", "N0(mol+)", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "N1a", "M1", "VALUE:IV" ], [ "T1a", "N1b", "M1", "VALUE:IV" ], [ "T1a", "N1c", "M1", "VALUE:IV" ], [ "T1a", "N1mi", "M1", "VALUE:IV" ], [ "T1a", "N1NOS", "M1", "VALUE:IV" ], [ "T1a", "N2a", "M1", "VALUE:IV" ], [ "T1a", "N2b", "M1", "VALUE:IV" ], [ "T1a", "N2NOS", "M1", "VALUE:IV" ], [ "T1a", "N3a", "M1", "VALUE:IV" ], [ "T1a", "N3b", "M1", "VALUE:IV" ], [ "T1a", "N3c", "M1", "VALUE:IV" ], [ "T1a", "N3NOS", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N0(i-)", "M1", "VALUE:IV" ], [ "T1b", "N0(i+)", "M1", "VALUE:IV" ], [ "T1b", "N0(mol-)", "M1", "VALUE:IV" ], [ "T1b", "N0(mol+)", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "N1a", "M1", "VALUE:IV" ], [ "T1b", "N1b", "M1", "VALUE:IV" ], [ "T1b", "N1c", "M1", "VALUE:IV" ], [ "T1b", "N1mi", "M1", "VALUE:IV" ], [ "T1b", "N1NOS", "M1", "VALUE:IV" ], [ "T1b", "N2a", "M1", "VALUE:IV" ], [ "T1b", "N2b", "M1", "VALUE:IV" ], [ "T1b", "N2NOS", "M1", "VALUE:IV" ], [ "T1b", "N3a", "M1", "VALUE:IV" ], [ "T1b", "N3b", "M1", "VALUE:IV" ], [ "T1b", "N3c", "M1", "VALUE:IV" ], [ "T1b", "N3NOS", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1c", "N0", "M1", "VALUE:IV" ], [ "T1c", "N0(i-)", "M1", "VALUE:IV" ], [ "T1c", "N0(i+)", "M1", "VALUE:IV" ], [ "T1c", "N0(mol-)", "M1", "VALUE:IV" ], [ "T1c", "N0(mol+)", "M1", "VALUE:IV" ], [ "T1c", "N1", "M1", "VALUE:IV" ], [ "T1c", "N1a", "M1", "VALUE:IV" ], [ "T1c", "N1b", "M1", "VALUE:IV" ], [ "T1c", "N1c", "M1", "VALUE:IV" ], [ "T1c", "N1mi", "M1", "VALUE:IV" ], [ "T1c", "N1NOS", "M1", "VALUE:IV" ], [ "T1c", "N2a", "M1", "VALUE:IV" ], [ "T1c", "N2b", "M1", "VALUE:IV" ], [ "T1c", "N2NOS", "M1", "VALUE:IV" ], [ "T1c", "N3a", "M1", "VALUE:IV" ], [ "T1c", "N3b", "M1", "VALUE:IV" ], [ "T1c", "N3c", "M1", "VALUE:IV" ], [ "T1c", "N3NOS", "M1", "VALUE:IV" ], [ "T1c", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N0(i-)", "M1", "VALUE:IV" ], [ "T1NOS", "N0(i+)", "M1", "VALUE:IV" ], [ "T1NOS", "N0(mol-)", "M1", "VALUE:IV" ], [ "T1NOS", "N0(mol+)", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "N1a", "M1", "VALUE:IV" ], [ "T1NOS", "N1b", "M1", "VALUE:IV" ], [ "T1NOS", "N1c", "M1", "VALUE:IV" ], [ "T1NOS", "N1mi", "M1", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1", "VALUE:IV" ], [ "T1NOS", "N2a", "M1", "VALUE:IV" ], [ "T1NOS", "N2b", "M1", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1", "VALUE:IV" ], [ "T1NOS", "N3a", "M1", "VALUE:IV" ], [ "T1NOS", "N3b", "M1", "VALUE:IV" ], [ "T1NOS", "N3c", "M1", "VALUE:IV" ], [ "T1NOS", "N3NOS", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N0(i-)", "M1", "VALUE:IV" ], [ "T2", "N0(i+)", "M1", "VALUE:IV" ], [ "T2", "N0(mol-)", "M1", "VALUE:IV" ], [ "T2", "N0(mol+)", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N1a", "M1", "VALUE:IV" ], [ "T2", "N1b", "M1", "VALUE:IV" ], [ "T2", "N1c", "M1", "VALUE:IV" ], [ "T2", "N1mi", "M1", "VALUE:IV" ], [ "T2", "N1NOS", "M1", "VALUE:IV" ], [ "T2", "N2a", "M1", "VALUE:IV" ], [ "T2", "N2b", "M1", "VALUE:IV" ], [ "T2", "N2NOS", "M1", "VALUE:IV" ], [ "T2", "N3a", "M1", "VALUE:IV" ], [ "T2", "N3b", "M1", "VALUE:IV" ], [ "T2", "N3c", "M1", "VALUE:IV" ], [ "T2", "N3NOS", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N0(i-)", "M1", "VALUE:IV" ], [ "T3", "N0(i+)", "M1", "VALUE:IV" ], [ "T3", "N0(mol-)", "M1", "VALUE:IV" ], [ "T3", "N0(mol+)", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N1a", "M1", "VALUE:IV" ], [ "T3", "N1b", "M1", "VALUE:IV" ], [ "T3", "N1c", "M1", "VALUE:IV" ], [ "T3", "N1mi", "M1", "VALUE:IV" ], [ "T3", "N1NOS", "M1", "VALUE:IV" ], [ "T3", "N2a", "M1", "VALUE:IV" ], [ "T3", "N2b", "M1", "VALUE:IV" ], [ "T3", "N2NOS", "M1", "VALUE:IV" ], [ "T3", "N3a", "M1", "VALUE:IV" ], [ "T3", "N3b", "M1", "VALUE:IV" ], [ "T3", "N3c", "M1", "VALUE:IV" ], [ "T3", "N3NOS", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4a", "N0", "M1", "VALUE:IV" ], [ "T4a", "N0(i-)", "M1", "VALUE:IV" ], [ "T4a", "N0(i+)", "M1", "VALUE:IV" ], [ "T4a", "N0(mol-)", "M1", "VALUE:IV" ], [ "T4a", "N0(mol+)", "M1", "VALUE:IV" ], [ "T4a", "N1", "M1", "VALUE:IV" ], [ "T4a", "N1a", "M1", "VALUE:IV" ], [ "T4a", "N1b", "M1", "VALUE:IV" ], [ "T4a", "N1c", "M1", "VALUE:IV" ], [ "T4a", "N1mi", "M1", "VALUE:IV" ], [ "T4a", "N1NOS", "M1", "VALUE:IV" ], [ "T4a", "N2a", "M1", "VALUE:IV" ], [ "T4a", "N2b", "M1", "VALUE:IV" ], [ "T4a", "N2NOS", "M1", "VALUE:IV" ], [ "T4a", "N3a", "M1", "VALUE:IV" ], [ "T4a", "N3b", "M1", "VALUE:IV" ], [ "T4a", "N3c", "M1", "VALUE:IV" ], [ "T4a", "N3NOS", "M1", "VALUE:IV" ], [ "T4a", "NX", "M1", "VALUE:IV" ], [ "T4b", "N0", "M1", "VALUE:IV" ], [ "T4b", "N0(i-)", "M1", "VALUE:IV" ], [ "T4b", "N0(i+)", "M1", "VALUE:IV" ], [ "T4b", "N0(mol-)", "M1", "VALUE:IV" ], [ "T4b", "N0(mol+)", "M1", "VALUE:IV" ], [ "T4b", "N1", "M1", "VALUE:IV" ], [ "T4b", "N1a", "M1", "VALUE:IV" ], [ "T4b", "N1b", "M1", "VALUE:IV" ], [ "T4b", "N1c", "M1", "VALUE:IV" ], [ "T4b", "N1mi", "M1", "VALUE:IV" ], [ "T4b", "N1NOS", "M1", "VALUE:IV" ], [ "T4b", "N2a", "M1", "VALUE:IV" ], [ "T4b", "N2b", "M1", "VALUE:IV" ], [ "T4b", "N2NOS", "M1", "VALUE:IV" ], [ "T4b", "N3a", "M1", "VALUE:IV" ], [ "T4b", "N3b", "M1", "VALUE:IV" ], [ "T4b", "N3c", "M1", "VALUE:IV" ], [ "T4b", "N3NOS", "M1", "VALUE:IV" ], [ "T4b", "NX", "M1", "VALUE:IV" ], [ "T4c", "N0", "M1", "VALUE:IV" ], [ "T4c", "N0(i-)", "M1", "VALUE:IV" ], [ "T4c", "N0(i+)", "M1", "VALUE:IV" ], [ "T4c", "N0(mol-)", "M1", "VALUE:IV" ], [ "T4c", "N0(mol+)", "M1", "VALUE:IV" ], [ "T4c", "N1", "M1", "VALUE:IV" ], [ "T4c", "N1a", "M1", "VALUE:IV" ], [ "T4c", "N1b", "M1", "VALUE:IV" ], [ "T4c", "N1c", "M1", "VALUE:IV" ], [ "T4c", "N1mi", "M1", "VALUE:IV" ], [ "T4c", "N1NOS", "M1", "VALUE:IV" ], [ "T4c", "N2a", "M1", "VALUE:IV" ], [ "T4c", "N2b", "M1", "VALUE:IV" ], [ "T4c", "N2NOS", "M1", "VALUE:IV" ], [ "T4c", "N3a", "M1", "VALUE:IV" ], [ "T4c", "N3b", "M1", "VALUE:IV" ], [ "T4c", "N3c", "M1", "VALUE:IV" ], [ "T4c", "N3NOS", "M1", "VALUE:IV" ], [ "T4c", "NX", "M1", "VALUE:IV" ], [ "T4d", "N0", "M1", "VALUE:IV" ], [ "T4d", "N0(i-)", "M1", "VALUE:IV" ], [ "T4d", "N0(i+)", "M1", "VALUE:IV" ], [ "T4d", "N0(mol-)", "M1", "VALUE:IV" ], [ "T4d", "N0(mol+)", "M1", "VALUE:IV" ], [ "T4d", "N1", "M1", "VALUE:IV" ], [ "T4d", "N1a", "M1", "VALUE:IV" ], [ "T4d", "N1b", "M1", "VALUE:IV" ], [ "T4d", "N1c", "M1", "VALUE:IV" ], [ "T4d", "N1mi", "M1", "VALUE:IV" ], [ "T4d", "N1NOS", "M1", "VALUE:IV" ], [ "T4d", "N2a", "M1", "VALUE:IV" ], [ "T4d", "N2b", "M1", "VALUE:IV" ], [ "T4d", "N2NOS", "M1", "VALUE:IV" ], [ "T4d", "N3a", "M1", "VALUE:IV" ], [ "T4d", "N3b", "M1", "VALUE:IV" ], [ "T4d", "N3c", "M1", "VALUE:IV" ], [ "T4d", "N3NOS", "M1", "VALUE:IV" ], [ "T4d", "NX", "M1", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "VALUE:IV" ], [ "T4NOS", "N0(i-)", "M1", "VALUE:IV" ], [ "T4NOS", "N0(i+)", "M1", "VALUE:IV" ], [ "T4NOS", "N0(mol-)", "M1", "VALUE:IV" ], [ "T4NOS", "N0(mol+)", "M1", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "VALUE:IV" ], [ "T4NOS", "N1a", "M1", "VALUE:IV" ], [ "T4NOS", "N1b", "M1", "VALUE:IV" ], [ "T4NOS", "N1c", "M1", "VALUE:IV" ], [ "T4NOS", "N1mi", "M1", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1", "VALUE:IV" ], [ "T4NOS", "N2a", "M1", "VALUE:IV" ], [ "T4NOS", "N2b", "M1", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1", "VALUE:IV" ], [ "T4NOS", "N3a", "M1", "VALUE:IV" ], [ "T4NOS", "N3b", "M1", "VALUE:IV" ], [ "T4NOS", "N3c", "M1", "VALUE:IV" ], [ "T4NOS", "N3NOS", "M1", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N0(i-)", "M1", "VALUE:IV" ], [ "TX", "N0(i+)", "M1", "VALUE:IV" ], [ "TX", "N0(mol-)", "M1", "VALUE:IV" ], [ "TX", "N0(mol+)", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N1a", "M1", "VALUE:IV" ], [ "TX", "N1b", "M1", "VALUE:IV" ], [ "TX", "N1c", "M1", "VALUE:IV" ], [ "TX", "N1mi", "M1", "VALUE:IV" ], [ "TX", "N1NOS", "M1", "VALUE:IV" ], [ "TX", "N2a", "M1", "VALUE:IV" ], [ "TX", "N2b", "M1", "VALUE:IV" ], [ "TX", "N2NOS", "M1", "VALUE:IV" ], [ "TX", "N3a", "M1", "VALUE:IV" ], [ "TX", "N3b", "M1", "VALUE:IV" ], [ "TX", "N3c", "M1", "VALUE:IV" ], [ "TX", "N3NOS", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uad.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uad.json deleted file mode 100644 index 6d10aa05c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uad.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uad", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:54.642Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N1", "M0", "VALUE:IV" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IIA" ], [ "T1b", "N1", "M0", "VALUE:IV" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1c", "N0", "M0", "VALUE:IIA" ], [ "T1c", "N1", "M0", "VALUE:IV" ], [ "T1c", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:UNK" ], [ "T1NOS", "N1", "M0", "VALUE:IV" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:IIA" ], [ "T2a", "N1", "M0", "VALUE:IV" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:IIA" ], [ "T2NOS", "N1", "M0", "VALUE:IV" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:IIB" ], [ "T3a", "N1", "M0", "VALUE:IV" ], [ "T3a", "NX", "M0", "VALUE:UNK" ], [ "T3NOS", "N0", "M0", "VALUE:IIB" ], [ "T3NOS", "N1", "M0", "VALUE:IV" ], [ "T3NOS", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IIIA" ], [ "T4a", "N1", "M0", "VALUE:IV" ], [ "T4a", "NX", "M0", "VALUE:UNK" ], [ "T4b", "N0", "M0", "VALUE:IIIB" ], [ "T4b", "N1", "M0", "VALUE:IV" ], [ "T4b", "NX", "M0", "VALUE:UNK" ], [ "T4NOS", "N0", "M0", "VALUE:IIINOS" ], [ "T4NOS", "N1", "M0", "VALUE:IV" ], [ "T4NOS", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1a", "VALUE:IV" ], [ "T0", "N1", "M1a", "VALUE:IV" ], [ "T0", "NX", "M1a", "VALUE:IV" ], [ "T1a", "N0", "M1a", "VALUE:IV" ], [ "T1a", "N1", "M1a", "VALUE:IV" ], [ "T1a", "NX", "M1a", "VALUE:IV" ], [ "T1b", "N0", "M1a", "VALUE:IV" ], [ "T1b", "N1", "M1a", "VALUE:IV" ], [ "T1b", "NX", "M1a", "VALUE:IV" ], [ "T1c", "N0", "M1a", "VALUE:IV" ], [ "T1c", "N1", "M1a", "VALUE:IV" ], [ "T1c", "NX", "M1a", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "VALUE:IV" ], [ "T2a", "N0", "M1a", "VALUE:IV" ], [ "T2a", "N1", "M1a", "VALUE:IV" ], [ "T2a", "NX", "M1a", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "VALUE:IV" ], [ "T3a", "N0", "M1a", "VALUE:IV" ], [ "T3a", "N1", "M1a", "VALUE:IV" ], [ "T3a", "NX", "M1a", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "VALUE:IV" ], [ "T4a", "N0", "M1a", "VALUE:IV" ], [ "T4a", "N1", "M1a", "VALUE:IV" ], [ "T4a", "NX", "M1a", "VALUE:IV" ], [ "T4b", "N0", "M1a", "VALUE:IV" ], [ "T4b", "N1", "M1a", "VALUE:IV" ], [ "T4b", "NX", "M1a", "VALUE:IV" ], [ "T4NOS", "N0", "M1a", "VALUE:IV" ], [ "T4NOS", "N1", "M1a", "VALUE:IV" ], [ "T4NOS", "NX", "M1a", "VALUE:IV" ], [ "TX", "N0", "M1a", "VALUE:IV" ], [ "TX", "N1", "M1a", "VALUE:IV" ], [ "TX", "NX", "M1a", "VALUE:IV" ], [ "T0", "N0", "M1b", "VALUE:IV" ], [ "T0", "N1", "M1b", "VALUE:IV" ], [ "T0", "NX", "M1b", "VALUE:IV" ], [ "T1a", "N0", "M1b", "VALUE:IV" ], [ "T1a", "N1", "M1b", "VALUE:IV" ], [ "T1a", "NX", "M1b", "VALUE:IV" ], [ "T1b", "N0", "M1b", "VALUE:IV" ], [ "T1b", "N1", "M1b", "VALUE:IV" ], [ "T1b", "NX", "M1b", "VALUE:IV" ], [ "T1c", "N0", "M1b", "VALUE:IV" ], [ "T1c", "N1", "M1b", "VALUE:IV" ], [ "T1c", "NX", "M1b", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "VALUE:IV" ], [ "T2a", "N0", "M1b", "VALUE:IV" ], [ "T2a", "N1", "M1b", "VALUE:IV" ], [ "T2a", "NX", "M1b", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "VALUE:IV" ], [ "T3a", "N0", "M1b", "VALUE:IV" ], [ "T3a", "N1", "M1b", "VALUE:IV" ], [ "T3a", "NX", "M1b", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "VALUE:IV" ], [ "T4a", "N0", "M1b", "VALUE:IV" ], [ "T4a", "N1", "M1b", "VALUE:IV" ], [ "T4a", "NX", "M1b", "VALUE:IV" ], [ "T4b", "N0", "M1b", "VALUE:IV" ], [ "T4b", "N1", "M1b", "VALUE:IV" ], [ "T4b", "NX", "M1b", "VALUE:IV" ], [ "T4NOS", "N0", "M1b", "VALUE:IV" ], [ "T4NOS", "N1", "M1b", "VALUE:IV" ], [ "T4NOS", "NX", "M1b", "VALUE:IV" ], [ "TX", "N0", "M1b", "VALUE:IV" ], [ "TX", "N1", "M1b", "VALUE:IV" ], [ "TX", "NX", "M1b", "VALUE:IV" ], [ "T0", "N0", "M1c", "VALUE:IV" ], [ "T0", "N1", "M1c", "VALUE:IV" ], [ "T0", "NX", "M1c", "VALUE:IV" ], [ "T1a", "N0", "M1c", "VALUE:IV" ], [ "T1a", "N1", "M1c", "VALUE:IV" ], [ "T1a", "NX", "M1c", "VALUE:IV" ], [ "T1b", "N0", "M1c", "VALUE:IV" ], [ "T1b", "N1", "M1c", "VALUE:IV" ], [ "T1b", "NX", "M1c", "VALUE:IV" ], [ "T1c", "N0", "M1c", "VALUE:IV" ], [ "T1c", "N1", "M1c", "VALUE:IV" ], [ "T1c", "NX", "M1c", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "VALUE:IV" ], [ "T2a", "N0", "M1c", "VALUE:IV" ], [ "T2a", "N1", "M1c", "VALUE:IV" ], [ "T2a", "NX", "M1c", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "VALUE:IV" ], [ "T3a", "N0", "M1c", "VALUE:IV" ], [ "T3a", "N1", "M1c", "VALUE:IV" ], [ "T3a", "NX", "M1c", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "VALUE:IV" ], [ "T4a", "N0", "M1c", "VALUE:IV" ], [ "T4a", "N1", "M1c", "VALUE:IV" ], [ "T4a", "NX", "M1c", "VALUE:IV" ], [ "T4b", "N0", "M1c", "VALUE:IV" ], [ "T4b", "N1", "M1c", "VALUE:IV" ], [ "T4b", "NX", "M1c", "VALUE:IV" ], [ "T4NOS", "N0", "M1c", "VALUE:IV" ], [ "T4NOS", "N1", "M1c", "VALUE:IV" ], [ "T4NOS", "NX", "M1c", "VALUE:IV" ], [ "TX", "N0", "M1c", "VALUE:IV" ], [ "TX", "N1", "M1c", "VALUE:IV" ], [ "TX", "NX", "M1c", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "VALUE:IV" ], [ "T4a", "N0", "M1NOS", "VALUE:IV" ], [ "T4a", "N1", "M1NOS", "VALUE:IV" ], [ "T4a", "NX", "M1NOS", "VALUE:IV" ], [ "T4b", "N0", "M1NOS", "VALUE:IV" ], [ "T4b", "N1", "M1NOS", "VALUE:IV" ], [ "T4b", "NX", "M1NOS", "VALUE:IV" ], [ "T4NOS", "N0", "M1NOS", "VALUE:IV" ], [ "T4NOS", "N1", "M1NOS", "VALUE:IV" ], [ "T4NOS", "NX", "M1NOS", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uae.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uae.json deleted file mode 100644 index b74be168b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uae.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uae", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:54.711Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:UNK" ], [ "T0", "N2", "M0", "VALUE:UNK" ], [ "T0", "N3a", "M0", "VALUE:IVB" ], [ "T0", "N3b", "M0", "VALUE:IVB" ], [ "T0", "N3NOS", "M0", "VALUE:IVB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "N3a", "M0", "ERROR:" ], [ "Tis", "N3b", "M0", "ERROR:" ], [ "Tis", "N3NOS", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:II" ], [ "T1", "N2", "M0", "VALUE:III" ], [ "T1", "N3a", "M0", "VALUE:IVB" ], [ "T1", "N3b", "M0", "VALUE:IVB" ], [ "T1", "N3NOS", "M0", "VALUE:IVB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:II" ], [ "T2", "N2", "M0", "VALUE:III" ], [ "T2", "N3a", "M0", "VALUE:IVB" ], [ "T2", "N3b", "M0", "VALUE:IVB" ], [ "T2", "N3NOS", "M0", "VALUE:IVB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2", "M0", "VALUE:III" ], [ "T3", "N3a", "M0", "VALUE:IVB" ], [ "T3", "N3b", "M0", "VALUE:IVB" ], [ "T3", "N3NOS", "M0", "VALUE:IVB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IVA" ], [ "T4", "N1", "M0", "VALUE:IVA" ], [ "T4", "N2", "M0", "VALUE:IVA" ], [ "T4", "N3a", "M0", "VALUE:IVB" ], [ "T4", "N3b", "M0", "VALUE:IVB" ], [ "T4", "N3NOS", "M0", "VALUE:IVB" ], [ "T4", "NX", "M0", "VALUE:IVNOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:UNK" ], [ "TX", "N3a", "M0", "VALUE:IVB" ], [ "TX", "N3b", "M0", "VALUE:IVB" ], [ "TX", "N3NOS", "M0", "VALUE:IVB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVC" ], [ "T0", "N1", "M1", "VALUE:IVC" ], [ "T0", "N2", "M1", "VALUE:IVC" ], [ "T0", "N3a", "M1", "VALUE:IVC" ], [ "T0", "N3b", "M1", "VALUE:IVC" ], [ "T0", "N3NOS", "M1", "VALUE:IVC" ], [ "T0", "NX", "M1", "VALUE:IVC" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "N3a", "M1", "ERROR:" ], [ "Tis", "N3b", "M1", "ERROR:" ], [ "Tis", "N3NOS", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IVC" ], [ "T1", "N1", "M1", "VALUE:IVC" ], [ "T1", "N2", "M1", "VALUE:IVC" ], [ "T1", "N3a", "M1", "VALUE:IVC" ], [ "T1", "N3b", "M1", "VALUE:IVC" ], [ "T1", "N3NOS", "M1", "VALUE:IVC" ], [ "T1", "NX", "M1", "VALUE:IVC" ], [ "T2", "N0", "M1", "VALUE:IVC" ], [ "T2", "N1", "M1", "VALUE:IVC" ], [ "T2", "N2", "M1", "VALUE:IVC" ], [ "T2", "N3a", "M1", "VALUE:IVC" ], [ "T2", "N3b", "M1", "VALUE:IVC" ], [ "T2", "N3NOS", "M1", "VALUE:IVC" ], [ "T2", "NX", "M1", "VALUE:IVC" ], [ "T3", "N0", "M1", "VALUE:IVC" ], [ "T3", "N1", "M1", "VALUE:IVC" ], [ "T3", "N2", "M1", "VALUE:IVC" ], [ "T3", "N3a", "M1", "VALUE:IVC" ], [ "T3", "N3b", "M1", "VALUE:IVC" ], [ "T3", "N3NOS", "M1", "VALUE:IVC" ], [ "T3", "NX", "M1", "VALUE:IVC" ], [ "T4", "N0", "M1", "VALUE:IVC" ], [ "T4", "N1", "M1", "VALUE:IVC" ], [ "T4", "N2", "M1", "VALUE:IVC" ], [ "T4", "N3a", "M1", "VALUE:IVC" ], [ "T4", "N3b", "M1", "VALUE:IVC" ], [ "T4", "N3NOS", "M1", "VALUE:IVC" ], [ "T4", "NX", "M1", "VALUE:IVC" ], [ "TX", "N0", "M1", "VALUE:IVC" ], [ "TX", "N1", "M1", "VALUE:IVC" ], [ "TX", "N2", "M1", "VALUE:IVC" ], [ "TX", "N3a", "M1", "VALUE:IVC" ], [ "TX", "N3b", "M1", "VALUE:IVC" ], [ "TX", "N3NOS", "M1", "VALUE:IVC" ], [ "TX", "NX", "M1", "VALUE:IVC" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaf.json deleted file mode 100644 index 10b0259f2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaf.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uaf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:54.766Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:IA" ], [ "T1", "N1", "M0", "VALUE:IIIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:IB" ], [ "T2a", "N1", "M0", "VALUE:IIIB" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:IC" ], [ "T2b", "N1", "M0", "VALUE:IIIB" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:INOS" ], [ "T2NOS", "N1", "M0", "VALUE:IIIB" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:II" ], [ "T3a", "N1", "M0", "VALUE:IIIB" ], [ "T3a", "NX", "M0", "VALUE:UNK" ], [ "T3b", "N0", "M0", "VALUE:IIIA" ], [ "T3b", "N1", "M0", "VALUE:IIIB" ], [ "T3b", "NX", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N0", "M0", "VALUE:UNK" ], [ "T3NOS", "N1", "M0", "VALUE:IIIB" ], [ "T3NOS", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IIIC" ], [ "T4", "N1", "M0", "VALUE:IIIC" ], [ "T4", "NX", "M0", "VALUE:IIIC" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIINOS" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2a", "N0", "M1", "VALUE:IV" ], [ "T2a", "N1", "M1", "VALUE:IV" ], [ "T2a", "NX", "M1", "VALUE:IV" ], [ "T2b", "N0", "M1", "VALUE:IV" ], [ "T2b", "N1", "M1", "VALUE:IV" ], [ "T2b", "NX", "M1", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "VALUE:IV" ], [ "T3a", "N0", "M1", "VALUE:IV" ], [ "T3a", "N1", "M1", "VALUE:IV" ], [ "T3a", "NX", "M1", "VALUE:IV" ], [ "T3b", "N0", "M1", "VALUE:IV" ], [ "T3b", "N1", "M1", "VALUE:IV" ], [ "T3b", "NX", "M1", "VALUE:IV" ], [ "T3NOS", "N0", "M1", "VALUE:IV" ], [ "T3NOS", "N1", "M1", "VALUE:IV" ], [ "T3NOS", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uag.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uag.json deleted file mode 100644 index e50a911a7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uag.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uag", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage-Thyroid: Papillary and Follicular Age less than 45", - "last_modified" : "2015-05-27T16:18:54.821Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ajcc7_stage", - "name" : "Stage Table 7", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "VALUE:I" ], [ "T0", "N1a", "M0", "VALUE:I" ], [ "T0", "N1b", "M0", "VALUE:I" ], [ "T0", "N1NOS", "M0", "VALUE:I" ], [ "T0", "NX", "M0", "VALUE:I" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N1a", "M0", "VALUE:I" ], [ "T1a", "N1b", "M0", "VALUE:I" ], [ "T1a", "N1NOS", "M0", "VALUE:I" ], [ "T1a", "NX", "M0", "VALUE:I" ], [ "T1a(s)", "N0", "M0", "VALUE:I" ], [ "T1a(s)", "N1a", "M0", "VALUE:I" ], [ "T1a(s)", "N1b", "M0", "VALUE:I" ], [ "T1a(s)", "N1NOS", "M0", "VALUE:I" ], [ "T1a(s)", "NX", "M0", "VALUE:I" ], [ "T1a(m)", "N0", "M0", "VALUE:I" ], [ "T1a(m)", "N1a", "M0", "VALUE:I" ], [ "T1a(m)", "N1b", "M0", "VALUE:I" ], [ "T1a(m)", "N1NOS", "M0", "VALUE:I" ], [ "T1a(m)", "NX", "M0", "VALUE:I" ], [ "T1b", "N0", "M0", "VALUE:I" ], [ "T1b", "N1a", "M0", "VALUE:I" ], [ "T1b", "N1b", "M0", "VALUE:I" ], [ "T1b", "N1NOS", "M0", "VALUE:I" ], [ "T1b", "NX", "M0", "VALUE:I" ], [ "T1b(s)", "N0", "M0", "VALUE:I" ], [ "T1b(s)", "N1a", "M0", "VALUE:I" ], [ "T1b(s)", "N1b", "M0", "VALUE:I" ], [ "T1b(s)", "N1NOS", "M0", "VALUE:I" ], [ "T1b(s)", "NX", "M0", "VALUE:I" ], [ "T1b(m)", "N0", "M0", "VALUE:I" ], [ "T1b(m)", "N1a", "M0", "VALUE:I" ], [ "T1b(m)", "N1b", "M0", "VALUE:I" ], [ "T1b(m)", "N1NOS", "M0", "VALUE:I" ], [ "T1b(m)", "NX", "M0", "VALUE:I" ], [ "T1NOS(s)", "N0", "M0", "VALUE:I" ], [ "T1NOS(s)", "N1a", "M0", "VALUE:I" ], [ "T1NOS(s)", "N1b", "M0", "VALUE:I" ], [ "T1NOS(s)", "N1NOS", "M0", "VALUE:I" ], [ "T1NOS(s)", "NX", "M0", "VALUE:I" ], [ "T1NOS(m)", "N0", "M0", "VALUE:I" ], [ "T1NOS(m)", "N1a", "M0", "VALUE:I" ], [ "T1NOS(m)", "N1b", "M0", "VALUE:I" ], [ "T1NOS(m)", "N1NOS", "M0", "VALUE:I" ], [ "T1NOS(m)", "NX", "M0", "VALUE:I" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N1a", "M0", "VALUE:I" ], [ "T1NOS", "N1b", "M0", "VALUE:I" ], [ "T1NOS", "N1NOS", "M0", "VALUE:I" ], [ "T1NOS", "NX", "M0", "VALUE:I" ], [ "T2", "N0", "M0", "VALUE:I" ], [ "T2", "N1a", "M0", "VALUE:I" ], [ "T2", "N1b", "M0", "VALUE:I" ], [ "T2", "N1NOS", "M0", "VALUE:I" ], [ "T2", "NX", "M0", "VALUE:I" ], [ "T2(s)", "N0", "M0", "VALUE:I" ], [ "T2(s)", "N1a", "M0", "VALUE:I" ], [ "T2(s)", "N1b", "M0", "VALUE:I" ], [ "T2(s)", "N1NOS", "M0", "VALUE:I" ], [ "T2(s)", "NX", "M0", "VALUE:I" ], [ "T2(m)", "N0", "M0", "VALUE:I" ], [ "T2(m)", "N1a", "M0", "VALUE:I" ], [ "T2(m)", "N1b", "M0", "VALUE:I" ], [ "T2(m)", "N1NOS", "M0", "VALUE:I" ], [ "T2(m)", "NX", "M0", "VALUE:I" ], [ "T3", "N0", "M0", "VALUE:I" ], [ "T3", "N1a", "M0", "VALUE:I" ], [ "T3", "N1b", "M0", "VALUE:I" ], [ "T3", "N1NOS", "M0", "VALUE:I" ], [ "T3", "NX", "M0", "VALUE:I" ], [ "T3(s)", "N0", "M0", "VALUE:I" ], [ "T3(s)", "N1a", "M0", "VALUE:I" ], [ "T3(s)", "N1b", "M0", "VALUE:I" ], [ "T3(s)", "N1NOS", "M0", "VALUE:I" ], [ "T3(s)", "NX", "M0", "VALUE:I" ], [ "T3(m)", "N0", "M0", "VALUE:I" ], [ "T3(m)", "N1a", "M0", "VALUE:I" ], [ "T3(m)", "N1b", "M0", "VALUE:I" ], [ "T3(m)", "N1NOS", "M0", "VALUE:I" ], [ "T3(m)", "NX", "M0", "VALUE:I" ], [ "T4a", "N0", "M0", "VALUE:I" ], [ "T4a", "N1a", "M0", "VALUE:I" ], [ "T4a", "N1b", "M0", "VALUE:I" ], [ "T4a", "N1NOS", "M0", "VALUE:I" ], [ "T4a", "NX", "M0", "VALUE:I" ], [ "T4a(s)", "N0", "M0", "VALUE:I" ], [ "T4a(s)", "N1a", "M0", "VALUE:I" ], [ "T4a(s)", "N1b", "M0", "VALUE:I" ], [ "T4a(s)", "N1NOS", "M0", "VALUE:I" ], [ "T4a(s)", "NX", "M0", "VALUE:I" ], [ "T4a(m)", "N0", "M0", "VALUE:I" ], [ "T4a(m)", "N1a", "M0", "VALUE:I" ], [ "T4a(m)", "N1b", "M0", "VALUE:I" ], [ "T4a(m)", "N1NOS", "M0", "VALUE:I" ], [ "T4a(m)", "NX", "M0", "VALUE:I" ], [ "T4b", "N0", "M0", "VALUE:I" ], [ "T4b", "N1a", "M0", "VALUE:I" ], [ "T4b", "N1b", "M0", "VALUE:I" ], [ "T4b", "N1NOS", "M0", "VALUE:I" ], [ "T4b", "NX", "M0", "VALUE:I" ], [ "T4b(s)", "N0", "M0", "VALUE:I" ], [ "T4b(s)", "N1a", "M0", "VALUE:I" ], [ "T4b(s)", "N1b", "M0", "VALUE:I" ], [ "T4b(s)", "N1NOS", "M0", "VALUE:I" ], [ "T4b(s)", "NX", "M0", "VALUE:I" ], [ "T4b(m)", "N0", "M0", "VALUE:I" ], [ "T4b(m)", "N1a", "M0", "VALUE:I" ], [ "T4b(m)", "N1b", "M0", "VALUE:I" ], [ "T4b(m)", "N1NOS", "M0", "VALUE:I" ], [ "T4b(m)", "NX", "M0", "VALUE:I" ], [ "T4NOS(s)", "N0", "M0", "VALUE:I" ], [ "T4NOS(s)", "N1a", "M0", "VALUE:I" ], [ "T4NOS(s)", "N1b", "M0", "VALUE:I" ], [ "T4NOS(s)", "N1NOS", "M0", "VALUE:I" ], [ "T4NOS(s)", "NX", "M0", "VALUE:I" ], [ "T4NOS(m)", "N0", "M0", "VALUE:I" ], [ "T4NOS(m)", "N1a", "M0", "VALUE:I" ], [ "T4NOS(m)", "N1b", "M0", "VALUE:I" ], [ "T4NOS(m)", "N1NOS", "M0", "VALUE:I" ], [ "T4NOS(m)", "NX", "M0", "VALUE:I" ], [ "T4NOS", "N0", "M0", "VALUE:I" ], [ "T4NOS", "N1a", "M0", "VALUE:I" ], [ "T4NOS", "N1b", "M0", "VALUE:I" ], [ "T4NOS", "N1NOS", "M0", "VALUE:I" ], [ "T4NOS", "NX", "M0", "VALUE:I" ], [ "TX", "N0", "M0", "VALUE:I" ], [ "TX", "N1a", "M0", "VALUE:I" ], [ "TX", "N1b", "M0", "VALUE:I" ], [ "TX", "N1NOS", "M0", "VALUE:I" ], [ "TX", "NX", "M0", "VALUE:I" ], [ "T0", "N0", "M1", "VALUE:II" ], [ "T0", "N1a", "M1", "VALUE:II" ], [ "T0", "N1b", "M1", "VALUE:II" ], [ "T0", "N1NOS", "M1", "VALUE:II" ], [ "T0", "NX", "M1", "VALUE:II" ], [ "T1a", "N0", "M1", "VALUE:II" ], [ "T1a", "N1a", "M1", "VALUE:II" ], [ "T1a", "N1b", "M1", "VALUE:II" ], [ "T1a", "N1NOS", "M1", "VALUE:II" ], [ "T1a", "NX", "M1", "VALUE:II" ], [ "T1a(s)", "N0", "M1", "VALUE:II" ], [ "T1a(s)", "N1a", "M1", "VALUE:II" ], [ "T1a(s)", "N1b", "M1", "VALUE:II" ], [ "T1a(s)", "N1NOS", "M1", "VALUE:II" ], [ "T1a(s)", "NX", "M1", "VALUE:II" ], [ "T1a(m)", "N0", "M1", "VALUE:II" ], [ "T1a(m)", "N1a", "M1", "VALUE:II" ], [ "T1a(m)", "N1b", "M1", "VALUE:II" ], [ "T1a(m)", "N1NOS", "M1", "VALUE:II" ], [ "T1a(m)", "NX", "M1", "VALUE:II" ], [ "T1b", "N0", "M1", "VALUE:II" ], [ "T1b", "N1a", "M1", "VALUE:II" ], [ "T1b", "N1b", "M1", "VALUE:II" ], [ "T1b", "N1NOS", "M1", "VALUE:II" ], [ "T1b", "NX", "M1", "VALUE:II" ], [ "T1b(s)", "N0", "M1", "VALUE:II" ], [ "T1b(s)", "N1a", "M1", "VALUE:II" ], [ "T1b(s)", "N1b", "M1", "VALUE:II" ], [ "T1b(s)", "N1NOS", "M1", "VALUE:II" ], [ "T1b(s)", "NX", "M1", "VALUE:II" ], [ "T1b(m)", "N0", "M1", "VALUE:II" ], [ "T1b(m)", "N1a", "M1", "VALUE:II" ], [ "T1b(m)", "N1b", "M1", "VALUE:II" ], [ "T1b(m)", "N1NOS", "M1", "VALUE:II" ], [ "T1b(m)", "NX", "M1", "VALUE:II" ], [ "T1NOS(s)", "N0", "M1", "VALUE:II" ], [ "T1NOS(s)", "N1a", "M1", "VALUE:II" ], [ "T1NOS(s)", "N1b", "M1", "VALUE:II" ], [ "T1NOS(s)", "N1NOS", "M1", "VALUE:II" ], [ "T1NOS(s)", "NX", "M1", "VALUE:II" ], [ "T1NOS(m)", "N0", "M1", "VALUE:II" ], [ "T1NOS(m)", "N1a", "M1", "VALUE:II" ], [ "T1NOS(m)", "N1b", "M1", "VALUE:II" ], [ "T1NOS(m)", "N1NOS", "M1", "VALUE:II" ], [ "T1NOS(m)", "NX", "M1", "VALUE:II" ], [ "T1NOS", "N0", "M1", "VALUE:II" ], [ "T1NOS", "N1a", "M1", "VALUE:II" ], [ "T1NOS", "N1b", "M1", "VALUE:II" ], [ "T1NOS", "N1NOS", "M1", "VALUE:II" ], [ "T1NOS", "NX", "M1", "VALUE:II" ], [ "T2", "N0", "M1", "VALUE:II" ], [ "T2", "N1a", "M1", "VALUE:II" ], [ "T2", "N1b", "M1", "VALUE:II" ], [ "T2", "N1NOS", "M1", "VALUE:II" ], [ "T2", "NX", "M1", "VALUE:II" ], [ "T2(s)", "N0", "M1", "VALUE:II" ], [ "T2(s)", "N1a", "M1", "VALUE:II" ], [ "T2(s)", "N1b", "M1", "VALUE:II" ], [ "T2(s)", "N1NOS", "M1", "VALUE:II" ], [ "T2(s)", "NX", "M1", "VALUE:II" ], [ "T2(m)", "N0", "M1", "VALUE:II" ], [ "T2(m)", "N1a", "M1", "VALUE:II" ], [ "T2(m)", "N1b", "M1", "VALUE:II" ], [ "T2(m)", "N1NOS", "M1", "VALUE:II" ], [ "T2(m)", "NX", "M1", "VALUE:II" ], [ "T3", "N0", "M1", "VALUE:II" ], [ "T3", "N1a", "M1", "VALUE:II" ], [ "T3", "N1b", "M1", "VALUE:II" ], [ "T3", "N1NOS", "M1", "VALUE:II" ], [ "T3", "NX", "M1", "VALUE:II" ], [ "T3(s)", "N0", "M1", "VALUE:II" ], [ "T3(s)", "N1a", "M1", "VALUE:II" ], [ "T3(s)", "N1b", "M1", "VALUE:II" ], [ "T3(s)", "N1NOS", "M1", "VALUE:II" ], [ "T3(s)", "NX", "M1", "VALUE:II" ], [ "T3(m)", "N0", "M1", "VALUE:II" ], [ "T3(m)", "N1a", "M1", "VALUE:II" ], [ "T3(m)", "N1b", "M1", "VALUE:II" ], [ "T3(m)", "N1NOS", "M1", "VALUE:II" ], [ "T3(m)", "NX", "M1", "VALUE:II" ], [ "T4a", "N0", "M1", "VALUE:II" ], [ "T4a", "N1a", "M1", "VALUE:II" ], [ "T4a", "N1b", "M1", "VALUE:II" ], [ "T4a", "N1NOS", "M1", "VALUE:II" ], [ "T4a", "NX", "M1", "VALUE:II" ], [ "T4a(s)", "N0", "M1", "VALUE:II" ], [ "T4a(s)", "N1a", "M1", "VALUE:II" ], [ "T4a(s)", "N1b", "M1", "VALUE:II" ], [ "T4a(s)", "N1NOS", "M1", "VALUE:II" ], [ "T4a(s)", "NX", "M1", "VALUE:II" ], [ "T4a(m)", "N0", "M1", "VALUE:II" ], [ "T4a(m)", "N1a", "M1", "VALUE:II" ], [ "T4a(m)", "N1b", "M1", "VALUE:II" ], [ "T4a(m)", "N1NOS", "M1", "VALUE:II" ], [ "T4a(m)", "NX", "M1", "VALUE:II" ], [ "T4b", "N0", "M1", "VALUE:II" ], [ "T4b", "N1a", "M1", "VALUE:II" ], [ "T4b", "N1b", "M1", "VALUE:II" ], [ "T4b", "N1NOS", "M1", "VALUE:II" ], [ "T4b", "NX", "M1", "VALUE:II" ], [ "T4b(s)", "N0", "M1", "VALUE:II" ], [ "T4b(s)", "N1a", "M1", "VALUE:II" ], [ "T4b(s)", "N1b", "M1", "VALUE:II" ], [ "T4b(s)", "N1NOS", "M1", "VALUE:II" ], [ "T4b(s)", "NX", "M1", "VALUE:II" ], [ "T4b(m)", "N0", "M1", "VALUE:II" ], [ "T4b(m)", "N1a", "M1", "VALUE:II" ], [ "T4b(m)", "N1b", "M1", "VALUE:II" ], [ "T4b(m)", "N1NOS", "M1", "VALUE:II" ], [ "T4b(m)", "NX", "M1", "VALUE:II" ], [ "T4NOS(s)", "N0", "M1", "VALUE:II" ], [ "T4NOS(s)", "N1a", "M1", "VALUE:II" ], [ "T4NOS(s)", "N1b", "M1", "VALUE:II" ], [ "T4NOS(s)", "N1NOS", "M1", "VALUE:II" ], [ "T4NOS(s)", "NX", "M1", "VALUE:II" ], [ "T4NOS(m)", "N0", "M1", "VALUE:II" ], [ "T4NOS(m)", "N1a", "M1", "VALUE:II" ], [ "T4NOS(m)", "N1b", "M1", "VALUE:II" ], [ "T4NOS(m)", "N1NOS", "M1", "VALUE:II" ], [ "T4NOS(m)", "NX", "M1", "VALUE:II" ], [ "T4NOS", "N0", "M1", "VALUE:II" ], [ "T4NOS", "N1a", "M1", "VALUE:II" ], [ "T4NOS", "N1b", "M1", "VALUE:II" ], [ "T4NOS", "N1NOS", "M1", "VALUE:II" ], [ "T4NOS", "NX", "M1", "VALUE:II" ], [ "TX", "N0", "M1", "VALUE:II" ], [ "TX", "N1a", "M1", "VALUE:II" ], [ "TX", "N1b", "M1", "VALUE:II" ], [ "TX", "N1NOS", "M1", "VALUE:II" ], [ "TX", "NX", "M1", "VALUE:II" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uak.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uak.json deleted file mode 100644 index 2f04f0a24..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uak.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uak", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:54.906Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N1", "M0", "VALUE:III" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:I" ], [ "T1b", "N1", "M0", "VALUE:III" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N1", "M0", "VALUE:III" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:II" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:III" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ual.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ual.json deleted file mode 100644 index e833928e3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ual.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ual", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:54.958Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIA" ], [ "T0", "N2", "M0", "VALUE:IIIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N1", "M0", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "VALUE:IIIB" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:I" ], [ "T1b", "N1", "M0", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "VALUE:IIIB" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N1", "M0", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "VALUE:IIIB" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:I" ], [ "T2", "N1", "M0", "VALUE:IIIA" ], [ "T2", "N2", "M0", "VALUE:IIIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIA" ], [ "T3", "N1", "M0", "VALUE:IIIA" ], [ "T3", "N2", "M0", "VALUE:IIIB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IIB" ], [ "T4", "N1", "M0", "VALUE:IIIA" ], [ "T4", "N2", "M0", "VALUE:IIIB" ], [ "T4", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIIA" ], [ "TX", "N2", "M0", "VALUE:IIIB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "N2", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "N2", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uam.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uam.json deleted file mode 100644 index b04ff376e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uam.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uam", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:55.008Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:UNK" ], [ "T0", "N2", "M0", "VALUE:UNK" ], [ "T0", "N3a", "M0", "VALUE:UNK" ], [ "T0", "N3b", "M0", "VALUE:UNK" ], [ "T0", "N3NOS", "M0", "VALUE:UNK" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "N3a", "M0", "ERROR:" ], [ "Tis", "N3b", "M0", "ERROR:" ], [ "Tis", "N3NOS", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N1", "M0", "VALUE:IB" ], [ "T1a", "N2", "M0", "VALUE:IIA" ], [ "T1a", "N3a", "M0", "VALUE:IIB" ], [ "T1a", "N3b", "M0", "VALUE:IIB" ], [ "T1a", "N3NOS", "M0", "VALUE:IIB" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IA" ], [ "T1b", "N1", "M0", "VALUE:IB" ], [ "T1b", "N2", "M0", "VALUE:IIA" ], [ "T1b", "N3a", "M0", "VALUE:IIB" ], [ "T1b", "N3b", "M0", "VALUE:IIB" ], [ "T1b", "N3NOS", "M0", "VALUE:IIB" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:IA" ], [ "T1NOS", "N1", "M0", "VALUE:IB" ], [ "T1NOS", "N2", "M0", "VALUE:IIA" ], [ "T1NOS", "N3a", "M0", "VALUE:IIB" ], [ "T1NOS", "N3b", "M0", "VALUE:IIB" ], [ "T1NOS", "N3NOS", "M0", "VALUE:IIB" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IB" ], [ "T2", "N1", "M0", "VALUE:IIA" ], [ "T2", "N2", "M0", "VALUE:IIB" ], [ "T2", "N3a", "M0", "VALUE:IIIA" ], [ "T2", "N3b", "M0", "VALUE:IIIA" ], [ "T2", "N3NOS", "M0", "VALUE:IIIA" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIA" ], [ "T3", "N1", "M0", "VALUE:IIB" ], [ "T3", "N2", "M0", "VALUE:IIIA" ], [ "T3", "N3a", "M0", "VALUE:IIIB" ], [ "T3", "N3b", "M0", "VALUE:IIIB" ], [ "T3", "N3NOS", "M0", "VALUE:IIIB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IIB" ], [ "T4a", "N1", "M0", "VALUE:IIIA" ], [ "T4a", "N2", "M0", "VALUE:IIIB" ], [ "T4a", "N3a", "M0", "VALUE:IIIC" ], [ "T4a", "N3b", "M0", "VALUE:IIIC" ], [ "T4a", "N3NOS", "M0", "VALUE:IIIC" ], [ "T4a", "NX", "M0", "VALUE:UNK" ], [ "T4b", "N0", "M0", "VALUE:IIIB" ], [ "T4b", "N1", "M0", "VALUE:IIIB" ], [ "T4b", "N2", "M0", "VALUE:IIIC" ], [ "T4b", "N3a", "M0", "VALUE:IIIC" ], [ "T4b", "N3b", "M0", "VALUE:IIIC" ], [ "T4b", "N3NOS", "M0", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "VALUE:IIINOS" ], [ "T4NOS", "N0", "M0", "VALUE:IIB" ], [ "T4NOS", "N1", "M0", "VALUE:IIIA" ], [ "T4NOS", "N2", "M0", "VALUE:IIINOS" ], [ "T4NOS", "N3a", "M0", "VALUE:IIIC" ], [ "T4NOS", "N3b", "M0", "VALUE:IIIC" ], [ "T4NOS", "N3NOS", "M0", "VALUE:IIIC" ], [ "T4NOS", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:UNK" ], [ "TX", "N3a", "M0", "VALUE:UNK" ], [ "TX", "N3b", "M0", "VALUE:UNK" ], [ "TX", "N3NOS", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "N3a", "M1", "VALUE:IV" ], [ "T0", "N3b", "M1", "VALUE:IV" ], [ "T0", "N3NOS", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "N3a", "M1", "ERROR:" ], [ "Tis", "N3b", "M1", "ERROR:" ], [ "Tis", "N3NOS", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "N2", "M1", "VALUE:IV" ], [ "T1a", "N3a", "M1", "VALUE:IV" ], [ "T1a", "N3b", "M1", "VALUE:IV" ], [ "T1a", "N3NOS", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "N2", "M1", "VALUE:IV" ], [ "T1b", "N3a", "M1", "VALUE:IV" ], [ "T1b", "N3b", "M1", "VALUE:IV" ], [ "T1b", "N3NOS", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "VALUE:IV" ], [ "T1NOS", "N3a", "M1", "VALUE:IV" ], [ "T1NOS", "N3b", "M1", "VALUE:IV" ], [ "T1NOS", "N3NOS", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2", "M1", "VALUE:IV" ], [ "T2", "N3a", "M1", "VALUE:IV" ], [ "T2", "N3b", "M1", "VALUE:IV" ], [ "T2", "N3NOS", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "N3a", "M1", "VALUE:IV" ], [ "T3", "N3b", "M1", "VALUE:IV" ], [ "T3", "N3NOS", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4a", "N0", "M1", "VALUE:IV" ], [ "T4a", "N1", "M1", "VALUE:IV" ], [ "T4a", "N2", "M1", "VALUE:IV" ], [ "T4a", "N3a", "M1", "VALUE:IV" ], [ "T4a", "N3b", "M1", "VALUE:IV" ], [ "T4a", "N3NOS", "M1", "VALUE:IV" ], [ "T4a", "NX", "M1", "VALUE:IV" ], [ "T4b", "N0", "M1", "VALUE:IV" ], [ "T4b", "N1", "M1", "VALUE:IV" ], [ "T4b", "N2", "M1", "VALUE:IV" ], [ "T4b", "N3a", "M1", "VALUE:IV" ], [ "T4b", "N3b", "M1", "VALUE:IV" ], [ "T4b", "N3NOS", "M1", "VALUE:IV" ], [ "T4b", "NX", "M1", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "VALUE:IV" ], [ "T4NOS", "N3a", "M1", "VALUE:IV" ], [ "T4NOS", "N3b", "M1", "VALUE:IV" ], [ "T4NOS", "N3NOS", "M1", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "N3a", "M1", "VALUE:IV" ], [ "TX", "N3b", "M1", "VALUE:IV" ], [ "TX", "N3NOS", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uao.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uao.json deleted file mode 100644 index d4587cefe..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uao.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uao", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:55.090Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IIIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IIA" ], [ "T2", "N1", "M0", "VALUE:IIIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIB" ], [ "T3", "N1", "M0", "VALUE:IIIB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IIIA" ], [ "T4", "N1", "M0", "VALUE:IIIB" ], [ "T4", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIIB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uap.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uap.json deleted file mode 100644 index 035ce400a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uap.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc7_stage_uap", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:55.174Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "High", "ERROR:" ], [ "T0", "N0", "M0", "Low", "ERROR:" ], [ "T0", "N0", "M0", "Unknown", "ERROR:" ], [ "T0", "N1", "M0", "High", "VALUE:IV" ], [ "T0", "N1", "M0", "Low", "VALUE:IV" ], [ "T0", "N1", "M0", "Unknown", "VALUE:IV" ], [ "T1", "N0", "M0", "High", "VALUE:II" ], [ "T1", "N0", "M0", "Low", "VALUE:IA" ], [ "T1", "N0", "M0", "Unknown", "VALUE:UNK" ], [ "T1", "N1", "M0", "High", "VALUE:IV" ], [ "T1", "N1", "M0", "Low", "VALUE:IV" ], [ "T1", "N1", "M0", "Unknown", "VALUE:IV" ], [ "T2", "N0", "M0", "High", "VALUE:II" ], [ "T2", "N0", "M0", "Low", "VALUE:IA" ], [ "T2", "N0", "M0", "Unknown", "VALUE:UNK" ], [ "T2", "N1", "M0", "High", "VALUE:IV" ], [ "T2", "N1", "M0", "Low", "VALUE:IV" ], [ "T2", "N1", "M0", "Unknown", "VALUE:IV" ], [ "T3", "N0", "M0", "High", "VALUE:IIIA" ], [ "T3", "N0", "M0", "Low", "VALUE:IB" ], [ "T3", "N0", "M0", "Unknown", "VALUE:UNK" ], [ "T3", "N1", "M0", "High", "VALUE:IV" ], [ "T3", "N1", "M0", "Low", "VALUE:IV" ], [ "T3", "N1", "M0", "Unknown", "VALUE:IV" ], [ "T4", "N0", "M0", "High", "VALUE:IIIB" ], [ "T4", "N0", "M0", "Low", "VALUE:II" ], [ "T4", "N0", "M0", "Unknown", "VALUE:UNK" ], [ "T4", "N1", "M0", "High", "VALUE:IV" ], [ "T4", "N1", "M0", "Low", "VALUE:IV" ], [ "T4", "N1", "M0", "Unknown", "VALUE:IV" ], [ "TX", "N0", "M0", "High", "VALUE:UNK" ], [ "TX", "N0", "M0", "Low", "VALUE:UNK" ], [ "TX", "N0", "M0", "Unknown", "VALUE:UNK" ], [ "TX", "N1", "M0", "High", "VALUE:IV" ], [ "TX", "N1", "M0", "Low", "VALUE:IV" ], [ "TX", "N1", "M0", "Unknown", "VALUE:IV" ], [ "T0", "N0", "M1", "High", "VALUE:IV" ], [ "T0", "N0", "M1", "Low", "VALUE:IV" ], [ "T0", "N0", "M1", "Unknown", "VALUE:IV" ], [ "T0", "N1", "M1", "High", "VALUE:IV" ], [ "T0", "N1", "M1", "Low", "VALUE:IV" ], [ "T0", "N1", "M1", "Unknown", "VALUE:IV" ], [ "T1", "N0", "M1", "High", "VALUE:IV" ], [ "T1", "N0", "M1", "Low", "VALUE:IV" ], [ "T1", "N0", "M1", "Unknown", "VALUE:IV" ], [ "T1", "N1", "M1", "High", "VALUE:IV" ], [ "T1", "N1", "M1", "Low", "VALUE:IV" ], [ "T1", "N1", "M1", "Unknown", "VALUE:IV" ], [ "T2", "N0", "M1", "High", "VALUE:IV" ], [ "T2", "N0", "M1", "Low", "VALUE:IV" ], [ "T2", "N0", "M1", "Unknown", "VALUE:IV" ], [ "T2", "N1", "M1", "High", "VALUE:IV" ], [ "T2", "N1", "M1", "Low", "VALUE:IV" ], [ "T2", "N1", "M1", "Unknown", "VALUE:IV" ], [ "T3", "N0", "M1", "High", "VALUE:IV" ], [ "T3", "N0", "M1", "Low", "VALUE:IV" ], [ "T3", "N0", "M1", "Unknown", "VALUE:IV" ], [ "T3", "N1", "M1", "High", "VALUE:IV" ], [ "T3", "N1", "M1", "Low", "VALUE:IV" ], [ "T3", "N1", "M1", "Unknown", "VALUE:IV" ], [ "T4", "N0", "M1", "High", "VALUE:IV" ], [ "T4", "N0", "M1", "Low", "VALUE:IV" ], [ "T4", "N0", "M1", "Unknown", "VALUE:IV" ], [ "T4", "N1", "M1", "High", "VALUE:IV" ], [ "T4", "N1", "M1", "Low", "VALUE:IV" ], [ "T4", "N1", "M1", "Unknown", "VALUE:IV" ], [ "TX", "N0", "M1", "High", "VALUE:IV" ], [ "TX", "N0", "M1", "Low", "VALUE:IV" ], [ "TX", "N0", "M1", "Unknown", "VALUE:IV" ], [ "TX", "N1", "M1", "High", "VALUE:IV" ], [ "TX", "N1", "M1", "Low", "VALUE:IV" ], [ "TX", "N1", "M1", "Unknown", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaq.json deleted file mode 100644 index 6dbf17a68..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaq.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uaq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:55.263Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "N2", "M0", "VALUE:III" ], [ "T0", "N3", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N1", "M0", "VALUE:III" ], [ "T1a", "N2", "M0", "VALUE:III" ], [ "T1a", "N3", "M0", "VALUE:IV" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IB" ], [ "T1b", "N1", "M0", "VALUE:III" ], [ "T1b", "N2", "M0", "VALUE:III" ], [ "T1b", "N3", "M0", "VALUE:IV" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N1", "M0", "VALUE:III" ], [ "T1NOS", "N2", "M0", "VALUE:III" ], [ "T1NOS", "N3", "M0", "VALUE:IV" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "N2", "M0", "VALUE:III" ], [ "T2", "N3", "M0", "VALUE:IV" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2", "M0", "VALUE:III" ], [ "T3", "N3", "M0", "VALUE:IV" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IV" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "N2", "M0", "VALUE:IV" ], [ "T4", "N3", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:IV" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:III" ], [ "TX", "N2", "M0", "VALUE:III" ], [ "TX", "N3", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "N3", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "N2", "M1", "VALUE:IV" ], [ "T1a", "N3", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "N2", "M1", "VALUE:IV" ], [ "T1b", "N3", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2", "M1", "VALUE:IV" ], [ "T2", "N3", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "N3", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "N3", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "N3", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uar.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uar.json deleted file mode 100644 index c0a804814..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uar.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc7_stage_uar", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:55.353Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade_category", - "name" : "C", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "C1", "ERROR:" ], [ "T0", "N0", "M0", "C2", "ERROR:" ], [ "T0", "N0", "M0", "C3", "ERROR:" ], [ "T0", "N0", "M0", "C4", "ERROR:" ], [ "T0", "N0", "M0", "CX", "ERROR:" ], [ "T0", "N1", "M0", "C1", "VALUE:IIINOS" ], [ "T0", "N1", "M0", "C2", "VALUE:IIINOS" ], [ "T0", "N1", "M0", "C3", "VALUE:IIINOS" ], [ "T0", "N1", "M0", "C4", "VALUE:IIINOS" ], [ "T0", "N1", "M0", "CX", "VALUE:IIINOS" ], [ "T0", "N2", "M0", "C1", "VALUE:IIIC" ], [ "T0", "N2", "M0", "C2", "VALUE:IIIC" ], [ "T0", "N2", "M0", "C3", "VALUE:IIIC" ], [ "T0", "N2", "M0", "C4", "VALUE:IIIC" ], [ "T0", "N2", "M0", "CX", "VALUE:IIIC" ], [ "T0", "NX", "M0", "C1", "VALUE:UNK" ], [ "T0", "NX", "M0", "C2", "VALUE:UNK" ], [ "T0", "NX", "M0", "C3", "VALUE:UNK" ], [ "T0", "NX", "M0", "C4", "VALUE:UNK" ], [ "T0", "NX", "M0", "CX", "VALUE:UNK" ], [ "Tis", "N0", "M0", "C1", "VALUE:0" ], [ "Tis", "N0", "M0", "C2", "VALUE:0" ], [ "Tis", "N0", "M0", "C3", "VALUE:0" ], [ "Tis", "N0", "M0", "C4", "VALUE:0" ], [ "Tis", "N0", "M0", "CX", "VALUE:0" ], [ "Tis", "N1", "M0", "C1", "ERROR:" ], [ "Tis", "N1", "M0", "C2", "ERROR:" ], [ "Tis", "N1", "M0", "C3", "ERROR:" ], [ "Tis", "N1", "M0", "C4", "ERROR:" ], [ "Tis", "N1", "M0", "CX", "ERROR:" ], [ "Tis", "N2", "M0", "C1", "ERROR:" ], [ "Tis", "N2", "M0", "C2", "ERROR:" ], [ "Tis", "N2", "M0", "C3", "ERROR:" ], [ "Tis", "N2", "M0", "C4", "ERROR:" ], [ "Tis", "N2", "M0", "CX", "ERROR:" ], [ "Tis", "NX", "M0", "C1", "VALUE:0" ], [ "Tis", "NX", "M0", "C2", "VALUE:0" ], [ "Tis", "NX", "M0", "C3", "VALUE:0" ], [ "Tis", "NX", "M0", "C4", "VALUE:0" ], [ "Tis", "NX", "M0", "CX", "VALUE:0" ], [ "T1", "N0", "M0", "C1", "VALUE:I" ], [ "T1", "N0", "M0", "C2", "VALUE:I" ], [ "T1", "N0", "M0", "C3", "VALUE:I" ], [ "T1", "N0", "M0", "C4", "VALUE:I" ], [ "T1", "N0", "M0", "CX", "VALUE:I" ], [ "T1", "N1", "M0", "C1", "VALUE:IIIA" ], [ "T1", "N1", "M0", "C2", "VALUE:IIIA" ], [ "T1", "N1", "M0", "C3", "VALUE:IIIA" ], [ "T1", "N1", "M0", "C4", "VALUE:IIIA" ], [ "T1", "N1", "M0", "CX", "VALUE:IIIA" ], [ "T1", "N2", "M0", "C1", "VALUE:IIIC" ], [ "T1", "N2", "M0", "C2", "VALUE:IIIC" ], [ "T1", "N2", "M0", "C3", "VALUE:IIIC" ], [ "T1", "N2", "M0", "C4", "VALUE:IIIC" ], [ "T1", "N2", "M0", "CX", "VALUE:IIIC" ], [ "T1", "NX", "M0", "C1", "VALUE:UNK" ], [ "T1", "NX", "M0", "C2", "VALUE:UNK" ], [ "T1", "NX", "M0", "C3", "VALUE:UNK" ], [ "T1", "NX", "M0", "C4", "VALUE:UNK" ], [ "T1", "NX", "M0", "CX", "VALUE:UNK" ], [ "T2", "N0", "M0", "C1", "VALUE:I" ], [ "T2", "N0", "M0", "C2", "VALUE:I" ], [ "T2", "N0", "M0", "C3", "VALUE:I" ], [ "T2", "N0", "M0", "C4", "VALUE:I" ], [ "T2", "N0", "M0", "CX", "VALUE:I" ], [ "T2", "N1", "M0", "C1", "VALUE:IIIA" ], [ "T2", "N1", "M0", "C2", "VALUE:IIIA" ], [ "T2", "N1", "M0", "C3", "VALUE:IIIA" ], [ "T2", "N1", "M0", "C4", "VALUE:IIIA" ], [ "T2", "N1", "M0", "CX", "VALUE:IIIA" ], [ "T2", "N2", "M0", "C1", "VALUE:IIIC" ], [ "T2", "N2", "M0", "C2", "VALUE:IIIC" ], [ "T2", "N2", "M0", "C3", "VALUE:IIIC" ], [ "T2", "N2", "M0", "C4", "VALUE:IIIC" ], [ "T2", "N2", "M0", "CX", "VALUE:IIIC" ], [ "T2", "NX", "M0", "C1", "VALUE:UNK" ], [ "T2", "NX", "M0", "C2", "VALUE:UNK" ], [ "T2", "NX", "M0", "C3", "VALUE:UNK" ], [ "T2", "NX", "M0", "C4", "VALUE:UNK" ], [ "T2", "NX", "M0", "CX", "VALUE:UNK" ], [ "T3", "N0", "M0", "C1", "VALUE:IIA" ], [ "T3", "N0", "M0", "C2", "VALUE:IIA" ], [ "T3", "N0", "M0", "C3", "VALUE:IIA" ], [ "T3", "N0", "M0", "C4", "VALUE:IIA" ], [ "T3", "N0", "M0", "CX", "VALUE:IIA" ], [ "T3", "N1", "M0", "C1", "VALUE:IIIB" ], [ "T3", "N1", "M0", "C2", "VALUE:IIIB" ], [ "T3", "N1", "M0", "C3", "VALUE:IIIB" ], [ "T3", "N1", "M0", "C4", "VALUE:IIIB" ], [ "T3", "N1", "M0", "CX", "VALUE:IIIB" ], [ "T3", "N2", "M0", "C1", "VALUE:IIIC" ], [ "T3", "N2", "M0", "C2", "VALUE:IIIC" ], [ "T3", "N2", "M0", "C3", "VALUE:IIIC" ], [ "T3", "N2", "M0", "C4", "VALUE:IIIC" ], [ "T3", "N2", "M0", "CX", "VALUE:IIIC" ], [ "T3", "NX", "M0", "C1", "VALUE:UNK" ], [ "T3", "NX", "M0", "C2", "VALUE:UNK" ], [ "T3", "NX", "M0", "C3", "VALUE:UNK" ], [ "T3", "NX", "M0", "C4", "VALUE:UNK" ], [ "T3", "NX", "M0", "CX", "VALUE:UNK" ], [ "T4a", "N0", "M0", "C1", "VALUE:IIB" ], [ "T4a", "N0", "M0", "C2", "VALUE:IIB" ], [ "T4a", "N0", "M0", "C3", "VALUE:IIB" ], [ "T4a", "N0", "M0", "C4", "VALUE:IIB" ], [ "T4a", "N0", "M0", "CX", "VALUE:IIB" ], [ "T4a", "N1", "M0", "C1", "VALUE:IIIB" ], [ "T4a", "N1", "M0", "C2", "VALUE:IIIB" ], [ "T4a", "N1", "M0", "C3", "VALUE:IIIB" ], [ "T4a", "N1", "M0", "C4", "VALUE:IIIB" ], [ "T4a", "N1", "M0", "CX", "VALUE:IIIB" ], [ "T4a", "N2", "M0", "C1", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "C2", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "C3", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "C4", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "CX", "VALUE:IIIC" ], [ "T4a", "NX", "M0", "C1", "VALUE:UNK" ], [ "T4a", "NX", "M0", "C2", "VALUE:UNK" ], [ "T4a", "NX", "M0", "C3", "VALUE:UNK" ], [ "T4a", "NX", "M0", "C4", "VALUE:UNK" ], [ "T4a", "NX", "M0", "CX", "VALUE:UNK" ], [ "T4b", "N0", "M0", "C1", "VALUE:IIC" ], [ "T4b", "N0", "M0", "C2", "VALUE:IIC" ], [ "T4b", "N0", "M0", "C3", "VALUE:IIC" ], [ "T4b", "N0", "M0", "C4", "VALUE:IIC" ], [ "T4b", "N0", "M0", "CX", "VALUE:IIC" ], [ "T4b", "N1", "M0", "C1", "VALUE:IIIB" ], [ "T4b", "N1", "M0", "C2", "VALUE:IIIB" ], [ "T4b", "N1", "M0", "C3", "VALUE:IIIB" ], [ "T4b", "N1", "M0", "C4", "VALUE:IIIB" ], [ "T4b", "N1", "M0", "CX", "VALUE:IIIB" ], [ "T4b", "N2", "M0", "C1", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "C2", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "C3", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "C4", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "CX", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "C1", "VALUE:UNK" ], [ "T4b", "NX", "M0", "C2", "VALUE:UNK" ], [ "T4b", "NX", "M0", "C3", "VALUE:UNK" ], [ "T4b", "NX", "M0", "C4", "VALUE:UNK" ], [ "T4b", "NX", "M0", "CX", "VALUE:UNK" ], [ "T4NOS", "N0", "M0", "C1", "VALUE:IINOS" ], [ "T4NOS", "N0", "M0", "C2", "VALUE:IINOS" ], [ "T4NOS", "N0", "M0", "C3", "VALUE:IINOS" ], [ "T4NOS", "N0", "M0", "C4", "VALUE:IINOS" ], [ "T4NOS", "N0", "M0", "CX", "VALUE:IINOS" ], [ "T4NOS", "N1", "M0", "C1", "VALUE:IIIB" ], [ "T4NOS", "N1", "M0", "C2", "VALUE:IIIB" ], [ "T4NOS", "N1", "M0", "C3", "VALUE:IIIB" ], [ "T4NOS", "N1", "M0", "C4", "VALUE:IIIB" ], [ "T4NOS", "N1", "M0", "CX", "VALUE:IIIB" ], [ "T4NOS", "N2", "M0", "C1", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "C2", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "C3", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "C4", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "CX", "VALUE:IIIC" ], [ "T4NOS", "NX", "M0", "C1", "VALUE:UNK" ], [ "T4NOS", "NX", "M0", "C2", "VALUE:UNK" ], [ "T4NOS", "NX", "M0", "C3", "VALUE:UNK" ], [ "T4NOS", "NX", "M0", "C4", "VALUE:UNK" ], [ "T4NOS", "NX", "M0", "CX", "VALUE:UNK" ], [ "TX", "N0", "M0", "C1", "VALUE:UNK" ], [ "TX", "N0", "M0", "C2", "VALUE:UNK" ], [ "TX", "N0", "M0", "C3", "VALUE:UNK" ], [ "TX", "N0", "M0", "C4", "VALUE:UNK" ], [ "TX", "N0", "M0", "CX", "VALUE:UNK" ], [ "TX", "N1", "M0", "C1", "VALUE:IIINOS" ], [ "TX", "N1", "M0", "C2", "VALUE:IIINOS" ], [ "TX", "N1", "M0", "C3", "VALUE:IIINOS" ], [ "TX", "N1", "M0", "C4", "VALUE:IIINOS" ], [ "TX", "N1", "M0", "CX", "VALUE:IIINOS" ], [ "TX", "N2", "M0", "C1", "VALUE:IIIC" ], [ "TX", "N2", "M0", "C2", "VALUE:IIIC" ], [ "TX", "N2", "M0", "C3", "VALUE:IIIC" ], [ "TX", "N2", "M0", "C4", "VALUE:IIIC" ], [ "TX", "N2", "M0", "CX", "VALUE:IIIC" ], [ "TX", "NX", "M0", "C1", "VALUE:UNK" ], [ "TX", "NX", "M0", "C2", "VALUE:UNK" ], [ "TX", "NX", "M0", "C3", "VALUE:UNK" ], [ "TX", "NX", "M0", "C4", "VALUE:UNK" ], [ "TX", "NX", "M0", "CX", "VALUE:UNK" ], [ "T0", "N0", "M1a", "C1", "VALUE:IVA" ], [ "T0", "N0", "M1a", "C2", "VALUE:IVB" ], [ "T0", "N0", "M1a", "C3", "VALUE:IVB" ], [ "T0", "N0", "M1a", "C4", "VALUE:IVB" ], [ "T0", "N0", "M1a", "CX", "VALUE:IVA" ], [ "T0", "N1", "M1a", "C1", "VALUE:IVB" ], [ "T0", "N1", "M1a", "C2", "VALUE:IVB" ], [ "T0", "N1", "M1a", "C3", "VALUE:IVB" ], [ "T0", "N1", "M1a", "C4", "VALUE:IVB" ], [ "T0", "N1", "M1a", "CX", "VALUE:IVB" ], [ "T0", "N2", "M1a", "C1", "VALUE:IVB" ], [ "T0", "N2", "M1a", "C2", "VALUE:IVB" ], [ "T0", "N2", "M1a", "C3", "VALUE:IVB" ], [ "T0", "N2", "M1a", "C4", "VALUE:IVB" ], [ "T0", "N2", "M1a", "CX", "VALUE:IVB" ], [ "T0", "NX", "M1a", "C1", "VALUE:IVNOS" ], [ "T0", "NX", "M1a", "C2", "VALUE:IVNOS" ], [ "T0", "NX", "M1a", "C3", "VALUE:IVNOS" ], [ "T0", "NX", "M1a", "C4", "VALUE:IVNOS" ], [ "T0", "NX", "M1a", "CX", "VALUE:IVNOS" ], [ "Tis", "N0", "M1a", "C1", "ERROR:" ], [ "Tis", "N0", "M1a", "C2", "ERROR:" ], [ "Tis", "N0", "M1a", "C3", "ERROR:" ], [ "Tis", "N0", "M1a", "C4", "ERROR:" ], [ "Tis", "N0", "M1a", "CX", "ERROR:" ], [ "Tis", "N1", "M1a", "C1", "ERROR:" ], [ "Tis", "N1", "M1a", "C2", "ERROR:" ], [ "Tis", "N1", "M1a", "C3", "ERROR:" ], [ "Tis", "N1", "M1a", "C4", "ERROR:" ], [ "Tis", "N1", "M1a", "CX", "ERROR:" ], [ "Tis", "N2", "M1a", "C1", "ERROR:" ], [ "Tis", "N2", "M1a", "C2", "ERROR:" ], [ "Tis", "N2", "M1a", "C3", "ERROR:" ], [ "Tis", "N2", "M1a", "C4", "ERROR:" ], [ "Tis", "N2", "M1a", "CX", "ERROR:" ], [ "Tis", "NX", "M1a", "C1", "ERROR:" ], [ "Tis", "NX", "M1a", "C2", "ERROR:" ], [ "Tis", "NX", "M1a", "C3", "ERROR:" ], [ "Tis", "NX", "M1a", "C4", "ERROR:" ], [ "Tis", "NX", "M1a", "CX", "ERROR:" ], [ "T1", "N0", "M1a", "C1", "VALUE:IVA" ], [ "T1", "N0", "M1a", "C2", "VALUE:IVB" ], [ "T1", "N0", "M1a", "C3", "VALUE:IVB" ], [ "T1", "N0", "M1a", "C4", "VALUE:IVB" ], [ "T1", "N0", "M1a", "CX", "VALUE:IVA" ], [ "T1", "N1", "M1a", "C1", "VALUE:IVB" ], [ "T1", "N1", "M1a", "C2", "VALUE:IVB" ], [ "T1", "N1", "M1a", "C3", "VALUE:IVB" ], [ "T1", "N1", "M1a", "C4", "VALUE:IVB" ], [ "T1", "N1", "M1a", "CX", "VALUE:IVB" ], [ "T1", "N2", "M1a", "C1", "VALUE:IVB" ], [ "T1", "N2", "M1a", "C2", "VALUE:IVB" ], [ "T1", "N2", "M1a", "C3", "VALUE:IVB" ], [ "T1", "N2", "M1a", "C4", "VALUE:IVB" ], [ "T1", "N2", "M1a", "CX", "VALUE:IVB" ], [ "T1", "NX", "M1a", "C1", "VALUE:IVNOS" ], [ "T1", "NX", "M1a", "C2", "VALUE:IVNOS" ], [ "T1", "NX", "M1a", "C3", "VALUE:IVNOS" ], [ "T1", "NX", "M1a", "C4", "VALUE:IVNOS" ], [ "T1", "NX", "M1a", "CX", "VALUE:IVNOS" ], [ "T2", "N0", "M1a", "C1", "VALUE:IVA" ], [ "T2", "N0", "M1a", "C2", "VALUE:IVB" ], [ "T2", "N0", "M1a", "C3", "VALUE:IVB" ], [ "T2", "N0", "M1a", "C4", "VALUE:IVB" ], [ "T2", "N0", "M1a", "CX", "VALUE:IVA" ], [ "T2", "N1", "M1a", "C1", "VALUE:IVB" ], [ "T2", "N1", "M1a", "C2", "VALUE:IVB" ], [ "T2", "N1", "M1a", "C3", "VALUE:IVB" ], [ "T2", "N1", "M1a", "C4", "VALUE:IVB" ], [ "T2", "N1", "M1a", "CX", "VALUE:IVB" ], [ "T2", "N2", "M1a", "C1", "VALUE:IVB" ], [ "T2", "N2", "M1a", "C2", "VALUE:IVB" ], [ "T2", "N2", "M1a", "C3", "VALUE:IVB" ], [ "T2", "N2", "M1a", "C4", "VALUE:IVB" ], [ "T2", "N2", "M1a", "CX", "VALUE:IVB" ], [ "T2", "NX", "M1a", "C1", "VALUE:IVNOS" ], [ "T2", "NX", "M1a", "C2", "VALUE:IVNOS" ], [ "T2", "NX", "M1a", "C3", "VALUE:IVNOS" ], [ "T2", "NX", "M1a", "C4", "VALUE:IVNOS" ], [ "T2", "NX", "M1a", "CX", "VALUE:IVNOS" ], [ "T3", "N0", "M1a", "C1", "VALUE:IVA" ], [ "T3", "N0", "M1a", "C2", "VALUE:IVB" ], [ "T3", "N0", "M1a", "C3", "VALUE:IVB" ], [ "T3", "N0", "M1a", "C4", "VALUE:IVB" ], [ "T3", "N0", "M1a", "CX", "VALUE:IVA" ], [ "T3", "N1", "M1a", "C1", "VALUE:IVB" ], [ "T3", "N1", "M1a", "C2", "VALUE:IVB" ], [ "T3", "N1", "M1a", "C3", "VALUE:IVB" ], [ "T3", "N1", "M1a", "C4", "VALUE:IVB" ], [ "T3", "N1", "M1a", "CX", "VALUE:IVB" ], [ "T3", "N2", "M1a", "C1", "VALUE:IVB" ], [ "T3", "N2", "M1a", "C2", "VALUE:IVB" ], [ "T3", "N2", "M1a", "C3", "VALUE:IVB" ], [ "T3", "N2", "M1a", "C4", "VALUE:IVB" ], [ "T3", "N2", "M1a", "CX", "VALUE:IVB" ], [ "T3", "NX", "M1a", "C1", "VALUE:IVNOS" ], [ "T3", "NX", "M1a", "C2", "VALUE:IVNOS" ], [ "T3", "NX", "M1a", "C3", "VALUE:IVNOS" ], [ "T3", "NX", "M1a", "C4", "VALUE:IVNOS" ], [ "T3", "NX", "M1a", "CX", "VALUE:IVNOS" ], [ "T4a", "N0", "M1a", "C1", "VALUE:IVA" ], [ "T4a", "N0", "M1a", "C2", "VALUE:IVB" ], [ "T4a", "N0", "M1a", "C3", "VALUE:IVB" ], [ "T4a", "N0", "M1a", "C4", "VALUE:IVB" ], [ "T4a", "N0", "M1a", "CX", "VALUE:IVA" ], [ "T4a", "N1", "M1a", "C1", "VALUE:IVB" ], [ "T4a", "N1", "M1a", "C2", "VALUE:IVB" ], [ "T4a", "N1", "M1a", "C3", "VALUE:IVB" ], [ "T4a", "N1", "M1a", "C4", "VALUE:IVB" ], [ "T4a", "N1", "M1a", "CX", "VALUE:IVB" ], [ "T4a", "N2", "M1a", "C1", "VALUE:IVB" ], [ "T4a", "N2", "M1a", "C2", "VALUE:IVB" ], [ "T4a", "N2", "M1a", "C3", "VALUE:IVB" ], [ "T4a", "N2", "M1a", "C4", "VALUE:IVB" ], [ "T4a", "N2", "M1a", "CX", "VALUE:IVB" ], [ "T4a", "NX", "M1a", "C1", "VALUE:IVNOS" ], [ "T4a", "NX", "M1a", "C2", "VALUE:IVNOS" ], [ "T4a", "NX", "M1a", "C3", "VALUE:IVNOS" ], [ "T4a", "NX", "M1a", "C4", "VALUE:IVNOS" ], [ "T4a", "NX", "M1a", "CX", "VALUE:IVNOS" ], [ "T4b", "N0", "M1a", "C1", "VALUE:IVA" ], [ "T4b", "N0", "M1a", "C2", "VALUE:IVB" ], [ "T4b", "N0", "M1a", "C3", "VALUE:IVB" ], [ "T4b", "N0", "M1a", "C4", "VALUE:IVB" ], [ "T4b", "N0", "M1a", "CX", "VALUE:IVA" ], [ "T4b", "N1", "M1a", "C1", "VALUE:IVB" ], [ "T4b", "N1", "M1a", "C2", "VALUE:IVB" ], [ "T4b", "N1", "M1a", "C3", "VALUE:IVB" ], [ "T4b", "N1", "M1a", "C4", "VALUE:IVB" ], [ "T4b", "N1", "M1a", "CX", "VALUE:IVB" ], [ "T4b", "N2", "M1a", "C1", "VALUE:IVB" ], [ "T4b", "N2", "M1a", "C2", "VALUE:IVB" ], [ "T4b", "N2", "M1a", "C3", "VALUE:IVB" ], [ "T4b", "N2", "M1a", "C4", "VALUE:IVB" ], [ "T4b", "N2", "M1a", "CX", "VALUE:IVB" ], [ "T4b", "NX", "M1a", "C1", "VALUE:IVNOS" ], [ "T4b", "NX", "M1a", "C2", "VALUE:IVNOS" ], [ "T4b", "NX", "M1a", "C3", "VALUE:IVNOS" ], [ "T4b", "NX", "M1a", "C4", "VALUE:IVNOS" ], [ "T4b", "NX", "M1a", "CX", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M1a", "C1", "VALUE:IVA" ], [ "T4NOS", "N0", "M1a", "C2", "VALUE:IVB" ], [ "T4NOS", "N0", "M1a", "C3", "VALUE:IVB" ], [ "T4NOS", "N0", "M1a", "C4", "VALUE:IVB" ], [ "T4NOS", "N0", "M1a", "CX", "VALUE:IVA" ], [ "T4NOS", "N1", "M1a", "C1", "VALUE:IVB" ], [ "T4NOS", "N1", "M1a", "C2", "VALUE:IVB" ], [ "T4NOS", "N1", "M1a", "C3", "VALUE:IVB" ], [ "T4NOS", "N1", "M1a", "C4", "VALUE:IVB" ], [ "T4NOS", "N1", "M1a", "CX", "VALUE:IVB" ], [ "T4NOS", "N2", "M1a", "C1", "VALUE:IVB" ], [ "T4NOS", "N2", "M1a", "C2", "VALUE:IVB" ], [ "T4NOS", "N2", "M1a", "C3", "VALUE:IVB" ], [ "T4NOS", "N2", "M1a", "C4", "VALUE:IVB" ], [ "T4NOS", "N2", "M1a", "CX", "VALUE:IVB" ], [ "T4NOS", "NX", "M1a", "C1", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1a", "C2", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1a", "C3", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1a", "C4", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1a", "CX", "VALUE:IVNOS" ], [ "TX", "N0", "M1a", "C1", "VALUE:IVA" ], [ "TX", "N0", "M1a", "C2", "VALUE:IVB" ], [ "TX", "N0", "M1a", "C3", "VALUE:IVB" ], [ "TX", "N0", "M1a", "C4", "VALUE:IVB" ], [ "TX", "N0", "M1a", "CX", "VALUE:IVA" ], [ "TX", "N1", "M1a", "C1", "VALUE:IVB" ], [ "TX", "N1", "M1a", "C2", "VALUE:IVB" ], [ "TX", "N1", "M1a", "C3", "VALUE:IVB" ], [ "TX", "N1", "M1a", "C4", "VALUE:IVB" ], [ "TX", "N1", "M1a", "CX", "VALUE:IVB" ], [ "TX", "N2", "M1a", "C1", "VALUE:IVB" ], [ "TX", "N2", "M1a", "C2", "VALUE:IVB" ], [ "TX", "N2", "M1a", "C3", "VALUE:IVB" ], [ "TX", "N2", "M1a", "C4", "VALUE:IVB" ], [ "TX", "N2", "M1a", "CX", "VALUE:IVB" ], [ "TX", "NX", "M1a", "C1", "VALUE:IVNOS" ], [ "TX", "NX", "M1a", "C2", "VALUE:IVNOS" ], [ "TX", "NX", "M1a", "C3", "VALUE:IVNOS" ], [ "TX", "NX", "M1a", "C4", "VALUE:IVNOS" ], [ "TX", "NX", "M1a", "CX", "VALUE:IVNOS" ], [ "T0", "N0", "M1b", "C1", "VALUE:IVC" ], [ "T0", "N0", "M1b", "C2", "VALUE:IVC" ], [ "T0", "N0", "M1b", "C3", "VALUE:IVC" ], [ "T0", "N0", "M1b", "C4", "VALUE:IVC" ], [ "T0", "N0", "M1b", "CX", "VALUE:IVC" ], [ "T0", "N1", "M1b", "C1", "VALUE:IVC" ], [ "T0", "N1", "M1b", "C2", "VALUE:IVC" ], [ "T0", "N1", "M1b", "C3", "VALUE:IVC" ], [ "T0", "N1", "M1b", "C4", "VALUE:IVC" ], [ "T0", "N1", "M1b", "CX", "VALUE:IVC" ], [ "T0", "N2", "M1b", "C1", "VALUE:IVC" ], [ "T0", "N2", "M1b", "C2", "VALUE:IVC" ], [ "T0", "N2", "M1b", "C3", "VALUE:IVC" ], [ "T0", "N2", "M1b", "C4", "VALUE:IVC" ], [ "T0", "N2", "M1b", "CX", "VALUE:IVC" ], [ "T0", "NX", "M1b", "C1", "VALUE:IVC" ], [ "T0", "NX", "M1b", "C2", "VALUE:IVC" ], [ "T0", "NX", "M1b", "C3", "VALUE:IVC" ], [ "T0", "NX", "M1b", "C4", "VALUE:IVC" ], [ "T0", "NX", "M1b", "CX", "VALUE:IVC" ], [ "Tis", "N0", "M1b", "C1", "ERROR:" ], [ "Tis", "N0", "M1b", "C2", "ERROR:" ], [ "Tis", "N0", "M1b", "C3", "ERROR:" ], [ "Tis", "N0", "M1b", "C4", "ERROR:" ], [ "Tis", "N0", "M1b", "CX", "ERROR:" ], [ "Tis", "N1", "M1b", "C1", "ERROR:" ], [ "Tis", "N1", "M1b", "C2", "ERROR:" ], [ "Tis", "N1", "M1b", "C3", "ERROR:" ], [ "Tis", "N1", "M1b", "C4", "ERROR:" ], [ "Tis", "N1", "M1b", "CX", "ERROR:" ], [ "Tis", "N2", "M1b", "C1", "ERROR:" ], [ "Tis", "N2", "M1b", "C2", "ERROR:" ], [ "Tis", "N2", "M1b", "C3", "ERROR:" ], [ "Tis", "N2", "M1b", "C4", "ERROR:" ], [ "Tis", "N2", "M1b", "CX", "ERROR:" ], [ "Tis", "NX", "M1b", "C1", "ERROR:" ], [ "Tis", "NX", "M1b", "C2", "ERROR:" ], [ "Tis", "NX", "M1b", "C3", "ERROR:" ], [ "Tis", "NX", "M1b", "C4", "ERROR:" ], [ "Tis", "NX", "M1b", "CX", "ERROR:" ], [ "T1", "N0", "M1b", "C1", "VALUE:IVC" ], [ "T1", "N0", "M1b", "C2", "VALUE:IVC" ], [ "T1", "N0", "M1b", "C3", "VALUE:IVC" ], [ "T1", "N0", "M1b", "C4", "VALUE:IVC" ], [ "T1", "N0", "M1b", "CX", "VALUE:IVC" ], [ "T1", "N1", "M1b", "C1", "VALUE:IVC" ], [ "T1", "N1", "M1b", "C2", "VALUE:IVC" ], [ "T1", "N1", "M1b", "C3", "VALUE:IVC" ], [ "T1", "N1", "M1b", "C4", "VALUE:IVC" ], [ "T1", "N1", "M1b", "CX", "VALUE:IVC" ], [ "T1", "N2", "M1b", "C1", "VALUE:IVC" ], [ "T1", "N2", "M1b", "C2", "VALUE:IVC" ], [ "T1", "N2", "M1b", "C3", "VALUE:IVC" ], [ "T1", "N2", "M1b", "C4", "VALUE:IVC" ], [ "T1", "N2", "M1b", "CX", "VALUE:IVC" ], [ "T1", "NX", "M1b", "C1", "VALUE:IVC" ], [ "T1", "NX", "M1b", "C2", "VALUE:IVC" ], [ "T1", "NX", "M1b", "C3", "VALUE:IVC" ], [ "T1", "NX", "M1b", "C4", "VALUE:IVC" ], [ "T1", "NX", "M1b", "CX", "VALUE:IVC" ], [ "T2", "N0", "M1b", "C1", "VALUE:IVC" ], [ "T2", "N0", "M1b", "C2", "VALUE:IVC" ], [ "T2", "N0", "M1b", "C3", "VALUE:IVC" ], [ "T2", "N0", "M1b", "C4", "VALUE:IVC" ], [ "T2", "N0", "M1b", "CX", "VALUE:IVC" ], [ "T2", "N1", "M1b", "C1", "VALUE:IVC" ], [ "T2", "N1", "M1b", "C2", "VALUE:IVC" ], [ "T2", "N1", "M1b", "C3", "VALUE:IVC" ], [ "T2", "N1", "M1b", "C4", "VALUE:IVC" ], [ "T2", "N1", "M1b", "CX", "VALUE:IVC" ], [ "T2", "N2", "M1b", "C1", "VALUE:IVC" ], [ "T2", "N2", "M1b", "C2", "VALUE:IVC" ], [ "T2", "N2", "M1b", "C3", "VALUE:IVC" ], [ "T2", "N2", "M1b", "C4", "VALUE:IVC" ], [ "T2", "N2", "M1b", "CX", "VALUE:IVC" ], [ "T2", "NX", "M1b", "C1", "VALUE:IVC" ], [ "T2", "NX", "M1b", "C2", "VALUE:IVC" ], [ "T2", "NX", "M1b", "C3", "VALUE:IVC" ], [ "T2", "NX", "M1b", "C4", "VALUE:IVC" ], [ "T2", "NX", "M1b", "CX", "VALUE:IVC" ], [ "T3", "N0", "M1b", "C1", "VALUE:IVC" ], [ "T3", "N0", "M1b", "C2", "VALUE:IVC" ], [ "T3", "N0", "M1b", "C3", "VALUE:IVC" ], [ "T3", "N0", "M1b", "C4", "VALUE:IVC" ], [ "T3", "N0", "M1b", "CX", "VALUE:IVC" ], [ "T3", "N1", "M1b", "C1", "VALUE:IVC" ], [ "T3", "N1", "M1b", "C2", "VALUE:IVC" ], [ "T3", "N1", "M1b", "C3", "VALUE:IVC" ], [ "T3", "N1", "M1b", "C4", "VALUE:IVC" ], [ "T3", "N1", "M1b", "CX", "VALUE:IVC" ], [ "T3", "N2", "M1b", "C1", "VALUE:IVC" ], [ "T3", "N2", "M1b", "C2", "VALUE:IVC" ], [ "T3", "N2", "M1b", "C3", "VALUE:IVC" ], [ "T3", "N2", "M1b", "C4", "VALUE:IVC" ], [ "T3", "N2", "M1b", "CX", "VALUE:IVC" ], [ "T3", "NX", "M1b", "C1", "VALUE:IVC" ], [ "T3", "NX", "M1b", "C2", "VALUE:IVC" ], [ "T3", "NX", "M1b", "C3", "VALUE:IVC" ], [ "T3", "NX", "M1b", "C4", "VALUE:IVC" ], [ "T3", "NX", "M1b", "CX", "VALUE:IVC" ], [ "T4a", "N0", "M1b", "C1", "VALUE:IVC" ], [ "T4a", "N0", "M1b", "C2", "VALUE:IVC" ], [ "T4a", "N0", "M1b", "C3", "VALUE:IVC" ], [ "T4a", "N0", "M1b", "C4", "VALUE:IVC" ], [ "T4a", "N0", "M1b", "CX", "VALUE:IVC" ], [ "T4a", "N1", "M1b", "C1", "VALUE:IVC" ], [ "T4a", "N1", "M1b", "C2", "VALUE:IVC" ], [ "T4a", "N1", "M1b", "C3", "VALUE:IVC" ], [ "T4a", "N1", "M1b", "C4", "VALUE:IVC" ], [ "T4a", "N1", "M1b", "CX", "VALUE:IVC" ], [ "T4a", "N2", "M1b", "C1", "VALUE:IVC" ], [ "T4a", "N2", "M1b", "C2", "VALUE:IVC" ], [ "T4a", "N2", "M1b", "C3", "VALUE:IVC" ], [ "T4a", "N2", "M1b", "C4", "VALUE:IVC" ], [ "T4a", "N2", "M1b", "CX", "VALUE:IVC" ], [ "T4a", "NX", "M1b", "C1", "VALUE:IVC" ], [ "T4a", "NX", "M1b", "C2", "VALUE:IVC" ], [ "T4a", "NX", "M1b", "C3", "VALUE:IVC" ], [ "T4a", "NX", "M1b", "C4", "VALUE:IVC" ], [ "T4a", "NX", "M1b", "CX", "VALUE:IVC" ], [ "T4b", "N0", "M1b", "C1", "VALUE:IVC" ], [ "T4b", "N0", "M1b", "C2", "VALUE:IVC" ], [ "T4b", "N0", "M1b", "C3", "VALUE:IVC" ], [ "T4b", "N0", "M1b", "C4", "VALUE:IVC" ], [ "T4b", "N0", "M1b", "CX", "VALUE:IVC" ], [ "T4b", "N1", "M1b", "C1", "VALUE:IVC" ], [ "T4b", "N1", "M1b", "C2", "VALUE:IVC" ], [ "T4b", "N1", "M1b", "C3", "VALUE:IVC" ], [ "T4b", "N1", "M1b", "C4", "VALUE:IVC" ], [ "T4b", "N1", "M1b", "CX", "VALUE:IVC" ], [ "T4b", "N2", "M1b", "C1", "VALUE:IVC" ], [ "T4b", "N2", "M1b", "C2", "VALUE:IVC" ], [ "T4b", "N2", "M1b", "C3", "VALUE:IVC" ], [ "T4b", "N2", "M1b", "C4", "VALUE:IVC" ], [ "T4b", "N2", "M1b", "CX", "VALUE:IVC" ], [ "T4b", "NX", "M1b", "C1", "VALUE:IVC" ], [ "T4b", "NX", "M1b", "C2", "VALUE:IVC" ], [ "T4b", "NX", "M1b", "C3", "VALUE:IVC" ], [ "T4b", "NX", "M1b", "C4", "VALUE:IVC" ], [ "T4b", "NX", "M1b", "CX", "VALUE:IVC" ], [ "T4NOS", "N0", "M1b", "C1", "VALUE:IVC" ], [ "T4NOS", "N0", "M1b", "C2", "VALUE:IVC" ], [ "T4NOS", "N0", "M1b", "C3", "VALUE:IVC" ], [ "T4NOS", "N0", "M1b", "C4", "VALUE:IVC" ], [ "T4NOS", "N0", "M1b", "CX", "VALUE:IVC" ], [ "T4NOS", "N1", "M1b", "C1", "VALUE:IVC" ], [ "T4NOS", "N1", "M1b", "C2", "VALUE:IVC" ], [ "T4NOS", "N1", "M1b", "C3", "VALUE:IVC" ], [ "T4NOS", "N1", "M1b", "C4", "VALUE:IVC" ], [ "T4NOS", "N1", "M1b", "CX", "VALUE:IVC" ], [ "T4NOS", "N2", "M1b", "C1", "VALUE:IVC" ], [ "T4NOS", "N2", "M1b", "C2", "VALUE:IVC" ], [ "T4NOS", "N2", "M1b", "C3", "VALUE:IVC" ], [ "T4NOS", "N2", "M1b", "C4", "VALUE:IVC" ], [ "T4NOS", "N2", "M1b", "CX", "VALUE:IVC" ], [ "T4NOS", "NX", "M1b", "C1", "VALUE:IVC" ], [ "T4NOS", "NX", "M1b", "C2", "VALUE:IVC" ], [ "T4NOS", "NX", "M1b", "C3", "VALUE:IVC" ], [ "T4NOS", "NX", "M1b", "C4", "VALUE:IVC" ], [ "T4NOS", "NX", "M1b", "CX", "VALUE:IVC" ], [ "TX", "N0", "M1b", "C1", "VALUE:IVC" ], [ "TX", "N0", "M1b", "C2", "VALUE:IVC" ], [ "TX", "N0", "M1b", "C3", "VALUE:IVC" ], [ "TX", "N0", "M1b", "C4", "VALUE:IVC" ], [ "TX", "N0", "M1b", "CX", "VALUE:IVC" ], [ "TX", "N1", "M1b", "C1", "VALUE:IVC" ], [ "TX", "N1", "M1b", "C2", "VALUE:IVC" ], [ "TX", "N1", "M1b", "C3", "VALUE:IVC" ], [ "TX", "N1", "M1b", "C4", "VALUE:IVC" ], [ "TX", "N1", "M1b", "CX", "VALUE:IVC" ], [ "TX", "N2", "M1b", "C1", "VALUE:IVC" ], [ "TX", "N2", "M1b", "C2", "VALUE:IVC" ], [ "TX", "N2", "M1b", "C3", "VALUE:IVC" ], [ "TX", "N2", "M1b", "C4", "VALUE:IVC" ], [ "TX", "N2", "M1b", "CX", "VALUE:IVC" ], [ "TX", "NX", "M1b", "C1", "VALUE:IVC" ], [ "TX", "NX", "M1b", "C2", "VALUE:IVC" ], [ "TX", "NX", "M1b", "C3", "VALUE:IVC" ], [ "TX", "NX", "M1b", "C4", "VALUE:IVC" ], [ "TX", "NX", "M1b", "CX", "VALUE:IVC" ], [ "T0", "N0", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T0", "N0", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T0", "N0", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T0", "N0", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T0", "N0", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T0", "N1", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T0", "N1", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T0", "N1", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T0", "N1", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T0", "N1", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T0", "N2", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T0", "N2", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T0", "N2", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T0", "N2", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T0", "N2", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T0", "NX", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T0", "NX", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T0", "NX", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T0", "NX", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T0", "NX", "M1NOS", "CX", "VALUE:IVNOS" ], [ "Tis", "N0", "M1NOS", "C1", "ERROR:" ], [ "Tis", "N0", "M1NOS", "C2", "ERROR:" ], [ "Tis", "N0", "M1NOS", "C3", "ERROR:" ], [ "Tis", "N0", "M1NOS", "C4", "ERROR:" ], [ "Tis", "N0", "M1NOS", "CX", "ERROR:" ], [ "Tis", "N1", "M1NOS", "C1", "ERROR:" ], [ "Tis", "N1", "M1NOS", "C2", "ERROR:" ], [ "Tis", "N1", "M1NOS", "C3", "ERROR:" ], [ "Tis", "N1", "M1NOS", "C4", "ERROR:" ], [ "Tis", "N1", "M1NOS", "CX", "ERROR:" ], [ "Tis", "N2", "M1NOS", "C1", "ERROR:" ], [ "Tis", "N2", "M1NOS", "C2", "ERROR:" ], [ "Tis", "N2", "M1NOS", "C3", "ERROR:" ], [ "Tis", "N2", "M1NOS", "C4", "ERROR:" ], [ "Tis", "N2", "M1NOS", "CX", "ERROR:" ], [ "Tis", "NX", "M1NOS", "C1", "ERROR:" ], [ "Tis", "NX", "M1NOS", "C2", "ERROR:" ], [ "Tis", "NX", "M1NOS", "C3", "ERROR:" ], [ "Tis", "NX", "M1NOS", "C4", "ERROR:" ], [ "Tis", "NX", "M1NOS", "CX", "ERROR:" ], [ "T1", "N0", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T1", "N0", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T1", "N0", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T1", "N0", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T1", "N0", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T1", "N1", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T1", "N1", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T1", "N1", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T1", "N1", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T1", "N1", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T1", "N2", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T1", "N2", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T1", "N2", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T1", "N2", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T1", "N2", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T1", "NX", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T1", "NX", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T1", "NX", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T1", "NX", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T1", "NX", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T2", "N1", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T2", "N1", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T2", "N1", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T2", "N1", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T2", "N1", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T2", "N2", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T2", "N2", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T2", "N2", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T2", "N2", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T2", "N2", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T2", "NX", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T2", "NX", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T2", "NX", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T2", "NX", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T2", "NX", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T3", "N1", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T3", "N1", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T3", "N1", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T3", "N1", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T3", "N1", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T3", "N2", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T3", "N2", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T3", "N2", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T3", "N2", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T3", "N2", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T3", "NX", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T3", "NX", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T3", "NX", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T3", "NX", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T3", "NX", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T4a", "N0", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T4a", "N0", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T4a", "N0", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T4a", "N0", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T4a", "N0", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T4a", "N1", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T4a", "N1", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T4a", "N1", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T4a", "N1", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T4a", "N1", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T4a", "N2", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T4a", "N2", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T4a", "N2", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T4a", "N2", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T4a", "N2", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T4a", "NX", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T4a", "NX", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T4a", "NX", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T4a", "NX", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T4a", "NX", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T4b", "N0", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T4b", "N0", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T4b", "N0", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T4b", "N0", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T4b", "N0", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T4b", "N1", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T4b", "N1", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T4b", "N1", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T4b", "N1", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T4b", "N1", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T4b", "N2", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T4b", "N2", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T4b", "N2", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T4b", "N2", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T4b", "N2", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T4b", "NX", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T4b", "NX", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T4b", "NX", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T4b", "NX", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T4b", "NX", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T4NOS", "N1", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T4NOS", "N1", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T4NOS", "N1", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T4NOS", "N1", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T4NOS", "N1", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T4NOS", "N2", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T4NOS", "N2", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T4NOS", "N2", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T4NOS", "N2", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T4NOS", "N2", "M1NOS", "CX", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1NOS", "C1", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1NOS", "C2", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1NOS", "C3", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1NOS", "C4", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1NOS", "CX", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "C1", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "C2", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "C3", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "C4", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "CX", "VALUE:IVNOS" ], [ "TX", "N1", "M1NOS", "C1", "VALUE:IVNOS" ], [ "TX", "N1", "M1NOS", "C2", "VALUE:IVNOS" ], [ "TX", "N1", "M1NOS", "C3", "VALUE:IVNOS" ], [ "TX", "N1", "M1NOS", "C4", "VALUE:IVNOS" ], [ "TX", "N1", "M1NOS", "CX", "VALUE:IVNOS" ], [ "TX", "N2", "M1NOS", "C1", "VALUE:IVNOS" ], [ "TX", "N2", "M1NOS", "C2", "VALUE:IVNOS" ], [ "TX", "N2", "M1NOS", "C3", "VALUE:IVNOS" ], [ "TX", "N2", "M1NOS", "C4", "VALUE:IVNOS" ], [ "TX", "N2", "M1NOS", "CX", "VALUE:IVNOS" ], [ "TX", "NX", "M1NOS", "C1", "VALUE:IVNOS" ], [ "TX", "NX", "M1NOS", "C2", "VALUE:IVNOS" ], [ "TX", "NX", "M1NOS", "C3", "VALUE:IVNOS" ], [ "TX", "NX", "M1NOS", "C4", "VALUE:IVNOS" ], [ "TX", "NX", "M1NOS", "CX", "VALUE:IVNOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uau.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uau.json deleted file mode 100644 index ce555a3ac..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uau.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uau", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:55.528Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IV" ], [ "T0", "N2", "M0", "VALUE:IV" ], [ "T0", "N3", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Ta", "N0", "M0", "VALUE:0a" ], [ "Ta", "N1", "M0", "ERROR:" ], [ "Ta", "N2", "M0", "ERROR:" ], [ "Ta", "N3", "M0", "ERROR:" ], [ "Ta", "NX", "M0", "VALUE:0a" ], [ "Tis", "N0", "M0", "VALUE:0is" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0is" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IV" ], [ "T1", "N2", "M0", "VALUE:IV" ], [ "T1", "N3", "M0", "VALUE:IV" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:II" ], [ "T2a", "N1", "M0", "VALUE:IV" ], [ "T2a", "N2", "M0", "VALUE:IV" ], [ "T2a", "N3", "M0", "VALUE:IV" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:II" ], [ "T2b", "N1", "M0", "VALUE:IV" ], [ "T2b", "N2", "M0", "VALUE:IV" ], [ "T2b", "N3", "M0", "VALUE:IV" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:II" ], [ "T2NOS", "N1", "M0", "VALUE:IV" ], [ "T2NOS", "N2", "M0", "VALUE:IV" ], [ "T2NOS", "N3", "M0", "VALUE:IV" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:III" ], [ "T3a", "N1", "M0", "VALUE:IV" ], [ "T3a", "N2", "M0", "VALUE:IV" ], [ "T3a", "N3", "M0", "VALUE:IV" ], [ "T3a", "NX", "M0", "VALUE:UNK" ], [ "T3b", "N0", "M0", "VALUE:III" ], [ "T3b", "N1", "M0", "VALUE:IV" ], [ "T3b", "N2", "M0", "VALUE:IV" ], [ "T3b", "N3", "M0", "VALUE:IV" ], [ "T3b", "NX", "M0", "VALUE:UNK" ], [ "T3NOS", "N0", "M0", "VALUE:III" ], [ "T3NOS", "N1", "M0", "VALUE:IV" ], [ "T3NOS", "N2", "M0", "VALUE:IV" ], [ "T3NOS", "N3", "M0", "VALUE:IV" ], [ "T3NOS", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:III" ], [ "T4a", "N1", "M0", "VALUE:IV" ], [ "T4a", "N2", "M0", "VALUE:IV" ], [ "T4a", "N3", "M0", "VALUE:IV" ], [ "T4a", "NX", "M0", "VALUE:UNK" ], [ "T4b", "N0", "M0", "VALUE:IV" ], [ "T4b", "N1", "M0", "VALUE:IV" ], [ "T4b", "N2", "M0", "VALUE:IV" ], [ "T4b", "N3", "M0", "VALUE:IV" ], [ "T4b", "NX", "M0", "VALUE:IV" ], [ "T4NOS", "N0", "M0", "VALUE:UNK" ], [ "T4NOS", "N1", "M0", "VALUE:IV" ], [ "T4NOS", "N2", "M0", "VALUE:IV" ], [ "T4NOS", "N3", "M0", "VALUE:IV" ], [ "T4NOS", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IV" ], [ "TX", "N2", "M0", "VALUE:IV" ], [ "TX", "N3", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "N3", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Ta", "N0", "M1", "ERROR:" ], [ "Ta", "N1", "M1", "ERROR:" ], [ "Ta", "N2", "M1", "ERROR:" ], [ "Ta", "N3", "M1", "ERROR:" ], [ "Ta", "NX", "M1", "ERROR:" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "N2", "M1", "VALUE:IV" ], [ "T1", "N3", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2a", "N0", "M1", "VALUE:IV" ], [ "T2a", "N1", "M1", "VALUE:IV" ], [ "T2a", "N2", "M1", "VALUE:IV" ], [ "T2a", "N3", "M1", "VALUE:IV" ], [ "T2a", "NX", "M1", "VALUE:IV" ], [ "T2b", "N0", "M1", "VALUE:IV" ], [ "T2b", "N1", "M1", "VALUE:IV" ], [ "T2b", "N2", "M1", "VALUE:IV" ], [ "T2b", "N3", "M1", "VALUE:IV" ], [ "T2b", "NX", "M1", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "VALUE:IV" ], [ "T2NOS", "N2", "M1", "VALUE:IV" ], [ "T2NOS", "N3", "M1", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "VALUE:IV" ], [ "T3a", "N0", "M1", "VALUE:IV" ], [ "T3a", "N1", "M1", "VALUE:IV" ], [ "T3a", "N2", "M1", "VALUE:IV" ], [ "T3a", "N3", "M1", "VALUE:IV" ], [ "T3a", "NX", "M1", "VALUE:IV" ], [ "T3b", "N0", "M1", "VALUE:IV" ], [ "T3b", "N1", "M1", "VALUE:IV" ], [ "T3b", "N2", "M1", "VALUE:IV" ], [ "T3b", "N3", "M1", "VALUE:IV" ], [ "T3b", "NX", "M1", "VALUE:IV" ], [ "T3NOS", "N0", "M1", "VALUE:IV" ], [ "T3NOS", "N1", "M1", "VALUE:IV" ], [ "T3NOS", "N2", "M1", "VALUE:IV" ], [ "T3NOS", "N3", "M1", "VALUE:IV" ], [ "T3NOS", "NX", "M1", "VALUE:IV" ], [ "T4a", "N0", "M1", "VALUE:IV" ], [ "T4a", "N1", "M1", "VALUE:IV" ], [ "T4a", "N2", "M1", "VALUE:IV" ], [ "T4a", "N3", "M1", "VALUE:IV" ], [ "T4a", "NX", "M1", "VALUE:IV" ], [ "T4b", "N0", "M1", "VALUE:IV" ], [ "T4b", "N1", "M1", "VALUE:IV" ], [ "T4b", "N2", "M1", "VALUE:IV" ], [ "T4b", "N3", "M1", "VALUE:IV" ], [ "T4b", "NX", "M1", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "N3", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uav.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uav.json deleted file mode 100644 index fe20716a3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uav.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uav", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:55.596Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIA" ], [ "T0", "N2", "M0", "VALUE:IIIB" ], [ "T0", "N3", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Ta", "N0", "M0", "VALUE:0" ], [ "Ta", "N1", "M0", "ERROR:" ], [ "Ta", "N2", "M0", "ERROR:" ], [ "Ta", "N3", "M0", "ERROR:" ], [ "Ta", "NX", "M0", "VALUE:0" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N1", "M0", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "VALUE:IIIB" ], [ "T1a", "N3", "M0", "VALUE:IV" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:II" ], [ "T1b", "N1", "M0", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "VALUE:IIIB" ], [ "T1b", "N3", "M0", "VALUE:IV" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N1", "M0", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "VALUE:IIIB" ], [ "T1NOS", "N3", "M0", "VALUE:IV" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:IIIA" ], [ "T2", "N2", "M0", "VALUE:IIIB" ], [ "T2", "N3", "M0", "VALUE:IV" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:II" ], [ "T3", "N1", "M0", "VALUE:IIIA" ], [ "T3", "N2", "M0", "VALUE:IIIB" ], [ "T3", "N3", "M0", "VALUE:IV" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IV" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "N2", "M0", "VALUE:IV" ], [ "T4", "N3", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:IV" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:UNK" ], [ "TX", "N3", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "N3", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Ta", "N0", "M1", "ERROR:" ], [ "Ta", "N1", "M1", "ERROR:" ], [ "Ta", "N2", "M1", "ERROR:" ], [ "Ta", "N3", "M1", "ERROR:" ], [ "Ta", "NX", "M1", "ERROR:" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "N2", "M1", "VALUE:IV" ], [ "T1a", "N3", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "N2", "M1", "VALUE:IV" ], [ "T1b", "N3", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2", "M1", "VALUE:IV" ], [ "T2", "N3", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "N3", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "N3", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "N3", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaw.json deleted file mode 100644 index dbd7c44ae..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaw.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uaw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:55.673Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N1", "M0", "VALUE:III" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:I" ], [ "T1b", "N1", "M0", "VALUE:III" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N1", "M0", "VALUE:III" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:II" ], [ "T2a", "N1", "M0", "VALUE:III" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:II" ], [ "T2b", "N1", "M0", "VALUE:III" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:II" ], [ "T2NOS", "N1", "M0", "VALUE:III" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:III" ], [ "T3a", "N1", "M0", "VALUE:III" ], [ "T3a", "NX", "M0", "VALUE:III" ], [ "T3b", "N0", "M0", "VALUE:III" ], [ "T3b", "N1", "M0", "VALUE:III" ], [ "T3b", "NX", "M0", "VALUE:III" ], [ "T3c", "N0", "M0", "VALUE:III" ], [ "T3c", "N1", "M0", "VALUE:III" ], [ "T3c", "NX", "M0", "VALUE:III" ], [ "T3NOS", "N0", "M0", "VALUE:III" ], [ "T3NOS", "N1", "M0", "VALUE:III" ], [ "T3NOS", "NX", "M0", "VALUE:III" ], [ "T4", "N0", "M0", "VALUE:IV" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:IV" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2a", "N0", "M1", "VALUE:IV" ], [ "T2a", "N1", "M1", "VALUE:IV" ], [ "T2a", "NX", "M1", "VALUE:IV" ], [ "T2b", "N0", "M1", "VALUE:IV" ], [ "T2b", "N1", "M1", "VALUE:IV" ], [ "T2b", "NX", "M1", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "VALUE:IV" ], [ "T3a", "N0", "M1", "VALUE:IV" ], [ "T3a", "N1", "M1", "VALUE:IV" ], [ "T3a", "NX", "M1", "VALUE:IV" ], [ "T3b", "N0", "M1", "VALUE:IV" ], [ "T3b", "N1", "M1", "VALUE:IV" ], [ "T3b", "NX", "M1", "VALUE:IV" ], [ "T3c", "N0", "M1", "VALUE:IV" ], [ "T3c", "N1", "M1", "VALUE:IV" ], [ "T3c", "NX", "M1", "VALUE:IV" ], [ "T3NOS", "N0", "M1", "VALUE:IV" ], [ "T3NOS", "N1", "M1", "VALUE:IV" ], [ "T3NOS", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uax.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uax.json deleted file mode 100644 index 53b67150d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uax.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uax", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:55.740Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "SSF1", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "M0", "000", "ERROR:" ], [ "T0", "M0", "001", "ERROR:" ], [ "T0", "M0", "002", "ERROR:" ], [ "T0", "M0", "010", "ERROR:" ], [ "T0", "M0", "050", "ERROR:" ], [ "T0", "M0", "110", "ERROR:" ], [ "T0", "M0", "150", "ERROR:" ], [ "T0", "M0", "200", "ERROR:" ], [ "T0", "M0", "988", "ERROR:" ], [ "T0", "M0", "999", "ERROR:" ], [ "T1", "M0", "000", "VALUE:IA" ], [ "T1", "M0", "001", "ERROR:" ], [ "T1", "M0", "002", "ERROR:" ], [ "T1", "M0", "010", "VALUE:IA" ], [ "T1", "M0", "050", "VALUE:IA" ], [ "T1", "M0", "110", "VALUE:IB" ], [ "T1", "M0", "150", "VALUE:IB" ], [ "T1", "M0", "200", "VALUE:IA" ], [ "T1", "M0", "988", "VALUE:INOS" ], [ "T1", "M0", "999", "VALUE:INOS" ], [ "T2", "M0", "000", "VALUE:IIA" ], [ "T2", "M0", "001", "ERROR:" ], [ "T2", "M0", "002", "ERROR:" ], [ "T2", "M0", "010", "VALUE:IIA" ], [ "T2", "M0", "050", "VALUE:IIA" ], [ "T2", "M0", "110", "VALUE:IIB" ], [ "T2", "M0", "150", "VALUE:IIB" ], [ "T2", "M0", "200", "VALUE:IIA" ], [ "T2", "M0", "988", "VALUE:IINOS" ], [ "T2", "M0", "999", "VALUE:IINOS" ], [ "TX", "M0", "000", "VALUE:UNK" ], [ "TX", "M0", "001", "ERROR:" ], [ "TX", "M0", "002", "ERROR:" ], [ "TX", "M0", "010", "VALUE:UNK" ], [ "TX", "M0", "050", "VALUE:UNK" ], [ "TX", "M0", "110", "VALUE:UNK" ], [ "TX", "M0", "150", "VALUE:UNK" ], [ "TX", "M0", "200", "VALUE:UNK" ], [ "TX", "M0", "988", "VALUE:UNK" ], [ "TX", "M0", "999", "VALUE:UNK" ], [ "T0", "M1a", "000", "VALUE:IIIA" ], [ "T0", "M1a", "001", "ERROR:" ], [ "T0", "M1a", "002", "ERROR:" ], [ "T0", "M1a", "010", "VALUE:IIIA" ], [ "T0", "M1a", "050", "VALUE:IIIA" ], [ "T0", "M1a", "110", "VALUE:IIIB" ], [ "T0", "M1a", "150", "VALUE:IIIB" ], [ "T0", "M1a", "200", "VALUE:IIIA" ], [ "T0", "M1a", "988", "VALUE:IIINOS" ], [ "T0", "M1a", "999", "VALUE:IIINOS" ], [ "T1", "M1a", "000", "VALUE:IIIA" ], [ "T1", "M1a", "001", "ERROR:" ], [ "T1", "M1a", "002", "ERROR:" ], [ "T1", "M1a", "010", "VALUE:IIIA" ], [ "T1", "M1a", "050", "VALUE:IIIA" ], [ "T1", "M1a", "110", "VALUE:IIIB" ], [ "T1", "M1a", "150", "VALUE:IIIB" ], [ "T1", "M1a", "200", "VALUE:IIIA" ], [ "T1", "M1a", "988", "VALUE:IIINOS" ], [ "T1", "M1a", "999", "VALUE:IIINOS" ], [ "T2", "M1a", "000", "VALUE:IIIA" ], [ "T2", "M1a", "001", "ERROR:" ], [ "T2", "M1a", "002", "ERROR:" ], [ "T2", "M1a", "010", "VALUE:IIIA" ], [ "T2", "M1a", "050", "VALUE:IIIA" ], [ "T2", "M1a", "110", "VALUE:IIIB" ], [ "T2", "M1a", "150", "VALUE:IIIB" ], [ "T2", "M1a", "200", "VALUE:IIIA" ], [ "T2", "M1a", "988", "VALUE:IIINOS" ], [ "T2", "M1a", "999", "VALUE:IIINOS" ], [ "TX", "M1a", "000", "VALUE:IIIA" ], [ "TX", "M1a", "001", "ERROR:" ], [ "TX", "M1a", "002", "ERROR:" ], [ "TX", "M1a", "010", "VALUE:IIIA" ], [ "TX", "M1a", "050", "VALUE:IIIA" ], [ "TX", "M1a", "110", "VALUE:IIIB" ], [ "TX", "M1a", "150", "VALUE:IIIB" ], [ "TX", "M1a", "200", "VALUE:IIIA" ], [ "TX", "M1a", "988", "VALUE:IIINOS" ], [ "TX", "M1a", "999", "VALUE:IIINOS" ], [ "T0", "M1b", "000", "VALUE:IVA" ], [ "T0", "M1b", "001", "ERROR:" ], [ "T0", "M1b", "002", "ERROR:" ], [ "T0", "M1b", "010", "VALUE:IVA" ], [ "T0", "M1b", "050", "VALUE:IVA" ], [ "T0", "M1b", "110", "VALUE:IVB" ], [ "T0", "M1b", "150", "VALUE:IVB" ], [ "T0", "M1b", "200", "VALUE:IVA" ], [ "T0", "M1b", "988", "VALUE:IVNOS" ], [ "T0", "M1b", "999", "VALUE:IVNOS" ], [ "T1", "M1b", "000", "VALUE:IVA" ], [ "T1", "M1b", "001", "ERROR:" ], [ "T1", "M1b", "002", "ERROR:" ], [ "T1", "M1b", "010", "VALUE:IVA" ], [ "T1", "M1b", "050", "VALUE:IVA" ], [ "T1", "M1b", "110", "VALUE:IVB" ], [ "T1", "M1b", "150", "VALUE:IVB" ], [ "T1", "M1b", "200", "VALUE:IVA" ], [ "T1", "M1b", "988", "VALUE:IVNOS" ], [ "T1", "M1b", "999", "VALUE:IVNOS" ], [ "T2", "M1b", "000", "VALUE:IVA" ], [ "T2", "M1b", "001", "ERROR:" ], [ "T2", "M1b", "002", "ERROR:" ], [ "T2", "M1b", "010", "VALUE:IVA" ], [ "T2", "M1b", "050", "VALUE:IVA" ], [ "T2", "M1b", "110", "VALUE:IVB" ], [ "T2", "M1b", "150", "VALUE:IVB" ], [ "T2", "M1b", "200", "VALUE:IVA" ], [ "T2", "M1b", "988", "VALUE:IVNOS" ], [ "T2", "M1b", "999", "VALUE:IVNOS" ], [ "TX", "M1b", "000", "VALUE:IVA" ], [ "TX", "M1b", "001", "ERROR:" ], [ "TX", "M1b", "002", "ERROR:" ], [ "TX", "M1b", "010", "VALUE:IVA" ], [ "TX", "M1b", "050", "VALUE:IVA" ], [ "TX", "M1b", "110", "VALUE:IVB" ], [ "TX", "M1b", "150", "VALUE:IVB" ], [ "TX", "M1b", "200", "VALUE:IVA" ], [ "TX", "M1b", "988", "VALUE:IVNOS" ], [ "TX", "M1b", "999", "VALUE:IVNOS" ], [ "T0", "M1NOS", "000", "VALUE:UNK" ], [ "T0", "M1NOS", "001", "ERROR:" ], [ "T0", "M1NOS", "002", "ERROR:" ], [ "T0", "M1NOS", "010", "VALUE:UNK" ], [ "T0", "M1NOS", "050", "VALUE:UNK" ], [ "T0", "M1NOS", "110", "VALUE:UNK" ], [ "T0", "M1NOS", "150", "VALUE:UNK" ], [ "T0", "M1NOS", "200", "VALUE:UNK" ], [ "T0", "M1NOS", "988", "VALUE:UNK" ], [ "T0", "M1NOS", "999", "VALUE:UNK" ], [ "T1", "M1NOS", "000", "VALUE:UNK" ], [ "T1", "M1NOS", "001", "ERROR:" ], [ "T1", "M1NOS", "002", "ERROR:" ], [ "T1", "M1NOS", "010", "VALUE:UNK" ], [ "T1", "M1NOS", "050", "VALUE:UNK" ], [ "T1", "M1NOS", "110", "VALUE:UNK" ], [ "T1", "M1NOS", "150", "VALUE:UNK" ], [ "T1", "M1NOS", "200", "VALUE:UNK" ], [ "T1", "M1NOS", "988", "VALUE:UNK" ], [ "T1", "M1NOS", "999", "VALUE:UNK" ], [ "T2", "M1NOS", "000", "VALUE:UNK" ], [ "T2", "M1NOS", "001", "ERROR:" ], [ "T2", "M1NOS", "002", "ERROR:" ], [ "T2", "M1NOS", "010", "VALUE:UNK" ], [ "T2", "M1NOS", "050", "VALUE:UNK" ], [ "T2", "M1NOS", "110", "VALUE:UNK" ], [ "T2", "M1NOS", "150", "VALUE:UNK" ], [ "T2", "M1NOS", "200", "VALUE:UNK" ], [ "T2", "M1NOS", "988", "VALUE:UNK" ], [ "T2", "M1NOS", "999", "VALUE:UNK" ], [ "TX", "M1NOS", "000", "VALUE:UNK" ], [ "TX", "M1NOS", "001", "ERROR:" ], [ "TX", "M1NOS", "002", "ERROR:" ], [ "TX", "M1NOS", "010", "VALUE:UNK" ], [ "TX", "M1NOS", "050", "VALUE:UNK" ], [ "TX", "M1NOS", "110", "VALUE:UNK" ], [ "TX", "M1NOS", "150", "VALUE:UNK" ], [ "TX", "M1NOS", "200", "VALUE:UNK" ], [ "TX", "M1NOS", "988", "VALUE:UNK" ], [ "TX", "M1NOS", "999", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uay.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uay.json deleted file mode 100644 index f5fc1be47..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uay.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uay", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:55.835Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "N2a", "M0", "VALUE:IV" ], [ "T0", "N2b", "M0", "VALUE:IV" ], [ "T0", "N2c", "M0", "VALUE:IV" ], [ "T0", "N2NOS", "M0", "VALUE:IV" ], [ "T0", "N3", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2a", "M0", "ERROR:" ], [ "Tis", "N2b", "M0", "ERROR:" ], [ "Tis", "N2c", "M0", "ERROR:" ], [ "Tis", "N2NOS", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "N2a", "M0", "VALUE:IV" ], [ "T1", "N2b", "M0", "VALUE:IV" ], [ "T1", "N2c", "M0", "VALUE:IV" ], [ "T1", "N2NOS", "M0", "VALUE:IV" ], [ "T1", "N3", "M0", "VALUE:IV" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "N2a", "M0", "VALUE:IV" ], [ "T2", "N2b", "M0", "VALUE:IV" ], [ "T2", "N2c", "M0", "VALUE:IV" ], [ "T2", "N2NOS", "M0", "VALUE:IV" ], [ "T2", "N3", "M0", "VALUE:IV" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IV" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "N2a", "M0", "VALUE:IV" ], [ "T4", "N2b", "M0", "VALUE:IV" ], [ "T4", "N2c", "M0", "VALUE:IV" ], [ "T4", "N2NOS", "M0", "VALUE:IV" ], [ "T4", "N3", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:IV" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:III" ], [ "TX", "N2a", "M0", "VALUE:IV" ], [ "TX", "N2b", "M0", "VALUE:IV" ], [ "TX", "N2c", "M0", "VALUE:IV" ], [ "TX", "N2NOS", "M0", "VALUE:IV" ], [ "TX", "N3", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2a", "M1", "VALUE:IV" ], [ "T0", "N2b", "M1", "VALUE:IV" ], [ "T0", "N2c", "M1", "VALUE:IV" ], [ "T0", "N2NOS", "M1", "VALUE:IV" ], [ "T0", "N3", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2a", "M1", "ERROR:" ], [ "Tis", "N2b", "M1", "ERROR:" ], [ "Tis", "N2c", "M1", "ERROR:" ], [ "Tis", "N2NOS", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "N2a", "M1", "VALUE:IV" ], [ "T1", "N2b", "M1", "VALUE:IV" ], [ "T1", "N2c", "M1", "VALUE:IV" ], [ "T1", "N2NOS", "M1", "VALUE:IV" ], [ "T1", "N3", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2a", "M1", "VALUE:IV" ], [ "T2", "N2b", "M1", "VALUE:IV" ], [ "T2", "N2c", "M1", "VALUE:IV" ], [ "T2", "N2NOS", "M1", "VALUE:IV" ], [ "T2", "N3", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2a", "M1", "VALUE:IV" ], [ "T4", "N2b", "M1", "VALUE:IV" ], [ "T4", "N2c", "M1", "VALUE:IV" ], [ "T4", "N2NOS", "M1", "VALUE:IV" ], [ "T4", "N3", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2a", "M1", "VALUE:IV" ], [ "TX", "N2b", "M1", "VALUE:IV" ], [ "TX", "N2c", "M1", "VALUE:IV" ], [ "TX", "N2NOS", "M1", "VALUE:IV" ], [ "TX", "N3", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaz.json deleted file mode 100644 index 2eb818dea..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uaz.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uaz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:55.917Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "N2", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Ta", "N0", "M0", "VALUE:0a" ], [ "Ta", "N1", "M0", "ERROR:" ], [ "Ta", "N2", "M0", "ERROR:" ], [ "Ta", "NX", "M0", "VALUE:0a" ], [ "Tis", "N0", "M0", "VALUE:0is" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0is" ], [ "Tispu", "N0", "M0", "VALUE:0is" ], [ "Tispu", "N1", "M0", "ERROR:" ], [ "Tispu", "N2", "M0", "ERROR:" ], [ "Tispu", "NX", "M0", "VALUE:0is" ], [ "Tispd", "N0", "M0", "VALUE:0is" ], [ "Tispd", "N1", "M0", "ERROR:" ], [ "Tispd", "N2", "M0", "ERROR:" ], [ "Tispd", "NX", "M0", "VALUE:0is" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "N2", "M0", "VALUE:IV" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "N2", "M0", "VALUE:IV" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2", "M0", "VALUE:IV" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IV" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "N2", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:IV" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Ta", "N0", "M1", "ERROR:" ], [ "Ta", "N1", "M1", "ERROR:" ], [ "Ta", "N2", "M1", "ERROR:" ], [ "Ta", "NX", "M1", "ERROR:" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "Tispu", "N0", "M1", "ERROR:" ], [ "Tispu", "N1", "M1", "ERROR:" ], [ "Tispu", "N2", "M1", "ERROR:" ], [ "Tispu", "NX", "M1", "ERROR:" ], [ "Tispd", "N0", "M1", "ERROR:" ], [ "Tispd", "N1", "M1", "ERROR:" ], [ "Tispd", "N2", "M1", "ERROR:" ], [ "Tispd", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "N2", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uba.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uba.json deleted file mode 100644 index 029a9cdcd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uba.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uba", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:55.980Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:IV" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IV" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:IV" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubb.json deleted file mode 100644 index 9091589f5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubb.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ubb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:56.052Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIC" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N1", "M0", "VALUE:IIIC" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IB" ], [ "T1b", "N1", "M0", "VALUE:IIIC" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1c", "N0", "M0", "VALUE:IC" ], [ "T1c", "N1", "M0", "VALUE:IIIC" ], [ "T1c", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:INOS" ], [ "T1NOS", "N1", "M0", "VALUE:IIIC" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:IIA" ], [ "T2a", "N1", "M0", "VALUE:IIIC" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:IIB" ], [ "T2b", "N1", "M0", "VALUE:IIIC" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2c", "N0", "M0", "VALUE:IIC" ], [ "T2c", "N1", "M0", "VALUE:IIIC" ], [ "T2c", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:IINOS" ], [ "T2NOS", "N1", "M0", "VALUE:IIIC" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:IIIA" ], [ "T3a", "N1", "M0", "VALUE:IIIC" ], [ "T3a", "NX", "M0", "VALUE:IIINOS" ], [ "T3b", "N0", "M0", "VALUE:IIIB" ], [ "T3b", "N1", "M0", "VALUE:IIIC" ], [ "T3b", "NX", "M0", "VALUE:IIINOS" ], [ "T3c", "N0", "M0", "VALUE:IIIC" ], [ "T3c", "N1", "M0", "VALUE:IIIC" ], [ "T3c", "NX", "M0", "VALUE:IIIC" ], [ "T3NOS", "N0", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N1", "M0", "VALUE:IIIC" ], [ "T3NOS", "NX", "M0", "VALUE:IIINOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIIC" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1c", "N0", "M1", "VALUE:IV" ], [ "T1c", "N1", "M1", "VALUE:IV" ], [ "T1c", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2a", "N0", "M1", "VALUE:IV" ], [ "T2a", "N1", "M1", "VALUE:IV" ], [ "T2a", "NX", "M1", "VALUE:IV" ], [ "T2b", "N0", "M1", "VALUE:IV" ], [ "T2b", "N1", "M1", "VALUE:IV" ], [ "T2b", "NX", "M1", "VALUE:IV" ], [ "T2c", "N0", "M1", "VALUE:IV" ], [ "T2c", "N1", "M1", "VALUE:IV" ], [ "T2c", "NX", "M1", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "VALUE:IV" ], [ "T3a", "N0", "M1", "VALUE:IV" ], [ "T3a", "N1", "M1", "VALUE:IV" ], [ "T3a", "NX", "M1", "VALUE:IV" ], [ "T3b", "N0", "M1", "VALUE:IV" ], [ "T3b", "N1", "M1", "VALUE:IV" ], [ "T3b", "NX", "M1", "VALUE:IV" ], [ "T3c", "N0", "M1", "VALUE:IV" ], [ "T3c", "N1", "M1", "VALUE:IV" ], [ "T3c", "NX", "M1", "VALUE:IV" ], [ "T3NOS", "N0", "M1", "VALUE:IV" ], [ "T3NOS", "N1", "M1", "VALUE:IV" ], [ "T3NOS", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubc.json deleted file mode 100644 index 31acb5a36..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubc.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ubc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:56.101Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "NX", "M0", "VALUE:III" ], [ "T4", "N0", "M0", "VALUE:IVA" ], [ "T4", "N1", "M0", "VALUE:IVA" ], [ "T4", "NX", "M0", "VALUE:IVA" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVB" ], [ "T0", "N1", "M1", "VALUE:IVB" ], [ "T0", "NX", "M1", "VALUE:IVB" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IVB" ], [ "T1", "N1", "M1", "VALUE:IVB" ], [ "T1", "NX", "M1", "VALUE:IVB" ], [ "T2", "N0", "M1", "VALUE:IVB" ], [ "T2", "N1", "M1", "VALUE:IVB" ], [ "T2", "NX", "M1", "VALUE:IVB" ], [ "T3", "N0", "M1", "VALUE:IVB" ], [ "T3", "N1", "M1", "VALUE:IVB" ], [ "T3", "NX", "M1", "VALUE:IVB" ], [ "T4", "N0", "M1", "VALUE:IVB" ], [ "T4", "N1", "M1", "VALUE:IVB" ], [ "T4", "NX", "M1", "VALUE:IVB" ], [ "TX", "N0", "M1", "VALUE:IVB" ], [ "TX", "N1", "M1", "VALUE:IVB" ], [ "TX", "NX", "M1", "VALUE:IVB" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubd.json deleted file mode 100644 index 85d48dcc6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubd.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ubd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:56.158Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1a", "M0", "VALUE:IIIA" ], [ "T0", "N1b", "M0", "VALUE:IIIA" ], [ "T0", "N1NOS", "M0", "VALUE:IIIA" ], [ "T0", "N2a", "M0", "VALUE:IIIB" ], [ "T0", "N2b", "M0", "VALUE:IIIB" ], [ "T0", "N2c", "M0", "VALUE:IIIC" ], [ "T0", "N2NOS", "M0", "VALUE:IIINOS" ], [ "T0", "N3", "M0", "VALUE:IVA" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1a", "M0", "ERROR:" ], [ "Tis", "N1b", "M0", "ERROR:" ], [ "Tis", "N1NOS", "M0", "ERROR:" ], [ "Tis", "N2a", "M0", "ERROR:" ], [ "Tis", "N2b", "M0", "ERROR:" ], [ "Tis", "N2c", "M0", "ERROR:" ], [ "Tis", "N2NOS", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N1a", "M0", "VALUE:IIIA" ], [ "T1a", "N1b", "M0", "VALUE:IIIA" ], [ "T1a", "N1NOS", "M0", "VALUE:IIIA" ], [ "T1a", "N2a", "M0", "VALUE:IIIB" ], [ "T1a", "N2b", "M0", "VALUE:IIIB" ], [ "T1a", "N2c", "M0", "VALUE:IIIC" ], [ "T1a", "N2NOS", "M0", "VALUE:IIINOS" ], [ "T1a", "N3", "M0", "VALUE:IVA" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IB" ], [ "T1b", "N1a", "M0", "VALUE:IIIA" ], [ "T1b", "N1b", "M0", "VALUE:IIIA" ], [ "T1b", "N1NOS", "M0", "VALUE:IIIA" ], [ "T1b", "N2a", "M0", "VALUE:IIIB" ], [ "T1b", "N2b", "M0", "VALUE:IIIB" ], [ "T1b", "N2c", "M0", "VALUE:IIIC" ], [ "T1b", "N2NOS", "M0", "VALUE:IIINOS" ], [ "T1b", "N3", "M0", "VALUE:IVA" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:INOS" ], [ "T1NOS", "N1a", "M0", "VALUE:IIIA" ], [ "T1NOS", "N1b", "M0", "VALUE:IIIA" ], [ "T1NOS", "N1NOS", "M0", "VALUE:IIIA" ], [ "T1NOS", "N2a", "M0", "VALUE:IIIB" ], [ "T1NOS", "N2b", "M0", "VALUE:IIIB" ], [ "T1NOS", "N2c", "M0", "VALUE:IIIC" ], [ "T1NOS", "N2NOS", "M0", "VALUE:IIINOS" ], [ "T1NOS", "N3", "M0", "VALUE:IVA" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1a", "M0", "VALUE:IIIA" ], [ "T2", "N1b", "M0", "VALUE:IIIA" ], [ "T2", "N1NOS", "M0", "VALUE:IIIA" ], [ "T2", "N2a", "M0", "VALUE:IIIB" ], [ "T2", "N2b", "M0", "VALUE:IIIB" ], [ "T2", "N2c", "M0", "VALUE:IIIC" ], [ "T2", "N2NOS", "M0", "VALUE:IIINOS" ], [ "T2", "N3", "M0", "VALUE:IVA" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IVA" ], [ "T3", "N1a", "M0", "VALUE:IVA" ], [ "T3", "N1b", "M0", "VALUE:IVA" ], [ "T3", "N1NOS", "M0", "VALUE:IVA" ], [ "T3", "N2a", "M0", "VALUE:IVA" ], [ "T3", "N2b", "M0", "VALUE:IVA" ], [ "T3", "N2c", "M0", "VALUE:IVA" ], [ "T3", "N2NOS", "M0", "VALUE:IVA" ], [ "T3", "N3", "M0", "VALUE:IVA" ], [ "T3", "NX", "M0", "VALUE:IVA" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1a", "M0", "VALUE:UNK" ], [ "TX", "N1b", "M0", "VALUE:UNK" ], [ "TX", "N1NOS", "M0", "VALUE:UNK" ], [ "TX", "N2a", "M0", "VALUE:UNK" ], [ "TX", "N2b", "M0", "VALUE:UNK" ], [ "TX", "N2c", "M0", "VALUE:UNK" ], [ "TX", "N2NOS", "M0", "VALUE:UNK" ], [ "TX", "N3", "M0", "VALUE:IVA" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVB" ], [ "T0", "N1a", "M1", "VALUE:IVB" ], [ "T0", "N1b", "M1", "VALUE:IVB" ], [ "T0", "N1NOS", "M1", "VALUE:IVB" ], [ "T0", "N2a", "M1", "VALUE:IVB" ], [ "T0", "N2b", "M1", "VALUE:IVB" ], [ "T0", "N2c", "M1", "VALUE:IVB" ], [ "T0", "N2NOS", "M1", "VALUE:IVB" ], [ "T0", "N3", "M1", "VALUE:IVB" ], [ "T0", "NX", "M1", "VALUE:IVB" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1a", "M1", "ERROR:" ], [ "Tis", "N1b", "M1", "ERROR:" ], [ "Tis", "N1NOS", "M1", "ERROR:" ], [ "Tis", "N2a", "M1", "ERROR:" ], [ "Tis", "N2b", "M1", "ERROR:" ], [ "Tis", "N2c", "M1", "ERROR:" ], [ "Tis", "N2NOS", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1a", "N0", "M1", "VALUE:IVB" ], [ "T1a", "N1a", "M1", "VALUE:IVB" ], [ "T1a", "N1b", "M1", "VALUE:IVB" ], [ "T1a", "N1NOS", "M1", "VALUE:IVB" ], [ "T1a", "N2a", "M1", "VALUE:IVB" ], [ "T1a", "N2b", "M1", "VALUE:IVB" ], [ "T1a", "N2c", "M1", "VALUE:IVB" ], [ "T1a", "N2NOS", "M1", "VALUE:IVB" ], [ "T1a", "N3", "M1", "VALUE:IVB" ], [ "T1a", "NX", "M1", "VALUE:IVB" ], [ "T1b", "N0", "M1", "VALUE:IVB" ], [ "T1b", "N1a", "M1", "VALUE:IVB" ], [ "T1b", "N1b", "M1", "VALUE:IVB" ], [ "T1b", "N1NOS", "M1", "VALUE:IVB" ], [ "T1b", "N2a", "M1", "VALUE:IVB" ], [ "T1b", "N2b", "M1", "VALUE:IVB" ], [ "T1b", "N2c", "M1", "VALUE:IVB" ], [ "T1b", "N2NOS", "M1", "VALUE:IVB" ], [ "T1b", "N3", "M1", "VALUE:IVB" ], [ "T1b", "NX", "M1", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "VALUE:IVB" ], [ "T1NOS", "N1a", "M1", "VALUE:IVB" ], [ "T1NOS", "N1b", "M1", "VALUE:IVB" ], [ "T1NOS", "N1NOS", "M1", "VALUE:IVB" ], [ "T1NOS", "N2a", "M1", "VALUE:IVB" ], [ "T1NOS", "N2b", "M1", "VALUE:IVB" ], [ "T1NOS", "N2c", "M1", "VALUE:IVB" ], [ "T1NOS", "N2NOS", "M1", "VALUE:IVB" ], [ "T1NOS", "N3", "M1", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "VALUE:IVB" ], [ "T2", "N0", "M1", "VALUE:IVB" ], [ "T2", "N1a", "M1", "VALUE:IVB" ], [ "T2", "N1b", "M1", "VALUE:IVB" ], [ "T2", "N1NOS", "M1", "VALUE:IVB" ], [ "T2", "N2a", "M1", "VALUE:IVB" ], [ "T2", "N2b", "M1", "VALUE:IVB" ], [ "T2", "N2c", "M1", "VALUE:IVB" ], [ "T2", "N2NOS", "M1", "VALUE:IVB" ], [ "T2", "N3", "M1", "VALUE:IVB" ], [ "T2", "NX", "M1", "VALUE:IVB" ], [ "T3", "N0", "M1", "VALUE:IVB" ], [ "T3", "N1a", "M1", "VALUE:IVB" ], [ "T3", "N1b", "M1", "VALUE:IVB" ], [ "T3", "N1NOS", "M1", "VALUE:IVB" ], [ "T3", "N2a", "M1", "VALUE:IVB" ], [ "T3", "N2b", "M1", "VALUE:IVB" ], [ "T3", "N2c", "M1", "VALUE:IVB" ], [ "T3", "N2NOS", "M1", "VALUE:IVB" ], [ "T3", "N3", "M1", "VALUE:IVB" ], [ "T3", "NX", "M1", "VALUE:IVB" ], [ "TX", "N0", "M1", "VALUE:IVB" ], [ "TX", "N1a", "M1", "VALUE:IVB" ], [ "TX", "N1b", "M1", "VALUE:IVB" ], [ "TX", "N1NOS", "M1", "VALUE:IVB" ], [ "TX", "N2a", "M1", "VALUE:IVB" ], [ "TX", "N2b", "M1", "VALUE:IVB" ], [ "TX", "N2c", "M1", "VALUE:IVB" ], [ "TX", "N2NOS", "M1", "VALUE:IVB" ], [ "TX", "N3", "M1", "VALUE:IVB" ], [ "TX", "NX", "M1", "VALUE:IVB" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubf.json deleted file mode 100644 index 8fb51e79d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubf.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ubf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:56.230Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIC" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N1", "M0", "VALUE:IIIC" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IB" ], [ "T1b", "N1", "M0", "VALUE:IIIC" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1c", "N0", "M0", "VALUE:IC" ], [ "T1c", "N1", "M0", "VALUE:IIIC" ], [ "T1c", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:INOS" ], [ "T1NOS", "N1", "M0", "VALUE:IIIC" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:IIA" ], [ "T2a", "N1", "M0", "VALUE:IIIC" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:IIB" ], [ "T2b", "N1", "M0", "VALUE:IIIC" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2c", "N0", "M0", "VALUE:IIC" ], [ "T2c", "N1", "M0", "VALUE:IIIC" ], [ "T2c", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:IINOS" ], [ "T2NOS", "N1", "M0", "VALUE:IIIC" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:IIIA" ], [ "T3a", "N1", "M0", "VALUE:IIIC" ], [ "T3a", "NX", "M0", "VALUE:IIINOS" ], [ "T3b", "N0", "M0", "VALUE:IIIB" ], [ "T3b", "N1", "M0", "VALUE:IIIC" ], [ "T3b", "NX", "M0", "VALUE:IIINOS" ], [ "T3c", "N0", "M0", "VALUE:IIIC" ], [ "T3c", "N1", "M0", "VALUE:IIIC" ], [ "T3c", "NX", "M0", "VALUE:IIIC" ], [ "T3NOS", "N0", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N1", "M0", "VALUE:IIIC" ], [ "T3NOS", "NX", "M0", "VALUE:IIINOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIIC" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1c", "N0", "M1", "VALUE:IV" ], [ "T1c", "N1", "M1", "VALUE:IV" ], [ "T1c", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2a", "N0", "M1", "VALUE:IV" ], [ "T2a", "N1", "M1", "VALUE:IV" ], [ "T2a", "NX", "M1", "VALUE:IV" ], [ "T2b", "N0", "M1", "VALUE:IV" ], [ "T2b", "N1", "M1", "VALUE:IV" ], [ "T2b", "NX", "M1", "VALUE:IV" ], [ "T2c", "N0", "M1", "VALUE:IV" ], [ "T2c", "N1", "M1", "VALUE:IV" ], [ "T2c", "NX", "M1", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "VALUE:IV" ], [ "T3a", "N0", "M1", "VALUE:IV" ], [ "T3a", "N1", "M1", "VALUE:IV" ], [ "T3a", "NX", "M1", "VALUE:IV" ], [ "T3b", "N0", "M1", "VALUE:IV" ], [ "T3b", "N1", "M1", "VALUE:IV" ], [ "T3b", "NX", "M1", "VALUE:IV" ], [ "T3c", "N0", "M1", "VALUE:IV" ], [ "T3c", "N1", "M1", "VALUE:IV" ], [ "T3c", "NX", "M1", "VALUE:IV" ], [ "T3NOS", "N0", "M1", "VALUE:IV" ], [ "T3NOS", "N1", "M1", "VALUE:IV" ], [ "T3NOS", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubg.json deleted file mode 100644 index b8bd35096..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubg.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ubg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:56.286Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:III" ], [ "T0", "N2a", "M0", "VALUE:IV" ], [ "T0", "N2b", "M0", "VALUE:IV" ], [ "T0", "N2c", "M0", "VALUE:IV" ], [ "T0", "N2NOS", "M0", "VALUE:IV" ], [ "T0", "N3", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2a", "M0", "ERROR:" ], [ "Tis", "N2b", "M0", "ERROR:" ], [ "Tis", "N2c", "M0", "ERROR:" ], [ "Tis", "N2NOS", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "N2a", "M0", "VALUE:IV" ], [ "T1", "N2b", "M0", "VALUE:IV" ], [ "T1", "N2c", "M0", "VALUE:IV" ], [ "T1", "N2NOS", "M0", "VALUE:IV" ], [ "T1", "N3", "M0", "VALUE:IV" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "N2a", "M0", "VALUE:IV" ], [ "T2", "N2b", "M0", "VALUE:IV" ], [ "T2", "N2c", "M0", "VALUE:IV" ], [ "T2", "N2NOS", "M0", "VALUE:IV" ], [ "T2", "N3", "M0", "VALUE:IV" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2a", "M0", "VALUE:IV" ], [ "T3", "N2b", "M0", "VALUE:IV" ], [ "T3", "N2c", "M0", "VALUE:IV" ], [ "T3", "N2NOS", "M0", "VALUE:IV" ], [ "T3", "N3", "M0", "VALUE:IV" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IV" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "N2a", "M0", "VALUE:IV" ], [ "T4", "N2b", "M0", "VALUE:IV" ], [ "T4", "N2c", "M0", "VALUE:IV" ], [ "T4", "N2NOS", "M0", "VALUE:IV" ], [ "T4", "N3", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:IV" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2a", "M0", "VALUE:IV" ], [ "TX", "N2b", "M0", "VALUE:IV" ], [ "TX", "N2c", "M0", "VALUE:IV" ], [ "TX", "N2NOS", "M0", "VALUE:IV" ], [ "TX", "N3", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2a", "M1", "VALUE:IV" ], [ "T0", "N2b", "M1", "VALUE:IV" ], [ "T0", "N2c", "M1", "VALUE:IV" ], [ "T0", "N2NOS", "M1", "VALUE:IV" ], [ "T0", "N3", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2a", "M1", "ERROR:" ], [ "Tis", "N2b", "M1", "ERROR:" ], [ "Tis", "N2c", "M1", "ERROR:" ], [ "Tis", "N2NOS", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "N2a", "M1", "VALUE:IV" ], [ "T1", "N2b", "M1", "VALUE:IV" ], [ "T1", "N2c", "M1", "VALUE:IV" ], [ "T1", "N2NOS", "M1", "VALUE:IV" ], [ "T1", "N3", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2a", "M1", "VALUE:IV" ], [ "T2", "N2b", "M1", "VALUE:IV" ], [ "T2", "N2c", "M1", "VALUE:IV" ], [ "T2", "N2NOS", "M1", "VALUE:IV" ], [ "T2", "N3", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2a", "M1", "VALUE:IV" ], [ "T3", "N2b", "M1", "VALUE:IV" ], [ "T3", "N2c", "M1", "VALUE:IV" ], [ "T3", "N2NOS", "M1", "VALUE:IV" ], [ "T3", "N3", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2a", "M1", "VALUE:IV" ], [ "T4", "N2b", "M1", "VALUE:IV" ], [ "T4", "N2c", "M1", "VALUE:IV" ], [ "T4", "N2NOS", "M1", "VALUE:IV" ], [ "T4", "N3", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2a", "M1", "VALUE:IV" ], [ "TX", "N2b", "M1", "VALUE:IV" ], [ "TX", "N2c", "M1", "VALUE:IV" ], [ "TX", "N2NOS", "M1", "VALUE:IV" ], [ "TX", "N3", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubh.json deleted file mode 100644 index 1526ef7f5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubh.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ubh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:56.566Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a1", "N0", "M0", "VALUE:IA1" ], [ "T1a1", "N1", "M0", "VALUE:IIIB" ], [ "T1a1", "NX", "M0", "VALUE:UNK" ], [ "T1a2", "N0", "M0", "VALUE:IA2" ], [ "T1a2", "N1", "M0", "VALUE:IIIB" ], [ "T1a2", "NX", "M0", "VALUE:UNK" ], [ "T1b1", "N0", "M0", "VALUE:IB1" ], [ "T1b1", "N1", "M0", "VALUE:IIIB" ], [ "T1b1", "NX", "M0", "VALUE:UNK" ], [ "T1b2", "N0", "M0", "VALUE:IB2" ], [ "T1b2", "N1", "M0", "VALUE:IIIB" ], [ "T1b2", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:INOS" ], [ "T1NOS", "N1", "M0", "VALUE:IIIB" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a1", "N0", "M0", "VALUE:IIA1" ], [ "T2a1", "N1", "M0", "VALUE:IIIB" ], [ "T2a1", "NX", "M0", "VALUE:UNK" ], [ "T2a2", "N0", "M0", "VALUE:IIA2" ], [ "T2a2", "N1", "M0", "VALUE:IIIB" ], [ "T2a2", "NX", "M0", "VALUE:UNK" ], [ "T2aNOS", "N0", "M0", "VALUE:IIANOS" ], [ "T2aNOS", "N1", "M0", "VALUE:IIIB" ], [ "T2aNOS", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:IIB" ], [ "T2b", "N1", "M0", "VALUE:IIIB" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:IINOS" ], [ "T2NOS", "N1", "M0", "VALUE:IIIB" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:IIIA" ], [ "T3a", "N1", "M0", "VALUE:IIIB" ], [ "T3a", "NX", "M0", "VALUE:IIINOS" ], [ "T3b", "N0", "M0", "VALUE:IIIB" ], [ "T3b", "N1", "M0", "VALUE:IIIB" ], [ "T3b", "NX", "M0", "VALUE:IIIB" ], [ "T3NOS", "N0", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N1", "M0", "VALUE:IIIB" ], [ "T3NOS", "NX", "M0", "VALUE:IIINOS" ], [ "T4", "N0", "M0", "VALUE:IVA" ], [ "T4", "N1", "M0", "VALUE:IVA" ], [ "T4", "NX", "M0", "VALUE:IVA" ], [ "T1aNOS", "N0", "M0", "VALUE:IANOS" ], [ "T1aNOS", "N1", "M0", "VALUE:IIIB" ], [ "T1aNOS", "NX", "M0", "VALUE:UNK" ], [ "T1bNOS", "N0", "M0", "VALUE:IBNOS" ], [ "T1bNOS", "N1", "M0", "VALUE:IIIB" ], [ "T1bNOS", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVB" ], [ "T0", "N1", "M1", "VALUE:IVB" ], [ "T0", "NX", "M1", "VALUE:IVB" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1a1", "N0", "M1", "VALUE:IVB" ], [ "T1a1", "N1", "M1", "VALUE:IVB" ], [ "T1a1", "NX", "M1", "VALUE:IVB" ], [ "T1a2", "N0", "M1", "VALUE:IVB" ], [ "T1a2", "N1", "M1", "VALUE:IVB" ], [ "T1a2", "NX", "M1", "VALUE:IVB" ], [ "T1b1", "N0", "M1", "VALUE:IVB" ], [ "T1b1", "N1", "M1", "VALUE:IVB" ], [ "T1b1", "NX", "M1", "VALUE:IVB" ], [ "T1b2", "N0", "M1", "VALUE:IVB" ], [ "T1b2", "N1", "M1", "VALUE:IVB" ], [ "T1b2", "NX", "M1", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "VALUE:IVB" ], [ "T1NOS", "N1", "M1", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "VALUE:IVB" ], [ "T2a1", "N0", "M1", "VALUE:IVB" ], [ "T2a1", "N1", "M1", "VALUE:IVB" ], [ "T2a1", "NX", "M1", "VALUE:IVB" ], [ "T2a2", "N0", "M1", "VALUE:IVB" ], [ "T2a2", "N1", "M1", "VALUE:IVB" ], [ "T2a2", "NX", "M1", "VALUE:IVB" ], [ "T2aNOS", "N0", "M1", "VALUE:IVB" ], [ "T2aNOS", "N1", "M1", "VALUE:IVB" ], [ "T2aNOS", "NX", "M1", "VALUE:IVB" ], [ "T2b", "N0", "M1", "VALUE:IVB" ], [ "T2b", "N1", "M1", "VALUE:IVB" ], [ "T2b", "NX", "M1", "VALUE:IVB" ], [ "T2NOS", "N0", "M1", "VALUE:IVB" ], [ "T2NOS", "N1", "M1", "VALUE:IVB" ], [ "T2NOS", "NX", "M1", "VALUE:IVB" ], [ "T3a", "N0", "M1", "VALUE:IVB" ], [ "T3a", "N1", "M1", "VALUE:IVB" ], [ "T3a", "NX", "M1", "VALUE:IVB" ], [ "T3b", "N0", "M1", "VALUE:IVB" ], [ "T3b", "N1", "M1", "VALUE:IVB" ], [ "T3b", "NX", "M1", "VALUE:IVB" ], [ "T3NOS", "N0", "M1", "VALUE:IVB" ], [ "T3NOS", "N1", "M1", "VALUE:IVB" ], [ "T3NOS", "NX", "M1", "VALUE:IVB" ], [ "T4", "N0", "M1", "VALUE:IVB" ], [ "T4", "N1", "M1", "VALUE:IVB" ], [ "T4", "NX", "M1", "VALUE:IVB" ], [ "T1aNOS", "N0", "M1", "VALUE:IVB" ], [ "T1aNOS", "N1", "M1", "VALUE:IVB" ], [ "T1aNOS", "NX", "M1", "VALUE:IVB" ], [ "T1bNOS", "N0", "M1", "VALUE:IVB" ], [ "T1bNOS", "N1", "M1", "VALUE:IVB" ], [ "T1bNOS", "NX", "M1", "VALUE:IVB" ], [ "TX", "N0", "M1", "VALUE:IVB" ], [ "TX", "N1", "M1", "VALUE:IVB" ], [ "TX", "NX", "M1", "VALUE:IVB" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubi.json deleted file mode 100644 index 03e686038..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubi.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ubi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:56.621Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IVA" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IVA" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:II" ], [ "T2a", "N1", "M0", "VALUE:IVA" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:II" ], [ "T2b", "N1", "M0", "VALUE:IVA" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:II" ], [ "T2NOS", "N1", "M0", "VALUE:IVA" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:IVA" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IVA" ], [ "T4", "N1", "M0", "VALUE:IVA" ], [ "T4", "NX", "M0", "VALUE:IVA" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IVA" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVB" ], [ "T0", "N1", "M1", "VALUE:IVB" ], [ "T0", "NX", "M1", "VALUE:IVB" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IVB" ], [ "T1", "N1", "M1", "VALUE:IVB" ], [ "T1", "NX", "M1", "VALUE:IVB" ], [ "T2a", "N0", "M1", "VALUE:IVB" ], [ "T2a", "N1", "M1", "VALUE:IVB" ], [ "T2a", "NX", "M1", "VALUE:IVB" ], [ "T2b", "N0", "M1", "VALUE:IVB" ], [ "T2b", "N1", "M1", "VALUE:IVB" ], [ "T2b", "NX", "M1", "VALUE:IVB" ], [ "T2NOS", "N0", "M1", "VALUE:IVB" ], [ "T2NOS", "N1", "M1", "VALUE:IVB" ], [ "T2NOS", "NX", "M1", "VALUE:IVB" ], [ "T3", "N0", "M1", "VALUE:IVB" ], [ "T3", "N1", "M1", "VALUE:IVB" ], [ "T3", "NX", "M1", "VALUE:IVB" ], [ "T4", "N0", "M1", "VALUE:IVB" ], [ "T4", "N1", "M1", "VALUE:IVB" ], [ "T4", "NX", "M1", "VALUE:IVB" ], [ "TX", "N0", "M1", "VALUE:IVB" ], [ "TX", "N1", "M1", "VALUE:IVB" ], [ "TX", "NX", "M1", "VALUE:IVB" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubj.json deleted file mode 100644 index 4daa6d1aa..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubj.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc7_stage_ubj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:56.710Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade_ssf1", - "name" : "Grade based on SSF#1", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "1", "ERROR:" ], [ "T0", "N0", "M0", "2", "ERROR:" ], [ "T0", "N0", "M0", "3", "ERROR:" ], [ "T0", "N0", "M0", "9", "ERROR:" ], [ "T0", "N1", "M0", "1", "VALUE:III" ], [ "T0", "N1", "M0", "2", "VALUE:III" ], [ "T0", "N1", "M0", "3", "VALUE:III" ], [ "T0", "N1", "M0", "9", "VALUE:III" ], [ "T0", "NX", "M0", "1", "VALUE:UNK" ], [ "T0", "NX", "M0", "2", "VALUE:UNK" ], [ "T0", "NX", "M0", "3", "VALUE:UNK" ], [ "T0", "NX", "M0", "9", "VALUE:UNK" ], [ "T1a", "N0", "M0", "1", "VALUE:IA" ], [ "T1a", "N0", "M0", "2", "VALUE:IIA" ], [ "T1a", "N0", "M0", "3", "VALUE:IIA" ], [ "T1a", "N0", "M0", "9", "VALUE:IA" ], [ "T1a", "N1", "M0", "1", "VALUE:III" ], [ "T1a", "N1", "M0", "2", "VALUE:III" ], [ "T1a", "N1", "M0", "3", "VALUE:III" ], [ "T1a", "N1", "M0", "9", "VALUE:III" ], [ "T1a", "NX", "M0", "1", "VALUE:UNK" ], [ "T1a", "NX", "M0", "2", "VALUE:UNK" ], [ "T1a", "NX", "M0", "3", "VALUE:UNK" ], [ "T1a", "NX", "M0", "9", "VALUE:UNK" ], [ "T1b", "N0", "M0", "1", "VALUE:IA" ], [ "T1b", "N0", "M0", "2", "VALUE:IIA" ], [ "T1b", "N0", "M0", "3", "VALUE:IIA" ], [ "T1b", "N0", "M0", "9", "VALUE:IA" ], [ "T1b", "N1", "M0", "1", "VALUE:III" ], [ "T1b", "N1", "M0", "2", "VALUE:III" ], [ "T1b", "N1", "M0", "3", "VALUE:III" ], [ "T1b", "N1", "M0", "9", "VALUE:III" ], [ "T1b", "NX", "M0", "1", "VALUE:UNK" ], [ "T1b", "NX", "M0", "2", "VALUE:UNK" ], [ "T1b", "NX", "M0", "3", "VALUE:UNK" ], [ "T1b", "NX", "M0", "9", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "1", "VALUE:IA" ], [ "T1NOS", "N0", "M0", "2", "VALUE:IIA" ], [ "T1NOS", "N0", "M0", "3", "VALUE:IIA" ], [ "T1NOS", "N0", "M0", "9", "VALUE:IA" ], [ "T1NOS", "N1", "M0", "1", "VALUE:III" ], [ "T1NOS", "N1", "M0", "2", "VALUE:III" ], [ "T1NOS", "N1", "M0", "3", "VALUE:III" ], [ "T1NOS", "N1", "M0", "9", "VALUE:III" ], [ "T1NOS", "NX", "M0", "1", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "2", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "3", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "9", "VALUE:UNK" ], [ "T2a", "N0", "M0", "1", "VALUE:IB" ], [ "T2a", "N0", "M0", "2", "VALUE:IIB" ], [ "T2a", "N0", "M0", "3", "VALUE:III" ], [ "T2a", "N0", "M0", "9", "VALUE:IB" ], [ "T2a", "N1", "M0", "1", "VALUE:III" ], [ "T2a", "N1", "M0", "2", "VALUE:III" ], [ "T2a", "N1", "M0", "3", "VALUE:III" ], [ "T2a", "N1", "M0", "9", "VALUE:III" ], [ "T2a", "NX", "M0", "1", "VALUE:UNK" ], [ "T2a", "NX", "M0", "2", "VALUE:UNK" ], [ "T2a", "NX", "M0", "3", "VALUE:UNK" ], [ "T2a", "NX", "M0", "9", "VALUE:UNK" ], [ "T2b", "N0", "M0", "1", "VALUE:IB" ], [ "T2b", "N0", "M0", "2", "VALUE:IIB" ], [ "T2b", "N0", "M0", "3", "VALUE:III" ], [ "T2b", "N0", "M0", "9", "VALUE:IB" ], [ "T2b", "N1", "M0", "1", "VALUE:III" ], [ "T2b", "N1", "M0", "2", "VALUE:III" ], [ "T2b", "N1", "M0", "3", "VALUE:III" ], [ "T2b", "N1", "M0", "9", "VALUE:III" ], [ "T2b", "NX", "M0", "1", "VALUE:UNK" ], [ "T2b", "NX", "M0", "2", "VALUE:UNK" ], [ "T2b", "NX", "M0", "3", "VALUE:UNK" ], [ "T2b", "NX", "M0", "9", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "1", "VALUE:IB" ], [ "T2NOS", "N0", "M0", "2", "VALUE:IIB" ], [ "T2NOS", "N0", "M0", "3", "VALUE:III" ], [ "T2NOS", "N0", "M0", "9", "VALUE:IB" ], [ "T2NOS", "N1", "M0", "1", "VALUE:III" ], [ "T2NOS", "N1", "M0", "2", "VALUE:III" ], [ "T2NOS", "N1", "M0", "3", "VALUE:III" ], [ "T2NOS", "N1", "M0", "9", "VALUE:III" ], [ "T2NOS", "NX", "M0", "1", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "2", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "3", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "9", "VALUE:UNK" ], [ "TX", "N0", "M0", "1", "VALUE:INOS" ], [ "TX", "N0", "M0", "2", "VALUE:IINOS" ], [ "TX", "N0", "M0", "3", "VALUE:UNK" ], [ "TX", "N0", "M0", "9", "VALUE:INOS" ], [ "TX", "N1", "M0", "1", "VALUE:III" ], [ "TX", "N1", "M0", "2", "VALUE:III" ], [ "TX", "N1", "M0", "3", "VALUE:III" ], [ "TX", "N1", "M0", "9", "VALUE:III" ], [ "TX", "NX", "M0", "1", "VALUE:UNK" ], [ "TX", "NX", "M0", "2", "VALUE:UNK" ], [ "TX", "NX", "M0", "3", "VALUE:UNK" ], [ "TX", "NX", "M0", "9", "VALUE:UNK" ], [ "T0", "N0", "M1", "1", "VALUE:IV" ], [ "T0", "N0", "M1", "2", "VALUE:IV" ], [ "T0", "N0", "M1", "3", "VALUE:IV" ], [ "T0", "N0", "M1", "9", "VALUE:IV" ], [ "T0", "N1", "M1", "1", "VALUE:IV" ], [ "T0", "N1", "M1", "2", "VALUE:IV" ], [ "T0", "N1", "M1", "3", "VALUE:IV" ], [ "T0", "N1", "M1", "9", "VALUE:IV" ], [ "T0", "NX", "M1", "1", "VALUE:IV" ], [ "T0", "NX", "M1", "2", "VALUE:IV" ], [ "T0", "NX", "M1", "3", "VALUE:IV" ], [ "T0", "NX", "M1", "9", "VALUE:IV" ], [ "T1a", "N0", "M1", "1", "VALUE:IV" ], [ "T1a", "N0", "M1", "2", "VALUE:IV" ], [ "T1a", "N0", "M1", "3", "VALUE:IV" ], [ "T1a", "N0", "M1", "9", "VALUE:IV" ], [ "T1a", "N1", "M1", "1", "VALUE:IV" ], [ "T1a", "N1", "M1", "2", "VALUE:IV" ], [ "T1a", "N1", "M1", "3", "VALUE:IV" ], [ "T1a", "N1", "M1", "9", "VALUE:IV" ], [ "T1a", "NX", "M1", "1", "VALUE:IV" ], [ "T1a", "NX", "M1", "2", "VALUE:IV" ], [ "T1a", "NX", "M1", "3", "VALUE:IV" ], [ "T1a", "NX", "M1", "9", "VALUE:IV" ], [ "T1b", "N0", "M1", "1", "VALUE:IV" ], [ "T1b", "N0", "M1", "2", "VALUE:IV" ], [ "T1b", "N0", "M1", "3", "VALUE:IV" ], [ "T1b", "N0", "M1", "9", "VALUE:IV" ], [ "T1b", "N1", "M1", "1", "VALUE:IV" ], [ "T1b", "N1", "M1", "2", "VALUE:IV" ], [ "T1b", "N1", "M1", "3", "VALUE:IV" ], [ "T1b", "N1", "M1", "9", "VALUE:IV" ], [ "T1b", "NX", "M1", "1", "VALUE:IV" ], [ "T1b", "NX", "M1", "2", "VALUE:IV" ], [ "T1b", "NX", "M1", "3", "VALUE:IV" ], [ "T1b", "NX", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "9", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "2", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "3", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "9", "VALUE:IV" ], [ "T2a", "N0", "M1", "1", "VALUE:IV" ], [ "T2a", "N0", "M1", "2", "VALUE:IV" ], [ "T2a", "N0", "M1", "3", "VALUE:IV" ], [ "T2a", "N0", "M1", "9", "VALUE:IV" ], [ "T2a", "N1", "M1", "1", "VALUE:IV" ], [ "T2a", "N1", "M1", "2", "VALUE:IV" ], [ "T2a", "N1", "M1", "3", "VALUE:IV" ], [ "T2a", "N1", "M1", "9", "VALUE:IV" ], [ "T2a", "NX", "M1", "1", "VALUE:IV" ], [ "T2a", "NX", "M1", "2", "VALUE:IV" ], [ "T2a", "NX", "M1", "3", "VALUE:IV" ], [ "T2a", "NX", "M1", "9", "VALUE:IV" ], [ "T2b", "N0", "M1", "1", "VALUE:IV" ], [ "T2b", "N0", "M1", "2", "VALUE:IV" ], [ "T2b", "N0", "M1", "3", "VALUE:IV" ], [ "T2b", "N0", "M1", "9", "VALUE:IV" ], [ "T2b", "N1", "M1", "1", "VALUE:IV" ], [ "T2b", "N1", "M1", "2", "VALUE:IV" ], [ "T2b", "N1", "M1", "3", "VALUE:IV" ], [ "T2b", "N1", "M1", "9", "VALUE:IV" ], [ "T2b", "NX", "M1", "1", "VALUE:IV" ], [ "T2b", "NX", "M1", "2", "VALUE:IV" ], [ "T2b", "NX", "M1", "3", "VALUE:IV" ], [ "T2b", "NX", "M1", "9", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "1", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "2", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "3", "VALUE:IV" ], [ "T2NOS", "N0", "M1", "9", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "1", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "2", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "3", "VALUE:IV" ], [ "T2NOS", "N1", "M1", "9", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "1", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "2", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "3", "VALUE:IV" ], [ "T2NOS", "NX", "M1", "9", "VALUE:IV" ], [ "TX", "N0", "M1", "1", "VALUE:IV" ], [ "TX", "N0", "M1", "2", "VALUE:IV" ], [ "TX", "N0", "M1", "3", "VALUE:IV" ], [ "TX", "N0", "M1", "9", "VALUE:IV" ], [ "TX", "N1", "M1", "1", "VALUE:IV" ], [ "TX", "N1", "M1", "2", "VALUE:IV" ], [ "TX", "N1", "M1", "3", "VALUE:IV" ], [ "TX", "N1", "M1", "9", "VALUE:IV" ], [ "TX", "NX", "M1", "1", "VALUE:IV" ], [ "TX", "NX", "M1", "2", "VALUE:IV" ], [ "TX", "NX", "M1", "3", "VALUE:IV" ], [ "TX", "NX", "M1", "9", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubk.json deleted file mode 100644 index 5460ca261..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubk.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ubk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:56.784Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:UNK" ], [ "T0", "N2a", "M0", "VALUE:IVA" ], [ "T0", "N2b", "M0", "VALUE:IVA" ], [ "T0", "N2c", "M0", "VALUE:IVA" ], [ "T0", "N2NOS", "M0", "VALUE:IVA" ], [ "T0", "N3", "M0", "VALUE:IVB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2a", "M0", "ERROR:" ], [ "Tis", "N2b", "M0", "ERROR:" ], [ "Tis", "N2c", "M0", "ERROR:" ], [ "Tis", "N2NOS", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N1", "M0", "VALUE:III" ], [ "T1a", "N2a", "M0", "VALUE:IVA" ], [ "T1a", "N2b", "M0", "VALUE:IVA" ], [ "T1a", "N2c", "M0", "VALUE:IVA" ], [ "T1a", "N2NOS", "M0", "VALUE:IVA" ], [ "T1a", "N3", "M0", "VALUE:IVB" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:I" ], [ "T1b", "N1", "M0", "VALUE:III" ], [ "T1b", "N2a", "M0", "VALUE:IVA" ], [ "T1b", "N2b", "M0", "VALUE:IVA" ], [ "T1b", "N2c", "M0", "VALUE:IVA" ], [ "T1b", "N2NOS", "M0", "VALUE:IVA" ], [ "T1b", "N3", "M0", "VALUE:IVB" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N1", "M0", "VALUE:III" ], [ "T1NOS", "N2a", "M0", "VALUE:IVA" ], [ "T1NOS", "N2b", "M0", "VALUE:IVA" ], [ "T1NOS", "N2c", "M0", "VALUE:IVA" ], [ "T1NOS", "N2NOS", "M0", "VALUE:IVA" ], [ "T1NOS", "N3", "M0", "VALUE:IVB" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "N2a", "M0", "VALUE:IVA" ], [ "T2", "N2b", "M0", "VALUE:IVA" ], [ "T2", "N2c", "M0", "VALUE:IVA" ], [ "T2", "N2NOS", "M0", "VALUE:IVA" ], [ "T2", "N3", "M0", "VALUE:IVB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2a", "M0", "VALUE:IVA" ], [ "T3", "N2b", "M0", "VALUE:IVA" ], [ "T3", "N2c", "M0", "VALUE:IVA" ], [ "T3", "N2NOS", "M0", "VALUE:IVA" ], [ "T3", "N3", "M0", "VALUE:IVB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IVA" ], [ "T4a", "N1", "M0", "VALUE:IVA" ], [ "T4a", "N2a", "M0", "VALUE:IVA" ], [ "T4a", "N2b", "M0", "VALUE:IVA" ], [ "T4a", "N2c", "M0", "VALUE:IVA" ], [ "T4a", "N2NOS", "M0", "VALUE:IVA" ], [ "T4a", "N3", "M0", "VALUE:IVB" ], [ "T4a", "NX", "M0", "VALUE:IVNOS" ], [ "T4b", "N0", "M0", "VALUE:IVB" ], [ "T4b", "N1", "M0", "VALUE:IVB" ], [ "T4b", "N2a", "M0", "VALUE:IVB" ], [ "T4b", "N2b", "M0", "VALUE:IVB" ], [ "T4b", "N2c", "M0", "VALUE:IVB" ], [ "T4b", "N2NOS", "M0", "VALUE:IVB" ], [ "T4b", "N3", "M0", "VALUE:IVB" ], [ "T4b", "NX", "M0", "VALUE:IVB" ], [ "T4NOS", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2a", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2b", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2c", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N3", "M0", "VALUE:IVB" ], [ "T4NOS", "NX", "M0", "VALUE:IVNOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2a", "M0", "VALUE:IVNOS" ], [ "TX", "N2b", "M0", "VALUE:IVNOS" ], [ "TX", "N2c", "M0", "VALUE:IVNOS" ], [ "TX", "N2NOS", "M0", "VALUE:IVNOS" ], [ "TX", "N3", "M0", "VALUE:IVB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVC" ], [ "T0", "N1", "M1", "VALUE:IVC" ], [ "T0", "N2a", "M1", "VALUE:IVC" ], [ "T0", "N2b", "M1", "VALUE:IVC" ], [ "T0", "N2c", "M1", "VALUE:IVC" ], [ "T0", "N2NOS", "M1", "VALUE:IVC" ], [ "T0", "N3", "M1", "VALUE:IVC" ], [ "T0", "NX", "M1", "VALUE:IVC" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2a", "M1", "ERROR:" ], [ "Tis", "N2b", "M1", "ERROR:" ], [ "Tis", "N2c", "M1", "ERROR:" ], [ "Tis", "N2NOS", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1a", "N0", "M1", "VALUE:IVC" ], [ "T1a", "N1", "M1", "VALUE:IVC" ], [ "T1a", "N2a", "M1", "VALUE:IVC" ], [ "T1a", "N2b", "M1", "VALUE:IVC" ], [ "T1a", "N2c", "M1", "VALUE:IVC" ], [ "T1a", "N2NOS", "M1", "VALUE:IVC" ], [ "T1a", "N3", "M1", "VALUE:IVC" ], [ "T1a", "NX", "M1", "VALUE:IVC" ], [ "T1b", "N0", "M1", "VALUE:IVC" ], [ "T1b", "N1", "M1", "VALUE:IVC" ], [ "T1b", "N2a", "M1", "VALUE:IVC" ], [ "T1b", "N2b", "M1", "VALUE:IVC" ], [ "T1b", "N2c", "M1", "VALUE:IVC" ], [ "T1b", "N2NOS", "M1", "VALUE:IVC" ], [ "T1b", "N3", "M1", "VALUE:IVC" ], [ "T1b", "NX", "M1", "VALUE:IVC" ], [ "T1NOS", "N0", "M1", "VALUE:IVC" ], [ "T1NOS", "N1", "M1", "VALUE:IVC" ], [ "T1NOS", "N2a", "M1", "VALUE:IVC" ], [ "T1NOS", "N2b", "M1", "VALUE:IVC" ], [ "T1NOS", "N2c", "M1", "VALUE:IVC" ], [ "T1NOS", "N2NOS", "M1", "VALUE:IVC" ], [ "T1NOS", "N3", "M1", "VALUE:IVC" ], [ "T1NOS", "NX", "M1", "VALUE:IVC" ], [ "T2", "N0", "M1", "VALUE:IVC" ], [ "T2", "N1", "M1", "VALUE:IVC" ], [ "T2", "N2a", "M1", "VALUE:IVC" ], [ "T2", "N2b", "M1", "VALUE:IVC" ], [ "T2", "N2c", "M1", "VALUE:IVC" ], [ "T2", "N2NOS", "M1", "VALUE:IVC" ], [ "T2", "N3", "M1", "VALUE:IVC" ], [ "T2", "NX", "M1", "VALUE:IVC" ], [ "T3", "N0", "M1", "VALUE:IVC" ], [ "T3", "N1", "M1", "VALUE:IVC" ], [ "T3", "N2a", "M1", "VALUE:IVC" ], [ "T3", "N2b", "M1", "VALUE:IVC" ], [ "T3", "N2c", "M1", "VALUE:IVC" ], [ "T3", "N2NOS", "M1", "VALUE:IVC" ], [ "T3", "N3", "M1", "VALUE:IVC" ], [ "T3", "NX", "M1", "VALUE:IVC" ], [ "T4a", "N0", "M1", "VALUE:IVC" ], [ "T4a", "N1", "M1", "VALUE:IVC" ], [ "T4a", "N2a", "M1", "VALUE:IVC" ], [ "T4a", "N2b", "M1", "VALUE:IVC" ], [ "T4a", "N2c", "M1", "VALUE:IVC" ], [ "T4a", "N2NOS", "M1", "VALUE:IVC" ], [ "T4a", "N3", "M1", "VALUE:IVC" ], [ "T4a", "NX", "M1", "VALUE:IVC" ], [ "T4b", "N0", "M1", "VALUE:IVC" ], [ "T4b", "N1", "M1", "VALUE:IVC" ], [ "T4b", "N2a", "M1", "VALUE:IVC" ], [ "T4b", "N2b", "M1", "VALUE:IVC" ], [ "T4b", "N2c", "M1", "VALUE:IVC" ], [ "T4b", "N2NOS", "M1", "VALUE:IVC" ], [ "T4b", "N3", "M1", "VALUE:IVC" ], [ "T4b", "NX", "M1", "VALUE:IVC" ], [ "T4NOS", "N0", "M1", "VALUE:IVC" ], [ "T4NOS", "N1", "M1", "VALUE:IVC" ], [ "T4NOS", "N2a", "M1", "VALUE:IVC" ], [ "T4NOS", "N2b", "M1", "VALUE:IVC" ], [ "T4NOS", "N2c", "M1", "VALUE:IVC" ], [ "T4NOS", "N2NOS", "M1", "VALUE:IVC" ], [ "T4NOS", "N3", "M1", "VALUE:IVC" ], [ "T4NOS", "NX", "M1", "VALUE:IVC" ], [ "TX", "N0", "M1", "VALUE:IVC" ], [ "TX", "N1", "M1", "VALUE:IVC" ], [ "TX", "N2a", "M1", "VALUE:IVC" ], [ "TX", "N2b", "M1", "VALUE:IVC" ], [ "TX", "N2c", "M1", "VALUE:IVC" ], [ "TX", "N2NOS", "M1", "VALUE:IVC" ], [ "TX", "N3", "M1", "VALUE:IVC" ], [ "TX", "NX", "M1", "VALUE:IVC" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubl.json deleted file mode 100644 index 658f5ae0f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubl.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ubl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:56.853Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IVA" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IVA" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:IVA" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:IIIA" ], [ "T3a", "N1", "M0", "VALUE:IVA" ], [ "T3a", "NX", "M0", "VALUE:UNK" ], [ "T3b", "N0", "M0", "VALUE:IIIB" ], [ "T3b", "N1", "M0", "VALUE:IVA" ], [ "T3b", "NX", "M0", "VALUE:UNK" ], [ "T3NOS", "N0", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N1", "M0", "VALUE:IVA" ], [ "T3NOS", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IIIC" ], [ "T4", "N1", "M0", "VALUE:IVA" ], [ "T4", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IVA" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVB" ], [ "T0", "N1", "M1", "VALUE:IVB" ], [ "T0", "NX", "M1", "VALUE:IVB" ], [ "T1", "N0", "M1", "VALUE:IVB" ], [ "T1", "N1", "M1", "VALUE:IVB" ], [ "T1", "NX", "M1", "VALUE:IVB" ], [ "T2", "N0", "M1", "VALUE:IVB" ], [ "T2", "N1", "M1", "VALUE:IVB" ], [ "T2", "NX", "M1", "VALUE:IVB" ], [ "T3a", "N0", "M1", "VALUE:IVB" ], [ "T3a", "N1", "M1", "VALUE:IVB" ], [ "T3a", "NX", "M1", "VALUE:IVB" ], [ "T3b", "N0", "M1", "VALUE:IVB" ], [ "T3b", "N1", "M1", "VALUE:IVB" ], [ "T3b", "NX", "M1", "VALUE:IVB" ], [ "T3NOS", "N0", "M1", "VALUE:IVB" ], [ "T3NOS", "N1", "M1", "VALUE:IVB" ], [ "T3NOS", "NX", "M1", "VALUE:IVB" ], [ "T4", "N0", "M1", "VALUE:IVB" ], [ "T4", "N1", "M1", "VALUE:IVB" ], [ "T4", "NX", "M1", "VALUE:IVB" ], [ "TX", "N0", "M1", "VALUE:IVB" ], [ "TX", "N1", "M1", "VALUE:IVB" ], [ "TX", "NX", "M1", "VALUE:IVB" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubm.json deleted file mode 100644 index 99eb530af..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubm.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ubm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:56.901Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:UNK" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:IA" ], [ "T1", "N1", "M0", "VALUE:IIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IB" ], [ "T2", "N1", "M0", "VALUE:IIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIA" ], [ "T3", "N1", "M0", "VALUE:IIB" ], [ "T3", "NX", "M0", "VALUE:IINOS" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubn.json deleted file mode 100644 index 2e21c20a2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubn.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ubn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:56.958Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:UNK" ], [ "T0", "N2", "M0", "VALUE:IVB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IIIB" ], [ "T1", "N2", "M0", "VALUE:IVB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:II" ], [ "T2a", "N1", "M0", "VALUE:IIIB" ], [ "T2a", "N2", "M0", "VALUE:IVB" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:II" ], [ "T2b", "N1", "M0", "VALUE:IIIB" ], [ "T2b", "N2", "M0", "VALUE:IVB" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:II" ], [ "T2NOS", "N1", "M0", "VALUE:IIIB" ], [ "T2NOS", "N2", "M0", "VALUE:IVB" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIIA" ], [ "T3", "N1", "M0", "VALUE:IIIB" ], [ "T3", "N2", "M0", "VALUE:IVB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IVA" ], [ "T4", "N1", "M0", "VALUE:IVA" ], [ "T4", "N2", "M0", "VALUE:IVB" ], [ "T4", "NX", "M0", "VALUE:IVNOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:IVB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVB" ], [ "T0", "N1", "M1", "VALUE:IVB" ], [ "T0", "N2", "M1", "VALUE:IVB" ], [ "T0", "NX", "M1", "VALUE:IVB" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IVB" ], [ "T1", "N1", "M1", "VALUE:IVB" ], [ "T1", "N2", "M1", "VALUE:IVB" ], [ "T1", "NX", "M1", "VALUE:IVB" ], [ "T2a", "N0", "M1", "VALUE:IVB" ], [ "T2a", "N1", "M1", "VALUE:IVB" ], [ "T2a", "N2", "M1", "VALUE:IVB" ], [ "T2a", "NX", "M1", "VALUE:IVB" ], [ "T2b", "N0", "M1", "VALUE:IVB" ], [ "T2b", "N1", "M1", "VALUE:IVB" ], [ "T2b", "N2", "M1", "VALUE:IVB" ], [ "T2b", "NX", "M1", "VALUE:IVB" ], [ "T2NOS", "N0", "M1", "VALUE:IVB" ], [ "T2NOS", "N1", "M1", "VALUE:IVB" ], [ "T2NOS", "N2", "M1", "VALUE:IVB" ], [ "T2NOS", "NX", "M1", "VALUE:IVB" ], [ "T3", "N0", "M1", "VALUE:IVB" ], [ "T3", "N1", "M1", "VALUE:IVB" ], [ "T3", "N2", "M1", "VALUE:IVB" ], [ "T3", "NX", "M1", "VALUE:IVB" ], [ "T4", "N0", "M1", "VALUE:IVB" ], [ "T4", "N1", "M1", "VALUE:IVB" ], [ "T4", "N2", "M1", "VALUE:IVB" ], [ "T4", "NX", "M1", "VALUE:IVB" ], [ "TX", "N0", "M1", "VALUE:IVB" ], [ "TX", "N1", "M1", "VALUE:IVB" ], [ "TX", "N2", "M1", "VALUE:IVB" ], [ "TX", "NX", "M1", "VALUE:IVB" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubp.json deleted file mode 100644 index 31e2cf92c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubp.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "ajcc7_stage_ubp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:57.025Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "PSA", - "type" : "INPUT" - }, { - "key" : "gleason", - "name" : "Gleason", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T0", "N0", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T0", "N0", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T0", "N0", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T0", "N0", "M0", "001-099", "002-006", "ERROR:" ], [ "T0", "N0", "M0", "001-099", "007", "ERROR:" ], [ "T0", "N0", "M0", "001-099", "008-010", "ERROR:" ], [ "T0", "N0", "M0", "001-099", "988,998,999", "ERROR:" ], [ "T0", "N0", "M0", "100-199", "002-006", "ERROR:" ], [ "T0", "N0", "M0", "100-199", "007", "ERROR:" ], [ "T0", "N0", "M0", "100-199", "008-010", "ERROR:" ], [ "T0", "N0", "M0", "100-199", "988,998,999", "ERROR:" ], [ "T0", "N0", "M0", "200-980", "002-006", "ERROR:" ], [ "T0", "N0", "M0", "200-980", "007", "ERROR:" ], [ "T0", "N0", "M0", "200-980", "008-010", "ERROR:" ], [ "T0", "N0", "M0", "200-980", "988,998,999", "ERROR:" ], [ "T0", "N0", "M0", "988,997,998,999", "002-006", "ERROR:" ], [ "T0", "N0", "M0", "988,997,998,999", "007", "ERROR:" ], [ "T0", "N0", "M0", "988,997,998,999", "008-010", "ERROR:" ], [ "T0", "N0", "M0", "988,997,998,999", "988,998,999", "ERROR:" ], [ "T0", "N1", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T0", "N1", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T0", "N1", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T0", "N1", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T0", "N1", "M0", "001-099", "002-006", "VALUE:IV" ], [ "T0", "N1", "M0", "001-099", "007", "VALUE:IV" ], [ "T0", "N1", "M0", "001-099", "008-010", "VALUE:IV" ], [ "T0", "N1", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M0", "100-199", "002-006", "VALUE:IV" ], [ "T0", "N1", "M0", "100-199", "007", "VALUE:IV" ], [ "T0", "N1", "M0", "100-199", "008-010", "VALUE:IV" ], [ "T0", "N1", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M0", "200-980", "002-006", "VALUE:IV" ], [ "T0", "N1", "M0", "200-980", "007", "VALUE:IV" ], [ "T0", "N1", "M0", "200-980", "008-010", "VALUE:IV" ], [ "T0", "N1", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T0", "N1", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "T0", "N1", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T0", "N1", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T0", "NX", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T0", "NX", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T0", "NX", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T0", "NX", "M0", "001-099", "002-006", "VALUE:UNK" ], [ "T0", "NX", "M0", "001-099", "007", "VALUE:UNK" ], [ "T0", "NX", "M0", "001-099", "008-010", "VALUE:UNK" ], [ "T0", "NX", "M0", "001-099", "988,998,999", "VALUE:UNK" ], [ "T0", "NX", "M0", "100-199", "002-006", "VALUE:UNK" ], [ "T0", "NX", "M0", "100-199", "007", "VALUE:UNK" ], [ "T0", "NX", "M0", "100-199", "008-010", "VALUE:UNK" ], [ "T0", "NX", "M0", "100-199", "988,998,999", "VALUE:UNK" ], [ "T0", "NX", "M0", "200-980", "002-006", "VALUE:UNK" ], [ "T0", "NX", "M0", "200-980", "007", "VALUE:UNK" ], [ "T0", "NX", "M0", "200-980", "008-010", "VALUE:UNK" ], [ "T0", "NX", "M0", "200-980", "988,998,999", "VALUE:UNK" ], [ "T0", "NX", "M0", "988,997,998,999", "002-006", "VALUE:UNK" ], [ "T0", "NX", "M0", "988,997,998,999", "007", "VALUE:UNK" ], [ "T0", "NX", "M0", "988,997,998,999", "008-010", "VALUE:UNK" ], [ "T0", "NX", "M0", "988,997,998,999", "988,998,999", "VALUE:UNK" ], [ "T1a", "N0", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1a", "N0", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T1a", "N0", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1a", "N0", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1a", "N0", "M0", "001-099", "002-006", "VALUE:I" ], [ "T1a", "N0", "M0", "001-099", "007", "VALUE:IIA" ], [ "T1a", "N0", "M0", "001-099", "008-010", "VALUE:IIB" ], [ "T1a", "N0", "M0", "001-099", "988,998,999", "VALUE:I" ], [ "T1a", "N0", "M0", "100-199", "002-006", "VALUE:IIA" ], [ "T1a", "N0", "M0", "100-199", "007", "VALUE:IIA" ], [ "T1a", "N0", "M0", "100-199", "008-010", "VALUE:IIB" ], [ "T1a", "N0", "M0", "100-199", "988,998,999", "VALUE:IIA" ], [ "T1a", "N0", "M0", "200-980", "002-006", "VALUE:IIB" ], [ "T1a", "N0", "M0", "200-980", "007", "VALUE:IIB" ], [ "T1a", "N0", "M0", "200-980", "008-010", "VALUE:IIB" ], [ "T1a", "N0", "M0", "200-980", "988,998,999", "VALUE:IIB" ], [ "T1a", "N0", "M0", "988,997,998,999", "002-006", "VALUE:I" ], [ "T1a", "N0", "M0", "988,997,998,999", "007", "VALUE:IIA" ], [ "T1a", "N0", "M0", "988,997,998,999", "008-010", "VALUE:IIB" ], [ "T1a", "N0", "M0", "988,997,998,999", "988,998,999", "VALUE:I" ], [ "T1a", "N1", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1a", "N1", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T1a", "N1", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1a", "N1", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1a", "N1", "M0", "001-099", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M0", "001-099", "007", "VALUE:IV" ], [ "T1a", "N1", "M0", "001-099", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M0", "100-199", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M0", "100-199", "007", "VALUE:IV" ], [ "T1a", "N1", "M0", "100-199", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M0", "200-980", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M0", "200-980", "007", "VALUE:IV" ], [ "T1a", "N1", "M0", "200-980", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "T1a", "N1", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1a", "NX", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T1a", "NX", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1a", "NX", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1a", "NX", "M0", "001-099", "002-006", "VALUE:UNK" ], [ "T1a", "NX", "M0", "001-099", "007", "VALUE:UNK" ], [ "T1a", "NX", "M0", "001-099", "008-010", "VALUE:UNK" ], [ "T1a", "NX", "M0", "001-099", "988,998,999", "VALUE:UNK" ], [ "T1a", "NX", "M0", "100-199", "002-006", "VALUE:UNK" ], [ "T1a", "NX", "M0", "100-199", "007", "VALUE:UNK" ], [ "T1a", "NX", "M0", "100-199", "008-010", "VALUE:UNK" ], [ "T1a", "NX", "M0", "100-199", "988,998,999", "VALUE:UNK" ], [ "T1a", "NX", "M0", "200-980", "002-006", "VALUE:UNK" ], [ "T1a", "NX", "M0", "200-980", "007", "VALUE:UNK" ], [ "T1a", "NX", "M0", "200-980", "008-010", "VALUE:UNK" ], [ "T1a", "NX", "M0", "200-980", "988,998,999", "VALUE:UNK" ], [ "T1a", "NX", "M0", "988,997,998,999", "002-006", "VALUE:UNK" ], [ "T1a", "NX", "M0", "988,997,998,999", "007", "VALUE:UNK" ], [ "T1a", "NX", "M0", "988,997,998,999", "008-010", "VALUE:UNK" ], [ "T1a", "NX", "M0", "988,997,998,999", "988,998,999", "VALUE:UNK" ], [ "T1b", "N0", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1b", "N0", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T1b", "N0", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1b", "N0", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1b", "N0", "M0", "001-099", "002-006", "VALUE:I" ], [ "T1b", "N0", "M0", "001-099", "007", "VALUE:IIA" ], [ "T1b", "N0", "M0", "001-099", "008-010", "VALUE:IIB" ], [ "T1b", "N0", "M0", "001-099", "988,998,999", "VALUE:I" ], [ "T1b", "N0", "M0", "100-199", "002-006", "VALUE:IIA" ], [ "T1b", "N0", "M0", "100-199", "007", "VALUE:IIA" ], [ "T1b", "N0", "M0", "100-199", "008-010", "VALUE:IIB" ], [ "T1b", "N0", "M0", "100-199", "988,998,999", "VALUE:IIA" ], [ "T1b", "N0", "M0", "200-980", "002-006", "VALUE:IIB" ], [ "T1b", "N0", "M0", "200-980", "007", "VALUE:IIB" ], [ "T1b", "N0", "M0", "200-980", "008-010", "VALUE:IIB" ], [ "T1b", "N0", "M0", "200-980", "988,998,999", "VALUE:IIB" ], [ "T1b", "N0", "M0", "988,997,998,999", "002-006", "VALUE:I" ], [ "T1b", "N0", "M0", "988,997,998,999", "007", "VALUE:IIA" ], [ "T1b", "N0", "M0", "988,997,998,999", "008-010", "VALUE:IIB" ], [ "T1b", "N0", "M0", "988,997,998,999", "988,998,999", "VALUE:I" ], [ "T1b", "N1", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1b", "N1", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T1b", "N1", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1b", "N1", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1b", "N1", "M0", "001-099", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M0", "001-099", "007", "VALUE:IV" ], [ "T1b", "N1", "M0", "001-099", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M0", "100-199", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M0", "100-199", "007", "VALUE:IV" ], [ "T1b", "N1", "M0", "100-199", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M0", "200-980", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M0", "200-980", "007", "VALUE:IV" ], [ "T1b", "N1", "M0", "200-980", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "T1b", "N1", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1b", "NX", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T1b", "NX", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1b", "NX", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1b", "NX", "M0", "001-099", "002-006", "VALUE:UNK" ], [ "T1b", "NX", "M0", "001-099", "007", "VALUE:UNK" ], [ "T1b", "NX", "M0", "001-099", "008-010", "VALUE:UNK" ], [ "T1b", "NX", "M0", "001-099", "988,998,999", "VALUE:UNK" ], [ "T1b", "NX", "M0", "100-199", "002-006", "VALUE:UNK" ], [ "T1b", "NX", "M0", "100-199", "007", "VALUE:UNK" ], [ "T1b", "NX", "M0", "100-199", "008-010", "VALUE:UNK" ], [ "T1b", "NX", "M0", "100-199", "988,998,999", "VALUE:UNK" ], [ "T1b", "NX", "M0", "200-980", "002-006", "VALUE:UNK" ], [ "T1b", "NX", "M0", "200-980", "007", "VALUE:UNK" ], [ "T1b", "NX", "M0", "200-980", "008-010", "VALUE:UNK" ], [ "T1b", "NX", "M0", "200-980", "988,998,999", "VALUE:UNK" ], [ "T1b", "NX", "M0", "988,997,998,999", "002-006", "VALUE:UNK" ], [ "T1b", "NX", "M0", "988,997,998,999", "007", "VALUE:UNK" ], [ "T1b", "NX", "M0", "988,997,998,999", "008-010", "VALUE:UNK" ], [ "T1b", "NX", "M0", "988,997,998,999", "988,998,999", "VALUE:UNK" ], [ "T1c", "N0", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1c", "N0", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T1c", "N0", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1c", "N0", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1c", "N0", "M0", "001-099", "002-006", "VALUE:I" ], [ "T1c", "N0", "M0", "001-099", "007", "VALUE:IIA" ], [ "T1c", "N0", "M0", "001-099", "008-010", "VALUE:IIB" ], [ "T1c", "N0", "M0", "001-099", "988,998,999", "VALUE:I" ], [ "T1c", "N0", "M0", "100-199", "002-006", "VALUE:IIA" ], [ "T1c", "N0", "M0", "100-199", "007", "VALUE:IIA" ], [ "T1c", "N0", "M0", "100-199", "008-010", "VALUE:IIB" ], [ "T1c", "N0", "M0", "100-199", "988,998,999", "VALUE:IIA" ], [ "T1c", "N0", "M0", "200-980", "002-006", "VALUE:IIB" ], [ "T1c", "N0", "M0", "200-980", "007", "VALUE:IIB" ], [ "T1c", "N0", "M0", "200-980", "008-010", "VALUE:IIB" ], [ "T1c", "N0", "M0", "200-980", "988,998,999", "VALUE:IIB" ], [ "T1c", "N0", "M0", "988,997,998,999", "002-006", "VALUE:I" ], [ "T1c", "N0", "M0", "988,997,998,999", "007", "VALUE:IIA" ], [ "T1c", "N0", "M0", "988,997,998,999", "008-010", "VALUE:IIB" ], [ "T1c", "N0", "M0", "988,997,998,999", "988,998,999", "VALUE:I" ], [ "T1c", "N1", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1c", "N1", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T1c", "N1", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1c", "N1", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1c", "N1", "M0", "001-099", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M0", "001-099", "007", "VALUE:IV" ], [ "T1c", "N1", "M0", "001-099", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M0", "100-199", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M0", "100-199", "007", "VALUE:IV" ], [ "T1c", "N1", "M0", "100-199", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M0", "200-980", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M0", "200-980", "007", "VALUE:IV" ], [ "T1c", "N1", "M0", "200-980", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "T1c", "N1", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1c", "NX", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T1c", "NX", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1c", "NX", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1c", "NX", "M0", "001-099", "002-006", "VALUE:UNK" ], [ "T1c", "NX", "M0", "001-099", "007", "VALUE:UNK" ], [ "T1c", "NX", "M0", "001-099", "008-010", "VALUE:UNK" ], [ "T1c", "NX", "M0", "001-099", "988,998,999", "VALUE:UNK" ], [ "T1c", "NX", "M0", "100-199", "002-006", "VALUE:UNK" ], [ "T1c", "NX", "M0", "100-199", "007", "VALUE:UNK" ], [ "T1c", "NX", "M0", "100-199", "008-010", "VALUE:UNK" ], [ "T1c", "NX", "M0", "100-199", "988,998,999", "VALUE:UNK" ], [ "T1c", "NX", "M0", "200-980", "002-006", "VALUE:UNK" ], [ "T1c", "NX", "M0", "200-980", "007", "VALUE:UNK" ], [ "T1c", "NX", "M0", "200-980", "008-010", "VALUE:UNK" ], [ "T1c", "NX", "M0", "200-980", "988,998,999", "VALUE:UNK" ], [ "T1c", "NX", "M0", "988,997,998,999", "002-006", "VALUE:UNK" ], [ "T1c", "NX", "M0", "988,997,998,999", "007", "VALUE:UNK" ], [ "T1c", "NX", "M0", "988,997,998,999", "008-010", "VALUE:UNK" ], [ "T1c", "NX", "M0", "988,997,998,999", "988,998,999", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1NOS", "N0", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T1NOS", "N0", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1NOS", "N0", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1NOS", "N0", "M0", "001-099", "002-006", "VALUE:I" ], [ "T1NOS", "N0", "M0", "001-099", "007", "VALUE:IIA" ], [ "T1NOS", "N0", "M0", "001-099", "008-010", "VALUE:IIB" ], [ "T1NOS", "N0", "M0", "001-099", "988,998,999", "VALUE:I" ], [ "T1NOS", "N0", "M0", "100-199", "002-006", "VALUE:IIA" ], [ "T1NOS", "N0", "M0", "100-199", "007", "VALUE:IIA" ], [ "T1NOS", "N0", "M0", "100-199", "008-010", "VALUE:IIB" ], [ "T1NOS", "N0", "M0", "100-199", "988,998,999", "VALUE:IIA" ], [ "T1NOS", "N0", "M0", "200-980", "002-006", "VALUE:IIB" ], [ "T1NOS", "N0", "M0", "200-980", "007", "VALUE:IIB" ], [ "T1NOS", "N0", "M0", "200-980", "008-010", "VALUE:IIB" ], [ "T1NOS", "N0", "M0", "200-980", "988,998,999", "VALUE:IIB" ], [ "T1NOS", "N0", "M0", "988,997,998,999", "002-006", "VALUE:I" ], [ "T1NOS", "N0", "M0", "988,997,998,999", "007", "VALUE:IIA" ], [ "T1NOS", "N0", "M0", "988,997,998,999", "008-010", "VALUE:IIB" ], [ "T1NOS", "N0", "M0", "988,997,998,999", "988,998,999", "VALUE:I" ], [ "T1NOS", "N1", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1NOS", "N1", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T1NOS", "N1", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1NOS", "N1", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1NOS", "N1", "M0", "001-099", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "001-099", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "001-099", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "100-199", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "100-199", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "100-199", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "200-980", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "200-980", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "200-980", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1NOS", "NX", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T1NOS", "NX", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1NOS", "NX", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1NOS", "NX", "M0", "001-099", "002-006", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "001-099", "007", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "001-099", "008-010", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "001-099", "988,998,999", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "100-199", "002-006", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "100-199", "007", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "100-199", "008-010", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "100-199", "988,998,999", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "200-980", "002-006", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "200-980", "007", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "200-980", "008-010", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "200-980", "988,998,999", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "988,997,998,999", "002-006", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "988,997,998,999", "007", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "988,997,998,999", "008-010", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "988,997,998,999", "988,998,999", "VALUE:UNK" ], [ "T2a", "N0", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2a", "N0", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T2a", "N0", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2a", "N0", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2a", "N0", "M0", "001-099", "002-006", "VALUE:I" ], [ "T2a", "N0", "M0", "001-099", "007", "VALUE:IIA" ], [ "T2a", "N0", "M0", "001-099", "008-010", "VALUE:IIB" ], [ "T2a", "N0", "M0", "001-099", "988,998,999", "VALUE:I" ], [ "T2a", "N0", "M0", "100-199", "002-006", "VALUE:IIA" ], [ "T2a", "N0", "M0", "100-199", "007", "VALUE:IIA" ], [ "T2a", "N0", "M0", "100-199", "008-010", "VALUE:IIB" ], [ "T2a", "N0", "M0", "100-199", "988,998,999", "VALUE:IIA" ], [ "T2a", "N0", "M0", "200-980", "002-006", "VALUE:IIB" ], [ "T2a", "N0", "M0", "200-980", "007", "VALUE:IIB" ], [ "T2a", "N0", "M0", "200-980", "008-010", "VALUE:IIB" ], [ "T2a", "N0", "M0", "200-980", "988,998,999", "VALUE:IIB" ], [ "T2a", "N0", "M0", "988,997,998,999", "002-006", "VALUE:I" ], [ "T2a", "N0", "M0", "988,997,998,999", "007", "VALUE:IIA" ], [ "T2a", "N0", "M0", "988,997,998,999", "008-010", "VALUE:IIB" ], [ "T2a", "N0", "M0", "988,997,998,999", "988,998,999", "VALUE:I" ], [ "T2a", "N1", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2a", "N1", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T2a", "N1", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2a", "N1", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2a", "N1", "M0", "001-099", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M0", "001-099", "007", "VALUE:IV" ], [ "T2a", "N1", "M0", "001-099", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M0", "100-199", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M0", "100-199", "007", "VALUE:IV" ], [ "T2a", "N1", "M0", "100-199", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M0", "200-980", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M0", "200-980", "007", "VALUE:IV" ], [ "T2a", "N1", "M0", "200-980", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "T2a", "N1", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2a", "NX", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T2a", "NX", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2a", "NX", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2a", "NX", "M0", "001-099", "002-006", "VALUE:UNK" ], [ "T2a", "NX", "M0", "001-099", "007", "VALUE:UNK" ], [ "T2a", "NX", "M0", "001-099", "008-010", "VALUE:UNK" ], [ "T2a", "NX", "M0", "001-099", "988,998,999", "VALUE:UNK" ], [ "T2a", "NX", "M0", "100-199", "002-006", "VALUE:UNK" ], [ "T2a", "NX", "M0", "100-199", "007", "VALUE:UNK" ], [ "T2a", "NX", "M0", "100-199", "008-010", "VALUE:UNK" ], [ "T2a", "NX", "M0", "100-199", "988,998,999", "VALUE:UNK" ], [ "T2a", "NX", "M0", "200-980", "002-006", "VALUE:UNK" ], [ "T2a", "NX", "M0", "200-980", "007", "VALUE:UNK" ], [ "T2a", "NX", "M0", "200-980", "008-010", "VALUE:UNK" ], [ "T2a", "NX", "M0", "200-980", "988,998,999", "VALUE:UNK" ], [ "T2a", "NX", "M0", "988,997,998,999", "002-006", "VALUE:UNK" ], [ "T2a", "NX", "M0", "988,997,998,999", "007", "VALUE:UNK" ], [ "T2a", "NX", "M0", "988,997,998,999", "008-010", "VALUE:UNK" ], [ "T2a", "NX", "M0", "988,997,998,999", "988,998,999", "VALUE:UNK" ], [ "T2b", "N0", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2b", "N0", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T2b", "N0", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2b", "N0", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2b", "N0", "M0", "001-099", "002-006", "VALUE:IIA" ], [ "T2b", "N0", "M0", "001-099", "007", "VALUE:IIA" ], [ "T2b", "N0", "M0", "001-099", "008-010", "VALUE:IIB" ], [ "T2b", "N0", "M0", "001-099", "988,998,999", "VALUE:IIA" ], [ "T2b", "N0", "M0", "100-199", "002-006", "VALUE:IIA" ], [ "T2b", "N0", "M0", "100-199", "007", "VALUE:IIA" ], [ "T2b", "N0", "M0", "100-199", "008-010", "VALUE:IIB" ], [ "T2b", "N0", "M0", "100-199", "988,998,999", "VALUE:IIA" ], [ "T2b", "N0", "M0", "200-980", "002-006", "VALUE:IIB" ], [ "T2b", "N0", "M0", "200-980", "007", "VALUE:IIB" ], [ "T2b", "N0", "M0", "200-980", "008-010", "VALUE:IIB" ], [ "T2b", "N0", "M0", "200-980", "988,998,999", "VALUE:IIB" ], [ "T2b", "N0", "M0", "988,997,998,999", "002-006", "VALUE:IIA" ], [ "T2b", "N0", "M0", "988,997,998,999", "007", "VALUE:IIA" ], [ "T2b", "N0", "M0", "988,997,998,999", "008-010", "VALUE:IIB" ], [ "T2b", "N0", "M0", "988,997,998,999", "988,998,999", "VALUE:IIA" ], [ "T2b", "N1", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2b", "N1", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T2b", "N1", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2b", "N1", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2b", "N1", "M0", "001-099", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M0", "001-099", "007", "VALUE:IV" ], [ "T2b", "N1", "M0", "001-099", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M0", "100-199", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M0", "100-199", "007", "VALUE:IV" ], [ "T2b", "N1", "M0", "100-199", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M0", "200-980", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M0", "200-980", "007", "VALUE:IV" ], [ "T2b", "N1", "M0", "200-980", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "T2b", "N1", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2b", "NX", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T2b", "NX", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2b", "NX", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2b", "NX", "M0", "001-099", "002-006", "VALUE:UNK" ], [ "T2b", "NX", "M0", "001-099", "007", "VALUE:UNK" ], [ "T2b", "NX", "M0", "001-099", "008-010", "VALUE:UNK" ], [ "T2b", "NX", "M0", "001-099", "988,998,999", "VALUE:UNK" ], [ "T2b", "NX", "M0", "100-199", "002-006", "VALUE:UNK" ], [ "T2b", "NX", "M0", "100-199", "007", "VALUE:UNK" ], [ "T2b", "NX", "M0", "100-199", "008-010", "VALUE:UNK" ], [ "T2b", "NX", "M0", "100-199", "988,998,999", "VALUE:UNK" ], [ "T2b", "NX", "M0", "200-980", "002-006", "VALUE:UNK" ], [ "T2b", "NX", "M0", "200-980", "007", "VALUE:UNK" ], [ "T2b", "NX", "M0", "200-980", "008-010", "VALUE:UNK" ], [ "T2b", "NX", "M0", "200-980", "988,998,999", "VALUE:UNK" ], [ "T2b", "NX", "M0", "988,997,998,999", "002-006", "VALUE:UNK" ], [ "T2b", "NX", "M0", "988,997,998,999", "007", "VALUE:UNK" ], [ "T2b", "NX", "M0", "988,997,998,999", "008-010", "VALUE:UNK" ], [ "T2b", "NX", "M0", "988,997,998,999", "988,998,999", "VALUE:UNK" ], [ "T2c", "N0", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2c", "N0", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T2c", "N0", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2c", "N0", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2c", "N0", "M0", "001-099", "002-006", "VALUE:IIB" ], [ "T2c", "N0", "M0", "001-099", "007", "VALUE:IIB" ], [ "T2c", "N0", "M0", "001-099", "008-010", "VALUE:IIB" ], [ "T2c", "N0", "M0", "001-099", "988,998,999", "VALUE:IIB" ], [ "T2c", "N0", "M0", "100-199", "002-006", "VALUE:IIB" ], [ "T2c", "N0", "M0", "100-199", "007", "VALUE:IIB" ], [ "T2c", "N0", "M0", "100-199", "008-010", "VALUE:IIB" ], [ "T2c", "N0", "M0", "100-199", "988,998,999", "VALUE:IIB" ], [ "T2c", "N0", "M0", "200-980", "002-006", "VALUE:IIB" ], [ "T2c", "N0", "M0", "200-980", "007", "VALUE:IIB" ], [ "T2c", "N0", "M0", "200-980", "008-010", "VALUE:IIB" ], [ "T2c", "N0", "M0", "200-980", "988,998,999", "VALUE:IIB" ], [ "T2c", "N0", "M0", "988,997,998,999", "002-006", "VALUE:IIB" ], [ "T2c", "N0", "M0", "988,997,998,999", "007", "VALUE:IIB" ], [ "T2c", "N0", "M0", "988,997,998,999", "008-010", "VALUE:IIB" ], [ "T2c", "N0", "M0", "988,997,998,999", "988,998,999", "VALUE:IIB" ], [ "T2c", "N1", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2c", "N1", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T2c", "N1", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2c", "N1", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2c", "N1", "M0", "001-099", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M0", "001-099", "007", "VALUE:IV" ], [ "T2c", "N1", "M0", "001-099", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M0", "100-199", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M0", "100-199", "007", "VALUE:IV" ], [ "T2c", "N1", "M0", "100-199", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M0", "200-980", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M0", "200-980", "007", "VALUE:IV" ], [ "T2c", "N1", "M0", "200-980", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "T2c", "N1", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2c", "NX", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T2c", "NX", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2c", "NX", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2c", "NX", "M0", "001-099", "002-006", "VALUE:UNK" ], [ "T2c", "NX", "M0", "001-099", "007", "VALUE:UNK" ], [ "T2c", "NX", "M0", "001-099", "008-010", "VALUE:UNK" ], [ "T2c", "NX", "M0", "001-099", "988,998,999", "VALUE:UNK" ], [ "T2c", "NX", "M0", "100-199", "002-006", "VALUE:UNK" ], [ "T2c", "NX", "M0", "100-199", "007", "VALUE:UNK" ], [ "T2c", "NX", "M0", "100-199", "008-010", "VALUE:UNK" ], [ "T2c", "NX", "M0", "100-199", "988,998,999", "VALUE:UNK" ], [ "T2c", "NX", "M0", "200-980", "002-006", "VALUE:UNK" ], [ "T2c", "NX", "M0", "200-980", "007", "VALUE:UNK" ], [ "T2c", "NX", "M0", "200-980", "008-010", "VALUE:UNK" ], [ "T2c", "NX", "M0", "200-980", "988,998,999", "VALUE:UNK" ], [ "T2c", "NX", "M0", "988,997,998,999", "002-006", "VALUE:UNK" ], [ "T2c", "NX", "M0", "988,997,998,999", "007", "VALUE:UNK" ], [ "T2c", "NX", "M0", "988,997,998,999", "008-010", "VALUE:UNK" ], [ "T2c", "NX", "M0", "988,997,998,999", "988,998,999", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2NOS", "N0", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T2NOS", "N0", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2NOS", "N0", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2NOS", "N0", "M0", "001-099", "002-006", "VALUE:I" ], [ "T2NOS", "N0", "M0", "001-099", "007", "VALUE:IIA" ], [ "T2NOS", "N0", "M0", "001-099", "008-010", "VALUE:IIB" ], [ "T2NOS", "N0", "M0", "001-099", "988,998,999", "VALUE:I" ], [ "T2NOS", "N0", "M0", "100-199", "002-006", "VALUE:IIA" ], [ "T2NOS", "N0", "M0", "100-199", "007", "VALUE:IIA" ], [ "T2NOS", "N0", "M0", "100-199", "008-010", "VALUE:IIB" ], [ "T2NOS", "N0", "M0", "100-199", "988,998,999", "VALUE:IIA" ], [ "T2NOS", "N0", "M0", "200-980", "002-006", "VALUE:IIB" ], [ "T2NOS", "N0", "M0", "200-980", "007", "VALUE:IIB" ], [ "T2NOS", "N0", "M0", "200-980", "008-010", "VALUE:IIB" ], [ "T2NOS", "N0", "M0", "200-980", "988,998,999", "VALUE:IIB" ], [ "T2NOS", "N0", "M0", "988,997,998,999", "002-006", "VALUE:I" ], [ "T2NOS", "N0", "M0", "988,997,998,999", "007", "VALUE:IIA" ], [ "T2NOS", "N0", "M0", "988,997,998,999", "008-010", "VALUE:IIB" ], [ "T2NOS", "N0", "M0", "988,997,998,999", "988,998,999", "VALUE:I" ], [ "T2NOS", "N1", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2NOS", "N1", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T2NOS", "N1", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2NOS", "N1", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2NOS", "N1", "M0", "001-099", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "001-099", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "001-099", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "100-199", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "100-199", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "100-199", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "200-980", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "200-980", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "200-980", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2NOS", "NX", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T2NOS", "NX", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2NOS", "NX", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2NOS", "NX", "M0", "001-099", "002-006", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "001-099", "007", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "001-099", "008-010", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "001-099", "988,998,999", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "100-199", "002-006", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "100-199", "007", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "100-199", "008-010", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "100-199", "988,998,999", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "200-980", "002-006", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "200-980", "007", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "200-980", "008-010", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "200-980", "988,998,999", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "988,997,998,999", "002-006", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "988,997,998,999", "007", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "988,997,998,999", "008-010", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "988,997,998,999", "988,998,999", "VALUE:UNK" ], [ "T3a", "N0", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3a", "N0", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T3a", "N0", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3a", "N0", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3a", "N0", "M0", "001-099", "002-006", "VALUE:III" ], [ "T3a", "N0", "M0", "001-099", "007", "VALUE:III" ], [ "T3a", "N0", "M0", "001-099", "008-010", "VALUE:III" ], [ "T3a", "N0", "M0", "001-099", "988,998,999", "VALUE:III" ], [ "T3a", "N0", "M0", "100-199", "002-006", "VALUE:III" ], [ "T3a", "N0", "M0", "100-199", "007", "VALUE:III" ], [ "T3a", "N0", "M0", "100-199", "008-010", "VALUE:III" ], [ "T3a", "N0", "M0", "100-199", "988,998,999", "VALUE:III" ], [ "T3a", "N0", "M0", "200-980", "002-006", "VALUE:III" ], [ "T3a", "N0", "M0", "200-980", "007", "VALUE:III" ], [ "T3a", "N0", "M0", "200-980", "008-010", "VALUE:III" ], [ "T3a", "N0", "M0", "200-980", "988,998,999", "VALUE:III" ], [ "T3a", "N0", "M0", "988,997,998,999", "002-006", "VALUE:III" ], [ "T3a", "N0", "M0", "988,997,998,999", "007", "VALUE:III" ], [ "T3a", "N0", "M0", "988,997,998,999", "008-010", "VALUE:III" ], [ "T3a", "N0", "M0", "988,997,998,999", "988,998,999", "VALUE:III" ], [ "T3a", "N1", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3a", "N1", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T3a", "N1", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3a", "N1", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3a", "N1", "M0", "001-099", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M0", "001-099", "007", "VALUE:IV" ], [ "T3a", "N1", "M0", "001-099", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M0", "100-199", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M0", "100-199", "007", "VALUE:IV" ], [ "T3a", "N1", "M0", "100-199", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M0", "200-980", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M0", "200-980", "007", "VALUE:IV" ], [ "T3a", "N1", "M0", "200-980", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "T3a", "N1", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3a", "NX", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T3a", "NX", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3a", "NX", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3a", "NX", "M0", "001-099", "002-006", "VALUE:UNK" ], [ "T3a", "NX", "M0", "001-099", "007", "VALUE:UNK" ], [ "T3a", "NX", "M0", "001-099", "008-010", "VALUE:UNK" ], [ "T3a", "NX", "M0", "001-099", "988,998,999", "VALUE:UNK" ], [ "T3a", "NX", "M0", "100-199", "002-006", "VALUE:UNK" ], [ "T3a", "NX", "M0", "100-199", "007", "VALUE:UNK" ], [ "T3a", "NX", "M0", "100-199", "008-010", "VALUE:UNK" ], [ "T3a", "NX", "M0", "100-199", "988,998,999", "VALUE:UNK" ], [ "T3a", "NX", "M0", "200-980", "002-006", "VALUE:UNK" ], [ "T3a", "NX", "M0", "200-980", "007", "VALUE:UNK" ], [ "T3a", "NX", "M0", "200-980", "008-010", "VALUE:UNK" ], [ "T3a", "NX", "M0", "200-980", "988,998,999", "VALUE:UNK" ], [ "T3a", "NX", "M0", "988,997,998,999", "002-006", "VALUE:UNK" ], [ "T3a", "NX", "M0", "988,997,998,999", "007", "VALUE:UNK" ], [ "T3a", "NX", "M0", "988,997,998,999", "008-010", "VALUE:UNK" ], [ "T3a", "NX", "M0", "988,997,998,999", "988,998,999", "VALUE:UNK" ], [ "T3b", "N0", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3b", "N0", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T3b", "N0", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3b", "N0", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3b", "N0", "M0", "001-099", "002-006", "VALUE:III" ], [ "T3b", "N0", "M0", "001-099", "007", "VALUE:III" ], [ "T3b", "N0", "M0", "001-099", "008-010", "VALUE:III" ], [ "T3b", "N0", "M0", "001-099", "988,998,999", "VALUE:III" ], [ "T3b", "N0", "M0", "100-199", "002-006", "VALUE:III" ], [ "T3b", "N0", "M0", "100-199", "007", "VALUE:III" ], [ "T3b", "N0", "M0", "100-199", "008-010", "VALUE:III" ], [ "T3b", "N0", "M0", "100-199", "988,998,999", "VALUE:III" ], [ "T3b", "N0", "M0", "200-980", "002-006", "VALUE:III" ], [ "T3b", "N0", "M0", "200-980", "007", "VALUE:III" ], [ "T3b", "N0", "M0", "200-980", "008-010", "VALUE:III" ], [ "T3b", "N0", "M0", "200-980", "988,998,999", "VALUE:III" ], [ "T3b", "N0", "M0", "988,997,998,999", "002-006", "VALUE:III" ], [ "T3b", "N0", "M0", "988,997,998,999", "007", "VALUE:III" ], [ "T3b", "N0", "M0", "988,997,998,999", "008-010", "VALUE:III" ], [ "T3b", "N0", "M0", "988,997,998,999", "988,998,999", "VALUE:III" ], [ "T3b", "N1", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3b", "N1", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T3b", "N1", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3b", "N1", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3b", "N1", "M0", "001-099", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M0", "001-099", "007", "VALUE:IV" ], [ "T3b", "N1", "M0", "001-099", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M0", "100-199", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M0", "100-199", "007", "VALUE:IV" ], [ "T3b", "N1", "M0", "100-199", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M0", "200-980", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M0", "200-980", "007", "VALUE:IV" ], [ "T3b", "N1", "M0", "200-980", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "T3b", "N1", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3b", "NX", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T3b", "NX", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3b", "NX", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3b", "NX", "M0", "001-099", "002-006", "VALUE:UNK" ], [ "T3b", "NX", "M0", "001-099", "007", "VALUE:UNK" ], [ "T3b", "NX", "M0", "001-099", "008-010", "VALUE:UNK" ], [ "T3b", "NX", "M0", "001-099", "988,998,999", "VALUE:UNK" ], [ "T3b", "NX", "M0", "100-199", "002-006", "VALUE:UNK" ], [ "T3b", "NX", "M0", "100-199", "007", "VALUE:UNK" ], [ "T3b", "NX", "M0", "100-199", "008-010", "VALUE:UNK" ], [ "T3b", "NX", "M0", "100-199", "988,998,999", "VALUE:UNK" ], [ "T3b", "NX", "M0", "200-980", "002-006", "VALUE:UNK" ], [ "T3b", "NX", "M0", "200-980", "007", "VALUE:UNK" ], [ "T3b", "NX", "M0", "200-980", "008-010", "VALUE:UNK" ], [ "T3b", "NX", "M0", "200-980", "988,998,999", "VALUE:UNK" ], [ "T3b", "NX", "M0", "988,997,998,999", "002-006", "VALUE:UNK" ], [ "T3b", "NX", "M0", "988,997,998,999", "007", "VALUE:UNK" ], [ "T3b", "NX", "M0", "988,997,998,999", "008-010", "VALUE:UNK" ], [ "T3b", "NX", "M0", "988,997,998,999", "988,998,999", "VALUE:UNK" ], [ "T3NOS", "N0", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3NOS", "N0", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T3NOS", "N0", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3NOS", "N0", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3NOS", "N0", "M0", "001-099", "002-006", "VALUE:III" ], [ "T3NOS", "N0", "M0", "001-099", "007", "VALUE:III" ], [ "T3NOS", "N0", "M0", "001-099", "008-010", "VALUE:III" ], [ "T3NOS", "N0", "M0", "001-099", "988,998,999", "VALUE:III" ], [ "T3NOS", "N0", "M0", "100-199", "002-006", "VALUE:III" ], [ "T3NOS", "N0", "M0", "100-199", "007", "VALUE:III" ], [ "T3NOS", "N0", "M0", "100-199", "008-010", "VALUE:III" ], [ "T3NOS", "N0", "M0", "100-199", "988,998,999", "VALUE:III" ], [ "T3NOS", "N0", "M0", "200-980", "002-006", "VALUE:III" ], [ "T3NOS", "N0", "M0", "200-980", "007", "VALUE:III" ], [ "T3NOS", "N0", "M0", "200-980", "008-010", "VALUE:III" ], [ "T3NOS", "N0", "M0", "200-980", "988,998,999", "VALUE:III" ], [ "T3NOS", "N0", "M0", "988,997,998,999", "002-006", "VALUE:III" ], [ "T3NOS", "N0", "M0", "988,997,998,999", "007", "VALUE:III" ], [ "T3NOS", "N0", "M0", "988,997,998,999", "008-010", "VALUE:III" ], [ "T3NOS", "N0", "M0", "988,997,998,999", "988,998,999", "VALUE:III" ], [ "T3NOS", "N1", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3NOS", "N1", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T3NOS", "N1", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3NOS", "N1", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3NOS", "N1", "M0", "001-099", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M0", "001-099", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M0", "001-099", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M0", "100-199", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M0", "100-199", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M0", "100-199", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M0", "200-980", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M0", "200-980", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M0", "200-980", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3NOS", "NX", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T3NOS", "NX", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3NOS", "NX", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3NOS", "NX", "M0", "001-099", "002-006", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "001-099", "007", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "001-099", "008-010", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "001-099", "988,998,999", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "100-199", "002-006", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "100-199", "007", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "100-199", "008-010", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "100-199", "988,998,999", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "200-980", "002-006", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "200-980", "007", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "200-980", "008-010", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "200-980", "988,998,999", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "988,997,998,999", "002-006", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "988,997,998,999", "007", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "988,997,998,999", "008-010", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "988,997,998,999", "988,998,999", "VALUE:UNK" ], [ "T4", "N0", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T4", "N0", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T4", "N0", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T4", "N0", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T4", "N0", "M0", "001-099", "002-006", "VALUE:IV" ], [ "T4", "N0", "M0", "001-099", "007", "VALUE:IV" ], [ "T4", "N0", "M0", "001-099", "008-010", "VALUE:IV" ], [ "T4", "N0", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M0", "100-199", "002-006", "VALUE:IV" ], [ "T4", "N0", "M0", "100-199", "007", "VALUE:IV" ], [ "T4", "N0", "M0", "100-199", "008-010", "VALUE:IV" ], [ "T4", "N0", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M0", "200-980", "002-006", "VALUE:IV" ], [ "T4", "N0", "M0", "200-980", "007", "VALUE:IV" ], [ "T4", "N0", "M0", "200-980", "008-010", "VALUE:IV" ], [ "T4", "N0", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T4", "N0", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "T4", "N0", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T4", "N0", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T4", "N1", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T4", "N1", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T4", "N1", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T4", "N1", "M0", "001-099", "002-006", "VALUE:IV" ], [ "T4", "N1", "M0", "001-099", "007", "VALUE:IV" ], [ "T4", "N1", "M0", "001-099", "008-010", "VALUE:IV" ], [ "T4", "N1", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M0", "100-199", "002-006", "VALUE:IV" ], [ "T4", "N1", "M0", "100-199", "007", "VALUE:IV" ], [ "T4", "N1", "M0", "100-199", "008-010", "VALUE:IV" ], [ "T4", "N1", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M0", "200-980", "002-006", "VALUE:IV" ], [ "T4", "N1", "M0", "200-980", "007", "VALUE:IV" ], [ "T4", "N1", "M0", "200-980", "008-010", "VALUE:IV" ], [ "T4", "N1", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T4", "N1", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "T4", "N1", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T4", "N1", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T4", "NX", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "T4", "NX", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T4", "NX", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T4", "NX", "M0", "001-099", "002-006", "VALUE:IV" ], [ "T4", "NX", "M0", "001-099", "007", "VALUE:IV" ], [ "T4", "NX", "M0", "001-099", "008-010", "VALUE:IV" ], [ "T4", "NX", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M0", "100-199", "002-006", "VALUE:IV" ], [ "T4", "NX", "M0", "100-199", "007", "VALUE:IV" ], [ "T4", "NX", "M0", "100-199", "008-010", "VALUE:IV" ], [ "T4", "NX", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M0", "200-980", "002-006", "VALUE:IV" ], [ "T4", "NX", "M0", "200-980", "007", "VALUE:IV" ], [ "T4", "NX", "M0", "200-980", "008-010", "VALUE:IV" ], [ "T4", "NX", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T4", "NX", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "T4", "NX", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T4", "NX", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "TX", "N0", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "TX", "N0", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "TX", "N0", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "TX", "N0", "M0", "001-099", "002-006", "VALUE:UNK" ], [ "TX", "N0", "M0", "001-099", "007", "VALUE:UNK" ], [ "TX", "N0", "M0", "001-099", "008-010", "VALUE:UNK" ], [ "TX", "N0", "M0", "001-099", "988,998,999", "VALUE:UNK" ], [ "TX", "N0", "M0", "100-199", "002-006", "VALUE:UNK" ], [ "TX", "N0", "M0", "100-199", "007", "VALUE:UNK" ], [ "TX", "N0", "M0", "100-199", "008-010", "VALUE:UNK" ], [ "TX", "N0", "M0", "100-199", "988,998,999", "VALUE:UNK" ], [ "TX", "N0", "M0", "200-980", "002-006", "VALUE:UNK" ], [ "TX", "N0", "M0", "200-980", "007", "VALUE:UNK" ], [ "TX", "N0", "M0", "200-980", "008-010", "VALUE:UNK" ], [ "TX", "N0", "M0", "200-980", "988,998,999", "VALUE:UNK" ], [ "TX", "N0", "M0", "988,997,998,999", "002-006", "VALUE:UNK" ], [ "TX", "N0", "M0", "988,997,998,999", "007", "VALUE:UNK" ], [ "TX", "N0", "M0", "988,997,998,999", "008-010", "VALUE:UNK" ], [ "TX", "N0", "M0", "988,997,998,999", "988,998,999", "VALUE:UNK" ], [ "TX", "N1", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "TX", "N1", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "TX", "N1", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "TX", "N1", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "TX", "N1", "M0", "001-099", "002-006", "VALUE:IV" ], [ "TX", "N1", "M0", "001-099", "007", "VALUE:IV" ], [ "TX", "N1", "M0", "001-099", "008-010", "VALUE:IV" ], [ "TX", "N1", "M0", "001-099", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M0", "100-199", "002-006", "VALUE:IV" ], [ "TX", "N1", "M0", "100-199", "007", "VALUE:IV" ], [ "TX", "N1", "M0", "100-199", "008-010", "VALUE:IV" ], [ "TX", "N1", "M0", "100-199", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M0", "200-980", "002-006", "VALUE:IV" ], [ "TX", "N1", "M0", "200-980", "007", "VALUE:IV" ], [ "TX", "N1", "M0", "200-980", "008-010", "VALUE:IV" ], [ "TX", "N1", "M0", "200-980", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M0", "988,997,998,999", "002-006", "VALUE:IV" ], [ "TX", "N1", "M0", "988,997,998,999", "007", "VALUE:IV" ], [ "TX", "N1", "M0", "988,997,998,999", "008-010", "VALUE:IV" ], [ "TX", "N1", "M0", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M0", "000,981-987,989-990", "002-006", "ERROR:" ], [ "TX", "NX", "M0", "000,981-987,989-990", "007", "ERROR:" ], [ "TX", "NX", "M0", "000,981-987,989-990", "008-010", "ERROR:" ], [ "TX", "NX", "M0", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "TX", "NX", "M0", "001-099", "002-006", "VALUE:UNK" ], [ "TX", "NX", "M0", "001-099", "007", "VALUE:UNK" ], [ "TX", "NX", "M0", "001-099", "008-010", "VALUE:UNK" ], [ "TX", "NX", "M0", "001-099", "988,998,999", "VALUE:UNK" ], [ "TX", "NX", "M0", "100-199", "002-006", "VALUE:UNK" ], [ "TX", "NX", "M0", "100-199", "007", "VALUE:UNK" ], [ "TX", "NX", "M0", "100-199", "008-010", "VALUE:UNK" ], [ "TX", "NX", "M0", "100-199", "988,998,999", "VALUE:UNK" ], [ "TX", "NX", "M0", "200-980", "002-006", "VALUE:UNK" ], [ "TX", "NX", "M0", "200-980", "007", "VALUE:UNK" ], [ "TX", "NX", "M0", "200-980", "008-010", "VALUE:UNK" ], [ "TX", "NX", "M0", "200-980", "988,998,999", "VALUE:UNK" ], [ "TX", "NX", "M0", "988,997,998,999", "002-006", "VALUE:UNK" ], [ "TX", "NX", "M0", "988,997,998,999", "007", "VALUE:UNK" ], [ "TX", "NX", "M0", "988,997,998,999", "008-010", "VALUE:UNK" ], [ "TX", "NX", "M0", "988,997,998,999", "988,998,999", "VALUE:UNK" ], [ "T0", "N0", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T0", "N0", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T0", "N0", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T0", "N0", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T0", "N0", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1a", "001-099", "007", "VALUE:IV" ], [ "T0", "N0", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T0", "N0", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1a", "100-199", "007", "VALUE:IV" ], [ "T0", "N0", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T0", "N0", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1a", "200-980", "007", "VALUE:IV" ], [ "T0", "N0", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T0", "N0", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T0", "N0", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T0", "N1", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T0", "N1", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T0", "N1", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T0", "N1", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1a", "001-099", "007", "VALUE:IV" ], [ "T0", "N1", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1a", "100-199", "007", "VALUE:IV" ], [ "T0", "N1", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1a", "200-980", "007", "VALUE:IV" ], [ "T0", "N1", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T0", "N1", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T0", "NX", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T0", "NX", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T0", "NX", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T0", "NX", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1a", "001-099", "007", "VALUE:IV" ], [ "T0", "NX", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1a", "100-199", "007", "VALUE:IV" ], [ "T0", "NX", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1a", "200-980", "007", "VALUE:IV" ], [ "T0", "NX", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T0", "NX", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1a", "N0", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T1a", "N0", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1a", "N0", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1a", "N0", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1a", "001-099", "007", "VALUE:IV" ], [ "T1a", "N0", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1a", "100-199", "007", "VALUE:IV" ], [ "T1a", "N0", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1a", "200-980", "007", "VALUE:IV" ], [ "T1a", "N0", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T1a", "N0", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1a", "N1", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T1a", "N1", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1a", "N1", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1a", "N1", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1a", "001-099", "007", "VALUE:IV" ], [ "T1a", "N1", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1a", "100-199", "007", "VALUE:IV" ], [ "T1a", "N1", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1a", "200-980", "007", "VALUE:IV" ], [ "T1a", "N1", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T1a", "N1", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1a", "NX", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T1a", "NX", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1a", "NX", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1a", "NX", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1a", "001-099", "007", "VALUE:IV" ], [ "T1a", "NX", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1a", "100-199", "007", "VALUE:IV" ], [ "T1a", "NX", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1a", "200-980", "007", "VALUE:IV" ], [ "T1a", "NX", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T1a", "NX", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1b", "N0", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T1b", "N0", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1b", "N0", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1b", "N0", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1a", "001-099", "007", "VALUE:IV" ], [ "T1b", "N0", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1a", "100-199", "007", "VALUE:IV" ], [ "T1b", "N0", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1a", "200-980", "007", "VALUE:IV" ], [ "T1b", "N0", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T1b", "N0", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1b", "N1", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T1b", "N1", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1b", "N1", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1b", "N1", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1a", "001-099", "007", "VALUE:IV" ], [ "T1b", "N1", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1a", "100-199", "007", "VALUE:IV" ], [ "T1b", "N1", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1a", "200-980", "007", "VALUE:IV" ], [ "T1b", "N1", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T1b", "N1", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1b", "NX", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T1b", "NX", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1b", "NX", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1b", "NX", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1a", "001-099", "007", "VALUE:IV" ], [ "T1b", "NX", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1a", "100-199", "007", "VALUE:IV" ], [ "T1b", "NX", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1a", "200-980", "007", "VALUE:IV" ], [ "T1b", "NX", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T1b", "NX", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1c", "N0", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T1c", "N0", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1c", "N0", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1c", "N0", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1a", "001-099", "007", "VALUE:IV" ], [ "T1c", "N0", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1a", "100-199", "007", "VALUE:IV" ], [ "T1c", "N0", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1a", "200-980", "007", "VALUE:IV" ], [ "T1c", "N0", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T1c", "N0", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1c", "N1", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T1c", "N1", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1c", "N1", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1c", "N1", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1a", "001-099", "007", "VALUE:IV" ], [ "T1c", "N1", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1a", "100-199", "007", "VALUE:IV" ], [ "T1c", "N1", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1a", "200-980", "007", "VALUE:IV" ], [ "T1c", "N1", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T1c", "N1", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1c", "NX", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T1c", "NX", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1c", "NX", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1c", "NX", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1a", "001-099", "007", "VALUE:IV" ], [ "T1c", "NX", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1a", "100-199", "007", "VALUE:IV" ], [ "T1c", "NX", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1a", "200-980", "007", "VALUE:IV" ], [ "T1c", "NX", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T1c", "NX", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1NOS", "N0", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T1NOS", "N0", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1NOS", "N0", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1NOS", "N0", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "001-099", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "100-199", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "200-980", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1NOS", "N1", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T1NOS", "N1", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1NOS", "N1", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1NOS", "N1", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "001-099", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "100-199", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "200-980", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1NOS", "NX", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T1NOS", "NX", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1NOS", "NX", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1NOS", "NX", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "001-099", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "100-199", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "200-980", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2a", "N0", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T2a", "N0", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2a", "N0", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2a", "N0", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1a", "001-099", "007", "VALUE:IV" ], [ "T2a", "N0", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1a", "100-199", "007", "VALUE:IV" ], [ "T2a", "N0", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1a", "200-980", "007", "VALUE:IV" ], [ "T2a", "N0", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T2a", "N0", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2a", "N1", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T2a", "N1", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2a", "N1", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2a", "N1", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1a", "001-099", "007", "VALUE:IV" ], [ "T2a", "N1", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1a", "100-199", "007", "VALUE:IV" ], [ "T2a", "N1", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1a", "200-980", "007", "VALUE:IV" ], [ "T2a", "N1", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T2a", "N1", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2a", "NX", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T2a", "NX", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2a", "NX", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2a", "NX", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1a", "001-099", "007", "VALUE:IV" ], [ "T2a", "NX", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1a", "100-199", "007", "VALUE:IV" ], [ "T2a", "NX", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1a", "200-980", "007", "VALUE:IV" ], [ "T2a", "NX", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T2a", "NX", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2b", "N0", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T2b", "N0", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2b", "N0", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2b", "N0", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1a", "001-099", "007", "VALUE:IV" ], [ "T2b", "N0", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1a", "100-199", "007", "VALUE:IV" ], [ "T2b", "N0", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1a", "200-980", "007", "VALUE:IV" ], [ "T2b", "N0", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T2b", "N0", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2b", "N1", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T2b", "N1", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2b", "N1", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2b", "N1", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1a", "001-099", "007", "VALUE:IV" ], [ "T2b", "N1", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1a", "100-199", "007", "VALUE:IV" ], [ "T2b", "N1", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1a", "200-980", "007", "VALUE:IV" ], [ "T2b", "N1", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T2b", "N1", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2b", "NX", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T2b", "NX", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2b", "NX", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2b", "NX", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1a", "001-099", "007", "VALUE:IV" ], [ "T2b", "NX", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1a", "100-199", "007", "VALUE:IV" ], [ "T2b", "NX", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1a", "200-980", "007", "VALUE:IV" ], [ "T2b", "NX", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T2b", "NX", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2c", "N0", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T2c", "N0", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2c", "N0", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2c", "N0", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1a", "001-099", "007", "VALUE:IV" ], [ "T2c", "N0", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1a", "100-199", "007", "VALUE:IV" ], [ "T2c", "N0", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1a", "200-980", "007", "VALUE:IV" ], [ "T2c", "N0", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T2c", "N0", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2c", "N1", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T2c", "N1", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2c", "N1", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2c", "N1", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1a", "001-099", "007", "VALUE:IV" ], [ "T2c", "N1", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1a", "100-199", "007", "VALUE:IV" ], [ "T2c", "N1", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1a", "200-980", "007", "VALUE:IV" ], [ "T2c", "N1", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T2c", "N1", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2c", "NX", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T2c", "NX", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2c", "NX", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2c", "NX", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1a", "001-099", "007", "VALUE:IV" ], [ "T2c", "NX", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1a", "100-199", "007", "VALUE:IV" ], [ "T2c", "NX", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1a", "200-980", "007", "VALUE:IV" ], [ "T2c", "NX", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T2c", "NX", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2NOS", "N0", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T2NOS", "N0", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2NOS", "N0", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2NOS", "N0", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "001-099", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "100-199", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "200-980", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2NOS", "N1", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T2NOS", "N1", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2NOS", "N1", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2NOS", "N1", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "001-099", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "100-199", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "200-980", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2NOS", "NX", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T2NOS", "NX", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2NOS", "NX", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2NOS", "NX", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "001-099", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "100-199", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "200-980", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3a", "N0", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T3a", "N0", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3a", "N0", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3a", "N0", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1a", "001-099", "007", "VALUE:IV" ], [ "T3a", "N0", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1a", "100-199", "007", "VALUE:IV" ], [ "T3a", "N0", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1a", "200-980", "007", "VALUE:IV" ], [ "T3a", "N0", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T3a", "N0", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3a", "N1", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T3a", "N1", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3a", "N1", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3a", "N1", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1a", "001-099", "007", "VALUE:IV" ], [ "T3a", "N1", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1a", "100-199", "007", "VALUE:IV" ], [ "T3a", "N1", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1a", "200-980", "007", "VALUE:IV" ], [ "T3a", "N1", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T3a", "N1", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3a", "NX", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T3a", "NX", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3a", "NX", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3a", "NX", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1a", "001-099", "007", "VALUE:IV" ], [ "T3a", "NX", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1a", "100-199", "007", "VALUE:IV" ], [ "T3a", "NX", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1a", "200-980", "007", "VALUE:IV" ], [ "T3a", "NX", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T3a", "NX", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3b", "N0", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T3b", "N0", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3b", "N0", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3b", "N0", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1a", "001-099", "007", "VALUE:IV" ], [ "T3b", "N0", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1a", "100-199", "007", "VALUE:IV" ], [ "T3b", "N0", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1a", "200-980", "007", "VALUE:IV" ], [ "T3b", "N0", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T3b", "N0", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3b", "N1", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T3b", "N1", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3b", "N1", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3b", "N1", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1a", "001-099", "007", "VALUE:IV" ], [ "T3b", "N1", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1a", "100-199", "007", "VALUE:IV" ], [ "T3b", "N1", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1a", "200-980", "007", "VALUE:IV" ], [ "T3b", "N1", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T3b", "N1", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3b", "NX", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T3b", "NX", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3b", "NX", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3b", "NX", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1a", "001-099", "007", "VALUE:IV" ], [ "T3b", "NX", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1a", "100-199", "007", "VALUE:IV" ], [ "T3b", "NX", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1a", "200-980", "007", "VALUE:IV" ], [ "T3b", "NX", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T3b", "NX", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3NOS", "N0", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T3NOS", "N0", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3NOS", "N0", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3NOS", "N0", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "001-099", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "100-199", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "200-980", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3NOS", "N1", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T3NOS", "N1", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3NOS", "N1", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3NOS", "N1", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "001-099", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "100-199", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "200-980", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3NOS", "NX", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T3NOS", "NX", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3NOS", "NX", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3NOS", "NX", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "001-099", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "100-199", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "200-980", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T4", "N0", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T4", "N0", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T4", "N0", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T4", "N0", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1a", "001-099", "007", "VALUE:IV" ], [ "T4", "N0", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1a", "100-199", "007", "VALUE:IV" ], [ "T4", "N0", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1a", "200-980", "007", "VALUE:IV" ], [ "T4", "N0", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T4", "N0", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T4", "N1", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T4", "N1", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T4", "N1", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T4", "N1", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1a", "001-099", "007", "VALUE:IV" ], [ "T4", "N1", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1a", "100-199", "007", "VALUE:IV" ], [ "T4", "N1", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1a", "200-980", "007", "VALUE:IV" ], [ "T4", "N1", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T4", "N1", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T4", "NX", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "T4", "NX", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T4", "NX", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T4", "NX", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1a", "001-099", "007", "VALUE:IV" ], [ "T4", "NX", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1a", "100-199", "007", "VALUE:IV" ], [ "T4", "NX", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1a", "200-980", "007", "VALUE:IV" ], [ "T4", "NX", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "T4", "NX", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "TX", "N0", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "TX", "N0", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "TX", "N0", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "TX", "N0", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1a", "001-099", "007", "VALUE:IV" ], [ "TX", "N0", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1a", "100-199", "007", "VALUE:IV" ], [ "TX", "N0", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1a", "200-980", "007", "VALUE:IV" ], [ "TX", "N0", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "TX", "N0", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "TX", "N1", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "TX", "N1", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "TX", "N1", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "TX", "N1", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1a", "001-099", "007", "VALUE:IV" ], [ "TX", "N1", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1a", "100-199", "007", "VALUE:IV" ], [ "TX", "N1", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1a", "200-980", "007", "VALUE:IV" ], [ "TX", "N1", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "TX", "N1", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1a", "000,981-987,989-990", "002-006", "ERROR:" ], [ "TX", "NX", "M1a", "000,981-987,989-990", "007", "ERROR:" ], [ "TX", "NX", "M1a", "000,981-987,989-990", "008-010", "ERROR:" ], [ "TX", "NX", "M1a", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "TX", "NX", "M1a", "001-099", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1a", "001-099", "007", "VALUE:IV" ], [ "TX", "NX", "M1a", "001-099", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1a", "001-099", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1a", "100-199", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1a", "100-199", "007", "VALUE:IV" ], [ "TX", "NX", "M1a", "100-199", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1a", "100-199", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1a", "200-980", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1a", "200-980", "007", "VALUE:IV" ], [ "TX", "NX", "M1a", "200-980", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1a", "200-980", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1a", "988,997,998,999", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1a", "988,997,998,999", "007", "VALUE:IV" ], [ "TX", "NX", "M1a", "988,997,998,999", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1a", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T0", "N0", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T0", "N0", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T0", "N0", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T0", "N0", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T0", "N0", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1b", "001-099", "007", "VALUE:IV" ], [ "T0", "N0", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T0", "N0", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1b", "100-199", "007", "VALUE:IV" ], [ "T0", "N0", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T0", "N0", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1b", "200-980", "007", "VALUE:IV" ], [ "T0", "N0", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T0", "N0", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T0", "N0", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T0", "N1", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T0", "N1", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T0", "N1", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T0", "N1", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1b", "001-099", "007", "VALUE:IV" ], [ "T0", "N1", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1b", "100-199", "007", "VALUE:IV" ], [ "T0", "N1", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1b", "200-980", "007", "VALUE:IV" ], [ "T0", "N1", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T0", "N1", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T0", "NX", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T0", "NX", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T0", "NX", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T0", "NX", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1b", "001-099", "007", "VALUE:IV" ], [ "T0", "NX", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1b", "100-199", "007", "VALUE:IV" ], [ "T0", "NX", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1b", "200-980", "007", "VALUE:IV" ], [ "T0", "NX", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T0", "NX", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1a", "N0", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T1a", "N0", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1a", "N0", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1a", "N0", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1b", "001-099", "007", "VALUE:IV" ], [ "T1a", "N0", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1b", "100-199", "007", "VALUE:IV" ], [ "T1a", "N0", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1b", "200-980", "007", "VALUE:IV" ], [ "T1a", "N0", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T1a", "N0", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1a", "N1", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T1a", "N1", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1a", "N1", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1a", "N1", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1b", "001-099", "007", "VALUE:IV" ], [ "T1a", "N1", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1b", "100-199", "007", "VALUE:IV" ], [ "T1a", "N1", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1b", "200-980", "007", "VALUE:IV" ], [ "T1a", "N1", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T1a", "N1", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1a", "NX", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T1a", "NX", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1a", "NX", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1a", "NX", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1b", "001-099", "007", "VALUE:IV" ], [ "T1a", "NX", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1b", "100-199", "007", "VALUE:IV" ], [ "T1a", "NX", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1b", "200-980", "007", "VALUE:IV" ], [ "T1a", "NX", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T1a", "NX", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1b", "N0", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T1b", "N0", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1b", "N0", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1b", "N0", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1b", "001-099", "007", "VALUE:IV" ], [ "T1b", "N0", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1b", "100-199", "007", "VALUE:IV" ], [ "T1b", "N0", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1b", "200-980", "007", "VALUE:IV" ], [ "T1b", "N0", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T1b", "N0", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1b", "N1", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T1b", "N1", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1b", "N1", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1b", "N1", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1b", "001-099", "007", "VALUE:IV" ], [ "T1b", "N1", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1b", "100-199", "007", "VALUE:IV" ], [ "T1b", "N1", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1b", "200-980", "007", "VALUE:IV" ], [ "T1b", "N1", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T1b", "N1", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1b", "NX", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T1b", "NX", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1b", "NX", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1b", "NX", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1b", "001-099", "007", "VALUE:IV" ], [ "T1b", "NX", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1b", "100-199", "007", "VALUE:IV" ], [ "T1b", "NX", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1b", "200-980", "007", "VALUE:IV" ], [ "T1b", "NX", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T1b", "NX", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1c", "N0", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T1c", "N0", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1c", "N0", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1c", "N0", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1b", "001-099", "007", "VALUE:IV" ], [ "T1c", "N0", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1b", "100-199", "007", "VALUE:IV" ], [ "T1c", "N0", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1b", "200-980", "007", "VALUE:IV" ], [ "T1c", "N0", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T1c", "N0", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1c", "N1", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T1c", "N1", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1c", "N1", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1c", "N1", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1b", "001-099", "007", "VALUE:IV" ], [ "T1c", "N1", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1b", "100-199", "007", "VALUE:IV" ], [ "T1c", "N1", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1b", "200-980", "007", "VALUE:IV" ], [ "T1c", "N1", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T1c", "N1", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1c", "NX", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T1c", "NX", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1c", "NX", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1c", "NX", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1b", "001-099", "007", "VALUE:IV" ], [ "T1c", "NX", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1b", "100-199", "007", "VALUE:IV" ], [ "T1c", "NX", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1b", "200-980", "007", "VALUE:IV" ], [ "T1c", "NX", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T1c", "NX", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1NOS", "N0", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T1NOS", "N0", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1NOS", "N0", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1NOS", "N0", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "001-099", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "100-199", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "200-980", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1NOS", "N1", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T1NOS", "N1", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1NOS", "N1", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1NOS", "N1", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "001-099", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "100-199", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "200-980", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1NOS", "NX", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T1NOS", "NX", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1NOS", "NX", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1NOS", "NX", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "001-099", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "100-199", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "200-980", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2a", "N0", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T2a", "N0", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2a", "N0", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2a", "N0", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1b", "001-099", "007", "VALUE:IV" ], [ "T2a", "N0", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1b", "100-199", "007", "VALUE:IV" ], [ "T2a", "N0", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1b", "200-980", "007", "VALUE:IV" ], [ "T2a", "N0", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T2a", "N0", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2a", "N1", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T2a", "N1", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2a", "N1", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2a", "N1", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1b", "001-099", "007", "VALUE:IV" ], [ "T2a", "N1", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1b", "100-199", "007", "VALUE:IV" ], [ "T2a", "N1", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1b", "200-980", "007", "VALUE:IV" ], [ "T2a", "N1", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T2a", "N1", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2a", "NX", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T2a", "NX", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2a", "NX", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2a", "NX", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1b", "001-099", "007", "VALUE:IV" ], [ "T2a", "NX", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1b", "100-199", "007", "VALUE:IV" ], [ "T2a", "NX", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1b", "200-980", "007", "VALUE:IV" ], [ "T2a", "NX", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T2a", "NX", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2b", "N0", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T2b", "N0", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2b", "N0", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2b", "N0", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1b", "001-099", "007", "VALUE:IV" ], [ "T2b", "N0", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1b", "100-199", "007", "VALUE:IV" ], [ "T2b", "N0", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1b", "200-980", "007", "VALUE:IV" ], [ "T2b", "N0", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T2b", "N0", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2b", "N1", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T2b", "N1", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2b", "N1", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2b", "N1", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1b", "001-099", "007", "VALUE:IV" ], [ "T2b", "N1", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1b", "100-199", "007", "VALUE:IV" ], [ "T2b", "N1", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1b", "200-980", "007", "VALUE:IV" ], [ "T2b", "N1", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T2b", "N1", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2b", "NX", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T2b", "NX", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2b", "NX", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2b", "NX", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1b", "001-099", "007", "VALUE:IV" ], [ "T2b", "NX", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1b", "100-199", "007", "VALUE:IV" ], [ "T2b", "NX", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1b", "200-980", "007", "VALUE:IV" ], [ "T2b", "NX", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T2b", "NX", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2c", "N0", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T2c", "N0", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2c", "N0", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2c", "N0", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1b", "001-099", "007", "VALUE:IV" ], [ "T2c", "N0", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1b", "100-199", "007", "VALUE:IV" ], [ "T2c", "N0", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1b", "200-980", "007", "VALUE:IV" ], [ "T2c", "N0", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T2c", "N0", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2c", "N1", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T2c", "N1", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2c", "N1", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2c", "N1", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1b", "001-099", "007", "VALUE:IV" ], [ "T2c", "N1", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1b", "100-199", "007", "VALUE:IV" ], [ "T2c", "N1", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1b", "200-980", "007", "VALUE:IV" ], [ "T2c", "N1", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T2c", "N1", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2c", "NX", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T2c", "NX", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2c", "NX", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2c", "NX", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1b", "001-099", "007", "VALUE:IV" ], [ "T2c", "NX", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1b", "100-199", "007", "VALUE:IV" ], [ "T2c", "NX", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1b", "200-980", "007", "VALUE:IV" ], [ "T2c", "NX", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T2c", "NX", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2NOS", "N0", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T2NOS", "N0", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2NOS", "N0", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2NOS", "N0", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "001-099", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "100-199", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "200-980", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2NOS", "N1", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T2NOS", "N1", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2NOS", "N1", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2NOS", "N1", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "001-099", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "100-199", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "200-980", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2NOS", "NX", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T2NOS", "NX", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2NOS", "NX", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2NOS", "NX", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "001-099", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "100-199", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "200-980", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3a", "N0", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T3a", "N0", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3a", "N0", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3a", "N0", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1b", "001-099", "007", "VALUE:IV" ], [ "T3a", "N0", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1b", "100-199", "007", "VALUE:IV" ], [ "T3a", "N0", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1b", "200-980", "007", "VALUE:IV" ], [ "T3a", "N0", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T3a", "N0", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3a", "N1", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T3a", "N1", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3a", "N1", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3a", "N1", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1b", "001-099", "007", "VALUE:IV" ], [ "T3a", "N1", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1b", "100-199", "007", "VALUE:IV" ], [ "T3a", "N1", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1b", "200-980", "007", "VALUE:IV" ], [ "T3a", "N1", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T3a", "N1", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3a", "NX", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T3a", "NX", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3a", "NX", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3a", "NX", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1b", "001-099", "007", "VALUE:IV" ], [ "T3a", "NX", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1b", "100-199", "007", "VALUE:IV" ], [ "T3a", "NX", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1b", "200-980", "007", "VALUE:IV" ], [ "T3a", "NX", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T3a", "NX", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3b", "N0", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T3b", "N0", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3b", "N0", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3b", "N0", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1b", "001-099", "007", "VALUE:IV" ], [ "T3b", "N0", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1b", "100-199", "007", "VALUE:IV" ], [ "T3b", "N0", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1b", "200-980", "007", "VALUE:IV" ], [ "T3b", "N0", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T3b", "N0", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3b", "N1", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T3b", "N1", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3b", "N1", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3b", "N1", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1b", "001-099", "007", "VALUE:IV" ], [ "T3b", "N1", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1b", "100-199", "007", "VALUE:IV" ], [ "T3b", "N1", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1b", "200-980", "007", "VALUE:IV" ], [ "T3b", "N1", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T3b", "N1", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3b", "NX", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T3b", "NX", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3b", "NX", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3b", "NX", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1b", "001-099", "007", "VALUE:IV" ], [ "T3b", "NX", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1b", "100-199", "007", "VALUE:IV" ], [ "T3b", "NX", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1b", "200-980", "007", "VALUE:IV" ], [ "T3b", "NX", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T3b", "NX", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3NOS", "N0", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T3NOS", "N0", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3NOS", "N0", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3NOS", "N0", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "001-099", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "100-199", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "200-980", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3NOS", "N1", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T3NOS", "N1", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3NOS", "N1", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3NOS", "N1", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "001-099", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "100-199", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "200-980", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3NOS", "NX", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T3NOS", "NX", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3NOS", "NX", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3NOS", "NX", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "001-099", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "100-199", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "200-980", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T4", "N0", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T4", "N0", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T4", "N0", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T4", "N0", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1b", "001-099", "007", "VALUE:IV" ], [ "T4", "N0", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1b", "100-199", "007", "VALUE:IV" ], [ "T4", "N0", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1b", "200-980", "007", "VALUE:IV" ], [ "T4", "N0", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T4", "N0", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T4", "N1", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T4", "N1", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T4", "N1", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T4", "N1", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1b", "001-099", "007", "VALUE:IV" ], [ "T4", "N1", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1b", "100-199", "007", "VALUE:IV" ], [ "T4", "N1", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1b", "200-980", "007", "VALUE:IV" ], [ "T4", "N1", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T4", "N1", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T4", "NX", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "T4", "NX", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T4", "NX", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T4", "NX", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1b", "001-099", "007", "VALUE:IV" ], [ "T4", "NX", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1b", "100-199", "007", "VALUE:IV" ], [ "T4", "NX", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1b", "200-980", "007", "VALUE:IV" ], [ "T4", "NX", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "T4", "NX", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "TX", "N0", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "TX", "N0", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "TX", "N0", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "TX", "N0", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1b", "001-099", "007", "VALUE:IV" ], [ "TX", "N0", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1b", "100-199", "007", "VALUE:IV" ], [ "TX", "N0", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1b", "200-980", "007", "VALUE:IV" ], [ "TX", "N0", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "TX", "N0", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "TX", "N1", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "TX", "N1", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "TX", "N1", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "TX", "N1", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1b", "001-099", "007", "VALUE:IV" ], [ "TX", "N1", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1b", "100-199", "007", "VALUE:IV" ], [ "TX", "N1", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1b", "200-980", "007", "VALUE:IV" ], [ "TX", "N1", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "TX", "N1", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1b", "000,981-987,989-990", "002-006", "ERROR:" ], [ "TX", "NX", "M1b", "000,981-987,989-990", "007", "ERROR:" ], [ "TX", "NX", "M1b", "000,981-987,989-990", "008-010", "ERROR:" ], [ "TX", "NX", "M1b", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "TX", "NX", "M1b", "001-099", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1b", "001-099", "007", "VALUE:IV" ], [ "TX", "NX", "M1b", "001-099", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1b", "001-099", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1b", "100-199", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1b", "100-199", "007", "VALUE:IV" ], [ "TX", "NX", "M1b", "100-199", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1b", "100-199", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1b", "200-980", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1b", "200-980", "007", "VALUE:IV" ], [ "TX", "NX", "M1b", "200-980", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1b", "200-980", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1b", "988,997,998,999", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1b", "988,997,998,999", "007", "VALUE:IV" ], [ "TX", "NX", "M1b", "988,997,998,999", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1b", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T0", "N0", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T0", "N0", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T0", "N0", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T0", "N0", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T0", "N0", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1c", "001-099", "007", "VALUE:IV" ], [ "T0", "N0", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T0", "N0", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1c", "100-199", "007", "VALUE:IV" ], [ "T0", "N0", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T0", "N0", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1c", "200-980", "007", "VALUE:IV" ], [ "T0", "N0", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T0", "N0", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T0", "N0", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T0", "N1", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T0", "N1", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T0", "N1", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T0", "N1", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1c", "001-099", "007", "VALUE:IV" ], [ "T0", "N1", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1c", "100-199", "007", "VALUE:IV" ], [ "T0", "N1", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1c", "200-980", "007", "VALUE:IV" ], [ "T0", "N1", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T0", "N1", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T0", "NX", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T0", "NX", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T0", "NX", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T0", "NX", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1c", "001-099", "007", "VALUE:IV" ], [ "T0", "NX", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1c", "100-199", "007", "VALUE:IV" ], [ "T0", "NX", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1c", "200-980", "007", "VALUE:IV" ], [ "T0", "NX", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T0", "NX", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1a", "N0", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T1a", "N0", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1a", "N0", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1a", "N0", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1c", "001-099", "007", "VALUE:IV" ], [ "T1a", "N0", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1c", "100-199", "007", "VALUE:IV" ], [ "T1a", "N0", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1c", "200-980", "007", "VALUE:IV" ], [ "T1a", "N0", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T1a", "N0", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1a", "N1", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T1a", "N1", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1a", "N1", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1a", "N1", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1c", "001-099", "007", "VALUE:IV" ], [ "T1a", "N1", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1c", "100-199", "007", "VALUE:IV" ], [ "T1a", "N1", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1c", "200-980", "007", "VALUE:IV" ], [ "T1a", "N1", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T1a", "N1", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1a", "NX", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T1a", "NX", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1a", "NX", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1a", "NX", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1c", "001-099", "007", "VALUE:IV" ], [ "T1a", "NX", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1c", "100-199", "007", "VALUE:IV" ], [ "T1a", "NX", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1c", "200-980", "007", "VALUE:IV" ], [ "T1a", "NX", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T1a", "NX", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1b", "N0", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T1b", "N0", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1b", "N0", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1b", "N0", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1c", "001-099", "007", "VALUE:IV" ], [ "T1b", "N0", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1c", "100-199", "007", "VALUE:IV" ], [ "T1b", "N0", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1c", "200-980", "007", "VALUE:IV" ], [ "T1b", "N0", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T1b", "N0", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1b", "N1", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T1b", "N1", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1b", "N1", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1b", "N1", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1c", "001-099", "007", "VALUE:IV" ], [ "T1b", "N1", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1c", "100-199", "007", "VALUE:IV" ], [ "T1b", "N1", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1c", "200-980", "007", "VALUE:IV" ], [ "T1b", "N1", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T1b", "N1", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1b", "NX", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T1b", "NX", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1b", "NX", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1b", "NX", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1c", "001-099", "007", "VALUE:IV" ], [ "T1b", "NX", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1c", "100-199", "007", "VALUE:IV" ], [ "T1b", "NX", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1c", "200-980", "007", "VALUE:IV" ], [ "T1b", "NX", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T1b", "NX", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1c", "N0", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T1c", "N0", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1c", "N0", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1c", "N0", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1c", "001-099", "007", "VALUE:IV" ], [ "T1c", "N0", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1c", "100-199", "007", "VALUE:IV" ], [ "T1c", "N0", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1c", "200-980", "007", "VALUE:IV" ], [ "T1c", "N0", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T1c", "N0", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1c", "N1", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T1c", "N1", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1c", "N1", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1c", "N1", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1c", "001-099", "007", "VALUE:IV" ], [ "T1c", "N1", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1c", "100-199", "007", "VALUE:IV" ], [ "T1c", "N1", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1c", "200-980", "007", "VALUE:IV" ], [ "T1c", "N1", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T1c", "N1", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1c", "NX", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T1c", "NX", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1c", "NX", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1c", "NX", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1c", "001-099", "007", "VALUE:IV" ], [ "T1c", "NX", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1c", "100-199", "007", "VALUE:IV" ], [ "T1c", "NX", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1c", "200-980", "007", "VALUE:IV" ], [ "T1c", "NX", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T1c", "NX", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1NOS", "N0", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T1NOS", "N0", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1NOS", "N0", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1NOS", "N0", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "001-099", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "100-199", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "200-980", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1NOS", "N1", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T1NOS", "N1", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1NOS", "N1", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1NOS", "N1", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "001-099", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "100-199", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "200-980", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1NOS", "NX", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T1NOS", "NX", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1NOS", "NX", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1NOS", "NX", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "001-099", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "100-199", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "200-980", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2a", "N0", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T2a", "N0", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2a", "N0", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2a", "N0", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1c", "001-099", "007", "VALUE:IV" ], [ "T2a", "N0", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1c", "100-199", "007", "VALUE:IV" ], [ "T2a", "N0", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1c", "200-980", "007", "VALUE:IV" ], [ "T2a", "N0", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T2a", "N0", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2a", "N1", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T2a", "N1", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2a", "N1", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2a", "N1", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1c", "001-099", "007", "VALUE:IV" ], [ "T2a", "N1", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1c", "100-199", "007", "VALUE:IV" ], [ "T2a", "N1", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1c", "200-980", "007", "VALUE:IV" ], [ "T2a", "N1", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T2a", "N1", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2a", "NX", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T2a", "NX", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2a", "NX", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2a", "NX", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1c", "001-099", "007", "VALUE:IV" ], [ "T2a", "NX", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1c", "100-199", "007", "VALUE:IV" ], [ "T2a", "NX", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1c", "200-980", "007", "VALUE:IV" ], [ "T2a", "NX", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T2a", "NX", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2b", "N0", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T2b", "N0", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2b", "N0", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2b", "N0", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1c", "001-099", "007", "VALUE:IV" ], [ "T2b", "N0", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1c", "100-199", "007", "VALUE:IV" ], [ "T2b", "N0", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1c", "200-980", "007", "VALUE:IV" ], [ "T2b", "N0", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T2b", "N0", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2b", "N1", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T2b", "N1", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2b", "N1", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2b", "N1", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1c", "001-099", "007", "VALUE:IV" ], [ "T2b", "N1", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1c", "100-199", "007", "VALUE:IV" ], [ "T2b", "N1", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1c", "200-980", "007", "VALUE:IV" ], [ "T2b", "N1", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T2b", "N1", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2b", "NX", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T2b", "NX", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2b", "NX", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2b", "NX", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1c", "001-099", "007", "VALUE:IV" ], [ "T2b", "NX", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1c", "100-199", "007", "VALUE:IV" ], [ "T2b", "NX", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1c", "200-980", "007", "VALUE:IV" ], [ "T2b", "NX", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T2b", "NX", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2c", "N0", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T2c", "N0", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2c", "N0", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2c", "N0", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1c", "001-099", "007", "VALUE:IV" ], [ "T2c", "N0", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1c", "100-199", "007", "VALUE:IV" ], [ "T2c", "N0", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1c", "200-980", "007", "VALUE:IV" ], [ "T2c", "N0", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T2c", "N0", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2c", "N1", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T2c", "N1", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2c", "N1", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2c", "N1", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1c", "001-099", "007", "VALUE:IV" ], [ "T2c", "N1", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1c", "100-199", "007", "VALUE:IV" ], [ "T2c", "N1", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1c", "200-980", "007", "VALUE:IV" ], [ "T2c", "N1", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T2c", "N1", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2c", "NX", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T2c", "NX", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2c", "NX", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2c", "NX", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1c", "001-099", "007", "VALUE:IV" ], [ "T2c", "NX", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1c", "100-199", "007", "VALUE:IV" ], [ "T2c", "NX", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1c", "200-980", "007", "VALUE:IV" ], [ "T2c", "NX", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T2c", "NX", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2NOS", "N0", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T2NOS", "N0", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2NOS", "N0", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2NOS", "N0", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "001-099", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "100-199", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "200-980", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2NOS", "N1", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T2NOS", "N1", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2NOS", "N1", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2NOS", "N1", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "001-099", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "100-199", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "200-980", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2NOS", "NX", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T2NOS", "NX", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2NOS", "NX", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2NOS", "NX", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "001-099", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "100-199", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "200-980", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3a", "N0", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T3a", "N0", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3a", "N0", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3a", "N0", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1c", "001-099", "007", "VALUE:IV" ], [ "T3a", "N0", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1c", "100-199", "007", "VALUE:IV" ], [ "T3a", "N0", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1c", "200-980", "007", "VALUE:IV" ], [ "T3a", "N0", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T3a", "N0", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3a", "N1", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T3a", "N1", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3a", "N1", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3a", "N1", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1c", "001-099", "007", "VALUE:IV" ], [ "T3a", "N1", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1c", "100-199", "007", "VALUE:IV" ], [ "T3a", "N1", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1c", "200-980", "007", "VALUE:IV" ], [ "T3a", "N1", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T3a", "N1", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3a", "NX", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T3a", "NX", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3a", "NX", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3a", "NX", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1c", "001-099", "007", "VALUE:IV" ], [ "T3a", "NX", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1c", "100-199", "007", "VALUE:IV" ], [ "T3a", "NX", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1c", "200-980", "007", "VALUE:IV" ], [ "T3a", "NX", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T3a", "NX", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3b", "N0", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T3b", "N0", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3b", "N0", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3b", "N0", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1c", "001-099", "007", "VALUE:IV" ], [ "T3b", "N0", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1c", "100-199", "007", "VALUE:IV" ], [ "T3b", "N0", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1c", "200-980", "007", "VALUE:IV" ], [ "T3b", "N0", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T3b", "N0", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3b", "N1", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T3b", "N1", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3b", "N1", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3b", "N1", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1c", "001-099", "007", "VALUE:IV" ], [ "T3b", "N1", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1c", "100-199", "007", "VALUE:IV" ], [ "T3b", "N1", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1c", "200-980", "007", "VALUE:IV" ], [ "T3b", "N1", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T3b", "N1", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3b", "NX", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T3b", "NX", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3b", "NX", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3b", "NX", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1c", "001-099", "007", "VALUE:IV" ], [ "T3b", "NX", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1c", "100-199", "007", "VALUE:IV" ], [ "T3b", "NX", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1c", "200-980", "007", "VALUE:IV" ], [ "T3b", "NX", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T3b", "NX", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3NOS", "N0", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T3NOS", "N0", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3NOS", "N0", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3NOS", "N0", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "001-099", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "100-199", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "200-980", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3NOS", "N1", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T3NOS", "N1", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3NOS", "N1", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3NOS", "N1", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "001-099", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "100-199", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "200-980", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3NOS", "NX", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T3NOS", "NX", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3NOS", "NX", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3NOS", "NX", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "001-099", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "100-199", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "200-980", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T4", "N0", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T4", "N0", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T4", "N0", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T4", "N0", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1c", "001-099", "007", "VALUE:IV" ], [ "T4", "N0", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1c", "100-199", "007", "VALUE:IV" ], [ "T4", "N0", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1c", "200-980", "007", "VALUE:IV" ], [ "T4", "N0", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T4", "N0", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T4", "N1", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T4", "N1", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T4", "N1", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T4", "N1", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1c", "001-099", "007", "VALUE:IV" ], [ "T4", "N1", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1c", "100-199", "007", "VALUE:IV" ], [ "T4", "N1", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1c", "200-980", "007", "VALUE:IV" ], [ "T4", "N1", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T4", "N1", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T4", "NX", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "T4", "NX", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T4", "NX", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T4", "NX", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1c", "001-099", "007", "VALUE:IV" ], [ "T4", "NX", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1c", "100-199", "007", "VALUE:IV" ], [ "T4", "NX", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1c", "200-980", "007", "VALUE:IV" ], [ "T4", "NX", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "T4", "NX", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "TX", "N0", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "TX", "N0", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "TX", "N0", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "TX", "N0", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1c", "001-099", "007", "VALUE:IV" ], [ "TX", "N0", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1c", "100-199", "007", "VALUE:IV" ], [ "TX", "N0", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1c", "200-980", "007", "VALUE:IV" ], [ "TX", "N0", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "TX", "N0", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "TX", "N1", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "TX", "N1", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "TX", "N1", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "TX", "N1", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1c", "001-099", "007", "VALUE:IV" ], [ "TX", "N1", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1c", "100-199", "007", "VALUE:IV" ], [ "TX", "N1", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1c", "200-980", "007", "VALUE:IV" ], [ "TX", "N1", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "TX", "N1", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1c", "000,981-987,989-990", "002-006", "ERROR:" ], [ "TX", "NX", "M1c", "000,981-987,989-990", "007", "ERROR:" ], [ "TX", "NX", "M1c", "000,981-987,989-990", "008-010", "ERROR:" ], [ "TX", "NX", "M1c", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "TX", "NX", "M1c", "001-099", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1c", "001-099", "007", "VALUE:IV" ], [ "TX", "NX", "M1c", "001-099", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1c", "001-099", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1c", "100-199", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1c", "100-199", "007", "VALUE:IV" ], [ "TX", "NX", "M1c", "100-199", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1c", "100-199", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1c", "200-980", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1c", "200-980", "007", "VALUE:IV" ], [ "TX", "NX", "M1c", "200-980", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1c", "200-980", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1c", "988,997,998,999", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1c", "988,997,998,999", "007", "VALUE:IV" ], [ "TX", "NX", "M1c", "988,997,998,999", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1c", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T0", "N0", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T0", "N0", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T0", "N0", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T0", "N0", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T0", "N1", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T0", "N1", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T0", "N1", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T0", "N1", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T0", "NX", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T0", "NX", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T0", "NX", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T0", "NX", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1a", "N0", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T1a", "N0", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1a", "N0", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1a", "N0", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1a", "N1", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T1a", "N1", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1a", "N1", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1a", "N1", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1a", "NX", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T1a", "NX", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1a", "NX", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1a", "NX", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1b", "N0", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T1b", "N0", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1b", "N0", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1b", "N0", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1b", "N1", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T1b", "N1", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1b", "N1", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1b", "N1", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1b", "NX", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T1b", "NX", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1b", "NX", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1b", "NX", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1c", "N0", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T1c", "N0", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1c", "N0", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1c", "N0", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1c", "N1", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T1c", "N1", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1c", "N1", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1c", "N1", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1c", "NX", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T1c", "NX", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1c", "NX", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1c", "NX", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1NOS", "N0", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T1NOS", "N0", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1NOS", "N0", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1NOS", "N0", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1NOS", "N1", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T1NOS", "N1", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1NOS", "N1", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1NOS", "N1", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T1NOS", "NX", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T1NOS", "NX", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T1NOS", "NX", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T1NOS", "NX", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2a", "N0", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T2a", "N0", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2a", "N0", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2a", "N0", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2a", "N1", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T2a", "N1", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2a", "N1", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2a", "N1", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2a", "NX", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T2a", "NX", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2a", "NX", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2a", "NX", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2b", "N0", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T2b", "N0", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2b", "N0", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2b", "N0", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2b", "N1", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T2b", "N1", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2b", "N1", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2b", "N1", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2b", "NX", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T2b", "NX", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2b", "NX", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2b", "NX", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2c", "N0", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T2c", "N0", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2c", "N0", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2c", "N0", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2c", "N1", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T2c", "N1", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2c", "N1", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2c", "N1", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2c", "NX", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T2c", "NX", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2c", "NX", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2c", "NX", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2NOS", "N0", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T2NOS", "N0", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2NOS", "N0", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2NOS", "N0", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2NOS", "N1", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T2NOS", "N1", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2NOS", "N1", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2NOS", "N1", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T2NOS", "NX", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T2NOS", "NX", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T2NOS", "NX", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T2NOS", "NX", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3a", "N0", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T3a", "N0", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3a", "N0", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3a", "N0", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3a", "N1", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T3a", "N1", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3a", "N1", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3a", "N1", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3a", "NX", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T3a", "NX", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3a", "NX", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3a", "NX", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3b", "N0", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T3b", "N0", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3b", "N0", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3b", "N0", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3b", "N1", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T3b", "N1", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3b", "N1", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3b", "N1", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3b", "NX", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T3b", "NX", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3b", "NX", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3b", "NX", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3NOS", "N0", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T3NOS", "N0", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3NOS", "N0", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3NOS", "N0", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3NOS", "N1", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T3NOS", "N1", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3NOS", "N1", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3NOS", "N1", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T3NOS", "NX", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T3NOS", "NX", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T3NOS", "NX", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T3NOS", "NX", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T4", "N0", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T4", "N0", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T4", "N0", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T4", "N0", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T4", "N1", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T4", "N1", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T4", "N1", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T4", "N1", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "T4", "NX", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "T4", "NX", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "T4", "NX", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "T4", "NX", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "TX", "N0", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "TX", "N0", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "TX", "N0", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "TX", "N0", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "TX", "N1", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "TX", "N1", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "TX", "N1", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "TX", "N1", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "000,981-987,989-990", "002-006", "ERROR:" ], [ "TX", "NX", "M1NOS", "000,981-987,989-990", "007", "ERROR:" ], [ "TX", "NX", "M1NOS", "000,981-987,989-990", "008-010", "ERROR:" ], [ "TX", "NX", "M1NOS", "000,981-987,989-990", "988,998,999", "ERROR:" ], [ "TX", "NX", "M1NOS", "001-099", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "001-099", "007", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "001-099", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "001-099", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "100-199", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "100-199", "007", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "100-199", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "100-199", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "200-980", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "200-980", "007", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "200-980", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "200-980", "988,998,999", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "988,997,998,999", "002-006", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "988,997,998,999", "007", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "988,997,998,999", "008-010", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "988,997,998,999", "988,998,999", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubq.json deleted file mode 100644 index 80d847189..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubq.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ubq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:57.901Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:UNK" ], [ "T0", "N2", "M0", "VALUE:III" ], [ "T0", "N3", "M0", "VALUE:IIIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N1", "M0", "VALUE:IIA" ], [ "T1a", "N2", "M0", "VALUE:IIIA" ], [ "T1a", "N3", "M0", "VALUE:IIIB" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IA" ], [ "T1b", "N1", "M0", "VALUE:IIA" ], [ "T1b", "N2", "M0", "VALUE:IIIA" ], [ "T1b", "N3", "M0", "VALUE:IIIB" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:IA" ], [ "T1NOS", "N1", "M0", "VALUE:IIA" ], [ "T1NOS", "N2", "M0", "VALUE:IIIA" ], [ "T1NOS", "N3", "M0", "VALUE:IIIB" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:IB" ], [ "T2a", "N1", "M0", "VALUE:IIA" ], [ "T2a", "N2", "M0", "VALUE:IIIA" ], [ "T2a", "N3", "M0", "VALUE:IIIB" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:IIA" ], [ "T2b", "N1", "M0", "VALUE:IIB" ], [ "T2b", "N2", "M0", "VALUE:IIIA" ], [ "T2b", "N3", "M0", "VALUE:IIIB" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:UNK" ], [ "T2NOS", "N1", "M0", "VALUE:II" ], [ "T2NOS", "N2", "M0", "VALUE:IIIA" ], [ "T2NOS", "N3", "M0", "VALUE:IIIB" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIB" ], [ "T3", "N1", "M0", "VALUE:IIIA" ], [ "T3", "N2", "M0", "VALUE:IIIA" ], [ "T3", "N3", "M0", "VALUE:IIIB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IIIA" ], [ "T4", "N1", "M0", "VALUE:IIIA" ], [ "T4", "N2", "M0", "VALUE:IIIB" ], [ "T4", "N3", "M0", "VALUE:IIIB" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:OCCULT" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:III" ], [ "TX", "N3", "M0", "VALUE:IIIB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1a", "VALUE:IV" ], [ "T0", "N1", "M1a", "VALUE:IV" ], [ "T0", "N2", "M1a", "VALUE:IV" ], [ "T0", "N3", "M1a", "VALUE:IV" ], [ "T0", "NX", "M1a", "VALUE:IV" ], [ "Tis", "N0", "M1a", "ERROR:" ], [ "Tis", "N1", "M1a", "ERROR:" ], [ "Tis", "N2", "M1a", "ERROR:" ], [ "Tis", "N3", "M1a", "ERROR:" ], [ "Tis", "NX", "M1a", "ERROR:" ], [ "T1a", "N0", "M1a", "VALUE:IV" ], [ "T1a", "N1", "M1a", "VALUE:IV" ], [ "T1a", "N2", "M1a", "VALUE:IV" ], [ "T1a", "N3", "M1a", "VALUE:IV" ], [ "T1a", "NX", "M1a", "VALUE:IV" ], [ "T1b", "N0", "M1a", "VALUE:IV" ], [ "T1b", "N1", "M1a", "VALUE:IV" ], [ "T1b", "N2", "M1a", "VALUE:IV" ], [ "T1b", "N3", "M1a", "VALUE:IV" ], [ "T1b", "NX", "M1a", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "VALUE:IV" ], [ "T1NOS", "N2", "M1a", "VALUE:IV" ], [ "T1NOS", "N3", "M1a", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "VALUE:IV" ], [ "T2a", "N0", "M1a", "VALUE:IV" ], [ "T2a", "N1", "M1a", "VALUE:IV" ], [ "T2a", "N2", "M1a", "VALUE:IV" ], [ "T2a", "N3", "M1a", "VALUE:IV" ], [ "T2a", "NX", "M1a", "VALUE:IV" ], [ "T2b", "N0", "M1a", "VALUE:IV" ], [ "T2b", "N1", "M1a", "VALUE:IV" ], [ "T2b", "N2", "M1a", "VALUE:IV" ], [ "T2b", "N3", "M1a", "VALUE:IV" ], [ "T2b", "NX", "M1a", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "VALUE:IV" ], [ "T2NOS", "N2", "M1a", "VALUE:IV" ], [ "T2NOS", "N3", "M1a", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "VALUE:IV" ], [ "T3", "N0", "M1a", "VALUE:IV" ], [ "T3", "N1", "M1a", "VALUE:IV" ], [ "T3", "N2", "M1a", "VALUE:IV" ], [ "T3", "N3", "M1a", "VALUE:IV" ], [ "T3", "NX", "M1a", "VALUE:IV" ], [ "T4", "N0", "M1a", "VALUE:IV" ], [ "T4", "N1", "M1a", "VALUE:IV" ], [ "T4", "N2", "M1a", "VALUE:IV" ], [ "T4", "N3", "M1a", "VALUE:IV" ], [ "T4", "NX", "M1a", "VALUE:IV" ], [ "TX", "N0", "M1a", "VALUE:IV" ], [ "TX", "N1", "M1a", "VALUE:IV" ], [ "TX", "N2", "M1a", "VALUE:IV" ], [ "TX", "N3", "M1a", "VALUE:IV" ], [ "TX", "NX", "M1a", "VALUE:IV" ], [ "T0", "N0", "M1b", "VALUE:IV" ], [ "T0", "N1", "M1b", "VALUE:IV" ], [ "T0", "N2", "M1b", "VALUE:IV" ], [ "T0", "N3", "M1b", "VALUE:IV" ], [ "T0", "NX", "M1b", "VALUE:IV" ], [ "Tis", "N0", "M1b", "ERROR:" ], [ "Tis", "N1", "M1b", "ERROR:" ], [ "Tis", "N2", "M1b", "ERROR:" ], [ "Tis", "N3", "M1b", "ERROR:" ], [ "Tis", "NX", "M1b", "ERROR:" ], [ "T1a", "N0", "M1b", "VALUE:IV" ], [ "T1a", "N1", "M1b", "VALUE:IV" ], [ "T1a", "N2", "M1b", "VALUE:IV" ], [ "T1a", "N3", "M1b", "VALUE:IV" ], [ "T1a", "NX", "M1b", "VALUE:IV" ], [ "T1b", "N0", "M1b", "VALUE:IV" ], [ "T1b", "N1", "M1b", "VALUE:IV" ], [ "T1b", "N2", "M1b", "VALUE:IV" ], [ "T1b", "N3", "M1b", "VALUE:IV" ], [ "T1b", "NX", "M1b", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "VALUE:IV" ], [ "T1NOS", "N2", "M1b", "VALUE:IV" ], [ "T1NOS", "N3", "M1b", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "VALUE:IV" ], [ "T2a", "N0", "M1b", "VALUE:IV" ], [ "T2a", "N1", "M1b", "VALUE:IV" ], [ "T2a", "N2", "M1b", "VALUE:IV" ], [ "T2a", "N3", "M1b", "VALUE:IV" ], [ "T2a", "NX", "M1b", "VALUE:IV" ], [ "T2b", "N0", "M1b", "VALUE:IV" ], [ "T2b", "N1", "M1b", "VALUE:IV" ], [ "T2b", "N2", "M1b", "VALUE:IV" ], [ "T2b", "N3", "M1b", "VALUE:IV" ], [ "T2b", "NX", "M1b", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "VALUE:IV" ], [ "T2NOS", "N2", "M1b", "VALUE:IV" ], [ "T2NOS", "N3", "M1b", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "VALUE:IV" ], [ "T3", "N0", "M1b", "VALUE:IV" ], [ "T3", "N1", "M1b", "VALUE:IV" ], [ "T3", "N2", "M1b", "VALUE:IV" ], [ "T3", "N3", "M1b", "VALUE:IV" ], [ "T3", "NX", "M1b", "VALUE:IV" ], [ "T4", "N0", "M1b", "VALUE:IV" ], [ "T4", "N1", "M1b", "VALUE:IV" ], [ "T4", "N2", "M1b", "VALUE:IV" ], [ "T4", "N3", "M1b", "VALUE:IV" ], [ "T4", "NX", "M1b", "VALUE:IV" ], [ "TX", "N0", "M1b", "VALUE:IV" ], [ "TX", "N1", "M1b", "VALUE:IV" ], [ "TX", "N2", "M1b", "VALUE:IV" ], [ "TX", "N3", "M1b", "VALUE:IV" ], [ "TX", "NX", "M1b", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "VALUE:IV" ], [ "T0", "N2", "M1NOS", "VALUE:IV" ], [ "T0", "N3", "M1NOS", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "VALUE:IV" ], [ "Tis", "N0", "M1NOS", "ERROR:" ], [ "Tis", "N1", "M1NOS", "ERROR:" ], [ "Tis", "N2", "M1NOS", "ERROR:" ], [ "Tis", "N3", "M1NOS", "ERROR:" ], [ "Tis", "NX", "M1NOS", "ERROR:" ], [ "T1a", "N0", "M1NOS", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "VALUE:IV" ], [ "T1a", "N2", "M1NOS", "VALUE:IV" ], [ "T1a", "N3", "M1NOS", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "VALUE:IV" ], [ "T1b", "N2", "M1NOS", "VALUE:IV" ], [ "T1b", "N3", "M1NOS", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "VALUE:IV" ], [ "T1NOS", "N2", "M1NOS", "VALUE:IV" ], [ "T1NOS", "N3", "M1NOS", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "VALUE:IV" ], [ "T2a", "N2", "M1NOS", "VALUE:IV" ], [ "T2a", "N3", "M1NOS", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "VALUE:IV" ], [ "T2b", "N2", "M1NOS", "VALUE:IV" ], [ "T2b", "N3", "M1NOS", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "VALUE:IV" ], [ "T2NOS", "N2", "M1NOS", "VALUE:IV" ], [ "T2NOS", "N3", "M1NOS", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "VALUE:IV" ], [ "T3", "N0", "M1NOS", "VALUE:IV" ], [ "T3", "N1", "M1NOS", "VALUE:IV" ], [ "T3", "N2", "M1NOS", "VALUE:IV" ], [ "T3", "N3", "M1NOS", "VALUE:IV" ], [ "T3", "NX", "M1NOS", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "VALUE:IV" ], [ "T4", "N2", "M1NOS", "VALUE:IV" ], [ "T4", "N3", "M1NOS", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "VALUE:IV" ], [ "TX", "N2", "M1NOS", "VALUE:IV" ], [ "TX", "N3", "M1NOS", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubs.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubs.json deleted file mode 100644 index 0485627ed..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubs.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ubs", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:57.982Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIC1" ], [ "T0", "N2", "M0", "VALUE:IIIC2" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N1", "M0", "VALUE:IIIC1" ], [ "T1a", "N2", "M0", "VALUE:IIIC2" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IB" ], [ "T1b", "N1", "M0", "VALUE:IIIC1" ], [ "T1b", "N2", "M0", "VALUE:IIIC2" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:INOS" ], [ "T1NOS", "N1", "M0", "VALUE:IIIC1" ], [ "T1NOS", "N2", "M0", "VALUE:IIIC2" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:IIIC1" ], [ "T2", "N2", "M0", "VALUE:IIIC2" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:IIIA" ], [ "T3a", "N1", "M0", "VALUE:IIIC1" ], [ "T3a", "N2", "M0", "VALUE:IIIC2" ], [ "T3a", "NX", "M0", "VALUE:IIIA" ], [ "T3b", "N0", "M0", "VALUE:IIIB" ], [ "T3b", "N1", "M0", "VALUE:IIIC1" ], [ "T3b", "N2", "M0", "VALUE:IIIC2" ], [ "T3b", "NX", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N0", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N1", "M0", "VALUE:IIIC1" ], [ "T3NOS", "N2", "M0", "VALUE:IIIC2" ], [ "T3NOS", "NX", "M0", "VALUE:IIINOS" ], [ "T4", "N0", "M0", "VALUE:IVA" ], [ "T4", "N1", "M0", "VALUE:IVA" ], [ "T4", "N2", "M0", "VALUE:IVA" ], [ "T4", "NX", "M0", "VALUE:IVA" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVB" ], [ "T0", "N1", "M1", "VALUE:IVB" ], [ "T0", "N2", "M1", "VALUE:IVB" ], [ "T0", "NX", "M1", "VALUE:IVB" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1a", "N0", "M1", "VALUE:IVB" ], [ "T1a", "N1", "M1", "VALUE:IVB" ], [ "T1a", "N2", "M1", "VALUE:IVB" ], [ "T1a", "NX", "M1", "VALUE:IVB" ], [ "T1b", "N0", "M1", "VALUE:IVB" ], [ "T1b", "N1", "M1", "VALUE:IVB" ], [ "T1b", "N2", "M1", "VALUE:IVB" ], [ "T1b", "NX", "M1", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "VALUE:IVB" ], [ "T1NOS", "N1", "M1", "VALUE:IVB" ], [ "T1NOS", "N2", "M1", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "VALUE:IVB" ], [ "T2", "N0", "M1", "VALUE:IVB" ], [ "T2", "N1", "M1", "VALUE:IVB" ], [ "T2", "N2", "M1", "VALUE:IVB" ], [ "T2", "NX", "M1", "VALUE:IVB" ], [ "T3a", "N0", "M1", "VALUE:IVB" ], [ "T3a", "N1", "M1", "VALUE:IVB" ], [ "T3a", "N2", "M1", "VALUE:IVB" ], [ "T3a", "NX", "M1", "VALUE:IVB" ], [ "T3b", "N0", "M1", "VALUE:IVB" ], [ "T3b", "N1", "M1", "VALUE:IVB" ], [ "T3b", "N2", "M1", "VALUE:IVB" ], [ "T3b", "NX", "M1", "VALUE:IVB" ], [ "T3NOS", "N0", "M1", "VALUE:IVB" ], [ "T3NOS", "N1", "M1", "VALUE:IVB" ], [ "T3NOS", "N2", "M1", "VALUE:IVB" ], [ "T3NOS", "NX", "M1", "VALUE:IVB" ], [ "T4", "N0", "M1", "VALUE:IVB" ], [ "T4", "N1", "M1", "VALUE:IVB" ], [ "T4", "N2", "M1", "VALUE:IVB" ], [ "T4", "NX", "M1", "VALUE:IVB" ], [ "TX", "N0", "M1", "VALUE:IVB" ], [ "TX", "N1", "M1", "VALUE:IVB" ], [ "TX", "N2", "M1", "VALUE:IVB" ], [ "TX", "NX", "M1", "VALUE:IVB" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubt.json deleted file mode 100644 index 23ddaf9e2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubt.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ubt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:58.259Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIC" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N1", "M0", "VALUE:IIIC" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IB" ], [ "T1b", "N1", "M0", "VALUE:IIIC" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1c", "N0", "M0", "VALUE:IC" ], [ "T1c", "N1", "M0", "VALUE:IIIC" ], [ "T1c", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:INOS" ], [ "T1NOS", "N1", "M0", "VALUE:IIIC" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:IIA" ], [ "T2a", "N1", "M0", "VALUE:IIIC" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:IIB" ], [ "T2b", "N1", "M0", "VALUE:IIIC" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:IINOS" ], [ "T2NOS", "N1", "M0", "VALUE:IIIC" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:IIIA" ], [ "T3a", "N1", "M0", "VALUE:IIIC" ], [ "T3a", "NX", "M0", "VALUE:IIINOS" ], [ "T3b", "N0", "M0", "VALUE:IIIB" ], [ "T3b", "N1", "M0", "VALUE:IIIC" ], [ "T3b", "NX", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N0", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N1", "M0", "VALUE:IIIC" ], [ "T3NOS", "NX", "M0", "VALUE:IIINOS" ], [ "T4", "N0", "M0", "VALUE:IVA" ], [ "T4", "N1", "M0", "VALUE:IVA" ], [ "T4", "NX", "M0", "VALUE:IVA" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVB" ], [ "T0", "N1", "M1", "VALUE:IVB" ], [ "T0", "NX", "M1", "VALUE:IVB" ], [ "T1a", "N0", "M1", "VALUE:IVB" ], [ "T1a", "N1", "M1", "VALUE:IVB" ], [ "T1a", "NX", "M1", "VALUE:IVB" ], [ "T1b", "N0", "M1", "VALUE:IVB" ], [ "T1b", "N1", "M1", "VALUE:IVB" ], [ "T1b", "NX", "M1", "VALUE:IVB" ], [ "T1c", "N0", "M1", "VALUE:IVB" ], [ "T1c", "N1", "M1", "VALUE:IVB" ], [ "T1c", "NX", "M1", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "VALUE:IVB" ], [ "T1NOS", "N1", "M1", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "VALUE:IVB" ], [ "T2a", "N0", "M1", "VALUE:IVB" ], [ "T2a", "N1", "M1", "VALUE:IVB" ], [ "T2a", "NX", "M1", "VALUE:IVB" ], [ "T2b", "N0", "M1", "VALUE:IVB" ], [ "T2b", "N1", "M1", "VALUE:IVB" ], [ "T2b", "NX", "M1", "VALUE:IVB" ], [ "T2NOS", "N0", "M1", "VALUE:IVB" ], [ "T2NOS", "N1", "M1", "VALUE:IVB" ], [ "T2NOS", "NX", "M1", "VALUE:IVB" ], [ "T3a", "N0", "M1", "VALUE:IVB" ], [ "T3a", "N1", "M1", "VALUE:IVB" ], [ "T3a", "NX", "M1", "VALUE:IVB" ], [ "T3b", "N0", "M1", "VALUE:IVB" ], [ "T3b", "N1", "M1", "VALUE:IVB" ], [ "T3b", "NX", "M1", "VALUE:IVB" ], [ "T3NOS", "N0", "M1", "VALUE:IVB" ], [ "T3NOS", "N1", "M1", "VALUE:IVB" ], [ "T3NOS", "NX", "M1", "VALUE:IVB" ], [ "T4", "N0", "M1", "VALUE:IVB" ], [ "T4", "N1", "M1", "VALUE:IVB" ], [ "T4", "NX", "M1", "VALUE:IVB" ], [ "TX", "N0", "M1", "VALUE:IVB" ], [ "TX", "N1", "M1", "VALUE:IVB" ], [ "TX", "NX", "M1", "VALUE:IVB" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubu.json deleted file mode 100644 index 687554b01..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubu.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ubu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:58.311Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIC" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:IA" ], [ "T1a", "N1", "M0", "VALUE:IIIC" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IB" ], [ "T1b", "N1", "M0", "VALUE:IIIC" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:INOS" ], [ "T1NOS", "N1", "M0", "VALUE:IIIC" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:IIA" ], [ "T2a", "N1", "M0", "VALUE:IIIC" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:IIB" ], [ "T2b", "N1", "M0", "VALUE:IIIC" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:IINOS" ], [ "T2NOS", "N1", "M0", "VALUE:IIIC" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:IIIA" ], [ "T3a", "N1", "M0", "VALUE:IIIC" ], [ "T3a", "NX", "M0", "VALUE:IIINOS" ], [ "T3b", "N0", "M0", "VALUE:IIIB" ], [ "T3b", "N1", "M0", "VALUE:IIIC" ], [ "T3b", "NX", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N0", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N1", "M0", "VALUE:IIINOS" ], [ "T3NOS", "NX", "M0", "VALUE:IIINOS" ], [ "T4", "N0", "M0", "VALUE:IVA" ], [ "T4", "N1", "M0", "VALUE:IVA" ], [ "T4", "NX", "M0", "VALUE:IVA" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVB" ], [ "T0", "N1", "M1", "VALUE:IVB" ], [ "T0", "NX", "M1", "VALUE:IVB" ], [ "T1a", "N0", "M1", "VALUE:IVB" ], [ "T1a", "N1", "M1", "VALUE:IVB" ], [ "T1a", "NX", "M1", "VALUE:IVB" ], [ "T1b", "N0", "M1", "VALUE:IVB" ], [ "T1b", "N1", "M1", "VALUE:IVB" ], [ "T1b", "NX", "M1", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "VALUE:IVB" ], [ "T1NOS", "N1", "M1", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "VALUE:IVB" ], [ "T2a", "N0", "M1", "VALUE:IVB" ], [ "T2a", "N1", "M1", "VALUE:IVB" ], [ "T2a", "NX", "M1", "VALUE:IVB" ], [ "T2b", "N0", "M1", "VALUE:IVB" ], [ "T2b", "N1", "M1", "VALUE:IVB" ], [ "T2b", "NX", "M1", "VALUE:IVB" ], [ "T2NOS", "N0", "M1", "VALUE:IVB" ], [ "T2NOS", "N1", "M1", "VALUE:IVB" ], [ "T2NOS", "NX", "M1", "VALUE:IVB" ], [ "T3a", "N0", "M1", "VALUE:IVB" ], [ "T3a", "N1", "M1", "VALUE:IVB" ], [ "T3a", "NX", "M1", "VALUE:IVB" ], [ "T3b", "N0", "M1", "VALUE:IVB" ], [ "T3b", "N1", "M1", "VALUE:IVB" ], [ "T3b", "NX", "M1", "VALUE:IVB" ], [ "T3NOS", "N0", "M1", "VALUE:IVB" ], [ "T3NOS", "N1", "M1", "VALUE:IVB" ], [ "T3NOS", "NX", "M1", "VALUE:IVB" ], [ "T4", "N0", "M1", "VALUE:IVB" ], [ "T4", "N1", "M1", "VALUE:IVB" ], [ "T4", "NX", "M1", "VALUE:IVB" ], [ "TX", "N0", "M1", "VALUE:IVB" ], [ "TX", "N1", "M1", "VALUE:IVB" ], [ "TX", "NX", "M1", "VALUE:IVB" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubv.json deleted file mode 100644 index 571172d3c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubv.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc7_stage_ubv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:58.363Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "nodes_eval", - "name" : "Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", " ", "ERROR:" ], [ "T0", "N0", "M0", "0,1,5,9", "ERROR:" ], [ "T0", "N0", "M0", "2,3,6,8", "ERROR:" ], [ "T0", "N1", "M0", " ", "VALUE:III" ], [ "T0", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N1", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N1a", "M0", " ", "VALUE:IIINOS" ], [ "T0", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N1a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N1b", "M0", " ", "VALUE:IIINOS" ], [ "T0", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N1b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T0", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N2", "M0", " ", "VALUE:III" ], [ "T0", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T0", "N2a", "M0", " ", "VALUE:IIINOS" ], [ "T0", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N2a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N2b", "M0", " ", "VALUE:IIINOS" ], [ "T0", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N2b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N2c", "M0", " ", "VALUE:IIINOS" ], [ "T0", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N2c", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T0", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N3", "M0", " ", "VALUE:IIIC" ], [ "T0", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T0", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T0", "NX", "M0", " ", "VALUE:UNK" ], [ "T0", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T0", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "Tis", "N0", "M0", " ", "VALUE:0" ], [ "Tis", "N0", "M0", "0,1,5,9", "VALUE:0" ], [ "Tis", "N0", "M0", "2,3,6,8", "VALUE:0" ], [ "Tis", "N1", "M0", " ", "ERROR:" ], [ "Tis", "N1", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "M0", " ", "ERROR:" ], [ "Tis", "N1a", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "M0", " ", "ERROR:" ], [ "Tis", "N1b", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "M0", " ", "ERROR:" ], [ "Tis", "N1NOS", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "M0", " ", "ERROR:" ], [ "Tis", "N2", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N2a", "M0", " ", "ERROR:" ], [ "Tis", "N2a", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N2a", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N2b", "M0", " ", "ERROR:" ], [ "Tis", "N2b", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N2b", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N2c", "M0", " ", "ERROR:" ], [ "Tis", "N2c", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N2c", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N2NOS", "M0", " ", "ERROR:" ], [ "Tis", "N2NOS", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N2NOS", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N3", "M0", " ", "ERROR:" ], [ "Tis", "N3", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N3", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "M0", " ", "VALUE:0" ], [ "Tis", "NX", "M0", "0,1,5,9", "VALUE:0" ], [ "Tis", "NX", "M0", "2,3,6,8", "VALUE:0" ], [ "T1a", "N0", "M0", " ", "VALUE:IA" ], [ "T1a", "N0", "M0", "0,1,5,9", "VALUE:IA" ], [ "T1a", "N0", "M0", "2,3,6,8", "VALUE:IA" ], [ "T1a", "N1", "M0", " ", "VALUE:III" ], [ "T1a", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T1a", "N1a", "M0", " ", "VALUE:IIIA" ], [ "T1a", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N1a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T1a", "N1b", "M0", " ", "VALUE:IIIB" ], [ "T1a", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N1b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T1a", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T1a", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1a", "N2", "M0", " ", "VALUE:III" ], [ "T1a", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T1a", "N2a", "M0", " ", "VALUE:IIIA" ], [ "T1a", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N2a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T1a", "N2b", "M0", " ", "VALUE:IIIB" ], [ "T1a", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N2b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T1a", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T1a", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T1a", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T1a", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1a", "N3", "M0", " ", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T1a", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T1a", "NX", "M0", " ", "VALUE:UNK" ], [ "T1a", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T1a", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T1b", "N0", "M0", " ", "VALUE:IB" ], [ "T1b", "N0", "M0", "0,1,5,9", "VALUE:IB" ], [ "T1b", "N0", "M0", "2,3,6,8", "VALUE:IB" ], [ "T1b", "N1", "M0", " ", "VALUE:III" ], [ "T1b", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T1b", "N1a", "M0", " ", "VALUE:IIIB" ], [ "T1b", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N1a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T1b", "N1b", "M0", " ", "VALUE:IIIC" ], [ "T1b", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N1b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T1b", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T1b", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1b", "N2", "M0", " ", "VALUE:III" ], [ "T1b", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T1b", "N2a", "M0", " ", "VALUE:IIIB" ], [ "T1b", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N2a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T1b", "N2b", "M0", " ", "VALUE:IIIC" ], [ "T1b", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N2b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T1b", "N2c", "M0", " ", "VALUE:IIIC" ], [ "T1b", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N2c", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T1b", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T1b", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1b", "N3", "M0", " ", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T1b", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T1b", "NX", "M0", " ", "VALUE:UNK" ], [ "T1b", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T1b", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", " ", "VALUE:INOS" ], [ "T1NOS", "N0", "M0", "0,1,5,9", "VALUE:INOS" ], [ "T1NOS", "N0", "M0", "2,3,6,8", "VALUE:INOS" ], [ "T1NOS", "N1", "M0", " ", "VALUE:III" ], [ "T1NOS", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T1NOS", "N1a", "M0", " ", "VALUE:IIINOS" ], [ "T1NOS", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N1a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1NOS", "N1b", "M0", " ", "VALUE:IIINOS" ], [ "T1NOS", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N1b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1NOS", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T1NOS", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1NOS", "N2", "M0", " ", "VALUE:III" ], [ "T1NOS", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T1NOS", "N2a", "M0", " ", "VALUE:IIINOS" ], [ "T1NOS", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N2a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1NOS", "N2b", "M0", " ", "VALUE:IIINOS" ], [ "T1NOS", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N2b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1NOS", "N2c", "M0", " ", "VALUE:IIINOS" ], [ "T1NOS", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N2c", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1NOS", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T1NOS", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1NOS", "N3", "M0", " ", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T1NOS", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T1NOS", "NX", "M0", " ", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T2a", "N0", "M0", " ", "VALUE:IB" ], [ "T2a", "N0", "M0", "0,1,5,9", "VALUE:IB" ], [ "T2a", "N0", "M0", "2,3,6,8", "VALUE:IB" ], [ "T2a", "N1", "M0", " ", "VALUE:III" ], [ "T2a", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T2a", "N1a", "M0", " ", "VALUE:IIIA" ], [ "T2a", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N1a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T2a", "N1b", "M0", " ", "VALUE:IIIB" ], [ "T2a", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N1b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T2a", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T2a", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2a", "N2", "M0", " ", "VALUE:III" ], [ "T2a", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T2a", "N2a", "M0", " ", "VALUE:IIIA" ], [ "T2a", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N2a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T2a", "N2b", "M0", " ", "VALUE:IIIB" ], [ "T2a", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N2b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T2a", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T2a", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T2a", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T2a", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2a", "N3", "M0", " ", "VALUE:IIIC" ], [ "T2a", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T2a", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T2a", "NX", "M0", " ", "VALUE:UNK" ], [ "T2a", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T2a", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T2b", "N0", "M0", " ", "VALUE:IIA" ], [ "T2b", "N0", "M0", "0,1,5,9", "VALUE:IIA" ], [ "T2b", "N0", "M0", "2,3,6,8", "VALUE:IIA" ], [ "T2b", "N1", "M0", " ", "VALUE:III" ], [ "T2b", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T2b", "N1a", "M0", " ", "VALUE:IIIB" ], [ "T2b", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N1a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T2b", "N1b", "M0", " ", "VALUE:IIIC" ], [ "T2b", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N1b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T2b", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T2b", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2b", "N2", "M0", " ", "VALUE:III" ], [ "T2b", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T2b", "N2a", "M0", " ", "VALUE:IIIB" ], [ "T2b", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N2a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T2b", "N2b", "M0", " ", "VALUE:IIIC" ], [ "T2b", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N2b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T2b", "N2c", "M0", " ", "VALUE:IIIC" ], [ "T2b", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N2c", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T2b", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T2b", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2b", "N3", "M0", " ", "VALUE:IIIC" ], [ "T2b", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T2b", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T2b", "NX", "M0", " ", "VALUE:UNK" ], [ "T2b", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T2b", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", " ", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T2NOS", "N1", "M0", " ", "VALUE:III" ], [ "T2NOS", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T2NOS", "N1a", "M0", " ", "VALUE:IIINOS" ], [ "T2NOS", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N1a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2NOS", "N1b", "M0", " ", "VALUE:IIINOS" ], [ "T2NOS", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N1b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2NOS", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T2NOS", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2NOS", "N2", "M0", " ", "VALUE:III" ], [ "T2NOS", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T2NOS", "N2a", "M0", " ", "VALUE:IIINOS" ], [ "T2NOS", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N2a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2NOS", "N2b", "M0", " ", "VALUE:IIINOS" ], [ "T2NOS", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N2b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2NOS", "N2c", "M0", " ", "VALUE:IIINOS" ], [ "T2NOS", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N2c", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2NOS", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T2NOS", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2NOS", "N3", "M0", " ", "VALUE:IIIC" ], [ "T2NOS", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T2NOS", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T2NOS", "NX", "M0", " ", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T3a", "N0", "M0", " ", "VALUE:IIA" ], [ "T3a", "N0", "M0", "0,1,5,9", "VALUE:IIA" ], [ "T3a", "N0", "M0", "2,3,6,8", "VALUE:IIA" ], [ "T3a", "N1", "M0", " ", "VALUE:III" ], [ "T3a", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T3a", "N1a", "M0", " ", "VALUE:IIIA" ], [ "T3a", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N1a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T3a", "N1b", "M0", " ", "VALUE:IIIB" ], [ "T3a", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N1b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T3a", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T3a", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3a", "N2", "M0", " ", "VALUE:III" ], [ "T3a", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T3a", "N2a", "M0", " ", "VALUE:IIIA" ], [ "T3a", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N2a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T3a", "N2b", "M0", " ", "VALUE:IIIB" ], [ "T3a", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N2b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T3a", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T3a", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T3a", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T3a", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3a", "N3", "M0", " ", "VALUE:IIIC" ], [ "T3a", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T3a", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T3a", "NX", "M0", " ", "VALUE:UNK" ], [ "T3a", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T3a", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T3b", "N0", "M0", " ", "VALUE:IIB" ], [ "T3b", "N0", "M0", "0,1,5,9", "VALUE:IIB" ], [ "T3b", "N0", "M0", "2,3,6,8", "VALUE:IIB" ], [ "T3b", "N1", "M0", " ", "VALUE:III" ], [ "T3b", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T3b", "N1a", "M0", " ", "VALUE:IIIB" ], [ "T3b", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N1a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T3b", "N1b", "M0", " ", "VALUE:IIIC" ], [ "T3b", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N1b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T3b", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T3b", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3b", "N2", "M0", " ", "VALUE:III" ], [ "T3b", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T3b", "N2a", "M0", " ", "VALUE:IIIB" ], [ "T3b", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N2a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T3b", "N2b", "M0", " ", "VALUE:IIIC" ], [ "T3b", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N2b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T3b", "N2c", "M0", " ", "VALUE:IIIC" ], [ "T3b", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N2c", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T3b", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T3b", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3b", "N3", "M0", " ", "VALUE:IIIC" ], [ "T3b", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T3b", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T3b", "NX", "M0", " ", "VALUE:UNK" ], [ "T3b", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T3b", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T3NOS", "N0", "M0", " ", "VALUE:IINOS" ], [ "T3NOS", "N0", "M0", "0,1,5,9", "VALUE:IINOS" ], [ "T3NOS", "N0", "M0", "2,3,6,8", "VALUE:IINOS" ], [ "T3NOS", "N1", "M0", " ", "VALUE:III" ], [ "T3NOS", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T3NOS", "N1a", "M0", " ", "VALUE:IIINOS" ], [ "T3NOS", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N1a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3NOS", "N1b", "M0", " ", "VALUE:IIINOS" ], [ "T3NOS", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N1b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3NOS", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T3NOS", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3NOS", "N2", "M0", " ", "VALUE:III" ], [ "T3NOS", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T3NOS", "N2a", "M0", " ", "VALUE:IIINOS" ], [ "T3NOS", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N2a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3NOS", "N2b", "M0", " ", "VALUE:IIINOS" ], [ "T3NOS", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N2b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3NOS", "N2c", "M0", " ", "VALUE:IIINOS" ], [ "T3NOS", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N2c", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3NOS", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T3NOS", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3NOS", "N3", "M0", " ", "VALUE:IIIC" ], [ "T3NOS", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T3NOS", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T3NOS", "NX", "M0", " ", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T3NOS", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T4a", "N0", "M0", " ", "VALUE:IIB" ], [ "T4a", "N0", "M0", "0,1,5,9", "VALUE:IIB" ], [ "T4a", "N0", "M0", "2,3,6,8", "VALUE:IIB" ], [ "T4a", "N1", "M0", " ", "VALUE:III" ], [ "T4a", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T4a", "N1a", "M0", " ", "VALUE:IIIA" ], [ "T4a", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N1a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T4a", "N1b", "M0", " ", "VALUE:IIIB" ], [ "T4a", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N1b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T4a", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T4a", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4a", "N2", "M0", " ", "VALUE:III" ], [ "T4a", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T4a", "N2a", "M0", " ", "VALUE:IIIA" ], [ "T4a", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N2a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T4a", "N2b", "M0", " ", "VALUE:IIIB" ], [ "T4a", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N2b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T4a", "N2c", "M0", " ", "VALUE:IIIB" ], [ "T4a", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N2c", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T4a", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T4a", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4a", "N3", "M0", " ", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T4a", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T4a", "NX", "M0", " ", "VALUE:UNK" ], [ "T4a", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T4a", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T4b", "N0", "M0", " ", "VALUE:IIC" ], [ "T4b", "N0", "M0", "0,1,5,9", "VALUE:IIC" ], [ "T4b", "N0", "M0", "2,3,6,8", "VALUE:IIC" ], [ "T4b", "N1", "M0", " ", "VALUE:III" ], [ "T4b", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T4b", "N1a", "M0", " ", "VALUE:IIIB" ], [ "T4b", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N1a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T4b", "N1b", "M0", " ", "VALUE:IIIC" ], [ "T4b", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N1b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T4b", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T4b", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4b", "N2", "M0", " ", "VALUE:III" ], [ "T4b", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T4b", "N2a", "M0", " ", "VALUE:IIIB" ], [ "T4b", "N2a", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T4b", "N2a", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T4b", "N2b", "M0", " ", "VALUE:IIIC" ], [ "T4b", "N2b", "M0", "0,1,5,9", "VALUE:IIIC" ], [ "T4b", "N2b", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T4b", "N2c", "M0", " ", "VALUE:IIIC" ], [ "T4b", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N2c", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T4b", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T4b", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4b", "N3", "M0", " ", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T4b", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T4b", "NX", "M0", " ", "VALUE:UNK" ], [ "T4b", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T4b", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T4NOS", "N0", "M0", " ", "VALUE:IINOS" ], [ "T4NOS", "N0", "M0", "0,1,5,9", "VALUE:IINOS" ], [ "T4NOS", "N0", "M0", "2,3,6,8", "VALUE:IINOS" ], [ "T4NOS", "N1", "M0", " ", "VALUE:III" ], [ "T4NOS", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "T4NOS", "N1a", "M0", " ", "VALUE:IIINOS" ], [ "T4NOS", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N1a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4NOS", "N1b", "M0", " ", "VALUE:IIINOS" ], [ "T4NOS", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N1b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4NOS", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T4NOS", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4NOS", "N2", "M0", " ", "VALUE:III" ], [ "T4NOS", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "T4NOS", "N2a", "M0", " ", "VALUE:IIINOS" ], [ "T4NOS", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N2a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4NOS", "N2b", "M0", " ", "VALUE:IIINOS" ], [ "T4NOS", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N2b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4NOS", "N2c", "M0", " ", "VALUE:IIINOS" ], [ "T4NOS", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N2c", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4NOS", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "T4NOS", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4NOS", "N3", "M0", " ", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "T4NOS", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "T4NOS", "NX", "M0", " ", "VALUE:UNK" ], [ "T4NOS", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T4NOS", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N0", "M0", " ", "VALUE:UNK" ], [ "TX", "N0", "M0", "0,1,5,9", "VALUE:UNK" ], [ "TX", "N0", "M0", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N1", "M0", " ", "VALUE:III" ], [ "TX", "N1", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N1", "M0", "2,3,6,8", "VALUE:III" ], [ "TX", "N1a", "M0", " ", "VALUE:IIINOS" ], [ "TX", "N1a", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N1a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "TX", "N1b", "M0", " ", "VALUE:IIINOS" ], [ "TX", "N1b", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N1b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "TX", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "TX", "N1NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "TX", "N2", "M0", " ", "VALUE:III" ], [ "TX", "N2", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N2", "M0", "2,3,6,8", "VALUE:III" ], [ "TX", "N2a", "M0", " ", "VALUE:IIINOS" ], [ "TX", "N2a", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N2a", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "TX", "N2b", "M0", " ", "VALUE:IIINOS" ], [ "TX", "N2b", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N2b", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "TX", "N2c", "M0", " ", "VALUE:IIINOS" ], [ "TX", "N2c", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N2c", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "TX", "N2NOS", "M0", " ", "VALUE:IIINOS" ], [ "TX", "N2NOS", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N2NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "TX", "N3", "M0", " ", "VALUE:IIIC" ], [ "TX", "N3", "M0", "0,1,5,9", "VALUE:III" ], [ "TX", "N3", "M0", "2,3,6,8", "VALUE:IIIC" ], [ "TX", "NX", "M0", " ", "VALUE:UNK" ], [ "TX", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "TX", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T0", "N0", "M1a", " ", "VALUE:IV" ], [ "T0", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1", "M1a", " ", "VALUE:IV" ], [ "T0", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1a", "M1a", " ", "VALUE:IV" ], [ "T0", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1b", "M1a", " ", "VALUE:IV" ], [ "T0", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T0", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2", "M1a", " ", "VALUE:IV" ], [ "T0", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2a", "M1a", " ", "VALUE:IV" ], [ "T0", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2b", "M1a", " ", "VALUE:IV" ], [ "T0", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2c", "M1a", " ", "VALUE:IV" ], [ "T0", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T0", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N3", "M1a", " ", "VALUE:IV" ], [ "T0", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "NX", "M1a", " ", "VALUE:IV" ], [ "T0", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "Tis", "N0", "M1a", " ", "ERROR:" ], [ "Tis", "N0", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N0", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N1", "M1a", " ", "ERROR:" ], [ "Tis", "N1", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "M1a", " ", "ERROR:" ], [ "Tis", "N1a", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "M1a", " ", "ERROR:" ], [ "Tis", "N1b", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "M1a", " ", "ERROR:" ], [ "Tis", "N1NOS", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "M1a", " ", "ERROR:" ], [ "Tis", "N2", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N2a", "M1a", " ", "ERROR:" ], [ "Tis", "N2a", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N2a", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N2b", "M1a", " ", "ERROR:" ], [ "Tis", "N2b", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N2b", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N2c", "M1a", " ", "ERROR:" ], [ "Tis", "N2c", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N2c", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N2NOS", "M1a", " ", "ERROR:" ], [ "Tis", "N2NOS", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N2NOS", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N3", "M1a", " ", "ERROR:" ], [ "Tis", "N3", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N3", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "M1a", " ", "ERROR:" ], [ "Tis", "NX", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "NX", "M1a", "2,3,6,8", "ERROR:" ], [ "T1a", "N0", "M1a", " ", "VALUE:IV" ], [ "T1a", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1", "M1a", " ", "VALUE:IV" ], [ "T1a", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1a", "M1a", " ", "VALUE:IV" ], [ "T1a", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1b", "M1a", " ", "VALUE:IV" ], [ "T1a", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T1a", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2", "M1a", " ", "VALUE:IV" ], [ "T1a", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2a", "M1a", " ", "VALUE:IV" ], [ "T1a", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2b", "M1a", " ", "VALUE:IV" ], [ "T1a", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2c", "M1a", " ", "VALUE:IV" ], [ "T1a", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T1a", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N3", "M1a", " ", "VALUE:IV" ], [ "T1a", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1a", "NX", "M1a", " ", "VALUE:IV" ], [ "T1a", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1a", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N0", "M1a", " ", "VALUE:IV" ], [ "T1b", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1", "M1a", " ", "VALUE:IV" ], [ "T1b", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1a", "M1a", " ", "VALUE:IV" ], [ "T1b", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1b", "M1a", " ", "VALUE:IV" ], [ "T1b", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T1b", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2", "M1a", " ", "VALUE:IV" ], [ "T1b", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2a", "M1a", " ", "VALUE:IV" ], [ "T1b", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2b", "M1a", " ", "VALUE:IV" ], [ "T1b", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2c", "M1a", " ", "VALUE:IV" ], [ "T1b", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T1b", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N3", "M1a", " ", "VALUE:IV" ], [ "T1b", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1b", "NX", "M1a", " ", "VALUE:IV" ], [ "T1b", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1b", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1a", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1b", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2a", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2b", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2c", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N3", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", " ", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N0", "M1a", " ", "VALUE:IV" ], [ "T2a", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1", "M1a", " ", "VALUE:IV" ], [ "T2a", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1a", "M1a", " ", "VALUE:IV" ], [ "T2a", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1b", "M1a", " ", "VALUE:IV" ], [ "T2a", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T2a", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2", "M1a", " ", "VALUE:IV" ], [ "T2a", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2a", "M1a", " ", "VALUE:IV" ], [ "T2a", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2b", "M1a", " ", "VALUE:IV" ], [ "T2a", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2c", "M1a", " ", "VALUE:IV" ], [ "T2a", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T2a", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N3", "M1a", " ", "VALUE:IV" ], [ "T2a", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2a", "NX", "M1a", " ", "VALUE:IV" ], [ "T2a", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2a", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N0", "M1a", " ", "VALUE:IV" ], [ "T2b", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1", "M1a", " ", "VALUE:IV" ], [ "T2b", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1a", "M1a", " ", "VALUE:IV" ], [ "T2b", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1b", "M1a", " ", "VALUE:IV" ], [ "T2b", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T2b", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2", "M1a", " ", "VALUE:IV" ], [ "T2b", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2a", "M1a", " ", "VALUE:IV" ], [ "T2b", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2b", "M1a", " ", "VALUE:IV" ], [ "T2b", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2c", "M1a", " ", "VALUE:IV" ], [ "T2b", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T2b", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N3", "M1a", " ", "VALUE:IV" ], [ "T2b", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2b", "NX", "M1a", " ", "VALUE:IV" ], [ "T2b", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2b", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1a", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1b", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2a", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2b", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2c", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N3", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", " ", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N0", "M1a", " ", "VALUE:IV" ], [ "T3a", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1", "M1a", " ", "VALUE:IV" ], [ "T3a", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1a", "M1a", " ", "VALUE:IV" ], [ "T3a", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1b", "M1a", " ", "VALUE:IV" ], [ "T3a", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T3a", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2", "M1a", " ", "VALUE:IV" ], [ "T3a", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2a", "M1a", " ", "VALUE:IV" ], [ "T3a", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2b", "M1a", " ", "VALUE:IV" ], [ "T3a", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2c", "M1a", " ", "VALUE:IV" ], [ "T3a", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T3a", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N3", "M1a", " ", "VALUE:IV" ], [ "T3a", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3a", "NX", "M1a", " ", "VALUE:IV" ], [ "T3a", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3a", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N0", "M1a", " ", "VALUE:IV" ], [ "T3b", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1", "M1a", " ", "VALUE:IV" ], [ "T3b", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1a", "M1a", " ", "VALUE:IV" ], [ "T3b", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1b", "M1a", " ", "VALUE:IV" ], [ "T3b", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T3b", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2", "M1a", " ", "VALUE:IV" ], [ "T3b", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2a", "M1a", " ", "VALUE:IV" ], [ "T3b", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2b", "M1a", " ", "VALUE:IV" ], [ "T3b", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2c", "M1a", " ", "VALUE:IV" ], [ "T3b", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T3b", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N3", "M1a", " ", "VALUE:IV" ], [ "T3b", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3b", "NX", "M1a", " ", "VALUE:IV" ], [ "T3b", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3b", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1a", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1b", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2a", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2b", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2c", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N3", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", " ", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N0", "M1a", " ", "VALUE:IV" ], [ "T4a", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1", "M1a", " ", "VALUE:IV" ], [ "T4a", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1a", "M1a", " ", "VALUE:IV" ], [ "T4a", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1b", "M1a", " ", "VALUE:IV" ], [ "T4a", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T4a", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2", "M1a", " ", "VALUE:IV" ], [ "T4a", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2a", "M1a", " ", "VALUE:IV" ], [ "T4a", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2b", "M1a", " ", "VALUE:IV" ], [ "T4a", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2c", "M1a", " ", "VALUE:IV" ], [ "T4a", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T4a", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N3", "M1a", " ", "VALUE:IV" ], [ "T4a", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4a", "NX", "M1a", " ", "VALUE:IV" ], [ "T4a", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4a", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N0", "M1a", " ", "VALUE:IV" ], [ "T4b", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1", "M1a", " ", "VALUE:IV" ], [ "T4b", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1a", "M1a", " ", "VALUE:IV" ], [ "T4b", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1b", "M1a", " ", "VALUE:IV" ], [ "T4b", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T4b", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2", "M1a", " ", "VALUE:IV" ], [ "T4b", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2a", "M1a", " ", "VALUE:IV" ], [ "T4b", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2b", "M1a", " ", "VALUE:IV" ], [ "T4b", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2c", "M1a", " ", "VALUE:IV" ], [ "T4b", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T4b", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N3", "M1a", " ", "VALUE:IV" ], [ "T4b", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4b", "NX", "M1a", " ", "VALUE:IV" ], [ "T4b", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4b", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N0", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1a", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1b", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2a", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2b", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2c", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N3", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "NX", "M1a", " ", "VALUE:IV" ], [ "T4NOS", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N0", "M1a", " ", "VALUE:IV" ], [ "TX", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1", "M1a", " ", "VALUE:IV" ], [ "TX", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1a", "M1a", " ", "VALUE:IV" ], [ "TX", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1b", "M1a", " ", "VALUE:IV" ], [ "TX", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "TX", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2", "M1a", " ", "VALUE:IV" ], [ "TX", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2a", "M1a", " ", "VALUE:IV" ], [ "TX", "N2a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2b", "M1a", " ", "VALUE:IV" ], [ "TX", "N2b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2c", "M1a", " ", "VALUE:IV" ], [ "TX", "N2c", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2c", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2NOS", "M1a", " ", "VALUE:IV" ], [ "TX", "N2NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N3", "M1a", " ", "VALUE:IV" ], [ "TX", "N3", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N3", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "NX", "M1a", " ", "VALUE:IV" ], [ "TX", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N0", "M1b", " ", "VALUE:IV" ], [ "T0", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1", "M1b", " ", "VALUE:IV" ], [ "T0", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1a", "M1b", " ", "VALUE:IV" ], [ "T0", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1b", "M1b", " ", "VALUE:IV" ], [ "T0", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T0", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2", "M1b", " ", "VALUE:IV" ], [ "T0", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2a", "M1b", " ", "VALUE:IV" ], [ "T0", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2b", "M1b", " ", "VALUE:IV" ], [ "T0", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2c", "M1b", " ", "VALUE:IV" ], [ "T0", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T0", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N3", "M1b", " ", "VALUE:IV" ], [ "T0", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "NX", "M1b", " ", "VALUE:IV" ], [ "T0", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "Tis", "N0", "M1b", " ", "ERROR:" ], [ "Tis", "N0", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N0", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N1", "M1b", " ", "ERROR:" ], [ "Tis", "N1", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "M1b", " ", "ERROR:" ], [ "Tis", "N1a", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "M1b", " ", "ERROR:" ], [ "Tis", "N1b", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "M1b", " ", "ERROR:" ], [ "Tis", "N1NOS", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "M1b", " ", "ERROR:" ], [ "Tis", "N2", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N2a", "M1b", " ", "ERROR:" ], [ "Tis", "N2a", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N2a", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N2b", "M1b", " ", "ERROR:" ], [ "Tis", "N2b", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N2b", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N2c", "M1b", " ", "ERROR:" ], [ "Tis", "N2c", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N2c", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N2NOS", "M1b", " ", "ERROR:" ], [ "Tis", "N2NOS", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N2NOS", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N3", "M1b", " ", "ERROR:" ], [ "Tis", "N3", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N3", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "M1b", " ", "ERROR:" ], [ "Tis", "NX", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "NX", "M1b", "2,3,6,8", "ERROR:" ], [ "T1a", "N0", "M1b", " ", "VALUE:IV" ], [ "T1a", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1", "M1b", " ", "VALUE:IV" ], [ "T1a", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1a", "M1b", " ", "VALUE:IV" ], [ "T1a", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1b", "M1b", " ", "VALUE:IV" ], [ "T1a", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T1a", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2", "M1b", " ", "VALUE:IV" ], [ "T1a", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2a", "M1b", " ", "VALUE:IV" ], [ "T1a", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2b", "M1b", " ", "VALUE:IV" ], [ "T1a", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2c", "M1b", " ", "VALUE:IV" ], [ "T1a", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T1a", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N3", "M1b", " ", "VALUE:IV" ], [ "T1a", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1a", "NX", "M1b", " ", "VALUE:IV" ], [ "T1a", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1a", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N0", "M1b", " ", "VALUE:IV" ], [ "T1b", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1", "M1b", " ", "VALUE:IV" ], [ "T1b", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1a", "M1b", " ", "VALUE:IV" ], [ "T1b", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1b", "M1b", " ", "VALUE:IV" ], [ "T1b", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T1b", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2", "M1b", " ", "VALUE:IV" ], [ "T1b", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2a", "M1b", " ", "VALUE:IV" ], [ "T1b", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2b", "M1b", " ", "VALUE:IV" ], [ "T1b", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2c", "M1b", " ", "VALUE:IV" ], [ "T1b", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T1b", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N3", "M1b", " ", "VALUE:IV" ], [ "T1b", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1b", "NX", "M1b", " ", "VALUE:IV" ], [ "T1b", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1b", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1a", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1b", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2a", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2b", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2c", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N3", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", " ", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N0", "M1b", " ", "VALUE:IV" ], [ "T2a", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1", "M1b", " ", "VALUE:IV" ], [ "T2a", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1a", "M1b", " ", "VALUE:IV" ], [ "T2a", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1b", "M1b", " ", "VALUE:IV" ], [ "T2a", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T2a", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2", "M1b", " ", "VALUE:IV" ], [ "T2a", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2a", "M1b", " ", "VALUE:IV" ], [ "T2a", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2b", "M1b", " ", "VALUE:IV" ], [ "T2a", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2c", "M1b", " ", "VALUE:IV" ], [ "T2a", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T2a", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N3", "M1b", " ", "VALUE:IV" ], [ "T2a", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2a", "NX", "M1b", " ", "VALUE:IV" ], [ "T2a", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2a", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N0", "M1b", " ", "VALUE:IV" ], [ "T2b", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1", "M1b", " ", "VALUE:IV" ], [ "T2b", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1a", "M1b", " ", "VALUE:IV" ], [ "T2b", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1b", "M1b", " ", "VALUE:IV" ], [ "T2b", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T2b", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2", "M1b", " ", "VALUE:IV" ], [ "T2b", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2a", "M1b", " ", "VALUE:IV" ], [ "T2b", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2b", "M1b", " ", "VALUE:IV" ], [ "T2b", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2c", "M1b", " ", "VALUE:IV" ], [ "T2b", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T2b", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N3", "M1b", " ", "VALUE:IV" ], [ "T2b", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2b", "NX", "M1b", " ", "VALUE:IV" ], [ "T2b", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2b", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1a", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1b", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2a", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2b", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2c", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N3", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", " ", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N0", "M1b", " ", "VALUE:IV" ], [ "T3a", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1", "M1b", " ", "VALUE:IV" ], [ "T3a", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1a", "M1b", " ", "VALUE:IV" ], [ "T3a", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1b", "M1b", " ", "VALUE:IV" ], [ "T3a", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T3a", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2", "M1b", " ", "VALUE:IV" ], [ "T3a", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2a", "M1b", " ", "VALUE:IV" ], [ "T3a", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2b", "M1b", " ", "VALUE:IV" ], [ "T3a", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2c", "M1b", " ", "VALUE:IV" ], [ "T3a", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T3a", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N3", "M1b", " ", "VALUE:IV" ], [ "T3a", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3a", "NX", "M1b", " ", "VALUE:IV" ], [ "T3a", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3a", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N0", "M1b", " ", "VALUE:IV" ], [ "T3b", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1", "M1b", " ", "VALUE:IV" ], [ "T3b", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1a", "M1b", " ", "VALUE:IV" ], [ "T3b", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1b", "M1b", " ", "VALUE:IV" ], [ "T3b", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T3b", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2", "M1b", " ", "VALUE:IV" ], [ "T3b", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2a", "M1b", " ", "VALUE:IV" ], [ "T3b", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2b", "M1b", " ", "VALUE:IV" ], [ "T3b", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2c", "M1b", " ", "VALUE:IV" ], [ "T3b", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T3b", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N3", "M1b", " ", "VALUE:IV" ], [ "T3b", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3b", "NX", "M1b", " ", "VALUE:IV" ], [ "T3b", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3b", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1a", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1b", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2a", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2b", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2c", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N3", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", " ", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N0", "M1b", " ", "VALUE:IV" ], [ "T4a", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1", "M1b", " ", "VALUE:IV" ], [ "T4a", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1a", "M1b", " ", "VALUE:IV" ], [ "T4a", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1b", "M1b", " ", "VALUE:IV" ], [ "T4a", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T4a", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2", "M1b", " ", "VALUE:IV" ], [ "T4a", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2a", "M1b", " ", "VALUE:IV" ], [ "T4a", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2b", "M1b", " ", "VALUE:IV" ], [ "T4a", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2c", "M1b", " ", "VALUE:IV" ], [ "T4a", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T4a", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N3", "M1b", " ", "VALUE:IV" ], [ "T4a", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4a", "NX", "M1b", " ", "VALUE:IV" ], [ "T4a", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4a", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N0", "M1b", " ", "VALUE:IV" ], [ "T4b", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1", "M1b", " ", "VALUE:IV" ], [ "T4b", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1a", "M1b", " ", "VALUE:IV" ], [ "T4b", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1b", "M1b", " ", "VALUE:IV" ], [ "T4b", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T4b", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2", "M1b", " ", "VALUE:IV" ], [ "T4b", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2a", "M1b", " ", "VALUE:IV" ], [ "T4b", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2b", "M1b", " ", "VALUE:IV" ], [ "T4b", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2c", "M1b", " ", "VALUE:IV" ], [ "T4b", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T4b", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N3", "M1b", " ", "VALUE:IV" ], [ "T4b", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4b", "NX", "M1b", " ", "VALUE:IV" ], [ "T4b", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4b", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N0", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1a", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1b", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2a", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2b", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2c", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N3", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "NX", "M1b", " ", "VALUE:IV" ], [ "T4NOS", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N0", "M1b", " ", "VALUE:IV" ], [ "TX", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1", "M1b", " ", "VALUE:IV" ], [ "TX", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1a", "M1b", " ", "VALUE:IV" ], [ "TX", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1b", "M1b", " ", "VALUE:IV" ], [ "TX", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "TX", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2", "M1b", " ", "VALUE:IV" ], [ "TX", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2a", "M1b", " ", "VALUE:IV" ], [ "TX", "N2a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2b", "M1b", " ", "VALUE:IV" ], [ "TX", "N2b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2c", "M1b", " ", "VALUE:IV" ], [ "TX", "N2c", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2c", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2NOS", "M1b", " ", "VALUE:IV" ], [ "TX", "N2NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N3", "M1b", " ", "VALUE:IV" ], [ "TX", "N3", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N3", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "NX", "M1b", " ", "VALUE:IV" ], [ "TX", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N0", "M1c", " ", "VALUE:IV" ], [ "T0", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1", "M1c", " ", "VALUE:IV" ], [ "T0", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1a", "M1c", " ", "VALUE:IV" ], [ "T0", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1b", "M1c", " ", "VALUE:IV" ], [ "T0", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T0", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2", "M1c", " ", "VALUE:IV" ], [ "T0", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2a", "M1c", " ", "VALUE:IV" ], [ "T0", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2b", "M1c", " ", "VALUE:IV" ], [ "T0", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2c", "M1c", " ", "VALUE:IV" ], [ "T0", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T0", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N3", "M1c", " ", "VALUE:IV" ], [ "T0", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "NX", "M1c", " ", "VALUE:IV" ], [ "T0", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "Tis", "N0", "M1c", " ", "ERROR:" ], [ "Tis", "N0", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N0", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N1", "M1c", " ", "ERROR:" ], [ "Tis", "N1", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "M1c", " ", "ERROR:" ], [ "Tis", "N1a", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "M1c", " ", "ERROR:" ], [ "Tis", "N1b", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "M1c", " ", "ERROR:" ], [ "Tis", "N1NOS", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "M1c", " ", "ERROR:" ], [ "Tis", "N2", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N2a", "M1c", " ", "ERROR:" ], [ "Tis", "N2a", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N2a", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N2b", "M1c", " ", "ERROR:" ], [ "Tis", "N2b", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N2b", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N2c", "M1c", " ", "ERROR:" ], [ "Tis", "N2c", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N2c", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N2NOS", "M1c", " ", "ERROR:" ], [ "Tis", "N2NOS", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N2NOS", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N3", "M1c", " ", "ERROR:" ], [ "Tis", "N3", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N3", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "M1c", " ", "ERROR:" ], [ "Tis", "NX", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "NX", "M1c", "2,3,6,8", "ERROR:" ], [ "T1a", "N0", "M1c", " ", "VALUE:IV" ], [ "T1a", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1", "M1c", " ", "VALUE:IV" ], [ "T1a", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1a", "M1c", " ", "VALUE:IV" ], [ "T1a", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1b", "M1c", " ", "VALUE:IV" ], [ "T1a", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T1a", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2", "M1c", " ", "VALUE:IV" ], [ "T1a", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2a", "M1c", " ", "VALUE:IV" ], [ "T1a", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2b", "M1c", " ", "VALUE:IV" ], [ "T1a", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2c", "M1c", " ", "VALUE:IV" ], [ "T1a", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T1a", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N3", "M1c", " ", "VALUE:IV" ], [ "T1a", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1a", "NX", "M1c", " ", "VALUE:IV" ], [ "T1a", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1a", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N0", "M1c", " ", "VALUE:IV" ], [ "T1b", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1", "M1c", " ", "VALUE:IV" ], [ "T1b", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1a", "M1c", " ", "VALUE:IV" ], [ "T1b", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1b", "M1c", " ", "VALUE:IV" ], [ "T1b", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T1b", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2", "M1c", " ", "VALUE:IV" ], [ "T1b", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2a", "M1c", " ", "VALUE:IV" ], [ "T1b", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2b", "M1c", " ", "VALUE:IV" ], [ "T1b", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2c", "M1c", " ", "VALUE:IV" ], [ "T1b", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T1b", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N3", "M1c", " ", "VALUE:IV" ], [ "T1b", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1b", "NX", "M1c", " ", "VALUE:IV" ], [ "T1b", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1b", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1a", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1b", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2a", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2b", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2c", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N3", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", " ", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N0", "M1c", " ", "VALUE:IV" ], [ "T2a", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1", "M1c", " ", "VALUE:IV" ], [ "T2a", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1a", "M1c", " ", "VALUE:IV" ], [ "T2a", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1b", "M1c", " ", "VALUE:IV" ], [ "T2a", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T2a", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2", "M1c", " ", "VALUE:IV" ], [ "T2a", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2a", "M1c", " ", "VALUE:IV" ], [ "T2a", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2b", "M1c", " ", "VALUE:IV" ], [ "T2a", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2c", "M1c", " ", "VALUE:IV" ], [ "T2a", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T2a", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N3", "M1c", " ", "VALUE:IV" ], [ "T2a", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2a", "NX", "M1c", " ", "VALUE:IV" ], [ "T2a", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2a", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N0", "M1c", " ", "VALUE:IV" ], [ "T2b", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1", "M1c", " ", "VALUE:IV" ], [ "T2b", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1a", "M1c", " ", "VALUE:IV" ], [ "T2b", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1b", "M1c", " ", "VALUE:IV" ], [ "T2b", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T2b", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2", "M1c", " ", "VALUE:IV" ], [ "T2b", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2a", "M1c", " ", "VALUE:IV" ], [ "T2b", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2b", "M1c", " ", "VALUE:IV" ], [ "T2b", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2c", "M1c", " ", "VALUE:IV" ], [ "T2b", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T2b", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N3", "M1c", " ", "VALUE:IV" ], [ "T2b", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2b", "NX", "M1c", " ", "VALUE:IV" ], [ "T2b", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2b", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1a", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1b", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2a", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2b", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2c", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N3", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", " ", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N0", "M1c", " ", "VALUE:IV" ], [ "T3a", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1", "M1c", " ", "VALUE:IV" ], [ "T3a", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1a", "M1c", " ", "VALUE:IV" ], [ "T3a", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1b", "M1c", " ", "VALUE:IV" ], [ "T3a", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T3a", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2", "M1c", " ", "VALUE:IV" ], [ "T3a", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2a", "M1c", " ", "VALUE:IV" ], [ "T3a", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2b", "M1c", " ", "VALUE:IV" ], [ "T3a", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2c", "M1c", " ", "VALUE:IV" ], [ "T3a", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T3a", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N3", "M1c", " ", "VALUE:IV" ], [ "T3a", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3a", "NX", "M1c", " ", "VALUE:IV" ], [ "T3a", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3a", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N0", "M1c", " ", "VALUE:IV" ], [ "T3b", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1", "M1c", " ", "VALUE:IV" ], [ "T3b", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1a", "M1c", " ", "VALUE:IV" ], [ "T3b", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1b", "M1c", " ", "VALUE:IV" ], [ "T3b", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T3b", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2", "M1c", " ", "VALUE:IV" ], [ "T3b", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2a", "M1c", " ", "VALUE:IV" ], [ "T3b", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2b", "M1c", " ", "VALUE:IV" ], [ "T3b", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2c", "M1c", " ", "VALUE:IV" ], [ "T3b", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T3b", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N3", "M1c", " ", "VALUE:IV" ], [ "T3b", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3b", "NX", "M1c", " ", "VALUE:IV" ], [ "T3b", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3b", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1a", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1b", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2a", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2b", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2c", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N3", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", " ", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N0", "M1c", " ", "VALUE:IV" ], [ "T4a", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1", "M1c", " ", "VALUE:IV" ], [ "T4a", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1a", "M1c", " ", "VALUE:IV" ], [ "T4a", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1b", "M1c", " ", "VALUE:IV" ], [ "T4a", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T4a", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2", "M1c", " ", "VALUE:IV" ], [ "T4a", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2a", "M1c", " ", "VALUE:IV" ], [ "T4a", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2b", "M1c", " ", "VALUE:IV" ], [ "T4a", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2c", "M1c", " ", "VALUE:IV" ], [ "T4a", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T4a", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N3", "M1c", " ", "VALUE:IV" ], [ "T4a", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4a", "NX", "M1c", " ", "VALUE:IV" ], [ "T4a", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4a", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N0", "M1c", " ", "VALUE:IV" ], [ "T4b", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1", "M1c", " ", "VALUE:IV" ], [ "T4b", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1a", "M1c", " ", "VALUE:IV" ], [ "T4b", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1b", "M1c", " ", "VALUE:IV" ], [ "T4b", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T4b", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2", "M1c", " ", "VALUE:IV" ], [ "T4b", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2a", "M1c", " ", "VALUE:IV" ], [ "T4b", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2b", "M1c", " ", "VALUE:IV" ], [ "T4b", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2c", "M1c", " ", "VALUE:IV" ], [ "T4b", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T4b", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N3", "M1c", " ", "VALUE:IV" ], [ "T4b", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4b", "NX", "M1c", " ", "VALUE:IV" ], [ "T4b", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4b", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N0", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1a", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1b", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2a", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2b", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2c", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N3", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "NX", "M1c", " ", "VALUE:IV" ], [ "T4NOS", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N0", "M1c", " ", "VALUE:IV" ], [ "TX", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1", "M1c", " ", "VALUE:IV" ], [ "TX", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1a", "M1c", " ", "VALUE:IV" ], [ "TX", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1b", "M1c", " ", "VALUE:IV" ], [ "TX", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "TX", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2", "M1c", " ", "VALUE:IV" ], [ "TX", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2a", "M1c", " ", "VALUE:IV" ], [ "TX", "N2a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2b", "M1c", " ", "VALUE:IV" ], [ "TX", "N2b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2c", "M1c", " ", "VALUE:IV" ], [ "TX", "N2c", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2c", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2NOS", "M1c", " ", "VALUE:IV" ], [ "TX", "N2NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N3", "M1c", " ", "VALUE:IV" ], [ "TX", "N3", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N3", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "NX", "M1c", " ", "VALUE:IV" ], [ "TX", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "Tis", "N0", "M1NOS", " ", "ERROR:" ], [ "Tis", "N0", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N0", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N1", "M1NOS", " ", "ERROR:" ], [ "Tis", "N1", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "M1NOS", " ", "ERROR:" ], [ "Tis", "N1a", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "M1NOS", " ", "ERROR:" ], [ "Tis", "N1b", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "M1NOS", " ", "ERROR:" ], [ "Tis", "N1NOS", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "M1NOS", " ", "ERROR:" ], [ "Tis", "N2", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N2a", "M1NOS", " ", "ERROR:" ], [ "Tis", "N2a", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N2a", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N2b", "M1NOS", " ", "ERROR:" ], [ "Tis", "N2b", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N2b", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N2c", "M1NOS", " ", "ERROR:" ], [ "Tis", "N2c", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N2c", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N2NOS", "M1NOS", " ", "ERROR:" ], [ "Tis", "N2NOS", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N2NOS", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N3", "M1NOS", " ", "ERROR:" ], [ "Tis", "N3", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N3", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "M1NOS", " ", "ERROR:" ], [ "Tis", "NX", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "NX", "M1NOS", "2,3,6,8", "ERROR:" ], [ "T1a", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4a", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T4a", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4a", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4b", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T4b", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4b", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "N3", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4NOS", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T4NOS", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4NOS", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N0", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2a", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N2a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2b", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N2b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2c", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N2c", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2c", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2NOS", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N2NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N3", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N3", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N3", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "NX", "M1NOS", " ", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubw.json deleted file mode 100644 index 72b3616bd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubw.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ajcc7_stage_ubw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:58.898Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "SSF2", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000,020", "VALUE:IA" ], [ "100", "010,030", "VALUE:IB" ], [ "100", "999", "VALUE:I" ], [ "100-999", "988", "ERROR:" ], [ "110", "000,020", "VALUE:IEA" ], [ "110", "010,030", "VALUE:IEB" ], [ "110", "999", "VALUE:IE" ], [ "120", "000,020", "VALUE:ISA" ], [ "120", "010,030", "VALUE:ISB" ], [ "120", "999", "VALUE:IS" ], [ "200", "000,020", "VALUE:IIA" ], [ "200", "010,030", "VALUE:IIB" ], [ "200", "999", "VALUE:II" ], [ "210", "000,020", "VALUE:IIEA" ], [ "210", "010,030", "VALUE:IIEB" ], [ "210", "999", "VALUE:IIE" ], [ "220", "000,020", "VALUE:IISA" ], [ "220", "010,030", "VALUE:IISB" ], [ "220", "999", "VALUE:IIS" ], [ "230", "000,020", "VALUE:IIESA" ], [ "230", "010,030", "VALUE:IIESB" ], [ "230", "999", "VALUE:IIES" ], [ "300", "000,020", "VALUE:IIIA" ], [ "300", "010,030", "VALUE:IIIB" ], [ "300", "999", "VALUE:III" ], [ "310", "000,020", "VALUE:IIIEA" ], [ "310", "010,030", "VALUE:IIIEB" ], [ "310", "999", "VALUE:IIIE" ], [ "320", "000,020", "VALUE:IIISA" ], [ "320", "010,030", "VALUE:IIISB" ], [ "320", "999", "VALUE:IIIS" ], [ "330", "000,020", "VALUE:IIIESA" ], [ "330", "010,030", "VALUE:IIIESB" ], [ "330", "999", "VALUE:IIIES" ], [ "800", "000,020", "VALUE:IVA" ], [ "800", "010,030", "VALUE:IVB" ], [ "800", "999", "VALUE:IV" ], [ "999", "000,020", "VALUE:UNK" ], [ "999", "010,030", "VALUE:UNK" ], [ "999", "999", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubx.json deleted file mode 100644 index d0cc5314c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ubx.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc7_stage_ubx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:58.971Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "peripheral_blood_involvement", - "name" : "Peripheral Blood Involvement", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "B0NOS", "ERROR:" ], [ "T0", "N0", "M0", "B0a", "ERROR:" ], [ "T0", "N0", "M0", "B0b", "ERROR:" ], [ "T0", "N0", "M0", "B1NOS", "ERROR:" ], [ "T0", "N0", "M0", "B1a", "ERROR:" ], [ "T0", "N0", "M0", "B1b", "ERROR:" ], [ "T0", "N0", "M0", "B2", "ERROR:" ], [ "T0", "N0", "M0", "BX", "ERROR:" ], [ "T0", "N1a", "M0", "B0NOS", "VALUE:UNK" ], [ "T0", "N1a", "M0", "B0a", "VALUE:UNK" ], [ "T0", "N1a", "M0", "B0b", "VALUE:UNK" ], [ "T0", "N1a", "M0", "B1NOS", "VALUE:UNK" ], [ "T0", "N1a", "M0", "B1a", "VALUE:UNK" ], [ "T0", "N1a", "M0", "B1b", "VALUE:UNK" ], [ "T0", "N1a", "M0", "B2", "VALUE:IVA1" ], [ "T0", "N1a", "M0", "BX", "VALUE:UNK" ], [ "T0", "N1b", "M0", "B0NOS", "VALUE:UNK" ], [ "T0", "N1b", "M0", "B0a", "VALUE:UNK" ], [ "T0", "N1b", "M0", "B0b", "VALUE:UNK" ], [ "T0", "N1b", "M0", "B1NOS", "VALUE:UNK" ], [ "T0", "N1b", "M0", "B1a", "VALUE:UNK" ], [ "T0", "N1b", "M0", "B1b", "VALUE:UNK" ], [ "T0", "N1b", "M0", "B2", "VALUE:IVA1" ], [ "T0", "N1b", "M0", "BX", "VALUE:UNK" ], [ "T0", "N1NOS", "M0", "B0NOS", "VALUE:UNK" ], [ "T0", "N1NOS", "M0", "B0a", "VALUE:UNK" ], [ "T0", "N1NOS", "M0", "B0b", "VALUE:UNK" ], [ "T0", "N1NOS", "M0", "B1NOS", "VALUE:UNK" ], [ "T0", "N1NOS", "M0", "B1a", "VALUE:UNK" ], [ "T0", "N1NOS", "M0", "B1b", "VALUE:UNK" ], [ "T0", "N1NOS", "M0", "B2", "VALUE:IVA1" ], [ "T0", "N1NOS", "M0", "BX", "VALUE:UNK" ], [ "T0", "N2a", "M0", "B0NOS", "VALUE:UNK" ], [ "T0", "N2a", "M0", "B0a", "VALUE:UNK" ], [ "T0", "N2a", "M0", "B0b", "VALUE:UNK" ], [ "T0", "N2a", "M0", "B1NOS", "VALUE:UNK" ], [ "T0", "N2a", "M0", "B1a", "VALUE:UNK" ], [ "T0", "N2a", "M0", "B1b", "VALUE:UNK" ], [ "T0", "N2a", "M0", "B2", "VALUE:IVA1" ], [ "T0", "N2a", "M0", "BX", "VALUE:UNK" ], [ "T0", "N2b", "M0", "B0NOS", "VALUE:UNK" ], [ "T0", "N2b", "M0", "B0a", "VALUE:UNK" ], [ "T0", "N2b", "M0", "B0b", "VALUE:UNK" ], [ "T0", "N2b", "M0", "B1NOS", "VALUE:UNK" ], [ "T0", "N2b", "M0", "B1a", "VALUE:UNK" ], [ "T0", "N2b", "M0", "B1b", "VALUE:UNK" ], [ "T0", "N2b", "M0", "B2", "VALUE:IVA1" ], [ "T0", "N2b", "M0", "BX", "VALUE:UNK" ], [ "T0", "N2NOS", "M0", "B0NOS", "VALUE:UNK" ], [ "T0", "N2NOS", "M0", "B0a", "VALUE:UNK" ], [ "T0", "N2NOS", "M0", "B0b", "VALUE:UNK" ], [ "T0", "N2NOS", "M0", "B1NOS", "VALUE:UNK" ], [ "T0", "N2NOS", "M0", "B1a", "VALUE:UNK" ], [ "T0", "N2NOS", "M0", "B1b", "VALUE:UNK" ], [ "T0", "N2NOS", "M0", "B2", "VALUE:IVA1" ], [ "T0", "N2NOS", "M0", "BX", "VALUE:UNK" ], [ "T0", "N3", "M0", "B0NOS", "VALUE:IVA2" ], [ "T0", "N3", "M0", "B0a", "VALUE:IVA2" ], [ "T0", "N3", "M0", "B0b", "VALUE:IVA2" ], [ "T0", "N3", "M0", "B1NOS", "VALUE:IVA2" ], [ "T0", "N3", "M0", "B1a", "VALUE:IVA2" ], [ "T0", "N3", "M0", "B1b", "VALUE:IVA2" ], [ "T0", "N3", "M0", "B2", "VALUE:IVA2" ], [ "T0", "N3", "M0", "BX", "VALUE:IVA2" ], [ "T0", "NX", "M0", "B0NOS", "VALUE:UNK" ], [ "T0", "NX", "M0", "B0a", "VALUE:UNK" ], [ "T0", "NX", "M0", "B0b", "VALUE:UNK" ], [ "T0", "NX", "M0", "B1NOS", "VALUE:UNK" ], [ "T0", "NX", "M0", "B1a", "VALUE:UNK" ], [ "T0", "NX", "M0", "B1b", "VALUE:UNK" ], [ "T0", "NX", "M0", "B2", "VALUE:IVA" ], [ "T0", "NX", "M0", "BX", "VALUE:UNK" ], [ "T1a", "N0", "M0", "B0NOS", "VALUE:IA" ], [ "T1a", "N0", "M0", "B0a", "VALUE:IA" ], [ "T1a", "N0", "M0", "B0b", "VALUE:IA" ], [ "T1a", "N0", "M0", "B1NOS", "VALUE:IA" ], [ "T1a", "N0", "M0", "B1a", "VALUE:IA" ], [ "T1a", "N0", "M0", "B1b", "VALUE:IA" ], [ "T1a", "N0", "M0", "B2", "VALUE:IVA1" ], [ "T1a", "N0", "M0", "BX", "VALUE:IA" ], [ "T1a", "N1a", "M0", "B0NOS", "VALUE:IIA" ], [ "T1a", "N1a", "M0", "B0a", "VALUE:IIA" ], [ "T1a", "N1a", "M0", "B0b", "VALUE:IIA" ], [ "T1a", "N1a", "M0", "B1NOS", "VALUE:IIA" ], [ "T1a", "N1a", "M0", "B1a", "VALUE:IIA" ], [ "T1a", "N1a", "M0", "B1b", "VALUE:IIA" ], [ "T1a", "N1a", "M0", "B2", "VALUE:IVA1" ], [ "T1a", "N1a", "M0", "BX", "VALUE:IIA" ], [ "T1a", "N1b", "M0", "B0NOS", "VALUE:IIA" ], [ "T1a", "N1b", "M0", "B0a", "VALUE:IIA" ], [ "T1a", "N1b", "M0", "B0b", "VALUE:IIA" ], [ "T1a", "N1b", "M0", "B1NOS", "VALUE:IIA" ], [ "T1a", "N1b", "M0", "B1a", "VALUE:IIA" ], [ "T1a", "N1b", "M0", "B1b", "VALUE:IIA" ], [ "T1a", "N1b", "M0", "B2", "VALUE:IVA1" ], [ "T1a", "N1b", "M0", "BX", "VALUE:IIA" ], [ "T1a", "N1NOS", "M0", "B0NOS", "VALUE:IIA" ], [ "T1a", "N1NOS", "M0", "B0a", "VALUE:IIA" ], [ "T1a", "N1NOS", "M0", "B0b", "VALUE:IIA" ], [ "T1a", "N1NOS", "M0", "B1NOS", "VALUE:IIA" ], [ "T1a", "N1NOS", "M0", "B1a", "VALUE:IIA" ], [ "T1a", "N1NOS", "M0", "B1b", "VALUE:IIA" ], [ "T1a", "N1NOS", "M0", "B2", "VALUE:IVA1" ], [ "T1a", "N1NOS", "M0", "BX", "VALUE:IIA" ], [ "T1a", "N2a", "M0", "B0NOS", "VALUE:IIA" ], [ "T1a", "N2a", "M0", "B0a", "VALUE:IIA" ], [ "T1a", "N2a", "M0", "B0b", "VALUE:IIA" ], [ "T1a", "N2a", "M0", "B1NOS", "VALUE:IIA" ], [ "T1a", "N2a", "M0", "B1a", "VALUE:IIA" ], [ "T1a", "N2a", "M0", "B1b", "VALUE:IIA" ], [ "T1a", "N2a", "M0", "B2", "VALUE:IVA1" ], [ "T1a", "N2a", "M0", "BX", "VALUE:IIA" ], [ "T1a", "N2b", "M0", "B0NOS", "VALUE:IIA" ], [ "T1a", "N2b", "M0", "B0a", "VALUE:IIA" ], [ "T1a", "N2b", "M0", "B0b", "VALUE:IIA" ], [ "T1a", "N2b", "M0", "B1NOS", "VALUE:IIA" ], [ "T1a", "N2b", "M0", "B1a", "VALUE:IIA" ], [ "T1a", "N2b", "M0", "B1b", "VALUE:IIA" ], [ "T1a", "N2b", "M0", "B2", "VALUE:IVA1" ], [ "T1a", "N2b", "M0", "BX", "VALUE:IIA" ], [ "T1a", "N2NOS", "M0", "B0NOS", "VALUE:IIA" ], [ "T1a", "N2NOS", "M0", "B0a", "VALUE:IIA" ], [ "T1a", "N2NOS", "M0", "B0b", "VALUE:IIA" ], [ "T1a", "N2NOS", "M0", "B1NOS", "VALUE:IIA" ], [ "T1a", "N2NOS", "M0", "B1a", "VALUE:IIA" ], [ "T1a", "N2NOS", "M0", "B1b", "VALUE:IIA" ], [ "T1a", "N2NOS", "M0", "B2", "VALUE:IVA1" ], [ "T1a", "N2NOS", "M0", "BX", "VALUE:IIA" ], [ "T1a", "N3", "M0", "B0NOS", "VALUE:IVA2" ], [ "T1a", "N3", "M0", "B0a", "VALUE:IVA2" ], [ "T1a", "N3", "M0", "B0b", "VALUE:IVA2" ], [ "T1a", "N3", "M0", "B1NOS", "VALUE:IVA2" ], [ "T1a", "N3", "M0", "B1a", "VALUE:IVA2" ], [ "T1a", "N3", "M0", "B1b", "VALUE:IVA2" ], [ "T1a", "N3", "M0", "B2", "VALUE:IVA2" ], [ "T1a", "N3", "M0", "BX", "VALUE:IVA2" ], [ "T1a", "NX", "M0", "B0NOS", "VALUE:UNK" ], [ "T1a", "NX", "M0", "B0a", "VALUE:UNK" ], [ "T1a", "NX", "M0", "B0b", "VALUE:UNK" ], [ "T1a", "NX", "M0", "B1NOS", "VALUE:UNK" ], [ "T1a", "NX", "M0", "B1a", "VALUE:UNK" ], [ "T1a", "NX", "M0", "B1b", "VALUE:UNK" ], [ "T1a", "NX", "M0", "B2", "VALUE:IVA" ], [ "T1a", "NX", "M0", "BX", "VALUE:UNK" ], [ "T1b", "N0", "M0", "B0NOS", "VALUE:IA" ], [ "T1b", "N0", "M0", "B0a", "VALUE:IA" ], [ "T1b", "N0", "M0", "B0b", "VALUE:IA" ], [ "T1b", "N0", "M0", "B1NOS", "VALUE:IA" ], [ "T1b", "N0", "M0", "B1a", "VALUE:IA" ], [ "T1b", "N0", "M0", "B1b", "VALUE:IA" ], [ "T1b", "N0", "M0", "B2", "VALUE:IVA1" ], [ "T1b", "N0", "M0", "BX", "VALUE:IA" ], [ "T1b", "N1a", "M0", "B0NOS", "VALUE:IIA" ], [ "T1b", "N1a", "M0", "B0a", "VALUE:IIA" ], [ "T1b", "N1a", "M0", "B0b", "VALUE:IIA" ], [ "T1b", "N1a", "M0", "B1NOS", "VALUE:IIA" ], [ "T1b", "N1a", "M0", "B1a", "VALUE:IIA" ], [ "T1b", "N1a", "M0", "B1b", "VALUE:IIA" ], [ "T1b", "N1a", "M0", "B2", "VALUE:IVA1" ], [ "T1b", "N1a", "M0", "BX", "VALUE:IIA" ], [ "T1b", "N1b", "M0", "B0NOS", "VALUE:IIA" ], [ "T1b", "N1b", "M0", "B0a", "VALUE:IIA" ], [ "T1b", "N1b", "M0", "B0b", "VALUE:IIA" ], [ "T1b", "N1b", "M0", "B1NOS", "VALUE:IIA" ], [ "T1b", "N1b", "M0", "B1a", "VALUE:IIA" ], [ "T1b", "N1b", "M0", "B1b", "VALUE:IIA" ], [ "T1b", "N1b", "M0", "B2", "VALUE:IVA1" ], [ "T1b", "N1b", "M0", "BX", "VALUE:IIA" ], [ "T1b", "N1NOS", "M0", "B0NOS", "VALUE:IIA" ], [ "T1b", "N1NOS", "M0", "B0a", "VALUE:IIA" ], [ "T1b", "N1NOS", "M0", "B0b", "VALUE:IIA" ], [ "T1b", "N1NOS", "M0", "B1NOS", "VALUE:IIA" ], [ "T1b", "N1NOS", "M0", "B1a", "VALUE:IIA" ], [ "T1b", "N1NOS", "M0", "B1b", "VALUE:IIA" ], [ "T1b", "N1NOS", "M0", "B2", "VALUE:IVA1" ], [ "T1b", "N1NOS", "M0", "BX", "VALUE:IIA" ], [ "T1b", "N2a", "M0", "B0NOS", "VALUE:IIA" ], [ "T1b", "N2a", "M0", "B0a", "VALUE:IIA" ], [ "T1b", "N2a", "M0", "B0b", "VALUE:IIA" ], [ "T1b", "N2a", "M0", "B1NOS", "VALUE:IIA" ], [ "T1b", "N2a", "M0", "B1a", "VALUE:IIA" ], [ "T1b", "N2a", "M0", "B1b", "VALUE:IIA" ], [ "T1b", "N2a", "M0", "B2", "VALUE:IVA1" ], [ "T1b", "N2a", "M0", "BX", "VALUE:IIA" ], [ "T1b", "N2b", "M0", "B0NOS", "VALUE:IIA" ], [ "T1b", "N2b", "M0", "B0a", "VALUE:IIA" ], [ "T1b", "N2b", "M0", "B0b", "VALUE:IIA" ], [ "T1b", "N2b", "M0", "B1NOS", "VALUE:IIA" ], [ "T1b", "N2b", "M0", "B1a", "VALUE:IIA" ], [ "T1b", "N2b", "M0", "B1b", "VALUE:IIA" ], [ "T1b", "N2b", "M0", "B2", "VALUE:IVA1" ], [ "T1b", "N2b", "M0", "BX", "VALUE:IIA" ], [ "T1b", "N2NOS", "M0", "B0NOS", "VALUE:IIA" ], [ "T1b", "N2NOS", "M0", "B0a", "VALUE:IIA" ], [ "T1b", "N2NOS", "M0", "B0b", "VALUE:IIA" ], [ "T1b", "N2NOS", "M0", "B1NOS", "VALUE:IIA" ], [ "T1b", "N2NOS", "M0", "B1a", "VALUE:IIA" ], [ "T1b", "N2NOS", "M0", "B1b", "VALUE:IIA" ], [ "T1b", "N2NOS", "M0", "B2", "VALUE:IVA1" ], [ "T1b", "N2NOS", "M0", "BX", "VALUE:IIA" ], [ "T1b", "N3", "M0", "B0NOS", "VALUE:IVA2" ], [ "T1b", "N3", "M0", "B0a", "VALUE:IVA2" ], [ "T1b", "N3", "M0", "B0b", "VALUE:IVA2" ], [ "T1b", "N3", "M0", "B1NOS", "VALUE:IVA2" ], [ "T1b", "N3", "M0", "B1a", "VALUE:IVA2" ], [ "T1b", "N3", "M0", "B1b", "VALUE:IVA2" ], [ "T1b", "N3", "M0", "B2", "VALUE:IVA2" ], [ "T1b", "N3", "M0", "BX", "VALUE:IVA2" ], [ "T1b", "NX", "M0", "B0NOS", "VALUE:UNK" ], [ "T1b", "NX", "M0", "B0a", "VALUE:UNK" ], [ "T1b", "NX", "M0", "B0b", "VALUE:UNK" ], [ "T1b", "NX", "M0", "B1NOS", "VALUE:UNK" ], [ "T1b", "NX", "M0", "B1a", "VALUE:UNK" ], [ "T1b", "NX", "M0", "B1b", "VALUE:UNK" ], [ "T1b", "NX", "M0", "B2", "VALUE:IVA" ], [ "T1b", "NX", "M0", "BX", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "B0NOS", "VALUE:IA" ], [ "T1NOS", "N0", "M0", "B0a", "VALUE:IA" ], [ "T1NOS", "N0", "M0", "B0b", "VALUE:IA" ], [ "T1NOS", "N0", "M0", "B1NOS", "VALUE:IA" ], [ "T1NOS", "N0", "M0", "B1a", "VALUE:IA" ], [ "T1NOS", "N0", "M0", "B1b", "VALUE:IA" ], [ "T1NOS", "N0", "M0", "B2", "VALUE:IVA1" ], [ "T1NOS", "N0", "M0", "BX", "VALUE:IA" ], [ "T1NOS", "N1a", "M0", "B0NOS", "VALUE:IIA" ], [ "T1NOS", "N1a", "M0", "B0a", "VALUE:IIA" ], [ "T1NOS", "N1a", "M0", "B0b", "VALUE:IIA" ], [ "T1NOS", "N1a", "M0", "B1NOS", "VALUE:IIA" ], [ "T1NOS", "N1a", "M0", "B1a", "VALUE:IIA" ], [ "T1NOS", "N1a", "M0", "B1b", "VALUE:IIA" ], [ "T1NOS", "N1a", "M0", "B2", "VALUE:IVA1" ], [ "T1NOS", "N1a", "M0", "BX", "VALUE:IIA" ], [ "T1NOS", "N1b", "M0", "B0NOS", "VALUE:IIA" ], [ "T1NOS", "N1b", "M0", "B0a", "VALUE:IIA" ], [ "T1NOS", "N1b", "M0", "B0b", "VALUE:IIA" ], [ "T1NOS", "N1b", "M0", "B1NOS", "VALUE:IIA" ], [ "T1NOS", "N1b", "M0", "B1a", "VALUE:IIA" ], [ "T1NOS", "N1b", "M0", "B1b", "VALUE:IIA" ], [ "T1NOS", "N1b", "M0", "B2", "VALUE:IVA1" ], [ "T1NOS", "N1b", "M0", "BX", "VALUE:IIA" ], [ "T1NOS", "N1NOS", "M0", "B0NOS", "VALUE:IIA" ], [ "T1NOS", "N1NOS", "M0", "B0a", "VALUE:IIA" ], [ "T1NOS", "N1NOS", "M0", "B0b", "VALUE:IIA" ], [ "T1NOS", "N1NOS", "M0", "B1NOS", "VALUE:IIA" ], [ "T1NOS", "N1NOS", "M0", "B1a", "VALUE:IIA" ], [ "T1NOS", "N1NOS", "M0", "B1b", "VALUE:IIA" ], [ "T1NOS", "N1NOS", "M0", "B2", "VALUE:IVA1" ], [ "T1NOS", "N1NOS", "M0", "BX", "VALUE:IIA" ], [ "T1NOS", "N2a", "M0", "B0NOS", "VALUE:IIA" ], [ "T1NOS", "N2a", "M0", "B0a", "VALUE:IIA" ], [ "T1NOS", "N2a", "M0", "B0b", "VALUE:IIA" ], [ "T1NOS", "N2a", "M0", "B1NOS", "VALUE:IIA" ], [ "T1NOS", "N2a", "M0", "B1a", "VALUE:IIA" ], [ "T1NOS", "N2a", "M0", "B1b", "VALUE:IIA" ], [ "T1NOS", "N2a", "M0", "B2", "VALUE:IVA1" ], [ "T1NOS", "N2a", "M0", "BX", "VALUE:IIA" ], [ "T1NOS", "N2b", "M0", "B0NOS", "VALUE:IIA" ], [ "T1NOS", "N2b", "M0", "B0a", "VALUE:IIA" ], [ "T1NOS", "N2b", "M0", "B0b", "VALUE:IIA" ], [ "T1NOS", "N2b", "M0", "B1NOS", "VALUE:IIA" ], [ "T1NOS", "N2b", "M0", "B1a", "VALUE:IIA" ], [ "T1NOS", "N2b", "M0", "B1b", "VALUE:IIA" ], [ "T1NOS", "N2b", "M0", "B2", "VALUE:IVA1" ], [ "T1NOS", "N2b", "M0", "BX", "VALUE:IIA" ], [ "T1NOS", "N2NOS", "M0", "B0NOS", "VALUE:IIA" ], [ "T1NOS", "N2NOS", "M0", "B0a", "VALUE:IIA" ], [ "T1NOS", "N2NOS", "M0", "B0b", "VALUE:IIA" ], [ "T1NOS", "N2NOS", "M0", "B1NOS", "VALUE:IIA" ], [ "T1NOS", "N2NOS", "M0", "B1a", "VALUE:IIA" ], [ "T1NOS", "N2NOS", "M0", "B1b", "VALUE:IIA" ], [ "T1NOS", "N2NOS", "M0", "B2", "VALUE:IVA1" ], [ "T1NOS", "N2NOS", "M0", "BX", "VALUE:IIA" ], [ "T1NOS", "N3", "M0", "B0NOS", "VALUE:IVA2" ], [ "T1NOS", "N3", "M0", "B0a", "VALUE:IVA2" ], [ "T1NOS", "N3", "M0", "B0b", "VALUE:IVA2" ], [ "T1NOS", "N3", "M0", "B1NOS", "VALUE:IVA2" ], [ "T1NOS", "N3", "M0", "B1a", "VALUE:IVA2" ], [ "T1NOS", "N3", "M0", "B1b", "VALUE:IVA2" ], [ "T1NOS", "N3", "M0", "B2", "VALUE:IVA2" ], [ "T1NOS", "N3", "M0", "BX", "VALUE:IVA2" ], [ "T1NOS", "NX", "M0", "B0NOS", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "B0a", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "B0b", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "B1NOS", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "B1a", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "B1b", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "B2", "VALUE:IVA" ], [ "T1NOS", "NX", "M0", "BX", "VALUE:UNK" ], [ "T2a", "N0", "M0", "B0NOS", "VALUE:IB" ], [ "T2a", "N0", "M0", "B0a", "VALUE:IB" ], [ "T2a", "N0", "M0", "B0b", "VALUE:IB" ], [ "T2a", "N0", "M0", "B1NOS", "VALUE:IB" ], [ "T2a", "N0", "M0", "B1a", "VALUE:IB" ], [ "T2a", "N0", "M0", "B1b", "VALUE:IB" ], [ "T2a", "N0", "M0", "B2", "VALUE:IVA1" ], [ "T2a", "N0", "M0", "BX", "VALUE:IB" ], [ "T2a", "N1a", "M0", "B0NOS", "VALUE:IIA" ], [ "T2a", "N1a", "M0", "B0a", "VALUE:IIA" ], [ "T2a", "N1a", "M0", "B0b", "VALUE:IIA" ], [ "T2a", "N1a", "M0", "B1NOS", "VALUE:IIA" ], [ "T2a", "N1a", "M0", "B1a", "VALUE:IIA" ], [ "T2a", "N1a", "M0", "B1b", "VALUE:IIA" ], [ "T2a", "N1a", "M0", "B2", "VALUE:IVA1" ], [ "T2a", "N1a", "M0", "BX", "VALUE:IIA" ], [ "T2a", "N1b", "M0", "B0NOS", "VALUE:IIA" ], [ "T2a", "N1b", "M0", "B0a", "VALUE:IIA" ], [ "T2a", "N1b", "M0", "B0b", "VALUE:IIA" ], [ "T2a", "N1b", "M0", "B1NOS", "VALUE:IIA" ], [ "T2a", "N1b", "M0", "B1a", "VALUE:IIA" ], [ "T2a", "N1b", "M0", "B1b", "VALUE:IIA" ], [ "T2a", "N1b", "M0", "B2", "VALUE:IVA1" ], [ "T2a", "N1b", "M0", "BX", "VALUE:IIA" ], [ "T2a", "N1NOS", "M0", "B0NOS", "VALUE:IIA" ], [ "T2a", "N1NOS", "M0", "B0a", "VALUE:IIA" ], [ "T2a", "N1NOS", "M0", "B0b", "VALUE:IIA" ], [ "T2a", "N1NOS", "M0", "B1NOS", "VALUE:IIA" ], [ "T2a", "N1NOS", "M0", "B1a", "VALUE:IIA" ], [ "T2a", "N1NOS", "M0", "B1b", "VALUE:IIA" ], [ "T2a", "N1NOS", "M0", "B2", "VALUE:IVA1" ], [ "T2a", "N1NOS", "M0", "BX", "VALUE:IIA" ], [ "T2a", "N2a", "M0", "B0NOS", "VALUE:IIA" ], [ "T2a", "N2a", "M0", "B0a", "VALUE:IIA" ], [ "T2a", "N2a", "M0", "B0b", "VALUE:IIA" ], [ "T2a", "N2a", "M0", "B1NOS", "VALUE:IIA" ], [ "T2a", "N2a", "M0", "B1a", "VALUE:IIA" ], [ "T2a", "N2a", "M0", "B1b", "VALUE:IIA" ], [ "T2a", "N2a", "M0", "B2", "VALUE:IVA1" ], [ "T2a", "N2a", "M0", "BX", "VALUE:IIA" ], [ "T2a", "N2b", "M0", "B0NOS", "VALUE:IIA" ], [ "T2a", "N2b", "M0", "B0a", "VALUE:IIA" ], [ "T2a", "N2b", "M0", "B0b", "VALUE:IIA" ], [ "T2a", "N2b", "M0", "B1NOS", "VALUE:IIA" ], [ "T2a", "N2b", "M0", "B1a", "VALUE:IIA" ], [ "T2a", "N2b", "M0", "B1b", "VALUE:IIA" ], [ "T2a", "N2b", "M0", "B2", "VALUE:IVA1" ], [ "T2a", "N2b", "M0", "BX", "VALUE:IIA" ], [ "T2a", "N2NOS", "M0", "B0NOS", "VALUE:IIA" ], [ "T2a", "N2NOS", "M0", "B0a", "VALUE:IIA" ], [ "T2a", "N2NOS", "M0", "B0b", "VALUE:IIA" ], [ "T2a", "N2NOS", "M0", "B1NOS", "VALUE:IIA" ], [ "T2a", "N2NOS", "M0", "B1a", "VALUE:IIA" ], [ "T2a", "N2NOS", "M0", "B1b", "VALUE:IIA" ], [ "T2a", "N2NOS", "M0", "B2", "VALUE:IVA1" ], [ "T2a", "N2NOS", "M0", "BX", "VALUE:IIA" ], [ "T2a", "N3", "M0", "B0NOS", "VALUE:IVA2" ], [ "T2a", "N3", "M0", "B0a", "VALUE:IVA2" ], [ "T2a", "N3", "M0", "B0b", "VALUE:IVA2" ], [ "T2a", "N3", "M0", "B1NOS", "VALUE:IVA2" ], [ "T2a", "N3", "M0", "B1a", "VALUE:IVA2" ], [ "T2a", "N3", "M0", "B1b", "VALUE:IVA2" ], [ "T2a", "N3", "M0", "B2", "VALUE:IVA2" ], [ "T2a", "N3", "M0", "BX", "VALUE:IVA2" ], [ "T2a", "NX", "M0", "B0NOS", "VALUE:UNK" ], [ "T2a", "NX", "M0", "B0a", "VALUE:UNK" ], [ "T2a", "NX", "M0", "B0b", "VALUE:UNK" ], [ "T2a", "NX", "M0", "B1NOS", "VALUE:UNK" ], [ "T2a", "NX", "M0", "B1a", "VALUE:UNK" ], [ "T2a", "NX", "M0", "B1b", "VALUE:UNK" ], [ "T2a", "NX", "M0", "B2", "VALUE:IVA" ], [ "T2a", "NX", "M0", "BX", "VALUE:UNK" ], [ "T2b", "N0", "M0", "B0NOS", "VALUE:IB" ], [ "T2b", "N0", "M0", "B0a", "VALUE:IB" ], [ "T2b", "N0", "M0", "B0b", "VALUE:IB" ], [ "T2b", "N0", "M0", "B1NOS", "VALUE:IB" ], [ "T2b", "N0", "M0", "B1a", "VALUE:IB" ], [ "T2b", "N0", "M0", "B1b", "VALUE:IB" ], [ "T2b", "N0", "M0", "B2", "VALUE:IVA1" ], [ "T2b", "N0", "M0", "BX", "VALUE:IB" ], [ "T2b", "N1a", "M0", "B0NOS", "VALUE:IIA" ], [ "T2b", "N1a", "M0", "B0a", "VALUE:IIA" ], [ "T2b", "N1a", "M0", "B0b", "VALUE:IIA" ], [ "T2b", "N1a", "M0", "B1NOS", "VALUE:IIA" ], [ "T2b", "N1a", "M0", "B1a", "VALUE:IIA" ], [ "T2b", "N1a", "M0", "B1b", "VALUE:IIA" ], [ "T2b", "N1a", "M0", "B2", "VALUE:IVA1" ], [ "T2b", "N1a", "M0", "BX", "VALUE:IIA" ], [ "T2b", "N1b", "M0", "B0NOS", "VALUE:IIA" ], [ "T2b", "N1b", "M0", "B0a", "VALUE:IIA" ], [ "T2b", "N1b", "M0", "B0b", "VALUE:IIA" ], [ "T2b", "N1b", "M0", "B1NOS", "VALUE:IIA" ], [ "T2b", "N1b", "M0", "B1a", "VALUE:IIA" ], [ "T2b", "N1b", "M0", "B1b", "VALUE:IIA" ], [ "T2b", "N1b", "M0", "B2", "VALUE:IVA1" ], [ "T2b", "N1b", "M0", "BX", "VALUE:IIA" ], [ "T2b", "N1NOS", "M0", "B0NOS", "VALUE:IIA" ], [ "T2b", "N1NOS", "M0", "B0a", "VALUE:IIA" ], [ "T2b", "N1NOS", "M0", "B0b", "VALUE:IIA" ], [ "T2b", "N1NOS", "M0", "B1NOS", "VALUE:IIA" ], [ "T2b", "N1NOS", "M0", "B1a", "VALUE:IIA" ], [ "T2b", "N1NOS", "M0", "B1b", "VALUE:IIA" ], [ "T2b", "N1NOS", "M0", "B2", "VALUE:IVA1" ], [ "T2b", "N1NOS", "M0", "BX", "VALUE:IIA" ], [ "T2b", "N2a", "M0", "B0NOS", "VALUE:IIA" ], [ "T2b", "N2a", "M0", "B0a", "VALUE:IIA" ], [ "T2b", "N2a", "M0", "B0b", "VALUE:IIA" ], [ "T2b", "N2a", "M0", "B1NOS", "VALUE:IIA" ], [ "T2b", "N2a", "M0", "B1a", "VALUE:IIA" ], [ "T2b", "N2a", "M0", "B1b", "VALUE:IIA" ], [ "T2b", "N2a", "M0", "B2", "VALUE:IVA1" ], [ "T2b", "N2a", "M0", "BX", "VALUE:IIA" ], [ "T2b", "N2b", "M0", "B0NOS", "VALUE:IIA" ], [ "T2b", "N2b", "M0", "B0a", "VALUE:IIA" ], [ "T2b", "N2b", "M0", "B0b", "VALUE:IIA" ], [ "T2b", "N2b", "M0", "B1NOS", "VALUE:IIA" ], [ "T2b", "N2b", "M0", "B1a", "VALUE:IIA" ], [ "T2b", "N2b", "M0", "B1b", "VALUE:IIA" ], [ "T2b", "N2b", "M0", "B2", "VALUE:IVA1" ], [ "T2b", "N2b", "M0", "BX", "VALUE:IIA" ], [ "T2b", "N2NOS", "M0", "B0NOS", "VALUE:IIA" ], [ "T2b", "N2NOS", "M0", "B0a", "VALUE:IIA" ], [ "T2b", "N2NOS", "M0", "B0b", "VALUE:IIA" ], [ "T2b", "N2NOS", "M0", "B1NOS", "VALUE:IIA" ], [ "T2b", "N2NOS", "M0", "B1a", "VALUE:IIA" ], [ "T2b", "N2NOS", "M0", "B1b", "VALUE:IIA" ], [ "T2b", "N2NOS", "M0", "B2", "VALUE:IVA1" ], [ "T2b", "N2NOS", "M0", "BX", "VALUE:IIA" ], [ "T2b", "N3", "M0", "B0NOS", "VALUE:IVA2" ], [ "T2b", "N3", "M0", "B0a", "VALUE:IVA2" ], [ "T2b", "N3", "M0", "B0b", "VALUE:IVA2" ], [ "T2b", "N3", "M0", "B1NOS", "VALUE:IVA2" ], [ "T2b", "N3", "M0", "B1a", "VALUE:IVA2" ], [ "T2b", "N3", "M0", "B1b", "VALUE:IVA2" ], [ "T2b", "N3", "M0", "B2", "VALUE:IVA2" ], [ "T2b", "N3", "M0", "BX", "VALUE:IVA2" ], [ "T2b", "NX", "M0", "B0NOS", "VALUE:UNK" ], [ "T2b", "NX", "M0", "B0a", "VALUE:UNK" ], [ "T2b", "NX", "M0", "B0b", "VALUE:UNK" ], [ "T2b", "NX", "M0", "B1NOS", "VALUE:UNK" ], [ "T2b", "NX", "M0", "B1a", "VALUE:UNK" ], [ "T2b", "NX", "M0", "B1b", "VALUE:UNK" ], [ "T2b", "NX", "M0", "B2", "VALUE:IVA" ], [ "T2b", "NX", "M0", "BX", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "B0NOS", "VALUE:IB" ], [ "T2NOS", "N0", "M0", "B0a", "VALUE:IB" ], [ "T2NOS", "N0", "M0", "B0b", "VALUE:IB" ], [ "T2NOS", "N0", "M0", "B1NOS", "VALUE:IB" ], [ "T2NOS", "N0", "M0", "B1a", "VALUE:IB" ], [ "T2NOS", "N0", "M0", "B1b", "VALUE:IB" ], [ "T2NOS", "N0", "M0", "B2", "VALUE:IVA1" ], [ "T2NOS", "N0", "M0", "BX", "VALUE:IB" ], [ "T2NOS", "N1a", "M0", "B0NOS", "VALUE:IIA" ], [ "T2NOS", "N1a", "M0", "B0a", "VALUE:IIA" ], [ "T2NOS", "N1a", "M0", "B0b", "VALUE:IIA" ], [ "T2NOS", "N1a", "M0", "B1NOS", "VALUE:IIA" ], [ "T2NOS", "N1a", "M0", "B1a", "VALUE:IIA" ], [ "T2NOS", "N1a", "M0", "B1b", "VALUE:IIA" ], [ "T2NOS", "N1a", "M0", "B2", "VALUE:IVA1" ], [ "T2NOS", "N1a", "M0", "BX", "VALUE:IIA" ], [ "T2NOS", "N1b", "M0", "B0NOS", "VALUE:IIA" ], [ "T2NOS", "N1b", "M0", "B0a", "VALUE:IIA" ], [ "T2NOS", "N1b", "M0", "B0b", "VALUE:IIA" ], [ "T2NOS", "N1b", "M0", "B1NOS", "VALUE:IIA" ], [ "T2NOS", "N1b", "M0", "B1a", "VALUE:IIA" ], [ "T2NOS", "N1b", "M0", "B1b", "VALUE:IIA" ], [ "T2NOS", "N1b", "M0", "B2", "VALUE:IVA1" ], [ "T2NOS", "N1b", "M0", "BX", "VALUE:IIA" ], [ "T2NOS", "N1NOS", "M0", "B0NOS", "VALUE:IIA" ], [ "T2NOS", "N1NOS", "M0", "B0a", "VALUE:IIA" ], [ "T2NOS", "N1NOS", "M0", "B0b", "VALUE:IIA" ], [ "T2NOS", "N1NOS", "M0", "B1NOS", "VALUE:IIA" ], [ "T2NOS", "N1NOS", "M0", "B1a", "VALUE:IIA" ], [ "T2NOS", "N1NOS", "M0", "B1b", "VALUE:IIA" ], [ "T2NOS", "N1NOS", "M0", "B2", "VALUE:IVA1" ], [ "T2NOS", "N1NOS", "M0", "BX", "VALUE:IIA" ], [ "T2NOS", "N2a", "M0", "B0NOS", "VALUE:IIA" ], [ "T2NOS", "N2a", "M0", "B0a", "VALUE:IIA" ], [ "T2NOS", "N2a", "M0", "B0b", "VALUE:IIA" ], [ "T2NOS", "N2a", "M0", "B1NOS", "VALUE:IIA" ], [ "T2NOS", "N2a", "M0", "B1a", "VALUE:IIA" ], [ "T2NOS", "N2a", "M0", "B1b", "VALUE:IIA" ], [ "T2NOS", "N2a", "M0", "B2", "VALUE:IVA1" ], [ "T2NOS", "N2a", "M0", "BX", "VALUE:IIA" ], [ "T2NOS", "N2b", "M0", "B0NOS", "VALUE:IIA" ], [ "T2NOS", "N2b", "M0", "B0a", "VALUE:IIA" ], [ "T2NOS", "N2b", "M0", "B0b", "VALUE:IIA" ], [ "T2NOS", "N2b", "M0", "B1NOS", "VALUE:IIA" ], [ "T2NOS", "N2b", "M0", "B1a", "VALUE:IIA" ], [ "T2NOS", "N2b", "M0", "B1b", "VALUE:IIA" ], [ "T2NOS", "N2b", "M0", "B2", "VALUE:IVA1" ], [ "T2NOS", "N2b", "M0", "BX", "VALUE:IIA" ], [ "T2NOS", "N2NOS", "M0", "B0NOS", "VALUE:IIA" ], [ "T2NOS", "N2NOS", "M0", "B0a", "VALUE:IIA" ], [ "T2NOS", "N2NOS", "M0", "B0b", "VALUE:IIA" ], [ "T2NOS", "N2NOS", "M0", "B1NOS", "VALUE:IIA" ], [ "T2NOS", "N2NOS", "M0", "B1a", "VALUE:IIA" ], [ "T2NOS", "N2NOS", "M0", "B1b", "VALUE:IIA" ], [ "T2NOS", "N2NOS", "M0", "B2", "VALUE:IVA1" ], [ "T2NOS", "N2NOS", "M0", "BX", "VALUE:IIA" ], [ "T2NOS", "N3", "M0", "B0NOS", "VALUE:IVA2" ], [ "T2NOS", "N3", "M0", "B0a", "VALUE:IVA2" ], [ "T2NOS", "N3", "M0", "B0b", "VALUE:IVA2" ], [ "T2NOS", "N3", "M0", "B1NOS", "VALUE:IVA2" ], [ "T2NOS", "N3", "M0", "B1a", "VALUE:IVA2" ], [ "T2NOS", "N3", "M0", "B1b", "VALUE:IVA2" ], [ "T2NOS", "N3", "M0", "B2", "VALUE:IVA2" ], [ "T2NOS", "N3", "M0", "BX", "VALUE:IVA2" ], [ "T2NOS", "NX", "M0", "B0NOS", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "B0a", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "B0b", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "B1NOS", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "B1a", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "B1b", "VALUE:UNK" ], [ "T2NOS", "NX", "M0", "B2", "VALUE:IVA" ], [ "T2NOS", "NX", "M0", "BX", "VALUE:UNK" ], [ "T3", "N0", "M0", "B0NOS", "VALUE:IIB" ], [ "T3", "N0", "M0", "B0a", "VALUE:IIB" ], [ "T3", "N0", "M0", "B0b", "VALUE:IIB" ], [ "T3", "N0", "M0", "B1NOS", "VALUE:IIB" ], [ "T3", "N0", "M0", "B1a", "VALUE:IIB" ], [ "T3", "N0", "M0", "B1b", "VALUE:IIB" ], [ "T3", "N0", "M0", "B2", "VALUE:IVA1" ], [ "T3", "N0", "M0", "BX", "VALUE:IIB" ], [ "T3", "N1a", "M0", "B0NOS", "VALUE:IIB" ], [ "T3", "N1a", "M0", "B0a", "VALUE:IIB" ], [ "T3", "N1a", "M0", "B0b", "VALUE:IIB" ], [ "T3", "N1a", "M0", "B1NOS", "VALUE:IIB" ], [ "T3", "N1a", "M0", "B1a", "VALUE:IIB" ], [ "T3", "N1a", "M0", "B1b", "VALUE:IIB" ], [ "T3", "N1a", "M0", "B2", "VALUE:IVA1" ], [ "T3", "N1a", "M0", "BX", "VALUE:IIB" ], [ "T3", "N1b", "M0", "B0NOS", "VALUE:IIB" ], [ "T3", "N1b", "M0", "B0a", "VALUE:IIB" ], [ "T3", "N1b", "M0", "B0b", "VALUE:IIB" ], [ "T3", "N1b", "M0", "B1NOS", "VALUE:IIB" ], [ "T3", "N1b", "M0", "B1a", "VALUE:IIB" ], [ "T3", "N1b", "M0", "B1b", "VALUE:IIB" ], [ "T3", "N1b", "M0", "B2", "VALUE:IVA1" ], [ "T3", "N1b", "M0", "BX", "VALUE:IIB" ], [ "T3", "N1NOS", "M0", "B0NOS", "VALUE:IIB" ], [ "T3", "N1NOS", "M0", "B0a", "VALUE:IIB" ], [ "T3", "N1NOS", "M0", "B0b", "VALUE:IIB" ], [ "T3", "N1NOS", "M0", "B1NOS", "VALUE:IIB" ], [ "T3", "N1NOS", "M0", "B1a", "VALUE:IIB" ], [ "T3", "N1NOS", "M0", "B1b", "VALUE:IIB" ], [ "T3", "N1NOS", "M0", "B2", "VALUE:IVA1" ], [ "T3", "N1NOS", "M0", "BX", "VALUE:IIB" ], [ "T3", "N2a", "M0", "B0NOS", "VALUE:IIB" ], [ "T3", "N2a", "M0", "B0a", "VALUE:IIB" ], [ "T3", "N2a", "M0", "B0b", "VALUE:IIB" ], [ "T3", "N2a", "M0", "B1NOS", "VALUE:IIB" ], [ "T3", "N2a", "M0", "B1a", "VALUE:IIB" ], [ "T3", "N2a", "M0", "B1b", "VALUE:IIB" ], [ "T3", "N2a", "M0", "B2", "VALUE:IVA1" ], [ "T3", "N2a", "M0", "BX", "VALUE:IIB" ], [ "T3", "N2b", "M0", "B0NOS", "VALUE:IIB" ], [ "T3", "N2b", "M0", "B0a", "VALUE:IIB" ], [ "T3", "N2b", "M0", "B0b", "VALUE:IIB" ], [ "T3", "N2b", "M0", "B1NOS", "VALUE:IIB" ], [ "T3", "N2b", "M0", "B1a", "VALUE:IIB" ], [ "T3", "N2b", "M0", "B1b", "VALUE:IIB" ], [ "T3", "N2b", "M0", "B2", "VALUE:IVA1" ], [ "T3", "N2b", "M0", "BX", "VALUE:IIB" ], [ "T3", "N2NOS", "M0", "B0NOS", "VALUE:IIB" ], [ "T3", "N2NOS", "M0", "B0a", "VALUE:IIB" ], [ "T3", "N2NOS", "M0", "B0b", "VALUE:IIB" ], [ "T3", "N2NOS", "M0", "B1NOS", "VALUE:IIB" ], [ "T3", "N2NOS", "M0", "B1a", "VALUE:IIB" ], [ "T3", "N2NOS", "M0", "B1b", "VALUE:IIB" ], [ "T3", "N2NOS", "M0", "B2", "VALUE:IVA1" ], [ "T3", "N2NOS", "M0", "BX", "VALUE:IIB" ], [ "T3", "N3", "M0", "B0NOS", "VALUE:IVA2" ], [ "T3", "N3", "M0", "B0a", "VALUE:IVA2" ], [ "T3", "N3", "M0", "B0b", "VALUE:IVA2" ], [ "T3", "N3", "M0", "B1NOS", "VALUE:IVA2" ], [ "T3", "N3", "M0", "B1a", "VALUE:IVA2" ], [ "T3", "N3", "M0", "B1b", "VALUE:IVA2" ], [ "T3", "N3", "M0", "B2", "VALUE:IVA2" ], [ "T3", "N3", "M0", "BX", "VALUE:IVA2" ], [ "T3", "NX", "M0", "B0NOS", "VALUE:UNK" ], [ "T3", "NX", "M0", "B0a", "VALUE:UNK" ], [ "T3", "NX", "M0", "B0b", "VALUE:UNK" ], [ "T3", "NX", "M0", "B1NOS", "VALUE:UNK" ], [ "T3", "NX", "M0", "B1a", "VALUE:UNK" ], [ "T3", "NX", "M0", "B1b", "VALUE:UNK" ], [ "T3", "NX", "M0", "B2", "VALUE:IVA" ], [ "T3", "NX", "M0", "BX", "VALUE:UNK" ], [ "T4", "N0", "M0", "B0NOS", "VALUE:IIIA" ], [ "T4", "N0", "M0", "B0a", "VALUE:IIIA" ], [ "T4", "N0", "M0", "B0b", "VALUE:IIIA" ], [ "T4", "N0", "M0", "B1NOS", "VALUE:IIIB" ], [ "T4", "N0", "M0", "B1a", "VALUE:IIIB" ], [ "T4", "N0", "M0", "B1b", "VALUE:IIIB" ], [ "T4", "N0", "M0", "B2", "VALUE:IVA1" ], [ "T4", "N0", "M0", "BX", "VALUE:IIIA" ], [ "T4", "N1a", "M0", "B0NOS", "VALUE:IIIA" ], [ "T4", "N1a", "M0", "B0a", "VALUE:IIIA" ], [ "T4", "N1a", "M0", "B0b", "VALUE:IIIA" ], [ "T4", "N1a", "M0", "B1NOS", "VALUE:IIIB" ], [ "T4", "N1a", "M0", "B1a", "VALUE:IIIB" ], [ "T4", "N1a", "M0", "B1b", "VALUE:IIIB" ], [ "T4", "N1a", "M0", "B2", "VALUE:IVA1" ], [ "T4", "N1a", "M0", "BX", "VALUE:IIIA" ], [ "T4", "N1b", "M0", "B0NOS", "VALUE:IIIA" ], [ "T4", "N1b", "M0", "B0a", "VALUE:IIIA" ], [ "T4", "N1b", "M0", "B0b", "VALUE:IIIA" ], [ "T4", "N1b", "M0", "B1NOS", "VALUE:IIIB" ], [ "T4", "N1b", "M0", "B1a", "VALUE:IIIB" ], [ "T4", "N1b", "M0", "B1b", "VALUE:IIIB" ], [ "T4", "N1b", "M0", "B2", "VALUE:IVA1" ], [ "T4", "N1b", "M0", "BX", "VALUE:IIIA" ], [ "T4", "N1NOS", "M0", "B0NOS", "VALUE:IIIA" ], [ "T4", "N1NOS", "M0", "B0a", "VALUE:IIIA" ], [ "T4", "N1NOS", "M0", "B0b", "VALUE:IIIA" ], [ "T4", "N1NOS", "M0", "B1NOS", "VALUE:IIIB" ], [ "T4", "N1NOS", "M0", "B1a", "VALUE:IIIB" ], [ "T4", "N1NOS", "M0", "B1b", "VALUE:IIIB" ], [ "T4", "N1NOS", "M0", "B2", "VALUE:IVA1" ], [ "T4", "N1NOS", "M0", "BX", "VALUE:IIIA" ], [ "T4", "N2a", "M0", "B0NOS", "VALUE:IIIA" ], [ "T4", "N2a", "M0", "B0a", "VALUE:IIIA" ], [ "T4", "N2a", "M0", "B0b", "VALUE:IIIA" ], [ "T4", "N2a", "M0", "B1NOS", "VALUE:IIIB" ], [ "T4", "N2a", "M0", "B1a", "VALUE:IIIB" ], [ "T4", "N2a", "M0", "B1b", "VALUE:IIIB" ], [ "T4", "N2a", "M0", "B2", "VALUE:IVA1" ], [ "T4", "N2a", "M0", "BX", "VALUE:IIIA" ], [ "T4", "N2b", "M0", "B0NOS", "VALUE:IIIA" ], [ "T4", "N2b", "M0", "B0a", "VALUE:IIIA" ], [ "T4", "N2b", "M0", "B0b", "VALUE:IIIA" ], [ "T4", "N2b", "M0", "B1NOS", "VALUE:IIIB" ], [ "T4", "N2b", "M0", "B1a", "VALUE:IIIB" ], [ "T4", "N2b", "M0", "B1b", "VALUE:IIIB" ], [ "T4", "N2b", "M0", "B2", "VALUE:IVA1" ], [ "T4", "N2b", "M0", "BX", "VALUE:IIIA" ], [ "T4", "N2NOS", "M0", "B0NOS", "VALUE:IIIA" ], [ "T4", "N2NOS", "M0", "B0a", "VALUE:IIIA" ], [ "T4", "N2NOS", "M0", "B0b", "VALUE:IIIA" ], [ "T4", "N2NOS", "M0", "B1NOS", "VALUE:IIIB" ], [ "T4", "N2NOS", "M0", "B1a", "VALUE:IIIB" ], [ "T4", "N2NOS", "M0", "B1b", "VALUE:IIIB" ], [ "T4", "N2NOS", "M0", "B2", "VALUE:IVA1" ], [ "T4", "N2NOS", "M0", "BX", "VALUE:IIIA" ], [ "T4", "N3", "M0", "B0NOS", "VALUE:IVA2" ], [ "T4", "N3", "M0", "B0a", "VALUE:IVA2" ], [ "T4", "N3", "M0", "B0b", "VALUE:IVA2" ], [ "T4", "N3", "M0", "B1NOS", "VALUE:IVA2" ], [ "T4", "N3", "M0", "B1a", "VALUE:IVA2" ], [ "T4", "N3", "M0", "B1b", "VALUE:IVA2" ], [ "T4", "N3", "M0", "B2", "VALUE:IVA2" ], [ "T4", "N3", "M0", "BX", "VALUE:IVA2" ], [ "T4", "NX", "M0", "B0NOS", "VALUE:UNK" ], [ "T4", "NX", "M0", "B0a", "VALUE:UNK" ], [ "T4", "NX", "M0", "B0b", "VALUE:UNK" ], [ "T4", "NX", "M0", "B1NOS", "VALUE:UNK" ], [ "T4", "NX", "M0", "B1a", "VALUE:UNK" ], [ "T4", "NX", "M0", "B1b", "VALUE:UNK" ], [ "T4", "NX", "M0", "B2", "VALUE:IVA" ], [ "T4", "NX", "M0", "BX", "VALUE:UNK" ], [ "TX", "N0", "M0", "B0NOS", "VALUE:UNK" ], [ "TX", "N0", "M0", "B0a", "VALUE:UNK" ], [ "TX", "N0", "M0", "B0b", "VALUE:UNK" ], [ "TX", "N0", "M0", "B1NOS", "VALUE:UNK" ], [ "TX", "N0", "M0", "B1a", "VALUE:UNK" ], [ "TX", "N0", "M0", "B1b", "VALUE:UNK" ], [ "TX", "N0", "M0", "B2", "VALUE:IVA1" ], [ "TX", "N0", "M0", "BX", "VALUE:UNK" ], [ "TX", "N1a", "M0", "B0NOS", "VALUE:UNK" ], [ "TX", "N1a", "M0", "B0a", "VALUE:UNK" ], [ "TX", "N1a", "M0", "B0b", "VALUE:UNK" ], [ "TX", "N1a", "M0", "B1NOS", "VALUE:UNK" ], [ "TX", "N1a", "M0", "B1a", "VALUE:UNK" ], [ "TX", "N1a", "M0", "B1b", "VALUE:UNK" ], [ "TX", "N1a", "M0", "B2", "VALUE:IVA1" ], [ "TX", "N1a", "M0", "BX", "VALUE:UNK" ], [ "TX", "N1b", "M0", "B0NOS", "VALUE:UNK" ], [ "TX", "N1b", "M0", "B0a", "VALUE:UNK" ], [ "TX", "N1b", "M0", "B0b", "VALUE:UNK" ], [ "TX", "N1b", "M0", "B1NOS", "VALUE:UNK" ], [ "TX", "N1b", "M0", "B1a", "VALUE:UNK" ], [ "TX", "N1b", "M0", "B1b", "VALUE:UNK" ], [ "TX", "N1b", "M0", "B2", "VALUE:IVA1" ], [ "TX", "N1b", "M0", "BX", "VALUE:UNK" ], [ "TX", "N1NOS", "M0", "B0NOS", "VALUE:UNK" ], [ "TX", "N1NOS", "M0", "B0a", "VALUE:UNK" ], [ "TX", "N1NOS", "M0", "B0b", "VALUE:UNK" ], [ "TX", "N1NOS", "M0", "B1NOS", "VALUE:UNK" ], [ "TX", "N1NOS", "M0", "B1a", "VALUE:UNK" ], [ "TX", "N1NOS", "M0", "B1b", "VALUE:UNK" ], [ "TX", "N1NOS", "M0", "B2", "VALUE:IVA1" ], [ "TX", "N1NOS", "M0", "BX", "VALUE:UNK" ], [ "TX", "N2a", "M0", "B0NOS", "VALUE:UNK" ], [ "TX", "N2a", "M0", "B0a", "VALUE:UNK" ], [ "TX", "N2a", "M0", "B0b", "VALUE:UNK" ], [ "TX", "N2a", "M0", "B1NOS", "VALUE:UNK" ], [ "TX", "N2a", "M0", "B1a", "VALUE:UNK" ], [ "TX", "N2a", "M0", "B1b", "VALUE:UNK" ], [ "TX", "N2a", "M0", "B2", "VALUE:IVA1" ], [ "TX", "N2a", "M0", "BX", "VALUE:UNK" ], [ "TX", "N2b", "M0", "B0NOS", "VALUE:UNK" ], [ "TX", "N2b", "M0", "B0a", "VALUE:UNK" ], [ "TX", "N2b", "M0", "B0b", "VALUE:UNK" ], [ "TX", "N2b", "M0", "B1NOS", "VALUE:UNK" ], [ "TX", "N2b", "M0", "B1a", "VALUE:UNK" ], [ "TX", "N2b", "M0", "B1b", "VALUE:UNK" ], [ "TX", "N2b", "M0", "B2", "VALUE:IVA1" ], [ "TX", "N2b", "M0", "BX", "VALUE:UNK" ], [ "TX", "N2NOS", "M0", "B0NOS", "VALUE:UNK" ], [ "TX", "N2NOS", "M0", "B0a", "VALUE:UNK" ], [ "TX", "N2NOS", "M0", "B0b", "VALUE:UNK" ], [ "TX", "N2NOS", "M0", "B1NOS", "VALUE:UNK" ], [ "TX", "N2NOS", "M0", "B1a", "VALUE:UNK" ], [ "TX", "N2NOS", "M0", "B1b", "VALUE:UNK" ], [ "TX", "N2NOS", "M0", "B2", "VALUE:IVA1" ], [ "TX", "N2NOS", "M0", "BX", "VALUE:UNK" ], [ "TX", "N3", "M0", "B0NOS", "VALUE:IVA2" ], [ "TX", "N3", "M0", "B0a", "VALUE:IVA2" ], [ "TX", "N3", "M0", "B0b", "VALUE:IVA2" ], [ "TX", "N3", "M0", "B1NOS", "VALUE:IVA2" ], [ "TX", "N3", "M0", "B1a", "VALUE:IVA2" ], [ "TX", "N3", "M0", "B1b", "VALUE:IVA2" ], [ "TX", "N3", "M0", "B2", "VALUE:IVA2" ], [ "TX", "N3", "M0", "BX", "VALUE:IVA2" ], [ "TX", "NX", "M0", "B0NOS", "VALUE:UNK" ], [ "TX", "NX", "M0", "B0a", "VALUE:UNK" ], [ "TX", "NX", "M0", "B0b", "VALUE:UNK" ], [ "TX", "NX", "M0", "B1NOS", "VALUE:UNK" ], [ "TX", "NX", "M0", "B1a", "VALUE:UNK" ], [ "TX", "NX", "M0", "B1b", "VALUE:UNK" ], [ "TX", "NX", "M0", "B2", "VALUE:IVA" ], [ "TX", "NX", "M0", "BX", "VALUE:UNK" ], [ "T0", "N0", "M1", "B0NOS", "VALUE:IVB" ], [ "T0", "N0", "M1", "B0a", "VALUE:IVB" ], [ "T0", "N0", "M1", "B0b", "VALUE:IVB" ], [ "T0", "N0", "M1", "B1NOS", "VALUE:IVB" ], [ "T0", "N0", "M1", "B1a", "VALUE:IVB" ], [ "T0", "N0", "M1", "B1b", "VALUE:IVB" ], [ "T0", "N0", "M1", "B2", "VALUE:IVB" ], [ "T0", "N0", "M1", "BX", "VALUE:IVB" ], [ "T0", "N1a", "M1", "B0NOS", "VALUE:IVB" ], [ "T0", "N1a", "M1", "B0a", "VALUE:IVB" ], [ "T0", "N1a", "M1", "B0b", "VALUE:IVB" ], [ "T0", "N1a", "M1", "B1NOS", "VALUE:IVB" ], [ "T0", "N1a", "M1", "B1a", "VALUE:IVB" ], [ "T0", "N1a", "M1", "B1b", "VALUE:IVB" ], [ "T0", "N1a", "M1", "B2", "VALUE:IVB" ], [ "T0", "N1a", "M1", "BX", "VALUE:IVB" ], [ "T0", "N1b", "M1", "B0NOS", "VALUE:IVB" ], [ "T0", "N1b", "M1", "B0a", "VALUE:IVB" ], [ "T0", "N1b", "M1", "B0b", "VALUE:IVB" ], [ "T0", "N1b", "M1", "B1NOS", "VALUE:IVB" ], [ "T0", "N1b", "M1", "B1a", "VALUE:IVB" ], [ "T0", "N1b", "M1", "B1b", "VALUE:IVB" ], [ "T0", "N1b", "M1", "B2", "VALUE:IVB" ], [ "T0", "N1b", "M1", "BX", "VALUE:IVB" ], [ "T0", "N1NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T0", "N1NOS", "M1", "B0a", "VALUE:IVB" ], [ "T0", "N1NOS", "M1", "B0b", "VALUE:IVB" ], [ "T0", "N1NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T0", "N1NOS", "M1", "B1a", "VALUE:IVB" ], [ "T0", "N1NOS", "M1", "B1b", "VALUE:IVB" ], [ "T0", "N1NOS", "M1", "B2", "VALUE:IVB" ], [ "T0", "N1NOS", "M1", "BX", "VALUE:IVB" ], [ "T0", "N2a", "M1", "B0NOS", "VALUE:IVB" ], [ "T0", "N2a", "M1", "B0a", "VALUE:IVB" ], [ "T0", "N2a", "M1", "B0b", "VALUE:IVB" ], [ "T0", "N2a", "M1", "B1NOS", "VALUE:IVB" ], [ "T0", "N2a", "M1", "B1a", "VALUE:IVB" ], [ "T0", "N2a", "M1", "B1b", "VALUE:IVB" ], [ "T0", "N2a", "M1", "B2", "VALUE:IVB" ], [ "T0", "N2a", "M1", "BX", "VALUE:IVB" ], [ "T0", "N2b", "M1", "B0NOS", "VALUE:IVB" ], [ "T0", "N2b", "M1", "B0a", "VALUE:IVB" ], [ "T0", "N2b", "M1", "B0b", "VALUE:IVB" ], [ "T0", "N2b", "M1", "B1NOS", "VALUE:IVB" ], [ "T0", "N2b", "M1", "B1a", "VALUE:IVB" ], [ "T0", "N2b", "M1", "B1b", "VALUE:IVB" ], [ "T0", "N2b", "M1", "B2", "VALUE:IVB" ], [ "T0", "N2b", "M1", "BX", "VALUE:IVB" ], [ "T0", "N2NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T0", "N2NOS", "M1", "B0a", "VALUE:IVB" ], [ "T0", "N2NOS", "M1", "B0b", "VALUE:IVB" ], [ "T0", "N2NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T0", "N2NOS", "M1", "B1a", "VALUE:IVB" ], [ "T0", "N2NOS", "M1", "B1b", "VALUE:IVB" ], [ "T0", "N2NOS", "M1", "B2", "VALUE:IVB" ], [ "T0", "N2NOS", "M1", "BX", "VALUE:IVB" ], [ "T0", "N3", "M1", "B0NOS", "VALUE:IVB" ], [ "T0", "N3", "M1", "B0a", "VALUE:IVB" ], [ "T0", "N3", "M1", "B0b", "VALUE:IVB" ], [ "T0", "N3", "M1", "B1NOS", "VALUE:IVB" ], [ "T0", "N3", "M1", "B1a", "VALUE:IVB" ], [ "T0", "N3", "M1", "B1b", "VALUE:IVB" ], [ "T0", "N3", "M1", "B2", "VALUE:IVB" ], [ "T0", "N3", "M1", "BX", "VALUE:IVB" ], [ "T0", "NX", "M1", "B0NOS", "VALUE:IVB" ], [ "T0", "NX", "M1", "B0a", "VALUE:IVB" ], [ "T0", "NX", "M1", "B0b", "VALUE:IVB" ], [ "T0", "NX", "M1", "B1NOS", "VALUE:IVB" ], [ "T0", "NX", "M1", "B1a", "VALUE:IVB" ], [ "T0", "NX", "M1", "B1b", "VALUE:IVB" ], [ "T0", "NX", "M1", "B2", "VALUE:IVB" ], [ "T0", "NX", "M1", "BX", "VALUE:IVB" ], [ "T1a", "N0", "M1", "B0NOS", "VALUE:IVB" ], [ "T1a", "N0", "M1", "B0a", "VALUE:IVB" ], [ "T1a", "N0", "M1", "B0b", "VALUE:IVB" ], [ "T1a", "N0", "M1", "B1NOS", "VALUE:IVB" ], [ "T1a", "N0", "M1", "B1a", "VALUE:IVB" ], [ "T1a", "N0", "M1", "B1b", "VALUE:IVB" ], [ "T1a", "N0", "M1", "B2", "VALUE:IVB" ], [ "T1a", "N0", "M1", "BX", "VALUE:IVB" ], [ "T1a", "N1a", "M1", "B0NOS", "VALUE:IVB" ], [ "T1a", "N1a", "M1", "B0a", "VALUE:IVB" ], [ "T1a", "N1a", "M1", "B0b", "VALUE:IVB" ], [ "T1a", "N1a", "M1", "B1NOS", "VALUE:IVB" ], [ "T1a", "N1a", "M1", "B1a", "VALUE:IVB" ], [ "T1a", "N1a", "M1", "B1b", "VALUE:IVB" ], [ "T1a", "N1a", "M1", "B2", "VALUE:IVB" ], [ "T1a", "N1a", "M1", "BX", "VALUE:IVB" ], [ "T1a", "N1b", "M1", "B0NOS", "VALUE:IVB" ], [ "T1a", "N1b", "M1", "B0a", "VALUE:IVB" ], [ "T1a", "N1b", "M1", "B0b", "VALUE:IVB" ], [ "T1a", "N1b", "M1", "B1NOS", "VALUE:IVB" ], [ "T1a", "N1b", "M1", "B1a", "VALUE:IVB" ], [ "T1a", "N1b", "M1", "B1b", "VALUE:IVB" ], [ "T1a", "N1b", "M1", "B2", "VALUE:IVB" ], [ "T1a", "N1b", "M1", "BX", "VALUE:IVB" ], [ "T1a", "N1NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T1a", "N1NOS", "M1", "B0a", "VALUE:IVB" ], [ "T1a", "N1NOS", "M1", "B0b", "VALUE:IVB" ], [ "T1a", "N1NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T1a", "N1NOS", "M1", "B1a", "VALUE:IVB" ], [ "T1a", "N1NOS", "M1", "B1b", "VALUE:IVB" ], [ "T1a", "N1NOS", "M1", "B2", "VALUE:IVB" ], [ "T1a", "N1NOS", "M1", "BX", "VALUE:IVB" ], [ "T1a", "N2a", "M1", "B0NOS", "VALUE:IVB" ], [ "T1a", "N2a", "M1", "B0a", "VALUE:IVB" ], [ "T1a", "N2a", "M1", "B0b", "VALUE:IVB" ], [ "T1a", "N2a", "M1", "B1NOS", "VALUE:IVB" ], [ "T1a", "N2a", "M1", "B1a", "VALUE:IVB" ], [ "T1a", "N2a", "M1", "B1b", "VALUE:IVB" ], [ "T1a", "N2a", "M1", "B2", "VALUE:IVB" ], [ "T1a", "N2a", "M1", "BX", "VALUE:IVB" ], [ "T1a", "N2b", "M1", "B0NOS", "VALUE:IVB" ], [ "T1a", "N2b", "M1", "B0a", "VALUE:IVB" ], [ "T1a", "N2b", "M1", "B0b", "VALUE:IVB" ], [ "T1a", "N2b", "M1", "B1NOS", "VALUE:IVB" ], [ "T1a", "N2b", "M1", "B1a", "VALUE:IVB" ], [ "T1a", "N2b", "M1", "B1b", "VALUE:IVB" ], [ "T1a", "N2b", "M1", "B2", "VALUE:IVB" ], [ "T1a", "N2b", "M1", "BX", "VALUE:IVB" ], [ "T1a", "N2NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T1a", "N2NOS", "M1", "B0a", "VALUE:IVB" ], [ "T1a", "N2NOS", "M1", "B0b", "VALUE:IVB" ], [ "T1a", "N2NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T1a", "N2NOS", "M1", "B1a", "VALUE:IVB" ], [ "T1a", "N2NOS", "M1", "B1b", "VALUE:IVB" ], [ "T1a", "N2NOS", "M1", "B2", "VALUE:IVB" ], [ "T1a", "N2NOS", "M1", "BX", "VALUE:IVB" ], [ "T1a", "N3", "M1", "B0NOS", "VALUE:IVB" ], [ "T1a", "N3", "M1", "B0a", "VALUE:IVB" ], [ "T1a", "N3", "M1", "B0b", "VALUE:IVB" ], [ "T1a", "N3", "M1", "B1NOS", "VALUE:IVB" ], [ "T1a", "N3", "M1", "B1a", "VALUE:IVB" ], [ "T1a", "N3", "M1", "B1b", "VALUE:IVB" ], [ "T1a", "N3", "M1", "B2", "VALUE:IVB" ], [ "T1a", "N3", "M1", "BX", "VALUE:IVB" ], [ "T1a", "NX", "M1", "B0NOS", "VALUE:IVB" ], [ "T1a", "NX", "M1", "B0a", "VALUE:IVB" ], [ "T1a", "NX", "M1", "B0b", "VALUE:IVB" ], [ "T1a", "NX", "M1", "B1NOS", "VALUE:IVB" ], [ "T1a", "NX", "M1", "B1a", "VALUE:IVB" ], [ "T1a", "NX", "M1", "B1b", "VALUE:IVB" ], [ "T1a", "NX", "M1", "B2", "VALUE:IVB" ], [ "T1a", "NX", "M1", "BX", "VALUE:IVB" ], [ "T1b", "N0", "M1", "B0NOS", "VALUE:IVB" ], [ "T1b", "N0", "M1", "B0a", "VALUE:IVB" ], [ "T1b", "N0", "M1", "B0b", "VALUE:IVB" ], [ "T1b", "N0", "M1", "B1NOS", "VALUE:IVB" ], [ "T1b", "N0", "M1", "B1a", "VALUE:IVB" ], [ "T1b", "N0", "M1", "B1b", "VALUE:IVB" ], [ "T1b", "N0", "M1", "B2", "VALUE:IVB" ], [ "T1b", "N0", "M1", "BX", "VALUE:IVB" ], [ "T1b", "N1a", "M1", "B0NOS", "VALUE:IVB" ], [ "T1b", "N1a", "M1", "B0a", "VALUE:IVB" ], [ "T1b", "N1a", "M1", "B0b", "VALUE:IVB" ], [ "T1b", "N1a", "M1", "B1NOS", "VALUE:IVB" ], [ "T1b", "N1a", "M1", "B1a", "VALUE:IVB" ], [ "T1b", "N1a", "M1", "B1b", "VALUE:IVB" ], [ "T1b", "N1a", "M1", "B2", "VALUE:IVB" ], [ "T1b", "N1a", "M1", "BX", "VALUE:IVB" ], [ "T1b", "N1b", "M1", "B0NOS", "VALUE:IVB" ], [ "T1b", "N1b", "M1", "B0a", "VALUE:IVB" ], [ "T1b", "N1b", "M1", "B0b", "VALUE:IVB" ], [ "T1b", "N1b", "M1", "B1NOS", "VALUE:IVB" ], [ "T1b", "N1b", "M1", "B1a", "VALUE:IVB" ], [ "T1b", "N1b", "M1", "B1b", "VALUE:IVB" ], [ "T1b", "N1b", "M1", "B2", "VALUE:IVB" ], [ "T1b", "N1b", "M1", "BX", "VALUE:IVB" ], [ "T1b", "N1NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T1b", "N1NOS", "M1", "B0a", "VALUE:IVB" ], [ "T1b", "N1NOS", "M1", "B0b", "VALUE:IVB" ], [ "T1b", "N1NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T1b", "N1NOS", "M1", "B1a", "VALUE:IVB" ], [ "T1b", "N1NOS", "M1", "B1b", "VALUE:IVB" ], [ "T1b", "N1NOS", "M1", "B2", "VALUE:IVB" ], [ "T1b", "N1NOS", "M1", "BX", "VALUE:IVB" ], [ "T1b", "N2a", "M1", "B0NOS", "VALUE:IVB" ], [ "T1b", "N2a", "M1", "B0a", "VALUE:IVB" ], [ "T1b", "N2a", "M1", "B0b", "VALUE:IVB" ], [ "T1b", "N2a", "M1", "B1NOS", "VALUE:IVB" ], [ "T1b", "N2a", "M1", "B1a", "VALUE:IVB" ], [ "T1b", "N2a", "M1", "B1b", "VALUE:IVB" ], [ "T1b", "N2a", "M1", "B2", "VALUE:IVB" ], [ "T1b", "N2a", "M1", "BX", "VALUE:IVB" ], [ "T1b", "N2b", "M1", "B0NOS", "VALUE:IVB" ], [ "T1b", "N2b", "M1", "B0a", "VALUE:IVB" ], [ "T1b", "N2b", "M1", "B0b", "VALUE:IVB" ], [ "T1b", "N2b", "M1", "B1NOS", "VALUE:IVB" ], [ "T1b", "N2b", "M1", "B1a", "VALUE:IVB" ], [ "T1b", "N2b", "M1", "B1b", "VALUE:IVB" ], [ "T1b", "N2b", "M1", "B2", "VALUE:IVB" ], [ "T1b", "N2b", "M1", "BX", "VALUE:IVB" ], [ "T1b", "N2NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T1b", "N2NOS", "M1", "B0a", "VALUE:IVB" ], [ "T1b", "N2NOS", "M1", "B0b", "VALUE:IVB" ], [ "T1b", "N2NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T1b", "N2NOS", "M1", "B1a", "VALUE:IVB" ], [ "T1b", "N2NOS", "M1", "B1b", "VALUE:IVB" ], [ "T1b", "N2NOS", "M1", "B2", "VALUE:IVB" ], [ "T1b", "N2NOS", "M1", "BX", "VALUE:IVB" ], [ "T1b", "N3", "M1", "B0NOS", "VALUE:IVB" ], [ "T1b", "N3", "M1", "B0a", "VALUE:IVB" ], [ "T1b", "N3", "M1", "B0b", "VALUE:IVB" ], [ "T1b", "N3", "M1", "B1NOS", "VALUE:IVB" ], [ "T1b", "N3", "M1", "B1a", "VALUE:IVB" ], [ "T1b", "N3", "M1", "B1b", "VALUE:IVB" ], [ "T1b", "N3", "M1", "B2", "VALUE:IVB" ], [ "T1b", "N3", "M1", "BX", "VALUE:IVB" ], [ "T1b", "NX", "M1", "B0NOS", "VALUE:IVB" ], [ "T1b", "NX", "M1", "B0a", "VALUE:IVB" ], [ "T1b", "NX", "M1", "B0b", "VALUE:IVB" ], [ "T1b", "NX", "M1", "B1NOS", "VALUE:IVB" ], [ "T1b", "NX", "M1", "B1a", "VALUE:IVB" ], [ "T1b", "NX", "M1", "B1b", "VALUE:IVB" ], [ "T1b", "NX", "M1", "B2", "VALUE:IVB" ], [ "T1b", "NX", "M1", "BX", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "B0NOS", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "B0a", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "B0b", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "B1NOS", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "B1a", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "B1b", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "B2", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "BX", "VALUE:IVB" ], [ "T1NOS", "N1a", "M1", "B0NOS", "VALUE:IVB" ], [ "T1NOS", "N1a", "M1", "B0a", "VALUE:IVB" ], [ "T1NOS", "N1a", "M1", "B0b", "VALUE:IVB" ], [ "T1NOS", "N1a", "M1", "B1NOS", "VALUE:IVB" ], [ "T1NOS", "N1a", "M1", "B1a", "VALUE:IVB" ], [ "T1NOS", "N1a", "M1", "B1b", "VALUE:IVB" ], [ "T1NOS", "N1a", "M1", "B2", "VALUE:IVB" ], [ "T1NOS", "N1a", "M1", "BX", "VALUE:IVB" ], [ "T1NOS", "N1b", "M1", "B0NOS", "VALUE:IVB" ], [ "T1NOS", "N1b", "M1", "B0a", "VALUE:IVB" ], [ "T1NOS", "N1b", "M1", "B0b", "VALUE:IVB" ], [ "T1NOS", "N1b", "M1", "B1NOS", "VALUE:IVB" ], [ "T1NOS", "N1b", "M1", "B1a", "VALUE:IVB" ], [ "T1NOS", "N1b", "M1", "B1b", "VALUE:IVB" ], [ "T1NOS", "N1b", "M1", "B2", "VALUE:IVB" ], [ "T1NOS", "N1b", "M1", "BX", "VALUE:IVB" ], [ "T1NOS", "N1NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T1NOS", "N1NOS", "M1", "B0a", "VALUE:IVB" ], [ "T1NOS", "N1NOS", "M1", "B0b", "VALUE:IVB" ], [ "T1NOS", "N1NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T1NOS", "N1NOS", "M1", "B1a", "VALUE:IVB" ], [ "T1NOS", "N1NOS", "M1", "B1b", "VALUE:IVB" ], [ "T1NOS", "N1NOS", "M1", "B2", "VALUE:IVB" ], [ "T1NOS", "N1NOS", "M1", "BX", "VALUE:IVB" ], [ "T1NOS", "N2a", "M1", "B0NOS", "VALUE:IVB" ], [ "T1NOS", "N2a", "M1", "B0a", "VALUE:IVB" ], [ "T1NOS", "N2a", "M1", "B0b", "VALUE:IVB" ], [ "T1NOS", "N2a", "M1", "B1NOS", "VALUE:IVB" ], [ "T1NOS", "N2a", "M1", "B1a", "VALUE:IVB" ], [ "T1NOS", "N2a", "M1", "B1b", "VALUE:IVB" ], [ "T1NOS", "N2a", "M1", "B2", "VALUE:IVB" ], [ "T1NOS", "N2a", "M1", "BX", "VALUE:IVB" ], [ "T1NOS", "N2b", "M1", "B0NOS", "VALUE:IVB" ], [ "T1NOS", "N2b", "M1", "B0a", "VALUE:IVB" ], [ "T1NOS", "N2b", "M1", "B0b", "VALUE:IVB" ], [ "T1NOS", "N2b", "M1", "B1NOS", "VALUE:IVB" ], [ "T1NOS", "N2b", "M1", "B1a", "VALUE:IVB" ], [ "T1NOS", "N2b", "M1", "B1b", "VALUE:IVB" ], [ "T1NOS", "N2b", "M1", "B2", "VALUE:IVB" ], [ "T1NOS", "N2b", "M1", "BX", "VALUE:IVB" ], [ "T1NOS", "N2NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T1NOS", "N2NOS", "M1", "B0a", "VALUE:IVB" ], [ "T1NOS", "N2NOS", "M1", "B0b", "VALUE:IVB" ], [ "T1NOS", "N2NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T1NOS", "N2NOS", "M1", "B1a", "VALUE:IVB" ], [ "T1NOS", "N2NOS", "M1", "B1b", "VALUE:IVB" ], [ "T1NOS", "N2NOS", "M1", "B2", "VALUE:IVB" ], [ "T1NOS", "N2NOS", "M1", "BX", "VALUE:IVB" ], [ "T1NOS", "N3", "M1", "B0NOS", "VALUE:IVB" ], [ "T1NOS", "N3", "M1", "B0a", "VALUE:IVB" ], [ "T1NOS", "N3", "M1", "B0b", "VALUE:IVB" ], [ "T1NOS", "N3", "M1", "B1NOS", "VALUE:IVB" ], [ "T1NOS", "N3", "M1", "B1a", "VALUE:IVB" ], [ "T1NOS", "N3", "M1", "B1b", "VALUE:IVB" ], [ "T1NOS", "N3", "M1", "B2", "VALUE:IVB" ], [ "T1NOS", "N3", "M1", "BX", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "B0NOS", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "B0a", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "B0b", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "B1NOS", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "B1a", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "B1b", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "B2", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "BX", "VALUE:IVB" ], [ "T2a", "N0", "M1", "B0NOS", "VALUE:IVB" ], [ "T2a", "N0", "M1", "B0a", "VALUE:IVB" ], [ "T2a", "N0", "M1", "B0b", "VALUE:IVB" ], [ "T2a", "N0", "M1", "B1NOS", "VALUE:IVB" ], [ "T2a", "N0", "M1", "B1a", "VALUE:IVB" ], [ "T2a", "N0", "M1", "B1b", "VALUE:IVB" ], [ "T2a", "N0", "M1", "B2", "VALUE:IVB" ], [ "T2a", "N0", "M1", "BX", "VALUE:IVB" ], [ "T2a", "N1a", "M1", "B0NOS", "VALUE:IVB" ], [ "T2a", "N1a", "M1", "B0a", "VALUE:IVB" ], [ "T2a", "N1a", "M1", "B0b", "VALUE:IVB" ], [ "T2a", "N1a", "M1", "B1NOS", "VALUE:IVB" ], [ "T2a", "N1a", "M1", "B1a", "VALUE:IVB" ], [ "T2a", "N1a", "M1", "B1b", "VALUE:IVB" ], [ "T2a", "N1a", "M1", "B2", "VALUE:IVB" ], [ "T2a", "N1a", "M1", "BX", "VALUE:IVB" ], [ "T2a", "N1b", "M1", "B0NOS", "VALUE:IVB" ], [ "T2a", "N1b", "M1", "B0a", "VALUE:IVB" ], [ "T2a", "N1b", "M1", "B0b", "VALUE:IVB" ], [ "T2a", "N1b", "M1", "B1NOS", "VALUE:IVB" ], [ "T2a", "N1b", "M1", "B1a", "VALUE:IVB" ], [ "T2a", "N1b", "M1", "B1b", "VALUE:IVB" ], [ "T2a", "N1b", "M1", "B2", "VALUE:IVB" ], [ "T2a", "N1b", "M1", "BX", "VALUE:IVB" ], [ "T2a", "N1NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T2a", "N1NOS", "M1", "B0a", "VALUE:IVB" ], [ "T2a", "N1NOS", "M1", "B0b", "VALUE:IVB" ], [ "T2a", "N1NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T2a", "N1NOS", "M1", "B1a", "VALUE:IVB" ], [ "T2a", "N1NOS", "M1", "B1b", "VALUE:IVB" ], [ "T2a", "N1NOS", "M1", "B2", "VALUE:IVB" ], [ "T2a", "N1NOS", "M1", "BX", "VALUE:IVB" ], [ "T2a", "N2a", "M1", "B0NOS", "VALUE:IVB" ], [ "T2a", "N2a", "M1", "B0a", "VALUE:IVB" ], [ "T2a", "N2a", "M1", "B0b", "VALUE:IVB" ], [ "T2a", "N2a", "M1", "B1NOS", "VALUE:IVB" ], [ "T2a", "N2a", "M1", "B1a", "VALUE:IVB" ], [ "T2a", "N2a", "M1", "B1b", "VALUE:IVB" ], [ "T2a", "N2a", "M1", "B2", "VALUE:IVB" ], [ "T2a", "N2a", "M1", "BX", "VALUE:IVB" ], [ "T2a", "N2b", "M1", "B0NOS", "VALUE:IVB" ], [ "T2a", "N2b", "M1", "B0a", "VALUE:IVB" ], [ "T2a", "N2b", "M1", "B0b", "VALUE:IVB" ], [ "T2a", "N2b", "M1", "B1NOS", "VALUE:IVB" ], [ "T2a", "N2b", "M1", "B1a", "VALUE:IVB" ], [ "T2a", "N2b", "M1", "B1b", "VALUE:IVB" ], [ "T2a", "N2b", "M1", "B2", "VALUE:IVB" ], [ "T2a", "N2b", "M1", "BX", "VALUE:IVB" ], [ "T2a", "N2NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T2a", "N2NOS", "M1", "B0a", "VALUE:IVB" ], [ "T2a", "N2NOS", "M1", "B0b", "VALUE:IVB" ], [ "T2a", "N2NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T2a", "N2NOS", "M1", "B1a", "VALUE:IVB" ], [ "T2a", "N2NOS", "M1", "B1b", "VALUE:IVB" ], [ "T2a", "N2NOS", "M1", "B2", "VALUE:IVB" ], [ "T2a", "N2NOS", "M1", "BX", "VALUE:IVB" ], [ "T2a", "N3", "M1", "B0NOS", "VALUE:IVB" ], [ "T2a", "N3", "M1", "B0a", "VALUE:IVB" ], [ "T2a", "N3", "M1", "B0b", "VALUE:IVB" ], [ "T2a", "N3", "M1", "B1NOS", "VALUE:IVB" ], [ "T2a", "N3", "M1", "B1a", "VALUE:IVB" ], [ "T2a", "N3", "M1", "B1b", "VALUE:IVB" ], [ "T2a", "N3", "M1", "B2", "VALUE:IVB" ], [ "T2a", "N3", "M1", "BX", "VALUE:IVB" ], [ "T2a", "NX", "M1", "B0NOS", "VALUE:IVB" ], [ "T2a", "NX", "M1", "B0a", "VALUE:IVB" ], [ "T2a", "NX", "M1", "B0b", "VALUE:IVB" ], [ "T2a", "NX", "M1", "B1NOS", "VALUE:IVB" ], [ "T2a", "NX", "M1", "B1a", "VALUE:IVB" ], [ "T2a", "NX", "M1", "B1b", "VALUE:IVB" ], [ "T2a", "NX", "M1", "B2", "VALUE:IVB" ], [ "T2a", "NX", "M1", "BX", "VALUE:IVB" ], [ "T2b", "N0", "M1", "B0NOS", "VALUE:IVB" ], [ "T2b", "N0", "M1", "B0a", "VALUE:IVB" ], [ "T2b", "N0", "M1", "B0b", "VALUE:IVB" ], [ "T2b", "N0", "M1", "B1NOS", "VALUE:IVB" ], [ "T2b", "N0", "M1", "B1a", "VALUE:IVB" ], [ "T2b", "N0", "M1", "B1b", "VALUE:IVB" ], [ "T2b", "N0", "M1", "B2", "VALUE:IVB" ], [ "T2b", "N0", "M1", "BX", "VALUE:IVB" ], [ "T2b", "N1a", "M1", "B0NOS", "VALUE:IVB" ], [ "T2b", "N1a", "M1", "B0a", "VALUE:IVB" ], [ "T2b", "N1a", "M1", "B0b", "VALUE:IVB" ], [ "T2b", "N1a", "M1", "B1NOS", "VALUE:IVB" ], [ "T2b", "N1a", "M1", "B1a", "VALUE:IVB" ], [ "T2b", "N1a", "M1", "B1b", "VALUE:IVB" ], [ "T2b", "N1a", "M1", "B2", "VALUE:IVB" ], [ "T2b", "N1a", "M1", "BX", "VALUE:IVB" ], [ "T2b", "N1b", "M1", "B0NOS", "VALUE:IVB" ], [ "T2b", "N1b", "M1", "B0a", "VALUE:IVB" ], [ "T2b", "N1b", "M1", "B0b", "VALUE:IVB" ], [ "T2b", "N1b", "M1", "B1NOS", "VALUE:IVB" ], [ "T2b", "N1b", "M1", "B1a", "VALUE:IVB" ], [ "T2b", "N1b", "M1", "B1b", "VALUE:IVB" ], [ "T2b", "N1b", "M1", "B2", "VALUE:IVB" ], [ "T2b", "N1b", "M1", "BX", "VALUE:IVB" ], [ "T2b", "N1NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T2b", "N1NOS", "M1", "B0a", "VALUE:IVB" ], [ "T2b", "N1NOS", "M1", "B0b", "VALUE:IVB" ], [ "T2b", "N1NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T2b", "N1NOS", "M1", "B1a", "VALUE:IVB" ], [ "T2b", "N1NOS", "M1", "B1b", "VALUE:IVB" ], [ "T2b", "N1NOS", "M1", "B2", "VALUE:IVB" ], [ "T2b", "N1NOS", "M1", "BX", "VALUE:IVB" ], [ "T2b", "N2a", "M1", "B0NOS", "VALUE:IVB" ], [ "T2b", "N2a", "M1", "B0a", "VALUE:IVB" ], [ "T2b", "N2a", "M1", "B0b", "VALUE:IVB" ], [ "T2b", "N2a", "M1", "B1NOS", "VALUE:IVB" ], [ "T2b", "N2a", "M1", "B1a", "VALUE:IVB" ], [ "T2b", "N2a", "M1", "B1b", "VALUE:IVB" ], [ "T2b", "N2a", "M1", "B2", "VALUE:IVB" ], [ "T2b", "N2a", "M1", "BX", "VALUE:IVB" ], [ "T2b", "N2b", "M1", "B0NOS", "VALUE:IVB" ], [ "T2b", "N2b", "M1", "B0a", "VALUE:IVB" ], [ "T2b", "N2b", "M1", "B0b", "VALUE:IVB" ], [ "T2b", "N2b", "M1", "B1NOS", "VALUE:IVB" ], [ "T2b", "N2b", "M1", "B1a", "VALUE:IVB" ], [ "T2b", "N2b", "M1", "B1b", "VALUE:IVB" ], [ "T2b", "N2b", "M1", "B2", "VALUE:IVB" ], [ "T2b", "N2b", "M1", "BX", "VALUE:IVB" ], [ "T2b", "N2NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T2b", "N2NOS", "M1", "B0a", "VALUE:IVB" ], [ "T2b", "N2NOS", "M1", "B0b", "VALUE:IVB" ], [ "T2b", "N2NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T2b", "N2NOS", "M1", "B1a", "VALUE:IVB" ], [ "T2b", "N2NOS", "M1", "B1b", "VALUE:IVB" ], [ "T2b", "N2NOS", "M1", "B2", "VALUE:IVB" ], [ "T2b", "N2NOS", "M1", "BX", "VALUE:IVB" ], [ "T2b", "N3", "M1", "B0NOS", "VALUE:IVB" ], [ "T2b", "N3", "M1", "B0a", "VALUE:IVB" ], [ "T2b", "N3", "M1", "B0b", "VALUE:IVB" ], [ "T2b", "N3", "M1", "B1NOS", "VALUE:IVB" ], [ "T2b", "N3", "M1", "B1a", "VALUE:IVB" ], [ "T2b", "N3", "M1", "B1b", "VALUE:IVB" ], [ "T2b", "N3", "M1", "B2", "VALUE:IVB" ], [ "T2b", "N3", "M1", "BX", "VALUE:IVB" ], [ "T2b", "NX", "M1", "B0NOS", "VALUE:IVB" ], [ "T2b", "NX", "M1", "B0a", "VALUE:IVB" ], [ "T2b", "NX", "M1", "B0b", "VALUE:IVB" ], [ "T2b", "NX", "M1", "B1NOS", "VALUE:IVB" ], [ "T2b", "NX", "M1", "B1a", "VALUE:IVB" ], [ "T2b", "NX", "M1", "B1b", "VALUE:IVB" ], [ "T2b", "NX", "M1", "B2", "VALUE:IVB" ], [ "T2b", "NX", "M1", "BX", "VALUE:IVB" ], [ "T2NOS", "N0", "M1", "B0NOS", "VALUE:IVB" ], [ "T2NOS", "N0", "M1", "B0a", "VALUE:IVB" ], [ "T2NOS", "N0", "M1", "B0b", "VALUE:IVB" ], [ "T2NOS", "N0", "M1", "B1NOS", "VALUE:IVB" ], [ "T2NOS", "N0", "M1", "B1a", "VALUE:IVB" ], [ "T2NOS", "N0", "M1", "B1b", "VALUE:IVB" ], [ "T2NOS", "N0", "M1", "B2", "VALUE:IVB" ], [ "T2NOS", "N0", "M1", "BX", "VALUE:IVB" ], [ "T2NOS", "N1a", "M1", "B0NOS", "VALUE:IVB" ], [ "T2NOS", "N1a", "M1", "B0a", "VALUE:IVB" ], [ "T2NOS", "N1a", "M1", "B0b", "VALUE:IVB" ], [ "T2NOS", "N1a", "M1", "B1NOS", "VALUE:IVB" ], [ "T2NOS", "N1a", "M1", "B1a", "VALUE:IVB" ], [ "T2NOS", "N1a", "M1", "B1b", "VALUE:IVB" ], [ "T2NOS", "N1a", "M1", "B2", "VALUE:IVB" ], [ "T2NOS", "N1a", "M1", "BX", "VALUE:IVB" ], [ "T2NOS", "N1b", "M1", "B0NOS", "VALUE:IVB" ], [ "T2NOS", "N1b", "M1", "B0a", "VALUE:IVB" ], [ "T2NOS", "N1b", "M1", "B0b", "VALUE:IVB" ], [ "T2NOS", "N1b", "M1", "B1NOS", "VALUE:IVB" ], [ "T2NOS", "N1b", "M1", "B1a", "VALUE:IVB" ], [ "T2NOS", "N1b", "M1", "B1b", "VALUE:IVB" ], [ "T2NOS", "N1b", "M1", "B2", "VALUE:IVB" ], [ "T2NOS", "N1b", "M1", "BX", "VALUE:IVB" ], [ "T2NOS", "N1NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T2NOS", "N1NOS", "M1", "B0a", "VALUE:IVB" ], [ "T2NOS", "N1NOS", "M1", "B0b", "VALUE:IVB" ], [ "T2NOS", "N1NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T2NOS", "N1NOS", "M1", "B1a", "VALUE:IVB" ], [ "T2NOS", "N1NOS", "M1", "B1b", "VALUE:IVB" ], [ "T2NOS", "N1NOS", "M1", "B2", "VALUE:IVB" ], [ "T2NOS", "N1NOS", "M1", "BX", "VALUE:IVB" ], [ "T2NOS", "N2a", "M1", "B0NOS", "VALUE:IVB" ], [ "T2NOS", "N2a", "M1", "B0a", "VALUE:IVB" ], [ "T2NOS", "N2a", "M1", "B0b", "VALUE:IVB" ], [ "T2NOS", "N2a", "M1", "B1NOS", "VALUE:IVB" ], [ "T2NOS", "N2a", "M1", "B1a", "VALUE:IVB" ], [ "T2NOS", "N2a", "M1", "B1b", "VALUE:IVB" ], [ "T2NOS", "N2a", "M1", "B2", "VALUE:IVB" ], [ "T2NOS", "N2a", "M1", "BX", "VALUE:IVB" ], [ "T2NOS", "N2b", "M1", "B0NOS", "VALUE:IVB" ], [ "T2NOS", "N2b", "M1", "B0a", "VALUE:IVB" ], [ "T2NOS", "N2b", "M1", "B0b", "VALUE:IVB" ], [ "T2NOS", "N2b", "M1", "B1NOS", "VALUE:IVB" ], [ "T2NOS", "N2b", "M1", "B1a", "VALUE:IVB" ], [ "T2NOS", "N2b", "M1", "B1b", "VALUE:IVB" ], [ "T2NOS", "N2b", "M1", "B2", "VALUE:IVB" ], [ "T2NOS", "N2b", "M1", "BX", "VALUE:IVB" ], [ "T2NOS", "N2NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T2NOS", "N2NOS", "M1", "B0a", "VALUE:IVB" ], [ "T2NOS", "N2NOS", "M1", "B0b", "VALUE:IVB" ], [ "T2NOS", "N2NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T2NOS", "N2NOS", "M1", "B1a", "VALUE:IVB" ], [ "T2NOS", "N2NOS", "M1", "B1b", "VALUE:IVB" ], [ "T2NOS", "N2NOS", "M1", "B2", "VALUE:IVB" ], [ "T2NOS", "N2NOS", "M1", "BX", "VALUE:IVB" ], [ "T2NOS", "N3", "M1", "B0NOS", "VALUE:IVB" ], [ "T2NOS", "N3", "M1", "B0a", "VALUE:IVB" ], [ "T2NOS", "N3", "M1", "B0b", "VALUE:IVB" ], [ "T2NOS", "N3", "M1", "B1NOS", "VALUE:IVB" ], [ "T2NOS", "N3", "M1", "B1a", "VALUE:IVB" ], [ "T2NOS", "N3", "M1", "B1b", "VALUE:IVB" ], [ "T2NOS", "N3", "M1", "B2", "VALUE:IVB" ], [ "T2NOS", "N3", "M1", "BX", "VALUE:IVB" ], [ "T2NOS", "NX", "M1", "B0NOS", "VALUE:IVB" ], [ "T2NOS", "NX", "M1", "B0a", "VALUE:IVB" ], [ "T2NOS", "NX", "M1", "B0b", "VALUE:IVB" ], [ "T2NOS", "NX", "M1", "B1NOS", "VALUE:IVB" ], [ "T2NOS", "NX", "M1", "B1a", "VALUE:IVB" ], [ "T2NOS", "NX", "M1", "B1b", "VALUE:IVB" ], [ "T2NOS", "NX", "M1", "B2", "VALUE:IVB" ], [ "T2NOS", "NX", "M1", "BX", "VALUE:IVB" ], [ "T3", "N0", "M1", "B0NOS", "VALUE:IVB" ], [ "T3", "N0", "M1", "B0a", "VALUE:IVB" ], [ "T3", "N0", "M1", "B0b", "VALUE:IVB" ], [ "T3", "N0", "M1", "B1NOS", "VALUE:IVB" ], [ "T3", "N0", "M1", "B1a", "VALUE:IVB" ], [ "T3", "N0", "M1", "B1b", "VALUE:IVB" ], [ "T3", "N0", "M1", "B2", "VALUE:IVB" ], [ "T3", "N0", "M1", "BX", "VALUE:IVB" ], [ "T3", "N1a", "M1", "B0NOS", "VALUE:IVB" ], [ "T3", "N1a", "M1", "B0a", "VALUE:IVB" ], [ "T3", "N1a", "M1", "B0b", "VALUE:IVB" ], [ "T3", "N1a", "M1", "B1NOS", "VALUE:IVB" ], [ "T3", "N1a", "M1", "B1a", "VALUE:IVB" ], [ "T3", "N1a", "M1", "B1b", "VALUE:IVB" ], [ "T3", "N1a", "M1", "B2", "VALUE:IVB" ], [ "T3", "N1a", "M1", "BX", "VALUE:IVB" ], [ "T3", "N1b", "M1", "B0NOS", "VALUE:IVB" ], [ "T3", "N1b", "M1", "B0a", "VALUE:IVB" ], [ "T3", "N1b", "M1", "B0b", "VALUE:IVB" ], [ "T3", "N1b", "M1", "B1NOS", "VALUE:IVB" ], [ "T3", "N1b", "M1", "B1a", "VALUE:IVB" ], [ "T3", "N1b", "M1", "B1b", "VALUE:IVB" ], [ "T3", "N1b", "M1", "B2", "VALUE:IVB" ], [ "T3", "N1b", "M1", "BX", "VALUE:IVB" ], [ "T3", "N1NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T3", "N1NOS", "M1", "B0a", "VALUE:IVB" ], [ "T3", "N1NOS", "M1", "B0b", "VALUE:IVB" ], [ "T3", "N1NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T3", "N1NOS", "M1", "B1a", "VALUE:IVB" ], [ "T3", "N1NOS", "M1", "B1b", "VALUE:IVB" ], [ "T3", "N1NOS", "M1", "B2", "VALUE:IVB" ], [ "T3", "N1NOS", "M1", "BX", "VALUE:IVB" ], [ "T3", "N2a", "M1", "B0NOS", "VALUE:IVB" ], [ "T3", "N2a", "M1", "B0a", "VALUE:IVB" ], [ "T3", "N2a", "M1", "B0b", "VALUE:IVB" ], [ "T3", "N2a", "M1", "B1NOS", "VALUE:IVB" ], [ "T3", "N2a", "M1", "B1a", "VALUE:IVB" ], [ "T3", "N2a", "M1", "B1b", "VALUE:IVB" ], [ "T3", "N2a", "M1", "B2", "VALUE:IVB" ], [ "T3", "N2a", "M1", "BX", "VALUE:IVB" ], [ "T3", "N2b", "M1", "B0NOS", "VALUE:IVB" ], [ "T3", "N2b", "M1", "B0a", "VALUE:IVB" ], [ "T3", "N2b", "M1", "B0b", "VALUE:IVB" ], [ "T3", "N2b", "M1", "B1NOS", "VALUE:IVB" ], [ "T3", "N2b", "M1", "B1a", "VALUE:IVB" ], [ "T3", "N2b", "M1", "B1b", "VALUE:IVB" ], [ "T3", "N2b", "M1", "B2", "VALUE:IVB" ], [ "T3", "N2b", "M1", "BX", "VALUE:IVB" ], [ "T3", "N2NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T3", "N2NOS", "M1", "B0a", "VALUE:IVB" ], [ "T3", "N2NOS", "M1", "B0b", "VALUE:IVB" ], [ "T3", "N2NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T3", "N2NOS", "M1", "B1a", "VALUE:IVB" ], [ "T3", "N2NOS", "M1", "B1b", "VALUE:IVB" ], [ "T3", "N2NOS", "M1", "B2", "VALUE:IVB" ], [ "T3", "N2NOS", "M1", "BX", "VALUE:IVB" ], [ "T3", "N3", "M1", "B0NOS", "VALUE:IVB" ], [ "T3", "N3", "M1", "B0a", "VALUE:IVB" ], [ "T3", "N3", "M1", "B0b", "VALUE:IVB" ], [ "T3", "N3", "M1", "B1NOS", "VALUE:IVB" ], [ "T3", "N3", "M1", "B1a", "VALUE:IVB" ], [ "T3", "N3", "M1", "B1b", "VALUE:IVB" ], [ "T3", "N3", "M1", "B2", "VALUE:IVB" ], [ "T3", "N3", "M1", "BX", "VALUE:IVB" ], [ "T3", "NX", "M1", "B0NOS", "VALUE:IVB" ], [ "T3", "NX", "M1", "B0a", "VALUE:IVB" ], [ "T3", "NX", "M1", "B0b", "VALUE:IVB" ], [ "T3", "NX", "M1", "B1NOS", "VALUE:IVB" ], [ "T3", "NX", "M1", "B1a", "VALUE:IVB" ], [ "T3", "NX", "M1", "B1b", "VALUE:IVB" ], [ "T3", "NX", "M1", "B2", "VALUE:IVB" ], [ "T3", "NX", "M1", "BX", "VALUE:IVB" ], [ "T4", "N0", "M1", "B0NOS", "VALUE:IVB" ], [ "T4", "N0", "M1", "B0a", "VALUE:IVB" ], [ "T4", "N0", "M1", "B0b", "VALUE:IVB" ], [ "T4", "N0", "M1", "B1NOS", "VALUE:IVB" ], [ "T4", "N0", "M1", "B1a", "VALUE:IVB" ], [ "T4", "N0", "M1", "B1b", "VALUE:IVB" ], [ "T4", "N0", "M1", "B2", "VALUE:IVB" ], [ "T4", "N0", "M1", "BX", "VALUE:IVB" ], [ "T4", "N1a", "M1", "B0NOS", "VALUE:IVB" ], [ "T4", "N1a", "M1", "B0a", "VALUE:IVB" ], [ "T4", "N1a", "M1", "B0b", "VALUE:IVB" ], [ "T4", "N1a", "M1", "B1NOS", "VALUE:IVB" ], [ "T4", "N1a", "M1", "B1a", "VALUE:IVB" ], [ "T4", "N1a", "M1", "B1b", "VALUE:IVB" ], [ "T4", "N1a", "M1", "B2", "VALUE:IVB" ], [ "T4", "N1a", "M1", "BX", "VALUE:IVB" ], [ "T4", "N1b", "M1", "B0NOS", "VALUE:IVB" ], [ "T4", "N1b", "M1", "B0a", "VALUE:IVB" ], [ "T4", "N1b", "M1", "B0b", "VALUE:IVB" ], [ "T4", "N1b", "M1", "B1NOS", "VALUE:IVB" ], [ "T4", "N1b", "M1", "B1a", "VALUE:IVB" ], [ "T4", "N1b", "M1", "B1b", "VALUE:IVB" ], [ "T4", "N1b", "M1", "B2", "VALUE:IVB" ], [ "T4", "N1b", "M1", "BX", "VALUE:IVB" ], [ "T4", "N1NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T4", "N1NOS", "M1", "B0a", "VALUE:IVB" ], [ "T4", "N1NOS", "M1", "B0b", "VALUE:IVB" ], [ "T4", "N1NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T4", "N1NOS", "M1", "B1a", "VALUE:IVB" ], [ "T4", "N1NOS", "M1", "B1b", "VALUE:IVB" ], [ "T4", "N1NOS", "M1", "B2", "VALUE:IVB" ], [ "T4", "N1NOS", "M1", "BX", "VALUE:IVB" ], [ "T4", "N2a", "M1", "B0NOS", "VALUE:IVB" ], [ "T4", "N2a", "M1", "B0a", "VALUE:IVB" ], [ "T4", "N2a", "M1", "B0b", "VALUE:IVB" ], [ "T4", "N2a", "M1", "B1NOS", "VALUE:IVB" ], [ "T4", "N2a", "M1", "B1a", "VALUE:IVB" ], [ "T4", "N2a", "M1", "B1b", "VALUE:IVB" ], [ "T4", "N2a", "M1", "B2", "VALUE:IVB" ], [ "T4", "N2a", "M1", "BX", "VALUE:IVB" ], [ "T4", "N2b", "M1", "B0NOS", "VALUE:IVB" ], [ "T4", "N2b", "M1", "B0a", "VALUE:IVB" ], [ "T4", "N2b", "M1", "B0b", "VALUE:IVB" ], [ "T4", "N2b", "M1", "B1NOS", "VALUE:IVB" ], [ "T4", "N2b", "M1", "B1a", "VALUE:IVB" ], [ "T4", "N2b", "M1", "B1b", "VALUE:IVB" ], [ "T4", "N2b", "M1", "B2", "VALUE:IVB" ], [ "T4", "N2b", "M1", "BX", "VALUE:IVB" ], [ "T4", "N2NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "T4", "N2NOS", "M1", "B0a", "VALUE:IVB" ], [ "T4", "N2NOS", "M1", "B0b", "VALUE:IVB" ], [ "T4", "N2NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "T4", "N2NOS", "M1", "B1a", "VALUE:IVB" ], [ "T4", "N2NOS", "M1", "B1b", "VALUE:IVB" ], [ "T4", "N2NOS", "M1", "B2", "VALUE:IVB" ], [ "T4", "N2NOS", "M1", "BX", "VALUE:IVB" ], [ "T4", "N3", "M1", "B0NOS", "VALUE:IVB" ], [ "T4", "N3", "M1", "B0a", "VALUE:IVB" ], [ "T4", "N3", "M1", "B0b", "VALUE:IVB" ], [ "T4", "N3", "M1", "B1NOS", "VALUE:IVB" ], [ "T4", "N3", "M1", "B1a", "VALUE:IVB" ], [ "T4", "N3", "M1", "B1b", "VALUE:IVB" ], [ "T4", "N3", "M1", "B2", "VALUE:IVB" ], [ "T4", "N3", "M1", "BX", "VALUE:IVB" ], [ "T4", "NX", "M1", "B0NOS", "VALUE:IVB" ], [ "T4", "NX", "M1", "B0a", "VALUE:IVB" ], [ "T4", "NX", "M1", "B0b", "VALUE:IVB" ], [ "T4", "NX", "M1", "B1NOS", "VALUE:IVB" ], [ "T4", "NX", "M1", "B1a", "VALUE:IVB" ], [ "T4", "NX", "M1", "B1b", "VALUE:IVB" ], [ "T4", "NX", "M1", "B2", "VALUE:IVB" ], [ "T4", "NX", "M1", "BX", "VALUE:IVB" ], [ "TX", "N0", "M1", "B0NOS", "VALUE:IVB" ], [ "TX", "N0", "M1", "B0a", "VALUE:IVB" ], [ "TX", "N0", "M1", "B0b", "VALUE:IVB" ], [ "TX", "N0", "M1", "B1NOS", "VALUE:IVB" ], [ "TX", "N0", "M1", "B1a", "VALUE:IVB" ], [ "TX", "N0", "M1", "B1b", "VALUE:IVB" ], [ "TX", "N0", "M1", "B2", "VALUE:IVB" ], [ "TX", "N0", "M1", "BX", "VALUE:IVB" ], [ "TX", "N1a", "M1", "B0NOS", "VALUE:IVB" ], [ "TX", "N1a", "M1", "B0a", "VALUE:IVB" ], [ "TX", "N1a", "M1", "B0b", "VALUE:IVB" ], [ "TX", "N1a", "M1", "B1NOS", "VALUE:IVB" ], [ "TX", "N1a", "M1", "B1a", "VALUE:IVB" ], [ "TX", "N1a", "M1", "B1b", "VALUE:IVB" ], [ "TX", "N1a", "M1", "B2", "VALUE:IVB" ], [ "TX", "N1a", "M1", "BX", "VALUE:IVB" ], [ "TX", "N1b", "M1", "B0NOS", "VALUE:IVB" ], [ "TX", "N1b", "M1", "B0a", "VALUE:IVB" ], [ "TX", "N1b", "M1", "B0b", "VALUE:IVB" ], [ "TX", "N1b", "M1", "B1NOS", "VALUE:IVB" ], [ "TX", "N1b", "M1", "B1a", "VALUE:IVB" ], [ "TX", "N1b", "M1", "B1b", "VALUE:IVB" ], [ "TX", "N1b", "M1", "B2", "VALUE:IVB" ], [ "TX", "N1b", "M1", "BX", "VALUE:IVB" ], [ "TX", "N1NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "TX", "N1NOS", "M1", "B0a", "VALUE:IVB" ], [ "TX", "N1NOS", "M1", "B0b", "VALUE:IVB" ], [ "TX", "N1NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "TX", "N1NOS", "M1", "B1a", "VALUE:IVB" ], [ "TX", "N1NOS", "M1", "B1b", "VALUE:IVB" ], [ "TX", "N1NOS", "M1", "B2", "VALUE:IVB" ], [ "TX", "N1NOS", "M1", "BX", "VALUE:IVB" ], [ "TX", "N2a", "M1", "B0NOS", "VALUE:IVB" ], [ "TX", "N2a", "M1", "B0a", "VALUE:IVB" ], [ "TX", "N2a", "M1", "B0b", "VALUE:IVB" ], [ "TX", "N2a", "M1", "B1NOS", "VALUE:IVB" ], [ "TX", "N2a", "M1", "B1a", "VALUE:IVB" ], [ "TX", "N2a", "M1", "B1b", "VALUE:IVB" ], [ "TX", "N2a", "M1", "B2", "VALUE:IVB" ], [ "TX", "N2a", "M1", "BX", "VALUE:IVB" ], [ "TX", "N2b", "M1", "B0NOS", "VALUE:IVB" ], [ "TX", "N2b", "M1", "B0a", "VALUE:IVB" ], [ "TX", "N2b", "M1", "B0b", "VALUE:IVB" ], [ "TX", "N2b", "M1", "B1NOS", "VALUE:IVB" ], [ "TX", "N2b", "M1", "B1a", "VALUE:IVB" ], [ "TX", "N2b", "M1", "B1b", "VALUE:IVB" ], [ "TX", "N2b", "M1", "B2", "VALUE:IVB" ], [ "TX", "N2b", "M1", "BX", "VALUE:IVB" ], [ "TX", "N2NOS", "M1", "B0NOS", "VALUE:IVB" ], [ "TX", "N2NOS", "M1", "B0a", "VALUE:IVB" ], [ "TX", "N2NOS", "M1", "B0b", "VALUE:IVB" ], [ "TX", "N2NOS", "M1", "B1NOS", "VALUE:IVB" ], [ "TX", "N2NOS", "M1", "B1a", "VALUE:IVB" ], [ "TX", "N2NOS", "M1", "B1b", "VALUE:IVB" ], [ "TX", "N2NOS", "M1", "B2", "VALUE:IVB" ], [ "TX", "N2NOS", "M1", "BX", "VALUE:IVB" ], [ "TX", "N3", "M1", "B0NOS", "VALUE:IVB" ], [ "TX", "N3", "M1", "B0a", "VALUE:IVB" ], [ "TX", "N3", "M1", "B0b", "VALUE:IVB" ], [ "TX", "N3", "M1", "B1NOS", "VALUE:IVB" ], [ "TX", "N3", "M1", "B1a", "VALUE:IVB" ], [ "TX", "N3", "M1", "B1b", "VALUE:IVB" ], [ "TX", "N3", "M1", "B2", "VALUE:IVB" ], [ "TX", "N3", "M1", "BX", "VALUE:IVB" ], [ "TX", "NX", "M1", "B0NOS", "VALUE:IVB" ], [ "TX", "NX", "M1", "B0a", "VALUE:IVB" ], [ "TX", "NX", "M1", "B0b", "VALUE:IVB" ], [ "TX", "NX", "M1", "B1NOS", "VALUE:IVB" ], [ "TX", "NX", "M1", "B1a", "VALUE:IVB" ], [ "TX", "NX", "M1", "B1b", "VALUE:IVB" ], [ "TX", "NX", "M1", "B2", "VALUE:IVB" ], [ "TX", "NX", "M1", "BX", "VALUE:IVB" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uby.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uby.json deleted file mode 100644 index 8ea79b994..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uby.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uby", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:59.265Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIC" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:IIIA" ], [ "T3a", "N1", "M0", "VALUE:IIIC" ], [ "T3a", "NX", "M0", "VALUE:UNK" ], [ "T3b", "N0", "M0", "VALUE:IIIB" ], [ "T3b", "N1", "M0", "VALUE:IIIC" ], [ "T3b", "NX", "M0", "VALUE:UNK" ], [ "T3c", "N0", "M0", "VALUE:IIIC" ], [ "T3c", "N1", "M0", "VALUE:IIIC" ], [ "T3c", "NX", "M0", "VALUE:IIIC" ], [ "T3NOS", "N0", "M0", "VALUE:IIINOS" ], [ "T3NOS", "N1", "M0", "VALUE:IIIC" ], [ "T3NOS", "NX", "M0", "VALUE:IIINOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIIC" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "T3a", "N0", "M1", "VALUE:IV" ], [ "T3a", "N1", "M1", "VALUE:IV" ], [ "T3a", "NX", "M1", "VALUE:IV" ], [ "T3b", "N0", "M1", "VALUE:IV" ], [ "T3b", "N1", "M1", "VALUE:IV" ], [ "T3b", "NX", "M1", "VALUE:IV" ], [ "T3c", "N0", "M1", "VALUE:IV" ], [ "T3c", "N1", "M1", "VALUE:IV" ], [ "T3c", "NX", "M1", "VALUE:IV" ], [ "T3NOS", "N0", "M1", "VALUE:IV" ], [ "T3NOS", "N1", "M1", "VALUE:IV" ], [ "T3NOS", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_una.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_una.json deleted file mode 100644 index 50d7d3828..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_una.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_una", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:59.314Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "NA", "NA", "NA", "VALUE:NA" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_unb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_unb.json deleted file mode 100644 index 9a4b0edef..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_unb.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "ajcc7_stage_unb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage for sites with no stage groupings", - "notes" : "In the table below, \"ANY\" designates any valid (allowable) value.", - "last_modified" : "2015-05-27T16:18:59.360Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "", "*", "*", "VALUE:" ], [ "*", "", "*", "VALUE:" ], [ "*", "*", "", "VALUE:" ], [ "*", "*", "*", "VALUE:NA" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upm.json deleted file mode 100644 index bda2fd354..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upm.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc7_stage_upm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:59.408Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade_ssf1", - "name" : "Grade based on SSF#1", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "1", "ERROR:" ], [ "T0", "N0", "M0", "2", "ERROR:" ], [ "T0", "N0", "M0", "3", "ERROR:" ], [ "T0", "N0", "M0", "9", "ERROR:" ], [ "T0", "N1", "M0", "1", "VALUE:III" ], [ "T0", "N1", "M0", "2", "VALUE:III" ], [ "T0", "N1", "M0", "3", "VALUE:III" ], [ "T0", "N1", "M0", "9", "VALUE:III" ], [ "T0", "NX", "M0", "1", "VALUE:UNK" ], [ "T0", "NX", "M0", "2", "VALUE:UNK" ], [ "T0", "NX", "M0", "3", "VALUE:UNK" ], [ "T0", "NX", "M0", "9", "VALUE:UNK" ], [ "T1b", "N0", "M0", "1", "VALUE:IA" ], [ "T1b", "N0", "M0", "2", "VALUE:IIA" ], [ "T1b", "N0", "M0", "3", "VALUE:IIA" ], [ "T1b", "N0", "M0", "9", "VALUE:IA" ], [ "T1b", "N1", "M0", "1", "VALUE:III" ], [ "T1b", "N1", "M0", "2", "VALUE:III" ], [ "T1b", "N1", "M0", "3", "VALUE:III" ], [ "T1b", "N1", "M0", "9", "VALUE:III" ], [ "T1b", "NX", "M0", "1", "VALUE:UNK" ], [ "T1b", "NX", "M0", "2", "VALUE:UNK" ], [ "T1b", "NX", "M0", "3", "VALUE:UNK" ], [ "T1b", "NX", "M0", "9", "VALUE:UNK" ], [ "T2b", "N0", "M0", "1", "VALUE:IB" ], [ "T2b", "N0", "M0", "2", "VALUE:IIB" ], [ "T2b", "N0", "M0", "3", "VALUE:III" ], [ "T2b", "N0", "M0", "9", "VALUE:IB" ], [ "T2b", "N1", "M0", "1", "VALUE:III" ], [ "T2b", "N1", "M0", "2", "VALUE:III" ], [ "T2b", "N1", "M0", "3", "VALUE:III" ], [ "T2b", "N1", "M0", "9", "VALUE:III" ], [ "T2b", "NX", "M0", "1", "VALUE:UNK" ], [ "T2b", "NX", "M0", "2", "VALUE:UNK" ], [ "T2b", "NX", "M0", "3", "VALUE:UNK" ], [ "T2b", "NX", "M0", "9", "VALUE:UNK" ], [ "TX", "N0", "M0", "1", "VALUE:INOS" ], [ "TX", "N0", "M0", "2", "VALUE:IINOS" ], [ "TX", "N0", "M0", "3", "VALUE:UNK" ], [ "TX", "N0", "M0", "9", "VALUE:INOS" ], [ "TX", "N1", "M0", "1", "VALUE:III" ], [ "TX", "N1", "M0", "2", "VALUE:III" ], [ "TX", "N1", "M0", "3", "VALUE:III" ], [ "TX", "N1", "M0", "9", "VALUE:III" ], [ "TX", "NX", "M0", "1", "VALUE:UNK" ], [ "TX", "NX", "M0", "2", "VALUE:UNK" ], [ "TX", "NX", "M0", "3", "VALUE:UNK" ], [ "TX", "NX", "M0", "9", "VALUE:UNK" ], [ "T0", "N0", "M1", "1", "VALUE:IV" ], [ "T0", "N0", "M1", "2", "VALUE:IV" ], [ "T0", "N0", "M1", "3", "VALUE:IV" ], [ "T0", "N0", "M1", "9", "VALUE:IV" ], [ "T0", "N1", "M1", "1", "VALUE:IV" ], [ "T0", "N1", "M1", "2", "VALUE:IV" ], [ "T0", "N1", "M1", "3", "VALUE:IV" ], [ "T0", "N1", "M1", "9", "VALUE:IV" ], [ "T0", "NX", "M1", "1", "VALUE:IV" ], [ "T0", "NX", "M1", "2", "VALUE:IV" ], [ "T0", "NX", "M1", "3", "VALUE:IV" ], [ "T0", "NX", "M1", "9", "VALUE:IV" ], [ "T1b", "N0", "M1", "1", "VALUE:IV" ], [ "T1b", "N0", "M1", "2", "VALUE:IV" ], [ "T1b", "N0", "M1", "3", "VALUE:IV" ], [ "T1b", "N0", "M1", "9", "VALUE:IV" ], [ "T1b", "N1", "M1", "1", "VALUE:IV" ], [ "T1b", "N1", "M1", "2", "VALUE:IV" ], [ "T1b", "N1", "M1", "3", "VALUE:IV" ], [ "T1b", "N1", "M1", "9", "VALUE:IV" ], [ "T1b", "NX", "M1", "1", "VALUE:IV" ], [ "T1b", "NX", "M1", "2", "VALUE:IV" ], [ "T1b", "NX", "M1", "3", "VALUE:IV" ], [ "T1b", "NX", "M1", "9", "VALUE:IV" ], [ "T2b", "N0", "M1", "1", "VALUE:IV" ], [ "T2b", "N0", "M1", "2", "VALUE:IV" ], [ "T2b", "N0", "M1", "3", "VALUE:IV" ], [ "T2b", "N0", "M1", "9", "VALUE:IV" ], [ "T2b", "N1", "M1", "1", "VALUE:IV" ], [ "T2b", "N1", "M1", "2", "VALUE:IV" ], [ "T2b", "N1", "M1", "3", "VALUE:IV" ], [ "T2b", "N1", "M1", "9", "VALUE:IV" ], [ "T2b", "NX", "M1", "1", "VALUE:IV" ], [ "T2b", "NX", "M1", "2", "VALUE:IV" ], [ "T2b", "NX", "M1", "3", "VALUE:IV" ], [ "T2b", "NX", "M1", "9", "VALUE:IV" ], [ "TX", "N0", "M1", "1", "VALUE:IV" ], [ "TX", "N0", "M1", "2", "VALUE:IV" ], [ "TX", "N0", "M1", "3", "VALUE:IV" ], [ "TX", "N0", "M1", "9", "VALUE:IV" ], [ "TX", "N1", "M1", "1", "VALUE:IV" ], [ "TX", "N1", "M1", "2", "VALUE:IV" ], [ "TX", "N1", "M1", "3", "VALUE:IV" ], [ "TX", "N1", "M1", "9", "VALUE:IV" ], [ "TX", "NX", "M1", "1", "VALUE:IV" ], [ "TX", "NX", "M1", "2", "VALUE:IV" ], [ "TX", "NX", "M1", "3", "VALUE:IV" ], [ "TX", "NX", "M1", "9", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ups.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ups.json deleted file mode 100644 index 70790ef25..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_ups.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_ups", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:59.467Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:IA" ], [ "T1", "N1", "M0", "VALUE:IIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IB" ], [ "T2", "N1", "M0", "VALUE:IIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIA" ], [ "T3", "N1", "M0", "VALUE:IIB" ], [ "T3", "NX", "M0", "VALUE:IINOS" ], [ "T4", "N0", "M0", "VALUE:III" ], [ "T4", "N1", "M0", "VALUE:III" ], [ "T4", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upt.json deleted file mode 100644 index 400881d17..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upt.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_upt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:59.521Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:UNK" ], [ "T0", "N2a", "M0", "VALUE:IVA" ], [ "T0", "N2b", "M0", "VALUE:IVA" ], [ "T0", "N2c", "M0", "VALUE:IVA" ], [ "T0", "N2NOS", "M0", "VALUE:IVA" ], [ "T0", "N3", "M0", "VALUE:IVB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2a", "M0", "ERROR:" ], [ "Tis", "N2b", "M0", "ERROR:" ], [ "Tis", "N2c", "M0", "ERROR:" ], [ "Tis", "N2NOS", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "N2a", "M0", "VALUE:IVA" ], [ "T1", "N2b", "M0", "VALUE:IVA" ], [ "T1", "N2c", "M0", "VALUE:IVA" ], [ "T1", "N2NOS", "M0", "VALUE:IVA" ], [ "T1", "N3", "M0", "VALUE:IVB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "N2a", "M0", "VALUE:IVA" ], [ "T2", "N2b", "M0", "VALUE:IVA" ], [ "T2", "N2c", "M0", "VALUE:IVA" ], [ "T2", "N2NOS", "M0", "VALUE:IVA" ], [ "T2", "N3", "M0", "VALUE:IVB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2a", "M0", "VALUE:IVA" ], [ "T3", "N2b", "M0", "VALUE:IVA" ], [ "T3", "N2c", "M0", "VALUE:IVA" ], [ "T3", "N2NOS", "M0", "VALUE:IVA" ], [ "T3", "N3", "M0", "VALUE:IVB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IVA" ], [ "T4a", "N1", "M0", "VALUE:IVA" ], [ "T4a", "N2a", "M0", "VALUE:IVA" ], [ "T4a", "N2b", "M0", "VALUE:IVA" ], [ "T4a", "N2c", "M0", "VALUE:IVA" ], [ "T4a", "N2NOS", "M0", "VALUE:IVA" ], [ "T4a", "N3", "M0", "VALUE:IVB" ], [ "T4a", "NX", "M0", "VALUE:IVNOS" ], [ "T4b", "N0", "M0", "VALUE:IVB" ], [ "T4b", "N1", "M0", "VALUE:IVB" ], [ "T4b", "N2a", "M0", "VALUE:IVB" ], [ "T4b", "N2b", "M0", "VALUE:IVB" ], [ "T4b", "N2c", "M0", "VALUE:IVB" ], [ "T4b", "N2NOS", "M0", "VALUE:IVB" ], [ "T4b", "N3", "M0", "VALUE:IVB" ], [ "T4b", "NX", "M0", "VALUE:IVB" ], [ "T4NOS", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2a", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2b", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2c", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N3", "M0", "VALUE:IVB" ], [ "T4NOS", "NX", "M0", "VALUE:IVNOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2a", "M0", "VALUE:IVNOS" ], [ "TX", "N2b", "M0", "VALUE:IVNOS" ], [ "TX", "N2c", "M0", "VALUE:IVNOS" ], [ "TX", "N2NOS", "M0", "VALUE:IVNOS" ], [ "TX", "N3", "M0", "VALUE:IVB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVC" ], [ "T0", "N1", "M1", "VALUE:IVC" ], [ "T0", "N2a", "M1", "VALUE:IVC" ], [ "T0", "N2b", "M1", "VALUE:IVC" ], [ "T0", "N2c", "M1", "VALUE:IVC" ], [ "T0", "N2NOS", "M1", "VALUE:IVC" ], [ "T0", "N3", "M1", "VALUE:IVC" ], [ "T0", "NX", "M1", "VALUE:IVC" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2a", "M1", "ERROR:" ], [ "Tis", "N2b", "M1", "ERROR:" ], [ "Tis", "N2c", "M1", "ERROR:" ], [ "Tis", "N2NOS", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IVC" ], [ "T1", "N1", "M1", "VALUE:IVC" ], [ "T1", "N2a", "M1", "VALUE:IVC" ], [ "T1", "N2b", "M1", "VALUE:IVC" ], [ "T1", "N2c", "M1", "VALUE:IVC" ], [ "T1", "N2NOS", "M1", "VALUE:IVC" ], [ "T1", "N3", "M1", "VALUE:IVC" ], [ "T1", "NX", "M1", "VALUE:IVC" ], [ "T2", "N0", "M1", "VALUE:IVC" ], [ "T2", "N1", "M1", "VALUE:IVC" ], [ "T2", "N2a", "M1", "VALUE:IVC" ], [ "T2", "N2b", "M1", "VALUE:IVC" ], [ "T2", "N2c", "M1", "VALUE:IVC" ], [ "T2", "N2NOS", "M1", "VALUE:IVC" ], [ "T2", "N3", "M1", "VALUE:IVC" ], [ "T2", "NX", "M1", "VALUE:IVC" ], [ "T3", "N0", "M1", "VALUE:IVC" ], [ "T3", "N1", "M1", "VALUE:IVC" ], [ "T3", "N2a", "M1", "VALUE:IVC" ], [ "T3", "N2b", "M1", "VALUE:IVC" ], [ "T3", "N2c", "M1", "VALUE:IVC" ], [ "T3", "N2NOS", "M1", "VALUE:IVC" ], [ "T3", "N3", "M1", "VALUE:IVC" ], [ "T3", "NX", "M1", "VALUE:IVC" ], [ "T4a", "N0", "M1", "VALUE:IVC" ], [ "T4a", "N1", "M1", "VALUE:IVC" ], [ "T4a", "N2a", "M1", "VALUE:IVC" ], [ "T4a", "N2b", "M1", "VALUE:IVC" ], [ "T4a", "N2c", "M1", "VALUE:IVC" ], [ "T4a", "N2NOS", "M1", "VALUE:IVC" ], [ "T4a", "N3", "M1", "VALUE:IVC" ], [ "T4a", "NX", "M1", "VALUE:IVC" ], [ "T4b", "N0", "M1", "VALUE:IVC" ], [ "T4b", "N1", "M1", "VALUE:IVC" ], [ "T4b", "N2a", "M1", "VALUE:IVC" ], [ "T4b", "N2b", "M1", "VALUE:IVC" ], [ "T4b", "N2c", "M1", "VALUE:IVC" ], [ "T4b", "N2NOS", "M1", "VALUE:IVC" ], [ "T4b", "N3", "M1", "VALUE:IVC" ], [ "T4b", "NX", "M1", "VALUE:IVC" ], [ "T4NOS", "N0", "M1", "VALUE:IVC" ], [ "T4NOS", "N1", "M1", "VALUE:IVC" ], [ "T4NOS", "N2a", "M1", "VALUE:IVC" ], [ "T4NOS", "N2b", "M1", "VALUE:IVC" ], [ "T4NOS", "N2c", "M1", "VALUE:IVC" ], [ "T4NOS", "N2NOS", "M1", "VALUE:IVC" ], [ "T4NOS", "N3", "M1", "VALUE:IVC" ], [ "T4NOS", "NX", "M1", "VALUE:IVC" ], [ "TX", "N0", "M1", "VALUE:IVC" ], [ "TX", "N1", "M1", "VALUE:IVC" ], [ "TX", "N2a", "M1", "VALUE:IVC" ], [ "TX", "N2b", "M1", "VALUE:IVC" ], [ "TX", "N2c", "M1", "VALUE:IVC" ], [ "TX", "N2NOS", "M1", "VALUE:IVC" ], [ "TX", "N3", "M1", "VALUE:IVC" ], [ "TX", "NX", "M1", "VALUE:IVC" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upu.json deleted file mode 100644 index 7bdaeedd8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upu.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_upu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:59.592Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:IVA" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IVA" ], [ "T4a", "N1", "M0", "VALUE:IVA" ], [ "T4a", "NX", "M0", "VALUE:IVA" ], [ "T4b", "N0", "M0", "VALUE:IVB" ], [ "T4b", "N1", "M0", "VALUE:IVB" ], [ "T4b", "NX", "M0", "VALUE:IVB" ], [ "T4NOS", "N0", "M0", "VALUE:IVA" ], [ "T4NOS", "N1", "M0", "VALUE:IVA" ], [ "T4NOS", "NX", "M0", "VALUE:IVNOS" ], [ "NA", "N0", "M0", "VALUE:NA" ], [ "NA", "N1", "M0", "VALUE:NA" ], [ "NA", "NX", "M0", "VALUE:NA" ], [ "T3", "N0", "M1", "VALUE:IVC" ], [ "T3", "N1", "M1", "VALUE:IVC" ], [ "T3", "NX", "M1", "VALUE:IVC" ], [ "T4a", "N0", "M1", "VALUE:IVC" ], [ "T4a", "N1", "M1", "VALUE:IVC" ], [ "T4a", "NX", "M1", "VALUE:IVC" ], [ "T4b", "N0", "M1", "VALUE:IVC" ], [ "T4b", "N1", "M1", "VALUE:IVC" ], [ "T4b", "NX", "M1", "VALUE:IVC" ], [ "T4NOS", "N0", "M1", "VALUE:IVC" ], [ "T4NOS", "N1", "M1", "VALUE:IVC" ], [ "T4NOS", "NX", "M1", "VALUE:IVC" ], [ "NA", "N0", "M1", "VALUE:NA" ], [ "NA", "N1", "M1", "VALUE:NA" ], [ "NA", "NX", "M1", "VALUE:NA" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upv.json deleted file mode 100644 index 7f1694be2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upv.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_upv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:59.642Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N1", "M0", "VALUE:IV" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:IIA" ], [ "T1b", "N1", "M0", "VALUE:IV" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1c", "N0", "M0", "VALUE:IIA" ], [ "T1c", "N1", "M0", "VALUE:IV" ], [ "T1c", "NX", "M0", "VALUE:UNK" ], [ "T1d", "N0", "M0", "VALUE:IIA" ], [ "T1d", "N1", "M0", "VALUE:IV" ], [ "T1d", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:UNK" ], [ "T1NOS", "N1", "M0", "VALUE:IV" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2a", "N0", "M0", "VALUE:IIA" ], [ "T2a", "N1", "M0", "VALUE:IV" ], [ "T2a", "NX", "M0", "VALUE:UNK" ], [ "T2b", "N0", "M0", "VALUE:IIB" ], [ "T2b", "N1", "M0", "VALUE:IV" ], [ "T2b", "NX", "M0", "VALUE:UNK" ], [ "T2c", "N0", "M0", "VALUE:IIIA" ], [ "T2c", "N1", "M0", "VALUE:IV" ], [ "T2c", "NX", "M0", "VALUE:UNK" ], [ "T2d", "N0", "M0", "VALUE:IIIA" ], [ "T2d", "N1", "M0", "VALUE:IV" ], [ "T2d", "NX", "M0", "VALUE:UNK" ], [ "T2NOS", "N0", "M0", "VALUE:UNK" ], [ "T2NOS", "N1", "M0", "VALUE:IV" ], [ "T2NOS", "NX", "M0", "VALUE:UNK" ], [ "T3a", "N0", "M0", "VALUE:IIB" ], [ "T3a", "N1", "M0", "VALUE:IV" ], [ "T3a", "NX", "M0", "VALUE:UNK" ], [ "T3b", "N0", "M0", "VALUE:IIIA" ], [ "T3b", "N1", "M0", "VALUE:IV" ], [ "T3b", "NX", "M0", "VALUE:UNK" ], [ "T3c", "N0", "M0", "VALUE:IIIA" ], [ "T3c", "N1", "M0", "VALUE:IV" ], [ "T3c", "NX", "M0", "VALUE:UNK" ], [ "T3d", "N0", "M0", "VALUE:IIIB" ], [ "T3d", "N1", "M0", "VALUE:IV" ], [ "T3d", "NX", "M0", "VALUE:UNK" ], [ "T3NOS", "N0", "M0", "VALUE:UNK" ], [ "T3NOS", "N1", "M0", "VALUE:IV" ], [ "T3NOS", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IIIA" ], [ "T4a", "N1", "M0", "VALUE:IV" ], [ "T4a", "NX", "M0", "VALUE:UNK" ], [ "T4b", "N0", "M0", "VALUE:IIIB" ], [ "T4b", "N1", "M0", "VALUE:IV" ], [ "T4b", "NX", "M0", "VALUE:UNK" ], [ "T4c", "N0", "M0", "VALUE:IIIB" ], [ "T4c", "N1", "M0", "VALUE:IV" ], [ "T4c", "NX", "M0", "VALUE:UNK" ], [ "T4d", "N0", "M0", "VALUE:IIIC" ], [ "T4d", "N1", "M0", "VALUE:IV" ], [ "T4d", "NX", "M0", "VALUE:UNK" ], [ "T4e", "N0", "M0", "VALUE:IIIC" ], [ "T4e", "N1", "M0", "VALUE:IV" ], [ "T4e", "NX", "M0", "VALUE:UNK" ], [ "T4NOS", "N0", "M0", "VALUE:IIINOS" ], [ "T4NOS", "N1", "M0", "VALUE:IV" ], [ "T4NOS", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1a", "VALUE:IV" ], [ "T0", "N1", "M1a", "VALUE:IV" ], [ "T0", "NX", "M1a", "VALUE:IV" ], [ "T1a", "N0", "M1a", "VALUE:IV" ], [ "T1a", "N1", "M1a", "VALUE:IV" ], [ "T1a", "NX", "M1a", "VALUE:IV" ], [ "T1b", "N0", "M1a", "VALUE:IV" ], [ "T1b", "N1", "M1a", "VALUE:IV" ], [ "T1b", "NX", "M1a", "VALUE:IV" ], [ "T1c", "N0", "M1a", "VALUE:IV" ], [ "T1c", "N1", "M1a", "VALUE:IV" ], [ "T1c", "NX", "M1a", "VALUE:IV" ], [ "T1d", "N0", "M1a", "VALUE:IV" ], [ "T1d", "N1", "M1a", "VALUE:IV" ], [ "T1d", "NX", "M1a", "VALUE:IV" ], [ "T1NOS", "N0", "M1a", "VALUE:IV" ], [ "T1NOS", "N1", "M1a", "VALUE:IV" ], [ "T1NOS", "NX", "M1a", "VALUE:IV" ], [ "T2a", "N0", "M1a", "VALUE:IV" ], [ "T2a", "N1", "M1a", "VALUE:IV" ], [ "T2a", "NX", "M1a", "VALUE:IV" ], [ "T2b", "N0", "M1a", "VALUE:IV" ], [ "T2b", "N1", "M1a", "VALUE:IV" ], [ "T2b", "NX", "M1a", "VALUE:IV" ], [ "T2c", "N0", "M1a", "VALUE:IV" ], [ "T2c", "N1", "M1a", "VALUE:IV" ], [ "T2c", "NX", "M1a", "VALUE:IV" ], [ "T2d", "N0", "M1a", "VALUE:IV" ], [ "T2d", "N1", "M1a", "VALUE:IV" ], [ "T2d", "NX", "M1a", "VALUE:IV" ], [ "T2NOS", "N0", "M1a", "VALUE:IV" ], [ "T2NOS", "N1", "M1a", "VALUE:IV" ], [ "T2NOS", "NX", "M1a", "VALUE:IV" ], [ "T3a", "N0", "M1a", "VALUE:IV" ], [ "T3a", "N1", "M1a", "VALUE:IV" ], [ "T3a", "NX", "M1a", "VALUE:IV" ], [ "T3b", "N0", "M1a", "VALUE:IV" ], [ "T3b", "N1", "M1a", "VALUE:IV" ], [ "T3b", "NX", "M1a", "VALUE:IV" ], [ "T3c", "N0", "M1a", "VALUE:IV" ], [ "T3c", "N1", "M1a", "VALUE:IV" ], [ "T3c", "NX", "M1a", "VALUE:IV" ], [ "T3d", "N0", "M1a", "VALUE:IV" ], [ "T3d", "N1", "M1a", "VALUE:IV" ], [ "T3d", "NX", "M1a", "VALUE:IV" ], [ "T3NOS", "N0", "M1a", "VALUE:IV" ], [ "T3NOS", "N1", "M1a", "VALUE:IV" ], [ "T3NOS", "NX", "M1a", "VALUE:IV" ], [ "T4a", "N0", "M1a", "VALUE:IV" ], [ "T4a", "N1", "M1a", "VALUE:IV" ], [ "T4a", "NX", "M1a", "VALUE:IV" ], [ "T4b", "N0", "M1a", "VALUE:IV" ], [ "T4b", "N1", "M1a", "VALUE:IV" ], [ "T4b", "NX", "M1a", "VALUE:IV" ], [ "T4c", "N0", "M1a", "VALUE:IV" ], [ "T4c", "N1", "M1a", "VALUE:IV" ], [ "T4c", "NX", "M1a", "VALUE:IV" ], [ "T4d", "N0", "M1a", "VALUE:IV" ], [ "T4d", "N1", "M1a", "VALUE:IV" ], [ "T4d", "NX", "M1a", "VALUE:IV" ], [ "T4e", "N0", "M1a", "VALUE:IV" ], [ "T4e", "N1", "M1a", "VALUE:IV" ], [ "T4e", "NX", "M1a", "VALUE:IV" ], [ "T4NOS", "N0", "M1a", "VALUE:IV" ], [ "T4NOS", "N1", "M1a", "VALUE:IV" ], [ "T4NOS", "NX", "M1a", "VALUE:IV" ], [ "TX", "N0", "M1a", "VALUE:IV" ], [ "TX", "N1", "M1a", "VALUE:IV" ], [ "TX", "NX", "M1a", "VALUE:IV" ], [ "T0", "N0", "M1b", "VALUE:IV" ], [ "T0", "N1", "M1b", "VALUE:IV" ], [ "T0", "NX", "M1b", "VALUE:IV" ], [ "T1a", "N0", "M1b", "VALUE:IV" ], [ "T1a", "N1", "M1b", "VALUE:IV" ], [ "T1a", "NX", "M1b", "VALUE:IV" ], [ "T1b", "N0", "M1b", "VALUE:IV" ], [ "T1b", "N1", "M1b", "VALUE:IV" ], [ "T1b", "NX", "M1b", "VALUE:IV" ], [ "T1c", "N0", "M1b", "VALUE:IV" ], [ "T1c", "N1", "M1b", "VALUE:IV" ], [ "T1c", "NX", "M1b", "VALUE:IV" ], [ "T1d", "N0", "M1b", "VALUE:IV" ], [ "T1d", "N1", "M1b", "VALUE:IV" ], [ "T1d", "NX", "M1b", "VALUE:IV" ], [ "T1NOS", "N0", "M1b", "VALUE:IV" ], [ "T1NOS", "N1", "M1b", "VALUE:IV" ], [ "T1NOS", "NX", "M1b", "VALUE:IV" ], [ "T2a", "N0", "M1b", "VALUE:IV" ], [ "T2a", "N1", "M1b", "VALUE:IV" ], [ "T2a", "NX", "M1b", "VALUE:IV" ], [ "T2b", "N0", "M1b", "VALUE:IV" ], [ "T2b", "N1", "M1b", "VALUE:IV" ], [ "T2b", "NX", "M1b", "VALUE:IV" ], [ "T2c", "N0", "M1b", "VALUE:IV" ], [ "T2c", "N1", "M1b", "VALUE:IV" ], [ "T2c", "NX", "M1b", "VALUE:IV" ], [ "T2d", "N0", "M1b", "VALUE:IV" ], [ "T2d", "N1", "M1b", "VALUE:IV" ], [ "T2d", "NX", "M1b", "VALUE:IV" ], [ "T2NOS", "N0", "M1b", "VALUE:IV" ], [ "T2NOS", "N1", "M1b", "VALUE:IV" ], [ "T2NOS", "NX", "M1b", "VALUE:IV" ], [ "T3a", "N0", "M1b", "VALUE:IV" ], [ "T3a", "N1", "M1b", "VALUE:IV" ], [ "T3a", "NX", "M1b", "VALUE:IV" ], [ "T3b", "N0", "M1b", "VALUE:IV" ], [ "T3b", "N1", "M1b", "VALUE:IV" ], [ "T3b", "NX", "M1b", "VALUE:IV" ], [ "T3c", "N0", "M1b", "VALUE:IV" ], [ "T3c", "N1", "M1b", "VALUE:IV" ], [ "T3c", "NX", "M1b", "VALUE:IV" ], [ "T3d", "N0", "M1b", "VALUE:IV" ], [ "T3d", "N1", "M1b", "VALUE:IV" ], [ "T3d", "NX", "M1b", "VALUE:IV" ], [ "T3NOS", "N0", "M1b", "VALUE:IV" ], [ "T3NOS", "N1", "M1b", "VALUE:IV" ], [ "T3NOS", "NX", "M1b", "VALUE:IV" ], [ "T4a", "N0", "M1b", "VALUE:IV" ], [ "T4a", "N1", "M1b", "VALUE:IV" ], [ "T4a", "NX", "M1b", "VALUE:IV" ], [ "T4b", "N0", "M1b", "VALUE:IV" ], [ "T4b", "N1", "M1b", "VALUE:IV" ], [ "T4b", "NX", "M1b", "VALUE:IV" ], [ "T4c", "N0", "M1b", "VALUE:IV" ], [ "T4c", "N1", "M1b", "VALUE:IV" ], [ "T4c", "NX", "M1b", "VALUE:IV" ], [ "T4d", "N0", "M1b", "VALUE:IV" ], [ "T4d", "N1", "M1b", "VALUE:IV" ], [ "T4d", "NX", "M1b", "VALUE:IV" ], [ "T4e", "N0", "M1b", "VALUE:IV" ], [ "T4e", "N1", "M1b", "VALUE:IV" ], [ "T4e", "NX", "M1b", "VALUE:IV" ], [ "T4NOS", "N0", "M1b", "VALUE:IV" ], [ "T4NOS", "N1", "M1b", "VALUE:IV" ], [ "T4NOS", "NX", "M1b", "VALUE:IV" ], [ "TX", "N0", "M1b", "VALUE:IV" ], [ "TX", "N1", "M1b", "VALUE:IV" ], [ "TX", "NX", "M1b", "VALUE:IV" ], [ "T0", "N0", "M1c", "VALUE:IV" ], [ "T0", "N1", "M1c", "VALUE:IV" ], [ "T0", "NX", "M1c", "VALUE:IV" ], [ "T1a", "N0", "M1c", "VALUE:IV" ], [ "T1a", "N1", "M1c", "VALUE:IV" ], [ "T1a", "NX", "M1c", "VALUE:IV" ], [ "T1b", "N0", "M1c", "VALUE:IV" ], [ "T1b", "N1", "M1c", "VALUE:IV" ], [ "T1b", "NX", "M1c", "VALUE:IV" ], [ "T1c", "N0", "M1c", "VALUE:IV" ], [ "T1c", "N1", "M1c", "VALUE:IV" ], [ "T1c", "NX", "M1c", "VALUE:IV" ], [ "T1d", "N0", "M1c", "VALUE:IV" ], [ "T1d", "N1", "M1c", "VALUE:IV" ], [ "T1d", "NX", "M1c", "VALUE:IV" ], [ "T1NOS", "N0", "M1c", "VALUE:IV" ], [ "T1NOS", "N1", "M1c", "VALUE:IV" ], [ "T1NOS", "NX", "M1c", "VALUE:IV" ], [ "T2a", "N0", "M1c", "VALUE:IV" ], [ "T2a", "N1", "M1c", "VALUE:IV" ], [ "T2a", "NX", "M1c", "VALUE:IV" ], [ "T2b", "N0", "M1c", "VALUE:IV" ], [ "T2b", "N1", "M1c", "VALUE:IV" ], [ "T2b", "NX", "M1c", "VALUE:IV" ], [ "T2c", "N0", "M1c", "VALUE:IV" ], [ "T2c", "N1", "M1c", "VALUE:IV" ], [ "T2c", "NX", "M1c", "VALUE:IV" ], [ "T2d", "N0", "M1c", "VALUE:IV" ], [ "T2d", "N1", "M1c", "VALUE:IV" ], [ "T2d", "NX", "M1c", "VALUE:IV" ], [ "T2NOS", "N0", "M1c", "VALUE:IV" ], [ "T2NOS", "N1", "M1c", "VALUE:IV" ], [ "T2NOS", "NX", "M1c", "VALUE:IV" ], [ "T3a", "N0", "M1c", "VALUE:IV" ], [ "T3a", "N1", "M1c", "VALUE:IV" ], [ "T3a", "NX", "M1c", "VALUE:IV" ], [ "T3b", "N0", "M1c", "VALUE:IV" ], [ "T3b", "N1", "M1c", "VALUE:IV" ], [ "T3b", "NX", "M1c", "VALUE:IV" ], [ "T3c", "N0", "M1c", "VALUE:IV" ], [ "T3c", "N1", "M1c", "VALUE:IV" ], [ "T3c", "NX", "M1c", "VALUE:IV" ], [ "T3d", "N0", "M1c", "VALUE:IV" ], [ "T3d", "N1", "M1c", "VALUE:IV" ], [ "T3d", "NX", "M1c", "VALUE:IV" ], [ "T3NOS", "N0", "M1c", "VALUE:IV" ], [ "T3NOS", "N1", "M1c", "VALUE:IV" ], [ "T3NOS", "NX", "M1c", "VALUE:IV" ], [ "T4a", "N0", "M1c", "VALUE:IV" ], [ "T4a", "N1", "M1c", "VALUE:IV" ], [ "T4a", "NX", "M1c", "VALUE:IV" ], [ "T4b", "N0", "M1c", "VALUE:IV" ], [ "T4b", "N1", "M1c", "VALUE:IV" ], [ "T4b", "NX", "M1c", "VALUE:IV" ], [ "T4c", "N0", "M1c", "VALUE:IV" ], [ "T4c", "N1", "M1c", "VALUE:IV" ], [ "T4c", "NX", "M1c", "VALUE:IV" ], [ "T4d", "N0", "M1c", "VALUE:IV" ], [ "T4d", "N1", "M1c", "VALUE:IV" ], [ "T4d", "NX", "M1c", "VALUE:IV" ], [ "T4e", "N0", "M1c", "VALUE:IV" ], [ "T4e", "N1", "M1c", "VALUE:IV" ], [ "T4e", "NX", "M1c", "VALUE:IV" ], [ "T4NOS", "N0", "M1c", "VALUE:IV" ], [ "T4NOS", "N1", "M1c", "VALUE:IV" ], [ "T4NOS", "NX", "M1c", "VALUE:IV" ], [ "TX", "N0", "M1c", "VALUE:IV" ], [ "TX", "N1", "M1c", "VALUE:IV" ], [ "TX", "NX", "M1c", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "VALUE:IV" ], [ "T1a", "N0", "M1NOS", "VALUE:IV" ], [ "T1a", "N1", "M1NOS", "VALUE:IV" ], [ "T1a", "NX", "M1NOS", "VALUE:IV" ], [ "T1b", "N0", "M1NOS", "VALUE:IV" ], [ "T1b", "N1", "M1NOS", "VALUE:IV" ], [ "T1b", "NX", "M1NOS", "VALUE:IV" ], [ "T1c", "N0", "M1NOS", "VALUE:IV" ], [ "T1c", "N1", "M1NOS", "VALUE:IV" ], [ "T1c", "NX", "M1NOS", "VALUE:IV" ], [ "T1d", "N0", "M1NOS", "VALUE:IV" ], [ "T1d", "N1", "M1NOS", "VALUE:IV" ], [ "T1d", "NX", "M1NOS", "VALUE:IV" ], [ "T1NOS", "N0", "M1NOS", "VALUE:IV" ], [ "T1NOS", "N1", "M1NOS", "VALUE:IV" ], [ "T1NOS", "NX", "M1NOS", "VALUE:IV" ], [ "T2a", "N0", "M1NOS", "VALUE:IV" ], [ "T2a", "N1", "M1NOS", "VALUE:IV" ], [ "T2a", "NX", "M1NOS", "VALUE:IV" ], [ "T2b", "N0", "M1NOS", "VALUE:IV" ], [ "T2b", "N1", "M1NOS", "VALUE:IV" ], [ "T2b", "NX", "M1NOS", "VALUE:IV" ], [ "T2c", "N0", "M1NOS", "VALUE:IV" ], [ "T2c", "N1", "M1NOS", "VALUE:IV" ], [ "T2c", "NX", "M1NOS", "VALUE:IV" ], [ "T2d", "N0", "M1NOS", "VALUE:IV" ], [ "T2d", "N1", "M1NOS", "VALUE:IV" ], [ "T2d", "NX", "M1NOS", "VALUE:IV" ], [ "T2NOS", "N0", "M1NOS", "VALUE:IV" ], [ "T2NOS", "N1", "M1NOS", "VALUE:IV" ], [ "T2NOS", "NX", "M1NOS", "VALUE:IV" ], [ "T3a", "N0", "M1NOS", "VALUE:IV" ], [ "T3a", "N1", "M1NOS", "VALUE:IV" ], [ "T3a", "NX", "M1NOS", "VALUE:IV" ], [ "T3b", "N0", "M1NOS", "VALUE:IV" ], [ "T3b", "N1", "M1NOS", "VALUE:IV" ], [ "T3b", "NX", "M1NOS", "VALUE:IV" ], [ "T3c", "N0", "M1NOS", "VALUE:IV" ], [ "T3c", "N1", "M1NOS", "VALUE:IV" ], [ "T3c", "NX", "M1NOS", "VALUE:IV" ], [ "T3d", "N0", "M1NOS", "VALUE:IV" ], [ "T3d", "N1", "M1NOS", "VALUE:IV" ], [ "T3d", "NX", "M1NOS", "VALUE:IV" ], [ "T3NOS", "N0", "M1NOS", "VALUE:IV" ], [ "T3NOS", "N1", "M1NOS", "VALUE:IV" ], [ "T3NOS", "NX", "M1NOS", "VALUE:IV" ], [ "T4a", "N0", "M1NOS", "VALUE:IV" ], [ "T4a", "N1", "M1NOS", "VALUE:IV" ], [ "T4a", "NX", "M1NOS", "VALUE:IV" ], [ "T4b", "N0", "M1NOS", "VALUE:IV" ], [ "T4b", "N1", "M1NOS", "VALUE:IV" ], [ "T4b", "NX", "M1NOS", "VALUE:IV" ], [ "T4c", "N0", "M1NOS", "VALUE:IV" ], [ "T4c", "N1", "M1NOS", "VALUE:IV" ], [ "T4c", "NX", "M1NOS", "VALUE:IV" ], [ "T4d", "N0", "M1NOS", "VALUE:IV" ], [ "T4d", "N1", "M1NOS", "VALUE:IV" ], [ "T4d", "NX", "M1NOS", "VALUE:IV" ], [ "T4e", "N0", "M1NOS", "VALUE:IV" ], [ "T4e", "N1", "M1NOS", "VALUE:IV" ], [ "T4e", "NX", "M1NOS", "VALUE:IV" ], [ "T4NOS", "N0", "M1NOS", "VALUE:IV" ], [ "T4NOS", "N1", "M1NOS", "VALUE:IV" ], [ "T4NOS", "NX", "M1NOS", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upw.json deleted file mode 100644 index 001b0808e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upw.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_upw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:59.738Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1a", "M0", "VALUE:IIIA" ], [ "T0", "N1b", "M0", "VALUE:IIIA" ], [ "T0", "N1c", "M0", "VALUE:IIIA" ], [ "T0", "N1NOS", "M0", "VALUE:IIIA" ], [ "T0", "N2a", "M0", "VALUE:IIIA" ], [ "T0", "N2b", "M0", "VALUE:IIIB" ], [ "T0", "N2NOS", "M0", "VALUE:IIINOS" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1a", "M0", "ERROR:" ], [ "Tis", "N1b", "M0", "ERROR:" ], [ "Tis", "N1c", "M0", "ERROR:" ], [ "Tis", "N1NOS", "M0", "ERROR:" ], [ "Tis", "N2a", "M0", "ERROR:" ], [ "Tis", "N2b", "M0", "ERROR:" ], [ "Tis", "N2NOS", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1a", "M0", "VALUE:IIIA" ], [ "T1", "N1b", "M0", "VALUE:IIIA" ], [ "T1", "N1c", "M0", "VALUE:IIIA" ], [ "T1", "N1NOS", "M0", "VALUE:IIIA" ], [ "T1", "N2a", "M0", "VALUE:IIIA" ], [ "T1", "N2b", "M0", "VALUE:IIIB" ], [ "T1", "N2NOS", "M0", "VALUE:IIINOS" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:I" ], [ "T2", "N1a", "M0", "VALUE:IIIA" ], [ "T2", "N1b", "M0", "VALUE:IIIA" ], [ "T2", "N1c", "M0", "VALUE:IIIA" ], [ "T2", "N1NOS", "M0", "VALUE:IIIA" ], [ "T2", "N2a", "M0", "VALUE:IIIB" ], [ "T2", "N2b", "M0", "VALUE:IIIB" ], [ "T2", "N2NOS", "M0", "VALUE:IIIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIA" ], [ "T3", "N1a", "M0", "VALUE:IIIB" ], [ "T3", "N1b", "M0", "VALUE:IIIB" ], [ "T3", "N1c", "M0", "VALUE:IIIB" ], [ "T3", "N1NOS", "M0", "VALUE:IIIB" ], [ "T3", "N2a", "M0", "VALUE:IIIB" ], [ "T3", "N2b", "M0", "VALUE:IIIC" ], [ "T3", "N2NOS", "M0", "VALUE:IIINOS" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IIB" ], [ "T4a", "N1a", "M0", "VALUE:IIIB" ], [ "T4a", "N1b", "M0", "VALUE:IIIB" ], [ "T4a", "N1c", "M0", "VALUE:IIIB" ], [ "T4a", "N1NOS", "M0", "VALUE:IIIB" ], [ "T4a", "N2a", "M0", "VALUE:IIIC" ], [ "T4a", "N2b", "M0", "VALUE:IIIC" ], [ "T4a", "N2NOS", "M0", "VALUE:IIIC" ], [ "T4a", "NX", "M0", "VALUE:UNK" ], [ "T4b", "N0", "M0", "VALUE:IIC" ], [ "T4b", "N1a", "M0", "VALUE:IIIC" ], [ "T4b", "N1b", "M0", "VALUE:IIIC" ], [ "T4b", "N1c", "M0", "VALUE:IIIC" ], [ "T4b", "N1NOS", "M0", "VALUE:IIIC" ], [ "T4b", "N2a", "M0", "VALUE:IIIC" ], [ "T4b", "N2b", "M0", "VALUE:IIIC" ], [ "T4b", "N2NOS", "M0", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "VALUE:UNK" ], [ "T4NOS", "N0", "M0", "VALUE:IINOS" ], [ "T4NOS", "N1a", "M0", "VALUE:IIIB" ], [ "T4NOS", "N1b", "M0", "VALUE:IIIB" ], [ "T4NOS", "N1c", "M0", "VALUE:IIIB" ], [ "T4NOS", "N1NOS", "M0", "VALUE:IIIB" ], [ "T4NOS", "N2a", "M0", "VALUE:IIIC" ], [ "T4NOS", "N2b", "M0", "VALUE:IIIC" ], [ "T4NOS", "N2NOS", "M0", "VALUE:IIIC" ], [ "T4NOS", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1a", "M0", "VALUE:IIINOS" ], [ "TX", "N1b", "M0", "VALUE:IIINOS" ], [ "TX", "N1c", "M0", "VALUE:IIINOS" ], [ "TX", "N1NOS", "M0", "VALUE:IIINOS" ], [ "TX", "N2a", "M0", "VALUE:IIINOS" ], [ "TX", "N2b", "M0", "VALUE:IIINOS" ], [ "TX", "N2NOS", "M0", "VALUE:IIINOS" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1a", "VALUE:IVA" ], [ "T0", "N1a", "M1a", "VALUE:IVA" ], [ "T0", "N1b", "M1a", "VALUE:IVA" ], [ "T0", "N1c", "M1a", "VALUE:IVA" ], [ "T0", "N1NOS", "M1a", "VALUE:IVA" ], [ "T0", "N2a", "M1a", "VALUE:IVA" ], [ "T0", "N2b", "M1a", "VALUE:IVA" ], [ "T0", "N2NOS", "M1a", "VALUE:IVA" ], [ "T0", "NX", "M1a", "VALUE:IVA" ], [ "Tis", "N0", "M1a", "ERROR:" ], [ "Tis", "N1a", "M1a", "ERROR:" ], [ "Tis", "N1b", "M1a", "ERROR:" ], [ "Tis", "N1c", "M1a", "ERROR:" ], [ "Tis", "N1NOS", "M1a", "ERROR:" ], [ "Tis", "N2a", "M1a", "ERROR:" ], [ "Tis", "N2b", "M1a", "ERROR:" ], [ "Tis", "N2NOS", "M1a", "ERROR:" ], [ "Tis", "NX", "M1a", "ERROR:" ], [ "T1", "N0", "M1a", "VALUE:IVA" ], [ "T1", "N1a", "M1a", "VALUE:IVA" ], [ "T1", "N1b", "M1a", "VALUE:IVA" ], [ "T1", "N1c", "M1a", "VALUE:IVA" ], [ "T1", "N1NOS", "M1a", "VALUE:IVA" ], [ "T1", "N2a", "M1a", "VALUE:IVA" ], [ "T1", "N2b", "M1a", "VALUE:IVA" ], [ "T1", "N2NOS", "M1a", "VALUE:IVA" ], [ "T1", "NX", "M1a", "VALUE:IVA" ], [ "T2", "N0", "M1a", "VALUE:IVA" ], [ "T2", "N1a", "M1a", "VALUE:IVA" ], [ "T2", "N1b", "M1a", "VALUE:IVA" ], [ "T2", "N1c", "M1a", "VALUE:IVA" ], [ "T2", "N1NOS", "M1a", "VALUE:IVA" ], [ "T2", "N2a", "M1a", "VALUE:IVA" ], [ "T2", "N2b", "M1a", "VALUE:IVA" ], [ "T2", "N2NOS", "M1a", "VALUE:IVA" ], [ "T2", "NX", "M1a", "VALUE:IVA" ], [ "T3", "N0", "M1a", "VALUE:IVA" ], [ "T3", "N1a", "M1a", "VALUE:IVA" ], [ "T3", "N1b", "M1a", "VALUE:IVA" ], [ "T3", "N1c", "M1a", "VALUE:IVA" ], [ "T3", "N1NOS", "M1a", "VALUE:IVA" ], [ "T3", "N2a", "M1a", "VALUE:IVA" ], [ "T3", "N2b", "M1a", "VALUE:IVA" ], [ "T3", "N2NOS", "M1a", "VALUE:IVA" ], [ "T3", "NX", "M1a", "VALUE:IVA" ], [ "T4a", "N0", "M1a", "VALUE:IVA" ], [ "T4a", "N1a", "M1a", "VALUE:IVA" ], [ "T4a", "N1b", "M1a", "VALUE:IVA" ], [ "T4a", "N1c", "M1a", "VALUE:IVA" ], [ "T4a", "N1NOS", "M1a", "VALUE:IVA" ], [ "T4a", "N2a", "M1a", "VALUE:IVA" ], [ "T4a", "N2b", "M1a", "VALUE:IVA" ], [ "T4a", "N2NOS", "M1a", "VALUE:IVA" ], [ "T4a", "NX", "M1a", "VALUE:IVA" ], [ "T4b", "N0", "M1a", "VALUE:IVA" ], [ "T4b", "N1a", "M1a", "VALUE:IVA" ], [ "T4b", "N1b", "M1a", "VALUE:IVA" ], [ "T4b", "N1c", "M1a", "VALUE:IVA" ], [ "T4b", "N1NOS", "M1a", "VALUE:IVA" ], [ "T4b", "N2a", "M1a", "VALUE:IVA" ], [ "T4b", "N2b", "M1a", "VALUE:IVA" ], [ "T4b", "N2NOS", "M1a", "VALUE:IVA" ], [ "T4b", "NX", "M1a", "VALUE:IVA" ], [ "T4NOS", "N0", "M1a", "VALUE:IVA" ], [ "T4NOS", "N1a", "M1a", "VALUE:IVA" ], [ "T4NOS", "N1b", "M1a", "VALUE:IVA" ], [ "T4NOS", "N1c", "M1a", "VALUE:IVA" ], [ "T4NOS", "N1NOS", "M1a", "VALUE:IVA" ], [ "T4NOS", "N2a", "M1a", "VALUE:IVA" ], [ "T4NOS", "N2b", "M1a", "VALUE:IVA" ], [ "T4NOS", "N2NOS", "M1a", "VALUE:IVA" ], [ "T4NOS", "NX", "M1a", "VALUE:IVA" ], [ "TX", "N0", "M1a", "VALUE:IVA" ], [ "TX", "N1a", "M1a", "VALUE:IVA" ], [ "TX", "N1b", "M1a", "VALUE:IVA" ], [ "TX", "N1c", "M1a", "VALUE:IVA" ], [ "TX", "N1NOS", "M1a", "VALUE:IVA" ], [ "TX", "N2a", "M1a", "VALUE:IVA" ], [ "TX", "N2b", "M1a", "VALUE:IVA" ], [ "TX", "N2NOS", "M1a", "VALUE:IVA" ], [ "TX", "NX", "M1a", "VALUE:IVA" ], [ "T0", "N0", "M1b", "VALUE:IVB" ], [ "T0", "N1a", "M1b", "VALUE:IVB" ], [ "T0", "N1b", "M1b", "VALUE:IVB" ], [ "T0", "N1c", "M1b", "VALUE:IVB" ], [ "T0", "N1NOS", "M1b", "VALUE:IVB" ], [ "T0", "N2a", "M1b", "VALUE:IVB" ], [ "T0", "N2b", "M1b", "VALUE:IVB" ], [ "T0", "N2NOS", "M1b", "VALUE:IVB" ], [ "T0", "NX", "M1b", "VALUE:IVB" ], [ "Tis", "N0", "M1b", "ERROR:" ], [ "Tis", "N1a", "M1b", "ERROR:" ], [ "Tis", "N1b", "M1b", "ERROR:" ], [ "Tis", "N1c", "M1b", "ERROR:" ], [ "Tis", "N1NOS", "M1b", "ERROR:" ], [ "Tis", "N2a", "M1b", "ERROR:" ], [ "Tis", "N2b", "M1b", "ERROR:" ], [ "Tis", "N2NOS", "M1b", "ERROR:" ], [ "Tis", "NX", "M1b", "ERROR:" ], [ "T1", "N0", "M1b", "VALUE:IVB" ], [ "T1", "N1a", "M1b", "VALUE:IVB" ], [ "T1", "N1b", "M1b", "VALUE:IVB" ], [ "T1", "N1c", "M1b", "VALUE:IVB" ], [ "T1", "N1NOS", "M1b", "VALUE:IVB" ], [ "T1", "N2a", "M1b", "VALUE:IVB" ], [ "T1", "N2b", "M1b", "VALUE:IVB" ], [ "T1", "N2NOS", "M1b", "VALUE:IVB" ], [ "T1", "NX", "M1b", "VALUE:IVB" ], [ "T2", "N0", "M1b", "VALUE:IVB" ], [ "T2", "N1a", "M1b", "VALUE:IVB" ], [ "T2", "N1b", "M1b", "VALUE:IVB" ], [ "T2", "N1c", "M1b", "VALUE:IVB" ], [ "T2", "N1NOS", "M1b", "VALUE:IVB" ], [ "T2", "N2a", "M1b", "VALUE:IVB" ], [ "T2", "N2b", "M1b", "VALUE:IVB" ], [ "T2", "N2NOS", "M1b", "VALUE:IVB" ], [ "T2", "NX", "M1b", "VALUE:IVB" ], [ "T3", "N0", "M1b", "VALUE:IVB" ], [ "T3", "N1a", "M1b", "VALUE:IVB" ], [ "T3", "N1b", "M1b", "VALUE:IVB" ], [ "T3", "N1c", "M1b", "VALUE:IVB" ], [ "T3", "N1NOS", "M1b", "VALUE:IVB" ], [ "T3", "N2a", "M1b", "VALUE:IVB" ], [ "T3", "N2b", "M1b", "VALUE:IVB" ], [ "T3", "N2NOS", "M1b", "VALUE:IVB" ], [ "T3", "NX", "M1b", "VALUE:IVB" ], [ "T4a", "N0", "M1b", "VALUE:IVB" ], [ "T4a", "N1a", "M1b", "VALUE:IVB" ], [ "T4a", "N1b", "M1b", "VALUE:IVB" ], [ "T4a", "N1c", "M1b", "VALUE:IVB" ], [ "T4a", "N1NOS", "M1b", "VALUE:IVB" ], [ "T4a", "N2a", "M1b", "VALUE:IVB" ], [ "T4a", "N2b", "M1b", "VALUE:IVB" ], [ "T4a", "N2NOS", "M1b", "VALUE:IVB" ], [ "T4a", "NX", "M1b", "VALUE:IVB" ], [ "T4b", "N0", "M1b", "VALUE:IVB" ], [ "T4b", "N1a", "M1b", "VALUE:IVB" ], [ "T4b", "N1b", "M1b", "VALUE:IVB" ], [ "T4b", "N1c", "M1b", "VALUE:IVB" ], [ "T4b", "N1NOS", "M1b", "VALUE:IVB" ], [ "T4b", "N2a", "M1b", "VALUE:IVB" ], [ "T4b", "N2b", "M1b", "VALUE:IVB" ], [ "T4b", "N2NOS", "M1b", "VALUE:IVB" ], [ "T4b", "NX", "M1b", "VALUE:IVB" ], [ "T4NOS", "N0", "M1b", "VALUE:IVB" ], [ "T4NOS", "N1a", "M1b", "VALUE:IVB" ], [ "T4NOS", "N1b", "M1b", "VALUE:IVB" ], [ "T4NOS", "N1c", "M1b", "VALUE:IVB" ], [ "T4NOS", "N1NOS", "M1b", "VALUE:IVB" ], [ "T4NOS", "N2a", "M1b", "VALUE:IVB" ], [ "T4NOS", "N2b", "M1b", "VALUE:IVB" ], [ "T4NOS", "N2NOS", "M1b", "VALUE:IVB" ], [ "T4NOS", "NX", "M1b", "VALUE:IVB" ], [ "TX", "N0", "M1b", "VALUE:IVB" ], [ "TX", "N1a", "M1b", "VALUE:IVB" ], [ "TX", "N1b", "M1b", "VALUE:IVB" ], [ "TX", "N1c", "M1b", "VALUE:IVB" ], [ "TX", "N1NOS", "M1b", "VALUE:IVB" ], [ "TX", "N2a", "M1b", "VALUE:IVB" ], [ "TX", "N2b", "M1b", "VALUE:IVB" ], [ "TX", "N2NOS", "M1b", "VALUE:IVB" ], [ "TX", "NX", "M1b", "VALUE:IVB" ], [ "T0", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T0", "N1a", "M1NOS", "VALUE:IVNOS" ], [ "T0", "N1b", "M1NOS", "VALUE:IVNOS" ], [ "T0", "N1c", "M1NOS", "VALUE:IVNOS" ], [ "T0", "N1NOS", "M1NOS", "VALUE:IVNOS" ], [ "T0", "N2a", "M1NOS", "VALUE:IVNOS" ], [ "T0", "N2b", "M1NOS", "VALUE:IVNOS" ], [ "T0", "N2NOS", "M1NOS", "VALUE:IVNOS" ], [ "T0", "NX", "M1NOS", "VALUE:IVNOS" ], [ "Tis", "N0", "M1NOS", "ERROR:" ], [ "Tis", "N1a", "M1NOS", "ERROR:" ], [ "Tis", "N1b", "M1NOS", "ERROR:" ], [ "Tis", "N1c", "M1NOS", "ERROR:" ], [ "Tis", "N1NOS", "M1NOS", "ERROR:" ], [ "Tis", "N2a", "M1NOS", "ERROR:" ], [ "Tis", "N2b", "M1NOS", "ERROR:" ], [ "Tis", "N2NOS", "M1NOS", "ERROR:" ], [ "Tis", "NX", "M1NOS", "ERROR:" ], [ "T1", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T1", "N1a", "M1NOS", "VALUE:IVNOS" ], [ "T1", "N1b", "M1NOS", "VALUE:IVNOS" ], [ "T1", "N1c", "M1NOS", "VALUE:IVNOS" ], [ "T1", "N1NOS", "M1NOS", "VALUE:IVNOS" ], [ "T1", "N2a", "M1NOS", "VALUE:IVNOS" ], [ "T1", "N2b", "M1NOS", "VALUE:IVNOS" ], [ "T1", "N2NOS", "M1NOS", "VALUE:IVNOS" ], [ "T1", "NX", "M1NOS", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T2", "N1a", "M1NOS", "VALUE:IVNOS" ], [ "T2", "N1b", "M1NOS", "VALUE:IVNOS" ], [ "T2", "N1c", "M1NOS", "VALUE:IVNOS" ], [ "T2", "N1NOS", "M1NOS", "VALUE:IVNOS" ], [ "T2", "N2a", "M1NOS", "VALUE:IVNOS" ], [ "T2", "N2b", "M1NOS", "VALUE:IVNOS" ], [ "T2", "N2NOS", "M1NOS", "VALUE:IVNOS" ], [ "T2", "NX", "M1NOS", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T3", "N1a", "M1NOS", "VALUE:IVNOS" ], [ "T3", "N1b", "M1NOS", "VALUE:IVNOS" ], [ "T3", "N1c", "M1NOS", "VALUE:IVNOS" ], [ "T3", "N1NOS", "M1NOS", "VALUE:IVNOS" ], [ "T3", "N2a", "M1NOS", "VALUE:IVNOS" ], [ "T3", "N2b", "M1NOS", "VALUE:IVNOS" ], [ "T3", "N2NOS", "M1NOS", "VALUE:IVNOS" ], [ "T3", "NX", "M1NOS", "VALUE:IVNOS" ], [ "T4a", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T4a", "N1a", "M1NOS", "VALUE:IVNOS" ], [ "T4a", "N1b", "M1NOS", "VALUE:IVNOS" ], [ "T4a", "N1c", "M1NOS", "VALUE:IVNOS" ], [ "T4a", "N1NOS", "M1NOS", "VALUE:IVNOS" ], [ "T4a", "N2a", "M1NOS", "VALUE:IVNOS" ], [ "T4a", "N2b", "M1NOS", "VALUE:IVNOS" ], [ "T4a", "N2NOS", "M1NOS", "VALUE:IVNOS" ], [ "T4a", "NX", "M1NOS", "VALUE:IVNOS" ], [ "T4b", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T4b", "N1a", "M1NOS", "VALUE:IVNOS" ], [ "T4b", "N1b", "M1NOS", "VALUE:IVNOS" ], [ "T4b", "N1c", "M1NOS", "VALUE:IVNOS" ], [ "T4b", "N1NOS", "M1NOS", "VALUE:IVNOS" ], [ "T4b", "N2a", "M1NOS", "VALUE:IVNOS" ], [ "T4b", "N2b", "M1NOS", "VALUE:IVNOS" ], [ "T4b", "N2NOS", "M1NOS", "VALUE:IVNOS" ], [ "T4b", "NX", "M1NOS", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T4NOS", "N1a", "M1NOS", "VALUE:IVNOS" ], [ "T4NOS", "N1b", "M1NOS", "VALUE:IVNOS" ], [ "T4NOS", "N1c", "M1NOS", "VALUE:IVNOS" ], [ "T4NOS", "N1NOS", "M1NOS", "VALUE:IVNOS" ], [ "T4NOS", "N2a", "M1NOS", "VALUE:IVNOS" ], [ "T4NOS", "N2b", "M1NOS", "VALUE:IVNOS" ], [ "T4NOS", "N2NOS", "M1NOS", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1NOS", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "VALUE:IVNOS" ], [ "TX", "N1a", "M1NOS", "VALUE:IVNOS" ], [ "TX", "N1b", "M1NOS", "VALUE:IVNOS" ], [ "TX", "N1c", "M1NOS", "VALUE:IVNOS" ], [ "TX", "N1NOS", "M1NOS", "VALUE:IVNOS" ], [ "TX", "N2a", "M1NOS", "VALUE:IVNOS" ], [ "TX", "N2b", "M1NOS", "VALUE:IVNOS" ], [ "TX", "N2NOS", "M1NOS", "VALUE:IVNOS" ], [ "TX", "NX", "M1NOS", "VALUE:IVNOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upx.json deleted file mode 100644 index fd11bd7ad..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upx.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_upx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:59.835Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N1", "M0", "VALUE:IIIB" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:I" ], [ "T1b", "N1", "M0", "VALUE:IIIB" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N1", "M0", "VALUE:IIIB" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IIA" ], [ "T2", "N1", "M0", "VALUE:IIIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIB" ], [ "T3", "N1", "M0", "VALUE:IIIB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IIIA" ], [ "T4", "N1", "M0", "VALUE:IIIB" ], [ "T4", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIIB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "T1a", "N0", "M1", "VALUE:IV" ], [ "T1a", "N1", "M1", "VALUE:IV" ], [ "T1a", "NX", "M1", "VALUE:IV" ], [ "T1b", "N0", "M1", "VALUE:IV" ], [ "T1b", "N1", "M1", "VALUE:IV" ], [ "T1b", "NX", "M1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upy.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upy.json deleted file mode 100644 index d6f8fc604..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upy.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc7_stage_upy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage - GIST Small Intestine", - "last_modified" : "2015-05-27T16:18:59.883Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "High", "ERROR:" ], [ "T0", "N0", "M0", "Low", "ERROR:" ], [ "T0", "N0", "M0", "Unknown", "ERROR:" ], [ "T0", "N1", "M0", "High", "VALUE:IV" ], [ "T0", "N1", "M0", "Low", "VALUE:IV" ], [ "T0", "N1", "M0", "Unknown", "VALUE:IV" ], [ "T1", "N0", "M0", "High", "VALUE:IIIA" ], [ "T1", "N0", "M0", "Low", "VALUE:I" ], [ "T1", "N0", "M0", "Unknown", "VALUE:UNK" ], [ "T1", "N1", "M0", "High", "VALUE:IV" ], [ "T1", "N1", "M0", "Low", "VALUE:IV" ], [ "T1", "N1", "M0", "Unknown", "VALUE:IV" ], [ "T2", "N0", "M0", "High", "VALUE:IIIB" ], [ "T2", "N0", "M0", "Low", "VALUE:I" ], [ "T2", "N0", "M0", "Unknown", "VALUE:UNK" ], [ "T2", "N1", "M0", "High", "VALUE:IV" ], [ "T2", "N1", "M0", "Low", "VALUE:IV" ], [ "T2", "N1", "M0", "Unknown", "VALUE:IV" ], [ "T3", "N0", "M0", "High", "VALUE:IIIB" ], [ "T3", "N0", "M0", "Low", "VALUE:II" ], [ "T3", "N0", "M0", "Unknown", "VALUE:UNK" ], [ "T3", "N1", "M0", "High", "VALUE:IV" ], [ "T3", "N1", "M0", "Low", "VALUE:IV" ], [ "T3", "N1", "M0", "Unknown", "VALUE:IV" ], [ "T4", "N0", "M0", "High", "VALUE:IIIB" ], [ "T4", "N0", "M0", "Low", "VALUE:IIIA" ], [ "T4", "N0", "M0", "Unknown", "VALUE:IIINOS" ], [ "T4", "N1", "M0", "High", "VALUE:IV" ], [ "T4", "N1", "M0", "Low", "VALUE:IV" ], [ "T4", "N1", "M0", "Unknown", "VALUE:IV" ], [ "TX", "N0", "M0", "High", "VALUE:UNK" ], [ "TX", "N0", "M0", "Low", "VALUE:UNK" ], [ "TX", "N0", "M0", "Unknown", "VALUE:UNK" ], [ "TX", "N1", "M0", "High", "VALUE:IV" ], [ "TX", "N1", "M0", "Low", "VALUE:IV" ], [ "TX", "N1", "M0", "Unknown", "VALUE:IV" ], [ "T0", "N0", "M1", "High", "VALUE:IV" ], [ "T0", "N0", "M1", "Low", "VALUE:IV" ], [ "T0", "N0", "M1", "Unknown", "VALUE:IV" ], [ "T0", "N1", "M1", "High", "VALUE:IV" ], [ "T0", "N1", "M1", "Low", "VALUE:IV" ], [ "T0", "N1", "M1", "Unknown", "VALUE:IV" ], [ "T1", "N0", "M1", "High", "VALUE:IV" ], [ "T1", "N0", "M1", "Low", "VALUE:IV" ], [ "T1", "N0", "M1", "Unknown", "VALUE:IV" ], [ "T1", "N1", "M1", "High", "VALUE:IV" ], [ "T1", "N1", "M1", "Low", "VALUE:IV" ], [ "T1", "N1", "M1", "Unknown", "VALUE:IV" ], [ "T2", "N0", "M1", "High", "VALUE:IV" ], [ "T2", "N0", "M1", "Low", "VALUE:IV" ], [ "T2", "N0", "M1", "Unknown", "VALUE:IV" ], [ "T2", "N1", "M1", "High", "VALUE:IV" ], [ "T2", "N1", "M1", "Low", "VALUE:IV" ], [ "T2", "N1", "M1", "Unknown", "VALUE:IV" ], [ "T3", "N0", "M1", "High", "VALUE:IV" ], [ "T3", "N0", "M1", "Low", "VALUE:IV" ], [ "T3", "N0", "M1", "Unknown", "VALUE:IV" ], [ "T3", "N1", "M1", "High", "VALUE:IV" ], [ "T3", "N1", "M1", "Low", "VALUE:IV" ], [ "T3", "N1", "M1", "Unknown", "VALUE:IV" ], [ "T4", "N0", "M1", "High", "VALUE:IV" ], [ "T4", "N0", "M1", "Low", "VALUE:IV" ], [ "T4", "N0", "M1", "Unknown", "VALUE:IV" ], [ "T4", "N1", "M1", "High", "VALUE:IV" ], [ "T4", "N1", "M1", "Low", "VALUE:IV" ], [ "T4", "N1", "M1", "Unknown", "VALUE:IV" ], [ "TX", "N0", "M1", "High", "VALUE:IV" ], [ "TX", "N0", "M1", "Low", "VALUE:IV" ], [ "TX", "N0", "M1", "Unknown", "VALUE:IV" ], [ "TX", "N1", "M1", "High", "VALUE:IV" ], [ "TX", "N1", "M1", "Low", "VALUE:IV" ], [ "TX", "N1", "M1", "Unknown", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upz.json deleted file mode 100644 index 9bae38fdd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_upz.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_upz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:18:59.937Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IV" ], [ "T0", "N2", "M0", "VALUE:IV" ], [ "T0", "N3", "M0", "VALUE:IV" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Ta", "N0", "M0", "VALUE:0a" ], [ "Ta", "N1", "M0", "ERROR:" ], [ "Ta", "N2", "M0", "ERROR:" ], [ "Ta", "N3", "M0", "ERROR:" ], [ "Ta", "NX", "M0", "VALUE:0a" ], [ "Tis", "N0", "M0", "VALUE:0is" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0is" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IV" ], [ "T1", "N2", "M0", "VALUE:IV" ], [ "T1", "N3", "M0", "VALUE:IV" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:IV" ], [ "T2", "N2", "M0", "VALUE:IV" ], [ "T2", "N3", "M0", "VALUE:IV" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:IV" ], [ "T3", "N2", "M0", "VALUE:IV" ], [ "T3", "N3", "M0", "VALUE:IV" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IV" ], [ "T4", "N1", "M0", "VALUE:IV" ], [ "T4", "N2", "M0", "VALUE:IV" ], [ "T4", "N3", "M0", "VALUE:IV" ], [ "T4", "NX", "M0", "VALUE:IV" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IV" ], [ "TX", "N2", "M0", "VALUE:IV" ], [ "TX", "N3", "M0", "VALUE:IV" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "N2", "M1", "VALUE:IV" ], [ "T0", "N3", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "Ta", "N0", "M1", "ERROR:" ], [ "Ta", "N1", "M1", "ERROR:" ], [ "Ta", "N2", "M1", "ERROR:" ], [ "Ta", "N3", "M1", "ERROR:" ], [ "Ta", "NX", "M1", "ERROR:" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "N3", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "N2", "M1", "VALUE:IV" ], [ "T1", "N3", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "N2", "M1", "VALUE:IV" ], [ "T2", "N3", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "N2", "M1", "VALUE:IV" ], [ "T3", "N3", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "N2", "M1", "VALUE:IV" ], [ "T4", "N3", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "N2", "M1", "VALUE:IV" ], [ "TX", "N3", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqa.json deleted file mode 100644 index 9e8c6c8be..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqa.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uqa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:19:00.093Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IIIB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:IIIB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:IIA" ], [ "T2", "N1", "M0", "VALUE:IIIB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIB" ], [ "T3", "N1", "M0", "VALUE:IIIB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IIIA" ], [ "T4", "N1", "M0", "VALUE:IIIB" ], [ "T4", "NX", "M0", "VALUE:UNK" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IIIB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IV" ], [ "T0", "N1", "M1", "VALUE:IV" ], [ "T0", "NX", "M1", "VALUE:IV" ], [ "T1", "N0", "M1", "VALUE:IV" ], [ "T1", "N1", "M1", "VALUE:IV" ], [ "T1", "NX", "M1", "VALUE:IV" ], [ "T2", "N0", "M1", "VALUE:IV" ], [ "T2", "N1", "M1", "VALUE:IV" ], [ "T2", "NX", "M1", "VALUE:IV" ], [ "T3", "N0", "M1", "VALUE:IV" ], [ "T3", "N1", "M1", "VALUE:IV" ], [ "T3", "NX", "M1", "VALUE:IV" ], [ "T4", "N0", "M1", "VALUE:IV" ], [ "T4", "N1", "M1", "VALUE:IV" ], [ "T4", "NX", "M1", "VALUE:IV" ], [ "TX", "N0", "M1", "VALUE:IV" ], [ "TX", "N1", "M1", "VALUE:IV" ], [ "TX", "NX", "M1", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqb.json deleted file mode 100644 index fb5d7812f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqb.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uqb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:19:00.157Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:UNK" ], [ "T0", "N2", "M0", "VALUE:IVB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "Tis", "N0", "M0", "VALUE:0" ], [ "Tis", "N1", "M0", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR:" ], [ "Tis", "NX", "M0", "VALUE:0" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N1", "M0", "VALUE:IIIB" ], [ "T1a", "N2", "M0", "VALUE:IVB" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1b", "N0", "M0", "VALUE:I" ], [ "T1b", "N1", "M0", "VALUE:IIIB" ], [ "T1b", "N2", "M0", "VALUE:IVB" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N1", "M0", "VALUE:IIIB" ], [ "T1NOS", "N2", "M0", "VALUE:IVB" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:IIIB" ], [ "T2", "N2", "M0", "VALUE:IVB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:IIIA" ], [ "T3", "N1", "M0", "VALUE:IIIB" ], [ "T3", "N2", "M0", "VALUE:IVB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4", "N0", "M0", "VALUE:IVA" ], [ "T4", "N1", "M0", "VALUE:IVA" ], [ "T4", "N2", "M0", "VALUE:IVB" ], [ "T4", "NX", "M0", "VALUE:IVA" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2", "M0", "VALUE:IVB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVB" ], [ "T0", "N1", "M1", "VALUE:IVB" ], [ "T0", "N2", "M1", "VALUE:IVB" ], [ "T0", "NX", "M1", "VALUE:IVB" ], [ "Tis", "N0", "M1", "ERROR:" ], [ "Tis", "N1", "M1", "ERROR:" ], [ "Tis", "N2", "M1", "ERROR:" ], [ "Tis", "NX", "M1", "ERROR:" ], [ "T1a", "N0", "M1", "VALUE:IVB" ], [ "T1a", "N1", "M1", "VALUE:IVB" ], [ "T1a", "N2", "M1", "VALUE:IVB" ], [ "T1a", "NX", "M1", "VALUE:IVB" ], [ "T1b", "N0", "M1", "VALUE:IVB" ], [ "T1b", "N1", "M1", "VALUE:IVB" ], [ "T1b", "N2", "M1", "VALUE:IVB" ], [ "T1b", "NX", "M1", "VALUE:IVB" ], [ "T1NOS", "N0", "M1", "VALUE:IVB" ], [ "T1NOS", "N1", "M1", "VALUE:IVB" ], [ "T1NOS", "N2", "M1", "VALUE:IVB" ], [ "T1NOS", "NX", "M1", "VALUE:IVB" ], [ "T2", "N0", "M1", "VALUE:IVB" ], [ "T2", "N1", "M1", "VALUE:IVB" ], [ "T2", "N2", "M1", "VALUE:IVB" ], [ "T2", "NX", "M1", "VALUE:IVB" ], [ "T3", "N0", "M1", "VALUE:IVB" ], [ "T3", "N1", "M1", "VALUE:IVB" ], [ "T3", "N2", "M1", "VALUE:IVB" ], [ "T3", "NX", "M1", "VALUE:IVB" ], [ "T4", "N0", "M1", "VALUE:IVB" ], [ "T4", "N1", "M1", "VALUE:IVB" ], [ "T4", "N2", "M1", "VALUE:IVB" ], [ "T4", "NX", "M1", "VALUE:IVB" ], [ "TX", "N0", "M1", "VALUE:IVB" ], [ "TX", "N1", "M1", "VALUE:IVB" ], [ "TX", "N2", "M1", "VALUE:IVB" ], [ "TX", "NX", "M1", "VALUE:IVB" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqc.json deleted file mode 100644 index ef4477a32..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqc.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcc7_stage_uqc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:19:00.215Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:UNK" ], [ "T0", "N2a", "M0", "VALUE:IVA" ], [ "T0", "N2b", "M0", "VALUE:IVA" ], [ "T0", "N2c", "M0", "VALUE:IVA" ], [ "T0", "N2NOS", "M0", "VALUE:IVA" ], [ "T0", "N3", "M0", "VALUE:IVB" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N1", "M0", "VALUE:III" ], [ "T1", "N2a", "M0", "VALUE:IVA" ], [ "T1", "N2b", "M0", "VALUE:IVA" ], [ "T1", "N2c", "M0", "VALUE:IVA" ], [ "T1", "N2NOS", "M0", "VALUE:IVA" ], [ "T1", "N3", "M0", "VALUE:IVB" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N1", "M0", "VALUE:III" ], [ "T2", "N2a", "M0", "VALUE:IVA" ], [ "T2", "N2b", "M0", "VALUE:IVA" ], [ "T2", "N2c", "M0", "VALUE:IVA" ], [ "T2", "N2NOS", "M0", "VALUE:IVA" ], [ "T2", "N3", "M0", "VALUE:IVB" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:III" ], [ "T3", "N2a", "M0", "VALUE:IVA" ], [ "T3", "N2b", "M0", "VALUE:IVA" ], [ "T3", "N2c", "M0", "VALUE:IVA" ], [ "T3", "N2NOS", "M0", "VALUE:IVA" ], [ "T3", "N3", "M0", "VALUE:IVB" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IVA" ], [ "T4a", "N1", "M0", "VALUE:IVA" ], [ "T4a", "N2a", "M0", "VALUE:IVA" ], [ "T4a", "N2b", "M0", "VALUE:IVA" ], [ "T4a", "N2c", "M0", "VALUE:IVA" ], [ "T4a", "N2NOS", "M0", "VALUE:IVA" ], [ "T4a", "N3", "M0", "VALUE:IVB" ], [ "T4a", "NX", "M0", "VALUE:IVNOS" ], [ "T4b", "N0", "M0", "VALUE:IVB" ], [ "T4b", "N1", "M0", "VALUE:IVB" ], [ "T4b", "N2a", "M0", "VALUE:IVB" ], [ "T4b", "N2b", "M0", "VALUE:IVB" ], [ "T4b", "N2c", "M0", "VALUE:IVB" ], [ "T4b", "N2NOS", "M0", "VALUE:IVB" ], [ "T4b", "N3", "M0", "VALUE:IVB" ], [ "T4b", "NX", "M0", "VALUE:IVB" ], [ "T4NOS", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2a", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2b", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2c", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N2NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N3", "M0", "VALUE:IVB" ], [ "T4NOS", "NX", "M0", "VALUE:IVNOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:UNK" ], [ "TX", "N2a", "M0", "VALUE:IVNOS" ], [ "TX", "N2b", "M0", "VALUE:IVNOS" ], [ "TX", "N2c", "M0", "VALUE:IVNOS" ], [ "TX", "N2NOS", "M0", "VALUE:IVNOS" ], [ "TX", "N3", "M0", "VALUE:IVB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1", "VALUE:IVC" ], [ "T0", "N1", "M1", "VALUE:IVC" ], [ "T0", "N2a", "M1", "VALUE:IVC" ], [ "T0", "N2b", "M1", "VALUE:IVC" ], [ "T0", "N2c", "M1", "VALUE:IVC" ], [ "T0", "N2NOS", "M1", "VALUE:IVC" ], [ "T0", "N3", "M1", "VALUE:IVC" ], [ "T0", "NX", "M1", "VALUE:IVC" ], [ "T1", "N0", "M1", "VALUE:IVC" ], [ "T1", "N1", "M1", "VALUE:IVC" ], [ "T1", "N2a", "M1", "VALUE:IVC" ], [ "T1", "N2b", "M1", "VALUE:IVC" ], [ "T1", "N2c", "M1", "VALUE:IVC" ], [ "T1", "N2NOS", "M1", "VALUE:IVC" ], [ "T1", "N3", "M1", "VALUE:IVC" ], [ "T1", "NX", "M1", "VALUE:IVC" ], [ "T2", "N0", "M1", "VALUE:IVC" ], [ "T2", "N1", "M1", "VALUE:IVC" ], [ "T2", "N2a", "M1", "VALUE:IVC" ], [ "T2", "N2b", "M1", "VALUE:IVC" ], [ "T2", "N2c", "M1", "VALUE:IVC" ], [ "T2", "N2NOS", "M1", "VALUE:IVC" ], [ "T2", "N3", "M1", "VALUE:IVC" ], [ "T2", "NX", "M1", "VALUE:IVC" ], [ "T3", "N0", "M1", "VALUE:IVC" ], [ "T3", "N1", "M1", "VALUE:IVC" ], [ "T3", "N2a", "M1", "VALUE:IVC" ], [ "T3", "N2b", "M1", "VALUE:IVC" ], [ "T3", "N2c", "M1", "VALUE:IVC" ], [ "T3", "N2NOS", "M1", "VALUE:IVC" ], [ "T3", "N3", "M1", "VALUE:IVC" ], [ "T3", "NX", "M1", "VALUE:IVC" ], [ "T4a", "N0", "M1", "VALUE:IVC" ], [ "T4a", "N1", "M1", "VALUE:IVC" ], [ "T4a", "N2a", "M1", "VALUE:IVC" ], [ "T4a", "N2b", "M1", "VALUE:IVC" ], [ "T4a", "N2c", "M1", "VALUE:IVC" ], [ "T4a", "N2NOS", "M1", "VALUE:IVC" ], [ "T4a", "N3", "M1", "VALUE:IVC" ], [ "T4a", "NX", "M1", "VALUE:IVC" ], [ "T4b", "N0", "M1", "VALUE:IVC" ], [ "T4b", "N1", "M1", "VALUE:IVC" ], [ "T4b", "N2a", "M1", "VALUE:IVC" ], [ "T4b", "N2b", "M1", "VALUE:IVC" ], [ "T4b", "N2c", "M1", "VALUE:IVC" ], [ "T4b", "N2NOS", "M1", "VALUE:IVC" ], [ "T4b", "N3", "M1", "VALUE:IVC" ], [ "T4b", "NX", "M1", "VALUE:IVC" ], [ "T4NOS", "N0", "M1", "VALUE:IVC" ], [ "T4NOS", "N1", "M1", "VALUE:IVC" ], [ "T4NOS", "N2a", "M1", "VALUE:IVC" ], [ "T4NOS", "N2b", "M1", "VALUE:IVC" ], [ "T4NOS", "N2c", "M1", "VALUE:IVC" ], [ "T4NOS", "N2NOS", "M1", "VALUE:IVC" ], [ "T4NOS", "N3", "M1", "VALUE:IVC" ], [ "T4NOS", "NX", "M1", "VALUE:IVC" ], [ "TX", "N0", "M1", "VALUE:IVC" ], [ "TX", "N1", "M1", "VALUE:IVC" ], [ "TX", "N2a", "M1", "VALUE:IVC" ], [ "TX", "N2b", "M1", "VALUE:IVC" ], [ "TX", "N2c", "M1", "VALUE:IVC" ], [ "TX", "N2NOS", "M1", "VALUE:IVC" ], [ "TX", "N3", "M1", "VALUE:IVC" ], [ "TX", "NX", "M1", "VALUE:IVC" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqd.json deleted file mode 100644 index 1a1680842..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqd.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc7_stage_uqd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:19:00.274Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "s", - "name" : "S", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR", "ERROR:" ], [ "T0", "N0", "M0", "S0", "ERROR:" ], [ "T0", "N0", "M0", "S1", "VALUE:IS" ], [ "T0", "N0", "M0", "S2", "VALUE:IS" ], [ "T0", "N0", "M0", "S3", "VALUE:IS" ], [ "T0", "N0", "M0", "SX", "ERROR:" ], [ "T0", "N1", "M0", "ERROR", "ERROR:" ], [ "T0", "N1", "M0", "S0", "VALUE:IIA" ], [ "T0", "N1", "M0", "S1", "VALUE:IIA" ], [ "T0", "N1", "M0", "S2", "VALUE:IIIB" ], [ "T0", "N1", "M0", "S3", "VALUE:IIIC" ], [ "T0", "N1", "M0", "SX", "VALUE:IINOS" ], [ "T0", "N2", "M0", "ERROR", "ERROR:" ], [ "T0", "N2", "M0", "S0", "VALUE:IIB" ], [ "T0", "N2", "M0", "S1", "VALUE:IIB" ], [ "T0", "N2", "M0", "S2", "VALUE:IIIB" ], [ "T0", "N2", "M0", "S3", "VALUE:IIIC" ], [ "T0", "N2", "M0", "SX", "VALUE:IINOS" ], [ "T0", "N3", "M0", "ERROR", "ERROR:" ], [ "T0", "N3", "M0", "S0", "VALUE:IIC" ], [ "T0", "N3", "M0", "S1", "VALUE:IIC" ], [ "T0", "N3", "M0", "S2", "VALUE:IIIB" ], [ "T0", "N3", "M0", "S3", "VALUE:IIIC" ], [ "T0", "N3", "M0", "SX", "VALUE:IINOS" ], [ "T0", "NX", "M0", "ERROR", "ERROR:" ], [ "T0", "NX", "M0", "S0", "VALUE:UNK" ], [ "T0", "NX", "M0", "S1", "VALUE:UNK" ], [ "T0", "NX", "M0", "S2", "VALUE:UNK" ], [ "T0", "NX", "M0", "S3", "VALUE:UNK" ], [ "T0", "NX", "M0", "SX", "VALUE:UNK" ], [ "Tis", "N0", "M0", "ERROR", "ERROR:" ], [ "Tis", "N0", "M0", "S0", "VALUE:0" ], [ "Tis", "N0", "M0", "S1", "ERROR:" ], [ "Tis", "N0", "M0", "S2", "ERROR:" ], [ "Tis", "N0", "M0", "S3", "ERROR:" ], [ "Tis", "N0", "M0", "SX", "VALUE:UNK" ], [ "Tis", "N1", "M0", "ERROR", "ERROR:" ], [ "Tis", "N1", "M0", "S0", "ERROR:" ], [ "Tis", "N1", "M0", "S1", "ERROR:" ], [ "Tis", "N1", "M0", "S2", "ERROR:" ], [ "Tis", "N1", "M0", "S3", "ERROR:" ], [ "Tis", "N1", "M0", "SX", "ERROR:" ], [ "Tis", "N2", "M0", "ERROR", "ERROR:" ], [ "Tis", "N2", "M0", "S0", "ERROR:" ], [ "Tis", "N2", "M0", "S1", "ERROR:" ], [ "Tis", "N2", "M0", "S2", "ERROR:" ], [ "Tis", "N2", "M0", "S3", "ERROR:" ], [ "Tis", "N2", "M0", "SX", "ERROR:" ], [ "Tis", "N3", "M0", "ERROR", "ERROR:" ], [ "Tis", "N3", "M0", "S0", "ERROR:" ], [ "Tis", "N3", "M0", "S1", "ERROR:" ], [ "Tis", "N3", "M0", "S2", "ERROR:" ], [ "Tis", "N3", "M0", "S3", "ERROR:" ], [ "Tis", "N3", "M0", "SX", "ERROR:" ], [ "Tis", "NX", "M0", "ERROR", "ERROR:" ], [ "Tis", "NX", "M0", "S0", "ERROR:" ], [ "Tis", "NX", "M0", "S1", "ERROR:" ], [ "Tis", "NX", "M0", "S2", "ERROR:" ], [ "Tis", "NX", "M0", "S3", "ERROR:" ], [ "Tis", "NX", "M0", "SX", "VALUE:UNK" ], [ "T1", "N0", "M0", "ERROR", "ERROR:" ], [ "T1", "N0", "M0", "S0", "VALUE:IA" ], [ "T1", "N0", "M0", "S1", "VALUE:IS" ], [ "T1", "N0", "M0", "S2", "VALUE:IS" ], [ "T1", "N0", "M0", "S3", "VALUE:IS" ], [ "T1", "N0", "M0", "SX", "VALUE:INOS" ], [ "T1", "N1", "M0", "ERROR", "ERROR:" ], [ "T1", "N1", "M0", "S0", "VALUE:IIA" ], [ "T1", "N1", "M0", "S1", "VALUE:IIA" ], [ "T1", "N1", "M0", "S2", "VALUE:IIIB" ], [ "T1", "N1", "M0", "S3", "VALUE:IIIC" ], [ "T1", "N1", "M0", "SX", "VALUE:IINOS" ], [ "T1", "N2", "M0", "ERROR", "ERROR:" ], [ "T1", "N2", "M0", "S0", "VALUE:IIB" ], [ "T1", "N2", "M0", "S1", "VALUE:IIB" ], [ "T1", "N2", "M0", "S2", "VALUE:IIIB" ], [ "T1", "N2", "M0", "S3", "VALUE:IIIC" ], [ "T1", "N2", "M0", "SX", "VALUE:IINOS" ], [ "T1", "N3", "M0", "ERROR", "ERROR:" ], [ "T1", "N3", "M0", "S0", "VALUE:IIC" ], [ "T1", "N3", "M0", "S1", "VALUE:IIC" ], [ "T1", "N3", "M0", "S2", "VALUE:IIIB" ], [ "T1", "N3", "M0", "S3", "VALUE:IIIC" ], [ "T1", "N3", "M0", "SX", "VALUE:IINOS" ], [ "T1", "NX", "M0", "ERROR", "ERROR:" ], [ "T1", "NX", "M0", "S0", "VALUE:UNK" ], [ "T1", "NX", "M0", "S1", "VALUE:UNK" ], [ "T1", "NX", "M0", "S2", "VALUE:UNK" ], [ "T1", "NX", "M0", "S3", "VALUE:UNK" ], [ "T1", "NX", "M0", "SX", "VALUE:UNK" ], [ "T2", "N0", "M0", "ERROR", "ERROR:" ], [ "T2", "N0", "M0", "S0", "VALUE:IB" ], [ "T2", "N0", "M0", "S1", "VALUE:IS" ], [ "T2", "N0", "M0", "S2", "VALUE:IS" ], [ "T2", "N0", "M0", "S3", "VALUE:IS" ], [ "T2", "N0", "M0", "SX", "VALUE:INOS" ], [ "T2", "N1", "M0", "ERROR", "ERROR:" ], [ "T2", "N1", "M0", "S0", "VALUE:IIA" ], [ "T2", "N1", "M0", "S1", "VALUE:IIA" ], [ "T2", "N1", "M0", "S2", "VALUE:IIIB" ], [ "T2", "N1", "M0", "S3", "VALUE:IIIC" ], [ "T2", "N1", "M0", "SX", "VALUE:IINOS" ], [ "T2", "N2", "M0", "ERROR", "ERROR:" ], [ "T2", "N2", "M0", "S0", "VALUE:IIB" ], [ "T2", "N2", "M0", "S1", "VALUE:IIB" ], [ "T2", "N2", "M0", "S2", "VALUE:IIIB" ], [ "T2", "N2", "M0", "S3", "VALUE:IIIC" ], [ "T2", "N2", "M0", "SX", "VALUE:IINOS" ], [ "T2", "N3", "M0", "ERROR", "ERROR:" ], [ "T2", "N3", "M0", "S0", "VALUE:IIC" ], [ "T2", "N3", "M0", "S1", "VALUE:IIC" ], [ "T2", "N3", "M0", "S2", "VALUE:IIIB" ], [ "T2", "N3", "M0", "S3", "VALUE:IIIC" ], [ "T2", "N3", "M0", "SX", "VALUE:IINOS" ], [ "T2", "NX", "M0", "ERROR", "ERROR:" ], [ "T2", "NX", "M0", "S0", "VALUE:UNK" ], [ "T2", "NX", "M0", "S1", "VALUE:UNK" ], [ "T2", "NX", "M0", "S2", "VALUE:UNK" ], [ "T2", "NX", "M0", "S3", "VALUE:UNK" ], [ "T2", "NX", "M0", "SX", "VALUE:UNK" ], [ "T3", "N0", "M0", "ERROR", "ERROR:" ], [ "T3", "N0", "M0", "S0", "VALUE:IB" ], [ "T3", "N0", "M0", "S1", "VALUE:IS" ], [ "T3", "N0", "M0", "S2", "VALUE:IS" ], [ "T3", "N0", "M0", "S3", "VALUE:IS" ], [ "T3", "N0", "M0", "SX", "VALUE:INOS" ], [ "T3", "N1", "M0", "ERROR", "ERROR:" ], [ "T3", "N1", "M0", "S0", "VALUE:IIA" ], [ "T3", "N1", "M0", "S1", "VALUE:IIA" ], [ "T3", "N1", "M0", "S2", "VALUE:IIIB" ], [ "T3", "N1", "M0", "S3", "VALUE:IIIC" ], [ "T3", "N1", "M0", "SX", "VALUE:IINOS" ], [ "T3", "N2", "M0", "ERROR", "ERROR:" ], [ "T3", "N2", "M0", "S0", "VALUE:IIB" ], [ "T3", "N2", "M0", "S1", "VALUE:IIB" ], [ "T3", "N2", "M0", "S2", "VALUE:IIIB" ], [ "T3", "N2", "M0", "S3", "VALUE:IIIC" ], [ "T3", "N2", "M0", "SX", "VALUE:IINOS" ], [ "T3", "N3", "M0", "ERROR", "ERROR:" ], [ "T3", "N3", "M0", "S0", "VALUE:IIC" ], [ "T3", "N3", "M0", "S1", "VALUE:IIC" ], [ "T3", "N3", "M0", "S2", "VALUE:IIIB" ], [ "T3", "N3", "M0", "S3", "VALUE:IIIC" ], [ "T3", "N3", "M0", "SX", "VALUE:IINOS" ], [ "T3", "NX", "M0", "ERROR", "ERROR:" ], [ "T3", "NX", "M0", "S0", "VALUE:UNK" ], [ "T3", "NX", "M0", "S1", "VALUE:UNK" ], [ "T3", "NX", "M0", "S2", "VALUE:UNK" ], [ "T3", "NX", "M0", "S3", "VALUE:UNK" ], [ "T3", "NX", "M0", "SX", "VALUE:UNK" ], [ "T4", "N0", "M0", "ERROR", "ERROR:" ], [ "T4", "N0", "M0", "S0", "VALUE:IB" ], [ "T4", "N0", "M0", "S1", "VALUE:IS" ], [ "T4", "N0", "M0", "S2", "VALUE:IS" ], [ "T4", "N0", "M0", "S3", "VALUE:IS" ], [ "T4", "N0", "M0", "SX", "VALUE:INOS" ], [ "T4", "N1", "M0", "ERROR", "ERROR:" ], [ "T4", "N1", "M0", "S0", "VALUE:IIA" ], [ "T4", "N1", "M0", "S1", "VALUE:IIA" ], [ "T4", "N1", "M0", "S2", "VALUE:IIIB" ], [ "T4", "N1", "M0", "S3", "VALUE:IIIC" ], [ "T4", "N1", "M0", "SX", "VALUE:IINOS" ], [ "T4", "N2", "M0", "ERROR", "ERROR:" ], [ "T4", "N2", "M0", "S0", "VALUE:IIB" ], [ "T4", "N2", "M0", "S1", "VALUE:IIB" ], [ "T4", "N2", "M0", "S2", "VALUE:IIIB" ], [ "T4", "N2", "M0", "S3", "VALUE:IIIC" ], [ "T4", "N2", "M0", "SX", "VALUE:IINOS" ], [ "T4", "N3", "M0", "ERROR", "ERROR:" ], [ "T4", "N3", "M0", "S0", "VALUE:IIC" ], [ "T4", "N3", "M0", "S1", "VALUE:IIC" ], [ "T4", "N3", "M0", "S2", "VALUE:IIIB" ], [ "T4", "N3", "M0", "S3", "VALUE:IIIC" ], [ "T4", "N3", "M0", "SX", "VALUE:IINOS" ], [ "T4", "NX", "M0", "ERROR", "ERROR:" ], [ "T4", "NX", "M0", "S0", "VALUE:UNK" ], [ "T4", "NX", "M0", "S1", "VALUE:UNK" ], [ "T4", "NX", "M0", "S2", "VALUE:UNK" ], [ "T4", "NX", "M0", "S3", "VALUE:UNK" ], [ "T4", "NX", "M0", "SX", "VALUE:UNK" ], [ "TX", "N0", "M0", "ERROR", "ERROR:" ], [ "TX", "N0", "M0", "S0", "VALUE:UNK" ], [ "TX", "N0", "M0", "S1", "VALUE:IS" ], [ "TX", "N0", "M0", "S2", "VALUE:IS" ], [ "TX", "N0", "M0", "S3", "VALUE:IS" ], [ "TX", "N0", "M0", "SX", "VALUE:UNK" ], [ "TX", "N1", "M0", "ERROR", "ERROR:" ], [ "TX", "N1", "M0", "S0", "VALUE:IIA" ], [ "TX", "N1", "M0", "S1", "VALUE:IIA" ], [ "TX", "N1", "M0", "S2", "VALUE:IIIB" ], [ "TX", "N1", "M0", "S3", "VALUE:IIIC" ], [ "TX", "N1", "M0", "SX", "VALUE:IINOS" ], [ "TX", "N2", "M0", "ERROR", "ERROR:" ], [ "TX", "N2", "M0", "S0", "VALUE:IIB" ], [ "TX", "N2", "M0", "S1", "VALUE:IIB" ], [ "TX", "N2", "M0", "S2", "VALUE:IIIB" ], [ "TX", "N2", "M0", "S3", "VALUE:IIIC" ], [ "TX", "N2", "M0", "SX", "VALUE:IINOS" ], [ "TX", "N3", "M0", "ERROR", "ERROR:" ], [ "TX", "N3", "M0", "S0", "VALUE:IIC" ], [ "TX", "N3", "M0", "S1", "VALUE:IIC" ], [ "TX", "N3", "M0", "S2", "VALUE:IIIB" ], [ "TX", "N3", "M0", "S3", "VALUE:IIIC" ], [ "TX", "N3", "M0", "SX", "VALUE:IINOS" ], [ "TX", "NX", "M0", "ERROR", "ERROR:" ], [ "TX", "NX", "M0", "S0", "VALUE:UNK" ], [ "TX", "NX", "M0", "S1", "VALUE:UNK" ], [ "TX", "NX", "M0", "S2", "VALUE:UNK" ], [ "TX", "NX", "M0", "S3", "VALUE:UNK" ], [ "TX", "NX", "M0", "SX", "VALUE:UNK" ], [ "T0", "N0", "M1a", "ERROR", "ERROR:" ], [ "T0", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "T0", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "T0", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "T0", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "T0", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "T0", "N1", "M1a", "ERROR", "ERROR:" ], [ "T0", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "T0", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "T0", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "T0", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "T0", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "T0", "N2", "M1a", "ERROR", "ERROR:" ], [ "T0", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "T0", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "T0", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "T0", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "T0", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "T0", "N3", "M1a", "ERROR", "ERROR:" ], [ "T0", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "T0", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "T0", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "T0", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "T0", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "T0", "NX", "M1a", "ERROR", "ERROR:" ], [ "T0", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "T0", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "T0", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "T0", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "T0", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "Tis", "N0", "M1a", "ERROR", "ERROR:" ], [ "Tis", "N0", "M1a", "S0", "ERROR:" ], [ "Tis", "N0", "M1a", "S1", "ERROR:" ], [ "Tis", "N0", "M1a", "S2", "ERROR:" ], [ "Tis", "N0", "M1a", "S3", "ERROR:" ], [ "Tis", "N0", "M1a", "SX", "ERROR:" ], [ "Tis", "N1", "M1a", "ERROR", "ERROR:" ], [ "Tis", "N1", "M1a", "S0", "ERROR:" ], [ "Tis", "N1", "M1a", "S1", "ERROR:" ], [ "Tis", "N1", "M1a", "S2", "ERROR:" ], [ "Tis", "N1", "M1a", "S3", "ERROR:" ], [ "Tis", "N1", "M1a", "SX", "ERROR:" ], [ "Tis", "N2", "M1a", "ERROR", "ERROR:" ], [ "Tis", "N2", "M1a", "S0", "ERROR:" ], [ "Tis", "N2", "M1a", "S1", "ERROR:" ], [ "Tis", "N2", "M1a", "S2", "ERROR:" ], [ "Tis", "N2", "M1a", "S3", "ERROR:" ], [ "Tis", "N2", "M1a", "SX", "ERROR:" ], [ "Tis", "N3", "M1a", "ERROR", "ERROR:" ], [ "Tis", "N3", "M1a", "S0", "ERROR:" ], [ "Tis", "N3", "M1a", "S1", "ERROR:" ], [ "Tis", "N3", "M1a", "S2", "ERROR:" ], [ "Tis", "N3", "M1a", "S3", "ERROR:" ], [ "Tis", "N3", "M1a", "SX", "ERROR:" ], [ "Tis", "NX", "M1a", "ERROR", "ERROR:" ], [ "Tis", "NX", "M1a", "S0", "ERROR:" ], [ "Tis", "NX", "M1a", "S1", "ERROR:" ], [ "Tis", "NX", "M1a", "S2", "ERROR:" ], [ "Tis", "NX", "M1a", "S3", "ERROR:" ], [ "Tis", "NX", "M1a", "SX", "ERROR:" ], [ "T1", "N0", "M1a", "ERROR", "ERROR:" ], [ "T1", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "T1", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "T1", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "T1", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "T1", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "T1", "N1", "M1a", "ERROR", "ERROR:" ], [ "T1", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "T1", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "T1", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "T1", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "T1", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "T1", "N2", "M1a", "ERROR", "ERROR:" ], [ "T1", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "T1", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "T1", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "T1", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "T1", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "T1", "N3", "M1a", "ERROR", "ERROR:" ], [ "T1", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "T1", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "T1", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "T1", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "T1", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "T1", "NX", "M1a", "ERROR", "ERROR:" ], [ "T1", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "T1", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "T1", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "T1", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "T1", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "T2", "N0", "M1a", "ERROR", "ERROR:" ], [ "T2", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "T2", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "T2", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "T2", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "T2", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "T2", "N1", "M1a", "ERROR", "ERROR:" ], [ "T2", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "T2", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "T2", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "T2", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "T2", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "T2", "N2", "M1a", "ERROR", "ERROR:" ], [ "T2", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "T2", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "T2", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "T2", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "T2", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "T2", "N3", "M1a", "ERROR", "ERROR:" ], [ "T2", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "T2", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "T2", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "T2", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "T2", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "T2", "NX", "M1a", "ERROR", "ERROR:" ], [ "T2", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "T2", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "T2", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "T2", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "T2", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "T3", "N0", "M1a", "ERROR", "ERROR:" ], [ "T3", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "T3", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "T3", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "T3", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "T3", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "T3", "N1", "M1a", "ERROR", "ERROR:" ], [ "T3", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "T3", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "T3", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "T3", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "T3", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "T3", "N2", "M1a", "ERROR", "ERROR:" ], [ "T3", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "T3", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "T3", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "T3", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "T3", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "T3", "N3", "M1a", "ERROR", "ERROR:" ], [ "T3", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "T3", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "T3", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "T3", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "T3", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "T3", "NX", "M1a", "ERROR", "ERROR:" ], [ "T3", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "T3", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "T3", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "T3", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "T3", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "T4", "N0", "M1a", "ERROR", "ERROR:" ], [ "T4", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "T4", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "T4", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "T4", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "T4", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "T4", "N1", "M1a", "ERROR", "ERROR:" ], [ "T4", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "T4", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "T4", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "T4", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "T4", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "T4", "N2", "M1a", "ERROR", "ERROR:" ], [ "T4", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "T4", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "T4", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "T4", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "T4", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "T4", "N3", "M1a", "ERROR", "ERROR:" ], [ "T4", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "T4", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "T4", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "T4", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "T4", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "T4", "NX", "M1a", "ERROR", "ERROR:" ], [ "T4", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "T4", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "T4", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "T4", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "T4", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "TX", "N0", "M1a", "ERROR", "ERROR:" ], [ "TX", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "TX", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "TX", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "TX", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "TX", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "TX", "N1", "M1a", "ERROR", "ERROR:" ], [ "TX", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "TX", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "TX", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "TX", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "TX", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "TX", "N2", "M1a", "ERROR", "ERROR:" ], [ "TX", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "TX", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "TX", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "TX", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "TX", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "TX", "N3", "M1a", "ERROR", "ERROR:" ], [ "TX", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "TX", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "TX", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "TX", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "TX", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "TX", "NX", "M1a", "ERROR", "ERROR:" ], [ "TX", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "TX", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "TX", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "TX", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "TX", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "T0", "N0", "M1b", "ERROR", "ERROR:" ], [ "T0", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "T0", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "T0", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "T0", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "T0", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "T0", "N1", "M1b", "ERROR", "ERROR:" ], [ "T0", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "T0", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "T0", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "T0", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "T0", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "T0", "N2", "M1b", "ERROR", "ERROR:" ], [ "T0", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "T0", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "T0", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "T0", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "T0", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "T0", "N3", "M1b", "ERROR", "ERROR:" ], [ "T0", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "T0", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "T0", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "T0", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "T0", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "T0", "NX", "M1b", "ERROR", "ERROR:" ], [ "T0", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "T0", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "T0", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "T0", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "T0", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "Tis", "N0", "M1b", "ERROR", "ERROR:" ], [ "Tis", "N0", "M1b", "S0", "ERROR:" ], [ "Tis", "N0", "M1b", "S1", "ERROR:" ], [ "Tis", "N0", "M1b", "S2", "ERROR:" ], [ "Tis", "N0", "M1b", "S3", "ERROR:" ], [ "Tis", "N0", "M1b", "SX", "ERROR:" ], [ "Tis", "N1", "M1b", "ERROR", "ERROR:" ], [ "Tis", "N1", "M1b", "S0", "ERROR:" ], [ "Tis", "N1", "M1b", "S1", "ERROR:" ], [ "Tis", "N1", "M1b", "S2", "ERROR:" ], [ "Tis", "N1", "M1b", "S3", "ERROR:" ], [ "Tis", "N1", "M1b", "SX", "ERROR:" ], [ "Tis", "N2", "M1b", "ERROR", "ERROR:" ], [ "Tis", "N2", "M1b", "S0", "ERROR:" ], [ "Tis", "N2", "M1b", "S1", "ERROR:" ], [ "Tis", "N2", "M1b", "S2", "ERROR:" ], [ "Tis", "N2", "M1b", "S3", "ERROR:" ], [ "Tis", "N2", "M1b", "SX", "ERROR:" ], [ "Tis", "N3", "M1b", "ERROR", "ERROR:" ], [ "Tis", "N3", "M1b", "S0", "ERROR:" ], [ "Tis", "N3", "M1b", "S1", "ERROR:" ], [ "Tis", "N3", "M1b", "S2", "ERROR:" ], [ "Tis", "N3", "M1b", "S3", "ERROR:" ], [ "Tis", "N3", "M1b", "SX", "ERROR:" ], [ "Tis", "NX", "M1b", "ERROR", "ERROR:" ], [ "Tis", "NX", "M1b", "S0", "ERROR:" ], [ "Tis", "NX", "M1b", "S1", "ERROR:" ], [ "Tis", "NX", "M1b", "S2", "ERROR:" ], [ "Tis", "NX", "M1b", "S3", "ERROR:" ], [ "Tis", "NX", "M1b", "SX", "ERROR:" ], [ "T1", "N0", "M1b", "ERROR", "ERROR:" ], [ "T1", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "T1", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "T1", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "T1", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "T1", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "T1", "N1", "M1b", "ERROR", "ERROR:" ], [ "T1", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "T1", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "T1", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "T1", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "T1", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "T1", "N2", "M1b", "ERROR", "ERROR:" ], [ "T1", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "T1", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "T1", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "T1", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "T1", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "T1", "N3", "M1b", "ERROR", "ERROR:" ], [ "T1", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "T1", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "T1", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "T1", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "T1", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "T1", "NX", "M1b", "ERROR", "ERROR:" ], [ "T1", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "T1", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "T1", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "T1", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "T1", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "T2", "N0", "M1b", "ERROR", "ERROR:" ], [ "T2", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "T2", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "T2", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "T2", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "T2", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "T2", "N1", "M1b", "ERROR", "ERROR:" ], [ "T2", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "T2", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "T2", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "T2", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "T2", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "T2", "N2", "M1b", "ERROR", "ERROR:" ], [ "T2", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "T2", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "T2", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "T2", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "T2", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "T2", "N3", "M1b", "ERROR", "ERROR:" ], [ "T2", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "T2", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "T2", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "T2", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "T2", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "T2", "NX", "M1b", "ERROR", "ERROR:" ], [ "T2", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "T2", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "T2", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "T2", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "T2", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "T3", "N0", "M1b", "ERROR", "ERROR:" ], [ "T3", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "T3", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "T3", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "T3", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "T3", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "T3", "N1", "M1b", "ERROR", "ERROR:" ], [ "T3", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "T3", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "T3", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "T3", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "T3", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "T3", "N2", "M1b", "ERROR", "ERROR:" ], [ "T3", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "T3", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "T3", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "T3", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "T3", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "T3", "N3", "M1b", "ERROR", "ERROR:" ], [ "T3", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "T3", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "T3", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "T3", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "T3", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "T3", "NX", "M1b", "ERROR", "ERROR:" ], [ "T3", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "T3", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "T3", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "T3", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "T3", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "T4", "N0", "M1b", "ERROR", "ERROR:" ], [ "T4", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "T4", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "T4", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "T4", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "T4", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "T4", "N1", "M1b", "ERROR", "ERROR:" ], [ "T4", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "T4", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "T4", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "T4", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "T4", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "T4", "N2", "M1b", "ERROR", "ERROR:" ], [ "T4", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "T4", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "T4", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "T4", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "T4", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "T4", "N3", "M1b", "ERROR", "ERROR:" ], [ "T4", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "T4", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "T4", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "T4", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "T4", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "T4", "NX", "M1b", "ERROR", "ERROR:" ], [ "T4", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "T4", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "T4", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "T4", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "T4", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "TX", "N0", "M1b", "ERROR", "ERROR:" ], [ "TX", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "TX", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "TX", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "TX", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "TX", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "TX", "N1", "M1b", "ERROR", "ERROR:" ], [ "TX", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "TX", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "TX", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "TX", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "TX", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "TX", "N2", "M1b", "ERROR", "ERROR:" ], [ "TX", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "TX", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "TX", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "TX", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "TX", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "TX", "N3", "M1b", "ERROR", "ERROR:" ], [ "TX", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "TX", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "TX", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "TX", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "TX", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "TX", "NX", "M1b", "ERROR", "ERROR:" ], [ "TX", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "TX", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "TX", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "TX", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "TX", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "T0", "N0", "M1NOS", "ERROR", "ERROR:" ], [ "T0", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T0", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T0", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T0", "N0", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T0", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T0", "N1", "M1NOS", "ERROR", "ERROR:" ], [ "T0", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T0", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T0", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T0", "N1", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T0", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T0", "N2", "M1NOS", "ERROR", "ERROR:" ], [ "T0", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T0", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T0", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T0", "N2", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T0", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T0", "N3", "M1NOS", "ERROR", "ERROR:" ], [ "T0", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T0", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T0", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T0", "N3", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T0", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T0", "NX", "M1NOS", "ERROR", "ERROR:" ], [ "T0", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T0", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T0", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T0", "NX", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T0", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "Tis", "N0", "M1NOS", "ERROR", "ERROR:" ], [ "Tis", "N0", "M1NOS", "S0", "ERROR:" ], [ "Tis", "N0", "M1NOS", "S1", "ERROR:" ], [ "Tis", "N0", "M1NOS", "S2", "ERROR:" ], [ "Tis", "N0", "M1NOS", "S3", "ERROR:" ], [ "Tis", "N0", "M1NOS", "SX", "ERROR:" ], [ "Tis", "N1", "M1NOS", "ERROR", "ERROR:" ], [ "Tis", "N1", "M1NOS", "S0", "ERROR:" ], [ "Tis", "N1", "M1NOS", "S1", "ERROR:" ], [ "Tis", "N1", "M1NOS", "S2", "ERROR:" ], [ "Tis", "N1", "M1NOS", "S3", "ERROR:" ], [ "Tis", "N1", "M1NOS", "SX", "ERROR:" ], [ "Tis", "N2", "M1NOS", "ERROR", "ERROR:" ], [ "Tis", "N2", "M1NOS", "S0", "ERROR:" ], [ "Tis", "N2", "M1NOS", "S1", "ERROR:" ], [ "Tis", "N2", "M1NOS", "S2", "ERROR:" ], [ "Tis", "N2", "M1NOS", "S3", "ERROR:" ], [ "Tis", "N2", "M1NOS", "SX", "ERROR:" ], [ "Tis", "N3", "M1NOS", "ERROR", "ERROR:" ], [ "Tis", "N3", "M1NOS", "S0", "ERROR:" ], [ "Tis", "N3", "M1NOS", "S1", "ERROR:" ], [ "Tis", "N3", "M1NOS", "S2", "ERROR:" ], [ "Tis", "N3", "M1NOS", "S3", "ERROR:" ], [ "Tis", "N3", "M1NOS", "SX", "ERROR:" ], [ "Tis", "NX", "M1NOS", "ERROR", "ERROR:" ], [ "Tis", "NX", "M1NOS", "S0", "ERROR:" ], [ "Tis", "NX", "M1NOS", "S1", "ERROR:" ], [ "Tis", "NX", "M1NOS", "S2", "ERROR:" ], [ "Tis", "NX", "M1NOS", "S3", "ERROR:" ], [ "Tis", "NX", "M1NOS", "SX", "ERROR:" ], [ "T1", "N0", "M1NOS", "ERROR", "ERROR:" ], [ "T1", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T1", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T1", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T1", "N0", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T1", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T1", "N1", "M1NOS", "ERROR", "ERROR:" ], [ "T1", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T1", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T1", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T1", "N1", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T1", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T1", "N2", "M1NOS", "ERROR", "ERROR:" ], [ "T1", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T1", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T1", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T1", "N2", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T1", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T1", "N3", "M1NOS", "ERROR", "ERROR:" ], [ "T1", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T1", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T1", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T1", "N3", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T1", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T1", "NX", "M1NOS", "ERROR", "ERROR:" ], [ "T1", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T1", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T1", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T1", "NX", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T1", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T2", "N0", "M1NOS", "ERROR", "ERROR:" ], [ "T2", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T2", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T2", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T2", "N0", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T2", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T2", "N1", "M1NOS", "ERROR", "ERROR:" ], [ "T2", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T2", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T2", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T2", "N1", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T2", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T2", "N2", "M1NOS", "ERROR", "ERROR:" ], [ "T2", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T2", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T2", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T2", "N2", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T2", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T2", "N3", "M1NOS", "ERROR", "ERROR:" ], [ "T2", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T2", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T2", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T2", "N3", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T2", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T2", "NX", "M1NOS", "ERROR", "ERROR:" ], [ "T2", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T2", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T2", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T2", "NX", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T2", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T3", "N0", "M1NOS", "ERROR", "ERROR:" ], [ "T3", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T3", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T3", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T3", "N0", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T3", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T3", "N1", "M1NOS", "ERROR", "ERROR:" ], [ "T3", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T3", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T3", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T3", "N1", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T3", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T3", "N2", "M1NOS", "ERROR", "ERROR:" ], [ "T3", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T3", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T3", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T3", "N2", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T3", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T3", "N3", "M1NOS", "ERROR", "ERROR:" ], [ "T3", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T3", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T3", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T3", "N3", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T3", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T3", "NX", "M1NOS", "ERROR", "ERROR:" ], [ "T3", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T3", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T3", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T3", "NX", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T3", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T4", "N0", "M1NOS", "ERROR", "ERROR:" ], [ "T4", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T4", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T4", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T4", "N0", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T4", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T4", "N1", "M1NOS", "ERROR", "ERROR:" ], [ "T4", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T4", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T4", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T4", "N1", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T4", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T4", "N2", "M1NOS", "ERROR", "ERROR:" ], [ "T4", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T4", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T4", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T4", "N2", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T4", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T4", "N3", "M1NOS", "ERROR", "ERROR:" ], [ "T4", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T4", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T4", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T4", "N3", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T4", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T4", "NX", "M1NOS", "ERROR", "ERROR:" ], [ "T4", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T4", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T4", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T4", "NX", "M1NOS", "S3", "VALUE:IIINOS" ], [ "T4", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "TX", "N0", "M1NOS", "ERROR", "ERROR:" ], [ "TX", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "TX", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "TX", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "TX", "N0", "M1NOS", "S3", "VALUE:IIINOS" ], [ "TX", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "TX", "N1", "M1NOS", "ERROR", "ERROR:" ], [ "TX", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "TX", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "TX", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "TX", "N1", "M1NOS", "S3", "VALUE:IIINOS" ], [ "TX", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "TX", "N2", "M1NOS", "ERROR", "ERROR:" ], [ "TX", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "TX", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "TX", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "TX", "N2", "M1NOS", "S3", "VALUE:IIINOS" ], [ "TX", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "TX", "N3", "M1NOS", "ERROR", "ERROR:" ], [ "TX", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "TX", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "TX", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "TX", "N3", "M1NOS", "S3", "VALUE:IIINOS" ], [ "TX", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "TX", "NX", "M1NOS", "ERROR", "ERROR:" ], [ "TX", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "TX", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "TX", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "TX", "NX", "M1NOS", "S3", "VALUE:IIINOS" ], [ "TX", "NX", "M1NOS", "SX", "VALUE:IIINOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqe.json deleted file mode 100644 index c3bba3849..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_stage_uqe.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc7_stage_uqe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Stage", - "title" : "AJCC TNM 7 Stage", - "last_modified" : "2015-05-27T16:19:00.435Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "nodes_eval", - "name" : "Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", " ", "ERROR:" ], [ "T0", "N0", "M0", "0,1,5,9", "ERROR:" ], [ "T0", "N0", "M0", "2,3,6,8", "ERROR:" ], [ "T0", "N1", "M0", " ", "VALUE:IIIB" ], [ "T0", "N1", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T0", "N1", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N1a", "M0", " ", "VALUE:IIIA" ], [ "T0", "N1a", "M0", "0,1,5,9", "VALUE:IIINOS" ], [ "T0", "N1a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T0", "N1b", "M0", " ", "VALUE:IIIB" ], [ "T0", "N1b", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T0", "N1b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T0", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T0", "N1NOS", "M0", "0,1,5,9", "VALUE:IIINOS" ], [ "T0", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T0", "N2", "M0", " ", "VALUE:IIIB" ], [ "T0", "N2", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T0", "N2", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T0", "NX", "M0", " ", "VALUE:UNK" ], [ "T0", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T0", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "Tis", "N0", "M0", " ", "VALUE:0" ], [ "Tis", "N0", "M0", "0,1,5,9", "VALUE:0" ], [ "Tis", "N0", "M0", "2,3,6,8", "VALUE:0" ], [ "Tis", "N1", "M0", " ", "ERROR:" ], [ "Tis", "N1", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "M0", " ", "ERROR:" ], [ "Tis", "N1a", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "M0", " ", "ERROR:" ], [ "Tis", "N1b", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "M0", " ", "ERROR:" ], [ "Tis", "N1NOS", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "M0", " ", "ERROR:" ], [ "Tis", "N2", "M0", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "M0", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "M0", " ", "VALUE:0" ], [ "Tis", "NX", "M0", "0,1,5,9", "VALUE:0" ], [ "Tis", "NX", "M0", "2,3,6,8", "VALUE:0" ], [ "T1", "N0", "M0", " ", "VALUE:INOS" ], [ "T1", "N0", "M0", "0,1,5,9", "VALUE:IB" ], [ "T1", "N0", "M0", "2,3,6,8", "VALUE:IA" ], [ "T1", "N1", "M0", " ", "VALUE:IIIB" ], [ "T1", "N1", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T1", "N1", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1", "N1a", "M0", " ", "VALUE:IIIA" ], [ "T1", "N1a", "M0", "0,1,5,9", "VALUE:IIINOS" ], [ "T1", "N1a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T1", "N1b", "M0", " ", "VALUE:IIIB" ], [ "T1", "N1b", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T1", "N1b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T1", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T1", "N1NOS", "M0", "0,1,5,9", "VALUE:IIINOS" ], [ "T1", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T1", "N2", "M0", " ", "VALUE:IIIB" ], [ "T1", "N2", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T1", "N2", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T1", "NX", "M0", " ", "VALUE:UNK" ], [ "T1", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T1", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T2", "N0", "M0", " ", "VALUE:IINOS" ], [ "T2", "N0", "M0", "0,1,5,9", "VALUE:IIB" ], [ "T2", "N0", "M0", "2,3,6,8", "VALUE:IIA" ], [ "T2", "N1", "M0", " ", "VALUE:IIIB" ], [ "T2", "N1", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T2", "N1", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2", "N1a", "M0", " ", "VALUE:IIIA" ], [ "T2", "N1a", "M0", "0,1,5,9", "VALUE:IIINOS" ], [ "T2", "N1a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T2", "N1b", "M0", " ", "VALUE:IIIB" ], [ "T2", "N1b", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T2", "N1b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T2", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T2", "N1NOS", "M0", "0,1,5,9", "VALUE:IIINOS" ], [ "T2", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T2", "N2", "M0", " ", "VALUE:IIIB" ], [ "T2", "N2", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T2", "N2", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T2", "NX", "M0", " ", "VALUE:UNK" ], [ "T2", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T2", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T3", "N0", "M0", " ", "VALUE:IINOS" ], [ "T3", "N0", "M0", "0,1,5,9", "VALUE:IIB" ], [ "T3", "N0", "M0", "2,3,6,8", "VALUE:IIA" ], [ "T3", "N1", "M0", " ", "VALUE:IIIB" ], [ "T3", "N1", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T3", "N1", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3", "N1a", "M0", " ", "VALUE:IIIA" ], [ "T3", "N1a", "M0", "0,1,5,9", "VALUE:IIINOS" ], [ "T3", "N1a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T3", "N1b", "M0", " ", "VALUE:IIIB" ], [ "T3", "N1b", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T3", "N1b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T3", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T3", "N1NOS", "M0", "0,1,5,9", "VALUE:IIINOS" ], [ "T3", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T3", "N2", "M0", " ", "VALUE:IIIB" ], [ "T3", "N2", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T3", "N2", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T3", "NX", "M0", " ", "VALUE:UNK" ], [ "T3", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T3", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T4", "N0", "M0", " ", "VALUE:IIC" ], [ "T4", "N0", "M0", "0,1,5,9", "VALUE:IIC" ], [ "T4", "N0", "M0", "2,3,6,8", "VALUE:IIC" ], [ "T4", "N1", "M0", " ", "VALUE:IIIB" ], [ "T4", "N1", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T4", "N1", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4", "N1a", "M0", " ", "VALUE:IIIA" ], [ "T4", "N1a", "M0", "0,1,5,9", "VALUE:IIINOS" ], [ "T4", "N1a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "T4", "N1b", "M0", " ", "VALUE:IIIB" ], [ "T4", "N1b", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T4", "N1b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T4", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "T4", "N1NOS", "M0", "0,1,5,9", "VALUE:IIINOS" ], [ "T4", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "T4", "N2", "M0", " ", "VALUE:IIIB" ], [ "T4", "N2", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "T4", "N2", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "T4", "NX", "M0", " ", "VALUE:UNK" ], [ "T4", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "T4", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N0", "M0", " ", "VALUE:UNK" ], [ "TX", "N0", "M0", "0,1,5,9", "VALUE:UNK" ], [ "TX", "N0", "M0", "2,3,6,8", "VALUE:UNK" ], [ "TX", "N1", "M0", " ", "VALUE:IIIB" ], [ "TX", "N1", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "TX", "N1", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "TX", "N1a", "M0", " ", "VALUE:IIIA" ], [ "TX", "N1a", "M0", "0,1,5,9", "VALUE:IIINOS" ], [ "TX", "N1a", "M0", "2,3,6,8", "VALUE:IIIA" ], [ "TX", "N1b", "M0", " ", "VALUE:IIIB" ], [ "TX", "N1b", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "TX", "N1b", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "TX", "N1NOS", "M0", " ", "VALUE:IIINOS" ], [ "TX", "N1NOS", "M0", "0,1,5,9", "VALUE:IIINOS" ], [ "TX", "N1NOS", "M0", "2,3,6,8", "VALUE:IIINOS" ], [ "TX", "N2", "M0", " ", "VALUE:IIIB" ], [ "TX", "N2", "M0", "0,1,5,9", "VALUE:IIIB" ], [ "TX", "N2", "M0", "2,3,6,8", "VALUE:IIIB" ], [ "TX", "NX", "M0", " ", "VALUE:UNK" ], [ "TX", "NX", "M0", "0,1,5,9", "VALUE:UNK" ], [ "TX", "NX", "M0", "2,3,6,8", "VALUE:UNK" ], [ "T0", "N0", "M1a", " ", "VALUE:IV" ], [ "T0", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1", "M1a", " ", "VALUE:IV" ], [ "T0", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1a", "M1a", " ", "VALUE:IV" ], [ "T0", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1b", "M1a", " ", "VALUE:IV" ], [ "T0", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T0", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2", "M1a", " ", "VALUE:IV" ], [ "T0", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "NX", "M1a", " ", "VALUE:IV" ], [ "T0", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T0", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "Tis", "N0", "M1a", " ", "ERROR:" ], [ "Tis", "N0", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N0", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N1", "M1a", " ", "ERROR:" ], [ "Tis", "N1", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "M1a", " ", "ERROR:" ], [ "Tis", "N1a", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "M1a", " ", "ERROR:" ], [ "Tis", "N1b", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "M1a", " ", "ERROR:" ], [ "Tis", "N1NOS", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "M1a", " ", "ERROR:" ], [ "Tis", "N2", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "M1a", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "M1a", " ", "ERROR:" ], [ "Tis", "NX", "M1a", "0,1,5,9", "ERROR:" ], [ "Tis", "NX", "M1a", "2,3,6,8", "ERROR:" ], [ "T1", "N0", "M1a", " ", "VALUE:IV" ], [ "T1", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1", "M1a", " ", "VALUE:IV" ], [ "T1", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1a", "M1a", " ", "VALUE:IV" ], [ "T1", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1b", "M1a", " ", "VALUE:IV" ], [ "T1", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T1", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1", "N2", "M1a", " ", "VALUE:IV" ], [ "T1", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T1", "NX", "M1a", " ", "VALUE:IV" ], [ "T1", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T1", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2", "N0", "M1a", " ", "VALUE:IV" ], [ "T2", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1", "M1a", " ", "VALUE:IV" ], [ "T2", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1a", "M1a", " ", "VALUE:IV" ], [ "T2", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1b", "M1a", " ", "VALUE:IV" ], [ "T2", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T2", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2", "N2", "M1a", " ", "VALUE:IV" ], [ "T2", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T2", "NX", "M1a", " ", "VALUE:IV" ], [ "T2", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T2", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3", "N0", "M1a", " ", "VALUE:IV" ], [ "T3", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1", "M1a", " ", "VALUE:IV" ], [ "T3", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1a", "M1a", " ", "VALUE:IV" ], [ "T3", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1b", "M1a", " ", "VALUE:IV" ], [ "T3", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T3", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3", "N2", "M1a", " ", "VALUE:IV" ], [ "T3", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T3", "NX", "M1a", " ", "VALUE:IV" ], [ "T3", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T3", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4", "N0", "M1a", " ", "VALUE:IV" ], [ "T4", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1", "M1a", " ", "VALUE:IV" ], [ "T4", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1a", "M1a", " ", "VALUE:IV" ], [ "T4", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1b", "M1a", " ", "VALUE:IV" ], [ "T4", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "T4", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4", "N2", "M1a", " ", "VALUE:IV" ], [ "T4", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T4", "NX", "M1a", " ", "VALUE:IV" ], [ "T4", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "T4", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N0", "M1a", " ", "VALUE:IV" ], [ "TX", "N0", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N0", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1", "M1a", " ", "VALUE:IV" ], [ "TX", "N1", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1a", "M1a", " ", "VALUE:IV" ], [ "TX", "N1a", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1a", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1b", "M1a", " ", "VALUE:IV" ], [ "TX", "N1b", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1b", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1NOS", "M1a", " ", "VALUE:IV" ], [ "TX", "N1NOS", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1NOS", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2", "M1a", " ", "VALUE:IV" ], [ "TX", "N2", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2", "M1a", "2,3,6,8", "VALUE:IV" ], [ "TX", "NX", "M1a", " ", "VALUE:IV" ], [ "TX", "NX", "M1a", "0,1,5,9", "VALUE:IV" ], [ "TX", "NX", "M1a", "2,3,6,8", "VALUE:IV" ], [ "T0", "N0", "M1b", " ", "VALUE:IV" ], [ "T0", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1", "M1b", " ", "VALUE:IV" ], [ "T0", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1a", "M1b", " ", "VALUE:IV" ], [ "T0", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1b", "M1b", " ", "VALUE:IV" ], [ "T0", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T0", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2", "M1b", " ", "VALUE:IV" ], [ "T0", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "NX", "M1b", " ", "VALUE:IV" ], [ "T0", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T0", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "Tis", "N0", "M1b", " ", "ERROR:" ], [ "Tis", "N0", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N0", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N1", "M1b", " ", "ERROR:" ], [ "Tis", "N1", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "M1b", " ", "ERROR:" ], [ "Tis", "N1a", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "M1b", " ", "ERROR:" ], [ "Tis", "N1b", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "M1b", " ", "ERROR:" ], [ "Tis", "N1NOS", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "M1b", " ", "ERROR:" ], [ "Tis", "N2", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "M1b", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "M1b", " ", "ERROR:" ], [ "Tis", "NX", "M1b", "0,1,5,9", "ERROR:" ], [ "Tis", "NX", "M1b", "2,3,6,8", "ERROR:" ], [ "T1", "N0", "M1b", " ", "VALUE:IV" ], [ "T1", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1", "M1b", " ", "VALUE:IV" ], [ "T1", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1a", "M1b", " ", "VALUE:IV" ], [ "T1", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1b", "M1b", " ", "VALUE:IV" ], [ "T1", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T1", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1", "N2", "M1b", " ", "VALUE:IV" ], [ "T1", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T1", "NX", "M1b", " ", "VALUE:IV" ], [ "T1", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T1", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2", "N0", "M1b", " ", "VALUE:IV" ], [ "T2", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1", "M1b", " ", "VALUE:IV" ], [ "T2", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1a", "M1b", " ", "VALUE:IV" ], [ "T2", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1b", "M1b", " ", "VALUE:IV" ], [ "T2", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T2", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2", "N2", "M1b", " ", "VALUE:IV" ], [ "T2", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T2", "NX", "M1b", " ", "VALUE:IV" ], [ "T2", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T2", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3", "N0", "M1b", " ", "VALUE:IV" ], [ "T3", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1", "M1b", " ", "VALUE:IV" ], [ "T3", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1a", "M1b", " ", "VALUE:IV" ], [ "T3", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1b", "M1b", " ", "VALUE:IV" ], [ "T3", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T3", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3", "N2", "M1b", " ", "VALUE:IV" ], [ "T3", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T3", "NX", "M1b", " ", "VALUE:IV" ], [ "T3", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T3", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4", "N0", "M1b", " ", "VALUE:IV" ], [ "T4", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1", "M1b", " ", "VALUE:IV" ], [ "T4", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1a", "M1b", " ", "VALUE:IV" ], [ "T4", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1b", "M1b", " ", "VALUE:IV" ], [ "T4", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "T4", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4", "N2", "M1b", " ", "VALUE:IV" ], [ "T4", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T4", "NX", "M1b", " ", "VALUE:IV" ], [ "T4", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "T4", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N0", "M1b", " ", "VALUE:IV" ], [ "TX", "N0", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N0", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1", "M1b", " ", "VALUE:IV" ], [ "TX", "N1", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1a", "M1b", " ", "VALUE:IV" ], [ "TX", "N1a", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1a", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1b", "M1b", " ", "VALUE:IV" ], [ "TX", "N1b", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1b", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1NOS", "M1b", " ", "VALUE:IV" ], [ "TX", "N1NOS", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1NOS", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2", "M1b", " ", "VALUE:IV" ], [ "TX", "N2", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2", "M1b", "2,3,6,8", "VALUE:IV" ], [ "TX", "NX", "M1b", " ", "VALUE:IV" ], [ "TX", "NX", "M1b", "0,1,5,9", "VALUE:IV" ], [ "TX", "NX", "M1b", "2,3,6,8", "VALUE:IV" ], [ "T0", "N0", "M1c", " ", "VALUE:IV" ], [ "T0", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1", "M1c", " ", "VALUE:IV" ], [ "T0", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1a", "M1c", " ", "VALUE:IV" ], [ "T0", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1b", "M1c", " ", "VALUE:IV" ], [ "T0", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T0", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2", "M1c", " ", "VALUE:IV" ], [ "T0", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "NX", "M1c", " ", "VALUE:IV" ], [ "T0", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T0", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "Tis", "N0", "M1c", " ", "ERROR:" ], [ "Tis", "N0", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N0", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N1", "M1c", " ", "ERROR:" ], [ "Tis", "N1", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "M1c", " ", "ERROR:" ], [ "Tis", "N1a", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "M1c", " ", "ERROR:" ], [ "Tis", "N1b", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "M1c", " ", "ERROR:" ], [ "Tis", "N1NOS", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "M1c", " ", "ERROR:" ], [ "Tis", "N2", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "M1c", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "M1c", " ", "ERROR:" ], [ "Tis", "NX", "M1c", "0,1,5,9", "ERROR:" ], [ "Tis", "NX", "M1c", "2,3,6,8", "ERROR:" ], [ "T1", "N0", "M1c", " ", "VALUE:IV" ], [ "T1", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1", "M1c", " ", "VALUE:IV" ], [ "T1", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1a", "M1c", " ", "VALUE:IV" ], [ "T1", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1b", "M1c", " ", "VALUE:IV" ], [ "T1", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T1", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1", "N2", "M1c", " ", "VALUE:IV" ], [ "T1", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T1", "NX", "M1c", " ", "VALUE:IV" ], [ "T1", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T1", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2", "N0", "M1c", " ", "VALUE:IV" ], [ "T2", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1", "M1c", " ", "VALUE:IV" ], [ "T2", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1a", "M1c", " ", "VALUE:IV" ], [ "T2", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1b", "M1c", " ", "VALUE:IV" ], [ "T2", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T2", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2", "N2", "M1c", " ", "VALUE:IV" ], [ "T2", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T2", "NX", "M1c", " ", "VALUE:IV" ], [ "T2", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T2", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3", "N0", "M1c", " ", "VALUE:IV" ], [ "T3", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1", "M1c", " ", "VALUE:IV" ], [ "T3", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1a", "M1c", " ", "VALUE:IV" ], [ "T3", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1b", "M1c", " ", "VALUE:IV" ], [ "T3", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T3", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3", "N2", "M1c", " ", "VALUE:IV" ], [ "T3", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T3", "NX", "M1c", " ", "VALUE:IV" ], [ "T3", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T3", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4", "N0", "M1c", " ", "VALUE:IV" ], [ "T4", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1", "M1c", " ", "VALUE:IV" ], [ "T4", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1a", "M1c", " ", "VALUE:IV" ], [ "T4", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1b", "M1c", " ", "VALUE:IV" ], [ "T4", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "T4", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4", "N2", "M1c", " ", "VALUE:IV" ], [ "T4", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T4", "NX", "M1c", " ", "VALUE:IV" ], [ "T4", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "T4", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N0", "M1c", " ", "VALUE:IV" ], [ "TX", "N0", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N0", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1", "M1c", " ", "VALUE:IV" ], [ "TX", "N1", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1a", "M1c", " ", "VALUE:IV" ], [ "TX", "N1a", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1a", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1b", "M1c", " ", "VALUE:IV" ], [ "TX", "N1b", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1b", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1NOS", "M1c", " ", "VALUE:IV" ], [ "TX", "N1NOS", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1NOS", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2", "M1c", " ", "VALUE:IV" ], [ "TX", "N2", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2", "M1c", "2,3,6,8", "VALUE:IV" ], [ "TX", "NX", "M1c", " ", "VALUE:IV" ], [ "TX", "NX", "M1c", "0,1,5,9", "VALUE:IV" ], [ "TX", "NX", "M1c", "2,3,6,8", "VALUE:IV" ], [ "T0", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T0", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T0", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T0", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "Tis", "N0", "M1NOS", " ", "ERROR:" ], [ "Tis", "N0", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N0", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N1", "M1NOS", " ", "ERROR:" ], [ "Tis", "N1", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N1", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N1a", "M1NOS", " ", "ERROR:" ], [ "Tis", "N1a", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N1a", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N1b", "M1NOS", " ", "ERROR:" ], [ "Tis", "N1b", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N1b", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N1NOS", "M1NOS", " ", "ERROR:" ], [ "Tis", "N1NOS", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N1NOS", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "N2", "M1NOS", " ", "ERROR:" ], [ "Tis", "N2", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "N2", "M1NOS", "2,3,6,8", "ERROR:" ], [ "Tis", "NX", "M1NOS", " ", "ERROR:" ], [ "Tis", "NX", "M1NOS", "0,1,5,9", "ERROR:" ], [ "Tis", "NX", "M1NOS", "2,3,6,8", "ERROR:" ], [ "T1", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T1", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T1", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T1", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T1", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T1", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T1", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T1", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T1", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T1", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T2", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T2", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T2", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T2", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T2", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T2", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T2", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T2", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T2", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T3", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T3", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T3", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T3", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T3", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T3", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T3", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T3", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T3", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4", "N0", "M1NOS", " ", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1", "M1NOS", " ", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "T4", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "T4", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "T4", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4", "N2", "M1NOS", " ", "VALUE:IV" ], [ "T4", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "T4", "NX", "M1NOS", " ", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "T4", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N0", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N0", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1a", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N1a", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1a", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1b", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N1b", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1b", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N1NOS", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N1NOS", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N1NOS", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "N2", "M1NOS", " ", "VALUE:IV" ], [ "TX", "N2", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "N2", "M1NOS", "2,3,6,8", "VALUE:IV" ], [ "TX", "NX", "M1NOS", " ", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "0,1,5,9", "VALUE:IV" ], [ "TX", "NX", "M1NOS", "2,3,6,8", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_t_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_t_codes.json deleted file mode 100644 index 2775e4511..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_t_codes.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ajcc7_t_codes", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC 7 T Codes", - "title" : "AJCC 7 T Allowable Codes", - "last_modified" : "2015-05-27T16:19:00.607Z", - "definition" : [ { - "key" : "ajcc7_t", - "name" : "Display String", - "type" : "INPUT" - }, { - "key" : "stor_ajcc7_t", - "name" : "AJCC7 Storage Code", - "type" : "ENDPOINT" - }, { - "key" : "comments", - "name" : "Comments", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "TX", "VALUE:999", "TX" ], [ "T0", "VALUE:000", "T0" ], [ "Ta", "VALUE:010", "Ta" ], [ "Tis", "VALUE:050", "Tis" ], [ "Tispu", "VALUE:060", "Tispu (Urethra only)" ], [ "Tispd", "VALUE:070", "Tispd (Urethra only)" ], [ "T1", "VALUE:100", "T1" ], [ "T1mi", "VALUE:110", "T1mi" ], [ "T1NOS", "VALUE:199", "T1 NOS" ], [ "T1NOS(s)", "VALUE:191", "T1 NOS(s)" ], [ "T1NOS(m)", "VALUE:192", "T1 NOS(m)" ], [ "T1a", "VALUE:120", "T1a" ], [ "T1a(s)", "VALUE:121", "T1a(s)" ], [ "T1a(m)", "VALUE:122", "T1a(m)" ], [ "T1a1", "VALUE:130", "T1a1" ], [ "T1a2", "VALUE:140", "T1a2" ], [ "T1b", "VALUE:150", "T1b" ], [ "T1b(s)", "VALUE:151", "T1b(s)" ], [ "T1b(m)", "VALUE:152", "T1b(m)" ], [ "T1b1", "VALUE:160", "T1b1" ], [ "T1b2", "VALUE:170", "T1b2" ], [ "T1c", "VALUE:180", "T1c" ], [ "T1d", "VALUE:181", "T1d" ], [ "T2", "VALUE:200", "T2" ], [ "T2(s)", "VALUE:201", "T2(s)" ], [ "T2(m)", "VALUE:202", "T2(m)" ], [ "T2NOS", "VALUE:299", "T2 NOS" ], [ "T2a", "VALUE:210", "T2a" ], [ "T2a1", "VALUE:211", "T2a1" ], [ "T2a2", "VALUE:212", "T2a2" ], [ "T2aNOS", "VALUE:213", "T2a NOS" ], [ "T2b", "VALUE:220", "T2b" ], [ "T2c", "VALUE:230", "T2c" ], [ "T2d", "VALUE:240", "T2d" ], [ "T3", "VALUE:300", "T3" ], [ "T3(s)", "VALUE:301", "T3(s)" ], [ "T3(m)", "VALUE:302", "T3(m)" ], [ "T3NOS", "VALUE:399", "T3 NOS" ], [ "T3a", "VALUE:310", "T3a" ], [ "T3b", "VALUE:320", "T3b" ], [ "T3c", "VALUE:330", "T3c" ], [ "T3d", "VALUE:340", "T3d" ], [ "T4", "VALUE:400", "T4" ], [ "T4NOS", "VALUE:499", "T4 NOS" ], [ "T4NOS(s)", "VALUE:491", "T4 NOS(s)" ], [ "T4NOS(m)", "VALUE:492", "T4 NOS(m)" ], [ "T4a", "VALUE:410", "T4a" ], [ "T4a(s)", "VALUE:411", "T4a(s)" ], [ "T4a(m)", "VALUE:412", "T4a(m)" ], [ "T4b", "VALUE:420", "T4b" ], [ "T4b(s)", "VALUE:421", "T4b(s)" ], [ "T4b(m)", "VALUE:422", "T4b(m)" ], [ "T4c", "VALUE:430", "T4c" ], [ "T4d", "VALUE:440", "T4d" ], [ "T4e", "VALUE:450", "T4e" ], [ "T1aNOS", "VALUE:800", "T1a NOS" ], [ "T1bNOS", "VALUE:810", "T1b NOS" ], [ "NA", "VALUE:888", "Not applicable" ], [ "*", "VALUE: ", "Error" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_year_validation.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_year_validation.json deleted file mode 100644 index a5415fdb8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc7_year_validation.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ajcc7_year_validation", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC7 Year Validation", - "title" : "AJCC7 Year Validation", - "last_modified" : "2015-05-27T16:19:00.662Z", - "definition" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - } ], - "rows" : [ [ "2010-{{ctx_year_current}}", "*" ], [ "", "020000-999999" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_descriptor_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_descriptor_codes.json deleted file mode 100644 index b31702c3d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_descriptor_codes.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ajcc_descriptor_codes", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC Descriptor Codes", - "title" : "AJCC Descriptor Allowable Codes", - "last_modified" : "2015-05-27T16:19:01.882Z", - "definition" : [ { - "key" : "descriptor", - "name" : "Display String", - "type" : "INPUT" - }, { - "key" : "stor_descriptor", - "name" : "Storage Code", - "type" : "ENDPOINT" - }, { - "key" : "comments", - "name" : "Comments", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c", "VALUE:c", " " ], [ "p", "VALUE:p", " " ], [ "a", "VALUE:a", " " ], [ "yp", "VALUE:y", " " ], [ "", "VALUE:N", "Display String is blank" ], [ "*", "VALUE: ", "Error" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_mdescriptor_cleanup.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_mdescriptor_cleanup.json deleted file mode 100644 index 2a2bbd6c2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_mdescriptor_cleanup.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc_mdescriptor_cleanup", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC M Descriptor Code Cleanup", - "title" : "AJCC M Descriptor Code Cleanup", - "last_modified" : "2015-05-27T16:19:01.937Z", - "definition" : [ { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "mdescriptor", - "name" : "M Descriptor", - "type" : "INPUT" - }, { - "key" : "mdescriptor", - "name" : "M Descriptor", - "type" : "ENDPOINT" - }, { - "key" : "stor_mdescriptor", - "name" : "Storage M Descriptor", - "type" : "ENDPOINT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "*", "ERROR", "VALUE:", "VALUE:", "If M Descriptor is an error, both should be set to blank" ], [ "NA", "*", "VALUE:", "VALUE:N", "For M values of NA" ], [ "", "*", "VALUE:", "VALUE:", "For missing M values caused by an ERROR in mets" ], [ "*", "*", "MATCH", "MATCH", "For all other cases, leave codes as they are" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_ndescriptor_cleanup.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_ndescriptor_cleanup.json deleted file mode 100644 index 72be22868..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_ndescriptor_cleanup.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc_ndescriptor_cleanup", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC N Descriptor Code Cleanup", - "title" : "AJCC N Descriptor Code Cleanup", - "last_modified" : "2015-05-27T16:19:01.987Z", - "definition" : [ { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "ndescriptor", - "name" : "N Descriptor", - "type" : "INPUT" - }, { - "key" : "ndescriptor", - "name" : "N Descriptor", - "type" : "ENDPOINT" - }, { - "key" : "stor_ndescriptor", - "name" : "Storage N Descriptor", - "type" : "ENDPOINT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "*", "ERROR", "VALUE:", "VALUE:", "If N Descriptor is an error, both should be set to blank" ], [ "NA", "*", "VALUE:", "VALUE:N", "For N values of NA" ], [ "", "*", "VALUE:", "VALUE:", "For missing N values caused by an ERROR in nodes" ], [ "*", "*", "MATCH", "MATCH", "For all other cases, leave codes as they are" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_tdescriptor_cleanup.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_tdescriptor_cleanup.json deleted file mode 100644 index 6b328691b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_tdescriptor_cleanup.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcc_tdescriptor_cleanup", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC T Descriptor Code Cleanup", - "title" : "AJCC T Descriptor Code Cleanup", - "last_modified" : "2015-05-27T16:19:02.043Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "tdescriptor", - "name" : "T Descriptor", - "type" : "INPUT" - }, { - "key" : "tdescriptor", - "name" : "T Descriptor", - "type" : "ENDPOINT" - }, { - "key" : "stor_tdescriptor", - "name" : "Storage T Descriptor", - "type" : "ENDPOINT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "*", "ERROR", "VALUE:", "VALUE:", "If T Descriptor is an error, both should be set to blank" ], [ "NA", "*", "VALUE:", "VALUE:N", "For T values of NA" ], [ "", "*", "VALUE:", "VALUE:", "For missing T values caused by an ERROR in extension" ], [ "*", "*", "MATCH", "MATCH", "For all other cases, leave codes as they are" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_tnm6_stage_csv1_xie.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_tnm6_stage_csv1_xie.json deleted file mode 100644 index f8ef80438..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcc_tnm6_stage_csv1_xie.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ajcc_tnm6_stage_csv1_xie", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC6 Stage", - "title" : "AJCC TNM 6 Stage CSv1", - "last_modified" : "2015-05-27T16:19:02.096Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "SSF2", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100-999", "988", "ERROR:" ], [ "100", "000,020", "VALUE:IA" ], [ "110", "000,020", "VALUE:IEA" ], [ "120", "000,020", "VALUE:ISA" ], [ "200", "000,020", "VALUE:IIA" ], [ "210", "000,020", "VALUE:IIEA" ], [ "220", "000,020", "VALUE:IISA" ], [ "230", "000,020", "VALUE:IIESA" ], [ "300", "000,020", "VALUE:IIIA" ], [ "310", "000,020", "VALUE:IIIEA" ], [ "320", "000,020", "VALUE:IIISA" ], [ "330", "000,020", "VALUE:IIIESA" ], [ "800", "000,020", "VALUE:IVA" ], [ "999", "000,020", "VALUE:UNK" ], [ "100", "010,030", "VALUE:IB" ], [ "110", "010,030", "VALUE:IEB" ], [ "120", "010,030", "VALUE:ISB" ], [ "200", "010,030", "VALUE:IIB" ], [ "210", "010,030", "VALUE:IIEB" ], [ "220", "010,030", "VALUE:IISB" ], [ "230", "010,030", "VALUE:IIESB" ], [ "300", "010,030", "VALUE:IIIB" ], [ "310", "010,030", "VALUE:IIIEB" ], [ "320", "010,030", "VALUE:IIISB" ], [ "330", "010,030", "VALUE:IIIESB" ], [ "800", "010,030", "VALUE:IVB" ], [ "999", "010,030", "VALUE:UNK" ], [ "100", "999", "VALUE:I" ], [ "110", "999", "VALUE:IE" ], [ "120", "999", "VALUE:IS" ], [ "200", "999", "VALUE:II" ], [ "210", "999", "VALUE:IIE" ], [ "220", "999", "VALUE:IIS" ], [ "230", "999", "VALUE:IIES" ], [ "300", "999", "VALUE:III" ], [ "310", "999", "VALUE:IIIE" ], [ "320", "999", "VALUE:IIIS" ], [ "330", "999", "VALUE:IIIES" ], [ "800", "999", "VALUE:IV" ], [ "999", "999", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_csv1_xpz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_csv1_xpz.json deleted file mode 100644 index 74ee4d710..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_csv1_xpz.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "ajcctnm6_stage_csv1_xpz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC TNM 6 Stage CSv1", - "title" : "AJCC TNM 6 Stage", - "notes" : "**Note**: For cases with a year of diagnosis less than 2010 and originally coded in CSv1, the AJCC 6th Edition stage is assigned based on the following table. For cases with a year of diagnosis greater than 2009 or originally coded in CSv2, AJCC 6th Edition stage is assigned as shown in the AJCC TNM 6 Stage table.", - "last_modified" : "2015-05-27T16:19:00.759Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "s", - "name" : "S", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "S0", "ERROR:" ], [ "T0", "N0", "M0", "S1", "VALUE:IS" ], [ "T0", "N0", "M0", "S2", "VALUE:IS" ], [ "T0", "N0", "M0", "S3", "VALUE:IS" ], [ "T0", "N0", "M0", "SX", "ERROR:" ], [ "T0", "N1", "M0", "S0", "VALUE:IIA" ], [ "T0", "N1", "M0", "S1", "VALUE:IIA" ], [ "T0", "N1", "M0", "S2", "VALUE:IIIB" ], [ "T0", "N1", "M0", "S3", "VALUE:IIIC" ], [ "T0", "N1", "M0", "SX", "VALUE:IINOS" ], [ "T0", "N2", "M0", "S0", "VALUE:IIB" ], [ "T0", "N2", "M0", "S1", "VALUE:IIB" ], [ "T0", "N2", "M0", "S2", "VALUE:IIIB" ], [ "T0", "N2", "M0", "S3", "VALUE:IIIC" ], [ "T0", "N2", "M0", "SX", "VALUE:IINOS" ], [ "T0", "N3", "M0", "S0", "VALUE:IIC" ], [ "T0", "N3", "M0", "S1", "VALUE:IIC" ], [ "T0", "N3", "M0", "S2", "VALUE:IIIB" ], [ "T0", "N3", "M0", "S3", "VALUE:IIIC" ], [ "T0", "N3", "M0", "SX", "VALUE:IINOS" ], [ "T0", "NX", "M0", "S0", "VALUE:UNK" ], [ "T0", "NX", "M0", "S1", "VALUE:UNK" ], [ "T0", "NX", "M0", "S2", "VALUE:UNK" ], [ "T0", "NX", "M0", "S3", "VALUE:UNK" ], [ "T0", "NX", "M0", "SX", "VALUE:UNK" ], [ "T0", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T0", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T0", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T0", "N0", "M1NOS", "S3", "VALUE:IIIC" ], [ "T0", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T0", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T0", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T0", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T0", "N1", "M1NOS", "S3", "VALUE:IIIC" ], [ "T0", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T0", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T0", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T0", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T0", "N2", "M1NOS", "S3", "VALUE:IIIC" ], [ "T0", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T0", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T0", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T0", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T0", "N3", "M1NOS", "S3", "VALUE:IIIC" ], [ "T0", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T0", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T0", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T0", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T0", "NX", "M1NOS", "S3", "VALUE:IIIC" ], [ "T0", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T0", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "T0", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "T0", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "T0", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "T0", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "T0", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "T0", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "T0", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "T0", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "T0", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "T0", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "T0", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "T0", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "T0", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "T0", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "T0", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "T0", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "T0", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "T0", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "T0", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "T0", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "T0", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "T0", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "T0", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "T0", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "T0", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "T0", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "T0", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "T0", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "T0", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "T0", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "T0", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "T0", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "T0", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "T0", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "T0", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "T0", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "T0", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "T0", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "T0", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "T0", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "T0", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "T0", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "T0", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "T0", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "T0", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "T0", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "T0", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "T0", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "T0", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "T0", "N0", "MX", "S0", "VALUE:UNK" ], [ "T0", "N0", "MX", "S1", "VALUE:UNK" ], [ "T0", "N0", "MX", "S2", "VALUE:UNK" ], [ "T0", "N0", "MX", "S3", "VALUE:UNK" ], [ "T0", "N0", "MX", "SX", "VALUE:UNK" ], [ "T0", "N1", "MX", "S0", "VALUE:UNK" ], [ "T0", "N1", "MX", "S1", "VALUE:UNK" ], [ "T0", "N1", "MX", "S2", "VALUE:IIINOS" ], [ "T0", "N1", "MX", "S3", "VALUE:IIIC" ], [ "T0", "N1", "MX", "SX", "VALUE:UNK" ], [ "T0", "N2", "MX", "S0", "VALUE:UNK" ], [ "T0", "N2", "MX", "S1", "VALUE:UNK" ], [ "T0", "N2", "MX", "S2", "VALUE:IIINOS" ], [ "T0", "N2", "MX", "S3", "VALUE:IIIC" ], [ "T0", "N2", "MX", "SX", "VALUE:UNK" ], [ "T0", "N3", "MX", "S0", "VALUE:UNK" ], [ "T0", "N3", "MX", "S1", "VALUE:UNK" ], [ "T0", "N3", "MX", "S2", "VALUE:IIINOS" ], [ "T0", "N3", "MX", "S3", "VALUE:IIIC" ], [ "T0", "N3", "MX", "SX", "VALUE:UNK" ], [ "T0", "NX", "MX", "S0", "VALUE:UNK" ], [ "T0", "NX", "MX", "S1", "VALUE:UNK" ], [ "T0", "NX", "MX", "S2", "VALUE:UNK" ], [ "T0", "NX", "MX", "S3", "VALUE:UNK" ], [ "T0", "NX", "MX", "SX", "VALUE:UNK" ], [ "Tis", "N0", "M0", "S0", "VALUE:0" ], [ "Tis", "N0", "M0", "S1", "ERROR:" ], [ "Tis", "N0", "M0", "S2", "ERROR:" ], [ "Tis", "N0", "M0", "S3", "ERROR:" ], [ "Tis", "N0", "M0", "SX", "VALUE:UNK" ], [ "Tis", "N1", "M0", "S0", "ERROR:" ], [ "Tis", "N1", "M0", "S1", "ERROR:" ], [ "Tis", "N1", "M0", "S2", "ERROR:" ], [ "Tis", "N1", "M0", "S3", "ERROR:" ], [ "Tis", "N1", "M0", "SX", "ERROR:" ], [ "Tis", "N2", "M0", "S0", "ERROR:" ], [ "Tis", "N2", "M0", "S1", "ERROR:" ], [ "Tis", "N2", "M0", "S2", "ERROR:" ], [ "Tis", "N2", "M0", "S3", "ERROR:" ], [ "Tis", "N2", "M0", "SX", "ERROR:" ], [ "Tis", "N3", "M0", "S0", "ERROR:" ], [ "Tis", "N3", "M0", "S1", "ERROR:" ], [ "Tis", "N3", "M0", "S2", "ERROR:" ], [ "Tis", "N3", "M0", "S3", "ERROR:" ], [ "Tis", "N3", "M0", "SX", "ERROR:" ], [ "Tis", "NX", "M0", "S0", "VALUE:0" ], [ "Tis", "NX", "M0", "S1", "ERROR:" ], [ "Tis", "NX", "M0", "S2", "ERROR:" ], [ "Tis", "NX", "M0", "S3", "ERROR:" ], [ "Tis", "NX", "M0", "SX", "VALUE:UNK" ], [ "Tis", "N0", "M1NOS", "S0", "ERROR:" ], [ "Tis", "N0", "M1NOS", "S1", "ERROR:" ], [ "Tis", "N0", "M1NOS", "S2", "ERROR:" ], [ "Tis", "N0", "M1NOS", "S3", "ERROR:" ], [ "Tis", "N0", "M1NOS", "SX", "ERROR:" ], [ "Tis", "N1", "M1NOS", "S0", "ERROR:" ], [ "Tis", "N1", "M1NOS", "S1", "ERROR:" ], [ "Tis", "N1", "M1NOS", "S2", "ERROR:" ], [ "Tis", "N1", "M1NOS", "S3", "ERROR:" ], [ "Tis", "N1", "M1NOS", "SX", "ERROR:" ], [ "Tis", "N2", "M1NOS", "S0", "ERROR:" ], [ "Tis", "N2", "M1NOS", "S1", "ERROR:" ], [ "Tis", "N2", "M1NOS", "S2", "ERROR:" ], [ "Tis", "N2", "M1NOS", "S3", "ERROR:" ], [ "Tis", "N2", "M1NOS", "SX", "ERROR:" ], [ "Tis", "N3", "M1NOS", "S0", "ERROR:" ], [ "Tis", "N3", "M1NOS", "S1", "ERROR:" ], [ "Tis", "N3", "M1NOS", "S2", "ERROR:" ], [ "Tis", "N3", "M1NOS", "S3", "ERROR:" ], [ "Tis", "N3", "M1NOS", "SX", "ERROR:" ], [ "Tis", "NX", "M1NOS", "S0", "ERROR:" ], [ "Tis", "NX", "M1NOS", "S1", "ERROR:" ], [ "Tis", "NX", "M1NOS", "S2", "ERROR:" ], [ "Tis", "NX", "M1NOS", "S3", "ERROR:" ], [ "Tis", "NX", "M1NOS", "SX", "ERROR:" ], [ "Tis", "N0", "M1a", "S0", "ERROR:" ], [ "Tis", "N0", "M1a", "S1", "ERROR:" ], [ "Tis", "N0", "M1a", "S2", "ERROR:" ], [ "Tis", "N0", "M1a", "S3", "ERROR:" ], [ "Tis", "N0", "M1a", "SX", "ERROR:" ], [ "Tis", "N1", "M1a", "S0", "ERROR:" ], [ "Tis", "N1", "M1a", "S1", "ERROR:" ], [ "Tis", "N1", "M1a", "S2", "ERROR:" ], [ "Tis", "N1", "M1a", "S3", "ERROR:" ], [ "Tis", "N1", "M1a", "SX", "ERROR:" ], [ "Tis", "N2", "M1a", "S0", "ERROR:" ], [ "Tis", "N2", "M1a", "S1", "ERROR:" ], [ "Tis", "N2", "M1a", "S2", "ERROR:" ], [ "Tis", "N2", "M1a", "S3", "ERROR:" ], [ "Tis", "N2", "M1a", "SX", "ERROR:" ], [ "Tis", "N3", "M1a", "S0", "ERROR:" ], [ "Tis", "N3", "M1a", "S1", "ERROR:" ], [ "Tis", "N3", "M1a", "S2", "ERROR:" ], [ "Tis", "N3", "M1a", "S3", "ERROR:" ], [ "Tis", "N3", "M1a", "SX", "ERROR:" ], [ "Tis", "NX", "M1a", "S0", "ERROR:" ], [ "Tis", "NX", "M1a", "S1", "ERROR:" ], [ "Tis", "NX", "M1a", "S2", "ERROR:" ], [ "Tis", "NX", "M1a", "S3", "ERROR:" ], [ "Tis", "NX", "M1a", "SX", "ERROR:" ], [ "Tis", "N0", "M1b", "S0", "ERROR:" ], [ "Tis", "N0", "M1b", "S1", "ERROR:" ], [ "Tis", "N0", "M1b", "S2", "ERROR:" ], [ "Tis", "N0", "M1b", "S3", "ERROR:" ], [ "Tis", "N0", "M1b", "SX", "ERROR:" ], [ "Tis", "N1", "M1b", "S0", "ERROR:" ], [ "Tis", "N1", "M1b", "S1", "ERROR:" ], [ "Tis", "N1", "M1b", "S2", "ERROR:" ], [ "Tis", "N1", "M1b", "S3", "ERROR:" ], [ "Tis", "N1", "M1b", "SX", "ERROR:" ], [ "Tis", "N2", "M1b", "S0", "ERROR:" ], [ "Tis", "N2", "M1b", "S1", "ERROR:" ], [ "Tis", "N2", "M1b", "S2", "ERROR:" ], [ "Tis", "N2", "M1b", "S3", "ERROR:" ], [ "Tis", "N2", "M1b", "SX", "ERROR:" ], [ "Tis", "N3", "M1b", "S0", "ERROR:" ], [ "Tis", "N3", "M1b", "S1", "ERROR:" ], [ "Tis", "N3", "M1b", "S2", "ERROR:" ], [ "Tis", "N3", "M1b", "S3", "ERROR:" ], [ "Tis", "N3", "M1b", "SX", "ERROR:" ], [ "Tis", "NX", "M1b", "S0", "ERROR:" ], [ "Tis", "NX", "M1b", "S1", "ERROR:" ], [ "Tis", "NX", "M1b", "S2", "ERROR:" ], [ "Tis", "NX", "M1b", "S3", "ERROR:" ], [ "Tis", "NX", "M1b", "SX", "ERROR:" ], [ "Tis", "N0", "MX", "S0", "VALUE:0" ], [ "Tis", "N0", "MX", "S1", "ERROR:" ], [ "Tis", "N0", "MX", "S2", "ERROR:" ], [ "Tis", "N0", "MX", "S3", "ERROR:" ], [ "Tis", "N0", "MX", "SX", "ERROR:" ], [ "Tis", "N1", "MX", "S0", "ERROR:" ], [ "Tis", "N1", "MX", "S1", "ERROR:" ], [ "Tis", "N1", "MX", "S2", "ERROR:" ], [ "Tis", "N1", "MX", "S3", "ERROR:" ], [ "Tis", "N1", "MX", "SX", "ERROR:" ], [ "Tis", "N2", "MX", "S0", "ERROR:" ], [ "Tis", "N2", "MX", "S1", "ERROR:" ], [ "Tis", "N2", "MX", "S2", "ERROR:" ], [ "Tis", "N2", "MX", "S3", "ERROR:" ], [ "Tis", "N2", "MX", "SX", "ERROR:" ], [ "Tis", "N3", "MX", "S0", "ERROR:" ], [ "Tis", "N3", "MX", "S1", "ERROR:" ], [ "Tis", "N3", "MX", "S2", "ERROR:" ], [ "Tis", "N3", "MX", "S3", "ERROR:" ], [ "Tis", "N3", "MX", "SX", "ERROR:" ], [ "Tis", "NX", "MX", "S0", "VALUE:0" ], [ "Tis", "NX", "MX", "S1", "ERROR:" ], [ "Tis", "NX", "MX", "S2", "ERROR:" ], [ "Tis", "NX", "MX", "S3", "ERROR:" ], [ "Tis", "NX", "MX", "SX", "VALUE:UNK" ], [ "T1", "N0", "M0", "S0", "VALUE:IA" ], [ "T1", "N0", "M0", "S1", "VALUE:IS" ], [ "T1", "N0", "M0", "S2", "VALUE:IS" ], [ "T1", "N0", "M0", "S3", "VALUE:IS" ], [ "T1", "N0", "M0", "SX", "VALUE:INOS" ], [ "T1", "N1", "M0", "S0", "VALUE:IIA" ], [ "T1", "N1", "M0", "S1", "VALUE:IIA" ], [ "T1", "N1", "M0", "S2", "VALUE:IIIB" ], [ "T1", "N1", "M0", "S3", "VALUE:IIIC" ], [ "T1", "N1", "M0", "SX", "VALUE:IINOS" ], [ "T1", "N2", "M0", "S0", "VALUE:IIB" ], [ "T1", "N2", "M0", "S1", "VALUE:IIB" ], [ "T1", "N2", "M0", "S2", "VALUE:IIIB" ], [ "T1", "N2", "M0", "S3", "VALUE:IIIC" ], [ "T1", "N2", "M0", "SX", "VALUE:IINOS" ], [ "T1", "N3", "M0", "S0", "VALUE:IIC" ], [ "T1", "N3", "M0", "S1", "VALUE:IIC" ], [ "T1", "N3", "M0", "S2", "VALUE:IIIB" ], [ "T1", "N3", "M0", "S3", "VALUE:IIIC" ], [ "T1", "N3", "M0", "SX", "VALUE:IINOS" ], [ "T1", "NX", "M0", "S0", "VALUE:UNK" ], [ "T1", "NX", "M0", "S1", "VALUE:UNK" ], [ "T1", "NX", "M0", "S2", "VALUE:UNK" ], [ "T1", "NX", "M0", "S3", "VALUE:UNK" ], [ "T1", "NX", "M0", "SX", "VALUE:UNK" ], [ "T1", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T1", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T1", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T1", "N0", "M1NOS", "S3", "VALUE:IIIC" ], [ "T1", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T1", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T1", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T1", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T1", "N1", "M1NOS", "S3", "VALUE:IIIC" ], [ "T1", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T1", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T1", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T1", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T1", "N2", "M1NOS", "S3", "VALUE:IIIC" ], [ "T1", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T1", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T1", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T1", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T1", "N3", "M1NOS", "S3", "VALUE:IIIC" ], [ "T1", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T1", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T1", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T1", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T1", "NX", "M1NOS", "S3", "VALUE:IIIC" ], [ "T1", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T1", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "T1", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "T1", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "T1", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "T1", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "T1", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "T1", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "T1", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "T1", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "T1", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "T1", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "T1", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "T1", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "T1", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "T1", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "T1", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "T1", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "T1", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "T1", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "T1", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "T1", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "T1", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "T1", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "T1", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "T1", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "T1", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "T1", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "T1", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "T1", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "T1", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "T1", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "T1", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "T1", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "T1", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "T1", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "T1", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "T1", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "T1", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "T1", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "T1", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "T1", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "T1", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "T1", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "T1", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "T1", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "T1", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "T1", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "T1", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "T1", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "T1", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "T1", "N0", "MX", "S0", "VALUE:UNK" ], [ "T1", "N0", "MX", "S1", "VALUE:UNK" ], [ "T1", "N0", "MX", "S2", "VALUE:UNK" ], [ "T1", "N0", "MX", "S3", "VALUE:UNK" ], [ "T1", "N0", "MX", "SX", "VALUE:UNK" ], [ "T1", "N1", "MX", "S0", "VALUE:UNK" ], [ "T1", "N1", "MX", "S1", "VALUE:UNK" ], [ "T1", "N1", "MX", "S2", "VALUE:IIINOS" ], [ "T1", "N1", "MX", "S3", "VALUE:IIIC" ], [ "T1", "N1", "MX", "SX", "VALUE:UNK" ], [ "T1", "N2", "MX", "S0", "VALUE:UNK" ], [ "T1", "N2", "MX", "S1", "VALUE:UNK" ], [ "T1", "N2", "MX", "S2", "VALUE:IIINOS" ], [ "T1", "N2", "MX", "S3", "VALUE:IIIC" ], [ "T1", "N2", "MX", "SX", "VALUE:UNK" ], [ "T1", "N3", "MX", "S0", "VALUE:UNK" ], [ "T1", "N3", "MX", "S1", "VALUE:UNK" ], [ "T1", "N3", "MX", "S2", "VALUE:IIINOS" ], [ "T1", "N3", "MX", "S3", "VALUE:IIIC" ], [ "T1", "N3", "MX", "SX", "VALUE:UNK" ], [ "T1", "NX", "MX", "S0", "VALUE:UNK" ], [ "T1", "NX", "MX", "S1", "VALUE:UNK" ], [ "T1", "NX", "MX", "S2", "VALUE:IIINOS" ], [ "T1", "NX", "MX", "S3", "VALUE:UNK" ], [ "T1", "NX", "MX", "SX", "VALUE:UNK" ], [ "T2", "N0", "M0", "S0", "VALUE:IB" ], [ "T2", "N0", "M0", "S1", "VALUE:IS" ], [ "T2", "N0", "M0", "S2", "VALUE:IS" ], [ "T2", "N0", "M0", "S3", "VALUE:IS" ], [ "T2", "N0", "M0", "SX", "VALUE:INOS" ], [ "T2", "N1", "M0", "S0", "VALUE:IIA" ], [ "T2", "N1", "M0", "S1", "VALUE:IIA" ], [ "T2", "N1", "M0", "S2", "VALUE:IIIB" ], [ "T2", "N1", "M0", "S3", "VALUE:IIIC" ], [ "T2", "N1", "M0", "SX", "VALUE:IINOS" ], [ "T2", "N2", "M0", "S0", "VALUE:IIB" ], [ "T2", "N2", "M0", "S1", "VALUE:IIB" ], [ "T2", "N2", "M0", "S2", "VALUE:IIIB" ], [ "T2", "N2", "M0", "S3", "VALUE:IIIC" ], [ "T2", "N2", "M0", "SX", "VALUE:IINOS" ], [ "T2", "N3", "M0", "S0", "VALUE:IIC" ], [ "T2", "N3", "M0", "S1", "VALUE:IIC" ], [ "T2", "N3", "M0", "S2", "VALUE:IIIB" ], [ "T2", "N3", "M0", "S3", "VALUE:IIIC" ], [ "T2", "N3", "M0", "SX", "VALUE:IINOS" ], [ "T2", "NX", "M0", "S0", "VALUE:UNK" ], [ "T2", "NX", "M0", "S1", "VALUE:UNK" ], [ "T2", "NX", "M0", "S2", "VALUE:UNK" ], [ "T2", "NX", "M0", "S3", "VALUE:UNK" ], [ "T2", "NX", "M0", "SX", "VALUE:UNK" ], [ "T2", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T2", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T2", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T2", "N0", "M1NOS", "S3", "VALUE:IIIC" ], [ "T2", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T2", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T2", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T2", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T2", "N1", "M1NOS", "S3", "VALUE:IIIC" ], [ "T2", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T2", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T2", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T2", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T2", "N2", "M1NOS", "S3", "VALUE:IIIC" ], [ "T2", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T2", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T2", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T2", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T2", "N3", "M1NOS", "S3", "VALUE:IIIC" ], [ "T2", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T2", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T2", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T2", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T2", "NX", "M1NOS", "S3", "VALUE:IIIC" ], [ "T2", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T2", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "T2", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "T2", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "T2", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "T2", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "T2", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "T2", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "T2", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "T2", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "T2", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "T2", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "T2", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "T2", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "T2", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "T2", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "T2", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "T2", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "T2", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "T2", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "T2", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "T2", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "T2", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "T2", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "T2", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "T2", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "T2", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "T2", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "T2", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "T2", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "T2", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "T2", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "T2", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "T2", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "T2", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "T2", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "T2", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "T2", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "T2", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "T2", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "T2", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "T2", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "T2", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "T2", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "T2", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "T2", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "T2", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "T2", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "T2", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "T2", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "T2", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "T2", "N0", "MX", "S0", "VALUE:UNK" ], [ "T2", "N0", "MX", "S1", "VALUE:UNK" ], [ "T2", "N0", "MX", "S2", "VALUE:UNK" ], [ "T2", "N0", "MX", "S3", "VALUE:UNK" ], [ "T2", "N0", "MX", "SX", "VALUE:UNK" ], [ "T2", "N1", "MX", "S0", "VALUE:UNK" ], [ "T2", "N1", "MX", "S1", "VALUE:UNK" ], [ "T2", "N1", "MX", "S2", "VALUE:IIINOS" ], [ "T2", "N1", "MX", "S3", "VALUE:IIIC" ], [ "T2", "N1", "MX", "SX", "VALUE:UNK" ], [ "T2", "N2", "MX", "S0", "VALUE:UNK" ], [ "T2", "N2", "MX", "S1", "VALUE:UNK" ], [ "T2", "N2", "MX", "S2", "VALUE:IIINOS" ], [ "T2", "N2", "MX", "S3", "VALUE:IIIC" ], [ "T2", "N2", "MX", "SX", "VALUE:UNK" ], [ "T2", "N3", "MX", "S0", "VALUE:UNK" ], [ "T2", "N3", "MX", "S1", "VALUE:UNK" ], [ "T2", "N3", "MX", "S2", "VALUE:IIINOS" ], [ "T2", "N3", "MX", "S3", "VALUE:IIIC" ], [ "T2", "N3", "MX", "SX", "VALUE:UNK" ], [ "T2", "NX", "MX", "S0", "VALUE:UNK" ], [ "T2", "NX", "MX", "S1", "VALUE:UNK" ], [ "T2", "NX", "MX", "S2", "VALUE:IIINOS" ], [ "T2", "NX", "MX", "S3", "VALUE:UNK" ], [ "T2", "NX", "MX", "SX", "VALUE:UNK" ], [ "T3", "N0", "M0", "S0", "VALUE:IB" ], [ "T3", "N0", "M0", "S1", "VALUE:IS" ], [ "T3", "N0", "M0", "S2", "VALUE:IS" ], [ "T3", "N0", "M0", "S3", "VALUE:IS" ], [ "T3", "N0", "M0", "SX", "VALUE:INOS" ], [ "T3", "N1", "M0", "S0", "VALUE:IIA" ], [ "T3", "N1", "M0", "S1", "VALUE:IIA" ], [ "T3", "N1", "M0", "S2", "VALUE:IIIB" ], [ "T3", "N1", "M0", "S3", "VALUE:IIIC" ], [ "T3", "N1", "M0", "SX", "VALUE:IINOS" ], [ "T3", "N2", "M0", "S0", "VALUE:IIB" ], [ "T3", "N2", "M0", "S1", "VALUE:IIB" ], [ "T3", "N2", "M0", "S2", "VALUE:IIIB" ], [ "T3", "N2", "M0", "S3", "VALUE:IIIC" ], [ "T3", "N2", "M0", "SX", "VALUE:IINOS" ], [ "T3", "N3", "M0", "S0", "VALUE:IIC" ], [ "T3", "N3", "M0", "S1", "VALUE:IIC" ], [ "T3", "N3", "M0", "S2", "VALUE:IIIB" ], [ "T3", "N3", "M0", "S3", "VALUE:IIIC" ], [ "T3", "N3", "M0", "SX", "VALUE:IINOS" ], [ "T3", "NX", "M0", "S0", "VALUE:UNK" ], [ "T3", "NX", "M0", "S1", "VALUE:UNK" ], [ "T3", "NX", "M0", "S2", "VALUE:UNK" ], [ "T3", "NX", "M0", "S3", "VALUE:UNK" ], [ "T3", "NX", "M0", "SX", "VALUE:UNK" ], [ "T3", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T3", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T3", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T3", "N0", "M1NOS", "S3", "VALUE:IIIC" ], [ "T3", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T3", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T3", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T3", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T3", "N1", "M1NOS", "S3", "VALUE:IIIC" ], [ "T3", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T3", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T3", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T3", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T3", "N2", "M1NOS", "S3", "VALUE:IIIC" ], [ "T3", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T3", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T3", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T3", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T3", "N3", "M1NOS", "S3", "VALUE:IIIC" ], [ "T3", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T3", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T3", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T3", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T3", "NX", "M1NOS", "S3", "VALUE:IIIC" ], [ "T3", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T3", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "T3", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "T3", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "T3", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "T3", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "T3", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "T3", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "T3", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "T3", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "T3", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "T3", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "T3", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "T3", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "T3", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "T3", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "T3", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "T3", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "T3", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "T3", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "T3", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "T3", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "T3", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "T3", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "T3", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "T3", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "T3", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "T3", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "T3", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "T3", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "T3", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "T3", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "T3", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "T3", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "T3", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "T3", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "T3", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "T3", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "T3", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "T3", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "T3", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "T3", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "T3", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "T3", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "T3", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "T3", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "T3", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "T3", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "T3", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "T3", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "T3", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "T3", "N0", "MX", "S0", "VALUE:UNK" ], [ "T3", "N0", "MX", "S1", "VALUE:UNK" ], [ "T3", "N0", "MX", "S2", "VALUE:UNK" ], [ "T3", "N0", "MX", "S3", "VALUE:UNK" ], [ "T3", "N0", "MX", "SX", "VALUE:UNK" ], [ "T3", "N1", "MX", "S0", "VALUE:UNK" ], [ "T3", "N1", "MX", "S1", "VALUE:UNK" ], [ "T3", "N1", "MX", "S2", "VALUE:IIINOS" ], [ "T3", "N1", "MX", "S3", "VALUE:IIIC" ], [ "T3", "N1", "MX", "SX", "VALUE:UNK" ], [ "T3", "N2", "MX", "S0", "VALUE:UNK" ], [ "T3", "N2", "MX", "S1", "VALUE:UNK" ], [ "T3", "N2", "MX", "S2", "VALUE:IIINOS" ], [ "T3", "N2", "MX", "S3", "VALUE:IIIC" ], [ "T3", "N2", "MX", "SX", "VALUE:UNK" ], [ "T3", "N3", "MX", "S0", "VALUE:UNK" ], [ "T3", "N3", "MX", "S1", "VALUE:UNK" ], [ "T3", "N3", "MX", "S2", "VALUE:IIINOS" ], [ "T3", "N3", "MX", "S3", "VALUE:IIIC" ], [ "T3", "N3", "MX", "SX", "VALUE:UNK" ], [ "T3", "NX", "MX", "S0", "VALUE:UNK" ], [ "T3", "NX", "MX", "S1", "VALUE:UNK" ], [ "T3", "NX", "MX", "S2", "VALUE:UNK" ], [ "T3", "NX", "MX", "S3", "VALUE:UNK" ], [ "T3", "NX", "MX", "SX", "VALUE:UNK" ], [ "T4", "N0", "M0", "S0", "VALUE:IB" ], [ "T4", "N0", "M0", "S1", "VALUE:IS" ], [ "T4", "N0", "M0", "S2", "VALUE:IS" ], [ "T4", "N0", "M0", "S3", "VALUE:IS" ], [ "T4", "N0", "M0", "SX", "VALUE:INOS" ], [ "T4", "N1", "M0", "S0", "VALUE:IIA" ], [ "T4", "N1", "M0", "S1", "VALUE:IIA" ], [ "T4", "N1", "M0", "S2", "VALUE:IIIB" ], [ "T4", "N1", "M0", "S3", "VALUE:IIIC" ], [ "T4", "N1", "M0", "SX", "VALUE:IINOS" ], [ "T4", "N2", "M0", "S0", "VALUE:IIB" ], [ "T4", "N2", "M0", "S1", "VALUE:IIB" ], [ "T4", "N2", "M0", "S2", "VALUE:IIIB" ], [ "T4", "N2", "M0", "S3", "VALUE:IIIC" ], [ "T4", "N2", "M0", "SX", "VALUE:IINOS" ], [ "T4", "N3", "M0", "S0", "VALUE:IIC" ], [ "T4", "N3", "M0", "S1", "VALUE:IIC" ], [ "T4", "N3", "M0", "S2", "VALUE:IIIB" ], [ "T4", "N3", "M0", "S3", "VALUE:IIIC" ], [ "T4", "N3", "M0", "SX", "VALUE:IINOS" ], [ "T4", "NX", "M0", "S0", "VALUE:UNK" ], [ "T4", "NX", "M0", "S1", "VALUE:UNK" ], [ "T4", "NX", "M0", "S2", "VALUE:UNK" ], [ "T4", "NX", "M0", "S3", "VALUE:UNK" ], [ "T4", "NX", "M0", "SX", "VALUE:UNK" ], [ "T4", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T4", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T4", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T4", "N0", "M1NOS", "S3", "VALUE:IIIC" ], [ "T4", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T4", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T4", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T4", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T4", "N1", "M1NOS", "S3", "VALUE:IIIC" ], [ "T4", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T4", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T4", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T4", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T4", "N2", "M1NOS", "S3", "VALUE:IIIC" ], [ "T4", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T4", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T4", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T4", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T4", "N3", "M1NOS", "S3", "VALUE:IIIC" ], [ "T4", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T4", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "T4", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "T4", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "T4", "NX", "M1NOS", "S3", "VALUE:IIIC" ], [ "T4", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "T4", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "T4", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "T4", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "T4", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "T4", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "T4", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "T4", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "T4", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "T4", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "T4", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "T4", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "T4", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "T4", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "T4", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "T4", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "T4", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "T4", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "T4", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "T4", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "T4", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "T4", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "T4", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "T4", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "T4", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "T4", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "T4", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "T4", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "T4", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "T4", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "T4", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "T4", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "T4", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "T4", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "T4", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "T4", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "T4", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "T4", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "T4", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "T4", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "T4", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "T4", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "T4", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "T4", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "T4", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "T4", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "T4", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "T4", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "T4", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "T4", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "T4", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "T4", "N0", "MX", "S0", "VALUE:UNK" ], [ "T4", "N0", "MX", "S1", "VALUE:UNK" ], [ "T4", "N0", "MX", "S2", "VALUE:UNK" ], [ "T4", "N0", "MX", "S3", "VALUE:UNK" ], [ "T4", "N0", "MX", "SX", "VALUE:UNK" ], [ "T4", "N1", "MX", "S0", "VALUE:UNK" ], [ "T4", "N1", "MX", "S1", "VALUE:UNK" ], [ "T4", "N1", "MX", "S2", "VALUE:IIINOS" ], [ "T4", "N1", "MX", "S3", "VALUE:IIIC" ], [ "T4", "N1", "MX", "SX", "VALUE:UNK" ], [ "T4", "N2", "MX", "S0", "VALUE:UNK" ], [ "T4", "N2", "MX", "S1", "VALUE:UNK" ], [ "T4", "N2", "MX", "S2", "VALUE:IIINOS" ], [ "T4", "N2", "MX", "S3", "VALUE:IIIC" ], [ "T4", "N2", "MX", "SX", "VALUE:UNK" ], [ "T4", "N3", "MX", "S0", "VALUE:UNK" ], [ "T4", "N3", "MX", "S1", "VALUE:UNK" ], [ "T4", "N3", "MX", "S2", "VALUE:IIINOS" ], [ "T4", "N3", "MX", "S3", "VALUE:IIIC" ], [ "T4", "N3", "MX", "SX", "VALUE:UNK" ], [ "T4", "NX", "MX", "S0", "VALUE:UNK" ], [ "T4", "NX", "MX", "S1", "VALUE:UNK" ], [ "T4", "NX", "MX", "S2", "VALUE:UNK" ], [ "T4", "NX", "MX", "S3", "VALUE:UNK" ], [ "T4", "NX", "MX", "SX", "VALUE:UNK" ], [ "TX", "N0", "M0", "S0", "VALUE:UNK" ], [ "TX", "N0", "M0", "S1", "VALUE:IS" ], [ "TX", "N0", "M0", "S2", "VALUE:IS" ], [ "TX", "N0", "M0", "S3", "VALUE:IS" ], [ "TX", "N0", "M0", "SX", "VALUE:UNK" ], [ "TX", "N1", "M0", "S0", "VALUE:IIA" ], [ "TX", "N1", "M0", "S1", "VALUE:IIA" ], [ "TX", "N1", "M0", "S2", "VALUE:IIIB" ], [ "TX", "N1", "M0", "S3", "VALUE:IIIC" ], [ "TX", "N1", "M0", "SX", "VALUE:IINOS" ], [ "TX", "N2", "M0", "S0", "VALUE:IIB" ], [ "TX", "N2", "M0", "S1", "VALUE:IIB" ], [ "TX", "N2", "M0", "S2", "VALUE:IIIB" ], [ "TX", "N2", "M0", "S3", "VALUE:IIIC" ], [ "TX", "N2", "M0", "SX", "VALUE:IINOS" ], [ "TX", "N3", "M0", "S0", "VALUE:IIC" ], [ "TX", "N3", "M0", "S1", "VALUE:IIC" ], [ "TX", "N3", "M0", "S2", "VALUE:IIIB" ], [ "TX", "N3", "M0", "S3", "VALUE:IIIC" ], [ "TX", "N3", "M0", "SX", "VALUE:IINOS" ], [ "TX", "NX", "M0", "S0", "VALUE:UNK" ], [ "TX", "NX", "M0", "S1", "VALUE:UNK" ], [ "TX", "NX", "M0", "S2", "VALUE:UNK" ], [ "TX", "NX", "M0", "S3", "VALUE:UNK" ], [ "TX", "NX", "M0", "SX", "VALUE:UNK" ], [ "TX", "N0", "M1NOS", "S0", "VALUE:IIINOS" ], [ "TX", "N0", "M1NOS", "S1", "VALUE:IIINOS" ], [ "TX", "N0", "M1NOS", "S2", "VALUE:IIINOS" ], [ "TX", "N0", "M1NOS", "S3", "VALUE:IIIC" ], [ "TX", "N0", "M1NOS", "SX", "VALUE:IIINOS" ], [ "TX", "N1", "M1NOS", "S0", "VALUE:IIINOS" ], [ "TX", "N1", "M1NOS", "S1", "VALUE:IIINOS" ], [ "TX", "N1", "M1NOS", "S2", "VALUE:IIINOS" ], [ "TX", "N1", "M1NOS", "S3", "VALUE:IIIC" ], [ "TX", "N1", "M1NOS", "SX", "VALUE:IIINOS" ], [ "TX", "N2", "M1NOS", "S0", "VALUE:IIINOS" ], [ "TX", "N2", "M1NOS", "S1", "VALUE:IIINOS" ], [ "TX", "N2", "M1NOS", "S2", "VALUE:IIINOS" ], [ "TX", "N2", "M1NOS", "S3", "VALUE:IIIC" ], [ "TX", "N2", "M1NOS", "SX", "VALUE:IIINOS" ], [ "TX", "N3", "M1NOS", "S0", "VALUE:IIINOS" ], [ "TX", "N3", "M1NOS", "S1", "VALUE:IIINOS" ], [ "TX", "N3", "M1NOS", "S2", "VALUE:IIINOS" ], [ "TX", "N3", "M1NOS", "S3", "VALUE:IIIC" ], [ "TX", "N3", "M1NOS", "SX", "VALUE:IIINOS" ], [ "TX", "NX", "M1NOS", "S0", "VALUE:IIINOS" ], [ "TX", "NX", "M1NOS", "S1", "VALUE:IIINOS" ], [ "TX", "NX", "M1NOS", "S2", "VALUE:IIINOS" ], [ "TX", "NX", "M1NOS", "S3", "VALUE:IIIC" ], [ "TX", "NX", "M1NOS", "SX", "VALUE:IIINOS" ], [ "TX", "N0", "M1a", "S0", "VALUE:IIIA" ], [ "TX", "N0", "M1a", "S1", "VALUE:IIIA" ], [ "TX", "N0", "M1a", "S2", "VALUE:IIIB" ], [ "TX", "N0", "M1a", "S3", "VALUE:IIIC" ], [ "TX", "N0", "M1a", "SX", "VALUE:IIINOS" ], [ "TX", "N1", "M1a", "S0", "VALUE:IIIA" ], [ "TX", "N1", "M1a", "S1", "VALUE:IIIA" ], [ "TX", "N1", "M1a", "S2", "VALUE:IIIB" ], [ "TX", "N1", "M1a", "S3", "VALUE:IIIC" ], [ "TX", "N1", "M1a", "SX", "VALUE:IIINOS" ], [ "TX", "N2", "M1a", "S0", "VALUE:IIIA" ], [ "TX", "N2", "M1a", "S1", "VALUE:IIIA" ], [ "TX", "N2", "M1a", "S2", "VALUE:IIIB" ], [ "TX", "N2", "M1a", "S3", "VALUE:IIIC" ], [ "TX", "N2", "M1a", "SX", "VALUE:IIINOS" ], [ "TX", "N3", "M1a", "S0", "VALUE:IIIA" ], [ "TX", "N3", "M1a", "S1", "VALUE:IIIA" ], [ "TX", "N3", "M1a", "S2", "VALUE:IIIB" ], [ "TX", "N3", "M1a", "S3", "VALUE:IIIC" ], [ "TX", "N3", "M1a", "SX", "VALUE:IIINOS" ], [ "TX", "NX", "M1a", "S0", "VALUE:IIIA" ], [ "TX", "NX", "M1a", "S1", "VALUE:IIIA" ], [ "TX", "NX", "M1a", "S2", "VALUE:IIIB" ], [ "TX", "NX", "M1a", "S3", "VALUE:IIIC" ], [ "TX", "NX", "M1a", "SX", "VALUE:IIINOS" ], [ "TX", "N0", "M1b", "S0", "VALUE:IIIC" ], [ "TX", "N0", "M1b", "S1", "VALUE:IIIC" ], [ "TX", "N0", "M1b", "S2", "VALUE:IIIC" ], [ "TX", "N0", "M1b", "S3", "VALUE:IIIC" ], [ "TX", "N0", "M1b", "SX", "VALUE:IIIC" ], [ "TX", "N1", "M1b", "S0", "VALUE:IIIC" ], [ "TX", "N1", "M1b", "S1", "VALUE:IIIC" ], [ "TX", "N1", "M1b", "S2", "VALUE:IIIC" ], [ "TX", "N1", "M1b", "S3", "VALUE:IIIC" ], [ "TX", "N1", "M1b", "SX", "VALUE:IIIC" ], [ "TX", "N2", "M1b", "S0", "VALUE:IIIC" ], [ "TX", "N2", "M1b", "S1", "VALUE:IIIC" ], [ "TX", "N2", "M1b", "S2", "VALUE:IIIC" ], [ "TX", "N2", "M1b", "S3", "VALUE:IIIC" ], [ "TX", "N2", "M1b", "SX", "VALUE:IIIC" ], [ "TX", "N3", "M1b", "S0", "VALUE:IIIC" ], [ "TX", "N3", "M1b", "S1", "VALUE:IIIC" ], [ "TX", "N3", "M1b", "S2", "VALUE:IIIC" ], [ "TX", "N3", "M1b", "S3", "VALUE:IIIC" ], [ "TX", "N3", "M1b", "SX", "VALUE:IIIC" ], [ "TX", "NX", "M1b", "S0", "VALUE:IIIC" ], [ "TX", "NX", "M1b", "S1", "VALUE:IIIC" ], [ "TX", "NX", "M1b", "S2", "VALUE:IIIC" ], [ "TX", "NX", "M1b", "S3", "VALUE:IIIC" ], [ "TX", "NX", "M1b", "SX", "VALUE:IIIC" ], [ "TX", "N0", "MX", "S0", "VALUE:UNK" ], [ "TX", "N0", "MX", "S1", "VALUE:UNK" ], [ "TX", "N0", "MX", "S2", "VALUE:UNK" ], [ "TX", "N0", "MX", "S3", "VALUE:UNK" ], [ "TX", "N0", "MX", "SX", "VALUE:UNK" ], [ "TX", "N1", "MX", "S0", "VALUE:UNK" ], [ "TX", "N1", "MX", "S1", "VALUE:UNK" ], [ "TX", "N1", "MX", "S2", "VALUE:IIINOS" ], [ "TX", "N1", "MX", "S3", "VALUE:IIIC" ], [ "TX", "N1", "MX", "SX", "VALUE:UNK" ], [ "TX", "N2", "MX", "S0", "VALUE:UNK" ], [ "TX", "N2", "MX", "S1", "VALUE:UNK" ], [ "TX", "N2", "MX", "S2", "VALUE:IIINOS" ], [ "TX", "N2", "MX", "S3", "VALUE:IIIC" ], [ "TX", "N2", "MX", "SX", "VALUE:UNK" ], [ "TX", "N3", "MX", "S0", "VALUE:UNK" ], [ "TX", "N3", "MX", "S1", "VALUE:UNK" ], [ "TX", "N3", "MX", "S2", "VALUE:IIINOS" ], [ "TX", "N3", "MX", "S3", "VALUE:IIIC" ], [ "TX", "N3", "MX", "SX", "VALUE:UNK" ], [ "TX", "NX", "MX", "S0", "VALUE:UNK" ], [ "TX", "NX", "MX", "S1", "VALUE:UNK" ], [ "TX", "NX", "MX", "S2", "VALUE:UNK" ], [ "TX", "NX", "MX", "S3", "VALUE:UNK" ], [ "TX", "NX", "MX", "SX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_anaplastic_xcg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_anaplastic_xcg.json deleted file mode 100644 index 979f0967a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_anaplastic_xcg.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcctnm6_stage_thyroid_anaplastic_xcg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC TNM 6 Stage Thyroid Anaplastic", - "title" : "AJCC TNM 6 Stage-Thyroid: Anaplastic", - "last_modified" : "2015-05-27T16:19:00.923Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ajcc6_stage", - "name" : "Stage Table 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T4a", "N0", "M0", "VALUE:IVA" ], [ "T4a", "N0", "M1", "VALUE:IVC" ], [ "T4a", "N0", "MX", "VALUE:IVNOS" ], [ "T4a", "N1a", "M0", "VALUE:IVA" ], [ "T4a", "N1a", "M1", "VALUE:IVC" ], [ "T4a", "N1a", "MX", "VALUE:IVNOS" ], [ "T4a", "N1b", "M0", "VALUE:IVA" ], [ "T4a", "N1b", "M1", "VALUE:IVC" ], [ "T4a", "N1b", "MX", "VALUE:IVNOS" ], [ "T4a", "N1NOS", "M0", "VALUE:IVA" ], [ "T4a", "N1NOS", "M1", "VALUE:IVC" ], [ "T4a", "N1NOS", "MX", "VALUE:IVNOS" ], [ "T4a", "NX", "M0", "VALUE:IVA" ], [ "T4a", "NX", "M1", "VALUE:IVC" ], [ "T4a", "NX", "MX", "VALUE:IVNOS" ], [ "T4b", "N0", "M0", "VALUE:IVB" ], [ "T4b", "N0", "M1", "VALUE:IVC" ], [ "T4b", "N0", "MX", "VALUE:IVNOS" ], [ "T4b", "N1a", "M0", "VALUE:IVB" ], [ "T4b", "N1a", "M1", "VALUE:IVC" ], [ "T4b", "N1a", "MX", "VALUE:IVNOS" ], [ "T4b", "N1b", "M0", "VALUE:IVB" ], [ "T4b", "N1b", "M1", "VALUE:IVC" ], [ "T4b", "N1b", "MX", "VALUE:IVNOS" ], [ "T4b", "N1NOS", "M0", "VALUE:IVB" ], [ "T4b", "N1NOS", "M1", "VALUE:IVC" ], [ "T4b", "N1NOS", "MX", "VALUE:IVNOS" ], [ "T4b", "NX", "M0", "VALUE:IVB" ], [ "T4b", "NX", "M1", "VALUE:IVC" ], [ "T4b", "NX", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M1", "VALUE:IVC" ], [ "T4NOS", "N0", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N1a", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1a", "M1", "VALUE:IVC" ], [ "T4NOS", "N1a", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N1b", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1b", "M1", "VALUE:IVC" ], [ "T4NOS", "N1b", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N1NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1NOS", "M1", "VALUE:IVC" ], [ "T4NOS", "N1NOS", "MX", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M0", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1", "VALUE:IVC" ], [ "T4NOS", "NX", "MX", "VALUE:IVNOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_medullary_xcf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_medullary_xcf.json deleted file mode 100644 index 12dda7072..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_medullary_xcf.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcctnm6_stage_thyroid_medullary_xcf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC TNM 6 Stage Thyroid Medullary", - "title" : "AJCC TNM 6 Stage-Thyroid: Medullary", - "last_modified" : "2015-05-27T16:19:00.979Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ajcc6_stage", - "name" : "Stage Table 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N0", "M1", "VALUE:IVC" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1a", "M0", "VALUE:III" ], [ "T0", "N1a", "M1", "VALUE:IVC" ], [ "T0", "N1a", "MX", "VALUE:UNK" ], [ "T0", "N1b", "M0", "VALUE:IVA" ], [ "T0", "N1b", "M1", "VALUE:IVC" ], [ "T0", "N1b", "MX", "VALUE:IVNOS" ], [ "T0", "N1NOS", "M0", "VALUE:UNK" ], [ "T0", "N1NOS", "M1", "VALUE:IVC" ], [ "T0", "N1NOS", "MX", "VALUE:UNK" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T0", "NX", "M1", "VALUE:IVC" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N0", "M1", "VALUE:IVC" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1a", "M0", "VALUE:III" ], [ "T1", "N1a", "M1", "VALUE:IVC" ], [ "T1", "N1a", "MX", "VALUE:UNK" ], [ "T1", "N1b", "M0", "VALUE:IVA" ], [ "T1", "N1b", "M1", "VALUE:IVC" ], [ "T1", "N1b", "MX", "VALUE:IVNOS" ], [ "T1", "N1NOS", "M0", "VALUE:UNK" ], [ "T1", "N1NOS", "M1", "VALUE:IVC" ], [ "T1", "N1NOS", "MX", "VALUE:UNK" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T1", "NX", "M1", "VALUE:IVC" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N0", "M1", "VALUE:IVC" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1a", "M0", "VALUE:III" ], [ "T2", "N1a", "M1", "VALUE:IVC" ], [ "T2", "N1a", "MX", "VALUE:UNK" ], [ "T2", "N1b", "M0", "VALUE:IVA" ], [ "T2", "N1b", "M1", "VALUE:IVC" ], [ "T2", "N1b", "MX", "VALUE:IVNOS" ], [ "T2", "N1NOS", "M0", "VALUE:UNK" ], [ "T2", "N1NOS", "M1", "VALUE:IVC" ], [ "T2", "N1NOS", "MX", "VALUE:UNK" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T2", "NX", "M1", "VALUE:IVC" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:II" ], [ "T3", "N0", "M1", "VALUE:IVC" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1a", "M0", "VALUE:III" ], [ "T3", "N1a", "M1", "VALUE:IVC" ], [ "T3", "N1a", "MX", "VALUE:UNK" ], [ "T3", "N1b", "M0", "VALUE:IVA" ], [ "T3", "N1b", "M1", "VALUE:IVC" ], [ "T3", "N1b", "MX", "VALUE:IVB" ], [ "T3", "N1NOS", "M0", "VALUE:UNK" ], [ "T3", "N1NOS", "M1", "VALUE:IVC" ], [ "T3", "N1NOS", "MX", "VALUE:UNK" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T3", "NX", "M1", "VALUE:IVC" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IVA" ], [ "T4a", "N0", "M1", "VALUE:IVC" ], [ "T4a", "N0", "MX", "VALUE:IVNOS" ], [ "T4a", "N1a", "M0", "VALUE:IVA" ], [ "T4a", "N1a", "M1", "VALUE:IVC" ], [ "T4a", "N1a", "MX", "VALUE:IVNOS" ], [ "T4a", "N1b", "M0", "VALUE:IVA" ], [ "T4a", "N1b", "M1", "VALUE:IVC" ], [ "T4a", "N1b", "MX", "VALUE:IVNOS" ], [ "T4a", "N1NOS", "M0", "VALUE:IVA" ], [ "T4a", "N1NOS", "M1", "VALUE:IVC" ], [ "T4a", "N1NOS", "MX", "VALUE:IVNOS" ], [ "T4a", "NX", "M0", "VALUE:IVA" ], [ "T4a", "NX", "M1", "VALUE:IVC" ], [ "T4a", "NX", "MX", "VALUE:IVNOS" ], [ "T4b", "N0", "M0", "VALUE:IVB" ], [ "T4b", "N0", "M1", "VALUE:IVC" ], [ "T4b", "N0", "MX", "VALUE:IVNOS" ], [ "T4b", "N1a", "M0", "VALUE:IVB" ], [ "T4b", "N1a", "M1", "VALUE:IVC" ], [ "T4b", "N1a", "MX", "VALUE:IVNOS" ], [ "T4b", "N1b", "M0", "VALUE:IVB" ], [ "T4b", "N1b", "M1", "VALUE:IVC" ], [ "T4b", "N1b", "MX", "VALUE:IVNOS" ], [ "T4b", "N1NOS", "M0", "VALUE:IVB" ], [ "T4b", "N1NOS", "M1", "VALUE:IVC" ], [ "T4b", "N1NOS", "MX", "VALUE:IVNOS" ], [ "T4b", "NX", "M0", "VALUE:IVB" ], [ "T4b", "NX", "M1", "VALUE:IVC" ], [ "T4b", "NX", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M1", "VALUE:IVC" ], [ "T4NOS", "N0", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N1a", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1a", "M1", "VALUE:IVC" ], [ "T4NOS", "N1a", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N1b", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1b", "M1", "VALUE:IVC" ], [ "T4NOS", "N1b", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N1NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1NOS", "M1", "VALUE:IVC" ], [ "T4NOS", "N1NOS", "MX", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M0", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1", "VALUE:IVC" ], [ "T4NOS", "NX", "MX", "VALUE:IVNOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N0", "M1", "VALUE:IVC" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1a", "M0", "VALUE:UNK" ], [ "TX", "N1a", "M1", "VALUE:IVC" ], [ "TX", "N1a", "MX", "VALUE:UNK" ], [ "TX", "N1b", "M0", "VALUE:IVNOS" ], [ "TX", "N1b", "M1", "VALUE:IVC" ], [ "TX", "N1b", "MX", "VALUE:IVNOS" ], [ "TX", "N1NOS", "M0", "VALUE:UNK" ], [ "TX", "N1NOS", "M1", "VALUE:IVC" ], [ "TX", "N1NOS", "MX", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "TX", "NX", "M1", "VALUE:IVC" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_papillaryand_follicular_age45and_older_xco.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_papillaryand_follicular_age45and_older_xco.json deleted file mode 100644 index 1780d7014..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6_stage_thyroid_papillaryand_follicular_age45and_older_xco.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcctnm6_stage_thyroid_papillaryand_follicular_age45and_older_xco", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC TNM 6 Stage Thyroid Papillary and Follicular Age45 and Older", - "title" : "AJCC TNM 6 Stage-Thyroid: Papillary and Follicular Age 45 and Older", - "last_modified" : "2015-05-27T16:19:01.060Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ajcc6_stage", - "name" : "Stage Table 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N0", "M1", "VALUE:IVC" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1a", "M0", "VALUE:III" ], [ "T0", "N1a", "M1", "VALUE:IVC" ], [ "T0", "N1a", "MX", "VALUE:UNK" ], [ "T0", "N1b", "M0", "VALUE:IVA" ], [ "T0", "N1b", "M1", "VALUE:IVC" ], [ "T0", "N1b", "MX", "VALUE:IVNOS" ], [ "T0", "N1NOS", "M0", "VALUE:UNK" ], [ "T0", "N1NOS", "M1", "VALUE:IVC" ], [ "T0", "N1NOS", "MX", "VALUE:UNK" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T0", "NX", "M1", "VALUE:IVC" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "T1", "N0", "M0", "VALUE:I" ], [ "T1", "N0", "M1", "VALUE:IVC" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1a", "M0", "VALUE:III" ], [ "T1", "N1a", "M1", "VALUE:IVC" ], [ "T1", "N1a", "MX", "VALUE:UNK" ], [ "T1", "N1b", "M0", "VALUE:IVA" ], [ "T1", "N1b", "M1", "VALUE:IVC" ], [ "T1", "N1b", "MX", "VALUE:IVNOS" ], [ "T1", "N1NOS", "M0", "VALUE:UNK" ], [ "T1", "N1NOS", "M1", "VALUE:IVC" ], [ "T1", "N1NOS", "MX", "VALUE:UNK" ], [ "T1", "NX", "M0", "VALUE:UNK" ], [ "T1", "NX", "M1", "VALUE:IVC" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N0", "M1", "VALUE:IVC" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1a", "M0", "VALUE:III" ], [ "T2", "N1a", "M1", "VALUE:IVC" ], [ "T2", "N1a", "MX", "VALUE:UNK" ], [ "T2", "N1b", "M0", "VALUE:IVA" ], [ "T2", "N1b", "M1", "VALUE:IVC" ], [ "T2", "N1b", "MX", "VALUE:IVNOS" ], [ "T2", "N1NOS", "M0", "VALUE:UNK" ], [ "T2", "N1NOS", "M1", "VALUE:IVC" ], [ "T2", "N1NOS", "MX", "VALUE:UNK" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T2", "NX", "M1", "VALUE:IVC" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N0", "M1", "VALUE:IVC" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1a", "M0", "VALUE:III" ], [ "T3", "N1a", "M1", "VALUE:IVC" ], [ "T3", "N1a", "MX", "VALUE:UNK" ], [ "T3", "N1b", "M0", "VALUE:IVA" ], [ "T3", "N1b", "M1", "VALUE:IVC" ], [ "T3", "N1b", "MX", "VALUE:IVNOS" ], [ "T3", "N1NOS", "M0", "VALUE:UNK" ], [ "T3", "N1NOS", "M1", "VALUE:IVC" ], [ "T3", "N1NOS", "MX", "VALUE:UNK" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T3", "NX", "M1", "VALUE:IVC" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "T4a", "N0", "M0", "VALUE:IVA" ], [ "T4a", "N0", "M1", "VALUE:IVC" ], [ "T4a", "N0", "MX", "VALUE:IVNOS" ], [ "T4a", "N1a", "M0", "VALUE:IVA" ], [ "T4a", "N1a", "M1", "VALUE:IVC" ], [ "T4a", "N1a", "MX", "VALUE:IVNOS" ], [ "T4a", "N1b", "M0", "VALUE:IVA" ], [ "T4a", "N1b", "M1", "VALUE:IVC" ], [ "T4a", "N1b", "MX", "VALUE:IVNOS" ], [ "T4a", "N1NOS", "M0", "VALUE:IVA" ], [ "T4a", "N1NOS", "M1", "VALUE:IVC" ], [ "T4a", "N1NOS", "MX", "VALUE:IVNOS" ], [ "T4a", "NX", "M0", "VALUE:IVA" ], [ "T4a", "NX", "M1", "VALUE:IVC" ], [ "T4a", "NX", "MX", "VALUE:IVNOS" ], [ "T4b", "N0", "M0", "VALUE:IVB" ], [ "T4b", "N0", "M1", "VALUE:IVC" ], [ "T4b", "N0", "MX", "VALUE:IVNOS" ], [ "T4b", "N1a", "M0", "VALUE:IVB" ], [ "T4b", "N1a", "M1", "VALUE:IVC" ], [ "T4b", "N1a", "MX", "VALUE:IVNOS" ], [ "T4b", "N1b", "M0", "VALUE:IVB" ], [ "T4b", "N1b", "M1", "VALUE:IVC" ], [ "T4b", "N1b", "MX", "VALUE:IVNOS" ], [ "T4b", "N1NOS", "M0", "VALUE:IVB" ], [ "T4b", "N1NOS", "M1", "VALUE:IVC" ], [ "T4b", "N1NOS", "MX", "VALUE:IVNOS" ], [ "T4b", "NX", "M0", "VALUE:IVB" ], [ "T4b", "NX", "M1", "VALUE:IVC" ], [ "T4b", "NX", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M1", "VALUE:IVC" ], [ "T4NOS", "N0", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N1a", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1a", "M1", "VALUE:IVC" ], [ "T4NOS", "N1a", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N1b", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1b", "M1", "VALUE:IVC" ], [ "T4NOS", "N1b", "MX", "VALUE:IVNOS" ], [ "T4NOS", "N1NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1NOS", "M1", "VALUE:IVC" ], [ "T4NOS", "N1NOS", "MX", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M0", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1", "VALUE:IVC" ], [ "T4NOS", "NX", "MX", "VALUE:IVNOS" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N0", "M1", "VALUE:IVC" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1a", "M0", "VALUE:UNK" ], [ "TX", "N1a", "M1", "VALUE:IVC" ], [ "TX", "N1a", "MX", "VALUE:UNK" ], [ "TX", "N1b", "M0", "VALUE:IVNOS" ], [ "TX", "N1b", "M1", "VALUE:IVC" ], [ "TX", "N1b", "MX", "VALUE:IVNOS" ], [ "TX", "N1NOS", "M0", "VALUE:UNK" ], [ "TX", "N1NOS", "M1", "VALUE:IVC" ], [ "TX", "N1NOS", "MX", "VALUE:UNK" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "TX", "NX", "M1", "VALUE:IVC" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6and7_stage_ewing_xho.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6and7_stage_ewing_xho.json deleted file mode 100644 index d48b100c0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm6and7_stage_ewing_xho.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcctnm6and7_stage_ewing_xho", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC TNM 6 and 7 Stage Ewing", - "title" : "AJCC TNM 6 and 7 Stage Ewing", - "last_modified" : "2015-05-27T16:19:00.709Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N1", "M0", "VALUE:IVB" ], [ "T0", "NX", "M0", "ERROR:" ], [ "T1", "N0", "M0", "VALUE:IIA" ], [ "T1", "N1", "M0", "VALUE:IVB" ], [ "T1", "NX", "M0", "VALUE:IIA" ], [ "T2", "N0", "M0", "VALUE:IIB" ], [ "T2", "N1", "M0", "VALUE:IVB" ], [ "T2", "NX", "M0", "VALUE:IIB" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N1", "M0", "VALUE:IVB" ], [ "T3", "NX", "M0", "VALUE:III" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N1", "M0", "VALUE:IVB" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "T0", "N0", "M1a", "VALUE:IVA" ], [ "T0", "N1", "M1a", "VALUE:IVB" ], [ "T0", "NX", "M1a", "VALUE:IVA" ], [ "T1", "N0", "M1a", "VALUE:IVA" ], [ "T1", "N1", "M1a", "VALUE:IVB" ], [ "T1", "NX", "M1a", "VALUE:IVA" ], [ "T2", "N0", "M1a", "VALUE:IVA" ], [ "T2", "N1", "M1a", "VALUE:IVB" ], [ "T2", "NX", "M1a", "VALUE:IVA" ], [ "T3", "N0", "M1a", "VALUE:IVA" ], [ "T3", "N1", "M1a", "VALUE:IVB" ], [ "T3", "NX", "M1a", "VALUE:IVA" ], [ "TX", "N0", "M1a", "VALUE:IVA" ], [ "TX", "N1", "M1a", "VALUE:IVB" ], [ "TX", "NX", "M1a", "VALUE:IVA" ], [ "T0", "N0", "M1b", "VALUE:IVB" ], [ "T0", "N1", "M1b", "VALUE:IVB" ], [ "T0", "NX", "M1b", "VALUE:IVB" ], [ "T1", "N0", "M1b", "VALUE:IVB" ], [ "T1", "N1", "M1b", "VALUE:IVB" ], [ "T1", "NX", "M1b", "VALUE:IVB" ], [ "T2", "N0", "M1b", "VALUE:IVB" ], [ "T2", "N1", "M1b", "VALUE:IVB" ], [ "T2", "NX", "M1b", "VALUE:IVB" ], [ "T3", "N0", "M1b", "VALUE:IVB" ], [ "T3", "N1", "M1b", "VALUE:IVB" ], [ "T3", "NX", "M1b", "VALUE:IVB" ], [ "TX", "N0", "M1b", "VALUE:IVB" ], [ "TX", "N1", "M1b", "VALUE:IVB" ], [ "TX", "NX", "M1b", "VALUE:IVB" ], [ "T0", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T0", "N1", "M1NOS", "VALUE:IVB" ], [ "T0", "NX", "M1NOS", "VALUE:IVNOS" ], [ "T1", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T1", "N1", "M1NOS", "VALUE:IVB" ], [ "T1", "NX", "M1NOS", "VALUE:IVNOS" ], [ "T2", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T2", "N1", "M1NOS", "VALUE:IVB" ], [ "T2", "NX", "M1NOS", "VALUE:IVNOS" ], [ "T3", "N0", "M1NOS", "VALUE:IVNOS" ], [ "T3", "N1", "M1NOS", "VALUE:IVB" ], [ "T3", "NX", "M1NOS", "VALUE:IVNOS" ], [ "TX", "N0", "M1NOS", "VALUE:IVNOS" ], [ "TX", "N1", "M1NOS", "VALUE:IVB" ], [ "TX", "NX", "M1NOS", "VALUE:IVNOS" ], [ "T0", "N0", "MX", "VALUE:UNK" ], [ "T0", "N1", "MX", "VALUE:IVB" ], [ "T0", "NX", "MX", "VALUE:UNK" ], [ "T1", "N0", "MX", "VALUE:UNK" ], [ "T1", "N1", "MX", "VALUE:IVB" ], [ "T1", "NX", "MX", "VALUE:UNK" ], [ "T2", "N0", "MX", "VALUE:UNK" ], [ "T2", "N1", "MX", "VALUE:IVB" ], [ "T2", "NX", "MX", "VALUE:UNK" ], [ "T3", "N0", "MX", "VALUE:UNK" ], [ "T3", "N1", "MX", "VALUE:IVB" ], [ "T3", "NX", "MX", "VALUE:UNK" ], [ "TX", "N0", "MX", "VALUE:UNK" ], [ "TX", "N1", "MX", "VALUE:IVB" ], [ "TX", "NX", "MX", "VALUE:UNK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xhz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xhz.json deleted file mode 100644 index fe0f74c26..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xhz.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcctnm7_stage_adenocarcinoma_xhz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC TNM7 Stage Adenocarcinoma", - "title" : "AJCC TNM 7 Stage Adenocarcinoma", - "last_modified" : "2015-05-27T16:19:01.122Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "1", "ERROR:" ], [ "T0", "N0", "M0", "2", "ERROR:" ], [ "T0", "N0", "M0", "3", "ERROR:" ], [ "T0", "N0", "M0", "4", "ERROR:" ], [ "T0", "N0", "M0", "9", "ERROR:" ], [ "T0", "N0", "M1", "1", "VALUE:IV" ], [ "T0", "N0", "M1", "2", "VALUE:IV" ], [ "T0", "N0", "M1", "3", "VALUE:IV" ], [ "T0", "N0", "M1", "4", "VALUE:IV" ], [ "T0", "N0", "M1", "9", "VALUE:IV" ], [ "T0", "N1", "M0", "1", "VALUE:UNK" ], [ "T0", "N1", "M0", "2", "VALUE:UNK" ], [ "T0", "N1", "M0", "3", "VALUE:UNK" ], [ "T0", "N1", "M0", "4", "VALUE:UNK" ], [ "T0", "N1", "M0", "9", "VALUE:UNK" ], [ "T0", "N1", "M1", "1", "VALUE:IV" ], [ "T0", "N1", "M1", "2", "VALUE:IV" ], [ "T0", "N1", "M1", "3", "VALUE:IV" ], [ "T0", "N1", "M1", "4", "VALUE:IV" ], [ "T0", "N1", "M1", "9", "VALUE:IV" ], [ "T0", "N2", "M0", "1", "VALUE:IIINOS" ], [ "T0", "N2", "M0", "2", "VALUE:IIINOS" ], [ "T0", "N2", "M0", "3", "VALUE:IIINOS" ], [ "T0", "N2", "M0", "4", "VALUE:IIINOS" ], [ "T0", "N2", "M0", "9", "VALUE:IIINOS" ], [ "T0", "N2", "M1", "1", "VALUE:IV" ], [ "T0", "N2", "M1", "2", "VALUE:IV" ], [ "T0", "N2", "M1", "3", "VALUE:IV" ], [ "T0", "N2", "M1", "4", "VALUE:IV" ], [ "T0", "N2", "M1", "9", "VALUE:IV" ], [ "T0", "N3", "M0", "1", "VALUE:IIIC" ], [ "T0", "N3", "M0", "2", "VALUE:IIIC" ], [ "T0", "N3", "M0", "3", "VALUE:IIIC" ], [ "T0", "N3", "M0", "4", "VALUE:IIIC" ], [ "T0", "N3", "M0", "9", "VALUE:IIIC" ], [ "T0", "N3", "M1", "1", "VALUE:IV" ], [ "T0", "N3", "M1", "2", "VALUE:IV" ], [ "T0", "N3", "M1", "3", "VALUE:IV" ], [ "T0", "N3", "M1", "4", "VALUE:IV" ], [ "T0", "N3", "M1", "9", "VALUE:IV" ], [ "T0", "NX", "M0", "1", "VALUE:UNK" ], [ "T0", "NX", "M0", "2", "VALUE:UNK" ], [ "T0", "NX", "M0", "3", "VALUE:UNK" ], [ "T0", "NX", "M0", "4", "VALUE:UNK" ], [ "T0", "NX", "M0", "9", "VALUE:UNK" ], [ "T0", "NX", "M1", "1", "VALUE:IV" ], [ "T0", "NX", "M1", "2", "VALUE:IV" ], [ "T0", "NX", "M1", "3", "VALUE:IV" ], [ "T0", "NX", "M1", "4", "VALUE:IV" ], [ "T0", "NX", "M1", "9", "VALUE:IV" ], [ "T1a", "N0", "M0", "1", "VALUE:IA" ], [ "T1a", "N0", "M0", "2", "VALUE:IA" ], [ "T1a", "N0", "M0", "3", "VALUE:IB" ], [ "T1a", "N0", "M0", "4", "VALUE:IB" ], [ "T1a", "N0", "M0", "9", "VALUE:IA" ], [ "T1a", "N0", "M1", "1", "VALUE:IV" ], [ "T1a", "N0", "M1", "2", "VALUE:IV" ], [ "T1a", "N0", "M1", "3", "VALUE:IV" ], [ "T1a", "N0", "M1", "4", "VALUE:IV" ], [ "T1a", "N0", "M1", "9", "VALUE:IV" ], [ "T1a", "N1", "M0", "1", "VALUE:IIB" ], [ "T1a", "N1", "M0", "2", "VALUE:IIB" ], [ "T1a", "N1", "M0", "3", "VALUE:IIB" ], [ "T1a", "N1", "M0", "4", "VALUE:IIB" ], [ "T1a", "N1", "M0", "9", "VALUE:IIB" ], [ "T1a", "N1", "M1", "1", "VALUE:IV" ], [ "T1a", "N1", "M1", "2", "VALUE:IV" ], [ "T1a", "N1", "M1", "3", "VALUE:IV" ], [ "T1a", "N1", "M1", "4", "VALUE:IV" ], [ "T1a", "N1", "M1", "9", "VALUE:IV" ], [ "T1a", "N2", "M0", "1", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "2", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "3", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "4", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "9", "VALUE:IIIA" ], [ "T1a", "N2", "M1", "1", "VALUE:IV" ], [ "T1a", "N2", "M1", "2", "VALUE:IV" ], [ "T1a", "N2", "M1", "3", "VALUE:IV" ], [ "T1a", "N2", "M1", "4", "VALUE:IV" ], [ "T1a", "N2", "M1", "9", "VALUE:IV" ], [ "T1a", "N3", "M0", "1", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "2", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "3", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "4", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "9", "VALUE:IIIC" ], [ "T1a", "N3", "M1", "1", "VALUE:IV" ], [ "T1a", "N3", "M1", "2", "VALUE:IV" ], [ "T1a", "N3", "M1", "3", "VALUE:IV" ], [ "T1a", "N3", "M1", "4", "VALUE:IV" ], [ "T1a", "N3", "M1", "9", "VALUE:IV" ], [ "T1a", "NX", "M0", "1", "VALUE:UNK" ], [ "T1a", "NX", "M0", "2", "VALUE:UNK" ], [ "T1a", "NX", "M0", "3", "VALUE:UNK" ], [ "T1a", "NX", "M0", "4", "VALUE:UNK" ], [ "T1a", "NX", "M0", "9", "VALUE:UNK" ], [ "T1a", "NX", "M1", "1", "VALUE:IV" ], [ "T1a", "NX", "M1", "2", "VALUE:IV" ], [ "T1a", "NX", "M1", "3", "VALUE:IV" ], [ "T1a", "NX", "M1", "4", "VALUE:IV" ], [ "T1a", "NX", "M1", "9", "VALUE:IV" ], [ "T1b", "N0", "M0", "1", "VALUE:IA" ], [ "T1b", "N0", "M0", "2", "VALUE:IA" ], [ "T1b", "N0", "M0", "3", "VALUE:IB" ], [ "T1b", "N0", "M0", "4", "VALUE:IB" ], [ "T1b", "N0", "M0", "9", "VALUE:IA" ], [ "T1b", "N0", "M1", "1", "VALUE:IV" ], [ "T1b", "N0", "M1", "2", "VALUE:IV" ], [ "T1b", "N0", "M1", "3", "VALUE:IV" ], [ "T1b", "N0", "M1", "4", "VALUE:IV" ], [ "T1b", "N0", "M1", "9", "VALUE:IV" ], [ "T1b", "N1", "M0", "1", "VALUE:IIB" ], [ "T1b", "N1", "M0", "2", "VALUE:IIB" ], [ "T1b", "N1", "M0", "3", "VALUE:IIB" ], [ "T1b", "N1", "M0", "4", "VALUE:IIB" ], [ "T1b", "N1", "M0", "9", "VALUE:IIB" ], [ "T1b", "N1", "M1", "1", "VALUE:IV" ], [ "T1b", "N1", "M1", "2", "VALUE:IV" ], [ "T1b", "N1", "M1", "3", "VALUE:IV" ], [ "T1b", "N1", "M1", "4", "VALUE:IV" ], [ "T1b", "N1", "M1", "9", "VALUE:IV" ], [ "T1b", "N2", "M0", "1", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "2", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "3", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "4", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "9", "VALUE:IIIA" ], [ "T1b", "N2", "M1", "1", "VALUE:IV" ], [ "T1b", "N2", "M1", "2", "VALUE:IV" ], [ "T1b", "N2", "M1", "3", "VALUE:IV" ], [ "T1b", "N2", "M1", "4", "VALUE:IV" ], [ "T1b", "N2", "M1", "9", "VALUE:IV" ], [ "T1b", "N3", "M0", "1", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "2", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "3", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "4", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "9", "VALUE:IIIC" ], [ "T1b", "N3", "M1", "1", "VALUE:IV" ], [ "T1b", "N3", "M1", "2", "VALUE:IV" ], [ "T1b", "N3", "M1", "3", "VALUE:IV" ], [ "T1b", "N3", "M1", "4", "VALUE:IV" ], [ "T1b", "N3", "M1", "9", "VALUE:IV" ], [ "T1b", "NX", "M0", "1", "VALUE:UNK" ], [ "T1b", "NX", "M0", "2", "VALUE:UNK" ], [ "T1b", "NX", "M0", "3", "VALUE:UNK" ], [ "T1b", "NX", "M0", "4", "VALUE:UNK" ], [ "T1b", "NX", "M0", "9", "VALUE:UNK" ], [ "T1b", "NX", "M1", "1", "VALUE:IV" ], [ "T1b", "NX", "M1", "2", "VALUE:IV" ], [ "T1b", "NX", "M1", "3", "VALUE:IV" ], [ "T1b", "NX", "M1", "4", "VALUE:IV" ], [ "T1b", "NX", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N0", "M0", "1", "VALUE:IA" ], [ "T1NOS", "N0", "M0", "2", "VALUE:IA" ], [ "T1NOS", "N0", "M0", "3", "VALUE:IB" ], [ "T1NOS", "N0", "M0", "4", "VALUE:IB" ], [ "T1NOS", "N0", "M0", "9", "VALUE:IA" ], [ "T1NOS", "N0", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "4", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "1", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "2", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "3", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "4", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "9", "VALUE:IIB" ], [ "T1NOS", "N1", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "4", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N2", "M0", "1", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "2", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "3", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "4", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "9", "VALUE:IIIA" ], [ "T1NOS", "N2", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "4", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N3", "M0", "1", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "2", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "3", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "4", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "9", "VALUE:IIIC" ], [ "T1NOS", "N3", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "4", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "9", "VALUE:IV" ], [ "T1NOS", "NX", "M0", "1", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "2", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "3", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "4", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "9", "VALUE:UNK" ], [ "T1NOS", "NX", "M1", "1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "2", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "3", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "4", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "9", "VALUE:IV" ], [ "T2", "N0", "M0", "1", "VALUE:IB" ], [ "T2", "N0", "M0", "2", "VALUE:IB" ], [ "T2", "N0", "M0", "3", "VALUE:IIA" ], [ "T2", "N0", "M0", "4", "VALUE:IIA" ], [ "T2", "N0", "M0", "9", "VALUE:IB" ], [ "T2", "N0", "M1", "1", "VALUE:IV" ], [ "T2", "N0", "M1", "2", "VALUE:IV" ], [ "T2", "N0", "M1", "3", "VALUE:IV" ], [ "T2", "N0", "M1", "4", "VALUE:IV" ], [ "T2", "N0", "M1", "9", "VALUE:IV" ], [ "T2", "N1", "M0", "1", "VALUE:IIB" ], [ "T2", "N1", "M0", "2", "VALUE:IIB" ], [ "T2", "N1", "M0", "3", "VALUE:IIB" ], [ "T2", "N1", "M0", "4", "VALUE:IIB" ], [ "T2", "N1", "M0", "9", "VALUE:IIB" ], [ "T2", "N1", "M1", "1", "VALUE:IV" ], [ "T2", "N1", "M1", "2", "VALUE:IV" ], [ "T2", "N1", "M1", "3", "VALUE:IV" ], [ "T2", "N1", "M1", "4", "VALUE:IV" ], [ "T2", "N1", "M1", "9", "VALUE:IV" ], [ "T2", "N2", "M0", "1", "VALUE:IIIA" ], [ "T2", "N2", "M0", "2", "VALUE:IIIA" ], [ "T2", "N2", "M0", "3", "VALUE:IIIA" ], [ "T2", "N2", "M0", "4", "VALUE:IIIA" ], [ "T2", "N2", "M0", "9", "VALUE:IIIA" ], [ "T2", "N2", "M1", "1", "VALUE:IV" ], [ "T2", "N2", "M1", "2", "VALUE:IV" ], [ "T2", "N2", "M1", "3", "VALUE:IV" ], [ "T2", "N2", "M1", "4", "VALUE:IV" ], [ "T2", "N2", "M1", "9", "VALUE:IV" ], [ "T2", "N3", "M0", "1", "VALUE:IIIC" ], [ "T2", "N3", "M0", "2", "VALUE:IIIC" ], [ "T2", "N3", "M0", "3", "VALUE:IIIC" ], [ "T2", "N3", "M0", "4", "VALUE:IIIC" ], [ "T2", "N3", "M0", "9", "VALUE:IIIC" ], [ "T2", "N3", "M1", "1", "VALUE:IV" ], [ "T2", "N3", "M1", "2", "VALUE:IV" ], [ "T2", "N3", "M1", "3", "VALUE:IV" ], [ "T2", "N3", "M1", "4", "VALUE:IV" ], [ "T2", "N3", "M1", "9", "VALUE:IV" ], [ "T2", "NX", "M0", "1", "VALUE:UNK" ], [ "T2", "NX", "M0", "2", "VALUE:UNK" ], [ "T2", "NX", "M0", "3", "VALUE:UNK" ], [ "T2", "NX", "M0", "4", "VALUE:UNK" ], [ "T2", "NX", "M0", "9", "VALUE:UNK" ], [ "T2", "NX", "M1", "1", "VALUE:IV" ], [ "T2", "NX", "M1", "2", "VALUE:IV" ], [ "T2", "NX", "M1", "3", "VALUE:IV" ], [ "T2", "NX", "M1", "4", "VALUE:IV" ], [ "T2", "NX", "M1", "9", "VALUE:IV" ], [ "T3", "N0", "M0", "1", "VALUE:IIB" ], [ "T3", "N0", "M0", "2", "VALUE:IIB" ], [ "T3", "N0", "M0", "3", "VALUE:IIB" ], [ "T3", "N0", "M0", "4", "VALUE:IIB" ], [ "T3", "N0", "M0", "9", "VALUE:IIB" ], [ "T3", "N0", "M1", "1", "VALUE:IV" ], [ "T3", "N0", "M1", "2", "VALUE:IV" ], [ "T3", "N0", "M1", "3", "VALUE:IV" ], [ "T3", "N0", "M1", "4", "VALUE:IV" ], [ "T3", "N0", "M1", "9", "VALUE:IV" ], [ "T3", "N1", "M0", "1", "VALUE:IIIA" ], [ "T3", "N1", "M0", "2", "VALUE:IIIA" ], [ "T3", "N1", "M0", "3", "VALUE:IIIA" ], [ "T3", "N1", "M0", "4", "VALUE:IIIA" ], [ "T3", "N1", "M0", "9", "VALUE:IIIA" ], [ "T3", "N1", "M1", "1", "VALUE:IV" ], [ "T3", "N1", "M1", "2", "VALUE:IV" ], [ "T3", "N1", "M1", "3", "VALUE:IV" ], [ "T3", "N1", "M1", "4", "VALUE:IV" ], [ "T3", "N1", "M1", "9", "VALUE:IV" ], [ "T3", "N2", "M0", "1", "VALUE:IIIB" ], [ "T3", "N2", "M0", "2", "VALUE:IIIB" ], [ "T3", "N2", "M0", "3", "VALUE:IIIB" ], [ "T3", "N2", "M0", "4", "VALUE:IIIB" ], [ "T3", "N2", "M0", "9", "VALUE:IIIB" ], [ "T3", "N2", "M1", "1", "VALUE:IV" ], [ "T3", "N2", "M1", "2", "VALUE:IV" ], [ "T3", "N2", "M1", "3", "VALUE:IV" ], [ "T3", "N2", "M1", "4", "VALUE:IV" ], [ "T3", "N2", "M1", "9", "VALUE:IV" ], [ "T3", "N3", "M0", "1", "VALUE:IIIC" ], [ "T3", "N3", "M0", "2", "VALUE:IIIC" ], [ "T3", "N3", "M0", "3", "VALUE:IIIC" ], [ "T3", "N3", "M0", "4", "VALUE:IIIC" ], [ "T3", "N3", "M0", "9", "VALUE:IIIC" ], [ "T3", "N3", "M1", "1", "VALUE:IV" ], [ "T3", "N3", "M1", "2", "VALUE:IV" ], [ "T3", "N3", "M1", "3", "VALUE:IV" ], [ "T3", "N3", "M1", "4", "VALUE:IV" ], [ "T3", "N3", "M1", "9", "VALUE:IV" ], [ "T3", "NX", "M0", "1", "VALUE:UNK" ], [ "T3", "NX", "M0", "2", "VALUE:UNK" ], [ "T3", "NX", "M0", "3", "VALUE:UNK" ], [ "T3", "NX", "M0", "4", "VALUE:UNK" ], [ "T3", "NX", "M0", "9", "VALUE:UNK" ], [ "T3", "NX", "M1", "1", "VALUE:IV" ], [ "T3", "NX", "M1", "2", "VALUE:IV" ], [ "T3", "NX", "M1", "3", "VALUE:IV" ], [ "T3", "NX", "M1", "4", "VALUE:IV" ], [ "T3", "NX", "M1", "9", "VALUE:IV" ], [ "T4a", "N0", "M0", "1", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "2", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "3", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "4", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "9", "VALUE:IIIA" ], [ "T4a", "N0", "M1", "1", "VALUE:IV" ], [ "T4a", "N0", "M1", "2", "VALUE:IV" ], [ "T4a", "N0", "M1", "3", "VALUE:IV" ], [ "T4a", "N0", "M1", "4", "VALUE:IV" ], [ "T4a", "N0", "M1", "9", "VALUE:IV" ], [ "T4a", "N1", "M0", "1", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "2", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "3", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "4", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "9", "VALUE:IIIC" ], [ "T4a", "N1", "M1", "1", "VALUE:IV" ], [ "T4a", "N1", "M1", "2", "VALUE:IV" ], [ "T4a", "N1", "M1", "3", "VALUE:IV" ], [ "T4a", "N1", "M1", "4", "VALUE:IV" ], [ "T4a", "N1", "M1", "9", "VALUE:IV" ], [ "T4a", "N2", "M0", "1", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "2", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "3", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "4", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "9", "VALUE:IIIC" ], [ "T4a", "N2", "M1", "1", "VALUE:IV" ], [ "T4a", "N2", "M1", "2", "VALUE:IV" ], [ "T4a", "N2", "M1", "3", "VALUE:IV" ], [ "T4a", "N2", "M1", "4", "VALUE:IV" ], [ "T4a", "N2", "M1", "9", "VALUE:IV" ], [ "T4a", "N3", "M0", "1", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "2", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "3", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "4", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "9", "VALUE:IIIC" ], [ "T4a", "N3", "M1", "1", "VALUE:IV" ], [ "T4a", "N3", "M1", "2", "VALUE:IV" ], [ "T4a", "N3", "M1", "3", "VALUE:IV" ], [ "T4a", "N3", "M1", "4", "VALUE:IV" ], [ "T4a", "N3", "M1", "9", "VALUE:IV" ], [ "T4a", "NX", "M0", "1", "VALUE:IIINOS" ], [ "T4a", "NX", "M0", "2", "VALUE:IIINOS" ], [ "T4a", "NX", "M0", "3", "VALUE:IIINOS" ], [ "T4a", "NX", "M0", "4", "VALUE:IIINOS" ], [ "T4a", "NX", "M0", "9", "VALUE:IIINOS" ], [ "T4a", "NX", "M1", "1", "VALUE:IV" ], [ "T4a", "NX", "M1", "2", "VALUE:IV" ], [ "T4a", "NX", "M1", "3", "VALUE:IV" ], [ "T4a", "NX", "M1", "4", "VALUE:IV" ], [ "T4a", "NX", "M1", "9", "VALUE:IV" ], [ "T4b", "N0", "M0", "1", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "2", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "3", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "4", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "9", "VALUE:IIIC" ], [ "T4b", "N0", "M1", "1", "VALUE:IV" ], [ "T4b", "N0", "M1", "2", "VALUE:IV" ], [ "T4b", "N0", "M1", "3", "VALUE:IV" ], [ "T4b", "N0", "M1", "4", "VALUE:IV" ], [ "T4b", "N0", "M1", "9", "VALUE:IV" ], [ "T4b", "N1", "M0", "1", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "2", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "3", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "4", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "9", "VALUE:IIIC" ], [ "T4b", "N1", "M1", "1", "VALUE:IV" ], [ "T4b", "N1", "M1", "2", "VALUE:IV" ], [ "T4b", "N1", "M1", "3", "VALUE:IV" ], [ "T4b", "N1", "M1", "4", "VALUE:IV" ], [ "T4b", "N1", "M1", "9", "VALUE:IV" ], [ "T4b", "N2", "M0", "1", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "2", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "3", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "4", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "9", "VALUE:IIIC" ], [ "T4b", "N2", "M1", "1", "VALUE:IV" ], [ "T4b", "N2", "M1", "2", "VALUE:IV" ], [ "T4b", "N2", "M1", "3", "VALUE:IV" ], [ "T4b", "N2", "M1", "4", "VALUE:IV" ], [ "T4b", "N2", "M1", "9", "VALUE:IV" ], [ "T4b", "N3", "M0", "1", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "2", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "3", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "4", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "9", "VALUE:IIIC" ], [ "T4b", "N3", "M1", "1", "VALUE:IV" ], [ "T4b", "N3", "M1", "2", "VALUE:IV" ], [ "T4b", "N3", "M1", "3", "VALUE:IV" ], [ "T4b", "N3", "M1", "4", "VALUE:IV" ], [ "T4b", "N3", "M1", "9", "VALUE:IV" ], [ "T4b", "NX", "M0", "1", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "2", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "3", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "4", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "9", "VALUE:IIIC" ], [ "T4b", "NX", "M1", "1", "VALUE:IV" ], [ "T4b", "NX", "M1", "2", "VALUE:IV" ], [ "T4b", "NX", "M1", "3", "VALUE:IV" ], [ "T4b", "NX", "M1", "4", "VALUE:IV" ], [ "T4b", "NX", "M1", "9", "VALUE:IV" ], [ "T4NOS", "N0", "M0", "1", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "2", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "3", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "4", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "9", "VALUE:IIIA" ], [ "T4NOS", "N0", "M1", "1", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "2", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "3", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "4", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "9", "VALUE:IV" ], [ "T4NOS", "N1", "M0", "1", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "2", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "3", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "4", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "9", "VALUE:IIIC" ], [ "T4NOS", "N1", "M1", "1", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "2", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "3", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "4", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "9", "VALUE:IV" ], [ "T4NOS", "N2", "M0", "1", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "2", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "3", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "4", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "9", "VALUE:IIIC" ], [ "T4NOS", "N2", "M1", "1", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "2", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "3", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "4", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "9", "VALUE:IV" ], [ "T4NOS", "N3", "M0", "1", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "2", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "3", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "4", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "9", "VALUE:IIIC" ], [ "T4NOS", "N3", "M1", "1", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "2", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "3", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "4", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "9", "VALUE:IV" ], [ "T4NOS", "NX", "M0", "1", "VALUE:IIINOS" ], [ "T4NOS", "NX", "M0", "2", "VALUE:IIINOS" ], [ "T4NOS", "NX", "M0", "3", "VALUE:IIINOS" ], [ "T4NOS", "NX", "M0", "4", "VALUE:IIINOS" ], [ "T4NOS", "NX", "M0", "9", "VALUE:IIINOS" ], [ "T4NOS", "NX", "M1", "1", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "2", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "3", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "4", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "9", "VALUE:IV" ], [ "Tis", "N0", "M0", "1", "VALUE:0" ], [ "Tis", "N0", "M0", "2", "ERROR:" ], [ "Tis", "N0", "M0", "3", "ERROR:" ], [ "Tis", "N0", "M0", "4", "ERROR:" ], [ "Tis", "N0", "M0", "9", "VALUE:0" ], [ "Tis", "N0", "M1", "1", "ERROR:" ], [ "Tis", "N0", "M1", "2", "ERROR:" ], [ "Tis", "N0", "M1", "3", "ERROR:" ], [ "Tis", "N0", "M1", "4", "ERROR:" ], [ "Tis", "N0", "M1", "9", "ERROR:" ], [ "Tis", "N1", "M0", "1", "ERROR:" ], [ "Tis", "N1", "M0", "2", "ERROR:" ], [ "Tis", "N1", "M0", "3", "ERROR:" ], [ "Tis", "N1", "M0", "4", "ERROR:" ], [ "Tis", "N1", "M0", "9", "ERROR:" ], [ "Tis", "N1", "M1", "1", "ERROR:" ], [ "Tis", "N1", "M1", "2", "ERROR:" ], [ "Tis", "N1", "M1", "3", "ERROR:" ], [ "Tis", "N1", "M1", "4", "ERROR:" ], [ "Tis", "N1", "M1", "9", "ERROR:" ], [ "Tis", "N2", "M0", "1", "ERROR:" ], [ "Tis", "N2", "M0", "2", "ERROR:" ], [ "Tis", "N2", "M0", "3", "ERROR:" ], [ "Tis", "N2", "M0", "4", "ERROR:" ], [ "Tis", "N2", "M0", "9", "ERROR:" ], [ "Tis", "N2", "M1", "1", "ERROR:" ], [ "Tis", "N2", "M1", "2", "ERROR:" ], [ "Tis", "N2", "M1", "3", "ERROR:" ], [ "Tis", "N2", "M1", "4", "ERROR:" ], [ "Tis", "N2", "M1", "9", "ERROR:" ], [ "Tis", "N3", "M0", "1", "ERROR:" ], [ "Tis", "N3", "M0", "2", "ERROR:" ], [ "Tis", "N3", "M0", "3", "ERROR:" ], [ "Tis", "N3", "M0", "4", "ERROR:" ], [ "Tis", "N3", "M0", "9", "ERROR:" ], [ "Tis", "N3", "M1", "1", "ERROR:" ], [ "Tis", "N3", "M1", "2", "ERROR:" ], [ "Tis", "N3", "M1", "3", "ERROR:" ], [ "Tis", "N3", "M1", "4", "ERROR:" ], [ "Tis", "N3", "M1", "9", "ERROR:" ], [ "Tis", "NX", "M0", "1", "VALUE:0" ], [ "Tis", "NX", "M0", "2", "ERROR:" ], [ "Tis", "NX", "M0", "3", "ERROR:" ], [ "Tis", "NX", "M0", "4", "ERROR:" ], [ "Tis", "NX", "M0", "9", "VALUE:0" ], [ "Tis", "NX", "M1", "1", "ERROR:" ], [ "Tis", "NX", "M1", "2", "ERROR:" ], [ "Tis", "NX", "M1", "3", "ERROR:" ], [ "Tis", "NX", "M1", "4", "ERROR:" ], [ "Tis", "NX", "M1", "9", "ERROR:" ], [ "TX", "N0", "M0", "1", "VALUE:UNK" ], [ "TX", "N0", "M0", "2", "VALUE:UNK" ], [ "TX", "N0", "M0", "3", "VALUE:UNK" ], [ "TX", "N0", "M0", "4", "VALUE:UNK" ], [ "TX", "N0", "M0", "9", "VALUE:UNK" ], [ "TX", "N0", "M1", "1", "VALUE:IV" ], [ "TX", "N0", "M1", "2", "VALUE:IV" ], [ "TX", "N0", "M1", "3", "VALUE:IV" ], [ "TX", "N0", "M1", "4", "VALUE:IV" ], [ "TX", "N0", "M1", "9", "VALUE:IV" ], [ "TX", "N1", "M0", "1", "VALUE:UNK" ], [ "TX", "N1", "M0", "2", "VALUE:UNK" ], [ "TX", "N1", "M0", "3", "VALUE:UNK" ], [ "TX", "N1", "M0", "4", "VALUE:UNK" ], [ "TX", "N1", "M0", "9", "VALUE:UNK" ], [ "TX", "N1", "M1", "1", "VALUE:IV" ], [ "TX", "N1", "M1", "2", "VALUE:IV" ], [ "TX", "N1", "M1", "3", "VALUE:IV" ], [ "TX", "N1", "M1", "4", "VALUE:IV" ], [ "TX", "N1", "M1", "9", "VALUE:IV" ], [ "TX", "N2", "M0", "1", "VALUE:IIINOS" ], [ "TX", "N2", "M0", "2", "VALUE:IIINOS" ], [ "TX", "N2", "M0", "3", "VALUE:IIINOS" ], [ "TX", "N2", "M0", "4", "VALUE:IIINOS" ], [ "TX", "N2", "M0", "9", "VALUE:IIINOS" ], [ "TX", "N2", "M1", "1", "VALUE:IV" ], [ "TX", "N2", "M1", "2", "VALUE:IV" ], [ "TX", "N2", "M1", "3", "VALUE:IV" ], [ "TX", "N2", "M1", "4", "VALUE:IV" ], [ "TX", "N2", "M1", "9", "VALUE:IV" ], [ "TX", "N3", "M0", "1", "VALUE:IIIC" ], [ "TX", "N3", "M0", "2", "VALUE:IIIC" ], [ "TX", "N3", "M0", "3", "VALUE:IIIC" ], [ "TX", "N3", "M0", "4", "VALUE:IIIC" ], [ "TX", "N3", "M0", "9", "VALUE:IIIC" ], [ "TX", "N3", "M1", "1", "VALUE:IV" ], [ "TX", "N3", "M1", "2", "VALUE:IV" ], [ "TX", "N3", "M1", "3", "VALUE:IV" ], [ "TX", "N3", "M1", "4", "VALUE:IV" ], [ "TX", "N3", "M1", "9", "VALUE:IV" ], [ "TX", "NX", "M0", "1", "VALUE:UNK" ], [ "TX", "NX", "M0", "2", "VALUE:UNK" ], [ "TX", "NX", "M0", "3", "VALUE:UNK" ], [ "TX", "NX", "M0", "4", "VALUE:UNK" ], [ "TX", "NX", "M0", "9", "VALUE:UNK" ], [ "TX", "NX", "M1", "1", "VALUE:IV" ], [ "TX", "NX", "M1", "2", "VALUE:IV" ], [ "TX", "NX", "M1", "3", "VALUE:IV" ], [ "TX", "NX", "M1", "4", "VALUE:IV" ], [ "TX", "NX", "M1", "9", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xib.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xib.json deleted file mode 100644 index ff9eee0b8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_adenocarcinoma_xib.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcctnm7_stage_adenocarcinoma_xib", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC TNM7 Stage Adenocarcinoma", - "title" : "AJCC TNM 7 Stage Adenocarcinoma", - "last_modified" : "2015-05-27T16:19:01.240Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "1", "ERROR:" ], [ "T0", "N0", "M0", "2", "ERROR:" ], [ "T0", "N0", "M0", "3", "ERROR:" ], [ "T0", "N0", "M0", "4", "ERROR:" ], [ "T0", "N0", "M0", "9", "ERROR:" ], [ "T0", "N0", "M1", "1", "VALUE:IV" ], [ "T0", "N0", "M1", "2", "VALUE:IV" ], [ "T0", "N0", "M1", "3", "VALUE:IV" ], [ "T0", "N0", "M1", "4", "VALUE:IV" ], [ "T0", "N0", "M1", "9", "VALUE:IV" ], [ "T0", "N1", "M0", "1", "VALUE:IIB" ], [ "T0", "N1", "M0", "2", "VALUE:IIB" ], [ "T0", "N1", "M0", "3", "VALUE:IIB" ], [ "T0", "N1", "M0", "4", "VALUE:IIB" ], [ "T0", "N1", "M0", "9", "VALUE:IIB" ], [ "T0", "N1", "M1", "1", "VALUE:IV" ], [ "T0", "N1", "M1", "2", "VALUE:IV" ], [ "T0", "N1", "M1", "3", "VALUE:IV" ], [ "T0", "N1", "M1", "4", "VALUE:IV" ], [ "T0", "N1", "M1", "9", "VALUE:IV" ], [ "T0", "N2", "M0", "1", "VALUE:IIIA" ], [ "T0", "N2", "M0", "2", "VALUE:IIIA" ], [ "T0", "N2", "M0", "3", "VALUE:IIIA" ], [ "T0", "N2", "M0", "4", "VALUE:IIIA" ], [ "T0", "N2", "M0", "9", "VALUE:IIIA" ], [ "T0", "N2", "M1", "1", "VALUE:IV" ], [ "T0", "N2", "M1", "2", "VALUE:IV" ], [ "T0", "N2", "M1", "3", "VALUE:IV" ], [ "T0", "N2", "M1", "4", "VALUE:IV" ], [ "T0", "N2", "M1", "9", "VALUE:IV" ], [ "T0", "N3", "M0", "1", "VALUE:IIIC" ], [ "T0", "N3", "M0", "2", "VALUE:IIIC" ], [ "T0", "N3", "M0", "3", "VALUE:IIIC" ], [ "T0", "N3", "M0", "4", "VALUE:IIIC" ], [ "T0", "N3", "M0", "9", "VALUE:IIIC" ], [ "T0", "N3", "M1", "1", "VALUE:IV" ], [ "T0", "N3", "M1", "2", "VALUE:IV" ], [ "T0", "N3", "M1", "3", "VALUE:IV" ], [ "T0", "N3", "M1", "4", "VALUE:IV" ], [ "T0", "N3", "M1", "9", "VALUE:IV" ], [ "T0", "NX", "M0", "1", "VALUE:UNK" ], [ "T0", "NX", "M0", "2", "VALUE:UNK" ], [ "T0", "NX", "M0", "3", "VALUE:UNK" ], [ "T0", "NX", "M0", "4", "VALUE:UNK" ], [ "T0", "NX", "M0", "9", "VALUE:UNK" ], [ "T0", "NX", "M1", "1", "VALUE:IV" ], [ "T0", "NX", "M1", "2", "VALUE:IV" ], [ "T0", "NX", "M1", "3", "VALUE:IV" ], [ "T0", "NX", "M1", "4", "VALUE:IV" ], [ "T0", "NX", "M1", "9", "VALUE:IV" ], [ "T1a", "N0", "M0", "1", "VALUE:IA" ], [ "T1a", "N0", "M0", "2", "VALUE:IA" ], [ "T1a", "N0", "M0", "3", "VALUE:IB" ], [ "T1a", "N0", "M0", "4", "VALUE:IB" ], [ "T1a", "N0", "M0", "9", "VALUE:IA" ], [ "T1a", "N0", "M1", "1", "VALUE:IV" ], [ "T1a", "N0", "M1", "2", "VALUE:IV" ], [ "T1a", "N0", "M1", "3", "VALUE:IV" ], [ "T1a", "N0", "M1", "4", "VALUE:IV" ], [ "T1a", "N0", "M1", "9", "VALUE:IV" ], [ "T1a", "N1", "M0", "1", "VALUE:IIB" ], [ "T1a", "N1", "M0", "2", "VALUE:IIB" ], [ "T1a", "N1", "M0", "3", "VALUE:IIB" ], [ "T1a", "N1", "M0", "4", "VALUE:IIB" ], [ "T1a", "N1", "M0", "9", "VALUE:IIB" ], [ "T1a", "N1", "M1", "1", "VALUE:IV" ], [ "T1a", "N1", "M1", "2", "VALUE:IV" ], [ "T1a", "N1", "M1", "3", "VALUE:IV" ], [ "T1a", "N1", "M1", "4", "VALUE:IV" ], [ "T1a", "N1", "M1", "9", "VALUE:IV" ], [ "T1a", "N2", "M0", "1", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "2", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "3", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "4", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "9", "VALUE:IIIA" ], [ "T1a", "N2", "M1", "1", "VALUE:IV" ], [ "T1a", "N2", "M1", "2", "VALUE:IV" ], [ "T1a", "N2", "M1", "3", "VALUE:IV" ], [ "T1a", "N2", "M1", "4", "VALUE:IV" ], [ "T1a", "N2", "M1", "9", "VALUE:IV" ], [ "T1a", "N3", "M0", "1", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "2", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "3", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "4", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "9", "VALUE:IIIC" ], [ "T1a", "N3", "M1", "1", "VALUE:IV" ], [ "T1a", "N3", "M1", "2", "VALUE:IV" ], [ "T1a", "N3", "M1", "3", "VALUE:IV" ], [ "T1a", "N3", "M1", "4", "VALUE:IV" ], [ "T1a", "N3", "M1", "9", "VALUE:IV" ], [ "T1a", "NX", "M0", "1", "VALUE:UNK" ], [ "T1a", "NX", "M0", "2", "VALUE:UNK" ], [ "T1a", "NX", "M0", "3", "VALUE:UNK" ], [ "T1a", "NX", "M0", "4", "VALUE:UNK" ], [ "T1a", "NX", "M0", "9", "VALUE:UNK" ], [ "T1a", "NX", "M1", "1", "VALUE:IV" ], [ "T1a", "NX", "M1", "2", "VALUE:IV" ], [ "T1a", "NX", "M1", "3", "VALUE:IV" ], [ "T1a", "NX", "M1", "4", "VALUE:IV" ], [ "T1a", "NX", "M1", "9", "VALUE:IV" ], [ "T1b", "N0", "M0", "1", "VALUE:IA" ], [ "T1b", "N0", "M0", "2", "VALUE:IA" ], [ "T1b", "N0", "M0", "3", "VALUE:IB" ], [ "T1b", "N0", "M0", "4", "VALUE:IB" ], [ "T1b", "N0", "M0", "9", "VALUE:IA" ], [ "T1b", "N0", "M1", "1", "VALUE:IV" ], [ "T1b", "N0", "M1", "2", "VALUE:IV" ], [ "T1b", "N0", "M1", "3", "VALUE:IV" ], [ "T1b", "N0", "M1", "4", "VALUE:IV" ], [ "T1b", "N0", "M1", "9", "VALUE:IV" ], [ "T1b", "N1", "M0", "1", "VALUE:IIB" ], [ "T1b", "N1", "M0", "2", "VALUE:IIB" ], [ "T1b", "N1", "M0", "3", "VALUE:IIB" ], [ "T1b", "N1", "M0", "4", "VALUE:IIB" ], [ "T1b", "N1", "M0", "9", "VALUE:IIB" ], [ "T1b", "N1", "M1", "1", "VALUE:IV" ], [ "T1b", "N1", "M1", "2", "VALUE:IV" ], [ "T1b", "N1", "M1", "3", "VALUE:IV" ], [ "T1b", "N1", "M1", "4", "VALUE:IV" ], [ "T1b", "N1", "M1", "9", "VALUE:IV" ], [ "T1b", "N2", "M0", "1", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "2", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "3", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "4", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "9", "VALUE:IIIA" ], [ "T1b", "N2", "M1", "1", "VALUE:IV" ], [ "T1b", "N2", "M1", "2", "VALUE:IV" ], [ "T1b", "N2", "M1", "3", "VALUE:IV" ], [ "T1b", "N2", "M1", "4", "VALUE:IV" ], [ "T1b", "N2", "M1", "9", "VALUE:IV" ], [ "T1b", "N3", "M0", "1", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "2", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "3", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "4", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "9", "VALUE:IIIC" ], [ "T1b", "N3", "M1", "1", "VALUE:IV" ], [ "T1b", "N3", "M1", "2", "VALUE:IV" ], [ "T1b", "N3", "M1", "3", "VALUE:IV" ], [ "T1b", "N3", "M1", "4", "VALUE:IV" ], [ "T1b", "N3", "M1", "9", "VALUE:IV" ], [ "T1b", "NX", "M0", "1", "VALUE:UNK" ], [ "T1b", "NX", "M0", "2", "VALUE:UNK" ], [ "T1b", "NX", "M0", "3", "VALUE:UNK" ], [ "T1b", "NX", "M0", "4", "VALUE:UNK" ], [ "T1b", "NX", "M0", "9", "VALUE:UNK" ], [ "T1b", "NX", "M1", "1", "VALUE:IV" ], [ "T1b", "NX", "M1", "2", "VALUE:IV" ], [ "T1b", "NX", "M1", "3", "VALUE:IV" ], [ "T1b", "NX", "M1", "4", "VALUE:IV" ], [ "T1b", "NX", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N0", "M0", "1", "VALUE:IA" ], [ "T1NOS", "N0", "M0", "2", "VALUE:IA" ], [ "T1NOS", "N0", "M0", "3", "VALUE:IB" ], [ "T1NOS", "N0", "M0", "4", "VALUE:IB" ], [ "T1NOS", "N0", "M0", "9", "VALUE:IA" ], [ "T1NOS", "N0", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "4", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "1", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "2", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "3", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "4", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "9", "VALUE:IIB" ], [ "T1NOS", "N1", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "4", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N2", "M0", "1", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "2", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "3", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "4", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "9", "VALUE:IIIA" ], [ "T1NOS", "N2", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "4", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N3", "M0", "1", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "2", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "3", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "4", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "9", "VALUE:IIIC" ], [ "T1NOS", "N3", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "4", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "9", "VALUE:IV" ], [ "T1NOS", "NX", "M0", "1", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "2", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "3", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "4", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "9", "VALUE:UNK" ], [ "T1NOS", "NX", "M1", "1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "2", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "3", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "4", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "9", "VALUE:IV" ], [ "T2", "N0", "M0", "1", "VALUE:IB" ], [ "T2", "N0", "M0", "2", "VALUE:IB" ], [ "T2", "N0", "M0", "3", "VALUE:IIA" ], [ "T2", "N0", "M0", "4", "VALUE:IIA" ], [ "T2", "N0", "M0", "9", "VALUE:IB" ], [ "T2", "N0", "M1", "1", "VALUE:IV" ], [ "T2", "N0", "M1", "2", "VALUE:IV" ], [ "T2", "N0", "M1", "3", "VALUE:IV" ], [ "T2", "N0", "M1", "4", "VALUE:IV" ], [ "T2", "N0", "M1", "9", "VALUE:IV" ], [ "T2", "N1", "M0", "1", "VALUE:IIB" ], [ "T2", "N1", "M0", "2", "VALUE:IIB" ], [ "T2", "N1", "M0", "3", "VALUE:IIB" ], [ "T2", "N1", "M0", "4", "VALUE:IIB" ], [ "T2", "N1", "M0", "9", "VALUE:IIB" ], [ "T2", "N1", "M1", "1", "VALUE:IV" ], [ "T2", "N1", "M1", "2", "VALUE:IV" ], [ "T2", "N1", "M1", "3", "VALUE:IV" ], [ "T2", "N1", "M1", "4", "VALUE:IV" ], [ "T2", "N1", "M1", "9", "VALUE:IV" ], [ "T2", "N2", "M0", "1", "VALUE:IIIA" ], [ "T2", "N2", "M0", "2", "VALUE:IIIA" ], [ "T2", "N2", "M0", "3", "VALUE:IIIA" ], [ "T2", "N2", "M0", "4", "VALUE:IIIA" ], [ "T2", "N2", "M0", "9", "VALUE:IIIA" ], [ "T2", "N2", "M1", "1", "VALUE:IV" ], [ "T2", "N2", "M1", "2", "VALUE:IV" ], [ "T2", "N2", "M1", "3", "VALUE:IV" ], [ "T2", "N2", "M1", "4", "VALUE:IV" ], [ "T2", "N2", "M1", "9", "VALUE:IV" ], [ "T2", "N3", "M0", "1", "VALUE:IIIC" ], [ "T2", "N3", "M0", "2", "VALUE:IIIC" ], [ "T2", "N3", "M0", "3", "VALUE:IIIC" ], [ "T2", "N3", "M0", "4", "VALUE:IIIC" ], [ "T2", "N3", "M0", "9", "VALUE:IIIC" ], [ "T2", "N3", "M1", "1", "VALUE:IV" ], [ "T2", "N3", "M1", "2", "VALUE:IV" ], [ "T2", "N3", "M1", "3", "VALUE:IV" ], [ "T2", "N3", "M1", "4", "VALUE:IV" ], [ "T2", "N3", "M1", "9", "VALUE:IV" ], [ "T2", "NX", "M0", "1", "VALUE:UNK" ], [ "T2", "NX", "M0", "2", "VALUE:UNK" ], [ "T2", "NX", "M0", "3", "VALUE:UNK" ], [ "T2", "NX", "M0", "4", "VALUE:UNK" ], [ "T2", "NX", "M0", "9", "VALUE:UNK" ], [ "T2", "NX", "M1", "1", "VALUE:IV" ], [ "T2", "NX", "M1", "2", "VALUE:IV" ], [ "T2", "NX", "M1", "3", "VALUE:IV" ], [ "T2", "NX", "M1", "4", "VALUE:IV" ], [ "T2", "NX", "M1", "9", "VALUE:IV" ], [ "T3", "N0", "M0", "1", "VALUE:IIB" ], [ "T3", "N0", "M0", "2", "VALUE:IIB" ], [ "T3", "N0", "M0", "3", "VALUE:IIB" ], [ "T3", "N0", "M0", "4", "VALUE:IIB" ], [ "T3", "N0", "M0", "9", "VALUE:IIB" ], [ "T3", "N0", "M1", "1", "VALUE:IV" ], [ "T3", "N0", "M1", "2", "VALUE:IV" ], [ "T3", "N0", "M1", "3", "VALUE:IV" ], [ "T3", "N0", "M1", "4", "VALUE:IV" ], [ "T3", "N0", "M1", "9", "VALUE:IV" ], [ "T3", "N1", "M0", "1", "VALUE:IIIA" ], [ "T3", "N1", "M0", "2", "VALUE:IIIA" ], [ "T3", "N1", "M0", "3", "VALUE:IIIA" ], [ "T3", "N1", "M0", "4", "VALUE:IIIA" ], [ "T3", "N1", "M0", "9", "VALUE:IIIA" ], [ "T3", "N1", "M1", "1", "VALUE:IV" ], [ "T3", "N1", "M1", "2", "VALUE:IV" ], [ "T3", "N1", "M1", "3", "VALUE:IV" ], [ "T3", "N1", "M1", "4", "VALUE:IV" ], [ "T3", "N1", "M1", "9", "VALUE:IV" ], [ "T3", "N2", "M0", "1", "VALUE:IIIB" ], [ "T3", "N2", "M0", "2", "VALUE:IIIB" ], [ "T3", "N2", "M0", "3", "VALUE:IIIB" ], [ "T3", "N2", "M0", "4", "VALUE:IIIB" ], [ "T3", "N2", "M0", "9", "VALUE:IIIB" ], [ "T3", "N2", "M1", "1", "VALUE:IV" ], [ "T3", "N2", "M1", "2", "VALUE:IV" ], [ "T3", "N2", "M1", "3", "VALUE:IV" ], [ "T3", "N2", "M1", "4", "VALUE:IV" ], [ "T3", "N2", "M1", "9", "VALUE:IV" ], [ "T3", "N3", "M0", "1", "VALUE:IIIC" ], [ "T3", "N3", "M0", "2", "VALUE:IIIC" ], [ "T3", "N3", "M0", "3", "VALUE:IIIC" ], [ "T3", "N3", "M0", "4", "VALUE:IIIC" ], [ "T3", "N3", "M0", "9", "VALUE:IIIC" ], [ "T3", "N3", "M1", "1", "VALUE:IV" ], [ "T3", "N3", "M1", "2", "VALUE:IV" ], [ "T3", "N3", "M1", "3", "VALUE:IV" ], [ "T3", "N3", "M1", "4", "VALUE:IV" ], [ "T3", "N3", "M1", "9", "VALUE:IV" ], [ "T3", "NX", "M0", "1", "VALUE:UNK" ], [ "T3", "NX", "M0", "2", "VALUE:UNK" ], [ "T3", "NX", "M0", "3", "VALUE:UNK" ], [ "T3", "NX", "M0", "4", "VALUE:UNK" ], [ "T3", "NX", "M0", "9", "VALUE:UNK" ], [ "T3", "NX", "M1", "1", "VALUE:IV" ], [ "T3", "NX", "M1", "2", "VALUE:IV" ], [ "T3", "NX", "M1", "3", "VALUE:IV" ], [ "T3", "NX", "M1", "4", "VALUE:IV" ], [ "T3", "NX", "M1", "9", "VALUE:IV" ], [ "T4a", "N0", "M0", "1", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "2", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "3", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "4", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "9", "VALUE:IIIA" ], [ "T4a", "N0", "M1", "1", "VALUE:IV" ], [ "T4a", "N0", "M1", "2", "VALUE:IV" ], [ "T4a", "N0", "M1", "3", "VALUE:IV" ], [ "T4a", "N0", "M1", "4", "VALUE:IV" ], [ "T4a", "N0", "M1", "9", "VALUE:IV" ], [ "T4a", "N1", "M0", "1", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "2", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "3", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "4", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "9", "VALUE:IIIC" ], [ "T4a", "N1", "M1", "1", "VALUE:IV" ], [ "T4a", "N1", "M1", "2", "VALUE:IV" ], [ "T4a", "N1", "M1", "3", "VALUE:IV" ], [ "T4a", "N1", "M1", "4", "VALUE:IV" ], [ "T4a", "N1", "M1", "9", "VALUE:IV" ], [ "T4a", "N2", "M0", "1", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "2", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "3", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "4", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "9", "VALUE:IIIC" ], [ "T4a", "N2", "M1", "1", "VALUE:IV" ], [ "T4a", "N2", "M1", "2", "VALUE:IV" ], [ "T4a", "N2", "M1", "3", "VALUE:IV" ], [ "T4a", "N2", "M1", "4", "VALUE:IV" ], [ "T4a", "N2", "M1", "9", "VALUE:IV" ], [ "T4a", "N3", "M0", "1", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "2", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "3", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "4", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "9", "VALUE:IIIC" ], [ "T4a", "N3", "M1", "1", "VALUE:IV" ], [ "T4a", "N3", "M1", "2", "VALUE:IV" ], [ "T4a", "N3", "M1", "3", "VALUE:IV" ], [ "T4a", "N3", "M1", "4", "VALUE:IV" ], [ "T4a", "N3", "M1", "9", "VALUE:IV" ], [ "T4a", "NX", "M0", "1", "VALUE:UNK" ], [ "T4a", "NX", "M0", "2", "VALUE:UNK" ], [ "T4a", "NX", "M0", "3", "VALUE:UNK" ], [ "T4a", "NX", "M0", "4", "VALUE:UNK" ], [ "T4a", "NX", "M0", "9", "VALUE:UNK" ], [ "T4a", "NX", "M1", "1", "VALUE:IV" ], [ "T4a", "NX", "M1", "2", "VALUE:IV" ], [ "T4a", "NX", "M1", "3", "VALUE:IV" ], [ "T4a", "NX", "M1", "4", "VALUE:IV" ], [ "T4a", "NX", "M1", "9", "VALUE:IV" ], [ "T4b", "N0", "M0", "1", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "2", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "3", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "4", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "9", "VALUE:IIIC" ], [ "T4b", "N0", "M1", "1", "VALUE:IV" ], [ "T4b", "N0", "M1", "2", "VALUE:IV" ], [ "T4b", "N0", "M1", "3", "VALUE:IV" ], [ "T4b", "N0", "M1", "4", "VALUE:IV" ], [ "T4b", "N0", "M1", "9", "VALUE:IV" ], [ "T4b", "N1", "M0", "1", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "2", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "3", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "4", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "9", "VALUE:IIIC" ], [ "T4b", "N1", "M1", "1", "VALUE:IV" ], [ "T4b", "N1", "M1", "2", "VALUE:IV" ], [ "T4b", "N1", "M1", "3", "VALUE:IV" ], [ "T4b", "N1", "M1", "4", "VALUE:IV" ], [ "T4b", "N1", "M1", "9", "VALUE:IV" ], [ "T4b", "N2", "M0", "1", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "2", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "3", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "4", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "9", "VALUE:IIIC" ], [ "T4b", "N2", "M1", "1", "VALUE:IV" ], [ "T4b", "N2", "M1", "2", "VALUE:IV" ], [ "T4b", "N2", "M1", "3", "VALUE:IV" ], [ "T4b", "N2", "M1", "4", "VALUE:IV" ], [ "T4b", "N2", "M1", "9", "VALUE:IV" ], [ "T4b", "N3", "M0", "1", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "2", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "3", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "4", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "9", "VALUE:IIIC" ], [ "T4b", "N3", "M1", "1", "VALUE:IV" ], [ "T4b", "N3", "M1", "2", "VALUE:IV" ], [ "T4b", "N3", "M1", "3", "VALUE:IV" ], [ "T4b", "N3", "M1", "4", "VALUE:IV" ], [ "T4b", "N3", "M1", "9", "VALUE:IV" ], [ "T4b", "NX", "M0", "1", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "2", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "3", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "4", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "9", "VALUE:IIIC" ], [ "T4b", "NX", "M1", "1", "VALUE:IV" ], [ "T4b", "NX", "M1", "2", "VALUE:IV" ], [ "T4b", "NX", "M1", "3", "VALUE:IV" ], [ "T4b", "NX", "M1", "4", "VALUE:IV" ], [ "T4b", "NX", "M1", "9", "VALUE:IV" ], [ "T4NOS", "N0", "M0", "1", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "2", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "3", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "4", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "9", "VALUE:IIIA" ], [ "T4NOS", "N0", "M1", "1", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "2", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "3", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "4", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "9", "VALUE:IV" ], [ "T4NOS", "N1", "M0", "1", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "2", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "3", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "4", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "9", "VALUE:IIIC" ], [ "T4NOS", "N1", "M1", "1", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "2", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "3", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "4", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "9", "VALUE:IV" ], [ "T4NOS", "N2", "M0", "1", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "2", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "3", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "4", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "9", "VALUE:IIIC" ], [ "T4NOS", "N2", "M1", "1", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "2", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "3", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "4", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "9", "VALUE:IV" ], [ "T4NOS", "N3", "M0", "1", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "2", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "3", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "4", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "9", "VALUE:IIIC" ], [ "T4NOS", "N3", "M1", "1", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "2", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "3", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "4", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "9", "VALUE:IV" ], [ "T4NOS", "NX", "M0", "1", "VALUE:UNK" ], [ "T4NOS", "NX", "M0", "2", "VALUE:UNK" ], [ "T4NOS", "NX", "M0", "3", "VALUE:UNK" ], [ "T4NOS", "NX", "M0", "4", "VALUE:UNK" ], [ "T4NOS", "NX", "M0", "9", "VALUE:UNK" ], [ "T4NOS", "NX", "M1", "1", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "2", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "3", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "4", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "9", "VALUE:IV" ], [ "Tis", "N0", "M0", "1", "VALUE:0" ], [ "Tis", "N0", "M0", "2", "VALUE:0" ], [ "Tis", "N0", "M0", "3", "VALUE:0" ], [ "Tis", "N0", "M0", "4", "VALUE:0" ], [ "Tis", "N0", "M0", "9", "VALUE:0" ], [ "Tis", "N0", "M1", "1", "ERROR:" ], [ "Tis", "N0", "M1", "2", "ERROR:" ], [ "Tis", "N0", "M1", "3", "ERROR:" ], [ "Tis", "N0", "M1", "4", "ERROR:" ], [ "Tis", "N0", "M1", "9", "ERROR:" ], [ "Tis", "N1", "M0", "1", "ERROR:" ], [ "Tis", "N1", "M0", "2", "ERROR:" ], [ "Tis", "N1", "M0", "3", "ERROR:" ], [ "Tis", "N1", "M0", "4", "ERROR:" ], [ "Tis", "N1", "M0", "9", "ERROR:" ], [ "Tis", "N1", "M1", "1", "ERROR:" ], [ "Tis", "N1", "M1", "2", "ERROR:" ], [ "Tis", "N1", "M1", "3", "ERROR:" ], [ "Tis", "N1", "M1", "4", "ERROR:" ], [ "Tis", "N1", "M1", "9", "ERROR:" ], [ "Tis", "N2", "M0", "1", "ERROR:" ], [ "Tis", "N2", "M0", "2", "ERROR:" ], [ "Tis", "N2", "M0", "3", "ERROR:" ], [ "Tis", "N2", "M0", "4", "ERROR:" ], [ "Tis", "N2", "M0", "9", "ERROR:" ], [ "Tis", "N2", "M1", "1", "ERROR:" ], [ "Tis", "N2", "M1", "2", "ERROR:" ], [ "Tis", "N2", "M1", "3", "ERROR:" ], [ "Tis", "N2", "M1", "4", "ERROR:" ], [ "Tis", "N2", "M1", "9", "ERROR:" ], [ "Tis", "N3", "M0", "1", "ERROR:" ], [ "Tis", "N3", "M0", "2", "ERROR:" ], [ "Tis", "N3", "M0", "3", "ERROR:" ], [ "Tis", "N3", "M0", "4", "ERROR:" ], [ "Tis", "N3", "M0", "9", "ERROR:" ], [ "Tis", "N3", "M1", "1", "ERROR:" ], [ "Tis", "N3", "M1", "2", "ERROR:" ], [ "Tis", "N3", "M1", "3", "ERROR:" ], [ "Tis", "N3", "M1", "4", "ERROR:" ], [ "Tis", "N3", "M1", "9", "ERROR:" ], [ "Tis", "NX", "M0", "1", "VALUE:0" ], [ "Tis", "NX", "M0", "2", "VALUE:0" ], [ "Tis", "NX", "M0", "3", "VALUE:0" ], [ "Tis", "NX", "M0", "4", "VALUE:0" ], [ "Tis", "NX", "M0", "9", "VALUE:0" ], [ "Tis", "NX", "M1", "1", "ERROR:" ], [ "Tis", "NX", "M1", "2", "ERROR:" ], [ "Tis", "NX", "M1", "3", "ERROR:" ], [ "Tis", "NX", "M1", "4", "ERROR:" ], [ "Tis", "NX", "M1", "9", "ERROR:" ], [ "TX", "N0", "M0", "1", "VALUE:UNK" ], [ "TX", "N0", "M0", "2", "VALUE:UNK" ], [ "TX", "N0", "M0", "3", "VALUE:UNK" ], [ "TX", "N0", "M0", "4", "VALUE:UNK" ], [ "TX", "N0", "M0", "9", "VALUE:UNK" ], [ "TX", "N0", "M1", "1", "VALUE:IV" ], [ "TX", "N0", "M1", "2", "VALUE:IV" ], [ "TX", "N0", "M1", "3", "VALUE:IV" ], [ "TX", "N0", "M1", "4", "VALUE:IV" ], [ "TX", "N0", "M1", "9", "VALUE:IV" ], [ "TX", "N1", "M0", "1", "VALUE:UNK" ], [ "TX", "N1", "M0", "2", "VALUE:UNK" ], [ "TX", "N1", "M0", "3", "VALUE:UNK" ], [ "TX", "N1", "M0", "4", "VALUE:UNK" ], [ "TX", "N1", "M0", "9", "VALUE:UNK" ], [ "TX", "N1", "M1", "1", "VALUE:IV" ], [ "TX", "N1", "M1", "2", "VALUE:IV" ], [ "TX", "N1", "M1", "3", "VALUE:IV" ], [ "TX", "N1", "M1", "4", "VALUE:IV" ], [ "TX", "N1", "M1", "9", "VALUE:IV" ], [ "TX", "N2", "M0", "1", "VALUE:UNK" ], [ "TX", "N2", "M0", "2", "VALUE:UNK" ], [ "TX", "N2", "M0", "3", "VALUE:UNK" ], [ "TX", "N2", "M0", "4", "VALUE:UNK" ], [ "TX", "N2", "M0", "9", "VALUE:UNK" ], [ "TX", "N2", "M1", "1", "VALUE:IV" ], [ "TX", "N2", "M1", "2", "VALUE:IV" ], [ "TX", "N2", "M1", "3", "VALUE:IV" ], [ "TX", "N2", "M1", "4", "VALUE:IV" ], [ "TX", "N2", "M1", "9", "VALUE:IV" ], [ "TX", "N3", "M0", "1", "VALUE:IIIC" ], [ "TX", "N3", "M0", "2", "VALUE:IIIC" ], [ "TX", "N3", "M0", "3", "VALUE:IIIC" ], [ "TX", "N3", "M0", "4", "VALUE:IIIC" ], [ "TX", "N3", "M0", "9", "VALUE:IIIC" ], [ "TX", "N3", "M1", "1", "VALUE:IV" ], [ "TX", "N3", "M1", "2", "VALUE:IV" ], [ "TX", "N3", "M1", "3", "VALUE:IV" ], [ "TX", "N3", "M1", "4", "VALUE:IV" ], [ "TX", "N3", "M1", "9", "VALUE:IV" ], [ "TX", "NX", "M0", "1", "VALUE:UNK" ], [ "TX", "NX", "M0", "2", "VALUE:UNK" ], [ "TX", "NX", "M0", "3", "VALUE:UNK" ], [ "TX", "NX", "M0", "4", "VALUE:UNK" ], [ "TX", "NX", "M0", "9", "VALUE:UNK" ], [ "TX", "NX", "M1", "1", "VALUE:IV" ], [ "TX", "NX", "M1", "2", "VALUE:IV" ], [ "TX", "NX", "M1", "3", "VALUE:IV" ], [ "TX", "NX", "M1", "4", "VALUE:IV" ], [ "TX", "NX", "M1", "9", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_giststomach_xit.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_giststomach_xit.json deleted file mode 100644 index b2340ab13..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_giststomach_xit.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcctnm7_stage_giststomach_xit", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC TNM7 Stage GIST Stomach", - "title" : "AJCC TNM 7 Stage - GIST Stomach", - "last_modified" : "2015-05-27T16:19:01.360Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "High", "ERROR:" ], [ "T0", "N0", "M0", "Low", "ERROR:" ], [ "T0", "N0", "M0", "Unknown", "ERROR:" ], [ "T0", "N0", "M1", "High", "VALUE:IV" ], [ "T0", "N0", "M1", "Low", "VALUE:IV" ], [ "T0", "N0", "M1", "Unknown", "VALUE:IV" ], [ "T0", "N1", "M0", "High", "VALUE:IV" ], [ "T0", "N1", "M0", "Low", "VALUE:IV" ], [ "T0", "N1", "M0", "Unknown", "VALUE:IV" ], [ "T0", "N1", "M1", "High", "VALUE:IV" ], [ "T0", "N1", "M1", "Low", "VALUE:IV" ], [ "T0", "N1", "M1", "Unknown", "VALUE:IV" ], [ "T1", "N0", "M0", "High", "VALUE:II" ], [ "T1", "N0", "M0", "Low", "VALUE:IA" ], [ "T1", "N0", "M0", "Unknown", "VALUE:UNK" ], [ "T1", "N0", "M1", "High", "VALUE:IV" ], [ "T1", "N0", "M1", "Low", "VALUE:IV" ], [ "T1", "N0", "M1", "Unknown", "VALUE:IV" ], [ "T1", "N1", "M0", "High", "VALUE:IV" ], [ "T1", "N1", "M0", "Low", "VALUE:IV" ], [ "T1", "N1", "M0", "Unknown", "VALUE:IV" ], [ "T1", "N1", "M1", "High", "VALUE:IV" ], [ "T1", "N1", "M1", "Low", "VALUE:IV" ], [ "T1", "N1", "M1", "Unknown", "VALUE:IV" ], [ "T2", "N0", "M0", "High", "VALUE:II" ], [ "T2", "N0", "M0", "Low", "VALUE:IA" ], [ "T2", "N0", "M0", "Unknown", "VALUE:UNK" ], [ "T2", "N0", "M1", "High", "VALUE:IV" ], [ "T2", "N0", "M1", "Low", "VALUE:IV" ], [ "T2", "N0", "M1", "Unknown", "VALUE:IV" ], [ "T2", "N1", "M0", "High", "VALUE:IV" ], [ "T2", "N1", "M0", "Low", "VALUE:IV" ], [ "T2", "N1", "M0", "Unknown", "VALUE:IV" ], [ "T2", "N1", "M1", "High", "VALUE:IV" ], [ "T2", "N1", "M1", "Low", "VALUE:IV" ], [ "T2", "N1", "M1", "Unknown", "VALUE:IV" ], [ "T3", "N0", "M0", "High", "VALUE:IIIA" ], [ "T3", "N0", "M0", "Low", "VALUE:IB" ], [ "T3", "N0", "M0", "Unknown", "VALUE:UNK" ], [ "T3", "N0", "M1", "High", "VALUE:IV" ], [ "T3", "N0", "M1", "Low", "VALUE:IV" ], [ "T3", "N0", "M1", "Unknown", "VALUE:IV" ], [ "T3", "N1", "M0", "High", "VALUE:IV" ], [ "T3", "N1", "M0", "Low", "VALUE:IV" ], [ "T3", "N1", "M0", "Unknown", "VALUE:IV" ], [ "T3", "N1", "M1", "High", "VALUE:IV" ], [ "T3", "N1", "M1", "Low", "VALUE:IV" ], [ "T3", "N1", "M1", "Unknown", "VALUE:IV" ], [ "T4", "N0", "M0", "High", "VALUE:IIIB" ], [ "T4", "N0", "M0", "Low", "VALUE:II" ], [ "T4", "N0", "M0", "Unknown", "VALUE:UNK" ], [ "T4", "N0", "M1", "High", "VALUE:IV" ], [ "T4", "N0", "M1", "Low", "VALUE:IV" ], [ "T4", "N0", "M1", "Unknown", "VALUE:IV" ], [ "T4", "N1", "M0", "High", "VALUE:IV" ], [ "T4", "N1", "M0", "Low", "VALUE:IV" ], [ "T4", "N1", "M0", "Unknown", "VALUE:IV" ], [ "T4", "N1", "M1", "High", "VALUE:IV" ], [ "T4", "N1", "M1", "Low", "VALUE:IV" ], [ "T4", "N1", "M1", "Unknown", "VALUE:IV" ], [ "TX", "N0", "M0", "High", "VALUE:UNK" ], [ "TX", "N0", "M0", "Low", "VALUE:UNK" ], [ "TX", "N0", "M0", "Unknown", "VALUE:UNK" ], [ "TX", "N0", "M1", "High", "VALUE:IV" ], [ "TX", "N0", "M1", "Low", "VALUE:IV" ], [ "TX", "N0", "M1", "Unknown", "VALUE:IV" ], [ "TX", "N1", "M0", "High", "VALUE:IV" ], [ "TX", "N1", "M0", "Low", "VALUE:IV" ], [ "TX", "N1", "M0", "Unknown", "VALUE:IV" ], [ "TX", "N1", "M1", "High", "VALUE:IV" ], [ "TX", "N1", "M1", "Low", "VALUE:IV" ], [ "TX", "N1", "M1", "Unknown", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xhy.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xhy.json deleted file mode 100644 index ddf499393..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xhy.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "ajcctnm7_stage_squamous_xhy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC TNM7 Stage Squamous", - "title" : "AJCC TNM 7 Stage Squamous", - "last_modified" : "2015-05-27T16:19:01.412Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "site", - "name" : "Site", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "1", "*", "ERROR:" ], [ "T0", "N0", "M0", "2", "*", "ERROR:" ], [ "T0", "N0", "M0", "3", "*", "ERROR:" ], [ "T0", "N0", "M0", "4", "*", "ERROR:" ], [ "T0", "N0", "M0", "9", "*", "ERROR:" ], [ "T0", "N1", "M0", "1", "*", "VALUE:UNK" ], [ "T0", "N1", "M0", "2", "*", "VALUE:UNK" ], [ "T0", "N1", "M0", "3", "*", "VALUE:UNK" ], [ "T0", "N1", "M0", "4", "*", "VALUE:UNK" ], [ "T0", "N1", "M0", "9", "*", "VALUE:UNK" ], [ "T0", "N2", "M0", "1", "*", "VALUE:IIINOS" ], [ "T0", "N2", "M0", "2", "*", "VALUE:IIINOS" ], [ "T0", "N2", "M0", "3", "*", "VALUE:IIINOS" ], [ "T0", "N2", "M0", "4", "*", "VALUE:IIINOS" ], [ "T0", "N2", "M0", "9", "*", "VALUE:IIINOS" ], [ "T0", "N3", "M0", "1", "*", "VALUE:IIIC" ], [ "T0", "N3", "M0", "2", "*", "VALUE:IIIC" ], [ "T0", "N3", "M0", "3", "*", "VALUE:IIIC" ], [ "T0", "N3", "M0", "4", "*", "VALUE:IIIC" ], [ "T0", "N3", "M0", "9", "*", "VALUE:IIIC" ], [ "T0", "NX", "M0", "1", "*", "VALUE:UNK" ], [ "T0", "NX", "M0", "2", "*", "VALUE:UNK" ], [ "T0", "NX", "M0", "3", "*", "VALUE:UNK" ], [ "T0", "NX", "M0", "4", "*", "VALUE:UNK" ], [ "T0", "NX", "M0", "9", "*", "VALUE:UNK" ], [ "Tis", "N0", "M0", "1", "*", "VALUE:0" ], [ "Tis", "N0", "M0", "2", "*", "ERROR:" ], [ "Tis", "N0", "M0", "3", "*", "ERROR:" ], [ "Tis", "N0", "M0", "4", "*", "ERROR:" ], [ "Tis", "N0", "M0", "9", "*", "VALUE:0" ], [ "Tis", "N1", "M0", "1", "*", "ERROR:" ], [ "Tis", "N1", "M0", "2", "*", "ERROR:" ], [ "Tis", "N1", "M0", "3", "*", "ERROR:" ], [ "Tis", "N1", "M0", "4", "*", "ERROR:" ], [ "Tis", "N1", "M0", "9", "*", "ERROR:" ], [ "Tis", "N2", "M0", "1", "*", "ERROR:" ], [ "Tis", "N2", "M0", "2", "*", "ERROR:" ], [ "Tis", "N2", "M0", "3", "*", "ERROR:" ], [ "Tis", "N2", "M0", "4", "*", "ERROR:" ], [ "Tis", "N2", "M0", "9", "*", "ERROR:" ], [ "Tis", "N3", "M0", "1", "*", "ERROR:" ], [ "Tis", "N3", "M0", "2", "*", "ERROR:" ], [ "Tis", "N3", "M0", "3", "*", "ERROR:" ], [ "Tis", "N3", "M0", "4", "*", "ERROR:" ], [ "Tis", "N3", "M0", "9", "*", "ERROR:" ], [ "Tis", "NX", "M0", "1", "*", "VALUE:0" ], [ "Tis", "NX", "M0", "2", "*", "ERROR:" ], [ "Tis", "NX", "M0", "3", "*", "ERROR:" ], [ "Tis", "NX", "M0", "4", "*", "ERROR:" ], [ "Tis", "NX", "M0", "9", "*", "VALUE:0" ], [ "T1a", "N0", "M0", "1", "*", "VALUE:IA" ], [ "T1a", "N0", "M0", "2", "*", "VALUE:IB" ], [ "T1a", "N0", "M0", "3", "*", "VALUE:IB" ], [ "T1a", "N0", "M0", "4", "*", "VALUE:IB" ], [ "T1a", "N0", "M0", "9", "*", "VALUE:IA" ], [ "T1a", "N1", "M0", "1", "*", "VALUE:IIB" ], [ "T1a", "N1", "M0", "2", "*", "VALUE:IIB" ], [ "T1a", "N1", "M0", "3", "*", "VALUE:IIB" ], [ "T1a", "N1", "M0", "4", "*", "VALUE:IIB" ], [ "T1a", "N1", "M0", "9", "*", "VALUE:IIB" ], [ "T1a", "N2", "M0", "1", "*", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "2", "*", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "3", "*", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "4", "*", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "9", "*", "VALUE:IIIA" ], [ "T1a", "N3", "M0", "1", "*", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "2", "*", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "3", "*", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "4", "*", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "9", "*", "VALUE:IIIC" ], [ "T1a", "NX", "M0", "1", "*", "VALUE:UNK" ], [ "T1a", "NX", "M0", "2", "*", "VALUE:UNK" ], [ "T1a", "NX", "M0", "3", "*", "VALUE:UNK" ], [ "T1a", "NX", "M0", "4", "*", "VALUE:UNK" ], [ "T1a", "NX", "M0", "9", "*", "VALUE:UNK" ], [ "T1b", "N0", "M0", "1", "*", "VALUE:IA" ], [ "T1b", "N0", "M0", "2", "*", "VALUE:IB" ], [ "T1b", "N0", "M0", "3", "*", "VALUE:IB" ], [ "T1b", "N0", "M0", "4", "*", "VALUE:IB" ], [ "T1b", "N0", "M0", "9", "*", "VALUE:IA" ], [ "T1b", "N1", "M0", "1", "*", "VALUE:IIB" ], [ "T1b", "N1", "M0", "2", "*", "VALUE:IIB" ], [ "T1b", "N1", "M0", "3", "*", "VALUE:IIB" ], [ "T1b", "N1", "M0", "4", "*", "VALUE:IIB" ], [ "T1b", "N1", "M0", "9", "*", "VALUE:IIB" ], [ "T1b", "N2", "M0", "1", "*", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "2", "*", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "3", "*", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "4", "*", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "9", "*", "VALUE:IIIA" ], [ "T1b", "N3", "M0", "1", "*", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "2", "*", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "3", "*", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "4", "*", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "9", "*", "VALUE:IIIC" ], [ "T1b", "NX", "M0", "1", "*", "VALUE:UNK" ], [ "T1b", "NX", "M0", "2", "*", "VALUE:UNK" ], [ "T1b", "NX", "M0", "3", "*", "VALUE:UNK" ], [ "T1b", "NX", "M0", "4", "*", "VALUE:UNK" ], [ "T1b", "NX", "M0", "9", "*", "VALUE:UNK" ], [ "T1NOS", "N0", "M0", "1", "*", "VALUE:IA" ], [ "T1NOS", "N0", "M0", "2", "*", "VALUE:IB" ], [ "T1NOS", "N0", "M0", "3", "*", "VALUE:IB" ], [ "T1NOS", "N0", "M0", "4", "*", "VALUE:IB" ], [ "T1NOS", "N0", "M0", "9", "*", "VALUE:IA" ], [ "T1NOS", "N1", "M0", "1", "*", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "2", "*", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "3", "*", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "4", "*", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "9", "*", "VALUE:IIB" ], [ "T1NOS", "N2", "M0", "1", "*", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "2", "*", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "3", "*", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "4", "*", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "9", "*", "VALUE:IIIA" ], [ "T1NOS", "N3", "M0", "1", "*", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "2", "*", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "3", "*", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "4", "*", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "9", "*", "VALUE:IIIC" ], [ "T1NOS", "NX", "M0", "1", "*", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "2", "*", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "3", "*", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "4", "*", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "9", "*", "VALUE:UNK" ], [ "T2", "N0", "M0", "1", "C150,C151,C153,C154", "VALUE:IIA" ], [ "T2", "N0", "M0", "1", "C152,C155,C158,C159", "VALUE:IB" ], [ "T2", "N0", "M0", "2", "C150,C151,C153,C154", "VALUE:IIB" ], [ "T2", "N0", "M0", "2", "C152,C155,C158,C159", "VALUE:IIA" ], [ "T2", "N0", "M0", "3", "C150,C151,C153,C154", "VALUE:IIB" ], [ "T2", "N0", "M0", "3", "C152,C155,C158,C159", "VALUE:IIA" ], [ "T2", "N0", "M0", "4", "C150,C151,C153,C154", "VALUE:IIB" ], [ "T2", "N0", "M0", "4", "C152,C155,C158,C159", "VALUE:IIA" ], [ "T2", "N0", "M0", "9", "C150,C151,C153,C154", "VALUE:IIA" ], [ "T2", "N0", "M0", "9", "C152,C155,C158,C159", "VALUE:IB" ], [ "T2", "N1", "M0", "1", "*", "VALUE:IIB" ], [ "T2", "N1", "M0", "2", "*", "VALUE:IIB" ], [ "T2", "N1", "M0", "3", "*", "VALUE:IIB" ], [ "T2", "N1", "M0", "4", "*", "VALUE:IIB" ], [ "T2", "N1", "M0", "9", "*", "VALUE:IIB" ], [ "T2", "N2", "M0", "1", "*", "VALUE:IIIA" ], [ "T2", "N2", "M0", "2", "*", "VALUE:IIIA" ], [ "T2", "N2", "M0", "3", "*", "VALUE:IIIA" ], [ "T2", "N2", "M0", "4", "*", "VALUE:IIIA" ], [ "T2", "N2", "M0", "9", "*", "VALUE:IIIA" ], [ "T2", "N3", "M0", "1", "*", "VALUE:IIIC" ], [ "T2", "N3", "M0", "2", "*", "VALUE:IIIC" ], [ "T2", "N3", "M0", "3", "*", "VALUE:IIIC" ], [ "T2", "N3", "M0", "4", "*", "VALUE:IIIC" ], [ "T2", "N3", "M0", "9", "*", "VALUE:IIIC" ], [ "T2", "NX", "M0", "1", "*", "VALUE:UNK" ], [ "T2", "NX", "M0", "2", "*", "VALUE:UNK" ], [ "T2", "NX", "M0", "3", "*", "VALUE:UNK" ], [ "T2", "NX", "M0", "4", "*", "VALUE:UNK" ], [ "T2", "NX", "M0", "9", "*", "VALUE:UNK" ], [ "T3", "N0", "M0", "1", "C150,C151,C153,C154", "VALUE:IIA" ], [ "T3", "N0", "M0", "1", "C152,C155,C158,C159", "VALUE:IB" ], [ "T3", "N0", "M0", "2", "C150,C151,C153,C154", "VALUE:IIB" ], [ "T3", "N0", "M0", "2", "C152,C155,C158,C159", "VALUE:IIA" ], [ "T3", "N0", "M0", "3", "C150,C151,C153,C154", "VALUE:IIB" ], [ "T3", "N0", "M0", "3", "C152,C155,C158,C159", "VALUE:IIA" ], [ "T3", "N0", "M0", "4", "C150,C151,C153,C154", "VALUE:IIB" ], [ "T3", "N0", "M0", "4", "C152,C155,C158,C159", "VALUE:IIA" ], [ "T3", "N0", "M0", "9", "C150,C151,C153,C154", "VALUE:IIA" ], [ "T3", "N0", "M0", "9", "C152,C155,C158,C159", "VALUE:IB" ], [ "T3", "N1", "M0", "1", "*", "VALUE:IIIA" ], [ "T3", "N1", "M0", "2", "*", "VALUE:IIIA" ], [ "T3", "N1", "M0", "3", "*", "VALUE:IIIA" ], [ "T3", "N1", "M0", "4", "*", "VALUE:IIIA" ], [ "T3", "N1", "M0", "9", "*", "VALUE:IIIA" ], [ "T3", "N2", "M0", "1", "*", "VALUE:IIIB" ], [ "T3", "N2", "M0", "2", "*", "VALUE:IIIB" ], [ "T3", "N2", "M0", "3", "*", "VALUE:IIIB" ], [ "T3", "N2", "M0", "4", "*", "VALUE:IIIB" ], [ "T3", "N2", "M0", "9", "*", "VALUE:IIIB" ], [ "T3", "N3", "M0", "1", "*", "VALUE:IIIC" ], [ "T3", "N3", "M0", "2", "*", "VALUE:IIIC" ], [ "T3", "N3", "M0", "3", "*", "VALUE:IIIC" ], [ "T3", "N3", "M0", "4", "*", "VALUE:IIIC" ], [ "T3", "N3", "M0", "9", "*", "VALUE:IIIC" ], [ "T3", "NX", "M0", "1", "*", "VALUE:UNK" ], [ "T3", "NX", "M0", "2", "*", "VALUE:UNK" ], [ "T3", "NX", "M0", "3", "*", "VALUE:UNK" ], [ "T3", "NX", "M0", "4", "*", "VALUE:UNK" ], [ "T3", "NX", "M0", "9", "*", "VALUE:UNK" ], [ "T4a", "N0", "M0", "1", "*", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "2", "*", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "3", "*", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "4", "*", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "9", "*", "VALUE:IIIA" ], [ "T4a", "N1", "M0", "1", "*", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "2", "*", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "3", "*", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "4", "*", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "9", "*", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "1", "*", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "2", "*", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "3", "*", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "4", "*", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "9", "*", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "1", "*", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "2", "*", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "3", "*", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "4", "*", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "9", "*", "VALUE:IIIC" ], [ "T4a", "NX", "M0", "1", "*", "VALUE:IIINOS" ], [ "T4a", "NX", "M0", "2", "*", "VALUE:IIINOS" ], [ "T4a", "NX", "M0", "3", "*", "VALUE:IIINOS" ], [ "T4a", "NX", "M0", "4", "*", "VALUE:IIINOS" ], [ "T4a", "NX", "M0", "9", "*", "VALUE:IIINOS" ], [ "T4b", "N0", "M0", "1", "*", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "2", "*", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "3", "*", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "4", "*", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "9", "*", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "1", "*", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "2", "*", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "3", "*", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "4", "*", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "9", "*", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "1", "*", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "2", "*", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "3", "*", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "4", "*", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "9", "*", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "1", "*", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "2", "*", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "3", "*", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "4", "*", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "9", "*", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "1", "*", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "2", "*", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "3", "*", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "4", "*", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "9", "*", "VALUE:IIIC" ], [ "T4NOS", "N0", "M0", "1", "*", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "2", "*", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "3", "*", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "4", "*", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "9", "*", "VALUE:IIIA" ], [ "T4NOS", "N1", "M0", "1", "*", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "2", "*", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "3", "*", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "4", "*", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "9", "*", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "1", "*", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "2", "*", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "3", "*", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "4", "*", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "9", "*", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "1", "*", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "2", "*", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "3", "*", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "4", "*", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "9", "*", "VALUE:IIIC" ], [ "T4NOS", "NX", "M0", "1", "*", "VALUE:IIINOS" ], [ "T4NOS", "NX", "M0", "2", "*", "VALUE:IIINOS" ], [ "T4NOS", "NX", "M0", "3", "*", "VALUE:IIINOS" ], [ "T4NOS", "NX", "M0", "4", "*", "VALUE:IIINOS" ], [ "T4NOS", "NX", "M0", "9", "*", "VALUE:IIINOS" ], [ "TX", "N0", "M0", "1", "*", "VALUE:UNK" ], [ "TX", "N0", "M0", "2", "*", "VALUE:UNK" ], [ "TX", "N0", "M0", "3", "*", "VALUE:UNK" ], [ "TX", "N0", "M0", "4", "*", "VALUE:UNK" ], [ "TX", "N0", "M0", "9", "*", "VALUE:UNK" ], [ "TX", "N1", "M0", "1", "*", "VALUE:UNK" ], [ "TX", "N1", "M0", "2", "*", "VALUE:UNK" ], [ "TX", "N1", "M0", "3", "*", "VALUE:UNK" ], [ "TX", "N1", "M0", "4", "*", "VALUE:UNK" ], [ "TX", "N1", "M0", "9", "*", "VALUE:UNK" ], [ "TX", "N2", "M0", "1", "*", "VALUE:IIINOS" ], [ "TX", "N2", "M0", "2", "*", "VALUE:IIINOS" ], [ "TX", "N2", "M0", "3", "*", "VALUE:IIINOS" ], [ "TX", "N2", "M0", "4", "*", "VALUE:IIINOS" ], [ "TX", "N2", "M0", "9", "*", "VALUE:IIINOS" ], [ "TX", "N3", "M0", "1", "*", "VALUE:IIIC" ], [ "TX", "N3", "M0", "2", "*", "VALUE:IIIC" ], [ "TX", "N3", "M0", "3", "*", "VALUE:IIIC" ], [ "TX", "N3", "M0", "4", "*", "VALUE:IIIC" ], [ "TX", "N3", "M0", "9", "*", "VALUE:IIIC" ], [ "TX", "NX", "M0", "1", "*", "VALUE:UNK" ], [ "TX", "NX", "M0", "2", "*", "VALUE:UNK" ], [ "TX", "NX", "M0", "3", "*", "VALUE:UNK" ], [ "TX", "NX", "M0", "4", "*", "VALUE:UNK" ], [ "TX", "NX", "M0", "9", "*", "VALUE:UNK" ], [ "T0", "N0", "M1", "1", "*", "VALUE:IV" ], [ "T0", "N0", "M1", "2", "*", "VALUE:IV" ], [ "T0", "N0", "M1", "3", "*", "VALUE:IV" ], [ "T0", "N0", "M1", "4", "*", "VALUE:IV" ], [ "T0", "N0", "M1", "9", "*", "VALUE:IV" ], [ "T0", "N1", "M1", "1", "*", "VALUE:IV" ], [ "T0", "N1", "M1", "2", "*", "VALUE:IV" ], [ "T0", "N1", "M1", "3", "*", "VALUE:IV" ], [ "T0", "N1", "M1", "4", "*", "VALUE:IV" ], [ "T0", "N1", "M1", "9", "*", "VALUE:IV" ], [ "T0", "N2", "M1", "1", "*", "VALUE:IV" ], [ "T0", "N2", "M1", "2", "*", "VALUE:IV" ], [ "T0", "N2", "M1", "3", "*", "VALUE:IV" ], [ "T0", "N2", "M1", "4", "*", "VALUE:IV" ], [ "T0", "N2", "M1", "9", "*", "VALUE:IV" ], [ "T0", "N3", "M1", "1", "*", "VALUE:IV" ], [ "T0", "N3", "M1", "2", "*", "VALUE:IV" ], [ "T0", "N3", "M1", "3", "*", "VALUE:IV" ], [ "T0", "N3", "M1", "4", "*", "VALUE:IV" ], [ "T0", "N3", "M1", "9", "*", "VALUE:IV" ], [ "T0", "NX", "M1", "1", "*", "VALUE:IV" ], [ "T0", "NX", "M1", "2", "*", "VALUE:IV" ], [ "T0", "NX", "M1", "3", "*", "VALUE:IV" ], [ "T0", "NX", "M1", "4", "*", "VALUE:IV" ], [ "T0", "NX", "M1", "9", "*", "VALUE:IV" ], [ "Tis", "N0", "M1", "1", "*", "ERROR:" ], [ "Tis", "N0", "M1", "2", "*", "ERROR:" ], [ "Tis", "N0", "M1", "3", "*", "ERROR:" ], [ "Tis", "N0", "M1", "4", "*", "ERROR:" ], [ "Tis", "N0", "M1", "9", "*", "ERROR:" ], [ "Tis", "N1", "M1", "1", "*", "ERROR:" ], [ "Tis", "N1", "M1", "2", "*", "ERROR:" ], [ "Tis", "N1", "M1", "3", "*", "ERROR:" ], [ "Tis", "N1", "M1", "4", "*", "ERROR:" ], [ "Tis", "N1", "M1", "9", "*", "ERROR:" ], [ "Tis", "N2", "M1", "1", "*", "ERROR:" ], [ "Tis", "N2", "M1", "2", "*", "ERROR:" ], [ "Tis", "N2", "M1", "3", "*", "ERROR:" ], [ "Tis", "N2", "M1", "4", "*", "ERROR:" ], [ "Tis", "N2", "M1", "9", "*", "ERROR:" ], [ "Tis", "N3", "M1", "1", "*", "ERROR:" ], [ "Tis", "N3", "M1", "2", "*", "ERROR:" ], [ "Tis", "N3", "M1", "3", "*", "ERROR:" ], [ "Tis", "N3", "M1", "4", "*", "ERROR:" ], [ "Tis", "N3", "M1", "9", "*", "ERROR:" ], [ "Tis", "NX", "M1", "1", "*", "ERROR:" ], [ "Tis", "NX", "M1", "2", "*", "ERROR:" ], [ "Tis", "NX", "M1", "3", "*", "ERROR:" ], [ "Tis", "NX", "M1", "4", "*", "ERROR:" ], [ "Tis", "NX", "M1", "9", "*", "ERROR:" ], [ "T1a", "N0", "M1", "1", "*", "VALUE:IV" ], [ "T1a", "N0", "M1", "2", "*", "VALUE:IV" ], [ "T1a", "N0", "M1", "3", "*", "VALUE:IV" ], [ "T1a", "N0", "M1", "4", "*", "VALUE:IV" ], [ "T1a", "N0", "M1", "9", "*", "VALUE:IV" ], [ "T1a", "N1", "M1", "1", "*", "VALUE:IV" ], [ "T1a", "N1", "M1", "2", "*", "VALUE:IV" ], [ "T1a", "N1", "M1", "3", "*", "VALUE:IV" ], [ "T1a", "N1", "M1", "4", "*", "VALUE:IV" ], [ "T1a", "N1", "M1", "9", "*", "VALUE:IV" ], [ "T1a", "N2", "M1", "1", "*", "VALUE:IV" ], [ "T1a", "N2", "M1", "2", "*", "VALUE:IV" ], [ "T1a", "N2", "M1", "3", "*", "VALUE:IV" ], [ "T1a", "N2", "M1", "4", "*", "VALUE:IV" ], [ "T1a", "N2", "M1", "9", "*", "VALUE:IV" ], [ "T1a", "N3", "M1", "1", "*", "VALUE:IV" ], [ "T1a", "N3", "M1", "2", "*", "VALUE:IV" ], [ "T1a", "N3", "M1", "3", "*", "VALUE:IV" ], [ "T1a", "N3", "M1", "4", "*", "VALUE:IV" ], [ "T1a", "N3", "M1", "9", "*", "VALUE:IV" ], [ "T1a", "NX", "M1", "1", "*", "VALUE:IV" ], [ "T1a", "NX", "M1", "2", "*", "VALUE:IV" ], [ "T1a", "NX", "M1", "3", "*", "VALUE:IV" ], [ "T1a", "NX", "M1", "4", "*", "VALUE:IV" ], [ "T1a", "NX", "M1", "9", "*", "VALUE:IV" ], [ "T1b", "N0", "M1", "1", "*", "VALUE:IV" ], [ "T1b", "N0", "M1", "2", "*", "VALUE:IV" ], [ "T1b", "N0", "M1", "3", "*", "VALUE:IV" ], [ "T1b", "N0", "M1", "4", "*", "VALUE:IV" ], [ "T1b", "N0", "M1", "9", "*", "VALUE:IV" ], [ "T1b", "N1", "M1", "1", "*", "VALUE:IV" ], [ "T1b", "N1", "M1", "2", "*", "VALUE:IV" ], [ "T1b", "N1", "M1", "3", "*", "VALUE:IV" ], [ "T1b", "N1", "M1", "4", "*", "VALUE:IV" ], [ "T1b", "N1", "M1", "9", "*", "VALUE:IV" ], [ "T1b", "N2", "M1", "1", "*", "VALUE:IV" ], [ "T1b", "N2", "M1", "2", "*", "VALUE:IV" ], [ "T1b", "N2", "M1", "3", "*", "VALUE:IV" ], [ "T1b", "N2", "M1", "4", "*", "VALUE:IV" ], [ "T1b", "N2", "M1", "9", "*", "VALUE:IV" ], [ "T1b", "N3", "M1", "1", "*", "VALUE:IV" ], [ "T1b", "N3", "M1", "2", "*", "VALUE:IV" ], [ "T1b", "N3", "M1", "3", "*", "VALUE:IV" ], [ "T1b", "N3", "M1", "4", "*", "VALUE:IV" ], [ "T1b", "N3", "M1", "9", "*", "VALUE:IV" ], [ "T1b", "NX", "M1", "1", "*", "VALUE:IV" ], [ "T1b", "NX", "M1", "2", "*", "VALUE:IV" ], [ "T1b", "NX", "M1", "3", "*", "VALUE:IV" ], [ "T1b", "NX", "M1", "4", "*", "VALUE:IV" ], [ "T1b", "NX", "M1", "9", "*", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "1", "*", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "2", "*", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "3", "*", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "4", "*", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "9", "*", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "1", "*", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "2", "*", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "3", "*", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "4", "*", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "9", "*", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "1", "*", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "2", "*", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "3", "*", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "4", "*", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "9", "*", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "1", "*", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "2", "*", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "3", "*", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "4", "*", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "9", "*", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "1", "*", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "2", "*", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "3", "*", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "4", "*", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "9", "*", "VALUE:IV" ], [ "T2", "N0", "M1", "1", "*", "VALUE:IV" ], [ "T2", "N0", "M1", "2", "*", "VALUE:IV" ], [ "T2", "N0", "M1", "3", "*", "VALUE:IV" ], [ "T2", "N0", "M1", "4", "*", "VALUE:IV" ], [ "T2", "N0", "M1", "9", "*", "VALUE:IV" ], [ "T2", "N1", "M1", "1", "*", "VALUE:IV" ], [ "T2", "N1", "M1", "2", "*", "VALUE:IV" ], [ "T2", "N1", "M1", "3", "*", "VALUE:IV" ], [ "T2", "N1", "M1", "4", "*", "VALUE:IV" ], [ "T2", "N1", "M1", "9", "*", "VALUE:IV" ], [ "T2", "N2", "M1", "1", "*", "VALUE:IV" ], [ "T2", "N2", "M1", "2", "*", "VALUE:IV" ], [ "T2", "N2", "M1", "3", "*", "VALUE:IV" ], [ "T2", "N2", "M1", "4", "*", "VALUE:IV" ], [ "T2", "N2", "M1", "9", "*", "VALUE:IV" ], [ "T2", "N3", "M1", "1", "*", "VALUE:IV" ], [ "T2", "N3", "M1", "2", "*", "VALUE:IV" ], [ "T2", "N3", "M1", "3", "*", "VALUE:IV" ], [ "T2", "N3", "M1", "4", "*", "VALUE:IV" ], [ "T2", "N3", "M1", "9", "*", "VALUE:IV" ], [ "T2", "NX", "M1", "1", "*", "VALUE:IV" ], [ "T2", "NX", "M1", "2", "*", "VALUE:IV" ], [ "T2", "NX", "M1", "3", "*", "VALUE:IV" ], [ "T2", "NX", "M1", "4", "*", "VALUE:IV" ], [ "T2", "NX", "M1", "9", "*", "VALUE:IV" ], [ "T3", "N0", "M1", "1", "*", "VALUE:IV" ], [ "T3", "N0", "M1", "2", "*", "VALUE:IV" ], [ "T3", "N0", "M1", "3", "*", "VALUE:IV" ], [ "T3", "N0", "M1", "4", "*", "VALUE:IV" ], [ "T3", "N0", "M1", "9", "*", "VALUE:IV" ], [ "T3", "N1", "M1", "1", "*", "VALUE:IV" ], [ "T3", "N1", "M1", "2", "*", "VALUE:IV" ], [ "T3", "N1", "M1", "3", "*", "VALUE:IV" ], [ "T3", "N1", "M1", "4", "*", "VALUE:IV" ], [ "T3", "N1", "M1", "9", "*", "VALUE:IV" ], [ "T3", "N2", "M1", "1", "*", "VALUE:IV" ], [ "T3", "N2", "M1", "2", "*", "VALUE:IV" ], [ "T3", "N2", "M1", "3", "*", "VALUE:IV" ], [ "T3", "N2", "M1", "4", "*", "VALUE:IV" ], [ "T3", "N2", "M1", "9", "*", "VALUE:IV" ], [ "T3", "N3", "M1", "1", "*", "VALUE:IV" ], [ "T3", "N3", "M1", "2", "*", "VALUE:IV" ], [ "T3", "N3", "M1", "3", "*", "VALUE:IV" ], [ "T3", "N3", "M1", "4", "*", "VALUE:IV" ], [ "T3", "N3", "M1", "9", "*", "VALUE:IV" ], [ "T3", "NX", "M1", "1", "*", "VALUE:IV" ], [ "T3", "NX", "M1", "2", "*", "VALUE:IV" ], [ "T3", "NX", "M1", "3", "*", "VALUE:IV" ], [ "T3", "NX", "M1", "4", "*", "VALUE:IV" ], [ "T3", "NX", "M1", "9", "*", "VALUE:IV" ], [ "T4a", "N0", "M1", "1", "*", "VALUE:IV" ], [ "T4a", "N0", "M1", "2", "*", "VALUE:IV" ], [ "T4a", "N0", "M1", "3", "*", "VALUE:IV" ], [ "T4a", "N0", "M1", "4", "*", "VALUE:IV" ], [ "T4a", "N0", "M1", "9", "*", "VALUE:IV" ], [ "T4a", "N1", "M1", "1", "*", "VALUE:IV" ], [ "T4a", "N1", "M1", "2", "*", "VALUE:IV" ], [ "T4a", "N1", "M1", "3", "*", "VALUE:IV" ], [ "T4a", "N1", "M1", "4", "*", "VALUE:IV" ], [ "T4a", "N1", "M1", "9", "*", "VALUE:IV" ], [ "T4a", "N2", "M1", "1", "*", "VALUE:IV" ], [ "T4a", "N2", "M1", "2", "*", "VALUE:IV" ], [ "T4a", "N2", "M1", "3", "*", "VALUE:IV" ], [ "T4a", "N2", "M1", "4", "*", "VALUE:IV" ], [ "T4a", "N2", "M1", "9", "*", "VALUE:IV" ], [ "T4a", "N3", "M1", "1", "*", "VALUE:IV" ], [ "T4a", "N3", "M1", "2", "*", "VALUE:IV" ], [ "T4a", "N3", "M1", "3", "*", "VALUE:IV" ], [ "T4a", "N3", "M1", "4", "*", "VALUE:IV" ], [ "T4a", "N3", "M1", "9", "*", "VALUE:IV" ], [ "T4a", "NX", "M1", "1", "*", "VALUE:IV" ], [ "T4a", "NX", "M1", "2", "*", "VALUE:IV" ], [ "T4a", "NX", "M1", "3", "*", "VALUE:IV" ], [ "T4a", "NX", "M1", "4", "*", "VALUE:IV" ], [ "T4a", "NX", "M1", "9", "*", "VALUE:IV" ], [ "T4b", "N0", "M1", "1", "*", "VALUE:IV" ], [ "T4b", "N0", "M1", "2", "*", "VALUE:IV" ], [ "T4b", "N0", "M1", "3", "*", "VALUE:IV" ], [ "T4b", "N0", "M1", "4", "*", "VALUE:IV" ], [ "T4b", "N0", "M1", "9", "*", "VALUE:IV" ], [ "T4b", "N1", "M1", "1", "*", "VALUE:IV" ], [ "T4b", "N1", "M1", "2", "*", "VALUE:IV" ], [ "T4b", "N1", "M1", "3", "*", "VALUE:IV" ], [ "T4b", "N1", "M1", "4", "*", "VALUE:IV" ], [ "T4b", "N1", "M1", "9", "*", "VALUE:IV" ], [ "T4b", "N2", "M1", "1", "*", "VALUE:IV" ], [ "T4b", "N2", "M1", "2", "*", "VALUE:IV" ], [ "T4b", "N2", "M1", "3", "*", "VALUE:IV" ], [ "T4b", "N2", "M1", "4", "*", "VALUE:IV" ], [ "T4b", "N2", "M1", "9", "*", "VALUE:IV" ], [ "T4b", "N3", "M1", "1", "*", "VALUE:IV" ], [ "T4b", "N3", "M1", "2", "*", "VALUE:IV" ], [ "T4b", "N3", "M1", "3", "*", "VALUE:IV" ], [ "T4b", "N3", "M1", "4", "*", "VALUE:IV" ], [ "T4b", "N3", "M1", "9", "*", "VALUE:IV" ], [ "T4b", "NX", "M1", "1", "*", "VALUE:IV" ], [ "T4b", "NX", "M1", "2", "*", "VALUE:IV" ], [ "T4b", "NX", "M1", "3", "*", "VALUE:IV" ], [ "T4b", "NX", "M1", "4", "*", "VALUE:IV" ], [ "T4b", "NX", "M1", "9", "*", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "1", "*", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "2", "*", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "3", "*", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "4", "*", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "9", "*", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "1", "*", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "2", "*", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "3", "*", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "4", "*", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "9", "*", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "1", "*", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "2", "*", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "3", "*", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "4", "*", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "9", "*", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "1", "*", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "2", "*", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "3", "*", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "4", "*", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "9", "*", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "1", "*", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "2", "*", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "3", "*", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "4", "*", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "9", "*", "VALUE:IV" ], [ "TX", "N0", "M1", "1", "*", "VALUE:IV" ], [ "TX", "N0", "M1", "2", "*", "VALUE:IV" ], [ "TX", "N0", "M1", "3", "*", "VALUE:IV" ], [ "TX", "N0", "M1", "4", "*", "VALUE:IV" ], [ "TX", "N0", "M1", "9", "*", "VALUE:IV" ], [ "TX", "N1", "M1", "1", "*", "VALUE:IV" ], [ "TX", "N1", "M1", "2", "*", "VALUE:IV" ], [ "TX", "N1", "M1", "3", "*", "VALUE:IV" ], [ "TX", "N1", "M1", "4", "*", "VALUE:IV" ], [ "TX", "N1", "M1", "9", "*", "VALUE:IV" ], [ "TX", "N2", "M1", "1", "*", "VALUE:IV" ], [ "TX", "N2", "M1", "2", "*", "VALUE:IV" ], [ "TX", "N2", "M1", "3", "*", "VALUE:IV" ], [ "TX", "N2", "M1", "4", "*", "VALUE:IV" ], [ "TX", "N2", "M1", "9", "*", "VALUE:IV" ], [ "TX", "N3", "M1", "1", "*", "VALUE:IV" ], [ "TX", "N3", "M1", "2", "*", "VALUE:IV" ], [ "TX", "N3", "M1", "3", "*", "VALUE:IV" ], [ "TX", "N3", "M1", "4", "*", "VALUE:IV" ], [ "TX", "N3", "M1", "9", "*", "VALUE:IV" ], [ "TX", "NX", "M1", "1", "*", "VALUE:IV" ], [ "TX", "NX", "M1", "2", "*", "VALUE:IV" ], [ "TX", "NX", "M1", "3", "*", "VALUE:IV" ], [ "TX", "NX", "M1", "4", "*", "VALUE:IV" ], [ "TX", "NX", "M1", "9", "*", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xia.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xia.json deleted file mode 100644 index 54686e932..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_squamous_xia.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "ajcctnm7_stage_squamous_xia", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC TNM7 Stage Squamous", - "title" : "AJCC TNM 7 Stage Squamous", - "last_modified" : "2015-05-27T16:19:01.549Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "1", "ERROR:" ], [ "T0", "N0", "M0", "2", "ERROR:" ], [ "T0", "N0", "M0", "3", "ERROR:" ], [ "T0", "N0", "M0", "4", "ERROR:" ], [ "T0", "N0", "M0", "9", "ERROR:" ], [ "T0", "N0", "M1", "1", "VALUE:IV" ], [ "T0", "N0", "M1", "2", "VALUE:IV" ], [ "T0", "N0", "M1", "3", "VALUE:IV" ], [ "T0", "N0", "M1", "4", "VALUE:IV" ], [ "T0", "N0", "M1", "9", "VALUE:IV" ], [ "T0", "N1", "M0", "1", "VALUE:UNK" ], [ "T0", "N1", "M0", "2", "VALUE:UNK" ], [ "T0", "N1", "M0", "3", "VALUE:UNK" ], [ "T0", "N1", "M0", "4", "VALUE:UNK" ], [ "T0", "N1", "M0", "9", "VALUE:UNK" ], [ "T0", "N1", "M1", "1", "VALUE:IV" ], [ "T0", "N1", "M1", "2", "VALUE:IV" ], [ "T0", "N1", "M1", "3", "VALUE:IV" ], [ "T0", "N1", "M1", "4", "VALUE:IV" ], [ "T0", "N1", "M1", "9", "VALUE:IV" ], [ "T0", "N2", "M0", "1", "VALUE:IIINOS" ], [ "T0", "N2", "M0", "2", "VALUE:IIINOS" ], [ "T0", "N2", "M0", "3", "VALUE:IIINOS" ], [ "T0", "N2", "M0", "4", "VALUE:IIINOS" ], [ "T0", "N2", "M0", "9", "VALUE:IIINOS" ], [ "T0", "N2", "M1", "1", "VALUE:IV" ], [ "T0", "N2", "M1", "2", "VALUE:IV" ], [ "T0", "N2", "M1", "3", "VALUE:IV" ], [ "T0", "N2", "M1", "4", "VALUE:IV" ], [ "T0", "N2", "M1", "9", "VALUE:IV" ], [ "T0", "N3", "M0", "1", "VALUE:IIIC" ], [ "T0", "N3", "M0", "2", "VALUE:IIIC" ], [ "T0", "N3", "M0", "3", "VALUE:IIIC" ], [ "T0", "N3", "M0", "4", "VALUE:IIIC" ], [ "T0", "N3", "M0", "9", "VALUE:IIIC" ], [ "T0", "N3", "M1", "1", "VALUE:IV" ], [ "T0", "N3", "M1", "2", "VALUE:IV" ], [ "T0", "N3", "M1", "3", "VALUE:IV" ], [ "T0", "N3", "M1", "4", "VALUE:IV" ], [ "T0", "N3", "M1", "9", "VALUE:IV" ], [ "T0", "NX", "M0", "1", "VALUE:UNK" ], [ "T0", "NX", "M0", "2", "VALUE:UNK" ], [ "T0", "NX", "M0", "3", "VALUE:UNK" ], [ "T0", "NX", "M0", "4", "VALUE:UNK" ], [ "T0", "NX", "M0", "9", "VALUE:UNK" ], [ "T0", "NX", "M1", "1", "VALUE:IV" ], [ "T0", "NX", "M1", "2", "VALUE:IV" ], [ "T0", "NX", "M1", "3", "VALUE:IV" ], [ "T0", "NX", "M1", "4", "VALUE:IV" ], [ "T0", "NX", "M1", "9", "VALUE:IV" ], [ "T1a", "N0", "M0", "1", "VALUE:IA" ], [ "T1a", "N0", "M0", "2", "VALUE:IB" ], [ "T1a", "N0", "M0", "3", "VALUE:IB" ], [ "T1a", "N0", "M0", "4", "VALUE:IB" ], [ "T1a", "N0", "M0", "9", "VALUE:IA" ], [ "T1a", "N0", "M1", "1", "VALUE:IV" ], [ "T1a", "N0", "M1", "2", "VALUE:IV" ], [ "T1a", "N0", "M1", "3", "VALUE:IV" ], [ "T1a", "N0", "M1", "4", "VALUE:IV" ], [ "T1a", "N0", "M1", "9", "VALUE:IV" ], [ "T1a", "N1", "M0", "1", "VALUE:IIB" ], [ "T1a", "N1", "M0", "2", "VALUE:IIB" ], [ "T1a", "N1", "M0", "3", "VALUE:IIB" ], [ "T1a", "N1", "M0", "4", "VALUE:IIB" ], [ "T1a", "N1", "M0", "9", "VALUE:IIB" ], [ "T1a", "N1", "M1", "1", "VALUE:IV" ], [ "T1a", "N1", "M1", "2", "VALUE:IV" ], [ "T1a", "N1", "M1", "3", "VALUE:IV" ], [ "T1a", "N1", "M1", "4", "VALUE:IV" ], [ "T1a", "N1", "M1", "9", "VALUE:IV" ], [ "T1a", "N2", "M0", "1", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "2", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "3", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "4", "VALUE:IIIA" ], [ "T1a", "N2", "M0", "9", "VALUE:IIIA" ], [ "T1a", "N2", "M1", "1", "VALUE:IV" ], [ "T1a", "N2", "M1", "2", "VALUE:IV" ], [ "T1a", "N2", "M1", "3", "VALUE:IV" ], [ "T1a", "N2", "M1", "4", "VALUE:IV" ], [ "T1a", "N2", "M1", "9", "VALUE:IV" ], [ "T1a", "N3", "M0", "1", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "2", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "3", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "4", "VALUE:IIIC" ], [ "T1a", "N3", "M0", "9", "VALUE:IIIC" ], [ "T1a", "N3", "M1", "1", "VALUE:IV" ], [ "T1a", "N3", "M1", "2", "VALUE:IV" ], [ "T1a", "N3", "M1", "3", "VALUE:IV" ], [ "T1a", "N3", "M1", "4", "VALUE:IV" ], [ "T1a", "N3", "M1", "9", "VALUE:IV" ], [ "T1a", "NX", "M0", "1", "VALUE:UNK" ], [ "T1a", "NX", "M0", "2", "VALUE:UNK" ], [ "T1a", "NX", "M0", "3", "VALUE:UNK" ], [ "T1a", "NX", "M0", "4", "VALUE:UNK" ], [ "T1a", "NX", "M0", "9", "VALUE:UNK" ], [ "T1a", "NX", "M1", "1", "VALUE:IV" ], [ "T1a", "NX", "M1", "2", "VALUE:IV" ], [ "T1a", "NX", "M1", "3", "VALUE:IV" ], [ "T1a", "NX", "M1", "4", "VALUE:IV" ], [ "T1a", "NX", "M1", "9", "VALUE:IV" ], [ "T1b", "N0", "M0", "1", "VALUE:IA" ], [ "T1b", "N0", "M0", "2", "VALUE:IB" ], [ "T1b", "N0", "M0", "3", "VALUE:IB" ], [ "T1b", "N0", "M0", "4", "VALUE:IB" ], [ "T1b", "N0", "M0", "9", "VALUE:IA" ], [ "T1b", "N0", "M1", "1", "VALUE:IV" ], [ "T1b", "N0", "M1", "2", "VALUE:IV" ], [ "T1b", "N0", "M1", "3", "VALUE:IV" ], [ "T1b", "N0", "M1", "4", "VALUE:IV" ], [ "T1b", "N0", "M1", "9", "VALUE:IV" ], [ "T1b", "N1", "M0", "1", "VALUE:IIB" ], [ "T1b", "N1", "M0", "2", "VALUE:IIB" ], [ "T1b", "N1", "M0", "3", "VALUE:IIB" ], [ "T1b", "N1", "M0", "4", "VALUE:IIB" ], [ "T1b", "N1", "M0", "9", "VALUE:IIB" ], [ "T1b", "N1", "M1", "1", "VALUE:IV" ], [ "T1b", "N1", "M1", "2", "VALUE:IV" ], [ "T1b", "N1", "M1", "3", "VALUE:IV" ], [ "T1b", "N1", "M1", "4", "VALUE:IV" ], [ "T1b", "N1", "M1", "9", "VALUE:IV" ], [ "T1b", "N2", "M0", "1", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "2", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "3", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "4", "VALUE:IIIA" ], [ "T1b", "N2", "M0", "9", "VALUE:IIIA" ], [ "T1b", "N2", "M1", "1", "VALUE:IV" ], [ "T1b", "N2", "M1", "2", "VALUE:IV" ], [ "T1b", "N2", "M1", "3", "VALUE:IV" ], [ "T1b", "N2", "M1", "4", "VALUE:IV" ], [ "T1b", "N2", "M1", "9", "VALUE:IV" ], [ "T1b", "N3", "M0", "1", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "2", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "3", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "4", "VALUE:IIIC" ], [ "T1b", "N3", "M0", "9", "VALUE:IIIC" ], [ "T1b", "N3", "M1", "1", "VALUE:IV" ], [ "T1b", "N3", "M1", "2", "VALUE:IV" ], [ "T1b", "N3", "M1", "3", "VALUE:IV" ], [ "T1b", "N3", "M1", "4", "VALUE:IV" ], [ "T1b", "N3", "M1", "9", "VALUE:IV" ], [ "T1b", "NX", "M0", "1", "VALUE:UNK" ], [ "T1b", "NX", "M0", "2", "VALUE:UNK" ], [ "T1b", "NX", "M0", "3", "VALUE:UNK" ], [ "T1b", "NX", "M0", "4", "VALUE:UNK" ], [ "T1b", "NX", "M0", "9", "VALUE:UNK" ], [ "T1b", "NX", "M1", "1", "VALUE:IV" ], [ "T1b", "NX", "M1", "2", "VALUE:IV" ], [ "T1b", "NX", "M1", "3", "VALUE:IV" ], [ "T1b", "NX", "M1", "4", "VALUE:IV" ], [ "T1b", "NX", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N0", "M0", "1", "VALUE:IA" ], [ "T1NOS", "N0", "M0", "2", "VALUE:IB" ], [ "T1NOS", "N0", "M0", "3", "VALUE:IB" ], [ "T1NOS", "N0", "M0", "4", "VALUE:IB" ], [ "T1NOS", "N0", "M0", "9", "VALUE:IA" ], [ "T1NOS", "N0", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "4", "VALUE:IV" ], [ "T1NOS", "N0", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N1", "M0", "1", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "2", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "3", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "4", "VALUE:IIB" ], [ "T1NOS", "N1", "M0", "9", "VALUE:IIB" ], [ "T1NOS", "N1", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "4", "VALUE:IV" ], [ "T1NOS", "N1", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N2", "M0", "1", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "2", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "3", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "4", "VALUE:IIIA" ], [ "T1NOS", "N2", "M0", "9", "VALUE:IIIA" ], [ "T1NOS", "N2", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "4", "VALUE:IV" ], [ "T1NOS", "N2", "M1", "9", "VALUE:IV" ], [ "T1NOS", "N3", "M0", "1", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "2", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "3", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "4", "VALUE:IIIC" ], [ "T1NOS", "N3", "M0", "9", "VALUE:IIIC" ], [ "T1NOS", "N3", "M1", "1", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "2", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "3", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "4", "VALUE:IV" ], [ "T1NOS", "N3", "M1", "9", "VALUE:IV" ], [ "T1NOS", "NX", "M0", "1", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "2", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "3", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "4", "VALUE:UNK" ], [ "T1NOS", "NX", "M0", "9", "VALUE:UNK" ], [ "T1NOS", "NX", "M1", "1", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "2", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "3", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "4", "VALUE:IV" ], [ "T1NOS", "NX", "M1", "9", "VALUE:IV" ], [ "T2", "N0", "M0", "1", "VALUE:IB" ], [ "T2", "N0", "M0", "2", "VALUE:IIA" ], [ "T2", "N0", "M0", "3", "VALUE:IIA" ], [ "T2", "N0", "M0", "4", "VALUE:IIA" ], [ "T2", "N0", "M0", "9", "VALUE:IB" ], [ "T2", "N0", "M1", "1", "VALUE:IV" ], [ "T2", "N0", "M1", "2", "VALUE:IV" ], [ "T2", "N0", "M1", "3", "VALUE:IV" ], [ "T2", "N0", "M1", "4", "VALUE:IV" ], [ "T2", "N0", "M1", "9", "VALUE:IV" ], [ "T2", "N1", "M0", "1", "VALUE:IIB" ], [ "T2", "N1", "M0", "2", "VALUE:IIB" ], [ "T2", "N1", "M0", "3", "VALUE:IIB" ], [ "T2", "N1", "M0", "4", "VALUE:IIB" ], [ "T2", "N1", "M0", "9", "VALUE:IIB" ], [ "T2", "N1", "M1", "1", "VALUE:IV" ], [ "T2", "N1", "M1", "2", "VALUE:IV" ], [ "T2", "N1", "M1", "3", "VALUE:IV" ], [ "T2", "N1", "M1", "4", "VALUE:IV" ], [ "T2", "N1", "M1", "9", "VALUE:IV" ], [ "T2", "N2", "M0", "1", "VALUE:IIIA" ], [ "T2", "N2", "M0", "2", "VALUE:IIIA" ], [ "T2", "N2", "M0", "3", "VALUE:IIIA" ], [ "T2", "N2", "M0", "4", "VALUE:IIIA" ], [ "T2", "N2", "M0", "9", "VALUE:IIIA" ], [ "T2", "N2", "M1", "1", "VALUE:IV" ], [ "T2", "N2", "M1", "2", "VALUE:IV" ], [ "T2", "N2", "M1", "3", "VALUE:IV" ], [ "T2", "N2", "M1", "4", "VALUE:IV" ], [ "T2", "N2", "M1", "9", "VALUE:IV" ], [ "T2", "N3", "M0", "1", "VALUE:IIIC" ], [ "T2", "N3", "M0", "2", "VALUE:IIIC" ], [ "T2", "N3", "M0", "3", "VALUE:IIIC" ], [ "T2", "N3", "M0", "4", "VALUE:IIIC" ], [ "T2", "N3", "M0", "9", "VALUE:IIIC" ], [ "T2", "N3", "M1", "1", "VALUE:IV" ], [ "T2", "N3", "M1", "2", "VALUE:IV" ], [ "T2", "N3", "M1", "3", "VALUE:IV" ], [ "T2", "N3", "M1", "4", "VALUE:IV" ], [ "T2", "N3", "M1", "9", "VALUE:IV" ], [ "T2", "NX", "M0", "1", "VALUE:UNK" ], [ "T2", "NX", "M0", "2", "VALUE:UNK" ], [ "T2", "NX", "M0", "3", "VALUE:UNK" ], [ "T2", "NX", "M0", "4", "VALUE:UNK" ], [ "T2", "NX", "M0", "9", "VALUE:UNK" ], [ "T2", "NX", "M1", "1", "VALUE:IV" ], [ "T2", "NX", "M1", "2", "VALUE:IV" ], [ "T2", "NX", "M1", "3", "VALUE:IV" ], [ "T2", "NX", "M1", "4", "VALUE:IV" ], [ "T2", "NX", "M1", "9", "VALUE:IV" ], [ "T3", "N0", "M0", "1", "VALUE:IB" ], [ "T3", "N0", "M0", "2", "VALUE:IIA" ], [ "T3", "N0", "M0", "3", "VALUE:IIA" ], [ "T3", "N0", "M0", "4", "VALUE:IIA" ], [ "T3", "N0", "M0", "9", "VALUE:IB" ], [ "T3", "N0", "M1", "1", "VALUE:IV" ], [ "T3", "N0", "M1", "2", "VALUE:IV" ], [ "T3", "N0", "M1", "3", "VALUE:IV" ], [ "T3", "N0", "M1", "4", "VALUE:IV" ], [ "T3", "N0", "M1", "9", "VALUE:IV" ], [ "T3", "N1", "M0", "1", "VALUE:IIIA" ], [ "T3", "N1", "M0", "2", "VALUE:IIIA" ], [ "T3", "N1", "M0", "3", "VALUE:IIIA" ], [ "T3", "N1", "M0", "4", "VALUE:IIIA" ], [ "T3", "N1", "M0", "9", "VALUE:IIIA" ], [ "T3", "N1", "M1", "1", "VALUE:IV" ], [ "T3", "N1", "M1", "2", "VALUE:IV" ], [ "T3", "N1", "M1", "3", "VALUE:IV" ], [ "T3", "N1", "M1", "4", "VALUE:IV" ], [ "T3", "N1", "M1", "9", "VALUE:IV" ], [ "T3", "N2", "M0", "1", "VALUE:IIIB" ], [ "T3", "N2", "M0", "2", "VALUE:IIIB" ], [ "T3", "N2", "M0", "3", "VALUE:IIIB" ], [ "T3", "N2", "M0", "4", "VALUE:IIIB" ], [ "T3", "N2", "M0", "9", "VALUE:IIIB" ], [ "T3", "N2", "M1", "1", "VALUE:IV" ], [ "T3", "N2", "M1", "2", "VALUE:IV" ], [ "T3", "N2", "M1", "3", "VALUE:IV" ], [ "T3", "N2", "M1", "4", "VALUE:IV" ], [ "T3", "N2", "M1", "9", "VALUE:IV" ], [ "T3", "N3", "M0", "1", "VALUE:IIIC" ], [ "T3", "N3", "M0", "2", "VALUE:IIIC" ], [ "T3", "N3", "M0", "3", "VALUE:IIIC" ], [ "T3", "N3", "M0", "4", "VALUE:IIIC" ], [ "T3", "N3", "M0", "9", "VALUE:IIIC" ], [ "T3", "N3", "M1", "1", "VALUE:IV" ], [ "T3", "N3", "M1", "2", "VALUE:IV" ], [ "T3", "N3", "M1", "3", "VALUE:IV" ], [ "T3", "N3", "M1", "4", "VALUE:IV" ], [ "T3", "N3", "M1", "9", "VALUE:IV" ], [ "T3", "NX", "M0", "1", "VALUE:UNK" ], [ "T3", "NX", "M0", "2", "VALUE:UNK" ], [ "T3", "NX", "M0", "3", "VALUE:UNK" ], [ "T3", "NX", "M0", "4", "VALUE:UNK" ], [ "T3", "NX", "M0", "9", "VALUE:UNK" ], [ "T3", "NX", "M1", "1", "VALUE:IV" ], [ "T3", "NX", "M1", "2", "VALUE:IV" ], [ "T3", "NX", "M1", "3", "VALUE:IV" ], [ "T3", "NX", "M1", "4", "VALUE:IV" ], [ "T3", "NX", "M1", "9", "VALUE:IV" ], [ "T4a", "N0", "M0", "1", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "2", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "3", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "4", "VALUE:IIIA" ], [ "T4a", "N0", "M0", "9", "VALUE:IIIA" ], [ "T4a", "N0", "M1", "1", "VALUE:IV" ], [ "T4a", "N0", "M1", "2", "VALUE:IV" ], [ "T4a", "N0", "M1", "3", "VALUE:IV" ], [ "T4a", "N0", "M1", "4", "VALUE:IV" ], [ "T4a", "N0", "M1", "9", "VALUE:IV" ], [ "T4a", "N1", "M0", "1", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "2", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "3", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "4", "VALUE:IIIC" ], [ "T4a", "N1", "M0", "9", "VALUE:IIIC" ], [ "T4a", "N1", "M1", "1", "VALUE:IV" ], [ "T4a", "N1", "M1", "2", "VALUE:IV" ], [ "T4a", "N1", "M1", "3", "VALUE:IV" ], [ "T4a", "N1", "M1", "4", "VALUE:IV" ], [ "T4a", "N1", "M1", "9", "VALUE:IV" ], [ "T4a", "N2", "M0", "1", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "2", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "3", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "4", "VALUE:IIIC" ], [ "T4a", "N2", "M0", "9", "VALUE:IIIC" ], [ "T4a", "N2", "M1", "1", "VALUE:IV" ], [ "T4a", "N2", "M1", "2", "VALUE:IV" ], [ "T4a", "N2", "M1", "3", "VALUE:IV" ], [ "T4a", "N2", "M1", "4", "VALUE:IV" ], [ "T4a", "N2", "M1", "9", "VALUE:IV" ], [ "T4a", "N3", "M0", "1", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "2", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "3", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "4", "VALUE:IIIC" ], [ "T4a", "N3", "M0", "9", "VALUE:IIIC" ], [ "T4a", "N3", "M1", "1", "VALUE:IV" ], [ "T4a", "N3", "M1", "2", "VALUE:IV" ], [ "T4a", "N3", "M1", "3", "VALUE:IV" ], [ "T4a", "N3", "M1", "4", "VALUE:IV" ], [ "T4a", "N3", "M1", "9", "VALUE:IV" ], [ "T4a", "NX", "M0", "1", "VALUE:IIINOS" ], [ "T4a", "NX", "M0", "2", "VALUE:IIINOS" ], [ "T4a", "NX", "M0", "3", "VALUE:IIINOS" ], [ "T4a", "NX", "M0", "4", "VALUE:IIINOS" ], [ "T4a", "NX", "M0", "9", "VALUE:IIINOS" ], [ "T4a", "NX", "M1", "1", "VALUE:IV" ], [ "T4a", "NX", "M1", "2", "VALUE:IV" ], [ "T4a", "NX", "M1", "3", "VALUE:IV" ], [ "T4a", "NX", "M1", "4", "VALUE:IV" ], [ "T4a", "NX", "M1", "9", "VALUE:IV" ], [ "T4b", "N0", "M0", "1", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "2", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "3", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "4", "VALUE:IIIC" ], [ "T4b", "N0", "M0", "9", "VALUE:IIIC" ], [ "T4b", "N0", "M1", "1", "VALUE:IV" ], [ "T4b", "N0", "M1", "2", "VALUE:IV" ], [ "T4b", "N0", "M1", "3", "VALUE:IV" ], [ "T4b", "N0", "M1", "4", "VALUE:IV" ], [ "T4b", "N0", "M1", "9", "VALUE:IV" ], [ "T4b", "N1", "M0", "1", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "2", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "3", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "4", "VALUE:IIIC" ], [ "T4b", "N1", "M0", "9", "VALUE:IIIC" ], [ "T4b", "N1", "M1", "1", "VALUE:IV" ], [ "T4b", "N1", "M1", "2", "VALUE:IV" ], [ "T4b", "N1", "M1", "3", "VALUE:IV" ], [ "T4b", "N1", "M1", "4", "VALUE:IV" ], [ "T4b", "N1", "M1", "9", "VALUE:IV" ], [ "T4b", "N2", "M0", "1", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "2", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "3", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "4", "VALUE:IIIC" ], [ "T4b", "N2", "M0", "9", "VALUE:IIIC" ], [ "T4b", "N2", "M1", "1", "VALUE:IV" ], [ "T4b", "N2", "M1", "2", "VALUE:IV" ], [ "T4b", "N2", "M1", "3", "VALUE:IV" ], [ "T4b", "N2", "M1", "4", "VALUE:IV" ], [ "T4b", "N2", "M1", "9", "VALUE:IV" ], [ "T4b", "N3", "M0", "1", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "2", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "3", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "4", "VALUE:IIIC" ], [ "T4b", "N3", "M0", "9", "VALUE:IIIC" ], [ "T4b", "N3", "M1", "1", "VALUE:IV" ], [ "T4b", "N3", "M1", "2", "VALUE:IV" ], [ "T4b", "N3", "M1", "3", "VALUE:IV" ], [ "T4b", "N3", "M1", "4", "VALUE:IV" ], [ "T4b", "N3", "M1", "9", "VALUE:IV" ], [ "T4b", "NX", "M0", "1", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "2", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "3", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "4", "VALUE:IIIC" ], [ "T4b", "NX", "M0", "9", "VALUE:IIIC" ], [ "T4b", "NX", "M1", "1", "VALUE:IV" ], [ "T4b", "NX", "M1", "2", "VALUE:IV" ], [ "T4b", "NX", "M1", "3", "VALUE:IV" ], [ "T4b", "NX", "M1", "4", "VALUE:IV" ], [ "T4b", "NX", "M1", "9", "VALUE:IV" ], [ "T4NOS", "N0", "M0", "1", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "2", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "3", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "4", "VALUE:IIIA" ], [ "T4NOS", "N0", "M0", "9", "VALUE:IIIA" ], [ "T4NOS", "N0", "M1", "1", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "2", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "3", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "4", "VALUE:IV" ], [ "T4NOS", "N0", "M1", "9", "VALUE:IV" ], [ "T4NOS", "N1", "M0", "1", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "2", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "3", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "4", "VALUE:IIIC" ], [ "T4NOS", "N1", "M0", "9", "VALUE:IIIC" ], [ "T4NOS", "N1", "M1", "1", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "2", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "3", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "4", "VALUE:IV" ], [ "T4NOS", "N1", "M1", "9", "VALUE:IV" ], [ "T4NOS", "N2", "M0", "1", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "2", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "3", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "4", "VALUE:IIIC" ], [ "T4NOS", "N2", "M0", "9", "VALUE:IIIC" ], [ "T4NOS", "N2", "M1", "1", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "2", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "3", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "4", "VALUE:IV" ], [ "T4NOS", "N2", "M1", "9", "VALUE:IV" ], [ "T4NOS", "N3", "M0", "1", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "2", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "3", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "4", "VALUE:IIIC" ], [ "T4NOS", "N3", "M0", "9", "VALUE:IIIC" ], [ "T4NOS", "N3", "M1", "1", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "2", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "3", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "4", "VALUE:IV" ], [ "T4NOS", "N3", "M1", "9", "VALUE:IV" ], [ "T4NOS", "NX", "M0", "1", "VALUE:IIINOS" ], [ "T4NOS", "NX", "M0", "2", "VALUE:IIINOS" ], [ "T4NOS", "NX", "M0", "3", "VALUE:IIINOS" ], [ "T4NOS", "NX", "M0", "4", "VALUE:IIINOS" ], [ "T4NOS", "NX", "M0", "9", "VALUE:IIINOS" ], [ "T4NOS", "NX", "M1", "1", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "2", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "3", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "4", "VALUE:IV" ], [ "T4NOS", "NX", "M1", "9", "VALUE:IV" ], [ "Tis", "N0", "M0", "1", "VALUE:0" ], [ "Tis", "N0", "M0", "2", "ERROR:" ], [ "Tis", "N0", "M0", "3", "ERROR:" ], [ "Tis", "N0", "M0", "4", "ERROR:" ], [ "Tis", "N0", "M0", "9", "VALUE:0" ], [ "Tis", "N0", "M1", "1", "ERROR:" ], [ "Tis", "N0", "M1", "2", "ERROR:" ], [ "Tis", "N0", "M1", "3", "ERROR:" ], [ "Tis", "N0", "M1", "4", "ERROR:" ], [ "Tis", "N0", "M1", "9", "ERROR:" ], [ "Tis", "N1", "M0", "1", "ERROR:" ], [ "Tis", "N1", "M0", "2", "ERROR:" ], [ "Tis", "N1", "M0", "3", "ERROR:" ], [ "Tis", "N1", "M0", "4", "ERROR:" ], [ "Tis", "N1", "M0", "9", "ERROR:" ], [ "Tis", "N1", "M1", "1", "ERROR:" ], [ "Tis", "N1", "M1", "2", "ERROR:" ], [ "Tis", "N1", "M1", "3", "ERROR:" ], [ "Tis", "N1", "M1", "4", "ERROR:" ], [ "Tis", "N1", "M1", "9", "ERROR:" ], [ "Tis", "N2", "M0", "1", "ERROR:" ], [ "Tis", "N2", "M0", "2", "ERROR:" ], [ "Tis", "N2", "M0", "3", "ERROR:" ], [ "Tis", "N2", "M0", "4", "ERROR:" ], [ "Tis", "N2", "M0", "9", "ERROR:" ], [ "Tis", "N2", "M1", "1", "ERROR:" ], [ "Tis", "N2", "M1", "2", "ERROR:" ], [ "Tis", "N2", "M1", "3", "ERROR:" ], [ "Tis", "N2", "M1", "4", "ERROR:" ], [ "Tis", "N2", "M1", "9", "ERROR:" ], [ "Tis", "N3", "M0", "1", "ERROR:" ], [ "Tis", "N3", "M0", "2", "ERROR:" ], [ "Tis", "N3", "M0", "3", "ERROR:" ], [ "Tis", "N3", "M0", "4", "ERROR:" ], [ "Tis", "N3", "M0", "9", "ERROR:" ], [ "Tis", "N3", "M1", "1", "ERROR:" ], [ "Tis", "N3", "M1", "2", "ERROR:" ], [ "Tis", "N3", "M1", "3", "ERROR:" ], [ "Tis", "N3", "M1", "4", "ERROR:" ], [ "Tis", "N3", "M1", "9", "ERROR:" ], [ "Tis", "NX", "M0", "1", "VALUE:0" ], [ "Tis", "NX", "M0", "2", "ERROR:" ], [ "Tis", "NX", "M0", "3", "ERROR:" ], [ "Tis", "NX", "M0", "4", "ERROR:" ], [ "Tis", "NX", "M0", "9", "VALUE:0" ], [ "Tis", "NX", "M1", "1", "ERROR:" ], [ "Tis", "NX", "M1", "2", "ERROR:" ], [ "Tis", "NX", "M1", "3", "ERROR:" ], [ "Tis", "NX", "M1", "4", "ERROR:" ], [ "Tis", "NX", "M1", "9", "ERROR:" ], [ "TX", "N0", "M0", "1", "VALUE:UNK" ], [ "TX", "N0", "M0", "2", "VALUE:UNK" ], [ "TX", "N0", "M0", "3", "VALUE:UNK" ], [ "TX", "N0", "M0", "4", "VALUE:UNK" ], [ "TX", "N0", "M0", "9", "VALUE:UNK" ], [ "TX", "N0", "M1", "1", "VALUE:IV" ], [ "TX", "N0", "M1", "2", "VALUE:IV" ], [ "TX", "N0", "M1", "3", "VALUE:IV" ], [ "TX", "N0", "M1", "4", "VALUE:IV" ], [ "TX", "N0", "M1", "9", "VALUE:IV" ], [ "TX", "N1", "M0", "1", "VALUE:UNK" ], [ "TX", "N1", "M0", "2", "VALUE:UNK" ], [ "TX", "N1", "M0", "3", "VALUE:UNK" ], [ "TX", "N1", "M0", "4", "VALUE:UNK" ], [ "TX", "N1", "M0", "9", "VALUE:UNK" ], [ "TX", "N1", "M1", "1", "VALUE:IV" ], [ "TX", "N1", "M1", "2", "VALUE:IV" ], [ "TX", "N1", "M1", "3", "VALUE:IV" ], [ "TX", "N1", "M1", "4", "VALUE:IV" ], [ "TX", "N1", "M1", "9", "VALUE:IV" ], [ "TX", "N2", "M0", "1", "VALUE:IIINOS" ], [ "TX", "N2", "M0", "2", "VALUE:IIINOS" ], [ "TX", "N2", "M0", "3", "VALUE:IIINOS" ], [ "TX", "N2", "M0", "4", "VALUE:IIINOS" ], [ "TX", "N2", "M0", "9", "VALUE:IIINOS" ], [ "TX", "N2", "M1", "1", "VALUE:IV" ], [ "TX", "N2", "M1", "2", "VALUE:IV" ], [ "TX", "N2", "M1", "3", "VALUE:IV" ], [ "TX", "N2", "M1", "4", "VALUE:IV" ], [ "TX", "N2", "M1", "9", "VALUE:IV" ], [ "TX", "N3", "M0", "1", "VALUE:IIIC" ], [ "TX", "N3", "M0", "2", "VALUE:IIIC" ], [ "TX", "N3", "M0", "3", "VALUE:IIIC" ], [ "TX", "N3", "M0", "4", "VALUE:IIIC" ], [ "TX", "N3", "M0", "9", "VALUE:IIIC" ], [ "TX", "N3", "M1", "1", "VALUE:IV" ], [ "TX", "N3", "M1", "2", "VALUE:IV" ], [ "TX", "N3", "M1", "3", "VALUE:IV" ], [ "TX", "N3", "M1", "4", "VALUE:IV" ], [ "TX", "N3", "M1", "9", "VALUE:IV" ], [ "TX", "NX", "M0", "1", "VALUE:UNK" ], [ "TX", "NX", "M0", "2", "VALUE:UNK" ], [ "TX", "NX", "M0", "3", "VALUE:UNK" ], [ "TX", "NX", "M0", "4", "VALUE:UNK" ], [ "TX", "NX", "M0", "9", "VALUE:UNK" ], [ "TX", "NX", "M1", "1", "VALUE:IV" ], [ "TX", "NX", "M1", "2", "VALUE:IV" ], [ "TX", "NX", "M1", "3", "VALUE:IV" ], [ "TX", "NX", "M1", "4", "VALUE:IV" ], [ "TX", "NX", "M1", "9", "VALUE:IV" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_anaplastic_xdz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_anaplastic_xdz.json deleted file mode 100644 index e7d65b839..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_anaplastic_xdz.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcctnm7_stage_thyroid_anaplastic_xdz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC TNM7 Stage Thyroid Anaplastic", - "title" : "AJCC TNM 7 Stage-Thyroid: Anaplastic", - "last_modified" : "2015-05-27T16:19:01.664Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ajcc7_stage", - "name" : "Stage Table 7", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T4a", "N0", "M0", "VALUE:IVA" ], [ "T4a", "N0", "M1", "VALUE:IVC" ], [ "T4a", "N1a", "M0", "VALUE:IVA" ], [ "T4a", "N1a", "M1", "VALUE:IVC" ], [ "T4a", "N1b", "M0", "VALUE:IVA" ], [ "T4a", "N1b", "M1", "VALUE:IVC" ], [ "T4a", "N1NOS", "M0", "VALUE:IVA" ], [ "T4a", "N1NOS", "M1", "VALUE:IVC" ], [ "T4a", "NX", "M0", "VALUE:IVA" ], [ "T4a", "NX", "M1", "VALUE:IVC" ], [ "T4a(m)", "N0", "M0", "VALUE:IVA" ], [ "T4a(m)", "N0", "M1", "VALUE:IVC" ], [ "T4a(m)", "N1a", "M0", "VALUE:IVA" ], [ "T4a(m)", "N1a", "M1", "VALUE:IVC" ], [ "T4a(m)", "N1b", "M0", "VALUE:IVA" ], [ "T4a(m)", "N1b", "M1", "VALUE:IVC" ], [ "T4a(m)", "N1NOS", "M0", "VALUE:IVA" ], [ "T4a(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4a(m)", "NX", "M0", "VALUE:IVA" ], [ "T4a(m)", "NX", "M1", "VALUE:IVC" ], [ "T4a(s)", "N0", "M0", "VALUE:IVA" ], [ "T4a(s)", "N0", "M1", "VALUE:IVC" ], [ "T4a(s)", "N1a", "M0", "VALUE:IVA" ], [ "T4a(s)", "N1a", "M1", "VALUE:IVC" ], [ "T4a(s)", "N1b", "M0", "VALUE:IVA" ], [ "T4a(s)", "N1b", "M1", "VALUE:IVC" ], [ "T4a(s)", "N1NOS", "M0", "VALUE:IVA" ], [ "T4a(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4a(s)", "NX", "M0", "VALUE:IVA" ], [ "T4a(s)", "NX", "M1", "VALUE:IVC" ], [ "T4b", "N0", "M0", "VALUE:IVB" ], [ "T4b", "N0", "M1", "VALUE:IVC" ], [ "T4b", "N1a", "M0", "VALUE:IVB" ], [ "T4b", "N1a", "M1", "VALUE:IVC" ], [ "T4b", "N1b", "M0", "VALUE:IVB" ], [ "T4b", "N1b", "M1", "VALUE:IVC" ], [ "T4b", "N1NOS", "M0", "VALUE:IVB" ], [ "T4b", "N1NOS", "M1", "VALUE:IVC" ], [ "T4b", "NX", "M0", "VALUE:IVB" ], [ "T4b", "NX", "M1", "VALUE:IVC" ], [ "T4b(m)", "N0", "M0", "VALUE:IVB" ], [ "T4b(m)", "N0", "M1", "VALUE:IVC" ], [ "T4b(m)", "N1a", "M0", "VALUE:IVB" ], [ "T4b(m)", "N1a", "M1", "VALUE:IVC" ], [ "T4b(m)", "N1b", "M0", "VALUE:IVB" ], [ "T4b(m)", "N1b", "M1", "VALUE:IVC" ], [ "T4b(m)", "N1NOS", "M0", "VALUE:IVB" ], [ "T4b(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4b(m)", "NX", "M0", "VALUE:IVB" ], [ "T4b(m)", "NX", "M1", "VALUE:IVC" ], [ "T4b(s)", "N0", "M0", "VALUE:IVB" ], [ "T4b(s)", "N0", "M1", "VALUE:IVC" ], [ "T4b(s)", "N1a", "M0", "VALUE:IVB" ], [ "T4b(s)", "N1a", "M1", "VALUE:IVC" ], [ "T4b(s)", "N1b", "M0", "VALUE:IVB" ], [ "T4b(s)", "N1b", "M1", "VALUE:IVC" ], [ "T4b(s)", "N1NOS", "M0", "VALUE:IVB" ], [ "T4b(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4b(s)", "NX", "M0", "VALUE:IVB" ], [ "T4b(s)", "NX", "M1", "VALUE:IVC" ], [ "T4NOS", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M1", "VALUE:IVC" ], [ "T4NOS", "N1a", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1a", "M1", "VALUE:IVC" ], [ "T4NOS", "N1b", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1b", "M1", "VALUE:IVC" ], [ "T4NOS", "N1NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1NOS", "M1", "VALUE:IVC" ], [ "T4NOS", "NX", "M0", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1", "VALUE:IVC" ], [ "T4NOS(m)", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS(m)", "N0", "M1", "VALUE:IVC" ], [ "T4NOS(m)", "N1a", "M0", "VALUE:IVNOS" ], [ "T4NOS(m)", "N1a", "M1", "VALUE:IVC" ], [ "T4NOS(m)", "N1b", "M0", "VALUE:IVNOS" ], [ "T4NOS(m)", "N1b", "M1", "VALUE:IVC" ], [ "T4NOS(m)", "N1NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4NOS(m)", "NX", "M0", "VALUE:IVNOS" ], [ "T4NOS(m)", "NX", "M1", "VALUE:IVC" ], [ "T4NOS(s)", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS(s)", "N0", "M1", "VALUE:IVC" ], [ "T4NOS(s)", "N1a", "M0", "VALUE:IVNOS" ], [ "T4NOS(s)", "N1a", "M1", "VALUE:IVC" ], [ "T4NOS(s)", "N1b", "M0", "VALUE:IVNOS" ], [ "T4NOS(s)", "N1b", "M1", "VALUE:IVC" ], [ "T4NOS(s)", "N1NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4NOS(s)", "NX", "M0", "VALUE:IVNOS" ], [ "T4NOS(s)", "NX", "M1", "VALUE:IVC" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_medullary_xdy.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_medullary_xdy.json deleted file mode 100644 index 83d35989b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_medullary_xdy.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcctnm7_stage_thyroid_medullary_xdy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC TNM7 Stage Thyroid Medullary", - "title" : "AJCC TNM 7 Stage-Thyroid: Medullary", - "last_modified" : "2015-05-27T16:19:01.728Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ajcc7_stage", - "name" : "Stage Table 7", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N0", "M1", "VALUE:IVC" ], [ "T0", "N1a", "M0", "VALUE:UNK" ], [ "T0", "N1a", "M1", "VALUE:IVC" ], [ "T0", "N1b", "M0", "VALUE:IVA" ], [ "T0", "N1b", "M1", "VALUE:IVC" ], [ "T0", "N1NOS", "M0", "VALUE:UNK" ], [ "T0", "N1NOS", "M1", "VALUE:IVC" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T0", "NX", "M1", "VALUE:IVC" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N0", "M1", "VALUE:IVC" ], [ "T1a", "N1a", "M0", "VALUE:III" ], [ "T1a", "N1a", "M1", "VALUE:IVC" ], [ "T1a", "N1b", "M0", "VALUE:IVA" ], [ "T1a", "N1b", "M1", "VALUE:IVC" ], [ "T1a", "N1NOS", "M0", "VALUE:UNK" ], [ "T1a", "N1NOS", "M1", "VALUE:IVC" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1a", "NX", "M1", "VALUE:IVC" ], [ "T1a(m)", "N0", "M0", "VALUE:I" ], [ "T1a(m)", "N0", "M1", "VALUE:IVC" ], [ "T1a(m)", "N1a", "M0", "VALUE:III" ], [ "T1a(m)", "N1a", "M1", "VALUE:IVC" ], [ "T1a(m)", "N1b", "M0", "VALUE:IVA" ], [ "T1a(m)", "N1b", "M1", "VALUE:IVC" ], [ "T1a(m)", "N1NOS", "M0", "VALUE:UNK" ], [ "T1a(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T1a(m)", "NX", "M0", "VALUE:UNK" ], [ "T1a(m)", "NX", "M1", "VALUE:IVC" ], [ "T1a(s)", "N0", "M0", "VALUE:I" ], [ "T1a(s)", "N0", "M1", "VALUE:IVC" ], [ "T1a(s)", "N1a", "M0", "VALUE:III" ], [ "T1a(s)", "N1a", "M1", "VALUE:IVC" ], [ "T1a(s)", "N1b", "M0", "VALUE:IVA" ], [ "T1a(s)", "N1b", "M1", "VALUE:IVC" ], [ "T1a(s)", "N1NOS", "M0", "VALUE:UNK" ], [ "T1a(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T1a(s)", "NX", "M0", "VALUE:UNK" ], [ "T1a(s)", "NX", "M1", "VALUE:IVC" ], [ "T1b", "N0", "M0", "VALUE:I" ], [ "T1b", "N0", "M1", "VALUE:IVC" ], [ "T1b", "N1a", "M0", "VALUE:III" ], [ "T1b", "N1a", "M1", "VALUE:IVC" ], [ "T1b", "N1b", "M0", "VALUE:IVA" ], [ "T1b", "N1b", "M1", "VALUE:IVC" ], [ "T1b", "N1NOS", "M0", "VALUE:UNK" ], [ "T1b", "N1NOS", "M1", "VALUE:IVC" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1b", "NX", "M1", "VALUE:IVC" ], [ "T1b(m)", "N0", "M0", "VALUE:I" ], [ "T1b(m)", "N0", "M1", "VALUE:IVC" ], [ "T1b(m)", "N1a", "M0", "VALUE:III" ], [ "T1b(m)", "N1a", "M1", "VALUE:IVC" ], [ "T1b(m)", "N1b", "M0", "VALUE:IVA" ], [ "T1b(m)", "N1b", "M1", "VALUE:IVC" ], [ "T1b(m)", "N1NOS", "M0", "VALUE:UNK" ], [ "T1b(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T1b(m)", "NX", "M0", "VALUE:UNK" ], [ "T1b(m)", "NX", "M1", "VALUE:IVC" ], [ "T1b(s)", "N0", "M0", "VALUE:I" ], [ "T1b(s)", "N0", "M1", "VALUE:IVC" ], [ "T1b(s)", "N1a", "M0", "VALUE:III" ], [ "T1b(s)", "N1a", "M1", "VALUE:IVC" ], [ "T1b(s)", "N1b", "M0", "VALUE:IVA" ], [ "T1b(s)", "N1b", "M1", "VALUE:IVC" ], [ "T1b(s)", "N1NOS", "M0", "VALUE:UNK" ], [ "T1b(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T1b(s)", "NX", "M0", "VALUE:UNK" ], [ "T1b(s)", "NX", "M1", "VALUE:IVC" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N0", "M1", "VALUE:IVC" ], [ "T1NOS", "N1a", "M0", "VALUE:III" ], [ "T1NOS", "N1a", "M1", "VALUE:IVC" ], [ "T1NOS", "N1b", "M0", "VALUE:IVA" ], [ "T1NOS", "N1b", "M1", "VALUE:IVC" ], [ "T1NOS", "N1NOS", "M0", "VALUE:UNK" ], [ "T1NOS", "N1NOS", "M1", "VALUE:IVC" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "NX", "M1", "VALUE:IVC" ], [ "T1NOS(m)", "N0", "M0", "VALUE:I" ], [ "T1NOS(m)", "N0", "M1", "VALUE:IVC" ], [ "T1NOS(m)", "N1a", "M0", "VALUE:III" ], [ "T1NOS(m)", "N1a", "M1", "VALUE:IVC" ], [ "T1NOS(m)", "N1b", "M0", "VALUE:IVA" ], [ "T1NOS(m)", "N1b", "M1", "VALUE:IVC" ], [ "T1NOS(m)", "N1NOS", "M0", "VALUE:UNK" ], [ "T1NOS(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T1NOS(m)", "NX", "M0", "VALUE:UNK" ], [ "T1NOS(m)", "NX", "M1", "VALUE:IVC" ], [ "T1NOS(s)", "N0", "M0", "VALUE:I" ], [ "T1NOS(s)", "N0", "M1", "VALUE:IVC" ], [ "T1NOS(s)", "N1a", "M0", "VALUE:III" ], [ "T1NOS(s)", "N1a", "M1", "VALUE:IVC" ], [ "T1NOS(s)", "N1b", "M0", "VALUE:IVA" ], [ "T1NOS(s)", "N1b", "M1", "VALUE:IVC" ], [ "T1NOS(s)", "N1NOS", "M0", "VALUE:UNK" ], [ "T1NOS(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T1NOS(s)", "NX", "M0", "VALUE:UNK" ], [ "T1NOS(s)", "NX", "M1", "VALUE:IVC" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N0", "M1", "VALUE:IVC" ], [ "T2", "N1a", "M0", "VALUE:III" ], [ "T2", "N1a", "M1", "VALUE:IVC" ], [ "T2", "N1b", "M0", "VALUE:IVA" ], [ "T2", "N1b", "M1", "VALUE:IVC" ], [ "T2", "N1NOS", "M0", "VALUE:UNK" ], [ "T2", "N1NOS", "M1", "VALUE:IVC" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T2", "NX", "M1", "VALUE:IVC" ], [ "T2(m)", "N0", "M0", "VALUE:II" ], [ "T2(m)", "N0", "M1", "VALUE:IVC" ], [ "T2(m)", "N1a", "M0", "VALUE:III" ], [ "T2(m)", "N1a", "M1", "VALUE:IVC" ], [ "T2(m)", "N1b", "M0", "VALUE:IVA" ], [ "T2(m)", "N1b", "M1", "VALUE:IVC" ], [ "T2(m)", "N1NOS", "M0", "VALUE:UNK" ], [ "T2(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T2(m)", "NX", "M0", "VALUE:UNK" ], [ "T2(m)", "NX", "M1", "VALUE:IVC" ], [ "T2(s)", "N0", "M0", "VALUE:II" ], [ "T2(s)", "N0", "M1", "VALUE:IVC" ], [ "T2(s)", "N1a", "M0", "VALUE:III" ], [ "T2(s)", "N1a", "M1", "VALUE:IVC" ], [ "T2(s)", "N1b", "M0", "VALUE:IVA" ], [ "T2(s)", "N1b", "M1", "VALUE:IVC" ], [ "T2(s)", "N1NOS", "M0", "VALUE:UNK" ], [ "T2(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T2(s)", "NX", "M0", "VALUE:UNK" ], [ "T2(s)", "NX", "M1", "VALUE:IVC" ], [ "T3", "N0", "M0", "VALUE:II" ], [ "T3", "N0", "M1", "VALUE:IVC" ], [ "T3", "N1a", "M0", "VALUE:III" ], [ "T3", "N1a", "M1", "VALUE:IVC" ], [ "T3", "N1b", "M0", "VALUE:IVA" ], [ "T3", "N1b", "M1", "VALUE:IVC" ], [ "T3", "N1NOS", "M0", "VALUE:UNK" ], [ "T3", "N1NOS", "M1", "VALUE:IVC" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T3", "NX", "M1", "VALUE:IVC" ], [ "T3(m)", "N0", "M0", "VALUE:II" ], [ "T3(m)", "N0", "M1", "VALUE:IVC" ], [ "T3(m)", "N1a", "M0", "VALUE:III" ], [ "T3(m)", "N1a", "M1", "VALUE:IVC" ], [ "T3(m)", "N1b", "M0", "VALUE:IVA" ], [ "T3(m)", "N1b", "M1", "VALUE:IVC" ], [ "T3(m)", "N1NOS", "M0", "VALUE:UNK" ], [ "T3(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T3(m)", "NX", "M0", "VALUE:UNK" ], [ "T3(m)", "NX", "M1", "VALUE:IVC" ], [ "T3(s)", "N0", "M0", "VALUE:II" ], [ "T3(s)", "N0", "M1", "VALUE:IVC" ], [ "T3(s)", "N1a", "M0", "VALUE:III" ], [ "T3(s)", "N1a", "M1", "VALUE:IVC" ], [ "T3(s)", "N1b", "M0", "VALUE:IVA" ], [ "T3(s)", "N1b", "M1", "VALUE:IVC" ], [ "T3(s)", "N1NOS", "M0", "VALUE:UNK" ], [ "T3(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T3(s)", "NX", "M0", "VALUE:UNK" ], [ "T3(s)", "NX", "M1", "VALUE:IVC" ], [ "T4a", "N0", "M0", "VALUE:IVA" ], [ "T4a", "N0", "M1", "VALUE:IVC" ], [ "T4a", "N1a", "M0", "VALUE:IVA" ], [ "T4a", "N1a", "M1", "VALUE:IVC" ], [ "T4a", "N1b", "M0", "VALUE:IVA" ], [ "T4a", "N1b", "M1", "VALUE:IVC" ], [ "T4a", "N1NOS", "M0", "VALUE:IVA" ], [ "T4a", "N1NOS", "M1", "VALUE:IVC" ], [ "T4a", "NX", "M0", "VALUE:IVA" ], [ "T4a", "NX", "M1", "VALUE:IVC" ], [ "T4a(m)", "N0", "M0", "VALUE:IVA" ], [ "T4a(m)", "N0", "M1", "VALUE:IVC" ], [ "T4a(m)", "N1a", "M0", "VALUE:IVA" ], [ "T4a(m)", "N1a", "M1", "VALUE:IVC" ], [ "T4a(m)", "N1b", "M0", "VALUE:IVA" ], [ "T4a(m)", "N1b", "M1", "VALUE:IVC" ], [ "T4a(m)", "N1NOS", "M0", "VALUE:IVA" ], [ "T4a(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4a(m)", "NX", "M0", "VALUE:IVA" ], [ "T4a(m)", "NX", "M1", "VALUE:IVC" ], [ "T4a(s)", "N0", "M0", "VALUE:IVA" ], [ "T4a(s)", "N0", "M1", "VALUE:IVC" ], [ "T4a(s)", "N1a", "M0", "VALUE:IVA" ], [ "T4a(s)", "N1a", "M1", "VALUE:IVC" ], [ "T4a(s)", "N1b", "M0", "VALUE:IVA" ], [ "T4a(s)", "N1b", "M1", "VALUE:IVC" ], [ "T4a(s)", "N1NOS", "M0", "VALUE:IVA" ], [ "T4a(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4a(s)", "NX", "M0", "VALUE:IVA" ], [ "T4a(s)", "NX", "M1", "VALUE:IVC" ], [ "T4b", "N0", "M0", "VALUE:IVB" ], [ "T4b", "N0", "M1", "VALUE:IVC" ], [ "T4b", "N1a", "M0", "VALUE:IVB" ], [ "T4b", "N1a", "M1", "VALUE:IVC" ], [ "T4b", "N1b", "M0", "VALUE:IVB" ], [ "T4b", "N1b", "M1", "VALUE:IVC" ], [ "T4b", "N1NOS", "M0", "VALUE:IVB" ], [ "T4b", "N1NOS", "M1", "VALUE:IVC" ], [ "T4b", "NX", "M0", "VALUE:IVB" ], [ "T4b", "NX", "M1", "VALUE:IVC" ], [ "T4b(m)", "N0", "M0", "VALUE:IVB" ], [ "T4b(m)", "N0", "M1", "VALUE:IVC" ], [ "T4b(m)", "N1a", "M0", "VALUE:IVB" ], [ "T4b(m)", "N1a", "M1", "VALUE:IVC" ], [ "T4b(m)", "N1b", "M0", "VALUE:IVB" ], [ "T4b(m)", "N1b", "M1", "VALUE:IVC" ], [ "T4b(m)", "N1NOS", "M0", "VALUE:IVB" ], [ "T4b(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4b(m)", "NX", "M0", "VALUE:IVB" ], [ "T4b(m)", "NX", "M1", "VALUE:IVC" ], [ "T4b(s)", "N0", "M0", "VALUE:IVB" ], [ "T4b(s)", "N0", "M1", "VALUE:IVC" ], [ "T4b(s)", "N1a", "M0", "VALUE:IVB" ], [ "T4b(s)", "N1a", "M1", "VALUE:IVC" ], [ "T4b(s)", "N1b", "M0", "VALUE:IVB" ], [ "T4b(s)", "N1b", "M1", "VALUE:IVC" ], [ "T4b(s)", "N1NOS", "M0", "VALUE:IVB" ], [ "T4b(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4b(s)", "NX", "M0", "VALUE:IVB" ], [ "T4b(s)", "NX", "M1", "VALUE:IVC" ], [ "T4NOS", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M1", "VALUE:IVC" ], [ "T4NOS", "N1a", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1a", "M1", "VALUE:IVC" ], [ "T4NOS", "N1b", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1b", "M1", "VALUE:IVC" ], [ "T4NOS", "N1NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1NOS", "M1", "VALUE:IVC" ], [ "T4NOS", "NX", "M0", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1", "VALUE:IVC" ], [ "T4NOS(m)", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS(m)", "N0", "M1", "VALUE:IVC" ], [ "T4NOS(m)", "N1a", "M0", "VALUE:IVNOS" ], [ "T4NOS(m)", "N1a", "M1", "VALUE:IVC" ], [ "T4NOS(m)", "N1b", "M0", "VALUE:IVNOS" ], [ "T4NOS(m)", "N1b", "M1", "VALUE:IVC" ], [ "T4NOS(m)", "N1NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4NOS(m)", "NX", "M0", "VALUE:IVNOS" ], [ "T4NOS(m)", "NX", "M1", "VALUE:IVC" ], [ "T4NOS(s)", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS(s)", "N0", "M1", "VALUE:IVC" ], [ "T4NOS(s)", "N1a", "M0", "VALUE:IVNOS" ], [ "T4NOS(s)", "N1a", "M1", "VALUE:IVC" ], [ "T4NOS(s)", "N1b", "M0", "VALUE:IVNOS" ], [ "T4NOS(s)", "N1b", "M1", "VALUE:IVC" ], [ "T4NOS(s)", "N1NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4NOS(s)", "NX", "M0", "VALUE:IVNOS" ], [ "T4NOS(s)", "NX", "M1", "VALUE:IVC" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N0", "M1", "VALUE:IVC" ], [ "TX", "N1a", "M0", "VALUE:UNK" ], [ "TX", "N1a", "M1", "VALUE:IVC" ], [ "TX", "N1b", "M0", "VALUE:IVNOS" ], [ "TX", "N1b", "M1", "VALUE:IVC" ], [ "TX", "N1NOS", "M0", "VALUE:UNK" ], [ "TX", "N1NOS", "M1", "VALUE:IVC" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "TX", "NX", "M1", "VALUE:IVC" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older_xdx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older_xdx.json deleted file mode 100644 index ebdd16708..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older_xdx.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older_xdx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "AJCC TNM7 Stage Thyroid Papillary and Follicular Age 45 and Older", - "title" : "AJCC TNM 7 Stage-Thyroid: Papillary and Follicular Age 45 and Older", - "last_modified" : "2015-05-27T16:19:01.805Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ajcc7_stage", - "name" : "Stage Table 7", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0", "N0", "M0", "ERROR:" ], [ "T0", "N0", "M1", "VALUE:IVC" ], [ "T0", "N1a", "M0", "VALUE:UNK" ], [ "T0", "N1a", "M1", "VALUE:IVC" ], [ "T0", "N1b", "M0", "VALUE:IVA" ], [ "T0", "N1b", "M1", "VALUE:IVC" ], [ "T0", "N1NOS", "M0", "VALUE:UNK" ], [ "T0", "N1NOS", "M1", "VALUE:IVC" ], [ "T0", "NX", "M0", "VALUE:UNK" ], [ "T0", "NX", "M1", "VALUE:IVC" ], [ "T1a", "N0", "M0", "VALUE:I" ], [ "T1a", "N0", "M1", "VALUE:IVC" ], [ "T1a", "N1a", "M0", "VALUE:III" ], [ "T1a", "N1a", "M1", "VALUE:IVC" ], [ "T1a", "N1b", "M0", "VALUE:IVA" ], [ "T1a", "N1b", "M1", "VALUE:IVC" ], [ "T1a", "N1NOS", "M0", "VALUE:UNK" ], [ "T1a", "N1NOS", "M1", "VALUE:IVC" ], [ "T1a", "NX", "M0", "VALUE:UNK" ], [ "T1a", "NX", "M1", "VALUE:IVC" ], [ "T1a(m)", "N0", "M0", "VALUE:I" ], [ "T1a(m)", "N0", "M1", "VALUE:IVC" ], [ "T1a(m)", "N1a", "M0", "VALUE:III" ], [ "T1a(m)", "N1a", "M1", "VALUE:IVC" ], [ "T1a(m)", "N1b", "M0", "VALUE:IVA" ], [ "T1a(m)", "N1b", "M1", "VALUE:IVC" ], [ "T1a(m)", "N1NOS", "M0", "VALUE:UNK" ], [ "T1a(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T1a(m)", "NX", "M0", "VALUE:UNK" ], [ "T1a(m)", "NX", "M1", "VALUE:IVC" ], [ "T1a(s)", "N0", "M0", "VALUE:I" ], [ "T1a(s)", "N0", "M1", "VALUE:IVC" ], [ "T1a(s)", "N1a", "M0", "VALUE:III" ], [ "T1a(s)", "N1a", "M1", "VALUE:IVC" ], [ "T1a(s)", "N1b", "M0", "VALUE:IVA" ], [ "T1a(s)", "N1b", "M1", "VALUE:IVC" ], [ "T1a(s)", "N1NOS", "M0", "VALUE:UNK" ], [ "T1a(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T1a(s)", "NX", "M0", "VALUE:UNK" ], [ "T1a(s)", "NX", "M1", "VALUE:IVC" ], [ "T1b", "N0", "M0", "VALUE:I" ], [ "T1b", "N0", "M1", "VALUE:IVC" ], [ "T1b", "N1a", "M0", "VALUE:III" ], [ "T1b", "N1a", "M1", "VALUE:IVC" ], [ "T1b", "N1b", "M0", "VALUE:IVA" ], [ "T1b", "N1b", "M1", "VALUE:IVC" ], [ "T1b", "N1NOS", "M0", "VALUE:UNK" ], [ "T1b", "N1NOS", "M1", "VALUE:IVC" ], [ "T1b", "NX", "M0", "VALUE:UNK" ], [ "T1b", "NX", "M1", "VALUE:IVC" ], [ "T1b(m)", "N0", "M0", "VALUE:I" ], [ "T1b(m)", "N0", "M1", "VALUE:IVC" ], [ "T1b(m)", "N1a", "M0", "VALUE:III" ], [ "T1b(m)", "N1a", "M1", "VALUE:IVC" ], [ "T1b(m)", "N1b", "M0", "VALUE:IVA" ], [ "T1b(m)", "N1b", "M1", "VALUE:IVC" ], [ "T1b(m)", "N1NOS", "M0", "VALUE:UNK" ], [ "T1b(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T1b(m)", "NX", "M0", "VALUE:UNK" ], [ "T1b(m)", "NX", "M1", "VALUE:IVC" ], [ "T1b(s)", "N0", "M0", "VALUE:I" ], [ "T1b(s)", "N0", "M1", "VALUE:IVC" ], [ "T1b(s)", "N1a", "M0", "VALUE:III" ], [ "T1b(s)", "N1a", "M1", "VALUE:IVC" ], [ "T1b(s)", "N1b", "M0", "VALUE:IVA" ], [ "T1b(s)", "N1b", "M1", "VALUE:IVC" ], [ "T1b(s)", "N1NOS", "M0", "VALUE:UNK" ], [ "T1b(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T1b(s)", "NX", "M0", "VALUE:UNK" ], [ "T1b(s)", "NX", "M1", "VALUE:IVC" ], [ "T1NOS", "N0", "M0", "VALUE:I" ], [ "T1NOS", "N0", "M1", "VALUE:IVC" ], [ "T1NOS", "N1a", "M0", "VALUE:III" ], [ "T1NOS", "N1a", "M1", "VALUE:IVC" ], [ "T1NOS", "N1b", "M0", "VALUE:IVA" ], [ "T1NOS", "N1b", "M1", "VALUE:IVC" ], [ "T1NOS", "N1NOS", "M0", "VALUE:UNK" ], [ "T1NOS", "N1NOS", "M1", "VALUE:IVC" ], [ "T1NOS", "NX", "M0", "VALUE:UNK" ], [ "T1NOS", "NX", "M1", "VALUE:IVC" ], [ "T1NOS(m)", "N0", "M0", "VALUE:I" ], [ "T1NOS(m)", "N0", "M1", "VALUE:IVC" ], [ "T1NOS(m)", "N1a", "M0", "VALUE:III" ], [ "T1NOS(m)", "N1a", "M1", "VALUE:IVC" ], [ "T1NOS(m)", "N1b", "M0", "VALUE:IVA" ], [ "T1NOS(m)", "N1b", "M1", "VALUE:IVC" ], [ "T1NOS(m)", "N1NOS", "M0", "VALUE:UNK" ], [ "T1NOS(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T1NOS(m)", "NX", "M0", "VALUE:UNK" ], [ "T1NOS(m)", "NX", "M1", "VALUE:IVC" ], [ "T1NOS(s)", "N0", "M0", "VALUE:I" ], [ "T1NOS(s)", "N0", "M1", "VALUE:IVC" ], [ "T1NOS(s)", "N1a", "M0", "VALUE:III" ], [ "T1NOS(s)", "N1a", "M1", "VALUE:IVC" ], [ "T1NOS(s)", "N1b", "M0", "VALUE:IVA" ], [ "T1NOS(s)", "N1b", "M1", "VALUE:IVC" ], [ "T1NOS(s)", "N1NOS", "M0", "VALUE:UNK" ], [ "T1NOS(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T1NOS(s)", "NX", "M0", "VALUE:UNK" ], [ "T1NOS(s)", "NX", "M1", "VALUE:IVC" ], [ "T2", "N0", "M0", "VALUE:II" ], [ "T2", "N0", "M1", "VALUE:IVC" ], [ "T2", "N1a", "M0", "VALUE:III" ], [ "T2", "N1a", "M1", "VALUE:IVC" ], [ "T2", "N1b", "M0", "VALUE:IVA" ], [ "T2", "N1b", "M1", "VALUE:IVC" ], [ "T2", "N1NOS", "M0", "VALUE:UNK" ], [ "T2", "N1NOS", "M1", "VALUE:IVC" ], [ "T2", "NX", "M0", "VALUE:UNK" ], [ "T2", "NX", "M1", "VALUE:IVC" ], [ "T2(m)", "N0", "M0", "VALUE:II" ], [ "T2(m)", "N0", "M1", "VALUE:IVC" ], [ "T2(m)", "N1a", "M0", "VALUE:III" ], [ "T2(m)", "N1a", "M1", "VALUE:IVC" ], [ "T2(m)", "N1b", "M0", "VALUE:IVA" ], [ "T2(m)", "N1b", "M1", "VALUE:IVC" ], [ "T2(m)", "N1NOS", "M0", "VALUE:UNK" ], [ "T2(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T2(m)", "NX", "M0", "VALUE:UNK" ], [ "T2(m)", "NX", "M1", "VALUE:IVC" ], [ "T2(s)", "N0", "M0", "VALUE:II" ], [ "T2(s)", "N0", "M1", "VALUE:IVC" ], [ "T2(s)", "N1a", "M0", "VALUE:III" ], [ "T2(s)", "N1a", "M1", "VALUE:IVC" ], [ "T2(s)", "N1b", "M0", "VALUE:IVA" ], [ "T2(s)", "N1b", "M1", "VALUE:IVC" ], [ "T2(s)", "N1NOS", "M0", "VALUE:UNK" ], [ "T2(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T2(s)", "NX", "M0", "VALUE:UNK" ], [ "T2(s)", "NX", "M1", "VALUE:IVC" ], [ "T3", "N0", "M0", "VALUE:III" ], [ "T3", "N0", "M1", "VALUE:IVC" ], [ "T3", "N1a", "M0", "VALUE:III" ], [ "T3", "N1a", "M1", "VALUE:IVC" ], [ "T3", "N1b", "M0", "VALUE:IVA" ], [ "T3", "N1b", "M1", "VALUE:IVC" ], [ "T3", "N1NOS", "M0", "VALUE:UNK" ], [ "T3", "N1NOS", "M1", "VALUE:IVC" ], [ "T3", "NX", "M0", "VALUE:UNK" ], [ "T3", "NX", "M1", "VALUE:IVC" ], [ "T3(m)", "N0", "M0", "VALUE:III" ], [ "T3(m)", "N0", "M1", "VALUE:IVC" ], [ "T3(m)", "N1a", "M0", "VALUE:III" ], [ "T3(m)", "N1a", "M1", "VALUE:IVC" ], [ "T3(m)", "N1b", "M0", "VALUE:IVA" ], [ "T3(m)", "N1b", "M1", "VALUE:IVC" ], [ "T3(m)", "N1NOS", "M0", "VALUE:UNK" ], [ "T3(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T3(m)", "NX", "M0", "VALUE:UNK" ], [ "T3(m)", "NX", "M1", "VALUE:IVC" ], [ "T3(s)", "N0", "M0", "VALUE:III" ], [ "T3(s)", "N0", "M1", "VALUE:IVC" ], [ "T3(s)", "N1a", "M0", "VALUE:III" ], [ "T3(s)", "N1a", "M1", "VALUE:IVC" ], [ "T3(s)", "N1b", "M0", "VALUE:IVA" ], [ "T3(s)", "N1b", "M1", "VALUE:IVC" ], [ "T3(s)", "N1NOS", "M0", "VALUE:UNK" ], [ "T3(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T3(s)", "NX", "M0", "VALUE:UNK" ], [ "T3(s)", "NX", "M1", "VALUE:IVC" ], [ "T4a", "N0", "M0", "VALUE:IVA" ], [ "T4a", "N0", "M1", "VALUE:IVC" ], [ "T4a", "N1a", "M0", "VALUE:IVA" ], [ "T4a", "N1a", "M1", "VALUE:IVC" ], [ "T4a", "N1b", "M0", "VALUE:IVA" ], [ "T4a", "N1b", "M1", "VALUE:IVC" ], [ "T4a", "N1NOS", "M0", "VALUE:IVA" ], [ "T4a", "N1NOS", "M1", "VALUE:IVC" ], [ "T4a", "NX", "M0", "VALUE:IVA" ], [ "T4a", "NX", "M1", "VALUE:IVC" ], [ "T4a(m)", "N0", "M0", "VALUE:IVA" ], [ "T4a(m)", "N0", "M1", "VALUE:IVC" ], [ "T4a(m)", "N1a", "M0", "VALUE:IVA" ], [ "T4a(m)", "N1a", "M1", "VALUE:IVC" ], [ "T4a(m)", "N1b", "M0", "VALUE:IVA" ], [ "T4a(m)", "N1b", "M1", "VALUE:IVC" ], [ "T4a(m)", "N1NOS", "M0", "VALUE:IVA" ], [ "T4a(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4a(m)", "NX", "M0", "VALUE:IVA" ], [ "T4a(m)", "NX", "M1", "VALUE:IVC" ], [ "T4a(s)", "N0", "M0", "VALUE:IVA" ], [ "T4a(s)", "N0", "M1", "VALUE:IVC" ], [ "T4a(s)", "N1a", "M0", "VALUE:IVA" ], [ "T4a(s)", "N1a", "M1", "VALUE:IVC" ], [ "T4a(s)", "N1b", "M0", "VALUE:IVA" ], [ "T4a(s)", "N1b", "M1", "VALUE:IVC" ], [ "T4a(s)", "N1NOS", "M0", "VALUE:IVA" ], [ "T4a(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4a(s)", "NX", "M0", "VALUE:IVA" ], [ "T4a(s)", "NX", "M1", "VALUE:IVC" ], [ "T4b", "N0", "M0", "VALUE:IVB" ], [ "T4b", "N0", "M1", "VALUE:IVC" ], [ "T4b", "N1a", "M0", "VALUE:IVB" ], [ "T4b", "N1a", "M1", "VALUE:IVC" ], [ "T4b", "N1b", "M0", "VALUE:IVB" ], [ "T4b", "N1b", "M1", "VALUE:IVC" ], [ "T4b", "N1NOS", "M0", "VALUE:IVB" ], [ "T4b", "N1NOS", "M1", "VALUE:IVC" ], [ "T4b", "NX", "M0", "VALUE:IVB" ], [ "T4b", "NX", "M1", "VALUE:IVC" ], [ "T4b(m)", "N0", "M0", "VALUE:IVB" ], [ "T4b(m)", "N0", "M1", "VALUE:IVC" ], [ "T4b(m)", "N1a", "M0", "VALUE:IVB" ], [ "T4b(m)", "N1a", "M1", "VALUE:IVC" ], [ "T4b(m)", "N1b", "M0", "VALUE:IVB" ], [ "T4b(m)", "N1b", "M1", "VALUE:IVC" ], [ "T4b(m)", "N1NOS", "M0", "VALUE:IVB" ], [ "T4b(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4b(m)", "NX", "M0", "VALUE:IVB" ], [ "T4b(m)", "NX", "M1", "VALUE:IVC" ], [ "T4b(s)", "N0", "M0", "VALUE:IVB" ], [ "T4b(s)", "N0", "M1", "VALUE:IVC" ], [ "T4b(s)", "N1a", "M0", "VALUE:IVB" ], [ "T4b(s)", "N1a", "M1", "VALUE:IVC" ], [ "T4b(s)", "N1b", "M0", "VALUE:IVB" ], [ "T4b(s)", "N1b", "M1", "VALUE:IVC" ], [ "T4b(s)", "N1NOS", "M0", "VALUE:IVB" ], [ "T4b(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4b(s)", "NX", "M0", "VALUE:IVB" ], [ "T4b(s)", "NX", "M1", "VALUE:IVC" ], [ "T4NOS", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N0", "M1", "VALUE:IVC" ], [ "T4NOS", "N1a", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1a", "M1", "VALUE:IVC" ], [ "T4NOS", "N1b", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1b", "M1", "VALUE:IVC" ], [ "T4NOS", "N1NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS", "N1NOS", "M1", "VALUE:IVC" ], [ "T4NOS", "NX", "M0", "VALUE:IVNOS" ], [ "T4NOS", "NX", "M1", "VALUE:IVC" ], [ "T4NOS(m)", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS(m)", "N0", "M1", "VALUE:IVC" ], [ "T4NOS(m)", "N1a", "M0", "VALUE:IVNOS" ], [ "T4NOS(m)", "N1a", "M1", "VALUE:IVC" ], [ "T4NOS(m)", "N1b", "M0", "VALUE:IVNOS" ], [ "T4NOS(m)", "N1b", "M1", "VALUE:IVC" ], [ "T4NOS(m)", "N1NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS(m)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4NOS(m)", "NX", "M0", "VALUE:IVNOS" ], [ "T4NOS(m)", "NX", "M1", "VALUE:IVC" ], [ "T4NOS(s)", "N0", "M0", "VALUE:IVNOS" ], [ "T4NOS(s)", "N0", "M1", "VALUE:IVC" ], [ "T4NOS(s)", "N1a", "M0", "VALUE:IVNOS" ], [ "T4NOS(s)", "N1a", "M1", "VALUE:IVC" ], [ "T4NOS(s)", "N1b", "M0", "VALUE:IVNOS" ], [ "T4NOS(s)", "N1b", "M1", "VALUE:IVC" ], [ "T4NOS(s)", "N1NOS", "M0", "VALUE:IVNOS" ], [ "T4NOS(s)", "N1NOS", "M1", "VALUE:IVC" ], [ "T4NOS(s)", "NX", "M0", "VALUE:IVNOS" ], [ "T4NOS(s)", "NX", "M1", "VALUE:IVC" ], [ "TX", "N0", "M0", "VALUE:UNK" ], [ "TX", "N0", "M1", "VALUE:IVC" ], [ "TX", "N1a", "M0", "VALUE:UNK" ], [ "TX", "N1a", "M1", "VALUE:IVC" ], [ "TX", "N1b", "M0", "VALUE:IVNOS" ], [ "TX", "N1b", "M1", "VALUE:IVC" ], [ "TX", "N1NOS", "M0", "VALUE:UNK" ], [ "TX", "N1NOS", "M1", "VALUE:IVC" ], [ "TX", "NX", "M0", "VALUE:UNK" ], [ "TX", "NX", "M1", "VALUE:IVC" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/behavior.json b/src/test/resources/algorithms/cs/02.05.50/tables/behavior.json deleted file mode 100644 index 940086d2d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/behavior.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "behavior", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Behavior", - "title" : "Behavior ICD-O-3", - "last_modified" : "2015-05-27T16:19:02.151Z", - "definition" : [ { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "desc", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Benign" ], [ "1", "Uncertain Benign/Malig" ], [ "2", "In Situ" ], [ "3", "Malignant Primary" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_quadrants_ajcc7_xca.json b/src/test/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_quadrants_ajcc7_xca.json deleted file mode 100644 index e501d09ad..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_quadrants_ajcc7_xca.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "clinical_eval_extension_quadrants_ajcc7_xca", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Clinical Eval Extension Quadrants AJCC7", - "title" : "Clinical Eval Extension Quadrants AJCC 7 Table", - "notes" : "**Note 1**: When CS Tumor Size/Ext Eval is clinical (0, 1, 5, 9), for CS Extension codes 300-335, 445-450, and 470-500 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 2 as shown in this table.\n\n**Note 2**: When CS Tumor Size/Ext Eval is blank and CS Site-Specific Factor 1 equals 998, the T category is assigned as shown in this table.", - "last_modified" : "2015-05-27T16:19:02.202Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "CS TS/Ext Eval", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF1", - "type" : "INPUT" - }, { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF2", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "000-980, 991-999", "300", "010,015", "VALUE:T1a" ], [ "0,1,5,9", "000-980, 991-999", "310", "010,015", "VALUE:T1a" ], [ "0,1,5,9", "000-980, 991-999", "315", "010,015", "VALUE:T1a" ], [ "0,1,5,9", "000-980, 991-999", "320", "010,015", "VALUE:T1a" ], [ "0,1,5,9", "000-980, 991-999", "325", "010,015", "VALUE:T1a" ], [ "0,1,5,9", "000-980, 991-999", "330", "010,015", "VALUE:T1a" ], [ "0,1,5,9", "000-980, 991-999", "335", "010,015", "VALUE:T1a" ], [ "0,1,5,9", "000-980, 991-999", "445", "010,015", "VALUE:T2a" ], [ "0,1,5,9", "000-980, 991-999", "450", "010,015", "VALUE:T2b" ], [ "0,1,5,9", "000-980, 991-999", "470", "010,015", "VALUE:T2a" ], [ "0,1,5,9", "000-980, 991-999", "475", "010,015", "VALUE:T2b" ], [ "0,1,5,9", "000-980, 991-999", "480", "010,015", "VALUE:T2a" ], [ "0,1,5,9", "000-980, 991-999", "485", "010,015", "VALUE:T2a" ], [ "0,1,5,9", "000-980, 991-999", "490", "010,015", "VALUE:T2c" ], [ "0,1,5,9", "000-980, 991-999", "495", "010,015", "VALUE:T2c" ], [ "0,1,5,9", "000-980, 991-999", "500", "010,015", "VALUE:T2NOS" ], [ "0,1,5,9", "981-990", "300-335, 445-450, 470-500", "010,015", "ERROR:" ], [ " ", "998", "300", "010,015", "VALUE:T1a" ], [ " ", "998", "310", "010,015", "VALUE:T1a" ], [ " ", "998", "315", "010,015", "VALUE:T1a" ], [ " ", "998", "320", "010,015", "VALUE:T1a" ], [ " ", "998", "325", "010,015", "VALUE:T1a" ], [ " ", "998", "330", "010,015", "VALUE:T1a" ], [ " ", "998", "335", "010,015", "VALUE:T1a" ], [ " ", "998", "445", "010,015", "VALUE:T2a" ], [ " ", "998", "450", "010,015", "VALUE:T2b" ], [ " ", "998", "470", "010,015", "VALUE:T2a" ], [ " ", "998", "475", "010,015", "VALUE:T2b" ], [ " ", "998", "480", "010,015", "VALUE:T2a" ], [ " ", "998", "485", "010,015", "VALUE:T2a" ], [ " ", "998", "490", "010,015", "VALUE:T2c" ], [ " ", "998", "495", "010,015", "VALUE:T2c" ], [ " ", "998", "500", "010,015", "VALUE:T2NOS" ], [ "0,1,5,9", "000-980, 991-999", "300", "020,025", "VALUE:T1b" ], [ "0,1,5,9", "000-980, 991-999", "310", "020,025", "VALUE:T1b" ], [ "0,1,5,9", "000-980, 991-999", "315", "020,025", "VALUE:T1b" ], [ "0,1,5,9", "000-980, 991-999", "320", "020,025", "VALUE:T1b" ], [ "0,1,5,9", "000-980, 991-999", "325", "020,025", "VALUE:T1b" ], [ "0,1,5,9", "000-980, 991-999", "330", "020,025", "VALUE:T1b" ], [ "0,1,5,9", "000-980, 991-999", "335", "020,025", "VALUE:T1b" ], [ "0,1,5,9", "000-980, 991-999", "445", "020,025", "VALUE:T2b" ], [ "0,1,5,9", "000-980, 991-999", "450", "020,025", "VALUE:T2d" ], [ "0,1,5,9", "000-980, 991-999", "470", "020,025", "VALUE:T2b" ], [ "0,1,5,9", "000-980, 991-999", "475", "020,025", "VALUE:T2d" ], [ "0,1,5,9", "000-980, 991-999", "480", "020,025", "VALUE:T2b" ], [ "0,1,5,9", "000-980, 991-999", "485", "020,025", "VALUE:T2b" ], [ "0,1,5,9", "000-980, 991-999", "490", "020,025", "VALUE:T2d" ], [ "0,1,5,9", "000-980, 991-999", "495", "020,025", "VALUE:T2d" ], [ "0,1,5,9", "000-980, 991-999", "500", "020,025", "VALUE:T2NOS" ], [ "0,1,5,9", "981-990", "300-335, 445-450, 470-500", "020,025", "ERROR:" ], [ " ", "998", "300", "020,025", "VALUE:T1b" ], [ " ", "998", "310", "020,025", "VALUE:T1b" ], [ " ", "998", "315", "020,025", "VALUE:T1b" ], [ " ", "998", "320", "020,025", "VALUE:T1b" ], [ " ", "998", "325", "020,025", "VALUE:T1b" ], [ " ", "998", "330", "020,025", "VALUE:T1b" ], [ " ", "998", "335", "020,025", "VALUE:T1b" ], [ " ", "998", "445", "020,025", "VALUE:T2b" ], [ " ", "998", "450", "020,025", "VALUE:T2d" ], [ " ", "998", "470", "020,025", "VALUE:T2b" ], [ " ", "998", "475", "020,025", "VALUE:T2d" ], [ " ", "998", "480", "020,025", "VALUE:T2b" ], [ " ", "998", "485", "020,025", "VALUE:T2b" ], [ " ", "998", "490", "020,025", "VALUE:T2d" ], [ " ", "998", "495", "020,025", "VALUE:T2d" ], [ " ", "998", "500", "020,025", "VALUE:T2NOS" ], [ "0,1,5,9", "000-980, 991-999", "300", "030,035", "VALUE:T1c" ], [ "0,1,5,9", "000-980, 991-999", "310", "030,035", "VALUE:T1c" ], [ "0,1,5,9", "000-980, 991-999", "315", "030,035", "VALUE:T1c" ], [ "0,1,5,9", "000-980, 991-999", "320", "030,035", "VALUE:T1c" ], [ "0,1,5,9", "000-980, 991-999", "325", "030,035", "VALUE:T1c" ], [ "0,1,5,9", "000-980, 991-999", "330", "030,035", "VALUE:T1c" ], [ "0,1,5,9", "000-980, 991-999", "335", "030,035", "VALUE:T1c" ], [ "0,1,5,9", "000-980, 991-999", "445", "030,035", "VALUE:T2b" ], [ "0,1,5,9", "000-980, 991-999", "450", "030,035", "VALUE:T2d" ], [ "0,1,5,9", "000-980, 991-999", "470", "030,035", "VALUE:T2b" ], [ "0,1,5,9", "000-980, 991-999", "475", "030,035", "VALUE:T2d" ], [ "0,1,5,9", "000-980, 991-999", "480", "030,035", "VALUE:T2b" ], [ "0,1,5,9", "000-980, 991-999", "485", "030,035", "VALUE:T2b" ], [ "0,1,5,9", "000-980, 991-999", "490", "030,035", "VALUE:T2d" ], [ "0,1,5,9", "000-980, 991-999", "495", "030,035", "VALUE:T2d" ], [ "0,1,5,9", "000-980, 991-999", "500", "030,035", "VALUE:T2NOS" ], [ "0,1,5,9", "981-990", "300-335, 445-450, 470-500", "030,035", "ERROR:" ], [ " ", "998", "300", "030,035", "VALUE:T1c" ], [ " ", "998", "310", "030,035", "VALUE:T1c" ], [ " ", "998", "315", "030,035", "VALUE:T1c" ], [ " ", "998", "320", "030,035", "VALUE:T1c" ], [ " ", "998", "325", "030,035", "VALUE:T1c" ], [ " ", "998", "330", "030,035", "VALUE:T1c" ], [ " ", "998", "335", "030,035", "VALUE:T1c" ], [ " ", "998", "445", "030,035", "VALUE:T2b" ], [ " ", "998", "450", "030,035", "VALUE:T2d" ], [ " ", "998", "470", "030,035", "VALUE:T2b" ], [ " ", "998", "475", "030,035", "VALUE:T2d" ], [ " ", "998", "480", "030,035", "VALUE:T2b" ], [ " ", "998", "485", "030,035", "VALUE:T2b" ], [ " ", "998", "490", "030,035", "VALUE:T2d" ], [ " ", "998", "495", "030,035", "VALUE:T2d" ], [ " ", "998", "500", "030,035", "VALUE:T2NOS" ], [ "0,1,5,9", "000-980, 991-999", "300", "040,045", "VALUE:T1d" ], [ "0,1,5,9", "000-980, 991-999", "310", "040,045", "VALUE:T1d" ], [ "0,1,5,9", "000-980, 991-999", "315", "040,045", "VALUE:T1d" ], [ "0,1,5,9", "000-980, 991-999", "320", "040,045", "VALUE:T1d" ], [ "0,1,5,9", "000-980, 991-999", "325", "040,045", "VALUE:T1d" ], [ "0,1,5,9", "000-980, 991-999", "330", "040,045", "VALUE:T1d" ], [ "0,1,5,9", "000-980, 991-999", "335", "040,045", "VALUE:T1d" ], [ "0,1,5,9", "000-980, 991-999", "445", "040,045", "VALUE:T2b" ], [ "0,1,5,9", "000-980, 991-999", "450", "040,045", "VALUE:T2d" ], [ "0,1,5,9", "000-980, 991-999", "470", "040,045", "VALUE:T2b" ], [ "0,1,5,9", "000-980, 991-999", "475", "040,045", "VALUE:T2d" ], [ "0,1,5,9", "000-980, 991-999", "480", "040,045", "VALUE:T2b" ], [ "0,1,5,9", "000-980, 991-999", "485", "040,045", "VALUE:T2b" ], [ "0,1,5,9", "000-980, 991-999", "490", "040,045", "VALUE:T2d" ], [ "0,1,5,9", "000-980, 991-999", "495", "040,045", "VALUE:T2d" ], [ "0,1,5,9", "000-980, 991-999", "500", "040,045", "VALUE:T2NOS" ], [ "0,1,5,9", "981-990", "300-335, 445-450, 470-500", "040,045", "ERROR:" ], [ " ", "998", "300", "040,045", "VALUE:T1d" ], [ " ", "998", "310", "040,045", "VALUE:T1d" ], [ " ", "998", "315", "040,045", "VALUE:T1d" ], [ " ", "998", "320", "040,045", "VALUE:T1d" ], [ " ", "998", "325", "040,045", "VALUE:T1d" ], [ " ", "998", "330", "040,045", "VALUE:T1d" ], [ " ", "998", "335", "040,045", "VALUE:T1d" ], [ " ", "998", "445", "040,045", "VALUE:T2b" ], [ " ", "998", "450", "040,045", "VALUE:T2d" ], [ " ", "998", "470", "040,045", "VALUE:T2b" ], [ " ", "998", "475", "040,045", "VALUE:T2d" ], [ " ", "998", "480", "040,045", "VALUE:T2b" ], [ " ", "998", "485", "040,045", "VALUE:T2b" ], [ " ", "998", "490", "040,045", "VALUE:T2d" ], [ " ", "998", "495", "040,045", "VALUE:T2d" ], [ " ", "998", "500", "040,045", "VALUE:T2NOS" ], [ "0,1,5,9", "000-980, 991-999", "300", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "310", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "315", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "320", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "325", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "330", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "335", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "445", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "450", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "470", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "475", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "480", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "485", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "490", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "495", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "500", "888", "ERROR:" ], [ "0,1,5,9", "981-990", "300-335, 445-450, 470-500", "888", "ERROR:" ], [ " ", "998", "300", "888", "ERROR:" ], [ " ", "998", "310", "888", "ERROR:" ], [ " ", "998", "315", "888", "ERROR:" ], [ " ", "998", "320", "888", "ERROR:" ], [ " ", "998", "325", "888", "ERROR:" ], [ " ", "998", "330", "888", "ERROR:" ], [ " ", "998", "335", "888", "ERROR:" ], [ " ", "998", "445", "888", "ERROR:" ], [ " ", "998", "450", "888", "ERROR:" ], [ " ", "998", "470", "888", "ERROR:" ], [ " ", "998", "475", "888", "ERROR:" ], [ " ", "998", "480", "888", "ERROR:" ], [ " ", "998", "485", "888", "ERROR:" ], [ " ", "998", "490", "888", "ERROR:" ], [ " ", "998", "495", "888", "ERROR:" ], [ " ", "998", "500", "888", "ERROR:" ], [ "0,1,5,9", "000-980, 991-999", "300", "988,999", "VALUE:T1NOS" ], [ "0,1,5,9", "000-980, 991-999", "310", "988,999", "VALUE:T1a" ], [ "0,1,5,9", "000-980, 991-999", "315", "988,999", "VALUE:T1b" ], [ "0,1,5,9", "000-980, 991-999", "320", "988,999", "VALUE:T1c" ], [ "0,1,5,9", "000-980, 991-999", "325", "988,999", "VALUE:T1d" ], [ "0,1,5,9", "000-980, 991-999", "330", "988,999", "VALUE:T1NOS" ], [ "0,1,5,9", "000-980, 991-999", "335", "988,999", "VALUE:T1NOS" ], [ "0,1,5,9", "000-980, 991-999", "445", "988,999", "VALUE:T2NOS" ], [ "0,1,5,9", "000-980, 991-999", "450", "988,999", "VALUE:T2NOS" ], [ "0,1,5,9", "000-980, 991-999", "470", "988,999", "VALUE:T2NOS" ], [ "0,1,5,9", "000-980, 991-999", "475", "988,999", "VALUE:T2NOS" ], [ "0,1,5,9", "000-980, 991-999", "480", "988,999", "VALUE:T2a" ], [ "0,1,5,9", "000-980, 991-999", "485", "988,999", "VALUE:T2b" ], [ "0,1,5,9", "000-980, 991-999", "490", "988,999", "VALUE:T2c" ], [ "0,1,5,9", "000-980, 991-999", "495", "988,999", "VALUE:T2d" ], [ "0,1,5,9", "000-980, 991-999", "500", "988,999", "VALUE:T2NOS" ], [ "0,1,5,9", "981-990", "300-335, 445-450, 470-500", "988,999", "ERROR:" ], [ " ", "998", "300", "988,999", "VALUE:T1NOS" ], [ " ", "998", "310", "988,999", "VALUE:T1a" ], [ " ", "998", "315", "988,999", "VALUE:T1b" ], [ " ", "998", "320", "988,999", "VALUE:T1c" ], [ " ", "998", "325", "988,999", "VALUE:T1d" ], [ " ", "998", "330", "988,999", "VALUE:T1NOS" ], [ " ", "998", "335", "988,999", "VALUE:T1NOS" ], [ " ", "998", "445", "988,999", "VALUE:T2NOS" ], [ " ", "998", "450", "988,999", "VALUE:T2NOS" ], [ " ", "998", "470", "988,999", "VALUE:T2NOS" ], [ " ", "998", "475", "988,999", "VALUE:T2NOS" ], [ " ", "998", "480", "988,999", "VALUE:T2a" ], [ " ", "998", "485", "988,999", "VALUE:T2b" ], [ " ", "998", "490", "988,999", "VALUE:T2c" ], [ " ", "998", "495", "988,999", "VALUE:T2d" ], [ " ", "998", "500", "988,999", "VALUE:T2NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_thickness_ajcc6_xbw.json b/src/test/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_thickness_ajcc6_xbw.json deleted file mode 100644 index a3c451f77..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/clinical_eval_extension_thickness_ajcc6_xbw.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clinical_eval_extension_thickness_ajcc6_xbw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Clinical Eval Extension Thickness AJCC6", - "title" : "Clinical Eval Extension Thickness AJCC 6 Table", - "notes" : "**Note 1**: When CS Tumor Size/Ext Eval is clinical (0, 1, 5, 9), for CS Extension codes 005, 300-335, 415, and 425-435 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Extension as shown in this table.\n\n**Note 2**: When CS Tumor Size/Ext Eval is blank and CS Site-Specific Factor 1 equals 998, the T category is assigned as shown in this table.", - "last_modified" : "2015-05-27T16:19:02.284Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "CS TS/Ext Eval", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF1", - "type" : "INPUT" - }, { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "000-980, 991-999", "005", "VALUE:T2" ], [ "0,1,5,9", "000-980, 991-999", "300", "VALUE:T1" ], [ "0,1,5,9", "000-980, 991-999", "310", "VALUE:T1" ], [ "0,1,5,9", "000-980, 991-999", "315", "VALUE:T1" ], [ "0,1,5,9", "000-980, 991-999", "320", "VALUE:T1" ], [ "0,1,5,9", "000-980, 991-999", "325", "VALUE:T1" ], [ "0,1,5,9", "000-980, 991-999", "330", "VALUE:T1" ], [ "0,1,5,9", "000-980, 991-999", "335", "VALUE:T2" ], [ "0,1,5,9", "000-980, 991-999", "415", "VALUE:T1" ], [ "0,1,5,9", "000-980, 991-999", "425", "VALUE:T2" ], [ "0,1,5,9", "000-980, 991-999", "430", "VALUE:T1" ], [ "0,1,5,9", "000-980, 991-999", "435", "VALUE:T2" ], [ "0,1,5,9", "981-990", "005, 300-335, 415, 425-435", "ERROR:" ], [ " ", "998", "005", "VALUE:T2" ], [ " ", "998", "300", "VALUE:T1" ], [ " ", "998", "310", "VALUE:T1" ], [ " ", "998", "315", "VALUE:T1" ], [ " ", "998", "320", "VALUE:T1" ], [ " ", "998", "325", "VALUE:T1" ], [ " ", "998", "330", "VALUE:T1" ], [ " ", "998", "335", "VALUE:T2" ], [ " ", "998", "415", "VALUE:T1" ], [ " ", "998", "425", "VALUE:T2" ], [ " ", "998", "430", "VALUE:T1" ], [ " ", "998", "435", "VALUE:T2" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_greater_than2009_xiy.json b/src/test/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_greater_than2009_xiy.json deleted file mode 100644 index b03b4e162..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_greater_than2009_xiy.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_greater_than2009_xiy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Combined Serum Tumor Marker S Value Table for Year of Diagnosis Greater Than 2009", - "title" : "Combined Serum Tumor Marker S Value Table for Year of Diagnosis Greater Than 2009", - "notes" : "**Note**: If the Year of Diagnosis is greater than 2009 or the case is coded under CSv2 (CS Version Input Original greater than 020000), then the S value will be based on CS Site-Specific Factors 13, 15, and 16.", - "last_modified" : "2015-05-27T16:19:02.333Z", - "definition" : [ { - "key" : "s_123", - "name" : "S value based on CS SSF 1-3", - "type" : "INPUT" - }, { - "key" : "s_131516", - "name" : "S value based on CS SSF 13, 15, 16", - "type" : "INPUT" - }, { - "key" : "s", - "name" : "S Value for Staging", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "S0", "S0", "VALUE:S0" ], [ "S1", "S0", "VALUE:S0" ], [ "S2", "S0", "VALUE:S0" ], [ "S3", "S0", "VALUE:S0" ], [ "SX", "S0", "VALUE:S0" ], [ "ERROR", "S0", "VALUE:S0" ], [ "S0", "S1", "VALUE:S1" ], [ "S1", "S1", "VALUE:S1" ], [ "S2", "S1", "VALUE:S1" ], [ "S3", "S1", "VALUE:S1" ], [ "SX", "S1", "VALUE:S1" ], [ "ERROR", "S1", "VALUE:S1" ], [ "S0", "S2", "VALUE:S2" ], [ "S1", "S2", "VALUE:S2" ], [ "S2", "S2", "VALUE:S2" ], [ "S3", "S2", "VALUE:S2" ], [ "SX", "S2", "VALUE:S2" ], [ "ERROR", "S2", "VALUE:S2" ], [ "S0", "S3", "VALUE:S3" ], [ "S1", "S3", "VALUE:S3" ], [ "S2", "S3", "VALUE:S3" ], [ "S3", "S3", "VALUE:S3" ], [ "SX", "S3", "VALUE:S3" ], [ "ERROR", "S3", "VALUE:S3" ], [ "S0", "SX", "VALUE:SX" ], [ "S1", "SX", "VALUE:SX" ], [ "S2", "SX", "VALUE:SX" ], [ "S3", "SX", "VALUE:SX" ], [ "SX", "SX", "VALUE:SX" ], [ "ERROR", "SX", "VALUE:SX" ], [ "S0", "ERROR", "ERROR:" ], [ "S1", "ERROR", "ERROR:" ], [ "S2", "ERROR", "ERROR:" ], [ "S3", "ERROR", "ERROR:" ], [ "SX", "ERROR", "ERROR:" ], [ "ERROR", "ERROR", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_less_than2010_xiz.json b/src/test/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_less_than2010_xiz.json deleted file mode 100644 index 8d9387d80..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_less_than2010_xiz.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_less_than2010_xiz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Combined Serum Tumor Marker S Value Table for Year of Diagnosis Less Than 2010", - "title" : "Combined Serum Tumor Marker S Value Table for Year of Diagnosis Less Than 2010", - "notes" : "**Note**: If the Year of Diagnosis is less than 2010 and the case is coded under CSv1 (CS Version Input Original less than 020000), then known information in CS Site-Specific Factors 13, 15, and 16 will take precedence. If CS Site-Specific Factors 13, 15, or 16 yield an SX or ERROR from Post-orchiectomy Serum Tumor Marker S Value Table Based on CS SSF 13, 15, 16, then the S value will be based on CS Site-Specific Factors 1, 2, and 3.", - "last_modified" : "2015-05-27T16:19:02.384Z", - "definition" : [ { - "key" : "s_123", - "name" : "S value based on CS SSF 1-3", - "type" : "INPUT" - }, { - "key" : "s_131516", - "name" : "S value based on CS SSF 13, 15, 16", - "type" : "INPUT" - }, { - "key" : "s", - "name" : "S Value for Staging", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "S0", "S0", "VALUE:S0" ], [ "S1", "S0", "VALUE:S0" ], [ "S2", "S0", "VALUE:S0" ], [ "S3", "S0", "VALUE:S0" ], [ "SX", "S0", "VALUE:S0" ], [ "ERROR", "S0", "VALUE:S0" ], [ "S0", "S1", "VALUE:S1" ], [ "S1", "S1", "VALUE:S1" ], [ "S2", "S1", "VALUE:S1" ], [ "S3", "S1", "VALUE:S1" ], [ "SX", "S1", "VALUE:S1" ], [ "ERROR", "S1", "VALUE:S1" ], [ "S0", "S2", "VALUE:S2" ], [ "S1", "S2", "VALUE:S2" ], [ "S2", "S2", "VALUE:S2" ], [ "S3", "S2", "VALUE:S2" ], [ "SX", "S2", "VALUE:S2" ], [ "ERROR", "S2", "VALUE:S2" ], [ "S0", "S3", "VALUE:S3" ], [ "S1", "S3", "VALUE:S3" ], [ "S2", "S3", "VALUE:S3" ], [ "S3", "S3", "VALUE:S3" ], [ "SX", "S3", "VALUE:S3" ], [ "ERROR", "S3", "VALUE:S3" ], [ "S0", "SX", "VALUE:S0" ], [ "S1", "SX", "VALUE:S1" ], [ "S2", "SX", "VALUE:S2" ], [ "S3", "SX", "VALUE:S3" ], [ "SX", "SX", "VALUE:SX" ], [ "ERROR", "SX", "VALUE:SX" ], [ "S0", "ERROR", "VALUE:S0" ], [ "S1", "ERROR", "VALUE:S1" ], [ "S2", "ERROR", "VALUE:S2" ], [ "S3", "ERROR", "VALUE:S3" ], [ "SX", "ERROR", "VALUE:SX" ], [ "ERROR", "ERROR", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/cs_input_version_original.json b/src/test/resources/algorithms/cs/02.05.50/tables/cs_input_version_original.json deleted file mode 100644 index d9e63f954..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/cs_input_version_original.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "cs_input_version_original", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "CS Version Original", - "title" : "Valid CS Versions", - "last_modified" : "2015-05-27T16:19:02.499Z", - "definition" : [ { - "key" : "cs_input_version_original", - "name" : "CS Version", - "type" : "INPUT" - } ], - "rows" : [ [ "020500-999999" ], [ "020440" ], [ "020302" ], [ "020200" ], [ "020100" ], [ "020001" ], [ "010401,010400" ], [ "010300" ], [ "010200" ], [ "010100,010005,010004,010003,010002,010000" ], [ "000937" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/cs_year_validation.json b/src/test/resources/algorithms/cs/02.05.50/tables/cs_year_validation.json deleted file mode 100644 index 4396b7b9c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/cs_year_validation.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "cs_year_validation", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "CS Year Validation", - "title" : "CS Year Validation", - "last_modified" : "2015-05-27T16:19:02.555Z", - "definition" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "2004-{{ctx_year_current}}", "*", "MATCH" ], [ "", "020500-999999,020440,020302,020200,020100,020001,010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/csextension_size_tablefor_ajcc6th_xba.json b/src/test/resources/algorithms/cs/02.05.50/tables/csextension_size_tablefor_ajcc6th_xba.json deleted file mode 100644 index 49a274dee..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/csextension_size_tablefor_ajcc6th_xba.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "csextension_size_tablefor_ajcc6th_xba", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "CS Extension Size Table for AJCC 6th", - "title" : "CS Extension Size Table for AJCC 6th", - "notes" : "**Note**: For CS Extension codes 200-310, and 380-390 ONLY, the T category for AJCC 6 staging is assigned based on CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:02.437Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "200", "000", "ERROR:" ], [ "210", "000", "ERROR:" ], [ "220", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "310", "000", "ERROR:" ], [ "380", "000", "ERROR:" ], [ "390", "000", "ERROR:" ], [ "200", "001-040", "VALUE:T1b1" ], [ "210", "001-040", "VALUE:T1b1" ], [ "220", "001-040", "VALUE:T1b1" ], [ "250", "001-040", "VALUE:T1b1" ], [ "300", "001-040", "VALUE:T1b1" ], [ "310", "001-040", "VALUE:T1b1" ], [ "380", "001-040", "VALUE:T1b1" ], [ "390", "001-040", "VALUE:T1b1" ], [ "200", "041-989", "VALUE:T1b2" ], [ "210", "041-989", "VALUE:T1b2" ], [ "220", "041-989", "VALUE:T1b2" ], [ "250", "041-989", "VALUE:T1b2" ], [ "300", "041-989", "VALUE:T1b2" ], [ "310", "041-989", "VALUE:T1b2" ], [ "380", "041-989", "VALUE:T1b2" ], [ "390", "041-989", "VALUE:T1b2" ], [ "200", "990-994", "VALUE:T1b1" ], [ "210", "990-994", "VALUE:T1b1" ], [ "220", "990-994", "VALUE:T1b1" ], [ "250", "990-994", "VALUE:T1b1" ], [ "300", "990-994", "VALUE:T1b1" ], [ "310", "990-994", "VALUE:T1b1" ], [ "380", "990-994", "VALUE:T1b1" ], [ "390", "990-994", "VALUE:T1b1" ], [ "200", "995", "VALUE:T1b2" ], [ "210", "995", "VALUE:T1b2" ], [ "220", "995", "VALUE:T1b2" ], [ "250", "995", "VALUE:T1b2" ], [ "300", "995", "VALUE:T1b2" ], [ "310", "995", "VALUE:T1b2" ], [ "380", "995", "VALUE:T1b2" ], [ "390", "995", "VALUE:T1b2" ], [ "200", "996-998", "ERROR:" ], [ "210", "996-998", "ERROR:" ], [ "220", "996-998", "ERROR:" ], [ "250", "996-998", "ERROR:" ], [ "300", "996-998", "ERROR:" ], [ "310", "996-998", "ERROR:" ], [ "380", "996-998", "ERROR:" ], [ "390", "996-998", "ERROR:" ], [ "200", "999", "VALUE:T1bNOS" ], [ "210", "999", "VALUE:T1b1" ], [ "220", "999", "VALUE:T1b2" ], [ "250", "999", "VALUE:T1bNOS" ], [ "300", "999", "VALUE:T1NOS" ], [ "310", "999", "VALUE:T1NOS" ], [ "380", "999", "VALUE:T1bNOS" ], [ "390", "999", "VALUE:T1bNOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns29.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns29.json deleted file mode 100644 index ef0e37abb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns29.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_m_ns29", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 M", - "title" : "Determining Which Mets Calculation Table Applies for AJCC 6 M", - "last_modified" : "2015-05-27T16:19:02.661Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000,100,800,999", "JUMP:metsat_dxmets_eval_ajcc6_xck" ], [ "200,250", "JUMP:lymph_nodes_metsat_dxajcc6_xfh_m" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns4.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns4.json deleted file mode 100644 index 0f7de8bad..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_m_ns4.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_m_ns4", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 M", - "title" : "Determining Which Lymph Nodes/Mets Calculation Table Applies for AJCC 6 M", - "last_modified" : "2015-05-27T16:19:02.721Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "150,250,350,400,450,505", "00", "JUMP:lymph_nodes_size_mets00_ajcc6_xdo_m" ], [ "150,250,350,400,450,505", "10,50", "JUMP:lymph_nodes_size_mets10or50_ajcc6_xid_m" ], [ "150,250,350,400,450,505", "11,40,55,60", "JUMP:lymph_nodes_size_mets114055or60_ajcc6_xdv_m" ], [ "150,250,350,400,450,505", "99", "JUMP:lymph_nodes_size_mets99_ajcc6_xdp_m" ], [ "000,100,200,300,500,800,999", "*", "MATCH:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_meval_ns30.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_meval_ns30.json deleted file mode 100644 index b2e96929a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_meval_ns30.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_meval_ns30", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 M EvaL", - "title" : "Determining Whether M Eval has already been set for AJCC 6", - "last_modified" : "2015-05-27T16:19:02.608Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "mdescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "200, 250", "00,10,20,30,35,40,45,50,55,60,65,70,75,80,99", "MATCH:" ], [ "000,100,800,999", "*", "JUMP:mets_eval_ipa" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns1.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns1.json deleted file mode 100644 index a0a49943a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns1.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_n_ns1", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 6", - "last_modified" : "2015-05-27T16:19:02.815Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "JUMP:lymph_nodes_clinical_evaluation_ajcc6_xbk" ], [ "2,3,6,8", "JUMP:lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr" ], [ "", "JUMP:lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns10.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns10.json deleted file mode 100644 index bf83b86e8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns10.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_n_ns10", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 6", - "last_modified" : "2015-05-27T16:19:02.859Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "JUMP:lymph_nodes_clinical_evaluation_ajcc6_xbj" ], [ "2,3,6,8", "JUMP:lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr" ], [ "", "JUMP:lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns13.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns13.json deleted file mode 100644 index a28db4595..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns13.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_n_ns13", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 6", - "last_modified" : "2015-05-27T16:19:02.905Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "1,9", "JUMP:lymph_nodes_clinical_evaluation1or9_ajcc6_xbf" ], [ "0,5", "JUMP:lymph_nodes_clinical_evaluation0or5_ajcc6_xbg" ], [ "2,3,6,8", "JUMP:lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp" ], [ "", "JUMP:lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns22.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns22.json deleted file mode 100644 index 6a10ceb62..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns22.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_n_ns22", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 6", - "last_modified" : "2015-05-27T16:19:02.954Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "JUMP:lymph_nodes_clinical_evaluation6th_xqf" ], [ "2,3,6,8", "JUMP:lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xqg" ], [ "", "JUMP:lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xqg" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns23.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns23.json deleted file mode 100644 index 1e6b038ed..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns23.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_n_ns23", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 6", - "last_modified" : "2015-05-27T16:19:03.002Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "JUMP:lymph_nodes_clinical_evaluation_ajcc6_xpo" ], [ "2,3,6,8", "JUMP:lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp" ], [ "", "JUMP:lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns24.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns24.json deleted file mode 100644 index e3222d0c0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns24.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_n_ns24", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 6", - "last_modified" : "2015-05-27T16:19:03.053Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "JUMP:lymph_nodes_clinical_evaluation_ajcc6_xbi" ], [ "2,3,6,8", "JUMP:lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr" ], [ "", "JUMP:lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns26.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns26.json deleted file mode 100644 index a7ba0f352..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns26.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_n_ns26", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 6", - "last_modified" : "2015-05-27T16:19:03.109Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "JUMP:lymph_nodes_clinical_evaluation_ajcc6_xbe" ], [ "2,3,6,8", "JUMP:lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp" ], [ "", "JUMP:lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns3.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns3.json deleted file mode 100644 index 1b555b2e3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns3.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_n_ns3", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 N", - "title" : "Determining Which Lymph Nodes/Mets Calculation Table Applies for AJCC 6 N", - "last_modified" : "2015-05-27T16:19:03.157Z", - "definition" : [ { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "JUMP:lymph_nodes_size_mets00_ajcc6_xdo_n" ], [ "10,50", "JUMP:lymph_nodes_size_mets10or50_ajcc6_xid_n" ], [ "11,40,55,60", "JUMP:lymph_nodes_size_mets114055or60_ajcc6_xdv_n" ], [ "99", "JUMP:lymph_nodes_size_mets99_ajcc6_xdp_n" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns41.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns41.json deleted file mode 100644 index 6c6e8240e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns41.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_n_ns41", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 6", - "last_modified" : "2015-05-27T16:19:03.216Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "AJCC 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "JUMP:lymph_nodeand_nodal_status_clinical_eval_ajcc6_xlk" ], [ "2,3,6,8", "JUMP:lymph_nodeand_nodal_status_pathologic_eval_ajcc6_xll" ], [ "", "JUMP:lymph_nodeand_nodal_status_eval_blank_ajcc6_xlm" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns8.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns8.json deleted file mode 100644 index 703787e41..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns8.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_n_ns8", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 6", - "last_modified" : "2015-05-27T16:19:03.275Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "JUMP:lymph_nodes_clinical_evaluation_ajcc6_xpq" ], [ "2,3,6,8", "JUMP:lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr" ], [ "", "JUMP:lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns9.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns9.json deleted file mode 100644 index e2350858b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_n_ns9.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_n_ns9", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC N", - "last_modified" : "2016-07-05T18:05:17.696Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "JUMP:lymph_nodes_clinical_evaluation_xcx" ], [ "2,3,6,8", "JUMP:lymph_nodes_pathologic_evaluation_xcw" ], [ "", "JUMP:lymph_nodes_positive_axillary_node_xcy" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_neval_ns31.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_neval_ns31.json deleted file mode 100644 index 099f6ddd6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_neval_ns31.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_neval_ns31", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 N EvaL", - "title" : "Determining Whether N Eval has already been set for AJCC 6", - "last_modified" : "2015-05-27T16:19:02.770Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ndescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "200, 250", "00,10,20,30,35,40,45,50,55,60,65,70,75,80,99", "MATCH:" ], [ "000,100,800,999", "*", "JUMP:nodes_eval_epa" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns15.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns15.json deleted file mode 100644 index 67936b020..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns15.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_stg_ns15", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 Stage Group", - "title" : "Determining Which AJCC 6 Stage Calculation Applies based on Extension", - "last_modified" : "2015-05-27T16:19:03.387Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "JUMP:ajcc_tnm6_stage_csv1_xie" ], [ "105", "JUMP:ajcc6_stage_qdy" ], [ "110", "JUMP:ajcc_tnm6_stage_csv1_xie" ], [ "115", "JUMP:ajcc6_stage_qdy" ], [ "120", "JUMP:ajcc_tnm6_stage_csv1_xie" ], [ "125, 150", "JUMP:ajcc6_stage_qdy" ], [ "200, 210, 220, 230, 300", "JUMP:ajcc_tnm6_stage_csv1_xie" ], [ "305", "JUMP:ajcc6_stage_qdy" ], [ "310", "JUMP:ajcc_tnm6_stage_csv1_xie" ], [ "315", "JUMP:ajcc6_stage_qdy" ], [ "320", "JUMP:ajcc_tnm6_stage_csv1_xie" ], [ "325", "JUMP:ajcc6_stage_qdy" ], [ "330", "JUMP:ajcc_tnm6_stage_csv1_xie" ], [ "335, 350, 500, 700, 710, 720, 730, 750", "JUMP:ajcc6_stage_qdy" ], [ "800", "JUMP:ajcc_tnm6_stage_csv1_xie" ], [ "805, 950, 989", "JUMP:ajcc6_stage_qdy" ], [ "999", "JUMP:ajcc_tnm6_stage_csv1_xie" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns37.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns37.json deleted file mode 100644 index 80396ada5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_stg_ns37.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_stg_ns37", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 Stage Group", - "title" : "Determining Which Calculation Table Applies for AJCC 6 Stage Group", - "last_modified" : "2015-05-27T16:19:03.443Z", - "definition" : [ { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", ",2004-2009", "JUMP:ajcctnm6_stage_csv1_xpz" ], [ "020500-999999,020440,020302,020200,020100,020001", ",2004-9999", "JUMP:ajcc6_stage_qpq" ], [ "000937-999999", "2010-9999", "JUMP:ajcc6_stage_qpq" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns16.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns16.json deleted file mode 100644 index a64559128..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns16.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_t_ns16", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 T", - "title" : "Determining Which Extension Calculation Table Applies for AJCC 6 T", - "last_modified" : "2015-05-27T16:19:03.606Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "Site Specific Factor 1", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "2,3,6,8", "*", "JUMP:pathologic_eval_extension_thickness_ajcc6_xbt" ], [ "", "000-996, 999", "JUMP:pathologic_eval_extension_thickness_ajcc6_xbt" ], [ "0,1,5,9", "000-996, 998, 999", "JUMP:clinical_eval_extension_thickness_ajcc6_xbw" ], [ "", "998", "JUMP:clinical_eval_extension_thickness_ajcc6_xbw" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns33.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns33.json deleted file mode 100644 index 51063c584..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns33.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_t_ns33", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for T", - "title" : "Determining Which Extension Calculation Table Applies for the AJCC 6 T", - "last_modified" : "2015-05-27T16:19:03.662Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "8020,8021,8030-8032", ",1-9", "JUMP:histology_grade_extension_ajcc6_xkw" ], [ "8000-8019,8022,8033-9992", "4", "JUMP:histology_grade_extension_ajcc6_xkw" ], [ "8000-8019,8022,8033-9992", "1-3,5-9", "JUMP:extension_size_ajcc6_xbc" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns34.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns34.json deleted file mode 100644 index ed75ff14b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns34.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_t_ns34", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 T", - "title" : "Determining Which Extension Calculation Table Applies for AJCC 6 T", - "last_modified" : "2015-05-27T16:19:03.714Z", - "definition" : [ { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", ",2004-2009", "JUMP:extension_orchiectomy_lviajcc6_table_csv1_xbv" ], [ "020500-999999,020440,020302,020200,020100,020001", ",2004-9999", "JUMP:extension_orchiectomy_lviajcc6_table_csv2_xis" ], [ "000937-999999", "2010-9999", "JUMP:extension_orchiectomy_lviajcc6_table_csv2_xis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns39.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns39.json deleted file mode 100644 index 595fc7df8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns39.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_t_ns39", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for T", - "title" : "Determining Which Extension Calculation Table Applies for AJCC 6 T", - "last_modified" : "2015-05-27T16:19:03.770Z", - "definition" : [ { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "ssf6", - "name" : "CS SSF6 Perineural Invasion", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", ",2004-2009", ",988", "JUMP:extension_size_ajcc6_table_csv1_xjb" ], [ "010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", ",2004-2009", "000,997-999", "JUMP:extension_size_perineural_invasion_negativeor_unknown_ajcc6_table_csv2_xgl" ], [ "020500-999999,020440,020302,020200,020100,020001", ",2004-9999", "000,997-999", "JUMP:extension_size_perineural_invasion_negativeor_unknown_ajcc6_table_csv2_xgl" ], [ "000937-999999", "2010-9999", "000,997-999", "JUMP:extension_size_perineural_invasion_negativeor_unknown_ajcc6_table_csv2_xgl" ], [ "010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", ",2004-2009", "010", "JUMP:extension_size_perineural_invasion_positive_ajcc6_table_csv2_xgm" ], [ "020500-999999,020440,020302,020200,020100,020001", ",2004-9999", "010", "JUMP:extension_size_perineural_invasion_positive_ajcc6_table_csv2_xgm" ], [ "000937-999999", "2010-9999", "010", "JUMP:extension_size_perineural_invasion_positive_ajcc6_table_csv2_xgm" ], [ "010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", ",2004-2009", "888", "JUMP:extension_size_perineural_invasion888988_ajcc6_table_csv2_xij" ], [ "020500-999999,020440,020302,020200,020100,020001", ",2004-9999", "888,988", "JUMP:extension_size_perineural_invasion888988_ajcc6_table_csv2_xij" ], [ "000937-999999", "2010-9999", "888,988", "JUMP:extension_size_perineural_invasion888988_ajcc6_table_csv2_xij" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns6.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns6.json deleted file mode 100644 index d6825f8fb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns6.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_t_ns6", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 T", - "title" : "Determining Which Extension Cytology Calculation Table Applies for AJCC 6", - "last_modified" : "2015-05-27T16:19:03.828Z", - "definition" : [ { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", ",2004-2009", "JUMP:extension_cytology_ajcc6_table_csv1_xkn" ], [ "020500-999999,020440,020302,020200,020100,020001", ",2004-9999", "JUMP:extension_cytology_ajcc6_table_csv2_xkm" ], [ "000937-999999", "2010-9999", "JUMP:extension_cytology_ajcc6_table_csv2_xkm" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns7.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns7.json deleted file mode 100644 index 16030708e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_t_ns7.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_t_ns7", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 T", - "title" : "Determining Which Extension Cytology Calculation Table Applies for AJCC 6", - "last_modified" : "2015-05-27T16:19:03.877Z", - "definition" : [ { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", ",2004-2009", "JUMP:extension_cytology_ajcc6_table_csv1_xko" ], [ "020500-999999,020440,020302,020200,020100,020001", ",2004-9999", "JUMP:extension_cytology_ajcc6_table_csv2_xkq" ], [ "000937-999999", "2010-9999", "JUMP:extension_cytology_ajcc6_table_csv2_xkq" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns44.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns44.json deleted file mode 100644 index b682114f0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns44.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_tm_ns44", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 T,M - T value", - "title" : "Determining Which Extension/Mets Calculation Table Applies for AJCC 6 T", - "last_modified" : "2015-05-27T16:19:03.505Z", - "definition" : [ { - "key" : "ssf1", - "name" : "CS Site Specific Factor 1", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "888", "*", "JUMP:extension_mets_ssf1_ajcc6_xjo_t" ], [ "010,040", "*", "JUMP:size_extension_mets_ssf1_ajcc6_xjp_t" ], [ "030", "*", "JUMP:size_extension_mets_ssf1_ajcc6_xjq_t" ], [ "020", "*", "JUMP:size_extension_mets_ssf1_ajcc6_xjr_t" ], [ "000,988,999", "00", "JUMP:size_extension_mets_ssf1_ajcc6_xjs_t" ], [ "000,988,999", "15,18,20,24", "JUMP:size_extension_mets_ssf1_ajcc6_xjt_t" ], [ "000,988,999", "17,21,25,32,33,42,43,52,53", "JUMP:size_extension_mets_ssf1_ajcc6_xju_t" ], [ "000,988,999", "16,23,26,30,35-38,40,41,50,51,70,75", "JUMP:size_extension_mets_ssf1_ajcc6_xjv_t" ], [ "000,988,999", "99", "JUMP:size_extension_mets_ssf1_ajcc6_xjw_t" ], [ "000,988,999", "10,39", "JUMP:size_extension_mets_ssf1_ajcc6_xjx_t" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns47.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns47.json deleted file mode 100644 index a684f8a6b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc6_tm_ns47.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc6_tm_ns47", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 6 T,M - M value", - "title" : "Determining Which Extension/Mets Calculation Table Applies for AJCC 6 M", - "last_modified" : "2015-05-27T16:19:03.556Z", - "definition" : [ { - "key" : "ssf1", - "name" : "CS Site Specific Factor 1", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "888", "*", "JUMP:extension_mets_ssf1_ajcc6_xjo_m" ], [ "010,040", "*", "JUMP:size_extension_mets_ssf1_ajcc6_xjp_m" ], [ "030", "*", "JUMP:size_extension_mets_ssf1_ajcc6_xjq_m" ], [ "020", "*", "JUMP:size_extension_mets_ssf1_ajcc6_xjr_m" ], [ "000,988,999", "00", "JUMP:size_extension_mets_ssf1_ajcc6_xjs_m" ], [ "000,988,999", "15,18,20,24", "JUMP:size_extension_mets_ssf1_ajcc6_xjt_m" ], [ "000,988,999", "17,21,25,32,33,42,43,52,53", "JUMP:size_extension_mets_ssf1_ajcc6_xju_m" ], [ "000,988,999", "16,23,26,30,35-38,40,41,50,51,70,75", "JUMP:size_extension_mets_ssf1_ajcc6_xjv_m" ], [ "000,988,999", "99", "JUMP:size_extension_mets_ssf1_ajcc6_xjw_m" ], [ "000,988,999", "10,39", "JUMP:size_extension_mets_ssf1_ajcc6_xjx_m" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns11.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns11.json deleted file mode 100644 index 9229dad84..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns11.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_n_ns11", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 7 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 7", - "last_modified" : "2015-05-27T16:19:03.929Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "1,9", "020440,020302,020200,020100,020001,010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", "JUMP:lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xqh" ], [ "1,9", "020500-999999", "JUMP:lymph_nodes_clinical_eval_v0205_ajcc7_xaj" ], [ "0,5", "*", "JUMP:lymph_nodes_clinical_eval_v0205_ajcc7_xaj" ], [ "2,3,6,8", "*", "JUMP:lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi" ], [ "", "*", "JUMP:lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns12.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns12.json deleted file mode 100644 index d9c3b16f3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns12.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_n_ns12", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 7 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 7", - "last_modified" : "2015-05-27T16:19:03.985Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "1,9", "020440,020302,020200,020100,020001,010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", "JUMP:lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfq" ], [ "1,9", "020500-999999", "JUMP:lymph_nodes_clinical_eval_v0205_ajcc7_xaw" ], [ "0,5", "*", "JUMP:lymph_nodes_clinical_eval_v0205_ajcc7_xaw" ], [ "2,3,6,8", "*", "JUMP:lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xfr" ], [ "", "*", "JUMP:lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xfr" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns14.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns14.json deleted file mode 100644 index fb877b83e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns14.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_n_ns14", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 7 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 7", - "last_modified" : "2015-05-27T16:19:04.032Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "1,9", "020440,020302,020200,020100,020001,010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", "JUMP:lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfs" ], [ "1,9", "020500-999999", "JUMP:lymph_nodes_clinical_eval_v0205_ajcc7_xax" ], [ "0,5", "000937-999999", "JUMP:lymph_nodes_clinical_eval_v0205_ajcc7_xax" ], [ "2,3,6,8", "*", "JUMP:lymph_nodes_pathologic_evaluation7th_table_also_used_when_csreg_nodes_evalis_not_coded_xft" ], [ "", "*", "JUMP:lymph_nodes_pathologic_evaluation7th_table_also_used_when_csreg_nodes_evalis_not_coded_xft" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns18.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns18.json deleted file mode 100644 index 58598d16a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns18.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_n_ns18", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 7 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 7", - "last_modified" : "2015-05-27T16:19:04.090Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0-3,5,6,8,9", "JUMP:lymph_nodeand_nodal_status_eval_ajcc7_xlg" ], [ "", "JUMP:lymph_nodeand_nodal_status_eval_blank_ajcc7_xln" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns19.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns19.json deleted file mode 100644 index 9fb0fe117..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns19.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_n_ns19", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 7 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 7", - "last_modified" : "2015-05-27T16:19:04.152Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0-3,5,6,8,9", "JUMP:lymph_nodeand_nodal_status_eval_ajcc7_xlb" ], [ "", "JUMP:lymph_nodeand_nodal_status_eval_blank_ajcc7_xlo" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns2.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns2.json deleted file mode 100644 index c27554e30..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns2.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_n_ns2", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 7 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 7", - "last_modified" : "2015-05-27T16:19:04.422Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "1,9", "020440,020302,020200,020100,020001,010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", "JUMP:lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xee" ], [ "1,9", "020500-999999", "JUMP:lymph_nodes_clinical_eval_v0205_ajcc7_xcd" ], [ "0,5", "*", "JUMP:lymph_nodes_clinical_eval_v0205_ajcc7_xcd" ], [ "2,3,6,8", "*", "JUMP:lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg" ], [ "", "*", "JUMP:lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns20.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns20.json deleted file mode 100644 index a15c84721..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns20.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_n_ns20", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 7 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 7", - "last_modified" : "2015-05-27T16:19:04.475Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0-3,5,6,8,9", "JUMP:lymph_nodeand_nodal_status_eval_ajcc7_xle" ], [ "", "JUMP:lymph_nodeand_nodal_status_eval_blank_ajcc7_xlp" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns21.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns21.json deleted file mode 100644 index 7ff0a3253..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns21.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_n_ns21", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 7 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 7", - "last_modified" : "2015-05-27T16:19:04.523Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0-3,5,6,8,9", "JUMP:lymph_nodeand_nodal_status_eval_ajcc7_xld" ], [ "", "JUMP:lymph_nodeand_nodal_status_eval_blank_ajcc7_xlq" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns25.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns25.json deleted file mode 100644 index ac2adc936..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns25.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_n_ns25", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 7 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 7", - "last_modified" : "2015-05-27T16:19:04.576Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "1,9", "020440,020302,020200,020100,020001,010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", "JUMP:lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xqh" ], [ "1,9", "020500-999999", "JUMP:lymph_nodes_clinical_eval_v0205_ajcc7_xch" ], [ "0,5", "000937-999999", "JUMP:lymph_nodes_clinical_eval_v0205_ajcc7_xch" ], [ "2,3,6,8", "000937-999999", "JUMP:lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi" ], [ "", "000937-999999", "JUMP:lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns27.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns27.json deleted file mode 100644 index ff1600581..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns27.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_n_ns27", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 7 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 7", - "last_modified" : "2015-05-27T16:19:04.635Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "1,9", "020440,020302,020200,020100,020001,010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", "JUMP:lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdh" ], [ "1,9", "020500-999999", "JUMP:lymph_nodes_clinical_eval_v0205_ajcc7_xam" ], [ "0,5", "*", "JUMP:lymph_nodes_clinical_eval_v0205_ajcc7_xam" ], [ "2,3,6,8", "*", "JUMP:lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_csreg_nodes_evalis_not_coded_xdi" ], [ "", "*", "JUMP:lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_csreg_nodes_evalis_not_coded_xdi" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns40.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns40.json deleted file mode 100644 index 28e4427dd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns40.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_n_ns40", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 7 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 7", - "last_modified" : "2015-05-27T16:19:04.684Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "JUMP:lymph_nodeand_nodal_status_clinical_eval_ajcc7_xlh" ], [ "2,3,6,8", "JUMP:lymph_nodeand_nodal_status_pathologic_eval_ajcc7_xli" ], [ "", "JUMP:lymph_nodeand_nodal_status_eval_blank_ajcc7_xlj" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns5.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns5.json deleted file mode 100644 index 81f9ad71e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_n_ns5.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_n_ns5", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 7 N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies for AJCC 7", - "last_modified" : "2015-05-27T16:19:04.730Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "1,9", "020440,020302,020200,020100,020001,010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", "JUMP:lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdf" ], [ "1,9", "020500-999999", "JUMP:lymph_nodes_clinical_eval_v0205_ajcc7_xao" ], [ "0,5", "*", "JUMP:lymph_nodes_clinical_eval_v0205_ajcc7_xao" ], [ "2,3,6,8", "*", "JUMP:lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xdg" ], [ "", "*", "JUMP:lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns17.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns17.json deleted file mode 100644 index 4e4c6aa52..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns17.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_t_ns17", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 7 T", - "title" : "Determining Which Extension Calculation Table Applies for AJCC 7 T", - "last_modified" : "2015-05-27T16:19:04.778Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "Site Specific Factor 1", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "2,3,6,8", "000-996, 998, 999", "JUMP:pathologic_eval_extension_thickness_ajcc7_xcb" ], [ "", "000-996, 999", "JUMP:pathologic_eval_extension_thickness_ajcc7_xcb" ], [ "0,1,5,9", "000-996, 998, 999", "JUMP:clinical_eval_extension_quadrants_ajcc7_xca" ], [ "", "998", "JUMP:clinical_eval_extension_quadrants_ajcc7_xca" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns32.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns32.json deleted file mode 100644 index 40af32b26..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns32.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_t_ns32", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for T", - "title" : "Determining Which Extension Calculation Table Applies for the AJCC 7 T", - "last_modified" : "2015-05-27T16:19:04.824Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "8020,8021,8030-8032", ",1-9", "JUMP:histology_grade_extension_ssf1_ajcc7_xkv" ], [ "8000-8019,8022,8033-9992", "4", "JUMP:histology_grade_extension_ssf1_ajcc7_xkv" ], [ "8000-8019,8022,8033-9992", "1-3,5-9", "JUMP:extension_size_ssf1_ajcc7_xgb" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns38.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns38.json deleted file mode 100644 index b7a34286d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns38.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_t_ns38", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for T", - "title" : "Determining Which Extension Calculation Table Applies for the AJCC 7 T", - "last_modified" : "2015-05-27T16:19:04.873Z", - "definition" : [ { - "key" : "ssf6", - "name" : "CS SSF6 Perineural Invasion", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000,997-999", "JUMP:extension_size_perineural_invasion_negativeor_unknown_ajcc7_xgj" ], [ "010", "JUMP:extension_size_perineural_invasion_positive_ajcc7_xgk" ], [ "888,988", "JUMP:extension_size_perineural_invasion888988_ajcc7_xic" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns43.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns43.json deleted file mode 100644 index 6f9d94d55..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ajcc7_t_ns43.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_ajcc7_t_ns43", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for AJCC 7 T", - "title" : "Determining Which Extension Calculation Table Applies for AJCC 7 T", - "last_modified" : "2015-05-27T16:19:04.918Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Site Specific Factor 1", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000, 999", "JUMP:size_extension_ssf1_ajcc7_t_xjz" ], [ "010,020,030,040", "JUMP:size_extension_ssf1_ajcc7_t_xka" ], [ "888, 988", "JUMP:extension_ssf1_ajcc7_t_xjy" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_m_ns48.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_m_ns48.json deleted file mode 100644 index 9d93cd8e4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_m_ns48.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_m_ns48", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for M", - "title" : "Determine Correct Table for M", - "last_modified" : "2015-05-27T16:19:04.963Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00,10,15-18,20,21,23-26,30,32,33,35-43,50-53,70,75,99", "Valid Codes", "JUMP:mets_hab" ], [ "01-09,11-14,19,22,27-29,31,34,44-49,54-69,71-74,76-98", "Invalid Codes. Some combinations of Stage under AJCC 6.", "JUMP:invalid_lung_m_values_ns49" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_n_ns35.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_n_ns35.json deleted file mode 100644 index 108cefca1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_n_ns35.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_n_ns35", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for N", - "title" : "Determining Which Lymph Nodes Calculation Table Applies", - "last_modified" : "2015-05-27T16:19:05.012Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "JUMP:lymph_nodes_clinical_eval_xgt" ], [ "2,3,6,8", "JUMP:lymph_nodes_pathologic_eval_xgu" ], [ "", "JUMP:lymph_nodes_positive_eval_blank_xgv" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_s_ns36.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_s_ns36.json deleted file mode 100644 index d53aa61dc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_s_ns36.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_s_ns36", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for S", - "title" : "Determining Which Calculation Table Applies for S Value", - "last_modified" : "2015-05-27T16:19:05.173Z", - "definition" : [ { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "s", - "name" : "S Value", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", ",2004-2009", "JUMP:combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_less_than2010_xiz" ], [ "020500-999999,020440,020302,020200,020100,020001", ",2004-9999", "JUMP:combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_greater_than2009_xiy" ], [ "000937-999999", "2010-9999", "JUMP:combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_greater_than2009_xiy" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss00t_ns46.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss00t_ns46.json deleted file mode 100644 index c87506196..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss00t_ns46.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ss00t_ns46", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for SS 2000 T", - "title" : "Determining Which Calculation Table Applies for SS 2000 T", - "last_modified" : "2015-05-27T16:19:05.062Z", - "definition" : [ { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", ",2004-2009", "JUMP:extension_ssf1_summary_stage2000_xkf" ], [ "020500-999999,020440,020302,020200,020100,020001", ",2004-9999", "JUMP:extension_ssf1_summary_stage2000_xke" ], [ "020500-999999,020440,020302,020200,020100,020001,010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", "2010-9999", "JUMP:extension_ssf1_summary_stage2000_xke" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss77t_ns45.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss77t_ns45.json deleted file mode 100644 index 1186b07a4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_ss77t_ns45.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "determine_correct_table_for_ss77t_ns45", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for SS 1977 T", - "title" : "Determining Which Calculation Table Applies for SS 1977 T", - "last_modified" : "2015-05-27T16:19:05.114Z", - "definition" : [ { - "key" : "cs_input_version_original", - "name" : "CS Version Input Original", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", ",2004-2009", "JUMP:extension_ssf1_summary_stage77_xkd" ], [ "020500-999999,020440,020302,020200,020100,020001", ",2004-9999", "JUMP:extension_ssf1_summary_stage77_xkc" ], [ "020500-999999,020440,020302,020200,020100,020001,010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", "2010-9999", "JUMP:extension_ssf1_summary_stage77_xkc" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_t_ns28.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_t_ns28.json deleted file mode 100644 index 6e154bec6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_correct_table_for_t_ns28.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "determine_correct_table_for_t_ns28", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Correct Table for T", - "title" : "Determining Which Extension Calculation Table Applies for the T values", - "last_modified" : "2015-05-27T16:19:05.226Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Site Specific Factor 3", - "type" : "INPUT" - }, { - "key" : "temp_ajcc_t", - "name" : "T Table", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "JUMP:special_calculation_non_invasive_pathologic_extension_xdr_xdt_xdq" ], [ "020-023,030-034,040-043,045,048,050,052,060,070,095-099,200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750,950,960,970,980,985,990", "JUMP:special_calculation_invasive_unknown_pathologic_extension_xds_xdu_xdq" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc6_ns50.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc6_ns50.json deleted file mode 100644 index 531248c0b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc6_ns50.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "determine_validity_for_ajcc6_ns50", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Validity of TNM for AJCC 6 Stage - Age at DX = 999", - "title" : "Determine Validity of TNM for AJCC 6 Stage - Age at DX = 999", - "last_modified" : "2015-05-27T16:19:05.277Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ajcc6_stage", - "name" : "Stage Table 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0,T1,T2,T3,T4a,T4b,T4NOS,TX", "N0,N1a,N1b,N1NOS,NX", "M0,M1,MX", "VALUE:UNK" ], [ "*", "*", "", "ERROR:" ], [ "*", "", "*", "ERROR:" ], [ "", "*", "*", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc7_ns42.json b/src/test/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc7_ns42.json deleted file mode 100644 index c9ee61f58..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/determine_validity_for_ajcc7_ns42.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "determine_validity_for_ajcc7_ns42", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Determine Validity of TNM for AJCC 7 Stage - Age at DX = 999", - "title" : "Determine Validity of TNM for AJCC 7 Stage - Age at DX = 999", - "last_modified" : "2015-05-27T16:19:05.329Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ajcc7_stage", - "name" : "Stage Table 7", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T0,T1a,T1a(s),T1a(m),T1b,T1b(s),T1b(m),T1NOS,T1NOS(s),T1NOS(m),T2,T2(s),T2(m),T3,T3(s),T3(m),T4a,T4a(s),T4a(m),T4b,T4b(s),T4b(m),T4NOS,T4NOS(s),T4NOS(m),TX", "N0,N1a,N1b,N1NOS,NX", "M0,M1", "VALUE:UNK" ], [ "*", "*", "", "ERROR:" ], [ "*", "", "*", "ERROR:" ], [ "", "*", "*", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/eval_extension_t3_ajcc7_xgh.json b/src/test/resources/algorithms/cs/02.05.50/tables/eval_extension_t3_ajcc7_xgh.json deleted file mode 100644 index 8c8fec736..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/eval_extension_t3_ajcc7_xgh.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eval_extension_t3_ajcc7_xgh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Eval Extension T3 AJCC7", - "title" : "Eval Extension T3 AJCC 7 Table", - "notes" : "**Note 1**: For CS Extension codes 710-740 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS TS/Ext Eval and CS Extension as shown here.\n\n**Note 2**: Not all users of Collaborative Stagecollect the evaluation fields. For this schema, if CS TS/Ext Eval is empty or invalid, the T3 category will be calculated as if CS TS/Ext Eval were '9'.", - "last_modified" : "2015-05-27T16:19:05.377Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "CS TS/Ext Eval", - "type" : "INPUT" - }, { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "710", "VALUE:T3a" ], [ "1", "710", "VALUE:T3a" ], [ "2", "710", "VALUE:T3" ], [ "3", "710", "VALUE:T3" ], [ "5", "710", "VALUE:T3a" ], [ "6", "710", "VALUE:T3" ], [ "8", "710", "VALUE:T3" ], [ "9", "710", "VALUE:T3a" ], [ ",4,7", "710", "VALUE:T3a" ], [ "0", "720", "VALUE:T3b" ], [ "1", "720", "VALUE:T3b" ], [ "2", "720", "VALUE:T3" ], [ "3", "720", "VALUE:T3" ], [ "5", "720", "VALUE:T3b" ], [ "6", "720", "VALUE:T3" ], [ "8", "720", "VALUE:T3" ], [ "9", "720", "VALUE:T3b" ], [ ",4,7", "720", "VALUE:T3b" ], [ "0", "730", "VALUE:T3c" ], [ "1", "730", "VALUE:T3c" ], [ "2", "730", "VALUE:T3" ], [ "3", "730", "VALUE:T3" ], [ "5", "730", "VALUE:T3c" ], [ "6", "730", "VALUE:T3" ], [ "8", "730", "VALUE:T3" ], [ "9", "730", "VALUE:T3c" ], [ ",4,7", "730", "VALUE:T3c" ], [ "0", "740", "VALUE:T3d" ], [ "1", "740", "VALUE:T3d" ], [ "2", "740", "VALUE:T3" ], [ "3", "740", "VALUE:T3" ], [ "5", "740", "VALUE:T3d" ], [ "6", "740", "VALUE:T3" ], [ "8", "740", "VALUE:T3" ], [ "9", "740", "VALUE:T3d" ], [ ",4,7", "740", "VALUE:T3d" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_baa.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_baa.json deleted file mode 100644 index 54f4ab56d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_baa.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_baa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: High-grade squamous intraepithelial lesions (HSIL) and anal intraepithelial neoplasia (AIN) grade II III are not normally collected by cancer registries. AIN II III or AIN III is reportable to standard-setters (except the Commission on Cancer). If your registry collects any of these, use code 000.\n\n**Note 2**: The assignment of T1, T2 , and T3 categories for tumors of the anus is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use code 310, 320, 330, or 850 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 3**: Code incidental finding of malignancy in hemorrhoid according to greatest extension of tumor into wall of anus. Code as Localized, NOS if extension not specified.\n\n**Note 4**: Codes 400-750 are used for contiguous extension from the site of origin. Discontinuous involvement is coded in CS Mets at DX.", - "footnotes" : "- For CS Extension codes 100-400 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-400 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:05.449Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive\nAIN III\nBowen disease", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to mucosa, NOS (including intramucosal, NOS)", "JUMP:extension_size_xaa", "JUMP:extension_size_xaa", "VALUE:L", "VALUE:L" ], [ "110", "Invades lamina propria", "JUMP:extension_size_xaa", "JUMP:extension_size_xaa", "VALUE:L", "VALUE:L" ], [ "120", "Invades muscularis mucosae", "JUMP:extension_size_xaa", "JUMP:extension_size_xaa", "VALUE:L", "VALUE:L" ], [ "160", "Invades submucosa (superficial invasion)", "JUMP:extension_size_xaa", "JUMP:extension_size_xaa", "VALUE:L", "VALUE:L" ], [ "200", "Invades muscularis propria (internal sphincter)", "JUMP:extension_size_xaa", "JUMP:extension_size_xaa", "VALUE:L", "VALUE:L" ], [ "300", "Incidental finding of malignancy in hemorrhoid, NOS\nLocalized, NOS", "JUMP:extension_size_xaa", "JUMP:extension_size_xaa", "VALUE:L", "VALUE:L" ], [ "310", "Stated as T1 with no other information on extension", "JUMP:extension_size_xaa", "JUMP:extension_size_xaa", "VALUE:L", "VALUE:L" ], [ "320", "Stated as T2 with no other information on extension", "JUMP:extension_size_xaa", "JUMP:extension_size_xaa", "VALUE:L", "VALUE:L" ], [ "330", "Stated as T3 with no other information on extension", "JUMP:extension_size_xaa", "JUMP:extension_size_xaa", "VALUE:L", "VALUE:L" ], [ "400", "Ischiorectal fat/tissue\nPerianal skin\nPerirectal skin\nRectal mucosa or submucosa\nRectal wall\nSkeletal muscle(s):\n Anal sphincter (external)\n Levator ani\nSubcutaneous perianal tissue", "JUMP:extension_size_xaa", "JUMP:extension_size_xaa", "VALUE:RE", "VALUE:RE" ], [ "600", "Perineum\nVulva", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "700", "Bladder\nPelvic peritoneum\nUrethra\nVagina", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "Broad ligament(s)\nCervix uteri\nCorpus uteri\nProstate", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "850", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bab.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bab.json deleted file mode 100644 index 1dd079275..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bab.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of bone.Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2**: AJCC assigns the T category based on size when bone involvement is limited to the cortex. Involvement through cortical bone is required for assignment of T4a.\n\n**Note 3**: The assignment of T1, T2, and T3 categories for tumors of the lip and oral cavity is based on tumor size. A physician's statement of the T catgegory may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 405, 410, 415, 778, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign codes 100, 200, 405, 410, or 415.", - "footnotes" : "- For CS Extension codes 100 through 535 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100 through 535 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:05.494Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to:\n Labial mucosa (inner lip)\n Lamina propria\n Multiple foci\n Submucosa (superficial invasion)\n Vermilion surface\nSuperficial extension to:\n Skin of lip\n Subcutaneous soft tissue of lip", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:L", "VALUE:L" ], [ "200", "Musculature", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:L", "VALUE:L" ], [ "405", "Stated as T1 with no other information on extension", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T2 with no other information on extension", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:L", "VALUE:L" ], [ "415", "Stated as T3 with no other information on extension", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:L", "VALUE:L" ], [ "500", "Buccal mucosa (inner cheek)\nCommissure (from lower lip only)\nOpposite lip (both lips)", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:RE", "VALUE:RE" ], [ "510", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCode 510 defined as \"Gingiva\" in CSv1. Code 510 defined as \"Lower gingiva, Gingiva, NOS, Upper gingiva (from commissure only)\" in CSv2:V0201, V0202. All cases should be reviewed and recoded to 515, 780, or 785 as appropriate.\n\nLower gingiva\nGingiva, NOS\nUpper gingiva (from commissure only)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "515", "Lower gingiva\nGingiva, NOS\nUpper gingiva (from commissure only)", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:RE", "VALUE:RE" ], [ "535", "Cortical bone of mandible\nMandible, NOS\nCortical bone of maxilla (from commissure only)\nMaxilla, NOS (from commissure only)\nCortical bone, NOS (not specified in higher codes)\nBone, NOS (not specified in higher codes)", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:RE", "VALUE:RE" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCSv2 codes differentiate between involvement of cortical bone and trabecular bone. All CSv1 cases should be reviewed and recoded to 535 or 725 as appropriate.\n\nMandible", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "725", "Trabecular bone of mandible\nTrabecular bone of maxilla (from commissure only)", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "740", "Nose", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "750", "Tongue", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "760", "Skin of face/neck", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "770", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCSv2 codes differentiate between involvement of cortical bone and trabecular bone. All CSv1 cases should be reviewed and recoded to 535, 775, 785, or 788 as appropriate.\n\nCortical bone (other than code 700)\nFloor of mouth\nInferior alveolar nerve", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "775", "Floor of mouth\nInferior alveolar nerve", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "778", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "780", "Upper gingiva (from lower lip)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:RE" ], [ "785", "780 + (740, 750, 760, or 775)\n\nUpper gingiva plus any structure in code 740, 750, 760, or 775", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "788", "Bone of maxilla (from lower lip)\nMaxilla, NOS (from lower lip)\nSpecified bone \n(Other than mandible, maxilla from commissure, and bones in codes 790 and 800)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "790", "Masticator space\nPterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension including: \n Skull base \n Internal carotid artery (encased)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bac.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bac.json deleted file mode 100644 index 63fe4e658..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bac.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2**: AJCC assigns the T category based on size when bone involvement is limited to the cortex . Involvement through cortical bone is required for assignment of T4a.\n\n**Note 3**: The assignment of T1, T2 , and T3 categories for tumors of the lip and oral cavity is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 405, 410, 415, 775, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign codes 100, 200, 400, 405, 410, or 415.", - "footnotes" : "- For CS Extension codes 100-545 ONLY, the T category for AJCC 7 staging is based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-545 ONLY, the T category for AJCC 6 staging is based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:05.560Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor on one side confined to:\n Lamina propria\n Submucosa", "JUMP:extension_size_xab", "JUMP:extension_size_xab", "VALUE:L", "VALUE:L" ], [ "200", "Musculature of tongue, intrinsic or NOS", "JUMP:extension_size_xab", "JUMP:extension_size_xab", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS\nMidline tumor", "JUMP:extension_size_xab", "JUMP:extension_size_xab", "VALUE:L", "VALUE:L" ], [ "400", "Tumor crosses midline", "JUMP:extension_size_xab", "JUMP:extension_size_xab", "VALUE:L", "VALUE:L" ], [ "405", "Stated as T1 with no other information on extension", "JUMP:extension_size_xab", "JUMP:extension_size_xab", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T2 with no other information on extension", "JUMP:extension_size_xab", "JUMP:extension_size_xab", "VALUE:L", "VALUE:L" ], [ "415", "Stated as T3 with no other information on extension", "JUMP:extension_size_xab", "JUMP:extension_size_xab", "VALUE:L", "VALUE:L" ], [ "500", "Base of tongue\nFloor of mouth\nGingiva, lower\nRetromolar trigone", "JUMP:extension_size_xab", "JUMP:extension_size_xab", "VALUE:RE", "VALUE:RE" ], [ "530", "Sublingual gland", "JUMP:extension_size_xab", "JUMP:extension_size_xab", "VALUE:RE", "VALUE:RE" ], [ "535", "Cortical bone of mandible \nMandible, NOS\nCortical bone, NOS (not specified in higher codes)\nBone, NOS (not specified in higher codes)", "JUMP:extension_size_xab", "JUMP:extension_size_xab", "VALUE:RE", "VALUE:D" ], [ "545", "Cortical bone of maxilla\nMaxilla, NOS", "JUMP:extension_size_xab", "JUMP:extension_size_xab", "VALUE:D", "VALUE:D" ], [ "600", "Lateral pharyngeal wall\nSoft palate, inferior surface\nTonsillar pillars and fossae\nTonsils", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:RE" ], [ "675", "600 + (535 or 545)\n\nAny structure in code 600 plus any structure in code 535 or 545", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCSv2 codes differentiate between involvement of cortical bone and trabecular bone. All CSv1 cases should be reviewed and recoded to 535, 675, 725 or 735 as appropriate.\n\nMandible ", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "720", "OBSOLETE DATA RETAINED V0200\n\n(600) + (700)", "ERROR:", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "725", "Trabecular bone of mandible", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "735", "725 + (545 or 600)\n\nTrabecular bone of mandible plus any structure in code 545 or 600", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "740", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCSv2 codes differentiate between involvement of cortical bone and trabecular bone. All CSv1 cases should be reviewed and recoded to 545, 675, 735, or 745 as appropriate.\n\nMaxilla\nMaxillary sinus ", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "745", "Trabecular bone of maxilla\nMaxillary sinus (antrum)", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "750", "Deep (extrinsic) muscle of tongue: \n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "760", "Skin of face", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "788", "Specified bone \n(Other than maxilla, mandible, and bones in codes 790 and 800)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "790", "Masticator space\nPterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension including: \n Skull base\n Internal carotid artery (encased)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bad.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bad.json deleted file mode 100644 index 890de1857..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bad.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bad", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension detail are available, record the code with extension detail in preference to a statement of FIGO stage. FIGO Stage III is assigned based on tumor extension and/or regional lymph node involvement. Code CS Extension based on a physician's statement of FIGO Stage III only if it is known that the stage value is assigned because of tumor extension.\n\n**Note 2**: FIGO no longer includes Stage 0 (Tis) for this site.\n\n**Note 3**: According to AJCC, pelvic wall is defined as muscle, fascia, neurovascular structures, or skeletal portions of the bony pelvis.", - "last_modified" : "2015-05-27T16:19:05.623Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 150, 250\n\nInvasive cancer confined to \n Submucosa (stroma) (vagina)\nFIGO Stage I", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "150", "Invasive cancer confined to: \n Submucosa (stroma) (vagina)", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Musculature involved", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "250", "FIGO Stage I", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA RETAINED V0200\nCervix\nParavaginal soft tissue\nRectovaginal septum\nVesicovaginal septum\nVulva\nFIGO Stage II", "ERROR:", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "410", "Cervix", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "420", "Paravaginal soft tissue\nRectovaginal septum\nVesicovaginal septum\nVulva", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "500", "Cul de sac (rectouterine pouch)", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "510", "FIGO Stage II", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "520", "Extension to bladder wall or bladder, NOS excluding mucosa\nRectal wall or rectum, NOS excluding mucosa", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 620, 650\n\nExtension to pelvic wall\nDescribed clinically as \"frozen pelvis\", NOS\nFIGO Stage III", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:RE" ], [ "620", "Extension to pelvic wall\nDescribed clinically as \"frozen pelvis\", NOS", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:RE" ], [ "650", "FIGO Stage III based on tumor extension", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:RE" ], [ "700", "Extension to bladder mucosa (excluding bullous edema)\nor rectal mucosa", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Extension beyond true pelvis\nExtension to urethra", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "850", "FIGO Stage IVA", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bae.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bae.json deleted file mode 100644 index 69d83604c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bae.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bae", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2**: AJCC assigns the T category based on size when bone involvement is limited to the cortex. Involvement through cortical bone is required for assignment of T4a.\n\n**Note 3**: The assignment of T1, T2, and T3 categories for tumors of the lip and oral cavity is based on tumor size. A physician's statement of the Tcategory may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 405, 410, 415, 780, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extenison information is available.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 100, 400, 405, 410, or 415.", - "footnotes" : "- Note: For CS Extension codes 100 through 605 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- Note: For CS Extension codes 100 through 605 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:05.674Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor on one side confined to:\n Lamina propria\n Submucosa", "JUMP:extension_size_xac", "JUMP:extension_size_xac", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xac", "JUMP:extension_size_xac", "VALUE:L", "VALUE:L" ], [ "400", "Tumor crosses midline", "JUMP:extension_size_xac", "JUMP:extension_size_xac", "VALUE:L", "VALUE:L" ], [ "405", "Stated as T1 with no other information on extension", "JUMP:extension_size_xac", "JUMP:extension_size_xac", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T2 with no other information on extension.", "JUMP:extension_size_xac", "JUMP:extension_size_xac", "VALUE:L", "VALUE:L" ], [ "415", "Stated as T3 with no other information on extension", "JUMP:extension_size_xac", "JUMP:extension_size_xac", "VALUE:L", "VALUE:L" ], [ "500", "Anterior 2/3 of tongue\nBase of tongue\nGingiva (alveolar ridge), lower\nPeriosteum of mandible", "JUMP:extension_size_xac", "JUMP:extension_size_xac", "VALUE:RE", "VALUE:RE" ], [ "530", "Sublingual gland, including ducts\nSubmandibular (submaxillary) glands, including ducts", "JUMP:extension_size_xac", "JUMP:extension_size_xac", "VALUE:RE", "VALUE:RE" ], [ "535", "Cortical bone of mandible\nMandible, NOS\nCartilage, NOS\nCortical bone, NOS (not specified in higher codes)\nBone, NOS (not specified in higher codes)", "JUMP:extension_size_xac", "JUMP:extension_size_xac", "VALUE:RE", "VALUE:RE" ], [ "545", "Cortical bone of maxilla\nMaxilla, NOS", "JUMP:extension_size_xac", "JUMP:extension_size_xac", "VALUE:D", "VALUE:D" ], [ "550", "Subcutaneous soft tissue of chin/neck", "JUMP:extension_size_xac", "JUMP:extension_size_xac", "VALUE:RE", "VALUE:RE" ], [ "600", "Epiglottis\nGlossoepiglottic fold\nGlossopharyngeal sulcus\nLateral pharyngeal wall\nPharyngeal (lingual) surface\nPharyngoepiglottic fold\nTonsillar pillars and fossae\nTonsils\nVallecula", "JUMP:extension_size_xac", "JUMP:extension_size_xac", "VALUE:RE", "VALUE:RE" ], [ "603", "600 +550", "JUMP:extension_size_xac", "JUMP:extension_size_xac", "VALUE:RE", "VALUE:RE" ], [ "605", "(550 or 600) + 545\n\nAny structure in code 550 or 600 plus any structure in code 545", "JUMP:extension_size_xac", "JUMP:extension_size_xac", "VALUE:D", "VALUE:D" ], [ "620", "Deep (extrinsic) muscle of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:T4a", "VALUE:L", "VALUE:L" ], [ "630", "OBSOLETE DATA RETAINED V0200\n\n(620) + any of (500, 530, or 600)", "ERROR:", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "635", "620 + (500, 530, 535, 550, or 600)\n\nAny structure in code 620 plus any structure in code 500, 530, 535, or 600", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "640", "OBSOLETE DATA CONVERTED V0200\nAssign to T1-3 category per site curator, see code 550 \n\nSubcutaneous soft tissue of chin/neck", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "645", "620 + 545\n\nAny structure in code 620 plus any structure in code 545", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0203 \nCSv2 codes differentiate between involvement of cortical bone and trabecular bone. All CSv1 cases should be reviewed and recoded to 535, 635, 725, or 765 as appropriate.\n\nMandible ", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "725", "Trabecular bone of mandible", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "760", "Skin of undersurface of chin/neck", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "765", "(725 or 760) + 545\n\nAny structure in code 725 or 760 plus any structure in code 545", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "770", "OBSOLETE DATA REVIEWED AND CHANGED V0203 \nCSv2 codes differentiate between involvement of cortical bone and trabecular bone. All CSv1 cases should be reviewed and recoded to 545, 605, 645, 765, or 775 as appropriate\n\nMaxillary sinus", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "775", "Trabecular bone of maxilla\nMaxillary sinus (antrum)", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "780", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "788", "Specified bone \n(Other than mandible, maxilla, or bones in codes 790 and 805)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "790", "Masticator space\nPterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension:\n Base of skull \n Masticator space\n Pterygoid plates", "ERROR:", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "805", "Further contiguous extension:\n Base of skull\n Internal carotid artery (encased)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_baf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_baf.json deleted file mode 100644 index 10f6a4417..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_baf.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_baf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2**: AJCC assigns the T category based on size when bone involvement is limited to the cortex. Involvement through cortical bone is required for assignment of T4a.\n\n**Note 3**: The assignment of T1, T2, and T3 categories for tumors of the lip and oral cavity is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 405, 410, 415, 755, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 100, 200, 405, 410, or 415.", - "footnotes" : "- For CS Extension codes 100-605 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-605 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:05.744Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to:\n Lamina propria\n Submucosa", "JUMP:extension_size_xad", "JUMP:extension_size_xad", "VALUE:L", "VALUE:L" ], [ "200", "Musculature invaded", "JUMP:extension_size_xad", "JUMP:extension_size_xad", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xad", "JUMP:extension_size_xad", "VALUE:L", "VALUE:L" ], [ "405", "Stated as T1 with no other information on extension", "JUMP:extension_size_xad", "JUMP:extension_size_xad", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T2 with no other information on extension", "JUMP:extension_size_xad", "JUMP:extension_size_xad", "VALUE:L", "VALUE:L" ], [ "415", "Stated as T3 with no other information on extension", "JUMP:extension_size_xad", "JUMP:extension_size_xad", "VALUE:L", "VALUE:L" ], [ "500", "Adjacent oral cavity", "JUMP:extension_size_xad", "JUMP:extension_size_xad", "VALUE:RE", "VALUE:RE" ], [ "535", "Cortical bone of mandible\nCortical bone of maxilla\nMandible, NOS\nMaxilla, NOS\nCortical bone, NOS (not specified in higher codes)\nBone, NOS (not specified in higher codes)", "JUMP:extension_size_xad", "JUMP:extension_size_xad", "VALUE:D", "VALUE:D" ], [ "600", "Oropharynx\nInferior surface of soft palate\nLateral pharyngeal wall\nLingual surface of epiglottis\nVallecula", "JUMP:extension_size_xad", "JUMP:extension_size_xad", "VALUE:RE", "VALUE:RE" ], [ "605", "600 + 535\n\nAny structure in 600 plus any structure in 535", "JUMP:extension_size_xad", "JUMP:extension_size_xad", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCSv2 codes differentiate between involvement of cortical bone and trabecular bone. All CSv1 cases should be reviewed and recoded to 535, 605, or 725 as appropriate.\n\nExtension to adjacent structures:\nMandible\nMaxilla\nMaxillary antrum (sinus)\nNasal cavity\nSkin of face/neck\nTongue", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "705", "Tongue", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "710", "Deep (extrinsic) muscle of tongue: \n Genioglossus \n Hyoglossus \n Palatoglossus \n Styloglossus", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "720", "OBSOLETE DATA CONVERTED V0200\nSee code 800\n\nSkull", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "725", "Trabecular bone:\n Mandible\n Maxilla\n Palatine bone", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "735", "Maxillary antrum (sinus)\nNasal cavity\nSkin of face/neck", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "750", "OBSOLETE DATA RETAINED V0200\n\nBase of skull\nEncases internal carotid artery \nMasticator space\nPterygoid plates", "ERROR:", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "788", "Specified bone \n(Other than maxilla, mandible, and bones in codes 790 and 800)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "790", "Masticator space\nPterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension: \n Skull base\n Internal carotid artery (encased)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bag.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bag.json deleted file mode 100644 index 81aa1f269..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bag.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bag", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: The orbital tissues are the support systems of the globe, confined to the space within the surrounding bony structure. The tissues include fat, striated and smooth muscle, and fibroconnective, vascular, lymphoid, peripheral nerve, and optic nerve tissue.\n\n**Note 2**: AJCC stages only sarcomas of the orbit. AJCC values are derived as NA for all non-sarcoma histologies coded to this site.\n\n**Note 3**: Code 000 may be used only for non-sarcoma histologies coded to this site. Sarcomas do not present as in situ or noninvasive tumors.", - "footnotes" : "- For CS Extension codes 100, 200, and 300 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema. A CS Tumor Size code takes precedence over a CS Extension \"stated as T\" code; however, if CS Tumor Size is coded as unknown, the T category may be assigned based on \"stated as T\" recorded in CS Extension.\n- For CS Extension codes 100, 200, and 300 ONLY, the T category for AJCC 6staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema. A CS Tumor Size code takes precedence over a CS Extension \"stated as T\" code; however, if CS Tumor Size is coded as unknown, the T category may be assigned based on \"stated as T\" recorded in CS Extension.", - "last_modified" : "2015-05-27T16:19:05.810Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:TX", "VALUE:IS", "VALUE:IS" ], [ "100", "Tumor confined to orbit\nLocalized, NOS", "JUMP:extension_size_xaf", "JUMP:extension_size_xaf", "VALUE:L", "VALUE:L" ], [ "200", "Stated as T1 with no other information on extension", "JUMP:extension_size_xaf", "JUMP:extension_size_xaf", "VALUE:L", "VALUE:L" ], [ "300", "Stated as T2 with no other information on extension", "JUMP:extension_size_xaf", "JUMP:extension_size_xaf", "VALUE:L", "VALUE:L" ], [ "400", "Tumor of any size with invasion of orbital tissues and/or bony walls \n\nStated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "500", "Invasion of globe", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "600", "Extension to:\n Adjacent paranasal sinuses\n Cranium", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "650", "Extension to:\n Eyelids\n Temporal fossa\n Nasal cavity", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "700", "Central nervous system", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bah.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bah.json deleted file mode 100644 index 932431f01..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bah.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bah", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Periosteum is a fibrous membrane that wraps the outer surface of bones. Mucoperiosteum is a compound structure of mucous membrane and periosteum. Cortical bone is the dense compact outer layer of bone.Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2**: AJCC assigns the T category based on size when bone involvement is limited to the cortex. Involvement through cortical bone is required for assignment of T4a.\n\n**Note 3**: The assignment of T1, T2 , and T3 categories for tumors of the lip and oral cavity is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 405, 410, 415, 775, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 100, 400, 405, 410, or 415.", - "footnotes" : "- For CS Extension codes 100-535 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-535 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:05.866Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor on one side confined to mucoperiosteum (stroma)", "JUMP:extension_size_xae", "JUMP:extension_size_xae", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xae", "JUMP:extension_size_xae", "VALUE:L", "VALUE:L" ], [ "400", "Tumor crosses midline", "JUMP:extension_size_xae", "JUMP:extension_size_xae", "VALUE:L", "VALUE:L" ], [ "405", "Stated as T1 with no other information on extension", "JUMP:extension_size_xae", "JUMP:extension_size_xae", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T2 with no other information on extension", "JUMP:extension_size_xae", "JUMP:extension_size_xae", "VALUE:L", "VALUE:L" ], [ "415", "Stated as T3 with no other information on extension", "JUMP:extension_size_xae", "JUMP:extension_size_xae", "VALUE:L", "VALUE:L" ], [ "500", "Buccal mucosa (inner cheek)\nGingiva, upper\nGlossopalatine arch\nPharyngopalatine arch\nSoft palate including uvula", "JUMP:extension_size_xae", "JUMP:extension_size_xae", "VALUE:RE", "VALUE:RE" ], [ "535", "Cortical bone of maxilla\nCortical palatine bone\nMaxilla, NOS\nPalatine bone, NOS\nCortical bone, NOS (not specified in higher codes)\nBone, NOS (not specified in higher codes)", "JUMP:extension_size_xae", "JUMP:extension_size_xae", "VALUE:RE", "VALUE:RE" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCSv2 codes differentiate between involvement of cortical bone and trabecular bone. All CSv1 cases should be reviewed and recoded to 535 or 725 as appropriate.\n\nMaxillary bone\nPalatine bone ", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "725", "Trabecular bone:\n Maxilla\n Palatine bone", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "740", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nRecode involved structures to code 745, 750, 765, or 800 as appropriate.\n\nDeep muscle of tongue\nFloor of nose\nMaxillary sinus (antrum)\nNasal cavity\nNasopharynx\nSkin of face\nSphenoid bone", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "745", "Floor of nose\nMaxillary sinus (antrum)\nNasal cavity\nNasopharynx", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "750", "Deep (extrinsic) muscle of tongue:\n Genioglossus \n Hyoglossus\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "760", "OBSOLETE DATA CONVERTED V0200\nSee code 790\n\nPterygoid plates", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "765", "Skin of face", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "788", "Specified bone \n(Other than maxilla, palatine, and bones in codes 790 and 800)", "VALUE:T4b", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "790", "Masticator space\nPterygoid plates ", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension: \n Skull base including sphenoid bone other than pterygoid plates\n Internal carotid artery (encased)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bai.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bai.json deleted file mode 100644 index ab4967534..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bai.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bai", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2**: AJCC assigns the T category based on size when involvement is limited to cortical bone. Involvement through cortical bone is required for assignment of T4a.\n\n**Note 3**: The assignment of T1, T2 , and T3 categories for tumors of the lip and oral cavity is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 405, 410, 415, 755, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 100, 200, 405, 410, or 415.", - "footnotes" : "- For CS Extension codes 100-620 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-620 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:05.916Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to:\n Lamina propria\n Submucosa", "JUMP:extension_size_xag", "JUMP:extension_size_xag", "VALUE:L", "VALUE:L" ], [ "200", "Musculature (buccinator)", "JUMP:extension_size_xag", "JUMP:extension_size_xag", "VALUE:RE", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xag", "JUMP:extension_size_xag", "VALUE:L", "VALUE:L" ], [ "405", "Stated as T1 with no other information on extension", "JUMP:extension_size_xag", "JUMP:extension_size_xag", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T2 with no other information on extension", "JUMP:extension_size_xag", "JUMP:extension_size_xag", "VALUE:L", "VALUE:L" ], [ "415", "Stated as T3 with no other information on extension", "JUMP:extension_size_xag", "JUMP:extension_size_xag", "VALUE:L", "VALUE:L" ], [ "500", "Lip(s) including commissure", "JUMP:extension_size_xag", "JUMP:extension_size_xag", "VALUE:RE", "VALUE:RE" ], [ "510", "Gingiva", "JUMP:extension_size_xag", "JUMP:extension_size_xag", "VALUE:RE", "VALUE:RE" ], [ "525", "Cortical bone of mandible\nCortical bone of maxilla\nMandible, NOS\nMaxilla, NOS\nCartilage, NOS\nCortical bone, NOS (not specified in higher codes)\nBone, NOS (not specified in higher codes)", "JUMP:extension_size_xag", "JUMP:extension_size_xag", "VALUE:D", "VALUE:D" ], [ "550", "Subcutaneous soft tissue of cheek", "JUMP:extension_size_xag", "JUMP:extension_size_xag", "VALUE:RE", "VALUE:RE" ], [ "600", "Lateral pharyngeal wall\nTonsillar pillars and fossae\nTonsils", "JUMP:extension_size_xag", "JUMP:extension_size_xag", "VALUE:RE", "VALUE:RE" ], [ "603", "600 + 550", "JUMP:extension_size_xag", "JUMP:extension_size_xag", "VALUE:RE", "VALUE:RE" ], [ "605", "(550 or 600) + 525\n\nAny structure in code 550 or 600 plus any structure in code 525", "JUMP:extension_size_xag", "JUMP:extension_size_xag", "VALUE:D", "VALUE:D" ], [ "620", "Hard palate including cortical palatine bone\nSoft palate", "JUMP:extension_size_xag", "JUMP:extension_size_xag", "VALUE:D", "VALUE:D" ], [ "650", "OBSOLETE DATA CONVERTED V0200\nAssign to T1-3 category per curator, see code 550 \n\nSubcutaneous soft tissue of cheek", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "660", "Skin of cheek with or without ulceration", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "665", "660 + (525 or 620) \n\nSkin of cheek plus any structure in code 525 or 620", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "670", "OBSOLETE DATA CONVERTED V0200\nSee code 740\n\nMaxillary sinus", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCSv2 codes differentiate between involvement of cortical bone and trabecular bone. All CSv1 cases should be reviewed and recoded to 525, 605, 665, 725, or 753 as appropriate.\n\nBone (cortical):\n Mandible \n Maxilla", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "725", "Trabecular bone:\n Mandible\n Maxilla \n Palatine bone", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "730", "OBSOLETE DATA CONVERTED V0200\nSee code 805\n\nSkull", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "740", "Maxillary sinus (antrum) Nasal cavity", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "750", "Tongue\nDeep (extrinsic) muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "753", "(725, 740, or 750) + 620", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "755", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "788", "Specified bone \n(Other than maxilla, mandible, palatine, or bones in codes 795 and 805)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "790", "OBSOLETE DATA RETAINED V0200\n\nOther contiguous extension:\n Base of skull\n Encases internal carotid artery\n Masticator space\n Pterygoid plates", "ERROR:", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "795", "Masticator space\nPterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nExtension to hard palate and soft palate assigned to T1-T3 categories in CSv2 based on curator response. All CSv1 cases should be reviewed and recoded to 620, 665, 753, or 808 as appropriate. \n\nFurther contiguous extension:\n Hard palate\n Soft palate", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "805", "Further contiguous extension including:\n Internal carotid artery (encased)\n Base of skull\n Skull ", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "808", "(788, 795, or 805) + 620", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_baj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_baj.json deleted file mode 100644 index c5b2d3111..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_baj.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_baj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Direct extension to or other involvement of structures considered M1 in AJCC staging is coded in the data item CS Mets at DX. This includes: sternum; skeletal muscle; skin of chest; contralateral lung or mainstem bronchus; separate tumor nodule(s) in contralateral lung.\n\n**Note 2**: Distance from Carina: Assume tumor is greater than or equal to 2 centimeters (cm) from carina if lobectomy, segmental resection, or wedge resection is done.\n\n**Note 3**: Opposite Lung: If no mention is made of the opposite lung on a chest x-ray, assume it is not involved. \n\n**Note 4**: Bronchopneumonia: Bronchopneumonia is not the same thing as obstructive pneumonitis and should not be coded as such. Bronchopneumonia is an acute inflammation of the walls of the bronchioles, usually a result of spread of infection from the upper to the lower respiratory tract. Obstructive pneumonitis is a combination of atelectasis, bronchiectasis with mucous plugging, and parenchymal inflammation that develops distal to an obstructing endobronchial lesion.\n\n**Note 5**: Pulmonary Artery/Vein: An involved pulmonary artery/vein in the mediastinum is coded to 700 (involvement of major blood vessel). However, if the involvement of the artery/vein appears to be only within lung tissue and not in the mediastinum, it is not coded to 700.\n\n**Note 6**: Vocal cord paralysis (resulting from involvement of recurrent branch of the vagus nerve), superior vena cava (SVC) obstruction, or compression of the trachea or the esophagus may be related to direct extension of the primary tumor or to lymph node involvement. The treatment options and prognosis associated with these manifestations of disease extent fall within the T4-Stage IIIB category; therefore, generally use code 700 for these manifestations. However, if the primary tumor is peripheral and clearly unrelated to vocal cord paralysis, SVC obstruction, or compression of the trachea or the esophagus, code these manifestations as mediastinal lymph node involvement (code 200) in CS Lymph Nodes, unless there is a statement of involvement by direct extension from the primary tumor.\n\n**Note 7**: Pleural effusion and pericardial effusion are coded in CS Mets at DX.\n\n**Note 8**: In some cases, the determination of the T category for TNM 6 or 7 staging is based on this field, CS Tumor Size, CS Mets at DX, and CS Site-Specific Factor 1.\n\n**Note 9**: Code to the highest applicable code for CS Extension and then code the absence or presence of separate ipsilateral tumor nodules in CS Site-Specific Factor 1, Separate Tumor Nodules/Ipsilateral lung. Code separate tumor nodules in contralateral lung in CS Mets at DX.\n\n**Note 10**: Specific information about visceral pleura invasion is captured in codes 410-430 and CS Site-Specific Factor 2, Visceral Pleural Invasion (VPI)/Elastic Layer. Elastic layer involvement has prognostic significance for lung cancer.", - "footnotes" : "- For CS Extension codes 000-440, 455-520, 540-600, 730, and 950-999, the T category for AJCC 7 staging is assigned based on the values of CS Tumor Size, CS Extension, and CS Site Specific Factor 1, as shown in the Size Extension AJCC 7 Table for this schema.\n- For CS Extension codes 000-999, the T category for AJCC 6 staging is assigned based on the values of CS Tumor Size, CS Extension, CS Mets at Dx and CS Site Specific Factor 1 as shown in the Size Extension Mets AJCC 6 Table for this schema.\n- For CS Extension codes 000, 950, 980 and 999, Summary Stage 77 is assigned based on the values of CS Extension and Site Specific Factor 1 as shown in the Summary Stage 77 Table for this schema.\n- For CS Extension codes 000-700, 740, 950-999, Summary Stage 2000 is assigned based on the values of CS Extension and Site Specific Factor 1 as shown in the Summary Stage 2000 Table for this schema.", - "last_modified" : "2015-05-27T16:19:05.972Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "JUMP:determine_correct_table_for_ss77t_ns45", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "100", "Tumor confined to one lung\nWITHOUT extension or conditions described in codes 200-800 \nEXCLUDING primary in main stem bronchus\nEXCLUDING superficial tumor as described in code 110", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:L", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "110", "Superficial tumor of any size with invasive component limited to bronchial wall, with or without proximal extension to the main stem bronchus", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:L", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "115", "Stated as T1a with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:L", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "120", "Stated as T1b with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:L", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "125", "Stated as T1[NOS] with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:L", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "200", "Extension from other parts of lung to main stem bronchus, NOS \nEXCLUDING superficial tumor as described in code 110\nTumor involving main stem bronchus greater than or equal to 2.0 cm from carina (primary in lung or main stem bronchus)", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:L", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "210", "Tumor involving main stem bronchus, NOS\n(Distance from carina not stated and no surgery as described in Note 2)", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:L", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "220", "Direct tumor invasion into an adjacent ipsilateral lobe", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:L", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "230", "Tumor confined to hilus", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:L", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "250", "OBSOLETE DATA CONVERTED V0204\nSee code 680\n\nTumor confined to carina", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "ERROR:", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "300", "Localized, NOS", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:L", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "400", "Atelectasis/obstructive pneumonitis that extends to the hilar region but does not involve the entire lung \nOr atelectasis/obstructive pneumonitis, NOS", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "410", "Extension to but not into pleura, including invasion of elastic layer \nBUT not through the elastic layer.", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "420", "Invasion of pleura, including invasion through the elastic layer", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "430", "Invasion of pleura, NOS", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "440", "Pulmonary ligament", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "450", "OBSOLETE DATA RETAINED V0200\n\nExtension to:\n Pleura, visceral or NOS (WITHOUT pleural effusion)\n Pulmonary ligament ", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "455", "Stated as T2a with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "460", "Stated as T2b with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "465", "Stated as T2 [NOS] with no other information on size or extension ", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "500", "Tumor of/involving main stem bronchus less than 2.0 cm from carina", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:L", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "520", "500 + 400", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "530", "OBSOLETE DATA RETAINED V0200\n\n 450 + 500", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "540", "500 + any of (410-440)", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "550", "Atelectasis/obstructive pneumonitis involving entire lung", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "560", "Parietal pericardium or pericardium, NOS", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "570", "Stated as T3 with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "590", "Invasion of phrenic nerve", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "600", "Direct extension to:\n Brachial plexus, inferior branches or NOS, from superior sulcus\n Chest (thoracic) wall\n Diaphragm\n Pancoast tumor (superior sulcus syndrome), NOS\n Parietal pleura\nNote: For separate lesion in chest wall or diaphragm, see CS Mets at DX.", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "610", "Superior sulcus tumor WITH encasement of subclavian vessels\nOR WITH unequivocal involvement of superior branches of brachial plexus (C8 or above)", "VALUE:T4", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "650", "OBSOLETE DATA RETAINED V0200\nSeparate tumor nodules reclassified in AJCC 7th Edition, coded in CS Site-Specific Factor 1 \n\nMultiple masses/separate tumor nodule(s) in the SAME lobe\n\"Satellite nodules\" in SAME lobe", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:L", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "680", "Tumor confined to carina", "VALUE:T4", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:L", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "700", "Blood vessel(s), major (EXCEPT aorta and inferior vena cava, see codes 740 and 770)\n Azygos vein\n Pulmonary artery or vein\n Superior vena cava (SVC syndrome)\nCarina from lung/mainstem bronchus\nCompression of esophagus or trachea not specified as direct extension\nEsophagus\nMediastinum, extrapulmonary or NOS\nNerve(s):\n Cervical sympathetic (Horner syndrome)\n Recurrent laryngeal (vocal cord paralysis)\n Vagus\nTrachea", "VALUE:T4", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:RE", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "705", "700 + (600 or 610)", "VALUE:T4", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "VALUE:D" ], [ "710", "Heart\nVisceral pericardium", "VALUE:T4", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "VALUE:D" ], [ "720", "OBSOLETE DATA RETAINED V0200\nPleural effusion reclassified as distant metastasis in AJCC 7th Edition, see CS Mets at DX code 15\n \nMalignant pleural effusion\nPleural effusion, NOS", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "VALUE:D" ], [ "730", "Adjacent rib\nSee also code 785", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "VALUE:D" ], [ "740", "Aorta", "VALUE:T4", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "745", "740 + 710", "VALUE:T4", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "VALUE:D" ], [ "748", "740 + 730", "VALUE:T4", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "VALUE:D" ], [ "750", "Vertebra(e)\nNeural foramina", "VALUE:T4", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "VALUE:D" ], [ "760", "OBSOLETE DATA RETAINED V0200\nSeparate pleural tumor foci reclassified as distant metastasis in AJCC 7th Edition, see CS Mets at DX code 24\n\nPleural tumor foci separate from direct pleural invasion", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "VALUE:D" ], [ "770", "Inferior vena cava", "VALUE:T4", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "VALUE:D" ], [ "780", "OBSOLETE DATA RETAINED V0200\n\n730 plus any of (610-720) or (740-770)", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "VALUE:D" ], [ "785", "730 + (700 or 710)", "VALUE:T4", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "VALUE:D" ], [ "790", "OBSOLETE DATA RETAINED V0200\nPericardial effusion reclassified as distant metastasis, see CS Mets at DX code 20\n\nPericardial effusion, NOS; malignant pericardial effusion", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "VALUE:D" ], [ "795", "OBSOLETE DATA CONVERTED V0204\nSee code 810\n\nStated as T4 with no other information on extension", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "ERROR:", "ERROR:" ], [ "800", "Further contiguous extension \n(Except to structures specified in CS Mets at DX codes 23 and 37)", "VALUE:T4", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "JUMP:determine_correct_table_for_ss77t_ns45", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "980", "Tumor proven by presence of malignant cells in sputum or bronchial washings but not visualized by imaging or bronchoscopy; \"occult\" carcinoma", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "JUMP:determine_correct_table_for_ss77t_ns45", "JUMP:determine_correct_table_for_ss00t_ns46" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "JUMP:determine_correct_table_for_ajcc7_t_ns43", "JUMP:determine_correct_table_for_ajcc6_tm_ns44", "JUMP:determine_correct_table_for_ss77t_ns45", "JUMP:determine_correct_table_for_ss00t_ns46" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bak.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bak.json deleted file mode 100644 index 765709476..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bak.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bak", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Changes such as dimpling of the skin, tethering, and nipple retraction are caused by tension on Cooper's ligament(s), not by actual skin involvement. They do not alter the classification.\n\n**Note 2**: Consider adherence, attachment, fixation, induration, and thickening as clinical evidence of extension to skin or subcutaneous tissue, code 200.\n\n**Note 3**: Consider fixation, NOS as involvement of pectoralis muscle, code 300.\n\n**Note 4**: If CS Extension code is 000, then Behavior code must be 2; if CS Extension code is 050 or 070, then Behavior code may be 2 or 3; and if CS Extension code is 100, then Behavior code must be 3.\n\n**Note 5**: Inflammatory Carcinoma: AJCC includes the following text in the Cancer Staging Manual 7th Edition: \"Inflammatory carcinoma is a clinicopathologic entity characterized by diffuse erythema and edema (peau d'orange) of the breast, often without an underlying palpable mass. These clinical findings should involve the majority of the skin of the breast. Classically, the skin changes arise quickly in the affected breast. Thus the term of inflammatory carcinoma should not be applied to a patient with neglected locally advanced cancer of the breast presenting late in the course of her disease. On imaging, there may be a detectable mass and characteristic thickening of the skin over the breast. This clinical presentation is due to tumor emboli within dermal lymphatics, which may or may not be apparent on skin biopsy. The tumor of inflammatory carcinoma is classified T4d. It is important to remember that inflammatory carcinoma is primarily a clinical diagnosis. Involvement of the dermal lymphatics alone does not indicate inflammatory carcinoma in the absence of clinical findings. In addition to the clinical picture, however, a biopsy is still necessary to demonstrate cancer either within the dermal lymphatics or in the breast parenchyma itself.\"\n\n**Note 6**: For CS coding, the abstractor should record a stated diagnosis of inflammatory carcinoma, and also record any clinical statement of the character and extent of skin involvement in the text area. Code 600 should be used if there is a stated diagnosis of inflammatory carcinoma and a clinical description of the skin involvement is less than one-third (33%) of the skin of the breast. Code 725 should be used if there is a stated diagnosis of inflammatory carcinoma and a clinical description of the skin involvement is greater than or equal to one-third (33%) and less than or equal to one-half (50%) of the skin of the breast. Code 730 should be used if there is a stated diagnosis of inflammatory carcinoma and a clinical description of the skin involvement in more than one-half (50%) (majority or diffuse) of the skin of the breast. Cases with a stated diagnosis of inflammatory carcinoma but no such clinical description should be coded 750. A clinical description of inflammation, erythema, edema, peau d'orange, or other terms describing skin changes without a stated diagnosis of inflammatory carcinoma should be coded 512-585 depending on described extent of the condition.", - "footnotes" : "- For CS Extension codes 100-140, 200, and 300 ONLY, the T category is assigned based on value of CS Tumor Size as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-140, 200, and 300 ONLY, the T category is assigned based on value of CS Tumor Size as shown in the Extension Size Table for this schema.\n- For CS Extension codes 050 and 070 ONLY, Summary Stage 1977 and Summary Stage 2000 are assigned based on the value of Behavior Code ICD-O-3 as shown in the Extension Behavior Table for this schema.", - "last_modified" : "2015-05-27T16:19:06.034Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: noninfiltrating; intraepithelial\nIntraductal WITHOUT infiltration\nLobular neoplasia", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "050", "Paget disease of nipple \nWITHOUT underlying tumor", "VALUE:Tis", "VALUE:Tis", "JUMP:extension_behavior_xci", "JUMP:extension_behavior_xci" ], [ "070", "Paget Disease disease of nipple \nWITHOUT underlying invasive carcinoma pathologically", "VALUE:Tis", "VALUE:Tis", "JUMP:extension_behavior_xci", "JUMP:extension_behavior_xci" ], [ "100", "Confined to breast tissue and fat including nipple and/or areola\nLocalized, NOS", "JUMP:extension_size_xar", "JUMP:extension_size_xar", "VALUE:L", "VALUE:L" ], [ "110", "Stated as T1mi with no other information on extension", "JUMP:extension_size_xar", "JUMP:extension_size_xar", "VALUE:L", "VALUE:L" ], [ "120", "Stated as T1a with no other information on extension", "JUMP:extension_size_xar", "JUMP:extension_size_xar", "VALUE:L", "VALUE:L" ], [ "130", "Stated as T1b with no other information on extension", "JUMP:extension_size_xar", "JUMP:extension_size_xar", "VALUE:L", "VALUE:L" ], [ "140", "Stated as T1c with no other information on extension", "JUMP:extension_size_xar", "JUMP:extension_size_xar", "VALUE:L", "VALUE:L" ], [ "170", "Stated as T1 [NOS] with no other information on extension or size", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "180", "Stated as T2 with no other information on extension or size", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "190", "Stated as T3 with no other information on extension or size", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "200", "Invasion of subcutaneous tissue\nLocal infiltration of dermal lymphatics adjacent to primary tumor involving skin by direct extension\nSkin infiltration of primary breast including skin of nipple and/or areola", "JUMP:extension_size_xar", "JUMP:extension_size_xar", "VALUE:RE", "VALUE:RE" ], [ "300", "Attachment or fixation to pectoral muscle(s) or underlying tissue\nDeep fixation\nInvasion of (or fixation to) pectoral fascia or muscle", "JUMP:extension_size_xar", "JUMP:extension_size_xar", "VALUE:RE", "VALUE:RE" ], [ "380", "OBSOLETE DATA CONVERTED V0203\nSee code 790\n\nStated as T4 [NOS] with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "390", "OBSOLETE DATA CONVERTED V0203\nSee code 410\n\nStated as T4a with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "400", "Invasion of (or fixation to):\n Chest wall\n Intercostal or serratus anterior muscle(s)\n Rib(s)\n\nSee codes 610 (obsolete), 612-615, and 620 (obsolete) for combinations with this code", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "410", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nExtensive skin involvement, including:\nSatellite nodule(s) in skin of primary breast\nUlceration of skin of breast\nAny of the following conditions described as involving not more than 50% of the breast, or amount or percent of involvement not stated:\n Edema of skin\n En cuirasse\n Erythema\n Inflammation of skin\n Peau d'orange (\"pigskin\")", "ERROR:", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "512", "Extensive skin involvement, including:\nSatellite nodule(s) in skin of primary breast\nUlceration of skin of breast", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "514", "Any of the following conditions described as involving less than one-third (33%) of the breast \nWITHOUT a stated diagnosis of inflammatory carcinoma \nWITH or WITHOUT dermal lymphatic infiltration:\n Edema of skin\n En cuirasse\n Erythema\n Inflammation of skin\n Peau d'orange (\"pigskin\")", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "516", "514 + 512", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "518", "Any of the following conditions described as involving one third (33%) or more but less than or equal to half (50%) of the breast\nWITHOUT a stated diagnosis of inflammatory carcinoma \nWITH or WITHOUT dermal lymphatic infiltration:\n Edema of skin\n En cuirasse\n Erythema\n Inflammation of skin\n Peau d'orange (\"pigskin\")", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "519", "518 + 512", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "520", "Any of the following conditions described as involving more than 50% of the breast\nWITHOUT a stated diagnosis of inflammatory carcinoma \nWITH or WITHOUT dermal lymphatic infiltration:\n Edema of skin\n En cuirasse\n Erythema\n Inflammation of skin\n Peau d'orange (\"pigskin\")", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "575", "520 + 512", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "580", "Any of the following conditions with amount or percent of breast involvement not stated and \nWITHOUT a stated diagnosis of inflammatory carcinoma \nWITH or WITHOUT dermal lymphatic infiltration:\n Edema of skin\n En cuirasse\n Erythema\n Inflammation of skin\n Peau d'orange (\"pigskin\")", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "585", "580 + 512", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "590", "OBSOLETE DATA CONVERTED V0203\nSee code 605\n\nStated as T4b with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "600", "Diagnosis of inflammatory carcinoma\nWITH a clinical description of inflammation, erythema, edema, peau d'orange, etc., involving less than one-third (33%) of the skin of the breast,\nWITH or WITHOUT dermal lymphatic infiltration", "VALUE:T4b", "VALUE:T4d", "VALUE:RE", "VALUE:RE" ], [ "605", "Stated as T4b with no other information on extension ", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "610", "OBSOLETE DATA RETAINED V0200\n\n(400) + (510)", "ERROR:", "VALUE:T4c", "VALUE:RE", "VALUE:RE" ], [ "612", "Any of (512-516) + 400", "VALUE:T4c", "VALUE:T4c", "VALUE:RE", "VALUE:RE" ], [ "613", "Any of (518-519) + 400", "VALUE:T4c", "VALUE:T4c", "VALUE:RE", "VALUE:RE" ], [ "615", "Any of (520-585) + 400", "VALUE:T4c", "VALUE:T4c", "VALUE:RE", "VALUE:RE" ], [ "620", "OBSOLETE DATA RETAINED V0200\n\n(400) + (520)", "ERROR:", "VALUE:T4c", "VALUE:RE", "VALUE:RE" ], [ "680", "Stated as T4c with no other information on extension", "VALUE:T4c", "VALUE:T4c", "VALUE:RE", "VALUE:RE" ], [ "710", "OBSOLETE DATA RETAINED V0200 \n\nDiagnosis of inflammatory carcinoma\nWITH a clinical description of inflammation, erythema, edema, peau d'orange, etc., involving not more than 50% of the skin of the breast, \nWITH or WITHOUT dermal lymphatic infiltration\nInflammatory carcinoma, NOS\n\nPrevious wording (V0100):\nDiagnosis of inflammatory carcinoma\nWITHOUT a clinical description of inflammation, erythema, edema, peau d'orange, etc., of more than 50% of the breast,\nWITH or WITHOUT dermal lymphatic infiltration\nInflammatory carcinoma, NOS", "ERROR:", "VALUE:T4d", "VALUE:RE", "VALUE:RE" ], [ "715", "OBSOLETE DATA RETAINED V0202\n\nDiagnosis of inflammatory carcinoma\nWITH a clinical description of inflammation, erythema, edema, peau d'orange, etc., involving not more than one-third (33%) of the skin of the breast,\nWITH or WITHOUT dermal lymphatic infiltration", "VALUE:T4b", "VALUE:T4d", "VALUE:RE", "VALUE:RE" ], [ "720", "OBSOLETE DATA CONVERTED V0102 \n\nDescription: Diagnosis of inflammatory carcinoma\nWITH a clinical diagnosis of inflammation, erythema, edema, peau d'orange, etc., of not more than 50% of the breast, \nWITH or WITHOUT dermal lymphatic infiltration\nInflammatory carcinoma, NOS\nNOTE: Code 720 has been combined with code 710.\nAny cases coded to 720 should be re-coded to code 710.\n\nPrevious wording (V0100):\nDiagnosis of inflammatory carcinoma\nWITH a clinical description of inflammation, erythema, edema, peau d'orange, etc. of LESS THAN OR EQUAL TO 50% of the breast, WITH or WITHOUT dermal lymphatic infiltration", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "725", "Diagnosis of inflammatory carcinoma\nWITH a clinical description of inflammation, erythema, edema, peau d'orange, etc., involving one-third (33%) or more but less than or equal to one-half (50%) of the skin of the breast,\nWITH or WITHOUT dermal lymphatic infiltration", "VALUE:T4d", "VALUE:T4d", "VALUE:RE", "VALUE:RE" ], [ "730", "Diagnosis of inflammatory carcinoma\nWITH a clinical description of inflammation, erythema, edema, peau d'orange, etc., involving more than one-half (50%) of the skin of the breast,\nWITH or WITHOUT dermal lymphatic infiltration", "VALUE:T4d", "VALUE:T4d", "VALUE:RE", "VALUE:RE" ], [ "750", "Diagnosis of inflammatory carcinoma\nWITH a clinical description of inflammation, erythema, edema, peau d'orange, etc., but percent of involvement not stated, \nWITH or WITHOUT dermal lymphatic infiltration. \n\nNote: If percentage is known, code to 600, 725, or 730.\n\nDiagnosis of inflammatory carcinoma\nWITHOUT a clinical description of inflammation, erythema, edema, peau d'orange, etc., \nWITH or WITHOUT dermal lymphatic infiltration\n\nInflammatory carcinoma, NOS", "VALUE:T4d", "VALUE:T4d", "VALUE:RE", "VALUE:RE" ], [ "780", "Stated as T4d with no other information on extension", "VALUE:T4d", "VALUE:T4d", "VALUE:RE", "VALUE:RE" ], [ "790", "Stated as T4 [NOS] with no other information on extension ", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bal.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bal.json deleted file mode 100644 index 86c7451f4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bal.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bal", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Intraluminal or intramural extension to esophagus and duodenum is classified by the depth of greatest invasion in any of these sites, including stomach. (For extension to esophagus or duodenum via serosa, see code 610).\n\n**Note 2**: If the diagnosis states linitis plastica and no other information regarding extension is available, use code 350. Linitis plastica is defined as diffuse involvement of the entire thickness of the stomach wall.\n\n**Note 3**: Codes 610, 650, and 700 are for contiguous extension from the site of origin. Discontinuous involvement is coded in CS Mets at DX, except for implants within the stomach (code 300). Malignant (positive) peritoneal cytology is coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:06.091Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "050", "(Adeno)carcinoma, noninvasive, in a polyp", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to mucosa, NOS, including intramucosal, NOS", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "110", "Invades lamina propria", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "120", "Invades muscularis mucosae", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "122", "Mucosal tumor with intraluminal extension to esophagus or duodenum", "VALUE:T1a", "VALUE:T1", "VALUE:RE", "VALUE:L" ], [ "125", "Stated as T1a with no other information on extension", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "130", "Confined to head of polyp\nExtension to stalk of polyp", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "140", "Confined to stalk of polyp", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "150", "Tumor in polyp, NOS", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "160", "Invades submucosa (superficial invasion)", "VALUE:T1b", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "165", "Submucosal tumor with intraluminal extension to esophagus or duodenum", "VALUE:T1b", "VALUE:T1", "VALUE:RE", "VALUE:L" ], [ "170", "Stated as T1b with no other information on extension", "VALUE:T1b", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "180", "Stated as T1 [NOS] with no other information on extension", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Invades into but not through muscularis propria", "VALUE:T2", "VALUE:T2a", "VALUE:L", "VALUE:L" ], [ "300", "Implants inside stomach\nLocalized, NOS", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "340", "OBSOLETE DATA CONVERTED V0203\nSee code 180\n\nStated as T1, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "350", "Linitis plastica and no other information regarding extension available \n(See Note 2)", "VALUE:T2", "VALUE:T2a", "VALUE:RE", "VALUE:L" ], [ "360", "Invasion of muscularis propria with intraluminal extension to esophagus or duodenum", "VALUE:T2", "VALUE:T2a", "VALUE:RE", "VALUE:L" ], [ "390", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2NOS", "VALUE:L", "VALUE:L" ], [ "400", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded", "VALUE:T3", "VALUE:T2b", "VALUE:L", "VALUE:L" ], [ "415", "Invasion through muscularis propria with intraluminal extension to esophagus or duodenum", "VALUE:T3", "VALUE:T2b", "VALUE:RE", "VALUE:L" ], [ "450", "Extension to adjacent (connective) tissue \nWITHOUT perforation of visceral peritoneum covering these structures:\n Gastric artery\n Ligaments: \n Gastrocolic\n Gastrohepatic\n Gastrosplenic\n Omentum, NOS :\n Greater\n Lesser\n Perigastric fat", "VALUE:T3", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "480", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T2b", "VALUE:L", "VALUE:L" ], [ "490", "OBSOLETE DATA CONVERTED V0203\nSee code 810\n\nStated as T4, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "500", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 505, 555\n\nInvasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum), including perforation of visceral peritoneum covering the gastric ligaments or the omentum \nWITHOUT invasion of adjacent structures\nStated as T4a, NOS", "VALUE:T4a", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "505", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum), including perforation of visceral peritoneum covering the gastric ligaments or the omentum \nWITHOUT invasion of adjacent structures listed in codes 610, 650, and 700", "VALUE:T4a", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "550", "OBSOLETE DATA CONVERTED V0203\nSee code 551\n\n(450) + (500)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "551", "505 + 450", "VALUE:T4a", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "555", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 610, 650\n\nDiaphragm\nDuodenum via serosa or NOS \nEsophagus via serosa\nIleum\nJejunum\nLiver\nPancreas\nSmall intestine, NOS\nSpleen\nTransverse colon/mesocolon \n(including flexures)\nCeliac axis\nAorta", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "610", "Diaphragm\nDuodenum via serosa\nDuodenum, NOS\nEsophagus via serosa\nIleum\nJejunum\nLiver\nPancreas\nSmall intestine, NOS\nSpleen\nTransverse colon/mesocolon (including flexures)", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "650", "Aorta\nCeliac axis", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "690", "OBSOLETE DATA CONVERTED V0203\nSee code 805\n\nStated as T4b, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "700", "Abdominal wall\nAdrenal (suprarenal) gland\nKidney\n\n Retroperitoneum", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "805", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bam.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bam.json deleted file mode 100644 index 8da30ba79..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bam.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bam", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: The intrinsic muscles of tongue are four paired muscles within the tongue which control its shape. The extrinsic muscles originate from structures outside the tongue and control its positioning.\n\n**Note 2**: The assignment of T1 and T2 categories for tumors of the oropharynx is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 405, 410, 650, 775, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 3**: Use code 300 for localized tumor only if no information is available to assign codes 100, 200, 400, 405, or 410.", - "footnotes" : "- For CS Extension codes 100-620 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this schema.\n- For CS Extension codes 100-650 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:06.145Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor on one side confined to posterior one-third of tongue:\n Lamina propria\n Submucosa", "JUMP:extension_size_ajcc7_xeu", "JUMP:extension_size_ajcc6_xai", "VALUE:L", "VALUE:L" ], [ "200", "Musculature, intrinsic or NOS", "JUMP:extension_size_ajcc7_xeu", "JUMP:extension_size_ajcc6_xai", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS\nMidline tumor", "JUMP:extension_size_ajcc7_xeu", "JUMP:extension_size_ajcc6_xai", "VALUE:L", "VALUE:L" ], [ "400", "Base of tongue tumor crosses midline\nTumor of lingual tonsil on both sides", "JUMP:extension_size_ajcc7_xeu", "JUMP:extension_size_ajcc6_xai", "VALUE:L", "VALUE:L" ], [ "405", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xeu", "JUMP:extension_size_ajcc6_xai", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xeu", "JUMP:extension_size_ajcc6_xai", "VALUE:L", "VALUE:L" ], [ "500", "Anterior two-thirds of tongue for base of tongue\nLingual tonsil for base of tongue\nBase of tongue for lingual tonsil\nFloor of mouth\nLower gingiva", "JUMP:extension_size_ajcc7_xeu", "JUMP:extension_size_ajcc6_xai", "VALUE:RE", "VALUE:RE" ], [ "530", "Sublingual gland", "JUMP:extension_size_ajcc7_xeu", "JUMP:extension_size_ajcc6_xai", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\nEpiglottis, lingual surface assigned to T3 in AJCC 7, see code 640\n\nEpiglottis, lingual (pharyngeal) surface\nGlossoepiglottic fold\nGlossopharyngeal fold\nLateral pharyngeal wall\nPharyngoepiglottic fold\nTonsillar pillars and fossae\nTonsils\nVallecula", "ERROR:", "JUMP:extension_size_ajcc6_xai", "VALUE:RE", "VALUE:RE" ], [ "610", "Glossoepiglottic fold\nGlossopharyngeal fold\nLateral pharyngeal wall\nPharyngoepiglottic fold\nTonsillar pillars and fossae\nTonsils\nVallecula", "JUMP:extension_size_ajcc7_xeu", "JUMP:extension_size_ajcc6_xai", "VALUE:RE", "VALUE:RE" ], [ "620", "Soft palate, inferior surface or NOS including uvula", "JUMP:extension_size_ajcc7_xeu", "JUMP:extension_size_ajcc6_xai", "VALUE:D", "VALUE:RE" ], [ "640", "Epiglottis, lingual surface", "VALUE:T3", "JUMP:extension_size_ajcc6_xai", "VALUE:RE", "VALUE:RE" ], [ "645", "640 + 620 \n\nEpiglottis, lingual surface plus soft palate", "VALUE:T3", "JUMP:extension_size_ajcc6_xai", "VALUE:D", "VALUE:RE" ], [ "650", "Stated as T3 with no other information on extension", "VALUE:T3", "JUMP:extension_size_ajcc6_xai", "VALUE:RE", "VALUE:RE" ], [ "710", "Mandible for lingual tonsil", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "715", "710 + 620 \n\nMandible plus soft palate", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "720", "Mandible for base of tongue", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "740", "Medial pterygoid muscle\nHard palate", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "750", "Musculature of tongue, extrinsic:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "760", "Hypopharynx", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "770", "Larynx", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "780", "Skin", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "790", "Lateral nasopharynx\nLateral pterygoid muscle\nPterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "795", "(770, 780, or 790) + 760", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nRecode involved structures to 620, 645, 715, 760, 790, or 795 as appropriate.\n\nContiguous extension to:\n Base of skull\n Carotid artery\n Hypopharynx\n Lateral nasopharynx\n Lateral pterygoid muscle\n Pterygoid plates\n Uvula", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "805", "Further contiguous extension including:\n Skull base\n Carotid artery (encased)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "820", "OBSOLETE DATA CONVERTED V0200\nSee code 805\n\nFurther contiguous extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ban.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ban.json deleted file mode 100644 index 748736b6a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ban.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_ban", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: If there is a discrepancy between the Clark level and the pathologic description of extent (invasion into the layers of the dermis), use the higher (more extensive) code.\n\n**Note 2**: Code the greatest extent of invasion from any procedure performed on the lesion, whether it is described as a biopsy or an excision. For example, if a punch biopsy with involvement of Clark level IV is followed by a re-excision with residual tumor involving Clark level II, use code 300 (Clark level IV).\n\n**Note 3**: Satellite lesions/nodules or in-transit metastases are coded in CS Lymph Nodes.\n\n**Note 4**: Ulceration of the melanoma is coded in CS Site-Specific Factor 2.", - "footnotes" : "- For CS Extension codes 100-300, 400-800, and 999 ONLY, the T category for AJCC 7staging is assigned based on the values of CS Site-Specific Factor 1, Measured Thickness, CS Site-Specific Factor 2, Ulceration, and for certain cases CS Site-Specific Factor 7, Primary Tumor Mitotic Count/Rate, as shown in the Thickness, Ulceration AJCC 7 Table.\n- For CS Extension codes 310-380 ONLY, the T category for AJCC 7 staging is assigned based on the values of CS Extension, CS Site-Specific Factor 1, Measured Thickness, CS Site-Specific Factor 2, Ulceration, and for certain cases CS Site-Specific Factor 7, Primary Tumor Mitotic Count/Rate, as shown in the ExtensionThickness Ulceration T Category AJCC 7 table.\n- For CS Extension codes 100-300, 400-800, and 999 ONLY, the T category for AJCC 6 staging is assigned based on the values of CS Site-Specific Factor 1, Measured Thickness, and CS Site-Specific Factor 2, Ulceration, as shown in the Thickness Ulceration AJCC 6 Table.\n- For CS Extension codes 310-380 ONLY, the T category for AJCC 6 staging is assigned based on the values of CS Extension, CS Site-Specific Factor 1, Measured Thickness, and CS Site-Specific Factor 2, Ulceration, as shown in the Extension, Thickness, Ulceration, T Category AJCC 6 Table.", - "last_modified" : "2015-05-27T16:19:06.192Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, noninvasive \n(Basement membrane of the epidermis is intact)\nClark level I", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Papillary dermis invaded\nClark level II", "JUMP:thickness_ulceration_ajcc7_xhu", "JUMP:thickness_ulceration_ajcc6_xbn", "VALUE:L", "VALUE:L" ], [ "200", "Papillary-reticular dermal interface invaded\nClark level III", "JUMP:thickness_ulceration_ajcc7_xhu", "JUMP:thickness_ulceration_ajcc6_xbn", "VALUE:L", "VALUE:L" ], [ "300", "Reticular dermis invaded\nClark level IV", "JUMP:thickness_ulceration_ajcc7_xhu", "JUMP:thickness_ulceration_ajcc6_xbn", "VALUE:L", "VALUE:L" ], [ "310", "Stated as T1a with no other information on extension", "JUMP:extension_thickness_ulceration_tcategory_ajcc7_xkk", "JUMP:extension_thickness_ulceration_tcategory_ajcc6_xkj", "VALUE:L", "VALUE:L" ], [ "315", "Stated as T1b with no other information on extension", "JUMP:extension_thickness_ulceration_tcategory_ajcc7_xkk", "JUMP:extension_thickness_ulceration_tcategory_ajcc6_xkj", "VALUE:L", "VALUE:L" ], [ "320", "Stated as T1 [NOS] with no other information on extension", "JUMP:extension_thickness_ulceration_tcategory_ajcc7_xkk", "JUMP:extension_thickness_ulceration_tcategory_ajcc6_xkj", "VALUE:L", "VALUE:L" ], [ "330", "Stated as T2a with no other information on extension", "JUMP:extension_thickness_ulceration_tcategory_ajcc7_xkk", "JUMP:extension_thickness_ulceration_tcategory_ajcc6_xkj", "VALUE:L", "VALUE:L" ], [ "335", "Stated as T2b with no other information on extension", "JUMP:extension_thickness_ulceration_tcategory_ajcc7_xkk", "JUMP:extension_thickness_ulceration_tcategory_ajcc6_xkj", "VALUE:L", "VALUE:L" ], [ "340", "Stated as T2 [NOS] with no other information on extension", "JUMP:extension_thickness_ulceration_tcategory_ajcc7_xkk", "JUMP:extension_thickness_ulceration_tcategory_ajcc6_xkj", "VALUE:L", "VALUE:L" ], [ "350", "Stated as T3a with no other information on extension", "JUMP:extension_thickness_ulceration_tcategory_ajcc7_xkk", "JUMP:extension_thickness_ulceration_tcategory_ajcc6_xkj", "VALUE:L", "VALUE:L" ], [ "355", "Stated as T3b with no other information on extension", "JUMP:extension_thickness_ulceration_tcategory_ajcc7_xkk", "JUMP:extension_thickness_ulceration_tcategory_ajcc6_xkj", "VALUE:L", "VALUE:L" ], [ "360", "Stated as T3 [NOS] with no other information on extension", "JUMP:extension_thickness_ulceration_tcategory_ajcc7_xkk", "JUMP:extension_thickness_ulceration_tcategory_ajcc6_xkj", "VALUE:L", "VALUE:L" ], [ "370", "Stated as T4a with no other information on extension", "JUMP:extension_thickness_ulceration_tcategory_ajcc7_xkk", "JUMP:extension_thickness_ulceration_tcategory_ajcc6_xkj", "VALUE:L", "VALUE:L" ], [ "375", "Stated as T4b with no other information on extension", "JUMP:extension_thickness_ulceration_tcategory_ajcc7_xkk", "JUMP:extension_thickness_ulceration_tcategory_ajcc6_xkj", "VALUE:L", "VALUE:L" ], [ "380", "Stated as T4 [NOS] with no other information on extension", "JUMP:extension_thickness_ulceration_tcategory_ajcc7_xkk", "JUMP:extension_thickness_ulceration_tcategory_ajcc6_xkj", "VALUE:L", "VALUE:L" ], [ "400", "Skin/dermis, NOS\nLocalized, NOS", "JUMP:thickness_ulceration_ajcc7_xhu", "JUMP:thickness_ulceration_ajcc6_xbn", "VALUE:L", "VALUE:L" ], [ "500", "Subcutaneous tissue invaded (through entire dermis)\nClark's level V", "JUMP:thickness_ulceration_ajcc7_xhu", "JUMP:thickness_ulceration_ajcc6_xbn", "VALUE:L", "VALUE:RE" ], [ "800", "Further contiguous extension:\nUnderlying cartilage, bone, skeletal muscle", "JUMP:thickness_ulceration_ajcc7_xhu", "JUMP:thickness_ulceration_ajcc6_xbn", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "JUMP:thickness_ulceration_ajcc7_xhu", "JUMP:thickness_ulceration_ajcc6_xbn", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bao.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bao.json deleted file mode 100644 index b7adaabe1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bao.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bao", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 2**: Codes 600-800 are used for contiguous extension from the site of origin. Discontinuous involvement is coded in CS Mets at DX.\n\n**Note 3**: Tumor that is adherent to other organs or structures, macroscopically, is classified cT4b. If tumor is present in adhesion(s) upon microscopic examination, the tumor is classified as pT4b. Use code 565 for macroscopic adhesions if no pathologic confirmation, and for pathologically confirmed tumor in adhesions. However, if no tumor is present in adhesion(s) upon microscopic examination, the classification is based upon extent of tumor invasion into or through the wall; use codes 000-160, 200, 400, 450, 458, 500, and 550 as appropriate to describe the microscopically confirmed depth of tumor invasion for these cases. Use codes 600, 655-800 to code invasion of underlying structures from the adherent tumor. \n\n**Note 4**: High grade dysplasia and severe dysplasia are generally not reportable in cancer registries, but if a registry does collect these, codes 000 or 050 should be used.", - "last_modified" : "2015-05-27T16:19:06.256Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "050", "(Adeno)carcinoma, noninvasive, in a polyp or adenoma", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to mucosa, NOS, including intramucosal, NOS", "VALUE:Tis", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "110", "Invades lamina propria, including lamina propria in the stalk of a polyp", "VALUE:Tis", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "120", "Confined to and not through the muscularis mucosae, including muscularis mucosae in the stalk of a polyp.", "VALUE:Tis", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "130", "Confined to head of polyp, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "140", "Confined to stalk of polyp, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "150", "Invasive tumor in polyp, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "160", "Invades submucosa (superficial invasion), including submucosa in the head or stalk of a polyp", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "170", "Stated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis propria invaded\n\nStated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS \nConfined to colon, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nNon-peritonealized pericolic tissues invaded\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS\nWall, NOS", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "410", "OBSOLETE DATA CONVERTED V0203\nSee code 470\n\nStated as T3 with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 458\n\nFat, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "450", "Extension to:\n All colon sites:\n Adjacent tissue(s), NOS\n Connective tissue\n Mesenteric fat\n Mesentery \n Mesocolon\n Pericolic fat\n Ascending and descending colon\n Retroperitoneal fat \n Transverse colon and flexures\n Gastrocolic ligament\n Greater omentum", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "458", "Fat, NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "460", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee Note 3, codes 565 and 570\n\nAdherent to other organs or structures, but no microscopic tumor found in adhesion(s)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "470", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "500", "Invasion of/through serosa (mesothelium) (visceral peritoneum)\nTumor penetrates to surface of visceral peritoneum", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "550", "500 + (450 or 458)", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "560", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "565", "Adherent to other organs or structures clinically with no microscopic examination\nTumor found in adhesion(s) if microscopic examination performed", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "570", "Adherent to other organs or structures, NOS", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "600", "All colon sites:\n Small intestine\nCecum:\n Greater omentum\nAscending colon:\n Greater omentum\n Liver, right lobe\nTransverse colon and flexures:\n Gallbladder/bile ducts\n Kidney\n Liver\n Pancreas\n Spleen\n Stomach\nDescending colon:\n Greater omentum\n Pelvic wall\n Spleen\nSigmoid colon:\n Greater omentum\n Pelvic wall", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 655 and 675\n\nAll colon sites:\n Abdominal wall \n Retroperitoneum (excluding fat) ", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "655", "All colon sites:\n Abdominal wall\nAll colon sites excluding sigmoid:\n Retroperitoneum (excluding fat)", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "660", "Ascending colon:\n Right kidney\n Right ureter\nDescending colon:\n Left kidney\n Left ureter", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "675", "Sigmoid colon:\n Retroperitoneum (excluding fat)", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "700", "Cecum, ascending, descending and sigmoid colon:\n Fallopian tube\n Ovary\n Uterus", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "All colon sites unless otherwise stated above:\n Adrenal (suprarenal) gland\n Bladder\n Diaphragm\n Fistula to skin\n Gallbladder\n Other segment(s) of colon via serosa", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension:\n Cecum:\n Kidney\n Liver\n Ureter\n Transverse colon and flexures:\n Ovary\n Fallopian tube\n Uterus\n Ureter\n Sigmoid colon:\n Cul de sac (rectouterine pouch)\n Ureter", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "850", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "900", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bap.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bap.json deleted file mode 100644 index 0bc1cee23..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bap.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bap", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: The assignment of T1 and T2 categories for tumors of the oropharynx is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 305, 310, 540, 705, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 2**: Use code 300 for localized tumor only if no information is available to assign code 150, 200, 305, 310, or 530.", - "footnotes" : "- For CS Extension codes 150-520 ONLY, the T category for AJCC 7staging is assigned based on the value of CS Tumor Size as shown in the Extension Size AJCC 7 Table for this schema.\n- For CS Extension codes 100-550 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:06.311Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\nEpiglottis mapped to T3 in CSv2, see code 530\n\nInvasive tumor confined to one of the following subsites:\n Anterior wall (including vallecula and lingual (anterior) surface of epiglottis)\n One lateral wall\n Posterior wall", "ERROR:", "JUMP:extension_size_ajcc6_xaz", "VALUE:L", "VALUE:L" ], [ "150", "Invasive tumor confined to one of the following subsites: \n Anterior wall including vallecula \n One lateral wall (including tonsillar pillar/fossa, palatine tonsil, tonsil, NOS)\n Posterior wall ", "JUMP:extension_size_ajcc7_xdw", "JUMP:extension_size_ajcc6_xaz", "VALUE:L", "VALUE:L" ], [ "200", "Involvement of two or more subsites listed in code 100:\n Posterior, anterior, lateral wall(s)", "JUMP:extension_size_ajcc7_xdw", "JUMP:extension_size_ajcc6_xaz", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_ajcc7_xdw", "JUMP:extension_size_ajcc6_xaz", "VALUE:L", "VALUE:L" ], [ "305", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xdw", "JUMP:extension_size_ajcc6_xaz", "VALUE:L", "VALUE:L" ], [ "310", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xdw", "JUMP:extension_size_ajcc6_xaz", "VALUE:L", "VALUE:L" ], [ "400", "Soft palate, inferior surface including uvula \nSoft palate, NOS", "JUMP:extension_size_ajcc7_xdw", "JUMP:extension_size_ajcc6_xaz", "VALUE:RE", "VALUE:RE" ], [ "410", "OBSOLETE DATA CONVERTED V0200\nT4a involvement per curator, see code 630\n\nHypopharynx NOS\nPyriform sinus", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "420", "Soft palate, superior (nasopharyngeal) surface", "JUMP:extension_size_ajcc7_xdw", "JUMP:extension_size_ajcc6_xaz", "VALUE:RE", "VALUE:RE" ], [ "500", "Base of tongue (including lingual tonsil)\nBuccal mucosa (inner cheek)\nFloor of mouth\nGum (gingiva)", "JUMP:extension_size_ajcc7_xdw", "JUMP:extension_size_ajcc6_xaz", "VALUE:RE", "VALUE:RE" ], [ "510", "Any site in codes 150-500 WITH fixation", "JUMP:extension_size_ajcc7_xdw", "JUMP:extension_size_ajcc6_xaz", "VALUE:RE", "VALUE:RE" ], [ "520", "Involvement of both lateral walls through soft palate or base of tongue", "JUMP:extension_size_ajcc7_xdw", "JUMP:extension_size_ajcc6_xaz", "VALUE:D", "VALUE:RE" ], [ "530", "Epiglottis, lingual surface", "VALUE:T3", "JUMP:extension_size_ajcc6_xaz", "VALUE:L", "VALUE:L" ], [ "531", "530 + 200", "VALUE:T3", "JUMP:extension_size_ajcc6_xaz", "VALUE:L", "VALUE:L" ], [ "533", "530 + (400, 420, 500, 510)\n\nEpiglottis, lingual surface plus any structure in codes 400, 420, 500, and 510 ", "VALUE:T3", "JUMP:extension_size_ajcc6_xaz", "VALUE:RE", "VALUE:RE" ], [ "535", "530 WITH fixation\nWITH or WITHOUT involvement of any site in codes 400, 420, 500, and 510", "VALUE:T3", "JUMP:extension_size_ajcc6_xaz", "VALUE:RE", "VALUE:RE" ], [ "538", "530 +520\n\nEpiglottis, lingual surface, plus both lateral walls through soft palate or base of tongue", "VALUE:T3", "JUMP:extension_size_ajcc6_xaz", "VALUE:D", "VALUE:RE" ], [ "540", "Stated as T3 with no other information on extension", "VALUE:T3", "JUMP:extension_size_ajcc6_xaz", "VALUE:RE", "VALUE:RE" ], [ "550", "OBSOLETE DATA RETAINED V0200 \nExtension to lingual surface of epiglottis assigned to T3 in AJCC 7\nSee codes 510, 535 \n\nAny extension coded in 100-500 WITH fixation ", "ERROR:", "JUMP:extension_size_ajcc6_xaz", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nT4 involvement per curator , see codes 610, 635, 675, 708, 715, 718\n\nPrevertebral fascia or muscle\nSoft tissue of neck", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "610", "Soft tissue of neck", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "620", "OBSOLETE DATA CONVERTED V0200\nSee code 710 \n\nNasopharynx, lateral, or NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "630", "Hypopharynx NOS\nPyriform sinus", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "635", "630 + (420, 500, 510, 535, or 610)", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "650", "Larynx, NOS\nMedial pterygoid muscle, or pterygoid muscle, NOS\nPosterior surface of epiglottis", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "675", "(610, 630, 650) + 520 \n\nInvolvement of any structure in codes 610, 630, and 650 plus involvement of both lateral walls through soft palate or base of tongue ", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:RE" ], [ "700", "Deep extrinsic muscles of tongue: \n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus\nHard palate\nMandible", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "705", "Stated as T4a with no other information on exension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "708", "Prevertebral fascia/muscle", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "710", "Nasopharynx, lateral or NOS", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "715", "(708 or 710) + 520 \n\nPrevertebral fascia/muscle or nasopharynx plus involvement of both lateral walls through soft palate or base of tongue", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:RE" ], [ "718", "(708 and/or 710) + 700 \n\nPrevertebral fascia/muscle or nasopharynx plus any structure in code 700", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "720", "Lateral pterygoid muscle\nPterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "750", "Base of skull\nBone of skull\nBone, NOS (excluding bones in codes 700, 720)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "760", "OBSOLETE DATA CONVERTED V0200 \nSee code 750 \n\nBone ", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "770", "Carotid artery (encased)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension:\n Anterior 2/3 of tongue\n Parotid gland", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_baq.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_baq.json deleted file mode 100644 index 63da64506..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_baq.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_baq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: The assignment of T1 and T2 categories for tumors of the oropharynx is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 405, 410, 645, 735, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 2**: Use code 300 for localized tumor ONLY if no information is available to assign code 100, 200, 400, 405, or 410.", - "footnotes" : "- For CSExtension codes 100-600 ONLY, the T category for AJCC staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this schema.\n- For CS Extension codes 100-645 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:06.382Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor on one side confined to:\n Lamina propria\n Submucosa", "JUMP:extension_size_ajcc7_xfc", "JUMP:extension_size_ajcc6_xav", "VALUE:L", "VALUE:L" ], [ "200", "Musculature invaded", "JUMP:extension_size_ajcc7_xfc", "JUMP:extension_size_ajcc6_xav", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_ajcc7_xfc", "JUMP:extension_size_ajcc6_xav", "VALUE:L", "VALUE:L" ], [ "400", "Tumor crosses midline", "JUMP:extension_size_ajcc7_xfc", "JUMP:extension_size_ajcc6_xav", "VALUE:L", "VALUE:L" ], [ "405", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xfc", "JUMP:extension_size_ajcc6_xav", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xfc", "JUMP:extension_size_ajcc6_xav", "VALUE:L", "VALUE:L" ], [ "500", "Buccal mucosa (inner cheek)\nGum (gingiva), upper", "JUMP:extension_size_ajcc7_xfc", "JUMP:extension_size_ajcc6_xav", "VALUE:RE", "VALUE:RE" ], [ "600", "Lateral pharyngeal wall\nTonsillar pillars and fossae\nTonsils", "JUMP:extension_size_ajcc7_xfc", "JUMP:extension_size_ajcc6_xav", "VALUE:RE", "VALUE:RE" ], [ "640", "Epiglottis, lingual surface", "VALUE:T3", "JUMP:extension_size_ajcc6_xav", "VALUE:D", "VALUE:D" ], [ "645", "Stated as T3 with no other information on extension", "VALUE:T3", "JUMP:extension_size_ajcc6_xav", "VALUE:RE", "VALUE:RE" ], [ "650", "Hard palate", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "670", "Nasal cavity", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "675", "(650 or 670) + 640\n\nHard palate or nasal cavity plus epiglottis, lingual surface", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "700", "Mandible\nMaxilla \nPalatine bone (bone of hard palate)", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "710", "Pterygoid muscle, medial or NOS", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "720", "Tongue\nDeep (extrinsic) muscle of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "730", "Larynx\nHypopharynx", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "733", "(700, 710, 720, or 730) + 670", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "735", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "740", "Maxillary sinus (antrum) \nNasopharynx, lateral or NOS", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "745", "740 + 670", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "770", "OBSOLETE DATA CONVERTED V0200\nSee code 670\n\nNasal cavity", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "780", "Pterygoid muscle, lateral\nPterygoid plates\n\nNote: For medial pterygoid muscle or pterygoid muscle, NOS, see code 710", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:D" ], [ "790", "780 + (640, 700 - 730, or 740) \n\nAny structure in 780 plus any structure in 640, 700 - 730, or 740", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension including:\n Carotid artery (encased)\n Skull base", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bar.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bar.json deleted file mode 100644 index 7b3bf9a0d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bar.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bar", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: If there is fixation of hemilarynx or larynx, code to 550, not 420 or 450.\n\n**Note 2**: Use code 300 for localized tumor only if no information is available to assign code 100, 200, or 305.\n\n**Note 3**: Use code 305, 455, 565, 638, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "footnotes" : "- For CSExtension codes 100, 200, 300, 305, 400, 420, 450, and 500 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size and CS Extension as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100, 200, 300, 305, 400, 420, 450, and 500 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size and CS Extension as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:06.431Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to one of the following subsites:\n Laryngopharynx\n Postcricoid area\n Posterior pharyngeal wall\n Pyriform sinus", "JUMP:extension_size_xbq", "JUMP:extension_size_xbq", "VALUE:L", "VALUE:L" ], [ "150", "OBSOLETE DATA CONVERTED V0200\nSee code 420\n\nCode 100 with tumor fixation", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "200", "Tumor invades more than one subsite of hypopharynx (listed in code 100)\nWITHOUT fixation of hemilarynx", "JUMP:extension_size_xbq", "JUMP:extension_size_xbq", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xbq", "JUMP:extension_size_xbq", "VALUE:L", "VALUE:L" ], [ "305", "Stated as T1 with no other information on extension", "JUMP:extension_size_xbq", "JUMP:extension_size_xbq", "VALUE:L", "VALUE:L" ], [ "400", "Oropharynx", "JUMP:extension_size_xbq", "JUMP:extension_size_xbq", "VALUE:RE", "VALUE:RE" ], [ "420", "Code 100 with tumor fixation\nWITHOUT fixation of hemilarynx", "JUMP:extension_size_xbq", "JUMP:extension_size_xbq", "VALUE:RE", "VALUE:RE" ], [ "450", "Code 200, 300, or 400 with tumor fixation\nWITHOUT fixation of hemilarynx", "JUMP:extension_size_xbq", "JUMP:extension_size_xbq", "VALUE:RE", "VALUE:RE" ], [ "455", "Stated as T2 with no other information on extension", "JUMP:extension_size_xbq", "JUMP:extension_size_xbq", "VALUE:L", "VALUE:L" ], [ "500", "Larynx WITHOUT fixation", "JUMP:extension_size_xbq", "JUMP:extension_size_xbq", "VALUE:RE", "VALUE:RE" ], [ "510", "OBSOLETE DATA CONVERTED V0104\nSee code 450\n\nAny of codes 100-400 WITH fixation of tumor or fixation, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "550", "Fixation of hemilarynx or larynx", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "560", "Esophagus", "VALUE:T3", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "565", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "600", "Central compartment soft tissues of neck including:\n Prelaryngeal strap muscles\n Subcutaneous fat", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "610", "OBSOLETE DATA CONVERTED V0200\nAssigned to T3 in AJCC7, see code 560\n\nEsophagus", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "620", "Thyroid gland", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:RE" ], [ "630", "Cricoid cartilage\nThyroid cartilage", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:RE" ], [ "635", "Hyoid bone", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "638", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "640", "Prevertebral fascia/muscle(s)", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "645", "640 + 635\n\nPrevertebral fascia/muscles plus hyoid bone", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "650", "Carotid artery (encased)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:RE" ], [ "655", "650 + 635\n\nCarotid aratery plus hyoid bone", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "660", "OBSOLETE DATA CONVERTED V0200\nSee code 635\n\nHyoid bone", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "700", "Mediastinal structures", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "760", "Base of tongue\nFloor of mouth\nNasopharynx", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bas.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bas.json deleted file mode 100644 index 13cd94435..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bas.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bas", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Parapharyngeal involvement denotes postero-lateral infiltration of tumor beyond the pharyngobasilar fascia. The pharyngobasilar fascia is the fibrous layer of the pharyngeal wall between the mucosa and the muscular layer, attached superiorly to the basilar part of the occipital bone and diminishing in thickness as it descends.\n\n**Note 2**: The masticator space primarily consists of the muscles of mastication, the medial and lateral pterygoid, masseter, and temporalis muscles. The space also includes the ramus of the mandible and the third division of cranial nerve V as it passes through the foramen ovale into the suprahyoid neck.\n\n**Note 3**: Use code 300 for localized tumor ONLY if no information is available to assign codes 105 or 205. \n\n**Note 4**: Use code 510, 585, 645, or 810 if the physician's assignment of T category is the ONLY information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:06.483Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to one of the following subsites:\n Inferior wall (superior surface of soft palate)\n One lateral wall\n Posterior superior wall (vault)", "ERROR:", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "105", "Invasive tumor confined to one of the following subsites:\n Inferior wall (superior surface of soft palate)\n One lateral wall\n Posterior superior wall (vault)", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nInvolvement of two or more subsites:\n Lateral wall extending into eustachian tube/middle ear\n Posterior, inferior, or lateral wall(s)", "ERROR:", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "205", "Involvement of two or more subsites:\n Lateral wall extending into eustachian \n tube/middle ear\n Posterior, inferior, or lateral wall(s)", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nConfined to nasopharynx\nLocalized, NOS", "ERROR:", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "305", "Confined to nasopharynx\nLocalized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Oropharynx\nSoft palate, inferior surface including uvula\nWITHOUT parapharyngeal extension", "VALUE:T1", "VALUE:T2a", "VALUE:RE", "VALUE:RE" ], [ "500", "Nasal cavity \nWITHOUT parapharyngeal extension", "VALUE:T1", "VALUE:T2a", "VALUE:RE", "VALUE:RE" ], [ "505", "Extension to soft tissue, NOS (excluding soft tissue of neck)", "VALUE:T1", "VALUE:T2NOS", "VALUE:RE", "VALUE:RE" ], [ "510", "Stated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "520", "OBSOLETE DATA CONVERTED V0203\nSee code 505\n\nExtends to soft tissue NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "550", "OBSOLETE DATA RETAINED V0200\n\nAny extension coded in 100-500 WITH fixation or tumor \nDescribed only as FIXED", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "555", "Any extension coded in 105, 205, 305, 400, 500, or 505\nWITH fixation or tumor described only as FIXED", "VALUE:T2", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "560", "OBSOLETE DATA RETAINED V0200\n\nAny extension coded in 100-500 WITH parapharyngeal extension", "ERROR:", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "565", "Any extension coded in 105, 205, 305, 400, 500, 505, or 555\nWITH parapharyngeal extension", "VALUE:T2", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "570", "OBSOLETE DATA CONVERTED V0200\nSee code 610\n\nHard palate", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "580", "OBSOLETE DATA RETAINED V0200\n\nPterygopalatine fossa ", "ERROR:", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "585", "Pterygopalatine fossa \nWITHOUT bone invasion", "VALUE:T2", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "590", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nBone, including skull", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "605", "Bony structures of skull base\nFloor of orbit\nCartilage, NOS\nBone, NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "610", "Hard Palate", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:RE" ], [ "620", "Paranasal sinus", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:RE" ], [ "645", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA REVIEWED AND CHANGED V0200\nIn CSv1, extension to the orbit was included in both codes 650 and 700. In addition, the instructions for coding invasion of orbital bone were not clear. Codes 650 and 700 should be reviewed for orbital involvement. Involvement of bone of floor of orbit should be coded 605, and other orbit involvement should be coded 710.\n\nOrbit", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0200\nSee note in code 650\n\nBrain\nCranial nerves\nHypopharynx\nInfratemporal fossa\nOrbit\nIntracranial extension, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "710", "Brain\nCranial nerve involvement\nIntracranial extension, NOS\nHypopharynx\nInfratemporal fossa/masticator space\nOrbit except bone of floor of orbit (see code 605) ", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "OBSOLETE DATA CONVERTED V0200\nSee code 710\n\nMasticator space", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "800", "Further contiguous extension including:\n Soft tissues of neck", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bat.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bat.json deleted file mode 100644 index b178db3ed..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bat.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bat", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 2**: Use code 450 for localized tumor only if no information is available to assign codes 100 through 400.\n\n**Note 3**: Use code 130, 375, 530, 775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:06.541Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA CONVERTED V0200\nSee code 130\n\nInvasive tumor with normal vocal cord mobility: \nConfined to glottis, NOS; Intrinsic larynx; laryngeal commissure(s) anterior, posterior; vocal cord(s), NOS, true vocal cord(s), true cord(s)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "110", "One vocal cord with normal vocal cord mobility\n\nStated as T1a with no other information on extension", "VALUE:T1a", "VALUE:T1a", "VALUE:L", "VALUE:L" ], [ "120", "Both vocal cords with normal vocal cord mobility\n\nStated as T1b with no other information on extension", "VALUE:T1b", "VALUE:T1b", "VALUE:L", "VALUE:L" ], [ "130", "Invasive tumor with normal vocal cord mobility: \n Confined to glottis, NOS:\n Intrinsic larynx\n Laryngeal commissure(s):\n Anterior\n Posterior; \n Vocal cord(s), NOS:\n True vocal cord(s)\n True cord(s)\n\nStated as T1 [NOS] with no other information on extension", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "300", "Tumor involves adjacent regions(s) of larynx:\n Subglottis\n Supraglottis:\n Aryepiglottic fold\n Arytenoid cartilage:\n Corniculate tubercle\n Cuneiform tubercle\n Ventricular bands (false vocal cord(s))", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "350", "Impaired vocal cord mobility", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "375", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "400", "Tumor limited to larynx \nWITH vocal cord fixation\nInvolvement of intrinsic muscle(s) of larynx:\n Aryepiglottic\n Arytenoid \n Cricoarytenoid\n Cricothyroid\n Thyroarytenoid \n Thyroepiglottic\n Vocalis", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "450", "Localized, NOS", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "510", "Paraglottic space", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "520", "Inner cortex of thyroid cartilage (minor thyroid cartilage erosion)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:D" ], [ "530", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "600", "Base of tongue\nHypopharynx, NOS\nPre-epiglottic tissues\nPostcricoid area\nPyriform sinus\nVallecula", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "610", "600 + 520\n\nAny structure in code 600 plus inner cortex of thyroid cartilage", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "680", "Extension to/through:\n Cricoid cartilage\n Outer cortex of thyroid cartilage\n(See code 520)", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "700", "Extension to/through tissues beyond larynx:\n Strap muscles:\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Oropharynx\n Skin\n Soft tissue of neck\n Thyroid gland\n Trachea", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "710", "Cervical esophagus", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "730", "Deep extrinsic muscle(s) of tongue", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension, including:\n Mediastinal structures\n Prevertebral space\n Carotid artery (encased)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bau.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bau.json deleted file mode 100644 index 1fd971697..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bau.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bau", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Impaired vocal cord mobility may be described as vocal cord paresis, and may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, paralysis of the vocal cords, or deviation of larynx to the fixed side.\n\n**Note 2**: Use code 450 for localized tumor only if no information is available to assign codes 100 through 400.\n\n**Note 3**: Use code 685, 735, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:06.605Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to:\n Supraglottis (one subsite):\n Aryepiglottic fold\n Arytenoid cartilage\n Corniculate cartilage\n Cuneiform cartilage\n Epilarynx, NOS\n False cords:\n Ventricular bands\n Ventricular cavity\n Ventricular fold\n Infrahyoid epiglottis\n Laryngeal cartilage, NOS\n Laryngeal (posterior) surface of epiglottis\n Suprahyoid epiglottis (including tip, lingual (anterior) and laryngeal surfaces)\nWITH normal vocal cord mobility\n\nStated as T1 with no further information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Tumor involves mucosa of more than one subsite of supraglottis listed in code 100\nWITHOUT impaired vocal cord mobility or fixation of larynx or NOS", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "230", "Tumor involves mucosa of glottis \nWITHOUT impaired vocal cord mobility or fixation of larynx or NOS", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "240", "Tumor involved adjacent subsites in supraglottis or glottis, NOS, mucosal involvement not specified,\nWITHOUT impaired vocal cord mobility or fixation of larynx or NOS", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "250", "Involvement of any structures in supraglottic larynx listed in code 100\nand/or glottis\nWITH impaired vocal cord mobility", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "300", "OBSOLETE DATA RETAINED V0200\nSee code 240\n\nTumor involves adjacent region(s) of larynx", "ERROR:", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "320", "Tumor involves mucosa of regions outside supraglottis, including:\n Base of tongue\n Vallecula\n Medial wall of pyriform sinus\nWITHOUT impaired vocal cord mobility or fixation of larynx or NOS", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "350", "OBSOLETE DATA RETAINED V0200 \nSee codes 250 and 360 \n\nImpaired vocal cord mobility", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "360", "Involvement of any structures in code 320\nWITH impaired vocal cord mobility", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "365", "Tumor involves adjacent regions of supraglottis or glottis or region outside supraglottis, NOS, mucosal involvement not specified, \nWITHOUT impaired vocal cord mobility or fixation of larynx or NOS", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "375", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "390", "Involvement of subglottis \nWITHOUT vocal cord fixation", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "395", "390 + 320\n\nSubglottis plus any structure in code 320 WITHOUT vocal cord fixation", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "400", "Involvement of any structures in supraglottis (code 100), glottis, and subglottis WITH vocal cord fixation", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "450", "Localized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "520", "Paraglottic space \nWITHOUT vocal cord fixation", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "530", "520 + 320", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\nSee code 320\n\nTumor involves region outside the supraglottis\nWITHOUT fixation, including:\n Medial wall pyriform sinus\n Mucosa of base of tongue\n Vallecula", "ERROR:", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "620", "OBSOLETE DATA RETAINED V0200\n\nCode 600 WITH fixation", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "625", "Involvement of any structures in code 320 and/or 520 \nWITH vocal cord fixation", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "650", "Hypopharynx, NOS\nPostcricoid area\nPre-epiglottic tissues", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "660", "Deep base of tongue", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "670", "OBSOLETE DATA CONVERTED V0200\nSee code 690\n\nCricoid cartilage", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "680", "Inner cortex of thyroid cartilage (minor erosion)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:D" ], [ "685", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "690", "Cricoid cartilage", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "695", "690 + 680\n\nCricoid cartilage plus inner cortex of thyroid cartilage ", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "700", "Extension to/through:\n Esophagus\n Oropharynx\n Soft tissues of neck\n Outer cortex of thyroid cartilage\n Thyroid gland", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "720", "Extension to/through:\n Strap muscle(s)\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Skin", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "730", "Extension to/through:\n Deep extrinsic muscle(s) of tongue \n Trachea", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "735", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension, including:\n Carotid artery (encased)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bav.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bav.json deleted file mode 100644 index e3f357797..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bav.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bav", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Impaired vocal cord mobility may be described as vocal cord paresis, and may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord maybe described as immobility of the arytenoids noted on endoscopy, paralysis of the vocal cords, or deviation of larynx to the fixed side.\n\n**Note 2**: Use code 450 for localized tumor ONLY if no information is available to assign codes 100 through 400.\n\n**Note 3**: Use code 775, 810, or 815 if the physician's assignment of T category is the ONLY information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:06.664Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor with normal vocal cord mobility confined to subglottis\n\nStated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "300", "Tumor involves adjacent regions(s) of larynx:\n Supraglottis\n Glottis\nWITH normal or impaired mobility\n\nStated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "400", "Tumor limited to larynx \nWITH vocal cord fixation\n \nStated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "450", "Localized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "600", "Base of tongue\nHypopharynx, NOS\nPostcricoid area\nPre-epiglottic tissues\nPyriform sinus (pyriform fossa)\nVallecula", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "680", "Extension to/through cricoid cartilage or thyroid cartilage", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "700", "Extension to/through:\n Cervical esophagus\n Deep extrinsic muscles of tongue\n Strap muscles:\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Oropharynx\n Skin\n Soft tissues of neck\n Thyroid gland\n Trachea", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "730", "OBSOLETE DATA CONVERTED V0200\nSee code 800\n\nContiguous extension to other tissues beyond larynx not specified in codes 700 or 800", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension including:\n Mediastinal structures\n Prevertebral space\n Carotid artery (encased)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_baw.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_baw.json deleted file mode 100644 index bd51ff5ff..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_baw.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_baw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Impaired vocal cord mobility may be described as vocal cord paresis, and may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord maybe described as immobility of the arytenoids noted on endoscopy, paralysis of the vocal cords, or deviation of larynx to the fixed side.\n\n**Note 2**: Use code 450 for localized tumor only if no information is available to assign codes 100 through 400.\n\n**Note 3**: Use code 375, 630, 775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:06.728Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to site of origin\n\nStated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Tumor involves more than one subsite of supraglottis or glottis \nWITHOUT fixation or NOS", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "300", "Tumor involves adjacent regions(s) of larynx", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "350", "Impaired vocal cord mobility", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "375", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 410, 630\n\nTumor limited to larynx WITH vocal cord fixation\nStated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "410", "Tumor limited to larynx WITH vocal cord fixation", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "450", "Localized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "500", "Invasion of inner cortex of thyroid cartilage", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "600", "Base of tongue\nHypopharynx, NOS\nPostcricoid area\nPre-epiglottic tissues\nPyriform sinus (pyriform fossa)\nVallecula", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "630", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "680", "Extension to/through cricoid cartilage and thyroid cartilage\n(See code 500)", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "700", "Extension to/through:\n Cervical esophagus\n Deep extrinsic muscle(s) of tongue\n Strap muscle(s):\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Oropharynx\n Skin\n Soft tissues of neck\n Thyroid gland\n Trachea", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension, including:\n Carotid artery (encased)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bax.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bax.json deleted file mode 100644 index f09f9a1a1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bax.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bax", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Involvement of or extension to bone ncludes any type of tumor extension to the bone, such as erosion, invasion, extension, penetration, or destruction.\n\n**Note 2**: Use code 300 for localized tumor only if no information is available to assign code 100.\n\n**Note 3**: Code Base of skull, NOS only if no information available to code to more specific bony structures in skull.\n\n**Note 4**: Use code 665, 685, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:06.798Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to mucosa of maxillary sinus (antrum) \nWITHOUT erosion or destruction of bone\n\nStated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Tumor causing bone erosion or destruction \nEXCLUDING extension to:\n Posterior wall of maxillary sinus (see code 600)\n Pterygoid plates (see code 680)\nINCLUDING:\n Palatine bone, hard palate \n Middle nasal meatus \n Nasal cavity (floor, lateral wall, septum, turbinates)\n\nStated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "600", "Ethmoid sinus, anterior\nFloor or medial wall of orbit\nFloor or posterior wall of maxillary sinus\nMaxilla, NOS\nSubcutaneous tissues", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA CONVERTED V0200\nSee code 600\n\nBone of the posterior wall of maxillary sinus\nInvasion of maxilla, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "660", "Ethmoid sinus, posterior\nEthmoid sinus, NOS\nPterygoid fossa", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "665", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "675", "Base of skull, NOS", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "680", "Anterior orbital contents\nSkin of cheek\nPterygoid plates\nInfratemporal fossa\nCribriform plate\nSphenoid sinus\nFrontal sinus", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "685", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nRecode involved structures to code 675, 680, or 710 as appropriate\n\nBase of skull\nOrbital contents including eye\nPterygomaxillary or temporal fossa\nSoft palate", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "710", "Pterygomaxillary fossa\nTemporal fossa\nSoft palate", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "750", "Further contiguous extension including:\n Brain\n Clivus\n Cranial nerves (other than V2, maxillary division of trigeminal nerve)\n Dura\n Middle cranial fossa\n Nasopharynx\n Orbital apex", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bay.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bay.json deleted file mode 100644 index 5fc1fa372..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bay.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bay", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Involvement of or extension to bone includes any type of tumor extension to the bone, such as erosion, invasion, extension, penetration, or destruction.\n\n**Note 2**: Extension to structures in codes 400 and higher may be from one or both ethmoid sinuses.\n\n**Note 3**: In code 700, \"minimal extension to anterior cranial fossa\" implies tumor pushing through cribriform plate, but without invasion of the dura or brain.\n\n**Note 4**: Code Base of skull NOS only if no information available to code to more specific bony structures in skull.\n\n**Note 5**: Use code 300 for localized tumor only if no information is available to assign codes 100, 120, 160, or 315.\n\n**Note 6**: Use code 315 410, 680, 725, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:06.855Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "120", "Invasive tumor confined to left or right ethmoid sinus\nWITHOUT bony involvement", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "140", "OBSOLETE DATA CONVERTED V0200\nSee code 320\n\nConfined to both ethmoid sinuses without bone involvement", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "160", "Confined to ethmoid sinus, NOS\n WITHOUT bony involvement", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "220", "Invasive tumor confined to either left or right ethmoid\nWITH bony invasion (involvement of perpendicular plate of ethmoid bone or ethmoid air cells)", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "240", "OBSOLETE DATA CONVERTED V0200\nSee code 340\n\nConfined to both ethmoid sinuses\nWITH bony invasion (involvement of perpendicular plate of ethmoid bone or ethmoid air cells)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "260", "Confined to ethmoid sinus, NOS\nWITH bony invasion (involvement of perpendicular plate of ethmoid bone or ethmoid air cells)", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "315", "Stated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "320", "Confined to both ethmoid sinuses \nWITHOUT bony involvement", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "340", "Confined to both ethmoid sinuses\n WITH bony invasion (involvement of perpendicular plate of ethmoid bone or ethmoid air cells)", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "400", "Extension to nasal cavity with or without bony invasion (Involvement of perpendicular plate of ethmoid bone or ethmoid air cells):\n Floor\n Lateral wall\n Nasal vestibule\n Nasal cavity, NOS\n Septum\n Turbinates", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "410", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "620", "Base of skull, NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "630", "Cribriform plate", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "640", "Medial wall or floor of orbit\nOrbital plate", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "650", "Maxillary sinus", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "660", "Hard palate", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "680", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "700", "Anterior orbital contents\nSkin of nose\nSkin of cheek\nAnterior cranial fossa (minimal extension) (see Note 3)\nPterygoid plates\nSphenoid sinus\nFrontal sinus", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "720", "700 + 660 \n\nAny structure in code 700 plus hard palate", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "725", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "760", "Orbital apex\nDura\nBrain\nMiddle cranial fossa\nCranial nerves (other than V2, maxillary division of trigeminal nerve) \nNasopharynx\nClivus", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "780", "760 + 660 \n\nAny structure in code 760 plus palate", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_baz.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_baz.json deleted file mode 100644 index 030c58148..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_baz.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_baz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC considers \"in situ carcinoma of salivary gland\" an impossible diagnosis. Any case so coded will be mapped to an unknown AJCC stage, in situ Summary Stage.\n\n**Note 2**: Periosteum is a fibrous membrane that wraps the outer surface of bones. Mucoperiosteum is a compound structure of mucous membrane and periosteum. Cortical bone is the dense compact outer layer of bone.\n\n**Note 3**: The assignment of T1 and T2 categories for tumors of major salivary glands without exparenchymal extension is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 305, 310, 408, 625, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign codes 100, 305, or 310.", - "footnotes" : "- For CS Extension codes 100-350 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-350 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:06.922Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:TX", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to gland/duct of origin", "JUMP:extension_size_xpf", "JUMP:extension_size_xpf", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xpf", "JUMP:extension_size_xpf", "VALUE:L", "VALUE:L" ], [ "305", "Stated as T1 with no other information on extension ", "JUMP:extension_size_xpf", "JUMP:extension_size_xpf", "VALUE:L", "VALUE:L" ], [ "310", "Stated as T2 with no other information on extension", "JUMP:extension_size_xpf", "JUMP:extension_size_xpf", "VALUE:L", "VALUE:L" ], [ "350", "Microscopic extraparenchymal extension ONLY to periglandular soft/connective tissue", "JUMP:extension_size_xpf", "JUMP:extension_size_xpf", "VALUE:RE", "VALUE:RE" ], [ "400", "Macroscopic extraparenchymal extension to:\n Periglandular soft/connective tissue\n Another major salivary gland (parotid, sublingual)\nSkeletal muscle:\n Digastric \n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid \n Pterygoid\n Styloglossus\n Stylohyoid", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "402", "Maxillary artery\nFacial artery or vein", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "405", "Spinal accessory nerve", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "408", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "450", "Periosteum of mandible", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "500", "Mandible\nNerves: \n Facial (7th) nerve\n Lingual nerve", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "503", "500 + 402", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "505", "(450 or 500) + 405 \n\nAny structure in 450 or 500 plus spinal accessory nerve", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "510", "External auditory meatus", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "515", "510 + 402", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "520", "OBSOLETE DATA RETAINED V0200\nSee codes 402 and 650\n\nMajor blood vessels:\n Carotid artery \n Facial artery or vein\n Maxillary artery", "ERROR:", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "600", "Skin overlying gland", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "625", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "650", "Blood vessels:\n Carotid artery (encased)", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "660", "650 + (405, 510, or 600) \n\nCarotid artery plus any structures in codes 405, 510, and 600", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "710", "Base of skull\nSkull, NOS", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "715", "(510 or 710) + 405", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "720", "OBSOLETE DATA CONVERTED V0200\nSee code 405 \n\nSpinal accessory nerve", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "770", "Pterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bba.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bba.json deleted file mode 100644 index 4f2246ad3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bba.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bba", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC considers \"in situ carcinoma of salivary gland\" an impossible diagnosis. Any case so coded will be mapped to an unknown AJCC stage, in situ Summary Stage.\n\n**Note 2**: Periosteum is a fibrous membrane that wraps the outer surface of bones. Mucoperiosteum is a compound structure of mucous membrane and periosteum. Cortical bone is the dense compact outer layer of bone.\n\n**Note 3**: The assignment of T1 and T2 categories for tumors of major salivary glands without exparenchymal extension is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 305, 310, 408, 625, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign codes 100 or 305.", - "footnotes" : "- For CS Extension codes 100-350 ONLY, the T category for AJCC 7 staging is assigned based on value of CS Tumor Size as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-350 ONLY, the T category for AJCC 6 staging is assigned based on value of CS Tumor Size as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:06.994Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:TX", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to gland/duct of origin", "JUMP:extension_size_xpf", "JUMP:extension_size_xpf", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xpf", "JUMP:extension_size_xpf", "VALUE:L", "VALUE:L" ], [ "305", "Stated as T1 with no other information on extension", "JUMP:extension_size_xpf", "JUMP:extension_size_xpf", "VALUE:L", "VALUE:L" ], [ "310", "Stated as T2 with no other information on extension", "JUMP:extension_size_xpf", "JUMP:extension_size_xpf", "VALUE:L", "VALUE:L" ], [ "350", "Microscopic extraparenchymal extension ONLY to periglandular soft/connective tissue", "JUMP:extension_size_xpf", "JUMP:extension_size_xpf", "VALUE:RE", "VALUE:RE" ], [ "400", "Macroscopic extraparenchymal extension to: \n Periglandular soft/connective tissue\n Another major salivary gland (parotid, submandibular)\n Skeletal muscle:\n Digastric\n Pterygoid\n Stylohyoid", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "402", "Maxillary artery\nFacial artery or vein", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "405", "Spinal accessory nerve", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "408", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "450", "Periosteum of mandible", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "505", "OBSOLETE DATA CONVERTED V0203\nSee code 515\n\n(450 or 510) + 405\n\n (Any structure in code 450 or 510 + Spinal accessory nerve)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "510", "Mandible \nNerves:\n Facial (7th)\n Lingual", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "515", "(450 or 510) + 402", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "518", "(450 or 510) + 405", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "600", "Skin", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "620", "External auditory meatus", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "623", "(600 or 620) + 402", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "625", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nRecode involved structures to code 402, 515, 623, 655, or 660 as appropriate\n\n Blood vessel(s):\n Carotid artery\n Facial artery or vein\n Maxillary artery", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "655", "Carotid artery (encased)", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "660", "655 + (405, 600, or 620) \n\nCarotid artery plus any structures in code 405, 600, or 620", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "710", "Base of skull\nSkull, NOS", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "720", "OBSOLETE DATA CONVERTED V0200\nSee code 405 \n\nSpinal accessory nerve", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "790", "Pterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbb.json deleted file mode 100644 index f102a4927..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbb.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bbb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Ignore intraluminal extension to adjacent segment(s) of esophagus or to cardia of stomach and code depth of invasion or extra-esophageal spread as indicated.\n\n**Note 2**: The three layers of the mucosa (epithelium, lamina propria, and muscularis mucosae) may be called the m1, m2, and m3 layers. The submucosa may be described as having inner, middle, and outer thirds called sm1, sm2, and sm3.\n\n**Note 3**: For this schema, AJCC defines Tis as high-grade dysplasia, in which they include \"all non-invasive neoplastic epithelium that was formerly called carcinoma in situ\". Cancers stated to be noninvasive or in situ are classified as Tis. High grade dysplasia is generally not reportable in cancer registries; but if a registry does collect high grade dysplasia, code 000 should be used.\n\n**Note 4**: If the tumor's extension is only described by a phrase like \"through the muscularis propria\", this could mean that the cancer has penetrated the outermost muscle cells but not beyond (T2); but usually \"through the muscularis\" is used to indicate that the cancer extends beyond the muscle and into adjacent tissue, consistent with a T3 tumor. When the most specific description is a phrase like \"through the muscularis\" or \"through the esophageal wall\", then use code 400 unless a T3 is contraindicated by other information.", - "last_modified" : "2015-05-27T16:19:07.061Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive; high grade dysplasia", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to mucosa, NOS (including intramucosal, NOS)", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "110", "Invades lamina propria", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "120", "Invades muscularis mucosae", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "130", "Stated as T1a with no other information on extension", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "160", "Invades submucosa", "VALUE:T1b", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "165", "Stated as T1b with no other information on extension", "VALUE:T1b", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "170", "Invades lamina propria, muscularis mucosae, or submucosa, with the exact layer not specified\n\nStated as T1 [NOS] with no other information on extension", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis propria invaded", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "210", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Adventitia and/or soft tissue invaded\nEsophagus is described as \"FIXED\"", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "450", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\nT4 subclassified in AJCC 7th Edition;\nSee Codes 610-730\n \nTumor invades adjacent structures\nCervical esophagus:\n Blood vessel(s): \n Carotid artery \n Jugular vein \n Subclavian artery \n Thyroid gland \nIntrathoracic, upper or mid-portion, esophagus:\n Blood vessel(s), major:\n Aorta \n Azygos vein \n Pulmonary artery/vein \n Vena cava \n Carina \n Diaphragm \n Main stem bronchus \n Trachea \nIntrathoracic, lower portion (abdominal), esophagus:\n Blood vessel(s): \n Aorta \n Gastric artery/vein \n Vena cava \n Diaphragm, not fixed, or NOS \n Stomach, cardia (via serosa)", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "610", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee codes 615, 720, 725\n\nTumor invades adjacent structures\nCervical esophagus:\n Hypopharynx\n Jugular vein\n Larynx\n Thyroid gland \n \nIntrathoracic, upper or mid-portion, esophagus:\n Blood vessel(s), major:\n Azygos vein\n Diaphragm \n\nIntrathoracic, lower portion (abdominal), esophagus:\n Blood vessel(s):\n Gastric artery/vein\n Diaphragm, not fixed, or NOS\n Stomach, cardia (via serosa)\n Intrathoracic esophagus:\n Pleura", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "615", "Tumor invades adjacent structures:\n For cervical esophagus:\n Hypopharynx\n Jugular vein\n Larynx\n Thyroid gland \n For intrathoracic esophagus, upper or middle portion:\n Diaphragm \n For intrathoracic esophagus, lower portion (abdominal):\n Blood vessel(s), major:\n Gastric artery/vein\n Diaphragm, not fixed; diaphragm, NOS\n Stomach, cardia (via serosa)\n For intrathoracic esophagus:\n Pleura", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED V0200\nT4 subclassified in AJCC 7th Edition;\nSee Codes 610-730\n \nCervical esophagus:\n Carina \n Cervical vertebra(e) \n Hypopharynx \n Larynx \n Trachea \nIntrathoracic esophagus:\n Lung via bronchus \n Mediastinal structure(s), NOS\n Pleura\n Rib(s) \n Thoracic vertebra(e)", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "660", "Thoracic/middle esophagus:\n Pericardium", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "680", "Cervical/upper esophagus:\n Pleura \nAbdominal/lower esophagus:\n Diaphragm fixed", "VALUE:T4a", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA CONVERTED V0203\nSee code 815\n\nStated as T4 [NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "710", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "720", "Tumor invades adjacent structures:\n For intrathoracic esophagus, upper or middle:\n Azygos vein", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "725", "720 + 615", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "728", "720 + 660", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "730", "Tumor invades adjacent structures\n Cervical esophagus:\n Blood vessel(s): \n Carotid artery \n Subclavian artery\n Carina \n Cervical vertebra(e) \n Trachea \n Intrathoracic, upper or mid-portion, esophagus:\n Blood vessel(s), major:\n Aorta \n Pulmonary artery/vein \n Vena cava \n Carina \n Trachea \n Intrathoracic, lower portion (abdominal), esophagus:\n Blood vessel(s): \n Aorta \n Vena cava \n Intrathoracic esophagus (all portions):\n Adjacent Rib(s) \n Lung via bronchus\n Mediastinal structure(s), NOS \n Thoracic vertebra(e)", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "740", "730 + 660\n\nAny structure in code 730 involving thoracic/middle esophagus plus pericardium", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "745", "730 + 680\n\nAny structure in code 730 involving cervical/upper esophagus plus pleura\nOR\nAny structure in code 730 involving abdominal/lower esophagus plus fixation of diaphragm ", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "Cervical/upper esophagus:\n Lung\n Main stem bronchus", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "780", "OBSOLETE DATA RETAINED V0200\nT4 subclassified in AJCC 7th Edition;\nSee Code 660\n\nThoracic/middle esophagus:\n Pericardium ", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\nT4 subclassified in AJCC 7th Edition;\nSee Codes 730 and 750\n\nFurther contiguous extension:\nCervical/upper esophagus:\n Lung\n Main stem bronchus\n Pleura\nAbdominal/lower esophagus:\n Diaphragm fixed", "ERROR:", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Further contiguous extension\n\nStated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "815", "Invades adjacent structures, NOS\n\nStated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "820", "Tumor invades adjacent structures listed in codes 615, 660, 680, or 720, stated as unresectable", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbc.json deleted file mode 100644 index 418bdd027..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbc.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bbc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: In codes 390, 400, and 440, \"multiple (satellite) nodules/tumors\" includes satellitosis, multifocal tumors, and intrahepatic metastases.\n\n**Note 2**: Major vascular invasion (code 630) is defined as invasion of the branches of the main portal vein (right or left portal vein, not including sectoral or segmental branches) or as invasion of one or more of the three hepatic veins (right, middle, or left). Invasion of hepatic artery or vena cava is coded to 660.", - "footnotes" : "- For CS Extension codes 390, 400, 420, and 440 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this schema.\n- For CS Extension codes 390, 400, 420, and 440 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:07.139Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Single lesion (one lobe)\nWITHOUT intrahepatic vascular invasion, including vascular invasion not stated", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "150", "More than one lobe involved by contiguous growth (single lesion)\nWITHOUT intrahepatic vascular invasion, including vascular invasion not stated", "VALUE:T1", "VALUE:T1", "VALUE:RE", "VALUE:RE" ], [ "170", "Confined to liver, NOS\nLocalized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA CONVERTED V0200\nSee code 350\n\nSingle lesion (one lobe) WITH intrahepatic vascular invasion", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "250", "Single lesion \nWITH involvement of one or more lobes of liver or extension within liver not stated, \nWITH extension to gallbladder\nWITHOUT vascular invasion, including vascular invasion not stated", "VALUE:T1", "VALUE:T1", "VALUE:RE", "VALUE:RE" ], [ "270", "Stated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "300", "OBSOLETE DATA CONVERTED V0200\nSee code 390\n\nMultiple (satellite) nodules/tumors (one lobe)\nWITHOUT\nintrahepatic vascular invasion, including vascular invasion not stated", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "350", "Single lesion (one lobe ) \nWITH intrahepatic vascular invasion", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "370", "More than one lobe involved by contiguous growth (single lesion)\nWITH vascular invasion", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "380", "Single lesion \nWITH involvement of one or more lobes of liver or extension within liver not stated\nWITH extension to gallbladder\nWITH intrahepatic vascular invasion", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "390", "Multiple (satellite) nodules/tumors (one lobe)\nWITHOUT intrahepatic vascular invasion, including vascular invasion not stated", "JUMP:extension_size_ajcc7_xev", "JUMP:extension_size_ajcc6_xak", "VALUE:L", "VALUE:L" ], [ "400", "Multiple (satellite) nodules/tumors (one lobe)\nWITH intrahepatic vascular invasion", "JUMP:extension_size_ajcc7_xev", "JUMP:extension_size_ajcc6_xak", "VALUE:L", "VALUE:L" ], [ "420", "Multiple (satellite) nodules/tumors (one lobe) \nWITH extension to gallbladder\nWITH or WITHOUT intrahepatic vascular invasion", "JUMP:extension_size_ajcc7_xev", "JUMP:extension_size_ajcc6_xak", "VALUE:RE", "VALUE:RE" ], [ "440", "Multiple (satellite) nodules/tumors in more than one lobe of liver or on surface of parenchyma\nSatellite nodules, NOS", "JUMP:extension_size_ajcc7_xev", "JUMP:extension_size_ajcc6_xak", "VALUE:D", "VALUE:RE" ], [ "460", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA CONVERTED V0200\nSee code 170\n\nConfined to liver, NOS\nLocalized, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "510", "OBSOLETE DATA CONVERTED V0200\nSee code 150\n\nMore than one lobe involved by contiguous growth (single lesion)\nWITHOUT vascular invasion, including vascular invasion not stated", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "520", "OBSOLETE DATA CONVERTED V0200\nSee code 370\n\nMore than one lobe involved by contiguous growth (single lesion)\nWITH vascular invasion", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "530", "OBSOLETE DATA CONVERTED V0200\nSee code 250\n\nExtension to gallbladder, extent within liver not stated", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "540", "OBSOLETE DATA CONVERTED V0200\nSee code 250\n\nExtension to gallbladder 530 + (100 or 510)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "550", "OBSOLETE DATA CONVERTED V0200\nSee code 380\n\nExtension to gallbladder 530 + (200 or 520)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "560", "OBSOLETE DATA CONVERTED V0200\nSee code 420\n\nExtension to gallbladder 530 + (300 or 400)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "580", "OBSOLETE DATA CONVERTED V0200\nSee code 645\n\nExtrahepatic bile ducts", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "600", "Stated as T3a with no other information regarding extension", "VALUE:T3a", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "630", "Single tumor (confined to one lobe) or multiple tumor(s) (confined to one lobe and not on surface of liver) \nWITH major vascular invasion: major branch(es) of portal or hepatic vein(s)\n(See Note 2)", "VALUE:T3b", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "635", "630 + 440\n\nSingle or multiple tumor(s) with major vascular invasion: major branch(es) of portal or hepatic vein(s) plus multiple nodules/tumors in more than one lobe of liver or on surface of parenchyma", "VALUE:T3b", "VALUE:T3", "VALUE:D", "VALUE:RE" ], [ "638", "Stated as T3b with no other information on extension", "VALUE:T3b", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "639", "Stated as T3 [NOS] with no other information on extension", "VALUE:T3NOS", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "640", "Direct extension/perforation of visceral peritoneum", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "645", "Extrahepatic bile ducts", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA CONVERTED V0200\nSee code 440\n\nMultiple (satellite) nodules/tumors in more than one lobe of liver or on surface of parenchyma\nSatellite nodules, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "660", "Extension to hepatic artery or vena cava", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "670", "OBSOLETE DATA CONVERTED V0200\nSee code 635\n\n630+650", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "700", "Diaphragm", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "750", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nPerforation of visceral peritoneum included in 2 codes in CSv2: V0201, V0202. Any case coded 750 for perforation of visceral peritoneum should be recoded to 640. See codes 640, 755\n\nLesser omentum\nLigament(s):\n Coronary\n Falciform\n Hepatoduodenal\n Hepatogastric\n Round (of liver)\n Triangular\nPerforation of visceral peritoneum\nParietal peritoneum", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "755", "Lesser omentum\nLigament(s):\n Coronary\n Falciform\n Hepatoduodenal\n Hepatogastric\n Round (of liver)\n Triangular\nParietal peritoneum", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "760", "OBSOLETE DATA CONVERTED V0200\nSee code 770\n\n(650 or 670) + any of (640 or 660 or 700 or 750)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "770", "(640, 645, 660, 700, or 755) + (440 or 635)\n\nAny extension coded in (640, 645, 660, 700, or 755) plus multiple tumors/nodules in more than one lobe of liver or on surface of parenchyma", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "800", "Further contiguous extension:\n Pancreas\n Pleura\n Stomach\nOther contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "805", "OBSOLETE DATA CONVERTED V0203\nSee code 950\n\nNo evidence of primary tumor", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown, extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbd.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbd.json deleted file mode 100644 index b1475bb55..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbd.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bbd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note**: Ignore extension from gallbladder to cystic duct. Ignore extension to extrahepatic bile ducts or ampulla of Vater (code 618) when other structures are involved with a code higher than 618.", - "last_modified" : "2015-05-27T16:19:07.222Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to:\n Lamina propria\n Mucosa, NOS\n Submucosa (superficial invasion)", "VALUE:T1a", "VALUE:T1a", "VALUE:L", "VALUE:L" ], [ "110", "Stated as T1a with no other information on extension", "VALUE:T1a", "VALUE:T1a", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis propria", "VALUE:T1b", "VALUE:T1b", "VALUE:L", "VALUE:L" ], [ "210", "Stated as T1b with no other information on extension", "VALUE:T1b", "VALUE:T1b", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "350", "Stated as T1 [NOS] with no other information on extension", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "400", "Perimuscular connective tissue", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:RE" ], [ "410", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "500", "Invasion of/through serosa (visceral peritoneum)", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:RE" ], [ "550", "500 + 400", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:RE" ], [ "600", "Extension into liver, NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "610", "Extension into liver less than or equal to 2 cm", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "615", "Extension to branch(es) of portal vein (right or left)\nExtension to branch(es) of hepatic artery (right or left) but not into main portal vein or hepatic artery", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "618", "Extension to:\n Ampulla of Vater\n Extrahepatic bile duct(s)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "620", "OBSOLETE DATA RETAINED V0200\n(See codes 618 and 621)\n\nExtension to ONE of the following:\n Ampulla of Vater\n Duodenum\n Extrahepatic bile duct(s)\n Omentum, NOS\n Greater\n Lesser\n Pancreas\n Small intestine, NOS", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "621", "Extension to ONE of the following:\n Duodenum\n Omentum, NOS:\n Greater\n Lesser\n Pancreas\n Small intestine, NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "630", "Extension to cystic artery/vein\nWITHOUT extension to any structure in code 621 ", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:D" ], [ "650", "Extension to ONE of the following\nWITHOUT extension to any structure in codes 621-630:\n Colon\n Stomach", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "655", "Extension to abdominal wall \nWITHOUT extension to any structures in codes 621-650", "VALUE:T3", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "657", "Extension to diaphragm \nWITHOUT extension to any structures in codes 621-650", "VALUE:T3", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "660", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 630 and 730\n\nExtension to cystic artery/vein\nWITHOUT extension to any structure in 621 to 650", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:D" ], [ "670", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 673, 685\n\nExtension to ONE structure in codes\n621 to 650 PLUS extension into liver (600 or 610)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "673", "Extension to one structure in code 621 \nPLUS extension into liver 2 cm or less or NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "680", "Extension to cystic artery/vein, code 630 PLUS extension into liver 2 cm or less or NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:D" ], [ "685", "Extension to ONE structure in code 650-657 PLUS extension into liver 2 cm or less or NOS", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "710", "Extension into liver greater than 2 cm\nWITHOUT extension to any structure in codes 621-657", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "720", "Extension to ONE structure in codes 621-657 PLUS extension into liver greater than 2 cm", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "725", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "730", "Extension to two or more structures in codes 621-657\nwith or without extension into liver of any depth", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "Extension to:\n Common hepatic artery\n Main portal vein\n Hepatic artery, NOS\n Portal vein, NOS", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "780", "750 + any of (600 to 730)", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\nSee codes 655 and 805\n\nFurther contiguous extension, including:\n Abdominal wall\n Diaphragm", "ERROR:", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "805", "OBSOLETE DATA REVIEWED V0203\nSee codes 657, 685, 720, 730, 808\n\nFurther contiguous extension, including: \n Diaphragm", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "808", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbe.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbe.json deleted file mode 100644 index 794301821..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbe.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bbe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: The nonperitonealized perimuscular tissue is, for jejunum and ileum, part of the mesentery and, for duodenum in areas where serosa is lacking, part of the interface with the pancreas.\n\n**Note 2**: Codes 100-200 take priority over code 300. Code depth of invasion in preference to intraluminal spread or lateral extension to adjacent segment(s) of small intestine or cecum.\n\n**Note 3**: High-grade dysplasia is not always collected by cancer registries but, if collected, it should be coded 000.", - "last_modified" : "2015-05-27T16:19:07.293Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "050", "(Adeno)carcinoma, noninvasive, in a polyp", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "095", "OBSOLETE DATA CONVERTED V0203\nSee Code 155\n\nStated as T1a with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "100", "Invasive tumor confined to mucosa, NOS, including intramucosal, NOS", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "110", "Invasion of lamina propria", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "120", "Invasion of muscularis mucosae", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "125", "OBSOLETE DATA CONVERTED V0203\nSee code 165\n\nStated as T1b with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "130", "Invasive tumor confined to head of polyp", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "140", "Invasive tumor onfined to stalk of polyp", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "150", "Invasion of polyp, NOS", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "155", "Stated as T1a with no other information on extension", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "160", "Invasion of submucosa (superficial invasion)", "VALUE:T1b", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "165", "Stated as T1b with no other information on extension", "VALUE:T1b", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "170", "Stated as T1 [NOS] with no other information on extension", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis propria invaded \n\nStated as T2, NOS with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "300", "Intraluminal spread to other segments of small intestine or cecum\nLocalized, NOS", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Invasion through muscularis propria or muscularis, NOS\nExtension through wall, NOS\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS \nWall, NOS\n\nStated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 458\n\nFat, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "450", "Adjacent connective tissue\nAdjacent tissue(s), NOS\nMesentery, including mesenteric fat, invaded 2 centimeters (cm) or less in depth, or invaded, NOS (depth of invasion not specified)\nNonperitonealized perimuscular tissue invaded 2 cm or less in depth, or invaded, NOS (depth of invasion not specified)\nRetroperitoneum invaded 2 cm or less in depth, or invaded, NOS (depth of invasion not specified", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "458", "Fat, NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "500", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum)", "VALUE:T4", "VALUE:T4", "VALUE:L", "VALUE:RE" ], [ "550", "500 + (450 or 458)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "600", "For duodenum primary only:\n Ampulla of Vater\n Diaphragm\n Extrahepatic bile duct(s)\n Gallbladder\n Pancreas\n Pancreatic duct", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "650", "For duodenum primary only:\n Blood vessel(s), major:\n Aorta\n Gastroduodenal artery\n Portal vein\n Renal vein\n Superior mesenteric artery or vein\n Vena cava\n Greater omentum\n Hepatic flexure\n Kidney, NOS\n Kidney, right\n Liver, NOS\n Liver, quadrate lobe\n Liver, right lobe\n Omentum, NOS\n Transverse colon\n Ureter, right\nFor jejunum or ileum primary only:\n Colon, including appendix", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "660", "For duodenum primary only:\n Stomach", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "670", "For all small intestine sites:\n Abdominal wall via serosa\n Mesentery invaded greater than 2 cm in depth\n Nonperitonealized perimuscular tissue invaded \n greater than 2 cm in depth\n Retroperitoneum invaded greater than 2 cm in depth", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "680", "For all small intestine sites:\n Other segments of the small intestine via serosa", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "690", "OBSOLETE DATA CONVERTED V0203\nSee code 805\n\nStated as T4, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "700", "For jejunum or ileum primary only:\n Bladder\n Fallopian tube(s)\n Ovary(ies)\n Uterus", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "805", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbf.json deleted file mode 100644 index d26c8c0ef..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbf.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bbf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: For rectosigmoid, ignore intraluminal extension to adjacent segment(s) of colon and rectum; code depth of invasion or extra-rectosigmoidal spread as indicated.\n\n**Note 2**: Codes 600 - 750 are used for contiguous extension from the site of origin. Discontinuous involvement is coded in CS Mets at DX.\n\n**Note 3**: Tumor that is adherent to other organs or structures, macroscopically, is classified cT4b; If tumor is present in adhesion(s) upon microscopic examination, the tumor is classified as pT4b. Use code 565 for macroscopic adhesions if no pathologic confirmation, and for pathologically confirmed tumor in adhesions. However, if no tumor is present in adhesion(s) upon microscopic examination, the classification is based upon extent of tumor invasion into or through the wall; use codes 000 - 163, 200, 210, 400, 415, 455, 458, 500, and 555 as appropriate to describe the microscopically confirmed depth of tumor invasion for these cases. Use codes 610-800 to code invasion of underlying structures from the adherent tumor. \n\n**Note 4**: High grade dysplasia and severe dysplasia are generally not reportable in cancer registries but, if a registry does collect these, codes 000 or 050 should be used.", - "last_modified" : "2015-05-27T16:19:07.373Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "050", "(Adeno)carcinoma, noninvasive, in a polyp or adenoma", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to mucosa, NOS including intramucosal, NOS", "VALUE:Tis", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "110", "Invades lamina propria, including lamina propria in the stalk of a polyp", "VALUE:Tis", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "120", "Confined to and not through the muscularis mucosae, including muscularis mucosae in the stalk of a polyp.", "VALUE:Tis", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "130", "Confined to head of polyp, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "140", "Confined to stalk of polyp, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "150", "Invasive tumor in polyp, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "160", "Submucosa (superficial invasion), including submucosa in the head or stalk of a polyp", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "165", "For rectum:\n Tumor invading submucosa with intraluminal extension to colon and/or anal canal/anus", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "170", "Stated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis propria invaded", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "210", "For rectum:\n Tumor invading muscularis propria with intraluminal extension to colon and/or anal canal/anus", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:L" ], [ "250", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "300", "Confined to rectosigmoid junction, NOS\nConfined to rectum, NOS\nLocalized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nNon-peritonealized perirectal tissues invaded\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "410", "OBSOLETE DATA CONVERTED V0203\nSee code 470\n\nStated as T3 with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "415", "For rectum:\n Tumor invading through muscularis propria with intraluminal extension to colon and/or anal canal/anus", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:L" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 458\n\nFat, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "450", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nExtension to anus from rectum recoded based on intraluminal versus extraluminal extension\nSee codes 165, 210, 415, 455, and 610\n\nAdjacent (connective) tissue:\n For all sites:\n Perirectal fat\n For rectosigmoid:\n Mesentery (including mesenteric fat, mesocolon)\n Pericolic fat\n For rectum: \n Extension to anus\n Rectovaginal septum", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "455", "Adjacent (connective) tissue:\n For all sites:\n Perirectal fat\n For rectosigmoid:\n Mesentery (including mesenteric fat, mesocolon)\n Pericolic fat\n For rectum:\n Rectovaginal septum", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "458", "Fat, NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "460", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee Note 3, codes 565, 570\n\nAdherent to other organs or structures but no tumor found in adhesion(s)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "470", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "490", "OBSOLETE DATA CONVERTED V0203\nSee code 900\n\nStated as T4[NOS] with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "500", "Invasion of/through serosa (mesothelium) (visceral peritoneum)\nTumor penetrates visceral peritoneum", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "550", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 555, 610\n\n(500) with [(420) or (450)]", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "555", "500 + (165, 210, 415, 455 or 458)", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "560", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "565", "Adherent to other organs or structures clinically with no microscopic examination\nTumor found in adhesion(s) if microscopic examination performed", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "570", "Adherent to other organs or structures, NOS", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA CONVERTED V0203\nSee code 610\n\nRectosigmoid:\n Cul de sac (rectouterine pouch)\n Pelvic wall\n Small intestine\nRectum:\n Bladder for males only\n Cul de sac (rectouterine pouch)\n Ductus deferens\n Pelvic wall\n Prostate\n Rectovesical fascia for male only\n Seminal vesicle(s)\n Skeletal muscle of pelvic floor\n Vagina", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "610", "For rectosigmoid:\n Cul de sac (rectouterine pouch)\n Pelvic wall/pelvic plexuses\n Small intestine\nFor rectum:\n Anal canal/anus extraluminally\n Bladder for males only\n Cul de sac (rectouterine pouch)\n Ductus deferens\n Pelvic wall\n Prostate\n Rectovesical fascia for males only\n Seminal vesicle(s)\n Skeletal muscle of pelvic floor\n Vagina", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "700", "For all sites:\n Ovary(ies)\n Uterus\nFor rectosigmoid:\n Bladder\n Colon via serosa\n Fallopian tube(s)\n Prostate\n Skeletal muscles of pelvic floor\n Ureter(s)\n Vagina\nFor rectum:\n Bladder for females only\n Bone(s) of pelvis\n Cervix\n Perineum, perianal skin\n Sacrum\n Sacral plexus\n Urethra", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "850", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "900", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbg.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbg.json deleted file mode 100644 index 49f8f7d0a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbg.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bbg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC considers \"in situ carcinoma of ovary\" an impossible diagnosis. Any case so coded will be mapped to an unknown AJCC stage and an in situ Summary Stage.\n\n**Note 2**: AJCC TNM values correspond to the stages accepted by the Federation Internationale de Gynecologie et d'Obstetrique (FIGO), and FIGO stages are included for coding where no more specific information is available in the record. When both FIGO stage and extension detail are available, record the code with extension detail in preference to a statement of FIGO stage. Note that FIGO uses a single stage value which corresponds to different groupings of T, N, and M values. FIGO Stage IIIC is assigned based on tumor extension and/or regional lymph node involvement. Code CS Extension based on a physician's statement of FIGO Stage IIIC only if it is known that the stage value is assigned because of tumor extension. If FIGO Stage IIIC is specified but it is unknown whether it is based on extension or lymph nodes, code to CS Lymoh Nodes\n\n**Note 3**: T1 and T2 tumors with malignant ascites are categorized as T1c and T2c (FIGO Stages IC and IIC), respectively. Ascites, NOS is considered negative. \n\n**Note 4**: Both extension to and discontinuous metastasis to any of the following pelvic organs are included in the T2 category (FIGO Stage II) and coded in the range 500-650: adnexa, NOS; bladder and bladder serosa; broad ligament (mesovarium); cul de sac; fallopian tubes; parametrium; pelvic peritoneum; pelvic wall; rectosigmoid; rectum; sigmoid colon; sigmoid mesentery; pelvic ureter; uterus and uterine serosa. \n\n**Note 5**: Peritoneal implants outside the pelvis (codes 700-730) must be microscopically confirmed. Peritoneal implants may also be called seeding, salting, talcum powder appearance, or studding. \n\n**Note 6**: If implants are mentioned, determine whether they are in the pelvis or in the abdomen and code appropriately (600-650) or (700-730). If the location is not specified, use code 750. \n\n**Note 7**: Both extension to and discontinuous metastasis to any of the following abdominal organs by way of peritoneal seeding or implants are included in the T3 category (FIGO Stage III) and coded in the range 700-750: abdominal mesentery; diaphragm; gallbladder; infracolic omentum; kidneys; large intestine except rectum, rectosigmoid, and sigmoid colon; liver (peritoneal surface); omentum; pancreas; pericolic gutter; peritoneum, NOS; small intestine; spleen; stomach; and ureters outside pelvis. Residual tumor in any of these organs would be considered FIGO III and coded in the 700-750 range below and in CS Site-Specific Factors 3 and 4. (Hematogenous metastases are included in M1 (FIGO Stage IV) disease.)\n\n**Note 8**: Parenchymal liver nodules are coded in CS Mets at DX. \n\n**Note 9**: Since \"cancer cells in ascites or in peritoneal washings\" was not specifically categorized in the 1977 Summary Staging Guide, it is unclear to which stage previous cases may have been coded. \n\n**Note 10**: In some registries benign/borderline ovarian tumors are reportable by agreement. If the tumor being reported is benign or borderline, code CS Extension to 999.", - "last_modified" : "2015-05-27T16:19:07.437Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive, preinvasive", "VALUE:TX", "VALUE:TX", "VALUE:IS", "VALUE:IS" ], [ "100", "Tumor limited to one ovary, capsule intact,\nno tumor on ovarian surface, no malignant cells in ascites or\nperitoneal washings", "VALUE:T1a", "VALUE:T1a", "VALUE:L", "VALUE:L" ], [ "150", "FIGO Stage IA", "VALUE:T1a", "VALUE:T1a", "VALUE:L", "VALUE:L" ], [ "200", "Tumor limited to both ovaries, capsule(s) intact,\nno tumor on ovarian surface, no malignant\ncells in ascites or peritoneal washings", "VALUE:T1b", "VALUE:T1b", "VALUE:L", "VALUE:L" ], [ "250", "FIGO Stage IB", "VALUE:T1b", "VALUE:T1b", "VALUE:L", "VALUE:L" ], [ "300", "OBSOLETE DATA RETAINED V0204\nSee codes 310 and 460\n\nTumor limited to ovaries, unknown if capsule(s)\nruptured or if one or both ovaries involved\nLocalized, NOS\nFIGO Stage I, NOS", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "310", "Tumor limited to ovaries, unknown if capsule(s) ruptured or if one or both ovaries involved\nLocalized, NOS", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "350", "Tumor limited to ovary(ies), capsule(s) ruptured", "VALUE:T1c", "VALUE:T1c", "VALUE:L", "VALUE:RE" ], [ "360", "Tumor on ovarian surface", "VALUE:T1c", "VALUE:T1c", "VALUE:D", "VALUE:RE" ], [ "410", "Tumor limited to ovary(ies) \nWITH malignant cells in ascites or peritoneal washings", "VALUE:T1c", "VALUE:T1c", "VALUE:RE", "VALUE:RE" ], [ "430", "410 + 350\n\nTumor limited to ovary(ies) \nWITH malignant cells in ascites or peritoneal washings plus capsule(s) ruptured", "VALUE:T1c", "VALUE:T1c", "VALUE:RE", "VALUE:RE" ], [ "440", "(360) + any of (350 or 410)\nTumor on ovarian surface plus capsul(es) ruptured or WITH malignant cells in ascites or peritoneal washings ", "VALUE:T1c", "VALUE:T1c", "VALUE:D", "VALUE:RE" ], [ "450", "FIGO Stage IC", "VALUE:T1c", "VALUE:T1c", "VALUE:RE", "VALUE:RE" ], [ "460", "FIGO Stage I, NOS", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "500", "Extension to or implants on (but no malignant \ncells in ascites or peritoneal washings):\n Adnexa, ipsilateral or NOS\n Fallopian tube(s), ipsilateral or NOS", "VALUE:T2a", "VALUE:T2a", "VALUE:RE", "VALUE:RE" ], [ "510", "500 + 360\n\nExtension to structures in 500 (but no malignant cells in ascites or peritoneal washings) plus tumor on ovarian surface", "VALUE:T2a", "VALUE:T2a", "VALUE:RE", "VALUE:RE" ], [ "520", "Extension to or implants on (but no malignant\ncells in ascites or peritoneal washings):\n Adnexa, contralateral\n Fallopian tube(s), contralateral\n Uterus", "VALUE:T2a", "VALUE:T2a", "VALUE:D", "VALUE:RE" ], [ "550", "FIGO Stage IIA", "VALUE:T2a", "VALUE:T2a", "VALUE:RE", "VALUE:RE" ], [ "600", "Extension to or implants on other pelvic\nstructures (but no malignant cells in ascites or\nperitoneal washings):\n Pelvic tissue:\n Adjacent peritoneum\n Ligament(s):\n Broad, ipsilateral, NOS\n Ovarian\n Round\n Suspensory\n Mesovarium, ipsilateral, NOS\n Pelvic wall", "VALUE:T2b", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "605", "600 + 360\n\nExtension to structures in 600 (but no malignant cells in ascites or peritoneal washings) plus tumor on ovarian surface", "VALUE:T2b", "VALUE:T2b", "VALUE:D", "VALUE:RE" ], [ "610", "Extension to or implants on other pelvic \nstructures (but no malignant cells in ascites or\nperitoneal washings):\n Broad ligament(s), contralateral\n Mesovarium, contralateral\n Bladder , \n Bladder serosa\n Cul de sac\n Parametrium\n Rectosigmoid, \n Rectum\n Sigmoid colon\n Sigmoid mesentery\n Ureter (pelvic portion)", "VALUE:T2b", "VALUE:T2b", "VALUE:D", "VALUE:RE" ], [ "615", "FIGO Stage IIB", "VALUE:T2b", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "620", "Any structure in 500 and /or 600\nWITH malignant cells in ascites or peritoneal washings", "VALUE:T2c", "VALUE:T2c", "VALUE:RE", "VALUE:RE" ], [ "625", "620 + 360\n\nAny structure in 500 and/or 600\nWITH malignant cells in ascites or peritoneal washings plus tumor on ovarian surface", "VALUE:T2c", "VALUE:T2c", "VALUE:D", "VALUE:RE" ], [ "630", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee codes 620, 625, 635\n\n(520 and/or 600) WITH malignant\ncells in ascites or peritoneal washings", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "635", "Any structure in 520 \nWITH malignant cells in ascites or peritoneal washings", "VALUE:T2c", "VALUE:T2c", "VALUE:D", "VALUE:RE" ], [ "640", "Any structure in 610\nWITH malignant cells in ascites or peritoneal washings", "VALUE:T2c", "VALUE:T2c", "VALUE:D", "VALUE:RE" ], [ "645", "FIGO Stage IIC", "VALUE:T2c", "VALUE:T2c", "VALUE:D", "VALUE:RE" ], [ "650", "Tumor involves one\nor both ovaries with pelvic extension, NOS", "VALUE:T2NOS", "VALUE:T2NOS", "VALUE:RE", "VALUE:RE" ], [ "660", "FIGO Stage II [NOS]", "VALUE:T2NOS", "VALUE:T2NOS", "VALUE:RE", "VALUE:RE" ], [ "700", "Microscopic peritoneal\nimplants beyond pelvis, including peritoneal\nsurface/capsule of liver\nFIGO Stage IIIA\n(See Note 7)", "VALUE:T3a", "VALUE:T3a", "VALUE:D", "VALUE:D" ], [ "710", "Macroscopic peritoneal\nimplants beyond pelvis, less than or equal to 2 cm in diameter,\nincluding peritoneal surface of liver\nFIGO Stage IIIB\n(See Note 7)", "VALUE:T3b", "VALUE:T3b", "VALUE:D", "VALUE:D" ], [ "720", "Peritoneal implants beyond \npelvis, greater than 2 cm in diameter, including peritoneal\nsurface of liver (liver capsule)\nFIGO Stage IIIC (based on tumor extension)\n(See Notes 2, 7)", "VALUE:T3c", "VALUE:T3c", "VALUE:D", "VALUE:D" ], [ "730", "Tumor involves one or both\novaries with microscopically confirmed peritoneal metastasis\noutside the pelvis, NOS\n(See Note 7)", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:D", "VALUE:D" ], [ "750", "Peritoneal implants, NOS\n(See Note 7)", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:D", "VALUE:D" ], [ "780", "FIGO Stage III [NOS]", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbh.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbh.json deleted file mode 100644 index 4304697b7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbh.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bbh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: When both Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension detail are available, record the code with extension detail in preference to a statement of FIGO stage. FIGO Stage IIIC is assigned based on tumor extension and/or regional lymph node involvement. Code CS Extension based on a physician's statement of FIGO Stage IIIC only if it is known that the stage value is assigned because of tumor extension.\n\n**Note 2**: FIGO no longer includes a Stage 0 (Tis) for this schema.\n\n**Note 3**: Liver capsule metastases are coded in CS Extension; liver parenchymal metastases are coded in CS Mets at DX.\n\n**Note 4**: Both extension to and discontinuous metastasis to any of the following pelvic organs are considered FIGO Stage II and coded in the range 400-660: adnexa, NOS; bladder, bladder serosa; broad ligament (mesovarium); cul de sac; contralateral fallopian tube; parametrium; pelvic peritoneum; pelvic wall; rectum; sigmoid colon; sigmoid mesentery; ureter; uterus; uterine serosa.\n\n**Note 5**: Both extension to and discontinuous metastasis to any of the following abdominal organs are considered FIGO Stage III and coded in the range 685-795: abdominal mesentery; diaphragm; gallbladder; infracolic omentum; kidneys; large intestine except rectum and sigmoid colon; liver (peritoneal surface); omentum; pancreas; pericolic gutter; peritoneum, NOS; small intestine; spleen; stomach; ureters.\n\n**Note 6**: From the AJCC Manual 7th Edition (page 430): \"It may be preferable to classify a patient as TX (primary tumor cannot be assessed) if inadequate staging biopsies and/or a lack of peritoneal cytology make it inaccurate to classify the patient with confidence as early stage (Stage T3a/IIIA has not been excluded by adequate staging biopsies).\"\n\n**Note 7**: Since \"malignant ascites or malignant peritoneal washings\" was not specifically categorized in the 1977 Summary Staging Guide, it is unclear to which stage pre-2001 cases may have been coded.", - "last_modified" : "2015-05-27T16:19:07.515Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive\nLimited to tubal mucosa", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 200, 320\n\nConfined to fallopian tube, NOS\nFIGO Stage I", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "110", "Confined to one fallopian tube \nWITHOUT penetrating serosal surface\nWITHOUT ascites\n\nFIGO Stage IA", "VALUE:T1a", "VALUE:T1a", "VALUE:L", "VALUE:L" ], [ "120", "Confined to both fallopian tubes \nWITHOUT penetrating serosal surface\nWITHOUT ascites\n\nFIGO Stage IB", "VALUE:T1b", "VALUE:T1b", "VALUE:L", "VALUE:L" ], [ "130", "Extension onto or through tubal serosa\nMalignant ascites\nMalignant peritoneal washings\n\nFIGO Stage IC", "VALUE:T1c", "VALUE:T1c", "VALUE:L", "VALUE:L" ], [ "200", "Confined to fallopian tube, NOS", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "300", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 310, 320\n\nLocalized, NOS\nFIGO Stage I", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "310", "Localized, NOS", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "320", "FIGO Stage I [NOS]", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "350", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 655, 670\n\nPelvic extension, NOS with no malignant cells in ascites or peritoneal washings\nFIGO Stage II", "VALUE:T2NOS", "VALUE:T2NOS", "VALUE:RE", "VALUE:RE" ], [ "400", "Extension or metastasis to:\n Corpus uteri\n Ovary, ipsilateral\n Uterus, NOS\nWITHOUT malignant cells in ascites or peritoneal washings", "VALUE:T2a", "VALUE:T2a", "VALUE:RE", "VALUE:RE" ], [ "450", "Extension or metastasis to:\n Ovary, contralateral \nWITHOUT malignant cells in ascites or peritoneal washings", "VALUE:T2a", "VALUE:T2a", "VALUE:D", "VALUE:RE" ], [ "460", "FIGO Stage IIA", "VALUE:T2a", "VALUE:T2a", "VALUE:RE", "VALUE:RE" ], [ "500", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 510, 620, and 658\n\nExtension or metastasis to (but no malignant cells in ascites or peritoneal washings):\n Broad ligament, ipsilateral\n Mesosalpinx, ipsilateral\n Adjacent peritoneum\nFIGO Stage IIB", "VALUE:T2b", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "510", "Extension or metastasis to:\n Broad ligament, ipsilateral\n Mesosalpinx, ipsilateral\n Adjacent peritoneum\nWITHOUT malignant cells in ascites or peritoneal washings", "VALUE:T2b", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\nSee codes 450, 460\n\nOvary, contralateral (but no malignant cells in ascites or peritoneal washings)\nFIGO Stage IIA", "ERROR:", "VALUE:T2a", "VALUE:D", "VALUE:RE" ], [ "610", "OBSOLETE DATA RETAINED V0200 (600) + (500)", "ERROR:", "VALUE:T2b", "VALUE:D", "VALUE:RE" ], [ "620", "51 0 + 450\n\nExtension to any site in 510 plus extension to contralateral ovary\n WITHOUT malignant cells in ascites or peritoneal washings", "VALUE:T2b", "VALUE:T2b", "VALUE:D", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 652, 658\n\nExtension or metastasis to (but no malignant cells in ascites or peritoneal washings):\n Broad ligament, contralateral\n Cul de sac (rectouterine pouch)\n Mesosalpinx, contralateral\n Rectosigmoid\n Sigmoid\nFIGO IIB", "VALUE:T2b", "VALUE:T2b", "VALUE:D", "VALUE:RE" ], [ "652", "Extension or metastasis to (but no malignant cells in ascites or peritoneal washings): \n Broad ligament, contralateral\n Cul de sac (rectouterine pouch)\n Mesosalpinx, contralateral\n Rectosigmoid\n Sigmoid", "VALUE:T2b", "VALUE:T2b", "VALUE:D", "VALUE:RE" ], [ "655", "Pelvic extension, NOS with no malignant cells in ascites or peritoneal washings", "VALUE:T2NOS", "VALUE:T2NOS", "VALUE:RE", "VALUE:RE" ], [ "658", "FIGO Stage IIB", "VALUE:T2b", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "660", "Pelvic extension (codes 400-655)\nWITH malignant cells in ascites or peritoneal washings\n\nFIGO Stage IIC", "VALUE:T2c", "VALUE:T2c", "VALUE:D", "VALUE:D" ], [ "670", "FIGO Stage II [NOS]", "VALUE:T2NOS", "VALUE:T2NOS", "VALUE:RE", "VALUE:RE" ], [ "680", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 790, 820\n\nPeritoneal implants or metastasis (size of metastases not stated; unknown if microscopic or macroscopic)\n Omentum \n Small intestine\nFIGO Stage III", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:D", "VALUE:D" ], [ "685", "Microscopic peritoneal implants or metastasis:\n Omentum\n Small intestine", "VALUE:T3a", "VALUE:T3a", "VALUE:D", "VALUE:RE" ], [ "688", "685 + 660", "VALUE:T3a", "VALUE:T3a", "VALUE:D", "VALUE:D" ], [ "690", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 685, 698\n\nMicroscopic peritoneal implants or metastasis:\n Omentum\n Small intestine\nFIGO Stage IIIA", "VALUE:T3a", "VALUE:T3a", "VALUE:D", "VALUE:D" ], [ "695", "Microscopic peritoneal metastasis outside the pelvis, excluding organs in code 685 \n(See Note 5)", "VALUE:T3a", "VALUE:T3a", "VALUE:D", "VALUE:D" ], [ "698", "FIGO Stage IIIA", "VALUE:T3a", "VALUE:T3a", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA CONVERTED V0102\nSee code 680\n\nExtension or metastasis to:\n Omentum\nFIGO Stage IIB", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "710", "OBSOLETE DATA CONVERTED V0102\nSee code 660\n\nPelvic extension (codes 350-700) with malignant cells in ascites or peritoneal washings\nFIGO Stage IIC", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "720", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 722, 723, and 728\n\nMacroscopic peritoneal implants or metastasis less than or equal to 2cm:\n Omentum\n Small intestine\nFIGO Stage IIIB", "VALUE:T3b", "VALUE:T3b", "VALUE:D", "VALUE:D" ], [ "722", "Macroscopic peritoneal implants or metastasis less than or equal to 2cm:\n Omentum\n Small intestine", "VALUE:T3b", "VALUE:T3b", "VALUE:D", "VALUE:RE" ], [ "723", "722 + 695", "VALUE:T3b", "VALUE:T3b", "VALUE:D", "VALUE:D" ], [ "725", "Macroscopic peritoneal metastasis less than or equal to 2 cm outside the pelvis, excluding organs in code 722 \n(See Note 5)", "VALUE:T3b", "VALUE:T3b", "VALUE:D", "VALUE:D" ], [ "728", "FIGO Stage IIIB based on extension", "VALUE:T3b", "VALUE:T3b", "VALUE:D", "VALUE:D" ], [ "730", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 732, 733, and 740\n\nMacroscopic peritoneal implants or metastasis greater than 2cm:\n Omentum\n Small intestine\nFIGO Stage IIIC", "VALUE:T3c", "VALUE:T3c", "VALUE:D", "VALUE:RE" ], [ "732", "Macroscopic peritoneal implants or metastasis greater than 2cm:\n Omentum\n Small intestine", "VALUE:T3c", "VALUE:T3c", "VALUE:D", "VALUE:RE" ], [ "733", "732 + 725", "VALUE:T3c", "VALUE:T3c", "VALUE:D", "VALUE:D" ], [ "735", "Macroscopic peritoneal implants or metastases greater than 2 cm outside the pelvis, excluding organs in code 732 \n(See Note 5)", "VALUE:T3c", "VALUE:T3c", "VALUE:D", "VALUE:D" ], [ "740", "FIGO Stage IIIC based on extension", "VALUE:T3c", "VALUE:T3c", "VALUE:D", "VALUE:RE" ], [ "750", "OBSOLETE DATA CONVERTED V0203\nSee code 795\n\nPeritoneal implants outside the pelvis, NOS (size of metastases not stated; unknown if microscopic or macroscopic), except code 680 (See Note 5)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "760", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 695 and 698\n\nMicroscopic peritoneal metastasis outside the pelvis, except code 690 (See Note 5)\nFIGO Stage IIIA", "VALUE:T3a", "VALUE:T3a", "VALUE:D", "VALUE:D" ], [ "770", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 725 and 728\n\nMacroscopic peritoneal metastasis less\n than or equal to 2 cm outside the pelvis, except code 720 (See Note 5)\nFIGO Stage IIIB", "VALUE:T3b", "VALUE:T3b", "VALUE:D", "VALUE:D" ], [ "780", "OBSOLETE DATA RETAINED AND REVIEWED V0200\nSee codes 735 and 740\n\nPeritoneal metastases greater than 2 cm, except code 730 (See Note 5)\nFIGO Stage IIIC", "VALUE:T3c", "VALUE:T3c", "VALUE:D", "VALUE:D" ], [ "790", "Peritoneal implants or metastasis outside the pelvis, size of metastasis not stated, unknown if microscopic or macroscopic:\n Omentum\n Small intestine", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:D", "VALUE:RE" ], [ "795", "Peritoneal implants or metastases outside the pelvis, size of metastasis not stated, unknown if microscopic or macroscopic, excluding organs in code 790 \n(See Note 5)", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 810, 820\n\nFurther contiguous extension\nFIGO Stage III [NOS]", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:D", "VALUE:D" ], [ "810", "Further contiguous extension", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:D", "VALUE:D" ], [ "820", "FIGO Stage III [NOS] based on extension", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\n (See Note 6) \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbi.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbi.json deleted file mode 100644 index bddeda494..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbi.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bbi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension detail are available, record the code with extension detail in preference to a statement of FIGO stage. FIGO Stage IVA is assigned based on tumor extension and/or regional lymph node involvement. Code CS Extension based on a physician's statement of FIGO Stage IVA if it is based on tumor extension or the basis is unknown.\n\n**Note 2**: FIGO no longer includes Stage 0 (Tis) for this site.\n\n**Note 3**: FIGO Stage I, IA and IB are defined by size of tumor, involvement of vulva OR vulva and perineum, and depth of stromal invasion.\n\n**Note 4**: The depth of invasion is defined as the measurement of the tumor from the epithelial-stromal junction of the adjacent most superficial dermal papilla to the deepest point of invasion.\n\n**Note 5**: Use codes 110, and 120 in preference to 125 and 125 in preference to code 200.", - "footnotes" : "- For CS Extension codes 110, 125-410, 425-450, and 470 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size and CS Extension, as shown in the Extension Size AJCC 7 Table for this schema.\n- For CS Extension codes 110-470 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size and CS Extension, as shown in the Extension Size AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:07.577Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, preinvasive, noninvasive\nBowen disease", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA CONVERTED V0203\nSee code 200\n\nInvasive cancer (no stromal invasion) confined to:\n Musculature\n Submucosa\n Vulva including skin", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "105", "OBSOLETE DATA CONVERTED V0203\nSee code 125\n\nVulva only: Stromal invasion but level of invasion in mm not stated", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "110", "Vulva only: Stromal invasion less than or equal to 1 mm", "JUMP:extension_size_ajcc7_xbl", "JUMP:extension_size_ajcc6_xqc", "VALUE:L", "VALUE:L" ], [ "120", "Vulva only: Stromal invasion greater than 1 mm", "VALUE:T1b", "JUMP:extension_size_ajcc6_xqc", "VALUE:L", "VALUE:L" ], [ "125", "Vulva only: Stromal invasion but depth of invasion in mm not stated", "JUMP:extension_size_ajcc7_xbl", "JUMP:extension_size_ajcc6_xqc", "VALUE:L", "VALUE:L" ], [ "200", "Invasive carcinoma confined to:\n Musculature\n Submucosa\n Vulva including skin", "JUMP:extension_size_ajcc7_xbl", "JUMP:extension_size_ajcc6_xqc", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_ajcc7_xbl", "JUMP:extension_size_ajcc6_xqc", "VALUE:L", "VALUE:L" ], [ "320", "OBSOLETE DATA CONVERTED V0203\nSee code 470\n\nFIGO Stage I [NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "330", "OBSOLETE DATA CONVERTED V0203\nSee code 450\n\nFIGO Stage IA", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "340", "OBSOLETE DATA CONVERTED V0203\nSee code 460\n\nFIGO Stage IB", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "400", "OBSOLETE DATA CONVERTED V0203\nSee code 425\n\nVulva and perineum, level of invasion in mm not stated", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "410", "Vulva and perineum: Stromal invasion less than or\n equal to 1 mm", "JUMP:extension_size_ajcc7_xbl", "JUMP:extension_size_ajcc6_xqc", "VALUE:RE", "VALUE:RE" ], [ "420", "Vulva and perineum: Stromal invasion greater than 1 mm", "VALUE:T1b", "JUMP:extension_size_ajcc6_xqc", "VALUE:RE", "VALUE:RE" ], [ "425", "Vulva and perineum: Stromal invasion but depth of invasion in millimeters not stated", "JUMP:extension_size_ajcc7_xbl", "JUMP:extension_size_ajcc6_xqc", "VALUE:RE", "VALUE:RE" ], [ "450", "FIGO Stage IA", "JUMP:extension_size_ajcc7_xbl", "JUMP:extension_size_ajcc6_xqc", "VALUE:L", "VALUE:L" ], [ "460", "FIGO Stage IB", "VALUE:T1b", "JUMP:extension_size_ajcc6_xqc", "VALUE:L", "VALUE:L" ], [ "470", "FIGO Stage I [NOS]", "JUMP:extension_size_ajcc7_xbl", "JUMP:extension_size_ajcc6_xqc", "VALUE:L", "VALUE:L" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nAnus\nPerianal skin\nUrethra (See code 750 for upper urethral mucosa)\nVagina\nFIGO Stage III", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "605", "Anus\nPerianal skin\nUrethra:\n Lower/distal one-third \n Urethra, NOS \n(See code 750 for upper urethra)", "VALUE:T2", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "610", "Vagina (lower/distal 1/3 vagina)", "VALUE:T2", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "612", "Vagina NOS", "VALUE:T2", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "615", "FIGO Stage II", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "618", "Vagina:\n Upper/proximal two-thirds", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "620", "Bladder wall or bladder, NOS excluding mucosa\nRectal wall or rectum, NOS excluding mucosa", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:RE" ], [ "700", "Perineal body\nRectal mucosa", "VALUE:T3", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "OBSOLETE DATA RETAINED V0200\n\nBladder mucosa\nFixed to pubic bone\nUpper urethral mucosa \nFIGO Stage IVA", "ERROR:", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "760", "Bladder mucosa\nFixed to pubic bone\nUrethra\n Upper/proximal two-thirds", "VALUE:T3", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T3", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "850", "FIGO Stage IVA based on extension or unknown whether based on extension or nodes", "VALUE:T3", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbj.json deleted file mode 100644 index 91abbf623..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbj.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bbj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Palpebral and tarsal conjunctiva line the eyelid, bulbar conjunctiva covers the eyeball, forniceal conjunctiva covers the space between the eyelid and the globe. According to the AJCC, tumors are most likely to arise at the exposed site where the conjunctival epithelium merges with the corneal epithelium, particularly at the temporal limbus.\n\n**Note 2**: Use code 140 or 150 if the physician's assignment of T category is the only information available about the extent of the tumor.\n\n**Note 3**: The CS Tumor Size table for this schema is obsolete in CS Version 2, and the collection of tumor size value moved to CS Site-Specific Factor 1, Tumor Size.", - "footnotes" : "- For CS Extension codes 110-150, and 350 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Tumor Size, as shown in the Extension Size Table CSv2.\n- For CS Extension codes 110-150, and 350 ONLY, the T category for AJCC 6 staging collected in CSv2 is assigned based on the value of CS Site-Specific Factor 1, Tumor Size, as shown in the Extension Size Table CSv2.\n- For CS Extension codes 100 and 300 ONLY, the T category for AJCC 6 staging collected in CSv1 is assigned based on the value of CS Tumor Size as shown in the Extension Size Table CSv1.", - "last_modified" : "2015-05-27T16:19:07.634Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nTumor confined to conjunctiva", "ERROR:", "JUMP:extension_size_table_csv1_xas", "VALUE:L", "VALUE:L" ], [ "110", "Tumor confined to one subsite of conjunctiva:\n Bulbar conjunctiva\nTumor confined to one subsite of conjunctiva, NOS", "JUMP:extension_size_table_csv2_xez", "JUMP:extension_size_table_csv2_xez", "VALUE:L", "VALUE:L" ], [ "120", "Tumor confined to one subsite of conjunctiva:\n Forniceal conjunctiva\n Palpebral conjunctiva\n Tarsal conjunctiva", "JUMP:extension_size_table_csv2_xez", "JUMP:extension_size_table_csv2_xez", "VALUE:L", "VALUE:L" ], [ "140", "Stated as T1 with no other information on extension", "JUMP:extension_size_table_csv2_xez", "JUMP:extension_size_table_csv2_xez", "VALUE:L", "VALUE:L" ], [ "150", "Stated as T2 with no other information on extension", "JUMP:extension_size_table_csv2_xez", "JUMP:extension_size_table_csv2_xez", "VALUE:L", "VALUE:L" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nLocalized, NOS", "ERROR:", "JUMP:extension_size_table_csv1_xas", "VALUE:L", "VALUE:L" ], [ "350", "Localized, NOS", "JUMP:extension_size_table_csv2_xez", "JUMP:extension_size_table_csv2_xez", "VALUE:L", "VALUE:L" ], [ "400", "Intraocular extension\n Cornea \n Intraocular compartments", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nAdjacent extraocular extension, excluding orbit\n Eyelid", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "510", "Tumor involving more than one subsite of conjunctiva:\n Bulbar conjunctiva\n Forniceal conjunctiva\n Palpebral conjunctiva\n Tarsal conjunctiva \nTumor involving more than one subsite of conjunctiva NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "530", "Adjacent extraocular extension, excluding orbit:\n Anterior eyelid lamella \n Caruncle \n Eyelid margin\n Lacrimal punctum and canaliculi\n Plica\n Posterior eyelid lamella", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "550", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "700", "OBSOLETE DATA CONVERTED V0200\nSee code 730\n\nOrbit, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "710", "Orbital soft tissues without bone invasion\n\nStated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "720", "Bone of orbit\n\nStated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "730", "Orbit, NOS", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "780", "Adjacent paranasal sinuses\n\nStated as T4c with no other information on extension", "VALUE:T4c", "VALUE:T4c", "VALUE:RE", "VALUE:RE" ], [ "790", "Brain\n\nStated as T4d with no other information on extension", "VALUE:T4d", "VALUE:T4d", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4d", "VALUE:T4d", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbk.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbk.json deleted file mode 100644 index 94f02e898..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbk.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bbk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: When both FIGO stage and extension detail are available, record the code with extension detail in preference to a statement of FIGO stage.\n\n**Note 2**: FIGO Stage IIIB is assigned based on tumor extension and/or regional lymph node involvement; FIGO Stage IV, NOS is assigned based on tumor extension and/or metastasis. Code CS Extension based on a physician's statement of FIGO Stage IIIB or FIGO Stage IV [NOS] only if it is known that the stage value is assigned because of tumor extension. Code a statement of FIGO Stage IIIB in CS Lymph Nodes if unknown if based on extension. Code a stage of FIGO Stage IV [NOS] in CS Mets at DX if unknown if based on extension.\n\n**Note 3**: FIGO no longer includes Stage 0 (Tis) for this site.\n\n**Note 4**: All macroscopically visible lesions, even with superficial invasion, are assigned toT1b/FIGO Stage IB.\n\n**Note 5**: Involvement of the anterior and/or posterior septum, the tissue between the vagina and bladder and between the vagina and rectum, is coded as involvement of the vaginal wall.", - "footnotes" : "- For CS Extension codes 200-310, 380-450, and 550 ONLY, the T category is assigned based on CS Tumor Size, as shown in the Extension Size AJCC 7 Table for for this schema.\n- For CS Extension codes 200-310, and 380-390 ONLY, the T category is assigned based on CS Tumor Size, as shown in the Extension Size AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:07.705Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive, preinvasive; \nCancer in situ WITH endocervical gland involvement\n(See Note 3)", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "010", "Cervical intraepithelial neoplasia (CIN) Grade III", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "110", "Minimal microscopic stromal invasion less than or equal to 3 mm in depth (measured from the base of the epithelium) and less than or equal to 7 mm in horizontal spread\n\nFIGO Stage IA1", "VALUE:T1a1", "VALUE:T1a1", "VALUE:L", "VALUE:L" ], [ "120", "Microscopic stromal invasion greater than 3 mm and less than or equal to 5 mm in depth, (measured from the base of the epithelium) and less than or equal to 7 mm in horizontal spread\n\nFIGO Stage IA2", "VALUE:T1a2", "VALUE:T1a2", "VALUE:L", "VALUE:L" ], [ "135", "Invasive carcinoma confined to cervix, microscopic size of stromal invasion and horizontal spread not specified", "VALUE:T1aNOS", "VALUE:T1aNOS", "VALUE:L", "VALUE:L" ], [ "140", "FIGO Stage IA [NOS]", "VALUE:T1aNOS", "VALUE:T1aNOS", "VALUE:L", "VALUE:L" ], [ "200", "Invasive carcinoma confined to cervix, tumor measurements greater than specified in code 120\n\nFIGO Stage IB", "JUMP:extension_size_ajcc7_xgi", "JUMP:csextension_size_tablefor_ajcc6th_xba", "VALUE:L", "VALUE:L" ], [ "210", "FIGO Stage IB1", "JUMP:extension_size_ajcc7_xgi", "JUMP:csextension_size_tablefor_ajcc6th_xba", "VALUE:L", "VALUE:L" ], [ "220", "FIGO Stage IB2", "JUMP:extension_size_ajcc7_xgi", "JUMP:csextension_size_tablefor_ajcc6th_xba", "VALUE:L", "VALUE:L" ], [ "250", "Invasive carcinoma confined to cervix, clinically visible lesion", "JUMP:extension_size_ajcc7_xgi", "JUMP:csextension_size_tablefor_ajcc6th_xba", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS\nConfined to cervix uteri or uterus, NOS, except corpus uteri, NOS\n(Not clinically visible or unknown if clinically visible.)", "JUMP:extension_size_ajcc7_xgi", "JUMP:csextension_size_tablefor_ajcc6th_xba", "VALUE:L", "VALUE:L" ], [ "310", "FIGO Stage I [NOS]", "JUMP:extension_size_ajcc7_xgi", "JUMP:csextension_size_tablefor_ajcc6th_xba", "VALUE:L", "VALUE:L" ], [ "350", "Corpus uteri, NOS with no other information on extension", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:RE", "VALUE:RE" ], [ "360", "350 + 110", "VALUE:T1a1", "VALUE:T1a1", "VALUE:RE", "VALUE:RE" ], [ "370", "350 + 120", "VALUE:T1a2", "VALUE:T1a2", "VALUE:RE", "VALUE:RE" ], [ "380", "350 + (200 or 250)", "JUMP:extension_size_ajcc7_xgi", "JUMP:csextension_size_tablefor_ajcc6th_xba", "VALUE:RE", "VALUE:RE" ], [ "390", "350 + (300 or 310)", "JUMP:extension_size_ajcc7_xgi", "JUMP:csextension_size_tablefor_ajcc6th_xba", "VALUE:RE", "VALUE:RE" ], [ "400", "Extension to:\n Cul de sac (rectouterine pouch)\n Upper two-thirds of vagina including fornices\n Vagina, NOS\n Vaginal wall, NOS\nWITHOUT parametrial invasion", "JUMP:extension_size_ajcc7_xgi", "VALUE:T2a", "VALUE:RE", "VALUE:RE" ], [ "410", "Extension beyond uterus, NOS but not to pelvic wall (excluding lower third of vagina)\nWITHOUT parametrial invasion", "JUMP:extension_size_ajcc7_xgi", "VALUE:T2a", "VALUE:RE", "VALUE:RE" ], [ "420", "FIGO Stage IIA1", "JUMP:extension_size_ajcc7_xgi", "VALUE:T2a", "VALUE:RE", "VALUE:RE" ], [ "440", "FIGO Stage IIA2", "JUMP:extension_size_ajcc7_xgi", "VALUE:T2a", "VALUE:RE", "VALUE:RE" ], [ "450", "FIGO Stage IIA [NOS]", "JUMP:extension_size_ajcc7_xgi", "VALUE:T2a", "VALUE:RE", "VALUE:RE" ], [ "500", "Extension to:\n Ligament(s):\n Broad\n Cardinal\n Uterosacral\n Parametrium (paracervical soft tissue)\nFIGO Stage IIB", "VALUE:T2b", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "550", "FIGO Stage II [NOS]", "JUMP:extension_size_ajcc7_xgi", "VALUE:T2NOS", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 605 and 625\n\nExtension to:\n Bladder wall\n Bladder, NOS excluding mucosa\n Bullous edema of bladder mucosa\n Lower third of vagina\n Rectal wall\n Rectum, NOS excluding mucosa\nFIGO Stage IIIA", "VALUE:T3a", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "605", "Extension to:\n Bladder wall\n Bladder, NOS excluding mucosa\n Bullous edema of bladder mucosa\n Lower third of vagina\n Rectal wall\n Rectum, NOS excluding mucosa", "VALUE:T3a", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "620", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 622 and 625\n\nExtension to:\n Ureter, intra- and extramural\n Vulva\nFIGO Stage IIIA", "VALUE:T3a", "VALUE:T3a", "VALUE:D", "VALUE:RE" ], [ "622", "Extension to:\n Ureter, intra- and extramural\n Vulva", "VALUE:T3a", "VALUE:T3a", "VALUE:D", "VALUE:RE" ], [ "625", "FIGO Stage IIIA", "VALUE:T3a", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "630", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 635 and 660\n\nTumor causes hydronephrosis or nonfunctioning kidney \nFIGO Stage IIIB", "VALUE:T3b", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "635", "Tumor causes hydronephrosis or nonfunctioning kidney ", "VALUE:T3b", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 655 and 660\n\nExtension to pelvic wall(s)\n (Described clinically as \"frozen pelvis\", NOS)\nFIGO Stage IIIB", "VALUE:T3b", "VALUE:T3b", "VALUE:D", "VALUE:RE" ], [ "655", "Extension to pelvic wall(s)\n Described clinically as frozen pelvis", "VALUE:T3b", "VALUE:T3b", "VALUE:D", "VALUE:RE" ], [ "660", "FIGO Stage IIIB based on extension", "VALUE:T3b", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "680", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 685 and 690\n\nExtension to:\n Fallopian tube(s)\n Ovary(ies)\n Urethra\n\nFIGO Stage III [NOS]", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:D", "VALUE:RE" ], [ "685", "Extension to:\n Fallopian tube(s)\n Ovary(ies)\n Urethra", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:D", "VALUE:RE" ], [ "690", "FIGO Stage III [NOS]", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:D", "VALUE:RE" ], [ "700", "Extension to rectal or bladder mucosa \n(Note: for bullous edema of bladder mucosa, see code 600-605)", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension beyond true pelvis\n Sigmoid colon\n Small intestine", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "850", "FIGO Stage IVA", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "860", "FIGO Stage IV [NOS] based on extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbl.json deleted file mode 100644 index 9ecc86d4f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbl.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bbl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: When both FIGO stage and extension detail are available, record the code with extension detail in preference to a statement of FIGO stage.\n\n**Note 2**: FIGO no longer includes Stage 0 (Tis) for this site.\n\n**Note 3**: To assign a T2 category, stromal connective tissue of the cervix must be involved; endocervical glandular involvement only is not considered a T2 tumor in AJCC 7. Use 123, 133, 143, or 145 if endometrial or myometrial involvement is described.\n\n**Note 4**: FIGO IIIA and IIIB are extension, whereas FIGO IIIC is nodal involvement. FIGO IVA is extension, whereas FIGO IVB is distant metastasis. FIGO Stage III, NOS and FIGO Stage IV, NOS are assigned based on tumor extension and/or metastasis. Code CS Extension based on a physician's statement of FIGO Stage III, NOS or FIGO Stage IV, NOS only if it is known that the stage value is assigned because of tumor extension.\n\n**Note 5**: Positive cytology is reported separately (CS Site Specific Factor 2), and is not included as a staging element for AJCC 7 staging. It is included as a staging element for AJCC 6 and Summary Stage. Since \"cancer cells in ascites or in peritoneal washings\" was not specifically categorized in the 1977 Summary Staging Guide, it is unclear to which stage previous cases may have been coded in that staging system.\n\n**Note 6**: According to the AJCC, extension to the bowel or bladder mucosa must be proven by biopsy in order to rule out bullous edema.", - "footnotes" : "- For CS Extension codes 100-145, and 180-525 ONLY. If it is a CS Version 1 case, (CS Version Input Original equals 01XXXX and Year of Diagnosis is before 2010), the T category for AJCC 6 stages is assigned based on the value of CS Extension and peritoneal cytology coded in CS Site-Specific Factor 2 as shown in the Extension Cytology AJCC 6 Table CSv1. If it is a CS Version 2 case (CS Version Input Original equals 02XXXX or Year of Diagnosis is greater than 2009), the T category for AJCC 6 staging is based on the value of CS Extension and peritoneal cytology coded in CS Site-Specific Factor 2 as shown in the Extension Cytology AJCC 6 Table CSv2.\n- For CS Extension codes 100-120, 125-130, 135-140, 160-400, and 540 ONLY. The SS77 and SS2000 stages are assigned based on the value of CS Extension and peritoneal cytology status coded in CS Site-Specific Factor 2 as shown in the Extension Cytology Summary Stage Table.", - "last_modified" : "2015-05-27T16:19:07.772Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive, preinvasive ", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive cancer confined to corpus uteri ", "VALUE:T1NOS", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "JUMP:extension_cytology_summary_stage_xqa", "JUMP:extension_cytology_summary_stage_xqa" ], [ "110", "Confined to endometrium (stroma)", "VALUE:T1a", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "JUMP:extension_cytology_summary_stage_xqa", "JUMP:extension_cytology_summary_stage_xqa" ], [ "120", "Tumor invades less than one-half of myometrium\nInvasion of inner half of myometrium", "VALUE:T1a", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "JUMP:extension_cytology_summary_stage_xqa", "JUMP:extension_cytology_summary_stage_xqa" ], [ "123", "Endocervical glandular involvement\nWITH tumor limited to endometrium or invading less than one-half of myometrium\n(See Note 3)", "VALUE:T1a", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "VALUE:RE", "VALUE:RE" ], [ "125", "FIGO Stage IA", "VALUE:T1a", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "JUMP:extension_cytology_summary_stage_xqa", "JUMP:extension_cytology_summary_stage_xqa" ], [ "130", "Tumor invades one-half or more of myometrium\nInvasion of outer half of myometrium\n (See Note 4)", "VALUE:T1b", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "JUMP:extension_cytology_summary_stage_xqa", "JUMP:extension_cytology_summary_stage_xqa" ], [ "133", "Endocervical glandular involvement \nWITH tumor invading one-half or more of myometrium\n(See Note 3)", "VALUE:T1b", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "VALUE:RE", "VALUE:RE" ], [ "135", "FIGO Stage IB", "VALUE:T1b", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "JUMP:extension_cytology_summary_stage_xqa", "JUMP:extension_cytology_summary_stage_xqa" ], [ "140", "Invasion of myometrium, NOS", "VALUE:T1NOS", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "JUMP:extension_cytology_summary_stage_xqa", "JUMP:extension_cytology_summary_stage_xqa" ], [ "143", "Endocervical glandular involvement WITH tumor invading myometrium, NOS", "VALUE:T1NOS", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "VALUE:RE", "VALUE:RE" ], [ "145", "Endocervical glandular involvement and involvement of myometrium not specified", "VALUE:T1NOS", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "VALUE:RE", "VALUE:RE" ], [ "160", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 540 and 545\n\nTunica serosa of the visceral peritoneum (serosa covering the corpus)", "VALUE:T1NOS", "VALUE:T3a", "JUMP:extension_cytology_summary_stage_xqa", "JUMP:extension_cytology_summary_stage_xqa" ], [ "180", "FIGO Stage I [NOS]", "VALUE:T1NOS", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "JUMP:extension_cytology_summary_stage_xqa", "JUMP:extension_cytology_summary_stage_xqa" ], [ "400", "Localized, NOS", "VALUE:T1NOS", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "JUMP:extension_cytology_summary_stage_xqa", "JUMP:extension_cytology_summary_stage_xqa" ], [ "500", "Cervix uteri, NOS, but not beyond uterus", "VALUE:T2", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "VALUE:RE", "VALUE:RE" ], [ "510", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 123, 133, 143, and 145\n\nEndocervical glandular involvement only", "VALUE:T1NOS", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "VALUE:RE", "VALUE:RE" ], [ "520", "Cervical stromal invasion", "VALUE:T2", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "VALUE:RE", "VALUE:RE" ], [ "525", "FIGO Stage II", "VALUE:T2", "JUMP:determine_correct_table_for_ajcc6_t_ns6", "VALUE:RE", "VALUE:RE" ], [ "540", "Extension or metastasis to tunica serosa (visceral peritoneum of corpus, serosa covering the corpus) \nWITHOUT involvement of cervix", "VALUE:T3a", "VALUE:T3a", "JUMP:extension_cytology_summary_stage_xqa", "JUMP:extension_cytology_summary_stage_xqa" ], [ "545", "Extension or metastasis to tunica serosa of corpus\nWITH involvement of cervix", "VALUE:T3a", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "550", "Extension or metastasis to:\n Adnexa:\n Fallopian tube(s)\n Ovary(ies)", "VALUE:T3a", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 550, 655, and 800\n\nExtension or metastasis within true pelvis:\n Adnexa\n Fallopian tube(s)\n Ligaments: Broad, round, uterosacral\n Ovary(ies)\n Parametrium\n Pelvic serosa\n Tunica serosa (parietal lining of the pelvic or abdominal cavity)", "VALUE:T3a", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "610", "OBSOLETE DATA RETAINED V0200 \nSee Note 5 and CS Site-Specific Factor 2\n\nCancer cells in ascites\nCancer cells in peritoneal washings \nFIGO Stage IIIA", "ERROR:", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "620", "OBSOLETE DATA CONVERTED V0200 \n(See code 645)\n\nUreter and vulva", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "630", "FIGO Stage IIIA", "VALUE:T3a", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "635", "Extension or metastasis to:\n Ligaments:\n Broad\n Round\n Parametrium, NOS\n Visceral peritoneum of pelvic organs excluding serosa of corpus", "VALUE:T3b", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "640", "Extension or metastasis to vagina", "VALUE:T3b", "VALUE:T3b", "VALUE:D", "VALUE:RE" ], [ "645", "Extension to:\n Ureter \n Vulva", "VALUE:T3b", "VALUE:T3b", "VALUE:D", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 655 and 662\n\nExtension or metastasis to pelvic wall(s)\nDescribed clinically as \"frozen pelvis\", NOS", "VALUE:T3b", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "655", "Extension or metastasis to:\n Pelvic wall(s)\n Parietal serosa of pelvic wall", "VALUE:T3b", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "660", "Extension or metastasis to:\n Bladder wall\n Bladder, NOS excluding mucosa\n Rectal wall\n Rectum, NOS excluding mucosa", "VALUE:T3b", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "662", "Described clinically as \"frozen pelvis\", NOS", "VALUE:T3b", "VALUE:T3b", "VALUE:D", "VALUE:RE" ], [ "663", "(660 or 662) + (640 or 645)", "VALUE:T3b", "VALUE:T3b", "VALUE:D", "VALUE:RE" ], [ "665", "FIGO Stage IIIB", "VALUE:T3b", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "670", "OBSOLETE DATA CONVERTED V0203\nSee code 663 \n\n(662 or 660) + (645 or 640)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "680", "FIGO Stage III [NOS] based on tumor extension\n(See Note 4.)", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:RE", "VALUE:RE" ], [ "700", "OBSOLETE DATA CONVERTED V0200 \n(See code 710)\n\nExtension to bowel mucosa or \nbladder mucosa (excluding bullous edema)\nFIGO Stage IVA\nFIGO Stage IV, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "710", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee codes 715, 810, and 820\n\nExtension to bowel mucosa or bladder mucosa (excluding bullous edema)\n\nNote: On conversion of code 700 to 710, code 710 also included FIGO Stage IVA, FIGO Stage IV, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "715", "Extension to bowel mucosa or bladder mucosa (excluding bullous edema)", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension\n Abdominal serosa (visceral or parietal peritoneum of abdomen)\n Cul de sac (rectouterine pouch or Pouch of Douglas)\n Sigmoid colon\n Small intestine", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "FIGO Stage IVA", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "820", "FIGO Stage IV [NOS] based on tumor extension\n(See Note 4.)", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbm.json deleted file mode 100644 index 27b249885..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbm.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bbm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension detail are available, record the code with extension detail in preference to a statement of FIGO stage.\n\n**Note 2**: According to AJCC, metastasis to genital structures for gestational trophoblastic tumors (GTT) is considered T2 and not M1. Metastasis to genital structures is coded in CS Extension and not in CS Mets at DX.\n\n**Note 3**: For CS Extension codes 100-850, substaging is determined by the values in CS Site-Specific Factor 1, Prognostic Scoring Index.", - "last_modified" : "2015-05-27T16:19:07.836Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 999\n\nIn situ: noninvasive; intraepithelial", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "100", "Confined to placenta", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "320", "Confined to uterus : cervix, corpus, and NOS", "VALUE:T1", "VALUE:T1", "VALUE:RE", "VALUE:RE" ], [ "330", "FIGO Stage IA", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "340", "FIGO Stage IB", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "350", "FIGO Stage I [NOS]", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue, NOS", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 320, 620\n\nOther genital structures by direct extension or NOS:\n Broad ligament\n Cervix\n Corpus uteri\n Fallopian tube(s)\n Genital structures, NOS\n Ovary(ies)\n Uterus, NOS \n Vagina", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "620", "Other genital structures by direction extension or NOS:\n Broad ligament\n Fallopian tube(s)\n Genital structures, NOS\n Ovary(ies)\n Vagina", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "700", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 320, 720\n\nOther genital structures, by metastasis:\n Broad ligament\n Cervix\n Corpus uteri\n Fallopian tube(s)\n Genital structures, NOS\n Ovary(ies)\n Uterus, NOS \n Vagina", "VALUE:T2", "VALUE:T2", "VALUE:D", "VALUE:D" ], [ "720", "Other genital structures by metastasis:\n Broad ligament\n Cervix\n Fallopian tube(s)\n Genital structures, NOS\n Ovary(ies)\n Vagina", "VALUE:T2", "VALUE:T2", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T2", "VALUE:T2", "VALUE:D", "VALUE:D" ], [ "810", "FIGO Stage IIA", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "820", "FIGO Stage IIB", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "850", "FIGO Stage II [NOS]", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbn.json deleted file mode 100644 index 83aa100ff..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbn.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bbn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: In case of multifocal noninvasive Ta and Tis tumors, use code 060 in preference to code 050.\n\n**Note 2**: Tumor involving both renal pelvis and ureter (unifocal or multifocal) is classified by the depth of greatest invasion in either organ for AJCC staging. Use codes 120 and 220 for extension of tumor involving the wall of both renal pelvis and ureter.\n\n**Note 3**: Direct invasion of the bladder by a ureteral tumor is classified by the depth of greatest invasion of the bladder or ureter for AJCC staging. \n\n**Note 4**: If CS Extension code is 050 or 060, Behavior ICD-O-3 must be coded as 2. If CS Extension code is 105 or greater, Behavior ICD-O-3 must be coded as 3.", - "last_modified" : "2015-05-27T16:19:07.901Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 060\n\nCarcinoma in situ, NOS\nNon-invasive, intraepithelial", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "050", "Noninvasive papillary carcinoma", "VALUE:Ta", "VALUE:Ta", "VALUE:IS", "VALUE:IS" ], [ "060", "In situ, intraepithelial, noninvasive (flat, sessile)", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 105, 120, 130 and 150\n\nSubepithelial connective tissue (lamina propria, submucosa) invaded\nStated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "105", "Subepithelial connective tissue (lamina propria, submucosa) of renal pelvis only\nSubepithelial connective tissue (lamina propria, submucosa) of ureter only", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "120", "Renal pelvis and ureter (unifocal or multifocal):\n Subepithelial connective tissue\n Renal pelvis from ureter\n Ureter from renal pelvis\n Distal ureter from proximal ureter\n(See Note 2)", "VALUE:T1", "VALUE:T1", "VALUE:RE", "VALUE:RE" ], [ "130", "Extension to bladder from ureter:\n Subepithelial connective tissue of distal ureter and/or bladder \n(See Note 3)", "VALUE:T1", "VALUE:T1", "VALUE:RE", "VALUE:RE" ], [ "150", "Stated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis of renal pelvis only\nMuscularis of ureter only", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "220", "Renal pelvis and ureter (unifocal or multifocal):\n Muscularis\n Renal pelvis from ureter\n Ureter from renal pelvis\n Distal ureter from proximal ureter\n(See Note 2)", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "230", "Extension to bladder from ureter:\n Muscularis of distal ureter and/or bladder \n(See Note 3)", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "300", "Localized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "350", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 120 and 220\n\nExtension to ureter from renal pelvis", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "370", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "400", "Extension to adjacent (connective) tissue:\n Peripelvic/periureteric tissue\n Retroperitoneal soft/connective tissue", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "600", "For renal pelvis only:\n Ipsilateral kidney parenchyma and kidney, NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "610", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "620", "OBSOLETE DATA REVIEWED AND CHANGED V0102\nThis code was made obsolete in CS Version 1 and should no longer be used\n\nExtension to ureter from renal pelvis\n NOTE: cases were to be recoded to 350, 400 or 600", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "630", "Psoas muscle from ureter", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 120, 130, 220, and 230\n\nExtension to bladder from ureter\nImplants in ureter", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "660", "OBSOLETE DATA CONVERTED V0203\nSee code 665 for renal pelvis and code 685 for ureter\n\nExtension to major blood vessel(s):\n Aorta\n Renal artery/vein\n Vena cava (inferior)\nTumor thrombus in a renal vein, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "665", "For renal pelvis only:\n Extension to major blood vessel(s):\n Aorta\n Renal artery/vein\n Vena cava (inferior)\n Tumor thrombus in a renal vein, NOS", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "670", "Ipsilateral adrenal (suprarenal) gland from renal pelvis", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "680", "Duodenum from right renal pelvis or right ureter", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "685", "For ureter only:\n Extension to major blood vessel(s):\n Aorta\n Renal artery/vein\n Vena cava (inferior)\n Tumor thrombus in a renal vein, NOS", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "690", "Ascending colon from right ureter\nDescending colon from left ureter ", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "695", "690 + 685", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "700", "Extension to:\n Ascending colon from right renal pelvis\n Bladder (wall or mucosa) from renal pelvis\n Colon, NOS\n Descending colon from left renal pelvis\n Ipsilateral kidney parenchyma from ureter\n Liver\n Pancreas\n Perinephric fat via kidney\n Spleen", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "OBSOLETE DATA CONVERTED V0200\nSee code 690\n\nAscending colon from right ureter\nDescending colon from left ureter", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "800", "Further contiguous extension, including:\n For ureter:\n Prostate\n Uterus", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbo.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbo.json deleted file mode 100644 index f0533c62a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbo.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bbo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension - Clinical Extension", - "notes" : "**Note 1**: This field and CS Site-Specific Factor 3, CS Extension - Pathologic Extension, must both be coded, whether or not a prostatectomy was performed. Information from prostatectomy and autopsy is excluded from this field and coded only in CS Site-Specific Factor 3.\n\n**Note 2**: AJCC considers \"in situ carcinoma of prostate gland\" an impossible diagnosis. Any case so coded will be mapped to TX for AJCC stage and in situ Summary Stage.\n\n**Note 3**: Clinically apparent and inapparent tumor. Use the following rules to determine inapparent versus apparent for CS Extension - Clinical Extension codes 100-240 and, when in doubt, use code 300.\n\n* A. According to AJCC, the digital rectal examination (DRE) is considered the \"gold standard\" for clinical staging and the quality of imaging for staging is not sufficiently uniform to make it part of routine staging. Therefore, the registrar should not use imaging to determine an apparent tumor unless the managing clinician/urologist has used it in staging (herein termed \"reliably\" visible on imaging). If there is a discrepancy between a stage documented on an imaging report and a stage documented by a managing clinician/urologist, the latter takes precedence.\nA clinically apparent tumor is palpable or \"reliably\" visible by imaging. If a clinician documents a \"tumor\", \"mass\", or \"nodule\" by physical examination, this can be inferred as apparent. \"Tumor\", \"mass\", or \"nodule\" on imaging can only be used by the registrar if the managing clinician/urologist uses it.\nA clinically inapparent tumor is one that is neither palpable nor \"reliably\" visible by imaging. Physician documentation of a DRE that does not mention a palpable \"tumor\", \"mass\", or \"nodule\" can be inferred as inapparent. This would include findings limited to benign prostate or enlargement/hypertrophy. \nDo not infer inapparent or apparent tumor based on the registrar's interpretation of other terms in the DRE or imaging reports. A physician assignment of cT1 or cT2 is also a clear statement of inapparent or apparent respectively. Code to 300 (which maps to T2 NOS) in the absence of a clear physician's statement of inapparent or apparent (see also Note 3D).\n\n* B. Codes 100 to 150 are used only for clinically inapparent tumor (see Note 3A) and/or incidentally found microscopic carcinoma (latent, occult) in one or both lobes. Within this range, give priority to codes 130-150 over code 100. Do not use codes 100-140 for needle core biopsy. Use code 150 when tumor is found in one lobe, both lobes, or in prostatic apex by needle biopsy but is not palpable or \"reliably\" visible by imaging. Since code 150 is used to measure screening detected cases, it is important to only apply code 150 when it is clearly an inapparent case. \n\n* C. Codes 200 to 240 are used only for clinically apparent tumor (see Note 3A). Information from biopsy is not used to decide among codes 200-240. Prostate biopsy information is coded in CS Site-Specific Factor 14. Codes 210 and 220 have precedence over code 200. Code 200 has precedence over code 240. Use code 240 if the physician assigns cT2 without a subcategory of a, b, or c.\n\n* D. Code 300 is used for localized cancer when it is unknown if the tumor is clinically apparent. This would include cases with elevated PSA and positive needle core biopsy but no documentation regarding tumor apparency (inapparent versus apparent). Another example would be a diagnosis made prior to admission for a prostatectomy with no details provided on the initial clinical findings.\n\n**Note 4**: Codes 410 to 700 are used for extension beyond the prostate. Information from biopsy of extraprostatic tissue is coded in CS Extension - Clinical Extension (see Note 3 and code 2 on the prostate CS Tumor Size/Ext Eval table for further information).\n\n**Note 5**: Involvement of the prostatic urethra does not alter the extension code.\n\n**Note 6**: \"Frozen pelvis\" is a clinical term which means tumor extends to pelvic sidewall(s). In the absence of a more detailed statement of involvement, assign a description of frozen pelvis to code 600.\n\n**Note 7**: As indicated in Note 1, information from prostatectomy/autopsy is not considered when coding CS Extension - Clinical Extension and is only coded in CS Site-Specific Factor 3 CS Extension - Pathologic Extension. This also applies to incidental findings of prostate cancer during a prostatectomy for other reasons (for example, a cytoprostatectomy for bladder cancer). If there is documentation regarding a normal prostate evaluation (physical examination or imaging) prior to prostatectomy/autopsy, code 950 (no evidence of primary tumor) in this field. If there is no documentation regarding a normal prostate evaluation (physical examination or imaging) prior to prostatectomy/autopsy, code 999 (unknown; extension not stated) in this field.\n\n**Note 8**: The mapping values for TNM, SS77, and SS2000 and the associated c, p, yp, or a indicator (staging basis) are assigned based on the values in CS Extension - Clinical Extension, CS Tumor Size/Ext Eval, and CS Site-Specific Factor 3 - Pathologic Extension. The calculation depends on whether clinical information or pathologic information takes precedence in a specific case. Note that for prostate, AJCC pathologic staging usually requires a prostatectomy. Pathologic staging information from a prostatectomy takes precedence except when neoadjuvant treatment has been given and clinical extension is either as extensive or more extensive than pathologic extension. The CS algorithm implements this logic as shown in the Special Calculation extra tables. Some combinations of codes may be errors. The CS algorithm will derive stage values if possible; a separate edit program may be required to identify errors for correction.", - "footnotes" : "For this site, extension is coded in two CS fields: CS Extension - Clinical Extension and CS Site-Specific Factor 3 - Pathologic Extension. The mapping values for the T category for AJCC stage, SS77, and SS2000 and the associated c, p, yp, or a indicator are assigned based on the values in CS Extension - Clinical Extension, CS Tumor Size/Ext Eval, and CS Site-Specific Factor 3 - Pathologic Extension as shown in the Special Calculation Table for TNM 7 Invasive/Unknown Pathologic Extension Eval, Special Calculation Table for TNM 7 Non-Invasive Pathologic Extension, Special Calculation Table for TNM 6 Invasive/Unknown Pathologic Extension Eval, Special Calculation Table for TNM 6 Non-Invasive Pathologic Extension, and Special Calculation Table for SEER Summary Stage.", - "last_modified" : "2015-05-27T16:19:07.985Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77_d", - "name" : "Summary Stage 1977 T", - "type" : "DESCRIPTION" - }, { - "key" : "t2000_d", - "name" : "Summary Stage 2000 T", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:TX", "IS", "IS" ], [ "100", "Incidental histologic finding (for example, on TURP), number of foci or percent of involved tissue not specified (clinically inapparent)\n(See Note 3B)\n\nStated as cT1 [NOS] with no other information on clinical extension", "VALUE:T1NOS", "VALUE:T1NOS", "L", "L" ], [ "130", "Incidental histologic finding (for example, on TURP) in 5 percent or less of tissue resected (clinically inapparent)\n(See Note 3B)\n\nStated as cT1a with no other information on clinical extension", "VALUE:T1a", "VALUE:T1a", "L", "L" ], [ "140", "Incidental histologic finding (for example, on TURP) in more than 5 percent of tissue resected (clinically inapparent)\n(See Note 3B)\n\nStated as cT1b with no other information on clinical extension", "VALUE:T1b", "VALUE:T1b", "L", "L" ], [ "150", "Tumor identified by needle biopsy (clinically inapparent) \n Example - for elevated PSA\n(See Note 3B)\n\nStated as cT1c with no other information on clinical extension", "VALUE:T1c", "VALUE:T1c", "L", "L" ], [ "200", "Involvement in one lobe/side, NOS \n(Clinically apparent: do NOT use information from biopsy to determine extent of involvement)\n(See Note 3C)", "VALUE:T2NOS", "VALUE:T2NOS", "L", "L" ], [ "210", "Involves one half of one lobe/side or less \n(Clinically apparent: do NOT use information from biopsy to determine extent of involvement)\n(See Note 3C)\n\nStated as cT2a with no other information on clinical extension", "VALUE:T2a", "VALUE:T2a", "L", "L" ], [ "220", "Involves more than one half of one lobe/side, but not both lobes/sides\n(Clinically apparent: do NOT use information from biopsy to determine extent of involvement)\n(See Note 3C)\n\nStated as cT2b with no other information on clinical extension", "VALUE:T2b", "VALUE:T2b", "L", "L" ], [ "230", "Involves both lobes/sides \n(Clinically apparent: do NOT use information from biopsy to determine extent of involvement)\n(See Note 3C)\n\nStated as cT2c with no other information on clinical extension", "VALUE:T2c", "VALUE:T2c", "L", "L" ], [ "240", "Clinically apparent tumor confined to prostate, NOS\n\nStated as cT2 [NOS] with no other information on clinical extension", "VALUE:T2NOS", "VALUE:T2NOS", "L", "L" ], [ "300", "Localized, NOS\nConfined to prostate, NOS\nIntracapsular involvement only\nNot stated if T1 or T2, clinically apparent or inapparent", "VALUE:T2NOS", "VALUE:T2NOS", "L", "L" ], [ "310", "OBSOLETE DATA REVIEWED AND CHANGED V0102 \n\nInto prostatic apex/arising in prostatic apex, NOS \n(See Site-Specific Factor 4)", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "330", "OBSOLETE DATA REVIEWED AND CHANGED V0102 \n\nArising in prostatic apex \n(See Site-Specific Factor 4)", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "340", "OBSOLETE DATA REVIEWED AND CHANGED V0102 \n\nExtending into prostatic apex \n(See Site-Specific Factor 4)", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "410", "Extension to periprostatic tissue\nExtracapsular extension (beyond prostatic capsule), NOS\nThrough capsule, NOS", "VALUE:T3NOS", "VALUE:T3NOS", "RE", "RE" ], [ "420", "Unilateral extracapsular extension", "VALUE:T3a", "VALUE:T3a", "RE", "RE" ], [ "430", "Bilateral extracapsular extension", "VALUE:T3a", "VALUE:T3a", "RE", "RE" ], [ "440", "Microscopic bladder neck involvement", "VALUE:T3a", "VALUE:T4", "RE", "RE" ], [ "445", "Stated as T3a with no other information on extension", "VALUE:T3a", "VALUE:T3a", "RE", "RE" ], [ "450", "Extension to seminal vesicle(s) \n\nStated as T3b with no other information on extension", "VALUE:T3b", "VALUE:T3b", "RE", "RE" ], [ "470", "450 + 440\nExtension to seminal vesicle(s) plus microscopic bladder neck involvement", "VALUE:T3b", "VALUE:T4", "RE", "RE" ], [ "490", "Periprostatic extension, NOS\n(Unknown if seminal vesicle(s) involved)\n\nStated as T3 [NOS] with no other information on extension", "VALUE:T3NOS", "VALUE:T3NOS", "RE", "RE" ], [ "500", "Extension to or fixation to adjacent \nstructures other than seminal vesicles:\n Bladder neck, except microscopic bladder neck involvement (see code 440)\n Bladder, NOS\n Fixation, NOS\n Rectovesical (Denonvillier's) fascia\n Rectum; external sphincter", "VALUE:T4", "VALUE:T4", "RE", "RE" ], [ "510", "Extraprostatic urethra (membranous urethra)", "VALUE:T4", "VALUE:T4", "RE", "RE" ], [ "520", "Levator muscles\nSkeletal muscle, NOS\nUreter(s)", "VALUE:T4", "VALUE:T4", "D", "RE" ], [ "600", "Extension to or fixation to pelvic wall or pelvic bone\n\"Frozen pelvis\", NOS (see Note 6)", "VALUE:T4", "VALUE:T4", "D", "D" ], [ "700", "Further contiguous extension including:\n Bone\n Other organs\n Penis\n Sigmoid colon\n Soft tissue other than periprostatic", "VALUE:T4", "VALUE:T4", "D", "D" ], [ "750", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "RE", "RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "U", "U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "U", "U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbp.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbp.json deleted file mode 100644 index 17d694af1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbp.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bbp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: The parenchyma of the kidney includes the following structures: cortex (outer layer of kidney), renal columns; medulla, medullary rays, renal pyramids, and renal papillae; nephrons (renal corpuscle, loops of Henle, proximal and distal tubules, collecting duct); glomerulus and surrounding Bowman's capsule. The most common site for renal parenchymal cancer to develop is in the proximal convoluted tubule. Tumor extension from one of these structures into another is coded 100 in the absence of further involvement.\n\n**Note 2**: Gerota's fascia is a fibrous tissue sheath surrounding the kidney and suprarenal or adrenal gland. The perirenal fat, renal capsule, and renal parenchyma lie below the fascia.\n\n**Note 3**: Information about invasion beyond the capsule, venous involvement, and ipsilateral adrenal gland involvement is collected in this field for anatomic staging. This information is also collected in CS Site-Specific Factor 1, CS Site-Specific Factor 2, and CS Site-Specific Factor 3, as these factors may have an independent effect on prognosis.\n\n**Note 4**: AJCC considers \"in situ carcinoma of the renal parenchyma\" an impossible diagnosis. Any case so coded is mapped to TX for AJCC stage and in situ Summary Stage.\n\n**Note 5**: Use code 300 (Localized, NOS) only when no further information is available to assign code 100, 200, or 310-360.\n\n**Note 6**: The assignment of T1 and T2 categories for tumors limited to the kidney is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 310-360, 605-625 or 810 as appropriate to code CS Extension based on a statement of T when no other extension information is available. \n\n**Note 7**: Direct extension to or other involvement of structures considered M1 in AJCC staging is coded in the data item CS Mets at DX. This includes: contralateral kidney; contralateral ureter; liver from left kidney; spleen from right kidney.", - "footnotes" : "- For CS Extension codes 100-360 ONLY, the T category for AJCC 7 is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this site. \n- For CS Extension codes 100-360 ONLY, the T category for AJCC 6 is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 6 Table for this site.", - "last_modified" : "2015-05-27T16:19:08.055Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:TX", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive cancer confined to kidney cortex and/or medulla", "JUMP:extension_size_table_ajcc7_xek", "JUMP:extension_size_table_ajcc6_xal", "VALUE:L", "VALUE:L" ], [ "200", "Invasion of renal capsule\nRenal pelvis or calyces involved\nSeparate focus of tumor in renal pelvis/calyx", "JUMP:extension_size_table_ajcc7_xek", "JUMP:extension_size_table_ajcc6_xal", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_table_ajcc7_xek", "JUMP:extension_size_table_ajcc6_xal", "VALUE:L", "VALUE:L" ], [ "310", "Stated as T1a with no other information on extension", "JUMP:extension_size_table_ajcc7_xek", "JUMP:extension_size_table_ajcc6_xal", "VALUE:L", "VALUE:L" ], [ "320", "Stated as T1b with no other information on extension", "JUMP:extension_size_table_ajcc7_xek", "JUMP:extension_size_table_ajcc6_xal", "VALUE:L", "VALUE:L" ], [ "330", "Stated as T1 [NOS] with no other information on extension", "JUMP:extension_size_table_ajcc7_xek", "JUMP:extension_size_table_ajcc6_xal", "VALUE:L", "VALUE:L" ], [ "340", "Stated as T2a with no other information on extension", "JUMP:extension_size_table_ajcc7_xek", "JUMP:extension_size_table_ajcc6_xal", "VALUE:L", "VALUE:L" ], [ "350", "Stated as T2b with no other information on extension", "JUMP:extension_size_table_ajcc7_xek", "JUMP:extension_size_table_ajcc6_xal", "VALUE:L", "VALUE:L" ], [ "360", "Stated as T2 [NOS] with no other information on extension", "JUMP:extension_size_table_ajcc7_xek", "JUMP:extension_size_table_ajcc6_xal", "VALUE:L", "VALUE:L" ], [ "390", "OBSOLETE DATA CONVERTED V0200 \nSee code 625\n\nStated as T3, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "400", "OBSOLETE DATA RETAINED V0200\nAdrenal (suprarenal gland), ipsilateral reclassified in AJCC 7; see codes 450 and 630 \n\nAdrenal (suprarenal) gland, ipsilateral\nPerirenal (perinephric) tissue/fat\nRenal (Gerota's) fascia\nRenal sinus fat\nRetroperitoneal soft tissue ", "ERROR:", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "450", "OBSOLETE DATA REVIEWED V0203\nSee codes 460 and 660\n\nPerirenal (perinephric) tissue/fat\nRenal (Gerota's) fascia\nRenal sinus fat\nRetroperitoneal soft tissue", "VALUE:T3a", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "460", "Perirenal (perinephric) tissue/fat\nRenal (Gerota's) fascia\nRenal sinus fat", "VALUE:T3a", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\nBlood vessels reclassified in AJCC 7th Edition; see codes 601 and 610\n\nBlood vessels:\n Extrarenal portion of renal vein or segmental (muscle containing) branches\n Hilar blood vessel\n Inferior vena cava below diaphragm\n Perirenal vein\n Renal artery\n Renal vein, NOS\n Tumor thrombus in a renal vein, NOS", "ERROR:", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "601", "Blood vessels:\n Extrarenal portion of renal vein or segmental (muscle containing) branches\n Hilar blood vessel\n Perirenal vein\n Renal artery\n Renal vein, NOS\n Tumor thrombus in a renal vein, NOS", "VALUE:T3a", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "605", "Stated as T3a with no other information on extension", "VALUE:T3a", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "610", "Inferior vena cava (IVC) below diaphragm\n\nStated as T3b with no other information on extension", "VALUE:T3b", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "620", "IVC above diaphragm or invades wall of IVC\n\nStated as T3c with no other information on extension", "VALUE:T3c", "VALUE:T3c", "VALUE:RE", "VALUE:RE" ], [ "625", "IVC, NOS\n\nStated as T3 [NOS] with no other information on extension", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:RE", "VALUE:RE" ], [ "630", "Ipsilateral adrenal (suprarenal) gland \n(Noncontiguous ipsilateral adrenal gland involvement coded in CS Mets at DX)", "VALUE:T4", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "640", "630 + (601 and/or 610) \n\nIpsilateral adrenal gland plus blood vessels listed in code 601 and/or IVC below diaphragm", "VALUE:T4", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "645", "630 + 620\n\nIpsilateral adrenal gland plus IVC above diaphragm or wall of IVC ", "VALUE:T4", "VALUE:T3c", "VALUE:RE", "VALUE:RE" ], [ "650", "Extension beyond Gerota's fascia to:\n Ascending colon from right kidney\n Descending colon from left kidney\n Diaphragm\n Duodenum from right kidney\n Peritoneum\n Tail of pancreas\n Ureter, including implant(s), ipsilateral\nBeyond Gerota's fascia, NOS", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "660", "Retroperitoneal soft tissue", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "665", "660 + any of (460, 601, 610, 620, 625, 630, 640, 645, 650)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "670", "Extension beyond Gerota's fascia to:\n Psoas muscle\n Quadratus lumborum muscle", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "700", "Ribs", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "Liver from right kidney\nSpleen from left kidney\nStomach ", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 460, 601, 610-750, 801, CS Mets at DX codes 20, 55\n\nFurther contiguous extension:\n Aorta\n Other direct extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension:\n Aorta\n Other direct extension (except to structures specified in CS Mets at DX code 20)", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbq.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbq.json deleted file mode 100644 index 9f09df852..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbq.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bbq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: The cortex of a bone is the dense outer shell that provides strength to the bone; the spongy center of a bone is the cancellous portion. The periosteum of the bone is the fibrous membrane covering of a bone that contains the blood vessels and nerves; the periosteum is similar to the capsule on a visceral organ.\n\n**Note 2**: The assignment of T1and T2 categories for tumors of bone is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 310 and 350 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 3**: The term \"skip metastasis\" is not used with a consistent meaning in the literature. In some cases, it refers to discontinuous metastasis in the same bone as the primary tumor, while in other cases it refers to discontinuous metastasis in an adjacent bone, usually in the same limb. For AJCC staging, discontinuous metastasis in the same bone is classified as T3 (coded in CS Extension), and discontinuous metastasis in an adjacent bone is classified as M1b (coded in CS Mets at DX). If a primary bone tumor is stated as having \"skip metastasis\" or \"skip lesions\" with no other information regarding the bone involved, use code 820 in CS Extension.", - "footnotes" : "- For CS Extension codes 100-800 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-800 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:08.125Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Invasive tumor confined to cortex of bone", "JUMP:extension_size_xfu", "JUMP:extension_size_xfu", "VALUE:L", "VALUE:L" ], [ "200", "Extension beyond cortex to periosteum (No break in periosteum)", "JUMP:extension_size_xfu", "JUMP:extension_size_xfu", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xfu", "JUMP:extension_size_xfu", "VALUE:L", "VALUE:L" ], [ "310", "Stated as T1 with no other information on extension", "JUMP:extension_size_xfu", "JUMP:extension_size_xfu", "VALUE:L", "VALUE:L" ], [ "350", "Stated as T2 with no other information on extension", "JUMP:extension_size_xfu", "JUMP:extension_size_xfu", "VALUE:L", "VALUE:L" ], [ "400", "Extension beyond periosteum to surrounding tissues, including adjacent skeletal muscle(s)", "JUMP:extension_size_xfu", "JUMP:extension_size_xfu", "VALUE:RE", "VALUE:RE" ], [ "600", "Adjacent bone/cartilage", "JUMP:extension_size_xfu", "JUMP:extension_size_xfu", "VALUE:RE", "VALUE:RE" ], [ "700", "Skin", "JUMP:extension_size_xfu", "JUMP:extension_size_xfu", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "JUMP:extension_size_xfu", "JUMP:extension_size_xfu", "VALUE:D", "VALUE:D" ], [ "820", "Discontinuous tumors in the primary bone site", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "850", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbr.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbr.json deleted file mode 100644 index c616712a2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbr.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bbr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: For AJCC TNM staging, peritoneal sarcomas are classified as deep tumors.\n\n**Note 2**: The assignment of T1 and T2 categories for soft tissue sarcomas is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 350 and 375 as appropriate to code CS Extension based on a statement of T when no other extension information is available.", - "footnotes" : "- For CS Extension codes 100-800 ONLY, the T category for AJCC 7 staging is assigned based on value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-800 ONLY, the T category for AJCC 6 staging is assigned based on value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:08.178Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Tumor confined to site of origin", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:L", "VALUE:L" ], [ "350", "Stated as T1b or T1 [NOS] with no other information on extension", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:L", "VALUE:L" ], [ "375", "Stated as T2b or T2 [NOS] with no other information on extension", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue \n(See definition of adjacent connective tissue in General Rules)", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:RE", "VALUE:RE" ], [ "600", "Adjacent organs/structures: \n Bone/cartilage \n Colon (except ascending and descending colon)\n Esophagus\n Gallbladder\n Liver\n Small intestine\n Spleen\n Stomach", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension, including: \n Extension to ascending or descending colon", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbs.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbs.json deleted file mode 100644 index 585e9d2e8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbs.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bbs", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Over 90% of penile cancers are squamous cell carcinomas arising in the skin. Other cancers arising in the skin include adenocarcinomas (5%) arising in sweat glands, melanomas (2%, included in the Melanoma schema), and basal cell carcinoma (2%). About 1% of penile cancers are sarcomas, arising in subcutaneous connective tissues.\n\n**Note 2**: Verrucous carcinoma (M-8051) is a locally aggressive, exophytic, low grade carcinoma with minimal metastatic potential. \n\n**Note 3**: If verrucous carcinoma is described as noninvasive or as having a broad pushing border or penetration, assign code 050. If verrucous carcinoma is not so characterized, assign code 070, Verrucous carcinoma, NOS. If there is destructive invasion of verrucous carcinoma into structures in code 100 or greater, assign the appropriate higher code.\n\n**Note 4**: Information about involvement of the corpus spongiosum or corpus cavernosum is collected in this field for anatomic staging. This information is also collected in CS Site-Specific Factor 10 because involvement of these structures may have an independent effect on prognosis.", - "footnotes" : "- For CS Extension codes 100-320 ONLY, the T category is assigned based on Grade and Lymph-vascular Invasion, as shown in the Extension Grade LVI Table for this schema.", - "last_modified" : "2015-05-27T16:19:08.248Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, noninvasive\nBowen disease\nErythroplasia of Queyrat", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "050", "Noninvasive verrucous carcinoma \n(See Note 3)", "VALUE:Ta", "VALUE:Ta", "VALUE:IS", "VALUE:IS" ], [ "070", "Verrucous carcinoma, NOS \n(See Note 1)", "VALUE:Ta", "VALUE:Ta", "VALUE:L", "VALUE:L" ], [ "100", "Invasive tumor limited to subepithelial connective tissue, but not involving corpus spongiosum or cavernosum \n\nIf primary is skin: invasive tumor limited to skin of penis, prepuce (foreskin) and/or glans\n\nStated as T1 [NOS] with no other information on extension", "JUMP:extension_grade_lvi_xdm", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_grade_lvi_xdm", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "305", "Satellite nodules on prepuce or glans", "JUMP:extension_grade_lvi_xdm", "VALUE:T1", "VALUE:RE", "VALUE:RE" ], [ "310", "Stated as T1a with no other information on extension", "JUMP:extension_grade_lvi_xdm", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "320", "Stated as T1b with no other information on extension", "JUMP:extension_grade_lvi_xdm", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "350", "For body of penis ONLY:\n Corpus cavernosum\n Corpus spongiosum\n Tunica albuginea of corpus spongiosum", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "360", "350 + 305\n\nTumors in body of penis plus satellite nodules on prepuce or glans", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "400", "Corpus cavernosum except for tumor in body of penis\nCorpus spongiosum except for tumor in body of penis\nTunica albuginea of corpus spongiosum except for tumor in body of penis", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "460", "400 + 305", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "500", "OBSOLETE DATA CONVERTED V0203\nSee code 305\n\nSatellite nodule(s) on prepuce or glans", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "550", "OBSOLETE DATA REVIEWED V0203\nSee code 360 and 460\n\n500 + (350 or 400)", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "560", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "600", "OBSOLETE DATA RETAINED V0200\nProstate reclassified as T4 in AJCC 7th Edition, see codes 620 and 650\n\nProstate\nUrethra", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "620", "Urethra\n\nStated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "650", "Prostate", "VALUE:T4", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "700", "Adjacent structures:\nMuscle, NOS:\n Bulbospongiosus\n Ischiocavernosus\n Superficial transverse perineal\nSkin:\n Abdominal\n Perineum\n Pubic\n Scrotal", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension\n Testis", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown extension\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbt.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbt.json deleted file mode 100644 index dd054dec9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbt.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bbt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: For AJCC TNM staging, sarcomas of the heart and mediastinum are classified as deep tumors.\n\n**Note 2**: The assignment of T1 and T2 categories for soft tissue sarcomas is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 350 and 375 as appropriate to code CS Extension based on a statement of T when no other extension information is available.", - "footnotes" : "- For CS Extension codes 100-800 ONLY, the T category for AJCC 7 staging is assigned based on value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-800 ONLY, the T category for AJCC 6 staging is assigned based on value of CS Tumor Size as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:08.319Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Invasive tumor confined to site of origin", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:L", "VALUE:L" ], [ "350", "Stated as T1b or T1 [NOS] with no other information on extension", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:L", "VALUE:L" ], [ "375", "Stated as T2b or T2 [NOS] with no other information on extension", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue:\n For heart: \n Visceral pericardium (epicardium)\n(See definition of adjacent connective tissue in General Rules)", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:RE", "VALUE:RE" ], [ "600", "Adjacent organs/structures:\n For hHeart: \n Ascending aorta\n Parietal pericardium\n Vena cava\n For mediastinum: \n Descending aorta\n Esophagus\n Large (named) artery(ies)\n Large (named) vein(s)\n Pericardium, NOS\n Parietal\n Visceral (epicardium)\n Phrenic nerve(s)\n Pleura, NOS\n Parietal pleura\n Visceral pleura of lung\n Sternum\n Sympathetic nerve trunk(s)\n Thoracic duct\n Thymus\n Trachea, parietal pleura\n Vertebra(e)", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbu.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbu.json deleted file mode 100644 index 56d5d0f9f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbu.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bbu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Islets of Langerhans are distributed throughout the pancreas; an islet tumor is coded to the subsite of the pancreas in which the tumor arises if the information is available.\n\n**Note 2**: Codes 400-780 are used for contiguous extension of tumor from the site of origin. Discontinuous involvement is coded in CS Mets at DX.\n\n**Note 3**: The assignment of T1 and T2 categories for tumors of the pancreas is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 150 and 200 as appropriate to code CS Extension based on a statement of T when no other extension information is available.", - "footnotes" : "- For CS Extension codes 100, 150, 200, and 300 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100, 150, 200, and 300 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:08.389Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intrapethelial, noninvasive \nPancreatic intraepithelial neoplasia III (PanInIII) ", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Confined to pancreas", "JUMP:extension_size_xpe", "JUMP:extension_size_xpe", "VALUE:L", "VALUE:L" ], [ "150", "Stated as T1 with no other information on extension", "JUMP:extension_size_xpe", "JUMP:extension_size_xpe", "VALUE:L", "VALUE:L" ], [ "200", "Stated as T2 with no other information on extension", "JUMP:extension_size_xpe", "JUMP:extension_size_xpe", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xpe", "JUMP:extension_size_xpe", "VALUE:L", "VALUE:L" ], [ "400", "Peripancreatic tissue", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 510\n\nStated as T3, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "450", "Ampulla of Vater\nDuodenum\nExtra hepatic bile duct(s)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "500", "Adjacent large vessel(s) (except as listed in code 600)\nColon\nSpleen\nStomach", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "510", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "600", "Tumor is inseparable from the celiac axis or superior mesenteric artery\nAorta\nCeliac artery\nSuperior mesenteric artery", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "790", "OBSOLETE DATA CONVERTED V0203\nSee code 810\n\nStated as T4, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbv.json deleted file mode 100644 index 0708e72a8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbv.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bbv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Tumors of the head of the pancreas arise to the right of the superior mesenteric-portal vein confluence.\n\n**Note 2**: Islets of Langerhans are distributed throughout the pancreas; an islet tumor is coded to the subsite of the pancreas in which the tumor arises if the information is available.\n\n**Note 3**: The assignment of T1 and T2 categories for tumors of the pancreas is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 150 and 200 as appropriate to code CS Extension based on a statement of T when no other extension information is available.", - "footnotes" : "- For CS Extension codes 100, 150, 200, and 300 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema. \n- For CS Extension codes 100, 150, 200, and 300 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:08.443Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive \nPancreatic Intraepithelial Neoplasia III (PanInIII) ", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Confined to pancreas", "JUMP:extension_size_xpe", "JUMP:extension_size_xpe", "VALUE:L", "VALUE:L" ], [ "150", "Stated as T1 with no other information on extension", "JUMP:extension_size_xpe", "JUMP:extension_size_xpe", "VALUE:L", "VALUE:L" ], [ "200", "Stated as T2 with no other information on extension", "JUMP:extension_size_xpe", "JUMP:extension_size_xpe", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xpe", "JUMP:extension_size_xpe", "VALUE:L", "VALUE:L" ], [ "400", "Extension to peripancreatic tissue, NOS\nFixation to adjacent structures, NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 595\n\nStated as T3, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "440", "Ampulla of Vater\nDuodenum\nExtrahepatic bile duct(s)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "500", "Adjacent stomach\nStomach, NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "540", "Blood vessel(s) (major):\n Gastroduodenal artery\n Hepatic artery\n Pancreaticoduodenal artery\n Portal vein\n Superior mesenteric vein\nTransverse colon, including hepatic flexure", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "550", "Mesenteric fat\nMesentery\nMesocolon\nPeritoneum", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:D" ], [ "570", "Gallbladder", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:D" ], [ "575", "Omentum", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:D" ], [ "580", "Body of stomach", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:RE" ], [ "590", "580 + (550 and/or 570)\n\nBody of stomach plus any structures in 550 and/or 570", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "593", "580 + 575\n\nBody of stomach plus omentum", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:D" ], [ "595", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "600", "Tumor is inseparable from the superior mesenteric artery\nSuperior mesenteric artery", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "610", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 575, 593, 640\n\nOmentum", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "630", "Liver (including porta hepatis)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "640", "600 + 575\n\nSuperior mesenteric artery plus omentum", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "650", "600 + (550 and/or 570)\n\nSuperior mesenteric artery plus any structure in code 550 and/or 570", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "660", "600 + 580\n\nSuperior mesenteric artery plus body of stomach", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "670", "(550, 570, 610, and/or 630) + 600 + 580 \n\nAny structure in codes 550, 570, 610, and/or 630 plus superior mesenteric artery plus body of stomach\n\nOR\n\n(550, 570, 610, and/or 630) + 580\n\nAny structure in codes 550, 570, 670, and/or 630 plus body of stomach", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "680", "Tumor is inseparable from the celiac axis\nAorta \nCeliac artery", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "690", "Colon (other than transverse colon including hepatic flexure)\nSpleen", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "780", "Adrenal (suprarenal) gland\nIleum\nJejunum\nKidney\nRetroperitoneum\nUreter", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "790", "OBSOLETE DATA CONVERTED V0203\nSee code 810\n\nStated as T4, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbx.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbx.json deleted file mode 100644 index 4e3efb47b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbx.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bbx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: This AJCC staging system applies only to pleural mesotheliomas. Peritoneal and pericardial mesotheliomas are not TNM staged.\n\n**Note 2**: Pleural effusion does not affect the coding of the CS Extension field, but is coded in CS Site-Specific Factor 1.", - "footnotes" : "- For CS Extension codes 120-999, the assignment of Summary Stage 1977 and Summary Stage 2000 depends on the value of CS Site-Specific Factor 1, Pleural Effusion, as shown in the Extension Pleural Effusion Table for this schema.", - "last_modified" : "2015-05-27T16:19:08.514Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "OBSOLETE DATA CONVERTED V0200\nSee code 160\n\nInvasive tumor (mesothelioma) confined to pleura, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "120", "Ipsilateral parietal pleura, including mediastinal or diaphragmatic pleura, \nWITHOUT involvement of visceral pleura\n\nStated as T1a with no other information on extension", "VALUE:T1a", "VALUE:T1a", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "140", "Ipsilateral parietal pleura, including mediastinal or diaphragmatic pleura,\nWITH focal involvement of visceral pleura\n\nStated as T1b with no other information on extension", "VALUE:T1b", "VALUE:T1b", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "160", "Invasive tumor (mesothelioma) confined to pleura, NOS \nIpsilateral parietal pleura, including mediastinal or diaphragmatic pleura, involvement of visceral pleura not stated", "VALUE:T1NOS", "VALUE:T1NOS", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "170", "Stated as T1 [NOS] with no other information on extension", "VALUE:T1NOS", "VALUE:T1NOS", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "200", "Ipsilateral pleura WITH nodule(s) beneath visceral pleural surface\nIpsilateral pleural surface with confluent visceral pleural tumor (including fissure)", "VALUE:T2", "VALUE:T2", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "300", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 170, 305\n\nLocalized, NOS \nStated as T1, NOS with no other information on extension", "VALUE:T1NOS", "VALUE:T1NOS", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "305", "Localized, NOS", "VALUE:T1NOS", "VALUE:T1NOS", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "420", "Diaphragm (diaphragmatic muscle)", "VALUE:T2", "VALUE:T2", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "500", "Mesothelioma nodule(s) which have broken through the visceral pleural surface to the lung surface\nLung parenchyma, or lung involvement, NOS", "VALUE:T2", "VALUE:T2", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "510", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "520", "Adjacent connective tissue:\n Pericardium, non-transmural or NOS\n Endothoracic fascia", "VALUE:T3", "VALUE:T3", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "610", "Chest wall, solitary focus of tumor ONLY\nMediastinal tissues, mediastinal fat", "VALUE:T3", "VALUE:T3", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "620", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "630", "Diffuse or multifocal invasion of soft tissues of chest wall\nHeart muscle, myocardium\nMediastinal organs\nRib", "VALUE:T4", "VALUE:T4", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "650", "Extension to internal surface of pericardium", "VALUE:T4", "VALUE:T4", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "690", "Pericardial effusion with positive cytology", "VALUE:T4", "VALUE:T4", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "780", "Contralateral pleura\n(For contralateral lung, see CS Mets at DX)", "VALUE:T4", "VALUE:T4", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "800", "Further contiguous extension:\n Brachial plexus\n Cervical tissues\n Intra-abdominal organs\n Peritoneum\n Spine", "VALUE:T4", "VALUE:T4", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "850", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "JUMP:pleural_effusion_extension_xbz", "JUMP:pleural_effusion_extension_xbz" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bby.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bby.json deleted file mode 100644 index 523c1245b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bby.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bby", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC considers all anaplastic carcinomas to be T4.\n\n**Note 2**: AJCC considers \"in situ carcinoma of thyroid gland\" an impossible diagnosis. Any case so coded is mapped to TX for AJCC stage and in situ Summary Stage.\n\n**Note 3**: The assignment of T1 and T2 categories for carcinoma of the thyroid is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use codes 405, 410, 415, 420, 490, 560, 810, and 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign codes 100, 200, 400, 405, 410, 415, 420, or 490.\n\n**Note 5**: Extension codes 405, 410, 415, 420, and 490 are not compatible with anaplastic carcinomas of the thyroid.", - "footnotes" : "- For CS Extension codes 000, 100-550, 950, and 999 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size and/or CS Extension and CS Site-Specific Factor 1 as shown in the Extension Size SSF 1 AJCC 7 Table for all histologies except 8020, 8021, 8030, 8031, and 8032, or any other histology with grade equal to 4. For these histologies or grade 4, the T category for AJCC 7 staging is assigned based on the value of CS Extension and CS Site-Specific Factor 1 as shown in the Histology Grade Extension SSF 1 AJCC 7 Table. \n- For CS Extension codes 560-700 and 730-815 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Extension and CS Site-Specific Factor 1 as shown in the Extension T4 SSF 1 AJCC 7 Table. \n- For CS Extension codes 000, 100-550, 950, and 999 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size and/or CS Extension as shown in the Extension Size AJCC 6 Table for all histologies except 8020, 8021, 8030, 8031, and 8032, or any other histology with grade equal to 4. For these histologies or grade 4, the T category for AJCC 6 staging is assigned based on the value of CS Extension as shown in the Histology Grade Extension AJCC 6 Table. \n- For CS Extension code 560 ONLY, the value for SS1977 and SS2000 is assigned based on the value of histology and grade as shown in the Histology Grade Extension Summary Stage Table.", - "last_modified" : "2015-05-27T16:19:08.570Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:IS", "VALUE:IS" ], [ "100", "Single invasive tumor confined to thyroid", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:L", "VALUE:L" ], [ "200", "Multiple foci confined to thyroid", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:L", "VALUE:L" ], [ "400", "Into thyroid capsule, but not beyond", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:L", "VALUE:L" ], [ "405", "Stated as T1a with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T1b with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:L", "VALUE:L" ], [ "415", "Stated as T1 [NOS] with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:L", "VALUE:L" ], [ "420", "Stated as T2 with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:L", "VALUE:L" ], [ "450", "Minimal extrathyroid extension including:\n Strap muscle(s):\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:RE", "VALUE:RE" ], [ "480", "Pericapsular soft tissue/connective tissue", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:RE", "VALUE:RE" ], [ "490", "Stated as T3 with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:L", "VALUE:L" ], [ "500", "Parathyroid\nNerves:\n Recurrent laryngeal\n Vagus", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:RE", "VALUE:RE" ], [ "520", "Cricoid cartilage\nEsophagus\nLarynx\nSternocleidomastoid muscle", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:RE", "VALUE:RE" ], [ "550", "Trachea", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:D", "VALUE:D" ], [ "560", "Stated as T4a with no other information on extension", "JUMP:extension_t4_ssf1_ajcc7_xgw", "VALUE:T4a", "JUMP:histology_grade_extension_summary_stage_xgx", "JUMP:histology_grade_extension_summary_stage_xgx" ], [ "600", "Thyroid cartilage\nTumor described as \"FIXED to adjacent tissues\"", "JUMP:extension_t4_ssf1_ajcc7_xgw", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "620", "Blood vessel(s) (major):\n Carotid artery (encased)\n Jugular vein\n Thyroid artery or vein", "JUMP:extension_t4_ssf1_ajcc7_xgw", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "650", "(600 or 620) + 550 \n\nAny structures in code 600 or 620 plus trachea", "JUMP:extension_t4_ssf1_ajcc7_xgw", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "700", "Bone\nSkeletal muscle, other than strap or sternocleidomastoid muscle", "JUMP:extension_t4_ssf1_ajcc7_xgw", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "720", "OBSOLETE DATA CONVERTED V0200 \nSee code 550 \n\nTrachea", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "730", "700 + 550\n\nAny structures in code 700 plus trachea", "JUMP:extension_t4_ssf1_ajcc7_xgw", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension including:\n Mediastinal tissues\n Prevertebral fascia", "JUMP:extension_t4_ssf1_ajcc7_xgw", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "JUMP:extension_t4_ssf1_ajcc7_xgw", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "JUMP:extension_t4_ssf1_ajcc7_xgw", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "JUMP:determine_correct_table_for_ajcc7_t_ns32", "JUMP:determine_correct_table_for_ajcc6_t_ns33", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbz.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbz.json deleted file mode 100644 index ced3949f4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bbz.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bbz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: For AJCC TNM staging, Superficial lesions are located entirely in the subcutaneous tissues without any degree of extension through the muscular fascia or into underlying muscle. \n\n**Note 2**: For AJCC TNM staging, Deep lesions are located partly or completely within one or more muscle groups within the extremity. Deep tumors may extend through the muscular fascia into the subcutaneous tissues or even to the skin but the critical criterion is location of any portion of the tumor within the muscular components of the extremity. \n\n**Note 3**: For tumors of the extremities and trunk ONLY, superficial lesions are defined as those not involving the superficial muscular fascia. Deep lesions are those that involve or are beneath the superficial fascia.\n\n**Note 4**: According to AJCC, \"All intraperitoneal visceral lesions, retroperitoneal lesions, and intrathoracic lesions, and the majority of head and neck tumors are considered deep.\" For coding extension of soft tissue tumors in these sites (C47.0, C47.3-5, C49.0, C49.3-5), use only codes 120, 312, 315, 320, 420, 620, 800, 950, or 990.\n\n**Note 5**: Adjacent connective tissue is defined as the unnamed tissues that immediately surround an organ or structure containing a primary cancer. Use code 400 when a tumor has invaded past the outer border (capsule, serosa, or other edge) of the primary organ into the organ's surrounding supportive structures but has not invaded into larger structures or adjacent organs. Blood, cartilage, and bone are sometimes considered connective tissues, but they are coded separately.\n\n**Note 6**: If a vessel has a name, for example brachial artery or recurrent laryngeal nerve, consider it a structure (code 600).\n\n**Note 7**: The assignment of T1 and T2 categories for soft tissue sarcomas is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 302, 305, 312, 315, 322, and 325 as appropriate to code CS Extension based on a statement of T when no other extension information is available.", - "footnotes" : "- For CS Extension codes 100-800, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-800 the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:08.628Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Invasive tumor confined to site/tissue of origin, NOS", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:L", "VALUE:L" ], [ "110", "Superficial invasive tumor confined to site/tissue of origin \n(Lesion does not involve superficial fascia)", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:L", "VALUE:L" ], [ "120", "Deep tumor confined to site/tissue of origin", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:L", "VALUE:L" ], [ "302", "Stated as T1a with no other information on extension", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:L", "VALUE:L" ], [ "305", "Stated as T2a with no other information on extension", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:L", "VALUE:L" ], [ "310", "Superficial: Localized tumor, NOS", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:L", "VALUE:L" ], [ "312", "Stated as T1b with no other information on extension", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:L", "VALUE:L" ], [ "315", "Stated as T2b with no other information on extension", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:L", "VALUE:L" ], [ "320", "Deep: Localized tumor, NOS", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:L", "VALUE:L" ], [ "322", "Stated as T1 [NOS] with no other information on extension", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:L", "VALUE:L" ], [ "325", "Stated as T2 [NOS] with no other information on extension", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue (see Note 5)", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:RE", "VALUE:RE" ], [ "410", "Superficial tumor involving adjacent connective tissue", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:RE", "VALUE:RE" ], [ "420", "Deep tumor involving adjacent connective tissue", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:RE", "VALUE:RE" ], [ "600", "Adjacent organs/structures including bone/cartilage\n(Including major vessel invasion) ", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:RE", "VALUE:RE" ], [ "610", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nTumors in adjacent organs/structures are deep; see Notes 1-6. Recode involvement of superficial tumors to codes 110, 310, 410. Recode involvement of deep tumors to 620.\n\nSuperficial tumor involving adjacent organs/structures including bone/cartilage (Including major vessel invasion) (see Note 5)", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:RE", "VALUE:RE" ], [ "620", "Deep tumor involving adjacent organs/structures including bone/cartilage\n(Including major vessel invasion) (see Note 5)", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension", "JUMP:extension_size_xfn", "JUMP:extension_size_xfn", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bca.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bca.json deleted file mode 100644 index 56534f5d4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bca.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bca", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC 7th Edition T1 and T2 categories are based on size and high risk features and not depth of invasion or extension. AJCC 7th Edition includes a T3 category for head and neck skin primaries only.\n\n**Note 2**: In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 3**: Skin ulceration does not alter the AJCC T category. \n\n**Note 4**: The assignment of the T1 category for cutaneous squamous cell carcinomas with one or no high-risk features is based on tumor size. A physician's statement of the T1 category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use codes 510, 520, 600, and 810 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 5**: Use code 400 (Localized, NOS) when no further information is available to assign code 100, 500, 510, or 520.", - "footnotes" : "- For CS Extension codes 100, 400, 500, 510, and 550 ONLY, the T category for AJCC 7 staging is assigned based on the values of CS Tumor Size and CS Site-Specific Factor 12, High Risk Features, as shown in the Extension Size High Risk Table for this schema.\n- For CS Extension codes 100, 400, 500 and 510 ONLY, the T category for AJCC 6th Edition is assigned based on value of CS Tumor Size as shown in the Extension Size AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:08.687Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, noninvasive \nBowen disease", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Lesion(s) confined to dermis", "JUMP:extension_size_high_risk_xfy", "JUMP:extension_size_ajcc6_xfw", "VALUE:L", "VALUE:L" ], [ "400", "Localized, NOS", "JUMP:extension_size_high_risk_xfy", "JUMP:extension_size_ajcc6_xfw", "VALUE:L", "VALUE:L" ], [ "500", "Subcutaneous tissue (through entire dermis)", "JUMP:extension_size_high_risk_xfy", "JUMP:extension_size_ajcc6_xfw", "VALUE:L", "VALUE:L" ], [ "510", "Stated as T1 with no other information on extension", "JUMP:extension_size_high_risk_xfy", "JUMP:extension_size_ajcc6_xfw", "VALUE:L", "VALUE:L" ], [ "520", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "550", "Underlying cartilage and/or skeletal muscle", "JUMP:extension_size_high_risk_xfy", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "600", "For skin of head and neck primaries only:\n Maxilla\n Mandible\n Orbital bone\n Temporal bone\n\nStated as T3 with no other information on extension", "VALUE:T3", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "700", "OBSOLETE DATA RETAINED V0200\nInvasion of cartilage, bone, skeletal muscle reclassified in AJCC 7th Edition\nSee codes 550, 600, 710, and 750\n\nUnderlying cartilage, bone, skeletal muscle", "ERROR:", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "710", "For skin of head and neck primaries only:\n Direct or perineural invasion of skull base", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "750", "Bone (other than in code 600 or 710):\n Axial or appendicular skeleton", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcb.json deleted file mode 100644 index b86fbafd1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcb.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bcb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: The two main types of bladder cancer are the flat (sessile) variety and the papillary type. The flat (sessile) variety is called in situ when tumor has not penetrated the basement membrane. Papillary tumor that has not penetrated the basement membrane is called noninvasive.\n\n* A. Definite statements of noninvasion for papillary transitional cell carcinomas (code 010) include: \n Noninfiltrating\n Noninvasive\n No evidence of invasion\n No extension into lamina propria\n No stromal invasion\n No extension into underlying supporting tissue\n Negative lamina propria and superficial muscle\n Negative muscle and (subepithelial) connective tissue\n No infiltrative behavior/component\n* B. Inferred descriptions of noninvasion for papillary transitional cell carcinomas (code 030) include: \n No involvement of muscularis propria and no mention of subepithelium/submucosa\n No statement of invasion (microscopic description present)\n (Underlying) Tissue insufficient to judge depth of invasion\n No invasion of bladder wall\n No involvement of muscularis propria\n Benign deeper tissue\n Microscopic description problematic (noninvasion versus superficial invasion)\n Frond surfaced by transitional cell\n No mural infiltration\n No evidence of invasion (no sampled stroma)\n Confined to mucosa (see also Note 3 if tumor is not described as papillary)\n\n**Note 3**: Noninvasive (in situ) flat transitional cell carcinoma: Careful attention must be given to the use of the term \"confined to mucosa\" for flat bladder carcinomas. Historically, carcinomas described as \"confined to mucosa\" were coded as localized. However, pathologists use this designation for noninvasion as well. Pathologists also vary in their use of the terms \"invasion of mucosa, grade 1\" and \"invasion of mucosa, grade 2\" to distinguish between noninvasive and invasive carcinomas. In order to accurately code tumors described as \"confined to mucosa\", abstractors should determine:\n \n* If the tumor is confined to the epithelium: then it is noninvasive (code 060). \n* If the tumor has penetrated the basement membrane to invade the lamina propria: then it is invasive (code 155). The lamina propria and submucosa tend to merge when there is no muscularis mucosa, so these terms may be used interchangeably, along with stroma and subepithelial connective tissue. \n* If the distinction between involvement of the epithelium and lamina propria cannot be made, then the tumor should be coded as \"confined to mucosa, NOS\" (code 100).\n Statements meaning confined to mucosa, NOS for flat transitional cell carcinomas include:\n * Confined to mucosal surface\n * Limited to mucosa, no invasion of submucosa and muscularis\n * No infiltration/invasion of fibromuscular and muscular stroma\n * Superficial, NOS\n\n**Note 4**: In case of multifocal noninvasive Ta and Tis tumors, use code 060 or 100 in preference to 010 or 030.\n\n**Note 5**: Use code 230 if the only description of extension is through full thickness of bladder wall, and there is no clear statement as to whether or not the cancer has extended into fat. If there is documentation that tumor has breached the wall, including invasion into fat or beyond, use code 411 or higher.\n\n**Note 6**: An associated in situ component of tumor extending into the prostatic ducts, prostatic glands, or ureter without invasion is disregarded in staging classification. Use the code that best describes depth of bladder wall invasion. \n\n**Note 7**: Direct invasion of the distal ureter is classified by the depth of greatest invasion in the bladder or ureter for AJCC staging. Use codes 165, 215, 235, and 245 for extension from bladder directly into distal ureter. The distal ureter is defined as below the iliac vessel, within the pelvic brim. \n\n**Note 8**: Extension from bladder into subepithelial tissue of prostatic urethra should be coded 160 and not code 600.\n\n**Note 9**: If CS Extension code is 010-060, Behavior ICD-O-3 must be coded as 2. If CS Extension code is 100, Behavior ICD-O-3 may be coded as 2 or 3. If CS Extension code is 155 or greater, Behavior ICD-O-3 must be coded as 3.", - "last_modified" : "2015-05-27T16:19:08.746Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "Papillary:\n Papillary transitional cell carcinoma, stated to be noninvasive\n Papillary non-infiltrating\n(See Note 2A)\n\nStated as Ta with no other information on extension\n(See Notes 1 and 2)", "VALUE:Ta", "VALUE:Ta", "VALUE:IS", "VALUE:IS" ], [ "030", "Papillary:\n Papillary transitional cell carcinoma, with inferred description of noninvasion\n(See Note 2B)", "VALUE:Ta", "VALUE:Ta", "VALUE:IS", "VALUE:IS" ], [ "060", "Nonpapillary:\n Sessile (flat) (solid) carcinoma in situ\n Carcinoma in situ, NOS\n Transitional cell carcinoma in situ\n\nStated as Tis with no other information on extension", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Confined to mucosa, NOS\n(See Note 3)", "VALUE:Tis", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "150", "OBSOLETE DATA RETAINED V0200\nSee codes 155 and 170\n\nInvasive tumor confined to subepithelial connective tissue (tunica propria, lamina propria, submucosa, stroma)\nTNM/AJCC T1\nJewett-Strong-Marshall Stage A", "ERROR:", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "155", "Subepithelial connective tissue (tunica propria, lamina propria, submucosa, stroma) of bladder only", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "160", "Subepithelial connective tissue of prostatic urethra", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "165", "Extension to distal ureter:\n Subepithelial connective tissue of bladder and/or distal ureter\n(See Note 7)", "VALUE:T1", "VALUE:T1", "VALUE:RE", "VALUE:RE" ], [ "170", "Stated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA CONVERTED V0200\nSee code 240\n\nMuscle (muscularis propria) invaded, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "210", "Muscle (muscularis propria) of bladder only:\n Superficial muscle - inner half\n\nStated as T2a with no other information on extension", "VALUE:T2a", "VALUE:T2a", "VALUE:L", "VALUE:L" ], [ "215", "Extension to distal ureter:\n Superficial muscle of bladder and/or distal ureter\n(See Note 7)", "VALUE:T2a", "VALUE:T2a", "VALUE:RE", "VALUE:RE" ], [ "220", "Muscle (muscularis propria) of bladder only:\n Deep muscle--outer half\n\nStated as T2b with no other information on extension", "VALUE:T2b", "VALUE:T2b", "VALUE:L", "VALUE:L" ], [ "230", "Extension through full thickness of bladder wall \nBUT still contained within bladder wall (see Note 5)", "VALUE:T2b", "VALUE:T2b", "VALUE:L", "VALUE:L" ], [ "235", "Extension to distal ureter:\n Deep muscle or extension through wall of bladder and/or distal ureter\n(See Note 7)", "VALUE:T2b", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "240", "Muscle (muscularis propria) invaded, NOS of bladder only\n\nStated as T2 [NOS] with no other information on extension", "VALUE:T2NOS", "VALUE:T2NOS", "VALUE:L", "VALUE:L" ], [ "245", "Extension to distal ureter:\n Muscle (muscularis propria) invaded, NOS of bladder and/or distal ureter\n(See Note 7)", "VALUE:T2NOS", "VALUE:T2NOS", "VALUE:RE", "VALUE:RE" ], [ "300", "Localized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA CONVERTED V0200\nSee code 430\n\nAdventitia\nExtension to/through serosa (mesothelium)\nPeritoneum\nPeriureteral fat/tissue\nPerivesical fat/tissue, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "410", "OBSOLETE DATA CONVERTED V0203\nSee code 411\n\nExtension to perivesical fat/tissues (microscopic)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "411", "Extension to perivesical fat/tissues (microscopic) including:\n Adventitia\n Serosa (mesothelium)\n Peritoneum\n Periprostatic tissue\n Distal periureteral tissue\n\nStated as T3a with no other information on extension", "VALUE:T3a", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "415", "OBSOLETE DATA CONVERTED V0203\nSee code 411\n\nStated as T3a with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 421\n\nExtension to perivesical fat/tissues (macroscopic)\nExtravesical mass\nStated as T3b with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "421", "Extension to perivesical fat/tissues (macroscopic) including:\n Adventitia\n Serosa (mesothelium)\n Peritoneum\n Periprostatic tissue\n Distal periureteral tissue\nExtravesical mass\n\nStated as T3b with no other information on extension", "VALUE:T3b", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "430", "OBSOLETE DATA REVIEWED V0203\nSee codes 411, 421, 431\n\nAdventitia\nExtension to/through serosa (mesothelium)\nPeritoneum\nPeriureteral fat/tissue (see Note 10)\nPerivesical fat/tissue, NOS\nStated as T3 [NOS] with no other information on extension", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:RE", "VALUE:RE" ], [ "431", "Extension to perivesical fat/tissues, NOS (unknown if microscopic or macroscopic), including:\n Adventitia\n Serosa (mesothelium)\n Peritoneum\n Periprostatic tissue\n Distal periureteral tissue\n\nStated as T3 [NOS] with no other information on extension", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:RE", "VALUE:RE" ], [ "450", "OBSOLETE DATA CONVERTED V0200 \nSee code 810 \n\nStated as T4 [NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "600", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 165, 215, 235, 245, and 630\n\nProstatic stroma\nProstate, NOS\nUreter\nUrethra, including prostatic urethra (excluding subepithelial connective tissue, see code 160)", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "630", "Prostatic stroma\nProstate, NOS\nUreter (excluding distal ureter)\nUrethra, including prostatic urethra (excluding subepithelial connective tissue, see code 160)", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "650", "Parametrium\nRectovesical/Denonvilliers' fascia\nSeminal vesicle\nVas deferens", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "670", "Uterus\nVagina", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "673", "Rectum, male", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "677", "Large intestine including rectum, female (excluding rectum, male)\nSmall intestine", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "680", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "700", "Bladder is \"fixed\"", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "710", "Pubic bone", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:D" ], [ "715", "700 + 673 ", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:D" ], [ "720", "(710 or 700) + 677", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "730", "OBSOLETE DATA REVIEWED V0203\nSee codes 673, 710, 715, and 720\n\nRectum, male\nPubic bone", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:D" ], [ "750", "Abdominal wall\nPelvic wall", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\nSee codes 730 and 801\n\nFurther contiguous extension, including:\n Pubic bone\n Rectum, male\n Sigmoid", "ERROR:", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "801", "OBSOLETE DATA REVIEWED V0203\nSee codes 677, 720, and 802\n\nFurther contiguous extension including:\n Rectum, female\n Sigmoid", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "802", "Further contiguous extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "805", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "810", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcc.json deleted file mode 100644 index 3534646a8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcc.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bcc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: The tentorium cerebelli is an extension of the dura mater that separates the cerebellum from the inferior portion of the occipital lobes. The location of the tumor above or below the tentorium can help in determining the type of tumor; also most adult brain tumors are supratentorial, and most pediatric brain tumors are infratentorial. In the following list, note that ICD-O-3 codes C71.0 and C71.9 include both supratentorial and infratentorial subsites.\n\n* Supratentorial sites by ICD-O-3 codes:\n * C71.0, except hypothalamus, pallium, thalamus\n * C71.1-C71.5\n * C71.8: Corpus callosum, tapetum\n * C71.9: Anterior cranial fossa, middle cranial fossa, suprasellar\n* Infratentorial sites by ICD-O-3 codes:\n * C71.0: Hypothalamus, pallium, thalamus\n * C71.6-C71.7\n * C71.9: Posterior cranial fossa\n\n**Note 2**: If discontiguous spread is limited to circulating cells in cerebrospinal fluid (CSF), use code 710 in CS Extension. Code all other discontiguous spread in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:08.805Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "050", "Benign or borderline brain tumor", "VALUE:NA", "VALUE:NA", "VALUE:NA", "VALUE:NA" ], [ "100", "Supratentorial tumor confined to:\n Cerebral hemisphere (cerebrum) or meninges of cerebral hemisphere (one side):\n Frontal lobe\n Occipital lobe\n Parietal lobe\n Temporal lobe", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "110", "Infratentorial tumor confined to cerebellum or meninges of cerebellum (one side or midline):\n Vermis\n Lateral lobes\n Median lobe of cerebellum", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "120", "Infratentorial tumor confined to:\n Brain stem or meninges of brain stem (one side):\n Medulla oblongata\n Midbrain (mesencephalon)\n Pons\n Hypothalamus\n Thalamus", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "150", "Confined to brain, NOS\nConfined to meninges, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "Infratentorial tumor:\n Both cerebellum and brain stem involved with tumor on one side", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Confined to ventricles \nTumor invades or encroaches upon ventricular system", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Tumor crosses the midline\nTumor involves contralateral hemisphere\nTumor involves corpus callosum (including splenium)", "VALUE:NA", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "500", "Supratentorial tumor extends infratentorially to involve: \n Cerebellum\n Brain stem\n Hypothalamus\n Pallium\n Posterior cranial fossa\n Thalamus", "VALUE:NA", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "510", "Infratentorial tumor extends supratentorially to involve: \n Cerebrum (cerebral hemisphere) (excluding hypothalamus, pallium, thalamus)\n Anterior cranial fossa\n Corpus callosum\n Middle cranial fossa\n Suprasellar brain\n Tapetum", "VALUE:NA", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "600", "Tumor invades:\n Bone (skull)\n Major blood vessel(s)\n Meninges (e.g., dura)\n Nerves, NOS\n Cranial nerves\n Spinal cord/canal", "VALUE:NA", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "700", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 100-600 and 710, CS Mets at DX code 20\n\nCirculating cells in cerebral spinal fluid (CSF)\nNasal cavity\nNasopharynx\nPosterior pharynx\nDirect extension outside central nervous system (CNS)", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "710", "Circulating cells in cerebral spinal fluid (CSF)", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "750", "Extension to:\n Nasal cavity\n Nasopharynx\n Posterior pharynx\nOther direct extension outside CNS", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcd.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcd.json deleted file mode 100644 index 6a71f69b3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcd.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "extension_bcd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "last_modified" : "2015-05-27T16:19:08.863Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "050", "Benign or borderline tumor of other parts of the central nervous system (CNS)", "VALUE:NA", "VALUE:NA", "VALUE:NA", "VALUE:NA" ], [ "100", "Tumor confined to tissue or site of origin", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Meningeal tumor infiltrates nerve\nNerve tumor infiltrates meninges (dura)", "VALUE:NA", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "500", "Adjacent connective/soft tissue\nAdjacent muscle", "VALUE:NA", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "600", "Brain for cranial nerve tumors\nMajor blood vessel(s)\nSphenoid and frontal sinuses (skull)", "VALUE:NA", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "700", "Brain except for cranial nerve tumors\nBone other than skull\nEye", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bce.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bce.json deleted file mode 100644 index 4c93eb26b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bce.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "extension_bce", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "last_modified" : "2015-05-27T16:19:08.907Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to site of origin", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue\n(See definition of adjacent connective tissue in General Rules)", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "Adjacent organs/structures:\n Descending aorta\n Esophagus\n Large (named) artery(ies)\n Large (named) vein(s)\n Pericardium, NOS:\n Parietal\n Visceral (epicardium)\n Phrenic nerve(s)\n Pleura, NOS:\n Parietal\n Visceral\n Sternum\n Sympathetic nerve trunk(s)\n Thoracic duct\n Thymus\n Trachea\n Vertebra(e)", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcf.json deleted file mode 100644 index 949026197..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcf.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "extension_bcf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "last_modified" : "2015-05-27T16:19:08.953Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to trachea", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue:\n Arch of aorta\n Azygos vein, right\n Brachiocephalic vein\n Carotid sheath\n Common carotid artery(ies)\n Jugular arch\n Phrenic nerves\n Pretracheal fascia\n Recurrent laryngeal nerve\n Subclavian artery(ies)\n Vagus nerve", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "Adjacent organs/structures:\n Cricoid cartilage\n Esophagus\n Pleura, NOS:\n Parietal\n Visceral\n Right and left main bronchi\n Sternum\n Thymus\n Thyroid gland\n Vertebral column", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcg.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcg.json deleted file mode 100644 index 2ac38e2a5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcg.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bcg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Definition of Adjacent Connective Tissue: Some of the schemes for ill-defined or non-specific sites in this manual contain a code 400, adjacent connective tissue, which is defined here as the unnamed tissues that immediately surround an organ or structure containing a primary cancer. Use this code when a tumor has invaded past the outer border (capsule, serosa, or other edge) of the primary organ into the organ's surrounding supportive structures but has not invaded into larger structures or adjacent organs.\n\n**Note 2**: Definition of Adjacent Structures: Connective tissues large enough to be given a specific name would be considered adjacent structures. For example, the brachial artery has a name, as does the broad ligament. Continuous tumor growth from one organ into an adjacent named structure would be coded to 600 in the schemas for ill-defined or non-specific sites.", - "last_modified" : "2015-05-27T16:19:08.998Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasion of submucosa", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue(s) \n(See Note 1)", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "Adjacent organ(s)/structure(s) \n(See Note 2)", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "Regional extension, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bch.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bch.json deleted file mode 100644 index b31d7e8b0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bch.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bch", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: An E lesion is defined as disease that involves extralymphatic site(s), or sites other than lymph nodes and other lymphatic structures. Other lymphatic structures include spleen (see note 4), thymus gland (C37.9), and Waldeyer's ring (tonsils) (C02.4, C09.0-C09.9, C11.1, C14.2),. Any lymphatic structure (other than spleen) is coded the same as a lymph node region (codes 100, 200, 300).\n\n**Note 2**: While spleen is considered a lymphatic structure, it is coded separately (see codes 120, 220, 230, 320, 330). S equals spleen involvement.\n\n**Note 3**: If there is no mention of lymphatic or extralymphatic involvement but several diagnostic procedures were done, interpret as no involvement.\n\n**Note 4**: Involvement of adjacent soft tissue does not alter the classification.", - "footnotes" : "- AJCC stage group for this schema is derived directly from CS Extension and CS Site-Specific Factor 2, as shown in the AJCC TNM 7 Stage table. The AJCC Stage Groups I-IV are subdivided into A and B based on the presence or absence of symptoms coded in CS Site-Specific Factor 2.\n- AJCC stage group for this schema is derived directly from CS Extension and CS Site-Specific Factor 2, as shown in the AJCC TNM 6 Stage table. The AJCC Stage Groups I-IV are subdivided into A and B based on the presence or absence of symptoms as coded in CS Site-Specific Factor 2.", - "last_modified" : "2015-05-27T16:19:09.113Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Involvement of a single lymph node region\n\nStated as Stage I", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "110", "Localized involvement of a single extralymphatic organ/site in the absence of any lymph node involvement\nMultifocal involvement of one extralymphatic organ/site\n\nStated as Stage IE", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "120", "Involvement of spleen only\n\nStated as Stage IS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "Involvement of two or more lymph node regions on the SAME side of the diaphragm\n\nStated as Stage II", "VALUE:NA", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "210", "Localized involvement of a single extralymphatic organ/site\nWITH involvement of its regional lymph node(s)\nWITH or WITHOUT involvement of other lymph node(s) on the SAME side of the diaphragm\n\nDirect extension to adjacent organs or tissues\n\nStated as Stage IIE", "VALUE:NA", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "220", "Involvement of spleen\nPLUS lymph node(s) BELOW the diaphragm\n\nStated as Stage IIS", "VALUE:NA", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "230", "Involvement of spleen \nPLUS involvement of a single extralymphatic organ/site BELOW the diaphragm\nWITH/WITHOUT involvement of lymph node(s) BELOW the diaphragm\n\nStated as Stage IIES", "VALUE:NA", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "300", "Involvement of lymph node regions on BOTH sides of the diaphragm\n\nStated as Stage III", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "310", "Involvement of an extralymphatic organ/site \nPLUS involvement of lymph node(s) on the OPPOSITE side of the diaphragm\n\nStated as Stage IIIE", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "320", "Involvement of the spleen \nPLUS lymph node(s) ABOVE the diaphragm\n\nInvolvement of spleen \nPLUS lymph nodes on both sides of the diaphragm.\n\nStated as Stage IIIS", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "330", "320 + 310\n\nInvolvement of the spleen \nPLUS a single extralymphatic site ABOVE the diaphragm\nWITH or WITHOUT involvement of lymph node(s)\n\nInvolvement of the spleen \nPLUS involvement of lymph node region(s) ABOVE the diaphragm\nPLUS involvement of a single extralymphatic organ/site on either side of the diaphragm\n\nStated as Stage IIIES", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Diffuse or disseminated (multifocal) involvement of ONE OR MORE extralymphatic organ(s)/site(s)\nWITH OR WITHOUT associated lymph node involvement\n\nMultifocal involvement of MORE THAN ONE extralymphatic organ/site\n\nInvolvement of isolated extralymphatic organ in absence of involvement of\nadjacent lymph nodes, but in conjunction with disease in distant sites\n\nMetastasis/involvement:\n Bone marrow\n Liver\n Nodular involvement of lung(s)\n\nStated as Stage IV", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bci.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bci.json deleted file mode 100644 index 64cab47f4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bci.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bci", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Plasmacytomas (9731 and 9734) and Multiple Myeloma (9732) have been moved to the MyelomaPlasmaCellDisorder schema effective with CS version 2: 0203\n\n**Note 2**: For histologies listed in code 100 it is possible to have lymph node involvement; however, at this time, lymph node invovement for these histologies is not collected.", - "last_modified" : "2015-05-27T16:19:09.163Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Localized disease: \n(Single/solitary/unifocal/isolated):\nMay be coded for:\n Mast cell sarcoma (9740)\n Malignant histiocytosis (9750)\n Langerhans cell histiocytosis (9751)\n Histiocytic sarcoma (9755)\n Langerhans cell sarcoma (9756)\n Dendritic cell sarcoma (9757, 9758)\n Myeloid sarcoma (9930)", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "800", "Systemic disease\n\n(All histologies including those in 100)", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcj.json deleted file mode 100644 index 77dbe3d66..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcj.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bcj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: In the United States and Canada, Kaposisarcoma is usually an illness related to Acquired Immunodeficiency Syndrome (AIDS) which affects primarily the skin; however, lesions may also form in the connective tissue, mucosa (e.g. oral cavity) or visceral organs (e.g. lungs). For connective tissue tumors (C49._), use extension codes for skin.\n\n**Note 2**: Choice of CS Extension codes for Kaposi sarcoma depends on number and location of lesions. For example, use code 110 for a single lesion involving skin; use code 210 for multiple lesions involving skin. Use code 250 for any number of lesions involving both skin and viscera.", - "last_modified" : "2015-05-27T16:19:09.207Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "110", "Single lesion:\n Skin and/or connective tissue", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:L" ], [ "120", "Single lesion: \n Mucosa (e.g., oral cavity, anus, rectum, vagina, vulva)", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:L" ], [ "130", "Single lesion:\n Viscera (e.g., pulmonary, gastrointestinal tract, spleen, other)", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:L" ], [ "210", "Multiple lesions:\n Skin and/or connective tissue", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:L" ], [ "220", "Multiple lesions:\n Mucosa (e.g., oral cavity, anus, rectum, vagina, vulva)", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:L" ], [ "230", "Multiple lesions:\n Viscera (e.g., pulmonary, gastrointestinal tract, spleen, other)", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:L" ], [ "240", "(120 or 220) + (110 or 210)\n\nMultiple lesions, mucosa plus skin and/or connective tissue", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:RE" ], [ "250", "(130 or 230) + (110 or 210)\n\nMultiple lesions, viscera plus skin and/or connective tissue", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:RE" ], [ "260", "(130 or 230) + (120 or 220)\n\nMultiple lesions, viscera plus mucosa", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:RE" ], [ "270", "(130 or 230) + (120 or 220) + (110 or 210)\n\nMultiple lesions, visceral plus mucosa plus skin and/or connective tissue", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:D" ], [ "290", "Multiple lesions, NOS", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcl.json deleted file mode 100644 index 731259ae5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcl.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "extension_bcl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "last_modified" : "2015-05-27T16:19:09.262Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "Confined to site of origin", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue\n(See definition of connective tissue in General Rules, Part I)", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "Adjacent organs/structures:\n Male genital organs:\n Epididymis (from other site)\n Penis\n Prostate\n Seminal vesicle (from other site)\n Spermatic cord (vas deferens) (from other site)\n Testis\n Tunica vaginalis (from other site)\n", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension including:\n Other organs and structures in male pelvis:\n Bladder \n Rectum \n Urethra", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcm.json deleted file mode 100644 index b81cc545d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcm.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "extension_bcm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "last_modified" : "2015-05-27T16:19:09.311Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive ", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "Confined to site of origin", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue\n(See definition of connective tissue in General Rules, Part I)", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "Adjacent organs/structures:\n Female genital organs:\n Adnexa\n Broad ligament(s)\n Cervix uteri\n Corpus uteri\n Fallopian tube(s)\n Ovary(ies)\n Parametrium\n Round ligament(s)\n Uterus, NOS\n Vagina", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension:\n Other organs of pelvis", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcn.json deleted file mode 100644 index 167d0e51c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcn.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "extension_bcn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "last_modified" : "2015-05-27T16:19:09.362Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "Confined to tissue or organ of origin", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Corpus uteri\nOvary, ipsilateral\nUterus, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "500", "Fallopian tube for ligaments\nMesosalpinx, ipsilateral\nPeritoneum", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "Cervix uteri\nCul de sac (rectouterine pouch)\nOmentum\nOvary, contralateral\nRectosigmoid\nSigmoid\nSmall intestine", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bco.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bco.json deleted file mode 100644 index db8215a49..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bco.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "extension_bco", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "last_modified" : "2015-05-27T16:19:09.437Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ; intraepithelial, non-invasive ", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "050", "OBSOLETE DATA RETAINED V0200\nIntracranial Gland is separate schema in CS v 2\n\nFor C75.1 pituitary gland, C75.2 craniopharyngeal duct and C75.3 pineal gland ONLY:\n Benign or borderline tumors", "ERROR:", "VALUE:NA", "VALUE:NA", "VALUE:NA" ], [ "100", "Invasive tumor confined to gland of origin", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue \n(See definition in General Rules)", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "Adjacent organs/structures:\n Thymus and aortic body:\n Organs/structures in mediastinum\n Parathyroid:\n Thyroid\n Thyroid cartilage\n Carotid body:\n Upper neck", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcp.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcp.json deleted file mode 100644 index 64f9d7f11..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcp.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bcp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: For skin, patch indicates any size skin lesion without significant elevation or induration.\n\n**Note 2**: For skin, plaque indicates any size skin lesion that is elevated or indurated.\n\n**Note 3**: For skin, tumor indicates at least one 1 centimeter (cm) diameter solid or nodular lesion with evidence of depth and/or vertical growth. If a physician describes a skin lesion of less than 1 cm as a tumor, use code 550.\n\n**Note 4**: Use code 150 when skin involvement is present but only a general location/site is mentioned (i.e., face, torso, arms, legs). Use code 300 when there is skin involvement but there is no mention of location/site.\n\n**Note 5**: Ignore erythroderma if stated to involve less than 50% of the skin. Use codes 110-150, 210-230, 300, 550, 600.\n\n**Note 6**: Physicians use more than one method to estimate percentage of skin involvement by mycosis fungoides (MF). Code percent of skin involvement as stated by the physician. If no percentage is stated and no word such as localized or generalized is used and no stage is given, code as percent not stated.\n\n**Note 7**: Use code 950 ONLY if there is no evidence of any type of skin involvement, including plaques, papules, patches, or tumors. Tumor size is coded as 000 in CS Tumor Size only if there is no evidence of any tumor(s) as defined in the CS Tumor Size table note.", - "last_modified" : "2015-05-27T16:19:09.486Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "OBSOLETE DATA RETAINED V0200\n\nPlaques, papules, or erythematous patches (\"plaque stage\"):\n Less than 10 % of skin surface, no tumors\n Limited plaques/patches\n MFCG Stage I", "ERROR:", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "110", "Patches only with less than 10% of skin surface involved", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "120", "Plaques or papules, with or without patches, with less than 10% of skin surface involved, no tumors", "VALUE:T1b", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "130", "Skin involvement less than 10%, not stated whether plaques, papules or patches, no tumors \n Limited plaques/patches", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "150", "Plaques, papules, or erythematous patches: % body surface not stated, no tumors", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nPlaques, papules, or erythematous patches (\"plaque stage\"):\nGreater than or equal to 10% of skin surface, no tumors\nGeneralized plaques/patches\nMFCG Stage II", "ERROR:", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "210", "Patches only with 10% or more of skin surface involved", "VALUE:T2a", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "220", "Plaques or papules, with or without patches, with 10% or more of skin surface involved, no tumors", "VALUE:T2b", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "230", "Skin involvement 10% or more, not stated whether plaques, papules or patches, no tumors\nGeneralized plaques/patches\n\nStated as T2, NOS", "VALUE:T2NOS", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "250", "OBSOLETE DATA CONVERTED V0203\nSee code 150\n\nPlaques, papules, or erythematous patches: % body surface not stated, no tumors", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "300", "Skin involvement, NOS:\n Extent not stated, no tumors\n Localized, NOS", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nOne or more tumors (tumor stage)\nCutaneous tumors", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "550", "Skin lesion described as tumor less than 1 cm", "VALUE:T2NOS", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "600", "One or more tumors equal to 1 cm or greater\nCutaneous tumor, size not stated", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA CONVERTED V0203\nSee code 740\n\nStated as T3 with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nGeneralized erythroderma (greater than 50% of body involved with diffuse redness)\nSezary syndrome/Sezary disease\nMFCG Stage III", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "730", "Generalized erythroderma \n(Greater than 50% less than 80% body surface involved with diffuse redness)", "VALUE:T3", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "740", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "750", "Generalized erythroderma\n(Equal to or greater than or equal to 80% body surface involved with diffuse redness)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "800", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcq.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcq.json deleted file mode 100644 index ae999ffb8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcq.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bcq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: The bones of the lateral wall of the nasal cavity include the maxilla, the perpendicular plate of the palatine bone, the medial pterygoid plate, the labyrinth and inferior concha of the ethmoid. The roof of the nasal cavity is formed by the nasal bone. The floor of the nasal cavity, which forms the roof of the mouth, is composed of the bones of the hard palate: the horizontal plate of the palatine bone posteriorly and the palatine process of the maxilla anteriorly.\n\n**Note 2**: \"Bony invasion\" does not include extension to palate, cribriform plate, or pterygoid plates. Extension to these structures is coded separately.\n\n**Note 3**: Code Base of skull NOS only if no information is available to code to more specific bony structures in the skull.\n\n**Note 4**: In code 700, \"minimal extension to anterior cranial fossa\" implies tumor pushing through the cribriform plate, but without invasion of the dura or brain.\n\n**Note 5**: Use code 300 for localized tumor only if no information Is available to assign code 100, 110, 200, or 410.\n\n**Note 6**: Use code 110, 410, 680, 725, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:09.535Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to one of the following subsites:\n Septum\n Floor\n Lateral wall, including: \n Meatus (superior, middle, inferior) \n Nasal conchae (superior, middle, inferior)\n Vestibule (edge of naris to mucocutaneous junction)\nWITHOUT bony invasion", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "105", "Invasive tumor confined to one subsite listed in code 100\nWITH bony invasion", "VALUE:T1", "VALUE:T1", "VALUE:RE", "VALUE:RE" ], [ "110", "Confined to nasal cavity, NOS\n \nStated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Invasive tumor confined to two or more subsites listed in code 100\nWITHOUT bony invasion", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "205", "Invasive tumor confined to two or more subsites listed in code 100\nWITH bony invasion", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "300", "Localized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Extending to adjacent region within the nasoethmoidal complex:\n Nasolacrimal duct\n Ethmoid sinus\n Choana\nWITH or WITHOUT bony invasion", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "410", "Stated as T2 with no further information on extension", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCode 600 defined as \"Adjacent organs/structures including: Bone of skull, Choana, Frontal sinus, Hard palate, Nasopharynx\" in CSv1. Code 600 defined as \"Adjacent organs/structures including: Base of skull NOS, Palate\" in CSV2: V0201, V0202. Extension to frontal sinus and extension to nasopharynx were each included in two codes in CSv1. Review and recode all cases to code 400, 610, 690, 695, 730, 740, or 780 as appropriate.\n\nAdjacent organs/structures including:\n Base of skull, NOS \n Palate", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "610", "Adjacent organs/structures including:\n Base of skull, NOS\n Hard palate", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "650", "Cribiform plate", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "660", "Maxillary sinus", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "670", "Medial wall or floor of the orbit", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "680", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "690", "Frontal sinus\nPterygoid plates", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "695", "690 + (660 or 670)\n\nAny structure in code 690 plus any structure in code 660 or 670", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCode 700 defined as \"Tumor invades: Anterior orbital contents, Skin of nose, Skin of Cheek, Minimal extension to: Anterior cranial fossa, Sphenoid or frontal sinuses\" in CSv1. Code 700 defined as \"Tumor invades: Anterior orbital contents, skin of nose, Skin of cheek, Anterior cranial fossa (minimal extension), Sphenoid sinus\" in CSv2:V0201, V0202. Frontal sinus included in two codes, 600 and 700, in CSv1. Review and recode all cases to codes 690, 695, 705, 740, or 780 as appropriate.\n\nTumor invades:\n Anterior orbital contents\n Skin of nose\n Skin of cheek \n Anterior cranial fossa\n Sphenoid sinus", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "705", "Anterior orbital contents\nSkin of nose\nSkin of cheek\nAnterior cranial fossa (minimal extension)\nSphenoid sinus", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "710", "OBSOLETE DATA CONVERTED V0200\nSee code 760\n\nTumor invades:\nOrbital apex\nDura\nBrain\nMiddle cranial fossa\nCranial nerves other than (V2), nasopharynx, or clivus", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "725", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "730", "Nasopharynx", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "740", "730 + (660, 670, 695, 705)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "760", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nNasopharynx included in codes 600 and 710 in CSv1; code 710 converted to 760 in CSv2:0200. Review and recode nasopharynx and other structures to codes 730, 740, 770, or 780\n\nFurther contiguous extension including:\n Brain\n Clivus\n Cranial nerves (other than V2, maxillary division of trigeminal nerve)\n Dura\n Middle cranial fossa\n Nasopharynx\n Orbital apex ", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "770", "Further contiguous extension including:\n Brain\n Clivus\n Cranial nerves (other than V2, maxillary division of trigeminal nerve)\n Dura\n Middle cranial fossa\n Orbital apex ", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "780", "770 + (730, 740)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcr.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcr.json deleted file mode 100644 index c5395af1e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcr.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "extension_bcr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "last_modified" : "2015-05-27T16:19:09.595Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to: \n Auditory bones:\n Incus\n Malleus\n Stapes\n Vestibulocochlear organ: \n Cochlea\n Septum \n Semicircular ducts:\n Ampullae\n Saccule \n Utricle \n Tympanic membrane (ear drum)", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue:\n Auditory tube (Eustachian tube, pharyngotympanic tube)\n Nerve(s)", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "Adjacent organs/structures:\n External auditory meatus (ear canal)\n Internal carotid artery\n Mastoid antrum\n Nasopharynx\n Temporal bone", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "Regional extension, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension:\n Meninges", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcs.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcs.json deleted file mode 100644 index 63722b164..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcs.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bcs", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: The substantia propria is the stromal tissue of the conjunctiva underlying the epithelium. The bulbar conjunctiva covers the eyeball, the palpebral conjunctiva lines the eyelids, and the forniceal conjunctiva covers the junction of the eyelid and eyeball. The caruncle is the fleshy prominence at the inner corner of the eye lined by conjunctival epithelium.\n\n**Note 2**: Tumors confined to the epithelium are staged as Tis in AJCC 7th Edition. Unless corneal extension is present, they are staged as T1 in AJCC 6th Edition.\n\n**Note 3**: Quadrants of involvement are coded in CS Site-Specific Factor 2.", - "footnotes" : "- For CS Extension codes 300-335, 445-450, and 470-500, the pathologic T category for AJCC 7 staging is assigned based on the value of CS Tumor Size/Ext Eval and thickness recorded in CS Site-Specific Factor 1, as shown in the Pathologic Eval Extension Thickness AJCC 7 Table (eval codes 2, 3, 6, 8). The Pathologic Eval Extension Thickness AJCC 7 Table is also used if the CS Tumor Size/Ext Eval code is blank and CS Site-Specific Factor 1 does not equal 998. The clinical T category is assigned based on the value of CS TS/Ext Eval and quadrants recorded in CS Site-Specific Factor 2, as shown in the Clinical Eval Extension Quadrants AJCC 7 Table (eval codes 0, 1, 5, 9). The Clinical Eval Extension Quadrants AJCC 7 Table is also used if the CS Tumor Size/Ext Eval code is blank and CS Site-Specific Factor 1 equals 998.\n- For CS Extension codes 710- 740, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size/Ext Eval as shown in the Eval Extension T3 AJCC 7 Table for this schema.\n- For CS Extension codes 005, 305-335, 415, and 425-435, the pathologic T category for AJCC 6 staging is assigned based on the value of CS Tumor Size/Ext Eval and thickness recorded in CS Site-Specific Factor 1 as shown in the Pathologic Eval Extension Thickness AJCC 6 Table (eval codes 2, 3, 6, 8). The Pathologic Eval Extension Thickness AJCC 6 Table is also used if the CS Tumor Size/Ext Eval code is blank and CS Site-Specific Factor 1 does not equal 998. The clinical T category for AJCC 6 staging is assigned based on the value of CS Tumor Size/Ext Eval as shown in the Clinical Eval Extension AJCC 6 Table (eval codes 0,1, 5, 9) for this schema. The Clinical Eval Extension AJCC 6 Table is also used if the CS Tumor Size/Ext Eval code is blank and CS Site-Specific Factor 1 equals 998.", - "last_modified" : "2015-05-27T16:19:09.655Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive\nMelanoma confined to conjunctival epithelium", "VALUE:Tis", "VALUE:T1", "VALUE:IS", "VALUE:IS" ], [ "005", "Melanoma confined to conjunctival epithelium with corneal extension", "VALUE:Tis", "JUMP:determine_correct_table_for_ajcc6_t_ns16", "VALUE:RE", "VALUE:RE" ], [ "100", "OBSOLETE DATA RETAINED V0200\nSS1977 and SS2000 derivation changed to In situ \n\nTumor(s) of bulbar conjunctiva confined to the epithelium occupying one quadrant or less", "ERROR:", "VALUE:T1", "VALUE:IS", "VALUE:IS" ], [ "120", "OBSOLETE DATA RETAINED V0200\nSS1977 and SS2000 derivation changed to In situ\n\nTumor(s) of bulbar conjunctiva confined to the epithelium occupying more than one quadrant", "ERROR:", "VALUE:T1", "VALUE:IS", "VALUE:IS" ], [ "150", "OBSOLETE DATA CONVERTED V0200\nSee code 330\n\nTumor(s) of bulbar conjunctiva, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "300", "Localized, NOS", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "JUMP:determine_correct_table_for_ajcc6_t_ns16", "VALUE:L", "VALUE:L" ], [ "310", "Stated as T1a with no other information on extension ", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "JUMP:determine_correct_table_for_ajcc6_t_ns16", "VALUE:L", "VALUE:L" ], [ "315", "Stated as T1b with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "JUMP:determine_correct_table_for_ajcc6_t_ns16", "VALUE:L", "VALUE:L" ], [ "320", "Stated as T1c with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "JUMP:determine_correct_table_for_ajcc6_t_ns16", "VALUE:L", "VALUE:L" ], [ "325", "Stated as T1d with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "JUMP:determine_correct_table_for_ajcc6_t_ns16", "VALUE:L", "VALUE:L" ], [ "330", "Tumor(s) of bulbar conjunctiva NOS\n\nStated as T1 NOS with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "JUMP:determine_correct_table_for_ajcc6_t_ns16", "VALUE:L", "VALUE:L" ], [ "335", "Tumor(s) of bulbar conjunctiva, NOS WITH corneal extension", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "JUMP:determine_correct_table_for_ajcc6_t_ns16", "VALUE:RE", "VALUE:RE" ], [ "400", "OBSOLETE DATA REVIEWED AND CHANGED V0200\nRecoded to 330 or 335 depending on corneal involvement\n\nTumor of bulbar conjunctiva, thickness not stated, \nWITH invasion of substantia propria (or with corneal extension, NOS)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "410", "OBSOLETE DATA REVIEWED AND CHANGED V0200\nRecoded to 415 or 425 depending on corneal involvement\n\nTumor of bulbar conjunctiva, not more than 0.8 mm in thickness, \nWITH invasion of substantia propria (or with corneal extension, NOS)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "415", "OBSOLETE DATA RETAINED V0200\nCSv2 code, data recoded from code 410\n\nTumor of bulbar conjunctiva, not more than 0.8 mm in thickness, \nWITHOUT corneal extension", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_t_ns16", "VALUE:L", "VALUE:L" ], [ "420", "OBSOLETE DATA REVIEWED AND CHANGED V0200\nRecoded to 430 or 435 depending on corneal involvement\n\nTumor of bulbar conjunctiva, more than 0.8 mm in thickness, \nWITH invasion of substantia propria (or with corneal extension, NOS)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "425", "OBSOLETE DATA RETAINED V0200\nCSv2 code, data recoded from code 410\n\nTumor of bulbar conjunctiva, not more than 0.8 mm in thickness, \nWITH corneal extension", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_t_ns16", "VALUE:RE", "VALUE:RE" ], [ "430", "OBSOLETE DATA RETAINED V0200\nCSv2 code, data recoded from code 420\n\nTumor of bulbar conjunctiva, more than 0.8 mm in thickness, \nWITHOUT corneal extension", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_t_ns16", "VALUE:L", "VALUE:L" ], [ "435", "OBSOLETE DATA RETAINED V0200\nCSv2 code, data recoded from code 420\n\nTumor of bulbar conjunctiva, more than 0.8 mm in thickness, \nWITH corneal extension", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_t_ns16", "VALUE:RE", "VALUE:RE" ], [ "440", "OBSOLETE DATA RETAINED V0200\nCSv1 code, data recoded from code 460\n\nTumor involves:\n Caruncle \n Conjunctival fornix\n Palpebral conjunctiva", "ERROR:", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "445", "Tumor involves:\n Conjunctival fornix\n Palpebral conjunctiva", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "450", "Tumor involves:\n Caruncle", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "460", "OBSOLETE DATA REVIEWED AND CHANGED V0200\nTumors with involvement of sites in code 440 recoded to 440 or 465 depending on corneal involvement\n\n440 + any of (400 to 420)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "465", "OBSOLETE DATA RETAINED V0200\nCSv2 code, data recoded from code 460\n\n440 + Extension to cornea", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "470", "445 + Extension to cornea\n\nInvolvement of conjunctival fornix or palpebral conjunctiva\nWITH extension to cornea", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "475", "450 + Extension to cornea\n\nInvolvement of caruncle\nWITH extension to cornea", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "480", "Stated as T2a with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "485", "Stated as T2b with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "490", "Stated as T2c with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "495", "Stated as T2d with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "500", "Tumor of non-bulbar conjunctiva, NOS\n\nStated as T2 [NOS] with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns17", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "700", "OBSOLETE DATA RETAINED V0200\nSites separated for staging in V0200\n\nExtension to:\n Eyelid\n Globe\n Orbit", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "710", "Extension to Globe \n\nStated as T3a with no other information on extension", "JUMP:eval_extension_t3_ajcc7_xgh", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "720", "Extension to:\n Eyelid \n Nasolacrimal system\n\nStated as T3b with no other information on extension", "JUMP:eval_extension_t3_ajcc7_xgh", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "730", "Extension to Orbit \n\nStated as T3c with no other information on extension", "JUMP:eval_extension_t3_ajcc7_xgh", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "740", "Extension to Sinus\n\nStated as T3d with no other information on extension", "JUMP:eval_extension_t3_ajcc7_xgh", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "Conjunctival melanoma with local invasion NOS\n\nStated as T3 NOS with no other information on extension", "VALUE:T3", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "800", "OBSOLETE DATA RETAINED V0200\nExtension to sinus moved to code 740 in V0200\n\nFurther contiguous extension, including:\n Central nervous system", "ERROR:", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Tumor invades central nervous system\nFurther contiguous extension\n\nStated as T4 NOS with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension note stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bct.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bct.json deleted file mode 100644 index 99c2a84e1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bct.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bct", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC considers \"in situ carcinoma of lacrimal gland\" an impossible diagnosis. Any case so coded is mapped to TX for AJCC stage and in situ Summary Stage.\n\n**Note 2**: As noted by the AJCC, \"As the maximum size of the lacrimal gland is 2 cm, T2 and greater tumors will usually extend into the orbital soft tissue.\"\n\n**Note 3**: Periosteum is a fibrous membrane that wraps the outer surface of bones.", - "footnotes" : "- For CS Extension codes 100, 300, and 600-630 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size AJCC 7 Table.\n- For CS Extension codes 100, 300, and 610-650 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size AJCC6 Table.", - "last_modified" : "2015-05-27T16:19:09.710Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:TX", "VALUE:IS", "VALUE:IS" ], [ "100", "Tumor confined to lacrimal gland", "JUMP:extension_size_ajcc7_xej", "JUMP:extension_size_ajcc6_xat", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_ajcc7_xej", "JUMP:extension_size_ajcc6_xat", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA RETAINED V0200\nSee code 650\n\nInvading periosteum of fossa of lacrimal gland", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "600", "Extension to any of the following WITHOUT bone invasion:\n Globe (eyeball)\n Optic nerve\n Orbital soft tissues", "JUMP:extension_size_ajcc7_xej", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "610", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xej", "JUMP:extension_size_ajcc6_xat", "VALUE:L", "VALUE:L" ], [ "620", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xej", "JUMP:extension_size_ajcc6_xat", "VALUE:L", "VALUE:L" ], [ "630", "Stated as T3 with no other information on extension", "JUMP:extension_size_ajcc7_xej", "JUMP:extension_size_ajcc6_xat", "VALUE:L", "VALUE:L" ], [ "650", "Invasion of periosteum\n\nStated as T4a with no other information on extension", "VALUE:T4a", "JUMP:extension_size_ajcc6_xat", "VALUE:RE", "VALUE:RE" ], [ "700", "Adjacent periorbital bone\n\nStated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "750", "Adjacent structures:\n Brain\n Pterygoid fossa\n Sinus\n Temporal fossa", "VALUE:T4c", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4c", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4c with no other information on extension", "VALUE:T4c", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcu.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcu.json deleted file mode 100644 index 25d1a30a7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcu.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bcu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: For correct calculation of derived staging fields for this schema, CS Extension and CS Site-Specific Factor 1, Extension Evaluated at Enucleation, must both be coded, whether or not an enucleation was performed. Information from enucleation is excluded from CS Extension and coded only in CS Site-Specific Factor 1.\n\n**Note 2**: If both eyes are involved, code the information for the most extensively involved eye in this field, and code the information for the second eye in CS Site-Specific Factor 6.\n\n**Note 3**: The mapping values for AJCC T, SS77, and SS2000 and the associated c, p, y, or a indicator (staging basis) are assigned based on the values in CS Extension (clinical extension), CS Tumor Size/Ext Eval, and CS Site-Specific Factor 1 - Extension Evaluated at Enucleation. Pathologic staging information from an enucleation always takes precedence over clinical staging, except in cases with neoadjuvant treatment where clinical disease is as extensive as or more extensive than disease at surgery.", - "footnotes" : "For this site, extension is coded in two CS Fields: CS Extension (clinical extension) and CS Site-Specific Factor 1 - Extension Evaluated at Enucleation. The mapping values for the T category for AJCC stage, SS77, and SS2000 and the associated c, p, y, or a indicator are assigned based on the values in CS Extension, CS Tumor Size/Ext Eval, and CS Site-Specific Factor 1 as shown in the Special Calculation Table for AJCC T and Special Calculation Table for SEER Summary Stage.", - "last_modified" : "2015-05-27T16:19:09.760Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77_d", - "name" : "Summary Stage 1977 T", - "type" : "DESCRIPTION" - }, { - "key" : "t2000_d", - "name" : "Summary Stage 2000 T", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "110", "OBSOLETE DATA RETAINED V0200\n\nAny eye in which the largest tumor is less than or\nequal to 3 mm in height\nAND\nno tumor is located closer than 1 DD (1.5mm) to the optic nerve or fovea", "ERROR:", "VALUE:T1a", "L", "L" ], [ "120", "Volume no more than two-thirds of eye\nAND\nLargest dimension not greater than 3 millimeter (mm)\nAND\nLocation not closer than 1.5 mm to optic nerve or fovea\nAND\nTumor formation: No vitreous or subretinal seeding and no subretinal fluid beyond 5 mm from base of tumor\nAND\nRetinal detachment not present\n\nStated as T1a with no other information on extension", "VALUE:T1a", "VALUE:T1a", "L", "L" ], [ "130", "OBSOLETE DATA RETAINED V0200\n\nAll other eyes in which the tumor(s) are confined to retina\nregardless of location or size (up to half the volume of the eye)\nAND No vitreous seeding\nAND No retinal detachment or subretinal fluid greater than 5 mm from\nthe base of the tumor", "ERROR:", "VALUE:T1b", "L", "L" ], [ "140", "Volume no more than two-thirds of eye\nAND\n(Largest dimension greater than 3 mm \nOR location closer than 1.5 mm to optic nerve or fovea)\nAND\nTumor formation: No vitreous or subretinal seeding and no subretinal fluid beyond 5mm from base of tumor\nAND\nRetinal detachment not present\n\nStated as T1b with no other information on extension", "VALUE:T1b", "VALUE:T1b", "L", "L" ], [ "160", "Volume no more than two-thirds of eye\nAND\n(Largest dimension greater than 3 mm \nOR location closer than 1.5 mm to optic nerve or fovea)\nAND\n(Tumor formation: Subretinal fluid beyond 5 mm from base of tumor \nOR retinal detachment present)\n\nStated as T1c with no other information on extension", "VALUE:T1c", "VALUE:T2a", "L", "L" ], [ "180", "Volume no more than two-thirds of eye\nAND\nTumor formation: No vitreous or subretinal seeding\n\nStated as T1 [NOS] with no other information on extension", "VALUE:T1NOS", "VALUE:T1NOS", "L", "L" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nTumor confined to retina (no vitreous seeding or significant retinal detachment), NOS", "ERROR:", "VALUE:T1NOS", "L", "L" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nMinimal tumor spread to vitreous and/or subretinal space.\nFine local or diffuse vitreous seeding and/or serous retinal\ndetachment up to total detachment may be present but no clumps,\nlumps, snowballs, or avascular masses are allowed\nin the vitreous or subretinal space. \nCalcium flecks in the vitreous or subretinal space are allowed.\nTumor may fill up to 2/3 the volume of the eye.", "ERROR:", "VALUE:T2a", "L", "L" ], [ "420", "Volume no more than two-thirds of eye\nAND\nTumor formation : Focal vitreous and/or subretinal seeding of fine aggregates of tumor cells but no large clumps or \"snowballs\" of tumor cells\nAND\nRetinal detachment may be present \n\nStated as T2a with no other information on extension", "VALUE:T2a", "VALUE:T2a", "L", "L" ], [ "430", "OBSOLETE DATA RETAINED V0200\n\nMassive tumor spread to vitreous and/or subretinal space.\nVitreous seeding and/or subretinal implantation may consist of\nlumps, clumps, snowballs, or avascular tumor masses.\nRetinal detachment may be total.\nTumor may fill up to 2/3 the volume of the eye.", "ERROR:", "VALUE:T2b", "L", "L" ], [ "440", "Volume no more than two-thirds of eye\nAND\nTumor formation: Massive vitreous and/or subretinal seeding defined as diffuse clumps or \"snowballs\" of tumor cells\nAND\nRetinal detachment may be present \n\nStated as T2b with no other information on extension", "VALUE:T2b", "VALUE:T2b", "L", "L" ], [ "450", "OBSOLETE DATA RETAINED V0200\nExtension reassigned to codes 500, 520\n\nUnsalvageable intraocular disease.\n Tumor fills more than 2/3 the eye\n No possibility of visual rehabilitation.\n\nOne or more of the following are present:\nTumor-associated glaucoma, either neovascular or angle closure\nAnterior segment extension of tumor\nCiliary body extension of tumor\nHyphema (significant)\nMassive vitreous hemorrhage\nTumor in contact with lens\nOrbital cellulitis-like clinical presentation", "ERROR:", "VALUE:T2c", "VALUE:L", "VALUE:L" ], [ "460", "Volume no more than two-thirds of eye\nAND\nTumor formation: Vitreous and/or subretinal seeding\nAND\nRetinal detachment may be present \n\nStated as T2 [NOS] with no other information on extension", "VALUE:T2NOS", "VALUE:T2NOS", "L", "L" ], [ "470", "OBSOLETE DATA RETAINED V0200\n\nTumor with contiguous spread to adjacent tissues\nor spaces (vitreous or subretinal space), NOS", "ERROR:", "VALUE:T2NOS", "VALUE:L", "VALUE:L" ], [ "500", "Severe intraocular disease: \n Tumor occupies more than two-thirds volume of eye\n\nStated as T3a with no other information on extension", "VALUE:T3a", "VALUE:T2c", "L", "L" ], [ "520", "Severe intraocular disease:\n One or more complications present including:\n Tumor-associated neovascular or angle closure glaucoma \n Tumor extension into anterior segment\n Hyphema (blood in anterior chamber)\n Vitreous hemorrhage\n Orbital cellulitis\n\nStated as T3b with no other information on extension", "VALUE:T3b", "VALUE:T2c", "L", "L" ], [ "540", "Severe intraocular disease NOS\n\nStated as T3 [NOS] with no other information on extension", "VALUE:T3NOS", "VALUE:T2c", "L", "L" ], [ "590", "OBSOLETE DATA RETAINED V0200\n\nInvasion of optic nerve and/or optic coats, NOS", "ERROR:", "VALUE:T3", "RE", "RE" ], [ "680", "Extraocular disease detected by imaging studies:\n Invasion of optic nerve\n\nStated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T3", "RE", "RE" ], [ "700", "Extraocular disease detected by imaging studies:\n Invasion into orbit\n\nStated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4", "RE", "RE" ], [ "720", "Extraocular disease detected by imaging studies:\n Intracranial extension not past optic chiasm\n\nStated as T4c with on other information on extension", "VALUE:T4c", "VALUE:T4", "D", "D" ], [ "740", "Extraocular disease detected by imaging studies:\n Intracranial extension past optic chiasm\n\nStated as T4d with no other information on extension", "VALUE:T4d", "VALUE:T4", "D", "D" ], [ "750", "OBSOLETE DATA RETAINED V0200\n\nExtraocular tumor", "ERROR:", "VALUE:T4", "RE", "RE" ], [ "760", "Extraocular disease detected by imaging studies NOS\n\nStated as T4 [NOS]", "VALUE:T4NOS", "VALUE:T4", "RE", "RE" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension", "ERROR:", "VALUE:T4", "D", "D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "U", "U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "U", "U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcv.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcv.json deleted file mode 100644 index af2eabb93..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcv.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bcv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC considers \"in situ carcinoma of salivary gland\" an impossible diagnosis. Any case so coded will be mapped to an unknown AJCC stage, in situ Summary Stage.\n\n**Note 2**: Periosteum is a fibrous membrane that wraps the outer surface of bones. Mucoperiosteum is a compound structure of mucous membrane and periosteum. Cortical bone is the dense compact outer layer of bone.\n\n**Note 3**: The assignment of T1 and T2 categories for tumors of major salivary glands without extraparenchymal extension is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 305, 310, 410, 725, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign codes 100, 305, or 310.", - "footnotes" : "- For CS Extension codes 100-350 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-350 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:09.807Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:TX", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to gland/duct of origin\nMultiple foci confined to substance of parotid gland", "JUMP:extension_size_xpf", "JUMP:extension_size_xpf", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xpf", "JUMP:extension_size_xpf", "VALUE:L", "VALUE:L" ], [ "305", "Stated as T1 with no other information on extension", "JUMP:extension_size_xpf", "JUMP:extension_size_xpf", "VALUE:L", "VALUE:L" ], [ "310", "Stated as T2 with no other information on extension", "JUMP:extension_size_xpf", "JUMP:extension_size_xpf", "VALUE:L", "VALUE:L" ], [ "350", "Microscopic extraparenchymal extension ONLY to periglandular soft/connective tissue", "JUMP:extension_size_xpf", "JUMP:extension_size_xpf", "VALUE:RE", "VALUE:RE" ], [ "400", "Macroscopic extraparenchymal extension to:\n Periglandular soft/connective tissue\n Another major salivary gland (submaxillary, sublingual)\n Pharyngeal mucosa\n Skeletal muscle:\n Digastric\n Masseter\n Pterygoid\n Sternocleidomastoid\n Stylohyoid", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "402", "Maxillary artery\nFacial artery or vein", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "405", "Spinal accessory nerve", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:D" ], [ "406", "405 + 402", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:D" ], [ "408", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "420", "External auditory meatus\nSkin overlying gland", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "450", "Periosteum of mandible", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "500", "Auricular nerve\nMandible\nMastoid process", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "505", "(420, 450, 500) +402", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "510", "(420, 450, 500) + 405 \n\nAny structure in code 420, 450, or 500 plus spinal accessory nerve", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "700", "Facial (7th) nerve", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "705", "700 + 402", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "708", "700 + 405", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "720", "OBSOLETE DATA CONVERTED V0200\nSee code 405 \n\nSpinal accessory nerve", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "725", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "740", "Carotid artery (encased)\nJugular vein", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "750", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nRecode involved structures to 402, 406, 505, 705, 740, 755, 758 as appropriate.\n\nMajor blood vessel(s):\n Carotid artery (encased)\n Facial artery or vein \n Jugular vein\n Maxillary artery", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "755", "740 + 405 \n\nAny structure in code 740 plus spinal accessory nerve", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:D" ], [ "758", "740 + 700 \n\nAny structure in code 740 plus facial nerve", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:D" ], [ "760", "Base of skull\nSkull, NOS", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:D" ], [ "770", "Pterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcw.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcw.json deleted file mode 100644 index 6202c1c1e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcw.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bcw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord cord paralysis, or deviation of larynx to fixed side.\n\n**Note 2**: Use code 300 for localized tumor only if no information is available to assign codes 100, 200, or 310.\n\n**Note 3**: Use code 355, 435, 725, 810, or 815 if the physician's assignment of T category is the ONLY information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:09.858Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to anterior surface of epiglottis with normal vocal cord mobility\n\nStated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA CONVERTED V0200\nSee code 305\n\nMucosa of adjacent subsite(s) of oropharynx", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "300", "Localized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "305", "Mucosa of adjacent subsite(s) of oropharynx", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "310", "Mucosa of vallecula without fixation of larynx", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "320", "Mucosa of adjacent subsite(s) of supraglottis (including posterior surface of epiglottis) \nWITHOUT fixation of larynx", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "330", "Larynx, glottic or NOS\nWITHOUT fixation of larynx", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "340", "Mucosa of pyriform sinus, medial wall or NOS\nWITHOUT fixation of larynx", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "350", "Mucosa of base of tongue \nWITHOUT fixation of larynx", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "355", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "360", "Any structure coded in 200 to 350 \nWITH vocal cord fixation", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "370", "Paraglottic space\nPre-epiglottic tissues", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "380", "Inner cortex of thyroid cartilage (minor erosion)", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "390", "Hypopharynx, NOS\nPostcricoid area\nPyriform sinus except medial wall \n(See code 340)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "430", "390 + 280\n\n Any structure in 390 plus minor thyroid cartilage erosion", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "435", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "450", "Soft palate, inferior surface including uvula\nSoft palate, NOS", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "470", "Nasopharynx, NOS\nSoft palate, superior (nasopharyngeal) surface", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "500", "Deep tissues of base of tongue\nBuccal mucosa (inner cheek)\nFloor of mouth\nGum (gingiva)", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "620", "Soft tissues of neck", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "650", "Pterygoid muscle", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "660", "(450 to 650) + (380 or 430) \n\nAny structure in 450 to 650 plus inner cortex of thyroid cartilage ", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "670", "Invasion of, through outer cortex of thyroid cartilage\nThyroid cartilage, NOS\n(See also code 380)", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "680", "Trachea", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "690", "Esophagus\nStrap muscles:\n Omohyoid\n Sternohyoid\n Thyrohyoid\nThyroid", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "700", "Extrinsic muscles of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "725", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "750", "Prevertebral fascia or muscle\nPrevertebral space", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "770", "750 + (660 - 700) \n\nAny structure in 750 plus any structure coded in 660 through 700", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension, including:\n Anterior 2/3 of tongue\n Bone\n Carotid artery (encased)\n Hard palate\n Mandible\n Mediastinal structures\n Parotid gland", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcx.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcx.json deleted file mode 100644 index c79145f9b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcx.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "extension_bcx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "last_modified" : "2015-05-27T16:19:09.919Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, non invasive", "VALUE:NA", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to:\n Lamina propria\n Mucosa, NOS\n Submucosa (superficial invasion)", "VALUE:NA", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis propria", "VALUE:NA", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS\nTumor confined to bile duct", "VALUE:NA", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Perimuscular connective tissue\nTumor invades beyond the wall of the bile duct", "VALUE:NA", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "500", "Invasion of/through serosa", "VALUE:NA", "VALUE:T2", "VALUE:L", "VALUE:RE" ], [ "550", "500 + 400", "VALUE:NA", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "600", "Extension into liver, NOS", "VALUE:NA", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "610", "Extension into liver less than or equal to 2 cm", "VALUE:NA", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "620", "Extension to ONE of the following:\n Ampulla of Vater\n Omentum, NOS\n Greater\n Lesser\n Pancreas\n Small intestine, NOS", "VALUE:NA", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "630", "Gallbladder\n Unilateral branches of the right or left hepatic artery\n Unilateral branches of the right or left portal vein", "VALUE:NA", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "640", "Extension into liver greater than 2 cm\nOR\nExtension to two or more adjacent organs listed in codes 600 - 630", "VALUE:NA", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "645", "Duodenum", "VALUE:NA", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "647", "645 + 640", "VALUE:NA", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "650", "Extension to ONE of the following:\n Colon\n Stomach", "VALUE:NA", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "660", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 645, 647, 670, and 675\n\nAbdominal wall\nDuodenum", "VALUE:NA", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "670", "Abdominal wall", "VALUE:NA", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "675", "670 + 640", "VALUE:NA", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 640 and 675\n\nExtension into liver greater than 2 cm\nExtension to two or more adjacent organs listed in codes 600 - 630", "VALUE:NA", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "710", "Extension to two or more adjacent organs listed in codes 645, 650, and 670", "VALUE:NA", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "Common hepatic artery\nCystic artery/vein\nHepatic artery, NOS\nPortal vein or its branches bilaterally\nPortal vein, NOS", "VALUE:NA", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "760", "750 + (640, 645, 650, 670)\n\nInvolvement of structures in code 750 plus involvement of one or more structures in codes 640 645, 650, or 670", "VALUE:NA", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:NA", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:NA", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcy.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcy.json deleted file mode 100644 index 0d980bd81..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bcy.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bcy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note**: If CS Extension code is 000 or 050, Behavior ICD-O-3 must be coded as 2. If CS Extension code is 100 or greater, Behavior ICD-O-3 must be coded as 3.", - "last_modified" : "2015-05-27T16:19:09.976Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 060\n\nIn situ, intraepithelial, noninvasive (flat, sessile)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "050", "Noninvasive papillary, polypoid, or verrucous carcinoma", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "060", "In situ, intraepithelial, non invasive (flat, sessile)", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "Subepithelial connective tissue (lamina propria, submucosa) invaded", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis invaded", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Corpus spongiosum\nPeriurethral muscle (sphincter)\nProstate", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "Beyond the prostatic capsule\nBladder neck\nCorpus cavernosum\nVagina, anterior or NOS", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "Other adjacent organs, including\n Bladder (excluding bladder neck)\n Seminal vesicle(s)", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bda.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bda.json deleted file mode 100644 index 63d56e795..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bda.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bda", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Uveal melanomas arise most commonly in the choroid, less frequently in the ciliary body, and least often in the iris.\n\n**Note 2**: AJCC does not recognize in situ melanoma of the choroid. Any case so coded will be mapped to unknown AJCC stage and in situ Summary Stage.\n\n**Note 3**: The AJCC 7th Edition assigns a T value to combinations of measurements for basal diameter and thickness of tumor divided into four Tumor Size Categories in a charted format. The AJCC 6th Edition assigned T values based on three pairs of measurements for basal diameter and thickness, using the basal diameter for classification when the two measurements did not fit into the defined pairs.\n\n**Note 4**: According to the AJCC, \"In clinical practice the largest tumor basal diameter may be estimated in optic disc diameters (dd) (average: 1 dd = 1.5mm). Tumor thickness may be estimated in diopters (average: 2.5 diopters = 1 mm). However, techniques, such as ultrasonography and fundus photography are used to provide more accurate measurements.\"\n\n**Note 5**: Use codes 150 through 180 if measurements are available to record the largest tumor basal diameter and tumor thickness. Only use codes 205 through 445 or 640 if measurements are not available for coding. Note that code 635, mapped to T4e, is not based on a Tumor Size Category assignment.\n\n**Note 6**: Only use codes 245, 295, 345, and 445 if the tumor size category is the only information available about the tumor.", - "footnotes" : "- For CS Extension codes 150-180, the T category for AJCC 7 staging is assigned based on the values of tumor basal diameter, recorded in CS Site-Specific Factor 2, and thickness, recorded in CS Site-Specific Factor 3. Basal diameter and thickness are mapped to Tumor Size Categories in the Tumor Size Category AJCC 7 Table, and the CS Extension codes and Tumor Size Categories are mapped to T in the Extension Size Category AJCC 7 Table.\n- For CS Extension codes 150-180, 635, and 640, the T category for AJCC 6 staging is assigned based on the values of tumor basal diameter, recorded in CS Site-Specific Factor 2, and thickness, recorded in CS Site-Specific Factor 3. Basal diameter and thickness are mapped to tumor size pairs in the Tumor Size Pair AJCC 6 Table, and the CS Extension codes and tumor size pairs are mapped to T in the Extension Size Pair AJCC 6 Table.", - "last_modified" : "2015-05-27T16:19:10.027Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:TX", "VALUE:IS", "VALUE:IS" ], [ "150", "Tumor WITHOUT ciliary body involvement \nWITHOUT extraocular extension \n(Or ciliary body involvement and extraocular extension not stated)", "JUMP:tumor_size_category_ajcc7_xpk", "JUMP:tumor_size_pair_ajcc6_xpl", "VALUE:L", "VALUE:L" ], [ "160", "Tumor WITH ciliary body involvement \nWITHOUT extraocular extension \n(Or extraocular extension not stated)", "JUMP:tumor_size_category_ajcc7_xpk", "JUMP:tumor_size_pair_ajcc6_xpl", "VALUE:L", "VALUE:L" ], [ "170", "Tumor WITHOUT ciliary body involvement \n(Or ciliary involvement not stated)\nWITH extraocular extension less than or equal to 5 mm in diameter\n(OR extraocular extension diameter not stated)", "JUMP:tumor_size_category_ajcc7_xpk", "JUMP:tumor_size_pair_ajcc6_xpl", "VALUE:RE", "VALUE:RE" ], [ "180", "Tumor WITH ciliary body involvement \nWITH extraocular extension less than or equal to 5 mm in diameter\n(OR extraocular extension diameter not stated)", "JUMP:tumor_size_category_ajcc7_xpk", "JUMP:tumor_size_pair_ajcc6_xpl", "VALUE:RE", "VALUE:RE" ], [ "205", "Tumor WITHOUT ciliary body involvement \nWITHOUT extraocular extension\n(Or ciliary body involvement and extraocular extension not stated)\nAND stated as Tumor Size Category 1\n\nStated as T1a with no other information on extension", "VALUE:T1a", "VALUE:T1a", "VALUE:L", "VALUE:L" ], [ "215", "Tumor WITH ciliary body involvement \nWITHOUT extraocular extension\n(Or extraocular extension not stated)\nAND stated as Tumor Size Category 1\n\nStated as T1b with no other information on extension", "VALUE:T1b", "VALUE:T1a", "VALUE:L", "VALUE:L" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nTumor 10 mm or less in greatest diameter and 2.5 mm or less in greatest height (thickness),\nAND extraocular invasion unknown", "ERROR:", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "225", "Tumor WITHOUT ciliary body involvement\n(Or ciliary involvement not stated)\nWITH extraocular extension less than or equal to 5 mm in diameter\n(OR extraocular extension diameter not stated)\nAND stated as Tumor Size Category 1\n\nStated as T1c with no other information on extension", "VALUE:T1c", "VALUE:T1b", "VALUE:RE", "VALUE:RE" ], [ "235", "Tumor WITH ciliary body involvement \nWITH extraocular extension less than or equal to 5 mm in diameter\n(OR extraocular extension diameter not stated)\nAND stated as Tumor Size Category 1\n\nStated as T1d with no other information on extension", "VALUE:T1d", "VALUE:T1b", "VALUE:RE", "VALUE:RE" ], [ "240", "OBSOLETE DATA RETAINED V0200\n\nTumor 10 mm or less in greatest diameter and 2.5 mm or less in greatest height (thickness),\nWITHOUT microscopic extraocular extension", "ERROR:", "VALUE:T1a", "VALUE:L", "VALUE:L" ], [ "245", "Tumor Size Category 1, NOS\n\nStated as T1 [NOS] with no other information on extension", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "255", "Tumor WITHOUT ciliary body involvement \nWITHOUT extraocular extension\n(Or ciliary body involvement and extraocular extension not stated)\nAND stated as Tumor Size Category 2\n\nStated as T2a with no other information on extension", "VALUE:T2a", "VALUE:T2a", "VALUE:L", "VALUE:L" ], [ "260", "OBSOLETE DATA RETAINED V0200\n\nTumor 10 mm or less in greatest diameter and 2.5 mm or less in greatest height (thickness),\nWITH microscopic extraocular extension", "ERROR:", "VALUE:T1b", "VALUE:RE", "VALUE:RE" ], [ "265", "Tumor WITH ciliary body involvement \nWITHOUT extraocular extension\n(Or extraocular extension not stated)\nAND stated as Tumor Size Category 2\n\nStated as T2b with no other information on extension", "VALUE:T2b", "VALUE:T2a", "VALUE:L", "VALUE:L" ], [ "275", "Tumor WITHOUT ciliary body involvement \n(Or ciliary involvement not stated)\nWITH extraocular extension less than or equal to 5 mm in diameter\n(OR extraocular extension diameter not stated)\nAND stated as Tumor Size Category 2\n\nStated as T2c with no other information on extension", "VALUE:T2c", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "280", "OBSOLETE DATA RETAINED V0200\n\nTumor 10 mm or less in greatest diameter and 2.5 mm or less in greatest height (thickness),\nWITH macroscopic extraocular extension", "ERROR:", "VALUE:T1c", "VALUE:RE", "VALUE:RE" ], [ "285", "Tumor WITH ciliary body involvement \nWITH extraocular extension less than or equal to 5 mm in diameter\n(OR extraocular extension diameter not stated)\nAND stated as Tumor Size Category 2\n\nStated as T2d with no other information on extension", "VALUE:T2d", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "295", "Tumor Size Category 2, NOS\n\nStated as T2 [NOS] with no other information on extension", "VALUE:T2NOS", "VALUE:T2NOS", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "305", "Tumor WITHOUT ciliary body involvement \nWITHOUT extraocular extension \n(Or ciliary body involvement and extraocular extension not stated)\nAND stated as Tumor Size Category 3\n\nStated as T3a with no other information on extension", "VALUE:T3a", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "315", "Tumor WITH ciliary body involvement \nWITHOUT extraocular extension \n(Or extraocular extension not stated)\nAND stated as Tumor Size Category 3\n\nStated as T3b with no other information on extension", "VALUE:T3b", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "325", "Tumor WITHOUT ciliary body involvement \n(Or ciliary involvement not stated)\n WITH extraocular extension less than or equal to 5 mm in diameter\n(OR extraocular extension diameter not stated)\nAND stated as Tumor Size Category 3\n\nStated as T3c with no other information on extension", "VALUE:T3c", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "335", "Tumor WITH ciliary body involvement \nWITH extraocular extension less than or equal to 5 mm in diameter\n(OR extraocular extension diameter not stated)\nAND stated as Tumor Size Category 3\n\nStated as T3d with no other information on extension", "VALUE:T3d", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "345", "Tumor Size Category 3, NOS\n\nStated as T3 [NOS] with no other information on extension", "VALUE:T3NOS", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "405", "Tumor WITHOUT ciliary body involvement \nWITHOUT extraocular extension \n(Or ciliary body involvement and extraocular extension not stated)\nAND stated as Tumor Size Category 4\n\nStated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "415", "Tumor WITH ciliary body involvement \nWITHOUT extraocular extension \n(Or extraocular extension not stated)\nAND stated as Tumor Size Category 4\n\nStated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nTumor greater than 10 mm but not more than 16 mm in greatest basal diameter and between 2.5 mm and 10 mm in maximum height (thickness),\nAND extraocular invasion unknown", "ERROR:", "VALUE:T2NOS", "VALUE:L", "VALUE:L" ], [ "425", "Tumor WITHOUT ciliary body involvement \n(Or ciliary involvement not stated)\nWITH extraocular extension less than or equal to 5 mm in diameter\n(OR extraocular extension diameter not stated)\nAND stated as Tumor Size Category 4\n\nStated as T4c with no other information on extension", "VALUE:T4c", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "435", "Tumor WITH ciliary body involvement \nWITH extraocular extension less than or equal to 5 mm in diameter\n(OR extraocular extension diameter not stated)\nAND stated as Tumor Size Category 4\n\nStated as T4d with no other information on extension", "VALUE:T4d", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "440", "OBSOLETE DATA RETAINED V0200\n\nTumor greater than 10 mm but not more than 16 mm in greatest basal diameter and between 2.5 mm and 10 mm in maximum height (thickness),\nWITHOUT microscopic extraocular invasion", "ERROR:", "VALUE:T2a", "VALUE:L", "VALUE:L" ], [ "445", "Stated as Tumor Size Category 4, NOS", "VALUE:T4NOS", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "460", "OBSOLETE DATA RETAINED V0200\n\nTumor greater than 10 mm but not more than 16 mm in greatest\n basal diameter and between 2.5 mm and 10 mm in maximum height (thickness),\nWITH microscopic extraocular invasion", "ERROR:", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "480", "OBSOLETE DATA RETAINED V0200\n\nTumor greater than 10 mm but not more than 16 mm in greatest basal diameter and between 2.5 mm and 10 mm in maximum height (thickness),\nWITH macroscopic extraocular invasion", "ERROR:", "VALUE:T2c", "VALUE:RE", "VALUE:RE" ], [ "635", "Tumor WITH extraocular extension greater than 5 mm in diameter\n\nStated as T4e with no other information on extension", "VALUE:T4e", "JUMP:tumor_size_pair_ajcc6_xpl", "VALUE:RE", "VALUE:RE" ], [ "640", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "JUMP:tumor_size_pair_ajcc6_xpl", "VALUE:L", "VALUE:L" ], [ "660", "OBSOLETE DATA RETAINED V0200\n\nTumor greater than 16 mm in greatest diameter and/or greater than 10 mm in maximum height (thickness)\nWITHOUT extraocular extension", "ERROR:", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "680", "OBSOLETE DATA RETAINED V0200\n\nTumor greater than 16 mm in greatest diameter and/or greater than 10 mm in maximum height (thickness)\nWITH extraocular extension", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension", "VALUE:T4NOS", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdc.json deleted file mode 100644 index 36219c8f1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdc.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bdc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2**: AJCC assigns the T category based on size when bone involvement is limited to the cortex. Involvement through cortical bone is required for assignment of T4a.\n\n**Note 3**: The assignment of T1, T2 , and T3 categories for tumors of the lip and oral cavity is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 405, 410, 415, 778, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign codes 100, 200, 405, 410, or 415.", - "footnotes" : "- For CS Extension codes 100-535 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-535 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:10.100Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to:\n Labial mucosa (inner lip)\n Lamina propria\n Multiple foci\n Submucosa (superficial invasion)\n Vermilion surface\nSuperficial extension to:\n Skin of lip\n Subcutaneous soft tissue of lip", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:L", "VALUE:L" ], [ "200", "Musculature", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:L", "VALUE:L" ], [ "405", "Stated as T1 with no other information on extension", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T2 with no other information on extension", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:L", "VALUE:L" ], [ "415", "Stated as T3 with no other information on extension", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:L", "VALUE:L" ], [ "500", "Buccal mucosa (inner cheek)\nCommissure\nOpposite lip (both lips)", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:RE", "VALUE:RE" ], [ "510", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCode 510 defined as \"Gingiva\" in CSv1. Code 510 defined as \"Upper gingiva, Gingiva, NOS\" in CSv2:V0201, V0202. All cases should be reviewed and recoded to 515, 780, or 785 as appropriate.\n\nUpper gingiva\nGingiva, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "515", "Upper gingiva\nGingiva, NOS", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:RE", "VALUE:RE" ], [ "535", "Cortical bone of maxilla\nCortical bone, NOS (not specified in higher codes)\nBone, NOS (not specified in higher codes)", "JUMP:extension_size_xpa", "JUMP:extension_size_xpa", "VALUE:RE", "VALUE:RE" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCSv2 codes differentiate between involvement of cortical bone and trabecular bone. All CSv1 cases should be reviewed and recoded to 535 or 725 as appropriate.\n\nMaxilla", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "725", "Trabecular bone of maxilla", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "740", "Nose", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "750", "Tongue", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "760", "Skin of face/neck", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "770", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCSv2 codes differentiate between involvement of cortical bone and trabecular bone. All CSv1 cases should be reviewed and recoded to 775, 785, or 788 as appropriate.\n\nCortical bone (other than code 700)\nFloor of mouth\nInferior alveolar nerve", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "775", "Floor of mouth\nInferior alveolar nerve", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "778", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "780", "Lower gingiva", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:RE" ], [ "785", "780 + (740, 750, 760, or 775) \n\nLower gingiva plus any structure in codes 740, 750, 760, or 775", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "788", "Bone of mandible\nMandible, NOS\nSpecified bone \n(Other than maxilla and bones in codes 790 and 800)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "790", "Masticator space\nPterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension including: \n Skull base \n Internal carotid artery (encased)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdd.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdd.json deleted file mode 100644 index 407beb8c4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdd.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bdd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Connective tissues large enough to be given a specific name are considered adjacent structures. For example, prevertebral fascia and jugular vein have names. Continuous tumor growth from one organ into an adjacent named structure is coded to 600.", - "last_modified" : "2015-05-27T16:19:10.167Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to site of origin", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "More than one region of pharynx involved:\n Oropharynx\n Nasopharynx\n Hypopharynx", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "500", "Pharynx and oral cavity involved", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "Any of codes 100-500\nWITH fixation", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "Extension to adjacent structures \n(See note)", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension cannot be assessed\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bde.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bde.json deleted file mode 100644 index f05ac5976..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bde.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bde", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note**: High-grade dysplasia is generally not reportable in cancer registries, but, if a registry does collect this, code 000 should be used.", - "last_modified" : "2015-05-27T16:19:10.224Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined/limited to ampulla of Vater\nInvasive tumor extending to sphincter of Oddi", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS\n\nStated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "420", "Duodenal wall\n\nStated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "520", "Pancreas\n\nStated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "620", "Common bile duct", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "650", "Extrahepatic bile duct(s) \n(Other than common bile duct and sphincter of Oddi)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "700", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 710 and 760\n\nExtension to other adjacent organs or tissues:\n Blood vessel(s) (major):\n Hepatic artery\n Portal vein\n Gallbladder\n Hepatic flexure of colon\n Lesser omentum\n Liver, including porta hepatis\n Peripancreatic soft tissue\n Stomach, NOS:\n Distal\n Transverse colon", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "710", "Extension to other adjacent organs or tissues:\n Blood vessel(s) (major):\n Hepatic artery\n Portal vein\n Gallbladder\n Hepatic flexure of colon\n Lesser omentum\n Liver, including porta hepatis\n Stomach, NOS:\n Distal\n Transverse colon", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "750", "Stomach, proximal", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "760", "Peripancreatic soft tissue", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "765", "760 + 750", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "780", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdf.json deleted file mode 100644 index 7c0570796..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdf.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bdf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Tumors of the body of the pancreas arise between the left edge of the superior mesenteric-portal vein confluence and the left edge of the aorta. Tumors of the tail of the pancreas arise to the left of the left edge of the aorta.\n\n**Note 2**: Islets of Langerhans are distributed throughout the pancreas; an islet tumor is coded according to the subsite of the pancreas in which the tumor arises if the information is available.\n\n**Note 3**: The assignment of T1 and T2 categories for tumors of the pancreas is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 150 and 200 as appropriate to code CS Extension based on a statement of T when no other extension information is available.", - "footnotes" : "- For CS Extension codes 100, 150, 200, and 300 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100, 150, 200, and 300 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:10.277Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive \nPancreatic Intraepithelial Neoplasia III (PanInIII) ", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Confined to pancreas", "JUMP:extension_size_xpe", "JUMP:extension_size_xpe", "VALUE:L", "VALUE:L" ], [ "150", "Stated as T1 with no other information on extension", "JUMP:extension_size_xpe", "JUMP:extension_size_xpe", "VALUE:L", "VALUE:L" ], [ "200", "Stated as T2 with no other information on extension", "JUMP:extension_size_xpe", "JUMP:extension_size_xpe", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xpe", "JUMP:extension_size_xpe", "VALUE:L", "VALUE:L" ], [ "400", "Extension to peripancreatic tissue, NOS\nFixation to adjacent structures, NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 595\n\nStated as T3, NOS ", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "440", "Duodenum", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "480", "Ampulla of Vater\nExtrahepatic bile duct(s)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "500", "Spleen", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "560", "Blood vessel(s):\n Hepatic artery\n Portal vein\n Splenic artery/vein\n Superior mesenteric vein\nSplenic flexure of colon", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "570", "Kidney, NOS\nLeft adrenal (suprarenal) gland\nLeft kidney\nLeft ureter", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:D" ], [ "580", "Mesenteric fat\nMesentery\nMesocolon\nPeritoneum", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:D" ], [ "590", "Retroperitoneal soft tissue (retroperitoneal space)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:D" ], [ "595", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "600", "Tumor is inseparable from the celiac axis or superior mesenteric artery\nAorta\nCeliac artery\nSuperior mesenteric artery", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "620", "Stomach", "VALUE:T4", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "650", "620 + (570, 580, or 590)", "VALUE:T4", "VALUE:T3", "VALUE:RE", "VALUE:D" ], [ "670", "600 + (570, 580, or 590)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "700", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 650, 670\n\n[(600) or (620)] + [(570) or (580)]", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "710", "Ileum\nJejunum", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "730", "Gallbladder\nLiver (including porta hepatis)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "750", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 650, 670, 760\n\n(590) + any of [(600) or (620) or (710) or (730)]", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "760", "(710 or 730) + 590", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "770", "Colon (other than splenic flexure)", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "780", "Diaphragm\nRight adrenal (suprarenal) gland\nRight kidney\nRight ureter", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "790", "OBSOLETE DATA CONVERTED V0203\nSee code 810\n\nStated as T4, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdg.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdg.json deleted file mode 100644 index 7328aaf7c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdg.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bdg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: In the case of multiple simultaneous tumors, code the tumor with greatest extension.\n\n**Note 2**: Skin ulceration does not alter the AJCC T category.\n\n**Note 3**: Presence of tumor at eyelid margin takes priority over depth of invasion in dermis/tarsal plate; i.e., code 250 takes priority over codes 100-200.\n\n**Note 4**: Metastatic skin lesions are coded in CS Mets at DX.", - "footnotes" : "- For CS Extension codes 100-400 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, CS Extension, and Perineural Invasion recorded in CS Site-Specific Factor 6, as shown in the Extension Size, Perineural Invasion Negative or Unknown AJCC 7 Table, the Extension Size, Perineural Invasion Positive AJCC 7 Table, and the Extension Size, Perineural Invasion 888, 988 Table for this schema.\n- For cases coded in CSv1 (CS Version Input Original equals 01XXXX) and Year of Diagnosis is less than 2010 and CS-Site Specific Factor 6, Perineural Invasion = 988 or blank, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size and CS Extension as shown in the Extension Size AJCC 6 Table CSv1 for this schema.\nFor cases coded in CSv2 and cases coded in CSv1 with Year of Diagnosis less than 2010 and Perineural Invasion not coded to 988 or blank, using CS Extension codes 100-400 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, CS Extension, and Perineural Invasion recorded in CS Site-Specific Factor 6, as shown in the Extension Size, Perineural Invasion Negative or Unknown AJCC 6 Table CSv2, the Extension Size, Perineural Invasion Positive AJCC 6 Table CSv2, and the Extension Size, Perineural Invasion 888, 988 Table CSv2 for this schema.", - "last_modified" : "2015-05-27T16:19:10.332Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, noninvasive\nBowen disease", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Lesion(s) confined to dermis\nMinimal infiltration of dermis\n(Not invading tarsal plate, not at eyelid margin)", "JUMP:determine_correct_table_for_ajcc7_t_ns38", "JUMP:determine_correct_table_for_ajcc6_t_ns39", "VALUE:L", "VALUE:L" ], [ "150", "Subcutaneous tissue \n(Through entire dermis, not invading tarsal plate, not at eyelid margin)", "JUMP:determine_correct_table_for_ajcc7_t_ns38", "JUMP:determine_correct_table_for_ajcc6_t_ns39", "VALUE:L", "VALUE:L" ], [ "155", "Stated as T1 with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns38", "JUMP:determine_correct_table_for_ajcc6_t_ns39", "VALUE:L", "VALUE:L" ], [ "200", "Tumor invades tarsal plate, not at eyelid margin", "JUMP:determine_correct_table_for_ajcc7_t_ns38", "JUMP:determine_correct_table_for_ajcc6_t_ns39", "VALUE:L", "VALUE:L" ], [ "250", "Tumor at eyelid margin", "JUMP:determine_correct_table_for_ajcc7_t_ns38", "JUMP:determine_correct_table_for_ajcc6_t_ns39", "VALUE:L", "VALUE:L" ], [ "270", "Stated as T2a with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns38", "JUMP:determine_correct_table_for_ajcc6_t_ns39", "VALUE:L", "VALUE:L" ], [ "300", "Tumor involves full eyelid thickness", "JUMP:determine_correct_table_for_ajcc7_t_ns38", "JUMP:determine_correct_table_for_ajcc6_t_ns39", "VALUE:L", "VALUE:L" ], [ "320", "Stated as T2b with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns38", "JUMP:determine_correct_table_for_ajcc6_t_ns39", "VALUE:L", "VALUE:L" ], [ "340", "Stated as T2 [NOS] with no other information on extension", "JUMP:determine_correct_table_for_ajcc7_t_ns38", "JUMP:determine_correct_table_for_ajcc6_t_ns39", "VALUE:L", "VALUE:L" ], [ "400", "Localized, NOS", "JUMP:determine_correct_table_for_ajcc7_t_ns38", "JUMP:determine_correct_table_for_ajcc6_t_ns39", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA CONVERTED V0200\nSee code 150\n\nSubcutaneous tissue (through entire dermis)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "600", "OBSOLETE DATA RETAINED V0200\nSee code 010, CS Site-Specific Factor 6 for perineural space involvement\n\nAdjacent structures, including:\n Bulbar conjunctiva\n Globe\n Perineural space\n Sclera\n Soft tissues of orbit", "ERROR:", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "610", "Adjacent structures, including:\n Bulbar conjunctiva\n Globe\n Sclera\n Soft tissues of orbit", "VALUE:T3a", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "620", "Bone/periosteum of orbit\nSkeletal muscle\nUnderlying cartilage", "VALUE:T3a", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "650", "Stated as T3a with no other information on extension", "VALUE:T3a", "VALUE:T3", "VALUE:D", "VALUE:RE" ], [ "670", "Complete resection requires enucleation, exenteration, or bone resection\n\nStated as T3b with no other information on extension", "VALUE:T3b", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "690", "Stated as T3 [NOS] with no other information on extension", "VALUE:T3NOS", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "700", "OBSOLETE DATA CONVERTED V0200\nSee code 620\n\nBone/periosteum of orbit\nSkeletal muscle\nUnderlying cartilage", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "715", "Tumor unresectable, extensive invasion:\n Ocular structures\n Orbital structures", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "720", "Nasal cavity\nParanasal sinuses\nOther craniofacial structures", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "740", "Central nervous system", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "OBSOLETE DATA CONVERTED V0200\nSee CS Extension Code 999 and CS Mets at DX codes 20, 30, 55, 58\n\nMetastatic skin lesion(s)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdh.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdh.json deleted file mode 100644 index 5b948a147..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdh.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bdh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: According to AJCC, \"Except for pTis and pT4, extent of primary tumor for TNM is classified by radical orchiectomy. TX is used for other categories in the absence of radical orchiectomy.\" For Collaborative Stage, this means that the categories of T1, T2, and T3 are derived only when CS Site Specific Factor 4 indicates that a radical orchiectomy is performed.\n\n**Note 2**: Involvement of para-testicular (hilar/mediastinal) soft tissues does not alter the extension code. Code the extension based on other criteria documented in the patient record.\n\n**Note 3**: Use code 300 (Localized, NOS) only when no further information is available to assign code 160, 200, 310, 320, or 330.\n\n**Note 4**: Use codes 320, 330, 550, or 810 if the only information regarding tumor extension is the physician's statement of the T category.", - "footnotes" : "- For CS Extension codes 160-330 and 460-550 ONLY, the T category for AJCC 7 staging is assigned based on the values of CS Extension, CS Site-Specific Factor 4, Radical Orchiectomy Performed, and Lymph-vascular Invasion, as shown in the Extension Orchiectomy LVI AJCC 7 Table.\n- For cases coded under CSv1 (CS Version Input Original less than 020000) and Year of Diagnosis less than 2010 with CS Extension codes 100-550, the T category for AJCC 6 staging is assigned based on the values of CS Extension, Lymph-vascular Invasion, and CS Site-Specific Factor 4, Radical Orchiectomy Performed, as shown in the Extension Orchiectomy LVI AJCC 6 Table CSv1. For cases coded under CSv2 (CS Version Input Original greater than 020000) or Year of Diagnosis greater than 2009 with CS Extension codes 100-550, the T category for AJCC 6 staging is assigned based on the values of CS Extension, CS Site-Specific Factor 4, Radical Orchiectomy Performed, and Lymph-vascular Invasion, as shown in the Extension Orchiectomy LVI AJCC 6 Table CSv2.", - "last_modified" : "2015-05-27T16:19:10.403Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive; \nIntratubular germ cell neoplasia", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\nSee code 160\n\nInvasive tumor WITHOUT vascular/lymphatic invasion, or presence of vascular/lymphatic invasion not stated\n Body of testis\n Rete testis\n Tunica albuginea", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_t_ns34", "VALUE:L", "VALUE:L" ], [ "150", "OBSOLETE DATA RETAINED V0200\nSee code 160\n\nInvasive tumor WITH vascular/lymphatic invasion\n Body of testis\n Rete testis\n Tunica albuginea", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_t_ns34", "VALUE:L", "VALUE:L" ], [ "160", "Body of testis\nRete testis\nTunica albuginea", "JUMP:extension_orchiectomy_lviajcc7_xgs", "JUMP:determine_correct_table_for_ajcc6_t_ns34", "VALUE:L", "VALUE:L" ], [ "200", "Tunica vaginalis involved\nSurface implants (surface of tunica vaginalis)", "JUMP:extension_orchiectomy_lviajcc7_xgs", "JUMP:determine_correct_table_for_ajcc6_t_ns34", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_orchiectomy_lviajcc7_xgs", "JUMP:determine_correct_table_for_ajcc6_t_ns34", "VALUE:L", "VALUE:L" ], [ "310", "Tunica, NOS", "JUMP:extension_orchiectomy_lviajcc7_xgs", "JUMP:determine_correct_table_for_ajcc6_t_ns34", "VALUE:L", "VALUE:L" ], [ "320", "Stated as T1 with no other information on extension", "JUMP:extension_orchiectomy_lviajcc7_xgs", "JUMP:determine_correct_table_for_ajcc6_t_ns34", "VALUE:L", "VALUE:L" ], [ "330", "Stated as T2 with no other information on extension", "JUMP:extension_orchiectomy_lviajcc7_xgs", "JUMP:determine_correct_table_for_ajcc6_t_ns34", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA RETAINED V0200\nSee code 460\n\nEpididymis involved WITHOUT vascular/lymphatic invasion, or presence of vascular/lymphatic invasion not stated", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_t_ns34", "VALUE:RE", "VALUE:RE" ], [ "450", "OBSOLETE DATA RETAINED V0200\nSee code 460\n\nEpididymis involved WITH vascular/lymphatic invasion", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_t_ns34", "VALUE:RE", "VALUE:RE" ], [ "460", "Epididymis", "JUMP:extension_orchiectomy_lviajcc7_xgs", "JUMP:determine_correct_table_for_ajcc6_t_ns34", "VALUE:RE", "VALUE:RE" ], [ "470", "460 + 200\n\nEpididymis plus tunica vaginalis or surface implants", "JUMP:extension_orchiectomy_lviajcc7_xgs", "JUMP:determine_correct_table_for_ajcc6_t_ns34", "VALUE:RE", "VALUE:RE" ], [ "500", "Spermatic cord, ipsilateral\nVas deferens", "JUMP:extension_orchiectomy_lviajcc7_xgs", "JUMP:determine_correct_table_for_ajcc6_t_ns34", "VALUE:RE", "VALUE:RE" ], [ "550", "Stated as T3 with no other information on extension", "JUMP:extension_orchiectomy_lviajcc7_xgs", "JUMP:determine_correct_table_for_ajcc6_t_ns34", "VALUE:RE", "VALUE:RE" ], [ "600", "Dartos muscle, ipsilateral\nScrotum, ipsilateral", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "700", "Extension to scrotum, contralateral\nUlceration of scrotum", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "Penis", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown extension\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdi.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdi.json deleted file mode 100644 index 58c38eaaa..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdi.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bdi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: In case of multifocal noninvasive Ta and Tis tumors, use code 060, 070, or 080 in preference to code 050.\n\n**Note 2**: If CS Extension code is 050-080, Behavior Code ICD-O-3 must be coded as 2. If CS Extension code is 100 or greater, Behavior Code ICD-O-3 must be coded as 3.\n\n**Note 3**: The presence of muscle around the urethra varies between males and females and, in males, varies among the segments of the urethra. The outer muscular coat (muscularis) is absent in most of the male urethra except for the membranous portion. In females, the muscle coat is continuous from the bladder wall. In addition, in both males and females, there is sphincteric muscle, which may be smooth or skeletal muscle. Invasion of periurethral muscle is coded 200, unless it is specified as invasion of sphincter muscle, which is coded 400. Invasion of muscle at the neck of the bladder is coded with the bladder neck in 600. If the only information is \"invasion of muscle\", NOS, or \"invasion of periurethral muscle\", NOS, assign code 200.", - "last_modified" : "2015-05-27T16:19:10.461Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 060\n\nCarcinoma in situ, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "010", "OBSOLETE DATA CONVERTED V0203\nSee code 070\n\nCarcinoma in situ, involvement of prostatic urethra", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "020", "OBSOLETE DATA CONVERTED V0203\nSee code 080\n\nCarcinoma in situ, involvement of prostatic ducts", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "050", "Noninvasive papillary, polypoid, or verrucous carcinoma\n\nNote: Code 050 does not apply to transitional cell carcinoma of prostatic urethra or prostatic ducts , see codes 070 and 080", "VALUE:Ta", "VALUE:Ta", "VALUE:IS", "VALUE:IS" ], [ "060", "In situ, intraepithelial, noninvasive (flat, sessile), NOS", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "070", "In situ, intraepithelial, noninvasive:\n Involvement of prostatic urethra", "VALUE:Tispu", "VALUE:Tispu", "VALUE:IS", "VALUE:IS" ], [ "080", "In situ, intraepithelial, noninvasive:\n Involvement of prostatic ducts", "VALUE:Tispd", "VALUE:Tispd", "VALUE:IS", "VALUE:IS" ], [ "100", "Subepithelial connective tissue (lamina propria, submucosa) invaded\n\nStated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis invaded", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Corpus spongiosum\nProstate\nSphincter muscle; periurethral muscle specified as sphincter", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "450", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "600", "Beyond the prostatic capsule\nBladder neck\nCorpus cavernosum\nVagina, anterior or NOS\n\nStated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "700", "Other adjacent organs, including\n Bladder (excluding bladder neck)\n Seminal vesicle(s)", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdj.json deleted file mode 100644 index 433bf5bbe..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdj.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bdj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2**: AJCC assigns T value based on size when bone involvement is limited to the cortex. Involvement through cortical bone is required for assignment of T4a.\n\n**Note 3**: The assignment of T1, T2, and T3 categories for tumors of the lip and oral cavity is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 405, 410, 415, 778, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign codes 100, 200, 405, 410, or 415.", - "footnotes" : "- For CS Extension codes 100 through 535 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100 through 535 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:10.525Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to:\n Labial mucosa (inner lip)\n Lamina propria\n Multiple foci\n Submucosa (superficial invasion)\n Vermilion surface\nSuperficial extension to:\n Skin of lip\n Subcutaneous soft tissue of lip", "JUMP:extension_size_xjh", "JUMP:extension_size_xjh", "VALUE:L", "VALUE:L" ], [ "200", "Musculature", "JUMP:extension_size_xjh", "JUMP:extension_size_xjh", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xjh", "JUMP:extension_size_xjh", "VALUE:L", "VALUE:L" ], [ "405", "Stated as T1 with no other information on extension", "JUMP:extension_size_xjh", "JUMP:extension_size_xjh", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T2 with no other information on extension", "JUMP:extension_size_xjh", "JUMP:extension_size_xjh", "VALUE:L", "VALUE:L" ], [ "415", "Stated as T3 with no other information on extension", "JUMP:extension_size_xjh", "JUMP:extension_size_xjh", "VALUE:L", "VALUE:L" ], [ "500", "Buccal mucosa (inner cheek)\nCommissure\nOpposite (both) lip(s)", "JUMP:extension_size_xjh", "JUMP:extension_size_xjh", "VALUE:RE", "VALUE:RE" ], [ "510", "Gingiva", "JUMP:extension_size_xjh", "JUMP:extension_size_xjh", "VALUE:RE", "VALUE:RE" ], [ "535", "Cortical bone of maxilla\nMaxilla, NOS\nCortical bone of mandible\nMandible, NOS\nCortical bone, NOS (not specified in higher codes)\nBone, NOS (not specified in higher codes)", "JUMP:extension_size_xjh", "JUMP:extension_size_xjh", "VALUE:RE", "VALUE:RE" ], [ "725", "Trabecular bone:\n Mandible\n Maxilla", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "740", "Nose", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:D" ], [ "750", "Tongue", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "760", "Skin of face/neck", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "770", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCSv2 codes differentiate between involvement of cortical bone and trabecular bone. All CSv1 cases should be rev iewed and recoded to 535, 725, 775, or 788 as appropriate.\n\nCortical bone\nFloor of mouth\nInferior alveolar nerve", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "775", "Floor of mouth\nInferior alveolar nerve", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "778", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "788", "Specified bone \n(Other than mandible, maxilla, or bones in codes 790 and 800)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "790", "Masticator space\nPterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension including: \n Skull base \n Internal carotid artery (encased)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdk.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdk.json deleted file mode 100644 index 25a3dd8ad..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdk.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bdk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note**: Involvement of or extension to bone includes any type of tumor extension to the bone, such as erosion, invasion, extension, penetration, or destruction.", - "last_modified" : "2015-05-27T16:19:10.579Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to mucosa of one of the following:\n Frontal sinus\n Sphenoid sinus", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "More than one accessory sinus invaded\nDestruction of bony wall of sinus", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "500", "Hard palate\nNasal cavity:\n Floor\n Lateral wall\n Nasal cavity, NOS\n Septum\n Turbinates", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "Bone:\n Facial bones\n Maxilla\n Orbital structures\n Pterygoid fossa\n Zygoma", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "Brain\nCranial nerves\nMuscles:\n Masseter\n Pterygoid\nNasopharynx\nOrbital contents, including eye\nSoft tissue\nSkin", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdl.json deleted file mode 100644 index e457fad05..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdl.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bdl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Superficial erosion alone of bone/tooth socket by gingival primary is not sufficient to code as bone involvement (code 700).\n\n**Note 2**: Periosteum is a fibrous membrane that wraps the outer surface of bones. Mucoperiosteum is a compound structure of mucous membrane and periosteum. Cortical bone is the dense compact outer layer of bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 3**: AJCC assigns the T category based on size for involvement of cortical bone. Involvement through cortical bone is required for assignment of T4a.\n\n**Note 4**: The assignment of T1, T2 , and T3 categories for tumors of the lip and oral cavity is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 405, 410, 415, 775, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 5**: Use code 300 for localized tumor only if no information is available to assign codes 100, 405, 410, or 415.", - "footnotes" : "- For CS Extension codes 100-650 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-650 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:10.648Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to lamina propria (mucoperiosteum) (stroma)", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:L", "VALUE:L" ], [ "405", "Stated as T1 with no other information on extension", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T2 with no other information on extension", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:L", "VALUE:L" ], [ "415", "Stated as T3 with no other information on extension", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCode 500 defined as \"Buccal mucosa (inner cheek), Floor of mouth, Labial mucosa (inner lip), lip, Tongue\" in CSv1. Code 500 defined as \"Buccal mucosa (inner cheek), Floor of mouth, Labial mucosa (inner lip), lower lip, Labial mucosa (inner lip), lower lip, Labial mucosa (inner lip), lip, NOS, Tongue mucosa\" in CSv2:V0201, V0202. All cases should be reviewed and recoded to 510, 780, or 785 as appropriate.\n\nBuccal mucosa (inner cheek)\nFloor of mouth\nLabial mucosa (inner lip), lower lip\nLabial mucosa (inner lip), lip, NOS\nTongue mucosa", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "510", "Buccal mucosa (inner cheek)\nFloor of mouth\nLabial mucosa (inner lip), lower lip\nLabial mucosa (inner lip), lip, NOS\nTongue mucosa", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:RE", "VALUE:RE" ], [ "535", "Cortical bone of mandible\nMandible, NOS\nCortical bone, NOS\nCartilage, NOS\nBone, NOS", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:RE", "VALUE:RE" ], [ "550", "Facial muscle, NOS\nSubcutaneous soft tissue of face", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:RE", "VALUE:RE" ], [ "600", "Lateral pharyngeal wall \nTonsillar pillars and fossae\nTonsils", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:RE", "VALUE:RE" ], [ "650", "Soft palate including uvula", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:RE", "VALUE:RE" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCode 700 defined as \"Mandible\" in CSv1. All CSv1 cases should be reviewed and recoded to 535 or 725 as appropriate.\n\nMandible", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "720", "Deep (extrinsic) muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "725", "Trabecular bone of mandible", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "760", "Skin of face", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "770", "Bone of maxilla\nMaxilla, NOS", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "780", "Labial mucosa (inner lip), upper lip ", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:RE" ], [ "785", "780 + (760 or 770)\n\nMucosa upper lip plus any structure in code 760 or 770", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "788", "Specified bone\n (Other than mandible, maxilla, and bones in codes 795 and 805)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "790", "OBSOLETE DATA CONVERTED V0200\nSee code 805\n\nSkull", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "795", "Masticator space\nPterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension, including:\n Masticator space\n Pterygoid plates\n Skull base\n Encases internal carotid artery ", "ERROR:", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "805", "Further contiguous extension, including:\n Base of skull\n Internal carotid artery (encased)\n Skull", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdm.json deleted file mode 100644 index 10818d010..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdm.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bdm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Superficial erosion alone of bone/tooth socket by gingival primary is not sufficient to code as bone involvement (code 700).\n\n**Note 2**: Periosteum is a fibrous membrane that wraps the outer surface of bones. Mucoperiosteum is a compound structure of muccous membrane and periosteum. Cortical bone is the dense compact outer layer of bone. . Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 3**: AJCC assigns the T category based on size when bone involvement is limited to the cortex. Involvement through cortical bone is required for assignment of T4a.\n\n**Note 4**: The assignment of T1, T2 , and T3 categories for tumors of the lip and oral cavity is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 405, 410, 415, 775, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 5**: Use code 300 for localized tumor only if no information is available to assign code 100, 405, 410, or 415.", - "footnotes" : "- For CS Extension codes 100-650 ONLY, the T category for AJCC 7staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-650 ONLY, the T category for AJCC 6 Edition staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:10.702Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situintraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to lamina propria (mucoperiosteum) (stroma)", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:L", "VALUE:L" ], [ "405", "Stated as T1 with no other information on extension", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T2 with no other information on extension", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:L", "VALUE:L" ], [ "415", "Stated as T3 with no other information on extension", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCode 500 defined as \"Buccal mucosa (inner cheek), Floor of mouth, Labial mucosa (inner lip), lip, Tongue\" in Csv1. Code 500 defined as \"Buccal mucosa (inner cheek), Floor of mouth, Labial mucosa (inner lip), upper lip, Labial mucosa (inner lip), lip, NOS\" in CSv2: V0201, V0202. All cases should be reviewed and recoded to 510, 780, or 785 as appropriate.\n\nBuccal mucosa (inner cheek)\nFloor of mouth\nLabial mucosa (inner lip), upper lip\nLabial mucosa (inner lip), lip , NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "510", "Buccal mucosa (inner cheek)\nFloor of mouth\nLabial mucosa (inner lip), upper lip\nLabial mucosa (inner lip), lip , NOS", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:RE", "VALUE:RE" ], [ "535", "Cortical bone of maxilla\nMaxilla , NOS\nCortical bone, NOS (not specified in higher codes)\nBone , NOS (not specified in higher codes)", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:RE", "VALUE:RE" ], [ "550", "Facial muscle, NOS\nSubcutaneous soft tissue of face", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:RE", "VALUE:RE" ], [ "600", "Lateral pharyngeal wall \nTonsillar pillars and fossae \nTonsils", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:RE", "VALUE:RE" ], [ "650", "Hard palate including cortical palatine bone\nSoft palate including uvula", "JUMP:extension_size_xpb", "JUMP:extension_size_xpb", "VALUE:RE", "VALUE:RE" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCode 700 defined as \"Maxilla\" in CSv1. All CSv1 cases should be reviewed and recoded to 535 or 725 as appropriate.\n\nMaxilla", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "720", "Deep (extrinsic) muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "725", "Trabecular bone of maxilla or palatine bone", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "740", "Maxillary (sinus) antrum \nNasal cavity", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "760", "Skin of face", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "770", "Bone of mandible \nMandible, NOS", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "780", "Labial mucosa (inner lip), lower lip", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:RE" ], [ "785", "780 + (740, 760, or 770) \n\nMucosa lower lip plus any structure in code 740, 760, or 770", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "788", "Specified bone\n(Other than maxilla, mandible, and bones in codes 795 and 805)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "790", "OBSOLETE DATA CONVERTED V0200\nSee code 805\n\nSkull", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "795", "Masticator space\nPterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension, including:\n Masticator space\n Pterygoid plates\n Skull base\n Encases internal carotid artery ", "ERROR:", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "805", "Further contiguous extension, including:\n Skull\n Skull base\n Internal carotid artery (encased)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdn.json deleted file mode 100644 index 5a969a8b7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdn.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bdn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Superficial erosion alone of bone/tooth socket by gingival primary is not sufficient to code as bone involvement (code 700).\n\n**Note 2**: Periosteum is a fibrous membrane that wraps the outer surface of bones. Mucoperiosteum is a compound structure of mucous membrane and periosteum. Cortical bone is the dense compact outer layer of bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 3**: AJCC assigns the T category based on size for involvement of cortical bone. Involvement through cortical bone is required for assignment of T4a.\n\n**Note 4**: The assignment of T1, T2 , and T3 categories for tumors of the lip and oral cavity is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 405, 410, 415, 775, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 5**: Use code 300 for localized tumor only if no information is available to assign code 100, 405, 410, or 415.", - "footnotes" : "- For CS Extension codes 100-650 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-650 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:10.766Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to lamina propria (mucoperiosteum) (stroma)", "JUMP:extension_size_xjg", "JUMP:extension_size_xjg", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xjg", "JUMP:extension_size_xjg", "VALUE:L", "VALUE:L" ], [ "405", "Stated as T1 with no other information on extension", "JUMP:extension_size_xjg", "JUMP:extension_size_xjg", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T2 with no other information on extension", "JUMP:extension_size_xjg", "JUMP:extension_size_xjg", "VALUE:L", "VALUE:L" ], [ "415", "Stated as T3 with no other information on extension", "JUMP:extension_size_xjg", "JUMP:extension_size_xjg", "VALUE:L", "VALUE:L" ], [ "500", "Buccal mucosa (inner cheek)\nLabial mucosa (inner lip), lip\nTongue (mucosa)", "JUMP:extension_size_xjg", "JUMP:extension_size_xjg", "VALUE:RE", "VALUE:RE" ], [ "535", "Cartilage of mandible or maxilla\nCortical bone of mandible or maxilla\nMandible, NOS\nMaxilla, NOS\nCartilage, NOS\nCortical bone, NOS\nBone, NOS", "JUMP:extension_size_xjg", "JUMP:extension_size_xjg", "VALUE:RE", "VALUE:RE" ], [ "550", "Facial muscle, NOS\nSubcutaneous soft tissue of face", "JUMP:extension_size_xjg", "JUMP:extension_size_xjg", "VALUE:RE", "VALUE:RE" ], [ "600", "Lateral pharyngeal wall \nTonsillar pillars and fossae \nTonsils", "JUMP:extension_size_xjg", "JUMP:extension_size_xjg", "VALUE:RE", "VALUE:RE" ], [ "650", "Soft palate including uvula", "JUMP:extension_size_xjg", "JUMP:extension_size_xjg", "VALUE:RE", "VALUE:RE" ], [ "720", "Deep (extrinsic) muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "725", "Trabecular bone: \n Mandible\n Maxilla\n Palatine bone", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "760", "Skin of face", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "770", "Maxillary sinus (antrum)", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "788", "Specified bone\n(Other than maxilla, mandible, or bones in codes 795 and 805)", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "790", "OBSOLETE DATA CONVERTED V0200\nSee code 805\n\nSkull", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "795", "Masticator space\nPterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension, including:\n Masticator space\n Pterygoid Plates\n Skull base\n Encases internal carotid artery ", "ERROR:", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "805", "Further contiguous extension including:\n Base of skull\n Internal carotid artery (encased)\n Skull", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdo.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdo.json deleted file mode 100644 index dd29b64c2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdo.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bdo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC 7th Edition T1 and T2 categories are based on size and high risk features and not depth of invasion or extension. AJCC 7th Edition does not include a T3 category for scrotum.\n\n**Note 2**: The assignment of the T1 category for cutaneous squamous cell carcinomas with one or no high-risk features is based on tumor size. A physician's statement of the T1 category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use codes 310, 320, and 810 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 3**: Use code 300 (Localized, NOS) when no further information is available to assign code 100, 305, 310, or 320.", - "footnotes" : "- For CS Extension codes 100-310 and 400-800 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size and CS Site-Specific Factor 12, High Risk Features, as shown in the Extension Size High Risk Table for this schema.\n- For CS Extension codes 100-310, 400, and 450 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:10.819Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, noninvasive\nBowen disease", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Confined to scrotum", "JUMP:extension_size_high_risk_xfa", "JUMP:extension_size_ajcc6_xqb", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_high_risk_xfa", "JUMP:extension_size_ajcc6_xqb", "VALUE:L", "VALUE:L" ], [ "305", "Subcutaneous tissue", "JUMP:extension_size_high_risk_xfa", "JUMP:extension_size_ajcc6_xqb", "VALUE:L", "VALUE:L" ], [ "310", "Stated as T1 with no other information on extension", "JUMP:extension_size_high_risk_xfa", "JUMP:extension_size_ajcc6_xqb", "VALUE:L", "VALUE:L" ], [ "320", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 450 and 500\n\nAdjacent connective tissue\n(See definition of connective tissue in General Rules, Part I)", "JUMP:extension_size_high_risk_xfa", "JUMP:extension_size_ajcc6_xqb", "VALUE:RE", "VALUE:RE" ], [ "450", "Adjacent connective tissue excluding skeletal muscle", "JUMP:extension_size_high_risk_xfa", "JUMP:extension_size_ajcc6_xqb", "VALUE:RE", "VALUE:RE" ], [ "500", "Skeletal muscle", "JUMP:extension_size_high_risk_xfa", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "600", "Adjacent organs/structures:\n Male genital organs:\n Epididymis\n Penis\n Prostate\n Spermatic cord\n Testis", "JUMP:extension_size_high_risk_xfa", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "650", "Underlying cartilage", "JUMP:extension_size_high_risk_xfa", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension:\n Other organs and structures in male pelvis:\n Bladder\n Rectum\n Urethra", "JUMP:extension_size_high_risk_xfa", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "805", "Bone:\n Axial or appendicular skeleton", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension ", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdp.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdp.json deleted file mode 100644 index 20f74c2c0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdp.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bdp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC considers \"in situ carcinoma of the adrenal gland\" an impossible diagnosis. Any case so coded is mapped to TX for AJCC stage and in situ Summary Stage.\n\n**Note 2**: The assignment of T1 and T2 categories for tumors limited to the adrenal gland is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 200, 250, 400, or 810 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 3**: Use code 300 (Localized, NOS) when no further information is available to assign code 100, 200, or 250.", - "footnotes" : "- For CS Extension codes 100-300 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:10.869Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "050", "OBSOLETE DATA RETAINED V0200\n\nCode used in EndocrineOther schema, CSv1\n\nFor C75.1 pituitary gland, C75.2 craniopharyngeal duct and C75.3 pineal gland ONLY:\n Benign or borderline tumors", "ERROR:", "VALUE:NA", "VALUE:NA", "VALUE:NA" ], [ "100", "Invasive carcinoma confined to adrenal gland", "JUMP:extension_size_xde", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "Stated as T1 with no other information on extension", "JUMP:extension_size_xde", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "250", "Stated as T2 with no other information on extension", "JUMP:extension_size_xde", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xde", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue \n(See definition in General Rules, Part I):\n Gerota's fascia\n\nStated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA CONVERTED V0203\nSee code 605\n\nAdjacent organs/structures:\n Kidney \n Retroperitoneal structures", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "605", "Adjacent organs/structures:\n Kidney, ipsilateral or NOS\n Retroperitoneal structures including:\n Great vessels:\n Aorta\n Inferior vena cava", "VALUE:T4", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "750", "Pancreas", "VALUE:T4", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension including:\n Diaphragm\n Liver\n Spleen", "VALUE:T4", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdr.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdr.json deleted file mode 100644 index e28142ad2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdr.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bdr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: For this site, AJCC defines Tis as high-grade dysplasia, which includes \"all non-invasive neoplastic epithelium that was previously called carcinoma in situ.\" Cancers stated to be noninvasive or in situ are classified as Tis. High-grade dysplasia is generally not reportable in cancer registries, but if a registry does collect it, code 000 should be used.\n\n**Note 2**: Use codes 110, 120, and 160 in preference to code 150 if information about the depth of invasion into the layers of the polyp is available.\n\n**Note 3**: Ignore intraluminal extension to adjacent segment(s) of esophagus or to more distal parts of stomach and code depth of invasion or extra-gastric spread as indicated.\n\n**Note 4**: If the diagnosis states linitis plastica and no other information regarding extension is available, use code 350. Linitis plastica is defined as diffuse involvement of the entire stomach wall.\n\n**Note 5**: Codes 600-700 are used for contiguous extension from the site of origin. Discontinuous involvement is coded in CS Mets at DX, except for implants within the stomach (code 300).", - "last_modified" : "2015-05-27T16:19:10.917Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, non-invasive; high-grade dysplasia", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "050", "(Adeno)carcinoma, noninvasive, in a polyp", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to mucosa, NOS, (including intramucosal, NOS)", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "110", "Invades lamina propria", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "120", "Invades muscularis mucosae", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "125", "Stated as T1a with no other information on extension", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "130", "OBSOLETE DATA RETAINED V0200\nCardia/GE Junction (EGJ), and the proximal 5 cm of the fundus and body of the stomach have been moved into this schema from the Stomach schema in CSv2, and the detailed polyp information is not required\n\nConfined to head of polyp\nExtension to stalk", "ERROR:", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "140", "OBSOLETE DATA RETAINED V0200\nCardia/EGJ and the proximal 5 cm of the fundus and body of the stomach have been moved into this schema from Stomach schema in CSv2, and detailed polyp information is not required\n\nConfined to stalk of polyp", "ERROR:", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "150", "Tumor in polyp NOS", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "160", "Invades submucosa (superficial invasion)\n\nStated as T1b with no other information on extension", "VALUE:T1b", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "170", "Stated as T1 [NOS] with no other information on extension", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Invades into but not through muscularis propria", "VALUE:T2", "VALUE:T2a", "VALUE:L", "VALUE:L" ], [ "300", "Implants inside stomach \nLocalized, NOS", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "350", "Linitis plastica (and no other information regarding extension available) \n(See Note 4)", "VALUE:T2", "VALUE:T2a", "VALUE:RE", "VALUE:L" ], [ "360", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2NOS", "VALUE:L", "VALUE:L" ], [ "400", "Extension through wall, NOS \nInvasion through muscularis propria or muscularis, NOS\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded", "VALUE:T3", "VALUE:T2b", "VALUE:L", "VALUE:L" ], [ "420", "Adventitia and/or soft tissue invaded\nEsophagus is described as \"FIXED\"", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "430", "OBSOLETE DATA CONVERTED V0203 See code 480 Stated as T3 [NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "450", "Extension to adjacent (connective) tissue \nWITHOUT perforation of visceral peritoneum covering these structures:\n Gastric artery\n Ligaments: \n Gastrocolic\n Gastrohepatic\n Gastrosplenic\n Omentum, NOS\n Greater\n Lesser\n Perigastric fat", "VALUE:T3", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "480", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T2b", "VALUE:L", "VALUE:RE" ], [ "500", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum), including perforation of visceral peritoneum covering the gastric ligaments or the omentum WITHOUT invasion of adjacent structures", "VALUE:T4a", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "550", "500 + 450", "VALUE:T4a", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "570", "Pericardium\nPleura\nDiaphragm", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "580", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 570, 605, and 615\n\nDiaphragm\nDuodenum via serosa or NOS\nEsophagus via serosa\nIleum\nJejunum\nLiver\nPancreas\nSmall intestine, NOS\nSpleen\nTransverse colon (including flexures)", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "605", "Duodenum via serosa \nDuodenum, NOS\nEsophagus via serosa\nIleum\nJejunum\nLiver\nPancreas\nSmall intestine, NOS\nSpleen\nTransverse colon (including flexures)", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "610", "OBSOLETE DATA REVIEWED V0203\nSee codes 570 and 615\n\nPleura \nPericardium", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "615", "605 + 570", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "700", "Abdominal wall\nAdrenal gland\nKidney\nRetroperitoneum", "VALUE:T4a", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "710", "OBSOLETE DATA CONVERTED V0203\nSee code 810\n\nStated as T4 [NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "720", "OBSOLETE DATA CONVERTED V0203\nSee code 580\n\nStated as T4a [NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "800", "Further contiguous extension including but not limited to:\n Aorta\n Vertebral body\n Trachea\nStated as unresectable, NOS", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "805", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "820", "OBSOLETE DATA CONVERTED V0203\nSee code 805\n\nStated as T4b [NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bds.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bds.json deleted file mode 100644 index 7cb60d2cd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bds.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bds", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 2**: Skin ulceration does not alter the AJCC T category.\n\n**Note 3**: In-transit metastasis is coded in CS Lymph Nodes.\n\n**Note 4**: The assignment of the T1, T2, and T3 categories for Merkel cell carcinomas is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use codes 600, 610, 620, and 810 as appropriate to code CS Extension based on a statement of T when no other extension information is available.", - "footnotes" : "- For CS Extension codes 100, 400, 500, 600, 610, and 620 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100, 400, 500, 600, 610, and 620 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:10.973Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Lesion(s) confined to dermis", "JUMP:extension_size_xdb", "JUMP:extension_size_xdb", "VALUE:L", "VALUE:L" ], [ "400", "Localized, NOS", "JUMP:extension_size_xdb", "JUMP:extension_size_xdb", "VALUE:L", "VALUE:L" ], [ "500", "Subcutaneous tissue (through entire dermis)", "JUMP:extension_size_xdb", "JUMP:extension_size_xdb", "VALUE:L", "VALUE:L" ], [ "600", "Stated as T1 with no other information on extension", "JUMP:extension_size_xdb", "JUMP:extension_size_xdb", "VALUE:L", "VALUE:L" ], [ "610", "Stated as T2 with no other information on extension", "JUMP:extension_size_xdb", "JUMP:extension_size_xdb", "VALUE:L", "VALUE:L" ], [ "620", "Stated as T3 with no other information on extension", "JUMP:extension_size_xdb", "JUMP:extension_size_xdb", "VALUE:L", "VALUE:L" ], [ "680", "Fascia", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "700", "Underlying cartilage, bone, skeletal muscle", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdt.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdt.json deleted file mode 100644 index 65da7ef7f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdt.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bdt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use codes 400-450 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 105, 470, or 520.\n\n**Note 5**: Use code 470, 775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:11.021Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to:\n Labial mucosa (inner lip)\n Lamina propria\n Multiple foci\n Submucosa (superficial invasion)\n Vermilion surface\nSuperficial extension to:\n Skin of lip\n Subcutaneous soft tissue of lip", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of upper lip:\n Labial mucosa (inner lip)\n Vermilion surface", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA CONVERTED V0200\nSee code 520\n\nMusculature", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Extension involving mucosa only:\n Inner cheek (buccal mucosa)\n Commissure\n Opposite lip (both lips)", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "410", "Extension involving mucosa only:\n Upper gingiva\n Gingiva, NOS", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "440", "Extension involving mucosa only:\n Lower gingiva", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "450", "Extension involving mucosa only:\n Floor of mouth\n Tongue", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "470", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nBuccal mucosa (inner cheek) \nCommissure \nOpposite (both) lip(s)", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nGingiva", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "520", "Involvement of deep soft tissue or musculature of upper lip\nSoft tissue NOS", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "530", "520 + (400 or 410)\n\nInvolvement of deep soft tissue or musculature of upper lip plus mucosal involvement of any structure in code 400 or 410", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "540", "Involvement of deep soft tissue or musculature of any structure in code 400", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "Involvement of deep tissue or periosteum of upper gingiva", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "Cartilage of maxilla\nCortical bone of maxilla\nMaxilla, NOS\nCartilage NOS\nCortical bone, NOS\nBone, NOS except base of skull", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "705", "(520 -700) + 440\n\nInvolvement of any structure in codes 520 - 700 plus mucosa of lower gingiva", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "710", "Deep tissue or periosteum of lower gingiva", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "740", "Skin of nose", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "743", "740 + (440 or 710)\n\nSkin of nose plus mucosa or deep tissue lower gingiva", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "745", "(520 - 740) + 450\n\nInvolvement of any structure in codes 520 - 740 plus mucosa of floor of mouth or tongue", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "748", "Involvement of deep tissue or musculature of floor of mouth or tongue\nInferior alveolar nerve", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "750", "OBSOLETE DATA RETAINED V0200\n\nTongue", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "755", "Extrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "760", "Skin of face/neck", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "765", "Cartilage of mandible\nCortical bone of mandible\nMandible, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "770", "OBSOLETE DATA RETAINED V0200\n\nCartilage of mandible\nCortical bone of mandible\nFloor of mouth\nInferior alveolar nerve", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "790", "Contiguous extension:\n Base of skull\n Carotid artery (encased)\n Masticator space\n Pterygoid plates", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension:\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdu.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdu.json deleted file mode 100644 index 38c1bbe9c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdu.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bdu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include an in situ category for carcinoid tumors of appendix. Any case so coded will be mapped to TX for AJCC 7 stage and in situ Summary Stage. Cases coded with 000 will continue to map to Tis if AJCC 6 staging is applicable.\n\n**Note 2**: The assignment of T1, T1a, and T1b categories for carcinoid of appendix is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use code 320, 330, or 335, 410, 490, or 850 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 3**: Codes 405-750 are used for contiguous extension from the site of origin. Discontinuous involvement is coded in CS Mets at DX.\n\n**Note 4**: Tumor that is adherent to other organs or structures, macroscopically, is classified cT4b. If tumor is present in adhesion(s) upon microscopic examination, the tumor is classified as pT4b. Use code 565 for macroscopic adhesions if no pathologic confirmation, and for pathologically confirmed tumor in adhesions. However, if no tumor is present in adhesion(s) upon microscopic examination, the classification is based upon extent of tumor invasion into or through the wall; use codes 000, 100, 160, 200, 370, 451, and 470 as appropriate to describe the microscopically confirmed depth of tumor invasion for these cases. Use codes 601-650, 670, 701, and 751-800 to code invasion of underlying structures from the adherent tumor.", - "footnotes" : "- For CS Extension codes 100-120, 160-300, 320-335, 370, 401-410, and 451 ONLY, the T category is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this schema.", - "last_modified" : "2015-05-27T16:19:11.079Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "050", "(Adeno)carcinoma, noninvasive, in a polyp or adenoma", "VALUE:TX", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to mucosa, NOS (including intramucosal, NOS)", "JUMP:extension_size_ajcc7_xdj", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "110", "Invades lamina propria", "JUMP:extension_size_ajcc7_xdj", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "120", "Invades muscularis mucosae", "JUMP:extension_size_ajcc7_xdj", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "130", "OBSOLETE DATA RETAINED V0200 \n\nConfined to head of polyp, NOS", "ERROR:", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "140", "OBSOLETE DATA RETAINED V0200\n \nConfined to stalk of polyp, NOS", "ERROR:", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "150", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor in polyp, NOS", "ERROR:", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "160", "Invades submucosa (superficial invasion)", "JUMP:extension_size_ajcc7_xdj", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Invades muscularis propria ", "JUMP:extension_size_ajcc7_xdj", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "300", "Confined to appendix, NOS \nLocalized, NOS", "JUMP:extension_size_ajcc7_xdj", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "310", "OBSOLETE DATA CONVERTED V0203\nSee code 335\n\nStated as T1, NOS with no other \ninformation on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "320", "Stated as T1a with no other information on extension", "JUMP:extension_size_ajcc7_xdj", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "330", "Stated as T1b with no other information on extension", "JUMP:extension_size_ajcc7_xdj", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "335", "Stated as T1 [NOS] with no other information on extension", "JUMP:extension_size_ajcc7_xdj", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "340", "OBSOLETE DATA CONVERTED V0203\nSee code 410\n\nStated as T2 with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "350", "OBSOLETE DATA CONVERTED V0203\nSee code 490\n\nStated as T3 with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "370", "Extension to cecum", "JUMP:extension_size_ajcc7_xdj", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA REVIEWED AND CHANGED V0203 \nCode 400 was defined as \"Extension through wall, NOS, Non-peritonealized pericolic tissues invaded, Perimuscular tissue invaded, Subserosal tissue/(sub)serosal fat invaded, Transmural, NOS in CSv1. Code 400 was defined as \"Extension to cecum\" in CSv2: V0201, V0202. All cases should be reviewed and recoded to appropriate codes; see codes 370, 401.\n\nExtension to cecum", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "401", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nNon-peritonealized pericolic tissues invaded\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS", "JUMP:extension_size_ajcc7_xdj", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xdj", "VALUE:TX", "VALUE:L", "VALUE:L" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 458\n \nFat, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "450", "OBSOLETE DATA REVIEWED AND CHANGED V0203 \nCode 450 was defined as \"Extension to: Adjacent tissue(s), NOS, Connective tissue, Mesenteric fat, Mesentery, Mesoappendix, Mesocolon, Pericolic fat\" in CSv1. Code 450 was defined as \"Extension to ileum\" in CSv2: V0201, V0202. All cases should be reviewed and recoded to appropriate codes; see codes 451, 470. \n\nExtension to ileum", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "451", "Extension to:\n Adjacent tissue(s), NOS\n Connective tissue\n Mesenteric fat\n Mesentery\n Mesoappendix\n Mesocolon\n Pericolic fat", "JUMP:extension_size_ajcc7_xdj", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "458", "Fat, NOS", "JUMP:extension_size_ajcc7_xdj", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "460", "OBSOLETE DATA RETAINED V0200 \n\nAdherent to other organs or structures, but no microscopic tumor found in adhesion(s)", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "470", "Extension to ileum", "VALUE:T3", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "490", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:TX", "VALUE:RE", "VALUE:RE" ], [ "500", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCode 500 was defined as \"Invasion of/through serosa (mesothelium) (visceral peritoneum)\" in CSv1. Code 500 was defined as \"Abdominal wall, Skeletal muscles\" in CSv2: V0201, V0202. All cases should be reviewed and recoded to appropriate codes; see codes 501, 650, and 670\n\nAbdominal wall\nSkeletal muscles", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "501", "OBSOLETE DATA RETAINED V0203\n\nInvasion of/through serosa (mesothelium) (visceral peritoneum)", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "550", "OBSOLETE DATA RETAINED V0200 \n\nAny of [(420) to (451)] + (501)", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "565", "Adherent to other organs or structures clinically with no microscopic examination\nTumor found in adhesion(s) if microscopic examination performed", "VALUE:T4", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "570", "Adherent to other organs or structures, NOS", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA REVIEWED AND CHANGED V0203 Code 600 was defined as \"Small intestine, Greater omentum\" in CSv1. Code 600 was defined as \"Perineum, Vulva\" in CSv2: V0201, V0202. All cases should be reviewed and recoded to appropriate codes; see codes 601, 800.\n\nPerineum\nVulva", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "601", "Small intestine\nGreater omentum", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "650", "Abdominal wall \nRetroperitoneum (excluding fat)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "660", "OBSOLETE DATA RETAINED V0200 \n\nAscending colon:\n Right kidney\n Right ureter\nDescending colon:\n Left kidney\n Left ureter", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "670", "Skeletal muscle", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0203 Code 700 was defined as \"Bladder, Pelvic peritoneum, Urethra, Vagina\" in CSv1. Code 700 was defined as \"Fallopian tube, Ovary, Uterus\" in CSv2: V0201, V0202. All cases should be reviewed and recoded to appropriate codes; see codes 701, 800.\n\nBladder\nPelvic peritoneum\nUrethra\nVagina", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "701", "Bladder\nPelvic peritoneum\nUrethra\nVagina", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "OBSOLETE DATA REVIEWED AND CHANGED V0203 Code 750 was defined as \"Adrenal (suprarenal) gland, Bladder, Diaphragm, Fistula to skin, Gallbladder, Other segment(s) of colon via serosa\" in CSv1. Code 750 was defined as \"Broad ligament(s), Cervix uteri, Corpus uteri, Prostate\" in CSv2: V0201, V0202. All cases should be reviewed and recoded to appropriate codes; see codes 751, 800.\n\nBroad ligament(s)\nCervix uteri\nCorpus uteri\nProstate", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "751", "Adrenal (suprarenal) gland\nDiaphragm\nFistula to skin\nGallbladder\nOther segment(s) of colon via serosa", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension:\n Kidney\n Liver\n Ureter\n Other contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "850", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdv.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdv.json deleted file mode 100644 index 851e2e897..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdv.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bdv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use codes 305 and 315 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 310 for localized tumor only if no information is available to assign code 105, 115, 125, 305, 320, 340, or 350.\n\n**Note 5**: Use code 320, 775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:11.135Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n \nInvasive tumor with normal vocal cord mobility \nConfined to glottis, NOS; intrinsic larynx; laryngeal commissure(s) anterior, posterior; vocal cord(s), NOS, true vocal cord(s), true cord(s)", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa only:\n Glottis, NOS\n Intrinsic larynx\n Laryngeal commissure(s), anterior, posterior\n Vocal cord(s), NOS, true vocal cord(s), true cord(s)\nWITH normal vocal cord mobility", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "110", "OBSOLETE DATA RETAINED V0200\n\nOne vocal cord", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "115", "Mucosal tumor confined to one vocal cord", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "120", "OBSOLETE DATA RETAINED V0200\n\nBoth vocal cords", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "125", "Mucosal tumor involving both vocal cords", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nTumor involves adjacent regions(s) of larynx\n Subglottis\n Supraglottis\n False vocal cord(s)", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "305", "Extension involving mucosa only of adjacent region(s) of larynx:\n Subglottis\n Supraglottis:\n Aryepiglottic fold\n Arytenoid cartilage:\n Corniculate tubercle\n Cuneiform tubercle\n Ventricular bands (false vocal cord(s))", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "310", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "315", "Extension involving mucosa only of adjacent regions:\n Base of tongue\n Hypopharynx, NOS\n Pre-epiglottic tissues\n Postcricoid area\n Pyriform sinus\n Vallecula", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "320", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "340", "Involvement of deep tissues of any structures in codes 105, 115, 125, or 305\nSoft tissue, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "350", "Involvement of any structures in codes 105, 115, 125, or 305 \nWITH impaired vocal cord mobility", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nTumor limited to larynx WITH vocal cord fixation\nInvolvement of intrinsic muscle(s):\n Aryepiglottic\n Corniculate tubercle\n Cuneform tubercule\n Arytenoid\n Cricoarytenoid\n Cricothyroid\n Thyroepiglottic\n Thyroarytenoid\n Vocalis", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "450", "OBSOLETE DATA RETAINED V0200\n\nLocalized, NOS", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "460", "(340, 350, or 400) + 315\n\nInvolvement of any structures in codes 340, 350, or 400 plus mucosal involvement of any structures in code 315", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "480", "Involvement of deep tissue or musculature of any structure in code 315 \nWITH or WITHOUT vocal impairment or fixation of larynx or NOS", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "Paraglottic space", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "520", "Minor thyroid cartilage erosion (inner cortex)", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nBase of tongue\nHypopharynx, NOS\nPre-epiglottic tissues\nPostcricoid area\nPyriform sinus\nVallecula", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "610", "520 + 480\n\nMinor thyroid cartilage erosion plus nvolvement of any structure in code 480", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "680", "Extension to/through:\n Cricoid cartilage\n Thyroid cartilage except minor erosion, see code 520", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "700", "Extension to/through tissues beyond larynx:\n Strap muscles:\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Oropharynx\n Skin\n Soft tissue of neck\n Thyroid gland\n Trachea", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "710", "Cervical esophagus", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "730", "Deep extrinsic muscle(s) of tongue", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Contiguous extension, including:\n Carotid artery (encased)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Base of skull\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdw.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdw.json deleted file mode 100644 index f271e4982..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdw.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bdw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a T category or stage grouping for in situ melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA, and AJCC stage group is derived as NA. \n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use codes 305 and 315 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 310 for localized tumor only if no information is available to assign code 105, 205, 305, 340, 345, or 400.\n\n**Note 5**: Use code 320, 775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:11.194Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to site of origin", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of site of origin", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nTumor involves more than one subsite,\nWITHOUT fixation or NOS", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "205", "Extension involving mucosa only of more than one subsite of supraglottis, glottis, or subglottis \nWITHOUT impairment of vocal cord mobility or fixation of larynx or NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nTumor involves adjacent regions(s) of larynx", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "305", "Extension involving mucosa only of adjacent region(s) of larynx \nWITHOUT impairment of vocal cord mobility or fixation of larynx or NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "310", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "315", "Extension involving mucosa only of adjacent regions:\n Base of tongue\n Hypopharynx, NOS\n Pre-epiglottic tissues\n Postcricoid area\n Pyriform sinus\n Vallecula", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "320", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "340", "Involvement of deep tissues of any structures in code 105, 205, or 305\nSoft tissue, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "345", "Involvement of any structure in code 105, 205, or 305 WITH impaired vocal cord mobility", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "350", "OBSOLETE DATA RETAINED V0200\n\nImpaired vocal cord mobility", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Tumor limited to larynx \nWITH vocal cord fixation", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "450", "OBSOLETE DATA RETAINED V0200\n\nLocalized, NOS", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "460", "(340, 345, or 400) + 315\n\nInvolvement of any structures in code 340, 345, or 400 plus mucosal involvement of any structures in code 315", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "500", "Involvement of deep tissue or musculature of any structure in code 315 \nWITH or WITHOUT vocal impairment or fixation of larynx or NOS", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nHypopharynx, NOS\nPostcricoid area\nPre-epiglottic tissues\nPyriform sinus (pyriform fossa)\nVallecula", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "680", "Extension to/through:\n Cricoid cartilage\n Thyroid cartilage", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "700", "Extension to/through:\n Cervical esophagus\n Deep muscle of tongue\n Extrinsic (strap) muscles:\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Oropharynx\n Skin\n Soft tissues of neck\n Thyroid gland\n Trachea", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "800", "Contiguous extension, including:\n Carotid artery (encased)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Base of skull\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdx.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdx.json deleted file mode 100644 index 218c105af..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdx.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bdx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use codes 200 and 315 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 310 for localized tumor only if no information is available to assign code 105, or 200, 340, 345, or 400.\n\n**Note 5**: Use code 320, 775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:11.249Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor with normal vocal cord mobility confined to subglottis", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of subglottis \nWITH normal vocal cord mobility", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "Extension involving mucosa only of adjacent region(s) or of larynx:\n Supraglottis \n Glottis\nWITH normal vocal cord mobility", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nTumor involves adjacent regions(s) of larynx\nVocal cords with normal or impaired mobility", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "310", "Localized , NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "315", "Extension involving mucosa only of adjacent regions:\n Base of tongue\n Hypopharynx, NOS\n Postcricoid area\n Pre-epiglottic tissues \n Pyriform sinus\n Vallecula", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "320", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "340", "Involvement of deep tissues of any structure in code 105 or 200", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "345", "Involvement of any structures in code 105 or 200 \nWITH impaired vocal cord mobility", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Tumor limited to larynx \nWITH vocal cord fixation", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "450", "OBSOLETE DATA RETAINED V0200\n\nLocalized, NOS", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "460", "(340, 345, 400) + 315 \n\nInvolvement of any structures in code 340, 345, or 400 plus involvement of any structure in code 315", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "500", "Involvement of deep soft tissues or musculature of any structure in code 315 \nWITH or WITHOUT vocal cord impairment or fixation of larynx or NOS", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nBase of tongue\nHypopharynx, NOS\nPostcricoid area\nPre-epiglottic tissues\nPyriform sinus (pyriform fossa)\nVallecula", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "680", "Extension to/through:\n Cricoid cartilage \n Thyroid cartilage", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "700", "Extension to/through:\n Cervical esophagus\n Deep muscle of tongue\n Strap muscles:\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Oropharynx\n Skin\n Soft tissues of neck\n Thyroid gland\n Trachea", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "730", "OBSOLETE DATA RETAINED V0200\n\nContiguous extension to other tissues beyond larynx not specified in codes 700 or 800", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "800", "Contiguous extension:\n Carotid artery (encased)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Base of skull\n Brain\n Dura \n Lower cranial nerves (IX, X, XI, XII)\n Masticator space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdy.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdy.json deleted file mode 100644 index 76b0beeac..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bdy.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bdy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA. \n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites. \n\n**Note 3**: Use codes 250 and 305 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 275 for localized tumor only if no information is available to assign code 105, 205, 250, 370, 375, or 405. \n\n**Note 5**: Use code 340, 775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:11.298Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n \nInvasive tumor with normal vocal cord mobility confined to:\n Supraglottis (one subsite):\n Aryepiglottic fold\n Arytenoid cartilage\n Corniculate cartilage\n Cuneiform cartilage\n Epilarynx, NOS\n False cords\n Ventricular bands\n Ventricular cavity\n Ventricular fold\n Infrahyoid epiglottis\n Laryngeal cartilage, NOS\n Laryngeal (posterior) surface of epiglottis\n Suprahyoid epiglottis (including tip, lingual {anterior} and laryngeal surfaces)", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of supraglottis: \n Supraglottis (one subsite):\n Aryepiglottic fold\n Arytenoid cartilage:\n Corniculate cartilage\n Cuneiform cartilage\n Epilarynx, NOS\n False cords:\n Ventricular bands\n Ventricular cavity\n Ventricular fold\n Infrahyoid epiglottis\n Laryngeal cartilage, NOS\n Laryngeal (posterior) surface of epiglottis\n Suprahyoid epiglottis (including tip, lingual {anterior} and laryngeal surfaces)\nWITH normal vocal cord mobility", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nTumor involves more than one subsite of supraglottis\nWITHOUT fixation or NOS", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "205", "Extension involving mucosa only of more than one subsite of supraglottis listed in code 105 \nWITHOUT impaired vocal cord mobility or fixation of larynx or NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "250", "Extension involving mucosa only of glottic larynx or subglottis \nWITHOUT impaired vocal cord mobility or fixation of larynx or NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "275", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nTumor involves adjacent regions(s) of larynx ", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "305", "Extension involving mucosa only of adjacent regions(s) outside supraglottis including: \n Mucosa of base of tongue\n Vallecula\n Medial wall of pyriform sinus\nWITHOUT impaired vocal cord mobility or fixation of larynx or NOS", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "340", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "350", "OBSOLETE DATA RETAINED V0200\n \nImpaired vocal cord mobility", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "370", "Involvement of deep tissues of any structure in code 105, 205, or 250 ", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "375", "Involvement of any structures in code 105, 205, or 250 \nWITH impaired vocal cord mobility", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nTumor limited to larynx WITH vocal cord fixation", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "405", "Involvement of any structures in supraglottic larynx larynx, and subglottic larynx \nWITH vocal cord fixation", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "410", "(370, 375, 405) + 305 \n\nInvolvement of any structures in code 370, 375, or 405 plus mucosal involvement of any structure in code 305", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "420", "Involvement of deep tissue of any structure in code 305", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "425", "Involvement of any structure in code 305 \nWITH impaired vocal cord mobility", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "450", "OBSOLETE DATA RETAINED V0200\n\nLocalized, NOS", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "520", "Paraglottic space \nWITHOUT vocal cord fixation", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "530", "Minor thyroid cartilage erosion (inner cortex) \nWITHOUT vocal cord fixation", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nTumor involves region outside the supraglottis\nWITHOUT fixation, including:\n Medial wall of pyriform sinus\n Mucosa of base of tongue\n Vallecula", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "605", "Tumor involves further regions outside the supraglottis including:\n Deep tissues or musculature:\n Base of tongue\n Medial wall pyriform sinus\n Vallecula\n Hypopharynx, NOS\n Pre-epiglottic tissues\n Postcricoid area\n Pyriform sinus. NOS\nWITHOUT vocal cord fixation", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "620", "Involvement of any structures in codes 520, 530, and 605 \nWITH vocal cord fixation", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "630", "605 + 530 \n\nAny structure in code 605 plus minor thyroid cartilage erosion", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "650", "OBSOLETE DATA CONVERTED V0200\nSee code 605\n\nHypopharynx, NOS\nPostcricoid area\nPre-epiglottic tissues", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "660", "OBSOLETE DATA CONVERTED V0200\nSee code 605\n\nDeep base of tongue", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "670", "Cricoid cartilage", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "675", "670 + 530", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "680", "OBSOLETE DATA CONVERTED V0200\nSee code 530\n\nMinor thyroid cartilage erosion (e.g., inner cortex)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "700", "Extension to/through:\n Esophagus\n Oropharynx\n Soft tissues of neck\n Thyroid cartilage (except minor erosion, see code 530)\n Thyroid gland", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "720", "Extension to/through:\n Strap muscle(s):\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Skin", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "730", "Extension to/through:\n Deep extrinsic muscles of tongue\n Trachea", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "800", "Contiguous extension, including:\n Carotid artery (encased)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Base of skull\n Brain \n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_beb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_beb.json deleted file mode 100644 index d73ffabc7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_beb.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_beb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Use code 360 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites.\n\n**Note 2**: Use code 300 for localized tumor only if no information is available to assign code 105 or 360.", - "last_modified" : "2015-05-27T16:19:11.352Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to mucosa of one of the following\n Frontal sinus\n Sphenoid sinus", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of one of the following:\n Frontal sinus\n Sphenoid sinus", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "320", "Tumor confined to mucosa of more than one accessory sinus", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "330", "Tumor confined to mucosa of adjacent structure:\n Nasal cavity:\n Floor\n Lateral wall\n Septum\n Turbinates\n Nasal cavity, NOS \n Nasopharynx", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "340", "OBSOLETE DATA CONVERTED V0203\nSee code 105\n\nStated as T3 with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "360", "Involvement of deep soft tissues of single accessory sinus", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "365", "360 +330\n\nInvolvement of deep soft tissues of single accessory sinus plus mucosal involvement of any structure in code 330", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "370", "Involvement of deep soft tissues of more than one accessory sinus", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "380", "Involvement of deep soft tissues of adjacent structures in code 330", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "390", "Destruction of bony wall of sinus", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nMore than one accessory sinus invaded\nDestruction of bony wall of sinus", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nPalate\nNasal cavity, NOS:\n Floor\n Lateral wall\n Septum\n Turbinates", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "Involvement of hard palate", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "Bone, cartilage:\n Facial bones\n Maxilla\n Orbital structures\n Pterygoid fossa\n Zygoma", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "650", "Anterior orbital contents\nSkin of nose\nSkin of cheek\nMuscles:\n Masseter\n Pterygoid", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nBrain\nCranial nerves\nMuscles:\n Masseter\n Pterygoid\nNasopharynx\nOrbital contents, including eye\nSoft tissue\nSkin", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "725", "OBSOLETE DATA CONVERTED V0203\nSee code 360\n\nStated as T4a with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "750", "Anterior cranial fossa\nBase of skull\nClivus\nCribriform plate\nMiddle cranial fossa", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "790", "Contiguous extension:\n Brain\n Lower cranial nerves (IX, X, XI, XII)\n Dura\n Middle cranial fossa\n Orbital apex", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "OBSOLETE DATA REVIEWED V0203\nSee codes 790, 805\n\nFurther contiguous extension:\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Prevertebral space\n Mediastinal structures", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "805", "Further contiguous extension:\n Carotid artery (encased)\n Masticator space\n Mediastinal structures\n Prevertebral space", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "OBSOLETE DATA CONVERTED V0203\nSee code 750\n\nStated as T4b with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "815", "OBSOLETE DATA CONVERTED V0203\nSee code 360\n\nStated as T4 NOS with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bed.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bed.json deleted file mode 100644 index fae8c4226..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bed.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bed", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use codes 200, 315, 320, 335, 345, 350, and 351 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 105, 200, 315, 345, or 363.\n\n**Note 5**: Use code 352, 725, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:11.406Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to anterior surface of epiglottis with normal vocal cord mobility", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of anterior surface of epiglottis with normal vocal cord mobility", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "Tumor confined to mucosa of adjacent subsite(s) of oropharynx", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nVallecula without fixation of larynx", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "315", "Tumor confined to mucosa of vallecula \nWITHOUT fixation of larynx", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "320", "Mucosa of adjacent subsite(s) of supraglottis (including posterior surface of epiglottis) \nWITHOUT fixation of larynx", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "330", "OBSOLETE DATA RETAINED V0200\n\nLarynx, glottic or NOS, without fixation of larynx", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "335", "Mucosa of larynx, glottis or NOS\nWITHOUT fixation of larynx", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "340", "OBSOLETE DATA RETAINED V0200\n\nPyriform sinus, medial wall or NOS, without fixation of larynx", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "345", "Mucosa of pyriform sinus, medial wall or NOS\nWITHOUT fixation of larynx", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "350", "Mucosa of base of tongue \nWITHOUT fixation of larynx", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "351", "Buccal mucosa\nMucosa of floor of mouth\nMucosa of gum (gingival)", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "352", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "360", "OBSOLETE DATA CONVERTED V0200\nSee code 365\n\nAny of (100) to (350) with vocal cord fixation", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "363", "Involvement of deep tissue or musculature of any structure in codes 100 - 315\nSoft tissue, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "365", "Involvement of any structure in codes 100 - 350 \nWITH vocal cord fixation", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "368", "Involvement of deep tissue or musculature of any structure in codes 320 - 351", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "370", "Paraglottic space\nPre-epiglottic tissues", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "380", "Minor thyroid cartilage erosion (inner cortex)", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "390", "Hypopharynx, NOS\nPostcricoid area\nPyriform sinus except medial wall (see code 340)", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "430", "390 + 280 \n\nAny structure in 390 + Minor thyroid cartilage erosion", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "450", "Soft palate, inferior surface including uvula, or soft palate, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "470", "Nasopharynx, NOS\nSoft palate, superior (nasopharyngeal) surface", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "500", "OBSOLETE DATA RETAINED V0200\n \nBase of tongue, except mucosa (see code 350)\n Buccal mucosa (inner cheek)\n Floor of mouth\n Gum (gingiva)", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "620", "Soft tissues of neck", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "650", "Pterygoid muscle", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "660", "450- to 650 +380 or 430 \n\nAny structure in 450 to 650 plus minor thyroid cartilage erosion coded in 380 or 430", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "670", "Invasion through thyroid cartilage (see also code 380)\nThyroid cartilage, NOS\nCartilage, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "680", "Trachea", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "690", "Esophagus\nStrap muscles:\n Omohyoid \n Sternohyoid\n Sternothyroid\n Thyrohyoid\nThyroid", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "700", "Extrinsic muscles of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "710", "Bone excluding base of skull\nBone, NOS\nOverlying skin\nHard palate\nAnterior two-thirds of tongue\nParotid gland", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "725", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "750", "Prevertebral fascia or muscle\nPrevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "770", "750 + 660 to 700 \n\nAny structure in 750 plus any structure coded in 660 through 700", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "790", "Contiguous extension:\n Carotid artery (encased)\n Mediastinal structures", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension, including:\n Anterior 2/3 of tongue\n Bone\n Encases carotid artery \n Hard palate\n Mandible\n Mediastinal structures\n Parotid gland", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Base of skull\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bee.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bee.json deleted file mode 100644 index b670aa983..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bee.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bee", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use codes 205 and 310 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 105, 205, or 320.\n\n**Note 5**: Use code 320, 638, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:11.478Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to one of the following subsites:\n Laryngopharynx\n Postcricoid area\n Posterior pharyngeal wall\n Pyriform sinus", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of one of the following subsites:\n Laryngopharynx\n Postcricoid area\n Posterior pharyngeal wall\n Pyriform sinus", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "150", "OBSOLETE DATA CONVERTED V0200\nSee code 420\n\nCode 100 with tumor fixation", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nTumor invades more than one subsite of hypopharynx (listed in code 100) WITHOUT fixation", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "205", "Tumor involves mucosa of more than one subsite of hypopharynx (listed in code 105) \nWITHOUT fixation", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "310", "Involvement of mucosa only:\n Larynx\n Nasopharynx\n Oropharynx", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "320", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA RETAINED V0200\n \nOropharynx", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "410", "Involvement of deep soft tissue or musculature of any structure in code 105 or 205\nSoft tissue, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "415", "410 + 310\n\nInvolvement of deep soft tissue or musculature of any structure in code 105 or 205 plus mucosal involvement of any structure in code 310", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "420", "Involvement of any structure in code 105 or 205 \nWITH tumor fixation", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "430", "Involvement of deep soft tissue or musculature of any structure in code 310", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "450", "OBSOLETE DATA RETAINED V0200\n\nCode 200, 300, or 400 with tumor fixation", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "500", "OBSOLETE DATA RETAINED V0200\n \nLarynx", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "OBSOLETE DATA CONVERTED V0104\nSee code 450\n\nAny of codes 100-400 WITH fixation of tumor or fixation, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "550", "Fixation of hemilarynx or larynx", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "Central compartment soft tissues of neck including:\n Prelaryngeal strap muscles\n Subcutaneous fat", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "610", "Esophagus", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "620", "Thyroid gland", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "630", "Cricoid cartilage\nThyroid cartilage\nCartilage, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "635", "Hyoid bone\nBone excluding base of skull\nBone, NOS \nOverlying skin", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "638", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "640", "Prevertebral fascia/muscle(s)", "VALUE:T4b", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "645", "640 + 635 \n \nPrevertebral fascia/muscles plus any structure in code 635", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "650", "Carotid artery (encased)", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "655", "650 + 635\n\nCarotid artery plus any structure in code 635", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "660", "OBSOLETE DATA CONVERTED V0200\nSee code 635\n\nHyoid bone", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "700", "Mediastinal structures", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\n \nFurther contiguous extension", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Base of skull\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bef.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bef.json deleted file mode 100644 index 44d3fdd7d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bef.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bef", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: The intrinsic muscles of tongue are four paired muscles within the tongue which control its shape. The extrinsic muscles originate from structures outside the tongue and control its positioning.\n\n**Note 2**: AJCC does not include a Tis or TX for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 3**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 4**: Use codes 460-495 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites.\n\n**Note 5**: Use code 305 for localized tumor only if no information is available to assign code 110, 405, 510, or 520.\n\n**Note 6**: Use code 510, 785, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:11.531Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor on one side confined to posterior 1/3 of tongue:\n Lamina propria\n Submucosa", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "OBSOLETE DATA REVIEWED V0203\nSee codes 110, 405\n\nTumor confined to mucosa on one side of posterior one-third of tongue", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "110", "Tumor involving mucosa:\n Base of tongue (posterior one-third of tongue):\n Confined to one side\n Midline tumor\n Lingual tonsil", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMusculature, intrinsic or NOS", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nLocalized, NOS\nMidline tumor", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "305", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "310", "OBSOLETE DATA CONVERTED V0203\nSee code 110\n\nMidline tumor confined to mucosa", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nTumor crosses midline", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "405", "Extension involving mucosa only across midline of tongue\nExtension involving mucosa only of lingual tonsil on both sides of tongue", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "460", "Extension involving mucosa only: \n Anterior two-thirds of tongue for base of tongue \n Base of tongue for lingual tonsil\n Floor of mouth\n Lower gingiva", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "470", "Extension involving mucosa only:\n Epiglottis, lingual (pharyngeal) surface\n Glossoepiglottic fold\n Glossopharyngeal fold\n Lateral pharyngeal wall\n Pharyngoepiglottic fold\n Tonsillar pillars and fossae\n Tonsils\n Vallecula", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "480", "Extension involving mucosa only:\n Soft palate including uvula", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "490", "Extension involving mucosa only:\n Larynx\n Hypopharynx", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "495", "Extension involving mucosa only:\n Hard palate", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nAnterior 2/3 of tongue for base of tongue\nBase of tongue for lingual tonsil\nFloor of mouth\nLower gingiva", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "520", "Deep soft tissue or musculature of base of tongue or lingual tonsil\nSoft tissue, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "523", "520+ (460 or 470)\n\nInvolvement of deep soft tissue or musculature of base of tongue or lingual tonsil plus mucosal involvement of any structure in code 460 or 470", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "525", "520 + 480\n\nInvolvement of deep soft tissue or musculature of base of tongue or lingual tonsil plus mucosal involvement of soft palate", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "527", "520 + (490 or 495) \n\nInvolvement of deep soft tissue or musculature of base of tongue or lingual tonsil plus mucosal involvement of any structure in code 490 or 495", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "530", "Sublingual gland", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "Involvement of deep soft tissue or musculature of any structure in code 470", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nEpiglottis, lingual (pharyngeal) surface\nGlossoepiglottic fold\nGlossopharyngeal fold\nLateral pharyngeal wall\nPharyngoepiglottic fold\nTonsillar pillars and fossae\nTonsils\nVallecula", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "610", "(530 or 550) + 480\n\nInvolvement of sublingual gland or deep soft tissue or musculature of any structure in code 470 plus mucosal involvement of soft palate", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "612", "(530 or 550) + (490 or 495)\n\nInvolvement of sublingual gland or deep soft tissue or musculature of any structure in code 470 plus mucosal involvement of any structure in code 490 or 495", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "620", "Deep soft tissue or musculature of soft palate, inferior surface or NOS, including uvula", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "710", "Mandible for lingual tonsil", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "715", "710 + (480 or 620) \n\nMandible plus any involvement of soft palate", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "720", "Mandible for base of tongue", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "740", "OBSOLETE DATA RETAINED V0200\n\nMedial pterygoid \nHard palate", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "750", "Musculature, extrinsic of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "770", "Deep soft tissue or musculature of:\n Larynx\n Hypopharynx", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "775", "Bone excluding base of skull and mandible\nLateral nasopharynx\nPterygoid muscle\nPterygoid plates\nPalatine bone\nCartilage, NOS\nBone, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "780", "Overlying skin", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "785", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "790", "Contiguous extension to:\n Carotid artery (encased)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nContiguous extension to:\n Base of skull\n Carotid artery\n Hypopharynx\n Lateral nasopharynx\n Lateral pterygoid muscle\n Pterygoid plates\n Uvula", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Base of skull\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII) \n Masticator space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "820", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_beg.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_beg.json deleted file mode 100644 index 83a6d1903..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_beg.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_beg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Extension to structures in codes 180, 185, and 400 and higher may be from one or both ethmoid sinuses.\n\n**Note 4**: Use codes 180 and 185 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites.\n\n**Note 5**: Use code 170 for localized tumor only if no information is available to assign codes 105, 165, 190, 200, or 210.\n\n**Note 6**: Use code 190, 725, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:11.582Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "105", "Tumor confined to mucosa of left or right ethmoid sinus", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "120", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to left or right ethmoid sinus without bone involvement", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "140", "OBSOLETE DATA RETAINED V0200\n\nConfined to both ethmoid sinuses without bone involvement", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "160", "OBSOLETE DATA RETAINED V0200\n\nConfined to ethmoid, NOS without bone involvement", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "165", "Confined to mucosa of ethmoid sinus, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "170", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "175", "Confined to mucosa of both ethmoid sinuses", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "180", "Extension involving mucosa only of nasal cavity including:\n Floor\n Lateral wall\n Nasal vestibule\n Nasal cavity, NOS\n Septum\n Turbinates", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "185", "Extension to mucosa only of adjacent structures: \n Frontal sinus\n Maxillary sinus\n Nasopharynx\n Sphenoid sinus", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "190", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "Extension to deep soft tissue of left or right ethmoid sinus", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "210", "Extension to deep soft tissue of ethmoid sinus , NOS\nSoft tissue NOS", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "215", "(200 or 210) + (180 or 185)\n\nExtension to deep soft tissue of left or right ethmoid sinus or ethmoid sinus, NOS with mucosal involvement of structures in code 180 or 185", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "218", "Extension to deep soft tissue of both ethmoid sinuses", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "220", "Invasive tumor confined to either left or right ethmoid sinus with bony invasion \n(Involvement of perpendicular plate of ethmoid bone or ethmoid air cells)", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "240", "OBSOLETE DATA CONVERTED V0200\nSee code 270\n\nConfined to both ethmoid sinuses WITH bony invasion \n(involvement of perpendicular plate of ethmoid bone or ethmoid air cells)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "260", "Confined to ethmoid sinus, NOS with bony invasion\n(Involvement of perpendicular plate of ethmoid bone or ethmoid air cells)", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "265", "(220 or 260) + (180 or 185)\n\nConfined to left or right ethmoid sinus or ethmoid sinus, NOS with bony invasion plus mucosal involvement of structures in code 180 or 185", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "270", "Confined to both ethmoid sinuses with bony invasion\n(Involvement of perpendicular plate of ethmoid bone or ethmoid air cells)", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "300", "OBSOLETE DATA CONVERTED V0200\nSee code 170\n\nLocalized, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nExtension to nasal cavity with or without bony invasion \n(involvement of perpendicular plate of ethmoid bone or ethmoid air cells)\n Floor\n Lateral wall\n Nasal vestibule\n Nasal cavity, NOS\n Septum\n Turbinates", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "450", "Extension to deep tissues of adjacent structures with or without bony invasion:\n Frontal sinus\n Maxillary sinus\n Nasopharynx\n Sphenoid sinus", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "620", "OBSOLETE DATA CONVERTED V0200\n See code 750\n\nBase of skull, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "630", "OBSOLETE DATA CONVERTED V0200\nSee code 750\n\nCribriform plate", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "640", "Medial wall or floor of orbit\nOrbital plate", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED V0200\n\nMaxillary sinus", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "660", "Hard palate", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nAnterior orbital contents\nFrontal sinus\nMaxillary nerve (the second division of the 5th cranial nerve)\nMinimal extension to anterior cranial fossa \nPterygoid plates\nSkin of external nose or cheek\nSphenoid sinus", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "710", "Anterior orbital contents\nSkin of nose\nSkin of cheek\nPterygoid plates", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "720", "OBSOLETE DATA RETAINED V0200\n\n(660) + (700)", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "725", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "750", "Anterior cranial fossa \nBase of skull\nClivus\nCribriform plate\nMiddle cranial fossa", "VALUE:T4b", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "760", "OBSOLETE DATA RETAINED V0200\n\nBrain\nClivus\nCranial nerves other than the maxillary nerve (the second division of the 5th cranial nerve)\nDura\nMiddle cranial fossa\nNasopharynx\nOrbital apex or roof", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "770", "(710 or 750) + 660 \n\nInvolvement of any structure in code 710 or 750 plus hard palate", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "780", "OBSOLETE DATA RETAINED V0200\n\n(660) + (760)", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Contiguous extension: \n Brain \n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Middle cranial fossa\n Orbital apex", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension :\n Carotid artery (encased)\n Masticator space\n Mediastinal structures \n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_beh.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_beh.json deleted file mode 100644 index 0b410f491..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_beh.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_beh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use codes 320 and 325 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 300 for localized tumor only if no information Is available to assign code 100, 350, or 360.\n\n**Note 5**: Use code 350, 725, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:11.630Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "Tumor confined to mucosa of maxillary antrum (sinus)", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "320", "Extension involving mucosa only:\n Frontal sinus\n Sphenoid sinus\n Ethmoid sinus", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "325", "Extension involving mucosa only:\n Nasal cavity\n Nasopharynx", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "350", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "360", "Involvement of deep tissue or mucoperiosteum of maxillary sinus", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "365", "360 + (320 or 325)\n\nInvolvement of deep tissue or mucoperiosteum of maxillary sinus \nplus mucosal involvement of any structure in code 320 or 325", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nInvasion of infrastructure:\n Hard palate except extension to posterior wall of sinus and pterygoid plates (code 680)\n Middle nasal meatus, except extension to posterior wall of sinus and pterygoid plates (code 680)\n Nasal cavity (floor, lateral wall, septum, turbinates)\n Palatine bone\nTumor causing bone erosion or destruction, except for the posterior antral wall", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "500", "Involvement of deep tissues, mucoperiosteum, cartilage, or bony wall of any structures in code 320", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "Involvement of deep soft tissues, cartilage, or bony wall of any structures in code 325", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "520", "Involvement of palatine bone", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nInvasion of suprastructure:\n Ethmoid sinus, anterior\n Floor or medial wall of orbit\n Floor or posterior wall of maxillary sinus\n Subcutaneous tissues", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED V0200\n\nBone of the posterior wall of maxillary sinus\nInvasion of maxilla, NOS", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "660", "OBSOLETE DATA RETAINED V0200\n\nEthmoid sinus\nPosterior ethmoid, NOS\nPterygoid sinus", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "670", "Infratemporal fossa\nPterygoid plates\nPterygoid fossa", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "675", "Subcutaneous tissues\nSkin of cheek\nSkin of nose", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "680", "OBSOLETE DATA RETAINED V0200\n\nAnterior orbital contents\nCribriform plate\nFrontal sinus\nInfratemporal fossa\nPterygoid plates\nSkin of cheek\nSphenoid sinus", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "690", "Orbital contents including eye\nSoft palate", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nBase of skull\nOrbital contents, including eye\nPterygomaxillary (temporal) fossa\nSoft palate", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "725", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "740", "Anterior cranial fossa \nBase of skull\nClivus\nCribriform plate\nMiddle cranial fossa\nOrbital apex\nPterygomaxillary (temporal) fossa", "VALUE:T4b", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "750", "OBSOLETE DATA RETAINED V0200\n\nBrain\nClivus\nCranial nerves other than (V2)\nDura\nMiddle cranial fossa\nNasopharynx\nOrbital apex", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "790", "Contiguous extension to:\n Dura\n Brain\n Lower cranial nerves (IX, X, XI, XII)\n Middle cranial fossa", "VALUE:T4b", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension :\n Carotid artery (encased)\n Masticator space\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_behavior_xci.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_behavior_xci.json deleted file mode 100644 index 39d3e82db..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_behavior_xci.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_behavior_xci", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Behavior", - "title" : "Extension Behavior Table", - "notes" : "**Note**: For CS Extension codes 050 and 070 ONLY, Summary Stage 1977 and Summary Stage 2000 are assigned based on the value of Behavior Code ICD-0-3, as shown in this table.", - "last_modified" : "2015-05-27T16:19:11.689Z", - "definition" : [ { - "key" : "behavior", - "name" : "Behavior Code ICD-O-3", - "type" : "INPUT" - }, { - "key" : "t77", - "name" : "SS77", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "SS2000", - "type" : "ENDPOINT" - }, { - "key" : "description", - "name" : "Comment", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "ERROR:", "ERROR:", "Behavior code of 0 should not be used with CS Extension code 050 or 070." ], [ "1", "ERROR:", "ERROR:", "Behavior code of 1 should not be used with CS Extension code 050 or 070." ], [ "2", "VALUE:IS", "VALUE:IS", "" ], [ "3", "VALUE:L", "VALUE:L", "" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bei.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bei.json deleted file mode 100644 index 564ab2c52..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bei.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bei", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: The bones of the lateral wall of the nasal cavity include the maxilla, the perpendicular plate of the palatine bone, the medial pterygoid plate, the labyrinth and inferior concha of the ethmoid. The roof of the nasal cavity is formed by the nasal bone. The floor of the nasal cavity, which forms the roof of the mouth, is composed of the bones of the hard palate: the horizontal plate of the palatine bone posteriorly and the palatine process of the maxilla anteriorly.\n\n**Note 4**: \"Bony invasion\" does not include extension to palate, cribriform plate, or pterygoid plates. Extension to these structures is coded separately.\n\n**Note 5**: Use codes 330 and 340 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites.\n\n**Note 6**: Use code 300 for localized tumor only if no information is available to assign code 105, 110, 200, 350, or 380.\n\n**Note 7**: Use code 350, 725, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:11.745Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to site of origin\nMeatus (superior, middle, inferior)\nNasal chonchae (superior, middle, inferior)\nSeptum\nTympanic membrane", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of one of the following subsites:\n Septum\n Floor\n Lateral wall, including:\n Meatus (superior, middle, inferior) \n Nasal conchae (superior, middle, inferior)\n Vestibule (edge of naris to mucocutaneous junction)", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "110", "Confined to mucosa of nasal cavity, NOS ", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "Tumor confined to mucosa of two or more subsites listed in code 105 ", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "330", "Extension involving mucosa only:\n Ethmoid sinus\n Choana\n Frontal sinus\n Nasopharynx", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "340", "Extension involving mucosa only:\n Maxillary sinus\n Sphenoid sinus", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "350", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "380", "Involvement of deep tissues of any structure in code 105 or 110", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "385", "380 + 330\n\nInvolvement of deep tissues of any structure in code 105 or 110 plus mucosal involvement of any structure in code 330", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "390", "Involvement of any structure in code 105, 110 \nWITH bony invasion", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "400", "Extending to adjacent connective tissue within the nasoethomoidal complex\nNasolacrimal duct", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "450", "Hard palate", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "490", "(385 - 450) + 340 \n\nInvolvement of any structure in codes 385 - 450 plus mucosal involvement of any structure in code 340", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "500", "Involvement of deep tissues or bony involvement of any structure in code 340", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nExtension to frontal sinus and extension to nasopharynx were each included in two codes in CSv1. All structures in code 600 should be reviewed and recoded to 610 or 690 as appropriate.\n \nAdjacent organs/structures including:\n Bone of skull\n Choana\n Frontal sinus\n Hard palate\n Nasopharynx", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "610", "OBSOLETE DATA RETAINED V0203\n\nAdjacent organs/structures including:\n Bone of skull\n Choana\n Frontal sinus\n Hard palate", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA CONVERTED V0200\nSee code 750\n\nCribiform plate", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "660", "OBSOLETE DATA RETAINED V0200 \n\nMaxillary sinus", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "670", "Medial wall or floor of the orbit", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "690", "OBSOLETE DATA RETAINED V0203\n\nNasopharynx", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nFrontal sinus included in codes 600 and 700 in CSv1. Review and recode involvement of frontal sinus to code 610, other structures to code 705.\n\nTumor invades:\n Anterior orbital contents\n Skin of nose\n Skin of cheek\nMinimal extension to:\n Anterior cranial fossa\n Pterygoid plates\n Sphenoid or frontal sinuses", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "705", "OBSOLETE DATA RETAINED V0203\n\nAnterior orbital contents\nSkin of nose\nSkin of cheek\nAnterior cranial fossa (minimal extension)\nPterygoid plates\nSphenoid sinus", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "710", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nNasopharynx included in codes 600 and 710 in CSv1. Review and recode involvement of nasopharynx to code 690, other structures to code 750 or 795\n\nTumor invades:\nOrbital apex\nDura\nBrain\nMiddle cranial fossa\nCranial nerves other than (V2), nasopharynx, or clivus", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "715", "Anterior orbital contents\nSkin of nose\nSkin of cheek\nPterygoid plates", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "725", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "750", "Anterior cranial fossa\nBase of skull\nCribriform plate\nClivus\nMiddle cranial fossa", "VALUE:T4b", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "760", "750 + (340, 500, 670, or 705) \n\nInvolvement of structures in code 750 plus mucosal or deep involvement of structures in code 340 or involvement of structures in code 670 or 705 ", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "795", "Contiguous extension including:\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nMiddle cranial fossa included in codes 750 and 800 in CSv2:V0201, V0202. Review and recode involvement of middle cranial fossa to code 750 or 760, other structures to code 795. \n\nContiguous extension including:\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Middle cranial fossa\n Orbital apex ", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "801", "Further contiguous extension including:\n Carotid artery (encased)\n Masticator space\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bej.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bej.json deleted file mode 100644 index ca87edec8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bej.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bej", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CSExtension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use codes 310 and 315 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 105, 205, 250, 440, or 510.\n\n**Note 5**: Use code 440, 725, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:11.817Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to one of the following subsites:\n Inferior wall (superior surface of soft palate)\n One lateral wall\n Posterior superior wall (vault)", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor involving mucosa only of one of the following subsites:\n Inferior wall (superior surface of soft palate)\n One lateral wall\n Posterior superior wall (vault)", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nInvolvement of two or more subsites:\n Lateral wall extending into eustachian tube/middle ear\n Posterior, inferior, or lateral wall(s)", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "205", "Tumor involving mucosa only of two or more subsites:\n Lateral wall extending into Eustachian tube/middle ear\n Posterior, inferior, or lateral wall(s)", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "250", "Tumor involving mucosa only of nasopharynx, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nConfined to nasopharynx\nLocalized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "305", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "310", "Tumor involving mucosa only:\n Nasal cavity\n Oropharynx\n Soft palate including uvula", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "315", "Tumor involving mucosa only:\n Hard palate\n Paranasal sinus ", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nOropharynx\nSoft palate, ", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "440", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA RETAINED V0200\n \nNasal cavity ", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "Involvement of deep soft tissues or musculature of any structure in code 105 or 250", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "515", "510 + 310 \n\nInvolvement of deep soft tissues or musculature of any structure in code 105 or 250 plus involvement of mucosa of any structure in code 310", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "520", "OBSOLETE DATA CONVERTED V0203\nSee code 545\n\n510 + 315\n\n(Involvement of deep soft tissues or musculature of any structure in code 105, 205, or 250 + Involvement of mucosa of any structure in code 315)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "530", "Involvement of deep soft tissues or musculature of any structure in code 310", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "535", "Involvement of any structure in codes 105 to 310 \nWITH tumor described as FIXED", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "540", "Involvement of any structure in codes 105 to 310 \nWITH parapharyngeal extension", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "545", "(510 - 540) + 315\n\nInvolvement of deep soft tissues or musculature of any structure in codes 510 - 540 with involvement of mucosa of any structure in code 315", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "550", "OBSOLETE DATA RETAINED V0200\n\nAny extension coded in 100-500 WITH fixation or tumor \nDescribed only as FIXED", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "555", "Bony involvement of any structure in code 315", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "560", "OBSOLETE DATA RETAINED V0200\n\nAny extension coded in 100-500 WITH parapharyngeal extension", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "570", "OBSOLETE DATA RETAINED V0200\n\nHard palate", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "580", "Pterygopalatine fossa \nWITHOUT bone invasion", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n \nBone, including Skull", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "610", "Bone excluding base of skull\nCartilage, NOS\nBone, NOS ", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "620", "OBSOLETE DATA RETAINED V0200\n \nParanasal sinus", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "630", "(580 or 610) + (315 or 555)\n\nInvolvement of any structure in code 580 or 610 plus any involvement of structures in code 315", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "650", "OBSOLETE DATA REVIEWED AND CHANGED V0200\nIn CSv1 extension to the orbit was included in both codes 650 and 700. In addition the instructions for coding invasion of orbital bone were not clear. Codes 650 and 700 should be reviewed for orbital involvement. Involvement of bone of floor of orbit should be coded 760, and other orbit involvement should be coded 790.\n\nOrbit", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "670", "Hypopharynx\nOverlying skin\nSoft tissues of neck", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0200\nSee note in code 650\n\nBrain\nCranial nerves\nHypopharynx\nInfratemporal fossa\nOrbit\nIntracranial extension, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "710", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCode 710 included in error in CSv2: V0200, V0202 with the tag OBSOLETE DATA RETAINED V0200. Code 710 should not be entered on any case. See note in code 650; see codes 670, 760, 790.\n\nBrain\nCranial nerves\nHypopharynx\nInfratemporal fossa\nOrbit\nIntracranial extension, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "725", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "750", "OBSOLETE DATA CONVERTED V0200 \nSee code 790\n\nMasticator space", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "760", "Skull base including floor of orbit", "VALUE:T4b", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "765", "760 + (315, 555)\n\nBase of skull including floor of orbit plus any involvement of structures in code 315 or 555", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "770", "760 + 670\n\nBase of skull including floor or orbit plus any involvement of structures in code 670", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "790", "Contiguous extension:\n Brain\n Dura\n Intracranial extension, NOS\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space/infratemporal fossa\n Orbit", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\n \nFurther contiguous extension\n Soft tissues of the neck", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension:\n Carotid artery (encased)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bek.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bek.json deleted file mode 100644 index 6cfac91ab..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bek.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bek", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use codes 405, 415, 425, 430, 505, 510, and 515 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 105 or 205, 520, or 540.\n\n**Note 5**: Use code 520, 705, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:11.897Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to one of the following subsites:\n Anterior wall (including vallecula and lingual (anterior) surface of epiglottis)\n One lateral wall\n Posterior wall", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of one of the following subsites:\n Anterior wall: \n Lingual (anterior surface of epiglottis)\n Vallecula \n One lateral wall\n Posterior wall", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nInvolvement of two or more subsites:\n Posterior, anterior or lateral wall(s)", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "205", "Involvement of mucosa only of two or more subsites: \n Anterior wall:\n Lingual (anterior) surface of epiglottis\n Vallecula\n Lateral wall(s)\n Posterior wall", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nSoft palate, inferior surface including uvula, or soft palate, NOS", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "405", "Involvement of mucosa only: \n Soft palate, inferior surface, including uvula\n Soft palate, NOS", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nHypopharynx NOS\nPyriform sinus", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "415", "Involvement of mucosa only: \n Hypopharynx, NOS\n Pyriform sinus", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nSoft palate, superior (nasopharyngeal) surface", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "425", "Involvement of mucosa only of soft palate, superior (nasopharyngeal) surface", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "430", "Involvement of mucosa only:\n Nasopharynx \n Larynx\n Posterior surface of epiglottis", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nBase of tongue\nBuccal mucosa (inner cheek)\nFloor of mouth\nGum (gingiva)", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "505", "Involvement of mucosa only: \n Base of tongue\n Buccal mucosa (inner cheek)\n Floor of mouth\n Gum (gingiva)", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "Involvement of mucosa only of both lateral walls through soft palate or base of tongue", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "515", "Involvement of mucosa only: \n Anterior two-thirds of tongue\n Hard palate", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "520", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "540", "Involvement of deep soft tissue or musculature of any structure in code 105", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "545", "540 + (405, 415, 425, 430, or 505)\n\nInvolvement of deep soft tissue or musculature of any structure in code 105 plus mucosal involvement of any structure in code 405, 415, 425, 430, or 505", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "Any extension coded in 105 - 505 \nWITH fixation", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "555", "Involvement of deep soft tissue or musculature of any structure in codes 405, 415, 425, 430, and 505", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "560", "(540 - 555) + 510\n\nAny involvement in codes 540 - 555 plus mucosal involvement of the structures in code 510", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "565", "(540 - 560) + 515\n\nAny involvement in codes 540 - 560 plus mucosal involvement of hard palate", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "570", "Involvement of deep soft tissue or musculature of both lateral walls, soft palate, or base of tongue with contiguous involvement through all four sites", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "575", "570 + 515\n\nInvolvement in 570 plus mucosal involvement of anterior tongue or hard palate ", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nPrevertebral fascia or muscle\nSoft tissue of neck", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "610", "Soft tissue of neck, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "620", "OBSOLETE DATA RETAINED V0200\n\nNasopharynx, lateral, or NOS", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED V0200\n\nLarynx, NOS\nMedial pterygoid muscle, or pterygoid muscle, NOS\nPosterior surface of epiglottis", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "670", "Maxilla\nMaxillary sinus (antrum)\nNasal cavity\nMedial pterygoid muscle, \nPterygoid muscle, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "675", "(610 or 670) + (510, 560, or 570)\n\nInvolvement of any structure in codes 610 or 670 plus any involvement of both lateral walls through soft palate or base of tongue", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "678", "(610,670, or 675) + (515, 565, 575)\n\nInvolvement of any structure in codes 610, 670, and 675 plus mucosal involvement of anterior tongue or hard palate", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "680", "Deep extrinsic muscles of tongue: \n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus\nParotid Gland", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "685", "Deep soft tissue or musculature of anterior tongue\nDeep tissue or periosteum of hard palate", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "690", "Bone excluding base of skull\nLateral pterygoid muscle\nOverlying skin\nPalatine bone\nPterygoid plates\nCartilage, NOS\nBone, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nDeep extrinsic muscles of tongue: \n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus\nHard palate\nMandible", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "705", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "710", "Prevertebral fascia/muscle", "VALUE:T4b", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "715", "710 + (510, 560, 670, 675, or 678) \n\nPrevertebral fascia/muscle plus any involvement of both lateral walls through soft palate or base of tongue", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "718", "710 + (515, 565, 575, 680, 685, or 690) \n\nPrevertebral fascia/muscle plus involvement of any structure in codes 680 and 690 or any involvement of anterior tongue or hard palate", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "720", "OBSOLETE DATA CONVERTED V0200\n \nSee code 690\nLateral pterygoid muscle\nPterygoid plates", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "750", "Base of skull\nBone of skull", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "760", "OBSOLETE DATA CONVERTED V0200\n\nSee code 690\nBone", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "770", "Carotid artery (encased)", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "790", "Contiguous extension:\n Mediastinal structures", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension:\n Anterior 2/3 of tongue\n Parotid gland", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bel.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bel.json deleted file mode 100644 index 2d73e4187..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bel.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bel", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use codes 350, 450, 610, and 620 for extension involving the mucosa only of adjacent sites. Use higher codees for extension involving deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 105, 150, 640, or 660.\n\n**Note 5**: Use code 640, 735, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:11.961Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor on one side confined to:\n Lamina propria\n Submucosa", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of soft palaate or uvula on one side", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "150", "Tumor confined to mucosa of soft palate or uvula crossing midline", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMusculature invaded", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "350", "Extension involving mucosa only:\n Buccal mucosa (inner cheek)", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "400", "OBSOLETE DATA RETAINED V0200\n \nTumor crosses midline", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "450", "Extension involving mucosa only:\n Lateral pharyngeal wall\n Tonsillar pillars and fossae\n Tonsils", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nBuccal mucosa (inner cheek)\nGum (gingiva), upper", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nLateral pharyngeal wall\nTonsillar pillars and fossae\nTonsils", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "610", "Tumor involving mucosa only:\n Hard palate", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "620", "Tumor involving mucosa only:\n Nasopharynx", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "640", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "650", "OBSOLETE DATA RETAINED V0200\n\nHard palate", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "660", "Involvement of deep soft tissue or musculature of soft palate or uvula", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "665", "660 + (350, 450, or 610)\n\nInvolvement of deep soft tissue or musculature of soft palate or uvula plus mucosal involvement of any structure in code 350, 450, or 610", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "670", "Involvement of deep soft tissue or musculature of any structure in code 350, 450, or 610", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "675", "Nasal cavity", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "680", "Pterygoid muscle lateral\nPterygoid plates ", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "685", "(665 - 680) + 620\n\nInvolvement in code 660 - 680 plus mucosal involvement of nasopharynx", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "690", "Involvement of deep soft tissue or musculature of nasopharynx", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "700", "Mandible\nMaxilla \nMaxillary sinus (antrum)\nPalatine bone (bone of hard palate)\nBone excluding pterygoid plates, base of skull\nCartilage, NOS\nBone, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "710", "Pterygoid muscle, medial or NOS", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "720", "Tongue, NOS\nDeep (extrinsic) muscle of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "730", "Larynx\nHypopharynx", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "735", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "740", "OBSOLETE DATA RETAINED V0200\n\nMaxillary antrum (sinus) \nNasopharynx, lateral or NOS", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "770", "OBSOLETE DATA CONVERTED V0200\nSee code 675\n\nNasal cavity", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "780", "OBSOLETE DATA CONVERTED V0200\nSee code 680\n\nPterygoid muscle, lateral\nPterygoid plates\nNote: For medial pterygoid muscle or pterygoid muscle, NOS, see code 710", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "790", "OBSOLETE DATA RETAINED V0200\n\n770 or 780 with any of 700 to 760", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Base of skull\nCarotid artery (encased)", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bem.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bem.json deleted file mode 100644 index 365a2be68..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bem.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bem", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Connective tissues large enough to be given a specific name are considered adjacent structures. For example, prevertebral fascia and jugular vein have names.\n\n**Note 2**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 3**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 4**: Use codes 405 and 430 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites.\n\n**Note 5**: Use code 300 for localized tumor only if no information is available to assign code 105, 470, or 530.\n\n**Note 6**: Use code 470, 725, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:12.011Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to site of origin", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of site of origin", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nMore than one region of pharynx involved (oropharynx, nasopharynx, hypopharynx)", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "405", "Mucosa only of more than one region of pharynx involved:\n Oropharynx\n Nasopharynx\n Hypopharynx", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "430", "Mucosa only of pharynx and oral cavity involved", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "470", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nPharynx and oral cavity involved", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "530", "Involvement of deep soft tissue or musculature of any structure in code 105", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "535", "530 + (400 or 500)\n\nInvolvement of deep soft tissue or musculature of any structure in code 105 with mucosal involvement of any structure in code 405 or 430", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "540", "Involvement of deep soft tissue or musculature of any structure in code 405 or 430", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "Any of codes 105-430 WITH fixation", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "Extension to adjacent structures \n(See Note 1)", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "725", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "800", "Contiguous extension:\n Carotid artery (encased)\n Mediastinal structures\n Prevertebral space ", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Base of skull\n Brain\n Dura \n Lower cranial nerves (IX, X, XI, XII)\n Masticator space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS ] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ben.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ben.json deleted file mode 100644 index 00ad3efa2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ben.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_ben", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use codes 400 and 420 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 105 or 550.\n\n**Note 5**: Use code 550, 775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:12.058Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to:\n Lamina propria\n Submucosa", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to buccal mucosa", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA CONVERTED V0200\nSee code 610\n\nMusculature (buccinator)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Extension involving mucosa only:\n Lateral pharyngeal wall\n Lip(s) including commissure\n Gingiva\n Tonsillar pillars and fossae\n Tonsils", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "420", "Extension involving mucosa only:\n Hard palate\n Soft palate", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nLip(s) including commissure", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nGingiva", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nLateral pharyngeal wall\nTonsillar pillars and fossae\nTonsils", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "610", "Involvement of deep soft tissue or musculature of cheek (buccinators)\nSoft tissue, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:L" ], [ "615", "610 + 400\n\nInvolvement of deep soft tissue or musculature of cheek plus mucosal involvement of any structure in code 400", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "620", "Involvement of deep soft tissue or musculature of any structure in code 400", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "650", "Subcutaneous soft tissue of cheek", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "660", "Skin of check WITH or WITHOUT ulceration", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "665", "(610 - 660) + 420\n\nInvolvement of any structure in codes 610 - 660 plus mucosal involvement of any structure in code 420", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "670", "OBSOLETE DATA CONVERTED V0200\nSee code 700\n\nMaxillary sinus", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "690", "Deep soft tissue involvement:\n Nasal cavity\n Soft palate\nPalatine bone", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "700", "Cartilage:\n Mandible\n Maxilla\nCortical bone:\n Mandible\n Maxilla\nMandible, NOS\nMaxilla, NOS\nMaxillary sinus (antrum)\nCartilage, NOS\nCortical bone, NOS\nBone, NOS excluding palatine bone, base of skull", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "730", "OBSOLETE DATA CONVERTED V0200\nSee code 790\n\nSkull", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "750", "Deep extrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "790", "Contiguous extension:\n Base of skull\n Carotid artery (encased)\n Masticator space\n Pterygoid plates", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension:\n Hard palate\n Soft palate", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension:\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_beo.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_beo.json deleted file mode 100644 index 79d7bd430..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_beo.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_beo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use code 450 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 105, 405, 460, or 510.\n\n**Note 5**: Use code 460,775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:12.108Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intrapeithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor on one side confined to:\n Lamina propria\n Submucosa", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of floor of mouth", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nTumor crosses midline", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "405", "Tumor confined to mucosa of floor of mouth crossing midline", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "450", "Extension involving mucosa only:\n Anterior two-thirds of tongue\n Base of tongue\n Epiglottis\n GIngiva (alveolar ridge), lower\n Glossoepiglottic fold\n Glossopharyngeal sulcus\n Lateral pharyngeal wall\n Pharyngeal (lingual) surface\n Pharyngoepiglottic fold\n Tonsillar pillars and fossae\n Tonsils\n Vallecula", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "460", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nAnterior 2/3 of tongue\nBase of tongue\nGingiva (alveolar ridge), lower", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "Involvement of deep soft tissue or musculature of floor of mouth\nSoft tissue, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "520", "510 + 450\n\nInvolvement of deep soft tissue or musculature of floor of mouth plus mucosal involvement of structures in code 450", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "530", "Sublingual gland, including ducts\nSubmandibular (submaxillary) glands, including ducts", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nEpiglottis\nGlossoepiglottic fold\nGlossopharyngeal sulcus\nLateral pharyngeal wall\nPharyngeal (lingual) surface\nPharyngoepiglottic fold\nTonsillar pillars and fossae\nTonsils\nVallecula", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "620", "Extension to deep extrinsic muscle of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "625", "620 + 450 \n\nInvolvement of any structure in code 620 with mucosal involvement of any structure in code 450", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "628", "620 + 530\n\nInvolvement of any structure in code 620 with involvement of any structure in code 530", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "630", "OBSOLETE DATA RETAINED V0200\n\n(620) + any of (500, 530, or 600)", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "635", "Involvement of deep soft tissue or musculature of any structure in code 450", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "640", "OBSOLETE DATA CONVERTED V0200\nSee code 740\n\nSubcutaneous soft tissue of chin/neck", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "700", "Cortical bone:\n Mandible\n Maxilla\nCartilage:\n Mandible\n Maxilla\nMandible, NOS\nMaxilla, NOS\nCartilage, NOS\nCortical bone, NOS\nBone, NOS excluding base of skull", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "740", "Subcutaneous soft tissue of chin/neck", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "760", "Skin of undersurface of chin/neck", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "770", "OBSOLETE DATA CONVERTED V0200\nSee code 700\n\nFurther contiguous extension:\n Maxillary sinus", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "800", "Contiguous extension:\n Base of skull\n Carotid artery (encased)\n Masticator space\n Pterygoid plates", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension:\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bep.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bep.json deleted file mode 100644 index e194b9d55..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bep.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bep", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA. \n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites. \n\n**Note 3**: Use codes 400 and 440 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites. \n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 105, 470, or 510. \n\n**Note 5**: Use code 470, 775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:12.177Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to lamina propria (mucoperiosteum) (stroma)", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of lower gum", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Extension involving mucosa only:\n Buccal mucosa (inner cheek) \n Floor of mouth\n Lateral pharyngeal wall\n Lip, NOS (labial mucosa)\n Lower lip (labial mucosa)\n Soft palate including uvula\n Tongue mucosa\n Tonsillar pillars and fossae\n Tonsils", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "440", "Extension involving mucosa only to upper lip (labial mucosa)", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "470", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nBuccal mucosa (inner cheek)\nFloor of mouth\nLabial mucosa (inner lip), lip\nTongue", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "Involvement of deep tissue or periosteum of lower gum", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "520", "510 + 400\n\nInvolvement of deep tissue of lower gum plus mucosal involvement of any structure in code 400", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "530", "Involvement of deep soft tissue or musculature of any structure in code 400", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "Facial muscle, NOS\nSubcutaneous soft tissue of face", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nLateral pharyngeal wall (tonsillar pillars and fossae, tonsils)", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED V0200\n\nSoft palate including uvula", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "Cartilage of mandible \nCortical bone of mandible\nMandible, NOS\nCartilage, NOS\nCortical bone, NOS\nBone, NOS except base of skull, maxilla", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "720", "Extrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "725", "(510 -720) + 440\n\nInvolvement of any structure in codes 510-720 plus mucosal involvement of upper lip", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "730", "Deep soft tissues or musculature of upper lip", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "760", "Skin of face", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "770", "Cartilage of maxilla\nCortical bone of maxilla\nMaxilla, NOS\nMaxillary sinus (antrum)", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "790", "OBSOLETE DATA CONVERTED V0200\nSee Code 800\n\nSkull", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "800", "Contiguous extension :\n Base of skull\n Carotid artery (encased)\n Masticator space\n Pterygoid plates", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including :\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_beq.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_beq.json deleted file mode 100644 index 4839e9fbb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_beq.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_beq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use codes 400 and 400 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary of adjacent sites.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 105, 470, or 510.\n\n**Note 5**: Use code 470, 775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:12.228Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intrapeithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to lamina propria (mucoperiosteum) (stroma)", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of gum", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Extension involving mucosa only:\n Buccal mucosa (inner cheek)\n Labial mucosa (inner lip), lip\n Lateral pharyngeal wall\n Soft palate including uvula\n Tonsillar pillars\n Tonsillar fossae\n Tonsils", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "440", "OBSOLETE DATA CONVERTED V0203\nSee code 400\n\nExtension via mucosa to upper lip (labial mucosa)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "470", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nBuccal mucosa (inner cheek)\nLabial mucosa (inner lip), lip", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "Involvement of deep tissue or periosteum of gum", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "520", "510 + 400\n\nInvolvement of deep tissue of gum plus mucosal involvement of any structure in code 400", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "530", "Involvement of deep soft tissue or musculature of any structure in code 400", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "Facial muscle, NOS\nSubcutaneous soft tissue of face", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nLateral pharyngeal wall (tonsillar pillars and fossae, tonsils)", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "Cartilage of mandible or maxilla\nCortical bone of mandible or maxilla\nMandible, NOS\nMaxilla, NOS\nCartilage, NOS\nCortical bone, NOS\nBone, NOS except base of skull", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "720", "Extrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "760", "Skin of face", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "765", "Maxillary sinus (antrum)", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "770", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee codes 700, 765\n\nCartilage of maxilla\nCortical bone of maxilla\nMaxilla NOS\nMaxillary sinus", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "790", "OBSOLETE DATA CONVERTED V0200\nSee Code 800\n\nSkull", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "800", "Contiguous extension:\n Base of skull\n Carotid artery (encased)\n Masticator space\n Pterygoid plates ", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Mediastinal structures\n Prevertebral space\n Mediastinal structures", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ber.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ber.json deleted file mode 100644 index 9d048c86a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ber.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_ber", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA. \n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites. \n\n**Note 3**: Use code 400 and 440 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites. \n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 105, 470, or 510.\n\n**Note 5**: Use code 470, 775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:12.283Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive;", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to lamina propria (mucoperiosteum) (stroma)", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of upper gingiva", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Extension involving mucosa only:\n Buccal mucosa (inner cheek) \n Floor of mouth\n Hard palate\n Lateral pharyngeal wall\n Lip, NOS (labial mucosa)\n Lower lip (labial mucosa)\n Soft palate including uvula \n Tongue mucosa\n Lateral pharyngeal wall\n Tonsillar pillars and fossae \n Tonsils", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "440", "Extension via mucosa to upper lip (labial mucosa)", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "470", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nBuccal mucosa (inner cheek)\nFloor of mouth\nLabial mucosa (inner lip), lip\nTongue", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "Involvement of deep tissue or periosteum of lower gum", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "520", "510 + 400\n\nInvolvement of deep tissue of lower gum plus mucosal involvement of any structure in code 400", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "530", "Involvement of deep soft tissue or musculature of any structure in code 400", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "Facial muscle, NOS\nSubcutaneous soft tissue of face", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nLateral pharyngeal wall (tonsillar pillars and fossae, tonsils)", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee codes 710 and 765\n\nCartilage of mandible\nCartilage NOS\nCortical bone of mandible\nCortical bone NOS\nMandible NOS\nBone NOS except maxilla, skull base", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "710", "Cartilage of maxilla or palatine bone\nCortical bone of maxilla or palatine bone\nMaxilla, NOS\nPalatine bone, NOS\nCartilage, NOS\nCortical bone, NOS\nBone, NOS except mandible, base of skull", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "720", "Extrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "725", "(510-720) + 440\n\nInvolvement of any structure in codes 510-720 plus mucosal involvement of upper lip", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "730", "Deep soft tissues or musculature of upper lip", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "740", "Maxillary sinus (antrum)\nNasal cavity", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "760", "Skin of face", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "765", "Cartilage of mandible\nCortical bone of mandible\nMandible, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "770", "OBSOLETE DATA CONVERTED V0203\nSee code 710\n\nCartilage of maxilla\nCortical bone of maxilla\nMaxilla NOS\nMaxillary sinus", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "790", "OBSOLETE DATA CONVERTED V0200\nSee Code 800\n\nSkull", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "800", "Contiguous extension:\n Base of skull\n Carotid artery (encased)\n Masticator space\n Pterygoid plates", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bes.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bes.json deleted file mode 100644 index b2f5632c9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bes.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bes", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use codes 400-450 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 105, 470, or 520.\n\n**Note 5**: Use code 470, 775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:12.343Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intrapeithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to:\n Labial mucosa (inner lip)\n Lamina propria\n Multiple foci\n Submucosa (superficial invasion)\n Vermilion surface\nSuperficial extension to:\n Skin of lip\n Subcutaneous soft tissue of lip", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of lower lip:\n Labial mucosa (inner lip)\n Vermilion surface", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA CONVERTED V0200\nSee code 520\n\nMusculature", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Extension involving mucosa only:\n Buccal mucosa (inner cheek)\n Commissure (for lower lip)\n Opposite lip (both lips)", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "410", "Extension involving mucosa only:\n Lower gingiva\n Gingiva, NOS", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "440", "Extension involving mucosa only:\n Upper gingiva", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "450", "Extension involving mucosa only:\n Floor of mouth\n Tongue", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "470", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nBuccal mucosa (inner cheek) \nCommissure \nOpposite (both) lip(s)", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nGingiva", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "520", "Involvement of deep soft tissue or musculature of lower lip\nSoft tissue, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "530", "520 + (400 or 410)\n\nInvolvement of deep soft tissue or musculature of lower lip plus mucosal involvement of any structure in code 400 or 410", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "540", "Involvement of deep soft tissue or musculature of any structure in code 400", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "Involvement of deep tissue or periosteum of lower gingiva", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "Cartilage of mandible\nCortical bone of mandible\nMandible, NOS\nCartilage, NOS\nCortical bone, NOS\nBone, NOS except maxilla, base of skull", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "705", "(520, 540, or 700) + 440\n\nInvolvement of any structure in codes 520 - 700 plus mucosa of upper gingiva", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "710", "Deep tissue or periosteum of upper gingiva", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "740", "Skin of nose", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "743", "740 + (440 or 710)\n\nSkin of nose plus mucosa or deep tissue of upper gingiva", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "745", "(520 - 740) + 450\n\nInvolvement of any structure in codes 520 - 740 plus mucosa of floor of mouth or tongue", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "748", "Involvement of deep soft tissue or musculature of floor of mouth or tongue\nInferior alveolar nerve", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "750", "OBSOLETE DATA RETAINED V0200\n\nTongue", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "755", "Extrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "760", "Skin of face/neck", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "765", "Cartilage of maxilla\nCortical bone of maxilla\nMaxilla, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "770", "OBSOLETE DATA RETAINED V0200\n\nCortical bone (other than code 700)\nFloor of mouth\nInferior alveolar nerve", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "790", "Contiguous extension:\n Base of skull\n Carotid artery (encased)\n Masticator space\n Pterygoid plates", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bet.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bet.json deleted file mode 100644 index 78662f49e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bet.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bet", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use codes 400 and 410 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involvling the deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 105, 470, or 520.\n\n**Note 5**: Use code 470, 775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:12.399Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to:\n Labial mucosa (inner lip)\n Lamina propria\n Multiple foci\n Submucosa (superficial invasion)\n Vermilion surface\nSuperficial extension to:\n Skin of lip\n Subcutaneous soft tissue of lip", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of lip:\n Labial mucosa (inner lip)\n Vermilion surface", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA CONVERTED V0200\nSee code 520\n\nMusculature", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Extension involving mucosa only:\n Buccal mucosa (Inner cheek) \n Commissure \n Opposite lip (both lips)", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "410", "Extension involving mucosa only:\n Lower gingiva\n Gingiva, NOS", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "470", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nInner cheek (buccal mucosa)\nCommissure\nOpposite (both) lip(s)", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nGingiva", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "520", "Involvement of deep soft tissue or musculature of lip\nSoft tissue, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "530", "520 + (400 or 410)\n\nInvolvement of deep soft tissue or musculature of lip plus mucosal involvement of any structure in code 400 or 410", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "540", "Involvement of deep soft tissue or musculature of any structure in code 400", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "Involvement of deep tissue or periosteum of gingiva", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "Cartilage of mandible or maxilla\nCortical bone of mandible or maxilla\nMandible, NOS\nMaxilla, NOS\nCartilage, NOS\nCortical bone, NOS\nBone, NOS except base of skull", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "748", "Involvement of deep tissue or musculature of floor of mouth or tongue\nInferior alveolar nerve", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "750", "OBSOLETE DATA RETAINED V0200\n\nTongue", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "755", "Extrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "760", "Skin of face/neck", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "765", "OBSOLETE DATA CONVERTED V0203\nSee code 700\n\nCartilage NOS\nCortical bone NOS\nBone NOS excluding skull base", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "770", "OBSOLETE DATA RETAINED V0200\n\nCortical bone \nFloor of mouth\nInferior alveolar nerve", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "790", "Contiguous extension:\n Base of skull\n Carotid artery (encased)\n Masticator space\n Pterygoid plates", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bev.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bev.json deleted file mode 100644 index 0b6fd32aa..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bev.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bev", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use codes 350-370 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 105, 470, or 510.\n\n**Note 5**: Use code 470, 725, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:12.462Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to:\n Lamina propria\n Submucosa", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of oral site", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA CONVERTED V0200\nSee code 510\n\nMusculature invaded", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "350", "Extension involving mucosa only to adjacent sites in oral cavity including tongue", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "370", "Extension involving mucosa only:\n Inferior surface of soft palate including uvula\n Lateral pharyngeal wall\n Lingual surface of epiglottis\n Oropharynx, NOS\n Vallecula", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "470", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nAdjacent oral cavity", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "Involvement of deep soft tissue or musculature of structure in code 105\nSoft tissue, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "520", "510 + (350 or 370)\n\nInvolvement of deep soft tissue or musculature of structure in code 105 plus mucosal involvement of any structure in code 350 or 370", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "Deep soft tissue or musculature of any structure in code 350", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "570", "Deep soft tissue or musculature of any structure in code 370", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nExtension to oropharynx\nInferior surface of soft palate\nLateral pharyngeal wall\nLingual surface of epiglottis\nVallecula", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "690", "Cortical bone of mandible\nCortical bone of maxilla\nMandible, NOS\nMaxilla, NOS\nMaxillary antrum (sinus)\nCortical bone, NOS\nCartilage, NOS\nBone, NOS excluding base of skull", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nExtension to adjacent structures:\nMandible\nMaxilla\nMaxillary antrum (sinus)\nNasal cavity\nSkin of face/neck\nTongue", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "705", "Nasal cavity\nSkin of face/neck", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "710", "Deep (extrinsic) muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus ", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "720", "OBSOLETE DATA CONVERTED V0200\nSee code 750\n\nSkull", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "725", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "750", "Contiguous extension:\n Base of skull\n Carotid artery (encased)\n Masticator space\n Pterygoid plates ", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension:\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bew.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bew.json deleted file mode 100644 index 792e69dac..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bew.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bew", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis or TX category for melanoma of mucosa of head and neck sites. CS Extension codes 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 2**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 3**: Use code 410 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 105, 405, or 470.\n\n**Note 5**: Use code 470, 775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:12.512Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive ", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor on one side confined to mucoperiosteum (stroma)", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Tumor confined to mucosa of hard palate on one side", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nTumor crosses midline", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "405", "Tumor confined to mucosa of hard palate and crossing midline", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "410", "Extension involving mucosa only:\n Buccal mucosa (inner cheek)\n Gingiva, upper\n Glossopalatine arch\n Pharyngopalatine arch\n Soft palate\n Uvula", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "470", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nBuccal mucosa (inner cheek)\nGingiva, upper\nGlossopalatine arch\nPharyngopalatine arch\nSoft palate\nUvula", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "Involvement of deep tissue or periosteum of hard palate", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "520", "510 + 410\n\nInvolvement of deep tissue hard palate plus mucosal involvement of any structure in code 410", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "530", "Involvement of deep soft tissue or musculature of any structure in code 410", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "Cartilage of maxilla or palatine bone\nCortical bone of maxilla or palatine bone\nMaxilla, NOS \nPalatine bone, NOS\nCartilage, NOS\nCortical bone, NOS\nBone, NOS except base of skull ", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "730", "Floor of nose\nMaxillary sinus (antrum) \nNasal cavity\nNasopharynx\nSkin of face\nPterygoid plate", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "740", "OBSOLETE DATA RETAINED V0200\n\nDeep muscle of tongue\nFloor of nose\nMaxillary antrum (sinus)\nNasal cavity\nNasopharynx\nSkin of face\nSphenoid bone", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "750", "Extrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Pharyngoglossus\n Styloglossus", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "760", "OBSOLETE DATA CONVERTED V0200\nSee code 730\n\nPterygoid plate", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "800", "Contiguous extension:\n Base of skull base (including sphenoid bone other than pterygoid plates)\n Carotid artery (encased)\n Masticator space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bex.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bex.json deleted file mode 100644 index 9756e9d62..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bex.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bex", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: The intrinsic muscles of tongue are four paired muscles within the tongue which control its shape. The extrinsic muscles originate from structures outside the tongue and control its positioning.\n\n**Note 2**: AJCC does not include a Tis or TX for melanoma of mucosa of head and neck sites. CS Extension codes of 000 and 999 are mapped to NA and AJCC stage group is derived as NA.\n\n**Note 3**: AJCC does not include a T1 or T2 category for mucosal melanoma of head and neck sites.\n\n**Note 4**: Use codes 410 and 420 for extension involving the mucosa only of adjacent sites. Use higher codes for extension involving the deeper tissues of the primary or adjacent sites.\n\n**Note 5**: Use code 305 for localized tumor only if no information is available to assign code 110, 405, 440, or 520.\n\n**Note 6**: Use code 440, 775, 810, or 815 if the physician's assignment of T category is the only information available about the extent of the tumor.", - "last_modified" : "2015-05-27T16:19:12.571Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor on one side confined to:\n Lamina propria\n Submucosa", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "OBSOLETE DATA REVIEWED V0203\nSee codes 110, 405\n\nTumor confined to mucosa of anterior tongue: \n Tumor confined to one side\n Midline tumor\n Tumor crosses midline", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "110", "Tumor involving mucosa only of anterior tongue:\n Confined to one side\n Midline tumor", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMusculature, intrinsic or NOS", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nLocalized, NOS\nMidline tumor", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "305", "Localized, NOS", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "310", "OBSOLETE DATA CONVERTED V0203\nSee code 110\n\nMidline tumor confined to mucosa", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nTumor crosses midline", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "405", "Extension involving mucosa only across midline of tongue", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "410", "Extension involving mucosa only:\n Base of tongue\n Floor of mouth\n Gingiva, lower\n Retromolar trigone", "VALUE:T3", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "420", "Extension involving mucosa only:\n Lateral pharyngeal wall\n Soft palate, inferior surface\n Tonsillar pillars and fossae\n Tonsils", "VALUE:T3", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "440", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nBase of tongue\nFloor of mouth\nGingiva, lower\nRetromolar trigone", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "520", "Involvement of deep soft tissue or musculature of tongue\nSoft tissue, NOS", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "530", "Sublingual gland", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "540", "520 + 500\n\nInvolvement of deep soft tissue or musculature of tongue plus mucosal involvement of any structure in code 410", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "Involvement of deep soft tissue or musculature of any structure in code 410", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "560", "(520 - 550) + 420\n\nInvolvement of any structure in codes 520 - 550 plus mucosal involvement of any structure in code 420", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "570", "Involvement of deep soft tissue or musculature of any structure in code 420", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nLateral pharyngeal wall\nSoft palate, inferior surface \nTonsillar pillars and fossae\nTonsils", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "700", "Cartilage of mandible\nCortical bone of mandible\nMandible, NOS\nCartilage, NOS\nCortical bone, NOS\nBone, NOS excluding maxilla and base of skull base", "VALUE:T4a", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "710", "700 + (560 or 570)\n\nInvolvement of any structure in code 700 plus any structure in code 560 or 570", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "720", "OBSOLETE DATA RETAINED V0200 \n\n(600) + (700) ", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "740", "OBSOLETE DATA CONVERTED V0200\nSee code 770\n\nMaxilla\nMaxillary sinus", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "750", "Musculature of tongue, extrinsic:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid \n Palatoglossus\n Styloglossus", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "760", "Skin of face", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "770", "Cartilage of maxilla\nCortical bone of maxilla\nMaxilla, NOS\nMaxillary sinus (antrum)", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "775", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "790", "Contiguous extension:\n Base of skull\n Carotid artery (encased)\n Masticator space\n Pterygoid plates", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "801", "Further contiguous extension including:\n Brain\n Dura\n Lower cranial nerves (IX, X, XI, XII)\n Mediastinal structures\n Prevertebral space", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "950", "OBSOLETE DATA RETAINED V0200\n\nNo evidence of primary tumor", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bey.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bey.json deleted file mode 100644 index 1c3e40b5d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bey.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bey", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC stages carcinoma of pharyngeal tonsil using schema for oropharynx.\n\n**Note 2**: The assignment of T1 and T2 categories for tumors of the oropharynx is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 330, 350, 575, 665, 810, or 815 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 3**: Use code 305 for localized tumor only if no information is available to assign code 100, 200, 305, or 310.", - "footnotes" : "- For CS Extension codes 105, 205, 305, 330, 350, 400, 500, 530, 555, and 565 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size Table AJCC 7 for this schema.\n- For CS Extension codes 100 through 568, 575, and 580 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size Table AJCC 6 for this schema.", - "last_modified" : "2015-05-27T16:19:12.622Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nInvasive tumor confined to one of the following subsites:\n Inferior wall (superior surface of soft palate)\n One lateral wall\n Posterior superior wall (vault)", "ERROR:", "JUMP:extension_size_ajcc6_xdk", "VALUE:L", "VALUE:L" ], [ "105", "Invasive tumor confined to:\n Pharyngeal tonsil (nasopharyngeal tonsil)\n Adenoid \n Posterior superior wall (vault)", "JUMP:extension_size_ajcc7_xdl", "JUMP:extension_size_ajcc6_xdk", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nInvolvement of two or more subsites:\n Lateral wall extending into Eustachian tube/middle ear\n Posterior, inferior, or lateral wall(s)", "ERROR:", "JUMP:extension_size_ajcc6_xdk", "VALUE:L", "VALUE:L" ], [ "205", "Involvement of inferior wall of nasopharynx (superior surface of soft palate)", "JUMP:extension_size_ajcc7_xdl", "JUMP:extension_size_ajcc6_xdk", "VALUE:L", "VALUE:L" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nConfined to nasopharynx\nLocalized, NOS", "ERROR:", "JUMP:extension_size_ajcc6_xdk", "VALUE:L", "VALUE:L" ], [ "305", "Confined to pharyngeal tonsil \nLocalized, NOS", "JUMP:extension_size_ajcc7_xdl", "JUMP:extension_size_ajcc6_xdk", "VALUE:L", "VALUE:L" ], [ "330", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xdl", "JUMP:extension_size_ajcc6_xdk", "VALUE:L", "VALUE:L" ], [ "350", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xdl", "JUMP:extension_size_ajcc6_xdk", "VALUE:L", "VALUE:L" ], [ "400", "Oropharynx\nSoft palate, inferior surface including uvula", "JUMP:extension_size_ajcc7_xdl", "JUMP:extension_size_ajcc6_xdk", "VALUE:RE", "VALUE:RE" ], [ "500", "Nasal cavity", "JUMP:extension_size_ajcc7_xdl", "JUMP:extension_size_ajcc6_xdk", "VALUE:RE", "VALUE:RE" ], [ "530", "Pterygopalatine fossa ", "JUMP:extension_size_ajcc7_xdl", "JUMP:extension_size_ajcc6_xdk", "VALUE:RE", "VALUE:RE" ], [ "550", "OBSOLETE DATA RETAINED V0200\n\nAny extension coded in 100-500 WITH fixation or tumor\nDescribed only as FIXED", "ERROR:", "JUMP:extension_size_ajcc6_xdk", "VALUE:RE", "VALUE:RE" ], [ "555", "Any extension coded in 105, 205, 305, 400, 500, or 530 \nWITH fixation or tumor described only as FIXED", "JUMP:extension_size_ajcc7_xdl", "JUMP:extension_size_ajcc6_xdk", "VALUE:RE", "VALUE:RE" ], [ "560", "OBSOLETE DATA RETAINED V0200\n\nAny extension coded in 100-500 WITH parapharyngeal extension", "ERROR:", "JUMP:extension_size_ajcc6_xdk", "VALUE:RE", "VALUE:RE" ], [ "565", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 566\n\nAny extension coded in 100, 200, 400, 500, or 530 \nWITH parapharyngeal extension", "JUMP:extension_size_ajcc7_xdl", "JUMP:extension_size_ajcc6_xdk", "VALUE:RE", "VALUE:RE" ], [ "566", "Any extension coded in 105, 205, 305, 400, 500, or 530\nWITH parapharyngeal extension", "JUMP:extension_size_ajcc7_xdl", "JUMP:extension_size_ajcc6_xdk", "VALUE:RE", "VALUE:RE" ], [ "568", "Lingual surface of epiglottis", "VALUE:T3", "JUMP:extension_size_ajcc6_xdk", "VALUE:D", "VALUE:D" ], [ "570", "OBSOLETE DATA CONVERTED V0200\nSite/histology moved to new schema V0200\nSee code 610\n\nHard palate", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "575", "Stated as T3 with no other information on extension", "VALUE:T3", "JUMP:extension_size_ajcc6_xdk", "VALUE:L", "VALUE:L" ], [ "580", "OBSOLETE DATA RETAINED V0200\nSite/histology moved to new schema V0200\nSee code 530\n\nPterygopalatine fossa", "ERROR:", "JUMP:extension_size_ajcc6_xdk", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\nSite/histology moved to new schema V0200\nSee code 760\n\nBone including skull", "ERROR:", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "610", "Hard palate", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:RE" ], [ "620", "Paranasal sinus", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:RE" ], [ "640", "(610, 620) + 568\n\nAny structure in code 610 or 620 plus lingual surface of epiglottis", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "645", "Larynx\nHypopharynx\nExtrinsic muscle of tongue\nMedial pterygoid muscle\nMandible", "VALUE:T4a", "VALUE:T4a", "VALUE:D", "VALUE:D" ], [ "650", "OBSOLETE DATA REVIEWED AND CHANGED V0200\nIn CS version 1, extension to the orbit was included in both codes 650 and 700. In addition, the isntructions for coding invasion of orbital bone were not clear. Codes 650 and 700 should be reviewed for orbital involvement. Involvement of bone of floor of orbit should be coded 760, and other orbit involvement should be coded 780.\n\nOrbit", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "665", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4a", "VALUE:RE", "VALUE:RE" ], [ "700", "OBSOLETE DATA REVIEWED AND CHANGED V0200\nSee note in code 650\n\nBrain\nCranial nerves\nHypopharynx\nInfratemporal fossa\nOrbit\nIntracranial extension, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "710", "Lateral nasopharynx", "VALUE:T4b", "VALUE:T4b", "VALUE:L", "VALUE:L" ], [ "715", "710 + (400 - 550) \n\nLateral nasopharynx plus any structure in codes 400 through 530", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "718", "710 + (610, 620) \n\nLateral nasopharynx plus hard palate or paranasal sinus", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:RE" ], [ "730", "710 + 568 \n\nLateral nasopharynx plus lingual surface of epiglottis", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "740", "Lateral pterygoid muscle\nPterygoid plates", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "750", "OBSOLETE DATA RETAINED V0200\nSite/histology moved to new schema V0200\nSee code 780\n\nMasticator space", "ERROR:", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "760", "Bony structures of skull base \nFloor of orbit", "VALUE:T4b", "VALUE:T4b", "VALUE:RE", "VALUE:RE" ], [ "765", "760 + (610, 620) \n\nAny structure in 760 plus hard palate or paranasal sinus", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:RE" ], [ "770", "760 + 568 \n\nAny structure in 760 plus lingual surface of epiglottis", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "780", "Brain\nCranial nerve involvement\nHypopharynx\nInfratemporal fossa/Masticator space\nOrbit", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "790", "Carotid artery (encased", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension including:\n Soft tissues of the neck", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4b", "VALUE:D", "VALUE:D" ], [ "815", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4NOS", "VALUE:L", "VALUE:L" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bez.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bez.json deleted file mode 100644 index 56c727d92..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bez.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bez", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Ocular adnexal lymphomas (OAL) originate in conjunctiva, eyelids, lacrimal gland, lacrimal drainage apparatus, and other orbital tissues surrounding the eye. This schema should not be used for secondary lymphomatous involvement of ocular adnexa or for intraocular lymphomas.\n\n**Note 2**: Preseptal eyelid involvement includes infiltration of the outer three layers of the eyelid:skin, subcutaneous connective tissue, and orbicularis oculi muscle.\n\n**Note 3**: The orbit is the bony cavity containing the eye, lacrimal gland, lacrimal sac, nasolacrimal duct, extraocular muscles, fat. arteries, veins, and nerves, but no lymphatics.\n\n**Note 4**: Unknown extension is coded 989. Code 999, used for lymphoma staging in CS Version1, is an obsolete code for this schema.", - "footnotes" : "- Stage grouping for AJCC 6 staging of ocular adnexal lymphoma for cases using obsolete codes is derived directly from the CS Extension code as shown in the AJCC TNM 6 Stage CSv1 table. A or B classification is appended to Stage I-IV based on coding of CS Site-Specific Factor 2, Systemic Symptoms at Diagnosis.\n- Stage grouping for AJCC 6 staging of ocular adnexal lymphoma is derived from a combination of CS Extension, CS Lymph Nodes, and CS Mets at DX codes as shown in the AJCC TNM 6 Stage table. A or B classification is appended to Stage I-IV based on coding of CS Site-Specific Factor 2, Systemic Symptoms at Diagnosis.", - "last_modified" : "2015-05-27T16:19:12.695Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "OBSOLETE DATA RETAINED V0200\nNew schema for site/histology V0200\n\nInvolvement of a single lymph node region \nStage I", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "105", "Lymphoma involving bulbar conjunctiva only\nWITHOUT orbital involvement\n \nStated as T1a with no other information on extension", "VALUE:T1a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "110", "OBSOLETE DATA RETAINED V0200\nNew schema for site/histology V0200\n\nLocalized involvement of a single extralymphatic organ/site in the absence of any lymph node involvement\nMultifocal involvement of one extralymphatic organ/site\nStage IE", "ERROR:", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "115", "Palpebral conjunctiva \nWITHOUT orbital involvement: \n With or without involvement of the fornix \n With or without involvement of the caruncle\n\nStated as T1b with no other information on extension", "VALUE:T1b", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "120", "OBSOLETE DATA RETAINED V0200\nNew schema for site/histology V0200\n\nInvolvement of spleen only\nStage IS", "ERROR:", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "125", "Extensive conjunctival involvement\n\nStated as T1c with no other information on extension", "VALUE:T1c", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "150", "Conjunctiva alone \nWITHOUT orbital involvement, \nConjunctiva, NOS\n\nStated as T1[NOS] with no other information on extension", "VALUE:T1NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED V0200\nNew schema for site/histology V0200\n\nInvolvement of two or more lymph node regions on the SAME side of the diaphragm\nStage II", "ERROR:", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "210", "OBSOLETE DATA RETAINED V0200\nNew schema for site/histology V0200\n\nLocalized involvement of a single extralymphatic organ/site \nWITH involvement of its regional lymph node(s) or \nWITH or without involvement of other lymph node(s) on the SAME site of the diaphragm\nDirect extension to adjacent organs or tissues\nStage IIE", "ERROR:", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "220", "OBSOLETE DATA RETAINED V0200\nNew schema for site/histology V0200\n\nInvolvement of spleen PLUS lymph node(s) BELOW the diaphragm\nStage IIS", "ERROR:", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "230", "OBSOLETE DATA RETAINED V0200\nNew schema for site/histology V0200\n\nInvolvement of spleen PLUS involvement of a single extralymphatic organ/site BELOW the diaphragm \nWITH/WITHOUT involvement of lymph node(s) BELOW the diaphragm\nStage IIES", "ERROR:", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "300", "OBSOLETE DATA RETAINED V0200\nNew schema for site/histology V0200\n\nInvolvement of lymph node regions on BOTH sides of the diaphragm\nStage III", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "305", "Anterior orbit \n With or without conjunctival involvement\n \nStated as T2a with no other information on extension", "VALUE:T2a", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "310", "OBSOLETE DATA RETAINED V0200\nNew schema for site/histology V0200\n\nInvolvement of an extralymphatic organ/site PLUS involvement of lymph node(s) on the OPPOSITE side of the diaphragm\nStage IIIE", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "315", "Anterior orbit\nWITH lacrimal involvement:\n With or without conjunctival involvement \n \nStated as T2b with no other information on extension", "VALUE:T2b", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "320", "OBSOLETE DATA RETAINED V0200\nNew schema for site/histology V0200\n\nInvolvement of the spleen PLUS lymph node(s) ABOVE the diaphragm\nInvolvement of spleen PLUS lymph nodes on both sides of the diaphragm\nStage IIIS", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "325", "Posterior orbit: \n With or without conjunctival involvement \n With or without anterior involvement\n With or without extraocular muscle involvement\n \nStated as T2c with no other information on extension", "VALUE:T2c", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "330", "OBSOLETE DATA RETAINED V0200\nNew schema for site/histology V0200\n\n(310 + 320) OR\nInvolvement of the spleen PLUS a single extralymphatic site ABOVE the diaphragm\nWITH/WITHOUT involvement of lymph node(s)\nInvolvement of the spleen PLUS involvement of lymph node region(s) ABOVE the diaphragm \nPLUS involvement of a single extralymphatic organ/site on either side of the diaphragm\nStage IIIES", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "335", "Nasolacrimal drainage system: \n With or without conjunctival involvement\n Without nasopharynx involvement\n\nStated as T2d with no other information on extension", "VALUE:T2d", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "350", "Orbital involvement:\n With or without conjunctival involvement\n \nStated as T2 [NOS] with no other information on extension", "VALUE:T2NOS", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "500", "Pre-septal eyelid involvement:\n With or without orbital involvement\n With or without conjunctival involvement\n \nStated as T3 with no other information on extension", "VALUE:T3", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "700", "Nasopharynx\n \nStated as T4a with no other information on extension", "VALUE:T4a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "710", "Osseous involvement including periosteum\n \nStated as T4b with no other information on extension", "VALUE:T4b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "720", "Maxillofacial, ethmoidal, and/or frontal sinuses\n \nStated as T4c with no other information on extension", "VALUE:T4c", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "730", "Intracranial spread\n \nStated as T4d with no other information on extension", "VALUE:T4d", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "750", "Extension beyond orbit to adjacent structures, NOS\n \nStated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\nNew schema for site/histology V0200\n\nDiffuse or disseminated (multifocal) involvement of ONE OR MORE extralymphatic organ(s)/site(s) \nWITH OR WITHOUT associated lymph node involvement\nMultifocal involvement of MORE THAN ONE extralymphatic organ/site\nInvolvement of isolated extralymphatic organ in absence of involvement of adjacent lymph nodes, but in conjunction with disease in distant sites\nMetastasis/involvement:\n Bone marrow\n Liver\n Nodular involvement of lung(s)\nStage IV", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "805", "Further contiguous extension beyond any structure in codes 700 - 730", "VALUE:T4NOS", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "989", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "OBSOLETE DATA RETAINED V0200\nNew schema for site/histology V0200\n\nUnknown extension\nPrimary tumor cannot be assessed\nNot documented in patient record", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfa.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfa.json deleted file mode 100644 index d9a0efcf7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfa.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: \"Multiple (satellite) nodules/tumors\" include satellitosis, multifocal tumors, and intrahepatic metastases.\n\n**Note 2**: Major vascular invasion is defined as invasion of the branches of the main portal vein (right or left portal vein, not including sectoral or segmental branches) or as invasion of one or more of the three hepatic veins (right, middle, or left). Invasion of the hepatic artery or vena cava is coded to 660. \n\n**Note 3**: Extension to gallbladder is not considered in AJCC staging for intrahepatic bile ducts but does affect Summary Stage. Use appropriate combination codes when gallbladder is involved.\n\n**Note 4**: All tumors with a periductal infiltrating growth pattern, a diffuse longitudinal growth pattern along the bile duct, are considered T4 by AJCC. For tumors with periductal infiltrating growth pattern, code the most specific information available about the extent of the tumor in CS Extension, and code periductal infiltrating growth pattern in CS Site-Specific Factor 10.", - "footnotes" : "- For CS Extension codes 100-520, 580, 620, 631-650, 660-665, 675-755, 765-800, and 999 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 10, as shown in the Extension Periductal Invasion AJCC 7 Table for this schema. \n- For CS Extension codes 300, 400, 420, 460, 465, 560, and 650 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:12.746Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive \n", "VALUE:Tis", "VALUE:TX", "VALUE:IS", "VALUE:IS" ], [ "100", "Single lesion in one lobe of liver\nWITHOUT intrahepatic vascular invasion, including vascular invasion not stated", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "120", "Single lesion in more than one lobe of liver (contiguous growth) \nWITHOUT vascular invasion, including vascular invasion not stated", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T1", "VALUE:RE", "VALUE:RE" ], [ "140", "Extension to gallbladder, extent within liver not stated", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T1", "VALUE:RE", "VALUE:RE" ], [ "160", "140 + (100 or 120) \n\nExtension to gallbladder plus single lesion in one or more lobes of liver (contiguous growth)\nWITHOUT vascular invasion ", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T1", "VALUE:RE", "VALUE:RE" ], [ "170", "Stated as T1 with no other information on extension", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Single lesion in one lobe of liver \nWITH intrahepatic vascular invasion", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "220", "Single lesion in more than one lobe of liver (contiguous growth) \nWITH vascular invasion", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "240", "(200 or 220) + 140\n\nSingle lesion in one or more lobes of liver (contiguous growth) \nWITH vascular invasion plus extension to gallbladder", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "250", "Single tumor \nWITH major vascular invasion: major branch(es) of portal or hepatic vein(s)\n(See Note 2)", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "260", "250 + 140\n\nSingle tumor with major vascular invasion plus extension to gallbladder", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "270", "Stated as T2a with no other information on extension", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "300", "Multiple (satellite) nodules/tumors in one lobe of liver \nWITHOUT intrahepatic vascular invasion, including vascular invasion not stated", "JUMP:extension_periductal_invasion_ajcc7_xks", "JUMP:extension_size_ajcc6_xda", "VALUE:L", "VALUE:L" ], [ "400", "Multiple (satellite) nodules/tumors in one lobe of liver( \nWITH intrahepatic vascular invasion", "JUMP:extension_periductal_invasion_ajcc7_xks", "JUMP:extension_size_ajcc6_xda", "VALUE:L", "VALUE:L" ], [ "420", "(300 or 400) + 140\n\nMultiple (satellite) nodules/tumors in one lobe of liver \nWITH or WITHOUT intrahepatic vascular invasion plus extension to gallbladder", "JUMP:extension_periductal_invasion_ajcc7_xks", "JUMP:extension_size_ajcc6_xda", "VALUE:RE", "VALUE:RE" ], [ "450", "Multiple (satellite) nodules/tumor(s) \nWITH major vascular invasion: major branch(es) of portal or hepatic vein(s) \n(See Note 2)", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "455", "450 + 140\n\nMultiple (satellite) nodules/tumor(s) with major vascular invasion plus extension to gallbladder", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "460", "Multiple (satellite) nodules/tumors in more than one lobe of liver\nSatellite nodules, NOS", "JUMP:extension_periductal_invasion_ajcc7_xks", "JUMP:extension_size_ajcc6_xda", "VALUE:D", "VALUE:RE" ], [ "465", "460 + 140\n\nMultiple (satellite) nodules/tumors in more than one lobe of liver plus extension to gallbladder", "JUMP:extension_periductal_invasion_ajcc7_xks", "JUMP:extension_size_ajcc6_xda", "VALUE:D", "VALUE:RE" ], [ "470", "(460 or 465) + any of (250, 260, 450, 455)", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T3", "VALUE:D", "VALUE:RE" ], [ "475", "Stated as T2b with no other information on extension", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "480", "Stated as T2 [NOS] with no other information on extension", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "500", "Confined to liver, NOS\nLocalized, NOS", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "510", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 120 and 160\n\nMore than one lobe involved by contiguous growth (single lesion)\nWITHOUT vascular invasion, including vascular invasion not stated", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T1", "VALUE:RE", "VALUE:RE" ], [ "520", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 220 and 240\n\nMore than one lobe involved by contiguous growth (single lesion)\nWITH vascular invasion", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "530", "OBSOLETE DATA CONVERTED V0203\nSee code 140\n\nExtension to gallbladder, extent within liver not stated", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "540", "OBSOLETE DATA CONVERTED V0203\nSee code 160\n\nExtension to gallbladder 530 + (100 or 510)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "545", "OBSOLETE DATA CONVERTED V0203\nSee code 170\n\nStated as T1 [NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "550", "OBSOLETE DATA CONVERTED V0203\nSee code 240\n\nExtension to gallbladder 530 + (200 or 520)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "560", "OBSOLETE DATA CONVERTED V0203\nSee code 420\n\nExtension to gallbladder 530 + (300 or 400)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "570", "OBSOLETE DATA CONVERTED V0203\nSee code 480\n\nStated as T2 [NOS] with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "580", "Extrahepatic bile ducts", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "590", "OBSOLETE DATA CONVERTED V0203\nSee code 270\n\nStated as T2a with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "620", "580 + (460 or 465) \n\nExtrahepatic bile ducts plus satellite nodules in more than one lobe or multiple tumors with major vascular invasion", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "630", "OBSOLETE DATA RETAINED V0200 \nSee codes 631 and 632\n\nMajor vascular invasion: major branch(es) of portal or hepatic vein(s) (see Note 2)", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "631", "OBSOLETE DATA REVIEWED V0203\nSee codes 250 and 260\n\nSingle tumor with major vascular invasion: major branch(es) of portal or hepatic vein(s) (see Note 2)", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "632", "OBSOLETE DATA REVIEWED V0203\nSee codes 450, 455, and 470\n\nMultiple tumor(s) with major vascular invasion: major branch(es) of portal or hepatic vein(s) (see Note 2)", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "640", "Direct extension/perforation of visceral peritoneum", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "643", "640 + (460, 465, 470)", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "645", "Multiple (satellite) nodules on surface of liver parenchyma", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "650", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 460, 465, 470, 620, 643, and 645 \n\nMultiple (satellite) nodules/tumors in more than one lobe of liver or on surface of parenchyma\nSatellite nodules, NOS", "JUMP:extension_periductal_invasion_ajcc7_xks", "JUMP:extension_size_ajcc6_xda", "VALUE:D", "VALUE:RE" ], [ "655", "OBSOLETE DATA CONVERTED V0203\nSee code 475\n\nStated as T2b with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "660", "Extension to hepatic artery or vena cava", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "665", "660 + (460, 465, 470)", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "670", "OBSOLETE DATA RETAINED V0200 \nSee code 675\n\n650 + 630 ", "ERROR:", "VALUE:T3", "VALUE:D", "VALUE:RE" ], [ "675", "OBSOLETE DATA REVIEWED V0203\nSee codes 470, 643, and 665\n\n650 + (631 or 632)", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T3", "VALUE:D", "VALUE:RE" ], [ "700", "Diaphragm", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "750", "OBSOLETE DATA RETAINED AND REVIEWED V0204\nPerforation of visceral peritoneum included in 2 codes in CSv2: V0201, V0202. Any cases coded 750 for perforation of visceral peritoneum in V0201, V0202 should be recoded to 640. See codes 640, 755. The V0201, V0202 definition for code 750 is restored here. Code 750 did not include perforation of visceral peritoneum in V0203. Any cases coded 750 in V0203 should be recoded to 755. \n\nLesser omentum\nLigament(s):\n Coronary\n Falciform\n Hepatoduodenal\n Hepatogastric\n Round (of liver)\n Triangular\nPerforation of visceral peritoneum\nParietal peritoneum", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "755", "Lesser omentum Ligament(s): \n Coronary \n Falciform \n Hepatoduodenal \n Hepatogastric \n Round (of liver) \n Triangular \n Parietal peritoneum", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "760", "OBSOLETE DATA RETAINED V0200 \nSee code 765\n\n(650 or 670) + any of [(640) or (660) or (700) or (750)]", "ERROR:", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "765", "OBSOLETE DATA REVIEWED V0203\nSee codes 643, 665, 770\n\n(650 or 675) + any of [(640) or (660) or (700) or (750)]", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "770", "(700 or 750) + (460, 465, 470)", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "780", "Stated as T3 with no other information on extension", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension:\n Pancreas\n Pleura\n Stomach\nOther contiguous extension", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "850", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee Note 4 and CS Site-Specific Factor 10 code 010\n\nTumor(s) with periductal invasion \nDiffuse periductal infiltrating tumor", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "855", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "JUMP:extension_periductal_invasion_ajcc7_xks", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfc.json deleted file mode 100644 index 304b61c9b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfc.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis category for gastrointestinal stromal tumors (GIST). Any case with a CS Extension code of 000 is mapped to TX for AJCC 7 stage and in situ Summary Stage.\n\n**Note 2**: Intraluminal or intramural extension to esophagus and duodenum is classified by the depth of greatest invasion in any of these sites, including stomach.\n\n**Note 3**: The assignment of T categories for GISTs is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 340, 390, 395, and 398 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 150 only if GIST is described as arising in a polyp. Do not use this code for GIST described as arising in the wall of the appendix and extending into the lumen with a polypoid appearance.\n\n**Note 5**: Use code 300 for localized cases only if no information is available to assign a more specific code.", - "footnotes" : "- For CS Extension codes -100-800 ONLY, the T category is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this schema.", - "last_modified" : "2015-05-27T16:19:12.810Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "050", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 000\n\n(Adeno)carcinoma, noninvasive, in a polyp", "VALUE:TX", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvasive tumor confined to mucosa, NOS (including intramucosal, NOS)", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "110", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvades lamina propria", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "120", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvades muscularis mucosae", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "130", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nConfined to head of polyp\nExtension to stalk of polyp", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "140", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nConfined to stalk of polyp", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "150", "Invasive tumor in polyp, NOS", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "155", "Tumor confined to muscular wall", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "160", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvades submucosa (superficial invasion)", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "165", "Tumor invades through submucosa and muscularis mucosae to involve mucosa", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvades into but not through muscularis propria", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Implants inside stomach\nLocalized, NOS", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "340", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "350", "OBSOLETE DATA RETAINED V0200\n\nLinitis plastica and no other information regarding extension is available", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:L" ], [ "390", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "395", "Stated as T3 with no other information on extension", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "398", "Stated as T4 with no other information on extension", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Invasion through muscularis propria or muscularis, NOS\nExtension through wall, NOS\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\n\nNote: In V0203 ONLY, code 400 had a different meaning, but the original description of the code has been restored in V0204.", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "440", "Intraluminal extension to esophagus or duodenum", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:RE", "VALUE:L" ], [ "450", "Extension to adjacent (connective) tissue \nWITHOUT perforation of visceral peritoneum:\n Gastric artery\n Ligaments: \n Gastrocolic\n Gastrohepatic\n Gastrosplenic\n Omentum, NOS:\n Greater\n Lesser\n Perigastric fat", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "458", "Fat, NOS", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "480", "OBSOLETE DATA CONVERTED V0203\nSee code 395\n\nStated as T3 with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "490", "OBSOLETE DATA CONVERTED V0203\nSee code 398\n\nStated as T4 with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "500", "Invasion of/through serosa (mesothelium) \n(tunica serosa) (visceral peritoneum), including perforation of visceral peritoneum covering the gastric ligaments or the omentum \nWITHOUT invasion of adjacent structures", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "500 + 450", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "560", "Invasion of/through serosa with invasion of/through mucosa", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 610 and 650\n\nDiaphragm\nDuodenum via serosa or NOS\nEsophagus via serosa\nIleum\nJejunum\nLiver\nPancreas\nSmall intestine, NOS\nSpleen\nTransverse colon/mesocolon (including flexures)\nCeliac axis \nAorta", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "610", "Diaphragm\nDuodenum via serosa Duodenum, NOS\nEsophagus via serosa\nIleum\nJejunum\nLiver\nPancreas\nSmall intestine, NOS\nSpleen\nTransverse colon/mesocolon (including flexures)", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "650", "Aorta\nCeliac axis", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "700", "Abdominal wall\nAdrenal gland\nKidney\nRetroperitoneum", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "JUMP:extension_size_ajcc7_xed", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfd.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfd.json deleted file mode 100644 index e6a7496dd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfd.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis category for gastrointestinal stromal tumors (GIST). Any case with a CS Extension code of 000 is mapped to TX for AJCC 7 stage and in situ Summary Stage. \n\n**Note 2**: Give priority to coding depth of invasion or spread outside the small intestine for tumor with intraluminal or lateral extension to adjacent segment(s) of small intestine.\n\n**Note 3**: The assignment of T categories for GISTs is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 170, 210, 250, and 270 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 150 only if GIST is described as arising in a polyp. Do not use this code for GIST described as arising in the wall of the appendix and extending into the lumen with a polypoid appearance.\n\n**Note 5**: Use code 300 for localized cases only if no information is available to assign a more specific code.", - "footnotes" : "- For CS Extension codes 100-800 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this site.", - "last_modified" : "2015-05-27T16:19:12.863Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "050", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 000\n\n(Adeno)carcinoma in a polyp, noninvasive", "VALUE:TX", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvasive tumor confined to mucosa, NOS, including intramucosal, NOS", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "110", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvasion of lamina propria", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "120", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 155 and 165\n\nInvasion of muscularis mucosae", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "130", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nConfined to head of polyp", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "140", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nConfined to stalk of polyp", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "150", "Invasion of polyp, NOS", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "155", "Tumor confined to muscular wall", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "160", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvasion of submucosa (superficial invasion)", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "165", "Tumor invades through submucosa and muscularis mucosae to involve mucosa", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "170", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 155 and 165\n\nMuscularis propria invaded", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "210", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "250", "Stated as T3 with no other information on extension", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "270", "Stated as T4 with no other information on extension", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Intraluminal spread to other segments of small intestine or cecum\n(See Note 2)\nLocalized, NOS", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Invasion through muscularis propria or muscularis, NOS\nExtension through wall, NOS\nSubserosal tissue/(sub) serosal fat invaded\nTransmural, NOS", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "410", "OBSOLETE DATA CONVERTED V0203\nSee code 250\n\nStated as T3, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 458\n\nFat, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "450", "Adjacent connective tissue\nMesentery, including mesenteric fat, invaded less than or equal to 2 cm in depth or invaded, NOS\nNonperitonealized perimuscular tissue invaded less than or equal to 2 cm in depth or invaded, NOS\nRetroperitoneum invaded less than or equal to 2 cm in depth or NOS", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "458", "Fat, NOS", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "500", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum)", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:L", "VALUE:RE" ], [ "550", "500 + (420 or 450)\n\nInvasion of/through serosa plus invasion of structures in codes 420 or 450", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "560", "Invasion of/through serosa with invasion of/through mucosa", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "For duodenum primary only:\n Ampulla of Vater\n Diaphragm\n Extrahepatic bile duct(s)\n Gallbladder\n Pancreas\n Pancreatic duct", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "650", "For duodenum primary only:\n Blood vessel(s), major:\n Aorta\n Gastroduodenal artery\n Portal vein\n Renal vein\n Superior mesenteric artery or vein\n Vena cava\n Greater omentum\n Hepatic flexure\n Kidney, NOS\n Kidney, right\n Liver, NOS\n Liver, quadrate lobe\n Liver, right lobe\n Omentum, NOS\n Transverse colon\n Ureter, right\nFor jejunum or ileum primaries only:\n Colon, including appendix", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "660", "For duodenum primary only:\n Stomach", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "670", "Abdominal wall\nMesentery invaded greater than 2 cm in depth\nNon-peritonealized perimuscular tissue invaded greater than 2 cm in depth\nRetroperitoneum invaded greater than 2 cm in depth", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "680", "Other segments of the small intestine via serosa", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "690", "OBSOLETE DATA CONVERTED V0203\nSee code 270\n\nStated as T4, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "700", "For jejunum or ileum primary only:\n Bladder\n Fallopian tube(s)\n Ovary(ies)\n Uterus", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "JUMP:extension_size_ajcc7_xef", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown extension\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfe.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfe.json deleted file mode 100644 index 7328a378f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfe.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis category for gastrointestinal stromal tumors (GIST). Any case with a CS Extension code of 000 is mapped to TX for AJCC 7 stage and in situ Summary Stage.\n\n**Note 2**: Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 3**: The assignment of T categories for GISTs is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 170, 210, 250, and 270 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 150 only if GIST is described as arising in a polyp. Do not use this code for GIST described as arising in the wall of the colon and extending into the lumen with a polypoid appearance.\n\n**Note 5**: Use code 300 for localized cases only if no information is available to assign a more specific code.\n\n**Note 6**: Use code 570 for tumor with macroscopic adhesions to other organs or structures and for pathologically confirmed tumor in adhesions. However, if no tumor is present in adhesion(s) upon microscopic examination, use lower codes to describe the microscopically confirmed depth of tumor invasion for these cases (excluding adherence to liver, see Note 7).\n\n**Note 7**: Adherence to the liver capsule is not considered distant metastasis. Use code 570 for any adherence to the liver capsule.\n\n**Note 8**: Codes 600-800 are used for contiguous extension from the site of origin. Discontinuous involvement is coded in CS Mets at DX.Code", - "footnotes" : "- For CS Extension codes 100-800 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this schema.", - "last_modified" : "2015-05-27T16:19:12.927Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "050", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 000\n\n(Adeno)carcinoma in a polyp or adenoma noninvasive", "VALUE:TX", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvasive tumor confined to mucosa, NOS (includes intramucosal, NOS)", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "110", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nLamina propria", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "120", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nConfined to and not through the muscularis mucosae", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "130", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nConfined to head of polyp, NOS", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "140", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nConfined to stalk of polyp, NOS", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "150", "Invasive tumor in polyp, NOS", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "155", "Tumor confined to muscular wall", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "160", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvades submucosa (superficial invasion)", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "165", "Tumor invades through submucosa and muscularis mucosae to involve mucosa", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "170", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 155 and 165\n\nMuscularis propria invaded", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "210", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "250", "Stated as T3 with no other information on extension", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "270", "Stated as T4 with no other information on extension", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Confined to colon, NOS\nLocalized, NOS ", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nNon-peritonealized pericolic tissues invaded\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS\nWall, NOS", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "410", "OBSOLETE DATA CONVERTED V0203\nSee code 250\n\nStated as T3, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 458\n\nFat, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "450", "For all colon sites:\n Adjacent tissue(s), NOS\n Connective tissue\n Mesenteric fat\n Mesentery \n Mesocolon\n Pericolic fat\nFor ascending and descending colon :\n Retroperitoneal fat \nFor transverse colon and flexures :\n Gastrocolic ligament\n Greater omentum", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "458", "Fat, NOS", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "460", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee Note 6 and code 570\n\nAdherent to other organs or structures, but no microscopic tumor found in adhesion(s)", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "490", "OBSOLETE DATA CONVERTED V0203\nSee code 270\n\nStated as T4, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "500", "Invasion of/through serosa (mesothelium) (visceral peritoneum)", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "500 + (420 or 450)", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "560", "Invasion of/through serosa with invasion of/through mucosa", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "570", "Adherent to liver capsule\nAdherent to other organs or structures, NOS", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "For all colon sites:\n Small intestine\nFor cecum:\n Greater omentum\nFor ascending colon:\n Greater omentum\n Liver, right lobe\nFor transverse colon and flexures:\n Bile ducts\n Gallbladder\n Kidney\n Liver\n Pancreas\n Spleen\n Stomach\nFor descending colon:\n Greater omentum\n Pelvic wall\n Spleen\nFor sigmoid colon:\n Greater omentum\n Pelvic wall", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "650", " Abdominal wall \n Retroperitoneum (excluding fat) ", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "660", "For ascending colon:\n Kidney, right\n Ureter, right\nFor descending colon:\n Kidney, left\n Ureter, left", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "For cecum, ascending colon, descending colon , and sigmoid colon:\n Fallopian tube\n Ovary\n Uterus", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "750", "For all colon sites unless otherwise listed above:\n Adrenal (suprarenal) gland\n Bladder\n Diaphragm\n Fistula to skin\n Gallbladder\n Other segment(s) of colon via serosa", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension including:\n For cecum:\n Kidney, right\n Liver\n Ureter, right\n For transverse colon and flexures:\n Ureter\n For sigmoid colon:\n Cul de sac (rectouterine pouch)\n Ureter", "JUMP:extension_size_ajcc7_xeb", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bff.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bff.json deleted file mode 100644 index 5bb40c6a0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bff.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bff", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis category for gastrointestinal stromal tumors (GIST). Any case with a CS Extension code of 000 is mapped to TX for AJCC 7 stage and in situ Summary Stage.\n\n**Note 2**: For rectosigmoid, ignore intraluminal extension to adjacent segment(s) of colon and rectum; code depth of invasion or extra-rectosigmoidal spread as indicated.\n\n**Note 3**: The assignment of T categories for GISTs is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 170, 210, 250, and 270 as appropriate to code CS Extension based on a statement of T when no other extension information is available. \n\n**Note 4**: Use code 150 only if GIST is described as arising in a polyp. Do not use this code for GIST described as arising in the wall of the rectum and extending into the lumen with a polypoid appearance.\n\n**Note 5**: Use code 300 for localized cases only if no information is available to assign a more specific code\n\n**Note 6**: Use code 570 for tumor with macroscopic adhesions to other organs or structures and for pathologically confirmed tumor in adhesions. However, if no tumor is present in adhesion(s) upon microscopic examination, use lower codes to describe the microscopically confirmed depth of tumor invasion for these cases (excluding adherence to liver, see Note 7). \n\n**Note 7**: Adherence to the liver capsule is not considered distant metastasis. Use code 570 for any adherence to the liver capsule.", - "footnotes" : "- For CS Extension codes 100-800 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this schema.", - "last_modified" : "2015-05-27T16:19:12.985Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "050", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 000\n\n(Adeno)carcinoma in a polyp or adenoma, noninvasive", "VALUE:TX", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvasive tumor confined to mucosa, NOS, including intramucosal, NOS", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "110", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nLamina propria", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "120", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nConfined to and not through the muscularis mucosaee", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "130", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nConfined to head of polyp, NOS", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "140", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nConfined to stalk of polyp, NOS", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "150", "Invasive tumor in polyp, NOS", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "155", "Tumor confined to muscular wall", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "160", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155, 165\n\nSubmucosa (superficial invasion)", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "165", "Tumor invades through submucosa and muscularis mucosae to involve mucosa", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "170", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nMuscularis propria invaded", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "210", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "250", "Stated as T3 with no other information on extension", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "270", "Stated as T4 with no other information on extension", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Confined to rectosigmoid (junction), NOS\nConfined to rectum, NOS\nLocalized, NOS", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nNon-peritonealized pericolic tissues invaded\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS\nWall, NOS", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "410", "OBSOLETE DATA CONVERTED V0203\nSee code 250\n\nStated as T3, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 458\n\nFat, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "440", "For rectum:\n Intraluminal extension to rectosigmoid\n Intraluminal extension to anus", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:RE", "VALUE:L" ], [ "450", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 440, 455, and 610\n\nAdjacent (connective) tissue:\n For all sites:\n Perirectal fat\n For rectosigmoid:\n Mesentery (including mesenteric fat, mesocolon)\n Pericolic fat\n For rectum:\n Extension to anus\n Rectovaginal septum", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "455", "Adjacent (connective) tissue:\n For all sites:\n Perirectal fat\n For rectosigmoid:\n Mesentery (including mesenteric fat, mesocolon)\n Pericolic fat\n For rectum:\n Rectovaginal septum", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "458", "Fat, NOS", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "460", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee Note 6 and code 570\n\nAdherent to other organs or structures but no tumor found in adhesion(s)", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "490", "OBSOLETE DATA CONVERTED V0203\nSee code 270\n\nStated as T4, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "500", "Invasion of/through serosa (mesothelium) (visceral peritoneum)", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 555 and 610\n\n500 with (420 or 450)", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "555", "500 + (440, 455 or 458)", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "560", "Invasion of/through serosa with invasion of/through mucosa", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "570", "Adherent to liver capsule\nAdherent to other organs or structures, NOS", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA CONVERTED V0203\nSee code 610\n\nRectosigmoid:\n Cul de sac (rectouterine pouch)\n Pelvic wall\n Small intestine\nRectum:\n Bladder for males only\n Cul de sac (rectouterine pouch)\n Ductus deferens\n Pelvic wall\n Prostate\n Rectovesical fascia for male only\n Seminal vesicle(s)\n Skeletal muscle of pelvic floor\n Vagina", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "610", "For all sites:\n Cul de sac (rectouterine pouch)\n Pelvic wall\nFor rectosigmoid: \n Pelvic plexuses\n Small intestine\nFor rectum:\n Anus (excluding intraluminal extension)\n Bladder for males only\n Colon\n Ductus deferens\n Prostate\n Rectovesical fascia for males only\n Seminal vesicle(s)\n Skeletal muscle of pelvic floor\n Vagina", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "For rectosigmoid:\n Bladder\n Colon via serosa\n Fallopian tube(s)\n Ovary(ies)\n Prostate\n Ureter(s)\n Uterus\nFor rectum:\n Bladder for females only\n Bone(s) of pelvis\n Urethra\n Uterus", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension including:\n For all sites:\n Other segments of colon via serosa\n For rectosigmoid:\n Skeletal muscles of pelvic floor\n Vagina\n For rectum:\n Sacral plexus\n Sacrum\n Ovary(ies)\n Perineum, perianal skin", "JUMP:extension_size_ajcc7_xec", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfg.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfg.json deleted file mode 100644 index f5bb12466..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfg.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bfg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Ignore intraluminal extension to adjacent segment(s) of colon; code depth of invasion or extracolonic spread as indicated.\n\n**Note 2**: Mucinous tumors are identified by morphology codes 8480, 8481, and 8490.\n\n**Note 3**: One or more malignant satellite peritumoral nodules or tumor deposits (TD) in the periappendiceal adipose tissue of a primary carcinoma without histologic evidence of residual lymph node in the nodule may represent discontinuous spread, venous invasion with extravascular spread, or a totally replaced lymph node. Replaced nodes are counted as positive nodes and coded in CS Lymph Nodes. TD representing discontinuous spread or venous invasion are coded in CS Extension, code 450, and the number of TD representing discontinuous spread or venous invasion is coded in CS Site-Specific Factor 4.\n\n**Note 4**: Tumor that is adherent to other organs or structures, macroscopically, is classified cT4b. If tumor is present in adhesion(s) upon microscopic examination, the tumor is classified as pT4b. Use code 565 for macroscopic adhesions if no pathologic confirmation, and for pathologically confirmed tumor in adhesions. However, if no tumor is present in adhesion(s) upon microscopic examination, the classification is based upon extent of tumor invasion into or through the wall; use codes 000-160, 200, 400, 450, 500-550 as appropriate to describe the microscopically confirmed depth of tumor invasion for these cases. Use codes 600-650, 665, 700-810 to code invasion of underlying structures from the adherent tumor. \n\n**Note 5**: Codes 600-650 and 700-750are used for contiguous extension from the site of origin. Except for intraperitoneal metastases limited to the right lower quadrant (RLQ) of the abdomen for mucinous tumors, discontinuous involvement is coded in CS Mets at DX.\n\n**Note 6**: High-grade dysplasia is not always collected by cancer registries but, if collected, it should be coded 000 or 050.", - "last_modified" : "2015-05-27T16:19:13.072Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "050", "(Adeno)carcinoma, noninvasive, in a polyp or adenoma", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to mucosa, NOS (including intramucosal, NOS)", "VALUE:Tis", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "110", "Invasive tumor confined to the lamina propria, including lamina propria in the stalk of a polyp", "VALUE:Tis", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "120", "Confined to and not through the muscularis mucosae, including muscularis mucosae in the stalk of a polyp.", "VALUE:Tis", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "130", "Confined to head of polyp, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "140", "Confined to stalk of polyp, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "150", "Invasive tumor in polyp, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "160", "Invades submucosa (superficial invasion), including submucosa in stalk of polyp", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "170", "Stated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis propria invaded\nStated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "300", "Confined to appendix, NOS\nLocalized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nNon-peritonealized pericolic tissues invaded\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS\nWall, NOS", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "410", "OBSOLETE DATA CONVERTED V0203\nSee code 470\n\nStated as T3[NOS] with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 458\n\nFat, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "450", "Extension to:\n Adjacent tissue(s), NOS\n Connective tissue\n Mesenteric fat\n Mesentery \n Mesoappendix\n Pericolic fat", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "458", "Fat, NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "460", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee Note 4, coded 565 and 570\n\nAdherent to other organs or structures, but no microscopic tumor found in adhesion(s)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "470", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "500", "Invasion of/through serosa (mesothelium) (visceral peritoneum)\nTumor penetrates to surface of visceral peritoneum", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "510", "For mucinous tumors only:\n Peritoneal involvement confined within right lower quadrant ONLY", "VALUE:T4a", "VALUE:TX", "VALUE:D", "VALUE:D" ], [ "511", "510 + any of (130-160 or 300)\n\nFor mucinous tumors only:\n Peritoneal involvement confined within right lower quadrant plus local extension equivalent to T1", "VALUE:T4a", "VALUE:T1", "VALUE:D", "VALUE:D" ], [ "512", "510 + 200\n\nFor mucinous tumors only:\n Peritoneal involvement confined within right lower quadrant plus local extension equivalent to T2", "VALUE:T4a", "VALUE:T2", "VALUE:D", "VALUE:D" ], [ "513", "510 + (400, 450, 458) \n\nFor mucinous tumors only:\n Peritoneal involvement confined within right lower quadrant plus regional extension equivalent to T3", "VALUE:T4a", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "514", "510 + 500\n\nFor mucinous tumors only:\n Peritoneal involvement confined within right lower quadrant plus regional extension equivalent to T4", "VALUE:T4a", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "550", "500 + (450, 458)", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "560", "Stated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "565", "Adherent to other organs or structures clinically with no microscopic examination \nTumor found in adhesion(s) if microscopic examination performed", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "570", "Adherent to other organs or structures, NOS", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "600", "Greater omentum\nSmall intestine", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "650", "Abdominal wall \nRetroperitoneum (excluding fat) ", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "660", "OBSOLETE DATA RETAINED V0200 \n\nAscending colon:\n Right kidney\n Right ureter\nDescending colon:\n Left kidney\n Left ureter", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "665", "Any of (550, 565 - 650) + any of (510 - 514) ", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "670", "OBSOLETE DATA CONVERTED V0203\nSee code 665\n\n(570-650) + 510", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "675", "OBSOLETE DATA CONVERTED V0203\nSee code 665\n\n(570-650) + 511", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "680", "OBSOLETE DATA CONVERTED V0203\nSee code 665\n\n(570-650) + 512", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "690", "OBSOLETE DATA CONVERTED V0203\nSee code 665\n\n(570-650) + 513", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "700", "Fallopian tube\nOvary\nUterus", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "Adrenal (suprarenal) gland\nBladder\nDiaphragm\nFistula to skin\nGallbladder\nOther segment(s) of colon/rectum via serosa", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Kidney\nLiver\nUreter\nOther contiguous extension", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Any of (565-800) + 510\n\nFor mucinous tumors only:\n Regional extension characterized as T4b plus peritoneal involvement confined within right lower quadrant", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "850", "Stated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "900", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfh.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfh.json deleted file mode 100644 index 1509d6872..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfh.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis category for gastrointestinal stromal tumors (GIST). Any case with a CS Extension code of 000 is mapped to TX for AJCC 7 stage and in situ Summary Stage.\n\n**Note 2**: Ignore intraluminal extension to adjacent segment(s) of colon; code depth of invasion or extra-appendiceal spread as indicated.\n\n**Note 3**: The assignment of T categories for gastrointestinal stromal tumors (GISTs) is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 170, 210, 250, and 270 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 150 only if GIST is described as arising in a polyp. Do not use this code for GIST described as arising in the wall of the appendix and extending into the lumen with a polypoid appearance.\n\n**Note 5**: Use code 300 for localized cases only if no information is available to assign a more specific code.\n\n**Note 6**: Use code 570 for tumor with macroscopic adhesions to other organs or structures and for pathologically confirmed tumor in adhesions. However, if no tumor is present in adhesion(s) upon microscopic examination, use lower codes to describe the microscopically confirmed depth of tumor invasion for these cases (excluding adherence to liver, see Note 7).\n\n**Note 7**: Adherence to the liver capsule is not considered distant metastasis. Use code 570 for any adherence to the liver capsule.", - "footnotes" : "- For CS Extension codes 100-800 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this schema.", - "last_modified" : "2015-05-27T16:19:13.121Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "050", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 000\n\n(Adeno)carcinoma in a polyp or adenoma, noninvasive", "VALUE:TX", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvasive tumor confined to mucosa, NOS (including intramucosal, NOS)", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "110", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nLamina propria, including lamina propria in the stalk of a polyp", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "120", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nConfined to and not through the muscularis mucosae, including muscularis mucosae in the stalk of a polyp", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "130", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nConfined to head of polyp, NOS", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "140", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nConfined to stalk of polyp, NOS", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "150", "Invasive tumor in polyp, NOS", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "155", "Tumor confined to muscular wall", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "160", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvades submucosa (superficial invasion), including submucosa in the stalk of a polyp", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "165", "Tumor invades through submucosa and muscularis mucosae to involve mucosa", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "170", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 155 and 165\n\nMuscularis propria invaded", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "210", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "250", "Stated as T3 with no other information on extension", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "270", "Stated as T4 with no other information on extension", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Confined to appendix, NOS\nLocalized, NOS", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nNon-peritonealized pericolic tissues invaded\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS\nWall, NOS", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "410", "OBSOLETE DATA CONVERTED V0203\nSee code 250\n\nStated as T3, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "420", "OBSOLETE DATA CONVERTED V0203 See code 458 Fat, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "450", "Extension to:\n Adjacent tissue(s), NOS\n Connective tissue\n Mesenteric fat\n Mesentery \n Mesoappendix\n Pericolic fat", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "458", "Fat, NOS", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "460", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee Note 6 and code 570\n\nAdherent to other organs or structures, but no microscopic tumor found in adhesion(s)", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "490", "OBSOLETE DATA CONVERTED V0203\nSee code 270\n\nStated as T4, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "500", "Invasion of/through serosa (mesothelium) (visceral peritoneum)", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "500 + (420 and or 450) ", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "560", "Invasion of/through serosa with invasion of/through mucosa", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "570", "Adherent to liver capsule\nAdherent to other organs or structures, NOS", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "Greater omentum\nSmall intestine", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "650", "Abdominal wall \nRetroperitoneum (excluding fat)", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "660", "OBSOLETE DATA RETAINED V0200\n\nAscending colon:\nRight kidney\nRight ureter\nDescending colon:\nLeft kidney\nLeft ureter", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "700", "Fallopian tube\nOvary\nUterus", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "750", "Adrenal (suprarenal) gland\nBladder\nDiaphragm\nFistula to skin\nGallbladder\nOther segment(s) of colon via serosa", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Other contiguous extension including:\n Kidney\n Liver\n Ureter", "JUMP:extension_size_ajcc7_xet", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfi.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfi.json deleted file mode 100644 index 43ae1968a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfi.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis category for Neuroendocrine Tumors (NET) of the colon. CS Extension code 000 is mapped to TX for AJCC stage and in situ Summary Stage.\n\n**Note 2**: Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 3**: The assignment of the T1 categories for NETs of the colon/rectum is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension,. Use codes 170, 180, 190, 210, 410, and 810 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign a more specific code.\n\n**Note 5**: Use code 570 for tumor with macroscopic adhesions to other organs or structures and for pathologically confirmed tumor in adhesions. However, if no tumor is present in adhesions upon microscopic examination, use lower codes to describe the microscopically confirmed depth of tumor invasion for these cases.", - "footnotes" : "- For CS Extension codes 100-190 and 300 ONLY, the T category for AJCC7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this schema.", - "last_modified" : "2015-05-27T16:19:13.178Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "050", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 000\n\n(Adeno)carcinoma in a polyp or adenoma, noninvasive", "VALUE:TX", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to mucosa, NOS including intramucosal, NOS", "JUMP:extension_size_ajcc7_xkg", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "110", "Invades lamina propria, including lamina propria in the stalk of a polyp", "JUMP:extension_size_ajcc7_xkg", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "120", "Confined to and not through the muscularis mucosae, including muscularis mucosae in the stalk of a polyp.", "JUMP:extension_size_ajcc7_xkg", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "130", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 120, 160\n\nConfined to head of polyp, NOS", "JUMP:extension_size_ajcc7_xkg", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "140", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 120, 160\n\nConfined to stalk of polyp, NOS", "JUMP:extension_size_ajcc7_xkg", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "150", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 120, 160\n\nInvasive tumor in polyp, NOS", "JUMP:extension_size_ajcc7_xkg", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "160", "Invades submucosa (superficial invasion), including submucosa in the stalk of a polyp", "JUMP:extension_size_ajcc7_xkg", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "170", "Stated as T1a with no other information on extension", "JUMP:extension_size_ajcc7_xkg", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "180", "Stated as T1b with no other information on extension", "JUMP:extension_size_ajcc7_xkg", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "190", "Stated as T1 [NOS] with no other information on extension", "JUMP:extension_size_ajcc7_xkg", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis propria invaded", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "210", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS \nConfined to colon, NOS", "JUMP:extension_size_ajcc7_xkg", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Extension through wall, NOS\nThrough muscularis propria or muscularis, NOS\nNon-peritonealized pericolic tissues invaded\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 458\n\nFat, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "450", "Extension to:\n All colon sites:\n Adjacent tissue(s), NOS\n Connective tissue\n Mesenteric fat\n Mesentery \n Mesocolon\n Pericolic fat\n Ascending and descending colon:\n Retroperitoneal fat \n Transverse colon/flexures:\n Gastrocolic ligament\n Greater omentum", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "458", "Fat, NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "460", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee Note 5, code 570\n\nAdherent to other organs or structures, but no microscopic tumor found in adhesion(s)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "490", "OBSOLETE DATA CONVERTED V0203\nSee code 810\n\nStated as T4, NOS with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "500", "Invasion of/through serosa (mesothelium) (visceral peritoneum)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "550", "500 + (450, 458)\n\nInvasion of/through serosa with extension to tissues listed in code 450 or to fat", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "570", "Adherent to other organs or structures, NOS", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "600", "All colon sites:\n Small intestine\nCecum:\n Greater omentum\nAscending colon:\n Greater omentum\n Liver, right lobe\nTransverse colon and flexures:\n Gallbladder/bile ducts\n Kidney\n Liver\n Pancreas\n Spleen\n Stomach\nDescending colon:\n Greater omentum\n Pelvic wall\n Spleen\nSigmoid colon:\n Greater omentum\n Pelvic wall", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "650", "All colon sites:\n Abdominal wall \n Retroperitoneum (excluding fat) ", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "660", "Ascending colon:\n Right kidney\n Right ureter\nDescending colon:\n Left kidney\n Left ureter", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "700", "Cecum, ascending, descending and sigmoid colon:\n Fallopian tube\n Ovary\n Uterus", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "All colon sites unless otherwise stated above:\n Adrenal (suprarenal) gland\n Bladder\n Diaphragm\n Fistula to skin\n Gallbladder\n Other segment(s) of colon via serosa", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension:\n Cecum:\n Kidney\n Liver\n Ureter\n Transverse colon and flexures:\n Ureter\n Sigmoid colon:\n Cul de sac (rectouterine pouch)\n Ureter\nOther contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfj.json deleted file mode 100644 index 11040704c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfj.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis category for Neuroendocrine Tumors (NET)) of the rectum/rectosigmoid. CS Extension code 000 is mapped to TX for AJCC stage and in situ Summary Stage.\n\n**Note 2**: For rectosigmoid, ignore intraluminal extension to adjacent segment(s) of colon and rectum; code depth of invasion or rectosigmoidal spread as indicated.\n\n**Note 3**: The assignment of the T1 categories for NETs of the colon/rectum is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use code 170, 180, 190, 210, 410, and 810 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign a more specific code.\n\n**Note 5**: Use code 570 for tumor with macroscopic adhesions to other organs or structures and for pathologically confirmed tumor in adhesions. However, if no tumor is present in adhesions upon microscopic examination, use lower codes to describe the microscopically confirmed depth of tumor invasion for these cases.", - "footnotes" : "- For CSExtension codes 000-190 and 300 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this schema.", - "last_modified" : "2015-05-27T16:19:13.234Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "050", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 000\n\n(Adeno)carcinoma in a polyp or adenoma, noninvasive", "VALUE:TX", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to mucosa, NOS (including intramucosal, NOS)", "JUMP:extension_size_ajcc7_xkh", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "110", "Invades lamina propria, including lamina propria in the stalk of a polyp", "JUMP:extension_size_ajcc7_xkh", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "120", "Confined to and not through the muscularis mucosae, including muscularis mucosae in the stalk of a polyp.", "JUMP:extension_size_ajcc7_xkh", "VALUE:Tis", "VALUE:L", "VALUE:L" ], [ "130", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 120, 160\n\nConfined to head of polyp, NOS", "JUMP:extension_size_ajcc7_xkh", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "140", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 120, 160\n\nConfined to stalk of polyp, NOS", "JUMP:extension_size_ajcc7_xkh", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "150", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 120, 160\n\nInvasive tumor in polyp, NOS", "JUMP:extension_size_ajcc7_xkh", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "160", "Submucosa (superficial invasion), including submucosa in the stalk of a polyp", "JUMP:extension_size_ajcc7_xkh", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "165", "For rectum:\n Intraluminal extension to rectosigmoid\n Intraluminal extension to anal canal/anus", "JUMP:extension_size_ajcc7_xkh", "VALUE:T1", "VALUE:RE", "VALUE:L" ], [ "170", "Stated as T1a with no other information on extension", "JUMP:extension_size_ajcc7_xkh", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "180", "Stated as T1b with no other information on extension", "JUMP:extension_size_ajcc7_xkh", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "190", "Stated as T1 [NOS] with no other information on extension", "JUMP:extension_size_ajcc7_xkh", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis propria invaded", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "210", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS \nConfined to rectum, NOS", "JUMP:extension_size_ajcc7_xkh", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nNon-peritonealized pericolic tissues invaded\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "405", "(200 or 400) +165", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:L" ], [ "410", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 458\n\nFat, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "450", "OBSOLETE DATA RETAINED AND REVIEWED V0203 \nSee codes 165, 405, 455, and 610\n\nAdjacent (connective) tissue:\n For all sites:\n Perirectal fat\n For rectosigmoid:\n Mesentery (including mesenteric fat, mesocolon)\n Pericolic fat\n For rectum:\n Extension to anus\n Rectovaginal septum", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "455", "Adjacent (connective) tissue:\n For all sites:\n Perirectal fat\n For rectosigmoid:\n Mesentery (including mesenteric fat, mesocolon)\n Pericolic fat\n For rectum:\n Rectovaginal septum", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "458", "Fat, NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "460", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee Note 5, code 570\n\nAdherent to other organs or structures, but no microscopic tumor found in adhesion(s)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "490", "OBSOLETE DATA CONVERTED V0203\nSee code 810\n\nStated as T4, NOS with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "500", "Invasion of/through serosa (mesothelium) (visceral peritoneum)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "550", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 555, 610\n\n(500) with [(420 or (450)]", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "555", "500 + (165, 405, 455, or 458)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "570", "Adherent to other organs or structures, NOS", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA CONVERTED V0203\nSee code 610\n\nRectosigmoid:\n Cul de sac (rectouterine pouch)\n Pelvic wall\n Small intestine\nRectum:\n Bladder for males only\n Cul de sac (rectouterine pouch)\n Ductus deferens\n Pelvic wall\n Prostate\n Rectovesical fascia for male only\n Seminal vesicle(s)\n Skeletal muscle of pelvic floor\n Vagina", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "610", "For all sites:\n Cul de sac (rectouterine pouch)\n Pelvic wall\nFor rectosigmoid:\n Pelvic plexuses\n Small intestine\nFor rectum:\n Anus (excluding intraluminal extension)\n Bladder for males only\n Ductus deferens\n Prostate\n Rectovesical fascia for males only\n Seminal vesicle(s)\n Skeletal muscle of pelvic floor\n Vagina", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "700", "For rectosigmoid:\n Bladder\n Colon via serosa\n Fallopian tube(s)\n Ovary(ies)\n Prostate\n Ureter(s)\n Uterus\nFor rectum:\n Bladder for females only\n Bone(s) of pelvis\n Urethra\n Uterus", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension including:\n For all sites:\n Other segments of colon via serosa\n For rectosigmoid:\n Skeletal muscles of pelvic floor\n Vagina\n For rectum:\n Sacral plexus\n Sacrum\n Ovary(ies)\n Perineum, perianal skin", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfk.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfk.json deleted file mode 100644 index 8b5639189..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfk.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: For this schema, AJCC defines Tis as carcinoma in situ/dysplasia (tumor size less than 0.5mm), confined to mucosa. Neuroendocrine tumors (NET) stated to be in situ, noninvasive, or confined to mucosa are classified as Tis. \"Dysplasia\" alone is generally not reportable in cancer registries but, if a registry does collect it, code 000 should be used.\n\n**Note 2**: Intraluminal or intramural extension to esophagus and duodenum is classified by the depth of greatest invasion. For extension to esophagus or duodenum via serosa, see code 600. \n\n**Note 3**: The assignment of the T1 category for NETs of the stomach is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use codes 170, 390, 480, or 810 as appropriate to code CS Extension based on a statement of T when no other information is available.\n\n**Note 4**: Use code 300 for localized tumor only if no information is available to assign code 100, 110, 120, 160. 170, 200, 390, or 400.", - "footnotes" : "- For CS Extension codes 110-170 and 300 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this schema.", - "last_modified" : "2015-05-27T16:19:13.299Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive\nDysplasia\nTumor size less than 0.5 millimeters (mm)", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "050", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 000\n\n(Adeno)carcinoma in a polyp, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Tumor confined to mucosa, NOS including intramucosal, NOS", "VALUE:Tis", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "110", "Invades lamina propria, including lamina propria in a polyp ", "JUMP:extension_size_ajcc7_xey", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "120", "Invades muscularis mucosae, including muscularis mucosae in a polyp", "JUMP:extension_size_ajcc7_xey", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "130", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 120, 160 \n\nConfined to head of polyp\nExtension to stalk", "JUMP:extension_size_ajcc7_xey", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "140", "OBSOLETE DATA RETAINED AND REVIEWED V0203 \nSee codes 110, 120,160\n\nConfined to stalk of polyp", "JUMP:extension_size_ajcc7_xey", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "150", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 120, 160\n\nTumor in polyp, NOS", "JUMP:extension_size_ajcc7_xey", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "160", "Invades submucosa (superficial invasion), including submucosa in a polyp", "JUMP:extension_size_ajcc7_xey", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "170", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xey", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Invades into but not through muscularis propria", "VALUE:T2", "VALUE:T2a", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS\nImplants inside stomach", "JUMP:extension_size_ajcc7_xey", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "340", "OBSOLETE DATA CONVERTED V0203\nSee code 170\n\nStated as T1, NOS with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "350", "OBSOLETE DATA RETAINED V0200\n\nLinitis plastica (see Note 2) and no other information regarding extension is available.", "ERROR:", "VALUE:T2a", "VALUE:RE", "VALUE:L" ], [ "390", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2NOS", "VALUE:L", "VALUE:L" ], [ "400", "Invasion through muscularis propria or muscularis, NOS\nExtension through wall, NOS\nPerimuscular tissue invaded\nSubserosa /(sub)serosal fat penetrated", "VALUE:T3", "VALUE:T2b", "VALUE:L", "VALUE:L" ], [ "450", "Extension to adjacent (connective) tissue \nWITHOUT perforation of visceral peritoneum:\n Gastric artery\n Ligaments: \n Gastrocolic\n Gastrohepatic\n Gastrosplenic\n Omentum, NOS:\n Greater\n Lesser\n Perigastric fat", "VALUE:T3", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "480", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "490", "OBSOLETE DATA CONVERTED V0203\nSee code 810\n\nStated as T4, [NOS] with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "500", "Invasion of/through serosa (mesothelium) \n(tunica serosa) (visceral peritoneum)\nIncluding perforation of visceral peritoneum covering the gastric ligaments or the omentum \nWITHOUT invasion of adjacent structures", "VALUE:T4", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "550", "500 + 450\n\nInvasion of tissues in code 500 plus extension to structures in code 450", "VALUE:T4", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 610, 650\n\nDiaphragm\nDuodenum via serosa or NOS\nEsophagus via serosa\nIleum\nJejunum\nLiver\nPancreas\nSmall intestine, NOS\nSpleen\nTransverse colon/mesocolon (including flexures)\nCeliac axis\nAorta", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "610", "Diaphragm\nDuodenum via serosa or NOS\nEsophagus via serosa\nIleum\nJejunum\nLiver\nPancreas\nSmall intestine, NOS\nSpleen\nTransverse colon/mesocolon (including flexures)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "650", "Aorta\nCeliac axis", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "700", "Abdominal wall\nAdrenal gland\nKidney\nRetroperitoneum", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfl.json deleted file mode 100644 index 6a9aac35e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfl.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Adenosarcomas of the corpus uteri were not staged in AJCC 6.\n\n**Note 2**: When both FIGO stage and extension detail are available, record the code with extension detail in preference to a statement of FIGO stage.\n\n**Note 3**: FIGO and AJCC 7 stage do not include Tis for this site and histology. Any cases with a CS Extension code of 000 will derive TX for AJCC 7 staging, though In Situ will be derived Summary Stage.\n\n**Note 4**: FIGO Stage IV, NOS is assigned based on tumor extension and/or metastasis. Code CS Extension based on a physician's statement of FIGO Stage IV, NOS only if it is known that the stage value is assigned because of tumor extension.\n\n**Note 5**: Positive cytology should be reported in CS Site-Specific Factor 2. It is not a staging element for AJCC 7 staging, but is a staging element for Summary Stage. Since \"cancer cells in ascites or in peritoneal washings\" was not specifically categorized in the 1977 Summary Staging Guide, is unclear to which stage previous cases may have been coded in that staging system.\n\n**Note 6**: According to the AJCC, extension to the bowel or bladder mucosa must be proven by biopsy in order to rule out bullous edema.", - "footnotes" : "- For CS Extension codes 100-110, 115-120, 125-130, 135-140, and 160-400 ONLY. The SS77 and SS2000 stages are assigned based on the value of CS Extension and peritoneal cytology status coded in CS-Site Specific Factor 2 as shown in the extra table Extension Cytology Summary Stage Table.", - "last_modified" : "2015-05-27T16:19:13.351Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive, preinvasive", "VALUE:TX", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive cancer confined to corpus uteri ", "VALUE:T1NOS", "VALUE:NA", "JUMP:extension_cytology_summary_stage_xkl", "JUMP:extension_cytology_summary_stage_xkl" ], [ "110", "Confined to endometrium\n(Glandular, stromal or both)", "VALUE:T1a", "VALUE:NA", "JUMP:extension_cytology_summary_stage_xkl", "JUMP:extension_cytology_summary_stage_xkl" ], [ "113", "Confined to endocervix \n(Glandular, stromal, or both)", "VALUE:T1a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "115", "FIGO Stage IA", "VALUE:T1a", "VALUE:NA", "JUMP:extension_cytology_summary_stage_xkl", "JUMP:extension_cytology_summary_stage_xkl" ], [ "120", "Tumor invades less than one-half of myometrium\nInvasion of inner half of myometrium", "VALUE:T1b", "VALUE:NA", "JUMP:extension_cytology_summary_stage_xkl", "JUMP:extension_cytology_summary_stage_xkl" ], [ "123", "Invasion of less than one-half of myometrium\nWITH involvement of endocervix", "VALUE:T1b", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "125", "FIGO Stage IB", "VALUE:T1b", "VALUE:NA", "JUMP:extension_cytology_summary_stage_xkl", "JUMP:extension_cytology_summary_stage_xkl" ], [ "130", "Tumor invades one-half or more of myometrium\nInvasion of outer half of myometrium", "VALUE:T1c", "VALUE:NA", "JUMP:extension_cytology_summary_stage_xkl", "JUMP:extension_cytology_summary_stage_xkl" ], [ "133", "Invasion of one-half or more of myometrium \nWITH involvement of endocervix", "VALUE:T1c", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "135", "FIGO Stage IC", "VALUE:T1c", "VALUE:NA", "JUMP:extension_cytology_summary_stage_xkl", "JUMP:extension_cytology_summary_stage_xkl" ], [ "140", "Invasion of myometrium, NOS", "VALUE:T1NOS", "VALUE:NA", "JUMP:extension_cytology_summary_stage_xkl", "JUMP:extension_cytology_summary_stage_xkl" ], [ "143", "Invasion of myometrium, NOS\nWITH involvement of endocervix", "VALUE:T1NOS", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "160", "Tunica serosa of the visceral peritoneum (serosa covering the corpus)", "VALUE:T1NOS", "VALUE:NA", "JUMP:extension_cytology_summary_stage_xkl", "JUMP:extension_cytology_summary_stage_xkl" ], [ "170", "FIGO Stage I [NOS]", "VALUE:T1NOS", "VALUE:NA", "JUMP:extension_cytology_summary_stage_xkl", "JUMP:extension_cytology_summary_stage_xkl" ], [ "400", "Localized, NOS", "VALUE:T1NOS", "VALUE:NA", "JUMP:extension_cytology_summary_stage_xkl", "JUMP:extension_cytology_summary_stage_xkl" ], [ "500", "Cervix uteri, NOS, but not beyond uterus", "VALUE:T1NOS", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "510", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 113, 123, 133, and 143\n\nEndocervical glandular involvement only", "VALUE:T1a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "520", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 113, 123, 133, and 143\n\nCervical stromal invasion", "VALUE:T1a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "550", "Adnexal involvement, NOS\nExtension or metastasis within true pelvis:\n Adnexa\n Fallopian tube(s)\n Ligaments:\n Broad\n Round\n Uterosacral\n Ovary(ies)\n Parametrium\n Visceral peritoneum of pelvic organs excluding serosa of corpus uteri", "VALUE:T2a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 160, 550, 655, 665, and 688\n\nAdnexal involvement, NOS\nExtension or metastasis within true pelvis:\n Adnexa\n Fallopian tube(s)\n Ligaments: Broad, round, uterosacral\n Ovary(ies)\n Parametrium\n Pelvic serosa\n Tunica serosa (parietal lining of the pelvic or abdominal cavity)", "VALUE:T2a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "605", "FIGO Stage IIA", "VALUE:T2a", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "610", "OBSOLETE DATA RETAINED V0200\n See Note 4 and CS Site-Specific Factor 2 \n\nCancer cells in ascites\nCancer cells in peritoneal washings FIGO Stage IIIA", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "620", "OBSOLETE DATA CONVERTED V0203\nSee code 645\n\nUreter \nVulva", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "640", "Extension or metastasis to vagina", "VALUE:T2b", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "645", "Extension or metastasis to:\n Ureter\n Vulva", "VALUE:T2b", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 655 and 662\n\nExtension or metastasis to pelvic wall(s)\nDescribed clinically as \"frozen pelvis\", NOS", "VALUE:T2b", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "655", "Extension or metastasis to:\n Pelvic wall(s)\n Parietal serosa of pelvic cavity", "VALUE:T2b", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "660", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 705 and 708\n\nExtension or metastasis to:\n Bladder wall\n Bladder, NOS excluding mucosa\n Rectal wall\n Rectum, NOS excluding mucosa ", "VALUE:T4", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "662", "Described clinically as \"frozen pelvis\", NOS", "VALUE:T2b", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "663", "(655 or 662) + (640 or 645)", "VALUE:T2b", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "665", "Extension or metastasis to:\n Cul de sac (rectouterine pouch)", "VALUE:T2b", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "670", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 663 and 705\n\n[(650) or (660)] and [(620) or (640)]", "VALUE:T2b", "VALUE:NA", "VALUE:D", "VALUE:RE" ], [ "675", "FIGO Stage IIB", "VALUE:T2b", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "680", "OBSOLETE DATA CONVERTED V0203\nSee code 683\n\nFIGO Stage II [NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "682", "Extension beyond uterus, within pelvis, NOS", "VALUE:T2NOS", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "683", "FIGO Stage II [NOS]", "VALUE:T2NOS", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "685", "OBSOLETE DATA REVIEWED V0203\nSee codes 665 and 688\n\nContiguous extension to abdominal tissues, one of the following sites:\nAbdominal serosa (peritoneum)\nCul de sac\nSigmoid colon\nSmall intestine\nOther abdominal tissues", "VALUE:T3a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "688", "Infiltration of abdominal tissues, one of the following sites:\n Abdominal serosa (visceral or parietal peritoneum of abdomen)\n Sigmoid colon\n Small intestine\n Other abdominal structures", "VALUE:T3a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "690", "FIGO Stage IIIA", "VALUE:T3a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "692", "OBSOLETE DATA REVIEWED V0203\nSee codes 665 and 693\n\nContiguous extension to abdominal tissues, more than one site:\nAbdominal serosa (peritoneum)\nCul de sac\nSigmoid colon\nSmall intestine\nOther abdominal tissues", "VALUE:T3b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "693", "Infiltration of abdominal tissues in code 688, more than one site", "VALUE:T3b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "694", "FIGO Stage IIIB", "VALUE:T3b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "696", "OBSOLETE DATA CONVERTED V0203\nSee code 699\n\nFIGO Stage III [NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "698", "Abdominal tissues involvement, NOS", "VALUE:T3NOS", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "699", "FIGO Stage III [NOS] based on extension", "VALUE:T3NOS", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA CONVERTED V0200\nSee code 710\n\nExtension to bowel mucosa or\n bladder mucosa (excluding bullous edema)\nFIGO Stage IVA\nFIGO Stage IV, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "705", "Invasion of:\n Bladder wall\n Bladder, NOS excluding mucosa\n Rectal wall\n Rectum, NOS excluding mucosa", "VALUE:T4", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "708", "705 + (688, 693, or 698)\n\nInvasion of organs in code 705 plus infiltration of any abdominal tissues", "VALUE:T4", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "710", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee codes 715, 720, and 730\n\nExtension to bowel mucosa or\nbladder (excluding bullous edema)\n\nNote: On conversion of code 700 to 710, code 710 also included FIGO Stage IVA, FIGO Stage IV, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "715", "Extension to bowel mucosa or bladder (excluding bullous edema)", "VALUE:T4", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "720", "FIGO Stage IVA", "VALUE:T4", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "730", "FIGO Stage IV [NOS] based on extension", "VALUE:T4", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 665, 688, 693, and 850\n\nFurther contiguous extension\n Abdominal serosa (peritoneum)\n Cul de sac\n Sigmoid colon\n Small intestine\n(See code 685 and 693 if number of involved sites is reported)", "VALUE:T3NOS", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "850", "Further contiguous extension", "VALUE:T3NOS", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfm.json deleted file mode 100644 index 34bd8e331..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfm.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: When both FIGO stage and extension detail are available, record the code with extension detail in preference to a statement of FIGO stage.\n\n**Note 2**: FIGO and AJCC 7 stage do not include Tis for this site and histology. Any cases with a CS Extension code of 000 will derive TX for AJCC 7 staging, though Tis and In Situ will be derived for AJCC 6 staging and Summary Stage.\n\n**Note 3**: The assignment of T1a and T1b categories for sarcomas of corpus uteri is based on tumor size.\n\n**Note 4**: FIGO Stage IV, NOS is assigned based on tumor extension and/or metastasis. Code CS Extension based on a physician's statement of FIGO Stage IV, NOS only if it is known that the stage value is assigned because of tumor extension.\n\n**Note 5**: Positive cytology is reported separately (CS Site Specific Factor 2), and is not included as a staging element for AJCC 7 staging. It is included as a staging element for AJCC 6 and Summary Stage. Since \"cancer cells in ascites or in peritoneal washings\" was not specifically categorized in the 1977 Summary Staging Guide, it is unclear to which stage pre-2001 cases may have been coded in that staging system.", - "footnotes" : "- For CS Extension codes 100-110, 116-120, 126- 400, and 510-530 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size and CS Extension as shown in the Extension Size AJCC 7 Table for this schema. \n- For CS Extension codes 100-110, 116-120, 126-400, and 510-540 ONLY. If it is a CS Version 1 case (CS Version Input Original equals 01XXXX and Year of Diagnosis is before 2010), the T category for AJCC 6 staging is assigned based on the value of CS Extension and pleural cytology status coded in CS Site-Specific Factor 2 as shown in the Extension Cytology AJCC 6 Table CSv1. If it is a CS Version 2 case (CS Version Input Original equals 02XXXX) or Year of Diagnosis is greater than 2009), the T category for AJCC 6 staging is assigned based on the value of CS Extension and pleural cytology status coded in CS Site-Specific Factor 2 as shown in the Extension Cytology AJCC 6 Table CSv2.\n- For CS Extension codes 100-400, 530, and 540 ONLY, the SS77 and SS2000 stages are assigned based on the value of CS Extension and peritoneal cytology status coded in CS Site Specific Factor 2 as shown in the extra table Extension Cytology Summary Stage Table.", - "last_modified" : "2015-05-27T16:19:13.410Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive, preinvasive", "VALUE:TX", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive cancer tumor confined to corpus uteri", "JUMP:extension_size_ajcc7_xkr", "JUMP:determine_correct_table_for_ajcc6_t_ns7", "JUMP:extension_cytology_summary_stage_xkp", "JUMP:extension_cytology_summary_stage_xkp" ], [ "110", "Confined to endometrium (stroma)", "JUMP:extension_size_ajcc7_xkr", "JUMP:determine_correct_table_for_ajcc6_t_ns7", "JUMP:extension_cytology_summary_stage_xkp", "JUMP:extension_cytology_summary_stage_xkp" ], [ "114", "OBSOLETE DATA REVIEWED V0203\nSee codes 100, 110, 116, 120, 130-400, 510-530\n\nTumor 5 cm or less in greatest dimension", "VALUE:T1a", "VALUE:T2NOS", "JUMP:extension_cytology_summary_stage_xkp", "JUMP:extension_cytology_summary_stage_xkp" ], [ "116", "FIGO Stage IA", "JUMP:extension_size_ajcc7_xkr", "JUMP:determine_correct_table_for_ajcc6_t_ns7", "JUMP:extension_cytology_summary_stage_xkp", "JUMP:extension_cytology_summary_stage_xkp" ], [ "120", "Tumor invades less than one-half of myometrium\nInvasion of inner half of myometrium", "JUMP:extension_size_ajcc7_xkr", "JUMP:determine_correct_table_for_ajcc6_t_ns7", "JUMP:extension_cytology_summary_stage_xkp", "JUMP:extension_cytology_summary_stage_xkp" ], [ "124", "OBSOLETE DATA REVIEWED V0203\nSee code 100, 110, 120, 126-400, 510-530\n\nTumor greater than 5 cm", "VALUE:T1b", "VALUE:T2NOS", "JUMP:extension_cytology_summary_stage_xkp", "JUMP:extension_cytology_summary_stage_xkp" ], [ "126", "FIGO Stage IB", "JUMP:extension_size_ajcc7_xkr", "JUMP:determine_correct_table_for_ajcc6_t_ns7", "JUMP:extension_cytology_summary_stage_xkp", "JUMP:extension_cytology_summary_stage_xkp" ], [ "130", "Tumor invades one-half or more of myometrium\nInvasion of outer half of myometrium\n (See Note 3)", "JUMP:extension_size_ajcc7_xkr", "JUMP:determine_correct_table_for_ajcc6_t_ns7", "JUMP:extension_cytology_summary_stage_xkp", "JUMP:extension_cytology_summary_stage_xkp" ], [ "140", "Invasion of myometrium, NOS", "JUMP:extension_size_ajcc7_xkr", "JUMP:determine_correct_table_for_ajcc6_t_ns7", "JUMP:extension_cytology_summary_stage_xkp", "JUMP:extension_cytology_summary_stage_xkp" ], [ "160", "Tunica serosa of the visceral peritoneum (serosa covering the corpus)", "JUMP:extension_size_ajcc7_xkr", "JUMP:determine_correct_table_for_ajcc6_t_ns7", "JUMP:extension_cytology_summary_stage_xkp", "JUMP:extension_cytology_summary_stage_xkp" ], [ "400", "Localized, NOS", "JUMP:extension_size_ajcc7_xkr", "JUMP:determine_correct_table_for_ajcc6_t_ns7", "JUMP:extension_cytology_summary_stage_xkp", "JUMP:extension_cytology_summary_stage_xkp" ], [ "500", "OBSOLETE DATA CONVERTED V0203\nSee code 523\n\nCervix uteri, NOS, but not beyond uterus", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "510", "Endocervical glandular involvement only", "JUMP:extension_size_ajcc7_xkr", "JUMP:determine_correct_table_for_ajcc6_t_ns7", "VALUE:RE", "VALUE:RE" ], [ "520", "Cervical stromal invasion", "JUMP:extension_size_ajcc7_xkr", "JUMP:determine_correct_table_for_ajcc6_t_ns7", "VALUE:RE", "VALUE:RE" ], [ "523", "Cervix uteri, NOS, but not beyond uterus", "JUMP:extension_size_ajcc7_xkr", "JUMP:determine_correct_table_for_ajcc6_t_ns7", "VALUE:RE", "VALUE:RE" ], [ "530", "FIGO Stage I [NOS]", "JUMP:extension_size_ajcc7_xkr", "JUMP:determine_correct_table_for_ajcc6_t_ns7", "JUMP:extension_cytology_summary_stage_xkp", "JUMP:extension_cytology_summary_stage_xkp" ], [ "540", "Tumor limited to uterus, NOS", "VALUE:T1NOS", "JUMP:determine_correct_table_for_ajcc6_t_ns7", "JUMP:extension_cytology_summary_stage_xkp", "JUMP:extension_cytology_summary_stage_xkp" ], [ "550", "Adnexal involvement, NOS\nExtension or metastasis beyond uterus within pelvis:\n Adnexa\n Fallopian tube(s)\n Ligaments:\n Broad\n Round\n Uterosacral\n Ovary(ies)\n Parametrium\n Visceral peritoneum of pelvic organs excluding serosa of corpus uteri", "VALUE:T2a", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 160, 550, 655, 665, and 688\n\nAdnexal involvement, NOS\nExtension or metastasis within true pelvis:\n Adnexa\n Fallopian tube(s)\n Ligaments: Broad, round, uterosacral\n Ovary(ies)\n Parametrium\n Pelvic serosa\n Tunica serosa (parietal lining of the pelvic or abdominal cavity)", "VALUE:T2a", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "605", "FIGO Stage IIA", "VALUE:T2a", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "610", "OBSOLETE DATA RETAINED V0200 \nSee Note 4 and CS Site Specific Factor 2\n\nCancer cells in ascites\nCancer cells in peritoneal washings \nFIGO Stage IIIA", "ERROR:", "VALUE:T3a", "VALUE:RE", "VALUE:RE" ], [ "620", "OBSOLETE DATA CONVERTED V0203 \nSee code 645\n\nUreter \nVulva", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "640", "Extension or metastasis to vagina", "VALUE:T2b", "VALUE:T3b", "VALUE:D", "VALUE:RE" ], [ "645", "Extension to :\n Ureter\n Vulva", "VALUE:T2b", "VALUE:T3b", "VALUE:D", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 655 and 662\n\nExtension or metastasis to pelvic wall(s)\nDescribed clinically as \"frozen pelvis\", NOS", "VALUE:T2b", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "655", "Extension or metastasis to:\n Pelvic wall(s)\n Parietal serosa of pelvic cavity", "VALUE:T2b", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "660", "OBSOLETE DATA CONVERTED V0203\nSee code 705\n\nExtension or metastasis to:\n Bladder wall\n Bladder, NOS excluding mucosa\n Rectal wall\n Rectum, NOS excluding mucosa", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "662", "Described clinically as \"frozen pelvis\", NOS", "VALUE:T2b", "VALUE:T3b", "VALUE:D", "VALUE:RE" ], [ "663", "(655 or 662) + (640 or 645)", "VALUE:T2b", "VALUE:T3b", "VALUE:D", "VALUE:RE" ], [ "665", "Extension or metastasis to:\n Cul de sac (rectouterine pouch)", "VALUE:T2b", "VALUE:T3b", "VALUE:D", "VALUE:D" ], [ "670", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 663 and 705\n\n[(650) or (660)] and [(620) or (640)]", "VALUE:T2b", "VALUE:T3b", "VALUE:D", "VALUE:RE" ], [ "675", "FIGO Stage IIB", "VALUE:T2b", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "680", "OBSOLETE DATA CONVERTED V0203\nSee code 683\n\nFIGO Stage II [NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "682", "Extension beyond uterus, within pelvis, NOS", "VALUE:T2NOS", "VALUE:T3NOS", "VALUE:RE", "VALUE:RE" ], [ "683", "FIGO Stage II [NOS]", "VALUE:T2NOS", "VALUE:T3NOS", "VALUE:RE", "VALUE:RE" ], [ "685", "OBSOLETE DATA REVIEWED V0203\nSee codes 665 and 688\n\nContiguous extension to abdominal tissues, one of the following sites:\nAbdominal serosa (peritoneum)\nCul de sac\nSigmoid colon\nSmall intestine\nOther abdominal tissues", "VALUE:T3a", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "688", "Infiltration of abdominal tissues, one of the following sites:\n Abdominal serosa (visceral or parietal peritoneum of abdomen)\n Sigmoid colon\n Small intestine\n Other abdominal tissues", "VALUE:T3a", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "690", "FIGO Stage IIIA", "VALUE:T3a", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "692", "OBSOLETE DATA REVIEWED V0203\nSee codes 665 and 693\n\nContiguous extension to abdominal tissues, more than one site:\nAbdominal serosa (peritoneum)\nCul de sac\nSigmoid colon\nSmall intestine\nOther abdominal tissues", "VALUE:T3b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "693", "Infiltration of abdominal tissues in code 688, more than one site", "VALUE:T3b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "694", "FIGO Stage IIIB", "VALUE:T3b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "696", "OBSOLETE DATA CONVERTED V0203\nSee code 699\n\nFIGO Stage III [NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "698", "Abdominal tissues involvement, NOS", "VALUE:T3NOS", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "699", "FIGO Stage III [ NOS]", "VALUE:T3NOS", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA CONVERTED V0200\n See code 710\n\nExtension to bowel mucosa or\n bladder mucosa (excluding bullous edema)\nFIGO Stage IVA\nFIGO Stage IV, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "705", "Invasion of:\n Bladder wall\n Bladder, NOS excluding mucosa\n Rectal wall\n Rectum, NOS excluding mucosa", "VALUE:T4", "VALUE:T3b", "VALUE:RE", "VALUE:RE" ], [ "708", "705 + (688, 693, or 698)\n\nInvasion of organs in code 705 plus infiltration of any abdominal tissues", "VALUE:T4", "VALUE:T3b", "VALUE:D", "VALUE:D" ], [ "710", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee codes 715, 720, 730\n\nExtension to bowel mucosa or\nbladder mucosa (excluding bullous edema)\n\nNote: On conversion of code 700 to 710, code 710 also included FIGO Stage IVA, FIGO Stage IV, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "715", "Extension to bowel mucosa or bladder (excluding bullous edema)", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "720", "FIGO Stage IVA", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "730", "FIGO Stage IV [NOS]", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 665, 688, 693, and 850\n\nFurther contiguous extension\n Abdominal serosa (peritoneum)\n Cul de sac\n Sigmoid colon\n Small intestine\n(See codes 685 and 693 if number of involved sites is reported)", "VALUE:T3NOS", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "850", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfn.json deleted file mode 100644 index aa7433ea2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfn.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis category for gastrointestinal stromal tumors (GIST). Any case with a CS Extension code of 000 is mapped to TX for AJCC 7 stage and in situ Summary Stage.\n\n**Note 2**: Ignore intraluminal extension to adjacent segment(s) of esophagus or to cardia of stomach, and code depth of invasion or extra-esophageal spread as indicated.\n\n**Note 3**: The assignment of T categories for gastrointestinal stromal tumors (GISTs) is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 170, 210, 250, and 270 as appropriate to code CS Extension based on a statement of T when no other extension information is available.", - "footnotes" : "- For CS Extension codes 100-810 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this schema.", - "last_modified" : "2015-05-27T16:19:13.467Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intrapethelial, noninvasive", "VALUE:TX", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvasive tumor confined to mucosa, NOS (includes intramucosal, NOS)", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "110", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvades lamina propria", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "120", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 155 and 165\n\nInvades muscularis mucosae", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "155", "Tumor confined to muscular wall", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "160", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSEE codes 155 and 165\n\nInvades submucosa", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "165", "Tumor invades through submucosa and muscularis mucosae to involvew mucosa", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "170", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 155 and 165\n\nMuscularis propria invaded", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "210", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "250", "Stated as T3 with no other information on extension ", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "270", "Stated as T4 with no other information on extension", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Adventitia and/or soft tissue invaded\nEsophagus described as fixed", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "450", "OBSOLETE DATA CONVERTED V0203\nSee code 250\n\nStated as T3, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "560", "Invasion into adventitia with invasion of/through mucosa", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\nSee codes 610 and 730\n\nTumor invades adjacent structures\nCervical esophagus:\n Blood vessel(s): \n Carotid artery \n Jugular vein \n Subclavian artery \n Thyroid gland \nIntrathoracic, upper or mid-portion, esophagus:\n Blood vessel(s), major:\n Aorta \n Azygos vein \n Pulmonary artery/vein \n Vena cava \n Carina \n Diaphragm \n Main stem bronchus \n Trachea \nIntrathoracic, lower portion (abdominal), esophagus:\n Blood vessel(s): \n Aorta \n Gastric artery/vein \n Vena cava \n Diaphragm, not fixed, or NOS \n Stomach, cardia (via serosa)", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "610", "Tumor invades adjacent structures:\n For cervical esophagus:\n Hypopharynx\n Jugular vein\n Larynx\n Thyroid gland \n For intrathoracic, upper or mid-portion, esophagus:\n Blood vessel(s), major:\n Azygos vein\n Diaphragm \n For intrathoracic, lower portion (abdominal), esophagus:\n Blood vessel(s), major:\n Gastric artery/vein\n Diaphragm, not fixed;diaphragm, NOS\n Stomach, cardia (via serosa)\n For intrathoracic esophagus, NOS:\n Pleura", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED V0200\nSee codes 610, 680, and 730\n\nCervical esophagus:\n Carina \n Cervical vertebra(e) \n Hypopharynx \n Larynx \n Trachea \nIntrathoracic esophagus:\n Lung via bronchus \n Mediastinal structure(s), NOS\n Pleura\n Rib(s) \n Thoracic vertebra(e)", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "660", "For thoracic/middle esophagus:\n Pericardium", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "680", "For cervical/upper esophagus:\n Pleura \nFor abdominal/lower esophagus:\n Diaphragm fixed", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA CONVERTED V0203\nSee code 270\n\nStated as T4 [NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "730", "Tumor invades adjacent structures:\nFor cervical esophagus:\n Blood vessel(s), major: \n Carotid artery \n Subclavian artery\n Carina \n Cervical vertebra(e) \n Trachea \nFor intrathoracic, upper or mid-portion, esophagus:\n Blood vessel(s), major:\n Aorta \n Pulmonary artery/vein \n Vena cava \n Carina \n Main stem bronchus \n Trachea \nFor intrathoracic, lower portion (abdominal), esophagus:\n Blood vessel(s), major: \n Aorta \n Vena cava \nFor intrathoracic esophagus, NOS:\n Adjacent Rib(s) \n Lung via bronchus\n Mediastinal structure(s), NOS \n Thoracic vertebra(e)", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "740", "730 + 660\n\nAny structure in code 730 involving thoracic/middle esophagus plus pericardium", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "745", "730 + 680\n\nAny structure in code 730 involving cervical/upper esophagus plus pleura\nOR\nAny structure in code 730 involving abdominal /lower esophagus plus fixation of diaphragm", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "750", "For cervical/upper esophagus:\n Lung\n Main stem bronchus", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "780", "OBSOLETE DATA RETAINED V0200\nSee code 660\n\nThoracic/middle esophagus:\n Pericardium", "ERROR:", "VALUE:NA", "VALUE:RE", "VALUE:D" ], [ "800", "OBSOLETE DATA RETAINED V0200\nSee codes 680 and 750\n\nFurther contiguous extension:\nCervical/upper esophagus:\n Lung\n Main stem bronchus\n Pleura\nAbdominal/lower esophagus:\n Diaphragm fixed", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Further contiguous extension", "JUMP:extension_size_ajcc7_xfd", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfo.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfo.json deleted file mode 100644 index 890318fb4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfo.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis category for Neuroendocrine Tumors (NET) of the ampulla of Vater. Extension code 000 is mapped to TX for AJCC stage and in situ Summary Stage.\n\n**Note 2**: The assignment of the T1 and T2 categories for NETs of ampulla of Vater is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use codes 310, 430, 600, and 810 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 3**: Use code 300 for localized tumor only if no information is available to assign code 100 or 430.", - "footnotes" : "- For CS Extension codes 100-430 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this schema.", - "last_modified" : "2015-05-27T16:19:13.519Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined/limited to ampulla of Vater or extending to sphincter of Oddi", "JUMP:extension_size_ajcc7_xfe", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_ajcc7_xfe", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "310", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xfe", "VALUE:T1", "VALUE:RE", "VALUE:RE" ], [ "420", "Duodenal wall", "JUMP:extension_size_ajcc7_xfe", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "430", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xfe", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "520", "Pancreas", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "550", "Retroperitoneum\nPeripancreatic soft tissues", "VALUE:T3", "VALUE:T3", "VALUE:D", "VALUE:D" ], [ "600", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "610", "Visceral peritoneum (serosa)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "620", "Common bile duct", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "650", "Extrahepatic bile ducts other than common bile duct or sphincter of Oddi", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "700", "Extension to other adjacent organs or tissues:\n Blood vessels (major):\n Hepatic artery\n Portal vein\n Gallbladder\n Hepatic flexure\n Lesser omentum\n Liver including porta hepatis\n Stomach, NOS:\n Distal\n Transverse colon", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "750", "Stomach, proximal", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:D" ], [ "760", "(620 to 750) + 550", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "780", "OBSOLETE DATA CONVERTED V0203\nSee code 810\n\nStated as T4, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "800", "Further contiguous extension:\n Other adjacent organs", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown extension\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfp.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfp.json deleted file mode 100644 index 4b8655804..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfp.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: AJCC does not include a Tis category for Neuroendocrine Tumors (NET) of the small intestine. CS Extension code 000 is mapped to TX for AJCC stage and in situ for Summary Stage.\n\n**Note 2**: Ignore intraluminal or lateral extension to adjacent segment(s) of small intestine and code depth of invasion or spread outside the small intestine as indicated.\n\n**Note 3**: The nonperitonealized perimuscular tissue is, for jejunum and ileum, part of the mesentery and, for duodenum in areas where serosa is lacking, part of the retroperitoneum.\n\n**Note 4**: The assignment of the T1 category for neuroendocrine tumors (NET) of the small intestine is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use codes 170, 210, 410, and 810 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 5**: Use code 300 for localized tumor only if no information is available to assign code 100, 110, 120. 160, 170, 200 or 210,", - "footnotes" : "- For CS Extension codes 100-170, and 300 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size A JCC 7 Table for this schema.", - "last_modified" : "2015-05-27T16:19:13.575Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "050", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 000\n\n(Adeno)carcinoma in a polyp, noninvasive", "VALUE:TX", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to mucosa, NOS, including intramucosal, NOS", "JUMP:extension_size_ajcc7_xff", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "110", "Invades lamina propria, including lamina propria in a polyp", "JUMP:extension_size_ajcc7_xff", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "120", "Confined to and not through the muscularis mucosae, including muscularis mucosae in a polyp", "JUMP:extension_size_ajcc7_xff", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "130", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 120, 160\n\nConfined to head of polyp", "JUMP:extension_size_ajcc7_xff", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "140", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 120, 160\n\nConfined to stalk of polyp", "JUMP:extension_size_ajcc7_xff", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "150", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 120, 160\n\nInvasion of polyp, NOS", "JUMP:extension_size_ajcc7_xff", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "160", "Invades submucosa (superficial invasion) including submucosa in a polyp", "JUMP:extension_size_ajcc7_xff", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "170", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xff", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis propria invaded", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "210", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS\nIntraluminal spread to other segments of small intestine or cecum", "JUMP:extension_size_ajcc7_xff", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Invasion through muscularis propria or muscularis, NOS\nExtension through wall, NOS\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS", "VALUE:T3", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "410", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 458\n\nFat, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "450", "OBSOLETE DATA RETAINED V0200\nSee codes 460-470 and 560\n\nAdjacent connective tissue\nMesentery, including mesenteric fat, invaded less than or equal to 2 cm in depth or NOS\nNonperitonealized perimuscular tissue invaded less than or equal to 2 cm in depth or NOS\nRetroperitoneum invaded less than or equal to 2 cm in depth or NOS", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "458", "Fat, NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "460", "OBSOLETE DATA REVIEWED V0203\nSee codes 465, 485\n\nAdjacent connective tissue\nMesentery, including mesenteric fat\nPerimuscular tissue", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "465", "Adjacent connective tissue\nMesentery, including mesenteric fat less than or equal to 2 centimeters (cm) in depth or NOS\nNonperitonealized perimuscular tissue less than or equal to 2 cm in depth or NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "470", "OBSOLETE DATA REVIEWED V0203\nSee codes 475, 488\n\nFor duodenum primary only:\n Retroperitoneum", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "475", "For duodenum primary only:\n Retroperitoneum less than or equal to 2 cm in depth or NOS", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "480", "For duodenum primary only:\n Ampulla of Vater\n Pancreas\n Pancreatic duct", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "485", "Mesentery invaded greater than 2 cm in depth\nNonperitonealized perimuscular tissue invaded greater than 2 cm in depth", "VALUE:T3", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "488", "For duodenum primary only:\n Retroperitoneum invaded greater than 2 cm in depth", "VALUE:T3", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "500", "Invasion of/through serosa(mesothelium)(tunica serosa) (visceral peritoneum)", "VALUE:T4", "VALUE:T4", "VALUE:L", "VALUE:RE" ], [ "550", "OBSOLETE DATA RETAINED V0200\n\n(500) + [(420) or (450)]", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "560", "OBSOLETE DATA CONVERTED V0203\nSee code 565\n\n(500) + [(420) or (460) or (470) or (480)]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "565", "500 + (458, 465, 475, 480, 485, or 488)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\nSee codes 480 and 610\n\nFor duodenum primary only:\n Ampulla of Vater\n Diaphragm\n Extrahepatic bile ducts\n Gallbladder\n Pancreas\n Pancreatic duct", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "610", "For duodenum primary only:\n Diaphragm\n Extrahepatic bile ducts\n Gallbladder", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "650", "For duodenum primary only:\n Blood vessel(s), major:\n Aorta\n Gastroduodenal artery\n Portal vein\n Renal vein\n Superior mesenteric artery or vein\n Vena cava\n Greater omentum\n Hepatic flexure\n Kidney, NOS\n Kidney, right\n Liver, NOS\n Liver, quadrate lobe\n Liver, right lobe\n Omentum, NOS\n Transverse colon\n Ureter, right\nFor jejunum or ileum primary only:\n Colon, including appendix", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "660", "For duodenum primary only:\n Stomach", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "665", "(610, 650, 660) + (485, 488)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "670", "OBSOLETE DATA RETAINED V0200\n\nFor all small intestine sites:\n Abdominal wall\n Mesentery invaded greater than 2 cm in depth\n Non-peritonealized perimuscular tissue invaded \n greater than 2 cm in depth\n Retroperitoneum invaded greater than 2 cm in depth", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "675", "For all small intestine sites:\n Abdominal wall", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "678", "For jejunum or ileum primary only:\n Retroperitoneum invaded greater than 2cm in depth", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "680", "For all small intestine sites:\n Other segments of the small intestine via serosa", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "690", "OBSOLETE DATA CONVERTED V0203\nSee code 810\n\nStated as T4[NOS] with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "700", "For jejunum or ileum primary only:\n Bladder\n Fallopian tube\n Ovary\n Uterus", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfq.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfq.json deleted file mode 100644 index e48c0f3f2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfq.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Ciliary body and Iris are both included in the ICD-O-3 site code of C69.4, but they are staged with different criteria by AJCC. The Schema Discriminator is used to select the CS schema appropriate for coding extension for melanoma of the ciliary body. Obsolete codes identified for primaries of the iris are found in this schema because melanomas of ciliary body and iris were included in a single schema in CS Version 1.\n\n**Note 2**: Uveal melanomas arise most commonly in the choroid, less frequently in the ciliary body, and least often in the iris. Melanomas of the iris tend to be small, and those arising from or extending to the ciliary body typically are large.\n\n**Note 3**: AJCC does not recognize in situ melanoma of the ciliary body. Any case so coded will be mapped to unknown AJCC stage, in situ Summary Stage.\n\n**Note 4**: The AJCC 7th Edition assigns a T value to combinations of measurements for basal diameter and thickness of tumor divided into four Tumor Size Categories in a charted format. The AJCC 6th Edition assigns T values based on three pairs of measurements for basal diameter and thickness, using the basal diameter for classification when the two measurements do not fit into the defined pairs.\n\n**Note 5**: According to the AJCC, \"In clinical practice the largest tumor basal diameter may be estimated in optic disc diameters (dd) (average: 1 dd = 1.5mm). Tumor thickness may be estimated in diopters (average: 2.5 diopters = 1 mm). Other techniques, such as ultrasonography and fundus photography may provide a more accurate measurement.\n\n**Note 6**: Use codes 160 and 180 if measurements are available to record the largest tumor basal diameter and tumor thickness. Use codes 215-445 only if tumor measurements are not available for coding. Note that code 635, mapped to T4e, is not based on a Tumor Size Category assignment.\n\n**Note 7**: Use codes 245, 295, 345, and 445 only if the Tumor Size Category is the only information available about the tumor.", - "footnotes" : "- For CS Extension codes 160 and 180, the T for AJCC 7 staging is assigned based on the values of tumor basal diameter, recorded in CS Site-Specific Factor 2, and thickness, recorded in CS Site-Specific Factor 3. Basal diameter and thickness are mapped to Tumor Size Categories in the Tumor Size Category AJCC 7 Table, and the CS Extension codes and Tumor Size Categories are mapped to T in the Extension Size Category AJCC 7 Table.\n- For CS Extension codes 160, 180, 635, and 640, the T for AJCC 6 staging is assigned based on the values of tumor basal diameter, recorded in CS Site-Specific Factor 2, and thickness, recorded in CS Site-Specific Factor 3. Basal diameter and thickness are mapped to tumor size pairs in the Tumor Size Pair AJCC 6 Table, and the CS Extension codes and tumor size pairs are mapped to T in the Extension Size Pair AJCC 6 Table.", - "last_modified" : "2015-05-27T16:19:13.632Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:TX", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\nIris moved to separate schema V0200\n\nFOR IRIS PRIMARY ONLY:\nConfined to iris, NOS", "ERROR:", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "110", "OBSOLETE DATA RETAINED V0200\nIris moved to separate schema V0200\n\nFOR IRIS PRIMARY ONLY:\nLimited to iris not more than 3 clock hours in size,\nWITHOUT melanomalytic glaucoma, or not stated if melanomalytic glaucoma", "ERROR:", "VALUE:T1a", "VALUE:L", "VALUE:L" ], [ "130", "OBSOLETE DATA RETAINED V0200\nIris moved to separate schema V0200\n\nFOR IRIS PRIMARY ONLY:\nLimited to iris more than 3 clock hours in size, \nWITHOUT melanomalytic glaucoma, or not stated if melanomalytic glaucoma", "ERROR:", "VALUE:T1b", "VALUE:L", "VALUE:L" ], [ "140", "OBSOLETE DATA RETAINED V0200\nIris moved to separate schema V0200\n\nFOR IRIS PRIMARY ONLY:\nLimited to iris \nWITH melanomalytic glaucoma", "ERROR:", "VALUE:T1c", "VALUE:L", "VALUE:L" ], [ "160", "Tumor WITHOUT extraocular extension \n(Or extraocular extension not stated)", "JUMP:tumor_size_category_ajcc7_xpk", "JUMP:tumor_size_pair_ajcc6_xpl", "VALUE:L", "VALUE:L" ], [ "180", "Tumor WITH extraocular extension less than or equal to 5mm in diameter", "JUMP:tumor_size_category_ajcc7_xpk", "JUMP:tumor_size_pair_ajcc6_xpl", "VALUE:RE", "VALUE:RE" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor 10 mm or less in greatest diameter and 2.5m or less in greatest height (thickness), not stated if extraocular extension present", "ERROR:", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "215", "Tumor WITHOUT extraocular extension \n(Or extraocular extension not stated)\nAND stated as Tumor Size Category 1\n\nStated as T1b with no other information on extension", "VALUE:T1b", "VALUE:T1a", "VALUE:L", "VALUE:L" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor 10 mm or less in greatest diameter and 2.5 mm or less in greatest height (thickness), \nWITHOUT microscopic or macroscopic extraocular extension", "ERROR:", "VALUE:T1a", "VALUE:L", "VALUE:L" ], [ "230", "OBSOLETE DATA RETAINED V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor 10 mm or less in greatest diameter and 2.4mm or less in greatest height (thickness), \nWITH microscopic extraocular extension", "ERROR:", "VALUE:T1b", "VALUE:RE", "VALUE:RE" ], [ "235", "Tumor WITH extraocular extension less than or equal to 5 mm in diameter\nAND stated as Tumor Size Category 1\n\nStated as T1d with no other information on extension", "VALUE:T1d", "VALUE:T1b", "VALUE:RE", "VALUE:RE" ], [ "240", "OBSOLETE DATA RETAINED V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor 10 mm or less in greatest diameter and 2.5 mm or less in greatest height (thickness), \nWITH macroscopic extraocular extension", "ERROR:", "VALUE:T1c", "VALUE:RE", "VALUE:RE" ], [ "245", "Tumor Size Category 1 , NOS\n\nStated as T1 [NOS] with no other information on extension", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "265", "Tumor WITHOUT extraocular extension \n(Or extraocular extension not stated)\nAND stated as Tumor Size Category 2\n\nStated as T2b with no other information on extension", "VALUE:T2b", "VALUE:T2a", "VALUE:L", "VALUE:L" ], [ "285", "Tumor WITH extraocular extension less than or equal to 5 mm in diameter\nAND stated as Tumor Size Category 2\n\nStated as T2d with no other information on extension", "VALUE:T2d", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "295", "Tumor Size Category 2 , NOS\n\nStated as T2 [NOS] with no other information on extension", "VALUE:T2NOS", "VALUE:T2NOS", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "315", "Tumor WITHOUT extraocular extension \n(Or extraocular extension not stated)\nAND stated as Tumor Size Category 3\n\nStated as T3b with no other information on extension", "VALUE:T3b", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "335", "Tumor WITH extraocular extension less than or equal to 5mm in diameter\nAND stated as Tumor Size Category 3\n\nStated as T3d with no other information on extension", "VALUE:T3d", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "345", "Tumor Size Category 3 , NOS\n\nStated as T3 [NOS] with no other information on extension", "VALUE:T3NOS", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "410", "OBSOLETE DATA RETAINED V0200\nIris moved to separate schema V0200\n\nFOR IRIS PRIMARY ONLY:\nTumor confluent with or extending into the ciliary body and/or choroid\nWITHOUT melanomalytic glaucoma, or not stated if melanomalytic glaucoma", "ERROR:", "VALUE:T2NOS", "VALUE:L", "VALUE:L" ], [ "415", "Tumor WITHOUT extraocular extension \n(Or extraocular extension not stated)\nAND stated as Tumor Size Category 4\n\nStated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "420", "OBSOLETE DATA RETAINED V0200\nIris moved to separate schema V0200\n\nFOR IRIS PRIMARY ONLY:\nTumor confluent with or extending into the ciliary body and/or choroid WITH melanomalytic glaucoma", "ERROR:", "VALUE:T2a", "VALUE:L", "VALUE:L" ], [ "435", "Tumor WITH extraocular extension less than or equal to 5mm in diameter\nAND stated as Tumor Size Category 4\n\nStated as T4d with no other information on extension", "VALUE:T4d", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "445", "Stated as Tumor Size Category 4 , NOS", "VALUE:T4NOS", "VALUE:T3", "VALUE:L", "VALUE:L" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor greater than 10 mm but not more than 16 mm in greatest basal diameter and between 2.5 mm and 10 mm in maximum height (thickness), not stated if extraocular extension present.", "ERROR:", "VALUE:T2NOS", "VALUE:L", "VALUE:L" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor greater than 10 mm but not more than 16 mm in greatest basal diameter and between 2.5 mm and 10 mm in maximum height (thickness), \nWITHOUT microscopic or macroscopic extraocular extension present.", "ERROR:", "VALUE:T2a", "VALUE:L", "VALUE:L" ], [ "530", "OBSOLETE DATA RETAINED V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor greater than 10 mm but not more than 16 mm in greatest basal diameter and between 2.5 mm and 10 mm in maximum height (thickness), \nWITH microscopic extraocular extension present.", "ERROR:", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "540", "OBSOLETE DATA RETAINED V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor greater than 10 mm but not more than 16 mm in greatest basal diameter and between 2.5 mm and 10 mm in maximum height (thickness), \nWITH macroscopic extraocular extension present.", "ERROR:", "VALUE:T2c", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\nIris moved to separate schema V0200\n\nFOR IRIS PRIMARY ONLY:\nTumor confluent with or extending into the ciliary body and/or choroid WITH scleral extension, \nWITHOUT melanomalytic glaucoma, or not stated if melanomalytic glaucoma", "ERROR:", "VALUE:T3NOS", "VALUE:L", "VALUE:L" ], [ "610", "OBSOLETE DATA RETAINED V0200\nIris moved to separate schema V0200\n\nFOR IRIS PRIMARY ONLY:\nTumor confluent with or extending into the ciliary body and/or choroid \nWITH scleral extension, AND melanomalytic glaucoma", "ERROR:", "VALUE:T3a", "VALUE:L", "VALUE:L" ], [ "635", "Tumor WITH extraocular extension greater than 5mm in diameter\n\nStated as T4e with no other information on extension", "VALUE:T4e", "JUMP:tumor_size_pair_ajcc6_xpl", "VALUE:RE", "VALUE:RE" ], [ "640", "Stated as T4 [NOS] with no other information on extension", "VALUE:T4NOS", "JUMP:tumor_size_pair_ajcc6_xpl", "VALUE:L", "VALUE:L" ], [ "650", "OBSOLETE DATA RETAINED V0200\nIris moved to separate schema V0200\n\nFOR IRIS PRIMARY ONLY:\nExtraocular extension", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "710", "OBSOLETE DATA RETAINED V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor more than 16 mm in greatest basal diameter and/or greater than 10 mm in maximum height (thickness ), \nWITHOUT extraocular extension or not stated if extraocular extension present.", "ERROR:", "VALUE:T3NOS", "VALUE:L", "VALUE:L" ], [ "750", "OBSOLETE DATA RETAINED V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor more than 16 mm in greatest basal diameter and/or greater than 10 mm in maximum height (thickness ), \nWITH extraocular extension.", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension", "VALUE:T4NOS", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfr.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfr.json deleted file mode 100644 index 570056e0b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfr.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bfr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Ciliary body and Iris are both included in the ICD-O-3 site code of C69.4, but they are staged with different criteria by AJCC. The Schema Discriminator is used to select the CS schema appropriate for coding extension for melanoma of the iris. Obsolete codes identified for primaries of the ciliary body are found in this schema because melanomas of ciliary body and iris were included in a single schema in CS Version 1.\n\n**Note 2**: Uveal melanomas arise most commonly in the choroid, less frequently in the ciliary body, and least often in the iris. Melanomas of the iris tend to be small, and those arising from or extending to the ciliary body typically are large.\n\n**Note 3**: AJCC does not recognize in situ melanoma of the iris. Any case so coded will be mapped to unknown AJCC stage and in situ Summary Stage.", - "last_modified" : "2015-05-27T16:19:13.685Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:TX", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nFOR IRIS PRIMARY ONLY:\nConfined to iris, NOS", "ERROR:", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "110", "Limited to iris not more than 3 clock hours in size,\nWITHOUT melanomalytic (secondary) glaucoma, or not stated if melanomalytic (secondary) glaucoma\n\nStated as T1a with no other information on extension", "VALUE:T1a", "VALUE:T1a", "VALUE:L", "VALUE:L" ], [ "130", "Limited to iris more than 3 clock hours in size,\nWITHOUT melanomalytic (secondary) glaucoma, or not stated if melanomalytic (secondary) glaucoma\n\nStated as T1b with no other information on extension", "VALUE:T1b", "VALUE:T1b", "VALUE:L", "VALUE:L" ], [ "140", "Limited to iris\nWITH melanomalytic (secondary) glaucoma\n\nStated as T1c with no other information on extension", "VALUE:T1c", "VALUE:T1c", "VALUE:L", "VALUE:L" ], [ "160", "Limited to iris, NOS\n\nStated as T1 [NOS] with no other information on extension", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "210", "OBSOLETE DATA RETAINED V0200\nCiliary body moved to separate schema V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor 10 mm or less in greatest diameter and 2.5 mm or less in greatest height (thickness), not stated if extraocular extension present", "ERROR:", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "220", "OBSOLETE DATA RETAINED V0200\nCiliary body moved to separate schema V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor 10 mm or less in greatest diameter and 2.5 mm or less in greatest height (thickness ),\nWITHOUT microscopic or macroscopic extraocular extension.", "ERROR:", "VALUE:T1b", "VALUE:L", "VALUE:L" ], [ "230", "OBSOLETE DATA RETAINED V0200\nCiliary body moved to separate schema V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor 10 mm or less in greatest diameter and 2.5 mm or less in greatest height (thickness), \nWITH microscopic extraocular extension.", "ERROR:", "VALUE:T1b", "VALUE:L", "VALUE:L" ], [ "240", "OBSOLETE DATA RETAINED V0200\nCiliary body moved to separate schema V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor 10 mm or less in greatest diameter and 2.5 mm or less in greatest height (thickness), \nWITH macroscopic extraocular extension.", "ERROR:", "VALUE:T1c", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T1NOS", "VALUE:T1NOS", "VALUE:L", "VALUE:L" ], [ "410", "Tumor confluent with or extending into the ciliary body and/or choroid \nWITHOUT melanomalytic (secondary) glaucoma, or not stated if melanomalytic (secondary) glaucoma\n\nStated as T2 [NOS] with no other information on extension", "VALUE:T2NOS", "VALUE:T2NOS", "VALUE:L", "VALUE:L" ], [ "420", "Tumor confluent with or extending into the ciliary body and/or choroid\nWITH melanomalytic (secondary) glaucoma\n\nStated as T2a with no other information on extension", "VALUE:T2a", "VALUE:T2a", "VALUE:L", "VALUE:L" ], [ "510", "OBSOLETE DATA RETAINED V0200\nCiliary body moved to separate schema V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor greater than 10 mm but not more than 16 mm in greatest basal diameter and between 2.5 mm and 10 mm in maximum height (thickness), not stated if extraocular extension present.", "ERROR:", "VALUE:T2NOS", "VALUE:L", "VALUE:L" ], [ "520", "OBSOLETE DATA RETAINED V0200\nCiliary body moved to separate schema V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor greater than 10 mm but not more than 16 mm in greatest basal diameter and between 2.5 mm and 10 mm in maximum height (thickness),\nWITHOUT microscopic or macroscopic extraocular extension present.", "ERROR:", "VALUE:T2a", "VALUE:L", "VALUE:L" ], [ "530", "OBSOLETE DATA RETAINED V0200\nCiliary body moved to separate schema V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor greater than 10 mm but not more than 16 mm in greatest basal diameter and between 2.5 mm and 10 mm in maximum height (thickness),\nWITH microscopic extraocular extension present.", "ERROR:", "VALUE:T2b", "VALUE:RE", "VALUE:RE" ], [ "540", "OBSOLETE DATA RETAINED V0200\nCiliary body moved to separate schema V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor greater than 10 mm but not more than 16 mm in greatest basal diameter and between 2.5 mm and 10 mm in maximum height (thickness),\nWITH macroscopic extraocular extension present.", "ERROR:", "VALUE:T2c", "VALUE:RE", "VALUE:RE" ], [ "600", "Tumor confluent with or extending into the ciliary\nbody and/or choroid \nWITH scleral extension,\nWITHOUT melanomalytic (secondary) glaucoma, or not stated if melanomalytic (secondary) glaucoma\n\nStated as T3 [NOS] with no other information on extension", "VALUE:T3NOS", "VALUE:T3NOS", "VALUE:L", "VALUE:L" ], [ "610", "Tumor confluent with or extending into the ciliarybody and/or choroid\nWITH scleral extension\nWITH melanomalytic (secondary) glaucoma\n\nStated as T3a with no other information on extension", "VALUE:T3a", "VALUE:T3a", "VALUE:L", "VALUE:L" ], [ "650", "OBSOLETE DATA RETAINED V0200\n\nFOR IRIS PRIMARY ONLY:\nExtraocular extension", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "660", "Tumor with extrascleral (extraocular) extension less than or equal to 5mm in diameter\n\nStated as T4a with no other information on extension", "VALUE:T4a", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "670", "Tumor with extrascleral (extraocular) extension greater than 5mm in diameter\n\nStated as T4b with no other information on extension", "VALUE:T4b", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "680", "Extrascleral (extraocular) extension, measurement of diameter not specified", "VALUE:T4NOS", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "710", "OBSOLETE DATA RETAINED V0200\nCiliary body moved to separate schema V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor more than 16 mm in greatest basal diameter and/or greater than 10 mm in maximum height (thickness),\nWITHOUT extraocular extension or not stated if extraocular extension present.", "ERROR:", "VALUE:T3NOS", "VALUE:L", "VALUE:L" ], [ "750", "OBSOLETE DATA RETAINED V0200\nCiliary body moved to separate schema V0200\n\nFOR CILIARY BODY PRIMARY ONLY:\nTumor more than 16 mm in greatest basal diameter and/or greater than 10 mm in maximum height (thickness), \nWITH extraocular extension.", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension", "VALUE:T4b", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfs.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfs.json deleted file mode 100644 index e51d84f7d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfs.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bfs", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Distal bile duct tumors arise between the junction of the cystic duct-bile duct and the ampulla of Vater. The classification includes tumors developing in congenital choledochal cysts and tumors arising in the intrapancreatic portion of the common bile duct.\n\n**Note 2**: Involvement within the porta hepatis is coded according to the structures involved: portal vein, common hepatic artery, and common hepatic duct.", - "last_modified" : "2015-05-27T16:19:13.750Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor of distal bile duct confined to:\n Lamina propria\n Mucosa, NOS\n Submucosa (superficial invasion)", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis propria", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "350", "Stated as T1 with no other information on extension ", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Beyond wall of bile duct\nPeriductal/fibromuscular connective tissue", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "450", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\nSee code 605\n\nGallbladder\nLiver, porta hepatis\nPancreas", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "605", "OBSOLETE DATA REVIEWED V0203\nSee codes 608, 670\n\nGallbladder\nLiver, porta hepatis\nPancreas", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "608", "Common hepatic duct\nGallbladder\nLiver\nPancreas", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "610", "Unilateral branches of portal vein (right or left)\nUnilateral branches of hepatic artery (right or left)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "620", "Duodenum", "VALUE:T3", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "630", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED V0200\nSee codes 620, 651 \n\nColon, NOS\n Transverse including flexure\nDuodenum, NOS\nOmentum, NOS\n Lesser\nStomach, distal", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "651", "Colon, NOS\n Transverse including flexure\nOmentum, NOS\n Lesser\nStomach, distal", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "660", "OBSOLETE DATA RETAINED V0200\nSee code 670\n\nMain portal vein or its branches bilaterally\nCommon hepatic artery\nHepatic artery, NOS\nPortal vein, NOS", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "670", "Main portal vein or its branches bilaterally\nCommon hepatic artery\nHepatic artery, NOS\nPortal vein, NOS", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "700", "Other parts of colon\nGreater omentum\nStomach, proximal", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "750", "OBSOLETE DATA RETAINED V0200\nSee code 760\n\nAbdominal wall", "ERROR:", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "760", "Abdominal wall", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "780", "Celiac axis\nSuperior mesenteric artery", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "850", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bft.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bft.json deleted file mode 100644 index c0a0dfbc9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bft.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bft", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Perihilar bile duct tumors arise at the confluence of the right and left hepatic ducts in the hilar area of the liver.\n\n**Note 2**: The biliary radicals are the ducts or tubes that drain bile into the intestine as part of the digestive process. The second-order biliary radicals are the next largest branches or ducts of the biliary system which join to form or empty into the main hepatic bile duct.\n\n**Note 3**: For AJCC 7 staging, T3 and T4 are defined strictly in terms of invasion into specific large blood vessels and the biliary radicals within the liver. Give priority to coding invasion into blood vessels and biliary radicals over the named structures in . codes 605, 651, 700, 760, and 800. Use combination codes 665, 720, and 815 when information is available regarding extension to the specified vessels and/or the biliary radicals within the liver plus involvement of other named organs.\n\n**Note 4**: Involvement within the porta hepatis is coded according to the structures involved: portal vein, common hepatic artery, and common hepatic duct.", - "last_modified" : "2015-05-27T16:19:13.799Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor of perihilar (proximal) bile duct(s) confined to:\n Lamina propria\n Mucosa, NOS\n Submucosa (superficial invasion)", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis propria", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "350", "Stated as T1 with no other information on extension", "VALUE:T1", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Beyond wall of bile duct\nPeriductal/fibromuscular connective tissue", "VALUE:T2a", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "450", "Stated as T2a with no other information on extension", "VALUE:T2a", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "500", "Adjacent hepatic parenchyma", "VALUE:T2b", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "510", "Liver extension, NOS\nLiver, NOS", "VALUE:T2b", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "550", "Stated as T2b with no other information on extension", "VALUE:T2b", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "555", "Stated as T2 [NOS] with no other information on extension", "VALUE:T2NOS", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "560", "OBSOLETE DATA REVIEWED V0203\nSee codes 100, 510, 661, and 665\n\nLiver, porta hepatis ", "VALUE:T2b", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\nSee codes 560 and 605\n\nGallbladder\nLiver, porta hepatis\nPancreas", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "605", "Gallbladder\nPancreas", "VALUE:TX", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "610", "Unilateral branches of portal vein (right or left)\nUnilateral branches of hepatic artery (right or left)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "612", "610 + 605", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "615", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED V0200\nSee code 651 \n\nColon, NOS\n Transverse including flexure\nDuodenum, NOS\nOmentum, NOS\n Lesser\nStomach, distal", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "651", "Colon, NOS:\n Transverse including flexures\nDuodenum, NOS\nOmentum, NOS:\n Lesser\nStomach, distal", "VALUE:TX", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "660", "OBSOLETE DATA RETAINED V0200\nSee code 661\n\nMain portal vein or its branches bilaterally\nCommon hepatic artery\nHepatic artery, NOS\nPortal vein, NOS", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "661", "Main portal vein or its branches bilaterally\nCommon hepatic artery\nHepatic artery, NOS\nPortal vein, NOS", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "665", "661 + (605 and/or 651)", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "670", "Tumor invades second-order biliary radicals bilaterally\nOR\nTumor invades unilateral second-order biliary radicals with contralateral portal vein or hepatic artery involvement", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "700", "Other parts of colon\nGreater omentum\nStomach, proximal", "VALUE:TX", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "720", "700 + (661, 665, or 670)", "VALUE:TX", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "750", "OBSOLETE DATA RETAINED V0200\nSee code 760\n\nAbdominal wall", "ERROR:", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "760", "Abdominal wall", "VALUE:TX", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:TX", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "800 + (700 or 760)", "VALUE:TX", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "815", "(760, 800, or 810) + (661 or 670)\n\nInvolvement of structures in 760, 800, or 810 plus involvement of blood vessels as described in 661 or blood vessels and biliary radicals as described in 670", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "820", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfu.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfu.json deleted file mode 100644 index 23cf5f0e0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfu.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note**: The assignment of T categories for gastrointestinal stromal tumors (GIST) is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 350. 360, 370, and 380 as appropriate to code CS Extension based on a statement of T when no other extension information is available.", - "footnotes" : "- For CS Extension codes 100-800 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 7 Table for this schema.\n- For CS Extension codes 100-800 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:13.849Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Tumor confined to site of origin", "JUMP:extension_size_ajcc7_xfp", "JUMP:extension_size_ajcc6_xir", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_ajcc7_xfp", "JUMP:extension_size_ajcc6_xir", "VALUE:L", "VALUE:L" ], [ "350", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xfp", "JUMP:extension_size_ajcc6_xir", "VALUE:L", "VALUE:L" ], [ "360", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xfp", "JUMP:extension_size_ajcc6_xir", "VALUE:L", "VALUE:L" ], [ "370", "Stated as T3 with no other information on extension", "JUMP:extension_size_ajcc7_xfp", "JUMP:extension_size_ajcc6_xir", "VALUE:L", "VALUE:L" ], [ "380", "Stated as T4 with no other information on extension", "JUMP:extension_size_ajcc7_xfp", "JUMP:extension_size_ajcc6_xir", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue", "JUMP:extension_size_ajcc7_xfp", "JUMP:extension_size_ajcc6_xir", "VALUE:RE", "VALUE:RE" ], [ "500", "OBSOLETE DATA CONVERTED V0203\nSee code 360\n\nStated T2[NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "510", "OBSOLETE DATA CONVERTED V0203\nSee code 370\n\nStated T3[NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "520", "OBSOLETE DATA CONVERTED V0203\nSee Code 380\n\nStated T4[NOS]", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "600", "Adjacent organs/structures including bone/cartilage:\n For retroperitoneum: \n Adrenal(s) (suprarenal gland(s))\n Aorta\n Ascending colon\n Descending colon\n Kidney(s)\n Pancreas\n Inferior vena cava (IVC)\n Vertebra\n For peritoneum: \n Colon (except ascending and descending colon)\n Esophagus\n Gallbladder\n Liver\n Small intestine\n Spleen\n Stomach", "JUMP:extension_size_ajcc7_xfp", "JUMP:extension_size_ajcc6_xir", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension, including:\n For retroperitoneum:\n Colon other than ascending or descending\n For peritoneum: \n Ascending colon\n Descending colon", "JUMP:extension_size_ajcc7_xfp", "JUMP:extension_size_ajcc6_xir", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfv.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfv.json deleted file mode 100644 index fee066aa2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfv.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: For AJCC TNM staging, retroperitoneal sarcomas are classified as deep tumors.\n\n**Note 2**: The assignment of T1 and T2 categories for soft tissue sarcomas is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 350 and 375 as appropriate to code CS Extension based on a statement of T when no other extension information is available.", - "footnotes" : "- For CS Extension codes 100-800 ONLY, the T category for AJCC 7 staging is assigned based on value of CS Tumor Size, as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100-800 ONLY, the T category for AJCC 6 staging is assigned based on value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:13.895Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Tumor confined to site of origin", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:L", "VALUE:L" ], [ "350", "Stated as T1b or T1 [NOS] with no other information on extension", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:L", "VALUE:L" ], [ "375", "Stated as T2b or T2 [NOS] with no other information on extension", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue \n(See definition of adjacent connective tissue in General Rules)", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:RE", "VALUE:RE" ], [ "600", "Adjacent organs/structures: \n Adrenal(s) (suprarenal gland(s))\n Aorta\n Ascending colon\n Bone/cartilage\n Descending colon\n Kidney(s)\n Pancreas\n Vena cava\n Vertebra", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension, including:\n Extension to colon other than ascending or descending", "JUMP:extension_size_xqj", "JUMP:extension_size_xqj", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfw.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfw.json deleted file mode 100644 index 14405f838..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfw.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bfw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: The cystic duct extends from the neck of the gallbladder to its junction with the common hepatic duct, to form the common bile duct.\n\n**Note 2**: Involvement of one of the stated extrahepatic organs or structures is classified as T3, and involvement of more than one extrahepatic structure is classified as T4.\n\n**Note 3**: Involvement within the porta hepatis is coded according to the structures involved: portal vein, common hepatic artery, and common hepatic duct.", - "last_modified" : "2015-05-27T16:19:13.948Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Invasive tumor confined to:\n Lamina propria\n Mucosa, NOS\n Submucosa (superficial invasion)", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "105", "Extension to tissues in code 100 plus any involvement of gallbladder", "VALUE:T1a", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "110", "Stated as T1a with no other information on extension", "VALUE:T1a", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "200", "Muscularis propria", "VALUE:T1b", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "205", "Extension to tissues in code 200 plus any involvement of gallbladder", "VALUE:T1b", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "210", "Stated as T1b with no other information on extension", "VALUE:T1b", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "220", "Stated as T1 [NOS] with no other information on extension", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:T1NOS", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "400", "Beyond wall of cystic duct\nPeriductal/fibromuscular connective tissue", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "405", "Extension to tissues in code 400 plus any involvement of gallbladder", "VALUE:T2", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "410", "Stated as T2 with no other information on extension", "VALUE:T2", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "420", "Extension to extrahepatic bile ducts (including common hepatic duct) (beyond cystic duct)", "VALUE:T3", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "430", "420 + 400\n\nExtension to extrahepatic bile ducts (including common hepatic duct) (beyond cystic duct) plus extension beyond wall of cystic duct", "VALUE:T3", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "550", "Serosa (visceral peritoneum) perforated", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nGallbladder\nLiver, porta hepatis\nPancreas", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "610", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 628 and 720\n\nUnilateral branches of portal vein (right or left)\nUnilateral branches of hepatic artery (right or left)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "620", "OBSOLETE DATA REVIEWED V0203 \nSee codes 420, 430, 625, 626, 790 \n\nLiver/porta hepatis", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "625", "Liver", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "626", "625 +420\n\nExtension to liver plus extrahepatic bile ducts (including common hepatic duct) (beyond cystic duct)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "628", "Extension to ONE of the following with or without extension to liver:\n Unilateral branches of hepatic artery (right or left)\n Unilateral branches of portal vein (right or left)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "630", "OBSOLETE DATA REVIEWED V0203\nSee codes 105, 205, 405, and 635\n\nExtension to ONE of the following WITH or WITHOUT extension to liver: \n Gallbladder \n Pancreas", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "635", "Extension to pancreas with or without extension to liver", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "650", "OBSOLETE DATA RETAINED V0200\nSee code 651 \n\nExtension to ONE of the following WITHOUT extension to any structure in 630, \nWITH OR WITHOUT extension to liver, (620):\n Colon , NOS\n Transverse including flexure\n Duodenum , NOS\n Omentum, NOS\n Lesser \n Stomach , distal", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "651", "OBSOLETE DATA CONVERTED V0203\nSee code 652\n \nExtension to ONE of the following WITHOUT extension to any structure in 630, WITH OR WITHOUT extension to liver, (620):\n Colon, NOS\n Transverse including flexure\n Duodenum, NOS\n Omentum, NOS\n Lesser \n Stomach, distal", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "652", "Extension to ONE of the following WITHOUT extension to any structure in 635, with or without extension to liver:\n Colon, NOS:\n Transverse including flexure\n Duodenum, NOS\n Omentum, NOS:\n Lesser \n Stomach, distal", "VALUE:T3", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "655", "OBSOLETE DATA REVIEWED V0203\nSee codes 105, 205, 405, and 635\n\nExtension to gallbladder AND pancreas 630\nWITHOUT extension to any structure in code 651, \nWITH or WITHOUT extension to liver (620)", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "660", "OBSOLETE DATA RETAINED V0200\nSee code 790\n\nMain portal vein or its branches bilaterally\nCommon hepatic artery\nHepatic artery, NOS\nPortal vein, NOS", "ERROR:", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "670", "OBSOLETE DATA CONVERTED V0203\nSee code 730\n\nExtension to MORE THAN ONE structure in code 651 \nOR\nExtension to one or more structure in code 651 PLUS one or more structures in code 630\nWITH OR WITHOUT extension to liver (620)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "700", "OBSOLETE DATA CONVERTED V0203\nSee code 701 \n\nExtension to ONE of the following \nWITHOUT extension to any structure in codes 630 or 651, \nWITH OR WITHOUT extension to liver:\n Other parts of colon\n Greater omentum\n Stomach, proximal", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "701", "Extension to ONE of the following without extension to any structure in code 420, 628, 635, or 652:\n Other parts of colon\n Greater omentum\n Stomach, proximal", "VALUE:T3", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "705", "Stated as T3 with no other information on extension", "VALUE:T3", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "710", "OBSOLETE DATA CONVERTED V0203\nSee code 740\n\nExtension to MORE THAN ONE structure in code 700\nOR\nExtension to one or more structures in code 700 PLUS one or more structures in codes 630 or 651\nWITH OR WITHOUT extension to liver", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "720", "Extension to MORE THAN ONE structure in codes 420, 628, and 635\nWITHOUT extension to any structure in code 652 or 701 with or without extension to liver", "VALUE:T4", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "730", "Extension to MORE THAN ONE structure in code 652 \nOR\nExtension to one or more structures in code 652 PLUS one or more structures in code 420, 628, or 635\nwith or without extension to liver ", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "740", "Extension to MORE THAN ONE structure in code 701 \nOR\nExtension to one or more structures in code 701 PLUS one or more structures in code 420, 628, 635, or 652 with or without extension to liver", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "750", "OBSOLETE DATA RETAINED V0200\nSee code 795\n \nAbdominal wall", "ERROR:", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "790", "Main portal vein or its branches bilaterally\nCommon hepatic artery\nHepatic artery, NOS\nPortal vein, NOS", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "792", "790 + 701\n\nInvolvement of any structure in code 790 plus any structure in code 701", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:RE" ], [ "795", "Abdominal wall", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfx.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfx.json deleted file mode 100644 index fe4211856..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfx.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: As stated in the AJCC 7th Edition, p. 419, a primary peritoneal carcinoma may not involve the ovaries or only involve the ovaries \"with minimal surface implants. The clinical presentation, surgical therapy, chemotherapy, and prognosis of these peritoneal tumors mirror those of papillary serous carcinoma of the ovary. Patients who undergo prophylactic oophorectomy for a familial history of ovarian cancer appear to retain a 1 to 2% chance of developing peritoneal adenocarcinoma, which is histopathologically and clinically similar to primary ovarian cancer.\"\n\n**Note 2**: When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension detail are available, record the code with extension detail in preference to a statement of FIGO stage. FIGO Stage IIIC is assigned based on tumor extension and/or regional lymph node involvement. Code CS Extension based on a physician's statement of FIGO Stage IIIC if it is known that the stage value is assigned because of tumor extension or if the basis is unknown.\n\n**Note 3**: For most histologies the T category for AJCC 6 staging is assigned as NA.", - "footnotes" : "- For CS Extension codes 100-700, 710, and 720-795 ONLY, the T category for AJCC 6 staging for certain histologies is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:14.002Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "OBSOLETE DATA RETAINED V0200\n\nTumor confined to site of origin", "ERROR:", "JUMP:extension_size_xgn", "VALUE:L", "VALUE:L" ], [ "150", "Microscopic peritoneal implants beyond pelvis including:\n Liver capsule\n Mesentery\n Omentum\n Pericolic gutter\nMicroscopic peritoneal implants beyond pelvis including peritoneal surface/capsule of:\n Ascending colon\n Descending colon\n Diaphragm\n Esophagus\n Gallbladder \n Transverse colon and flexures \n Small intestine \n Spleen \n Stomach\nWITHOUT invasion of underlying structures", "VALUE:T3a", "JUMP:extension_size_xgn", "VALUE:L", "VALUE:L" ], [ "180", "FIGO Stage IIIA", "VALUE:T3a", "JUMP:extension_size_xgn", "VALUE:L", "VALUE:L" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nLocalized, NOS", "ERROR:", "JUMP:extension_size_xgn", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nAdjacent connective tissue see definition of adjacent connective tissue in General Instructions.", "ERROR:", "JUMP:extension_size_xgn", "VALUE:RE", "VALUE:RE" ], [ "510", "Macroscopic peritoneal implants beyond pelvis less than or equal to 2 centimeter (cm) in diameter including:\n Liver capsule\n Mesentery\n Omentum\n Pericolic gutter\nMacroscopic peritoneal implants beyond pelvis less than or equal to 2 cm in diameter:\n Ascending colon\n Descending colon\n Diaphragm\n Esophagus\n Gallbladder \n Transverse colon and flexures \n Small intestine \n Spleen \n Stomach\nWITHOUT invasion of underlying structures", "VALUE:T3b", "JUMP:extension_size_xgn", "VALUE:RE", "VALUE:RE" ], [ "520", "Macroscopic peritoneal implants beyond pelvis less than or equal to 2 cm in diameter:\n Adjacent connective tissue\n Diaphragm\n Esophagus\n Gallbladder\n Transverse colon and flexures\n Liver\n Small intestine\n Spleen\n Stomach\nWITH invasion of underlying structures", "VALUE:T3b", "JUMP:extension_size_xgn", "VALUE:RE", "VALUE:RE" ], [ "530", "Macroscopic peritoneal implants beyond pelvis less than or equal to 2 cm in diameter:\n Ascending colon\n Descending colon\nWITH invasion of underlying structures", "VALUE:T3b", "JUMP:extension_size_xgn", "VALUE:D", "VALUE:D" ], [ "580", "FIGO Stage IIIB", "VALUE:T3b", "JUMP:extension_size_xgn", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nAdjacent organs/structures including bone/cartilage\nRetroperitoneum: \n Adrenal(s) (suprarenal gland(s))\n Aorta\n Ascending colon\n Descending colon\n Kidney(s)\n Pancreas\n Vena cava\n Vertebra\nPeritoneum: \n Colon (except ascending and descending colon)\n Esophagus\n Gallbladder\n Liver\n Small intestine\n Spleen\n Stomach", "ERROR:", "JUMP:extension_size_xgn", "VALUE:RE", "VALUE:RE" ], [ "610", "Macroscopic peritoneal implants beyond pelvis greater than 2 cm in diameter including:\n Liver capsule\n Mesentery\n Omentum\n Pericolic gutter\nMacroscopic peritoneal implants beyond pelvis greater than 2cm in diameter:\n Adjacent connective tissue\n Diaphragm\n Esophagus\n Gallbladder\n Transverse colon and flexures\n Small intestine\n Spleen\n Stomach\nWITHOUT invasion of underlying structures", "VALUE:T3c", "JUMP:extension_size_xgn", "VALUE:L", "VALUE:L" ], [ "620", "610 + 520", "VALUE:T3c", "JUMP:extension_size_xgn", "VALUE:RE", "VALUE:RE" ], [ "630", "610 + 530", "VALUE:T3c", "JUMP:extension_size_xgn", "VALUE:D", "VALUE:D" ], [ "640", "Macroscopic peritoneal implants beyond pelvis greater than 2cm in diameter:\n Diaphragm\n Esophagus\n Gallbladder \n Transverse colon and flexures \n Liver \n Small intestine \n Spleen \n Stomach\nWITH invasion of underlying structures ", "VALUE:T3c", "JUMP:extension_size_xgn", "VALUE:RE", "VALUE:RE" ], [ "650", "640 + (530 or 630)", "VALUE:T3c", "JUMP:extension_size_xgn", "VALUE:D", "VALUE:D" ], [ "660", "Macroscopic peritoneal implants beyond pelvis greater than 2cm in diameter: \n Ascending colon\n Descending colon\nWITH invasion of underlying structures", "VALUE:T3c", "JUMP:extension_size_xgn", "VALUE:D", "VALUE:D" ], [ "700", "OBSOLETE DATA CONVERTED V0203\nSee code 150\n\nMicroscopic peritoneal implants beyond pelvis, including peritoneal\nsurface/capsule of \n Colon (except ascending and descending colon)\n Esophagus\n Gallbladder\n Liver\n Small intestine\n Spleen\n Stomach", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "705", "OBSOLETE DATA CONVERTED V0203\nSee code 180\n\nFIGO Stage IIIA", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "710", "OBSOLETE DATA REVIEWED V0203\nSee codes 510 and 520\n\nMacroscopic peritoneal \nimplants beyond pelvis, less than or equal to 2 cm in diameter,\n including peritoneal surface of \n Esophagus \n Abdominal mesentery\n Diaphragm\n Gallbladder \n Infracolic omentum\n Kidneys \n Large intestine except rectum and sigmoid colon \n Liver (peritoneal surface)\n Omentum \n Pancreas \n Pericolic gutter \n Small intestine \n Spleen \n Stomach \n Ureters\n Peritoneum, NOS", "VALUE:T3b", "JUMP:extension_size_xgn", "VALUE:D", "VALUE:D" ], [ "715", "OBSOLETE DATA CONVERTED V0203\nSee code 580\n\nFIGO Stage IIIB", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "720", "OBSOLETE DATA REVIEWED V0203\nSee codes 610 and 620\n\nPeritoneal implants beyond \npelvis, greater than 2 cm in diameter, including peritoneal\n surface of \n Esophagus \n Abdominal mesentery\n Diaphragm\n Gallbladder \n Infracolic omentum\n Kidneys \n Large intestine except rectum and sigmoid colon \n Liver (peritoneal surface)\n Omentum \n Pancreas \n Pericolic gutter \n Small intestine \n Spleen \n Stomach \n Ureters\n Peritoneum, NOS", "VALUE:T3c", "JUMP:extension_size_xgn", "VALUE:D", "VALUE:D" ], [ "722", "Extension to:\n Bone\n Cartilage", "VALUE:T3c", "JUMP:extension_size_xgn", "VALUE:RE", "VALUE:RE" ], [ "725", "722 + (530, 660)", "VALUE:T3c", "JUMP:extension_size_xgn", "VALUE:D", "VALUE:D" ], [ "728", "Further contiguous extension", "VALUE:T3c", "JUMP:extension_size_xgn", "VALUE:D", "VALUE:D" ], [ "730", "FIGO Stage IIIC based on tumor extension", "VALUE:T3c", "JUMP:extension_size_xgn", "VALUE:D", "VALUE:D" ], [ "735", "FIGO Stage IIIC unknown if based on tumor extension or nodes", "VALUE:T3c", "JUMP:extension_size_xgn", "VALUE:D", "VALUE:D" ], [ "750", "Peritoneal implants, NOS", "VALUE:T3NOS", "JUMP:extension_size_xgn", "VALUE:L", "VALUE:L" ], [ "780", "FIGO Stage III [NOS]", "VALUE:T3NOS", "JUMP:extension_size_xgn", "VALUE:L", "VALUE:L" ], [ "785", "OBSOLETE DATA REVIEWED V0203\nSee codes 520 and 610\n\nAdjacent connective tissue (see definition of adjacent connective tissue in General Instructions)", "VALUE:T3NOS", "JUMP:extension_size_xgn", "VALUE:D", "VALUE:D" ], [ "790", "OBSOLETE DATA REVIEWED V0203\nSee codes 510, 520, 610, 620, and 640\n\nAdjacent organs/structures including bone/cartilage\nPeritoneum: \n Colon (except ascending and descending colon)\n Esophagus\n Gallbladder\n Liver\n Small intestine\n Spleen\n Stomach", "VALUE:T3c", "JUMP:extension_size_xgn", "VALUE:D", "VALUE:D" ], [ "795", "OBSOLETE DATA REVIEWED V0203\nSee codes 150, 530, 630, 650, 660, and 725\n\nFurther contiguous extension, including:\nextension to ascending or descending colon", "VALUE:T3c", "JUMP:extension_size_xgn", "VALUE:D", "VALUE:D" ], [ "800", "OBSOLETE DATA CONVERTED V0203\nSee code 728\n\nFurther contiguous extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfy.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfy.json deleted file mode 100644 index 0c0eaa95c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfy.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "extension_bfy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "last_modified" : "2015-05-27T16:19:14.097Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "050", "Benign or borderline tumor", "VALUE:NA", "VALUE:NA", "VALUE:NA", "VALUE:NA" ], [ "100", "Invasive tumor confined to gland of origin", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue \n(See definition in General Rules, Part I)", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "600", "Adjacent organs/structures\n Pituitary and craniopharyngeal duct:\n Cavernous sinus\n Infundibulum\n Pons\n Sphenoid body and sinuses\n Pineal:\n Infratentorial and central brain", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfz.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfz.json deleted file mode 100644 index a13ea7416..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bfz.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bfz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 2**: Skin ulceration does not alter the AJCC T category.\n\n**Note 3**: Satellite nodules/In-transit metastasis are coded in CS Lymph Nodes. \n\n**Note 4**: The assignment of the T1, T2, and T3 categories for Merkel cell carcinomas is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use codes 320, 560, 630, and 810 as appropriate to code CS Extension based on a statement of T when no other extension information is available.", - "footnotes" : "- For CS Extension codes 100-570 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size AJCC 7 Table for this site.", - "last_modified" : "2015-05-27T16:19:14.142Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "050", "OBSOLETE DATA RETAINED V0200 \n\nNon-invasive verrucous carcinoma", "ERROR:", "VALUE:Ta", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 105, 330\n\nLesion(s) confined to dermis\nInvasive tumor limited to subepithelial connective tissue, but not involving corpus spongiosum or cavernosum \n If primary is skin: invasive tumor limited to skin of penis, prepuce (foreskin) and/or glans\n\nStated as T1 [NOS] with no other information on extension", "JUMP:extension_size_ajcc7_xik", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "105", "Lesion(s) confined to dermis\nInvasive tumor limited to skin of penis, prepuce (foreskin), and/or glans\nInvasive tumor limited to subepithelial connective tissue but not involving corpus spongiosum or corpus cavernosum", "JUMP:extension_size_ajcc7_xik", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_ajcc7_xik", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "310", "Subcutaneous tissue (through entire dermis)", "JUMP:extension_size_ajcc7_xik", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "320", "OBSOLETE DATA CONVERTED V0203\nSee code 330\n\nStated as T1b with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "330", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xik", "VALUE:T1", "VALUE:L", "VALUE:L" ], [ "350", "OBSOLETE DATA CONVERTED V0203\nSee code 410\n\nFor body of penis ONLY:\n Corpus cavernosum\n Corpus spongiosum\n Tunica albuginea of corpus spongiosum", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "400", "OBSOLETE DATA CONVERTED V0203\nSee code 410\n\nCorpus cavernosum except for tumor in body of penis\nCorpus spongiosum except for tumor in body of penis\nTunica albuginea of corpus spongiosum except for tumor in body of penis", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "410", "Corpus cavernosum\nCorpus spongiosum\nTunica albuginea", "JUMP:extension_size_ajcc7_xik", "VALUE:T2", "VALUE:RE", "VALUE:RE" ], [ "500", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 105-310, 330, 410, 560-570 and CS Lymph Nodes codes 410-480, 520\n\nSatellite nodule(s) on prepuce or glans", "JUMP:extension_size_ajcc7_xik", "VALUE:T1", "VALUE:RE", "VALUE:RE" ], [ "560", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xik", "VALUE:T2", "VALUE:L", "VALUE:L" ], [ "570", "Stated as T3 with no other information on extension", "JUMP:extension_size_ajcc7_xik", "VALUE:T1", "VALUE:RE", "VALUE:RE" ], [ "600", "Prostate\nUrethra", "VALUE:T4", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "630", "OBSOLETE DATA CONVERTED V0203\nSee code 570\n\nStated as T3 with no other information on extension", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "700", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 710, 720, 730 \n\nUnderlying cartilage, bone, skeletal muscle\nAdjacent structures:\nMuscle, NOS:\n Bulbospongiosus\n Ischiocavernosus\n Superficial transverse perineal\nSkin:\n Abdominal\n Perineum\n Pubic\n Scrotal", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "710", "Adjacent structures:\n Fascia\n Muscle, NOS:\n Bulbospongiosus\n Ischiocavernosus\n Superficial transverse perineal\n Skin:\n Abdomen\n Perineum\n Pubic region\n Scrotum", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "720", "Underlying bone and cartilage", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "730", "720 + 710", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension:\n Testis", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bga.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bga.json deleted file mode 100644 index b830482cd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bga.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bga", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 2**: Skin ulceration does not alter the AJCC T category.\n\n**Note 3**: In-transit metastasis is coded in CS Lymph Nodes.\n\n**Note 4**: The assignment of the T1, T2, and T3 categories for Merkel cell carcinomas is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use codes 310, 320, 330, and 810 as appropriate to code CS Extension based on a statement of T when no other extension information is available.", - "footnotes" : "- For CS Extension codes 100-400 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size and CS Extension as shown in the Extension Size Table for this schema.\n- For CS Extension codes 100- 400 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in the Extension Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:14.193Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "Lesion(s) confined to dermis\nConfined to scrotum", "JUMP:extension_size_ajcc7_xim", "JUMP:extension_size_ajcc6_xji", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_ajcc7_xim", "JUMP:extension_size_ajcc6_xji", "VALUE:L", "VALUE:L" ], [ "305", "Subcutaneous tissue (through entire dermis)", "JUMP:extension_size_ajcc7_xim", "JUMP:extension_size_ajcc6_xji", "VALUE:L", "VALUE:L" ], [ "310", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xim", "JUMP:extension_size_ajcc6_xji", "VALUE:L", "VALUE:L" ], [ "320", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xim", "JUMP:extension_size_ajcc6_xji", "VALUE:L", "VALUE:L" ], [ "330", "Stated as T3 with no other information on extension", "JUMP:extension_size_ajcc7_xim", "JUMP:extension_size_ajcc6_xji", "VALUE:L", "VALUE:L" ], [ "400", "Adjacent connective tissue\nEXCLUDING deep fascia\n(See definition of connective tissue in general instructions)", "JUMP:extension_size_ajcc7_xim", "JUMP:extension_size_ajcc6_xji", "VALUE:RE", "VALUE:RE" ], [ "500", "Deep fascia, skeletal muscle", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "600", "Adjacent organs/structures\n Male genital organs:\n Epididymis\n Penis\n Prostate\n Spermatic cord\n Testis", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "610", "600 + 500", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "700", "Underlying cartilage, bone", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension\n Other organs and structures in male pelvis:\n Bladder\n Rectum\n Urethra", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "805", "OBSOLETE DATA REVIEWED V0203\nSee codes 500, 610, 700, 808\n\nUnderlying cartilage, bone, fascia, skeletal muscle", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "808", "800 + (500, 700)", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension ", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown: extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bgb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bgb.json deleted file mode 100644 index 4c9f88850..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bgb.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_bgb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 2**: Skin ulceration does not alter the AJCC T category.\n\n**Note 3**: In-transit metastasis is coded in CS Lymph Nodes.\n\n**Note 4**: The depth of stromal invasion is defined as the measurement of the tumor from the epithelial-stromal junction of the adjacent most superficial dermal papilla to the deepest point of invasion.\n\n**Note 5**: Use codes 110-130 and 410-430 for tumors limited to the skin or subcutaneous/submucosal tissues of vulva and perineum only. Use code 602 for tumors involving fascia or musculature of vulva and perineum.\n\n**Note 6**: The assignment of the T1, T2, and T3 categories for Merkel cell carcinomas is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use codes 450, 460, 470, and 810 as appropriate to code CS Extension based on a statement of T when no other extension information is available.", - "footnotes" : "- For CS Extension codes 105-470 ONLY the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size and CS Extension as shown in the Extension Size AJCC 7 Table for this schema.\n- For CS Extension codes 100-510 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size and CS Extension, as shown in the Extension Size AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:14.240Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, noninvasive", "VALUE:Tis", "VALUE:Tis", "VALUE:IS", "VALUE:IS" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 150, 200, 500\n\nInvasive cancer (no stromal invasion) confined to:\n Musculature\n Submucosa\n Vulva including skin", "VALUE:TX", "JUMP:extension_size_ajcc6_xjj", "VALUE:L", "VALUE:L" ], [ "105", "OBSOLETE DATA CONVERTED V0203\nSee code 130\n\nVulva only: Stromal invasion but level of invasion in mm not stated", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "110", "Vulva only: Stromal invasion less than or equal to 1 mm", "JUMP:extension_size_ajcc7_xio", "JUMP:extension_size_ajcc6_xjj", "VALUE:L", "VALUE:L" ], [ "120", "Vulva only: Stromal invasion greater than 1 mm", "JUMP:extension_size_ajcc7_xio", "JUMP:extension_size_ajcc6_xjj", "VALUE:L", "VALUE:L" ], [ "130", "Vulva only: Stromal invasion but level of invasion in mm not stated", "JUMP:extension_size_ajcc7_xio", "JUMP:extension_size_ajcc6_xjj", "VALUE:L", "VALUE:L" ], [ "150", "Submucosa", "JUMP:extension_size_ajcc7_xio", "JUMP:extension_size_ajcc6_xjj", "VALUE:L", "VALUE:L" ], [ "200", "Confined to vulva, NOS", "JUMP:extension_size_ajcc7_xio", "JUMP:extension_size_ajcc6_xjj", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "JUMP:extension_size_ajcc7_xio", "JUMP:extension_size_ajcc6_xjj", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA CONVERTED V0203\nSee code 430\n\nVulva and perineum, level of invasion in mm not stated", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "410", "Vulva and perineum, stromal invasion less than or\nequal to 1 mm", "JUMP:extension_size_ajcc7_xio", "JUMP:extension_size_ajcc6_xjj", "VALUE:RE", "VALUE:RE" ], [ "420", "Vulva and perineum, stromal invasion greater than 1 mm", "JUMP:extension_size_ajcc7_xio", "JUMP:extension_size_ajcc6_xjj", "VALUE:RE", "VALUE:RE" ], [ "430", "Vulva and perineum, level of invasion in mm not stated", "JUMP:extension_size_ajcc7_xio", "JUMP:extension_size_ajcc6_xjj", "VALUE:RE", "VALUE:RE" ], [ "450", "Stated as T1 with no other information on extension", "JUMP:extension_size_ajcc7_xio", "JUMP:extension_size_ajcc6_xjj", "VALUE:L", "VALUE:L" ], [ "460", "Stated as T2 with no other information on extension", "JUMP:extension_size_ajcc7_xio", "JUMP:extension_size_ajcc6_xjj", "VALUE:L", "VALUE:L" ], [ "470", "Stated as T3 with no other information on extension", "JUMP:extension_size_ajcc7_xio", "JUMP:extension_size_ajcc6_xjj", "VALUE:L", "VALUE:L" ], [ "500", "Fascia\nMusculature, skeletal muscle", "VALUE:T4", "JUMP:extension_size_ajcc6_xjj", "VALUE:L", "VALUE:L" ], [ "510", "500 + (410, 420, 430)", "VALUE:T4", "JUMP:extension_size_ajcc6_xjj", "VALUE:RE", "VALUE:RE" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nAnus\nPerianal skin\nUrethra (See code 750 for upper urethral mucosa)\nVagina", "ERROR:", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "605", "Anus\nPerianal skin\nUrethra (lower/distal 1/3 urethra or not stated) \n(See code 750 for upper urethra)", "VALUE:T4", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "610", "Vagina (lower/distal 1/3 vagina)", "VALUE:T4", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "612", "Vagina NOS", "VALUE:T4", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "618", "Vagina (upper/proximal 2/3 vagina)", "VALUE:T4", "VALUE:T3", "VALUE:RE", "VALUE:RE" ], [ "620", "Bladder wall or bladder, NOS excluding mucosa\nRectal wall or rectum, NOS excluding mucosa", "VALUE:T4", "VALUE:T3", "VALUE:D", "VALUE:RE" ], [ "700", "Perineal body\nRectal mucosa", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "750", "OBSOLETE DATA RETAINED V0200\n\nBladder mucosa\nFixed to pubic bone\nUpper urethral mucosa", "ERROR:", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "760", "Bladder mucosa\nUrethra (upper/proximal 2/3 urethra)", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "765", "Extension to underlying cartilage, bone\nFixed to pubic bone", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "770", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee codes 500, 510, 765, 775, 778\n\nFixed to pubic bone\nUnderlying cartilage, bone, skeletal muscle", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "775", "(605-700, 760) + 500", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "778", "765 + 500", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:T4", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "810", "Stated as T4 with no other information on extension", "VALUE:T4", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:TX", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bgc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bgc.json deleted file mode 100644 index b8df7fdfd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bgc.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "extension_bgc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: Osseous plasmacytomas are localized tumors occurring in the bone. There may be soft tissue extension. \n\n**Note 2**: Extraosseous (extramedullary) plasmacytomas are plasma cell neoplasms that arise in tissues other than bone. The most common sites are the upper respiratory tract, the gastrointestinal tract, lymph nodes, bladder, central nervous system (CNS), breast, thyroid, testis and skin. \n\n**Note 3**: Criteria for the diagnosis of multiple myeloma include: presence of clonal bone marrow plasma cells or plasmacytoma, presence of an M-protein in serum and/or urine, and the presence of related organ or tissue impairment. Do not use this criteria to determine the diagnosis of multiple myeloma. Code according to histologic confirmation or physician statement according to the AJCC 7th edition. \n\n**Note 4**: Multiple myeloma or plasma cell myeloma is a widely disseminated plasma cell neoplasm, characterized by a single clone of plasma cells derived from B cells that grows in the bone marrow. It is always coded to 810 or 820 for systemic involvement.", - "last_modified" : "2015-05-27T16:19:14.290Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "OBSOLETE DATA RETAINED V0203\n\nLocalized disease (single/solitary/unifocal/isolated/mono-ostotic), may be coded for:\n Plasmacytoma, NOS (M-9731/3)(solitary myeloma)\n Plasmacytoma, extramedullary (M-9734/3) (not occurring in bone)", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "110", "Single plasmacytoma lesion \nWITHOUT soft tissue extension or unknown if soft tissue extension (9731)", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "200", "Single plasmacytoma lesion \nWITH soft tissue extension (9731)", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Single plasmacytoma lesion occurring in tissue other than bone (9734)", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Multiple osseous or multiple extraosseous plasmacytoma lesions (9731, 9734)", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "500", "Plasmacytoma, NOS (9731)\nNot stated if single or multiple, not stated if osseous or extraosseous", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "800", "OBSOLETE DATA RETAINED V0203\n\nSystemic disease (poly-ostotic): \nAll histologies including those in 100", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "810", "Plasma cell myeloma/multiple myeloma/myelomatosis (9732)", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "820", "Myeloma, NOS\nExcludes plasma cell myeloma or multiple myeloma (see code 810)", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bna.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bna.json deleted file mode 100644 index 0a5740d88..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bna.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "extension_bna", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "last_modified" : "2015-05-27T16:19:14.341Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "988", "Not applicable: Information not collected for this schema", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_bpb.json deleted file mode 100644 index dc1413519..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_bpb.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "extension_bpb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "last_modified" : "2015-05-27T16:19:14.386Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:NA", "VALUE:IS", "VALUE:IS" ], [ "100", "Tumor confined to site of origin", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "400", "Intraocular extension", "VALUE:NA", "VALUE:NA", "VALUE:L", "VALUE:L" ], [ "700", "Adjacent extraocular extension:\n Eyelid\n Orbit", "VALUE:NA", "VALUE:NA", "VALUE:RE", "VALUE:RE" ], [ "800", "Further contiguous extension", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_btb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_btb.json deleted file mode 100644 index a9324c852..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_btb.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "extension_btb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: The lacrimal sac is the upper dilated end of the nasolacrimal duct, lodged in a deep groove formed by the lacrimal bone and frontal process of the maxilla. The sac connects the lacrimal canaliculi, which drain tears from the eye's surface, and the nasolacrimal duct, which conveys this fluid into the nasal cavity. The most common epithelial tumors of the lacrimal sac are squamous cell and transitional cell carcinomas.\n\n**Note 2**: Periosteum is a fibrous membrane that wraps the outer surface of bones.\n\n**Note 3**: AJCC excludes lacrimal sac tumors from 7th Edition staging for the lacrimal gland. Lacrimal sac tumors were not explicitly excluded from AJCC 6th Edition staging.", - "footnotes" : "- For CS Extension codes 100-405 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size as shown in the Extension Size AJCC 6 Table. . Tumors 2.5 cm or less are T1, and tumors between 2.6 and 5 cm are T2.", - "last_modified" : "2015-05-27T16:19:14.435Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:NA", "VALUE:TX", "VALUE:IS", "VALUE:IS" ], [ "100", "Tumor confined to lacrimal sac", "VALUE:NA", "JUMP:extension_size_ajcc6_xea", "VALUE:L", "VALUE:L" ], [ "300", "Localized, NOS", "VALUE:NA", "JUMP:extension_size_ajcc6_xea", "VALUE:L", "VALUE:L" ], [ "400", "OBSOLETE DATA RETAINED V0200\nSee code 405\n\nInvading periosteum of fossa of lacrimal gland/duct", "ERROR:", "JUMP:extension_size_ajcc6_xea", "VALUE:RE", "VALUE:RE" ], [ "405", "Invading periosteum", "VALUE:NA", "JUMP:extension_size_ajcc6_xea", "VALUE:RE", "VALUE:RE" ], [ "600", "Extension to any of the following WITHOUT bone invasion:\n Globe (eyeball)\n Optic nerve\n Orbital soft tissues", "VALUE:NA", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "700", "Adjacent bone", "VALUE:NA", "VALUE:T4", "VALUE:RE", "VALUE:RE" ], [ "750", "Adjacent structures:\n Brain\n Sinus\n Pterygoid fossa\n Temporal fossa", "VALUE:NA", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "800", "Further contiguous extension", "VALUE:NA", "VALUE:T4", "VALUE:D", "VALUE:D" ], [ "950", "No evidence of primary tumor", "VALUE:NA", "VALUE:T0", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", "VALUE:NA", "VALUE:TX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xkn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xkn.json deleted file mode 100644 index c374a90f8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xkn.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_cytology_ajcc6_table_csv1_xkn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Cytology AJCC 6 Table CSv1", - "title" : "Extension Cytology AJCC 6 Table CSv1", - "subtitle" : "CS Version Input Original Equals 01XXXX and Year of Diagnosis is Before 2010", - "notes" : "**Note**: For CS Version 1 cases (CS Version Input Original equals 01XXXX and Year of Diagnosis is before 2010) and for CS Extension codes 100-145 and 180-525 ONLY. The T category for AJCC 6 staging is assigned based on the value of CS Extension and peritoneal cytology status coded in CS Site Specific Factor 2 as shown in this table.", - "last_modified" : "2015-05-27T16:19:14.482Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "VALUE:T1NOS" ], [ "110", "000", "VALUE:T1a" ], [ "120", "000", "VALUE:T1b" ], [ "123", "000", "VALUE:T2a" ], [ "125", "000", "VALUE:T1a" ], [ "130", "000", "VALUE:T1c" ], [ "133", "000", "VALUE:T2a" ], [ "135", "000", "VALUE:T1c" ], [ "140", "000", "VALUE:T1NOS" ], [ "143", "000", "VALUE:T2a" ], [ "145", "000", "VALUE:T2a" ], [ "180", "000", "VALUE:T1NOS" ], [ "400", "000", "VALUE:T1NOS" ], [ "500", "000", "VALUE:T2NOS" ], [ "510", "000", "VALUE:T2a" ], [ "520", "000", "VALUE:T2b" ], [ "525", "000", "VALUE:T2NOS" ], [ "100", "010", "VALUE:T3a" ], [ "110", "010", "VALUE:T3a" ], [ "120", "010", "VALUE:T3a" ], [ "123", "010", "VALUE:T3a" ], [ "125", "010", "VALUE:T3a" ], [ "130", "010", "VALUE:T3a" ], [ "133", "010", "VALUE:T3a" ], [ "135", "010", "VALUE:T3a" ], [ "140", "010", "VALUE:T3a" ], [ "143", "010", "VALUE:T3a" ], [ "145", "010", "VALUE:T3a" ], [ "180", "010", "VALUE:T3a" ], [ "400", "010", "VALUE:T3a" ], [ "500", "010", "VALUE:T3a" ], [ "510", "010", "VALUE:T3a" ], [ "520", "010", "VALUE:T3a" ], [ "525", "010", "VALUE:T3a" ], [ "100", "020", "VALUE:T1NOS" ], [ "110", "020", "VALUE:T1a" ], [ "120", "020", "VALUE:T1b" ], [ "123", "020", "VALUE:T2a" ], [ "125", "020", "VALUE:T1a" ], [ "130", "020", "VALUE:T1c" ], [ "133", "020", "VALUE:T2a" ], [ "135", "020", "VALUE:T1c" ], [ "140", "020", "VALUE:T1NOS" ], [ "143", "020", "VALUE:T2a" ], [ "145", "020", "VALUE:T2a" ], [ "180", "020", "VALUE:T1NOS" ], [ "400", "020", "VALUE:T1NOS" ], [ "500", "020", "VALUE:T2NOS" ], [ "510", "020", "VALUE:T2a" ], [ "520", "020", "VALUE:T2b" ], [ "525", "020", "VALUE:T2NOS" ], [ "100", "888", "ERROR:" ], [ "110", "888", "ERROR:" ], [ "120", "888", "ERROR:" ], [ "123", "888", "ERROR:" ], [ "125", "888", "ERROR:" ], [ "130", "888", "ERROR:" ], [ "133", "888", "ERROR:" ], [ "135", "888", "ERROR:" ], [ "140", "888", "ERROR:" ], [ "143", "888", "ERROR:" ], [ "145", "888", "ERROR:" ], [ "180", "888", "ERROR:" ], [ "400", "888", "ERROR:" ], [ "500", "888", "ERROR:" ], [ "510", "888", "ERROR:" ], [ "520", "888", "ERROR:" ], [ "525", "888", "ERROR:" ], [ "100", "988", "VALUE:T1NOS" ], [ "110", "988", "VALUE:T1a" ], [ "120", "988", "VALUE:T1b" ], [ "123", "988", "VALUE:T2a" ], [ "125", "988", "VALUE:T1a" ], [ "130", "988", "VALUE:T1c" ], [ "133", "988", "VALUE:T2a" ], [ "135", "988", "VALUE:T1c" ], [ "140", "988", "VALUE:T1NOS" ], [ "143", "988", "VALUE:T2a" ], [ "145", "988", "VALUE:T2a" ], [ "180", "988", "VALUE:T1NOS" ], [ "400", "988", "VALUE:T1NOS" ], [ "500", "988", "VALUE:T2NOS" ], [ "510", "988", "VALUE:T2a" ], [ "520", "988", "VALUE:T2b" ], [ "525", "988", "VALUE:T2NOS" ], [ "100", "997-999", "VALUE:T1NOS" ], [ "110", "997-999", "VALUE:T1a" ], [ "120", "997-999", "VALUE:T1b" ], [ "123", "997-999", "VALUE:T2a" ], [ "125", "997-999", "VALUE:T1a" ], [ "130", "997-999", "VALUE:T1c" ], [ "133", "997-999", "VALUE:T2a" ], [ "135", "997-999", "VALUE:T1c" ], [ "140", "997-999", "VALUE:T1NOS" ], [ "143", "997-999", "VALUE:T2a" ], [ "145", "997-999", "VALUE:T2a" ], [ "180", "997-999", "VALUE:T1NOS" ], [ "400", "997-999", "VALUE:T1NOS" ], [ "500", "997-999", "VALUE:T2NOS" ], [ "510", "997-999", "VALUE:T2a" ], [ "520", "997-999", "VALUE:T2b" ], [ "525", "997-999", "VALUE:T2NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xko.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xko.json deleted file mode 100644 index 6138848ef..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv1_xko.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_cytology_ajcc6_table_csv1_xko", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Cytology AJCC 6 Table CSv1", - "title" : "Extension Cytology AJCC 6 Table CSv1", - "notes" : "**Note**: For CS Version 2 cases (CS Version Input Original equals 02XXXX) or Year of Diagnosis greater than 2009) and for CS Extension codes 100-110, 116-120, 126-400, and 510-540 ONLY. The T category for AJCC 6 staging is assigned based on the value of CS Extension and peritoneal cytology status coded in CS Site Specific Factor 2 as shown in this table.", - "last_modified" : "2015-05-27T16:19:14.533Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "VALUE:T1NOS" ], [ "110", "000", "VALUE:T1a" ], [ "116", "000", "VALUE:T1NOS" ], [ "120", "000", "VALUE:T1b" ], [ "126", "000", "VALUE:T1b" ], [ "130", "000", "VALUE:T1c" ], [ "140", "000", "VALUE:T1NOS" ], [ "160", "000", "VALUE:T3a" ], [ "400", "000", "VALUE:T1NOS" ], [ "510", "000", "VALUE:T2a" ], [ "520", "000", "VALUE:T2b" ], [ "523", "000", "VALUE:T2NOS" ], [ "530", "000", "VALUE:T1NOS" ], [ "540", "000", "VALUE:T1NOS" ], [ "100", "010", "VALUE:T3a" ], [ "110", "010", "VALUE:T3a" ], [ "116", "010", "VALUE:T3a" ], [ "120", "010", "VALUE:T3a" ], [ "126", "010", "VALUE:T3a" ], [ "130", "010", "VALUE:T3a" ], [ "140", "010", "VALUE:T3a" ], [ "160", "010", "VALUE:T3a" ], [ "400", "010", "VALUE:T3a" ], [ "510", "010", "VALUE:T3a" ], [ "520", "010", "VALUE:T3a" ], [ "523", "010", "VALUE:T3a" ], [ "530", "010", "VALUE:T3a" ], [ "540", "010", "VALUE:T3a" ], [ "100", "020", "VALUE:T1NOS" ], [ "110", "020", "VALUE:T1a" ], [ "116", "020", "VALUE:T1NOS" ], [ "120", "020", "VALUE:T1b" ], [ "126", "020", "VALUE:T1b" ], [ "130", "020", "VALUE:T1c" ], [ "140", "020", "VALUE:T1NOS" ], [ "160", "020", "VALUE:T3a" ], [ "400", "020", "VALUE:T1NOS" ], [ "510", "020", "VALUE:T2a" ], [ "520", "020", "VALUE:T2b" ], [ "523", "020", "VALUE:T2NOS" ], [ "530", "020", "VALUE:T1NOS" ], [ "540", "020", "VALUE:T1NOS" ], [ "100", "888", "ERROR:" ], [ "110", "888", "ERROR:" ], [ "116", "888", "ERROR:" ], [ "120", "888", "ERROR:" ], [ "126", "888", "ERROR:" ], [ "130", "888", "ERROR:" ], [ "140", "888", "ERROR:" ], [ "160", "888", "ERROR:" ], [ "400", "888", "ERROR:" ], [ "510", "888", "ERROR:" ], [ "520", "888", "ERROR:" ], [ "523", "888", "ERROR:" ], [ "530", "888", "ERROR:" ], [ "540", "888", "ERROR:" ], [ "100", "988", "VALUE:T1NOS" ], [ "110", "988", "VALUE:T1a" ], [ "116", "988", "VALUE:T1NOS" ], [ "120", "988", "VALUE:T1b" ], [ "126", "988", "VALUE:T1b" ], [ "130", "988", "VALUE:T1c" ], [ "140", "988", "VALUE:T1NOS" ], [ "160", "988", "VALUE:T3a" ], [ "400", "988", "VALUE:T1NOS" ], [ "510", "988", "VALUE:T2a" ], [ "520", "988", "VALUE:T2b" ], [ "523", "988", "VALUE:T2NOS" ], [ "530", "988", "VALUE:T1NOS" ], [ "540", "988", "VALUE:T1NOS" ], [ "100", "997-999", "VALUE:T1NOS" ], [ "110", "997-999", "VALUE:T1a" ], [ "116", "997-999", "VALUE:T1NOS" ], [ "120", "997-999", "VALUE:T1b" ], [ "126", "997-999", "VALUE:T1b" ], [ "130", "997-999", "VALUE:T1c" ], [ "140", "997-999", "VALUE:T1NOS" ], [ "160", "997-999", "VALUE:T3a" ], [ "400", "997-999", "VALUE:T1NOS" ], [ "510", "997-999", "VALUE:T2a" ], [ "520", "997-999", "VALUE:T2b" ], [ "523", "997-999", "VALUE:T2NOS" ], [ "530", "997-999", "VALUE:T1NOS" ], [ "540", "997-999", "VALUE:T1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkm.json deleted file mode 100644 index 12ea39ddb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkm.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_cytology_ajcc6_table_csv2_xkm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Cytology AJCC 6 Table CSv2", - "title" : "Extension Cytology AJCC 6 Table CSv2", - "subtitle" : "CS Version Input Original Equals 02XXXX or Year of Diagnosis is greater than 2009", - "notes" : "**Note**: For CS Version 2 cases (CS Version Input Original equals 02XXXX or Year of Diagnosis is greater than 2009) and for CS Extension codes 100-145, and 180-525 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Extension and peritoneal cytology status coded in CS Site-Specific Factor 2 as shown in this table.", - "last_modified" : "2015-05-27T16:19:14.588Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "VALUE:T1NOS" ], [ "110", "000", "VALUE:T1a" ], [ "120", "000", "VALUE:T1b" ], [ "123", "000", "VALUE:T2a" ], [ "125", "000", "VALUE:T1a" ], [ "130", "000", "VALUE:T1c" ], [ "133", "000", "VALUE:T2a" ], [ "135", "000", "VALUE:T1c" ], [ "140", "000", "VALUE:T1NOS" ], [ "143", "000", "VALUE:T2a" ], [ "145", "000", "VALUE:T2a" ], [ "180", "000", "VALUE:T1NOS" ], [ "400", "000", "VALUE:T1NOS" ], [ "500", "000", "VALUE:T2NOS" ], [ "510", "000", "VALUE:T2a" ], [ "520", "000", "VALUE:T2b" ], [ "525", "000", "VALUE:T2NOS" ], [ "100", "010", "VALUE:T3a" ], [ "110", "010", "VALUE:T3a" ], [ "120", "010", "VALUE:T3a" ], [ "123", "010", "VALUE:T3a" ], [ "125", "010", "VALUE:T3a" ], [ "130", "010", "VALUE:T3a" ], [ "133", "010", "VALUE:T3a" ], [ "135", "010", "VALUE:T3a" ], [ "140", "010", "VALUE:T3a" ], [ "143", "010", "VALUE:T3a" ], [ "145", "010", "VALUE:T3a" ], [ "180", "010", "VALUE:T3a" ], [ "400", "010", "VALUE:T3a" ], [ "500", "010", "VALUE:T3a" ], [ "510", "010", "VALUE:T3a" ], [ "520", "010", "VALUE:T3a" ], [ "525", "010", "VALUE:T3a" ], [ "100", "020", "VALUE:T1NOS" ], [ "110", "020", "VALUE:T1a" ], [ "120", "020", "VALUE:T1b" ], [ "123", "020", "VALUE:T2a" ], [ "125", "020", "VALUE:T1a" ], [ "130", "020", "VALUE:T1c" ], [ "133", "020", "VALUE:T2a" ], [ "135", "020", "VALUE:T1c" ], [ "140", "020", "VALUE:T1NOS" ], [ "143", "020", "VALUE:T2a" ], [ "145", "020", "VALUE:T2a" ], [ "180", "020", "VALUE:T1NOS" ], [ "400", "020", "VALUE:T1NOS" ], [ "500", "020", "VALUE:T2NOS" ], [ "510", "020", "VALUE:T2a" ], [ "520", "020", "VALUE:T2b" ], [ "525", "020", "VALUE:T2NOS" ], [ "100", "888", "ERROR:" ], [ "110", "888", "ERROR:" ], [ "120", "888", "ERROR:" ], [ "123", "888", "ERROR:" ], [ "125", "888", "ERROR:" ], [ "130", "888", "ERROR:" ], [ "133", "888", "ERROR:" ], [ "135", "888", "ERROR:" ], [ "140", "888", "ERROR:" ], [ "143", "888", "ERROR:" ], [ "145", "888", "ERROR:" ], [ "180", "888", "ERROR:" ], [ "400", "888", "ERROR:" ], [ "500", "888", "ERROR:" ], [ "510", "888", "ERROR:" ], [ "520", "888", "ERROR:" ], [ "525", "888", "ERROR:" ], [ "100", "988", "ERROR:" ], [ "110", "988", "ERROR:" ], [ "120", "988", "ERROR:" ], [ "123", "988", "ERROR:" ], [ "125", "988", "ERROR:" ], [ "130", "988", "ERROR:" ], [ "133", "988", "ERROR:" ], [ "135", "988", "ERROR:" ], [ "140", "988", "ERROR:" ], [ "143", "988", "ERROR:" ], [ "145", "988", "ERROR:" ], [ "180", "988", "ERROR:" ], [ "400", "988", "ERROR:" ], [ "500", "988", "ERROR:" ], [ "510", "988", "ERROR:" ], [ "520", "988", "ERROR:" ], [ "525", "988", "ERROR:" ], [ "100", "997-999", "VALUE:T1NOS" ], [ "110", "997-999", "VALUE:T1a" ], [ "120", "997-999", "VALUE:T1b" ], [ "123", "997-999", "VALUE:T2a" ], [ "125", "997-999", "VALUE:T1a" ], [ "130", "997-999", "VALUE:T1c" ], [ "133", "997-999", "VALUE:T2a" ], [ "135", "997-999", "VALUE:T1c" ], [ "140", "997-999", "VALUE:T1NOS" ], [ "143", "997-999", "VALUE:T2a" ], [ "145", "997-999", "VALUE:T2a" ], [ "180", "997-999", "VALUE:T1NOS" ], [ "400", "997-999", "VALUE:T1NOS" ], [ "500", "997-999", "VALUE:T2NOS" ], [ "510", "997-999", "VALUE:T2a" ], [ "520", "997-999", "VALUE:T2b" ], [ "525", "997-999", "VALUE:T2NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkq.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkq.json deleted file mode 100644 index d78fa83c8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_ajcc6_table_csv2_xkq.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_cytology_ajcc6_table_csv2_xkq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Cytology AJCC 6 Table CSv2", - "title" : "Extension Cytology AJCC 6 Table CSv2", - "notes" : "**Note**: For CS Version 2 cases (CS Version Input Original equals 02XXXX) or Year of Diagnosis greater than 2009) and for CS Extension codes 100-110, 116-120, 126-400, and 510-540 ONLY. The T category for AJCC 6 staging is assigned based on the value of CS Extension and peritoneal cytology status coded in CS Site Specific Factor 2 as shown in this table.", - "last_modified" : "2015-05-27T16:19:14.656Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "VALUE:T1NOS" ], [ "110", "000", "VALUE:T1a" ], [ "116", "000", "VALUE:T1NOS" ], [ "120", "000", "VALUE:T1b" ], [ "126", "000", "VALUE:T1b" ], [ "130", "000", "VALUE:T1c" ], [ "140", "000", "VALUE:T1NOS" ], [ "160", "000", "VALUE:T3a" ], [ "400", "000", "VALUE:T1NOS" ], [ "510", "000", "VALUE:T2a" ], [ "520", "000", "VALUE:T2b" ], [ "523", "000", "VALUE:T2NOS" ], [ "530", "000", "VALUE:T1NOS" ], [ "540", "000", "VALUE:T1NOS" ], [ "100", "010", "VALUE:T3a" ], [ "110", "010", "VALUE:T3a" ], [ "116", "010", "VALUE:T3a" ], [ "120", "010", "VALUE:T3a" ], [ "126", "010", "VALUE:T3a" ], [ "130", "010", "VALUE:T3a" ], [ "140", "010", "VALUE:T3a" ], [ "160", "010", "VALUE:T3a" ], [ "400", "010", "VALUE:T3a" ], [ "510", "010", "VALUE:T3a" ], [ "520", "010", "VALUE:T3a" ], [ "523", "010", "VALUE:T3a" ], [ "530", "010", "VALUE:T3a" ], [ "540", "010", "VALUE:T3a" ], [ "100", "020", "VALUE:T1NOS" ], [ "110", "020", "VALUE:T1a" ], [ "116", "020", "VALUE:T1NOS" ], [ "120", "020", "VALUE:T1b" ], [ "126", "020", "VALUE:T1b" ], [ "130", "020", "VALUE:T1c" ], [ "140", "020", "VALUE:T1NOS" ], [ "160", "020", "VALUE:T3a" ], [ "400", "020", "VALUE:T1NOS" ], [ "510", "020", "VALUE:T2a" ], [ "520", "020", "VALUE:T2b" ], [ "523", "020", "VALUE:T2NOS" ], [ "530", "020", "VALUE:T1NOS" ], [ "540", "020", "VALUE:T1NOS" ], [ "100", "888, 988", "ERROR:" ], [ "110", "888, 988", "ERROR:" ], [ "116", "888, 988", "ERROR:" ], [ "120", "888, 988", "ERROR:" ], [ "126", "888, 988", "ERROR:" ], [ "130", "888, 988", "ERROR:" ], [ "140", "888, 988", "ERROR:" ], [ "160", "888, 988", "ERROR:" ], [ "400", "888, 988", "ERROR:" ], [ "510", "888, 988", "ERROR:" ], [ "520", "888, 988", "ERROR:" ], [ "523", "888, 988", "ERROR:" ], [ "530", "888, 988", "ERROR:" ], [ "540", "888, 988", "ERROR:" ], [ "100", "997-999", "VALUE:T1NOS" ], [ "110", "997-999", "VALUE:T1a" ], [ "116", "997-999", "VALUE:T1NOS" ], [ "120", "997-999", "VALUE:T1b" ], [ "126", "997-999", "VALUE:T1b" ], [ "130", "997-999", "VALUE:T1c" ], [ "140", "997-999", "VALUE:T1NOS" ], [ "160", "997-999", "VALUE:T3a" ], [ "400", "997-999", "VALUE:T1NOS" ], [ "510", "997-999", "VALUE:T2a" ], [ "520", "997-999", "VALUE:T2b" ], [ "523", "997-999", "VALUE:T2NOS" ], [ "530", "997-999", "VALUE:T1NOS" ], [ "540", "997-999", "VALUE:T1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkl.json deleted file mode 100644 index 56f9c4eef..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkl.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_cytology_summary_stage_xkl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Cytology Summary Stage", - "title" : "Extension Cytology Summary Stage Table", - "notes" : "**Note**: For CS Extension codes 100-110, 115-120, 125-130, 135-140, and 160-400 ONLY. The SS77 and SS2000 stages are assigned based on the value of CS Extension and peritoneal cytology status coded in CS Site Specific Factor 2 (SSF2) as shown in this table.", - "last_modified" : "2015-05-27T16:19:14.710Z", - "definition" : [ { - "key" : "ssf2", - "name" : "CS SSF2", - "type" : "INPUT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "VALUE:L", "VALUE:L" ], [ "010", "VALUE:RE", "VALUE:RE" ], [ "020", "VALUE:L", "VALUE:L" ], [ "888", "ERROR:", "ERROR:" ], [ "988, 997-999", "VALUE:L", "VALUE:L" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkp.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkp.json deleted file mode 100644 index b37355833..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xkp.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_cytology_summary_stage_xkp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Cytology Summary Stage", - "title" : "Extension Cytology Summary Stage Table", - "notes" : "**Note**: For CS Extension codes 100-400, 530, and 540 ONLY. The SS77 and SS2000 stages are assigned based on the value of CS Extension and peritoneal cytology status coded in CS Site Specific Factor 2 as shown in this table.", - "last_modified" : "2015-05-27T16:19:14.758Z", - "definition" : [ { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "VALUE:L", "VALUE:L" ], [ "010", "VALUE:RE", "VALUE:RE" ], [ "020", "VALUE:L", "VALUE:L" ], [ "888", "ERROR:", "ERROR:" ], [ "988, 997-999", "VALUE:L", "VALUE:L" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xqa.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xqa.json deleted file mode 100644 index 057bb9912..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_cytology_summary_stage_xqa.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_cytology_summary_stage_xqa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Cytology Summary Stage", - "title" : "Extension Cytology Summary Stage Table", - "notes" : "**Note**: For CS Extension codes 100-120, 125-130, 135-140, 160-400, and 540 ONLY. The SS77 or SS2000 category (SS) is assigned based on the value of CS Extension and peritoneal cytology status as coded in Site Specific Factor 2 (SSF2).", - "last_modified" : "2015-05-27T16:19:14.817Z", - "definition" : [ { - "key" : "ssf2", - "name" : "SSF2 Code", - "type" : "INPUT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "VALUE:L", "VALUE:L" ], [ "010", "VALUE:RE", "VALUE:RE" ], [ "020", "VALUE:L", "VALUE:L" ], [ "888", "ERROR", "ERROR:" ], [ "988", "VALUE:L", "VALUE:L" ], [ "997-999", "VALUE:L", "VALUE:L" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cab.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cab.json deleted file mode 100644 index afbc7da2b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cab.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_eval_6_cab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Eval", - "title" : "CS Tumor Size/Ext Eval", - "notes" : "**Note 1**: THE CODES FOR THIS ITEM FOR PROSTATE DIFFER FROM THE CODES USED FOR MOST OTHER SITES.\n\n**Note 2**: Since extension detail is coded in both CS Extension - Clinical Extension and CS Site-Specific Factor 3 - Pathologic Extension, the registrar should assign the CS Tumor Size/Ext Eval based on which of these two fields reflects the best information for the case; thus, determining the T category. In general, clinical eval codes (0, 1, 5, and 9) indicate the information from CS Extension - Clinical Extension should be used while pathologic eval codes (3, 4, 6, and 8) indicate the information from CS Site-Specific Factor 3 - Pathologic Extension should be used. The unique eval code 2 indicates information from CS Extension - Clinical Extension should be used but assigns a pathologic (p) staging basis. However, if the assigned eval code is directed to information that is not useful for staging, the algorithm will override this choice and use information from the field most useful for staging. See CS Extension - Clinical Extension Note 8 and the Special Calculation tables for further details.\n\n* If prostatectomy was performed and the information is useful for staging (CS Site-Specific Factor 3 is coded 200-750), assign CS Tumor Size/Ext Eval code 4 or 6.\n* If autopsy is performed and the information is useful for staging (CS Site-Specific Factor 3 is coded 200-750), assign CS Tumor Size/Ext Eval code 3 or 8.\n* If prostatectomy or autopsy was performed but the information is not useful for staging (CS Site-Specific Factor 3 is coded 950-999), CS Tumor Size/Ext Eval should be assigned based on the information coded in CS Extension - Clinical Extension.\n* When CS Extension - Clinical Extension is coded 100-300, 410-750 (invasive) and CS Site-Specific Factor 3 - Pathologic Extension is coded 000 (noninvasive), assign CS Tumor Size/Ext Eval based on information coded in CS Extension - Clinical Extension.\n* When CS Extension - Clinical Extension is coded 000, 950, or 999 and CS Site-Specific Factor 3 - Pathologic Extension is coded 000 (noninvasive), assign CS Tumor Size/Ext Eval based on information coded in CS Site-Specific Factor 3 - Pathologic Extension.\n\n**Note 3**: AJCC allows pathologic staging to be assigned on the basis of some biopsies without resection. According to the AJCC manual, \"In general, total prostatoseminal-vesiculectomy, including regional node specimen, and histologic confirmation are required for pathologic T classification\". Simple prostatectomy is acceptable for pathologic T classification when disease is confined to the prostate and margins are negative. Under certain circumstances, pathologic T classification can be determined with other means. \"For example, (1) positive biopsy of the rectum permits a pT4 classification without prostatoseminal-vesiculectomy, and (2) a biopsy revealing carcinoma in extraprostatic soft tissue permits a pT3 classification, as does a biopsy revealing adenocarcinoma infiltrating the seminal vesicles.\" For these circumstances, assign CS Tumor Size/Ext Eval code 2 unless prostatectomy/autopsy information coded in CS Site-Specific Factor 3 - Pathologic Extension derives a higher T category.\n\n**Note 4**: According to AJCC, staging basis for transurethral resection of prostate (TURP) is clinical and is recorded as CS Tumor Size/Ext Eval \"1\" (c).\n\n**Note 5**: For CS Extension - Clinical Extension codes 100 -150 without prostatectomy assign CS Tumor Size/Ext Eval code 1 as these extension codes are only proven by TURP or needle core biopsy.\n\n**Note 6**: For CS Extension - Clinical Extension codes 200 - 240 without prostatectomy assign CS Tumor Size/Ext Eval code 0 as these extension codes are based on physical examination and/or imaging only and NOT biopsy.\n\n**Note 7**: If the extension (CS Extension - Clinical Extension) prior to neoadjuvant therapy is as extensive or more extensive than the extension at prostatectomy (CS Site-Specific Factor 3 - Pathologic Extension), assign CS Tumor Size/Ext Eval code 5.\n\n**Note 8**: If the extension (CS Extension - Clinical Extension) prior to neoadjuvant therapy is less extensive than the extension at prostatectomy (CS Site-Specific Factor 3 - Pathologic Extension), assign CS Tumor Size/Ext Eval code 6.", - "last_modified" : "2015-05-27T16:19:14.859Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging: \n\nNo prostatectomy performed or prostatectomy performed but information not useful for staging (see Note 2). Evaluation based on physical examination including digital rectal examination (DRE), imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c" ], [ "1", "Does not meet criteria for AJCC pathologic staging: \n\nNo prostatectomy performed or prostatectomy performed but information not useful for staging (see Note 2). Evaluation based on endoscopic examination, diagnostic biopsy, including needle core biopsy or fine needle aspiration biopsy, transurethral resection (TURP) or other invasive techniques including surgical observation without biopsy. No autopsy evidence used.", "VALUE:c" ], [ "2", "Meets criteria for AJCC pathologic staging: \n\nNo prostatectomy performed, but positive biopsy of extraprostatic tissue allows assignment to CS Extension codes 410-700 (see Note 3). \n\nOR\n\nProstatectomy performed but positive biopsy of extraprostatic tissue derives higher T category (T3/T4 based on CS Extension codes 410-700) than the T category derived from prostatectomy (see Note 3).\n\nNot to be used with CS Extension codes 000-300.", "VALUE:p" ], [ "3", "Meets criteria for AJCC pathologic staging: \n\nNo prostatectomy done, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p" ], [ "4", "Meets criteria for AJCC pathologic staging:\n\nProstatectomy performed WITHOUT pre-surgical systemic treatment or radiation \n\nOR \n\nProstatectomy performed, unknown if pre-surgical systemic treatment or radiation performed AND evaluation based on evidence acquired before treatment, supplemented or modified by the additional evidence acquired during and from surgery, particularly from pathologic examination of the resected specimen.", "VALUE:p" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nProstatectomy performed AFTER neoadjuvant therapy and tumor size/extension based on clinical evidence (CS Extension - Clinical Extension), unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\nProstatectomy performed AFTER neoadjuvant therapy and tumor size/extension based on pathologic evidence (CS Site-Specific Factor 3 - Pathologic Extension) because pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp" ], [ "8", "Meets criteria for autopsy (a) staging:\n\nEvidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy).", "VALUE:a" ], [ "9", "Unknown if prostatectomy done\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cac.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cac.json deleted file mode 100644 index 556fb33fc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_6_cac.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_eval_6_cac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Eval", - "title" : "CS Tumor Size/Ext Eval", - "notes" : "**Note**: This item reflects the validity of the classification of CS Tumor Size and CS Extension based on the diagnostic methods employed.", - "last_modified" : "2015-05-27T16:19:14.916Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "No surgical resection done. Evaluation based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c" ], [ "1", "No surgical resection done. Evaluation based on endoscopic examination, diagnostic biopsy, including fine needle aspiration biopsy, or other invasive techniques including surgical observation without biopsy. No autopsy evidence used.\n\nDoes not meet criteria for AJCC pathologic staging.", "VALUE:c" ], [ "2", "No surgical resection done, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p" ], [ "3", "Surgical resection performed WITHOUT pre-surgical systemic treatment or radiation OR surgical resection performed, unknown if pre-surgical systemic treatment or radiation performed. Evidence acquired before treatment, supplemented or modified by the additional evidence acquired during and from surgery, particularly from pathologic examination of the resected specimen.\n \nMeets criteria for AJCC pathologic staging.", "VALUE:p" ], [ "5", "Surgical resection performed WITH pre-surgical systemic treatment or radiation, BUT tumor size/extension based on clinical evidence.", "VALUE:c" ], [ "6", "Surgical resection performed WITH pre-surgical systemic treatment or radiation; tumor size and/or extension based on pathologic evidence.", "VALUE:yp" ], [ "8", "Evidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy).", "VALUE:a" ], [ "9", "Unknown if surgical resection done\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cab.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cab.json deleted file mode 100644 index 13ecbfb47..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cab.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_eval_cab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Eval", - "title" : "CS Tumor Size/Ext Eval", - "notes" : "**Note 1**: THE CODES FOR THIS ITEM FOR PROSTATE DIFFER FROM THE CODES USED FOR MOST OTHER SITES.\n\n**Note 2**: Since extension detail is coded in both CS Extension - Clinical Extension and CS Site-Specific Factor 3 - Pathologic Extension, the registrar should assign the CS Tumor Size/Ext Eval based on which of these two fields reflects the best information for the case; thus, determining the T category. In general, clinical eval codes (0, 1, 5, and 9) indicate the information from CS Extension - Clinical Extension should be used while pathologic eval codes (3, 4, 6, and 8) indicate the information from CS Site-Specific Factor 3 - Pathologic Extension should be used. The unique eval code 2 indicates information from CS Extension - Clinical Extension should be used but assigns a pathologic (p) staging basis. However, if the assigned eval code is directed to information that is not useful for staging, the algorithm will override this choice and use information from the field most useful for staging. See CS Extension - Clinical Extension Note 8 and the Special Calculation tables for further details.\n\n* If prostatectomy was performed and the information is useful for staging (CS Site-Specific Factor 3 is coded 200-750), assign CS Tumor Size/Ext Eval code 4 or 6.\n* If autopsy is performed and the information is useful for staging (CS Site-Specific Factor 3 is coded 200-750), assign CS Tumor Size/Ext Eval code 3 or 8.\n* If prostatectomy or autopsy was performed but the information is not useful for staging (CS Site-Specific Factor 3 is coded 950-999), CS Tumor Size/Ext Eval should be assigned based on the information coded in CS Extension - Clinical Extension.\n* When CS Extension - Clinical Extension is coded 100-300, 410-750 (invasive) and CS Site-Specific Factor 3 - Pathologic Extension is coded 000 (noninvasive), assign CS Tumor Size/Ext Eval based on information coded in CS Extension - Clinical Extension.\n* When CS Extension - Clinical Extension is coded 000, 950, or 999 and CS Site-Specific Factor 3 - Pathologic Extension is coded 000 (noninvasive), assign CS Tumor Size/Ext Eval based on information coded in CS Site-Specific Factor 3 - Pathologic Extension.\n\n**Note 3**: AJCC allows pathologic staging to be assigned on the basis of some biopsies without resection. According to the AJCC manual, \"In general, total prostatoseminal-vesiculectomy, including regional node specimen, and histologic confirmation are required for pathologic T classification\". Simple prostatectomy is acceptable for pathologic T classification when disease is confined to the prostate and margins are negative. Under certain circumstances, pathologic T classification can be determined with other means. \"For example, (1) positive biopsy of the rectum permits a pT4 classification without prostatoseminal-vesiculectomy, and (2) a biopsy revealing carcinoma in extraprostatic soft tissue permits a pT3 classification, as does a biopsy revealing adenocarcinoma infiltrating the seminal vesicles.\" For these circumstances, assign CS Tumor Size/Ext Eval code 2 unless prostatectomy/autopsy information coded in CS Site-Specific Factor 3 - Pathologic Extension derives a higher T category.\n\n**Note 4**: According to AJCC, staging basis for transurethral resection of prostate (TURP) is clinical and is recorded as CS Tumor Size/Ext Eval \"1\" (c).\n\n**Note 5**: For CS Extension - Clinical Extension codes 100 -150 without prostatectomy assign CS Tumor Size/Ext Eval code 1 as these extension codes are only proven by TURP or needle core biopsy.\n\n**Note 6**: For CS Extension - Clinical Extension codes 200 - 240 without prostatectomy assign CS Tumor Size/Ext Eval code 0 as these extension codes are based on physical examination and/or imaging only and NOT biopsy.\n\n**Note 7**: If the extension (CS Extension - Clinical Extension) prior to neoadjuvant therapy is as extensive or more extensive than the extension at prostatectomy (CS Site-Specific Factor 3 - Pathologic Extension), assign CS Tumor Size/Ext Eval code 5.\n\n**Note 8**: If the extension (CS Extension - Clinical Extension) prior to neoadjuvant therapy is less extensive than the extension at prostatectomy (CS Site-Specific Factor 3 - Pathologic Extension), assign CS Tumor Size/Ext Eval code 6.", - "last_modified" : "2015-05-27T16:19:14.970Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging: \n\nNo prostatectomy performed or prostatectomy performed but information not useful for staging (see Note 2). Evaluation based on physical examination including digital rectal examination (DRE), imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c" ], [ "1", "Does not meet criteria for AJCC pathologic staging: \n\nNo prostatectomy performed or prostatectomy performed but information not useful for staging (see Note 2). Evaluation based on endoscopic examination, diagnostic biopsy, including needle core biopsy or fine needle aspiration biopsy, transurethral resection (TURP) or other invasive techniques including surgical observation without biopsy. No autopsy evidence used.", "VALUE:c" ], [ "2", "Meets criteria for AJCC pathologic staging: \n\nNo prostatectomy performed, but positive biopsy of extraprostatic tissue allows assignment to CS Extension codes 410-700 (see Note 3). \n\nOR\n\nProstatectomy performed but positive biopsy of extraprostatic tissue derives higher T category (T3/T4 based on CS Extension codes 410-700) than the T category derived from prostatectomy (see Note 3).\n\nNot to be used with CS Extension codes 000-300.", "VALUE:p" ], [ "3", "Meets criteria for AJCC pathologic staging: \n\nNo prostatectomy done, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p" ], [ "4", "Meets criteria for AJCC pathologic staging:\n\nProstatectomy performed WITHOUT pre-surgical systemic treatment or radiation \n\nOR \n\nProstatectomy performed, unknown if pre-surgical systemic treatment or radiation performed AND evaluation based on evidence acquired before treatment, supplemented or modified by the additional evidence acquired during and from surgery, particularly from pathologic examination of the resected specimen.", "VALUE:p" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nProstatectomy performed AFTER neoadjuvant therapy and tumor size/extension based on clinical evidence (CS Extension - Clinical Extension), unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\nProstatectomy performed AFTER neoadjuvant therapy and tumor size/extension based on pathologic evidence (CS Site-Specific Factor 3 - Pathologic Extension) because pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp" ], [ "8", "Meets criteria for autopsy (a) staging:\n\nEvidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy).", "VALUE:a" ], [ "9", "Unknown if prostatectomy done\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cac.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cac.json deleted file mode 100644 index 5ec8ab853..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cac.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_eval_cac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Eval", - "title" : "CS Tumor Size/Ext Eval", - "notes" : "**Note**: This item reflects the validity of the classification of CS Tumor Size and CS Extension based on the diagnostic methods employed.", - "last_modified" : "2015-05-27T16:19:15.022Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "No surgical resection done. Evaluation based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c" ], [ "1", "No surgical resection done. Evaluation based on endoscopic examination, diagnostic biopsy, including fine needle aspiration biopsy, or other invasive techniques including surgical observation without biopsy. No autopsy evidence used.\n\nDoes not meet criteria for AJCC pathologic staging.", "VALUE:c" ], [ "2", "No surgical resection done, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p" ], [ "3", "Surgical resection performed WITHOUT pre-surgical systemic treatment or radiation OR surgical resection performed, unknown if pre-surgical systemic treatment or radiation performed. Evidence acquired before treatment, supplemented or modified by the additional evidence acquired during and from surgery, particularly from pathologic examination of the resected specimen.\n \nMeets criteria for AJCC pathologic staging.", "VALUE:p" ], [ "5", "Surgical resection performed WITH pre-surgical systemic treatment or radiation, BUT tumor size/extension based on clinical evidence.", "VALUE:c" ], [ "6", "Surgical resection performed WITH pre-surgical systemic treatment or radiation; tumor size and/or extension based on pathologic evidence.", "VALUE:yp" ], [ "8", "Evidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy).", "VALUE:a" ], [ "9", "Unknown if surgical resection done\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cae.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cae.json deleted file mode 100644 index 8db6727f5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cae.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "extension_eval_cae", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Eval", - "title" : "CS Tumor Size/Ext Eval", - "last_modified" : "2015-05-27T16:19:15.072Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging:\n\nEvaluation based on physical examination, imaging examination, or other non-invasive clinical evidence. No surgical resection done.", "VALUE:c", "VALUE:c" ], [ "1", "Does not meet criteria for AJCC pathologic staging:\n\nEvaluation based on endoscopic examination, diagnostic biopsy, including fine needle aspiration biopsy, or other invasive techniques, including surgical observation without biopsy. No surgical resection done.", "VALUE:c", "VALUE:p" ], [ "2", "Meets criteria for AJCC pathologic staging:\n\nEvidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy). No surgical resection done.", "VALUE:p", "VALUE:p" ], [ "3", "Either meets criteria for AJCC pathologic staging:\n\nA. Surgical resection performed WITHOUT pre-surgical systemic treatment or radiation \nOR surgical resection performed, unknown if pre-surgical systemic treatment or radiation performed\nAND Evaluation based on evidence acquired before treatment, supplemented or modified by the additional evidence acquired during and from surgery, particularly from pathologic examination of the resected specimen.\n\nB. No surgical resection done. Evaluation based on positive biopsy of highest T classification.", "VALUE:p", "VALUE:p" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy and tumor size/extension based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", "VALUE:c", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy AND tumor size/extension based on pathologic evidence, because pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp", "VALUE:yp" ], [ "8", "Meets criteria for autopsy (a) staging:\n\nEvidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy)", "VALUE:a", "VALUE:a" ], [ "9", "Unknown if surgical resection done\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_caf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_caf.json deleted file mode 100644 index b70d4a285..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_caf.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_eval_caf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Eval", - "title" : "CS Tumor Size/Ext Eval", - "notes" : "**Note**: According to AJCC, \"The use of the term pathologic staging is reserved for patients who undergo staging laparotomy with an explicit intent to assess the presence of abdominal disease or to define histologic microscopic disease extent in the abdomen. Staging laparotomy and pathological staging have been essentially abandoned as useful procedures.\" (7th ed., page 610) Therefore, Collaborative Staging uses a modified evaluation scheme for lymphomas, and it applies to the CS Tumor Size/Ext-Eval field only. The other Eval fields are coded as \"not applicable\" for this schema.", - "last_modified" : "2015-05-27T16:19:15.118Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "tdescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging:\n\nNo staging laparotomy done. No autopsy evidence used", "VALUE:c" ], [ "2", "Meets criteria for AJCC pathologic staging:\n\nNo surgical resection done, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy)", "VALUE:p" ], [ "3", "Meets criteria for AJCC pathologic staging:\n\nStaging laparotomy done", "VALUE:p" ], [ "8", "Meets criteria for autopsy (a) staging:\n\nEvidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy).", "VALUE:a" ], [ "9", "Unknown if staging laparotomy done\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cag.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cag.json deleted file mode 100644 index d5b659ef1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cag.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_eval_cag", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Eval", - "title" : "CS Tumor Size/Ext Eval", - "notes" : "**Note**: According to AJCC, staging basis for transurethral resection of bladder tumor (TURBT) is clinical and is recorded as CS Tumor Size/Ext Eval \"1\" (c).", - "last_modified" : "2015-05-27T16:19:15.161Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "tdescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging: \n\n\nNo surgical resection done. Evaluation based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c" ], [ "1", "Does not meet criteria for AJCC pathologic staging:\n\n\nNo surgical resection done. Evaluation based on endoscopic examination, diagnostic biopsy, including fine needle aspiration biopsy, or other invasive techniques including surgical observation without biopsy. No autopsy evidence used.", "VALUE:c" ], [ "2", "Meets criteria for AJCC pathologic staging:\n\n\nNo surgical resection done, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p" ], [ "3", "Either criteria meets AJCC pathologic staging:\n\n\nSurgical resection performed WITHOUT pre-surgical systemic treatment or radiation \n\nOR surgical resection performed, unknown if pre-surgical systemic treatment or radiation performed \nAND evaluation based on evidence acquired before treatment, supplemented or modified by the additional evidence acquired during and from surgery, particularly from pathologic examination of the resected specimen.\n\nNo surgical resection done. Evaluation based on positive biopsy of highest T classification.", "VALUE:p" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\n\nSurgical resection performed AFTER neoadjuvant therapy and tumor size/extension based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\n\nSurgical resection performed AFTER neoadjuvant therapy AND tumor size/extension based on pathologic evidence, because pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp" ], [ "8", "Meets criteria for autopsy (a) staging:\n\n\nEvidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy).", "VALUE:a" ], [ "9", "Unknown if surgical resection done\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_caj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_caj.json deleted file mode 100644 index 917a1426c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_caj.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_eval_caj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Eval", - "title" : "CS Tumor Size/Ext Eval", - "notes" : "**Note**: The staging basis 6 for this schema is blank because AJCC stage is not applicable in the 6th Edition.", - "last_modified" : "2015-05-27T16:19:15.213Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "tdescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "staging_basis_6", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging:\n\nNo surgical resection done. Evaluation based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c", "VALUE:" ], [ "1", "Does not meet criteria for AJCC pathologic staging:\n\nNo surgical resection done. Evaluation based on endoscopic examination, diagnostic biopsy, including fine needle aspiration biopsy, or other invasive techniques including surgical observation without biopsy. No autopsy evidence used.", "VALUE:c", "VALUE:" ], [ "2", "Meets criteria for AJCC pathologic staging:\n\nNo surgical resection done, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p", "VALUE:" ], [ "3", "Either criteria meets AJCC pathologic staging: \n\n \nSurgical resection performed WITHOUT pre-surgical systemic treatment or radiation \n\nOR surgical resection performed, unknown if pre-surgical systemic treatment or radiation performed AND evaluation based on evidence acquired before treatment, supplemented or modified by the additional evidence acquired during and from surgery, particularly from pathologic examination of the resected specimen.\n\n \n\nNo surgical resection done. Evaluation based on positive biopsy of highest T classification.", "VALUE:p", "VALUE:" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy and tumor size/extension based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", "VALUE:c", "VALUE:" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy AND tumor size/extension based on pathologic evidence because pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp", "VALUE:" ], [ "8", "Meets criteria for autopsy (a) staging:\n\nEvidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy).", "VALUE:a", "VALUE:" ], [ "9", "Not applicable for this site (Version 1)\nUnknown if surgical resection done\nNot assessed; cannot be accessed\nUnknown if accessed\nNot documented in patient record", "VALUE:c", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cak.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cak.json deleted file mode 100644 index bafa72a38..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cak.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_eval_cak", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Eval", - "title" : "CS Tumor Size/Ext Eval", - "notes" : "**Note**: CS Tumor Size/Ext Eval for ocular adnexal lymphomas is based on the standard table for AJCC 7th Edition staging. Code 3 is appropriate ONLY for 2004-2009 cases where a staging laparotomy is performed. The AJCC 6th Edition noted: \"Staging laparotomy and pathologic staging have been essentially abandoned as useful procedures.\"", - "last_modified" : "2015-05-27T16:19:15.259Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "tdescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "staging_basis_6", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging:\n\nNo surgical resection done. Evaluation based on physical examination, imaging examination, other non-invasive clinical evidence, endoscopic examination, fine-needle aspiration, or other invasive techniques including surgical observation without biopsy. No autopsy evidence used", "VALUE:c", "VALUE:c" ], [ "1", "Meets criteria for AJCC pathologic staging:\n\nNo surgical resection done. Evaluation based on diagnostic biopsy excluding fine-needle aspiration. No autopsy evidence used.", "VALUE:p", "VALUE:c" ], [ "2", "Meets criteria for AJCC pathologic staging:\n\nNo surgical resection done, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p", "VALUE:c" ], [ "3", "Staging laparotomy done\n\nNote: This code is retained for compatibility with lymphoma data collected under AJCC 6 definitions. The code is available for 2004-2009 cases where a staging laparotomy is performed. See code 4 for pathologic criteria for cases diagnosed in 2010 and later.", "VALUE:p", "VALUE:p" ], [ "4", "Meets criteria for AJCC pathologic staging:\n\nSurgical resection performed WITHOUT pre-surgical systemic treatment or radiation, \nOR surgical resection performed, unknown if pre-surgical systemic treatment or radiation performed,\nAND evaluation based on evidence acquired before treatment, supplemented or modified by the additional evidence acquired during and from surgery, particularly from pathologic examination of the resected specimen.\n\nNo surgical resection done. Evaluation based on positive biopsy of highest T classification.", "VALUE:p", "VALUE:c" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy and tumor size/extension based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant treatment) is more extensive (see code 6).", "VALUE:c", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy AND tumor size/extension based on pathologic evidence, because pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp", "VALUE:c" ], [ "8", "Meets criteria for AJCC autopsy staging:\n\nEvidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy).", "VALUE:a", "VALUE:a" ], [ "9", "Unknown if surgical resection done\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cal.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cal.json deleted file mode 100644 index ba5c5d47b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cal.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_eval_cal", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Eval", - "title" : "CS Tumor Size/Ext Eval", - "notes" : "**Note**: The staging basis AJCC 7 for this schema is blank because AJCC stage is not applicable in the 7th Edition.", - "last_modified" : "2015-05-27T16:19:15.307Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "tdescriptor", - "name" : "Staging Basis AJCC 7", - "type" : "ENDPOINT" - }, { - "key" : "staging_basis_ajcc_6", - "name" : "Staging Basis AJCC 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging: \n \n\nNo surgical resection done. Evaluation based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:", "VALUE:c" ], [ "1", "Does not meet criteria for AJCC pathologic staging:\n\nNo surgical resection done. Evaluation based on endoscopic examination, diagnostic biopsy, including fine needle aspiration biopsy, or other invasive techniques, including surgical observation without biopsy. No autopsy evidence used.", "VALUE:", "VALUE:c" ], [ "2", "Meets criteria for AJCC pathologic staging:\n\nNo surgical resection done, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy)", "VALUE:", "VALUE:p" ], [ "3", "Either criteria meets AJCC pathologic staging:\n\nSurgical resection performed WITHOUT pre-surgical systemic treatment or radiation \nOR surgical resection performed, unknown if pre-surgical systemic treatment or radiation performed\nAND Evaluation based on evidence acquired before treatment, supplemented or modified by the additional evidence acquired during and from surgery, particularly from pathologic examination of the resected specimen.\n\nNo surgical resection done. Evaluation based on positive biopsy of highest T classification.", "VALUE:", "VALUE:p" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy and tumor size/extension based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", "VALUE:", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy AND tumor size/extension based on pathologic evidence, because pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:", "VALUE:yp" ], [ "8", "Meets criteria for autopsy (a) staging:\n\nEvidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy)", "VALUE:", "VALUE:a" ], [ "9", "Unknown if surgical resection done\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cam.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cam.json deleted file mode 100644 index c1457d9d4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cam.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_eval_cam", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Eval", - "title" : "CS Tumor Size/Ext Eval", - "notes" : "**Note**: The staging basis AJCC 7 for this schema is blank because AJCC stage is not applicable for this site and histology. Data was collected in this item in CSv1 and is being retained.", - "last_modified" : "2015-05-27T16:19:15.353Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "tdescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "staging_basis_6", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "OBSOLETE DATA RETAINED V0200\n\nNo surgical resection done. Evaluation based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:", "VALUE:c" ], [ "1", "OBSOLETE DATA RETAINED V0200\n\nNo surgical resection done. Evaluation based on endoscopic examination, diagnostic biopsy, including fine needle aspiration biopsy, or other invasive techniques including surgical observation without biopsy. No autopsy evidence used. \nDoes not meet criteria for AJCC pathologic T staging.", "VALUE:", "VALUE:c" ], [ "2", "OBSOLETE DATA RETAINED V0200\n\nNo surgical resection done, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:", "VALUE:p" ], [ "3", "OBSOLETE DATA RETAINED V0200\n\nSurgical resection performed WITHOUT pre-surgical systemic treatment or radiation OR surgical resection performed, unknown if pre-surgical systemic treatment or radiation performed. Evidence acquired before treatment, supplemented or modified by the additional evidence acquired during and from surgery, particularly from pathologic examination of the resected specimen. \nMeets criteria for AJCC pathologic T staging.", "VALUE:", "VALUE:p" ], [ "5", "OBSOLETE DATA RETAINED V0200\n\nSurgical resection performed WITH pre-surgical systemic treatment or radiation, BUT tumor size/extension based on clinical evidence.", "VALUE:", "VALUE:c" ], [ "6", "OBSOLETE DATA RETAINED V0200\n\nSurgical resection performed WITH pre-surgical systemic treatment or radiation; tumor size and/or extension based on pathologic evidence.", "VALUE:", "VALUE:yp" ], [ "8", "OBSOLETE DATA RETAINED V0200\n\nEvidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy).", "VALUE:", "VALUE:a" ], [ "9", "Unknown if surgical resection done V01XX\nNot assessed; cannot be assessed V01XX\nUnknown if assessed V01XX\n\nNot applicable for this schema V0200", "VALUE:", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cna.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cna.json deleted file mode 100644 index 66d36671b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cna.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_eval_cna", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Eval", - "title" : "CS Tumor Size/Ext Eval", - "notes" : "**Note**: The staging basis for this schema is blank because AJCC stage is not applicable.", - "last_modified" : "2015-05-27T16:19:15.399Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "tdescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "9", "Not applicable for this schema", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpa.json deleted file mode 100644 index 1122dd95a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpa.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "extension_eval_cpa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Eval", - "title" : "CS Tumor Size/Ext Eval", - "last_modified" : "2015-05-27T16:19:15.446Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "tdescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging: \n \n\nNo surgical resection done. Evaluation based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c" ], [ "1", "Does not meet criteria for AJCC pathologic staging:\n\nNo surgical resection done. Evaluation based on endoscopic examination, diagnostic biopsy, including fine needle aspiration biopsy, or other invasive techniques, including surgical observation without biopsy. No autopsy evidence used.", "VALUE:c" ], [ "2", "Meets criteria for AJCC pathologic staging:\n\nNo surgical resection done, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy)", "VALUE:p" ], [ "3", "Either criteria meets AJCC pathologic staging:\n\nSurgical resection performed WITHOUT pre-surgical systemic treatment or radiation \nOR surgical resection performed, unknown if pre-surgical systemic treatment or radiation performed\nAND Evaluation based on evidence acquired before treatment, supplemented or modified by the additional evidence acquired during and from surgery, particularly from pathologic examination of the resected specimen.\n\nNo surgical resection done. Evaluation based on positive biopsy of highest T classification.", "VALUE:p" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy and tumor size/extension based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy AND tumor size/extension based on pathologic evidence, because pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp" ], [ "8", "Meets criteria for autopsy (a) staging:\n\nEvidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy)", "VALUE:a" ], [ "9", "Unknown if surgical resection done\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpb.json deleted file mode 100644 index 442ed1b89..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpb.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "extension_eval_cpb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Eval", - "title" : "CS Tumor Size/Ext Eval", - "last_modified" : "2015-05-27T16:19:15.494Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "tdescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "staging_basis_6", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging: \n \n\nNo surgical resection done. Evaluation based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c", "VALUE:" ], [ "1", "Does not meet criteria for AJCC pathologic staging:\n\nNo surgical resection done. Evaluation based on endoscopic examination, diagnostic biopsy, including fine needle aspiration biopsy, or other invasive techniques, including surgical observation without biopsy. No autopsy evidence used.", "VALUE:c", "VALUE:" ], [ "2", "Meets criteria for AJCC pathologic staging:\n\nNo surgical resection done, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy)", "VALUE:p", "VALUE:" ], [ "3", "Either criteria meets AJCC pathologic staging:\n\nSurgical resection performed WITHOUT pre-surgical systemic treatment or radiation \nOR surgical resection performed, unknown if pre-surgical systemic treatment or radiation performed\nAND Evaluation based on evidence acquired before treatment, supplemented or modified by the additional evidence acquired during and from surgery, particularly from pathologic examination of the resected specimen.\n\nNo surgical resection done. Evaluation based on positive biopsy of highest T classification.", "VALUE:p", "VALUE:" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy and tumor size/extension based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", "VALUE:c", "VALUE:" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy AND tumor size/extension based on pathologic evidence, because pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp", "VALUE:" ], [ "8", "Meets criteria for autopsy (a) staging:\n\nEvidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy)", "VALUE:a", "VALUE:" ], [ "9", "Unknown if surgical resection done\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpc.json deleted file mode 100644 index 01442d3a5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_eval_cpc.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "extension_eval_cpc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Eval", - "title" : "CS Tumor Size/Ext Eval", - "last_modified" : "2015-05-27T16:19:15.541Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "tdescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging: \n\nNo surgical resection done. Evaluation based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c" ], [ "1", "Meets criteria for AJCC pathologic staging:\n\nNo surgical resection done. Evaluation based on endoscopic examination, diagnostic biopsy, including fine needle aspiration biopsy, or other invasive techniques including surgical observation without biopsy. No autopsy evidence used.", "VALUE:p" ], [ "2", "Meets criteria for AJCC pathologic staging:\n\nNo surgical resection done, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy)", "VALUE:p" ], [ "3", "Meets criteria for AJCC pathologic staging:\n\nSurgical resection performed WITHOUT pre-surgical systemic treatment or radiation OR surgical resection performed, unknown if pre-surgical systemic treatment or radiation performed. Evidence acquired before treatment, supplemented or modified by the additional evidence acquired during and from surgery, particularly from pathologic examination of the resected specimen.", "VALUE:p" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy and tumor size/extension based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy AND tumor size/extension based on pathologic evidence, because pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp" ], [ "8", "Meets criteria for autopsy (a) staging:\n\nEvidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy)", "VALUE:a" ], [ "9", "Unknown if surgical resection done\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_grade_lvi_xdm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_grade_lvi_xdm.json deleted file mode 100644 index 079871a7d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_grade_lvi_xdm.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_grade_lvi_xdm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Grade LVI", - "title" : "Extension Grade LVI Table", - "notes" : "**Note**: For CS Extension codes 100, 300, 310, 320 and 500 ONLY, the AJCC 7th Edition T category is assigned based on the value of Grade and Lymph-vascular Invasion as shown in this table.", - "last_modified" : "2015-05-27T16:19:15.587Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "T Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "1-2", "0", "VALUE:T1a" ], [ "100", "1-2", "1", "VALUE:T1b" ], [ "100", "1-2", "8-9", "VALUE:T1NOS" ], [ "100", "3-4", "0", "VALUE:T1b" ], [ "100", "3-4", "1", "VALUE:T1b" ], [ "100", "3-4", "8-9", "VALUE:T1b" ], [ "100", "9", "0", "VALUE:T1NOS" ], [ "100", "9", "1", "VALUE:T1b" ], [ "100", "9", "8-9", "VALUE:T1NOS" ], [ "300", "1-2", "0", "VALUE:T1a" ], [ "300", "1-2", "1", "VALUE:T1b" ], [ "300", "1-2", "8-9", "VALUE:T1NOS" ], [ "300", "3-4", "0", "VALUE:T1b" ], [ "300", "3-4", "1", "VALUE:T1b" ], [ "300", "3-4", "8-9", "VALUE:T1b" ], [ "300", "9", "0", "VALUE:T1NOS" ], [ "300", "9", "1", "VALUE:T1b" ], [ "300", "9", "8-9", "VALUE:T1NOS" ], [ "305", "1-2", "0", "VALUE:T1a" ], [ "305", "1-2", "1", "VALUE:T1b" ], [ "305", "1-2", "8-9", "VALUE:T1NOS" ], [ "305", "3-4", "0", "VALUE:T1b" ], [ "305", "3-4", "1", "VALUE:T1b" ], [ "305", "3-4", "8-9", "VALUE:T1b" ], [ "305", "9", "0", "VALUE:T1NOS" ], [ "305", "9", "1", "VALUE:T1b" ], [ "305", "9", "8-9", "VALUE:T1NOS" ], [ "310", "1-2", "0", "VALUE:T1a" ], [ "310", "1-2", "1", "VALUE:T1b" ], [ "310", "1-2", "8-9", "VALUE:T1a" ], [ "310", "3-4", "0", "VALUE:T1b" ], [ "310", "3-4", "1", "VALUE:T1b" ], [ "310", "3-4", "8-9", "VALUE:T1b" ], [ "310", "9", "0", "VALUE:T1a" ], [ "310", "9", "1", "VALUE:T1b" ], [ "310", "9", "8-9", "VALUE:T1a" ], [ "320", "1-2", "0", "VALUE:T1a" ], [ "320", "1-2", "1", "VALUE:T1b" ], [ "320", "1-2", "8-9", "VALUE:T1b" ], [ "320", "3-4", "0", "VALUE:T1b" ], [ "320", "3-4", "1", "VALUE:T1b" ], [ "320", "3-4", "8-9", "VALUE:T1b" ], [ "320", "9", "0", "VALUE:T1b" ], [ "320", "9", "1", "VALUE:T1b" ], [ "320", "9", "8-9", "VALUE:T1b" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ajcc6_xeh.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ajcc6_xeh.json deleted file mode 100644 index 0e91cabd0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ajcc6_xeh.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_mets_ajcc6_xeh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Mets AJCC6", - "title" : "Extension Mets AJCC 6 Table", - "notes" : "**Note**: For CS Mets at DX codes 00 and 99, the M category for AJCC 6 staging is determined by the value of CS Extension as shown in this table.", - "last_modified" : "2015-05-27T16:19:15.637Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000,050,100,110,120,130,140,150,160,170,200,300,400", "00", "VALUE:M0" ], [ "410,420", "00", "ERROR:" ], [ "450,458,460,470,500", "00", "VALUE:M0" ], [ "510-514", "00", "VALUE:M1" ], [ "550,560,565,570,600,650,660,665", "00", "VALUE:M0" ], [ "670,675,680,690", "00", "ERROR:" ], [ "700,750,800", "00", "VALUE:M0" ], [ "810", "00", "VALUE:M1" ], [ "850,900,950", "00", "VALUE:M0" ], [ "999", "00", "VALUE:MX" ], [ "000,050,100,110,120,130,140,150,160,170,200,300,400", "99", "VALUE:MX" ], [ "410,420", "99", "ERROR:" ], [ "450,458,460,470,500", "99", "VALUE:MX" ], [ "510-514", "99", "VALUE:M1" ], [ "550,560,565,570,600,650,660,665", "99", "VALUE:MX" ], [ "670,675,680,690", "99", "ERROR:" ], [ "700,750,800", "99", "VALUE:MX" ], [ "810", "99", "VALUE:M1" ], [ "850,900,950", "99", "VALUE:MX" ], [ "999", "99", "VALUE:MX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_m.json deleted file mode 100644 index 0a9f539be..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_m.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_mets_ssf1_ajcc6_xjo_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Mets SSF1 AJCC6 - M", - "title" : "Extension Mets SSF1 AJCC 6 Table - M", - "subtitle" : "CS SSF1 888 with CS Extension and CS Mets at DX", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 888, OBSOLETE not applicable code, the T and M categories for AJCC 6 staging result in ERROR as shown in this table.", - "last_modified" : "2015-05-27T16:19:15.894Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000-999", "00-99", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_t.json deleted file mode 100644 index 148971468..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_mets_ssf1_ajcc6_xjo_t.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_mets_ssf1_ajcc6_xjo_t", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Mets SSF1 AJCC6 - T", - "title" : "Extension Mets SSF1 AJCC 6 Table - T", - "subtitle" : "CS SSF1 888 with CS Extension and CS Mets at DX", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 888, OBSOLETE not applicable code, the T and M categories for AJCC 6 staging result in ERROR as shown in this table.", - "last_modified" : "2015-05-27T16:19:15.947Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000-999", "00-99", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv1_xbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv1_xbv.json deleted file mode 100644 index ac3f3d37c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv1_xbv.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_orchiectomy_lviajcc6_table_csv1_xbv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Orchiectomy LVI AJCC 6 Table CSv1", - "title" : "Extension Orchiectomy LVI AJCC 6 Table CSv1", - "notes" : "**Note**: For cases coded under CSv1 (CS Version Input Original less than 020000) and Year of Diagnosis less than 2010 with CS Extension codes 100-550 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 4, Radical Orchiectomy Performed, and Lymph-Vascular Invasion if coded, as follows:", - "last_modified" : "2015-05-27T16:19:15.990Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf4", - "name" : "CS SSF 4", - "type" : "INPUT" - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "VALUE:T Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100,150,160,200,300,310,320,330,400,450,460,470,500,550", "001", "0,1,8,9", "ERROR:" ], [ "100,150,160,200,300,310,320,330,400,450,460,470,500,550", "001", "", "ERROR:" ], [ "100,150,160,200,300,310,320,330,400,450,460,470,500,550", "988", "0,1,8,9", "ERROR:" ], [ "100,150,160,200,300,310,320,330,400,450,460,470,500,550", "988", "", "ERROR:" ], [ "100", "000", "0,8,9", "VALUE:TX" ], [ "100", "000", "1", "VALUE:TX" ], [ "100", "000", "", "VALUE:TX" ], [ "100", "010", "0,8,9", "VALUE:T1" ], [ "100", "010", "1", "VALUE:T2" ], [ "100", "010", "", "VALUE:T1" ], [ "100", "999", "0,8,9", "VALUE:TX" ], [ "100", "999", "1", "VALUE:TX" ], [ "100", "999", "", "VALUE:TX" ], [ "150", "000", "0,8,9", "VALUE:TX" ], [ "150", "000", "1", "VALUE:TX" ], [ "150", "000", "", "VALUE:TX" ], [ "150", "010", "0,8,9", "VALUE:T2" ], [ "150", "010", "1", "VALUE:T2" ], [ "150", "010", "", "VALUE:T2" ], [ "150", "999", "0,8,9", "VALUE:TX" ], [ "150", "999", "1", "VALUE:TX" ], [ "150", "999", "", "VALUE:TX" ], [ "160", "000", "0,8,9", "VALUE:TX" ], [ "160", "000", "1", "VALUE:TX" ], [ "160", "000", "", "VALUE:TX" ], [ "160", "010", "0,8,9", "VALUE:T1" ], [ "160", "010", "1", "VALUE:T2" ], [ "160", "010", "", "VALUE:T1" ], [ "160", "999", "0,8,9", "VALUE:TX" ], [ "160", "999", "1", "VALUE:TX" ], [ "160", "999", "", "VALUE:TX" ], [ "200", "000", "0,8,9", "VALUE:TX" ], [ "200", "000", "1", "VALUE:TX" ], [ "200", "000", "", "VALUE:TX" ], [ "200", "010", "0,8,9", "VALUE:T2" ], [ "200", "010", "1", "VALUE:T2" ], [ "200", "010", "", "VALUE:T2" ], [ "200", "999", "0,8,9", "VALUE:TX" ], [ "200", "999", "1", "VALUE:TX" ], [ "200", "999", "", "VALUE:TX" ], [ "300", "000", "0,8,9", "VALUE:TX" ], [ "300", "000", "1", "VALUE:TX" ], [ "300", "000", "", "VALUE:TX" ], [ "300", "010", "0,8,9", "VALUE:T1" ], [ "300", "010", "1", "VALUE:T2" ], [ "300", "010", "", "VALUE:T1" ], [ "300", "999", "0,8,9", "VALUE:TX" ], [ "300", "999", "1", "VALUE:TX" ], [ "300", "999", "", "VALUE:TX" ], [ "310", "000", "0,8,9", "VALUE:TX" ], [ "310", "000", "1", "VALUE:TX" ], [ "310", "000", "", "VALUE:TX" ], [ "310", "010", "0,8,9", "VALUE:TX" ], [ "310", "010", "1", "VALUE:T2" ], [ "310", "010", "", "VALUE:TX" ], [ "310", "999", "0,8,9", "VALUE:TX" ], [ "310", "999", "1", "VALUE:TX" ], [ "310", "999", "", "VALUE:TX" ], [ "320", "000", "0,8,9", "VALUE:TX" ], [ "320", "000", "1", "VALUE:TX" ], [ "320", "000", "", "VALUE:TX" ], [ "320", "010", "0,8,9", "VALUE:T1" ], [ "320", "010", "1", "VALUE:T2" ], [ "320", "010", "", "VALUE:T1" ], [ "320", "999", "0,8,9", "VALUE:T1" ], [ "320", "999", "1", "VALUE:T2" ], [ "320", "999", "", "VALUE:T1" ], [ "330", "000", "0,8,9", "VALUE:TX" ], [ "330", "000", "1", "VALUE:TX" ], [ "330", "000", "", "VALUE:TX" ], [ "330", "010", "0,8,9", "VALUE:T2" ], [ "330", "010", "1", "VALUE:T2" ], [ "330", "010", "", "VALUE:T2" ], [ "330", "999", "0,8,9", "VALUE:T2" ], [ "330", "999", "1", "VALUE:T2" ], [ "330", "999", "", "VALUE:T2" ], [ "400", "000", "0,8,9", "VALUE:TX" ], [ "400", "000", "1", "VALUE:TX" ], [ "400", "000", "", "VALUE:TX" ], [ "400", "010", "0,8,9", "VALUE:T1" ], [ "400", "010", "1", "VALUE:T2" ], [ "400", "010", "", "VALUE:T1" ], [ "400", "999", "0,8,9", "VALUE:TX" ], [ "400", "999", "1", "VALUE:TX" ], [ "400", "999", "", "VALUE:TX" ], [ "450", "000", "0,8,9", "VALUE:TX" ], [ "450", "000", "1", "VALUE:TX" ], [ "450", "000", "", "VALUE:TX" ], [ "450", "010", "0,8,9", "VALUE:T2" ], [ "450", "010", "1", "VALUE:T2" ], [ "450", "010", "", "VALUE:T2" ], [ "450", "999", "0,8,9", "VALUE:TX" ], [ "450", "999", "1", "VALUE:TX" ], [ "450", "999", "", "VALUE:TX" ], [ "460", "000", "0,8,9", "VALUE:TX" ], [ "460", "000", "1", "VALUE:TX" ], [ "460", "000", "", "VALUE:TX" ], [ "460", "010", "0,8,9", "VALUE:T1" ], [ "460", "010", "1", "VALUE:T2" ], [ "460", "010", "", "VALUE:T1" ], [ "460", "999", "0,8,9", "VALUE:TX" ], [ "460", "999", "1", "VALUE:TX" ], [ "460", "999", "", "VALUE:TX" ], [ "470", "000", "0,8,9", "VALUE:TX" ], [ "470", "000", "1", "VALUE:TX" ], [ "470", "000", "", "VALUE:TX" ], [ "470", "010", "0,8,9", "VALUE:T1" ], [ "470", "010", "1", "VALUE:T2" ], [ "470", "010", "", "VALUE:T1" ], [ "470", "999", "0,8,9", "VALUE:TX" ], [ "470", "999", "1", "VALUE:TX" ], [ "470", "999", "", "VALUE:TX" ], [ "500", "000", "0,8,9", "VALUE:TX" ], [ "500", "000", "1", "VALUE:TX" ], [ "500", "000", "", "VALUE:TX" ], [ "500", "010", "0,8,9", "VALUE:T3" ], [ "500", "010", "1", "VALUE:T3" ], [ "500", "010", "", "VALUE:T3" ], [ "500", "999", "0,8,9", "VALUE:TX" ], [ "500", "999", "1", "VALUE:TX" ], [ "500", "999", "", "VALUE:TX" ], [ "550", "000", "0,8,9", "VALUE:TX" ], [ "550", "000", "1", "VALUE:TX" ], [ "550", "000", "", "VALUE:TX" ], [ "550", "010", "0,8,9", "VALUE:T3" ], [ "550", "010", "1", "VALUE:T3" ], [ "550", "010", "", "VALUE:T3" ], [ "550", "999", "0,8,9", "VALUE:T3" ], [ "550", "999", "1", "VALUE:T3" ], [ "550", "999", "", "VALUE:T3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv2_xis.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv2_xis.json deleted file mode 100644 index 19ddae256..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc6_table_csv2_xis.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_orchiectomy_lviajcc6_table_csv2_xis", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Orchiectomy LVI AJCC 6 Table CSv2", - "title" : "Extension Orchiectomy LVI AJCC 6 Table CSv2", - "notes" : "**Note**: For cases coded under CSv2 (CS Version Input Original greater than 020000) or Year of Diagnosis greater than 2009 with CS Extension codes 100-550 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 4, Radical Orchiectomy Performed, and Lymph-Vascular Invasion as follows:", - "last_modified" : "2015-05-27T16:19:16.048Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf4", - "name" : "CS SSF 4", - "type" : "INPUT" - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "VALUE:T Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100-550", "001", "0,1,8,9", "ERROR:" ], [ "100-550", "988", "0,1,8,9", "ERROR:" ], [ "100", "000", "0", "ERROR:" ], [ "100", "000", "1", "ERROR:" ], [ "100", "000", "8-9", "ERROR:" ], [ "100", "010", "0", "ERROR:" ], [ "100", "010", "1", "ERROR:" ], [ "100", "010", "8-9", "ERROR:" ], [ "100", "999", "0", "ERROR:" ], [ "100", "999", "1", "ERROR:" ], [ "100", "999", "8-9", "ERROR:" ], [ "150", "000", "0", "ERROR:" ], [ "150", "000", "1", "ERROR:" ], [ "150", "000", "8-9", "ERROR:" ], [ "150", "010", "0", "ERROR:" ], [ "150", "010", "1", "ERROR:" ], [ "150", "010", "8-9", "ERROR:" ], [ "150", "999", "0", "ERROR:" ], [ "150", "999", "1", "ERROR:" ], [ "150", "999", "8-9", "ERROR:" ], [ "160", "000", "0", "VALUE:TX" ], [ "160", "000", "1", "VALUE:TX" ], [ "160", "000", "8-9", "VALUE:TX" ], [ "160", "010", "0", "VALUE:T1" ], [ "160", "010", "1", "VALUE:T2" ], [ "160", "010", "8-9", "VALUE:T1" ], [ "160", "999", "0", "VALUE:TX" ], [ "160", "999", "1", "VALUE:TX" ], [ "160", "999", "8-9", "VALUE:TX" ], [ "200", "000", "0", "VALUE:TX" ], [ "200", "000", "1", "VALUE:TX" ], [ "200", "000", "8-9", "VALUE:TX" ], [ "200", "010", "0", "VALUE:T2" ], [ "200", "010", "1", "VALUE:T2" ], [ "200", "010", "8-9", "VALUE:T2" ], [ "200", "999", "0", "VALUE:TX" ], [ "200", "999", "1", "VALUE:TX" ], [ "200", "999", "8-9", "VALUE:TX" ], [ "300", "000", "0", "VALUE:TX" ], [ "300", "000", "1", "VALUE:TX" ], [ "300", "000", "8-9", "VALUE:TX" ], [ "300", "010", "0", "VALUE:T1" ], [ "300", "010", "1", "VALUE:T2" ], [ "300", "010", "8-9", "VALUE:T1" ], [ "300", "999", "0", "VALUE:TX" ], [ "300", "999", "1", "VALUE:TX" ], [ "300", "999", "8-9", "VALUE:TX" ], [ "310", "000", "0", "VALUE:TX" ], [ "310", "000", "1", "VALUE:TX" ], [ "310", "000", "8-9", "VALUE:TX" ], [ "310", "010", "0", "VALUE:TX" ], [ "310", "010", "1", "VALUE:T2" ], [ "310", "010", "8-9", "VALUE:TX" ], [ "310", "999", "0", "VALUE:TX" ], [ "310", "999", "1", "VALUE:TX" ], [ "310", "999", "8-9", "VALUE:TX" ], [ "320", "000", "0", "VALUE:TX" ], [ "320", "000", "1", "VALUE:TX" ], [ "320", "000", "8-9", "VALUE:TX" ], [ "320", "010", "0", "VALUE:T1" ], [ "320", "010", "1", "VALUE:T2" ], [ "320", "010", "8-9", "VALUE:T1" ], [ "320", "999", "0", "VALUE:T1" ], [ "320", "999", "1", "VALUE:T2" ], [ "320", "999", "8-9", "VALUE:T1" ], [ "330", "000", "0", "VALUE:TX" ], [ "330", "000", "1", "VALUE:TX" ], [ "330", "000", "8-9", "VALUE:TX" ], [ "330", "010", "0", "VALUE:T2" ], [ "330", "010", "1", "VALUE:T2" ], [ "330", "010", "8-9", "VALUE:T2" ], [ "330", "999", "0", "VALUE:T2" ], [ "330", "999", "1", "VALUE:T2" ], [ "330", "999", "8-9", "VALUE:T2" ], [ "400", "000", "0", "ERROR:" ], [ "400", "000", "1", "ERROR:" ], [ "400", "000", "8-9", "ERROR:" ], [ "400", "010", "0", "ERROR:" ], [ "400", "010", "1", "ERROR:" ], [ "400", "010", "8-9", "ERROR:" ], [ "400", "999", "0", "ERROR:" ], [ "400", "999", "1", "ERROR:" ], [ "400", "999", "8-9", "ERROR:" ], [ "450", "000", "0", "ERROR:" ], [ "450", "000", "1", "ERROR:" ], [ "450", "000", "8-9", "ERROR:" ], [ "450", "010", "0", "ERROR:" ], [ "450", "010", "1", "ERROR:" ], [ "450", "010", "8-9", "ERROR:" ], [ "450", "999", "0", "ERROR:" ], [ "450", "999", "1", "ERROR:" ], [ "450", "999", "8-9", "ERROR:" ], [ "460", "000", "0", "VALUE:TX" ], [ "460", "000", "1", "VALUE:TX" ], [ "460", "000", "8-9", "VALUE:TX" ], [ "460", "010", "0", "VALUE:T1" ], [ "460", "010", "1", "VALUE:T2" ], [ "460", "010", "8-9", "VALUE:T1" ], [ "460", "999", "0", "VALUE:TX" ], [ "460", "999", "1", "VALUE:TX" ], [ "460", "999", "8-9", "VALUE:TX" ], [ "470", "000", "0", "VALUE:TX" ], [ "470", "000", "1", "VALUE:TX" ], [ "470", "000", "8-9", "VALUE:TX" ], [ "470", "010", "0", "VALUE:T1" ], [ "470", "010", "1", "VALUE:T2" ], [ "470", "010", "8-9", "VALUE:T1" ], [ "470", "999", "0", "VALUE:TX" ], [ "470", "999", "1", "VALUE:TX" ], [ "470", "999", "8-9", "VALUE:TX" ], [ "500", "000", "0", "VALUE:TX" ], [ "500", "000", "1", "VALUE:TX" ], [ "500", "000", "8-9", "VALUE:TX" ], [ "500", "010", "0", "VALUE:T3" ], [ "500", "010", "1", "VALUE:T3" ], [ "500", "010", "8-9", "VALUE:T3" ], [ "500", "999", "0", "VALUE:TX" ], [ "500", "999", "1", "VALUE:TX" ], [ "500", "999", "8-9", "VALUE:TX" ], [ "550", "000", "0", "VALUE:TX" ], [ "550", "000", "1", "VALUE:TX" ], [ "550", "000", "8-9", "VALUE:TX" ], [ "550", "010", "0", "VALUE:T3" ], [ "550", "010", "1", "VALUE:T3" ], [ "550", "010", "8-9", "VALUE:T3" ], [ "550", "999", "0", "VALUE:T3" ], [ "550", "999", "1", "VALUE:T3" ], [ "550", "999", "8-9", "VALUE:T3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc7_xgs.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc7_xgs.json deleted file mode 100644 index af1c1782d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_orchiectomy_lviajcc7_xgs.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_orchiectomy_lviajcc7_xgs", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Orchiectomy LVI AJCC7", - "title" : "Extension Orchiectomy LVI AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 160-330 and 460-550 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 4, Radical Orchiectomy Performed, and Lymph-Vascular Invasion as follows:", - "last_modified" : "2015-05-27T16:19:16.106Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf4", - "name" : "CS SSF 4", - "type" : "INPUT" - }, { - "key" : "lvi", - "name" : "Lymph-vascular Invasion", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "VALUE:T Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "160-330, 460-550", "001", "0,1,8,9", "ERROR:" ], [ "160-330, 460-550", "988", "0,1,8,9", "ERROR:" ], [ "160", "000", "0", "VALUE:TX" ], [ "160", "000", "1", "VALUE:TX" ], [ "160", "000", "8-9", "VALUE:TX" ], [ "160", "010", "0", "VALUE:T1" ], [ "160", "010", "1", "VALUE:T2" ], [ "160", "010", "8-9", "VALUE:T1" ], [ "160", "999", "0", "VALUE:TX" ], [ "160", "999", "1", "VALUE:TX" ], [ "160", "999", "8-9", "VALUE:TX" ], [ "200", "000", "0", "VALUE:TX" ], [ "200", "000", "1", "VALUE:TX" ], [ "200", "000", "8-9", "VALUE:TX" ], [ "200", "010", "0", "VALUE:T2" ], [ "200", "010", "1", "VALUE:T2" ], [ "200", "010", "8-9", "VALUE:T2" ], [ "200", "999", "0", "VALUE:TX" ], [ "200", "999", "1", "VALUE:TX" ], [ "200", "999", "8-9", "VALUE:TX" ], [ "300", "000", "0", "VALUE:TX" ], [ "300", "000", "1", "VALUE:TX" ], [ "300", "000", "8-9", "VALUE:TX" ], [ "300", "010", "0", "VALUE:T1" ], [ "300", "010", "1", "VALUE:T2" ], [ "300", "010", "8-9", "VALUE:T1" ], [ "300", "999", "0", "VALUE:TX" ], [ "300", "999", "1", "VALUE:TX" ], [ "300", "999", "8-9", "VALUE:TX" ], [ "310", "000", "0", "VALUE:TX" ], [ "310", "000", "1", "VALUE:TX" ], [ "310", "000", "8-9", "VALUE:TX" ], [ "310", "010", "0", "VALUE:TX" ], [ "310", "010", "1", "VALUE:T2" ], [ "310", "010", "8-9", "VALUE:TX" ], [ "310", "999", "0", "VALUE:TX" ], [ "310", "999", "1", "VALUE:TX" ], [ "310", "999", "8-9", "VALUE:TX" ], [ "320", "000", "0", "VALUE:TX" ], [ "320", "000", "1", "VALUE:TX" ], [ "320", "000", "8-9", "VALUE:TX" ], [ "320", "010", "0", "VALUE:T1" ], [ "320", "010", "1", "VALUE:T2" ], [ "320", "010", "8-9", "VALUE:T1" ], [ "320", "999", "0", "VALUE:T1" ], [ "320", "999", "1", "VALUE:T2" ], [ "320", "999", "8-9", "VALUE:T1" ], [ "330", "000", "0", "VALUE:TX" ], [ "330", "000", "1", "VALUE:TX" ], [ "330", "000", "8-9", "VALUE:TX" ], [ "330", "010", "0", "VALUE:T2" ], [ "330", "010", "1", "VALUE:T2" ], [ "330", "010", "8-9", "VALUE:T2" ], [ "330", "999", "0", "VALUE:T2" ], [ "330", "999", "1", "VALUE:T2" ], [ "330", "999", "8-9", "VALUE:T2" ], [ "460", "000", "0", "VALUE:TX" ], [ "460", "000", "1", "VALUE:TX" ], [ "460", "000", "8-9", "VALUE:TX" ], [ "460", "010", "0", "VALUE:T1" ], [ "460", "010", "1", "VALUE:T2" ], [ "460", "010", "8-9", "VALUE:T1" ], [ "460", "999", "0", "VALUE:TX" ], [ "460", "999", "1", "VALUE:TX" ], [ "460", "999", "8-9", "VALUE:TX" ], [ "470", "000", "0", "VALUE:TX" ], [ "470", "000", "1", "VALUE:TX" ], [ "470", "000", "8-9", "VALUE:TX" ], [ "470", "010", "0", "VALUE:T2" ], [ "470", "010", "1", "VALUE:T2" ], [ "470", "010", "8-9", "VALUE:T2" ], [ "470", "999", "0", "VALUE:TX" ], [ "470", "999", "1", "VALUE:TX" ], [ "470", "999", "8-9", "VALUE:TX" ], [ "500", "000", "0", "VALUE:TX" ], [ "500", "000", "1", "VALUE:TX" ], [ "500", "000", "8-9", "VALUE:TX" ], [ "500", "010", "0", "VALUE:T3" ], [ "500", "010", "1", "VALUE:T3" ], [ "500", "010", "8-9", "VALUE:T3" ], [ "500", "999", "0", "VALUE:TX" ], [ "500", "999", "1", "VALUE:TX" ], [ "500", "999", "8-9", "VALUE:TX" ], [ "550", "000", "0", "VALUE:TX" ], [ "550", "000", "1", "VALUE:TX" ], [ "550", "000", "8-9", "VALUE:TX" ], [ "550", "010", "0", "VALUE:T3" ], [ "550", "010", "1", "VALUE:T3" ], [ "550", "010", "8-9", "VALUE:T3" ], [ "550", "999", "0", "VALUE:T3" ], [ "550", "999", "1", "VALUE:T3" ], [ "550", "999", "8-9", "VALUE:T3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_periductal_invasion_ajcc7_xks.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_periductal_invasion_ajcc7_xks.json deleted file mode 100644 index 9c35e8a04..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_periductal_invasion_ajcc7_xks.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_periductal_invasion_ajcc7_xks", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Periductal Invasion AJCC7", - "title" : "Extension Periductal Invasion AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-520, 580, 620, 631-650, 660-665, 675-755, 765-800 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 10, as shown in this table.", - "last_modified" : "2015-05-27T16:19:16.155Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf10", - "name" : "CS SSF 10", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100-170, 500-510", "000", "VALUE:T1" ], [ "200-270, 520, 631", "000", "VALUE:T2a" ], [ "300-475, 632, 650, 675", "000", "VALUE:T2b" ], [ "480", "000", "VALUE:T2NOS" ], [ "580, 620, 640-645, 660-665, 700-755, 765-800", "000", "VALUE:T3" ], [ "999", "000", "VALUE:TX" ], [ "100-170, 500-510", "010", "VALUE:T4" ], [ "200-270, 520, 631", "010", "VALUE:T4" ], [ "300-475, 632, 650, 675", "010", "VALUE:T4" ], [ "480", "010", "VALUE:T4" ], [ "580, 620, 640-645, 660-665, 700-755, 765-800", "010", "VALUE:T4 " ], [ "999", "010", "VALUE:T4" ], [ "100-170, 500-510", "988, 999", "VALUE:T1" ], [ "200-270, 520, 631", "988, 999", "VALUE:T2a" ], [ "300-475, 632, 650, 675", "988, 999", "VALUE:T2b" ], [ "480", "988, 999", "VALUE:T2NOS" ], [ "580, 620, 640-645, 660-665, 700-755, 765-800", "988, 999", "VALUE:T3" ], [ "999", "988, 999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_table_csv1_xjb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_table_csv1_xjb.json deleted file mode 100644 index 7b7f32cf9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_table_csv1_xjb.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc6_table_csv1_xjb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6 Table Csv1", - "title" : "Extension Size, AJCC 6 Table CSv1", - "notes" : "**Note**: For CS Version 1 cases (CS Version Input Original equals 01XXXX) and Year of Diagnosis is less than 2010 and CS Site-Specific Factor 6 Perineural Invasion = 988 or blank, for CS Extension codes 100-400 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size and CS Extension as shown in this table.", - "last_modified" : "2015-05-27T16:19:16.199Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "155", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "270", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "320", "000", "ERROR:" ], [ "340", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "100", "001-005", "VALUE:T1" ], [ "150", "001-005", "VALUE:T1" ], [ "155", "001-005", "VALUE:T1" ], [ "200", "001-005", "VALUE:T2" ], [ "250", "001-005", "VALUE:T1" ], [ "270", "001-005", "VALUE:TX" ], [ "300", "001-005", "VALUE:T3" ], [ "320", "001-005", "VALUE:TX" ], [ "340", "001-005", "VALUE:TX" ], [ "400", "001-005", "VALUE:T1" ], [ "100", "006-010", "VALUE:T1" ], [ "150", "006-010", "VALUE:T1" ], [ "155", "006-010", "VALUE:T1" ], [ "200", "006-010", "VALUE:T2" ], [ "250", "006-010", "VALUE:T2" ], [ "270", "006-010", "VALUE:TX" ], [ "300", "006-010", "VALUE:T3" ], [ "320", "006-010", "VALUE:TX" ], [ "340", "006-010", "VALUE:TX" ], [ "400", "006-010", "VALUE:T1" ], [ "100", "011-989", "VALUE:T1" ], [ "150", "011-989", "VALUE:T1" ], [ "155", "011-989", "VALUE:T1" ], [ "200", "011-989", "VALUE:T2" ], [ "250", "011-989", "VALUE:T3" ], [ "270", "011-989", "VALUE:TX" ], [ "300", "011-989", "VALUE:T3" ], [ "320", "011-989", "VALUE:TX" ], [ "340", "011-989", "VALUE:TX" ], [ "400", "011-989", "VALUE:T1" ], [ "100", "990", "VALUE:T1" ], [ "150", "990", "VALUE:T1" ], [ "155", "990", "VALUE:T1" ], [ "200", "990", "VALUE:T2" ], [ "250", "990", "VALUE:T1" ], [ "270", "990", "VALUE:TX" ], [ "300", "990", "VALUE:T3" ], [ "320", "990", "VALUE:TX" ], [ "340", "990", "VALUE:TX" ], [ "400", "990", "VALUE:T1" ], [ "100", "991", "VALUE:T1" ], [ "150", "991", "VALUE:T1" ], [ "155", "991", "VALUE:T1" ], [ "200", "991", "VALUE:T2" ], [ "250", "991", "VALUE:T2" ], [ "270", "991", "VALUE:TX" ], [ "300", "991", "VALUE:T3" ], [ "320", "991", "VALUE:TX" ], [ "340", "991", "VALUE:TX" ], [ "400", "991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "150", "992", "VALUE:T1" ], [ "155", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T2" ], [ "250", "992", "VALUE:T2" ], [ "270", "992", "VALUE:TX" ], [ "300", "992", "VALUE:T3" ], [ "320", "992", "VALUE:TX" ], [ "340", "992", "VALUE:TX" ], [ "400", "992", "VALUE:T1" ], [ "100", "993-995", "VALUE:T1" ], [ "150", "993-995", "VALUE:T1" ], [ "155", "993-995", "VALUE:T1" ], [ "200", "993-995", "VALUE:T2" ], [ "250", "993-995", "VALUE:T3" ], [ "270", "993-995", "VALUE:TX" ], [ "300", "993-995", "VALUE:T3" ], [ "320", "993-995", "VALUE:TX" ], [ "340", "993-995", "VALUE:TX" ], [ "400", "993-995", "VALUE:T1" ], [ "100", "996-998", "ERROR:" ], [ "150", "996-998", "ERROR:" ], [ "155", "996-998", "ERROR:" ], [ "200", "996-998", "ERROR:" ], [ "250", "996-998", "ERROR:" ], [ "270", "996-998", "ERROR:" ], [ "300", "996-998", "ERROR:" ], [ "320", "996-998", "ERROR:" ], [ "340", "996-998", "ERROR:" ], [ "400", "996-998", "ERROR:" ], [ "100", "999", "VALUE:T1" ], [ "150", "999", "VALUE:T1" ], [ "155", "999", "VALUE:T1" ], [ "200", "999", "VALUE:T2" ], [ "250", "999", "VALUE:TX" ], [ "270", "999", "VALUE:TX" ], [ "300", "999", "VALUE:T3" ], [ "320", "999", "VALUE:TX" ], [ "340", "999", "VALUE:TX" ], [ "400", "999", "VALUE:T1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xai.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xai.json deleted file mode 100644 index 8307f24f0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xai.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc6_xai", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6", - "title" : "Extension Size AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 100-650 ONLY, the T category is assigned based on value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:16.251Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "405", "000", "ERROR:" ], [ "410", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "530", "000", "ERROR:" ], [ "600", "000", "ERROR:" ], [ "610", "000", "ERROR:" ], [ "620", "000", "ERROR:" ], [ "640", "000", "ERROR:" ], [ "645", "000", "ERROR:" ], [ "650", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "405", "001-020", "VALUE:T1" ], [ "410", "001-020", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1" ], [ "530", "001-020", "VALUE:T1" ], [ "600", "001-020", "VALUE:T1" ], [ "610", "001-020", "VALUE:T1" ], [ "620", "001-020", "VALUE:T1" ], [ "640", "001-020", "VALUE:T1" ], [ "645", "001-020", "VALUE:T1" ], [ "650", "001-020", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2" ], [ "200", "021-040", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2" ], [ "400", "021-040", "VALUE:T2" ], [ "405", "021-040", "VALUE:T2" ], [ "410", "021-040", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2" ], [ "530", "021-040", "VALUE:T2" ], [ "600", "021-040", "VALUE:T2" ], [ "610", "021-040", "VALUE:T2" ], [ "620", "021-040", "VALUE:T2" ], [ "640", "021-040", "VALUE:T2" ], [ "645", "021-040", "VALUE:T2" ], [ "650", "021-040", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3" ], [ "200", "041-989", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3" ], [ "400", "041-989", "VALUE:T3" ], [ "405", "041-989", "VALUE:T3" ], [ "410", "041-989", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3" ], [ "530", "041-989", "VALUE:T3" ], [ "600", "041-989", "VALUE:T3" ], [ "610", "041-989", "VALUE:T3" ], [ "620", "041-989", "VALUE:T3" ], [ "640", "041-989", "VALUE:T3" ], [ "645", "041-989", "VALUE:T3" ], [ "650", "041-989", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "405", "990-991", "VALUE:T1" ], [ "410", "990-991", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1" ], [ "530", "990-991", "VALUE:T1" ], [ "600", "990-991", "VALUE:T1" ], [ "610", "990-991", "VALUE:T1" ], [ "620", "990-991", "VALUE:T1" ], [ "640", "990-991", "VALUE:T1" ], [ "645", "990-991", "VALUE:T1" ], [ "650", "990-991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T1" ], [ "300", "992", "VALUE:T1" ], [ "400", "992", "VALUE:T1" ], [ "405", "992", "VALUE:T1" ], [ "410", "992", "VALUE:T2" ], [ "500", "992", "VALUE:T1" ], [ "530", "992", "VALUE:T1" ], [ "600", "992", "VALUE:T1" ], [ "610", "992", "VALUE:T1" ], [ "620", "992", "VALUE:T1" ], [ "640", "992", "VALUE:T1" ], [ "645", "992", "VALUE:T1" ], [ "650", "992", "VALUE:T3" ], [ "100", "993-994", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2" ], [ "400", "993-994", "VALUE:T2" ], [ "405", "993-994", "VALUE:T1" ], [ "410", "993-994", "VALUE:T2" ], [ "500", "993-994", "VALUE:T2" ], [ "530", "993-994", "VALUE:T2" ], [ "600", "993-994", "VALUE:T2" ], [ "610", "993-994", "VALUE:T2" ], [ "620", "993-994", "VALUE:T2" ], [ "640", "993-994", "VALUE:T2" ], [ "645", "993-994", "VALUE:T2" ], [ "650", "993-994", "VALUE:T3" ], [ "100", "995", "VALUE:T3" ], [ "200", "995", "VALUE:T3" ], [ "300", "995", "VALUE:T3" ], [ "400", "995", "VALUE:T3" ], [ "405", "995", "VALUE:T1" ], [ "410", "995", "VALUE:T2" ], [ "500", "995", "VALUE:T3" ], [ "530", "995", "VALUE:T3" ], [ "600", "995", "VALUE:T3" ], [ "610", "995", "VALUE:T3" ], [ "620", "995", "VALUE:T3" ], [ "640", "995", "VALUE:T3" ], [ "645", "995", "VALUE:T3" ], [ "650", "995", "VALUE:T3" ], [ "100", "996", "VALUE:T3" ], [ "200", "996", "VALUE:T3" ], [ "300", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "405", "996", "VALUE:T3" ], [ "410", "996", "VALUE:T3" ], [ "500", "996", "VALUE:T3" ], [ "530", "996", "VALUE:T3" ], [ "600", "996", "VALUE:T3" ], [ "610", "996", "VALUE:T3" ], [ "620", "996", "VALUE:T3" ], [ "640", "996", "VALUE:T3" ], [ "645", "996", "VALUE:T3" ], [ "650", "996", "VALUE:T3" ], [ "100", "997-998", "ERROR:" ], [ "200", "997-998", "ERROR:" ], [ "300", "997-998", "ERROR:" ], [ "400", "997-998", "ERROR:" ], [ "405", "997-998", "ERROR:" ], [ "410", "997-998", "ERROR:" ], [ "500", "997-998", "ERROR:" ], [ "530", "997-998", "ERROR:" ], [ "600", "997-998", "ERROR:" ], [ "610", "997-998", "ERROR:" ], [ "620", "997-998", "ERROR:" ], [ "640", "997-998", "ERROR:" ], [ "645", "997-998", "ERROR:" ], [ "650", "997-998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "200", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "400", "999", "VALUE:TX" ], [ "405", "999", "VALUE:T1" ], [ "410", "999", "VALUE:T2" ], [ "500", "999", "VALUE:TX" ], [ "530", "999", "VALUE:TX" ], [ "600", "999", "VALUE:TX" ], [ "610", "999", "VALUE:TX" ], [ "620", "999", "VALUE:TX" ], [ "640", "999", "VALUE:TX" ], [ "645", "999", "VALUE:TX" ], [ "650", "999", "VALUE:T3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xak.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xak.json deleted file mode 100644 index ffcebd6d3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xak.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc6_xak", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6", - "title" : "Extension Size AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 390, 400, 420, and 440 ONLY, the T category is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:16.309Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "390", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "420", "000", "ERROR:" ], [ "440", "000", "ERROR:" ], [ "390", "001-050", "VALUE:T2" ], [ "400", "001-050", "VALUE:T2" ], [ "420", "001-050", "VALUE:T2" ], [ "440", "001-050", "VALUE:T2" ], [ "390", "051-989", "VALUE:T3" ], [ "400", "051-989", "VALUE:T3" ], [ "420", "051-989", "VALUE:T3" ], [ "440", "051-989", "VALUE:T3" ], [ "390", "990-995", "VALUE:T2" ], [ "400", "990-995", "VALUE:T2" ], [ "420", "990-995", "VALUE:T2" ], [ "440", "990-995", "VALUE:T2" ], [ "390", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "420", "996", "VALUE:T3" ], [ "440", "996", "VALUE:T3" ], [ "390", "997-998", "ERROR:" ], [ "400", "997-998", "ERROR:" ], [ "420", "997-998", "ERROR:" ], [ "440", "997-998", "ERROR:" ], [ "390", "999", "VALUE:TX" ], [ "400", "999", "VALUE:TX" ], [ "420", "999", "VALUE:TX" ], [ "440", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xat.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xat.json deleted file mode 100644 index d3165a25f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xat.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc6_xat", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6", - "title" : "Extension Size AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 100, 300, and 610-650 ONLY, the T category is assigned based on the value of CS Tumor Size and CS Extension as shown in this table,", - "last_modified" : "2015-05-27T16:19:16.363Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "610", "000", "ERROR:" ], [ "620", "000", "ERROR:" ], [ "630", "000", "ERROR:" ], [ "650", "000", "ERROR:" ], [ "100", "001-025", "VALUE:T1" ], [ "300", "001-025", "VALUE:T1" ], [ "610", "001-025", "VALUE:T1" ], [ "620", "001-025", "VALUE:T1" ], [ "630", "001-025", "VALUE:T1" ], [ "650", "001-025", "VALUE:T3a" ], [ "100", "026-050", "VALUE:T2" ], [ "300", "026-050", "VALUE:T2" ], [ "610", "026-050", "VALUE:T2" ], [ "620", "026-050", "VALUE:T2" ], [ "630", "026-050", "VALUE:T2" ], [ "650", "026-050", "VALUE:T3a" ], [ "100", "051-989", "VALUE:T2" ], [ "300", "051-989", "VALUE:T2" ], [ "610", "051-989", "VALUE:T2" ], [ "620", "051-989", "VALUE:T2" ], [ "630", "051-989", "VALUE:T2" ], [ "650", "051-989", "VALUE:T3b" ], [ "100", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "610", "990-991", "VALUE:T1" ], [ "620", "990-991", "VALUE:T1" ], [ "630", "990-991", "VALUE:T1" ], [ "650", "990-991", "VALUE:T3a" ], [ "100", "992-993", "VALUE:T1" ], [ "300", "992-993", "VALUE:T1" ], [ "610", "992-993", "VALUE:T1" ], [ "620", "992-993", "VALUE:T2" ], [ "630", "992-993", "VALUE:T2" ], [ "650", "992-993", "VALUE:T3a" ], [ "100", "994-995", "VALUE:T2" ], [ "300", "994-995", "VALUE:T2" ], [ "610", "994-995", "VALUE:T1" ], [ "620", "994-995", "VALUE:T2" ], [ "630", "994-995", "VALUE:T2" ], [ "650", "994-995", "VALUE:T3a" ], [ "100", "996", "VALUE:T2" ], [ "300", "996", "VALUE:T2" ], [ "610", "996", "VALUE:T2" ], [ "620", "996", "VALUE:T2" ], [ "630", "996", "VALUE:T2" ], [ "650", "996", "VALUE:T3b" ], [ "100", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "610", "999", "VALUE:T1" ], [ "620", "999", "VALUE:T2" ], [ "630", "999", "VALUE:T2" ], [ "650", "999", "VALUE:T3NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xav.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xav.json deleted file mode 100644 index 52ec8a41e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xav.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc6_xav", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6", - "title" : "Extension Size AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 100-645 ONLY, the T category is assigned based on value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:16.415Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "405", "000", "ERROR:" ], [ "410", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "600", "000", "ERROR:" ], [ "640", "000", "ERROR:" ], [ "645", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "405", "001-020", "VALUE:T1" ], [ "410", "001-020", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1" ], [ "600", "001-020", "VALUE:T1" ], [ "640", "001-020", "VALUE:T1" ], [ "645", "001-020", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2" ], [ "200", "021-040", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2" ], [ "400", "021-040", "VALUE:T2" ], [ "405", "021-040", "VALUE:T2" ], [ "410", "021-040", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2" ], [ "600", "021-040", "VALUE:T2" ], [ "640", "021-040", "VALUE:T2" ], [ "645", "021-040", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3" ], [ "200", "041-989", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3" ], [ "400", "041-989", "VALUE:T3" ], [ "405", "041-989", "VALUE:T3" ], [ "410", "041-989", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3" ], [ "600", "041-989", "VALUE:T3" ], [ "640", "041-989", "VALUE:T3" ], [ "645", "041-989", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "405", "990-991", "VALUE:T1" ], [ "410", "990-991", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1" ], [ "600", "990-991", "VALUE:T1" ], [ "640", "990-991", "VALUE:T1" ], [ "645", "990-991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T1" ], [ "300", "992", "VALUE:T1" ], [ "400", "992", "VALUE:T1" ], [ "405", "992", "VALUE:T1" ], [ "410", "992", "VALUE:T2" ], [ "500", "992", "VALUE:T1" ], [ "600", "992", "VALUE:T1" ], [ "640", "992", "VALUE:T1" ], [ "645", "992", "VALUE:T3" ], [ "100", "993-994", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2" ], [ "400", "993-994", "VALUE:T2" ], [ "405", "993-994", "VALUE:T1" ], [ "410", "993-994", "VALUE:T2" ], [ "500", "993-994", "VALUE:T2" ], [ "600", "993-994", "VALUE:T2" ], [ "640", "993-994", "VALUE:T2" ], [ "645", "993-994", "VALUE:T3" ], [ "100", "995", "VALUE:T3" ], [ "200", "995", "VALUE:T3" ], [ "300", "995", "VALUE:T3" ], [ "400", "995", "VALUE:T3" ], [ "405", "995", "VALUE:T1" ], [ "410", "995", "VALUE:T2" ], [ "500", "995", "VALUE:T3" ], [ "600", "995", "VALUE:T3" ], [ "640", "995", "VALUE:T3" ], [ "645", "995", "VALUE:T3" ], [ "100", "996", "VALUE:T3" ], [ "200", "996", "VALUE:T3" ], [ "300", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "405", "996", "VALUE:T3" ], [ "410", "996", "VALUE:T3" ], [ "500", "996", "VALUE:T3" ], [ "600", "996", "VALUE:T3" ], [ "640", "996", "VALUE:T3" ], [ "645", "996", "VALUE:T3" ], [ "100", "997-998", "ERROR:" ], [ "200", "997-998", "ERROR:" ], [ "300", "997-998", "ERROR:" ], [ "400", "997-998", "ERROR:" ], [ "405", "997-998", "ERROR:" ], [ "410", "997-998", "ERROR:" ], [ "500", "997-998", "ERROR:" ], [ "600", "997-998", "ERROR:" ], [ "640", "997-998", "ERROR:" ], [ "645", "997-998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "200", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "400", "999", "VALUE:TX" ], [ "405", "999", "VALUE:T1" ], [ "410", "999", "VALUE:T2" ], [ "500", "999", "VALUE:TX" ], [ "600", "999", "VALUE:TX" ], [ "640", "999", "VALUE:TX" ], [ "645", "999", "VALUE:T3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xaz.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xaz.json deleted file mode 100644 index 221a7dab5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xaz.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc6_xaz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6", - "title" : "Extension Size AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 100-550 ONLY, the T category is assigned based on value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:16.472Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "305", "000", "ERROR:" ], [ "310", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "420", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "510", "000", "ERROR:" ], [ "520", "000", "ERROR:" ], [ "530", "000", "ERROR:" ], [ "531", "000", "ERROR:" ], [ "533", "000", "ERROR:" ], [ "535", "000", "ERROR:" ], [ "538", "000", "ERROR:" ], [ "540", "000", "ERROR:" ], [ "550", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "150", "001-020", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "305", "001-020", "VALUE:T1" ], [ "310", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "420", "001-020", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1" ], [ "510", "001-020", "VALUE:T1" ], [ "520", "001-020", "VALUE:T1" ], [ "530", "001-020", "VALUE:T1" ], [ "531", "001-020", "VALUE:T1" ], [ "533", "001-020", "VALUE:T1" ], [ "535", "001-020", "VALUE:T1" ], [ "538", "001-020", "VALUE:T1" ], [ "540", "001-020", "VALUE:T1" ], [ "550", "001-020", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2" ], [ "150", "021-040", "VALUE:T2" ], [ "200", "021-040", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2" ], [ "305", "021-040", "VALUE:T2" ], [ "310", "021-040", "VALUE:T2" ], [ "400", "021-040", "VALUE:T2" ], [ "420", "021-040", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2" ], [ "510", "021-040", "VALUE:T2" ], [ "520", "021-040", "VALUE:T2" ], [ "530", "021-040", "VALUE:T2" ], [ "531", "021-040", "VALUE:T2" ], [ "533", "021-040", "VALUE:T2" ], [ "535", "021-040", "VALUE:T2" ], [ "538", "021-040", "VALUE:T2" ], [ "540", "021-040", "VALUE:T2" ], [ "550", "021-040", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3" ], [ "150", "041-989", "VALUE:T3" ], [ "200", "041-989", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3" ], [ "305", "041-989", "VALUE:T3" ], [ "310", "041-989", "VALUE:T3" ], [ "400", "041-989", "VALUE:T3" ], [ "420", "041-989", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3" ], [ "510", "041-989", "VALUE:T3" ], [ "520", "041-989", "VALUE:T3" ], [ "530", "041-989", "VALUE:T3" ], [ "531", "041-989", "VALUE:T3" ], [ "533", "041-989", "VALUE:T3" ], [ "535", "041-989", "VALUE:T3" ], [ "538", "041-989", "VALUE:T3" ], [ "540", "041-989", "VALUE:T3" ], [ "550", "041-989", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1" ], [ "150", "990-991", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "305", "990-991", "VALUE:T1" ], [ "310", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "420", "990-991", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1" ], [ "510", "990-991", "VALUE:T1" ], [ "520", "990-991", "VALUE:T1" ], [ "530", "990-991", "VALUE:T1" ], [ "531", "990-991", "VALUE:T1" ], [ "533", "990-991", "VALUE:T1" ], [ "535", "990-991", "VALUE:T1" ], [ "538", "990-991", "VALUE:T1" ], [ "540", "990-991", "VALUE:T1" ], [ "550", "990-991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "150", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T1" ], [ "300", "992", "VALUE:T1" ], [ "305", "992", "VALUE:T1" ], [ "310", "992", "VALUE:T2" ], [ "400", "992", "VALUE:T1" ], [ "420", "992", "VALUE:T1" ], [ "500", "992", "VALUE:T1" ], [ "510", "992", "VALUE:T1" ], [ "520", "992", "VALUE:T1" ], [ "530", "992", "VALUE:T1" ], [ "531", "992", "VALUE:T1" ], [ "533", "992", "VALUE:T1" ], [ "535", "992", "VALUE:T1" ], [ "538", "992", "VALUE:T1" ], [ "540", "992", "VALUE:T3" ], [ "550", "992", "VALUE:T1" ], [ "100", "993-994", "VALUE:T2" ], [ "150", "993-994", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2" ], [ "305", "993-994", "VALUE:T1" ], [ "310", "993-994", "VALUE:T2" ], [ "400", "993-994", "VALUE:T2" ], [ "420", "993-994", "VALUE:T2" ], [ "500", "993-994", "VALUE:T2" ], [ "510", "993-994", "VALUE:T2" ], [ "520", "993-994", "VALUE:T2" ], [ "530", "993-994", "VALUE:T2" ], [ "531", "993-994", "VALUE:T2" ], [ "533", "993-994", "VALUE:T2" ], [ "535", "993-994", "VALUE:T2" ], [ "538", "993-994", "VALUE:T2" ], [ "540", "993-994", "VALUE:T3" ], [ "550", "993-994", "VALUE:T2" ], [ "100", "995", "VALUE:T3" ], [ "150", "995", "VALUE:T3" ], [ "200", "995", "VALUE:T3" ], [ "300", "995", "VALUE:T3" ], [ "305", "995", "VALUE:T1" ], [ "310", "995", "VALUE:T2" ], [ "400", "995", "VALUE:T3" ], [ "420", "995", "VALUE:T3" ], [ "500", "995", "VALUE:T3" ], [ "510", "995", "VALUE:T3" ], [ "520", "995", "VALUE:T3" ], [ "530", "995", "VALUE:T3" ], [ "531", "995", "VALUE:T3" ], [ "533", "995", "VALUE:T3" ], [ "535", "995", "VALUE:T3" ], [ "538", "995", "VALUE:T3" ], [ "540", "995", "VALUE:T3" ], [ "550", "995", "VALUE:T3" ], [ "100", "996", "VALUE:T3" ], [ "150", "996", "VALUE:T3" ], [ "200", "996", "VALUE:T3" ], [ "300", "996", "VALUE:T3" ], [ "305", "996", "VALUE:T3" ], [ "310", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "420", "996", "VALUE:T3" ], [ "500", "996", "VALUE:T3" ], [ "510", "996", "VALUE:T3" ], [ "520", "996", "VALUE:T3" ], [ "530", "996", "VALUE:T3" ], [ "531", "996", "VALUE:T3" ], [ "533", "996", "VALUE:T3" ], [ "535", "996", "VALUE:T3" ], [ "538", "996", "VALUE:T3" ], [ "540", "996", "VALUE:T3" ], [ "550", "996", "VALUE:T3" ], [ "100", "997-998", "ERROR:" ], [ "150", "997-998", "ERROR:" ], [ "200", "997-998", "ERROR:" ], [ "300", "997-998", "ERROR:" ], [ "305", "997-998", "ERROR:" ], [ "310", "997-998", "ERROR:" ], [ "400", "997-998", "ERROR:" ], [ "420", "997-998", "ERROR:" ], [ "500", "997-998", "ERROR:" ], [ "510", "997-998", "ERROR:" ], [ "520", "997-998", "ERROR:" ], [ "530", "997-998", "ERROR:" ], [ "531", "997-998", "ERROR:" ], [ "533", "997-998", "ERROR:" ], [ "535", "997-998", "ERROR:" ], [ "538", "997-998", "ERROR:" ], [ "540", "997-998", "ERROR:" ], [ "550", "997-998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "150", "999", "VALUE:TX" ], [ "200", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "305", "999", "VALUE:T1" ], [ "310", "999", "VALUE:T2" ], [ "400", "999", "VALUE:TX" ], [ "420", "999", "VALUE:TX" ], [ "500", "999", "VALUE:TX" ], [ "510", "999", "VALUE:TX" ], [ "520", "999", "VALUE:TX" ], [ "530", "999", "VALUE:TX" ], [ "531", "999", "VALUE:TX" ], [ "533", "999", "VALUE:TX" ], [ "535", "999", "VALUE:TX" ], [ "538", "999", "VALUE:TX" ], [ "540", "999", "VALUE:T3" ], [ "550", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xbc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xbc.json deleted file mode 100644 index 1b4329829..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xbc.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_ajcc6_xbc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6", - "title" : "Extension Size AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 000, 100 - 550, 950, and 999 ONLY, where histology does not equal 8020, 8021, 8030, 8031, or 8032, and grade does not equal 4, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size and/or CS Extension as shown in this table.", - "last_modified" : "2015-05-27T16:19:16.536Z", - "definition" : [ { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "1,2,3,9", "000", "000", "ERROR:" ], [ "1,2,3,9", "100", "000", "ERROR:" ], [ "1,2,3,9", "200", "000", "ERROR:" ], [ "1,2,3,9", "300", "000", "ERROR:" ], [ "1,2,3,9", "400", "000", "ERROR:" ], [ "1,2,3,9", "405", "000", "ERROR:" ], [ "1,2,3,9", "410", "000", "ERROR:" ], [ "1,2,3,9", "415", "000", "ERROR:" ], [ "1,2,3,9", "420", "000", "ERROR:" ], [ "1,2,3,9", "450", "000", "ERROR:" ], [ "1,2,3,9", "480", "000", "ERROR:" ], [ "1,2,3,9", "490", "000", "ERROR:" ], [ "1,2,3,9", "500", "000", "ERROR:" ], [ "1,2,3,9", "520", "000", "ERROR:" ], [ "1,2,3,9", "550", "000", "ERROR:" ], [ "1,2,3,9", "950", "000", "VALUE:T0" ], [ "1,2,3,9", "999", "000", "ERROR:" ], [ "5,6,7,8", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "000", "ERROR:" ], [ "1,2,3,9", "000", "001-020", "VALUE:TX" ], [ "1,2,3,9", "100", "001-020", "VALUE:T1" ], [ "1,2,3,9", "200", "001-020", "VALUE:T1" ], [ "1,2,3,9", "300", "001-020", "VALUE:T1" ], [ "1,2,3,9", "400", "001-020", "VALUE:T1" ], [ "1,2,3,9", "405", "001-020", "VALUE:T1" ], [ "1,2,3,9", "410", "001-020", "VALUE:T1" ], [ "1,2,3,9", "415", "001-020", "VALUE:T1" ], [ "1,2,3,9", "420", "001-020", "VALUE:T1" ], [ "1,2,3,9", "450", "001-020", "VALUE:T3" ], [ "1,2,3,9", "480", "001-020", "VALUE:T3" ], [ "1,2,3,9", "490", "001-020", "VALUE:T3" ], [ "1,2,3,9", "500", "001-020", "VALUE:T4a" ], [ "1,2,3,9", "520", "001-020", "VALUE:T4a" ], [ "1,2,3,9", "550", "001-020", "VALUE:T4a" ], [ "1,2,3,9", "950", "001-020", "ERROR:" ], [ "1,2,3,9", "999", "001-020", "VALUE:TX" ], [ "5,6,7,8", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "001-020", "ERROR:" ], [ "1,2,3,9", "000", "021-040", "VALUE:TX" ], [ "1,2,3,9", "100", "021-040", "VALUE:T2" ], [ "1,2,3,9", "200", "021-040", "VALUE:T2" ], [ "1,2,3,9", "300", "021-040", "VALUE:T2" ], [ "1,2,3,9", "400", "021-040", "VALUE:T2" ], [ "1,2,3,9", "405", "021-040", "VALUE:T2" ], [ "1,2,3,9", "410", "021-040", "VALUE:T2" ], [ "1,2,3,9", "415", "021-040", "VALUE:T2" ], [ "1,2,3,9", "420", "021-040", "VALUE:T2" ], [ "1,2,3,9", "450", "021-040", "VALUE:T3" ], [ "1,2,3,9", "480", "021-040", "VALUE:T3" ], [ "1,2,3,9", "490", "021-040", "VALUE:T3" ], [ "1,2,3,9", "500", "021-040", "VALUE:T4a" ], [ "1,2,3,9", "520", "021-040", "VALUE:T4a" ], [ "1,2,3,9", "550", "021-040", "VALUE:T4a" ], [ "1,2,3,9", "950", "021-040", "ERROR:" ], [ "1,2,3,9", "999", "021-040", "VALUE:TX" ], [ "5,6,7,8", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "021-040", "ERROR:" ], [ "1,2,3,9", "000", "041-989", "VALUE:TX" ], [ "1,2,3,9", "100", "041-989", "VALUE:T3" ], [ "1,2,3,9", "200", "041-989", "VALUE:T3" ], [ "1,2,3,9", "300", "041-989", "VALUE:T3" ], [ "1,2,3,9", "400", "041-989", "VALUE:T3" ], [ "1,2,3,9", "405", "041-989", "VALUE:T3" ], [ "1,2,3,9", "410", "041-989", "VALUE:T3" ], [ "1,2,3,9", "415", "041-989", "VALUE:T3" ], [ "1,2,3,9", "420", "041-989", "VALUE:T3" ], [ "1,2,3,9", "450", "041-989", "VALUE:T3" ], [ "1,2,3,9", "480", "041-989", "VALUE:T3" ], [ "1,2,3,9", "490", "041-989", "VALUE:T3" ], [ "1,2,3,9", "500", "041-989", "VALUE:T4a" ], [ "1,2,3,9", "520", "041-989", "VALUE:T4a" ], [ "1,2,3,9", "550", "041-989", "VALUE:T4a" ], [ "1,2,3,9", "950", "041-989", "ERROR:" ], [ "1,2,3,9", "999", "041-989", "VALUE:TX" ], [ "5,6,7,8", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "041-989", "ERROR:" ], [ "1,2,3,9", "000", "990-991", "VALUE:TX" ], [ "1,2,3,9", "100", "990-991", "VALUE:T1" ], [ "1,2,3,9", "200", "990-991", "VALUE:T1" ], [ "1,2,3,9", "300", "990-991", "VALUE:T1" ], [ "1,2,3,9", "400", "990-991", "VALUE:T1" ], [ "1,2,3,9", "405", "990-991", "VALUE:T1" ], [ "1,2,3,9", "410", "990-991", "VALUE:T1" ], [ "1,2,3,9", "415", "990-991", "VALUE:T1" ], [ "1,2,3,9", "420", "990-991", "VALUE:T1" ], [ "1,2,3,9", "450", "990-991", "VALUE:T3" ], [ "1,2,3,9", "480", "990-991", "VALUE:T3" ], [ "1,2,3,9", "490", "990-991", "VALUE:T3" ], [ "1,2,3,9", "500", "990-991", "VALUE:T4a" ], [ "1,2,3,9", "520", "990-991", "VALUE:T4a" ], [ "1,2,3,9", "550", "990-991", "VALUE:T4a" ], [ "1,2,3,9", "950", "990-991", "ERROR:" ], [ "1,2,3,9", "999", "990-991", "VALUE:TX" ], [ "5,6,7,8", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "990-991", "ERROR:" ], [ "1,2,3,9", "000", "992", "VALUE:TX" ], [ "1,2,3,9", "100", "992", "VALUE:T1" ], [ "1,2,3,9", "200", "992", "VALUE:T1" ], [ "1,2,3,9", "300", "992", "VALUE:T1" ], [ "1,2,3,9", "400", "992", "VALUE:T1" ], [ "1,2,3,9", "405", "992", "VALUE:T1" ], [ "1,2,3,9", "410", "992", "VALUE:T1" ], [ "1,2,3,9", "415", "992", "VALUE:T1" ], [ "1,2,3,9", "420", "992", "VALUE:T2" ], [ "1,2,3,9", "450", "992", "VALUE:T3" ], [ "1,2,3,9", "480", "992", "VALUE:T3" ], [ "1,2,3,9", "490", "992", "VALUE:T3" ], [ "1,2,3,9", "500", "992", "VALUE:T4a" ], [ "1,2,3,9", "520", "992", "VALUE:T4a" ], [ "1,2,3,9", "550", "992", "VALUE:T4a" ], [ "1,2,3,9", "950", "992", "ERROR:" ], [ "1,2,3,9", "999", "992", "VALUE:TX" ], [ "5,6,7,8", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "992", "ERROR:" ], [ "1,2,3,9", "000", "993-994", "VALUE:TX" ], [ "1,2,3,9", "100", "993-994", "VALUE:T2" ], [ "1,2,3,9", "200", "993-994", "VALUE:T2" ], [ "1,2,3,9", "300", "993-994", "VALUE:T2" ], [ "1,2,3,9", "400", "993-994", "VALUE:T2" ], [ "1,2,3,9", "405", "993-994", "VALUE:T1" ], [ "1,2,3,9", "410", "993-994", "VALUE:T2" ], [ "1,2,3,9", "415", "993-994", "VALUE:T2" ], [ "1,2,3,9", "420", "993-994", "VALUE:T2" ], [ "1,2,3,9", "450", "993-994", "VALUE:T3" ], [ "1,2,3,9", "480", "993-994", "VALUE:T3" ], [ "1,2,3,9", "490", "993-994", "VALUE:T3" ], [ "1,2,3,9", "500", "993-994", "VALUE:T4a" ], [ "1,2,3,9", "520", "993-994", "VALUE:T4a" ], [ "1,2,3,9", "550", "993-994", "VALUE:T4a" ], [ "1,2,3,9", "950", "993-994", "ERROR:" ], [ "1,2,3,9", "999", "993-994", "VALUE:TX" ], [ "5,6,7,8", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "993-994", "ERROR:" ], [ "1,2,3,9", "000", "995", "VALUE:TX" ], [ "1,2,3,9", "100", "995", "VALUE:T3" ], [ "1,2,3,9", "200", "995", "VALUE:T3" ], [ "1,2,3,9", "300", "995", "VALUE:T3" ], [ "1,2,3,9", "400", "995", "VALUE:T3" ], [ "1,2,3,9", "405", "995", "VALUE:T1" ], [ "1,2,3,9", "410", "995", "VALUE:T3" ], [ "1,2,3,9", "415", "995", "VALUE:T3" ], [ "1,2,3,9", "420", "995", "VALUE:T3" ], [ "1,2,3,9", "450", "995", "VALUE:T3" ], [ "1,2,3,9", "480", "995", "VALUE:T3" ], [ "1,2,3,9", "490", "995", "VALUE:T3" ], [ "1,2,3,9", "500", "995", "VALUE:T4a" ], [ "1,2,3,9", "520", "995", "VALUE:T4a" ], [ "1,2,3,9", "550", "995", "VALUE:T4a" ], [ "1,2,3,9", "950", "995", "ERROR:" ], [ "1,2,3,9", "999", "995", "VALUE:TX" ], [ "5,6,7,8", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "995", "ERROR:" ], [ "1,2,3,9", "000", "996", "VALUE:TX" ], [ "1,2,3,9", "100", "996", "VALUE:T3" ], [ "1,2,3,9", "200", "996", "VALUE:T3" ], [ "1,2,3,9", "300", "996", "VALUE:T3" ], [ "1,2,3,9", "400", "996", "VALUE:T3" ], [ "1,2,3,9", "405", "996", "VALUE:T3" ], [ "1,2,3,9", "410", "996", "VALUE:T3" ], [ "1,2,3,9", "415", "996", "VALUE:T3" ], [ "1,2,3,9", "420", "996", "VALUE:T3" ], [ "1,2,3,9", "450", "996", "VALUE:T3" ], [ "1,2,3,9", "480", "996", "VALUE:T3" ], [ "1,2,3,9", "490", "996", "VALUE:T3" ], [ "1,2,3,9", "500", "996", "VALUE:T3" ], [ "1,2,3,9", "520", "996", "VALUE:T3" ], [ "1,2,3,9", "550", "996", "VALUE:T3" ], [ "1,2,3,9", "950", "996", "ERROR:" ], [ "1,2,3,9", "999", "996", "VALUE:TX" ], [ "5,6,7,8", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "996", "ERROR:" ], [ "1,2,3,9", "000", "999", "VALUE:TX" ], [ "1,2,3,9", "100", "999", "VALUE:TX" ], [ "1,2,3,9", "200", "999", "VALUE:TX" ], [ "1,2,3,9", "300", "999", "VALUE:TX" ], [ "1,2,3,9", "400", "999", "VALUE:TX" ], [ "1,2,3,9", "405", "999", "VALUE:T1" ], [ "1,2,3,9", "410", "999", "VALUE:T1" ], [ "1,2,3,9", "415", "999", "VALUE:T1" ], [ "1,2,3,9", "420", "999", "VALUE:T2" ], [ "1,2,3,9", "450", "999", "VALUE:T3" ], [ "1,2,3,9", "480", "999", "VALUE:T3" ], [ "1,2,3,9", "490", "999", "VALUE:T3" ], [ "1,2,3,9", "500", "999", "VALUE:T4a" ], [ "1,2,3,9", "520", "999", "VALUE:T4a" ], [ "1,2,3,9", "550", "999", "VALUE:T4a" ], [ "1,2,3,9", "950", "999", "ERROR:" ], [ "1,2,3,9", "999", "999", "VALUE:TX" ], [ "5,6,7,8", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "999", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xda.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xda.json deleted file mode 100644 index f357cc733..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xda.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc6_xda", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6", - "title" : "Extension Size AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 300, 400, 420, 460, 465, 560, and 650 ONLY, the T category is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:16.613Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "300", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "420", "000", "ERROR:" ], [ "460", "000", "ERROR:" ], [ "465", "000", "ERROR:" ], [ "650", "000", "ERROR:" ], [ "300", "001-050", "VALUE:T2" ], [ "400", "001-050", "VALUE:T2" ], [ "420", "001-050", "VALUE:T2" ], [ "460", "001-050", "VALUE:T2" ], [ "465", "001-050", "VALUE:T2" ], [ "650", "001-050", "VALUE:T2" ], [ "300", "051-989", "VALUE:T3" ], [ "400", "051-989", "VALUE:T3" ], [ "420", "051-989", "VALUE:T3" ], [ "460", "051-989", "VALUE:T3" ], [ "465", "051-989", "VALUE:T3" ], [ "650", "051-989", "VALUE:T3" ], [ "300", "990-995", "VALUE:T2" ], [ "400", "990-995", "VALUE:T2" ], [ "420", "990-995", "VALUE:T2" ], [ "460", "990-995", "VALUE:T2" ], [ "465", "990-995", "VALUE:T2" ], [ "650", "990-995", "VALUE:T2" ], [ "300", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "420", "996", "VALUE:T3" ], [ "460", "996", "VALUE:T3" ], [ "465", "996", "VALUE:T3" ], [ "650", "996", "VALUE:T3" ], [ "300", "997-998", "ERROR:" ], [ "400", "997-998", "ERROR:" ], [ "420", "997-998", "ERROR:" ], [ "460", "997-998", "ERROR:" ], [ "465", "997-998", "ERROR:" ], [ "650", "997-998", "ERROR:" ], [ "300", "999", "VALUE:TX" ], [ "400", "999", "VALUE:TX" ], [ "420", "999", "VALUE:TX" ], [ "460", "999", "VALUE:TX" ], [ "465", "999", "VALUE:TX" ], [ "650", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xdk.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xdk.json deleted file mode 100644 index a9d48606d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xdk.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc6_xdk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6", - "title" : "Extension Size AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 100 through 568, 575, and 580 ONLY, the T category for AJCC 6th Edition staging is assigned based on value of CS Tumor Size, as follows:", - "last_modified" : "2015-05-27T16:19:16.661Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "105", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "205", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "305", "000", "ERROR:" ], [ "330", "000", "ERROR:" ], [ "350", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "530", "000", "ERROR:" ], [ "550", "000", "ERROR:" ], [ "555", "000", "ERROR:" ], [ "560", "000", "ERROR:" ], [ "565", "000", "ERROR:" ], [ "566", "000", "ERROR:" ], [ "568", "000", "ERROR:" ], [ "575", "000", "ERROR:" ], [ "580", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "105", "001-020", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1" ], [ "205", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "305", "001-020", "VALUE:T1" ], [ "330", "001-020", "VALUE:T1" ], [ "350", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1" ], [ "530", "001-020", "VALUE:T1" ], [ "550", "001-020", "VALUE:T1" ], [ "555", "001-020", "VALUE:T1" ], [ "560", "001-020", "VALUE:T1" ], [ "565", "001-020", "VALUE:T1" ], [ "566", "001-020", "VALUE:T1" ], [ "568", "001-020", "VALUE:T1" ], [ "575", "001-020", "VALUE:T1" ], [ "580", "001-020", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2" ], [ "105", "021-040", "VALUE:T2" ], [ "200", "021-040", "VALUE:T2" ], [ "205", "021-040", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2" ], [ "305", "021-040", "VALUE:T2" ], [ "330", "021-040", "VALUE:T2" ], [ "350", "021-040", "VALUE:T2" ], [ "400", "021-040", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2" ], [ "530", "021-040", "VALUE:T2" ], [ "550", "021-040", "VALUE:T2" ], [ "555", "021-040", "VALUE:T2" ], [ "560", "021-040", "VALUE:T2" ], [ "565", "021-040", "VALUE:T2" ], [ "566", "021-040", "VALUE:T2" ], [ "568", "021-040", "VALUE:T2" ], [ "575", "021-040", "VALUE:T2" ], [ "580", "021-040", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3" ], [ "105", "041-989", "VALUE:T3" ], [ "200", "041-989", "VALUE:T3" ], [ "205", "041-989", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3" ], [ "305", "041-989", "VALUE:T3" ], [ "330", "041-989", "VALUE:T3" ], [ "350", "041-989", "VALUE:T3" ], [ "400", "041-989", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3" ], [ "530", "041-989", "VALUE:T3" ], [ "550", "041-989", "VALUE:T3" ], [ "555", "041-989", "VALUE:T3" ], [ "560", "041-989", "VALUE:T3" ], [ "565", "041-989", "VALUE:T3" ], [ "566", "041-989", "VALUE:T3" ], [ "568", "041-989", "VALUE:T3" ], [ "575", "041-989", "VALUE:T3" ], [ "580", "041-989", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1" ], [ "105", "990-991", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1" ], [ "205", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "305", "990-991", "VALUE:T1" ], [ "330", "990-991", "VALUE:T1" ], [ "350", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1" ], [ "530", "990-991", "VALUE:T1" ], [ "550", "990-991", "VALUE:T1" ], [ "555", "990-991", "VALUE:T1" ], [ "560", "990-991", "VALUE:T1" ], [ "565", "990-991", "VALUE:T1" ], [ "566", "990-991", "VALUE:T1" ], [ "568", "990-991", "VALUE:T1" ], [ "575", "990-991", "VALUE:T1" ], [ "580", "990-991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "105", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T1" ], [ "205", "992", "VALUE:T1" ], [ "300", "992", "VALUE:T1" ], [ "305", "992", "VALUE:T1" ], [ "330", "992", "VALUE:T1" ], [ "350", "992", "VALUE:T2" ], [ "400", "992", "VALUE:T1" ], [ "500", "992", "VALUE:T1" ], [ "530", "992", "VALUE:T1" ], [ "550", "992", "VALUE:T1" ], [ "555", "992", "VALUE:T1" ], [ "560", "992", "VALUE:T1" ], [ "565", "992", "VALUE:T1" ], [ "566", "992", "VALUE:T1" ], [ "568", "992", "VALUE:T1" ], [ "575", "992", "VALUE:T3" ], [ "580", "992", "VALUE:T3" ], [ "100", "993-994", "VALUE:T2" ], [ "105", "993-994", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2" ], [ "205", "993-994", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2" ], [ "305", "993-994", "VALUE:T2" ], [ "330", "993-994", "VALUE:T1" ], [ "350", "993-994", "VALUE:T2" ], [ "400", "993-994", "VALUE:T2" ], [ "500", "993-994", "VALUE:T2" ], [ "530", "993-994", "VALUE:T2" ], [ "550", "993-994", "VALUE:T2" ], [ "555", "993-994", "VALUE:T2" ], [ "560", "993-994", "VALUE:T2" ], [ "565", "993-994", "VALUE:T2" ], [ "566", "993-994", "VALUE:T2" ], [ "568", "993-994", "VALUE:T2" ], [ "575", "993-994", "VALUE:T3" ], [ "580", "993-994", "VALUE:T3" ], [ "100", "995", "VALUE:T3" ], [ "105", "995", "VALUE:T3" ], [ "200", "995", "VALUE:T3" ], [ "205", "995", "VALUE:T3" ], [ "300", "995", "VALUE:T3" ], [ "305", "995", "VALUE:T3" ], [ "330", "995", "VALUE:T1" ], [ "350", "995", "VALUE:T2" ], [ "400", "995", "VALUE:T3" ], [ "500", "995", "VALUE:T3" ], [ "530", "995", "VALUE:T3" ], [ "550", "995", "VALUE:T3" ], [ "555", "995", "VALUE:T3" ], [ "560", "995", "VALUE:T3" ], [ "565", "995", "VALUE:T3" ], [ "566", "995", "VALUE:T3" ], [ "568", "995", "VALUE:T3" ], [ "575", "995", "VALUE:T3" ], [ "580", "995", "VALUE:T3" ], [ "100", "996", "VALUE:T3" ], [ "105", "996", "VALUE:T3" ], [ "200", "996", "VALUE:T3" ], [ "205", "996", "VALUE:T3" ], [ "300", "996", "VALUE:T3" ], [ "305", "996", "VALUE:T3" ], [ "330", "996", "VALUE:T3" ], [ "350", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "500", "996", "VALUE:T3" ], [ "530", "996", "VALUE:T3" ], [ "550", "996", "VALUE:T3" ], [ "555", "996", "VALUE:T3" ], [ "560", "996", "VALUE:T3" ], [ "565", "996", "VALUE:T3" ], [ "566", "996", "VALUE:T3" ], [ "568", "996", "VALUE:T3" ], [ "575", "996", "VALUE:T3" ], [ "580", "996", "VALUE:T3" ], [ "100", "997-998", "ERROR:" ], [ "105", "997-998", "ERROR:" ], [ "200", "997-998", "ERROR:" ], [ "205", "997-998", "ERROR:" ], [ "300", "997-998", "ERROR:" ], [ "305", "997-998", "ERROR:" ], [ "330", "997-998", "ERROR:" ], [ "350", "997-998", "ERROR:" ], [ "400", "997-998", "ERROR:" ], [ "500", "997-998", "ERROR:" ], [ "530", "997-998", "ERROR:" ], [ "550", "997-998", "ERROR:" ], [ "555", "997-998", "ERROR:" ], [ "560", "997-998", "ERROR:" ], [ "565", "997-998", "ERROR:" ], [ "566", "997-998", "ERROR:" ], [ "568", "997-998", "ERROR:" ], [ "575", "997-998", "ERROR:" ], [ "580", "997-998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "105", "999", "VALUE:TX" ], [ "200", "999", "VALUE:TX" ], [ "205", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "305", "999", "VALUE:TX" ], [ "330", "999", "VALUE:T1" ], [ "350", "999", "VALUE:T2" ], [ "400", "999", "VALUE:TX" ], [ "500", "999", "VALUE:TX" ], [ "530", "999", "VALUE:TX" ], [ "550", "999", "VALUE:TX" ], [ "555", "999", "VALUE:TX" ], [ "560", "999", "VALUE:TX" ], [ "565", "999", "VALUE:TX" ], [ "566", "999", "VALUE:TX" ], [ "568", "999", "VALUE:TX" ], [ "575", "999", "VALUE:T3" ], [ "580", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xea.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xea.json deleted file mode 100644 index 5712add6c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xea.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc6_xea", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6", - "title" : "Extension Size AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 100- 405 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size and CS Extension as shown in this table.", - "last_modified" : "2015-05-27T16:19:16.724Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "405", "000", "ERROR:" ], [ "100", "001-025", "VALUE:T1" ], [ "300", "001-025", "VALUE:T1" ], [ "400", "001-025", "VALUE:T3a" ], [ "405", "001-025", "VALUE:T3a" ], [ "100", "026-050", "VALUE:T2" ], [ "300", "026-050", "VALUE:T2" ], [ "400", "026-050", "VALUE:T3a" ], [ "405", "026-050", "VALUE:T3a" ], [ "100", "051-989", "VALUE:T2" ], [ "300", "051-989", "VALUE:T2" ], [ "400", "051-989", "VALUE:T3b" ], [ "405", "051-989", "VALUE:T3b" ], [ "100", "990-992", "VALUE:T1" ], [ "300", "990-992", "VALUE:T1" ], [ "400", "990-992", "VALUE:T3a" ], [ "405", "990-992", "VALUE:T3a" ], [ "100", "993-995", "VALUE:T2" ], [ "300", "993-995", "VALUE:T2" ], [ "400", "993-995", "VALUE:T3a" ], [ "405", "993-995", "VALUE:T3a" ], [ "100", "996", "VALUE:T2" ], [ "300", "996", "VALUE:T2" ], [ "400", "996", "VALUE:T3b" ], [ "405", "996", "VALUE:T3b" ], [ "100", "997-998", "ERROR:" ], [ "300", "997-998", "ERROR:" ], [ "400", "997-998", "ERROR:" ], [ "405", "997-998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "400", "999", "VALUE:T3NOS" ], [ "405", "999", "VALUE:T3NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xfw.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xfw.json deleted file mode 100644 index 75c0d65ef..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xfw.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc6_xfw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6", - "title" : "Extension Size AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 100, 400, 500, and 510 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:16.768Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "510", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1" ], [ "510", "001-020", "VALUE:T1" ], [ "100", "021-050", "VALUE:T2" ], [ "400", "021-050", "VALUE:T2" ], [ "500", "021-050", "VALUE:T2" ], [ "510", "021-050", "VALUE:T2" ], [ "100", "051-989", "VALUE:T3" ], [ "400", "051-989", "VALUE:T3" ], [ "500", "051-989", "VALUE:T3" ], [ "510", "051-989", "VALUE:T3" ], [ "100", "990-992", "VALUE:T1" ], [ "400", "990-992", "VALUE:T1" ], [ "500", "990-992", "VALUE:T1" ], [ "510", "990-992", "VALUE:T1" ], [ "100", "993-995", "VALUE:T2" ], [ "400", "993-995", "VALUE:T2" ], [ "500", "993-995", "VALUE:T2" ], [ "510", "993-995", "VALUE:T2" ], [ "100", "999", "VALUE:TX" ], [ "400", "999", "VALUE:TX" ], [ "500", "999", "VALUE:TX" ], [ "510", "999", "VALUE:T1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xir.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xir.json deleted file mode 100644 index e405ee9ff..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xir.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc6_xir", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6", - "title" : "Extension Size AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 100-800, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:16.813Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "350", "000", "ERROR:" ], [ "360", "000", "ERROR:" ], [ "370", "000", "ERROR:" ], [ "380", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "600", "000", "ERROR:" ], [ "800", "000", "ERROR:" ], [ "100", "001-050", "VALUE:T1b" ], [ "300", "001-050", "VALUE:T1b" ], [ "350", "001-050", "VALUE:T1b" ], [ "360", "001-050", "VALUE:T1b" ], [ "370", "001-050", "VALUE:T1b" ], [ "380", "001-050", "VALUE:T1b" ], [ "400", "001-050", "VALUE:T1b" ], [ "600", "001-050", "VALUE:T1b" ], [ "800", "001-050", "VALUE:T1b" ], [ "100", "051-989", "VALUE:T2b" ], [ "300", "051-989", "VALUE:T2b" ], [ "350", "051-989", "VALUE:T2b" ], [ "360", "051-989", "VALUE:T2b" ], [ "370", "051-989", "VALUE:T2b" ], [ "380", "051-989", "VALUE:T2b" ], [ "400", "051-989", "VALUE:T2b" ], [ "600", "051-989", "VALUE:T2b" ], [ "800", "051-989", "VALUE:T2b" ], [ "100", "990-995", "VALUE:T1b" ], [ "300", "990-995", "VALUE:T1b" ], [ "350", "990-995", "VALUE:T1b" ], [ "360", "990-995", "VALUE:T1b" ], [ "370", "990-995", "VALUE:T1b" ], [ "380", "990-995", "VALUE:T1b" ], [ "400", "990-995", "VALUE:T1b" ], [ "600", "990-995", "VALUE:T1b" ], [ "800", "990-995", "VALUE:T1b" ], [ "100", "996-997", "VALUE:T2b" ], [ "300", "996-997", "VALUE:T2b" ], [ "350", "996-997", "VALUE:T2b" ], [ "360", "996-997", "VALUE:T2b" ], [ "370", "996-997", "VALUE:T2b" ], [ "380", "996-997", "VALUE:T2b" ], [ "400", "996-997", "VALUE:T2b" ], [ "600", "996-997", "VALUE:T2b" ], [ "800", "996-997", "VALUE:T2b" ], [ "100", "998", "ERROR:" ], [ "300", "998", "ERROR:" ], [ "350", "998", "ERROR:" ], [ "360", "998", "ERROR:" ], [ "370", "998", "ERROR:" ], [ "380", "998", "ERROR:" ], [ "400", "998", "ERROR:" ], [ "600", "998", "ERROR:" ], [ "800", "998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "350", "999", "VALUE:T1b" ], [ "360", "999", "VALUE:T1b" ], [ "370", "999", "VALUE:T2b" ], [ "380", "999", "VALUE:T2b" ], [ "400", "999", "VALUE:TX" ], [ "600", "999", "VALUE:TX" ], [ "800", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xji.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xji.json deleted file mode 100644 index caa76bb5a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xji.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc6_xji", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6", - "title" : "Extension Size AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 100-400 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:16.864Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "305", "000", "ERROR:" ], [ "310", "000", "ERROR:" ], [ "320", "000", "ERROR:" ], [ "330", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "305", "001-020", "VALUE:T1" ], [ "310", "001-020", "VALUE:T1" ], [ "320", "001-020", "VALUE:T1" ], [ "330", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "100", "021-050", "VALUE:T2" ], [ "300", "021-050", "VALUE:T2" ], [ "305", "021-050", "VALUE:T2" ], [ "310", "021-050", "VALUE:T2" ], [ "320", "021-050", "VALUE:T2" ], [ "330", "021-050", "VALUE:T3" ], [ "400", "021-050", "VALUE:T2" ], [ "100", "051-989", "VALUE:T3" ], [ "300", "051-989", "VALUE:T3" ], [ "305", "051-989", "VALUE:T3" ], [ "310", "051-989", "VALUE:T3" ], [ "320", "051-989", "VALUE:T3" ], [ "330", "051-989", "VALUE:T3" ], [ "400", "051-989", "VALUE:T3" ], [ "100", "990-992", "VALUE:T1" ], [ "300", "990-992", "VALUE:T1" ], [ "305", "990-992", "VALUE:T1" ], [ "310", "990-992", "VALUE:T1" ], [ "320", "990-992", "VALUE:T1" ], [ "330", "990-992", "VALUE:T1" ], [ "400", "990-992", "VALUE:T1" ], [ "100", "993-995", "VALUE:T2" ], [ "300", "993-995", "VALUE:T2" ], [ "305", "993-995", "VALUE:T2" ], [ "310", "993-995", "VALUE:T2" ], [ "320", "993-995", "VALUE:T2" ], [ "330", "993-995", "VALUE:T2" ], [ "400", "993-995", "VALUE:T2" ], [ "100", "996", "VALUE:T3" ], [ "300", "996", "VALUE:T3" ], [ "305", "996", "VALUE:T3" ], [ "310", "996", "VALUE:T1" ], [ "320", "996", "VALUE:T2" ], [ "330", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "100", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "305", "999", "VALUE:T1" ], [ "310", "999", "VALUE:T1" ], [ "320", "999", "VALUE:T2" ], [ "330", "999", "VALUE:T3" ], [ "400", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xjj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xjj.json deleted file mode 100644 index e3168e30d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xjj.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc6_xjj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6", - "title" : "Extension Size AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 110-300 and 410-470 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size and CS Extension, as shown in this table.", - "last_modified" : "2015-05-27T16:19:16.909Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "130", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "410", "000", "ERROR:" ], [ "420", "000", "ERROR:" ], [ "430", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "460", "000", "ERROR:" ], [ "470", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "510", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1NOS" ], [ "110", "001-020", "VALUE:T1a" ], [ "120", "001-020", "VALUE:T1b" ], [ "130", "001-020", "VALUE:T1NOS" ], [ "150", "001-020", "VALUE:T1NOS" ], [ "200", "001-020", "VALUE:T1NOS" ], [ "300", "001-020", "VALUE:T1NOS" ], [ "410", "001-020", "VALUE:T1a" ], [ "420", "001-020", "VALUE:T1b" ], [ "430", "001-020", "VALUE:T1NOS" ], [ "450", "001-020", "VALUE:T1NOS" ], [ "460", "001-020", "VALUE:T1NOS" ], [ "470", "001-020", "VALUE:T1NOS" ], [ "500", "001-020", "VALUE:T1NOS" ], [ "510", "001-020", "VALUE:T1NOS" ], [ "100", "021-989", "VALUE:T2" ], [ "110", "021-989", "VALUE:T2" ], [ "120", "021-989", "VALUE:T2" ], [ "130", "021-989", "VALUE:T2" ], [ "150", "021-989", "VALUE:T2" ], [ "200", "021-989", "VALUE:T2" ], [ "300", "021-989", "VALUE:T2" ], [ "410", "021-989", "VALUE:T2" ], [ "420", "021-989", "VALUE:T2" ], [ "430", "021-989", "VALUE:T2" ], [ "450", "021-989", "VALUE:T2" ], [ "460", "021-989", "VALUE:T2" ], [ "470", "021-989", "VALUE:T2" ], [ "500", "021-989", "VALUE:T2" ], [ "510", "021-989", "VALUE:T2" ], [ "100", "990-992", "VALUE:T1NOS" ], [ "110", "990-992", "VALUE:T1a" ], [ "120", "990-992", "VALUE:T1b" ], [ "130", "990-992", "VALUE:T1NOS" ], [ "150", "990-992", "VALUE:T1NOS" ], [ "200", "990-992", "VALUE:T1NOS" ], [ "300", "990-992", "VALUE:T1NOS" ], [ "410", "990-992", "VALUE:T1a" ], [ "420", "990-992", "VALUE:T1b" ], [ "430", "990-992", "VALUE:T1NOS" ], [ "450", "990-992", "VALUE:T1NOS" ], [ "460", "990-992", "VALUE:T1NOS" ], [ "470", "990-992", "VALUE:T1NOS" ], [ "500", "990-992", "VALUE:T1NOS" ], [ "510", "990-992", "VALUE:T1NOS" ], [ "100", "993-995", "VALUE:T2" ], [ "110", "993-995", "VALUE:T2" ], [ "120", "993-995", "VALUE:T2" ], [ "130", "993-995", "VALUE:T2" ], [ "150", "993-995", "VALUE:T2" ], [ "200", "993-995", "VALUE:T2" ], [ "300", "993-995", "VALUE:T2" ], [ "410", "993-995", "VALUE:T2" ], [ "420", "993-995", "VALUE:T2" ], [ "430", "993-995", "VALUE:T2" ], [ "450", "993-995", "VALUE:T2" ], [ "460", "993-995", "VALUE:T2" ], [ "470", "993-995", "VALUE:T2" ], [ "500", "993-995", "VALUE:T2" ], [ "510", "993-995", "VALUE:T2" ], [ "100", "996", "VALUE:T2" ], [ "110", "996", "VALUE:T2" ], [ "120", "996", "VALUE:T2" ], [ "130", "996", "VALUE:T2" ], [ "150", "996", "VALUE:T2" ], [ "200", "996", "VALUE:T2" ], [ "300", "996", "VALUE:T2" ], [ "410", "996", "VALUE:T2" ], [ "420", "996", "VALUE:T2" ], [ "430", "996", "VALUE:T2" ], [ "450", "996", "VALUE:T2" ], [ "460", "996", "VALUE:T2" ], [ "470", "996", "VALUE:T2" ], [ "500", "996", "VALUE:T2" ], [ "510", "996", "VALUE:T2" ], [ "100", "999", "VALUE:TX" ], [ "110", "999", "VALUE:TX" ], [ "120", "999", "VALUE:TX" ], [ "130", "999", "VALUE:TX" ], [ "150", "999", "VALUE:TX" ], [ "200", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "410", "999", "VALUE:TX" ], [ "420", "999", "VALUE:TX" ], [ "430", "999", "VALUE:TX" ], [ "450", "999", "VALUE:T1NOS" ], [ "460", "999", "VALUE:T2" ], [ "470", "999", "VALUE:T2" ], [ "500", "999", "VALUE:TX" ], [ "510", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqb.json deleted file mode 100644 index 77a2b2973..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqb.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc6_xqb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6", - "title" : "Extension Size AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 100-310, 400, and 450 ONLY, the AJCC 6th Edition T category is assigned based on value of tumor size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:16.961Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "305", "000", "ERROR:" ], [ "310", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "305", "001-020", "VALUE:T1" ], [ "310", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "450", "001-020", "VALUE:T1" ], [ "100", "021-050", "VALUE:T2" ], [ "300", "021-050", "VALUE:T2" ], [ "305", "021-050", "VALUE:T2" ], [ "310", "021-050", "VALUE:T2" ], [ "400", "021-050", "VALUE:T2" ], [ "450", "021-050", "VALUE:T2" ], [ "100", "051-989", "VALUE:T3" ], [ "300", "051-989", "VALUE:T3" ], [ "305", "051-989", "VALUE:T3" ], [ "310", "051-989", "VALUE:T3" ], [ "400", "051-989", "VALUE:T3" ], [ "450", "051-989", "VALUE:T3" ], [ "100", "990-992", "VALUE:T1" ], [ "300", "990-992", "VALUE:T1" ], [ "305", "990-992", "VALUE:T1" ], [ "310", "990-992", "VALUE:T1" ], [ "400", "990-992", "VALUE:T1" ], [ "450", "990-992", "VALUE:T1" ], [ "100", "993-995", "VALUE:T2" ], [ "300", "993-995", "VALUE:T2" ], [ "305", "993-995", "VALUE:T2" ], [ "310", "993-995", "VALUE:T2" ], [ "400", "993-995", "VALUE:T2" ], [ "450", "993-995", "VALUE:T2" ], [ "100", "996-998", "ERROR:" ], [ "300", "996-998", "ERROR:" ], [ "305", "996-998", "ERROR:" ], [ "310", "996-998", "ERROR:" ], [ "400", "996-998", "ERROR:" ], [ "450", "996-998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "305", "999", "VALUE:TX" ], [ "310", "999", "VALUE:T1" ], [ "400", "999", "VALUE:TX" ], [ "450", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqc.json deleted file mode 100644 index 93b0437fe..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc6_xqc.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc6_xqc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC6", - "title" : "Extension Size AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 110-300 and 410-470 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size and CS Extension, as shown in this table.", - "last_modified" : "2015-05-27T16:19:17.006Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "125", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "410", "000", "ERROR:" ], [ "420", "000", "ERROR:" ], [ "425", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "460", "000", "ERROR:" ], [ "470", "000", "ERROR:" ], [ "110", "001-020", "VALUE:T1a" ], [ "120", "001-020", "VALUE:T1b" ], [ "125", "001-020", "VALUE:T1NOS" ], [ "200", "001-020", "VALUE:T1NOS" ], [ "300", "001-020", "VALUE:T1NOS" ], [ "410", "001-020", "VALUE:T1a" ], [ "420", "001-020", "VALUE:T1b" ], [ "425", "001-020", "VALUE:T1NOS" ], [ "450", "001-020", "VALUE:T1a" ], [ "460", "001-020", "VALUE:T1b" ], [ "470", "001-020", "VALUE:T1NOS" ], [ "110", "021-989", "VALUE:T2" ], [ "120", "021-989", "VALUE:T2" ], [ "125", "021-989", "VALUE:T2" ], [ "200", "021-989", "VALUE:T2" ], [ "300", "021-989", "VALUE:T2" ], [ "410", "021-989", "VALUE:T2" ], [ "420", "021-989", "VALUE:T2" ], [ "425", "021-989", "VALUE:T2" ], [ "450", "021-989", "VALUE:T2" ], [ "460", "021-989", "VALUE:T2" ], [ "470", "021-989", "VALUE:T2" ], [ "110", "990-992", "VALUE:T1a" ], [ "120", "990-992", "VALUE:T1b" ], [ "125", "990-992", "VALUE:T1NOS" ], [ "200", "990-992", "VALUE:T1NOS" ], [ "300", "990-992", "VALUE:T1NOS" ], [ "410", "990-992", "VALUE:T1a" ], [ "420", "990-992", "VALUE:T1b" ], [ "425", "990-992", "VALUE:T1NOS" ], [ "450", "990-992", "VALUE:T1a" ], [ "460", "990-992", "VALUE:T1b" ], [ "470", "990-992", "VALUE:T1NOS" ], [ "110", "993-995", "VALUE:T2" ], [ "120", "993-995", "VALUE:T2" ], [ "125", "993-995", "VALUE:T2" ], [ "200", "993-995", "VALUE:T2" ], [ "300", "993-995", "VALUE:T2" ], [ "410", "993-995", "VALUE:T2" ], [ "420", "993-995", "VALUE:T2" ], [ "425", "993-995", "VALUE:T2" ], [ "450", "993-995", "VALUE:T2" ], [ "460", "993-995", "VALUE:T2" ], [ "470", "993-995", "VALUE:T2" ], [ "110", "996-998", "ERROR:" ], [ "120", "996-998", "ERROR:" ], [ "125", "996-998", "ERROR:" ], [ "200", "996-998", "ERROR:" ], [ "300", "996-998", "ERROR:" ], [ "410", "996-998", "ERROR:" ], [ "420", "996-998", "ERROR:" ], [ "425", "996-998", "ERROR:" ], [ "450", "996-998", "ERROR:" ], [ "460", "996-998", "ERROR:" ], [ "470", "996-998", "ERROR:" ], [ "110", "999", "VALUE:TX" ], [ "120", "999", "VALUE:TX" ], [ "125", "999", "VALUE:TX" ], [ "200", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "410", "999", "VALUE:TX" ], [ "420", "999", "VALUE:TX" ], [ "425", "999", "VALUE:TX" ], [ "450", "999", "VALUE:T1a" ], [ "460", "999", "VALUE:T1b" ], [ "470", "999", "VALUE:T1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xbl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xbl.json deleted file mode 100644 index 98b3a0e80..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xbl.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xbl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 110, 125-300, 410, 425, 450, and 470 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size and CS Extension, as shown in this table.", - "last_modified" : "2015-05-27T16:19:17.054Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "110", "000", "ERROR:" ], [ "125", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "410", "000", "ERROR:" ], [ "425", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "470", "000", "ERROR:" ], [ "110", "001-020", "VALUE:T1a" ], [ "125", "001-020", "VALUE:T1NOS" ], [ "200", "001-020", "VALUE:T1NOS" ], [ "300", "001-020", "VALUE:T1NOS" ], [ "410", "001-020", "VALUE:T1a" ], [ "425", "001-020", "VALUE:T1NOS" ], [ "450", "001-020", "VALUE:T1a" ], [ "470", "001-020", "VALUE:T1NOS" ], [ "110", "021-989", "VALUE:T1b" ], [ "125", "021-989", "VALUE:T1b" ], [ "200", "021-989", "VALUE:T1b" ], [ "300", "021-989", "VALUE:T1b" ], [ "410", "021-989", "VALUE:T1b" ], [ "425", "021-989", "VALUE:T1b" ], [ "450", "021-989", "VALUE:T1b" ], [ "470", "021-989", "VALUE:T1b" ], [ "110", "990-992", "VALUE:T1a" ], [ "125", "990-992", "VALUE:T1NOS" ], [ "200", "990-992", "VALUE:T1NOS" ], [ "300", "990-992", "VALUE:T1NOS" ], [ "410", "990-992", "VALUE:T1a" ], [ "425", "990-992", "VALUE:T1NOS" ], [ "450", "990-992", "VALUE:T1a" ], [ "470", "990-992", "VALUE:T1NOS" ], [ "110", "993-995", "VALUE:T1b" ], [ "125", "993-995", "VALUE:T1b" ], [ "200", "993-995", "VALUE:T1b" ], [ "300", "993-995", "VALUE:T1b" ], [ "410", "993-995", "VALUE:T1b" ], [ "425", "993-995", "VALUE:T1b" ], [ "450", "993-995", "VALUE:T1b" ], [ "470", "993-995", "VALUE:T1b" ], [ "110", "996-998", "ERROR:" ], [ "125", "996-998", "ERROR:" ], [ "200", "996-998", "ERROR:" ], [ "300", "996-998", "ERROR:" ], [ "410", "996-998", "ERROR:" ], [ "425", "996-998", "ERROR:" ], [ "450", "996-998", "ERROR:" ], [ "470", "996-998", "ERROR:" ], [ "110", "999", "VALUE:T1NOS" ], [ "125", "999", "VALUE:T1NOS" ], [ "200", "999", "VALUE:T1NOS" ], [ "300", "999", "VALUE:T1NOS" ], [ "410", "999", "VALUE:T1NOS" ], [ "425", "999", "VALUE:T1NOS" ], [ "450", "999", "VALUE:T1a" ], [ "470", "999", "VALUE:T1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdj.json deleted file mode 100644 index f2036fc06..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdj.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xdj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-120 160-300, 320-335, 370, 401-410, and 451 ONLY, the T category for AJCC 7staging is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:17.103Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "160", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "320", "000", "ERROR:" ], [ "330", "000", "ERROR:" ], [ "335", "000", "ERROR:" ], [ "370", "000", "ERROR:" ], [ "401", "000", "ERROR:" ], [ "410", "000", "ERROR:" ], [ "451", "000", "ERROR:" ], [ "458", "000", "ERROR:" ], [ "100", "001-010", "VALUE:T1a" ], [ "110", "001-010", "VALUE:T1a" ], [ "120", "001-010", "VALUE:T1a" ], [ "160", "001-010", "VALUE:T1a" ], [ "200", "001-010", "VALUE:T1a" ], [ "300", "001-010", "VALUE:T1a" ], [ "320", "001-010", "VALUE:T1a" ], [ "330", "001-010", "VALUE:T1a" ], [ "335", "001-010", "VALUE:T1a" ], [ "370", "001-010", "VALUE:T2" ], [ "401", "001-010", "VALUE:T1a" ], [ "410", "001-010", "VALUE:T2" ], [ "451", "001-010", "VALUE:T1a" ], [ "458", "001-010", "VALUE:T1a" ], [ "100", "011-020", "VALUE:T1b" ], [ "110", "011-020", "VALUE:T1b" ], [ "120", "011-020", "VALUE:T1b" ], [ "160", "011-020", "VALUE:T1b" ], [ "200", "011-020", "VALUE:T1b" ], [ "300", "011-020", "VALUE:T1b" ], [ "320", "011-020", "VALUE:T1b" ], [ "330", "011-020", "VALUE:T1b" ], [ "335", "011-020", "VALUE:T1b" ], [ "370", "011-020", "VALUE:T2" ], [ "401", "011-020", "VALUE:T1b" ], [ "410", "011-020", "VALUE:T2" ], [ "451", "011-020", "VALUE:T1b" ], [ "458", "011-020", "VALUE:T1b" ], [ "100", "021-040", "VALUE:T2" ], [ "110", "021-040", "VALUE:T2" ], [ "120", "021-040", "VALUE:T2" ], [ "160", "021-040", "VALUE:T2" ], [ "200", "021-040", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2" ], [ "320", "021-040", "VALUE:T2" ], [ "330", "021-040", "VALUE:T2" ], [ "335", "021-040", "VALUE:T2" ], [ "370", "021-040", "VALUE:T2" ], [ "401", "021-040", "VALUE:T2" ], [ "410", "021-040", "VALUE:T2" ], [ "451", "021-040", "VALUE:T2" ], [ "458", "021-040", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3" ], [ "110", "041-989", "VALUE:T3" ], [ "120", "041-989", "VALUE:T3" ], [ "160", "041-989", "VALUE:T3" ], [ "200", "041-989", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3" ], [ "320", "041-989", "VALUE:T3" ], [ "330", "041-989", "VALUE:T3" ], [ "335", "041-989", "VALUE:T3" ], [ "370", "041-989", "VALUE:T3" ], [ "401", "041-989", "VALUE:T3" ], [ "410", "041-989", "VALUE:T3" ], [ "451", "041-989", "VALUE:T3" ], [ "458", "041-989", "VALUE:T3" ], [ "100", "990", "VALUE:T1a" ], [ "110", "990", "VALUE:T1a" ], [ "120", "990", "VALUE:T1a" ], [ "160", "990", "VALUE:T1a" ], [ "200", "990", "VALUE:T1a" ], [ "300", "990", "VALUE:T1a" ], [ "320", "990", "VALUE:T1a" ], [ "330", "990", "VALUE:T1a" ], [ "335", "990", "VALUE:T1NOS" ], [ "370", "990", "VALUE:T1a" ], [ "401", "990", "VALUE:T1a" ], [ "410", "990", "VALUE:T2" ], [ "451", "990", "VALUE:T1a" ], [ "458", "990", "VALUE:T1a" ], [ "100", "991", "VALUE:T1a" ], [ "110", "991", "VALUE:T1a" ], [ "120", "991", "VALUE:T1a" ], [ "160", "991", "VALUE:T1a" ], [ "200", "991", "VALUE:T1a" ], [ "300", "991", "VALUE:T1a" ], [ "320", "991", "VALUE:T1a" ], [ "330", "991", "VALUE:T1b" ], [ "335", "991", "VALUE:T1NOS" ], [ "370", "991", "VALUE:T1b" ], [ "401", "991", "VALUE:T1a" ], [ "410", "991", "VALUE:T2" ], [ "451", "991", "VALUE:T1b" ], [ "458", "991", "VALUE:T1a" ], [ "100", "992", "VALUE:T1b" ], [ "110", "992", "VALUE:T1b" ], [ "120", "992", "VALUE:T1b" ], [ "160", "992", "VALUE:T1b" ], [ "200", "992", "VALUE:T1b" ], [ "300", "992", "VALUE:T1b" ], [ "320", "992", "VALUE:T1b" ], [ "330", "992", "VALUE:T1b" ], [ "335", "992", "VALUE:T1NOS" ], [ "370", "992", "VALUE:T2" ], [ "401", "992", "VALUE:T1b" ], [ "410", "992", "VALUE:T1b" ], [ "451", "992", "VALUE:T2" ], [ "458", "992", "VALUE:T1b" ], [ "100", "993-994", "VALUE:T2" ], [ "110", "993-994", "VALUE:T2" ], [ "120", "993-994", "VALUE:T2" ], [ "160", "993-994", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2" ], [ "320", "993-994", "VALUE:T2" ], [ "330", "993-994", "VALUE:T2" ], [ "335", "993-994", "VALUE:T2" ], [ "370", "993-994", "VALUE:T3" ], [ "401", "993-994", "VALUE:T2" ], [ "410", "993-994", "VALUE:T2" ], [ "451", "993-994", "VALUE:T3" ], [ "458", "993-994", "VALUE:T2" ], [ "100", "995", "VALUE:T3" ], [ "110", "995", "VALUE:T3" ], [ "120", "995", "VALUE:T3" ], [ "160", "995", "VALUE:T3" ], [ "200", "995", "VALUE:T3" ], [ "300", "995", "VALUE:T3" ], [ "320", "995", "VALUE:T3" ], [ "330", "995", "VALUE:T3" ], [ "335", "995", "VALUE:T3" ], [ "370", "995", "VALUE:T3" ], [ "401", "995", "VALUE:T3" ], [ "410", "995", "VALUE:T3" ], [ "451", "995", "VALUE:T3" ], [ "458", "995", "VALUE:T3" ], [ "100", "998", "ERROR:" ], [ "110", "998", "ERROR:" ], [ "120", "998", "ERROR:" ], [ "160", "998", "ERROR:" ], [ "200", "998", "ERROR:" ], [ "300", "998", "ERROR:" ], [ "320", "998", "ERROR:" ], [ "330", "998", "ERROR:" ], [ "335", "998", "ERROR:" ], [ "370", "998", "ERROR:" ], [ "401", "998", "ERROR:" ], [ "410", "998", "ERROR:" ], [ "451", "998", "ERROR:" ], [ "458", "998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "110", "999", "VALUE:TX" ], [ "120", "999", "VALUE:TX" ], [ "160", "999", "VALUE:TX" ], [ "200", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "320", "999", "VALUE:T1a" ], [ "330", "999", "VALUE:T1b" ], [ "335", "999", "VALUE:T1NOS" ], [ "370", "999", "VALUE:TX" ], [ "401", "999", "VALUE:TX" ], [ "410", "999", "VALUE:TX" ], [ "451", "999", "VALUE:TX" ], [ "458", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdl.json deleted file mode 100644 index 495f0388e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdl.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xdl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 105, 205, 305, 330, 350, 400, 500, 530, 555, and 565 ONLY, the T category for AJCC 7 staging is assigned based on value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:17.162Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "105", "000", "ERROR:" ], [ "205", "000", "ERROR:" ], [ "305", "000", "ERROR:" ], [ "330", "000", "ERROR:" ], [ "350", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "530", "000", "ERROR:" ], [ "555", "000", "ERROR:" ], [ "565", "000", "ERROR:" ], [ "566", "000", "ERROR:" ], [ "105", "001-020", "VALUE:T1" ], [ "205", "001-020", "VALUE:T1" ], [ "305", "001-020", "VALUE:T1" ], [ "330", "001-020", "VALUE:T1" ], [ "350", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1" ], [ "530", "001-020", "VALUE:T1" ], [ "555", "001-020", "VALUE:T1" ], [ "565", "001-020", "VALUE:T1" ], [ "566", "001-020", "VALUE:T1" ], [ "105", "021-040", "VALUE:T2" ], [ "205", "021-040", "VALUE:T2" ], [ "305", "021-040", "VALUE:T2" ], [ "330", "021-040", "VALUE:T2" ], [ "350", "021-040", "VALUE:T2" ], [ "400", "021-040", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2" ], [ "530", "021-040", "VALUE:T2" ], [ "555", "021-040", "VALUE:T2" ], [ "565", "021-040", "VALUE:T2" ], [ "566", "021-040", "VALUE:T2" ], [ "105", "041-989", "VALUE:T3" ], [ "205", "041-989", "VALUE:T3" ], [ "305", "041-989", "VALUE:T3" ], [ "330", "041-989", "VALUE:T3" ], [ "350", "041-989", "VALUE:T3" ], [ "400", "041-989", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3" ], [ "530", "041-989", "VALUE:T3" ], [ "555", "041-989", "VALUE:T3" ], [ "565", "041-989", "VALUE:T3" ], [ "566", "041-989", "VALUE:T3" ], [ "105", "990-991", "VALUE:T1" ], [ "205", "990-991", "VALUE:T1" ], [ "305", "990-991", "VALUE:T1" ], [ "330", "990-991", "VALUE:T1" ], [ "350", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1" ], [ "530", "990-991", "VALUE:T1" ], [ "555", "990-991", "VALUE:T1" ], [ "565", "990-991", "VALUE:T1" ], [ "566", "990-991", "VALUE:T1" ], [ "105", "992", "VALUE:T1" ], [ "205", "992", "VALUE:T1" ], [ "305", "992", "VALUE:T1" ], [ "330", "992", "VALUE:T1" ], [ "350", "992", "VALUE:T2" ], [ "400", "992", "VALUE:T1" ], [ "500", "992", "VALUE:T1" ], [ "530", "992", "VALUE:T1" ], [ "555", "992", "VALUE:T1" ], [ "565", "992", "VALUE:T1" ], [ "566", "992", "VALUE:T1" ], [ "105", "993-994", "VALUE:T2" ], [ "205", "993-994", "VALUE:T2" ], [ "305", "993-994", "VALUE:T2" ], [ "330", "993-994", "VALUE:T1" ], [ "350", "993-994", "VALUE:T2" ], [ "400", "993-994", "VALUE:T2" ], [ "500", "993-994", "VALUE:T2" ], [ "530", "993-994", "VALUE:T2" ], [ "555", "993-994", "VALUE:T2" ], [ "565", "993-994", "VALUE:T2" ], [ "566", "993-994", "VALUE:T2" ], [ "105", "995", "VALUE:T3" ], [ "205", "995", "VALUE:T3" ], [ "305", "995", "VALUE:T3" ], [ "330", "995", "VALUE:T1" ], [ "350", "995", "VALUE:T2" ], [ "400", "995", "VALUE:T3" ], [ "500", "995", "VALUE:T3" ], [ "530", "995", "VALUE:T3" ], [ "555", "995", "VALUE:T3" ], [ "565", "995", "VALUE:T3" ], [ "566", "995", "VALUE:T3" ], [ "105", "996", "VALUE:T3" ], [ "205", "996", "VALUE:T3" ], [ "305", "996", "VALUE:T3" ], [ "330", "996", "VALUE:T3" ], [ "350", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "500", "996", "VALUE:T3" ], [ "530", "996", "VALUE:T3" ], [ "555", "996", "VALUE:T3" ], [ "565", "996", "VALUE:T3" ], [ "566", "996", "VALUE:T3" ], [ "105", "997-998", "ERROR:" ], [ "205", "997-998", "ERROR:" ], [ "305", "997-998", "ERROR:" ], [ "330", "997-998", "ERROR:" ], [ "350", "997-998", "ERROR:" ], [ "400", "997-998", "ERROR:" ], [ "500", "997-998", "ERROR:" ], [ "530", "997-998", "ERROR:" ], [ "555", "997-998", "ERROR:" ], [ "565", "997-998", "ERROR:" ], [ "566", "997-998", "ERROR:" ], [ "105", "999", "VALUE:TX" ], [ "205", "999", "VALUE:TX" ], [ "305", "999", "VALUE:TX" ], [ "330", "999", "VALUE:T1" ], [ "350", "999", "VALUE:T2" ], [ "400", "999", "VALUE:TX" ], [ "500", "999", "VALUE:TX" ], [ "530", "999", "VALUE:TX" ], [ "555", "999", "VALUE:TX" ], [ "565", "999", "VALUE:TX" ], [ "566", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdw.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdw.json deleted file mode 100644 index b840e1377..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xdw.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xdw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 150-520 ONLY, the T category is assigned based on value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:17.219Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "150", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "305", "000", "ERROR:" ], [ "310", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "420", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "510", "000", "ERROR:" ], [ "520", "000", "ERROR:" ], [ "150", "001-020", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "305", "001-020", "VALUE:T1" ], [ "310", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "420", "001-020", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1" ], [ "510", "001-020", "VALUE:T1" ], [ "520", "001-020", "VALUE:T1" ], [ "150", "021-040", "VALUE:T2" ], [ "200", "021-040", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2" ], [ "305", "021-040", "VALUE:T2" ], [ "310", "021-040", "VALUE:T2" ], [ "400", "021-040", "VALUE:T2" ], [ "420", "021-040", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2" ], [ "510", "021-040", "VALUE:T2" ], [ "520", "021-040", "VALUE:T2" ], [ "150", "041-989", "VALUE:T3" ], [ "200", "041-989", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3" ], [ "305", "041-989", "VALUE:T3" ], [ "310", "041-989", "VALUE:T3" ], [ "400", "041-989", "VALUE:T3" ], [ "420", "041-989", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3" ], [ "510", "041-989", "VALUE:T3" ], [ "520", "041-989", "VALUE:T3" ], [ "150", "990-991", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "305", "990-991", "VALUE:T1" ], [ "310", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "420", "990-991", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1" ], [ "510", "990-991", "VALUE:T1" ], [ "520", "990-991", "VALUE:T1" ], [ "150", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T1" ], [ "300", "992", "VALUE:T1" ], [ "305", "992", "VALUE:T1" ], [ "310", "992", "VALUE:T2" ], [ "400", "992", "VALUE:T1" ], [ "420", "992", "VALUE:T1" ], [ "500", "992", "VALUE:T1" ], [ "510", "992", "VALUE:T1" ], [ "520", "992", "VALUE:T1" ], [ "150", "993-994", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2" ], [ "305", "993-994", "VALUE:T1" ], [ "310", "993-994", "VALUE:T2" ], [ "400", "993-994", "VALUE:T2" ], [ "420", "993-994", "VALUE:T2" ], [ "500", "993-994", "VALUE:T2" ], [ "510", "993-994", "VALUE:T2" ], [ "520", "993-994", "VALUE:T2" ], [ "150", "995", "VALUE:T3" ], [ "200", "995", "VALUE:T3" ], [ "300", "995", "VALUE:T3" ], [ "305", "995", "VALUE:T1" ], [ "310", "995", "VALUE:T2" ], [ "400", "995", "VALUE:T3" ], [ "420", "995", "VALUE:T3" ], [ "500", "995", "VALUE:T3" ], [ "510", "995", "VALUE:T3" ], [ "520", "995", "VALUE:T3" ], [ "150", "996", "VALUE:T3" ], [ "200", "996", "VALUE:T3" ], [ "300", "996", "VALUE:T3" ], [ "305", "996", "VALUE:T3" ], [ "310", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "420", "996", "VALUE:T3" ], [ "500", "996", "VALUE:T3" ], [ "510", "996", "VALUE:T3" ], [ "520", "996", "VALUE:T3" ], [ "150", "997-998", "ERROR:" ], [ "200", "997-998", "ERROR:" ], [ "300", "997-998", "ERROR:" ], [ "305", "997-998", "ERROR:" ], [ "310", "997-998", "ERROR:" ], [ "400", "997-998", "ERROR:" ], [ "420", "997-998", "ERROR:" ], [ "500", "997-998", "ERROR:" ], [ "510", "997-998", "ERROR:" ], [ "520", "997-998", "ERROR:" ], [ "150", "999", "VALUE:TX" ], [ "200", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "305", "999", "VALUE:T1" ], [ "310", "999", "VALUE:T2" ], [ "400", "999", "VALUE:TX" ], [ "420", "999", "VALUE:TX" ], [ "500", "999", "VALUE:TX" ], [ "510", "999", "VALUE:TX" ], [ "520", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeb.json deleted file mode 100644 index 6263f6e22..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeb.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xeb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-800 only, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:17.279Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "130", "000", "ERROR:" ], [ "140", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "155", "000", "ERROR:" ], [ "160", "000", "ERROR:" ], [ "165", "000", "ERROR:" ], [ "170", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "210", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "270", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "458", "000", "ERROR:" ], [ "460", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "550", "000", "ERROR:" ], [ "560", "000", "ERROR:" ], [ "570", "000", "ERROR:" ], [ "600", "000", "ERROR:" ], [ "650", "000", "ERROR:" ], [ "660", "000", "ERROR:" ], [ "700", "000", "ERROR:" ], [ "750", "000", "ERROR:" ], [ "800", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "110", "001-020", "VALUE:T1" ], [ "120", "001-020", "VALUE:T1" ], [ "130", "001-020", "VALUE:T1" ], [ "140", "001-020", "VALUE:T1" ], [ "150", "001-020", "VALUE:T1" ], [ "155", "001-020", "VALUE:T1" ], [ "160", "001-020", "VALUE:T1" ], [ "165", "001-020", "VALUE:T1" ], [ "170", "001-020", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1" ], [ "210", "001-020", "VALUE:T1" ], [ "250", "001-020", "VALUE:T1" ], [ "270", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "450", "001-020", "VALUE:T1" ], [ "458", "001-020", "VALUE:T1" ], [ "460", "001-020", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1" ], [ "550", "001-020", "VALUE:T1" ], [ "560", "001-020", "VALUE:T1" ], [ "570", "001-020", "VALUE:T1" ], [ "600", "001-020", "VALUE:T1" ], [ "650", "001-020", "VALUE:T1" ], [ "660", "001-020", "VALUE:T1" ], [ "700", "001-020", "VALUE:T1" ], [ "750", "001-020", "VALUE:T1" ], [ "800", "001-020", "VALUE:T1" ], [ "100", "021-050", "VALUE:T2" ], [ "110", "021-050", "VALUE:T2" ], [ "120", "021-050", "VALUE:T2" ], [ "130", "021-050", "VALUE:T2" ], [ "140", "021-050", "VALUE:T2" ], [ "150", "021-050", "VALUE:T2" ], [ "155", "021-050", "VALUE:T2" ], [ "160", "021-050", "VALUE:T2" ], [ "165", "021-050", "VALUE:T2" ], [ "170", "021-050", "VALUE:T2" ], [ "200", "021-050", "VALUE:T2" ], [ "210", "021-050", "VALUE:T2" ], [ "250", "021-050", "VALUE:T2" ], [ "270", "021-050", "VALUE:T2" ], [ "300", "021-050", "VALUE:T2" ], [ "400", "021-050", "VALUE:T2" ], [ "450", "021-050", "VALUE:T2" ], [ "458", "021-050", "VALUE:T2" ], [ "460", "021-050", "VALUE:T2" ], [ "500", "021-050", "VALUE:T2" ], [ "550", "021-050", "VALUE:T2" ], [ "560", "021-050", "VALUE:T2" ], [ "570", "021-050", "VALUE:T2" ], [ "600", "021-050", "VALUE:T2" ], [ "650", "021-050", "VALUE:T2" ], [ "660", "021-050", "VALUE:T2" ], [ "700", "021-050", "VALUE:T2" ], [ "750", "021-050", "VALUE:T2" ], [ "800", "021-050", "VALUE:T2" ], [ "100", "051-100", "VALUE:T3" ], [ "110", "051-100", "VALUE:T3" ], [ "120", "051-100", "VALUE:T3" ], [ "130", "051-100", "VALUE:T3" ], [ "140", "051-100", "VALUE:T3" ], [ "150", "051-100", "VALUE:T3" ], [ "155", "051-100", "VALUE:T3" ], [ "160", "051-100", "VALUE:T3" ], [ "165", "051-100", "VALUE:T3" ], [ "170", "051-100", "VALUE:T3" ], [ "200", "051-100", "VALUE:T3" ], [ "210", "051-100", "VALUE:T3" ], [ "250", "051-100", "VALUE:T3" ], [ "270", "051-100", "VALUE:T3" ], [ "300", "051-100", "VALUE:T3" ], [ "400", "051-100", "VALUE:T3" ], [ "450", "051-100", "VALUE:T3" ], [ "458", "051-100", "VALUE:T3" ], [ "460", "051-100", "VALUE:T3" ], [ "500", "051-100", "VALUE:T3" ], [ "550", "051-100", "VALUE:T3" ], [ "560", "051-100", "VALUE:T3" ], [ "570", "051-100", "VALUE:T3" ], [ "600", "051-100", "VALUE:T3" ], [ "650", "051-100", "VALUE:T3" ], [ "660", "051-100", "VALUE:T3" ], [ "700", "051-100", "VALUE:T3" ], [ "750", "051-100", "VALUE:T3" ], [ "800", "051-100", "VALUE:T3" ], [ "100", "101-989", "VALUE:T4" ], [ "110", "101-989", "VALUE:T4" ], [ "120", "101-989", "VALUE:T4" ], [ "130", "101-989", "VALUE:T4" ], [ "140", "101-989", "VALUE:T4" ], [ "150", "101-989", "VALUE:T4" ], [ "155", "101-989", "VALUE:T4" ], [ "160", "101-989", "VALUE:T4" ], [ "165", "101-989", "VALUE:T4" ], [ "170", "101-989", "VALUE:T4" ], [ "200", "101-989", "VALUE:T4" ], [ "210", "101-989", "VALUE:T4" ], [ "250", "101-989", "VALUE:T4" ], [ "270", "101-989", "VALUE:T4" ], [ "300", "101-989", "VALUE:T4" ], [ "400", "101-989", "VALUE:T4" ], [ "450", "101-989", "VALUE:T4" ], [ "458", "101-989", "VALUE:T4" ], [ "460", "101-989", "VALUE:T4" ], [ "500", "101-989", "VALUE:T4" ], [ "550", "101-989", "VALUE:T4" ], [ "560", "101-989", "VALUE:T4" ], [ "570", "101-989", "VALUE:T4" ], [ "600", "101-989", "VALUE:T4" ], [ "650", "101-989", "VALUE:T4" ], [ "660", "101-989", "VALUE:T4" ], [ "700", "101-989", "VALUE:T4" ], [ "750", "101-989", "VALUE:T4" ], [ "800", "101-989", "VALUE:T4" ], [ "100", "990-991", "VALUE:T1" ], [ "110", "990-991", "VALUE:T1" ], [ "120", "990-991", "VALUE:T1" ], [ "130", "990-991", "VALUE:T1" ], [ "140", "990-991", "VALUE:T1" ], [ "150", "990-991", "VALUE:T1" ], [ "155", "990-991", "VALUE:T1" ], [ "160", "990-991", "VALUE:T1" ], [ "165", "990-991", "VALUE:T1" ], [ "170", "990-991", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1" ], [ "210", "990-991", "VALUE:T1" ], [ "250", "990-991", "VALUE:T1" ], [ "270", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "450", "990-991", "VALUE:T1" ], [ "458", "990-991", "VALUE:T1" ], [ "460", "990-991", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1" ], [ "550", "990-991", "VALUE:T1" ], [ "560", "990-991", "VALUE:T1" ], [ "570", "990-991", "VALUE:T1" ], [ "600", "990-991", "VALUE:T1" ], [ "650", "990-991", "VALUE:T1" ], [ "660", "990-991", "VALUE:T1" ], [ "700", "990-991", "VALUE:T1" ], [ "750", "990-991", "VALUE:T1" ], [ "800", "990-991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "110", "992", "VALUE:T1" ], [ "120", "992", "VALUE:T1" ], [ "130", "992", "VALUE:T1" ], [ "140", "992", "VALUE:T1" ], [ "150", "992", "VALUE:T1" ], [ "155", "992", "VALUE:T1" ], [ "160", "992", "VALUE:T1" ], [ "165", "992", "VALUE:T1" ], [ "170", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T1" ], [ "210", "992", "VALUE:T2" ], [ "250", "992", "VALUE:T3" ], [ "270", "992", "VALUE:T4" ], [ "300", "992", "VALUE:T1" ], [ "400", "992", "VALUE:T1" ], [ "450", "992", "VALUE:T1" ], [ "458", "992", "VALUE:T1" ], [ "460", "992", "VALUE:T1" ], [ "500", "992", "VALUE:T1" ], [ "550", "992", "VALUE:T1" ], [ "560", "992", "VALUE:T1" ], [ "570", "992", "VALUE:T1" ], [ "600", "992", "VALUE:T1" ], [ "650", "992", "VALUE:T1" ], [ "660", "992", "VALUE:T1" ], [ "700", "992", "VALUE:T1" ], [ "750", "992", "VALUE:T1" ], [ "800", "992", "VALUE:T1" ], [ "100", "993", "VALUE:T2" ], [ "110", "993", "VALUE:T2" ], [ "120", "993", "VALUE:T2" ], [ "130", "993", "VALUE:T2" ], [ "140", "993", "VALUE:T2" ], [ "150", "993", "VALUE:T2" ], [ "155", "993", "VALUE:T2" ], [ "160", "993", "VALUE:T2" ], [ "165", "993", "VALUE:T2" ], [ "170", "993", "VALUE:T2" ], [ "200", "993", "VALUE:T2" ], [ "210", "993", "VALUE:T2" ], [ "250", "993", "VALUE:T2" ], [ "270", "993", "VALUE:T2" ], [ "300", "993", "VALUE:T2" ], [ "400", "993", "VALUE:T2" ], [ "450", "993", "VALUE:T2" ], [ "458", "993", "VALUE:T2" ], [ "460", "993", "VALUE:T2" ], [ "500", "993", "VALUE:T2" ], [ "550", "993", "VALUE:T2" ], [ "560", "993", "VALUE:T2" ], [ "570", "993", "VALUE:T2" ], [ "600", "993", "VALUE:T2" ], [ "650", "993", "VALUE:T2" ], [ "660", "993", "VALUE:T2" ], [ "700", "993", "VALUE:T2" ], [ "750", "993", "VALUE:T2" ], [ "800", "993", "VALUE:T2" ], [ "100", "994-995", "VALUE:T2" ], [ "110", "994-995", "VALUE:T2" ], [ "120", "994-995", "VALUE:T2" ], [ "130", "994-995", "VALUE:T2" ], [ "140", "994-995", "VALUE:T2" ], [ "150", "994-995", "VALUE:T2" ], [ "155", "994-995", "VALUE:T2" ], [ "160", "994-995", "VALUE:T2" ], [ "165", "994-995", "VALUE:T2" ], [ "170", "994-995", "VALUE:T1" ], [ "200", "994-995", "VALUE:T2" ], [ "210", "994-995", "VALUE:T2" ], [ "250", "994-995", "VALUE:T3" ], [ "270", "994-995", "VALUE:T4" ], [ "300", "994-995", "VALUE:T2" ], [ "400", "994-995", "VALUE:T2" ], [ "450", "994-995", "VALUE:T2" ], [ "458", "994-995", "VALUE:T2" ], [ "460", "994-995", "VALUE:T2" ], [ "500", "994-995", "VALUE:T2" ], [ "550", "994-995", "VALUE:T2" ], [ "560", "994-995", "VALUE:T2" ], [ "570", "994-995", "VALUE:T2" ], [ "600", "994-995", "VALUE:T2" ], [ "650", "994-995", "VALUE:T2" ], [ "660", "994-995", "VALUE:T2" ], [ "700", "994-995", "VALUE:T2" ], [ "750", "994-995", "VALUE:T2" ], [ "800", "994-995", "VALUE:T2" ], [ "100", "996", "VALUE:T3" ], [ "110", "996", "VALUE:T3" ], [ "120", "996", "VALUE:T3" ], [ "130", "996", "VALUE:T3" ], [ "140", "996", "VALUE:T3" ], [ "150", "996", "VALUE:T3" ], [ "155", "996", "VALUE:T3" ], [ "160", "996", "VALUE:T3" ], [ "165", "996", "VALUE:T3" ], [ "170", "996", "VALUE:T1" ], [ "200", "996", "VALUE:T3" ], [ "210", "996", "VALUE:T2" ], [ "250", "996", "VALUE:T3" ], [ "270", "996", "VALUE:T4" ], [ "300", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "450", "996", "VALUE:T3" ], [ "458", "996", "VALUE:T3" ], [ "460", "996", "VALUE:T3" ], [ "500", "996", "VALUE:T3" ], [ "550", "996", "VALUE:T3" ], [ "560", "996", "VALUE:T3" ], [ "570", "996", "VALUE:T3" ], [ "600", "996", "VALUE:T3" ], [ "650", "996", "VALUE:T3" ], [ "660", "996", "VALUE:T3" ], [ "700", "996", "VALUE:T3" ], [ "750", "996", "VALUE:T3" ], [ "800", "996", "VALUE:T3" ], [ "100", "997", "VALUE:T4" ], [ "110", "997", "VALUE:T4" ], [ "120", "997", "VALUE:T4" ], [ "130", "997", "VALUE:T4" ], [ "140", "997", "VALUE:T4" ], [ "150", "997", "VALUE:T4" ], [ "155", "997", "VALUE:T4" ], [ "160", "997", "VALUE:T4" ], [ "165", "997", "VALUE:T4" ], [ "170", "997", "VALUE:T1" ], [ "200", "997", "VALUE:T4" ], [ "210", "997", "VALUE:T2" ], [ "250", "997", "VALUE:T3" ], [ "270", "997", "VALUE:T4" ], [ "300", "997", "VALUE:T4" ], [ "400", "997", "VALUE:T4" ], [ "450", "997", "VALUE:T4" ], [ "458", "997", "VALUE:T4" ], [ "460", "997", "VALUE:T4" ], [ "500", "997", "VALUE:T4" ], [ "550", "997", "VALUE:T4" ], [ "560", "997", "VALUE:T4" ], [ "570", "997", "VALUE:T4" ], [ "600", "997", "VALUE:T4" ], [ "650", "997", "VALUE:T4" ], [ "660", "997", "VALUE:T4" ], [ "700", "997", "VALUE:T4" ], [ "750", "997", "VALUE:T4" ], [ "800", "997", "VALUE:T4" ], [ "100", "998", "ERROR:" ], [ "110", "998", "ERROR:" ], [ "120", "998", "ERROR:" ], [ "130", "998", "ERROR:" ], [ "140", "998", "ERROR:" ], [ "150", "998", "ERROR:" ], [ "155", "998", "ERROR:" ], [ "160", "998", "ERROR:" ], [ "165", "998", "ERROR:" ], [ "170", "998", "ERROR:" ], [ "200", "998", "ERROR:" ], [ "210", "998", "ERROR:" ], [ "250", "998", "ERROR:" ], [ "270", "998", "ERROR:" ], [ "300", "998", "ERROR:" ], [ "400", "998", "ERROR:" ], [ "450", "998", "ERROR:" ], [ "458", "998", "ERROR:" ], [ "460", "998", "ERROR:" ], [ "500", "998", "ERROR:" ], [ "550", "998", "ERROR:" ], [ "560", "998", "ERROR:" ], [ "570", "998", "ERROR:" ], [ "600", "998", "ERROR:" ], [ "650", "998", "ERROR:" ], [ "660", "998", "ERROR:" ], [ "700", "998", "ERROR:" ], [ "750", "998", "ERROR:" ], [ "800", "998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "110", "999", "VALUE:TX" ], [ "120", "999", "VALUE:TX" ], [ "130", "999", "VALUE:TX" ], [ "140", "999", "VALUE:TX" ], [ "150", "999", "VALUE:TX" ], [ "155", "999", "VALUE:TX" ], [ "160", "999", "VALUE:TX" ], [ "165", "999", "VALUE:TX" ], [ "170", "999", "VALUE:T1" ], [ "200", "999", "VALUE:TX" ], [ "210", "999", "VALUE:T2" ], [ "250", "999", "VALUE:T3" ], [ "270", "999", "VALUE:T4" ], [ "300", "999", "VALUE:TX" ], [ "400", "999", "VALUE:TX" ], [ "450", "999", "VALUE:TX" ], [ "458", "999", "VALUE:TX" ], [ "460", "999", "VALUE:TX" ], [ "500", "999", "VALUE:TX" ], [ "550", "999", "VALUE:TX" ], [ "560", "999", "VALUE:TX" ], [ "570", "999", "VALUE:TX" ], [ "600", "999", "VALUE:TX" ], [ "650", "999", "VALUE:TX" ], [ "660", "999", "VALUE:TX" ], [ "700", "999", "VALUE:TX" ], [ "750", "999", "VALUE:TX" ], [ "800", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xec.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xec.json deleted file mode 100644 index c5edf1d5d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xec.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xec", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-800 only, the T category for AJCC 7 staging is assigned based on the value of Tumor Size from this table.", - "last_modified" : "2015-05-27T16:19:17.357Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "130", "000", "ERROR:" ], [ "140", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "155", "000", "ERROR:" ], [ "160", "000", "ERROR:" ], [ "165", "000", "ERROR:" ], [ "170", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "210", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "270", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "440", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "455", "000", "ERROR:" ], [ "458", "000", "ERROR:" ], [ "460", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "550", "000", "ERROR:" ], [ "555", "000", "ERROR:" ], [ "560", "000", "ERROR:" ], [ "570", "000", "ERROR:" ], [ "610", "000", "ERROR:" ], [ "700", "000", "ERROR:" ], [ "800", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "110", "001-020", "VALUE:T1" ], [ "120", "001-020", "VALUE:T1" ], [ "130", "001-020", "VALUE:T1" ], [ "140", "001-020", "VALUE:T1" ], [ "150", "001-020", "VALUE:T1" ], [ "155", "001-020", "VALUE:T1" ], [ "160", "001-020", "VALUE:T1" ], [ "165", "001-020", "VALUE:T1" ], [ "170", "001-020", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1" ], [ "210", "001-020", "VALUE:T1" ], [ "250", "001-020", "VALUE:T1" ], [ "270", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "440", "001-020", "VALUE:T1" ], [ "450", "001-020", "VALUE:T1" ], [ "455", "001-020", "VALUE:T1" ], [ "458", "001-020", "VALUE:T1" ], [ "460", "001-020", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1" ], [ "550", "001-020", "VALUE:T1" ], [ "555", "001-020", "VALUE:T1" ], [ "560", "001-020", "VALUE:T1" ], [ "570", "001-020", "VALUE:T1" ], [ "610", "001-020", "VALUE:T1" ], [ "700", "001-020", "VALUE:T1" ], [ "800", "001-020", "VALUE:T1" ], [ "100", "021-050", "VALUE:T2" ], [ "110", "021-050", "VALUE:T2" ], [ "120", "021-050", "VALUE:T2" ], [ "130", "021-050", "VALUE:T2" ], [ "140", "021-050", "VALUE:T2" ], [ "150", "021-050", "VALUE:T2" ], [ "155", "021-050", "VALUE:T2" ], [ "160", "021-050", "VALUE:T2" ], [ "165", "021-050", "VALUE:T2" ], [ "170", "021-050", "VALUE:T2" ], [ "200", "021-050", "VALUE:T2" ], [ "210", "021-050", "VALUE:T2" ], [ "250", "021-050", "VALUE:T2" ], [ "270", "021-050", "VALUE:T2" ], [ "300", "021-050", "VALUE:T2" ], [ "400", "021-050", "VALUE:T2" ], [ "440", "021-050", "VALUE:T2" ], [ "450", "021-050", "VALUE:T2" ], [ "455", "021-050", "VALUE:T2" ], [ "458", "021-050", "VALUE:T2" ], [ "460", "021-050", "VALUE:T2" ], [ "500", "021-050", "VALUE:T2" ], [ "550", "021-050", "VALUE:T2" ], [ "555", "021-050", "VALUE:T2" ], [ "560", "021-050", "VALUE:T2" ], [ "570", "021-050", "VALUE:T2" ], [ "610", "021-050", "VALUE:T2" ], [ "700", "021-050", "VALUE:T2" ], [ "800", "021-050", "VALUE:T2" ], [ "100", "051-100", "VALUE:T3" ], [ "110", "051-100", "VALUE:T3" ], [ "120", "051-100", "VALUE:T3" ], [ "130", "051-100", "VALUE:T3" ], [ "140", "051-100", "VALUE:T3" ], [ "150", "051-100", "VALUE:T3" ], [ "155", "051-100", "VALUE:T3" ], [ "160", "051-100", "VALUE:T3" ], [ "165", "051-100", "VALUE:T3" ], [ "170", "051-100", "VALUE:T3" ], [ "200", "051-100", "VALUE:T3" ], [ "210", "051-100", "VALUE:T3" ], [ "250", "051-100", "VALUE:T3" ], [ "270", "051-100", "VALUE:T3" ], [ "300", "051-100", "VALUE:T3" ], [ "400", "051-100", "VALUE:T3" ], [ "440", "051-100", "VALUE:T3" ], [ "450", "051-100", "VALUE:T3" ], [ "455", "051-100", "VALUE:T3" ], [ "458", "051-100", "VALUE:T3" ], [ "460", "051-100", "VALUE:T3" ], [ "500", "051-100", "VALUE:T3" ], [ "550", "051-100", "VALUE:T3" ], [ "555", "051-100", "VALUE:T3" ], [ "560", "051-100", "VALUE:T3" ], [ "570", "051-100", "VALUE:T3" ], [ "610", "051-100", "VALUE:T3" ], [ "700", "051-100", "VALUE:T3" ], [ "800", "051-100", "VALUE:T3" ], [ "100", "100-989", "VALUE:T4" ], [ "110", "100-989", "VALUE:T4" ], [ "120", "100-989", "VALUE:T4" ], [ "130", "100-989", "VALUE:T4" ], [ "140", "100-989", "VALUE:T4" ], [ "150", "100-989", "VALUE:T4" ], [ "155", "100-989", "VALUE:T4" ], [ "160", "100-989", "VALUE:T4" ], [ "165", "100-989", "VALUE:T4" ], [ "170", "100-989", "VALUE:T4" ], [ "200", "100-989", "VALUE:T4" ], [ "210", "100-989", "VALUE:T4" ], [ "250", "100-989", "VALUE:T4" ], [ "270", "100-989", "VALUE:T4" ], [ "300", "100-989", "VALUE:T4" ], [ "400", "100-989", "VALUE:T4" ], [ "440", "100-989", "VALUE:T4" ], [ "450", "100-989", "VALUE:T4" ], [ "455", "100-989", "VALUE:T4" ], [ "458", "100-989", "VALUE:T4" ], [ "460", "100-989", "VALUE:T4" ], [ "500", "100-989", "VALUE:T4" ], [ "550", "100-989", "VALUE:T4" ], [ "555", "100-989", "VALUE:T4" ], [ "560", "100-989", "VALUE:T4" ], [ "570", "100-989", "VALUE:T4" ], [ "610", "100-989", "VALUE:T4" ], [ "700", "100-989", "VALUE:T4" ], [ "800", "100-989", "VALUE:T4" ], [ "100", "990-991", "VALUE:T1" ], [ "110", "990-991", "VALUE:T1" ], [ "120", "990-991", "VALUE:T1" ], [ "130", "990-991", "VALUE:T1" ], [ "140", "990-991", "VALUE:T1" ], [ "150", "990-991", "VALUE:T1" ], [ "155", "990-991", "VALUE:T1" ], [ "160", "990-991", "VALUE:T1" ], [ "165", "990-991", "VALUE:T1" ], [ "170", "990-991", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1" ], [ "210", "990-991", "VALUE:T1" ], [ "250", "990-991", "VALUE:T1" ], [ "270", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "440", "990-991", "VALUE:T1" ], [ "450", "990-991", "VALUE:T1" ], [ "455", "990-991", "VALUE:T1" ], [ "458", "990-991", "VALUE:T1" ], [ "460", "990-991", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1" ], [ "550", "990-991", "VALUE:T1" ], [ "555", "990-991", "VALUE:T1" ], [ "560", "990-991", "VALUE:T1" ], [ "570", "990-991", "VALUE:T1" ], [ "610", "990-991", "VALUE:T1" ], [ "700", "990-991", "VALUE:T1" ], [ "800", "990-991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "110", "992", "VALUE:T1" ], [ "120", "992", "VALUE:T1" ], [ "130", "992", "VALUE:T1" ], [ "140", "992", "VALUE:T1" ], [ "150", "992", "VALUE:T1" ], [ "155", "992", "VALUE:T1" ], [ "160", "992", "VALUE:T1" ], [ "165", "992", "VALUE:T1" ], [ "170", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T1" ], [ "210", "992", "VALUE:T2" ], [ "250", "992", "VALUE:T3" ], [ "270", "992", "VALUE:T4" ], [ "300", "992", "VALUE:T1" ], [ "400", "992", "VALUE:T1" ], [ "440", "992", "VALUE:T1" ], [ "450", "992", "VALUE:T1" ], [ "455", "992", "VALUE:T1" ], [ "458", "992", "VALUE:T1" ], [ "460", "992", "VALUE:T1" ], [ "500", "992", "VALUE:T1" ], [ "550", "992", "VALUE:T1" ], [ "555", "992", "VALUE:T1" ], [ "560", "992", "VALUE:T1" ], [ "570", "992", "VALUE:T1" ], [ "610", "992", "VALUE:T1" ], [ "700", "992", "VALUE:T1" ], [ "800", "992", "VALUE:T1" ], [ "100", "993", "VALUE:T2" ], [ "110", "993", "VALUE:T2" ], [ "120", "993", "VALUE:T2" ], [ "130", "993", "VALUE:T2" ], [ "140", "993", "VALUE:T2" ], [ "150", "993", "VALUE:T2" ], [ "155", "993", "VALUE:T2" ], [ "160", "993", "VALUE:T2" ], [ "165", "993", "VALUE:T2" ], [ "170", "993", "VALUE:T2" ], [ "200", "993", "VALUE:T2" ], [ "210", "993", "VALUE:T2" ], [ "250", "993", "VALUE:T2" ], [ "270", "993", "VALUE:T2" ], [ "300", "993", "VALUE:T2" ], [ "400", "993", "VALUE:T2" ], [ "440", "993", "VALUE:T2" ], [ "450", "993", "VALUE:T2" ], [ "455", "993", "VALUE:T2" ], [ "458", "993", "VALUE:T2" ], [ "460", "993", "VALUE:T2" ], [ "500", "993", "VALUE:T2" ], [ "550", "993", "VALUE:T2" ], [ "555", "993", "VALUE:T2" ], [ "560", "993", "VALUE:T2" ], [ "570", "993", "VALUE:T2" ], [ "610", "993", "VALUE:T2" ], [ "700", "993", "VALUE:T2" ], [ "800", "993", "VALUE:T2" ], [ "100", "994-995", "VALUE:T2" ], [ "110", "994-995", "VALUE:T2" ], [ "120", "994-995", "VALUE:T2" ], [ "130", "994-995", "VALUE:T2" ], [ "140", "994-995", "VALUE:T2" ], [ "150", "994-995", "VALUE:T2" ], [ "155", "994-995", "VALUE:T2" ], [ "160", "994-995", "VALUE:T2" ], [ "165", "994-995", "VALUE:T2" ], [ "170", "994-995", "VALUE:T1" ], [ "200", "994-995", "VALUE:T2" ], [ "210", "994-995", "VALUE:T2" ], [ "250", "994-995", "VALUE:T3" ], [ "270", "994-995", "VALUE:T4" ], [ "300", "994-995", "VALUE:T2" ], [ "400", "994-995", "VALUE:T2" ], [ "440", "994-995", "VALUE:T2" ], [ "450", "994-995", "VALUE:T2" ], [ "455", "994-995", "VALUE:T2" ], [ "458", "994-995", "VALUE:T2" ], [ "460", "994-995", "VALUE:T2" ], [ "500", "994-995", "VALUE:T2" ], [ "550", "994-995", "VALUE:T2" ], [ "555", "994-995", "VALUE:T2" ], [ "560", "994-995", "VALUE:T2" ], [ "570", "994-995", "VALUE:T2" ], [ "610", "994-995", "VALUE:T2" ], [ "700", "994-995", "VALUE:T2" ], [ "800", "994-995", "VALUE:T2" ], [ "100", "996", "VALUE:T3" ], [ "110", "996", "VALUE:T3" ], [ "120", "996", "VALUE:T3" ], [ "130", "996", "VALUE:T3" ], [ "140", "996", "VALUE:T3" ], [ "150", "996", "VALUE:T3" ], [ "155", "996", "VALUE:T3" ], [ "160", "996", "VALUE:T3" ], [ "165", "996", "VALUE:T3" ], [ "170", "996", "VALUE:T1" ], [ "200", "996", "VALUE:T3" ], [ "210", "996", "VALUE:T2" ], [ "250", "996", "VALUE:T3" ], [ "270", "996", "VALUE:T4" ], [ "300", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "440", "996", "VALUE:T3" ], [ "450", "996", "VALUE:T3" ], [ "455", "996", "VALUE:T3" ], [ "458", "996", "VALUE:T3" ], [ "460", "996", "VALUE:T3" ], [ "500", "996", "VALUE:T3" ], [ "550", "996", "VALUE:T3" ], [ "555", "996", "VALUE:T3" ], [ "560", "996", "VALUE:T3" ], [ "570", "996", "VALUE:T3" ], [ "610", "996", "VALUE:T3" ], [ "700", "996", "VALUE:T3" ], [ "800", "996", "VALUE:T3" ], [ "100", "997", "VALUE:T4" ], [ "110", "997", "VALUE:T4" ], [ "120", "997", "VALUE:T4" ], [ "130", "997", "VALUE:T4" ], [ "140", "997", "VALUE:T4" ], [ "150", "997", "VALUE:T4" ], [ "155", "997", "VALUE:T4" ], [ "160", "997", "VALUE:T4" ], [ "165", "997", "VALUE:T4" ], [ "170", "997", "VALUE:T1" ], [ "200", "997", "VALUE:T4" ], [ "210", "997", "VALUE:T2" ], [ "250", "997", "VALUE:T3" ], [ "270", "997", "VALUE:T4" ], [ "300", "997", "VALUE:T4" ], [ "400", "997", "VALUE:T4" ], [ "440", "997", "VALUE:T4" ], [ "450", "997", "VALUE:T4" ], [ "455", "997", "VALUE:T4" ], [ "458", "997", "VALUE:T4" ], [ "460", "997", "VALUE:T4" ], [ "500", "997", "VALUE:T4" ], [ "550", "997", "VALUE:T4" ], [ "555", "997", "VALUE:T4" ], [ "560", "997", "VALUE:T4" ], [ "570", "997", "VALUE:T4" ], [ "610", "997", "VALUE:T4" ], [ "700", "997", "VALUE:T4" ], [ "800", "997", "VALUE:T4" ], [ "100", "998", "ERROR:" ], [ "110", "998", "ERROR:" ], [ "120", "998", "ERROR:" ], [ "130", "998", "ERROR:" ], [ "140", "998", "ERROR:" ], [ "150", "998", "ERROR:" ], [ "155", "998", "ERROR:" ], [ "160", "998", "ERROR:" ], [ "165", "998", "ERROR:" ], [ "170", "998", "ERROR:" ], [ "200", "998", "ERROR:" ], [ "210", "998", "ERROR:" ], [ "250", "998", "ERROR:" ], [ "270", "998", "ERROR:" ], [ "300", "998", "ERROR:" ], [ "400", "998", "ERROR:" ], [ "440", "998", "ERROR:" ], [ "450", "998", "ERROR:" ], [ "455", "998", "ERROR:" ], [ "458", "998", "ERROR:" ], [ "460", "998", "ERROR:" ], [ "500", "998", "ERROR:" ], [ "550", "998", "ERROR:" ], [ "555", "998", "ERROR:" ], [ "560", "998", "ERROR:" ], [ "570", "998", "ERROR:" ], [ "610", "998", "ERROR:" ], [ "700", "998", "ERROR:" ], [ "800", "998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "110", "999", "VALUE:TX" ], [ "120", "999", "VALUE:TX" ], [ "130", "999", "VALUE:TX" ], [ "140", "999", "VALUE:TX" ], [ "150", "999", "VALUE:TX" ], [ "155", "999", "VALUE:TX" ], [ "160", "999", "VALUE:TX" ], [ "165", "999", "VALUE:TX" ], [ "170", "999", "VALUE:T1" ], [ "200", "999", "VALUE:TX" ], [ "210", "999", "VALUE:T2" ], [ "250", "999", "VALUE:T3" ], [ "270", "999", "VALUE:T4" ], [ "300", "999", "VALUE:TX" ], [ "400", "999", "VALUE:TX" ], [ "440", "999", "VALUE:TX" ], [ "450", "999", "VALUE:TX" ], [ "455", "999", "VALUE:TX" ], [ "458", "999", "VALUE:TX" ], [ "460", "999", "VALUE:TX" ], [ "500", "999", "VALUE:TX" ], [ "550", "999", "VALUE:TX" ], [ "555", "999", "VALUE:TX" ], [ "560", "999", "VALUE:TX" ], [ "570", "999", "VALUE:TX" ], [ "610", "999", "VALUE:TX" ], [ "700", "999", "VALUE:TX" ], [ "800", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xed.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xed.json deleted file mode 100644 index f22d6116f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xed.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xed", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-800 only, the T category is assigned based on the value of CS Tumor Size from this table.", - "last_modified" : "2015-05-27T16:19:17.438Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "130", "000", "ERROR:" ], [ "140", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "155", "000", "ERROR:" ], [ "160", "000", "ERROR:" ], [ "165", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "340", "000", "ERROR:" ], [ "390", "000", "ERROR:" ], [ "395", "000", "ERROR:" ], [ "398", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "440", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "458", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "550", "000", "ERROR:" ], [ "560", "000", "ERROR:" ], [ "600", "000", "ERROR:" ], [ "610", "000", "ERROR:" ], [ "650", "000", "ERROR:" ], [ "700", "000", "ERROR:" ], [ "800", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "110", "001-020", "VALUE:T1" ], [ "120", "001-020", "VALUE:T1" ], [ "130", "001-020", "VALUE:T1" ], [ "140", "001-020", "VALUE:T1" ], [ "150", "001-020", "VALUE:T1" ], [ "155", "001-020", "VALUE:T1" ], [ "160", "001-020", "VALUE:T1" ], [ "165", "001-020", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "340", "001-020", "VALUE:T1" ], [ "390", "001-020", "VALUE:T1" ], [ "395", "001-020", "VALUE:T1" ], [ "398", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "440", "001-020", "VALUE:T1" ], [ "450", "001-020", "VALUE:T1" ], [ "458", "001-020", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1" ], [ "550", "001-020", "VALUE:T1" ], [ "560", "001-020", "VALUE:T1" ], [ "600", "001-020", "VALUE:T1" ], [ "610", "001-020", "VALUE:T1" ], [ "650", "001-020", "VALUE:T1" ], [ "700", "001-020", "VALUE:T1" ], [ "800", "001-020", "VALUE:T1" ], [ "100", "021-050", "VALUE:T2" ], [ "110", "021-050", "VALUE:T2" ], [ "120", "021-050", "VALUE:T2" ], [ "130", "021-050", "VALUE:T2" ], [ "140", "021-050", "VALUE:T2" ], [ "150", "021-050", "VALUE:T2" ], [ "155", "021-050", "VALUE:T2" ], [ "160", "021-050", "VALUE:T2" ], [ "165", "021-050", "VALUE:T2" ], [ "200", "021-050", "VALUE:T2" ], [ "300", "021-050", "VALUE:T2" ], [ "340", "021-050", "VALUE:T2" ], [ "390", "021-050", "VALUE:T2" ], [ "395", "021-050", "VALUE:T2" ], [ "398", "021-050", "VALUE:T2" ], [ "400", "021-050", "VALUE:T2" ], [ "440", "021-050", "VALUE:T2" ], [ "450", "021-050", "VALUE:T2" ], [ "458", "021-050", "VALUE:T2" ], [ "500", "021-050", "VALUE:T2" ], [ "550", "021-050", "VALUE:T2" ], [ "560", "021-050", "VALUE:T2" ], [ "600", "021-050", "VALUE:T2" ], [ "610", "021-050", "VALUE:T2" ], [ "650", "021-050", "VALUE:T2" ], [ "700", "021-050", "VALUE:T2" ], [ "800", "021-050", "VALUE:T2" ], [ "100", "051-100", "VALUE:T3" ], [ "110", "051-100", "VALUE:T3" ], [ "120", "051-100", "VALUE:T3" ], [ "130", "051-100", "VALUE:T3" ], [ "140", "051-100", "VALUE:T3" ], [ "150", "051-100", "VALUE:T3" ], [ "155", "051-100", "VALUE:T3" ], [ "160", "051-100", "VALUE:T3" ], [ "165", "051-100", "VALUE:T3" ], [ "200", "051-100", "VALUE:T3" ], [ "300", "051-100", "VALUE:T3" ], [ "340", "051-100", "VALUE:T3" ], [ "390", "051-100", "VALUE:T3" ], [ "395", "051-100", "VALUE:T3" ], [ "398", "051-100", "VALUE:T3" ], [ "400", "051-100", "VALUE:T3" ], [ "440", "051-100", "VALUE:T3" ], [ "450", "051-100", "VALUE:T3" ], [ "458", "051-100", "VALUE:T3" ], [ "500", "051-100", "VALUE:T3" ], [ "550", "051-100", "VALUE:T3" ], [ "560", "051-100", "VALUE:T3" ], [ "600", "051-100", "VALUE:T3" ], [ "610", "051-100", "VALUE:T3" ], [ "650", "051-100", "VALUE:T3" ], [ "700", "051-100", "VALUE:T3" ], [ "800", "051-100", "VALUE:T3" ], [ "100", "101-989", "VALUE:T4" ], [ "110", "101-989", "VALUE:T4" ], [ "120", "101-989", "VALUE:T4" ], [ "130", "101-989", "VALUE:T4" ], [ "140", "101-989", "VALUE:T4" ], [ "150", "101-989", "VALUE:T4" ], [ "155", "101-989", "VALUE:T4" ], [ "160", "101-989", "VALUE:T4" ], [ "165", "101-989", "VALUE:T4" ], [ "200", "101-989", "VALUE:T4" ], [ "300", "101-989", "VALUE:T4" ], [ "340", "101-989", "VALUE:T4" ], [ "390", "101-989", "VALUE:T4" ], [ "395", "101-989", "VALUE:T4" ], [ "398", "101-989", "VALUE:T4" ], [ "400", "101-989", "VALUE:T4" ], [ "440", "101-989", "VALUE:T4" ], [ "450", "101-989", "VALUE:T4" ], [ "458", "101-989", "VALUE:T4" ], [ "500", "101-989", "VALUE:T4" ], [ "550", "101-989", "VALUE:T4" ], [ "560", "101-989", "VALUE:T4" ], [ "600", "101-989", "VALUE:T4" ], [ "610", "101-989", "VALUE:T4" ], [ "650", "101-989", "VALUE:T4" ], [ "700", "101-989", "VALUE:T4" ], [ "800", "101-989", "VALUE:T4" ], [ "100", "990-991", "VALUE:T1" ], [ "110", "990-991", "VALUE:T1" ], [ "120", "990-991", "VALUE:T1" ], [ "130", "990-991", "VALUE:T1" ], [ "140", "990-991", "VALUE:T1" ], [ "150", "990-991", "VALUE:T1" ], [ "155", "990-991", "VALUE:T1" ], [ "160", "990-991", "VALUE:T1" ], [ "165", "990-991", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "340", "990-991", "VALUE:T1" ], [ "390", "990-991", "VALUE:T1" ], [ "395", "990-991", "VALUE:T1" ], [ "398", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "440", "990-991", "VALUE:T1" ], [ "450", "990-991", "VALUE:T1" ], [ "458", "990-991", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1" ], [ "550", "990-991", "VALUE:T1" ], [ "560", "990-991", "VALUE:T1" ], [ "600", "990-991", "VALUE:T1" ], [ "610", "990-991", "VALUE:T1" ], [ "650", "990-991", "VALUE:T1" ], [ "700", "990-991", "VALUE:T1" ], [ "800", "990-991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "110", "992", "VALUE:T1" ], [ "120", "992", "VALUE:T1" ], [ "130", "992", "VALUE:T1" ], [ "140", "992", "VALUE:T1" ], [ "150", "992", "VALUE:T1" ], [ "155", "992", "VALUE:T1" ], [ "160", "992", "VALUE:T1" ], [ "165", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T1" ], [ "300", "992", "VALUE:T1" ], [ "340", "992", "VALUE:T1" ], [ "390", "992", "VALUE:T2" ], [ "395", "992", "VALUE:T3" ], [ "398", "992", "VALUE:T4" ], [ "400", "992", "VALUE:T1" ], [ "440", "992", "VALUE:T1" ], [ "450", "992", "VALUE:T1" ], [ "458", "992", "VALUE:T1" ], [ "500", "992", "VALUE:T1" ], [ "550", "992", "VALUE:T1" ], [ "560", "992", "VALUE:T1" ], [ "600", "992", "VALUE:T1" ], [ "610", "992", "VALUE:T1" ], [ "650", "992", "VALUE:T1" ], [ "700", "992", "VALUE:T1" ], [ "800", "992", "VALUE:T1" ], [ "100", "993", "VALUE:T2" ], [ "110", "993", "VALUE:T2" ], [ "120", "993", "VALUE:T2" ], [ "130", "993", "VALUE:T2" ], [ "140", "993", "VALUE:T2" ], [ "150", "993", "VALUE:T2" ], [ "155", "993", "VALUE:T2" ], [ "160", "993", "VALUE:T2" ], [ "165", "993", "VALUE:T2" ], [ "200", "993", "VALUE:T2" ], [ "300", "993", "VALUE:T2" ], [ "340", "993", "VALUE:T2" ], [ "390", "993", "VALUE:T2" ], [ "395", "993", "VALUE:T2" ], [ "398", "993", "VALUE:T2" ], [ "400", "993", "VALUE:T2" ], [ "440", "993", "VALUE:T2" ], [ "450", "993", "VALUE:T2" ], [ "458", "993", "VALUE:T2" ], [ "500", "993", "VALUE:T2" ], [ "550", "993", "VALUE:T2" ], [ "560", "993", "VALUE:T2" ], [ "600", "993", "VALUE:T2" ], [ "610", "993", "VALUE:T2" ], [ "650", "993", "VALUE:T2" ], [ "700", "993", "VALUE:T2" ], [ "800", "993", "VALUE:T2" ], [ "100", "994-995", "VALUE:T2" ], [ "110", "994-995", "VALUE:T2" ], [ "120", "994-995", "VALUE:T2" ], [ "130", "994-995", "VALUE:T2" ], [ "140", "994-995", "VALUE:T2" ], [ "150", "994-995", "VALUE:T2" ], [ "155", "994-995", "VALUE:T2" ], [ "160", "994-995", "VALUE:T2" ], [ "165", "994-995", "VALUE:T2" ], [ "200", "994-995", "VALUE:T2" ], [ "300", "994-995", "VALUE:T2" ], [ "340", "994-995", "VALUE:T1" ], [ "390", "994-995", "VALUE:T2" ], [ "395", "994-995", "VALUE:T3" ], [ "398", "994-995", "VALUE:T4" ], [ "400", "994-995", "VALUE:T2" ], [ "440", "994-995", "VALUE:T2" ], [ "450", "994-995", "VALUE:T2" ], [ "458", "994-995", "VALUE:T2" ], [ "500", "994-995", "VALUE:T2" ], [ "550", "994-995", "VALUE:T2" ], [ "560", "994-995", "VALUE:T2" ], [ "600", "994-995", "VALUE:T2" ], [ "610", "994-995", "VALUE:T2" ], [ "650", "994-995", "VALUE:T2" ], [ "700", "994-995", "VALUE:T2" ], [ "800", "994-995", "VALUE:T2" ], [ "100", "996", "VALUE:T3" ], [ "110", "996", "VALUE:T3" ], [ "120", "996", "VALUE:T3" ], [ "130", "996", "VALUE:T3" ], [ "140", "996", "VALUE:T3" ], [ "150", "996", "VALUE:T3" ], [ "155", "996", "VALUE:T3" ], [ "160", "996", "VALUE:T3" ], [ "165", "996", "VALUE:T3" ], [ "200", "996", "VALUE:T3" ], [ "300", "996", "VALUE:T3" ], [ "340", "996", "VALUE:T1" ], [ "390", "996", "VALUE:T2" ], [ "395", "996", "VALUE:T3" ], [ "398", "996", "VALUE:T4" ], [ "400", "996", "VALUE:T3" ], [ "440", "996", "VALUE:T3" ], [ "450", "996", "VALUE:T3" ], [ "458", "996", "VALUE:T3" ], [ "500", "996", "VALUE:T3" ], [ "550", "996", "VALUE:T3" ], [ "560", "996", "VALUE:T3" ], [ "600", "996", "VALUE:T3" ], [ "610", "996", "VALUE:T3" ], [ "650", "996", "VALUE:T3" ], [ "700", "996", "VALUE:T3" ], [ "800", "996", "VALUE:T3" ], [ "100", "997", "VALUE:T4" ], [ "110", "997", "VALUE:T4" ], [ "120", "997", "VALUE:T4" ], [ "130", "997", "VALUE:T4" ], [ "140", "997", "VALUE:T4" ], [ "150", "997", "VALUE:T4" ], [ "155", "997", "VALUE:T4" ], [ "160", "997", "VALUE:T4" ], [ "165", "997", "VALUE:T4" ], [ "200", "997", "VALUE:T4" ], [ "300", "997", "VALUE:T4" ], [ "340", "997", "VALUE:T1" ], [ "390", "997", "VALUE:T2" ], [ "395", "997", "VALUE:T3" ], [ "398", "997", "VALUE:T4" ], [ "400", "997", "VALUE:T4" ], [ "440", "997", "VALUE:T4" ], [ "450", "997", "VALUE:T4" ], [ "458", "997", "VALUE:T4" ], [ "500", "997", "VALUE:T4" ], [ "550", "997", "VALUE:T4" ], [ "560", "997", "VALUE:T4" ], [ "600", "997", "VALUE:T4" ], [ "610", "997", "VALUE:T4" ], [ "650", "997", "VALUE:T4" ], [ "700", "997", "VALUE:T4" ], [ "800", "997", "VALUE:T4" ], [ "100", "998", "ERROR:" ], [ "110", "998", "ERROR:" ], [ "120", "998", "ERROR:" ], [ "130", "998", "ERROR:" ], [ "140", "998", "ERROR:" ], [ "150", "998", "ERROR:" ], [ "155", "998", "ERROR:" ], [ "160", "998", "ERROR:" ], [ "165", "998", "ERROR:" ], [ "200", "998", "ERROR:" ], [ "300", "998", "ERROR:" ], [ "340", "998", "ERROR:" ], [ "390", "998", "ERROR:" ], [ "395", "998", "ERROR:" ], [ "398", "998", "ERROR:" ], [ "400", "998", "ERROR:" ], [ "440", "998", "ERROR:" ], [ "450", "998", "ERROR:" ], [ "458", "998", "ERROR:" ], [ "500", "998", "ERROR:" ], [ "550", "998", "ERROR:" ], [ "560", "998", "ERROR:" ], [ "600", "998", "ERROR:" ], [ "610", "998", "ERROR:" ], [ "650", "998", "ERROR:" ], [ "700", "998", "ERROR:" ], [ "800", "998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "110", "999", "VALUE:TX" ], [ "120", "999", "VALUE:TX" ], [ "130", "999", "VALUE:TX" ], [ "140", "999", "VALUE:TX" ], [ "150", "999", "VALUE:TX" ], [ "155", "999", "VALUE:TX" ], [ "160", "999", "VALUE:TX" ], [ "165", "999", "VALUE:TX" ], [ "200", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "340", "999", "VALUE:T1" ], [ "390", "999", "VALUE:T2" ], [ "395", "999", "VALUE:T3" ], [ "398", "999", "VALUE:T4" ], [ "400", "999", "VALUE:TX" ], [ "440", "999", "VALUE:TX" ], [ "450", "999", "VALUE:TX" ], [ "458", "999", "VALUE:TX" ], [ "500", "999", "VALUE:TX" ], [ "550", "999", "VALUE:TX" ], [ "560", "999", "VALUE:TX" ], [ "600", "999", "VALUE:TX" ], [ "610", "999", "VALUE:TX" ], [ "650", "999", "VALUE:TX" ], [ "700", "999", "VALUE:TX" ], [ "800", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xef.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xef.json deleted file mode 100644 index cf5c6bf85..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xef.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xef", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-800 only, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:17.511Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "130", "000", "ERROR:" ], [ "140", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "155", "000", "ERROR:" ], [ "160", "000", "ERROR:" ], [ "165", "000", "ERROR:" ], [ "170", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "210", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "270", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "458", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "550", "000", "ERROR:" ], [ "560", "000", "ERROR:" ], [ "600", "000", "ERROR:" ], [ "650", "000", "ERROR:" ], [ "660", "000", "ERROR:" ], [ "670", "000", "ERROR:" ], [ "680", "000", "ERROR:" ], [ "700", "000", "ERROR:" ], [ "800", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "110", "001-020", "VALUE:T1" ], [ "120", "001-020", "VALUE:T1" ], [ "130", "001-020", "VALUE:T1" ], [ "140", "001-020", "VALUE:T1" ], [ "150", "001-020", "VALUE:T1" ], [ "155", "001-020", "VALUE:T1" ], [ "160", "001-020", "VALUE:T1" ], [ "165", "001-020", "VALUE:T1" ], [ "170", "001-020", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1" ], [ "210", "001-020", "VALUE:T1" ], [ "250", "001-020", "VALUE:T1" ], [ "270", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "450", "001-020", "VALUE:T1" ], [ "458", "001-020", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1" ], [ "550", "001-020", "VALUE:T1" ], [ "560", "001-020", "VALUE:T1" ], [ "600", "001-020", "VALUE:T1" ], [ "650", "001-020", "VALUE:T1" ], [ "660", "001-020", "VALUE:T1" ], [ "670", "001-020", "VALUE:T1" ], [ "680", "001-020", "VALUE:T1" ], [ "700", "001-020", "VALUE:T1" ], [ "800", "001-020", "VALUE:T1" ], [ "100", "021-050", "VALUE:T2" ], [ "110", "021-050", "VALUE:T2" ], [ "120", "021-050", "VALUE:T2" ], [ "130", "021-050", "VALUE:T2" ], [ "140", "021-050", "VALUE:T2" ], [ "150", "021-050", "VALUE:T2" ], [ "155", "021-050", "VALUE:T2" ], [ "160", "021-050", "VALUE:T2" ], [ "165", "021-050", "VALUE:T2" ], [ "170", "021-050", "VALUE:T2" ], [ "200", "021-050", "VALUE:T2" ], [ "210", "021-050", "VALUE:T2" ], [ "250", "021-050", "VALUE:T2" ], [ "270", "021-050", "VALUE:T2" ], [ "300", "021-050", "VALUE:T2" ], [ "400", "021-050", "VALUE:T2" ], [ "450", "021-050", "VALUE:T2" ], [ "458", "021-050", "VALUE:T2" ], [ "500", "021-050", "VALUE:T2" ], [ "550", "021-050", "VALUE:T2" ], [ "560", "021-050", "VALUE:T2" ], [ "600", "021-050", "VALUE:T2" ], [ "650", "021-050", "VALUE:T2" ], [ "660", "021-050", "VALUE:T2" ], [ "670", "021-050", "VALUE:T2" ], [ "680", "021-050", "VALUE:T2" ], [ "700", "021-050", "VALUE:T2" ], [ "800", "021-050", "VALUE:T2" ], [ "100", "051-100", "VALUE:T3" ], [ "110", "051-100", "VALUE:T3" ], [ "120", "051-100", "VALUE:T3" ], [ "130", "051-100", "VALUE:T3" ], [ "140", "051-100", "VALUE:T3" ], [ "150", "051-100", "VALUE:T3" ], [ "155", "051-100", "VALUE:T3" ], [ "160", "051-100", "VALUE:T3" ], [ "165", "051-100", "VALUE:T3" ], [ "170", "051-100", "VALUE:T3" ], [ "200", "051-100", "VALUE:T3" ], [ "210", "051-100", "VALUE:T3" ], [ "250", "051-100", "VALUE:T3" ], [ "270", "051-100", "VALUE:T3" ], [ "300", "051-100", "VALUE:T3" ], [ "400", "051-100", "VALUE:T3" ], [ "450", "051-100", "VALUE:T3" ], [ "458", "051-100", "VALUE:T3" ], [ "500", "051-100", "VALUE:T3" ], [ "550", "051-100", "VALUE:T3" ], [ "560", "051-100", "VALUE:T3" ], [ "600", "051-100", "VALUE:T3" ], [ "650", "051-100", "VALUE:T3" ], [ "660", "051-100", "VALUE:T3" ], [ "670", "051-100", "VALUE:T3" ], [ "680", "051-100", "VALUE:T3" ], [ "700", "051-100", "VALUE:T3" ], [ "800", "051-100", "VALUE:T3" ], [ "100", "101-989", "VALUE:T4" ], [ "110", "101-989", "VALUE:T4" ], [ "120", "101-989", "VALUE:T4" ], [ "130", "101-989", "VALUE:T4" ], [ "140", "101-989", "VALUE:T4" ], [ "150", "101-989", "VALUE:T4" ], [ "155", "101-989", "VALUE:T4" ], [ "160", "101-989", "VALUE:T4" ], [ "165", "101-989", "VALUE:T4" ], [ "170", "101-989", "VALUE:T4" ], [ "200", "101-989", "VALUE:T4" ], [ "210", "101-989", "VALUE:T4" ], [ "250", "101-989", "VALUE:T4" ], [ "270", "101-989", "VALUE:T4" ], [ "300", "101-989", "VALUE:T4" ], [ "400", "101-989", "VALUE:T4" ], [ "450", "101-989", "VALUE:T4" ], [ "458", "101-989", "VALUE:T4" ], [ "500", "101-989", "VALUE:T4" ], [ "550", "101-989", "VALUE:T4" ], [ "560", "101-989", "VALUE:T4" ], [ "600", "101-989", "VALUE:T4" ], [ "650", "101-989", "VALUE:T4" ], [ "660", "101-989", "VALUE:T4" ], [ "670", "101-989", "VALUE:T4" ], [ "680", "101-989", "VALUE:T4" ], [ "700", "101-989", "VALUE:T4" ], [ "800", "101-989", "VALUE:T4" ], [ "100", "990-991", "VALUE:T1" ], [ "110", "990-991", "VALUE:T1" ], [ "120", "990-991", "VALUE:T1" ], [ "130", "990-991", "VALUE:T1" ], [ "140", "990-991", "VALUE:T1" ], [ "150", "990-991", "VALUE:T1" ], [ "155", "990-991", "VALUE:T1" ], [ "160", "990-991", "VALUE:T1" ], [ "165", "990-991", "VALUE:T1" ], [ "170", "990-991", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1" ], [ "210", "990-991", "VALUE:T1" ], [ "250", "990-991", "VALUE:T1" ], [ "270", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "450", "990-991", "VALUE:T1" ], [ "458", "990-991", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1" ], [ "550", "990-991", "VALUE:T1" ], [ "560", "990-991", "VALUE:T1" ], [ "600", "990-991", "VALUE:T1" ], [ "650", "990-991", "VALUE:T1" ], [ "660", "990-991", "VALUE:T1" ], [ "670", "990-991", "VALUE:T1" ], [ "680", "990-991", "VALUE:T1" ], [ "700", "990-991", "VALUE:T1" ], [ "800", "990-991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "110", "992", "VALUE:T1" ], [ "120", "992", "VALUE:T1" ], [ "130", "992", "VALUE:T1" ], [ "140", "992", "VALUE:T1" ], [ "150", "992", "VALUE:T1" ], [ "155", "992", "VALUE:T1" ], [ "160", "992", "VALUE:T1" ], [ "165", "992", "VALUE:T1" ], [ "170", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T1" ], [ "210", "992", "VALUE:T2" ], [ "250", "992", "VALUE:T3" ], [ "270", "992", "VALUE:T4" ], [ "300", "992", "VALUE:T1" ], [ "400", "992", "VALUE:T1" ], [ "450", "992", "VALUE:T1" ], [ "458", "992", "VALUE:T1" ], [ "500", "992", "VALUE:T1" ], [ "550", "992", "VALUE:T1" ], [ "560", "992", "VALUE:T1" ], [ "600", "992", "VALUE:T1" ], [ "650", "992", "VALUE:T1" ], [ "660", "992", "VALUE:T1" ], [ "670", "992", "VALUE:T1" ], [ "680", "992", "VALUE:T1" ], [ "700", "992", "VALUE:T1" ], [ "800", "992", "VALUE:T1" ], [ "100", "993", "VALUE:T2" ], [ "110", "993", "VALUE:T2" ], [ "120", "993", "VALUE:T2" ], [ "130", "993", "VALUE:T2" ], [ "140", "993", "VALUE:T2" ], [ "150", "993", "VALUE:T2" ], [ "155", "993", "VALUE:T2" ], [ "160", "993", "VALUE:T2" ], [ "165", "993", "VALUE:T2" ], [ "170", "993", "VALUE:T2" ], [ "200", "993", "VALUE:T2" ], [ "210", "993", "VALUE:T2" ], [ "250", "993", "VALUE:T2" ], [ "270", "993", "VALUE:T2" ], [ "300", "993", "VALUE:T2" ], [ "400", "993", "VALUE:T2" ], [ "450", "993", "VALUE:T2" ], [ "458", "993", "VALUE:T2" ], [ "500", "993", "VALUE:T2" ], [ "550", "993", "VALUE:T2" ], [ "560", "993", "VALUE:T2" ], [ "600", "993", "VALUE:T2" ], [ "650", "993", "VALUE:T2" ], [ "660", "993", "VALUE:T2" ], [ "670", "993", "VALUE:T2" ], [ "680", "993", "VALUE:T2" ], [ "700", "993", "VALUE:T2" ], [ "800", "993", "VALUE:T2" ], [ "100", "994-995", "VALUE:T2" ], [ "110", "994-995", "VALUE:T2" ], [ "120", "994-995", "VALUE:T2" ], [ "130", "994-995", "VALUE:T2" ], [ "140", "994-995", "VALUE:T2" ], [ "150", "994-995", "VALUE:T2" ], [ "155", "994-995", "VALUE:T2" ], [ "160", "994-995", "VALUE:T2" ], [ "165", "994-995", "VALUE:T2" ], [ "170", "994-995", "VALUE:T1" ], [ "200", "994-995", "VALUE:T2" ], [ "210", "994-995", "VALUE:T2" ], [ "250", "994-995", "VALUE:T3" ], [ "270", "994-995", "VALUE:T4" ], [ "300", "994-995", "VALUE:T2" ], [ "400", "994-995", "VALUE:T2" ], [ "450", "994-995", "VALUE:T2" ], [ "458", "994-995", "VALUE:T2" ], [ "500", "994-995", "VALUE:T2" ], [ "550", "994-995", "VALUE:T2" ], [ "560", "994-995", "VALUE:T2" ], [ "600", "994-995", "VALUE:T2" ], [ "650", "994-995", "VALUE:T2" ], [ "660", "994-995", "VALUE:T2" ], [ "670", "994-995", "VALUE:T2" ], [ "680", "994-995", "VALUE:T2" ], [ "700", "994-995", "VALUE:T2" ], [ "800", "994-995", "VALUE:T2" ], [ "100", "996", "VALUE:T3" ], [ "110", "996", "VALUE:T3" ], [ "120", "996", "VALUE:T3" ], [ "130", "996", "VALUE:T3" ], [ "140", "996", "VALUE:T3" ], [ "150", "996", "VALUE:T3" ], [ "155", "996", "VALUE:T3" ], [ "160", "996", "VALUE:T3" ], [ "165", "996", "VALUE:T3" ], [ "170", "996", "VALUE:T1" ], [ "200", "996", "VALUE:T3" ], [ "210", "996", "VALUE:T2" ], [ "250", "996", "VALUE:T3" ], [ "270", "996", "VALUE:T4" ], [ "300", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "450", "996", "VALUE:T3" ], [ "458", "996", "VALUE:T3" ], [ "500", "996", "VALUE:T3" ], [ "550", "996", "VALUE:T3" ], [ "560", "996", "VALUE:T3" ], [ "600", "996", "VALUE:T3" ], [ "650", "996", "VALUE:T3" ], [ "660", "996", "VALUE:T3" ], [ "670", "996", "VALUE:T3" ], [ "680", "996", "VALUE:T3" ], [ "700", "996", "VALUE:T3" ], [ "800", "996", "VALUE:T3" ], [ "100", "997", "VALUE:T4" ], [ "110", "997", "VALUE:T4" ], [ "120", "997", "VALUE:T4" ], [ "130", "997", "VALUE:T4" ], [ "140", "997", "VALUE:T4" ], [ "150", "997", "VALUE:T4" ], [ "155", "997", "VALUE:T4" ], [ "160", "997", "VALUE:T4" ], [ "165", "997", "VALUE:T4" ], [ "170", "997", "VALUE:T1" ], [ "200", "997", "VALUE:T4" ], [ "210", "997", "VALUE:T2" ], [ "250", "997", "VALUE:T3" ], [ "270", "997", "VALUE:T4" ], [ "300", "997", "VALUE:T4" ], [ "400", "997", "VALUE:T4" ], [ "450", "997", "VALUE:T4" ], [ "458", "997", "VALUE:T4" ], [ "500", "997", "VALUE:T4" ], [ "550", "997", "VALUE:T4" ], [ "560", "997", "VALUE:T4" ], [ "600", "997", "VALUE:T4" ], [ "650", "997", "VALUE:T4" ], [ "660", "997", "VALUE:T4" ], [ "670", "997", "VALUE:T4" ], [ "680", "997", "VALUE:T4" ], [ "700", "997", "VALUE:T4" ], [ "800", "997", "VALUE:T4" ], [ "100", "998", "ERROR:" ], [ "110", "998", "ERROR:" ], [ "120", "998", "ERROR:" ], [ "130", "998", "ERROR:" ], [ "140", "998", "ERROR:" ], [ "150", "998", "ERROR:" ], [ "155", "998", "ERROR:" ], [ "160", "998", "ERROR:" ], [ "165", "998", "ERROR:" ], [ "170", "998", "ERROR:" ], [ "200", "998", "ERROR:" ], [ "210", "998", "ERROR:" ], [ "250", "998", "ERROR:" ], [ "270", "998", "ERROR:" ], [ "300", "998", "ERROR:" ], [ "400", "998", "ERROR:" ], [ "450", "998", "ERROR:" ], [ "458", "998", "ERROR:" ], [ "500", "998", "ERROR:" ], [ "550", "998", "ERROR:" ], [ "560", "998", "ERROR:" ], [ "600", "998", "ERROR:" ], [ "650", "998", "ERROR:" ], [ "660", "998", "ERROR:" ], [ "670", "998", "ERROR:" ], [ "680", "998", "ERROR:" ], [ "700", "998", "ERROR:" ], [ "800", "998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "110", "999", "VALUE:TX" ], [ "120", "999", "VALUE:TX" ], [ "130", "999", "VALUE:TX" ], [ "140", "999", "VALUE:TX" ], [ "150", "999", "VALUE:TX" ], [ "155", "999", "VALUE:TX" ], [ "160", "999", "VALUE:TX" ], [ "165", "999", "VALUE:TX" ], [ "170", "999", "VALUE:T1" ], [ "200", "999", "VALUE:TX" ], [ "210", "999", "VALUE:T2" ], [ "250", "999", "VALUE:T3" ], [ "270", "999", "VALUE:T4" ], [ "300", "999", "VALUE:TX" ], [ "400", "999", "VALUE:TX" ], [ "450", "999", "VALUE:TX" ], [ "458", "999", "VALUE:TX" ], [ "500", "999", "VALUE:TX" ], [ "550", "999", "VALUE:TX" ], [ "560", "999", "VALUE:TX" ], [ "600", "999", "VALUE:TX" ], [ "650", "999", "VALUE:TX" ], [ "660", "999", "VALUE:TX" ], [ "670", "999", "VALUE:TX" ], [ "680", "999", "VALUE:TX" ], [ "700", "999", "VALUE:TX" ], [ "800", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xej.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xej.json deleted file mode 100644 index 6fb4a1158..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xej.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xej", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100, 300, and 600-630 ONLY, the T category is assigned based on the value of CS Tumor Size and CS Extension as shown in this table.", - "last_modified" : "2015-05-27T16:19:17.594Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "600", "000", "ERROR:" ], [ "610", "000", "ERROR:" ], [ "620", "000", "ERROR:" ], [ "630", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "600", "001-020", "VALUE:T1" ], [ "610", "001-020", "VALUE:T1" ], [ "620", "001-020", "VALUE:T1" ], [ "630", "001-020", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2" ], [ "600", "021-040", "VALUE:T2" ], [ "610", "021-040", "VALUE:T2" ], [ "620", "021-040", "VALUE:T2" ], [ "630", "021-040", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3" ], [ "600", "041-989", "VALUE:T3" ], [ "610", "041-989", "VALUE:T3" ], [ "620", "041-989", "VALUE:T3" ], [ "630", "041-989", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "600", "990-991", "VALUE:T1" ], [ "610", "990-991", "VALUE:T1" ], [ "620", "990-991", "VALUE:T1" ], [ "630", "990-991", "VALUE:T1" ], [ "100", "992-993", "VALUE:T1" ], [ "300", "992-993", "VALUE:T1" ], [ "600", "992-993", "VALUE:T1" ], [ "610", "992-993", "VALUE:T1" ], [ "620", "992-993", "VALUE:T2" ], [ "630", "992-993", "VALUE:T3" ], [ "100", "994", "VALUE:T2" ], [ "300", "994", "VALUE:T2" ], [ "600", "994", "VALUE:T2" ], [ "610", "994", "VALUE:T1" ], [ "620", "994", "VALUE:T2" ], [ "630", "994", "VALUE:T3" ], [ "100", "995", "VALUE:T3" ], [ "300", "995", "VALUE:T3" ], [ "600", "995", "VALUE:T3" ], [ "610", "995", "VALUE:T1" ], [ "620", "995", "VALUE:T2" ], [ "630", "995", "VALUE:T3" ], [ "100", "996", "VALUE:T3" ], [ "300", "996", "VALUE:T3" ], [ "600", "996", "VALUE:T3" ], [ "610", "996", "VALUE:T3" ], [ "620", "996", "VALUE:T3" ], [ "630", "996", "VALUE:T3" ], [ "100", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "600", "999", "VALUE:TX" ], [ "610", "999", "VALUE:T1" ], [ "620", "999", "VALUE:T2" ], [ "630", "999", "VALUE:T3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xet.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xet.json deleted file mode 100644 index 7569bc929..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xet.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xet", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-800 only, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size from this table.", - "last_modified" : "2015-05-27T16:19:17.642Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "130", "000", "ERROR:" ], [ "140", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "155", "000", "ERROR:" ], [ "160", "000", "ERROR:" ], [ "165", "000", "ERROR:" ], [ "170", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "210", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "270", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "458", "000", "ERROR:" ], [ "460", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "550", "000", "ERROR:" ], [ "560", "000", "ERROR:" ], [ "570", "000", "ERROR:" ], [ "600", "000", "ERROR:" ], [ "650", "000", "ERROR:" ], [ "700", "000", "ERROR:" ], [ "750", "000", "ERROR:" ], [ "800", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "110", "001-020", "VALUE:T1" ], [ "120", "001-020", "VALUE:T1" ], [ "130", "001-020", "VALUE:T1" ], [ "140", "001-020", "VALUE:T1" ], [ "150", "001-020", "VALUE:T1" ], [ "155", "001-020", "VALUE:T1" ], [ "160", "001-020", "VALUE:T1" ], [ "165", "001-020", "VALUE:T1" ], [ "170", "001-020", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1" ], [ "210", "001-020", "VALUE:T1" ], [ "250", "001-020", "VALUE:T1" ], [ "270", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "450", "001-020", "VALUE:T1" ], [ "458", "001-020", "VALUE:T1" ], [ "460", "001-020", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1" ], [ "550", "001-020", "VALUE:T1" ], [ "560", "001-020", "VALUE:T1" ], [ "570", "001-020", "VALUE:T1" ], [ "600", "001-020", "VALUE:T1" ], [ "650", "001-020", "VALUE:T1" ], [ "700", "001-020", "VALUE:T1" ], [ "750", "001-020", "VALUE:T1" ], [ "800", "001-020", "VALUE:T1" ], [ "100", "021-050", "VALUE:T2" ], [ "110", "021-050", "VALUE:T2" ], [ "120", "021-050", "VALUE:T2" ], [ "130", "021-050", "VALUE:T2" ], [ "140", "021-050", "VALUE:T2" ], [ "150", "021-050", "VALUE:T2" ], [ "155", "021-050", "VALUE:T2" ], [ "160", "021-050", "VALUE:T2" ], [ "165", "021-050", "VALUE:T2" ], [ "170", "021-050", "VALUE:T2" ], [ "200", "021-050", "VALUE:T2" ], [ "210", "021-050", "VALUE:T2" ], [ "250", "021-050", "VALUE:T2" ], [ "270", "021-050", "VALUE:T2" ], [ "300", "021-050", "VALUE:T2" ], [ "400", "021-050", "VALUE:T2" ], [ "450", "021-050", "VALUE:T2" ], [ "458", "021-050", "VALUE:T2" ], [ "460", "021-050", "VALUE:T2" ], [ "500", "021-050", "VALUE:T2" ], [ "550", "021-050", "VALUE:T2" ], [ "560", "021-050", "VALUE:T2" ], [ "570", "021-050", "VALUE:T2" ], [ "600", "021-050", "VALUE:T2" ], [ "650", "021-050", "VALUE:T2" ], [ "700", "021-050", "VALUE:T2" ], [ "750", "021-050", "VALUE:T2" ], [ "800", "021-050", "VALUE:T2" ], [ "100", "051-100", "VALUE:T3" ], [ "110", "051-100", "VALUE:T3" ], [ "120", "051-100", "VALUE:T3" ], [ "130", "051-100", "VALUE:T3" ], [ "140", "051-100", "VALUE:T3" ], [ "150", "051-100", "VALUE:T3" ], [ "155", "051-100", "VALUE:T3" ], [ "160", "051-100", "VALUE:T3" ], [ "165", "051-100", "VALUE:T3" ], [ "170", "051-100", "VALUE:T3" ], [ "200", "051-100", "VALUE:T3" ], [ "210", "051-100", "VALUE:T3" ], [ "250", "051-100", "VALUE:T3" ], [ "270", "051-100", "VALUE:T3" ], [ "300", "051-100", "VALUE:T3" ], [ "400", "051-100", "VALUE:T3" ], [ "450", "051-100", "VALUE:T3" ], [ "458", "051-100", "VALUE:T3" ], [ "460", "051-100", "VALUE:T3" ], [ "500", "051-100", "VALUE:T3" ], [ "550", "051-100", "VALUE:T3" ], [ "560", "051-100", "VALUE:T3" ], [ "570", "051-100", "VALUE:T3" ], [ "600", "051-100", "VALUE:T3" ], [ "650", "051-100", "VALUE:T3" ], [ "700", "051-100", "VALUE:T3" ], [ "750", "051-100", "VALUE:T3" ], [ "800", "051-100", "VALUE:T3" ], [ "100", "101-989", "VALUE:T4" ], [ "110", "101-989", "VALUE:T4" ], [ "120", "101-989", "VALUE:T4" ], [ "130", "101-989", "VALUE:T4" ], [ "140", "101-989", "VALUE:T4" ], [ "150", "101-989", "VALUE:T4" ], [ "155", "101-989", "VALUE:T4" ], [ "160", "101-989", "VALUE:T4" ], [ "165", "101-989", "VALUE:T4" ], [ "170", "101-989", "VALUE:T4" ], [ "200", "101-989", "VALUE:T4" ], [ "210", "101-989", "VALUE:T4" ], [ "250", "101-989", "VALUE:T4" ], [ "270", "101-989", "VALUE:T4" ], [ "300", "101-989", "VALUE:T4" ], [ "400", "101-989", "VALUE:T4" ], [ "450", "101-989", "VALUE:T4" ], [ "458", "101-989", "VALUE:T4" ], [ "460", "101-989", "VALUE:T4" ], [ "500", "101-989", "VALUE:T4" ], [ "550", "101-989", "VALUE:T4" ], [ "560", "101-989", "VALUE:T4" ], [ "570", "101-989", "VALUE:T4" ], [ "600", "101-989", "VALUE:T4" ], [ "650", "101-989", "VALUE:T4" ], [ "700", "101-989", "VALUE:T4" ], [ "750", "101-989", "VALUE:T4" ], [ "800", "101-989", "VALUE:T4" ], [ "100", "990-991", "VALUE:T1" ], [ "110", "990-991", "VALUE:T1" ], [ "120", "990-991", "VALUE:T1" ], [ "130", "990-991", "VALUE:T1" ], [ "140", "990-991", "VALUE:T1" ], [ "150", "990-991", "VALUE:T1" ], [ "155", "990-991", "VALUE:T1" ], [ "160", "990-991", "VALUE:T1" ], [ "165", "990-991", "VALUE:T1" ], [ "170", "990-991", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1" ], [ "210", "990-991", "VALUE:T1" ], [ "250", "990-991", "VALUE:T1" ], [ "270", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "450", "990-991", "VALUE:T1" ], [ "458", "990-991", "VALUE:T1" ], [ "460", "990-991", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1" ], [ "550", "990-991", "VALUE:T1" ], [ "560", "990-991", "VALUE:T1" ], [ "570", "990-991", "VALUE:T1" ], [ "600", "990-991", "VALUE:T1" ], [ "650", "990-991", "VALUE:T1" ], [ "700", "990-991", "VALUE:T1" ], [ "750", "990-991", "VALUE:T1" ], [ "800", "990-991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "110", "992", "VALUE:T1" ], [ "120", "992", "VALUE:T1" ], [ "130", "992", "VALUE:T1" ], [ "140", "992", "VALUE:T1" ], [ "150", "992", "VALUE:T1" ], [ "155", "992", "VALUE:T1" ], [ "160", "992", "VALUE:T1" ], [ "165", "992", "VALUE:T1" ], [ "170", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T1" ], [ "210", "992", "VALUE:T2" ], [ "250", "992", "VALUE:T3" ], [ "270", "992", "VALUE:T4" ], [ "300", "992", "VALUE:T1" ], [ "400", "992", "VALUE:T1" ], [ "450", "992", "VALUE:T1" ], [ "458", "992", "VALUE:T1" ], [ "460", "992", "VALUE:T1" ], [ "500", "992", "VALUE:T1" ], [ "550", "992", "VALUE:T1" ], [ "560", "992", "VALUE:T1" ], [ "570", "992", "VALUE:T1" ], [ "600", "992", "VALUE:T1" ], [ "650", "992", "VALUE:T1" ], [ "700", "992", "VALUE:T1" ], [ "750", "992", "VALUE:T1" ], [ "800", "992", "VALUE:T1" ], [ "100", "993", "VALUE:T2" ], [ "110", "993", "VALUE:T2" ], [ "120", "993", "VALUE:T2" ], [ "130", "993", "VALUE:T2" ], [ "140", "993", "VALUE:T2" ], [ "150", "993", "VALUE:T2" ], [ "155", "993", "VALUE:T2" ], [ "160", "993", "VALUE:T2" ], [ "165", "993", "VALUE:T2" ], [ "170", "993", "VALUE:T2" ], [ "200", "993", "VALUE:T2" ], [ "210", "993", "VALUE:T2" ], [ "250", "993", "VALUE:T2" ], [ "270", "993", "VALUE:T2" ], [ "300", "993", "VALUE:T2" ], [ "400", "993", "VALUE:T2" ], [ "450", "993", "VALUE:T2" ], [ "458", "993", "VALUE:T2" ], [ "460", "993", "VALUE:T2" ], [ "500", "993", "VALUE:T2" ], [ "550", "993", "VALUE:T2" ], [ "560", "993", "VALUE:T2" ], [ "570", "993", "VALUE:T2" ], [ "600", "993", "VALUE:T2" ], [ "650", "993", "VALUE:T2" ], [ "700", "993", "VALUE:T2" ], [ "750", "993", "VALUE:T2" ], [ "800", "993", "VALUE:T2" ], [ "100", "994-995", "VALUE:T2" ], [ "110", "994-995", "VALUE:T2" ], [ "120", "994-995", "VALUE:T2" ], [ "130", "994-995", "VALUE:T2" ], [ "140", "994-995", "VALUE:T2" ], [ "150", "994-995", "VALUE:T2" ], [ "155", "994-995", "VALUE:T2" ], [ "160", "994-995", "VALUE:T2" ], [ "165", "994-995", "VALUE:T2" ], [ "170", "994-995", "VALUE:T1" ], [ "200", "994-995", "VALUE:T2" ], [ "210", "994-995", "VALUE:T2" ], [ "250", "994-995", "VALUE:T3" ], [ "270", "994-995", "VALUE:T4" ], [ "300", "994-995", "VALUE:T2" ], [ "400", "994-995", "VALUE:T2" ], [ "450", "994-995", "VALUE:T2" ], [ "458", "994-995", "VALUE:T2" ], [ "460", "994-995", "VALUE:T2" ], [ "500", "994-995", "VALUE:T2" ], [ "550", "994-995", "VALUE:T2" ], [ "560", "994-995", "VALUE:T2" ], [ "570", "994-995", "VALUE:T2" ], [ "600", "994-995", "VALUE:T2" ], [ "650", "994-995", "VALUE:T2" ], [ "700", "994-995", "VALUE:T2" ], [ "750", "994-995", "VALUE:T2" ], [ "800", "994-995", "VALUE:T2" ], [ "100", "996", "VALUE:T3" ], [ "110", "996", "VALUE:T3" ], [ "120", "996", "VALUE:T3" ], [ "130", "996", "VALUE:T3" ], [ "140", "996", "VALUE:T3" ], [ "150", "996", "VALUE:T3" ], [ "155", "996", "VALUE:T3" ], [ "160", "996", "VALUE:T3" ], [ "165", "996", "VALUE:T3" ], [ "170", "996", "VALUE:T1" ], [ "200", "996", "VALUE:T3" ], [ "210", "996", "VALUE:T2" ], [ "250", "996", "VALUE:T3" ], [ "270", "996", "VALUE:T4" ], [ "300", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "450", "996", "VALUE:T3" ], [ "458", "996", "VALUE:T3" ], [ "460", "996", "VALUE:T3" ], [ "500", "996", "VALUE:T3" ], [ "550", "996", "VALUE:T3" ], [ "560", "996", "VALUE:T3" ], [ "570", "996", "VALUE:T3" ], [ "600", "996", "VALUE:T3" ], [ "650", "996", "VALUE:T3" ], [ "700", "996", "VALUE:T3" ], [ "750", "996", "VALUE:T3" ], [ "800", "996", "VALUE:T3" ], [ "100", "997", "VALUE:T4" ], [ "110", "997", "VALUE:T4" ], [ "120", "997", "VALUE:T4" ], [ "130", "997", "VALUE:T4" ], [ "140", "997", "VALUE:T4" ], [ "150", "997", "VALUE:T4" ], [ "155", "997", "VALUE:T4" ], [ "160", "997", "VALUE:T4" ], [ "165", "997", "VALUE:T4" ], [ "170", "997", "VALUE:T1" ], [ "200", "997", "VALUE:T4" ], [ "210", "997", "VALUE:T2" ], [ "250", "997", "VALUE:T3" ], [ "270", "997", "VALUE:T4" ], [ "300", "997", "VALUE:T4" ], [ "400", "997", "VALUE:T4" ], [ "450", "997", "VALUE:T4" ], [ "458", "997", "VALUE:T4" ], [ "460", "997", "VALUE:T4" ], [ "500", "997", "VALUE:T4" ], [ "550", "997", "VALUE:T4" ], [ "560", "997", "VALUE:T4" ], [ "570", "997", "VALUE:T4" ], [ "600", "997", "VALUE:T4" ], [ "650", "997", "VALUE:T4" ], [ "700", "997", "VALUE:T4" ], [ "750", "997", "VALUE:T4" ], [ "800", "997", "VALUE:T4" ], [ "100", "998", "ERROR:" ], [ "110", "998", "ERROR:" ], [ "120", "998", "ERROR:" ], [ "130", "998", "ERROR:" ], [ "140", "998", "ERROR:" ], [ "150", "998", "ERROR:" ], [ "155", "998", "ERROR:" ], [ "160", "998", "ERROR:" ], [ "165", "998", "ERROR:" ], [ "170", "998", "ERROR:" ], [ "200", "998", "ERROR:" ], [ "210", "998", "ERROR:" ], [ "250", "998", "ERROR:" ], [ "270", "998", "ERROR:" ], [ "300", "998", "ERROR:" ], [ "400", "998", "ERROR:" ], [ "450", "998", "ERROR:" ], [ "458", "998", "ERROR:" ], [ "460", "998", "ERROR:" ], [ "500", "998", "ERROR:" ], [ "550", "998", "ERROR:" ], [ "560", "998", "ERROR:" ], [ "570", "998", "ERROR:" ], [ "600", "998", "ERROR:" ], [ "650", "998", "ERROR:" ], [ "700", "998", "ERROR:" ], [ "750", "998", "ERROR:" ], [ "800", "998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "110", "999", "VALUE:TX" ], [ "120", "999", "VALUE:TX" ], [ "130", "999", "VALUE:TX" ], [ "140", "999", "VALUE:TX" ], [ "150", "999", "VALUE:TX" ], [ "155", "999", "VALUE:TX" ], [ "160", "999", "VALUE:TX" ], [ "165", "999", "VALUE:T1" ], [ "170", "999", "VALUE:T1" ], [ "200", "999", "VALUE:TX" ], [ "210", "999", "VALUE:T2" ], [ "250", "999", "VALUE:T3" ], [ "270", "999", "VALUE:T4" ], [ "300", "999", "VALUE:TX" ], [ "400", "999", "VALUE:TX" ], [ "450", "999", "VALUE:TX" ], [ "458", "999", "VALUE:TX" ], [ "460", "999", "VALUE:TX" ], [ "500", "999", "VALUE:TX" ], [ "550", "999", "VALUE:TX" ], [ "560", "999", "VALUE:TX" ], [ "570", "999", "VALUE:TX" ], [ "600", "999", "VALUE:TX" ], [ "650", "999", "VALUE:TX" ], [ "700", "999", "VALUE:TX" ], [ "750", "999", "VALUE:TX" ], [ "800", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeu.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeu.json deleted file mode 100644 index dbb646ec0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xeu.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xeu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-620 ONLY, the T category is assigned based on value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:17.720Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "405", "000", "ERROR:" ], [ "410", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "530", "000", "ERROR:" ], [ "610", "000", "ERROR:" ], [ "620", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "405", "001-020", "VALUE:T1" ], [ "410", "001-020", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1" ], [ "530", "001-020", "VALUE:T1" ], [ "610", "001-020", "VALUE:T1" ], [ "620", "001-020", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2" ], [ "200", "021-040", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2" ], [ "400", "021-040", "VALUE:T2" ], [ "405", "021-040", "VALUE:T2" ], [ "410", "021-040", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2" ], [ "530", "021-040", "VALUE:T2" ], [ "610", "021-040", "VALUE:T2" ], [ "620", "021-040", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3" ], [ "200", "041-989", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3" ], [ "400", "041-989", "VALUE:T3" ], [ "405", "041-989", "VALUE:T3" ], [ "410", "041-989", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3" ], [ "530", "041-989", "VALUE:T3" ], [ "610", "041-989", "VALUE:T3" ], [ "620", "041-989", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "405", "990-991", "VALUE:T1" ], [ "410", "990-991", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1" ], [ "530", "990-991", "VALUE:T1" ], [ "610", "990-991", "VALUE:T1" ], [ "620", "990-991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T1" ], [ "300", "992", "VALUE:T1" ], [ "400", "992", "VALUE:T1" ], [ "405", "992", "VALUE:T1" ], [ "410", "992", "VALUE:T2" ], [ "500", "992", "VALUE:T1" ], [ "530", "992", "VALUE:T1" ], [ "610", "992", "VALUE:T1" ], [ "620", "992", "VALUE:T1" ], [ "100", "993-994", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2" ], [ "400", "993-994", "VALUE:T2" ], [ "405", "993-994", "VALUE:T1" ], [ "410", "993-994", "VALUE:T2" ], [ "500", "993-994", "VALUE:T2" ], [ "530", "993-994", "VALUE:T2" ], [ "610", "993-994", "VALUE:T2" ], [ "620", "993-994", "VALUE:T2" ], [ "100", "995", "VALUE:T3" ], [ "200", "995", "VALUE:T3" ], [ "300", "995", "VALUE:T3" ], [ "400", "995", "VALUE:T3" ], [ "405", "995", "VALUE:T1" ], [ "410", "995", "VALUE:T2" ], [ "500", "995", "VALUE:T3" ], [ "530", "995", "VALUE:T3" ], [ "610", "995", "VALUE:T3" ], [ "620", "995", "VALUE:T3" ], [ "100", "996", "VALUE:T3" ], [ "200", "996", "VALUE:T3" ], [ "300", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "405", "996", "VALUE:T3" ], [ "410", "996", "VALUE:T3" ], [ "500", "996", "VALUE:T3" ], [ "530", "996", "VALUE:T3" ], [ "610", "996", "VALUE:T3" ], [ "620", "996", "VALUE:T3" ], [ "100", "997-998", "ERROR:" ], [ "200", "997-998", "ERROR:" ], [ "300", "997-998", "ERROR:" ], [ "400", "997-998", "ERROR:" ], [ "405", "997-998", "ERROR:" ], [ "410", "997-998", "ERROR:" ], [ "500", "997-998", "ERROR:" ], [ "530", "997-998", "ERROR:" ], [ "610", "997-998", "ERROR:" ], [ "620", "997-998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "200", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "400", "999", "VALUE:TX" ], [ "405", "999", "VALUE:T1" ], [ "410", "999", "VALUE:T2" ], [ "500", "999", "VALUE:TX" ], [ "530", "999", "VALUE:TX" ], [ "610", "999", "VALUE:TX" ], [ "620", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xev.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xev.json deleted file mode 100644 index 7dfb104d4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xev.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xev", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 390, 400, 420, and 440 ONLY, the T category is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:17.783Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "390", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "420", "000", "ERROR:" ], [ "440", "000", "ERROR:" ], [ "390", "001-050", "VALUE:T2" ], [ "400", "001-050", "VALUE:T2" ], [ "420", "001-050", "VALUE:T2" ], [ "440", "001-050", "VALUE:T2" ], [ "390", "051-989", "VALUE:T3a" ], [ "400", "051-989", "VALUE:T3a" ], [ "420", "051-989", "VALUE:T3a" ], [ "440", "051-989", "VALUE:T3a" ], [ "390", "990-995", "VALUE:T2" ], [ "400", "990-995", "VALUE:T2" ], [ "420", "990-995", "VALUE:T2" ], [ "440", "990-995", "VALUE:T2" ], [ "390", "996", "VALUE:T3a" ], [ "400", "996", "VALUE:T3a" ], [ "420", "996", "VALUE:T3a" ], [ "440", "996", "VALUE:T3a" ], [ "390", "997-998", "ERROR:" ], [ "400", "997-998", "ERROR:" ], [ "420", "997-998", "ERROR:" ], [ "440", "997-998", "ERROR:" ], [ "390", "999", "VALUE:TX" ], [ "400", "999", "VALUE:TX" ], [ "420", "999", "VALUE:TX" ], [ "440", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xey.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xey.json deleted file mode 100644 index 899e7f20d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xey.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xey", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 110-170 and 300 ONLY, the T category is assigned based on the value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:17.835Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "130", "000", "ERROR:" ], [ "140", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "160", "000", "ERROR:" ], [ "170", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "110", "001-010", "VALUE:T1" ], [ "120", "001-010", "VALUE:T1" ], [ "130", "001-010", "VALUE:T1" ], [ "140", "001-010", "VALUE:T1" ], [ "150", "001-010", "VALUE:T1" ], [ "160", "001-010", "VALUE:T1" ], [ "170", "001-010", "VALUE:T1" ], [ "300", "001-010", "VALUE:T1" ], [ "110", "011-989", "VALUE:T2" ], [ "120", "011-989", "VALUE:T2" ], [ "130", "011-989", "VALUE:T2" ], [ "140", "011-989", "VALUE:T2" ], [ "150", "011-989", "VALUE:T2" ], [ "160", "011-989", "VALUE:T2" ], [ "170", "011-989", "VALUE:T2" ], [ "300", "011-989", "VALUE:T2" ], [ "110", "990-991", "VALUE:T1" ], [ "120", "990-991", "VALUE:T1" ], [ "130", "990-991", "VALUE:T1" ], [ "140", "990-991", "VALUE:T1" ], [ "150", "990-991", "VALUE:T1" ], [ "160", "990-991", "VALUE:T1" ], [ "170", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "110", "992-995", "VALUE:T2" ], [ "120", "992-995", "VALUE:T2" ], [ "130", "992-995", "VALUE:T2" ], [ "140", "992-995", "VALUE:T2" ], [ "150", "992-995", "VALUE:T2" ], [ "160", "992-995", "VALUE:T2" ], [ "170", "992-995", "VALUE:T2" ], [ "300", "992-995", "VALUE:T2" ], [ "110", "998", "ERROR:" ], [ "120", "998", "ERROR:" ], [ "130", "998", "ERROR:" ], [ "140", "998", "ERROR:" ], [ "150", "998", "ERROR:" ], [ "160", "998", "ERROR:" ], [ "170", "998", "ERROR:" ], [ "300", "998", "ERROR:" ], [ "110", "999", "VALUE:TX" ], [ "120", "999", "VALUE:TX" ], [ "130", "999", "VALUE:TX" ], [ "140", "999", "VALUE:TX" ], [ "150", "999", "VALUE:TX" ], [ "160", "999", "VALUE:TX" ], [ "170", "999", "VALUE:T1" ], [ "300", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfc.json deleted file mode 100644 index eda448250..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfc.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xfc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100 through 600 ONLY, the T category is assigned based on value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:17.884Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "405", "000", "ERROR:" ], [ "410", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "600", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "405", "001-020", "VALUE:T1" ], [ "410", "001-020", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1" ], [ "600", "001-020", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2" ], [ "200", "021-040", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2" ], [ "400", "021-040", "VALUE:T2" ], [ "405", "021-040", "VALUE:T2" ], [ "410", "021-040", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2" ], [ "600", "021-040", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3" ], [ "200", "041-989", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3" ], [ "400", "041-989", "VALUE:T3" ], [ "405", "041-989", "VALUE:T3" ], [ "410", "041-989", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3" ], [ "600", "041-989", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "405", "990-991", "VALUE:T1" ], [ "410", "990-991", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1" ], [ "600", "990-991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T1" ], [ "300", "992", "VALUE:T1" ], [ "400", "992", "VALUE:T1" ], [ "405", "992", "VALUE:T1" ], [ "410", "992", "VALUE:T2" ], [ "500", "992", "VALUE:T1" ], [ "600", "992", "VALUE:T1" ], [ "100", "993-994", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2" ], [ "400", "993-994", "VALUE:T2" ], [ "405", "993-994", "VALUE:T1" ], [ "410", "993-994", "VALUE:T2" ], [ "500", "993-994", "VALUE:T2" ], [ "600", "993-994", "VALUE:T2" ], [ "100", "995", "VALUE:T3" ], [ "200", "995", "VALUE:T3" ], [ "300", "995", "VALUE:T3" ], [ "400", "995", "VALUE:T3" ], [ "405", "995", "VALUE:T1" ], [ "410", "995", "VALUE:T2" ], [ "500", "995", "VALUE:T3" ], [ "600", "995", "VALUE:T3" ], [ "100", "996", "VALUE:T3" ], [ "200", "996", "VALUE:T3" ], [ "300", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "405", "996", "VALUE:T3" ], [ "410", "996", "VALUE:T3" ], [ "500", "996", "VALUE:T3" ], [ "600", "996", "VALUE:T3" ], [ "100", "997-998", "ERROR:" ], [ "200", "997-998", "ERROR:" ], [ "300", "997-998", "ERROR:" ], [ "400", "997-998", "ERROR:" ], [ "405", "997-998", "ERROR:" ], [ "410", "997-998", "ERROR:" ], [ "500", "997-998", "ERROR:" ], [ "600", "997-998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "200", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "400", "999", "VALUE:TX" ], [ "405", "999", "VALUE:T1" ], [ "410", "999", "VALUE:T2" ], [ "500", "999", "VALUE:TX" ], [ "600", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfd.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfd.json deleted file mode 100644 index 9ad7b8759..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfd.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xfd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100- 810 only, the T category is assigned based on the value of CS Tumor Size from this table.", - "last_modified" : "2015-05-27T16:19:17.935Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "155", "000", "ERROR:" ], [ "160", "000", "ERROR:" ], [ "165", "000", "ERROR:" ], [ "170", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "210", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "270", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "560", "000", "ERROR:" ], [ "610", "000", "ERROR:" ], [ "660", "000", "ERROR:" ], [ "680", "000", "ERROR:" ], [ "730", "000", "ERROR:" ], [ "740", "000", "ERROR:" ], [ "745", "000", "ERROR:" ], [ "750", "000", "ERROR:" ], [ "810", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "110", "001-020", "VALUE:T1" ], [ "120", "001-020", "VALUE:T1" ], [ "155", "001-020", "VALUE:T1" ], [ "160", "001-020", "VALUE:T1" ], [ "165", "001-020", "VALUE:T1" ], [ "170", "001-020", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1" ], [ "210", "001-020", "VALUE:T1" ], [ "250", "001-020", "VALUE:T1" ], [ "270", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "560", "001-020", "VALUE:T1" ], [ "610", "001-020", "VALUE:T1" ], [ "660", "001-020", "VALUE:T1" ], [ "680", "001-020", "VALUE:T1" ], [ "730", "001-020", "VALUE:T1" ], [ "740", "001-020", "VALUE:T1" ], [ "745", "001-020", "VALUE:T1" ], [ "750", "001-020", "VALUE:T1" ], [ "810", "001-020", "VALUE:T1" ], [ "100", "021-050", "VALUE:T2" ], [ "110", "021-050", "VALUE:T2" ], [ "120", "021-050", "VALUE:T2" ], [ "155", "021-050", "VALUE:T2" ], [ "160", "021-050", "VALUE:T2" ], [ "165", "021-050", "VALUE:T2" ], [ "170", "021-050", "VALUE:T2" ], [ "200", "021-050", "VALUE:T2" ], [ "210", "021-050", "VALUE:T2" ], [ "250", "021-050", "VALUE:T2" ], [ "270", "021-050", "VALUE:T2" ], [ "300", "021-050", "VALUE:T2" ], [ "400", "021-050", "VALUE:T2" ], [ "560", "021-050", "VALUE:T2" ], [ "610", "021-050", "VALUE:T2" ], [ "660", "021-050", "VALUE:T2" ], [ "680", "021-050", "VALUE:T2" ], [ "730", "021-050", "VALUE:T2" ], [ "740", "021-050", "VALUE:T2" ], [ "745", "021-050", "VALUE:T2" ], [ "750", "021-050", "VALUE:T2" ], [ "810", "021-050", "VALUE:T2" ], [ "100", "051-100", "VALUE:T3" ], [ "110", "051-100", "VALUE:T3" ], [ "120", "051-100", "VALUE:T3" ], [ "155", "051-100", "VALUE:T3" ], [ "160", "051-100", "VALUE:T3" ], [ "165", "051-100", "VALUE:T3" ], [ "170", "051-100", "VALUE:T3" ], [ "200", "051-100", "VALUE:T3" ], [ "210", "051-100", "VALUE:T3" ], [ "250", "051-100", "VALUE:T3" ], [ "270", "051-100", "VALUE:T3" ], [ "300", "051-100", "VALUE:T3" ], [ "400", "051-100", "VALUE:T3" ], [ "560", "051-100", "VALUE:T3" ], [ "610", "051-100", "VALUE:T3" ], [ "660", "051-100", "VALUE:T3" ], [ "680", "051-100", "VALUE:T3" ], [ "730", "051-100", "VALUE:T3" ], [ "740", "051-100", "VALUE:T3" ], [ "745", "051-100", "VALUE:T3" ], [ "750", "051-100", "VALUE:T3" ], [ "810", "051-100", "VALUE:T3" ], [ "100", "101-989", "VALUE:T4" ], [ "110", "101-989", "VALUE:T4" ], [ "120", "101-989", "VALUE:T4" ], [ "155", "101-989", "VALUE:T4" ], [ "160", "101-989", "VALUE:T4" ], [ "165", "101-989", "VALUE:T4" ], [ "170", "101-989", "VALUE:T4" ], [ "200", "101-989", "VALUE:T4" ], [ "210", "101-989", "VALUE:T4" ], [ "250", "101-989", "VALUE:T4" ], [ "270", "101-989", "VALUE:T4" ], [ "300", "101-989", "VALUE:T4" ], [ "400", "101-989", "VALUE:T4" ], [ "560", "101-989", "VALUE:T4" ], [ "610", "101-989", "VALUE:T4" ], [ "660", "101-989", "VALUE:T4" ], [ "680", "101-989", "VALUE:T4" ], [ "730", "101-989", "VALUE:T4" ], [ "740", "101-989", "VALUE:T4" ], [ "745", "101-989", "VALUE:T4" ], [ "750", "101-989", "VALUE:T4" ], [ "810", "101-989", "VALUE:T4" ], [ "100", "990-991", "VALUE:T1" ], [ "110", "990-991", "VALUE:T1" ], [ "120", "990-991", "VALUE:T1" ], [ "155", "990-991", "VALUE:T1" ], [ "160", "990-991", "VALUE:T1" ], [ "165", "990-991", "VALUE:T1" ], [ "170", "990-991", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1" ], [ "210", "990-991", "VALUE:T1" ], [ "250", "990-991", "VALUE:T1" ], [ "270", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "560", "990-991", "VALUE:T1" ], [ "610", "990-991", "VALUE:T1" ], [ "660", "990-991", "VALUE:T1" ], [ "680", "990-991", "VALUE:T1" ], [ "730", "990-991", "VALUE:T1" ], [ "740", "990-991", "VALUE:T1" ], [ "745", "990-991", "VALUE:T1" ], [ "750", "990-991", "VALUE:T1" ], [ "810", "990-991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "110", "992", "VALUE:T1" ], [ "120", "992", "VALUE:T1" ], [ "155", "992", "VALUE:T1" ], [ "160", "992", "VALUE:T1" ], [ "165", "992", "VALUE:T1" ], [ "170", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T1" ], [ "210", "992", "VALUE:T2" ], [ "250", "992", "VALUE:T3" ], [ "270", "992", "VALUE:T4" ], [ "300", "992", "VALUE:T1" ], [ "400", "992", "VALUE:T1" ], [ "560", "992", "VALUE:T1" ], [ "610", "992", "VALUE:T1" ], [ "660", "992", "VALUE:T1" ], [ "680", "992", "VALUE:T1" ], [ "730", "992", "VALUE:T1" ], [ "740", "992", "VALUE:T1" ], [ "745", "992", "VALUE:T1" ], [ "750", "992", "VALUE:T1" ], [ "810", "992", "VALUE:T1" ], [ "100", "993", "VALUE:T2" ], [ "110", "993", "VALUE:T2" ], [ "120", "993", "VALUE:T2" ], [ "155", "993", "VALUE:T2" ], [ "160", "993", "VALUE:T2" ], [ "165", "993", "VALUE:T2" ], [ "170", "993", "VALUE:T2" ], [ "200", "993", "VALUE:T2" ], [ "210", "993", "VALUE:T2" ], [ "250", "993", "VALUE:T2" ], [ "270", "993", "VALUE:T2" ], [ "300", "993", "VALUE:T2" ], [ "400", "993", "VALUE:T2" ], [ "560", "993", "VALUE:T2" ], [ "610", "993", "VALUE:T2" ], [ "660", "993", "VALUE:T2" ], [ "680", "993", "VALUE:T2" ], [ "730", "993", "VALUE:T2" ], [ "740", "993", "VALUE:T2" ], [ "745", "993", "VALUE:T2" ], [ "750", "993", "VALUE:T2" ], [ "810", "993", "VALUE:T2" ], [ "100", "994-995", "VALUE:T2" ], [ "110", "994-995", "VALUE:T2" ], [ "120", "994-995", "VALUE:T2" ], [ "155", "994-995", "VALUE:T2" ], [ "160", "994-995", "VALUE:T2" ], [ "165", "994-995", "VALUE:T2" ], [ "170", "994-995", "VALUE:T1" ], [ "200", "994-995", "VALUE:T2" ], [ "210", "994-995", "VALUE:T2" ], [ "250", "994-995", "VALUE:T3" ], [ "270", "994-995", "VALUE:T4" ], [ "300", "994-995", "VALUE:T2" ], [ "400", "994-995", "VALUE:T2" ], [ "560", "994-995", "VALUE:T2" ], [ "610", "994-995", "VALUE:T2" ], [ "660", "994-995", "VALUE:T2" ], [ "680", "994-995", "VALUE:T2" ], [ "730", "994-995", "VALUE:T2" ], [ "740", "994-995", "VALUE:T2" ], [ "745", "994-995", "VALUE:T2" ], [ "750", "994-995", "VALUE:T2" ], [ "810", "994-995", "VALUE:T2" ], [ "100", "996", "VALUE:T3" ], [ "110", "996", "VALUE:T3" ], [ "120", "996", "VALUE:T3" ], [ "155", "996", "VALUE:T3" ], [ "160", "996", "VALUE:T3" ], [ "165", "996", "VALUE:T3" ], [ "170", "996", "VALUE:T1" ], [ "200", "996", "VALUE:T3" ], [ "210", "996", "VALUE:T2" ], [ "250", "996", "VALUE:T3" ], [ "270", "996", "VALUE:T4" ], [ "300", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "560", "996", "VALUE:T3" ], [ "610", "996", "VALUE:T3" ], [ "660", "996", "VALUE:T3" ], [ "680", "996", "VALUE:T3" ], [ "730", "996", "VALUE:T3" ], [ "740", "996", "VALUE:T3" ], [ "745", "996", "VALUE:T3" ], [ "750", "996", "VALUE:T3" ], [ "810", "996", "VALUE:T3" ], [ "100", "997", "VALUE:T4" ], [ "110", "997", "VALUE:T4" ], [ "120", "997", "VALUE:T4" ], [ "155", "997", "VALUE:T4" ], [ "160", "997", "VALUE:T4" ], [ "165", "997", "VALUE:T4" ], [ "170", "997", "VALUE:T1" ], [ "200", "997", "VALUE:T4" ], [ "210", "997", "VALUE:T2" ], [ "250", "997", "VALUE:T3" ], [ "270", "997", "VALUE:T4" ], [ "300", "997", "VALUE:T4" ], [ "400", "997", "VALUE:T4" ], [ "560", "997", "VALUE:T4" ], [ "610", "997", "VALUE:T4" ], [ "660", "997", "VALUE:T4" ], [ "680", "997", "VALUE:T4" ], [ "730", "997", "VALUE:T4" ], [ "740", "997", "VALUE:T4" ], [ "745", "997", "VALUE:T4" ], [ "750", "997", "VALUE:T4" ], [ "810", "997", "VALUE:T4" ], [ "100", "998", "ERROR:" ], [ "110", "998", "ERROR:" ], [ "120", "998", "ERROR:" ], [ "155", "998", "ERROR:" ], [ "160", "998", "ERROR:" ], [ "165", "998", "ERROR:" ], [ "170", "998", "ERROR:" ], [ "200", "998", "ERROR:" ], [ "210", "998", "ERROR:" ], [ "250", "998", "ERROR:" ], [ "270", "998", "ERROR:" ], [ "300", "998", "ERROR:" ], [ "400", "998", "ERROR:" ], [ "560", "998", "ERROR:" ], [ "610", "998", "ERROR:" ], [ "660", "998", "ERROR:" ], [ "680", "998", "ERROR:" ], [ "730", "998", "ERROR:" ], [ "740", "998", "ERROR:" ], [ "745", "998", "ERROR:" ], [ "750", "998", "ERROR:" ], [ "810", "998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "110", "999", "VALUE:TX" ], [ "120", "999", "VALUE:TX" ], [ "155", "999", "VALUE:TX" ], [ "160", "999", "VALUE:TX" ], [ "165", "999", "VALUE:TX" ], [ "170", "999", "VALUE:T1" ], [ "200", "999", "VALUE:TX" ], [ "210", "999", "VALUE:T2" ], [ "250", "999", "VALUE:T3" ], [ "270", "999", "VALUE:T4" ], [ "300", "999", "VALUE:TX" ], [ "400", "999", "VALUE:TX" ], [ "560", "999", "VALUE:TX" ], [ "610", "999", "VALUE:TX" ], [ "660", "999", "VALUE:TX" ], [ "680", "999", "VALUE:TX" ], [ "730", "999", "VALUE:TX" ], [ "740", "999", "VALUE:TX" ], [ "745", "999", "VALUE:TX" ], [ "750", "999", "VALUE:TX" ], [ "810", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfe.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfe.json deleted file mode 100644 index 743b3ab96..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfe.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xfe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: CS Extension codes 100-300 only; the T category for AJCC 7 staging is assigned based on the value of Tumor Size from this table.", - "last_modified" : "2015-05-27T16:19:18.007Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "310", "000", "ERROR:" ], [ "420", "000", "ERROR:" ], [ "430", "000", "ERROR:" ], [ "100", "001-010", "VALUE:T1" ], [ "300", "001-010", "VALUE:T1" ], [ "310", "001-010", "VALUE:T1" ], [ "420", "001-010", "VALUE:T1" ], [ "430", "001-010", "VALUE:T1" ], [ "100", "011-989", "VALUE:T2" ], [ "300", "011-989", "VALUE:T2" ], [ "310", "011-989", "VALUE:T2" ], [ "420", "011-989", "VALUE:T2" ], [ "430", "011-989", "VALUE:T2" ], [ "100", "990", "VALUE:T1" ], [ "300", "990", "VALUE:T1" ], [ "310", "990", "VALUE:T1" ], [ "420", "990", "VALUE:T1" ], [ "430", "990", "VALUE:T1" ], [ "100", "991", "VALUE:T1" ], [ "300", "991", "VALUE:T1" ], [ "310", "991", "VALUE:T1" ], [ "420", "991", "VALUE:T1" ], [ "430", "991", "VALUE:T1" ], [ "100", "992", "VALUE:T2" ], [ "300", "992", "VALUE:T2" ], [ "310", "992", "VALUE:T1" ], [ "420", "992", "VALUE:T2" ], [ "430", "992", "VALUE:T2" ], [ "100", "993-995", "VALUE:T2" ], [ "300", "993-995", "VALUE:T2" ], [ "310", "993-995", "VALUE:T2" ], [ "420", "993-995", "VALUE:T2" ], [ "430", "993-995", "VALUE:T2" ], [ "100", "996-998", "ERROR:" ], [ "300", "996-998", "ERROR:" ], [ "310", "996-998", "ERROR:" ], [ "420", "996-998", "ERROR:" ], [ "430", "996-998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "310", "999", "VALUE:T1" ], [ "420", "999", "VALUE:TX" ], [ "430", "999", "VALUE:T2" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xff.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xff.json deleted file mode 100644 index 0ad4e2002..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xff.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xff", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-170 and 300 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.062Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "130", "000", "ERROR:" ], [ "140", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "160", "000", "ERROR:" ], [ "170", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "100", "001-010", "VALUE:T1" ], [ "110", "001-010", "VALUE:T1" ], [ "120", "001-010", "VALUE:T1" ], [ "130", "001-010", "VALUE:T1" ], [ "140", "001-010", "VALUE:T1" ], [ "150", "001-010", "VALUE:T1" ], [ "160", "001-010", "VALUE:T1" ], [ "170", "001-010", "VALUE:T1" ], [ "300", "001-010", "VALUE:T1" ], [ "100", "011-989", "VALUE:T2" ], [ "110", "011-989", "VALUE:T2" ], [ "120", "011-989", "VALUE:T2" ], [ "130", "011-989", "VALUE:T2" ], [ "140", "011-989", "VALUE:T2" ], [ "150", "011-989", "VALUE:T2" ], [ "160", "011-989", "VALUE:T2" ], [ "170", "011-989", "VALUE:T2" ], [ "300", "011-989", "VALUE:T2" ], [ "100", "990-991", "VALUE:T1" ], [ "110", "990-991", "VALUE:T1" ], [ "120", "990-991", "VALUE:T1" ], [ "130", "990-991", "VALUE:T1" ], [ "140", "990-991", "VALUE:T1" ], [ "150", "990-991", "VALUE:T1" ], [ "160", "990-991", "VALUE:T1" ], [ "170", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "100", "992-995", "VALUE:T2" ], [ "110", "992-995", "VALUE:T2" ], [ "120", "992-995", "VALUE:T2" ], [ "130", "992-995", "VALUE:T2" ], [ "140", "992-995", "VALUE:T2" ], [ "150", "992-995", "VALUE:T2" ], [ "160", "992-995", "VALUE:T2" ], [ "170", "992-995", "VALUE:T2" ], [ "300", "992-995", "VALUE:T2" ], [ "100", "996-998", "ERROR:" ], [ "110", "996-998", "ERROR:" ], [ "120", "996-998", "ERROR:" ], [ "130", "996-998", "ERROR:" ], [ "140", "996-998", "ERROR:" ], [ "150", "996-998", "ERROR:" ], [ "160", "996-998", "ERROR:" ], [ "170", "996-998", "ERROR:" ], [ "300", "996-998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "110", "999", "VALUE:TX" ], [ "120", "999", "VALUE:TX" ], [ "130", "999", "VALUE:TX" ], [ "140", "999", "VALUE:TX" ], [ "150", "999", "VALUE:TX" ], [ "160", "999", "VALUE:TX" ], [ "170", "999", "VALUE:T1" ], [ "300", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfp.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfp.json deleted file mode 100644 index 66159c424..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xfp.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xfp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-800 only, the T category for AJCC 7 staging is assigned based on the value of Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.107Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "350", "000", "ERROR:" ], [ "360", "000", "ERROR:" ], [ "370", "000", "ERROR:" ], [ "380", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "600", "000", "ERROR:" ], [ "800", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "350", "001-020", "VALUE:T1" ], [ "360", "001-020", "VALUE:T1" ], [ "370", "001-020", "VALUE:T1" ], [ "380", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "600", "001-020", "VALUE:T1" ], [ "800", "001-020", "VALUE:T1" ], [ "100", "021-050", "VALUE:T2" ], [ "300", "021-050", "VALUE:T2" ], [ "350", "021-050", "VALUE:T2" ], [ "360", "021-050", "VALUE:T2" ], [ "370", "021-050", "VALUE:T2" ], [ "380", "021-050", "VALUE:T2" ], [ "400", "021-050", "VALUE:T2" ], [ "600", "021-050", "VALUE:T2" ], [ "800", "021-050", "VALUE:T2" ], [ "100", "051-100", "VALUE:T3" ], [ "300", "051-100", "VALUE:T3" ], [ "350", "051-100", "VALUE:T3" ], [ "360", "051-100", "VALUE:T3" ], [ "370", "051-100", "VALUE:T3" ], [ "380", "051-100", "VALUE:T3" ], [ "400", "051-100", "VALUE:T3" ], [ "600", "051-100", "VALUE:T3" ], [ "800", "051-100", "VALUE:T3" ], [ "100", "101-989", "VALUE:T4" ], [ "300", "101-989", "VALUE:T4" ], [ "350", "101-989", "VALUE:T4" ], [ "360", "101-989", "VALUE:T4" ], [ "370", "101-989", "VALUE:T4" ], [ "380", "101-989", "VALUE:T4" ], [ "400", "101-989", "VALUE:T4" ], [ "600", "101-989", "VALUE:T4" ], [ "800", "101-989", "VALUE:T4" ], [ "100", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "350", "990-991", "VALUE:T1" ], [ "360", "990-991", "VALUE:T1" ], [ "370", "990-991", "VALUE:T1" ], [ "380", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "600", "990-991", "VALUE:T1" ], [ "800", "990-991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "300", "992", "VALUE:T1" ], [ "350", "992", "VALUE:T1" ], [ "360", "992", "VALUE:T2" ], [ "370", "992", "VALUE:T3" ], [ "380", "992", "VALUE:T4" ], [ "400", "992", "VALUE:T1" ], [ "600", "992", "VALUE:T1" ], [ "800", "992", "VALUE:T1" ], [ "100", "993", "VALUE:T2" ], [ "300", "993", "VALUE:T2" ], [ "350", "993", "VALUE:T2" ], [ "360", "993", "VALUE:T2" ], [ "370", "993", "VALUE:T2" ], [ "380", "993", "VALUE:T2" ], [ "400", "993", "VALUE:T2" ], [ "600", "993", "VALUE:T2" ], [ "800", "993", "VALUE:T2" ], [ "100", "994-995", "VALUE:T2" ], [ "300", "994-995", "VALUE:T2" ], [ "350", "994-995", "VALUE:T1" ], [ "360", "994-995", "VALUE:T2" ], [ "370", "994-995", "VALUE:T3" ], [ "380", "994-995", "VALUE:T4" ], [ "400", "994-995", "VALUE:T2" ], [ "600", "994-995", "VALUE:T2" ], [ "800", "994-995", "VALUE:T2" ], [ "100", "996", "VALUE:T3" ], [ "300", "996", "VALUE:T3" ], [ "350", "996", "VALUE:T1" ], [ "360", "996", "VALUE:T2" ], [ "370", "996", "VALUE:T3" ], [ "380", "996", "VALUE:T4" ], [ "400", "996", "VALUE:T3" ], [ "600", "996", "VALUE:T3" ], [ "800", "996", "VALUE:T3" ], [ "100", "997", "VALUE:T4" ], [ "300", "997", "VALUE:T4" ], [ "350", "997", "VALUE:T1" ], [ "360", "997", "VALUE:T2" ], [ "370", "997", "VALUE:T3" ], [ "380", "997", "VALUE:T4" ], [ "400", "997", "VALUE:T4" ], [ "600", "997", "VALUE:T4" ], [ "800", "997", "VALUE:T4" ], [ "100", "998", "ERROR:" ], [ "300", "998", "ERROR:" ], [ "350", "998", "ERROR:" ], [ "360", "998", "ERROR:" ], [ "370", "998", "ERROR:" ], [ "380", "998", "ERROR:" ], [ "400", "998", "ERROR:" ], [ "600", "998", "ERROR:" ], [ "800", "998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "350", "999", "VALUE:T1" ], [ "360", "999", "VALUE:T2" ], [ "370", "999", "VALUE:T3" ], [ "380", "999", "VALUE:T4" ], [ "400", "999", "VALUE:TX" ], [ "600", "999", "VALUE:TX" ], [ "800", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xgi.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xgi.json deleted file mode 100644 index 03279bf6d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xgi.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xgi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 200-310, 380-450, and 550 ONLY, the T category for AJCC 7 staging is assigned based on CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.157Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "200", "000", "ERROR" ], [ "210", "000", "ERROR" ], [ "220", "000", "ERROR" ], [ "250", "000", "ERROR" ], [ "300", "000", "ERROR" ], [ "310", "000", "ERROR" ], [ "380", "000", "ERROR" ], [ "390", "000", "ERROR" ], [ "400", "000", "ERROR" ], [ "410", "000", "ERROR" ], [ "420", "000", "ERROR" ], [ "440", "000", "ERROR" ], [ "450", "000", "ERROR" ], [ "550", "000", "ERROR" ], [ "200", "001-040", "VALUE:T1b1" ], [ "210", "001-040", "VALUE:T1b1" ], [ "220", "001-040", "VALUE:T1b1" ], [ "250", "001-040", "VALUE:T1b1" ], [ "300", "001-040", "VALUE:T1b1" ], [ "310", "001-040", "VALUE:T1b1" ], [ "380", "001-040", "VALUE:T1b1" ], [ "390", "001-040", "VALUE:T1b1" ], [ "400", "001-040", "VALUE:T2a1" ], [ "410", "001-040", "VALUE:T2a1" ], [ "420", "001-040", "VALUE:T2a1" ], [ "440", "001-040", "VALUE:T2a1" ], [ "450", "001-040", "VALUE:T2a1" ], [ "550", "001-040", "VALUE:T2a1" ], [ "200", "041-989", "VALUE:T1b2" ], [ "210", "041-989", "VALUE:T1b2" ], [ "220", "041-989", "VALUE:T1b2" ], [ "250", "041-989", "VALUE:T1b2" ], [ "300", "041-989", "VALUE:T1b2" ], [ "310", "041-989", "VALUE:T1b2" ], [ "380", "041-989", "VALUE:T1b2" ], [ "390", "041-989", "VALUE:T1b2" ], [ "400", "041-989", "VALUE:T2a2" ], [ "410", "041-989", "VALUE:T2a2" ], [ "420", "041-989", "VALUE:T2a2" ], [ "440", "041-989", "VALUE:T2a2" ], [ "450", "041-989", "VALUE:T2a2" ], [ "550", "041-989", "VALUE:T2a2" ], [ "200", "990-994", "VALUE:T1b1" ], [ "210", "990-994", "VALUE:T1b1" ], [ "220", "990-994", "VALUE:T1b1" ], [ "250", "990-994", "VALUE:T1b1" ], [ "300", "990-994", "VALUE:T1b1" ], [ "310", "990-994", "VALUE:T1b1" ], [ "380", "990-994", "VALUE:T1b1" ], [ "390", "990-994", "VALUE:T1b1" ], [ "400", "990-994", "VALUE:T2a1" ], [ "410", "990-994", "VALUE:T2a1" ], [ "420", "990-994", "VALUE:T2a1" ], [ "440", "990-994", "VALUE:T2a1" ], [ "450", "990-994", "VALUE:T2a1" ], [ "550", "990-994", "VALUE:T2a1" ], [ "200", "995", "VALUE:T1b2" ], [ "210", "995", "VALUE:T1b2" ], [ "220", "995", "VALUE:T1b2" ], [ "250", "995", "VALUE:T1b2" ], [ "300", "995", "VALUE:T1b2" ], [ "310", "995", "VALUE:T1b2" ], [ "380", "995", "VALUE:T1b2" ], [ "390", "995", "VALUE:T1b2" ], [ "400", "995", "VALUE:T2a2" ], [ "410", "995", "VALUE:T2a2" ], [ "420", "995", "VALUE:T2a2" ], [ "440", "995", "VALUE:T2a2" ], [ "450", "995", "VALUE:T2a2" ], [ "550", "995", "VALUE:T2a2" ], [ "200", "996-998", "ERROR:" ], [ "210", "996-998", "ERROR:" ], [ "220", "996-998", "ERROR:" ], [ "250", "996-998", "ERROR:" ], [ "300", "996-998", "ERROR:" ], [ "310", "996-998", "ERROR:" ], [ "380", "996-998", "ERROR:" ], [ "390", "996-998", "ERROR:" ], [ "400", "996-998", "ERROR:" ], [ "410", "996-998", "ERROR:" ], [ "420", "996-998", "ERROR:" ], [ "440", "996-998", "ERROR:" ], [ "450", "996-998", "ERROR:" ], [ "550", "996-998", "ERROR:" ], [ "200", "999", "VALUE:T1bNOS" ], [ "210", "999", "VALUE:T1b1" ], [ "220", "999", "VALUE:T1b2" ], [ "250", "999", "VALUE:T1bNOS" ], [ "300", "999", "VALUE:T1NOS" ], [ "310", "999", "VALUE:T1NOS" ], [ "380", "999", "VALUE:T1bNOS" ], [ "390", "999", "VALUE:T1bNOS" ], [ "400", "999", "VALUE:T2aNOS" ], [ "410", "999", "VALUE:T2aNOS" ], [ "420", "999", "VALUE:T2a1" ], [ "440", "999", "VALUE:T2a2" ], [ "450", "999", "VALUE:T2aNOS" ], [ "550", "999", "VALUE:T2NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xik.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xik.json deleted file mode 100644 index 44af7abf3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xik.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xik", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-570 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.211Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "105", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "310", "000", "ERROR:" ], [ "330", "000", "ERROR:" ], [ "410", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "560", "000", "ERROR:" ], [ "570", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "105", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "310", "001-020", "VALUE:T1" ], [ "330", "001-020", "VALUE:T1" ], [ "410", "001-020", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1" ], [ "560", "001-020", "VALUE:T1" ], [ "570", "001-020", "VALUE:T1" ], [ "100", "021-050", "VALUE:T2" ], [ "105", "021-050", "VALUE:T2" ], [ "300", "021-050", "VALUE:T2" ], [ "310", "021-050", "VALUE:T2" ], [ "330", "021-050", "VALUE:T2" ], [ "410", "021-050", "VALUE:T2" ], [ "500", "021-050", "VALUE:T2" ], [ "560", "021-050", "VALUE:T2" ], [ "570", "021-050", "VALUE:T2" ], [ "100", "051-989", "VALUE:T3" ], [ "105", "051-989", "VALUE:T3" ], [ "300", "051-989", "VALUE:T3" ], [ "310", "051-989", "VALUE:T3" ], [ "330", "051-989", "VALUE:T3" ], [ "410", "051-989", "VALUE:T3" ], [ "500", "051-989", "VALUE:T3" ], [ "560", "051-989", "VALUE:T3" ], [ "570", "051-989", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1" ], [ "105", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "310", "990-991", "VALUE:T1" ], [ "330", "990-991", "VALUE:T1" ], [ "410", "990-991", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1" ], [ "560", "990-991", "VALUE:T1" ], [ "570", "990-991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "105", "992", "VALUE:T1" ], [ "300", "992", "VALUE:T1" ], [ "310", "992", "VALUE:T1" ], [ "330", "992", "VALUE:T1" ], [ "410", "992", "VALUE:T1" ], [ "500", "992", "VALUE:T1" ], [ "560", "992", "VALUE:T2" ], [ "570", "992", "VALUE:T3" ], [ "100", "993-994", "VALUE:T2" ], [ "105", "993-994", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2" ], [ "310", "993-994", "VALUE:T2" ], [ "330", "993-994", "VALUE:T1" ], [ "410", "993-994", "VALUE:T2" ], [ "500", "993-994", "VALUE:T2" ], [ "560", "993-994", "VALUE:T2" ], [ "570", "993-994", "VALUE:T3" ], [ "100", "995", "VALUE:T2" ], [ "105", "995", "VALUE:T2" ], [ "300", "995", "VALUE:T2" ], [ "310", "995", "VALUE:T2" ], [ "330", "995", "VALUE:T1" ], [ "410", "995", "VALUE:T2" ], [ "500", "995", "VALUE:T2" ], [ "560", "995", "VALUE:T2" ], [ "570", "995", "VALUE:T3" ], [ "100", "996", "VALUE:T3" ], [ "105", "996", "VALUE:T3" ], [ "300", "996", "VALUE:T3" ], [ "310", "996", "VALUE:T3" ], [ "330", "996", "VALUE:T3" ], [ "410", "996", "VALUE:T3" ], [ "500", "996", "VALUE:T3" ], [ "560", "996", "VALUE:T3" ], [ "570", "996", "VALUE:T3" ], [ "100", "999", "VALUE:TX" ], [ "105", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "310", "999", "VALUE:TX" ], [ "330", "999", "VALUE:T1" ], [ "410", "999", "VALUE:TX" ], [ "500", "999", "VALUE:TX" ], [ "560", "999", "VALUE:T2" ], [ "570", "999", "VALUE:T3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xim.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xim.json deleted file mode 100644 index 3fef65430..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xim.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xim", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-400 ONLY, the T category for AJCC staging is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.263Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "305", "000", "ERROR:" ], [ "310", "000", "ERROR:" ], [ "320", "000", "ERROR:" ], [ "330", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "100", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "305", "001-020", "VALUE:T1" ], [ "310", "001-020", "VALUE:T1" ], [ "320", "001-020", "VALUE:T1" ], [ "330", "001-020", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1" ], [ "100", "021-050", "VALUE:T2" ], [ "300", "021-050", "VALUE:T2" ], [ "305", "021-050", "VALUE:T2" ], [ "310", "021-050", "VALUE:T2" ], [ "320", "021-050", "VALUE:T2" ], [ "330", "021-050", "VALUE:T2" ], [ "400", "021-050", "VALUE:T2" ], [ "100", "051-989", "VALUE:T3" ], [ "300", "051-989", "VALUE:T3" ], [ "305", "051-989", "VALUE:T3" ], [ "310", "051-989", "VALUE:T3" ], [ "320", "051-989", "VALUE:T3" ], [ "330", "051-989", "VALUE:T3" ], [ "400", "051-989", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "305", "990-991", "VALUE:T1" ], [ "310", "990-991", "VALUE:T1" ], [ "320", "990-991", "VALUE:T1" ], [ "330", "990-991", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1" ], [ "100", "992", "VALUE:T1" ], [ "300", "992", "VALUE:T1" ], [ "305", "992", "VALUE:T1" ], [ "310", "992", "VALUE:T1" ], [ "320", "992", "VALUE:T2" ], [ "330", "992", "VALUE:T3" ], [ "400", "992", "VALUE:T1" ], [ "100", "993-994", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2" ], [ "305", "993-994", "VALUE:T2" ], [ "310", "993-994", "VALUE:T1" ], [ "320", "993-994", "VALUE:T2" ], [ "330", "993-994", "VALUE:T3" ], [ "400", "993-994", "VALUE:T2" ], [ "100", "995", "VALUE:T2" ], [ "300", "995", "VALUE:T2" ], [ "305", "995", "VALUE:T2" ], [ "310", "995", "VALUE:T1" ], [ "320", "995", "VALUE:T2" ], [ "330", "995", "VALUE:T3" ], [ "400", "995", "VALUE:T2" ], [ "100", "996", "VALUE:T3" ], [ "300", "996", "VALUE:T3" ], [ "305", "996", "VALUE:T3" ], [ "310", "996", "VALUE:T3" ], [ "320", "996", "VALUE:T3" ], [ "330", "996", "VALUE:T3" ], [ "400", "996", "VALUE:T3" ], [ "100", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "305", "999", "VALUE:TX" ], [ "310", "999", "VALUE:T1" ], [ "320", "999", "VALUE:T2" ], [ "330", "999", "VALUE:T3" ], [ "400", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xio.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xio.json deleted file mode 100644 index a10f71095..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xio.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xio", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For Extension codes 105-470 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.313Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "130", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "410", "000", "ERROR:" ], [ "420", "000", "ERROR:" ], [ "430", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "460", "000", "ERROR:" ], [ "470", "000", "ERROR:" ], [ "110", "001-020", "VALUE:T1" ], [ "120", "001-020", "VALUE:T1" ], [ "130", "001-020", "VALUE:T1" ], [ "150", "001-020", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1" ], [ "410", "001-020", "VALUE:T1" ], [ "420", "001-020", "VALUE:T1" ], [ "430", "001-020", "VALUE:T1" ], [ "450", "001-020", "VALUE:T1" ], [ "460", "001-020", "VALUE:T1" ], [ "470", "001-020", "VALUE:T1" ], [ "110", "021-050", "VALUE:T2" ], [ "120", "021-050", "VALUE:T2" ], [ "130", "021-050", "VALUE:T2" ], [ "150", "021-050", "VALUE:T2" ], [ "200", "021-050", "VALUE:T2" ], [ "300", "021-050", "VALUE:T2" ], [ "410", "021-050", "VALUE:T2" ], [ "420", "021-050", "VALUE:T2" ], [ "430", "021-050", "VALUE:T2" ], [ "450", "021-050", "VALUE:T2" ], [ "460", "021-050", "VALUE:T2" ], [ "470", "021-050", "VALUE:T2" ], [ "110", "051-989", "VALUE:T3" ], [ "120", "051-989", "VALUE:T3" ], [ "130", "051-989", "VALUE:T3" ], [ "150", "051-989", "VALUE:T3" ], [ "200", "051-989", "VALUE:T3" ], [ "300", "051-989", "VALUE:T3" ], [ "410", "051-989", "VALUE:T3" ], [ "420", "051-989", "VALUE:T3" ], [ "430", "051-989", "VALUE:T3" ], [ "450", "051-989", "VALUE:T3" ], [ "460", "051-989", "VALUE:T3" ], [ "470", "051-989", "VALUE:T3" ], [ "110", "990-991", "VALUE:T1" ], [ "120", "990-991", "VALUE:T1" ], [ "130", "990-991", "VALUE:T1" ], [ "150", "990-991", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "410", "990-991", "VALUE:T1" ], [ "420", "990-991", "VALUE:T1" ], [ "430", "990-991", "VALUE:T1" ], [ "450", "990-991", "VALUE:T1" ], [ "460", "990-991", "VALUE:T1" ], [ "470", "990-991", "VALUE:T1" ], [ "110", "992", "VALUE:T1" ], [ "120", "992", "VALUE:T1" ], [ "130", "992", "VALUE:T1" ], [ "150", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T1" ], [ "300", "992", "VALUE:T1" ], [ "410", "992", "VALUE:T1" ], [ "420", "992", "VALUE:T1" ], [ "430", "992", "VALUE:T1" ], [ "450", "992", "VALUE:T1" ], [ "460", "992", "VALUE:T2" ], [ "470", "992", "VALUE:T3" ], [ "110", "993-994", "VALUE:T2" ], [ "120", "993-994", "VALUE:T2" ], [ "130", "993-994", "VALUE:T2" ], [ "150", "993-994", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2" ], [ "410", "993-994", "VALUE:T2" ], [ "420", "993-994", "VALUE:T2" ], [ "430", "993-994", "VALUE:T2" ], [ "450", "993-994", "VALUE:T1" ], [ "460", "993-994", "VALUE:T2" ], [ "470", "993-994", "VALUE:T3" ], [ "110", "995", "VALUE:T2" ], [ "120", "995", "VALUE:T2" ], [ "130", "995", "VALUE:T2" ], [ "150", "995", "VALUE:T2" ], [ "200", "995", "VALUE:T2" ], [ "300", "995", "VALUE:T2" ], [ "410", "995", "VALUE:T2" ], [ "420", "995", "VALUE:T2" ], [ "430", "995", "VALUE:T2" ], [ "450", "995", "VALUE:T1" ], [ "460", "995", "VALUE:T2" ], [ "470", "995", "VALUE:T3" ], [ "110", "996", "VALUE:T3" ], [ "120", "996", "VALUE:T3" ], [ "130", "996", "VALUE:T3" ], [ "150", "996", "VALUE:T3" ], [ "200", "996", "VALUE:T3" ], [ "300", "996", "VALUE:T3" ], [ "410", "996", "VALUE:T3" ], [ "420", "996", "VALUE:T3" ], [ "430", "996", "VALUE:T3" ], [ "450", "996", "VALUE:T3" ], [ "460", "996", "VALUE:T3" ], [ "470", "996", "VALUE:T3" ], [ "110", "999", "VALUE:TX" ], [ "120", "999", "VALUE:TX" ], [ "130", "999", "VALUE:TX" ], [ "150", "999", "VALUE:TX" ], [ "200", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "410", "999", "VALUE:TX" ], [ "420", "999", "VALUE:TX" ], [ "430", "999", "VALUE:TX" ], [ "450", "999", "VALUE:T1" ], [ "460", "999", "VALUE:T2" ], [ "470", "999", "VALUE:T3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkg.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkg.json deleted file mode 100644 index 9710ebd83..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkg.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xkg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-190 and 300 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.367Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "130", "000", "ERROR:" ], [ "140", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "160", "000", "ERROR:" ], [ "170", "000", "ERROR:" ], [ "180", "000", "ERROR:" ], [ "190", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "100", "001-009", "VALUE:T1a" ], [ "110", "001-009", "VALUE:T1a" ], [ "120", "001-009", "VALUE:T1a" ], [ "130", "001-009", "VALUE:T1a" ], [ "140", "001-009", "VALUE:T1a" ], [ "150", "001-009", "VALUE:T1a" ], [ "160", "001-009", "VALUE:T1a" ], [ "170", "001-009", "VALUE:T1a" ], [ "180", "001-009", "VALUE:T1a" ], [ "190", "001-009", "VALUE:T1a" ], [ "300", "001-009", "VALUE:T1a" ], [ "100", "010-020", "VALUE:T1b" ], [ "110", "010-020", "VALUE:T1b" ], [ "120", "010-020", "VALUE:T1b" ], [ "130", "010-020", "VALUE:T1b" ], [ "140", "010-020", "VALUE:T1b" ], [ "150", "010-020", "VALUE:T1b" ], [ "160", "010-020", "VALUE:T1b" ], [ "170", "010-020", "VALUE:T1b" ], [ "180", "010-020", "VALUE:T1b" ], [ "190", "010-020", "VALUE:T1b" ], [ "300", "010-020", "VALUE:T1b" ], [ "100", "021-989", "VALUE:T2" ], [ "110", "021-989", "VALUE:T2" ], [ "120", "021-989", "VALUE:T2" ], [ "130", "021-989", "VALUE:T2" ], [ "140", "021-989", "VALUE:T2" ], [ "150", "021-989", "VALUE:T2" ], [ "160", "021-989", "VALUE:T2" ], [ "170", "021-989", "VALUE:T2" ], [ "180", "021-989", "VALUE:T2" ], [ "190", "021-989", "VALUE:T2" ], [ "300", "021-989", "VALUE:T2" ], [ "100", "990", "VALUE:T1a" ], [ "110", "990", "VALUE:T1a" ], [ "120", "990", "VALUE:T1a" ], [ "130", "990", "VALUE:T1a" ], [ "140", "990", "VALUE:T1a" ], [ "150", "990", "VALUE:T1a" ], [ "160", "990", "VALUE:T1a" ], [ "170", "990", "VALUE:T1a" ], [ "180", "990", "VALUE:T1a" ], [ "190", "990", "VALUE:T1a" ], [ "300", "990", "VALUE:T1a" ], [ "100", "991", "VALUE:T1a" ], [ "110", "991", "VALUE:T1a" ], [ "120", "991", "VALUE:T1a" ], [ "130", "991", "VALUE:T1a" ], [ "140", "991", "VALUE:T1a" ], [ "150", "991", "VALUE:T1a" ], [ "160", "991", "VALUE:T1a" ], [ "170", "991", "VALUE:T1a" ], [ "180", "991", "VALUE:T1b" ], [ "190", "991", "VALUE:T1NOS" ], [ "300", "991", "VALUE:T1a" ], [ "100", "992", "VALUE:T1NOS" ], [ "110", "992", "VALUE:T1NOS" ], [ "120", "992", "VALUE:T1NOS" ], [ "130", "992", "VALUE:T1NOS" ], [ "140", "992", "VALUE:T1NOS" ], [ "150", "992", "VALUE:T1NOS" ], [ "160", "992", "VALUE:T1NOS" ], [ "170", "992", "VALUE:T1a" ], [ "180", "992", "VALUE:T1b" ], [ "190", "992", "VALUE:T1NOS" ], [ "300", "992", "VALUE:T1NOS" ], [ "100", "993-995", "VALUE:T2" ], [ "110", "993-995", "VALUE:T2" ], [ "120", "993-995", "VALUE:T2" ], [ "130", "993-995", "VALUE:T2" ], [ "140", "993-995", "VALUE:T2" ], [ "150", "993-995", "VALUE:T2" ], [ "160", "993-995", "VALUE:T2" ], [ "170", "993-995", "VALUE:T2" ], [ "180", "993-995", "VALUE:T2" ], [ "190", "993-995", "VALUE:T2" ], [ "300", "993-995", "VALUE:T2" ], [ "100", "998", "ERROR:" ], [ "110", "998", "ERROR:" ], [ "120", "998", "ERROR:" ], [ "130", "998", "ERROR:" ], [ "140", "998", "ERROR:" ], [ "150", "998", "ERROR:" ], [ "160", "998", "ERROR:" ], [ "170", "998", "ERROR:" ], [ "180", "998", "ERROR:" ], [ "190", "998", "ERROR:" ], [ "300", "998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "110", "999", "VALUE:TX" ], [ "120", "999", "VALUE:TX" ], [ "130", "999", "VALUE:TX" ], [ "140", "999", "VALUE:TX" ], [ "150", "999", "VALUE:TX" ], [ "160", "999", "VALUE:TX" ], [ "170", "999", "VALUE:T1a" ], [ "180", "999", "VALUE:T1b" ], [ "190", "999", "VALUE:T1NOS" ], [ "300", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkh.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkh.json deleted file mode 100644 index 41e46747a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkh.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xkh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-190 and 300 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.440Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "130", "000", "ERROR:" ], [ "140", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "160", "000", "ERROR:" ], [ "165", "000", "ERROR:" ], [ "170", "000", "ERROR:" ], [ "180", "000", "ERROR:" ], [ "190", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "100", "001-009", "VALUE:T1a" ], [ "110", "001-009", "VALUE:T1a" ], [ "120", "001-009", "VALUE:T1a" ], [ "130", "001-009", "VALUE:T1a" ], [ "140", "001-009", "VALUE:T1a" ], [ "150", "001-009", "VALUE:T1a" ], [ "160", "001-009", "VALUE:T1a" ], [ "165", "001-009", "VALUE:T1a" ], [ "170", "001-009", "VALUE:T1a" ], [ "180", "001-009", "VALUE:T1a" ], [ "190", "001-009", "VALUE:T1a" ], [ "300", "001-009", "VALUE:T1a" ], [ "100", "010-020", "VALUE:T1b" ], [ "110", "010-020", "VALUE:T1b" ], [ "120", "010-020", "VALUE:T1b" ], [ "130", "010-020", "VALUE:T1b" ], [ "140", "010-020", "VALUE:T1b" ], [ "150", "010-020", "VALUE:T1b" ], [ "160", "010-020", "VALUE:T1b" ], [ "165", "010-020", "VALUE:T1b" ], [ "170", "010-020", "VALUE:T1b" ], [ "180", "010-020", "VALUE:T1b" ], [ "190", "010-020", "VALUE:T1b" ], [ "300", "010-020", "VALUE:T1b" ], [ "100", "021-989", "VALUE:T2" ], [ "110", "021-989", "VALUE:T2" ], [ "120", "021-989", "VALUE:T2" ], [ "130", "021-989", "VALUE:T2" ], [ "140", "021-989", "VALUE:T2" ], [ "150", "021-989", "VALUE:T2" ], [ "160", "021-989", "VALUE:T2" ], [ "165", "021-989", "VALUE:T2" ], [ "170", "021-989", "VALUE:T2" ], [ "180", "021-989", "VALUE:T2" ], [ "190", "021-989", "VALUE:T2" ], [ "300", "021-989", "VALUE:T2" ], [ "100", "990", "VALUE:T1a" ], [ "110", "990", "VALUE:T1a" ], [ "120", "990", "VALUE:T1a" ], [ "130", "990", "VALUE:T1a" ], [ "140", "990", "VALUE:T1a" ], [ "150", "990", "VALUE:T1a" ], [ "160", "990", "VALUE:T1a" ], [ "165", "990", "VALUE:T2" ], [ "170", "990", "VALUE:T1a" ], [ "180", "990", "VALUE:T1a" ], [ "190", "990", "VALUE:T1a" ], [ "300", "990", "VALUE:T1a" ], [ "100", "991", "VALUE:T1a" ], [ "110", "991", "VALUE:T1a" ], [ "120", "991", "VALUE:T1a" ], [ "130", "991", "VALUE:T1a" ], [ "140", "991", "VALUE:T1a" ], [ "150", "991", "VALUE:T1a" ], [ "160", "991", "VALUE:T1a" ], [ "165", "991", "VALUE:T1a" ], [ "170", "991", "VALUE:T1a" ], [ "180", "991", "VALUE:T1b" ], [ "190", "991", "VALUE:T1a" ], [ "300", "991", "VALUE:T1a" ], [ "100", "992", "VALUE:T1NOS" ], [ "110", "992", "VALUE:T1NOS" ], [ "120", "992", "VALUE:T1NOS" ], [ "130", "992", "VALUE:T1NOS" ], [ "140", "992", "VALUE:T1NOS" ], [ "150", "992", "VALUE:T1NOS" ], [ "160", "992", "VALUE:T1NOS" ], [ "165", "992", "VALUE:T1NOS" ], [ "170", "992", "VALUE:T1a" ], [ "180", "992", "VALUE:T1b" ], [ "190", "992", "VALUE:T1NOS" ], [ "300", "992", "VALUE:T1NOS" ], [ "100", "993-995", "VALUE:T2" ], [ "110", "993-995", "VALUE:T2" ], [ "120", "993-995", "VALUE:T2" ], [ "130", "993-995", "VALUE:T2" ], [ "140", "993-995", "VALUE:T2" ], [ "150", "993-995", "VALUE:T2" ], [ "160", "993-995", "VALUE:T2" ], [ "165", "993-995", "VALUE:T2" ], [ "170", "993-995", "VALUE:T2" ], [ "180", "993-995", "VALUE:T2" ], [ "190", "993-995", "VALUE:T2" ], [ "300", "993-995", "VALUE:T2" ], [ "100", "998", "ERROR:" ], [ "110", "998", "ERROR:" ], [ "120", "998", "ERROR:" ], [ "130", "998", "ERROR:" ], [ "140", "998", "ERROR:" ], [ "150", "998", "ERROR:" ], [ "160", "998", "ERROR:" ], [ "165", "998", "ERROR:" ], [ "170", "998", "ERROR:" ], [ "180", "998", "ERROR:" ], [ "190", "998", "ERROR:" ], [ "300", "998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "110", "999", "VALUE:TX" ], [ "120", "999", "VALUE:TX" ], [ "130", "999", "VALUE:TX" ], [ "140", "999", "VALUE:TX" ], [ "150", "999", "VALUE:TX" ], [ "160", "999", "VALUE:TX" ], [ "165", "999", "VALUE:TX" ], [ "170", "999", "VALUE:T1a" ], [ "180", "999", "VALUE:T1b" ], [ "190", "999", "VALUE:T1NOS" ], [ "300", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkr.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkr.json deleted file mode 100644 index 1ff0a9b8c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ajcc7_xkr.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_ajcc7_xkr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size AJCC7", - "title" : "Extension Size AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-110, 116-120, 126-400, and 510-530 ONLY, the T category for AJCC 7 staging is assigned based on CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.491Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "116", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "126", "000", "ERROR:" ], [ "130", "000", "ERROR:" ], [ "140", "000", "ERROR:" ], [ "160", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "510", "000", "ERROR:" ], [ "520", "000", "ERROR:" ], [ "523", "000", "ERROR:" ], [ "530", "000", "ERROR:" ], [ "100", "001-050", "VALUE:T1a" ], [ "110", "001-050", "VALUE:T1a" ], [ "116", "001-050", "VALUE:T1a" ], [ "120", "001-050", "VALUE:T1a" ], [ "126", "001-050", "VALUE:T1a" ], [ "130", "001-050", "VALUE:T1a" ], [ "140", "001-050", "VALUE:T1a" ], [ "160", "001-050", "VALUE:T1a" ], [ "400", "001-050", "VALUE:T1a" ], [ "510", "001-050", "VALUE:T1a" ], [ "520", "001-050", "VALUE:T1a" ], [ "523", "001-050", "VALUE:T1a" ], [ "530", "001-050", "VALUE:T1a" ], [ "100", "051-989", "VALUE:T1b" ], [ "110", "051-989", "VALUE:T1b" ], [ "116", "051-989", "VALUE:T1b" ], [ "120", "051-989", "VALUE:T1b" ], [ "126", "051-989", "VALUE:T1b" ], [ "130", "051-989", "VALUE:T1b" ], [ "140", "051-989", "VALUE:T1b" ], [ "160", "051-989", "VALUE:T1b" ], [ "400", "051-989", "VALUE:T1b" ], [ "510", "051-989", "VALUE:T1b" ], [ "520", "051-989", "VALUE:T1b" ], [ "523", "051-989", "VALUE:T1b" ], [ "530", "051-989", "VALUE:T1b" ], [ "100", "990-995", "VALUE:T1a" ], [ "110", "990-995", "VALUE:T1a" ], [ "116", "990-995", "VALUE:T1a" ], [ "120", "990-995", "VALUE:T1a" ], [ "126", "990-995", "VALUE:T1a" ], [ "130", "990-995", "VALUE:T1a" ], [ "140", "990-995", "VALUE:T1a" ], [ "160", "990-995", "VALUE:T1a" ], [ "400", "990-995", "VALUE:T1a" ], [ "510", "990-995", "VALUE:T1a" ], [ "520", "990-995", "VALUE:T1a" ], [ "523", "990-995", "VALUE:T1a" ], [ "530", "990-995", "VALUE:T1a" ], [ "100", "999", "VALUE:T1NOS" ], [ "110", "999", "VALUE:T1a" ], [ "116", "999", "VALUE:T1a" ], [ "120", "999", "VALUE:T1a" ], [ "126", "999", "VALUE:T1b" ], [ "130", "999", "VALUE:T1NOS" ], [ "140", "999", "VALUE:T1NOS" ], [ "160", "999", "VALUE:T1NOS" ], [ "400", "999", "VALUE:T1NOS" ], [ "510", "999", "VALUE:T1NOS" ], [ "520", "999", "VALUE:T1NOS" ], [ "523", "999", "VALUE:T1NOS" ], [ "530", "999", "VALUE:T1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_category_ajcc7_xpm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_category_ajcc7_xpm.json deleted file mode 100644 index d65f6fd53..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_category_ajcc7_xpm.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_category_ajcc7_xpm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size Category AJCC7", - "title" : "Extension Size Category AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 150-180, the T for AJCC 7 staging is assigned based on the values of tumor basal diameter, recorded in CS Site-Specific Factor 2, and thickness, recorded in CS Site-Specific Factor 3. Basal diameter and thickness are mapped to Tumor Size Categories in the Tumor Size Category AJCC 7 Table, and the CS Extension codes and Tumor Size Categories are mapped to T as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.538Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "t_category", - "name" : "Tumor Size Category", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "T Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "150", "1", "VALUE:T1a" ], [ "160", "1", "VALUE:T1b" ], [ "170", "1", "VALUE:T1c" ], [ "180", "1", "VALUE:T1d" ], [ "150", "2", "VALUE:T2a" ], [ "160", "2", "VALUE:T2b" ], [ "170", "2", "VALUE:T2c" ], [ "180", "2", "VALUE:T2d" ], [ "150", "3", "VALUE:T3a" ], [ "160", "3", "VALUE:T3b" ], [ "170", "3", "VALUE:T3c" ], [ "180", "3", "VALUE:T3d" ], [ "150", "4", "VALUE:T4a" ], [ "160", "4", "VALUE:T4b" ], [ "170", "4", "VALUE:T4c" ], [ "180", "4", "VALUE:T4d" ], [ "150", "9", "VALUE:TX" ], [ "160", "9", "VALUE:TX" ], [ "170", "9", "VALUE:TX" ], [ "180", "9", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfa.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfa.json deleted file mode 100644 index ff5e95f9d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfa.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_high_risk_xfa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size High Risk", - "title" : "Extension Size High Risk Table", - "notes" : "**Note**: For CS Extension codes 100-310 and 400-800 ONLY, the T category for AJCC 7 staging is assigned based on the values of CS Tumor Size and CS Site-Specific Factor 12, High Risk Features, as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.586Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ssf12", - "name" : "CS SSF 12 High Risk Features", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "T Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100,300,305,310,400,450,500,600,650,800", "001-995,999", "005", "ERROR:" ], [ "100,300,305", "000", "000-005,988,991-993,998,999", "ERROR:" ], [ "100,300,305", "001-020", "000-001", "VALUE:T1" ], [ "100,300,305", "001-020", "002-004", "VALUE:T2" ], [ "100,300,305", "001-020", "988", "ERROR:" ], [ "100,300,305", "001-020", "991", "VALUE:T1" ], [ "100,300,305", "001-020", "992", "VALUE:T2" ], [ "100,300,305", "001-020", "993,998,999", "VALUE:T1" ], [ "100,300,305", "021-989", "000-004", "VALUE:T2" ], [ "100,300,305", "021-989", "988", "ERROR:" ], [ "100,300,305", "021-989", "991-993,998,999", "VALUE:T2" ], [ "100,300,305", "990-992", "000-001", "VALUE:T1" ], [ "100,300,305", "990-992", "002-004", "VALUE:T2" ], [ "100,300,305", "990-992", "988", "ERROR:" ], [ "100,300,305", "990-992", "991", "VALUE:T1" ], [ "100,300,305", "990-992", "992", "VALUE:T2" ], [ "100,300,305", "990-992", "993,998,999", "VALUE:T1" ], [ "100,300,305", "993-995", "000-004", "VALUE:T2" ], [ "100,300,305", "993-995", "988", "ERROR:" ], [ "100,300,305", "993-995", "991-993,998,999", "VALUE:T2" ], [ "100,300,305", "999", "000-001", "VALUE:TX" ], [ "100,300,305", "999", "002-004", "VALUE:T2" ], [ "100,300,305", "999", "988", "ERROR:" ], [ "100,300,305", "999", "991", "VALUE:TX" ], [ "100,300,305", "999", "992", "VALUE:T2" ], [ "100,300,305", "999", "993,998,999", "VALUE:TX" ], [ "310", "000", "000-005,988,991-993,998,999", "ERROR:" ], [ "310", "001-020", "000-001", "VALUE:T1" ], [ "310", "001-020", "002-004", "VALUE:T2" ], [ "310", "001-020", "988", "ERROR:" ], [ "310", "001-020", "991", "VALUE:T1" ], [ "310", "001-020", "992", "VALUE:T2" ], [ "310", "001-020", "993,998,999", "VALUE:T1" ], [ "310", "021-989", "000-004", "VALUE:T2" ], [ "310", "021-989", "988", "ERROR:" ], [ "310", "021-989", "991-993,998,999", "VALUE:T2" ], [ "310", "990-992", "000-001", "VALUE:T1" ], [ "310", "990-992", "002-004", "VALUE:T2" ], [ "310", "990-992", "988", "ERROR:" ], [ "310", "990-992", "991", "VALUE:T1" ], [ "310", "990-992", "992", "VALUE:T2" ], [ "310", "990-992", "993,998,999", "VALUE:T1" ], [ "310", "993-995", "000-004", "VALUE:T2" ], [ "310", "993-995", "988", "ERROR:" ], [ "310", "993-995", "991-993,998,999", "VALUE:T2" ], [ "310", "999", "000-001", "VALUE:T1" ], [ "310", "999", "002-004", "VALUE:T2" ], [ "310", "999", "988", "ERROR:" ], [ "310", "999", "991", "VALUE:T1" ], [ "310", "999", "992", "VALUE:T2" ], [ "310", "999", "993,998,999", "VALUE:T1" ], [ "400,450,500,600,650,800", "000", "000-005,988,991-993,998,999", "ERROR:" ], [ "400,450,500,600,650,800", "001-020", "000-001", "VALUE:T1" ], [ "400,450,500,600,650,800", "001-020", "002-004", "VALUE:T2" ], [ "400,450,500,600,650,800", "001-020", "988", "ERROR:" ], [ "400,450,500,600,650,800", "001-020", "991", "VALUE:T1" ], [ "400,450,500,600,650,800", "001-020", "992", "VALUE:T2" ], [ "400,450,500,600,650,800", "001-020", "993,998,999", "VALUE:T1" ], [ "400,450,500,600,650,800", "021-989", "000-004", "VALUE:T2" ], [ "400,450,500,600,650,800", "021-989", "988", "ERROR:" ], [ "400,450,500,600,650,800", "021-989", "991-993,998,999", "VALUE:T2" ], [ "400,450,500,600,650,800", "990-992", "000-001", "VALUE:T1" ], [ "400,450,500,600,650,800", "990-992", "002-004", "VALUE:T2" ], [ "400,450,500,600,650,800", "990-992", "988", "ERROR:" ], [ "400,450,500,600,650,800", "990-992", "991", "VALUE:T1" ], [ "400,450,500,600,650,800", "990-992", "992", "VALUE:T2" ], [ "400,450,500,600,650,800", "990-992", "993,998,999", "VALUE:T1" ], [ "400,450,500,600,650,800", "993-995", "000-004", "VALUE:T2" ], [ "400,450,500,600,650,800", "993-995", "988", "ERROR:" ], [ "400,450,500,600,650,800", "993-995", "991-993,998,999", "VALUE:T2" ], [ "400,450,500,600,650,800", "999", "000-001", "VALUE:TX" ], [ "400,450,500,600,650,800", "999", "002-004", "VALUE:T2" ], [ "400,450,500,600,650,800", "999", "988", "ERROR:" ], [ "400,450,500,600,650,800", "999", "991", "VALUE:TX" ], [ "400,450,500,600,650,800", "999", "992", "VALUE:T2" ], [ "400,450,500,600,650,800", "999", "993,998,999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfy.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfy.json deleted file mode 100644 index f854b626f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_high_risk_xfy.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_high_risk_xfy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size High Risk", - "title" : "Extension Size High Risk Table", - "notes" : "**Note**: For CS Extension codes 100, 400, 500, 510, and 550 ONLY, the T category for AJCC 7 staging is assigned based on the values of CS Tumor Size and CS Site-Specific Factor 12, High Risk Features, as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.638Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ssf12", - "name" : "CS SSF 12 High Risk Features", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "T Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100,400,500,510", "001-995,999", "006", "ERROR:" ], [ "550", "001-995,999", "006", "ERROR:" ], [ "100,400,500", "000", "000-005,988,991-993,999", "ERROR:" ], [ "100,400,500", "001-020", "000-001", "VALUE:T1" ], [ "100,400,500", "001-020", "002-005", "VALUE:T2" ], [ "100,400,500", "001-020", "988", "ERROR:" ], [ "100,400,500", "001-020", "991", "VALUE:T1" ], [ "100,400,500", "001-020", "992", "VALUE:T2" ], [ "100,400,500", "001-020", "993,999", "VALUE:T1" ], [ "100,400,500", "021-989", "000-005", "VALUE:T2" ], [ "100,400,500", "021-989", "988", "ERROR:" ], [ "100,400,500", "021-989", "991-993,999", "VALUE:T2" ], [ "100,400,500", "990-992", "000-001", "VALUE:T1" ], [ "100,400,500", "990-992", "002-005", "VALUE:T2" ], [ "100,400,500", "990-992", "988", "ERROR:" ], [ "100,400,500", "990-992", "991", "VALUE:T1" ], [ "100,400,500", "990-992", "992", "VALUE:T2" ], [ "100,400,500", "990-992", "993,999", "VALUE:T1" ], [ "100,400,500", "993-995", "000-005", "VALUE:T2" ], [ "100,400,500", "993-995", "988", "ERROR:" ], [ "100,400,500", "993-995", "991-993,999", "VALUE:T2" ], [ "100,400,500", "999", "000-001", "VALUE:TX" ], [ "100,400,500", "999", "002-005", "VALUE:T2" ], [ "100,400,500", "999", "988", "ERROR:" ], [ "100,400,500", "999", "991", "VALUE:TX" ], [ "100,400,500", "999", "992", "VALUE:T2" ], [ "100,400,500", "999", "993,999", "VALUE:TX" ], [ "510", "000", "000-005,988,991-993,999", "ERROR:" ], [ "510", "001-020", "000-001", "VALUE:T1" ], [ "510", "001-020", "002-005", "VALUE:T2" ], [ "510", "001-020", "988", "ERROR:" ], [ "510", "001-020", "991", "VALUE:T1" ], [ "510", "001-020", "992", "VALUE:T2" ], [ "510", "001-020", "993,999", "VALUE:T1" ], [ "510", "021-989", "000-005", "VALUE:T2" ], [ "510", "021-989", "988", "ERROR:" ], [ "510", "021-989", "991-993,999", "VALUE:T2" ], [ "510", "990-992", "000-001", "VALUE:T1" ], [ "510", "990-992", "002-005", "VALUE:T2" ], [ "510", "990-992", "988", "ERROR:" ], [ "510", "990-992", "991", "VALUE:T1" ], [ "510", "990-992", "992", "VALUE:T2" ], [ "510", "990-992", "993,999", "VALUE:T1" ], [ "510", "993-995", "000-005", "VALUE:T2" ], [ "510", "993-995", "988", "ERROR:" ], [ "510", "993-995", "991-993,999", "VALUE:T2" ], [ "510", "999", "000-001", "VALUE:T1" ], [ "510", "999", "002-005", "VALUE:T2" ], [ "510", "999", "988", "ERROR:" ], [ "510", "999", "991", "VALUE:T1" ], [ "510", "999", "992", "VALUE:T2" ], [ "510", "999", "993,999", "VALUE:T1" ], [ "550", "000", "000-005,988,991-993,999", "ERROR:" ], [ "550", "001-020", "000-001", "VALUE:T1" ], [ "550", "001-020", "002-005", "VALUE:T2" ], [ "550", "001-020", "988", "ERROR:" ], [ "550", "001-020", "991", "VALUE:T1" ], [ "550", "001-020", "992", "VALUE:T2" ], [ "550", "001-020", "993,999", "VALUE:T1" ], [ "550", "021-989", "000-005", "VALUE:T2" ], [ "550", "021-989", "988", "ERROR:" ], [ "550", "021-989", "991-993,999", "VALUE:T2" ], [ "550", "990-992", "000-001", "VALUE:T1" ], [ "550", "990-992", "002-005", "VALUE:T2" ], [ "550", "990-992", "988", "ERROR:" ], [ "550", "990-992", "991", "VALUE:T1" ], [ "550", "990-992", "992", "VALUE:T2" ], [ "550", "990-992", "993,999", "VALUE:T1" ], [ "550", "993-995", "000-005", "VALUE:T2" ], [ "550", "993-995", "988", "ERROR:" ], [ "550", "993-995", "991-993,999", "VALUE:T2" ], [ "550", "999", "000-001", "VALUE:TX" ], [ "550", "999", "002-005", "VALUE:T2" ], [ "550", "999", "988", "ERROR:" ], [ "550", "999", "991", "VALUE:TX" ], [ "550", "999", "992", "VALUE:T2" ], [ "550", "999", "993,999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_pair_ajcc6_xpn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_pair_ajcc6_xpn.json deleted file mode 100644 index 841a7b462..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_pair_ajcc6_xpn.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_pair_ajcc6_xpn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size Pair AJCC6", - "title" : "Extension Size Pair AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 150-180, 635, and 640, the T category for AJCC 6 staging is assigned based on the values of tumor basal diameter, recorded in CS Site-Specific Factor 2, and thickness, recorded in CS Site-Specific Factor 3. Diameter and thickness are mapped to tumor size pairs in the Tumor Size Pair AJCC 6 Table, and the CS Extension codes and tumor size pairs are mapped to T as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.696Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "t_category", - "name" : "Tumor Size Pair", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "150", "1", "VALUE:T1a" ], [ "160", "1", "VALUE:T1a" ], [ "170", "1", "VALUE:T1b" ], [ "180", "1", "VALUE:T1b" ], [ "635", "1", "VALUE:T1c" ], [ "640", "1", "VALUE:T1c" ], [ "150", "2", "VALUE:T2a" ], [ "160", "2", "VALUE:T2a" ], [ "170", "2", "VALUE:T2b" ], [ "180", "2", "VALUE:T2b" ], [ "635", "2", "VALUE:T2c" ], [ "640", "2", "VALUE:T2c" ], [ "150", "3", "VALUE:T3" ], [ "160", "3", "VALUE:T3" ], [ "170", "3", "VALUE:T4" ], [ "180", "3", "VALUE:T4" ], [ "635", "3", "VALUE:T4" ], [ "640", "3", "VALUE:T4" ], [ "150", "9", "VALUE:TX" ], [ "160", "9", "VALUE:TX" ], [ "170", "9", "VALUE:TX" ], [ "180", "9", "VALUE:TX" ], [ "635", "9", "VALUE:T1c" ], [ "640", "9", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc6_table_csv2_xij.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc6_table_csv2_xij.json deleted file mode 100644 index 604ef6a1a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc6_table_csv2_xij.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_perineural_invasion888988_ajcc6_table_csv2_xij", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size Perineural Invasion 888, 988 AJCC6 Table CSv2", - "title" : "Extension Size, Perineural Invasion 888, 988 AJCC 6 Table CSv2", - "notes" : "**Note**: For CS Version 2, when CS Site-Specific Factor 6 Perineural Invasion = 888 or 988, for CS Extension codes 100 through 400 ONLY, the T category for AJCC 6 staging is assigned as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.744Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf6", - "name" : "CS SSF 6", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "888", "ERROR:" ], [ "150", "888", "ERROR:" ], [ "155", "888", "ERROR:" ], [ "200", "888", "ERROR:" ], [ "250", "888", "ERROR:" ], [ "270", "888", "ERROR:" ], [ "300", "888", "ERROR:" ], [ "320", "888", "ERROR:" ], [ "340", "888", "ERROR:" ], [ "400", "888", "ERROR:" ], [ "100", "988", "ERROR:" ], [ "150", "988", "ERROR:" ], [ "155", "988", "ERROR:" ], [ "200", "988", "ERROR:" ], [ "250", "988", "ERROR:" ], [ "270", "988", "ERROR:" ], [ "300", "988", "ERROR:" ], [ "320", "988", "ERROR:" ], [ "340", "988", "ERROR:" ], [ "400", "988", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc7_xic.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc7_xic.json deleted file mode 100644 index 2923918dc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion888988_ajcc7_xic.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_perineural_invasion888988_ajcc7_xic", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size Perineural Invasion 888, 988 AJCC7", - "title" : "Extension Size, Perineural Invasion 888, 988 AJCC 7 Table", - "notes" : "**Note**: When CS Site-Specific Factor 6 Perineural Invasion = 888 or 988, for CS Extension codes 100 through 400 ONLY, the T category for AJCC 7 staging is assigned as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.790Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf6", - "name" : "CS SSF 6", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "888", "ERROR:" ], [ "150", "888", "ERROR:" ], [ "155", "888", "ERROR:" ], [ "200", "888", "ERROR:" ], [ "250", "888", "ERROR:" ], [ "270", "888", "ERROR:" ], [ "300", "888", "ERROR:" ], [ "320", "888", "ERROR:" ], [ "340", "888", "ERROR:" ], [ "400", "888", "ERROR:" ], [ "100", "988", "ERROR:" ], [ "150", "988", "ERROR:" ], [ "155", "988", "ERROR:" ], [ "200", "988", "ERROR:" ], [ "250", "988", "ERROR:" ], [ "270", "988", "ERROR:" ], [ "300", "988", "ERROR:" ], [ "320", "988", "ERROR:" ], [ "340", "988", "ERROR:" ], [ "400", "988", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc6_table_csv2_xgl.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc6_table_csv2_xgl.json deleted file mode 100644 index 5d5215164..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc6_table_csv2_xgl.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_perineural_invasion_negativeor_unknown_ajcc6_table_csv2_xgl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size Perineural Invasion Negative or Unknown AJCC6 Table CSv2", - "title" : "Extension Size, Perineural Invasion Negative or Unknown AJCC 6 Table CSv2", - "notes" : "**Note**: For CS Version 2 cases, when CS Site-Specific Factor 6 Perineural Invasion = 000, 997, 998, or 999, for CS Extension codes 100-400 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size and CS Extension as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.838Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "155", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "270", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "320", "000", "ERROR:" ], [ "340", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "100", "001-005", "VALUE:T1" ], [ "150", "001-005", "VALUE:T1" ], [ "155", "001-005", "VALUE:T1" ], [ "200", "001-005", "VALUE:T2" ], [ "250", "001-005", "VALUE:T1" ], [ "270", "001-005", "VALUE:TX" ], [ "300", "001-005", "VALUE:T3" ], [ "320", "001-005", "VALUE:TX" ], [ "340", "001-005", "VALUE:TX" ], [ "400", "001-005", "VALUE:TX" ], [ "100", "006-010", "VALUE:T1" ], [ "150", "006-010", "VALUE:T1" ], [ "155", "006-010", "VALUE:T1" ], [ "200", "006-010", "VALUE:T2" ], [ "250", "006-010", "VALUE:T2" ], [ "270", "006-010", "VALUE:TX" ], [ "300", "006-010", "VALUE:T3" ], [ "320", "006-010", "VALUE:TX" ], [ "340", "006-010", "VALUE:TX" ], [ "400", "006-010", "VALUE:TX" ], [ "100", "011-989", "VALUE:T1" ], [ "150", "011-989", "VALUE:T1" ], [ "155", "011-989", "VALUE:T1" ], [ "200", "011-989", "VALUE:T2" ], [ "250", "011-989", "VALUE:T3" ], [ "270", "011-989", "VALUE:TX" ], [ "300", "011-989", "VALUE:T3" ], [ "320", "011-989", "VALUE:TX" ], [ "340", "011-989", "VALUE:TX" ], [ "400", "011-989", "VALUE:TX" ], [ "100", "990", "VALUE:T1" ], [ "150", "990", "VALUE:T1" ], [ "155", "990", "VALUE:T1" ], [ "200", "990", "VALUE:T2" ], [ "250", "990", "VALUE:T1" ], [ "270", "990", "VALUE:TX" ], [ "300", "990", "VALUE:T3" ], [ "320", "990", "VALUE:TX" ], [ "340", "990", "VALUE:TX" ], [ "400", "990", "VALUE:TX" ], [ "100", "991", "VALUE:T1" ], [ "150", "991", "VALUE:T1" ], [ "155", "991", "VALUE:T1" ], [ "200", "991", "VALUE:T2" ], [ "250", "991", "VALUE:T2" ], [ "270", "991", "VALUE:TX" ], [ "300", "991", "VALUE:T3" ], [ "320", "991", "VALUE:TX" ], [ "340", "991", "VALUE:TX" ], [ "400", "991", "VALUE:TX" ], [ "100", "992", "VALUE:T1" ], [ "150", "992", "VALUE:T1" ], [ "155", "992", "VALUE:T1" ], [ "200", "992", "VALUE:T2" ], [ "250", "992", "VALUE:T2" ], [ "270", "992", "VALUE:TX" ], [ "300", "992", "VALUE:T3" ], [ "320", "992", "VALUE:TX" ], [ "340", "992", "VALUE:TX" ], [ "400", "992", "VALUE:TX" ], [ "100", "993-995", "VALUE:T1" ], [ "150", "993-995", "VALUE:T1" ], [ "155", "993-995", "VALUE:T1" ], [ "200", "993-995", "VALUE:T2" ], [ "250", "993-995", "VALUE:T3" ], [ "270", "993-995", "VALUE:TX" ], [ "300", "993-995", "VALUE:T3" ], [ "320", "993-995", "VALUE:TX" ], [ "340", "993-995", "VALUE:TX" ], [ "400", "993-995", "VALUE:TX" ], [ "100", "996-998", "ERROR:" ], [ "150", "996-998", "ERROR:" ], [ "155", "996-998", "ERROR:" ], [ "200", "996-998", "ERROR:" ], [ "250", "996-998", "ERROR:" ], [ "270", "996-998", "ERROR:" ], [ "300", "996-998", "ERROR:" ], [ "320", "996-998", "ERROR:" ], [ "340", "996-998", "ERROR:" ], [ "400", "996-998", "ERROR:" ], [ "100", "999", "VALUE:T1" ], [ "150", "999", "VALUE:T1" ], [ "155", "999", "VALUE:T1" ], [ "200", "999", "VALUE:T2" ], [ "250", "999", "VALUE:TX" ], [ "270", "999", "VALUE:TX" ], [ "300", "999", "VALUE:T3" ], [ "320", "999", "VALUE:TX" ], [ "340", "999", "VALUE:TX" ], [ "400", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc7_xgj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc7_xgj.json deleted file mode 100644 index 5bc3de7db..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_negativeor_unknown_ajcc7_xgj.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_perineural_invasion_negativeor_unknown_ajcc7_xgj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size Perineural Invasion Negative or Unknown AJCC7", - "title" : "Extension Size, Perineural Invasion Negative or Unknown AJCC 7 Table", - "notes" : "**Note**: When CS Site-Specific Factor 6 Perineural Invasion = 000, 997, 998, or 999, for CS Extension codes 100-400 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size and CS Extension as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.897Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "155", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "270", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "320", "000", "ERROR:" ], [ "340", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "100", "001-005", "VALUE:T1" ], [ "150", "001-005", "VALUE:T1" ], [ "155", "001-005", "VALUE:T1" ], [ "200", "001-005", "VALUE:T2a" ], [ "250", "001-005", "VALUE:T2a" ], [ "270", "001-005", "VALUE:T2a" ], [ "300", "001-005", "VALUE:T2b" ], [ "320", "001-005", "VALUE:T2b" ], [ "340", "001-005", "VALUE:T2NOS" ], [ "400", "001-005", "VALUE:T1" ], [ "100", "006-010", "VALUE:T2a" ], [ "150", "006-010", "VALUE:T2a" ], [ "155", "006-010", "VALUE:T2a" ], [ "200", "006-010", "VALUE:T2a" ], [ "250", "006-010", "VALUE:T2a" ], [ "270", "006-010", "VALUE:T2a" ], [ "300", "006-010", "VALUE:T2b" ], [ "320", "006-010", "VALUE:T2b" ], [ "340", "006-010", "VALUE:T2NOS" ], [ "400", "006-010", "VALUE:T2a" ], [ "100", "011-020", "VALUE:T2b" ], [ "150", "011-020", "VALUE:T2b" ], [ "155", "011-020", "VALUE:T2b" ], [ "200", "011-020", "VALUE:T2b" ], [ "250", "011-020", "VALUE:T2b" ], [ "270", "011-020", "VALUE:T2b" ], [ "300", "011-020", "VALUE:T2b" ], [ "320", "011-020", "VALUE:T2b" ], [ "340", "011-020", "VALUE:T2NOS" ], [ "400", "011-020", "VALUE:T2b" ], [ "100", "021-989", "VALUE:T3a" ], [ "150", "021-989", "VALUE:T3a" ], [ "155", "021-989", "VALUE:T3a" ], [ "200", "021-989", "VALUE:T3a" ], [ "250", "021-989", "VALUE:T3a" ], [ "270", "021-989", "VALUE:T3a" ], [ "300", "021-989", "VALUE:T3a" ], [ "320", "021-989", "VALUE:T3a" ], [ "340", "021-989", "VALUE:T3a" ], [ "400", "021-989", "VALUE:T3a" ], [ "100", "990", "VALUE:T1" ], [ "150", "990", "VALUE:T1" ], [ "155", "990", "VALUE:T1" ], [ "200", "990", "VALUE:T2a" ], [ "250", "990", "VALUE:T2a" ], [ "270", "990", "VALUE:T2a" ], [ "300", "990", "VALUE:T2b" ], [ "320", "990", "VALUE:T2b" ], [ "340", "990", "VALUE:T2NOS" ], [ "400", "990", "VALUE:T1" ], [ "100", "991", "VALUE:T2a" ], [ "150", "991", "VALUE:T2a" ], [ "155", "991", "VALUE:T2a" ], [ "200", "991", "VALUE:T2a" ], [ "250", "991", "VALUE:T2a" ], [ "270", "991", "VALUE:T2a" ], [ "300", "991", "VALUE:T2b" ], [ "320", "991", "VALUE:T2b" ], [ "340", "991", "VALUE:T2NOS" ], [ "400", "991", "VALUE:T2a" ], [ "100", "992", "VALUE:T2b" ], [ "150", "992", "VALUE:T2b" ], [ "155", "992", "VALUE:T2b" ], [ "200", "992", "VALUE:T2b" ], [ "250", "992", "VALUE:T2b" ], [ "270", "992", "VALUE:T2b" ], [ "300", "992", "VALUE:T2b" ], [ "320", "992", "VALUE:T2b" ], [ "340", "992", "VALUE:T3a" ], [ "400", "992", "VALUE:T2b" ], [ "100", "993-995", "VALUE:T3a" ], [ "150", "993-995", "VALUE:T3a" ], [ "155", "993-995", "VALUE:T3a" ], [ "200", "993-995", "VALUE:T3a" ], [ "250", "993-995", "VALUE:T3a" ], [ "270", "993-995", "VALUE:T3a" ], [ "300", "993-995", "VALUE:T3a" ], [ "320", "993-995", "VALUE:T3a" ], [ "340", "993-995", "VALUE:T3a" ], [ "400", "993-995", "VALUE:T3a" ], [ "100", "996-998", "ERROR:" ], [ "150", "996-998", "ERROR:" ], [ "155", "996-998", "ERROR:" ], [ "200", "996-998", "ERROR:" ], [ "250", "996-998", "ERROR:" ], [ "270", "996-998", "ERROR:" ], [ "300", "996-998", "ERROR:" ], [ "320", "996-998", "ERROR:" ], [ "340", "996-998", "ERROR:" ], [ "400", "996-998", "ERROR:" ], [ "100", "999", "VALUE:T1" ], [ "150", "999", "VALUE:T1" ], [ "155", "999", "VALUE:T1" ], [ "200", "999", "VALUE:T2a" ], [ "250", "999", "VALUE:T1" ], [ "270", "999", "VALUE:T2a" ], [ "300", "999", "VALUE:T2b" ], [ "320", "999", "VALUE:T2b" ], [ "340", "999", "VALUE:T2NOS" ], [ "400", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc6_table_csv2_xgm.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc6_table_csv2_xgm.json deleted file mode 100644 index 59f325854..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc6_table_csv2_xgm.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "extension_size_perineural_invasion_positive_ajcc6_table_csv2_xgm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size Perineural Invasion Positive AJCC6 Table CSv2", - "title" : "Extension Size, Perineural Invasion Positive AJCC 6 Table CSv2", - "notes" : "**Note**: CS Version 2 cases, when CS Site-Specific Factor 6 Perineural Invasion = 010, for CS Extension codes 100-400 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Extension as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.950Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "VALUE:T4" ], [ "150", "VALUE:T4" ], [ "155", "VALUE:T4" ], [ "200", "VALUE:T4" ], [ "250", "VALUE:T4" ], [ "270", "VALUE:T4" ], [ "300", "VALUE:T4" ], [ "320", "VALUE:T4" ], [ "340", "VALUE:T4" ], [ "400", "VALUE:T4" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc7_xgk.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc7_xgk.json deleted file mode 100644 index a7fb6436e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_perineural_invasion_positive_ajcc7_xgk.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "extension_size_perineural_invasion_positive_ajcc7_xgk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size Perineural Invasion Positive AJCC7", - "title" : "Extension Size, Perineural Invasion Positive AJCC 7 Table", - "notes" : "**Note**: When CS Site-Specific Factor 6 Perineural Invasion = 010, for CS Extension codes 100- 400 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Extension as shown in this table.", - "last_modified" : "2015-05-27T16:19:18.996Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "VALUE:T3a" ], [ "150", "VALUE:T3a" ], [ "155", "VALUE:T3a" ], [ "200", "VALUE:T3a" ], [ "250", "VALUE:T3a" ], [ "270", "VALUE:T3a" ], [ "300", "VALUE:T3a" ], [ "320", "VALUE:T3a" ], [ "340", "VALUE:T3a" ], [ "400", "VALUE:T3a" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ssf1_ajcc7_xgb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ssf1_ajcc7_xgb.json deleted file mode 100644 index b9418a4b0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_ssf1_ajcc7_xgb.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "extension_size_ssf1_ajcc7_xgb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size SSF1 AJCC7", - "title" : "Extension Size SSF 1 AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 000, 100-550, 950, and 999 ONLY, where histology does not equal 8020, 8021, 8030, 8031, or 8032, and grade does not equal 4, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size and/or CS Extension and CS Site-Specific Factor 1 as shown in this table.", - "last_modified" : "2015-05-27T16:19:19.042Z", - "definition" : [ { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "SSF1", - "type" : "INPUT" - }, { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "1,2,3,9", "001, 002", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "000", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "100", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "200", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "300", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "400", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "405", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "410", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "415", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "420", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "450", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "480", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "490", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "500", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "520", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "550", "000", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "950", "000", "VALUE:T0" ], [ "1,2,3,9", "000, 988, 999", "999", "000", "ERROR:" ], [ "1,2,3,9", "010", "000", "000", "ERROR:" ], [ "1,2,3,9", "010", "100", "000", "ERROR:" ], [ "1,2,3,9", "010", "200", "000", "ERROR:" ], [ "1,2,3,9", "010", "300", "000", "ERROR:" ], [ "1,2,3,9", "010", "400", "000", "ERROR:" ], [ "1,2,3,9", "010", "405", "000", "ERROR:" ], [ "1,2,3,9", "010", "410", "000", "ERROR:" ], [ "1,2,3,9", "010", "415", "000", "ERROR:" ], [ "1,2,3,9", "010", "420", "000", "ERROR:" ], [ "1,2,3,9", "010", "450", "000", "ERROR:" ], [ "1,2,3,9", "010", "480", "000", "ERROR:" ], [ "1,2,3,9", "010", "490", "000", "ERROR:" ], [ "1,2,3,9", "010", "500", "000", "ERROR:" ], [ "1,2,3,9", "010", "520", "000", "ERROR:" ], [ "1,2,3,9", "010", "550", "000", "ERROR:" ], [ "1,2,3,9", "010", "950", "000", "VALUE:T0" ], [ "1,2,3,9", "010", "999", "000", "ERROR:" ], [ "1,2,3,9", "020", "000", "000", "ERROR:" ], [ "1,2,3,9", "020", "100", "000", "ERROR:" ], [ "1,2,3,9", "020", "200", "000", "ERROR:" ], [ "1,2,3,9", "020", "300", "000", "ERROR:" ], [ "1,2,3,9", "020", "400", "000", "ERROR:" ], [ "1,2,3,9", "020", "405", "000", "ERROR:" ], [ "1,2,3,9", "020", "410", "000", "ERROR:" ], [ "1,2,3,9", "020", "415", "000", "ERROR:" ], [ "1,2,3,9", "020", "420", "000", "ERROR:" ], [ "1,2,3,9", "020", "450", "000", "ERROR:" ], [ "1,2,3,9", "020", "480", "000", "ERROR:" ], [ "1,2,3,9", "020", "490", "000", "ERROR:" ], [ "1,2,3,9", "020", "500", "000", "ERROR:" ], [ "1,2,3,9", "020", "520", "000", "ERROR:" ], [ "1,2,3,9", "020", "550", "000", "ERROR:" ], [ "1,2,3,9", "020", "950", "000", "VALUE:T0" ], [ "1,2,3,9", "020", "999", "000", "ERROR:" ], [ "5,6,7,8", "000-002,010,020,988,999", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,950,999", "000", "ERROR:" ], [ "1,2,3,9", "001, 002", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "001-010", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "000", "001-010", "VALUE:TX" ], [ "1,2,3,9", "000, 988, 999", "100", "001-010", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "200", "001-010", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "300", "001-010", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "400", "001-010", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "405", "001-010", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "410", "001-010", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "415", "001-010", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "420", "001-010", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "450", "001-010", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "480", "001-010", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "490", "001-010", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "500", "001-010", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "520", "001-010", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "550", "001-010", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "950", "001-010", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "999", "001-010", "VALUE:TX" ], [ "1,2,3,9", "010", "000", "001-010", "VALUE:TX" ], [ "1,2,3,9", "010", "100", "001-010", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "200", "001-010", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "300", "001-010", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "400", "001-010", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "405", "001-010", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "410", "001-010", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "415", "001-010", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "420", "001-010", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "450", "001-010", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "480", "001-010", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "490", "001-010", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "500", "001-010", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "520", "001-010", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "550", "001-010", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "950", "001-010", "ERROR:" ], [ "1,2,3,9", "010", "999", "001-010", "VALUE:TX" ], [ "1,2,3,9", "020", "000", "001-010", "VALUE:TX" ], [ "1,2,3,9", "020", "100", "001-010", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "200", "001-010", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "300", "001-010", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "400", "001-010", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "405", "001-010", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "410", "001-010", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "415", "001-010", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "420", "001-010", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "450", "001-010", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "480", "001-010", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "490", "001-010", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "500", "001-010", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "520", "001-010", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "550", "001-010", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "950", "001-010", "ERROR:" ], [ "1,2,3,9", "020", "999", "001-010", "VALUE:TX" ], [ "5,6,7,8", "000-002,010,020,988,999", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,950,999", "001-010", "ERROR:" ], [ "1,2,3,9", "001, 002", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "011-020", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "000", "011-020", "VALUE:TX" ], [ "1,2,3,9", "000, 988, 999", "100", "011-020", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "200", "011-020", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "300", "011-020", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "400", "011-020", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "405", "011-020", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "410", "011-020", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "415", "011-020", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "420", "011-020", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "450", "011-020", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "480", "011-020", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "490", "011-020", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "500", "011-020", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "520", "011-020", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "550", "011-020", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "950", "011-020", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "999", "011-020", "VALUE:TX" ], [ "1,2,3,9", "010", "000", "011-020", "VALUE:TX" ], [ "1,2,3,9", "010", "100", "011-020", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "200", "011-020", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "300", "011-020", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "400", "011-020", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "405", "011-020", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "410", "011-020", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "415", "011-020", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "420", "011-020", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "450", "011-020", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "480", "011-020", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "490", "011-020", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "500", "011-020", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "520", "011-020", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "550", "011-020", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "950", "011-020", "ERROR:" ], [ "1,2,3,9", "010", "999", "011-020", "VALUE:TX" ], [ "1,2,3,9", "020", "000", "011-020", "VALUE:TX" ], [ "1,2,3,9", "020", "100", "011-020", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "200", "011-020", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "300", "011-020", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "400", "011-020", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "405", "011-020", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "410", "011-020", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "415", "011-020", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "420", "011-020", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "450", "011-020", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "480", "011-020", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "490", "011-020", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "500", "011-020", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "520", "011-020", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "550", "011-020", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "950", "011-020", "ERROR:" ], [ "1,2,3,9", "020", "999", "011-020", "VALUE:TX" ], [ "5,6,7,8", "000-002,010,020,988,999", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,950,999", "011-020", "ERROR:" ], [ "1,2,3,9", "001, 002", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "021-040", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "000", "021-040", "VALUE:TX" ], [ "1,2,3,9", "000, 988, 999", "100", "021-040", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "200", "021-040", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "300", "021-040", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "400", "021-040", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "405", "021-040", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "410", "021-040", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "415", "021-040", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "420", "021-040", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "450", "021-040", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "480", "021-040", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "490", "021-040", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "500", "021-040", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "520", "021-040", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "550", "021-040", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "950", "021-040", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "999", "021-040", "VALUE:TX" ], [ "1,2,3,9", "010", "000", "021-040", "VALUE:TX" ], [ "1,2,3,9", "010", "100", "021-040", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "200", "021-040", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "300", "021-040", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "400", "021-040", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "405", "021-040", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "410", "021-040", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "415", "021-040", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "420", "021-040", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "450", "021-040", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "480", "021-040", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "490", "021-040", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "500", "021-040", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "520", "021-040", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "550", "021-040", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "950", "021-040", "ERROR:" ], [ "1,2,3,9", "010", "999", "021-040", "VALUE:TX" ], [ "1,2,3,9", "020", "000", "021-040", "VALUE:TX" ], [ "1,2,3,9", "020", "100", "021-040", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "200", "021-040", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "300", "021-040", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "400", "021-040", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "405", "021-040", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "410", "021-040", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "415", "021-040", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "420", "021-040", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "450", "021-040", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "480", "021-040", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "490", "021-040", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "500", "021-040", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "520", "021-040", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "550", "021-040", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "950", "021-040", "ERROR:" ], [ "1,2,3,9", "020", "999", "021-040", "VALUE:TX" ], [ "5,6,7,8", "000-002,010,020,988,999", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,950,999", "021-040", "ERROR:" ], [ "1,2,3,9", "001, 002", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "041-989", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "000", "041-989", "VALUE:TX" ], [ "1,2,3,9", "000, 988, 999", "100", "041-989", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "200", "041-989", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "300", "041-989", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "400", "041-989", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "405", "041-989", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "410", "041-989", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "415", "041-989", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "420", "041-989", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "450", "041-989", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "480", "041-989", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "490", "041-989", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "500", "041-989", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "520", "041-989", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "550", "041-989", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "950", "041-989", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "999", "041-989", "VALUE:TX" ], [ "1,2,3,9", "010", "000", "041-989", "VALUE:TX" ], [ "1,2,3,9", "010", "100", "041-989", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "200", "041-989", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "300", "041-989", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "400", "041-989", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "405", "041-989", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "410", "041-989", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "415", "041-989", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "420", "041-989", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "450", "041-989", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "480", "041-989", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "490", "041-989", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "500", "041-989", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "520", "041-989", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "550", "041-989", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "950", "041-989", "ERROR:" ], [ "1,2,3,9", "010", "999", "041-989", "VALUE:TX" ], [ "1,2,3,9", "020", "000", "041-989", "VALUE:TX" ], [ "1,2,3,9", "020", "100", "041-989", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "200", "041-989", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "300", "041-989", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "400", "041-989", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "405", "041-989", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "410", "041-989", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "415", "041-989", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "420", "041-989", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "450", "041-989", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "480", "041-989", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "490", "041-989", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "500", "041-989", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "520", "041-989", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "550", "041-989", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "950", "041-989", "ERROR:" ], [ "1,2,3,9", "020", "999", "041-989", "VALUE:TX" ], [ "5,6,7,8", "000-002,010,020,988,999", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,950,999", "041-989", "ERROR:" ], [ "1,2,3,9", "001, 002", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "990-991", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "000", "990-991", "VALUE:TX" ], [ "1,2,3,9", "000, 988, 999", "100", "990-991", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "200", "990-991", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "300", "990-991", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "400", "990-991", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "405", "990-991", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "410", "990-991", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "415", "990-991", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "420", "990-991", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "450", "990-991", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "480", "990-991", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "490", "990-991", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "500", "990-991", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "520", "990-991", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "550", "990-991", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "950", "990-991", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "999", "990-991", "VALUE:TX" ], [ "1,2,3,9", "010", "000", "990-991", "VALUE:TX" ], [ "1,2,3,9", "010", "100", "990-991", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "200", "990-991", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "300", "990-991", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "400", "990-991", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "405", "990-991", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "410", "990-991", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "415", "990-991", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "420", "990-991", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "450", "990-991", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "480", "990-991", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "490", "990-991", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "500", "990-991", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "520", "990-991", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "550", "990-991", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "950", "990-991", "ERROR:" ], [ "1,2,3,9", "010", "999", "990-991", "VALUE:TX" ], [ "1,2,3,9", "020", "000", "990-991", "VALUE:TX" ], [ "1,2,3,9", "020", "100", "990-991", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "200", "990-991", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "300", "990-991", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "400", "990-991", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "405", "990-991", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "410", "990-991", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "415", "990-991", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "420", "990-991", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "450", "990-991", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "480", "990-991", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "490", "990-991", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "500", "990-991", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "520", "990-991", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "550", "990-991", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "950", "990-991", "ERROR:" ], [ "1,2,3,9", "020", "999", "990-991", "VALUE:TX" ], [ "5,6,7,8", "000-002,010,020,988,999", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,950,999", "990-991", "ERROR:" ], [ "1,2,3,9", "001, 002", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "992", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "000", "992", "VALUE:TX" ], [ "1,2,3,9", "000, 988, 999", "100", "992", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "200", "992", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "300", "992", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "400", "992", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "405", "992", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "410", "992", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "415", "992", "VALUE:T1NOS" ], [ "1,2,3,9", "000, 988, 999", "420", "992", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "450", "992", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "480", "992", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "490", "992", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "500", "992", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "520", "992", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "550", "992", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "950", "992", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "999", "992", "VALUE:TX" ], [ "1,2,3,9", "010", "000", "992", "VALUE:TX" ], [ "1,2,3,9", "010", "100", "992", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "200", "992", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "300", "992", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "400", "992", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "405", "992", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "410", "992", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "415", "992", "VALUE:T1NOS(s)" ], [ "1,2,3,9", "010", "420", "992", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "450", "992", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "480", "992", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "490", "992", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "500", "992", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "520", "992", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "550", "992", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "950", "992", "ERROR:" ], [ "1,2,3,9", "010", "999", "992", "VALUE:TX" ], [ "1,2,3,9", "020", "000", "992", "VALUE:TX" ], [ "1,2,3,9", "020", "100", "992", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "200", "992", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "300", "992", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "400", "992", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "405", "992", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "410", "992", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "415", "992", "VALUE:T1NOS(m)" ], [ "1,2,3,9", "020", "420", "992", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "450", "992", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "480", "992", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "490", "992", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "500", "992", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "520", "992", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "550", "992", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "950", "992", "ERROR:" ], [ "1,2,3,9", "020", "999", "992", "VALUE:TX" ], [ "5,6,7,8", "000-002,010,020,988,999", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,950,999", "992", "ERROR:" ], [ "1,2,3,9", "001, 002", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "993-994", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "000", "993-994", "VALUE:TX" ], [ "1,2,3,9", "000, 988, 999", "100", "993-994", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "200", "993-994", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "300", "993-994", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "400", "993-994", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "405", "993-994", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "410", "993-994", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "415", "993-994", "VALUE:T1NOS" ], [ "1,2,3,9", "000, 988, 999", "420", "993-994", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "450", "993-994", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "480", "993-994", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "490", "993-994", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "500", "993-994", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "520", "993-994", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "550", "993-994", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "950", "993-994", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "999", "993-994", "VALUE:TX" ], [ "1,2,3,9", "010", "000", "993-994", "VALUE:TX" ], [ "1,2,3,9", "010", "100", "993-994", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "200", "993-994", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "300", "993-994", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "400", "993-994", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "405", "993-994", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "410", "993-994", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "415", "993-994", "VALUE:T1NOS(s)" ], [ "1,2,3,9", "010", "420", "993-994", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "450", "993-994", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "480", "993-994", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "490", "993-994", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "500", "993-994", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "520", "993-994", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "550", "993-994", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "950", "993-994", "ERROR:" ], [ "1,2,3,9", "010", "999", "993-994", "VALUE:TX" ], [ "1,2,3,9", "020", "000", "993-994", "VALUE:TX" ], [ "1,2,3,9", "020", "100", "993-994", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "200", "993-994", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "300", "993-994", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "400", "993-994", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "405", "993-994", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "410", "993-994", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "415", "993-994", "VALUE:T1NOS(m)" ], [ "1,2,3,9", "020", "420", "993-994", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "450", "993-994", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "480", "993-994", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "490", "993-994", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "500", "993-994", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "520", "993-994", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "550", "993-994", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "950", "993-994", "ERROR:" ], [ "1,2,3,9", "020", "999", "993-994", "VALUE:TX" ], [ "5,6,7,8", "000-002,010,020,988,999", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,950,999", "993-994", "ERROR:" ], [ "1,2,3,9", "001, 002", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "995", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "000", "995", "VALUE:TX" ], [ "1,2,3,9", "000, 988, 999", "100", "995", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "200", "995", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "300", "995", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "400", "995", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "405", "995", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "410", "995", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "415", "995", "VALUE:T1NOS" ], [ "1,2,3,9", "000, 988, 999", "420", "995", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "450", "995", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "480", "995", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "490", "995", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "500", "995", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "520", "995", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "550", "995", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "950", "995", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "999", "995", "VALUE:TX" ], [ "1,2,3,9", "010", "000", "995", "VALUE:TX" ], [ "1,2,3,9", "010", "100", "995", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "200", "995", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "300", "995", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "400", "995", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "405", "995", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "410", "995", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "415", "995", "VALUE:T1NOS(s)" ], [ "1,2,3,9", "010", "420", "995", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "450", "995", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "480", "995", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "490", "995", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "500", "995", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "520", "995", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "550", "995", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "950", "995", "ERROR:" ], [ "1,2,3,9", "010", "999", "995", "VALUE:TX" ], [ "1,2,3,9", "020", "000", "995", "VALUE:TX" ], [ "1,2,3,9", "020", "100", "995", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "200", "995", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "300", "995", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "400", "995", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "405", "995", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "410", "995", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "415", "995", "VALUE:T1NOS(m)" ], [ "1,2,3,9", "020", "420", "995", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "450", "995", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "480", "995", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "490", "995", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "500", "995", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "520", "995", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "550", "995", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "950", "995", "ERROR:" ], [ "1,2,3,9", "020", "999", "995", "VALUE:TX" ], [ "5,6,7,8", "000-002,010,020,988,999", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,950,999", "995", "ERROR:" ], [ "1,2,3,9", "001, 002", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "996", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "000", "996", "VALUE:TX" ], [ "1,2,3,9", "000, 988, 999", "100", "996", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "200", "996", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "300", "996", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "400", "996", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "405", "996", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "410", "996", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "415", "996", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "420", "996", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "450", "996", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "480", "996", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "490", "996", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "500", "996", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "520", "996", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "550", "996", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "950", "996", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "999", "996", "VALUE:TX" ], [ "1,2,3,9", "010", "000", "996", "VALUE:TX" ], [ "1,2,3,9", "010", "100", "996", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "200", "996", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "300", "996", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "400", "996", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "405", "996", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "410", "996", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "415", "996", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "420", "996", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "450", "996", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "480", "996", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "490", "996", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "500", "996", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "520", "996", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "550", "996", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "950", "996", "ERROR:" ], [ "1,2,3,9", "010", "999", "996", "VALUE:TX" ], [ "1,2,3,9", "020", "000", "996", "VALUE:TX" ], [ "1,2,3,9", "020", "100", "996", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "200", "996", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "300", "996", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "400", "996", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "405", "996", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "410", "996", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "415", "996", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "420", "996", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "450", "996", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "480", "996", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "490", "996", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "500", "996", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "520", "996", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "550", "996", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "950", "996", "ERROR:" ], [ "1,2,3,9", "020", "999", "996", "VALUE:TX" ], [ "5,6,7,8", "000-002,010,020,988,999", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,950,999", "996", "ERROR:" ], [ "1,2,3,9", "001, 002", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,560,600,620,650,700,720,730,800,810,815,950,999", "999", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "000", "999", "VALUE:TX" ], [ "1,2,3,9", "000, 988, 999", "100", "999", "VALUE:TX" ], [ "1,2,3,9", "000, 988, 999", "200", "999", "VALUE:TX" ], [ "1,2,3,9", "000, 988, 999", "300", "999", "VALUE:TX" ], [ "1,2,3,9", "000, 988, 999", "400", "999", "VALUE:TX" ], [ "1,2,3,9", "000, 988, 999", "405", "999", "VALUE:T1a" ], [ "1,2,3,9", "000, 988, 999", "410", "999", "VALUE:T1b" ], [ "1,2,3,9", "000, 988, 999", "415", "999", "VALUE:T1NOS" ], [ "1,2,3,9", "000, 988, 999", "420", "999", "VALUE:T2" ], [ "1,2,3,9", "000, 988, 999", "450", "999", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "480", "999", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "490", "999", "VALUE:T3" ], [ "1,2,3,9", "000, 988, 999", "500", "999", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "520", "999", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "550", "999", "VALUE:T4a" ], [ "1,2,3,9", "000, 988, 999", "950", "999", "ERROR:" ], [ "1,2,3,9", "000, 988, 999", "999", "999", "VALUE:TX" ], [ "1,2,3,9", "010", "000", "999", "VALUE:TX" ], [ "1,2,3,9", "010", "100", "999", "VALUE:TX" ], [ "1,2,3,9", "010", "200", "999", "VALUE:TX" ], [ "1,2,3,9", "010", "300", "999", "VALUE:TX" ], [ "1,2,3,9", "010", "400", "999", "VALUE:TX" ], [ "1,2,3,9", "010", "405", "999", "VALUE:T1a(s)" ], [ "1,2,3,9", "010", "410", "999", "VALUE:T1b(s)" ], [ "1,2,3,9", "010", "415", "999", "VALUE:T1NOS(s)" ], [ "1,2,3,9", "010", "420", "999", "VALUE:T2(s)" ], [ "1,2,3,9", "010", "450", "999", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "480", "999", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "490", "999", "VALUE:T3(s)" ], [ "1,2,3,9", "010", "500", "999", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "520", "999", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "550", "999", "VALUE:T4a(s)" ], [ "1,2,3,9", "010", "950", "999", "ERROR:" ], [ "1,2,3,9", "010", "999", "999", "VALUE:TX" ], [ "1,2,3,9", "020", "000", "999", "VALUE:TX" ], [ "1,2,3,9", "020", "100", "999", "VALUE:TX" ], [ "1,2,3,9", "020", "200", "999", "VALUE:TX" ], [ "1,2,3,9", "020", "300", "999", "VALUE:TX" ], [ "1,2,3,9", "020", "400", "999", "VALUE:TX" ], [ "1,2,3,9", "020", "405", "999", "VALUE:T1a(m)" ], [ "1,2,3,9", "020", "410", "999", "VALUE:T1b(m)" ], [ "1,2,3,9", "020", "415", "999", "VALUE:T1NOS(m)" ], [ "1,2,3,9", "020", "420", "999", "VALUE:T2(m)" ], [ "1,2,3,9", "020", "450", "999", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "480", "999", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "490", "999", "VALUE:T3(m)" ], [ "1,2,3,9", "020", "500", "999", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "520", "999", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "550", "999", "VALUE:T4a(m)" ], [ "1,2,3,9", "020", "950", "999", "ERROR:" ], [ "1,2,3,9", "020", "999", "999", "VALUE:TX" ], [ "5,6,7,8", "000-002,010,020,988,999", "000,100,200,300,400,405,410,415,420,450,480,490,500,520,550,950,999", "999", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc6_xal.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc6_xal.json deleted file mode 100644 index 28d6a3fc6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc6_xal.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_table_ajcc6_xal", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size Table AJCC6", - "title" : "Extension Size Table AJCC 6", - "notes" : "**Note**: For CS Extension codes 100-360 ONLY, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:19.219Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "310", "000", "ERROR:" ], [ "320", "000", "ERROR:" ], [ "330", "000", "ERROR:" ], [ "340", "000", "ERROR:" ], [ "350", "000", "ERROR:" ], [ "360", "000", "ERROR:" ], [ "100", "001-040", "VALUE:T1a" ], [ "200", "001-040", "VALUE:T1a" ], [ "300", "001-040", "VALUE:T1a" ], [ "310", "001-040", "VALUE:T1a" ], [ "320", "001-040", "VALUE:T1a" ], [ "330", "001-040", "VALUE:T1a" ], [ "340", "001-040", "VALUE:T1a" ], [ "350", "001-040", "VALUE:T1a" ], [ "360", "001-040", "VALUE:T1a" ], [ "100", "041-070", "VALUE:T1b" ], [ "200", "041-070", "VALUE:T1b" ], [ "300", "041-070", "VALUE:T1b" ], [ "310", "041-070", "VALUE:T1b" ], [ "320", "041-070", "VALUE:T1b" ], [ "330", "041-070", "VALUE:T1b" ], [ "340", "041-070", "VALUE:T1b" ], [ "350", "041-070", "VALUE:T1b" ], [ "360", "041-070", "VALUE:T1b" ], [ "100", "071-989", "VALUE:T2" ], [ "200", "071-989", "VALUE:T2" ], [ "300", "071-989", "VALUE:T2" ], [ "310", "071-989", "VALUE:T2" ], [ "320", "071-989", "VALUE:T2" ], [ "330", "071-989", "VALUE:T2" ], [ "340", "071-989", "VALUE:T2" ], [ "350", "071-989", "VALUE:T2" ], [ "360", "071-989", "VALUE:T2" ], [ "100", "990-991", "VALUE:T1a" ], [ "200", "990-991", "VALUE:T1a" ], [ "300", "990-991", "VALUE:T1a" ], [ "310", "990-991", "VALUE:T1a" ], [ "320", "990-991", "VALUE:T1a" ], [ "330", "990-991", "VALUE:T1a" ], [ "340", "990-991", "VALUE:T1a" ], [ "350", "990-991", "VALUE:T1a" ], [ "360", "990-991", "VALUE:T1a" ], [ "100", "992-994", "VALUE:T1a" ], [ "200", "992-994", "VALUE:T1a" ], [ "300", "992-994", "VALUE:T1a" ], [ "310", "992-994", "VALUE:T1a" ], [ "320", "992-994", "VALUE:T1b" ], [ "330", "992-994", "VALUE:T1NOS" ], [ "340", "992-994", "VALUE:T2" ], [ "350", "992-994", "VALUE:T2" ], [ "360", "992-994", "VALUE:T2" ], [ "100", "995", "VALUE:T1b" ], [ "200", "995", "VALUE:T1b" ], [ "300", "995", "VALUE:T1b" ], [ "310", "995", "VALUE:T1b" ], [ "320", "995", "VALUE:T1b" ], [ "330", "995", "VALUE:T1b" ], [ "340", "995", "VALUE:T1b" ], [ "350", "995", "VALUE:T1b" ], [ "360", "995", "VALUE:T1b" ], [ "100", "996", "VALUE:T1NOS" ], [ "200", "996", "VALUE:T1NOS" ], [ "300", "996", "VALUE:T1NOS" ], [ "310", "996", "VALUE:T1a" ], [ "320", "996", "VALUE:T1b" ], [ "330", "996", "VALUE:T1NOS" ], [ "340", "996", "VALUE:T2" ], [ "350", "996", "VALUE:T2" ], [ "360", "996", "VALUE:T2" ], [ "100", "997-998", "VALUE:T2" ], [ "200", "997-998", "VALUE:T2" ], [ "300", "997-998", "VALUE:T2" ], [ "310", "997-998", "VALUE:T1a" ], [ "320", "997-998", "VALUE:T1b" ], [ "330", "997-998", "VALUE:T1NOS" ], [ "340", "997-998", "VALUE:T2" ], [ "350", "997-998", "VALUE:T2" ], [ "360", "997-998", "VALUE:T2" ], [ "100", "999", "VALUE:TX" ], [ "200", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "310", "999", "VALUE:T1a" ], [ "320", "999", "VALUE:T1b" ], [ "330", "999", "VALUE:T1NOS" ], [ "340", "999", "VALUE:T2" ], [ "350", "999", "VALUE:T2" ], [ "360", "999", "VALUE:T2" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc7_xek.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc7_xek.json deleted file mode 100644 index 006210a63..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_ajcc7_xek.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_table_ajcc7_xek", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size Table AJCC7", - "title" : "Extension Size Table AJCC 7", - "notes" : "**Note**: For CS Extension codes 100-360 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:19.268Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "310", "000", "ERROR:" ], [ "320", "000", "ERROR:" ], [ "330", "000", "ERROR:" ], [ "340", "000", "ERROR:" ], [ "350", "000", "ERROR:" ], [ "360", "000", "ERROR:" ], [ "100", "001-040", "VALUE:T1a" ], [ "200", "001-040", "VALUE:T1a" ], [ "300", "001-040", "VALUE:T1a" ], [ "310", "001-040", "VALUE:T1a" ], [ "320", "001-040", "VALUE:T1a" ], [ "330", "001-040", "VALUE:T1a" ], [ "340", "001-040", "VALUE:T1a" ], [ "350", "001-040", "VALUE:T1a" ], [ "360", "001-040", "VALUE:T1a" ], [ "100", "041-070", "VALUE:T1b" ], [ "200", "041-070", "VALUE:T1b" ], [ "300", "041-070", "VALUE:T1b" ], [ "310", "041-070", "VALUE:T1b" ], [ "320", "041-070", "VALUE:T1b" ], [ "330", "041-070", "VALUE:T1b" ], [ "340", "041-070", "VALUE:T1b" ], [ "350", "041-070", "VALUE:T1b" ], [ "360", "041-070", "VALUE:T1b" ], [ "100", "071-100", "VALUE:T2a" ], [ "200", "071-100", "VALUE:T2a" ], [ "300", "071-100", "VALUE:T2a" ], [ "310", "071-100", "VALUE:T2a" ], [ "320", "071-100", "VALUE:T2a" ], [ "330", "071-100", "VALUE:T2a" ], [ "340", "071-100", "VALUE:T2a" ], [ "350", "071-100", "VALUE:T2a" ], [ "360", "071-100", "VALUE:T2a" ], [ "100", "101-989", "VALUE:T2b" ], [ "200", "101-989", "VALUE:T2b" ], [ "300", "101-989", "VALUE:T2b" ], [ "310", "101-989", "VALUE:T2b" ], [ "320", "101-989", "VALUE:T2b" ], [ "330", "101-989", "VALUE:T2b" ], [ "340", "101-989", "VALUE:T2b" ], [ "350", "101-989", "VALUE:T2b" ], [ "360", "101-989", "VALUE:T2b" ], [ "100", "990-991", "VALUE:T1a" ], [ "200", "990-991", "VALUE:T1a" ], [ "300", "990-991", "VALUE:T1a" ], [ "310", "990-991", "VALUE:T1a" ], [ "320", "990-991", "VALUE:T1a" ], [ "330", "990-991", "VALUE:T1a" ], [ "340", "990-991", "VALUE:T1a" ], [ "350", "990-991", "VALUE:T1a" ], [ "360", "990-991", "VALUE:T1a" ], [ "100", "992-994", "VALUE:T1a" ], [ "200", "992-994", "VALUE:T1a" ], [ "300", "992-994", "VALUE:T1a" ], [ "310", "992-994", "VALUE:T1a" ], [ "320", "992-994", "VALUE:T1b" ], [ "330", "992-994", "VALUE:T1NOS" ], [ "340", "992-994", "VALUE:T2a" ], [ "350", "992-994", "VALUE:T2b" ], [ "360", "992-994", "VALUE:T2NOS" ], [ "100", "995", "VALUE:T1b" ], [ "200", "995", "VALUE:T1b" ], [ "300", "995", "VALUE:T1b" ], [ "310", "995", "VALUE:T1b" ], [ "320", "995", "VALUE:T1b" ], [ "330", "995", "VALUE:T1b" ], [ "340", "995", "VALUE:T1b" ], [ "350", "995", "VALUE:T1b" ], [ "360", "995", "VALUE:T1b" ], [ "100", "996", "VALUE:T1NOS" ], [ "200", "996", "VALUE:T1NOS" ], [ "300", "996", "VALUE:T1NOS" ], [ "310", "996", "VALUE:T1a" ], [ "320", "996", "VALUE:T1b" ], [ "330", "996", "VALUE:T1NOS" ], [ "340", "996", "VALUE:T2a" ], [ "350", "996", "VALUE:T2b" ], [ "360", "996", "VALUE:T2NOS" ], [ "100", "997", "VALUE:T2NOS" ], [ "200", "997", "VALUE:T2NOS" ], [ "300", "997", "VALUE:T2NOS" ], [ "310", "997", "VALUE:T1a" ], [ "320", "997", "VALUE:T1b" ], [ "330", "997", "VALUE:T1NOS" ], [ "340", "997", "VALUE:T2a" ], [ "350", "997", "VALUE:T2b" ], [ "360", "997", "VALUE:T2NOS" ], [ "100", "998", "VALUE:T2b" ], [ "200", "998", "VALUE:T2b" ], [ "300", "998", "VALUE:T2b" ], [ "310", "998", "VALUE:T1a" ], [ "320", "998", "VALUE:T1b" ], [ "330", "998", "VALUE:T1NOS " ], [ "340", "998", "VALUE:T2a" ], [ "350", "998", "VALUE:T2b" ], [ "360", "998", "VALUE:T2NOS" ], [ "100", "999", "VALUE:TX" ], [ "200", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ], [ "310", "999", "VALUE:T1a" ], [ "320", "999", "VALUE:T1b" ], [ "330", "999", "VALUE:T1NOS" ], [ "340", "999", "VALUE:T2a" ], [ "350", "999", "VALUE:T2b" ], [ "360", "999", "VALUE:T2NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv1_xas.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv1_xas.json deleted file mode 100644 index 363ff32c5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv1_xas.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_table_csv1_xas", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size Table Csv1", - "title" : "Extension Size Table CSv1", - "notes" : "**Note**: For the obsolete CS Extension codes 100 and 300 ONLY, the T category for AJCC 6 staging for cases collected in CSv1 and not updated to CSv2 codes is assigned based on the value of CS Extension and the obsolete CS Tumor Size code as shown in this table.", - "last_modified" : "2015-05-27T16:19:19.327Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "100", "001-005", "VALUE:T1" ], [ "300", "001-005", "VALUE:T1" ], [ "100", "006-980", "VALUE:T2" ], [ "300", "006-980", "VALUE:T2" ], [ "100", "981-989", "ERROR:" ], [ "300", "981-989", "ERROR:" ], [ "100", "990", "VALUE:T1" ], [ "300", "990", "VALUE:T1" ], [ "100", "991-995", "VALUE:T2" ], [ "300", "991-995", "VALUE:T2" ], [ "100", "999", "VALUE:TX" ], [ "300", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv2_xez.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv2_xez.json deleted file mode 100644 index 90755e1fb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_table_csv2_xez.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_table_csv2_xez", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size Table Csv2", - "title" : "Extension Size Table CSv2", - "notes" : "**Note**: For CS Extension codes 110- 150 and 350 ONLY, the T category for AJCC staging is assigned based on the value of CS Extension and CS Site-Specific Factor 1, Tumor Size, as shown in this table. The CS Tumor Size table for this schema is obsolete in CS Version 2, and the collection of tumor size value moved to CS Site-Specific Factor 1, Tumor Size.", - "last_modified" : "2015-05-27T16:19:19.376Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF 1 Tumor Size 000", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "110", "000", "ERROR:", "ERROR:" ], [ "120", "000", "ERROR:", "ERROR:" ], [ "140", "000", "ERROR:", "ERROR:" ], [ "150", "000", "ERROR:", "ERROR:" ], [ "350", "000", "ERROR:", "ERROR:" ], [ "110", "001-050", "VALUE:T1", "VALUE:T1" ], [ "120", "001-050", "VALUE:T1", "VALUE:T1" ], [ "140", "001-050", "VALUE:T1", "VALUE:T1" ], [ "150", "001-050", "VALUE:T1", "VALUE:T1" ], [ "350", "001-050", "VALUE:T1", "VALUE:T1" ], [ "110", "051-980", "VALUE:T2", "VALUE:T2" ], [ "120", "051-980", "VALUE:T2", "VALUE:T2" ], [ "140", "051-980", "VALUE:T2", "VALUE:T2" ], [ "150", "051-980", "VALUE:T2", "VALUE:T2" ], [ "350", "051-980", "VALUE:T2", "VALUE:T2" ], [ "110", "988", "ERROR:", "ERROR:" ], [ "120", "988", "ERROR:", "ERROR:" ], [ "140", "988", "ERROR:", "ERROR:" ], [ "150", "988", "ERROR:", "ERROR:" ], [ "350", "988", "ERROR:", "ERROR:" ], [ "110", "990-991", "VALUE:T1", "VALUE:T1" ], [ "120", "990-991", "VALUE:T1", "VALUE:T1" ], [ "140", "990-991", "VALUE:T1", "VALUE:T1" ], [ "150", "990-991", "VALUE:T1", "VALUE:T1" ], [ "350", "990-991", "VALUE:T1", "VALUE:T1" ], [ "110", "992", "VALUE:T2", "VALUE:T2" ], [ "120", "992", "VALUE:T2", "VALUE:T2" ], [ "140", "992", "VALUE:T2", "VALUE:T2" ], [ "150", "992", "VALUE:T2", "VALUE:T2" ], [ "350", "992", "VALUE:T2", "VALUE:T2" ], [ "110", "999", "VALUE:TX", "VALUE:TX" ], [ "120", "999", "VALUE:TX", "VALUE:TX" ], [ "140", "999", "VALUE:T1", "VALUE:T1" ], [ "150", "999", "VALUE:T2", "VALUE:T2" ], [ "350", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xaa.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xaa.json deleted file mode 100644 index 0f59b2714..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xaa.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xaa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100-400 ONLY, the T category is assigned based on the value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:19.421Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "110", "000", "ERROR:", "ERROR:" ], [ "120", "000", "ERROR:", "ERROR:" ], [ "160", "000", "ERROR:", "ERROR:" ], [ "200", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "310", "000", "ERROR:", "ERROR:" ], [ "320", "000", "ERROR:", "ERROR:" ], [ "330", "000", "ERROR:", "ERROR:" ], [ "400", "000", "ERROR:", "ERROR:" ], [ "100", "001-020", "VALUE:T1", "VALUE:T1" ], [ "110", "001-020", "VALUE:T1", "VALUE:T1" ], [ "120", "001-020", "VALUE:T1", "VALUE:T1" ], [ "160", "001-020", "VALUE:T1", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1", "VALUE:T1" ], [ "310", "001-020", "VALUE:T1", "VALUE:T1" ], [ "320", "001-020", "VALUE:T1", "VALUE:T1" ], [ "330", "001-020", "VALUE:T1", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1", "VALUE:T1" ], [ "100", "021-050", "VALUE:T2", "VALUE:T2" ], [ "110", "021-050", "VALUE:T2", "VALUE:T2" ], [ "120", "021-050", "VALUE:T2", "VALUE:T2" ], [ "160", "021-050", "VALUE:T2", "VALUE:T2" ], [ "200", "021-050", "VALUE:T2", "VALUE:T2" ], [ "300", "021-050", "VALUE:T2", "VALUE:T2" ], [ "310", "021-050", "VALUE:T2", "VALUE:T2" ], [ "320", "021-050", "VALUE:T2", "VALUE:T2" ], [ "330", "021-050", "VALUE:T2", "VALUE:T2" ], [ "400", "021-050", "VALUE:T2", "VALUE:T2" ], [ "100", "051-989", "VALUE:T3", "VALUE:T3" ], [ "110", "051-989", "VALUE:T3", "VALUE:T3" ], [ "120", "051-989", "VALUE:T3", "VALUE:T3" ], [ "160", "051-989", "VALUE:T3", "VALUE:T3" ], [ "200", "051-989", "VALUE:T3", "VALUE:T3" ], [ "300", "051-989", "VALUE:T3", "VALUE:T3" ], [ "310", "051-989", "VALUE:T3", "VALUE:T3" ], [ "320", "051-989", "VALUE:T3", "VALUE:T3" ], [ "330", "051-989", "VALUE:T3", "VALUE:T3" ], [ "400", "051-989", "VALUE:T3", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1", "VALUE:T1" ], [ "110", "990-991", "VALUE:T1", "VALUE:T1" ], [ "120", "990-991", "VALUE:T1", "VALUE:T1" ], [ "160", "990-991", "VALUE:T1", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1", "VALUE:T1" ], [ "310", "990-991", "VALUE:T1", "VALUE:T1" ], [ "320", "990-991", "VALUE:T1", "VALUE:T1" ], [ "330", "990-991", "VALUE:T1", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1", "VALUE:T1" ], [ "100", "992", "VALUE:T1", "VALUE:T1" ], [ "110", "992", "VALUE:T1", "VALUE:T1" ], [ "120", "992", "VALUE:T1", "VALUE:T1" ], [ "160", "992", "VALUE:T1", "VALUE:T1" ], [ "200", "992", "VALUE:T1", "VALUE:T1" ], [ "300", "992", "VALUE:T1", "VALUE:T1" ], [ "310", "992", "VALUE:T1", "VALUE:T1" ], [ "320", "992", "VALUE:T2", "VALUE:T2" ], [ "330", "992", "VALUE:T3", "VALUE:T3" ], [ "400", "992", "VALUE:T1", "VALUE:T1" ], [ "100", "993-994", "VALUE:T2", "VALUE:T2" ], [ "110", "993-994", "VALUE:T2", "VALUE:T2" ], [ "120", "993-994", "VALUE:T2", "VALUE:T2" ], [ "160", "993-994", "VALUE:T2", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2", "VALUE:T2" ], [ "310", "993-994", "VALUE:T2", "VALUE:T2" ], [ "320", "993-994", "VALUE:T2", "VALUE:T2" ], [ "330", "993-994", "VALUE:T2", "VALUE:T2" ], [ "400", "993-994", "VALUE:T2", "VALUE:T2" ], [ "100", "995", "VALUE:T2", "VALUE:T2" ], [ "110", "995", "VALUE:T2", "VALUE:T2" ], [ "120", "995", "VALUE:T2", "VALUE:T2" ], [ "160", "995", "VALUE:T2", "VALUE:T2" ], [ "200", "995", "VALUE:T2", "VALUE:T2" ], [ "300", "995", "VALUE:T2", "VALUE:T2" ], [ "310", "995", "VALUE:T1", "VALUE:T1" ], [ "320", "995", "VALUE:T2", "VALUE:T2" ], [ "330", "995", "VALUE:T3", "VALUE:T3" ], [ "400", "995", "VALUE:T2", "VALUE:T2" ], [ "100", "996", "VALUE:T3", "VALUE:T3" ], [ "110", "996", "VALUE:T3", "VALUE:T3" ], [ "120", "996", "VALUE:T3", "VALUE:T3" ], [ "160", "996", "VALUE:T3", "VALUE:T3" ], [ "200", "996", "VALUE:T3", "VALUE:T3" ], [ "300", "996", "VALUE:T3", "VALUE:T3" ], [ "310", "996", "VALUE:T1", "VALUE:T1" ], [ "320", "996", "VALUE:T2", "VALUE:T2" ], [ "330", "996", "VALUE:T3", "VALUE:T3" ], [ "400", "996", "VALUE:T3", "VALUE:T3" ], [ "100", "997-998", "ERROR:", "ERROR:" ], [ "110", "997-998", "ERROR:", "ERROR:" ], [ "120", "997-998", "ERROR:", "ERROR:" ], [ "160", "997-998", "ERROR:", "ERROR:" ], [ "200", "997-998", "ERROR:", "ERROR:" ], [ "300", "997-998", "ERROR:", "ERROR:" ], [ "310", "997-998", "ERROR:", "ERROR:" ], [ "320", "997-998", "ERROR:", "ERROR:" ], [ "330", "997-998", "ERROR:", "ERROR:" ], [ "400", "997-998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "110", "999", "VALUE:TX", "VALUE:TX" ], [ "120", "999", "VALUE:TX", "VALUE:TX" ], [ "160", "999", "VALUE:TX", "VALUE:TX" ], [ "200", "999", "VALUE:TX", "VALUE:TX" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ], [ "310", "999", "VALUE:T1", "VALUE:T1" ], [ "320", "999", "VALUE:T2", "VALUE:T2" ], [ "330", "999", "VALUE:T3", "VALUE:T3" ], [ "400", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xab.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xab.json deleted file mode 100644 index 324ddfeec..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xab.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100-545 ONLY, the T category is assigned based on the value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:19.481Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "200", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "400", "000", "ERROR:", "ERROR:" ], [ "405", "000", "ERROR:", "ERROR:" ], [ "410", "000", "ERROR:", "ERROR:" ], [ "415", "000", "ERROR:", "ERROR:" ], [ "500", "000", "ERROR:", "ERROR:" ], [ "530", "000", "ERROR:", "ERROR:" ], [ "535", "000", "ERROR:", "ERROR:" ], [ "545", "000", "ERROR:", "ERROR:" ], [ "100", "001-020", "VALUE:T1", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1", "VALUE:T1" ], [ "405", "001-020", "VALUE:T1", "VALUE:T1" ], [ "410", "001-020", "VALUE:T1", "VALUE:T1" ], [ "415", "001-020", "VALUE:T1", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1", "VALUE:T1" ], [ "530", "001-020", "VALUE:T1", "VALUE:T1" ], [ "535", "001-020", "VALUE:T1", "VALUE:T1" ], [ "545", "001-020", "VALUE:T1", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2", "VALUE:T2" ], [ "200", "021-040", "VALUE:T2", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2", "VALUE:T2" ], [ "400", "021-040", "VALUE:T2", "VALUE:T2" ], [ "405", "021-040", "VALUE:T2", "VALUE:T2" ], [ "410", "021-040", "VALUE:T2", "VALUE:T2" ], [ "415", "021-040", "VALUE:T2", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2", "VALUE:T2" ], [ "530", "021-040", "VALUE:T2", "VALUE:T2" ], [ "535", "021-040", "VALUE:T2", "VALUE:T2" ], [ "545", "021-040", "VALUE:T2", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3", "VALUE:T3" ], [ "200", "041-989", "VALUE:T3", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3", "VALUE:T3" ], [ "400", "041-989", "VALUE:T3", "VALUE:T3" ], [ "405", "041-989", "VALUE:T3", "VALUE:T3" ], [ "410", "041-989", "VALUE:T3", "VALUE:T3" ], [ "415", "041-989", "VALUE:T3", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3", "VALUE:T3" ], [ "530", "041-989", "VALUE:T3", "VALUE:T3" ], [ "535", "041-989", "VALUE:T3", "VALUE:T3" ], [ "545", "041-989", "VALUE:T3", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1", "VALUE:T1" ], [ "405", "990-991", "VALUE:T1", "VALUE:T1" ], [ "410", "990-991", "VALUE:T1", "VALUE:T1" ], [ "415", "990-991", "VALUE:T1", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1", "VALUE:T1" ], [ "530", "990-991", "VALUE:T1", "VALUE:T1" ], [ "535", "990-991", "VALUE:T1", "VALUE:T1" ], [ "545", "990-991", "VALUE:T1", "VALUE:T1" ], [ "100", "992", "VALUE:T1", "VALUE:T1" ], [ "200", "992", "VALUE:T1", "VALUE:T1" ], [ "300", "992", "VALUE:T1", "VALUE:T1" ], [ "400", "992", "VALUE:T1", "VALUE:T1" ], [ "405", "992", "VALUE:T1", "VALUE:T1" ], [ "410", "992", "VALUE:T2", "VALUE:T2" ], [ "415", "992", "VALUE:T3", "VALUE:T3" ], [ "500", "992", "VALUE:T1", "VALUE:T1" ], [ "530", "992", "VALUE:T1", "VALUE:T1" ], [ "535", "992", "VALUE:T1", "VALUE:T1" ], [ "545", "992", "VALUE:T1", "VALUE:T1" ], [ "100", "993-994", "VALUE:T2", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2", "VALUE:T2" ], [ "400", "993-994", "VALUE:T2", "VALUE:T2" ], [ "405", "993-994", "VALUE:T1", "VALUE:T1" ], [ "410", "993-994", "VALUE:T2", "VALUE:T2" ], [ "415", "993-994", "VALUE:T3", "VALUE:T3" ], [ "500", "993-994", "VALUE:T2", "VALUE:T2" ], [ "530", "993-994", "VALUE:T2", "VALUE:T2" ], [ "535", "993-994", "VALUE:T2", "VALUE:T2" ], [ "545", "993-994", "VALUE:T2", "VALUE:T2" ], [ "100", "995", "VALUE:T3", "VALUE:T3" ], [ "200", "995", "VALUE:T3", "VALUE:T3" ], [ "300", "995", "VALUE:T3", "VALUE:T3" ], [ "400", "995", "VALUE:T3", "VALUE:T3" ], [ "405", "995", "VALUE:T1", "VALUE:T1" ], [ "410", "995", "VALUE:T2", "VALUE:T2" ], [ "415", "995", "VALUE:T3", "VALUE:T3" ], [ "500", "995", "VALUE:T3", "VALUE:T3" ], [ "530", "995", "VALUE:T3", "VALUE:T3" ], [ "535", "995", "VALUE:T3", "VALUE:T3" ], [ "545", "995", "VALUE:T3", "VALUE:T3" ], [ "100", "996", "VALUE:T3", "VALUE:T3" ], [ "200", "996", "VALUE:T3", "VALUE:T3" ], [ "300", "996", "VALUE:T3", "VALUE:T3" ], [ "400", "996", "VALUE:T3", "VALUE:T3" ], [ "405", "996", "VALUE:T3", "VALUE:T3" ], [ "410", "996", "VALUE:T3", "VALUE:T3" ], [ "415", "996", "VALUE:T3", "VALUE:T3" ], [ "500", "996", "VALUE:T3", "VALUE:T3" ], [ "530", "996", "VALUE:T3", "VALUE:T3" ], [ "535", "996", "VALUE:T3", "VALUE:T3" ], [ "545", "996", "VALUE:T3", "VALUE:T3" ], [ "100", "997-998", "ERROR:", "ERROR:" ], [ "200", "997-998", "ERROR:", "ERROR:" ], [ "300", "997-998", "ERROR:", "ERROR:" ], [ "400", "997-998", "ERROR:", "ERROR:" ], [ "405", "997-998", "ERROR:", "ERROR:" ], [ "410", "997-998", "ERROR:", "ERROR:" ], [ "415", "997-998", "ERROR:", "ERROR:" ], [ "500", "997-998", "ERROR:", "ERROR:" ], [ "530", "997-998", "ERROR:", "ERROR:" ], [ "535", "997-998", "ERROR:", "ERROR:" ], [ "545", "997-998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "200", "999", "VALUE:TX", "VALUE:TX" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ], [ "400", "999", "VALUE:TX", "VALUE:TX" ], [ "405", "999", "VALUE:T1", "VALUE:T1" ], [ "410", "999", "VALUE:T2", "VALUE:T2" ], [ "415", "999", "VALUE:T3", "VALUE:T3" ], [ "500", "999", "VALUE:TX", "VALUE:TX" ], [ "530", "999", "VALUE:TX", "VALUE:TX" ], [ "535", "999", "VALUE:TX", "VALUE:TX" ], [ "545", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xac.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xac.json deleted file mode 100644 index 565ca32ca..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xac.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100 through 605 ONLY, the T category is assigned based on value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:19.539Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "400", "000", "ERROR:", "ERROR:" ], [ "405", "000", "ERROR:", "ERROR:" ], [ "410", "000", "ERROR:", "ERROR:" ], [ "415", "000", "ERROR:", "ERROR:" ], [ "500", "000", "ERROR:", "ERROR:" ], [ "530", "000", "ERROR:", "ERROR:" ], [ "535", "000", "ERROR:", "ERROR:" ], [ "545", "000", "ERROR:", "ERROR:" ], [ "550", "000", "ERROR:", "ERROR:" ], [ "600", "000", "ERROR:", "ERROR:" ], [ "603", "000", "ERROR:", "ERROR:" ], [ "605", "000", "ERROR:", "ERROR:" ], [ "100", "001-020", "VALUE:T1", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1", "VALUE:T1" ], [ "405", "001-020", "VALUE:T1", "VALUE:T1" ], [ "410", "001-020", "VALUE:T1", "VALUE:T1" ], [ "415", "001-020", "VALUE:T1", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1", "VALUE:T1" ], [ "530", "001-020", "VALUE:T1", "VALUE:T1" ], [ "535", "001-020", "VALUE:T1", "VALUE:T1" ], [ "545", "001-020", "VALUE:T1", "VALUE:T1" ], [ "550", "001-020", "VALUE:T1", "VALUE:T1" ], [ "600", "001-020", "VALUE:T1", "VALUE:T1" ], [ "603", "001-020", "VALUE:T1", "VALUE:T1" ], [ "605", "001-020", "VALUE:T1", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2", "VALUE:T2" ], [ "400", "021-040", "VALUE:T2", "VALUE:T2" ], [ "405", "021-040", "VALUE:T2", "VALUE:T2" ], [ "410", "021-040", "VALUE:T2", "VALUE:T2" ], [ "415", "021-040", "VALUE:T2", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2", "VALUE:T2" ], [ "530", "021-040", "VALUE:T2", "VALUE:T2" ], [ "535", "021-040", "VALUE:T2", "VALUE:T2" ], [ "545", "021-040", "VALUE:T2", "VALUE:T2" ], [ "550", "021-040", "VALUE:T2", "VALUE:T2" ], [ "600", "021-040", "VALUE:T2", "VALUE:T2" ], [ "603", "021-040", "VALUE:T2", "VALUE:T2" ], [ "605", "021-040", "VALUE:T2", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3", "VALUE:T3" ], [ "400", "041-989", "VALUE:T3", "VALUE:T3" ], [ "405", "041-989", "VALUE:T3", "VALUE:T3" ], [ "410", "041-989", "VALUE:T3", "VALUE:T3" ], [ "415", "041-989", "VALUE:T3", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3", "VALUE:T3" ], [ "530", "041-989", "VALUE:T3", "VALUE:T3" ], [ "535", "041-989", "VALUE:T3", "VALUE:T3" ], [ "545", "041-989", "VALUE:T3", "VALUE:T3" ], [ "550", "041-989", "VALUE:T3", "VALUE:T3" ], [ "600", "041-989", "VALUE:T3", "VALUE:T3" ], [ "603", "041-989", "VALUE:T3", "VALUE:T3" ], [ "605", "041-989", "VALUE:T3", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1", "VALUE:T1" ], [ "405", "990-991", "VALUE:T1", "VALUE:T1" ], [ "410", "990-991", "VALUE:T1", "VALUE:T1" ], [ "415", "990-991", "VALUE:T1", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1", "VALUE:T1" ], [ "530", "990-991", "VALUE:T1", "VALUE:T1" ], [ "535", "990-991", "VALUE:T1", "VALUE:T1" ], [ "545", "990-991", "VALUE:T1", "VALUE:T1" ], [ "550", "990-991", "VALUE:T1", "VALUE:T1" ], [ "600", "990-991", "VALUE:T1", "VALUE:T1" ], [ "603", "990-991", "VALUE:T1", "VALUE:T1" ], [ "605", "990-991", "VALUE:T1", "VALUE:T1" ], [ "100", "992", "VALUE:T1", "VALUE:T1" ], [ "300", "992", "VALUE:T1", "VALUE:T1" ], [ "400", "992", "VALUE:T1", "VALUE:T1" ], [ "405", "992", "VALUE:T1", "VALUE:T1" ], [ "410", "992", "VALUE:T2", "VALUE:T2" ], [ "415", "992", "VALUE:T3", "VALUE:T3" ], [ "500", "992", "VALUE:T1", "VALUE:T1" ], [ "530", "992", "VALUE:T1", "VALUE:T1" ], [ "535", "992", "VALUE:T1", "VALUE:T1" ], [ "545", "992", "VALUE:T1", "VALUE:T1" ], [ "550", "992", "VALUE:T1", "VALUE:T1" ], [ "600", "992", "VALUE:T1", "VALUE:T1" ], [ "603", "992", "VALUE:T1", "VALUE:T1" ], [ "605", "992", "VALUE:T1", "VALUE:T1" ], [ "100", "993-994", "VALUE:T2", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2", "VALUE:T2" ], [ "400", "993-994", "VALUE:T2", "VALUE:T2" ], [ "405", "993-994", "VALUE:T1", "VALUE:T1" ], [ "410", "993-994", "VALUE:T2", "VALUE:T2" ], [ "415", "993-994", "VALUE:T3", "VALUE:T3" ], [ "500", "993-994", "VALUE:T2", "VALUE:T2" ], [ "530", "993-994", "VALUE:T2", "VALUE:T2" ], [ "535", "993-994", "VALUE:T2", "VALUE:T2" ], [ "545", "993-994", "VALUE:T2", "VALUE:T2" ], [ "550", "993-994", "VALUE:T2", "VALUE:T2" ], [ "600", "993-994", "VALUE:T2", "VALUE:T2" ], [ "603", "993-994", "VALUE:T2", "VALUE:T2" ], [ "605", "993-994", "VALUE:T2", "VALUE:T2" ], [ "100", "995", "VALUE:T3", "VALUE:T3" ], [ "300", "995", "VALUE:T3", "VALUE:T3" ], [ "400", "995", "VALUE:T3", "VALUE:T3" ], [ "405", "995", "VALUE:T1", "VALUE:T1" ], [ "410", "995", "VALUE:T2", "VALUE:T2" ], [ "415", "995", "VALUE:T3", "VALUE:T3" ], [ "500", "995", "VALUE:T3", "VALUE:T3" ], [ "530", "995", "VALUE:T3", "VALUE:T3" ], [ "535", "995", "VALUE:T3", "VALUE:T3" ], [ "545", "995", "VALUE:T3", "VALUE:T3" ], [ "550", "995", "VALUE:T3", "VALUE:T3" ], [ "600", "995", "VALUE:T3", "VALUE:T3" ], [ "603", "995", "VALUE:T3", "VALUE:T3" ], [ "605", "995", "VALUE:T3", "VALUE:T3" ], [ "100", "996", "VALUE:T3", "VALUE:T3" ], [ "300", "996", "VALUE:T3", "VALUE:T3" ], [ "400", "996", "VALUE:T3", "VALUE:T3" ], [ "405", "996", "VALUE:T3", "VALUE:T3" ], [ "410", "996", "VALUE:T3", "VALUE:T3" ], [ "415", "996", "VALUE:T3", "VALUE:T3" ], [ "500", "996", "VALUE:T3", "VALUE:T3" ], [ "530", "996", "VALUE:T3", "VALUE:T3" ], [ "535", "996", "VALUE:T3", "VALUE:T3" ], [ "545", "996", "VALUE:T3", "VALUE:T3" ], [ "550", "996", "VALUE:T3", "VALUE:T3" ], [ "600", "996", "VALUE:T3", "VALUE:T3" ], [ "603", "996", "VALUE:T3", "VALUE:T3" ], [ "605", "996", "VALUE:T3", "VALUE:T3" ], [ "100", "997-998", "ERROR:", "ERROR:" ], [ "300", "997-998", "ERROR:", "ERROR:" ], [ "400", "997-998", "ERROR:", "ERROR:" ], [ "405", "997-998", "ERROR:", "ERROR:" ], [ "410", "997-998", "ERROR:", "ERROR:" ], [ "415", "997-998", "ERROR:", "ERROR:" ], [ "500", "997-998", "ERROR:", "ERROR:" ], [ "530", "997-998", "ERROR:", "ERROR:" ], [ "535", "997-998", "ERROR:", "ERROR:" ], [ "545", "997-998", "ERROR:", "ERROR:" ], [ "550", "997-998", "ERROR:", "ERROR:" ], [ "600", "997-998", "ERROR:", "ERROR:" ], [ "603", "997-998", "ERROR:", "ERROR:" ], [ "605", "997-998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ], [ "400", "999", "VALUE:TX", "VALUE:TX" ], [ "405", "999", "VALUE:T1", "VALUE:T1" ], [ "410", "999", "VALUE:T2", "VALUE:T2" ], [ "415", "999", "VALUE:T3", "VALUE:T3" ], [ "500", "999", "VALUE:TX", "VALUE:TX" ], [ "530", "999", "VALUE:TX", "VALUE:TX" ], [ "535", "999", "VALUE:TX", "VALUE:TX" ], [ "545", "999", "VALUE:TX", "VALUE:TX" ], [ "550", "999", "VALUE:TX", "VALUE:TX" ], [ "600", "999", "VALUE:TX", "VALUE:TX" ], [ "603", "999", "VALUE:TX", "VALUE:TX" ], [ "605", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xad.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xad.json deleted file mode 100644 index f87a79b36..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xad.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xad", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100-605 ONLY , the T category is assigned based on value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:19.605Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "200", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "405", "000", "ERROR:", "ERROR:" ], [ "410", "000", "ERROR:", "ERROR:" ], [ "415", "000", "ERROR:", "ERROR:" ], [ "500", "000", "ERROR:", "ERROR:" ], [ "535", "000", "ERROR:", "ERROR:" ], [ "600", "000", "ERROR:", "ERROR:" ], [ "605", "000", "ERROR:", "ERROR:" ], [ "100", "001-020", "VALUE:T1", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1", "VALUE:T1" ], [ "405", "001-020", "VALUE:T1", "VALUE:T1" ], [ "410", "001-020", "VALUE:T1", "VALUE:T1" ], [ "415", "001-020", "VALUE:T1", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1", "VALUE:T1" ], [ "535", "001-020", "VALUE:T1", "VALUE:T1" ], [ "600", "001-020", "VALUE:T1", "VALUE:T1" ], [ "605", "001-020", "VALUE:T1", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2", "VALUE:T2" ], [ "200", "021-040", "VALUE:T2", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2", "VALUE:T2" ], [ "405", "021-040", "VALUE:T2", "VALUE:T2" ], [ "410", "021-040", "VALUE:T2", "VALUE:T2" ], [ "415", "021-040", "VALUE:T2", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2", "VALUE:T2" ], [ "535", "021-040", "VALUE:T2", "VALUE:T2" ], [ "600", "021-040", "VALUE:T2", "VALUE:T2" ], [ "605", "021-040", "VALUE:T2", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3", "VALUE:T3" ], [ "200", "041-989", "VALUE:T3", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3", "VALUE:T3" ], [ "405", "041-989", "VALUE:T3", "VALUE:T3" ], [ "410", "041-989", "VALUE:T3", "VALUE:T3" ], [ "415", "041-989", "VALUE:T3", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3", "VALUE:T3" ], [ "535", "041-989", "VALUE:T3", "VALUE:T3" ], [ "600", "041-989", "VALUE:T3", "VALUE:T3" ], [ "605", "041-989", "VALUE:T3", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1", "VALUE:T1" ], [ "405", "990-991", "VALUE:T1", "VALUE:T1" ], [ "410", "990-991", "VALUE:T1", "VALUE:T1" ], [ "415", "990-991", "VALUE:T1", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1", "VALUE:T1" ], [ "535", "990-991", "VALUE:T1", "VALUE:T1" ], [ "600", "990-991", "VALUE:T1", "VALUE:T1" ], [ "605", "990-991", "VALUE:T1", "VALUE:T1" ], [ "100", "992", "VALUE:T1", "VALUE:T1" ], [ "200", "992", "VALUE:T1", "VALUE:T1" ], [ "300", "992", "VALUE:T1", "VALUE:T1" ], [ "405", "992", "VALUE:T1", "VALUE:T1" ], [ "410", "992", "VALUE:T2", "VALUE:T2" ], [ "415", "992", "VALUE:T3", "VALUE:T3" ], [ "500", "992", "VALUE:T1", "VALUE:T1" ], [ "535", "992", "VALUE:T1", "VALUE:T1" ], [ "600", "992", "VALUE:T1", "VALUE:T1" ], [ "605", "992", "VALUE:T1", "VALUE:T1" ], [ "100", "993-994", "VALUE:T2", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2", "VALUE:T2" ], [ "405", "993-994", "VALUE:T2", "VALUE:T2" ], [ "410", "993-994", "VALUE:T2", "VALUE:T2" ], [ "415", "993-994", "VALUE:T2", "VALUE:T2" ], [ "500", "993-994", "VALUE:T2", "VALUE:T2" ], [ "535", "993-994", "VALUE:T2", "VALUE:T2" ], [ "600", "993-994", "VALUE:T2", "VALUE:T2" ], [ "605", "993-994", "VALUE:T2", "VALUE:T2" ], [ "100", "995", "VALUE:T3", "VALUE:T3" ], [ "200", "995", "VALUE:T3", "VALUE:T3" ], [ "300", "995", "VALUE:T3", "VALUE:T3" ], [ "405", "995", "VALUE:T1", "VALUE:T1" ], [ "410", "995", "VALUE:T2", "VALUE:T2" ], [ "415", "995", "VALUE:T3", "VALUE:T3" ], [ "500", "995", "VALUE:T3", "VALUE:T3" ], [ "535", "995", "VALUE:T3", "VALUE:T3" ], [ "600", "995", "VALUE:T3", "VALUE:T3" ], [ "605", "995", "VALUE:T3", "VALUE:T3" ], [ "100", "996", "VALUE:T3", "VALUE:T3" ], [ "200", "996", "VALUE:T3", "VALUE:T3" ], [ "300", "996", "VALUE:T3", "VALUE:T3" ], [ "405", "996", "VALUE:T3", "VALUE:T3" ], [ "410", "996", "VALUE:T3", "VALUE:T3" ], [ "415", "996", "VALUE:T3", "VALUE:T3" ], [ "500", "996", "VALUE:T3", "VALUE:T3" ], [ "535", "996", "VALUE:T3", "VALUE:T3" ], [ "600", "996", "VALUE:T3", "VALUE:T3" ], [ "605", "996", "VALUE:T3", "VALUE:T3" ], [ "100", "997-998", "ERROR:", "ERROR:" ], [ "200", "997-998", "ERROR:", "ERROR:" ], [ "300", "997-998", "ERROR:", "ERROR:" ], [ "405", "997-998", "ERROR:", "ERROR:" ], [ "410", "997-998", "ERROR:", "ERROR:" ], [ "415", "997-998", "ERROR:", "ERROR:" ], [ "500", "997-998", "ERROR:", "ERROR:" ], [ "535", "997-998", "ERROR:", "ERROR:" ], [ "600", "997-998", "ERROR:", "ERROR:" ], [ "605", "997-998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "200", "999", "VALUE:TX", "VALUE:TX" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ], [ "405", "999", "VALUE:T1", "VALUE:T1" ], [ "410", "999", "VALUE:T2", "VALUE:T2" ], [ "415", "999", "VALUE:T3", "VALUE:T3" ], [ "500", "999", "VALUE:TX", "VALUE:TX" ], [ "535", "999", "VALUE:TX", "VALUE:TX" ], [ "600", "999", "VALUE:TX", "VALUE:TX" ], [ "605", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xae.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xae.json deleted file mode 100644 index 809ed4818..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xae.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xae", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100-535 ONLY, the T category is assigned based on the value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:19.662Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "400", "000", "ERROR:", "ERROR:" ], [ "405", "000", "ERROR:", "ERROR:" ], [ "410", "000", "ERROR:", "ERROR:" ], [ "415", "000", "ERROR:", "ERROR:" ], [ "500", "000", "ERROR:", "ERROR:" ], [ "535", "000", "ERROR:", "ERROR:" ], [ "100", "001-020", "VALUE:T1", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1", "VALUE:T1" ], [ "405", "001-020", "VALUE:T1", "VALUE:T1" ], [ "410", "001-020", "VALUE:T1", "VALUE:T1" ], [ "415", "001-020", "VALUE:T1", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1", "VALUE:T1" ], [ "535", "001-020", "VALUE:T1", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2", "VALUE:T2" ], [ "400", "021-040", "VALUE:T2", "VALUE:T2" ], [ "405", "021-040", "VALUE:T2", "VALUE:T2" ], [ "410", "021-040", "VALUE:T2", "VALUE:T2" ], [ "415", "021-040", "VALUE:T2", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2", "VALUE:T2" ], [ "535", "021-040", "VALUE:T2", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3", "VALUE:T3" ], [ "400", "041-989", "VALUE:T3", "VALUE:T3" ], [ "405", "041-989", "VALUE:T3", "VALUE:T3" ], [ "410", "041-989", "VALUE:T3", "VALUE:T3" ], [ "415", "041-989", "VALUE:T3", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3", "VALUE:T3" ], [ "535", "041-989", "VALUE:T3", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1", "VALUE:T1" ], [ "405", "990-991", "VALUE:T1", "VALUE:T1" ], [ "410", "990-991", "VALUE:T1", "VALUE:T1" ], [ "415", "990-991", "VALUE:T1", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1", "VALUE:T1" ], [ "535", "990-991", "VALUE:T1", "VALUE:T1" ], [ "100", "992", "VALUE:T1", "VALUE:T1" ], [ "300", "992", "VALUE:T1", "VALUE:T1" ], [ "400", "992", "VALUE:T1", "VALUE:T1" ], [ "405", "992", "VALUE:T1", "VALUE:T1" ], [ "410", "992", "VALUE:T2", "VALUE:T2" ], [ "415", "992", "VALUE:T3", "VALUE:T3" ], [ "500", "992", "VALUE:T1", "VALUE:T1" ], [ "535", "992", "VALUE:T1", "VALUE:T1" ], [ "100", "993-994", "VALUE:T2", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2", "VALUE:T2" ], [ "400", "993-994", "VALUE:T2", "VALUE:T2" ], [ "405", "993-994", "VALUE:T1", "VALUE:T1" ], [ "410", "993-994", "VALUE:T2", "VALUE:T2" ], [ "415", "993-994", "VALUE:T2", "VALUE:T2" ], [ "500", "993-994", "VALUE:T2", "VALUE:T2" ], [ "535", "993-994", "VALUE:T2", "VALUE:T2" ], [ "100", "995", "VALUE:T3", "VALUE:T3" ], [ "300", "995", "VALUE:T3", "VALUE:T3" ], [ "400", "995", "VALUE:T3", "VALUE:T3" ], [ "405", "995", "VALUE:T1", "VALUE:T1" ], [ "410", "995", "VALUE:T2", "VALUE:T2" ], [ "415", "995", "VALUE:T3", "VALUE:T3" ], [ "500", "995", "VALUE:T3", "VALUE:T3" ], [ "535", "995", "VALUE:T3", "VALUE:T3" ], [ "100", "996", "VALUE:T3", "VALUE:T3" ], [ "300", "996", "VALUE:T3", "VALUE:T3" ], [ "400", "996", "VALUE:T3", "VALUE:T3" ], [ "405", "996", "VALUE:T3", "VALUE:T3" ], [ "410", "996", "VALUE:T3", "VALUE:T3" ], [ "415", "996", "VALUE:T3", "VALUE:T3" ], [ "500", "996", "VALUE:T3", "VALUE:T3" ], [ "535", "996", "VALUE:T3", "VALUE:T3" ], [ "100", "997-998", "ERROR:", "ERROR:" ], [ "300", "997-998", "ERROR:", "ERROR:" ], [ "400", "997-998", "ERROR:", "ERROR:" ], [ "405", "997-998", "ERROR:", "ERROR:" ], [ "410", "997-998", "ERROR:", "ERROR:" ], [ "415", "997-998", "ERROR:", "ERROR:" ], [ "500", "997-998", "ERROR:", "ERROR:" ], [ "535", "997-998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ], [ "400", "999", "VALUE:TX", "VALUE:TX" ], [ "405", "999", "VALUE:T1", "VALUE:T1" ], [ "410", "999", "VALUE:T2", "VALUE:T2" ], [ "415", "999", "VALUE:T3", "VALUE:T3" ], [ "500", "999", "VALUE:TX", "VALUE:TX" ], [ "535", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xaf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xaf.json deleted file mode 100644 index 25e43cc72..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xaf.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xaf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100, 200, and 300 ONLY, the T category is assigned based on the value of CS Tumor Size and CS Extension as shown in this table.", - "last_modified" : "2015-05-27T16:19:19.719Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "200", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "100", "001-015", "VALUE:T1", "VALUE:T1" ], [ "200", "001-015", "VALUE:T1", "VALUE:T1" ], [ "300", "001-015", "VALUE:T1", "VALUE:T1" ], [ "100", "016-989", "VALUE:T2", "VALUE:T2" ], [ "200", "016-989", "VALUE:T2", "VALUE:T2" ], [ "300", "016-989", "VALUE:T2", "VALUE:T2" ], [ "100", "990-991", "VALUE:T1", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1", "VALUE:T1" ], [ "100", "992", "VALUE:T2", "VALUE:T2" ], [ "200", "992", "VALUE:T1", "VALUE:T1" ], [ "300", "992", "VALUE:T2", "VALUE:T2" ], [ "100", "993-995", "VALUE:T2", "VALUE:T2" ], [ "200", "993-995", "VALUE:T2", "VALUE:T2" ], [ "300", "993-995", "VALUE:T2", "VALUE:T2" ], [ "100", "996-998", "ERROR:", "ERROR:" ], [ "200", "996-998", "ERROR:", "ERROR:" ], [ "300", "996-998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "200", "999", "VALUE:T1", "VALUE:T1" ], [ "300", "999", "VALUE:T2", "VALUE:T2" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xag.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xag.json deleted file mode 100644 index 57e2cb79b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xag.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xag", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100-620 ONLY, the T category is assigned based on the value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:19.774Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "200", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "405", "000", "ERROR:", "ERROR:" ], [ "410", "000", "ERROR:", "ERROR:" ], [ "415", "000", "ERROR:", "ERROR:" ], [ "500", "000", "ERROR:", "ERROR:" ], [ "510", "000", "ERROR:", "ERROR:" ], [ "525", "000", "ERROR:", "ERROR:" ], [ "550", "000", "ERROR:", "ERROR:" ], [ "600", "000", "ERROR:", "ERROR:" ], [ "603", "000", "ERROR:", "ERROR:" ], [ "605", "000", "ERROR:", "ERROR:" ], [ "620", "000", "ERROR:", "ERROR:" ], [ "100", "001-020", "VALUE:T1", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1", "VALUE:T1" ], [ "405", "001-020", "VALUE:T1", "VALUE:T1" ], [ "410", "001-020", "VALUE:T1", "VALUE:T1" ], [ "415", "001-020", "VALUE:T1", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1", "VALUE:T1" ], [ "510", "001-020", "VALUE:T1", "VALUE:T1" ], [ "525", "001-020", "VALUE:T1", "VALUE:T1" ], [ "550", "001-020", "VALUE:T1", "VALUE:T1" ], [ "600", "001-020", "VALUE:T1", "VALUE:T1" ], [ "603", "001-020", "VALUE:T1", "VALUE:T1" ], [ "605", "001-020", "VALUE:T1", "VALUE:T1" ], [ "620", "001-020", "VALUE:T1", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2", "VALUE:T2" ], [ "200", "021-040", "VALUE:T2", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2", "VALUE:T2" ], [ "405", "021-040", "VALUE:T2", "VALUE:T2" ], [ "410", "021-040", "VALUE:T2", "VALUE:T2" ], [ "415", "021-040", "VALUE:T2", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2", "VALUE:T2" ], [ "510", "021-040", "VALUE:T2", "VALUE:T2" ], [ "525", "021-040", "VALUE:T2", "VALUE:T2" ], [ "550", "021-040", "VALUE:T2", "VALUE:T2" ], [ "600", "021-040", "VALUE:T2", "VALUE:T2" ], [ "603", "021-040", "VALUE:T2", "VALUE:T2" ], [ "605", "021-040", "VALUE:T2", "VALUE:T2" ], [ "620", "021-040", "VALUE:T2", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3", "VALUE:T3" ], [ "200", "041-989", "VALUE:T3", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3", "VALUE:T3" ], [ "405", "041-989", "VALUE:T3", "VALUE:T3" ], [ "410", "041-989", "VALUE:T3", "VALUE:T3" ], [ "415", "041-989", "VALUE:T3", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3", "VALUE:T3" ], [ "510", "041-989", "VALUE:T3", "VALUE:T3" ], [ "525", "041-989", "VALUE:T3", "VALUE:T3" ], [ "550", "041-989", "VALUE:T3", "VALUE:T3" ], [ "600", "041-989", "VALUE:T3", "VALUE:T3" ], [ "603", "041-989", "VALUE:T3", "VALUE:T3" ], [ "605", "041-989", "VALUE:T3", "VALUE:T3" ], [ "620", "041-989", "VALUE:T3", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1", "VALUE:T1" ], [ "405", "990-991", "VALUE:T1", "VALUE:T1" ], [ "410", "990-991", "VALUE:T1", "VALUE:T1" ], [ "415", "990-991", "VALUE:T1", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1", "VALUE:T1" ], [ "510", "990-991", "VALUE:T1", "VALUE:T1" ], [ "525", "990-991", "VALUE:T1", "VALUE:T1" ], [ "550", "990-991", "VALUE:T1", "VALUE:T1" ], [ "600", "990-991", "VALUE:T1", "VALUE:T1" ], [ "603", "990-991", "VALUE:T1", "VALUE:T1" ], [ "605", "990-991", "VALUE:T1", "VALUE:T1" ], [ "620", "990-991", "VALUE:T1", "VALUE:T1" ], [ "100", "992", "VALUE:T1", "VALUE:T1" ], [ "200", "992", "VALUE:T1", "VALUE:T1" ], [ "300", "992", "VALUE:T1", "VALUE:T1" ], [ "405", "992", "VALUE:T1", "VALUE:T1" ], [ "410", "992", "VALUE:T2", "VALUE:T2" ], [ "415", "992", "VALUE:T3", "VALUE:T3" ], [ "500", "992", "VALUE:T1", "VALUE:T1" ], [ "510", "992", "VALUE:T1", "VALUE:T1" ], [ "525", "992", "VALUE:T1", "VALUE:T1" ], [ "550", "992", "VALUE:T1", "VALUE:T1" ], [ "600", "992", "VALUE:T1", "VALUE:T1" ], [ "603", "992", "VALUE:T1", "VALUE:T1" ], [ "605", "992", "VALUE:T1", "VALUE:T1" ], [ "620", "992", "VALUE:T1", "VALUE:T1" ], [ "100", "993-994", "VALUE:T2", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2", "VALUE:T2" ], [ "405", "993-994", "VALUE:T1", "VALUE:T1" ], [ "410", "993-994", "VALUE:T2", "VALUE:T2" ], [ "415", "993-994", "VALUE:T3", "VALUE:T3" ], [ "500", "993-994", "VALUE:T2", "VALUE:T2" ], [ "510", "993-994", "VALUE:T2", "VALUE:T2" ], [ "525", "993-994", "VALUE:T2", "VALUE:T2" ], [ "550", "993-994", "VALUE:T2", "VALUE:T2" ], [ "600", "993-994", "VALUE:T2", "VALUE:T2" ], [ "603", "993-994", "VALUE:T2", "VALUE:T2" ], [ "605", "993-994", "VALUE:T2", "VALUE:T2" ], [ "620", "993-994", "VALUE:T2", "VALUE:T2" ], [ "100", "995", "VALUE:T3", "VALUE:T3" ], [ "200", "995", "VALUE:T3", "VALUE:T3" ], [ "300", "995", "VALUE:T3", "VALUE:T3" ], [ "405", "995", "VALUE:T1", "VALUE:T1" ], [ "410", "995", "VALUE:T2", "VALUE:T2" ], [ "415", "995", "VALUE:T3", "VALUE:T3" ], [ "500", "995", "VALUE:T3", "VALUE:T3" ], [ "510", "995", "VALUE:T3", "VALUE:T3" ], [ "525", "995", "VALUE:T3", "VALUE:T3" ], [ "550", "995", "VALUE:T3", "VALUE:T3" ], [ "600", "995", "VALUE:T3", "VALUE:T3" ], [ "603", "995", "VALUE:T3", "VALUE:T3" ], [ "605", "995", "VALUE:T3", "VALUE:T3" ], [ "620", "995", "VALUE:T3", "VALUE:T3" ], [ "100", "996", "VALUE:T3", "VALUE:T3" ], [ "200", "996", "VALUE:T3", "VALUE:T3" ], [ "300", "996", "VALUE:T3", "VALUE:T3" ], [ "405", "996", "VALUE:T3", "VALUE:T3" ], [ "410", "996", "VALUE:T3", "VALUE:T3" ], [ "415", "996", "VALUE:T3", "VALUE:T3" ], [ "500", "996", "VALUE:T3", "VALUE:T3" ], [ "510", "996", "VALUE:T3", "VALUE:T3" ], [ "525", "996", "VALUE:T3", "VALUE:T3" ], [ "550", "996", "VALUE:T3", "VALUE:T3" ], [ "600", "996", "VALUE:T3", "VALUE:T3" ], [ "603", "996", "VALUE:T3", "VALUE:T3" ], [ "605", "996", "VALUE:T3", "VALUE:T3" ], [ "620", "996", "VALUE:T3", "VALUE:T3" ], [ "100", "997-998", "ERROR:", "ERROR:" ], [ "200", "997-998", "ERROR:", "ERROR:" ], [ "300", "997-998", "ERROR:", "ERROR:" ], [ "405", "997-998", "ERROR:", "ERROR:" ], [ "410", "997-998", "ERROR:", "ERROR:" ], [ "415", "997-998", "ERROR:", "ERROR:" ], [ "500", "997-998", "ERROR:", "ERROR:" ], [ "510", "997-998", "ERROR:", "ERROR:" ], [ "525", "997-998", "ERROR:", "ERROR:" ], [ "550", "997-998", "ERROR:", "ERROR:" ], [ "600", "997-998", "ERROR:", "ERROR:" ], [ "603", "997-998", "ERROR:", "ERROR:" ], [ "605", "997-998", "ERROR:", "ERROR:" ], [ "620", "997-998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "200", "999", "VALUE:TX", "VALUE:TX" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ], [ "405", "999", "VALUE:T1", "VALUE:T1" ], [ "410", "999", "VALUE:T2", "VALUE:T2" ], [ "415", "999", "VALUE:T3", "VALUE:T3" ], [ "500", "999", "VALUE:TX", "VALUE:TX" ], [ "510", "999", "VALUE:TX", "VALUE:TX" ], [ "525", "999", "VALUE:TX", "VALUE:TX" ], [ "550", "999", "VALUE:TX", "VALUE:TX" ], [ "600", "999", "VALUE:TX", "VALUE:TX" ], [ "603", "999", "VALUE:TX", "VALUE:TX" ], [ "605", "999", "VALUE:TX", "VALUE:TX" ], [ "620", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xar.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xar.json deleted file mode 100644 index 96049d885..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xar.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xar", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100-140, 200, and 300 ONLY, the T category for AJCC 6 and AJCC 7 staging is assigned based on the value of CS Tumor Size, as shown in the this table. A CS Tumor Size code takes precedence over a CS Extension \"stated as T\" code; however, if CS Tumor Size is coded as unknown, the T category may be assigned based on \"stated as T\" recorded in CS Extension.", - "last_modified" : "2015-05-27T16:19:19.840Z", - "definition" : [ { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "100", "ERROR:", "ERROR:" ], [ "001", "100", "VALUE:T1mi", "VALUE:T1mi" ], [ "002-005", "100", "VALUE:T1a", "VALUE:T1a" ], [ "006-010", "100", "VALUE:T1b", "VALUE:T1b" ], [ "011-020", "100", "VALUE:T1c", "VALUE:T1c" ], [ "021-050", "100", "VALUE:T2", "VALUE:T2" ], [ "051-989", "100", "VALUE:T3", "VALUE:T3" ], [ "990", "100", "VALUE:T1mi", "VALUE:T1mi" ], [ "991", "100", "VALUE:T1b", "VALUE:T1b" ], [ "992", "100", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "993-995", "100", "VALUE:T2", "VALUE:T2" ], [ "996", "100", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "997", "100", "ERROR:", "ERROR:" ], [ "998", "100", "VALUE:T3", "VALUE:T3" ], [ "999", "100", "VALUE:TX", "VALUE:TX" ], [ "000", "110", "ERROR:", "ERROR:" ], [ "001", "110", "VALUE:T1mi", "VALUE:T1mi" ], [ "002-005", "110", "VALUE:T1a", "VALUE:T1a" ], [ "006-010", "110", "VALUE:T1b", "VALUE:T1b" ], [ "011-020", "110", "VALUE:T1c", "VALUE:T1c" ], [ "021-050", "110", "VALUE:T2", "VALUE:T2" ], [ "051-989", "110", "VALUE:T3", "VALUE:T3" ], [ "990", "110", "VALUE:T1mi", "VALUE:T1mi" ], [ "991", "110", "VALUE:T1b", "VALUE:T1b" ], [ "992", "110", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "993-995", "110", "VALUE:T2", "VALUE:T2" ], [ "996", "110", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "997", "110", "ERROR:", "ERROR:" ], [ "998", "110", "VALUE:T3", "VALUE:T3" ], [ "999", "110", "VALUE:T1mi", "VALUE:T1mi" ], [ "000", "120", "ERROR:", "ERROR:" ], [ "001", "120", "VALUE:T1mi", "VALUE:T1mi" ], [ "002-005", "120", "VALUE:T1a", "VALUE:T1a" ], [ "006-010", "120", "VALUE:T1b", "VALUE:T1b" ], [ "011-020", "120", "VALUE:T1c", "VALUE:T1c" ], [ "021-050", "120", "VALUE:T2", "VALUE:T2" ], [ "051-989", "120", "VALUE:T3", "VALUE:T3" ], [ "990", "120", "VALUE:T1mi", "VALUE:T1mi" ], [ "991", "120", "VALUE:T1b", "VALUE:T1b" ], [ "992", "120", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "993-995", "120", "VALUE:T2", "VALUE:T2" ], [ "996", "120", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "997", "120", "ERROR:", "ERROR:" ], [ "998", "120", "VALUE:T3", "VALUE:T3" ], [ "999", "120", "VALUE:T1a", "VALUE:T1a" ], [ "000", "130", "ERROR:", "ERROR:" ], [ "001", "130", "VALUE:T1mi", "VALUE:T1mi" ], [ "002-005", "130", "VALUE:T1a", "VALUE:T1a" ], [ "006-010", "130", "VALUE:T1b", "VALUE:T1b" ], [ "011-020", "130", "VALUE:T1c", "VALUE:T1c" ], [ "021-050", "130", "VALUE:T2", "VALUE:T2" ], [ "051-989", "130", "VALUE:T3", "VALUE:T3" ], [ "990", "130", "VALUE:T1mi", "VALUE:T1mi" ], [ "991", "130", "VALUE:T1b", "VALUE:T1b" ], [ "992", "130", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "993-995", "130", "VALUE:T2", "VALUE:T2" ], [ "996", "130", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "997", "130", "ERROR:", "ERROR:" ], [ "998", "130", "VALUE:T3", "VALUE:T3" ], [ "999", "130", "VALUE:T1b", "VALUE:T1b" ], [ "000", "140", "ERROR:", "ERROR:" ], [ "001", "140", "VALUE:T1mi", "VALUE:T1mi" ], [ "002-005", "140", "VALUE:T1a", "VALUE:T1a" ], [ "006-010", "140", "VALUE:T1b", "VALUE:T1b" ], [ "011-020", "140", "VALUE:T1c", "VALUE:T1c" ], [ "021-050", "140", "VALUE:T2", "VALUE:T2" ], [ "051-989", "140", "VALUE:T3", "VALUE:T3" ], [ "990", "140", "VALUE:T1mi", "VALUE:T1mi" ], [ "991", "140", "VALUE:T1b", "VALUE:T1b" ], [ "992", "140", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "993-995", "140", "VALUE:T2", "VALUE:T2" ], [ "996", "140", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "997", "140", "ERROR:", "ERROR:" ], [ "998", "140", "VALUE:T3", "VALUE:T3" ], [ "999", "140", "VALUE:T1c", "VALUE:T1c" ], [ "000", "200", "ERROR:", "ERROR:" ], [ "001", "200", "VALUE:T1mi", "VALUE:T1mi" ], [ "002-005", "200", "VALUE:T1a", "VALUE:T1a" ], [ "006-010", "200", "VALUE:T1b", "VALUE:T1b" ], [ "011-020", "200", "VALUE:T1c", "VALUE:T1c" ], [ "021-050", "200", "VALUE:T2", "VALUE:T2" ], [ "051-989", "200", "VALUE:T3", "VALUE:T3" ], [ "990", "200", "VALUE:T1mi", "VALUE:T1mi" ], [ "991", "200", "VALUE:T1b", "VALUE:T1b" ], [ "992", "200", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "993-995", "200", "VALUE:T2", "VALUE:T2" ], [ "996", "200", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "997", "200", "ERROR:", "ERROR:" ], [ "998", "200", "VALUE:T3", "VALUE:T3" ], [ "999", "200", "VALUE:TX", "VALUE:TX" ], [ "000", "300", "ERROR:", "ERROR:" ], [ "001", "300", "VALUE:T1mi", "VALUE:T1mi" ], [ "002-005", "300", "VALUE:T1a", "VALUE:T1a" ], [ "006-010", "300", "VALUE:T1b", "VALUE:T1b" ], [ "011-020", "300", "VALUE:T1c", "VALUE:T1c" ], [ "021-050", "300", "VALUE:T2", "VALUE:T2" ], [ "051-989", "300", "VALUE:T3", "VALUE:T3" ], [ "990", "300", "VALUE:T1mi", "VALUE:T1mi" ], [ "991", "300", "VALUE:T1b", "VALUE:T1b" ], [ "992", "300", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "993-995", "300", "VALUE:T2", "VALUE:T2" ], [ "996", "300", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "997", "300", "ERROR:", "ERROR:" ], [ "998", "300", "VALUE:T3", "VALUE:T3" ], [ "999", "300", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xbq.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xbq.json deleted file mode 100644 index bcfb1d7b4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xbq.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xbq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For Extension codes 100, 200, 300, 305, 400, 420, 450, and 500 ONLY, the T category is assigned based on the value of CS Tumor Size and CS Extension as shown here.", - "last_modified" : "2015-05-27T16:19:19.898Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "200", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "305", "000", "ERROR:", "ERROR:" ], [ "400", "000", "ERROR:", "ERROR:" ], [ "420", "000", "ERROR:", "ERROR:" ], [ "450", "000", "ERROR:", "ERROR:" ], [ "455", "000", "ERROR:", "ERROR:" ], [ "500", "000", "ERROR:", "ERROR:" ], [ "100", "001-020", "VALUE:T1", "VALUE:T1" ], [ "200", "001-020", "VALUE:T2", "VALUE:T2" ], [ "300", "001-020", "VALUE:T1", "VALUE:T1" ], [ "305", "001-020", "VALUE:T1", "VALUE:T1" ], [ "400", "001-020", "VALUE:T2", "VALUE:T2" ], [ "420", "001-020", "VALUE:T1", "VALUE:T1" ], [ "450", "001-020", "VALUE:T2", "VALUE:T2" ], [ "455", "001-020", "VALUE:T2", "VALUE:T2" ], [ "500", "001-020", "VALUE:T2", "VALUE:T2" ], [ "100", "021-040", "VALUE:T2", "VALUE:T2" ], [ "200", "021-040", "VALUE:T2", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2", "VALUE:T2" ], [ "305", "021-040", "VALUE:T2", "VALUE:T2" ], [ "400", "021-040", "VALUE:T2", "VALUE:T2" ], [ "420", "021-040", "VALUE:T2", "VALUE:T2" ], [ "450", "021-040", "VALUE:T2", "VALUE:T2" ], [ "455", "021-040", "VALUE:T2", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3", "VALUE:T3" ], [ "200", "041-989", "VALUE:T3", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3", "VALUE:T3" ], [ "305", "041-989", "VALUE:T3", "VALUE:T3" ], [ "400", "041-989", "VALUE:T3", "VALUE:T3" ], [ "420", "041-989", "VALUE:T3", "VALUE:T3" ], [ "450", "041-989", "VALUE:T3", "VALUE:T3" ], [ "455", "041-989", "VALUE:T3", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3", "VALUE:T3" ], [ "100", "990-992", "VALUE:T1", "VALUE:T1" ], [ "200", "990-992", "VALUE:T2", "VALUE:T2" ], [ "300", "990-992", "VALUE:T1", "VALUE:T1" ], [ "305", "990-992", "VALUE:T1", "VALUE:T1" ], [ "400", "990-992", "VALUE:T2", "VALUE:T2" ], [ "420", "990-992", "VALUE:T1", "VALUE:T1" ], [ "450", "990-992", "VALUE:T2", "VALUE:T2" ], [ "455", "990-992", "VALUE:T2", "VALUE:T2" ], [ "500", "990-992", "VALUE:T2", "VALUE:T2" ], [ "100", "993-994", "VALUE:T2", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2", "VALUE:T2" ], [ "305", "993-994", "VALUE:T2", "VALUE:T2" ], [ "400", "993-994", "VALUE:T2", "VALUE:T2" ], [ "420", "993-994", "VALUE:T2", "VALUE:T2" ], [ "450", "993-994", "VALUE:T2", "VALUE:T2" ], [ "455", "993-994", "VALUE:T2", "VALUE:T2" ], [ "500", "993-994", "VALUE:T2", "VALUE:T2" ], [ "100", "995", "VALUE:T3", "VALUE:T3" ], [ "200", "995", "VALUE:T3", "VALUE:T3" ], [ "300", "995", "VALUE:T3", "VALUE:T3" ], [ "305", "995", "VALUE:T3", "VALUE:T3" ], [ "400", "995", "VALUE:T3", "VALUE:T3" ], [ "420", "995", "VALUE:T3", "VALUE:T3" ], [ "450", "995", "VALUE:T3", "VALUE:T3" ], [ "455", "995", "VALUE:T3", "VALUE:T3" ], [ "500", "995", "VALUE:T3", "VALUE:T3" ], [ "100", "996-998", "ERROR:", "ERROR:" ], [ "200", "996-998", "ERROR:", "ERROR:" ], [ "300", "996-998", "ERROR:", "ERROR:" ], [ "305", "996-998", "ERROR:", "ERROR:" ], [ "400", "996-998", "ERROR:", "ERROR:" ], [ "420", "996-998", "ERROR:", "ERROR:" ], [ "450", "996-998", "ERROR:", "ERROR:" ], [ "455", "996-998", "ERROR:", "ERROR:" ], [ "500", "996-998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "200", "999", "VALUE:T2", "VALUE:T2" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ], [ "305", "999", "VALUE:T1", "VALUE:T1" ], [ "400", "999", "VALUE:T2", "VALUE:T2" ], [ "420", "999", "VALUE:TX", "VALUE:TX" ], [ "450", "999", "VALUE:T2", "VALUE:T2" ], [ "455", "999", "VALUE:T2", "VALUE:T2" ], [ "500", "999", "VALUE:T2", "VALUE:T2" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xdb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xdb.json deleted file mode 100644 index 9012c0cae..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xdb.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xdb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100, 400, 500, 600, 610, and 620 ONLY, the T category is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:19.946Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "400", "000", "ERROR:", "ERROR:" ], [ "500", "000", "ERROR:", "ERROR:" ], [ "600", "000", "ERROR:", "ERROR:" ], [ "610", "000", "ERROR:", "ERROR:" ], [ "620", "000", "ERROR:", "ERROR:" ], [ "100", "001-020", "VALUE:T1", "VALUE:T1" ], [ "400", "001-020", "VALUE:T1", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1", "VALUE:T1" ], [ "600", "001-020", "VALUE:T1", "VALUE:T1" ], [ "610", "001-020", "VALUE:T1", "VALUE:T1" ], [ "620", "001-020", "VALUE:T1", "VALUE:T1" ], [ "100", "021-050", "VALUE:T2", "VALUE:T2" ], [ "400", "021-050", "VALUE:T2", "VALUE:T2" ], [ "500", "021-050", "VALUE:T2", "VALUE:T2" ], [ "600", "021-050", "VALUE:T2", "VALUE:T2" ], [ "610", "021-050", "VALUE:T2", "VALUE:T2" ], [ "620", "021-050", "VALUE:T2", "VALUE:T2" ], [ "100", "051-989", "VALUE:T3", "VALUE:T3" ], [ "400", "051-989", "VALUE:T3", "VALUE:T3" ], [ "500", "051-989", "VALUE:T3", "VALUE:T3" ], [ "600", "051-989", "VALUE:T3", "VALUE:T3" ], [ "610", "051-989", "VALUE:T3", "VALUE:T3" ], [ "620", "051-989", "VALUE:T3", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1", "VALUE:T1" ], [ "400", "990-991", "VALUE:T1", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1", "VALUE:T1" ], [ "600", "990-991", "VALUE:T1", "VALUE:T1" ], [ "610", "990-991", "VALUE:T1", "VALUE:T1" ], [ "620", "990-991", "VALUE:T1", "VALUE:T1" ], [ "100", "992", "VALUE:T1", "VALUE:T1" ], [ "400", "992", "VALUE:T1", "VALUE:T1" ], [ "500", "992", "VALUE:T1", "VALUE:T1" ], [ "600", "992", "VALUE:T1", "VALUE:T1" ], [ "610", "992", "VALUE:T2", "VALUE:T2" ], [ "620", "992", "VALUE:T3", "VALUE:T3" ], [ "100", "993-994", "VALUE:T2", "VALUE:T2" ], [ "400", "993-994", "VALUE:T2", "VALUE:T2" ], [ "500", "993-994", "VALUE:T2", "VALUE:T2" ], [ "600", "993-994", "VALUE:T2", "VALUE:T2" ], [ "610", "993-994", "VALUE:T2", "VALUE:T2" ], [ "620", "993-994", "VALUE:T3", "VALUE:T3" ], [ "100", "995", "VALUE:T2", "VALUE:T2" ], [ "400", "995", "VALUE:T2", "VALUE:T2" ], [ "500", "995", "VALUE:T2", "VALUE:T2" ], [ "600", "995", "VALUE:T2", "VALUE:T2" ], [ "610", "995", "VALUE:T2", "VALUE:T2" ], [ "620", "995", "VALUE:T3", "VALUE:T3" ], [ "100", "996", "VALUE:T3", "VALUE:T3" ], [ "400", "996", "VALUE:T3", "VALUE:T3" ], [ "500", "996", "VALUE:T3", "VALUE:T3" ], [ "600", "996", "VALUE:T3", "VALUE:T3" ], [ "610", "996", "VALUE:T3", "VALUE:T3" ], [ "620", "996", "VALUE:T3", "VALUE:T3" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "400", "999", "VALUE:TX", "VALUE:TX" ], [ "500", "999", "VALUE:TX", "VALUE:TX" ], [ "600", "999", "VALUE:T1", "VALUE:T1" ], [ "610", "999", "VALUE:T2", "VALUE:T2" ], [ "620", "999", "VALUE:T3", "VALUE:T3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xde.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xde.json deleted file mode 100644 index 40cc58ca4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xde.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_xde", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100-300 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Tumor Size and CS Extension, as shown in this table.", - "last_modified" : "2015-05-27T16:19:19.997Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "100", "001-050", "VALUE:T1" ], [ "200", "001-050", "VALUE:T1" ], [ "250", "001-050", "VALUE:T1" ], [ "300", "001-050", "VALUE:T1" ], [ "100", "051-989", "VALUE:T2" ], [ "200", "051-989", "VALUE:T2" ], [ "250", "051-989", "VALUE:T2" ], [ "300", "051-989", "VALUE:T2" ], [ "100", "990-991", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1" ], [ "250", "990-991", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1" ], [ "100", "992-994", "VALUE:T1" ], [ "200", "992-994", "VALUE:T1" ], [ "250", "992-994", "VALUE:T1" ], [ "300", "992-994", "VALUE:T1" ], [ "100", "995", "VALUE:T1" ], [ "200", "995", "VALUE:T1" ], [ "250", "995", "VALUE:T2" ], [ "300", "995", "VALUE:T1" ], [ "100", "996", "VALUE:T2" ], [ "200", "996", "VALUE:T1" ], [ "250", "996", "VALUE:T2" ], [ "300", "996", "VALUE:T2" ], [ "100", "997-998", "ERROR:" ], [ "200", "997-998", "ERROR:" ], [ "250", "997-998", "ERROR:" ], [ "300", "997-998", "ERROR:" ], [ "100", "999", "VALUE:TX" ], [ "200", "999", "VALUE:T1" ], [ "250", "999", "VALUE:T2" ], [ "300", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xfn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xfn.json deleted file mode 100644 index 70163e81e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xfn.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xfn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100-800, the T category is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:20.041Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "110", "000", "ERROR:", "ERROR:" ], [ "120", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "302", "000", "ERROR:", "ERROR:" ], [ "305", "000", "ERROR:", "ERROR:" ], [ "310", "000", "ERROR:", "ERROR:" ], [ "312", "000", "ERROR:", "ERROR:" ], [ "315", "000", "ERROR:", "ERROR:" ], [ "320", "000", "ERROR:", "ERROR:" ], [ "322", "000", "ERROR:", "ERROR:" ], [ "325", "000", "ERROR:", "ERROR:" ], [ "400", "000", "ERROR:", "ERROR:" ], [ "410", "000", "ERROR:", "ERROR:" ], [ "420", "000", "ERROR:", "ERROR:" ], [ "600", "000", "ERROR:", "ERROR:" ], [ "610", "000", "ERROR:", "ERROR:" ], [ "620", "000", "ERROR:", "ERROR:" ], [ "800", "000", "ERROR:", "ERROR:" ], [ "100", "001-050", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "110", "001-050", "VALUE:T1a", "VALUE:T1a" ], [ "120", "001-050", "VALUE:T1b", "VALUE:T1b" ], [ "300", "001-050", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "302", "001-050", "VALUE:T1a", "VALUE:T1a" ], [ "305", "001-050", "VALUE:T1a", "VALUE:T1a" ], [ "310", "001-050", "VALUE:T1a", "VALUE:T1a" ], [ "312", "001-050", "VALUE:T1b", "VALUE:T1b" ], [ "315", "001-050", "VALUE:T1b", "VALUE:T1b" ], [ "320", "001-050", "VALUE:T1b", "VALUE:T1b" ], [ "322", "001-050", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "325", "001-050", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "400", "001-050", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "410", "001-050", "VALUE:T1a", "VALUE:T1a" ], [ "420", "001-050", "VALUE:T1b", "VALUE:T1b" ], [ "600", "001-050", "VALUE:T1b", "VALUE:T1b" ], [ "610", "001-050", "VALUE:T1a", "VALUE:T1a" ], [ "620", "001-050", "VALUE:T1b", "VALUE:T1b" ], [ "800", "001-050", "VALUE:T1b", "VALUE:T1b" ], [ "100", "051-989", "VALUE:T2NOS", "VALUE:T2NOS" ], [ "110", "051-989", "VALUE:T2a", "VALUE:T2a" ], [ "120", "051-989", "VALUE:T2b", "VALUE:T2b" ], [ "300", "051-989", "VALUE:T2NOS", "VALUE:T2NOS" ], [ "302", "051-989", "VALUE:T2a", "VALUE:T2a" ], [ "305", "051-989", "VALUE:T2a", "VALUE:T2a" ], [ "310", "051-989", "VALUE:T2a", "VALUE:T2a" ], [ "312", "051-989", "VALUE:T2b", "VALUE:T2b" ], [ "315", "051-989", "VALUE:T2b", "VALUE:T2b" ], [ "320", "051-989", "VALUE:T2b", "VALUE:T2b" ], [ "322", "051-989", "VALUE:T2NOS", "VALUE:T2NOS" ], [ "325", "051-989", "VALUE:T2NOS", "VALUE:T2NOS" ], [ "400", "051-989", "VALUE:T2NOS", "VALUE:T2NOS" ], [ "410", "051-989", "VALUE:T2a", "VALUE:T2a" ], [ "420", "051-989", "VALUE:T2b", "VALUE:T2b" ], [ "600", "051-989", "VALUE:T2b", "VALUE:T2b" ], [ "610", "051-989", "VALUE:T2a", "VALUE:T2a" ], [ "620", "051-989", "VALUE:T2b", "VALUE:T2b" ], [ "800", "051-989", "VALUE:T2b", "VALUE:T2b" ], [ "100", "990-994", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "110", "990-994", "VALUE:T1a", "VALUE:T1a" ], [ "120", "990-994", "VALUE:T1b", "VALUE:T1b" ], [ "300", "990-994", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "302", "990-994", "VALUE:T1a", "VALUE:T1a" ], [ "305", "990-994", "VALUE:T1a", "VALUE:T1a" ], [ "310", "990-994", "VALUE:T1a", "VALUE:T1a" ], [ "312", "990-994", "VALUE:T1b", "VALUE:T1b" ], [ "315", "990-994", "VALUE:T1b", "VALUE:T1b" ], [ "320", "990-994", "VALUE:T1b", "VALUE:T1b" ], [ "322", "990-994", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "325", "990-994", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "400", "990-994", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "410", "990-994", "VALUE:T1a", "VALUE:T1a" ], [ "420", "990-994", "VALUE:T1b", "VALUE:T1b" ], [ "600", "990-994", "VALUE:T1b", "VALUE:T1b" ], [ "610", "990-994", "VALUE:T1a", "VALUE:T1a" ], [ "620", "990-994", "VALUE:T1b", "VALUE:T1b" ], [ "800", "990-994", "VALUE:T1b", "VALUE:T1b" ], [ "100", "995", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "110", "995", "VALUE:T1a", "VALUE:T1a" ], [ "120", "995", "VALUE:T1b", "VALUE:T1b" ], [ "300", "995", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "302", "995", "VALUE:T1a", "VALUE:T1a" ], [ "305", "995", "VALUE:T2a", "VALUE:T2a" ], [ "310", "995", "VALUE:T1a", "VALUE:T1a" ], [ "312", "995", "VALUE:T1b", "VALUE:T1b" ], [ "315", "995", "VALUE:T1b", "VALUE:T1b" ], [ "320", "995", "VALUE:T1b", "VALUE:T1b" ], [ "322", "995", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "325", "995", "VALUE:T2NOS", "VALUE:T2NOS" ], [ "400", "995", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "410", "995", "VALUE:T1a", "VALUE:T1a" ], [ "420", "995", "VALUE:T1b", "VALUE:T1b" ], [ "600", "995", "VALUE:T1b", "VALUE:T1b" ], [ "610", "995", "VALUE:T1a", "VALUE:T1a" ], [ "620", "995", "VALUE:T1b", "VALUE:T1b" ], [ "800", "995", "VALUE:T1b", "VALUE:T1b" ], [ "100", "996", "VALUE:T2NOS", "VALUE:T2NOS" ], [ "110", "996", "VALUE:T2a", "VALUE:T2a" ], [ "120", "996", "VALUE:T2b", "VALUE:T2b" ], [ "300", "996", "VALUE:T2NOS", "VALUE:T2NOS" ], [ "302", "996", "VALUE:T2a", "VALUE:T2a" ], [ "305", "996", "VALUE:T2a", "VALUE:T2a" ], [ "310", "996", "VALUE:T2a", "VALUE:T2a" ], [ "312", "996", "VALUE:T1b", "VALUE:T1b" ], [ "315", "996", "VALUE:T2b", "VALUE:T2b" ], [ "320", "996", "VALUE:T2b", "VALUE:T2b" ], [ "322", "996", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "325", "996", "VALUE:T2NOS", "VALUE:T2NOS" ], [ "400", "996", "VALUE:T2NOS", "VALUE:T2NOS" ], [ "410", "996", "VALUE:T2a", "VALUE:T2a" ], [ "420", "996", "VALUE:T2b", "VALUE:T2b" ], [ "600", "996", "VALUE:T2b", "VALUE:T2b" ], [ "610", "996", "VALUE:T2a", "VALUE:T2a" ], [ "620", "996", "VALUE:T2b", "VALUE:T2b" ], [ "800", "996", "VALUE:T2b", "VALUE:T2b" ], [ "100", "997-998", "ERROR:", "ERROR:" ], [ "110", "997-998", "ERROR:", "ERROR:" ], [ "120", "997-998", "ERROR:", "ERROR:" ], [ "300", "997-998", "ERROR:", "ERROR:" ], [ "302", "997-998", "ERROR:", "ERROR:" ], [ "305", "997-998", "ERROR:", "ERROR:" ], [ "310", "997-998", "ERROR:", "ERROR:" ], [ "312", "997-998", "ERROR:", "ERROR:" ], [ "315", "997-998", "ERROR:", "ERROR:" ], [ "320", "997-998", "ERROR:", "ERROR:" ], [ "322", "997-998", "ERROR:", "ERROR:" ], [ "325", "997-998", "ERROR:", "ERROR:" ], [ "400", "997-998", "ERROR:", "ERROR:" ], [ "410", "997-998", "ERROR:", "ERROR:" ], [ "420", "997-998", "ERROR:", "ERROR:" ], [ "600", "997-998", "ERROR:", "ERROR:" ], [ "610", "997-998", "ERROR:", "ERROR:" ], [ "620", "997-998", "ERROR:", "ERROR:" ], [ "800", "997-998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "110", "999", "VALUE:TX", "VALUE:TX" ], [ "120", "999", "VALUE:TX", "VALUE:TX" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ], [ "302", "999", "VALUE:T1a", "VALUE:T1a" ], [ "305", "999", "VALUE:T2a", "VALUE:T2a" ], [ "310", "999", "VALUE:TX", "VALUE:TX" ], [ "312", "999", "VALUE:T1b", "VALUE:T1b" ], [ "315", "999", "VALUE:T2b", "VALUE:T2b" ], [ "320", "999", "VALUE:TX", "VALUE:TX" ], [ "322", "999", "VALUE:T1NOS", "VALUE:T1NOS" ], [ "325", "999", "VALUE:T2NOS", "VALUE:T2NOS" ], [ "400", "999", "VALUE:TX", "VALUE:TX" ], [ "410", "999", "VALUE:TX", "VALUE:TX" ], [ "420", "999", "VALUE:TX", "VALUE:TX" ], [ "600", "999", "VALUE:TX", "VALUE:TX" ], [ "610", "999", "VALUE:TX", "VALUE:TX" ], [ "620", "999", "VALUE:TX", "VALUE:TX" ], [ "800", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xfu.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xfu.json deleted file mode 100644 index ef3a60c5c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xfu.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xfu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100-800, the T category is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:20.099Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "200", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "310", "000", "ERROR:", "ERROR:" ], [ "350", "000", "ERROR:", "ERROR:" ], [ "400", "000", "ERROR:", "ERROR:" ], [ "600", "000", "ERROR:", "ERROR:" ], [ "700", "000", "ERROR:", "ERROR:" ], [ "800", "000", "ERROR:", "ERROR:" ], [ "100", "001-080", "VALUE:T1", "VALUE:T1" ], [ "200", "001-080", "VALUE:T1", "VALUE:T1" ], [ "300", "001-080", "VALUE:T1", "VALUE:T1" ], [ "310", "001-080", "VALUE:T1", "VALUE:T1" ], [ "350", "001-080", "VALUE:T1", "VALUE:T1" ], [ "400", "001-080", "VALUE:T1", "VALUE:T1" ], [ "600", "001-080", "VALUE:T1", "VALUE:T1" ], [ "700", "001-080", "VALUE:T1", "VALUE:T1" ], [ "800", "001-080", "VALUE:T1", "VALUE:T1" ], [ "100", "081-989", "VALUE:T2", "VALUE:T2" ], [ "200", "081-989", "VALUE:T2", "VALUE:T2" ], [ "300", "081-989", "VALUE:T2", "VALUE:T2" ], [ "310", "081-989", "VALUE:T2", "VALUE:T2" ], [ "350", "081-989", "VALUE:T2", "VALUE:T2" ], [ "400", "081-989", "VALUE:T2", "VALUE:T2" ], [ "600", "081-989", "VALUE:T2", "VALUE:T2" ], [ "700", "081-989", "VALUE:T2", "VALUE:T2" ], [ "800", "081-989", "VALUE:T2", "VALUE:T2" ], [ "100", "990-996", "VALUE:T1", "VALUE:T1" ], [ "200", "990-996", "VALUE:T1", "VALUE:T1" ], [ "300", "990-996", "VALUE:T1", "VALUE:T1" ], [ "310", "990-996", "VALUE:T1", "VALUE:T1" ], [ "350", "990-996", "VALUE:T1", "VALUE:T1" ], [ "400", "990-996", "VALUE:T1", "VALUE:T1" ], [ "600", "990-996", "VALUE:T1", "VALUE:T1" ], [ "700", "990-996", "VALUE:T1", "VALUE:T1" ], [ "800", "990-996", "VALUE:T1", "VALUE:T1" ], [ "100", "997", "VALUE:T2", "VALUE:T2" ], [ "200", "997", "VALUE:T2", "VALUE:T2" ], [ "300", "997", "VALUE:T2", "VALUE:T2" ], [ "310", "997", "VALUE:T2", "VALUE:T2" ], [ "350", "997", "VALUE:T2", "VALUE:T2" ], [ "400", "997", "VALUE:T2", "VALUE:T2" ], [ "600", "997", "VALUE:T2", "VALUE:T2" ], [ "700", "997", "VALUE:T2", "VALUE:T2" ], [ "800", "997", "VALUE:T2", "VALUE:T2" ], [ "100", "998", "ERROR:", "ERROR:" ], [ "200", "998", "ERROR:", "ERROR:" ], [ "300", "998", "ERROR:", "ERROR:" ], [ "310", "998", "ERROR:", "ERROR:" ], [ "350", "998", "ERROR:", "ERROR:" ], [ "400", "998", "ERROR:", "ERROR:" ], [ "600", "998", "ERROR:", "ERROR:" ], [ "700", "998", "ERROR:", "ERROR:" ], [ "800", "998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "200", "999", "VALUE:TX", "VALUE:TX" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ], [ "310", "999", "VALUE:T1", "VALUE:T1" ], [ "350", "999", "VALUE:T2", "VALUE:T2" ], [ "400", "999", "VALUE:TX", "VALUE:TX" ], [ "600", "999", "VALUE:TX", "VALUE:TX" ], [ "700", "999", "VALUE:TX", "VALUE:TX" ], [ "800", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xgn.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xgn.json deleted file mode 100644 index 2754c45a6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xgn.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_size_xgn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note 1**: For CS Extension codes 100-660, 710, and 720-795, the T category for AJCC 6 staging is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:20.152Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100,150,180,300,400,510,520,530,580,600,610,620,630,640,650,660", "000", "ERROR:" ], [ "710", "000", "ERROR:" ], [ "720,722,725,728,730,735,750,780,785,790,795", "000", "ERROR:" ], [ "100,150,180,300,400,510,520,530,580,600,610,620,630,640,650,660", "001-050", "VALUE:T1b" ], [ "710", "001-050", "VALUE:T1b" ], [ "720,722,725,728,730,735,750,780,785,790,795", "001-050", "VALUE:T1b" ], [ "100,150,180,300,400,510,520,530,580,600,610,620,630,640,650,660", "051-989", "VALUE:T2b" ], [ "710", "051-989", "VALUE:T2b" ], [ "720,722,725,728,730,735,750,780,785,790,795", "051-989", "VALUE:T2b" ], [ "100,150,180,300,400,510,520,530,580,600,610,620,630,640,650,660", "990-995", "VALUE:T1b" ], [ "710", "990-995", "VALUE:T1b" ], [ "720,722,725,728,730,735,750,780,785,790,795", "990-995", "VALUE:T1b" ], [ "100,150,180,300,400,510,520,530,580,600,610,620,630,640,650,660", "997-998", "ERROR:" ], [ "710", "997-998", "ERROR:" ], [ "720,722,725,728,730,735,750,780,785,790,795", "997-998", "ERROR:" ], [ "100,150,180,300,400,510,520,530,580,600,610,620,630,640,650,660", "999", "VALUE:TX" ], [ "710", "999", "VALUE:TX" ], [ "720,722,725,728,730,735,750,780,785,790,795", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xjg.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xjg.json deleted file mode 100644 index b8e6aa1e6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xjg.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xjg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100-650 ONLY, the T category is assigned based on the value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:20.200Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "405", "000", "ERROR:", "ERROR:" ], [ "410", "000", "ERROR:", "ERROR:" ], [ "415", "000", "ERROR:", "ERROR:" ], [ "500", "000", "ERROR:", "ERROR:" ], [ "535", "000", "ERROR:", "ERROR:" ], [ "550", "000", "ERROR:", "ERROR:" ], [ "600", "000", "ERROR:", "ERROR:" ], [ "650", "000", "ERROR:", "ERROR:" ], [ "100", "001-020", "VALUE:T1", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1", "VALUE:T1" ], [ "405", "001-020", "VALUE:T1", "VALUE:T1" ], [ "410", "001-020", "VALUE:T1", "VALUE:T1" ], [ "415", "001-020", "VALUE:T1", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1", "VALUE:T1" ], [ "535", "001-020", "VALUE:T1", "VALUE:T1" ], [ "550", "001-020", "VALUE:T1", "VALUE:T1" ], [ "600", "001-020", "VALUE:T1", "VALUE:T1" ], [ "650", "001-020", "VALUE:T1", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2", "VALUE:T2" ], [ "405", "021-040", "VALUE:T2", "VALUE:T2" ], [ "410", "021-040", "VALUE:T2", "VALUE:T2" ], [ "415", "021-040", "VALUE:T2", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2", "VALUE:T2" ], [ "535", "021-040", "VALUE:T2", "VALUE:T2" ], [ "550", "021-040", "VALUE:T2", "VALUE:T2" ], [ "600", "021-040", "VALUE:T2", "VALUE:T2" ], [ "650", "021-040", "VALUE:T2", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3", "VALUE:T3" ], [ "405", "041-989", "VALUE:T3", "VALUE:T3" ], [ "410", "041-989", "VALUE:T3", "VALUE:T3" ], [ "415", "041-989", "VALUE:T3", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3", "VALUE:T3" ], [ "535", "041-989", "VALUE:T3", "VALUE:T3" ], [ "550", "041-989", "VALUE:T3", "VALUE:T3" ], [ "600", "041-989", "VALUE:T3", "VALUE:T3" ], [ "650", "041-989", "VALUE:T3", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1", "VALUE:T1" ], [ "405", "990-991", "VALUE:T1", "VALUE:T1" ], [ "410", "990-991", "VALUE:T1", "VALUE:T1" ], [ "415", "990-991", "VALUE:T1", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1", "VALUE:T1" ], [ "535", "990-991", "VALUE:T1", "VALUE:T1" ], [ "550", "990-991", "VALUE:T1", "VALUE:T1" ], [ "600", "990-991", "VALUE:T1", "VALUE:T1" ], [ "650", "990-991", "VALUE:T1", "VALUE:T1" ], [ "100", "992", "VALUE:T1", "VALUE:T1" ], [ "300", "992", "VALUE:T1", "VALUE:T1" ], [ "405", "992", "VALUE:T1", "VALUE:T1" ], [ "410", "992", "VALUE:T2", "VALUE:T2" ], [ "415", "992", "VALUE:T3", "VALUE:T3" ], [ "500", "992", "VALUE:T1", "VALUE:T1" ], [ "535", "992", "VALUE:T1", "VALUE:T1" ], [ "550", "992", "VALUE:T1", "VALUE:T1" ], [ "600", "992", "VALUE:T1", "VALUE:T1" ], [ "650", "992", "VALUE:T1", "VALUE:T1" ], [ "100", "993-994", "VALUE:T2", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2", "VALUE:T2" ], [ "405", "993-994", "VALUE:T1", "VALUE:T1" ], [ "410", "993-994", "VALUE:T2", "VALUE:T2" ], [ "415", "993-994", "VALUE:T3", "VALUE:T3" ], [ "500", "993-994", "VALUE:T2", "VALUE:T2" ], [ "535", "993-994", "VALUE:T2", "VALUE:T2" ], [ "550", "993-994", "VALUE:T2", "VALUE:T2" ], [ "600", "993-994", "VALUE:T2", "VALUE:T2" ], [ "650", "993-994", "VALUE:T2", "VALUE:T2" ], [ "100", "995", "VALUE:T3", "VALUE:T3" ], [ "300", "995", "VALUE:T3", "VALUE:T3" ], [ "405", "995", "VALUE:T1", "VALUE:T1" ], [ "410", "995", "VALUE:T2", "VALUE:T2" ], [ "415", "995", "VALUE:T3", "VALUE:T3" ], [ "500", "995", "VALUE:T3", "VALUE:T3" ], [ "535", "995", "VALUE:T3", "VALUE:T3" ], [ "550", "995", "VALUE:T3", "VALUE:T3" ], [ "600", "995", "VALUE:T3", "VALUE:T3" ], [ "650", "995", "VALUE:T3", "VALUE:T3" ], [ "100", "996", "VALUE:T3", "VALUE:T3" ], [ "300", "996", "VALUE:T3", "VALUE:T3" ], [ "405", "996", "VALUE:T3", "VALUE:T3" ], [ "410", "996", "VALUE:T3", "VALUE:T3" ], [ "415", "996", "VALUE:T3", "VALUE:T3" ], [ "500", "996", "VALUE:T3", "VALUE:T3" ], [ "535", "996", "VALUE:T3", "VALUE:T3" ], [ "550", "996", "VALUE:T3", "VALUE:T3" ], [ "600", "996", "VALUE:T3", "VALUE:T3" ], [ "650", "996", "VALUE:T3", "VALUE:T3" ], [ "100", "997-998", "ERROR:", "ERROR:" ], [ "300", "997-998", "ERROR:", "ERROR:" ], [ "405", "997-998", "ERROR:", "ERROR:" ], [ "410", "997-998", "ERROR:", "ERROR:" ], [ "415", "997-998", "ERROR:", "ERROR:" ], [ "500", "997-998", "ERROR:", "ERROR:" ], [ "535", "997-998", "ERROR:", "ERROR:" ], [ "550", "997-998", "ERROR:", "ERROR:" ], [ "600", "997-998", "ERROR:", "ERROR:" ], [ "650", "997-998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ], [ "405", "999", "VALUE:T1", "VALUE:T1" ], [ "410", "999", "VALUE:T2", "VALUE:T2" ], [ "415", "999", "VALUE:T3", "VALUE:T3" ], [ "500", "999", "VALUE:TX", "VALUE:TX" ], [ "535", "999", "VALUE:TX", "VALUE:TX" ], [ "550", "999", "VALUE:TX", "VALUE:TX" ], [ "600", "999", "VALUE:TX", "VALUE:TX" ], [ "650", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xjh.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xjh.json deleted file mode 100644 index a7ba7a480..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xjh.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xjh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100 through 535 ONLY, the T code is assigned based on value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:20.255Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "200", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "405", "000", "ERROR:", "ERROR:" ], [ "410", "000", "ERROR:", "ERROR:" ], [ "415", "000", "ERROR:", "ERROR:" ], [ "500", "000", "ERROR:", "ERROR:" ], [ "510", "000", "ERROR:", "ERROR:" ], [ "535", "000", "ERROR:", "ERROR:" ], [ "100", "001-020", "VALUE:T1", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1", "VALUE:T1" ], [ "405", "001-020", "VALUE:T1", "VALUE:T1" ], [ "410", "001-020", "VALUE:T1", "VALUE:T1" ], [ "415", "001-020", "VALUE:T1", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1", "VALUE:T1" ], [ "510", "001-020", "VALUE:T1", "VALUE:T1" ], [ "535", "001-020", "VALUE:T1", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2", "VALUE:T2" ], [ "200", "021-040", "VALUE:T2", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2", "VALUE:T2" ], [ "405", "021-040", "VALUE:T2", "VALUE:T2" ], [ "410", "021-040", "VALUE:T2", "VALUE:T2" ], [ "415", "021-040", "VALUE:T2", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2", "VALUE:T2" ], [ "510", "021-040", "VALUE:T2", "VALUE:T2" ], [ "535", "021-040", "VALUE:T2", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3", "VALUE:T3" ], [ "200", "041-989", "VALUE:T3", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3", "VALUE:T3" ], [ "405", "041-989", "VALUE:T3", "VALUE:T3" ], [ "410", "041-989", "VALUE:T3", "VALUE:T3" ], [ "415", "041-989", "VALUE:T3", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3", "VALUE:T3" ], [ "510", "041-989", "VALUE:T3", "VALUE:T3" ], [ "535", "041-989", "VALUE:T3", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1", "VALUE:T1" ], [ "405", "990-991", "VALUE:T1", "VALUE:T1" ], [ "410", "990-991", "VALUE:T1", "VALUE:T1" ], [ "415", "990-991", "VALUE:T1", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1", "VALUE:T1" ], [ "510", "990-991", "VALUE:T1", "VALUE:T1" ], [ "535", "990-991", "VALUE:T1", "VALUE:T1" ], [ "100", "992", "VALUE:T1", "VALUE:T1" ], [ "200", "992", "VALUE:T1", "VALUE:T1" ], [ "300", "992", "VALUE:T1", "VALUE:T1" ], [ "405", "992", "VALUE:T1", "VALUE:T1" ], [ "410", "992", "VALUE:T2", "VALUE:T2" ], [ "415", "992", "VALUE:T3", "VALUE:T3" ], [ "500", "992", "VALUE:T1", "VALUE:T1" ], [ "510", "992", "VALUE:T1", "VALUE:T1" ], [ "535", "992", "VALUE:T1", "VALUE:T1" ], [ "100", "993-994", "VALUE:T2", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2", "VALUE:T2" ], [ "405", "993-994", "VALUE:T1", "VALUE:T1" ], [ "410", "993-994", "VALUE:T2", "VALUE:T2" ], [ "415", "993-994", "VALUE:T3", "VALUE:T3" ], [ "500", "993-994", "VALUE:T2", "VALUE:T2" ], [ "510", "993-994", "VALUE:T2", "VALUE:T2" ], [ "535", "993-994", "VALUE:T2", "VALUE:T2" ], [ "100", "995", "VALUE:T3", "VALUE:T3" ], [ "200", "995", "VALUE:T3", "VALUE:T3" ], [ "300", "995", "VALUE:T3", "VALUE:T3" ], [ "405", "995", "VALUE:T1", "VALUE:T1" ], [ "410", "995", "VALUE:T2", "VALUE:T2" ], [ "415", "995", "VALUE:T3", "VALUE:T3" ], [ "500", "995", "VALUE:T3", "VALUE:T3" ], [ "510", "995", "VALUE:T3", "VALUE:T3" ], [ "535", "995", "VALUE:T3", "VALUE:T3" ], [ "100", "996", "VALUE:T3", "VALUE:T3" ], [ "200", "996", "VALUE:T3", "VALUE:T3" ], [ "300", "996", "VALUE:T3", "VALUE:T3" ], [ "405", "996", "VALUE:T3", "VALUE:T3" ], [ "410", "996", "VALUE:T3", "VALUE:T3" ], [ "415", "996", "VALUE:T3", "VALUE:T3" ], [ "500", "996", "VALUE:T3", "VALUE:T3" ], [ "510", "996", "VALUE:T3", "VALUE:T3" ], [ "535", "996", "VALUE:T3", "VALUE:T3" ], [ "100", "997-998", "ERROR:", "ERROR:" ], [ "200", "997-998", "ERROR:", "ERROR:" ], [ "300", "997-998", "ERROR:", "ERROR:" ], [ "405", "997-998", "ERROR:", "ERROR:" ], [ "410", "997-998", "ERROR:", "ERROR:" ], [ "415", "997-998", "ERROR:", "ERROR:" ], [ "500", "997-998", "ERROR:", "ERROR:" ], [ "510", "997-998", "ERROR:", "ERROR:" ], [ "535", "997-998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "200", "999", "VALUE:TX", "VALUE:TX" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ], [ "405", "999", "VALUE:T1", "VALUE:T1" ], [ "410", "999", "VALUE:T2", "VALUE:T2" ], [ "415", "999", "VALUE:T3", "VALUE:T3" ], [ "500", "999", "VALUE:TX", "VALUE:TX" ], [ "510", "999", "VALUE:TX", "VALUE:TX" ], [ "535", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpa.json deleted file mode 100644 index a55b1f6cd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpa.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xpa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100 through 535 ONLY, the T code is assigned based on value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:20.306Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "200", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "405", "000", "ERROR:", "ERROR:" ], [ "410", "000", "ERROR:", "ERROR:" ], [ "415", "000", "ERROR:", "ERROR:" ], [ "500", "000", "ERROR:", "ERROR:" ], [ "515", "000", "ERROR:", "ERROR:" ], [ "535", "000", "ERROR:", "ERROR:" ], [ "100", "001-020", "VALUE:T1", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1", "VALUE:T1" ], [ "405", "001-020", "VALUE:T1", "VALUE:T1" ], [ "410", "001-020", "VALUE:T1", "VALUE:T1" ], [ "415", "001-020", "VALUE:T1", "VALUE:T1" ], [ "500", "001-020", "VALUE:T1", "VALUE:T1" ], [ "515", "001-020", "VALUE:T1", "VALUE:T1" ], [ "535", "001-020", "VALUE:T1", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2", "VALUE:T2" ], [ "200", "021-040", "VALUE:T2", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2", "VALUE:T2" ], [ "405", "021-040", "VALUE:T2", "VALUE:T2" ], [ "410", "021-040", "VALUE:T2", "VALUE:T2" ], [ "415", "021-040", "VALUE:T2", "VALUE:T2" ], [ "500", "021-040", "VALUE:T2", "VALUE:T2" ], [ "515", "021-040", "VALUE:T2", "VALUE:T2" ], [ "535", "021-040", "VALUE:T2", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3", "VALUE:T3" ], [ "200", "041-989", "VALUE:T3", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3", "VALUE:T3" ], [ "405", "041-989", "VALUE:T3", "VALUE:T3" ], [ "410", "041-989", "VALUE:T3", "VALUE:T3" ], [ "415", "041-989", "VALUE:T3", "VALUE:T3" ], [ "500", "041-989", "VALUE:T3", "VALUE:T3" ], [ "515", "041-989", "VALUE:T3", "VALUE:T3" ], [ "535", "041-989", "VALUE:T3", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1", "VALUE:T1" ], [ "200", "990-991", "VALUE:T1", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1", "VALUE:T1" ], [ "405", "990-991", "VALUE:T1", "VALUE:T1" ], [ "410", "990-991", "VALUE:T1", "VALUE:T1" ], [ "415", "990-991", "VALUE:T1", "VALUE:T1" ], [ "500", "990-991", "VALUE:T1", "VALUE:T1" ], [ "515", "990-991", "VALUE:T1", "VALUE:T1" ], [ "535", "990-991", "VALUE:T1", "VALUE:T1" ], [ "100", "992", "VALUE:T1", "VALUE:T1" ], [ "200", "992", "VALUE:T1", "VALUE:T1" ], [ "300", "992", "VALUE:T1", "VALUE:T1" ], [ "405", "992", "VALUE:T1", "VALUE:T1" ], [ "410", "992", "VALUE:T2", "VALUE:T2" ], [ "415", "992", "VALUE:T3", "VALUE:T3" ], [ "500", "992", "VALUE:T1", "VALUE:T1" ], [ "515", "992", "VALUE:T1", "VALUE:T1" ], [ "535", "992", "VALUE:T1", "VALUE:T1" ], [ "100", "993-994", "VALUE:T2", "VALUE:T2" ], [ "200", "993-994", "VALUE:T2", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2", "VALUE:T2" ], [ "405", "993-994", "VALUE:T1", "VALUE:T1" ], [ "410", "993-994", "VALUE:T2", "VALUE:T2" ], [ "415", "993-994", "VALUE:T3", "VALUE:T3" ], [ "500", "993-994", "VALUE:T2", "VALUE:T2" ], [ "515", "993-994", "VALUE:T2", "VALUE:T2" ], [ "535", "993-994", "VALUE:T2", "VALUE:T2" ], [ "100", "995", "VALUE:T3", "VALUE:T3" ], [ "200", "995", "VALUE:T3", "VALUE:T3" ], [ "300", "995", "VALUE:T3", "VALUE:T3" ], [ "405", "995", "VALUE:T1", "VALUE:T1" ], [ "410", "995", "VALUE:T2", "VALUE:T2" ], [ "415", "995", "VALUE:T3", "VALUE:T3" ], [ "500", "995", "VALUE:T3", "VALUE:T3" ], [ "515", "995", "VALUE:T3", "VALUE:T3" ], [ "535", "995", "VALUE:T3", "VALUE:T3" ], [ "100", "996", "VALUE:T3", "VALUE:T3" ], [ "200", "996", "VALUE:T3", "VALUE:T3" ], [ "300", "996", "VALUE:T3", "VALUE:T3" ], [ "405", "996", "VALUE:T3", "VALUE:T3" ], [ "410", "996", "VALUE:T3", "VALUE:T3" ], [ "415", "996", "VALUE:T3", "VALUE:T3" ], [ "500", "996", "VALUE:T3", "VALUE:T3" ], [ "515", "996", "VALUE:T3", "VALUE:T3" ], [ "535", "996", "VALUE:T3", "VALUE:T3" ], [ "100", "997-998", "ERROR:", "ERROR:" ], [ "200", "997-998", "ERROR:", "ERROR:" ], [ "300", "997-998", "ERROR:", "ERROR:" ], [ "405", "997-998", "ERROR:", "ERROR:" ], [ "410", "997-998", "ERROR:", "ERROR:" ], [ "415", "997-998", "ERROR:", "ERROR:" ], [ "500", "997-998", "ERROR:", "ERROR:" ], [ "515", "997-998", "ERROR:", "ERROR:" ], [ "535", "997-998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "200", "999", "VALUE:TX", "VALUE:TX" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ], [ "405", "999", "VALUE:T1", "VALUE:T1" ], [ "410", "999", "VALUE:T2", "VALUE:T2" ], [ "415", "999", "VALUE:T3", "VALUE:T3" ], [ "500", "999", "VALUE:TX", "VALUE:TX" ], [ "515", "999", "VALUE:TX", "VALUE:TX" ], [ "535", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpb.json deleted file mode 100644 index a183160d8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpb.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xpb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100-650 ONLY, the T category is assigned based on the value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:20.360Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "405", "000", "ERROR:", "ERROR:" ], [ "410", "000", "ERROR:", "ERROR:" ], [ "415", "000", "ERROR:", "ERROR:" ], [ "510", "000", "ERROR:", "ERROR:" ], [ "535", "000", "ERROR:", "ERROR:" ], [ "550", "000", "ERROR:", "ERROR:" ], [ "600", "000", "ERROR:", "ERROR:" ], [ "650", "000", "ERROR:", "ERROR:" ], [ "100", "001-020", "VALUE:T1", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1", "VALUE:T1" ], [ "405", "001-020", "VALUE:T1", "VALUE:T1" ], [ "410", "001-020", "VALUE:T1", "VALUE:T1" ], [ "415", "001-020", "VALUE:T1", "VALUE:T1" ], [ "510", "001-020", "VALUE:T1", "VALUE:T1" ], [ "535", "001-020", "VALUE:T1", "VALUE:T1" ], [ "550", "001-020", "VALUE:T1", "VALUE:T1" ], [ "600", "001-020", "VALUE:T1", "VALUE:T1" ], [ "650", "001-020", "VALUE:T1", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2", "VALUE:T2" ], [ "405", "021-040", "VALUE:T2", "VALUE:T2" ], [ "410", "021-040", "VALUE:T2", "VALUE:T2" ], [ "415", "021-040", "VALUE:T2", "VALUE:T2" ], [ "510", "021-040", "VALUE:T2", "VALUE:T2" ], [ "535", "021-040", "VALUE:T2", "VALUE:T2" ], [ "550", "021-040", "VALUE:T2", "VALUE:T2" ], [ "600", "021-040", "VALUE:T2", "VALUE:T2" ], [ "650", "021-040", "VALUE:T2", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3", "VALUE:T3" ], [ "405", "041-989", "VALUE:T3", "VALUE:T3" ], [ "410", "041-989", "VALUE:T3", "VALUE:T3" ], [ "415", "041-989", "VALUE:T3", "VALUE:T3" ], [ "510", "041-989", "VALUE:T3", "VALUE:T3" ], [ "535", "041-989", "VALUE:T3", "VALUE:T3" ], [ "550", "041-989", "VALUE:T3", "VALUE:T3" ], [ "600", "041-989", "VALUE:T3", "VALUE:T3" ], [ "650", "041-989", "VALUE:T3", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1", "VALUE:T1" ], [ "405", "990-991", "VALUE:T1", "VALUE:T1" ], [ "410", "990-991", "VALUE:T1", "VALUE:T1" ], [ "415", "990-991", "VALUE:T1", "VALUE:T1" ], [ "510", "990-991", "VALUE:T1", "VALUE:T1" ], [ "535", "990-991", "VALUE:T1", "VALUE:T1" ], [ "550", "990-991", "VALUE:T1", "VALUE:T1" ], [ "600", "990-991", "VALUE:T1", "VALUE:T1" ], [ "650", "990-991", "VALUE:T1", "VALUE:T1" ], [ "100", "992", "VALUE:T1", "VALUE:T1" ], [ "300", "992", "VALUE:T1", "VALUE:T1" ], [ "405", "992", "VALUE:T1", "VALUE:T1" ], [ "410", "992", "VALUE:T2", "VALUE:T2" ], [ "415", "992", "VALUE:T3", "VALUE:T3" ], [ "510", "992", "VALUE:T1", "VALUE:T1" ], [ "535", "992", "VALUE:T1", "VALUE:T1" ], [ "550", "992", "VALUE:T1", "VALUE:T1" ], [ "600", "992", "VALUE:T1", "VALUE:T1" ], [ "650", "992", "VALUE:T1", "VALUE:T1" ], [ "100", "993-994", "VALUE:T2", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2", "VALUE:T2" ], [ "405", "993-994", "VALUE:T1", "VALUE:T1" ], [ "410", "993-994", "VALUE:T2", "VALUE:T2" ], [ "415", "993-994", "VALUE:T3", "VALUE:T3" ], [ "510", "993-994", "VALUE:T2", "VALUE:T2" ], [ "535", "993-994", "VALUE:T2", "VALUE:T2" ], [ "550", "993-994", "VALUE:T2", "VALUE:T2" ], [ "600", "993-994", "VALUE:T2", "VALUE:T2" ], [ "650", "993-994", "VALUE:T2", "VALUE:T2" ], [ "100", "995", "VALUE:T3", "VALUE:T3" ], [ "300", "995", "VALUE:T3", "VALUE:T3" ], [ "405", "995", "VALUE:T1", "VALUE:T1" ], [ "410", "995", "VALUE:T2", "VALUE:T2" ], [ "415", "995", "VALUE:T3", "VALUE:T3" ], [ "510", "995", "VALUE:T3", "VALUE:T3" ], [ "535", "995", "VALUE:T3", "VALUE:T3" ], [ "550", "995", "VALUE:T3", "VALUE:T3" ], [ "600", "995", "VALUE:T3", "VALUE:T3" ], [ "650", "995", "VALUE:T3", "VALUE:T3" ], [ "100", "996", "VALUE:T3", "VALUE:T3" ], [ "300", "996", "VALUE:T3", "VALUE:T3" ], [ "405", "996", "VALUE:T3", "VALUE:T3" ], [ "410", "996", "VALUE:T3", "VALUE:T3" ], [ "415", "996", "VALUE:T3", "VALUE:T3" ], [ "510", "996", "VALUE:T3", "VALUE:T3" ], [ "535", "996", "VALUE:T3", "VALUE:T3" ], [ "550", "996", "VALUE:T3", "VALUE:T3" ], [ "600", "996", "VALUE:T3", "VALUE:T3" ], [ "650", "996", "VALUE:T3", "VALUE:T3" ], [ "100", "997-998", "ERROR:", "ERROR:" ], [ "300", "997-998", "ERROR:", "ERROR:" ], [ "405", "997-998", "ERROR:", "ERROR:" ], [ "410", "997-998", "ERROR:", "ERROR:" ], [ "415", "997-998", "ERROR:", "ERROR:" ], [ "510", "997-998", "ERROR:", "ERROR:" ], [ "535", "997-998", "ERROR:", "ERROR:" ], [ "550", "997-998", "ERROR:", "ERROR:" ], [ "600", "997-998", "ERROR:", "ERROR:" ], [ "650", "997-998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ], [ "405", "999", "VALUE:T1", "VALUE:T1" ], [ "410", "999", "VALUE:T2", "VALUE:T2" ], [ "415", "999", "VALUE:T3", "VALUE:T3" ], [ "510", "999", "VALUE:TX", "VALUE:TX" ], [ "535", "999", "VALUE:TX", "VALUE:TX" ], [ "550", "999", "VALUE:TX", "VALUE:TX" ], [ "600", "999", "VALUE:TX", "VALUE:TX" ], [ "650", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpe.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpe.json deleted file mode 100644 index 070b835de..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpe.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xpe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100, 150, 200, and 300 ONLY, the T category is assigned based on the value of CS Tumor Size, as shown in this table.", - "last_modified" : "2015-05-27T16:19:20.415Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "150", "000", "ERROR:", "ERROR:" ], [ "200", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "100", "001-020", "VALUE:T1", "VALUE:T1" ], [ "150", "001-020", "VALUE:T1", "VALUE:T1" ], [ "200", "001-020", "VALUE:T1", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1", "VALUE:T1" ], [ "100", "021-989", "VALUE:T2", "VALUE:T2" ], [ "150", "021-989", "VALUE:T2", "VALUE:T2" ], [ "200", "021-989", "VALUE:T2", "VALUE:T2" ], [ "300", "021-989", "VALUE:T2", "VALUE:T2" ], [ "100", "990-992", "VALUE:T1", "VALUE:T1" ], [ "150", "990-992", "VALUE:T1", "VALUE:T1" ], [ "200", "990-992", "VALUE:T1", "VALUE:T1" ], [ "300", "990-992", "VALUE:T1", "VALUE:T1" ], [ "100", "993-995", "VALUE:T2", "VALUE:T2" ], [ "150", "993-995", "VALUE:T2", "VALUE:T2" ], [ "200", "993-995", "VALUE:T2", "VALUE:T2" ], [ "300", "993-995", "VALUE:T2", "VALUE:T2" ], [ "100", "996-998", "ERROR:", "ERROR:" ], [ "150", "996-998", "ERROR:", "ERROR:" ], [ "200", "996-998", "ERROR:", "ERROR:" ], [ "300", "996-998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "150", "999", "VALUE:T1", "VALUE:T1" ], [ "200", "999", "VALUE:T2", "VALUE:T2" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpf.json deleted file mode 100644 index 695557012..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xpf.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xpf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note**: For CS Extension codes 100-350 ONLY, the T category is assigned based on the value of CS Tumor Size and CS Extension as shown in this table.", - "last_modified" : "2015-05-27T16:19:20.462Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "305", "000", "ERROR:", "ERROR:" ], [ "310", "000", "ERROR:", "ERROR:" ], [ "350", "000", "ERROR:", "ERROR:" ], [ "100", "001-020", "VALUE:T1", "VALUE:T1" ], [ "300", "001-020", "VALUE:T1", "VALUE:T1" ], [ "305", "001-020", "VALUE:T1", "VALUE:T1" ], [ "310", "001-020", "VALUE:T1", "VALUE:T1" ], [ "350", "001-020", "VALUE:T1", "VALUE:T1" ], [ "100", "021-040", "VALUE:T2", "VALUE:T2" ], [ "300", "021-040", "VALUE:T2", "VALUE:T2" ], [ "305", "021-040", "VALUE:T2", "VALUE:T2" ], [ "310", "021-040", "VALUE:T2", "VALUE:T2" ], [ "350", "021-040", "VALUE:T2", "VALUE:T2" ], [ "100", "041-989", "VALUE:T3", "VALUE:T3" ], [ "300", "041-989", "VALUE:T3", "VALUE:T3" ], [ "305", "041-989", "VALUE:T3", "VALUE:T3" ], [ "310", "041-989", "VALUE:T3", "VALUE:T3" ], [ "350", "041-989", "VALUE:T3", "VALUE:T3" ], [ "100", "990-991", "VALUE:T1", "VALUE:T1" ], [ "300", "990-991", "VALUE:T1", "VALUE:T1" ], [ "305", "990-991", "VALUE:T1", "VALUE:T1" ], [ "310", "990-991", "VALUE:T1", "VALUE:T1" ], [ "350", "990-991", "VALUE:T1", "VALUE:T1" ], [ "100", "992", "VALUE:T1", "VALUE:T1" ], [ "300", "992", "VALUE:T1", "VALUE:T1" ], [ "305", "992", "VALUE:T1", "VALUE:T1" ], [ "310", "992", "VALUE:T2", "VALUE:T2" ], [ "350", "992", "VALUE:T1", "VALUE:T1" ], [ "100", "993-994", "VALUE:T2", "VALUE:T2" ], [ "300", "993-994", "VALUE:T2", "VALUE:T2" ], [ "305", "993-994", "VALUE:T1", "VALUE:T1" ], [ "310", "993-994", "VALUE:T2", "VALUE:T2" ], [ "350", "993-994", "VALUE:T2", "VALUE:T2" ], [ "100", "995", "VALUE:T3", "VALUE:T3" ], [ "300", "995", "VALUE:T3", "VALUE:T3" ], [ "305", "995", "VALUE:T1", "VALUE:T1" ], [ "310", "995", "VALUE:T2", "VALUE:T2" ], [ "350", "995", "VALUE:T3", "VALUE:T3" ], [ "100", "996", "VALUE:T3", "VALUE:T3" ], [ "300", "996", "VALUE:T3", "VALUE:T3" ], [ "305", "996", "VALUE:T3", "VALUE:T3" ], [ "310", "996", "VALUE:T3", "VALUE:T3" ], [ "350", "996", "VALUE:T3", "VALUE:T3" ], [ "100", "997-998", "ERROR:", "ERROR:" ], [ "300", "997-998", "ERROR:", "ERROR:" ], [ "305", "997-998", "ERROR:", "ERROR:" ], [ "310", "997-998", "ERROR:", "ERROR:" ], [ "350", "997-998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ], [ "305", "999", "VALUE:T1", "VALUE:T1" ], [ "310", "999", "VALUE:T2", "VALUE:T2" ], [ "350", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xqj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xqj.json deleted file mode 100644 index 3a27d2696..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_size_xqj.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "extension_size_xqj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Size", - "title" : "Extension Size Table", - "notes" : "**Note 1**: Tumor size 000 should only be used with CS Extension 950.\n\n**Note 2**: Tumor size codes 997-998 are not valid for this site.\n\n**Note 3**: For Extension codes 100-800, the T category is assigned based on the value of Tumor Size, as follows:", - "last_modified" : "2015-05-27T16:19:20.509Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "350", "000", "ERROR:", "ERROR:" ], [ "375", "000", "ERROR:", "ERROR:" ], [ "400", "000", "ERROR:", "ERROR:" ], [ "600", "000", "ERROR:", "ERROR:" ], [ "800", "000", "ERROR:", "ERROR:" ], [ "100", "001-050", "VALUE:T1b", "VALUE:T1b" ], [ "300", "001-050", "VALUE:T1b", "VALUE:T1b" ], [ "350", "001-050", "VALUE:T1b", "VALUE:T1b" ], [ "375", "001-050", "VALUE:T1b", "VALUE:T1b" ], [ "400", "001-050", "VALUE:T1b", "VALUE:T1b" ], [ "600", "001-050", "VALUE:T1b", "VALUE:T1b" ], [ "800", "001-050", "VALUE:T1b", "VALUE:T1b" ], [ "100", "051-989", "VALUE:T2b", "VALUE:T2b" ], [ "300", "051-989", "VALUE:T2b", "VALUE:T2b" ], [ "350", "051-989", "VALUE:T2b", "VALUE:T2b" ], [ "375", "051-989", "VALUE:T2b", "VALUE:T2b" ], [ "400", "051-989", "VALUE:T2b", "VALUE:T2b" ], [ "600", "051-989", "VALUE:T2b", "VALUE:T2b" ], [ "800", "051-989", "VALUE:T2b", "VALUE:T2b" ], [ "100", "990-994", "VALUE:T1b", "VALUE:T1b" ], [ "300", "990-994", "VALUE:T1b", "VALUE:T1b" ], [ "350", "990-994", "VALUE:T1b", "VALUE:T1b" ], [ "375", "990-994", "VALUE:T1b", "VALUE:T1b" ], [ "400", "990-994", "VALUE:T1b", "VALUE:T1b" ], [ "600", "990-994", "VALUE:T1b", "VALUE:T1b" ], [ "800", "990-994", "VALUE:T1b", "VALUE:T1b" ], [ "100", "995", "VALUE:T1b", "VALUE:T1b" ], [ "300", "995", "VALUE:T1b", "VALUE:T1b" ], [ "350", "995", "VALUE:T1b", "VALUE:T1b" ], [ "375", "995", "VALUE:T1b", "VALUE:T1b" ], [ "400", "995", "VALUE:T1b", "VALUE:T1b" ], [ "600", "995", "VALUE:T1b", "VALUE:T1b" ], [ "800", "995", "VALUE:T1b", "VALUE:T1b" ], [ "100", "996", "VALUE:T2b", "VALUE:T2b" ], [ "300", "996", "VALUE:T2b", "VALUE:T2b" ], [ "350", "996", "VALUE:T2b", "VALUE:T2b" ], [ "375", "996", "VALUE:T2b", "VALUE:T2b" ], [ "400", "996", "VALUE:T2b", "VALUE:T2b" ], [ "600", "996", "VALUE:T2b", "VALUE:T2b" ], [ "800", "996", "VALUE:T2b", "VALUE:T2b" ], [ "100", "999", "VALUE:TX", "VALUE:TX" ], [ "300", "999", "VALUE:TX", "VALUE:TX" ], [ "350", "999", "VALUE:T1b", "VALUE:T1b" ], [ "375", "999", "VALUE:T2b", "VALUE:T2b" ], [ "400", "999", "VALUE:TX", "VALUE:TX" ], [ "600", "999", "VALUE:TX", "VALUE:TX" ], [ "800", "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_ajcc7_t_xjy.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_ajcc7_t_xjy.json deleted file mode 100644 index ca869b6cf..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_ajcc7_t_xjy.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "extension_ssf1_ajcc7_t_xjy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension SSF1 AJCC7 T", - "title" : "Extension SSF1 AJCC 7 T Table", - "subtitle" : "CS SSF1 888 or 988 with CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 888 or 988 and CS Extension is coded 000-230, 300-440, 455-520, 540-600, 730, 950-980, 999, the T categories for AJCC 7 staging result in ERROR as shown in this table.", - "last_modified" : "2015-05-27T16:19:20.559Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "T Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000,100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,455,460,465,500,520,540,550,560,570,590,600,730,950,980,999", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xke.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xke.json deleted file mode 100644 index b140014a6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xke.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_ssf1_summary_stage2000_xke", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension SSF1 Summary Stage2000", - "title" : "Extension SSF1 Summary Stage 2000 Table", - "subtitle" : "Cases Coded in CSv2 (CS Version Input Original equals 02XXXX) or Year of Diagnosis is 2010 and After", - "notes" : "**Note**: For CS Version 2 cases (CS Version Input Original equals 02XXXX) or Year of Diagnosis is 2010 and after, Summary Stage 2000 for CS Extension codes 000-700, 740, 950, 980 and 999 is based on CS Extension and CS Site-Specific Factor 1. CS Site-Specific Factor 1 codes 000 and 999 map according to the extension value. CS Site-Specific Factor 1 codes 010 and 040 indicate separate tumor nodules in same lobe or unknown if in same lobe, and map to Regional. CS Site-Specific Factor 1 codes 020 and 030, separate tumor nodules in different or separate tumor nodules in same and different lobe, map to Distant. CS Site-Specific Factor 1 codes 888 and 988 map to ERROR.", - "last_modified" : "2015-05-27T16:19:20.609Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension Code", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF1", - "type" : "INPUT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "VALUE:IS" ], [ "100,110,115,120,125,200,210,220,230,300", "000", "VALUE:L" ], [ "250", "000", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "000", "VALUE:RE" ], [ "680", "000", "VALUE:L" ], [ "740", "000", "VALUE:RE" ], [ "950,980,999", "000", "VALUE:U" ], [ "000", "010", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300", "010", "VALUE:RE" ], [ "250", "010", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "010", "VALUE:RE" ], [ "680", "010", "VALUE:RE" ], [ "740", "010", "VALUE:RE" ], [ "950,980,999", "010", "VALUE:RE" ], [ "000", "020", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300", "020", "VALUE:D" ], [ "250", "020", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "020", "VALUE:D" ], [ "680", "020", "VALUE:D" ], [ "740", "020", "VALUE:D" ], [ "950,980,999", "020", "VALUE:D" ], [ "000", "030", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300", "030", "VALUE:D" ], [ "250", "030", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "030", "VALUE:D" ], [ "680", "030", "VALUE:D" ], [ "740", "030", "VALUE:D" ], [ "950,980,999", "030", "VALUE:D" ], [ "000", "040", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300", "040", "VALUE:RE" ], [ "250", "040", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "040", "VALUE:RE" ], [ "680", "040", "VALUE:RE" ], [ "740", "040", "VALUE:RE" ], [ "950,980,999", "040", "VALUE:RE" ], [ "000", "888", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300", "888", "ERROR:" ], [ "250", "888", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "888", "ERROR:" ], [ "680", "888", "ERROR:" ], [ "740", "888", "ERROR:" ], [ "950,980,999", "888", "ERROR:" ], [ "000", "988", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300", "988", "ERROR:" ], [ "250", "988", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "988", "ERROR:" ], [ "680", "988", "ERROR:" ], [ "740", "988", "ERROR:" ], [ "950,980,999", "988", "ERROR:" ], [ "000", "999", "VALUE:IS" ], [ "100,110,115,120,125,200,210,220,230,300", "999", "VALUE:L" ], [ "250", "999", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "999", "VALUE:RE" ], [ "680", "999", "VALUE:L" ], [ "740", "999", "VALUE:RE" ], [ "950,980,999", "999", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xkf.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xkf.json deleted file mode 100644 index 9a59c5d29..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage2000_xkf.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_ssf1_summary_stage2000_xkf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension SSF1 Summary Stage2000", - "title" : "Extension SSF1 Summary Stage 2000 Table", - "subtitle" : "Cases Coded in CSv1 (CS Version Input Original equals 01XXXX) and Year of Diagnosis is less than 2010", - "notes" : "**Note**: For cases coded in CSv1 (CS Version Input Original equals 01XXXX) and a Year of Diagnosis date is less than 2010, Summary Stage 2000 for extension codes 000-700, 740, 950, 980 and 999 is based on Extension and CS Site-Specific Factor 1. CS Site-Specific Factor 1 codes 000, 988 and 999 map according to the extension value. CS Site-Specific Factor 1 code 888 maps to ERROR. CS Site-Specific Factor 1 codes 010 and 040 indicate separate tumor nodules in same lobe or unknown if in same lobe, and map to Regional. CS Site-Specific Factor 1 codes 020 and 030, separate tumor nodules in different or separate tumor nodules in same and different lobe, map to Distant.", - "last_modified" : "2015-05-27T16:19:20.665Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension Code", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF1", - "type" : "INPUT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "VALUE:IS" ], [ "100,110,115,120,125,200,210,220,230,300", "000", "VALUE:L" ], [ "250", "000", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "000", "VALUE:RE" ], [ "680", "000", "VALUE:L" ], [ "740", "000", "VALUE:RE" ], [ "950,980,999", "000", "VALUE:U" ], [ "000", "010", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300", "010", "VALUE:RE" ], [ "250", "010", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "010", "VALUE:RE" ], [ "680", "010", "VALUE:RE" ], [ "740", "010", "VALUE:RE" ], [ "950,980,999", "010", "VALUE:RE" ], [ "000", "020", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300", "020", "VALUE:D" ], [ "250", "020", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "020", "VALUE:D" ], [ "680", "020", "VALUE:D" ], [ "740", "020", "VALUE:D" ], [ "950,980,999", "020", "VALUE:D" ], [ "000", "030", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300", "030", "VALUE:D" ], [ "250", "030", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "030", "VALUE:D" ], [ "680", "030", "VALUE:D" ], [ "740", "030", "VALUE:D" ], [ "950,980,999", "030", "VALUE:D" ], [ "000", "040", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300", "040", "VALUE:RE" ], [ "250", "040", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "040", "VALUE:RE" ], [ "680", "040", "VALUE:RE" ], [ "740", "040", "VALUE:RE" ], [ "950,980,999", "040", "VALUE:RE" ], [ "000", "888", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300", "888", "ERROR:" ], [ "250", "888", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "888", "ERROR:" ], [ "680", "888", "ERROR:" ], [ "740", "888", "ERROR:" ], [ "950,980,999", "888", "ERROR:" ], [ "000", "988", "VALUE:IS" ], [ "100,110,115,120,125,200,210,220,230,300", "988", "VALUE:L" ], [ "250", "988", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "988", "VALUE:RE" ], [ "680", "988", "VALUE:L" ], [ "740", "988", "VALUE:RE" ], [ "950,980,999", "988", "VALUE:U" ], [ "000", "999", "VALUE:IS" ], [ "100,110,115,120,125,200,210,220,230,300", "999", "VALUE:L" ], [ "250", "999", "ERROR:" ], [ "400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,700", "999", "VALUE:RE" ], [ "680", "999", "VALUE:L" ], [ "740", "999", "VALUE:RE" ], [ "950,980,999", "999", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkc.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkc.json deleted file mode 100644 index 39593b813..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkc.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_ssf1_summary_stage77_xkc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension SSF1 Summary Stage77", - "title" : "Extension SSF1 Summary Stage 77 Table", - "subtitle" : "Cases Coded in CSv2 (CS Version Input Original equals 02XXXX) or Year of Diagnosis is 2010 and After", - "notes" : "**Note**: For cases coded in CSv2 (CS Version Input Original equals 02XXXX) or Year of Diagnosis is 2010 and after, Stage 77 for CS Extension codes 000, 950, 980 and 999 is based on Extension and CS Site-Specific Factor 1. CS Site-Specific Factor 1 codes 000 and 999 map according to the extension value.", - "last_modified" : "2015-05-27T16:19:20.714Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension Code", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF1", - "type" : "INPUT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "VALUE:IS" ], [ "950", "000", "VALUE:U" ], [ "980", "000", "VALUE:U" ], [ "999", "000", "VALUE:U" ], [ "000", "010", "ERROR:" ], [ "950", "010", "ERROR:" ], [ "980", "010", "ERROR:" ], [ "999", "010", "VALUE:L" ], [ "000", "020", "ERROR:" ], [ "950", "020", "ERROR:" ], [ "980", "020", "ERROR:" ], [ "999", "020", "VALUE:L" ], [ "000", "030", "ERROR:" ], [ "950", "030", "ERROR:" ], [ "980", "030", "ERROR:" ], [ "999", "030", "VALUE:L" ], [ "000", "040", "ERROR:" ], [ "950", "040", "ERROR:" ], [ "980", "040", "ERROR:" ], [ "999", "040", "VALUE:L" ], [ "000", "888", "ERROR:" ], [ "950", "888", "ERROR:" ], [ "980", "888", "ERROR:" ], [ "999", "888", "ERROR:" ], [ "000", "988", "ERROR:" ], [ "950", "988", "ERROR:" ], [ "980", "988", "ERROR:" ], [ "999", "988", "ERROR:" ], [ "000", "999", "VALUE:IS" ], [ "950", "999", "VALUE:U" ], [ "980", "999", "VALUE:U" ], [ "999", "999", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkd.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkd.json deleted file mode 100644 index 7d1ef6789..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ssf1_summary_stage77_xkd.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_ssf1_summary_stage77_xkd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension SSF1 Summary Stage77", - "title" : "Extension SSF1 Summary Stage 77 Table", - "subtitle" : "Cases Coded in CSv1 (CS Version Input Original Equals 01XXXX) and Year of Diagnosis is Less than 2010", - "notes" : "**Note**: For cases coded in CSv1 (CS Version Input Original equals 01XXXX) and Year of Diagnosis is less than 2010, Summary Stage 77 for extension codes 000, 950, 980 and 999 is based on Extension and CS Site-Specific Factor 1. CS Site-Specific Factor 1 codes 000, 988 and 999 map according to the extension value. CS Site-Specific Factor 1 code 888 maps to ERROR. CS Site-Specific Factor 1 codes 010 and 040 are ERRORS with extension codes 950 and 980.", - "last_modified" : "2015-05-27T16:19:20.762Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension Code", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF1", - "type" : "INPUT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "VALUE:IS" ], [ "950", "000", "VALUE:U" ], [ "980", "000", "VALUE:U" ], [ "999", "000", "VALUE:U" ], [ "000", "010", "ERROR:" ], [ "950", "010", "ERROR:" ], [ "980", "010", "ERROR:" ], [ "999", "010", "VALUE:L" ], [ "000", "020", "ERROR:" ], [ "950", "020", "ERROR:" ], [ "980", "020", "ERROR:" ], [ "999", "020", "VALUE:L" ], [ "000", "030", "ERROR:" ], [ "950", "030", "ERROR:" ], [ "980", "030", "ERROR:" ], [ "999", "030", "VALUE:L" ], [ "000", "040", "ERROR:" ], [ "950", "040", "ERROR:" ], [ "980", "040", "ERROR:" ], [ "999", "040", "VALUE:L" ], [ "000", "888", "ERROR:" ], [ "950", "888", "ERROR:" ], [ "980", "888", "ERROR:" ], [ "999", "888", "ERROR:" ], [ "000", "988", "VALUE:IS" ], [ "950", "988", "VALUE:U" ], [ "980", "988", "VALUE:U" ], [ "999", "988", "VALUE:U" ], [ "000", "999", "VALUE:IS" ], [ "950", "999", "VALUE:U" ], [ "980", "999", "VALUE:U" ], [ "999", "999", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_sstg_bbo.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_sstg_bbo.json deleted file mode 100644 index 94d01dbf3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_sstg_bbo.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_sstg_bbo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension - Clinical Extension", - "notes" : "**Note 1**: This field and CS Site-Specific Factor 3, CS Extension - Pathologic Extension, must both be coded, whether or not a prostatectomy was performed. Information from prostatectomy and autopsy is excluded from this field and coded only in CS Site-Specific Factor 3.\n\n**Note 2**: AJCC considers \"in situ carcinoma of prostate gland\" an impossible diagnosis. Any case so coded will be mapped to TX for AJCC stage and in situ Summary Stage.\n\n**Note 3**: Clinically apparent and inapparent tumor. Use the following rules to determine inapparent versus apparent for CS Extension - Clinical Extension codes 100-240 and, when in doubt, use code 300.\n\n* A. According to AJCC, the digital rectal examination (DRE) is considered the \"gold standard\" for clinical staging and the quality of imaging for staging is not sufficiently uniform to make it part of routine staging. Therefore, the registrar should not use imaging to determine an apparent tumor unless the managing clinician/urologist has used it in staging (herein termed \"reliably\" visible on imaging). If there is a discrepancy between a stage documented on an imaging report and a stage documented by a managing clinician/urologist, the latter takes precedence.\nA clinically apparent tumor is palpable or \"reliably\" visible by imaging. If a clinician documents a \"tumor\", \"mass\", or \"nodule\" by physical examination, this can be inferred as apparent. \"Tumor\", \"mass\", or \"nodule\" on imaging can only be used by the registrar if the managing clinician/urologist uses it.\nA clinically inapparent tumor is one that is neither palpable nor \"reliably\" visible by imaging. Physician documentation of a DRE that does not mention a palpable \"tumor\", \"mass\", or \"nodule\" can be inferred as inapparent. This would include findings limited to benign prostate or enlargement/hypertrophy.\nDo not infer inapparent or apparent tumor based on the registrar's interpretation of other terms in the DRE or imaging reports. A physician assignment of cT1 or cT2 is also a clear statement of inapparent or apparent respectively. Code to 300 (which maps to T2 NOS) in the absence of a clear physician's statement of inapparent or apparent (see also Note 3D).\n\n* B. Codes 100 to 150 are used only for clinically inapparent tumor (see Note 3A) and/or incidentally found microscopic carcinoma (latent, occult) in one or both lobes. Within this range, give priority to codes 130-150 over code 100. Do not use codes 100-140 for needle core biopsy. Use code 150 when tumor is found in one lobe, both lobes, or in prostatic apex by needle biopsy but is not palpable or \"reliably\" visible by imaging. Since code 150 is used to measure screening detected cases, it is important to only apply code 150 when it is clearly an inapparent case. \n\n* C. Codes 200 to 240 are used only for clinically apparent tumor (see Note 3A). Information from biopsy is not used to decide among codes 200-240. Prostate biopsy information is coded in CS Site-Specific Factor 14. Codes 210 and 220 have precedence over code 200. Code 200 has precedence over code 240. Use code 240 if the physician assigns cT2 without a subcategory of a, b, or c.\n\n* D. Code 300 is used for localized cancer when it is unknown if the tumor is clinically apparent. This would include cases with elevated PSA and positive needle core biopsy but no documentation regarding tumor apparency (inapparent versus apparent). Another example would be a diagnosis made prior to admission for a prostatectomy with no details provided on the initial clinical findings.\n\n**Note 4**: Codes 410 to 700 are used for extension beyond the prostate. Information from biopsy of extraprostatic tissue is coded in CS Extension - Clinical Extension (see Note 3 and code 2 on the prostate CS Tumor Size/Ext Eval table for further information).\n\n**Note 5**: Involvement of the prostatic urethra does not alter the extension code.\n\n**Note 6**: \"Frozen pelvis\" is a clinical term which means tumor extends to pelvic sidewall(s). In the absence of a more detailed statement of involvement, assign a description of frozen pelvis to code 600.\n\n**Note 7**: As indicated in Note 1, information from prostatectomy/autopsy is not considered when coding CS Extension - Clinical Extension and is only coded in CS Site-Specific Factor 3 CS Extension - Pathologic Extension. This also applies to incidental findings of prostate cancer during a prostatectomy for other reasons (for example, a cytoprostatectomy for bladder cancer). If there is documentation regarding a normal prostate evaluation (physical examination or imaging) prior to prostatectomy/autopsy, code 950 (no evidence of primary tumor) in this field. If there is no documentation regarding a normal prostate evaluation (physical examination or imaging) prior to prostatectomy/autopsy, code 999 (unknown; extension not stated) in this field.\n\n**Note 8**: The mapping values for TNM, SS77, and SS2000 and the associated c, p, yp, or a indicator (staging basis) are assigned based on the values in CS Extension - Clinical Extension, CS Tumor Size/Ext Eval, and CS Site-Specific Factor 3 - Pathologic Extension. The calculation depends on whether clinical information or pathologic information takes precedence in a specific case. Note that for prostate, AJCC pathologic staging usually requires a prostatectomy. Pathologic staging information from a prostatectomy takes precedence except when neoadjuvant treatment has been given and clinical extension is either as extensive or more extensive than pathologic extension. The CS algorithm implements this logic as shown in the Special Calculation extra tables. Some combinations of codes may be errors. The CS algorithm will derive stage values if possible; a separate edit program may be required to identify errors for correction.\n\n**Note 9**: This version of the table is only used to calculate Summary Stage T values.", - "footnotes" : "For this site, extension is coded in two CS fields: CS Extension - Clinical Extension and CS Site-Specific Factor 3 - Pathologic Extension. The mapping values for the T category for AJCC stage, SS77, and SS2000 and the associated c, p, yp, or a indicator are assigned based on the values in CS Extension - Clinical Extension, CS Tumor Size/Ext Eval, and CS Site-Specific Factor 3 - Pathologic Extension as shown in the Special Calculation Table for TNM 7 Invasive/Unknown Pathologic Extension Eval, Special Calculation Table for TNM 7 Non-Invasive Pathologic Extension, Special Calculation Table for TNM 6 Invasive/Unknown Pathologic Extension Eval, Special Calculation Table for TNM 6 Non-Invasive Pathologic Extension, and Special Calculation Table for SEER Summary Stage.", - "last_modified" : "2015-05-27T16:19:20.806Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "VALUE:IS", "VALUE:IS" ], [ "100", "VALUE:L", "VALUE:L" ], [ "130", "VALUE:L", "VALUE:L" ], [ "140", "VALUE:L", "VALUE:L" ], [ "150", "VALUE:L", "VALUE:L" ], [ "200", "VALUE:L", "VALUE:L" ], [ "210", "VALUE:L", "VALUE:L" ], [ "220", "VALUE:L", "VALUE:L" ], [ "230", "VALUE:L", "VALUE:L" ], [ "240", "VALUE:L", "VALUE:L" ], [ "300", "VALUE:L", "VALUE:L" ], [ "310", "ERROR:", "ERROR:" ], [ "330", "ERROR:", "ERROR:" ], [ "340", "ERROR:", "ERROR:" ], [ "410", "VALUE:RE", "VALUE:RE" ], [ "420", "VALUE:RE", "VALUE:RE" ], [ "430", "VALUE:RE", "VALUE:RE" ], [ "440", "VALUE:RE", "VALUE:RE" ], [ "445", "VALUE:RE", "VALUE:RE" ], [ "450", "VALUE:RE", "VALUE:RE" ], [ "470", "VALUE:RE", "VALUE:RE" ], [ "490", "VALUE:RE", "VALUE:RE" ], [ "500", "VALUE:RE", "VALUE:RE" ], [ "510", "VALUE:RE", "VALUE:RE" ], [ "520", "VALUE:D", "VALUE:RE" ], [ "600", "VALUE:D", "VALUE:D" ], [ "700", "VALUE:D", "VALUE:D" ], [ "750", "VALUE:RE", "VALUE:RE" ], [ "950", "VALUE:U", "VALUE:U" ], [ "999", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_sstg_bcu.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_sstg_bcu.json deleted file mode 100644 index aeae507a9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_sstg_bcu.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_sstg_bcu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension", - "title" : "CS Extension", - "notes" : "**Note 1**: For correct calculation of derived staging fields for this schema, CS Extension and CS Site-Specific Factor 1, Extension Evaluated at Enucleation, must both be coded, whether or not an enucleation was performed. Information from enucleation is excluded from CS Extension and coded only in CS Site-Specific Factor 1.\n\n**Note 2**: If both eyes are involved, code the information for the most extensively involved eye in this field, and code the information for the second eye in CS Site-Specific Factor 6.\n\n**Note 3**: The mapping values for AJCC T, SS77, and SS2000 and the associated c, p, y, or a indicator (staging basis) are assigned based on the values in CS Extension (clinical extension), CS Tumor Size/Ext Eval, and CS Site-Specific Factor 1 - Extension Evaluated at Enucleation. Pathologic staging information from an enucleation always takes precedence over clinical staging, except in cases with neoadjuvant treatment where clinical disease is as extensive as or more extensive than disease at surgery.\n\n**Note 4**: This version of the table is only used to calculate Summary Stage T values.", - "footnotes" : "For this site, extension is coded in two CS Fields: CS Extension (clinical extension) and CS Site-Specific Factor 1 - Extension Evaluated at Enucleation. The mapping values for the T category for AJCC stage, SS77, and SS2000 and the associated c, p, y, or a indicator are assigned based on the values in CS Extension, CS Tumor Size/Ext Eval, and CS Site-Specific Factor 1 as shown in the Special Calculation Table for AJCC T and Special Calculation Table for SEER Summary Stage.", - "last_modified" : "2015-05-27T16:19:20.854Z", - "definition" : [ { - "key" : "extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "110", "VALUE:L", "VALUE:L" ], [ "120", "VALUE:L", "VALUE:L" ], [ "130", "VALUE:L", "VALUE:L" ], [ "140", "VALUE:L", "VALUE:L" ], [ "160", "VALUE:L", "VALUE:L" ], [ "180", "VALUE:L", "VALUE:L" ], [ "310", "VALUE:L", "VALUE:L" ], [ "410", "VALUE:L", "VALUE:L" ], [ "420", "VALUE:L", "VALUE:L" ], [ "430", "VALUE:L", "VALUE:L" ], [ "440", "VALUE:L", "VALUE:L" ], [ "450", "VALUE:L", "VALUE:L" ], [ "460", "VALUE:L", "VALUE:L" ], [ "470", "VALUE:L", "VALUE:L" ], [ "500", "VALUE:L", "VALUE:L" ], [ "520", "VALUE:L", "VALUE:L" ], [ "540", "VALUE:L", "VALUE:L" ], [ "590", "VALUE:RE", "VALUE:RE" ], [ "680", "VALUE:RE", "VALUE:RE" ], [ "700", "VALUE:RE", "VALUE:RE" ], [ "720", "VALUE:D", "VALUE:D" ], [ "740", "VALUE:D", "VALUE:D" ], [ "750", "VALUE:RE", "VALUE:RE" ], [ "760", "VALUE:RE", "VALUE:RE" ], [ "800", "VALUE:D", "VALUE:D" ], [ "950", "VALUE:U", "VALUE:U" ], [ "999", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_t4_ssf1_ajcc7_xgw.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_t4_ssf1_ajcc7_xgw.json deleted file mode 100644 index f23f9d207..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_t4_ssf1_ajcc7_xgw.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_t4_ssf1_ajcc7_xgw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension T4 SSF1 AJCC7", - "title" : "Extension T4 SSF 1 AJCC 7 Table", - "notes" : "**Note**: For CS Extension code(s) 560-700 and 730-815 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Extension and CS Site-Specific Factor 1 as shown in this table.", - "last_modified" : "2015-05-27T16:19:20.903Z", - "definition" : [ { - "key" : "ssf1", - "name" : "SSF1", - "type" : "INPUT" - }, { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "T Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "001, 002", "560", "ERROR:" ], [ "001, 002", "600", "ERROR:" ], [ "001, 002", "620", "ERROR:" ], [ "001, 002", "650", "ERROR:" ], [ "001, 002", "700", "ERROR:" ], [ "001, 002", "720", "ERROR:" ], [ "001, 002", "730", "ERROR:" ], [ "001, 002", "800", "ERROR:" ], [ "001, 002", "810", "ERROR:" ], [ "001, 002", "815", "ERROR:" ], [ "000, 988, 999", "560", "VALUE:T4a" ], [ "000, 988, 999", "600", "VALUE:T4b" ], [ "000, 988, 999", "620", "VALUE:T4b" ], [ "000, 988, 999", "650", "VALUE:T4b" ], [ "000, 988, 999", "700", "VALUE:T4b" ], [ "000, 988, 999", "720", "ERROR:" ], [ "000, 988, 999", "730", "VALUE:T4b" ], [ "000, 988, 999", "800", "VALUE:T4b" ], [ "000, 988, 999", "810", "VALUE:T4b" ], [ "000, 988, 999", "815", "VALUE:T4NOS" ], [ "010", "560", "VALUE:T4a(s)" ], [ "010", "600", "VALUE:T4b(s)" ], [ "010", "620", "VALUE:T4b(s)" ], [ "010", "650", "VALUE:T4b(s)" ], [ "010", "700", "VALUE:T4b(s)" ], [ "010", "720", "ERROR:" ], [ "010", "730", "VALUE:T4b(s)" ], [ "010", "800", "VALUE:T4b(s)" ], [ "010", "810", "VALUE:T4b(s)" ], [ "010", "815", "VALUE:T4NOS(s)" ], [ "020", "560", "VALUE:T4a(m)" ], [ "020", "600", "VALUE:T4b(m)" ], [ "020", "620", "VALUE:T4b(m)" ], [ "020", "650", "VALUE:T4b(m)" ], [ "020", "700", "VALUE:T4b(m)" ], [ "020", "720", "ERROR:" ], [ "020", "730", "VALUE:T4b(m)" ], [ "020", "800", "VALUE:T4b(m)" ], [ "020", "810", "VALUE:T4b(m)" ], [ "020", "815", "VALUE:T4NOS(m)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc6_xkj.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc6_xkj.json deleted file mode 100644 index 773fd6d85..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc6_xkj.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "extension_thickness_ulceration_tcategory_ajcc6_xkj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Thickness Ulceration T Category AJCC6", - "title" : "Extension Thickness Ulceration T Category AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 310-380, the T category for AJCC 6 staging is assigned based on thickness from CS Site-Specific Factor 1 and ulceration from CS Site-Specific Factor 2. For tumor thickness 0.01-1.00 millimeter (mm), ulceration and Clark level are used to assign staging to T1a and T1b as shown in the Extension Ulceration T1 AJCC6 Table.", - "footnotes" : "- For tumor thickness of 0.01-1.00 millimeter (mm), the T category for AJCC 6 staging is assigned as shown in the Extension Ulceration T1 AJCC 6 Table.", - "last_modified" : "2015-05-27T16:19:20.949Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF 1 Thickness", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2 Ulceration", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "310,315,320,330,335,340,350,355,360,370,375,380", "000", "000", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "001-100", "000", "JUMP:extension_ulceration_t1_ajcc6_xbo" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "981-990", "000", "ERROR:" ], [ "310", "101-200", "000", "VALUE:T2a" ], [ "310", "201-400", "000", "VALUE:T3a" ], [ "310", "401-980", "000", "VALUE:T4a" ], [ "310", "999", "000", "VALUE:T1a" ], [ "315", "101-200", "000", "VALUE:T2a" ], [ "315", "201-400", "000", "VALUE:T3a" ], [ "315", "401-980", "000", "VALUE:T4a" ], [ "315", "999", "000", "VALUE:T1a" ], [ "320", "101-200", "000", "VALUE:T2a" ], [ "320", "201-400", "000", "VALUE:T3a" ], [ "320", "401-980", "000", "VALUE:T4a" ], [ "320", "999", "000", "VALUE:T1a" ], [ "330", "101-200", "000", "VALUE:T2a" ], [ "330", "201-400", "000", "VALUE:T3a" ], [ "330", "401-980", "000", "VALUE:T4a" ], [ "330", "999", "000", "VALUE:T2a" ], [ "335", "101-200", "000", "VALUE:T2a" ], [ "335", "201-400", "000", "VALUE:T3a" ], [ "335", "401-980", "000", "VALUE:T4a" ], [ "335", "999", "000", "VALUE:T2a" ], [ "340", "101-200", "000", "VALUE:T2a" ], [ "340", "201-400", "000", "VALUE:T3a" ], [ "340", "401-980", "000", "VALUE:T4a" ], [ "340", "999", "000", "VALUE:T2a" ], [ "350", "101-200", "000", "VALUE:T2a" ], [ "350", "201-400", "000", "VALUE:T3a" ], [ "350", "401-980", "000", "VALUE:T4a" ], [ "350", "999", "000", "VALUE:T3a" ], [ "355", "101-200", "000", "VALUE:T2a" ], [ "355", "201-400", "000", "VALUE:T3a" ], [ "355", "401-980", "000", "VALUE:T4a" ], [ "355", "999", "000", "VALUE:T3a" ], [ "360", "101-200", "000", "VALUE:T2a" ], [ "360", "201-400", "000", "VALUE:T3a" ], [ "360", "401-980", "000", "VALUE:T4a" ], [ "360", "999", "000", "VALUE:T3a" ], [ "370", "101-200", "000", "VALUE:T2a" ], [ "370", "201-400", "000", "VALUE:T3a" ], [ "370", "401-980", "000", "VALUE:T4a" ], [ "370", "999", "000", "VALUE:T4a" ], [ "375", "101-200", "000", "VALUE:T2a" ], [ "375", "201-400", "000", "VALUE:T3a" ], [ "375", "401-980", "000", "VALUE:T4a" ], [ "375", "999", "000", "VALUE:T4a" ], [ "380", "101-200", "000", "VALUE:T2a" ], [ "380", "201-400", "000", "VALUE:T3a" ], [ "380", "401-980", "000", "VALUE:T4a" ], [ "380", "999", "000", "VALUE:T4a" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "000", "001", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "001-100", "001", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "981-990", "001", "ERROR:" ], [ "310", "101-200", "001", "ERROR:" ], [ "310", "201-400", "001", "ERROR:" ], [ "310", "401-980", "001", "ERROR:" ], [ "310", "999", "001", "ERROR:" ], [ "315", "101-200", "001", "ERROR:" ], [ "315", "201-400", "001", "ERROR:" ], [ "315", "401-980", "001", "ERROR:" ], [ "315", "999", "001", "ERROR:" ], [ "320", "101-200", "001", "ERROR:" ], [ "320", "201-400", "001", "ERROR:" ], [ "320", "401-980", "001", "ERROR:" ], [ "320", "999", "001", "ERROR:" ], [ "330", "101-200", "001", "ERROR:" ], [ "330", "201-400", "001", "ERROR:" ], [ "330", "401-980", "001", "ERROR:" ], [ "330", "999", "001", "ERROR:" ], [ "335", "101-200", "001", "ERROR:" ], [ "335", "201-400", "001", "ERROR:" ], [ "335", "401-980", "001", "ERROR:" ], [ "335", "999", "001", "ERROR:" ], [ "340", "101-200", "001", "ERROR:" ], [ "340", "201-400", "001", "ERROR:" ], [ "340", "401-980", "001", "ERROR:" ], [ "340", "999", "001", "ERROR:" ], [ "350", "101-200", "001", "ERROR:" ], [ "350", "201-400", "001", "ERROR:" ], [ "350", "401-980", "001", "ERROR:" ], [ "350", "999", "001", "ERROR:" ], [ "355", "101-200", "001", "ERROR:" ], [ "355", "201-400", "001", "ERROR:" ], [ "355", "401-980", "001", "ERROR:" ], [ "355", "999", "001", "ERROR:" ], [ "360", "101-200", "001", "ERROR:" ], [ "360", "201-400", "001", "ERROR:" ], [ "360", "401-980", "001", "ERROR:" ], [ "360", "999", "001", "ERROR:" ], [ "370", "101-200", "001", "ERROR:" ], [ "370", "201-400", "001", "ERROR:" ], [ "370", "401-980", "001", "ERROR:" ], [ "370", "999", "001", "ERROR:" ], [ "375", "101-200", "001", "ERROR:" ], [ "375", "201-400", "001", "ERROR:" ], [ "375", "401-980", "001", "ERROR:" ], [ "375", "999", "001", "ERROR:" ], [ "380", "101-200", "001", "ERROR:" ], [ "380", "201-400", "001", "ERROR:" ], [ "380", "401-980", "001", "ERROR:" ], [ "380", "999", "001", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "000", "010", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "001-100", "010", "JUMP:extension_ulceration_t1_ajcc6_xbo" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "981-990", "010", "ERROR:" ], [ "310", "101-200", "010", "VALUE:T2b" ], [ "310", "201-400", "010", "VALUE:T3b" ], [ "310", "401-980", "010", "VALUE:T4b" ], [ "310", "999", "010", "VALUE:T1b" ], [ "315", "101-200", "010", "VALUE:T2b" ], [ "315", "201-400", "010", "VALUE:T3b" ], [ "315", "401-980", "010", "VALUE:T4b" ], [ "315", "999", "010", "VALUE:T1b" ], [ "320", "101-200", "010", "VALUE:T2b" ], [ "320", "201-400", "010", "VALUE:T3b" ], [ "320", "401-980", "010", "VALUE:T4b" ], [ "320", "999", "010", "VALUE:T1b" ], [ "330", "101-200", "010", "VALUE:T2b" ], [ "330", "201-400", "010", "VALUE:T3b" ], [ "330", "401-980", "010", "VALUE:T4b" ], [ "330", "999", "010", "VALUE:T2b" ], [ "335", "101-200", "010", "VALUE:T2b" ], [ "335", "201-400", "010", "VALUE:T3b" ], [ "335", "401-980", "010", "VALUE:T4b" ], [ "335", "999", "010", "VALUE:T2b" ], [ "340", "101-200", "010", "VALUE:T2b" ], [ "340", "201-400", "010", "VALUE:T3b" ], [ "340", "401-980", "010", "VALUE:T4b" ], [ "340", "999", "010", "VALUE:T2b" ], [ "350", "101-200", "010", "VALUE:T2b" ], [ "350", "201-400", "010", "VALUE:T3b" ], [ "350", "401-980", "010", "VALUE:T4b" ], [ "350", "999", "010", "VALUE:T3b" ], [ "355", "101-200", "010", "VALUE:T2b" ], [ "355", "201-400", "010", "VALUE:T3b" ], [ "355", "401-980", "010", "VALUE:T4b" ], [ "355", "999", "010", "VALUE:T3b" ], [ "360", "101-200", "010", "VALUE:T2b" ], [ "360", "201-400", "010", "VALUE:T3b" ], [ "360", "401-980", "010", "VALUE:T4b" ], [ "360", "999", "010", "VALUE:T3b" ], [ "370", "101-200", "010", "VALUE:T2b" ], [ "370", "201-400", "010", "VALUE:T3b" ], [ "370", "401-980", "010", "VALUE:T4b" ], [ "370", "999", "010", "VALUE:T4b" ], [ "375", "101-200", "010", "VALUE:T2b" ], [ "375", "201-400", "010", "VALUE:T3b" ], [ "375", "401-980", "010", "VALUE:T4b" ], [ "375", "999", "010", "VALUE:T4b" ], [ "380", "101-200", "010", "VALUE:T2b" ], [ "380", "201-400", "010", "VALUE:T3b" ], [ "380", "401-980", "010", "VALUE:T4b" ], [ "380", "999", "010", "VALUE:T4b" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "000", "988", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "001-100", "988", "JUMP:extension_ulceration_t1_ajcc6_xbo" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "981-990", "988", "ERROR:" ], [ "310", "101-200", "988", "ERROR:" ], [ "310", "201-400", "988", "ERROR:" ], [ "310", "401-980", "988", "ERROR:" ], [ "310", "999", "988", "ERROR:" ], [ "315", "101-200", "988", "ERROR:" ], [ "315", "201-400", "988", "ERROR:" ], [ "315", "401-980", "988", "ERROR:" ], [ "315", "999", "988", "ERROR:" ], [ "320", "101-200", "988", "ERROR:" ], [ "320", "201-400", "988", "ERROR:" ], [ "320", "401-980", "988", "ERROR:" ], [ "320", "999", "988", "ERROR:" ], [ "330", "101-200", "988", "ERROR:" ], [ "330", "201-400", "988", "ERROR:" ], [ "330", "401-980", "988", "ERROR:" ], [ "330", "999", "988", "ERROR:" ], [ "335", "101-200", "988", "ERROR:" ], [ "335", "201-400", "988", "ERROR:" ], [ "335", "401-980", "988", "ERROR:" ], [ "335", "999", "988", "ERROR:" ], [ "340", "101-200", "988", "ERROR:" ], [ "340", "201-400", "988", "ERROR:" ], [ "340", "401-980", "988", "ERROR:" ], [ "340", "999", "988", "ERROR:" ], [ "350", "101-200", "988", "ERROR:" ], [ "350", "201-400", "988", "ERROR:" ], [ "350", "401-980", "988", "ERROR:" ], [ "350", "999", "988", "ERROR:" ], [ "355", "101-200", "988", "ERROR:" ], [ "355", "201-400", "988", "ERROR:" ], [ "355", "401-980", "988", "ERROR:" ], [ "355", "999", "988", "ERROR:" ], [ "360", "101-200", "988", "ERROR:" ], [ "360", "201-400", "988", "ERROR:" ], [ "360", "401-980", "988", "ERROR:" ], [ "360", "999", "988", "ERROR:" ], [ "370", "101-200", "988", "ERROR:" ], [ "370", "201-400", "988", "ERROR:" ], [ "370", "401-980", "988", "ERROR:" ], [ "370", "999", "988", "ERROR:" ], [ "375", "101-200", "988", "ERROR:" ], [ "375", "201-400", "988", "ERROR:" ], [ "375", "401-980", "988", "ERROR:" ], [ "375", "999", "988", "ERROR:" ], [ "380", "101-200", "988", "ERROR:" ], [ "380", "201-400", "988", "ERROR:" ], [ "380", "401-980", "988", "ERROR:" ], [ "380", "999", "988", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "000", "999", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "001-100", "999", "JUMP:extension_ulceration_t1_ajcc6_xbo" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "981-990", "999", "ERROR:" ], [ "310", "101-200", "999", "VALUE:T2NOS" ], [ "310", "201-400", "999", "VALUE:T3NOS" ], [ "310", "401-980", "999", "VALUE:T4NOS" ], [ "310", "999", "999", "VALUE:T1a" ], [ "315", "101-200", "999", "VALUE:T2NOS" ], [ "315", "201-400", "999", "VALUE:T3NOS" ], [ "315", "401-980", "999", "VALUE:T4NOS" ], [ "315", "999", "999", "VALUE:T1NOS" ], [ "320", "101-200", "999", "VALUE:T2NOS" ], [ "320", "201-400", "999", "VALUE:T3NOS" ], [ "320", "401-980", "999", "VALUE:T4NOS" ], [ "320", "999", "999", "VALUE:T1NOS" ], [ "330", "101-200", "999", "VALUE:T2a" ], [ "330", "201-400", "999", "VALUE:T3NOS" ], [ "330", "401-980", "999", "VALUE:T4NOS" ], [ "330", "999", "999", "VALUE:T2a" ], [ "335", "101-200", "999", "VALUE:T2b" ], [ "335", "201-400", "999", "VALUE:T3NOS" ], [ "335", "401-980", "999", "VALUE:T4NOS" ], [ "335", "999", "999", "VALUE:T2b" ], [ "340", "101-200", "999", "VALUE:T2NOS" ], [ "340", "201-400", "999", "VALUE:T3NOS" ], [ "340", "401-980", "999", "VALUE:T4NOS" ], [ "340", "999", "999", "VALUE:T2NOS" ], [ "350", "101-200", "999", "VALUE:T2NOS" ], [ "350", "201-400", "999", "VALUE:T3a" ], [ "350", "401-980", "999", "VALUE:T4NOS" ], [ "350", "999", "999", "VALUE:T3a" ], [ "355", "101-200", "999", "VALUE:T2NOS" ], [ "355", "201-400", "999", "VALUE:T3b" ], [ "355", "401-980", "999", "VALUE:T4NOS" ], [ "355", "999", "999", "VALUE:T3b" ], [ "360", "101-200", "999", "VALUE:T2NOS" ], [ "360", "201-400", "999", "VALUE:T3NOS" ], [ "360", "401-980", "999", "VALUE:T4NOS" ], [ "360", "999", "999", "VALUE:T3NOS" ], [ "370", "101-200", "999", "VALUE:T2NOS" ], [ "370", "201-400", "999", "VALUE:T3NOS" ], [ "370", "401-980", "999", "VALUE:T4a" ], [ "370", "999", "999", "VALUE:T4a" ], [ "375", "101-200", "999", "VALUE:T2NOS" ], [ "375", "201-400", "999", "VALUE:T3NOS" ], [ "375", "401-980", "999", "VALUE:T4b" ], [ "375", "999", "999", "VALUE:T4b" ], [ "380", "101-200", "999", "VALUE:T2NOS" ], [ "380", "201-400", "999", "VALUE:T3NOS" ], [ "380", "401-980", "999", "VALUE:T4NOS" ], [ "380", "999", "999", "VALUE:T4NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc7_xkk.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc7_xkk.json deleted file mode 100644 index d031a0fb0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_thickness_ulceration_tcategory_ajcc7_xkk.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "extension_thickness_ulceration_tcategory_ajcc7_xkk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Thickness Ulceration T Category AJCC7", - "title" : "Extension Thickness Ulceration T Category AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 310-380, the T category for AJCC 7 staging is assigned based on thickness from CS Site-Specific Factor 1 and ulceration from CS Site-Specific Factor 2. For tumor thickness 0.01-1.00 millimeter (mm), ulceration and mitotic rate are used to assign staging to T1a and T1b as shown in the Mitotic Rate Ulceration T1 AJCC 7 Table.", - "footnotes" : "- For tumor thickness of 0.01-1.00 millimeter (mm), the T category for AJCC7 staging is assigned as shown in the Mitotic Rate Ulceration T1 AJCC 7 Table.", - "last_modified" : "2015-05-27T16:19:21.032Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF 1 Thickness", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2 Ulceration", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "310,315,320,330,335,340,350,355,360,370,375,380", "000", "000", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "001-100", "000", "JUMP:mitotic_rate_ulceration_t1_ajcc7_xgo" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "981-990", "000", "ERROR:" ], [ "310", "101-200", "000", "VALUE:T2a" ], [ "310", "201-400", "000", "VALUE:T3a" ], [ "310", "401-980", "000", "VALUE:T4a" ], [ "310", "999", "000", "VALUE:T1a" ], [ "315", "101-200", "000", "VALUE:T2a" ], [ "315", "201-400", "000", "VALUE:T3a" ], [ "315", "401-980", "000", "VALUE:T4a" ], [ "315", "999", "000", "VALUE:T1a" ], [ "320", "101-200", "000", "VALUE:T2a" ], [ "320", "201-400", "000", "VALUE:T3a" ], [ "320", "401-980", "000", "VALUE:T4a" ], [ "320", "999", "000", "VALUE:T1a" ], [ "330", "101-200", "000", "VALUE:T2a" ], [ "330", "201-400", "000", "VALUE:T3a" ], [ "330", "401-980", "000", "VALUE:T4a" ], [ "330", "999", "000", "VALUE:T2a" ], [ "335", "101-200", "000", "VALUE:T2a" ], [ "335", "201-400", "000", "VALUE:T3a" ], [ "335", "401-980", "000", "VALUE:T4a" ], [ "335", "999", "000", "VALUE:T2a" ], [ "340", "101-200", "000", "VALUE:T2a" ], [ "340", "201-400", "000", "VALUE:T3a" ], [ "340", "401-980", "000", "VALUE:T4a" ], [ "340", "999", "000", "VALUE:T2a" ], [ "350", "101-200", "000", "VALUE:T2a" ], [ "350", "201-400", "000", "VALUE:T3a" ], [ "350", "401-980", "000", "VALUE:T4a" ], [ "350", "999", "000", "VALUE:T3a" ], [ "355", "101-200", "000", "VALUE:T2a" ], [ "355", "201-400", "000", "VALUE:T3a" ], [ "355", "401-980", "000", "VALUE:T4a" ], [ "355", "999", "000", "VALUE:T3a" ], [ "360", "101-200", "000", "VALUE:T2a" ], [ "360", "201-400", "000", "VALUE:T3a" ], [ "360", "401-980", "000", "VALUE:T4a" ], [ "360", "999", "000", "VALUE:T3a" ], [ "370", "101-200", "000", "VALUE:T2a" ], [ "370", "201-400", "000", "VALUE:T3a" ], [ "370", "401-980", "000", "VALUE:T4a" ], [ "370", "999", "000", "VALUE:T4a" ], [ "375", "101-200", "000", "VALUE:T2a" ], [ "375", "201-400", "000", "VALUE:T3a" ], [ "375", "401-980", "000", "VALUE:T4a" ], [ "375", "999", "000", "VALUE:T4a" ], [ "380", "101-200", "000", "VALUE:T2a" ], [ "380", "201-400", "000", "VALUE:T3a" ], [ "380", "401-980", "000", "VALUE:T4a" ], [ "380", "999", "000", "VALUE:T4a" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "000", "001", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "001-100", "001", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "981-990", "001", "ERROR:" ], [ "310", "101-200", "001", "ERROR:" ], [ "310", "201-400", "001", "ERROR:" ], [ "310", "401-980", "001", "ERROR:" ], [ "310", "999", "001", "ERROR:" ], [ "315", "101-200", "001", "ERROR:" ], [ "315", "201-400", "001", "ERROR:" ], [ "315", "401-980", "001", "ERROR:" ], [ "315", "999", "001", "ERROR:" ], [ "320", "101-200", "001", "ERROR:" ], [ "320", "201-400", "001", "ERROR:" ], [ "320", "401-980", "001", "ERROR:" ], [ "320", "999", "001", "ERROR:" ], [ "330", "101-200", "001", "ERROR:" ], [ "330", "201-400", "001", "ERROR:" ], [ "330", "401-980", "001", "ERROR:" ], [ "330", "999", "001", "ERROR:" ], [ "335", "101-200", "001", "ERROR:" ], [ "335", "201-400", "001", "ERROR:" ], [ "335", "401-980", "001", "ERROR:" ], [ "335", "999", "001", "ERROR:" ], [ "340", "101-200", "001", "ERROR:" ], [ "340", "201-400", "001", "ERROR:" ], [ "340", "401-980", "001", "ERROR:" ], [ "340", "999", "001", "ERROR:" ], [ "350", "101-200", "001", "ERROR:" ], [ "350", "201-400", "001", "ERROR:" ], [ "350", "401-980", "001", "ERROR:" ], [ "350", "999", "001", "ERROR:" ], [ "355", "101-200", "001", "ERROR:" ], [ "355", "201-400", "001", "ERROR:" ], [ "355", "401-980", "001", "ERROR:" ], [ "355", "999", "001", "ERROR:" ], [ "360", "101-200", "001", "ERROR:" ], [ "360", "201-400", "001", "ERROR:" ], [ "360", "401-980", "001", "ERROR:" ], [ "360", "999", "001", "ERROR:" ], [ "370", "101-200", "001", "ERROR:" ], [ "370", "201-400", "001", "ERROR:" ], [ "370", "401-980", "001", "ERROR:" ], [ "370", "999", "001", "ERROR:" ], [ "375", "101-200", "001", "ERROR:" ], [ "375", "201-400", "001", "ERROR:" ], [ "375", "401-980", "001", "ERROR:" ], [ "375", "999", "001", "ERROR:" ], [ "380", "101-200", "001", "ERROR:" ], [ "380", "201-400", "001", "ERROR:" ], [ "380", "401-980", "001", "ERROR:" ], [ "380", "999", "001", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "000", "010", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "001-100", "010", "JUMP:mitotic_rate_ulceration_t1_ajcc7_xgo" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "981-990", "010", "ERROR:" ], [ "310", "101-200", "010", "VALUE:T2b" ], [ "310", "201-400", "010", "VALUE:T3b" ], [ "310", "401-980", "010", "VALUE:T4b" ], [ "310", "999", "010", "VALUE:T1b" ], [ "315", "101-200", "010", "VALUE:T2b" ], [ "315", "201-400", "010", "VALUE:T3b" ], [ "315", "401-980", "010", "VALUE:T4b" ], [ "315", "999", "010", "VALUE:T1b" ], [ "320", "101-200", "010", "VALUE:T2b" ], [ "320", "201-400", "010", "VALUE:T3b" ], [ "320", "401-980", "010", "VALUE:T4b" ], [ "320", "999", "010", "VALUE:T1b" ], [ "330", "101-200", "010", "VALUE:T2b" ], [ "330", "201-400", "010", "VALUE:T3b" ], [ "330", "401-980", "010", "VALUE:T4b" ], [ "330", "999", "010", "VALUE:T2b" ], [ "335", "101-200", "010", "VALUE:T2b" ], [ "335", "201-400", "010", "VALUE:T3b" ], [ "335", "401-980", "010", "VALUE:T4b" ], [ "335", "999", "010", "VALUE:T2b" ], [ "340", "101-200", "010", "VALUE:T2b" ], [ "340", "201-400", "010", "VALUE:T3b" ], [ "340", "401-980", "010", "VALUE:T4b" ], [ "340", "999", "010", "VALUE:T2b" ], [ "350", "101-200", "010", "VALUE:T2b" ], [ "350", "201-400", "010", "VALUE:T3b" ], [ "350", "401-980", "010", "VALUE:T4b" ], [ "350", "999", "010", "VALUE:T3b" ], [ "355", "101-200", "010", "VALUE:T2b" ], [ "355", "201-400", "010", "VALUE:T3b" ], [ "355", "401-980", "010", "VALUE:T4b" ], [ "355", "999", "010", "VALUE:T3b" ], [ "360", "101-200", "010", "VALUE:T2b" ], [ "360", "201-400", "010", "VALUE:T3b" ], [ "360", "401-980", "010", "VALUE:T4b" ], [ "360", "999", "010", "VALUE:T3b" ], [ "370", "101-200", "010", "VALUE:T2b" ], [ "370", "201-400", "010", "VALUE:T3b" ], [ "370", "401-980", "010", "VALUE:T4b" ], [ "370", "999", "010", "VALUE:T4b" ], [ "375", "101-200", "010", "VALUE:T2b" ], [ "375", "201-400", "010", "VALUE:T3b" ], [ "375", "401-980", "010", "VALUE:T4b" ], [ "375", "999", "010", "VALUE:T4b" ], [ "380", "101-200", "010", "VALUE:T2b" ], [ "380", "201-400", "010", "VALUE:T3b" ], [ "380", "401-980", "010", "VALUE:T4b" ], [ "380", "999", "010", "VALUE:T4b" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "000", "988", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "001-100", "988", "JUMP:mitotic_rate_ulceration_t1_ajcc7_xgo" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "981-990", "988", "ERROR:" ], [ "310", "101-200", "988", "ERROR:" ], [ "310", "201-400", "988", "ERROR:" ], [ "310", "401-980", "988", "ERROR:" ], [ "310", "999", "988", "ERROR:" ], [ "315", "101-200", "988", "ERROR:" ], [ "315", "201-400", "988", "ERROR:" ], [ "315", "401-980", "988", "ERROR:" ], [ "315", "999", "988", "ERROR:" ], [ "320", "101-200", "988", "ERROR:" ], [ "320", "201-400", "988", "ERROR:" ], [ "320", "401-980", "988", "ERROR:" ], [ "320", "999", "988", "ERROR:" ], [ "330", "101-200", "988", "ERROR:" ], [ "330", "201-400", "988", "ERROR:" ], [ "330", "401-980", "988", "ERROR:" ], [ "330", "999", "988", "ERROR:" ], [ "335", "101-200", "988", "ERROR:" ], [ "335", "201-400", "988", "ERROR:" ], [ "335", "401-980", "988", "ERROR:" ], [ "335", "999", "988", "ERROR:" ], [ "340", "101-200", "988", "ERROR:" ], [ "340", "201-400", "988", "ERROR:" ], [ "340", "401-980", "988", "ERROR:" ], [ "340", "999", "988", "ERROR:" ], [ "350", "101-200", "988", "ERROR:" ], [ "350", "201-400", "988", "ERROR:" ], [ "350", "401-980", "988", "ERROR:" ], [ "350", "999", "988", "ERROR:" ], [ "355", "101-200", "988", "ERROR:" ], [ "355", "201-400", "988", "ERROR:" ], [ "355", "401-980", "988", "ERROR:" ], [ "355", "999", "988", "ERROR:" ], [ "360", "101-200", "988", "ERROR:" ], [ "360", "201-400", "988", "ERROR:" ], [ "360", "401-980", "988", "ERROR:" ], [ "360", "999", "988", "ERROR:" ], [ "370", "101-200", "988", "ERROR:" ], [ "370", "201-400", "988", "ERROR:" ], [ "370", "401-980", "988", "ERROR:" ], [ "370", "999", "988", "ERROR:" ], [ "375", "101-200", "988", "ERROR:" ], [ "375", "201-400", "988", "ERROR:" ], [ "375", "401-980", "988", "ERROR:" ], [ "375", "999", "988", "ERROR:" ], [ "380", "101-200", "988", "ERROR:" ], [ "380", "201-400", "988", "ERROR:" ], [ "380", "401-980", "988", "ERROR:" ], [ "380", "999", "988", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "000", "999", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "001-100", "999", "JUMP:mitotic_rate_ulceration_t1_ajcc7_xgo" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "981-990", "999", "ERROR:" ], [ "310", "101-200", "999", "VALUE:T2NOS" ], [ "310", "201-400", "999", "VALUE:T3NOS" ], [ "310", "401-980", "999", "VALUE:T4NOS" ], [ "310", "999", "999", "VALUE:T1a" ], [ "315", "101-200", "999", "VALUE:T2NOS" ], [ "315", "201-400", "999", "VALUE:T3NOS" ], [ "315", "401-980", "999", "VALUE:T4NOS" ], [ "315", "999", "999", "VALUE:T1b" ], [ "320", "101-200", "999", "VALUE:T2NOS" ], [ "320", "201-400", "999", "VALUE:T3NOS" ], [ "320", "401-980", "999", "VALUE:T4NOS" ], [ "320", "999", "999", "VALUE:T1NOS" ], [ "330", "101-200", "999", "VALUE:T2a" ], [ "330", "201-400", "999", "VALUE:T3NOS" ], [ "330", "401-980", "999", "VALUE:T4NOS" ], [ "330", "999", "999", "VALUE:T2a" ], [ "335", "101-200", "999", "VALUE:T2b" ], [ "335", "201-400", "999", "VALUE:T3NOS" ], [ "335", "401-980", "999", "VALUE:T4NOS" ], [ "335", "999", "999", "VALUE:T2b" ], [ "340", "101-200", "999", "VALUE:T2NOS" ], [ "340", "201-400", "999", "VALUE:T3NOS" ], [ "340", "401-980", "999", "VALUE:T4NOS" ], [ "340", "999", "999", "VALUE:T2NOS" ], [ "350", "101-200", "999", "VALUE:T2NOS" ], [ "350", "201-400", "999", "VALUE:T3a" ], [ "350", "401-980", "999", "VALUE:T4NOS" ], [ "350", "999", "999", "VALUE:T3a" ], [ "355", "101-200", "999", "VALUE:T2NOS" ], [ "355", "201-400", "999", "VALUE:T3b" ], [ "355", "401-980", "999", "VALUE:T4NOS" ], [ "355", "999", "999", "VALUE:T3b" ], [ "360", "101-200", "999", "VALUE:T2NOS" ], [ "360", "201-400", "999", "VALUE:T3NOS" ], [ "360", "401-980", "999", "VALUE:T4NOS" ], [ "360", "999", "999", "VALUE:T3NOS" ], [ "370", "101-200", "999", "VALUE:T2NOS" ], [ "370", "201-400", "999", "VALUE:T3NOS" ], [ "370", "401-980", "999", "VALUE:T4a" ], [ "370", "999", "999", "VALUE:T4a" ], [ "375", "101-200", "999", "VALUE:T2NOS" ], [ "375", "201-400", "999", "VALUE:T3NOS" ], [ "375", "401-980", "999", "VALUE:T4b" ], [ "375", "999", "999", "VALUE:T4b" ], [ "380", "101-200", "999", "VALUE:T2NOS" ], [ "380", "201-400", "999", "VALUE:T3NOS" ], [ "380", "401-980", "999", "VALUE:T4NOS" ], [ "380", "999", "999", "VALUE:T4NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ulceration_t1_ajcc6_xbo.json b/src/test/resources/algorithms/cs/02.05.50/tables/extension_ulceration_t1_ajcc6_xbo.json deleted file mode 100644 index 05df7e1fe..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/extension_ulceration_t1_ajcc6_xbo.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_ulceration_t1_ajcc6_xbo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Extension Ulceration T1 AJCC6", - "title" : "Extension Ulceration T1 AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 100-800 and 999 ONLY with thickness (CS Site-Specific Factor 1) between 001and 100 (0.01 to 1.00 millimeter (mm)), the T1 category for AJCC 6 staging is based on the value of Clark level of invasion coded in CS Extension and ulceration coded in CS Site-Specific Factor 2.", - "last_modified" : "2015-05-27T16:19:21.106Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2 Ulceration", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "VALUE:T1a" ], [ "200", "000", "VALUE:T1a" ], [ "300", "000", "VALUE:T1b" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "000", "VALUE:T1NOS" ], [ "400", "000", "VALUE:T1NOS" ], [ "500", "000", "VALUE:T1b" ], [ "800", "000", "VALUE:T1b" ], [ "999", "000", "VALUE:T1b" ], [ "100", "001", "ERROR:" ], [ "200", "001", "ERROR:" ], [ "300", "001", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "001", "ERROR:" ], [ "400", "001", "ERROR:" ], [ "500", "001", "ERROR:" ], [ "800", "001", "ERROR:" ], [ "999", "001", "ERROR:" ], [ "100", "010", "VALUE:T1b" ], [ "200", "010", "VALUE:T1b" ], [ "300", "010", "VALUE:T1b" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "010", "VALUE:T1NOS" ], [ "400", "010", "VALUE:T1b" ], [ "500", "010", "VALUE:T1b" ], [ "800", "010", "VALUE:T1b" ], [ "999", "010", "VALUE:T1b" ], [ "100", "988", "ERROR:" ], [ "200", "988", "ERROR:" ], [ "300", "988", "ERROR:" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "988", "ERROR:" ], [ "400", "988", "ERROR:" ], [ "500", "988", "ERROR:" ], [ "800", "988", "ERROR:" ], [ "999", "988", "ERROR:" ], [ "100", "999", "VALUE:T1NOS" ], [ "200", "999", "VALUE:T1NOS" ], [ "300", "999", "VALUE:T1b" ], [ "310,315,320,330,335,340,350,355,360,370,375,380", "999", "VALUE:T1NOS" ], [ "400", "999", "VALUE:T1NOS" ], [ "500", "999", "VALUE:T1b" ], [ "800", "999", "VALUE:T1b" ], [ "999", "999", "VALUE:T1b" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/grade.json b/src/test/resources/algorithms/cs/02.05.50/tables/grade.json deleted file mode 100644 index eed6525f9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/grade.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "grade", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Grade", - "title" : "Grade", - "last_modified" : "2015-05-27T16:19:21.164Z", - "definition" : [ { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "desc", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Grade I" ], [ "2", "Grade II" ], [ "3", "Grade III" ], [ "4", "Grade IV" ], [ "5", "T-Cell" ], [ "6", "B-Cell" ], [ "7", "Null cell" ], [ "8", "NK (natural killer) cell" ], [ "9", "Grade/differentiation unknown, not stated, or not applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/grade_category_calculation_xei.json b/src/test/resources/algorithms/cs/02.05.50/tables/grade_category_calculation_xei.json deleted file mode 100644 index ecccab479..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/grade_category_calculation_xei.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_category_calculation_xei", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Grade Category Calculation", - "title" : "Grade Category Calculation Table", - "notes" : "**Note**: The Grade Category is based on CS Site-Specific Factor 11, Histopathologic Grading. The Grade Category is not the same as histologic grade (G); it is an intermediate variable used to derive stage. Note that the category C2 includes high grade for mucinous tumors and G2 and G3 (moderately differentiated and poorly differentiated) for non-mucinous tumors.", - "last_modified" : "2015-05-27T16:19:21.212Z", - "definition" : [ { - "key" : "ssf11", - "name" : "CS SSF11", - "type" : "INPUT" - }, { - "key" : "grade_category", - "name" : "Grade Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "VALUE:C1" ], [ "011", "VALUE:C1" ], [ "020", "VALUE:C2" ], [ "021", "VALUE:C2" ], [ "030", "VALUE:C3" ], [ "040", "VALUE:C4" ], [ "988", "VALUE:CX" ], [ "998", "VALUE:CX" ], [ "999", "VALUE:CX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce.json b/src/test/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce.json deleted file mode 100644 index c6eac7762..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "histologies_grade_stage_xce", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Histologies Grade Stage - AJCC 7", - "title" : "Histologies, Grade, Stage - AJCC 7", - "notes" : "**Note**: The determination of AJCC stage group from T, N, and M for thyroid depends further on histologic type, grade, and age. This table shows the selection of the appropriate version of the AJCC Stage table based on histology and grade. For papillary and follicular carcinomas, a further check on age is needed to identify the correct AJCC Stage table to be used. In the table below, \"Anaplastic\" maps to the table AJCC-Stage: Anaplastic; \"Med\", to AJCC-Stage: Medullary; and \"Pap/Fol\", to either AJCC Stage-Thyroid: Papillary and Follicular - Age less than 45 or AJCC Stage-Thyroid: Papillary and Follicular - Age 45 and Older. If age at diagnosis is unknown, AJCC stage is derived as unknown for papillary and follicular carcinomas.", - "last_modified" : "2015-05-27T16:19:21.261Z", - "definition" : [ { - "key" : "hist", - "name" : "ICD-O-3 histology code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Stage Table", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_stage", - "name" : "Stage Table 7", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "8020", "Carcinoma, undifferentiated, NOS", "1,2,3,4,9", "*", "Anaplastic", "JUMP:ajcctnm7_stage_thyroid_anaplastic_xdz" ], [ "8021", "Carcinoma, anaplastic, NOS", "1,2,3,4,9", "*", "Anaplastic", "JUMP:ajcctnm7_stage_thyroid_anaplastic_xdz" ], [ "8030", "Giant cell and spindle cell carcinoma", "1,2,3,4,9", "*", "Anaplastic", "JUMP:ajcctnm7_stage_thyroid_anaplastic_xdz" ], [ "8031", "Giant cell carcinoma", "1,2,3,4,9", "*", "Anaplastic", "JUMP:ajcctnm7_stage_thyroid_anaplastic_xdz" ], [ "8032", "Spindle cell carcinoma", "1,2,3,4,9", "*", "Anaplastic", "JUMP:ajcctnm7_stage_thyroid_anaplastic_xdz" ], [ "8345", "Medullary carcinoma with amyloid stroma (C73.9)", "1,2,3,9", "*", "Med", "JUMP:ajcctnm7_stage_thyroid_medullary_xdy" ], [ "8346", "Mixed medullary-follicular carcinoma (C73.9)", "1,2,3,9", "*", "Med", "JUMP:ajcctnm7_stage_thyroid_medullary_xdy" ], [ "8347", "Mixed medullary-papillary carcinoma (C73.9)", "1,2,3,9", "*", "Med", "JUMP:ajcctnm7_stage_thyroid_medullary_xdy" ], [ "8430", "Mucoepidermoid tumor [obs]", "1,2,3,9", "*", "Med", "JUMP:ajcctnm7_stage_thyroid_medullary_xdy" ], [ "8510", "Medullary carcinoma, NOS", "1,2,3,9", "*", "Med", "JUMP:ajcctnm7_stage_thyroid_medullary_xdy" ], [ "8512", "Medullary carcinoma with lymphoid stroma", "1,2,3,9", "*", "Med", "JUMP:ajcctnm7_stage_thyroid_medullary_xdy" ], [ "8513", "Atypical medullary carcinoma (C50._)", "1,2,3,9", "*", "Med", "JUMP:ajcctnm7_stage_thyroid_medullary_xdy" ], [ "*", "Any histology in inclusion table", "4", "*", "Anaplastic", "JUMP:ajcctnm7_stage_thyroid_anaplastic_xdz" ], [ "*", "Any histology in inclusion table", "5-8", "*", "ERROR", "ERROR:" ], [ "*", "ALL OTHER HISTOLOGIES IN INCLUSION TABLE", "1,2,3,9", "000-044", "Pap/Fol", "JUMP:ajcc7_stage_uag" ], [ "*", "ALL OTHER HISTOLOGIES IN INCLUSION TABLE", "1,2,3,9", "045-120", "Pap/Fol", "JUMP:ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older_xdx" ], [ "*", "ALL OTHER HISTOLOGIES IN INCLUSION TABLE", "1,2,3,9", "999", "Pap/Fol", "JUMP:determine_validity_for_ajcc7_ns42" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce_6.json b/src/test/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce_6.json deleted file mode 100644 index 408743b5d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/histologies_grade_stage_xce_6.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "histologies_grade_stage_xce_6", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Histologies Grade Stage - AJCC 6", - "title" : "Histologies, Grade, Stage - AJCC 6", - "notes" : "**Note**: The determination of AJCC stage group from T, N, and M for thyroid depends further on histologic type, grade, and age. This table shows the selection of the appropriate version of the AJCC Stage table based on histology and grade. For papillary and follicular carcinomas, a further check on age is needed to identify the correct AJCC Stage table to be used. In the table below, \"Anaplastic\" maps to the table AJCC-Stage: Anaplastic; \"Med\", to AJCC-Stage: Medullary; and \"Pap/Fol\", to either AJCC Stage-Thyroid: Papillary and Follicular - Age less than 45 or AJCC Stage-Thyroid: Papillary and Follicular - Age 45 and Older. If age at diagnosis is unknown, AJCC stage is derived as unknown for papillary and follicular carcinomas.", - "last_modified" : "2015-05-27T16:19:21.307Z", - "definition" : [ { - "key" : "hist", - "name" : "ICD-O-3 histology code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Stage Table", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc6_stage", - "name" : "Stage Table 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "8020", "Carcinoma, undifferentiated, NOS", "1,2,3,4,9", "*", "Anaplastic", "JUMP:ajcctnm6_stage_thyroid_anaplastic_xcg" ], [ "8021", "Carcinoma, anaplastic, NOS", "1,2,3,4,9", "*", "Anaplastic", "JUMP:ajcctnm6_stage_thyroid_anaplastic_xcg" ], [ "8030", "Giant cell and spindle cell carcinoma", "1,2,3,4,9", "*", "Anaplastic", "JUMP:ajcctnm6_stage_thyroid_anaplastic_xcg" ], [ "8031", "Giant cell carcinoma", "1,2,3,4,9", "*", "Anaplastic", "JUMP:ajcctnm6_stage_thyroid_anaplastic_xcg" ], [ "8032", "Spindle cell carcinoma", "1,2,3,4,9", "*", "Anaplastic", "JUMP:ajcctnm6_stage_thyroid_anaplastic_xcg" ], [ "8345", "Medullary carcinoma with amyloid stroma (C73.9)", "1,2,3,9", "*", "Med", "JUMP:ajcctnm6_stage_thyroid_medullary_xcf" ], [ "8346", "Mixed medullary-follicular carcinoma (C73.9)", "1,2,3,9", "*", "Med", "JUMP:ajcctnm6_stage_thyroid_medullary_xcf" ], [ "8347", "Mixed medullary-papillary carcinoma (C73.9)", "1,2,3,9", "*", "Med", "JUMP:ajcctnm6_stage_thyroid_medullary_xcf" ], [ "8430", "Mucoepidermoid tumor [obs]", "1,2,3,9", "*", "Med", "JUMP:ajcctnm6_stage_thyroid_medullary_xcf" ], [ "8510", "Medullary carcinoma, NOS", "1,2,3,9", "*", "Med", "JUMP:ajcctnm6_stage_thyroid_medullary_xcf" ], [ "8512", "Medullary carcinoma with lymphoid stroma", "1,2,3,9", "*", "Med", "JUMP:ajcctnm6_stage_thyroid_medullary_xcf" ], [ "8513", "Atypical medullary carcinoma (C50._)", "1,2,3,9", "*", "Med", "JUMP:ajcctnm6_stage_thyroid_medullary_xcf" ], [ "*", "Any histology in inclusion table", "4", "*", "Anaplastic", "JUMP:ajcctnm6_stage_thyroid_anaplastic_xcg" ], [ "*", "Any histology in inclusion table", "5-8", "*", "ERROR", "ERROR:" ], [ "*", "ALL OTHER HISTOLOGIES IN INCLUSION TABLE", "1,2,3,9", "000-044", "Pap/Fol", "JUMP:ajcc6_stage_qax" ], [ "*", "ALL OTHER HISTOLOGIES IN INCLUSION TABLE", "1,2,3,9", "045-120", "Pap/Fol", "JUMP:ajcctnm6_stage_thyroid_papillaryand_follicular_age45and_older_xco" ], [ "*", "ALL OTHER HISTOLOGIES IN INCLUSION TABLE", "1,2,3,9", "999", "Pap/Fol", "JUMP:determine_validity_for_ajcc6_ns50" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_6.json b/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_6.json deleted file mode 100644 index 3ec5b4009..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_6.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "histologies_stage_xhq_6", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Histologies Stage TNM 6", - "title" : "Histologies Stage Table - For TNM 6", - "notes" : "**Note**: The determination of AJCC stage group from T, N, M, and grade for bone depends further on histologic type. This table shows the selection of the appropriate version of the AJCC Stage table based on histology. \"Ewing\" maps to the table AJCC TNM 6 and 7 Stage Ewing, which is used to derive stage group for both AJCC 6 and AJCC 7 staging. \"Not Ewing\" maps to the tables AJCC TNM 6 Stage Not Ewing and AJCC TNM 7 Stage Not Ewing for deriving AJCC 6and AJCC 7 stage group, respectively.", - "last_modified" : "2015-05-27T16:19:21.353Z", - "definition" : [ { - "key" : "hist", - "name" : "ICD-O-3 Histology Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "9260", "Ewing sarcoma", "JUMP:ajcctnm6and7_stage_ewing_xho" ], [ "9364", "Peripheral neuroectodermal tumor", "JUMP:ajcctnm6and7_stage_ewing_xho" ], [ "*", "ALL OTHER HISTOLOGIES IN INCLUSION TABLE", "JUMP:ajcc6_stage_not_ewing_qai" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_7.json b/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_7.json deleted file mode 100644 index fe576c6d7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhq_7.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "histologies_stage_xhq_7", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Histologies Stage TNM 7", - "title" : "Histologies Stage Table - For TNM 7", - "notes" : "**Note**: The determination of AJCC stage group from T, N, M, and grade for bone depends further on histologic type. This table shows the selection of the appropriate version of the AJCC Stage table based on histology. \"Ewing\" maps to the table AJCC TNM 6 and 7 Stage Ewing, which is used to derive stage group for both AJCC 6 and AJCC 7 staging. \"Not Ewing\" maps to the tables AJCC TNM 6 Stage Not Ewing and AJCC TNM 7 Stage Not Ewing for deriving AJCC 6and AJCC 7 stage group, respectively.", - "last_modified" : "2015-05-27T16:19:21.398Z", - "definition" : [ { - "key" : "hist", - "name" : "ICD-O-3 Histology Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "9260", "Ewing sarcoma", "JUMP:ajcctnm6and7_stage_ewing_xho" ], [ "9364", "Peripheral neuroectodermal tumor", "JUMP:ajcctnm6and7_stage_ewing_xho" ], [ "*", "ALL OTHER HISTOLOGIES IN INCLUSION TABLE", "JUMP:ajcc7_stage_not_ewing_ube" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhw.json b/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhw.json deleted file mode 100644 index 9979edb9a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhw.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "histologies_stage_xhw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Histologies Stage", - "title" : "Histologies Stage Table", - "notes" : "**Note 1**: The determination of the AJCC 7 stage group from T, N, M, and grade for esophagus depends further on histologic type. Since squamous cell carcinoma typically has a poorer prognosis than adenocarcinoma, a tumor of mixed histopathologic type (including a squamous component or NOS histology) or a type that is not otherwise specified should be staged as squamous cell carcinoma.\n\n**Note 2**: This table shows the selection of the appropriate version of the AJCC Stage table based on histology. In the table below, Squamous maps to the table AJCC TNM 7 Stage Squamous, and Adenocarcinoma maps to the table AJCC TNM 7 Stage Adenocarcinoma.", - "last_modified" : "2015-05-27T16:19:21.442Z", - "definition" : [ { - "key" : "hist", - "name" : "ICD-O-3 histology code", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage Table", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "8000-8046", "JUMP:ajcctnm7_stage_squamous_xhy" ], [ "8050", "JUMP:ajcctnm7_stage_adenocarcinoma_xhz" ], [ "8051-8131", "JUMP:ajcctnm7_stage_squamous_xhy" ], [ "8140-8147", "JUMP:ajcctnm7_stage_adenocarcinoma_xhz" ], [ "8148-8157", "JUMP:ajcctnm7_stage_squamous_xhy" ], [ "8160-8162", "JUMP:ajcctnm7_stage_adenocarcinoma_xhz" ], [ "8170-8175", "JUMP:ajcctnm7_stage_adenocarcinoma_xhz" ], [ "8180-8221", "JUMP:ajcctnm7_stage_adenocarcinoma_xhz" ], [ "8230-8249", "JUMP:ajcctnm7_stage_squamous_xhy" ], [ "8250-8507", "JUMP:ajcctnm7_stage_adenocarcinoma_xhz" ], [ "8508", "JUMP:ajcctnm7_stage_squamous_xhy" ], [ "8510-8513", "JUMP:ajcctnm7_stage_squamous_xhy" ], [ "8514-8551", "JUMP:ajcctnm7_stage_adenocarcinoma_xhz" ], [ "8560-8570", "JUMP:ajcctnm7_stage_squamous_xhy" ], [ "8571-8574", "JUMP:ajcctnm7_stage_adenocarcinoma_xhz" ], [ "8575", "JUMP:ajcctnm7_stage_squamous_xhy" ], [ "8576", "JUMP:ajcctnm7_stage_adenocarcinoma_xhz" ], [ "8940-8941", "JUMP:ajcctnm7_stage_adenocarcinoma_xhz" ], [ "8950", "JUMP:ajcctnm7_stage_squamous_xhy" ], [ "8980-8981", "JUMP:ajcctnm7_stage_squamous_xhy" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhx.json b/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhx.json deleted file mode 100644 index d036c1348..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/histologies_stage_xhx.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "histologies_stage_xhx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Histologies Stage", - "title" : "Histologies Stage Table", - "notes" : "**Note 1**: The determination of AJCC stage group from T, N, M, and grade for EsophagusGEJunction depends further on histologic type. Since squamous cell carcinoma typically has a poorer prognosis than adenocarcinoma, a tumor of mixed histopathologic type (including a squamous component or NOS histology) or a type that is not otherwise specified should be staged as squamous cell carcinoma.\n\n**Note 2**: This table shows the selection of the appropriate version of the AJCC Stage table based on histology. In the table below, Squamous maps to the table AJCC TNM 7 Stage Squamous, and Adenocarcinoma maps to the table AJCC TNM 7 Stage Adenocarcinoma.", - "last_modified" : "2015-05-27T16:19:21.494Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage Table", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "8000-8046", "JUMP:ajcctnm7_stage_squamous_xia" ], [ "8050", "JUMP:ajcctnm7_stage_adenocarcinoma_xib" ], [ "8051-8131", "JUMP:ajcctnm7_stage_squamous_xia" ], [ "8140-8147", "JUMP:ajcctnm7_stage_adenocarcinoma_xib" ], [ "8148-8152", "JUMP:ajcctnm7_stage_squamous_xia" ], [ "8154-8157", "JUMP:ajcctnm7_stage_squamous_xia" ], [ "8160-8162", "JUMP:ajcctnm7_stage_adenocarcinoma_xib" ], [ "8170-8175", "JUMP:ajcctnm7_stage_squamous_xia" ], [ "8180-8221", "JUMP:ajcctnm7_stage_adenocarcinoma_xib" ], [ "8230-8231", "JUMP:ajcctnm7_stage_squamous_xia" ], [ "8243-8245", "JUMP:ajcctnm7_stage_squamous_xia" ], [ "8247-8248", "JUMP:ajcctnm7_stage_squamous_xia" ], [ "8250-8507", "JUMP:ajcctnm7_stage_adenocarcinoma_xib" ], [ "8508-8513", "JUMP:ajcctnm7_stage_squamous_xia" ], [ "8514-8551", "JUMP:ajcctnm7_stage_adenocarcinoma_xib" ], [ "8560-8570", "JUMP:ajcctnm7_stage_squamous_xia" ], [ "8571-8574", "JUMP:ajcctnm7_stage_adenocarcinoma_xib" ], [ "8575", "JUMP:ajcctnm7_stage_squamous_xia" ], [ "8576", "JUMP:ajcctnm7_stage_adenocarcinoma_xib" ], [ "8940-8941", "JUMP:ajcctnm7_stage_adenocarcinoma_xib" ], [ "8950", "JUMP:ajcctnm7_stage_squamous_xia" ], [ "8980-8981", "JUMP:ajcctnm7_stage_squamous_xia" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/histology.json b/src/test/resources/algorithms/cs/02.05.50/tables/histology.json deleted file mode 100644 index ef1d5b03c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/histology.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "histology", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Histology", - "title" : "Valid ICD-O-3 Histology Codes", - "last_modified" : "2015-05-27T16:19:21.539Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8005" ], [ "8010-8015" ], [ "8020-8022" ], [ "8030-8035" ], [ "8040-8046" ], [ "8050-8053" ], [ "8060" ], [ "8070-8078" ], [ "8080-8084" ], [ "8090-8098" ], [ "8100-8103" ], [ "8110" ], [ "8120-8124" ], [ "8130,8131" ], [ "8140-8157" ], [ "8160-8162" ], [ "8170-8175" ], [ "8180" ], [ "8190,8191" ], [ "8200-8202" ], [ "8204" ], [ "8210-8215" ], [ "8220,8221" ], [ "8230,8231" ], [ "8240-8255" ], [ "8260-8264" ], [ "8270-8272" ], [ "8280,8281" ], [ "8290" ], [ "8300" ], [ "8310-8325" ], [ "8330-8337" ], [ "8340-8347" ], [ "8350" ], [ "8360,8361" ], [ "8370-8375" ], [ "8380-8384" ], [ "8390-8392" ], [ "8400-8410" ], [ "8413" ], [ "8420" ], [ "8430" ], [ "8440-8444" ], [ "8450-8454" ], [ "8460-8463" ], [ "8470-8473" ], [ "8480-8482" ], [ "8490" ], [ "8500-8508" ], [ "8510" ], [ "8512-8514" ], [ "8520-8525" ], [ "8530" ], [ "8540-8543" ], [ "8550,8551" ], [ "8560-8562" ], [ "8570-8576" ], [ "8580-8593" ], [ "8600-8602" ], [ "8610" ], [ "8620-8623" ], [ "8630-8634" ], [ "8640-8642" ], [ "8650" ], [ "8660" ], [ "8670,8671" ], [ "8680-8683" ], [ "8690-8693" ], [ "8700" ], [ "8710-8713" ], [ "8720-8723" ], [ "8725-8728" ], [ "8730" ], [ "8740-8746" ], [ "8750" ], [ "8760-8762" ], [ "8770-8774" ], [ "8780" ], [ "8790" ], [ "8800-8806" ], [ "8810-8815" ], [ "8820-8827" ], [ "8830-8836" ], [ "8840-8842" ], [ "8850-8858" ], [ "8860-8862" ], [ "8870" ], [ "8880,8881" ], [ "8890-8898" ], [ "8900-8905" ], [ "8910" ], [ "8912" ], [ "8920,8921" ], [ "8930-8936" ], [ "8940,8941" ], [ "8950,8951" ], [ "8959,8960" ], [ "8963-8967" ], [ "8970-8974" ], [ "8980-8983" ], [ "8990,8991" ], [ "9000" ], [ "9010-9016" ], [ "9020" ], [ "9030" ], [ "9040-9044" ], [ "9050-9055" ], [ "9060-9065" ], [ "9070-9073" ], [ "9080-9085" ], [ "9090,9091" ], [ "9100-9105" ], [ "9110" ], [ "9120-9125" ], [ "9130-9133" ], [ "9135,9136" ], [ "9140-9142" ], [ "9150" ], [ "9160,9161" ], [ "9170-9175" ], [ "9180-9187" ], [ "9191-9195" ], [ "9200" ], [ "9210" ], [ "9220,9221" ], [ "9230,9231" ], [ "9240-9243" ], [ "9250-9252" ], [ "9260-9262" ], [ "9270-9275" ], [ "9280-9282" ], [ "9290" ], [ "9300-9302" ], [ "9310-9312" ], [ "9320-9322" ], [ "9330" ], [ "9340-9342" ], [ "9350-9352" ], [ "9360-9365" ], [ "9370-9373" ], [ "9380-9384" ], [ "9390-9394" ], [ "9400,9401" ], [ "9410-9413" ], [ "9420,9421" ], [ "9423,9424" ], [ "9430" ], [ "9440-9442" ], [ "9444" ], [ "9450,9451" ], [ "9460" ], [ "9470-9474" ], [ "9480" ], [ "9490-9493" ], [ "9500-9508" ], [ "9510-9514" ], [ "9520-9523" ], [ "9530-9535" ], [ "9537-9541" ], [ "9550" ], [ "9560-9562" ], [ "9570,9571" ], [ "9580-9582" ], [ "9590,9591" ], [ "9596,9597" ], [ "9650-9655" ], [ "9659" ], [ "9661-9665" ], [ "9667" ], [ "9670,9671" ], [ "9673" ], [ "9675" ], [ "9678-9680" ], [ "9684" ], [ "9687-9691" ], [ "9695" ], [ "9698-9702" ], [ "9705" ], [ "9708,9709" ], [ "9712" ], [ "9714" ], [ "9716-9719" ], [ "9724-9729" ], [ "9731-9735" ], [ "9737,9738" ], [ "9740-9742" ], [ "9750-9762" ], [ "9764-9769" ], [ "9800,9801" ], [ "9805-9809" ], [ "9811-9818" ], [ "9820" ], [ "9823" ], [ "9826,9827" ], [ "9831-9837" ], [ "9840" ], [ "9860,9861" ], [ "9863" ], [ "9865-9867" ], [ "9869-9876" ], [ "9891" ], [ "9895-9898" ], [ "9910,9911" ], [ "9920" ], [ "9930,9931" ], [ "9940" ], [ "9945,9946" ], [ "9948" ], [ "9950" ], [ "9960-9967" ], [ "9970,9971" ], [ "9975" ], [ "9980" ], [ "9982-9987" ], [ "9989" ], [ "9991,9992" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ajcc6_xkw.json b/src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ajcc6_xkw.json deleted file mode 100644 index 9986f1e05..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ajcc6_xkw.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "histology_grade_extension_ajcc6_xkw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Histology Grade Extension AJCC6", - "title" : "Histology Grade Extension AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 000, 100-550, and 950-999 ONLY, where histology equals 8020, 8021, 8030, 8031, or 8032, or grade equals 4, the T category is assigned based on the value of CS Extension as shown here.", - "last_modified" : "2015-05-27T16:19:21.589Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "T Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "VALUE:T4NOS" ], [ "100", "VALUE:T4a" ], [ "200", "VALUE:T4a" ], [ "300", "VALUE:T4a" ], [ "400", "VALUE:T4a" ], [ "405", "ERROR:" ], [ "410", "ERROR:" ], [ "415", "ERROR:" ], [ "420", "ERROR:" ], [ "450", "VALUE:T4b" ], [ "480", "VALUE:T4b" ], [ "490", "ERROR:" ], [ "500", "VALUE:T4b" ], [ "520", "VALUE:T4b" ], [ "550", "VALUE:T4b" ], [ "950", "VALUE:T4NOS" ], [ "999", "VALUE:T4NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ssf1_ajcc7_xkv.json b/src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ssf1_ajcc7_xkv.json deleted file mode 100644 index f41d9bca1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_ssf1_ajcc7_xkv.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "histology_grade_extension_ssf1_ajcc7_xkv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Histology Grade Extension SSF1 AJCC7", - "title" : "Histology Grade Extension SSF 1 AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 000, 100-550, and 950-999 ONLY, where histology equals 8020, 8021, 8030, 8031, or 8032, or grade equals4, the T category for AJCC 7 staging is assigned based on the value of CS Extension and CS Site-Specific Factor 1 as shown here.", - "last_modified" : "2015-05-27T16:19:21.638Z", - "definition" : [ { - "key" : "ssf1", - "name" : "SSF1", - "type" : "INPUT" - }, { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "T Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "001, 002", "000", "ERROR:" ], [ "001, 002", "100", "ERROR:" ], [ "001, 002", "200", "ERROR:" ], [ "001, 002", "300", "ERROR:" ], [ "001, 002", "400", "ERROR:" ], [ "001, 002", "405", "ERROR:" ], [ "001, 002", "410", "ERROR:" ], [ "001, 002", "415", "ERROR:" ], [ "001, 002", "420", "ERROR:" ], [ "001, 002", "450", "ERROR:" ], [ "001, 002", "480", "ERROR:" ], [ "001, 002", "490", "ERROR:" ], [ "001, 002", "500", "ERROR:" ], [ "001, 002", "520", "ERROR:" ], [ "001, 002", "550", "ERROR:" ], [ "001, 002", "950", "ERROR:" ], [ "001, 002", "999", "ERROR:" ], [ "000, 988, 999", "000", "VALUE:T4NOS" ], [ "000, 988, 999", "100", "VALUE:T4a" ], [ "000, 988, 999", "200", "VALUE:T4a" ], [ "000, 988, 999", "300", "VALUE:T4a" ], [ "000, 988, 999", "400", "VALUE:T4a" ], [ "000, 988, 999", "405", "ERROR:" ], [ "000, 988, 999", "410", "ERROR:" ], [ "000, 988, 999", "415", "ERROR:" ], [ "000, 988, 999", "420", "ERROR:" ], [ "000, 988, 999", "450", "VALUE:T4b" ], [ "000, 988, 999", "480", "VALUE:T4b" ], [ "000, 988, 999", "490", "ERROR:" ], [ "000, 988, 999", "500", "VALUE:T4b" ], [ "000, 988, 999", "520", "VALUE:T4b" ], [ "000, 988, 999", "550", "VALUE:T4b" ], [ "000, 988, 999", "950", "VALUE:T4NOS" ], [ "000, 988, 999", "999", "VALUE:T4NOS" ], [ "010", "000", "VALUE:T4NOS(s)" ], [ "010", "100", "VALUE:T4a(s)" ], [ "010", "200", "VALUE:T4a(s)" ], [ "010", "300", "VALUE:T4a(s)" ], [ "010", "400", "VALUE:T4a(s)" ], [ "010", "405", "ERROR:" ], [ "010", "410", "ERROR:" ], [ "010", "415", "ERROR:" ], [ "010", "420", "ERROR:" ], [ "010", "450", "VALUE:T4b(s)" ], [ "010", "480", "VALUE:T4b(s)" ], [ "010", "490", "ERROR:" ], [ "010", "500", "VALUE:T4b(s)" ], [ "010", "520", "VALUE:T4b(s)" ], [ "010", "550", "VALUE:T4b(s)" ], [ "010", "950", "VALUE:T4NOS(s)" ], [ "010", "999", "VALUE:T4NOS(s)" ], [ "020", "000", "VALUE:T4NOS(m)" ], [ "020", "100", "VALUE:T4a(m)" ], [ "020", "200", "VALUE:T4a(m)" ], [ "020", "300", "VALUE:T4a(m)" ], [ "020", "400", "VALUE:T4a(m)" ], [ "020", "405", "ERROR:" ], [ "020", "410", "ERROR:" ], [ "020", "415", "ERROR:" ], [ "020", "420", "ERROR:" ], [ "020", "450", "VALUE:T4b(m)" ], [ "020", "480", "VALUE:T4b(m)" ], [ "020", "490", "ERROR:" ], [ "020", "500", "VALUE:T4b(m)" ], [ "020", "520", "VALUE:T4b(m)" ], [ "020", "550", "VALUE:T4b(m)" ], [ "020", "950", "VALUE:T4NOS(m)" ], [ "020", "999", "VALUE:T4NOS(m)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_summary_stage_xgx.json b/src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_summary_stage_xgx.json deleted file mode 100644 index 4997beba0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/histology_grade_extension_summary_stage_xgx.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "histology_grade_extension_summary_stage_xgx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Histology Grade Extension Summary Stage", - "title" : "Histology Grade Extension Summary Stage Table", - "notes" : "**Note**: For CS Extension code 560 ONLY, \"Stated as T4a\", the value of Summary Stage 1977 and Summary Stage 2000 is assigned on the basis of histology and grade as shown here.", - "last_modified" : "2015-05-27T16:19:21.686Z", - "definition" : [ { - "key" : "hist", - "name" : "ICD-O-3 histology code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "t77", - "name" : "SS77 Map", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "SS2000 Map", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "8020", "Carcinoma, undifferentiated, NOS", "1,2,3,9", "VALUE:L", "VALUE:L" ], [ "8021", "Carcinoma, anaplastic, NOS", "1,2,3,9", "VALUE:L", "VALUE:L" ], [ "8030", "Giant cell and spindle cell carcinoma", "1,2,3,9", "VALUE:L", "VALUE:L" ], [ "8031", "Giant cell carcinoma", "1,2,3,9", "VALUE:L", "VALUE:L" ], [ "8032", "Spindle cell carcinoma", "1,2,3,9", "VALUE:L", "VALUE:L" ], [ "8000-9992", "Any histology", "4", "VALUE:L", "VALUE:L" ], [ "8000-9992", "Any histology", "5-8", "ERROR:", "ERROR:" ], [ "8000-8015,8022,8033-9992", "All histologies except 8020, 8021, 8030, 8031, and 8032", "1,2,3,9", "VALUE:RE", "VALUE:RE" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ids.txt b/src/test/resources/algorithms/cs/02.05.50/tables/ids.txt deleted file mode 100644 index b2109f8e4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ids.txt +++ /dev/null @@ -1,1484 +0,0 @@ -ajcc6_exclusions_paa -ajcc6_exclusions_pab -ajcc6_exclusions_pac -ajcc6_exclusions_pad -ajcc6_exclusions_pae -ajcc6_exclusions_paf -ajcc6_exclusions_pag -ajcc6_exclusions_paj -ajcc6_exclusions_pak -ajcc6_exclusions_pam -ajcc6_exclusions_pan -ajcc6_exclusions_ppb -ajcc6_exclusions_ppc -ajcc6_exclusions_ppd -ajcc6_exclusions_ppe -ajcc6_m_codes -ajcc6_n_codes -ajcc6_stage_codes -ajcc6_stage_not_ewing_qai -ajcc6_stage_qab -ajcc6_stage_qac -ajcc6_stage_qad -ajcc6_stage_qag -ajcc6_stage_qah -ajcc6_stage_qaj -ajcc6_stage_qaj_grade -ajcc6_stage_qak -ajcc6_stage_qal -ajcc6_stage_qam -ajcc6_stage_qao -ajcc6_stage_qar -ajcc6_stage_qas -ajcc6_stage_qat -ajcc6_stage_qau -ajcc6_stage_qav -ajcc6_stage_qaw -ajcc6_stage_qax -ajcc6_stage_qaz -ajcc6_stage_qbb -ajcc6_stage_qbh -ajcc6_stage_qbi -ajcc6_stage_qbj -ajcc6_stage_qbk -ajcc6_stage_qbl -ajcc6_stage_qbq -ajcc6_stage_qbr -ajcc6_stage_qbv -ajcc6_stage_qcb -ajcc6_stage_qcc -ajcc6_stage_qcd -ajcc6_stage_qdx -ajcc6_stage_qdy -ajcc6_stage_qea -ajcc6_stage_qna -ajcc6_stage_qnb -ajcc6_stage_qpb -ajcc6_stage_qpf -ajcc6_stage_qpi -ajcc6_stage_qpj -ajcc6_stage_qpk -ajcc6_stage_qpl -ajcc6_stage_qpn -ajcc6_stage_qpo -ajcc6_stage_qpp -ajcc6_stage_qpq -ajcc6_stage_qpr -ajcc6_stage_qps -ajcc6_stage_qpt -ajcc6_stage_qpu -ajcc6_stage_qpv -ajcc6_stage_qpw -ajcc6_stage_qpx -ajcc6_t_codes -ajcc6_year_validation -ajcc7_inclusions_tab -ajcc7_inclusions_tae -ajcc7_inclusions_tpa -ajcc7_inclusions_tpb -ajcc7_inclusions_tpc -ajcc7_inclusions_tpe -ajcc7_inclusions_tpf -ajcc7_inclusions_tpg -ajcc7_inclusions_tph -ajcc7_inclusions_tpi -ajcc7_inclusions_tpj -ajcc7_inclusions_tpk -ajcc7_inclusions_tpl -ajcc7_inclusions_tpm -ajcc7_inclusions_tpn -ajcc7_inclusions_tpo -ajcc7_inclusions_tpp -ajcc7_inclusions_tpq -ajcc7_inclusions_tpr -ajcc7_inclusions_tps -ajcc7_inclusions_tpt -ajcc7_inclusions_tpv -ajcc7_inclusions_tpw -ajcc7_inclusions_tpx -ajcc7_inclusions_tpy -ajcc7_inclusions_tpz -ajcc7_inclusions_tqa -ajcc7_inclusions_tqb -ajcc7_inclusions_tqc -ajcc7_inclusions_tqf -ajcc7_inclusions_tqg -ajcc7_inclusions_tqh -ajcc7_inclusions_tqi -ajcc7_inclusions_tqj -ajcc7_inclusions_tqk -ajcc7_inclusions_tql -ajcc7_inclusions_tqm -ajcc7_inclusions_tqn -ajcc7_m_codes -ajcc7_n_codes -ajcc7_stage_codes -ajcc7_stage_not_ewing_ube -ajcc7_stage_uaa -ajcc7_stage_uab -ajcc7_stage_uac -ajcc7_stage_uad -ajcc7_stage_uae -ajcc7_stage_uaf -ajcc7_stage_uag -ajcc7_stage_uak -ajcc7_stage_ual -ajcc7_stage_uam -ajcc7_stage_uao -ajcc7_stage_uap -ajcc7_stage_uaq -ajcc7_stage_uar -ajcc7_stage_uau -ajcc7_stage_uav -ajcc7_stage_uaw -ajcc7_stage_uax -ajcc7_stage_uay -ajcc7_stage_uaz -ajcc7_stage_uba -ajcc7_stage_ubb -ajcc7_stage_ubc -ajcc7_stage_ubd -ajcc7_stage_ubf -ajcc7_stage_ubg -ajcc7_stage_ubh -ajcc7_stage_ubi -ajcc7_stage_ubj -ajcc7_stage_ubk -ajcc7_stage_ubl -ajcc7_stage_ubm -ajcc7_stage_ubn -ajcc7_stage_ubp -ajcc7_stage_ubq -ajcc7_stage_ubs -ajcc7_stage_ubt -ajcc7_stage_ubu -ajcc7_stage_ubv -ajcc7_stage_ubw -ajcc7_stage_ubx -ajcc7_stage_uby -ajcc7_stage_una -ajcc7_stage_unb -ajcc7_stage_upm -ajcc7_stage_ups -ajcc7_stage_upt -ajcc7_stage_upu -ajcc7_stage_upv -ajcc7_stage_upw -ajcc7_stage_upx -ajcc7_stage_upy -ajcc7_stage_upz -ajcc7_stage_uqa -ajcc7_stage_uqb -ajcc7_stage_uqc -ajcc7_stage_uqd -ajcc7_stage_uqe -ajcc7_t_codes -ajcc7_year_validation -ajcc_descriptor_codes -ajcc_mdescriptor_cleanup -ajcc_ndescriptor_cleanup -ajcc_tdescriptor_cleanup -ajcc_tnm6_stage_csv1_xie -ajcctnm6_stage_csv1_xpz -ajcctnm6_stage_thyroid_anaplastic_xcg -ajcctnm6_stage_thyroid_medullary_xcf -ajcctnm6_stage_thyroid_papillaryand_follicular_age45and_older_xco -ajcctnm6and7_stage_ewing_xho -ajcctnm7_stage_adenocarcinoma_xhz -ajcctnm7_stage_adenocarcinoma_xib -ajcctnm7_stage_giststomach_xit -ajcctnm7_stage_squamous_xhy -ajcctnm7_stage_squamous_xia -ajcctnm7_stage_thyroid_anaplastic_xdz -ajcctnm7_stage_thyroid_medullary_xdy -ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older_xdx -behavior -clinical_eval_extension_quadrants_ajcc7_xca -clinical_eval_extension_thickness_ajcc6_xbw -combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_greater_than2009_xiy -combined_serum_tumor_marker_svalue_tablefor_yearof_diagnosis_less_than2010_xiz -cs_input_version_original -cs_year_validation -csextension_size_tablefor_ajcc6th_xba -determine_correct_table_for_ajcc6_m_ns29 -determine_correct_table_for_ajcc6_m_ns4 -determine_correct_table_for_ajcc6_meval_ns30 -determine_correct_table_for_ajcc6_n_ns1 -determine_correct_table_for_ajcc6_n_ns10 -determine_correct_table_for_ajcc6_n_ns13 -determine_correct_table_for_ajcc6_n_ns22 -determine_correct_table_for_ajcc6_n_ns23 -determine_correct_table_for_ajcc6_n_ns24 -determine_correct_table_for_ajcc6_n_ns26 -determine_correct_table_for_ajcc6_n_ns3 -determine_correct_table_for_ajcc6_n_ns41 -determine_correct_table_for_ajcc6_n_ns8 -determine_correct_table_for_ajcc6_n_ns9 -determine_correct_table_for_ajcc6_neval_ns31 -determine_correct_table_for_ajcc6_stg_ns15 -determine_correct_table_for_ajcc6_stg_ns37 -determine_correct_table_for_ajcc6_t_ns16 -determine_correct_table_for_ajcc6_t_ns33 -determine_correct_table_for_ajcc6_t_ns34 -determine_correct_table_for_ajcc6_t_ns39 -determine_correct_table_for_ajcc6_t_ns6 -determine_correct_table_for_ajcc6_t_ns7 -determine_correct_table_for_ajcc6_tm_ns44 -determine_correct_table_for_ajcc6_tm_ns47 -determine_correct_table_for_ajcc7_n_ns11 -determine_correct_table_for_ajcc7_n_ns12 -determine_correct_table_for_ajcc7_n_ns14 -determine_correct_table_for_ajcc7_n_ns18 -determine_correct_table_for_ajcc7_n_ns19 -determine_correct_table_for_ajcc7_n_ns2 -determine_correct_table_for_ajcc7_n_ns20 -determine_correct_table_for_ajcc7_n_ns21 -determine_correct_table_for_ajcc7_n_ns25 -determine_correct_table_for_ajcc7_n_ns27 -determine_correct_table_for_ajcc7_n_ns40 -determine_correct_table_for_ajcc7_n_ns5 -determine_correct_table_for_ajcc7_t_ns17 -determine_correct_table_for_ajcc7_t_ns32 -determine_correct_table_for_ajcc7_t_ns38 -determine_correct_table_for_ajcc7_t_ns43 -determine_correct_table_for_m_ns48 -determine_correct_table_for_n_ns35 -determine_correct_table_for_s_ns36 -determine_correct_table_for_ss00t_ns46 -determine_correct_table_for_ss77t_ns45 -determine_correct_table_for_t_ns28 -determine_validity_for_ajcc6_ns50 -determine_validity_for_ajcc7_ns42 -eval_extension_t3_ajcc7_xgh -extension_baa -extension_bab -extension_bac -extension_bad -extension_bae -extension_baf -extension_bag -extension_bah -extension_bai -extension_baj -extension_bak -extension_bal -extension_bam -extension_ban -extension_bao -extension_bap -extension_baq -extension_bar -extension_bas -extension_bat -extension_bau -extension_bav -extension_baw -extension_bax -extension_bay -extension_baz -extension_bba -extension_bbb -extension_bbc -extension_bbd -extension_bbe -extension_bbf -extension_bbg -extension_bbh -extension_bbi -extension_bbj -extension_bbk -extension_bbl -extension_bbm -extension_bbn -extension_bbo -extension_bbp -extension_bbq -extension_bbr -extension_bbs -extension_bbt -extension_bbu -extension_bbv -extension_bbx -extension_bby -extension_bbz -extension_bca -extension_bcb -extension_bcc -extension_bcd -extension_bce -extension_bcf -extension_bcg -extension_bch -extension_bci -extension_bcj -extension_bcl -extension_bcm -extension_bcn -extension_bco -extension_bcp -extension_bcq -extension_bcr -extension_bcs -extension_bct -extension_bcu -extension_bcv -extension_bcw -extension_bcx -extension_bcy -extension_bda -extension_bdc -extension_bdd -extension_bde -extension_bdf -extension_bdg -extension_bdh -extension_bdi -extension_bdj -extension_bdk -extension_bdl -extension_bdm -extension_bdn -extension_bdo -extension_bdp -extension_bdr -extension_bds -extension_bdt -extension_bdu -extension_bdv -extension_bdw -extension_bdx -extension_bdy -extension_beb -extension_bed -extension_bee -extension_bef -extension_beg -extension_beh -extension_behavior_xci -extension_bei -extension_bej -extension_bek -extension_bel -extension_bem -extension_ben -extension_beo -extension_bep -extension_beq -extension_ber -extension_bes -extension_bet -extension_bev -extension_bew -extension_bex -extension_bey -extension_bez -extension_bfa -extension_bfc -extension_bfd -extension_bfe -extension_bff -extension_bfg -extension_bfh -extension_bfi -extension_bfj -extension_bfk -extension_bfl -extension_bfm -extension_bfn -extension_bfo -extension_bfp -extension_bfq -extension_bfr -extension_bfs -extension_bft -extension_bfu -extension_bfv -extension_bfw -extension_bfx -extension_bfy -extension_bfz -extension_bga -extension_bgb -extension_bgc -extension_bna -extension_bpb -extension_btb -extension_cytology_ajcc6_table_csv1_xkn -extension_cytology_ajcc6_table_csv1_xko -extension_cytology_ajcc6_table_csv2_xkm -extension_cytology_ajcc6_table_csv2_xkq -extension_cytology_summary_stage_xkl -extension_cytology_summary_stage_xkp -extension_cytology_summary_stage_xqa -extension_eval_6_cab -extension_eval_6_cac -extension_eval_cab -extension_eval_cac -extension_eval_cae -extension_eval_caf -extension_eval_cag -extension_eval_caj -extension_eval_cak -extension_eval_cal -extension_eval_cam -extension_eval_cna -extension_eval_cpa -extension_eval_cpb -extension_eval_cpc -extension_grade_lvi_xdm -extension_mets_ajcc6_xeh -extension_mets_ssf1_ajcc6_xjo_m -extension_mets_ssf1_ajcc6_xjo_t -extension_orchiectomy_lviajcc6_table_csv1_xbv -extension_orchiectomy_lviajcc6_table_csv2_xis -extension_orchiectomy_lviajcc7_xgs -extension_periductal_invasion_ajcc7_xks -extension_size_ajcc6_table_csv1_xjb -extension_size_ajcc6_xai -extension_size_ajcc6_xak -extension_size_ajcc6_xat -extension_size_ajcc6_xav -extension_size_ajcc6_xaz -extension_size_ajcc6_xbc -extension_size_ajcc6_xda -extension_size_ajcc6_xdk -extension_size_ajcc6_xea -extension_size_ajcc6_xfw -extension_size_ajcc6_xir -extension_size_ajcc6_xji -extension_size_ajcc6_xjj -extension_size_ajcc6_xqb -extension_size_ajcc6_xqc -extension_size_ajcc7_xbl -extension_size_ajcc7_xdj -extension_size_ajcc7_xdl -extension_size_ajcc7_xdw -extension_size_ajcc7_xeb -extension_size_ajcc7_xec -extension_size_ajcc7_xed -extension_size_ajcc7_xef -extension_size_ajcc7_xej -extension_size_ajcc7_xet -extension_size_ajcc7_xeu -extension_size_ajcc7_xev -extension_size_ajcc7_xey -extension_size_ajcc7_xfc -extension_size_ajcc7_xfd -extension_size_ajcc7_xfe -extension_size_ajcc7_xff -extension_size_ajcc7_xfp -extension_size_ajcc7_xgi -extension_size_ajcc7_xik -extension_size_ajcc7_xim -extension_size_ajcc7_xio -extension_size_ajcc7_xkg -extension_size_ajcc7_xkh -extension_size_ajcc7_xkr -extension_size_category_ajcc7_xpm -extension_size_high_risk_xfa -extension_size_high_risk_xfy -extension_size_pair_ajcc6_xpn -extension_size_perineural_invasion888988_ajcc6_table_csv2_xij -extension_size_perineural_invasion888988_ajcc7_xic -extension_size_perineural_invasion_negativeor_unknown_ajcc6_table_csv2_xgl -extension_size_perineural_invasion_negativeor_unknown_ajcc7_xgj -extension_size_perineural_invasion_positive_ajcc6_table_csv2_xgm -extension_size_perineural_invasion_positive_ajcc7_xgk -extension_size_ssf1_ajcc7_xgb -extension_size_table_ajcc6_xal -extension_size_table_ajcc7_xek -extension_size_table_csv1_xas -extension_size_table_csv2_xez -extension_size_xaa -extension_size_xab -extension_size_xac -extension_size_xad -extension_size_xae -extension_size_xaf -extension_size_xag -extension_size_xar -extension_size_xbq -extension_size_xdb -extension_size_xde -extension_size_xfn -extension_size_xfu -extension_size_xgn -extension_size_xjg -extension_size_xjh -extension_size_xpa -extension_size_xpb -extension_size_xpe -extension_size_xpf -extension_size_xqj -extension_ssf1_ajcc7_t_xjy -extension_ssf1_summary_stage2000_xke -extension_ssf1_summary_stage2000_xkf -extension_ssf1_summary_stage77_xkc -extension_ssf1_summary_stage77_xkd -extension_sstg_bbo -extension_sstg_bcu -extension_t4_ssf1_ajcc7_xgw -extension_thickness_ulceration_tcategory_ajcc6_xkj -extension_thickness_ulceration_tcategory_ajcc7_xkk -extension_ulceration_t1_ajcc6_xbo -grade -grade_category_calculation_xei -histologies_grade_stage_xce -histologies_grade_stage_xce_6 -histologies_stage_xhq_6 -histologies_stage_xhq_7 -histologies_stage_xhw -histologies_stage_xhx -histology -histology_grade_extension_ajcc6_xkw -histology_grade_extension_ssf1_ajcc7_xkv -histology_grade_extension_summary_stage_xgx -ihcmol_xcc -invalid_lung_m_values_ns49 -lvi -lymph_node_extranodal_extension_xdn -lymph_nodeand_nodal_status_clinical_eval_ajcc6_xlk -lymph_nodeand_nodal_status_clinical_eval_ajcc7_xlh -lymph_nodeand_nodal_status_eval_ajcc7_xlb -lymph_nodeand_nodal_status_eval_ajcc7_xld -lymph_nodeand_nodal_status_eval_ajcc7_xle -lymph_nodeand_nodal_status_eval_ajcc7_xlg -lymph_nodeand_nodal_status_eval_blank_ajcc6_xlm -lymph_nodeand_nodal_status_eval_blank_ajcc7_xlj -lymph_nodeand_nodal_status_eval_blank_ajcc7_xln -lymph_nodeand_nodal_status_eval_blank_ajcc7_xlo -lymph_nodeand_nodal_status_eval_blank_ajcc7_xlp -lymph_nodeand_nodal_status_eval_blank_ajcc7_xlq -lymph_nodeand_nodal_status_pathologic_eval_ajcc6_xll -lymph_nodeand_nodal_status_pathologic_eval_ajcc7_xli -lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdf -lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdh -lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xee -lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfq -lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfs -lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xqh -lymph_nodes_clinical_eval_v0205_ajcc7_xaj -lymph_nodes_clinical_eval_v0205_ajcc7_xam -lymph_nodes_clinical_eval_v0205_ajcc7_xao -lymph_nodes_clinical_eval_v0205_ajcc7_xaw -lymph_nodes_clinical_eval_v0205_ajcc7_xax -lymph_nodes_clinical_eval_v0205_ajcc7_xcd -lymph_nodes_clinical_eval_v0205_ajcc7_xch -lymph_nodes_clinical_eval_xgt -lymph_nodes_clinical_evaluation0or5_ajcc6_xbg -lymph_nodes_clinical_evaluation1or9_ajcc6_xbf -lymph_nodes_clinical_evaluation6th_xqf -lymph_nodes_clinical_evaluation_ajcc6_xbe -lymph_nodes_clinical_evaluation_ajcc6_xbi -lymph_nodes_clinical_evaluation_ajcc6_xbj -lymph_nodes_clinical_evaluation_ajcc6_xbk -lymph_nodes_clinical_evaluation_ajcc6_xpo -lymph_nodes_clinical_evaluation_ajcc6_xpq -lymph_nodes_clinical_evaluation_xcx -lymph_nodes_metsat_dxajcc6_xew -lymph_nodes_metsat_dxajcc6_xfh_m -lymph_nodes_metsat_dxajcc6_xfh_n -lymph_nodes_metsat_dxajcc6_xfm -lymph_nodes_metsat_dxajcc6_xfo -lymph_nodes_metsat_dxajcc6_xgq_m -lymph_nodes_metsat_dxajcc6_xgq_n -lymph_nodes_metsat_dxajcc6_xhv -lymph_nodes_metsat_dxajcc6_xjc -lymph_nodes_metsat_dxajcc6_xjd -lymph_nodes_metsat_dxajcc6_xje -lymph_nodes_metsat_dxajcc6_xjf -lymph_nodes_metsat_dxajcc6_xki -lymph_nodes_metsat_dxajcc6_xlf -lymph_nodes_metsat_dxtable_ajcc6_xfv -lymph_nodes_pathologic_eval_xgu -lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp -lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xqg -lymph_nodes_pathologic_evaluation7th_table_also_used_when_csreg_nodes_evalis_not_coded_xft -lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr -lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xdg -lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xfr -lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg -lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi -lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_csreg_nodes_evalis_not_coded_xdi -lymph_nodes_pathologic_evaluation_xcw -lymph_nodes_positive_axillary_node_xcy -lymph_nodes_positive_eval_blank_xgv -lymph_nodes_size_ajcc6_table_csv1_xex -lymph_nodes_size_ajcc7_xfb -lymph_nodes_size_ajcc7_xfz -lymph_nodes_size_csv1_xix -lymph_nodes_size_csv2_xiw -lymph_nodes_size_mets00_ajcc6_xdo_m -lymph_nodes_size_mets00_ajcc6_xdo_n -lymph_nodes_size_mets10or50_ajcc6_xid_m -lymph_nodes_size_mets10or50_ajcc6_xid_n -lymph_nodes_size_mets114055or60_ajcc6_xdv_m -lymph_nodes_size_mets114055or60_ajcc6_xdv_n -lymph_nodes_size_mets99_ajcc6_xdp_m -lymph_nodes_size_mets99_ajcc6_xdp_n -lymph_nodes_size_table_csv2_xcp -lymph_nodes_size_xja -lymph_nodes_size_xpd -lymph_nodes_size_xpg -lymph_nodes_ssf11_ajcc6_xqd -lymph_nodesand_ssf11_ajcc6_xiq -mets_eval_iaa -mets_eval_iac -mets_eval_iad -mets_eval_iae -mets_eval_iaf -mets_eval_ina -mets_eval_ipa -mets_eval_ipb -mets_eval_ipc -mets_hab -mets_hac -mets_had -mets_hae -mets_haf -mets_hag -mets_hah -mets_hai -mets_haj -mets_hak -mets_hal -mets_ham -mets_han -mets_hao -mets_hap -mets_haq -mets_har -mets_hat -mets_hau -mets_hav -mets_haw -mets_haz -mets_hba -mets_hbb -mets_hbc -mets_hbe -mets_hbf -mets_hbg -mets_hbj -mets_hbn -mets_hbo -mets_hbu -mets_hbv -mets_hbx -mets_hby -mets_hbz -mets_hca -mets_hcb -mets_hcc -mets_hcd -mets_hce -mets_hcf -mets_hcg -mets_hch -mets_hci -mets_hcj -mets_hck -mets_hcl -mets_hcm -mets_hcn -mets_hco -mets_hcp -mets_hcq -mets_hcr -mets_hcs -mets_hcu -mets_hcv -mets_hcw -mets_hcx -mets_hcy -mets_hna -mets_hpa -mets_hpb -mets_hpc -mets_hpd -mets_hpe -mets_hpf -mets_hpg -mets_hph -metsat_dxand_ldh_xbs -metsat_dxmets_eval_ajcc6_xck -metsat_dxmets_eval_ajcc7_xfg -mitotic_rate_calculation_xjm -mitotic_rate_calculation_xpi -mitotic_rate_calculation_xqe -mitotic_rate_ulceration_t1_ajcc7_xgo -nodes_daa -nodes_dab -nodes_dad -nodes_dah -nodes_dai -nodes_daj -nodes_dak -nodes_dal -nodes_dam -nodes_dan -nodes_dao -nodes_dap -nodes_daq -nodes_dar -nodes_das -nodes_dat -nodes_dau -nodes_dav -nodes_daw -nodes_dax -nodes_day -nodes_daz -nodes_dba -nodes_dbb -nodes_dbc -nodes_dbd -nodes_dbe -nodes_dbf -nodes_dbg -nodes_dbh -nodes_dbi -nodes_dbj -nodes_dbk -nodes_dbl -nodes_dbm -nodes_dbn -nodes_dbo -nodes_dbq -nodes_dbr -nodes_dbs -nodes_dbt -nodes_dbu -nodes_dbv -nodes_dbw -nodes_dbx -nodes_dby -nodes_dca -nodes_dcb -nodes_dcc -nodes_dcd -nodes_dce -nodes_dcf -nodes_dcj -nodes_dck -nodes_dcl -nodes_dcm -nodes_dcn -nodes_dco -nodes_dcp -nodes_dcq -nodes_dcr -nodes_dcs -nodes_dcu -nodes_dcv -nodes_dcw -nodes_dcx -nodes_dcy -nodes_dcz -nodes_ddd -nodes_dde -nodes_ddf -nodes_ddg -nodes_ddh -nodes_ddi -nodes_ddj -nodes_ddk -nodes_ddm -nodes_ddn -nodes_ddo -nodes_ddp -nodes_ddq -nodes_ddr -nodes_dds -nodes_ddt -nodes_ddw -nodes_ddy -nodes_ddz -nodes_dea -nodes_deb -nodes_ded -nodes_dee -nodes_def -nodes_deg -nodes_dei -nodes_dej -nodes_dek -nodes_del -nodes_dem -nodes_den -nodes_deo -nodes_deq -nodes_der -nodes_des -nodes_det -nodes_deu -nodes_dev -nodes_dew -nodes_dex -nodes_dey -nodes_dez -nodes_dfa -nodes_dfb -nodes_dfc -nodes_dfd -nodes_dfe -nodes_dff -nodes_dfg -nodes_dfh -nodes_dfi -nodes_dfj -nodes_dfk -nodes_dfl -nodes_dfm -nodes_dfn -nodes_dfo -nodes_dfp -nodes_dfq -nodes_dfr -nodes_dfs -nodes_dft -nodes_dfu -nodes_dfv -nodes_dfw -nodes_dfx -nodes_dfy -nodes_dna -nodes_dpa -nodes_dpb -nodes_dpc -nodes_dpd -nodes_eval_eaa -nodes_eval_eaf -nodes_eval_eag -nodes_eval_eah -nodes_eval_eai -nodes_eval_eaj -nodes_eval_eak -nodes_eval_eba -nodes_eval_ena -nodes_eval_epa -nodes_eval_epb -nodes_eval_epc -nodes_exam_gac -nodes_exam_gaf -nodes_exam_gna -nodes_exam_gpa -nodes_exam_gpb -nodes_pos_fab -nodes_pos_fae -nodes_pos_fah -nodes_pos_fna -nodes_pos_fpa -nodes_pos_fpb -nodes_pos_fpc -nodes_pos_fpd -pathologic_eval_extension_thickness_ajcc6_xbt -pathologic_eval_extension_thickness_ajcc7_xcb -pleural_effusion_extension_xbz -postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516_xgr -primary_site -schema_selection_adnexa_uterine_other -schema_selection_adrenal_gland -schema_selection_ampulla_vater -schema_selection_anus -schema_selection_appendix -schema_selection_bile_ducts_distal -schema_selection_bile_ducts_intrahepat -schema_selection_bile_ducts_perihilar -schema_selection_biliary_other -schema_selection_bladder -schema_selection_bone -schema_selection_brain -schema_selection_breast -schema_selection_buccal_mucosa -schema_selection_carcinoid_appendix -schema_selection_cervix -schema_selection_cns_other -schema_selection_colon -schema_selection_conjunctiva -schema_selection_corpus_adenosarcoma -schema_selection_corpus_carcinoma -schema_selection_corpus_sarcoma -schema_selection_cystic_duct -schema_selection_digestive_other -schema_selection_endocrine_other -schema_selection_epiglottis_anterior -schema_selection_esophagus -schema_selection_esophagus_gejunction -schema_selection_eye_other -schema_selection_fallopian_tube -schema_selection_floor_mouth -schema_selection_gallbladder -schema_selection_genital_female_other -schema_selection_genital_male_other -schema_selection_gist_appendix -schema_selection_gist_colon -schema_selection_gist_esophagus -schema_selection_gist_peritoneum -schema_selection_gist_rectum -schema_selection_gist_small_intestine -schema_selection_gist_stomach -schema_selection_gum_lower -schema_selection_gum_other -schema_selection_gum_upper -schema_selection_heart_mediastinum -schema_selection_heme_retic -schema_selection_hypopharynx -schema_selection_ill_defined_other -schema_selection_intracranial_gland -schema_selection_kaposi_sarcoma -schema_selection_kidney_parenchyma -schema_selection_kidney_renal_pelvis -schema_selection_lacrimal_gland -schema_selection_lacrimal_sac -schema_selection_larynx_glottic -schema_selection_larynx_other -schema_selection_larynx_subglottic -schema_selection_larynx_supraglottic -schema_selection_lip_lower -schema_selection_lip_other -schema_selection_lip_upper -schema_selection_liver -schema_selection_lung -schema_selection_lymphoma -schema_selection_lymphoma_ocular_adnexa -schema_selection_melanoma_buccal_mucosa -schema_selection_melanoma_choroid -schema_selection_melanoma_ciliary_body -schema_selection_melanoma_conjunctiva -schema_selection_melanoma_epiglottis_anterior -schema_selection_melanoma_eye_other -schema_selection_melanoma_floor_mouth -schema_selection_melanoma_gum_lower -schema_selection_melanoma_gum_other -schema_selection_melanoma_gum_upper -schema_selection_melanoma_hypopharynx -schema_selection_melanoma_iris -schema_selection_melanoma_larynx_glottic -schema_selection_melanoma_larynx_other -schema_selection_melanoma_larynx_subglottic -schema_selection_melanoma_larynx_supraglottic -schema_selection_melanoma_lip_lower -schema_selection_melanoma_lip_other -schema_selection_melanoma_lip_upper -schema_selection_melanoma_mouth_other -schema_selection_melanoma_nasal_cavity -schema_selection_melanoma_nasopharynx -schema_selection_melanoma_oropharynx -schema_selection_melanoma_palate_hard -schema_selection_melanoma_palate_soft -schema_selection_melanoma_pharynx_other -schema_selection_melanoma_sinus_ethmoid -schema_selection_melanoma_sinus_maxillary -schema_selection_melanoma_sinus_other -schema_selection_melanoma_skin -schema_selection_melanoma_tongue_anterior -schema_selection_melanoma_tongue_base -schema_selection_merkel_cell_penis -schema_selection_merkel_cell_scrotum -schema_selection_merkel_cell_skin -schema_selection_merkel_cell_vulva -schema_selection_middle_ear -schema_selection_mouth_other -schema_selection_mycosis_fungoides -schema_selection_myeloma_plasma_cell_disorder -schema_selection_nasal_cavity -schema_selection_nasopharynx -schema_selection_net_ampulla -schema_selection_net_colon -schema_selection_net_rectum -schema_selection_net_small_intestine -schema_selection_net_stomach -schema_selection_orbit -schema_selection_oropharynx -schema_selection_ovary -schema_selection_palate_hard -schema_selection_palate_soft -schema_selection_pancreas_body_tail -schema_selection_pancreas_head -schema_selection_pancreas_other -schema_selection_parotid_gland -schema_selection_penis -schema_selection_peritoneum -schema_selection_peritoneum_female_gen -schema_selection_pharyngeal_tonsil -schema_selection_pharynx_other -schema_selection_placenta -schema_selection_pleura -schema_selection_prostate -schema_selection_rectum -schema_selection_respiratory_other -schema_selection_retinoblastoma -schema_selection_retroperitoneum -schema_selection_salivary_gland_other -schema_selection_scrotum -schema_selection_sinus_ethmoid -schema_selection_sinus_maxillary -schema_selection_sinus_other -schema_selection_skin -schema_selection_skin_eyelid -schema_selection_small_intestine -schema_selection_soft_tissue -schema_selection_stomach -schema_selection_submandibular_gland -schema_selection_testis -schema_selection_thyroid -schema_selection_tongue_anterior -schema_selection_tongue_base -schema_selection_trachea -schema_selection_urethra -schema_selection_urinary_other -schema_selection_vagina -schema_selection_vulva -serum_tumor_marker_svalue_table_basedon_csssf123_xcj -size_aaa -size_aab -size_aac -size_aad -size_aae -size_aaf -size_aag -size_aah -size_aaj -size_aak -size_aal -size_aam -size_aan -size_aao -size_aap -size_aaq -size_aar -size_aas -size_aat -size_aau -size_aaw -size_aax -size_aay -size_aaz -size_aba -size_ana -size_apa -size_apb -size_apc -size_apd -size_apf -size_apg -size_aph -size_api -size_apj -size_apk -size_apl -size_apo -size_app -size_apr -size_aps -size_apt -size_apu -size_extension_mets_ssf1_ajcc6_xjp_m -size_extension_mets_ssf1_ajcc6_xjp_t -size_extension_mets_ssf1_ajcc6_xjq_m -size_extension_mets_ssf1_ajcc6_xjq_t -size_extension_mets_ssf1_ajcc6_xjr_m -size_extension_mets_ssf1_ajcc6_xjr_t -size_extension_mets_ssf1_ajcc6_xjs_m -size_extension_mets_ssf1_ajcc6_xjs_t -size_extension_mets_ssf1_ajcc6_xjt_m -size_extension_mets_ssf1_ajcc6_xjt_t -size_extension_mets_ssf1_ajcc6_xju_m -size_extension_mets_ssf1_ajcc6_xju_t -size_extension_mets_ssf1_ajcc6_xjv_m -size_extension_mets_ssf1_ajcc6_xjv_t -size_extension_mets_ssf1_ajcc6_xjw_m -size_extension_mets_ssf1_ajcc6_xjw_t -size_extension_mets_ssf1_ajcc6_xjx_m -size_extension_mets_ssf1_ajcc6_xjx_t -size_extension_ssf1_ajcc7_t_xjz -size_extension_ssf1_ajcc7_t_xka -size_metastasis_ajcc7_xpx -size_metsat_dxajcc7_m_xkb -special_calculation_invasive_unknown_pathologic_extension_xds_xdu_xdq -special_calculation_non_invasive_pathologic_extension_xdr_xdt_xdq -special_calculation_tablefor_ajcct_xiu -special_calculation_tablefor_seersummary_stage_xiv -ss_codes -ssf10_sad -ssf10_sat -ssf10_saz -ssf10_scm -ssf10_sek -ssf10_seq -ssf10_sex -ssf10_sfi -ssf10_sfj -ssf10_sne -ssf10_spd -ssf10_spi -ssf10_spz -ssf10_sqj -ssf10_sqs -ssf10_srh -ssf11_sae -ssf11_sba -ssf11_sbt -ssf11_scj -ssf11_see -ssf11_sel -ssf11_ser -ssf11_snf -ssf11_spe -ssf11_spk -ssf11_sps -ssf11_sqa -ssf11_sqe -ssf11_sqt -ssf11_srd -ssf11_sri -ssf12_saf -ssf12_sbb -ssf12_sbu -ssf12_sck -ssf12_sef -ssf12_ses -ssf12_sev -ssf12_sew -ssf12_sez -ssf12_sfd -ssf12_sng -ssf12_spl -ssf12_sqb -ssf12_sqf -ssf12_srj -ssf13_sag -ssf13_sbc -ssf13_sca -ssf13_scl -ssf13_sdg -ssf13_sdr -ssf13_seg -ssf13_sfa -ssf13_sfe -ssf13_snh -ssf13_spm -ssf13_sqg -ssf13_sqq -ssf14_sbd -ssf14_sbf -ssf14_scn -ssf14_sdh -ssf14_sds -ssf14_sfb -ssf14_sff -ssf14_sni -ssf14_spn -ssf14_sqh -ssf14_sqr -ssf15_sbe -ssf15_sbg -ssf15_sco -ssf15_sdm -ssf15_sdt -ssf15_sfc -ssf15_sfg -ssf15_snj -ssf15_spo -ssf16_sah -ssf16_scp -ssf16_sdn -ssf16_sfh -ssf16_snk -ssf16_spt -ssf16_squ -ssf16_sqv -ssf16_sqw -ssf17_sai -ssf17_seu -ssf17_snl -ssf17_spu -ssf17_sqx -ssf18_saj -ssf18_snm -ssf18_sqy -ssf19_sak -ssf19_snn -ssf19_sqz -ssf1_jae -ssf1_jag -ssf1_jaj -ssf1_jal -ssf1_jam -ssf1_jap -ssf1_jaq -ssf1_jat -ssf1_jav -ssf1_jaw -ssf1_jax -ssf1_jba -ssf1_jbd -ssf1_jbg -ssf1_jbh -ssf1_jbj -ssf1_jbk -ssf1_jbl -ssf1_jbm -ssf1_jbp -ssf1_jbq -ssf1_jbt -ssf1_jbv -ssf1_jbx -ssf1_jby -ssf1_jbz -ssf1_jca -ssf1_jcd -ssf1_jce -ssf1_jcf -ssf1_jcg -ssf1_jch -ssf1_jna -ssf1_jpa -ssf1_jpd -ssf1_jpe -ssf1_jpf -ssf1_jpj -ssf1_jpl -ssf1_jpm -ssf1_jpn -ssf1_jpo -ssf1_jpp -ssf1_jpq -ssf1_jpr -ssf1_jpt -ssf1_jpu -ssf1_jpv -ssf1_jpw -ssf1_sbh -ssf1_sstg_jat -ssf20_sal -ssf20_sno -ssf20_sra -ssf21_sam -ssf21_snp -ssf21_srb -ssf22_san -ssf22_snq -ssf22_src -ssf23_sao -ssf23_snr -ssf24_sap -ssf24_sns -ssf25_snt -ssf25_spj -ssf25_spp -ssf25_spv -ssf25_sqc -ssf25_sqi -ssf25_sqp -ssf2_kaa -ssf2_kab -ssf2_kac -ssf2_kad -ssf2_kaj -ssf2_kak -ssf2_kal -ssf2_kao -ssf2_kaq -ssf2_kar -ssf2_kas -ssf2_kaw -ssf2_kax -ssf2_kay -ssf2_kaz -ssf2_kbb -ssf2_kbc -ssf2_kbf -ssf2_kbi -ssf2_kbl -ssf2_kbm -ssf2_kbu -ssf2_kbv -ssf2_kbw -ssf2_kbx -ssf2_kna -ssf2_kpa -ssf2_kpc -ssf2_kpd -ssf2_kpg -ssf2_kph -ssf2_kpi -ssf2_kpj -ssf2_kpk -ssf2_kpl -ssf2_kpn -ssf2_kpo -ssf2_kpp -ssf2_kpq -ssf2_kpr -ssf2_sbi -ssf2_sbz -ssf3_laa -ssf3_lab -ssf3_lac -ssf3_lad -ssf3_laf -ssf3_lah -ssf3_lai -ssf3_lao -ssf3_lap -ssf3_laq -ssf3_lat -ssf3_law -ssf3_lay -ssf3_laz -ssf3_lba -ssf3_lbb -ssf3_lbc -ssf3_lna -ssf3_lpa -ssf3_lpc -ssf3_lpd -ssf3_lpe -ssf3_lph -ssf3_lpj -ssf3_lpk -ssf3_lpl -ssf3_lpm -ssf3_lpp -ssf3_lpq -ssf3_lpr -ssf3_lps -ssf3_lpt -ssf3_lpu -ssf3_sstg_lab -ssf4_maa -ssf4_mab -ssf4_mac -ssf4_maf -ssf4_maj -ssf4_mal -ssf4_mam -ssf4_mas -ssf4_mat -ssf4_mav -ssf4_maz -ssf4_mbd -ssf4_mbg -ssf4_mbh -ssf4_mbi -ssf4_mbj -ssf4_mna -ssf4_mpa -ssf4_mpb -ssf4_mpd -ssf4_mpe -ssf4_mpf -ssf4_mpg -ssf4_mpn -ssf4_mpq -ssf4_mpr -ssf4_mps -ssf5_naa -ssf5_nab -ssf5_nac -ssf5_nae -ssf5_nah -ssf5_nai -ssf5_nak -ssf5_nap -ssf5_naq -ssf5_nar -ssf5_nas -ssf5_nav -ssf5_naw -ssf5_nba -ssf5_nbb -ssf5_nna -ssf5_npa -ssf5_npb -ssf5_npe -ssf5_npf -ssf5_npg -ssf5_nph -ssf5_npk -ssf5_npl -ssf5_npm -ssf6_oaa -ssf6_oad -ssf6_oae -ssf6_oaf -ssf6_oag -ssf6_oak -ssf6_oam -ssf6_oao -ssf6_oap -ssf6_oaq -ssf6_oas -ssf6_oat -ssf6_oaw -ssf6_oax -ssf6_oay -ssf6_ona -ssf6_opa -ssf6_opb -ssf6_opd -ssf6_opf -ssf6_opg -ssf6_oph -ssf6_opi -ssf7_saa -ssf7_saq -ssf7_saw -ssf7_sbv -ssf7_sbx -ssf7_scb -ssf7_scq -ssf7_sde -ssf7_sdf -ssf7_sdo -ssf7_sdx -ssf7_seb -ssf7_seh -ssf7_sfl -ssf7_snb -ssf7_spa -ssf7_spf -ssf7_spw -ssf7_sqk -ssf7_sqn -ssf7_sre -ssf8_sab -ssf8_sar -ssf8_sax -ssf8_sby -ssf8_scc -ssf8_sdd -ssf8_sdp -ssf8_sdy -ssf8_sec -ssf8_sei -ssf8_sfk -ssf8_snc -ssf8_spb -ssf8_spg -ssf8_spx -ssf8_sql -ssf8_sqo -ssf8_srf -ssf9_sac -ssf9_sas -ssf9_say -ssf9_sdi -ssf9_sdq -ssf9_sdz -ssf9_sed -ssf9_sej -ssf9_snd -ssf9_spc -ssf9_sph -ssf9_sqm -ssf9_srg -summary_stage_raa -summary_stage_rac -summary_stage_rpa -thickness_ulceration_ajcc6_xbn -thickness_ulceration_ajcc7_xhu -tumor_size_category_ajcc7_xpk -tumor_size_pair_ajcc6_xpl diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ihcmol_xcc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ihcmol_xcc.json deleted file mode 100644 index 17e7b1e1b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ihcmol_xcc.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "ihcmol_xcc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "IHC MOL", - "title" : "IHC MOL Table", - "notes" : "**Note**: For CS Lymph Nodes code 000 ONLY, the N category is based on the value of CS Site-Specific Factor 4, IHC of Regional Lymph Nodes, and CS Site-Specific Factor 5, Molecular Studies of Regional Lymph Nodes, as shown in this table:", - "last_modified" : "2015-05-27T16:19:21.740Z", - "definition" : [ { - "key" : "ssf4", - "name" : "CS SSF 4 IHC", - "type" : "INPUT" - }, { - "key" : "ssf5", - "name" : "CS SSF 5 MOL", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "VALUE:N0", "VALUE:N0" ], [ "001", "000", "VALUE:N0(i-)", "VALUE:N0(i-)" ], [ "002", "000", "VALUE:N0(i+)", "VALUE:N0(i+)" ], [ "009", "000", "VALUE:N0(i+)", "VALUE:N0(i+)" ], [ "888", "000", "ERROR:", "ERROR:" ], [ "987", "000", "ERROR:", "ERROR:" ], [ "988", "000", "ERROR:", "ERROR:" ], [ "000", "001", "VALUE:N0(mol-)", "VALUE:N0(mol-)" ], [ "001", "001", "VALUE:N0(i-)", "VALUE:N0(i-)" ], [ "002", "001", "VALUE:N0(i+)", "VALUE:N0(i+)" ], [ "009", "001", "VALUE:N0(i+)", "VALUE:N0(i+)" ], [ "888", "001", "ERROR:", "ERROR:" ], [ "987", "001", "ERROR:", "ERROR:" ], [ "988", "001", "ERROR:", "ERROR:" ], [ "000", "002", "VALUE:N0(mol+)", "VALUE:N0(mol+)" ], [ "001", "002", "VALUE:N0(mol+)", "VALUE:N0(mol+)" ], [ "002", "002", "VALUE:N0(i+)", "VALUE:N0(i+)" ], [ "009", "002", "VALUE:N0(i+)", "VALUE:N0(i+)" ], [ "888", "002", "ERROR:", "ERROR:" ], [ "987", "002", "ERROR:", "ERROR:" ], [ "988", "002", "ERROR:", "ERROR:" ], [ "000", "888", "ERROR:", "ERROR:" ], [ "001", "888", "ERROR:", "ERROR:" ], [ "002", "888", "ERROR:", "ERROR:" ], [ "009", "888", "ERROR:", "ERROR:" ], [ "888", "888", "ERROR:", "ERROR:" ], [ "987", "888", "ERROR:", "ERROR:" ], [ "988", "888", "ERROR:", "ERROR:" ], [ "000", "987", "ERROR:", "ERROR:" ], [ "001", "987", "ERROR:", "ERROR:" ], [ "002", "987", "ERROR:", "ERROR:" ], [ "009", "987", "ERROR:", "ERROR:" ], [ "888", "987", "ERROR:", "ERROR:" ], [ "987", "987", "ERROR:", "ERROR:" ], [ "988", "987", "ERROR:", "ERROR:" ], [ "000", "988", "ERROR:", "ERROR:" ], [ "001", "988", "ERROR:", "ERROR:" ], [ "002", "988", "ERROR:", "ERROR:" ], [ "009", "988", "ERROR:", "ERROR:" ], [ "888", "988", "ERROR:", "ERROR:" ], [ "987", "988", "ERROR:", "ERROR:" ], [ "988", "988", "ERROR:", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/invalid_lung_m_values_ns49.json b/src/test/resources/algorithms/cs/02.05.50/tables/invalid_lung_m_values_ns49.json deleted file mode 100644 index 2fc7aaa63..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/invalid_lung_m_values_ns49.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "invalid_lung_m_values_ns49", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Invalid Lung M Values - AJCC 6 may stage", - "title" : "Invalid Lung M Values - AJCC 6 may stage", - "last_modified" : "2015-05-27T16:19:21.785Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "01-09,11-14,19,22,27-29,31,34,44-49,54-69,71-74,76-98", "INVALID VALUES: For AJCC 6, Stage Group can be assigned in some cases because the T value drives the result.", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "ERROR:", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lvi.json b/src/test/resources/algorithms/cs/02.05.50/tables/lvi.json deleted file mode 100644 index cfe49b375..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lvi.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "lvi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "LVI", - "title" : "Lymph-vascular Invasion", - "last_modified" : "2015-05-27T16:19:21.837Z", - "definition" : [ { - "key" : "lvi", - "name" : "LVI", - "type" : "INPUT" - }, { - "key" : "desc", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Lymph-vascular Invasion stated as Not Present" ], [ "1", "Lymph-vascular Invasion Present/Identified" ], [ "8", "Not Applicable" ], [ "9", "Unknown/Indeterminate/not mentioned in path report" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_node_extranodal_extension_xdn.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_node_extranodal_extension_xdn.json deleted file mode 100644 index 8bb02ae60..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_node_extranodal_extension_xdn.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_node_extranodal_extension_xdn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Node Extranodal Extension", - "title" : "Lymph Node Extranodal Extension Table", - "notes" : "**Note**: For CS Lymph Nodes codes 100-270, 310-380, 500 and 505 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 17, Extranodal Extension of Regional Lymph Nodes, as shown in this table.", - "last_modified" : "2015-05-27T16:19:26.853Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf17", - "name" : "SSF17", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "260", "000", "ERROR:" ], [ "270", "000", "ERROR:" ], [ "310", "000", "ERROR:" ], [ "350", "000", "ERROR:" ], [ "370", "000", "ERROR:" ], [ "380", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "505", "000", "ERROR:" ], [ "100", "010", "VALUE:N1" ], [ "200", "010", "VALUE:N2" ], [ "250", "010", "VALUE:N1" ], [ "260", "010", "VALUE:N1" ], [ "270", "010", "VALUE:N2" ], [ "310", "010", "VALUE:N1" ], [ "350", "010", "VALUE:N2" ], [ "370", "010", "VALUE:N1" ], [ "380", "010", "VALUE:N1" ], [ "500", "010", "VALUE:N1" ], [ "505", "010", "VALUE:N1" ], [ "100", "020", "VALUE:N3" ], [ "200", "020", "VALUE:N3" ], [ "250", "020", "VALUE:N3" ], [ "260", "020", "VALUE:N3" ], [ "270", "020", "VALUE:N3" ], [ "310", "020", "VALUE:N3" ], [ "350", "020", "VALUE:N3" ], [ "370", "020", "VALUE:N3" ], [ "380", "020", "VALUE:N3" ], [ "500", "020", "VALUE:N3" ], [ "505", "020", "VALUE:N3" ], [ "100", "030", "VALUE:N1" ], [ "200", "030", "VALUE:N2" ], [ "250", "030", "VALUE:N1" ], [ "260", "030", "VALUE:N1" ], [ "270", "030", "VALUE:N2" ], [ "310", "030", "VALUE:N1" ], [ "350", "030", "VALUE:N2" ], [ "370", "030", "VALUE:N1" ], [ "380", "030", "VALUE:N1" ], [ "500", "030", "VALUE:N1" ], [ "505", "030", "VALUE:N1" ], [ "100", "988,999", "VALUE:N1" ], [ "200", "988,999", "VALUE:N2" ], [ "250", "988,999", "VALUE:N1" ], [ "260", "988,999", "VALUE:N1" ], [ "270", "988,999", "VALUE:N2" ], [ "310", "988,999", "VALUE:N1" ], [ "350", "988,999", "VALUE:N2" ], [ "370", "988,999", "VALUE:N1" ], [ "380", "988,999", "VALUE:N1" ], [ "500", "988,999", "VALUE:N1" ], [ "505", "988,999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc6_xlk.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc6_xlk.json deleted file mode 100644 index 0f90684a3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc6_xlk.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodeand_nodal_status_clinical_eval_ajcc6_xlk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Node and Nodal Status Clinical Eval AJCC6", - "title" : "Lymph Node and Nodal Status Clinical Eval AJCC 6 Table", - "notes" : "**Note**: When nodes are clinically evaluated (CS Lymph Nodes Eval = 0, 1, 5, 9) for CS Lymph Nodes codes 010-118, 121-128, 152, 153, 155 and 158 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Lymph Nodes and CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, as shown in the following table.", - "last_modified" : "2015-05-27T16:19:21.887Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100,110,115,118", "000-002,005", "ERROR:" ], [ "121", "000-002,005", "ERROR:" ], [ "122", "000-002,005", "ERROR:" ], [ "123", "000-002,005", "ERROR:" ], [ "124", "000-002,005", "ERROR:" ], [ "125", "000-002,005", "ERROR:" ], [ "128", "000-002,005", "ERROR:" ], [ "152", "000-002,005", "ERROR:" ], [ "153", "000-002,005", "ERROR:" ], [ "155", "000-002,005", "ERROR:" ], [ "158", "000-002,005", "ERROR:" ], [ "100,110,115,118", "010", "ERROR:" ], [ "121", "010", "ERROR:" ], [ "122", "010", "ERROR:" ], [ "123", "010", "ERROR:" ], [ "124", "010", "ERROR:" ], [ "125", "010", "ERROR:" ], [ "128", "010", "ERROR:" ], [ "152", "010", "ERROR:" ], [ "153", "010", "ERROR:" ], [ "155", "010", "ERROR:" ], [ "158", "010", "ERROR:" ], [ "100,110,115,118", "020", "VALUE:N1" ], [ "121", "020", "VALUE:N1" ], [ "122", "020", "VALUE:N1" ], [ "123", "020", "VALUE:N1" ], [ "124", "020", "ERROR:" ], [ "125", "020", "VALUE:N1" ], [ "128", "020", "VALUE:N2" ], [ "152", "020", "VALUE:N2" ], [ "153", "020", "VALUE:N2" ], [ "155", "020", "VALUE:N2" ], [ "158", "020", "ERROR:" ], [ "100,110,115,118", "043", "VALUE:N1" ], [ "121", "043", "VALUE:N1" ], [ "122", "043", "VALUE:N1" ], [ "123", "043", "VALUE:N1" ], [ "124", "043", "ERROR:" ], [ "125", "043", "VALUE:N1" ], [ "128", "043", "VALUE:N1" ], [ "152", "043", "VALUE:N1" ], [ "153", "043", "VALUE:N1" ], [ "155", "043", "VALUE:N1" ], [ "158", "043", "ERROR:" ], [ "100,110,115,118", "045", "VALUE:N2" ], [ "121", "045", "VALUE:N2" ], [ "122", "045", "VALUE:N2" ], [ "123", "045", "VALUE:N2" ], [ "124", "045", "ERROR:" ], [ "125", "045", "VALUE:N2" ], [ "128", "045", "VALUE:N2" ], [ "152", "045", "VALUE:N2" ], [ "153", "045", "VALUE:N2" ], [ "155", "045", "VALUE:N2" ], [ "158", "045", "ERROR:" ], [ "100,110,115,118", "048", "VALUE:N3" ], [ "121", "048", "VALUE:N3" ], [ "122", "048", "VALUE:N3" ], [ "123", "048", "VALUE:N3" ], [ "124", "048", "ERROR:" ], [ "125", "048", "VALUE:N3" ], [ "128", "048", "VALUE:N3" ], [ "152", "048", "VALUE:N3" ], [ "153", "048", "VALUE:N3" ], [ "155", "048", "VALUE:N3" ], [ "158", "048", "ERROR:" ], [ "100,110,115,118", "050", "VALUE:N1" ], [ "121", "050", "VALUE:N1" ], [ "122", "050", "VALUE:N1" ], [ "123", "050", "VALUE:N1" ], [ "124", "050", "ERROR:" ], [ "125", "050", "VALUE:N1" ], [ "128", "050", "VALUE:N2" ], [ "152", "050", "VALUE:N2" ], [ "153", "050", "VALUE:N2" ], [ "155", "050", "VALUE:N2" ], [ "158", "050", "ERROR:" ], [ "100,110,115,118", "100", "ERROR:" ], [ "121", "100", "ERROR:" ], [ "122", "100", "ERROR:" ], [ "123", "100", "ERROR:" ], [ "124", "100", "ERROR:" ], [ "125", "100", "ERROR:" ], [ "128", "100", "ERROR:" ], [ "152", "100", "ERROR:" ], [ "153", "100", "ERROR:" ], [ "155", "100", "VALUE:N2c" ], [ "158", "100", "ERROR:" ], [ "100,110,115,118", "150", "VALUE:N3" ], [ "121", "150", "VALUE:N3" ], [ "122", "150", "VALUE:N3" ], [ "123", "150", "VALUE:N3" ], [ "124", "150", "VALUE:N3" ], [ "125", "150", "VALUE:N3" ], [ "128", "150", "VALUE:N3" ], [ "152", "150", "VALUE:N3" ], [ "153", "150", "VALUE:N3" ], [ "155", "150", "VALUE:N3" ], [ "158", "150", "VALUE:N3" ], [ "100,110,115,118", "988", "ERROR:" ], [ "121", "988", "ERROR:" ], [ "122", "988", "ERROR:" ], [ "123", "988", "ERROR:" ], [ "124", "988", "ERROR:" ], [ "125", "988", "ERROR:" ], [ "128", "988", "ERROR:" ], [ "152", "988", "ERROR:" ], [ "153", "988", "ERROR:" ], [ "155", "988", "ERROR:" ], [ "158", "988", "ERROR:" ], [ "100,110,115,118", "999", "VALUE:N1" ], [ "121", "999", "VALUE:N1" ], [ "122", "999", "VALUE:N1" ], [ "123", "999", "VALUE:N1" ], [ "124", "999", "ERROR:" ], [ "125", "999", "VALUE:N1" ], [ "128", "999", "VALUE:N2" ], [ "152", "999", "VALUE:N2" ], [ "153", "999", "VALUE:N2" ], [ "155", "999", "VALUE:N2" ], [ "158", "999", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc7_xlh.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc7_xlh.json deleted file mode 100644 index a366be7d0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_clinical_eval_ajcc7_xlh.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodeand_nodal_status_clinical_eval_ajcc7_xlh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Node and Nodal Status Clinical Eval AJCC7", - "title" : "Lymph Node and Nodal Status Clinical Eval AJCC 7 Table", - "notes" : "**Note**: When nodes are clinically evaluated (CS Lymph Nodes Eval = 0, 1, 5, 9) for CS Lymph Nodes codes 010-118, 121-128, 152, 153, 155 and 158 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Lymph Nodes and CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, as shown in the following table.", - "last_modified" : "2015-05-27T16:19:21.942Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "000-002,005", "ERROR:" ], [ "100,110,115,118", "000-002,005", "ERROR:" ], [ "121", "000-002,005", "ERROR:" ], [ "122", "000-002,005", "ERROR:" ], [ "123", "000-002,005", "ERROR:" ], [ "124", "000-002,005", "ERROR:" ], [ "125", "000-002,005", "ERROR:" ], [ "128", "000-002,005", "ERROR:" ], [ "152", "000-002,005", "ERROR:" ], [ "153", "000-002,005", "ERROR:" ], [ "155", "000-002,005", "ERROR:" ], [ "158", "000-002,005", "ERROR:" ], [ "010", "010", "ERROR:" ], [ "100,110,115,118", "010", "ERROR:" ], [ "121", "010", "ERROR:" ], [ "122", "010", "ERROR:" ], [ "123", "010", "ERROR:" ], [ "124", "010", "ERROR:" ], [ "125", "010", "ERROR:" ], [ "128", "010", "ERROR:" ], [ "152", "010", "ERROR:" ], [ "153", "010", "ERROR:" ], [ "155", "010", "ERROR:" ], [ "158", "010", "ERROR:" ], [ "010", "020", "ERROR:" ], [ "100,110,115,118", "020", "VALUE:N1" ], [ "121", "020", "VALUE:N1" ], [ "122", "020", "VALUE:N1" ], [ "123", "020", "VALUE:N1" ], [ "124", "020", "ERROR:" ], [ "125", "020", "VALUE:N1" ], [ "128", "020", "VALUE:N2" ], [ "152", "020", "VALUE:N2" ], [ "153", "020", "VALUE:N2" ], [ "155", "020", "VALUE:N2" ], [ "158", "020", "ERROR:" ], [ "010", "043", "ERROR:" ], [ "100,110,115,118", "043", "VALUE:N1" ], [ "121", "043", "VALUE:N1" ], [ "122", "043", "VALUE:N1" ], [ "123", "043", "VALUE:N1" ], [ "124", "043", "ERROR:" ], [ "125", "043", "VALUE:N1" ], [ "128", "043", "VALUE:N1" ], [ "152", "043", "VALUE:N1" ], [ "153", "043", "VALUE:N1" ], [ "155", "043", "VALUE:N1" ], [ "158", "043", "ERROR:" ], [ "010", "045", "ERROR:" ], [ "100,110,115,118", "045", "VALUE:N2" ], [ "121", "045", "VALUE:N2" ], [ "122", "045", "VALUE:N2" ], [ "123", "045", "VALUE:N2" ], [ "124", "045", "ERROR:" ], [ "125", "045", "VALUE:N2" ], [ "128", "045", "VALUE:N2" ], [ "152", "045", "VALUE:N2" ], [ "153", "045", "VALUE:N2" ], [ "155", "045", "VALUE:N2" ], [ "158", "045", "ERROR:" ], [ "010", "048", "ERROR:" ], [ "100,110,115,118", "048", "VALUE:N3" ], [ "121", "048", "VALUE:N3" ], [ "122", "048", "VALUE:N3" ], [ "123", "048", "VALUE:N3" ], [ "124", "048", "ERROR:" ], [ "125", "048", "VALUE:N3" ], [ "128", "048", "VALUE:N3" ], [ "152", "048", "VALUE:N3" ], [ "153", "048", "VALUE:N3" ], [ "155", "048", "VALUE:N3" ], [ "158", "048", "ERROR:" ], [ "010", "050", "ERROR:" ], [ "100,110,115,118", "050", "VALUE:N1" ], [ "121", "050", "VALUE:N1" ], [ "122", "050", "VALUE:N1" ], [ "123", "050", "VALUE:N1" ], [ "124", "050", "ERROR:" ], [ "125", "050", "VALUE:N1" ], [ "128", "050", "VALUE:N2" ], [ "152", "050", "VALUE:N2" ], [ "153", "050", "VALUE:N2" ], [ "155", "050", "VALUE:N2" ], [ "158", "050", "ERROR:" ], [ "010", "100", "ERROR:" ], [ "100,110,115,118", "100", "ERROR:" ], [ "121", "100", "ERROR:" ], [ "122", "100", "ERROR:" ], [ "123", "100", "ERROR:" ], [ "124", "100", "ERROR:" ], [ "125", "100", "ERROR:" ], [ "128", "100", "ERROR:" ], [ "152", "100", "ERROR:" ], [ "153", "100", "ERROR:" ], [ "155", "100", "VALUE:N2c" ], [ "158", "100", "ERROR:" ], [ "010", "150", "ERROR:" ], [ "100,110,115,118", "150", "VALUE:N3" ], [ "121", "150", "VALUE:N3" ], [ "122", "150", "VALUE:N3" ], [ "123", "150", "VALUE:N3" ], [ "124", "150", "VALUE:N3" ], [ "125", "150", "VALUE:N3" ], [ "128", "150", "VALUE:N3" ], [ "152", "150", "VALUE:N3" ], [ "153", "150", "VALUE:N3" ], [ "155", "150", "VALUE:N3" ], [ "158", "150", "VALUE:N3" ], [ "010", "988", "ERROR:" ], [ "100,110,115,118", "988", "ERROR:" ], [ "121", "988", "ERROR:" ], [ "122", "988", "ERROR:" ], [ "123", "988", "ERROR:" ], [ "124", "988", "ERROR:" ], [ "125", "988", "ERROR:" ], [ "128", "988", "ERROR:" ], [ "152", "988", "ERROR:" ], [ "153", "988", "ERROR:" ], [ "155", "988", "ERROR:" ], [ "158", "988", "ERROR:" ], [ "010", "999", "ERROR:" ], [ "100,110,115,118", "999", "VALUE:N1" ], [ "121", "999", "VALUE:N1" ], [ "122", "999", "VALUE:N1" ], [ "123", "999", "VALUE:N1" ], [ "124", "999", "ERROR:" ], [ "125", "999", "VALUE:N1" ], [ "128", "999", "VALUE:N2" ], [ "152", "999", "VALUE:N2" ], [ "153", "999", "VALUE:N2" ], [ "155", "999", "VALUE:N2" ], [ "158", "999", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlb.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlb.json deleted file mode 100644 index e8a55cd95..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlb.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodeand_nodal_status_eval_ajcc7_xlb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Node and Nodal Status Eval AJCC7", - "title" : "Lymph Node and Nodal Status Eval AJCC 7 Table", - "notes" : "**Note**: For CS Lymph Nodes codes 010-360 ONLY, the N category is assigned based on the value of CS Lymph Nodes Eval and CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, as shown in the following table.", - "last_modified" : "2015-05-27T16:19:21.998Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "010", "000, 005", "ERROR:" ], [ "0,1,5,9", "100-360", "000, 005", "ERROR:" ], [ "2,3,6,8", "010", "000, 005", "ERROR:" ], [ "2,3,6,8", "100,310", "000, 005", "ERROR:" ], [ "2,3,6,8", "320", "000, 005", "ERROR:" ], [ "2,3,6,8", "340", "000, 005", "ERROR:" ], [ "2,3,6,8", "350,360", "000, 005", "ERROR:" ], [ "0,1,5,9", "010", "010", "VALUE:N1a" ], [ "0,1,5,9", "100-360", "010", "ERROR:" ], [ "2,3,6,8", "010", "010", "VALUE:N1a" ], [ "2,3,6,8", "100,310", "010", "VALUE:N1a" ], [ "2,3,6,8", "320", "010", "VALUE:N1a" ], [ "2,3,6,8", "340", "010", "VALUE:N1a" ], [ "2,3,6,8", "350,360", "010", "VALUE:N1a" ], [ "0,1,5,9", "010", "020", "VALUE:N1b" ], [ "0,1,5,9", "100-360", "020", "VALUE:N1" ], [ "2,3,6,8", "010", "020", "VALUE:N1b" ], [ "2,3,6,8", "100,310", "020", "VALUE:N1b" ], [ "2,3,6,8", "320", "020", "VALUE:N1b" ], [ "2,3,6,8", "340", "020", "VALUE:N1b" ], [ "2,3,6,8", "350,360", "020", "VALUE:N1b" ], [ "0,1,5,9", "010", "100", "ERROR:" ], [ "0,1,5,9", "100-360", "100", "ERROR:" ], [ "2,3,6,8", "010", "100", "ERROR:" ], [ "2,3,6,8", "100,310", "100", "ERROR:" ], [ "2,3,6,8", "320", "100", "ERROR:" ], [ "2,3,6,8", "340", "100", "ERROR:" ], [ "2,3,6,8", "350,360", "100", "ERROR:" ], [ "0,1,5,9", "010", "150", "VALUE:N2" ], [ "0,1,5,9", "100-360", "150", "VALUE:N2" ], [ "2,3,6,8", "010", "150", "ERROR:" ], [ "2,3,6,8", "100,310", "150", "VALUE:N2" ], [ "2,3,6,8", "320", "150", "VALUE:N2" ], [ "2,3,6,8", "340", "150", "VALUE:N2" ], [ "2,3,6,8", "350,360", "150", "VALUE:N2" ], [ "0,1,5,9", "010", "888, 988", "ERROR:" ], [ "0,1,5,9", "100-360", "888, 988", "ERROR:" ], [ "2,3,6,8", "010", "888, 988", "ERROR:" ], [ "2,3,6,8", "100,310", "888, 988", "ERROR:" ], [ "2,3,6,8", "320", "888, 988", "ERROR:" ], [ "2,3,6,8", "340", "888, 988", "ERROR:" ], [ "2,3,6,8", "350,360", "888, 988", "ERROR:" ], [ "0,1,5,9", "010", "999", "VALUE:N1a" ], [ "0,1,5,9", "100-360", "999", "VALUE:N1" ], [ "2,3,6,8", "010", "999", "VALUE:N1a" ], [ "2,3,6,8", "100,310", "999", "VALUE:N1NOS" ], [ "2,3,6,8", "320", "999", "VALUE:N1a" ], [ "2,3,6,8", "340", "999", "VALUE:N1b" ], [ "2,3,6,8", "350,360", "999", "VALUE:N1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xld.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xld.json deleted file mode 100644 index b42848fe4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xld.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodeand_nodal_status_eval_ajcc7_xld", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Node and Nodal Status Eval AJCC7", - "title" : "Lymph Node and Nodal Status Eval AJCC 7 Table", - "notes" : "**Note**: For CS Lymph Nodes codes 010, 105-109, 114-130, and 600 ONLY, the N category is assigned based on the value of CS Lymph Nodes Eval and CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, as shown in the following table.", - "last_modified" : "2015-05-27T16:19:22.050Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "010", "000, 005", "ERROR:" ], [ "0,1,5,9", "105-109,114-130,600", "000, 005", "ERROR:" ], [ "2,3,6,8", "010", "000, 005", "ERROR:" ], [ "2,3,6,8", "105-109,114", "000, 005", "ERROR:" ], [ "2,3,6,8", "115", "000, 005", "ERROR:" ], [ "2,3,6,8", "120", "000, 005", "ERROR:" ], [ "2,3,6,8", "125-130,600", "000, 005", "ERROR:" ], [ "0,1,5,9", "010", "010", "VALUE:N1a" ], [ "0,1,5,9", "105-109,114-130,600", "010", "ERROR:" ], [ "2,3,6,8", "010", "010", "VALUE:N1a" ], [ "2,3,6,8", "105-109,114", "010", "VALUE:N1a" ], [ "2,3,6,8", "115", "010", "VALUE:N1a" ], [ "2,3,6,8", "120", "010", "VALUE:N1a" ], [ "2,3,6,8", "125-130,600", "010", "VALUE:N1a" ], [ "0,1,5,9", "010", "020", "VALUE:N1b" ], [ "0,1,5,9", "105-109,114-130,600", "020", "VALUE:N1" ], [ "2,3,6,8", "010", "020", "VALUE:N1b" ], [ "2,3,6,8", "105-109,114", "020", "VALUE:N1b" ], [ "2,3,6,8", "115", "020", "VALUE:N1b" ], [ "2,3,6,8", "120", "020", "VALUE:N1b" ], [ "2,3,6,8", "125-130,600", "020", "VALUE:N1b" ], [ "0,1,5,9", "010", "100", "ERROR:" ], [ "0,1,5,9", "105-109,114-130,600", "100", "ERROR:" ], [ "2,3,6,8", "010", "100", "ERROR:" ], [ "2,3,6,8", "105-109,114", "100", "ERROR:" ], [ "2,3,6,8", "115", "100", "ERROR:" ], [ "2,3,6,8", "120", "100", "ERROR:" ], [ "2,3,6,8", "125-130,600", "100", "ERROR:" ], [ "0,1,5,9", "010", "150", "VALUE:N2" ], [ "0,1,5,9", "105-109,114-130,600", "150", "VALUE:N2" ], [ "2,3,6,8", "010", "150", "ERROR:" ], [ "2,3,6,8", "105-109,114", "150", "VALUE:N2" ], [ "2,3,6,8", "115", "150", "VALUE:N2" ], [ "2,3,6,8", "120", "150", "VALUE:N2" ], [ "2,3,6,8", "125-130,600", "150", "VALUE:N2" ], [ "0,1,5,9", "010", "888, 988", "ERROR:" ], [ "0,1,5,9", "105-109,114-130,600", "888, 988", "ERROR:" ], [ "2,3,6,8", "010", "888, 988", "ERROR:" ], [ "2,3,6,8", "105-109,114", "888, 988", "ERROR:" ], [ "2,3,6,8", "115", "888, 988", "ERROR:" ], [ "2,3,6,8", "120", "888, 988", "ERROR:" ], [ "2,3,6,8", "125-130,600", "888, 988", "ERROR:" ], [ "0,1,5,9", "010", "999", "VALUE:N1a" ], [ "0,1,5,9", "105-109,114-130,600", "999", "VALUE:N1" ], [ "2,3,6,8", "010", "999", "VALUE:N1a" ], [ "2,3,6,8", "105-109,114", "999", "VALUE:N1NOS" ], [ "2,3,6,8", "115", "999", "VALUE:N1a" ], [ "2,3,6,8", "120", "999", "VALUE:N1b" ], [ "2,3,6,8", "125-130,600", "999", "VALUE:N1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xle.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xle.json deleted file mode 100644 index cc6b4c563..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xle.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodeand_nodal_status_eval_ajcc7_xle", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Node and Nodal Status Eval AJCC7", - "title" : "Lymph Node and Nodal Status Eval AJCC 7 Table", - "notes" : "**Note**: For CS Lymph Nodes codes 010-360 ONLY, the N category is assigned based on the value of CS Lymph Nodes Eval and CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, as shown in the following table.", - "last_modified" : "2015-05-27T16:19:22.099Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "010", "000, 005", "ERROR:" ], [ "0,1,5,9", "100-360", "000, 005", "ERROR:" ], [ "2,3,6,8", "010", "000, 005", "ERROR:" ], [ "2,3,6,8", "100-310", "000, 005", "ERROR:" ], [ "2,3,6,8", "320", "000, 005", "ERROR:" ], [ "2,3,6,8", "340", "000, 005", "ERROR:" ], [ "2,3,6,8", "350,360", "000, 005", "ERROR:" ], [ "0,1,5,9", "010", "010", "VALUE:N1a" ], [ "0,1,5,9", "100-360", "010", "ERROR:" ], [ "2,3,6,8", "010", "010", "VALUE:N1a" ], [ "2,3,6,8", "100-310", "010", "VALUE:N1a" ], [ "2,3,6,8", "320", "010", "VALUE:N1a" ], [ "2,3,6,8", "340", "010", "VALUE:N1a" ], [ "2,3,6,8", "350,360", "010", "VALUE:N1a" ], [ "0,1,5,9", "010", "020", "VALUE:N1b" ], [ "0,1,5,9", "100-360", "020", "VALUE:N1" ], [ "2,3,6,8", "010", "020", "VALUE:N1b" ], [ "2,3,6,8", "100-310", "020", "VALUE:N1b" ], [ "2,3,6,8", "320", "020", "VALUE:N1b" ], [ "2,3,6,8", "340", "020", "VALUE:N1b" ], [ "2,3,6,8", "350,360", "020", "VALUE:N1b" ], [ "0,1,5,9", "010", "100", "ERROR:" ], [ "0,1,5,9", "100-360", "100", "ERROR:" ], [ "2,3,6,8", "010", "100", "ERROR:" ], [ "2,3,6,8", "100-310", "100", "ERROR:" ], [ "2,3,6,8", "320", "100", "ERROR:" ], [ "2,3,6,8", "340", "100", "ERROR:" ], [ "2,3,6,8", "350,360", "100", "ERROR:" ], [ "0,1,5,9", "010", "150", "VALUE:N2" ], [ "0,1,5,9", "100-360", "150", "VALUE:N2" ], [ "2,3,6,8", "010", "150", "ERROR:" ], [ "2,3,6,8", "100-310", "150", "VALUE:N2" ], [ "2,3,6,8", "320", "150", "VALUE:N2" ], [ "2,3,6,8", "340", "150", "VALUE:N2" ], [ "2,3,6,8", "350,360", "150", "VALUE:N2" ], [ "0,1,5,9", "010", "888, 988", "ERROR:" ], [ "0,1,5,9", "100-360", "888, 988", "ERROR:" ], [ "2,3,6,8", "010", "888, 988", "ERROR:" ], [ "2,3,6,8", "100-310", "888, 988", "ERROR:" ], [ "2,3,6,8", "320", "888, 988", "ERROR:" ], [ "2,3,6,8", "340", "888, 988", "ERROR:" ], [ "2,3,6,8", "350,360", "888, 988", "ERROR:" ], [ "0,1,5,9", "010", "999", "VALUE:N1a" ], [ "0,1,5,9", "100-360", "999", "VALUE:N1" ], [ "2,3,6,8", "010", "999", "VALUE:N1a" ], [ "2,3,6,8", "100-310", "999", "VALUE:N1NOS" ], [ "2,3,6,8", "320", "999", "VALUE:N1a" ], [ "2,3,6,8", "340", "999", "VALUE:N1b" ], [ "2,3,6,8", "350,360", "999", "VALUE:N1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlg.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlg.json deleted file mode 100644 index 4734f162f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_ajcc7_xlg.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodeand_nodal_status_eval_ajcc7_xlg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Node and Nodal Status Eval AJCC7", - "title" : "Lymph Node and Nodal Status Eval AJCC 7 Table", - "notes" : "**Note**: For CS Lymph Nodes codes 010-400 and 500 ONLY, the N category is assigned based on the value of CS Lymph Nodes Eval and CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, as shown in the following table.", - "last_modified" : "2015-05-27T16:19:22.152Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "CS Lymph Nodes Eval", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,5,9", "010", "000, 005", "ERROR:" ], [ "0,1,5,9", "100-400,500", "000, 005", "ERROR:" ], [ "2,3,6,8", "010", "000, 005", "ERROR:" ], [ "2,3,6,8", "100,110", "000, 005", "ERROR:" ], [ "2,3,6,8", "120", "000, 005", "ERROR:" ], [ "2,3,6,8", "140", "000, 005", "ERROR:" ], [ "2,3,6,8", "150-400,500", "000, 005", "ERROR:" ], [ "0,1,5,9", "010", "010", "VALUE:N1a" ], [ "0,1,5,9", "100-400,500", "010", "ERROR:" ], [ "2,3,6,8", "010", "010", "VALUE:N1a" ], [ "2,3,6,8", "100,110", "010", "VALUE:N1a" ], [ "2,3,6,8", "120", "010", "VALUE:N1a" ], [ "2,3,6,8", "140", "010", "VALUE:N1a" ], [ "2,3,6,8", "150-400,500", "010", "VALUE:N1a" ], [ "0,1,5,9", "010", "020", "VALUE:N1b" ], [ "0,1,5,9", "100-400,500", "020", "VALUE:N1" ], [ "2,3,6,8", "010", "020", "VALUE:N1b" ], [ "2,3,6,8", "100,110", "020", "VALUE:N1b" ], [ "2,3,6,8", "120", "020", "VALUE:N1b" ], [ "2,3,6,8", "140", "020", "VALUE:N1b" ], [ "2,3,6,8", "150-400,500", "020", "VALUE:N1b" ], [ "0,1,5,9", "010", "100", "ERROR:" ], [ "0,1,5,9", "100-400,500", "100", "ERROR:" ], [ "2,3,6,8", "010", "100", "ERROR:" ], [ "2,3,6,8", "100,110", "100", "ERROR:" ], [ "2,3,6,8", "120", "100", "ERROR:" ], [ "2,3,6,8", "140", "100", "ERROR:" ], [ "2,3,6,8", "150-400,500", "100", "ERROR:" ], [ "0,1,5,9", "010", "150", "VALUE:N2" ], [ "0,1,5,9", "100-400,500", "150", "VALUE:N2" ], [ "2,3,6,8", "010", "150", "ERROR:" ], [ "2,3,6,8", "100,110", "150", "VALUE:N2" ], [ "2,3,6,8", "120", "150", "VALUE:N2" ], [ "2,3,6,8", "140", "150", "VALUE:N2" ], [ "2,3,6,8", "150-400,500", "150", "VALUE:N2" ], [ "0,1,5,9", "010", "888, 988", "ERROR:" ], [ "0,1,5,9", "100-400,500", "888, 988", "ERROR:" ], [ "2,3,6,8", "010", "888, 988", "ERROR:" ], [ "2,3,6,8", "100,110", "888, 988", "ERROR:" ], [ "2,3,6,8", "120", "888, 988", "ERROR:" ], [ "2,3,6,8", "140", "888, 988", "ERROR:" ], [ "2,3,6,8", "150-400, 500", "888, 988", "ERROR:" ], [ "0,1,5,9", "010", "999", "VALUE:N1a" ], [ "0,1,5,9", "100-400, 500", "999", "VALUE:N1" ], [ "2,3,6,8", "010", "999", "VALUE:N1a" ], [ "2,3,6,8", "100,110", "999", "VALUE:N1NOS" ], [ "2,3,6,8", "120", "999", "VALUE:N1a" ], [ "2,3,6,8", "140", "999", "VALUE:N1b" ], [ "2,3,6,8", "150-400, 500", "999", "VALUE:N1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc6_xlm.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc6_xlm.json deleted file mode 100644 index fbdc54707..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc6_xlm.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodeand_nodal_status_eval_blank_ajcc6_xlm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Node and Nodal Status Eval Blank AJCC6", - "title" : "Lymph Node and Nodal Status Eval Blank AJCC 6 Table", - "notes" : "**Note**: When no CS Lymph Nodes Eval code is recorded, for CS Lymph Nodes codes 100-118, 121-128, 152, 153, 155, and 158 ONLY, the N category for AJCC 6 staging is assigned based on the value of Regional Nodes Positive, CS Lymph Nodes, and CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, as shown in the following table.", - "last_modified" : "2015-05-27T16:19:22.206Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "100,110,115,118", "000-002,005", "ERROR:" ], [ "00", "121", "000-002,005", "ERROR:" ], [ "00", "122", "000-002,005", "ERROR:" ], [ "00", "123", "000-002,005", "ERROR:" ], [ "00", "124", "000-002,005", "ERROR:" ], [ "00", "125", "000-002,005", "ERROR:" ], [ "00", "128", "000-002,005", "ERROR:" ], [ "00", "152", "000-002,005", "ERROR:" ], [ "00", "153", "000-002,005", "ERROR:" ], [ "00", "155", "000-002,005", "ERROR:" ], [ "00", "158", "000-002,005", "ERROR:" ], [ "01", "100,110,115,118", "000-002,005", "ERROR:" ], [ "01", "121", "000-002,005", "ERROR:" ], [ "01", "122", "000-002,005", "ERROR:" ], [ "01", "123", "000-002,005", "ERROR:" ], [ "01", "124", "000-002,005", "ERROR:" ], [ "01", "125", "000-002,005", "ERROR:" ], [ "01", "128", "000-002,005", "ERROR:" ], [ "01", "152", "000-002,005", "ERROR:" ], [ "01", "153", "000-002,005", "ERROR:" ], [ "01", "155", "000-002,005", "ERROR:" ], [ "01", "158", "000-002,005", "ERROR:" ], [ "02-03", "100,110,115,118", "000-002,005", "ERROR:" ], [ "02-03", "121", "000-002,005", "ERROR:" ], [ "02-03", "122", "000-002,005", "ERROR:" ], [ "02-03", "123", "000-002,005", "ERROR:" ], [ "02-03", "124", "000-002,005", "ERROR:" ], [ "02-03", "125", "000-002,005", "ERROR:" ], [ "02-03", "128", "000-002,005", "ERROR:" ], [ "02-03", "152", "000-002,005", "ERROR:" ], [ "02-03", "153", "000-002,005", "ERROR:" ], [ "02-03", "155", "000-002,005", "ERROR:" ], [ "02-03", "158", "000-002,005", "ERROR:" ], [ "04-90", "100,110,115,118", "000-002,005", "ERROR:" ], [ "04-90", "121", "000-002,005", "ERROR:" ], [ "04-90", "122", "000-002,005", "ERROR:" ], [ "04-90", "123", "000-002,005", "ERROR:" ], [ "04-90", "124", "000-002,005", "ERROR:" ], [ "04-90", "125", "000-002,005", "ERROR:" ], [ "04-90", "128", "000-002,005", "ERROR:" ], [ "04-90", "152", "000-002,005", "ERROR:" ], [ "04-90", "153", "000-002,005", "ERROR:" ], [ "04-90", "155", "000-002,005", "ERROR:" ], [ "04-90", "158", "000-002,005", "ERROR:" ], [ "95", "100,110,115,118", "000-002,005", "ERROR:" ], [ "95", "121", "000-002,005", "ERROR:" ], [ "95", "122", "000-002,005", "ERROR:" ], [ "95", "123", "000-002,005", "ERROR:" ], [ "95", "124", "000-002,005", "ERROR:" ], [ "95", "125", "000-002,005", "ERROR:" ], [ "95", "128", "000-002,005", "ERROR:" ], [ "95", "152", "000-002,005", "ERROR:" ], [ "95", "153", "000-002,005", "ERROR:" ], [ "95", "155", "000-002,005", "ERROR:" ], [ "95", "158", "000-002,005", "ERROR:" ], [ "97", "100,110,115,118", "000-002,005", "ERROR:" ], [ "97", "121", "000-002,005", "ERROR:" ], [ "97", "122", "000-002,005", "ERROR:" ], [ "97", "123", "000-002,005", "ERROR:" ], [ "97", "124", "000-002,005", "ERROR:" ], [ "97", "125", "000-002,005", "ERROR:" ], [ "97", "128", "000-002,005", "ERROR:" ], [ "97", "152", "000-002,005", "ERROR:" ], [ "97", "153", "000-002,005", "ERROR:" ], [ "97", "155", "000-002,005", "ERROR:" ], [ "97", "158", "000-002,005", "ERROR:" ], [ "98", "100,110,115,118", "000-002,005", "ERROR:" ], [ "98", "121", "000-002,005", "ERROR:" ], [ "98", "122", "000-002,005", "ERROR:" ], [ "98", "123", "000-002,005", "ERROR:" ], [ "98", "124", "000-002,005", "ERROR:" ], [ "98", "125", "000-002,005", "ERROR:" ], [ "98", "128", "000-002,005", "ERROR:" ], [ "98", "152", "000-002,005", "ERROR:" ], [ "98", "153", "000-002,005", "ERROR:" ], [ "98", "155", "000-002,005", "ERROR:" ], [ "98", "158", "000-002,005", "ERROR:" ], [ "99", "100,110,115,118", "000-002,005", "ERROR:" ], [ "99", "121", "000-002,005", "ERROR:" ], [ "99", "122", "000-002,005", "ERROR:" ], [ "99", "123", "000-002,005", "ERROR:" ], [ "99", "124", "000-002,005", "ERROR:" ], [ "99", "125", "000-002,005", "ERROR:" ], [ "99", "128", "000-002,005", "ERROR:" ], [ "99", "152", "000-002,005", "ERROR:" ], [ "99", "153", "000-002,005", "ERROR:" ], [ "99", "155", "000-002,005", "ERROR:" ], [ "99", "158", "000-002,005", "ERROR:" ], [ "00", "100,110,115,118", "010", "ERROR:" ], [ "00", "121", "010", "ERROR:" ], [ "00", "122", "010", "ERROR:" ], [ "00", "123", "010", "ERROR:" ], [ "00", "124", "010", "ERROR:" ], [ "00", "125", "010", "ERROR:" ], [ "00", "128", "010", "ERROR:" ], [ "00", "152", "010", "ERROR:" ], [ "00", "153", "010", "ERROR:" ], [ "00", "155", "010", "ERROR:" ], [ "00", "158", "010", "ERROR:" ], [ "01", "100,110,115,118", "010", "VALUE:N1a" ], [ "01", "121", "010", "VALUE:N1" ], [ "01", "122", "010", "VALUE:N1a" ], [ "01", "123", "010", "VALUE:N1a" ], [ "01", "124", "010", "VALUE:N1a" ], [ "01", "125", "010", "VALUE:N1a" ], [ "01", "128", "010", "VALUE:N1" ], [ "01", "152", "010", "VALUE:N1a" ], [ "01", "153", "010", "VALUE:N1a" ], [ "01", "155", "010", "VALUE:N1a" ], [ "01", "158", "010", "VALUE:N1a" ], [ "02-03", "100,110,115,118", "010", "VALUE:N2a" ], [ "02-03", "121", "010", "VALUE:N2" ], [ "02-03", "122", "010", "VALUE:N2a" ], [ "02-03", "123", "010", "VALUE:N2a" ], [ "02-03", "124", "010", "VALUE:N2a" ], [ "02-03", "125", "010", "VALUE:N2a" ], [ "02-03", "128", "010", "VALUE:N2" ], [ "02-03", "152", "010", "VALUE:N2a" ], [ "02-03", "153", "010", "VALUE:N2a" ], [ "02-03", "155", "010", "VALUE:N2a" ], [ "02-03", "158", "010", "VALUE:N2a" ], [ "04-90", "100,110,115,118", "010", "VALUE:N3" ], [ "04-90", "121", "010", "VALUE:N1" ], [ "04-90", "122", "010", "VALUE:N3" ], [ "04-90", "123", "010", "VALUE:N3" ], [ "04-90", "124", "010", "VALUE:N3" ], [ "04-90", "125", "010", "VALUE:N3" ], [ "04-90", "128", "010", "VALUE:N2" ], [ "04-90", "152", "010", "VALUE:N3" ], [ "04-90", "153", "010", "VALUE:N3" ], [ "04-90", "155", "010", "VALUE:N3" ], [ "04-90", "158", "010", "VALUE:N3" ], [ "95", "100,110,115,118", "010", "VALUE:N1a" ], [ "95", "121", "010", "VALUE:N1" ], [ "95", "122", "010", "VALUE:N1a" ], [ "95", "123", "010", "VALUE:N1b" ], [ "95", "124", "010", "VALUE:N1NOS" ], [ "95", "125", "010", "VALUE:N1" ], [ "95", "128", "010", "VALUE:N2" ], [ "95", "152", "010", "VALUE:N2a" ], [ "95", "153", "010", "VALUE:N2b" ], [ "95", "155", "010", "VALUE:N2" ], [ "95", "158", "010", "VALUE:N2a" ], [ "97", "100,110,115,118", "010", "VALUE:N1a" ], [ "97", "121", "010", "VALUE:N1" ], [ "97", "122", "010", "VALUE:N1a" ], [ "97", "123", "010", "VALUE:N1a" ], [ "97", "124", "010", "VALUE:N1a" ], [ "97", "125", "010", "VALUE:N1a" ], [ "97", "128", "010", "VALUE:N2" ], [ "97", "152", "010", "VALUE:N2a" ], [ "97", "153", "010", "VALUE:N2a" ], [ "97", "155", "010", "VALUE:N2a" ], [ "97", "158", "010", "VALUE:N2a" ], [ "98", "100,110,115,118", "010", "ERROR:" ], [ "98", "121", "010", "ERROR:" ], [ "98", "122", "010", "ERROR:" ], [ "98", "123", "010", "ERROR:" ], [ "98", "124", "010", "ERROR:" ], [ "98", "125", "010", "ERROR:" ], [ "98", "128", "010", "ERROR:" ], [ "98", "152", "010", "ERROR:" ], [ "98", "153", "010", "ERROR:" ], [ "98", "155", "010", "ERROR:" ], [ "98", "158", "010", "ERROR:" ], [ "99", "100,110,115,118", "010", "VALUE:N1" ], [ "99", "121", "010", "VALUE:N1" ], [ "99", "122", "010", "VALUE:N1" ], [ "99", "123", "010", "VALUE:N1" ], [ "99", "124", "010", "VALUE:N1" ], [ "99", "125", "010", "VALUE:N1" ], [ "99", "128", "010", "VALUE:N2" ], [ "99", "152", "010", "VALUE:N2" ], [ "99", "153", "010", "VALUE:N2" ], [ "99", "155", "010", "VALUE:N2" ], [ "99", "158", "010", "VALUE:N2" ], [ "00", "100,110,115,118", "020", "VALUE:N1" ], [ "00", "121", "020", "VALUE:N1" ], [ "00", "122", "020", "VALUE:N1" ], [ "00", "123", "020", "VALUE:N1" ], [ "00", "124", "020", "VALUE:N1" ], [ "00", "125", "020", "VALUE:N1" ], [ "00", "128", "020", "VALUE:N2" ], [ "00", "152", "020", "VALUE:N2" ], [ "00", "153", "020", "VALUE:N2" ], [ "00", "155", "020", "VALUE:N2" ], [ "00", "158", "020", "VALUE:N2" ], [ "01", "100,110,115,118", "020", "VALUE:N1b" ], [ "01", "121", "020", "VALUE:N1" ], [ "01", "122", "020", "VALUE:N1b" ], [ "01", "123", "020", "VALUE:N1b" ], [ "01", "124", "020", "VALUE:N1b" ], [ "01", "125", "020", "VALUE:N1b" ], [ "01", "128", "020", "VALUE:N1" ], [ "01", "152", "020", "VALUE:N1b" ], [ "01", "153", "020", "VALUE:N1b" ], [ "01", "155", "020", "VALUE:N1b" ], [ "01", "158", "020", "VALUE:N1b" ], [ "02-03", "100,110,115,118", "020", "VALUE:N2b" ], [ "02-03", "121", "020", "VALUE:N2" ], [ "02-03", "122", "020", "VALUE:N2b" ], [ "02-03", "123", "020", "VALUE:N2b" ], [ "02-03", "124", "020", "VALUE:N2b" ], [ "02-03", "125", "020", "VALUE:N2b" ], [ "02-03", "128", "020", "VALUE:N2" ], [ "02-03", "152", "020", "VALUE:N2b" ], [ "02-03", "153", "020", "VALUE:N2b" ], [ "02-03", "155", "020", "VALUE:N2b" ], [ "02-03", "158", "020", "VALUE:N2b" ], [ "04-90", "100,110,115,118", "020", "VALUE:N3" ], [ "04-90", "121", "020", "VALUE:N1" ], [ "04-90", "122", "020", "VALUE:N3" ], [ "04-90", "123", "020", "VALUE:N3" ], [ "04-90", "124", "020", "VALUE:N3" ], [ "04-90", "125", "020", "VALUE:N3" ], [ "04-90", "128", "020", "VALUE:N2" ], [ "04-90", "152", "020", "VALUE:N3" ], [ "04-90", "153", "020", "VALUE:N3" ], [ "04-90", "155", "020", "VALUE:N3" ], [ "04-90", "158", "020", "VALUE:N3" ], [ "95", "100,110,115,118", "020", "VALUE:N1b" ], [ "95", "121", "020", "VALUE:N1" ], [ "95", "122", "020", "VALUE:N1b" ], [ "95", "123", "020", "VALUE:N1b" ], [ "95", "124", "020", "VALUE:N1b" ], [ "95", "125", "020", "VALUE:N1" ], [ "95", "128", "020", "VALUE:N2" ], [ "95", "152", "020", "VALUE:N2b" ], [ "95", "153", "020", "VALUE:N2b" ], [ "95", "155", "020", "VALUE:N2" ], [ "95", "158", "020", "VALUE:N2b" ], [ "97", "100,110,115,118", "020", "VALUE:N1b" ], [ "97", "121", "020", "VALUE:N1" ], [ "97", "122", "020", "VALUE:N1b" ], [ "97", "123", "020", "VALUE:N1b" ], [ "97", "124", "020", "VALUE:N1b" ], [ "97", "125", "020", "VALUE:N1b" ], [ "97", "128", "020", "VALUE:N2" ], [ "97", "152", "020", "VALUE:N2b" ], [ "97", "153", "020", "VALUE:N2b" ], [ "97", "155", "020", "VALUE:N2b" ], [ "97", "158", "020", "VALUE:N2b" ], [ "98", "100,110,115,118", "020", "VALUE:N1" ], [ "98", "121", "020", "VALUE:N1" ], [ "98", "122", "020", "VALUE:N1" ], [ "98", "123", "020", "VALUE:N1" ], [ "98", "124", "020", "VALUE:N1" ], [ "98", "125", "020", "VALUE:N1" ], [ "98", "128", "020", "VALUE:N2" ], [ "98", "152", "020", "VALUE:N2" ], [ "98", "153", "020", "VALUE:N2" ], [ "98", "155", "020", "VALUE:N2" ], [ "98", "158", "020", "VALUE:N2" ], [ "99", "100,110,115,118", "020", "VALUE:N1" ], [ "99", "121", "020", "VALUE:N1" ], [ "99", "122", "020", "VALUE:N1" ], [ "99", "123", "020", "VALUE:N1" ], [ "99", "124", "020", "VALUE:N1" ], [ "99", "125", "020", "VALUE:N1" ], [ "99", "128", "020", "VALUE:N2" ], [ "99", "152", "020", "VALUE:N2" ], [ "99", "153", "020", "VALUE:N2" ], [ "99", "155", "020", "VALUE:N2" ], [ "99", "158", "020", "VALUE:N2" ], [ "00", "100,110,115,118", "043", "VALUE:N1" ], [ "00", "121", "043", "VALUE:N1" ], [ "00", "122", "043", "VALUE:N1" ], [ "00", "123", "043", "VALUE:N1" ], [ "00", "124", "043", "VALUE:N1" ], [ "00", "125", "043", "VALUE:N1" ], [ "00", "128", "043", "VALUE:N1" ], [ "00", "152", "043", "VALUE:N1" ], [ "00", "153", "043", "VALUE:N1" ], [ "00", "155", "043", "VALUE:N1" ], [ "00", "158", "043", "VALUE:N2" ], [ "01", "100,110,115,118", "043", "VALUE:N1" ], [ "01", "121", "043", "VALUE:N1" ], [ "01", "122", "043", "VALUE:N1b" ], [ "01", "123", "043", "VALUE:N1b" ], [ "01", "124", "043", "VALUE:N1b" ], [ "01", "125", "043", "VALUE:N1b" ], [ "01", "128", "043", "VALUE:N1" ], [ "01", "152", "043", "VALUE:N1b" ], [ "01", "153", "043", "VALUE:N1b" ], [ "01", "155", "043", "VALUE:N1b" ], [ "01", "158", "043", "VALUE:N1b" ], [ "02-03", "100,110,115,118", "043", "VALUE:N2" ], [ "02-03", "121", "043", "VALUE:N2" ], [ "02-03", "122", "043", "VALUE:N2b" ], [ "02-03", "123", "043", "VALUE:N2b" ], [ "02-03", "124", "043", "VALUE:N1b" ], [ "02-03", "125", "043", "VALUE:N2b" ], [ "02-03", "128", "043", "VALUE:N1" ], [ "02-03", "152", "043", "VALUE:N2b" ], [ "02-03", "153", "043", "VALUE:N2b" ], [ "02-03", "155", "043", "VALUE:N2b" ], [ "02-03", "158", "043", "VALUE:N2b" ], [ "04-90", "100,110,115,118", "043", "VALUE:N3" ], [ "04-90", "121", "043", "VALUE:N1" ], [ "04-90", "122", "043", "VALUE:N3" ], [ "04-90", "123", "043", "VALUE:N3" ], [ "04-90", "124", "043", "VALUE:N3" ], [ "04-90", "125", "043", "VALUE:N3" ], [ "04-90", "128", "043", "VALUE:N1" ], [ "04-90", "152", "043", "VALUE:N3" ], [ "04-90", "153", "043", "VALUE:N3" ], [ "04-90", "155", "043", "VALUE:N3" ], [ "04-90", "158", "043", "VALUE:N3" ], [ "95", "100,110,115,118", "043", "VALUE:N1" ], [ "95", "121", "043", "VALUE:N1" ], [ "95", "122", "043", "VALUE:N1b" ], [ "95", "123", "043", "VALUE:N1b" ], [ "95", "124", "043", "VALUE:N1b" ], [ "95", "125", "043", "VALUE:N1" ], [ "95", "128", "043", "VALUE:N1" ], [ "95", "152", "043", "VALUE:N2b" ], [ "95", "153", "043", "VALUE:N2b" ], [ "95", "155", "043", "VALUE:N1" ], [ "95", "158", "043", "VALUE:N2b" ], [ "97", "100,110,115,118", "043", "VALUE:N1b" ], [ "97", "121", "043", "VALUE:N1" ], [ "97", "122", "043", "VALUE:N1b" ], [ "97", "123", "043", "VALUE:N1b" ], [ "97", "124", "043", "VALUE:N1b" ], [ "97", "125", "043", "VALUE:N1b" ], [ "97", "128", "043", "VALUE:N1" ], [ "97", "152", "043", "VALUE:N2b" ], [ "97", "153", "043", "VALUE:N2b" ], [ "97", "155", "043", "VALUE:N2b" ], [ "97", "158", "043", "VALUE:N2b" ], [ "98", "100,110,115,118", "043", "VALUE:N1" ], [ "98", "121", "043", "VALUE:N1" ], [ "98", "122", "043", "VALUE:N1" ], [ "98", "123", "043", "VALUE:N1" ], [ "98", "124", "043", "VALUE:N1" ], [ "98", "125", "043", "VALUE:N1" ], [ "98", "128", "043", "VALUE:N1" ], [ "98", "152", "043", "VALUE:N1" ], [ "98", "153", "043", "VALUE:N1" ], [ "98", "155", "043", "VALUE:N1" ], [ "98", "158", "043", "VALUE:N2" ], [ "99", "100,110,115,118", "043", "VALUE:N1" ], [ "99", "121", "043", "VALUE:N1" ], [ "99", "122", "043", "VALUE:N1" ], [ "99", "123", "043", "VALUE:N1" ], [ "99", "124", "043", "VALUE:N1" ], [ "99", "125", "043", "VALUE:N1" ], [ "99", "128", "043", "VALUE:N1" ], [ "99", "152", "043", "VALUE:N1" ], [ "99", "153", "043", "VALUE:N1" ], [ "99", "155", "043", "VALUE:N1" ], [ "99", "158", "043", "VALUE:N2" ], [ "00", "100,110,115,118", "045", "VALUE:N2" ], [ "00", "121", "045", "VALUE:N2" ], [ "00", "122", "045", "VALUE:N2" ], [ "00", "123", "045", "VALUE:N2" ], [ "00", "124", "045", "VALUE:N2" ], [ "00", "125", "045", "VALUE:N2" ], [ "00", "128", "045", "VALUE:N2" ], [ "00", "152", "045", "VALUE:N2" ], [ "00", "153", "045", "VALUE:N2" ], [ "00", "155", "045", "VALUE:N2" ], [ "00", "158", "045", "VALUE:N2" ], [ "01", "100,110,115,118", "045", "VALUE:N2" ], [ "01", "121", "045", "VALUE:N2" ], [ "01", "122", "045", "VALUE:N1b" ], [ "01", "123", "045", "VALUE:N1b" ], [ "01", "124", "045", "VALUE:N1b" ], [ "01", "125", "045", "VALUE:N1b" ], [ "01", "128", "045", "VALUE:N2" ], [ "01", "152", "045", "VALUE:N1b" ], [ "01", "153", "045", "VALUE:N1b" ], [ "01", "155", "045", "VALUE:N1b" ], [ "01", "158", "045", "VALUE:N1b" ], [ "02-03", "100,110,115,118", "045", "VALUE:N2" ], [ "02-03", "121", "045", "VALUE:N2" ], [ "02-03", "122", "045", "VALUE:N2b" ], [ "02-03", "123", "045", "VALUE:N2b" ], [ "02-03", "124", "045", "VALUE:N1b" ], [ "02-03", "125", "045", "VALUE:N2b" ], [ "02-03", "128", "045", "VALUE:N2" ], [ "02-03", "152", "045", "VALUE:N2b" ], [ "02-03", "153", "045", "VALUE:N2b" ], [ "02-03", "155", "045", "VALUE:N2b" ], [ "02-03", "158", "045", "VALUE:N2b" ], [ "04-90", "100,110,115,118", "045", "VALUE:N3" ], [ "04-90", "121", "045", "VALUE:N2" ], [ "04-90", "122", "045", "VALUE:N3" ], [ "04-90", "123", "045", "VALUE:N3" ], [ "04-90", "124", "045", "VALUE:N3" ], [ "04-90", "125", "045", "VALUE:N3" ], [ "04-90", "128", "045", "VALUE:N2" ], [ "04-90", "152", "045", "VALUE:N3" ], [ "04-90", "153", "045", "VALUE:N3" ], [ "04-90", "155", "045", "VALUE:N3" ], [ "04-90", "158", "045", "VALUE:N3" ], [ "95", "100,110,115,118", "045", "VALUE:N2" ], [ "95", "121", "045", "VALUE:N2" ], [ "95", "122", "045", "VALUE:N1b" ], [ "95", "123", "045", "VALUE:N1b" ], [ "95", "124", "045", "VALUE:N1b" ], [ "95", "125", "045", "VALUE:N2" ], [ "95", "128", "045", "VALUE:N2" ], [ "95", "152", "045", "VALUE:N2b" ], [ "95", "153", "045", "VALUE:N2b" ], [ "95", "155", "045", "VALUE:N2" ], [ "95", "158", "045", "VALUE:N2b" ], [ "97", "100,110,115,118", "045", "VALUE:N2" ], [ "97", "121", "045", "VALUE:N2" ], [ "97", "122", "045", "VALUE:N1b" ], [ "97", "123", "045", "VALUE:N1b" ], [ "97", "124", "045", "VALUE:N1b" ], [ "97", "125", "045", "VALUE:N1b" ], [ "97", "128", "045", "VALUE:N2" ], [ "97", "152", "045", "VALUE:N2b" ], [ "97", "153", "045", "VALUE:N2b" ], [ "97", "155", "045", "VALUE:N2b" ], [ "97", "158", "045", "VALUE:N2b" ], [ "98", "100,110,115,118", "045", "VALUE:N2" ], [ "98", "121", "045", "VALUE:N2" ], [ "98", "122", "045", "VALUE:N2" ], [ "98", "123", "045", "VALUE:N2" ], [ "98", "124", "045", "VALUE:N2" ], [ "98", "125", "045", "VALUE:N2" ], [ "98", "128", "045", "VALUE:N2" ], [ "98", "152", "045", "VALUE:N2" ], [ "98", "153", "045", "VALUE:N2" ], [ "98", "155", "045", "VALUE:N2" ], [ "98", "158", "045", "VALUE:N2" ], [ "99", "100,110,115,118", "045", "VALUE:N2" ], [ "99", "121", "045", "VALUE:N2" ], [ "99", "122", "045", "VALUE:N2" ], [ "99", "123", "045", "VALUE:N2" ], [ "99", "124", "045", "VALUE:N2" ], [ "99", "125", "045", "VALUE:N2" ], [ "99", "128", "045", "VALUE:N2" ], [ "99", "152", "045", "VALUE:N2" ], [ "99", "153", "045", "VALUE:N2" ], [ "99", "155", "045", "VALUE:N2" ], [ "99", "158", "045", "VALUE:N2" ], [ "00", "100,110,115,118", "048", "VALUE:N3" ], [ "00", "121", "048", "VALUE:N3" ], [ "00", "122", "048", "VALUE:N3" ], [ "00", "123", "048", "VALUE:N3" ], [ "00", "124", "048", "VALUE:N3" ], [ "00", "125", "048", "VALUE:N3" ], [ "00", "128", "048", "VALUE:N3" ], [ "00", "152", "048", "VALUE:N3" ], [ "00", "153", "048", "VALUE:N3" ], [ "00", "155", "048", "VALUE:N3" ], [ "00", "158", "048", "VALUE:N2" ], [ "01", "100,110,115,118", "048", "VALUE:N3" ], [ "01", "121", "048", "VALUE:N3" ], [ "01", "122", "048", "VALUE:N1b" ], [ "01", "123", "048", "VALUE:N1b" ], [ "01", "124", "048", "VALUE:N1b" ], [ "01", "125", "048", "VALUE:N1b" ], [ "01", "128", "048", "VALUE:N3" ], [ "01", "152", "048", "VALUE:N1b" ], [ "01", "153", "048", "VALUE:N1b" ], [ "01", "155", "048", "VALUE:N1b" ], [ "01", "158", "048", "VALUE:N1b" ], [ "02-03", "100,110,115,118", "048", "VALUE:N3" ], [ "02-03", "121", "048", "VALUE:N3" ], [ "02-03", "122", "048", "VALUE:N2b" ], [ "02-03", "123", "048", "VALUE:N2b" ], [ "02-03", "124", "048", "VALUE:N1b" ], [ "02-03", "125", "048", "VALUE:N2b" ], [ "02-03", "128", "048", "VALUE:N3" ], [ "02-03", "152", "048", "VALUE:N2b" ], [ "02-03", "153", "048", "VALUE:N2b" ], [ "02-03", "155", "048", "VALUE:N2b" ], [ "02-03", "158", "048", "VALUE:N2b" ], [ "04-90", "100,110,115,118", "048", "VALUE:N3" ], [ "04-90", "121", "048", "VALUE:N3" ], [ "04-90", "122", "048", "VALUE:N3" ], [ "04-90", "123", "048", "VALUE:N3" ], [ "04-90", "124", "048", "VALUE:N3" ], [ "04-90", "125", "048", "VALUE:N3" ], [ "04-90", "128", "048", "VALUE:N3" ], [ "04-90", "152", "048", "VALUE:N3" ], [ "04-90", "153", "048", "VALUE:N3" ], [ "04-90", "155", "048", "VALUE:N3" ], [ "04-90", "158", "048", "VALUE:N3" ], [ "95", "100,110,115,118", "048", "VALUE:N3" ], [ "95", "121", "048", "VALUE:N3" ], [ "95", "122", "048", "VALUE:N1b" ], [ "95", "123", "048", "VALUE:N1b" ], [ "95", "124", "048", "VALUE:N1b" ], [ "95", "125", "048", "VALUE:N3" ], [ "95", "128", "048", "VALUE:N3" ], [ "95", "152", "048", "VALUE:N2b" ], [ "95", "153", "048", "VALUE:N2b" ], [ "95", "155", "048", "VALUE:N3" ], [ "95", "158", "048", "VALUE:N2b" ], [ "97", "100,110,115,118", "048", "VALUE:N3" ], [ "97", "121", "048", "VALUE:N3" ], [ "97", "122", "048", "VALUE:N1b" ], [ "97", "123", "048", "VALUE:N1b" ], [ "97", "124", "048", "VALUE:N1b" ], [ "97", "125", "048", "VALUE:N1b" ], [ "97", "128", "048", "VALUE:N3" ], [ "97", "152", "048", "VALUE:N2b" ], [ "97", "153", "048", "VALUE:N2b" ], [ "97", "155", "048", "VALUE:N2b" ], [ "97", "158", "048", "VALUE:N2b" ], [ "98", "100,110,115,118", "048", "VALUE:N3" ], [ "98", "121", "048", "VALUE:N3" ], [ "98", "122", "048", "VALUE:N3" ], [ "98", "123", "048", "VALUE:N3" ], [ "98", "124", "048", "VALUE:N3" ], [ "98", "125", "048", "VALUE:N3" ], [ "98", "128", "048", "VALUE:N3" ], [ "98", "152", "048", "VALUE:N3" ], [ "98", "153", "048", "VALUE:N3" ], [ "98", "155", "048", "VALUE:N3" ], [ "98", "158", "048", "VALUE:N2" ], [ "99", "100,110,115,118", "048", "VALUE:N3" ], [ "99", "121", "048", "VALUE:N3" ], [ "99", "122", "048", "VALUE:N3" ], [ "99", "123", "048", "VALUE:N3" ], [ "99", "124", "048", "VALUE:N3" ], [ "99", "125", "048", "VALUE:N3" ], [ "99", "128", "048", "VALUE:N3" ], [ "99", "152", "048", "VALUE:N3" ], [ "99", "153", "048", "VALUE:N3" ], [ "99", "155", "048", "VALUE:N3" ], [ "99", "158", "048", "VALUE:N2" ], [ "00", "100,110,115,118", "050", "VALUE:N1" ], [ "00", "121", "050", "VALUE:N1" ], [ "00", "122", "050", "VALUE:N1" ], [ "00", "123", "050", "VALUE:N1" ], [ "00", "124", "050", "VALUE:N1" ], [ "00", "125", "050", "VALUE:N1" ], [ "00", "128", "050", "VALUE:N2" ], [ "00", "152", "050", "VALUE:N2" ], [ "00", "153", "050", "VALUE:N2" ], [ "00", "155", "050", "VALUE:N2" ], [ "00", "158", "050", "VALUE:N2" ], [ "01", "100,110,115,118", "050", "VALUE:N1" ], [ "01", "121", "050", "VALUE:N1" ], [ "01", "122", "050", "VALUE:N1b" ], [ "01", "123", "050", "VALUE:N1b" ], [ "01", "124", "050", "VALUE:N1b" ], [ "01", "125", "050", "VALUE:N1NOS" ], [ "01", "128", "050", "VALUE:N2" ], [ "01", "152", "050", "VALUE:N2b" ], [ "01", "153", "050", "VALUE:N2b" ], [ "01", "155", "050", "VALUE:N2b" ], [ "01", "158", "050", "VALUE:N2b" ], [ "02-03", "100,110,115,118", "050", "VALUE:N1" ], [ "02-03", "121", "050", "VALUE:N1" ], [ "02-03", "122", "050", "VALUE:N2b" ], [ "02-03", "123", "050", "VALUE:N2b" ], [ "02-03", "124", "050", "VALUE:N2b" ], [ "02-03", "125", "050", "VALUE:N2b" ], [ "02-03", "128", "050", "VALUE:N2" ], [ "02-03", "152", "050", "VALUE:N2b" ], [ "02-03", "153", "050", "VALUE:N2b" ], [ "02-03", "155", "050", "VALUE:N2b" ], [ "02-03", "158", "050", "VALUE:N2b" ], [ "04-90", "100,110,115,118", "050", "VALUE:N3" ], [ "04-90", "121", "050", "VALUE:N1" ], [ "04-90", "122", "050", "VALUE:N3" ], [ "04-90", "123", "050", "VALUE:N3" ], [ "04-90", "124", "050", "VALUE:N3" ], [ "04-90", "125", "050", "VALUE:N3" ], [ "04-90", "128", "050", "VALUE:N2" ], [ "04-90", "152", "050", "VALUE:N3" ], [ "04-90", "153", "050", "VALUE:N3" ], [ "04-90", "155", "050", "VALUE:N3" ], [ "04-90", "158", "050", "VALUE:N3" ], [ "95", "100,110,115,118", "050", "VALUE:N1" ], [ "95", "121", "050", "VALUE:N1" ], [ "95", "122", "050", "VALUE:N1b" ], [ "95", "123", "050", "VALUE:N1b" ], [ "95", "124", "050", "VALUE:N1b" ], [ "95", "125", "050", "VALUE:N1" ], [ "95", "128", "050", "VALUE:N2" ], [ "95", "152", "050", "VALUE:N2b" ], [ "95", "153", "050", "VALUE:N2b" ], [ "95", "155", "050", "VALUE:N2" ], [ "95", "158", "050", "VALUE:N2b" ], [ "97", "100,110,115,118", "050", "VALUE:N1b" ], [ "97", "121", "050", "VALUE:N1" ], [ "97", "122", "050", "VALUE:N1b" ], [ "97", "123", "050", "VALUE:N1b" ], [ "97", "124", "050", "VALUE:N1b" ], [ "97", "125", "050", "VALUE:N1NOS" ], [ "97", "128", "050", "VALUE:N2" ], [ "97", "152", "050", "VALUE:N2b" ], [ "97", "153", "050", "VALUE:N2b" ], [ "97", "155", "050", "VALUE:N2b" ], [ "97", "158", "050", "VALUE:N2b" ], [ "98", "100,110,115,118", "050", "VALUE:N1" ], [ "98", "121", "050", "VALUE:N1" ], [ "98", "122", "050", "VALUE:N1" ], [ "98", "123", "050", "VALUE:N1" ], [ "98", "124", "050", "VALUE:N1" ], [ "98", "125", "050", "VALUE:N1" ], [ "98", "128", "050", "VALUE:N2" ], [ "98", "152", "050", "VALUE:N2" ], [ "98", "153", "050", "VALUE:N2" ], [ "98", "155", "050", "VALUE:N2" ], [ "98", "158", "050", "VALUE:N2" ], [ "99", "100,110,115,118", "050", "VALUE:N1" ], [ "99", "121", "050", "VALUE:N1" ], [ "99", "122", "050", "VALUE:N1" ], [ "99", "123", "050", "VALUE:N1" ], [ "99", "124", "050", "VALUE:N1" ], [ "99", "125", "050", "VALUE:N1" ], [ "99", "128", "050", "VALUE:N2" ], [ "99", "152", "050", "VALUE:N2" ], [ "99", "153", "050", "VALUE:N2" ], [ "99", "155", "050", "VALUE:N2" ], [ "99", "158", "050", "VALUE:N2" ], [ "00", "100,110,115,118", "100", "ERROR:" ], [ "00", "121", "100", "ERROR:" ], [ "00", "122", "100", "ERROR:" ], [ "00", "123", "100", "ERROR:" ], [ "00", "124", "100", "ERROR:" ], [ "00", "125", "100", "ERROR:" ], [ "00", "128", "100", "ERROR:" ], [ "00", "152", "100", "ERROR:" ], [ "00", "153", "100", "ERROR:" ], [ "00", "155", "100", "VALUE:N2c" ], [ "00", "158", "100", "VALUE:N2c" ], [ "01", "100,110,115,118", "100", "ERROR:" ], [ "01", "121", "100", "ERROR:" ], [ "01", "122", "100", "ERROR:" ], [ "01", "123", "100", "ERROR:" ], [ "01", "124", "100", "ERROR:" ], [ "01", "125", "100", "ERROR:" ], [ "01", "128", "100", "ERROR:" ], [ "01", "152", "100", "ERROR:" ], [ "01", "153", "100", "ERROR:" ], [ "01", "155", "100", "ERROR:" ], [ "01", "158", "100", "ERROR:" ], [ "02-03", "100,110,115,118", "100", "ERROR:" ], [ "02-03", "121", "100", "ERROR:" ], [ "02-03", "122", "100", "ERROR:" ], [ "02-03", "123", "100", "ERROR:" ], [ "02-03", "124", "100", "ERROR:" ], [ "02-03", "125", "100", "ERROR:" ], [ "02-03", "128", "100", "ERROR:" ], [ "02-03", "152", "100", "ERROR:" ], [ "02-03", "153", "100", "ERROR:" ], [ "02-03", "155", "100", "ERROR:" ], [ "02-03", "158", "100", "ERROR:" ], [ "04-90", "100,110,115,118", "100", "ERROR:" ], [ "04-90", "121", "100", "ERROR:" ], [ "04-90", "122", "100", "ERROR:" ], [ "04-90", "123", "100", "ERROR:" ], [ "04-90", "124", "100", "ERROR:" ], [ "04-90", "125", "100", "ERROR:" ], [ "04-90", "128", "100", "ERROR:" ], [ "04-90", "152", "100", "ERROR:" ], [ "04-90", "153", "100", "ERROR:" ], [ "04-90", "155", "100", "ERROR:" ], [ "04-90", "158", "100", "ERROR:" ], [ "95", "100,110,115,118", "100", "ERROR:" ], [ "95", "121", "100", "ERROR:" ], [ "95", "122", "100", "ERROR:" ], [ "95", "123", "100", "ERROR:" ], [ "95", "124", "100", "ERROR:" ], [ "95", "125", "100", "ERROR:" ], [ "95", "128", "100", "ERROR:" ], [ "95", "152", "100", "ERROR:" ], [ "95", "153", "100", "ERROR:" ], [ "95", "155", "100", "ERROR:" ], [ "95", "158", "100", "ERROR:" ], [ "97", "100,110,115,118", "100", "ERROR:" ], [ "97", "121", "100", "ERROR:" ], [ "97", "122", "100", "ERROR:" ], [ "97", "123", "100", "ERROR:" ], [ "97", "124", "100", "ERROR:" ], [ "97", "125", "100", "ERROR:" ], [ "97", "128", "100", "ERROR:" ], [ "97", "152", "100", "ERROR:" ], [ "97", "153", "100", "ERROR:" ], [ "97", "155", "100", "ERROR:" ], [ "97", "158", "100", "ERROR:" ], [ "98", "100,110,115,118", "100", "ERROR:" ], [ "98", "121", "100", "ERROR:" ], [ "98", "122", "100", "ERROR:" ], [ "98", "123", "100", "ERROR:" ], [ "98", "124", "100", "ERROR:" ], [ "98", "125", "100", "ERROR:" ], [ "98", "128", "100", "ERROR:" ], [ "98", "152", "100", "ERROR:" ], [ "98", "153", "100", "ERROR:" ], [ "98", "155", "100", "VALUE:N2c" ], [ "98", "158", "100", "VALUE:N2c" ], [ "99", "100,110,115,118", "100", "ERROR:" ], [ "99", "121", "100", "ERROR:" ], [ "99", "122", "100", "ERROR:" ], [ "99", "123", "100", "ERROR:" ], [ "99", "124", "100", "ERROR:" ], [ "99", "125", "100", "ERROR:" ], [ "99", "128", "100", "ERROR:" ], [ "99", "152", "100", "ERROR:" ], [ "99", "153", "100", "ERROR:" ], [ "99", "155", "100", "VALUE:N2c" ], [ "99", "158", "100", "VALUE:N2c" ], [ "00", "100,110,115,118", "150", "VALUE:N3" ], [ "00", "121", "150", "VALUE:N3" ], [ "00", "122", "150", "VALUE:N3" ], [ "00", "123", "150", "VALUE:N3" ], [ "00", "124", "150", "VALUE:N3" ], [ "00", "125", "150", "VALUE:N3" ], [ "00", "128", "150", "VALUE:N3" ], [ "00", "152", "150", "VALUE:N3" ], [ "00", "153", "150", "VALUE:N3" ], [ "00", "155", "150", "VALUE:N3" ], [ "00", "158", "150", "VALUE:N3" ], [ "01", "100,110,115,118", "150", "VALUE:N3" ], [ "01", "121", "150", "VALUE:N3" ], [ "01", "122", "150", "VALUE:N3" ], [ "01", "123", "150", "VALUE:N3" ], [ "01", "124", "150", "VALUE:N3" ], [ "01", "125", "150", "VALUE:N3" ], [ "01", "128", "150", "VALUE:N3" ], [ "01", "152", "150", "VALUE:N3" ], [ "01", "153", "150", "VALUE:N3" ], [ "01", "155", "150", "VALUE:N3" ], [ "01", "158", "150", "VALUE:N3" ], [ "02-03", "100,110,115,118", "150", "VALUE:N3" ], [ "02-03", "121", "150", "VALUE:N3" ], [ "02-03", "122", "150", "VALUE:N3" ], [ "02-03", "123", "150", "VALUE:N3" ], [ "02-03", "124", "150", "VALUE:N3" ], [ "02-03", "125", "150", "VALUE:N3" ], [ "02-03", "128", "150", "VALUE:N3" ], [ "02-03", "152", "150", "VALUE:N3" ], [ "02-03", "153", "150", "VALUE:N3" ], [ "02-03", "155", "150", "VALUE:N3" ], [ "02-03", "158", "150", "VALUE:N3" ], [ "04-90", "100,110,115,118", "150", "VALUE:N3" ], [ "04-90", "121", "150", "VALUE:N3" ], [ "04-90", "122", "150", "VALUE:N3" ], [ "04-90", "123", "150", "VALUE:N3" ], [ "04-90", "124", "150", "VALUE:N3" ], [ "04-90", "125", "150", "VALUE:N3" ], [ "04-90", "128", "150", "VALUE:N3" ], [ "04-90", "152", "150", "VALUE:N3" ], [ "04-90", "153", "150", "VALUE:N3" ], [ "04-90", "155", "150", "VALUE:N3" ], [ "04-90", "158", "150", "VALUE:N3" ], [ "95", "100,110,115,118", "150", "VALUE:N3" ], [ "95", "121", "150", "VALUE:N3" ], [ "95", "122", "150", "VALUE:N3" ], [ "95", "123", "150", "VALUE:N3" ], [ "95", "124", "150", "VALUE:N3" ], [ "95", "125", "150", "VALUE:N3" ], [ "95", "128", "150", "VALUE:N3" ], [ "95", "152", "150", "VALUE:N3" ], [ "95", "153", "150", "VALUE:N3" ], [ "95", "155", "150", "VALUE:N3" ], [ "95", "158", "150", "VALUE:N3" ], [ "97", "100,110,115,118", "150", "VALUE:N3" ], [ "97", "121", "150", "VALUE:N3" ], [ "97", "122", "150", "VALUE:N3" ], [ "97", "123", "150", "VALUE:N3" ], [ "97", "124", "150", "VALUE:N3" ], [ "97", "125", "150", "VALUE:N3" ], [ "97", "128", "150", "VALUE:N3" ], [ "97", "152", "150", "VALUE:N3" ], [ "97", "153", "150", "VALUE:N3" ], [ "97", "155", "150", "VALUE:N3" ], [ "97", "158", "150", "VALUE:N3" ], [ "98", "100,110,115,118", "150", "VALUE:N3" ], [ "98", "121", "150", "VALUE:N3" ], [ "98", "122", "150", "VALUE:N3" ], [ "98", "123", "150", "VALUE:N3" ], [ "98", "124", "150", "VALUE:N3" ], [ "98", "125", "150", "VALUE:N3" ], [ "98", "128", "150", "VALUE:N3" ], [ "98", "152", "150", "VALUE:N3" ], [ "98", "153", "150", "VALUE:N3" ], [ "98", "155", "150", "VALUE:N3" ], [ "98", "158", "150", "VALUE:N3" ], [ "99", "100,110,115,118", "150", "VALUE:N3" ], [ "99", "121", "150", "VALUE:N3" ], [ "99", "122", "150", "VALUE:N3" ], [ "99", "123", "150", "VALUE:N3" ], [ "99", "124", "150", "VALUE:N3" ], [ "99", "125", "150", "VALUE:N3" ], [ "99", "128", "150", "VALUE:N3" ], [ "99", "152", "150", "VALUE:N3" ], [ "99", "153", "150", "VALUE:N3" ], [ "99", "155", "150", "VALUE:N3" ], [ "99", "158", "150", "VALUE:N3" ], [ "00", "100,110,115,118", "988", "ERROR:" ], [ "00", "121", "988", "ERROR:" ], [ "00", "122", "988", "ERROR:" ], [ "00", "123", "988", "ERROR:" ], [ "00", "124", "988", "ERROR:" ], [ "00", "125", "988", "ERROR:" ], [ "00", "128", "988", "ERROR:" ], [ "00", "152", "988", "ERROR:" ], [ "00", "153", "988", "ERROR:" ], [ "00", "155", "988", "ERROR:" ], [ "00", "158", "988", "ERROR:" ], [ "01", "100,110,115,118", "988", "ERROR:" ], [ "01", "121", "988", "ERROR:" ], [ "01", "122", "988", "ERROR:" ], [ "01", "123", "988", "ERROR:" ], [ "01", "124", "988", "ERROR:" ], [ "01", "125", "988", "ERROR:" ], [ "01", "128", "988", "ERROR:" ], [ "01", "152", "988", "ERROR:" ], [ "01", "153", "988", "ERROR:" ], [ "01", "155", "988", "ERROR:" ], [ "01", "158", "988", "ERROR:" ], [ "02-03", "100,110,115,118", "988", "ERROR:" ], [ "02-03", "121", "988", "ERROR:" ], [ "02-03", "122", "988", "ERROR:" ], [ "02-03", "123", "988", "ERROR:" ], [ "02-03", "124", "988", "ERROR:" ], [ "02-03", "125", "988", "ERROR:" ], [ "02-03", "128", "988", "ERROR:" ], [ "02-03", "152", "988", "ERROR:" ], [ "02-03", "153", "988", "ERROR:" ], [ "02-03", "155", "988", "ERROR:" ], [ "02-03", "158", "988", "ERROR:" ], [ "04-90", "100,110,115,118", "988", "ERROR:" ], [ "04-90", "121", "988", "ERROR:" ], [ "04-90", "122", "988", "ERROR:" ], [ "04-90", "123", "988", "ERROR:" ], [ "04-90", "124", "988", "ERROR:" ], [ "04-90", "125", "988", "ERROR:" ], [ "04-90", "128", "988", "ERROR:" ], [ "04-90", "152", "988", "ERROR:" ], [ "04-90", "153", "988", "ERROR:" ], [ "04-90", "155", "988", "ERROR:" ], [ "04-90", "158", "988", "ERROR:" ], [ "95", "100,110,115,118", "988", "ERROR:" ], [ "95", "121", "988", "ERROR:" ], [ "95", "122", "988", "ERROR:" ], [ "95", "123", "988", "ERROR:" ], [ "95", "124", "988", "ERROR:" ], [ "95", "125", "988", "ERROR:" ], [ "95", "128", "988", "ERROR:" ], [ "95", "152", "988", "ERROR:" ], [ "95", "153", "988", "ERROR:" ], [ "95", "155", "988", "ERROR:" ], [ "95", "158", "988", "ERROR:" ], [ "97", "100,110,115,118", "988", "ERROR:" ], [ "97", "121", "988", "ERROR:" ], [ "97", "122", "988", "ERROR:" ], [ "97", "123", "988", "ERROR:" ], [ "97", "124", "988", "ERROR:" ], [ "97", "125", "988", "ERROR:" ], [ "97", "128", "988", "ERROR:" ], [ "97", "152", "988", "ERROR:" ], [ "97", "153", "988", "ERROR:" ], [ "97", "155", "988", "ERROR:" ], [ "97", "158", "988", "ERROR:" ], [ "98", "100,110,115,118", "988", "ERROR:" ], [ "98", "121", "988", "ERROR:" ], [ "98", "122", "988", "ERROR:" ], [ "98", "123", "988", "ERROR:" ], [ "98", "124", "988", "ERROR:" ], [ "98", "125", "988", "ERROR:" ], [ "98", "128", "988", "ERROR:" ], [ "98", "152", "988", "ERROR:" ], [ "98", "153", "988", "ERROR:" ], [ "98", "155", "988", "ERROR:" ], [ "98", "158", "988", "ERROR:" ], [ "99", "100,110,115,118", "988", "ERROR:" ], [ "99", "121", "988", "ERROR:" ], [ "99", "122", "988", "ERROR:" ], [ "99", "123", "988", "ERROR:" ], [ "99", "124", "988", "ERROR:" ], [ "99", "125", "988", "ERROR:" ], [ "99", "128", "988", "ERROR:" ], [ "99", "152", "988", "ERROR:" ], [ "99", "153", "988", "ERROR:" ], [ "99", "155", "988", "ERROR:" ], [ "99", "158", "988", "ERROR:" ], [ "00", "100,110,115,118", "999", "VALUE:N1" ], [ "00", "121", "999", "VALUE:N1" ], [ "00", "122", "999", "VALUE:N1" ], [ "00", "123", "999", "VALUE:N1" ], [ "00", "124", "999", "VALUE:N1" ], [ "00", "125", "999", "VALUE:N1" ], [ "00", "128", "999", "VALUE:N2" ], [ "00", "152", "999", "VALUE:N2" ], [ "00", "153", "999", "VALUE:N2" ], [ "00", "155", "999", "VALUE:N2" ], [ "00", "158", "999", "VALUE:N2" ], [ "01", "100,110,115,118", "999", "VALUE:N1" ], [ "01", "121", "999", "VALUE:N1" ], [ "01", "122", "999", "VALUE:N1a" ], [ "01", "123", "999", "VALUE:N1b" ], [ "01", "124", "999", "VALUE:N1NOS" ], [ "01", "125", "999", "VALUE:N1NOS" ], [ "01", "128", "999", "VALUE:N2" ], [ "01", "152", "999", "VALUE:N2a" ], [ "01", "153", "999", "VALUE:N2b" ], [ "01", "155", "999", "VALUE:N2NOS" ], [ "01", "158", "999", "VALUE:N2NOS" ], [ "02-03", "100,110,115,118", "999", "VALUE:N2" ], [ "02-03", "121", "999", "VALUE:N2" ], [ "02-03", "122", "999", "VALUE:N2a" ], [ "02-03", "123", "999", "VALUE:N2b" ], [ "02-03", "124", "999", "VALUE:N2NOS" ], [ "02-03", "125", "999", "VALUE:N2NOS" ], [ "02-03", "128", "999", "VALUE:N2" ], [ "02-03", "152", "999", "VALUE:N2a" ], [ "02-03", "153", "999", "VALUE:N2b" ], [ "02-03", "155", "999", "VALUE:N2NOS" ], [ "02-03", "158", "999", "VALUE:N2NOS" ], [ "04-90", "100,110,115,118", "999", "VALUE:N3" ], [ "04-90", "121", "999", "VALUE:N1" ], [ "04-90", "122", "999", "VALUE:N3" ], [ "04-90", "123", "999", "VALUE:N3" ], [ "04-90", "124", "999", "VALUE:N3" ], [ "04-90", "125", "999", "VALUE:N3" ], [ "04-90", "128", "999", "VALUE:N2" ], [ "04-90", "152", "999", "VALUE:N3" ], [ "04-90", "153", "999", "VALUE:N3" ], [ "04-90", "155", "999", "VALUE:N3" ], [ "04-90", "158", "999", "VALUE:N3" ], [ "95", "100,110,115,118", "999", "VALUE:N1" ], [ "95", "121", "999", "VALUE:N1" ], [ "95", "122", "999", "VALUE:N1a" ], [ "95", "123", "999", "VALUE:N1b" ], [ "95", "124", "999", "VALUE:N1NOS" ], [ "95", "125", "999", "VALUE:N1" ], [ "95", "128", "999", "VALUE:N2" ], [ "95", "152", "999", "VALUE:N2a" ], [ "95", "153", "999", "VALUE:N2b" ], [ "95", "155", "999", "VALUE:N2" ], [ "95", "158", "999", "VALUE:N2NOS" ], [ "97", "100,110,115,118", "999", "VALUE:N1" ], [ "97", "121", "999", "VALUE:N1" ], [ "97", "122", "999", "VALUE:N1a" ], [ "97", "123", "999", "VALUE:N1b" ], [ "97", "124", "999", "VALUE:N1NOS" ], [ "97", "125", "999", "VALUE:N1NOS" ], [ "97", "128", "999", "VALUE:N2" ], [ "97", "152", "999", "VALUE:N2a" ], [ "97", "153", "999", "VALUE:N2b" ], [ "97", "155", "999", "VALUE:N2NOS" ], [ "97", "158", "999", "VALUE:N2NOS" ], [ "98", "100,110,115,118", "999", "VALUE:N1" ], [ "98", "121", "999", "VALUE:N1" ], [ "98", "122", "999", "VALUE:N1" ], [ "98", "123", "999", "VALUE:N1" ], [ "98", "124", "999", "VALUE:N1" ], [ "98", "125", "999", "VALUE:N1" ], [ "98", "128", "999", "VALUE:N2" ], [ "98", "152", "999", "VALUE:N2" ], [ "98", "153", "999", "VALUE:N2" ], [ "98", "155", "999", "VALUE:N2" ], [ "98", "158", "999", "VALUE:N2" ], [ "99", "100,110,115,118", "999", "VALUE:N1" ], [ "99", "121", "999", "VALUE:N1" ], [ "99", "122", "999", "VALUE:N1a" ], [ "99", "123", "999", "VALUE:N1b" ], [ "99", "124", "999", "VALUE:N1NOS" ], [ "99", "125", "999", "VALUE:N1NOS" ], [ "99", "128", "999", "VALUE:N2" ], [ "99", "152", "999", "VALUE:N2a" ], [ "99", "153", "999", "VALUE:N2b" ], [ "99", "155", "999", "VALUE:N2NOS" ], [ "99", "158", "999", "VALUE:N2NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlj.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlj.json deleted file mode 100644 index f45aa0567..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlj.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodeand_nodal_status_eval_blank_ajcc7_xlj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Node and Nodal Status Eval Blank AJCC7", - "title" : "Lymph Node and Nodal Status Eval Blank AJCC 7 Table", - "notes" : "**Note**: When no CS Lymph Nodes Eval code is recorded, for CS Lymph Nodes codes 100-118, 121-128, 152, 153, 155, and 158 ONLY, the N category for AJCC 7 staging is assigned based on the value of Regional Nodes Positive, CS Lymph Nodes, and CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, as shown in the following table.", - "last_modified" : "2015-05-27T16:19:22.389Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "010", "000-002,005", "ERROR:" ], [ "00", "100,110,115,118", "000-002,005", "ERROR:" ], [ "00", "121", "000-002,005", "ERROR:" ], [ "00", "122", "000-002,005", "ERROR:" ], [ "00", "123", "000-002,005", "ERROR:" ], [ "00", "124", "000-002,005", "ERROR:" ], [ "00", "125", "000-002,005", "ERROR:" ], [ "00", "128", "000-002,005", "ERROR:" ], [ "00", "152", "000-002,005", "ERROR:" ], [ "00", "153", "000-002,005", "ERROR:" ], [ "00", "155", "000-002,005", "ERROR:" ], [ "00", "158", "000-002,005", "ERROR:" ], [ "01", "010", "000-002,005", "ERROR:" ], [ "01", "100,110,115,118", "000-002,005", "ERROR:" ], [ "01", "121", "000-002,005", "ERROR:" ], [ "01", "122", "000-002,005", "ERROR:" ], [ "01", "123", "000-002,005", "ERROR:" ], [ "01", "124", "000-002,005", "ERROR:" ], [ "01", "125", "000-002,005", "ERROR:" ], [ "01", "128", "000-002,005", "ERROR:" ], [ "01", "152", "000-002,005", "ERROR:" ], [ "01", "153", "000-002,005", "ERROR:" ], [ "01", "155", "000-002,005", "ERROR:" ], [ "01", "158", "000-002,005", "ERROR:" ], [ "02-03", "010", "000-002,005", "ERROR:" ], [ "02-03", "100,110,115,118", "000-002,005", "ERROR:" ], [ "02-03", "121", "000-002,005", "ERROR:" ], [ "02-03", "122", "000-002,005", "ERROR:" ], [ "02-03", "123", "000-002,005", "ERROR:" ], [ "02-03", "124", "000-002,005", "ERROR:" ], [ "02-03", "125", "000-002,005", "ERROR:" ], [ "02-03", "128", "000-002,005", "ERROR:" ], [ "02-03", "152", "000-002,005", "ERROR:" ], [ "02-03", "153", "000-002,005", "ERROR:" ], [ "02-03", "155", "000-002,005", "ERROR:" ], [ "02-03", "158", "000-002,005", "ERROR:" ], [ "04-90", "010", "000-002,005", "ERROR:" ], [ "04-90", "100,110,115,118", "000-002,005", "ERROR:" ], [ "04-90", "121", "000-002,005", "ERROR:" ], [ "04-90", "122", "000-002,005", "ERROR:" ], [ "04-90", "123", "000-002,005", "ERROR:" ], [ "04-90", "124", "000-002,005", "ERROR:" ], [ "04-90", "125", "000-002,005", "ERROR:" ], [ "04-90", "128", "000-002,005", "ERROR:" ], [ "04-90", "152", "000-002,005", "ERROR:" ], [ "04-90", "153", "000-002,005", "ERROR:" ], [ "04-90", "155", "000-002,005", "ERROR:" ], [ "04-90", "158", "000-002,005", "ERROR:" ], [ "95", "010", "000-002,005", "ERROR:" ], [ "95", "100,110,115,118", "000-002,005", "ERROR:" ], [ "95", "121", "000-002,005", "ERROR:" ], [ "95", "122", "000-002,005", "ERROR:" ], [ "95", "123", "000-002,005", "ERROR:" ], [ "95", "124", "000-002,005", "ERROR:" ], [ "95", "125", "000-002,005", "ERROR:" ], [ "95", "128", "000-002,005", "ERROR:" ], [ "95", "152", "000-002,005", "ERROR:" ], [ "95", "153", "000-002,005", "ERROR:" ], [ "95", "155", "000-002,005", "ERROR:" ], [ "95", "158", "000-002,005", "ERROR:" ], [ "97", "010", "000-002,005", "ERROR:" ], [ "97", "100,110,115,118", "000-002,005", "ERROR:" ], [ "97", "121", "000-002,005", "ERROR:" ], [ "97", "122", "000-002,005", "ERROR:" ], [ "97", "123", "000-002,005", "ERROR:" ], [ "97", "124", "000-002,005", "ERROR:" ], [ "97", "125", "000-002,005", "ERROR:" ], [ "97", "128", "000-002,005", "ERROR:" ], [ "97", "152", "000-002,005", "ERROR:" ], [ "97", "153", "000-002,005", "ERROR:" ], [ "97", "155", "000-002,005", "ERROR:" ], [ "97", "158", "000-002,005", "ERROR:" ], [ "98", "010", "000-002,005", "ERROR:" ], [ "98", "100,110,115,118", "000-002,005", "ERROR:" ], [ "98", "121", "000-002,005", "ERROR:" ], [ "98", "122", "000-002,005", "ERROR:" ], [ "98", "123", "000-002,005", "ERROR:" ], [ "98", "124", "000-002,005", "ERROR:" ], [ "98", "125", "000-002,005", "ERROR:" ], [ "98", "128", "000-002,005", "ERROR:" ], [ "98", "152", "000-002,005", "ERROR:" ], [ "98", "153", "000-002,005", "ERROR:" ], [ "98", "155", "000-002,005", "ERROR:" ], [ "98", "158", "000-002,005", "ERROR:" ], [ "99", "010", "000-002,005", "ERROR:" ], [ "99", "100,110,115,118", "000-002,005", "ERROR:" ], [ "99", "121", "000-002,005", "ERROR:" ], [ "99", "122", "000-002,005", "ERROR:" ], [ "99", "123", "000-002,005", "ERROR:" ], [ "99", "124", "000-002,005", "ERROR:" ], [ "99", "125", "000-002,005", "ERROR:" ], [ "99", "128", "000-002,005", "ERROR:" ], [ "99", "152", "000-002,005", "ERROR:" ], [ "99", "153", "000-002,005", "ERROR:" ], [ "99", "155", "000-002,005", "ERROR:" ], [ "99", "158", "000-002,005", "ERROR:" ], [ "00", "010", "010", "VALUE:N1a" ], [ "00", "100,110,115,118", "010", "ERROR:" ], [ "00", "121", "010", "ERROR:" ], [ "00", "122", "010", "ERROR:" ], [ "00", "123", "010", "ERROR:" ], [ "00", "124", "010", "ERROR:" ], [ "00", "125", "010", "ERROR:" ], [ "00", "128", "010", "ERROR:" ], [ "00", "152", "010", "ERROR:" ], [ "00", "153", "010", "ERROR:" ], [ "00", "155", "010", "ERROR:" ], [ "00", "158", "010", "ERROR:" ], [ "01", "010", "010", "VALUE:N1a" ], [ "01", "100,110,115,118", "010", "VALUE:N1a" ], [ "01", "121", "010", "VALUE:N1" ], [ "01", "122", "010", "VALUE:N1a" ], [ "01", "123", "010", "VALUE:N1a" ], [ "01", "124", "010", "VALUE:N1a" ], [ "01", "125", "010", "VALUE:N1a" ], [ "01", "128", "010", "VALUE:N1" ], [ "01", "152", "010", "VALUE:N1a" ], [ "01", "153", "010", "VALUE:N1a" ], [ "01", "155", "010", "VALUE:N1a" ], [ "01", "158", "010", "VALUE:N1a" ], [ "02-03", "010", "010", "VALUE:N2a" ], [ "02-03", "100,110,115,118", "010", "VALUE:N2a" ], [ "02-03", "121", "010", "VALUE:N2" ], [ "02-03", "122", "010", "VALUE:N2a" ], [ "02-03", "123", "010", "VALUE:N2a" ], [ "02-03", "124", "010", "VALUE:N2a" ], [ "02-03", "125", "010", "VALUE:N2a" ], [ "02-03", "128", "010", "VALUE:N2" ], [ "02-03", "152", "010", "VALUE:N2a" ], [ "02-03", "153", "010", "VALUE:N2a" ], [ "02-03", "155", "010", "VALUE:N2a" ], [ "02-03", "158", "010", "VALUE:N2a" ], [ "04-90", "010", "010", "VALUE:N3" ], [ "04-90", "100,110,115,118", "010", "VALUE:N3" ], [ "04-90", "121", "010", "VALUE:N1" ], [ "04-90", "122", "010", "VALUE:N3" ], [ "04-90", "123", "010", "VALUE:N3" ], [ "04-90", "124", "010", "VALUE:N3" ], [ "04-90", "125", "010", "VALUE:N3" ], [ "04-90", "128", "010", "VALUE:N2" ], [ "04-90", "152", "010", "VALUE:N3" ], [ "04-90", "153", "010", "VALUE:N3" ], [ "04-90", "155", "010", "VALUE:N3" ], [ "04-90", "158", "010", "VALUE:N3" ], [ "95", "010", "010", "VALUE:N1a" ], [ "95", "100,110,115,118", "010", "VALUE:N1a" ], [ "95", "121", "010", "VALUE:N1" ], [ "95", "122", "010", "VALUE:N1a" ], [ "95", "123", "010", "VALUE:N1b" ], [ "95", "124", "010", "VALUE:N1NOS" ], [ "95", "125", "010", "VALUE:N1" ], [ "95", "128", "010", "VALUE:N2" ], [ "95", "152", "010", "VALUE:N2a" ], [ "95", "153", "010", "VALUE:N2b" ], [ "95", "155", "010", "VALUE:N2" ], [ "95", "158", "010", "VALUE:N2a" ], [ "97", "010", "010", "VALUE:N1a" ], [ "97", "100,110,115,118", "010", "VALUE:N1a" ], [ "97", "121", "010", "VALUE:N1" ], [ "97", "122", "010", "VALUE:N1a" ], [ "97", "123", "010", "VALUE:N1a" ], [ "97", "124", "010", "VALUE:N1a" ], [ "97", "125", "010", "VALUE:N1a" ], [ "97", "128", "010", "VALUE:N2" ], [ "97", "152", "010", "VALUE:N2a" ], [ "97", "153", "010", "VALUE:N2a" ], [ "97", "155", "010", "VALUE:N2a" ], [ "97", "158", "010", "VALUE:N2a" ], [ "98", "010", "010", "VALUE:N1a" ], [ "98", "100,110,115,118", "010", "ERROR:" ], [ "98", "121", "010", "ERROR:" ], [ "98", "122", "010", "ERROR:" ], [ "98", "123", "010", "ERROR:" ], [ "98", "124", "010", "ERROR:" ], [ "98", "125", "010", "ERROR:" ], [ "98", "128", "010", "ERROR:" ], [ "98", "152", "010", "ERROR:" ], [ "98", "153", "010", "ERROR:" ], [ "98", "155", "010", "ERROR:" ], [ "98", "158", "010", "ERROR:" ], [ "99", "010", "010", "VALUE:N1" ], [ "99", "100,110,115,118", "010", "VALUE:N1" ], [ "99", "121", "010", "VALUE:N1" ], [ "99", "122", "010", "VALUE:N1" ], [ "99", "123", "010", "VALUE:N1" ], [ "99", "124", "010", "VALUE:N1" ], [ "99", "125", "010", "VALUE:N1" ], [ "99", "128", "010", "VALUE:N2" ], [ "99", "152", "010", "VALUE:N2" ], [ "99", "153", "010", "VALUE:N2" ], [ "99", "155", "010", "VALUE:N2" ], [ "99", "158", "010", "VALUE:N2" ], [ "00", "010", "020", "VALUE:N1" ], [ "00", "100,110,115,118", "020", "VALUE:N1" ], [ "00", "121", "020", "VALUE:N1" ], [ "00", "122", "020", "VALUE:N1" ], [ "00", "123", "020", "VALUE:N1" ], [ "00", "124", "020", "VALUE:N1" ], [ "00", "125", "020", "VALUE:N1" ], [ "00", "128", "020", "VALUE:N2" ], [ "00", "152", "020", "VALUE:N2" ], [ "00", "153", "020", "VALUE:N2" ], [ "00", "155", "020", "VALUE:N2" ], [ "00", "158", "020", "VALUE:N2" ], [ "01", "010", "020", "VALUE:N1b" ], [ "01", "100,110,115,118", "020", "VALUE:N1b" ], [ "01", "121", "020", "VALUE:N1" ], [ "01", "122", "020", "VALUE:N1b" ], [ "01", "123", "020", "VALUE:N1b" ], [ "01", "124", "020", "VALUE:N1b" ], [ "01", "125", "020", "VALUE:N1b" ], [ "01", "128", "020", "VALUE:N1" ], [ "01", "152", "020", "VALUE:N1b" ], [ "01", "153", "020", "VALUE:N1b" ], [ "01", "155", "020", "VALUE:N1b" ], [ "01", "158", "020", "VALUE:N1b" ], [ "02-03", "010", "020", "VALUE:N2b" ], [ "02-03", "100,110,115,118", "020", "VALUE:N2b" ], [ "02-03", "121", "020", "VALUE:N2" ], [ "02-03", "122", "020", "VALUE:N2b" ], [ "02-03", "123", "020", "VALUE:N2b" ], [ "02-03", "124", "020", "VALUE:N2b" ], [ "02-03", "125", "020", "VALUE:N2b" ], [ "02-03", "128", "020", "VALUE:N2" ], [ "02-03", "152", "020", "VALUE:N2b" ], [ "02-03", "153", "020", "VALUE:N2b" ], [ "02-03", "155", "020", "VALUE:N2b" ], [ "02-03", "158", "020", "VALUE:N2b" ], [ "04-90", "010", "020", "VALUE:N3" ], [ "04-90", "100,110,115,118", "020", "VALUE:N3" ], [ "04-90", "121", "020", "VALUE:N1" ], [ "04-90", "122", "020", "VALUE:N3" ], [ "04-90", "123", "020", "VALUE:N3" ], [ "04-90", "124", "020", "VALUE:N3" ], [ "04-90", "125", "020", "VALUE:N3" ], [ "04-90", "128", "020", "VALUE:N2" ], [ "04-90", "152", "020", "VALUE:N3" ], [ "04-90", "153", "020", "VALUE:N3" ], [ "04-90", "155", "020", "VALUE:N3" ], [ "04-90", "158", "020", "VALUE:N3" ], [ "95", "010", "020", "VALUE:N1b" ], [ "95", "100,110,115,118", "020", "VALUE:N1b" ], [ "95", "121", "020", "VALUE:N1" ], [ "95", "122", "020", "VALUE:N1b" ], [ "95", "123", "020", "VALUE:N1b" ], [ "95", "124", "020", "VALUE:N1b" ], [ "95", "125", "020", "VALUE:N1" ], [ "95", "128", "020", "VALUE:N2" ], [ "95", "152", "020", "VALUE:N2b" ], [ "95", "153", "020", "VALUE:N2b" ], [ "95", "155", "020", "VALUE:N2" ], [ "95", "158", "020", "VALUE:N2b" ], [ "97", "010", "020", "VALUE:N1b" ], [ "97", "100,110,115,118", "020", "VALUE:N1b" ], [ "97", "121", "020", "VALUE:N1" ], [ "97", "122", "020", "VALUE:N1b" ], [ "97", "123", "020", "VALUE:N1b" ], [ "97", "124", "020", "VALUE:N1b" ], [ "97", "125", "020", "VALUE:N1b" ], [ "97", "128", "020", "VALUE:N2" ], [ "97", "152", "020", "VALUE:N2b" ], [ "97", "153", "020", "VALUE:N2b" ], [ "97", "155", "020", "VALUE:N2b" ], [ "97", "158", "020", "VALUE:N2b" ], [ "98", "010", "020", "VALUE:N1" ], [ "98", "100,110,115,118", "020", "VALUE:N1" ], [ "98", "121", "020", "VALUE:N1" ], [ "98", "122", "020", "VALUE:N1" ], [ "98", "123", "020", "VALUE:N1" ], [ "98", "124", "020", "VALUE:N1" ], [ "98", "125", "020", "VALUE:N1" ], [ "98", "128", "020", "VALUE:N2" ], [ "98", "152", "020", "VALUE:N2" ], [ "98", "153", "020", "VALUE:N2" ], [ "98", "155", "020", "VALUE:N2" ], [ "98", "158", "020", "VALUE:N2" ], [ "99", "010", "020", "VALUE:N1" ], [ "99", "100,110,115,118", "020", "VALUE:N1" ], [ "99", "121", "020", "VALUE:N1" ], [ "99", "122", "020", "VALUE:N1" ], [ "99", "123", "020", "VALUE:N1" ], [ "99", "124", "020", "VALUE:N1" ], [ "99", "125", "020", "VALUE:N1" ], [ "99", "128", "020", "VALUE:N2" ], [ "99", "152", "020", "VALUE:N2" ], [ "99", "153", "020", "VALUE:N2" ], [ "99", "155", "020", "VALUE:N2" ], [ "99", "158", "020", "VALUE:N2" ], [ "00", "010", "043", "VALUE:N1" ], [ "00", "100,110,115,118", "043", "VALUE:N1" ], [ "00", "121", "043", "VALUE:N1" ], [ "00", "122", "043", "VALUE:N1" ], [ "00", "123", "043", "VALUE:N1" ], [ "00", "124", "043", "VALUE:N1" ], [ "00", "125", "043", "VALUE:N1" ], [ "00", "128", "043", "VALUE:N1" ], [ "00", "152", "043", "VALUE:N1" ], [ "00", "153", "043", "VALUE:N1" ], [ "00", "155", "043", "VALUE:N1" ], [ "00", "158", "043", "VALUE:N2" ], [ "01", "010", "043", "VALUE:N1a" ], [ "01", "100,110,115,118", "043", "VALUE:N1" ], [ "01", "121", "043", "VALUE:N1" ], [ "01", "122", "043", "VALUE:N1b" ], [ "01", "123", "043", "VALUE:N1b" ], [ "01", "124", "043", "VALUE:N1b" ], [ "01", "125", "043", "VALUE:N1b" ], [ "01", "128", "043", "VALUE:N1" ], [ "01", "152", "043", "VALUE:N1b" ], [ "01", "153", "043", "VALUE:N1b" ], [ "01", "155", "043", "VALUE:N1b" ], [ "01", "158", "043", "VALUE:N1b" ], [ "02-03", "010", "043", "VALUE:N2a" ], [ "02-03", "100,110,115,118", "043", "VALUE:N2" ], [ "02-03", "121", "043", "VALUE:N2" ], [ "02-03", "122", "043", "VALUE:N2b" ], [ "02-03", "123", "043", "VALUE:N2b" ], [ "02-03", "124", "043", "VALUE:N1b" ], [ "02-03", "125", "043", "VALUE:N2b" ], [ "02-03", "128", "043", "VALUE:N1" ], [ "02-03", "152", "043", "VALUE:N2b" ], [ "02-03", "153", "043", "VALUE:N2b" ], [ "02-03", "155", "043", "VALUE:N2b" ], [ "02-03", "158", "043", "VALUE:N2b" ], [ "04-90", "010", "043", "VALUE:N3" ], [ "04-90", "100,110,115,118", "043", "VALUE:N3" ], [ "04-90", "121", "043", "VALUE:N1" ], [ "04-90", "122", "043", "VALUE:N3" ], [ "04-90", "123", "043", "VALUE:N3" ], [ "04-90", "124", "043", "VALUE:N3" ], [ "04-90", "125", "043", "VALUE:N3" ], [ "04-90", "128", "043", "VALUE:N1" ], [ "04-90", "152", "043", "VALUE:N3" ], [ "04-90", "153", "043", "VALUE:N3" ], [ "04-90", "155", "043", "VALUE:N3" ], [ "04-90", "158", "043", "VALUE:N3" ], [ "95", "010", "043", "VALUE:N1" ], [ "95", "100,110,115,118", "043", "VALUE:N1" ], [ "95", "121", "043", "VALUE:N1" ], [ "95", "122", "043", "VALUE:N1b" ], [ "95", "123", "043", "VALUE:N1b" ], [ "95", "124", "043", "VALUE:N1b" ], [ "95", "125", "043", "VALUE:N1" ], [ "95", "128", "043", "VALUE:N1" ], [ "95", "152", "043", "VALUE:N2b" ], [ "95", "153", "043", "VALUE:N2b" ], [ "95", "155", "043", "VALUE:N1" ], [ "95", "158", "043", "VALUE:N2b" ], [ "97", "010", "043", "VALUE:N1b" ], [ "97", "100,110,115,118", "043", "VALUE:N1b" ], [ "97", "121", "043", "VALUE:N1" ], [ "97", "122", "043", "VALUE:N1b" ], [ "97", "123", "043", "VALUE:N1b" ], [ "97", "124", "043", "VALUE:N1b" ], [ "97", "125", "043", "VALUE:N1b" ], [ "97", "128", "043", "VALUE:N1" ], [ "97", "152", "043", "VALUE:N2b" ], [ "97", "153", "043", "VALUE:N2b" ], [ "97", "155", "043", "VALUE:N2b" ], [ "97", "158", "043", "VALUE:N2b" ], [ "98", "010", "043", "VALUE:N1" ], [ "98", "100,110,115,118", "043", "VALUE:N1" ], [ "98", "121", "043", "VALUE:N1" ], [ "98", "122", "043", "VALUE:N1" ], [ "98", "123", "043", "VALUE:N1" ], [ "98", "124", "043", "VALUE:N1" ], [ "98", "125", "043", "VALUE:N1" ], [ "98", "128", "043", "VALUE:N1" ], [ "98", "152", "043", "VALUE:N1" ], [ "98", "153", "043", "VALUE:N1" ], [ "98", "155", "043", "VALUE:N1" ], [ "98", "158", "043", "VALUE:N2" ], [ "99", "010", "043", "VALUE:N1" ], [ "99", "100,110,115,118", "043", "VALUE:N1" ], [ "99", "121", "043", "VALUE:N1" ], [ "99", "122", "043", "VALUE:N1" ], [ "99", "123", "043", "VALUE:N1" ], [ "99", "124", "043", "VALUE:N1" ], [ "99", "125", "043", "VALUE:N1" ], [ "99", "128", "043", "VALUE:N1" ], [ "99", "152", "043", "VALUE:N1" ], [ "99", "153", "043", "VALUE:N1" ], [ "99", "155", "043", "VALUE:N1" ], [ "99", "158", "043", "VALUE:N2" ], [ "00", "010", "045", "VALUE:N2" ], [ "00", "100,110,115,118", "045", "VALUE:N2" ], [ "00", "121", "045", "VALUE:N2" ], [ "00", "122", "045", "VALUE:N2" ], [ "00", "123", "045", "VALUE:N2" ], [ "00", "124", "045", "VALUE:N2" ], [ "00", "125", "045", "VALUE:N2" ], [ "00", "128", "045", "VALUE:N2" ], [ "00", "152", "045", "VALUE:N2" ], [ "00", "153", "045", "VALUE:N2" ], [ "00", "155", "045", "VALUE:N2" ], [ "00", "158", "045", "VALUE:N2" ], [ "01", "010", "045", "VALUE:N2a" ], [ "01", "100,110,115,118", "045", "VALUE:N2" ], [ "01", "121", "045", "VALUE:N2" ], [ "01", "122", "045", "VALUE:N1b" ], [ "01", "123", "045", "VALUE:N1b" ], [ "01", "124", "045", "VALUE:N1b" ], [ "01", "125", "045", "VALUE:N1b" ], [ "01", "128", "045", "VALUE:N2" ], [ "01", "152", "045", "VALUE:N1b" ], [ "01", "153", "045", "VALUE:N1b" ], [ "01", "155", "045", "VALUE:N1b" ], [ "01", "158", "045", "VALUE:N1b" ], [ "02-03", "010", "045", "VALUE:N2a" ], [ "02-03", "100,110,115,118", "045", "VALUE:N2" ], [ "02-03", "121", "045", "VALUE:N2" ], [ "02-03", "122", "045", "VALUE:N2b" ], [ "02-03", "123", "045", "VALUE:N2b" ], [ "02-03", "124", "045", "VALUE:N1b" ], [ "02-03", "125", "045", "VALUE:N2b" ], [ "02-03", "128", "045", "VALUE:N2" ], [ "02-03", "152", "045", "VALUE:N2b" ], [ "02-03", "153", "045", "VALUE:N2b" ], [ "02-03", "155", "045", "VALUE:N2b" ], [ "02-03", "158", "045", "VALUE:N2b" ], [ "04-90", "010", "045", "VALUE:N3" ], [ "04-90", "100,110,115,118", "045", "VALUE:N3" ], [ "04-90", "121", "045", "VALUE:N2" ], [ "04-90", "122", "045", "VALUE:N3" ], [ "04-90", "123", "045", "VALUE:N3" ], [ "04-90", "124", "045", "VALUE:N3" ], [ "04-90", "125", "045", "VALUE:N3" ], [ "04-90", "128", "045", "VALUE:N2" ], [ "04-90", "152", "045", "VALUE:N3" ], [ "04-90", "153", "045", "VALUE:N3" ], [ "04-90", "155", "045", "VALUE:N3" ], [ "04-90", "158", "045", "VALUE:N3" ], [ "95", "010", "045", "VALUE:N2" ], [ "95", "100,110,115,118", "045", "VALUE:N2" ], [ "95", "121", "045", "VALUE:N2" ], [ "95", "122", "045", "VALUE:N1b" ], [ "95", "123", "045", "VALUE:N1b" ], [ "95", "124", "045", "VALUE:N1b" ], [ "95", "125", "045", "VALUE:N2" ], [ "95", "128", "045", "VALUE:N2" ], [ "95", "152", "045", "VALUE:N2b" ], [ "95", "153", "045", "VALUE:N2b" ], [ "95", "155", "045", "VALUE:N2" ], [ "95", "158", "045", "VALUE:N2b" ], [ "97", "010", "045", "VALUE:N2b" ], [ "97", "100,110,115,118", "045", "VALUE:N2" ], [ "97", "121", "045", "VALUE:N2" ], [ "97", "122", "045", "VALUE:N1b" ], [ "97", "123", "045", "VALUE:N1b" ], [ "97", "124", "045", "VALUE:N1b" ], [ "97", "125", "045", "VALUE:N1b" ], [ "97", "128", "045", "VALUE:N2" ], [ "97", "152", "045", "VALUE:N2b" ], [ "97", "153", "045", "VALUE:N2b" ], [ "97", "155", "045", "VALUE:N2b" ], [ "97", "158", "045", "VALUE:N2b" ], [ "98", "010", "045", "VALUE:N2" ], [ "98", "100,110,115,118", "045", "VALUE:N2" ], [ "98", "121", "045", "VALUE:N2" ], [ "98", "122", "045", "VALUE:N2" ], [ "98", "123", "045", "VALUE:N2" ], [ "98", "124", "045", "VALUE:N2" ], [ "98", "125", "045", "VALUE:N2" ], [ "98", "128", "045", "VALUE:N2" ], [ "98", "152", "045", "VALUE:N2" ], [ "98", "153", "045", "VALUE:N2" ], [ "98", "155", "045", "VALUE:N2" ], [ "98", "158", "045", "VALUE:N2" ], [ "99", "010", "045", "VALUE:N2" ], [ "99", "100,110,115,118", "045", "VALUE:N2" ], [ "99", "121", "045", "VALUE:N2" ], [ "99", "122", "045", "VALUE:N2" ], [ "99", "123", "045", "VALUE:N2" ], [ "99", "124", "045", "VALUE:N2" ], [ "99", "125", "045", "VALUE:N2" ], [ "99", "128", "045", "VALUE:N2" ], [ "99", "152", "045", "VALUE:N2" ], [ "99", "153", "045", "VALUE:N2" ], [ "99", "155", "045", "VALUE:N2" ], [ "99", "158", "045", "VALUE:N2" ], [ "00", "010", "048", "VALUE:N3" ], [ "00", "100,110,115,118", "048", "VALUE:N3" ], [ "00", "121", "048", "VALUE:N3" ], [ "00", "122", "048", "VALUE:N3" ], [ "00", "123", "048", "VALUE:N3" ], [ "00", "124", "048", "VALUE:N3" ], [ "00", "125", "048", "VALUE:N3" ], [ "00", "128", "048", "VALUE:N3" ], [ "00", "152", "048", "VALUE:N3" ], [ "00", "153", "048", "VALUE:N3" ], [ "00", "155", "048", "VALUE:N3" ], [ "00", "158", "048", "VALUE:N2" ], [ "01", "010", "048", "VALUE:N3" ], [ "01", "100,110,115,118", "048", "VALUE:N3" ], [ "01", "121", "048", "VALUE:N3" ], [ "01", "122", "048", "VALUE:N1b" ], [ "01", "123", "048", "VALUE:N1b" ], [ "01", "124", "048", "VALUE:N1b" ], [ "01", "125", "048", "VALUE:N1b" ], [ "01", "128", "048", "VALUE:N3" ], [ "01", "152", "048", "VALUE:N1b" ], [ "01", "153", "048", "VALUE:N1b" ], [ "01", "155", "048", "VALUE:N1b" ], [ "01", "158", "048", "VALUE:N1b" ], [ "02-03", "010", "048", "VALUE:N3" ], [ "02-03", "100,110,115,118", "048", "VALUE:N3" ], [ "02-03", "121", "048", "VALUE:N3" ], [ "02-03", "122", "048", "VALUE:N2b" ], [ "02-03", "123", "048", "VALUE:N2b" ], [ "02-03", "124", "048", "VALUE:N1b" ], [ "02-03", "125", "048", "VALUE:N2b" ], [ "02-03", "128", "048", "VALUE:N3" ], [ "02-03", "152", "048", "VALUE:N2b" ], [ "02-03", "153", "048", "VALUE:N2b" ], [ "02-03", "155", "048", "VALUE:N2b" ], [ "02-03", "158", "048", "VALUE:N2b" ], [ "04-90", "010", "048", "VALUE:N3" ], [ "04-90", "100,110,115,118", "048", "VALUE:N3" ], [ "04-90", "121", "048", "VALUE:N3" ], [ "04-90", "122", "048", "VALUE:N3" ], [ "04-90", "123", "048", "VALUE:N3" ], [ "04-90", "124", "048", "VALUE:N3" ], [ "04-90", "125", "048", "VALUE:N3" ], [ "04-90", "128", "048", "VALUE:N3" ], [ "04-90", "152", "048", "VALUE:N3" ], [ "04-90", "153", "048", "VALUE:N3" ], [ "04-90", "155", "048", "VALUE:N3" ], [ "04-90", "158", "048", "VALUE:N3" ], [ "95", "010", "048", "VALUE:N3" ], [ "95", "100,110,115,118", "048", "VALUE:N3" ], [ "95", "121", "048", "VALUE:N3" ], [ "95", "122", "048", "VALUE:N1b" ], [ "95", "123", "048", "VALUE:N1b" ], [ "95", "124", "048", "VALUE:N1b" ], [ "95", "125", "048", "VALUE:N3" ], [ "95", "128", "048", "VALUE:N3" ], [ "95", "152", "048", "VALUE:N2b" ], [ "95", "153", "048", "VALUE:N2b" ], [ "95", "155", "048", "VALUE:N3" ], [ "95", "158", "048", "VALUE:N2b" ], [ "97", "010", "048", "VALUE:N3" ], [ "97", "100,110,115,118", "048", "VALUE:N3" ], [ "97", "121", "048", "VALUE:N3" ], [ "97", "122", "048", "VALUE:N1b" ], [ "97", "123", "048", "VALUE:N1b" ], [ "97", "124", "048", "VALUE:N1b" ], [ "97", "125", "048", "VALUE:N1b" ], [ "97", "128", "048", "VALUE:N3" ], [ "97", "152", "048", "VALUE:N2b" ], [ "97", "153", "048", "VALUE:N2b" ], [ "97", "155", "048", "VALUE:N2b" ], [ "97", "158", "048", "VALUE:N2b" ], [ "98", "010", "048", "VALUE:N3" ], [ "98", "100,110,115,118", "048", "VALUE:N3" ], [ "98", "121", "048", "VALUE:N3" ], [ "98", "122", "048", "VALUE:N3" ], [ "98", "123", "048", "VALUE:N3" ], [ "98", "124", "048", "VALUE:N3" ], [ "98", "125", "048", "VALUE:N3" ], [ "98", "128", "048", "VALUE:N3" ], [ "98", "152", "048", "VALUE:N3" ], [ "98", "153", "048", "VALUE:N3" ], [ "98", "155", "048", "VALUE:N3" ], [ "98", "158", "048", "VALUE:N2" ], [ "99", "010", "048", "VALUE:N3" ], [ "99", "100,110,115,118", "048", "VALUE:N3" ], [ "99", "121", "048", "VALUE:N3" ], [ "99", "122", "048", "VALUE:N3" ], [ "99", "123", "048", "VALUE:N3" ], [ "99", "124", "048", "VALUE:N3" ], [ "99", "125", "048", "VALUE:N3" ], [ "99", "128", "048", "VALUE:N3" ], [ "99", "152", "048", "VALUE:N3" ], [ "99", "153", "048", "VALUE:N3" ], [ "99", "155", "048", "VALUE:N3" ], [ "99", "158", "048", "VALUE:N2" ], [ "00", "010", "050", "VALUE:N1" ], [ "00", "100,110,115,118", "050", "VALUE:N1" ], [ "00", "121", "050", "VALUE:N1" ], [ "00", "122", "050", "VALUE:N1" ], [ "00", "123", "050", "VALUE:N1" ], [ "00", "124", "050", "VALUE:N1" ], [ "00", "125", "050", "VALUE:N1" ], [ "00", "128", "050", "VALUE:N2" ], [ "00", "152", "050", "VALUE:N2" ], [ "00", "153", "050", "VALUE:N2" ], [ "00", "155", "050", "VALUE:N2" ], [ "00", "158", "050", "VALUE:N2" ], [ "01", "010", "050", "VALUE:N1a" ], [ "01", "100,110,115,118", "050", "VALUE:N1" ], [ "01", "121", "050", "VALUE:N1" ], [ "01", "122", "050", "VALUE:N1b" ], [ "01", "123", "050", "VALUE:N1b" ], [ "01", "124", "050", "VALUE:N1b" ], [ "01", "125", "050", "VALUE:N1NOS" ], [ "01", "128", "050", "VALUE:N2" ], [ "01", "152", "050", "VALUE:N2b" ], [ "01", "153", "050", "VALUE:N2b" ], [ "01", "155", "050", "VALUE:N2b" ], [ "01", "158", "050", "VALUE:N2b" ], [ "02-03", "010", "050", "VALUE:N2a" ], [ "02-03", "100,110,115,118", "050", "VALUE:N1" ], [ "02-03", "121", "050", "VALUE:N1" ], [ "02-03", "122", "050", "VALUE:N2b" ], [ "02-03", "123", "050", "VALUE:N2b" ], [ "02-03", "124", "050", "VALUE:N2b" ], [ "02-03", "125", "050", "VALUE:N2b" ], [ "02-03", "128", "050", "VALUE:N2" ], [ "02-03", "152", "050", "VALUE:N2b" ], [ "02-03", "153", "050", "VALUE:N2b" ], [ "02-03", "155", "050", "VALUE:N2b" ], [ "02-03", "158", "050", "VALUE:N2b" ], [ "04-90", "010", "050", "VALUE:N3" ], [ "04-90", "100,110,115,118", "050", "VALUE:N3" ], [ "04-90", "121", "050", "VALUE:N1" ], [ "04-90", "122", "050", "VALUE:N3" ], [ "04-90", "123", "050", "VALUE:N3" ], [ "04-90", "124", "050", "VALUE:N3" ], [ "04-90", "125", "050", "VALUE:N3" ], [ "04-90", "128", "050", "VALUE:N2" ], [ "04-90", "152", "050", "VALUE:N3" ], [ "04-90", "153", "050", "VALUE:N3" ], [ "04-90", "155", "050", "VALUE:N3" ], [ "04-90", "158", "050", "VALUE:N3" ], [ "95", "010", "050", "VALUE:N1" ], [ "95", "100,110,115,118", "050", "VALUE:N1" ], [ "95", "121", "050", "VALUE:N1" ], [ "95", "122", "050", "VALUE:N1b" ], [ "95", "123", "050", "VALUE:N1b" ], [ "95", "124", "050", "VALUE:N1b" ], [ "95", "125", "050", "VALUE:N1" ], [ "95", "128", "050", "VALUE:N2" ], [ "95", "152", "050", "VALUE:N2b" ], [ "95", "153", "050", "VALUE:N2b" ], [ "95", "155", "050", "VALUE:N2" ], [ "95", "158", "050", "VALUE:N2b" ], [ "97", "010", "050", "VALUE:N1b" ], [ "97", "100,110,115,118", "050", "VALUE:N1b" ], [ "97", "121", "050", "VALUE:N1" ], [ "97", "122", "050", "VALUE:N1b" ], [ "97", "123", "050", "VALUE:N1b" ], [ "97", "124", "050", "VALUE:N1b" ], [ "97", "125", "050", "VALUE:N1NOS" ], [ "97", "128", "050", "VALUE:N2" ], [ "97", "152", "050", "VALUE:N2b" ], [ "97", "153", "050", "VALUE:N2b" ], [ "97", "155", "050", "VALUE:N2b" ], [ "97", "158", "050", "VALUE:N2b" ], [ "98", "010", "050", "VALUE:N1" ], [ "98", "100,110,115,118", "050", "VALUE:N1" ], [ "98", "121", "050", "VALUE:N1" ], [ "98", "122", "050", "VALUE:N1" ], [ "98", "123", "050", "VALUE:N1" ], [ "98", "124", "050", "VALUE:N1" ], [ "98", "125", "050", "VALUE:N1" ], [ "98", "128", "050", "VALUE:N2" ], [ "98", "152", "050", "VALUE:N2" ], [ "98", "153", "050", "VALUE:N2" ], [ "98", "155", "050", "VALUE:N2" ], [ "98", "158", "050", "VALUE:N2" ], [ "99", "010", "050", "VALUE:N1" ], [ "99", "100,110,115,118", "050", "VALUE:N1" ], [ "99", "121", "050", "VALUE:N1" ], [ "99", "122", "050", "VALUE:N1" ], [ "99", "123", "050", "VALUE:N1" ], [ "99", "124", "050", "VALUE:N1" ], [ "99", "125", "050", "VALUE:N1" ], [ "99", "128", "050", "VALUE:N2" ], [ "99", "152", "050", "VALUE:N2" ], [ "99", "153", "050", "VALUE:N2" ], [ "99", "155", "050", "VALUE:N2" ], [ "99", "158", "050", "VALUE:N2" ], [ "00", "010", "100", "ERROR:" ], [ "00", "100,110,115,118", "100", "ERROR:" ], [ "00", "121", "100", "ERROR:" ], [ "00", "122", "100", "ERROR:" ], [ "00", "123", "100", "ERROR:" ], [ "00", "124", "100", "ERROR:" ], [ "00", "125", "100", "ERROR:" ], [ "00", "128", "100", "ERROR:" ], [ "00", "152", "100", "ERROR:" ], [ "00", "153", "100", "ERROR:" ], [ "00", "155", "100", "VALUE:N2c" ], [ "00", "158", "100", "VALUE:N2c" ], [ "01", "010", "100", "ERROR:" ], [ "01", "100,110,115,118", "100", "ERROR:" ], [ "01", "121", "100", "ERROR:" ], [ "01", "122", "100", "ERROR:" ], [ "01", "123", "100", "ERROR:" ], [ "01", "124", "100", "ERROR:" ], [ "01", "125", "100", "ERROR:" ], [ "01", "128", "100", "ERROR:" ], [ "01", "152", "100", "ERROR:" ], [ "01", "153", "100", "ERROR:" ], [ "01", "155", "100", "ERROR:" ], [ "01", "158", "100", "ERROR:" ], [ "02-03", "010", "100", "ERROR:" ], [ "02-03", "100,110,115,118", "100", "ERROR:" ], [ "02-03", "121", "100", "ERROR:" ], [ "02-03", "122", "100", "ERROR:" ], [ "02-03", "123", "100", "ERROR:" ], [ "02-03", "124", "100", "ERROR:" ], [ "02-03", "125", "100", "ERROR:" ], [ "02-03", "128", "100", "ERROR:" ], [ "02-03", "152", "100", "ERROR:" ], [ "02-03", "153", "100", "ERROR:" ], [ "02-03", "155", "100", "ERROR:" ], [ "02-03", "158", "100", "ERROR:" ], [ "04-90", "010", "100", "ERROR:" ], [ "04-90", "100,110,115,118", "100", "ERROR:" ], [ "04-90", "121", "100", "ERROR:" ], [ "04-90", "122", "100", "ERROR:" ], [ "04-90", "123", "100", "ERROR:" ], [ "04-90", "124", "100", "ERROR:" ], [ "04-90", "125", "100", "ERROR:" ], [ "04-90", "128", "100", "ERROR:" ], [ "04-90", "152", "100", "ERROR:" ], [ "04-90", "153", "100", "ERROR:" ], [ "04-90", "155", "100", "ERROR:" ], [ "04-90", "158", "100", "ERROR:" ], [ "95", "010", "100", "ERROR:" ], [ "95", "100,110,115,118", "100", "ERROR:" ], [ "95", "121", "100", "ERROR:" ], [ "95", "122", "100", "ERROR:" ], [ "95", "123", "100", "ERROR:" ], [ "95", "124", "100", "ERROR:" ], [ "95", "125", "100", "ERROR:" ], [ "95", "128", "100", "ERROR:" ], [ "95", "152", "100", "ERROR:" ], [ "95", "153", "100", "ERROR:" ], [ "95", "155", "100", "ERROR:" ], [ "95", "158", "100", "ERROR:" ], [ "97", "010", "100", "ERROR:" ], [ "97", "100,110,115,118", "100", "ERROR:" ], [ "97", "121", "100", "ERROR:" ], [ "97", "122", "100", "ERROR:" ], [ "97", "123", "100", "ERROR:" ], [ "97", "124", "100", "ERROR:" ], [ "97", "125", "100", "ERROR:" ], [ "97", "128", "100", "ERROR:" ], [ "97", "152", "100", "ERROR:" ], [ "97", "153", "100", "ERROR:" ], [ "97", "155", "100", "ERROR:" ], [ "97", "158", "100", "ERROR:" ], [ "98", "010", "100", "ERROR:" ], [ "98", "100,110,115,118", "100", "ERROR:" ], [ "98", "121", "100", "ERROR:" ], [ "98", "122", "100", "ERROR:" ], [ "98", "123", "100", "ERROR:" ], [ "98", "124", "100", "ERROR:" ], [ "98", "125", "100", "ERROR:" ], [ "98", "128", "100", "ERROR:" ], [ "98", "152", "100", "ERROR:" ], [ "98", "153", "100", "ERROR:" ], [ "98", "155", "100", "VALUE:N2c" ], [ "98", "158", "100", "VALUE:N2c" ], [ "99", "010", "100", "ERROR:" ], [ "99", "100,110,115,118", "100", "ERROR:" ], [ "99", "121", "100", "ERROR:" ], [ "99", "122", "100", "ERROR:" ], [ "99", "123", "100", "ERROR:" ], [ "99", "124", "100", "ERROR:" ], [ "99", "125", "100", "ERROR:" ], [ "99", "128", "100", "ERROR:" ], [ "99", "152", "100", "ERROR:" ], [ "99", "153", "100", "ERROR:" ], [ "99", "155", "100", "VALUE:N2c" ], [ "99", "158", "100", "VALUE:N2c" ], [ "00", "010", "150", "VALUE:N3" ], [ "00", "100,110,115,118", "150", "VALUE:N3" ], [ "00", "121", "150", "VALUE:N3" ], [ "00", "122", "150", "VALUE:N3" ], [ "00", "123", "150", "VALUE:N3" ], [ "00", "124", "150", "VALUE:N3" ], [ "00", "125", "150", "VALUE:N3" ], [ "00", "128", "150", "VALUE:N3" ], [ "00", "152", "150", "VALUE:N3" ], [ "00", "153", "150", "VALUE:N3" ], [ "00", "155", "150", "VALUE:N3" ], [ "00", "158", "150", "VALUE:N3" ], [ "01", "010", "150", "VALUE:N3" ], [ "01", "100,110,115,118", "150", "VALUE:N3" ], [ "01", "121", "150", "VALUE:N3" ], [ "01", "122", "150", "VALUE:N3" ], [ "01", "123", "150", "VALUE:N3" ], [ "01", "124", "150", "VALUE:N3" ], [ "01", "125", "150", "VALUE:N3" ], [ "01", "128", "150", "VALUE:N3" ], [ "01", "152", "150", "VALUE:N3" ], [ "01", "153", "150", "VALUE:N3" ], [ "01", "155", "150", "VALUE:N3" ], [ "01", "158", "150", "VALUE:N3" ], [ "02-03", "010", "150", "VALUE:N3" ], [ "02-03", "100,110,115,118", "150", "VALUE:N3" ], [ "02-03", "121", "150", "VALUE:N3" ], [ "02-03", "122", "150", "VALUE:N3" ], [ "02-03", "123", "150", "VALUE:N3" ], [ "02-03", "124", "150", "VALUE:N3" ], [ "02-03", "125", "150", "VALUE:N3" ], [ "02-03", "128", "150", "VALUE:N3" ], [ "02-03", "152", "150", "VALUE:N3" ], [ "02-03", "153", "150", "VALUE:N3" ], [ "02-03", "155", "150", "VALUE:N3" ], [ "02-03", "158", "150", "VALUE:N3" ], [ "04-90", "010", "150", "VALUE:N3" ], [ "04-90", "100,110,115,118", "150", "VALUE:N3" ], [ "04-90", "121", "150", "VALUE:N3" ], [ "04-90", "122", "150", "VALUE:N3" ], [ "04-90", "123", "150", "VALUE:N3" ], [ "04-90", "124", "150", "VALUE:N3" ], [ "04-90", "125", "150", "VALUE:N3" ], [ "04-90", "128", "150", "VALUE:N3" ], [ "04-90", "152", "150", "VALUE:N3" ], [ "04-90", "153", "150", "VALUE:N3" ], [ "04-90", "155", "150", "VALUE:N3" ], [ "04-90", "158", "150", "VALUE:N3" ], [ "95", "010", "150", "VALUE:N3" ], [ "95", "100,110,115,118", "150", "VALUE:N3" ], [ "95", "121", "150", "VALUE:N3" ], [ "95", "122", "150", "VALUE:N3" ], [ "95", "123", "150", "VALUE:N3" ], [ "95", "124", "150", "VALUE:N3" ], [ "95", "125", "150", "VALUE:N3" ], [ "95", "128", "150", "VALUE:N3" ], [ "95", "152", "150", "VALUE:N3" ], [ "95", "153", "150", "VALUE:N3" ], [ "95", "155", "150", "VALUE:N3" ], [ "95", "158", "150", "VALUE:N3" ], [ "97", "010", "150", "VALUE:N3" ], [ "97", "100,110,115,118", "150", "VALUE:N3" ], [ "97", "121", "150", "VALUE:N3" ], [ "97", "122", "150", "VALUE:N3" ], [ "97", "123", "150", "VALUE:N3" ], [ "97", "124", "150", "VALUE:N3" ], [ "97", "125", "150", "VALUE:N3" ], [ "97", "128", "150", "VALUE:N3" ], [ "97", "152", "150", "VALUE:N3" ], [ "97", "153", "150", "VALUE:N3" ], [ "97", "155", "150", "VALUE:N3" ], [ "97", "158", "150", "VALUE:N3" ], [ "98", "010", "150", "VALUE:N3" ], [ "98", "100,110,115,118", "150", "VALUE:N3" ], [ "98", "121", "150", "VALUE:N3" ], [ "98", "122", "150", "VALUE:N3" ], [ "98", "123", "150", "VALUE:N3" ], [ "98", "124", "150", "VALUE:N3" ], [ "98", "125", "150", "VALUE:N3" ], [ "98", "128", "150", "VALUE:N3" ], [ "98", "152", "150", "VALUE:N3" ], [ "98", "153", "150", "VALUE:N3" ], [ "98", "155", "150", "VALUE:N3" ], [ "98", "158", "150", "VALUE:N3" ], [ "99", "010", "150", "VALUE:N3" ], [ "99", "100,110,115,118", "150", "VALUE:N3" ], [ "99", "121", "150", "VALUE:N3" ], [ "99", "122", "150", "VALUE:N3" ], [ "99", "123", "150", "VALUE:N3" ], [ "99", "124", "150", "VALUE:N3" ], [ "99", "125", "150", "VALUE:N3" ], [ "99", "128", "150", "VALUE:N3" ], [ "99", "152", "150", "VALUE:N3" ], [ "99", "153", "150", "VALUE:N3" ], [ "99", "155", "150", "VALUE:N3" ], [ "99", "158", "150", "VALUE:N3" ], [ "00", "010", "988", "ERROR:" ], [ "00", "100,110,115,118", "988", "ERROR:" ], [ "00", "121", "988", "ERROR:" ], [ "00", "122", "988", "ERROR:" ], [ "00", "123", "988", "ERROR:" ], [ "00", "124", "988", "ERROR:" ], [ "00", "125", "988", "ERROR:" ], [ "00", "128", "988", "ERROR:" ], [ "00", "152", "988", "ERROR:" ], [ "00", "153", "988", "ERROR:" ], [ "00", "155", "988", "ERROR:" ], [ "00", "158", "988", "ERROR:" ], [ "01", "010", "988", "ERROR:" ], [ "01", "100,110,115,118", "988", "ERROR:" ], [ "01", "121", "988", "ERROR:" ], [ "01", "122", "988", "ERROR:" ], [ "01", "123", "988", "ERROR:" ], [ "01", "124", "988", "ERROR:" ], [ "01", "125", "988", "ERROR:" ], [ "01", "128", "988", "ERROR:" ], [ "01", "152", "988", "ERROR:" ], [ "01", "153", "988", "ERROR:" ], [ "01", "155", "988", "ERROR:" ], [ "01", "158", "988", "ERROR:" ], [ "02-03", "010", "988", "ERROR:" ], [ "02-03", "100,110,115,118", "988", "ERROR:" ], [ "02-03", "121", "988", "ERROR:" ], [ "02-03", "122", "988", "ERROR:" ], [ "02-03", "123", "988", "ERROR:" ], [ "02-03", "124", "988", "ERROR:" ], [ "02-03", "125", "988", "ERROR:" ], [ "02-03", "128", "988", "ERROR:" ], [ "02-03", "152", "988", "ERROR:" ], [ "02-03", "153", "988", "ERROR:" ], [ "02-03", "155", "988", "ERROR:" ], [ "02-03", "158", "988", "ERROR:" ], [ "04-90", "010", "988", "ERROR:" ], [ "04-90", "100,110,115,118", "988", "ERROR:" ], [ "04-90", "121", "988", "ERROR:" ], [ "04-90", "122", "988", "ERROR:" ], [ "04-90", "123", "988", "ERROR:" ], [ "04-90", "124", "988", "ERROR:" ], [ "04-90", "125", "988", "ERROR:" ], [ "04-90", "128", "988", "ERROR:" ], [ "04-90", "152", "988", "ERROR:" ], [ "04-90", "153", "988", "ERROR:" ], [ "04-90", "155", "988", "ERROR:" ], [ "04-90", "158", "988", "ERROR:" ], [ "95", "010", "988", "ERROR:" ], [ "95", "100,110,115,118", "988", "ERROR:" ], [ "95", "121", "988", "ERROR:" ], [ "95", "122", "988", "ERROR:" ], [ "95", "123", "988", "ERROR:" ], [ "95", "124", "988", "ERROR:" ], [ "95", "125", "988", "ERROR:" ], [ "95", "128", "988", "ERROR:" ], [ "95", "152", "988", "ERROR:" ], [ "95", "153", "988", "ERROR:" ], [ "95", "155", "988", "ERROR:" ], [ "95", "158", "988", "ERROR:" ], [ "97", "010", "988", "ERROR:" ], [ "97", "100,110,115,118", "988", "ERROR:" ], [ "97", "121", "988", "ERROR:" ], [ "97", "122", "988", "ERROR:" ], [ "97", "123", "988", "ERROR:" ], [ "97", "124", "988", "ERROR:" ], [ "97", "125", "988", "ERROR:" ], [ "97", "128", "988", "ERROR:" ], [ "97", "152", "988", "ERROR:" ], [ "97", "153", "988", "ERROR:" ], [ "97", "155", "988", "ERROR:" ], [ "97", "158", "988", "ERROR:" ], [ "98", "010", "988", "ERROR:" ], [ "98", "100,110,115,118", "988", "ERROR:" ], [ "98", "121", "988", "ERROR:" ], [ "98", "122", "988", "ERROR:" ], [ "98", "123", "988", "ERROR:" ], [ "98", "124", "988", "ERROR:" ], [ "98", "125", "988", "ERROR:" ], [ "98", "128", "988", "ERROR:" ], [ "98", "152", "988", "ERROR:" ], [ "98", "153", "988", "ERROR:" ], [ "98", "155", "988", "ERROR:" ], [ "98", "158", "988", "ERROR:" ], [ "99", "010", "988", "ERROR:" ], [ "99", "100,110,115,118", "988", "ERROR:" ], [ "99", "121", "988", "ERROR:" ], [ "99", "122", "988", "ERROR:" ], [ "99", "123", "988", "ERROR:" ], [ "99", "124", "988", "ERROR:" ], [ "99", "125", "988", "ERROR:" ], [ "99", "128", "988", "ERROR:" ], [ "99", "152", "988", "ERROR:" ], [ "99", "153", "988", "ERROR:" ], [ "99", "155", "988", "ERROR:" ], [ "99", "158", "988", "ERROR:" ], [ "00", "010", "999", "VALUE:N1" ], [ "00", "100,110,115,118", "999", "VALUE:N1" ], [ "00", "121", "999", "VALUE:N1" ], [ "00", "122", "999", "VALUE:N1" ], [ "00", "123", "999", "VALUE:N1" ], [ "00", "124", "999", "VALUE:N1" ], [ "00", "125", "999", "VALUE:N1" ], [ "00", "128", "999", "VALUE:N2" ], [ "00", "152", "999", "VALUE:N2" ], [ "00", "153", "999", "VALUE:N2" ], [ "00", "155", "999", "VALUE:N2" ], [ "00", "158", "999", "VALUE:N2" ], [ "01", "010", "999", "VALUE:N1a" ], [ "01", "100,110,115,118", "999", "VALUE:N1" ], [ "01", "121", "999", "VALUE:N1" ], [ "01", "122", "999", "VALUE:N1a" ], [ "01", "123", "999", "VALUE:N1b" ], [ "01", "124", "999", "VALUE:N1NOS" ], [ "01", "125", "999", "VALUE:N1NOS" ], [ "01", "128", "999", "VALUE:N2" ], [ "01", "152", "999", "VALUE:N2a" ], [ "01", "153", "999", "VALUE:N2b" ], [ "01", "155", "999", "VALUE:N2NOS" ], [ "01", "158", "999", "VALUE:N2NOS" ], [ "02-03", "010", "999", "VALUE:N2a" ], [ "02-03", "100,110,115,118", "999", "VALUE:N2" ], [ "02-03", "121", "999", "VALUE:N2" ], [ "02-03", "122", "999", "VALUE:N2a" ], [ "02-03", "123", "999", "VALUE:N2b" ], [ "02-03", "124", "999", "VALUE:N2NOS" ], [ "02-03", "125", "999", "VALUE:N2NOS" ], [ "02-03", "128", "999", "VALUE:N2" ], [ "02-03", "152", "999", "VALUE:N2a" ], [ "02-03", "153", "999", "VALUE:N2b" ], [ "02-03", "155", "999", "VALUE:N2NOS" ], [ "02-03", "158", "999", "VALUE:N2NOS" ], [ "04-90", "010", "999", "VALUE:N3" ], [ "04-90", "100,110,115,118", "999", "VALUE:N3" ], [ "04-90", "121", "999", "VALUE:N1" ], [ "04-90", "122", "999", "VALUE:N3" ], [ "04-90", "123", "999", "VALUE:N3" ], [ "04-90", "124", "999", "VALUE:N3" ], [ "04-90", "125", "999", "VALUE:N3" ], [ "04-90", "128", "999", "VALUE:N2" ], [ "04-90", "152", "999", "VALUE:N3" ], [ "04-90", "153", "999", "VALUE:N3" ], [ "04-90", "155", "999", "VALUE:N3" ], [ "04-90", "158", "999", "VALUE:N3" ], [ "95", "010", "999", "VALUE:N1a" ], [ "95", "100,110,115,118", "999", "VALUE:N1" ], [ "95", "121", "999", "VALUE:N1" ], [ "95", "122", "999", "VALUE:N1a" ], [ "95", "123", "999", "VALUE:N1b" ], [ "95", "124", "999", "VALUE:N1NOS" ], [ "95", "125", "999", "VALUE:N1" ], [ "95", "128", "999", "VALUE:N2" ], [ "95", "152", "999", "VALUE:N2a" ], [ "95", "153", "999", "VALUE:N2b" ], [ "95", "155", "999", "VALUE:N2" ], [ "95", "158", "999", "VALUE:N2NOS" ], [ "97", "010", "999", "VALUE:N1a" ], [ "97", "100,110,115,118", "999", "VALUE:N1" ], [ "97", "121", "999", "VALUE:N1" ], [ "97", "122", "999", "VALUE:N1a" ], [ "97", "123", "999", "VALUE:N1b" ], [ "97", "124", "999", "VALUE:N1NOS" ], [ "97", "125", "999", "VALUE:N1NOS" ], [ "97", "128", "999", "VALUE:N2" ], [ "97", "152", "999", "VALUE:N2a" ], [ "97", "153", "999", "VALUE:N2b" ], [ "97", "155", "999", "VALUE:N2NOS" ], [ "97", "158", "999", "VALUE:N2NOS" ], [ "98", "010", "999", "VALUE:N1" ], [ "98", "100,110,115,118", "999", "VALUE:N1" ], [ "98", "121", "999", "VALUE:N1" ], [ "98", "122", "999", "VALUE:N1" ], [ "98", "123", "999", "VALUE:N1" ], [ "98", "124", "999", "VALUE:N1" ], [ "98", "125", "999", "VALUE:N1" ], [ "98", "128", "999", "VALUE:N2" ], [ "98", "152", "999", "VALUE:N2" ], [ "98", "153", "999", "VALUE:N2" ], [ "98", "155", "999", "VALUE:N2" ], [ "98", "158", "999", "VALUE:N2" ], [ "99", "010", "999", "VALUE:N1a" ], [ "99", "100,110,115,118", "999", "VALUE:N1" ], [ "99", "121", "999", "VALUE:N1" ], [ "99", "122", "999", "VALUE:N1a" ], [ "99", "123", "999", "VALUE:N1b" ], [ "99", "124", "999", "VALUE:N1NOS" ], [ "99", "125", "999", "VALUE:N1NOS" ], [ "99", "128", "999", "VALUE:N2" ], [ "99", "152", "999", "VALUE:N2a" ], [ "99", "153", "999", "VALUE:N2b" ], [ "99", "155", "999", "VALUE:N2NOS" ], [ "99", "158", "999", "VALUE:N2NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xln.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xln.json deleted file mode 100644 index e30c3d4fc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xln.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodeand_nodal_status_eval_blank_ajcc7_xln", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Node and Nodal Status Eval Blank AJCC7", - "title" : "Lymph Node and Nodal Status Eval Blank AJCC 7 Table", - "notes" : "**Note**: When CS Lymph Nodes Eval is blank, for CS Lymph Nodes codes 010-400 and 500 ONLY, the N category is assigned based on the value of CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, and Regional Nodes Positive, as shown in the following table.", - "last_modified" : "2015-05-27T16:19:22.574Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00,98", "010", "000, 005", "ERROR:" ], [ "00,98", "100-400,500", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "010", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "100", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "110", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "120", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "140", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "150-400,500", "000, 005", "ERROR:" ], [ "00,98", "010", "010", "VALUE:N1a" ], [ "00,98", "100-400,500", "010", "VALUE:N1" ], [ "01-90,95,97,99", "010", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "100", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "110", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "120", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "140", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "150-400,500", "010", "VALUE:N1a" ], [ "00,98", "010", "020", "VALUE:N1b" ], [ "00,98", "100-400,500", "020", "VALUE:N1" ], [ "01-90,95,97,99", "010", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "100", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "110", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "120", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "140", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "150-400,500", "020", "VALUE:N1b" ], [ "00,98", "010", "100", "ERROR:" ], [ "00,98", "100-400,500", "100", "ERROR:" ], [ "01-90,95,97,99", "010", "100", "ERROR:" ], [ "01-90,95,97,99", "100", "100", "ERROR:" ], [ "01-90,95,97,99", "110", "100", "ERROR:" ], [ "01-90,95,97,99", "120", "100", "ERROR:" ], [ "01-90,95,97,99", "140", "100", "ERROR:" ], [ "01-90,95,97,99", "150-400,500", "100", "ERROR:" ], [ "00,98", "010", "150", "VALUE:N2" ], [ "00,98", "100-400,500", "150", "VALUE:N2" ], [ "01-90,95,97,99", "010", "150", "VALUE:N2" ], [ "01-90,95,97,99", "100", "150", "VALUE:N2" ], [ "01-90,95,97,99", "110", "150", "VALUE:N2" ], [ "01-90,95,97,99", "120", "150", "VALUE:N2" ], [ "01-90,95,97,99", "140", "150", "VALUE:N2" ], [ "01-90,95,97,99", "150-400,500", "150", "VALUE:N2" ], [ "00,98", "010", "888, 988", "ERROR:" ], [ "00,98", "100-400,500", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "010", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "100", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "110", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "120", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "140", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "150-400,500", "888, 988", "ERROR:" ], [ "00,98", "010", "999", "VALUE:N1a" ], [ "00,98", "100-400,500", "999", "VALUE:N1" ], [ "01-90,95,97,99", "010", "999", "VALUE:N1a" ], [ "01-90,95,97,99", "100", "999", "VALUE:N1NOS" ], [ "01-90,95,97,99", "110", "999", "VALUE:N1" ], [ "01-90,95,97,99", "120", "999", "VALUE:N1a" ], [ "01-90,95,97,99", "140", "999", "VALUE:N1b" ], [ "01-90,95,97,99", "150-400,500", "999", "VALUE:N1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlo.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlo.json deleted file mode 100644 index 72be758cf..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlo.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodeand_nodal_status_eval_blank_ajcc7_xlo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Node and Nodal Status Eval Blank AJCC7", - "title" : "Lymph Node and Nodal Status Eval Blank AJCC 7 Table", - "notes" : "**Note**: When CS Lymph Nodes Eval is blank, for CS Lymph Nodes codes 010-360 ONLY, the N category is assigned based on the value of CS CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, and Regional Nodes Positive, as shown in the following table.", - "last_modified" : "2015-05-27T16:19:22.631Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00,98", "010-360", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "010", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "100", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "310", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "320", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "340", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "350", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "360", "000, 005", "ERROR:" ], [ "00,98", "010-360", "010", "VALUE:N1" ], [ "01-90,95,97,99", "010", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "100", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "310", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "320", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "340", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "350", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "360", "010", "VALUE:N1NOS" ], [ "00,98", "010-360", "020", "VALUE:N1" ], [ "01-90,95,97,99", "010", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "100", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "310", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "320", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "340", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "350", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "360", "020", "VALUE:N1NOS" ], [ "00,98", "010-360", "100", "ERROR:" ], [ "01-90,95,97,99", "010", "100", "ERROR:" ], [ "01-90,95,97,99", "100", "100", "ERROR:" ], [ "01-90,95,97,99", "310", "100", "ERROR:" ], [ "01-90,95,97,99", "320", "100", "ERROR:" ], [ "01-90,95,97,99", "340", "100", "ERROR:" ], [ "01-90,95,97,99", "350", "100", "ERROR:" ], [ "01-90,95,97,99", "360", "100", "ERROR:" ], [ "00,98", "010-360", "150", "VALUE:N2" ], [ "01-90,95,97,99", "010", "150", "VALUE:N2" ], [ "01-90,95,97,99", "100", "150", "VALUE:N2" ], [ "01-90,95,97,99", "310", "150", "VALUE:N2" ], [ "01-90,95,97,99", "320", "150", "VALUE:N2" ], [ "01-90,95,97,99", "340", "150", "VALUE:N2" ], [ "01-90,95,97,99", "350", "150", "VALUE:N2" ], [ "01-90,95,97,99", "360", "150", "VALUE:N2" ], [ "00,98", "010-360", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "010", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "100", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "310", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "320", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "340", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "350", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "360", "888, 988", "ERROR:" ], [ "00,98", "010-360", "999", "VALUE:N1" ], [ "01-90,95,97,99", "010", "999", "VALUE:N1a" ], [ "01-90,95,97,99", "100", "999", "VALUE:N1NOS" ], [ "01-90,95,97,99", "310", "999", "VALUE:N1" ], [ "01-90,95,97,99", "320", "999", "VALUE:N1a" ], [ "01-90,95,97,99", "340", "999", "VALUE:N1b" ], [ "01-90,95,97,99", "350", "999", "VALUE:N1NOS" ], [ "01-90,95,97,99", "360", "999", "VALUE:N1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlp.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlp.json deleted file mode 100644 index a9928e7c9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlp.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodeand_nodal_status_eval_blank_ajcc7_xlp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Node and Nodal Status Eval Blank AJCC7", - "title" : "Lymph Node and Nodal Status Eval Blank AJCC 7 Table", - "notes" : "**Note**: When CS Lymph Nodes Eval is blank, for CS Lymph Nodes codes 010-360 ONLY, the N category is assigned based on the value of CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, and Regional Nodes Positive, as shown in the following table.", - "last_modified" : "2015-05-27T16:19:22.683Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00,98", "010", "000, 005", "ERROR:" ], [ "00,98", "100-360", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "010", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "100-305", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "310", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "320", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "340", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "350", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "360", "000, 005", "ERROR:" ], [ "00,98", "010", "010", "VALUE:N1a" ], [ "00,98", "100-360", "010", "VALUE:N1" ], [ "01-90,95,97,99", "010", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "100-305", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "310", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "320", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "340", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "350", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "360", "010", "VALUE:N1a" ], [ "00,98", "010", "020", "VALUE:N1b" ], [ "00,98", "100-360", "020", "VALUE:N1" ], [ "01-90,95,97,99", "010", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "100-305", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "310", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "320", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "340", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "350", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "360", "020", "VALUE:N1b" ], [ "00,98", "010", "100", "ERROR:" ], [ "00,98", "100-360", "100", "ERROR:" ], [ "01-90,95,97,99", "010", "100", "ERROR:" ], [ "01-90,95,97,99", "100-305", "100", "ERROR:" ], [ "01-90,95,97,99", "310", "100", "ERROR:" ], [ "01-90,95,97,99", "320", "100", "ERROR:" ], [ "01-90,95,97,99", "340", "100", "ERROR:" ], [ "01-90,95,97,99", "350", "100", "ERROR:" ], [ "01-90,95,97,99", "360", "100", "ERROR:" ], [ "00,98", "010", "150", "VALUE:N2" ], [ "00,98", "100-360", "150", "VALUE:N2" ], [ "01-90,95,97,99", "010", "150", "VALUE:N2" ], [ "01-90,95,97,99", "100-305", "150", "VALUE:N2" ], [ "01-90,95,97,99", "310", "150", "VALUE:N2" ], [ "01-90,95,97,99", "320", "150", "VALUE:N2" ], [ "01-90,95,97,99", "340", "150", "VALUE:N2" ], [ "01-90,95,97,99", "350", "150", "VALUE:N2" ], [ "01-90,95,97,99", "360", "150", "VALUE:N2" ], [ "00,98", "010", "888, 988", "ERROR:" ], [ "00,98", "100-360", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "010", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "100-305", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "310", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "320", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "340", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "350", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "360", "888, 988", "ERROR:" ], [ "00,98", "010", "999", "VALUE:N1a" ], [ "00,98", "100-360", "999", "VALUE:N1" ], [ "01-90,95,97,99", "010", "999", "VALUE:N1a" ], [ "01-90,95,97,99", "100-305", "999", "VALUE:N1NOS" ], [ "01-90,95,97,99", "310", "999", "VALUE:N1" ], [ "01-90,95,97,99", "320", "999", "VALUE:N1a" ], [ "01-90,95,97,99", "340", "999", "VALUE:N1b" ], [ "01-90,95,97,99", "350", "999", "VALUE:N1NOS" ], [ "01-90,95,97,99", "360", "999", "VALUE:N1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlq.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlq.json deleted file mode 100644 index 7f256a549..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_eval_blank_ajcc7_xlq.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodeand_nodal_status_eval_blank_ajcc7_xlq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Node and Nodal Status Eval Blank AJCC7", - "title" : "Lymph Node and Nodal Status Eval Blank AJCC 7 Table", - "notes" : "**Note**: When CS Lymph Nodes Eval is blank, for CS Lymph Nodes codes 010, 105-109, 114-130, and 600 ONLY, the N category is assigned based on the value of CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, and Regional Nodes Positive, as shown in the following table.", - "last_modified" : "2015-05-27T16:19:22.743Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00,98", "010", "000, 005", "ERROR:" ], [ "00,98", "105-109,114-130,600", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "010", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "105-109", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "114", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "115", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "120", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "125", "000, 005", "ERROR:" ], [ "01-90,95,97,99", "130,600", "000, 005", "ERROR:" ], [ "00,98", "010", "010", "VALUE:N1a" ], [ "00,98", "105-109,114-130,600", "010", "VALUE:N1" ], [ "01-90,95,97,99", "010", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "105-109", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "114", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "115", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "120", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "125", "010", "VALUE:N1a" ], [ "01-90,95,97,99", "130,600", "010", "VALUE:N1a" ], [ "00,98", "010", "020", "VALUE:N1b" ], [ "00,98", "105-109,114-130,600", "020", "VALUE:N1" ], [ "01-90,95,97,99", "010", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "105-109", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "114", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "115", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "120", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "125", "020", "VALUE:N1b" ], [ "01-90,95,97,99", "130,600", "020", "VALUE:N1b" ], [ "00,98", "010", "100", "ERROR:" ], [ "00,98", "105-109,114-130,600", "100", "ERROR:" ], [ "01-90,95,97,99", "010", "100", "ERROR:" ], [ "01-90,95,97,99", "105-109", "100", "ERROR:" ], [ "01-90,95,97,99", "114", "100", "ERROR:" ], [ "01-90,95,97,99", "115", "100", "ERROR:" ], [ "01-90,95,97,99", "120", "100", "ERROR:" ], [ "01-90,95,97,99", "125", "100", "ERROR:" ], [ "01-90,95,97,99", "130,600", "100", "ERROR:" ], [ "00,98", "010", "150", "VALUE:N2" ], [ "00,98", "105-109,114-130,600", "150", "VALUE:N2" ], [ "01-90,95,97,99", "010", "150", "VALUE:N2" ], [ "01-90,95,97,99", "105-109", "150", "VALUE:N2" ], [ "01-90,95,97,99", "114", "150", "VALUE:N2" ], [ "01-90,95,97,99", "115", "150", "VALUE:N2" ], [ "01-90,95,97,99", "120", "150", "VALUE:N2" ], [ "01-90,95,97,99", "125", "150", "VALUE:N2" ], [ "01-90,95,97,99", "130,600", "150", "VALUE:N2" ], [ "00,98", "010", "888, 988", "ERROR:" ], [ "00,98", "105-109,114-130,600", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "010", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "105-109", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "114", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "115", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "120", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "125", "888, 988", "ERROR:" ], [ "01-90,95,97,99", "130,600", "888, 988", "ERROR:" ], [ "00,98", "010", "999", "VALUE:N1a" ], [ "00,98", "105-109,114-130,600", "999", "VALUE:N1" ], [ "01-90,95,97,99", "010", "999", "VALUE:N1a" ], [ "01-90,95,97,99", "105-109", "999", "VALUE:N1NOS" ], [ "01-90,95,97,99", "114", "999", "VALUE:N1" ], [ "01-90,95,97,99", "115", "999", "VALUE:N1a" ], [ "01-90,95,97,99", "120", "999", "VALUE:N1b" ], [ "01-90,95,97,99", "125", "999", "VALUE:N1NOS" ], [ "01-90,95,97,99", "130,600", "999", "VALUE:N1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc6_xll.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc6_xll.json deleted file mode 100644 index f5b2c7d3c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc6_xll.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodeand_nodal_status_pathologic_eval_ajcc6_xll", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Node and Nodal Status Pathologic Eval AJCC6", - "title" : "Lymph Node and Nodal Status Pathologic Eval AJCC 6 Table", - "notes" : "**Note**: When nodes are pathologically evaluated (CS Lymph Nodes Eval = 2,3,6,8), for CS Lymph Nodes codes 010-118, 121-128, 152, 153, 155, and 158 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, and Regional Nodes Positive, as shown in the following table.", - "last_modified" : "2015-05-27T16:19:22.819Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "100,110,115,118", "000-002,005", "ERROR:" ], [ "00", "121", "000-002,005", "ERROR:" ], [ "00", "122", "000-002,005", "ERROR:" ], [ "00", "123", "000-002,005", "ERROR:" ], [ "00", "124", "000-002,005", "ERROR:" ], [ "00", "125", "000-002,005", "ERROR:" ], [ "00", "128", "000-002,005", "ERROR:" ], [ "00", "152", "000-002,005", "ERROR:" ], [ "00", "153", "000-002,005", "ERROR:" ], [ "00", "155", "000-002,005", "ERROR:" ], [ "00", "158", "000-002,005", "ERROR:" ], [ "01", "100,110,115,118", "000-002,005", "ERROR:" ], [ "01", "121", "000-002,005", "ERROR:" ], [ "01", "122", "000-002,005", "ERROR:" ], [ "01", "123", "000-002,005", "ERROR:" ], [ "01", "124", "000-002,005", "ERROR:" ], [ "01", "125", "000-002,005", "ERROR:" ], [ "01", "128", "000-002,005", "ERROR:" ], [ "01", "152", "000-002,005", "ERROR:" ], [ "01", "153", "000-002,005", "ERROR:" ], [ "01", "155", "000-002,005", "ERROR:" ], [ "01", "158", "000-002,005", "ERROR:" ], [ "02-03", "100,110,115,118", "000-002,005", "ERROR:" ], [ "02-03", "121", "000-002,005", "ERROR:" ], [ "02-03", "122", "000-002,005", "ERROR:" ], [ "02-03", "123", "000-002,005", "ERROR:" ], [ "02-03", "124", "000-002,005", "ERROR:" ], [ "02-03", "125", "000-002,005", "ERROR:" ], [ "02-03", "128", "000-002,005", "ERROR:" ], [ "02-03", "152", "000-002,005", "ERROR:" ], [ "02-03", "153", "000-002,005", "ERROR:" ], [ "02-03", "155", "000-002,005", "ERROR:" ], [ "02-03", "158", "000-002,005", "ERROR:" ], [ "04-90", "100,110,115,118", "000-002,005", "ERROR:" ], [ "04-90", "121", "000-002,005", "ERROR:" ], [ "04-90", "122", "000-002,005", "ERROR:" ], [ "04-90", "123", "000-002,005", "ERROR:" ], [ "04-90", "124", "000-002,005", "ERROR:" ], [ "04-90", "125", "000-002,005", "ERROR:" ], [ "04-90", "128", "000-002,005", "ERROR:" ], [ "04-90", "152", "000-002,005", "ERROR:" ], [ "04-90", "153", "000-002,005", "ERROR:" ], [ "04-90", "155", "000-002,005", "ERROR:" ], [ "04-90", "158", "000-002,005", "ERROR:" ], [ "95", "100,110,115,118", "000-002,005", "ERROR:" ], [ "95", "121", "000-002,005", "ERROR:" ], [ "95", "122", "000-002,005", "ERROR:" ], [ "95", "123", "000-002,005", "ERROR:" ], [ "95", "124", "000-002,005", "ERROR:" ], [ "95", "125", "000-002,005", "ERROR:" ], [ "95", "128", "000-002,005", "ERROR:" ], [ "95", "152", "000-002,005", "ERROR:" ], [ "95", "153", "000-002,005", "ERROR:" ], [ "95", "155", "000-002,005", "ERROR:" ], [ "95", "158", "000-002,005", "ERROR:" ], [ "97", "100,110,115,118", "000-002,005", "ERROR:" ], [ "97", "121", "000-002,005", "ERROR:" ], [ "97", "122", "000-002,005", "ERROR:" ], [ "97", "123", "000-002,005", "ERROR:" ], [ "97", "124", "000-002,005", "ERROR:" ], [ "97", "125", "000-002,005", "ERROR:" ], [ "97", "128", "000-002,005", "ERROR:" ], [ "97", "152", "000-002,005", "ERROR:" ], [ "97", "153", "000-002,005", "ERROR:" ], [ "97", "155", "000-002,005", "ERROR:" ], [ "97", "158", "000-002,005", "ERROR:" ], [ "98", "100,110,115,118", "000-002,005", "ERROR:" ], [ "98", "121", "000-002,005", "ERROR:" ], [ "98", "122", "000-002,005", "ERROR:" ], [ "98", "123", "000-002,005", "ERROR:" ], [ "98", "124", "000-002,005", "ERROR:" ], [ "98", "125", "000-002,005", "ERROR:" ], [ "98", "128", "000-002,005", "ERROR:" ], [ "98", "152", "000-002,005", "ERROR:" ], [ "98", "153", "000-002,005", "ERROR:" ], [ "98", "155", "000-002,005", "ERROR:" ], [ "98", "158", "000-002,005", "ERROR:" ], [ "99", "100,110,115,118", "000-002,005", "ERROR:" ], [ "99", "121", "000-002,005", "ERROR:" ], [ "99", "122", "000-002,005", "ERROR:" ], [ "99", "123", "000-002,005", "ERROR:" ], [ "99", "124", "000-002,005", "ERROR:" ], [ "99", "125", "000-002,005", "ERROR:" ], [ "99", "128", "000-002,005", "ERROR:" ], [ "99", "152", "000-002,005", "ERROR:" ], [ "99", "153", "000-002,005", "ERROR:" ], [ "99", "155", "000-002,005", "ERROR:" ], [ "99", "158", "000-002,005", "ERROR:" ], [ "00", "100,110,115,118", "010", "ERROR:" ], [ "00", "121", "010", "ERROR:" ], [ "00", "122", "010", "ERROR:" ], [ "00", "123", "010", "ERROR:" ], [ "00", "124", "010", "ERROR:" ], [ "00", "125", "010", "ERROR:" ], [ "00", "128", "010", "ERROR:" ], [ "00", "152", "010", "ERROR:" ], [ "00", "153", "010", "ERROR:" ], [ "00", "155", "010", "ERROR:" ], [ "00", "158", "010", "ERROR:" ], [ "01", "100,110,115,118", "010", "VALUE:N1a" ], [ "01", "121", "010", "ERROR:" ], [ "01", "122", "010", "VALUE:N1a" ], [ "01", "123", "010", "VALUE:N1a" ], [ "01", "124", "010", "VALUE:N1a" ], [ "01", "125", "010", "VALUE:N1a" ], [ "01", "128", "010", "ERROR:" ], [ "01", "152", "010", "VALUE:N1a" ], [ "01", "153", "010", "VALUE:N1a" ], [ "01", "155", "010", "VALUE:N1a" ], [ "01", "158", "010", "VALUE:N1a" ], [ "02-03", "100,110,115,118", "010", "VALUE:N2a" ], [ "02-03", "121", "010", "ERROR:" ], [ "02-03", "122", "010", "VALUE:N2a" ], [ "02-03", "123", "010", "VALUE:N2a" ], [ "02-03", "124", "010", "VALUE:N2a" ], [ "02-03", "125", "010", "VALUE:N2a" ], [ "02-03", "128", "010", "ERROR:" ], [ "02-03", "152", "010", "VALUE:N2a" ], [ "02-03", "153", "010", "VALUE:N2a" ], [ "02-03", "155", "010", "VALUE:N2a" ], [ "02-03", "158", "010", "VALUE:N2a" ], [ "04-90", "100,110,115,118", "010", "VALUE:N3" ], [ "04-90", "121", "010", "ERROR:" ], [ "04-90", "122", "010", "VALUE:N3" ], [ "04-90", "123", "010", "VALUE:N3" ], [ "04-90", "124", "010", "VALUE:N3" ], [ "04-90", "125", "010", "VALUE:N3" ], [ "04-90", "128", "010", "ERROR:" ], [ "04-90", "152", "010", "VALUE:N3" ], [ "04-90", "153", "010", "VALUE:N3" ], [ "04-90", "155", "010", "VALUE:N3" ], [ "04-90", "158", "010", "VALUE:N3" ], [ "95", "100,110,115,118", "010", "VALUE:N1a" ], [ "95", "121", "010", "ERROR:" ], [ "95", "122", "010", "VALUE:N1a" ], [ "95", "123", "010", "VALUE:N1a" ], [ "95", "124", "010", "VALUE:N1a" ], [ "95", "125", "010", "VALUE:N1a" ], [ "95", "128", "010", "ERROR:" ], [ "95", "152", "010", "VALUE:N2a" ], [ "95", "153", "010", "VALUE:N2a" ], [ "95", "155", "010", "VALUE:N2a" ], [ "95", "158", "010", "VALUE:N2a" ], [ "97", "100,110,115,118", "010", "VALUE:N1a" ], [ "97", "121", "010", "ERROR:" ], [ "97", "122", "010", "VALUE:N1a" ], [ "97", "123", "010", "VALUE:N1a" ], [ "97", "124", "010", "VALUE:N1a" ], [ "97", "125", "010", "VALUE:N1a" ], [ "97", "128", "010", "ERROR:" ], [ "97", "152", "010", "VALUE:N2a" ], [ "97", "153", "010", "VALUE:N2a" ], [ "97", "155", "010", "VALUE:N2a" ], [ "97", "158", "010", "VALUE:N2a" ], [ "98", "100,110,115,118", "010", "ERROR:" ], [ "98", "121", "010", "ERROR:" ], [ "98", "122", "010", "ERROR:" ], [ "98", "123", "010", "ERROR:" ], [ "98", "124", "010", "ERROR:" ], [ "98", "125", "010", "ERROR:" ], [ "98", "128", "010", "ERROR:" ], [ "98", "152", "010", "ERROR:" ], [ "98", "153", "010", "ERROR:" ], [ "98", "155", "010", "ERROR:" ], [ "98", "158", "010", "ERROR:" ], [ "99", "100,110,115,118", "010", "VALUE:N1a" ], [ "99", "121", "010", "ERROR:" ], [ "99", "122", "010", "VALUE:N1a" ], [ "99", "123", "010", "VALUE:N1a" ], [ "99", "124", "010", "VALUE:N1a" ], [ "99", "125", "010", "VALUE:N1a" ], [ "99", "128", "010", "ERROR:" ], [ "99", "152", "010", "VALUE:N2a" ], [ "99", "153", "010", "VALUE:N2a" ], [ "99", "155", "010", "VALUE:N2a" ], [ "99", "158", "010", "VALUE:N2a" ], [ "00", "100,110,115,118", "020", "VALUE:N1b" ], [ "00", "121", "020", "ERROR:" ], [ "00", "122", "020", "VALUE:N1b" ], [ "00", "123", "020", "VALUE:N1b" ], [ "00", "124", "020", "VALUE:N1b" ], [ "00", "125", "020", "VALUE:N1b" ], [ "00", "128", "020", "ERROR:" ], [ "00", "152", "020", "VALUE:N2b" ], [ "00", "153", "020", "VALUE:N2b" ], [ "00", "155", "020", "VALUE:N2b" ], [ "00", "158", "020", "VALUE:N2b" ], [ "01", "100,110,115,118", "020", "VALUE:N1b" ], [ "01", "121", "020", "ERROR:" ], [ "01", "122", "020", "VALUE:N1b" ], [ "01", "123", "020", "VALUE:N1b" ], [ "01", "124", "020", "VALUE:N1b" ], [ "01", "125", "020", "VALUE:N1b" ], [ "01", "128", "020", "ERROR:" ], [ "01", "152", "020", "VALUE:N1b" ], [ "01", "153", "020", "VALUE:N1b" ], [ "01", "155", "020", "VALUE:N1b" ], [ "01", "158", "020", "VALUE:N1b" ], [ "02-03", "100,110,115,118", "020", "VALUE:N2b" ], [ "02-03", "121", "020", "ERROR:" ], [ "02-03", "122", "020", "VALUE:N2b" ], [ "02-03", "123", "020", "VALUE:N2b" ], [ "02-03", "124", "020", "VALUE:N2b" ], [ "02-03", "125", "020", "VALUE:N2b" ], [ "02-03", "128", "020", "ERROR:" ], [ "02-03", "152", "020", "VALUE:N2b" ], [ "02-03", "153", "020", "VALUE:N2b" ], [ "02-03", "155", "020", "VALUE:N2b" ], [ "02-03", "158", "020", "VALUE:N2b" ], [ "04-90", "100,110,115,118", "020", "VALUE:N3" ], [ "04-90", "121", "020", "ERROR:" ], [ "04-90", "122", "020", "VALUE:N3" ], [ "04-90", "123", "020", "VALUE:N3" ], [ "04-90", "124", "020", "VALUE:N3" ], [ "04-90", "125", "020", "VALUE:N3" ], [ "04-90", "128", "020", "ERROR:" ], [ "04-90", "152", "020", "VALUE:N3" ], [ "04-90", "153", "020", "VALUE:N3" ], [ "04-90", "155", "020", "VALUE:N3" ], [ "04-90", "158", "020", "VALUE:N3" ], [ "95", "100,110,115,118", "020", "VALUE:N1b" ], [ "95", "121", "020", "ERROR:" ], [ "95", "122", "020", "VALUE:N1b" ], [ "95", "123", "020", "VALUE:N1b" ], [ "95", "124", "020", "VALUE:N1b" ], [ "95", "125", "020", "VALUE:N1b" ], [ "95", "128", "020", "ERROR:" ], [ "95", "152", "020", "VALUE:N2b" ], [ "95", "153", "020", "VALUE:N2b" ], [ "95", "155", "020", "VALUE:N2b" ], [ "95", "158", "020", "VALUE:N2b" ], [ "97", "100,110,115,118", "020", "VALUE:N1b" ], [ "97", "121", "020", "ERROR:" ], [ "97", "122", "020", "VALUE:N1b" ], [ "97", "123", "020", "VALUE:N1b" ], [ "97", "124", "020", "VALUE:N1b" ], [ "97", "125", "020", "VALUE:N1b" ], [ "97", "128", "020", "ERROR:" ], [ "97", "152", "020", "VALUE:N2b" ], [ "97", "153", "020", "VALUE:N2b" ], [ "97", "155", "020", "VALUE:N2b" ], [ "97", "158", "020", "VALUE:N2b" ], [ "98", "100,110,115,118", "020", "VALUE:N1b" ], [ "98", "121", "020", "ERROR:" ], [ "98", "122", "020", "VALUE:N1b" ], [ "98", "123", "020", "VALUE:N1b" ], [ "98", "124", "020", "VALUE:N1b" ], [ "98", "125", "020", "VALUE:N1b" ], [ "98", "128", "020", "ERROR:" ], [ "98", "152", "020", "VALUE:N2b" ], [ "98", "153", "020", "VALUE:N2b" ], [ "98", "155", "020", "VALUE:N2b" ], [ "98", "158", "020", "VALUE:N2b" ], [ "99", "100,110,115,118", "020", "VALUE:N1b" ], [ "99", "121", "020", "ERROR:" ], [ "99", "122", "020", "VALUE:N1b" ], [ "99", "123", "020", "VALUE:N1b" ], [ "99", "124", "020", "VALUE:N1b" ], [ "99", "125", "020", "VALUE:N1b" ], [ "99", "128", "020", "ERROR:" ], [ "99", "152", "020", "VALUE:N2b" ], [ "99", "153", "020", "VALUE:N2b" ], [ "99", "155", "020", "VALUE:N2b" ], [ "99", "158", "020", "VALUE:N2b" ], [ "00", "100,110,115,118", "043", "VALUE:N1b" ], [ "00", "121", "043", "ERROR:" ], [ "00", "122", "043", "VALUE:N1b" ], [ "00", "123", "043", "VALUE:N1b" ], [ "00", "124", "043", "VALUE:N1b" ], [ "00", "125", "043", "VALUE:N1b" ], [ "00", "128", "043", "ERROR:" ], [ "00", "152", "043", "VALUE:N2b" ], [ "00", "153", "043", "VALUE:N2b" ], [ "00", "155", "043", "VALUE:N2b" ], [ "00", "158", "043", "VALUE:N2b" ], [ "01", "100,110,115,118", "043", "VALUE:N1b" ], [ "01", "121", "043", "ERROR:" ], [ "01", "122", "043", "VALUE:N1b" ], [ "01", "123", "043", "VALUE:N1b" ], [ "01", "124", "043", "VALUE:N1b" ], [ "01", "125", "043", "VALUE:N1b" ], [ "01", "128", "043", "ERROR:" ], [ "01", "152", "043", "VALUE:N1b" ], [ "01", "153", "043", "VALUE:N1b" ], [ "01", "155", "043", "VALUE:N1b" ], [ "01", "158", "043", "VALUE:N1b" ], [ "02-03", "100,110,115,118", "043", "VALUE:N2b" ], [ "02-03", "121", "043", "ERROR:" ], [ "02-03", "122", "043", "VALUE:N2b" ], [ "02-03", "123", "043", "VALUE:N2b" ], [ "02-03", "124", "043", "VALUE:N2b" ], [ "02-03", "125", "043", "VALUE:N2b" ], [ "02-03", "128", "043", "ERROR:" ], [ "02-03", "152", "043", "VALUE:N2b" ], [ "02-03", "153", "043", "VALUE:N2b" ], [ "02-03", "155", "043", "VALUE:N2b" ], [ "02-03", "158", "043", "VALUE:N2b" ], [ "04-90", "100,110,115,118", "043", "VALUE:N3" ], [ "04-90", "121", "043", "ERROR:" ], [ "04-90", "122", "043", "VALUE:N3" ], [ "04-90", "123", "043", "VALUE:N3" ], [ "04-90", "124", "043", "VALUE:N3" ], [ "04-90", "125", "043", "VALUE:N3" ], [ "04-90", "128", "043", "ERROR:" ], [ "04-90", "152", "043", "VALUE:N3" ], [ "04-90", "153", "043", "VALUE:N3" ], [ "04-90", "155", "043", "VALUE:N3" ], [ "04-90", "158", "043", "VALUE:N3" ], [ "95", "100,110,115,118", "043", "VALUE:N1b" ], [ "95", "121", "043", "ERROR:" ], [ "95", "122", "043", "VALUE:N1b" ], [ "95", "123", "043", "VALUE:N1b" ], [ "95", "124", "043", "VALUE:N1b" ], [ "95", "125", "043", "VALUE:N1b" ], [ "95", "128", "043", "ERROR:" ], [ "95", "152", "043", "VALUE:N2b" ], [ "95", "153", "043", "VALUE:N2b" ], [ "95", "155", "043", "VALUE:N2b" ], [ "95", "158", "043", "VALUE:N2b" ], [ "97", "100,110,115,118", "043", "VALUE:N1b" ], [ "97", "121", "043", "ERROR:" ], [ "97", "122", "043", "VALUE:N1b" ], [ "97", "123", "043", "VALUE:N1b" ], [ "97", "124", "043", "VALUE:N1b" ], [ "97", "125", "043", "VALUE:N1b" ], [ "97", "128", "043", "ERROR:" ], [ "97", "152", "043", "VALUE:N2b" ], [ "97", "153", "043", "VALUE:N2b" ], [ "97", "155", "043", "VALUE:N2b" ], [ "97", "158", "043", "VALUE:N2b" ], [ "98", "100,110,115,118", "043", "VALUE:N1b" ], [ "98", "121", "043", "ERROR:" ], [ "98", "122", "043", "VALUE:N1b" ], [ "98", "123", "043", "VALUE:N1b" ], [ "98", "124", "043", "VALUE:N1b" ], [ "98", "125", "043", "VALUE:N1b" ], [ "98", "128", "043", "ERROR:" ], [ "98", "152", "043", "VALUE:N2b" ], [ "98", "153", "043", "VALUE:N2b" ], [ "98", "155", "043", "VALUE:N2b" ], [ "98", "158", "043", "VALUE:N2b" ], [ "99", "100,110,115,118", "043", "VALUE:N1b" ], [ "99", "121", "043", "ERROR:" ], [ "99", "122", "043", "VALUE:N1b" ], [ "99", "123", "043", "VALUE:N1b" ], [ "99", "124", "043", "VALUE:N1b" ], [ "99", "125", "043", "VALUE:N1b" ], [ "99", "128", "043", "ERROR:" ], [ "99", "152", "043", "VALUE:N2b" ], [ "99", "153", "043", "VALUE:N2b" ], [ "99", "155", "043", "VALUE:N2b" ], [ "99", "158", "043", "VALUE:N2b" ], [ "00", "100,110,115,118", "045", "VALUE:N1b" ], [ "00", "121", "045", "ERROR:" ], [ "00", "122", "045", "VALUE:N1b" ], [ "00", "123", "045", "VALUE:N1b" ], [ "00", "124", "045", "VALUE:N1b" ], [ "00", "125", "045", "VALUE:N1b" ], [ "00", "128", "045", "ERROR:" ], [ "00", "152", "045", "VALUE:N2b" ], [ "00", "153", "045", "VALUE:N2b" ], [ "00", "155", "045", "VALUE:N2b" ], [ "00", "158", "045", "VALUE:N2b" ], [ "01", "100,110,115,118", "045", "VALUE:N1b" ], [ "01", "121", "045", "ERROR:" ], [ "01", "122", "045", "VALUE:N1b" ], [ "01", "123", "045", "VALUE:N1b" ], [ "01", "124", "045", "VALUE:N1b" ], [ "01", "125", "045", "VALUE:N1b" ], [ "01", "128", "045", "ERROR:" ], [ "01", "152", "045", "VALUE:N1b" ], [ "01", "153", "045", "VALUE:N1b" ], [ "01", "155", "045", "VALUE:N1b" ], [ "01", "158", "045", "VALUE:N1b" ], [ "02-03", "100,110,115,118", "045", "VALUE:N2b" ], [ "02-03", "121", "045", "ERROR:" ], [ "02-03", "122", "045", "VALUE:N2b" ], [ "02-03", "123", "045", "VALUE:N2b" ], [ "02-03", "124", "045", "VALUE:N2b" ], [ "02-03", "125", "045", "VALUE:N2b" ], [ "02-03", "128", "045", "ERROR:" ], [ "02-03", "152", "045", "VALUE:N2b" ], [ "02-03", "153", "045", "VALUE:N2b" ], [ "02-03", "155", "045", "VALUE:N2b" ], [ "02-03", "158", "045", "VALUE:N2b" ], [ "04-90", "100,110,115,118", "045", "VALUE:N3" ], [ "04-90", "121", "045", "ERROR:" ], [ "04-90", "122", "045", "VALUE:N3" ], [ "04-90", "123", "045", "VALUE:N3" ], [ "04-90", "124", "045", "VALUE:N3" ], [ "04-90", "125", "045", "VALUE:N3" ], [ "04-90", "128", "045", "ERROR:" ], [ "04-90", "152", "045", "VALUE:N3" ], [ "04-90", "153", "045", "VALUE:N3" ], [ "04-90", "155", "045", "VALUE:N3" ], [ "04-90", "158", "045", "VALUE:N3" ], [ "95", "100,110,115,118", "045", "VALUE:N1b" ], [ "95", "121", "045", "ERROR:" ], [ "95", "122", "045", "VALUE:N1b" ], [ "95", "123", "045", "VALUE:N1b" ], [ "95", "124", "045", "VALUE:N1b" ], [ "95", "125", "045", "VALUE:N1b" ], [ "95", "128", "045", "ERROR:" ], [ "95", "152", "045", "VALUE:N2b" ], [ "95", "153", "045", "VALUE:N2b" ], [ "95", "155", "045", "VALUE:N2b" ], [ "95", "158", "045", "VALUE:N2b" ], [ "97", "100,110,115,118", "045", "VALUE:N2b" ], [ "97", "121", "045", "ERROR:" ], [ "97", "122", "045", "VALUE:N2b" ], [ "97", "123", "045", "VALUE:N2b" ], [ "97", "124", "045", "VALUE:N2b" ], [ "97", "125", "045", "VALUE:N1b" ], [ "97", "128", "045", "ERROR:" ], [ "97", "152", "045", "VALUE:N2b" ], [ "97", "153", "045", "VALUE:N2b" ], [ "97", "155", "045", "VALUE:N2b" ], [ "97", "158", "045", "VALUE:N2b" ], [ "98", "100,110,115,118", "045", "VALUE:N1b" ], [ "98", "121", "045", "ERROR:" ], [ "98", "122", "045", "VALUE:N1b" ], [ "98", "123", "045", "VALUE:N1b" ], [ "98", "124", "045", "VALUE:N1b" ], [ "98", "125", "045", "VALUE:N1b" ], [ "98", "128", "045", "ERROR:" ], [ "98", "152", "045", "VALUE:N2b" ], [ "98", "153", "045", "VALUE:N2b" ], [ "98", "155", "045", "VALUE:N2b" ], [ "98", "158", "045", "VALUE:N2b" ], [ "99", "100,110,115,118", "045", "VALUE:N2b" ], [ "99", "121", "045", "ERROR:" ], [ "99", "122", "045", "VALUE:N2b" ], [ "99", "123", "045", "VALUE:N2b" ], [ "99", "124", "045", "VALUE:N2b" ], [ "99", "125", "045", "VALUE:N2b" ], [ "99", "128", "045", "ERROR:" ], [ "99", "152", "045", "VALUE:N2b" ], [ "99", "153", "045", "VALUE:N2b" ], [ "99", "155", "045", "VALUE:N2b" ], [ "99", "158", "045", "VALUE:N2b" ], [ "00", "100,110,115,118", "048", "VALUE:N1b" ], [ "00", "121", "048", "ERROR:" ], [ "00", "122", "048", "VALUE:N1b" ], [ "00", "123", "048", "VALUE:N1b" ], [ "00", "124", "048", "VALUE:N1b" ], [ "00", "125", "048", "VALUE:N1b" ], [ "00", "128", "048", "ERROR:" ], [ "00", "152", "048", "VALUE:N2b" ], [ "00", "153", "048", "VALUE:N2b" ], [ "00", "155", "048", "VALUE:N2b" ], [ "00", "158", "048", "VALUE:N2b" ], [ "01", "100,110,115,118", "048", "VALUE:N1b" ], [ "01", "121", "048", "ERROR:" ], [ "01", "122", "048", "VALUE:N1b" ], [ "01", "123", "048", "VALUE:N1b" ], [ "01", "124", "048", "VALUE:N1b" ], [ "01", "125", "048", "VALUE:N1b" ], [ "01", "128", "048", "ERROR:" ], [ "01", "152", "048", "VALUE:N1b" ], [ "01", "153", "048", "VALUE:N1b" ], [ "01", "155", "048", "VALUE:N1b" ], [ "01", "158", "048", "VALUE:N1b" ], [ "02-03", "100,110,115,118", "048", "VALUE:N2b" ], [ "02-03", "121", "048", "ERROR:" ], [ "02-03", "122", "048", "VALUE:N2b" ], [ "02-03", "123", "048", "VALUE:N2b" ], [ "02-03", "124", "048", "VALUE:N2b" ], [ "02-03", "125", "048", "VALUE:N2b" ], [ "02-03", "128", "048", "ERROR:" ], [ "02-03", "152", "048", "VALUE:N2b" ], [ "02-03", "153", "048", "VALUE:N2b" ], [ "02-03", "155", "048", "VALUE:N2b" ], [ "02-03", "158", "048", "VALUE:N2b" ], [ "04-90", "100,110,115,118", "048", "VALUE:N3" ], [ "04-90", "121", "048", "ERROR:" ], [ "04-90", "122", "048", "VALUE:N3" ], [ "04-90", "123", "048", "VALUE:N3" ], [ "04-90", "124", "048", "VALUE:N3" ], [ "04-90", "125", "048", "VALUE:N3" ], [ "04-90", "128", "048", "ERROR:" ], [ "04-90", "152", "048", "VALUE:N3" ], [ "04-90", "153", "048", "VALUE:N3" ], [ "04-90", "155", "048", "VALUE:N3" ], [ "04-90", "158", "048", "VALUE:N3" ], [ "95", "100,110,115,118", "048", "VALUE:N1b" ], [ "95", "121", "048", "ERROR:" ], [ "95", "122", "048", "VALUE:N1b" ], [ "95", "123", "048", "VALUE:N1b" ], [ "95", "124", "048", "VALUE:N1b" ], [ "95", "125", "048", "VALUE:N1b" ], [ "95", "128", "048", "ERROR:" ], [ "95", "152", "048", "VALUE:N2b" ], [ "95", "153", "048", "VALUE:N2b" ], [ "95", "155", "048", "VALUE:N2b" ], [ "95", "158", "048", "VALUE:N2b" ], [ "97", "100,110,115,118", "048", "VALUE:N3" ], [ "97", "121", "048", "ERROR:" ], [ "97", "122", "048", "VALUE:N3" ], [ "97", "123", "048", "VALUE:N3" ], [ "97", "124", "048", "VALUE:N3" ], [ "97", "125", "048", "VALUE:N1b" ], [ "97", "128", "048", "ERROR:" ], [ "97", "152", "048", "VALUE:N2b" ], [ "97", "153", "048", "VALUE:N2b" ], [ "97", "155", "048", "VALUE:N2b" ], [ "97", "158", "048", "VALUE:N2b" ], [ "98", "100,110,115,118", "048", "VALUE:N1b" ], [ "98", "121", "048", "ERROR:" ], [ "98", "122", "048", "VALUE:N1b" ], [ "98", "123", "048", "VALUE:N1b" ], [ "98", "124", "048", "VALUE:N1b" ], [ "98", "125", "048", "VALUE:N1b" ], [ "98", "128", "048", "ERROR:" ], [ "98", "152", "048", "VALUE:N2b" ], [ "98", "153", "048", "VALUE:N2b" ], [ "98", "155", "048", "VALUE:N2b" ], [ "98", "158", "048", "VALUE:N2b" ], [ "99", "100,110,115,118", "048", "VALUE:N3" ], [ "99", "121", "048", "ERROR:" ], [ "99", "122", "048", "VALUE:N3" ], [ "99", "123", "048", "VALUE:N3" ], [ "99", "124", "048", "VALUE:N3" ], [ "99", "125", "048", "VALUE:N3" ], [ "99", "128", "048", "ERROR:" ], [ "99", "152", "048", "VALUE:N3" ], [ "99", "153", "048", "VALUE:N3" ], [ "99", "155", "048", "VALUE:N3" ], [ "99", "158", "048", "VALUE:N3" ], [ "00", "100,110,115,118", "050", "ERROR:" ], [ "00", "121", "050", "ERROR:" ], [ "00", "122", "050", "VALUE:N1b" ], [ "00", "123", "050", "VALUE:N1b" ], [ "00", "124", "050", "VALUE:N1b" ], [ "00", "125", "050", "VALUE:N1b" ], [ "00", "128", "050", "ERROR:" ], [ "00", "152", "050", "VALUE:N2b" ], [ "00", "153", "050", "VALUE:N2b" ], [ "00", "155", "050", "VALUE:N2b" ], [ "00", "158", "050", "VALUE:N2b" ], [ "01", "100,110,115,118", "050", "VALUE:N1b" ], [ "01", "121", "050", "ERROR:" ], [ "01", "122", "050", "VALUE:N1b" ], [ "01", "123", "050", "VALUE:N1b" ], [ "01", "124", "050", "VALUE:N1b" ], [ "01", "125", "050", "VALUE:N1b" ], [ "01", "128", "050", "ERROR:" ], [ "01", "152", "050", "VALUE:N1b" ], [ "01", "153", "050", "VALUE:N1b" ], [ "01", "155", "050", "VALUE:N1b" ], [ "01", "158", "050", "VALUE:N1b" ], [ "02-03", "100,110,115,118", "050", "VALUE:N2b" ], [ "02-03", "121", "050", "ERROR:" ], [ "02-03", "122", "050", "VALUE:N2b" ], [ "02-03", "123", "050", "VALUE:N2b" ], [ "02-03", "124", "050", "ERROR:" ], [ "02-03", "125", "050", "VALUE:N2b" ], [ "02-03", "128", "050", "ERROR:" ], [ "02-03", "152", "050", "VALUE:N2b" ], [ "02-03", "153", "050", "VALUE:N2b" ], [ "02-03", "155", "050", "VALUE:N2b" ], [ "02-03", "158", "050", "VALUE:N2b" ], [ "04-90", "100,110,115,118", "050", "VALUE:N3" ], [ "04-90", "121", "050", "ERROR:" ], [ "04-90", "122", "050", "VALUE:N3" ], [ "04-90", "123", "050", "VALUE:N3" ], [ "04-90", "124", "050", "ERROR:" ], [ "04-90", "125", "050", "VALUE:N3" ], [ "04-90", "128", "050", "ERROR:" ], [ "04-90", "152", "050", "VALUE:N3" ], [ "04-90", "153", "050", "VALUE:N3" ], [ "04-90", "155", "050", "VALUE:N3" ], [ "04-90", "158", "050", "VALUE:N3" ], [ "95", "100,110,115,118", "050", "VALUE:N1b" ], [ "95", "121", "050", "ERROR:" ], [ "95", "122", "050", "VALUE:N1b" ], [ "95", "123", "050", "VALUE:N1b" ], [ "95", "124", "050", "VALUE:N1b" ], [ "95", "125", "050", "VALUE:N1b" ], [ "95", "128", "050", "ERROR:" ], [ "95", "152", "050", "VALUE:N2b" ], [ "95", "153", "050", "VALUE:N2b" ], [ "95", "155", "050", "VALUE:N2b" ], [ "95", "158", "050", "VALUE:N2b" ], [ "97", "100,110,115,118", "050", "VALUE:N1b" ], [ "97", "121", "050", "ERROR:" ], [ "97", "122", "050", "VALUE:N1b" ], [ "97", "123", "050", "VALUE:N1b" ], [ "97", "124", "050", "VALUE:N1b" ], [ "97", "125", "050", "VALUE:N1b" ], [ "97", "128", "050", "ERROR:" ], [ "97", "152", "050", "VALUE:N2b" ], [ "97", "153", "050", "VALUE:N2b" ], [ "97", "155", "050", "VALUE:N2b" ], [ "97", "158", "050", "VALUE:N2b" ], [ "98", "100,110,115,118", "050", "VALUE:N1b" ], [ "98", "121", "050", "ERROR:" ], [ "98", "122", "050", "VALUE:N1b" ], [ "98", "123", "050", "VALUE:N1b" ], [ "98", "124", "050", "ERROR:" ], [ "98", "125", "050", "VALUE:N1b" ], [ "98", "128", "050", "ERROR:" ], [ "98", "152", "050", "VALUE:N2b" ], [ "98", "153", "050", "VALUE:N2b" ], [ "98", "155", "050", "VALUE:N2b" ], [ "98", "158", "050", "VALUE:N2b" ], [ "99", "100,110,115,118", "050", "VALUE:N1b" ], [ "99", "121", "050", "ERROR:" ], [ "99", "122", "050", "VALUE:N1b" ], [ "99", "123", "050", "VALUE:N1b" ], [ "99", "124", "050", "VALUE:N1b" ], [ "99", "125", "050", "VALUE:N1b" ], [ "99", "128", "050", "ERROR:" ], [ "99", "152", "050", "VALUE:N2b" ], [ "99", "153", "050", "VALUE:N2b" ], [ "99", "155", "050", "VALUE:N2b" ], [ "99", "158", "050", "VALUE:N2b" ], [ "00", "100,110,115,118", "100", "ERROR:" ], [ "00", "121", "100", "ERROR:" ], [ "00", "122", "100", "ERROR:" ], [ "00", "123", "100", "ERROR:" ], [ "00", "124", "100", "ERROR:" ], [ "00", "125", "100", "ERROR:" ], [ "00", "128", "100", "ERROR:" ], [ "00", "152", "100", "ERROR:" ], [ "00", "153", "100", "ERROR:" ], [ "00", "155", "100", "ERROR:" ], [ "00", "158", "100", "ERROR:" ], [ "01", "100,110,115,118", "100", "ERROR:" ], [ "01", "121", "100", "ERROR:" ], [ "01", "122", "100", "ERROR:" ], [ "01", "123", "100", "ERROR:" ], [ "01", "124", "100", "ERROR:" ], [ "01", "125", "100", "ERROR:" ], [ "01", "128", "100", "ERROR:" ], [ "01", "152", "100", "ERROR:" ], [ "01", "153", "100", "ERROR:" ], [ "01", "155", "100", "ERROR:" ], [ "01", "158", "100", "ERROR:" ], [ "02-03", "100,110,115,118", "100", "ERROR:" ], [ "02-03", "121", "100", "ERROR:" ], [ "02-03", "122", "100", "ERROR:" ], [ "02-03", "123", "100", "ERROR:" ], [ "02-03", "124", "100", "ERROR:" ], [ "02-03", "125", "100", "ERROR:" ], [ "02-03", "128", "100", "ERROR:" ], [ "02-03", "152", "100", "ERROR:" ], [ "02-03", "153", "100", "ERROR:" ], [ "02-03", "155", "100", "ERROR:" ], [ "02-03", "158", "100", "ERROR:" ], [ "04-90", "100,110,115,118", "100", "ERROR:" ], [ "04-90", "121", "100", "ERROR:" ], [ "04-90", "122", "100", "ERROR:" ], [ "04-90", "123", "100", "ERROR:" ], [ "04-90", "124", "100", "ERROR:" ], [ "04-90", "125", "100", "ERROR:" ], [ "04-90", "128", "100", "ERROR:" ], [ "04-90", "152", "100", "ERROR:" ], [ "04-90", "153", "100", "ERROR:" ], [ "04-90", "155", "100", "ERROR:" ], [ "04-90", "158", "100", "ERROR:" ], [ "95", "100,110,115,118", "100", "ERROR:" ], [ "95", "121", "100", "ERROR:" ], [ "95", "122", "100", "ERROR:" ], [ "95", "123", "100", "ERROR:" ], [ "95", "124", "100", "ERROR:" ], [ "95", "125", "100", "ERROR:" ], [ "95", "128", "100", "ERROR:" ], [ "95", "152", "100", "ERROR:" ], [ "95", "153", "100", "ERROR:" ], [ "95", "155", "100", "ERROR:" ], [ "95", "158", "100", "ERROR:" ], [ "97", "100,110,115,118", "100", "ERROR:" ], [ "97", "121", "100", "ERROR:" ], [ "97", "122", "100", "ERROR:" ], [ "97", "123", "100", "ERROR:" ], [ "97", "124", "100", "ERROR:" ], [ "97", "125", "100", "ERROR:" ], [ "97", "128", "100", "ERROR:" ], [ "97", "152", "100", "ERROR:" ], [ "97", "153", "100", "ERROR:" ], [ "97", "155", "100", "ERROR:" ], [ "97", "158", "100", "ERROR:" ], [ "98", "100,110,115,118", "100", "ERROR:" ], [ "98", "121", "100", "ERROR:" ], [ "98", "122", "100", "ERROR:" ], [ "98", "123", "100", "ERROR:" ], [ "98", "124", "100", "ERROR:" ], [ "98", "125", "100", "ERROR:" ], [ "98", "128", "100", "ERROR:" ], [ "98", "152", "100", "ERROR:" ], [ "98", "153", "100", "ERROR:" ], [ "98", "155", "100", "ERROR:" ], [ "98", "158", "100", "ERROR:" ], [ "99", "100,110,115,118", "100", "ERROR:" ], [ "99", "121", "100", "ERROR:" ], [ "99", "122", "100", "ERROR:" ], [ "99", "123", "100", "ERROR:" ], [ "99", "124", "100", "ERROR:" ], [ "99", "125", "100", "ERROR:" ], [ "99", "128", "100", "ERROR:" ], [ "99", "152", "100", "ERROR:" ], [ "99", "153", "100", "ERROR:" ], [ "99", "155", "100", "ERROR:" ], [ "99", "158", "100", "ERROR:" ], [ "00", "100,110,115,118", "150", "VALUE:N1b" ], [ "00", "121", "150", "ERROR:" ], [ "00", "122", "150", "VALUE:N1b" ], [ "00", "123", "150", "VALUE:N1b" ], [ "00", "124", "150", "VALUE:N1b" ], [ "00", "125", "150", "VALUE:N1b" ], [ "00", "128", "150", "ERROR:" ], [ "00", "152", "150", "VALUE:N2b" ], [ "00", "153", "150", "VALUE:N2b" ], [ "00", "155", "150", "VALUE:N2b" ], [ "00", "158", "150", "VALUE:N2b" ], [ "01", "100,110,115,118", "150", "VALUE:N1b" ], [ "01", "121", "150", "ERROR:" ], [ "01", "122", "150", "VALUE:N1b" ], [ "01", "123", "150", "VALUE:N1b" ], [ "01", "124", "150", "VALUE:N1b" ], [ "01", "125", "150", "VALUE:N1b" ], [ "01", "128", "150", "ERROR:" ], [ "01", "152", "150", "VALUE:N2b" ], [ "01", "153", "150", "VALUE:N2b" ], [ "01", "155", "150", "VALUE:N2b" ], [ "01", "158", "150", "VALUE:N2b" ], [ "02-03", "100,110,115,118", "150", "VALUE:N2b" ], [ "02-03", "121", "150", "ERROR:" ], [ "02-03", "122", "150", "VALUE:N2b" ], [ "02-03", "123", "150", "VALUE:N2b" ], [ "02-03", "124", "150", "VALUE:N2b" ], [ "02-03", "125", "150", "VALUE:N2b" ], [ "02-03", "128", "150", "ERROR:" ], [ "02-03", "152", "150", "VALUE:N2b" ], [ "02-03", "153", "150", "VALUE:N2b" ], [ "02-03", "155", "150", "VALUE:N2b" ], [ "02-03", "158", "150", "VALUE:N2b" ], [ "04-90", "100,110,115,118", "150", "VALUE:N3" ], [ "04-90", "121", "150", "ERROR:" ], [ "04-90", "122", "150", "VALUE:N3" ], [ "04-90", "123", "150", "VALUE:N3" ], [ "04-90", "124", "150", "VALUE:N3" ], [ "04-90", "125", "150", "VALUE:N3" ], [ "04-90", "128", "150", "ERROR:" ], [ "04-90", "152", "150", "VALUE:N3" ], [ "04-90", "153", "150", "VALUE:N3" ], [ "04-90", "155", "150", "VALUE:N3" ], [ "04-90", "158", "150", "VALUE:N3" ], [ "95", "100,110,115,118", "150", "VALUE:N1b" ], [ "95", "121", "150", "ERROR:" ], [ "95", "122", "150", "VALUE:N1b" ], [ "95", "123", "150", "VALUE:N1b" ], [ "95", "124", "150", "VALUE:N1b" ], [ "95", "125", "150", "VALUE:N1b" ], [ "95", "128", "150", "ERROR:" ], [ "95", "152", "150", "VALUE:N2b" ], [ "95", "153", "150", "VALUE:N2b" ], [ "95", "155", "150", "VALUE:N2b" ], [ "95", "158", "150", "VALUE:N2b" ], [ "97", "100,110,115,118", "150", "VALUE:N1b" ], [ "97", "121", "150", "ERROR:" ], [ "97", "122", "150", "VALUE:N1b" ], [ "97", "123", "150", "VALUE:N1b" ], [ "97", "124", "150", "VALUE:N1b" ], [ "97", "125", "150", "VALUE:N1b" ], [ "97", "128", "150", "ERROR:" ], [ "97", "152", "150", "VALUE:N2b" ], [ "97", "153", "150", "VALUE:N2b" ], [ "97", "155", "150", "VALUE:N2b" ], [ "97", "158", "150", "VALUE:N2b" ], [ "98", "100,110,115,118", "150", "VALUE:N1b" ], [ "98", "121", "150", "ERROR:" ], [ "98", "122", "150", "VALUE:N1b" ], [ "98", "123", "150", "VALUE:N1b" ], [ "98", "124", "150", "VALUE:N1b" ], [ "98", "125", "150", "VALUE:N1b" ], [ "98", "128", "150", "ERROR:" ], [ "98", "152", "150", "VALUE:N2b" ], [ "98", "153", "150", "VALUE:N2b" ], [ "98", "155", "150", "VALUE:N2b" ], [ "98", "158", "150", "VALUE:N2b" ], [ "99", "100,110,115,118", "150", "VALUE:N1b" ], [ "99", "121", "150", "ERROR:" ], [ "99", "122", "150", "VALUE:N1b" ], [ "99", "123", "150", "VALUE:N1b" ], [ "99", "124", "150", "VALUE:N1b" ], [ "99", "125", "150", "VALUE:N1b" ], [ "99", "128", "150", "ERROR:" ], [ "99", "152", "150", "VALUE:N2b" ], [ "99", "153", "150", "VALUE:N2b" ], [ "99", "155", "150", "VALUE:N2b" ], [ "99", "158", "150", "VALUE:N2b" ], [ "00", "100,110,115,118", "988", "ERROR:" ], [ "00", "121", "988", "ERROR:" ], [ "00", "122", "988", "ERROR:" ], [ "00", "123", "988", "ERROR:" ], [ "00", "124", "988", "ERROR:" ], [ "00", "125", "988", "ERROR:" ], [ "00", "128", "988", "ERROR:" ], [ "00", "152", "988", "ERROR:" ], [ "00", "153", "988", "ERROR:" ], [ "00", "155", "988", "ERROR:" ], [ "00", "158", "988", "ERROR:" ], [ "01", "100,110,115,118", "988", "ERROR:" ], [ "01", "121", "988", "ERROR:" ], [ "01", "122", "988", "ERROR:" ], [ "01", "123", "988", "ERROR:" ], [ "01", "124", "988", "ERROR:" ], [ "01", "125", "988", "ERROR:" ], [ "01", "128", "988", "ERROR:" ], [ "01", "152", "988", "ERROR:" ], [ "01", "153", "988", "ERROR:" ], [ "01", "155", "988", "ERROR:" ], [ "01", "158", "988", "ERROR:" ], [ "02-03", "100,110,115,118", "988", "ERROR:" ], [ "02-03", "121", "988", "ERROR:" ], [ "02-03", "122", "988", "ERROR:" ], [ "02-03", "123", "988", "ERROR:" ], [ "02-03", "124", "988", "ERROR:" ], [ "02-03", "125", "988", "ERROR:" ], [ "02-03", "128", "988", "ERROR:" ], [ "02-03", "152", "988", "ERROR:" ], [ "02-03", "153", "988", "ERROR:" ], [ "02-03", "155", "988", "ERROR:" ], [ "02-03", "158", "988", "ERROR:" ], [ "04-90", "100,110,115,118", "988", "ERROR:" ], [ "04-90", "121", "988", "ERROR:" ], [ "04-90", "122", "988", "ERROR:" ], [ "04-90", "123", "988", "ERROR:" ], [ "04-90", "124", "988", "ERROR:" ], [ "04-90", "125", "988", "ERROR:" ], [ "04-90", "128", "988", "ERROR:" ], [ "04-90", "152", "988", "ERROR:" ], [ "04-90", "153", "988", "ERROR:" ], [ "04-90", "155", "988", "ERROR:" ], [ "04-90", "158", "988", "ERROR:" ], [ "95", "100,110,115,118", "988", "ERROR:" ], [ "95", "121", "988", "ERROR:" ], [ "95", "122", "988", "ERROR:" ], [ "95", "123", "988", "ERROR:" ], [ "95", "124", "988", "ERROR:" ], [ "95", "125", "988", "ERROR:" ], [ "95", "128", "988", "ERROR:" ], [ "95", "152", "988", "ERROR:" ], [ "95", "153", "988", "ERROR:" ], [ "95", "155", "988", "ERROR:" ], [ "95", "158", "988", "ERROR:" ], [ "97", "100,110,115,118", "988", "ERROR:" ], [ "97", "121", "988", "ERROR:" ], [ "97", "122", "988", "ERROR:" ], [ "97", "123", "988", "ERROR:" ], [ "97", "124", "988", "ERROR:" ], [ "97", "125", "988", "ERROR:" ], [ "97", "128", "988", "ERROR:" ], [ "97", "152", "988", "ERROR:" ], [ "97", "153", "988", "ERROR:" ], [ "97", "155", "988", "ERROR:" ], [ "97", "158", "988", "ERROR:" ], [ "98", "100,110,115,118", "988", "ERROR:" ], [ "98", "121", "988", "ERROR:" ], [ "98", "122", "988", "ERROR:" ], [ "98", "123", "988", "ERROR:" ], [ "98", "124", "988", "ERROR:" ], [ "98", "125", "988", "ERROR:" ], [ "98", "128", "988", "ERROR:" ], [ "98", "152", "988", "ERROR:" ], [ "98", "153", "988", "ERROR:" ], [ "98", "155", "988", "ERROR:" ], [ "98", "158", "988", "ERROR:" ], [ "99", "100,110,115,118", "988", "ERROR:" ], [ "99", "121", "988", "ERROR:" ], [ "99", "122", "988", "ERROR:" ], [ "99", "123", "988", "ERROR:" ], [ "99", "124", "988", "ERROR:" ], [ "99", "125", "988", "ERROR:" ], [ "99", "128", "988", "ERROR:" ], [ "99", "152", "988", "ERROR:" ], [ "99", "153", "988", "ERROR:" ], [ "99", "155", "988", "ERROR:" ], [ "99", "158", "988", "ERROR:" ], [ "00", "100,110,115,118", "999", "VALUE:N1NOS" ], [ "00", "121", "999", "ERROR:" ], [ "00", "122", "999", "VALUE:N1a" ], [ "00", "123", "999", "VALUE:N1b" ], [ "00", "124", "999", "VALUE:N1NOS" ], [ "00", "125", "999", "VALUE:N1NOS" ], [ "00", "128", "999", "ERROR:" ], [ "00", "152", "999", "VALUE:N2a" ], [ "00", "153", "999", "VALUE:N2b" ], [ "00", "155", "999", "VALUE:N2NOS" ], [ "00", "158", "999", "VALUE:N2NOS" ], [ "01", "100,110,115,118", "999", "VALUE:N1NOS" ], [ "01", "121", "999", "ERROR:" ], [ "01", "122", "999", "VALUE:N1a" ], [ "01", "123", "999", "VALUE:N1b" ], [ "01", "124", "999", "VALUE:N1NOS" ], [ "01", "125", "999", "VALUE:N1NOS" ], [ "01", "128", "999", "ERROR:" ], [ "01", "152", "999", "VALUE:N2a" ], [ "01", "153", "999", "VALUE:N2b" ], [ "01", "155", "999", "VALUE:N2NOS" ], [ "01", "158", "999", "VALUE:N2NOS" ], [ "02-03", "100,110,115,118", "999", "VALUE:N2NOS" ], [ "02-03", "121", "999", "ERROR:" ], [ "02-03", "122", "999", "VALUE:N2a" ], [ "02-03", "123", "999", "VALUE:N2b" ], [ "02-03", "124", "999", "VALUE:N2NOS" ], [ "02-03", "125", "999", "VALUE:N2NOS" ], [ "02-03", "128", "999", "ERROR:" ], [ "02-03", "152", "999", "VALUE:N2a" ], [ "02-03", "153", "999", "VALUE:N2b" ], [ "02-03", "155", "999", "VALUE:N2NOS" ], [ "02-03", "158", "999", "VALUE:N2NOS" ], [ "04-90", "100,110,115,118", "999", "VALUE:N3" ], [ "04-90", "121", "999", "ERROR:" ], [ "04-90", "122", "999", "VALUE:N3" ], [ "04-90", "123", "999", "VALUE:N3" ], [ "04-90", "124", "999", "VALUE:N3" ], [ "04-90", "125", "999", "VALUE:N3" ], [ "04-90", "128", "999", "ERROR:" ], [ "04-90", "152", "999", "VALUE:N3" ], [ "04-90", "153", "999", "VALUE:N3" ], [ "04-90", "155", "999", "VALUE:N3" ], [ "04-90", "158", "999", "VALUE:N3" ], [ "95", "100,110,115,118", "999", "VALUE:N1NOS" ], [ "95", "121", "999", "ERROR:" ], [ "95", "122", "999", "VALUE:N1a" ], [ "95", "123", "999", "VALUE:N1b" ], [ "95", "124", "999", "VALUE:N1NOS" ], [ "95", "125", "999", "VALUE:N1NOS" ], [ "95", "128", "999", "ERROR:" ], [ "95", "152", "999", "VALUE:N2a" ], [ "95", "153", "999", "VALUE:N2b" ], [ "95", "155", "999", "VALUE:N2NOS" ], [ "95", "158", "999", "VALUE:N2NOS" ], [ "97", "100,110,115,118", "999", "VALUE:N1NOS" ], [ "97", "121", "999", "ERROR:" ], [ "97", "122", "999", "VALUE:N1a" ], [ "97", "123", "999", "VALUE:N1b" ], [ "97", "124", "999", "VALUE:N1NOS" ], [ "97", "125", "999", "VALUE:N1NOS" ], [ "97", "128", "999", "ERROR:" ], [ "97", "152", "999", "VALUE:N2a" ], [ "97", "153", "999", "VALUE:N2b" ], [ "97", "155", "999", "VALUE:N2NOS" ], [ "97", "158", "999", "VALUE:N2NOS" ], [ "98", "100,110,115,118", "999", "VALUE:N1NOS" ], [ "98", "121", "999", "ERROR:" ], [ "98", "122", "999", "VALUE:N1a" ], [ "98", "123", "999", "VALUE:N1b" ], [ "98", "124", "999", "VALUE:N1NOS" ], [ "98", "125", "999", "VALUE:N1NOS" ], [ "98", "128", "999", "ERROR:" ], [ "98", "152", "999", "VALUE:N2a" ], [ "98", "153", "999", "VALUE:N2b" ], [ "98", "155", "999", "VALUE:N2NOS" ], [ "98", "158", "999", "VALUE:N2NOS" ], [ "99", "100,110,115,118", "999", "VALUE:N1NOS" ], [ "99", "121", "999", "ERROR:" ], [ "99", "122", "999", "VALUE:N1a" ], [ "99", "123", "999", "VALUE:N1b" ], [ "99", "124", "999", "VALUE:N1NOS" ], [ "99", "125", "999", "VALUE:N1NOS" ], [ "99", "128", "999", "ERROR:" ], [ "99", "152", "999", "VALUE:N2a" ], [ "99", "153", "999", "VALUE:N2b" ], [ "99", "155", "999", "VALUE:N2NOS" ], [ "99", "158", "999", "VALUE:N2NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc7_xli.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc7_xli.json deleted file mode 100644 index ebc40ee71..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodeand_nodal_status_pathologic_eval_ajcc7_xli.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodeand_nodal_status_pathologic_eval_ajcc7_xli", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Node and Nodal Status Pathologic Eval AJCC7", - "title" : "Lymph Node and Nodal Status Pathologic Eval AJCC 7 Table", - "notes" : "**Note**: When nodes are pathologically evaluated (CS Lymph Nodes Eval = 2,3,6,8), for CS Lymph Nodes codes 010-118, 121-128, 152, 153, 155, and 158 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, and Regional Nodes Positive, as shown in the following table.", - "last_modified" : "2015-05-27T16:19:22.980Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "010", "000-002,005", "ERROR:" ], [ "00", "100,110,115,118", "000-002,005", "ERROR:" ], [ "00", "121", "000-002,005", "ERROR:" ], [ "00", "122", "000-002,005", "ERROR:" ], [ "00", "123", "000-002,005", "ERROR:" ], [ "00", "124", "000-002,005", "ERROR:" ], [ "00", "125", "000-002,005", "ERROR:" ], [ "00", "128", "000-002,005", "ERROR:" ], [ "00", "152", "000-002,005", "ERROR:" ], [ "00", "153", "000-002,005", "ERROR:" ], [ "00", "155", "000-002,005", "ERROR:" ], [ "00", "158", "000-002,005", "ERROR:" ], [ "01", "010", "000-002,005", "ERROR:" ], [ "01", "100,110,115,118", "000-002,005", "ERROR:" ], [ "01", "121", "000-002,005", "ERROR:" ], [ "01", "122", "000-002,005", "ERROR:" ], [ "01", "123", "000-002,005", "ERROR:" ], [ "01", "124", "000-002,005", "ERROR:" ], [ "01", "125", "000-002,005", "ERROR:" ], [ "01", "128", "000-002,005", "ERROR:" ], [ "01", "152", "000-002,005", "ERROR:" ], [ "01", "153", "000-002,005", "ERROR:" ], [ "01", "155", "000-002,005", "ERROR:" ], [ "01", "158", "000-002,005", "ERROR:" ], [ "02-03", "010", "000-002,005", "ERROR:" ], [ "02-03", "100,110,115,118", "000-002,005", "ERROR:" ], [ "02-03", "121", "000-002,005", "ERROR:" ], [ "02-03", "122", "000-002,005", "ERROR:" ], [ "02-03", "123", "000-002,005", "ERROR:" ], [ "02-03", "124", "000-002,005", "ERROR:" ], [ "02-03", "125", "000-002,005", "ERROR:" ], [ "02-03", "128", "000-002,005", "ERROR:" ], [ "02-03", "152", "000-002,005", "ERROR:" ], [ "02-03", "153", "000-002,005", "ERROR:" ], [ "02-03", "155", "000-002,005", "ERROR:" ], [ "02-03", "158", "000-002,005", "ERROR:" ], [ "04-90", "010", "000-002,005", "ERROR:" ], [ "04-90", "100,110,115,118", "000-002,005", "ERROR:" ], [ "04-90", "121", "000-002,005", "ERROR:" ], [ "04-90", "122", "000-002,005", "ERROR:" ], [ "04-90", "123", "000-002,005", "ERROR:" ], [ "04-90", "124", "000-002,005", "ERROR:" ], [ "04-90", "125", "000-002,005", "ERROR:" ], [ "04-90", "128", "000-002,005", "ERROR:" ], [ "04-90", "152", "000-002,005", "ERROR:" ], [ "04-90", "153", "000-002,005", "ERROR:" ], [ "04-90", "155", "000-002,005", "ERROR:" ], [ "04-90", "158", "000-002,005", "ERROR:" ], [ "95", "010", "000-002,005", "ERROR:" ], [ "95", "100,110,115,118", "000-002,005", "ERROR:" ], [ "95", "121", "000-002,005", "ERROR:" ], [ "95", "122", "000-002,005", "ERROR:" ], [ "95", "123", "000-002,005", "ERROR:" ], [ "95", "124", "000-002,005", "ERROR:" ], [ "95", "125", "000-002,005", "ERROR:" ], [ "95", "128", "000-002,005", "ERROR:" ], [ "95", "152", "000-002,005", "ERROR:" ], [ "95", "153", "000-002,005", "ERROR:" ], [ "95", "155", "000-002,005", "ERROR:" ], [ "95", "158", "000-002,005", "ERROR:" ], [ "97", "010", "000-002,005", "ERROR:" ], [ "97", "100,110,115,118", "000-002,005", "ERROR:" ], [ "97", "121", "000-002,005", "ERROR:" ], [ "97", "122", "000-002,005", "ERROR:" ], [ "97", "123", "000-002,005", "ERROR:" ], [ "97", "124", "000-002,005", "ERROR:" ], [ "97", "125", "000-002,005", "ERROR:" ], [ "97", "128", "000-002,005", "ERROR:" ], [ "97", "152", "000-002,005", "ERROR:" ], [ "97", "153", "000-002,005", "ERROR:" ], [ "97", "155", "000-002,005", "ERROR:" ], [ "97", "158", "000-002,005", "ERROR:" ], [ "98", "010", "000-002,005", "ERROR:" ], [ "98", "100,110,115,118", "000-002,005", "ERROR:" ], [ "98", "121", "000-002,005", "ERROR:" ], [ "98", "122", "000-002,005", "ERROR:" ], [ "98", "123", "000-002,005", "ERROR:" ], [ "98", "124", "000-002,005", "ERROR:" ], [ "98", "125", "000-002,005", "ERROR:" ], [ "98", "128", "000-002,005", "ERROR:" ], [ "98", "152", "000-002,005", "ERROR:" ], [ "98", "153", "000-002,005", "ERROR:" ], [ "98", "155", "000-002,005", "ERROR:" ], [ "98", "158", "000-002,005", "ERROR:" ], [ "99", "010", "000-002,005", "ERROR:" ], [ "99", "100,110,115,118", "000-002,005", "ERROR:" ], [ "99", "121", "000-002,005", "ERROR:" ], [ "99", "122", "000-002,005", "ERROR:" ], [ "99", "123", "000-002,005", "ERROR:" ], [ "99", "124", "000-002,005", "ERROR:" ], [ "99", "125", "000-002,005", "ERROR:" ], [ "99", "128", "000-002,005", "ERROR:" ], [ "99", "152", "000-002,005", "ERROR:" ], [ "99", "153", "000-002,005", "ERROR:" ], [ "99", "155", "000-002,005", "ERROR:" ], [ "99", "158", "000-002,005", "ERROR:" ], [ "00", "010", "010", "ERROR:" ], [ "00", "100,110,115,118", "010", "ERROR:" ], [ "00", "121", "010", "ERROR:" ], [ "00", "122", "010", "ERROR:" ], [ "00", "123", "010", "ERROR:" ], [ "00", "124", "010", "ERROR:" ], [ "00", "125", "010", "ERROR:" ], [ "00", "128", "010", "ERROR:" ], [ "00", "152", "010", "ERROR:" ], [ "00", "153", "010", "ERROR:" ], [ "00", "155", "010", "ERROR:" ], [ "00", "158", "010", "ERROR:" ], [ "01", "010", "010", "VALUE:N1a" ], [ "01", "100,110,115,118", "010", "VALUE:N1a" ], [ "01", "121", "010", "ERROR:" ], [ "01", "122", "010", "VALUE:N1a" ], [ "01", "123", "010", "VALUE:N1a" ], [ "01", "124", "010", "VALUE:N1a" ], [ "01", "125", "010", "VALUE:N1a" ], [ "01", "128", "010", "ERROR:" ], [ "01", "152", "010", "VALUE:N1a" ], [ "01", "153", "010", "VALUE:N1a" ], [ "01", "155", "010", "VALUE:N1a" ], [ "01", "158", "010", "VALUE:N1a" ], [ "02-03", "010", "010", "VALUE:N2a" ], [ "02-03", "100,110,115,118", "010", "VALUE:N2a" ], [ "02-03", "121", "010", "ERROR:" ], [ "02-03", "122", "010", "VALUE:N2a" ], [ "02-03", "123", "010", "VALUE:N2a" ], [ "02-03", "124", "010", "VALUE:N2a" ], [ "02-03", "125", "010", "VALUE:N2a" ], [ "02-03", "128", "010", "ERROR:" ], [ "02-03", "152", "010", "VALUE:N2a" ], [ "02-03", "153", "010", "VALUE:N2a" ], [ "02-03", "155", "010", "VALUE:N2a" ], [ "02-03", "158", "010", "VALUE:N2a" ], [ "04-90", "010", "010", "VALUE:N3" ], [ "04-90", "100,110,115,118", "010", "VALUE:N3" ], [ "04-90", "121", "010", "ERROR:" ], [ "04-90", "122", "010", "VALUE:N3" ], [ "04-90", "123", "010", "VALUE:N3" ], [ "04-90", "124", "010", "VALUE:N3" ], [ "04-90", "125", "010", "VALUE:N3" ], [ "04-90", "128", "010", "ERROR:" ], [ "04-90", "152", "010", "VALUE:N3" ], [ "04-90", "153", "010", "VALUE:N3" ], [ "04-90", "155", "010", "VALUE:N3" ], [ "04-90", "158", "010", "VALUE:N3" ], [ "95", "010", "010", "VALUE:N1a" ], [ "95", "100,110,115,118", "010", "VALUE:N1a" ], [ "95", "121", "010", "ERROR:" ], [ "95", "122", "010", "VALUE:N1a" ], [ "95", "123", "010", "VALUE:N1a" ], [ "95", "124", "010", "VALUE:N1a" ], [ "95", "125", "010", "VALUE:N1a" ], [ "95", "128", "010", "ERROR:" ], [ "95", "152", "010", "VALUE:N2a" ], [ "95", "153", "010", "VALUE:N2a" ], [ "95", "155", "010", "VALUE:N2a" ], [ "95", "158", "010", "VALUE:N2a" ], [ "97", "010", "010", "ERROR:" ], [ "97", "100,110,115,118", "010", "VALUE:N1a" ], [ "97", "121", "010", "ERROR:" ], [ "97", "122", "010", "VALUE:N1a" ], [ "97", "123", "010", "VALUE:N1a" ], [ "97", "124", "010", "VALUE:N1a" ], [ "97", "125", "010", "VALUE:N1a" ], [ "97", "128", "010", "ERROR:" ], [ "97", "152", "010", "VALUE:N2a" ], [ "97", "153", "010", "VALUE:N2a" ], [ "97", "155", "010", "VALUE:N2a" ], [ "97", "158", "010", "VALUE:N2a" ], [ "98", "010", "010", "ERROR:" ], [ "98", "100,110,115,118", "010", "ERROR:" ], [ "98", "121", "010", "ERROR:" ], [ "98", "122", "010", "ERROR:" ], [ "98", "123", "010", "ERROR:" ], [ "98", "124", "010", "ERROR:" ], [ "98", "125", "010", "ERROR:" ], [ "98", "128", "010", "ERROR:" ], [ "98", "152", "010", "ERROR:" ], [ "98", "153", "010", "ERROR:" ], [ "98", "155", "010", "ERROR:" ], [ "98", "158", "010", "ERROR:" ], [ "99", "010", "010", "VALUE:N1a" ], [ "99", "100,110,115,118", "010", "VALUE:N1a" ], [ "99", "121", "010", "ERROR:" ], [ "99", "122", "010", "VALUE:N1a" ], [ "99", "123", "010", "VALUE:N1a" ], [ "99", "124", "010", "VALUE:N1a" ], [ "99", "125", "010", "VALUE:N1a" ], [ "99", "128", "010", "ERROR:" ], [ "99", "152", "010", "VALUE:N2a" ], [ "99", "153", "010", "VALUE:N2a" ], [ "99", "155", "010", "VALUE:N2a" ], [ "99", "158", "010", "VALUE:N2a" ], [ "00", "010", "020", "ERROR:" ], [ "00", "100,110,115,118", "020", "VALUE:N1b" ], [ "00", "121", "020", "ERROR:" ], [ "00", "122", "020", "VALUE:N1b" ], [ "00", "123", "020", "VALUE:N1b" ], [ "00", "124", "020", "VALUE:N1b" ], [ "00", "125", "020", "VALUE:N1b" ], [ "00", "128", "020", "ERROR:" ], [ "00", "152", "020", "VALUE:N2b" ], [ "00", "153", "020", "VALUE:N2b" ], [ "00", "155", "020", "VALUE:N2b" ], [ "00", "158", "020", "VALUE:N2b" ], [ "01", "010", "020", "VALUE:N1b" ], [ "01", "100,110,115,118", "020", "VALUE:N1b" ], [ "01", "121", "020", "ERROR:" ], [ "01", "122", "020", "VALUE:N1b" ], [ "01", "123", "020", "VALUE:N1b" ], [ "01", "124", "020", "VALUE:N1b" ], [ "01", "125", "020", "VALUE:N1b" ], [ "01", "128", "020", "ERROR:" ], [ "01", "152", "020", "VALUE:N1b" ], [ "01", "153", "020", "VALUE:N1b" ], [ "01", "155", "020", "VALUE:N1b" ], [ "01", "158", "020", "VALUE:N1b" ], [ "02-03", "010", "020", "VALUE:N2b" ], [ "02-03", "100,110,115,118", "020", "VALUE:N2b" ], [ "02-03", "121", "020", "ERROR:" ], [ "02-03", "122", "020", "VALUE:N2b" ], [ "02-03", "123", "020", "VALUE:N2b" ], [ "02-03", "124", "020", "VALUE:N2b" ], [ "02-03", "125", "020", "VALUE:N2b" ], [ "02-03", "128", "020", "ERROR:" ], [ "02-03", "152", "020", "VALUE:N2b" ], [ "02-03", "153", "020", "VALUE:N2b" ], [ "02-03", "155", "020", "VALUE:N2b" ], [ "02-03", "158", "020", "VALUE:N2b" ], [ "04-90", "010", "020", "VALUE:N3" ], [ "04-90", "100,110,115,118", "020", "VALUE:N3" ], [ "04-90", "121", "020", "ERROR:" ], [ "04-90", "122", "020", "VALUE:N3" ], [ "04-90", "123", "020", "VALUE:N3" ], [ "04-90", "124", "020", "VALUE:N3" ], [ "04-90", "125", "020", "VALUE:N3" ], [ "04-90", "128", "020", "ERROR:" ], [ "04-90", "152", "020", "VALUE:N3" ], [ "04-90", "153", "020", "VALUE:N3" ], [ "04-90", "155", "020", "VALUE:N3" ], [ "04-90", "158", "020", "VALUE:N3" ], [ "95", "010", "020", "VALUE:N1b" ], [ "95", "100,110,115,118", "020", "VALUE:N1b" ], [ "95", "121", "020", "ERROR:" ], [ "95", "122", "020", "VALUE:N1b" ], [ "95", "123", "020", "VALUE:N1b" ], [ "95", "124", "020", "VALUE:N1b" ], [ "95", "125", "020", "VALUE:N1b" ], [ "95", "128", "020", "ERROR:" ], [ "95", "152", "020", "VALUE:N2b" ], [ "95", "153", "020", "VALUE:N2b" ], [ "95", "155", "020", "VALUE:N2b" ], [ "95", "158", "020", "VALUE:N2b" ], [ "97", "010", "020", "ERROR:" ], [ "97", "100,110,115,118", "020", "VALUE:N1b" ], [ "97", "121", "020", "ERROR:" ], [ "97", "122", "020", "VALUE:N1b" ], [ "97", "123", "020", "VALUE:N1b" ], [ "97", "124", "020", "VALUE:N1b" ], [ "97", "125", "020", "VALUE:N1b" ], [ "97", "128", "020", "ERROR:" ], [ "97", "152", "020", "VALUE:N2b" ], [ "97", "153", "020", "VALUE:N2b" ], [ "97", "155", "020", "VALUE:N2b" ], [ "97", "158", "020", "VALUE:N2b" ], [ "98", "010", "020", "ERROR:" ], [ "98", "100,110,115,118", "020", "VALUE:N1b" ], [ "98", "121", "020", "ERROR:" ], [ "98", "122", "020", "VALUE:N1b" ], [ "98", "123", "020", "VALUE:N1b" ], [ "98", "124", "020", "VALUE:N1b" ], [ "98", "125", "020", "VALUE:N1b" ], [ "98", "128", "020", "ERROR:" ], [ "98", "152", "020", "VALUE:N2b" ], [ "98", "153", "020", "VALUE:N2b" ], [ "98", "155", "020", "VALUE:N2b" ], [ "98", "158", "020", "VALUE:N2b" ], [ "99", "010", "020", "VALUE:N1b" ], [ "99", "100,110,115,118", "020", "VALUE:N1b" ], [ "99", "121", "020", "ERROR:" ], [ "99", "122", "020", "VALUE:N1b" ], [ "99", "123", "020", "VALUE:N1b" ], [ "99", "124", "020", "VALUE:N1b" ], [ "99", "125", "020", "VALUE:N1b" ], [ "99", "128", "020", "ERROR:" ], [ "99", "152", "020", "VALUE:N2b" ], [ "99", "153", "020", "VALUE:N2b" ], [ "99", "155", "020", "VALUE:N2b" ], [ "99", "158", "020", "VALUE:N2b" ], [ "00", "010", "043", "ERROR:" ], [ "00", "100,110,115,118", "043", "VALUE:N1b" ], [ "00", "121", "043", "ERROR:" ], [ "00", "122", "043", "VALUE:N1b" ], [ "00", "123", "043", "VALUE:N1b" ], [ "00", "124", "043", "VALUE:N1b" ], [ "00", "125", "043", "VALUE:N1b" ], [ "00", "128", "043", "ERROR:" ], [ "00", "152", "043", "VALUE:N2b" ], [ "00", "153", "043", "VALUE:N2b" ], [ "00", "155", "043", "VALUE:N2b" ], [ "00", "158", "043", "VALUE:N2b" ], [ "01", "010", "043", "VALUE:N1b" ], [ "01", "100,110,115,118", "043", "VALUE:N1b" ], [ "01", "121", "043", "ERROR:" ], [ "01", "122", "043", "VALUE:N1b" ], [ "01", "123", "043", "VALUE:N1b" ], [ "01", "124", "043", "VALUE:N1b" ], [ "01", "125", "043", "VALUE:N1b" ], [ "01", "128", "043", "ERROR:" ], [ "01", "152", "043", "VALUE:N1b" ], [ "01", "153", "043", "VALUE:N1b" ], [ "01", "155", "043", "VALUE:N1b" ], [ "01", "158", "043", "VALUE:N1b" ], [ "02-03", "010", "043", "VALUE:N2b" ], [ "02-03", "100,110,115,118", "043", "VALUE:N2b" ], [ "02-03", "121", "043", "ERROR:" ], [ "02-03", "122", "043", "VALUE:N2b" ], [ "02-03", "123", "043", "VALUE:N2b" ], [ "02-03", "124", "043", "VALUE:N2b" ], [ "02-03", "125", "043", "VALUE:N2b" ], [ "02-03", "128", "043", "ERROR:" ], [ "02-03", "152", "043", "VALUE:N2b" ], [ "02-03", "153", "043", "VALUE:N2b" ], [ "02-03", "155", "043", "VALUE:N2b" ], [ "02-03", "158", "043", "VALUE:N2b" ], [ "04-90", "010", "043", "VALUE:N3" ], [ "04-90", "100,110,115,118", "043", "VALUE:N3" ], [ "04-90", "121", "043", "ERROR:" ], [ "04-90", "122", "043", "VALUE:N3" ], [ "04-90", "123", "043", "VALUE:N3" ], [ "04-90", "124", "043", "VALUE:N3" ], [ "04-90", "125", "043", "VALUE:N3" ], [ "04-90", "128", "043", "ERROR:" ], [ "04-90", "152", "043", "VALUE:N3" ], [ "04-90", "153", "043", "VALUE:N3" ], [ "04-90", "155", "043", "VALUE:N3" ], [ "04-90", "158", "043", "VALUE:N3" ], [ "95", "010", "043", "VALUE:N1b" ], [ "95", "100,110,115,118", "043", "VALUE:N1b" ], [ "95", "121", "043", "ERROR:" ], [ "95", "122", "043", "VALUE:N1b" ], [ "95", "123", "043", "VALUE:N1b" ], [ "95", "124", "043", "VALUE:N1b" ], [ "95", "125", "043", "VALUE:N1b" ], [ "95", "128", "043", "ERROR:" ], [ "95", "152", "043", "VALUE:N2b" ], [ "95", "153", "043", "VALUE:N2b" ], [ "95", "155", "043", "VALUE:N2b" ], [ "95", "158", "043", "VALUE:N2b" ], [ "97", "010", "043", "ERROR:" ], [ "97", "100,110,115,118", "043", "VALUE:N1b" ], [ "97", "121", "043", "ERROR:" ], [ "97", "122", "043", "VALUE:N1b" ], [ "97", "123", "043", "VALUE:N1b" ], [ "97", "124", "043", "VALUE:N1b" ], [ "97", "125", "043", "VALUE:N1b" ], [ "97", "128", "043", "ERROR:" ], [ "97", "152", "043", "VALUE:N2b" ], [ "97", "153", "043", "VALUE:N2b" ], [ "97", "155", "043", "VALUE:N2b" ], [ "97", "158", "043", "VALUE:N2b" ], [ "98", "010", "043", "ERROR:" ], [ "98", "100,110,115,118", "043", "VALUE:N1b" ], [ "98", "121", "043", "ERROR:" ], [ "98", "122", "043", "VALUE:N1b" ], [ "98", "123", "043", "VALUE:N1b" ], [ "98", "124", "043", "VALUE:N1b" ], [ "98", "125", "043", "VALUE:N1b" ], [ "98", "128", "043", "ERROR:" ], [ "98", "152", "043", "VALUE:N2b" ], [ "98", "153", "043", "VALUE:N2b" ], [ "98", "155", "043", "VALUE:N2b" ], [ "98", "158", "043", "VALUE:N2b" ], [ "99", "010", "043", "VALUE:N1b" ], [ "99", "100,110,115,118", "043", "VALUE:N1b" ], [ "99", "121", "043", "ERROR:" ], [ "99", "122", "043", "VALUE:N1b" ], [ "99", "123", "043", "VALUE:N1b" ], [ "99", "124", "043", "VALUE:N1b" ], [ "99", "125", "043", "VALUE:N1b" ], [ "99", "128", "043", "ERROR:" ], [ "99", "152", "043", "VALUE:N2b" ], [ "99", "153", "043", "VALUE:N2b" ], [ "99", "155", "043", "VALUE:N2b" ], [ "99", "158", "043", "VALUE:N2b" ], [ "00", "010", "045", "ERROR:" ], [ "00", "100,110,115,118", "045", "VALUE:N1b" ], [ "00", "121", "045", "ERROR:" ], [ "00", "122", "045", "VALUE:N1b" ], [ "00", "123", "045", "VALUE:N1b" ], [ "00", "124", "045", "VALUE:N1b" ], [ "00", "125", "045", "VALUE:N1b" ], [ "00", "128", "045", "ERROR:" ], [ "00", "152", "045", "VALUE:N2b" ], [ "00", "153", "045", "VALUE:N2b" ], [ "00", "155", "045", "VALUE:N2b" ], [ "00", "158", "045", "VALUE:N2b" ], [ "01", "010", "045", "VALUE:N1b" ], [ "01", "100,110,115,118", "045", "VALUE:N1b" ], [ "01", "121", "045", "ERROR:" ], [ "01", "122", "045", "VALUE:N1b" ], [ "01", "123", "045", "VALUE:N1b" ], [ "01", "124", "045", "VALUE:N1b" ], [ "01", "125", "045", "VALUE:N1b" ], [ "01", "128", "045", "ERROR:" ], [ "01", "152", "045", "VALUE:N1b" ], [ "01", "153", "045", "VALUE:N1b" ], [ "01", "155", "045", "VALUE:N1b" ], [ "01", "158", "045", "VALUE:N1b" ], [ "02-03", "010", "045", "VALUE:N2b" ], [ "02-03", "100,110,115,118", "045", "VALUE:N2b" ], [ "02-03", "121", "045", "ERROR:" ], [ "02-03", "122", "045", "VALUE:N2b" ], [ "02-03", "123", "045", "VALUE:N2b" ], [ "02-03", "124", "045", "VALUE:N2b" ], [ "02-03", "125", "045", "VALUE:N2b" ], [ "02-03", "128", "045", "ERROR:" ], [ "02-03", "152", "045", "VALUE:N2b" ], [ "02-03", "153", "045", "VALUE:N2b" ], [ "02-03", "155", "045", "VALUE:N2b" ], [ "02-03", "158", "045", "VALUE:N2b" ], [ "04-90", "010", "045", "VALUE:N3" ], [ "04-90", "100,110,115,118", "045", "VALUE:N3" ], [ "04-90", "121", "045", "ERROR:" ], [ "04-90", "122", "045", "VALUE:N3" ], [ "04-90", "123", "045", "VALUE:N3" ], [ "04-90", "124", "045", "VALUE:N3" ], [ "04-90", "125", "045", "VALUE:N3" ], [ "04-90", "128", "045", "ERROR:" ], [ "04-90", "152", "045", "VALUE:N3" ], [ "04-90", "153", "045", "VALUE:N3" ], [ "04-90", "155", "045", "VALUE:N3" ], [ "04-90", "158", "045", "VALUE:N3" ], [ "95", "010", "045", "VALUE:N1b" ], [ "95", "100,110,115,118", "045", "VALUE:N1b" ], [ "95", "121", "045", "ERROR:" ], [ "95", "122", "045", "VALUE:N1b" ], [ "95", "123", "045", "VALUE:N1b" ], [ "95", "124", "045", "VALUE:N1b" ], [ "95", "125", "045", "VALUE:N1b" ], [ "95", "128", "045", "ERROR:" ], [ "95", "152", "045", "VALUE:N2b" ], [ "95", "153", "045", "VALUE:N2b" ], [ "95", "155", "045", "VALUE:N2b" ], [ "95", "158", "045", "VALUE:N2b" ], [ "97", "010", "045", "ERROR:" ], [ "97", "100,110,115,118", "045", "VALUE:N2b" ], [ "97", "121", "045", "ERROR:" ], [ "97", "122", "045", "VALUE:N2b" ], [ "97", "123", "045", "VALUE:N2b" ], [ "97", "124", "045", "VALUE:N2b" ], [ "97", "125", "045", "VALUE:N1b" ], [ "97", "128", "045", "ERROR:" ], [ "97", "152", "045", "VALUE:N2b" ], [ "97", "153", "045", "VALUE:N2b" ], [ "97", "155", "045", "VALUE:N2b" ], [ "97", "158", "045", "VALUE:N2b" ], [ "98", "010", "045", "ERROR:" ], [ "98", "100,110,115,118", "045", "VALUE:N1b" ], [ "98", "121", "045", "ERROR:" ], [ "98", "122", "045", "VALUE:N1b" ], [ "98", "123", "045", "VALUE:N1b" ], [ "98", "124", "045", "VALUE:N1b" ], [ "98", "125", "045", "VALUE:N1b" ], [ "98", "128", "045", "ERROR:" ], [ "98", "152", "045", "VALUE:N2b" ], [ "98", "153", "045", "VALUE:N2b" ], [ "98", "155", "045", "VALUE:N2b" ], [ "98", "158", "045", "VALUE:N2b" ], [ "99", "010", "045", "VALUE:N1b" ], [ "99", "100,110,115,118", "045", "VALUE:N2b" ], [ "99", "121", "045", "ERROR:" ], [ "99", "122", "045", "VALUE:N2b" ], [ "99", "123", "045", "VALUE:N2b" ], [ "99", "124", "045", "VALUE:N2b" ], [ "99", "125", "045", "VALUE:N2b" ], [ "99", "128", "045", "ERROR:" ], [ "99", "152", "045", "VALUE:N2b" ], [ "99", "153", "045", "VALUE:N2b" ], [ "99", "155", "045", "VALUE:N2b" ], [ "99", "158", "045", "VALUE:N2b" ], [ "00", "010", "048", "ERROR:" ], [ "00", "100,110,115,118", "048", "VALUE:N1b" ], [ "00", "121", "048", "ERROR:" ], [ "00", "122", "048", "VALUE:N1b" ], [ "00", "123", "048", "VALUE:N1b" ], [ "00", "124", "048", "VALUE:N1b" ], [ "00", "125", "048", "VALUE:N1b" ], [ "00", "128", "048", "ERROR:" ], [ "00", "152", "048", "VALUE:N2b" ], [ "00", "153", "048", "VALUE:N2b" ], [ "00", "155", "048", "VALUE:N2b" ], [ "00", "158", "048", "VALUE:N2b" ], [ "01", "010", "048", "VALUE:N1b" ], [ "01", "100,110,115,118", "048", "VALUE:N1b" ], [ "01", "121", "048", "ERROR:" ], [ "01", "122", "048", "VALUE:N1b" ], [ "01", "123", "048", "VALUE:N1b" ], [ "01", "124", "048", "VALUE:N1b" ], [ "01", "125", "048", "VALUE:N1b" ], [ "01", "128", "048", "ERROR:" ], [ "01", "152", "048", "VALUE:N1b" ], [ "01", "153", "048", "VALUE:N1b" ], [ "01", "155", "048", "VALUE:N1b" ], [ "01", "158", "048", "VALUE:N1b" ], [ "02-03", "010", "048", "VALUE:N2b" ], [ "02-03", "100,110,115,118", "048", "VALUE:N2b" ], [ "02-03", "121", "048", "ERROR:" ], [ "02-03", "122", "048", "VALUE:N2b" ], [ "02-03", "123", "048", "VALUE:N2b" ], [ "02-03", "124", "048", "VALUE:N2b" ], [ "02-03", "125", "048", "VALUE:N2b" ], [ "02-03", "128", "048", "ERROR:" ], [ "02-03", "152", "048", "VALUE:N2b" ], [ "02-03", "153", "048", "VALUE:N2b" ], [ "02-03", "155", "048", "VALUE:N2b" ], [ "02-03", "158", "048", "VALUE:N2b" ], [ "04-90", "010", "048", "VALUE:N3" ], [ "04-90", "100,110,115,118", "048", "VALUE:N3" ], [ "04-90", "121", "048", "ERROR:" ], [ "04-90", "122", "048", "VALUE:N3" ], [ "04-90", "123", "048", "VALUE:N3" ], [ "04-90", "124", "048", "VALUE:N3" ], [ "04-90", "125", "048", "VALUE:N3" ], [ "04-90", "128", "048", "ERROR:" ], [ "04-90", "152", "048", "VALUE:N3" ], [ "04-90", "153", "048", "VALUE:N3" ], [ "04-90", "155", "048", "VALUE:N3" ], [ "04-90", "158", "048", "VALUE:N3" ], [ "95", "010", "048", "VALUE:N1b" ], [ "95", "100,110,115,118", "048", "VALUE:N1b" ], [ "95", "121", "048", "ERROR:" ], [ "95", "122", "048", "VALUE:N1b" ], [ "95", "123", "048", "VALUE:N1b" ], [ "95", "124", "048", "VALUE:N1b" ], [ "95", "125", "048", "VALUE:N1b" ], [ "95", "128", "048", "ERROR:" ], [ "95", "152", "048", "VALUE:N2b" ], [ "95", "153", "048", "VALUE:N2b" ], [ "95", "155", "048", "VALUE:N2b" ], [ "95", "158", "048", "VALUE:N2b" ], [ "97", "010", "048", "ERROR:" ], [ "97", "100,110,115,118", "048", "VALUE:N3" ], [ "97", "121", "048", "ERROR:" ], [ "97", "122", "048", "VALUE:N3" ], [ "97", "123", "048", "VALUE:N3" ], [ "97", "124", "048", "VALUE:N3" ], [ "97", "125", "048", "VALUE:N1b" ], [ "97", "128", "048", "ERROR:" ], [ "97", "152", "048", "VALUE:N2b" ], [ "97", "153", "048", "VALUE:N2b" ], [ "97", "155", "048", "VALUE:N2b" ], [ "97", "158", "048", "VALUE:N2b" ], [ "98", "010", "048", "ERROR:" ], [ "98", "100,110,115,118", "048", "VALUE:N1b" ], [ "98", "121", "048", "ERROR:" ], [ "98", "122", "048", "VALUE:N1b" ], [ "98", "123", "048", "VALUE:N1b" ], [ "98", "124", "048", "VALUE:N1b" ], [ "98", "125", "048", "VALUE:N1b" ], [ "98", "128", "048", "ERROR:" ], [ "98", "152", "048", "VALUE:N2b" ], [ "98", "153", "048", "VALUE:N2b" ], [ "98", "155", "048", "VALUE:N2b" ], [ "98", "158", "048", "VALUE:N2b" ], [ "99", "010", "048", "VALUE:N1b" ], [ "99", "100,110,115,118", "048", "VALUE:N3" ], [ "99", "121", "048", "ERROR:" ], [ "99", "122", "048", "VALUE:N3" ], [ "99", "123", "048", "VALUE:N3" ], [ "99", "124", "048", "VALUE:N3" ], [ "99", "125", "048", "VALUE:N3" ], [ "99", "128", "048", "ERROR:" ], [ "99", "152", "048", "VALUE:N3" ], [ "99", "153", "048", "VALUE:N3" ], [ "99", "155", "048", "VALUE:N3" ], [ "99", "158", "048", "VALUE:N3" ], [ "00", "010", "050", "ERROR:" ], [ "00", "100,110,115,118", "050", "ERROR:" ], [ "00", "121", "050", "ERROR:" ], [ "00", "122", "050", "VALUE:N1b" ], [ "00", "123", "050", "VALUE:N1b" ], [ "00", "124", "050", "VALUE:N1b" ], [ "00", "125", "050", "VALUE:N1b" ], [ "00", "128", "050", "ERROR:" ], [ "00", "152", "050", "VALUE:N2b" ], [ "00", "153", "050", "VALUE:N2b" ], [ "00", "155", "050", "VALUE:N2b" ], [ "00", "158", "050", "VALUE:N2b" ], [ "01", "010", "050", "VALUE:N1b" ], [ "01", "100,110,115,118", "050", "VALUE:N1b" ], [ "01", "121", "050", "ERROR:" ], [ "01", "122", "050", "VALUE:N1b" ], [ "01", "123", "050", "VALUE:N1b" ], [ "01", "124", "050", "VALUE:N1b" ], [ "01", "125", "050", "VALUE:N1b" ], [ "01", "128", "050", "ERROR:" ], [ "01", "152", "050", "VALUE:N1b" ], [ "01", "153", "050", "VALUE:N1b" ], [ "01", "155", "050", "VALUE:N1b" ], [ "01", "158", "050", "VALUE:N1b" ], [ "02-03", "010", "050", "VALUE:N2b" ], [ "02-03", "100,110,115,118", "050", "VALUE:N2b" ], [ "02-03", "121", "050", "ERROR:" ], [ "02-03", "122", "050", "VALUE:N2b" ], [ "02-03", "123", "050", "VALUE:N2b" ], [ "02-03", "124", "050", "ERROR:" ], [ "02-03", "125", "050", "VALUE:N2b" ], [ "02-03", "128", "050", "ERROR:" ], [ "02-03", "152", "050", "VALUE:N2b" ], [ "02-03", "153", "050", "VALUE:N2b" ], [ "02-03", "155", "050", "VALUE:N2b" ], [ "02-03", "158", "050", "VALUE:N2b" ], [ "04-90", "010", "050", "VALUE:N3" ], [ "04-90", "100,110,115,118", "050", "VALUE:N3" ], [ "04-90", "121", "050", "ERROR:" ], [ "04-90", "122", "050", "VALUE:N3" ], [ "04-90", "123", "050", "VALUE:N3" ], [ "04-90", "124", "050", "ERROR:" ], [ "04-90", "125", "050", "VALUE:N3" ], [ "04-90", "128", "050", "ERROR:" ], [ "04-90", "152", "050", "VALUE:N3" ], [ "04-90", "153", "050", "VALUE:N3" ], [ "04-90", "155", "050", "VALUE:N3" ], [ "04-90", "158", "050", "VALUE:N3" ], [ "95", "010", "050", "VALUE:N1b" ], [ "95", "100,110,115,118", "050", "VALUE:N1b" ], [ "95", "121", "050", "ERROR:" ], [ "95", "122", "050", "VALUE:N1b" ], [ "95", "123", "050", "VALUE:N1b" ], [ "95", "124", "050", "VALUE:N1b" ], [ "95", "125", "050", "VALUE:N1b" ], [ "95", "128", "050", "ERROR:" ], [ "95", "152", "050", "VALUE:N2b" ], [ "95", "153", "050", "VALUE:N2b" ], [ "95", "155", "050", "VALUE:N2b" ], [ "95", "158", "050", "VALUE:N2b" ], [ "97", "010", "050", "ERROR:" ], [ "97", "100,110,115,118", "050", "VALUE:N1b" ], [ "97", "121", "050", "ERROR:" ], [ "97", "122", "050", "VALUE:N1b" ], [ "97", "123", "050", "VALUE:N1b" ], [ "97", "124", "050", "VALUE:N1b" ], [ "97", "125", "050", "VALUE:N1b" ], [ "97", "128", "050", "ERROR:" ], [ "97", "152", "050", "VALUE:N2b" ], [ "97", "153", "050", "VALUE:N2b" ], [ "97", "155", "050", "VALUE:N2b" ], [ "97", "158", "050", "VALUE:N2b" ], [ "98", "010", "050", "ERROR:" ], [ "98", "100,110,115,118", "050", "VALUE:N1b" ], [ "98", "121", "050", "ERROR:" ], [ "98", "122", "050", "VALUE:N1b" ], [ "98", "123", "050", "VALUE:N1b" ], [ "98", "124", "050", "ERROR:" ], [ "98", "125", "050", "VALUE:N1b" ], [ "98", "128", "050", "ERROR:" ], [ "98", "152", "050", "VALUE:N2b" ], [ "98", "153", "050", "VALUE:N2b" ], [ "98", "155", "050", "VALUE:N2b" ], [ "98", "158", "050", "VALUE:N2b" ], [ "99", "010", "050", "VALUE:N1b" ], [ "99", "100,110,115,118", "050", "VALUE:N1b" ], [ "99", "121", "050", "ERROR:" ], [ "99", "122", "050", "VALUE:N1b" ], [ "99", "123", "050", "VALUE:N1b" ], [ "99", "124", "050", "VALUE:N1b" ], [ "99", "125", "050", "VALUE:N1b" ], [ "99", "128", "050", "ERROR:" ], [ "99", "152", "050", "VALUE:N2b" ], [ "99", "153", "050", "VALUE:N2b" ], [ "99", "155", "050", "VALUE:N2b" ], [ "99", "158", "050", "VALUE:N2b" ], [ "00", "010", "100", "ERROR:" ], [ "00", "100,110,115,118", "100", "ERROR:" ], [ "00", "121", "100", "ERROR:" ], [ "00", "122", "100", "ERROR:" ], [ "00", "123", "100", "ERROR:" ], [ "00", "124", "100", "ERROR:" ], [ "00", "125", "100", "ERROR:" ], [ "00", "128", "100", "ERROR:" ], [ "00", "152", "100", "ERROR:" ], [ "00", "153", "100", "ERROR:" ], [ "00", "155", "100", "ERROR:" ], [ "00", "158", "100", "ERROR:" ], [ "01", "010", "100", "ERROR:" ], [ "01", "100,110,115,118", "100", "ERROR:" ], [ "01", "121", "100", "ERROR:" ], [ "01", "122", "100", "ERROR:" ], [ "01", "123", "100", "ERROR:" ], [ "01", "124", "100", "ERROR:" ], [ "01", "125", "100", "ERROR:" ], [ "01", "128", "100", "ERROR:" ], [ "01", "152", "100", "ERROR:" ], [ "01", "153", "100", "ERROR:" ], [ "01", "155", "100", "ERROR:" ], [ "01", "158", "100", "ERROR:" ], [ "02-03", "010", "100", "ERROR:" ], [ "02-03", "100,110,115,118", "100", "ERROR:" ], [ "02-03", "121", "100", "ERROR:" ], [ "02-03", "122", "100", "ERROR:" ], [ "02-03", "123", "100", "ERROR:" ], [ "02-03", "124", "100", "ERROR:" ], [ "02-03", "125", "100", "ERROR:" ], [ "02-03", "128", "100", "ERROR:" ], [ "02-03", "152", "100", "ERROR:" ], [ "02-03", "153", "100", "ERROR:" ], [ "02-03", "155", "100", "ERROR:" ], [ "02-03", "158", "100", "ERROR:" ], [ "04-90", "010", "100", "ERROR:" ], [ "04-90", "100,110,115,118", "100", "ERROR:" ], [ "04-90", "121", "100", "ERROR:" ], [ "04-90", "122", "100", "ERROR:" ], [ "04-90", "123", "100", "ERROR:" ], [ "04-90", "124", "100", "ERROR:" ], [ "04-90", "125", "100", "ERROR:" ], [ "04-90", "128", "100", "ERROR:" ], [ "04-90", "152", "100", "ERROR:" ], [ "04-90", "153", "100", "ERROR:" ], [ "04-90", "155", "100", "ERROR:" ], [ "04-90", "158", "100", "ERROR:" ], [ "95", "010", "100", "ERROR:" ], [ "95", "100,110,115,118", "100", "ERROR:" ], [ "95", "121", "100", "ERROR:" ], [ "95", "122", "100", "ERROR:" ], [ "95", "123", "100", "ERROR:" ], [ "95", "124", "100", "ERROR:" ], [ "95", "125", "100", "ERROR:" ], [ "95", "128", "100", "ERROR:" ], [ "95", "152", "100", "ERROR:" ], [ "95", "153", "100", "ERROR:" ], [ "95", "155", "100", "ERROR:" ], [ "95", "158", "100", "ERROR:" ], [ "97", "010", "100", "ERROR:" ], [ "97", "100,110,115,118", "100", "ERROR:" ], [ "97", "121", "100", "ERROR:" ], [ "97", "122", "100", "ERROR:" ], [ "97", "123", "100", "ERROR:" ], [ "97", "124", "100", "ERROR:" ], [ "97", "125", "100", "ERROR:" ], [ "97", "128", "100", "ERROR:" ], [ "97", "152", "100", "ERROR:" ], [ "97", "153", "100", "ERROR:" ], [ "97", "155", "100", "ERROR:" ], [ "97", "158", "100", "ERROR:" ], [ "98", "010", "100", "ERROR:" ], [ "98", "100,110,115,118", "100", "ERROR:" ], [ "98", "121", "100", "ERROR:" ], [ "98", "122", "100", "ERROR:" ], [ "98", "123", "100", "ERROR:" ], [ "98", "124", "100", "ERROR:" ], [ "98", "125", "100", "ERROR:" ], [ "98", "128", "100", "ERROR:" ], [ "98", "152", "100", "ERROR:" ], [ "98", "153", "100", "ERROR:" ], [ "98", "155", "100", "ERROR:" ], [ "98", "158", "100", "ERROR:" ], [ "99", "010", "100", "ERROR:" ], [ "99", "100,110,115,118", "100", "ERROR:" ], [ "99", "121", "100", "ERROR:" ], [ "99", "122", "100", "ERROR:" ], [ "99", "123", "100", "ERROR:" ], [ "99", "124", "100", "ERROR:" ], [ "99", "125", "100", "ERROR:" ], [ "99", "128", "100", "ERROR:" ], [ "99", "152", "100", "ERROR:" ], [ "99", "153", "100", "ERROR:" ], [ "99", "155", "100", "ERROR:" ], [ "99", "158", "100", "ERROR:" ], [ "00", "010", "150", "VALUE:N1b" ], [ "00", "100,110,115,118", "150", "VALUE:N1b" ], [ "00", "121", "150", "ERROR:" ], [ "00", "122", "150", "VALUE:N1b" ], [ "00", "123", "150", "VALUE:N1b" ], [ "00", "124", "150", "VALUE:N1b" ], [ "00", "125", "150", "VALUE:N1b" ], [ "00", "128", "150", "ERROR:" ], [ "00", "152", "150", "VALUE:N2b" ], [ "00", "153", "150", "VALUE:N2b" ], [ "00", "155", "150", "VALUE:N2b" ], [ "00", "158", "150", "VALUE:N2b" ], [ "01", "010", "150", "VALUE:N1b" ], [ "01", "100,110,115,118", "150", "VALUE:N1b" ], [ "01", "121", "150", "ERROR:" ], [ "01", "122", "150", "VALUE:N1b" ], [ "01", "123", "150", "VALUE:N1b" ], [ "01", "124", "150", "VALUE:N1b" ], [ "01", "125", "150", "VALUE:N1b" ], [ "01", "128", "150", "ERROR:" ], [ "01", "152", "150", "VALUE:N2b" ], [ "01", "153", "150", "VALUE:N2b" ], [ "01", "155", "150", "VALUE:N2b" ], [ "01", "158", "150", "VALUE:N2b" ], [ "02-03", "010", "150", "VALUE:N2b" ], [ "02-03", "100,110,115,118", "150", "VALUE:N2b" ], [ "02-03", "121", "150", "ERROR:" ], [ "02-03", "122", "150", "VALUE:N2b" ], [ "02-03", "123", "150", "VALUE:N2b" ], [ "02-03", "124", "150", "VALUE:N2b" ], [ "02-03", "125", "150", "VALUE:N2b" ], [ "02-03", "128", "150", "ERROR:" ], [ "02-03", "152", "150", "VALUE:N2b" ], [ "02-03", "153", "150", "VALUE:N2b" ], [ "02-03", "155", "150", "VALUE:N2b" ], [ "02-03", "158", "150", "VALUE:N2b" ], [ "04-90", "010", "150", "VALUE:N3" ], [ "04-90", "100,110,115,118", "150", "VALUE:N3" ], [ "04-90", "121", "150", "ERROR:" ], [ "04-90", "122", "150", "VALUE:N3" ], [ "04-90", "123", "150", "VALUE:N3" ], [ "04-90", "124", "150", "VALUE:N3" ], [ "04-90", "125", "150", "VALUE:N3" ], [ "04-90", "128", "150", "ERROR:" ], [ "04-90", "152", "150", "VALUE:N3" ], [ "04-90", "153", "150", "VALUE:N3" ], [ "04-90", "155", "150", "VALUE:N3" ], [ "04-90", "158", "150", "VALUE:N3" ], [ "95", "010", "150", "VALUE:N1b" ], [ "95", "100,110,115,118", "150", "VALUE:N1b" ], [ "95", "121", "150", "ERROR:" ], [ "95", "122", "150", "VALUE:N1b" ], [ "95", "123", "150", "VALUE:N1b" ], [ "95", "124", "150", "VALUE:N1b" ], [ "95", "125", "150", "VALUE:N1b" ], [ "95", "128", "150", "ERROR:" ], [ "95", "152", "150", "VALUE:N2b" ], [ "95", "153", "150", "VALUE:N2b" ], [ "95", "155", "150", "VALUE:N2b" ], [ "95", "158", "150", "VALUE:N2b" ], [ "97", "010", "150", "VALUE:N1b" ], [ "97", "100,110,115,118", "150", "VALUE:N1b" ], [ "97", "121", "150", "ERROR:" ], [ "97", "122", "150", "VALUE:N1b" ], [ "97", "123", "150", "VALUE:N1b" ], [ "97", "124", "150", "VALUE:N1b" ], [ "97", "125", "150", "VALUE:N1b" ], [ "97", "128", "150", "ERROR:" ], [ "97", "152", "150", "VALUE:N2b" ], [ "97", "153", "150", "VALUE:N2b" ], [ "97", "155", "150", "VALUE:N2b" ], [ "97", "158", "150", "VALUE:N2b" ], [ "98", "010", "150", "VALUE:N1b" ], [ "98", "100,110,115,118", "150", "VALUE:N1b" ], [ "98", "121", "150", "ERROR:" ], [ "98", "122", "150", "VALUE:N1b" ], [ "98", "123", "150", "VALUE:N1b" ], [ "98", "124", "150", "VALUE:N1b" ], [ "98", "125", "150", "VALUE:N1b" ], [ "98", "128", "150", "ERROR:" ], [ "98", "152", "150", "VALUE:N2b" ], [ "98", "153", "150", "VALUE:N2b" ], [ "98", "155", "150", "VALUE:N2b" ], [ "98", "158", "150", "VALUE:N2b" ], [ "99", "010", "150", "VALUE:N1b" ], [ "99", "100,110,115,118", "150", "VALUE:N1b" ], [ "99", "121", "150", "ERROR:" ], [ "99", "122", "150", "VALUE:N1b" ], [ "99", "123", "150", "VALUE:N1b" ], [ "99", "124", "150", "VALUE:N1b" ], [ "99", "125", "150", "VALUE:N1b" ], [ "99", "128", "150", "ERROR:" ], [ "99", "152", "150", "VALUE:N2b" ], [ "99", "153", "150", "VALUE:N2b" ], [ "99", "155", "150", "VALUE:N2b" ], [ "99", "158", "150", "VALUE:N2b" ], [ "00", "010", "988", "ERROR:" ], [ "00", "100,110,115,118", "988", "ERROR:" ], [ "00", "121", "988", "ERROR:" ], [ "00", "122", "988", "ERROR:" ], [ "00", "123", "988", "ERROR:" ], [ "00", "124", "988", "ERROR:" ], [ "00", "125", "988", "ERROR:" ], [ "00", "128", "988", "ERROR:" ], [ "00", "152", "988", "ERROR:" ], [ "00", "153", "988", "ERROR:" ], [ "00", "155", "988", "ERROR:" ], [ "00", "158", "988", "ERROR:" ], [ "01", "010", "988", "ERROR:" ], [ "01", "100,110,115,118", "988", "ERROR:" ], [ "01", "121", "988", "ERROR:" ], [ "01", "122", "988", "ERROR:" ], [ "01", "123", "988", "ERROR:" ], [ "01", "124", "988", "ERROR:" ], [ "01", "125", "988", "ERROR:" ], [ "01", "128", "988", "ERROR:" ], [ "01", "152", "988", "ERROR:" ], [ "01", "153", "988", "ERROR:" ], [ "01", "155", "988", "ERROR:" ], [ "01", "158", "988", "ERROR:" ], [ "02-03", "010", "988", "ERROR:" ], [ "02-03", "100,110,115,118", "988", "ERROR:" ], [ "02-03", "121", "988", "ERROR:" ], [ "02-03", "122", "988", "ERROR:" ], [ "02-03", "123", "988", "ERROR:" ], [ "02-03", "124", "988", "ERROR:" ], [ "02-03", "125", "988", "ERROR:" ], [ "02-03", "128", "988", "ERROR:" ], [ "02-03", "152", "988", "ERROR:" ], [ "02-03", "153", "988", "ERROR:" ], [ "02-03", "155", "988", "ERROR:" ], [ "02-03", "158", "988", "ERROR:" ], [ "04-90", "010", "988", "ERROR:" ], [ "04-90", "100,110,115,118", "988", "ERROR:" ], [ "04-90", "121", "988", "ERROR:" ], [ "04-90", "122", "988", "ERROR:" ], [ "04-90", "123", "988", "ERROR:" ], [ "04-90", "124", "988", "ERROR:" ], [ "04-90", "125", "988", "ERROR:" ], [ "04-90", "128", "988", "ERROR:" ], [ "04-90", "152", "988", "ERROR:" ], [ "04-90", "153", "988", "ERROR:" ], [ "04-90", "155", "988", "ERROR:" ], [ "04-90", "158", "988", "ERROR:" ], [ "95", "010", "988", "ERROR:" ], [ "95", "100,110,115,118", "988", "ERROR:" ], [ "95", "121", "988", "ERROR:" ], [ "95", "122", "988", "ERROR:" ], [ "95", "123", "988", "ERROR:" ], [ "95", "124", "988", "ERROR:" ], [ "95", "125", "988", "ERROR:" ], [ "95", "128", "988", "ERROR:" ], [ "95", "152", "988", "ERROR:" ], [ "95", "153", "988", "ERROR:" ], [ "95", "155", "988", "ERROR:" ], [ "95", "158", "988", "ERROR:" ], [ "97", "010", "988", "ERROR:" ], [ "97", "100,110,115,118", "988", "ERROR:" ], [ "97", "121", "988", "ERROR:" ], [ "97", "122", "988", "ERROR:" ], [ "97", "123", "988", "ERROR:" ], [ "97", "124", "988", "ERROR:" ], [ "97", "125", "988", "ERROR:" ], [ "97", "128", "988", "ERROR:" ], [ "97", "152", "988", "ERROR:" ], [ "97", "153", "988", "ERROR:" ], [ "97", "155", "988", "ERROR:" ], [ "97", "158", "988", "ERROR:" ], [ "98", "010", "988", "ERROR:" ], [ "98", "100,110,115,118", "988", "ERROR:" ], [ "98", "121", "988", "ERROR:" ], [ "98", "122", "988", "ERROR:" ], [ "98", "123", "988", "ERROR:" ], [ "98", "124", "988", "ERROR:" ], [ "98", "125", "988", "ERROR:" ], [ "98", "128", "988", "ERROR:" ], [ "98", "152", "988", "ERROR:" ], [ "98", "153", "988", "ERROR:" ], [ "98", "155", "988", "ERROR:" ], [ "98", "158", "988", "ERROR:" ], [ "99", "010", "988", "ERROR:" ], [ "99", "100,110,115,118", "988", "ERROR:" ], [ "99", "121", "988", "ERROR:" ], [ "99", "122", "988", "ERROR:" ], [ "99", "123", "988", "ERROR:" ], [ "99", "124", "988", "ERROR:" ], [ "99", "125", "988", "ERROR:" ], [ "99", "128", "988", "ERROR:" ], [ "99", "152", "988", "ERROR:" ], [ "99", "153", "988", "ERROR:" ], [ "99", "155", "988", "ERROR:" ], [ "99", "158", "988", "ERROR:" ], [ "00", "010", "999", "VALUE:N1a" ], [ "00", "100,110,115,118", "999", "VALUE:N1NOS" ], [ "00", "121", "999", "ERROR:" ], [ "00", "122", "999", "VALUE:N1a" ], [ "00", "123", "999", "VALUE:N1b" ], [ "00", "124", "999", "VALUE:N1NOS" ], [ "00", "125", "999", "VALUE:N1NOS" ], [ "00", "128", "999", "ERROR:" ], [ "00", "152", "999", "VALUE:N2a" ], [ "00", "153", "999", "VALUE:N2b" ], [ "00", "155", "999", "VALUE:N2NOS" ], [ "00", "158", "999", "VALUE:N2NOS" ], [ "01", "010", "999", "VALUE:N1a" ], [ "01", "100,110,115,118", "999", "VALUE:N1NOS" ], [ "01", "121", "999", "ERROR:" ], [ "01", "122", "999", "VALUE:N1a" ], [ "01", "123", "999", "VALUE:N1b" ], [ "01", "124", "999", "VALUE:N1NOS" ], [ "01", "125", "999", "VALUE:N1NOS" ], [ "01", "128", "999", "ERROR:" ], [ "01", "152", "999", "VALUE:N2a" ], [ "01", "153", "999", "VALUE:N2b" ], [ "01", "155", "999", "VALUE:N2NOS" ], [ "01", "158", "999", "VALUE:N2NOS" ], [ "02-03", "010", "999", "VALUE:N2a" ], [ "02-03", "100,110,115,118", "999", "VALUE:N2NOS" ], [ "02-03", "121", "999", "ERROR:" ], [ "02-03", "122", "999", "VALUE:N2a" ], [ "02-03", "123", "999", "VALUE:N2b" ], [ "02-03", "124", "999", "VALUE:N2NOS" ], [ "02-03", "125", "999", "VALUE:N2NOS" ], [ "02-03", "128", "999", "ERROR:" ], [ "02-03", "152", "999", "VALUE:N2a" ], [ "02-03", "153", "999", "VALUE:N2b" ], [ "02-03", "155", "999", "VALUE:N2NOS" ], [ "02-03", "158", "999", "VALUE:N2NOS" ], [ "04-90", "010", "999", "VALUE:N3" ], [ "04-90", "100,110,115,118", "999", "VALUE:N3" ], [ "04-90", "121", "999", "ERROR:" ], [ "04-90", "122", "999", "VALUE:N3" ], [ "04-90", "123", "999", "VALUE:N3" ], [ "04-90", "124", "999", "VALUE:N3" ], [ "04-90", "125", "999", "VALUE:N3" ], [ "04-90", "128", "999", "ERROR:" ], [ "04-90", "152", "999", "VALUE:N3" ], [ "04-90", "153", "999", "VALUE:N3" ], [ "04-90", "155", "999", "VALUE:N3" ], [ "04-90", "158", "999", "VALUE:N3" ], [ "95", "010", "999", "VALUE:N1a" ], [ "95", "100,110,115,118", "999", "VALUE:N1NOS" ], [ "95", "121", "999", "ERROR:" ], [ "95", "122", "999", "VALUE:N1a" ], [ "95", "123", "999", "VALUE:N1b" ], [ "95", "124", "999", "VALUE:N1NOS" ], [ "95", "125", "999", "VALUE:N1NOS" ], [ "95", "128", "999", "ERROR:" ], [ "95", "152", "999", "VALUE:N2a" ], [ "95", "153", "999", "VALUE:N2b" ], [ "95", "155", "999", "VALUE:N2NOS" ], [ "95", "158", "999", "VALUE:N2NOS" ], [ "97", "010", "999", "VALUE:N1a" ], [ "97", "100,110,115,118", "999", "VALUE:N1NOS" ], [ "97", "121", "999", "ERROR:" ], [ "97", "122", "999", "VALUE:N1a" ], [ "97", "123", "999", "VALUE:N1b" ], [ "97", "124", "999", "VALUE:N1NOS" ], [ "97", "125", "999", "VALUE:N1NOS" ], [ "97", "128", "999", "ERROR:" ], [ "97", "152", "999", "VALUE:N2a" ], [ "97", "153", "999", "VALUE:N2b" ], [ "97", "155", "999", "VALUE:N2NOS" ], [ "97", "158", "999", "VALUE:N2NOS" ], [ "98", "010", "999", "VALUE:N1a" ], [ "98", "100,110,115,118", "999", "VALUE:N1NOS" ], [ "98", "121", "999", "ERROR:" ], [ "98", "122", "999", "VALUE:N1a" ], [ "98", "123", "999", "VALUE:N1b" ], [ "98", "124", "999", "VALUE:N1NOS" ], [ "98", "125", "999", "VALUE:N1NOS" ], [ "98", "128", "999", "ERROR:" ], [ "98", "152", "999", "VALUE:N2a" ], [ "98", "153", "999", "VALUE:N2b" ], [ "98", "155", "999", "VALUE:N2NOS" ], [ "98", "158", "999", "VALUE:N2NOS" ], [ "99", "010", "999", "VALUE:N1a" ], [ "99", "100,110,115,118", "999", "VALUE:N1NOS" ], [ "99", "121", "999", "ERROR:" ], [ "99", "122", "999", "VALUE:N1a" ], [ "99", "123", "999", "VALUE:N1b" ], [ "99", "124", "999", "VALUE:N1NOS" ], [ "99", "125", "999", "VALUE:N1NOS" ], [ "99", "128", "999", "ERROR:" ], [ "99", "152", "999", "VALUE:N2a" ], [ "99", "153", "999", "VALUE:N2b" ], [ "99", "155", "999", "VALUE:N2NOS" ], [ "99", "158", "999", "VALUE:N2NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdf.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdf.json deleted file mode 100644 index 4a7ee9722..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdf.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Eval Prior to V0205 AJCC7", - "title" : "Lymph Nodes Clinical Eval Prior to V02.05 AJCC 7 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-300 and CS Lymph Nodes Eval is 1 or 9. The N category for AJCC 7 staging is determined based on the number of positive regional nodes in Regional Nodes Positive and the value of CS Site-Specific Factor 2, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.685Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-00", "000", "ERROR:" ], [ "01-03", "000", "ERROR:" ], [ "04-90", "000", "ERROR:" ], [ "95,97", "000", "ERROR:" ], [ "98-99", "000", "ERROR:" ], [ "00-00", "100", "VALUE:N1" ], [ "01-03", "100", "VALUE:N1" ], [ "04-90", "100", "VALUE:N2" ], [ "95,97", "100", "VALUE:N1" ], [ "98-99", "100", "VALUE:N1" ], [ "00-00", "200", "VALUE:N2" ], [ "01-03", "200", "VALUE:N2" ], [ "04-90", "200", "VALUE:N2" ], [ "95,97", "200", "VALUE:N2" ], [ "98-99", "200", "VALUE:N2" ], [ "00-00", "400", "VALUE:N1" ], [ "01-03", "400", "VALUE:N1" ], [ "04-90", "400", "VALUE:N2" ], [ "95,97", "400", "VALUE:N1" ], [ "98-99", "400", "VALUE:N1" ], [ "00-00", "888", "ERROR:" ], [ "01-03", "888", "ERROR:" ], [ "04-90", "888", "ERROR:" ], [ "95,97", "888", "ERROR:" ], [ "98-99", "888", "ERROR:" ], [ "00-00", "988", "ERROR:" ], [ "01-03", "988", "ERROR:" ], [ "04-90", "988", "ERROR:" ], [ "95,97", "988", "ERROR:" ], [ "98-99", "988", "ERROR:" ], [ "00-00", "999", "VALUE:N1" ], [ "01-03", "999", "VALUE:N1" ], [ "04-90", "999", "VALUE:N2" ], [ "95,97", "999", "VALUE:N1" ], [ "98-99", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdh.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdh.json deleted file mode 100644 index abe1ff3ad..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdh.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xdh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Eval Prior to V0205 AJCC7", - "title" : "Lymph Nodes Clinical Eval Prior to V02.05 AJCC 7 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-500 and CS Lymph Nodes Eval is 1 or 9 and CS Coding System Original is before CS v02.05. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive and the value of CS Site-Specific Factor 1, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.736Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF 1", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-00", "000", "ERROR:" ], [ "01-02", "000", "ERROR:" ], [ "03-06", "000", "ERROR:" ], [ "07-15", "000", "ERROR:" ], [ "16-90", "000", "ERROR:" ], [ "95,97", "000", "ERROR:" ], [ "98-99", "000", "ERROR:" ], [ "00-00", "100", "VALUE:N1" ], [ "01-02", "100", "VALUE:N1" ], [ "03-06", "100", "VALUE:N2" ], [ "07-15", "100", "VALUE:N3a" ], [ "16-90", "100", "VALUE:N3b" ], [ "95,97", "100", "VALUE:N1" ], [ "98-99", "100", "VALUE:N1" ], [ "00-00", "200", "VALUE:N2" ], [ "01-02", "200", "VALUE:N2" ], [ "03-06", "200", "VALUE:N2" ], [ "07-15", "200", "VALUE:N3a" ], [ "16-90", "200", "VALUE:N3b" ], [ "95,97", "200", "VALUE:N2" ], [ "98-99", "200", "VALUE:N2" ], [ "00-00", "300", "VALUE:N3NOS" ], [ "01-02", "300", "VALUE:N3NOS" ], [ "03-06", "300", "VALUE:N3NOS" ], [ "07-15", "300", "VALUE:N3a" ], [ "16-90", "300", "VALUE:N3b" ], [ "95,97", "300", "VALUE:N3NOS" ], [ "98-99", "300", "VALUE:N3NOS" ], [ "00-00", "310", "VALUE:N3a" ], [ "01-02", "310", "VALUE:N3a" ], [ "03-06", "310", "VALUE:N3a" ], [ "07-15", "310", "VALUE:N3b" ], [ "16-90", "310", "VALUE:N3b" ], [ "95,97", "310", "VALUE:N3a" ], [ "98-99", "310", "VALUE:N3a" ], [ "00-00", "320", "VALUE:N3b" ], [ "01-02", "320", "VALUE:N3b" ], [ "03-06", "320", "VALUE:N3b" ], [ "07-15", "320", "VALUE:N3a" ], [ "16-90", "320", "VALUE:N3b" ], [ "95,97", "320", "VALUE:N3b" ], [ "98-99", "320", "VALUE:N3b" ], [ "00-00", "400", "VALUE:N1" ], [ "01-02", "400", "VALUE:N1" ], [ "03-06", "400", "VALUE:N2" ], [ "07-15", "400", "VALUE:N3a" ], [ "16-90", "400", "VALUE:N3b" ], [ "95,97", "400", "VALUE:N1" ], [ "98-99", "400", "VALUE:N1" ], [ "00-00", "888", "ERROR:" ], [ "01-02", "888", "ERROR:" ], [ "03-06", "888", "ERROR:" ], [ "07-15", "888", "ERROR:" ], [ "16-90", "888", "ERROR:" ], [ "95,97", "888", "ERROR:" ], [ "98-99", "888", "ERROR:" ], [ "00-00", "988", "ERROR:" ], [ "01-02", "988", "ERROR:" ], [ "03-06", "988", "ERROR:" ], [ "07-15", "988", "ERROR:" ], [ "16-90", "988", "ERROR:" ], [ "95,97", "988", "ERROR:" ], [ "98-99", "988", "ERROR:" ], [ "00-00", "999", "VALUE:N1" ], [ "01-02", "999", "VALUE:N1" ], [ "03-06", "999", "VALUE:N2" ], [ "07-15", "999", "VALUE:N3a" ], [ "16-90", "999", "VALUE:N3b" ], [ "95,97", "999", "VALUE:N1" ], [ "98-99", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xee.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xee.json deleted file mode 100644 index 09101f7e3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xee.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xee", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Eval Prior to V0205 AJCC7", - "title" : "Lymph Nodes Clinical Eval Prior to V02.05 AJCC 7 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-300 and CS Lymph Nodes Eval is 1 or 9 and CS Coding System Original is before CS V02.05. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive and the value of CS Site-Specific Factor 2, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.792Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-03", "000", "ERROR:" ], [ "04-90", "000", "ERROR:" ], [ "95,97-99", "000", "ERROR:" ], [ "00-03", "100", "VALUE:N1" ], [ "04-90", "100", "VALUE:N2" ], [ "95,97-99", "100", "VALUE:N1" ], [ "00-03", "200", "VALUE:N2" ], [ "04-90", "200", "VALUE:N2" ], [ "95,97-99", "200", "VALUE:N2" ], [ "00-03", "400", "VALUE:N1" ], [ "04-90", "400", "VALUE:N2" ], [ "95,97-99", "400", "VALUE:N1" ], [ "00-03", "888", "ERROR:" ], [ "04-90", "888", "ERROR:" ], [ "95,97-99", "888", "ERROR:" ], [ "00-03", "988,999", "VALUE:N1" ], [ "04-90", "988,999", "VALUE:N2" ], [ "95,97-99", "988,999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfq.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfq.json deleted file mode 100644 index 8044f8047..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfq.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Eval Prior to V0205 AJCC7", - "title" : "Lymph Nodes Clinical Eval Prior to V02.05 AJCC 7 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-500 and CS Lymph Nodes Eval is 1 or 9 and CS Coding System Original is before CS v02.05. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive and the value of CS Site-Specific Factor 1, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.840Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF 1", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "000", "ERROR:" ], [ "01-02", "000", "ERROR:" ], [ "03-06", "000", "ERROR:" ], [ "07-90", "000", "ERROR:" ], [ "95,97", "000", "ERROR:" ], [ "98-99", "000", "ERROR:" ], [ "00", "100", "VALUE:N1" ], [ "01-02", "100", "VALUE:N1" ], [ "03-06", "100", "VALUE:N2" ], [ "07-90", "100", "VALUE:N3" ], [ "95,97", "100", "VALUE:N1" ], [ "98-99", "100", "VALUE:N1" ], [ "00", "200", "VALUE:N2" ], [ "01-02", "200", "VALUE:N2" ], [ "03-06", "200", "VALUE:N2" ], [ "07-90", "200", "VALUE:N3" ], [ "95,97", "200", "VALUE:N2" ], [ "98-99", "200", "VALUE:N2" ], [ "00", "300", "VALUE:N3" ], [ "01-02", "300", "VALUE:N3" ], [ "03-06", "300", "VALUE:N2" ], [ "07-90", "300", "VALUE:N3" ], [ "95,97", "300", "VALUE:N3" ], [ "98-99", "300", "VALUE:N3" ], [ "00", "400", "VALUE:N1" ], [ "01-02", "400", "VALUE:N1" ], [ "03-06", "400", "VALUE:N2" ], [ "07-90", "400", "VALUE:N3" ], [ "95,97", "400", "VALUE:N1" ], [ "98-99", "400", "VALUE:N1" ], [ "00", "888", "ERROR:" ], [ "01-02", "888", "ERROR:" ], [ "03-06", "888", "ERROR:" ], [ "07-90", "888", "ERROR:" ], [ "95,97", "888", "ERROR:" ], [ "98-99", "888", "ERROR:" ], [ "00", "988", "ERROR:" ], [ "01-02", "988", "ERROR:" ], [ "03-06", "988", "ERROR:" ], [ "07-90", "988", "ERROR:" ], [ "95,97", "988", "ERROR:" ], [ "98-99", "988", "ERROR:" ], [ "00", "999", "VALUE:N1" ], [ "01-02", "999", "VALUE:N1" ], [ "03-06", "999", "VALUE:N2" ], [ "07-90", "999", "VALUE:N3" ], [ "95,97", "999", "VALUE:N1" ], [ "98-99", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfs.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfs.json deleted file mode 100644 index 2fb0978ba..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfs.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xfs", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Eval Prior to V0205 AJCC7", - "title" : "Lymph Nodes Clinical Eval Prior to V02.05 AJCC 7 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-400, 450, and 500 ONLY and CS Lymph Nodes Eval is 1 or 9 and CS Coding System Original is before CS v02.05. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive and the value of CS Site-Specific Factor 1, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.892Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "SSF 1", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "000", "ERROR:" ], [ "01-02", "000", "ERROR:" ], [ "03-06", "000", "ERROR:" ], [ "07-90", "000", "ERROR:" ], [ "95,97", "000", "ERROR:" ], [ "98-99", "000", "ERROR:" ], [ "00", "100", "VALUE:N1" ], [ "01-02", "100", "VALUE:N1" ], [ "03-06", "100", "VALUE:N2" ], [ "07-90", "100", "VALUE:N3" ], [ "95,97", "100", "VALUE:N1" ], [ "98-99", "100", "VALUE:N1" ], [ "00", "200", "VALUE:N2" ], [ "01-02", "200", "VALUE:N2" ], [ "03-06", "200", "VALUE:N2" ], [ "07-90", "200", "VALUE:N3" ], [ "95,97", "200", "VALUE:N2" ], [ "98-99", "200", "VALUE:N2" ], [ "00", "300", "VALUE:N3" ], [ "01-02", "300", "VALUE:N3" ], [ "03-06", "300", "VALUE:N3" ], [ "07-90", "300", "VALUE:N3" ], [ "95,97", "300", "VALUE:N3" ], [ "98-99", "300", "VALUE:N3" ], [ "00", "400", "VALUE:N1" ], [ "01-02", "400", "VALUE:N1" ], [ "03-06", "400", "VALUE:N2" ], [ "07-90", "400", "VALUE:N3" ], [ "95,97", "400", "VALUE:N1" ], [ "98-99", "400", "VALUE:N1" ], [ "00", "888", "ERROR:" ], [ "01-02", "888", "ERROR:" ], [ "03-06", "888", "ERROR:" ], [ "07-90", "888", "ERROR:" ], [ "95,97", "888", "ERROR:" ], [ "98-99", "888", "ERROR:" ], [ "00", "988", "ERROR:" ], [ "01-02", "988", "ERROR:" ], [ "03-06", "988", "ERROR:" ], [ "07-90", "988", "ERROR:" ], [ "95,97", "988", "ERROR:" ], [ "98-99", "988", "ERROR:" ], [ "00", "999", "VALUE:N1" ], [ "01-02", "999", "VALUE:N1" ], [ "03-06", "999", "VALUE:N2" ], [ "07-90", "999", "VALUE:N3" ], [ "95,97", "999", "VALUE:N1" ], [ "98-99", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xqh.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xqh.json deleted file mode 100644 index cd294e436..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xqh.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_eval_priorto_v0205_ajcc7_xqh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Eval Prior to V0205 AJCC7", - "title" : "Lymph Nodes Clinical Eval Prior to V02.05 AJCC 7 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-300 and CS Lymph Nodes Eval is 1 or 9 and CS Coding System Original is before CS V02.05. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive and the value of CS Site-Specific Factor 2, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.940Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "000", "ERROR:" ], [ "01", "000", "ERROR:" ], [ "02-03", "000", "ERROR:" ], [ "04-06", "000", "ERROR:" ], [ "07-90", "000", "ERROR:" ], [ "95,97-99", "000", "ERROR:" ], [ "00", "010", "VALUE:N1a" ], [ "01", "010", "VALUE:N1a" ], [ "02-03", "010", "VALUE:N1b" ], [ "04-06", "010", "VALUE:N2a" ], [ "07-90", "010", "VALUE:N2b" ], [ "95,97-99", "010", "VALUE:N1a" ], [ "00", "020", "VALUE:N1b" ], [ "01", "020", "VALUE:N1b" ], [ "02-03", "020", "VALUE:N1b" ], [ "04-06", "020", "VALUE:N2a" ], [ "07-90", "020", "VALUE:N2b" ], [ "95,97-99", "020", "VALUE:N1b" ], [ "00", "030", "ERROR:" ], [ "01", "030", "ERROR:" ], [ "02-03", "030", "ERROR:" ], [ "04-06", "030", "ERROR:" ], [ "07-90", "030", "ERROR:" ], [ "95,97-99", "030", "ERROR:" ], [ "00", "100", "VALUE:N1NOS" ], [ "01", "100", "VALUE:N1a" ], [ "02-03", "100", "VALUE:N1b" ], [ "04-06", "100", "VALUE:N2a" ], [ "07-90", "100", "VALUE:N2b" ], [ "95,97-99", "100", "VALUE:N1NOS" ], [ "00", "110", "VALUE:N2a" ], [ "01", "110", "VALUE:N2a" ], [ "02-03", "110", "VALUE:N2a" ], [ "04-06", "110", "VALUE:N2a" ], [ "07-90", "110", "VALUE:N2b " ], [ "95,97-99", "110", "VALUE:N2a " ], [ "00", "120", "VALUE:N2b" ], [ "01", "120", "VALUE:N2b" ], [ "02-03", "120", "VALUE:N2b" ], [ "04-06", "120", "VALUE:N2b" ], [ "07-90", "120", "VALUE:N2b" ], [ "95,97-99", "120", "VALUE:N2b" ], [ "00", "200", "VALUE:N2NOS" ], [ "01", "200", "VALUE:N2NOS" ], [ "02-03", "200", "VALUE:N2NOS" ], [ "04-06", "200", "VALUE:N2a" ], [ "07-90", "200", "VALUE:N2b" ], [ "95,97-99", "200", "VALUE:N2NOS" ], [ "00", "400", "VALUE:N1NOS" ], [ "01", "400", "VALUE:N1a" ], [ "02-03", "400", "VALUE:N1b" ], [ "04-06", "400", "VALUE:N2a" ], [ "07-90", "400", "VALUE:N2b" ], [ "95,97-99", "400", "VALUE:N1NOS" ], [ "00", "888", "ERROR:" ], [ "01", "888", "ERROR:" ], [ "02-03", "888", "ERROR:" ], [ "04-06", "888", "ERROR:" ], [ "07-90", "888", "ERROR:" ], [ "95,97-99", "888", "ERROR:" ], [ "00", "988", "VALUE:N1NOS" ], [ "01", "988", "VALUE:N1a" ], [ "02-03", "988", "VALUE:N1b" ], [ "04-06", "988", "VALUE:N2a" ], [ "07-90", "988", "VALUE:N2b" ], [ "95,97-99", "988", "VALUE:N1NOS" ], [ "00", "999", "VALUE:N1NOS" ], [ "01", "999", "VALUE:N1a" ], [ "02-03", "999", "VALUE:N1b" ], [ "04-06", "999", "VALUE:N2a" ], [ "07-90", "999", "VALUE:N2b" ], [ "95,97-99", "999", "VALUE:N1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaj.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaj.json deleted file mode 100644 index 223a26d9e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaj.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_eval_v0205_ajcc7_xaj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Eval V0205 AJCC7", - "title" : "Lymph Nodes Clinical Eval V02.05 AJCC 7 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-300 and (CS Lymph Nodes Eval = 0, 5 OR (CS Lymph Nodes Eval is 1, 9 and CS Coding System Original at least V02.05)). The N category is determined based on the value of CS Site-Specific Factor 2, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.989Z", - "definition" : [ { - "key" : "ssf2", - "name" : "CS SSF2", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "ERROR:" ], [ "010", "VALUE:N1a" ], [ "020", "VALUE:N1b" ], [ "030", "ERROR:" ], [ "100", "VALUE:N1NOS" ], [ "110", "VALUE:N2a" ], [ "120", "VALUE:N2b" ], [ "200", "VALUE:N2NOS" ], [ "400", "VALUE:N1NOS" ], [ "888", "ERROR:" ], [ "988", "VALUE:N1NOS" ], [ "999", "VALUE:N1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xam.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xam.json deleted file mode 100644 index 6ebf2dbfc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xam.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_eval_v0205_ajcc7_xam", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Eval V0205 AJCC7", - "title" : "Lymph Nodes Clinical Eval V02.05 AJCC 7 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-500 and (CS Lymph Nodes Eval = 0, 5 OR (CS Lymph Nodes Eval is 1,9 and CS Coding System Original at least V02.05)). The N category is determined based on the value of CS Site-Specific Factor 1, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:24.034Z", - "definition" : [ { - "key" : "ssf1", - "name" : "CS SSF1", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "ERROR:" ], [ "100", "VALUE:N1" ], [ "200", "VALUE:N2" ], [ "300", "VALUE:N3NOS" ], [ "310", "VALUE:N3a" ], [ "320", "VALUE:N3b" ], [ "400", "VALUE:N1" ], [ "888", "ERROR:" ], [ "988", "ERROR:" ], [ "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xao.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xao.json deleted file mode 100644 index b2c1dfbfc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xao.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_eval_v0205_ajcc7_xao", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Eval V0205 AJCC7", - "title" : "Lymph Nodes Clinical Eval V02.05 AJCC 7 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-300 and (CS Lymph Nodes Eval = 0, 5 OR (CS Lymph Nodes Eval is 1,9 and CS Coding System Original at least V02.05)). The N category is determined based on the value of CS Site-Specific Factor 2, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:24.078Z", - "definition" : [ { - "key" : "ssf2", - "name" : "CS SSF2", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "ERROR:" ], [ "100", "VALUE:N1" ], [ "200", "VALUE:N2" ], [ "400", "VALUE:N1" ], [ "888", "ERROR:" ], [ "988", "ERROR:" ], [ "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaw.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaw.json deleted file mode 100644 index c676039f1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xaw.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_eval_v0205_ajcc7_xaw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Eval V0205 AJCC7", - "title" : "Lymph Nodes Clinical Eval V02.05 AJCC 7 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-500 and [CS Lymph Nodes Eval = 0, 5 OR (CS Lymph Nodes Eval is 1, 9 and CS Coding System Original at least v02.05)]. The N category is determined based on the value of CS Site-Specific Factor 1, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:24.125Z", - "definition" : [ { - "key" : "ssf1", - "name" : "CS SSF1", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "ERROR:" ], [ "100", "VALUE:N1" ], [ "200", "VALUE:N2" ], [ "300", "VALUE:N3" ], [ "400", "VALUE:N1" ], [ "888", "ERROR:" ], [ "988", "ERROR:" ], [ "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xax.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xax.json deleted file mode 100644 index d32d0f18d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xax.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_eval_v0205_ajcc7_xax", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Eval V0205 AJCC7", - "title" : "Lymph Nodes Clinical Eval V02.05 AJCC 7 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-400, 450, and 500 ONLY and [CS Lymph Nodes Eval = 0,5 OR (CS Lymph Nodes Eval is 1,9 and CS Coding System Original is at least V02.05)]. The N category is determined based on the value of CS Site-Specific Factor 1, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:24.173Z", - "definition" : [ { - "key" : "ssf1", - "name" : "CS SSF 1", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "ERROR:" ], [ "100", "VALUE:N1" ], [ "200", "VALUE:N2" ], [ "300", "VALUE:N3" ], [ "400", "VALUE:N1" ], [ "888", "ERROR:" ], [ "988", "ERROR:" ], [ "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xcd.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xcd.json deleted file mode 100644 index 9c018cfa6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xcd.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_eval_v0205_ajcc7_xcd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Eval V0205 AJCC7", - "title" : "Lymph Nodes Clinical Eval V02.05 AJCC 7 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-300 and (CS Lymph Nodes = 0, 5 OR (CS Lymph Nodes Eval is 1, 9 and CS Coding System Original is at least V02.05)). The N category is determined based on the value of CS Site-Specific Factor 2, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:24.220Z", - "definition" : [ { - "key" : "ssf2", - "name" : "CS SSF2", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "ERROR:" ], [ "100", "VALUE:N1" ], [ "200", "VALUE:N2" ], [ "400", "VALUE:N1" ], [ "888", "ERROR:" ], [ "988", "VALUE:N1" ], [ "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xch.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xch.json deleted file mode 100644 index 141d38488..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_v0205_ajcc7_xch.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_eval_v0205_ajcc7_xch", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Eval V0205 AJCC7", - "title" : "Lymph Nodes Clinical Eval V02.05 AJCC 7 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 110-300 and (CS Lymph Nodes Eval = 0, 5 OR (CS Lymph Nodes Eval is 1,9 and CS Coding System Original at least V02.05)). The N category is determined based on the value of CS Site-Specific Factor 2, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:24.273Z", - "definition" : [ { - "key" : "ssf2", - "name" : "CS SSF2", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "ERROR:" ], [ "010", "VALUE:N1a" ], [ "020", "VALUE:N1b" ], [ "030", "ERROR:" ], [ "100", "VALUE:N1NOS" ], [ "110", "VALUE:N2a" ], [ "120", "VALUE:N2b" ], [ "200", "VALUE:N2NOS" ], [ "400", "VALUE:N1NOS" ], [ "888", "ERROR:" ], [ "988", "VALUE:N1NOS" ], [ "999", "VALUE:N1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_xgt.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_xgt.json deleted file mode 100644 index 1ea11af8b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_eval_xgt.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_eval_xgt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Eval", - "title" : "Lymph Nodes Clinical Eval Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes Eval is coded 0 (c), 1(c), 5 (c), or 9 (c) and CS Lymph Nodes is coded 100-500 ONLY. The N category is assigned based on the value of CS Site-Specific Factor 5, Size of Metastasis in Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:24.318Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf5", - "name" : "CS SSF 5", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000-003", "ERROR:", "ERROR:" ], [ "200", "000-003", "ERROR:", "ERROR:" ], [ "300", "000-003", "ERROR:", "ERROR:" ], [ "350", "000-003", "ERROR:", "ERROR:" ], [ "400", "000-003", "ERROR:", "ERROR:" ], [ "500", "000-003", "ERROR:", "ERROR:" ], [ "100", "010", "VALUE:N1", "VALUE:N1" ], [ "200", "010", "VALUE:N1", "VALUE:N1" ], [ "300", "010", "VALUE:N1", "VALUE:N1" ], [ "350", "010", "VALUE:N1", "VALUE:N1" ], [ "400", "010", "VALUE:N1", "VALUE:N1" ], [ "500", "010", "VALUE:N1", "VALUE:N1" ], [ "100", "020", "VALUE:N2", "VALUE:N2" ], [ "200", "020", "VALUE:N2", "VALUE:N2" ], [ "300", "020", "VALUE:N2", "VALUE:N2" ], [ "350", "020", "VALUE:N2", "VALUE:N2" ], [ "400", "020", "VALUE:N2", "VALUE:N2" ], [ "500", "020", "VALUE:N2", "VALUE:N2" ], [ "100", "030", "VALUE:N3", "VALUE:N3" ], [ "200", "030", "VALUE:N3", "VALUE:N3" ], [ "300", "030", "VALUE:N3", "VALUE:N3" ], [ "350", "030", "VALUE:N3", "VALUE:N3" ], [ "400", "030", "VALUE:N3", "VALUE:N3" ], [ "500", "030", "VALUE:N3", "VALUE:N3" ], [ "100", "988", "ERROR:", "ERROR:" ], [ "200", "988", "ERROR:", "ERROR:" ], [ "300", "988", "ERROR:", "ERROR:" ], [ "350", "988", "ERROR:", "ERROR:" ], [ "400", "988", "ERROR:", "ERROR:" ], [ "500", "988", "ERROR:", "ERROR:" ], [ "100", "998", "ERROR:", "ERROR:" ], [ "200", "998", "ERROR:", "ERROR:" ], [ "300", "998", "ERROR:", "ERROR:" ], [ "350", "998", "ERROR:", "ERROR:" ], [ "400", "998", "ERROR:", "ERROR:" ], [ "500", "998", "ERROR:", "ERROR:" ], [ "100", "999", "VALUE:N1", "VALUE:N1" ], [ "200", "999", "VALUE:N1", "VALUE:N1" ], [ "300", "999", "VALUE:N1", "VALUE:N1" ], [ "350", "999", "VALUE:N1", "VALUE:N1" ], [ "400", "999", "VALUE:N1", "VALUE:N1" ], [ "500", "999", "VALUE:N1", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation0or5_ajcc6_xbg.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation0or5_ajcc6_xbg.json deleted file mode 100644 index 25bb638dd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation0or5_ajcc6_xbg.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_evaluation0or5_ajcc6_xbg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Evaluation 0 or 5 AJCC6", - "title" : "Lymph Nodes Clinical Evaluation 0 or 5 AJCC 6 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-500 and CS Lymph Nodes Eval is 0 or 5. The N category is determined based on the value of CS Site-Specific Factor 1, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.204Z", - "definition" : [ { - "key" : "ssf1", - "name" : "CS SSF 1", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "ERROR:" ], [ "100", "VALUE:N1" ], [ "200", "VALUE:N2" ], [ "300", "VALUE:N3" ], [ "400", "VALUE:N1" ], [ "888", "ERROR:" ], [ "988", "VALUE:N1" ], [ "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation1or9_ajcc6_xbf.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation1or9_ajcc6_xbf.json deleted file mode 100644 index b752cac90..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation1or9_ajcc6_xbf.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_evaluation1or9_ajcc6_xbf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Evaluation 1 or 9 AJCC6", - "title" : "Lymph Nodes Clinical Evaluation 1 or 9 AJCC 6 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-500 and CS Lymph Nodes Eval is 1 or 9. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive and the value of CS Site-Specific Factor 1, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.251Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF 1 000", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "000", "ERROR:" ], [ "01-06", "000", "ERROR:" ], [ "07-15", "000", "ERROR:" ], [ "16-90", "000", "ERROR:" ], [ "95,97", "000", "ERROR:" ], [ "98-99", "000", "ERROR:" ], [ "00", "100", "VALUE:N1" ], [ "01-06", "100", "VALUE:N1" ], [ "07-15", "100", "VALUE:N2" ], [ "16-90", "100", "VALUE:N3" ], [ "95,97", "100", "VALUE:N1" ], [ "98-99", "100", "VALUE:N1" ], [ "00", "200", "VALUE:N2" ], [ "01-06", "200", "VALUE:N2" ], [ "07-15", "200", "VALUE:N2" ], [ "16-90", "200", "VALUE:N3" ], [ "95,97", "200", "VALUE:N2" ], [ "98-99", "200", "VALUE:N2" ], [ "00", "300", "VALUE:N3" ], [ "01-06", "300", "VALUE:N3" ], [ "07-15", "300", "VALUE:N3" ], [ "16-90", "300", "VALUE:N3" ], [ "95,97", "300", "VALUE:N3" ], [ "98-99", "300", "VALUE:N3" ], [ "00", "400", "VALUE:N1" ], [ "01-06", "400", "VALUE:N1" ], [ "07-15", "400", "VALUE:N2" ], [ "16-90", "400", "VALUE:N3" ], [ "95,97", "400", "VALUE:N1" ], [ "98-99", "400", "VALUE:N1" ], [ "00", "888", "ERROR:" ], [ "01-06", "888", "ERROR:" ], [ "07-15", "888", "ERROR:" ], [ "16-90", "888", "ERROR:" ], [ "95,97", "888", "ERROR:" ], [ "98-99", "888", "ERROR:" ], [ "00", "988", "VALUE:N1" ], [ "01-06", "988", "VALUE:N1" ], [ "07-15", "988", "VALUE:N2" ], [ "16-90", "988", "VALUE:N3" ], [ "95,97", "988", "VALUE:N1" ], [ "98-99", "988", "VALUE:N1" ], [ "00", "999", "VALUE:N1" ], [ "01-06", "999", "VALUE:N1" ], [ "07-15", "999", "VALUE:N2" ], [ "16-90", "999", "VALUE:N3" ], [ "95,97", "999", "VALUE:N1" ], [ "98-99", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation6th_xqf.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation6th_xqf.json deleted file mode 100644 index eaab9fb63..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation6th_xqf.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_evaluation6th_xqf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Evaluation 6th", - "title" : "Lymph Nodes Clinical Evaluation 6th Table", - "notes" : "**Note**: When CS Lymph Nodes is 050-300 and CS Regional Nodes Eval is 0, 1, 5, or 9, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 2, Clinical Assessment of Regional Lymph Nodes, and the number of positive nodes coded in Regional Nodes Positive as shown in this table.", - "last_modified" : "2015-05-27T16:19:23.301Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "SSF2", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-03", "000", "VALUE:N1" ], [ "04-90", "000", "VALUE:N2" ], [ "95,97-99", "000", "VALUE:N1" ], [ "00-03", "100", "VALUE:N1" ], [ "04-90", "100", "VALUE:N2" ], [ "95,97-99", "100", "VALUE:N1" ], [ "00-03", "200", "VALUE:N2" ], [ "04-90", "200", "VALUE:N2" ], [ "95,97-99", "200", "VALUE:N2" ], [ "00-03", "400", "VALUE:N1" ], [ "04-90", "400", "VALUE:N2" ], [ "95,97-99", "400", "VALUE:N1" ], [ "00-03", "888", "ERROR:" ], [ "04-90", "888", "ERROR:" ], [ "95,97-99", "888", "ERROR:" ], [ "00-03", "988,999", "VALUE:N1" ], [ "04-90", "988,999", "VALUE:N2" ], [ "95,97-99", "988,999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbe.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbe.json deleted file mode 100644 index fbc736ac9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbe.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_evaluation_ajcc6_xbe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Evaluation AJCC6", - "title" : "Lymph Nodes Clinical Evaluation AJCC 6 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-500 and CS Lymph Nodes Eval is 0, 1, 5 or 9. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive and the value of CS Site-Specific Factor 1, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.346Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF 1", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-00", "000", "ERROR:" ], [ "01-06", "000", "ERROR:" ], [ "07-15", "000", "ERROR:" ], [ "16-90", "000", "ERROR:" ], [ "95,97", "000", "ERROR:" ], [ "98-99", "000", "ERROR:" ], [ "00-00", "100", "VALUE:N1" ], [ "01-06", "100", "VALUE:N1" ], [ "07-15", "100", "VALUE:N2" ], [ "16-90", "100", "VALUE:N3" ], [ "95,97", "100", "VALUE:N1" ], [ "98-99", "100", "VALUE:N1" ], [ "00-00", "200", "VALUE:N2" ], [ "01-06", "200", "VALUE:N2" ], [ "07-15", "200", "VALUE:N2" ], [ "16-90", "200", "VALUE:N3" ], [ "95,97", "200", "VALUE:N2" ], [ "98-99", "200", "VALUE:N2" ], [ "00-00", "300,310,320", "VALUE:N3" ], [ "01-06", "300,310,320", "VALUE:N3" ], [ "07-15", "300,310,320", "VALUE:N3" ], [ "16-90", "300,310,320", "VALUE:N3" ], [ "95,97", "300,310,320", "VALUE:N3" ], [ "98-99", "300,310,320", "VALUE:N3" ], [ "00-00", "400", "VALUE:N1" ], [ "01-06", "400", "VALUE:N1" ], [ "07-15", "400", "VALUE:N2" ], [ "16-90", "400", "VALUE:N3" ], [ "95,97", "400", "VALUE:N1" ], [ "98-99", "400", "VALUE:N1" ], [ "00-00", "888", "ERROR:" ], [ "01-06", "888", "ERROR:" ], [ "07-15", "888", "ERROR:" ], [ "16-90", "888", "ERROR:" ], [ "95,97", "888", "ERROR:" ], [ "98-99", "888", "ERROR:" ], [ "00-00", "988", "VALUE:N1" ], [ "01-06", "988", "VALUE:N1" ], [ "07-15", "988", "VALUE:N2" ], [ "16-90", "988", "VALUE:N3" ], [ "95,97", "988", "VALUE:N1" ], [ "98-99", "988", "VALUE:N1" ], [ "00-00", "999", "VALUE:N1" ], [ "01-06", "999", "VALUE:N1" ], [ "07-15", "999", "VALUE:N2" ], [ "16-90", "999", "VALUE:N3" ], [ "95,97", "999", "VALUE:N1" ], [ "98-99", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbi.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbi.json deleted file mode 100644 index 5f8a4615c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbi.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_evaluation_ajcc6_xbi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Evaluation AJCC6", - "title" : "Lymph Nodes Clinical Evaluation AJCC 6 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-300 and CS Lymph Nodes Eval is 0, 1, 5, or 9. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive and the value of CS Site-Specific Factor 2, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.398Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-03", "000", "ERROR:" ], [ "04-90", "000", "ERROR:" ], [ "95,97-99", "000", "ERROR:" ], [ "00-03", "010", "VALUE:N1" ], [ "04-90", "010", "VALUE:N2" ], [ "95,97-99", "010", "VALUE:N1" ], [ "00-03", "020", "VALUE:N1" ], [ "04-90", "020", "VALUE:N2" ], [ "95,97-99", "020", "VALUE:N1" ], [ "00-03", "030", "ERROR:" ], [ "04-90", "030", "ERROR:" ], [ "95,97-99", "030", "ERROR:" ], [ "00-03", "100", "VALUE:N1" ], [ "04-90", "100", "VALUE:N2" ], [ "95,97-99", "100", "VALUE:N1" ], [ "00-03", "110", "VALUE:N2" ], [ "04-90", "110", "VALUE:N2" ], [ "95,97-99", "110", "VALUE:N2" ], [ "00-03", "120", "VALUE:N2" ], [ "04-90", "120", "VALUE:N2" ], [ "95,97-99", "120", "VALUE:N2" ], [ "00-03", "200", "VALUE:N2" ], [ "04-90", "200", "VALUE:N2" ], [ "95,97-99", "200", "VALUE:N2" ], [ "00-03", "400", "VALUE:N1" ], [ "04-90", "400", "VALUE:N2" ], [ "95,97-99", "400", "VALUE:N1" ], [ "00-03", "888", "ERROR:" ], [ "04-90", "888", "ERROR:" ], [ "95,97-99", "888", "ERROR:" ], [ "00-03", "988", "VALUE:N1" ], [ "04-90", "988", "VALUE:N2" ], [ "95,97-99", "988", "VALUE:N1" ], [ "00-03", "999", "VALUE:N1" ], [ "04-90", "999", "VALUE:N2" ], [ "95,97-99", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbj.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbj.json deleted file mode 100644 index 5dcf76f62..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbj.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_evaluation_ajcc6_xbj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Evaluation AJCC6", - "title" : "Lymph Nodes Clinical Evaluation AJCC 6 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-300 and CS Lymph Nodes Eval is 0, 1, 5, or 9. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive and the value of CS Site-Specific Factor 2, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.444Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-03", "000", "ERROR:" ], [ "04-90", "000", "ERROR:" ], [ "95,97-99", "000", "ERROR:" ], [ "00-03", "010", "VALUE:N1" ], [ "04-90", "010", "VALUE:N2" ], [ "95,97-99", "010", "VALUE:N1" ], [ "00-03", "020", "VALUE:N1" ], [ "04-90", "020", "VALUE:N2" ], [ "95,97-99", "020", "VALUE:N1" ], [ "00-03", "030", "ERROR:" ], [ "04-90", "030", "ERROR:" ], [ "95,97-99", "030", "ERROR:" ], [ "00-03", "100", "VALUE:N1" ], [ "04-90", "100", "VALUE:N2" ], [ "95,97-99", "100", "VALUE:N1" ], [ "00-03", "110", "VALUE:N2" ], [ "04-90", "110", "VALUE:N2" ], [ "95,97-99", "110", "VALUE:N2" ], [ "00-03", "120", "VALUE:N2" ], [ "04-90", "120", "VALUE:N2" ], [ "95,97-99", "120", "VALUE:N2" ], [ "00-03", "200", "VALUE:N2" ], [ "04-90", "200", "VALUE:N2" ], [ "95,97-99", "200", "VALUE:N2" ], [ "00-03", "400", "VALUE:N1" ], [ "04-90", "400", "VALUE:N2" ], [ "95,97-99", "400", "VALUE:N1" ], [ "00-03", "888", "ERROR:" ], [ "04-90", "888", "ERROR:" ], [ "95,97-99", "888", "ERROR:" ], [ "00-03", "988", "VALUE:N1" ], [ "04-90", "988", "VALUE:N2" ], [ "95,97-99", "988", "VALUE:N1" ], [ "00-03", "999", "VALUE:N1" ], [ "04-90", "999", "VALUE:N2" ], [ "95,97-99", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbk.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbk.json deleted file mode 100644 index 91ebf0f9d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xbk.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_evaluation_ajcc6_xbk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Evaluation AJCC6", - "title" : "Lymph Nodes Clinical Evaluation AJCC 6 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-300 and CS Lymph Nodes Eval is 0, 1, 5 or 9. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive and the value of CS Site-Specific Factor 2, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.498Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-03", "000", "ERROR:" ], [ "04-90", "000", "ERROR:" ], [ "95,97-99", "000", "ERROR:" ], [ "00-03", "100", "VALUE:N1" ], [ "04-90", "100", "VALUE:N2" ], [ "95,97-99", "100", "VALUE:N1" ], [ "00-03", "200", "VALUE:N2" ], [ "04-90", "200", "VALUE:N2" ], [ "95,97-99", "200", "VALUE:N2" ], [ "00-03", "400", "VALUE:N1" ], [ "04-90", "400", "VALUE:N2" ], [ "95,97-99", "400", "VALUE:N1" ], [ "00-03", "888", "ERROR:" ], [ "04-90", "888", "ERROR:" ], [ "95,97-99", "888", "ERROR:" ], [ "00-03", "988", "VALUE:N1" ], [ "04-90", "988", "VALUE:N2" ], [ "95,97-99", "988", "VALUE:N1" ], [ "00-03", "999", "VALUE:N1" ], [ "04-90", "999", "VALUE:N2" ], [ "95,97-99", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpo.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpo.json deleted file mode 100644 index 047e20955..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpo.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_evaluation_ajcc6_xpo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Evaluation AJCC6", - "title" : "Lymph Nodes Clinical Evaluation AJCC 6 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-500 and CS Lymph Nodes Eval is 1 or 9. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive and the value of CS Site-Specific Factor 1, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.545Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF 1", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "000", "ERROR:" ], [ "01-06", "000", "ERROR:" ], [ "07-15", "000", "ERROR:" ], [ "16-90", "000", "ERROR:" ], [ "95,97", "000", "ERROR:" ], [ "98-99", "000", "ERROR:" ], [ "00", "100", "VALUE:N1" ], [ "01-06", "100", "VALUE:N1" ], [ "07-15", "100", "VALUE:N2" ], [ "16-90", "100", "VALUE:N3" ], [ "95,97", "100", "VALUE:N1" ], [ "98-99", "100", "VALUE:N1" ], [ "00", "200", "VALUE:N2" ], [ "01-06", "200", "VALUE:N2" ], [ "07-15", "200", "VALUE:N2" ], [ "16-90", "200", "VALUE:N3" ], [ "95,97", "200", "VALUE:N2" ], [ "98-99", "200", "VALUE:N2" ], [ "00", "300", "VALUE:N3" ], [ "01-06", "300", "VALUE:N3" ], [ "07-15", "300", "VALUE:N3" ], [ "16-90", "300", "VALUE:N3" ], [ "95,97", "300", "VALUE:N3" ], [ "98-99", "300", "VALUE:N3" ], [ "00", "400", "VALUE:N1" ], [ "01-06", "400", "VALUE:N1" ], [ "07-15", "400", "VALUE:N2" ], [ "16-90", "400", "VALUE:N3" ], [ "95,97", "400", "VALUE:N1" ], [ "98-99", "400", "VALUE:N1" ], [ "00", "888", "ERROR:" ], [ "01-06", "888", "ERROR:" ], [ "07-15", "888", "ERROR:" ], [ "16-90", "888", "ERROR:" ], [ "95,97", "888", "ERROR:" ], [ "98-99", "888", "ERROR:" ], [ "00", "988", "VALUE:N1" ], [ "01-06", "988", "VALUE:N1" ], [ "07-15", "988", "VALUE:N2" ], [ "16-90", "988", "VALUE:N3" ], [ "95,97", "988", "VALUE:N1" ], [ "98-99", "988", "VALUE:N1" ], [ "00", "999", "VALUE:N1" ], [ "01-06", "999", "VALUE:N1" ], [ "07-15", "999", "VALUE:N2" ], [ "16-90", "999", "VALUE:N3" ], [ "95,97", "999", "VALUE:N1" ], [ "98-99", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpq.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpq.json deleted file mode 100644 index 33a4133ae..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_ajcc6_xpq.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_evaluation_ajcc6_xpq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Evaluation AJCC6", - "title" : "Lymph Nodes Clinical Evaluation AJCC 6 Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-300 and CS Lymph Nodes Eval is 0, 1, 5, or 9. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive and the value of CS Site-Specific Factor 2, Clinical Assessment of Regional Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.593Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-03", "000", "VALUE:N1" ], [ "04-90", "000", "VALUE:N2" ], [ "95,97-99", "000", "VALUE:N1" ], [ "00-03", "100", "VALUE:N1" ], [ "04-90", "100", "VALUE:N2" ], [ "95,97-99", "100", "VALUE:N1" ], [ "00-03", "200", "VALUE:N2" ], [ "04-90", "200", "VALUE:N2" ], [ "95,97-99", "200", "VALUE:N2" ], [ "00-03", "400", "VALUE:N1" ], [ "04-90", "400", "VALUE:N2" ], [ "95,97-99", "400", "VALUE:N1" ], [ "00-03", "888", "ERROR:" ], [ "04-90", "888", "ERROR:" ], [ "95,97-99", "888", "ERROR:" ], [ "00-03", "988", "VALUE:N1" ], [ "04-90", "988", "VALUE:N2" ], [ "95,97-99", "988", "VALUE:N1" ], [ "00-03", "999", "VALUE:N1" ], [ "04-90", "999", "VALUE:N2" ], [ "95,97-99", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_xcx.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_xcx.json deleted file mode 100644 index f7c9f4da6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_clinical_evaluation_xcx.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodes_clinical_evaluation_xcx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Clinical Evaluation", - "title" : "Lymph Nodes Clinical Evaluation Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes Eval is coded 0 (c), 1 (c), 5 (c), or 9 (c) and CS Lymph Nodes is coded 250, 258, 260, 280, 500, 510, 520, 600, 610, 620, 630, 720, or 748 ONLY. The N category is assigned based on the value of CS Lymph Nodes and the value of CS Site-Specific Factor 3, Number of Positive Ipsilateral Axillary Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:23.639Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "250", "000-090,095,097-099", "ERROR:", "ERROR:" ], [ "258", "000-090,095,097-099", "ERROR:", "ERROR:" ], [ "260", "000-090,095,097-099", "VALUE:N1", "VALUE:N1" ], [ "280", "000-090,095,097-099", "ERROR:", "VALUE:N2NOS" ], [ "500", "000-090,095,097-099", "ERROR:", "VALUE:N2a" ], [ "510", "000-090,095,097-099", "VALUE:N2a", "VALUE:N2a" ], [ "520", "000-090,095,097-099", "ERROR:", "ERROR:" ], [ "600", "000-090,095,097-099", "VALUE:N1", "VALUE:N1" ], [ "610", "000-090,095,097-099", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "620", "000-090,095,097-099", "ERROR:", "ERROR:" ], [ "630", "000-090,095,097-099", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "720", "000-090,095,097-099", "ERROR:", "ERROR:" ], [ "748", "000-090,095,097-099", "VALUE:N2b", "VALUE:N2b" ], [ "250", "988", "ERROR:", "ERROR:" ], [ "258", "988", "ERROR:", "ERROR:" ], [ "260", "988", "ERROR:", "ERROR:" ], [ "280", "988", "ERROR:", "ERROR:" ], [ "500", "988", "ERROR:", "ERROR:" ], [ "510", "988", "ERROR:", "ERROR:" ], [ "520", "988", "ERROR:", "ERROR:" ], [ "600", "988", "ERROR:", "ERROR:" ], [ "610", "988", "ERROR:", "ERROR:" ], [ "620", "988", "ERROR:", "ERROR:" ], [ "630", "988", "ERROR:", "ERROR:" ], [ "720", "988", "ERROR:", "ERROR:" ], [ "748", "988", "ERROR:", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xew.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xew.json deleted file mode 100644 index 7094efb2f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xew.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_metsat_dxajcc6_xew", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Mets at DX AJCC6", - "title" : "Lymph Nodes Mets at DX AJCC 6 Table", - "notes" : "**Note**: For CS Mets at DX codes 00 and 99, the M category for AJCC 6 staging is assigned as shown in this table.", - "last_modified" : "2015-05-27T16:19:24.367Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000,100", "00", "VALUE:M0" ], [ "200,300", "00", "VALUE:M1" ], [ "350,800,805,999", "00", "VALUE:M0" ], [ "000,100", "99", "VALUE:MX" ], [ "200,300", "99", "VALUE:M1" ], [ "350,800,805,999", "99", "VALUE:MX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_m.json deleted file mode 100644 index 4cd0d98cb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_m.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "lymph_nodes_metsat_dxajcc6_xfh_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Mets at DX AJCC6 - returning M", - "title" : "Lymph Nodes Mets at DX AJCC 6 Table - returning M", - "notes" : "**Note 1**: For CS Lymph Nodes codes 200 and 250 ONLY, the N and M categories for AJCC 6 staging and the 'c' and 'p' descriptors for N and M are assigned based on the values in CS Lymph Nodes, CS Nodes Eval, CS Mets at DX, and CS Mets Eval as shown in this table.\n\n**Note 2**: Not all users of Collaborative Stage collect the evaluation fields. Each empty cell in the table represents a \"blank\" or invalid code in the respective CS Nodes Eval or CS Mets Eval field.\n\n**Note 3**: If CS Nodes Eval and/or CS Mets Eval is \"blank\" or invalid (empty cell in the table), the N and M categories where CS Lymph Nodes = 200 or 250 are derived as if CS Nodes Eval and/or CS Mets Eval were coded as unknown or \"9\". No values are derived for the CS Lymph Nodes Eval and CS Mets Eval fields if both are \"blank\" or invalid; ERROR is derived for both CS Lymph Nodes Eval and CS Mets Eval if one is completed with a valid code and the other is invalid or empty.", - "last_modified" : "2015-05-27T16:19:24.419Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "nodes_eval", - "name" : "CS Nodes Eval", - "type" : "INPUT" - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_mdescriptor", - "name" : "M Staging Basis", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "M Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "200", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "10", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", "0,1,2,3,5,6,8,9", "10", "ERROR:", "ERROR:" ], [ "200", "0,1,2,3,5,6,8,9", ", 4, 7", "10", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", ", 4, 7", "10", "ERROR:", "ERROR:" ], [ "200", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "40", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", "0,1,2,3,5,6,8,9", "40", "ERROR:", "ERROR:" ], [ "200", "0,1,2,3,5,6,8,9", ", 4, 7", "40", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", ", 4, 7", "40", "ERROR:", "ERROR:" ], [ "200", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "50", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", "0,1,2,3,5,6,8,9", "50", "ERROR:", "ERROR:" ], [ "200", "0,1,2,3,5,6,8,9", ", 4, 7", "50", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", ", 4, 7", "50", "ERROR:", "ERROR:" ], [ "200", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "55", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", "0,1,2,3,5,6,8,9", "55", "ERROR:", "ERROR:" ], [ "200", "0,1,2,3,5,6,8,9", ", 4, 7", "55", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", ", 4, 7", "55", "ERROR:", "ERROR:" ], [ "200", "0,1,5,9", "0,1,2,3,5,6,8,9", "00", "VALUE:c", "VALUE:M1" ], [ "200", ", 4, 7", "0,1,2,3,5,6,8,9", "00", "ERROR:", "VALUE:M1" ], [ "200", "0,1,5,9", ", 4, 7", "00", "ERROR:", "VALUE:M1" ], [ "200", "2,3,6,8", "0,1,2,3,5,6,8,9", "00", "VALUE:p", "VALUE:M1b" ], [ "200", "2,3,6,8", ", 4, 7", "00", "ERROR:", "VALUE:M1b" ], [ "200", ", 4, 7", ", 4, 7", "00", "ERROR:", "VALUE:M1" ], [ "200", "0,1,5,9", "0,1,5,9", "20,30,35", "VALUE:c", "VALUE:M1" ], [ "200", ", 4, 7", "0,1,5,9", "20,30,35", "ERROR:", "VALUE:M1" ], [ "200", "0,1,5,9", ", 4, 7", "20,30,35", "ERROR:", "VALUE:M1" ], [ "200", "0,1,5,9", "2,3,6,8", "20,30,35", "VALUE:p", "VALUE:M1b" ], [ "200", ", 4, 7", "2,3,6,8", "20,30,35", "ERROR:", "VALUE:M1b" ], [ "200", "2,3,6,8", "0,1,5,9", "20,30,35", "VALUE:p", "VALUE:M1b" ], [ "200", "2,3,6,8", ", 4, 7", "20,30,35", "ERROR:", "VALUE:M1b" ], [ "200", "2,3,6,8", "2,3,6,8", "20,30,35", "VALUE:p", "VALUE:M1b" ], [ "200", ", 4, 7", ", 4, 7", "20,30,35", "ERROR:", "VALUE:M1" ], [ "200", "0,1,5,9", "0,1,5,9", "45", "VALUE:c", "VALUE:M1" ], [ "200", ", 4, 7", "0,1,5,9", "45", "ERROR:", "VALUE:M1" ], [ "200", "0,1,5,9", ", 4, 7", "45", "ERROR:", "VALUE:M1" ], [ "200", "0,1,5,9", "2,3,6,8", "45", "VALUE:p", "VALUE:M1b" ], [ "200", ", 4, 7", "2,3,6,8", "45", "ERROR:", "VALUE:M1b" ], [ "200", "2,3,6,8", "0,1,5,9", "45", "VALUE:p", "VALUE:M1b" ], [ "200", "2,3,6,8", ", 4, 7", "45", "ERROR:", "VALUE:M1b" ], [ "200", "2,3,6,8", "2,3,6,8", "45", "VALUE:p", "VALUE:M1b" ], [ "200", ", 4, 7", ", 4, 7", "45", "ERROR:", "VALUE:M1" ], [ "200", "0,1,5,9", "0,1,5,9", "60,65,70,75,80", "VALUE:c", "VALUE:M1" ], [ "200", ", 4, 7", "0,1,5,9", "60,65,70,75,80", "ERROR:", "VALUE:M1" ], [ "200", "0,1,5,9", ", 4, 7", "60,65,70,75,80", "ERROR:", "VALUE:M1" ], [ "200", "0,1,5,9", "2,3,6,8", "60,65,70,75,80", "VALUE:p", "VALUE:M1b" ], [ "200", ", 4, 7", "2,3,6,8", "60,65,70,75,80", "ERROR:", "VALUE:M1b" ], [ "200", "2,3,6,8", "0,1,5,9", "60,65,70,75,80", "VALUE:p", "VALUE:M1b" ], [ "200", "2,3,6,8", ", 4, 7", "60,65,70,75,80", "ERROR:", "VALUE:M1b" ], [ "200", "2,3,6,8", "2,3,6,8", "60,65,70,75,80", "VALUE:p", "VALUE:M1b" ], [ "200", ", 4, 7", ", 4, 7", "60,65,70,75,80", "ERROR:", "VALUE:M1" ], [ "200", "0,1,5,9", "0,1,2,3,5,6,8,9", "99", "VALUE:c", "VALUE:M1" ], [ "200", ", 4, 7", "0,1,2,3,5,6,8,9", "99", "ERROR:", "VALUE:M1" ], [ "200", "0,1,5,9", ", 4, 7", "99", "ERROR:", "VALUE:M1" ], [ "200", "2,3,6,8", "0,1,2,3,5,6,8,9", "99", "VALUE:p", "VALUE:M1b" ], [ "200", "2,3,6,8", ", 4, 7", "99", "ERROR:", "VALUE:M1b" ], [ "200", ", 4, 7", ", 4, 7", "99", "ERROR:", "VALUE:M1" ], [ "250", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "10", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", "0,1,2,3,5,6,8,9", "10", "ERROR:", "ERROR:" ], [ "250", "0,1,2,3,5,6,8,9", ", 4, 7", "10", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", ", 4, 7", "10", "ERROR:", "ERROR:" ], [ "250", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "40", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", "0,1,2,3,5,6,8,9", "40", "ERROR:", "ERROR:" ], [ "250", "0,1,2,3,5,6,8,9", ", 4, 7", "40", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", ", 4, 7", "40", "ERROR:", "ERROR:" ], [ "250", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "50", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", "0,1,2,3,5,6,8,9", "50", "ERROR:", "ERROR:" ], [ "250", "0,1,2,3,5,6,8,9", ", 4, 7", "50", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", ", 4, 7", "50", "ERROR:", "ERROR:" ], [ "250", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "55", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", "0,1,2,3,5,6,8,9", "55", "ERROR:", "ERROR:" ], [ "250", "0,1,2,3,5,6,8,9", ", 4, 7", "55", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", ", 4, 7", "55", "ERROR:", "ERROR:" ], [ "250", "0,1,5,9", "0,1,2,3,5,6,8,9", "00", "VALUE:c", "VALUE:M1" ], [ "250", ", 4, 7", "0,1,2,3,5,6,8,9", "00", "ERROR:", "VALUE:M1" ], [ "250", "0,1,5,9", ", 4, 7", "00", "ERROR:", "VALUE:M1" ], [ "250", "2,3,6,8", "0,1,2,3,5,6,8,9", "00", "VALUE:p", "VALUE:M1b" ], [ "250", "2,3,6,8", ", 4, 7", "00", "ERROR:", "VALUE:M1b" ], [ "250", ", 4, 7", ", 4, 7", "00", "ERROR:", "VALUE:M1" ], [ "250", "0,1,5,9", "0,1,5,9", "20,30,35", "VALUE:c", "VALUE:M1" ], [ "250", ", 4, 7", "0,1,5,9", "20,30,35", "ERROR:", "VALUE:M1" ], [ "250", "0,1,5,9", ", 4, 7", "20,30,35", "ERROR:", "VALUE:M1" ], [ "250", "0,1,5,9", "2,3,6,8", "20,30,35", "VALUE:p", "VALUE:M1b" ], [ "250", ", 4, 7", "2,3,6,8", "20,30,35", "ERROR:", "VALUE:M1b" ], [ "250", "2,3,6,8", "0,1,5,9", "20,30,35", "VALUE:p", "VALUE:M1b" ], [ "250", "2,3,6,8", ", 4, 7", "20,30,35", "ERROR:", "VALUE:M1b" ], [ "250", "2,3,6,8", "2,3,6,8", "20,30,35", "VALUE:p", "VALUE:M1b" ], [ "250", ", 4, 7", ", 4, 7", "20,30,35", "ERROR:", "VALUE:M1" ], [ "250", "0,1,5,9", "0,1,5,9", "45", "VALUE:c", "VALUE:M1" ], [ "250", ", 4, 7", "0,1,5,9", "45", "ERROR:", "VALUE:M1" ], [ "250", "0,1,5,9", ", 4, 7", "45", "ERROR:", "VALUE:M1" ], [ "250", "0,1,5,9", "2,3,6,8", "45", "VALUE:p", "VALUE:M1b" ], [ "250", ", 4, 7", "2,3,6,8", "45", "ERROR:", "VALUE:M1b" ], [ "250", "2,3,6,8", "0,1,5,9", "45", "VALUE:p", "VALUE:M1b" ], [ "250", "2,3,6,8", ", 4, 7", "45", "ERROR:", "VALUE:M1b" ], [ "250", "2,3,6,8", "2,3,6,8", "45", "VALUE:p", "VALUE:M1b" ], [ "250", ", 4, 7", ", 4, 7", "45", "ERROR:", "VALUE:M1" ], [ "250", "0,1,5,9", "0,1,5,9", "60,65,70,75,80", "VALUE:c", "VALUE:M1" ], [ "250", ", 4, 7", "0,1,5,9", "60,65,70,75,80", "ERROR:", "VALUE:M1" ], [ "250", "0,1,5,9", ", 4, 7", "60,65,70,75,80", "ERROR:", "VALUE:M1" ], [ "250", "0,1,5,9", "2,3,6,8", "60,65,70,75,80", "VALUE:p", "VALUE:M1b" ], [ "250", ", 4, 7", "2,3,6,8", "60,65,70,75,80", "ERROR:", "VALUE:M1b" ], [ "250", "2,3,6,8", "0,1,5,9", "60,65,70,75,80", "VALUE:p", "VALUE:M1b" ], [ "250", "2,3,6,8", ", 4, 7", "60,65,70,75,80", "ERROR:", "VALUE:M1b" ], [ "250", "2,3,6,8", "2,3,6,8", "60,65,70,75,80", "VALUE:p", "VALUE:M1b" ], [ "250", ", 4, 7", ", 4, 7", "60,65,70,75,80", "ERROR:", "VALUE:M1" ], [ "250", "0,1,5,9", "0,1,2,3,5,6,8,9", "99", "VALUE:c", "VALUE:M1" ], [ "250", ", 4, 7", "0,1,2,3,5,6,8,9", "99", "ERROR:", "VALUE:M1" ], [ "250", "0,1,5,9", ", 4, 7", "99", "ERROR:", "VALUE:M1" ], [ "250", "2,3,6,8", "0,1,2,3,5,6,8,9", "99", "VALUE:p", "VALUE:M1b" ], [ "250", "2,3,6,8", ", 4, 7", "99", "ERROR:", "VALUE:M1b" ], [ "250", ", 4, 7", ", 4, 7", "99", "ERROR:", "VALUE:M1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_n.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_n.json deleted file mode 100644 index 3d8bf84ca..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfh_n.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "lymph_nodes_metsat_dxajcc6_xfh_n", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Mets at DX AJCC6 - returning N", - "title" : "Lymph Nodes Mets at DX AJCC 6 Table - returning N", - "notes" : "**Note 1**: For CS Lymph Nodes codes 200 and 250 ONLY, the N and M categories for AJCC 6 staging and the 'c' and 'p' descriptors for N and M are assigned based on the values in CS Lymph Nodes, CS Nodes Eval, CS Mets at DX, and CS Mets Eval as shown in this table.\n\n**Note 2**: Not all users of Collaborative Stage collect the evaluation fields. Each empty cell in the table represents a \"blank\" or invalid code in the respective CS Nodes Eval or CS Mets Eval field.\n\n**Note 3**: If CS Nodes Eval and/or CS Mets Eval is \"blank\" or invalid (empty cell in the table), the N and M categories where CS Lymph Nodes = 200 or 250 are derived as if CS Nodes Eval and/or CS Mets Eval were coded as unknown or \"9\". No values are derived for the CS Lymph Nodes Eval and CS Mets Eval fields if both are \"blank\" or invalid; ERROR is derived for both CS Lymph Nodes Eval and CS Mets Eval if one is completed with a valid code and the other is invalid or empty.", - "last_modified" : "2015-05-27T16:19:24.498Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "nodes_eval", - "name" : "CS Nodes Eval", - "type" : "INPUT" - }, { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "N Staging Basis", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "N Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "200", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "10", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", "0,1,2,3,5,6,8,9", "10", "ERROR:", "ERROR:" ], [ "200", "0,1,2,3,5,6,8,9", ", 4, 7", "10", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", ", 4, 7", "10", "ERROR:", "ERROR:" ], [ "200", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "40", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", "0,1,2,3,5,6,8,9", "40", "ERROR:", "ERROR:" ], [ "200", "0,1,2,3,5,6,8,9", ", 4, 7", "40", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", ", 4, 7", "40", "ERROR:", "ERROR:" ], [ "200", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "50", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", "0,1,2,3,5,6,8,9", "50", "ERROR:", "ERROR:" ], [ "200", "0,1,2,3,5,6,8,9", ", 4, 7", "50", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", ", 4, 7", "50", "ERROR:", "ERROR:" ], [ "200", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "55", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", "0,1,2,3,5,6,8,9", "55", "ERROR:", "ERROR:" ], [ "200", "0,1,2,3,5,6,8,9", ", 4, 7", "55", "ERROR:", "ERROR:" ], [ "200", ", 4, 7", ", 4, 7", "55", "ERROR:", "ERROR:" ], [ "200", "0,1,5,9", "0,1,2,3,5,6,8,9", "00", "VALUE:c", "VALUE:N0" ], [ "200", ", 4, 7", "0,1,2,3,5,6,8,9", "00", "ERROR:", "VALUE:N0" ], [ "200", "0,1,5,9", ", 4, 7", "00", "ERROR:", "VALUE:N0" ], [ "200", "2,3,6,8", "0,1,2,3,5,6,8,9", "00", "VALUE:c", "VALUE:N0" ], [ "200", "2,3,6,8", ", 4, 7", "00", "ERROR:", "VALUE:N0" ], [ "200", ", 4, 7", ", 4, 7", "00", "ERROR:", "VALUE:N0" ], [ "200", "0,1,5,9", "0,1,5,9", "20,30,35", "VALUE:c", "VALUE:N0" ], [ "200", ", 4, 7", "0,1,5,9", "20,30,35", "ERROR:", "VALUE:N0" ], [ "200", "0,1,5,9", ", 4, 7", "20,30,35", "ERROR:", "VALUE:N0" ], [ "200", "0,1,5,9", "2,3,6,8", "20,30,35", "VALUE:c", "VALUE:N0" ], [ "200", ", 4, 7", "2,3,6,8", "20,30,35", "ERROR:", "VALUE:N0" ], [ "200", "2,3,6,8", "0,1,5,9", "20,30,35", "VALUE:c", "VALUE:N0" ], [ "200", "2,3,6,8", ", 4, 7", "20,30,35", "ERROR:", "VALUE:N0" ], [ "200", "2,3,6,8", "2,3,6,8", "20,30,35", "VALUE:c", "VALUE:N0" ], [ "200", ", 4, 7", ", 4, 7", "20,30,35", "ERROR:", "VALUE:N0" ], [ "200", "0,1,5,9", "0,1,5,9", "45", "VALUE:c", "VALUE:N0" ], [ "200", ", 4, 7", "0,1,5,9", "45", "ERROR:", "VALUE:N0" ], [ "200", "0,1,5,9", ", 4, 7", "45", "ERROR:", "VALUE:N0" ], [ "200", "0,1,5,9", "2,3,6,8", "45", "VALUE:c", "VALUE:N0" ], [ "200", ", 4, 7", "2,3,6,8", "45", "ERROR:", "VALUE:N0" ], [ "200", "2,3,6,8", "0,1,5,9", "45", "VALUE:c", "VALUE:N0" ], [ "200", "2,3,6,8", ", 4, 7", "45", "ERROR:", "VALUE:N0" ], [ "200", "2,3,6,8", "2,3,6,8", "45", "VALUE:c", "VALUE:N0" ], [ "200", ", 4, 7", ", 4, 7", "45", "ERROR:", "VALUE:N0" ], [ "200", "0,1,5,9", "0,1,5,9", "60,65,70,75,80", "VALUE:c", "VALUE:N0" ], [ "200", ", 4, 7", "0,1,5,9", "60,65,70,75,80", "ERROR:", "VALUE:N0" ], [ "200", "0,1,5,9", ", 4, 7", "60,65,70,75,80", "ERROR:", "VALUE:N0" ], [ "200", "0,1,5,9", "2,3,6,8", "60,65,70,75,80", "VALUE:c", "VALUE:N0" ], [ "200", ", 4, 7", "2,3,6,8", "60,65,70,75,80", "ERROR:", "VALUE:N0" ], [ "200", "2,3,6,8", "0,1,5,9", "60,65,70,75,80", "VALUE:c", "VALUE:N0" ], [ "200", "2,3,6,8", ", 4, 7", "60,65,70,75,80", "ERROR:", "VALUE:N0" ], [ "200", "2,3,6,8", "2,3,6,8", "60,65,70,75,80", "VALUE:c", "VALUE:N0" ], [ "200", ", 4, 7", ", 4, 7", "60,65,70,75,80", "ERROR:", "VALUE:N0" ], [ "200", "0,1,5,9", "0,1,2,3,5,6,8,9", "99", "VALUE:c", "VALUE:N0" ], [ "200", ", 4, 7", "0,1,2,3,5,6,8,9", "99", "ERROR:", "VALUE:N0" ], [ "200", "0,1,5,9", ", 4, 7", "99", "ERROR:", "VALUE:N0" ], [ "200", "2,3,6,8", "0,1,2,3,5,6,8,9", "99", "VALUE:c", "VALUE:N0" ], [ "200", "2,3,6,8", ", 4, 7", "99", "ERROR:", "VALUE:N0" ], [ "200", ", 4, 7", ", 4, 7", "99", "ERROR:", "VALUE:N0" ], [ "250", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "10", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", "0,1,2,3,5,6,8,9", "10", "ERROR:", "ERROR:" ], [ "250", "0,1,2,3,5,6,8,9", ", 4, 7", "10", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", ", 4, 7", "10", "ERROR:", "ERROR:" ], [ "250", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "40", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", "0,1,2,3,5,6,8,9", "40", "ERROR:", "ERROR:" ], [ "250", "0,1,2,3,5,6,8,9", ", 4, 7", "40", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", ", 4, 7", "40", "ERROR:", "ERROR:" ], [ "250", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "50", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", "0,1,2,3,5,6,8,9", "50", "ERROR:", "ERROR:" ], [ "250", "0,1,2,3,5,6,8,9", ", 4, 7", "50", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", ", 4, 7", "50", "ERROR:", "ERROR:" ], [ "250", "0,1,2,3,5,6,8,9", "0,1,2,3,5,6,8,9", "55", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", "0,1,2,3,5,6,8,9", "55", "ERROR:", "ERROR:" ], [ "250", "0,1,2,3,5,6,8,9", ", 4, 7", "55", "ERROR:", "ERROR:" ], [ "250", ", 4, 7", ", 4, 7", "55", "ERROR:", "ERROR:" ], [ "250", "0,1,5,9", "0,1,2,3,5,6,8,9", "00", "VALUE:c", "VALUE:N1" ], [ "250", ", 4, 7", "0,1,2,3,5,6,8,9", "00", "ERROR:", "VALUE:N1" ], [ "250", "0,1,5,9", ", 4, 7", "00", "ERROR:", "VALUE:N1" ], [ "250", "2,3,6,8", "0,1,2,3,5,6,8,9", "00", "VALUE:c", "VALUE:N1" ], [ "250", "2,3,6,8", ", 4, 7", "00", "ERROR:", "VALUE:N1" ], [ "250", ", 4, 7", ", 4, 7", "00", "ERROR:", "VALUE:N1" ], [ "250", "0,1,5,9", "0,1,5,9", "20,30,35", "VALUE:c", "VALUE:N1" ], [ "250", ", 4, 7", "0,1,5,9", "20,30,35", "ERROR:", "VALUE:N1" ], [ "250", "0,1,5,9", ", 4, 7", "20,30,35", "ERROR:", "VALUE:N1" ], [ "250", "0,1,5,9", "2,3,6,8", "20,30,35", "VALUE:c", "VALUE:N1" ], [ "250", ", 4, 7", "2,3,6,8", "20,30,35", "ERROR:", "VALUE:N1" ], [ "250", "2,3,6,8", "0,1,5,9", "20,30,35", "VALUE:c", "VALUE:N1" ], [ "250", "2,3,6,8", ", 4, 7", "20,30,35", "ERROR:", "VALUE:N1" ], [ "250", "2,3,6,8", "2,3,6,8", "20,30,35", "VALUE:c", "VALUE:N1" ], [ "250", ", 4, 7", ", 4, 7", "20,30,35", "ERROR:", "VALUE:N1" ], [ "250", "0,1,5,9", "0,1,5,9", "45", "VALUE:c", "VALUE:N1" ], [ "250", ", 4, 7", "0,1,5,9", "45", "ERROR:", "VALUE:N1" ], [ "250", "0,1,5,9", ", 4, 7", "45", "ERROR:", "VALUE:N1" ], [ "250", "0,1,5,9", "2,3,6,8", "45", "VALUE:c", "VALUE:N1" ], [ "250", ", 4, 7", "2,3,6,8", "45", "ERROR:", "VALUE:N1" ], [ "250", "2,3,6,8", "0,1,5,9", "45", "VALUE:c", "VALUE:N1" ], [ "250", "2,3,6,8", ", 4, 7", "45", "ERROR:", "VALUE:N1" ], [ "250", "2,3,6,8", "2,3,6,8", "45", "VALUE:c", "VALUE:N1" ], [ "250", ", 4, 7", ", 4, 7", "45", "ERROR:", "VALUE:N1" ], [ "250", "0,1,5,9", "0,1,5,9", "60,65,70,75,80", "VALUE:c", "VALUE:N1" ], [ "250", ", 4, 7", "0,1,5,9", "60,65,70,75,80", "ERROR:", "VALUE:N1" ], [ "250", "0,1,5,9", ", 4, 7", "60,65,70,75,80", "ERROR:", "VALUE:N1" ], [ "250", "0,1,5,9", "2,3,6,8", "60,65,70,75,80", "VALUE:c", "VALUE:N1" ], [ "250", ", 4, 7", "2,3,6,8", "60,65,70,75,80", "ERROR:", "VALUE:N1" ], [ "250", "2,3,6,8", "0,1,5,9", "60,65,70,75,80", "VALUE:c", "VALUE:N1" ], [ "250", "2,3,6,8", ", 4, 7", "60,65,70,75,80", "ERROR:", "VALUE:N1" ], [ "250", "2,3,6,8", "2,3,6,8", "60,65,70,75,80", "VALUE:c", "VALUE:N1" ], [ "250", ", 4, 7", ", 4, 7", "60,65,70,75,80", "ERROR:", "VALUE:N1" ], [ "250", "0,1,5,9", "0,1,2,3,5,6,8,9", "99", "VALUE:c", "VALUE:N1" ], [ "250", ", 4, 7", "0,1,2,3,5,6,8,9", "99", "ERROR:", "VALUE:N1" ], [ "250", "0,1,5,9", ", 4, 7", "99", "ERROR:", "VALUE:N1" ], [ "250", "2,3,6,8", "0,1,2,3,5,6,8,9", "99", "VALUE:c", "VALUE:N1" ], [ "250", "2,3,6,8", ", 4, 7", "99", "ERROR:", "VALUE:N1" ], [ "250", ", 4, 7", ", 4, 7", "99", "ERROR:", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfm.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfm.json deleted file mode 100644 index a9e188132..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfm.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_metsat_dxajcc6_xfm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Mets at DX AJCC6", - "title" : "Lymph Nodes Mets at DX AJCC 6 Table", - "notes" : "For CS Lymph Nodes codes 000 and 999, the N category for AJCC 6 staging is assigned based on the coding of CS Mets at DX as shown in this table.", - "last_modified" : "2015-05-27T16:19:24.573Z", - "definition" : [ { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "000", "VALUE:N0" ], [ "05", "000", "VALUE:N1" ], [ "10", "000", "VALUE:N0" ], [ "20", "000", "VALUE:N1" ], [ "40", "000", "VALUE:N0" ], [ "45", "000", "VALUE:N1" ], [ "50", "000", "VALUE:N0" ], [ "55", "000", "VALUE:N0" ], [ "60", "000", "VALUE:N1" ], [ "99", "000", "VALUE:N0" ], [ "00", "999", "VALUE:NX" ], [ "05", "999", "VALUE:N1" ], [ "10", "999", "VALUE:NX" ], [ "20", "999", "VALUE:N1" ], [ "40", "999", "VALUE:NX" ], [ "45", "999", "VALUE:N1" ], [ "50", "999", "VALUE:NX" ], [ "55", "999", "VALUE:NX" ], [ "60", "999", "VALUE:N1" ], [ "99", "999", "VALUE:NX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfo.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfo.json deleted file mode 100644 index deac987af..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xfo.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_metsat_dxajcc6_xfo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Mets at DX AJCC6", - "title" : "Lymph Nodes Mets at DX AJCC 6 Table", - "notes" : "**Note**: For CS Mets at DX codes 00 and 99, the M category for AJCC 6 staging is determined by the code in CS Lymph Nodes as shown in this table.", - "last_modified" : "2015-05-27T16:19:24.634Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "00", "VALUE:M0" ], [ "150", "00", "VALUE:M0" ], [ "200", "00", "VALUE:M0" ], [ "350", "00", "VALUE:M0" ], [ "400", "00", "VALUE:M1" ], [ "450", "00", "VALUE:M1" ], [ "750", "00", "VALUE:M0" ], [ "800", "00", "VALUE:M0" ], [ "999", "00", "VALUE:M0" ], [ "000", "99", "VALUE:MX" ], [ "150", "99", "VALUE:MX" ], [ "200", "99", "VALUE:MX" ], [ "350", "99", "VALUE:MX" ], [ "400", "99", "VALUE:M1" ], [ "450", "99", "VALUE:M1" ], [ "750", "99", "VALUE:MX" ], [ "800", "99", "VALUE:MX" ], [ "999", "99", "VALUE:MX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_m.json deleted file mode 100644 index cb351233f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_m.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_metsat_dxajcc6_xgq_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Mets at DX AJCC6 - returning M", - "title" : "Lymph Nodes Mets at DX AJCC 6 Table - returning M", - "notes" : "**Note**: For CS Lymph Nodes codes 000-999, and CS Mets at DX codes 00-99, the N and M categories for AJCC 6 staging are assigned as shown in this table.", - "last_modified" : "2015-05-27T16:19:24.681Z", - "definition" : [ { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "000", "VALUE:M0" ], [ "07", "000", "VALUE:M0" ], [ "10-13, 16-18, 40, 51-52, 58,60", "000", "VALUE:M1" ], [ "15, 50", "000", "VALUE:M1" ], [ "14, 20, 55", "000", "VALUE:M1" ], [ "99", "000", "VALUE:MX" ], [ "00", "100,110", "VALUE:M0" ], [ "07", "100,110", "VALUE:M0" ], [ "10-13, 16-18, 40, 51-52, 58,60", "100,110", "VALUE:M1" ], [ "15, 50", "100,110", "VALUE:M1" ], [ "14, 20, 55", "100,110", "VALUE:M1" ], [ "99", "100,110", "VALUE:MX" ], [ "00", "120,130,140,200", "VALUE:M1" ], [ "07", "120,130,140,200", "VALUE:M1" ], [ "10-13, 16-18, 40, 51-52, 58,60", "120,130,140,200", "VALUE:M1" ], [ "15, 50", "120,130,140,200", "VALUE:M1" ], [ "14, 20, 55", "120,130,140,200", "VALUE:M1" ], [ "99", "120,130,140,200", "VALUE:M1" ], [ "00", "300,310", "VALUE:M1" ], [ "07", "300,310", "VALUE:M1" ], [ "10-13, 16-18, 40, 51-52, 58,60", "300,310", "VALUE:M1" ], [ "15, 50", "300,310", "VALUE:M1" ], [ "14, 20, 55", "300,310", "VALUE:M1" ], [ "99", "300,310", "VALUE:M1" ], [ "00", "500,800", "VALUE:M0" ], [ "07", "500,800", "VALUE:M0" ], [ "10-13, 16-18, 40, 51-52, 58,60", "500,800", "VALUE:M1" ], [ "15, 50", "500,800", "VALUE:M1" ], [ "14, 20, 55", "500,800", "VALUE:M1" ], [ "99", "500,800", "VALUE:MX" ], [ "00", "999", "VALUE:MX" ], [ "07", "999", "VALUE:MX" ], [ "10-13, 16-18, 40, 51-52, 58,60", "999", "VALUE:M1" ], [ "15, 50", "999", "VALUE:M1" ], [ "14, 20, 55", "999", "VALUE:M1" ], [ "99", "999", "VALUE:MX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_n.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_n.json deleted file mode 100644 index 858fa36a6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xgq_n.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_metsat_dxajcc6_xgq_n", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Mets at DX AJCC6 - returning N", - "title" : "Lymph Nodes Mets at DX AJCC 6 Table - returning N", - "notes" : "**Note**: For CS Lymph Nodes codes 000-999, and CS Mets at DX codes 00-99, the N and M categories for AJCC 6 staging are assigned as shown in this table.", - "last_modified" : "2015-05-27T16:19:24.734Z", - "definition" : [ { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "000", "VALUE:N0" ], [ "07", "000", "VALUE:N1" ], [ "10-13, 16-18, 40, 51-52, 58,60", "000", "VALUE:N0" ], [ "15, 50", "000", "VALUE:N0" ], [ "14, 20, 55", "000", "VALUE:N1" ], [ "99", "000", "VALUE:NX" ], [ "00", "100,110", "VALUE:N1" ], [ "07", "100,110", "VALUE:N1" ], [ "10-13, 16-18, 40, 51-52, 58,60", "100,110", "VALUE:N1" ], [ "15, 50", "100,110", "VALUE:N0" ], [ "14, 20, 55", "100,110", "VALUE:N1" ], [ "99", "100,110", "VALUE:N1" ], [ "00", "120,130,140,200", "VALUE:N0" ], [ "07", "120,130,140,200", "VALUE:N1" ], [ "10-13, 16-18, 40, 51-52, 58,60", "120,130,140,200", "VALUE:N0" ], [ "15, 50", "120,130,140,200", "VALUE:N0" ], [ "14, 20, 55", "120,130,140,200", "VALUE:N1" ], [ "99", "120,130,140,200", "VALUE:N0" ], [ "00", "300,310", "VALUE:N1" ], [ "07", "300,310", "VALUE:N1" ], [ "10-13, 16-18, 40, 51-52, 58,60", "300,310", "VALUE:N1" ], [ "15, 50", "300,310", "VALUE:N0" ], [ "14, 20, 55", "300,310", "VALUE:N1" ], [ "99", "300,310", "VALUE:N1" ], [ "00", "500,800", "VALUE:N1" ], [ "07", "500,800", "VALUE:N1" ], [ "10-13, 16-18, 40, 51-52, 58,60", "500,800", "VALUE:N1" ], [ "15, 50", "500,800", "VALUE:N0" ], [ "14, 20, 55", "500,800", "VALUE:N1" ], [ "99", "500,800", "VALUE:N1" ], [ "00", "999", "VALUE:NX" ], [ "07", "999", "VALUE:NX" ], [ "10-13, 16-18, 40, 51-52, 58,60", "999", "VALUE:NX" ], [ "15, 50", "999", "VALUE:N0" ], [ "14, 20, 55", "999", "VALUE:N1" ], [ "99", "999", "VALUE:NX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xhv.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xhv.json deleted file mode 100644 index 21ba0f844..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xhv.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_metsat_dxajcc6_xhv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Mets at DX AJCC6", - "title" : "Lymph Nodes Mets at DX AJCC 6 Table", - "notes" : "**Note**: For CS Mets at DX codes 00 and 99, the M category for AJCC 6 staging is assigned as shown in this table.", - "last_modified" : "2015-05-27T16:19:24.784Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "00", "VALUE:M0" ], [ "100", "00", "VALUE:M0" ], [ "110", "00", "VALUE:M0" ], [ "120", "00", "VALUE:M0" ], [ "150", "00", "VALUE:M0" ], [ "200", "00", "ERROR:" ], [ "210", "00", "ERROR:" ], [ "250", "00", "ERROR:" ], [ "300", "00", "VALUE:M0" ], [ "500", "00", "VALUE:M0" ], [ "600", "00", "VALUE:M0" ], [ "610", "00", "VALUE:M0" ], [ "620", "00", "VALUE:M1" ], [ "630", "00", "ERROR:" ], [ "635", "00", "VALUE:M1" ], [ "650", "00", "VALUE:M0" ], [ "800", "00", "VALUE:M0" ], [ "999", "00", "VALUE:M0" ], [ "000", "99", "VALUE:MX" ], [ "100", "99", "VALUE:MX" ], [ "110", "99", "VALUE:MX" ], [ "120", "99", "VALUE:MX" ], [ "150", "99", "VALUE:MX" ], [ "200", "99", "ERROR:" ], [ "210", "99", "ERROR:" ], [ "250", "99", "ERROR:" ], [ "300", "99", "VALUE:MX" ], [ "500", "99", "VALUE:MX" ], [ "600", "99", "VALUE:MX" ], [ "610", "99", "VALUE:MX" ], [ "620", "99", "VALUE:M1" ], [ "630", "99", "ERROR:" ], [ "635", "99", "VALUE:M1" ], [ "650", "99", "VALUE:MX" ], [ "800", "99", "VALUE:MX" ], [ "999", "99", "VALUE:MX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjc.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjc.json deleted file mode 100644 index 9c1a77621..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjc.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_metsat_dxajcc6_xjc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Mets at DX AJCC6", - "title" : "Lymph Nodes Mets at DX AJCC 6 Table", - "notes" : "**Note**: For CS Lymph Nodes codes 000-999, the N category for AJCC 6 staging is determined by the value in CS Mets at DX as shown in this table.", - "last_modified" : "2015-05-27T16:19:24.831Z", - "definition" : [ { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "000", "VALUE:N0" ], [ "07", "000", "VALUE:N1" ], [ "10", "000", "VALUE:N0" ], [ "20", "000", "VALUE:N1" ], [ "40", "000", "VALUE:N0" ], [ "45", "000", "VALUE:N1" ], [ "50", "000", "VALUE:N0" ], [ "60", "000", "VALUE:N0" ], [ "99", "000", "VALUE:NX" ], [ "00", "999", "VALUE:NX" ], [ "07", "999", "VALUE:N1" ], [ "10", "999", "VALUE:NX" ], [ "20", "999", "VALUE:N1" ], [ "40", "999", "VALUE:NX" ], [ "45", "999", "VALUE:N1" ], [ "50", "999", "VALUE:NX" ], [ "60", "999", "VALUE:NX" ], [ "99", "999", "VALUE:NX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjd.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjd.json deleted file mode 100644 index 0ebe03b43..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjd.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_metsat_dxajcc6_xjd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Mets at DX AJCC6", - "title" : "Lymph Nodes Mets at DX AJCC 6 Table", - "notes" : "**Note**: For CS Mets at DX codes 00 and 99, the M category for AJCC 6 staging is assigned as shown in this table.", - "last_modified" : "2015-05-27T16:19:24.880Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "00", "VALUE:M0" ], [ "100", "00", "VALUE:M0" ], [ "120", "00", "VALUE:M0" ], [ "150", "00", "VALUE:M0" ], [ "200", "00", "VALUE:M0" ], [ "300", "00", "ERROR:" ], [ "310", "00", "ERROR:" ], [ "315", "00", "VALUE:M0" ], [ "350", "00", "VALUE:M0" ], [ "355", "00", "VALUE:M1" ], [ "360", "00", "VALUE:M0" ], [ "370", "00", "VALUE:M1" ], [ "400", "00", "VALUE:M0" ], [ "800", "00", "VALUE:M0" ], [ "999", "00", "VALUE:M0" ], [ "000", "99", "VALUE:MX" ], [ "100", "99", "VALUE:MX" ], [ "120", "99", "VALUE:MX" ], [ "150", "99", "VALUE:MX" ], [ "200", "99", "VALUE:MX" ], [ "300", "99", "ERROR:" ], [ "310", "99", "ERROR:" ], [ "315", "99", "VALUE:MX" ], [ "350", "99", "VALUE:MX" ], [ "355", "99", "VALUE:M1" ], [ "360", "99", "VALUE:MX" ], [ "370", "99", "VALUE:M1" ], [ "400", "99", "VALUE:MX" ], [ "800", "99", "VALUE:MX" ], [ "999", "99", "VALUE:MX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xje.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xje.json deleted file mode 100644 index 824c647b3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xje.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_metsat_dxajcc6_xje", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Mets at DX AJCC6", - "title" : "Lymph Nodes Mets at DX AJCC 6 Table", - "notes" : "**Note**: For CS Lymph Nodes codes 000 and 999, the N category for AJCC 6 staging is determined by the value in CS Mets at DX as shown in this table.", - "last_modified" : "2015-05-27T16:19:24.928Z", - "definition" : [ { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "000", "VALUE:N0" ], [ "07", "000", "VALUE:N1" ], [ "10", "000", "VALUE:N0" ], [ "20", "000", "VALUE:N1" ], [ "40", "000", "VALUE:N0" ], [ "45", "000", "VALUE:N1" ], [ "50", "000", "VALUE:N0" ], [ "60", "000", "VALUE:N0" ], [ "99", "000", "VALUE:NX" ], [ "00", "999", "VALUE:NX" ], [ "07", "999", "VALUE:N1" ], [ "10", "999", "VALUE:NX" ], [ "20", "999", "VALUE:N1" ], [ "40", "999", "VALUE:NX" ], [ "45", "999", "VALUE:N1" ], [ "50", "999", "VALUE:NX" ], [ "60", "999", "VALUE:NX" ], [ "99", "999", "VALUE:NX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjf.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjf.json deleted file mode 100644 index e61e1f0ba..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xjf.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_metsat_dxajcc6_xjf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Mets at DX AJCC6", - "title" : "Lymph Nodes Mets at DX AJCC 6 Table", - "notes" : "**Note**: For CS Lymph Nodes codes 000 and 999, the N category for AJCC 6 staging is determined by the value in CS Mets at DX as shown in this table.", - "last_modified" : "2015-05-27T16:19:24.975Z", - "definition" : [ { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "000", "VALUE:N0" ], [ "05", "000", "VALUE:N1" ], [ "07", "000", "VALUE:N1" ], [ "10", "000", "VALUE:N0" ], [ "20", "000", "VALUE:N1" ], [ "40", "000", "VALUE:N0" ], [ "45", "000", "VALUE:N1" ], [ "50", "000", "VALUE:N0" ], [ "60", "000", "VALUE:N0" ], [ "99", "000", "VALUE:NX" ], [ "00", "999", "VALUE:NX" ], [ "05", "999", "VALUE:N1" ], [ "07", "999", "VALUE:N1" ], [ "10", "999", "VALUE:NX" ], [ "20", "999", "VALUE:N1" ], [ "40", "999", "VALUE:NX" ], [ "45", "999", "VALUE:N1" ], [ "50", "999", "VALUE:NX" ], [ "60", "999", "VALUE:NX" ], [ "99", "999", "VALUE:NX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xki.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xki.json deleted file mode 100644 index fac6be660..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xki.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "lymph_nodes_metsat_dxajcc6_xki", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Mets at DX AJCC6", - "title" : "Lymph Nodes Mets at DX AJCC 6 Table", - "last_modified" : "2015-05-27T16:19:25.029Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000,100,110,200,210", "00", "VALUE:M0" ], [ "220,230", "00", "VALUE:M1" ], [ "250,500,700,800,999", "00", "VALUE:M0" ], [ "000,100,110,200,210", "99", "VALUE:MX" ], [ "220,230", "99", "VALUE:M1" ], [ "250,500,700,800,999", "99", "VALUE:MX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xlf.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xlf.json deleted file mode 100644 index 9cf279e59..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxajcc6_xlf.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_metsat_dxajcc6_xlf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Mets at DX AJCC6", - "title" : "Lymph Nodes Mets at DX AJCC 6 Table", - "notes" : "**Note**: For CS Mets at DX codes 00 and 99, the M category for AJCC 6 staging is assigned as shown in this table.", - "last_modified" : "2015-05-27T16:19:25.078Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "00", "VALUE:M0" ], [ "010", "00", "VALUE:M0" ], [ "100", "00", "VALUE:M0" ], [ "105", "00", "VALUE:M0" ], [ "106", "00", "VALUE:M1" ], [ "107", "00", "VALUE:M1" ], [ "108", "00", "VALUE:M1" ], [ "109", "00", "VALUE:M1" ], [ "110", "00", "ERROR:" ], [ "114", "00", "VALUE:M0" ], [ "115", "00", "VALUE:M0" ], [ "120", "00", "VALUE:M0" ], [ "125", "00", "VALUE:M0" ], [ "130", "00", "VALUE:M0" ], [ "500", "00", "VALUE:M0" ], [ "510", "00", "VALUE:M0" ], [ "520", "00", "VALUE:M0" ], [ "540", "00", "VALUE:M0" ], [ "550", "00", "VALUE:M1" ], [ "560", "00", "VALUE:M1" ], [ "570", "00", "VALUE:M1" ], [ "580", "00", "VALUE:M1" ], [ "600", "00", "VALUE:M0" ], [ "650", "00", "VALUE:M0" ], [ "700", "00", "VALUE:M0" ], [ "800", "00", "VALUE:M0" ], [ "999", "00", "VALUE:MX" ], [ "000", "99", "VALUE:MX" ], [ "010", "99", "VALUE:MX" ], [ "100", "99", "VALUE:MX" ], [ "105", "99", "VALUE:MX" ], [ "106", "99", "VALUE:M1" ], [ "107", "99", "VALUE:M1" ], [ "108", "99", "VALUE:M1" ], [ "109", "99", "VALUE:M1" ], [ "110", "99", "ERROR:" ], [ "114", "99", "VALUE:MX" ], [ "115", "99", "VALUE:MX" ], [ "120", "99", "VALUE:MX" ], [ "125", "99", "VALUE:MX" ], [ "130", "99", "VALUE:MX" ], [ "500", "99", "VALUE:MX" ], [ "510", "99", "VALUE:MX" ], [ "520", "99", "VALUE:MX" ], [ "540", "99", "VALUE:MX" ], [ "550", "99", "VALUE:M1" ], [ "560", "99", "VALUE:M1" ], [ "570", "99", "VALUE:M1" ], [ "580", "99", "VALUE:M1" ], [ "600", "99", "VALUE:MX" ], [ "650", "99", "VALUE:MX" ], [ "700", "99", "VALUE:MX" ], [ "800", "99", "VALUE:MX" ], [ "999", "99", "VALUE:MX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxtable_ajcc6_xfv.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxtable_ajcc6_xfv.json deleted file mode 100644 index c4d22cfc6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_metsat_dxtable_ajcc6_xfv.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_metsat_dxtable_ajcc6_xfv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Mets at DX Table AJCC6", - "title" : "Lymph Nodes Mets at DX Table AJCC 6", - "notes" : "**Note**: When CS Mets at DX is coded 00 or 99, the N and M categories for AJCC 6 staging are determined by the CS Lymph Nodes code as shown in this table.", - "last_modified" : "2015-05-27T16:19:25.130Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "00", "VALUE:M0" ], [ "100", "00", "VALUE:M0" ], [ "200", "00", "VALUE:M0" ], [ "220", "00", "VALUE:M0" ], [ "250", "00", "VALUE:M1a" ], [ "255", "00", "VALUE:M1a" ], [ "260", "00", "ERROR:" ], [ "265", "00", "VALUE:M1b" ], [ "270", "00", "VALUE:M1b" ], [ "275", "00", "VALUE:M1b" ], [ "280", "00", "VALUE:M1b" ], [ "300", "00", "ERROR:" ], [ "305", "00", "VALUE:M0" ], [ "310", "00", "VALUE:M1a" ], [ "320", "00", "VALUE:M1b" ], [ "330", "00", "VALUE:M1b" ], [ "500", "00", "VALUE:M0" ], [ "560", "00", "VALUE:M0" ], [ "600", "00", "ERROR:" ], [ "610", "00", "VALUE:M0" ], [ "700", "00", "ERROR:" ], [ "710", "00", "VALUE:M0" ], [ "800", "00", "VALUE:M0" ], [ "999", "00", "VALUE:M0" ], [ "000", "99", "VALUE:MX" ], [ "100", "99", "VALUE:MX" ], [ "200", "99", "VALUE:MX" ], [ "220", "99", "VALUE:MX" ], [ "250", "99", "VALUE:M1a" ], [ "255", "99", "VALUE:M1a" ], [ "260", "99", "ERROR:" ], [ "265", "99", "VALUE:M1b" ], [ "270", "99", "VALUE:M1b" ], [ "275", "99", "VALUE:M1b" ], [ "280", "99", "VALUE:M1b" ], [ "300", "99", "ERROR:" ], [ "305", "99", "VALUE:MX" ], [ "310", "99", "VALUE:M1a" ], [ "320", "99", "VALUE:M1b" ], [ "330", "99", "VALUE:M1b" ], [ "500", "99", "VALUE:MX" ], [ "560", "99", "VALUE:MX" ], [ "600", "99", "ERROR:" ], [ "610", "99", "VALUE:MX" ], [ "700", "99", "ERROR:" ], [ "710", "99", "VALUE:MX" ], [ "800", "99", "VALUE:MX" ], [ "999", "99", "VALUE:MX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_eval_xgu.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_eval_xgu.json deleted file mode 100644 index 6bb3802d8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_eval_xgu.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodes_pathologic_eval_xgu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Pathologic Eval", - "title" : "Lymph Nodes Pathologic Eval Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes Eval is coded 2 (p), 3 (p), 6 (yp), or 8 (a) and CS Lymph Nodes is coded 100-500 ONLY. The N category is assigned based on the values of CS Site-Specific Factor 5, Size of Metastasis in Lymph Nodes, and Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:25.651Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf5", - "name" : "CS SSF 5", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "000-003", "ERROR:", "ERROR:" ], [ "01-05", "000-003", "ERROR:", "ERROR:" ], [ "06-90", "000-003", "ERROR:", "ERROR:" ], [ "95", "000-003", "ERROR:", "ERROR:" ], [ "97", "000-003", "ERROR:", "ERROR:" ], [ "98", "000-003", "ERROR:", "ERROR:" ], [ "99", "000-003", "ERROR:", "ERROR:" ], [ "00", "010", "ERROR:", "ERROR:" ], [ "01-05", "010", "VALUE:N1", "VALUE:N1" ], [ "06-90", "010", "VALUE:N2", "VALUE:N2" ], [ "95", "010", "VALUE:N1", "VALUE:N1" ], [ "97", "010", "VALUE:N1", "VALUE:N1" ], [ "98", "010", "ERROR:", "ERROR:" ], [ "99", "010", "ERROR:", "ERROR:" ], [ "00", "020", "ERROR:", "ERROR:" ], [ "01-05", "020", "VALUE:N2", "VALUE:N2" ], [ "06-90", "020", "VALUE:N2", "VALUE:N2" ], [ "95", "020", "VALUE:N2", "VALUE:N2" ], [ "97", "020", "VALUE:N2", "VALUE:N2" ], [ "98", "020", "ERROR:", "ERROR:" ], [ "99", "020", "ERROR:", "ERROR:" ], [ "00", "030", "ERROR:", "ERROR:" ], [ "01-05", "030", "VALUE:N3", "VALUE:N3" ], [ "06-90", "030", "VALUE:N3", "VALUE:N3" ], [ "95", "030", "VALUE:N3", "VALUE:N3" ], [ "97", "030", "VALUE:N3", "VALUE:N3" ], [ "98", "030", "ERROR:", "ERROR:" ], [ "99", "030", "ERROR:", "ERROR:" ], [ "00", "988", "ERROR:", "ERROR:" ], [ "01-05", "988", "ERROR:", "ERROR:" ], [ "06-90", "988", "ERROR:", "ERROR:" ], [ "95", "988", "ERROR:", "ERROR:" ], [ "97", "988", "ERROR:", "ERROR:" ], [ "98", "988", "ERROR:", "ERROR:" ], [ "99", "988", "ERROR:", "ERROR:" ], [ "00", "998", "ERROR:", "ERROR:" ], [ "01-05", "998", "ERROR:", "ERROR:" ], [ "06-90", "998", "ERROR:", "ERROR:" ], [ "95", "998", "ERROR:", "ERROR:" ], [ "97", "998", "ERROR:", "ERROR:" ], [ "98", "998", "ERROR:", "ERROR:" ], [ "99", "998", "ERROR:", "ERROR:" ], [ "00", "999", "ERROR:", "ERROR:" ], [ "01-05", "999", "VALUE:N1", "VALUE:N1" ], [ "06-90", "999", "VALUE:N2", "VALUE:N2" ], [ "95", "999", "VALUE:N1", "VALUE:N1" ], [ "97", "999", "VALUE:N1", "VALUE:N1" ], [ "98", "999", "ERROR:", "ERROR:" ], [ "99", "999", "ERROR:", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp.json deleted file mode 100644 index d57622575..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xpp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Pathologic Evaluation 6th Table Also Used When CS Reg Nodes Eval Is Not Coded", - "title" : "Lymph Nodes Pathologic Evaluation 6th Table Also Used When CS Reg Nodes Eval is Not Coded", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-500 and CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:25.180Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "N Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-06", "VALUE:N1" ], [ "07-15", "VALUE:N2" ], [ "16-90", "VALUE:N3" ], [ "95,97-99", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xqg.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xqg.json deleted file mode 100644 index a0c905c1b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xqg.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_pathologic_evaluation6th_table_also_used_when_csreg_nodes_evalis_not_coded_xqg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Pathologic Evaluation 6th Table Also Used When CS Reg Nodes Eval Is Not Coded", - "title" : "Lymph Nodes Pathologic Evaluation 6th Table Also Used When CS Reg Nodes Eval is Not Coded", - "notes" : "**Note**: When CS Lymph Nodes is 050-300 and CS Regional Nodes Eval is 2, 3, 6, 8, or not coded, the N category is assigned based on the number of positive nodes coded in Regional Nodes Positive, as shown in this table.", - "last_modified" : "2015-05-27T16:19:25.229Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "N Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-03", "VALUE:N1" ], [ "04-90", "VALUE:N2" ], [ "95,97-99", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation7th_table_also_used_when_csreg_nodes_evalis_not_coded_xft.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation7th_table_also_used_when_csreg_nodes_evalis_not_coded_xft.json deleted file mode 100644 index 590dede08..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation7th_table_also_used_when_csreg_nodes_evalis_not_coded_xft.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_pathologic_evaluation7th_table_also_used_when_csreg_nodes_evalis_not_coded_xft", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Pathologic Evaluation 7th Table Also Used When CS Reg Nodes Eval Is Not Coded", - "title" : "Lymph Nodes Pathologic Evaluation 7th Table Also Used When CS Reg Nodes Eval is Not Coded", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-400, 450, and 500 ONLY and CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:25.273Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "N Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-02", "VALUE:N1" ], [ "03-06", "VALUE:N2" ], [ "07-90", "VALUE:N3" ], [ "95,97-99", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr.json deleted file mode 100644 index 632fd38f7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_pathologic_evaluation_ajcc6_table_also_used_when_cslymph_nodes_eval_is_not_coded_xpr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Pathologic Evaluation AJCC6 Table Also Used When CS Lymph Nodes Eval Is Not Coded", - "title" : "Lymph Nodes Pathologic Evaluation AJCC 6 Table Also Used When CS Lymph Nodes Eval Is Not Coded", - "notes" : "**Note**: This table is used when CS Lymph Nodes code is 100-300 and CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:25.320Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-03", "VALUE:N1" ], [ "04-90", "VALUE:N2" ], [ "95,97-99", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xdg.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xdg.json deleted file mode 100644 index 2c608c074..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xdg.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xdg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Pathologic Evaluation AJCC7 Table Also Used When CS Lymph Nodes Eval Is Not Coded", - "title" : "Lymph Nodes Pathologic Evaluation AJCC 7 Table Also Used When CS Lymph Nodes Eval Is Not Coded", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-300 and CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded. The N category for AJCC 7 staging is determined based on the number of positive regional nodes in Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:25.453Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-03", "VALUE:N1" ], [ "04-90", "VALUE:N2" ], [ "95,97-99", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xfr.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xfr.json deleted file mode 100644 index 9005d6dff..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xfr.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_eval_is_not_coded_xfr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Pathologic Evaluation AJCC7 Table Also Used When CS Lymph Nodes Eval Is Not Coded", - "title" : "Lymph Nodes Pathologic Evaluation AJCC 7 Table Also Used When CS Lymph Nodes Eval Is Not Coded", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-500 and CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded. The N category for AJCC 7 staging is determined based on the number of positive regional nodes in Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:25.498Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "N Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-02", "VALUE:N1" ], [ "03-06", "VALUE:N2" ], [ "07-90", "VALUE:N3" ], [ "95,97-99", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg.json deleted file mode 100644 index c75518000..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xeg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Pathologic Evaluation AJCC7 Table Also Used When CS Lymph Nodes Eval Is Not Coded", - "title" : "Lymph Nodes Pathologic Evaluation AJCC7 Table Also Used When CS Lymph Nodes Eval is Not Coded", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-300and CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:25.363Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-03", "VALUE:N1" ], [ "04-90", "VALUE:N2" ], [ "95,97-99", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi.json deleted file mode 100644 index 8f54fda28..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_cslymph_nodes_evalis_not_coded_xqi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Pathologic Evaluation AJCC7 Table Also Used When CS Lymph Nodes Eval Is Not Coded", - "title" : "Lymph Nodes Pathologic Evaluation AJCC 7 Table Also Used When CS Lymph Nodes Eval is Not Coded", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-300 and CS Regional Nodes Eval is 2, 3, 6, 8, or not coded. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:25.407Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-00", "VALUE:N1NOS" ], [ "01-01", "VALUE:N1a" ], [ "02-03", "VALUE:N1b" ], [ "04-06", "VALUE:N2a" ], [ "07-90", "VALUE:N2b" ], [ "95,97-99", "VALUE:N1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_csreg_nodes_evalis_not_coded_xdi.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_csreg_nodes_evalis_not_coded_xdi.json deleted file mode 100644 index 842a1feae..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_csreg_nodes_evalis_not_coded_xdi.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymph_nodes_pathologic_evaluation_ajcc7_table_also_used_when_csreg_nodes_evalis_not_coded_xdi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Pathologic Evaluation AJCC7 Table Also Used When CS Reg Nodes Eval Is Not Coded", - "title" : "Lymph Nodes Pathologic Evaluation AJCC 7 Table Also Used When CS Reg Nodes Eval is Not Coded", - "notes" : "**Note**: This table is used when CS Lymph Nodes is 100-500 and CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded. The N category is determined based on the number of positive regional nodes in Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:25.542Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "N Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00-02", "VALUE:N1" ], [ "03-06", "VALUE:N2" ], [ "07-15", "VALUE:N3a" ], [ "16-90", "VALUE:N3b" ], [ "95,97-99", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_xcw.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_xcw.json deleted file mode 100644 index c049d304b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_pathologic_evaluation_xcw.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodes_pathologic_evaluation_xcw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Pathologic Evaluation", - "title" : "Lymph Nodes Pathologic Evaluation Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes Eval is coded 2 (p), 3 (p), 6 (yp), or 8 (a) and CS Lymph Nodes is coded 250, 258, 260, 280, 500, 510, 520, 600, 610, 620, 630, 720, or 748 ONLY. The N category is assigned based on the value of CS Lymph Nodes and the value of CS Site-Specific Factor 3, Number of Positive Ipsilateral Axillary Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:25.589Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "250", "000", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "258", "000", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "260", "000", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "280", "000", "ERROR:", "VALUE:N2NOS" ], [ "500", "000", "ERROR:", "VALUE:N1NOS" ], [ "510", "000", "ERROR:", "ERROR:" ], [ "520", "000", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "600", "000", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "610", "000", "ERROR:", "ERROR:" ], [ "620", "000", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "630", "000", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "720", "000", "VALUE:N1c", "VALUE:N1c" ], [ "748", "000", "VALUE:N2b", "VALUE:N2b" ], [ "250", "001-003", "VALUE:N1a", "VALUE:N1a" ], [ "258", "001-003", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "260", "001-003", "VALUE:N1a", "VALUE:N1a" ], [ "280", "001-003", "ERROR:", "VALUE:N2NOS" ], [ "500", "001-003", "ERROR:", "VALUE:N1a" ], [ "510", "001-003", "ERROR:", "ERROR:" ], [ "520", "001-003", "VALUE:N1a", "VALUE:N1a" ], [ "600", "001-003", "VALUE:N1a", "VALUE:N1a" ], [ "610", "001-003", "ERROR:", "ERROR:" ], [ "620", "001-003", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "630", "001-003", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "720", "001-003", "VALUE:N1c", "VALUE:N1c" ], [ "748", "001-003", "VALUE:N2b", "VALUE:N2b" ], [ "250", "004-009", "VALUE:N2a", "VALUE:N2a" ], [ "258", "004-009", "VALUE:N2a", "VALUE:N2a" ], [ "260", "004-009", "VALUE:N2a", "VALUE:N2a" ], [ "280", "004-009", "ERROR:", "VALUE:N2NOS" ], [ "500", "004-009", "ERROR:", "VALUE:N2a" ], [ "510", "004-009", "ERROR:", "ERROR:" ], [ "520", "004-009", "VALUE:N2a", "VALUE:N2a" ], [ "600", "004-009", "VALUE:N2a", "VALUE:N2a" ], [ "610", "004-009", "ERROR:", "ERROR:" ], [ "620", "004-009", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "630", "004-009", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "720", "004-009", "VALUE:N3b", "VALUE:N3b" ], [ "748", "004-009", "VALUE:N2b", "VALUE:N2b" ], [ "250", "010-090", "VALUE:N3a", "VALUE:N3a" ], [ "258", "010-090", "VALUE:N3a", "VALUE:N3a" ], [ "260", "010-090", "VALUE:N3a", "VALUE:N3a" ], [ "280", "010-090", "ERROR:", "VALUE:N3a" ], [ "500", "010-090", "ERROR:", "VALUE:N3a" ], [ "510", "010-090", "ERROR:", "ERROR:" ], [ "520", "010-090", "VALUE:N3a", "VALUE:N3a" ], [ "600", "010-090", "VALUE:N3a", "VALUE:N3a" ], [ "610", "010-090", "ERROR:", "ERROR:" ], [ "620", "010-090", "VALUE:N3a", "VALUE:N3a" ], [ "630", "010-090", "VALUE:N3a", "VALUE:N3a" ], [ "720", "010-090", "VALUE:N3b", "VALUE:N3b" ], [ "748", "010-090", "VALUE:N3a", "VALUE:N3a" ], [ "250", "095", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "258", "095", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "260", "095", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "280", "095", "ERROR:", "VALUE:N2NOS" ], [ "500", "095", "ERROR:", "VALUE:N1NOS" ], [ "510", "095", "ERROR:", "ERROR:" ], [ "520", "095", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "600", "095", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "610", "095", "ERROR:", "ERROR:" ], [ "620", "095", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "630", "095", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "720", "095", "VALUE:N1c", "VALUE:N1c" ], [ "748", "095", "VALUE:N2b", "VALUE:N2b" ], [ "250", "097", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "258", "097", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "260", "097", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "280", "097", "ERROR:", "VALUE:N2NOS" ], [ "500", "097", "ERROR:", "VALUE:N1NOS" ], [ "510", "097", "ERROR:", "ERROR:" ], [ "520", "097", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "600", "097", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "610", "097", "ERROR:", "ERROR:" ], [ "620", "097", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "630", "097", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "720", "097", "VALUE:N1c", "VALUE:N1c" ], [ "748", "097", "VALUE:N2b", "VALUE:N2b" ], [ "250", "098", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "258", "098", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "260", "098", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "280", "098", "ERROR:", "VALUE:N2NOS" ], [ "500", "098", "ERROR:", "VALUE:N1NOS" ], [ "510", "098", "ERROR:", "ERROR:" ], [ "520", "098", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "600", "098", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "610", "098", "ERROR:", "ERROR:" ], [ "620", "098", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "630", "098", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "720", "098", "VALUE:N1c", "VALUE:N1c" ], [ "748", "098", "VALUE:N2b", "VALUE:N2b" ], [ "250", "099", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "258", "099", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "260", "099", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "280", "099", "ERROR:", "VALUE:N2NOS" ], [ "500", "099", "ERROR:", "VALUE:N1NOS" ], [ "510", "099", "ERROR:", "ERROR:" ], [ "520", "099", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "600", "099", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "610", "099", "ERROR:", "ERROR:" ], [ "620", "099", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "630", "099", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "720", "099", "VALUE:N1c", "VALUE:N1c" ], [ "748", "099", "VALUE:N2b", "VALUE:N2b" ], [ "250", "988", "ERROR:", "ERROR:" ], [ "258", "988", "ERROR:", "ERROR:" ], [ "260", "988", "ERROR:", "ERROR:" ], [ "280", "988", "ERROR:", "ERROR:" ], [ "500", "988", "ERROR:", "ERROR:" ], [ "510", "988", "ERROR:", "ERROR:" ], [ "520", "988", "ERROR:", "ERROR:" ], [ "600", "988", "ERROR:", "ERROR:" ], [ "610", "988", "ERROR:", "ERROR:" ], [ "620", "988", "ERROR:", "ERROR:" ], [ "630", "988", "ERROR:", "ERROR:" ], [ "720", "988", "ERROR:", "ERROR:" ], [ "748", "988", "ERROR:", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_axillary_node_xcy.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_axillary_node_xcy.json deleted file mode 100644 index f960affaa..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_axillary_node_xcy.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodes_positive_axillary_node_xcy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Positive Axillary Node", - "title" : "Lymph Nodes Positive Axillary Node Table", - "notes" : "**Note**: This table is used when CS Reg Nodes Eval is not coded and CS Lymph Nodes is coded 250, 258, 260, 280, 500, 510, 520, 600, 610, 620, 630, 720, or 748 ONLY. The N category is assigned based on the value of CS Lymph Nodes and the value of CS Site-Specific Factor 3, Number of Positive Ipsilateral Axillary Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:25.711Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "250", "000", "VALUE:N1", "VALUE:N1" ], [ "258", "000", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "260", "000", "VALUE:N1", "VALUE:N1" ], [ "280", "000", "ERROR:", "VALUE:N2NOS" ], [ "500", "000", "ERROR:", "VALUE:N2a" ], [ "510", "000", "VALUE:N2a", "VALUE:N2a" ], [ "520", "000", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "600", "000", "VALUE:N1", "VALUE:N1" ], [ "610", "000", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "620", "000", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "630", "000", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "720", "000", "VALUE:N1c", "VALUE:N1c" ], [ "748", "000", "VALUE:N2b", "VALUE:N2b" ], [ "250", "001-003", "VALUE:N1a", "VALUE:N1a" ], [ "258", "001-003", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "260", "001-003", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "280", "001-003", "ERROR:", "VALUE:N2NOS" ], [ "500", "001-003", "ERROR:", "VALUE:N1a" ], [ "510", "001-003", "VALUE:N2a", "VALUE:N2a" ], [ "520", "001-003", "VALUE:N1a", "VALUE:N1a" ], [ "600", "001-003", "VALUE:N1a", "VALUE:N1a" ], [ "610", "001-003", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "620", "001-003", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "630", "001-003", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "720", "001-003", "VALUE:N1c", "VALUE:N1c" ], [ "748", "001-003", "VALUE:N2b", "VALUE:N2b" ], [ "250", "004-009", "VALUE:N2a", "VALUE:N2a" ], [ "258", "004-009", "VALUE:N2a", "VALUE:N2a" ], [ "260", "004-009", "VALUE:N2a", "VALUE:N2a" ], [ "280", "004-009", "ERROR:", "VALUE:N2NOS" ], [ "500", "004-009", "ERROR:", "VALUE:N2a" ], [ "510", "004-009", "VALUE:N2a", "VALUE:N2a" ], [ "520", "004-009", "VALUE:N2a", "VALUE:N2a" ], [ "600", "004-009", "VALUE:N2a", "VALUE:N2a" ], [ "610", "004-009", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "620", "004-009", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "630", "004-009", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "720", "004-009", "VALUE:N3b", "VALUE:N3b" ], [ "748", "004-009", "VALUE:N3b", "VALUE:N3b" ], [ "250", "010-090", "VALUE:N3a", "VALUE:N3a" ], [ "258", "010-090", "VALUE:N3a", "VALUE:N3a" ], [ "260", "010-090", "VALUE:N3a", "VALUE:N3a" ], [ "280", "010-090", "ERROR:", "VALUE:N3a" ], [ "500", "010-090", "ERROR:", "VALUE:N3a" ], [ "510", "010-090", "VALUE:N2a", "VALUE:N2a" ], [ "520", "010-090", "VALUE:N3a", "VALUE:N3a" ], [ "600", "010-090", "VALUE:N3a", "VALUE:N3a" ], [ "610", "010-090", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "620", "010-090", "VALUE:N3a", "VALUE:N3a" ], [ "630", "010-090", "VALUE:N3a", "VALUE:N3a" ], [ "720", "010-090", "VALUE:N3b", "VALUE:N3b" ], [ "748", "010-090", "VALUE:N3b", "VALUE:N3b" ], [ "250", "095", "VALUE:N1a", "VALUE:N1a" ], [ "258", "095", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "260", "095", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "280", "095", "ERROR:", "VALUE:N2NOS" ], [ "500", "095", "ERROR:", "VALUE:N1a" ], [ "510", "095", "VALUE:N2a", "VALUE:N2a" ], [ "520", "095", "VALUE:N1a", "VALUE:N1a" ], [ "600", "095", "VALUE:N1", "VALUE:N1" ], [ "610", "095", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "620", "095", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "630", "095", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "720", "095", "VALUE:N1c", "VALUE:N1c" ], [ "748", "095", "VALUE:N2b", "VALUE:N2b" ], [ "250", "097", "VALUE:N1a", "VALUE:N1a" ], [ "258", "097", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "260", "097", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "280", "097", "ERROR:", "VALUE:N2NOS" ], [ "500", "097", "ERROR:", "VALUE:N1a" ], [ "510", "097", "VALUE:N2a", "VALUE:N2a" ], [ "520", "097", "VALUE:N1a", "VALUE:N1a" ], [ "600", "097", "VALUE:N1a", "VALUE:N1a" ], [ "610", "097", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "620", "097", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "630", "097", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "720", "097", "VALUE:N1c", "VALUE:N1c" ], [ "748", "097", "VALUE:N2b", "VALUE:N2b" ], [ "250", "098", "VALUE:N1", "VALUE:N1" ], [ "258", "098", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "260", "098", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "280", "098", "ERROR:", "VALUE:N2NOS" ], [ "500", "098", "ERROR:", "VALUE:N2a" ], [ "510", "098", "VALUE:N2a", "VALUE:N2a" ], [ "520", "098", "VALUE:N1a", "VALUE:N1a" ], [ "600", "098", "VALUE:N1", "VALUE:N1" ], [ "610", "098", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "620", "098", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "630", "098", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "720", "098", "VALUE:N1c", "VALUE:N1c" ], [ "748", "098", "VALUE:N2b", "VALUE:N2b" ], [ "250", "099", "VALUE:N1", "VALUE:N1" ], [ "258", "099", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "260", "099", "VALUE:N1NOS", "VALUE:N1NOS" ], [ "280", "099", "ERROR:", "VALUE:N2NOS" ], [ "500", "099", "ERROR:", "VALUE:N2a" ], [ "510", "099", "VALUE:N2a", "VALUE:N2a" ], [ "520", "099", "VALUE:N1a", "VALUE:N1a" ], [ "600", "099", "VALUE:N1", "VALUE:N1" ], [ "610", "099", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "620", "099", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "630", "099", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "720", "099", "VALUE:N1c", "VALUE:N1c" ], [ "748", "099", "VALUE:N2b", "VALUE:N2b" ], [ "250", "988", "ERROR:", "ERROR:" ], [ "258", "988", "ERROR:", "ERROR:" ], [ "260", "988", "ERROR:", "ERROR:" ], [ "280", "988", "ERROR:", "ERROR:" ], [ "500", "988", "ERROR:", "ERROR:" ], [ "510", "988", "ERROR:", "ERROR:" ], [ "520", "988", "ERROR:", "ERROR:" ], [ "600", "988", "ERROR:", "ERROR:" ], [ "610", "988", "ERROR:", "ERROR:" ], [ "620", "988", "ERROR:", "ERROR:" ], [ "630", "988", "ERROR:", "ERROR:" ], [ "720", "988", "ERROR:", "ERROR:" ], [ "748", "988", "ERROR:", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_eval_blank_xgv.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_eval_blank_xgv.json deleted file mode 100644 index 85e62802e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_positive_eval_blank_xgv.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodes_positive_eval_blank_xgv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Positive Eval Blank", - "title" : "Lymph Nodes Positive Eval Blank Table", - "notes" : "**Note**: This table is used when CS Lymph Nodes Eval is not coded and CS Lymph Nodes is coded 100-500 ONLY. The N category is assigned based on the values of CS Site-Specific Factor 5, Size of Metastasis in Lymph Nodes, and Regional Nodes Positive. The N category is based on the clinical definition except when Regional Nodes Positive is greater than 05; then the N category is based on the pathologic definition.", - "last_modified" : "2015-05-27T16:19:25.774Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "ssf5", - "name" : "CS SSF 5", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "000-003", "ERROR:", "ERROR:" ], [ "01-05", "000-003", "ERROR:", "ERROR:" ], [ "06-90", "000-003", "ERROR:", "ERROR:" ], [ "95", "000-003", "ERROR:", "ERROR:" ], [ "97", "000-003", "ERROR:", "ERROR:" ], [ "98", "000-003", "ERROR:", "ERROR:" ], [ "99", "000-003", "ERROR:", "ERROR:" ], [ "00", "010", "VALUE:N1", "VALUE:N1" ], [ "01-05", "010", "VALUE:N1", "VALUE:N1" ], [ "06-90", "010", "VALUE:N2", "VALUE:N2" ], [ "95", "010", "VALUE:N1", "VALUE:N1" ], [ "97", "010", "VALUE:N1", "VALUE:N1" ], [ "98", "010", "VALUE:N1", "VALUE:N1" ], [ "99", "010", "VALUE:N1", "VALUE:N1" ], [ "00", "020", "VALUE:N2", "VALUE:N2" ], [ "01-05", "020", "VALUE:N2", "VALUE:N2" ], [ "06-90", "020", "VALUE:N2", "VALUE:N2" ], [ "95", "020", "VALUE:N2", "VALUE:N2" ], [ "97", "020", "VALUE:N2", "VALUE:N2" ], [ "98", "020", "VALUE:N2", "VALUE:N2" ], [ "99", "020", "VALUE:N2", "VALUE:N2" ], [ "00", "030", "VALUE:N3", "VALUE:N3" ], [ "01-05", "030", "VALUE:N3", "VALUE:N3" ], [ "06-90", "030", "VALUE:N3", "VALUE:N3" ], [ "95", "030", "VALUE:N3", "VALUE:N3" ], [ "97", "030", "VALUE:N3", "VALUE:N3" ], [ "98", "030", "VALUE:N3", "VALUE:N3" ], [ "99", "030", "VALUE:N3", "VALUE:N3" ], [ "00", "988", "ERROR:", "ERROR:" ], [ "01-05", "988", "ERROR:", "ERROR:" ], [ "06-90", "988", "ERROR:", "ERROR:" ], [ "95", "988", "ERROR:", "ERROR:" ], [ "97", "988", "ERROR:", "ERROR:" ], [ "98", "988", "ERROR:", "ERROR:" ], [ "99", "988", "ERROR:", "ERROR:" ], [ "00", "998", "ERROR:", "ERROR:" ], [ "01-05", "998", "ERROR:", "ERROR:" ], [ "06-90", "998", "ERROR:", "ERROR:" ], [ "95", "998", "ERROR:", "ERROR:" ], [ "97", "998", "ERROR:", "ERROR:" ], [ "98", "998", "ERROR:", "ERROR:" ], [ "99", "998", "ERROR:", "ERROR:" ], [ "00", "999", "VALUE:N1", "VALUE:N1" ], [ "01-05", "999", "VALUE:N1", "VALUE:N1" ], [ "06-90", "999", "VALUE:N2", "VALUE:N2" ], [ "95", "999", "VALUE:N1", "VALUE:N1" ], [ "97", "999", "VALUE:N1", "VALUE:N1" ], [ "98", "999", "VALUE:N1", "VALUE:N1" ], [ "99", "999", "VALUE:N1", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc6_table_csv1_xex.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc6_table_csv1_xex.json deleted file mode 100644 index f033c27fb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc6_table_csv1_xex.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_size_ajcc6_table_csv1_xex", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size AJCC 6 Table CSv1", - "title" : "Lymph Nodes Size AJCC 6 Table CSv1", - "notes" : "**Note**: For OBSOLETE CS Lymph Node codes ONLY, the N category for cases coded in CSv1 is determined by the size of involved nodes coded in CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in this table.", - "last_modified" : "2015-05-27T16:19:25.835Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF1 Size of Nodes", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "210", "000", "ERROR:" ], [ "220", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "310", "000", "ERROR:" ], [ "320", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "410", "000", "ERROR:" ], [ "420", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "510", "000", "ERROR:" ], [ "520", "000", "ERROR:" ], [ "100", "001-060", "VALUE:N1" ], [ "110", "001-060", "VALUE:N1" ], [ "120", "001-060", "VALUE:N1" ], [ "200", "001-060", "VALUE:N1" ], [ "210", "001-060", "VALUE:N1" ], [ "220", "001-060", "VALUE:N1" ], [ "300", "001-060", "VALUE:N1" ], [ "310", "001-060", "VALUE:N1" ], [ "320", "001-060", "VALUE:N1" ], [ "400", "001-060", "VALUE:N2" ], [ "410", "001-060", "VALUE:N2" ], [ "420", "001-060", "VALUE:N2" ], [ "500", "001-060", "VALUE:N1" ], [ "510", "001-060", "VALUE:N1" ], [ "520", "001-060", "VALUE:N1" ], [ "100", "061-980", "VALUE:N3a" ], [ "110", "061-980", "VALUE:N3a" ], [ "120", "061-980", "VALUE:N3a" ], [ "200", "061-980", "VALUE:N3a" ], [ "210", "061-980", "VALUE:N3a" ], [ "220", "061-980", "VALUE:N3a" ], [ "300", "061-980", "VALUE:N3a" ], [ "310", "061-980", "VALUE:N3a" ], [ "320", "061-980", "VALUE:N3a" ], [ "400", "061-980", "VALUE:N3a" ], [ "410", "061-980", "VALUE:N3a" ], [ "420", "061-980", "VALUE:N3a" ], [ "500", "061-980", "VALUE:N3a" ], [ "510", "061-980", "VALUE:N3a" ], [ "520", "061-980", "VALUE:N3a" ], [ "100", "981-987", "ERROR:" ], [ "110", "981-987", "ERROR:" ], [ "120", "981-987", "ERROR:" ], [ "200", "981-987", "ERROR:" ], [ "210", "981-987", "ERROR:" ], [ "220", "981-987", "ERROR:" ], [ "300", "981-987", "ERROR:" ], [ "310", "981-987", "ERROR:" ], [ "320", "981-987", "ERROR:" ], [ "400", "981-987", "ERROR:" ], [ "410", "981-987", "ERROR:" ], [ "420", "981-987", "ERROR:" ], [ "500", "981-987", "ERROR:" ], [ "510", "981-987", "ERROR:" ], [ "520", "981-987", "ERROR:" ], [ "100", "988", "ERROR:" ], [ "110", "988", "ERROR:" ], [ "120", "988", "ERROR:" ], [ "200", "988", "ERROR:" ], [ "210", "988", "ERROR:" ], [ "220", "988", "ERROR:" ], [ "300", "988", "ERROR:" ], [ "310", "988", "ERROR:" ], [ "320", "988", "ERROR:" ], [ "400", "988", "ERROR:" ], [ "410", "988", "ERROR:" ], [ "420", "988", "ERROR:" ], [ "500", "988", "ERROR:" ], [ "510", "988", "ERROR:" ], [ "520", "988", "ERROR:" ], [ "100", "989", "ERROR:" ], [ "110", "989", "ERROR:" ], [ "120", "989", "ERROR:" ], [ "200", "989", "ERROR:" ], [ "210", "989", "ERROR:" ], [ "220", "989", "ERROR:" ], [ "300", "989", "ERROR:" ], [ "310", "989", "ERROR:" ], [ "320", "989", "ERROR:" ], [ "400", "989", "ERROR:" ], [ "410", "989", "ERROR:" ], [ "420", "989", "ERROR:" ], [ "500", "989", "ERROR:" ], [ "510", "989", "ERROR:" ], [ "520", "989", "ERROR:" ], [ "100", "990-996", "VALUE:N1" ], [ "110", "990-996", "VALUE:N1" ], [ "120", "990-996", "VALUE:N1" ], [ "200", "990-996", "VALUE:N1" ], [ "210", "990-996", "VALUE:N1" ], [ "220", "990-996", "VALUE:N1" ], [ "300", "990-996", "VALUE:N1" ], [ "310", "990-996", "VALUE:N1" ], [ "320", "990-996", "VALUE:N1" ], [ "400", "990-996", "VALUE:N2" ], [ "410", "990-996", "VALUE:N2" ], [ "420", "990-996", "VALUE:N2" ], [ "500", "990-996", "VALUE:N1" ], [ "510", "990-996", "VALUE:N1" ], [ "520", "990-996", "VALUE:N1" ], [ "100", "997", "VALUE:N3a" ], [ "110", "997", "VALUE:N3a" ], [ "120", "997", "VALUE:N3a" ], [ "200", "997", "VALUE:N3a" ], [ "210", "997", "VALUE:N3a" ], [ "220", "997", "VALUE:N3a" ], [ "300", "997", "VALUE:N3a" ], [ "310", "997", "VALUE:N3a" ], [ "320", "997", "VALUE:N3a" ], [ "400", "997", "VALUE:N3a" ], [ "410", "997", "VALUE:N3a" ], [ "420", "997", "VALUE:N3a" ], [ "500", "997", "VALUE:N3a" ], [ "510", "997", "VALUE:N3a" ], [ "520", "997", "VALUE:N3a" ], [ "100", "999", "VALUE:N1" ], [ "110", "999", "VALUE:N1" ], [ "120", "999", "VALUE:N1" ], [ "200", "999", "VALUE:N1" ], [ "210", "999", "VALUE:N1" ], [ "220", "999", "VALUE:N1" ], [ "300", "999", "VALUE:N1" ], [ "310", "999", "VALUE:N1" ], [ "320", "999", "VALUE:N1" ], [ "400", "999", "VALUE:N2" ], [ "410", "999", "VALUE:N2" ], [ "420", "999", "VALUE:N2" ], [ "500", "999", "VALUE:N1" ], [ "510", "999", "VALUE:N1" ], [ "520", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfb.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfb.json deleted file mode 100644 index 28e4814c5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfb.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_size_ajcc7_xfb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size AJCC7", - "title" : "Lymph Nodes Size AJCC 7 Table", - "notes" : "**Note**: For CS Lymph Nodes codes 150-700 ONLY, the N category for AJCC 7 staging is determined by the size of involved nodes as coded in CS Site-Specific Factor 16, Size of Lymph Nodes, as shown in this table.", - "last_modified" : "2015-05-27T16:19:25.890Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf16", - "name" : "CS SSF16", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "150", "000", "ERROR:" ], [ "180", "000", "ERROR:" ], [ "190", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "290", "000", "ERROR:" ], [ "350", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "490", "000", "ERROR:" ], [ "550", "000", "ERROR:" ], [ "600", "000", "ERROR:" ], [ "700", "000", "ERROR:" ], [ "150", "001-030", "VALUE:N1" ], [ "180", "001-030", "VALUE:N1" ], [ "190", "001-030", "VALUE:N1" ], [ "250", "001-030", "VALUE:N2b" ], [ "290", "001-030", "VALUE:N2b" ], [ "350", "001-030", "VALUE:N1" ], [ "450", "001-030", "VALUE:N2c" ], [ "490", "001-030", "VALUE:N2c" ], [ "550", "001-030", "VALUE:N1" ], [ "600", "001-030", "VALUE:N1" ], [ "700", "001-030", "VALUE:N1" ], [ "150", "031-060", "VALUE:N2a" ], [ "180", "031-060", "VALUE:N2a" ], [ "190", "031-060", "VALUE:N2a" ], [ "250", "031-060", "VALUE:N2b" ], [ "290", "031-060", "VALUE:N2b" ], [ "350", "031-060", "VALUE:N2a" ], [ "450", "031-060", "VALUE:N2c" ], [ "490", "031-060", "VALUE:N2c" ], [ "550", "031-060", "VALUE:N2NOS" ], [ "600", "031-060", "VALUE:N2NOS" ], [ "700", "031-060", "VALUE:N2NOS" ], [ "150", "061-980", "VALUE:N3" ], [ "180", "061-980", "VALUE:N3" ], [ "190", "061-980", "VALUE:N3" ], [ "250", "061-980", "VALUE:N3" ], [ "290", "061-980", "VALUE:N3" ], [ "350", "061-980", "VALUE:N3" ], [ "450", "061-980", "VALUE:N3" ], [ "490", "061-980", "VALUE:N3" ], [ "550", "061-980", "VALUE:N3" ], [ "600", "061-980", "VALUE:N3" ], [ "700", "061-980", "VALUE:N3" ], [ "150", "988", "VALUE:N1" ], [ "180", "988", "VALUE:N1" ], [ "190", "988", "VALUE:N2a" ], [ "250", "988", "VALUE:N2b" ], [ "290", "988", "VALUE:N2b" ], [ "350", "988", "VALUE:N1" ], [ "450", "988", "VALUE:N2c" ], [ "490", "988", "VALUE:N2c" ], [ "550", "988", "VALUE:N1" ], [ "600", "988", "VALUE:N2NOS" ], [ "700", "988", "VALUE:N3" ], [ "150", "990", "VALUE:N1" ], [ "180", "990", "VALUE:N1" ], [ "190", "990", "VALUE:N1" ], [ "250", "990", "VALUE:N2b" ], [ "290", "990", "VALUE:N2b" ], [ "350", "990", "VALUE:N1" ], [ "450", "990", "VALUE:N2c" ], [ "490", "990", "VALUE:N2c" ], [ "550", "990", "VALUE:N1" ], [ "600", "990", "VALUE:N1" ], [ "700", "990", "VALUE:N1" ], [ "150", "991-993", "VALUE:N1" ], [ "180", "991-993", "VALUE:N1" ], [ "190", "991-993", "VALUE:N1" ], [ "250", "991-993", "VALUE:N2b" ], [ "290", "991-993", "VALUE:N2b" ], [ "350", "991-993", "VALUE:N1" ], [ "450", "991-993", "VALUE:N2c" ], [ "490", "991-993", "VALUE:N2c" ], [ "550", "991-993", "VALUE:N1" ], [ "600", "991-993", "VALUE:N1" ], [ "700", "991-993", "VALUE:N1" ], [ "150", "994-996", "VALUE:N2a" ], [ "180", "994-996", "VALUE:N2a" ], [ "190", "994-996", "VALUE:N2a" ], [ "250", "994-996", "VALUE:N2b" ], [ "290", "994-996", "VALUE:N2b" ], [ "350", "994-996", "VALUE:N2a" ], [ "450", "994-996", "VALUE:N2c" ], [ "490", "994-996", "VALUE:N2c" ], [ "550", "994-996", "VALUE:N2NOS" ], [ "600", "994-996", "VALUE:N2NOS" ], [ "700", "994-996", "VALUE:N2NOS" ], [ "150", "997", "VALUE:N3" ], [ "180", "997", "VALUE:N3" ], [ "190", "997", "VALUE:N3" ], [ "250", "997", "VALUE:N3" ], [ "290", "997", "VALUE:N3" ], [ "350", "997", "VALUE:N3" ], [ "450", "997", "VALUE:N3" ], [ "490", "997", "VALUE:N3" ], [ "550", "997", "VALUE:N3" ], [ "600", "997", "VALUE:N3" ], [ "700", "997", "VALUE:N3" ], [ "150", "999", "VALUE:N1" ], [ "180", "999", "VALUE:N1" ], [ "190", "999", "VALUE:N2a" ], [ "250", "999", "VALUE:N2b" ], [ "290", "999", "VALUE:N2b" ], [ "350", "999", "VALUE:N1" ], [ "450", "999", "VALUE:N2c" ], [ "490", "999", "VALUE:N2c" ], [ "550", "999", "VALUE:N1" ], [ "600", "999", "VALUE:N2NOS" ], [ "700", "999", "VALUE:N3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfz.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfz.json deleted file mode 100644 index fc81212cf..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_ajcc7_xfz.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_size_ajcc7_xfz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size AJCC7", - "title" : "Lymph Nodes Size AJCC 7 Table", - "notes" : "**Note**: For CS Lymph Nodes codes 150-700 ONLY, the N category for AJCC 7 staging is determined by the size of involved nodes as coded in CS Site-Specific Factor 16, Size of Lymph Nodes, as shown in this table.", - "last_modified" : "2015-05-27T16:19:25.947Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf16", - "name" : "CS SSF16", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "150", "000", "ERROR:" ], [ "160", "000", "ERROR:" ], [ "180", "000", "ERROR:" ], [ "190", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "260", "000", "ERROR:" ], [ "270", "000", "ERROR:" ], [ "290", "000", "ERROR:" ], [ "350", "000", "ERROR:" ], [ "360", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "460", "000", "ERROR:" ], [ "470", "000", "ERROR:" ], [ "490", "000", "ERROR:" ], [ "550", "000", "ERROR:" ], [ "560", "000", "ERROR:" ], [ "570", "000", "ERROR:" ], [ "600", "000", "ERROR:" ], [ "700", "000", "ERROR:" ], [ "150", "001-030", "VALUE:N1" ], [ "160", "001-030", "VALUE:N1" ], [ "180", "001-030", "VALUE:N1" ], [ "190", "001-030", "VALUE:N1" ], [ "250", "001-030", "VALUE:N2b" ], [ "260", "001-030", "VALUE:N2b" ], [ "270", "001-030", "VALUE:N2b" ], [ "290", "001-030", "VALUE:N2b" ], [ "350", "001-030", "VALUE:N1" ], [ "360", "001-030", "VALUE:N1" ], [ "450", "001-030", "VALUE:N2c" ], [ "460", "001-030", "VALUE:N2c" ], [ "470", "001-030", "VALUE:N2c" ], [ "490", "001-030", "VALUE:N2c" ], [ "550", "001-030", "VALUE:N1" ], [ "560", "001-030", "VALUE:N1" ], [ "570", "001-030", "VALUE:N1" ], [ "600", "001-030", "VALUE:N1" ], [ "700", "001-030", "VALUE:N1" ], [ "150", "031-060", "VALUE:N2a" ], [ "160", "031-060", "VALUE:N2a" ], [ "180", "031-060", "VALUE:N2a" ], [ "190", "031-060", "VALUE:N2a" ], [ "250", "031-060", "VALUE:N2b" ], [ "260", "031-060", "VALUE:N2b" ], [ "270", "031-060", "VALUE:N2b" ], [ "290", "031-060", "VALUE:N2b" ], [ "350", "031-060", "VALUE:N2a" ], [ "360", "031-060", "VALUE:N2a" ], [ "450", "031-060", "VALUE:N2c" ], [ "460", "031-060", "VALUE:N2c" ], [ "470", "031-060", "VALUE:N2c" ], [ "490", "031-060", "VALUE:N2c" ], [ "550", "031-060", "VALUE:N2NOS" ], [ "560", "031-060", "VALUE:N2NOS" ], [ "570", "031-060", "VALUE:N2NOS" ], [ "600", "031-060", "VALUE:N2NOS" ], [ "700", "031-060", "VALUE:N2NOS" ], [ "150", "061-980", "VALUE:N3" ], [ "160", "061-980", "VALUE:N3" ], [ "180", "061-980", "VALUE:N3" ], [ "190", "061-980", "VALUE:N3" ], [ "250", "061-980", "VALUE:N3" ], [ "260", "061-980", "VALUE:N3" ], [ "270", "061-980", "VALUE:N3" ], [ "290", "061-980", "VALUE:N3" ], [ "350", "061-980", "VALUE:N3" ], [ "360", "061-980", "VALUE:N3" ], [ "450", "061-980", "VALUE:N3" ], [ "460", "061-980", "VALUE:N3" ], [ "470", "061-980", "VALUE:N3" ], [ "490", "061-980", "VALUE:N3" ], [ "550", "061-980", "VALUE:N3" ], [ "560", "061-980", "VALUE:N3" ], [ "570", "061-980", "VALUE:N3" ], [ "600", "061-980", "VALUE:N3" ], [ "700", "061-980", "VALUE:N3" ], [ "150", "988", "ERROR:" ], [ "160", "988", "ERROR:" ], [ "180", "988", "ERROR:" ], [ "190", "988", "ERROR:" ], [ "250", "988", "ERROR:" ], [ "260", "988", "ERROR:" ], [ "270", "988", "ERROR:" ], [ "290", "988", "ERROR:" ], [ "350", "988", "ERROR:" ], [ "360", "988", "ERROR:" ], [ "450", "988", "ERROR:" ], [ "460", "988", "ERROR:" ], [ "470", "988", "ERROR:" ], [ "490", "988", "ERROR:" ], [ "550", "988", "ERROR:" ], [ "560", "988", "ERROR:" ], [ "570", "988", "ERROR:" ], [ "600", "988", "ERROR:" ], [ "700", "988", "ERROR:" ], [ "150", "990", "VALUE:N1" ], [ "160", "990", "VALUE:N1" ], [ "180", "990", "VALUE:N1" ], [ "190", "990", "VALUE:N1" ], [ "250", "990", "VALUE:N2b" ], [ "260", "990", "VALUE:N2b" ], [ "270", "990", "VALUE:N2b" ], [ "290", "990", "VALUE:N2b" ], [ "350", "990", "VALUE:N1" ], [ "360", "990", "VALUE:N1" ], [ "450", "990", "VALUE:N2c" ], [ "460", "990", "VALUE:N2c" ], [ "470", "990", "VALUE:N2c" ], [ "490", "990", "VALUE:N2c" ], [ "550", "990", "VALUE:N1" ], [ "560", "990", "VALUE:N1" ], [ "570", "990", "VALUE:N1" ], [ "600", "990", "VALUE:N1" ], [ "700", "990", "VALUE:N1" ], [ "150", "991-993", "VALUE:N1" ], [ "160", "991-993", "VALUE:N1" ], [ "180", "991-993", "VALUE:N1" ], [ "190", "991-993", "VALUE:N1" ], [ "250", "991-993", "VALUE:N2b" ], [ "260", "991-993", "VALUE:N2b" ], [ "270", "991-993", "VALUE:N2b" ], [ "290", "991-993", "VALUE:N2b" ], [ "350", "991-993", "VALUE:N1" ], [ "360", "991-993", "VALUE:N1" ], [ "450", "991-993", "VALUE:N2c" ], [ "460", "991-993", "VALUE:N2c" ], [ "470", "991-993", "VALUE:N2c" ], [ "490", "991-993", "VALUE:N2c" ], [ "550", "991-993", "VALUE:N1" ], [ "560", "991-993", "VALUE:N1" ], [ "570", "991-993", "VALUE:N1" ], [ "600", "991-993", "VALUE:N1" ], [ "700", "991-993", "VALUE:N1" ], [ "150", "994-996", "VALUE:N2a" ], [ "160", "994-996", "VALUE:N2a" ], [ "180", "994-996", "VALUE:N2a" ], [ "190", "994-996", "VALUE:N2a" ], [ "250", "994-996", "VALUE:N2b" ], [ "260", "994-996", "VALUE:N2b" ], [ "270", "994-996", "VALUE:N2b" ], [ "290", "994-996", "VALUE:N2b" ], [ "350", "994-996", "VALUE:N2a" ], [ "360", "994-996", "VALUE:N2a" ], [ "450", "994-996", "VALUE:N2c" ], [ "460", "994-996", "VALUE:N2c" ], [ "470", "994-996", "VALUE:N2c" ], [ "490", "994-996", "VALUE:N2c" ], [ "550", "994-996", "VALUE:N2NOS" ], [ "560", "994-996", "VALUE:N2NOS" ], [ "570", "994-996", "VALUE:N2NOS" ], [ "600", "994-996", "VALUE:N2NOS" ], [ "700", "994-996", "VALUE:N2NOS" ], [ "150", "997", "VALUE:N3" ], [ "160", "997", "VALUE:N3" ], [ "180", "997", "VALUE:N3" ], [ "190", "997", "VALUE:N3" ], [ "250", "997", "VALUE:N3" ], [ "260", "997", "VALUE:N3" ], [ "270", "997", "VALUE:N3" ], [ "290", "997", "VALUE:N3" ], [ "350", "997", "VALUE:N3" ], [ "360", "997", "VALUE:N3" ], [ "450", "997", "VALUE:N3" ], [ "460", "997", "VALUE:N3" ], [ "470", "997", "VALUE:N3" ], [ "490", "997", "VALUE:N3" ], [ "550", "997", "VALUE:N3" ], [ "560", "997", "VALUE:N3" ], [ "570", "997", "VALUE:N3" ], [ "600", "997", "VALUE:N3" ], [ "700", "997", "VALUE:N3" ], [ "150", "999", "VALUE:N1" ], [ "160", "999", "VALUE:N1" ], [ "180", "999", "VALUE:N1" ], [ "190", "999", "VALUE:N2a" ], [ "250", "999", "VALUE:N2b" ], [ "260", "999", "VALUE:N2b" ], [ "270", "999", "VALUE:N2b" ], [ "290", "999", "VALUE:N2b" ], [ "350", "999", "VALUE:N1" ], [ "360", "999", "VALUE:N1" ], [ "450", "999", "VALUE:N2c" ], [ "460", "999", "VALUE:N2c" ], [ "470", "999", "VALUE:N2c" ], [ "490", "999", "VALUE:N2c" ], [ "550", "999", "VALUE:N1" ], [ "560", "999", "VALUE:N1" ], [ "570", "999", "VALUE:N1" ], [ "600", "999", "VALUE:N2NOS" ], [ "700", "999", "VALUE:N3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv1_xix.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv1_xix.json deleted file mode 100644 index af9d2a773..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv1_xix.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_size_csv1_xix", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size CSv1", - "title" : "Lymph Nodes Size CSv1 Table", - "notes" : "**Note**: For OBSOLETE CS Lymph Node codes 100, 110, 120, 200, 210, 220, 300, 310, 320, 400, 410, 420, 500, 510, 520, and 750 ONLY, the N category is determined by the size of involved nodes as coded in CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in this table.", - "last_modified" : "2015-05-27T16:19:26.007Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF 1", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "200", "000", "ERROR:" ], [ "210", "000", "ERROR:" ], [ "220", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "310", "000", "ERROR:" ], [ "320", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "410", "000", "ERROR:" ], [ "420", "000", "ERROR:" ], [ "500", "000", "ERROR:" ], [ "510", "000", "ERROR:" ], [ "520", "000", "ERROR:" ], [ "750", "000", "ERROR:" ], [ "100", "001-030", "VALUE:N1" ], [ "110", "001-030", "VALUE:N1" ], [ "120", "001-030", "VALUE:N1" ], [ "200", "001-030", "VALUE:N2b" ], [ "210", "001-030", "VALUE:N2b" ], [ "220", "001-030", "VALUE:N2b" ], [ "300", "001-030", "VALUE:N1" ], [ "310", "001-030", "VALUE:N1" ], [ "320", "001-030", "VALUE:N1" ], [ "400", "001-030", "VALUE:N2c" ], [ "410", "001-030", "VALUE:N2c" ], [ "420", "001-030", "VALUE:N2c" ], [ "500", "001-030", "VALUE:N1" ], [ "510", "001-030", "VALUE:N1" ], [ "520", "001-030", "VALUE:N1" ], [ "750", "001-030", "VALUE:N1" ], [ "100", "031-060", "VALUE:N2a" ], [ "110", "031-060", "VALUE:N2a" ], [ "120", "031-060", "VALUE:N2a" ], [ "200", "031-060", "VALUE:N2b" ], [ "210", "031-060", "VALUE:N2b" ], [ "220", "031-060", "VALUE:N2b" ], [ "300", "031-060", "VALUE:N2a" ], [ "310", "031-060", "VALUE:N2a" ], [ "320", "031-060", "VALUE:N2a" ], [ "400", "031-060", "VALUE:N2c" ], [ "410", "031-060", "VALUE:N2c" ], [ "420", "031-060", "VALUE:N2c" ], [ "500", "031-060", "VALUE:N2NOS" ], [ "510", "031-060", "VALUE:N2NOS" ], [ "520", "031-060", "VALUE:N2NOS" ], [ "750", "031-060", "VALUE:N2NOS" ], [ "100", "061-980", "VALUE:N3" ], [ "110", "061-980", "VALUE:N3" ], [ "120", "061-980", "VALUE:N3" ], [ "200", "061-980", "VALUE:N3" ], [ "210", "061-980", "VALUE:N3" ], [ "220", "061-980", "VALUE:N3" ], [ "300", "061-980", "VALUE:N3" ], [ "310", "061-980", "VALUE:N3" ], [ "320", "061-980", "VALUE:N3" ], [ "400", "061-980", "VALUE:N3" ], [ "410", "061-980", "VALUE:N3" ], [ "420", "061-980", "VALUE:N3" ], [ "500", "061-980", "VALUE:N3" ], [ "510", "061-980", "VALUE:N3" ], [ "520", "061-980", "VALUE:N3" ], [ "750", "061-980", "VALUE:N3" ], [ "100", "981-987", "ERROR:" ], [ "110", "981-987", "ERROR:" ], [ "120", "981-987", "ERROR:" ], [ "200", "981-987", "ERROR:" ], [ "210", "981-987", "ERROR:" ], [ "220", "981-987", "ERROR:" ], [ "300", "981-987", "ERROR:" ], [ "310", "981-987", "ERROR:" ], [ "320", "981-987", "ERROR:" ], [ "400", "981-987", "ERROR:" ], [ "410", "981-987", "ERROR:" ], [ "420", "981-987", "ERROR:" ], [ "500", "981-987", "ERROR:" ], [ "510", "981-987", "ERROR:" ], [ "520", "981-987", "ERROR:" ], [ "750", "981-987", "ERROR:" ], [ "100", "988", "ERROR:" ], [ "110", "988", "ERROR:" ], [ "120", "988", "ERROR:" ], [ "200", "988", "ERROR:" ], [ "210", "988", "ERROR:" ], [ "220", "988", "ERROR:" ], [ "300", "988", "ERROR:" ], [ "310", "988", "ERROR:" ], [ "320", "988", "ERROR:" ], [ "400", "988", "ERROR:" ], [ "410", "988", "ERROR:" ], [ "420", "988", "ERROR:" ], [ "500", "988", "ERROR:" ], [ "510", "988", "ERROR:" ], [ "520", "988", "ERROR:" ], [ "750", "988", "ERROR:" ], [ "100", "989", "ERROR:" ], [ "110", "989", "ERROR:" ], [ "120", "989", "ERROR:" ], [ "200", "989", "ERROR:" ], [ "210", "989", "ERROR:" ], [ "220", "989", "ERROR:" ], [ "300", "989", "ERROR:" ], [ "310", "989", "ERROR:" ], [ "320", "989", "ERROR:" ], [ "400", "989", "ERROR:" ], [ "410", "989", "ERROR:" ], [ "420", "989", "ERROR:" ], [ "500", "989", "ERROR:" ], [ "510", "989", "ERROR:" ], [ "520", "989", "ERROR:" ], [ "750", "989", "ERROR:" ], [ "100", "990", "VALUE:N1" ], [ "110", "990", "VALUE:N1" ], [ "120", "990", "VALUE:N1" ], [ "200", "990", "VALUE:N2b" ], [ "210", "990", "VALUE:N2b" ], [ "220", "990", "VALUE:N2b" ], [ "300", "990", "VALUE:N1" ], [ "310", "990", "VALUE:N1" ], [ "320", "990", "VALUE:N1" ], [ "400", "990", "VALUE:N2c" ], [ "410", "990", "VALUE:N2c" ], [ "420", "990", "VALUE:N2c" ], [ "500", "990", "VALUE:N1" ], [ "510", "990", "VALUE:N1" ], [ "520", "990", "VALUE:N1" ], [ "750", "990", "VALUE:N1" ], [ "100", "991-993", "VALUE:N1" ], [ "110", "991-993", "VALUE:N1" ], [ "120", "991-993", "VALUE:N1" ], [ "200", "991-993", "VALUE:N2b" ], [ "210", "991-993", "VALUE:N2b" ], [ "220", "991-993", "VALUE:N2b" ], [ "300", "991-993", "VALUE:N1" ], [ "310", "991-993", "VALUE:N1" ], [ "320", "991-993", "VALUE:N1" ], [ "400", "991-993", "VALUE:N2c" ], [ "410", "991-993", "VALUE:N2c" ], [ "420", "991-993", "VALUE:N2c" ], [ "500", "991-993", "VALUE:N1" ], [ "510", "991-993", "VALUE:N1" ], [ "520", "991-993", "VALUE:N1" ], [ "750", "991-993", "VALUE:N1" ], [ "100", "994-996", "VALUE:N2a" ], [ "110", "994-996", "VALUE:N2a" ], [ "120", "994-996", "VALUE:N2a" ], [ "200", "994-996", "VALUE:N2b" ], [ "210", "994-996", "VALUE:N2b" ], [ "220", "994-996", "VALUE:N2b" ], [ "300", "994-996", "VALUE:N2a" ], [ "310", "994-996", "VALUE:N2a" ], [ "320", "994-996", "VALUE:N2a" ], [ "400", "994-996", "VALUE:N2c" ], [ "410", "994-996", "VALUE:N2c" ], [ "420", "994-996", "VALUE:N2c" ], [ "500", "994-996", "VALUE:N2NOS" ], [ "510", "994-996", "VALUE:N2NOS" ], [ "520", "994-996", "VALUE:N2NOS" ], [ "750", "994-996", "VALUE:N2NOS" ], [ "100", "997", "VALUE:N3" ], [ "110", "997", "VALUE:N3" ], [ "120", "997", "VALUE:N3" ], [ "200", "997", "VALUE:N3" ], [ "210", "997", "VALUE:N3" ], [ "220", "997", "VALUE:N3" ], [ "300", "997", "VALUE:N3" ], [ "310", "997", "VALUE:N3" ], [ "320", "997", "VALUE:N3" ], [ "400", "997", "VALUE:N3" ], [ "410", "997", "VALUE:N3" ], [ "420", "997", "VALUE:N3" ], [ "500", "997", "VALUE:N3" ], [ "510", "997", "VALUE:N3" ], [ "520", "997", "VALUE:N3" ], [ "750", "997", "VALUE:N3" ], [ "100", "999", "VALUE:N1" ], [ "110", "999", "VALUE:N1" ], [ "120", "999", "VALUE:N1" ], [ "200", "999", "VALUE:N2b" ], [ "210", "999", "VALUE:N2b" ], [ "220", "999", "VALUE:N2b" ], [ "300", "999", "VALUE:N1" ], [ "310", "999", "VALUE:N1" ], [ "320", "999", "VALUE:N1" ], [ "400", "999", "VALUE:N2c" ], [ "410", "999", "VALUE:N2c" ], [ "420", "999", "VALUE:N2c" ], [ "500", "999", "VALUE:N1" ], [ "510", "999", "VALUE:N1" ], [ "520", "999", "VALUE:N1" ], [ "750", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv2_xiw.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv2_xiw.json deleted file mode 100644 index c671a9dff..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_csv2_xiw.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodes_size_csv2_xiw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size CSv2", - "title" : "Lymph Nodes Size CSv2 Table", - "notes" : "**Note**: For CS Lymph Node codes 105, 115, 125-190, 205, 215, 225, 290, 305, 315, 325, 405, 415, 425, 490, 505, 515, and 525-700 ONLY, the N category is determined by the size of involved nodes coded CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in this table.", - "last_modified" : "2015-05-27T16:19:26.065Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF 1", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "105", "000", "ERROR:", "ERROR:" ], [ "115", "000", "ERROR:", "ERROR:" ], [ "125", "000", "ERROR:", "ERROR:" ], [ "180", "000", "ERROR:", "ERROR:" ], [ "190", "000", "ERROR:", "ERROR:" ], [ "205", "000", "ERROR:", "ERROR:" ], [ "215", "000", "ERROR:", "ERROR:" ], [ "225", "000", "ERROR:", "ERROR:" ], [ "290", "000", "ERROR:", "ERROR:" ], [ "305", "000", "ERROR:", "ERROR:" ], [ "315", "000", "ERROR:", "ERROR:" ], [ "325", "000", "ERROR:", "ERROR:" ], [ "405", "000", "ERROR:", "ERROR:" ], [ "415", "000", "ERROR:", "ERROR:" ], [ "425", "000", "ERROR:", "ERROR:" ], [ "490", "000", "ERROR:", "ERROR:" ], [ "505", "000", "ERROR:", "ERROR:" ], [ "515", "000", "ERROR:", "ERROR:" ], [ "525", "000", "ERROR:", "ERROR:" ], [ "600", "000", "ERROR:", "ERROR:" ], [ "700", "000", "ERROR:", "ERROR:" ], [ "105", "001-030", "VALUE:N1", "VALUE:N1" ], [ "115", "001-030", "VALUE:N1", "VALUE:N1" ], [ "125", "001-030", "VALUE:N1", "VALUE:N1" ], [ "180", "001-030", "VALUE:N1", "VALUE:N1" ], [ "190", "001-030", "VALUE:N1", "VALUE:N1" ], [ "205", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "215", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "225", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "290", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "305", "001-030", "VALUE:N1", "VALUE:N1" ], [ "315", "001-030", "VALUE:N1", "VALUE:N1" ], [ "325", "001-030", "VALUE:N1", "VALUE:N1" ], [ "405", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "415", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "425", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "490", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "505", "001-030", "VALUE:N1", "VALUE:N1" ], [ "515", "001-030", "VALUE:N1", "VALUE:N1" ], [ "525", "001-030", "VALUE:N1", "VALUE:N1" ], [ "600", "001-030", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "001-030", "VALUE:N1", "VALUE:N1" ], [ "105", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "115", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "125", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "180", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "190", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "205", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "215", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "225", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "290", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "305", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "315", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "325", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "405", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "415", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "425", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "490", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "505", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "515", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "525", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "600", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "105", "061-980", "VALUE:N3", "VALUE:N3" ], [ "115", "061-980", "VALUE:N3", "VALUE:N3" ], [ "125", "061-980", "VALUE:N3", "VALUE:N3" ], [ "180", "061-980", "VALUE:N3", "VALUE:N3" ], [ "190", "061-980", "VALUE:N3", "VALUE:N3" ], [ "205", "061-980", "VALUE:N3", "VALUE:N3" ], [ "215", "061-980", "VALUE:N3", "VALUE:N3" ], [ "225", "061-980", "VALUE:N3", "VALUE:N3" ], [ "290", "061-980", "VALUE:N3", "VALUE:N3" ], [ "305", "061-980", "VALUE:N3", "VALUE:N3" ], [ "315", "061-980", "VALUE:N3", "VALUE:N3" ], [ "325", "061-980", "VALUE:N3", "VALUE:N3" ], [ "405", "061-980", "VALUE:N3", "VALUE:N3" ], [ "415", "061-980", "VALUE:N3", "VALUE:N3" ], [ "425", "061-980", "VALUE:N3", "VALUE:N3" ], [ "490", "061-980", "VALUE:N3", "VALUE:N3" ], [ "505", "061-980", "VALUE:N3", "VALUE:N3" ], [ "515", "061-980", "VALUE:N3", "VALUE:N3" ], [ "525", "061-980", "VALUE:N3", "VALUE:N3" ], [ "600", "061-980", "VALUE:N3", "VALUE:N3" ], [ "700", "061-980", "VALUE:N3", "VALUE:N3" ], [ "105", "981-987", "ERROR:", "ERROR:" ], [ "115", "981-987", "ERROR:", "ERROR:" ], [ "125", "981-987", "ERROR:", "ERROR:" ], [ "180", "981-987", "ERROR:", "ERROR:" ], [ "190", "981-987", "ERROR:", "ERROR:" ], [ "205", "981-987", "ERROR:", "ERROR:" ], [ "215", "981-987", "ERROR:", "ERROR:" ], [ "225", "981-987", "ERROR:", "ERROR:" ], [ "290", "981-987", "ERROR:", "ERROR:" ], [ "305", "981-987", "ERROR:", "ERROR:" ], [ "315", "981-987", "ERROR:", "ERROR:" ], [ "325", "981-987", "ERROR:", "ERROR:" ], [ "405", "981-987", "ERROR:", "ERROR:" ], [ "415", "981-987", "ERROR:", "ERROR:" ], [ "425", "981-987", "ERROR:", "ERROR:" ], [ "490", "981-987", "ERROR:", "ERROR:" ], [ "505", "981-987", "ERROR:", "ERROR:" ], [ "515", "981-987", "ERROR:", "ERROR:" ], [ "525", "981-987", "ERROR:", "ERROR:" ], [ "600", "981-987", "ERROR:", "ERROR:" ], [ "700", "981-987", "ERROR:", "ERROR:" ], [ "105", "988", "ERROR:", "ERROR:" ], [ "115", "988", "ERROR:", "ERROR:" ], [ "125", "988", "ERROR:", "ERROR:" ], [ "180", "988", "ERROR:", "ERROR:" ], [ "190", "988", "ERROR:", "ERROR:" ], [ "205", "988", "ERROR:", "ERROR:" ], [ "215", "988", "ERROR:", "ERROR:" ], [ "225", "988", "ERROR:", "ERROR:" ], [ "290", "988", "ERROR:", "ERROR:" ], [ "305", "988", "ERROR:", "ERROR:" ], [ "315", "988", "ERROR:", "ERROR:" ], [ "325", "988", "ERROR:", "ERROR:" ], [ "405", "988", "ERROR:", "ERROR:" ], [ "415", "988", "ERROR:", "ERROR:" ], [ "425", "988", "ERROR:", "ERROR:" ], [ "490", "988", "ERROR:", "ERROR:" ], [ "505", "988", "ERROR:", "ERROR:" ], [ "515", "988", "ERROR:", "ERROR:" ], [ "525", "988", "ERROR:", "ERROR:" ], [ "600", "988", "ERROR:", "ERROR:" ], [ "700", "988", "ERROR:", "ERROR:" ], [ "105", "989", "ERROR:", "ERROR:" ], [ "115", "989", "ERROR:", "ERROR:" ], [ "125", "989", "ERROR:", "ERROR:" ], [ "180", "989", "ERROR:", "ERROR:" ], [ "190", "989", "ERROR:", "ERROR:" ], [ "205", "989", "ERROR:", "ERROR:" ], [ "215", "989", "ERROR:", "ERROR:" ], [ "225", "989", "ERROR:", "ERROR:" ], [ "290", "989", "ERROR:", "ERROR:" ], [ "305", "989", "ERROR:", "ERROR:" ], [ "315", "989", "ERROR:", "ERROR:" ], [ "325", "989", "ERROR:", "ERROR:" ], [ "405", "989", "ERROR:", "ERROR:" ], [ "415", "989", "ERROR:", "ERROR:" ], [ "425", "989", "ERROR:", "ERROR:" ], [ "490", "989", "ERROR:", "ERROR:" ], [ "505", "989", "ERROR:", "ERROR:" ], [ "515", "989", "ERROR:", "ERROR:" ], [ "525", "989", "ERROR:", "ERROR:" ], [ "600", "989", "ERROR:", "ERROR:" ], [ "700", "989", "ERROR:", "ERROR:" ], [ "105", "990", "VALUE:N1", "VALUE:N1" ], [ "115", "990", "VALUE:N1", "VALUE:N1" ], [ "125", "990", "VALUE:N1", "VALUE:N1" ], [ "180", "990", "VALUE:N1", "VALUE:N1" ], [ "190", "990", "VALUE:N1", "VALUE:N1" ], [ "205", "990", "VALUE:N2b", "VALUE:N2b" ], [ "215", "990", "VALUE:N2b", "VALUE:N2b" ], [ "225", "990", "VALUE:N2b", "VALUE:N2b" ], [ "290", "990", "VALUE:N2b", "VALUE:N2b" ], [ "305", "990", "VALUE:N1", "VALUE:N1" ], [ "315", "990", "VALUE:N1", "VALUE:N1" ], [ "325", "990", "VALUE:N1", "VALUE:N1" ], [ "405", "990", "VALUE:N2c", "VALUE:N2c" ], [ "415", "990", "VALUE:N2c", "VALUE:N2c" ], [ "425", "990", "VALUE:N2c", "VALUE:N2c" ], [ "490", "990", "VALUE:N2c", "VALUE:N2c" ], [ "505", "990", "VALUE:N1", "VALUE:N1" ], [ "515", "990", "VALUE:N1", "VALUE:N1" ], [ "525", "990", "VALUE:N1", "VALUE:N1" ], [ "600", "990", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "990", "VALUE:N1", "VALUE:N1" ], [ "105", "991-993", "VALUE:N1", "VALUE:N1" ], [ "115", "991-993", "VALUE:N1", "VALUE:N1" ], [ "125", "991-993", "VALUE:N1", "VALUE:N1" ], [ "180", "991-993", "VALUE:N1", "VALUE:N1" ], [ "190", "991-993", "VALUE:N1", "VALUE:N1" ], [ "205", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "215", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "225", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "290", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "305", "991-993", "VALUE:N1", "VALUE:N1" ], [ "315", "991-993", "VALUE:N1", "VALUE:N1" ], [ "325", "991-993", "VALUE:N1", "VALUE:N1" ], [ "405", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "415", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "425", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "490", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "505", "991-993", "VALUE:N1", "VALUE:N1" ], [ "515", "991-993", "VALUE:N1", "VALUE:N1" ], [ "525", "991-993", "VALUE:N1", "VALUE:N1" ], [ "600", "991-993", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "991-993", "VALUE:N1", "VALUE:N1" ], [ "105", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "115", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "125", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "180", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "190", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "205", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "215", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "225", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "290", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "305", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "315", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "325", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "405", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "415", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "425", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "490", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "505", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "515", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "525", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "600", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "105", "997", "VALUE:N3", "VALUE:N3" ], [ "115", "997", "VALUE:N3", "VALUE:N3" ], [ "125", "997", "VALUE:N3", "VALUE:N3" ], [ "180", "997", "VALUE:N3", "VALUE:N3" ], [ "190", "997", "VALUE:N3", "VALUE:N3" ], [ "205", "997", "VALUE:N3", "VALUE:N3" ], [ "215", "997", "VALUE:N3", "VALUE:N3" ], [ "225", "997", "VALUE:N3", "VALUE:N3" ], [ "290", "997", "VALUE:N3", "VALUE:N3" ], [ "305", "997", "VALUE:N3", "VALUE:N3" ], [ "315", "997", "VALUE:N3", "VALUE:N3" ], [ "325", "997", "VALUE:N3", "VALUE:N3" ], [ "405", "997", "VALUE:N3", "VALUE:N3" ], [ "415", "997", "VALUE:N3", "VALUE:N3" ], [ "425", "997", "VALUE:N3", "VALUE:N3" ], [ "490", "997", "VALUE:N3", "VALUE:N3" ], [ "505", "997", "VALUE:N3", "VALUE:N3" ], [ "515", "997", "VALUE:N3", "VALUE:N3" ], [ "525", "997", "VALUE:N3", "VALUE:N3" ], [ "600", "997", "VALUE:N3", "VALUE:N3" ], [ "700", "997", "VALUE:N3", "VALUE:N3" ], [ "105", "999", "VALUE:N1", "VALUE:N1" ], [ "115", "999", "VALUE:N1", "VALUE:N1" ], [ "125", "999", "VALUE:N1", "VALUE:N1" ], [ "180", "999", "VALUE:N1", "VALUE:N1" ], [ "190", "999", "VALUE:N2a", "VALUE:N2a" ], [ "205", "999", "VALUE:N2b", "VALUE:N2b" ], [ "215", "999", "VALUE:N2b", "VALUE:N2b" ], [ "225", "999", "VALUE:N2b", "VALUE:N2b" ], [ "290", "999", "VALUE:N2b", "VALUE:N2b" ], [ "305", "999", "VALUE:N1", "VALUE:N1" ], [ "315", "999", "VALUE:N1", "VALUE:N1" ], [ "325", "999", "VALUE:N1", "VALUE:N1" ], [ "405", "999", "VALUE:N2c", "VALUE:N2c" ], [ "415", "999", "VALUE:N2c", "VALUE:N2c" ], [ "425", "999", "VALUE:N2c", "VALUE:N2c" ], [ "490", "999", "VALUE:N2c", "VALUE:N2c" ], [ "505", "999", "VALUE:N1", "VALUE:N1" ], [ "515", "999", "VALUE:N1", "VALUE:N1" ], [ "525", "999", "VALUE:N1", "VALUE:N1" ], [ "600", "999", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "999", "VALUE:N3", "VALUE:N3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_m.json deleted file mode 100644 index f05ef9612..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_m.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodes_size_mets00_ajcc6_xdo_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size Mets 00 AJCC6 - For M", - "title" : "Lymph Nodes Size Mets 00 AJCC 6 Table - For M", - "notes" : "**Note**: When CS Lymph Nodes is coded 150, 250, 350-450, or 505 and CS Mets at DX is coded 00, the AJCC 6 N and M categories are determined by the size of involved nodes as coded in CS Site-Specific Factor 2, Size of Metastasis in Lymph Nodes as shown in this table. A CS Site-Specific Factor 2 code takes precedence over a CS Lymph Nodes code for \"stated as N\"; however, if CS Site-Specific Factor 2 is coded as unknown, the N category may be assigned based on \"stated as N\" recorded in CS Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:26.139Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "SSF2", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "result_m", - "name" : "Result for M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "150", "000", "VALUE:", "ERROR:" ], [ "250", "000", "VALUE:", "ERROR:" ], [ "350", "000", "VALUE:", "ERROR:" ], [ "400", "000", "VALUE:", "ERROR:" ], [ "450", "000", "VALUE:", "ERROR:" ], [ "505", "000", "VALUE:", "ERROR:" ], [ "150", "001-020", "VALUE:M0", "MATCH:" ], [ "250", "001-020", "VALUE:M0", "MATCH:" ], [ "350", "001-020", "VALUE:M1", "MATCH:" ], [ "400", "001-020", "VALUE:M1", "MATCH:" ], [ "450", "001-020", "VALUE:M1", "MATCH:" ], [ "505", "001-020", "VALUE:M0", "MATCH:" ], [ "150", "021-050", "VALUE:M0", "MATCH:" ], [ "250", "021-050", "VALUE:M0", "MATCH:" ], [ "350", "021-050", "VALUE:M1", "MATCH:" ], [ "400", "021-050", "VALUE:M1", "MATCH:" ], [ "450", "021-050", "VALUE:M1", "MATCH:" ], [ "505", "021-050", "VALUE:M0", "MATCH:" ], [ "150", "051-980", "VALUE:M0", "MATCH:" ], [ "250", "051-980", "VALUE:M0", "MATCH:" ], [ "350", "051-980", "VALUE:M1", "MATCH:" ], [ "400", "051-980", "VALUE:M1", "MATCH:" ], [ "450", "051-980", "VALUE:M1", "MATCH:" ], [ "505", "051-980", "VALUE:M0", "MATCH:" ], [ "150", "988", "VALUE:M0", "MATCH:" ], [ "250", "988", "VALUE:M0", "MATCH:" ], [ "350", "988", "VALUE:M1", "MATCH:" ], [ "400", "988", "VALUE:M1", "MATCH:" ], [ "450", "988", "VALUE:M1", "MATCH:" ], [ "505", "988", "VALUE:M0", "MATCH:" ], [ "150", "990-992", "VALUE:M0", "MATCH:" ], [ "250", "990-992", "VALUE:M0", "MATCH:" ], [ "350", "990-992", "VALUE:M1", "MATCH:" ], [ "400", "990-992", "VALUE:M1", "MATCH:" ], [ "450", "990-992", "VALUE:M1", "MATCH:" ], [ "505", "990-992", "VALUE:M0", "MATCH:" ], [ "150", "993-995", "VALUE:M0", "MATCH:" ], [ "250", "993-995", "VALUE:M0", "MATCH:" ], [ "350", "993-995", "VALUE:M1", "MATCH:" ], [ "400", "993-995", "VALUE:M1", "MATCH:" ], [ "450", "993-995", "VALUE:M1", "MATCH:" ], [ "505", "993-995", "VALUE:M0", "MATCH:" ], [ "150", "996-997", "VALUE:M0", "MATCH:" ], [ "250", "996-997", "VALUE:M0", "MATCH:" ], [ "350", "996-997", "VALUE:M1", "MATCH:" ], [ "400", "996-997", "VALUE:M1", "MATCH:" ], [ "450", "996-997", "VALUE:M1", "MATCH:" ], [ "505", "996-997", "VALUE:M0", "MATCH:" ], [ "150", "999", "VALUE:M0", "MATCH:" ], [ "250", "999", "VALUE:M0", "MATCH:" ], [ "350", "999", "VALUE:M1", "MATCH:" ], [ "400", "999", "VALUE:M1", "MATCH:" ], [ "450", "999", "VALUE:M1", "MATCH:" ], [ "505", "999", "VALUE:M0", "MATCH:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_n.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_n.json deleted file mode 100644 index 63d2d290b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets00_ajcc6_xdo_n.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_size_mets00_ajcc6_xdo_n", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size Mets 00 AJCC6 - For N", - "title" : "Lymph Nodes Size Mets 00 AJCC 6 Table - For N", - "notes" : "**Note**: When CS Lymph Nodes is coded 150, 250, 350-450, or 505 and CS Mets at DX is coded 00, the AJCC 6 N and M categories are determined by the size of involved nodes as coded in CS Site-Specific Factor 2, Size of Metastasis in Lymph Nodes as shown in this table. A CS Site-Specific Factor 2 code takes precedence over a CS Lymph Nodes code for \"stated as N\"; however, if CS Site-Specific Factor 2 is coded as unknown, the N category may be assigned based on \"stated as N\" recorded in CS Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:26.190Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "SSF2", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "150", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "350", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "505", "000", "ERROR:" ], [ "150", "001-020", "VALUE:N1" ], [ "250", "001-020", "VALUE:N2" ], [ "350", "001-020", "VALUE:N0" ], [ "400", "001-020", "VALUE:N1" ], [ "450", "001-020", "VALUE:N2" ], [ "505", "001-020", "VALUE:N1" ], [ "150", "021-050", "VALUE:N2" ], [ "250", "021-050", "VALUE:N2" ], [ "350", "021-050", "VALUE:N0" ], [ "400", "021-050", "VALUE:N2" ], [ "450", "021-050", "VALUE:N2" ], [ "505", "021-050", "VALUE:N2" ], [ "150", "051-980", "VALUE:N3" ], [ "250", "051-980", "VALUE:N3" ], [ "350", "051-980", "VALUE:N0" ], [ "400", "051-980", "VALUE:N3" ], [ "450", "051-980", "VALUE:N3" ], [ "505", "051-980", "VALUE:N3" ], [ "150", "988", "VALUE:N1" ], [ "250", "988", "VALUE:N2" ], [ "350", "988", "VALUE:N0" ], [ "400", "988", "VALUE:N1" ], [ "450", "988", "VALUE:N2" ], [ "505", "988", "VALUE:N1" ], [ "150", "990-992", "VALUE:N1" ], [ "250", "990-992", "VALUE:N2" ], [ "350", "990-992", "VALUE:N0" ], [ "400", "990-992", "VALUE:N1" ], [ "450", "990-992", "VALUE:N2" ], [ "505", "990-992", "VALUE:N1" ], [ "150", "993-995", "VALUE:N2" ], [ "250", "993-995", "VALUE:N2" ], [ "350", "993-995", "VALUE:N0" ], [ "400", "993-995", "VALUE:N2" ], [ "450", "993-995", "VALUE:N2" ], [ "505", "993-995", "VALUE:N2" ], [ "150", "996-997", "VALUE:N3" ], [ "250", "996-997", "VALUE:N3" ], [ "350", "996-997", "VALUE:N0" ], [ "400", "996-997", "VALUE:N3" ], [ "450", "996-997", "VALUE:N3" ], [ "505", "996-997", "VALUE:N3" ], [ "150", "999", "VALUE:N1" ], [ "250", "999", "VALUE:N2" ], [ "350", "999", "VALUE:N0" ], [ "400", "999", "VALUE:N1" ], [ "450", "999", "VALUE:N2" ], [ "505", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_m.json deleted file mode 100644 index 604c71be3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_m.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodes_size_mets10or50_ajcc6_xid_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size Mets 10 or 50 AJCC6 - For M", - "title" : "Lymph Nodes Size Mets 10 or 50 AJCC 6 Table - For M", - "notes" : "**Note**: When CS Lymph Nodes is coded 150, 250, 350-450, or 505 and CS Mets at DX is coded 10 or 50, the AJCC 6 N and M categories are determined by the size of involved nodes as coded in CS Site-Specific Factor 2, Size of Metastasis in Lymph Nodes as shown in this table.", - "last_modified" : "2015-05-27T16:19:26.240Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "result_m", - "name" : "Result for M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "150", "000-980,988,990-997,999", "VALUE:", "ERROR:" ], [ "250", "000-980,988,990-997,999", "VALUE:", "ERROR:" ], [ "350", "000-980,988,990-997,999", "VALUE:", "ERROR:" ], [ "400", "000-980,988,990-997,999", "VALUE:", "ERROR:" ], [ "450", "000-980,988,990-997,999", "VALUE:", "ERROR:" ], [ "505", "000-980,988,990-997,999", "VALUE:", "ERROR:" ], [ "*", "981-987,989,998", "VALUE:", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_n.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_n.json deleted file mode 100644 index 215246d76..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets10or50_ajcc6_xid_n.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_size_mets10or50_ajcc6_xid_n", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size Mets 10 or 50 AJCC6 - For N", - "title" : "Lymph Nodes Size Mets 10 or 50 AJCC 6 Table - For N", - "notes" : "**Note**: When CS Lymph Nodes is coded 150, 250, 350-450, or 505 and CS Mets at DX is coded 10 or 50, the AJCC 6 N and M categories are determined by the size of involved nodes as coded in CS Site-Specific Factor 2, Size of Metastasis in Lymph Nodes as shown in this table.", - "last_modified" : "2015-05-27T16:19:26.288Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "150", "000-980,988,990-997,999", "ERROR:" ], [ "250", "000-980,988,990-997,999", "ERROR:" ], [ "350", "000-980,988,990-997,999", "ERROR:" ], [ "400", "000-980,988,990-997,999", "ERROR:" ], [ "450", "000-980,988,990-997,999", "ERROR:" ], [ "505", "000-980,988,990-997,999", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_m.json deleted file mode 100644 index 4a84b23b0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_m.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodes_size_mets114055or60_ajcc6_xdv_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size Mets 11, 40, 55, or 60 AJCC6 - For M", - "title" : "Lymph Nodes Size Mets 11, 40, 55, or 60 AJCC 6 Table - For M", - "notes" : "**Note**: When CS Lymph Nodes is coded 150, 250, 350-450, or 505 and CS Mets at DX is coded 11, 40, 55, or 60, the AJCC 6 N and M categories are determined by the size of involved nodes as coded in CS Site-Specific Factor 2, Size of Metastasis in Lymph Nodes as shown in this table. A CS Site-Specific Factor 2 code takes precedence over a CS Lymph Nodes code for \"stated as N\"; however, if CS Site-Specific Factor 2 is coded as unknown, the N category may be assigned based on \"stated as N\" recorded in CS Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:26.331Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "result_m", - "name" : "Result for M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "150", "000", "VALUE:", "ERROR:" ], [ "250", "000", "VALUE:", "ERROR:" ], [ "350", "000", "VALUE:", "ERROR:" ], [ "400", "000", "VALUE:", "ERROR:" ], [ "450", "000", "VALUE:", "ERROR:" ], [ "505", "000", "VALUE:", "ERROR:" ], [ "150", "001-020", "VALUE:M1", "MATCH:" ], [ "250", "001-020", "VALUE:M1", "MATCH:" ], [ "350", "001-020", "VALUE:M1", "MATCH:" ], [ "400", "001-020", "VALUE:M1", "MATCH:" ], [ "450", "001-020", "VALUE:M1", "MATCH:" ], [ "505", "001-020", "VALUE:M1", "MATCH:" ], [ "150", "021-050", "VALUE:M1", "MATCH:" ], [ "250", "021-050", "VALUE:M1", "MATCH:" ], [ "350", "021-050", "VALUE:M1", "MATCH:" ], [ "400", "021-050", "VALUE:M1", "MATCH:" ], [ "450", "021-050", "VALUE:M1", "MATCH:" ], [ "505", "021-050", "VALUE:M1", "MATCH:" ], [ "150", "051-980", "VALUE:M1", "MATCH:" ], [ "250", "051-980", "VALUE:M1", "MATCH:" ], [ "350", "051-980", "VALUE:M1", "MATCH:" ], [ "400", "051-980", "VALUE:M1", "MATCH:" ], [ "450", "051-980", "VALUE:M1", "MATCH:" ], [ "505", "051-980", "VALUE:M1", "MATCH:" ], [ "150", "988", "VALUE:M1", "MATCH:" ], [ "250", "988", "VALUE:M1", "MATCH:" ], [ "350", "988", "VALUE:M1", "MATCH:" ], [ "400", "988", "VALUE:M1", "MATCH:" ], [ "450", "988", "VALUE:M1", "MATCH:" ], [ "505", "988", "VALUE:M1", "MATCH:" ], [ "150", "990-992", "VALUE:M1", "MATCH:" ], [ "250", "990-992", "VALUE:M1", "MATCH:" ], [ "350", "990-992", "VALUE:M1", "MATCH:" ], [ "400", "990-992", "VALUE:M1", "MATCH:" ], [ "450", "990-992", "VALUE:M1", "MATCH:" ], [ "505", "990-992", "VALUE:M1", "MATCH:" ], [ "150", "993-995", "VALUE:M1", "MATCH:" ], [ "250", "993-995", "VALUE:M1", "MATCH:" ], [ "350", "993-995", "VALUE:M1", "MATCH:" ], [ "400", "993-995", "VALUE:M1", "MATCH:" ], [ "450", "993-995", "VALUE:M1", "MATCH:" ], [ "505", "993-995", "VALUE:M1", "MATCH:" ], [ "150", "996-997", "VALUE:M1", "MATCH:" ], [ "250", "996-997", "VALUE:M1", "MATCH:" ], [ "350", "996-997", "VALUE:M1", "MATCH:" ], [ "400", "996-997", "VALUE:M1", "MATCH:" ], [ "450", "996-997", "VALUE:M1", "MATCH:" ], [ "505", "996-997", "VALUE:M1", "MATCH:" ], [ "150", "999", "VALUE:M1", "MATCH:" ], [ "250", "999", "VALUE:M1", "MATCH:" ], [ "350", "999", "VALUE:M1", "MATCH:" ], [ "400", "999", "VALUE:M1", "MATCH:" ], [ "450", "999", "VALUE:M1", "MATCH:" ], [ "505", "999", "VALUE:M1", "MATCH:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_n.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_n.json deleted file mode 100644 index 58abe1c7f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets114055or60_ajcc6_xdv_n.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_size_mets114055or60_ajcc6_xdv_n", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size Mets 11, 40, 55, or 60 AJCC6 - For N", - "title" : "Lymph Nodes Size Mets 11, 40, 55, or 60 AJCC 6 Table", - "notes" : "**Note**: When CS Lymph Nodes is coded 150, 250, 350-450, or 505 and CS Mets at DX is coded 11, 40, 55, or 60, the AJCC 6 N and M categories are determined by the size of involved nodes as coded in CS Site-Specific Factor 2, Size of Metastasis in Lymph Nodes as shown in this table. A CS Site-Specific Factor 2 code takes precedence over a CS Lymph Nodes code for \"stated as N\"; however, if CS Site-Specific Factor 2 is coded as unknown, the N category may be assigned based on \"stated as N\" recorded in CS Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:26.379Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "150", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "350", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "505", "000", "ERROR:" ], [ "150", "001-020", "VALUE:N1" ], [ "250", "001-020", "VALUE:N2" ], [ "350", "001-020", "VALUE:N0" ], [ "400", "001-020", "VALUE:N1" ], [ "450", "001-020", "VALUE:N2" ], [ "505", "001-020", "VALUE:N1" ], [ "150", "021-050", "VALUE:N2" ], [ "250", "021-050", "VALUE:N2" ], [ "350", "021-050", "VALUE:N0" ], [ "400", "021-050", "VALUE:N2" ], [ "450", "021-050", "VALUE:N2" ], [ "505", "021-050", "VALUE:N2" ], [ "150", "051-980", "VALUE:N1" ], [ "250", "051-980", "VALUE:N2" ], [ "350", "051-980", "VALUE:N0" ], [ "400", "051-980", "VALUE:N1" ], [ "450", "051-980", "VALUE:N2" ], [ "505", "051-980", "VALUE:N1" ], [ "150", "988", "VALUE:N1" ], [ "250", "988", "VALUE:N2" ], [ "350", "988", "VALUE:N0" ], [ "400", "988", "VALUE:N1" ], [ "450", "988", "VALUE:N2" ], [ "505", "988", "VALUE:N1" ], [ "150", "990-992", "VALUE:N1" ], [ "250", "990-992", "VALUE:N2" ], [ "350", "990-992", "VALUE:N0" ], [ "400", "990-992", "VALUE:N1" ], [ "450", "990-992", "VALUE:N2" ], [ "505", "990-992", "VALUE:N1" ], [ "150", "993-995", "VALUE:N2" ], [ "250", "993-995", "VALUE:N2" ], [ "350", "993-995", "VALUE:N0" ], [ "400", "993-995", "VALUE:N2" ], [ "450", "993-995", "VALUE:N2" ], [ "505", "993-995", "VALUE:N2" ], [ "150", "996-997", "VALUE:N3" ], [ "250", "996-997", "VALUE:N3" ], [ "350", "996-997", "VALUE:N0" ], [ "400", "996-997", "VALUE:N3" ], [ "450", "996-997", "VALUE:N3" ], [ "505", "996-997", "VALUE:N3" ], [ "150", "999", "VALUE:N1" ], [ "250", "999", "VALUE:N2" ], [ "350", "999", "VALUE:N0" ], [ "400", "999", "VALUE:N1" ], [ "450", "999", "VALUE:N2" ], [ "505", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_m.json deleted file mode 100644 index 0555dac10..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_m.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodes_size_mets99_ajcc6_xdp_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size Mets 99 AJCC6 - For M", - "title" : "Lymph Nodes Size Mets 99 AJCC 6 Table - For M", - "notes" : "**Note**: When CS Lymph Nodes is coded 150, 250, 350-450, or 505 and CS Mets at DX is coded 99, the AJCC 6 N and M categories are determined by the size of involved nodes as coded in CS Site-Specific Factor 2, Size of Metastasis in Lymph Nodes as shown in this table. A CS Site-Specific Factor 2 code takes precedence over a CS Lymph Nodes code for \"stated as N\"; however, if CS Site-Specific Factor 2 is coded as unknown, the N category may be assigned based on \"stated as N\" recorded in CS Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:26.428Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "result_m", - "name" : "Result for M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "150", "000", "VALUE:", "ERROR:" ], [ "250", "000", "VALUE:", "ERROR:" ], [ "350", "000", "VALUE:", "ERROR:" ], [ "400", "000", "VALUE:", "ERROR:" ], [ "450", "000", "VALUE:", "ERROR:" ], [ "505", "000", "VALUE:", "ERROR:" ], [ "150", "001-020", "VALUE:MX", "MATCH:" ], [ "250", "001-020", "VALUE:MX", "MATCH:" ], [ "350", "001-020", "VALUE:M1", "MATCH:" ], [ "400", "001-020", "VALUE:M1", "MATCH:" ], [ "450", "001-020", "VALUE:M1", "MATCH:" ], [ "505", "001-020", "VALUE:MX", "MATCH:" ], [ "150", "021-050", "VALUE:MX", "MATCH:" ], [ "250", "021-050", "VALUE:MX", "MATCH:" ], [ "350", "021-050", "VALUE:M1", "MATCH:" ], [ "400", "021-050", "VALUE:M1", "MATCH:" ], [ "450", "021-050", "VALUE:M1", "MATCH:" ], [ "505", "021-050", "VALUE:MX", "MATCH:" ], [ "150", "051-980", "VALUE:MX", "MATCH:" ], [ "250", "051-980", "VALUE:MX", "MATCH:" ], [ "350", "051-980", "VALUE:M1", "MATCH:" ], [ "400", "051-980", "VALUE:M1", "MATCH:" ], [ "450", "051-980", "VALUE:M1", "MATCH:" ], [ "505", "051-980", "VALUE:MX", "MATCH:" ], [ "150", "988", "VALUE:MX", "MATCH:" ], [ "250", "988", "VALUE:MX", "MATCH:" ], [ "350", "988", "VALUE:M1", "MATCH:" ], [ "400", "988", "VALUE:M1", "MATCH:" ], [ "450", "988", "VALUE:M1", "MATCH:" ], [ "505", "988", "VALUE:MX", "MATCH:" ], [ "150", "990-992", "VALUE:MX", "MATCH:" ], [ "250", "990-992", "VALUE:MX", "MATCH:" ], [ "350", "990-992", "VALUE:M1", "MATCH:" ], [ "400", "990-992", "VALUE:M1", "MATCH:" ], [ "450", "990-992", "VALUE:M1", "MATCH:" ], [ "505", "990-992", "VALUE:MX", "MATCH:" ], [ "150", "993-995", "VALUE:MX", "MATCH:" ], [ "250", "993-995", "VALUE:MX", "MATCH:" ], [ "350", "993-995", "VALUE:M1", "MATCH:" ], [ "400", "993-995", "VALUE:M1", "MATCH:" ], [ "450", "993-995", "VALUE:M1", "MATCH:" ], [ "505", "993-995", "VALUE:MX", "MATCH:" ], [ "150", "996-997", "VALUE:MX", "MATCH:" ], [ "250", "996-997", "VALUE:MX", "MATCH:" ], [ "350", "996-997", "VALUE:M1", "MATCH:" ], [ "400", "996-997", "VALUE:M1", "MATCH:" ], [ "450", "996-997", "VALUE:M1", "MATCH:" ], [ "505", "996-997", "VALUE:MX", "MATCH:" ], [ "150", "999", "VALUE:MX", "MATCH:" ], [ "250", "999", "VALUE:MX", "MATCH:" ], [ "350", "999", "VALUE:M1", "MATCH:" ], [ "400", "999", "VALUE:M1", "MATCH:" ], [ "450", "999", "VALUE:M1", "MATCH:" ], [ "505", "999", "VALUE:MX", "MATCH:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_n.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_n.json deleted file mode 100644 index e1cda09d5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_mets99_ajcc6_xdp_n.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_size_mets99_ajcc6_xdp_n", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size Mets 99 AJCC6 - For N", - "title" : "Lymph Nodes Size Mets 99 AJCC 6 Table - For N", - "notes" : "**Note**: When CS Lymph Nodes is coded 150, 250, 350-450, or 505 and CS Mets at DX is coded 99, the AJCC 6 N and M categories are determined by the size of involved nodes as coded in CS Site-Specific Factor 2, Size of Metastasis in Lymph Nodes as shown in this table. A CS Site-Specific Factor 2 code takes precedence over a CS Lymph Nodes code for \"stated as N\"; however, if CS Site-Specific Factor 2 is coded as unknown, the N category may be assigned based on \"stated as N\" recorded in CS Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:26.477Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "150", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "350", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "505", "000", "ERROR:" ], [ "150", "001-020", "VALUE:N1" ], [ "250", "001-020", "VALUE:N2" ], [ "350", "001-020", "VALUE:N0" ], [ "400", "001-020", "VALUE:N1" ], [ "450", "001-020", "VALUE:N2" ], [ "505", "001-020", "VALUE:N1" ], [ "150", "021-050", "VALUE:N2" ], [ "250", "021-050", "VALUE:N2" ], [ "350", "021-050", "VALUE:N0" ], [ "400", "021-050", "VALUE:N2" ], [ "450", "021-050", "VALUE:N2" ], [ "505", "021-050", "VALUE:N2" ], [ "150", "051-980", "VALUE:N3" ], [ "250", "051-980", "VALUE:N3" ], [ "350", "051-980", "VALUE:N0" ], [ "400", "051-980", "VALUE:N3" ], [ "450", "051-980", "VALUE:N3" ], [ "505", "051-980", "VALUE:N3" ], [ "150", "988", "VALUE:N1" ], [ "250", "988", "VALUE:N2" ], [ "350", "988", "VALUE:N0" ], [ "400", "988", "VALUE:N1" ], [ "450", "988", "VALUE:N2" ], [ "505", "988", "VALUE:N1" ], [ "150", "990-992", "VALUE:N1" ], [ "250", "990-992", "VALUE:N2" ], [ "350", "990-992", "VALUE:N0" ], [ "400", "990-992", "VALUE:N1" ], [ "450", "990-992", "VALUE:N2" ], [ "505", "990-992", "VALUE:N1" ], [ "150", "993-995", "VALUE:N2" ], [ "250", "993-995", "VALUE:N2" ], [ "350", "993-995", "VALUE:N0" ], [ "400", "993-995", "VALUE:N2" ], [ "450", "993-995", "VALUE:N2" ], [ "505", "993-995", "VALUE:N2" ], [ "150", "996-997", "VALUE:N3" ], [ "250", "996-997", "VALUE:N3" ], [ "350", "996-997", "VALUE:N0" ], [ "400", "996-997", "VALUE:N3" ], [ "450", "996-997", "VALUE:N3" ], [ "505", "996-997", "VALUE:N3" ], [ "150", "999", "VALUE:N1" ], [ "250", "999", "VALUE:N2" ], [ "350", "999", "VALUE:N0" ], [ "400", "999", "VALUE:N1" ], [ "450", "999", "VALUE:N2" ], [ "505", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_table_csv2_xcp.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_table_csv2_xcp.json deleted file mode 100644 index 2495fc95a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_table_csv2_xcp.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodes_size_table_csv2_xcp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size Table CSv2", - "title" : "Lymph Nodes Size Table CSv2", - "notes" : "**Note**: For CS Lymph Node codes 050-070, 105, 115, 130, 180, 405, 415, 430, 505, 515, and 530-620 ONLY, the N category is determined by the size of involved nodes coded in CS Site-Specific Factor 1, Size of Lymph Nodes Table, as shown in the following table.", - "last_modified" : "2015-05-27T16:19:26.528Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF1 Size of Nodes", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "050", "000", "ERROR:", "ERROR:" ], [ "060", "000", "ERROR:", "ERROR:" ], [ "070", "000", "ERROR:", "ERROR:" ], [ "105", "000", "ERROR:", "ERROR:" ], [ "115", "000", "ERROR:", "ERROR:" ], [ "130", "000", "ERROR:", "ERROR:" ], [ "180", "000", "ERROR:", "ERROR:" ], [ "405", "000", "ERROR:", "ERROR:" ], [ "415", "000", "ERROR:", "ERROR:" ], [ "430", "000", "ERROR:", "ERROR:" ], [ "505", "000", "ERROR:", "ERROR:" ], [ "515", "000", "ERROR:", "ERROR:" ], [ "530", "000", "ERROR:", "ERROR:" ], [ "600", "000", "ERROR:", "ERROR:" ], [ "620", "000", "ERROR:", "ERROR:" ], [ "050", "001-060", "VALUE:N1", "VALUE:N1" ], [ "060", "001-060", "VALUE:N1", "VALUE:N1" ], [ "070", "001-060", "VALUE:N1", "VALUE:N1" ], [ "105", "001-060", "VALUE:N1", "VALUE:N1" ], [ "115", "001-060", "VALUE:N1", "VALUE:N1" ], [ "130", "001-060", "VALUE:N1", "VALUE:N1" ], [ "180", "001-060", "VALUE:N1", "VALUE:N1" ], [ "405", "001-060", "VALUE:N2", "VALUE:N2" ], [ "415", "001-060", "VALUE:N2", "VALUE:N2" ], [ "430", "001-060", "VALUE:N2", "VALUE:N2" ], [ "505", "001-060", "VALUE:N1", "VALUE:N1" ], [ "515", "001-060", "VALUE:N1", "VALUE:N1" ], [ "530", "001-060", "VALUE:N1", "VALUE:N1" ], [ "600", "001-060", "VALUE:N2", "VALUE:N2" ], [ "620", "001-060", "VALUE:N1", "VALUE:N1" ], [ "050", "061-980", "VALUE:N3a", "VALUE:N3a" ], [ "060", "061-980", "VALUE:N3a", "VALUE:N3a" ], [ "070", "061-980", "VALUE:N3a", "VALUE:N3a" ], [ "105", "061-980", "VALUE:N3a", "VALUE:N3a" ], [ "115", "061-980", "VALUE:N3a", "VALUE:N3a" ], [ "130", "061-980", "VALUE:N3a", "VALUE:N3a" ], [ "180", "061-980", "VALUE:N3a", "VALUE:N3a" ], [ "405", "061-980", "VALUE:N3a", "VALUE:N3a" ], [ "415", "061-980", "VALUE:N3a", "VALUE:N3a" ], [ "430", "061-980", "VALUE:N3a", "VALUE:N3a" ], [ "505", "061-980", "VALUE:N3a", "VALUE:N3a" ], [ "515", "061-980", "VALUE:N3a", "VALUE:N3a" ], [ "530", "061-980", "VALUE:N3a", "VALUE:N3a" ], [ "600", "061-980", "VALUE:N3a", "VALUE:N3a" ], [ "620", "061-980", "VALUE:N3a", "VALUE:N3a" ], [ "050", "981-987", "ERROR:", "ERROR:" ], [ "060", "981-987", "ERROR:", "ERROR:" ], [ "070", "981-987", "ERROR:", "ERROR:" ], [ "105", "981-987", "ERROR:", "ERROR:" ], [ "115", "981-987", "ERROR:", "ERROR:" ], [ "130", "981-987", "ERROR:", "ERROR:" ], [ "180", "981-987", "ERROR:", "ERROR:" ], [ "405", "981-987", "ERROR:", "ERROR:" ], [ "415", "981-987", "ERROR:", "ERROR:" ], [ "430", "981-987", "ERROR:", "ERROR:" ], [ "505", "981-987", "ERROR:", "ERROR:" ], [ "515", "981-987", "ERROR:", "ERROR:" ], [ "530", "981-987", "ERROR:", "ERROR:" ], [ "600", "981-987", "ERROR:", "ERROR:" ], [ "620", "981-987", "ERROR:", "ERROR:" ], [ "050", "988", "ERROR:", "ERROR:" ], [ "060", "988", "ERROR:", "ERROR:" ], [ "070", "988", "ERROR:", "ERROR:" ], [ "105", "988", "ERROR:", "ERROR:" ], [ "115", "988", "ERROR:", "ERROR:" ], [ "130", "988", "ERROR:", "ERROR:" ], [ "180", "988", "ERROR:", "ERROR:" ], [ "405", "988", "ERROR:", "ERROR:" ], [ "415", "988", "ERROR:", "ERROR:" ], [ "430", "988", "ERROR:", "ERROR:" ], [ "505", "988", "ERROR:", "ERROR:" ], [ "515", "988", "ERROR:", "ERROR:" ], [ "530", "988", "ERROR:", "ERROR:" ], [ "600", "988", "ERROR:", "ERROR:" ], [ "620", "988", "ERROR:", "ERROR:" ], [ "050", "989", "ERROR:", "ERROR:" ], [ "060", "989", "ERROR:", "ERROR:" ], [ "070", "989", "ERROR:", "ERROR:" ], [ "105", "989", "ERROR:", "ERROR:" ], [ "115", "989", "ERROR:", "ERROR:" ], [ "130", "989", "ERROR:", "ERROR:" ], [ "180", "989", "ERROR:", "ERROR:" ], [ "405", "989", "ERROR:", "ERROR:" ], [ "415", "989", "ERROR:", "ERROR:" ], [ "430", "989", "ERROR:", "ERROR:" ], [ "505", "989", "ERROR:", "ERROR:" ], [ "515", "989", "ERROR:", "ERROR:" ], [ "530", "989", "ERROR:", "ERROR:" ], [ "600", "989", "ERROR:", "ERROR:" ], [ "620", "989", "ERROR:", "ERROR:" ], [ "050", "990-996", "VALUE:N1", "VALUE:N1" ], [ "060", "990-996", "VALUE:N1", "VALUE:N1" ], [ "070", "990-996", "VALUE:N1", "VALUE:N1" ], [ "105", "990-996", "VALUE:N1", "VALUE:N1" ], [ "115", "990-996", "VALUE:N1", "VALUE:N1" ], [ "130", "990-996", "VALUE:N1", "VALUE:N1" ], [ "180", "990-996", "VALUE:N1", "VALUE:N1" ], [ "405", "990-996", "VALUE:N2", "VALUE:N2" ], [ "415", "990-996", "VALUE:N2", "VALUE:N2" ], [ "430", "990-996", "VALUE:N2", "VALUE:N2" ], [ "505", "990-996", "VALUE:N1", "VALUE:N1" ], [ "515", "990-996", "VALUE:N1", "VALUE:N1" ], [ "530", "990-996", "VALUE:N1", "VALUE:N1" ], [ "600", "990-996", "VALUE:N2", "VALUE:N2" ], [ "620", "990-996", "VALUE:N1", "VALUE:N1" ], [ "050", "997", "VALUE:N3a", "VALUE:N3a" ], [ "060", "997", "VALUE:N3a", "VALUE:N3a" ], [ "070", "997", "VALUE:N3a", "VALUE:N3a" ], [ "105", "997", "VALUE:N3a", "VALUE:N3a" ], [ "115", "997", "VALUE:N3a", "VALUE:N3a" ], [ "130", "997", "VALUE:N3a", "VALUE:N3a" ], [ "180", "997", "VALUE:N3a", "VALUE:N3a" ], [ "405", "997", "VALUE:N3a", "VALUE:N3a" ], [ "415", "997", "VALUE:N3a", "VALUE:N3a" ], [ "430", "997", "VALUE:N3a", "VALUE:N3a" ], [ "505", "997", "VALUE:N3a", "VALUE:N3a" ], [ "515", "997", "VALUE:N3a", "VALUE:N3a" ], [ "530", "997", "VALUE:N3a", "VALUE:N3a" ], [ "600", "997", "VALUE:N3a", "VALUE:N3a" ], [ "620", "997", "VALUE:N3a", "VALUE:N3a" ], [ "050", "999", "VALUE:N1", "VALUE:N1" ], [ "060", "999", "VALUE:N1", "VALUE:N1" ], [ "070", "999", "VALUE:N1", "VALUE:N1" ], [ "105", "999", "VALUE:N1", "VALUE:N1" ], [ "115", "999", "VALUE:N1", "VALUE:N1" ], [ "130", "999", "VALUE:N1", "VALUE:N1" ], [ "180", "999", "VALUE:N1", "VALUE:N1" ], [ "405", "999", "VALUE:N2", "VALUE:N2" ], [ "415", "999", "VALUE:N2", "VALUE:N2" ], [ "430", "999", "VALUE:N2", "VALUE:N2" ], [ "505", "999", "VALUE:N1", "VALUE:N1" ], [ "515", "999", "VALUE:N1", "VALUE:N1" ], [ "530", "999", "VALUE:N1", "VALUE:N1" ], [ "600", "999", "VALUE:N2", "VALUE:N2" ], [ "620", "999", "VALUE:N3a", "VALUE:N3a" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xja.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xja.json deleted file mode 100644 index 6059a3a31..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xja.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodes_size_xja", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size", - "title" : "Lymph Nodes Size Table", - "notes" : "**Note**: For CS Lymph Node codes 100-700 ONLY, the N category is determined by the size of involved nodes coded in CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in this table.", - "last_modified" : "2015-05-27T16:19:26.589Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF1 000", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "105", "000", "ERROR:", "ERROR:" ], [ "110", "000", "ERROR:", "ERROR:" ], [ "120", "000", "ERROR:", "ERROR:" ], [ "180", "000", "ERROR:", "ERROR:" ], [ "190", "000", "ERROR:", "ERROR:" ], [ "200", "000", "ERROR:", "ERROR:" ], [ "205", "000", "ERROR:", "ERROR:" ], [ "210", "000", "ERROR:", "ERROR:" ], [ "215", "000", "ERROR:", "ERROR:" ], [ "220", "000", "ERROR:", "ERROR:" ], [ "290", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "305", "000", "ERROR:", "ERROR:" ], [ "310", "000", "ERROR:", "ERROR:" ], [ "320", "000", "ERROR:", "ERROR:" ], [ "400", "000", "ERROR:", "ERROR:" ], [ "405", "000", "ERROR:", "ERROR:" ], [ "410", "000", "ERROR:", "ERROR:" ], [ "415", "000", "ERROR:", "ERROR:" ], [ "420", "000", "ERROR:", "ERROR:" ], [ "490", "000", "ERROR:", "ERROR:" ], [ "500", "000", "ERROR:", "ERROR:" ], [ "505", "000", "ERROR:", "ERROR:" ], [ "510", "000", "ERROR:", "ERROR:" ], [ "520", "000", "ERROR:", "ERROR:" ], [ "600", "000", "ERROR:", "ERROR:" ], [ "700", "000", "ERROR:", "ERROR:" ], [ "100", "001-030", "VALUE:N1", "VALUE:N1" ], [ "105", "001-030", "VALUE:N1", "VALUE:N1" ], [ "110", "001-030", "VALUE:N1", "VALUE:N1" ], [ "120", "001-030", "VALUE:N1", "VALUE:N1" ], [ "180", "001-030", "VALUE:N1", "VALUE:N1" ], [ "190", "001-030", "VALUE:N1", "VALUE:N1" ], [ "200", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "205", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "210", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "215", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "220", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "290", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "300", "001-030", "VALUE:N1", "VALUE:N1" ], [ "305", "001-030", "VALUE:N1", "VALUE:N1" ], [ "310", "001-030", "VALUE:N1", "VALUE:N1" ], [ "320", "001-030", "VALUE:N1", "VALUE:N1" ], [ "400", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "405", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "410", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "415", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "420", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "490", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "500", "001-030", "VALUE:N1", "VALUE:N1" ], [ "505", "001-030", "VALUE:N1", "VALUE:N1" ], [ "510", "001-030", "VALUE:N1", "VALUE:N1" ], [ "520", "001-030", "VALUE:N1", "VALUE:N1" ], [ "600", "001-030", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "001-030", "VALUE:N1", "VALUE:N1" ], [ "100", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "105", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "110", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "120", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "180", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "190", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "200", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "205", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "210", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "215", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "220", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "290", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "300", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "305", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "310", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "320", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "400", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "405", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "410", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "415", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "420", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "490", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "500", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "505", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "510", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "520", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "600", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "100", "061-980", "VALUE:N3", "VALUE:N3" ], [ "105", "061-980", "VALUE:N3", "VALUE:N3" ], [ "110", "061-980", "VALUE:N3", "VALUE:N3" ], [ "120", "061-980", "VALUE:N3", "VALUE:N3" ], [ "180", "061-980", "VALUE:N3", "VALUE:N3" ], [ "190", "061-980", "VALUE:N3", "VALUE:N3" ], [ "200", "061-980", "VALUE:N3", "VALUE:N3" ], [ "205", "061-980", "VALUE:N3", "VALUE:N3" ], [ "210", "061-980", "VALUE:N3", "VALUE:N3" ], [ "215", "061-980", "VALUE:N3", "VALUE:N3" ], [ "220", "061-980", "VALUE:N3", "VALUE:N3" ], [ "290", "061-980", "VALUE:N3", "VALUE:N3" ], [ "300", "061-980", "VALUE:N3", "VALUE:N3" ], [ "305", "061-980", "VALUE:N3", "VALUE:N3" ], [ "310", "061-980", "VALUE:N3", "VALUE:N3" ], [ "320", "061-980", "VALUE:N3", "VALUE:N3" ], [ "400", "061-980", "VALUE:N3", "VALUE:N3" ], [ "405", "061-980", "VALUE:N3", "VALUE:N3" ], [ "410", "061-980", "VALUE:N3", "VALUE:N3" ], [ "415", "061-980", "VALUE:N3", "VALUE:N3" ], [ "420", "061-980", "VALUE:N3", "VALUE:N3" ], [ "490", "061-980", "VALUE:N3", "VALUE:N3" ], [ "500", "061-980", "VALUE:N3", "VALUE:N3" ], [ "505", "061-980", "VALUE:N3", "VALUE:N3" ], [ "510", "061-980", "VALUE:N3", "VALUE:N3" ], [ "520", "061-980", "VALUE:N3", "VALUE:N3" ], [ "600", "061-980", "VALUE:N3", "VALUE:N3" ], [ "700", "061-980", "VALUE:N3", "VALUE:N3" ], [ "100", "981-987", "ERROR:", "ERROR:" ], [ "105", "981-987", "ERROR:", "ERROR:" ], [ "110", "981-987", "ERROR:", "ERROR:" ], [ "120", "981-987", "ERROR:", "ERROR:" ], [ "180", "981-987", "ERROR:", "ERROR:" ], [ "190", "981-987", "ERROR:", "ERROR:" ], [ "200", "981-987", "ERROR:", "ERROR:" ], [ "205", "981-987", "ERROR:", "ERROR:" ], [ "210", "981-987", "ERROR:", "ERROR:" ], [ "215", "981-987", "ERROR:", "ERROR:" ], [ "220", "981-987", "ERROR:", "ERROR:" ], [ "290", "981-987", "ERROR:", "ERROR:" ], [ "300", "981-987", "ERROR:", "ERROR:" ], [ "305", "981-987", "ERROR:", "ERROR:" ], [ "310", "981-987", "ERROR:", "ERROR:" ], [ "320", "981-987", "ERROR:", "ERROR:" ], [ "400", "981-987", "ERROR:", "ERROR:" ], [ "405", "981-987", "ERROR:", "ERROR:" ], [ "410", "981-987", "ERROR:", "ERROR:" ], [ "415", "981-987", "ERROR:", "ERROR:" ], [ "420", "981-987", "ERROR:", "ERROR:" ], [ "490", "981-987", "ERROR:", "ERROR:" ], [ "500", "981-987", "ERROR:", "ERROR:" ], [ "505", "981-987", "ERROR:", "ERROR:" ], [ "510", "981-987", "ERROR:", "ERROR:" ], [ "520", "981-987", "ERROR:", "ERROR:" ], [ "600", "981-987", "ERROR:", "ERROR:" ], [ "700", "981-987", "ERROR:", "ERROR:" ], [ "100", "988", "ERROR:", "ERROR:" ], [ "105", "988", "ERROR:", "ERROR:" ], [ "110", "988", "ERROR:", "ERROR:" ], [ "120", "988", "ERROR:", "ERROR:" ], [ "180", "988", "ERROR:", "ERROR:" ], [ "190", "988", "ERROR:", "ERROR:" ], [ "200", "988", "ERROR:", "ERROR:" ], [ "205", "988", "ERROR:", "ERROR:" ], [ "210", "988", "ERROR:", "ERROR:" ], [ "215", "988", "ERROR:", "ERROR:" ], [ "220", "988", "ERROR:", "ERROR:" ], [ "290", "988", "ERROR:", "ERROR:" ], [ "300", "988", "ERROR:", "ERROR:" ], [ "305", "988", "ERROR:", "ERROR:" ], [ "310", "988", "ERROR:", "ERROR:" ], [ "320", "988", "ERROR:", "ERROR:" ], [ "400", "988", "ERROR:", "ERROR:" ], [ "405", "988", "ERROR:", "ERROR:" ], [ "410", "988", "ERROR:", "ERROR:" ], [ "415", "988", "ERROR:", "ERROR:" ], [ "420", "988", "ERROR:", "ERROR:" ], [ "490", "988", "ERROR:", "ERROR:" ], [ "500", "988", "ERROR:", "ERROR:" ], [ "505", "988", "ERROR:", "ERROR:" ], [ "510", "988", "ERROR:", "ERROR:" ], [ "520", "988", "ERROR:", "ERROR:" ], [ "600", "988", "ERROR:", "ERROR:" ], [ "700", "988", "ERROR:", "ERROR:" ], [ "100", "989", "ERROR:", "ERROR:" ], [ "105", "989", "ERROR:", "ERROR:" ], [ "110", "989", "ERROR:", "ERROR:" ], [ "120", "989", "ERROR:", "ERROR:" ], [ "180", "989", "ERROR:", "ERROR:" ], [ "190", "989", "ERROR:", "ERROR:" ], [ "200", "989", "ERROR:", "ERROR:" ], [ "205", "989", "ERROR:", "ERROR:" ], [ "210", "989", "ERROR:", "ERROR:" ], [ "215", "989", "ERROR:", "ERROR:" ], [ "220", "989", "ERROR:", "ERROR:" ], [ "290", "989", "ERROR:", "ERROR:" ], [ "300", "989", "ERROR:", "ERROR:" ], [ "305", "989", "ERROR:", "ERROR:" ], [ "310", "989", "ERROR:", "ERROR:" ], [ "320", "989", "ERROR:", "ERROR:" ], [ "400", "989", "ERROR:", "ERROR:" ], [ "405", "989", "ERROR:", "ERROR:" ], [ "410", "989", "ERROR:", "ERROR:" ], [ "415", "989", "ERROR:", "ERROR:" ], [ "420", "989", "ERROR:", "ERROR:" ], [ "490", "989", "ERROR:", "ERROR:" ], [ "500", "989", "ERROR:", "ERROR:" ], [ "505", "989", "ERROR:", "ERROR:" ], [ "510", "989", "ERROR:", "ERROR:" ], [ "520", "989", "ERROR:", "ERROR:" ], [ "600", "989", "ERROR:", "ERROR:" ], [ "700", "989", "ERROR:", "ERROR:" ], [ "100", "990", "VALUE:N1", "VALUE:N1" ], [ "105", "990", "VALUE:N1", "VALUE:N1" ], [ "110", "990", "VALUE:N1", "VALUE:N1" ], [ "120", "990", "VALUE:N1", "VALUE:N1" ], [ "180", "990", "VALUE:N1", "VALUE:N1" ], [ "190", "990", "VALUE:N1", "VALUE:N1" ], [ "200", "990", "VALUE:N2b", "VALUE:N2b" ], [ "205", "990", "VALUE:N2b", "VALUE:N2b" ], [ "210", "990", "VALUE:N2b", "VALUE:N2b" ], [ "215", "990", "VALUE:N2b", "VALUE:N2b" ], [ "220", "990", "VALUE:N2b", "VALUE:N2b" ], [ "290", "990", "VALUE:N2b", "VALUE:N2b" ], [ "300", "990", "VALUE:N1", "VALUE:N1" ], [ "305", "990", "VALUE:N1", "VALUE:N1" ], [ "310", "990", "VALUE:N1", "VALUE:N1" ], [ "320", "990", "VALUE:N1", "VALUE:N1" ], [ "400", "990", "VALUE:N2c", "VALUE:N2c" ], [ "405", "990", "VALUE:N2c", "VALUE:N2c" ], [ "410", "990", "VALUE:N2c", "VALUE:N2c" ], [ "415", "990", "VALUE:N2c", "VALUE:N2c" ], [ "420", "990", "VALUE:N2c", "VALUE:N2c" ], [ "490", "990", "VALUE:N2c", "VALUE:N2c" ], [ "500", "990", "VALUE:N1", "VALUE:N1" ], [ "505", "990", "VALUE:N1", "VALUE:N1" ], [ "510", "990", "VALUE:N1", "VALUE:N1" ], [ "520", "990", "VALUE:N1", "VALUE:N1" ], [ "600", "990", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "990", "VALUE:N1", "VALUE:N1" ], [ "100", "991-993", "VALUE:N1", "VALUE:N1" ], [ "105", "991-993", "VALUE:N1", "VALUE:N1" ], [ "110", "991-993", "VALUE:N1", "VALUE:N1" ], [ "120", "991-993", "VALUE:N1", "VALUE:N1" ], [ "180", "991-993", "VALUE:N1", "VALUE:N1" ], [ "190", "991-993", "VALUE:N1", "VALUE:N1" ], [ "200", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "205", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "210", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "215", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "220", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "290", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "300", "991-993", "VALUE:N1", "VALUE:N1" ], [ "305", "991-993", "VALUE:N1", "VALUE:N1" ], [ "310", "991-993", "VALUE:N1", "VALUE:N1" ], [ "320", "991-993", "VALUE:N1", "VALUE:N1" ], [ "400", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "405", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "410", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "415", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "420", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "490", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "500", "991-993", "VALUE:N1", "VALUE:N1" ], [ "505", "991-993", "VALUE:N1", "VALUE:N1" ], [ "510", "991-993", "VALUE:N1", "VALUE:N1" ], [ "520", "991-993", "VALUE:N1", "VALUE:N1" ], [ "600", "991-993", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "991-993", "VALUE:N1", "VALUE:N1" ], [ "100", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "105", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "110", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "120", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "180", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "190", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "200", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "205", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "210", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "215", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "220", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "290", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "300", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "305", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "310", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "320", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "400", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "405", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "410", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "415", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "420", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "490", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "500", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "505", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "510", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "520", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "600", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "100", "997", "VALUE:N3", "VALUE:N3" ], [ "105", "997", "VALUE:N3", "VALUE:N3" ], [ "110", "997", "VALUE:N3", "VALUE:N3" ], [ "120", "997", "VALUE:N3", "VALUE:N3" ], [ "180", "997", "VALUE:N3", "VALUE:N3" ], [ "190", "997", "VALUE:N3", "VALUE:N3" ], [ "200", "997", "VALUE:N3", "VALUE:N3" ], [ "205", "997", "VALUE:N3", "VALUE:N3" ], [ "210", "997", "VALUE:N3", "VALUE:N3" ], [ "215", "997", "VALUE:N3", "VALUE:N3" ], [ "220", "997", "VALUE:N3", "VALUE:N3" ], [ "290", "997", "VALUE:N3", "VALUE:N3" ], [ "300", "997", "VALUE:N3", "VALUE:N3" ], [ "305", "997", "VALUE:N3", "VALUE:N3" ], [ "310", "997", "VALUE:N3", "VALUE:N3" ], [ "320", "997", "VALUE:N3", "VALUE:N3" ], [ "400", "997", "VALUE:N3", "VALUE:N3" ], [ "405", "997", "VALUE:N3", "VALUE:N3" ], [ "410", "997", "VALUE:N3", "VALUE:N3" ], [ "415", "997", "VALUE:N3", "VALUE:N3" ], [ "420", "997", "VALUE:N3", "VALUE:N3" ], [ "490", "997", "VALUE:N3", "VALUE:N3" ], [ "500", "997", "VALUE:N3", "VALUE:N3" ], [ "505", "997", "VALUE:N3", "VALUE:N3" ], [ "510", "997", "VALUE:N3", "VALUE:N3" ], [ "520", "997", "VALUE:N3", "VALUE:N3" ], [ "600", "997", "VALUE:N3", "VALUE:N3" ], [ "700", "997", "VALUE:N3", "VALUE:N3" ], [ "100", "999", "VALUE:N1", "VALUE:N1" ], [ "105", "999", "VALUE:N1", "VALUE:N1" ], [ "110", "999", "VALUE:N1", "VALUE:N1" ], [ "120", "999", "VALUE:N1", "VALUE:N1" ], [ "180", "999", "VALUE:N1", "VALUE:N1" ], [ "190", "999", "VALUE:N2a", "VALUE:N2a" ], [ "200", "999", "VALUE:N2b", "VALUE:N2b" ], [ "205", "999", "VALUE:N2b", "VALUE:N2b" ], [ "210", "999", "VALUE:N2b", "VALUE:N2b" ], [ "215", "999", "VALUE:N2b", "VALUE:N2b" ], [ "220", "999", "VALUE:N2b", "VALUE:N2b" ], [ "290", "999", "VALUE:N2b", "VALUE:N2b" ], [ "300", "999", "VALUE:N1", "VALUE:N1" ], [ "305", "999", "VALUE:N1", "VALUE:N1" ], [ "310", "999", "VALUE:N1", "VALUE:N1" ], [ "320", "999", "VALUE:N1", "VALUE:N1" ], [ "400", "999", "VALUE:N2c", "VALUE:N2c" ], [ "405", "999", "VALUE:N2c", "VALUE:N2c" ], [ "410", "999", "VALUE:N2c", "VALUE:N2c" ], [ "415", "999", "VALUE:N2c", "VALUE:N2c" ], [ "420", "999", "VALUE:N2c", "VALUE:N2c" ], [ "490", "999", "VALUE:N2c", "VALUE:N2c" ], [ "500", "999", "VALUE:N1", "VALUE:N1" ], [ "505", "999", "VALUE:N1", "VALUE:N1" ], [ "510", "999", "VALUE:N1", "VALUE:N1" ], [ "520", "999", "VALUE:N1", "VALUE:N1" ], [ "600", "999", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "999", "VALUE:N3", "VALUE:N3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpd.json deleted file mode 100644 index bb94deede..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpd.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "lymph_nodes_size_xpd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size", - "title" : "Lymph Nodes Size Table", - "notes" : "**Note**: For CS Lymph Nodes codes 100-700 ONLY, the N category is determined by the size of involved nodes coded in CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in this table.", - "footnotes" : "Note: For CS Lymph Nodes codes 100-700 ONLY, the N category is determined by the size of involved nodes coded in CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in this table.", - "last_modified" : "2015-05-27T16:19:26.667Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF1", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "120", "000", "ERROR:", "ERROR:" ], [ "180", "000", "ERROR:", "ERROR:" ], [ "190", "000", "ERROR:", "ERROR:" ], [ "200", "000", "ERROR:", "ERROR:" ], [ "220", "000", "ERROR:", "ERROR:" ], [ "290", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "320", "000", "ERROR:", "ERROR:" ], [ "400", "000", "ERROR:", "ERROR:" ], [ "420", "000", "ERROR:", "ERROR:" ], [ "490", "000", "ERROR:", "ERROR:" ], [ "500", "000", "ERROR:", "ERROR:" ], [ "520", "000", "ERROR:", "ERROR:" ], [ "600", "000", "ERROR:", "ERROR:" ], [ "700", "000", "ERROR:", "ERROR:" ], [ "100", "001-030", "VALUE:N1", "VALUE:N1" ], [ "120", "001-030", "VALUE:N1", "VALUE:N1" ], [ "180", "001-030", "VALUE:N1", "VALUE:N1" ], [ "190", "001-030", "VALUE:N1", "VALUE:N1" ], [ "200", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "220", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "290", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "300", "001-030", "VALUE:N1", "VALUE:N1" ], [ "320", "001-030", "VALUE:N1", "VALUE:N1" ], [ "400", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "420", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "490", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "500", "001-030", "VALUE:N1", "VALUE:N1" ], [ "520", "001-030", "VALUE:N1", "VALUE:N1" ], [ "600", "001-030", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "001-030", "VALUE:N1", "VALUE:N1" ], [ "100", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "120", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "180", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "190", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "200", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "220", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "290", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "300", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "320", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "400", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "420", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "490", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "500", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "520", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "600", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "100", "061-980", "VALUE:N3", "VALUE:N3" ], [ "120", "061-980", "VALUE:N3", "VALUE:N3" ], [ "180", "061-980", "VALUE:N3", "VALUE:N3" ], [ "190", "061-980", "VALUE:N3", "VALUE:N3" ], [ "200", "061-980", "VALUE:N3", "VALUE:N3" ], [ "220", "061-980", "VALUE:N3", "VALUE:N3" ], [ "290", "061-980", "VALUE:N3", "VALUE:N3" ], [ "300", "061-980", "VALUE:N3", "VALUE:N3" ], [ "320", "061-980", "VALUE:N3", "VALUE:N3" ], [ "400", "061-980", "VALUE:N3", "VALUE:N3" ], [ "420", "061-980", "VALUE:N3", "VALUE:N3" ], [ "490", "061-980", "VALUE:N3", "VALUE:N3" ], [ "500", "061-980", "VALUE:N3", "VALUE:N3" ], [ "520", "061-980", "VALUE:N3", "VALUE:N3" ], [ "600", "061-980", "VALUE:N3", "VALUE:N3" ], [ "700", "061-980", "VALUE:N3", "VALUE:N3" ], [ "100", "981-987", "ERROR:", "ERROR:" ], [ "120", "981-987", "ERROR:", "ERROR:" ], [ "180", "981-987", "ERROR:", "ERROR:" ], [ "190", "981-987", "ERROR:", "ERROR:" ], [ "200", "981-987", "ERROR:", "ERROR:" ], [ "220", "981-987", "ERROR:", "ERROR:" ], [ "290", "981-987", "ERROR:", "ERROR:" ], [ "300", "981-987", "ERROR:", "ERROR:" ], [ "320", "981-987", "ERROR:", "ERROR:" ], [ "400", "981-987", "ERROR:", "ERROR:" ], [ "420", "981-987", "ERROR:", "ERROR:" ], [ "490", "981-987", "ERROR:", "ERROR:" ], [ "500", "981-987", "ERROR:", "ERROR:" ], [ "520", "981-987", "ERROR:", "ERROR:" ], [ "600", "981-987", "ERROR:", "ERROR:" ], [ "700", "981-987", "ERROR:", "ERROR:" ], [ "100", "988", "ERROR:", "ERROR:" ], [ "120", "988", "ERROR:", "ERROR:" ], [ "180", "988", "ERROR:", "ERROR:" ], [ "190", "988", "ERROR:", "ERROR:" ], [ "200", "988", "ERROR:", "ERROR:" ], [ "220", "988", "ERROR:", "ERROR:" ], [ "290", "988", "ERROR:", "ERROR:" ], [ "300", "988", "ERROR:", "ERROR:" ], [ "320", "988", "ERROR:", "ERROR:" ], [ "400", "988", "ERROR:", "ERROR:" ], [ "420", "988", "ERROR:", "ERROR:" ], [ "490", "988", "ERROR:", "ERROR:" ], [ "500", "988", "ERROR:", "ERROR:" ], [ "520", "988", "ERROR:", "ERROR:" ], [ "600", "988", "ERROR:", "ERROR:" ], [ "700", "988", "ERROR:", "ERROR:" ], [ "100", "989", "ERROR:", "ERROR:" ], [ "120", "989", "ERROR:", "ERROR:" ], [ "180", "989", "ERROR:", "ERROR:" ], [ "190", "989", "ERROR:", "ERROR:" ], [ "200", "989", "ERROR:", "ERROR:" ], [ "220", "989", "ERROR:", "ERROR:" ], [ "290", "989", "ERROR:", "ERROR:" ], [ "300", "989", "ERROR:", "ERROR:" ], [ "320", "989", "ERROR:", "ERROR:" ], [ "400", "989", "ERROR:", "ERROR:" ], [ "420", "989", "ERROR:", "ERROR:" ], [ "490", "989", "ERROR:", "ERROR:" ], [ "500", "989", "ERROR:", "ERROR:" ], [ "520", "989", "ERROR:", "ERROR:" ], [ "600", "989", "ERROR:", "ERROR:" ], [ "700", "989", "ERROR:", "ERROR:" ], [ "100", "990", "VALUE:N1", "VALUE:N1" ], [ "120", "990", "VALUE:N1", "VALUE:N1" ], [ "180", "990", "VALUE:N1", "VALUE:N1" ], [ "190", "990", "VALUE:N1", "VALUE:N1" ], [ "200", "990", "VALUE:N2b", "VALUE:N2b" ], [ "220", "990", "VALUE:N2b", "VALUE:N2b" ], [ "290", "990", "VALUE:N2b", "VALUE:N2b" ], [ "300", "990", "VALUE:N1", "VALUE:N1" ], [ "320", "990", "VALUE:N1", "VALUE:N1" ], [ "400", "990", "VALUE:N2c", "VALUE:N2c" ], [ "420", "990", "VALUE:N2c", "VALUE:N2c" ], [ "490", "990", "VALUE:N2c", "VALUE:N2c" ], [ "500", "990", "VALUE:N1", "VALUE:N1" ], [ "520", "990", "VALUE:N1", "VALUE:N1" ], [ "600", "990", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "990", "VALUE:N1", "VALUE:N1" ], [ "100", "991-993", "VALUE:N1", "VALUE:N1" ], [ "120", "991-993", "VALUE:N1", "VALUE:N1" ], [ "180", "991-993", "VALUE:N1", "VALUE:N1" ], [ "190", "991-993", "VALUE:N1", "VALUE:N1" ], [ "200", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "220", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "290", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "300", "991-993", "VALUE:N1", "VALUE:N1" ], [ "320", "991-993", "VALUE:N1", "VALUE:N1" ], [ "400", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "420", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "490", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "500", "991-993", "VALUE:N1", "VALUE:N1" ], [ "520", "991-993", "VALUE:N1", "VALUE:N1" ], [ "600", "991-993", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "991-993", "VALUE:N1", "VALUE:N1" ], [ "100", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "120", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "180", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "190", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "200", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "220", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "290", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "300", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "320", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "400", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "420", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "490", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "500", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "520", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "600", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "100", "997", "VALUE:N3", "VALUE:N3" ], [ "120", "997", "VALUE:N3", "VALUE:N3" ], [ "180", "997", "VALUE:N3", "VALUE:N3" ], [ "190", "997", "VALUE:N3", "VALUE:N3" ], [ "200", "997", "VALUE:N3", "VALUE:N3" ], [ "220", "997", "VALUE:N3", "VALUE:N3" ], [ "290", "997", "VALUE:N3", "VALUE:N3" ], [ "300", "997", "VALUE:N3", "VALUE:N3" ], [ "320", "997", "VALUE:N3", "VALUE:N3" ], [ "400", "997", "VALUE:N3", "VALUE:N3" ], [ "420", "997", "VALUE:N3", "VALUE:N3" ], [ "490", "997", "VALUE:N3", "VALUE:N3" ], [ "500", "997", "VALUE:N3", "VALUE:N3" ], [ "520", "997", "VALUE:N3", "VALUE:N3" ], [ "600", "997", "VALUE:N3", "VALUE:N3" ], [ "700", "997", "VALUE:N3", "VALUE:N3" ], [ "100", "999", "VALUE:N1", "VALUE:N1" ], [ "120", "999", "VALUE:N1", "VALUE:N1" ], [ "180", "999", "VALUE:N1", "VALUE:N1" ], [ "190", "999", "VALUE:N2a", "VALUE:N2a" ], [ "200", "999", "VALUE:N2b", "VALUE:N2b" ], [ "220", "999", "VALUE:N2b", "VALUE:N2b" ], [ "290", "999", "VALUE:N2b", "VALUE:N2b" ], [ "300", "999", "VALUE:N1", "VALUE:N1" ], [ "320", "999", "VALUE:N1", "VALUE:N1" ], [ "400", "999", "VALUE:N2c", "VALUE:N2c" ], [ "420", "999", "VALUE:N2c", "VALUE:N2c" ], [ "490", "999", "VALUE:N2c", "VALUE:N2c" ], [ "500", "999", "VALUE:N1", "VALUE:N1" ], [ "520", "999", "VALUE:N1", "VALUE:N1" ], [ "600", "999", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "999", "VALUE:N3", "VALUE:N3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpg.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpg.json deleted file mode 100644 index ab3423b9a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_size_xpg.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymph_nodes_size_xpg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes Size", - "title" : "Lymph Nodes Size Table", - "notes" : "**Note**: For CS Lymph Nodes codes 100-700 ONLY, the N category is determined by the size of involved nodes coded in CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in this table.", - "last_modified" : "2015-05-27T16:19:26.732Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF1", - "type" : "INPUT" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000", "ERROR:", "ERROR:" ], [ "110", "000", "ERROR:", "ERROR:" ], [ "120", "000", "ERROR:", "ERROR:" ], [ "180", "000", "ERROR:", "ERROR:" ], [ "190", "000", "ERROR:", "ERROR:" ], [ "200", "000", "ERROR:", "ERROR:" ], [ "210", "000", "ERROR:", "ERROR:" ], [ "220", "000", "ERROR:", "ERROR:" ], [ "290", "000", "ERROR:", "ERROR:" ], [ "300", "000", "ERROR:", "ERROR:" ], [ "310", "000", "ERROR:", "ERROR:" ], [ "320", "000", "ERROR:", "ERROR:" ], [ "400", "000", "ERROR:", "ERROR:" ], [ "410", "000", "ERROR:", "ERROR:" ], [ "420", "000", "ERROR:", "ERROR:" ], [ "490", "000", "ERROR:", "ERROR:" ], [ "500", "000", "ERROR:", "ERROR:" ], [ "510", "000", "ERROR:", "ERROR:" ], [ "520", "000", "ERROR:", "ERROR:" ], [ "600", "000", "ERROR:", "ERROR:" ], [ "700", "000", "ERROR:", "ERROR:" ], [ "100", "001-030", "VALUE:N1", "VALUE:N1" ], [ "110", "001-030", "VALUE:N1", "VALUE:N1" ], [ "120", "001-030", "VALUE:N1", "VALUE:N1" ], [ "180", "001-030", "VALUE:N1", "VALUE:N1" ], [ "190", "001-030", "VALUE:N1", "VALUE:N1" ], [ "200", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "210", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "220", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "290", "001-030", "VALUE:N2b", "VALUE:N2b" ], [ "300", "001-030", "VALUE:N1", "VALUE:N1" ], [ "310", "001-030", "VALUE:N1", "VALUE:N1" ], [ "320", "001-030", "VALUE:N1", "VALUE:N1" ], [ "400", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "410", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "420", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "490", "001-030", "VALUE:N2c", "VALUE:N2c" ], [ "500", "001-030", "VALUE:N1", "VALUE:N1" ], [ "510", "001-030", "VALUE:N1", "VALUE:N1" ], [ "520", "001-030", "VALUE:N1", "VALUE:N1" ], [ "600", "001-030", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "001-030", "VALUE:N1", "VALUE:N1" ], [ "100", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "110", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "120", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "180", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "190", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "200", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "210", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "220", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "290", "031-060", "VALUE:N2b", "VALUE:N2b" ], [ "300", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "310", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "320", "031-060", "VALUE:N2a", "VALUE:N2a" ], [ "400", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "410", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "420", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "490", "031-060", "VALUE:N2c", "VALUE:N2c" ], [ "500", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "510", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "520", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "600", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "031-060", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "100", "061-980", "VALUE:N3", "VALUE:N3" ], [ "110", "061-980", "VALUE:N3", "VALUE:N3" ], [ "120", "061-980", "VALUE:N3", "VALUE:N3" ], [ "180", "061-980", "VALUE:N3", "VALUE:N3" ], [ "190", "061-980", "VALUE:N3", "VALUE:N3" ], [ "200", "061-980", "VALUE:N3", "VALUE:N3" ], [ "210", "061-980", "VALUE:N3", "VALUE:N3" ], [ "220", "061-980", "VALUE:N3", "VALUE:N3" ], [ "290", "061-980", "VALUE:N3", "VALUE:N3" ], [ "300", "061-980", "VALUE:N3", "VALUE:N3" ], [ "310", "061-980", "VALUE:N3", "VALUE:N3" ], [ "320", "061-980", "VALUE:N3", "VALUE:N3" ], [ "400", "061-980", "VALUE:N3", "VALUE:N3" ], [ "410", "061-980", "VALUE:N3", "VALUE:N3" ], [ "420", "061-980", "VALUE:N3", "VALUE:N3" ], [ "490", "061-980", "VALUE:N3", "VALUE:N3" ], [ "500", "061-980", "VALUE:N3", "VALUE:N3" ], [ "510", "061-980", "VALUE:N3", "VALUE:N3" ], [ "520", "061-980", "VALUE:N3", "VALUE:N3" ], [ "600", "061-980", "VALUE:N3", "VALUE:N3" ], [ "700", "061-980", "VALUE:N3", "VALUE:N3" ], [ "100", "981-987", "ERROR:", "ERROR:" ], [ "110", "981-987", "ERROR:", "ERROR:" ], [ "120", "981-987", "ERROR:", "ERROR:" ], [ "180", "981-987", "ERROR:", "ERROR:" ], [ "190", "981-987", "ERROR:", "ERROR:" ], [ "200", "981-987", "ERROR:", "ERROR:" ], [ "210", "981-987", "ERROR:", "ERROR:" ], [ "220", "981-987", "ERROR:", "ERROR:" ], [ "290", "981-987", "ERROR:", "ERROR:" ], [ "300", "981-987", "ERROR:", "ERROR:" ], [ "310", "981-987", "ERROR:", "ERROR:" ], [ "320", "981-987", "ERROR:", "ERROR:" ], [ "400", "981-987", "ERROR:", "ERROR:" ], [ "410", "981-987", "ERROR:", "ERROR:" ], [ "420", "981-987", "ERROR:", "ERROR:" ], [ "490", "981-987", "ERROR:", "ERROR:" ], [ "500", "981-987", "ERROR:", "ERROR:" ], [ "510", "981-987", "ERROR:", "ERROR:" ], [ "520", "981-987", "ERROR:", "ERROR:" ], [ "600", "981-987", "ERROR:", "ERROR:" ], [ "700", "981-987", "ERROR:", "ERROR:" ], [ "100", "988", "ERROR:", "ERROR:" ], [ "110", "988", "ERROR:", "ERROR:" ], [ "120", "988", "ERROR:", "ERROR:" ], [ "180", "988", "ERROR:", "ERROR:" ], [ "190", "988", "ERROR:", "ERROR:" ], [ "200", "988", "ERROR:", "ERROR:" ], [ "210", "988", "ERROR:", "ERROR:" ], [ "220", "988", "ERROR:", "ERROR:" ], [ "290", "988", "ERROR:", "ERROR:" ], [ "300", "988", "ERROR:", "ERROR:" ], [ "310", "988", "ERROR:", "ERROR:" ], [ "320", "988", "ERROR:", "ERROR:" ], [ "400", "988", "ERROR:", "ERROR:" ], [ "410", "988", "ERROR:", "ERROR:" ], [ "420", "988", "ERROR:", "ERROR:" ], [ "490", "988", "ERROR:", "ERROR:" ], [ "500", "988", "ERROR:", "ERROR:" ], [ "510", "988", "ERROR:", "ERROR:" ], [ "520", "988", "ERROR:", "ERROR:" ], [ "600", "988", "ERROR:", "ERROR:" ], [ "700", "988", "ERROR:", "ERROR:" ], [ "100", "989", "ERROR:", "ERROR:" ], [ "110", "989", "ERROR:", "ERROR:" ], [ "120", "989", "ERROR:", "ERROR:" ], [ "180", "989", "ERROR:", "ERROR:" ], [ "190", "989", "ERROR:", "ERROR:" ], [ "200", "989", "ERROR:", "ERROR:" ], [ "210", "989", "ERROR:", "ERROR:" ], [ "220", "989", "ERROR:", "ERROR:" ], [ "290", "989", "ERROR:", "ERROR:" ], [ "300", "989", "ERROR:", "ERROR:" ], [ "310", "989", "ERROR:", "ERROR:" ], [ "320", "989", "ERROR:", "ERROR:" ], [ "400", "989", "ERROR:", "ERROR:" ], [ "410", "989", "ERROR:", "ERROR:" ], [ "420", "989", "ERROR:", "ERROR:" ], [ "490", "989", "ERROR:", "ERROR:" ], [ "500", "989", "ERROR:", "ERROR:" ], [ "510", "989", "ERROR:", "ERROR:" ], [ "520", "989", "ERROR:", "ERROR:" ], [ "600", "989", "ERROR:", "ERROR:" ], [ "700", "989", "ERROR:", "ERROR:" ], [ "100", "990", "VALUE:N1", "VALUE:N1" ], [ "110", "990", "VALUE:N1", "VALUE:N1" ], [ "120", "990", "VALUE:N1", "VALUE:N1" ], [ "180", "990", "VALUE:N1", "VALUE:N1" ], [ "190", "990", "VALUE:N1", "VALUE:N1" ], [ "200", "990", "VALUE:N2b", "VALUE:N2b" ], [ "210", "990", "VALUE:N2b", "VALUE:N2b" ], [ "220", "990", "VALUE:N2b", "VALUE:N2b" ], [ "290", "990", "VALUE:N2b", "VALUE:N2b" ], [ "300", "990", "VALUE:N1", "VALUE:N1" ], [ "310", "990", "VALUE:N1", "VALUE:N1" ], [ "320", "990", "VALUE:N1", "VALUE:N1" ], [ "400", "990", "VALUE:N2c", "VALUE:N2c" ], [ "410", "990", "VALUE:N2c", "VALUE:N2c" ], [ "420", "990", "VALUE:N2c", "VALUE:N2c" ], [ "490", "990", "VALUE:N2c", "VALUE:N2c" ], [ "500", "990", "VALUE:N1", "VALUE:N1" ], [ "510", "990", "VALUE:N1", "VALUE:N1" ], [ "520", "990", "VALUE:N1", "VALUE:N1" ], [ "600", "990", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "990", "VALUE:N1", "VALUE:N1" ], [ "100", "991-993", "VALUE:N1", "VALUE:N1" ], [ "110", "991-993", "VALUE:N1", "VALUE:N1" ], [ "120", "991-993", "VALUE:N1", "VALUE:N1" ], [ "180", "991-993", "VALUE:N1", "VALUE:N1" ], [ "190", "991-993", "VALUE:N1", "VALUE:N1" ], [ "200", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "210", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "220", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "290", "991-993", "VALUE:N2b", "VALUE:N2b" ], [ "300", "991-993", "VALUE:N1", "VALUE:N1" ], [ "310", "991-993", "VALUE:N1", "VALUE:N1" ], [ "320", "991-993", "VALUE:N1", "VALUE:N1" ], [ "400", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "410", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "420", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "490", "991-993", "VALUE:N2c", "VALUE:N2c" ], [ "500", "991-993", "VALUE:N1", "VALUE:N1" ], [ "510", "991-993", "VALUE:N1", "VALUE:N1" ], [ "520", "991-993", "VALUE:N1", "VALUE:N1" ], [ "600", "991-993", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "991-993", "VALUE:N1", "VALUE:N1" ], [ "100", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "110", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "120", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "180", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "190", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "200", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "210", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "220", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "290", "994-996", "VALUE:N2b", "VALUE:N2b" ], [ "300", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "310", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "320", "994-996", "VALUE:N2a", "VALUE:N2a" ], [ "400", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "410", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "420", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "490", "994-996", "VALUE:N2c", "VALUE:N2c" ], [ "500", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "510", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "520", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "600", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "994-996", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "100", "997", "VALUE:N3", "VALUE:N3" ], [ "110", "997", "VALUE:N3", "VALUE:N3" ], [ "120", "997", "VALUE:N3", "VALUE:N3" ], [ "180", "997", "VALUE:N3", "VALUE:N3" ], [ "190", "997", "VALUE:N3", "VALUE:N3" ], [ "200", "997", "VALUE:N3", "VALUE:N3" ], [ "210", "997", "VALUE:N3", "VALUE:N3" ], [ "220", "997", "VALUE:N3", "VALUE:N3" ], [ "290", "997", "VALUE:N3", "VALUE:N3" ], [ "300", "997", "VALUE:N3", "VALUE:N3" ], [ "310", "997", "VALUE:N3", "VALUE:N3" ], [ "320", "997", "VALUE:N3", "VALUE:N3" ], [ "400", "997", "VALUE:N3", "VALUE:N3" ], [ "410", "997", "VALUE:N3", "VALUE:N3" ], [ "420", "997", "VALUE:N3", "VALUE:N3" ], [ "490", "997", "VALUE:N3", "VALUE:N3" ], [ "500", "997", "VALUE:N3", "VALUE:N3" ], [ "510", "997", "VALUE:N3", "VALUE:N3" ], [ "520", "997", "VALUE:N3", "VALUE:N3" ], [ "600", "997", "VALUE:N3", "VALUE:N3" ], [ "700", "997", "VALUE:N3", "VALUE:N3" ], [ "100", "999", "VALUE:N1", "VALUE:N1" ], [ "110", "999", "VALUE:N1", "VALUE:N1" ], [ "120", "999", "VALUE:N1", "VALUE:N1" ], [ "180", "999", "VALUE:N1", "VALUE:N1" ], [ "190", "999", "VALUE:N2a", "VALUE:N2a" ], [ "200", "999", "VALUE:N2b", "VALUE:N2b" ], [ "210", "999", "VALUE:N2b", "VALUE:N2b" ], [ "220", "999", "VALUE:N2b", "VALUE:N2b" ], [ "290", "999", "VALUE:N2b", "VALUE:N2b" ], [ "300", "999", "VALUE:N1", "VALUE:N1" ], [ "310", "999", "VALUE:N1", "VALUE:N1" ], [ "320", "999", "VALUE:N1", "VALUE:N1" ], [ "400", "999", "VALUE:N2c", "VALUE:N2c" ], [ "410", "999", "VALUE:N2c", "VALUE:N2c" ], [ "420", "999", "VALUE:N2c", "VALUE:N2c" ], [ "490", "999", "VALUE:N2c", "VALUE:N2c" ], [ "500", "999", "VALUE:N1", "VALUE:N1" ], [ "510", "999", "VALUE:N1", "VALUE:N1" ], [ "520", "999", "VALUE:N1", "VALUE:N1" ], [ "600", "999", "VALUE:N2NOS", "VALUE:N2NOS" ], [ "700", "999", "VALUE:N3", "VALUE:N3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_ssf11_ajcc6_xqd.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_ssf11_ajcc6_xqd.json deleted file mode 100644 index dfe19cab2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodes_ssf11_ajcc6_xqd.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_ssf11_ajcc6_xqd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes SSF11 AJCC6", - "title" : "Lymph Nodes SSF 11 AJCC 6 Table", - "notes" : "**Note**: For CS Lymph Node codes 110-450, the assignment of the N category for AJCC 6 staging is based on CS Site Specific Factor 11, Regional Lymph Node Laterality, as shown in this table.", - "last_modified" : "2015-05-27T16:19:26.803Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf11", - "name" : "CS SSF11", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "AJCC 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "110", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "130", "000", "ERROR:" ], [ "150", "000", "ERROR:" ], [ "210", "000", "ERROR:" ], [ "220", "000", "ERROR:" ], [ "230", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "300", "000", "ERROR:" ], [ "350", "000", "ERROR:" ], [ "360", "000", "ERROR:" ], [ "400", "000", "ERROR:" ], [ "450", "000", "ERROR:" ], [ "110", "010", "VALUE:N1" ], [ "120", "010", "VALUE:N1" ], [ "130", "010", "VALUE:N1" ], [ "150", "010", "VALUE:N1" ], [ "210", "010", "VALUE:N1" ], [ "220", "010", "VALUE:N1" ], [ "230", "010", "VALUE:N1" ], [ "250", "010", "VALUE:N1" ], [ "300", "010", "VALUE:N1" ], [ "350", "010", "VALUE:N1" ], [ "360", "010", "VALUE:N1" ], [ "400", "010", "VALUE:N1" ], [ "450", "010", "VALUE:N1" ], [ "110", "020", "VALUE:N2" ], [ "120", "020", "VALUE:N2" ], [ "130", "020", "VALUE:N2" ], [ "150", "020", "VALUE:N2" ], [ "210", "020", "VALUE:N2" ], [ "220", "020", "VALUE:N2" ], [ "230", "020", "VALUE:N2" ], [ "250", "020", "VALUE:N2" ], [ "300", "020", "VALUE:N2" ], [ "350", "020", "VALUE:N2" ], [ "360", "020", "VALUE:N2" ], [ "400", "020", "VALUE:N2" ], [ "450", "020", "VALUE:N2" ], [ "110", "030", "VALUE:N1" ], [ "120", "030", "VALUE:N1" ], [ "130", "030", "VALUE:N1" ], [ "150", "030", "VALUE:N1" ], [ "210", "030", "VALUE:N1" ], [ "220", "030", "VALUE:N1" ], [ "230", "030", "VALUE:N1" ], [ "250", "030", "VALUE:N1" ], [ "300", "030", "VALUE:N1" ], [ "350", "030", "VALUE:N1" ], [ "360", "030", "VALUE:N1" ], [ "400", "030", "VALUE:N1" ], [ "450", "030", "VALUE:N1" ], [ "110", "988", "VALUE:N1" ], [ "120", "988", "VALUE:N1" ], [ "130", "988", "VALUE:N1" ], [ "150", "988", "VALUE:N1" ], [ "210", "988", "VALUE:N1" ], [ "220", "988", "VALUE:N1" ], [ "230", "988", "VALUE:N1" ], [ "250", "988", "VALUE:N1" ], [ "300", "988", "VALUE:N1" ], [ "350", "988", "VALUE:N1" ], [ "360", "988", "VALUE:N1" ], [ "400", "988", "VALUE:N1" ], [ "450", "988", "VALUE:N1" ], [ "110", "998", "VALUE:N1" ], [ "120", "998", "VALUE:N1" ], [ "130", "998", "VALUE:N1" ], [ "150", "998", "VALUE:N1" ], [ "210", "998", "VALUE:N1" ], [ "220", "998", "VALUE:N1" ], [ "230", "998", "VALUE:N1" ], [ "250", "998", "VALUE:N1" ], [ "300", "998", "VALUE:N1" ], [ "350", "998", "VALUE:N1" ], [ "360", "998", "VALUE:N1" ], [ "400", "998", "VALUE:N1" ], [ "450", "998", "VALUE:N1" ], [ "110", "999", "VALUE:N1" ], [ "120", "999", "VALUE:N1" ], [ "130", "999", "VALUE:N1" ], [ "150", "999", "VALUE:N1" ], [ "210", "999", "VALUE:N1" ], [ "220", "999", "VALUE:N1" ], [ "230", "999", "VALUE:N1" ], [ "250", "999", "VALUE:N1" ], [ "300", "999", "VALUE:N1" ], [ "350", "999", "VALUE:N1" ], [ "360", "999", "VALUE:N1" ], [ "400", "999", "VALUE:N1" ], [ "450", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodesand_ssf11_ajcc6_xiq.json b/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodesand_ssf11_ajcc6_xiq.json deleted file mode 100644 index 17a8f1d50..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/lymph_nodesand_ssf11_ajcc6_xiq.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodesand_ssf11_ajcc6_xiq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Lymph Nodes and SSF11 AJCC6", - "title" : "Lymph Nodes and SSF 11 AJCC 6 Table", - "notes" : "**Note**: For CS Lymph Nodes codes 105, 108, 109, 114-130, 520, 540, 570, and 580, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 11, Regional Lymph Node - Laterality, as shown in this table.", - "last_modified" : "2015-05-27T16:19:23.158Z", - "definition" : [ { - "key" : "nodes", - "name" : "CS Lymph Nodes", - "type" : "INPUT" - }, { - "key" : "ssf11", - "name" : "CS SSF 11", - "type" : "INPUT" - }, { - "key" : "ajcc6_n", - "name" : "AJCC 6 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "105", "000", "ERROR:" ], [ "108-109", "000", "ERROR:" ], [ "114-130", "000", "ERROR:" ], [ "520-540", "000", "ERROR:" ], [ "570-580", "000", "ERROR:" ], [ "105", "010", "VALUE:N1" ], [ "108-109", "010", "VALUE:N1" ], [ "114-130", "010", "VALUE:N1" ], [ "520-540", "010", "VALUE:N1" ], [ "570-580", "010", "VALUE:N1" ], [ "105", "020", "VALUE:N2" ], [ "108-109", "020", "VALUE:N2" ], [ "114-130", "020", "VALUE:N2" ], [ "520-540", "020", "VALUE:N2" ], [ "570-580", "020", "VALUE:N2" ], [ "105", "030", "VALUE:N1" ], [ "108-109", "030", "VALUE:N1" ], [ "114-130", "030", "VALUE:N1" ], [ "520-540", "030", "VALUE:N1" ], [ "570-580", "030", "VALUE:N1" ], [ "105", "988", "VALUE:N1" ], [ "108-109", "988", "VALUE:N1" ], [ "114-130", "988", "VALUE:N1" ], [ "520-540", "988", "VALUE:N1" ], [ "570-580", "988", "VALUE:N1" ], [ "105", "998", "ERROR:" ], [ "108-109", "998", "ERROR:" ], [ "114-130", "998", "ERROR:" ], [ "520-540", "998", "ERROR:" ], [ "570-580", "998", "ERROR:" ], [ "105", "999", "VALUE:N1" ], [ "108-109", "999", "VALUE:N1" ], [ "114-130", "999", "VALUE:N1" ], [ "520-540", "999", "VALUE:N1" ], [ "570-580", "999", "VALUE:N1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iaa.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iaa.json deleted file mode 100644 index e35b84a6d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iaa.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "mets_eval_iaa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets Eval", - "title" : "CS Mets Eval", - "last_modified" : "2015-05-27T16:19:27.051Z", - "definition" : [ { - "key" : "mets_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "mdescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "9", "Not applicable for this site.", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iac.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iac.json deleted file mode 100644 index 463ada9f2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iac.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "mets_eval_iac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets Eval", - "title" : "CS Mets Eval", - "notes" : "**Note**: The staging basis 6 for this schema is blank because AJCC stage is not applicable in the 6th Edition.", - "last_modified" : "2015-05-27T16:19:27.097Z", - "definition" : [ { - "key" : "mets_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "mdescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "staging_basis_6", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging of distant metastasis:\n\nEvaluation of distant metastasis based on physical examination, imaging examination, and/or other non-invasive clinical evidence. No microscopic examination of metastasis performed or pathologic examination was negative. \n ", "VALUE:c", "VALUE:" ], [ "1", "Does not meet criteria for AJCC pathologic staging of distant metastasis:\n\nEvaluation of distant metastasis based on endoscopic examination or other invasive technique, including surgical observation without biopsy. No microscopic examination of metastasis performed or microscopic examination was negative. \n ", "VALUE:c", "VALUE:" ], [ "2", "Meets criteria for AJCC pathologic staging of distant metastasis:\n\nNo microscopic examination of metastasis done prior to death, but positive metastatic evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy). \n ", "VALUE:p", "VALUE:" ], [ "3", "Meets criteria for AJCC pathologic staging of distant metastasis:\n\nPositive microscopic examination of metastasis performed WITHOUT pre-surgical systemic treatment or radiation\nOR positive microscopic examination of metastasis performed, unknown if pre-surgical systemic treatment or radiation performed\nOR positive microscopic examination of metastasis performed prior to neoadjuvant treatment. \n ", "VALUE:p", "VALUE:" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp)staging of distant metastasis:\n\nPositive microscopic examination of metastasis performed WITH pre-surgical systemic treatment or radiation, and metastasis based on clinical evidence.\n ", "VALUE:c", "VALUE:" ], [ "6", "Meets criteria for AJCC y-pathologic (yp)staging of distant metastasis:\n\nPositive microscopic examination of metastasis performed WITH pre-surgical systemic treatment or radiation, BUT metastasis based on pathologic evidence.\n ", "VALUE:yp", "VALUE:" ], [ "8", "Meets criteria for AJCC autopsy (a) staging of distant metastasis:\n\nEvidence from autopsy AND tumor was unsuspected or undiagnosed prior to autopsy. \n ", "VALUE:a", "VALUE:" ], [ "9", "Not applicable for this site (Version 1)\nNot assessed; cannot be accessed\nUnknown if accessed\nNot documented in patient record \n ", "VALUE:c", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iad.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iad.json deleted file mode 100644 index c9468acc9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iad.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "mets_eval_iad", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets Eval", - "title" : "CS Mets Eval", - "notes" : "**Note 1**: This item reflects the validity of the classification of the item CS Mets at DX only according to diagnostic methods employed.\n\n**Note 2**: CS Lymph Mets Eval is an applicable data item for ocular adnexal lymphomas in AJCC 7th Edition staging. The data item is not applicable for all lymphomas in AJCC 6th Edition staging.", - "last_modified" : "2015-05-27T16:19:27.145Z", - "definition" : [ { - "key" : "mets_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "mdescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "staging_basis_6", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging of distant metastasis:\n\nNo pathologic examination of metastatic tissue performed. Evaluation based on physical examination, imaging examination, and/or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c", "VALUE:N" ], [ "1", "Does not meet criteria for AJCC pathologic staging of distant metastasis:\n\nEvaluation of distant metastasis based on endoscopic examination or other invasive technique, including surgical observation without biopsy. No pathologic examination of metastatic tissue performed or pathologic examination was negative.", "VALUE:c", "VALUE:N" ], [ "2", "Meets criteria for AJCC pathologic staging of distant metastasis:\n\nNo pathologic examination of metastatic tissue done prior to death, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p", "VALUE:N" ], [ "3", "Meets criteria for AJCC pathologic staging of distant metastasis:\n\nSpecimen from metastatic site microscopically positive WITHOUT pre-surgical systemic treatment or radiation OR specimen from metastatic site microscopically positive, unknown if pre-surgical systemic treatment or radiation performed.", "VALUE:p", "VALUE:N" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging of distant metastasis:\n\nSpecimen from metastatic site microscopically positive WITH pre-surgical systemic treatment or radiation, BUT metastasis based on clinical evidence.", "VALUE:c", "VALUE:N" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging of distant metastasis:\n\nSpecimen from metastatic site microscopically positive WITH pre-surgical systemic treatment or radiation, and metastasis based on pathologic evidence.", "VALUE:yp", "VALUE:N" ], [ "8", "Meets criteria for AJCC autopsy (a) staging of distant metastasis:\n\nEvidence from autopsy based on examination of positive metastatis tissue AND tumor was unsuspected or undiagnosed prior to autopsy.", "VALUE:a", "VALUE:N" ], [ "9", "Not assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c", "VALUE:N" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iae.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iae.json deleted file mode 100644 index c5347fb5c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iae.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "mets_eval_iae", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets Eval", - "title" : "CS Mets Eval", - "notes" : "**Note**: The staging basis AJCC 7 for this schema is blank because AJCC stage is not applicable in the 7th Edition.", - "last_modified" : "2015-05-27T16:19:27.192Z", - "definition" : [ { - "key" : "mets_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "mdescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "staging_basis_6", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging of distant metastasis:\n \n\nEvaluation of distant metastasis based on physical examination, imaging examination, and/or other non-invasive clinical evidence. No pathologic examination of metastatic tissue performed or pathologic examination was negative.", "VALUE:", "VALUE:c" ], [ "1", "Does not meet criteria for AJCC pathologic staging of distant metastasis:\n\nEvaluation of distant metastasis based on endoscopic examination or other invasive technique, including surgical observation without biopsy. No pathologic examination of metastatic tissue performed or pathologic examination was negative.", "VALUE:", "VALUE:c" ], [ "2", "Meets criteria for AJCC pathologic staging of distant metastasis:\n\nNo pathologic examination of metastatic specimen done prior to death, but positive metastatic evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:", "VALUE:p" ], [ "3", "Meets criteria for AJCC pathologic staging of distant metastasis:\n\nSpecimen from metastatic site microscopically positive WITHOUT pre-surgical systemic treatment or radiation \nOR specimen from metastatic site microscopically positive, unknown if pre-surgical systemic treatment or radiation performed\nOR specimen from metastatic site microscopically positive prior to neoadjuvant treatment.", "VALUE:", "VALUE:p" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging of distant metastasis:\n\nSpecimen from metastatic site microscopically positive WITH pre-surgical systemic treatment or radiation, BUT metastasis based on clinical evidence.", "VALUE:", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging of distant metastasis:\nSpecimen from metastatic site microscopically positive WITH pre-surgical systemic treatment or radiation, BUT metastasis based on pathologic evidence.", "VALUE:", "VALUE:yp" ], [ "8", "Meets criteria for AJCC autopsy (a) staging of distant metastasis:\n\nEvidence from autopsy based on examination of positive metastatic tissue AND tumor was unsuspected or undiagnosed prior to autopsy.", "VALUE:", "VALUE:a" ], [ "9", "Not assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iaf.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iaf.json deleted file mode 100644 index 3137bc743..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_iaf.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "mets_eval_iaf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets Eval", - "title" : "CS Mets Eval", - "notes" : "**Note**: The staging basis AJCC 7 for this schema is blank because AJCC stage is not applicable for this site and histology. Data were collected in this item in CSv1 and are being retained.", - "last_modified" : "2015-05-27T16:19:27.238Z", - "definition" : [ { - "key" : "mets_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "mdescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "staging_basis_6", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "OBSOLETE DATA RETAINED V0200\n\nNo pathologic examination of metastatic tissue performed. Evaluation of distant metastasis based on physical examination, imaging examination, and/or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:", "VALUE:c" ], [ "1", "OBSOLETE DATA RETAINED V0200\n\nNo pathologic examination of metastatic tissue performed. Evaluation of distant metastasis based on endoscopic examination or other invasive technique, including surgical observation without biopsy. No autopsy evidence used.\nDoes not meet criteria for AJCC pathologic staging of distant metastasis.", "VALUE:", "VALUE:c" ], [ "2", "OBSOLETE DATA RETAINED V0200\n\nNo pathologic examination of metastatic specimen done prior to death, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:", "VALUE:p" ], [ "3", "OBSOLETE DATA RETAINED V0200\n\nPathologic examination of metastatic tissue performed WITHOUT pre-surgical systemic treatment \nOR pathologic examination of metastatic tissue performed, unknown if pre-surgical systemic treatment or radiation performed.\nMeets criteria for AJCC pathologic staging of distant metastasis.", "VALUE:", "VALUE:p" ], [ "5", "OBSOLETE DATA RETAINED V0200\n\nPathologic examination of metastatic tissue performed WITH pre-surgical systemic treatment or radiation, and metastasis based on clinical evidence.", "VALUE:", "VALUE:c" ], [ "6", "OBSOLETE DATA RETAINED V0200\n\nPathologic examination of metastatic tissue performed WITH pre-surgical systemic treatment or radiation, BUT metastasis based on pathologic evidence.", "VALUE:", "VALUE:yp" ], [ "8", "OBSOLETE DATA RETAINED V0200\n\nEvidence from autopsy AND tumor was unsuspected or undiagnosed prior to autopsy.", "VALUE:", "VALUE:a" ], [ "9", "Not assessed; cannot be assessed V01XX\nUnknown if assessed V01XX\nNot documented in patient record V01XX\n\nNot applicable for this schema V0200", "VALUE:", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ina.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ina.json deleted file mode 100644 index 792369293..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ina.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_eval_ina", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets Eval", - "title" : "CS Mets Eval", - "notes" : "**Note**: The staging basis for this schema is blank because AJCC stage is not applicable.", - "last_modified" : "2015-05-27T16:19:27.282Z", - "definition" : [ { - "key" : "mets_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "mdescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "9", "Not applicable for this schema", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipa.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipa.json deleted file mode 100644 index 37dc226a8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipa.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_eval_ipa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets Eval", - "title" : "CS Mets Eval", - "notes" : "**Note**: This item reflects the validity of the classification of the item CS Mets at DX only according to the diagnostic methods employed.", - "last_modified" : "2015-05-27T16:19:27.329Z", - "definition" : [ { - "key" : "mets_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "mdescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging of distant metastasis:\n \n\nEvaluation of distant metastasis based on physical examination, imaging examination, and/or other non-invasive clinical evidence. No pathologic examination of metastatic tissue performed or pathologic examination was negative.", "VALUE:c" ], [ "1", "Does not meet criteria for AJCC pathologic staging of distant metastasis:\n\nEvaluation of distant metastasis based on endoscopic examination or other invasive technique, including surgical observation without biopsy. No pathologic examination of metastatic tissue performed or pathologic examination was negative.", "VALUE:c" ], [ "2", "Meets criteria for AJCC pathologic staging of distant metastasis:\n\nNo pathologic examination of metastatic specimen done prior to death, but positive metastatic evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p" ], [ "3", "Meets criteria for AJCC pathologic staging of distant metastasis:\n\nSpecimen from metastatic site microscopically positive WITHOUT pre-surgical systemic treatment or radiation \nOR specimen from metastatic site microscopically positive, unknown if pre-surgical systemic treatment or radiation performed\nOR specimen from metastatic site microscopically positive prior to neoadjuvant treatment.", "VALUE:p" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging of distant metastasis:\n\nSpecimen from metastatic site microscopically positive WITH pre-surgical systemic treatment or radiation, BUT metastasis based on clinical evidence.", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging of distant metastasis:\nSpecimen from metastatic site microscopically positive WITH pre-surgical systemic treatment or radiation, BUT metastasis based on pathologic evidence.", "VALUE:yp" ], [ "8", "Meets criteria for AJCC autopsy (a) staging of distant metastasis:\n\nEvidence from autopsy based on examination of positive metastatic tissue AND tumor was unsuspected or undiagnosed prior to autopsy.", "VALUE:a" ], [ "9", "Not assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipb.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipb.json deleted file mode 100644 index fc46af4f3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipb.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_eval_ipb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets Eval", - "title" : "CS Mets Eval", - "notes" : "**Note 1**: This item reflects the validity of the classification of the item CS Mets at DX only according to the diagnostic methods employed.\n\n**Note 2**: If a specific subcategory of M1 will be derived from CS Mets at DX, then determine if there was any pathological evidence for the highest subcategory. If so, select an Eval code that will derive a \"p\" staging basis. If there was only clinical evidence of the highest subcategory, select an Eval code that will derive a \"c\" staging basis. See also CS Mets Eval in Part 1.", - "last_modified" : "2015-05-27T16:19:27.373Z", - "definition" : [ { - "key" : "mets_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "mdescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging of distant metastasis: \n\nEvaluation of distant metastasis based on physical examination, imaging examination, and/or other non-invasive clinical evidence. No microscopic examination of metastatic specimen performed or microscopic examination was negative.", "VALUE:c" ], [ "1", "Does not meet criteria for AJCC pathologic staging of distant metastasis: \n\nEvaluation of distant metastasis based on endoscopic examination or other invasive technique, including surgical observation without biopsy. No microscopic examination of metastatic specimen performed or microscopic examination was negative.", "VALUE:c" ], [ "2", "Meets criteria for AJCC pathologic staging of distant metastasis: \n\nNo microscopic examination of metastatic specimen done prior to death, but positive metastatic evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p" ], [ "3", "Meets criteria for AJCC pathologic staging of distant metastasis: \n\nSpecimen from metastatic site microscopically positive WITHOUT pre-surgical systemic treatment or radiation \n\nOR specimen from metastatic site microscopically positive, unknown if pre-surgical systemic treatment or radiation performed \n\nOR specimen from metastatic site microscopically positive prior to neoadjuvant treatment.", "VALUE:p" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging of distant metastasis: \n\nSpecimen from metastatic site microscopically positive WITH pre-surgical systemic treatment or radiation, BUT metastasis based on clinical evidence.", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging of distant metastasis: \n\nSpecimen from metastatic site microscopically positive WITH pre-surgical systemic treatment or radiation, BUT metastasis based on pathologic evidence.", "VALUE:yp" ], [ "8", "Meets criteria for AJCC autopsy (a) staging of distant metastasis: \n\nEvidence from autopsy based on examination of positive metastatic tissue AND tumor was unsuspected or undiagnosed prior to autopsy.", "VALUE:a" ], [ "9", "Not assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipc.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipc.json deleted file mode 100644 index 788dee49a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_eval_ipc.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "mets_eval_ipc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets Eval", - "title" : "CS Mets Eval", - "notes" : "**Note**: This item reflects the validity of the classification of the item CS Mets at DX only according to the diagnostic methods employed.", - "last_modified" : "2015-05-27T16:19:27.420Z", - "definition" : [ { - "key" : "mets_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "mdescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "staging_basis_6", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging of distant metastasis:\n \n\nEvaluation of distant metastasis based on physical examination, imaging examination, and/or other non-invasive clinical evidence. No pathologic examination of metastatic tissue performed or pathologic examination was negative.", "VALUE:c", "VALUE:" ], [ "1", "Does not meet criteria for AJCC pathologic staging of distant metastasis:\n\nEvaluation of distant metastasis based on endoscopic examination or other invasive technique, including surgical observation without biopsy. No pathologic examination of metastatic tissue performed or pathologic examination was negative.", "VALUE:c", "VALUE:" ], [ "2", "Meets criteria for AJCC pathologic staging of distant metastasis:\n\nNo pathologic examination of metastatic specimen done prior to death, but positive metastatic evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p", "VALUE:" ], [ "3", "Meets criteria for AJCC pathologic staging of distant metastasis:\n\nSpecimen from metastatic site microscopically positive WITHOUT pre-surgical systemic treatment or radiation \nOR specimen from metastatic site microscopically positive, unknown if pre-surgical systemic treatment or radiation performed\nOR specimen from metastatic site microscopically positive prior to neoadjuvant treatment.", "VALUE:p", "VALUE:" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging of distant metastasis:\n\nSpecimen from metastatic site microscopically positive WITH pre-surgical systemic treatment or radiation, BUT metastasis based on clinical evidence.", "VALUE:c", "VALUE:" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging of distant metastasis:\nSpecimen from metastatic site microscopically positive WITH pre-surgical systemic treatment or radiation, BUT metastasis based on pathologic evidence.", "VALUE:yp", "VALUE:" ], [ "8", "Meets criteria for AJCC autopsy (a) staging of distant metastasis:\n\nEvidence from autopsy based on examination of positive metastatic tissue AND tumor was unsuspected or undiagnosed prior to autopsy.", "VALUE:a", "VALUE:" ], [ "9", "Not assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hab.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hab.json deleted file mode 100644 index 32bfe7d2f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hab.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "mets_hab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Most pleural and pericardial effusions with lung cancer are due to tumor. In a few patients, however, multiple cytopathologic examinations of pleural and/or pericardial fluid are negative for tumor, and the fluid is nonbloody and is not an exudate. Where these elements and clinical judgment dictate that the effusion is not related to the tumor, the effusion should be excluded as a staging element and the tumor should be classified as M0.\n\n**Note 2**: For contralateral (different lung) pleural effusion, use code 16 instead of code 40. For bilateral (same and different lung) pleural effusion, use code 17 instead of code 40.", - "footnotes" : "- For CS Mets at DX codes 00 and 99, the M category for AJCC 7 staging is assigned based on the value of CS Tumor Size as shown in the Size Mets at DX AJCC 7 Table for this schema.\n- For all CS Met at Dx codes, the M category for AJCC 6 staging is assigned based on the values of CS Tumor Size, CS Extension, CS Mets at DX, and CS Site Specific Factor 1, as shown in the Size Extension Mets SSF1 AJCC 6 Tables for this schema.", - "last_modified" : "2015-05-27T16:19:27.467Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "JUMP:size_metsat_dxajcc7_m_xkb", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:NONE", "VALUE:NONE" ], [ "10", "OBSOLETE DATA CONVERTED V0200\nSee code 30\n\nDistant lymph node(s), including cervical nodes", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "ERROR:", "ERROR:" ], [ "15", "Malignant pleural effusion, ipsilateral or same lung", "VALUE:M1a", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "16", "Malignant pleural effusion, contralateral or other lung", "VALUE:M1a", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "17", "Malignant pleural effusion, ipsilateral and contralateral lungs (Bilateral pleural effusion)", "VALUE:M1a", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "18", "Malignant pleural effusion, unknown if ipsilateral or contralateral lung", "VALUE:M1a", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "20", "Malignant pericardial effusion", "VALUE:M1a", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "21", "20 + (16 or 17)\n\nMalignant pericardial effusion plus contralateral or bilateral pleural effusion", "VALUE:M1a", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "23", "Extension to: \n Contralateral lung \n Contralateral main stem bronchus \nSeparate tumor nodule(s) in contralateral lung\nPleural tumor foci or nodules on contralateral lung", "VALUE:M1a", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "24", "Pleural tumor foci or nodules on the ipsilateral lung separate from direct invasion", "VALUE:M1a", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "25", "23 + any of (15, 16, 17, 18, 20, 21, 24)\n\nExtension to contralateral lung plus pleural or pericardial effusion or separate pleural tumor foci", "VALUE:M1a", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "26", "Stated as M1a with no other information on distant metastasis", "VALUE:M1a", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "30", "Distant lymph node(s), including cervical nodes", "VALUE:M1b", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "32", "30 + any of (15, 16, 17, 18, 20, 21)\n\nDistant lymph nodes plus pleural or pericardial effusion", "VALUE:M1b", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "33", "30 + 24\n\nDistant lymph nodes plus pleural tumor foci", "VALUE:M1b", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "35", "OBSOLETE DATA RETAINED V0200 \nSeparate tumor nodules reclassified in AJCC 7th Edition, coded in CS Site-Specific Factor 1 \n\nSeparate tumor nodule(s) in different lobe, same lung", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:L", "VALUE:D" ], [ "36", "30 + 23\n\nDistant lymph nodes plus extension to contralateral lung", "VALUE:M1b", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "37", "Extension to:\n Skeletal muscle\n Sternum\n Skin of chest", "VALUE:M1b", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "38", "37 + 23\n\nExtension in code 37 plus extension to contralateral lung", "VALUE:M1b", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "39", "OBSOLETE DATA CONVERTED V0200\nSee code 23\n\nExtension to:\n Contralateral lung\n Contralateral main stem bronchus \nSeparate tumor nodule(s) in contralateral lung", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "ERROR:", "ERROR:" ], [ "40", "Abdominal organs\nDistant metastasis, except distant lymph node(s) and extension specified in codes 23 and 37, including: \n Separate lesion in chest wall or diaphragm\n Distant metastasis, NOS\n Carcinomatosis", "VALUE:M1b", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "41", "40+ 23 \n\nDistant mets plus extension to contralateral lung ", "VALUE:M1b", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "42", "(37 or 40) + any of (15, 16, 17, 18, 20, 21)\n\nDistant metastasis plus pleural or pericardial effusion", "VALUE:M1b", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "43", "(37 or 40) + 24\n\nDistant metastasis plus pleural tumor foci", "VALUE:M1b", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "50", "OBSOLETE DATA RETAINED V0200\n\nDistant metastases + Distant node(s)\n(10) + any of (35 to 40)", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "51", "(37 or 40) + 30\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1b", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "52", "51 + any of (15, 16, 17, 18, 20, 21)\n\nDistant metastasis plus distant lymph nodes plus pleural or pericardial effusion", "VALUE:M1b", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "53", "51 + 24\n\nDistant metastases plus distant lymph nodes plus pleural tumor foci", "VALUE:M1b", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "70", "Stated as M1b with no other information on distant metastasis", "VALUE:M1b", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "75", "Stated as M1 [NOS] with no other information on distant metastasis", "VALUE:M1NOS", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "JUMP:size_metsat_dxajcc7_m_xkb", "JUMP:determine_correct_table_for_ajcc6_tm_ns47", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hac.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hac.json deleted file mode 100644 index daed5d381..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hac.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:27.522Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s), including:\n For all subsites: \n Mesenteric, NOS:\n Inferior mesenteric\n Superior mesenteric\n Para-aortic\n Porta hepatis (portal) (hilar) (in hilus of liver)\n Retropancreatic\n Retroperitoneal\n For all subsites EXCEPT lesser curvature :\n Hepatoduodenal \n Distant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s)\nCarcinomatosis\nKrukenberg tumor (metastasis to ovary(ies)\nMalignant (positive) peritoneal cytology", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n \nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_had.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_had.json deleted file mode 100644 index 5ce8d4520..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_had.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "mets_had", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: Nodes in contiguous (secondary) and bidirectional (cephalad/caudal) primary nodal basins are coded in CS Lymph Nodes. (Clarification V0204)", - "footnotes" : "- For CS Mets at DX codes 05, 10, 42, 43, 52, 53, 55, 56, and 60 ONLY, the M category is assigned based on the status of serum LDH as coded in CS Site-Specific Factor 4 and shown in the Mets at DX and LDH Table.\n- For CS Mets at DX codes 05, 10, 42, 43, 52, 53, 55, 56, and 60 ONLY, the M category is assigned based on the status of serum LDH as coded in CS Site-Specific Factor 4 and shown in the Mets at DX and LDH Table.", - "last_modified" : "2015-05-27T16:19:27.570Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "05", "Metastasis to underlying cartilage, bone, skeletal muscle (excluding direct extension)", "JUMP:metsat_dxand_ldh_xbs", "JUMP:metsat_dxand_ldh_xbs", "VALUE:D", "VALUE:D" ], [ "10", "Distant lymph node(s)", "JUMP:metsat_dxand_ldh_xbs", "JUMP:metsat_dxand_ldh_xbs", "VALUE:D", "VALUE:D" ], [ "40", "OBSOLETE DATA CONVERTED V0200\nSee code 60\n\nDistant metastasis, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "42", "Metastasis to skin or subcutaneous tissue beyond regional lymph nodes", "JUMP:metsat_dxand_ldh_xbs", "JUMP:metsat_dxand_ldh_xbs", "VALUE:D", "VALUE:D" ], [ "43", "Lung", "JUMP:metsat_dxand_ldh_xbs", "JUMP:metsat_dxand_ldh_xbs", "VALUE:D", "VALUE:D" ], [ "44", "Metastasis to all other visceral or distant sites with or without metastasis to lungs\nCarcinomatosis", "VALUE:M1c", "VALUE:M1c", "VALUE:D", "VALUE:D" ], [ "52", "42 + 10\n\nMetastasis to skin or subcutaneous tissue beyond nodes plus distant nodes", "JUMP:metsat_dxand_ldh_xbs", "JUMP:metsat_dxand_ldh_xbs", "VALUE:D", "VALUE:D" ], [ "53", "43 + 10\n\nMetastasis to lung plus distant nodes", "JUMP:metsat_dxand_ldh_xbs", "JUMP:metsat_dxand_ldh_xbs", "VALUE:D", "VALUE:D" ], [ "54", "44 + 10\n\nMetastasis to all other visceral or distant sites plus distant nodes\nWith or without metastasis to lungs", "VALUE:M1c", "VALUE:M1c", "VALUE:D", "VALUE:D" ], [ "55", "Stated as M1a with no other information on metastasis", "JUMP:metsat_dxand_ldh_xbs", "JUMP:metsat_dxand_ldh_xbs", "VALUE:D", "VALUE:D" ], [ "56", "Stated as M1b with no other information on distant metastasis", "JUMP:metsat_dxand_ldh_xbs", "JUMP:metsat_dxand_ldh_xbs", "VALUE:D", "VALUE:D" ], [ "57", "Stated as M1c with no other information on distant metastasis", "VALUE:M1c", "VALUE:M1c", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 [NOS] with no other information on distant metastasis", "JUMP:metsat_dxand_ldh_xbs", "JUMP:metsat_dxand_ldh_xbs", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hae.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hae.json deleted file mode 100644 index 3deb9e59a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hae.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hae", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: For metastasis limited to a single distant lymph node chain, use code 08, 16 or 18. For metastases involving multiple distant lymph node chains, use codes 31 or 33.", - "last_modified" : "2015-05-27T16:19:27.614Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "08", "Metastasis limited to a single distant lymph node chain:\nFor cecum, ascending, hepatic flexure and transverse colon:\n Superior mesenteric lymph nodes only", "VALUE:M1a", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "10", "OBSOLETE DATA RETAINED V0200\nSee codes 15 and 25\n\nDistant lymph node(s) other than code 08\nFor all colon sites:\n Common iliac\n Distant lymph node(s), NOS\n External iliac\n Para-aortic\n Retroperitoneal\nFor cecum, \nappendix, \nascending\ncolon, \ntransverse colon, \nand hepatic flexure;\n Inferior mesenteric\nFor splenic flexure, \ndescending colon, and \nsigmoid colon:\n Superior mesenteric", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "15", "OBSOLETE DATA CONVERTED V0203\nSee code 16\n\nMetastasis to a single distant lymph node chain other than code 08\nFor all colon sites:\n Common iliac\n Distant lymph node(s), NOS\n External iliac\n Para-aortic\n Retroperitoneal\nFor cecum, ascending colon, transverse colon, and hepatic flexure:\n Inferior mesenteric\nFor splenic flexure, descending colon, and sigmoid colon:\n Superior mesenteric", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "16", "Metastasis limited to a single distant lymph node chain: For all colon sites:\n Common iliac\n Distant lymph node(s), NOS\n External iliac\n Para-aortic\n Retroperitoneal\nFor cecum, ascending colon, transverse colon, and hepatic flexure:\n Inferior mesenteric\nFor splenic flexure, descending colon, and sigmoid colon:\n Superior mesenteric", "VALUE:M1a", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "18", "Metastasis limited to a single distant lymph node chain, NOS", "VALUE:M1a", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "20", "OBSOLETE DATA CONVERTED V0203\nSee code 26\n\nMetastasis to a single distant organ", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "22", "OBSOLETE DATA CONVERTED V0203\nSee code 27\n\nStated as M1a with no other information on distant metastases", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "25", "OBSOLETE DATA CONVERTED V0203\nSee code 31\n\nMetastasis to more than one distant lymph node chain other than code 08\nFor all colon sites:\n Common iliac\n Distant lymph node(s), NOS\n External iliac\n Para-aortic\n Retroperitoneal\nFor cecum, ascending colon, transverse colon, and hepatic flexure:\n Inferior mesenteric\n Superior mesenteric\nFor splenic flexure, descending colon, and sigmoid colon:\n Superior mesenteric", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "26", "Metastasis limited to a single distant organ except peritoneum", "VALUE:M1a", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "27", "Stated as M1a with no other information on distant metastasis", "VALUE:M1a", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "29", "OBSOLETE DATA CONVERTED V0204\nSee code 08\n\nMetastases to multiple distant lymph node chains included in code 08 only", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "30", "OBSOLETE DATA CONVERTED V0203\nSee code 36\n\nMetastases to more than one distant organ\nMetastases to the peritoneum\nCarcinomatosis", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "31", "Metastases to a single distant lymph node chain listed in code 08 and to a single distant lymph node chain listed in code 16 OR Multiple distant lymph node chains listed in code 16, with or without distant lymph nodes listed in code 08", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "33", "Metastases to multiple distant lymph node chains, NOS", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "35", "OBSOLETE DATA CONVERTED V0203\nSee code 45\n\n(08 or 15 or 25) PLUS (20 or 30)\nDistant lymph nodes plus other distant metastases", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "36", "Metastases to more than one distant organ except distant lymph node(s)\nMetastasis to peritoneum\nCarcinomatosis", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "38", "OBSOLETE DATA CONVERTED V0203\nSee code 48\n\nStated as M1b with no other information on distant metastases", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "40", "OBSOLETE DATA RETAINED V0200\nSee codes 20, 30 and 60\n\nDistant metastases except distant lymph node(s)(codes 08-10)\nCarcinomatosis", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "45", "(26 or 36) + any of (08, 16, 18, or 31)\n\nMetastases to distant organs plus distant nodes", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "48", "Stated as M1b with no other information on distant metastasis", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "OBSOLETE DATA RETAINED V0200\nSee code 35\n\n(40) + ((08) or (10))\nDistant lymph node(s) plus other distant metastases", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 [NOS] with no other information on distant metastases", "VALUE:M1NOS", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_haf.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_haf.json deleted file mode 100644 index 05e6005f2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_haf.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "mets_haf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: Inferior phrenic nodes were reclassified from distant to regional nodes in AJCC 7th Edition. They are now coded in CS Lymph Nodes.", - "footnotes" : "- For CS Mets at DX codes 00 and 99, the M category for AJCC 6 staging is assigned based on the coding of CS Lymph Nodes as shown in the Lymph Nodes Mets at DX AJCC 6 Table.", - "last_modified" : "2015-05-27T16:19:27.660Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxajcc6_xew", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "11", "Distant lymph nodes:\n Cardiac\n Lateral (aortic) (lumbar)\n Pericardial (pericardiac)\n Posterior mediastinal (tracheoesophageal) including juxtaphrenic nodes\n Retroperitoneal, NOS", "VALUE:M1", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "12", "Distant lymph nodes:\n Coronary artery\n Renal artery", "VALUE:M1", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "13", "Distant lymph node(s):\n Aortic (para-, peri-)\n Diaphragmatic, NOS\n Peripancreatic (near head of pancreas only)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "15", "OBSOLETE DATA RETAINED V0200\nInferior phrenic nodes reclassified from distant to regional nodes in AJCC 7th Edition \nSee code 16 or CS Lymph Node code 200\n\nDistant lymph node(s) other than codes 10-13, including inferior phrenic nodes", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "16", "Distant lymph node(s) other than codes 10-13", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) (codes 10-16)\nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "OBSOLETE DATA RETAINED V0200\nInferior phrenic nodes reclassified from distant to regional nodes in AJCC 7th Edition \nSee code 51\n\n40 + any of (10 or 11 or 15)\nDistant lymph node(s) plus other distant metastases", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "51", "40 + (10,11, or 16)\n\nDistant metastasis plus distant lymph node(s) in codes 10, 11, or 16", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "52", "40 + (12 or 13)\n\nDistant metastasis plus distant lymph node(s) in codes 12 or 13", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxajcc6_xew", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hag.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hag.json deleted file mode 100644 index f523b2eba..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hag.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hag", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: For metastasis limited to a single distant lymph node chain, use code 08,16 or 18. For metastases involving multiple distant lymph node chains, use codes 29, 31 or 33.", - "last_modified" : "2015-05-27T16:19:27.710Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "05", "OBSOLETE DATA CONVERTED V0203\nSee code 18\n\nMetastasis to a single distant lymph node chain, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "08", "Metastasis limited to a single distant lymph node chain:\n For rectosigmoid:\n Internal iliac (hypogastric), NOS\n Obturator", "VALUE:M1a", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "10", "OBSOLETE DATA RETAINED V0200\nSee codes 15 and 20 \n\nDistant lymph node(s), NOS", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "11", "OBSOLETE DATA RETAINED V0200\nSee codes 15 and 20\n\nRectosigmoid:\n Internal iliac (hypogastric)\n Obturator", "ERROR:", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "12", "OBSOLETE DATA RETAINED V0200\nSee codes 15 and 20\n\nOther distant lymph node(s), including\n external iliac \n or common iliac", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "15", "OBSOLETE DATA CONVERTED V0203\nSee code 08\n\nMetastasis limited to a single distant lymph node chain:\n For rectosigmoid:\n Internal iliac (hypogastric), NOS\n Obturator", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "16", "Metastasis limited to a single distant lymph node chain:\n For rectosigmoid and rectum: \n Common iliac\n External iliac\n Superior mesenteric\n For rectosigmoid:\n Hemorrhoidal, inferior\n Rectal, inferior\n For rectum:\n Left colic", "VALUE:M1a", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "18", "Metastasis limited to a single distant lymph node chain, NOS", "VALUE:M1a", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "20", "OBSOLETE DATA CONVERTED V0203\nSee code 16\n\nMetastasis to other single distant lymph node chains, including\n external iliac or common iliac", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "25", "OBSOLETE DATA CONVERTED V0203\nSee code 26\n\nMetastasis to a single distant organ", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "26", "Metastasis limited to a single distant organ except peritoneum", "VALUE:M1a", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "27", "Stated as M1a with no other information on distant metastasis", "VALUE:M1a", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "29", "Metastases to multiple distant lymph node chains included in code 08 only", "VALUE:M1b", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "30", "OBSOLETE DATA CONVERTED V0203\nSee code 31\n\nMetastasis to more than one distant \nlymph node chain", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "31", "Metastases to multiple distant lymph node chains listed in code 16, with or without distant lymph node chains listed in code 08", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "33", "Metastases to multiple distant lymph node chains, NOS", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "35", "OBSOLETE DATA REVIEWED V0203\nSee codes 36, 48\n\nDistant metastases to more than one distant organ\nMetastases to the peritoneum\nCarcinomatosis\nStated as M1b, NOS", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "36", "Metastases to more than one distant organ except distant lymph node(s)\nMetastasis to peritoneum\nCarcinomatosis", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "OBSOLETE DATA RETAINED V0200\nSee codes 35 and 60\n\nDistant metastases except distant lymph node(s) codes 10-12\nDistant metastasis, NOS\nCarcinomatosis", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "45", "(26 or 36) + any of (08, 16, 18, 29, 31 or 33)\n\nMetastases to distant organs plus distant nodes", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "48", "Stated as M1b with no other information on distant metastasis", "VALUE:M1b", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "50", "OBSOLETE DATA RETAINED V0200\nSee code 45\n\n40+ any of (10 or 12)\nDistant lymph node(s) plus other distant metastases", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 [NOS] with no other information on distant metastasis", "VALUE:M1NOS", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hah.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hah.json deleted file mode 100644 index ca2512dcd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hah.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hah", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Discontinuous metastasis to any of the following abdominal organs by way of peritoneal seeding or implants is included in the T3 category (FIGO Stage III) and coded in CS Extension: abdominal mesentery; diaphragm; gallbladder; infracolic omentum; kidneys; large intestine except rectum, rectosigmoid, and sigmoid colon; liver (peritoneal surface); omentum; pancreas; pericolic gutter; peritoneum, NOS; small intestine; spleen; stomach; and ureters outside pelvis. Hematogenous metastases are included in M1 (FIGO Stage IV) disease \n\n**Note 2**: AJCC TNM values correspond to the stages accepted by the Federation Internationale de Gynecologie et d'Obstetrique (FIGO), and FIGO stages are included for coding where no more specific information is available in the record.", - "last_modified" : "2015-05-27T16:19:27.757Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis(except distant lymph node(s) and involvement of other organs by peritoneal seeding or implants (See Note 1) including:\n Liver parenchymal metastasis\n Pleural effusion WITH positive cytology\n\n Carcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph node(s) ", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "OBSOLETE DATA REVIEWED V0203\nSee codes 65, 70\n\nDistant metastasis, NOS\nStated as M1 [NOS]\nFIGO Stage IV [NOS]", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "65", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "70", "FIGO Stage IV", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hai.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hai.json deleted file mode 100644 index 918e75383..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hai.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hai", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Discontinuous metastasis to any of the following abdominal organs by way of peritoneal seeding or implants is included in the T3 category (FIGO Stage III) and coded in CS Extension: abdominal mesentery; diaphragm; gallbladder; infracolic omentum; kidneys; large intestine except rectum, rectosigmoid, and sigmoid colon; liver (peritoneal surface); omentum; pancreas; pericolic gutter; peritoneum, NOS; small intestine; spleen; stomach; and ureters outside pelvis. Hematogenous metastases are included in M1 (FIGO Stage IV) disease.\n\n**Note 2**: The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stages are included for coding where no more specific information is available in the record.", - "last_modified" : "2015-05-27T16:19:27.813Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "05", "Sacral lymph nodes:\n Presacral lymph nodes\n Lateral sacral (laterosacral) Sacral NOS", "VALUE:M1", "VALUE:M0", "VALUE:D", "VALUE:RN" ], [ "10", "Distant lymph node(s) other than sacral", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "20", "10 + 05", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis (excluding involvement of other organs by peritoneal seeding or implants (See Note 1)), except distant lymph nodes\nincluding:\n Liver parenchymal metastasis\n Pleural effusion WITH positive cytology\n\n Carcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "45", "40 + 05", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph node(s) other than sacral ", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "55", "50 + 05 Distant metastasis plus distant lymph nodes including sacral nodes", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nFIGO Stage IV", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_haj.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_haj.json deleted file mode 100644 index 2ecb0ca0a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_haj.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_haj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage.", - "last_modified" : "2015-05-27T16:19:27.859Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "11", "OBSOLETE DATA RETAINED V0200 \nDistant lymph nodes:\n Aortic, NOS:\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Inguinal (for primary in upper two-thirds of vagina only)\n Retroperitoneal, NOS", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "12", "OBSOLETE DATA RETAINED V0200\n \nDistant lymph node(s) other than code 11", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "20", "Distant lymph nodes (for primary in lower third of vagina):\n Pelvic lymph nodes:\n Iliac, NOS:\n Common\n External\n Internal (hypogastric)\n Obturator\n Middle sacral (promontorial) (Gerota's node)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "22", "Distant lymph nodes (for primary in lower third of vagina):\n Pelvic lymph nodes, NOS ", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "25", "OBSOLETE DATA CONVERTED V0204\nSee code 11\nThis is a duplicate of code 11. Starting from V0204, it should not have any data under this code\n\nOBSOLETE DATA RETAINED V0200\n\nDistant lymph nodes:\n Aortic, NOS:\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Inguinal (for primary in upper two-thirds of vagina only)\n Retroperitoneal, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "27", "Distant lymph nodes (for primary in upper two-thirds of vagina):\n Inguinal, NOS:\n Superficial inguinal (femoral)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "30", "Distant lymph nodes:\n Aortic, NOS:\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Retroperitoneal, NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "35", "Distant lymph node(s) other than code 20-30", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph nodes \nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "OBSOLETE DATA RETAINED V0200\n \n(40) + any of [(10) to (12)]\nDistant lymph node(s) plus other distant metastases", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "55", "40+ any of ( 20, 22, 27, 30, 35)\n\nDistant metastasis plus distant lymph node(s) ", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "58", "FIGO Stage IVB", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "70", "FIGO Stage IV [NOS] based on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hak.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hak.json deleted file mode 100644 index ec644b818..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hak.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hak", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: According to AJCC, metastasis to genital structures for gestational trophoblastic tumors (GTT) is considered T2 and not M1. Metastasis to genital structures is coded in CS Extension.\n\n**Note 2**: All lymph node involvement for GTT is considered M1b. Lymph node involvement, whether of regional or distant nodes, is coded in CS Mets at DX.\n\n**Note 3**: When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage.", - "last_modified" : "2015-05-27T16:19:27.918Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Metastasis to lung(s) only, NOS", "VALUE:M1a", "VALUE:M1a", "VALUE:D", "VALUE:D" ], [ "12", "FIGO Stage IIIA", "VALUE:M1a", "VALUE:M1a", "VALUE:D", "VALUE:D" ], [ "13", "FIGO Stage IIIB", "VALUE:M1a", "VALUE:M1a", "VALUE:D", "VALUE:D" ], [ "15", "FIGO Stage III [NOS]", "VALUE:M1a", "VALUE:M1a", "VALUE:D", "VALUE:D" ], [ "20", "Regional lymph node(s): \n Iliac, NOS:\n Common\n External\n Internal (hypogastric):\n Obturator\n Parametrial\n Pelvic, NOS\n Sacral, NOS:\n Lateral\n Presacral\n Middle (promontorial) (Gerota's node)\n Uterosacral", "VALUE:M1b", "VALUE:M1b", "VALUE:RN", "VALUE:RN" ], [ "30", "Regional lymph node(s): \n Aortic, NOS:\n Lateral\n Para-aortic\n Periaortic", "VALUE:M1b", "VALUE:M1b", "VALUE:RN", "VALUE:RN" ], [ "33", "Regional lymph node(s), NOS", "VALUE:M1b", "VALUE:M1b", "VALUE:RN", "VALUE:RN" ], [ "35", "30 + 20", "VALUE:M1b", "VALUE:M1b", "VALUE:RN", "VALUE:RN" ], [ "37", "(20, 30, or 33) + (10)\n\nMetastasis to regional lymph node(s) plus lung", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "40", "OBSOLETE DATA CONVERTED V0203\nSee code 33\n\nRegional lymph node(s), NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "50", "OBSOLETE DATA CONVERTED V0203\nSee code 55\n\nDistant lymph node(s), NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "51", "Distant lymph node(s): Superficial inguinal (femoral)", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "52", "Specified distant lymph node(s) other than in code 51", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "55", "Distant lymph node(s), NOS", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "60", "Lymph nodes, NOS", "VALUE:M1b", "VALUE:M1b", "VALUE:RN", "VALUE:RN" ], [ "70", "Distant metastasis, other than lymph nodes or lung\nCarcinomatosis", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "80", "70 + any of (10 to 60)\n\nDistant metastasis plus metastasis to lung and/or regional or distant lymph nodes", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "81", "FIGO Stage IVA", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "82", "OBSOLETE DATA CONVERTED V0203\nSee code 85\n\nDistant metastasis, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "83", "FIGO Stage IVB", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "84", "FIGO Stage IV [NOS] with no other information on metastasis", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "85", "Distant metastasis, NOS", "VALUE:M1NOS", "VALUE:M1NOS", "VALUE:RN", "VALUE:RN" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hal.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hal.json deleted file mode 100644 index fa99b6c1b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hal.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hal", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:27.979Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "11", "Distant lymph node(s):\n Common iliac", "VALUE:M1a", "VALUE:M1a", "VALUE:RN", "VALUE:D" ], [ "12", "Distant lymph node(s):\n Aortic, NOS:\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Cervical\n Inguinal, NOS:\n Deep, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial (femoral)\n Retroperitoneal, NOS\n Scalene (inferior deep cervical)\n Supraclavicular (transverse cervical)\n Distant lymph node(s), NOS", "VALUE:M1a", "VALUE:M1a", "VALUE:D", "VALUE:D" ], [ "20", "Stated as M1a with no other information on distant metastasis", "VALUE:M1a", "VALUE:M1a", "VALUE:D", "VALUE:D" ], [ "30", "Metastasis in bone(s)", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "35", "30 + (11 or 12)\n\nMetastasis in bone(s) plus distant lymph node(s)", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "38", "Stated as M1b with no other information on distant metastasis", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis, other than distant lymph nodes or bone(s)\nCarcinomatosis", "VALUE:M1c", "VALUE:M1c", "VALUE:D", "VALUE:D" ], [ "45", "OBSOLETE DATA CONVERTED V0200\nSee code 60\n\nDistant metastasis, NOS\nStage D2, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "50", "40 + (11 or 12)\n\nDistant metastasis other than bone(s) plus distant lymph node(s)", "VALUE:M1c", "VALUE:M1c", "VALUE:D", "VALUE:D" ], [ "55", "40 + (30 or 35)\n\nDistant metastasis other than distant lymph node(s) plus bone(s) \nOR \nDistant metastasis plus distant lymph nodes and bone(s)", "VALUE:M1c", "VALUE:M1c", "VALUE:D", "VALUE:D" ], [ "58", "Stated as M1c with no other information on distant metastasis", "VALUE:M1c", "VALUE:M1c", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS \n\nStated as M1 [NOS] with no other information on distant metastasis", "VALUE:M1NOS", "VALUE:M1NOS", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated \nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_ham.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_ham.json deleted file mode 100644 index 062081356..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_ham.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_ham", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Metastasis to adnexa, parametria, pelvic serosa, or vagina is coded in CS Extension.\n\n**Note 2**: When both Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage.\n\n**Note 3**: FIGO Stage IV, NOS is assigned based on tumor extension and/or metastasis. Code CS Mets at DX based on a physician's statement of FIGO Stage IV, NOS only if it is known that the stage value is assigned because of metastasis.", - "last_modified" : "2015-05-27T16:19:28.029Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "11", "Distant lymph node(s):\n Superficial inguinal", "VALUE:M1", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "12", "Distant lymph node(s) other than code 11:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Distant lymph node(s), NOS\n(Excluding metastasis to pelvic or para-aortic lymph nodes)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastases, except distant lymph\nnode(s) \n(Excluding metastasis to vagina, pelvic, serosa, or adnexa)\nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + (11 and/or 12)\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "55", "FIGO Stage IVB", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "70", "FIGO Stage IV [NOS] based on distant metastasis\n(See note 3)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_han.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_han.json deleted file mode 100644 index 969619ff4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_han.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_han", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: When both Federation Internationale de Gynecologie at d-Obstetrique (FIGO) stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage. \n\n**Note 2**: FIGO Stage IV, NOS is assigned based on tumor extension and/or distant metastasis. Code CS Mets at DX based on a physician's statement of FIGO Stage IV [NOS] if it is known that the stage value is assigned because of metastatic involvement, or if there is no statement that FIGO Stage IV [NOS] is assigned based on extension.", - "last_modified" : "2015-05-27T16:19:28.078Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s) including:\n Aortic, NOS :\n Lateral aortic\n Para-aortic\n Periaortic\n Inguinal (femoral)\n Mediastinal\nDistant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastases except distant lymph node(s) (code 10)\n Carcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "70", "FIGO Stage IVB", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "80", "FIGO Stage IV [NOS]", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown if distant metastasis\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hao.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hao.json deleted file mode 100644 index 133d6d825..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hao.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hao", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:28.142Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\nDistant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastases except distant lymph node(s) (code 10)\n(includes seeding of peritoneum, even if limited to the lesser sac region; positive peritoneal cytology)\nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "(10) + (40)\n\nDistant lymph node(s) plus other distant metastases", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown if distant metastasis\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hap.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hap.json deleted file mode 100644 index 4ed9f2127..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hap.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hap", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: The lesser sac of the peritoneum, or omental bursa, is the cavity in the abdomen formed by the lesser and greater omentum; the pancreas forms part of the posterior wall of the lesser sac.\n\n**Note 2**: Pericholedochal (nodes of the common bile duct), superior mesenteric, and pyloric nodes are classified as distant for AJCC 7 staging. These nodes are now coded in CS Mets at DX.\n\n**Note 3**: The specific location of the mesenteric nodes determines whether they are regional or distant. If the specific location is not described, code 800, Lymph Nodes NOS in CS Lymph Nodes.\n\n**Note 4**: Porta hepatic nodes are considered distant for Body and Tail and should be coded in CS Mets at DX, code 10. If the specific location for hepatic nodes is not described, code 110, Regional lymph nodes - Hepatic in CS Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:28.192Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "07", "Distant lymph node(s):\n Pericholedochal (common bile duct)\n Superior mesenteric\n Pyloric:\n Infrapyloric\n Retropyloric\n Subpyloric\n Suprapyloric", "VALUE:M1", "VALUE:M0", "VALUE:RN", "VALUE:RN" ], [ "10", "Distant lymph node(s) other than in code 07\nDistant lymph node(s) , NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "20", "10 + 07\n\nDistant lymph node(s) in code 10 plus distant lymph node(s) in code 07", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) \nSeeding of peritoneum, even if limited to the lesser sac region\nPositive peritoneal cytology\nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "45", "40 + 07\n\nDistant metastasis plus distant lymph node(s) in code 07", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph node(s) in code 10", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS \n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_haq.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_haq.json deleted file mode 100644 index 55af32eb9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_haq.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_haq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: The lesser sac of the peritoneum, or omental bursa, is the cavity in the abdomen formed by the lesser and greater omentum; the pancreas forms part of the posterior wall of the lesser sac.\n\n**Note 2**: Celiac axis and splenic nodes are classified as distant for AJCC 7 staging. These nodes are now coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:28.246Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "05", "Distant lymph nodes:\n Celiac axis", "VALUE:M1", "VALUE:M0", "VALUE:RN", "VALUE:RN" ], [ "07", "Distant lymph nodes:\n Pancreaticosplenic (pancreaticolienal)\n Splenic (lineal), NOS\n Splenic hilum\n Splenic artery\n Gastroepiploic (gastro-omental), left\n Suprapancreatic ", "VALUE:M1", "VALUE:M0", "VALUE:D", "VALUE:D" ], [ "10", "Distant lymph node(s) other than in codes 05, 07\nDistant lymph nodes, NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "20", "10 + (05, 07)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) \n(Includes seeding of peritoneum, even if limited to the lesser sac region; positive peritoneal cytology)\nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "45", "40 + (05, 07)\n\nDistant metastasis plus distant lymph nodes in codes 05, 07", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph nodes in code 10", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS \n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_har.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_har.json deleted file mode 100644 index b696ec974..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_har.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_har", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:28.293Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s):\n At tail of pancreas\n Para-aortic\n Splenic\nDistant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis(es) except distant lymph node(s)\nCarcinomatosis\n(Includes seeding of peritoneum, even if limited to the lesser sac region; positive peritoneal cytology)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hat.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hat.json deleted file mode 100644 index df86c98f3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hat.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "mets_hat", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: Peridiaphragmatic nodes are considered regional nodes in AJCC 7 staging and are coded in CS Lymph Nodes.", - "footnotes" : "- For CS Mets at DX codes 00 and 99, the assignment of the M category for AJCC 6 staging is based on the value of CS Lymph Nodes as shown in the Lymph Nodes Mets at DX AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:28.337Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxajcc6_xki", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s), including cervical nodes", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "35", "Direct extension to contralateral lung", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastases, except code 10 or 35\nDiscontinuous involvement of contralateral pleura/chest wall\nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "(35 and/or 40) + 10\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastases, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxajcc6_xki", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hau.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hau.json deleted file mode 100644 index e70494970..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hau.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hau", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Involvement of supraclavicular (transverse cervical) lymph nodes is coded in CS Lymph Nodes.\n\n**Note 2**: Cases in which there are no distant metastases as determined by clinical and/or radiographic methods are designated cM0 (use code 00). Cases in which one or more distant metastases are identified by clinical and/or radiographic methods are designated cM1. A case is classified as clinically free of metastasis (cM0) unless there is documented evidence of metastasis by clinical means or by biopsy of a metastatic site (pathologic). Use code 99 if there is no documentation available for any staging assessment, or if there is reasonable doubt that the tumor is no longer localized and there is no documentation of distant metastasis.", - "last_modified" : "2015-05-27T16:19:28.384Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "05", "No clinical or radiographic evidence of distant metastasis, but deposits of molecularly or microscopically detected tumor cells in circulating blood, bone marrow or other non-regional nodal tissue that are 0.2 millimeters (mm) or less in a patient without symptoms or signs of metastasis", "VALUE:M0(i+)", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "07", "Stated as M0(i+) with no other information on distant metastasis", "VALUE:M0(i+)", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s):\n Cervical, NOS\n Contralateral/bilateral axillary and/or internal mammary\n Other than above\n\nDistant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) (code 10)\nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "42", "Further contiguous extension:\n Skin over:\n Axilla\n Contralateral (opposite) breast\n Sternum\n Upper abdomen", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "44", "Metastasis:\n Adrenal (suprarenal) gland\n Bone, other than adjacent rib\n Contralateral (opposite) breast - if stated as metastatic\n Lung\n Ovary\n Satellite nodule(s) in skin other than primary breast", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", " (40 - 44) + 10", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hav.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hav.json deleted file mode 100644 index bc42c0ead..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hav.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hav", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: The term \"skip metastasis\" is not used with a consistent meaning in the literature. In some cases, it refers to discontinuous metastasis in the same bone as the primary tumor, while in other cases it refers to discontinuous metastasis in an adjacent bone, usually in the same limb. For AJCC staging, discontinuous metastasis in the same bone is classified as T3 (coded in CS Extension), and discontinuous metastasis in an adjacent bone is classified as M1b (coded in CS Mets at DX). If a primary bone tumor is stated as having \"skip metastasis\" or \"skip lesions\" with no other information regarding the bone involved, use code 820 in CS Extension.", - "last_modified" : "2015-05-27T16:19:28.430Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "OBSOLETE DATA CONVERTED V0203\nSee code 35\n\nDistant lymph node(s)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "30", "Distant metastasis to lung only\n\nStated as M1a with no other information on distant metastasis", "VALUE:M1a", "VALUE:M1a", "VALUE:D", "VALUE:D" ], [ "35", "Distant lymph node(s)", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) or \"lung only\"\nDistant metastasis to lung plus other sites except distant lymph nodes.\nCarcinomatosis", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "50", "(30 or 40) + 35\n\nDistant metastasis plus distant lymph nodes(s)", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "53", "Stated as M1b with no other information on distant metastasis", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "55", "OBSOLETE DATA CONVERTED V0200 \nSee code 60\n\nStated as M1 NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "60", "Distant metastasis, NOS\n\nStated as M1[NOS] with no other information on distant metastasis", "VALUE:M1NOS", "VALUE:M1NOS", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_haw.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_haw.json deleted file mode 100644 index 956651efc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_haw.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_haw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: According to AJCC, p. 594: \"Tumors affecting the central nervous system rarely develop extraneural metastases, probably because of inherent biologic characteristics of these tumors, and also because the brain does not have a well-developed drainage system. . . . Certain tumors do spread through cerebrospinal fluid (CSF) pathways, and such spread has a major impact on survival.\"", - "last_modified" : "2015-05-27T16:19:28.482Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "10", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 20, 30, and 50\n\nDistant metastases", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "20", "Metastasis within CNS and CSF pathways\n\"Drop\" metastasis", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "30", "Metastasis outside the CNS\nExtra-neural metastasis", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "50", "30 + 20\n\nMetastasis within and outside CNS", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "85", "OBSOLETE DATA CONVERTED V0203\nSee code 20\n\n\"Drop\" metastases", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "99", "Unknown; distant metastasis not stated \nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_haz.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_haz.json deleted file mode 100644 index 5588e1fde..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_haz.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_haz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: For this site, code all lymph node (regional and distant) involvement in CS Lymph Nodes field. Only visceral and bone marrow involvement are coded in CS Mets at DX. Peripheral blood involvement is coded in CS Site-Specific Factor 1.\n\n**Note 2**: Visceral involvement is considered metastatic and should be questioned in the absence of node or blood involvement.\n\n**Note 3**: For visceral disease (Stage IVB), documentation of involvement by only one organ outside the skin, nodes, or blood is needed.\n\n**Note 4**: Visceral involvement must be pathologically confirmed, except for the liver and spleen, which may be documented with imaging (code 10). If liver or spleen is involved clinically without imaging, use code 05.", - "last_modified" : "2015-05-27T16:19:28.620Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No visceral organ involvement", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "05", "Clinical confirmation only of visceral (non-cutaneous, extra nodal) involvement \n(Except for liver and spleen imaging, see code 10)", "VALUE:M0", "VALUE:M1", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Imaging confirmation of liver and/or spleen metastasis ", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "30", "Involvement of Bone marrow", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "OBSOLETE DATA RETAINED V0200\n\nVisceral (non-cutaneous, extra nodal) involvement: \n Carcinomatosis\n Distant metastasis, NOS\n MFCG Stage IV", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "45", "Visceral (non-cutaneous, extranodal) involvement, pathologically confirmed:\n Involvement by at least one organ outside the skin, nodes, blood, or bone marrow", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Carcinomatosis, unknown if clinical or pathological confirmation", "VALUE:M0", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "70", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hba.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hba.json deleted file mode 100644 index 56455a32d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hba.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hba", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage.", - "last_modified" : "2015-05-27T16:19:28.676Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "11", "Distant lymph node(s):\n External iliac", "VALUE:M1", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "12", "Distant lymph node(s):\n Internal iliac (hypogastric)\n Obturator\n Pelvic, NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "13", "Distant lymph node(s) other than code 11 and 12, including common iliac", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastases other than distant lymph node(s)\nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "(40 + any of (10-13)\n\nDistant metastasis plus distant lymph nodes", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "55", "FIGO Stage IVB", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "70", "FIGO Stage IV [NOS] based on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbb.json deleted file mode 100644 index b8b66255f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbb.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hbb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: Involvement of inguinal, pelvic, or external iliac lymph nodes (codes 11 and 12) with previous scrotal or inguinal surgery prior to presentation of the testis tumor is coded in CS Lymph Nodes as regional node involvement and not in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:28.735Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "11", "Distant lymph node(s):\n Pelvic, NOS\n External iliac\nWITHOUT previous scrotal or inguinal surgery \nOr unknown if previous scrotal or inguinal surgery", "VALUE:M1a", "VALUE:M1a", "VALUE:RN", "VALUE:RN" ], [ "12", "Distant lymph node(s):\n Inguinal nodes, NOS:\n Deep, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial (femoral)\nWITHOUT previous scrotal or inguinal surgery \nOr unknown if previous scrotal or inguinal surgery", "VALUE:M1a", "VALUE:M1a", "VALUE:D", "VALUE:D" ], [ "13", "Specified distant lymph nodes, other than code 11 or 12\nDistant lymph node(s), NOS", "VALUE:M1a", "VALUE:M1a", "VALUE:D", "VALUE:D" ], [ "20", "Distant metastasis to lung", "VALUE:M1a", "VALUE:M1a", "VALUE:D", "VALUE:D" ], [ "25", "20 + (11, 12, or 13) \n\nDistant metastasis to lung and lymph nodes as described in code 11, 12, or 13", "VALUE:M1a", "VALUE:M1a", "VALUE:D", "VALUE:D" ], [ "30", "Stated as M1a with no other information on metastasis", "VALUE:M1a", "VALUE:M1a", "VALUE:D", "VALUE:D" ], [ "40", "Metastasis to other distant sites \nWith or without metastasis to lung and/or distant lymph node(s)\nCarcinomatosis\n\nStated as M1b with no other information on metastases", "VALUE:M1b", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "45", "OBSOLETE DATA CONVERTED V0200 \nSee code 60 \n\nDistant metastasis, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "60", "Distant metastasis, NOS \n\nStated as M1 [NOS] with no other information on metastases", "VALUE:M1NOS", "VALUE:M1NOS", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbc.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbc.json deleted file mode 100644 index 0cbb1eb7c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbc.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hbc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Positive common iliac lymph nodes are coded under CS Lymph Nodes.\n\n**Note 2**: In some cases, determination of the M category for TNM 6 is based on this field and CS Lymph Nodes. See CS Lymph Nodes for details.", - "last_modified" : "2015-05-27T16:19:28.795Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "OBSOLETE DATA RETAINED V0200\nCommon iliac nodes reclassified in AJCC 7 as regional, see CS Lymph Nodes code 350\n\nDistant lymph node(s): Common iliac", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "11", "Distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastases, except distant lymph nodes\nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "OBSOLETE DATA RETAINED V0200\n\n40 + any of (10 or 11)", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "55", "40 + 11\n\nDistant metastases plus distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on metastases", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbe.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbe.json deleted file mode 100644 index 18d59cd26..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbe.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "mets_hbe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: Para-aortic and pericaval lymph nodes are classified as regional nodes for AJCC 7 staging and are coded in CS Lymph Nodes.", - "footnotes" : "- For CS Mets at DX codes 00 and 99, the M category for AJCC 6 staging is assigned based on the coding of CS Lymph Nodes and CS Mets at DX as shown in the Lymph Nodes Mets at DX AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:28.840Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxajcc6_xhv", "VALUE:NONE", "VALUE:NONE" ], [ "10", "OBSOLETE DATA RETAINED V0200\nPara-aortic nodes reclassified from distant to regional nodes in AJCC 7th Edition; see CS Lymph Nodes codes 620 and 635 \n\nDistant lymph node(s), including:\n Para-aortic\n Peripancreatic (along body and tail of pancreas only)\nDistant lymph node(s), NOS", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "15", "Distant lymph node(s), including:\n Peripancreatic (along body and tail of pancreas only)\nDistant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastases except distant lymph node(s) \n\nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "OBSOLETE DATA RETAINED V0200\nPara-aortic nodes reclassified from distant to regional nodes in AJCC 7th Edition; See Code 51 \n\n(40 + 10)\nDistant lymph node(s) plus other distant metastases", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "51", "40 + 15\n\nDistant metastasis plus distant lymph nodes ", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxajcc6_xhv", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbf.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbf.json deleted file mode 100644 index efc47c16c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbf.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hbf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:28.893Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "OBSOLETE DATA REVIEWED AND CHANGED V0103\nMoved to CS Lymph Nodes\n\nDescription: Distant lymph node(s)\n Mandibular, NOS\n\nNOTE: Review and recode in CS Lymph Nodes.", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "11", "OBSOLETE DATA REVIEWED AND CHANGED V0103\nMoved to CS Lymph Nodes\n\nDescription: Distant lymph node(s)\n Submandibular (submaxillary)\n Submental\n\nNOTE: Review and recode in CS Lymph Nodes.", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "12", "Distant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) \nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "OBSOLETE DATA REVIEWED AND CHANGED V0103\nMoved to CS Lymph Nodes\n\nDescription: (40) + or any of [(10) to (12)]\n Distant lymph node(s) plus other distant metastasis\n\nNOTE: Review and recode either to 40 or to 51 and appropriate code in CS Lymph Nodes", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "51", "40 + 12\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis\n", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbg.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbg.json deleted file mode 100644 index 31bb919cc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbg.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "mets_hbg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Periesophageal lymph nodes extending from the cervical/supraclavicular region to the celiac region previously considered to be distant are now classified as regional nodes. Involvement of these nodes is coded in CS Lymph Nodes.\n\n**Note 2**: Lymph node stations/groups are listed in parentheses where applicable. For a list of these nodal groups, see Part I Section 2 or Figure 10.3 from the AJCC Cancer Staging Atlas, 2nd Ed. or errata for AJCC 7th Ed. chapter 10.\n\n**Note 3**: Errata for AJCC 7th Ed. has clarified the status of the most distal node chains for the esophagus/esophagogastric junction chapter. The left gastric and celiac nodes (levels 17, 20) are regional, but the common hepatic and splenic artery nodes (levels 18, 19) are not regional. The common hepatic and splenic nodes continue to be captured in code 15.", - "footnotes" : "- For CS Mets at DX codes 00 or 99, the N and M categories for AJCC 6 staging are assigned based on the coding of CS Lymph Nodes as shown in the Lymph Nodes Mets at DX AJCC 6 Table.", - "last_modified" : "2015-05-27T16:19:28.943Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxtable_ajcc6_xfv", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:M1", "VALUE:M1NOS", "VALUE:D", "VALUE:D" ], [ "11", "OBSOLETE DATA RETAINED V0200\nConsidered regional in AJCC 7th Edition\nSee CS Lymph Nodes code 250\n\nUpper thoracic esophagus only:\n Cervical lymph nodes M1\nLower thoracic (abdominal) esophagus only:\n Celiac lymph nodes (20) M1", "ERROR:", "VALUE:M1a", "VALUE:D", "VALUE:D" ], [ "12", "OBSOLETE DATA REVIEWED AND CHANGED V0200\nThe specified lymph nodes in code 12 were considered distant in AJCC 6th Edition and are considered regional in AJCC 7th Edition EXCEPT for common hepatic and splenic lymph nodes which are still considered distant and are included in code 15. \nSee CS Lymph Nodes code 265\n\nSpecified distant lymph node(s), other than code 11, including:\nCervical esophagus only:\n Common hepatic (18) \n Diaphragmatic (15) \n Pulmonary ligament (9) \n Splenic (19) \nIntrathoracic esophagus, upper or middle, only:\n Common hepatic (18) \n Diaphragmatic (15) \n Splenic (19) \nLower thoracic (abdominal) esophagus only:\n Aortopulmonary (5) \n Pulmonary ligament (9)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "15", "Common hepatic (18)\nSplenic (19)", "VALUE:M1", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastases except distant lymph node(s) (codes 10 or 15) \nCarcinomatosis", "VALUE:M1", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "50", "40 + any of (10 to 15)\n\nDistant lymph node(s) plus other distant metastases", "VALUE:M1", "VALUE:M1b", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 [NOS] with no other information on distant metastasis", "VALUE:M1", "VALUE:M1NOS", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxtable_ajcc6_xfv", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbj.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbj.json deleted file mode 100644 index a9491d9b2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbj.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hbj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:29.002Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:NA", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s) including:\n Para-aortic\n Peripancreatic (along body and tail of pancreas only)", "VALUE:NA", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastases except distant lymph nodes\nCarcinomatosis", "VALUE:NA", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph node(s)", "VALUE:NA", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS", "VALUE:NA", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbn.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbn.json deleted file mode 100644 index 33825524d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbn.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "mets_hbn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Distant lymph node involvement is considered N2 for AJCC 7 staging for retinoblastoma and is coded in the CS Lymph Nodes field. Distant lymph node involvement was considered M1 in AJCC 6 staging for retinoblastoma and was coded in CS Mets at DX in CS Version 1.\n\n**Note 2**: Code single and multiple metastatic lesions in this field based on the presentation of metastases in all distant sites excluding distant lymph nodes.\n\n**Note 3**: Consider metastasis to bone marrow as a single site of involvement.", - "footnotes" : "- For CS Mets at DX code 65 ONLY, the M category for AJCC 7 staging is assigned based on the values of CS Mets at DX and CS Mets Eval, as shown in the Mets at DX Mets Eval AJCC 7 Table for this schema.\n- For CS Mets at DX codes 00 through 99, when CS Lymph Nodes code is only 000, 100, 800, or 999, the M category for AJCC 6 staging is assigned based on the values of CS Mets at DX and CS Mets Eval, as shown in the Mets at DX Mets Eval AJCC 6 Table for this schema. When the CS Lymph Nodes code is 200 or 250, the M category for AJCC 6 staging is assigned based on the value of CS Lymph Nodes and CS Nodes Eval as shown in the Lymph Nodes Mets at DX AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:29.051Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "JUMP:determine_correct_table_for_ajcc6_m_ns29", "VALUE:NONE", "VALUE:NONE" ], [ "10", "OBSOLETE DATA RETAINED V0200\nDistant lymph nodes coded in CS Lymph Nodes\n\nDistant lymph node(s)", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_m_ns29", "VALUE:D", "VALUE:D" ], [ "20", "Single metastatic lesion only:\n Distant metastasis to site other than bone marrow or CNS", "VALUE:M1a", "JUMP:determine_correct_table_for_ajcc6_m_ns29", "VALUE:D", "VALUE:D" ], [ "30", "Single metastatic lesion only:\n Distant metastasis to bone marrow only", "VALUE:M1a", "JUMP:determine_correct_table_for_ajcc6_m_ns29", "VALUE:D", "VALUE:D" ], [ "35", "Distant metastasis to single lesion, NOS\n\nStated as M1a with no other information on metastasis", "VALUE:M1a", "JUMP:determine_correct_table_for_ajcc6_m_ns29", "VALUE:D", "VALUE:D" ], [ "40", "OBSOLETE DATA CONVERTED V0200\nSee code 80\n\nDistant metastasis except distant lymph node(s) (10) or bone marrow (30) \nDistant metastasis, NOS\nCarcinomatosis", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "45", "Multiple metastatic lesions involved\n Distant metastasis to sites other than CNS WITH or WITHOUT bone marrow involvement\n\nStated as M1b with no other information on metastasis", "VALUE:M1b", "JUMP:determine_correct_table_for_ajcc6_m_ns29", "VALUE:D", "VALUE:D" ], [ "50", "OBSOLETE DATA RETAINED V0200\nDistant lymph nodes coded in CS Lymph Nodes\n\n(10) + any of [(30) or (40)]\nDistant lymph node(s) plus other distant metastases", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_m_ns29", "VALUE:D", "VALUE:D" ], [ "55", "OBSOLETE DATA CONVERTED V0200\nSee code 80\n\nStated as M1, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "60", "Metastasis to CNS:\n Location not specified\n\nStated as M1c with no other information on metastasis", "VALUE:M1c", "JUMP:determine_correct_table_for_ajcc6_m_ns29", "VALUE:D", "VALUE:D" ], [ "65", "Metastasis to CNS:\n Prechiasmatic lesions \n WITHOUT leptomeningeal and/or CSF involvement", "JUMP:metsat_dxmets_eval_ajcc7_xfg", "JUMP:determine_correct_table_for_ajcc6_m_ns29", "VALUE:D", "VALUE:D" ], [ "70", "Metastasis to CNS:\n Postchiasmatic lesions\n WITHOUT leptomeningeal and/or CSF involvement\n\nStated as M1d with no other information on metastasis", "VALUE:M1d", "JUMP:determine_correct_table_for_ajcc6_m_ns29", "VALUE:D", "VALUE:D" ], [ "75", "Metastasis to CNS:\n WITH Leptomeningeal and/or CSF involvement\n\nStated as M1e with no other information on metastasis", "VALUE:M1e", "JUMP:determine_correct_table_for_ajcc6_m_ns29", "VALUE:D", "VALUE:D" ], [ "80", "Distant metastasis, NOS\n \nStated as M1, NOS with no other information on distant metastasis", "VALUE:M1NOS", "JUMP:determine_correct_table_for_ajcc6_m_ns29", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "JUMP:determine_correct_table_for_ajcc6_m_ns29", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbo.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbo.json deleted file mode 100644 index 2b5b8d3e6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbo.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hbo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:29.104Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "08", "For jejunum and ileum primaries only:\n Pericholedochal lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:RN" ], [ "10", "Distant lymph node(s) other than those in code 08:\n Celiac lymph nodes \n Distant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "11", "OBSOLETE DATA CONVERTED V0203\nSee code 08\n\nFor jejunum and ileum primaries only:\n Pericholodochal\n(For duodenal primary, see Lymph Nodes field)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "40", "Distant metastasis excluding distant lymph node(s) \nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + (08 and/or 10)\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis , NOS \n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbu.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbu.json deleted file mode 100644 index d68742032..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbu.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hbu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:29.152Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s), including:\n Hepatoduodenal\n Mesenteric, NOS:\n Inferior mesenteric\n Superior mesenteric\n Para-aortic\n Porta hepatis (portal) (hilar) (in hilus of liver)\n Retropancreatic\n Retroperitoneal\n\n Distant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis(es) except distant lymph node(s) \nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10 \n\nDistant metastasis plus distant lymph node(s) ", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis(es), NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbv.json deleted file mode 100644 index f431fc240..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbv.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hbv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:29.201Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) \nCarcinomatosis", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\n Stated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbx.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbx.json deleted file mode 100644 index 097e6b399..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbx.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hbx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:29.251Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "Nodistant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "08", "Superior mesenteric lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "10", "Distant lymph node(s) other than those in code 08 (Includes inferior mesenteric lymph node(s))", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) \nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + (08 and/or 10)\n\nDistant metastasis plus distant lymph nodes", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hby.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hby.json deleted file mode 100644 index 0324d14d5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hby.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "mets_hby", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: Involvement of peripheral and central lymph nodes, distant nodes for ocular adnexal lymphomas, is coded in CS Lymph Nodes and not in CS Mets at DX.", - "footnotes" : "- Stage grouping for AJCC 6 staging of ocular adnexal lymphoma for cases collected in CSv2 is derived from a combination of CS Extension, CS Lymph Nodes, and CS Mets at DX codes as shown in the AJCC TNM 6 Stage table . A or B categories is appended to Stage I-IV based on coding of CS Site-Specific Factor 2, Systemic Symptoms at Diagnosis.", - "last_modified" : "2015-05-27T16:19:29.295Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No involvement of other extranodal sites", "VALUE:M0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "20", "Spleen", "VALUE:M1a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "30", "Non-contiguous involvement of other extranodal sites \nexcluding bone marrow, including but not limited to:\n Parotid gland\n Submandibular gland\n Lung\n Liver\n Kidney\n Breast", "VALUE:M1a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "35", "Stated as M1a with no other information on metastasis", "VALUE:M1a", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "40", "Bone marrow\n\nStated as M1b with no other information on metastasis", "VALUE:M1b", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "50", "40 + (20, 30, or 35) \n\nBone marrow plus other extranodal site\n\nStated as M1c with no other information on metastasis", "VALUE:M1c", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis NOS\n\nStated as M1 [NOS] with no other information on metastasis", "VALUE:M1NOS", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "88", "OBSOLETE DATA CONVERTED V0200\nSee code 98\n\nNot applicable for this site", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "98", "OBSOLETE DATA RETAINED V0200\nNew schema for site/histology V0200\n\nNot applicable for this schema", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbz.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbz.json deleted file mode 100644 index 1c2dd3eaf..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hbz.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "mets_hbz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Inferior phrenic nodes are classified as regional nodes for AJCC 7 staging and coded in CS Lymph Nodes.\n\n**Note 2**: Periduodenal and peripancreatic nodes are distant for tumors in the left liver, and gastrohepatic nodes are distant for tumors in the right liver. If both lobes of liver are involved, code involvement of periduodenal/peripancreatic and gastrohepatic nodes in CS Lymph Nodes.\n\n**Note 3**: Caval nodes are classified as distant for AJCC 7 staging.", - "footnotes" : "- For CS Mets at DX codes 00-99, the N and M categories for AJCC 6 staging are assigned based on the coding of CS Lymph Nodes and CS Mets at DX as shown in the Lymph Nodes Mets at DX AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:29.351Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:NONE", "VALUE:NONE" ], [ "07", "Distant lymph nodes:\n Caval (inferior vena cava)", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:RN", "VALUE:RN" ], [ "10", "Distant lymph node(s), NOS", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:D", "VALUE:D" ], [ "11", "Distant lymph nodes:\n Cardiac\n Lateral (aortic) (lumbar)\n Pericardial (pericardiac)\n Posterior mediastinal (tracheoesophageal) including juxtaphrenic nodes\n Retroperitoneal, NOS", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:RN", "VALUE:D" ], [ "12", "Distant lymph nodes:\n Coronary artery\n Renal artery", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:RN", "VALUE:D" ], [ "13", "OBSOLETE DATA RETAINED AND REVIEWED V0203 \nPeripancreatic nodes for tumors of right liver classified as regional nodes in AJCC 7. See codes 00, 17, and 20, and CS Lymph Nodes codes 130, 140, and 310.\n\nDistant lymph node(s):\n Aortic (para-, peri-)\n Diaphragmatic, NOS\n Peripancreatic (near head of pancreas only)", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:D", "VALUE:D" ], [ "14", "(11, 12) + 07\n\nDistant nodes in codes 11 or 12 plus nodes in code 07", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:RN", "VALUE:D" ], [ "15", "OBSOLETE DATA RETAINED V0200\nInferior phrenic nodes reclassified from distant to regional nodes in AJCC 7th Edition; See Code 16 or CS Lymph Node code 200\n\nDistant lymph node(s) other than codes 10-13, including inferior phrenic nodes", "ERROR:", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:D", "VALUE:D" ], [ "16", "OBSOLETE DATA REVIEWED V0203 \nPeriduodenal nodes for tumors of right liver classified as regional nodes in AJCC 7. See codes 00, 17, 18, 20, 58; see CS Lymph Nodes codes 130, 140, 310.\n\nDistant lymph node(s) other than codes 10-13", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:D", "VALUE:D" ], [ "17", "Distant lymph node(s):\n Aortic:\n Para-aortic\n Periaortic\n Diaphragmatic, NOS\n Left liver (segments 2-4):\n Periduodenal\n Peripancreatic \n Right liver (segments 5-8):\n Gastrohepatic", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:D", "VALUE:D" ], [ "18", "Distant lymph node(s) other than codes 07,11, 12, 17", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:D", "VALUE:D" ], [ "20", "(17, 18) + 07\n\nDistant lymph nodes in code 17 or 18 plus nodes in code 07", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s)\nCarcinomatosis", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:D", "VALUE:D" ], [ "50", "OBSOLETE DATA RETAINED V0200\nInferior phrenic nodes reclassified from distant to regional nodes in AJCC 7, see CS Lymph Nodes code 200; see code 51 for combinations involving other nodes\n\n40 + any of (10 or 11 or 15)\nDistant lymph node(s) plus other distant metastases", "ERROR:", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:D", "VALUE:D" ], [ "51", "OBSOLETE DATA REVIEWED V0203\nPeriduodenal nodes for tumors of right liver classified as regional nodes in AJCC 7. See codes 40, 55, and 58\n\n40 + (10 or 11 or 16)\n\nDistant lymph node(s) plus other distant metastases", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:D", "VALUE:D" ], [ "52", "OBSOLETE DATA RETAINED AND REVIEWED V0203 \nPeripancreatic nodes for tumors of right liver classified as regional nodes in AJCC 7. See codes 40, 55, and 58 \n\n40 + (12 or 13)\n\nDistant lymph node(s) plus other distant metastases", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:D", "VALUE:D" ], [ "55", "40 + 07\n\nDistant metastasis plus distant lymph nodes in code 07", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:D", "VALUE:D" ], [ "58", "40 + (10, 11, 12, 14, 17, 18)\n\nDistant metastasis plus distant lymph nodes in codes 10, 11, 12, 14, 17, or 18", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:RN", "VALUE:RN" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_m", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hca.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hca.json deleted file mode 100644 index 95ecf9495..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hca.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hca", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:29.406Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:NA", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s)", "VALUE:NA", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) \nCarcinomatosis", "VALUE:NA", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph node(s)", "VALUE:NA", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS", "VALUE:NA", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed \nNot documented in patient record", "VALUE:NA", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcb.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcb.json deleted file mode 100644 index 4dcc0b2cf..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcb.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hcb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Liver metastasis implies the presence of tumor inside the liver parenchyma as one or more nodules. Adherence to the liver capsule, even if extensive, should not be considered liver metastasis. Code direct adherence to the liver in CS Extension code 570.\n\n**Note 2**: When a patient has more than one area of GIST, it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. Code this form of metastasis in CS Mets at DX. \n\nTumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in CS Site-Specific Factor 15, Tumor Multiplicity.\n\nWhen a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in CS Site-Specific Factor 15, Tumor Multiplicity.\n\nWhen multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, code as 99.\n\n**Note 3**: Involvement of superior mesenteric node(s) is coded 08. Inferior mesenteric node(s) are included in code 10. Mesenteric node(s), NOS are coded in CS Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:29.454Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "08", "For cecum, ascending colon, hepatic flexure , and transverse colon:\n Superior mesenteric lymph node(s)", "VALUE:M1", "VALUE:NA", "VALUE:RN", "VALUE:D" ], [ "10", "Distant lymph node(s) other than those in code 08 , including:\n For all colon sites:\n Common iliac \n External iliac\n Para-aortic\n Retroperitoneal\n Distant lymph node(s), NOS\n For cecum, ascending colon, transverse colon, and hepatic flexure :\n Inferior mesenteric\n For splenic flexure, descending colon, and sigmoid colon:\n Superior mesenteric", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s including:\n Peritoneal nodules\n Liver parenchymal nodules\nCarcinomatosis", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "50", "40 + (08 and/or 10)\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcc.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcc.json deleted file mode 100644 index 9c515da9c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcc.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hcc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Liver metastasis implies the presence of tumor inside the liver parenchyma as one or more nodules. Adherence to the liver capsule, even if extensive, should not be considered liver metastasis . Code direct adherence to the liver in CS Extension code 570.\n\n**Note 2**: When a patient has more than one area of GIST, it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. Code this form of metastasis in CS Mets at DX. \n\nTumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in CS Site-Specific Factor 15, Tumor Multiplicity.\n\nWhen a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in CS Site-Specific Factor 15, Tumor Multiplicity.\n\nWhen multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, code as 99.", - "last_modified" : "2015-05-27T16:19:29.511Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "08", "For rectosigmoid:\n Internal iliac (hypogastric):\n Obturator", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "10", "OBSOLETE DATA CONVERTED V0203\nSee code 15\n\nDistant lymph node(s), NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "11", "OBSOLETE DATA CONVERTED V0203\nSee code 08\n\nRectosigmoid:\n Internal iliac (hypogastric)\n Obturator", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "12", "Other distant lymph node(s), including\n external iliac or common iliac", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "15", "Distant lymph nodes, NOS", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastases except distant lymph node(s) including:\n Peritoneal nodules\n Liver parenchymal nodules codes 10-12\nCarcinomatosis", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "50", "40+ (08,12, 15)\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcd.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcd.json deleted file mode 100644 index c40dd7812..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcd.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hcd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Liver metastasis implies the presence of tumor inside the liver parenchyma as one or more nodules. Adherence to the liver capsule, even if extensive, should not be considered liver metastasis. Code direct adherence to the liver in CS Extension code 600.\n\n**Note 2**: When a patient has more than one area of GIST, it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. Code this form of metastasis in CS Mets at DX. Tumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in CS Site-Specific Factor 10, Tumor Multiplicity. When a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in CS Site-Specific Factor 10, Tumor Multiplicity. When multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, code as 99.", - "last_modified" : "2015-05-27T16:19:29.568Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s), including:\n For all subsites:\n Mesenteric, NOS:\n Inferior mesenteric\n Superior mesenteric\n Para-aortic\n Porta hepatis (portal) (hilar) (in hilus of liver)\n Retropancreatic\n Retroperitoneal\n For all subsites EXCEPT lesser curvature :\n Hepatoduodenal\n Distant lymph nodes, NOS", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis(es) except distant lymph node(s) including:\n Peritoneal nodules\n Liver parenchymal nodules\nCarcinomatosis\nMalignant peritoneal cytology", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph nodes", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS \n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hce.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hce.json deleted file mode 100644 index 9ecf3fd13..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hce.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hce", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 2**: When a patient has more than one area of GIST, it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. Code this form of metastasis in CS Mets at DX. \n\nTumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in CS Site-Specific Factor 10, Tumor Multiplicity.\n\nWhen a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in CS Site-Specific Factor 10, Tumor Multiplicity.\n\nWhen multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, code as 99.", - "last_modified" : "2015-05-27T16:19:29.620Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s):\n Celiac lymph node(s)\n Distant lymph node(s), NOS", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "11", "For jejunum and ileum primaries only:\n Pericholedochal\n(For duodenal primary, see CS Lymph Nodes field)", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "40", "Distant metastases except distant lymph node(s) \nCarcinomatosis", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "50", "40 + (10and/or 11)\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcf.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcf.json deleted file mode 100644 index a41e21317..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcf.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "mets_hcf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: With the implementation of AJCC 7 staging, mucinous tumors (morphology codes 8480, 8481, and 8490) with peritoneal involvement confined to the right lower quadrant (RLQ) are classified as T4a. Therefore, such peritoneal metastases are coded in CS Extension.", - "footnotes" : "- For CS Mets at DX code 00 and 99, the M category for AJCC 6 staging is determined by the CS Extension code as shown in the Extension Mets AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:29.674Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "JUMP:extension_mets_ajcc6_xeh", "VALUE:NONE", "VALUE:NONE" ], [ "05", "For mucinous tumors only:\n Intraperitoneal metastasis BEYOND the right lower quadrant, including pseudomyxoma peritonei\n\nStated as M1a with no other information on distant metastasis", "VALUE:M1a", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "07", "OBSOLETE DATA CONVERTED V0203\nSee code 23\n\nFor non-mucinous tumors:\n Any intraperitoneal spread", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "08", "Superior mesenteric lymph nodes", "VALUE:M1b", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "10", "Distant lymph node(s) other than those in code 08\n(Includes inferior mesenteric lymph node(s))\nDistant lymph node(s), NOS", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "20", "For mucinous tumors only: (08 and/or 10) + 05 Distant lymph node(s) plus intraperitoneal metastasis BEYOND the right lower quadrant, including pseudomyxoma peritonei", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "23", "For non-mucinous tumors only:\n Any intraperitoneal spread", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "25", "For non-mucinous tumors only:\n 23 + (08 and/or 10) \n\nIntraperitoneal spread plus distant lymph node(s)", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "OBSOLETE DATA RETAINED V0200\nSee codes 45 and 60\n\nDistant metastases except distant lymph node(s) \nDistant metastasis, NOSCarcinomatosis", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "45", "Distant metastasis except distant lymph node(s) and intraperitoneal spread\nNon-peritoneal metastasis\nCarcinomatosis", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "45 + (10 and/or 08\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "55", "Stated as M1b with no other information on distant metastasis", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 [NOS] with no other information on distant metastasis", "VALUE:M1NOS", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "JUMP:extension_mets_ajcc6_xeh", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcg.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcg.json deleted file mode 100644 index 8504ba641..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcg.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hcg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:29.734Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "20", "Extension to:\n Contralateral kidney\n Contralateral ureter\n Liver from left kidney\n Spleen from right kidney", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Noncontiguous ipsilateral adrenal (suprarenal) gland metastasis \n(Contiguous involvement coded in CS Extension )\nDistant metastasis except distant lymph node(s) \nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "OBSOLETE DATA CONVERTED V0203\nSee code 55\n\n40 + 10\n\nDistant metastasis plus distant lymph node(s)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "55", "(40 or 20) + 10\n\nDistant metastasis or extension coded in 20 plus distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS \n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed \nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hch.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hch.json deleted file mode 100644 index 9fdcfcbcc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hch.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hch", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Liver metastasis implies the presence of tumor inside the liver parenchyma as one or more nodules. Adherence to the liver capsule, even if extensive, should not be considered liver metastasis. Code direct adherence to the liver in CS Extension code 570.\n\n**Note 2**: When a patient has more than one area of gastrointestinal stromal tumor (GIST), it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. Code this form of metastasis in CS Mets at DX. \n\nTumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in CS Site-Specific Factor 15, Tumor Multiplicity.\n\nWhen a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in CS Site-Specific Factor 15, Tumor Multiplicity.\n\nWhen multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, code as 99.\n\n**Note 3**: Peritoneal nodules are not excluded as a staging component for M1 disease of GISTAppendix and may be coded in code 48. All cases with code 60 in CSv2: V0201, V0202 should be reviewed to determine if they could be recoded to code 48 or 50.\n\n**Note 4**: Involvement of superior mesenteric node(s) is coded 08. Inferior mesenteric node(s) are included in code 10. Mesenteric node(s), NOS are coded in CS Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:29.781Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "08", "Superior mesenteric lymph node(s)", "VALUE:M1", "VALUE:NA", "VALUE:RN", "VALUE:D" ], [ "10", "Distant lymph node(s) other than those in code 08\n(Includes inferior mesenteric lymph node(s))\nDistant lymph node(s), NOS", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "40", "OBSOLETE DATA RETAINED V0200\nSee codes 45 and 60\n\nDistant metastases except distant lymph node(s) (codes 08-10)\nDistant metastasis, NOS\nCarcinomatosis", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "45", "OBSOLETE DATA CONVERTED V0203 \nSee codes 48 \n\nDistant metastases except distant lymph node(s) (code 10) or peritoneal spread\nCarcinomatosis", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "48", "Distant metastasis including: \n Peritoneal nodules\n Liver parenchymal nodules\nCarcinomatosis", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "50", "48 + (08 and/or 10)\n\nDistant metastasis plus distant lymph node(s) ", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "60", "DATA REVIEWED V0203\nPeritoneal nodules are not excluded as a staging component for M1 disease of GISTAppendix and may be coded in code 48. Review all cases with code 60 in CSv2: V0201, V0202 to determine if they should be recoded to code 48 or 50.\n\nDistant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hci.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hci.json deleted file mode 100644 index d5ef502ec..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hci.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hci", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:29.832Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "08", "Distant lymph node(s):\n For cecum, ascending, hepatic flexure, and transverse colon:\n Superior mesentric lymph nodes only", "VALUE:M1", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "10", "Distant lymph node(s) other than code 08\n For all colon sites:\n Common iliac\n Distant lymph node(s), NOS\n External iliac\n Para-aortic\n Retroperitoneal\n For cecum, ascending colon, transverse colon, and hepatic flexure:\n Inferior mesenteric\n For splenic flexure, descending colon, and sigmoid colon:\n Superior mesenteric", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s)\nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + (08 or 10)\n\nDistant metastasis plus distant lymph node(s) ", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcj.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcj.json deleted file mode 100644 index 414fac83e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcj.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hcj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:29.886Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "08", "Distant lymph node(s):\n For rectosigmoid:\n Internal iliac (hypogastric):\n Obturator", "VALUE:M1", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "10", "OBSOLETE DATA CONVERTED V0203\nSee code 15\n\nDistant lymph node(s), NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "11", "OBSOLETE DATA CONVERTED V0203\nSee code 08\n\nDistant lymph node(s):\n Rectosigmoid:\n Internal iliac (hypogastric)\n Obturator", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "12", "Other distant lymph node(s), including:\n External iliac or common iliac", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "15", "Distant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) \nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + any of (08 - 15)\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hck.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hck.json deleted file mode 100644 index ff6c26195..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hck.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hck", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:29.942Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s):\n For all subsites:\n Mesenteric, NOS:\n Inferior mesenteric\n Superior mesenteric\n Para-aortic\n Porta hepatis (portal) (hilar) (in hilus of liver)\n Retropancreatic\n Retroperitoneal\n For all subsites EXCEPT lesser curvature:\n Hepatoduodenal\n Distant lymph nodes, NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) \nCarcinomatosis\nMalignant peritoneal cytology", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph node(s) ", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS \n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcl.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcl.json deleted file mode 100644 index 5354462aa..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcl.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hcl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: When both Federation Internationale de Gynecologie at d-Obstetrique (FIGO) stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage.\n\n**Note 2**: FIGO Stage IV, NOS is assigned based on tumor extension and/or distant metastasis. Code CS Mets at DX based on a physician's statement of FIGO Stage IV [NOS] if it is known that the stage value is assigned because of metastatic involvement, or if there is no statement that FIGO Stage IV [NOS] is assigned based on extension.", - "last_modified" : "2015-05-27T16:19:30.002Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "11", "Distant lymph node(s):\n Superficial inguinal", "VALUE:M1", "VALUE:NA", "VALUE:RN", "VALUE:D" ], [ "12", "Distant lymph node(s) other than code 11:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Distant lymph node(s), NOS\n(Excluding metastasis to pelvic or para-aortic lymph nodes)", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastases, except distant lymph\nnode(s)\nCarcinomatosis\n(Excluding adnexa and continuous extension to abdominal tissues)", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "50", "40 + (11 and/or 12)\n\nDistant metastasis plus distant lymph node(s) ", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "55", "FIGO Stage IVB", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis NOS", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "70", "FIGO Stage IV [NOS]", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcm.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcm.json deleted file mode 100644 index 4f2b71d6c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcm.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hcm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: When both FIGO stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage. \n\n**Note 2**: FIGO Stage IV, NOS is assigned based on tumor extension and/or metastasis. Code CS Mets at DX based on a physician's statement of FIGO Stage IV, NOS only if it is known that the stage value is assigned because of metastasis.", - "last_modified" : "2015-05-27T16:19:30.059Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "11", "Distant lymph node(s):\n Superficial inguinal", "VALUE:M1", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "12", "Distant lymph node(s) other than code 11:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Distant lymph node(s), NOS\n(Excluding metastasis to pelvic or para-aortic lymph nodes)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastases, except distant lymph node(s) \nCarcinomatosis\n(Excluding metastasis to adnexa and continuous extension to abdominal tissues)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + (11 and/or 12)\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "55", "FIGO Stage IVB", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "70", "FIGO Stage IV [NOS] based on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcn.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcn.json deleted file mode 100644 index c8fee1775..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcn.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hcn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Liver metastasis implies the presence of tumor inside the liver parenchyma as one or more nodules. Adherence to the liver capsule, even if extensive, should not be considered liver metastasis.\n\n**Note 2**: Lymph nodes from the supraclavicular region down to the celiac region previously considered to be distant are now regional.\n\n**Note 3**: When a patient has more than one area of GIST, it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. Code this form of metastasis in CS Mets at DX. \n\nTumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in CS Site-Specific Factor 10, Tumor Multiplicity.\n\nWhen a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in CS Site-Specific Factor 10, Tumor Multiplicity.\n\nWhen multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, code as 99.", - "last_modified" : "2015-05-27T16:19:30.123Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "11", "OBSOLETE DATA RETAINED V0200\nConsidered regional in AJCC 7th Edition\nSee CS Lymph Nodes code 250\n\nUpper thoracic esophagus only:\n Cervical lymph nodes\nLower thoracic (abdominal) esophagus only:\n Celiac lymph nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "12", "OBSOLETE DATA RETAINED V0200\nConsidered regional in AJCC 7th Edition staging EXCEPT for common hepatic and splenic lymph nodes which are still considered distant and are included in code 15\nSee CS Lymph Nodes code 265\n\nSpecified distant lymph node(s), other than code 11, including:\nCervical esophagus only:\n Common hepatic\n Diaphragmatic\n Pulmonary ligament\n Splenic\nIntrathoracic esophagus, upper or middle, only:\n Common hepatic\n Diaphragmatic\n Splenic\nLower thoracic (abdominal) esophagus only:\n Aortopulmonary\n Pulmonary ligament", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "15", "Common hepatic (18)\nSplenic (19)", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) \nCarcinomatosis", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "50", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee codes 40 and 55\n\n40 + any of (10 to 12)\n\nDistant lymph node(s) plus other distant metastases", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "55", "40 + (10 or 15) Distant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hco.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hco.json deleted file mode 100644 index e5563b81a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hco.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hco", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:30.214Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n Node(s) at the tail of the pancreas\n Para-aortic nodes\n Splenic lymph node(s)\n Distant lymph nodes, NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) \nCarcinomatosis\n(Includes seeding of peritoneum, even if limited to the lesser sac region; positive peritoneal cytology)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS Stated as M1with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated.\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcp.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcp.json deleted file mode 100644 index d48fe4f2f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcp.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hcp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:30.284Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s), other than those listed in code 11, including celiac lymph node(s)\nDistant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "11", "For jejunum and ileum primaries only:\n Pericholedochal\n(For duodenal primary, see CS Lymph Nodes field)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:RN" ], [ "40", "Distant metastasis except distant lymph node(s) \nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + (10 or 11)\n\nDistant metastasis plus distant lymph nodes", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcq.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcq.json deleted file mode 100644 index 2f2fe0393..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcq.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hcq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: Celiac lymph nodes are classified as distant nodes for AJCC 7 staging. They are coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:30.334Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "07", "Distant lymph nodes:\n Celiac", "VALUE:M1", "VALUE:M0", "VALUE:D", "VALUE:D" ], [ "10", "Distant lymph node(s) including:\n Para-aortic \n Peripancreatic (along body and tail of pancreas only)\n Pericaval\n Distant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "20", "10 + 07", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph nodes\nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "45", "40 + 07\n\nDistant metastasis plus distant lymph nodes in code 07", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph nodes in code 10", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcr.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcr.json deleted file mode 100644 index 11f5a985b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcr.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "mets_hcr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Para-aortic and pericaval lymph nodesare classified as regional nodes for AJCC 7 staging and are coded in CS Lymph Nodes.", - "footnotes" : "- For CS Mets at DX codes 00 and 99, the M category for AJCC 6 staging is assigned based on the value of CS Lymph Nodes as shown in the Lymph Nodes Mets at DX AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:30.407Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxajcc6_xfo", "VALUE:NONE", "VALUE:NONE" ], [ "10", "OBSOLETE DATA RETAINED V0200\nPara-aortic nodes reclassified from distant to regional nodes in AJCC 7th Edition \nSee code 15 or CS Lymph Nodes code 400\n\nDistant lymph node(s) including:\n Para-aortic \n Peripancreatic (along body and tail of pancreas only)\nDistant lymph nodes, NOS", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "15", "Distant lymph node(s) including: \n Peripancreatic (along body and tail of pancreas only)\n Distant lymph nodes, NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph nodes \nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "OBSOLETE DATA RETAINED V0200\nPara-aortic nodes reclassified from distant to regional nodes in AJCC 7th Edition \nSee code 51 \n\n(10 + 40)", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "51", "40 + 15 \n\nDistant metastasis plus distant lymph nodes in code 15", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxajcc6_xfo", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcs.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcs.json deleted file mode 100644 index 673e61e2b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcs.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hcs", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: Liver metastasis implies the presence of tumor inside the liver parenchyma as one or more nodules. Adherence to the liver capsule, even if extensive, should not be considered distant metastasis. Code direct adherence to the liver in CS Extension code 600.\n\n**Note 2**: When a patient has more than one area of GIST, it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. Code this form of metastasis in CS Mets at DX. \n\nTumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in CS Site-Specific Factor 7, Tumor Multiplicity.\n\nWhen a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in CS Site-Specific Factor 7, Tumor Multiplicity.\n\nWhen multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, code as 99.", - "last_modified" : "2015-05-27T16:19:30.471Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) (code 10)\nDistant metastasis, NOS\nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "45", "Distant metastasis except distaint lymph node(s)\nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "(10) + (40)\nDistant lymph node(s) plus other distant metastases", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcu.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcu.json deleted file mode 100644 index 8b6e6a43d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcu.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hcu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: Codes with metastatic skin lesions include cases coded in CS Extension in CS Version 1, converted to CS Mets at DX in CS Version 2.", - "last_modified" : "2015-05-27T16:19:30.524Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "20", "Metastatic skin lesions", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "30", "20 + 10\n\nMetastatic skin lesions plus distant lymph nodes", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) and metastatic skin lesions \nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph nodes", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "55", "40 + 20\n\nDistant metastasis EXCEPT distant lymph nodes plus metastatic skin lesions", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "58", "40 + 20 + 10\n\nDistant metastasis plus metastatic skin lesions plus distant lymph nodes", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed \nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcv.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcv.json deleted file mode 100644 index 9c2fecf0f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcv.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "mets_hcv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: Para-aortic and pericaval lymph nodes are classified as regional nodes for AJCC 7 staging and are coded in CS Lymph Nodes.", - "footnotes" : "- For CS Mets at DX codes 00 and 99, the M category for AJCC 6 staging is assigned based on the coding of CS Lymph Nodes as shown in the Lymph Nodes Mets at DX AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:30.590Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxajcc6_xjd", "VALUE:NONE", "VALUE:NONE" ], [ "10", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 00 and 51 and CS Lymph Nodes codes 355 and 370\n\nDistant lymph node(s), including:\n Para-aortic\n Peripancreatic (along body and tail of pancreas only)\nDistant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "15", "Distant lymph node(s) including:\n Peripancreatic (along body and tail of pancreas only) \n Distant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastases except distant lymph node(s) \nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 40 and 51\n\n(40) + (10)\nDistant lymph node(s) plus other distant metastases", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "51", "40 + 15 \n\nDistant metastasis plus distant lymph nodes", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastases, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxajcc6_xjd", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcw.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcw.json deleted file mode 100644 index 4562d8149..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcw.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hcw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage.", - "last_modified" : "2015-05-27T16:19:30.649Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) \nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph nodes", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "70", "FIGO Stage IV", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis note stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcx.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcx.json deleted file mode 100644 index f78f9859b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcx.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hcx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: Supraclavicular and transverse cervical lymph nodes are coded in CS Lymph Nodes because they are categorized as N rather than M in AJCC TNM.", - "last_modified" : "2015-05-27T16:19:30.723Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s):\n Mediastinal (excluding superior mediastinal nodes)\n Distant lymph node(s), NOS", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s\nCarcinomatosis", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph node(s)", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed \nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcy.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcy.json deleted file mode 100644 index ddafc0d34..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hcy.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "mets_hcy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: External and internal iliac nodes are coded in CS Lymph Nodes. (Clarification V0204)", - "footnotes" : "- For CS Mets at DX codes 00 and 99, the M category for AJCC 6 staging is assigned based on the coding of CS Lymph Nodes as shown in the Lymph Nodes Mets at DX AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:30.785Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxajcc6_xlf", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:M1a", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "11", "OBSOLETE DATA RETAINED AND REVIEWED V0204\nSee codes 10 and 11, CS Lymph Nodes codes 106, 108, 550, and 570\n\nDistant lymph node(s):\n External iliac", "VALUE:M1a", "VALUE:M1", "VALUE:RN", "VALUE:D" ], [ "12", "OBSOLETE DATA RETAINED AND REVIEWED V0204\nSee codes 10 and 11, CS Lymph Nodes code 107, 109, 560, and 580\n\nDistant lymph node(s):\n Internal iliac (hypogastric)\n Obturator\n Pelvic, NOS", "VALUE:M1a", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "13", "Distant lymph node(s) including common iliac", "VALUE:M1a", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "15", "Metastasis to skin or subcutaneous tissue", "VALUE:M1a", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "20", "Stated as M1a with no other information on distant metastases", "VALUE:M1a", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "30", "Lung", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "35", "OBSOLETE DATA RETAINED AND REVIEWED V0204\nSee codes 30 and 36, CS Lymph Nodes codes 106, 107, 108, 109, 550, 560, 570, and 580\n\n30 + (any of 10-15)\n\nMetastasis to lung plus distant lymph node(s) or skin or subcutaneous tissue", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "36", "30 + 13\n\nMetastasis to lung plus distant lymph node(s) or skin or subcutaneous tissue", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "37", "Stated as M1b with no other information on distant metastases", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "OBSOLETE DATA RETAINED V0200\n\nDistant metastases other than distant lymph node(s)(codes 10 to 13)\nDistant metastasis, NOS\nCarcinomatosis", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "45", "Distant metastasis to all other visceral sites\nExcept distant lymph node(s), skin, subcutaneous tissue, or lung \nCarcinomatosis", "VALUE:M1c", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "OBSOLETE DATA RETAINED V0200 \n\n40 + any of (10 to 13)\nDistant lymph node(s) plus other distant metastases", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "55", "OBSOLETE DATA RETAINED AND REVIEWED V0204\nSee codes 45 and 56, CS Lymph Nodes codes 106, 107, 108, 109, 550, 560, 570, and 580\n\n45 + any of (10 -15, 30) \n\nMetastasis to other visceral sites plus distant lymph node(s), skin, subcutaneous tissues, or lung", "VALUE:M1c", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "56", "45 + any of (13, 30) \n\nMetastasis to other visceral sites plus distant lymph node(s), skin, subcutaneous tissues, or lungs", "VALUE:M1c", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "57", "Stated as M1c with no other information on distant metastasis", "VALUE:M1c", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 [NOS] with no other information on distant metastasis", "VALUE:M1NOS", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "JUMP:lymph_nodes_metsat_dxajcc6_xlf", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hna.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hna.json deleted file mode 100644 index cac421ec8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hna.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hna", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:30.866Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "88", "OBSOLETE DATA CONVERTED V0200 \nSee code 98 \n\nNot applicable for this site", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "98", "Not applicable: Information not collected for this schema", "VALUE:NA", "VALUE:NA", "VALUE:NA", "VALUE:NA" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpa.json deleted file mode 100644 index 96145afc7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpa.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hpa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:30.922Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) \nCarcinomatosis", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10 \n\nDistant metastasis plus distant lymph node(s)", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpb.json deleted file mode 100644 index 92a3efd02..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpb.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hpb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: Supraclavicular and transverse cervical lymph nodes are coded in CS Lymph Nodes because they are categorized as N rather than M in AJCC TNM.", - "last_modified" : "2015-05-27T16:19:30.970Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s):\n Mediastinal (excluding superior mediastinal nodes)\n Distant lymph node(s), NOS", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastases except distant lymph node(s)\nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40+10\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed \nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpc.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpc.json deleted file mode 100644 index 60ad63576..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpc.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "mets_hpc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "last_modified" : "2015-05-27T16:19:31.027Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) \nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph nodes", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpd.json deleted file mode 100644 index 226c937c9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpd.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hpd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: Supraclavicular and transverse cervical lymph nodes are coded in CS Lymph Nodes because they are categorized as N rather than M in AJCC TNM.", - "last_modified" : "2015-05-27T16:19:31.081Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s):\n Mediastinal (excluding superior mediastinal nodes)\n Distant lymph node(s), NOS", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s\nCarcinomatosis", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed \nNot documented in patient record", "VALUE:M0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpe.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpe.json deleted file mode 100644 index 9af021286..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpe.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hpe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: Nodes in contiguous (secondary) and bidirectional (cephalad/caudal) primary nodal basins are coded in CS Lymph Nodes. (Clarification v0204)", - "last_modified" : "2015-05-27T16:19:31.134Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) \nCarcinomatosis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph node(s)", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", "VALUE:M1", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpf.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpf.json deleted file mode 100644 index a4260afe9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpf.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hpf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note**: Supraclavicular and transverse cervical lymph nodes are now coded in CS Lymph Nodes because they are categorized as N rather than M in AJCC TNM.", - "last_modified" : "2015-05-27T16:19:31.187Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s): Mediastinal (excluding superior mediastinal nodes)\n Distant lymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastases except distant lymph node(s) \nCarcinomatosis", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10 \n\nDistant metastasis plus distant lymph node(s)", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "60", "Distant Metastasis, NOS Stated as M1 with no other information on distant metastasis", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpg.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpg.json deleted file mode 100644 index 4a2822f97..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hpg.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hpg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "footnotes" : "- For CS Mets at DX codes 10-60, the M category for AJCC 7 staging is assigned based on the size of largest metastasis, recorded in CS Site-Specific Factor 4, as shown in the Size Metastasis AJCC 7 Table.", - "last_modified" : "2015-05-27T16:19:31.244Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s)", "JUMP:size_metastasis_ajcc7_xpx", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "Distant metastasis except distant lymph node(s) \nCarcinomatosis", "JUMP:size_metastasis_ajcc7_xpx", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "40 + 10\n\nDistant metastasis plus distant lymph node(s)", "JUMP:size_metastasis_ajcc7_xpx", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "52", "Stated as M1a with no other information on distant metastasis", "JUMP:size_metastasis_ajcc7_xpx", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "54", "Stated as M1b with no other information on distant metastasis", "JUMP:size_metastasis_ajcc7_xpx", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "56", "Stated as M1c with no other information on distant metastasis", "JUMP:size_metastasis_ajcc7_xpx", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS\n\nStated as M1 [NOS] with no other information on distant metastasis", "JUMP:size_metastasis_ajcc7_xpx", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hph.json b/src/test/resources/algorithms/cs/02.05.50/tables/mets_hph.json deleted file mode 100644 index bb24686e7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mets_hph.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "mets_hph", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets", - "title" : "CS Mets at DX", - "notes" : "**Note 1**: In-transit metastasis is coded in CS Lymph Nodes.\n\n**Note 2**: Nodes in contiguous (secondary) and bidirectional (cephalad/caudal) primary nodal basins are coded in CS Lymph Nodes. (Clarification V0204)", - "last_modified" : "2015-05-27T16:19:31.300Z", - "definition" : [ { - "key" : "mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - }, { - "key" : "m77", - "name" : "Summary Stage 1977 M", - "type" : "ENDPOINT" - }, { - "key" : "m2000", - "name" : "Summary Stage 2000 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:M0", "VALUE:M0", "VALUE:NONE", "VALUE:NONE" ], [ "10", "Distant lymph node(s)", "VALUE:M1a", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "15", "Metastasis to skin or subcutaneous tissue", "VALUE:M1a", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "20", "Stated as M1a with no other information on distant metastases", "VALUE:M1a", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "30", "Lung", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "35", "30 + (10 or 15) \n\nMetastasis to lung plus distant lymph node(s) or skin or subcutaneous tissue", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "37", "Stated as M1b with no other information on distant metastasis", "VALUE:M1b", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "40", "OBSOLETE DATA RETAINED V0200\nSee code 60\n\nDistant metastasis, NOS\nDistant metastases except distant lymph node(s) (code 10)\nCarcinomatosis", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "45", "Distant metastasis to all other visceral sites except distant lymph node(s), skin or subcutaneous tissue, or lung \nCarcinomatosis", "VALUE:M1c", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "50", "OBSOLETE DATA RETAINED V0200\n\n10 + 40\nDistant lymph node(s) plus other distant metastases", "ERROR:", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "55", "45 + (any of 10, 15, or 30)\n\nMetastasis to other visceral sites plus distant lymph node(s), skin, subcutaneous tissue, or lung", "VALUE:M1c", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "57", "Stated as M1c with no other information on distant metastases", "VALUE:M1c", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "60", "Distant metastasis, NOS \n\nStated as M1 [NOS] with no other information on distant metastasis", "VALUE:M1NOS", "VALUE:M1", "VALUE:D", "VALUE:D" ], [ "99", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", "VALUE:M0", "VALUE:MX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxand_ldh_xbs.json b/src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxand_ldh_xbs.json deleted file mode 100644 index 39136b3e9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxand_ldh_xbs.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "metsat_dxand_ldh_xbs", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets at DX and LDH", - "title" : "Mets at DX and LDH Table", - "notes" : "**Note**: For CS Mets at DX codes 05, 10, 42, 43, 52, 53, 55, 56, and 60, the M category is determined by the status of serum LDH as coded in Cs Siute-Specific Factor 4, as shown in this table.", - "last_modified" : "2015-05-27T16:19:26.899Z", - "definition" : [ { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ssf4", - "name" : "CS SSF 4 LDH", - "type" : "INPUT" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "05", "000", "VALUE:M1a", "VALUE:M1a" ], [ "10", "000", "VALUE:M1a", "VALUE:M1a" ], [ "42", "000", "VALUE:M1a", "VALUE:M1a" ], [ "43", "000", "VALUE:M1b", "VALUE:M1b" ], [ "52", "000", "VALUE:M1a", "VALUE:M1a" ], [ "53", "000", "VALUE:M1b", "VALUE:M1b" ], [ "55", "000", "VALUE:M1a", "VALUE:M1a" ], [ "56", "000", "VALUE:M1b", "VALUE:M1b" ], [ "60", "000", "VALUE:M1NOS", "VALUE:M1NOS" ], [ "05", "002, 004-006,008", "ERROR:", "ERROR:" ], [ "10", "002, 004-006,008", "ERROR:", "ERROR:" ], [ "42", "002, 004-006,008", "ERROR:", "ERROR:" ], [ "43", "002, 004-006,008", "ERROR:", "ERROR:" ], [ "52", "002, 004-006,008", "ERROR:", "ERROR:" ], [ "53", "002, 004-006,008", "ERROR:", "ERROR:" ], [ "55", "002, 004-006,008", "ERROR:", "ERROR:" ], [ "56", "002, 004-006,008", "ERROR:", "ERROR:" ], [ "60", "002, 004-006,008", "ERROR:", "ERROR:" ], [ "05", "010,020,030", "VALUE:M1c", "VALUE:M1c" ], [ "10", "010,020,030", "VALUE:M1c", "VALUE:M1c" ], [ "42", "010,020,030", "VALUE:M1c", "VALUE:M1c" ], [ "43", "010,020,030", "VALUE:M1c", "VALUE:M1c" ], [ "52", "010,020,030", "VALUE:M1c", "VALUE:M1c" ], [ "53", "010,020,030", "VALUE:M1c", "VALUE:M1c" ], [ "55", "010,020,030", "VALUE:M1c", "VALUE:M1c" ], [ "56", "010,020,030", "VALUE:M1c", "VALUE:M1c" ], [ "60", "010,020,030", "VALUE:M1c", "VALUE:M1c" ], [ "05", "988", "ERROR:", "ERROR:" ], [ "10", "988", "ERROR:", "ERROR:" ], [ "42", "988", "ERROR:", "ERROR:" ], [ "43", "988", "ERROR:", "ERROR:" ], [ "52", "988", "ERROR:", "ERROR:" ], [ "53", "988", "ERROR:", "ERROR:" ], [ "55", "988", "ERROR:", "ERROR:" ], [ "56", "988", "ERROR:", "ERROR:" ], [ "60", "988", "ERROR:", "ERROR:" ], [ "05", "997-999", "VALUE:M1a", "VALUE:M1a" ], [ "10", "997-999", "VALUE:M1a", "VALUE:M1a" ], [ "42", "997-999", "VALUE:M1a", "VALUE:M1a" ], [ "43", "997-999", "VALUE:M1b", "VALUE:M1b" ], [ "52", "997-999", "VALUE:M1a", "VALUE:M1a" ], [ "53", "997-999", "VALUE:M1b", "VALUE:M1b" ], [ "55", "997-999", "VALUE:M1a", "VALUE:M1a" ], [ "56", "997-999", "VALUE:M1b", "VALUE:M1b" ], [ "60", "997-999", "VALUE:M1NOS", "VALUE:M1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc6_xck.json b/src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc6_xck.json deleted file mode 100644 index 49802d432..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc6_xck.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "metsat_dxmets_eval_ajcc6_xck", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets at DX Mets Eval AJCC6", - "title" : "Mets at DX Mets Eval AJCC 6 Table", - "notes" : "**Note 1**: For CS Mets at DX codes 00 through 99, when CS Lymph Nodes code is 000, 100, 800, or 999, the M category is assigned based on the value of CS Mets at DX, as shown in this table.\n\n**Note 2**: Not all users of Collaborative Stage collect the evaluation fields. For this schema, if CS Mets Eval is empty or invalid, the M category is calculated as if CS Mets Eval were '9'.", - "last_modified" : "2015-05-27T16:19:26.951Z", - "definition" : [ { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "00", "VALUE:M0" ], [ "1", "00", "VALUE:M0" ], [ "2", "00", "VALUE:M0" ], [ "3", "00", "VALUE:M0" ], [ "5", "00", "VALUE:M0" ], [ "6", "00", "VALUE:M0" ], [ "8", "00", "VALUE:M0" ], [ "9", "00", "VALUE:M0" ], [ "4,7", "00", "VALUE:M0" ], [ "", "00", "VALUE:M0" ], [ "0", "10", "VALUE:M1" ], [ "1", "10", "VALUE:M1" ], [ "2", "10", "VALUE:M1b" ], [ "3", "10", "VALUE:M1b" ], [ "5", "10", "VALUE:M1" ], [ "6", "10", "VALUE:M1b" ], [ "8", "10", "VALUE:M1b" ], [ "9", "10", "VALUE:M1" ], [ "4,7", "10", "VALUE:M1" ], [ "", "10", "VALUE:M1" ], [ "0", "20", "VALUE:M1" ], [ "1", "20", "VALUE:M1" ], [ "2", "20", "VALUE:M1b" ], [ "3", "20", "VALUE:M1b" ], [ "5", "20", "VALUE:M1" ], [ "6", "20", "VALUE:M1b" ], [ "8", "20", "VALUE:M1b" ], [ "9", "20", "VALUE:M1" ], [ "4,7", "20", "VALUE:M1" ], [ "", "20", "VALUE:M1" ], [ "0", "30", "VALUE:M1" ], [ "1", "30", "VALUE:M1" ], [ "2", "30", "VALUE:M1a" ], [ "3", "30", "VALUE:M1a" ], [ "5", "30", "VALUE:M1" ], [ "6", "30", "VALUE:M1a" ], [ "8", "30", "VALUE:M1a" ], [ "9", "30", "VALUE:M1" ], [ "4,7", "30", "VALUE:M1" ], [ "", "30", "VALUE:M1" ], [ "0", "35", "VALUE:M1" ], [ "1", "35", "VALUE:M1" ], [ "2", "35", "VALUE:M1NOS" ], [ "3", "35", "VALUE:M1NOS" ], [ "5", "35", "VALUE:M1" ], [ "6", "35", "VALUE:M1NOS" ], [ "8", "35", "VALUE:M1NOS" ], [ "9", "35", "VALUE:M1" ], [ "4,7", "35", "VALUE:M1" ], [ "", "35", "VALUE:M1" ], [ "0", "40", "ERROR:" ], [ "1", "40", "ERROR:" ], [ "2", "40", "ERROR:" ], [ "3", "40", "ERROR:" ], [ "5", "40", "ERROR:" ], [ "6", "40", "ERROR:" ], [ "8", "40", "ERROR:" ], [ "9", "40", "ERROR:" ], [ "4,7", "40", "ERROR:" ], [ "", "40", "ERROR:" ], [ "0", "45", "VALUE:M1" ], [ "1", "45", "VALUE:M1" ], [ "2", "45", "VALUE:M1b" ], [ "3", "45", "VALUE:M1b" ], [ "5", "45", "VALUE:M1" ], [ "6", "45", "VALUE:M1b" ], [ "8", "45", "VALUE:M1b" ], [ "9", "45", "VALUE:M1" ], [ "4,7", "45", "VALUE:M1" ], [ "", "45", "VALUE:M1" ], [ "0", "50", "VALUE:M1" ], [ "1", "50", "VALUE:M1" ], [ "2", "50", "VALUE:M1b" ], [ "3", "50", "VALUE:M1b" ], [ "5", "50", "VALUE:M1" ], [ "6", "50", "VALUE:M1b" ], [ "8", "50", "VALUE:M1b" ], [ "9", "50", "VALUE:M1" ], [ "4,7", "50", "VALUE:M1" ], [ "", "50", "VALUE:M1" ], [ "0", "55", "ERROR:" ], [ "1", "55", "ERROR:" ], [ "2", "55", "ERROR:" ], [ "3", "55", "ERROR:" ], [ "5", "55", "ERROR:" ], [ "6", "55", "ERROR:" ], [ "8", "55", "ERROR:" ], [ "9", "55", "ERROR:" ], [ "4,7", "55", "ERROR:" ], [ "", "55", "ERROR:" ], [ "0", "60", "VALUE:M1" ], [ "1", "60", "VALUE:M1" ], [ "2", "60", "VALUE:M1b" ], [ "3", "60", "VALUE:M1b" ], [ "5", "60", "VALUE:M1" ], [ "6", "60", "VALUE:M1b" ], [ "8", "60", "VALUE:M1b" ], [ "9", "60", "VALUE:M1" ], [ "4,7", "60", "VALUE:M1" ], [ "", "60", "VALUE:M1" ], [ "0", "65", "VALUE:M1" ], [ "1", "65", "VALUE:M1" ], [ "2", "65", "VALUE:M1b" ], [ "3", "65", "VALUE:M1b" ], [ "5", "65", "VALUE:M1" ], [ "6", "65", "VALUE:M1b" ], [ "8", "65", "VALUE:M1b" ], [ "9", "65", "VALUE:M1" ], [ "4,7", "65", "VALUE:M1" ], [ "", "65", "VALUE:M1" ], [ "0", "70", "VALUE:M1" ], [ "1", "70", "VALUE:M1" ], [ "2", "70", "VALUE:M1b" ], [ "3", "70", "VALUE:M1b" ], [ "5", "70", "VALUE:M1" ], [ "6", "70", "VALUE:M1b" ], [ "8", "70", "VALUE:M1b" ], [ "9", "70", "VALUE:M1" ], [ "4,7", "70", "VALUE:M1" ], [ "", "70", "VALUE:M1" ], [ "0", "75", "VALUE:M1" ], [ "1", "75", "VALUE:M1" ], [ "2", "75", "VALUE:M1b" ], [ "3", "75", "VALUE:M1b" ], [ "5", "75", "VALUE:M1" ], [ "6", "75", "VALUE:M1b" ], [ "8", "75", "VALUE:M1b" ], [ "9", "75", "VALUE:M1" ], [ "4,7", "75", "VALUE:M1" ], [ "", "75", "VALUE:M1" ], [ "0", "80", "VALUE:M1" ], [ "1", "80", "VALUE:M1" ], [ "2", "80", "VALUE:M1NOS" ], [ "3", "80", "VALUE:M1NOS" ], [ "5", "80", "VALUE:M1" ], [ "6", "80", "VALUE:M1NOS" ], [ "8", "80", "VALUE:M1NOS" ], [ "9", "80", "VALUE:M1" ], [ "4,7", "80", "VALUE:M1" ], [ "", "80", "VALUE:M1" ], [ "0", "99", "VALUE:MX" ], [ "1", "99", "VALUE:MX" ], [ "2", "99", "VALUE:MX" ], [ "3", "99", "VALUE:MX" ], [ "5", "99", "VALUE:MX" ], [ "6", "99", "VALUE:MX" ], [ "8", "99", "VALUE:MX" ], [ "9", "99", "VALUE:MX" ], [ "4,7", "99", "VALUE:MX" ], [ "", "99", "VALUE:MX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc7_xfg.json b/src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc7_xfg.json deleted file mode 100644 index c0cae5da5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/metsat_dxmets_eval_ajcc7_xfg.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "metsat_dxmets_eval_ajcc7_xfg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mets at DX Mets Eval AJCC7", - "title" : "Mets at DX Mets Eval AJCC 7 Table", - "notes" : "**Note 1**: For CS Mets at DX code 65 ONLY, the M category is assigned based on the value of CS Mets Eval, as shown in this table.\n\n**Note 2**: Not all users of Collaborative Stage collect the evaluation fields. For this schema, if CS Mets Eval is empty or invalid, the M category is calculated as if CS Mets Eval were '9'.", - "last_modified" : "2015-05-27T16:19:27.007Z", - "definition" : [ { - "key" : "mets_eval", - "name" : "CS Mets Eval", - "type" : "INPUT" - }, { - "key" : "ajcc7_m", - "name" : "M Category", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "VALUE:M1c" ], [ "1", "VALUE:M1c" ], [ "2", "VALUE:M1d" ], [ "3", "VALUE:M1d" ], [ "5", "VALUE:M1c" ], [ "6", "VALUE:M1d" ], [ "8", "VALUE:M1d" ], [ "9", "VALUE:M1c" ], [ "", "VALUE:M1c" ], [ "4,7", "VALUE:M1c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xjm.json b/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xjm.json deleted file mode 100644 index 70d9adab4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xjm.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "mitotic_rate_calculation_xjm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mitotic Rate Calculation", - "title" : "Mitotic Rate Calculation Table", - "notes" : "**Note**: The Mitotic Count recorded in CS Site-Specific Factor 5 is used to determine the Mitotic Rate as shown in this table. The Mitotic Rate from the Mitotic Rate Calculation Table, \"low\" or \"high\", is used in the calculation of the AJCC TNM 7 stage group as shown in the AJCC TNM 7 Stage tables.", - "last_modified" : "2015-05-27T16:19:31.349Z", - "definition" : [ { - "key" : "ssf5", - "name" : "CS SSF 5 Mitotic Count", - "type" : "INPUT" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000-050", "VALUE:Low" ], [ "051-100", "VALUE:High" ], [ "110", "VALUE:High" ], [ "888", "ERROR:" ], [ "988", "VALUE:Low" ], [ "990", "VALUE:Low" ], [ "991", "VALUE:High" ], [ "995", "ERROR:" ], [ "996", "VALUE:Unknown" ], [ "998", "VALUE:Unknown" ], [ "999", "VALUE:Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xpi.json b/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xpi.json deleted file mode 100644 index 6bdd83d0b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xpi.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "mitotic_rate_calculation_xpi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mitotic Rate Calculation", - "title" : "Mitotic Rate Calculation Table", - "notes" : "**Note**: The mitotic count recorded in CS Site-Specific Factor 11 is used to determine the mitotic rate as shown in this table. The mitotic rate from the Mitotic Rate Calculation Table, \"low\" or \"high\", is used in the calculation of the AJCC TNM 7 stage group as shown in the AJCC TNM 7 Stage tables.", - "last_modified" : "2015-05-27T16:19:31.397Z", - "definition" : [ { - "key" : "ssf11", - "name" : "CS SSF 11 Mitotic Count", - "type" : "INPUT" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000-050", "VALUE:Low" ], [ "051-100", "VALUE:High" ], [ "110", "VALUE:High" ], [ "988", "VALUE:Low" ], [ "990", "VALUE:Low" ], [ "991", "VALUE:High" ], [ "995", "ERROR:" ], [ "996", "VALUE:Unknown" ], [ "998", "VALUE:Unknown" ], [ "999", "VALUE:Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xqe.json b/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xqe.json deleted file mode 100644 index b28be9e91..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_calculation_xqe.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "mitotic_rate_calculation_xqe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mitotic Rate Calculation", - "title" : "Mitotic Rate Calculation Table", - "notes" : "**Note**: The mitotic count recorded in CS Site-Specific Factor 6 is used to determine the Mitotic Rate as shown in this table. The mitotic rate from the Mitotic Rate Calculation Table, \"low\" or \"high\", is used in the calculation of the AJCC TNM 7 stage group as shown in the AJCC TNM 7 Stage tables.", - "last_modified" : "2015-05-27T16:19:31.448Z", - "definition" : [ { - "key" : "ssf6", - "name" : "CS SSF 6 Mitotic Count", - "type" : "INPUT" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000-050", "VALUE:Low" ], [ "051-100", "VALUE:High" ], [ "110", "VALUE:High" ], [ "888", "ERROR:" ], [ "988", "VALUE:Low" ], [ "990", "VALUE:Low" ], [ "991", "VALUE:High" ], [ "995", "ERROR:" ], [ "996", "VALUE:Unknown" ], [ "998", "VALUE:Unknown" ], [ "999", "VALUE:Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_ulceration_t1_ajcc7_xgo.json b/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_ulceration_t1_ajcc7_xgo.json deleted file mode 100644 index 73cf06e54..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/mitotic_rate_ulceration_t1_ajcc7_xgo.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "mitotic_rate_ulceration_t1_ajcc7_xgo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Mitotic Rate Ulceration T1 AJCC7", - "title" : "Mitotic Rate Ulceration T1 AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100 - 800 and 999 ONLY, and thickness 001 to 100 (0.01 to1.00 millimeter) coded in CS Site-Specific Factor 1, the value of the T1 category for AJCC 7 staging is assigned based on the values of ulceration from CS Site-Specific Factor 2 and mitotic rate from CS Site-Specific Factor 7.", - "last_modified" : "2015-05-27T16:19:31.500Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2 Ulceration", - "type" : "INPUT" - }, { - "key" : "ssf7", - "name" : "CS SSF 7 Mitotic Rate", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100,200,300,310,315,320,330,335,340,350,355,360,370,375,380,400,500,800,950,999", "001", "000,990", "ERROR:" ], [ "100,200,300,310,315,320,330,335,340,350,355,360,370,375,380,400,500,800,950,999", "988", "000,990", "ERROR:" ], [ "100,200, 400, 800,950,999", "000", "000,990", "VALUE:T1a" ], [ "100,200, 400, 800,950,999", "010", "000,990", "VALUE:T1b" ], [ "100,200, 400, 800,950,999", "999", "000,990", "VALUE:T1NOS" ], [ "300, 500", "000", "000,990", "VALUE:T1a" ], [ "300, 500", "010", "000,990", "VALUE:T1b" ], [ "300, 500", "999", "000,990", "VALUE:T1NOS" ], [ "310", "000", "000,990", "VALUE:T1a" ], [ "310", "010", "000,990", "VALUE:T1b" ], [ "310", "999", "000,990", "VALUE:T1NOS" ], [ "315", "000", "000,990", "VALUE:T1b" ], [ "315", "010", "000,990", "VALUE:T1b" ], [ "315", "999", "000,990", "VALUE:T1NOS" ], [ "320", "000", "000,990", "VALUE:T1a" ], [ "320", "010", "000,990", "VALUE:T1b" ], [ "320", "999", "000,990", "VALUE:T1NOS" ], [ "330,335,340,350,355,360,370,375,380", "000", "000,990", "VALUE:T1NOS" ], [ "330,335,340,350,355,360,370,375,380", "010", "000,990", "VALUE:T1NOS" ], [ "330,335,340,350,355,360,370,375,380", "999", "000,990", "VALUE:T1NOS" ], [ "100,200,300,310,315,320,330,335,340,350,355,360,370,375,380,400,500,800,950,999", "001", "001-011,991", "ERROR:" ], [ "100,200,300,310,315,320,330,335,340,350,355,360,370,375,380,400,500,800,950,999", "988", "001-011,991", "ERROR:" ], [ "100,200, 400, 800,950,999", "000", "001-011,991", "VALUE:T1b" ], [ "100,200, 400, 800,950,999", "010", "001-011,991", "VALUE:T1b" ], [ "100,200, 400, 800,950,999", "999", "001-011,991", "VALUE:T1b" ], [ "300, 500", "000", "001-011,991", "VALUE:T1b" ], [ "300, 500", "010", "001-011,991", "VALUE:T1b" ], [ "300, 500", "999", "001-011,991", "VALUE:T1b" ], [ "310", "000", "001-011,991", "VALUE:T1b" ], [ "310", "010", "001-011,991", "VALUE:T1b" ], [ "310", "999", "001-011,991", "VALUE:T1b" ], [ "315", "000", "001-011,991", "VALUE:T1b" ], [ "315", "010", "001-011,991", "VALUE:T1b" ], [ "315", "999", "001-011,991", "VALUE:T1b" ], [ "320", "000", "001-011,991", "VALUE:T1b" ], [ "320", "010", "001-011,991", "VALUE:T1b" ], [ "320", "999", "001-011,991", "VALUE:T1b" ], [ "330,335,340,350,355,360,370,375,380", "000", "001-011,991", "VALUE:T1NOS" ], [ "330,335,340,350,355,360,370,375,380", "010", "001-011,991", "VALUE:T1NOS" ], [ "330,335,340,350,355,360,370,375,380", "999", "001-011,991", "VALUE:T1NOS" ], [ "100,200,300,310,315,320,330,335,340,350,355,360,370,375,380,400,500,800,950,999", "001", "988", "ERROR:" ], [ "100,200,300,310,315,320,330,335,340,350,355,360,370,375,380,400,500,800,950,999", "988", "988", "ERROR:" ], [ "100,200, 400, 800,950,999", "000", "988", "ERROR:" ], [ "100,200, 400, 800,950,999", "010", "988", "ERROR:" ], [ "100,200, 400, 800,950,999", "999", "988", "ERROR:" ], [ "300, 500", "000", "988", "ERROR:" ], [ "300, 500", "010", "988", "ERROR:" ], [ "300, 500", "999", "988", "ERROR:" ], [ "310", "000", "988", "ERROR:" ], [ "310", "010", "988", "ERROR:" ], [ "310", "999", "988", "ERROR:" ], [ "315", "000", "988", "ERROR:" ], [ "315", "010", "988", "ERROR:" ], [ "315", "999", "988", "ERROR:" ], [ "320", "000", "988", "ERROR:" ], [ "320", "010", "988", "ERROR:" ], [ "320", "999", "988", "ERROR:" ], [ "330,335,340,350,355,360,370,375,380", "000", "988", "ERROR:" ], [ "330,335,340,350,355,360,370,375,380", "010", "988", "ERROR:" ], [ "330,335,340,350,355,360,370,375,380", "999", "988", "ERROR:" ], [ "100,200,300,310,315,320,330,335,340,350,355,360,370,375,380,400,500,800,950,999", "001", "996-999", "ERROR:" ], [ "100,200,300,310,315,320,330,335,340,350,355,360,370,375,380,400,500,800,950,999", "988", "996-999", "ERROR:" ], [ "100,200, 400, 800,950,999", "000", "996-999", "VALUE:T1NOS" ], [ "100,200, 400, 800,950,999", "010", "996-999", "VALUE:T1b" ], [ "100,200, 400, 800,950,999", "999", "996-999", "VALUE:T1NOS" ], [ "300, 500", "000", "996-999", "VALUE:T1b" ], [ "300, 500", "010", "996-999", "VALUE:T1b" ], [ "300, 500", "999", "996-999", "VALUE:T1b" ], [ "310", "000", "996-999", "VALUE:T1a" ], [ "310", "010", "996-999", "VALUE:T1b" ], [ "310", "999", "996-999", "VALUE:T1b" ], [ "315", "000", "996-999", "VALUE:T1b" ], [ "315", "010", "996-999", "VALUE:T1b" ], [ "315", "999", "996-999", "VALUE:T1b" ], [ "320", "000", "996-999", "VALUE:T1NOS" ], [ "320", "010", "996-999", "VALUE:T1b" ], [ "320", "999", "996-999", "VALUE:T1NOS" ], [ "330,335,340,350,355,360,370,375,380", "000", "996-999", "VALUE:T1NOS" ], [ "330,335,340,350,355,360,370,375,380", "010", "996-999", "VALUE:T1NOS" ], [ "330,335,340,350,355,360,370,375,380", "999", "996-999", "VALUE:T1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daa.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daa.json deleted file mode 100644 index 3a3c5eb4d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daa.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_daa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage)is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.", - "footnotes" : "- For CSLymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site Specific Factor 1, Size of Lymph Nodes, using the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site Specific Factor 1, Size of Lymph Nodes, using the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:31.565Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental \n Level IB - Submandibular (submaxillary), sublingual\n Other groups: \n Mandibular\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node:\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see note 4) \n Level VI node - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII node - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Nasolabial\n Parapharyngeal\n Retroauricular\n Retropharyngeal \n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral node(s) listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral node(s) listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral node(s) listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110\nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive node(s) listed in code 100, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", "Positive node(s) listed in code 110, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", "Positive node(s) listed in code 120, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dab.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dab.json deleted file mode 100644 index 84a7de606..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dab.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Use codes for anal canal unless tumor is stated to occur at the anus, arising just proximal to the squamous mucocutaneous junction or the anal verge.\n\n**Note 3**: For codes 400 and 405, the combination of unilateral internal iliac nodes and unilateral inguinal nodes must be on the same side. Use code 530 for bilateral combinations of internal iliac nodes and inguinal nodes.\n\n**Note 4**: Use codes for internal iliac nodes for combinations of perirectal and internal iliac nodes. Use codes 415, 425, and 440 for combinations of perirectal and superficial inguinal nodes.", - "last_modified" : "2015-05-27T16:19:31.615Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 120, 130, and 140\n\nUnilateral and bilateral:\nFor all subsites:\n Anorectal\n Inferior hemorrhoidal\n Lateral sacral (laterosacral)\n Perirectal\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "110", "For anal canal:\n Unilateral or bilateral:\n Anorectal\n Inferior hemorrhoidal\n Lateral sacral (laterosacral)\n Perirectal", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "120", "For anus:\n Unilateral or bilateral:\n Anorectal\n Inferior hemorrhoidal\n Perirectal", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "130", "For anus:\n Unilateral or bilateral:\n Lateral sacral (laterosacral)", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "140", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "For anal canal:\n Unilateral:\n Internal iliac (hypogastric):\n Obturator", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA CONVERTED V0203\nSee code 330\n\nUnilateral:\n For anus:\n Internal iliac (hypogastric):\n Obturator", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "300", "For anal canal:\n Unilateral:\n Superficial inguinal (femoral))", "VALUE:N2", "VALUE:N2", "VALUE:D", "VALUE:RN" ], [ "310", "For anus:\n Unilateral:\n Superficial inguinal (femoral)", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "330", "For anus:\n Unilateral:\n Internal iliac (hypogastric):\n Obturator", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "350", "Stated as N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "400", "300 + 200\n\nFor anal canal:\n Nodes in 300 plus nodes in 200", "VALUE:N2", "VALUE:N2", "VALUE:D", "VALUE:RN" ], [ "405", "330 + 310\n\nFor anus:\n Nodes in 330 plus nodes in 310", "VALUE:N2", "VALUE:N2", "VALUE:D", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 415\n\n100 + 300", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:RN" ], [ "415", "300 + 110\n\nFor anal canal:\n Nodes in 300 plus nodes in 110", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 425, 440\n\n100 + 310", "VALUE:N3", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "425", "310 + 120\n\nFor anus:\n Nodes in 310 plus nodes in 120", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:RN" ], [ "440", "310 + 130\n\nFor anus:\n Nodes in 310 plus nodes in 130", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:RN" ], [ "470", "For anal canal:\n Bilateral:\n Internal iliac (hypogastric):\n Obturator", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:RN" ], [ "490", "For anus:\n Bilateral:\n Superficial inguinal (femoral)", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 470, 515\n\nBilateral:\nFor anal canal:\n Internal iliac (hypogastric)\n Obturator\n Superficial inguinal (femoral)", "VALUE:N3", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 490, 520\n\nBilateral:\nFor anus:\n Internal iliac (hypogastric)\n Obturator\n Superficial inguinal (femoral)", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:RN" ], [ "515", "For anal canal:\n Bilateral:\n Superficial inguinal (femoral)", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:RN" ], [ "520", "For anus:\n Bilateral:\n Internal iliac (hypogastric)\n Obturator", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:RN" ], [ "530", "For all subsites:\n Bilateral:\n Internal iliac (hypogastric):\n Obturator\n AND\n Superficial inguinal (femoral)", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:D" ], [ "550", "Stated as N3 with no other information on regional lymph nodes", "VALUE:N3", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "600", "Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dad.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dad.json deleted file mode 100644 index b46479dab..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dad.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dad", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Facial nodes including mandibular nodes have been moved from code 100 in CS Version 1 to code 110.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodesas shown in the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodesas shown in the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:31.670Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual \n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular: \n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node \n Cervical , NOS\n Deep cervical, NOS\n Internal jugular, NOS \n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node: \n Facial :\n Buccinator (buccal)\n Mandibular\n Nasolabial", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level V - Posterior triangle group :\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal \n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Retropharyngeal \n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral nodes listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral nodes listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral nodes listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive nodes listed in code 100, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", "Positive nodes listed in code 110, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", " Positive nodes listed in code 120, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dah.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dah.json deleted file mode 100644 index 109cb0b53..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dah.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dah", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Level IA nodes have been moved from code 100 in CS Version 1 to code 110.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:31.727Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I: \n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical \n Level IIA - Anterior\n Level IIB - Posterior \n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical \n Virchow node\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node, NOS\n", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node: \n Level IA - Submental", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory \n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch \n Parapharyngeal \n Retropharyngeal\n Retroauricular (mastoid)\n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral nodes listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral nodes listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral nodes listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", " Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive nodes listed in code 100, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", " Positive nodes listed in code 110, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", " Positive nodes listed in code 120, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dai.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dai.json deleted file mode 100644 index 8f035f40d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dai.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dai", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX. \n\n**Note 2**: If at mediastinoscopy/x-ray, the description is \"mass\", \"adenopathy\", or \"enlargement\" of any of the lymph nodes named as regional in codes 100 and 200, assume that at least regional lymph nodes are involved. If there is any mention of bilateral or contralateral mass, adenopathy or lymph node involvement , use code 600.\n\n**Note 3**: The words \"no evidence of spread\" or \"remaining examination negative\" are sufficient information to consider regional lymph nodes negative in the absence of any statement about nodes.\n\n**Note 4**: Vocal cord paralysis (resulting from involvement of the recurrent branch of the vagus nerve), superior vena cava (SVC) obstruction, or compression of the trachea or the esophagus, may be related to direct extension of the primary tumor or to lymph node involvement. The treatment options and prognosis associated with these manifestations of disease extent fall within the T4-Stage IIIB category; therefore, generally use CS Extension code 700 for these manifestations and not CS Lymph Nodes . However, if the primary tumor is peripheral and clearly unrelated to vocal cord paralysis, SVC obstruction, or compression of the trachea or the esophagus, code these manifestations as mediastinal lymph node involvement (code 200) in CS Lymph Nodes, unless there is a statement of involvement by direct extension from the primary tumor.", - "last_modified" : "2015-05-27T16:19:31.792Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes, ipsilateral:\n Bronchial\n Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n Intrapulmonary nodes, including involvement by \n direct extension:\n Interlobar\n Lobar\n Segmental\n Subsegmental\nPeri/parabronchial \n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "Regional lymph nodes, ipsilateral:\n Aortic (above diaphragm), NOS:\n Peri/para-aortic, NOS:\n Ascending aorta (phrenic)\n Subaortic (aortico-pulmonary window)\n Carinal (tracheobronchial) (tracheal bifurcation)\n Mediastinal, NOS:\n Anterior\n Posterior (tracheoesophageal)\n Pericardial\n Peri/paraesophageal\n Peri/paratracheal, NOS:\n Azygos (lower peritracheal)\n Pre- and retrotracheal, NOS:\n Precarinal\n Pulmonary ligament\n Subcarinal \n\n Stated as N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "500", "Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "600", "Contralateral/bilateral hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\nContralateral/bilateral mediastinal \nScalene (inferior deep cervical), ipsilateral or contralateral\nSupraclavicular (transverse cervical), ipsilateral or contralateral\n\nStated as N3 with no other information on regional lymph nodes", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:D" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daj.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daj.json deleted file mode 100644 index 520e60022..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daj.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_daj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes such as cervical (excluding supraclavicular) or contralateral axillary are coded in CS Mets at DX.\n\n**Note 2**: Micrometastases are defined as tumor deposits greater than 0.2 millimeter (mm) but not greater than 2.0 mm in largest dimension. Macrometastases are tumor deposits greater than 2.0 mm. All nodes with at least micrometastases are included in the count of positive lymph nodes, but at least one node must contain a macrometastasis for assignment of a pathologic N category greater than pN1mi.\n\n**Note 3**: If the pathology report indicates that nodes are positive but size of the metastases is not stated, assume the metastases are greater than 0.2 mm and code the lymph nodes as positive in this field. Use code 600 in the absence of other information about regional nodes.\n\n**Note 4**: In a physical exam if palpable nodes are not described as fixed or matted, assume that nodes are movable.\n\n**Note 5**: Codes 130-600 refer to level I and level II ipsilateral axillary lymph nodes and ipsilateral intramammary nodes only. Ipsilateral level III axillary lymph nodes, which are also known as infraclavicular or apical nodes, are coded 750 or higher. Axillary lymph nodes do not include internal mammary or ipsilateral supraclavicular lymph nodes.\n\n**Note 6**: For the breast schema, the choice of the N category is dependent on the CS Lymph Nodes Eval field. There are certain CS Lymph Nodes codes that can only be used if the nodes are evaluated clinically (CS Lymph Nodes Eval is coded 0, 1, 5, or 9), which will be designated as \"Evaluated clinically:\" at the beginning of the code description. Similarly, there are certain CS Lymph Nodes codes that can only be used if the nodes are evaluated pathologically (CS Lymph Nodes Eval is coded 2, 3, 6, or 8), and these will be designated as \"Evaluated pathologically:\". All other codes can be used for clinical or pathologic evaluation.\n\n**Note 7**: Isolated tumor cells (ITC) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected only by immunohistochemical (IHC) or molecular methods but which may be verified on hematoxylin and eosin (H and E) stains. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). Lymph nodes with ITCs only are not considered positive lymph nodes. If the record only states N0(i+), code to 000 and see CS Site-Specific Factor 4.", - "footnotes" : "- For CS Lymph Nodes code 000 ONLY, the N category is assigned based on the coding of CS Site-Specific Factors 4 and 5 using the IHC MOL Table for this schema.\n- For CS Lymph Nodes codes 250, 258, 260, 510, 520, 600, 610, 620, 630, 720, and 748 ONLY, the N category is assigned based on the values of CS Lymph Nodes Eval and CS Site-Specific Factor 3 (Number of Positive Ipsilateral Axillary Lymph Nodes). If the CS Lymph Nodes Eval code is 2 (p), 3 (p), 6 (yp), or 8 (a), the N category is determined by reference to the Lymph Nodes Pathologic Evaluation Table. If the CS Lymph Nodes Eval code is 0 (c), 1(c), 5(c), or 9 (c), the N category is determined by reference to the Lymph Nodes Clinical Evaluation Table. If the CS Lymph Nodes Eval field is not coded, the N category is determined by reference to the Lymph Nodes Positive Axillary Node Table.\n- For CS Lymph Nodes code 000 ONLY, the N category is assigned based on the coding of CS Site-Specific Factors 4 and 5 using the IHC MOL Table for this schema.\n- For CS Lymph Nodes codes 250,258, 260, 280, 500, 510, 520, 600, 610, 620, 630, 720, and 748 ONLY, the N category is assigned based on the values of CS Lymph Nodes Eval and CS Site-Specific Factor 3 (Number of Positive Ipsilateral Axillary Lymph Nodes). If the CS Lymph Nodes Eval code is 2 (p), 3 (p), 6 (yp), or 8 (a), the N category is determined by reference to the Lymph Nodes Pathologic Evaluation Table. If the CS Lymph Nodes Eval code is 0 (c), 1(c), 5(c), or 9 (c), the N category is determined by reference to the Lymph Nodes Clinical Evaluation Table. If the CS Lymph Nodes Eval field is not coded, the N category is determined by reference to the Lymph Nodes Positive Axillary Node Table.", - "last_modified" : "2015-05-27T16:19:31.857Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement \nOR isolated tumor cells (ITCs) detected by immunohistochemistry/immunohistochemical (IHC) methods or molecular methods ONLY. \n(See Note 7 and CS Site-Specific Factors 4 and 5)", "JUMP:ihcmol_xcc", "JUMP:ihcmol_xcc", "VALUE:NONE", "VALUE:NONE" ], [ "050", "Evaluated pathologically:\n\nNone; no regional lymph node involvement \nBUT ITCs detected on routine hematoxylin and eosin (H and E) stains. \n(See Note 7)", "VALUE:N0(i+)", "VALUE:N0(i+)", "VALUE:NONE", "VALUE:NONE" ], [ "130", "Evaluated pathologically:\n\nAxillary lymph node(s), ipsilateral, micrometastasis ONLY detected by IHC ONLY \n(At least one micrometastasis greater than 0.2 mm or more than 200 cells \nAND all micrometastases less than or equal to 2 mm)", "VALUE:N1mi", "VALUE:N1mi", "VALUE:RN", "VALUE:RN" ], [ "150", "Evaluated pathologically:\n\nAxillary lymph node(s), ipsilateral, micrometastasis ONLY detected or verified on H&E \n(At least one micrometastasis greater than 0.2 mm or more than 200 cells \nAND all micrometastases less than or equal to 2 mm)\n\nMicrometastasis, NOS", "VALUE:N1mi", "VALUE:N1mi", "VALUE:RN", "VALUE:RN" ], [ "155", "Evaluated pathologically:\n\nStated as N1mi with no other information on regional lymph nodes", "VALUE:N1mi", "VALUE:N1mi", "VALUE:RN", "VALUE:RN" ], [ "250", "Evaluated pathologically:\n\nMovable axillary lymph node(s), ipsilateral, positive with more than micrometastasis \n(At least one metastasis greater than 2 mm) \n(See Note 4)", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "VALUE:RN", "VALUE:RN" ], [ "255", "Evaluated clinically:\n\nClinically movable axillary lymph node(s), ipsilateral, positive \n(Clinical assessment because of neoadjuvant therapy or no pathology) \n(See Note 4)", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "257", "Evaluated clinically:\n\nClinically stated only as N1 \n(Clinical assessment because of neoadjuvant therapy or no pathology)", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "258", "Evaluated pathologically:\n\nPathologically stated only as N1 [NOS], no information on which nodes were involved ", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "VALUE:RN", "VALUE:RN" ], [ "260", "Stated as N1 [NOS] with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "VALUE:RN", "VALUE:RN" ], [ "280", "OBSOLETE DATA RETAINED V0104\n\nStated as N2, NOS", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "VALUE:RN", "VALUE:RN" ], [ "290", "OBSOLETE DATA CONVERTED V0203\nSee code 610\n\nClinically stated only as N2, NOS (clinical assessment because of neoadjuvant therapy or no pathology)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "300", "OBSOLETE DATA CONVERTED V0203\nSee code 620\n\nPathologically stated only as N2 NOS; no information on which nodes were involved", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "500", "OBSOLETE DATA RETAINED V0104\n\nFixed/matted ipsilateral axillary nodes, positive with more than micrometastasis (i.e., at least one metastasis greater than 2 mm)\n\nFixed/matted ipsilateral axillary nodes, NOS", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "VALUE:RN", "VALUE:RN" ], [ "510", "Evaluated clinically:\n\nFixed/matted ipsilateral axillary nodes clinically \n(Clinical assessment because of neoadjuvant therapy or no pathology)\n\nStated clinically as N2a (Clinical assessment because of neoadjuvant therapy or no pathology)", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "VALUE:RN", "VALUE:RN" ], [ "520", "Evaluated pathologically:\n\nFixed/matted ipsilateral axillary nodes clinically with pathologic involvement of lymph nodes\nWITH at least one metastasis greater than 2 mm", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "VALUE:RN", "VALUE:RN" ], [ "600", "Axillary/regional lymph node(s), NOS\nLymph nodes, NOS", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "VALUE:RN", "VALUE:RN" ], [ "610", "Evaluated clinically:\n\nClinically stated only as N2 [NOS] \n(Clinical assessment because of neoadjuvant therapy or no pathology)", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "VALUE:RN", "VALUE:RN" ], [ "620", "Evaluated pathologically:\n\nPathologically stated only as N2 [NOS]; no information on which nodes were involved", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "VALUE:RN", "VALUE:RN" ], [ "630", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "VALUE:RN", "VALUE:RN" ], [ "710", "Evaluated pathologically:\n\nInternal mammary node(s), ipsilateral, positive on sentinel nodes but not clinically apparent \n(No positive imaging or clinical exam)\nWITHOUT axillary lymph node(s), ipsilateral", "VALUE:N1b", "VALUE:N1b", "VALUE:RN", "VALUE:RN" ], [ "720", "Evaluated pathologically:\n\nInternal mammary node(s), ipsilateral, positive on sentinel nodes but not clinically apparent \n(No positive imaging or clinical exam)\nWITH axillary lymph node(s), ipsilateral", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "VALUE:RN", "VALUE:RN" ], [ "730", "Evaluated pathologically:\n\nInternal mammary node(s), ipsilateral, positive on sentinel nodes but not clinically apparent \n(No positive imaging or clinical exam)\nUNKNOWN if positive axillary lymph node(s), ipsilateral", "VALUE:N1b", "VALUE:N1b", "VALUE:RN", "VALUE:RN" ], [ "735", "Evaluated clinically:\n\nInternal mammary node(s), ipsilateral, positive on sentinel nodes but primary not resected\nWITHOUT axillary lymph node(s), ipsilateral OR UNKNOWN if positive axillary lymph node(s),", "VALUE:N2b", "VALUE:N2b", "VALUE:RN", "VALUE:RN" ], [ "740", "Internal mammary node(s), ipsilateral, clinically apparent \n(On imaging or clinical exam)\nWITHOUT axillary lymph node(s), ipsilateral", "VALUE:N2b", "VALUE:N2b", "VALUE:RN", "VALUE:RN" ], [ "745", "Internal mammary node(s), ipsilateral, clinically apparent \n(On imaging or clinical exam) \nUNKNOWN if positive axillary lymph node(s), ipsilateral", "VALUE:N2b", "VALUE:N2b", "VALUE:RN", "VALUE:RN" ], [ "748", "Stated as N2b with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "JUMP:determine_correct_table_for_ajcc6_n_ns9", "VALUE:RN", "VALUE:RN" ], [ "750", "Infraclavicular lymph node(s)(subclavicular) (level III axillary nodes) (apical), ipsilateral\nWITH or WITHOUT axillary nodes(s)\nWITHOUT internal mammary node(s)", "VALUE:N3a", "VALUE:N3a", "VALUE:D", "VALUE:RN" ], [ "755", "Stated as N3a with no other information on regional lymph nodes", "VALUE:N3a", "VALUE:N3a", "VALUE:D", "VALUE:RN" ], [ "760", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 763 and765\n\nInternal mammary node(s), ipsilateral, clinically apparent (on imaging or clinical exam)\nWITH axillary lymph node(s), ipsilateral, codes 150 to 600\nWITH or WITHOUT infraclavicular (level III axillary nodes) (apical) lymph nodes", "VALUE:N3b", "VALUE:N3b", "VALUE:RN", "VALUE:RN" ], [ "763", "Internal mammary node(s), ipsilateral, clinically apparent \n(On imaging or clinical exam)\nWITH axillary lymph node(s), ipsilateral, codes 150 to 600\nWITHOUT infraclavicular (level III axillary nodes) (apical) lymph nodes or unknown if infraclavicular (level III axillary nodes) (apical) lymph nodes involved", "VALUE:N3b", "VALUE:N3b", "VALUE:RN", "VALUE:RN" ], [ "764", "Internal mammary node(s), ipsilateral, clinically apparent \n(On imaging or clinical exam)\nWITHOUT axillary lymph node(s), ipsilateral\nWITH infraclavicular (level III axillary nodes) (apical) lymph nodes involved", "VALUE:N3b", "VALUE:N3b", "VALUE:D", "VALUE:RN" ], [ "765", "Internal mammary node(s), ipsilateral, clinically apparent \n(On imaging or clinical exam)\nWITH axillary lymph node(s), ipsilateral\nWITH infraclavicular (level III axillary nodes) (apical) lymph nodes involved\n", "VALUE:N3b", "VALUE:N3b", "VALUE:D", "VALUE:RN" ], [ "768", "Stated as N3b with no other information on regional lymph nodes", "VALUE:N3b", "VALUE:N3b", "VALUE:RN", "VALUE:RN" ], [ "770", "OBSOLETE DATA RETAINED V0200 \n\nInternal mammary node(s), ipsilateral, clinically apparent (on imaging or clinical exam)\nUNKNOWN if positive axillary lymph node(s), ipsilateral", "ERROR:", "VALUE:N2b", "VALUE:RN", "VALUE:RN" ], [ "780", "OBSOLETE DATA RETAINED V0200 \n\n(750) + (770)", "ERROR:", "VALUE:N3a", "VALUE:D", "VALUE:RN" ], [ "790", "OBSOLETE DATA CONVERTED V0203\nSee code 820\n\nStated as N3, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "800", "Supraclavicular node(s), ipsilateral", "VALUE:N3c", "VALUE:N3c", "VALUE:D", "VALUE:D" ], [ "805", "Stated as N3c with no other information on regional lymph nodes", "VALUE:N3c", "VALUE:N3c", "VALUE:D", "VALUE:D" ], [ "810", "Evaluated clinically:\n\nClinically stated only as N3 [NOS] \n(Clinical assessment because of neoadjuvant therapy or no pathology)", "VALUE:N3NOS", "VALUE:N3NOS", "VALUE:RN", "VALUE:RN" ], [ "815", "Evaluated pathologically:\n\nPathologically stated only as N3 [NOS]; no information on which nodes were involved", "VALUE:N3NOS", "VALUE:N3NOS", "VALUE:RN", "VALUE:RN" ], [ "820", "Stated as N3, NOS with no other information on regional lymph nodes", "VALUE:N3NOS", "VALUE:N3NOS", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dak.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dak.json deleted file mode 100644 index b809e1839..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dak.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dak", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Metastatic nodules in the fat adjacent to a gastric carcinoma, without evidence of residual lymph node tissue, are considered regional node metastases, but nodules implanted on peritoneal surfaces are considered distant metastases.\n\n**Note 3**: Hepatoduodenal nodes are regional for primaries of the lesser curvature of the stomach. They are coded in CS Mets at DX for all other subsites in this schema.\n\n**Note 4**: The number of positive regional nodes is required to calculate the correct N category for this schema. Use codes 610-750 when the pathology report assigns an N1, N2, or N3 category but does not specify the number of nodes involved, or the record identifies an N1, N2, or N3 category but the specific information about number of nodes involved is not available. Use codes 110-500 when information about the number of positive nodes is available, or when nodes are clinically positive but not removed for examination.", - "footnotes" : "- For CS Lymph Nodes codes 100-500, when CS Lymph Nodes Eval is 1or 9 and CS Coding System Original is before CS v02.05, the N category is assigned from the Lymph Nodes Clinical Eval Prior to V02.05 7th Table using Regional Nodes Positive and CS Site-Specific Factor 1. When CS Lymph Nodes Eval = 0, 5 OR (CS Lymph Nodes Eval is 1,9 and CS Coding System Original is at least V02.05), the N category is assigned from Lymph Nodes Clinical Eval V02.05 AJCC 7 Table using CS Site-Specific Factor 1. When CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded, the N category is determined from the Lymph Nodes Pathologic Evaluation AJCC 7 Table Also Used When CS Reg Nodes Eval Is Not Coded using Regional Nodes Positive.\n- For CS Lymph Nodes codes 100-500, when CS Lymph Nodes Eval is 0, 1, 5 or 9, the N category is assigned from the Lymph Nodes Clinical Evaluation AJCC 6 Table using Regional Nodes Positive and CS Site-Specific Factor 1; when CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded, the N category is determined from the Lymph Nodes Pathologic Evaluation AJCC 6 Table Also Used When CS Reg Nodes Eval Is Not Coded using Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:31.923Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 000, 110, CS Mets at DX codes 10, 50\n\nRegional lymph nodes:\n Left gastric (superior gastric), NOS:\n Cardial\n Cardioesophageal\n Gastric, left\n Gastropancreatic, left\n Lesser curvature\n Lesser omental\n Paracardial\n Pancreaticosplenic (pancreaticolienal)\n Pancreatoduodenal\n Perigastric, NOS\n Peripancreatic\n Right gastric (inferior gastric), NOS:\n Gastrocolic\n Gastroduodenal\n Gastroepiploic (gastro-omental), right or NOS\n Gastrohepatic\n Greater curvature\n Greater omental\n Pyloric, NOS\n Infrapyloric (subpyloric)\n Suprapyloric\n Splenic (lienal), NOS:\n Gastroepiploic (gastro-omental), left\n Splenic hilar\n Superior mesenteric \n Nodule(s) in perigastric fat", "JUMP:determine_correct_table_for_ajcc7_n_ns27", "JUMP:determine_correct_table_for_ajcc6_n_ns26", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph nodes:\n Left gastric (superior gastric), NOS:\n Cardial\n Cardioesophageal\n Gastric, left\n Gastropancreatic, left\n Lesser curvature\n Lesser omental\n Paracardial\n Pancreaticosplenic (pancreaticolienal)\n Pancreaticoduodenal\n Perigastric, NOS\n Peripancreatic\n Right gastric (inferior gastric), NOS:\n Gastrocolic\n Gastroduodenal\n Gastroepiploic (gastro-omental), right or NOS\n Gastrohepatic\n Greater curvature\n Greater omental\n Pyloric, NOS\n Infrapyloric (subpyloric)\n Suprapyloric\n Splenic (lienal), NOS:\n Gastroepiploic (gastro-omental), left\n Splenic hilar\n Nodule(s) in perigastric fat", "JUMP:determine_correct_table_for_ajcc7_n_ns27", "JUMP:determine_correct_table_for_ajcc6_n_ns26", "VALUE:RN", "VALUE:RN" ], [ "400", "Celiac\nHepatic [excluding gastrohepatic (see code 110), and hepatoduodenal (see code 420)]", "JUMP:determine_correct_table_for_ajcc7_n_ns27", "JUMP:determine_correct_table_for_ajcc6_n_ns26", "VALUE:D", "VALUE:RN" ], [ "420", "For lesser curvature:\n Hepatoduodenal", "JUMP:determine_correct_table_for_ajcc7_n_ns27", "JUMP:determine_correct_table_for_ajcc6_n_ns26", "VALUE:D", "VALUE:D" ], [ "500", "Regional lymph node(s), NOS", "JUMP:determine_correct_table_for_ajcc7_n_ns27", "JUMP:determine_correct_table_for_ajcc6_n_ns26", "VALUE:RN", "VALUE:RN" ], [ "600", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 500, 610, CS Site-Specific Factor 1 code 100\n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "610", "Stated as pathologic N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "650", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 500, 660, CS Site-Specific Factor 1 code 200\n\nStated as N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "660", "Stated as pathologic N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 500, 750, CS Site-Specific Factor 1 code 300\n\nStated as N3 [NOS] with no other information on regional lymph nodes", "VALUE:N3NOS", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "710", "Stated as pathologic N3a with no other information on regional lymph nodes", "VALUE:N3a", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "720", "Stated as pathologic N3b with no other information on regional lymph nodes", "VALUE:N3b", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "750", "Stated as pathologic N3 [NOS] with no other information on regional lymph nodes", "VALUE:N3NOS", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dal.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dal.json deleted file mode 100644 index 3d8faabd8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dal.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dal", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Level IA submental nodes have been moved from code 100 in CS Version 1 to code 110. Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table, for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table, for this schema.", - "last_modified" : "2015-05-27T16:19:31.978Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I:\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV node - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS \n Regional lymph node , NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single postitive ipsilateral regional node: \n Level IA - Submental", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral nodes listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral nodes listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral nodes listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive nodes listed in code 100, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", "Positive nodes listed in code 110:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", "Regional lymph nodes listed in code 120, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dam.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dam.json deleted file mode 100644 index 265830fdf..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dam.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dam", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX. \n\n**Note 2**: According to AJCC, p. 325, \"There is no lower threshold of tumor burden defining the presence of regional nodal metastasis. Specifically, nodal tumor deposits less than 0.2 millimeter (mm) in diameter (previously used as the threshold for defining nodal metastasis), are included in the staging of nodal disease as a result of the consensus that smaller volumes of metastatic tumor are still clinically significant\". This means that any finding of melanoma in lymph nodes, regardless of size and including isolated tumor cells (ITCs), should be coded as positive lymph nodes in this field. If only ITCs are present, use code 010. \n\n**Note 3**: Bilateral or contralateral nodes are considered regional nodes for head, neck, and truncal tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. Truncal tumors may also drain to both cephalad and caudal primary nodal basins as shown on lymphoscintigraphy. Clinical assessment of bilateral/contralateral or cephalad/caudal regional nodal involvement is required for tumors where lymphoscintigraphy is not performed. \n\n**Note 4**: Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins. Secondary basins are considered regional for AJCC staging but may be distant for Summary Stage. Use code 115 for involvement of nodes in secondary nodal basins not specified in codes 100 and 110. \n\n**Note 5**: Satellite lesions/nodules or in-transit metastases are coded in this field. Use codes 100-118 if there is regional node involvement without satellite nodules or in-transit metastases. Use codes 140-151 if there are satellite nodules or in-transit metastases but there is either no regional lymph node involvement, or involvement of regional nodes is not stated. Use codes 200-223 if both satellite nodules/in-transit metastases and regional lymph nodes are present. \n\n**Note 6**: If the only information about lymph nodes is a statement of N1 involvement without a clinical or pathologic designation, use code 125.\nIf the only information about lymph nodes is a statement of N2 involvement without a clinical or pathologic designation, use code 155.", - "footnotes" : "- When evaluation is clinical (CS Lymph Nodes Eval = 0, 1, 5, 9) for CS Lymph Nodes codes 010-118, 121-128, 152, 153, and 155-158 ONLY, the N category for AJCC 7 staging depends on the values in CS Site-Specific Factor 3, as shown in the Lymph Nodes and Nodal Status Clinical Eval AJCC 7 Table. When evaluation is pathologic (CS Lymph Nodes Eval = 2, 3, 6, 8), for CS Lymph Nodes codes 010-118, 121-128, 152, 153, and 155-158 ONLY, the N category for AJCC 7 staging depends on the values in CS Site-Specific Factor 3 and Regional Nodes Positive, as shown in the Lymph Nodes and Nodal Status Pathologic Eval AJCC 7 Table. When evaluation is not coded (CS Lymph Nodes Eval = blank), for CS Lymph Nodes codes 010-118, 121-128, 152, 153, and 155-158 ONLY, the N category for AJCC 7 staging depends on the values in CS Site-Specific Factor 3 and Regional Nodes Positive, as shown in the Lymph Nodes and Nodal Status Pathologic Eval Blank AJCC 7 Table.\n- When evaluation is clinical (CS Lymph Nodes Eval = 0, 1, 5, 9) for CS Lymph Nodes codes 100-118, 121-128, 152, 153, and 155-158 ONLY, the N category for AJCC 6 staging depends on the values in CS Site-Specific Factor 3, as shown in the Lymph Nodes and Nodal Status Clinical Eval AJCC 6 Table. When evaluation is pathologic (CS Lymph Nodes Eval = 2, 3, 6, 8), for CS Lymph Nodes codes 100-118, 121-128, 152, 153, and 155-158 ONLY, the N category for AJCC 6 staging depends on the values in CS Site-Specific Factor 3 and Regional Nodes Positive, as shown in the Lymph Nodes and Nodal Status Pathologic Eval AJCC 6 Table. When evaluation is not coded (CS Lymph Nodes Eval = blank), for CS Lymph Nodes codes 100-118, 121-128, 152, 153, and 155-158 ONLY, the N category for AJCC 6 staging depends on the values in CS Site-Specific Factor 3 and Regional Nodes Positive, as shown in the Lymph Nodes and Nodal Status Eval Blank AJCC 6 Table.", - "last_modified" : "2015-05-27T16:19:32.028Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement ", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "010", "Isolated tumor cells (ITCs) only", "JUMP:determine_correct_table_for_ajcc7_n_ns40", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes by primary site (includes bilateral or contralateral nodes for head, neck, and trunk):\nHEAD AND NECK SITES:\n All subsites: \n Cervical, NOS\n Lip:\n Facial, NOS:\n Mandibular\n Submandibular(submaxillary)\n Eyelid/canthus:\n Facial, NOS:\n Buccinator (buccal)\n Nasolabial\n Mandibular\n Submandibular (submaxillary)\n Parotid, NOS:\n Infraauricular \n External ear/auditory canal:\n Mastoid (post-/retroauricular ) (occipital)\n Preauricular\n Face, Other (cheek, chin forehead, jaw, nose and temple):\n Facial, NOS:\n Buccinator (buccal)\n Nasolabial\n Mandibular\n Submandibular (submaxillary)\n Parotid, NOS:\n Infraauricular \n Preauricular\n Scalp:\n Mastoid (post-/retroauricular) (occipital)\n Parotid, NOS:\n Infraauricular \n Preauricular\n Spinal accessory (posterior cervical)\n Neck:\n Axillary\n Mandibular\n Mastoid (post-/retroauricular )\n Parotid, NOS:\n Infraauricular \n Preauricular\n Spinal accessory (posterior cervical)\n Supraclavicular (transverse cervical)\nUPPER TRUNK:\n Axillary\n Cervical\n Internal mammary\n Supraclavicular\nLOWER TRUNK:\n Superficial inguinal (femoral)\nARM/SHOULDER:\n Axillary\n Epitrochlear for hand/forearm\n Spinal accessory (posterior cervical) for shoulder\nLEG/HIP:\n Popliteal for heel and calf\n Superficial inguinal (femoral)\nVULVA/PENIS/SCROTUM:\n Deep inguinal: Rosenmuller or Cloquet node\n Superficial inguinal (femoral)\nALL SITES:\n Regional lymph node(s), NOS\n(See Note 3)", "JUMP:determine_correct_table_for_ajcc7_n_ns40", "JUMP:determine_correct_table_for_ajcc6_n_ns41", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph node(s) by primary site (includes bilateral or contralateral nodes for head and neck):\nHEAD AND NECK SITES:\n Lip:\n Facial, NOS:\n Buccinator (buccal)\n Nasolabial\n Submental\n Parotid, NOS\n Infraauricular \n Preauricular\n Eyelid/canthus:\n Submental\n Face, Other (cheek, chin, forehead, jaw, nose, and temple):\n Submental\n Neck:\n Submental\n(See Note 3)", "JUMP:determine_correct_table_for_ajcc7_n_ns40", "JUMP:determine_correct_table_for_ajcc6_n_ns41", "VALUE:D", "VALUE:RN" ], [ "115", "Head (includes bilateral or contralateral nodes for head and trunk):\n All subsites:\n Supraclavicular\nUpper Trunk:\n Femoral (or cephalad/caudal drainage from primary tumor) (see Note 2)\nLower Trunk:\n Axillary (or cephalad/caudal drainage from primary tumor) (see Note 2)\nArm/Shoulder:\n Supraclavicular\nLeg/Hip:\n Iliac\nAll sites:\n Regional lymph node(s) in two contiguous secondary nodal basins (to secondary nodal basin) \n(See Notes 2, 3)\n", "JUMP:determine_correct_table_for_ajcc7_n_ns40", "JUMP:determine_correct_table_for_ajcc6_n_ns41", "VALUE:D", "VALUE:D" ], [ "118", "115 + (100 and/or 110)\n\nRegional lymph nodes coded in 115 plus regional lymph nodes coded in 100 and/or 110", "JUMP:determine_correct_table_for_ajcc7_n_ns40", "JUMP:determine_correct_table_for_ajcc6_n_ns41", "VALUE:D", "VALUE:D" ], [ "120", "OBSOLETE DATA CONVERTED V0204\nSee code 110\n\nRegional lymph node(s) by primary site:\nHEAD AND NECK SITES:\n Lip:\n Facial, NOS:\n Buccinator (buccal)\n Nasolabial\n Submental\n Parotid, NOS\n Infraauricular \n Preauricular\n Eyelid/canthus:\n Submental\n Face, Other (cheek, chin, forehead, jaw, nose, and temple):\n Submental\n Neck:\n Submental\n(See Note 3)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "121", "Evaluated clinically:\n\nClinically stated as N1 with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns40", "JUMP:determine_correct_table_for_ajcc6_n_ns41", "VALUE:RN", "VALUE:RN" ], [ "122", "Evaluated pathologically:\n\nPathologically stated as N1a with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns40", "JUMP:determine_correct_table_for_ajcc6_n_ns41", "VALUE:RN", "VALUE:RN" ], [ "123", "Evaluated pathologically:\n\nPathologically stated as N1b with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns40", "JUMP:determine_correct_table_for_ajcc6_n_ns41", "VALUE:RN", "VALUE:RN" ], [ "124", "Evaluated pathologically:\n\nPathologically stated as N1 [NOS] with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns40", "JUMP:determine_correct_table_for_ajcc6_n_ns41", "VALUE:RN", "VALUE:RN" ], [ "125", "Stated as N1 [NOS] with no information on clinical or pathologic evaluation", "JUMP:determine_correct_table_for_ajcc7_n_ns40", "JUMP:determine_correct_table_for_ajcc6_n_ns41", "VALUE:RN", "VALUE:RN" ], [ "128", "Evaluated clinically:\n\nClinically stated as N2 with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns40", "JUMP:determine_correct_table_for_ajcc6_n_ns41", "VALUE:RNOS", "VALUE:RNOS" ], [ "130", "OBSOLETE DATA CONVERTED V0204\nSee code 151\n\nSatellite nodule(s) or in-transit metastases, NOS \n(Distance from primary tumor not stated) \nWITHOUT regional lymph node involvement or involvement of regional nodes not stated", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "140", "Satellite nodule(s) or in-transit metastases less than or equal to 2cm from primary tumor \nWITHOUT regional lymph node involvement or involvement of regional nodes not stated", "VALUE:N2c", "VALUE:N2c", "VALUE:L", "VALUE:RE" ], [ "150", "Satellite nodule(s) or in-transit metastases greater than 2cm from primary tumor\nWITHOUT regional lymph node involvement or involvement of regional nodes not stated.", "VALUE:N2c", "VALUE:N2c", "VALUE:RE", "VALUE:RN" ], [ "151", "Satellite nodule(s) or in-transit metastases, NOS \n(Distance from primary tumor not stated) \nWITHOUT regional lymph node involvement or involvement of regional nodes not stated", "VALUE:N2c", "VALUE:N2c", "VALUE:RE", "VALUE:RNOS" ], [ "152", "Evaluated pathologically:\n\nPathologically stated as N2a with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns40", "JUMP:determine_correct_table_for_ajcc6_n_ns41", "VALUE:RN", "VALUE:RN" ], [ "153", "Evaluated pathologically:\n\nPathologically stated as N2b with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns40", "JUMP:determine_correct_table_for_ajcc6_n_ns41", "VALUE:RN", "VALUE:RN" ], [ "154", "Stated as N2c with no other information on satellite nodules", "VALUE:N2c", "VALUE:N2c", "VALUE:RE", "VALUE:RE" ], [ "155", "Stated as N2 [NOS] with no information on pathologic or clinical evaluation", "JUMP:determine_correct_table_for_ajcc7_n_ns40", "JUMP:determine_correct_table_for_ajcc6_n_ns41", "VALUE:RNOS", "VALUE:RNOS" ], [ "158", "Evaluated pathologically:\n\nPathologically stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns40", "JUMP:determine_correct_table_for_ajcc6_n_ns41", "VALUE:RNOS", "VALUE:RNOS" ], [ "170", "Matted lymph nodes in code 100", "VALUE:N3", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "180", "Matted lymph nodes in code 110", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:RN" ], [ "190", "Matted lymph nodes in code 115", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:D" ], [ "195", "190 + (170 and/or 180)\n\nMatted lymph nodes in code 190 plus matted lymph nodes in code 170 and/or code 180", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:D" ], [ "200", "Satellite nodule(s) or in-transit metastases\nWITH regional lymph nodes listed in code 100.", "VALUE:N3", "VALUE:N3", "VALUE:RE+RN", "VALUE:RNOS" ], [ "220", "Satellite nodule(s) or in-transit metastases\nWITH regional lymph nodes listed in code 110", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:RNOS" ], [ "223", "Satellite nodule(s) or in-transit metastases WITH regional lymph nodes listed in code 115", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:D" ], [ "225", "Stated as N3 with no other information on regional lymph nodes", "VALUE:N3", "VALUE:N3", "VALUE:RNOS", "VALUE:RNOS" ], [ "800", "Lymph nodes, NOS", "VALUE:N1NOS", "VALUE:N1NOS", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dan.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dan.json deleted file mode 100644 index 1cea5f6d9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dan.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dan", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Note 2 specifies when to code certain tumor deposits (TD) here. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: One or more malignant satellite peritumoral nodules in the pericolorectal adipose tissue of a primary carcinoma without histologic evidence of residual lymph node in the nodule(s) may represent discontinuous spread, venous invasion with extravascular spread, or a totally replaced lymph node. If this is the only information on lymph nodes, use code 050. The total number of TD must also be coded in CS Site-Specific Factor 4. If there are TD and node involvement, code only the information on node involvement in this field; use a higher code number than 050. \n\n**Note 3**: Inferior mesenteric nodes are coded in CS Mets at DX for cecum, ascending colon, transverse colon, and hepatic flexure. Superior mesenteric nodes are coded in CS Mets at DX for all colon sites.\n\n**Note 4**: The number of positive regional nodes is required to calculate the correct N category for this schema. Use codes 400-480 when the pathology report assigns an N1 or N2 category but does not specify the number of nodes involved, or the record identifies an N1 or N2 category but the specific information about number of nodes involved is not available. Use codes 110-300 rather than codes 400-480 when information about the number of positive nodes is available, or when nodes are clinically positive but not removed for examination. \n\n**Note 5**: Sigmoid nodes for descending colon have been moved from code 200 in CS Version 1 to code 220.", - "footnotes" : "- For codes 100-300 ONLY: when CS Lymph Nodes Eval is 0, 1, 5, or 9, the N category is assigned from the Lymph Nodes Clinical Evaluation 6th Table, using Regional Nodes Positive and CS Site-Specific Factor 2; when CS Regional Nodes Eval is 2, 3, 6, 8, or not coded, the N category is determined from the Lymph Nodes Pathologic Evaluation 6th Table Also Used When CS Reg Nodes Eval is Not Coded using Regional Nodes Positive.\n- For codes 100-300 ONLY: when CS Lymph Nodes Eval is 1 or 9, and CS Coding System Original is before CS v02.05, the N category is assigned from the Lymph Nodes Clinical Eval prior to V02.05 7th Table using Regional Nodes Positive and CS Site-Specific Factor 2. When CS Lymph Nodes Eval = 0, 5 OR (CS Lymph Nodes Eval is 1, 9 and CS Coding System Original is at least V02.05), the N category is assigned from Lymph Nodes Clinical Eval V02.05 AJCC 7th Table using Site-Specific Factor 2; when CS Regional Nodes Eval is 2, 3, 6, 8, or not coded, the N category is determined from the Lymph Nodes Pathologic Evaluation 7th Table Also Used When CS Reg Nodes Eval is Not Coded using Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:32.108Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement and no tumor deposits (TD)", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "050", "TD in the subserosa, mesentery, or nonperitonealized pericolic or perirectal tissues\nWITHOUT regional nodal metastasis\n\nStated as N1c with no other information on regional lymph nodes", "VALUE:N1c", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nCode 100 was defined as \"Regional lymph nodes for all colon sites: Colic (NOS), Epicolic (adjacent to bowel wall), Mesocolic (NOS), Paracolic/pericolic, Nodule(s) or foci in pericolic fat/adjacent mesentery/mesocolic fat\" in CSv1. Code 100 was defined as \"Regional lymph nodes for all colon sites: Colic (NOS), Epicolic (adjacent to bowel wall), Mesocolic (NOS), Paracolic/pericolic\" in CSv2:V0201, V0202. All cases should be reviewed and recoded to appropriate codes; see codes 050 and 110.\n\nRegional lymph nodes for all colon sites:\n Colic (NOS)\n Epicolic (adjacent to bowel wall)\n Mesocolic (NOS)\n Paracolic/pericolic", "JUMP:determine_correct_table_for_ajcc7_n_ns11", "JUMP:determine_correct_table_for_ajcc6_n_ns10", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph nodes for all colon sites:\n Colic, NOS\n Epicolic (adjacent to bowel wall)\n Mesocolic, NOS\n Paracolic/pericolic", "JUMP:determine_correct_table_for_ajcc7_n_ns11", "JUMP:determine_correct_table_for_ajcc6_n_ns10", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 210 and 220\n\nRegional lymph nodes, for specific subsites:\n Cecum:\n Cecal: anterior (prececal),\n posterior (retrocecal); NOS\n Ileocolic\n Right colic\n Ascending colon:\n Ileocolic\n Middle colic\n Right colic\n Transverse colon and flexures:\n Inferior mesenteric for splenic flexure only\n Left colic for splenic flexure only\n Middle colic\n Right colic for hepatic flexure only\n Descending colon:\n Inferior mesenteric\n Left colic\n Sigmoid\n Sigmoid colon:\n Inferior mesenteric\n Sigmoidal (sigmoid mesenteric)\n Superior hemorrhoidal\n Superior rectal", "JUMP:determine_correct_table_for_ajcc7_n_ns11", "JUMP:determine_correct_table_for_ajcc6_n_ns10", "VALUE:RN", "VALUE:RN" ], [ "210", "Regional lymph nodes, for specific colon sites:\n Cecum:\n Cecal: \n Anterior (prececal),\n Posterior (retrocecal); NOS\n Ileocolic\n Right colic\n Periappendiceal\n Ascending colon:\n Ileocolic\n Middle colic\n Right colic \n Transverse colon and flexures:\n Inferior mesenteric for splenic flexure only\n Left colic for splenic flexure only\n Middle colic\n Right colic for hepatic flexure only\n Descending colon:\n Inferior mesenteric\n Left colic\n Sigmoid colon:\n Inferior mesenteric\n Sigmoidal (sigmoid mesenteric)\n Superior hemorrhoidal\n Superior rectal", "JUMP:determine_correct_table_for_ajcc7_n_ns11", "JUMP:determine_correct_table_for_ajcc6_n_ns10", "VALUE:RN", "VALUE:RN" ], [ "220", "Regional lymph nodes for descending colon:\n Sigmoid", "JUMP:determine_correct_table_for_ajcc7_n_ns11", "JUMP:determine_correct_table_for_ajcc6_n_ns10", "VALUE:D", "VALUE:RN" ], [ "300", "Regional lymph nodes for all colon sites:\n Mesenteric, NOS\n Regional lymph node(s), NOS", "JUMP:determine_correct_table_for_ajcc7_n_ns11", "JUMP:determine_correct_table_for_ajcc6_n_ns10", "VALUE:RN", "VALUE:RN" ], [ "400", "OBSOLETE DATA CONVERTED V0203\nSee code 430\n\nStated as N1 pathologic", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "410", "Stated as pathologic N1a with no other pathologic information on regional lymph nodes", "VALUE:N1a", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "420", "Stated as pathologic N1b with no other pathologic information on regional lymph nodes", "VALUE:N1b", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "430", "Stated as pathologic N1 [NOS] with no other pathologic information on regional lymph nodes", "VALUE:N1NOS", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "450", "OBSOLETE DATA CONVERTED V0203\nSee code 480\n\nStated as N2 pathologic", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "460", "Stated as pathologic N2a with no other pathologic information on regional lymph nodes", "VALUE:N2a", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "470", "Stated as pathologic N2b with no other pathologic information on regional lymph nodes", "VALUE:N2b", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "480", "Stated as pathologic N2 [NOS] with no other pathologic information on regional lymph nodes", "VALUE:N2NOS", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1NOS", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dao.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dao.json deleted file mode 100644 index 408674623..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dao.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dao", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Level IA nodes have been moved from code 100 in CS Version 1 to code 110; Retropharyngeal nodes have been moved from codes 110 and 120 in CS Version 1 to code 100. Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:32.164Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I: \n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node \n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node: \n Level IA - Submental", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA -Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch \n Pretracheal - below suprasternal notch \n Other groups:\n Facial:\n Buccinator (buccal0\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral nodes listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral nodes listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral nodes listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive nodes listed in code 100, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", "Positive nodes listed in code 110, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", "Positive nodes listed in code 120, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dap.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dap.json deleted file mode 100644 index bfa57e062..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dap.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dap", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoids cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Level II nodes have been moved from code 100 in CS Version 1 to code 120, Level III nodes moved from code 100 to code 110 Level IV nodes added to code 100. Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:32.231Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node: \n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental \n Level IB - Submandibular (submaxillary), sublingual\n Level III - Middle jugular:\n Middle deep cervical \n Retropharyngeal", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level II Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level V - Posterior triangle group:\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VII node - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Periparotid\n Retroauricular (mastoid)\n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral nodes listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral nodes listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral nodes listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph node", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive nodes listed in code 100, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", "Positive nodes listed in code 110, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", "Positive nodes listed in code 120, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daq.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daq.json deleted file mode 100644 index 9beb85cd4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daq.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_daq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemes, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemes, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.", - "last_modified" : "2015-05-27T16:19:32.326Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I:\n Level IA node - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Retropharyngeal \n Cervical , NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Level V - Posterior triangle group:\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VI - Anterior compartment group:\n Laterotracheal \n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Other groups:\n Facial :\n Buccinator (buccal)\n Mandibular \n Nasolabial \n Parotid :\n Infraauricular \n Intraparotid \n Periparotid \n Preparotid \n Parapharyngeal \n Retroauricular (mastoid)\n Suboccipital", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Lymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dar.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dar.json deleted file mode 100644 index d33bd233f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dar.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dar", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Level III nodes have been moved from code 100 in CS Version 1 to code 110. Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:32.395Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior \n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node:\n Level III - Middle jugular:\n Middle deep cervical", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Level V - Posterior triangle group:\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular\n Level VI node - Anterior compartment group:\n Laterotracheal\n Paralaryngeal \n Paratracheal - above suprasternal notch\n Precricoid (Delphian)\n Prelaryngeal \n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII node - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Parapharyngeal\n Retroauricular \n Retropharyngeal \n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral nodes listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral nodes listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral nodes listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive nodes listed in code 100, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", "Positive nodes listed in code 110, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", "Positive nodes listed in code 120, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_das.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_das.json deleted file mode 100644 index b59a1b1bd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_das.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_das", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, using the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, using the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:32.468Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual \n Cervical, NOS\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node: \n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular: \n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Level V - Posterior triangle group :\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal \n Paratracheal - above suprasternal notch\n Perithyroidal \n Precricoid (Delphian)\n Prelaryngeal \n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial: \n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular\n Retropharyngeal\n Suboccipital", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral nodes listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "320", "Positive ipsilateral nodes listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "420", " Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive nodes listed in code 100, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "520", "Positive nodes listed in code 120, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dat.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dat.json deleted file mode 100644 index 1ec61f6bd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dat.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dat", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Regional lymph nodes for any part of the esophagus fall in the range from periesophageal/cervical to the celiac region. Contralateral and bilateral cervical, supraclavicular, and mediastinal lymph nodes are included. However, AJCC has clarified that some nodal chains in this large area are partially regional and partially distant because they include both nodes that are close to the esophagus toward the body's midline and nodes that run laterally away from the esophagus or perpendicular to it. Regional nodes are those that lie in the bed of the esophagus. Examples: regional supraclavicular nodes (level 1), regional pulmonary ligament nodes (level 9), regional hilar tracheobronchial nodes (level 10), or regional diaphragmatic nodes (level 15) are only those nodes closest to the esophagus; nodes in these chains that are further from the esophagus are distant. Medical record terminology is unlikely to be so specific in describing involved node locations, so try to correlate involved node information with staging statements that indicate whether the nodes were considered regional or distant by the physicians; lacking such physician guidance, presume regional nodes. If the record just indicates involvement of supraclavicular nodes, for example, and there is no further information available, presume that the involved nodes were close to the esophagus and regional.\n\n**Note 3**: Over time the celiac and cervical nodes have been coded in both CS Mets at DX and CS Lymph Nodes, depending on the subsite. Code all nodes that are regional per AJCC 7th Ed. staging (see Notes 2 and 4) in CS Lymph Nodes, but be aware that cervical and celiac nodes are in CS Mets at DX for legacy data whose codes were not updated under CSv2.\n\n**Note 4**: Lymph node stations/groups from AJCC 7th Ed. chapter 10 are listed in parentheses when applicable. For a descriptive list of these nodal groups, see Part I Section 2 or Figure 10.3 from the AJCC Cancer Staging Atlas, 2nd Ed. or errata for AJCC 7th Ed. chapter 10. AJCC has clarified the status of the most distal node chains for the esophagus/esophagogastric junction chapter. The left gastric artery and celiac nodes (levels 17, 20) are regional, but the common hepatic and splenic artery nodes (levels 18, 19) are not regional. See code 15 in CS Mets at DX.\n\n**Note 5**: Imaging studies often refer to involved nodes in the gastrohepatic ligament or at the gastrohepatic level for esophageal primaries. Code as left gastric nodes if there is no more specific information.\n\n**Note 6**: The number of positive regional nodes is required to calculate the correct N category for this schema. Use codes 560, 610 or 710 when the pathology report assigns an N1, N2 or N3 category but does not specify the number of nodes involved, or the record identifies an N1, N2 or N3 category but the specific information about number of nodes involved is not available. Use codes (100-255, 265-280 and 305-500) rather than codes 560, 610 or 710 when information about the number of positive nodes is available, or when nodes are clinically positive but not removed for examination.", - "footnotes" : "- For CS Lymph Nodes codes 100-255, 265-280, and 305-500 ONLY, the N category for AJCC 7 staging is assigned based on the number of positive lymph nodes; when CS Lymph Nodes Eval is 1, 9 and CS Coding System Original is before CS V02.05, the N category is assigned from the Lymph Nodes Clinical Eval Prior to V02.05 AJCC 7 Table, using Regional Nodes Positive and CS Site-Specific Factor 1; when CS Lymph Nodes Eval is 0, 5 OR (CS Lymph Nodes Eval is 1, 9 and CS Coding System Original is at least V02.05), the N category is assigned from Lymph Nodes Clinical Eval V02.05 AJCC 7 Table, using CS Site-Specific Factor 1; when CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded, the N category is determined from the Lymph Nodes Patholologic Evaluation AJCC 7 Table Also Used When CS Lymph Nodes Eval Is Not Coded, using Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:32.518Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes (including contralateral or bilateral):\n For all subsites:\n Peri-/paraesophageal (8L, 8M)\n Cervical esophagus only:\n Cervical, NOS:\n Anterior deep cervical (laterotracheal) (recurrent laryngeal)\n Internal jugular, NOS\n Deep cervical, NOS:\n Upper, NOS:\n Jugulodigastric (subdigastric)\n Intrathoracic esophagus, upper or middle, only:\n Internal jugular, NOS:\n Deep cervical, NOS:\n Lower, NOS:\n Jugulo-omohyoid (supraomohyoid)\n Middle\n Upper cervical, NOS:\n Jugulodigastric (subdigastric)\n Intrabronchial:\n Carinal (tracheobronchial) (10R, 10L) (tracheal bifurcation)\n Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n Peritracheal\n Left gastric (superior gastric) (17): \n Cardiac (cardial)\n Lesser curvature\n Perigastric, NOS\n Posterior mediastinal (tracheoesophageal)\n Intrathoracic esophagus, lower (abdominal) only:\n Left gastric (superior gastric) (17):\n Cardiac (cardial)\n Lesser curvature\n Perigastric, NOS\n Posterior mediastinal (3P) (tracheoesophageal)", "JUMP:determine_correct_table_for_ajcc7_n_ns12", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "Cervical esophagus only:\n Scalene (inferior deep cervical) (1)\n Supraclavicular (transverse cervical) (1)", "JUMP:determine_correct_table_for_ajcc7_n_ns12", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "220", "Intrathoracic, upper thoracic or middle, only:\n Superior mediastinal", "JUMP:determine_correct_table_for_ajcc7_n_ns12", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "250", "Upper thoracic esophagus only:\n Cervical lymph nodes\nLower thoracic (abdominal) esophagus only:\n Celiac lymph nodes (20)", "JUMP:determine_correct_table_for_ajcc7_n_ns12", "VALUE:N0", "VALUE:D", "VALUE:D" ], [ "255", "250 + any of (100, 200, 220)", "JUMP:determine_correct_table_for_ajcc7_n_ns12", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "260", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee codes 000 - 255 and 265 - 280, and CS Mets at DX codes 15 and 50 \n\nCervical esophagus only:\n Common hepatic (regional) (18)\n Diaphragmatic (15) \n Pulmonary ligament (9) \n Splenic (19)\nIntrathoracic esophagus, upper or middle, only:\n Common hepatic (18) (regional)\n Diaphragmatic (15)\n Splenic (19) \nLower thoracic (abdominal) esophagus only:\n Aortopulmonary (5) \n Pulmonary ligament (9)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "265", "For cervical esophagus:\n Diaphragmatic (15) \n Pulmonary ligament (9) \nFor intrathoracic esophagus, upper or middle,:\n Diaphragmatic (15)\nFor lower thoracic (abdominal) esophagus:\n Aortopulmonary:(5):\n Para-aortic (ascending aorta or phrenic)\n Subaortic \n Pulmonary ligament (9)", "JUMP:determine_correct_table_for_ajcc7_n_ns12", "VALUE:N0", "VALUE:D", "VALUE:D" ], [ "270", "265 + any of (100, 200, 220)", "JUMP:determine_correct_table_for_ajcc7_n_ns12", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "275", "265 + 250", "JUMP:determine_correct_table_for_ajcc7_n_ns12", "VALUE:N0", "VALUE:D", "VALUE:D" ], [ "280", "275 + any of (100, 200, 220)", "JUMP:determine_correct_table_for_ajcc7_n_ns12", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "300", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee codes 000-255, 265-280, and 305-330 and CS Mets at DX codes 15 and 50\n\nAll esophagus subsites:\n Anterior mediastinal (6)\n Mediastinal, NOS\nCervical esophagus only:\n Aortopulmonary (5)\n Paratracheal (2R,2L, 4R, 4L)\n Posterior mediastinal (3P)\n Superior mediastinal\nIntrathoracic esophagus,upper or middle, only:\n Aortopulmonary (5)\n Pulmonary ligament (9)\nIntrathoracic esophagus, lower (abdominal) only:\n Common hepatic (18)\n Diaphragmatic (15)\n Paratracheal (2R,2L, 4R,4L)\n Splenic (19)\n Superior mediastinal", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "305", "For all esophagus subsites:\n Anterior mediastinal (6)\n Mediastinal, NOS\nFor cervical esophagus only:\n Aortopulmonary (5):\n Para-aortic (ascending aorta or phrenic)\n Subaortic\n Paratracheal (2R, 2L, 4R, 4L)\n Posterior mediastinal (3P)\n Superior mediastinal\nFor intrathoracic esophagus, upper or middle, only:\n Aortopulmonary (5):\n Para-aortic (ascending aorta or phrenic)\n Pulmonary ligament (9)\nFor intrathoracic esophagus, lower (abdominal) only:\n Diaphragmatic (15)\n Paratracheal (2R, 2L, 4R, 4L)\n Superior mediastinal", "JUMP:determine_correct_table_for_ajcc7_n_ns12", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "310", "305 + (250 or 255)", "JUMP:determine_correct_table_for_ajcc7_n_ns12", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "320", "305 + (265 or 275)", "JUMP:determine_correct_table_for_ajcc7_n_ns12", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "330", "305 + (270 or 280)", "JUMP:determine_correct_table_for_ajcc7_n_ns12", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "500", "Regional lymph node(s), NOS", "JUMP:determine_correct_table_for_ajcc7_n_ns12", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "560", "Stated as pathologic N1 with no other pathologic information on regional lymph nodes ", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "600", "OBSOLETE DATA CONVERTED V0203 See code 500 Stated as clinical N2 (clinical assessment; no lymph nodes removed)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "610", "Stated as pathologic N2 with no other pathologic information on regional lymph nodes", "VALUE:N2", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA CONVERTED V0203\nSee code 500\n\nStated as clinical N3a (clinical assessment; no lymph nodes removed)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "710", "Stated as pathologic N3 with no other pathologic information on regional lymph nodes", "VALUE:N3", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dau.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dau.json deleted file mode 100644 index 094634697..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dau.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dau", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Inferior phrenic nodes are classified as regional nodes for AJCC 7 staging.", - "last_modified" : "2015-05-27T16:19:32.584Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\n Hepatic, NOS:\n Hepatic artery\n Hepatic pedicle\n Inferior vena cava\n Porta hepatis (hilar) (in hilus of liver)\n Hepatoduodenal ligament\n Periportal\n Portal vein\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "Inferior phrenic nodes", "VALUE:N1", "VALUE:N0", "VALUE:D", "VALUE:D" ], [ "300", "200 + 100", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "350", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 350, 805\n\nLymph nodes, NOS\nStated as N1 [NOS]", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "805", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dav.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dav.json deleted file mode 100644 index 81855a272..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dav.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dav", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Celiac and superior mesenteric nodes are classified as regional nodes for AJCC staging and are coded in CS Lymph Nodes.\n\n**Note 3**: Para-aortic and pericaval lymph nodes are classified as regional nodes for AJCC 7 staging and are now coded in CS Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:32.634Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\n Cystic duct (Calot's node)\n Node of foramen of Winslow (omental) (epiploic)\n Pericholedochal (common bile duct)", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph nodes:\n Porta hepatis (portal)(periportal) (hilar) (in hilus of liver)", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "120", "Regional lymph nodes:\n Pancreaticoduodenal\n Periduodenal\n Peripancreatic (near head of pancreas only)", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "150", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA CONVERTED V0203\nSee code 120\n\nRegional lymph node(s):\n Pancreaticoduodenal", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "210", "OBSOLETE DATA CONVERTED V0203\nSee code 120\n\nRegional lymph node(s):\n Periduodenal\n Peripancreatic (near head of pancreas only)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "250", "OBSOLETE DATA CONVERTED V0203\nSee code 120\n\n(110) + (200)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "300", "Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "500", "Celiac lymph node(s)", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "600", "Superior mesenteric lymph node(s)", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "610", "(500 or 600) + 110", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "620", "Regional lymph nodes:\n Para-aortic\n Pericaval ", "VALUE:N2", "VALUE:N0", "VALUE:D", "VALUE:D" ], [ "630", "OBSOLETE DATA CONVERTED V0203\nSee code 635\n\n620 + any of 100, 110, 200, 210, 500 or 600\nAny regional lymph node(s) as listed in codes 100, 110, 200, 210, 500 or 600 + para-aortic and/or pericaval lymph node(s)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "635", "620 + (100, 110, 120, 500, or 600)\n\nAny regional lymph node(s) listed in codes 100, 110, 120, 500, or 600 plus para-aortic and/or pericaval lymph node(s)", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "650", "Stated as N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daw.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daw.json deleted file mode 100644 index 3302559b9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daw.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_daw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Pericholedochal nodes are coded in CS Mets at DX for jejunum and ileum primaries.\n\n**Note 3**: The number of positive regional nodes is required to calculate the correct N category for this site. If information about the number of positive nodes is available, use code 100, 200, or 300. Use code 400 or 450 when the record identifies an N1 or N2 category but the specific information about the number of nodes involved is not available.", - "footnotes" : "- For CS Lymph Nodes codes 100-300 ONLY, when CS Lymph Nodes Eval is 1 or 9 and CS Coding System Original is before CS v02.05, the N category is assigned from the Lymph Nodes Clinical Eval Prior to V02.05 7th Table using Regional Nodes Positive and CS Site-Specific Factor 2. When CS Lymph Nodes Eval = 0, 5, OR (CS Lymph Nodes Eval is 1,9 and CS Coding System Original is at least V02.05), the N category is assigned from Lymph Nodes Clinical Eval V02.05 AJCC 7 Table using CS Site-Specific Factor 2. When CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded, the N category for AJCC 7 staging is assigned as shown in the Lymph Nodes Pathologic Evaluation AJCC 7 Table Also Used When CS Lymph Nodes Eval is Not Coded using Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:32.687Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s):\n For duodenum primaries only:\n Duodenal\n Gastroduodenal\n Hepatic\n Pancreaticoduodenal\n Pyloric:\n Infrapyloric (subpyloric)\n For jejunum or ileum primaries only:\n Mesenteric, NOS:\n Superior mesenteric\n For ileum primary only: \n Cecal (anterior, posterior or retrocecal)\n Ileocecal", "JUMP:determine_correct_table_for_ajcc7_n_ns5", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "Regional lymph node(s):\n For duodenum primaries only:\n Pericholodochal (common bile duct)\n Superior mesenteric", "JUMP:determine_correct_table_for_ajcc7_n_ns5", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "300", "Regional lymph node(s), NOS", "JUMP:determine_correct_table_for_ajcc7_n_ns5", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "400", "Stated as N1 pathologic with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "450", "Stated as N2 pathologic with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dax.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dax.json deleted file mode 100644 index cb09914eb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dax.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dax", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Note 2 specifies when to code tumor deposits (TD) here. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: One or more malignant satellite peritumoral nodules in the pericolorectal adipose tissue of a primary carcinoma without histologic evidence of residual lymph node in the nodule(s) may represent discontinuous spread, venous invasion with extravascular spread, or a totally replaced lymph node. If this is the only information on lymph nodes, use code 050. The total number of TD must always be coded in CS Site-Specific Factor 4. If there are TD and node involvement, code only the information on node involvement in this field; use a higher code number than 050.\n\n**Note 3**: Rectal nodes, NOS are coded 100. Middle or superior rectal nodes are coded 200 for both rectosigmoidal and rectal primaries. Inferior rectal nodes are coded 200 for rectal primaries. Inferior rectal nodes are coded in CS Mets at DX for rectosigmoidal primaries.\n\n**Note 4**: . Middle or superior hemorrhoidal nodes are coded 200 for both rectosigmoidal and rectal primaries. Inferior hemorrhoidal nodes are coded 200 for rectal primaries. Inferior hemorrhoidal nodes are coded in CS Mets at DX for rectosigmoidal primaries.\n\n**Note 5**: Mesenteric nodes, NOS are coded 300. Inferior mesenteric or sigmoid mesenteric nodes are coded 200. Superior mesenteric nodes are coded in CS Mets at DX.\n\n**Note 6**: CS does not collect information on otherwise negative lymph nodes containing isolated tumor cells (ITCs) for this schema. CS does not derive ITC status for this schema. Count otherwise negative regional nodes containing ITCs as negative nodes.\n\n**Note 7**: The number of positive regional nodes is required to calculate the correct N category for this schema. Use codes 400-480 when the pathology report assigns an N1 or N2 category but does not specify the number of nodes involved, or the record identifies an N1 or N2 category but the specific information about number of nodes involved is not available. Use codes 100-300 rather than codes 400-480 when information about the number of positive nodes is available, or when nodes are clinically positive but not removed for examination.", - "footnotes" : "- For codes 110-300 ONLY: when CS Lymph Nodes Eval is 1 or 9, and CS Coding System Original is before CS v02.05, the N category is assigned from the Lymph Nodes Clinical Eval Prior to v02.05 7th Table using Regional Nodes Positive and CS Site-Specific Factor 2. When CS Lymph Nodes Eval = 0, 5 OR (CS Lymph Nodes Eval is 1, 9 and CS Coding System Original is at least v02.05), the N category is assigned from Lymph Nodes Clinical Eval v02.05 AJCC 7 Table, using CS Site-Specific Factor 2; when CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded, the N category is determined from the Lymph Nodes Pathologic Evaluation AJCC 7 Table Also Used When CS Reg Nodes Eval is Not Coded using Regional Nodes Positive.\n- For CS Lymph codes 110-300 ONLY: when CS Lymph Nodes Eval is 0, 1, 5, or 9, the N category is assigned from the Lymph Nodes Clinical Evaluation AJCC 6 Table, using Regional Nodes Positive and CS Site-Specific Factor 2; when CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded, the N category is determined from the Lymph Nodes Pathologic Evaluation AJCC 6 Table Also Used When CS Reg Nodes Eval is Not Coded using Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:32.754Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement and no tumor deposits (TD)", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "050", "TD in the subserosa, mesentery, or nonperitonealized pericolic or perirectal tissues\nWITHOUT regional nodal metastasis\n\nStated as N1c with information that regional lymph nodes are not involved", "VALUE:N1c", "VALUE:N1", "VALUE:RE", "VALUE:RE" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 050, 110\n\nRegional lymph nodes:\nRectosigmoid:\n Paracolic/pericolic\n Perirectal\n Rectal\n Nodule(s) or foci in pericolic fat/adjacent\n mesentery/mesocolic fat\nRectum:\n Perirectal\n Rectal, NOS\n Nodule(s) or foci in perirectal fat", "JUMP:determine_correct_table_for_ajcc7_n_ns25", "JUMP:determine_correct_table_for_ajcc6_n_ns24", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph nodes:\n All sites:\n Perirectal\n Rectal, NOS\n Rectosigmoid:\n Paracolic/pericolic", "JUMP:determine_correct_table_for_ajcc7_n_ns25", "JUMP:determine_correct_table_for_ajcc6_n_ns24", "VALUE:RN", "VALUE:RN" ], [ "200", "Regional lymph nodes for rectosigmoid and rectum:\n Hemorrhoidal, middle\n Hemorrhoidal, superior\n Inferior mesenteric\n Rectal, middle\n Rectal, superior\n Sigmoidal (sigmoid mesenteric)\nRegional lymph nodes for rectosigmoid:\n Colic, NOS\n Left colic\nRegional lymph nodes for rectum:\n Hemorrhoidal, inferior\n Internal iliac (hypogastric), NOS\n Obturator\n Rectal, inferior\n Sacral, NOS\n Lateral (laterosacral)\n Middle (promontorial) (Gerota's node)\n Presacral\n Sacral promontory", "JUMP:determine_correct_table_for_ajcc7_n_ns25", "JUMP:determine_correct_table_for_ajcc6_n_ns24", "VALUE:RN", "VALUE:RN" ], [ "300", "Mesenteric, NOS\nRegional lymph node(s), NOS", "JUMP:determine_correct_table_for_ajcc7_n_ns25", "JUMP:determine_correct_table_for_ajcc6_n_ns24", "VALUE:RN", "VALUE:RN" ], [ "400", "OBSOLETE DATA CONVERTED V0203\nSee code 430\n\nStated as pathologic N1", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "410", "Stated as pathologic N1a with no other information on regional lymph nodes", "VALUE:N1a", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "420", "Stated as pathologic N1b with no other information on regional lymph nodes", "VALUE:N1b", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "430", "Stated as pathologic N1 [NOS] with no other pathologic information on regional lymph nodes", "VALUE:N1NOS", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "450", "OBSOLETE DATA CONVERTED V0203\nSee code 480\n\nStated as pathologic N2", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "460", "Stated as pathologic N2a with no other information on regional lymph nodes", "VALUE:N2a", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "470", "Stated as pathologic N2b with no other information on regional lymph nodes", "VALUE:N2b", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "480", "Stated as pathologic N2 [NOS] with no other pathologic information on regional lymph nodes", "VALUE:N2NOS", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1NOS", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_day.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_day.json deleted file mode 100644 index 340037f19..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_day.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_day", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in the field CS Mets at DX. \n\n**Note 2**: Regional nodes include bilateral and contralateral named nodes. \n\n**Note 3**: AJCC TNM values correspond to the stages accepted by the Federation Internationale de Gynecologie et d'Obstetrique (FIGO), and FIGO stages are included for coding where no more specific information is available in the record. Note that FIGO uses a single stage value which corresponds to different groupings of T, N, and M values. FIGO Stage IIIC is assigned based on tumor extension and/or regional lymph node involvement. Code CS Lymph Nodes based on a physician's statement of FIGO Stage IIIC if it is known that the stage value is assigned because of regional lymph node involvement or it is not specified.\n\n**Note 4**: If the clinician says \"adnexa palpated\" but doesn't mention lymph nodes, assume lymph nodes are not involved, code \"000\". \n\n**Note 5**: If either exploratory or definitive surgery is done with no mention of lymph nodes, assume regional nodes are not involved.", - "last_modified" : "2015-05-27T16:19:32.816Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s):\n Iliac, NOS:\n Common\n External\n Internal (hypogastric), NOS:\n Obturator\n Pelvic, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "120", "OBSOLETE DATA CONVERTED V0203\nSee code 350\n\nRegional lymph node(s):\n Lateral sacral (laterosacral)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "200", "Regional lymph node(s):\n Aortic:\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Retroperitoneal, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "300", "Regional lymph node(s):\n Inguinal", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "350", "Regional lymph node(s):\n Lateral sacral (laterosacral)", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "400", "200 + 100", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "420", "OBSOLETE DATA CONVERTED V0203\nSee code 440\n\n(120 or 300) + (100 or 200)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "440", "(350 or 300) + (100 or 200)", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "500", "Regional lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "510", "FIGO Stage IIIC based on lymph node involvement or basis not specified", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daz.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daz.json deleted file mode 100644 index 393415309..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_daz.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_daz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Regional nodes include bilateral and contralateral involvement of named nodes. Distant nodes, including presacral and lateral sacral (laterosacral) nodes, are coded in CS Mets at DX.\n\n**Note 2**: The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) Stage IIIC is assigned based on tumor extension and/or regional lymph node involvement. Code CS Lymph Nodes based on a physician's statement of FIGO Stage IIIC if the stage value is assigned because of regional lymph node involvement or there is no indication of the basis.\n\n**Note 3**: If either exploratory or definitive surgery is done with no mention of lymph nodes, assume nodes are negative.\n\n**Note 4**: If the clinician says \"adnexa palpated\" but does not mention lymph nodes, assume lymph nodes are not involved.\n\n**Note 5**: Determination of the N category for AJCC 6 is based on this field and CS Mets at DX for specific codes in CS Mets at DX.", - "footnotes" : "- For CS Lymph Nodes codes 000 and 999, the N category for AJCC 6 staging is based on the value of CS Mets at DX as shown in the Lymph Nodes Mets at DX AJCC 6 Table.", - "last_modified" : "2015-05-27T16:19:32.871Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "JUMP:lymph_nodes_metsat_dxajcc6_xfm", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s):\n Iliac, NOS:\n Common\n External\n Internal (hypogastric)\n Obturator\n Pelvic, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "120", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph node(s): \n Lateral sacral (laterosacral)\n Presacral", "ERROR:", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "200", "Regional lymph node(s):\n Aortic, NOS:\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Retroperitoneal, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n \n200 + 120", "ERROR:", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "300", "Regional lymph node(s):\n Inguinal", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "500", "Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "550", "FIGO Stage IIIC based on regional lymph node involvement", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "JUMP:lymph_nodes_metsat_dxajcc6_xfm", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dba.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dba.json deleted file mode 100644 index 954824f01..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dba.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dba", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX. For the lower third of vagina, iliac (common, external, internal (hypogastric), and NOS), and pelvic, NOS lymph nodes are coded in CS Mets at DX. For the upper two thirds of vagina, inguinal and femoral lymph nodes are coded in CS Mets at DX.\n\n**Note 2**: When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and regional lymph node detail are available, record the code with regional lymph node detail in preference to a statement of FIGO stage. FIGO Stage III is assigned based on tumor extension and/or regional lymph node involvement. Code CS Lymph Nodes based on a physician's statement of FIGO Stage III based on regional lymph node involvement or if the basis is not stated.", - "last_modified" : "2015-05-27T16:19:32.933Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "OBSOLETE DATA REVIEWED AND CHANGED V0200\nThe specified nodes are coded to 150 if the primary is in the upper two thirds of the vagina; coded to 425 if unknown if the primary is in the upper two thirds or lower one third; and coded to 20 in CS Mets at DX if the primary is in the lower third.\n\nAll parts of vagina, regional nodes: \n Pelvic lymph nodes:\n Iliac, NOS:\n Common\n External\n Internal (hypogastric)\n Obturator\n Middle sacral (promontorial) (Gerota's node)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "150", "Upper two thirds of vagina, regional nodes: \n Pelvic lymph nodes:\n Iliac, NOS:\n Common\n External\n Internal (hypogastric)\n Obturator\n Middle sacral (promontorial) (Gerota's node)", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "Lower third of vagina, regional nodes:\n Ipsilateral:\n Inguinal, NOS:\n Superficial inguinal (femoral)", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "300", "Lower third of vagina, regional nodes:\n Bilateral:\n Inguinal, NOS:\n Superficial inguinal (femoral)", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "400", "Upper two-thirds of vagina, regional nodes:\n Pelvic lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "425", "Unknown whether primary is in upper two-thirds or lower third of vagina:\n Pelvic lymph nodes:\n Iliac, NOS:\n Common\n External\n Internal (hypogastric)\n Obturator\n Middle sacral (promontorial) (Gerota's node)", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "430", "Unknown whether primary is in upper two-thirds or lower third of vagina:\n Ipsilateral:\n Inguinal, NOS:\n Superficial inguinal (femoral)", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "450", "Unknown whether primary is in upper or lower vagina:\n Bilateral:\n Inguinal, NOS:\n Superficial inguinal (femoral)", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "475", "Unknown whether primary is in upper two-thirds or lower third of vagina:\n Pelvic lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 510, 520, 530\n\n Regional lymph node(s), unknown whether primary\n is in upper or lower vagina\nRegional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "510", "Primary is in upper two-thirds of vagina: \n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "520", "Primary is in lower third of vagina: \n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "530", "Unknown whether primary is in upper two-thirds or lower third of vagina: \n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "600", "FIGO Stage III based on lymph node involvement", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "620", "FIGO Stage III not stated if based on extension or lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbb.json deleted file mode 100644 index 2855b7695..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbb.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dbb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: The regional nodes are inguinal or femoral: inguinal, NOS; deep inguinal, NOS; Node of Cloquet or Rosenmuller (highest deep inguinal); and superficial inguinal (femoral) and regional lymph nodes [NOS].\n\n**Note 3**: When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and regional lymph node detail are available, record the code with regional lymph node detail in preference to a statement of FIGO stage. FIGO Stage IVA is assigned based on tumor extension and/or regional lymph node involvement. Code CS Lymph Nodes based on a physician's statement of FIGO Stage IVA only if it is known that the stage value is assigned because of regional lymph node involvement.", - "footnotes" : "- CS Lymph Nodes codes 110-450 are used in conjunction with CS Site Specific Factor 11,Regional Lymph Node Laterality, to determine the N category for AJCC 6 staging as shown in the Lymph Nodes SSF 11 AJCC 6 Table.", - "last_modified" : "2015-05-27T16:19:32.984Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nUnilateral regional lymph nodes:\n Inguinal, NOS:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal (femoral)\nRegional lymph nodes, NOS (unilateral)\nFIGO Stage III", "ERROR:", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "110", "1 or 2 regional lymph node(s) positive and size of metastasis in each node less than 5 mm", "VALUE:N1a", "JUMP:lymph_nodes_ssf11_ajcc6_xqd", "VALUE:RN", "VALUE:RN" ], [ "120", "1 lymph node metastasis equal to or greater than 5 mm", "VALUE:N1b", "JUMP:lymph_nodes_ssf11_ajcc6_xqd", "VALUE:RN", "VALUE:RN" ], [ "130", " 1 or 2 regional lymph node(s) positive (or number positive unknown) and size of metastasis not given", "VALUE:N1NOS", "JUMP:lymph_nodes_ssf11_ajcc6_xqd", "VALUE:RN", "VALUE:RN" ], [ "150", "FIGO Stage IIIA", "VALUE:N1NOS", "JUMP:lymph_nodes_ssf11_ajcc6_xqd", "VALUE:RN", "VALUE:RN" ], [ "210", "3 or more regional lymph nodes positive and size of metastasis in each node less than 5 mm", "VALUE:N2a", "JUMP:lymph_nodes_ssf11_ajcc6_xqd", "VALUE:RN", "VALUE:RN" ], [ "220", "At least 2 lymph node metastases equal to or greater than 5 mm", "VALUE:N2b", "JUMP:lymph_nodes_ssf11_ajcc6_xqd", "VALUE:RN", "VALUE:RN" ], [ "230", "3 or more regional lymph node(s) positive and size of metastases not given", "VALUE:N2NOS", "JUMP:lymph_nodes_ssf11_ajcc6_xqd", "VALUE:RN", "VALUE:RN" ], [ "250", "FIGO Stage IIIB", "VALUE:N2NOS", "JUMP:lymph_nodes_ssf11_ajcc6_xqd", "VALUE:RN", "VALUE:RN" ], [ "300", "Regional lymph node(s) with extracapsular spread", "VALUE:N2c", "JUMP:lymph_nodes_ssf11_ajcc6_xqd", "VALUE:RN", "VALUE:RN" ], [ "350", "FIGO Stage IIIC", "VALUE:N2c", "JUMP:lymph_nodes_ssf11_ajcc6_xqd", "VALUE:RN", "VALUE:RN" ], [ "360", "FIGO Stage III [NOS]", "VALUE:N1NOS", "JUMP:lymph_nodes_ssf11_ajcc6_xqd", "VALUE:RN", "VALUE:RN" ], [ "400", "Fixed or ulcerated regional lymph nodes", "VALUE:N3", "JUMP:lymph_nodes_ssf11_ajcc6_xqd", "VALUE:RN", "VALUE:RN" ], [ "450", "FIGO Stage IVA based on regional lymph node involvement", "VALUE:N3", "JUMP:lymph_nodes_ssf11_ajcc6_xqd", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nBilateral or contralateral regional lymph nodes:\n Inguinal, NOS:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal (femoral)\nRegional lymph nodes, NOS (bilateral/contralateral)\nFIGO Stage IVA", "ERROR:", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "600", "Regional lymph node(s), NOS ", "VALUE:N1NOS", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1NOS", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbc.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbc.json deleted file mode 100644 index 9d58888da..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbc.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Federation Internationale de Gynecologie at d-Obstetrique (FIGO) Stage IIIB is assigned based on tumor extension and/or regional lymph node involvement. Code CS Lymph Nodes based on a physician's statement of FIGO Stage IIIB if it is known that the stage value is assigned because of lymph node involvement, or if there is no statement that FIGO Stage IIIB is assigned based on extension or lymph node involvement. \n\n**Note 3**: If either exploratory or definitive surgery is done with no mention of lymph nodes, assume nodes are negative.\n\n**Note 4**: If the clinician says \"adnexa palpated\" but does not mention lymph nodes, assume lymph nodes are not involved.", - "last_modified" : "2015-05-27T16:19:33.043Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\n Iliac, NOS:\n Common\n External\n Internal (hypogastric)\n Obturator\n Paracervical\n Parametrial\n Pelvic, NOS\n Sacral, NOS:\n Lateral (laterosacral)\n Middle (promontorial) (Gerota's node)\n Presacral\n Uterosacral\nRegional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "FIGO Stage IIIB based on lymph node involvement", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "300", "FIGO Stage IIIB with no other information on extension or regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbd.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbd.json deleted file mode 100644 index 642fe48fc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbd.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX. Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 2**: When both FIGO stage and regional lymph node detail are available, record the code with regional lymph node detail in preference to a statement of FIGO stage.\n\n**Note 3**: If either exploratory or definitive surgery is done with no mention of lymph nodes, assume nodes are negative.\n\n**Note 4**: If the clinician says \"adnexa palpated\" but does not mention lymph nodes, assume lymph nodes are not involved.", - "last_modified" : "2015-05-27T16:19:33.098Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s):\n Iliac, NOS:\n Common\n External\n Internal (hypogastric)\n Obturator\n Paracervical\n Parametrial\n Sacral, NOS:\n Lateral (laterosacral)\n Middle (promontorial) (Gerota's node)\n Presacral\n Uterosacral", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "140", "Pelvic lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "160", "FIGO Stage IIIC1", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "Regional lymph node(s):\n Aortic, NOS:\n Lateral (lumbar)\n Para-aortic\n Periaortic", "VALUE:N2", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "210", "200 + (140 or 100)", "VALUE:N2", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "250", "FIGO Stage IIIC2", "VALUE:N2", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "500", "FIGO Stage IIIC [NOS]", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbe.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbe.json deleted file mode 100644 index 005ce7b3d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbe.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in the field CS Mets at DX.\n\n**Note 2**: Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 3**: Determine the size of the largest metastasis in a lymph node as documented in the pathology report to assign codes 100-300, not the size of the lymph node. If the size of the metastasis is not documented, determine the size of the largest involved lymph node as documented pathologically or clinically with pathology taking priority. Do not code the size of any node(s) coded in CS Mets at DX.\n\n**Note 4**: The assignment of the N category is based both on number and size of metastasis. Use codes as described here if the number and/or size of nodes involved is unknown:\n\n* Code 110: Single node involved, size not stated.\n* Code 210: Multiple nodes involved, size not stated.\n* Code 200: Single or multiple nodes not stated, size stated and greater than 2 cm but less than or equal to 5 cm.\n* Code 300: Single or multiple nodes not stated, size stated and greater than 5 cm.\n* Code 505: Single or multiple nodes not stated, size not stated.", - "last_modified" : "2015-05-27T16:19:33.156Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "SINGLE regional lymph node, less than or equal to 2 cm:\n Renal Pelvis:\n Aortic, NOS:\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Paracaval\n Renal hilar\n Retroperitoneal, NOS\n Regional lymph node, NOS\n Ureter:\n Iliac, NOS:\n Common\n External\n Internal (hypogastric), NOS\n Obturator\n Lateral aortic (lumbar)\n Paracaval\n Pelvic, NOS\n Periureteral\n Renal hilar\n Retroperitoneal, NOS\n Regional lymph node, NOS\n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "110", "SINGLE regional node listed in code 100, size not stated", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "SINGLE regional lymph node listed in code 100, greater than 2 cm but less than or equal to 5 cm \n OR \nMULTIPLE regional nodes listed in code 100, none greater than 5 cm\n\nStated as N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "210", "MULTIPLE regional nodes listed in code 100, size not stated", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "300", "Regional lymph node(s) listed in code 100, at least one greater than 5 cm\n\nStated as N3 with no other information on regional lymph nodes", "VALUE:N3", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 200, 210, 300, and 505\n\nRegional lymph node(s), NOS (size and/or number not stated)", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "505", "Regional lymph node(s), NOS:\nSize and/or number not stated \n(See Note 4 for exceptions)", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbf.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbf.json deleted file mode 100644 index 3e84b57dd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbf.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:33.209Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional nodes, including contralateral or bilateral lymph nodes:\n Iliac, NOS:\n External\n Internal (hypogastric), NOS:\n Obturator\n Pelvic, NOS\n Periprostatic\n Sacral, NOS:\n Lateral (laterosacral)\n Middle (promontorial)(Gerota's node)\n Presacral\n Regional lymph node(s), NOS\n \nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbg.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbg.json deleted file mode 100644 index 9b29756db..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbg.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in the field CS Mets at DX.\n\n**Note 2**: Regional nodes include unilateral, bilateral or contralateral involvement of named node(s).", - "last_modified" : "2015-05-27T16:19:33.262Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "SINGLE regional lymph node:\n Aortic, NOS:\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Preaortic\n Retroaortic\n Renal hilar\n Retroperitoneal, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "110", "SINGLE regional lymph node:\n Interaortocaval \n Pericaval, NOS\n Paracaval\n Precaval\n Retrocaval", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "150", "OBSOLETE DATA CONVERTED V0203\nSee code 210\n\n110 + 100\n\nSingle regional lymph node as specified in code 110 plus single regional lymph node as specified in code 100", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "200", "MULTIPLE regional lymph nodes listed in code 100", "VALUE:N1", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "210", "MULTIPLE regional nodes, any listed in code 110\nWITH or WITHOUT nodes listed in code 100", "VALUE:N1", "VALUE:N2", "VALUE:D", "VALUE:RN" ], [ "400", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 200 and 210\n\nMore than one regional lymph node other than as defined in code 150", "VALUE:N1", "VALUE:N2", "VALUE:D", "VALUE:RN" ], [ "700", "Regional lymph nodes, NOS \nNot stated if single or multiple\n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbh.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbh.json deleted file mode 100644 index 4cf0d4423..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbh.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Regional lymph nodes are defined as those in the vicinity of the primary tumor.\n\n**Note 3**: Regional lymph node involvement is rare. If there is no mention of lymph node involvement clinically, assume that lymph nodes are negative. Use code 999 (Unknown) only when there is no available information on the extent of the patient's disease, for example when a lab-only case is abstracted from a biopsy report and no clinical history is available.", - "last_modified" : "2015-05-27T16:19:33.308Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "300", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record\n(See Note 3)", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbi.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbi.json deleted file mode 100644 index 30a8d4706..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbi.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this fields. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Regional lymph nodes are defined as those in the vicinity of the primary tumor.\n\n**Note 3**: Regional lymph node involvement is rare. For this schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative. Use code 999 (Unknown) only when there is no available information on the extent of the patient's disease, for example when a lab-only case is abstracted from a biopsy report and no clinical history is available.", - "last_modified" : "2015-05-27T16:19:33.364Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\n Intra-abdominal\n Paracaval\n Pelvic\n Subdiaphragmatic\n Regional lymph nodes, NOS\n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record\n(See Note 3)", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbj.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbj.json deleted file mode 100644 index eaf360dfd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbj.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dbj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in the field CS Mets at DX.", - "footnotes" : "- For CS Lymph nodes codes 100-270, 310-380, 500 and 505 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 17, Extranodal Extension of Regional Lymph Nodes, as shown in the Lymph Node Extranodal Extension table for this schema.", - "last_modified" : "2015-05-27T16:19:33.412Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "SINGLE regional lymph node:\n Superficial inguinal (femoral) regional lymph node\n Inguinal node, NOS (unknown if superficial or deep)\n\nStated as N1 with no other information on regional lymph nodes", "JUMP:lymph_node_extranodal_extension_xdn", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "MULTIPLE or BILATERAL regional lymph nodes:\n Superficial inguinal (femoral) regional lymph nodes\n Inguinal nodes, NOS (unknown if superficial or deep)\n\nStated as N2 with no other information on regional lymph nodes", "JUMP:lymph_node_extranodal_extension_xdn", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "250", "Regional lymph nodes, not stated if single or multiple or bilateral:\n Superficial inguinal (femoral) regional lymph nodes\n Inguinal nodes, NOS (unknown if superficial or deep)", "JUMP:lymph_node_extranodal_extension_xdn", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "260", "SINGLE regional lymph nodes, NOS\nNot stated if inguinal or pelvic", "JUMP:lymph_node_extranodal_extension_xdn", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "270", "MULTIPLE or BILATERAL regional lymph nodes, NOS: \nNot stated if inguinal or pelvic", "JUMP:lymph_node_extranodal_extension_xdn", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\nDeep inguinal node(s) reclassified in AJCC 7th Edition, see codes 310 and 350\n\nRegional lymph node:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)", "ERROR:", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "310", "SINGLE regional node:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)", "JUMP:lymph_node_extranodal_extension_xdn", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "350", "MULTIPLE or BILATERAL regional nodes:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)", "JUMP:lymph_node_extranodal_extension_xdn", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "370", "OBSOLETE DATA REVIEWED V0203\nSee codes 250 and 380\n\nInguinal nodes, NOS (unknown if single, multiple, unilateral or bilateral)", "JUMP:lymph_node_extranodal_extension_xdn", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "380", "Regional lymph nodes, not stated if single, multiple or bilateral:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)", "JUMP:lymph_node_extranodal_extension_xdn", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "400", "Single, multiple, unilateral or bilateral regional nodes:\n Pelvic lymph nodes, NOS:\n External iliac\n Internal iliac (hypogastric)\n Obturator", "VALUE:N3", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "450", "Stated as N3 with no other information on regional lymph nodes", "VALUE:N3", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 260, 270 and 505\n\nRegional lymph node(s), NOS", "JUMP:lymph_node_extranodal_extension_xdn", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "505", "Regional lymph node(s), NOS:\nNot stated if single or multiple \nAND not stated if inguinal or pelvic", "JUMP:lymph_node_extranodal_extension_xdn", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbk.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbk.json deleted file mode 100644 index 88a13bfa7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbk.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Regional lymph nodes are defined as those in the vicinity of the primary tumor.\n\n**Note 3**: Regional lymph node involvement is rare. For this schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative. Use code 999 (Unknown) only when there is no available information on the extent of the patient's disease, for example, when a lab-only case is abstracted from a biopsy report and no clinical history is available.", - "last_modified" : "2015-05-27T16:19:33.460Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\n Aortic (above diaphragm), NOS:\n Peri/para-aortic, NOS\n Ascending aorta (phrenic)\n Subaortic (aortico-pulmonary window)\n Carinal (tracheobronchial) (tracheal bifurcation)\n Mediastinal, NOS:\n Anterior\n Posterior (tracheoesophageal)\n Pericardial\n Peri/paraesophageal\n Peri/paratracheal, NOS:\n Azygos (lower peritracheal)\n Pre- and retrotracheal, NOS:\n Precarinal\n Pulmonary ligament\n Subcarinal \n Regional lymph node(s), NOS\n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record\n(See Note 3)", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbl.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbl.json deleted file mode 100644 index 8c40b0496..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbl.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:33.509Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s):\n Celiac\n Hepatic\n Infrapyloric (subpyloric)\n Lateral aortic (lumbar)\n Pancreaticosplenic (pancreaticolienal)\n Peripancreatic, NOS:\n Anterior, NOS:\n Anterior pancreaticoduodenal\n Anterior proximal mesenteric\n Pyloric\n Inferior to the head and body of pancreas\n Posterior, NOS:\n Pericholedochal (common bile duct)\n Posterior pancreaticoduodenal\n Posterior proximal mesentery\n Superior to the head and body of pancreas \n Retroperitoneal\n Splenic (lienal), NOS\n Gastroepiploic (gastro-omental), left\n Splenic artery\n Splenic hilum\n Suprapancreatic\n Superior mesenteric\n Regional lymph node(s), NOS \n\n Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbm.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbm.json deleted file mode 100644 index 60f16823a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbm.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dbm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX. \n\n**Note 2**: Pericholedochal (nodes of the common bile duct), superior mesenteric, and pyloric nodes are classified as distant for AJCC 7 staging. They are coded in CS Mets at DX.\n\n**Note 3**: The specific location of the mesenteric nodes determines whether they are regional or distant. If the specific location is not described, code 800, Lymph Nodes, NOS.\n\n**Note 4**: Porta hepatic nodes are considered distant for Body and Tail and should be coded in CS Mets at DX, code 10. If the specific location for hepatic nodes is not described, code 110, Regional Lymph nodes - Hepatic in CS Lymph Nodes.", - "footnotes" : "- For CS Lymph Nodes codes 000 and 999, the N category for AJCC 6 staging is based on the value of CS Mets at DX as shown in the Lymph Nodes Mets at DX AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:33.568Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "JUMP:lymph_nodes_metsat_dxajcc6_xje", "VALUE:NONE", "VALUE:NONE" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 000 and 110 and CS Mets at DX code 07, 20, and 45\n\nRegional lymph node(s):\n Hepatic\n Lateral aortic (lumbar)\n Pancreaticosplenic (pancreaticolienal)\n Peripancreatic, NOS:\n Anterior, NOS:\n Anterior pancreaticoduodenal\n Anterior proximal mesenteric\n Pyloric\n Inferior to the head and body of pancreas\n Posterior, NOS:\n Pericholedochal (common bile duct)\n Posterior pancreaticoduodenal\n Posterior proximal mesentery\n Superior to the head and body of pancreas\n Retroperitoneal\n Splenic (lienal)\n Gastroepiploic \n Splenic hilum\n Suprapancreatic\n Superior mesenteric\n Regional lymph node(s), NOS \nStated as N1, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph node(s):\n Hepatic\n Lateral aortic (lumbar)\n Pancreaticosplenic (pancreaticolienal)\n Peripancreatic, NOS:\n Anterior, NOS:\n Anterior pancreaticoduodenal\n Anterior proximal mesenteric\n Inferior to the head and body of pancreas\n Posterior, NOS:\n Posterior pancreaticoduodenal\n Posterior proximal mesentery\n Superior to the head and body of pancreas\n Retroperitoneal\n Splenic (lienal):\n Gastroepiploic (gastro-omental), left\n Splenic artery\n Splenic hilum\n Suprapancreatic\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 000, 110, and 210 and CS Mets at DX codes 07, 20, and 45\n\nRegional lymph node(s):\n Celiac\n Infrapyloric (subpyloric)", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "210", "Regional lymph node(s):\n Celiac", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "250", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "JUMP:lymph_nodes_metsat_dxajcc6_xje", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbn.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbn.json deleted file mode 100644 index be4032ba9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbn.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dbn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX. \n\n**Note 2**: Celiac axis and splenic nodes are classified as distant nodes for AJCC 7 staging and are coded in CS Mets at DX.", - "footnotes" : "- For CS Lymph Nodes codes 000 and 999, the N category for AJCC 6 staging is based on the value of CS Mets at DX as shown in the CS Lymph Nodes Mets at DX AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:33.626Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "JUMP:lymph_nodes_metsat_dxajcc6_xjf", "VALUE:NONE", "VALUE:NONE" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 000 and 110 and CS Mets at DX codes 05, 07, 20, and 45\n\nRegional lymph nodes:\n Celiac \n Gastroepiploic (gastro-omental), left\n Hepatic\n Infrapyloric (subpyloric)\n Lateral aortic (lumbar)\n Peripancreatic, NOS:\n Anterior, NOS:\n Anterior pancreaticoduodenal\n Anterior proximal mesenteric\n Pyloric\n Inferior to the head and body of pancreas\n Posterior, NOS:\n Pericholedochal (common bile duct)\n Posterior pancreaticoduodenal\n Posterior proximal mesentery\n Superior to the head and body of pancreas\n Retroperitoneal\n Superior mesenteric\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph nodes:\n Hepatic\n Lateral aortic (lumbar)\n Peripancreatic, NOS:\n Anterior, NOS:\n Anterior pancreaticoduodenal\n Anterior proximal mesenteric\n Pyloric\n Inferior to the head and body of pancreas\n Posterior, NOS:\n Pericholedochal (common bile duct)\n Posterior pancreaticoduodenal\n Posterior proximal mesentery\n Superior to the head and body of pancreas\n Pyloric:\n Infrapyloric\n Retropyloric\n Suprapyloric\n Subpyloric\n Retroperitoneal\n Superior mesenteric\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 000 and 110 and CS Mets at DX codes 07, 20, 45\n\nPancreaticosplenic (pancreaticolienal)\nSplenic (lienal), NOS\n Superior hilum\n Suprapancreatic", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "250", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated Regional lymph nodes cannot be assessed Not documented in patient record", "VALUE:NX", "JUMP:lymph_nodes_metsat_dxajcc6_xjf", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbo.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbo.json deleted file mode 100644 index 048a81a10..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbo.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS , in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Splenic lymph nodes and those located at the tail of the pancreas are not considered regional and should be coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:33.674Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s):\n Anterior to the ampulla of Vater\n Inferior to the ampulla of Vater\n Posterior to the ampulla of Vater\n Superior to the ampulla of Vater\n Hepatic \n Hepatic artery\n Node of the foramen of Winslow (epiploic) (omental)\n Pancreaticoduodenal\n Peripancreatic (EXCEPT nodes at tail of pancreas)\n Periportal (portal vein)\n Regional lymph node(s), NOS\n\n Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph node(s):\n Celiac\n Infrapyloric (subpyloric)\n Lateral aortic (lumbar)\n Proximal mesenteric\n Retroperitoneal\n Superior mesenteric", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbq.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbq.json deleted file mode 100644 index fa35fb9a9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbq.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX. Peridiaphragmatic nodes are classified as regional nodes in AJCC 7 staging. They are now coded in CS Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:33.726Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes, ipsilateral, intrapulmonary:\n Hilar:\n Bronchopulmonary\n Proximal lobar\n Pulmonary root\n Intrapulmonary:\n Interlobar\n Lobar\n Segmental\n Subsegmental\n Peri/parabronchial", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "110", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 210, 220, 230, 250\n\nRegional lymph nodes, ipsilateral, mediastinal:\n Aortic [above diaphragm], NOS:\n Aorto-pulmonary window\n Ascending aorta\n Peri/para-aortic\n Phrenic\n Subaortic\n Carinal:\n Tracheobronchial\n Tracheal bifurcation\n Internal mammary (parasternal)\n Mediastinal, NOS:\n Anterior\n Posterior (tracheoesophageal)\n Pericardial\n Peri/paraesophageal [below carina]\n Peri/paratracheal, NOS:\n Lower peritracheal (azygos)\n Upper paratracheal\n Pretracheal and retrotracheal, NOS:\n Precarinal\n Prevascular\n Pulmonary ligament\n Subcardial\n Subcarinal\n Peridiaphragmatic \nStated as N2", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "210", "Regional lymph nodes, ipsilateral, mediastinal:\n Aortic (above diaphragm), NOS:\n Aorto-pulmonary window\n Ascending aorta\n Peri/para-aortic\n Phrenic\n Subaortic\n Carinal:\n Tracheobronchial\n Tracheal bifurcation\n Internal mammary (parasternal)\n Mediastinal, NOS:\n Anterior\n Posterior (tracheoesophageal)\n Pericardial\n Peri/paraesophageal (below carina)\n Peri/paratracheal, NOS:\n Lower peritracheal (azygos)\n Upper paratracheal\n Pretracheal and retrotracheal, NOS:\n Precarinal\n Prevascular\n Pulmonary ligament\n Subcardial\n Subcarinal", "VALUE:N2", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "220", "Regional lymph nodes, ipsilateral, mediastinal:\n Peridiaphragmatic", "VALUE:N2", "VALUE:N0", "VALUE:D", "VALUE:D" ], [ "230", "220 + (100, 210)", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "250", "Stated as N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "500", "Regional lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "700", "Contralateral or bilateral nodes specified in codes 100, 210, 220 or 230\n Ipsilateral, contralateral or bilateral nodes:\n Scalene (inferior deep cervical)\n Supraclavicular (transverse cervical)\n\nStated as N3 with no other information on regional lymph nodes", "VALUE:N3", "VALUE:N3", "VALUE:D", "VALUE:D" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbr.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbr.json deleted file mode 100644 index 717819cb8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbr.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: This field includes all lymph nodes defined as Levels I-VI and Other by AJCC. The complete definitions are provided in the General Rules, Section 2 for head and neck cancers.\n\n**Note 3**: Assignment of N value for thyroid does not depend on laterality. All codes for nodal involvement include ipsilateral, bilateral, contralateral, and midline lymph nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.", - "last_modified" : "2015-05-27T16:19:33.779Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "OBSOLETE DATA REVIEWED AND CHANGED V0103\nSee codes 120-150\n\nIpsilateral regional lymph nodes:\n Anterior deep cervical (laterotracheal) (recurrent laryngeal):\n Paralaryngeal\n Paratracheal\n Prelaryngeal\n Pretracheal\n Cervical, NOS\n Internal jugular, NOS:\n Deep cervical, NOS:\n Lower, NOS\n Jugulo-omohyoid (supraomohyoid)\n Middle\n Retropharyngeal\n Spinal accessory (posterior cervical)\nNOTE: Review and recode in 120-150", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "110", "OBSOLETE DATA REVIEWED AND CHANGED V0103\nSee codes 120-150\n\nRegional lymph nodes:\n Delphian node\n Mediastinal, NOS\n Posterior mediastinal (tracheoesophageal)\n Upper anterior mediastinal\n Supraclavicular (transverse cervical)\nNOTE: Review and recode in 120-150", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "120", "Positive regional node(s):\n Level VI nodes - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal \n Pretracheal - above suprasternal notch\n Recurrent laryngeal", "VALUE:N1a", "VALUE:N1a", "VALUE:RN", "VALUE:RN" ], [ "125", "Stated as N1a with no other information", "VALUE:N1a", "VALUE:N1a", "VALUE:RN", "VALUE:RN" ], [ "130", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCode 130 in CSv1 was defined as \"Cervical nodes (other than those in central compartment). Levels I-III and Levels IV-V (except supraclavicular nodes, see code 14), Level I node: Submandibular (submaxillary), Submental, Level II node: Jugulodigastric (subdigastric), Upper deep cervical, Upper jugular, Level III node: Middle deep cervical, Mid jugular, Level IV node: Jugulo-omohyoid (supraomohyoid), Lower deep cervical, Lower jugular, Level V node: Posterior cervical, Posterior triangle (spinal accessory and transverse cervical), Other Groups: Parapharyngeal, Retropharyngeal, Sub-occipital, Cervical, NOS, Deep cervical, NOS, Internal jugular, NOS, Mandibular, NOS, Stated as N1b, NOS\". Code 130 in CSv2: V0201, V0202 was defined as shown below. All cases with code 130 should be reviewed and recoded to appropriate codes; see codes 135, 155, and 160.\n\nPositive regional node(s):\n Level II node - Upper jugular\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Upper jugular\n Level III node - Middle jugular\n Middle deep cervical\n Level IV node - Lower jugular \n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Level V node - Posterior triangle group\n Posterior cervical\n Level VA - Spinal accessory \n Other Groups\n Parapharyngeal \n Retroauricular (mastoid) \n Retropharyngeal\n Sub-occipital\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "135", "Positive regional node(s): \n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level II A - Anterior\n Level II B - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory \n Other Groups\n Parapharyngeal\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS", "VALUE:N1b", "VALUE:N1b", "VALUE:RN", "VALUE:RN" ], [ "140", "OBSOLETE DATA CONVERTED V0200\nSee code 150\n\nSupraclavicular nodes (transverse cervical)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "150", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nCode 150 in CSv1 was defined as \"Level VII node: Posterior mediastinal (tracheoesophageal), Superior mediastinal nodes, Upper mediastinal nodes, Mediastinal, NOS\". Code 150 in CSv2: V0201, V0202 was defined as \"Positive regional node(s): Level VB node - Transverse cervical, supraclavicular, Level VII node - Superior mediastinal group (for other mediastinal nodes see CSMets at DX), Esophageal groove, Paratracheal - below suprasternal notch, Pretracheal - below suprasternal notch\". All cases with code 150 should be reviewed and recoded to appropriate codes; see codes 155 and 158. \n\nLevel VII node\n Posterior mediastinal (tracheoesophageal)\n Superior mediastinal nodes\n Upper mediastinal nodes\n Mediastinal, NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "155", "Positive regional node(s):\n Level VB - Transverse cervical, supraclavicular ", "VALUE:N1b", "VALUE:N1b", "VALUE:D", "VALUE:RN" ], [ "158", "Positive regional node(s):\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch", "VALUE:N1b", "VALUE:N1b", "VALUE:D", "VALUE:RN" ], [ "160", "Positive regional node(s):\n Level I: \n Level IA - Submental \n Level IB - Submandibular (submaxillary), sublingual\n Facial:\n Buccinator\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular", "VALUE:N1b", "VALUE:N1b", "VALUE:D", "VALUE:D" ], [ "170", "Stated as N1b with no other information on regional lymph nodes", "VALUE:N1b", "VALUE:N1b", "VALUE:RN", "VALUE:RN" ], [ "180", "Stated as N1 [NOS] with no other information on regional lymph nodes", "VALUE:N1NOS", "VALUE:N1NOS", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA REVIEWED AND CHANGED V0102\nSee codes 120-150\n\nRegional lymph nodes as listed in code 100\nBilateral, contralateral, or midline cervical nodes\n \nNOTE: Review and recode in 120-150", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "210", "OBSOLETE DATA REVIEWED AND CHANGED V0102\nSee codes 120-150\n\nRegional lymph nodes\nas listed in code 11\nBilateral, contralateral, midline nodes\n\nNOTE: Review and recode in 120-150", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "300", "OBSOLETE DATA REVIEWED AND CHANGED V0102\nSee code 150\n\nTracheoesophageal \n(posterior mediastinal)\n\nNOTE: Review and recode in 150", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "310", "OBSOLETE DATA REVIEWED AND CHANGED V0102\nSee code 150\n\nMediastinal, NOS\nUpper anterior mediastinal\n\nNOTE: Review and recode in 150", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "500", "Regional lymph node(s), NOS", "VALUE:N1NOS", "VALUE:N1NOS", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1NOS", "VALUE:N1NOS", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbs.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbs.json deleted file mode 100644 index ecb3cd183..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbs.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbs", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Regional lymph nodes are defined as those in the vicinity of the primary tumor.\n\n**Note 3**: Regional lymph node involvement is rare. For this schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative. Use code 999 (Unknown) only when there is no available information on the extent of the patient's disease, for example when a lab-only case is abstracted from a biopsy report and no clinical history is available.\n\n**Note 4**: For head, neck, and trunk primaries only, regional lymph nodes include bilateral or contralateral nodes.", - "last_modified" : "2015-05-27T16:19:33.830Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes by primary site:\nAll Head and Neck Subsites:\n Cervical\nLip:\n Facial, NOS:\n Buccinator (buccal)\n Nasolabial\n Mandibular\n Submandibular (submaxillary)\n Submental\n Parotid, NOS:\n Infra-auricular\n Preauricular\nEyelid/canthus:\n Facial, NOS:\n Buccinator (buccal)\n Nasolabial\n Mandibular:\n Submandibular (submaxillary)\n Submental\n Parotid, NOS:\n Infra-auricular\nExternal ear and auditory canal:\n Mastoid (posterior, retro-auricular) (occipital)\n Preauricular\nFace, Other (cheek, chin, forehead, jaw, nose, and temple):\n Facial, NOS:\n Buccinator (buccal)\n Nasolabial\n Mandibular:\n Submandibular (submaxillary)\n Submental\n Parotid, NOS:\n Infra-auricular\n Preauricular\nScalp:\n Mastoid (posterior, retro-auricular) (occipital)\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Spinal accessory (posterior cervical)\nNeck:\n Axillary\n Mastoid (posterior, retro-auricular) (occipital)\n Mandibular\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Spinal accessory (posterior cervical)\n Supraclavicular (transverse cervical)\nArm/shoulder:\n Axillary\n Spinal accessory for shoulder\n Epitrochlear for hand/forearm\nLeg/hip:\n Femoral (superficial inguinal)\n Popliteal for heel and calf\nThorax:\n Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n Mediastinal\nAbdomen:\n Celiac\n Iliac\n Para-aortic\nPelvis:\n Deep inguinal, NOS:\n Rosenmuller or Cloquet node\n Superficial inguinal (femoral)\nUpper trunk:\n Axillary\n Cervical\n Internal mammary\n Supraclavicular (transverse cervical)\nLower trunk:\n Superficial inguinal (femoral)\nAll sites:\n Regional lymph node(s), NOS\n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "120", "Submental nodes for neck primary only \n(Including bilateral or contralateral nodes)", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "150", "Neck primary only:\n 120 + 100", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record\n(See Note 3)", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbt.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbt.json deleted file mode 100644 index cc8d0be7a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbt.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dbt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Bilateral or contralateral nodes are considered regional nodes for head, neck, and truncal tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. Truncal tumors may also drain to both cephalad and caudal primary nodal basins as shown on lymphoscintigraphy. Clinical assessment of bilateral/contralateral or cephalad/caudal regional nodal involvement is required for tumors where lymphoscintigraphy is not performed.\n\n**Note 3**: Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins. Secondary basins are considered regional for AJCC staging but may be distant for Summary Stage. Use code 270 for involvement of nodes in secondary nodal basins not specified in codes 150 and 160.", - "footnotes" : "- For CS Lymph Nodes codes 150-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 16, Size of Lymph Nodes, using the Lymph Nodes Size AJCC 7 Table for this schema.", - "last_modified" : "2015-05-27T16:19:33.886Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes by primary site (includes bilateral\nor contralateral nodes for head, neck, and trunk)\nHEAD AND NECK:\n All subsites: Cervical\n Lip:\n Mandibular, NOS:\n Submandibular (submaxillary)\n External ear/auditory canal:\n Mastoid (post-/retro-auricular) (occipital)\n Preauricular\n Face, Other (cheek, chin, forehead, jaw, nose and temple):\n Facial, NOS:\n Buccinator (buccal)\n Nasolabial\n Mandibular, NOS:\n Submandibular (submaxillary)\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Scalp:\n Mastoid (post-/retro-auricular) (occipital)\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Spinal accessory (posterior cervical)\n Neck:\n Axillary\n Mandibular, NOS\n Mastoid (post-/retro-auricular) (occipital)\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Spinal accessory (posterior cervical)\n Supraclavicular (transverse cervical)\nUPPER TRUNK:\n Axillary\n Cervical\n Internal mammary (parasternal)\n Supraclavicular (transverse cervical)\nLOWER TRUNK:\n Femoral (superficial inguinal)\nARM/SHOULDER:\n Axillary\n Epitrochlear for hand/forearm\n Spinal accessory for shoulder\nLEG/HIP:\n Femoral (superficial inguinal)\n Popliteal for heel and calf\nALL SITES: \n Regional lymph node(s), NOS", "ERROR:", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "150", "SINGLE IPSILATERAL positive regional lymph node by primary site:\nHead and Neck:\n All subsites: Cervical\n Lip:\n Mandibular, NOS:\n Submandibular (submaxillary)\n External ear/auditory canal:\n Mastoid (post-/retro-auricular) (occipital)\n Preauricular\n Face, Other (cheek, chin, forehead, jaw, nose and temple):\n Facial, NOS:\n Buccinator (buccal)\n Nasolabial\n Mandibular, NOS:\n Submandibular (submaxillary)\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Scalp:\n Mastoid (post-/retro-auricular) (occipital)\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Spinal accessory (posterior cervical)\n Neck:\n Axillary\n Mandibular, NOS\n Mastoid (post-/retro-auricular) (occipital)\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Spinal accessory (posterior cervical)\n Supraclavicular (transverse cervical)\nUpper Trunk:\n Axillary\n Cervical\n Internal mammary (parasternal)\n Supraclavicular (transverse cervical)\nLower Trunk:\n Femoral (superficial inguinal)\nArm/Shoulder:\n Axillary\n Epitrochlear for hand/forearm\n Spinal accessory for shoulder\nLeg/Hip:\n Femoral (superficial inguinal)\n Popliteal for heel and calf\nAll sites: Regional lymph node, NOS", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "160", "SINGLE IPSILATERAL positive regional lymph node by primary site:\nHead and Neck:\n Lip:\n Facial, NOS:\n Buccinator (buccal)\n Nasolabial\n Submental\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Face, Other (cheek, chin, forehead, jaw, nose, and temple):\n Submental\n Neck: \n Submental", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nHEAD AND NECK:\n Lip:\n Facial, NOS:\n Buccinator (buccal)\n Nasolabial\n Submental\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Face, Other (cheek, chin, forehead, jaw, nose, and temple):\n Submental\n Neck: Submental", "ERROR:", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "250", "MULTIPLE IPSILATERAL positive regional lymph nodes listed in code 150", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "260", "MULTIPLE IPSILATERAL positive regional lymph nodes, any listed in code 160 \nWITH or WITHOUT nodes listed in code 150", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "270", "IPSILATERAL positive regional lymph node(s) by primary site:\nBidirectional nodal involvement (see Note 2):\n Upper Trunk:\n Axillary/Femoral (or cephalad/caudal drainage from primary tumor) (see Note 2)\n Lower Trunk:\n Axillary/Femoral (or cephalad/caudal drainage from primary tumor) (see Note 2)\n\nSecondary nodal basin involvement (see Note 3):\n Head and neck:\n All subsites:\n Supraclavicular \n Arm/Shoulder:\n Supraclavicular \n Leg/Hip:\n Iliac\n All sites:\n Regional lymph node(s) in secondary nodal basin, NOS", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\n(10) + (20)", "ERROR:", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "350", "IPSILATERAL positive regional lymph nodes listed in code 150, not stated if single or multiple", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "360", "IPSILATERAL positive regional lymph nodes listed in code 160, not stated if single or multiple", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "450", "BILATERAL or CONTRALATERAL regional lymph nodes as listed in code 150", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "460", "BILATERAL OR CONTRALATERAL regional lymph nodes, any listed in code 160 \nWITH or WITHOUT nodes listed in code 150", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "470", "BILATERAL OR CONTRALATERAL regional lymph nodes listed in code 270", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "550", "Regional lymph node(s) listed in code 150 \nNot stated if ipsilateral, bilateral or contralateral \nAND not stated single or multiple", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "560", "Regional lymph node(s) listed in code 160 \nNot stated if ipsilateral, bilateral or contralateral \nAND not stated if single or multiple", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "570", "Regional lymph nodes listed in code 270\nNot stated if ipsilateral, bilateral or contralateral", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_ajcc7_xfz", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbu.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbu.json deleted file mode 100644 index b39ef8d4f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbu.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 3**: Determine the size of the largest metastasis in a lymph node as documented in the pathology report to assign codes 100-300, not the size of the lymph node itself. If the size of the metastasis is not documented, determine the size of the largest involved lymph node as documented pathologically or clinically with pathology taking priority. Do not code the size of any node(s) coded in CS Mets at DX.\n\n**Note 4**: The assignment of the N category is based both on number and size of metastasis. Use codes as described here if the number and/or size of nodes involved is unknown:\n\n* Code 110: Single node involved, size not stated.\n* Code 210: Multiple nodes involved, size not stated.\n* Code 200: Single or multiple nodes not stated, size stated and greater than 2 cm but less than or equal to 5 cm.\n* Code 300: Single or multiple nodes not stated, size stated and greater than 5 cm.\n* Code 505: Single or multiple nodes not stated, size not stated.", - "last_modified" : "2015-05-27T16:19:33.941Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "SINGLE regional lymph node, less than or equal to 2 cm:\n Iliac, NOS:\n Common\n External\n Internal (hypogastric), NOS:\n Obturator\n Inguinal, NOS:\n Deep inguinal, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial (femoral)\n Pelvic, NOS\n Sacral, NOS\n Presacral\n Regional lymph node, NOS\n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "110", "SINGLE regional node listed in code 100, size not stated", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "SINGLE regional lymph node listed in code 100, greater than 2 cm but less than or equal to 5 cm \nOR \nMULTIPLE regional nodes listed in code 100, none greater than 5 cm", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "210", "MULTIPLE regional nodes listed in code 100, size not stated", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "300", "Regional lymph node(s) listed in code 100, at least one greater than 5 cm", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "400", "Stated as N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 200, 210, 300, and 505\n\nRegional lymph node(s), NOS (size and/or number not stated)", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "505", "Regional lymph node(s), NOS:\nSize and/or number not stated \n(See Note 4 for exceptions)", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbv.json deleted file mode 100644 index 2bad41604..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbv.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in the field CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:33.987Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\n Aortic (above diaphragm), NOS:\n Peri/para-aortic, NOS:\n Ascending aorta (phrenic)\n Subaortic (aortico-pulmonary window)\n Carinal (tracheobronchial) (tracheal bifurcation)\n Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n Intrapulmonary, NOS:\n Interlobar\n Lobar\n Segmental\n Subsegmental\n Mediastinal, NOS:\n Anterior\n Posterior (tracheoesophageal)\n Peri/parabronchial\n Pericardial\n Peri/paraesophageal\n Peri/paratracheal, NOS:\n Azygos (lower peritracheal)\n Pre- and retrotracheal, NOS:\n Precarinal\n Pulmonary ligament\n Subcarinal\n Regional lymph node(s), NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbw.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbw.json deleted file mode 100644 index 6149c5b2b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbw.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in the CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:34.033Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\n Mediastinal, NOS:\n Posterior (tracheoesophageal)\n Paratracheal\n Pretracheal\n Tracheal, NOS \n Regional lymph node(s), NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbx.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbx.json deleted file mode 100644 index 89428f8ee..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dbx.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dbx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in the field Mets at DX.", - "last_modified" : "2015-05-27T16:19:34.080Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes\n Intra-abdominal\n Paracaval\n Pelvic\n Subdiaphragmatic\n Regional lymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dby.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dby.json deleted file mode 100644 index 256d23d58..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dby.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dby", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For this site, code ALL lymph node involvement in this field.\n\n**Note 2**: When coding Regional Nodes Positive and Regional Nodes Examined, only include regional nodes. Do not include distant nodes coded in CS Lymph Nodes. If the only information available is for Lymph Nodes, NOS, coded as 300 in CS Lymph Nodes, assume these are regional nodes for coding Regional nodes Positive and Regional Nodes Examined.", - "last_modified" : "2015-05-27T16:19:34.126Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No lymph node involvement\n(No clinical adenopathy and either pathologically negative or no pathological statement)", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:NONE" ], [ "100", "Clinically enlarged palpable lymph node(s) (adenopathy),\nand either pathologically negative nodes or no pathological statement", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:RN" ], [ "200", "No clinically enlarged palpable lymph node(s) (adenopathy) but pathologically positive lymph node(s)", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:RN" ], [ "300", "Both clinically enlarged palpable lymph node(s) (adenopathy) and pathologically positive lymph nodes\nLymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:RN" ], [ "999", "Unknown; not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dca.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dca.json deleted file mode 100644 index 26c07ddda..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dca.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dca", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Regional nodes include bilateral and contralateral involvement of named nodes.", - "last_modified" : "2015-05-27T16:19:34.173Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s:\n Iliac , NOS:\n External \n Internal (hypogastric), NOS:\n Obturator \n Inguinal , NOS:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal (femoral)\n Pelvic , NOS\n Regional lymph node(s), NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcb.json deleted file mode 100644 index 37889aec1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcb.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dcb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:34.217Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s), NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcc.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcc.json deleted file mode 100644 index 731f29e2c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcc.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dcc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:34.268Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s):\n Aortic, NOS:\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Iliac, NOS:\n Common\n External\n Internal (hypogastric):\n Obturator\n Inguinal\n Lateral sacral (laterosacral)\n Pelvic, NOS \n Retroperitoneal, NOS\n Regional lymph node(s), NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcd.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcd.json deleted file mode 100644 index 05c4c797a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcd.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dcd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: This field includes all lymph nodes defined as Levels I-VI and Other by AJCC. The complete definitions are provided in the General Rules, Section 2 for head and neck cancers.", - "last_modified" : "2015-05-27T16:19:34.320Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes\n Cervical for carotid body and parathyroid only\n Mediastinal for aortic body and thymus only", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dce.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dce.json deleted file mode 100644 index a42bee1d9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dce.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dce", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Only peripheral lymph nodes are assessed; these include the cervical, supraclavicular, epitrochlear, axillary, and inguinal nodal groups. Clinically abnormal peripheral lymph node(s) is defined as any palpable peripheral node that on physical examination is firm, irregular, clustered, fixed, or 1.5 centimeter (cm) or larger in diameter. Central nodes, which are not generally amenable to pathologic assessment, are not currently considered in the nodal classification unless used to establish N3 histopathologically.\n\n**Note 2**: Clinically abnormal nodes must be histopathologically confirmed as positive to assign codes 110-405.\n\n**Note 3**: Dutch grade system includes: \n\n* Grade 1 - Dermatopathic lymphadenopathy (DL)\n* Grade 2 - Early involvement by mycosis fungoides (MF), (presence of cerebriform nuclei larger than 7.5 micrometers (um)\n* Grade 3 - Partial effacement of lymph node architecture; many atypical cerebriform mononuclear cells (CMCs)\n* Grade 4 - Complete effacement of lymph node architecture\n\n**Note 4**: National Cancer Institute - Lymph Nodes (NCI-LN) grade system includes:\n\n* LN 0 - No atypical lymphocytes\n* LN 1 - Occasional and isolated atypical lymphocytes not arranged in clusters\n* LN 2 - Many atypical lymphocytes or in 3-6 cell clusters\n* LN 3 - Aggregates of atypical lymphocytes; nodal architecture preserved\n* LN 4 - Partial/complete effacement of nodal architecture by atypical lymphocytes or frankly neoplastic cells\n\n**Note 5**: A T-cell clone (clone negative or clone positive) is defined by polymerase chain reaction (PCR) or Southern blot analysis of the T-cell receptor gene. \n\n**Note 6**: For this site, code all lymph node (regional and distant) involvement in this field.", - "last_modified" : "2015-05-27T16:19:34.368Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement\nNo clinically abnormal peripheral lymph nodes", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Clinically enlarged palpable lymph node(s) (adenopathy),\nWITH pathologically negative nodes", "VALUE:N0", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "110", "Clinically normal peripheral lymph node(s) \nAND histopathologically Dutch grade 1 or NCI LN 0-2:\n Clone negative", "VALUE:N1a", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "115", "Clinically abnormal peripheral lymph node(s) \nAND histopathologically Dutch grade 1 or NCI LN 0-2:\n Clone negative\n\nStated as N1a with no other information on regional lymph nodes", "VALUE:N1a", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "120", "Clinically normal peripheral lymph node(s) \nAND histopathologically Dutch grade 1 or NCI LN 0-2:\n Clone positive", "VALUE:N1b", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "125", "Clinically abnormal peripheral lymph node(s) \nAND histopathologically Dutch grade 1 or NCI LN 0-2:\n Clone positive\n\nStated as N1b with no other information on regional lymph nodes", "VALUE:N1b", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "130", "Clinically normal peripheral lymph node(s) \nAND histopathologically Dutch grade 1 or NCI LN 0-2:\n Clone unknown", "VALUE:N1NOS", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "135", "Clinically abnormal peripheral lymph node(s) \nAND histopathologically Dutch grade 1 or NCI LN 0-2:\n Clone unknown", "VALUE:N1NOS", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "140", "Stated as N1 [NOS] with no other information on regional lymph nodes", "VALUE:N1NOS", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200 \n\nNo clinically enlarged palpable lymph node(s) (adenopathy); pathologically positive lymph node(s)", "ERROR:", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "210", "Clinically normal peripheral lymph node(s) \nAND histopathologically Dutch grade 2 or NCI LN 3:\n Clone negative", "VALUE:N2a", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "215", "Clinically abnormal peripheral lymph node(s) \nAND histopathologically Dutch grade 2 or NCI LN 3:\n Clone negative\n\nStated as N2a with no other information on regional lymph nodes", "VALUE:N2a", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "220", "Clinically normal peripheral lymph node(s) \nAND histopathologically Dutch grade 2 or NCI LN 3:\n Clone positive", "VALUE:N2b", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "225", "Clinically abnormal peripheral lymph node(s) \nAND histopathologically Dutch grade 2 or NCI LN 3:\n Clone positive\n\nStated as N2b with no other information on regional lymph nodes", "VALUE:N2b", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "230", "Clinically normal peripheral lymph node(s) \nAND histopathologically Dutch grade 2 or NCI LN 3:\n Clone unknown", "VALUE:N2NOS", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "235", "Clinically abnormal peripheral lymph node(s) \nAND histopathologically Dutch grade 2 or NCI LN 3:\n Clone unknown", "VALUE:N2NOS", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "240", "Stated as N2 [NOS] with no other information on regional lymph nodes", "VALUE:N2NOS", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200 \n\nBoth clinically enlarged palpable lymph node(s) (adenopathy) and pathologically positive lymph nodes", "ERROR:", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "310", "Clinically normal peripheral lymph nodes \nAND histopathologically Dutch grades 3-4 or NCI LN 4:\n Clone positive or negative or unknown", "VALUE:N3", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "315", "Clinically abnormal peripheral lymph nodes \nAND histopathologically Dutch grades 3-4 or NCI LN 4:\n Clone positive or negative or unknown\n\nStated as N3 with no other information on regional lymph nodes", "VALUE:N3", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "400", "Clinically normal peripheral lymph node(s), histopathologically confirmed \nBUT Dutch grade and NCI LN grade unknown:\n Clone positive, negative or unknown", "VALUE:N1NOS", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "405", "Clinically abnormal peripheral lymph node(s), histopathologically confirmed \nBUT Dutch grade and NCI LN grade unknown:\n Clone positive, negative or unknown", "VALUE:N1NOS", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1NOS", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "850", "Clinically abnormal peripheral lymph nodes \nAND no histopathologic confirmation", "VALUE:NX", "VALUE:N1", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcf.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcf.json deleted file mode 100644 index b069cf130..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcf.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dcf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage)is coded in CS Site-Specific Factors 1,3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:34.469Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional node(s):\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Other groups:\n Retroauricular (mastoid)\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "120", "Regional node(s):\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal \n Paratracheal - above suprasternal notch\n Precricoid (Delphian)\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular \n Nasolabial \n Parotid:\n Infra auricular \n Intraparotid \n Periparotid \n Preauricular \n Parapharyngeal \n Suboccipital ", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Lymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcj.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcj.json deleted file mode 100644 index f7a9c564d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcj.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dcj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Distant lymph node involvement, considered N2 for AJCC 7 staging for retinoblastoma, is coded in CS Lymph Nodes. Distant lymph node involvement was considered M1 for AJCC 6 staging, and was coded in CS Mets at DX in CS Version 1.\n\n**Note 2**: When coding Regional Nodes Positive and Regional Nodes Examined, only include regional nodes. Do not include distant nodes coded in CS Lymph Nodes. If the only information available is for lymph nodes, NOS, coded as 800 in CS Lymph Nodes, assume these are regional nodes for coding Regional Nodes Positive and Regional Nodes Examined.", - "footnotes" : "- For CS Lymph Nodes codes 200 and 250 ONLY, the N category and M categories for AJCC 6 staging are assigned based on the values of CS Lymph Nodes, CS Lymph Nodes Eval, CS Mets at DX, and CS Mets Eval as shown in the Lymph Nodes Mets at DX AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:34.546Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s): \n Cervical\n Parotid (preauricular)\n Submandibular\n Regional lymph node(s),\nNOS\n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "Distant lymph nodes\n\nStated as N2 with no other information on regional lymph nodes", "VALUE:N2", "JUMP:lymph_nodes_metsat_dxajcc6_xfh_n", "VALUE:D", "VALUE:D" ], [ "250", "200 + 100", "VALUE:N2", "JUMP:lymph_nodes_metsat_dxajcc6_xfh_n", "VALUE:D", "VALUE:D" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dck.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dck.json deleted file mode 100644 index 4a62f8036..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dck.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dck", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in the field CS Mets at DX.\n\n**Note 2**: Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 3**: In some cases, determination of the N category for TNM 6 is based on this field and CS Mets at DX.", - "footnotes" : "- For CS Lymph Nodes codes 150, 250, 350-450, and 505 ONLY, the N and M categories for AJCC 6 staging are assigned based on CS Lymph Nodes, CS Mets at DX, and CS Site-Specific Factor 2, Size of Metastasis in Lymph Nodes, as shown in the Lymph Nodes Size Mets 00 AJCC 6 Table, Lymph Nodes Size Mets 99 AJCC 6 Table, Lymph Nodes Size Mets 11, 40, 55, 60 AJCC 6 Table, and Lymph Nodes Size Mets 10 or 50 AJCC 6 Table.", - "last_modified" : "2015-05-27T16:19:34.603Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "OBSOLETE DATA RETAINED V0200 \n\nRegional lymph nodes (including contralateral or bilateral nodes):\n Perivesical\n Iliac:\n Internal (hypogastric)\n Obturator\n External\n Iliac, NOS\n Sacral (lateral, presacral, sacral promontory (Gerota's), or NOS)\n Pelvic, NOS\n Regional lymph node(s), NOS\nSingle regional lymph node less than or equal to 2 cm", "ERROR:", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "150", "SINGLE regional lymph node:\n Perivesical\n Iliac:\n Internal (hypogastric)\n Obturator\n External\n Iliac, NOS\n Sacral (lateral, presacral, sacral promontory (Gerota's), or NOS)\n Pelvic, NOS\n Regional lymph node, NOS\n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns3", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200 \n\nSingle regional lymph node greater than 2 cm and less than or equal to 5 cm\nOR multiple regional nodes, none greater than 5 cm", "ERROR:", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "250", "MULTIPLE regional lymph nodes:\n Perivesical\n Iliac:\n Internal (hypogastric)\n Obturator\n External\n Iliac, NOS\n Sacral (lateral, presacral, sacral promontory (Gerota's), or NOS)\n Pelvic, NOS\n Regional lymph nodes, NOS\n\nStated as N2 with no other information on regional lymph nodes", "VALUE:N2", "JUMP:determine_correct_table_for_ajcc6_n_ns3", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph node(s), at least one greater than 5 cm", "ERROR:", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "350", "Common iliac lymph node(s)\n\nStated as N3 with no other information on regional lymph nodes", "VALUE:N3", "JUMP:determine_correct_table_for_ajcc6_n_ns3", "VALUE:D", "VALUE:D" ], [ "400", "350 + 150\n\nCommon iliac lymph node(s) plus single regional lymph node as listed in code 150", "VALUE:N3", "JUMP:determine_correct_table_for_ajcc6_n_ns3", "VALUE:D", "VALUE:D" ], [ "450", "350 + 250\n\nCommon iliac lymph node(s) plus multiple regional lymph nodes as listed in code 250", "VALUE:N3", "JUMP:determine_correct_table_for_ajcc6_n_ns3", "VALUE:D", "VALUE:D" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph node(s), NOS (size and/or number not stated)", "ERROR:", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "505", "Regional lymph node(s), NOS\nNot stated if single or multiple", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns3", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcl.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcl.json deleted file mode 100644 index 280078909..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcl.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dcl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in the CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:34.657Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NA", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s):\n Cystic duct (node of Calot)\n Node of foramen of Winslow (epiploic) (omental) \n Pericholedochal (common bile duct)", "VALUE:NA", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph node(s):\n Porta hepatis (portal) (periportal) (hilar)", "VALUE:NA", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "150", "Regional lymph node(s):\n Pancreaticoduodenal", "VALUE:NA", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "160", "150 + 110", "VALUE:NA", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 150 and 160\n\nRegional lymph node(s):\n Pancreaticoduodenal\n Periportal", "VALUE:NA", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "210", "Regional lymph node(s):\n Periduodenal\n Peripancreatic (near head of pancreas only)", "VALUE:NA", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "300", "OBSOLETE DATA CONVERTED V0203\nSee code 700\n\nRegional lymph node(s), NOS", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "500", "Regional lymph node(s):\n Celiac", "VALUE:NA", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "600", "Regional lymph node(s):\n Superior mesenteric", "VALUE:NA", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "700", "Regional lymph nodes, NOS", "VALUE:NA", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:NA", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcm.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcm.json deleted file mode 100644 index e7967cd07..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcm.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dcm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Level III and Level IV nodes have been moved from code 100 in CS Version 1 to code 120, Retropharyngeal nodes have been moved from code120 to code 100. Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, using the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, using the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:34.705Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental\n Level IB - \n Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior \n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supramohyoid)\n Lower deep cervical\n Virchow node\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VI - Anterior compartment group:\n Laterotracheal \n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preparotid\n Parapharyngeal \n Retroauricular (mastoid)\n Suboccipital", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral nodes listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "320", "Positive ipsilateral nodes listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "420", " Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive nodes listed in code 100, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "520", "Positive nodes listed in code 120, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcn.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcn.json deleted file mode 100644 index 099dd8cdb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcn.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dcn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2. \n\n**Note 2**: For nasopharynx, unilateral and bilateral retropharyngeal nodes are mapped to N1, and nodes in the supraclavicular fossa are mapped to N3b. The supraclavicular fossa is defined by 3 points: the superior margin of the sterna end of the clavicle, the superior margin of the lateral end of the clavical, and the point where the neck meets the shoulder.\n\n**Note 3**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1,3-9.\n\n**Note 4**: If laterality of lymph nodes is not specified, assume nodes are unilateral. Midline nodes are considered unilateral.\n\n**Note 5**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 6**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 7**: Most codes from CS Version 1 have been made obsolete and new codes added, to support AJCC assignment of N values for nasopharynx, which differs from the pattern for other head and neck sites. Retropharyngeal nodes have been moved from code 120 in CS Version 1 to code 050. Spinal accessory nodes have been moved from code 750 to code 110. Lower deep cervical and transverse cervical nodes have been moved from code 750 to code 120. Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 050-070, 105, 115, 130, 180, 405, 415, 430, 505, 515, and 530-620 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size CSv2 Table for this schema. \n- For CS Lymph Nodes codes 050-070, 105, 115, 130, 180, 405, 415, 430, 505, 515, and 530-620 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size CSv2 Table for this schema.\n- For OBSOLETE CS Lymph Nodes codes 100, 110, 120, 200, 210, 220, 300, 310, 320, 400, 410, 420, 500, 510, and 520 ONLY, the N category for AJCC 6 staging for cases collected in CSv1 is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size AJCC 6 CSv1 Tablefor this schema.", - "last_modified" : "2015-05-27T16:19:34.762Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "050", "Unilateral positive regional node(s):\n Retropharyngeal", "JUMP:lymph_nodes_size_table_csv2_xcp", "JUMP:lymph_nodes_size_table_csv2_xcp", "VALUE:RN", "VALUE:RN" ], [ "060", "Bilateral positive nodes:\n Retropharyngeal", "JUMP:lymph_nodes_size_table_csv2_xcp", "JUMP:lymph_nodes_size_table_csv2_xcp", "VALUE:RN", "VALUE:RN" ], [ "070", "Positive nodes, not stated if unilateral or bilateral:\n Retropharyngeal", "JUMP:lymph_nodes_size_table_csv2_xcp", "JUMP:lymph_nodes_size_table_csv2_xcp", "VALUE:RN", "VALUE:RN" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nSingle positive ipsilateral regional node:\n Level II node\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Upper jugular\n Level III node\n Middle deep cervical\n Mid jugular\n Level IV node\n Lower deep cervical\n Lower jugular\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Mandibular\n Regional lymph node, NOS", "ERROR:", "JUMP:lymph_nodes_size_ajcc6_table_csv1_xex", "VALUE:RN", "VALUE:RN" ], [ "105", "Unilateral positive regional node(s):\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical \n Level IIA - Anterior\n Level IIB - Posterior\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS \n Regional lymph node, NOS", "JUMP:lymph_nodes_size_table_csv2_xcp", "JUMP:lymph_nodes_size_table_csv2_xcp", "VALUE:RN", "VALUE:RN" ], [ "110", "OBSOLETE DATA RETAINED V0200\n\nSingle positive ipsilateral regional node:\n Level I node\n Submandibular (submaxillary)\n Submental ", "ERROR:", "JUMP:lymph_nodes_size_ajcc6_table_csv1_xex", "VALUE:D", "VALUE:RN" ], [ "115", "Unilateral positive regional node(s):\n Level I: \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level V:\n Level VA - Spinal accessory", "JUMP:lymph_nodes_size_table_csv2_xcp", "JUMP:lymph_nodes_size_table_csv2_xcp", "VALUE:D", "VALUE:RN" ], [ "120", "OBSOLETE DATA RETAINED V0200\n\nSingle positive ipsilateral regional node:\n Level V node\n Posterior cervical\n Posterior triangle (spinal accessory and transverse cervical) (upper, middle, and lower corresponding to the levels that define upper, middle, and lower jugular nodes)\n Level VI node\n Anterior deep cervical\n Laterotracheal\n Paralaryngeal\n Paratracheal\n Prelaryngeal\n Pretracheal\n Recurrent laryngeal\n Level VII node\n Upper mediastinum (for other mediastinal nodes see CS Mets at DX)\n Other groups\n Intraparotid\n Parapharyngeal\n Periparotid\n Retropharyngeal\n Sub-occipital\n Supraclavicular fossa", "ERROR:", "JUMP:lymph_nodes_size_ajcc6_table_csv1_xex", "VALUE:D", "VALUE:D" ], [ "130", "Unilateral positive regional node(s):\n Level III - Middle jugular:\n Middle deep cervical \n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian) \n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid) \n Suboccipital", "JUMP:lymph_nodes_size_table_csv2_xcp", "JUMP:lymph_nodes_size_table_csv2_xcp", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_table_csv2_xcp", "JUMP:lymph_nodes_size_table_csv2_xcp", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "JUMP:lymph_nodes_size_ajcc6_table_csv1_xex", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 110", "ERROR:", "JUMP:lymph_nodes_size_ajcc6_table_csv1_xex", "VALUE:D", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "JUMP:lymph_nodes_size_ajcc6_table_csv1_xex", "VALUE:D", "VALUE:D" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "JUMP:lymph_nodes_size_ajcc6_table_csv1_xex", "VALUE:RN", "VALUE:RN" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes listed in code 110:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "JUMP:lymph_nodes_size_ajcc6_table_csv1_xex", "VALUE:D", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "JUMP:lymph_nodes_size_ajcc6_table_csv1_xex", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "JUMP:lymph_nodes_size_ajcc6_table_csv1_xex", "VALUE:RN", "VALUE:RN" ], [ "405", "\nPositive bilateral nodes listed in code 105", "JUMP:lymph_nodes_size_table_csv2_xcp", "JUMP:lymph_nodes_size_table_csv2_xcp", "VALUE:RN", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110:\nPositive bilateral or contralateral nodes", "ERROR:", "JUMP:lymph_nodes_size_ajcc6_table_csv1_xex", "VALUE:D", "VALUE:RN" ], [ "415", "Positive bilateral nodes, any listed in code 115\nWITH or WITHOUT nodes listed in code 105", "JUMP:lymph_nodes_size_table_csv2_xcp", "JUMP:lymph_nodes_size_table_csv2_xcp", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "JUMP:lymph_nodes_size_ajcc6_table_csv1_xex", "VALUE:D", "VALUE:D" ], [ "430", "Positive bilateral nodes, any listed in code 130\nWITH or WITHOUT nodes listed in code 105 or 115", "JUMP:lymph_nodes_size_table_csv2_xcp", "JUMP:lymph_nodes_size_table_csv2_xcp", "VALUE:D", "VALUE:D" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "JUMP:lymph_nodes_size_ajcc6_table_csv1_xex", "VALUE:RN", "VALUE:RN" ], [ "505", "Positive nodes listed in code 105, not stated if unilateral, or bilateral", "JUMP:lymph_nodes_size_table_csv2_xcp", "JUMP:lymph_nodes_size_table_csv2_xcp", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 11:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral, \nAND not stated if single or multiple", "ERROR:", "JUMP:lymph_nodes_size_ajcc6_table_csv1_xex", "VALUE:D", "VALUE:RN" ], [ "515", "Positive nodes listed in code 115, not stated if unilateral, or bilatera", "JUMP:lymph_nodes_size_table_csv2_xcp", "JUMP:lymph_nodes_size_table_csv2_xcp", "VALUE:D", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 12:\nPositive node(s), not stated if ipsilateral or bilateral, or contralateral, \nAND not stated if single or multiple", "ERROR:", "JUMP:lymph_nodes_size_ajcc6_table_csv1_xex", "VALUE:D", "VALUE:D" ], [ "530", "Positive nodes listed in code 130, not stated if unilateral or bilateral", "JUMP:lymph_nodes_size_table_csv2_xcp", "JUMP:lymph_nodes_size_table_csv2_xcp", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_table_csv2_xcp", "JUMP:lymph_nodes_size_table_csv2_xcp", "VALUE:RN", "VALUE:RN" ], [ "620", "Stated as N3a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_table_csv2_xcp", "JUMP:lymph_nodes_size_table_csv2_xcp", "VALUE:RN", "VALUE:RN" ], [ "650", "Unilateral or bilateral positive regional node(s):\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid) \n Lower deep cervical\n Virchow node\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n\nStated as N3b with no other information on regional lymph nodes", "VALUE:N3b", "VALUE:N3b", "VALUE:D", "VALUE:D" ], [ "700", "Stated as N3 [NOS] with no other information on regional lymph nodes", "VALUE:N3NOS", "VALUE:N3NOS", "VALUE:RN", "VALUE:RN" ], [ "750", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes in the supraclavicular fossa:\nInferior deep cervical (scalene)\nSpinal accessory (posterior cervical)\nSupraclavicular (transverse cervical) (See Note 4)", "ERROR:", "VALUE:N3b", "VALUE:D", "VALUE:D" ], [ "800", "Lymph nodes, NOS, no other information", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dco.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dco.json deleted file mode 100644 index 4c7e75d1d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dco.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dco", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Instructions, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1,3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Level II nodes moved from code 100 in CSV1 to code 120.", - "footnotes" : "- For codes 100-120, 200-220, 300-320, 400-420, 500-520, and 800 ONLY, the N category for AJCC 7th Edition staging is assigned based on the value of Site-Specific Factor 1, Size of Lymph Nodes, using the extra table, Lymph Nodes Size Table for this site.\n- For codes 100-120, 200-220, 300-320, 400-420, 500-520, and 800 ONLY, the N category for AJCC 6th Edition staging is assigned based on the value of Site-Specific Factor 1, Size of Lymph Nodes, using the extra table, Lymph Nodes Size Table for this site.", - "last_modified" : "2015-05-27T16:19:34.812Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level III - Middle jugular:\n Middle deep cervical\n Level IV node - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS \n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Parapharyngeal", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior \n Level V - Posterior triangle group:\n Posterior cervical \n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VII node - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove \n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Retroauricular (mastoid) \n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral node(s) listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral node(s) listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral node(s) listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110\nWITH or WITHOUT nodes listed in code 100 ", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive node(s) listed in code 100, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", "Positive node(s) listed in code 110, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", "Positive node(s) listed in code 120, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcp.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcp.json deleted file mode 100644 index a7575bd32..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcp.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dcp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Level III and Level IV nodes have been moved from code 100 in CS Version 1 to code 110. Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodesas shown in the Lymph Nodes Size Table, for this schema.", - "last_modified" : "2015-05-27T16:19:34.868Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular NOS\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level III Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Retropharyngeal", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level V - Posterior triangle group:\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preparotid\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral nodes listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral nodes listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral nodes listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive nodes listed in code 100, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", " Positive nodes listed in code 110, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", "Positive nodes listed in code 120, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcq.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcq.json deleted file mode 100644 index 6e64b08c5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcq.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dcq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Instructions, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Level III nodes have been moved from code 100 in CSV1 to code 110. Level IV nodes have been added to code 120.", - "footnotes" : "- For codes 100-120, 200-220, 300-320, 400-420, 500-520, and 800 ONLY, the N category for AJCC 7th Edition staging is assigned based on the value of Site-Specific Factor 1, Size of Lymph Nodes, using the extra table Lymph Nodes Size Table, for this site.\n- For codes 100-120, 200-220, 300-320, 400-420, 500-520, and 800 ONLY, the N category for AJCC 6th Edition staging is assigned based on the value of Site-Specific Factor 1, Size of Lymph Nodes, using the extra table Lymph Nodes Size Table, for this site.", - "last_modified" : "2015-05-27T16:19:34.915Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical \n Level IIA - Anterior\n Level IIB - Posterior \n Level VI node - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular NOS:\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level III - Middle jugular:\n Middle deep cervical \n Retropharyngeal", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level IV - Lower jugular\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node \n Level V - Posterior triangle group: \n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4) \n Level VII node - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preparotid\n Parapharyngeal\n Retroauricular (mastoid) \n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral node(s) listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral node(s) listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral node(s) listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive node(s) listed in code 100, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", "Positive node(s) listed in code 110, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", "Positive node(s) listed in code 120, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcr.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcr.json deleted file mode 100644 index 693142679..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcr.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dcr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoids cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Level III and Level IV nodes have been moved from code 100 in CS Version 1 to code 110. Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:34.963Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Pretracheal - above suprasternal notch\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular NOS:\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node \n Retropharyngeal", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level V - Posterior triangle group:\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4):\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preparotid\n Parapharyngeal\n Retroauricular (mastoid) \n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110\nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral nodes listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral nodes listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral nodes listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110\nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive nodes listed in code 100, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", "Positive nodes listed in code 110, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", "Positive nodes listed in code 120, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcs.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcs.json deleted file mode 100644 index 8c2699321..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcs.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dcs", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: Level IV nodes have been moved from code 100 in CS Version 1 to code 120. Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CSLymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph nodes, using the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph nodes, using the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:35.019Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Lower deep cervical\n Virchow node\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node:\n Level I:\n Level 1A - Submental\n Level 1B - Submandibular (submaxillary), sublingual", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "VALUE:N2a", "VALUE:N2a", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 WITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral node(s) listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral node(s) listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral node(s) listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110\nWITH or WITHOUTnodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive node(s) listed in code 100, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", "Positive node(s) listed in code 110, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", "Positive node(s) listed in code 120, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other inforrmation on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcu.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcu.json deleted file mode 100644 index fa6590a28..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcu.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dcu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Level IV nodes have been moved from code 100 in CS Version 1 to code 120. Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:35.068Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical \n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS \n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node:\n Level I: \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal \n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid \n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral nodes listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral nodes listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral nodes listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive nodes listed in code 100, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", "Positive nodes listed in code 110, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", "Positive nodes listed in code 120, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcv.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcv.json deleted file mode 100644 index 245d9107d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcv.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dcv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Submental and Cervical nodes, NOS have been moved from code 100 in CS Version 1 to code 110, Facial and Deep cervical nodes, NOS have been moved from code 100 in CS Version 1 to code 120, Levels II, II, and IV nodes have been moved from code 110 in CS Version 1 to code 120. Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, using the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, using the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:35.123Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I:\n Level IB - Submandibular (submaxillary), sublingual\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node:\n Level IA - Submental \n Cervical, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level II - Upper jugular:\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII node - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parapharyngeal\n Retroauricular\n Retropharyngeal \n Suboccipital \n Deep cervical, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral node(s) listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral node(s) listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral node(s) listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110\nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive node(s) listed in code 100, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", "Positive node(s) listed in code 110, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", "Positive node(s) listed in code 120, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcw.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcw.json deleted file mode 100644 index 98f9a420f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcw.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dcw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Levels III and IV nodes have been moved from code 100 in CS Version 1 to code 120. Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:35.172Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VI node - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preparotid\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral node(s) listed in code 100, not stated if single or multiple or regional", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "320", "Positive ipsilateral node(s) listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive node(s) listed in code 100, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "520", "Positive node(s) listed in code 120, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcx.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcx.json deleted file mode 100644 index 7b9de5d6d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcx.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dcx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:35.219Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular: \n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal \n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preparotid\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral node(s) listed in code 100, not stated if single or multiple or regional", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "320", "Positive ipsilateral node(s) listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive node(s) listed in code 100, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "520", "Positive node(s) listed in code 120, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcy.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcy.json deleted file mode 100644 index 6137a02cf..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcy.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dcy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Instructions, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, and levels involved) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: All regional nodes except Supraclavicular nodes were coded 100 in CS Version 1; Supraclavicular nodes were coded 120. Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:35.272Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s), unilateral, bilateral, or contralateral: \n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical \n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node \n Parapharyngeal\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS \n Regional lymph node(s), NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph node(s), unilateral, bilateral, or contralateral:\n Level I: \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory \n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch \n Perithyroidal \n Precricoid (Delphian)\n Prelaryngeal \n Pretracheal - above suprasternal notch\n Recurrent laryngeal", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Regional lymph node(s), unilateral, bilateral, or contralateral:\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Retroauricular (Mastoid)\n Suboccipital", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Lymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcz.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcz.json deleted file mode 100644 index b7566c139..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dcz.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dcz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Regional nodes include bilateral and contralateral involvement of named nodes.", - "last_modified" : "2015-05-27T16:19:35.339Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s) :\n Iliac, NOS:\n Common\n External\n Internal (hypogastric), NOS:\n Obturator\n Inguinal, NOS:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial (femoral)\n Pelvic, NOS\n Sacral, NOS:\n Presacral\n Regional lymph node(s), NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddd.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddd.json deleted file mode 100644 index 269ed68a4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddd.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_ddd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Level I nodes have been moved from code 110 in CS Version 1 to code 105.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes as shown in the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes as shown in the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:35.390Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node: \n Facial:\n Buccinator (buccal)\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:RN" ], [ "105", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:D" ], [ "110", "Single positive ipsilateral regional node:\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical \n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Cervical , NOS\n Deep cervical, NOS\n Internal jugular, NOS", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups: \n Mandibular \n Parapharyngeal\n Retroauricular (mastoid)\n Retropharyngeal \n Suboccipital", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:RN" ], [ "205", "Multiple positive ipsilateral nodes, any listed in code 105\nWITH or WITHOUT nodes listed code 100", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:D" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:D", "VALUE:RN" ], [ "215", "Multiple positive ipsilateral nodes listed in both codes 105 and 110\nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:D", "VALUE:D" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100, 105, or 110", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral nodes listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:RN" ], [ "305", "Positive ipsilateral nodes listed in code 105, not stated if single or multiple", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:D" ], [ "310", "Positive ipsilateral nodes listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral nodes listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:RN" ], [ "405", "Positive bilateral or contralateral nodes, any listed in code 105\nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:D" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:D", "VALUE:RN" ], [ "415", "Positive bilateral or contralateral nodes listed in both codes 105 and 110", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:D", "VALUE:D" ], [ "420", " Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100, 105, or 110", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive nodes listed in code 100, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:RN" ], [ "505", "Positive nodes listed in code 105, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:D" ], [ "510", " Positive nodes listed in code 110, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:D", "VALUE:RN" ], [ "520", " Positive nodes listed in code 120, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xja", "JUMP:lymph_nodes_size_xja", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dde.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dde.json deleted file mode 100644 index dc4da9b29..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dde.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dde", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:35.440Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s)\n Cervical, NOS\n Facial, NOS :\n Buccinator (buccal)\n Nasolabial \n Submental \n Submandibular (submaxillary) \n Parotid, NOS:\n Infra-auricular\n Preauricular\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "120", "Regional lymph node(s):\n Supraclavicular, NOS", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "125", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddf.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddf.json deleted file mode 100644 index e048e3464..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddf.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_ddf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Regional nodes in codes 100-300 include contralateral and bilateral nodes.\n\n**Note 2**: Involvement of inguinal, pelvic, or external iliac lymph nodes (codes 300 and 400) WITHOUT previous scrotal or inguinal surgery prior to presentation of the testis tumor is coded in CS Mets at DX, as distant lymph node involvement.", - "footnotes" : "- For CS Lymph Nodes codes 100-500 ONLY, the N category for AJCC 7 staging is assigned based on the values of CS Site-Specific Factor 5, Size of Metastasis in Lymph Nodes, Regional Nodes Positive, and CS Lymph Nodes Eval. If the CS Lymph Nodes Eval code is 2 (p), 3 (p), 6 (yp), or 8 (a), the N category is determined by using the Lymph Nodes Pathologic Evaluation Table. If the CS Lymph Nodes Eval code is 0 (c), 1 (c), 5 (c), or 9 (c), the N category is determined by using the Lymph Nodes Clinical Evaluation Table. If the CS Lymph Nodes Eval field is not coded, the N category is determined by using the Lymph Nodes Positive Eval Blank Table.\n- For CS Lymph Nodes codes 100-500 ONLY, the N category for AJCC 6 staging is assigned based on the values of CS Site Specific Factor 5, Size of Metastasis in Lymph Nodes, Regional Nodes Positive and CS Lymph Nodes Eval. If the CS Lymph Nodes Eval code is 2 (p), 3 (p), 6 (yp), or 8 (a), the N category is determined by using the Lymph Nodes Pathologic Evaluation Table. If the CS Lymph Nodes Eval code is 0 (c), 1 (c), 5 (c), or 9 (c), the N category is determined by using the Lymph Nodes Clinical Evaluation Table. If the CS Lymph Nodes Eval field is not coded, the N category is determined by using the Lymph Nodes Positive Eval Blank Table.", - "last_modified" : "2015-05-27T16:19:35.502Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s):\n Aortic, NOS:\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Preaortic \n Retroaortic\n Retroperitoneal, NOS\n Spermatic vein", "JUMP:determine_correct_table_for_n_ns35", "JUMP:determine_correct_table_for_n_ns35", "VALUE:RN", "VALUE:RN" ], [ "200", "Regional lymph node(s):\n Pericaval, NOS:\n Interaortocaval\n Paracaval\n Precaval\n Retrocaval", "JUMP:determine_correct_table_for_n_ns35", "JUMP:determine_correct_table_for_n_ns35", "VALUE:D", "VALUE:RN" ], [ "300", "Regional lymph node(s):\n Pelvic, NOS\n External iliac\nWITH previous scrotal or inguinal surgery", "JUMP:determine_correct_table_for_n_ns35", "JUMP:determine_correct_table_for_n_ns35", "VALUE:RN", "VALUE:RN" ], [ "350", "300 + 200\n\nPelvic/external iliac nodes WITH previous scrotal or inguinal surgery plus pericaval nodes", "JUMP:determine_correct_table_for_n_ns35", "JUMP:determine_correct_table_for_n_ns35", "VALUE:D", "VALUE:RN" ], [ "400", "Inguinal nodes, NOS:\n Deep, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial (femoral)\nWITH previous scrotal or inguinal surgery", "JUMP:determine_correct_table_for_n_ns35", "JUMP:determine_correct_table_for_n_ns35", "VALUE:D", "VALUE:D" ], [ "500", "Regional lymph node(s), NOS", "JUMP:determine_correct_table_for_n_ns35", "JUMP:determine_correct_table_for_n_ns35", "VALUE:RN", "VALUE:RN" ], [ "510", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "520", "Stated as N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "530", "Stated as N3 with no other information on regional lymph nodes", "VALUE:N3", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddg.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddg.json deleted file mode 100644 index 609aa62f6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddg.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_ddg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, using the Lymph Nodes Size Table for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, using the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:35.549Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I node:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node:\n Level II - Upper jugular:\n Jugolodigastric (subdigastric)\n Upper deep cervical\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see note 4)\n Level VI node - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Parapharyngeal\n Retroauricular\n Retropharyngeal\n Suboccipital ", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral node(s) listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral node(s) listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral node(s) listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110\nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive node(s) listed in code 100, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", "Positive node(s) listed in code 110, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", "Positive node(s) listed in code 120, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 NOS with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddh.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddh.json deleted file mode 100644 index 7d7e5ab76..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddh.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_ddh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and the location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Facial nodes including mandibular nodes have been moved from code 100 in CS Version 1 to code 110.", - "footnotes" : "- For codes 100-120, 200-220, 300-320, 400-420, 500-520, and 800 ONLY, the N category for AJCC 7th Edition staging is assigned based on the value of Site-Specific Factor 1, Size of Lymph Nodes, using the extra table, Lymph Nodes Size Table for this site.\n- For codes 100-120, 200-220, 300-320, 400-420, 500-520, and 800 ONLY, the N category for AJCC 6th Edition staging is assigned based on the value of Site-Specific Factor 1, Size of Lymph Nodes, using the extra table, Lymph Nodes Size Table for this site.", - "last_modified" : "2015-05-27T16:19:35.597Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular :\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular :\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node \n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node: \n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VI - Anterior compartment group:\n Laterotracheal \n Paralaryngeal \n Paratracheal - above suprasternal notch\n Perithyroidal \n Precricoid (Delphian)\n Prelaryngeal \n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII node - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch \n Other groups:\n Parotid:\n Infraauricular \n Intraparotid \n Periparotid \n Preauricular \n Parapharyngeal\n Retroauricular (mastoid) \n Retropharyngeal\n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral nodes listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral nodes listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "320", "Positive ipsilateral nodes listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive nodes listed in code 100, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", "Positive nodes listed in code 110, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", "Positive nodes listed in code 120, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddi.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddi.json deleted file mode 100644 index 970f089af..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddi.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_ddi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage)is coded in CS Site-Specific Factors 1,3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema. A CS Site-Specific Factor 1 code takes precedence over a CS Lymph Nodes \"stated as N\" code; however, if CS Site-Specific Factor 1 is coded as unknown, the N category may be assigned based on \"stated as N\" recorded in CS Lymph Nodes.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema. A CS Site-Specific Factor 1 code takes precedence over a CS Lymph Nodes \"stated as N\" code; however, if CS Site-Specific Factor 1 is coded as unknown, the N category may be assigned based on \"stated as N\" recorded in CS Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:35.648Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I:\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric) \n Upper deep cervical \n Level IIA - Anterior\n Level IIB - Posterior \n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid )\n Lower deep cervical\n Virchow node\n Retropharyngeal \n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node:\n Level IA - Submental \n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level V - Posterior triangle group :\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Other groups:\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral nodes listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral nodes listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral nodes listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", " Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive nodes listed in code 100, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", " Positive nodes listed in code 110, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", " Positive nodes listed in code 120, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddj.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddj.json deleted file mode 100644 index 26451f664..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddj.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_ddj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.", - "footnotes" : "- For CS Lymph Nodes codes 150-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 16, Size of Lymph Nodes, using the Lymph Nodes Size AJCC 7 Table for this schema.", - "last_modified" : "2015-05-27T16:19:35.694Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes\nIliac, NOS:\n External\n Internal (hypogastric), NOS:\n Obturator\nInguinal, NOS:\n Deep inguinal, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal (femoral)\nRegional lymph node(s), NOS", "ERROR:", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "150", "SINGLE IPSILATERAL regional lymph node:\n Iliac, NOS:\n External\n Internal (hypogastric), NOS:\n Obturator\n Inguinal, NOS:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal (femoral)\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_ajcc7_xfb", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_ajcc7_xfb", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_ajcc7_xfb", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "250", "MULTIPLE IPSILATERAL regional lymph nodes listed in code 150", "JUMP:lymph_nodes_size_ajcc7_xfb", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_ajcc7_xfb", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "350", "IPSILATERAL regional lymph nodes listed in code 150, not stated if single or multiple", "JUMP:lymph_nodes_size_ajcc7_xfb", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "450", "BILATERAL or CONTRALATERAL regional lymph node(s) listed in code 150", "JUMP:lymph_nodes_size_ajcc7_xfb", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_ajcc7_xfb", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "550", "Regional lymph nodes listed in code 150, \nNot stated if ipsilateral, bilateral or contralateral \nAND not stated if single or multiple", "JUMP:lymph_nodes_size_ajcc7_xfb", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_ajcc7_xfb", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_ajcc7_xfb", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddk.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddk.json deleted file mode 100644 index 07a93e946..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddk.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_ddk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:35.742Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 105 and 300\n\nRegional lymph node(s):\n Retroperitoneal, NOS \n Regional lymph node(s), NOS \n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "105", "Regional lymph node(s):\n Aortic, NOS:\n Para-aortic\n Periaortic\n Retroperitoneal, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph node(s):\n Pericaval, NOS:\n Paracaval\n Precaval\n Retrocaval", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "200", "OBSOLETE DATA CONVERTED V0203\nSee code 105\n\nRegional lymph node(s):\n Aortic\n Paraaortic\n Periaortic", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "300", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddm.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddm.json deleted file mode 100644 index 91c8a39a1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddm.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_ddm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in the field CS Mets at DX.\n\n**Note 2**: For periesophageal nodes from the celiac axis area up to the cervical area that are not listed in 100 or 400, code as periesophageal, NOS (450). For a descriptive list of these nodal groups, see Part I Section 2 or Figure 10.3 from the AJCC Cancer Staging Atlas, 2nd Ed. or errata for AJCC 7th Ed. chapter 10. Lymph node stations/groups from this chapter are included in parentheses when applicable.\n\n**Note 3**: If information about named regional lymph nodes is available, use codes 100, 400, 450 or 500, rather than codes 610, 660, or 710.", - "footnotes" : "- For CS Lymph Nodes codes 100-400, 450, and 500 ONLY, when CS Lymph Nodes Eval is 1, 9 and CS Coding System Original is before CS V02.05, the N category is assigned from the Lymph Nodes Clinical Eval Prior to V02.05 AJCC 7 Table, using Regional Nodes Positive and CS Site-Specific Factor 1; when CS Lymph Nodes Eval is 0, 5 OR (CS Lymph Nodes Eval is 1, 9 and CS Coding System Original is at least V02.05), the N category is assigned from Lymph Nodes Clinical Eval V02.05 AJCC 7 Table, using CS Site-Specific Factor 1; when CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded, the N category is determined from the Lymph Nodes Pathologic Evaluation 7th Table Also Used When CS Reg Nodes Eval is Not Coded, using Regional Nodes Positive.\n- For CS Lymph Nodes codes 100-500 ONLY, when CS Lymph Nodes Eval is 1 or 9, the N category is assigned from the Lymph Nodes Clinical Evaluation 1 or 9 AJCC 6 Table, using Regional Nodes Positive and CS Site-Specific Factor 1; when CS Lymph Nodes Eval is 0 or 5, the N category is assigned from the Lymph Nodes Clinical Evaluation 0 or 5 AJCC 6 Table, using CS Site-Specific Factor 1; when CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded, the N category is determined from the Lymph Nodes Pathologic Evaluation 6th Table Also Used When CS Reg Nodes Eval is Not Coded, using Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:35.789Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\n Left gastric (superior gastric), NOS:\n Cardiac\n Cardioesophageal\n Gastric, left (17)\n Gastropancreatic, left\n Lesser curvature\n Lesser omental\n Pericardial (16)\n Pancreaticosplenic (pancreaticolienal)\n Pancreatoduodenal\n Perigastric, NOS\n Peripancreatic\n Right gastric (inferior gastric), NOS:\n Gastrocolic\n Gastroduodenal\n Gastroepiploic (gastro-omental), right or NOS\n Gastrohepatic\n Greater curvature\n Greater omental\n Pyloric, NOS\n Infrapyloric (subpyloric)\n Suprapyloric\n Splenic (lienal), NOS:\n Gastroepiploic (gastro-omental), left\n Splenic hilar\n Nodule(s) in perigastric fat", "JUMP:determine_correct_table_for_ajcc7_n_ns14", "JUMP:determine_correct_table_for_ajcc6_n_ns13", "VALUE:RN", "VALUE:RN" ], [ "400", "Celiac (20)\nHepatic (excluding gastrohepatic, [see code 100]\nand hepatoduodenal [see code 420 which is obsolete in CSv2])", "JUMP:determine_correct_table_for_ajcc7_n_ns14", "JUMP:determine_correct_table_for_ajcc6_n_ns13", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\nsince cardia/EGJ, and the proximal 5 cm of the fundus and body of the stomach have been moved from the Stomach schema in CSv2\n\nFor lesser curvature only:\n Hepatoduodenal", "ERROR:", "JUMP:determine_correct_table_for_ajcc6_n_ns13", "VALUE:D", "VALUE:D" ], [ "450", "Paraesophageal, NOS\nPeriesophageal, NOS, including:\n Anterior mediastinal (6)\n Aortopulmonary (5)\n Diaphragmatic (15)\n Paraesophageal, lower (8l)\n Paraesophageal, middle (8m)\n Paratracheal, lower (4L, 4R)\n Paratracheal, upper (2L, 2R)\n Posterior mediastinal (3p)\n Pulmonary ligament (9)\n Subcarinal (tracheal carina) (7)\n Supraclavicular (1)\n Tracheobronchial (hilar) (10L, 10R)\n\n(See Note 2)", "JUMP:determine_correct_table_for_ajcc7_n_ns14", "JUMP:determine_correct_table_for_ajcc6_n_ns13", "VALUE:D", "VALUE:D" ], [ "500", "Regional lymph node(s), NOS", "JUMP:determine_correct_table_for_ajcc7_n_ns14", "JUMP:determine_correct_table_for_ajcc6_n_ns13", "VALUE:RN", "VALUE:RN" ], [ "600", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 500 and 610 and CS Site-Specific Factor 1 code 100\n\nStated as NI [NOS]", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "610", "Stated as pathologic N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "650", "OBSOLETE DATA RETAINED AND REVIEWED V0203 \nSee codes 500 and 660 and CS Site-Specific Factor 1 code 200\n\nStated as N2 [NOS]", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "660", "Stated as pathologic N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 500 and 710 and CS Site-Specific Factor 1 code 300\n\nStated as N3 [NOS]", "VALUE:N3", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "710", "Stated as pathologic N3 with no other information on regional lymph nodes", "VALUE:N3", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddn.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddn.json deleted file mode 100644 index 297564462..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddn.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_ddn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Bilateral or contralateral nodes are considered regional nodes for head, neck, and truncal tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. Truncal tumors may also drain to both cephalad and caudal primary nodal basins as shown on lymphoscintigraphy. Clinical assessment of bilateral/contralateral or cephalad/caudal regional nodal involvement is required for tumors where lymphoscintigraphy is not performed.\n\n**Note 3**: Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins. Secondary basins are considered regional for AJCC staging but may be distant for Summary Stage. Use code 250 for involvement of nodes in secondary nodal basins not specified in codes 100 and 200.\n\n**Note 4**: In transit metastasis is defined as a tumor distinct from the primary lesion and located either between the primary lesion and the draining regional lymph nodes or distal to the primary lesion. In transit metastasis is coded in CS Lymph Nodes.\n\n**Note 5**: Isolated tumor cells (ITCs) should be considered positive nodes. If only ITCs are present, defined as any tumor deposits in lymph nodess less than or equal to 0.2mm, use code 010.\n\n**Note 6**: If the only information about lymph nodes is a statement of N1 involvement without a clinical or pathologic designation, use code 360.", - "footnotes" : "- When CS Lymph Nodes Eval is coded, for CS Lymph Nodes codes 010-370 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Lymph Nodes Eval and CS Site-Specific Factor 3, Status of Lymph Node Mets, as shown in the Lymph Nodes and Nodal Status Eval AJCC 7 Table. When CS Lymph Nodes Eval is blank, for CS Lymph Nodes codes 010-370 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 3, Status of Lymph Node Mets, and Regional Nodes Positive, as shown in the Lymph Nodes and Nodal Status Eval Blank AJCC 7 Table.", - "last_modified" : "2015-05-27T16:19:35.833Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "010", "Isolated tumor cells (ITCs) only", "JUMP:determine_correct_table_for_ajcc7_n_ns20", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes by primary site (includes bilateral or contralateral nodes for head, neck, and trunk)\nHead and Neck:\n All subsites: \n Cervical\n Lip:\n Mandibular, NOS:\n Submandibular (submaxillary)\n External ear/auditory canal:\n Mastoid (post-/retro-auricular) (occipital)\n Preauricular\n Face, Other (cheek, chin, forehead, jaw, nose and temple):\n Facial, NOS:\n Buccinator (buccal)\n Nasolabial\n Mandibular, NOS:\n Submandibular (submaxillary)\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Scalp:\n Mastoid (post-/retro-auricular) (occipital)\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Spinal accessory (posterior cervical)\n Neck:\n Axillary\n Mandibular, NOS\n Mastoid (post-/retro-auricular) (occipital)\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Spinal accessory (posterior cervical)\n Supraclavicular (transverse cervical)\nUpper Trunk:\n Axillary\n Cervical\n Internal mammary (parasternal)\n Supraclavicular (transverse cervical)\nLower Trunk:\n Femoral (superficial inguinal)\nArm/Shoulder:\n Axillary\n Epitrochlear for hand/forearm\n Spinal accessory for shoulder\nLeg/Hip:\n Femoral (superficial inguinal)\n Popliteal for heel and calf\nAll sites: \n Regional lymph node(s), NOS\n(See Note 2)\n", "JUMP:determine_correct_table_for_ajcc7_n_ns20", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "Head and Neck (includes bilateral or contralateral nodes for head and neck):\n Lip:\n Facial, NOS:\n Buccinator (buccal)\n Nasolabial\n Submental\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Face, Other (cheek, chin, forehead, jaw, nose, and temple):\n Submental\n Neck: \n Submental\n(See Note 2)", "JUMP:determine_correct_table_for_ajcc7_n_ns20", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "250", "Bidirectional nodal involvement (includes bilateral or contralateral nodes) \n(See Note 2):\n Upper Trunk:\n Femoral (or cephalad/caudal drainage from primary tumor)\n Lower Trunk:\n Axillary (or cephalad/caudal drainage from primary tumor) \n\nSecondary nodal basin involvement (includes bilateral or contralateral nodes for head and trunk)\n(See Note 3):\n Head:\n All subsites:\n Supraclavicular\n Arm/Shoulder:\n Supraclavicular\n Leg/Hip:\n Iliac\n All sites:\n Regional lymph node(s) in secondary nodal basins , NOS ", "JUMP:determine_correct_table_for_ajcc7_n_ns20", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "300", "200 + 100 \n\nRegional lymph nodes coded in 200 plus regional lymph nodes coded in 100", "JUMP:determine_correct_table_for_ajcc7_n_ns20", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "305", "250 + (100 and/or 200)\n\nRegional lymph nodes coded in 250 plus regional lymph nodes coded in 100 and/or 200", "JUMP:determine_correct_table_for_ajcc7_n_ns20", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "310", "Evaluated clinically:\n\nClinically stated as N1 with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns20", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "320", "Evaluated pathologically:\n\nPathologically stated as N1a with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns20", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "340", "Evaluated pathologically:\n\nPathologically stated as N1b with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns20", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "350", "Evaluated pathologically:\n\nPathologically stated as N1 [NOS] with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns20", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "360", "Stated as N1[NOS] with no information on pathologic or clinical evaluation", "JUMP:determine_correct_table_for_ajcc7_n_ns20", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "390", " Satellite nodule(s) or in transit metastasis, distance from primary tumor less than or equal to 2 cm or distance not stated\nWITHOUT regional lymph node involvement. Includes cases with ITCs only and cases with regional lymph node involvement not stated\n\nOR\n\nDescribed as tumor with satellite nodule(s), NOS\nWITHOUT regional lymph node involvement or regional lymph node involvement not stated\n(See Note 4)", "VALUE:N2", "VALUE:N0", "VALUE:RE", "VALUE:RE" ], [ "400", "Satellite nodule(s) or in transit metastasis, distance from primary tumor greater than 2 cm or distance not stated \nWITHOUT regional lymph node involvement. Includes cases with ITCs only and cases with regional lymph node involvement not stated \n\nOR\n \nDescribed as tumor with in transit metastasis, NOS \nWITHOUT regional lymph node involvement or regional lymph node involvement not stated\n(See Note 4)", "VALUE:N2", "VALUE:N1", "VALUE:RE", "VALUE:RN" ], [ "420", "400 + 100 \n\nSatellite nodule(s) or in transit metastasis \nWITH regional lymph nodes listed in code 100 \n(See Note 4)", "VALUE:N2", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "440", "400 + 200\n\nSatellite nodule(s) or in transit metastasis \nWITH regional lymph nodes listed in code 200 \n(See Note 4)", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "460", "400 + 300\n\nSatellite nodule(s) or in transit metastasis \nWITH regional lymph nodes listed in code 300 \n(See Note 4)", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "470", "400 + (250 or 305) \n\nSatellite nodule(s) or in transit metastasis \nWITH regional lymph nodes listed in code 250 or code 305 \n(See Note 4)", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "475", "Satellite nodule(s) or in transit metastasis \nWITH regional lymph node(s), NOS", "VALUE:N2", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "480", "Stated as N2 [NOS] with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N1", "VALUE:RE", "VALUE:RE" ], [ "800", "Lymph nodes, NOS", "VALUE:N1NOS", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddo.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddo.json deleted file mode 100644 index e0a17efb5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddo.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_ddo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups. \n\n**Note 5**: Level I nodes have been moved from code 110 in CS Version 1 to code 105.", - "last_modified" : "2015-05-27T16:19:35.881Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Facial:\n Buccinator (buccal)\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "105", "Positive regional node(s):\n Level I:\n Level 1A - Submental\n Level 1B - Submandibular (submaxillary), sublingual", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:D" ], [ "110", "Positive regional node(s):\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Mandibular\n Parapharyngeal\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 110", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddp.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddp.json deleted file mode 100644 index d72f66a53..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddp.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_ddp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS , in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Superior and inferior mesenteric nodes are coded in CS Mets at DX. Mesenteric nodes, NOS are coded in CS Lymph Nodes.", - "footnotes" : "- For CS Lymph Nodes codes 100-300 ONLY: when CS Lymph Nodes Eval is 0, 1, 5, or 9, the N category is assigned from the Lymph Nodes Clinical Evaluation AJCC 6 Table, using Regional Nodes Positive and CS Site-Specific Factor 2; when CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded, the N category is determined from the Lymph Nodes Pathologic Evaluation 6 Table Also Used When CS Reg Nodes Eval is Not Coded using Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:35.927Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\n Colic, NOS\n Epicolic (adjacent to bowel wall)\n Mesocolic, NOS\n Paracolic/pericolic", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns8", "VALUE:RN", "VALUE:RN" ], [ "200", "Cecal:\n Anterior (prececal)\n Posterior (retrocecal)\n Ileocolic\n Right colic", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns8", "VALUE:RN", "VALUE:RN" ], [ "300", "Mesenteric, NOS\nRegional lymph node(s), NOS", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns8", "VALUE:RN", "VALUE:RN" ], [ "400", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "450", "OBSOLETE DATA RETAINED V0200\n\nStated as N2 pathologic", "ERROR:", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddq.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddq.json deleted file mode 100644 index 0d005a988..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddq.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_ddq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Level III and Level IV nodes have been moved from code 100 in CS Version 1 to code 110. Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:35.975Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Retropharyngeal", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level V - Posterior triangle group:\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preparotid\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 110", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddr.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddr.json deleted file mode 100644 index 8758379b1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddr.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_ddr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoids cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Level III and Level IV nodes have been moved from code 100 in CS Version 1 to code 110. Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:36.026Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Retropharyngeal", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level V - Posterior triangle group:\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VII node - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preparotid\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 110", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dds.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dds.json deleted file mode 100644 index 89adf2753..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dds.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dds", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Level II nodes have been moved from code 100 in CS Version 1 to code 120. Level III nodes have been moved from code 100 to code 110. Level IV nodes have been added to code 100. Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:36.076Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular NOS:\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "105", "OBSOLETE DATA CONVERTED V0203\nSee code 120\n\nPositive regional node(s):\n Level II - Upper jugular\n Jugulodigastric (subdigastric)\n Upper deep cervical", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "110", "Positive regional node(s):\n Level I: \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level III - Middle jugular:\n Middle deep cervical\n Retropharyngeal", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level V - Posterior triangle group:\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial :\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preparotid\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 110", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes, any listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddt.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddt.json deleted file mode 100644 index deee65074..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddt.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_ddt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2. \n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9. \n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes. \n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups. \n\n**Note 5**: Level III nodes have been moved from code 100 in CS Version 1 to code 110. Level IV nodes have been added to code 120. Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:36.123Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior \n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level III - Middle jugular:\n Middle deep cervical\n Retropharyngeal", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node \n Level V - Posterior triangle group:\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preparotid\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 110", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddw.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddw.json deleted file mode 100644 index 89d0666fa..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddw.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_ddw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location above or below the lower border of the criocid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.", - "last_modified" : "2015-05-27T16:19:36.186Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preparotid\n Parapharyngeal \n Retroauricular (mastoid)\n Suboccipital", "VALUE:NA", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Lymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddy.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddy.json deleted file mode 100644 index be8a7dd8c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddy.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_ddy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Level IV nodes have been moved from code 100 in CS Version 1 to code 120. Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:36.242Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical \n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Level I: \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI-Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch \n Perithyroidal \n Precricoid (Delphian)\n Prelaryngeal \n Pretracheal - above suprasternal notch\n Recurrent laryngeal \n Level VII- Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 110", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddz.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddz.json deleted file mode 100644 index 622c69978..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ddz.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_ddz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Level II nodes have been moved from code 100 in CS Version 1 to code 120. Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:36.297Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS \n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal \n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian) \n Prelaryngeal \n Pretracheal - above suprasternal notch\n Recurrent laryngeal \n Parapharyngeal", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level V node - Posterior triangle gorup:\n Posterior cervical \n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VII node - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove \n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Retroauricular (mastoid)\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 110", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dea.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dea.json deleted file mode 100644 index 2b25afb50..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dea.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dea", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Level IA Submental nodes have been moved from code 100 in CS Version 1 to code 110. Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:36.355Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I:\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Level IA - Submental", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deb.json deleted file mode 100644 index cf568090a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deb.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_deb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Level III and Level IV nodes have been moved from code 100 in CS Version 1 to code 120. Retropharyngeal nodes have been moved from code 120 to code 100. Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:36.412Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I: \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preparotid\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200 \n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200 \n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200 \n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200 \n\nStated as N2b, no other information", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200 \n\nRegional lymph nodes as listed in code 100: \nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200 \n\nRegional lymph nodes as listed in code 120: \nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200 \n\nRegional lymph nodes as listed in code 100: \nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200 \n\nRegional lymph nodes as listed in code 120: \nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200 \n \nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200 \n \nRegional lymph nodes as listed in code 100: \nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral, \nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200 \n \nRegional lymph nodes as listed in code 120: \nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral, \nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200 \n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200 \n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ded.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ded.json deleted file mode 100644 index a32bf8ac1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_ded.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_ded", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:36.466Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preparotid\n Parapharyngeal \n Retroauricular (mastoid)\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dee.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dee.json deleted file mode 100644 index 3b2fa36e2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dee.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dee", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Retropharyngeal nodes have been moved from code 120 in CS Version 1 to code 050. Spinal accessory nodes have been moved from code 750 to code 110. Lower deep cervical and transverse cervical nodes have been moved from code 750 to code 120. Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:36.514Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "050", "Positive regional node(s):\n Retropharyngeal", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "100", "Positive regional node(s):\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS \n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level VA - Spinal accessory", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level III - Middle jugular:\n Middle deep cervical \n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Level V - Posterior triangle group:\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch \n Perithyroidal \n Precricoid (Delphian)\n Prelaryngeal \n Pretracheal - above suprasternal notch\n Recurrent laryngeal \n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA CONVERTED V0203\nCode 190 included in error in CSv2: V0200, V0202 with the tag OBSOLETE DATA RETAINED V0200. Code 190 should not be entered on any case. Code 190 will be converted to code 600 for any case that may have been coded 190 in error.\n\nStated as N2a, no other information", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 110", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n.\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA CONVERTED V0203\nCode 290 included in error in CSv2: V0200, V0202 with the tag OBSOLETE DATA RETAINED V0200. Code 290 should not be entered on any case. Code 290 will be converted to code 600 for any case that may have been coded 290 in error.\n\nStated as N2b, no other information", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA CONVERTED V0203\nCode 490 included in error in CSv2: V0200, V0202 with the tag OBSOLETE DATA RETAINED V0200. Code 490 should not be entered on any case. Code 490 will be converted to code 600 for any case that may have been coded 490 in error.\n\nStated as N2c, no other information", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "750", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes in the supraclavicular fossa:\nInferior deep cervical (scalene)\nSpinal accessory (posterior cervical)\nSupraclavicular (transverse cervical) (See Note 3)", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_def.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_def.json deleted file mode 100644 index fc3be6d73..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_def.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_def", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Level IV nodes have been moved from code 100 in CS Version 1 to code 120. Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:36.565Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior \n Level III - Middle jugular:\n Middle deep cervical\n Retropharyngeal \n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Level I: \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch \n Perithyroidal \n Precricoid (Delphian)\n Prelaryngeal \n Pretracheal - above suprasternal notch\n Recurrent laryngeal \n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove \n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular(mastoid)\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 110", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deg.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deg.json deleted file mode 100644 index a048405b2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deg.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_deg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Level IA nodes have been moved from code 100 in CS Version 1 to code 110. Retropharyngeal nodes have been moved from codes 110 and 120 in CS Version 1 to code 100. Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:36.618Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I:\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Level IA - Submental", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch \n Perithyroidal \n Precricoid (Delphian)\n Prelaryngeal \n Pretracheal - above suprasternal notch\n Recurrent laryngeal \n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 110", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dei.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dei.json deleted file mode 100644 index 18cfa547d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dei.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dei", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Level IA nodes have been moved from code 100 in CS Version 1 to code 110.", - "last_modified" : "2015-05-27T16:19:36.671Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I:\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial \n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular \n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Level IA - Submental ", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Parapharyngeal\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dej.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dej.json deleted file mode 100644 index 38f402ca2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dej.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dej", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.", - "last_modified" : "2015-05-27T16:19:36.727Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I:\n Level IA - Submental \n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infra-auricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes, any listed in code 120 (WITH or WITHOUT nodes listed in code 100 or 110)", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes (WITH or WITHOUT nodes listed in code 100 or 110)", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dek.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dek.json deleted file mode 100644 index b10b0ee7e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dek.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dek", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes. \n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Facial nodes including mandibular nodes have been moved from code 100 in CS Version 1 to code 110.", - "last_modified" : "2015-05-27T16:19:36.779Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I: \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior \n Level III- Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node \n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove \n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph node", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes, listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_del.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_del.json deleted file mode 100644 index 727f23b17..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_del.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_del", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Facial nodes including mandibular nodes have been moved from code 100 in CS Version 1 to code 110.", - "last_modified" : "2015-05-27T16:19:36.827Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III node - Middle jugular\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node \n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII node - Superior mediastinal group\n (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove \n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal \n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dem.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dem.json deleted file mode 100644 index d1cdecdde..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dem.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dem", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9. \n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes. \n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.", - "last_modified" : "2015-05-27T16:19:36.878Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I:\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node \n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Level IA - Submental\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200 \n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200 \n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200 \n\nMultiple positive ipsilateral nodes, any listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200 \n\nStated as N2b, no other information", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200 \n\nRegional lymph nodes as listed in code 100: Positive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200 \n\nRegional lymph nodes as listed in code 120: Positive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200 \n\nRegional lymph nodes as listed in code 100: Positive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200 \n\nRegional lymph nodes as listed in code 120: Positive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n \nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200 \n \nRegional lymph nodes as listed in code 100: Positive node(s), not stated if ipsilateral, or bilateral, or contralateral, \nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200 \n\nRegional lymph nodes as listed in code 120: Positive node(s), not stated if ipsilateral, or bilateral, or contralateral, \nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200 \n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200 \n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_den.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_den.json deleted file mode 100644 index 5677ebf37..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_den.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_den", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Instructions.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location above or below the lower border of the criocid cartilage) is coded in Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.", - "last_modified" : "2015-05-27T16:19:36.924Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingua\n Mandibular\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical'\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid ( Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Nasolabial\n Parapharyngeal\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 110", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deo.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deo.json deleted file mode 100644 index b532961fb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deo.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_deo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location above or below the lower border of the criocid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.", - "last_modified" : "2015-05-27T16:19:36.977Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Facial: \n Buccinator (buccal)\n Mandibular\n Nasolabial \n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group: \n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid ( Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Parapharyngeal\n Retroauricular\n Retropharyngeal\n Suboccipital ", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 110", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deq.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deq.json deleted file mode 100644 index 89d520e61..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deq.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_deq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location above or below the lower border of the criocid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCCstaging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.", - "last_modified" : "2015-05-27T16:19:37.037Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Lower deep cervical \n Virchow node\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level V - Posterior triangle group:\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes, any listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_der.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_der.json deleted file mode 100644 index b062f9ee9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_der.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_der", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Duplicate Level IA nodes and Retropharyngeal nodes in CS Version 1 have been removed from code 100 and code 120 respectively. Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:37.082Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I:\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Level IA - Submental", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 110", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_des.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_des.json deleted file mode 100644 index 7b966dfc5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_des.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_des", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location above or below the lower border of the criocid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Mandibular nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:37.134Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level V node - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI node - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII node - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_det.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_det.json deleted file mode 100644 index 6f9543adc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_det.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_det", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Retropharyngeal nodes have been moved from code 120 in CS Version 1 to code 050. Sipinal accessory nodes have been moved from code 750 to code 110. Lower deep cervical and transverse cervical nodes have been moved from code 750 to code 120. Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 105, 115, 125-190, 205, 215, 225, 290, 305, 315, 325, 405, 415, 425, 490, 505, 515, 525-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table CSv2 for this schema.\n- For CS Lymph Nodes codes 105, 115, 125-190, 205, 215, 225, 290, 305, 315, 325, 405, 415, 425, 490, 505, 515, and 525-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table CSv2 for this schema.\n- For OBSOLETE codes 100, 110, 120, 200, 210, 220, 300, 310, 320, 400, 410, 420, 500, 510, 520, and 750 ONLY, the N category for AJCC 6 staging for cases collected in CSv1 is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table CSv1, for this schema.", - "last_modified" : "2015-05-27T16:19:37.184Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nSingle positive ipsilateral regional node:\n Level II node\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Upper jugular\n Level III node\n Middle deep cervical\n Mid jugular\n Level IV node\n Lower deep cervical\n Lower jugular\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Mandibular\n Regional lymph node, NOS", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:RN", "VALUE:RN" ], [ "105", "Single positive ipsilateral regional node:\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS \n Regional lymph node, NOS", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:RN", "VALUE:RN" ], [ "110", "OBSOLETE DATA RETAINED V0200\n\nSingle positive ipsilateral regional node:\n Level I node\n Submandibular (submaxillary)\n Submental", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:D", "VALUE:RN" ], [ "115", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level VA - Spinal accessory", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:D", "VALUE:RN" ], [ "120", "OBSOLETE DATA RETAINED V0200\n\nSingle positive ipsilateral regional node:\n Level V node\n Posterior cervical\n Posterior triangle (spinal accessory and transverse cervical) (upper, middle, and lower corresponding to the levels that define upper, middle, and lower jugular nodes)\n Level VI node\n Anterior deep cervical\n Laterotracheal\n Paralaryngeal\n Paratracheal\n Prelaryngeal\n Pretracheal\n Recurrent laryngeal\n Level VII node\n Upper mediastinum (for other mediastinal nodes see CS Mets at DX)\n Other groups\n Intraparotid\n Parapharyngeal\n Periparotid\n Retropharyngeal\n Sub-occipital\n Supraclavicular fossa", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:D", "VALUE:D" ], [ "125", "Single positive ipsilateral regional node:\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (suyporaomohyoid)\n Lower deep cervical\n Virchow node\n Level V - Posterior triangle group:\n Posterior cervical\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch \n Perithyroidal \n Precricoid (Delphian)\n Prelaryngeal \n Pretracheal - above suprasternal notch\n Recurrent laryngeal \n Level VII node - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove \n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular(mastoid) \n Suboccipital", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:RN", "VALUE:RN" ], [ "205", "Multiple positive ipsilateral nodes listed in code 105", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:RN", "VALUE:RN" ], [ "210", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 110", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:RN", "VALUE:RN" ], [ "215", "Multiple positive ipsilateral nodes, any listed in code 115 \nWITH or WITHOUT nodes listed in code 105", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:D", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:D", "VALUE:D" ], [ "225", "Multiple positive ipsilateral nodes, any listed in code 125 \nWITH or WITHOUT nodes listed in code 105 or 115", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:D", "VALUE:D" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:RN", "VALUE:RN" ], [ "305", "Positive ipsilateral node(s) listed in code 105, not stated if single or multiple", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:RN", "VALUE:RN" ], [ "310", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:D", "VALUE:RN" ], [ "315", "Positive ipsilateral node(s) listed in code 115, not stated if single or multiple", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:D", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:D", "VALUE:D" ], [ "325", "Positive ipsilateral node(s) listed in code 125, not stated if single or multiple", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes listed in code 100:\nPositive bilateral nodes", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:RN", "VALUE:RN" ], [ "405", "Positive bilateral or contralateral nodes listed in code 105", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:RN", "VALUE:RN" ], [ "410", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes listed in code 110:\nPositive bilateral nodes", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:D", "VALUE:RN" ], [ "415", "Positive bilateral or contralateral nodes, any listed in code 115 \nWITH or WITHOUT nodes listed in code 105", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:D", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes listed in code 120:\nPositive bilateral nodes", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:D", "VALUE:D" ], [ "425", "Positive bilateral or contralateral nodes, any listed in code 125\nWITH or WITHOUT nodes listed in code 105 or 115", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes listed in code 100:\nPositive node(s), not stated if unilateral, or bilateral", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:RN", "VALUE:RN" ], [ "505", "Positive node(s) lsited in code 105, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:RN", "VALUE:RN" ], [ "510", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 110:\nPositive node(s), not stated if unilateral, or bilateral", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:D", "VALUE:RN" ], [ "515", "Positive node(s) listed in code 115, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:D", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if unilateral or bilateral", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:D", "VALUE:D" ], [ "525", "Positive node(s) listed in code 125, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_csv2_xiw", "JUMP:lymph_nodes_size_csv2_xiw", "VALUE:RN", "VALUE:RN" ], [ "750", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes in the supraclavicular fossa\nInferior deep cervical (scalene)\nSpinal accessory (posterior cervical)\nSupraclavicular (transverse cervical) (See Note 4)", "ERROR:", "JUMP:lymph_nodes_size_csv1_xix", "VALUE:D", "VALUE:D" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deu.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deu.json deleted file mode 100644 index 824ac4d63..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_deu.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_deu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: Levels III and IV nodes have been moved from code 100 in CS Version 1 to code 120. Mandibuilar nodes are included with Facial nodes.", - "last_modified" : "2015-05-27T16:19:37.233Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level I: \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA-Anterior\n Level IIB - Posterior\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preparotid\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital\n", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "190", "OBSOLETE DATA RETAINED V0200\n\nStated as N2a, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 100", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "220", "OBSOLETE DATA RETAINED V0200\n\nMultiple positive ipsilateral nodes listed in code 120", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "290", "OBSOLETE DATA RETAINED V0200\n\nStated as N2b, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "320", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive ipsilateral node(s), not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "420", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive bilateral or contralateral nodes", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "490", "OBSOLETE DATA RETAINED V0200\n\nStated as N2c, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 100:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "520", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes as listed in code 120:\nPositive node(s), not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "ERROR:", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "600", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, no other information", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dev.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dev.json deleted file mode 100644 index 4474b10b2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dev.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dev", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Peripheral nodes are located in the upper and lower limbs, including axillary and inguinal nodes. Central lymph nodes are located in the trunk, including mediastinal, para-aortic, and mesenteric nodes.\n\n**Note 2**: Involvement of peripheral and central lymph nodes, distant nodes for ocular adnexal lymphomas, is coded in CS Lymph Nodes and not in CS Mets at DX.\n\n**Note 3**: When coding Regional Nodes Positive and Regional Nodes Examined, only include regional nodes. Do not include distant nodes coded in CS Lymph Nodes. If the only information available is for Lymph Nodes, NOS, coded as 800 in CS Lymph Nodes, assume these are regional nodes for coding Regional Nodes Positive and Regional Nodes Examined.", - "footnotes" : "- Stage grouping for AJCC 6 staging of ocular adnexal lymphoma is derived from a combination of CS Extension, CS Lymph Nodes, and CS Mets at DX codes as shown in the AJCC TNM 6 Stage table. A or B classification is appended to Stage I-IV based on coding of CS Site-Specific Factor 2, Systemic Symptoms at Diagnosis.", - "last_modified" : "2015-05-27T16:19:37.282Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Ipsilateral regional lymph nodes:\n Cervical, NOS:\n Submandibular (submaxillary)\n Parotid, NOS:\n Preauricular\n Regional lymph node(s), NOS\n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "300", "Contralateral or bilateral regional nodes listed in code 100\n\nStated as N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "600", "Peripheral lymph nodes not draining ocular adnexal region\n\nStated as N3 with no other information on regional lymph nodes", "VALUE:N3", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "700", "Central lymph nodes \n\n Stated as N4 with no other information on regional lymph nodes", "VALUE:N4", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RNOS", "VALUE:RNOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n \nNot applicable ", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "988", "OBSOLETE DATA RETAINED V0200\nNew schema for site, histology V0200\n\nNot applicable for this schema", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "Unknown; regional and distant lymph nodes not stated\nRegional and distant lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dew.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dew.json deleted file mode 100644 index e8119299d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dew.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dew", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX. \n\n**Note 2**: Inferior phrenic nodes are classified as regional nodes for AJCC 7 staging. They are now coded in CS Lymph Nodes. \n\n**Note 3**: Periduodenal and peripancreatic nodes are regional for tumors in the right liver, and gastrohepatic nodes are regional for tumors in the left liver, for AJCC 7 staging. Use codes 120 and 130 only for regional nodes specific to the involved lobe of liver. Use code 140 if both lobes of liver are involved and periduodenal/peripancreatic and gastrohepatic nodes are involved. \n\n**Note 4**: Caval nodes are classified as distant nodes and coded in CS Mets at DX.", - "footnotes" : "- For CS Lymph Nodes codes 000-999, the N and M categories for AJCC 6 staging are assigned based on the coding of CS Lymph Nodes and CS Mets at DX as shown in the Lymph Nodes Mets at DX AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:37.329Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_n", "VALUE:NONE", "VALUE:NONE" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nGastrohepatic nodes are regional for tumors in left liver in AJCC 7. Caval nodes are distant in AJCC 7. See codes 000, 110, 120, 310, and CS Mets at DX codes 07, 14, 17, 20, and 58. \n\nRegional lymph nodes:\n Hepatic NOS:\n Hepatic artery\n Hepatic pedicle\n Inferior vena cava\n Porta hepatis (hilar) [in hilus of liver]\n Hepatoduodenal ligament\n Periportal\n Portal vein\n Regional lymph node(s), NOS", "VALUE:N1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_n", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph nodes:\n Hilar:\n Common bile duct\n Cystic duct\n Hepatic, NOS:\n Hepatic artery\n Hepatic pedicle\n Hepatoduodenal ligament\n Portal vein:\n Porta hepatis\n Periportal\n Regional lymph node(s), NOS", "VALUE:N1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_n", "VALUE:RN", "VALUE:RN" ], [ "120", "Regional lymph nodes:\n Primary tumor in left liver (segments 2-4) or lobe of liver not stated:\n Gastrohepatic", "VALUE:N1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_n", "VALUE:D", "VALUE:D" ], [ "130", "Regional lymph nodes:\n Primary tumor in right liver (segments 5-8) or lobe of liver not stated:\n Periduodenal\n Peripancreatic", "VALUE:N1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_n", "VALUE:D", "VALUE:D" ], [ "140", "120 +130\n\nRegional lymph nodes:\n Primary tumor involving both lobes of liver:\n Gastrohepatic\n Periduodenal\n Peripancreatic", "VALUE:N1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_n", "VALUE:D", "VALUE:D" ], [ "200", "Regional lymph nodes:\n Inferior phrenic nodes", "VALUE:N1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_n", "VALUE:D", "VALUE:D" ], [ "300", "OBSOLETE DATA REVIEWED V0203 \nSee codes 200, 310 and CS Mets at DX codes 07, 14, 17, 20, 55, and 58\n\n(100) + (200)", "VALUE:N1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_n", "VALUE:D", "VALUE:D" ], [ "310", "(120, 130, 140, and/or 200) + 110\n\nAny nodes in codes 120, 130, 140, and 200 plus nodes in code 110", "VALUE:N1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_n", "VALUE:D", "VALUE:D" ], [ "500", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_n", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_n", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "JUMP:lymph_nodes_metsat_dxajcc6_xgq_n", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dex.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dex.json deleted file mode 100644 index 43f29887f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dex.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "nodes_dex", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "last_modified" : "2015-05-27T16:19:37.381Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NA", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\n Cervical\n Submandibular (submaxillary)\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Regional lymph node(s), NOS", "VALUE:NA", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:NA", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dey.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dey.json deleted file mode 100644 index db99a4057..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dey.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dey", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Inferior mesenteric nodes are coded in CS Mets at DX for cecum, ascending colon, transverse colon, and hepatic flexure . Superior mesenteric nodes are coded in CS Mets at DX for all colon sites. Mesenteric node(s), NOS are coded in CS Lymph Nodes.\n\n**Note 3**: Nodal metastasis is very rare in gastrointestinal stromal tumors (GISTs) and surgeons generally agree that nodal dissection is not indicated. In the absence of information on regional lymph node status, N0 is appropriate; code 999 is mapped to N0 accordingly.", - "last_modified" : "2015-05-27T16:19:37.435Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "050", "Nodule(s) or foci in pericolic fat/adjacent mesentery/mesocolic fat", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nCode 100 was defined as \"Regional lymph nodes for all colon sites: Colic (NOS), Epicolic (adjacent to bowel wall), Mesocolic (NOS), Paracolic/pericolic, Nodule(s) or foci in pericolic fat/adjacent mesentery/mesocolic fat\" in CSv1. Code 100 was defined as \"Regional lymph nodes for all colon sites: Colic (NOS), Epicolic (adjacent to bowel wall), Mesocolic (NOS), Paracolic/pericolic\" in CSv2:V0201, V0202. All cases should be reviewed and recoded to appropriate codes; see codes 050 and 110.\n\nRegional lymph nodes for all colon sites:\n Colic (NOS)\n Epicolic (adjacent to bowel wall)\n Mesocolic (NOS)\n Paracolic/pericolic", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph nodes for all colon sites:\n Colic, NOS\n Epicolic (adjacent to bowel wall)\n Mesocolic, NOS\n Paracolic/pericolic", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED AND REVIEWED V0203 \nSee codes 210 and 220 \n\nRegional lymph nodes, for specific colon sites:\n Cecum:\n Cecal, NOS:\n Anterior (prececal)\n Posterior (retrocecal)\n Ileocolic\n Right colic\n Ascending colon:\n Ileocolic\n Middle colic\n Right colic\n Transverse colon and flexures:\n Inferior mesenteric for splenic flexure only\n Left colic for splenic flexure only\n Middle colic\n Right colic for hepatic flexure only\n Descending colon:\n Inferior mesenteric\n Left colic \n Sigmoid colon:\n Inferior mesenteric\n Sigmoidal (sigmoid mesenteric)\n Superior hemorrhoidal\n Superior rectal", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "210", "Transverse colon and flexures:\n Inferior mesenteric for splenic flexure only\n Left colic for splenic flexure only\n Middle colic\n Right colic for hepatic flexure only\n Descending colon:\n Inferior mesenteric\n Left colic Sigmoid colon:\n Inferior mesenteric\n Sigmoidal (sigmoid mesenteric)\n Superior hemorrhoidal\n Superior rectal", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "220", "Regional lymph nodes for descending colon:\n Sigmoid", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "300", "Regional lymph nodes for all colon sites:\n Mesenteric, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "400", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "450", "OBSOLETE DATA RETAINED V0200 \n\nStated as N2 pathologic", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:N0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dez.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dez.json deleted file mode 100644 index 34747e234..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dez.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dez", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: For rectosigmoid primaries, middle and superior rectal nodes are coded 200, and inferior rectal nodes are coded in CS Mets at DX; for rectum primaries, the inferior, middle, and superior rectal nodes are coded 200. Rectal nodes, NOS are coded 100 for both rectosigmoid and rectum primaries.\n\n**Note 3**: For rectum primaries, obturator nodes and internal iliac (hypogastric) nodes, NOS are coded 200; for rectosigmoid primaries, these are coded in CS Mets at DX.\n\n**Note 4**: For rectosigmoid primaries, left colic nodes and colic nodes, NOS are coded 200; for rectum primaries, these are coded in CS Mets at DX.\n\n**Note 5**: Nodal metastasis is very rare in gastrointestinal stromal tumors and surgeons generally agree that nodal dissection is not indicated. In the absence of information on regional lymph node status, N0 is appropriate; code 999 is mapped to N0 accordingly.", - "last_modified" : "2015-05-27T16:19:37.489Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "050", "Nodule(s) or foci in perirectal fat", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 050 and 110 \n\nRegional lymph nodes :\nRectosigmoid:\n Paracolic/pericolic\n Perirectal\n Rectal\n Nodule(s) or foci in pericolic fat/adjacent mesentery/mesocolic fat\nRectum:\n Perirectal\n Rectal, NOS\n Nodule(s) or foci in perirectal fat", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph nodes: \nFor all sites:\n Perirectal\n Rectal\nFor rectosigmoid:\n Paracolic/pericolic", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "Regional lymph node(s): \n For all sites:\n Hemorrhoidal:\n Middle\n Superior\n Mesenteric, inferior\n Rectal:\n Middle\n Superior\n Sigmoidal (sigmoid mesenteric)\n For rectosigmoid:\n Colic, NOS\n Left colic\n For rectum:\n Hemorrhoidal:\n Inferior \n Internal iliac (hypogastric), NOS:\n Obturator\n Rectal, inferior\n Sacral, NOS :\n Lateral (laterosacral)\n Middle (promontorial) (Gerota's node)\n Presacral\n Sacral promontory", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "Regional lymph nodes for all sites:\n Mesenteric node(s), NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "400", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "450", "OBSOLETE DATA RETAINED V0200\n\nStated as N2 pathologic", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:N0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfa.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfa.json deleted file mode 100644 index 58667288a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfa.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: If information about named regional lymph nodes is available, use codes 110, 400, or 420 rather than code 600.\n\n**Note 3**: Hepatoduodenal nodes are regional for primaries of the lesser curvature of the stomach. They are coded in CS Mets at DX for all other subsites in this schema.\n\n**Note 4**: Nodal metastasis is very rare in gastrointestinal stromal tumors and surgeons generally agree that nodal dissection is not indicated. In the absence of information on regional lymph node status, N0 is appropriate; code 999 is mapped to N0 accordingly.", - "last_modified" : "2015-05-27T16:19:37.541Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "050", "Nodule(s) in perigastric fat", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 000, 050, and 110 and CS Mets at DX codes 10 and 50\n\nRegional lymph nodes:\n Left gastric (superior gastric), NOS:\n Cardial\n Cardioesophageal\n Gastric, left\n Gastropancreatic, left\n Lesser curvature\n Lesser omental\n Paracardial\n Pancreaticosplenic (pancreaticolienal)\n Pancreatoduodenal\n Perigastric, NOS\n Peripancreatic\n Right gastric (inferior gastric), NOS:\n Gastrocolic\n Gastroduodenal\n Gastroepiploic (gastro-omental), right or NOS\n Gastrohepatic\n Greater curvature\n Greater omental\n Pyloric, NOS\n Infrapyloric (subpyloric)\n Suprapyloric\n Splenic (lienal), NOS:\n Gastroepiploic (gastro-omental), left\n Splenic hilar\n Superior mesenteric\n Nodule(s) in perigastric fat", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph nodes:\n Left gastric (superior gastric), NOS:\n Cardial\n Cardioesophageal\n Gastric, left\n Gastropancreatic, left\n Lesser curvature\n Lesser omental\n Paracardial\n Pancreaticosplenic (pancreaticolienal)\n Pancreatoduodenal\n Perigastric, NOS\n Peripancreatic\n Right gastric (inferior gastric), NOS:\n Gastrocolic\n Gastroduodenal\n Gastroepiploic (gastro-omental), right or NOS\n Gastrohepatic\n Greater curvature\n Greater omental\n Pyloric, NOS\n Infrapyloric (subpyloric)\n Suprapyloric\n Splenic (lienal), NOS:\n Gastroepiploic (gastro-omental), left\n Splenic hilar", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "400", "Hepatic (excluding gastrohepatic, [see code 100] and hepatoduodenal [see code 420])", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "420", "For lesser curvature:\n Hepatoduodenal", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "500", "Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "600", "Stated as N1 with no other information on regional lymph node", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "650", "OBSOLETE DATA RETAINED V0200 \n\nStated as N2, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200 \n\nStated as N3, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:N0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfb.json deleted file mode 100644 index 87368164f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfb.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Pericholedochal (common bile duct) lymph nodes are coded here for primaries of the duodenum. They are coded in CS Mets at DX for primaries of other small intestine subsites.\n\n**Note 3**: The assignment of T categories for gastrointestinal stromal tumors (GISTs) is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 170, 210, 250, and 270 as appropriate to code CS Extension based on a statement of T when no other extension information is available.\n\n**Note 4**: Nodal metastasis is very rare in gastrointestinal stromal tumors and surgeons generally agree that nodal dissection is not indicated. In the absence of information on regional lymph node status, N0 is appropriate; code 999 is mapped to N0 accordingly.", - "last_modified" : "2015-05-27T16:19:37.590Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s):\n For duodenum primary only:\n Duodenal\n Gastroduodenal\n Hepatic \n Pancreaticoduodenal\n Pyloric:\n Infrapyloric (subpyloric)\n For jejunum or ileum primary only:\n Mesenteric, NOS:\n Superior mesenteric\n For terminal ileum primary:\n Cecal, posterior (retrocecal)\n Ileocolic", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "For duodenum primary only:\n Pericholodochal (common bile duct)\n Superior mesenteric", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "300", "Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "400", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:N0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfc.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfc.json deleted file mode 100644 index 86a840a52..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfc.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dfc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes, and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: One or more malignant satellite peritumoral nodules or tumor deposits (TD) in the periappendiceal adipose tissue of a primary carcinoma without histologic evidence of residual lymph node in the nodule may represent discontinuous spread, venous invasion with extravascular spread, or a totally replaced lymph node. Replaced nodes are counted as positive nodes and coded in CS Lymph Nodes. TD representing discontinuous spread or venous invasion are coded in CS Extension, and the number of TD representing discontinuous spread or venous invasion is coded in CS Site-Specific Factor 4.\n\n**Note 3**: Superior and inferior mesenteric nodes are coded in CS Mets at DX. Mesenteric nodes, NOS are coded in CS Lymph Nodes.\n\n**Note 4**: The number of positive regional nodes is required to calculate the correct N category for this schema. Use codes 400 and 450 a when the pathology report assigns an N1 or N2 category but the specific information about number of nodes involved is not available. Use codes 100 - 300 rather than codes 400 or 450 when information about the number of positive nodes is available, or when nodes are clinically positive but not removed for examination.", - "footnotes" : "- For CS Lymph Nodes codes 050-300 ONLY, when CS Lymph Nodes Eval is 1 or 9, and CS Coding System Original is before CS V02.05, the N category is assigned from the Lymph Nodes Clinical Eval Prior to CS V02.05 AJCC 7 Table, using Regional Nodes Positive and CS Site-Specific Factor 2. When CS Lymph Nodes Eval = 0,5 OR (CS Lymph Nodes Eval is 1,9 and CS Coding System Original is at least V02.05), the N category is assigned from Lymph Nodes Clinical Eval V02.05 AJCC 7 Table using CS Site-Specific Factor 2; when CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded, the N category is determined from the Lymph Nodes Pathologic Evaluation AJCC 7 Table Also Used When CS Lymph Nodes Eval is Not Coded using Regional Nodes Positive.\n- For CS Lymph Nodes codes 100-300 ONLY, when CS Lymph Nodes Eval is 0, 1, 5, or 9, the N category is assigned from the Lymph Nodes Clinical Evaluation AJCC 6 Table, using Regional Nodes Positive and CS Site-Specific Factor 2; when CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded, the N category is determined from the Lymph Nodes Pathologic Evaluation AJCC 6 Table Also Used When CS Reg Nodes Eval is Not Coded, using Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:37.649Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "050", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee codes 000 and 100, CS Extension codes 450 and 550 and CS Site-Specific Factor 4\n\nTumor deposit(s) in the subserosa, or non-peritonealized pericolic or perirectal tissues WITHOUT regional nodal metastasis", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "100", "Regional lymph nodes:\n Colic (NOS)\n Epicolic (adjacent to bowel wall)\n Mesocolic (NOS)\n Paracolic/pericolic\n Nodule(s) or foci in pericolic fat/adjacent mesentery/mesocolic fat", "JUMP:determine_correct_table_for_ajcc7_n_ns2", "JUMP:determine_correct_table_for_ajcc6_n_ns1", "VALUE:RN", "VALUE:RN" ], [ "200", "Cecal:\n Anterior (prececal)\n Posterior (retrocecal)\nIleocolic\nRight colic", "JUMP:determine_correct_table_for_ajcc7_n_ns2", "JUMP:determine_correct_table_for_ajcc6_n_ns1", "VALUE:RN", "VALUE:RN" ], [ "300", "Mesenteric, NOS\nRegional lymph node(s), NOS", "JUMP:determine_correct_table_for_ajcc7_n_ns2", "JUMP:determine_correct_table_for_ajcc6_n_ns1", "VALUE:RN", "VALUE:RN" ], [ "400", "Stated as pathologic N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "450", "Stated as pathologic N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfd.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfd.json deleted file mode 100644 index daae8de66..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfd.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Superior and inferior mesenteric nodes are coded in CS Mets at DX. Mesenteric nodes, NOS are coded in CS Lymph Nodes.\n\n**Note 3**: Nodal metastasis is very rare in gastrointestinal stromal tumors (GIST), and surgeons generally agree that nodal dissection is not indicated. In the absence of information on regional lymph node status, N0 is appropriate; code 999 is mapped to N0 accordingly.", - "last_modified" : "2015-05-27T16:19:37.694Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "050", "Nodule(s) or foci in pericolic fat/adjacent mesentery/mesocolic fat", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 050 and 110\n\nRegional lymph nodes for all colon sites:\n Colic (NOS)\n Epicolic (adjacent to bowel wall)\n Mesocolic (NOS)\n Paracolic/pericolic\n Nodule(s) or foci in pericolic fat/adjacent mesentery/mesocolic fat", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Colic, NOS\nEpicolic (adjacent to bowel wall)\nMesocolic, NOS\nParacolic/pericolic", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "Cecal:\n Anterior (prececal)\n Cecal, NOS\n Posterior (retrocecal)\nIleocolic\nRight colic", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "300", "Mesenteric, NOS\nRegional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "400", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "450", "OBSOLETE DATA RETAINED V0200\n\nStated as N2 pathologic", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:N0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfe.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfe.json deleted file mode 100644 index 542c5b006..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfe.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dfe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in the CS Mets at DX.\n\n**Note 2**: Inferior mesenteric nodes are coded in CS Mets at DX for cecum, ascending colon, transverse colon, and hepatic flexure. Superior mesenteric nodes are coded in CS Mets at DX for all colon sites.", - "footnotes" : "- For CSLymph Nodes codes 050-300 ONLY: when CS Lymph Nodes Eval is 0, 1, 5, or 9, the N category for AJCC 6 staging is assigned as shown in the Lymph Nodes Clinical Evaluation AJCC 6 Table, using Regional Nodes Positive and CS Site-Specific Factor 2; when CS Regional Nodes Eval is 2, 3, 6, 8, or not coded, the N category for AJCC 6 staging is assigned as shown in the Lymph Nodes Pathologic Evaluation AJCC 6 Table Also Used When CS Reg Nodes Eval is Not Coded, using Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:37.753Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "050", "Nodule(s) or foci in pericolic fat/adjacent mesentery/mesocolic fat", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns22", "VALUE:RN", "VALUE:RN" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nCode 100 was defined as \"Regional lymph nodes for all colon sites: Colic (NOS), Epicolic (adjacent to bowel wall), Mesocolic (NOS), Paracolic/pericolic, Nodule(s) or foci in pericolic fat/adjacent mesentery/mesocolic fat\" in CSv1. Code 100 was defined as \"Regional lymph nodes for all colon sites: Colic (NOS), Epicolic (adjacent to bowel wall), Mesocolic (NOS), Paracolic/pericolic\" in CSv2:V0201, V0202. All cases should be reviewed and recoded to appropriate codes; see codes 050 and 110.\n\nRegional lymph nodes for all colon sites:\n Colic (NOS)\n Epicolic (adjacent to bowel wall)\n Mesocolic (NOS)\n Paracolic/pericolic", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns22", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph nodes for all colon sites:\n Colic, NOS\n Epicolic (adjacent to bowel wall)\n Mesocolic, NOS\n Paracolic/pericolic", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns22", "VALUE:RN", "VALUE:RN" ], [ "200", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 210, 220\n\nRegional lymph nodes, for specific subsites:\n Cecum:\n Cecal: \n Anterior (prececal),\n Posterior (retrocecal)\n Cecal, NOS\n Ileocolic\n Right colic\n Ascending colon:\n Ileocolic\n Middle colic\n Right colic\n Transverse colon and flexures:\n Inferior mesenteric for splenic flexure only\n Left colic for splenic flexure only\n Middle colic\n Right colic for hepatic flexure only\n Descending colon:\n Inferior mesenteric\n Left colic\n Sigmoid\n Sigmoid colon:\n Inferior mesenteric\n Sigmoidal (sigmoid mesenteric)\n Superior hemorrhoidal\n Superior rectal", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns22", "VALUE:RN", "VALUE:RN" ], [ "210", "Regional lymph nodes, for specific subsites:\n Cecum:\n Cecal: \n Anterior (prececal),\n Posterior (retrocecal)\n Cecal, NOS\n Ileocolic\n Right colic\n Ascending colon:\n Ileocolic\n Middle colic\n Right colic\n Transverse colon and flexures:\n Inferior mesenteric for splenic flexure only\n Left colic for splenic flexure only\n Middle colic\n Right colic for hepatic flexure only\n Descending colon:\n Inferior mesenteric\n Left colic\n Sigmoid colon:\n Inferior mesenteric\n Sigmoidal (sigmoid mesenteric)\n Superior hemorrhoidal\n Superior rectal", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns22", "VALUE:RN", "VALUE:RN" ], [ "220", "Regional lymph nodes for descending colon:\n Sigmoid", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns22", "VALUE:D", "VALUE:RN" ], [ "300", "Regional lymph nodes for all colon sites:\n Mesenteric, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns22", "VALUE:RN", "VALUE:RN" ], [ "400", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 410\n\nStated as N1 pathologic", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "410", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "450", "OBSOLETE DATA RETAINED V0200\n\nStated as N2 pathologic", "ERROR:", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dff.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dff.json deleted file mode 100644 index 092de6d12..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dff.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dff", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in the field Mets at DX.", - "footnotes" : "- For CSLymph Nodes codes 050-300 ONLY: when CS Lymph Nodes Eval is 0, 1, 5, or 9, the N category for AJCC 6 staging is assigned as shown in the Lymph Nodes Clinical Evaluation AJCC 6 Table, using Regional Nodes Positive and CS Site-Specific Factor 2; when CS Regional Nodes Eval is 2, 3, 6, 8, or not coded, the N category for AJCC6 staging is assigned as shown in the Lymph Nodes Pathologic Evaluation AJCC 6 Table Also Used When CS Reg Nodes Eval Is Not Coded using Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:37.804Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "050", "Nodule(s) or foci in perirectal fat", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns22", "VALUE:RN", "VALUE:RN" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 050, 110\n\nRegional lymph nodes:\nRectosigmoid:\n Paracolic/pericolic\n Perirectal\n Rectal\n Nodule(s) or foci in pericolic fat/adjacent mesentery/mesocolic fat\nRectum:\n Perirectal\n Rectal, NOS\n Nodule(s) or foci in perirectal fat", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns22", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph nodes:\n For rectosigmoid:\n Paracolic/pericolic\n Perirectal\n Rectal\n For rectum:\n Perirectal\n Rectal, NOS", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns22", "VALUE:RN", "VALUE:RN" ], [ "200", "Regional lymph node(s):\n For rectosigmoid:\n Colic, NOS:\n Left colic\n Hemorrhoidal, superior or middle\n Inferior mesenteric\n Middle rectal\n Sigmoidal (sigmoid mesenteric)\n Superior rectal\n For rectum:\n Hemorrhoidal, superior, middle or inferior\n Inferior mesenteric\n Internal iliac (hypogastric):\n Obturator\n Rectal, superior, middle, or inferior\n Sacral, NOS:\n Lateral (laterosacral)\n Middle (promontorial) (Gerota's node)\n Presacral\n Sacral promontory\n Sigmoidal (sigmoid mesenteric)", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns22", "VALUE:RN", "VALUE:RN" ], [ "300", "Mesenteric, NOS\nRegional lymph node(s), NOS", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns22", "VALUE:RN", "VALUE:RN" ], [ "400", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee code 410\n\nStated as N1 pathologic", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "410", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "450", "OBSOLETE DATA RETAINED V0200\n\nStated as N2 pathologic", "ERROR:", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfg.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfg.json deleted file mode 100644 index 0c2838392..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfg.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dfg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Hepatoduodenal nodes are regional for primaries of the lesser curvature of the stomach. They are coded in CS Mets at DX for all other subsites in this schema.\n\n**Note 3**: If information about named regional lymph nodes is available, use codes 110, 400, or 420 rather than code 500 or 600.", - "footnotes" : "- For CS Lymph Nodes codes 050-500 and 800 ONLY, when CS Lymph Nodes Eval is 0, 1, 5, or 9, the N category is assigned as shown in the Lymph Nodes Clinical Evaluation Table, using Regional Nodes Positive and CS Site-Specific Factor 1; when CS Lymph Nodes Eval is 2, 3, 6, 8, or not coded, the N category is assigned as shown in the Lymph Nodes Pathologic Evaluation Table Also Used When CS Reg Nodes Eval Is Not Coded using Regional Nodes Positive.", - "last_modified" : "2015-05-27T16:19:37.851Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "050", "Nodule(s) in perigastric fat", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns23", "VALUE:RN", "VALUE:RN" ], [ "100", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 000, 050, 110, CS Mets at DX codes 10, 50\n\nRegional lymph nodes:\n Left gastric (superior gastric), NOS:\n Cardial\n Cardioesophageal\n Gastric, left\n Gastropancreatic, left\n Lesser curvature\n Lesser omental\n Paracardial\n Pancreaticosplenic (pancreaticolienal)\n Pancreatoduodenal\n Perigastric, NOS\n Peripancreatic\n Right gastric (inferior gastric), NOS:\n Gastrocolic\n Gastroduodenal\n Gastroepiploic (gastro-omental), right or NOS\n Gastrohepatic\n Greater curvature\n Greater omental\n Pyloric, NOS\n Infrapyloric (subpyloric)\n Suprapyloric\n Splenic (lienal), NOS:\n Gastroepiploic (gastro-omental), left\n Splenic hilar\n Superior mesenteric\n Nodule(s) in perigastric fat", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns23", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph nodes:\n Left gastric (superior gastric), NOS:\n Cardial\n Cardioesophageal\n Gastric, left\n Gastropancreatic, left\n Lesser curvature\n Lesser omental\n Paracardial\n Pancreaticosplenic (pancreaticolienal)\n Pancreatoduodenal\n Perigastric, NOS\n Peripancreatic\n Right gastric (inferior gastric), NOS:\n Gastrocolic\n Gastroduodenal\n Gastroepiploic (gastro-omental), right or NOS\n Gastrohepatic\n Greater curvature\n Greater omental\n Pyloric, NOS\n Infrapyloric (subpyloric)\n Suprapyloric\n Splenic (lienal), NOS:\n Gastroepiploic (gastro-omental), left\n Splenic hilar", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns23", "VALUE:RN", "VALUE:RN" ], [ "400", "Celiac\nHepatic (excluding gastrohepatic, [see code 100] and hepatoduodenal [see code 420])", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns23", "VALUE:D", "VALUE:RN" ], [ "420", "For lesser curvature only:\n Hepatoduodenal", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns23", "VALUE:D", "VALUE:D" ], [ "500", "Regional lymph nodes, NOS", "VALUE:N1", "JUMP:determine_correct_table_for_ajcc6_n_ns23", "VALUE:RN", "VALUE:RN" ], [ "600", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "650", "OBSOLETE DATA RETAINED V0200\n\nStated as N2, NOS", "ERROR:", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "700", "OBSOLETE DATA RETAINED V0200\n\nStated as N3, NOS", "ERROR:", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfh.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfh.json deleted file mode 100644 index 0cc05795d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfh.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 3**: The Federation Internationale de Gynecologie et d'Obstetrique (FIGO), stages are included for coding where no more specific information is available in the record. When both FIGO stage and regional lymph node detail are available, record the code with regional lymph node detail in preference to a statement of FIGO stage.\n\n**Note 4**: Code CS Lymph Nodes based on a physician's statement of FIGO Stage IIIB if it is known that the stage value is assigned because of lymph node involvement, or if there is no statement that FIGO Stage IIIB is assigned based on extension or lymph node involvement.\n\n**Note 5**: If the clinician says \"adnexa palpated\" but does not mention lymph nodes, assume lymph nodes are not involved.", - "last_modified" : "2015-05-27T16:19:37.899Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s):\n Iliac, NOS:\n Common\n External\n Internal (hypogastric)\n Obturator\n Paracervical\n Parametrial\n Pelvic, NOS\n Sacral, NOS:\n Lateral (laterosacral)\n Middle (promontorial) (Gerota's node)\n Presacral\n Uterosacral", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "Regional lymph node(s):\n Aortic, NOS:\n Lateral (lumbar)\n Para-aortic\n Periaortic", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "500", "FIGO Stage IIIC", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfi.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfi.json deleted file mode 100644 index 08a827186..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfi.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX. Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 2**: When both FIGO stage and regional lymph node detail are available, record the code with regional lymph node detail in preference to a statement of FIGO stage.\n\n**Note 3**: If either exploratory or definitive surgery is done with no mention of lymph nodes, assume nodes are negative. If the clinician says \"adnexa palpated\" but does not mention lymph nodes, assume lymph nodes are not involved.", - "last_modified" : "2015-05-27T16:19:37.942Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s):\n Iliac, NOS:\n Common\n External\n Internal (hypogastric)\n Obturator\n Paracervical\n Parametrial\n Pelvic, NOS\n Sacral, NOS:\n Lateral (laterosacral)\n Middle (promontorial) (Gerota's node)\n Presacral\n Uterosacral", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "Regional lymph node(s):\n Aortic, NOS:\n Lateral (lumbar)\n Para-aortic\n Periaortic", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "500", "FIGO Stage IIIC", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfj.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfj.json deleted file mode 100644 index 6c9c5aa5f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfj.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Regional lymph nodes for any part of the esophagus fall in the range from periesophageal/cervical to the celiac region. Contralateral and bilateral cervical, supraclavicular, and mediastinal lymph nodes are included.\n\n**Note 3**: Celiac nodes are coded in CS Lymph Nodes for lower thoracic (abdominal) esophagus; they are coded in CS Mets at DX for cervical and intrathoracic (upper and middle) esophagus. Cervical nodes, NOS are coded in CS Lymph Nodes for cervical esophagus; they are coded in CS Mets at DX for upper and lower thoracic (abdominal) esophagus.\n\n**Note 4**: Lymph node stations/groups are listed in parentheses when applicable. See Figure 10.3 in the AJCC 7th Edition Staging Manual or Handbook for illustrations.\n\n**Note 5**: Nodal metastasis is very rare in gastrointestinal stromal tumors (GISTs), and surgeons generally agree that nodal dissection is not indicated. In the absence of information on regional lymph node status, N0 is appropriate; code 999 is mapped to N0 accordingly.", - "last_modified" : "2015-05-27T16:19:37.993Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\nFor all subsites:\n Peri-/paraesophageal (8L, 8M)\nFor cervical esophagus:\n Cervical, NOS:\n Anterior deep cervical (laterotracheal) (recurrent laryngeal)\n Internal jugular, NOS:\n Deep cervical, NOS:\n Upper cervical, NOS:\n Jugulodigastric (subdigastric)\nFor intrathoracic esophagus, upper or middle:\n Internal jugular, NOS:\n Deep cervical, NOS:\n Upper cervical, NOS:\n Jugulodigastric (subdigastric)\n Middle cervical Lower cervical, NOS:\n Jugulo-omohyoid (supraomohyoid)\n Intrabronchial:\n Carinal (tracheobronchial) (tracheal bifurcation) (10R, 10L)\n Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n Paratracheal (2)\n Left gastric (superior gastric) (17): \n Cardiac (cardial)\n Lesser curvature\n Perigastric, NOS\n Posterior mediastinal (tracheoesophageal) (3P)\nFor intrathoracic esophagus, lower (abdominal):\n Left gastric (superior gastric) (17):\n Cardiac (cardial)\n Lesser curvature\n Perigastric, NOS\n Posterior mediastinal (tracheoesophageal) (3P)\n Subcarinal (7)", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "200", "For cervical esophagus:\n Scalene (inferior deep cervical), low cervical (1)\n Supraclavicular (transverse cervical) (1)", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "220", "For intrathoracic esophagus, upper thoracic or middle esophagus:\n Superior mediastinal (2-4)", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "250", "For upper thoracic esophagus:\n Cervical, NOS\nFor lower thoracic (abdominal) esophagus:\n Celiac (20)", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "260", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee code 265 and CS Mets at DX code 15\n\nFor cervical esophagus:\n Common hepatic (18)\n Diaphragmatic (15) \n Pulmonary ligament (9) \n Splenic (19)\nFor intrathoracic esophagus, upper or middle:\n Common hepatic (18)\n Diaphragmatic (15)\n Splenic (19) \nFor lower thoracic (abdominal) esophagus:\n Aortopulmonary (5) \n Pulmonary ligament (9)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "265", "For cervical esophagus:\n Diaphragmatic (15) \n Pulmonary ligament (9) \nFor intrathoracic esophagus, upper or middle:\n Diaphragmatic (15)\nFor lower thoracic (abdominal) esophagus:\n Aortopulmonary (5) \n Para-aortic (ascending aorta or phrenic)\n Subaortic\n Pulmonary ligament (9)", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "300", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee codes 000-250, 265, and 305 and CS Mets at DX codes 15 amd 55\n\nFor all esophagus subsites:\n Anterior mediastinal (6)\n Mediastinal, NOS\nFor cervical esophagus only:\n Aortopulmonary (5)\n Paratracheal (2R,2L,4R, 4L)\n Posterior mediastinal (3P)\n Superior mediastinal\nFor intrathoracic esophagus,upper or middle, only:\n Aortopulmonary (5)\n Pulmonary ligament (9)\nFor intrathoracic esophagus, lower (abdominal) only:\n Common hepatic (18)\n Diaphragmatic (15)\n Paratracheal (2R,2L,4R,4L)\n Splenic (19)\n Superior mediastinal", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "305", "For all esophagus subsites:\n Anterior mediastinal (6)\n Mediastinal, NOS\nFor cervical esophagus only:\n Aortopulmonary (5)\n Paratracheal (2R,2L,4R, 4L)\n Posterior mediastinal (3P)\n Superior mediastinal\nFor intrathoracic esophagus,upper or middle, only:\n Aortopulmonary (5)\n Pulmonary ligament (9)\nFor intrathoracic esophagus, lower (abdominal) only:\n Diaphragmatic (15)\n Paratracheal (2R,2L,4R,4L)\n Superior mediastinal", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "500", "Regional lymph node(s), NOS\n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:N0", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfk.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfk.json deleted file mode 100644 index 06e7b6b3e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfk.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Splenic lymph nodes and those located at the tail of the pancreas are not considered regional and should be coded under CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:38.045Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\n Hepatic\n Hepatic artery\n Node of the foramen of Winslow (epiploic) (omental)\n Pancreaticoduodenal\n Peripancreatic (except at tail of pancreas, see CS Mets at DX)\n Periportal\n Lymph nodes:\n Anterior to the ampulla of Vater\n Inferior to the ampulla of Vater\n Posterior to the ampulla of Vater\n Superior to the ampulla of Vater\n Regional lymph node(s), NOS\n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "110", "Regional lymph nodes:\n Celiac\n Infrapyloric (subpyloric)\n Lateral aortic (lumbar)\n Proximal mesenteric\n Retroperitoneal\n Superior mesenteric", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfl.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfl.json deleted file mode 100644 index 52c0b8c06..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfl.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:38.096Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s):\n Duodenum:\n Duodenal\n Gastroduodenal\n Hepatic\n Infrapyloric (subpyloric)\n Pancreaticoduodenal\n Pyloric\n Jejunum or ileum:\n Superior mesenteric\n Mesenteric, NOS\n Ileocolic for terminal ileum \n Cecal (anterior, posterior, or retrocecal)", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "Regional lymph node(s) for duodenum primaries only:\n Pericholedochal (common bile duct)\n Superior mesenteric", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:RN" ], [ "300", "Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "400", "Stated as N1with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfm.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfm.json deleted file mode 100644 index 748051857..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfm.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note**: All lymph node involvement for gestational trophoblastic tumors (GTT) is considered M1b in TNM. All lymph node involvement, whether of regional or distant nodes, is coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:38.145Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "988", "Not applicable: Information not collected for this schema", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfn.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfn.json deleted file mode 100644 index c88e26cdc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfn.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dfn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Celiac nodes are classified as distant nodes for AJCC 7 staging. These nodes are coded in CS Mets at DX.", - "footnotes" : "- For CS Lymph Nodes code 000 and 999, the N category for AJCC 6 staging category is determined by the value in CS Mets at DX as shown in the Lymph Nodes Mets at DX AJCC 6 Table for this schema.", - "last_modified" : "2015-05-27T16:19:38.195Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "JUMP:lymph_nodes_metsat_dxajcc6_xjc", "VALUE:NONE", "VALUE:NONE" ], [ "150", "Regional lymph nodes:\n Cystic duct (node of the neck of the gallbladder) (Calot's node)\n Hepatic artery\n Hilar (in the hepatoduodenal ligament)\n Node of the foramen of Winslow (omental) (epiploic)\n Pancreaticoduodenal:\n Anterior\n Posterior\n Pericholedochal (node along common bile duct)\n Periduodenal\n Peripancreatic (near head of pancreas only)\n Periportal\n Porta hepatis (portal) (hilar) (in hilus of liver)\n Regional lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "350", "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 000, 150, and 355, and CS Mets at DX codes 07, 20, and 45 \n\nRegional lymph nodes:\n Celiac\n Superior mesenteric", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "355", "Regional lymph nodes\n Superior mesenteric artery\n Superior mesenteric vein", "VALUE:N1", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "500", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "JUMP:lymph_nodes_metsat_dxajcc6_xjc", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfo.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfo.json deleted file mode 100644 index ebb1d4d32..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfo.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Para-aortic and pericaval lymph nodes are classified as regional nodes for AJCC 7 staging. They are now coded in CS Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:38.250Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "150", "Regional lymph nodes:\n Cystic duct (node of the neck of the gallbladder) (Calot's node)\n Hepatic\n Hepatic artery\n Hilar (in the hepatoduodenal ligament)\n Node of the foramen of Winslow (omental) (epiploic)\n Pancreaticoduodenal\n Pericholedochal (node around common bile duct)\n Periduodenal\n Peripancreatic (near head of pancreas only)\n Periportal\n Porta hepatis (portal) (hilar) (in hilus of liver)\n Portal vein\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "Stated as N1 with no other information on lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "350", "Regional lymph nodes:\n Celiac artery\n Superior mesenteric artery\n Superior mesenteric vein", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "400", "Regional lymph nodes:\n Para-aortic\n Pericaval ", "VALUE:N2", "VALUE:N0", "VALUE:D", "VALUE:D" ], [ "450", "400 + (150 and/or 350)\n\nAny regional lymph node(s) as listed in code 150 or 350 + para-aortic and/or pericaval lymph node(s)", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "750", "Stated as N2 with no other information on lymph nodes", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfp.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfp.json deleted file mode 100644 index 9efcb1760..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfp.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Nodal metastasis is very rare in gastrointestinal stromal tumors, and surgeons generally agree that nodal dissection is not indicated. In the absence of information on regional lymph node status, N0 is appropriate; code 999 is mapped to N0 accordingly.", - "last_modified" : "2015-05-27T16:19:38.309Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph node(s):\n Intra-abdominal\n Paracaval\n Pelvic\n Subdiaphragmatic\n Regional lymph node(s), NOS\n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:N0", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfq.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfq.json deleted file mode 100644 index 99f7f5464..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfq.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Regional lymph nodes are defined as those in the vicinity of the primary tumor.\n\n**Note 3**: Regional lymph node involvement is rare. For this schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative Use code 999 (Unknown) only when there is no available information on the extent of the patient's disease, for example, when a lab-only case is abstracted from a biopsy report and no clinical history is available.", - "last_modified" : "2015-05-27T16:19:38.354Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\n Intra-abdominal\n Paracaval\n Pelvic\n Subdiaphragmatic\n Regional lymph nodes, NOS\n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record\n(See Note 3)", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfr.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfr.json deleted file mode 100644 index c20fee779..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfr.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Periaortic and pericaval lymph nodes are classified as regional nodes for AJCC 7 staging. They are now coded in CS Lymph Nodes.", - "last_modified" : "2015-05-27T16:19:38.408Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\n Cystic duct (node of the neck of the gallbladder) (Calot's node)\n Hepatic, NOS:\n Hepatic artery\n Hilar (in the hepatoduodenal ligament)\n Node of the foramen of Winslow (omental) (epiploic)\n Pericholedochal (node around common bile duct) \n Periportal\n Porta hepatis (portal) (hilar) (in hilus of liver)\n Regional lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "120", "Regional lymph nodes:\n Pancreaticoduodenal\n Periduodenal\n Peripancreatic (near head of pancreas only)", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "150", "OBSOLETE DATA RETAINED V0200 \n(See codes 100 and 300)\n\nRegional lymph nodes:\n Cystic duct (node of the neck of the gallbladder) (Calot's node)\n Hepatic\n Hilar (in the hepatoduodenal ligament)\n Node of the foramen of Winslow (omental) (epiploic)\n Pancreaticoduodenal \n Pericholedochal (node around common bile duct)\n Periduodenal \n Peripancreatic (near head of pancreas only) \n Periportal\n Porta hepatis (portal) (hilar) (in hilus of liver)\nRegional lymph nodes, NOS", "ERROR:", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "Stated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "300", "OBSOLETE DATA CONVERTED V0203\nSee code 120\n\nRegional lymph nodes:\n Pancreaticoduodenal \n Periduodenal \n Peripancreatic (near head of pancreas only)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "310", "OBSOLETE DATA CONVERTED V0203\nSee code 315\n\n(300) + (100)", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "315", "120 + 100", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "350", "Regional lymph nodes:\n Celiac\n Superior mesenteric", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "355", "Regional lymph nodes:\n Periaortic\n Pericaval", "VALUE:N2", "VALUE:N0", "VALUE:D", "VALUE:D" ], [ "360", "350 + 100", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "370", "355 + (100, 120, 350)", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "400", "Stated as N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfs.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfs.json deleted file mode 100644 index a21180ff7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfs.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfs", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Regional lymph nodes are defined as those in the vicinity of the primary tumor. Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Federation Internationale de Gynecologie at d-Obstetrique (FIGO) Stage IIIC is assigned based on tumor extension and/or regional lymph node involvement. Code CS Lymph Nodes based on a physician's statement of FIGO Stage IIIC only if it is known that the stage value is assigned because of lymph node involvement. **Note 3**: Regional lymph node involvement is rare. For this schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative (code 000). Use code 999 only when there is no available information on the extent of the patient's disease, for example, when a lab-only case is abstracted from a biopsy report and no clinical history is available.", - "last_modified" : "2015-05-27T16:19:38.458Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\n Intra-abdominal\n Para-aortic\n Pelvic\n Subdiaphragmatic\n Iliac:\n Common iliac\n External iliac\n Internal iliac (hypogastric):\n Obturator Inguinal\n Retroperitoneal, NOS\n Regional lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "150", "FIGO IIIC based on regional lymph node involvement", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated; Regional lymph nodes cannot be assessed; Not documented in patient record (See Note 2)", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dft.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dft.json deleted file mode 100644 index ecdf8df63..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dft.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dft", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 4**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 5**: All regional nodes except Supraclavicular nodes were coded 100 in CS Version 1; Supraclavicular nodes were coded 120. Mandibular nodes are included in Facial nodes.", - "last_modified" : "2015-05-27T16:19:38.510Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Positive regional node(s):\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical \n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node \n Parapharyngeal\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node(s), NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "110", "Positive regional node(s):\n Level I: \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch \n Perithyroidal \n Precricoid (Delphian)\n Prelaryngeal \n Pretracheal - above suprasternal notch\n Recurrent laryngeal", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:RN" ], [ "120", "Positive regional node(s):\n Level VB - Transverse cervical, supraclavicular (see Note 3)\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Retroauricular (Mastoid)\n Suboccipital", "VALUE:N1", "VALUE:NA", "VALUE:D", "VALUE:D" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph node(s) cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfu.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfu.json deleted file mode 100644 index b023eec8e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfu.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note**: Regional lymph node involvement is not applicable for cases coded with this schema beginning with CS Version 2. Old data are retained, and new cases are coded 988.", - "last_modified" : "2015-05-27T16:19:38.555Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0200\n\nNone; no regional lymph node involvement", "ERROR:", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes\n Cervical for carotid body and parathyroid only\n Mediastinal for aortic body and thymus only", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "OBSOLETE DATA RETAINED V0200\n\nLymph nodes, NOS", "ERROR:", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "988", "Not applicable for this schema", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ], [ "999", "OBSOLETE DATA RETAINED V0200 \n\nUnknown; not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "ERROR:", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfv.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfv.json deleted file mode 100644 index f62717771..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfv.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dfv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Bilateral nodes are considered regional nodes for tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. Clinical assessment of bilateral regional nodal involvement is required for tumors where lymphoscintigraphy is not performed.\n\n**Note 3**: Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins. Secondary basins are considered regional for AJCC staging but may be distant for Summary Stage. Use code 400 for involvement of nodes in secondary nodal basins not otherwise specified.\n\n**Note 4**: In transit metastasis is defined as a tumor distinct from the primary lesion and located either between the primary lesion and the draining regional lymph nodes or distal to the primary lesion. In transit metastasis is coded in CS Lymph Nodes.\n\n**Note 5**: Isolated tumor cells (ITCs) should be considered positive nodes. If only ITCs are present, defined as any tumor deposits in lymph nodes less than or equal to 0.2 mm, use code 010.\n\n**Note 6**: If the only information about lymph nodes is a statement of N1 involvement without a clinical or pathologic designation, use code 160.", - "footnotes" : "- When CS Lymph Nodes Eval is coded, for CS Lymph Nodes codes 010-400 and 500 ONLY, the N category for AJCC 7staging is assigned based on the value of CS Lymph Nodes Eval and CS Site-Specific Factor 3, Status of Lymph Node Mets, as shown in the Lymph Nodes and Nodal Status Eval AJCC 7 Table. When CS Lymph Nodes Eval is blank, for CS Lymph Nodes codes 010-400 and 500 ONLY, the N category for AJCC 7staging is assigned based on the value of CS Site-Specific Factor 3, Status of Lymph Node Mets, and Regional Nodes Positive, as shown in the Lymph Nodes and Nodal Status Eval Blank AJCC 7 Table.", - "last_modified" : "2015-05-27T16:19:38.600Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "010", "Isolated tumor cells (ITCs) only", "JUMP:determine_correct_table_for_ajcc7_n_ns18", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "SINGLE superficial inguinal (femoral) regional lymph node\nSINGLE inguinal node, NOS (unknown if superficial or deep)", "JUMP:determine_correct_table_for_ajcc7_n_ns18", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "110", "Evaluated clinically:\n\nClinically stated as N1 with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns18", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "120", "Evaluated pathologically:\n\nPathologically stated as N1a with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns18", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "140", "Evaluated pathologically:\n\nPathologically stated as N1b with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns18", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "150", "Evaluated pathologically:\n\nPathologically stated as N1 [NOS] with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns18", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "160", "Stated as N1 [NOS] with no information on pathologic or clinical evaluation", "JUMP:determine_correct_table_for_ajcc7_n_ns18", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "200", "MULTIPLE or BILATERAL superficial inguinal (femoral) regional lymph nodes\nMULTIPLE or BILATERAL inguinal nodes, NOS (unknown if superficial or deep)", "JUMP:determine_correct_table_for_ajcc7_n_ns18", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "300", "Regional lymph node:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)", "JUMP:determine_correct_table_for_ajcc7_n_ns18", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "400", "Pelvic lymph nodes (unilateral or bilateral):\n External iliac\n Internal iliac (hypogastric):\n Obturator\n Pelvic nodes in contiguous or secondary nodal basin (see Note 3)\n Pelvic nodes, NOS", "JUMP:determine_correct_table_for_ajcc7_n_ns18", "VALUE:N3", "VALUE:RN", "VALUE:RN" ], [ "410", "Satellite nodule(s) or in transit metastasis, distance from primary tumor less than or equal to 2 cm or distance not stated\nWITHOUT regional lymph node involvement. Includes cases with ITCs only and cases with regional lymph node involvement not stated\n\nOR\n\nDescribed as tumor with satellite nodule(s), NOS\nWITHOUT regional lymph node involvement or regional lymph node involvement not stated\n(See Note 4)", "VALUE:N2", "VALUE:N0", "VALUE:RE", "VALUE:RE" ], [ "420", "Satellite nodule(s) or in transit metastasis, distance from primary tumor greater than 2cm \nWITHOUT regional lymph node involvement. Includes cases with ITCs only and cases with regional lymph node involvement not stated\n\nOR\n \nDescribed as tumor with in transit metastasis, NOS\nWITHOUT regional lymph node involvement or regional lymph node involvement not stated\n(See Note 4)", "VALUE:N2", "VALUE:N1", "VALUE:RE", "VALUE:RE" ], [ "440", "420 + 100\n\nSatellite nodule(s) or in transit metastasis \nWITH regional lymph nodes listed in code 100\n(See Note 4)", "VALUE:N2", "VALUE:N1", "VALUE:RE+RN", "VALUE:RE+RN" ], [ "460", "420 + 200\n\nSatellite nodule(s) or in transit metastasis \nWITH regional lymph nodes listed in code 200 \n(See Note 4)", "VALUE:N2", "VALUE:N2", "VALUE:RE+RN", "VALUE:RE+RN" ], [ "480", "420 + (300 or 400)\n\nSatellite nodule(s) or in-transit metastasis \nWITH regional lymph nodes listed in codes 300 or 400 \n(See Note 4)", "VALUE:N2", "VALUE:N3", "VALUE:RE+RN", "VALUE:RE+RN" ], [ "500", "Regional lymph node(s), NOS", "JUMP:determine_correct_table_for_ajcc7_n_ns18", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "520", "Satellite nodule(s) or in transit metastasis \nWITH regional lymph node(s), NOS", "VALUE:N2", "VALUE:N1", "VALUE:RE+RN", "VALUE:RE+RN" ], [ "550", "Stated as N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N1", "VALUE:RE", "VALUE:RE" ], [ "800", "Lymph nodes, NOS", "VALUE:N1NOS", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfw.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfw.json deleted file mode 100644 index 86753b584..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfw.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dfw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Bilateral nodes are considered regional nodes for tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. Clinical assessment of bilateral regional nodal involvement is required for tumors where lymphoscintigraphy is not performed.\n\n**Note 3**: Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins. Secondary basins are considered regional for AJCC staging but may be distant for Summary Stage. Use code 100 for involvement of nodes in secondary nodal basins not otherwise specified.\n\n**Note 4**: In transit metastasis is defined as a tumor distinct from the primary lesion and located either between the primary lesion and the draining regional lymph nodes or distal to the primary lesion. In transit metastasis is coded in CS Lymph Nodes. \n\n**Note 5**: Isolated tumor cells (ITCs) should be considered positive nodes. If only ITCs are present, defined as any tumor deposits in lymph nodes less than or equal to 0.2 mm, use code 010. \n\n**Note 6**: If the only information about lymph nodes is a statement of N1 involvement without a clinical or pathologic designation, use code 360.", - "footnotes" : "- When CS Lymph Nodes Eval is coded, for CS Lymph Nodes codes 010-360 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Lymph Nodes Eval and CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, as shown in the Lymph Node and Nodal Status Eval AJCC 7 Table. When CS Lymph Nodes Eval is blank, for CS Lymph Nodes codes 010-360 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, and Regional Nodes Positive, as shown in the Lymph Node and Nodal Status Eval Blank AJCC 7 Table.", - "last_modified" : "2015-05-27T16:19:38.649Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "010", "Isolated tumor cells (ITCs) only", "JUMP:determine_correct_table_for_ajcc7_n_ns19", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes (unilateral or bilateral):\n Iliac, NOS:\n External\n Internal (hypogastric), NOS:\n Obturator\n Inguinal, NOS:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal (femoral)\n Pelvic nodes in contiguous or secondary nodal basin (see Note 2)\n Regional lymph node(s), NOS", "JUMP:determine_correct_table_for_ajcc7_n_ns19", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "310", "Evaluated clinically:\n\nClinically stated as N1 with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns19", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "320", "Evaluated pathologically:\n\nPathologically stated as N1a with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns19", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "340", "Evaluated pathologically:\n\nPathologically stated as N1b with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns19", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "350", "Evaluated pathologically:\n\nPathologically stated as N1 [NOS] with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns19", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "360", "Stated as N1 [NOS} with no information on pathologic or clinical evaluation", "JUMP:determine_correct_table_for_ajcc7_n_ns19", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "390", "Satellite nodule(s) or in transit metastasis, distance from primary tumor less than or equal to 2 cm or distance not stated\nWITHOUT regional lymph node involvement. Includes cases with ITCs only and cases with regional lymph node involvement not stated \n\nOR\n\nDescribed as tumor with satellite nodule(s), NOS\nWITHOUT regional lymph node involvement or regional lymph node involvement not stated\n(See Note 4)", "VALUE:N2", "VALUE:N0", "VALUE:RE", "VALUE:RE" ], [ "400", "Satellite nodule(s) or in transit metastasis, distance from primary tumor greater than 2 cm\nWITHOUT regional lymph node involvement. Includes cases with ITCs only and cases with regional lymph node involvement not stated.\n\nOR\n\nDescribed as tumor with in transit metastasis, NOS\nWITHOUT regional lymph node involvement or regional lymph node involvement not stated\n(See Note 4)", "VALUE:N2", "VALUE:N1", "VALUE:RE", "VALUE:RN" ], [ "420", "400 + 100\n\nSatellite nodule(s) or in transit metastasis \nWITH regional lymph nodes listed in code 100 \n(See Note 4)", "VALUE:N2", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "450", "Stated as N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N1", "VALUE:RE", "VALUE:RE" ], [ "800", "Lymph nodes, NOS", "VALUE:N1NOS", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed \nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfx.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfx.json deleted file mode 100644 index 10510fa46..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfx.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dfx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Bilateral nodes are considered regional nodes for tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. Clinical assessment of bilateral regional nodal involvement is required for tumors where lymphoscintigraphy is not performed.\n\n**Note 3**: Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins. Secondary basins are considered regional for AJCC staging but may be distant for Summary Stage. Use code 107 for involvement of nodes in secondary nodal basins not otherwise specified.\n\n**Note 4**: In transit metastasis is defined as a tumor distinct from the primary lesion and located either between the primary lesion and the draining regional lymph nodes or distal to the primary lesion. In transit metastasis is coded in the CS Lymph Nodes field. \n\n**Note 5**: Isolated tumor cells (ITCs) should be considered positive nodes. If only ITCs are present, defined as any tumor deposits in lymph nodes less than or equal to 0.2 mm, use code 010. \n\n**Note 6**: If the only information about lymph nodes is a statement of N1 involvement without a clinical or pathologic designation, use code 130.", - "footnotes" : "- When CS Lymph Nodes Eval is coded, forCS Lymph Nodes codes 010, 105-109, 114-130, and 600, ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Lymph Nodes Eval and CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, as shown in the Lymph Node and Nodal Status Eval AJCC 7 Table. When CS Lymph Nodes Eval is blank, forCS Lymph Nodes codes 010, 105-109, 114-130, and 600, ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 3, Clinical Status of Lymph Node Mets, and Regional Nodes Positive, as shown in the Lymph Node and Nodal Status Eval Blank AJCC 7 Table.\n- For CS Lymph Nodes codes 105, 108, 109, 114-130, 520, 540, 570, and 580, the N category for AJCC 6 staging is assigned based on the value of CS Site Specific Factor 11. Regional Lymph Node - Laterality, as shown in the Lymph Nodes and SSF 11 AJCC 6 Table.", - "last_modified" : "2015-05-27T16:19:38.694Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "010", "Isolated tumor cells (ITCs) only", "JUMP:determine_correct_table_for_ajcc7_n_ns21", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nUnilateral regional lymph nodes:\n Inguinal, NOS:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal (femoral)\nRegional lymph nodes, NOS (unilateral)\nFIGO Stage III", "ERROR:", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "105", "Regional lymph nodes (unilateral or bilateral):\n Inguinal, NOS:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal (femoral)\n Regional lymph nodes, NOS ", "JUMP:determine_correct_table_for_ajcc7_n_ns21", "JUMP:lymph_nodesand_ssf11_ajcc6_xiq", "VALUE:RN", "VALUE:RN" ], [ "106", "Unilateral or bilateral regional lymph nodes:\n External iliac", "JUMP:determine_correct_table_for_ajcc7_n_ns21", "VALUE:N0", "VALUE:RN", "VALUE:D" ], [ "107", "Unilateral or bilateral regional lymph nodes:\n Internal iliac (hypogastric)\n Obturator\n Pelvic nodes in contiguous or secondary nodal basin (see Note 3)\n Pelvic, NOS", "JUMP:determine_correct_table_for_ajcc7_n_ns21", "VALUE:N0", "VALUE:D", "VALUE:D" ], [ "108", "106 + 105\n\nRegional nodes listed in code 106 plus nodes listed in code 105", "JUMP:determine_correct_table_for_ajcc7_n_ns21", "JUMP:lymph_nodesand_ssf11_ajcc6_xiq", "VALUE:RN", "VALUE:D" ], [ "109", "107 + 105\n\nRegional nodes listed in code 107 plus nodes listed in code 105", "JUMP:determine_correct_table_for_ajcc7_n_ns21", "JUMP:lymph_nodesand_ssf11_ajcc6_xiq", "VALUE:D", "VALUE:D" ], [ "110", "OBSOLETE DATA CONVERTED V0204\nSee code 115\n\nStated as N1a with no other information on regional lymph nodes", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "114", "Evaluated clinically:\n\nClinically stated as N1 with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns21", "JUMP:lymph_nodesand_ssf11_ajcc6_xiq", "VALUE:RN", "VALUE:RN" ], [ "115", "Evaluated pathologically:\n\nPathologically stated as N1a with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns21", "JUMP:lymph_nodesand_ssf11_ajcc6_xiq", "VALUE:RN", "VALUE:RN" ], [ "120", "Evaluated pathologically:\n\nPathologically stated as N1b with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns21", "JUMP:lymph_nodesand_ssf11_ajcc6_xiq", "VALUE:RN", "VALUE:RN" ], [ "125", "Evaluated pathologically: \n\nPathologically stated as N1 [NOS] with no other information on regional lymph nodes", "JUMP:determine_correct_table_for_ajcc7_n_ns21", "JUMP:lymph_nodesand_ssf11_ajcc6_xiq", "VALUE:RN", "VALUE:RN" ], [ "130", "Stated as N1 [NOS] with no other information on pathologic or clinical evaluation", "JUMP:determine_correct_table_for_ajcc7_n_ns21", "JUMP:lymph_nodesand_ssf11_ajcc6_xiq", "VALUE:RN", "VALUE:RN" ], [ "500", "OBSOLETE DATA RETAINED V0200\n\nBilateral or contralateral regional lymph nodes:\n Inguinal, NOS:\n Deep inguinal, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal (femoral)\nRegional lymph nodes, NOS (bilateral/contralateral)\nFIGO Stage IVA", "ERROR:", "VALUE:N2", "VALUE:RN", "VALUE:RN" ], [ "510", "Satellite nodule(s) or in transit metastasis, distance from primary tumor less than or equal to 2 cm or distance not stated\nWITHOUT regional lymph node involvement. Includes cases with ITCs only and cases with regional lymph node involvement not stated\n\nOR \n\nDescribed as tumor with satellite nodule(s), NOS \nWITHOUT regional lymph node involvement or regional lymph node involvement not stated\n(See Note 4)", "VALUE:N2", "VALUE:N0", "VALUE:RE", "VALUE:RE" ], [ "520", "Satellite nodule(s) or in transit metastasis, distance from primary tumor greater than 2 cm \nWITHOUT regional lymph node involvement. Includes cases with ITCs only and cases with regional lymph node involvement not stated \n\nOR\n\nDescribed as tumor with in transit metastasis, NOS\nWITHOUT regional lymph node involvement or regional lymph node involvement not stated\n(See Note 4)", "VALUE:N2", "JUMP:lymph_nodesand_ssf11_ajcc6_xiq", "VALUE:RE", "VALUE:RN" ], [ "540", "Satellite nodule(s) or in transit metastasis \nWITH regional lymph nodes listed in code 105 \n(See Note 4)", "VALUE:N2", "JUMP:lymph_nodesand_ssf11_ajcc6_xiq", "VALUE:RN", "VALUE:RN" ], [ "550", "Satellite nodule(s) or in transit metastasis\nWITH regional lymph nodes listed in code 106\n(See Note 4)", "VALUE:N2", "VALUE:N1", "VALUE:RN", "VALUE:D" ], [ "560", "Satellite nodule(s) or in transit metastasis\nWITH regional lymph nodes listed in code 107\n(See Note 4)", "VALUE:N2", "VALUE:N1", "VALUE:D", "VALUE:D" ], [ "570", "Satellite nodule(s) or In transit metastasis\nWITH regional lymph nodes listed in code 108\n(See Note 4)", "VALUE:N2", "JUMP:lymph_nodesand_ssf11_ajcc6_xiq", "VALUE:RN", "VALUE:D" ], [ "580", "Satellite nodule(s) or In transit metastasis\nWITH regional lymph nodes listed in code 109\n(See Note 4)", "VALUE:N2", "JUMP:lymph_nodesand_ssf11_ajcc6_xiq", "VALUE:D", "VALUE:D" ], [ "600", "Regional lymph nodes, NOS ", "JUMP:determine_correct_table_for_ajcc7_n_ns21", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "650", "Satellite nodule(s) or in transit metastasis\nWITH regional lymph nodes, NOS", "VALUE:N2", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N2 with no other information on regional lymph nodes", "VALUE:N2", "VALUE:N1", "VALUE:RE", "VALUE:RE" ], [ "800", "Lymph nodes, NOS", "VALUE:N1NOS", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfy.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfy.json deleted file mode 100644 index d814543b8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dfy.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dfy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: Extraosseous plasmacytomas (9734), especially those in the respiratory tract, may metastasize to regional lymph nodes. Use code 100 to document regional lymph node metastasis. \n\n**Note 2**: Use code 987, not applicable, for the following histologies: Plasmacytoma, NOS (9731) and multiple myeloma (9732).", - "last_modified" : "2015-05-27T16:19:38.746Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "For extraosseous plasmacytomas (9734) only:\n No regional lymph node involvement", "VALUE:NA", "VALUE:NA", "VALUE:NA", "VALUE:NA" ], [ "100", "For extraosseous plasmacytomas (9734) only:\n Regional lymph node metastasis ", "VALUE:NA", "VALUE:NA", "VALUE:NA", "VALUE:NA" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "987", "Not applicable: Use for codes 9731(Plasmacytoma, NOS) and 9732 (multiple myeloma)\nNot extraosseous plasmacytoma (9734)", "VALUE:NA", "VALUE:NA", "VALUE:NA", "VALUE:NA" ], [ "988", "Not applicable: Information not collected for this schema", "VALUE:NA", "VALUE:NA", "VALUE:NA", "VALUE:NA" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:NA", "VALUE:NA" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dna.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dna.json deleted file mode 100644 index a0a38d6b8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dna.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "nodes_dna", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "last_modified" : "2015-05-27T16:19:38.796Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site", "ERROR:", "ERROR:", "ERROR:", "ERROR:" ], [ "988", "Not applicable: Information not collected for this schema", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpa.json deleted file mode 100644 index 6f69236c7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpa.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "nodes_dpa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "last_modified" : "2015-05-27T16:19:38.845Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes:\n Cervical, NOS:\n Submandibular (submaxillary)\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Regional lymph node(s), NOS\n\nStated as N1 with no other information on regional lymph nodes", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpb.json deleted file mode 100644 index 9c4c98d31..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpb.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "nodes_dpb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:38.899Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NA", "VALUE:NA", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Regional lymph nodes\n Cervical NOS\n Submandibular (submaxillary)\n Parotid, NOS:\n Infra-auricular\n Preauricular\n Regional lymph node(s), NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:NA", "VALUE:NA", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NA", "VALUE:NA", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpc.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpc.json deleted file mode 100644 index 2c058e05c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpc.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dpc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Duplicate Level IA nodes and Retropharyngeal nodes in CS Version 1 have been removed from code 100 and code 120 respectively. Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table, for this schema.\n- For CS Lymph Nodes codes 100-700 ONLY, the N category for AJCC 6 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, as shown in the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:38.950Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I:\n Level IB - Submandibular (submaxillary), sublingual \n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level IIA - Anterior\n Level IIB - Posterior\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Other groups:\n Retropharyngeal\n Cervical, NOS\n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "110", "Single positive ipsilateral regional node :\n Level IA - Submental", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular (mastoid)\n Suboccipital", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "210", "Multiple positive ipsilateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral nodes listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "310", "Positive ipsilateral nodes listed in code 110, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "320", "Positive ipsilateral nodes listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "410", "Positive bilateral or contralateral nodes, any listed in code 110 \nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "420", " Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100 or 110", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive nodes listed in code 100, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "510", " Positive nodes listed in code 110, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:RN" ], [ "520", " Positive nodes listed in code 120, not stated if ipsilateral, or bilateral, or contralateral\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpg", "JUMP:lymph_nodes_size_xpg", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpd.json deleted file mode 100644 index 8af2d612c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_dpd.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "nodes_dpd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes", - "title" : "CS Lymph Nodes", - "notes" : "**Note 1**: For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by AJCC. The complete definitions are provided in the General Rules, Section 2.\n\n**Note 2**: For head and neck schemes, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage)is coded in CS Site-Specific Factors 1, 3-9.\n\n**Note 3**: If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are considered ipsilateral.\n\n**Note 4**: For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. If the specific level cannot be determined, consider them as Level V nodes.\n\n**Note 5**: The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are considered regional nodes for AJCC staging. Summary Stage 1977 and Summary Stage 2000 divide these nodes into regional and distant groups.\n\n**Note 6**: Mandibular nodes are included with Facial nodes.", - "footnotes" : "- For CS Lymph Nodes codes 100-00 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, using the Lymph Nodes Size Table for this schema.\n- For CSLymph Nodes codes 100-700 ONLY, the N category for AJCC 7 staging is assigned based on the value of CS Site-Specific Factor 1, Size of Lymph Nodes, using the Lymph Nodes Size Table for this schema.", - "last_modified" : "2015-05-27T16:19:39.003Z", - "definition" : [ { - "key" : "nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_n", - "name" : "AJCC 7 N", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_n", - "name" : "TNM 6 N", - "type" : "ENDPOINT" - }, { - "key" : "n77", - "name" : "Summary Stage 1977 N", - "type" : "ENDPOINT" - }, { - "key" : "n2000", - "name" : "Summary Stage 2000 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:N0", "VALUE:N0", "VALUE:NONE", "VALUE:NONE" ], [ "100", "Single positive ipsilateral regional node:\n Level I:\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n Level II - Upper jugular:\n Jugulodigastric (subdigastric)\n Upper deep cervical\n Level III - Middle jugular:\n Middle deep cervical\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical\n Virchow node\n Cervical, NOS \n Deep cervical, NOS\n Internal jugular, NOS\n Regional lymph node, NOS", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "120", "Single positive ipsilateral regional node:\n Level V - Posterior triangle group:\n Posterior cervical\n Level VA - Spinal accessory\n Level VB - Transverse cervical, supraclavicular (see note 4)\n Level VI - Anterior compartment group:\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n Level VII - Superior mediastinal group (for other mediastinal nodes see CS Mets at DX):\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n Other groups:\n Facial:\n Buccinator (buccal)\n Nasolabial\n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Parapharyngeal\n Retroauricular\n Retropharyngeal\n Suboccipital", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "180", "Stated as N1 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "190", "Stated as N2a with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "200", "Multiple positive ipsilateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "220", "Multiple positive ipsilateral nodes, any listed in code 120 \nWITH OR WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "290", "Stated as N2b, no other information", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "300", "Positive ipsilateral node(s) listed in code 100, not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "320", "Positive ipsilateral node(s) listed in code 120, not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "400", "Positive bilateral or contralateral nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "420", "Positive bilateral or contralateral nodes, any listed in code 120\nWITH or WITHOUT nodes listed in code 100", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "490", "Stated as N2c with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "500", "Positive node(s) listed in code 100, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "520", "Positive node(s) listed in code 120, not stated if ipsilateral, or bilateral, or contralateral,\nAND not stated if single or multiple", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:D", "VALUE:D" ], [ "600", "Stated as N2 [NOS] with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "700", "Stated as N3 with no other information on regional lymph nodes", "JUMP:lymph_nodes_size_xpd", "JUMP:lymph_nodes_size_xpd", "VALUE:RN", "VALUE:RN" ], [ "800", "Lymph nodes, NOS", "VALUE:N1", "VALUE:N1", "VALUE:RN", "VALUE:RN" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", "VALUE:NX", "VALUE:NX", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaa.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaa.json deleted file mode 100644 index 0c1cc137a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaa.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "nodes_eval_eaa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Eval", - "title" : "CS Lymph Nodes Eval", - "last_modified" : "2015-05-27T16:19:39.056Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ndescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "9", "Does not apply", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaf.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaf.json deleted file mode 100644 index 140eb2aa2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaf.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "nodes_eval_eaf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Eval", - "title" : "CS Lymph Nodes Eval", - "last_modified" : "2015-05-27T16:19:39.104Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ndescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "9", "Not applicable for this site.", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eag.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eag.json deleted file mode 100644 index 8cdd8e6ed..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eag.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "nodes_eval_eag", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Eval", - "title" : "CS Lymph Nodes Eval", - "notes" : "**Note**: This item reflects the validity of the classification of the item CS Lymph Nodes only according to diagnostic methods employed.", - "last_modified" : "2015-05-27T16:19:39.147Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_ndescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_ndescriptor", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging:\n \nNo regional lymph nodes removed for examination. Evidence based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c", "VALUE:c" ], [ "1", "Does not meet criteria for AJCC pathologic staging based on at least one of the following criteria:\n\nNo regional lymph nodes removed for examination. Evidence based on endoscopic examination, or other invasive techniques including surgical observation, without biopsy. No autopsy evidence used.\nOR\nFine needle aspiration, incisional core needle biopsy, or excisional biopsy of regional lymph nodes or sentinel nodes as part of the diagnostic workup, WITHOUT removal of the primary site adequate for pathologic T classification (treatment).", "VALUE:c", "VALUE:p" ], [ "2", "Meets criteria for AJCC pathologic staging:\n\nNo regional lymph nodes removed for examination, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p", "VALUE:p" ], [ "3", "Meets criteria for AJCC pathologic staging based on at least one of the following criteria:\n\nAny microscopic assessment of regional nodes (including FNA, incisional core needle bx, excisional bx, sentinel node bx or node resection), WITH removal of the primary site adequate for pathologic T classification (treatment) or biopsy assessment of the highest T category.\nOR\nAny microscopic assessment of a regional node in the highest N category, regardless of the T category information.", "VALUE:p", "VALUE:p" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", "VALUE:c", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on pathologic evidence, because the pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp", "VALUE:yp" ], [ "8", "Meets criteria for AJCC autopsy (a) staging:\n\nEvidence from autopsy; tumor was unsuspected or undiagnosed prior to autopsy.", "VALUE:a", "VALUE:a" ], [ "9", "Unknown if lymph nodes removed for examination\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eah.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eah.json deleted file mode 100644 index 7082708ac..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eah.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "nodes_eval_eah", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Eval", - "title" : "CS Lymph Nodes Eval", - "notes" : "**Note 1**: This field is used primarily to derive the staging basis for the N category in the TNM system. It records how the code for the item \"CS Lymph Nodes\" was determined based on the diagnostic methods employed and their intent.\n\n**Note 2**: In the 7th edition of the AJCC manual, the clinical and pathologic classification rules for the N category were changed to reflect current medical practice. The N is designated as clinical or pathologic based on the intent (workup versus treatment) matching with the assessment of the T classification. When the intent is workup, the staging basis is clinical, and when the intent is treatment, the staging basis is pathologic. \n \n* A. Microscopic assessment, including biopsy of regional nodes or sentinel nodes if being performed as part of the workup to choose the treatment plan, is therefore part of the clinical staging. When it is part of the workup, the T category is clinical, and there has not been a resection of the primary site adequate for pathologic T classification (which would be part of the treatment).\n* B. Microscopic assessment of regional nodes if being performed as part of the treatment is therefore part of the pathologic staging. When it is part of the treatment, the T category is pathologic, and there has been a resection of the primary site adequate for pathologic T classification (all part of the treatment).\n\n**Note 3**: Microscopic assessment of the highest N category is always pathologic (code 3).\n\n**Note 4**: If lymph node dissection is not performed after neoadjuvant therapy, use code 0 or 1.\n\n**Note 5**: Only codes 5 and 6 are used if the node assessment is performed after neoadjuvant therapy.\n\n**Note 6**: The staging basis 6 for this schema is blank because AJCC stage is not applicable in the 6th Edition.", - "last_modified" : "2015-05-27T16:19:39.191Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ndescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "staging_basis_6", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging:\n\nNo regional lymph nodes removed for examination. Evaluation based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c", "VALUE:" ], [ "1", "Does not meet criteria for AJCC pathologic staging based on at least one of the following criteria:\n\nNo regional lymph nodes removed for examination. Evidence based on endoscopic examination, or other \ninvasive techniques including surgical observation without biopsy. No autopsy evidence used.\nOR\nFine needle aspiration, incisional core needle biopsy, or excisional biopsy of regional lymph nodes or sentinel nodes as part of the diagnostic workup, WITHOUT removal of the primary site adequate for pathologic T classification (treatment).", "VALUE:c", "VALUE:" ], [ "2", "Meets criteria for AJCC pathologic staging:\n\nNo regional lymph nodes removed for examination, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p", "VALUE:" ], [ "3", "Meets criteria for AJCC pathologic staging based on at least one of the following criteria:\n\nAny microscopic assessment of regional nodes (including FNA, incisional core needle bx, excisional bx, sentinel node bx or node resection), WITH removal of the primary site adequate for pathologic T classification (treatment) or biopsy assessment of the highest T category.\nOR\nAny microscopic assessment of a regional node in the highest N category, regardless of the T category information", "VALUE:p", "VALUE:" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant treatment) is more extensive (see code 6).", "VALUE:c", "VALUE:" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on pathologic evidence, because the pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp", "VALUE:" ], [ "8", "Meets criteria for AJCC autopsy (a) staging:\n\nEvidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy).", "VALUE:a", "VALUE:" ], [ "9", "Not applicable for this site (Version 1)\nUnknown if lymph nodes removed for examination\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eai.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eai.json deleted file mode 100644 index 61b761f38..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eai.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "nodes_eval_eai", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Eval", - "title" : "CS Lymph Nodes Eval", - "notes" : "**Note 1**: This item reflects the validity of the classification of the item CS Lymph Nodes only according to diagnostic methods employed.\n\n**Note 2**: CS Lymph Nodes Eval is an applicable data item for ocular adnexal lymphomas in AJCC 7th Edition staging. The data item is not applicable for all lymphomas in AJCC 6th Edition staging.", - "last_modified" : "2015-05-27T16:19:39.244Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ndescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "staging_basis_6", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging:\n\nNo regional lymph nodes removed for examination. Evidence based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c", "VALUE:N" ], [ "1", "Meets criteria for AJCC pathologic staging based on at least one of the following criteria:\n\nNo regional lymph nodes removed for examination. Evidence based on endoscopic examination, or other invasive techniques including surgical observation, without biopsy. No autopsy evidence used.\nOR\nFine needle aspiration, incisional core needle biopsy, or excisional biopsy of regional lymph nodes or sentinel nodes as part of the diagnostic workup, WITHOUT biopsy or removal of the primary site adequate for pathologic T classification.", "VALUE:p", "VALUE:N" ], [ "2", "Meets criteria for AJCC pathologic staging:\n\nNo regional lymph nodes removed for examination, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p", "VALUE:N" ], [ "3", "Meets criteria for AJCC pathologic staging based on at least one of the following criteria:\n\nAny microscopic assessment of regional nodes (including fine needle aspiration, incisional core needle biopsy, excisional biopsy, sentinel node biopsy, or node resection) WITH biopsy or removal of the primary site adequate for pathologic T classification.\nOR\nAny microscopic assessment of a regional node in the highest N category, regardless of the T category information.", "VALUE:p", "VALUE:N" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant therapy) is more extensive (see code 6).", "VALUE:c", "VALUE:N" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on pathologic evidence, because the pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp", "VALUE:N" ], [ "8", "Meets criteria for AJCC autopsy (a) staging:\n\nEvidence from autopsy; tumor was unsuspected or undiagnosed prior to autopsy.", "VALUE:a", "VALUE:N" ], [ "9", "Unknown if lymph nodes removed for examination\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c", "VALUE:N" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaj.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaj.json deleted file mode 100644 index 664847b35..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eaj.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "nodes_eval_eaj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Eval", - "title" : "CS Lymph Nodes Eval", - "notes" : "**Note**: The staging basis AJCC 7 for this schema is blank because AJCC stage is not applicable in the 7th Edition.", - "last_modified" : "2015-05-27T16:19:39.291Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ndescriptor", - "name" : "Staging Basis AJCC 7", - "type" : "ENDPOINT" - }, { - "key" : "staging_basis_ajcc_6", - "name" : "Staging Basis AJCC 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging: \n\nNo regional lymph nodes removed for examination. Evidence based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:", "VALUE:c" ], [ "1", "Does not meet criteria for AJCC pathologic staging based on at least one of the following criteria: \n\nNo regional lymph nodes removed for examination. Evidence based on endoscopic examination, or other invasive techniques including surgical observation, without biopsy. No autopsy evidence used. \n\nOR \n\nFine needle aspiration, incisional core needle biopsy, or excisional biopsy of regional lymph nodes or sentinel nodes as part of the diagnostic workup, WITHOUT removal of the primary site adequate for pathologic T classification (treatment).", "VALUE:", "VALUE:c" ], [ "2", "Meets criteria for AJCC pathologic staging: \n\nNo regional lymph nodes removed for examination, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:", "VALUE:p" ], [ "3", "Meets criteria for AJCC pathologic staging based on at least one of the following criteria: \n\nAny microscopic assessment of regional nodes (including FNA, incisional core needle bx, excisional bx, sentinel node bx or node resection), WITH removal of the primary site adequate for pathologic T classification (treatment) or biopsy assessment of the highest T category. \n\nOR \n\nAny microscopic assessment of a regional node in the highest N category, regardless of the T category information.", "VALUE:", "VALUE:p" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging: \n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", "VALUE:", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging: \n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on pathologic evidence, because the pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:", "VALUE:yp" ], [ "8", "Meets criteria for AJCC autopsy (a) staging: \n\nEvidence from autopsy; tumor was unsuspected or undiagnosed prior to autopsy.", "VALUE:", "VALUE:a" ], [ "9", "Unknown if lymph nodes removed for examination\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eak.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eak.json deleted file mode 100644 index e9b82c780..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eak.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "nodes_eval_eak", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Eval", - "title" : "CS Lymph Nodes Eval", - "notes" : "**Note**: The staging basis AJCC 7 for this schema is blank because AJCC stage is not applicable for this site and histology. Data was collected in this item in CSv1 and is being retained.", - "last_modified" : "2015-05-27T16:19:39.339Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ndescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "staging_basis_6", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "OBSOLETE DATA RETAINED V0200\n\nNo regional lymph nodes removed for examination. Evaluation based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:", "VALUE:c" ], [ "1", "OBSOLETE DATA RETAINED V0200\n\nNo regional lymph nodes removed for examination. Evaluation based on endoscopic examination, diagnostic biopsy including fine needle aspiration of lympoh node(s) or other invasive techniques, including surgical observation without biopsy. No autopsy evidence used.\nDoes not meet criteria for AJCC pathologic staging", "VALUE:", "VALUE:c" ], [ "2", "OBSOLETE DATA RETAINED V0200\n\nNo regional lymph nodes removed for examination, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:", "VALUE:p" ], [ "3", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes removed for examination (removal of at least 1 lymph node) WITHOUT pre-surgical systemic treatment or radiation\nOR lymph nodes removed for examination, unknown if pre-surgical systemic treatment or radiation performed.\nMeets criteria for AJCC pathologic staging", "VALUE:", "VALUE:p" ], [ "5", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes removed for examination WITH pre-surgical systemic treatment or radiation, and lymph node evaluation based on clinical evidence.", "VALUE:", "VALUE:c" ], [ "6", "OBSOLETE DATA RETAINED V0200\n\nRegional lymph nodes removed for examination WITH pre-surgical systemic treatment or radiation, BUT lymph node evaluation based on pathologic evidence.", "VALUE:", "VALUE:yp" ], [ "8", "OBSOLETE DATA RETAINED V0200\n\nEvidence from autopsy; tumor was unsuspected or undiagnosed prior to autopsy.", "VALUE:", "VALUE:a" ], [ "9", "Unknown if lymph nodes removed for examination V01XX\nNot assessed; cannot be assessed V01XX\nUnknown if assessed V01XX\nNot documented in patient record V01XX\n\nNot applicable for this schema V0200", "VALUE:", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eba.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eba.json deleted file mode 100644 index e9813bae8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_eba.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "nodes_eval_eba", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Eval", - "title" : "CS Lymph Nodes Eval", - "notes" : "**Note 1**: This field is used primarily to derive the staging basis for the N category in the TNM system. It records how the code for the item \"CS Lymph Nodes\" was determined based on the diagnostic methods employed and their intent.\n\n**Note 2**: In the 7th edition of the AJCC manual, the clinical and pathologic classification rules for the N category were changed to reflect current medical practice. The N is designated as clinical or pathologic based on the intent (workup versus treatment) matching with the assessment of the T classification. When the intent is workup, the staging basis is clinical, and when the intent is treatment, the staging basis is pathologic. \n\n* A. Microscopic assessment including biopsy of regional nodes or sentinel nodes, if being performed as part of the workup to choose the treatment plan, is therefore part of the clinical staging. When it is part of the workup, the T category is clinical, and there has not been a resection of the primary site adequate for pathologic T classification (which would be part of the treatment).\n* B. Microscopic assessment of regional nodes if being performed as part of the treatment is therefore part of the pathologic staging. When it is part of the treatment, the T category is pathologic, and there has been a resection of the primary site adequate for pathologic Tclassification (all part of the treatment).\n\n**Note 3**: Microscopic assessment of the highest N category is always pathologic (code 3).\n\n**Note 4**: If lymph node dissection is not performed after neoadjuvant therapy, use code 0 or 1.\n\n**Note 5**: Only codes 5 and 6 are used if the node assessment is performed after neoadjuvant therapy.", - "last_modified" : "2015-05-27T16:19:39.382Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ndescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging: \n\nNo regional lymph nodes, satellite nodule(s) or in-transit metastases (nodules) removed for examination. Evidence based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c" ], [ "1", "Does not meet criteria for AJCC pathologic staging based on at least one of the following criteria:\n\nNo regional lymph nodes, satellite nodule(s), or in-transit metastases (nodules) removed for examination. Evidence based on endoscopic examination or other invasive techniques, including surgical observation without biopsy. No autopsy evidence used.\nOR\nFine needle aspiration, incisional core needle biopsy, or excisional biopsy of lymph node(s), satellite nodule(s), or in transit metastases (nodules) as part of diagnostic workup, WITHOUT removal of the primary site adequate for pathologic T classification (treatment). ", "VALUE:c" ], [ "2", "Meets criteria for AJCC pathologic staging: \n \nNo regional lymph nodes, satellite nodule(s) or in-transit metastases (nodules) removed for examination, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p" ], [ "3", "Meets criteria for AJCC pathologic staging based on at least one of the following criteria:\n\nAny microscopic assessment of regional ndoes, satellite nodule(s), or in-transit metastases (nodules) (Including FNA, incisional core needle bipsy, excisional biopsy, sentinel node biopsy, or node resection ) WITH removal of the primary site adequate for pathologic T classification (treatment) or biopsy assessment of the highest T category.\nOR\nAny microscopic assessment of satellite nodule(s) and/or regional node(s) in the highest N category regardless of the T category information.", "VALUE:p" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging: \n\nRegional lymph nodes, satellite nodule(s) or in-transit metastases (nodules) removed for examination AFTER neoadjuvant therapy, AND lymph node, satellite nodule(s) or in-transit metastases (nodules) evaluation based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging: \n\nRegional lymph nodes, satellite nodule(s) or in-transit metastases (nodules) removed for examination AFTER neoadjuvant therapy, AND lymph node(s), satellite nodule(s) or in-transit metastases (nodules) evaluation based on pathological evidence, because pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp" ], [ "8", "Meets criteria for AJCC autopsy (a) staging: \n\nEvidence from autopsy; tumor was unsuspected or undiagnosed prior to autopsy.", "VALUE:a" ], [ "9", "Unknown if lymph nodes, satellite nodule(s) or in-transit metastases (nodules ) removed for examination\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_ena.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_ena.json deleted file mode 100644 index 22c218ab9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_ena.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "nodes_eval_ena", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Eval", - "title" : "CS Lymph Nodes Eval", - "notes" : "**Note**: The staging basis for this schema is blank because AJCC stage is not applicable.", - "last_modified" : "2015-05-27T16:19:39.433Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ndescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "9", "Not applicable for this schema", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epa.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epa.json deleted file mode 100644 index ee41629ea..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epa.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "nodes_eval_epa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Eval", - "title" : "CS Lymph Nodes Eval", - "notes" : "**Note 1**: This field is used primarily to derive the staging basis for the N category in the TNM system. It records how the code for the item \"CS Lymph Nodes\" was determined based on the diagnostic methods employed and their intent.\n\n**Note 2**: In the 7th edition of the AJCC manual, the clinical and pathologic classification rules for the N category were changed to reflect current medical practice. The N is designated as clinical or pathologic based on the intent (workup versus treatment) matching with the assessment of the T classification. When the intent is workup, the staging basis is clinical, and when the intent is treatment, the staging basis is pathologic.\n\n* A. Microscopic assessment including biopsy of regional nodes or sentinel nodes if being performed as part of the workup to choose the treatment plan, is therefore part of the clinical staging. When it is part of the workup, the T category is clinical, and there has not been a resection of the primary site adequate for pathologic T classification (which would be part of the treatment).\n* B. Microscopic assessment of regional nodes if being performed as part of the treatment is therefore part of the pathologic staging. When it is part of the treatment, the T category is pathologic, and there has been a resection of the primary site adequate for pathologic T classification (all part of the treatment).\n\n**Note 3**: Microscopic assessment of the highest N category is always pathologic (code 3).\n\n**Note 4**: If lymph node dissection is not performed after neoadjuvant therapy, use code 0 or 1.\n\n**Note 5**: Only codes 5 and 6 are used if the node assessment is performed after neoadjuvant therapy.", - "last_modified" : "2015-05-27T16:19:39.482Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ndescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging:\n \nNo regional lymph nodes removed for examination. Evidence based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c" ], [ "1", "Does not meet criteria for AJCC pathologic staging based on at least one of the following criteria:\n \nNo regional lymph nodes removed for examination. Evidence based on endoscopic examination, or other invasive techniques including surgical observation, without biopsy. No autopsy evidence used.\nOR\nFine needle aspiration, incisional core needle biopsy, or excisional biopsy of regional lymph nodes or sentinel nodes as part of the diagnostic workup, WITHOUT removal of the primary site adequate for pathologic T classification (treatment).", "VALUE:c" ], [ "2", "Meets criteria for AJCC pathologic staging:\n \nNo regional lymph nodes removed for examination, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p" ], [ "3", "Meets criteria for AJCC pathologic staging based on at least one of the following criteria:\n \nAny microscopic assessment of regional nodes (including FNA, incisional core needle bx, excisional bx, sentinel node bx or node resection), WITH removal of the primary site adequate for pathologic T classification (treatment) or biopsy assessment of the highest T category.\nOR\nAny microscopic assessment of a regional node in the highest N category, regardless of the T category information.", "VALUE:p" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on pathologic evidence, because the pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp" ], [ "8", "Meets criteria for AJCC autopsy (a) staging:\n\nEvidence from autopsy; tumor was unsuspected or undiagnosed prior to autopsy.", "VALUE:a" ], [ "9", "Unknown if lymph nodes removed for examination\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epb.json deleted file mode 100644 index 112fc46c0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epb.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "nodes_eval_epb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Eval", - "title" : "CS Lymph Nodes Eval", - "last_modified" : "2015-05-27T16:19:39.533Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ndescriptor", - "name" : "Staging Basis", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging:\n\nNo regional lymph nodes removed for examination. Evidence based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c" ], [ "1", "Meets criteria for AJCC pathologic staging based on at least one of the following criteria:\n\nNo regional lymph nodes removed for examination. Evidence based on endoscopic examination, or other invasive techniques including surgical observation, without biopsy. No autopsy evidence used.\nOR\nFine needle aspiration, incisional core needle biopsy, or excisional biopsy of regional lymph nodes or sentinel nodes as part of the diagnostic workup, WITHOUT biopsy or removal of the primary site adequate for pathologic T classification.", "VALUE:c" ], [ "2", "Meets criteria for AJCC pathologic staging:\n\nNo regional lymph nodes removed for examination, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p" ], [ "3", "Meets criteria for AJCC pathologic staging based on at least one of the following criteria:\n\nAny microscopic assessment of regional nodes (including fine needle aspiration, incisional core needle biopsy, excisional biopsy, sentinel node biopsy, or node resection) WITH biopsy or removal of the primary site adequate for pathologic T classification.\nOR\nAny microscopic assessment of a regional node in the highest N category, regardless of the T category information.", "VALUE:p" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant therapy) is more extensive (see code 6).", "VALUE:c" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on pathologic evidence, because the pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp" ], [ "8", "Meets criteria for AJCC autopsy (a) staging:\n\nEvidence from autopsy; tumor was unsuspected or undiagnosed prior to autopsy.", "VALUE:a" ], [ "9", "Unknown if lymph nodes removed for examination\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epc.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epc.json deleted file mode 100644 index e3d14a475..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_eval_epc.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "nodes_eval_epc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Eval", - "title" : "CS Lymph Nodes Eval", - "notes" : "**Note 1**: This field is used primarily to derive the staging basis for the N category in the TNM system. It records how the code for the item \"CS Lymph Nodes\" was determined based on the diagnostic methods employed and their intent.\n\n**Note 2**: In the 7th edition of the AJCC manual, the clinical and pathologic classification rules for the N category were changed to reflect current medical practice. The N is designated as clinical or pathologic based on the intent (workup versus treatment) matching with the assessment of the T classification. When the intent is workup, the staging basis is clinical, and when the intent is treatment, the staging basis is pathologic.\n\n* A. Microscopic assessment including biopsy of regional nodes or sentinel nodes if being performed as part of the workup to choose the treatment plan, is therefore part of the clinical staging. When it is part of the workup, the T category is clinical, and there has not been a resection of the primary site adequate for pathologic T classification (which would be part of the treatment).\n* B. Microscopic assessment of regional nodes if being performed as part of the treatment is therefore part of the pathologic staging. When it is part of the treatment, the T category is pathologic, and there has been a resection of the primary site adequate for pathologic T classification (all part of the treatment).\n\n**Note 3**: Microscopic assessment of the highest N category is always pathologic (code 3).\n\n**Note 4**: If lymph node dissection is not performed after neoadjuvant therapy, use code 0 or 1.\n\n**Note 5**: Only codes 5 and 6 are used if the node assessment is performed after neoadjuvant therapy.", - "last_modified" : "2015-05-27T16:19:39.592Z", - "definition" : [ { - "key" : "nodes_eval", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ndescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "staging_basis_6", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Does not meet criteria for AJCC pathologic staging:\n \nNo regional lymph nodes removed for examination. Evidence based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", "VALUE:c", "VALUE:" ], [ "1", "Does not meet criteria for AJCC pathologic staging based on at least one of the following criteria:\n \nNo regional lymph nodes removed for examination. Evidence based on endoscopic examination, or other invasive techniques including surgical observation, without biopsy. No autopsy evidence used.\nOR\nFine needle aspiration, incisional core needle biopsy, or excisional biopsy of regional lymph nodes or sentinel nodes as part of the diagnostic workup, WITHOUT removal of the primary site adequate for pathologic T classification (treatment).", "VALUE:c", "VALUE:" ], [ "2", "Meets criteria for AJCC pathologic staging:\n \nNo regional lymph nodes removed for examination, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", "VALUE:p", "VALUE:" ], [ "3", "Meets criteria for AJCC pathologic staging based on at least one of the following criteria:\n \nAny microscopic assessment of regional nodes (including FNA, incisional core needle bx, excisional bx, sentinel node bx or node resection), WITH removal of the primary site adequate for pathologic T classification (treatment) or biopsy assessment of the highest T category.\nOR\nAny microscopic assessment of a regional node in the highest N category, regardless of the T category information.", "VALUE:p", "VALUE:" ], [ "5", "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", "VALUE:c", "VALUE:" ], [ "6", "Meets criteria for AJCC y-pathologic (yp) staging:\n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on pathologic evidence, because the pathologic evidence at surgery is more extensive than clinical evidence before treatment.", "VALUE:yp", "VALUE:" ], [ "8", "Meets criteria for AJCC autopsy (a) staging:\n\nEvidence from autopsy; tumor was unsuspected or undiagnosed prior to autopsy.", "VALUE:a", "VALUE:" ], [ "9", "Unknown if lymph nodes removed for examination\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", "VALUE:c", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gac.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gac.json deleted file mode 100644 index efad10c73..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gac.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_exam_gac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Exam", - "title" : "Regional Nodes Examined", - "notes" : "**Note 1**: Extraosseous plasmacytomas (9734), especially those in the respiratory tract, may metastasize to regional lymph nodes. Record the number of examined nodes.\n\n**Note 2**: Use code 99, not applicable, for the following histologies: plasmacytoma, NOS (9731) and multiple myeloma (9732).", - "last_modified" : "2015-05-27T16:19:39.639Z", - "definition" : [ { - "key" : "nodes_exam", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No nodes examined" ], [ "01-89", "1 - 89 nodes examined (code exact number of regional lymph nodes examined)" ], [ "90", "90 or more nodes examined" ], [ "95", "No regional nodes removed, but aspiration or core biopsy of regional nodes performed" ], [ "96", "Regional lymph node removal documented as sampling and number of nodes unknown/not stated" ], [ "97", "Regional lymph node removal documented as dissection and number of nodes unknown/not stated" ], [ "98", "Regional lymph nodes surgically removed but number of lymph nodes unknown/not stated and not documented as sampling or dissection; nodes examined, but number unknown" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in patient record\nUse for codes 9731(plasmacytoma, NOS) and 9732 (multiple myeloma)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gaf.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gaf.json deleted file mode 100644 index 30dbbc5bb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gaf.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_exam_gaf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Exam", - "title" : "Regional Nodes Examined", - "notes" : "**Note**: Although satellite nodules and in-transit metastasis are coded under CS Lymph Nodes, DO NOT count as Reg LN Exam in this field.", - "last_modified" : "2015-05-27T16:19:39.686Z", - "definition" : [ { - "key" : "nodes_exam", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No nodes examined" ], [ "01-89", "1 - 89 nodes examined (code exact number of regional lymph nodes examined)" ], [ "90", "90 or more nodes examined" ], [ "95", "No regional nodes removed, but aspiration or core biopsy of regional nodes performed" ], [ "96", "Regional lymph node removal documented as sampling and number of nodes unknown/not stated" ], [ "97", "Regional lymph node removal documented as dissection and number of nodes unknown/not stated" ], [ "98", "Regional lymph nodes surgically removed but number of lymph nodes unknown/not stated and not documented as sampling or dissection; nodes examined, but number unknown" ], [ "99", "Unknown if nodes were examined; not applicable or negative \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gna.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gna.json deleted file mode 100644 index 57a41ee88..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gna.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "nodes_exam_gna", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Exam", - "title" : "Regional Nodes Examined", - "last_modified" : "2015-05-27T16:19:39.736Z", - "definition" : [ { - "key" : "nodes_exam", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "99", "Not applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpa.json deleted file mode 100644 index 01055ec70..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpa.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "nodes_exam_gpa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Exam", - "title" : "Regional Nodes Examined", - "last_modified" : "2015-05-27T16:19:39.786Z", - "definition" : [ { - "key" : "nodes_exam", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No nodes examined" ], [ "01-89", "1 - 89 nodes examined (code exact number of regional lymph nodes examined)" ], [ "90", "90 or more nodes examined" ], [ "95", "No regional nodes removed, but aspiration or core biopsy of regional nodes performed" ], [ "96", "Regional lymph node removal documented as sampling and number of nodes unknown/not stated" ], [ "97", "Regional lymph node removal documented as dissection and number of nodes unknown/not stated" ], [ "98", "Regional lymph nodes surgically removed but number of lymph nodes unknown/not stated and not documented as sampling or dissection; nodes examined, but number unknown" ], [ "99", "Unknown if nodes were examined; not applicable or negative \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpb.json deleted file mode 100644 index e16716f4e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_exam_gpb.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_exam_gpb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Exam", - "title" : "Regional Nodes Examined", - "notes" : "**Note**: Use code 99, not applicable, for the following sites: Pituitary gland (C75.1), Craniopharyngeal duct (C75.2), and Pineal gland (C75.3).", - "last_modified" : "2015-05-27T16:19:39.833Z", - "definition" : [ { - "key" : "nodes_exam", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No nodes examined" ], [ "01-89", "1 - 89 nodes examined (code exact number of regional lymph nodes examined)" ], [ "90", "90 or more nodes examined" ], [ "95", "No regional nodes removed, but aspiration or core biopsy of regional nodes performed" ], [ "96", "Regional lymph node removal documented as sampling and number of nodes unknown/not stated" ], [ "97", "Regional lymph node removal documented as dissection and number of nodes unknown/not stated" ], [ "98", "Regional lymph nodes surgically removed but number of lymph nodes unknown/not stated and not documented as sampling or dissection; nodes examined, but number unknown" ], [ "99", "Unknown if nodes were examined; not applicable or negative \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fab.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fab.json deleted file mode 100644 index cde83c3f5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fab.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_fab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "notes" : "**Note 1**: Record this field even if there has been preoperative treatment.\n\n**Note 2**: Lymph nodes with only isolated tumor cells (ITCs) are NOT counted as positive lymph nodes. Only lymph nodes with metastases greater than 0.2mm (micrometastases or larger) should be counted as positive. If the pathology report indicates that nodes are positive but size of the metastases is not stated, assume the metastases are > 0.2mm and code the lymph nodes as positive in this field.\n\n**Note 3**: Record all positive regional lymph nodes in this field. Record the number of positive ipsilateral regional level I-II axillary nodes separately in the appropriate Site-Specific Factor field.", - "last_modified" : "2015-05-27T16:19:39.878Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All nodes examined negative." ], [ "01-89", "1 - 89 nodes positive (code exact number of nodes positive)" ], [ "90", "90 or more nodes positive" ], [ "95", "Positive aspiration or core biopsy of lymph node(s)" ], [ "97", "Positive nodes - number unspecified" ], [ "98", "No nodes examined" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fae.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fae.json deleted file mode 100644 index 35882cf35..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fae.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_fae", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "notes" : "**Note 1**: Extraosseous plasmacytomas (9734), especially those in the respiratory tract, may metastasize to regional lymph nodes. Record the number of positive nodes.\n\n**Note 2**: Use code 99, not applicable, for the following histologies: plasmacytoma, NOS (9731) and multiple myeloma (9732).", - "last_modified" : "2015-05-27T16:19:39.929Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All nodes examined negative" ], [ "01-89", "1 - 89 nodes positive (code exact number of nodes positive)" ], [ "90", "90 or more nodes positive" ], [ "95", "Positive aspiration or core biopsy of lymph node(s)" ], [ "97", "Positive nodes - number unspecified" ], [ "98", "No nodes examined" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in patient record\nUse for codes 9731(plasmacytoma, NOS) and 9732 (multiple myeloma)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fah.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fah.json deleted file mode 100644 index d92f6d818..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fah.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_fah", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "notes" : "**Note 1**: Record this field even if there has been preoperative treatment.\n\n**Note 2**: Lymph nodes with isolated tumor cells (ITCs) are counted as positive lymph nodes. ITCs are defined as any tumor deposits in lymph nodes less than or equal to 0.2 mm.\n\n**Note 3**: Although satellite nodules and in-transit metastasis are coded under CS Lymph Nodes, DO NOT count as Regional Nodes Positive in this field.", - "last_modified" : "2015-05-27T16:19:39.973Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All nodes examined negative." ], [ "01-89", "1 - 89 nodes positive (code exact number of nodes positive)" ], [ "90", "90 or more nodes positive" ], [ "95", "Positive aspiration or core biopsy of lymph node(s)" ], [ "97", "Positive nodes - number unspecified" ], [ "98", "No nodes examined" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fna.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fna.json deleted file mode 100644 index 9eb2f53ac..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fna.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "nodes_pos_fna", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "last_modified" : "2015-05-27T16:19:40.020Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "99", "Not applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpa.json deleted file mode 100644 index 80f54cded..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpa.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_fpa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "notes" : "**Note**: Record this field even if there has been preoperative treatment.", - "last_modified" : "2015-05-27T16:19:40.068Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All nodes examined negative." ], [ "01-89", "1 - 89 nodes positive (code exact number of nodes positive)" ], [ "90", "90 or more nodes positive" ], [ "95", "Positive aspiration or core biopsy of lymph node(s)" ], [ "97", "Positive nodes - number unspecified" ], [ "98", "No nodes examined" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpb.json deleted file mode 100644 index b136d51b3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpb.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_fpb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "notes" : "**Note**: Record this field even if there has been preoperative treatment.", - "last_modified" : "2015-05-27T16:19:40.109Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All nodes examined negative." ], [ "01-89", "1 - 89 nodes positive (code exact number of nodes positive)" ], [ "90", "90 or more nodes positive" ], [ "95", "Positive aspiration or core biopsy of lymph node(s)" ], [ "97", "Positive nodes - number unspecified" ], [ "98", "No nodes examined" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpc.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpc.json deleted file mode 100644 index 02926e6b4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpc.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_fpc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "notes" : "**Note**: Record this field even if there has been preoperative treatment.", - "last_modified" : "2015-05-27T16:19:40.157Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All nodes examined negative." ], [ "01-89", "1 - 89 nodes positive (code exact number of nodes positive)" ], [ "90", "90 or more nodes positive" ], [ "95", "Positive aspiration or core biopsy of lymph node(s)" ], [ "97", "Positive nodes - number unspecified" ], [ "98", "No nodes examined" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpd.json deleted file mode 100644 index 4f3578eb0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/nodes_pos_fpd.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_fpd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "notes" : "**Note 1**: Record this field even if there has been preoperative treatment.\n\n**Note 2**: Use code 99, not applicable, for the following sites: Pituitary gland (C75.1), Craniopharyngeal duct (C75.2), and Pineal gland (C75.3)", - "last_modified" : "2015-05-27T16:19:40.202Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All nodes examined negative." ], [ "01-89", "1 - 89 nodes positive (code exact number of nodes positive)" ], [ "90", "90 or more nodes positive" ], [ "95", "Positive aspiration or core biopsy of lymph node(s)" ], [ "97", "Positive nodes - number unspecified" ], [ "98", "No nodes examined" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc6_xbt.json b/src/test/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc6_xbt.json deleted file mode 100644 index 37404bf51..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc6_xbt.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "pathologic_eval_extension_thickness_ajcc6_xbt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Pathologic Eval Extension Thickness AJCC6", - "title" : "Pathologic Eval Extension Thickness AJCC 6 Table", - "notes" : "**Note 1**: When CS Tumor Size/Ext Eval is pathologic (2, 3, 6, 8), for CS Extension codes 005, 300-335, 415, 425-435 ONLY, the T category is assigned based on the value of CS Extension and CS Site-Specific Factor 1 - Thickness (Depth) as shown in this table. The value in CS Site-Specific Factor 1 takes precedence over \"stated as\" T codes.\n\n**Note 2**: When CS Tumor Size/Ext Eval is blank and CS Site-Specific Factor 1 does not equal 998, the T category is assigned as shown in this table.\n\n**Note 3**: CS Extension code 325 refers to a T category that is included in clinical staging only.", - "last_modified" : "2015-05-27T16:19:40.251Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "CS TS/Ext Eval", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF1", - "type" : "INPUT" - }, { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "2,3,6,8", "000", "005, 300-315", "ERROR:" ], [ "2,3,6,8", "001-080", "005, 300-315", "VALUE:T2" ], [ "2,3,6,8", "081-980", "005, 300-315", "VALUE:T3" ], [ "2,3,6,8", "981-990", "005, 300-315", "ERROR:" ], [ "2,3,6,8", "991-993", "005, 300-315", "VALUE:T2" ], [ "2,3,6,8", "994-996", "005, 300-315", "VALUE:T3" ], [ "2,3,6,8", "998", "005, 300-315", "ERROR:" ], [ "2,3,6,8", "999", "005, 300-315", "VALUE:T2" ], [ " ", "000", "005, 300-315", "ERROR:" ], [ " ", "001-080", "005, 300-315", "VALUE:T2" ], [ " ", "081-980", "005, 300-315", "VALUE:T3" ], [ " ", "981-990", "005, 300-315", "ERROR:" ], [ " ", "991-993", "005, 300-315", "VALUE:T2" ], [ " ", "994-996", "005, 300-315", "VALUE:T3" ], [ " ", "999", "005, 300-315", "VALUE:T2" ], [ "2,3,6,8", "000", "320", "ERROR:" ], [ "2,3,6,8", "001-080", "320", "VALUE:T2" ], [ "2,3,6,8", "081-980", "320", "VALUE:T3" ], [ "2,3,6,8", "981-990", "320", "ERROR:" ], [ "2,3,6,8", "991-993", "320", "VALUE:T2" ], [ "2,3,6,8", "994-996", "320", "VALUE:T3" ], [ "2,3,6,8", "998", "320", "ERROR:" ], [ "2,3,6,8", "999", "320", "VALUE:T3" ], [ " ", "000", "320", "ERROR:" ], [ " ", "001-080", "320", "VALUE:T2" ], [ " ", "081-980", "320", "VALUE:T3" ], [ " ", "981-990", "320", "ERROR:" ], [ " ", "991-993", "320", "VALUE:T2" ], [ " ", "994-996", "320", "VALUE:T3" ], [ " ", "999", "320", "VALUE:T3" ], [ "2,3,6,8", "000", "325", "ERROR:" ], [ "2,3,6,8", "001-080", "325", "ERROR:" ], [ "2,3,6,8", "081-980", "325", "ERROR:" ], [ "2,3,6,8", "981-990", "325", "ERROR:" ], [ "2,3,6,8", "991-993", "325", "ERROR:" ], [ "2,3,6,8", "994-996", "325", "ERROR:" ], [ "2,3,6,8", "998", "325", "ERROR:" ], [ "2,3,6,8", "999", "325", "ERROR:" ], [ " ", "000", "325", "ERROR:" ], [ " ", "001-080", "325", "VALUE:T2" ], [ " ", "081-980", "325", "VALUE:T3" ], [ " ", "981-990", "325", "ERROR:" ], [ " ", "991-993", "325", "VALUE:T2" ], [ " ", "994-996", "325", "VALUE:T3" ], [ " ", "999", "325", "VALUE:T3" ], [ "2,3,6,8", "000", "330-335, 415, 425", "ERROR:" ], [ "2,3,6,8", "001-080", "330-335, 415, 425", "VALUE:T2" ], [ "2,3,6,8", "081-980", "330-335, 415, 425", "VALUE:T3" ], [ "2,3,6,8", "981-990", "330-335, 415, 425", "ERROR:" ], [ "2,3,6,8", "991-993", "330-335, 415, 425", "VALUE:T2" ], [ "2,3,6,8", "994-996", "330-335, 415, 425", "VALUE:T3" ], [ "2,3,6,8", "998", "330-335, 415, 425", "ERROR:" ], [ "2,3,6,8", "999", "330-335, 415, 425", "VALUE:T2" ], [ " ", "000", "330-335, 415, 425", "ERROR:" ], [ " ", "001-080", "330-335, 415, 425", "VALUE:T2" ], [ " ", "081-980", "330-335, 415, 425", "VALUE:T3" ], [ " ", "981-990", "330-335, 415, 425", "ERROR:" ], [ " ", "991-993", "330-335, 415, 425", "VALUE:T2" ], [ " ", "994-996", "330-335, 415, 425", "VALUE:T3" ], [ " ", "999", "330-335, 415, 425", "VALUE:T2" ], [ "2,3,6,8", "000", "430-435", "ERROR:" ], [ "2,3,6,8", "001-080", "430-435", "VALUE:T2" ], [ "2,3,6,8", "081-980", "430-435", "VALUE:T3" ], [ "2,3,6,8", "981-990", "430-435", "ERROR:" ], [ "2,3,6,8", "991-993", "430-435", "VALUE:T2" ], [ "2,3,6,8", "994-996", "430-435", "VALUE:T3" ], [ "2,3,6,8", "998", "430-435", "ERROR:" ], [ "2,3,6,8", "999", "430-435", "VALUE:T3" ], [ " ", "000", "430-435", "ERROR:" ], [ " ", "001-080", "430-435", "VALUE:T2" ], [ " ", "081-980", "430-435", "VALUE:T3" ], [ " ", "981-990", "430-435", "ERROR:" ], [ " ", "991-993", "430-435", "VALUE:T2" ], [ " ", "994-996", "430-435", "VALUE:T3" ], [ " ", "999", "430-435", "VALUE:T3" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc7_xcb.json b/src/test/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc7_xcb.json deleted file mode 100644 index 789798282..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/pathologic_eval_extension_thickness_ajcc7_xcb.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "pathologic_eval_extension_thickness_ajcc7_xcb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Pathologic Eval Extension Thickness AJCC7", - "title" : "Pathologic Eval Extension Thickness AJCC 7 Table", - "notes" : "**Note 1**: When CS Tumor Size/Ext Eval is pathologic (2, 3, 6, 8), for CS Extension codes 300-335, 445-450, and 470-500 ONLY, the T category for AJCC 7 staging is assigned based on the value of CS Extension and CS Site-Specific Factor 1 - Thickness (Depth) as shown in this table. The value in CS Site-Specific Factor 1 takes precedence over \"stated as\" T codes.\n\n**Note 2**: When CS Tumor Size/Ext Eval is blank and CS Site-Specific Factor 1 does not equal 998, the T category is assigned as shown in this table.\n\n**Note 3**: CS Extension codes 325 and 495 refer to T categories that are included in clinical staging only.", - "last_modified" : "2015-05-27T16:19:40.311Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "CS TS/Ext Eval", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF1", - "type" : "INPUT" - }, { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "2,3,6,8", "000", "300", "ERROR:" ], [ "2,3,6,8", "001-050", "300", "VALUE:T1a" ], [ "2,3,6,8", "051-150", "300", "VALUE:T1b" ], [ "2,3,6,8", "151-980", "300", "VALUE:T1c" ], [ "2,3,6,8", "981-990", "300", "ERROR:" ], [ "2,3,6,8", "991-992", "300", "VALUE:T1a" ], [ "2,3,6,8", "993-995", "300", "VALUE:T1b" ], [ "2,3,6,8", "996", "300", "VALUE:T1c" ], [ "2,3,6,8", "998", "300", "ERROR:" ], [ "2,3,6,8", "999", "300", "VALUE:T1NOS" ], [ " ", "000", "300", "ERROR:" ], [ " ", "001-050", "300", "VALUE:T1a" ], [ " ", "051-150", "300", "VALUE:T1b" ], [ " ", "151-980", "300", "VALUE:T1c" ], [ " ", "981-990", "300", "ERROR:" ], [ " ", "991-992", "300", "VALUE:T1a" ], [ " ", "993-995", "300", "VALUE:T1b" ], [ " ", "996", "300", "VALUE:T1c" ], [ " ", "999", "300", "VALUE:T1NOS" ], [ "2,3,6,8", "000", "310", "ERROR:" ], [ "2,3,6,8", "001-050", "310", "VALUE:T1a" ], [ "2,3,6,8", "051-150", "310", "VALUE:T1b" ], [ "2,3,6,8", "151-980", "310", "VALUE:T1c" ], [ "2,3,6,8", "981-990", "310", "ERROR:" ], [ "2,3,6,8", "991-992", "310", "VALUE:T1a" ], [ "2,3,6,8", "993-995", "310", "VALUE:T1b" ], [ "2,3,6,8", "996", "310", "VALUE:T1c" ], [ "2,3,6,8", "998", "310", "ERROR:" ], [ "2,3,6,8", "999", "310", "VALUE:T1a" ], [ " ", "000", "310", "ERROR:" ], [ " ", "001-050", "310", "VALUE:T1a" ], [ " ", "051-150", "310", "VALUE:T1b" ], [ " ", "151-980", "310", "VALUE:T1c" ], [ " ", "981-990", "310", "ERROR:" ], [ " ", "991-992", "310", "VALUE:T1a" ], [ " ", "993-995", "310", "VALUE:T1b" ], [ " ", "996", "310", "VALUE:T1c" ], [ " ", "999", "310", "VALUE:T1a" ], [ "2,3,6,8", "000", "315", "ERROR:" ], [ "2,3,6,8", "001-050", "315", "VALUE:T1a" ], [ "2,3,6,8", "051-150", "315", "VALUE:T1b" ], [ "2,3,6,8", "151-980", "315", "VALUE:T1c" ], [ "2,3,6,8", "981-990", "315", "ERROR:" ], [ "2,3,6,8", "991-992", "315", "VALUE:T1a" ], [ "2,3,6,8", "993-995", "315", "VALUE:T1b" ], [ "2,3,6,8", "996", "315", "VALUE:T1c" ], [ "2,3,6,8", "998", "315", "ERROR:" ], [ "2,3,6,8", "999", "315", "VALUE:T1b" ], [ " ", "000", "315", "ERROR:" ], [ " ", "001-050", "315", "VALUE:T1a" ], [ " ", "051-150", "315", "VALUE:T1b" ], [ " ", "151-980", "315", "VALUE:T1c" ], [ " ", "981-990", "315", "ERROR:" ], [ " ", "991-992", "315", "VALUE:T1a" ], [ " ", "993-995", "315", "VALUE:T1b" ], [ " ", "996", "315", "VALUE:T1c" ], [ " ", "999", "315", "VALUE:T1b" ], [ "2,3,6,8", "000", "320", "ERROR:" ], [ "2,3,6,8", "001-050", "320", "VALUE:T1a" ], [ "2,3,6,8", "051-150", "320", "VALUE:T1b" ], [ "2,3,6,8", "151-980", "320", "VALUE:T1c" ], [ "2,3,6,8", "981-990", "320", "ERROR:" ], [ "2,3,6,8", "991-992", "320", "VALUE:T1a" ], [ "2,3,6,8", "993-995", "320", "VALUE:T1b" ], [ "2,3,6,8", "996", "320", "VALUE:T1c" ], [ "2,3,6,8", "998", "320", "ERROR:" ], [ "2,3,6,8", "999", "320", "VALUE:T1c" ], [ " ", "000", "320", "ERROR:" ], [ " ", "001-050", "320", "VALUE:T1a" ], [ " ", "051-150", "320", "VALUE:T1b" ], [ " ", "151-980", "320", "VALUE:T1c" ], [ " ", "981-990", "320", "ERROR:" ], [ " ", "991-992", "320", "VALUE:T1a" ], [ " ", "993-995", "320", "VALUE:T1b" ], [ " ", "996", "320", "VALUE:T1c" ], [ " ", "999", "320", "VALUE:T1c" ], [ "2,3,6,8", "000", "325", "ERROR:" ], [ "2,3,6,8", "001-050", "325", "ERROR:" ], [ "2,3,6,8", "051-150", "325", "ERROR:" ], [ "2,3,6,8", "151-980", "325", "ERROR:" ], [ "2,3,6,8", "981-990", "325", "ERROR:" ], [ "2,3,6,8", "991-992", "325", "ERROR:" ], [ "2,3,6,8", "993-995", "325", "ERROR:" ], [ "2,3,6,8", "996", "325", "ERROR:" ], [ "2,3,6,8", "998", "325", "ERROR:" ], [ "2,3,6,8", "999", "325", "ERROR:" ], [ " ", "000", "325", "ERROR:" ], [ " ", "001-050", "325", "VALUE:T1d" ], [ " ", "051-150", "325", "VALUE:T1d" ], [ " ", "151-980", "325", "VALUE:T1d" ], [ " ", "981-990", "325", "ERROR:" ], [ " ", "991-992", "325", "VALUE:T1d" ], [ " ", "993-995", "325", "VALUE:T1d" ], [ " ", "996", "325", "VALUE:T1d" ], [ " ", "999", "325", "VALUE:T1d" ], [ "2,3,6,8", "000", "330-335", "ERROR:" ], [ "2,3,6,8", "001-050", "330-335", "VALUE:T1a" ], [ "2,3,6,8", "051-150", "330-335", "VALUE:T1b" ], [ "2,3,6,8", "151-980", "330-335", "VALUE:T1c" ], [ "2,3,6,8", "981-990", "330-335", "ERROR:" ], [ "2,3,6,8", "991-992", "330-335", "VALUE:T1a" ], [ "2,3,6,8", "993-995", "330-335", "VALUE:T1b" ], [ "2,3,6,8", "996", "330-335", "VALUE:T1c" ], [ "2,3,6,8", "998", "330-335", "ERROR:" ], [ "2,3,6,8", "999", "330-335", "VALUE:T1NOS" ], [ " ", "000", "330-335", "ERROR:" ], [ " ", "001-050", "330-335", "VALUE:T1a" ], [ " ", "051-150", "330-335", "VALUE:T1b" ], [ " ", "151-980", "330-335", "VALUE:T1c" ], [ " ", "981-990", "330-335", "ERROR:" ], [ " ", "991-992", "330-335", "VALUE:T1a" ], [ " ", "993-995", "330-335", "VALUE:T1b" ], [ " ", "996", "330-335", "VALUE:T1c" ], [ " ", "999", "330-335", "VALUE:T1NOS" ], [ "2,3,6,8", "000", "445-450", "ERROR:" ], [ "2,3,6,8", "001-050", "445-450", "VALUE:T2a" ], [ "2,3,6,8", "051-150", "445-450", "VALUE:T2b" ], [ "2,3,6,8", "151-980", "445-450", "VALUE:T2c" ], [ "2,3,6,8", "981-990", "445-450", "ERROR:" ], [ "2,3,6,8", "991-992", "445-450", "VALUE:T2a" ], [ "2,3,6,8", "993-995", "445-450", "VALUE:T2b" ], [ "2,3,6,8", "996", "445-450", "VALUE:T2c" ], [ "2,3,6,8", "998", "445-450", "ERROR:" ], [ "2,3,6,8", "999", "445-450", "VALUE:T2NOS" ], [ " ", "000", "445-450", "ERROR:" ], [ " ", "001-050", "445-450", "VALUE:T2a" ], [ " ", "051-150", "445-450", "VALUE:T2b" ], [ " ", "151-980", "445-450", "VALUE:T2c" ], [ " ", "981-990", "445-450", "ERROR:" ], [ " ", "991-992", "445-450", "VALUE:T2a" ], [ " ", "993-995", "445-450", "VALUE:T2b" ], [ " ", "996", "445-450", "VALUE:T2c" ], [ " ", "999", "445-450", "VALUE:T2NOS" ], [ "2,3,6,8", "000", "470-475", "ERROR:" ], [ "2,3,6,8", "001-050", "470-475", "VALUE:T2a" ], [ "2,3,6,8", "051-150", "470-475", "VALUE:T2b" ], [ "2,3,6,8", "151-980", "470-475", "VALUE:T2c" ], [ "2,3,6,8", "981-990", "470-475", "ERROR:" ], [ "2,3,6,8", "991-992", "470-475", "VALUE:T2a" ], [ "2,3,6,8", "993-995", "470-475", "VALUE:T2b" ], [ "2,3,6,8", "996", "470-475", "VALUE:T2c" ], [ "2,3,6,8", "998", "470-475", "ERROR:" ], [ "2,3,6,8", "999", "470-475", "VALUE:T2NOS" ], [ " ", "000", "470-475", "ERROR:" ], [ " ", "001-050", "470-475", "VALUE:T2a" ], [ " ", "051-150", "470-475", "VALUE:T2b" ], [ " ", "151-980", "470-475", "VALUE:T2c" ], [ " ", "981-990", "470-475", "ERROR:" ], [ " ", "991-992", "470-475", "VALUE:T2a" ], [ " ", "993-995", "470-475", "VALUE:T2b" ], [ " ", "996", "470-475", "VALUE:T2c" ], [ " ", "999", "470-475", "VALUE:T2NOS" ], [ "2,3,6,8", "000", "480", "ERROR:" ], [ "2,3,6,8", "001-050", "480", "VALUE:T2a" ], [ "2,3,6,8", "051-150", "480", "VALUE:T2b" ], [ "2,3,6,8", "151-980", "480", "VALUE:T2c" ], [ "2,3,6,8", "981-990", "480", "ERROR:" ], [ "2,3,6,8", "991-992", "480", "VALUE:T2a" ], [ "2,3,6,8", "993-995", "480", "VALUE:T2b" ], [ "2,3,6,8", "996", "480", "VALUE:T2c" ], [ "2,3,6,8", "998", "480", "ERROR:" ], [ "2,3,6,8", "999", "480", "VALUE:T2a" ], [ " ", "000", "480", "ERROR:" ], [ " ", "001-050", "480", "VALUE:T2a" ], [ " ", "051-150", "480", "VALUE:T2b" ], [ " ", "151-980", "480", "VALUE:T2c" ], [ " ", "981-990", "480", "ERROR:" ], [ " ", "991-992", "480", "VALUE:T2a" ], [ " ", "993-995", "480", "VALUE:T2b" ], [ " ", "996", "480", "VALUE:T2c" ], [ " ", "999", "480", "VALUE:T2a" ], [ "2,3,6,8", "000", "485", "ERROR:" ], [ "2,3,6,8", "001-050", "485", "VALUE:T2a" ], [ "2,3,6,8", "051-150", "485", "VALUE:T2b" ], [ "2,3,6,8", "151-980", "485", "VALUE:T2c" ], [ "2,3,6,8", "981-990", "485", "ERROR:" ], [ "2,3,6,8", "991-992", "485", "VALUE:T2a" ], [ "2,3,6,8", "993-995", "485", "VALUE:T2b" ], [ "2,3,6,8", "996", "485", "VALUE:T2c" ], [ "2,3,6,8", "998", "485", "ERROR:" ], [ "2,3,6,8", "999", "485", "VALUE:T2b" ], [ " ", "000", "485", "ERROR:" ], [ " ", "001-050", "485", "VALUE:T2a" ], [ " ", "051-150", "485", "VALUE:T2b" ], [ " ", "151-980", "485", "VALUE:T2c" ], [ " ", "981-990", "485", "ERROR:" ], [ " ", "991-992", "485", "VALUE:T2a" ], [ " ", "993-995", "485", "VALUE:T2b" ], [ " ", "996", "485", "VALUE:T2c" ], [ " ", "999", "485", "VALUE:T2b" ], [ "2,3,6,8", "000", "490", "ERROR:" ], [ "2,3,6,8", "001-050", "490", "VALUE:T2a" ], [ "2,3,6,8", "051-150", "490", "VALUE:T2b" ], [ "2,3,6,8", "151-980", "490", "VALUE:T2c" ], [ "2,3,6,8", "981-990", "490", "ERROR:" ], [ "2,3,6,8", "991-992", "490", "VALUE:T2a" ], [ "2,3,6,8", "993-995", "490", "VALUE:T2b" ], [ "2,3,6,8", "996", "490", "VALUE:T2c" ], [ "2,3,6,8", "998", "490", "ERROR:" ], [ "2,3,6,8", "999", "490", "VALUE:T2c" ], [ " ", "000", "490", "ERROR:" ], [ " ", "001-050", "490", "VALUE:T2a" ], [ " ", "051-150", "490", "VALUE:T2b" ], [ " ", "151-980", "490", "VALUE:T2c" ], [ " ", "981-990", "490", "ERROR:" ], [ " ", "991-992", "490", "VALUE:T2c" ], [ " ", "993-995", "490", "VALUE:T2b" ], [ " ", "996", "490", "VALUE:T2c" ], [ " ", "999", "490", "VALUE:T2c" ], [ "2,3,6,8", "000", "495", "ERROR:" ], [ "2,3,6,8", "001-050", "495", "ERROR:" ], [ "2,3,6,8", "051-150", "495", "ERROR:" ], [ "2,3,6,8", "151-980", "495", "ERROR:" ], [ "2,3,6,8", "981-990", "495", "ERROR:" ], [ "2,3,6,8", "991-992", "495", "ERROR:" ], [ "2,3,6,8", "993-995", "495", "ERROR:" ], [ "2,3,6,8", "996", "495", "ERROR:" ], [ "2,3,6,8", "998", "495", "ERROR:" ], [ "2,3,6,8", "999", "495", "ERROR:" ], [ " ", "000", "495", "ERROR:" ], [ " ", "001-050", "495", "VALUE:T2d" ], [ " ", "051-150", "495", "VALUE:T2d" ], [ " ", "151-980", "495", "VALUE:T2d" ], [ " ", "981-990", "495", "ERROR:" ], [ " ", "991-992", "495", "VALUE:T2d" ], [ " ", "993-995", "495", "VALUE:T2d" ], [ " ", "996", "495", "VALUE:T2d" ], [ " ", "999", "495", "VALUE:T2d" ], [ "2,3,6,8", "000", "500", "ERROR:" ], [ "2,3,6,8", "001-050", "500", "VALUE:T2a" ], [ "2,3,6,8", "051-150", "500", "VALUE:T2b" ], [ "2,3,6,8", "151-980", "500", "VALUE:T2c" ], [ "2,3,6,8", "981-990", "500", "ERROR:" ], [ "2,3,6,8", "991-992", "500", "VALUE:T2a" ], [ "2,3,6,8", "993-995", "500", "VALUE:T2b" ], [ "2,3,6,8", "996", "500", "VALUE:T2NOS" ], [ "2,3,6,8", "998", "500", "ERROR:" ], [ "2,3,6,8", "999", "500", "VALUE:T2NOS" ], [ " ", "000", "500", "ERROR:" ], [ " ", "001-050", "500", "VALUE:T2a" ], [ " ", "051-150", "500", "VALUE:T2b" ], [ " ", "151-980", "500", "VALUE:T2c" ], [ " ", "981-990", "500", "ERROR:" ], [ " ", "991-992", "500", "VALUE:T2a" ], [ " ", "993-995", "500", "VALUE:T2b" ], [ " ", "996", "500", "VALUE:T2NOS" ], [ " ", "999", "500", "VALUE:T2NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/pleural_effusion_extension_xbz.json b/src/test/resources/algorithms/cs/02.05.50/tables/pleural_effusion_extension_xbz.json deleted file mode 100644 index 3840aa460..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/pleural_effusion_extension_xbz.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "pleural_effusion_extension_xbz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Pleural Effusion Extension", - "title" : "Pleural Effusion Extension Table", - "notes" : "**Note**: For CS Extension codes 120-999, the assignment of Summary Stage 1977 and Summary Stage 2000 depends on the value of CS Site-Specific Factor 1, Pleural Effusion, as shown in this table.", - "last_modified" : "2015-05-27T16:19:40.401Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF1", - "type" : "INPUT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "120,140,160,170,200,300,305", "000", "VALUE:L", "VALUE:L" ], [ "420,500,510,520,610,620,630,650", "000", "VALUE:RE", "VALUE:RE" ], [ "690,780,800,850", "000", "VALUE:D", "VALUE:D" ], [ "950", "000", "VALUE:U", "VALUE:U" ], [ "999", "000", "VALUE:U", "VALUE:U" ], [ "120,140,160,170,200,300,305", "010", "VALUE:L", "VALUE:L" ], [ "420,500,510,520,610,620,630,650", "010", "VALUE:RE", "VALUE:RE" ], [ "690,780,800,850", "010", "VALUE:D", "VALUE:D" ], [ "950", "010", "VALUE:U", "VALUE:U" ], [ "999", "010", "VALUE:U", "VALUE:U" ], [ "120,140,160,170,200,300,305", "020", "VALUE:D", "VALUE:D" ], [ "420,500,510,520,610,620,630,650", "020", "VALUE:D", "VALUE:D" ], [ "690,780,800,850", "020", "VALUE:D", "VALUE:D" ], [ "950", "020", "VALUE:D", "VALUE:D" ], [ "999", "020", "VALUE:D", "VALUE:D" ], [ "120,140,160,170,200,300,305", "030", "VALUE:D", "VALUE:D" ], [ "420,500,510,520,610,620,630,650", "030", "VALUE:D", "VALUE:D" ], [ "690,780,800,850", "030", "VALUE:D", "VALUE:D" ], [ "950", "030", "VALUE:D", "VALUE:D" ], [ "999", "030", "VALUE:D", "VALUE:D" ], [ "120,140,160,170,200,300,305", "988", "ERROR:5", "ERROR:" ], [ "420,500,510,520,610,620,630,650", "988", "ERROR:0", "ERROR:" ], [ "690,780,800,850", "988", "ERROR:0", "ERROR:" ], [ "950", "988", "ERROR:", "ERROR:" ], [ "999", "988", "ERROR:", "ERROR:" ], [ "120,140,160,170,200,300,305", "999", "VALUE:L", "VALUE:L" ], [ "420,500,510,520,610,620,630,650", "999", "VALUE:RE", "VALUE:RE" ], [ "690,780,800,850", "999", "VALUE:D", "VALUE:D" ], [ "950", "999", "VALUE:U", "VALUE:U" ], [ "999", "999", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516_xgr.json b/src/test/resources/algorithms/cs/02.05.50/tables/postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516_xgr.json deleted file mode 100644 index f7c61fc98..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516_xgr.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516_xgr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Postorchiectomy Serum Tumor Marker S Value Table Based on SSF13, 15, 16", - "title" : "Post-orchiectomy Serum Tumor Marker S Value Table Based on SSF 13, 15, 16", - "notes" : "**Note**: This table calculates an intermediary value for S based on the serum tumor markers coded in Site-Specific Factors 13, 15, and 16, as shown in the following table. As of CS Version 2, the S value can be calculated even if SSF10 (LDH) is unknown for both AJCC 6th Edition and AJCC 7th Edition. The S value from this table is used in conjunction with the S value from Serum Marker S Value Table Based on SSF 1, 2, 3. The information is combined based on year of diagnosis: 1) if year of diagnosis is less than 2010, see Combined Serum Marker S Value Table for Year of Diagnosis Less Than 2010; 2) if year of diagnosis is greater then 2009, see Combined Serum Marker S Value Table for Year of Diagnosis Greater Than 2009.", - "last_modified" : "2015-05-27T16:19:40.456Z", - "definition" : [ { - "key" : "ssf13", - "name" : "CS SSF 13", - "type" : "INPUT" - }, { - "key" : "ssf15", - "name" : "CS SSF 15", - "type" : "INPUT" - }, { - "key" : "ssf16", - "name" : "CS SSF 16", - "type" : "INPUT" - }, { - "key" : "s_131516", - "name" : "S Value", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "000", "VALUE:S0" ], [ "000", "000", "010", "VALUE:S1" ], [ "000", "000", "020", "VALUE:S2" ], [ "000", "000", "030", "VALUE:S3" ], [ "000", "000", "988", "VALUE:ERROR" ], [ "000", "000", "990", "VALUE:S0" ], [ "000", "000", "991", "VALUE:S1" ], [ "000", "000", "992", "VALUE:S0" ], [ "000", "000", "993", "VALUE:S1" ], [ "000", "000", "997", "VALUE:S0" ], [ "000", "000", "998", "VALUE:S0" ], [ "000", "000", "999", "VALUE:S0" ], [ "000", "010", "000", "VALUE:S1" ], [ "000", "010", "010", "VALUE:S1" ], [ "000", "010", "020", "VALUE:S2" ], [ "000", "010", "030", "VALUE:S3" ], [ "000", "010", "988", "VALUE:ERROR" ], [ "000", "010", "990-999", "VALUE:S2" ], [ "000", "020", "000", "VALUE:S2" ], [ "000", "020", "010", "VALUE:S2" ], [ "000", "020", "020", "VALUE:S2" ], [ "000", "020", "030", "VALUE:S3" ], [ "000", "020", "988", "VALUE:ERROR" ], [ "000", "020", "990-999", "VALUE:S2" ], [ "000", "030", "000", "VALUE:S3" ], [ "000", "030", "010", "VALUE:S3" ], [ "000", "030", "020", "VALUE:S3" ], [ "000", "030", "030", "VALUE:S3" ], [ "000", "030", "988", "VALUE:ERROR" ], [ "000", "030", "990-999", "VALUE:S3" ], [ "000", "988", "000-999", "VALUE:ERROR" ], [ "000", "990", "000", "VALUE:S0" ], [ "000", "990", "010", "VALUE:S1" ], [ "000", "990", "020", "VALUE:S2" ], [ "000", "990", "030", "VALUE:S3" ], [ "000", "990", "988", "VALUE:ERROR" ], [ "000", "990", "990", "VALUE:S0" ], [ "000", "990", "991", "VALUE:S1" ], [ "000", "990", "992", "VALUE:S0" ], [ "000", "990", "993", "VALUE:S1" ], [ "000", "990", "997", "VALUE:S0" ], [ "000", "990", "998", "VALUE:S0" ], [ "000", "990", "999", "VALUE:S0" ], [ "000", "991", "000", "VALUE:S1" ], [ "000", "991", "010", "VALUE:S1" ], [ "000", "991", "020", "VALUE:S2" ], [ "000", "991", "030", "VALUE:S3" ], [ "000", "991", "988", "VALUE:ERROR" ], [ "000", "991", "990-999", "VALUE:S1" ], [ "000", "992", "000", "VALUE:S0" ], [ "000", "992", "010", "VALUE:S1" ], [ "000", "992", "020", "VALUE:S2" ], [ "000", "992", "030", "VALUE:S3" ], [ "000", "992", "988", "VALUE:ERROR" ], [ "000", "992", "990", "VALUE:S0" ], [ "000", "992", "991", "VALUE:S1" ], [ "000", "992", "992", "VALUE:S0" ], [ "000", "992", "993", "VALUE:S1" ], [ "000", "992", "997", "VALUE:S0" ], [ "000", "992", "998", "VALUE:S0" ], [ "000", "992", "999", "VALUE:S0" ], [ "000", "993", "000", "VALUE:S1" ], [ "000", "993", "010", "VALUE:S1" ], [ "000", "993", "020", "VALUE:S2" ], [ "000", "993", "030", "VALUE:S3" ], [ "000", "993", "988", "VALUE:ERROR" ], [ "000", "993", "990-999", "VALUE:S1" ], [ "000", "997", "000", "VALUE:SX" ], [ "000", "997", "010", "VALUE:SX" ], [ "000", "997", "020", "VALUE:S2" ], [ "000", "997", "030", "VALUE:S3" ], [ "000", "997", "988", "VALUE:ERROR" ], [ "000", "997", "990-999", "VALUE:SX" ], [ "000", "998", "000", "VALUE:SX" ], [ "000", "998", "010", "VALUE:SX" ], [ "000", "998", "020", "VALUE:S2" ], [ "000", "998", "030", "VALUE:S3" ], [ "000", "998", "988", "VALUE:ERROR" ], [ "000", "998", "990-999", "VALUE:SX" ], [ "000", "999", "000", "VALUE:SX" ], [ "000", "999", "010", "VALUE:SX" ], [ "000", "999", "020", "VALUE:S2" ], [ "000", "999", "030", "VALUE:S3" ], [ "000", "999", "988", "VALUE:ERROR" ], [ "000", "999", "990-999", "VALUE:SX" ], [ "010", "000", "000", "VALUE:S1" ], [ "010", "000", "010", "VALUE:S1" ], [ "010", "000", "020", "VALUE:S2" ], [ "010", "000", "030", "VALUE:S3" ], [ "010", "000", "988", "VALUE:ERROR" ], [ "010", "000", "990-999", "VALUE:S1" ], [ "010", "010", "000", "VALUE:S1" ], [ "010", "010", "010", "VALUE:S1" ], [ "010", "010", "020", "VALUE:S2" ], [ "010", "010", "030", "VALUE:S3" ], [ "010", "010", "988", "VALUE:ERROR" ], [ "010", "010", "990-999", "VALUE:S1" ], [ "010", "020", "000", "VALUE:S2" ], [ "010", "020", "010", "VALUE:S2" ], [ "010", "020", "020", "VALUE:S2" ], [ "010", "020", "030", "VALUE:S3" ], [ "010", "020", "988", "VALUE:ERROR" ], [ "010", "020", "990-999", "VALUE:S2" ], [ "010", "030", "000", "VALUE:S3" ], [ "010", "030", "010", "VALUE:S3" ], [ "010", "030", "020", "VALUE:S3" ], [ "010", "030", "030", "VALUE:S3" ], [ "010", "030", "988", "VALUE:ERROR" ], [ "010", "030", "990-999", "VALUE:S3" ], [ "010", "988", "000-999", "VALUE:ERROR" ], [ "010", "990", "000", "VALUE:S1" ], [ "010", "990", "010", "VALUE:S1" ], [ "010", "990", "020", "VALUE:S2" ], [ "010", "990", "030", "VALUE:S3" ], [ "010", "990", "988", "VALUE:ERROR" ], [ "010", "990", "990-999", "VALUE:S1" ], [ "010", "991", "000", "VALUE:S1" ], [ "010", "991", "010", "VALUE:S1" ], [ "010", "991", "020", "VALUE:S2" ], [ "010", "991", "030", "VALUE:S3" ], [ "010", "991", "988", "VALUE:ERROR" ], [ "010", "991", "990-999", "VALUE:S1" ], [ "010", "992", "000", "VALUE:S1" ], [ "010", "992", "010", "VALUE:S1" ], [ "010", "992", "020", "VALUE:S2" ], [ "010", "992", "030", "VALUE:S3" ], [ "010", "992", "988", "VALUE:ERROR" ], [ "010", "992", "990-999", "VALUE:S1" ], [ "010", "993", "000", "VALUE:S1" ], [ "010", "993", "010", "VALUE:S1" ], [ "010", "993", "020", "VALUE:S2" ], [ "010", "993", "030", "VALUE:S3" ], [ "010", "993", "988", "VALUE:ERROR" ], [ "010", "993", "990-999", "VALUE:S1" ], [ "010", "997", "000", "VALUE:SX" ], [ "010", "997", "010", "VALUE:SX" ], [ "010", "997", "020", "VALUE:S2" ], [ "010", "997", "030", "VALUE:S3" ], [ "010", "997", "988", "VALUE:ERROR" ], [ "010", "997", "990-999", "VALUE:SX" ], [ "010", "998", "000", "VALUE:SX" ], [ "010", "998", "010", "VALUE:SX" ], [ "010", "998", "020", "VALUE:S2" ], [ "010", "998", "030", "VALUE:S3" ], [ "010", "998", "988", "VALUE:ERROR" ], [ "010", "998", "990-999", "VALUE:SX" ], [ "010", "999", "000", "VALUE:SX" ], [ "010", "999", "010", "VALUE:SX" ], [ "010", "999", "020", "VALUE:S2" ], [ "010", "999", "030", "VALUE:S3" ], [ "010", "999", "988", "VALUE:ERROR" ], [ "010", "999", "990-999", "VALUE:SX" ], [ "020", "000", "000", "VALUE:S2" ], [ "020", "000", "010", "VALUE:S2" ], [ "020", "000", "020", "VALUE:S2" ], [ "020", "000", "030", "VALUE:S3" ], [ "020", "000", "988", "VALUE:ERROR" ], [ "020", "000", "990-999", "VALUE:S2" ], [ "020", "010", "000", "VALUE:S2" ], [ "020", "010", "010", "VALUE:S2" ], [ "020", "010", "020", "VALUE:S2" ], [ "020", "010", "030", "VALUE:S3" ], [ "020", "010", "988", "VALUE:ERROR" ], [ "020", "010", "990-999", "VALUE:S2" ], [ "020", "020", "000", "VALUE:S2" ], [ "020", "020", "010", "VALUE:S2" ], [ "020", "020", "020", "VALUE:S2" ], [ "020", "020", "030", "VALUE:S3" ], [ "020", "020", "988", "VALUE:ERROR" ], [ "020", "020", "990-999", "VALUE:S2" ], [ "020", "030", "000", "VALUE:S3" ], [ "020", "030", "010", "VALUE:S3" ], [ "020", "030", "020", "VALUE:S3" ], [ "020", "030", "030", "VALUE:S3" ], [ "020", "030", "988", "VALUE:ERROR" ], [ "020", "030", "990-999", "VALUE:S3" ], [ "020", "988", "000-999", "VALUE:ERROR" ], [ "020", "990", "000", "VALUE:S2" ], [ "020", "990", "010", "VALUE:S2" ], [ "020", "990", "020", "VALUE:S2" ], [ "020", "990", "030", "VALUE:S3" ], [ "020", "990", "988", "VALUE:ERROR" ], [ "020", "990", "990-999", "VALUE:S2" ], [ "020", "991", "000", "VALUE:S2" ], [ "020", "991", "010", "VALUE:S2" ], [ "020", "991", "020", "VALUE:S2" ], [ "020", "991", "030", "VALUE:S3" ], [ "020", "991", "988", "VALUE:ERROR" ], [ "020", "991", "990-999", "VALUE:S2" ], [ "020", "992", "000", "VALUE:S2" ], [ "020", "992", "010", "VALUE:S2" ], [ "020", "992", "020", "VALUE:S2" ], [ "020", "992", "030", "VALUE:S3" ], [ "020", "992", "988", "VALUE:ERROR" ], [ "020", "992", "990-999", "VALUE:S2" ], [ "020", "993", "000", "VALUE:S2" ], [ "020", "993", "010", "VALUE:S2" ], [ "020", "993", "020", "VALUE:S2" ], [ "020", "993", "030", "VALUE:S3" ], [ "020", "993", "988", "VALUE:ERROR" ], [ "020", "993", "990-999", "VALUE:S2" ], [ "020", "997", "000", "VALUE:S2" ], [ "020", "997", "010", "VALUE:S2" ], [ "020", "997", "020", "VALUE:S2" ], [ "020", "997", "030", "VALUE:S3" ], [ "020", "997", "988", "VALUE:ERROR" ], [ "020", "997", "990-999", "VALUE:S2" ], [ "020", "998", "000", "VALUE:S2" ], [ "020", "998", "010", "VALUE:S2" ], [ "020", "998", "020", "VALUE:S2" ], [ "020", "998", "030", "VALUE:S3" ], [ "020", "998", "988", "VALUE:ERROR" ], [ "020", "998", "990-999", "VALUE:S2" ], [ "020", "999", "000", "VALUE:S2" ], [ "020", "999", "010", "VALUE:S2" ], [ "020", "999", "020", "VALUE:S2" ], [ "020", "999", "030", "VALUE:S3" ], [ "020", "999", "988", "VALUE:ERROR" ], [ "020", "999", "990-999", "VALUE:S2" ], [ "030", "000", "000", "VALUE:S3" ], [ "030", "000", "010", "VALUE:S3" ], [ "030", "000", "020", "VALUE:S3" ], [ "030", "000", "030", "VALUE:S3" ], [ "030", "000", "988", "VALUE:ERROR" ], [ "030", "000", "990-999", "VALUE:S3" ], [ "030", "010", "000", "VALUE:S3" ], [ "030", "010", "010", "VALUE:S3" ], [ "030", "010", "020", "VALUE:S3" ], [ "030", "010", "030", "VALUE:S3" ], [ "030", "010", "988", "VALUE:ERROR" ], [ "030", "010", "990-999", "VALUE:S3" ], [ "030", "020", "000", "VALUE:S3" ], [ "030", "020", "010", "VALUE:S3" ], [ "030", "020", "020", "VALUE:S3" ], [ "030", "020", "030", "VALUE:S3" ], [ "030", "020", "988", "VALUE:ERROR" ], [ "030", "020", "990-999", "VALUE:S3" ], [ "030", "030", "000", "VALUE:S3" ], [ "030", "030", "010", "VALUE:S3" ], [ "030", "030", "020", "VALUE:S3" ], [ "030", "030", "030", "VALUE:S3" ], [ "030", "030", "988", "VALUE:ERROR" ], [ "030", "030", "990-999", "VALUE:S3" ], [ "030", "988", "000-999", "VALUE:ERROR" ], [ "030", "990", "000", "VALUE:S3" ], [ "030", "990", "010", "VALUE:S3" ], [ "030", "990", "020", "VALUE:S3" ], [ "030", "990", "030", "VALUE:S3" ], [ "030", "990", "988", "VALUE:ERROR" ], [ "030", "990", "990-999", "VALUE:S3" ], [ "030", "991", "000", "VALUE:S3" ], [ "030", "991", "010", "VALUE:S3" ], [ "030", "991", "020", "VALUE:S3" ], [ "030", "991", "030", "VALUE:S3" ], [ "030", "991", "988", "VALUE:ERROR" ], [ "030", "991", "990-999", "VALUE:S3" ], [ "030", "992", "000", "VALUE:S3" ], [ "030", "992", "010", "VALUE:S3" ], [ "030", "992", "020", "VALUE:S3" ], [ "030", "992", "030", "VALUE:S3" ], [ "030", "992", "988", "VALUE:ERROR" ], [ "030", "992", "990-999", "VALUE:S3" ], [ "030", "993", "000", "VALUE:S3" ], [ "030", "993", "010", "VALUE:S3" ], [ "030", "993", "020", "VALUE:S3" ], [ "030", "993", "030", "VALUE:S3" ], [ "030", "993", "988", "VALUE:ERROR" ], [ "030", "993", "990-999", "VALUE:S3" ], [ "030", "997", "000", "VALUE:S3" ], [ "030", "997", "010", "VALUE:S3" ], [ "030", "997", "020", "VALUE:S3" ], [ "030", "997", "030", "VALUE:S3" ], [ "030", "997", "988", "VALUE:ERROR" ], [ "030", "997", "990-999", "VALUE:S3" ], [ "030", "998", "000", "VALUE:S3" ], [ "030", "998", "010", "VALUE:S3" ], [ "030", "998", "020", "VALUE:S3" ], [ "030", "998", "030", "VALUE:S3" ], [ "030", "998", "988", "VALUE:ERROR" ], [ "030", "998", "990-999", "VALUE:S3" ], [ "030", "999", "000", "VALUE:S3" ], [ "030", "999", "010", "VALUE:S3" ], [ "030", "999", "020", "VALUE:S3" ], [ "030", "999", "030", "VALUE:S3" ], [ "030", "999", "988", "VALUE:ERROR" ], [ "030", "999", "990-999", "VALUE:S3" ], [ "988", "000-999", "000-999", "VALUE:ERROR" ], [ "990", "000", "000", "VALUE:S0" ], [ "990", "000", "010", "VALUE:S1" ], [ "990", "000", "020", "VALUE:S2" ], [ "990", "000", "030", "VALUE:S3" ], [ "990", "000", "988", "VALUE:ERROR" ], [ "990", "000", "990", "VALUE:S0" ], [ "990", "000", "991", "VALUE:S1" ], [ "990", "000", "992", "VALUE:S0" ], [ "990", "000", "993", "VALUE:S1" ], [ "990", "000", "997", "VALUE:S0" ], [ "990", "000", "998", "VALUE:S0" ], [ "990", "000", "999", "VALUE:S0" ], [ "990", "010", "000", "VALUE:S1" ], [ "990", "010", "010", "VALUE:S1" ], [ "990", "010", "020", "VALUE:S2" ], [ "990", "010", "030", "VALUE:S3" ], [ "990", "010", "988", "VALUE:ERROR" ], [ "990", "010", "990-999", "VALUE:S1" ], [ "990", "020", "000", "VALUE:S2" ], [ "990", "020", "010", "VALUE:S2" ], [ "990", "020", "020", "VALUE:S2" ], [ "990", "020", "030", "VALUE:S3" ], [ "990", "020", "988", "VALUE:ERROR" ], [ "990", "020", "990-999", "VALUE:S2" ], [ "990", "030", "000", "VALUE:S3" ], [ "990", "030", "010", "VALUE:S3" ], [ "990", "030", "020", "VALUE:S3" ], [ "990", "030", "030", "VALUE:S3" ], [ "990", "030", "988", "VALUE:ERROR" ], [ "990", "030", "990-999", "VALUE:S3" ], [ "990", "988", "000-999", "VALUE:ERROR" ], [ "990", "990", "000", "VALUE:S0" ], [ "990", "990", "010", "VALUE:S1" ], [ "990", "990", "020", "VALUE:S2" ], [ "990", "990", "030", "VALUE:S3" ], [ "990", "990", "988", "VALUE:ERROR" ], [ "990", "990", "990", "VALUE:S0" ], [ "990", "990", "991", "VALUE:S1" ], [ "990", "990", "992", "VALUE:S0" ], [ "990", "990", "993", "VALUE:S1" ], [ "990", "990", "997", "VALUE:S0" ], [ "990", "990", "998", "VALUE:S0" ], [ "990", "990", "999", "VALUE:S0" ], [ "990", "991", "000", "VALUE:S1" ], [ "990", "991", "010", "VALUE:S1" ], [ "990", "991", "020", "VALUE:S2" ], [ "990", "991", "030", "VALUE:S3" ], [ "990", "991", "988", "VALUE:ERROR" ], [ "990", "991", "990-999", "VALUE:S1" ], [ "990", "992", "000", "VALUE:S0" ], [ "990", "992", "010", "VALUE:S1" ], [ "990", "992", "020", "VALUE:S2" ], [ "990", "992", "030", "VALUE:S3" ], [ "990", "992", "988", "VALUE:ERROR" ], [ "990", "992", "990", "VALUE:S0" ], [ "990", "992", "991", "VALUE:S1" ], [ "990", "992", "992", "VALUE:S0" ], [ "990", "992", "993", "VALUE:S1" ], [ "990", "992", "997", "VALUE:S0" ], [ "990", "992", "998", "VALUE:S0" ], [ "990", "992", "999", "VALUE:S0" ], [ "990", "993", "000", "VALUE:S1" ], [ "990", "993", "010", "VALUE:S1" ], [ "990", "993", "020", "VALUE:S2" ], [ "990", "993", "030", "VALUE:S3" ], [ "990", "993", "988", "VALUE:ERROR" ], [ "990", "993", "990-999", "VALUE:S1" ], [ "990", "997", "000", "VALUE:SX" ], [ "990", "997", "010", "VALUE:SX" ], [ "990", "997", "020", "VALUE:S2" ], [ "990", "997", "030", "VALUE:S3" ], [ "990", "997", "988", "VALUE:ERROR" ], [ "990", "997", "990-999", "VALUE:SX" ], [ "990", "998", "000", "VALUE:SX" ], [ "990", "998", "010", "VALUE:SX" ], [ "990", "998", "020", "VALUE:S2" ], [ "990", "998", "030", "VALUE:S3" ], [ "990", "998", "988", "VALUE:ERROR" ], [ "990", "998", "990-999", "VALUE:SX" ], [ "990", "999", "000", "VALUE:SX" ], [ "990", "999", "010", "VALUE:SX" ], [ "990", "999", "020", "VALUE:S2" ], [ "990", "999", "030", "VALUE:S3" ], [ "990", "999", "988", "VALUE:ERROR" ], [ "990", "999", "990-999", "VALUE:SX" ], [ "991", "000", "000", "VALUE:S1" ], [ "991", "000", "010", "VALUE:S1" ], [ "991", "000", "020", "VALUE:S2" ], [ "991", "000", "030", "VALUE:S3" ], [ "991", "000", "988", "VALUE:ERROR" ], [ "991", "000", "990-999", "VALUE:S1" ], [ "991", "010", "000", "VALUE:S1" ], [ "991", "010", "010", "VALUE:S1" ], [ "991", "010", "020", "VALUE:S2" ], [ "991", "010", "030", "VALUE:S3" ], [ "991", "010", "988", "VALUE:ERROR" ], [ "991", "010", "990-999", "VALUE:S1" ], [ "991", "020", "000", "VALUE:S2" ], [ "991", "020", "010", "VALUE:S2" ], [ "991", "020", "020", "VALUE:S2" ], [ "991", "020", "030", "VALUE:S3" ], [ "991", "020", "988", "VALUE:ERROR" ], [ "991", "020", "990-999", "VALUE:S2" ], [ "991", "030", "000", "VALUE:S3" ], [ "991", "030", "010", "VALUE:S3" ], [ "991", "030", "020", "VALUE:S3" ], [ "991", "030", "030", "VALUE:S3" ], [ "991", "030", "988", "VALUE:ERROR" ], [ "991", "030", "990-999", "VALUE:S3" ], [ "991", "988", "000-999", "VALUE:ERROR" ], [ "991", "990", "000", "VALUE:S1" ], [ "991", "990", "010", "VALUE:S1" ], [ "991", "990", "020", "VALUE:S2" ], [ "991", "990", "030", "VALUE:S3" ], [ "991", "990", "988", "VALUE:ERROR" ], [ "991", "990", "990-999", "VALUE:S1" ], [ "991", "991", "000", "VALUE:S1" ], [ "991", "991", "010", "VALUE:S1" ], [ "991", "991", "020", "VALUE:S2" ], [ "991", "991", "030", "VALUE:S3" ], [ "991", "991", "988", "VALUE:ERROR" ], [ "991", "991", "990-999", "VALUE:S1" ], [ "991", "992", "000", "VALUE:S1" ], [ "991", "992", "010", "VALUE:S1" ], [ "991", "992", "020", "VALUE:S2" ], [ "991", "992", "030", "VALUE:S3" ], [ "991", "992", "988", "VALUE:ERROR" ], [ "991", "992", "990-999", "VALUE:S1" ], [ "991", "993", "000", "VALUE:S1" ], [ "991", "993", "010", "VALUE:S1" ], [ "991", "993", "020", "VALUE:S2" ], [ "991", "993", "030", "VALUE:S3" ], [ "991", "993", "988", "VALUE:ERROR" ], [ "991", "993", "990-999", "VALUE:S1" ], [ "991", "997", "000", "VALUE:SX" ], [ "991", "997", "010", "VALUE:SX" ], [ "991", "997", "020", "VALUE:S2" ], [ "991", "997", "030", "VALUE:S3" ], [ "991", "997", "988", "VALUE:ERROR" ], [ "991", "997", "990-999", "VALUE:SX" ], [ "991", "998", "000", "VALUE:SX" ], [ "991", "998", "010", "VALUE:SX" ], [ "991", "998", "020", "VALUE:S2" ], [ "991", "998", "030", "VALUE:S3" ], [ "991", "998", "988", "VALUE:ERROR" ], [ "991", "998", "990-999", "VALUE:SX" ], [ "991", "999", "000", "VALUE:SX" ], [ "991", "999", "010", "VALUE:SX" ], [ "991", "999", "020", "VALUE:S2" ], [ "991", "999", "030", "VALUE:S3" ], [ "991", "999", "988", "VALUE:ERROR" ], [ "991", "999", "990-999", "VALUE:SX" ], [ "992", "000", "000", "VALUE:S0" ], [ "992", "000", "010", "VALUE:S1" ], [ "992", "000", "020", "VALUE:S2" ], [ "992", "000", "030", "VALUE:S3" ], [ "992", "000", "988", "VALUE:ERROR" ], [ "992", "000", "990", "VALUE:S0" ], [ "992", "000", "991", "VALUE:S1" ], [ "992", "000", "992", "VALUE:S0" ], [ "992", "000", "993", "VALUE:S1" ], [ "992", "000", "997", "VALUE:S0" ], [ "992", "000", "998", "VALUE:S0" ], [ "992", "000", "999", "VALUE:S0" ], [ "992", "010", "000", "VALUE:S1" ], [ "992", "010", "010", "VALUE:S1" ], [ "992", "010", "020", "VALUE:S2" ], [ "992", "010", "030", "VALUE:S3" ], [ "992", "010", "988", "VALUE:ERROR" ], [ "992", "010", "990-999", "VALUE:S1" ], [ "992", "020", "000", "VALUE:S2" ], [ "992", "020", "010", "VALUE:S2" ], [ "992", "020", "020", "VALUE:S2" ], [ "992", "020", "030", "VALUE:S3" ], [ "992", "020", "988", "VALUE:ERROR" ], [ "992", "020", "990-999", "VALUE:S2" ], [ "992", "030", "000", "VALUE:S3" ], [ "992", "030", "010", "VALUE:S3" ], [ "992", "030", "020", "VALUE:S3" ], [ "992", "030", "030", "VALUE:S3" ], [ "992", "030", "988", "VALUE:ERROR" ], [ "992", "030", "990-999", "VALUE:S3" ], [ "992", "988", "000-999", "VALUE:ERROR" ], [ "992", "990", "000", "VALUE:S0" ], [ "992", "990", "010", "VALUE:S1" ], [ "992", "990", "020", "VALUE:S2" ], [ "992", "990", "030", "VALUE:S3" ], [ "992", "990", "988", "VALUE:ERROR" ], [ "992", "990", "990", "VALUE:S0" ], [ "992", "990", "991", "VALUE:S1" ], [ "992", "990", "992", "VALUE:S0" ], [ "992", "990", "993", "VALUE:S1" ], [ "992", "990", "997", "VALUE:S0" ], [ "992", "990", "998", "VALUE:S0" ], [ "992", "990", "999", "VALUE:S0" ], [ "992", "991", "000", "VALUE:S1" ], [ "992", "991", "010", "VALUE:S1" ], [ "992", "991", "020", "VALUE:S2" ], [ "992", "991", "030", "VALUE:S3" ], [ "992", "991", "988", "VALUE:ERROR" ], [ "992", "991", "990-999", "VALUE:S1" ], [ "992", "992", "000", "VALUE:S0" ], [ "992", "992", "010", "VALUE:S1" ], [ "992", "992", "020", "VALUE:S2" ], [ "992", "992", "030", "VALUE:S3" ], [ "992", "992", "988", "VALUE:ERROR" ], [ "992", "992", "990", "VALUE:S0" ], [ "992", "992", "991", "VALUE:S1" ], [ "992", "992", "992", "VALUE:S0" ], [ "992", "992", "993", "VALUE:S1" ], [ "992", "992", "997", "VALUE:S0" ], [ "992", "992", "998", "VALUE:S0" ], [ "992", "992", "999", "VALUE:S0" ], [ "992", "993", "000", "VALUE:S1" ], [ "992", "993", "010", "VALUE:S1" ], [ "992", "993", "020", "VALUE:S2" ], [ "992", "993", "030", "VALUE:S3" ], [ "992", "993", "988", "VALUE:ERROR" ], [ "992", "993", "990-999", "VALUE:S1" ], [ "992", "997", "000", "VALUE:SX" ], [ "992", "997", "010", "VALUE:SX" ], [ "992", "997", "020", "VALUE:S2" ], [ "992", "997", "030", "VALUE:S3" ], [ "992", "997", "988", "VALUE:ERROR" ], [ "992", "997", "990-999", "VALUE:SX" ], [ "992", "998", "000", "VALUE:SX" ], [ "992", "998", "010", "VALUE:SX" ], [ "992", "998", "020", "VALUE:S2" ], [ "992", "998", "030", "VALUE:S3" ], [ "992", "998", "988", "VALUE:ERROR" ], [ "992", "998", "990-999", "VALUE:SX" ], [ "992", "999", "000", "VALUE:SX" ], [ "992", "999", "010", "VALUE:SX" ], [ "992", "999", "020", "VALUE:S2" ], [ "992", "999", "030", "VALUE:S3" ], [ "992", "999", "988", "VALUE:ERROR" ], [ "992", "999", "990-999", "VALUE:SX" ], [ "993", "000", "000", "VALUE:S1" ], [ "993", "000", "010", "VALUE:S1" ], [ "993", "000", "020", "VALUE:S2" ], [ "993", "000", "030", "VALUE:S3" ], [ "993", "000", "988", "VALUE:ERROR" ], [ "993", "000", "990-999", "VALUE:S1" ], [ "993", "010", "000", "VALUE:S1" ], [ "993", "010", "010", "VALUE:S1" ], [ "993", "010", "020", "VALUE:S2" ], [ "993", "010", "030", "VALUE:S3" ], [ "993", "010", "988", "VALUE:ERROR" ], [ "993", "010", "990-999", "VALUE:S1" ], [ "993", "020", "000", "VALUE:S2" ], [ "993", "020", "010", "VALUE:S2" ], [ "993", "020", "020", "VALUE:S2" ], [ "993", "020", "030", "VALUE:S3" ], [ "993", "020", "988", "VALUE:ERROR" ], [ "993", "020", "990-999", "VALUE:S2" ], [ "993", "030", "000", "VALUE:S3" ], [ "993", "030", "010", "VALUE:S3" ], [ "993", "030", "020", "VALUE:S3" ], [ "993", "030", "030", "VALUE:S3" ], [ "993", "030", "988", "VALUE:ERROR" ], [ "993", "030", "990-999", "VALUE:S3" ], [ "993", "988", "000-999", "VALUE:ERROR" ], [ "993", "990", "000", "VALUE:S1" ], [ "993", "990", "010", "VALUE:S1" ], [ "993", "990", "020", "VALUE:S2" ], [ "993", "990", "030", "VALUE:S3" ], [ "993", "990", "988", "VALUE:ERROR" ], [ "993", "990", "990-999", "VALUE:S1" ], [ "993", "991", "000", "VALUE:S1" ], [ "993", "991", "010", "VALUE:S1" ], [ "993", "991", "020", "VALUE:S2" ], [ "993", "991", "030", "VALUE:S3" ], [ "993", "991", "988", "VALUE:ERROR" ], [ "993", "991", "990-999", "VALUE:S1" ], [ "993", "992", "000", "VALUE:S1" ], [ "993", "992", "010", "VALUE:S1" ], [ "993", "992", "020", "VALUE:S2" ], [ "993", "992", "030", "VALUE:S3" ], [ "993", "992", "988", "VALUE:ERROR" ], [ "993", "992", "990-999", "VALUE:S1" ], [ "993", "993", "000", "VALUE:S1" ], [ "993", "993", "010", "VALUE:S1" ], [ "993", "993", "020", "VALUE:S2" ], [ "993", "993", "030", "VALUE:S3" ], [ "993", "993", "988", "VALUE:ERROR" ], [ "993", "993", "990-999", "VALUE:S1" ], [ "993", "997", "000", "VALUE:SX" ], [ "993", "997", "010", "VALUE:SX" ], [ "993", "997", "020", "VALUE:S2" ], [ "993", "997", "030", "VALUE:S3" ], [ "993", "997", "988", "VALUE:ERROR" ], [ "993", "997", "990-999", "VALUE:SX" ], [ "993", "998", "000", "VALUE:SX" ], [ "993", "998", "010", "VALUE:SX" ], [ "993", "998", "020", "VALUE:S2" ], [ "993", "998", "030", "VALUE:S3" ], [ "993", "998", "988", "VALUE:ERROR" ], [ "993", "998", "990-999", "VALUE:SX" ], [ "993", "999", "000", "VALUE:SX" ], [ "993", "999", "010", "VALUE:SX" ], [ "993", "999", "020", "VALUE:S2" ], [ "993", "999", "030", "VALUE:S3" ], [ "993", "999", "988", "VALUE:ERROR" ], [ "993", "999", "990-999", "VALUE:SX" ], [ "997", "000", "000", "VALUE:SX" ], [ "997", "000", "010", "VALUE:SX" ], [ "997", "000", "020", "VALUE:S2" ], [ "997", "000", "030", "VALUE:S3" ], [ "997", "000", "988", "VALUE:ERROR" ], [ "997", "000", "990-999", "VALUE:SX" ], [ "997", "010", "000", "VALUE:SX" ], [ "997", "010", "010", "VALUE:SX" ], [ "997", "010", "020", "VALUE:S2" ], [ "997", "010", "030", "VALUE:S3" ], [ "997", "010", "988", "VALUE:ERROR" ], [ "997", "010", "990-999", "VALUE:SX" ], [ "997", "020", "000", "VALUE:S2" ], [ "997", "020", "010", "VALUE:S2" ], [ "997", "020", "020", "VALUE:S2" ], [ "997", "020", "030", "VALUE:S3" ], [ "997", "020", "988", "VALUE:ERROR" ], [ "997", "020", "990-999", "VALUE:S2" ], [ "997", "030", "000", "VALUE:S3" ], [ "997", "030", "010", "VALUE:S3" ], [ "997", "030", "020", "VALUE:S3" ], [ "997", "030", "030", "VALUE:S3" ], [ "997", "030", "988", "VALUE:ERROR" ], [ "997", "030", "990-999", "VALUE:S3" ], [ "997", "988", "000-999", "VALUE:ERROR" ], [ "997", "990", "000", "VALUE:SX" ], [ "997", "990", "010", "VALUE:SX" ], [ "997", "990", "020", "VALUE:S2" ], [ "997", "990", "030", "VALUE:S3" ], [ "997", "990", "988", "VALUE:ERROR" ], [ "997", "990", "990-999", "VALUE:SX" ], [ "997", "991", "000", "VALUE:SX" ], [ "997", "991", "010", "VALUE:SX" ], [ "997", "991", "020", "VALUE:S2" ], [ "997", "991", "030", "VALUE:S3" ], [ "997", "991", "988", "VALUE:ERROR" ], [ "997", "991", "990-999", "VALUE:SX" ], [ "997", "992", "000", "VALUE:SX" ], [ "997", "992", "010", "VALUE:SX" ], [ "997", "992", "020", "VALUE:S2" ], [ "997", "992", "030", "VALUE:S3" ], [ "997", "992", "988", "VALUE:ERROR" ], [ "997", "992", "990-999", "VALUE:SX" ], [ "997", "993", "000", "VALUE:SX" ], [ "997", "993", "010", "VALUE:SX" ], [ "997", "993", "020", "VALUE:S2" ], [ "997", "993", "030", "VALUE:S3" ], [ "997", "993", "988", "VALUE:ERROR" ], [ "997", "993", "990-999", "VALUE:SX" ], [ "997", "997", "000", "VALUE:SX" ], [ "997", "997", "010", "VALUE:SX" ], [ "997", "997", "020", "VALUE:S2" ], [ "997", "997", "030", "VALUE:S3" ], [ "997", "997", "988", "VALUE:ERROR" ], [ "997", "997", "990-999", "VALUE:SX" ], [ "997", "998", "000", "VALUE:SX" ], [ "997", "998", "010", "VALUE:SX" ], [ "997", "998", "020", "VALUE:S2" ], [ "997", "998", "030", "VALUE:S3" ], [ "997", "998", "988", "VALUE:ERROR" ], [ "997", "998", "990-999", "VALUE:SX" ], [ "997", "999", "000", "VALUE:SX" ], [ "997", "999", "010", "VALUE:SX" ], [ "997", "999", "020", "VALUE:S2" ], [ "997", "999", "030", "VALUE:S3" ], [ "997", "999", "988", "VALUE:ERROR" ], [ "997", "999", "990-999", "VALUE:SX" ], [ "998", "000", "000", "VALUE:SX" ], [ "998", "000", "010", "VALUE:SX" ], [ "998", "000", "020", "VALUE:S2" ], [ "998", "000", "030", "VALUE:S3" ], [ "998", "000", "988", "VALUE:ERROR" ], [ "998", "000", "990-999", "VALUE:SX" ], [ "998", "010", "000", "VALUE:SX" ], [ "998", "010", "010", "VALUE:SX" ], [ "998", "010", "020", "VALUE:S2" ], [ "998", "010", "030", "VALUE:S3" ], [ "998", "010", "988", "VALUE:ERROR" ], [ "998", "010", "990-999", "VALUE:SX" ], [ "998", "020", "000", "VALUE:S2" ], [ "998", "020", "010", "VALUE:S2" ], [ "998", "020", "020", "VALUE:S2" ], [ "998", "020", "030", "VALUE:S3" ], [ "998", "020", "988", "VALUE:ERROR" ], [ "998", "020", "990-999", "VALUE:S2" ], [ "998", "030", "000", "VALUE:S3" ], [ "998", "030", "010", "VALUE:S3" ], [ "998", "030", "020", "VALUE:S3" ], [ "998", "030", "030", "VALUE:S3" ], [ "998", "030", "988", "VALUE:ERROR" ], [ "998", "030", "990-999", "VALUE:S3" ], [ "998", "988", "000-999", "VALUE:ERROR" ], [ "998", "990", "000", "VALUE:SX" ], [ "998", "990", "010", "VALUE:SX" ], [ "998", "990", "020", "VALUE:S2" ], [ "998", "990", "030", "VALUE:S3" ], [ "998", "990", "988", "VALUE:ERROR" ], [ "998", "990", "990-999", "VALUE:SX" ], [ "998", "991", "000", "VALUE:SX" ], [ "998", "991", "010", "VALUE:SX" ], [ "998", "991", "020", "VALUE:S2" ], [ "998", "991", "030", "VALUE:S3" ], [ "998", "991", "988", "VALUE:ERROR" ], [ "998", "991", "990-999", "VALUE:SX" ], [ "998", "992", "000", "VALUE:SX" ], [ "998", "992", "010", "VALUE:SX" ], [ "998", "992", "020", "VALUE:S2" ], [ "998", "992", "030", "VALUE:S3" ], [ "998", "992", "988", "VALUE:ERROR" ], [ "998", "992", "990-999", "VALUE:SX" ], [ "998", "993", "000", "VALUE:SX" ], [ "998", "993", "010", "VALUE:SX" ], [ "998", "993", "020", "VALUE:S2" ], [ "998", "993", "030", "VALUE:S3" ], [ "998", "993", "988", "VALUE:ERROR" ], [ "998", "993", "990-999", "VALUE:SX" ], [ "998", "997", "000", "VALUE:SX" ], [ "998", "997", "010", "VALUE:SX" ], [ "998", "997", "020", "VALUE:S2" ], [ "998", "997", "030", "VALUE:S3" ], [ "998", "997", "988", "VALUE:ERROR" ], [ "998", "997", "990-999", "VALUE:SX" ], [ "998", "998", "000", "VALUE:SX" ], [ "998", "998", "010", "VALUE:SX" ], [ "998", "998", "020", "VALUE:S2" ], [ "998", "998", "030", "VALUE:S3" ], [ "998", "998", "988", "VALUE:ERROR" ], [ "998", "998", "990-999", "VALUE:SX" ], [ "998", "999", "000", "VALUE:SX" ], [ "998", "999", "010", "VALUE:SX" ], [ "998", "999", "020", "VALUE:S2" ], [ "998", "999", "030", "VALUE:S3" ], [ "998", "999", "988", "VALUE:ERROR" ], [ "998", "999", "990-999", "VALUE:SX" ], [ "999", "000", "000", "VALUE:SX" ], [ "999", "000", "010", "VALUE:SX" ], [ "999", "000", "020", "VALUE:S2" ], [ "999", "000", "030", "VALUE:S3" ], [ "999", "000", "988", "VALUE:ERROR" ], [ "999", "000", "990-999", "VALUE:SX" ], [ "999", "010", "000", "VALUE:SX" ], [ "999", "010", "010", "VALUE:SX" ], [ "999", "010", "020", "VALUE:S2" ], [ "999", "010", "030", "VALUE:S3" ], [ "999", "010", "988", "VALUE:ERROR" ], [ "999", "010", "990-999", "VALUE:SX" ], [ "999", "020", "000", "VALUE:S2" ], [ "999", "020", "010", "VALUE:S2" ], [ "999", "020", "020", "VALUE:S2" ], [ "999", "020", "030", "VALUE:S3" ], [ "999", "020", "988", "VALUE:ERROR" ], [ "999", "020", "990-999", "VALUE:S2" ], [ "999", "030", "000", "VALUE:S3" ], [ "999", "030", "010", "VALUE:S3" ], [ "999", "030", "020", "VALUE:S3" ], [ "999", "030", "030", "VALUE:S3" ], [ "999", "030", "988", "VALUE:ERROR" ], [ "999", "030", "990-999", "VALUE:ERROR" ], [ "999", "988", "000-999", "VALUE:ERROR" ], [ "999", "990", "000", "VALUE:SX" ], [ "999", "990", "010", "VALUE:SX" ], [ "999", "990", "020", "VALUE:S2" ], [ "999", "990", "030", "VALUE:S3" ], [ "999", "990", "988", "VALUE:ERROR" ], [ "999", "990", "990-999", "VALUE:SX" ], [ "999", "991", "000", "VALUE:SX" ], [ "999", "991", "010", "VALUE:SX" ], [ "999", "991", "020", "VALUE:S2" ], [ "999", "991", "030", "VALUE:S3" ], [ "999", "991", "988", "VALUE:ERROR" ], [ "999", "991", "990-999", "VALUE:SX" ], [ "999", "992", "000", "VALUE:SX" ], [ "999", "992", "010", "VALUE:SX" ], [ "999", "992", "020", "VALUE:S2" ], [ "999", "992", "030", "VALUE:S3" ], [ "999", "992", "988", "VALUE:ERROR" ], [ "999", "992", "990-999", "VALUE:SX" ], [ "999", "993", "000", "VALUE:SX" ], [ "999", "993", "010", "VALUE:SX" ], [ "999", "993", "020", "VALUE:S2" ], [ "999", "993", "030", "VALUE:S3" ], [ "999", "993", "988", "VALUE:ERROR" ], [ "999", "993", "990-999", "VALUE:SX" ], [ "999", "997", "000", "VALUE:SX" ], [ "999", "997", "010", "VALUE:SX" ], [ "999", "997", "020", "VALUE:S2" ], [ "999", "997", "030", "VALUE:S3" ], [ "999", "997", "988", "VALUE:ERROR" ], [ "999", "997", "990-999", "VALUE:SX" ], [ "999", "998", "000", "VALUE:SX" ], [ "999", "998", "010", "VALUE:SX" ], [ "999", "998", "020", "VALUE:S2" ], [ "999", "998", "030", "VALUE:S3" ], [ "999", "998", "988", "VALUE:ERROR" ], [ "999", "998", "990-999", "VALUE:SX" ], [ "999", "999", "000", "VALUE:SX" ], [ "999", "999", "010", "VALUE:SX" ], [ "999", "999", "020", "VALUE:S2" ], [ "999", "999", "030", "VALUE:S3" ], [ "999", "999", "988", "VALUE:ERROR" ], [ "999", "999", "990-999", "VALUE:SX" ], [ "*", "*", "*", "VALUE:ERROR" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/primary_site.json b/src/test/resources/algorithms/cs/02.05.50/tables/primary_site.json deleted file mode 100644 index 59b57b766..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/primary_site.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "primary_site", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Primary Site", - "title" : "Primary Site", - "last_modified" : "2015-05-27T16:19:40.613Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "desc", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "C000", "External upper lip" ], [ "C001", "External lower lip" ], [ "C002", "External lip, NOS" ], [ "C003", "Inner aspect, upper lip" ], [ "C004", "Inner aspect, lower lip" ], [ "C005", "Inner aspect of lip, NOS" ], [ "C006", "Commissure of lip" ], [ "C008", "Overlapping lesion of lip" ], [ "C009", "Lip, NOS" ], [ "C019", "Base of tongue" ], [ "C020", "Dorsal surface of tongue" ], [ "C021", "Border of tongue" ], [ "C022", "Ventral surface of tongue" ], [ "C023", "Anterior two-thirds of tongue, NOS" ], [ "C024", "Lingual tonsil" ], [ "C028", "Overlapping lesion of tongue" ], [ "C029", "Tongue, NOS" ], [ "C030", "Upper gum" ], [ "C031", "Lower gum" ], [ "C039", "Gum, NOS" ], [ "C040", "Anterior floor of mouth" ], [ "C041", "Lateral floor of mouth" ], [ "C048", "Overlapping lesion of floor of mouth" ], [ "C049", "Floor of mouth, NOS" ], [ "C050", "Hard palate" ], [ "C051", "Soft palate" ], [ "C052", "Uvula" ], [ "C058", "Overlapping lesion of palate" ], [ "C059", "Palate, NOS" ], [ "C060", "Cheek mucosa" ], [ "C061", "Vestibule of mouth" ], [ "C062", "Retromolar area" ], [ "C068", "Overlapping lesion of other & unspecified parts of mouth" ], [ "C069", "Mouth, NOS" ], [ "C079", "Parotid gland" ], [ "C080", "Submandibular gland" ], [ "C081", "Sublingual gland" ], [ "C088", "Overlapping lesion of major salivary glands" ], [ "C089", "Major salivary gland, NOS" ], [ "C090", "Tonsillar fossa" ], [ "C091", "Tonsillar pillar" ], [ "C098", "Overlapping lesion of tonsil" ], [ "C099", "Tonsil, NOS" ], [ "C100", "Vallecula" ], [ "C101", "Anterior surface of epiglottis" ], [ "C102", "Lateral wall of oropharynx" ], [ "C103", "Posterior wall of oropharynx" ], [ "C104", "Branchial cleft" ], [ "C108", "Overlapping lesion of oropharynx" ], [ "C109", "Oropharynx, NOS" ], [ "C110", "Superior wall of nasopharynx" ], [ "C111", "Posterior wall of nasopharynx" ], [ "C112", "Lateral wall of nasopharynx" ], [ "C113", "Anterior wall of nasopharynx" ], [ "C118", "Overlapping lesion of nasopharynx" ], [ "C119", "Nasopharynx, NOS" ], [ "C129", "Pyriform sinus" ], [ "C130", "Postcricoid region" ], [ "C131", "Aryepiglottic fold, hypopharyngeal aspect" ], [ "C132", "Posterior wall of hypopharynx" ], [ "C138", "Overlapping lesion of hypopharynx" ], [ "C139", "Hypopharynx, NOS" ], [ "C140", "Pharynx, NOS" ], [ "C142", "Waldeyer's ring" ], [ "C148", "Overlapping lesion of lip, oral cavity & pharynx" ], [ "C150", "Cervical part of esophagus" ], [ "C151", "Thoracic part of esophagus" ], [ "C152", "Abdominal part of esophagus" ], [ "C153", "Upper third of esophagus" ], [ "C154", "Middle third of esophagus" ], [ "C155", "Lower third of esophagus" ], [ "C158", "Overlapping lesion of esophagus" ], [ "C159", "Esophagus, NOS" ], [ "C160", "Cardia" ], [ "C161", "Fundus of stomach" ], [ "C162", "Body of stomach" ], [ "C163", "Gastric antrum" ], [ "C164", "Pylorus" ], [ "C165", "Lesser curvature of stomach, NOS" ], [ "C166", "Greater curvature of stomach, NOS" ], [ "C168", "Overlapping lesion of stomach" ], [ "C169", "Stomach, NOS" ], [ "C170", "Duodenum" ], [ "C171", "Jejunum" ], [ "C172", "Ileum" ], [ "C173", "Meckel diverticulum" ], [ "C178", "Overlapping lesion of small intestine" ], [ "C179", "Small intestine, NOS" ], [ "C180", "Cecum" ], [ "C181", "Appendix" ], [ "C182", "Ascending colon" ], [ "C183", "Hepatic flexure of colon" ], [ "C184", "Transverse colon" ], [ "C185", "Splenic flexure of colon" ], [ "C186", "Descending colon" ], [ "C187", "Sigmoid colon" ], [ "C188", "Overlapping lesion of colon" ], [ "C189", "Colon, NOS" ], [ "C199", "Rectosigmoid junction" ], [ "C209", "Rectum" ], [ "C210", "Anus, NOS" ], [ "C211", "Anal canal" ], [ "C212", "Cloacogenic zone" ], [ "C218", "Overlapping lesion of rectum, anus & anal canal" ], [ "C220", "Liver" ], [ "C221", "Intrahepatic bile duct" ], [ "C239", "Gallbladder" ], [ "C240", "Extrahepatic bile duct" ], [ "C241", "Ampulla of vater" ], [ "C248", "Overlapping lesion of biliary tract" ], [ "C249", "Biliary tract, NOS" ], [ "C250", "Head of pancreas" ], [ "C251", "Body of pancreas" ], [ "C252", "Tail of pancreas" ], [ "C253", "Pancreatic duct" ], [ "C254", "Endocrine pancreas" ], [ "C257", "Oth parts of pancreas" ], [ "C258", "Overlapping lesion of pancreas" ], [ "C259", "Pancreas, NOS" ], [ "C260", "Intestinal tract, NOS" ], [ "C268", "Overlapping lesion of digestive system" ], [ "C269", "Gastrointestinal tract, NOS" ], [ "C300", "Nasal cavity" ], [ "C301", "Middle ear" ], [ "C310", "Maxillary sinus" ], [ "C311", "Ethmoidal sinus" ], [ "C312", "Frontal sinus" ], [ "C313", "Sphenoidal sinus" ], [ "C318", "Overlapping lesion of accessory sinuses" ], [ "C319", "Accessory sinus, NOS" ], [ "C320", "Glottis" ], [ "C321", "Supraglottis" ], [ "C322", "Subglottis" ], [ "C323", "Laryngeal cartilage" ], [ "C328", "Overlapping lesion of larynx" ], [ "C329", "Larynx, NOS" ], [ "C339", "Trachea" ], [ "C340", "Main bronchus" ], [ "C341", "Upper lobe, bronchus or lung" ], [ "C342", "Middle lobe, bronchus or lung" ], [ "C343", "Lower lobe, bronchus or lung" ], [ "C348", "Overlapping lesion of bronchus & lung" ], [ "C349", "Bronchus or lung, NOS" ], [ "C379", "Thymus" ], [ "C380", "Heart" ], [ "C381", "Anterior mediastinum" ], [ "C382", "Posterior mediastinum" ], [ "C383", "Mediastinum, NOS" ], [ "C384", "Pleura" ], [ "C388", "Overlapping lesion of heart, mediastinum & pleura" ], [ "C390", "Upper respiratory tract, NOS" ], [ "C398", "Overlapping lesion of respiratory & intrathoracic organs" ], [ "C399", "Ill-defined sites within respiratory system" ], [ "C400", "Long bones of upper limb, scapula and associative joints" ], [ "C401", "Short bones of upper limb and associative joints" ], [ "C402", "Long bones of lower limb and associative joints" ], [ "C403", "Short bones of lower limb and associative joints" ], [ "C408", "Overlapping lesion of bone & articular cartilage of limbs" ], [ "C409", "Bone & articular cartilage of limb, NOS" ], [ "C410", "Bones of skull & face" ], [ "C411", "Mandible" ], [ "C412", "Vertebral column" ], [ "C413", "Ribs, sternum & clavicle" ], [ "C414", "Pelvic bones, sacrum & coccyx" ], [ "C418", "Overlapping lesion of bone & articular cartilage" ], [ "C419", "Bone & articular cartilage, NOS" ], [ "C420", "Blood" ], [ "C421", "Bone marrow" ], [ "C422", "Spleen" ], [ "C423", "Reticuloendothelial system, NOS" ], [ "C424", "Hematopoietic system, NOS" ], [ "C440", "Skin of lip" ], [ "C441", "Skin of eyelid" ], [ "C442", "Skin of ear & external auricular canal" ], [ "C443", "Skin of other & unspecified parts of face" ], [ "C444", "Skin of scalp & neck" ], [ "C445", "Skin of trunk" ], [ "C446", "Skin of upper limb and shoulder" ], [ "C447", "Skin of lower limb and hip" ], [ "C448", "Overlapping lesion of skin" ], [ "C449", "Skin, NOS" ], [ "C470", "Peripheral nerves of head, face & neck" ], [ "C471", "Peripheral nerves of upper limb and shoulder" ], [ "C472", "Peripheral nerves of lower limb and hip" ], [ "C473", "Peripheral nerves of thorax" ], [ "C474", "Peripheral nerves of abdomen" ], [ "C475", "Peripheral nerves of pelvis" ], [ "C476", "Peripheral nerves of trunk, NOS" ], [ "C478", "Overlapping lesion of peripheral nerves & autonomic nervous system" ], [ "C479", "Peripheral nerves & autonomic nervous system, NOS" ], [ "C480", "Retroperitoneum" ], [ "C481", "Specified parts of peritoneum" ], [ "C482", "Peritoneum, NOS" ], [ "C488", "Overlapping lesion of retroperitoneum & peritoneum" ], [ "C490", "Connective & soft tissue of head, face & neck" ], [ "C491", "Connective & soft tissue of upper limb and shoulder" ], [ "C492", "Connective & soft tissue of lower limb and hip" ], [ "C493", "Connective & soft tissue of thorax" ], [ "C494", "Connective & soft tissue of abdomen" ], [ "C495", "Connective & soft tissue of pelvis" ], [ "C496", "Connective & soft tissue of trunk, NOS" ], [ "C498", "Overlapping lesion of connective & soft tissue" ], [ "C499", "Connective & soft tissue, NOS" ], [ "C500", "Nipple & areola" ], [ "C501", "Central portion of breast" ], [ "C502", "Upper-inner quadrant of breast" ], [ "C503", "Lower-inner quadrant of breast" ], [ "C504", "Upper-outer quadrant of breast" ], [ "C505", "Lower-outer quadrant of breast" ], [ "C506", "Axillary tail of breast" ], [ "C508", "Overlapping lesion of breast" ], [ "C509", "Breast, NOS" ], [ "C510", "Labium majus" ], [ "C511", "Labium minus" ], [ "C512", "Clitoris" ], [ "C518", "Overlapping lesion of vulva" ], [ "C519", "Vulva, NOS" ], [ "C529", "Vagina" ], [ "C530", "Endocervix" ], [ "C531", "Exocervix" ], [ "C538", "Overlapping lesion of cervix uteri" ], [ "C539", "Cervix uteri, NOS" ], [ "C540", "Isthmus uteri" ], [ "C541", "Endometrium" ], [ "C542", "Myometrium" ], [ "C543", "Fundus uteri" ], [ "C548", "Overlapping lesion of corpus uteri" ], [ "C549", "Corpus uteri, NOS" ], [ "C559", "Uterus" ], [ "C569", "Ovary" ], [ "C570", "Fallopian tube" ], [ "C571", "Broad ligament" ], [ "C572", "Round ligament" ], [ "C573", "Parametrium" ], [ "C574", "Uterine adnexa" ], [ "C577", "Oth specified female genital organs" ], [ "C578", "Overlapping lesion of female genital organs" ], [ "C579", "Female genital organ, NOS" ], [ "C589", "Placenta" ], [ "C600", "Prepuce" ], [ "C601", "Glans penis" ], [ "C602", "Body of penis" ], [ "C608", "Overlapping lesion of penis" ], [ "C609", "Penis, NOS" ], [ "C619", "Prostate" ], [ "C620", "Undescended testis" ], [ "C621", "Descended testis" ], [ "C629", "Testis, NOS" ], [ "C630", "Epididymis" ], [ "C631", "Spermatic cord" ], [ "C632", "Scrotum" ], [ "C637", "Oth specified male genital organs" ], [ "C638", "Overlapping lesion of male genital organs" ], [ "C639", "Male genital organ, NOS" ], [ "C649", "Kidney, except renal pelvis" ], [ "C659", "Renal pelvis" ], [ "C669", "Ureter" ], [ "C670", "Trigone of bladder" ], [ "C671", "Dome of bladder" ], [ "C672", "Lateral wall of bladder" ], [ "C673", "Anterior wall of bladder" ], [ "C674", "Posterior wall of bladder" ], [ "C675", "Bladder neck" ], [ "C676", "Ureteric orifice" ], [ "C677", "Urachus" ], [ "C678", "Overlapping lesion of bladder" ], [ "C679", "Bladder, NOS" ], [ "C680", "Urethra" ], [ "C681", "Paraurethral glands" ], [ "C688", "Overlapping lesion of urinary organs" ], [ "C689", "Urinary system, NOS" ], [ "C690", "Conjunctiva" ], [ "C691", "Cornea" ], [ "C692", "Retina" ], [ "C693", "Choroid" ], [ "C694", "Ciliary body" ], [ "C695", "Lachrymal gland & duct" ], [ "C696", "Orbit" ], [ "C698", "Overlapping lesion of eye & adnexa" ], [ "C699", "Eye, NOS" ], [ "C700", "Cerebral meninges" ], [ "C701", "Spinal meninges" ], [ "C709", "Meninges, NOS" ], [ "C710", "Cerebrum, except lobes & ventricles" ], [ "C711", "Frontal lobe" ], [ "C712", "Temporal lobe" ], [ "C713", "Parietal lobe" ], [ "C714", "Occipital lobe" ], [ "C715", "Cerebral ventricle" ], [ "C716", "Cerebellum" ], [ "C717", "Brain stem" ], [ "C718", "Overlapping lesion of brain" ], [ "C719", "Brain, NOS" ], [ "C720", "Spinal cord" ], [ "C721", "Cauda equina" ], [ "C722", "Olfactory nerve" ], [ "C723", "Optic nerve" ], [ "C724", "Acoustic nerve" ], [ "C725", "Cranial nerves, NOS" ], [ "C728", "Overlapping lesion of brain & central nervous system" ], [ "C729", "Central nervous system, NOS" ], [ "C739", "Thyroid gland" ], [ "C740", "Cortex of adrenal gland" ], [ "C741", "Medulla of adrenal gland" ], [ "C749", "Adrenal gland, NOS" ], [ "C750", "Parathyroid gland" ], [ "C751", "Pituitary gland" ], [ "C752", "Craniopharyngeal duct" ], [ "C753", "Pineal gland" ], [ "C754", "Carotid body" ], [ "C755", "Aortic body & other paraganglia" ], [ "C758", "Overlapping lesion of endocrine gland" ], [ "C759", "Endocrine gland, NOS" ], [ "C760", "Head, face & neck, NOS" ], [ "C761", "Thorax, NOS" ], [ "C762", "Abdomen, NOS" ], [ "C763", "Pelvis, NOS" ], [ "C764", "Upper limb, NOS" ], [ "C765", "Lower limb, NOS" ], [ "C767", "Other ill-defined sites" ], [ "C768", "Overlapping lesion of ill-defined sites" ], [ "C770", "Lymph nodes of head, face & neck" ], [ "C771", "Intrathoracic lymph nodes" ], [ "C772", "Intra-abdominal lymph nodes" ], [ "C773", "Axillary & upper limb lymph nodes" ], [ "C774", "Inguinal & lower limb lymph nodes" ], [ "C775", "Pelvic lymph nodes" ], [ "C778", "Lymph nodes of multiple regions" ], [ "C779", "Lymph nodes, NOS" ], [ "C809", "Unknown primary site" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_adnexa_uterine_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_adnexa_uterine_other.json deleted file mode 100644 index b21bc6269..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_adnexa_uterine_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_adnexa_uterine_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection AdnexaUterineOther", - "title" : "Schema selection for AdnexaUterineOther", - "last_modified" : "2015-05-27T16:19:40.678Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C571-C574", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_adrenal_gland.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_adrenal_gland.json deleted file mode 100644 index 709279290..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_adrenal_gland.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_adrenal_gland", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection AdrenalGland", - "title" : "Schema selection for AdrenalGland", - "last_modified" : "2015-05-27T16:19:40.725Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C740-C741", "8000-9136,9141-9582,9700-9701", "MATCH" ], [ "C749", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ampulla_vater.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ampulla_vater.json deleted file mode 100644 index 7970eb3a3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ampulla_vater.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_ampulla_vater", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection AmpullaVater", - "title" : "Schema selection for AmpullaVater", - "last_modified" : "2015-05-27T16:19:40.781Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C241", "8000-8152,8154-8231,8243-8245,8247,8248,8250-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_anus.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_anus.json deleted file mode 100644 index 78d6effe7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_anus.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_anus", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Anus", - "title" : "Schema selection for Anus", - "last_modified" : "2015-05-27T16:19:40.837Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C210-C212,C218", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_appendix.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_appendix.json deleted file mode 100644 index 221cda12d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_appendix.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_appendix", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Appendix", - "title" : "Schema selection for Appendix", - "last_modified" : "2015-05-27T16:19:40.893Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C181", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_distal.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_distal.json deleted file mode 100644 index 671e61fe5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_distal.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_bile_ducts_distal", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection BileDuctsDistal", - "title" : "Schema selection for BileDuctsDistal", - "last_modified" : "2015-05-27T16:19:40.952Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: BileDuctsDistal/BileDuctsPerihilar/CysticDuct", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C240", "8000-9136,9141-9582,9700-9701", "040,070", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_intrahepat.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_intrahepat.json deleted file mode 100644 index b29aebf91..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_intrahepat.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_bile_ducts_intrahepat", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection BileDuctsIntraHepat", - "title" : "Schema selection for BileDuctsIntraHepat", - "last_modified" : "2015-05-27T16:19:41.023Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C221", "8000-8162,8180-9136,9141-9582,9700-9701", "MATCH" ], [ "C220", "8160,8161,8180", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_perihilar.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_perihilar.json deleted file mode 100644 index 2159e842f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bile_ducts_perihilar.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_bile_ducts_perihilar", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection BileDuctsPerihilar", - "title" : "Schema selection for BileDuctsPerihilar", - "last_modified" : "2015-05-27T16:19:41.077Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: BileDuctsDistal/BileDuctsPerihilar/CysticDuct", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C240", "8000-9136,9141-9582,9700-9701", "010,020,050,060,100,999", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_biliary_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_biliary_other.json deleted file mode 100644 index 0eb3c3a9a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_biliary_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_biliary_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection BiliaryOther", - "title" : "Schema selection for BiliaryOther", - "last_modified" : "2015-05-27T16:19:41.346Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C248-C249", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bladder.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bladder.json deleted file mode 100644 index b57aefa90..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bladder.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_bladder", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Bladder", - "title" : "Schema selection for Bladder", - "last_modified" : "2015-05-27T16:19:41.410Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C670-C679", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bone.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bone.json deleted file mode 100644 index 5681789a3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_bone.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_bone", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Bone", - "title" : "Schema selection for Bone", - "last_modified" : "2015-05-27T16:19:41.461Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C400-C403,C408-C409,C410-C414,C418-C419", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_brain.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_brain.json deleted file mode 100644 index ff9c9f056..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_brain.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_brain", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Brain", - "title" : "Schema selection for Brain", - "last_modified" : "2015-05-27T16:19:41.513Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C700,C710-C719", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_breast.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_breast.json deleted file mode 100644 index 52846eb46..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_breast.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_breast", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Breast", - "title" : "Schema selection for Breast", - "last_modified" : "2015-05-27T16:19:41.579Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C500-C506,C508-C509", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_buccal_mucosa.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_buccal_mucosa.json deleted file mode 100644 index 91c8faccc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_buccal_mucosa.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_buccal_mucosa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection BuccalMucosa", - "title" : "Schema selection for BuccalMucosa", - "last_modified" : "2015-05-27T16:19:41.630Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C060-C061", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_carcinoid_appendix.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_carcinoid_appendix.json deleted file mode 100644 index c4f109f1e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_carcinoid_appendix.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_carcinoid_appendix", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection CarcinoidAppendix", - "title" : "Schema selection for CarcinoidAppendix", - "last_modified" : "2015-05-27T16:19:41.687Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C181", "8153,8240-8242,8246,8249", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cervix.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cervix.json deleted file mode 100644 index f2a4db01e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cervix.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_cervix", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Cervix", - "title" : "Schema selection for Cervix", - "last_modified" : "2015-05-27T16:19:41.738Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C530-C531,C538-C539", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cns_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cns_other.json deleted file mode 100644 index a12b48d0e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cns_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_cns_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection CNSOther", - "title" : "Schema selection for CNSOther", - "last_modified" : "2015-05-27T16:19:41.797Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C701,C709,C720-C725,C728-C729", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_colon.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_colon.json deleted file mode 100644 index 1e0c2bb3b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_colon.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_colon", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Colon", - "title" : "Schema selection for Colon", - "last_modified" : "2015-05-27T16:19:41.851Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C180,C182-C189", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_conjunctiva.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_conjunctiva.json deleted file mode 100644 index 0e0c3c07c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_conjunctiva.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_conjunctiva", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Conjunctiva", - "title" : "Schema selection for Conjunctiva", - "last_modified" : "2015-05-27T16:19:41.899Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C690", "8000-8713,8800-9136,9141-9508,9520-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_adenosarcoma.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_adenosarcoma.json deleted file mode 100644 index bc22712eb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_adenosarcoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_corpus_adenosarcoma", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection CorpusAdenosarcoma", - "title" : "Schema selection for CorpusAdenosarcoma", - "last_modified" : "2015-05-27T16:19:41.960Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C540-C543,C548-C549,C559", "8933", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_carcinoma.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_carcinoma.json deleted file mode 100644 index 28199c56a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_carcinoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_corpus_carcinoma", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection CorpusCarcinoma", - "title" : "Schema selection for CorpusCarcinoma", - "last_modified" : "2015-05-27T16:19:42.003Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C540-C543,C548-C549,C559", "8000-8790,8950,8951,8980-8981,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_sarcoma.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_sarcoma.json deleted file mode 100644 index c9a4f1856..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_corpus_sarcoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_corpus_sarcoma", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection CorpusSarcoma", - "title" : "Schema selection for CorpusSarcoma", - "last_modified" : "2015-05-27T16:19:42.051Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C540-C543,C548-C549,C559", "8800-8932,8934-8941,8959-8974,8982-9136,9141-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cystic_duct.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cystic_duct.json deleted file mode 100644 index c125bc77a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_cystic_duct.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_cystic_duct", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection CysticDuct", - "title" : "Schema selection for CysticDuct", - "last_modified" : "2015-05-27T16:19:42.106Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: BileDuctsDistal/BileDuctsPerihilar/CysticDuct", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C240", "8000-9136,9141-9582,9700-9701", "030", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_digestive_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_digestive_other.json deleted file mode 100644 index cd025c154..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_digestive_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_digestive_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection DigestiveOther", - "title" : "Schema selection for DigestiveOther", - "last_modified" : "2015-05-27T16:19:42.153Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C260,C268-C269", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_endocrine_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_endocrine_other.json deleted file mode 100644 index ce2209333..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_endocrine_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_endocrine_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection EndocrineOther", - "title" : "Schema selection for EndocrineOther", - "last_modified" : "2015-05-27T16:19:42.211Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C379,C750,C754-C755,C758-C759", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_epiglottis_anterior.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_epiglottis_anterior.json deleted file mode 100644 index 207ea37d8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_epiglottis_anterior.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_epiglottis_anterior", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection EpiglottisAnterior", - "title" : "Schema selection for EpiglottisAnterior", - "last_modified" : "2015-05-27T16:19:42.259Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C101", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus.json deleted file mode 100644 index d92478967..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_esophagus", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Esophagus", - "title" : "Schema selection for Esophagus", - "last_modified" : "2015-05-27T16:19:42.310Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C150-C155,C158-C159", "8000-8934,8940-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus_gejunction.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus_gejunction.json deleted file mode 100644 index 405b8c526..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_esophagus_gejunction.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_esophagus_gejunction", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection EsophagusGEJunction", - "title" : "Schema selection for EsophagusGEJunction", - "last_modified" : "2015-05-27T16:19:42.360Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: EsophagusGEJunction (EGJ)/Stomach", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C160", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "*", "MATCH" ], [ "C161-C162", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "020,040,060", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_eye_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_eye_other.json deleted file mode 100644 index 080264b48..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_eye_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_eye_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection EyeOther", - "title" : "Schema selection for EyeOther", - "last_modified" : "2015-05-27T16:19:42.406Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C691-C694,C698-C699", "8000-8713,8800-9136,9141-9508,9520-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_fallopian_tube.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_fallopian_tube.json deleted file mode 100644 index 84bf3c890..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_fallopian_tube.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_fallopian_tube", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection FallopianTube", - "title" : "Schema selection for FallopianTube", - "last_modified" : "2015-05-27T16:19:42.450Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C570", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_floor_mouth.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_floor_mouth.json deleted file mode 100644 index 8da6043bc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_floor_mouth.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_floor_mouth", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection FloorMouth", - "title" : "Schema selection for FloorMouth", - "last_modified" : "2015-05-27T16:19:42.500Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C040-C041,C048-C049", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gallbladder.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gallbladder.json deleted file mode 100644 index 0f4388874..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gallbladder.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gallbladder", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Gallbladder", - "title" : "Schema selection for Gallbladder", - "last_modified" : "2015-05-27T16:19:42.554Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C239", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_female_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_female_other.json deleted file mode 100644 index 5e8cd6a48..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_female_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_genital_female_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection GenitalFemaleOther", - "title" : "Schema selection for GenitalFemaleOther", - "last_modified" : "2015-05-27T16:19:42.600Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C577-C579", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_male_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_male_other.json deleted file mode 100644 index 458cc648c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_genital_male_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_genital_male_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection GenitalMaleOther", - "title" : "Schema selection for GenitalMaleOther", - "last_modified" : "2015-05-27T16:19:42.646Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C630-C631,C637-C639", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_appendix.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_appendix.json deleted file mode 100644 index 20e0e09dc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_appendix.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gist_appendix", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection GISTAppendix", - "title" : "Schema selection for GISTAppendix", - "last_modified" : "2015-05-27T16:19:42.694Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C181", "8935-8936", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_colon.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_colon.json deleted file mode 100644 index 9c830147b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_colon.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gist_colon", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection GISTColon", - "title" : "Schema selection for GISTColon", - "last_modified" : "2015-05-27T16:19:42.737Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C180,C182-C189", "8935-8936", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_esophagus.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_esophagus.json deleted file mode 100644 index 64ff397ab..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_esophagus.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gist_esophagus", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection GISTEsophagus", - "title" : "Schema selection for GISTEsophagus", - "last_modified" : "2015-05-27T16:19:42.795Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C150-C155,C158-C159", "8935-8936", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_peritoneum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_peritoneum.json deleted file mode 100644 index 8f135cd0c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_peritoneum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gist_peritoneum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection GISTPeritoneum", - "title" : "Schema selection for GISTPeritoneum", - "last_modified" : "2015-05-27T16:19:42.843Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C480-C482,C488", "8935-8936", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_rectum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_rectum.json deleted file mode 100644 index f2d9b4d86..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_rectum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gist_rectum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection GISTRectum", - "title" : "Schema selection for GISTRectum", - "last_modified" : "2015-05-27T16:19:42.886Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C199,C209", "8935-8936", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_small_intestine.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_small_intestine.json deleted file mode 100644 index a6fff8826..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_small_intestine.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gist_small_intestine", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection GISTSmallIntestine", - "title" : "Schema selection for GISTSmallIntestine", - "last_modified" : "2015-05-27T16:19:42.928Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C170-C173,C178-C179", "8935-8936", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_stomach.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_stomach.json deleted file mode 100644 index 95612063b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gist_stomach.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gist_stomach", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection GISTStomach", - "title" : "Schema selection for GISTStomach", - "last_modified" : "2015-05-27T16:19:42.973Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C160-C166,C168-C169", "8935-8936", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_lower.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_lower.json deleted file mode 100644 index 8ab56d04a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_lower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gum_lower", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection GumLower", - "title" : "Schema selection for GumLower", - "last_modified" : "2015-05-27T16:19:43.016Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C031,C062", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_other.json deleted file mode 100644 index 07d7f6f1c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gum_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection GumOther", - "title" : "Schema selection for GumOther", - "last_modified" : "2015-05-27T16:19:43.067Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C039", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_upper.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_upper.json deleted file mode 100644 index 7019887b6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_gum_upper.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gum_upper", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection GumUpper", - "title" : "Schema selection for GumUpper", - "last_modified" : "2015-05-27T16:19:43.113Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C030", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_heart_mediastinum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_heart_mediastinum.json deleted file mode 100644 index ed59bdfa3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_heart_mediastinum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_heart_mediastinum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection HeartMediastinum", - "title" : "Schema selection for HeartMediastinum", - "last_modified" : "2015-05-27T16:19:43.157Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C380-C383,C388", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_heme_retic.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_heme_retic.json deleted file mode 100644 index bc02e8940..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_heme_retic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_heme_retic", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection HemeRetic", - "title" : "Schema selection for HemeRetic", - "last_modified" : "2015-05-27T16:19:43.201Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C809", "9740-9809,9840-9992", "MATCH" ], [ "C420,C421,C424", "9811-9818,9823,9827,9837", "MATCH" ], [ "C000-C440,C442-C689,C691-C694,C698-C809", "9733,9820,9826,9831-9836", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_hypopharynx.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_hypopharynx.json deleted file mode 100644 index 16d29186d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_hypopharynx.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_hypopharynx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Hypopharynx", - "title" : "Schema selection for Hypopharynx", - "last_modified" : "2015-05-27T16:19:43.248Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C129,C130-C132,C138-C139", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ill_defined_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ill_defined_other.json deleted file mode 100644 index 154f1df57..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ill_defined_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_ill_defined_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection IllDefinedOther", - "title" : "Schema selection for IllDefinedOther", - "last_modified" : "2015-05-27T16:19:43.304Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C420-C424,C760-C765,C767-C768,C770-C775,C778-C779,C809", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_intracranial_gland.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_intracranial_gland.json deleted file mode 100644 index 085ea3e06..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_intracranial_gland.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_intracranial_gland", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection IntracranialGland", - "title" : "Schema selection for IntracranialGland", - "last_modified" : "2015-05-27T16:19:43.367Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C751,C752,C753", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kaposi_sarcoma.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kaposi_sarcoma.json deleted file mode 100644 index 7eb490d9c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kaposi_sarcoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_kaposi_sarcoma", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection KaposiSarcoma", - "title" : "Schema selection for KaposiSarcoma", - "last_modified" : "2015-05-27T16:19:43.422Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C809", "9140", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_parenchyma.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_parenchyma.json deleted file mode 100644 index 1f0676fbc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_parenchyma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_kidney_parenchyma", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection KidneyParenchyma", - "title" : "Schema selection for KidneyParenchyma", - "last_modified" : "2015-05-27T16:19:43.476Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C649", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_renal_pelvis.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_renal_pelvis.json deleted file mode 100644 index 57596f4af..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_kidney_renal_pelvis.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_kidney_renal_pelvis", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection KidneyRenalPelvis", - "title" : "Schema selection for KidneyRenalPelvis", - "last_modified" : "2015-05-27T16:19:43.524Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C659,C669", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_gland.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_gland.json deleted file mode 100644 index 3d07ea9bc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_gland.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_lacrimal_gland", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection LacrimalGland", - "title" : "Schema selection for LacrimalGland", - "last_modified" : "2015-05-27T16:19:43.567Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Lacrimal Gland/Lacrimal Sac", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C695", "8000-8713,8800-9136,9141-9508,9520-9582,9700-9701", "015,100", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_sac.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_sac.json deleted file mode 100644 index 8f1edcf24..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lacrimal_sac.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_lacrimal_sac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection LacrimalSac", - "title" : "Schema selection for LacrimalSac", - "last_modified" : "2015-05-27T16:19:43.617Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Lacrimal Gland/Lacrimal Sac", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C695", "8000-8713,8800-9136,9141-9508,9520-9582,9700-9701", "025", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_glottic.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_glottic.json deleted file mode 100644 index f7849d533..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_glottic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_larynx_glottic", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection LarynxGlottic", - "title" : "Schema selection for LarynxGlottic", - "last_modified" : "2015-05-27T16:19:43.660Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C320", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_other.json deleted file mode 100644 index 30d4bf971..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_larynx_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection LarynxOther", - "title" : "Schema selection for LarynxOther", - "last_modified" : "2015-05-27T16:19:43.707Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C323,C328-C329", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_subglottic.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_subglottic.json deleted file mode 100644 index d4732e7f3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_subglottic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_larynx_subglottic", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection LarynxSubglottic", - "title" : "Schema selection for LarynxSubglottic", - "last_modified" : "2015-05-27T16:19:43.761Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C322", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_supraglottic.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_supraglottic.json deleted file mode 100644 index 25b532299..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_larynx_supraglottic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_larynx_supraglottic", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection LarynxSupraglottic", - "title" : "Schema selection for LarynxSupraglottic", - "last_modified" : "2015-05-27T16:19:43.809Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C321", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_lower.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_lower.json deleted file mode 100644 index f80e2ce0f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_lower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_lip_lower", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection LipLower", - "title" : "Schema selection for LipLower", - "last_modified" : "2015-05-27T16:19:43.953Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C001,C004,C006", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_other.json deleted file mode 100644 index 5667e2f52..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_lip_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection LipOther", - "title" : "Schema selection for LipOther", - "last_modified" : "2015-05-27T16:19:43.999Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C002,C005,C008-C009", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_upper.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_upper.json deleted file mode 100644 index 479392bbe..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lip_upper.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_lip_upper", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection LipUpper", - "title" : "Schema selection for LipUpper", - "last_modified" : "2015-05-27T16:19:44.047Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000,C003", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_liver.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_liver.json deleted file mode 100644 index adcbc27c8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_liver.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_liver", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Liver", - "title" : "Schema selection for Liver", - "last_modified" : "2015-05-27T16:19:44.102Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C220", "8000-8157,8162-8175,8190-9136,9141-9582,9700-9701", "MATCH" ], [ "C221", "8170-8175", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lung.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lung.json deleted file mode 100644 index e6eb0acd9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lung.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_lung", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Lung", - "title" : "Schema selection for Lung", - "last_modified" : "2015-05-27T16:19:44.155Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C340-C343,C348-C349", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma.json deleted file mode 100644 index 8b9789065..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_lymphoma", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Lymphoma", - "title" : "Schema selection for Lymphoma", - "last_modified" : "2015-05-27T16:19:44.203Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C440,C442-C689,C691-C694,C698-C809", "9590-9699,9702-9729,9735,9737,9738", "MATCH" ], [ "C000-C419,C422-C423,C425-C440,C442-C689,C691-C694,C698-C809", "9811-9818,9823,9827,9837", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma_ocular_adnexa.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma_ocular_adnexa.json deleted file mode 100644 index 2a721988d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_lymphoma_ocular_adnexa.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_lymphoma_ocular_adnexa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection LymphomaOcularAdnexa", - "title" : "Schema selection for LymphomaOcularAdnexa", - "last_modified" : "2015-05-27T16:19:44.249Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C441,C690,C695-C696", "9590-9699,9702-9738,9811-9818,9820-9837", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_buccal_mucosa.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_buccal_mucosa.json deleted file mode 100644 index 2dcc16ea0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_buccal_mucosa.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_buccal_mucosa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaBuccalMucosa", - "title" : "Schema selection for MelanomaBuccalMucosa", - "last_modified" : "2015-05-27T16:19:44.298Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C060-C061", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_choroid.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_choroid.json deleted file mode 100644 index 4053a3ec2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_choroid.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_choroid", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaChoroid", - "title" : "Schema selection for MelanomaChoroid", - "last_modified" : "2015-05-27T16:19:44.344Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C693", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_ciliary_body.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_ciliary_body.json deleted file mode 100644 index c25059145..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_ciliary_body.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_melanoma_ciliary_body", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaCiliaryBody", - "title" : "Schema selection for MelanomaCiliaryBody", - "last_modified" : "2015-05-27T16:19:44.388Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Melanoma Ciliary Body/Melanoma Iris", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C694", "8720-8790", "010,100", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_conjunctiva.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_conjunctiva.json deleted file mode 100644 index b2f2f8f90..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_conjunctiva.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_conjunctiva", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaConjunctiva", - "title" : "Schema selection for MelanomaConjunctiva", - "last_modified" : "2015-05-27T16:19:44.435Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C690", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_epiglottis_anterior.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_epiglottis_anterior.json deleted file mode 100644 index f1d63129c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_epiglottis_anterior.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_epiglottis_anterior", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaEpiglottisAnterior", - "title" : "Schema selection for MelanomaEpiglottisAnterior", - "last_modified" : "2015-05-27T16:19:44.484Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C101", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_eye_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_eye_other.json deleted file mode 100644 index 60eff86c0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_eye_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_eye_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaEyeOther", - "title" : "Schema selection for MelanomaEyeOther", - "last_modified" : "2015-05-27T16:19:44.530Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C691,C692,C695,C698-C699", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_floor_mouth.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_floor_mouth.json deleted file mode 100644 index 111a615b1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_floor_mouth.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_floor_mouth", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaFloorMouth", - "title" : "Schema selection for MelanomaFloorMouth", - "last_modified" : "2015-05-27T16:19:44.576Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C040-C041,C048-C049", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_lower.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_lower.json deleted file mode 100644 index ce1a54e11..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_lower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_gum_lower", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaGumLower", - "title" : "Schema selection for MelanomaGumLower", - "last_modified" : "2015-05-27T16:19:44.621Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C031,C062", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_other.json deleted file mode 100644 index a2e4d20f1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_gum_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaGumOther", - "title" : "Schema selection for MelanomaGumOther", - "last_modified" : "2015-05-27T16:19:44.673Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C039", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_upper.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_upper.json deleted file mode 100644 index 5cf0ebbd8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_gum_upper.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_gum_upper", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaGumUpper", - "title" : "Schema selection for MelanomaGumUpper", - "last_modified" : "2015-05-27T16:19:44.728Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C030", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_hypopharynx.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_hypopharynx.json deleted file mode 100644 index f45de1172..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_hypopharynx.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_hypopharynx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaHypopharynx", - "title" : "Schema selection for MelanomaHypopharynx", - "last_modified" : "2015-05-27T16:19:44.784Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C129,C130-C132,C138-C139", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_iris.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_iris.json deleted file mode 100644 index 716c32938..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_iris.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_melanoma_iris", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaIris", - "title" : "Schema selection for MelanomaIris", - "last_modified" : "2015-05-27T16:19:44.830Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Melanoma Ciliary Body/Melanoma Iris", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C694", "8720-8790", "020", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_glottic.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_glottic.json deleted file mode 100644 index c16ad963c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_glottic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_larynx_glottic", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaLarynxGlottic", - "title" : "Schema selection for MelanomaLarynxGlottic", - "last_modified" : "2015-05-27T16:19:44.890Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C320", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_other.json deleted file mode 100644 index c44c5e6fb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_larynx_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaLarynxOther", - "title" : "Schema selection for MelanomaLarynxOther", - "last_modified" : "2015-05-27T16:19:44.951Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C323,C328-C329", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_subglottic.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_subglottic.json deleted file mode 100644 index 29132b70f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_subglottic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_larynx_subglottic", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaLarynxSubglottic", - "title" : "Schema selection for MelanomaLarynxSubglottic", - "last_modified" : "2015-05-27T16:19:45.003Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C322", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_supraglottic.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_supraglottic.json deleted file mode 100644 index 2b91e84e7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_larynx_supraglottic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_larynx_supraglottic", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaLarynxSupraglottic", - "title" : "Schema selection for MelanomaLarynxSupraglottic", - "last_modified" : "2015-05-27T16:19:45.061Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C321", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_lower.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_lower.json deleted file mode 100644 index 0d66ac4b3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_lower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_lip_lower", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaLipLower", - "title" : "Schema selection for MelanomaLipLower", - "last_modified" : "2015-05-27T16:19:45.121Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C001,C004,C006", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_other.json deleted file mode 100644 index 10fecd50d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_lip_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaLipOther", - "title" : "Schema selection for MelanomaLipOther", - "last_modified" : "2015-05-27T16:19:45.174Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C002,C005,C008-C009", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_upper.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_upper.json deleted file mode 100644 index f24126f95..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_lip_upper.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_lip_upper", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaLipUpper", - "title" : "Schema selection for MelanomaLipUpper", - "last_modified" : "2015-05-27T16:19:45.221Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000,C003", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_mouth_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_mouth_other.json deleted file mode 100644 index 3a5292c3c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_mouth_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_mouth_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaMouthOther", - "title" : "Schema selection for MelanomaMouthOther", - "last_modified" : "2015-05-27T16:19:45.270Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C058-C059,C068-C069", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasal_cavity.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasal_cavity.json deleted file mode 100644 index 8a3ee24af..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasal_cavity.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_nasal_cavity", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaNasalCavity", - "title" : "Schema selection for MelanomaNasalCavity", - "last_modified" : "2015-05-27T16:19:45.322Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C300", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasopharynx.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasopharynx.json deleted file mode 100644 index d2bb244c7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_nasopharynx.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_nasopharynx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaNasopharynx", - "title" : "Schema selection for MelanomaNasopharynx", - "last_modified" : "2015-05-27T16:19:45.367Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C110-C113,C118-C119", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_oropharynx.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_oropharynx.json deleted file mode 100644 index dace5cdde..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_oropharynx.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_oropharynx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaOropharynx", - "title" : "Schema selection for MelanomaOropharynx", - "last_modified" : "2015-05-27T16:19:45.417Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C090-C091,C098-C099,C100,C102-C104,C108-C109", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_hard.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_hard.json deleted file mode 100644 index fc4693b53..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_hard.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_palate_hard", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaPalateHard", - "title" : "Schema selection for MelanomaPalateHard", - "last_modified" : "2015-05-27T16:19:45.460Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C050", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_soft.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_soft.json deleted file mode 100644 index 498b93af5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_palate_soft.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_palate_soft", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaPalateSoft", - "title" : "Schema selection for MelanomaPalateSoft", - "last_modified" : "2015-05-27T16:19:45.505Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C051-C052", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_pharynx_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_pharynx_other.json deleted file mode 100644 index 4a0dbb5e2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_pharynx_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_pharynx_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaPharynxOther", - "title" : "Schema selection for MelanomaPharynxOther", - "last_modified" : "2015-05-27T16:19:45.551Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C140,C142,C148", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_ethmoid.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_ethmoid.json deleted file mode 100644 index 31bc09586..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_ethmoid.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_sinus_ethmoid", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaSinusEthmoid", - "title" : "Schema selection for MelanomaSinusEthmoid", - "last_modified" : "2015-05-27T16:19:45.594Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C311", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_maxillary.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_maxillary.json deleted file mode 100644 index d8416e61c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_maxillary.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_sinus_maxillary", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaSinusMaxillary", - "title" : "Schema selection for MelanomaSinusMaxillary", - "last_modified" : "2015-05-27T16:19:45.640Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C310", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_other.json deleted file mode 100644 index db993f8bb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_sinus_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_sinus_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaSinusOther", - "title" : "Schema selection for MelanomaSinusOther", - "last_modified" : "2015-05-27T16:19:45.692Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C312-C313,C318-C319", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_skin.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_skin.json deleted file mode 100644 index ea2f0b96e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_skin.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_skin", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaSkin", - "title" : "Schema selection for MelanomaSkin", - "last_modified" : "2015-05-27T16:19:45.737Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C440-C449,C510-C512,C518-C519,C600-C602,C608-C609,C632", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_anterior.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_anterior.json deleted file mode 100644 index d06268dca..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_anterior.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_tongue_anterior", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaTongueAnterior", - "title" : "Schema selection for MelanomaTongueAnterior", - "last_modified" : "2015-05-27T16:19:45.779Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C020-C023,C028-C029", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_base.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_base.json deleted file mode 100644 index b04e5d735..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_melanoma_tongue_base.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_tongue_base", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MelanomaTongueBase", - "title" : "Schema selection for MelanomaTongueBase", - "last_modified" : "2015-05-27T16:19:45.824Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C019,C024", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_penis.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_penis.json deleted file mode 100644 index f26a8edf0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_penis.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_merkel_cell_penis", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MerkelCellPenis", - "title" : "Schema selection for MerkelCellPenis", - "last_modified" : "2015-05-27T16:19:45.866Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C600-C602,C608-C609", "8247", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_scrotum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_scrotum.json deleted file mode 100644 index b94ef1c09..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_scrotum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_merkel_cell_scrotum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MerkelCellScrotum", - "title" : "Schema selection for MerkelCellScrotum", - "last_modified" : "2015-05-27T16:19:45.910Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C632", "8247", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_skin.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_skin.json deleted file mode 100644 index 3dd4f53ac..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_skin.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_merkel_cell_skin", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MerkelCellSkin", - "title" : "Schema selection for MerkelCellSkin", - "last_modified" : "2015-05-27T16:19:45.979Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C440,C442-C449", "8247", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_vulva.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_vulva.json deleted file mode 100644 index 375fd95eb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_merkel_cell_vulva.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_merkel_cell_vulva", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MerkelCellVulva", - "title" : "Schema selection for MerkelCellVulva", - "last_modified" : "2015-05-27T16:19:46.022Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C510-C512,C518-C519", "8247", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_middle_ear.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_middle_ear.json deleted file mode 100644 index f0b15d84f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_middle_ear.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_middle_ear", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MiddleEar", - "title" : "Schema selection for MiddleEar", - "last_modified" : "2015-05-27T16:19:46.072Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C301", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_mouth_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_mouth_other.json deleted file mode 100644 index 276df98cc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_mouth_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_mouth_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MouthOther", - "title" : "Schema selection for MouthOther", - "last_modified" : "2015-05-27T16:19:46.115Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C058-C059,C068-C069", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_mycosis_fungoides.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_mycosis_fungoides.json deleted file mode 100644 index 409119ddf..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_mycosis_fungoides.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_mycosis_fungoides", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MycosisFungoides", - "title" : "Schema selection for MycosisFungoides", - "last_modified" : "2015-05-27T16:19:46.162Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C440-C449,C510-C512,C518-C519,C600-C602,C608-C609,C632", "9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_myeloma_plasma_cell_disorder.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_myeloma_plasma_cell_disorder.json deleted file mode 100644 index 0a4251ee0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_myeloma_plasma_cell_disorder.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_myeloma_plasma_cell_disorder", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection MyelomaPlasmaCellDisorder", - "title" : "Schema selection for MyelomaPlasmaCellDisorder", - "last_modified" : "2015-05-27T16:19:46.213Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C440,C442-C689,C691-C694,C698-C809", "9731,9732,9734", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_nasal_cavity.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_nasal_cavity.json deleted file mode 100644 index f45c8df89..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_nasal_cavity.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_nasal_cavity", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection NasalCavity", - "title" : "Schema selection for NasalCavity", - "last_modified" : "2015-05-27T16:19:46.259Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C300", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_nasopharynx.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_nasopharynx.json deleted file mode 100644 index 9fae98ea0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_nasopharynx.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_nasopharynx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Nasopharynx", - "title" : "Schema selection for Nasopharynx", - "last_modified" : "2016-06-28T19:03:51.013Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Nasopharynx/PharyngealTonsil", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C110,C112,C113,C118-C119", "8000-8713,8800-9136,9141-9582,9700-9701", "*", "MATCH" ], [ "C111", "8000-8713,8800-9136,9141-9582,9700-9701", "010,100", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_ampulla.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_ampulla.json deleted file mode 100644 index 536f02d85..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_ampulla.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_net_ampulla", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection NETAmpulla", - "title" : "Schema selection for NETAmpulla", - "last_modified" : "2015-05-27T16:19:46.355Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C241", "8153,8240-8242,8246,8249", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_colon.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_colon.json deleted file mode 100644 index ac140ab42..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_colon.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_net_colon", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection NETColon", - "title" : "Schema selection for NETColon", - "last_modified" : "2015-05-27T16:19:46.399Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C180,C182-C189", "8153,8240-8242,8246,8249", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_rectum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_rectum.json deleted file mode 100644 index bd6f8ecf0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_rectum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_net_rectum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection NETRectum", - "title" : "Schema selection for NETRectum", - "last_modified" : "2015-05-27T16:19:46.443Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C199,C209", "8153,8240-8242,8246,8249", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_small_intestine.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_small_intestine.json deleted file mode 100644 index 8d4c1f224..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_small_intestine.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_net_small_intestine", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection NETSmallIntestine", - "title" : "Schema selection for NETSmallIntestine", - "last_modified" : "2015-05-27T16:19:46.501Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C170-C173,C178-C179", "8153,8240-8242,8246,8249", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_stomach.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_stomach.json deleted file mode 100644 index c6defa58b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_net_stomach.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_net_stomach", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection NETStomach", - "title" : "Schema selection for NETStomach", - "last_modified" : "2015-05-27T16:19:46.546Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C160-C166,C168-C169", "8153,8240-8242,8246,8249", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_orbit.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_orbit.json deleted file mode 100644 index d6472b46d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_orbit.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_orbit", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Orbit", - "title" : "Schema selection for Orbit", - "last_modified" : "2015-05-27T16:19:46.778Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C696", "8000-9136,9141-9508,9520-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_oropharynx.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_oropharynx.json deleted file mode 100644 index 09f3ce105..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_oropharynx.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_oropharynx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Oropharynx", - "title" : "Schema selection for Oropharynx", - "last_modified" : "2015-05-27T16:19:46.824Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C090-C091,C098-C099,C100,C102-C104,C108-C109", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ovary.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ovary.json deleted file mode 100644 index 1a7f33f58..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_ovary.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_ovary", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Ovary", - "title" : "Schema selection for Ovary", - "last_modified" : "2015-05-27T16:19:46.959Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C569", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_hard.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_hard.json deleted file mode 100644 index be862fe1b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_hard.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_palate_hard", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection PalateHard", - "title" : "Schema selection for PalateHard", - "last_modified" : "2015-05-27T16:19:47.140Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C050", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_soft.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_soft.json deleted file mode 100644 index b93519d52..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_palate_soft.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_palate_soft", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection PalateSoft", - "title" : "Schema selection for PalateSoft", - "last_modified" : "2015-05-27T16:19:47.189Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C051-C052", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_body_tail.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_body_tail.json deleted file mode 100644 index ea3d1f762..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_body_tail.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_pancreas_body_tail", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection PancreasBodyTail", - "title" : "Schema selection for PancreasBodyTail", - "last_modified" : "2015-05-27T16:19:47.238Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C251-C252", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_head.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_head.json deleted file mode 100644 index 85f9c8e22..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_head.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_pancreas_head", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection PancreasHead", - "title" : "Schema selection for PancreasHead", - "last_modified" : "2015-05-27T16:19:47.282Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C250", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_other.json deleted file mode 100644 index cf94b2360..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pancreas_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_pancreas_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection PancreasOther", - "title" : "Schema selection for PancreasOther", - "last_modified" : "2015-05-27T16:19:47.323Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C253-C254,C257-C259", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_parotid_gland.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_parotid_gland.json deleted file mode 100644 index 8ec6c1f61..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_parotid_gland.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_parotid_gland", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection ParotidGland", - "title" : "Schema selection for ParotidGland", - "last_modified" : "2015-05-27T16:19:47.372Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C079", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_penis.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_penis.json deleted file mode 100644 index d95d20ada..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_penis.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_penis", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Penis", - "title" : "Schema selection for Penis", - "last_modified" : "2015-05-27T16:19:47.414Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C600-C602,C608-C609", "8000-8246,8248-8713,8800-9136,9141-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum.json deleted file mode 100644 index 66dedab86..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_peritoneum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Peritoneum", - "title" : "Schema selection for Peritoneum", - "last_modified" : "2016-06-28T20:02:30.290Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Peritoneum/PeritoneumFemaleGen", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C481-C482,C488", "8000-8576,8590-8671,8930-8934,8940-9110", "001,003,004,009,100", "MATCH" ], [ "C481-C482,C488", "8580-8589,8680-8921,9120-9136,9141-9582,9700-9701", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum_female_gen.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum_female_gen.json deleted file mode 100644 index 8f79d5e8c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_peritoneum_female_gen.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_peritoneum_female_gen", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection PeritoneumFemaleGen", - "title" : "Schema selection for PeritoneumFemaleGen", - "last_modified" : "2015-05-27T16:19:47.583Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Peritoneum/PeritoneumFemaleGen", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C481-C482,C488", "8000-8576,8590-8671,8930-8934,8940-9110", "002", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pharyngeal_tonsil.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pharyngeal_tonsil.json deleted file mode 100644 index 15e07e628..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pharyngeal_tonsil.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_pharyngeal_tonsil", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection PharyngealTonsil", - "title" : "Schema selection for PharyngealTonsil", - "last_modified" : "2015-05-27T16:19:47.673Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Nasopharynx/PharyngealTonsil", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C111", "8000-8713,8800-9136,9141-9582,9700-9701", "020", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pharynx_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pharynx_other.json deleted file mode 100644 index be43cbb20..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pharynx_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_pharynx_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection PharynxOther", - "title" : "Schema selection for PharynxOther", - "last_modified" : "2015-05-27T16:19:47.725Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C140,C142,C148", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_placenta.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_placenta.json deleted file mode 100644 index 9707d131e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_placenta.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_placenta", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Placenta", - "title" : "Schema selection for Placenta", - "last_modified" : "2015-05-27T16:19:47.777Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C589", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pleura.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pleura.json deleted file mode 100644 index f002a4d57..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_pleura.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_pleura", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Pleura", - "title" : "Schema selection for Pleura", - "last_modified" : "2015-05-27T16:19:47.825Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C384", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_prostate.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_prostate.json deleted file mode 100644 index 506a5a1d0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_prostate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_prostate", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Prostate", - "title" : "Schema selection for Prostate", - "last_modified" : "2015-05-27T16:19:47.882Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C619", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_rectum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_rectum.json deleted file mode 100644 index 8f79094b0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_rectum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_rectum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Rectum", - "title" : "Schema selection for Rectum", - "last_modified" : "2015-05-27T16:19:47.939Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C199,C209", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_respiratory_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_respiratory_other.json deleted file mode 100644 index d1b5a3e16..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_respiratory_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_respiratory_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection RespiratoryOther", - "title" : "Schema selection for RespiratoryOther", - "last_modified" : "2015-05-27T16:19:47.981Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C390,C398-C399", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_retinoblastoma.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_retinoblastoma.json deleted file mode 100644 index a6305b8a9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_retinoblastoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_retinoblastoma", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Retinoblastoma", - "title" : "Schema selection for Retinoblastoma", - "last_modified" : "2015-05-27T16:19:48.028Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C690-C696,C698-C699", "9510-9514", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_retroperitoneum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_retroperitoneum.json deleted file mode 100644 index 29fe16297..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_retroperitoneum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_retroperitoneum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Retroperitoneum", - "title" : "Schema selection for Retroperitoneum", - "last_modified" : "2015-05-27T16:19:48.068Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C480", "8000-8934,8940-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_salivary_gland_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_salivary_gland_other.json deleted file mode 100644 index ce8713660..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_salivary_gland_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_salivary_gland_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection SalivaryGlandOther", - "title" : "Schema selection for SalivaryGlandOther", - "last_modified" : "2015-05-27T16:19:48.109Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C081,C088-C089", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_scrotum.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_scrotum.json deleted file mode 100644 index 1dcb56ede..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_scrotum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_scrotum", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Scrotum", - "title" : "Schema selection for Scrotum", - "last_modified" : "2015-05-27T16:19:48.159Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C632", "8000-8246,8248-8713,8800-9136,9141-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_ethmoid.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_ethmoid.json deleted file mode 100644 index 45773e829..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_ethmoid.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_sinus_ethmoid", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection SinusEthmoid", - "title" : "Schema selection for SinusEthmoid", - "last_modified" : "2015-05-27T16:19:48.228Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C311", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_maxillary.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_maxillary.json deleted file mode 100644 index 90d1fb4e6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_maxillary.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_sinus_maxillary", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection SinusMaxillary", - "title" : "Schema selection for SinusMaxillary", - "last_modified" : "2015-05-27T16:19:48.276Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C310", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_other.json deleted file mode 100644 index d1b2a3f5c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_sinus_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_sinus_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection SinusOther", - "title" : "Schema selection for SinusOther", - "last_modified" : "2015-05-27T16:19:48.317Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C312-C313,C318-C319", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_skin.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_skin.json deleted file mode 100644 index 49f1c0b8b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_skin.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_skin", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Skin", - "title" : "Schema selection for Skin", - "last_modified" : "2015-05-27T16:19:48.360Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C440,C442-C449", "8000-8246,8248-8713,8800-9136,9141-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_skin_eyelid.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_skin_eyelid.json deleted file mode 100644 index 2091b087f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_skin_eyelid.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_skin_eyelid", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection SkinEyelid", - "title" : "Schema selection for SkinEyelid", - "last_modified" : "2015-05-27T16:19:48.405Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C441", "8000-8713,8800-9136,9141-9508,9510-9514,9520-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_small_intestine.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_small_intestine.json deleted file mode 100644 index 890922ea7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_small_intestine.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_small_intestine", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection SmallIntestine", - "title" : "Schema selection for SmallIntestine", - "last_modified" : "2015-05-27T16:19:48.471Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C170-C173,C178-C179", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_soft_tissue.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_soft_tissue.json deleted file mode 100644 index 3e53d74c1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_soft_tissue.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_soft_tissue", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection SoftTissue", - "title" : "Schema selection for SoftTissue", - "last_modified" : "2015-05-27T16:19:48.553Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C470-C476,C478-C479,C490-C496,C498-C499", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_stomach.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_stomach.json deleted file mode 100644 index df5d19243..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_stomach.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_stomach", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Stomach", - "title" : "Schema selection for Stomach", - "last_modified" : "2016-06-28T19:03:50.795Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: EsophagusGEJunction (EGJ)/Stomach", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C161-C162", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "000,030,100,999", "MATCH" ], [ "C163-C166,C168-C169", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_submandibular_gland.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_submandibular_gland.json deleted file mode 100644 index 39d2e6068..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_submandibular_gland.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_submandibular_gland", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection SubmandibularGland", - "title" : "Schema selection for SubmandibularGland", - "last_modified" : "2015-05-27T16:19:48.651Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C080", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_testis.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_testis.json deleted file mode 100644 index b66c15a55..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_testis.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_testis", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Testis", - "title" : "Schema selection for Testis", - "last_modified" : "2015-05-27T16:19:48.696Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C620-C621,C629", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_thyroid.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_thyroid.json deleted file mode 100644 index 108a24fa8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_thyroid.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_thyroid", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Thyroid", - "title" : "Schema selection for Thyroid", - "last_modified" : "2015-05-27T16:19:48.754Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C739", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_anterior.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_anterior.json deleted file mode 100644 index fd20387f7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_anterior.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_tongue_anterior", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection TongueAnterior", - "title" : "Schema selection for TongueAnterior", - "last_modified" : "2015-05-27T16:19:48.819Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C020-C023,C028-C029", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_base.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_base.json deleted file mode 100644 index 6ff80ed0b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_tongue_base.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_tongue_base", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection TongueBase", - "title" : "Schema selection for TongueBase", - "last_modified" : "2015-05-27T16:19:48.875Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C019,C024", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_trachea.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_trachea.json deleted file mode 100644 index edc899ad5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_trachea.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_trachea", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Trachea", - "title" : "Schema selection for Trachea", - "last_modified" : "2015-05-27T16:19:48.933Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C339", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_urethra.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_urethra.json deleted file mode 100644 index 09fad4f8e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_urethra.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_urethra", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Urethra", - "title" : "Schema selection for Urethra", - "last_modified" : "2015-05-27T16:19:48.980Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C680", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_urinary_other.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_urinary_other.json deleted file mode 100644 index cdb82f4cd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_urinary_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_urinary_other", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection UrinaryOther", - "title" : "Schema selection for UrinaryOther", - "last_modified" : "2015-05-27T16:19:49.024Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C681,C688-C689", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_vagina.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_vagina.json deleted file mode 100644 index 463877275..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_vagina.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_vagina", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Vagina", - "title" : "Schema selection for Vagina", - "last_modified" : "2015-05-27T16:19:49.065Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C529", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_vulva.json b/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_vulva.json deleted file mode 100644 index a874b1e97..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/schema_selection_vulva.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_vulva", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Schema Selection Vulva", - "title" : "Schema selection for Vulva", - "last_modified" : "2015-05-27T16:19:49.111Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C510-C512,C518-C519", "8000-8246,8248-8713,8800-9136,9141-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/serum_tumor_marker_svalue_table_basedon_csssf123_xcj.json b/src/test/resources/algorithms/cs/02.05.50/tables/serum_tumor_marker_svalue_table_basedon_csssf123_xcj.json deleted file mode 100644 index 5af895553..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/serum_tumor_marker_svalue_table_basedon_csssf123_xcj.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "serum_tumor_marker_svalue_table_basedon_csssf123_xcj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Serum Tumor Marker S Value Table Based on CS SSF 1, 2, 3", - "title" : "Serum Tumor Marker S Value Table Based on CS SSF 1, 2, 3", - "notes" : "**Note**: This table calculates an intermediary value for S based on CS Site-Specific Factors 1-3, as shown in the following table. The S value from the serum tumor markers coded in this table is used in conjunction with the S value from Post-orchiectomy Serum Tumor Marker S Value Table Based on CS SSF 13, 15, 16. The information is combined based on year of diagnosis: 1) if year of diagnosis is less than 2010, see Combined Serum Tumor Marker S Value Table for Year of Diagnosis Less Than 2010; 2) if year of diagnosis is greater than 2009, see Combined Serum Tumor Marker S Value Table for Year of Diagnosis Greater Than 2009.", - "last_modified" : "2015-05-27T16:19:49.155Z", - "definition" : [ { - "key" : "ssf1", - "name" : "CS SSF 1", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF 3", - "type" : "INPUT" - }, { - "key" : "s_123", - "name" : "S Value", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "000", "VALUE:SX" ], [ "000", "000", "020", "VALUE:SX" ], [ "000", "000", "040", "VALUE:SX" ], [ "000", "000", "050", "VALUE:S2" ], [ "000", "000", "060", "VALUE:S3" ], [ "000", "000", "080", "VALUE:SX" ], [ "000", "000", "988", "VALUE:ERROR" ], [ "000", "000", "999", "VALUE:SX" ], [ "000", "020", "000", "VALUE:SX" ], [ "000", "020", "020", "VALUE:SX" ], [ "000", "020", "040", "VALUE:SX" ], [ "000", "020", "050", "VALUE:S2" ], [ "000", "020", "060", "VALUE:S3" ], [ "000", "020", "080", "VALUE:SX" ], [ "000", "020", "988", "VALUE:ERROR" ], [ "000", "020", "999", "VALUE:SX" ], [ "000", "040", "000", "VALUE:SX" ], [ "000", "040", "020", "VALUE:SX" ], [ "000", "040", "040", "VALUE:SX" ], [ "000", "040", "050", "VALUE:S2" ], [ "000", "040", "060", "VALUE:S3" ], [ "000", "040", "080", "VALUE:SX" ], [ "000", "040", "988", "VALUE:ERROR" ], [ "000", "040", "999", "VALUE:SX" ], [ "000", "050", "000", "VALUE:S2" ], [ "000", "050", "020", "VALUE:S2" ], [ "000", "050", "040", "VALUE:S2" ], [ "000", "050", "050", "VALUE:S2" ], [ "000", "050", "060", "VALUE:S3" ], [ "000", "050", "080", "VALUE:S2" ], [ "000", "050", "988", "VALUE:ERROR" ], [ "000", "050", "999", "VALUE:S2" ], [ "000", "060", "000", "VALUE:S3" ], [ "000", "060", "020", "VALUE:S3" ], [ "000", "060", "040", "VALUE:S3" ], [ "000", "060", "050", "VALUE:S3" ], [ "000", "060", "060", "VALUE:S3" ], [ "000", "060", "080", "VALUE:S3" ], [ "000", "060", "988", "VALUE:ERROR" ], [ "000", "060", "999", "VALUE:S3" ], [ "000", "080", "000", "VALUE:SX" ], [ "000", "080", "020", "VALUE:SX" ], [ "000", "080", "040", "VALUE:SX" ], [ "000", "080", "050", "VALUE:S2" ], [ "000", "080", "060", "VALUE:S3" ], [ "000", "080", "080", "VALUE:SX" ], [ "000", "080", "988", "VALUE:ERROR" ], [ "000", "080", "999", "VALUE:SX" ], [ "000", "988", "000", "VALUE:ERROR" ], [ "000", "988", "020", "VALUE:ERROR" ], [ "000", "988", "040", "VALUE:ERROR" ], [ "000", "988", "050", "VALUE:ERROR" ], [ "000", "988", "060", "VALUE:ERROR" ], [ "000", "988", "080", "VALUE:ERROR" ], [ "000", "988", "988", "VALUE:ERROR" ], [ "000", "988", "999", "VALUE:ERROR" ], [ "000", "999", "000", "VALUE:SX" ], [ "000", "999", "020", "VALUE:SX" ], [ "000", "999", "040", "VALUE:SX" ], [ "000", "999", "050", "VALUE:S2" ], [ "000", "999", "060", "VALUE:S3" ], [ "000", "999", "080", "VALUE:SX" ], [ "000", "999", "988", "VALUE:ERROR" ], [ "000", "999", "999", "VALUE:SX" ], [ "020", "000", "000", "VALUE:SX" ], [ "020", "000", "020", "VALUE:SX" ], [ "020", "000", "040", "VALUE:SX" ], [ "020", "000", "050", "VALUE:S2" ], [ "020", "000", "060", "VALUE:S3" ], [ "020", "000", "080", "VALUE:SX" ], [ "020", "000", "988", "VALUE:ERROR" ], [ "020", "000", "999", "VALUE:SX" ], [ "020", "020", "000", "VALUE:S0" ], [ "020", "020", "020", "VALUE:S0" ], [ "020", "020", "040", "VALUE:S1" ], [ "020", "020", "050", "VALUE:S2" ], [ "020", "020", "060", "VALUE:S3" ], [ "020", "020", "080", "VALUE:S0" ], [ "020", "020", "988", "VALUE:ERROR" ], [ "020", "020", "999", "VALUE:S0" ], [ "020", "040", "000", "VALUE:S0" ], [ "020", "040", "020", "VALUE:S1" ], [ "020", "040", "040", "VALUE:S1" ], [ "020", "040", "050", "VALUE:S2" ], [ "020", "040", "060", "VALUE:S3" ], [ "020", "040", "080", "VALUE:S0" ], [ "020", "040", "988", "VALUE:ERROR" ], [ "020", "040", "999", "VALUE:S0" ], [ "020", "050", "000", "VALUE:S2" ], [ "020", "050", "020", "VALUE:S2" ], [ "020", "050", "040", "VALUE:S2" ], [ "020", "050", "050", "VALUE:S2" ], [ "020", "050", "060", "VALUE:S3" ], [ "020", "050", "080", "VALUE:S2" ], [ "020", "050", "988", "VALUE:ERROR" ], [ "020", "050", "999", "VALUE:S2" ], [ "020", "060", "000", "VALUE:S3" ], [ "020", "060", "020", "VALUE:S3" ], [ "020", "060", "040", "VALUE:S3" ], [ "020", "060", "050", "VALUE:S3" ], [ "020", "060", "060", "VALUE:S3" ], [ "020", "060", "080", "VALUE:S3" ], [ "020", "060", "988", "VALUE:ERROR" ], [ "020", "060", "999", "VALUE:S3" ], [ "020", "080", "000", "VALUE:SX" ], [ "020", "080", "020", "VALUE:SX" ], [ "020", "080", "040", "VALUE:SX" ], [ "020", "080", "050", "VALUE:S2" ], [ "020", "080", "060", "VALUE:S3" ], [ "020", "080", "080", "VALUE:SX" ], [ "020", "080", "988", "VALUE:ERROR" ], [ "020", "080", "999", "VALUE:SX" ], [ "020", "988", "000", "VALUE:ERROR" ], [ "020", "988", "020", "VALUE:ERROR" ], [ "020", "988", "040", "VALUE:ERROR" ], [ "020", "988", "050", "VALUE:ERROR" ], [ "020", "988", "060", "VALUE:ERROR" ], [ "020", "988", "080", "VALUE:ERROR" ], [ "020", "988", "988", "VALUE:ERROR" ], [ "020", "988", "999", "VALUE:ERROR" ], [ "020", "999", "000", "VALUE:SX" ], [ "020", "999", "020", "VALUE:SX" ], [ "020", "999", "040", "VALUE:SX" ], [ "020", "999", "050", "VALUE:S2" ], [ "020", "999", "060", "VALUE:S3" ], [ "020", "999", "080", "VALUE:SX" ], [ "020", "999", "988", "VALUE:ERROR" ], [ "020", "999", "999", "VALUE:SX" ], [ "040", "000", "000", "VALUE:SX" ], [ "040", "000", "020", "VALUE:SX" ], [ "040", "000", "040", "VALUE:SX" ], [ "040", "000", "050", "VALUE:S2" ], [ "040", "000", "060", "VALUE:S3" ], [ "040", "000", "080", "VALUE:SX" ], [ "040", "000", "988", "VALUE:ERROR" ], [ "040", "000", "999", "VALUE:SX" ], [ "040", "020", "000", "VALUE:S1" ], [ "040", "020", "020", "VALUE:S1" ], [ "040", "020", "040", "VALUE:S1" ], [ "040", "020", "050", "VALUE:S2" ], [ "040", "020", "060", "VALUE:S3" ], [ "040", "020", "080", "VALUE:S1" ], [ "040", "020", "988", "VALUE:ERROR" ], [ "040", "020", "999", "VALUE:S1" ], [ "040", "040", "000", "VALUE:S1" ], [ "040", "040", "020", "VALUE:S1" ], [ "040", "040", "040", "VALUE:S1" ], [ "040", "040", "050", "VALUE:S2" ], [ "040", "040", "060", "VALUE:S3" ], [ "040", "040", "080", "VALUE:S1" ], [ "040", "040", "988", "VALUE:ERROR" ], [ "040", "040", "999", "VALUE:S1" ], [ "040", "050", "000", "VALUE:S2" ], [ "040", "050", "020", "VALUE:S2" ], [ "040", "050", "040", "VALUE:S2" ], [ "040", "050", "050", "VALUE:S2" ], [ "040", "050", "060", "VALUE:S3" ], [ "040", "050", "080", "VALUE:S2" ], [ "040", "050", "988", "VALUE:ERROR" ], [ "040", "050", "999", "VALUE:S2" ], [ "040", "060", "000", "VALUE:S3" ], [ "040", "060", "020", "VALUE:S3" ], [ "040", "060", "040", "VALUE:S3" ], [ "040", "060", "050", "VALUE:S3" ], [ "040", "060", "060", "VALUE:S3" ], [ "040", "060", "080", "VALUE:S3" ], [ "040", "060", "988", "VALUE:ERROR" ], [ "040", "060", "999", "VALUE:S3" ], [ "040", "080", "000", "VALUE:SX" ], [ "040", "080", "020", "VALUE:SX" ], [ "040", "080", "040", "VALUE:SX" ], [ "040", "080", "050", "VALUE:S2" ], [ "040", "080", "060", "VALUE:S3" ], [ "040", "080", "080", "VALUE:SX" ], [ "040", "080", "988", "VALUE:ERROR" ], [ "040", "080", "999", "VALUE:SX" ], [ "040", "988", "000", "VALUE:ERROR" ], [ "040", "988", "020", "VALUE:ERROR" ], [ "040", "988", "040", "VALUE:ERROR" ], [ "040", "988", "050", "VALUE:ERROR" ], [ "040", "988", "060", "VALUE:ERROR" ], [ "040", "988", "080", "VALUE:ERROR" ], [ "040", "988", "988", "VALUE:ERROR" ], [ "040", "988", "999", "VALUE:ERROR" ], [ "040", "999", "000", "VALUE:SX" ], [ "040", "999", "020", "VALUE:SX" ], [ "040", "999", "040", "VALUE:SX" ], [ "040", "999", "050", "VALUE:S2" ], [ "040", "999", "060", "VALUE:S3" ], [ "040", "999", "080", "VALUE:SX" ], [ "040", "999", "988", "VALUE:ERROR" ], [ "040", "999", "999", "VALUE:SX" ], [ "050", "000", "000", "VALUE:S2" ], [ "050", "000", "020", "VALUE:S2" ], [ "050", "000", "040", "VALUE:S2" ], [ "050", "000", "050", "VALUE:S2" ], [ "050", "000", "060", "VALUE:S3" ], [ "050", "000", "080", "VALUE:S2" ], [ "050", "000", "988", "VALUE:ERROR" ], [ "050", "000", "999", "VALUE:S2" ], [ "050", "020", "000", "VALUE:S2" ], [ "050", "020", "020", "VALUE:S2" ], [ "050", "020", "040", "VALUE:S2" ], [ "050", "020", "050", "VALUE:S2" ], [ "050", "020", "060", "VALUE:S3" ], [ "050", "020", "080", "VALUE:S2" ], [ "050", "020", "988", "VALUE:ERROR" ], [ "050", "020", "999", "VALUE:S2" ], [ "050", "040", "000", "VALUE:S2" ], [ "050", "040", "020", "VALUE:S2" ], [ "050", "040", "040", "VALUE:S2" ], [ "050", "040", "050", "VALUE:S2" ], [ "050", "040", "060", "VALUE:S3" ], [ "050", "040", "080", "VALUE:S2" ], [ "050", "040", "988", "VALUE:ERROR" ], [ "050", "040", "999", "VALUE:S2" ], [ "050", "050", "000", "VALUE:S2" ], [ "050", "050", "020", "VALUE:S2" ], [ "050", "050", "040", "VALUE:S2" ], [ "050", "050", "050", "VALUE:S2" ], [ "050", "050", "060", "VALUE:S3" ], [ "050", "050", "080", "VALUE:S2" ], [ "050", "050", "988", "VALUE:ERROR" ], [ "050", "050", "999", "VALUE:S2" ], [ "050", "060", "000", "VALUE:S3" ], [ "050", "060", "020", "VALUE:S3" ], [ "050", "060", "040", "VALUE:S3" ], [ "050", "060", "050", "VALUE:S3" ], [ "050", "060", "060", "VALUE:S3" ], [ "050", "060", "080", "VALUE:S3" ], [ "050", "060", "988", "VALUE:ERROR" ], [ "050", "060", "999", "VALUE:S3" ], [ "050", "080", "000", "VALUE:S2" ], [ "050", "080", "020", "VALUE:S2" ], [ "050", "080", "040", "VALUE:S2" ], [ "050", "080", "050", "VALUE:S2" ], [ "050", "080", "060", "VALUE:S3" ], [ "050", "080", "080", "VALUE:S2" ], [ "050", "080", "988", "VALUE:ERROR" ], [ "050", "080", "999", "VALUE:S2" ], [ "050", "988", "000", "VALUE:ERROR" ], [ "050", "988", "020", "VALUE:ERROR" ], [ "050", "988", "040", "VALUE:ERROR" ], [ "050", "988", "050", "VALUE:ERROR" ], [ "050", "988", "060", "VALUE:ERROR" ], [ "050", "988", "080", "VALUE:ERROR" ], [ "050", "988", "988", "VALUE:ERROR" ], [ "050", "988", "999", "VALUE:ERROR" ], [ "050", "999", "000", "VALUE:S2" ], [ "050", "999", "020", "VALUE:S2" ], [ "050", "999", "040", "VALUE:S2" ], [ "050", "999", "050", "VALUE:S2" ], [ "050", "999", "060", "VALUE:S3" ], [ "050", "999", "080", "VALUE:S2" ], [ "050", "999", "988", "VALUE:ERROR" ], [ "050", "999", "999", "VALUE:S2" ], [ "060", "000", "000", "VALUE:S3" ], [ "060", "000", "020", "VALUE:S3" ], [ "060", "000", "040", "VALUE:S3" ], [ "060", "000", "050", "VALUE:S3" ], [ "060", "000", "060", "VALUE:S3" ], [ "060", "000", "080", "VALUE:S3" ], [ "060", "000", "988", "VALUE:ERROR" ], [ "060", "000", "999", "VALUE:S3" ], [ "060", "020", "000", "VALUE:S3" ], [ "060", "020", "020", "VALUE:S3" ], [ "060", "020", "040", "VALUE:S3" ], [ "060", "020", "050", "VALUE:S3" ], [ "060", "020", "060", "VALUE:S3" ], [ "060", "020", "080", "VALUE:S3" ], [ "060", "020", "988", "VALUE:ERROR" ], [ "060", "020", "999", "VALUE:S3" ], [ "060", "040", "000", "VALUE:S3" ], [ "060", "040", "020", "VALUE:S3" ], [ "060", "040", "040", "VALUE:S3" ], [ "060", "040", "050", "VALUE:S3" ], [ "060", "040", "060", "VALUE:S3" ], [ "060", "040", "080", "VALUE:S3" ], [ "060", "040", "988", "VALUE:ERROR" ], [ "060", "040", "999", "VALUE:S3" ], [ "060", "050", "000", "VALUE:S3" ], [ "060", "050", "020", "VALUE:S3" ], [ "060", "050", "040", "VALUE:S3" ], [ "060", "050", "050", "VALUE:S3" ], [ "060", "050", "060", "VALUE:S3" ], [ "060", "050", "080", "VALUE:S3" ], [ "060", "050", "988", "VALUE:ERROR" ], [ "060", "050", "999", "VALUE:S3" ], [ "060", "060", "000", "VALUE:S3" ], [ "060", "060", "020", "VALUE:S3" ], [ "060", "060", "040", "VALUE:S3" ], [ "060", "060", "050", "VALUE:S3" ], [ "060", "060", "060", "VALUE:S3" ], [ "060", "060", "080", "VALUE:S3" ], [ "060", "060", "988", "VALUE:ERROR" ], [ "060", "060", "999", "VALUE:S3" ], [ "060", "080", "000", "VALUE:S3" ], [ "060", "080", "020", "VALUE:S3" ], [ "060", "080", "040", "VALUE:S3" ], [ "060", "080", "050", "VALUE:S3" ], [ "060", "080", "060", "VALUE:S3" ], [ "060", "080", "080", "VALUE:S3" ], [ "060", "080", "988", "VALUE:ERROR" ], [ "060", "080", "999", "VALUE:S3" ], [ "060", "988", "000", "VALUE:ERROR" ], [ "060", "988", "020", "VALUE:ERROR" ], [ "060", "988", "040", "VALUE:ERROR" ], [ "060", "988", "050", "VALUE:ERROR" ], [ "060", "988", "060", "VALUE:ERROR" ], [ "060", "988", "080", "VALUE:ERROR" ], [ "060", "988", "988", "VALUE:ERROR" ], [ "060", "988", "999", "VALUE:ERROR" ], [ "060", "999", "000", "VALUE:S3" ], [ "060", "999", "020", "VALUE:S3" ], [ "060", "999", "040", "VALUE:S3" ], [ "060", "999", "050", "VALUE:S3" ], [ "060", "999", "060", "VALUE:S3" ], [ "060", "999", "080", "VALUE:S3" ], [ "060", "999", "988", "VALUE:ERROR" ], [ "060", "999", "999", "VALUE:S3" ], [ "080", "000", "000", "VALUE:SX" ], [ "080", "000", "020", "VALUE:SX" ], [ "080", "000", "040", "VALUE:SX" ], [ "080", "000", "050", "VALUE:S2" ], [ "080", "000", "060", "VALUE:S3" ], [ "080", "000", "080", "VALUE:SX" ], [ "080", "000", "988", "VALUE:ERROR" ], [ "080", "000", "999", "VALUE:SX" ], [ "080", "020", "000", "VALUE:SX" ], [ "080", "020", "020", "VALUE:SX" ], [ "080", "020", "040", "VALUE:SX" ], [ "080", "020", "050", "VALUE:S2" ], [ "080", "020", "060", "VALUE:S3" ], [ "080", "020", "080", "VALUE:SX" ], [ "080", "020", "988", "VALUE:ERROR" ], [ "080", "020", "999", "VALUE:SX" ], [ "080", "040", "000", "VALUE:SX" ], [ "080", "040", "020", "VALUE:SX" ], [ "080", "040", "040", "VALUE:SX" ], [ "080", "040", "050", "VALUE:S2" ], [ "080", "040", "060", "VALUE:S3" ], [ "080", "040", "080", "VALUE:SX" ], [ "080", "040", "988", "VALUE:ERROR" ], [ "080", "040", "999", "VALUE:SX" ], [ "080", "050", "000", "VALUE:S2" ], [ "080", "050", "020", "VALUE:S2" ], [ "080", "050", "040", "VALUE:S2" ], [ "080", "050", "050", "VALUE:S2" ], [ "080", "050", "060", "VALUE:S3" ], [ "080", "050", "080", "VALUE:S2" ], [ "080", "050", "988", "VALUE:ERROR" ], [ "080", "050", "999", "VALUE:S2" ], [ "080", "060", "000", "VALUE:S3" ], [ "080", "060", "020", "VALUE:S3" ], [ "080", "060", "040", "VALUE:S3" ], [ "080", "060", "050", "VALUE:S3" ], [ "080", "060", "060", "VALUE:S3" ], [ "080", "060", "080", "VALUE:S3" ], [ "080", "060", "988", "VALUE:ERROR" ], [ "080", "060", "999", "VALUE:S3" ], [ "080", "080", "000", "VALUE:SX" ], [ "080", "080", "020", "VALUE:SX" ], [ "080", "080", "040", "VALUE:SX" ], [ "080", "080", "050", "VALUE:S2" ], [ "080", "080", "060", "VALUE:S3" ], [ "080", "080", "080", "VALUE:SX" ], [ "080", "080", "988", "VALUE:ERROR" ], [ "080", "080", "999", "VALUE:SX" ], [ "080", "988", "000", "VALUE:ERROR" ], [ "080", "988", "020", "VALUE:ERROR" ], [ "080", "988", "040", "VALUE:ERROR" ], [ "080", "988", "050", "VALUE:ERROR" ], [ "080", "988", "060", "VALUE:ERROR" ], [ "080", "988", "080", "VALUE:ERROR" ], [ "080", "988", "988", "VALUE:ERROR" ], [ "080", "988", "999", "VALUE:ERROR" ], [ "080", "999", "000", "VALUE:SX" ], [ "080", "999", "020", "VALUE:SX" ], [ "080", "999", "040", "VALUE:SX" ], [ "080", "999", "050", "VALUE:S2" ], [ "080", "999", "060", "VALUE:S3" ], [ "080", "999", "080", "VALUE:SX" ], [ "080", "999", "988", "VALUE:ERROR" ], [ "080", "999", "999", "VALUE:SX" ], [ "988", "000", "000", "VALUE:ERROR" ], [ "988", "000", "020", "VALUE:ERROR" ], [ "988", "000", "040", "VALUE:ERROR" ], [ "988", "000", "050", "VALUE:ERROR" ], [ "988", "000", "060", "VALUE:ERROR" ], [ "988", "000", "080", "VALUE:ERROR" ], [ "988", "000", "988", "VALUE:ERROR" ], [ "988", "000", "999", "VALUE:ERROR" ], [ "988", "020", "000", "VALUE:ERROR" ], [ "988", "020", "020", "VALUE:ERROR" ], [ "988", "020", "040", "VALUE:ERROR" ], [ "988", "020", "050", "VALUE:ERROR" ], [ "988", "020", "060", "VALUE:ERROR" ], [ "988", "020", "080", "VALUE:ERROR" ], [ "988", "020", "988", "VALUE:ERROR" ], [ "988", "020", "999", "VALUE:ERROR" ], [ "988", "040", "000", "VALUE:ERROR" ], [ "988", "040", "020", "VALUE:ERROR" ], [ "988", "040", "040", "VALUE:ERROR" ], [ "988", "040", "050", "VALUE:ERROR" ], [ "988", "040", "060", "VALUE:ERROR" ], [ "988", "040", "080", "VALUE:ERROR" ], [ "988", "040", "988", "VALUE:ERROR" ], [ "988", "040", "999", "VALUE:ERROR" ], [ "988", "050", "000", "VALUE:ERROR" ], [ "988", "050", "020", "VALUE:ERROR" ], [ "988", "050", "040", "VALUE:ERROR" ], [ "988", "050", "050", "VALUE:ERROR" ], [ "988", "050", "060", "VALUE:ERROR" ], [ "988", "050", "080", "VALUE:ERROR" ], [ "988", "050", "988", "VALUE:ERROR" ], [ "988", "050", "999", "VALUE:ERROR" ], [ "988", "060", "000", "VALUE:ERROR" ], [ "988", "060", "020", "VALUE:ERROR" ], [ "988", "060", "040", "VALUE:ERROR" ], [ "988", "060", "050", "VALUE:ERROR" ], [ "988", "060", "060", "VALUE:ERROR" ], [ "988", "060", "080", "VALUE:ERROR" ], [ "988", "060", "988", "VALUE:ERROR" ], [ "988", "060", "999", "VALUE:ERROR" ], [ "988", "080", "000", "VALUE:ERROR" ], [ "988", "080", "020", "VALUE:ERROR" ], [ "988", "080", "040", "VALUE:ERROR" ], [ "988", "080", "050", "VALUE:ERROR" ], [ "988", "080", "060", "VALUE:ERROR" ], [ "988", "080", "080", "VALUE:ERROR" ], [ "988", "080", "988", "VALUE:ERROR" ], [ "988", "080", "999", "VALUE:ERROR" ], [ "988", "988", "000", "VALUE:ERROR" ], [ "988", "988", "020", "VALUE:ERROR" ], [ "988", "988", "040", "VALUE:ERROR" ], [ "988", "988", "050", "VALUE:ERROR" ], [ "988", "988", "060", "VALUE:ERROR" ], [ "988", "988", "080", "VALUE:ERROR" ], [ "988", "988", "988", "VALUE:ERROR" ], [ "988", "988", "999", "VALUE:ERROR" ], [ "988", "999", "000", "VALUE:ERROR" ], [ "988", "999", "020", "VALUE:ERROR" ], [ "988", "999", "040", "VALUE:ERROR" ], [ "988", "999", "050", "VALUE:ERROR" ], [ "988", "999", "060", "VALUE:ERROR" ], [ "988", "999", "080", "VALUE:ERROR" ], [ "988", "999", "988", "VALUE:ERROR" ], [ "988", "999", "999", "VALUE:ERROR" ], [ "999", "000", "000", "VALUE:SX" ], [ "999", "000", "020", "VALUE:SX" ], [ "999", "000", "040", "VALUE:SX" ], [ "999", "000", "050", "VALUE:S2" ], [ "999", "000", "060", "VALUE:S3" ], [ "999", "000", "080", "VALUE:SX" ], [ "999", "000", "988", "VALUE:ERROR" ], [ "999", "000", "999", "VALUE:SX" ], [ "999", "020", "000", "VALUE:SX" ], [ "999", "020", "020", "VALUE:SX" ], [ "999", "020", "040", "VALUE:SX" ], [ "999", "020", "050", "VALUE:S2" ], [ "999", "020", "060", "VALUE:S3" ], [ "999", "020", "080", "VALUE:SX" ], [ "999", "020", "988", "VALUE:ERROR" ], [ "999", "020", "999", "VALUE:SX" ], [ "999", "040", "000", "VALUE:SX" ], [ "999", "040", "020", "VALUE:SX" ], [ "999", "040", "040", "VALUE:SX" ], [ "999", "040", "050", "VALUE:S2" ], [ "999", "040", "060", "VALUE:S3" ], [ "999", "040", "080", "VALUE:SX" ], [ "999", "040", "988", "VALUE:ERROR" ], [ "999", "040", "999", "VALUE:SX" ], [ "999", "050", "000", "VALUE:S2" ], [ "999", "050", "020", "VALUE:S2" ], [ "999", "050", "040", "VALUE:S2" ], [ "999", "050", "050", "VALUE:S2" ], [ "999", "050", "060", "VALUE:S3" ], [ "999", "050", "080", "VALUE:S2" ], [ "999", "050", "988", "VALUE:ERROR" ], [ "999", "050", "999", "VALUE:S2" ], [ "999", "060", "000", "VALUE:S3" ], [ "999", "060", "020", "VALUE:S3" ], [ "999", "060", "040", "VALUE:S3" ], [ "999", "060", "050", "VALUE:S3" ], [ "999", "060", "060", "VALUE:S3" ], [ "999", "060", "080", "VALUE:S3" ], [ "999", "060", "988", "VALUE:ERROR" ], [ "999", "060", "999", "VALUE:S3" ], [ "999", "080", "000", "VALUE:SX" ], [ "999", "080", "020", "VALUE:SX" ], [ "999", "080", "040", "VALUE:SX" ], [ "999", "080", "050", "VALUE:S2" ], [ "999", "080", "060", "VALUE:S3" ], [ "999", "080", "080", "VALUE:SX" ], [ "999", "080", "988", "VALUE:ERROR" ], [ "999", "080", "999", "VALUE:SX" ], [ "999", "988", "000", "VALUE:ERROR" ], [ "999", "988", "020", "VALUE:ERROR" ], [ "999", "988", "040", "VALUE:ERROR" ], [ "999", "988", "050", "VALUE:ERROR" ], [ "999", "988", "060", "VALUE:ERROR" ], [ "999", "988", "080", "VALUE:ERROR" ], [ "999", "988", "988", "VALUE:ERROR" ], [ "999", "988", "999", "VALUE:ERROR" ], [ "999", "999", "000", "VALUE:SX" ], [ "999", "999", "020", "VALUE:SX" ], [ "999", "999", "040", "VALUE:SX" ], [ "999", "999", "050", "VALUE:S2" ], [ "999", "999", "060", "VALUE:S3" ], [ "999", "999", "080", "VALUE:SX" ], [ "999", "999", "988", "VALUE:ERROR" ], [ "999", "999", "999", "VALUE:SX" ], [ "*", "*", "*", "VALUE:ERROR" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aaa.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aaa.json deleted file mode 100644 index ae488776f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aaa.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aaa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note 1**: Do not code size of hilar mass unless primary is stated to be in the hilum.", - "last_modified" : "2015-05-27T16:19:49.263Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm)\n(Exact size in mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\n\nStated as T1a with no other information on size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"\n\nStated as T1b or T1 [NOS] with no other information on size" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "996", "Malignant cells present in bronchopulmonary secretions, but no tumor seen radiographically or during bronchoscopy; \"occult\" carcinoma" ], [ "997", "Diffuse (entire lobe)" ], [ "998", "Diffuse (entire lung or NOS)" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aab.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aab.json deleted file mode 100644 index 3ca451e97..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aab.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note 1**: Code the specific tumor size as documented in the medical record. If the only information regarding tumor size is the physician's statement of the T category, assign code 990 (T1mi), 991 (T1b), 992 (T1 or T1c), or 995 (T2). If the physician's statement of the T category is T1a with no documentation of tumor size, code tumor size as 005. If the physician's statement of the T category is T3 with no documentation of tumor size or a statement specifying only that the tumor size is greater than 5 cm, code tumor size as 051.\n\n**Note 2**: When coding pathologic size, code the measurement of the invasive component. For example, if there is a large in situ component (e.g., 4 cm) and a small invasive component, see CS Site-Specific Factor 6 to code more information about the reported tumor size. If the size of invasive component is not given, code the size of the entire tumor and record what the size value represents in CS Site-Specific Factor 6. Note that some breast cancers cannot be sized pathologically.\n\n**Note 3**: Microinvasion is the extension of cancer cells beyond the basement membrane into the adjacent tissues with no focus more than 0.1 cm in greatest dimension. When there are multiple foci of microinvasion, the size of only the largest focus is used to classify the microinvasion. (Do not use the sum of all the individual foci.)", - "last_modified" : "2015-05-27T16:19:49.306Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Code exact size in mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microinvasion\nMicroscopic focus or foci only and no size given \nDescribed as \"less than 1 mm\"\n\nStated as T1mi with no other information on tumor size" ], [ "991", "Described as \"less than 1 centimeter (cm)\"\n\nStated as T1b with no other information on tumor size" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\n\nStated as T1 [NOS] or T1c [NOS] with no other information on tumor size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"\n\nStated as T2 with no other information on tumor size" ], [ "996", "Mammographic/xerographic diagnosis only, no size given; clinically not palpable" ], [ "997", "Paget disease of nipple with no demonstrable tumor" ], [ "998", "Diffuse" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aac.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aac.json deleted file mode 100644 index 5a5d25152..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aac.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: Code the largest measurement of horizontal spread or surface diameter in this field. Depth of invasion is coded in CS Extension.", - "last_modified" : "2015-05-27T16:19:49.354Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm)\n(Exact size in mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only, and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "999", "Unknown; size not stated\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aad.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aad.json deleted file mode 100644 index 4b1d3858e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aad.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "size_aad", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "last_modified" : "2015-05-27T16:19:49.396Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm)\n(Exact size in mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only, no size of focus given" ], [ "991", "Described as \"less than 1 cm\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "998", "Familial/multiple polyposis (M-8220/8221)" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aae.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aae.json deleted file mode 100644 index d508232f0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aae.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "size_aae", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "last_modified" : "2015-05-27T16:19:49.442Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm)\n(Exact size in mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only; no size given" ], [ "991", "Described as \"less than 1 cm\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "998", "Familial/multiple polyposis (M-8220/8221)" ], [ "999", "Unknown; size not stated\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aaf.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aaf.json deleted file mode 100644 index 25d4bc3b3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aaf.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "size_aaf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "last_modified" : "2015-05-27T16:19:49.487Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable" ], [ "988", "Not applicable: Information not collected for this schema" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aag.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aag.json deleted file mode 100644 index 7d8b5b058..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aag.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aag", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: Code the specific tumor size as documented in the medical record. If tumor dimensions are stated, code the greatest dimension. If only one dimension is recorded, code this. For example, tumor is seen extending from 18 centimeter (cm) to 21 cm from the incisors: code 030 for a tumor length of 3 cm; tumor is 5.2 x 3.8 cm at 25 cm: code 052 because this is the greatest dimension.", - "last_modified" : "2015-05-27T16:19:49.532Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to the nearest mm)" ], [ "989", "989 mm" ], [ "990", "Microscopic focus or foci only, and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "998", "Circumferential" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aah.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aah.json deleted file mode 100644 index a2f5825cd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aah.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "size_aah", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "last_modified" : "2015-05-27T16:19:49.582Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only, no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "998", "Diffuse; widespread; three-fourths or more; linitis plastica" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aaj.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aaj.json deleted file mode 100644 index 349917656..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aaj.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aaj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note 1**: Code the specific tumor size to the nearest millimeter as documented in the medical record. Use codes 990-995 only if a specific measurement is not available.\n\n**Note 2**: The assignment of T1 and T2 categories for sarcomas of the orbit cavity is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 991 and 992 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.", - "last_modified" : "2015-05-27T16:19:49.626Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) (Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1.5 centimeter (cm)\" Stated as T1 with no other information on size" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1.5 cm Stated as T2 with no other information on size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aak.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aak.json deleted file mode 100644 index ba083b6d3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aak.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aak", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note 1**: Code the specific tumor size as documented in the medical record.\n\n**Note 2**: The assignment of T1 and T2 categories for tumors limited to the adrenal gland is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 995 and 996 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.", - "last_modified" : "2015-05-27T16:19:49.680Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm)\n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"\nStated as T1 with no other information on tumor size" ], [ "996", "Described as \"greater than 5 cm\"\n\nStated as T2 with no other information on tumor size" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aal.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aal.json deleted file mode 100644 index 6ac19c65a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aal.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aal", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: The assignment of T1, T1a, and T1b categories for carcinoid tumors of the appendix is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 991 and 992 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.", - "last_modified" : "2015-05-27T16:19:49.725Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size in mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 cm\"\n\nStated as T1 [NOS] or T1a with no other information on tumor size" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\n\nStated as T1b with no other information on tumor size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "998", "OBSOLETE DATA REVIEWED AND CHANGED V0203\n\nSize category not appropriate for carcinoid of appendix\nFamilial/multiple polyposis (M-8220/8221)" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aam.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aam.json deleted file mode 100644 index bbd01a1fb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aam.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "size_aam", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "last_modified" : "2015-05-27T16:19:49.772Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm )\n(Exact size in mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 cm\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "998", "OBSOLETE DATA RETAINED V0200 \n\nFamilial/multiple polyposis (M-8220/8221)" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aan.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aan.json deleted file mode 100644 index c1b35b201..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aan.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aan", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: Code the specific tumor size as stated in the medical record. Use code 992, 994, or 995 if the physician's statement about T value is the ONLY information available about the size of the tumor. (Refer to the CS Extension table for instructions on coding extension.)", - "last_modified" : "2015-05-27T16:19:49.817Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm)\n(Exact size in mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\n\nStated as T1 with no other information on size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"\n\nStated as T2 with no other information on size" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"\n\nStated as T3 with no other information on size" ], [ "996", "Described as \"greater than 5cm\"" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aao.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aao.json deleted file mode 100644 index b0ea41f68..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aao.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aao", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note 1**: Code the tumor size as documented in the medical record. \n\n**Note 2**: The assignment of T1 and T2 categories for tumors limited to the kidney is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 994, 996-998 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.", - "last_modified" : "2015-05-27T16:19:49.859Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"\n\nStated as T1a with no other information on tumor size" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"7 cm or less\"\n\nStated as T1 [NOS] or T1b with no other information on tumor size\n\nNote: \"Stated as T1b with no other information on size\" moved from code 995 to code 996 in V0204" ], [ "997", "Described as \"greater than 7 cm\"\n\nStated as T2 [NOS] or T2a with no other information on tumor size" ], [ "998", "Described as \"greater than 10 cm\"\n\nStated as T2b with no other information on tumor size" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aap.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aap.json deleted file mode 100644 index f6c774f8e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aap.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aap", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note 1**: The assignment of the T1 category for neuroendocrine tumors (NET) of the stomach is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use code 991 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.\n\n**Note 2**: Codes 992-995 were obsolete in CSVersion 2, V0201 and V0202. They are made active in V0203. Tumors that now fall into one of these categories would have been coded as 011, 021, or 999 in V0201/V0202.", - "last_modified" : "2015-05-27T16:19:49.903Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than or equal to 1 centimeter (cm)\"\n\nStated as T1 with no other information on extension" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "998", "OBSOLETE DATA RETAINED V0200\n\nDiffuse; widespread; 3/4's or more: linitis plastica" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aaq.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aaq.json deleted file mode 100644 index dd5f879c2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aaq.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aaq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "OBSOLETE - CS Tumor Size", - "notes" : "**Note**: CS Tumor Size is obsolete beginning with CS Version 2 (codes and notes). Old data are retained, but new cases are not coded with CS Tumor Size. Use code 988 for this field.", - "last_modified" : "2015-05-27T16:19:49.949Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0200\n\nNo mass/tumor found" ], [ "001-979", "OBSOLETE DATA RETAINED V0200\n\n001-979 millimeters (code exact size in millimeters)" ], [ "980", "OBSOLETE DATA RETAINED V0200\n\n980 millimeters or larger\n(Includes cases converted from codes 981-989 during conversion to V0200)" ], [ "981-987", "OBSOLETE DATA CONVERTED V0200\nSee code 980\n\n981-987 millimeters" ], [ "988", "CONVERTED AND CODE REUSED V0200\nPrior to V0200 code defined as \"988 millimeters\". Cases converted to code 980 with V0200 and code 988 redefined as \"Not applicable: Information not collected for this schema\".\n\nNot applicable: Information not collected for this schema" ], [ "989", "OBSOLETE DATA CONVERTED V0200\nSee code 980\n\n989 millimeters or larger" ], [ "990", "OBSOLETE DATA RETAINED V0200\n\nMicroscopic focus or foci only, no size of focus given" ], [ "991", "OBSOLETE DATA RETAINED V0200\n\nDescribed as \"less than 1 cm\"" ], [ "992", "OBSOLETE DATA RETAINED V0200\n\nDescribed as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "OBSOLETE DATA RETAINED V0200\n\nDescribed as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "OBSOLETE DATA RETAINED V0200\n\nDescribed as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "OBSOLETE DATA RETAINED V0200\n\nDescribed as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "999", "OBSOLETE DATA RETAINED V0200\n\nUnknown; size not stated\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aar.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aar.json deleted file mode 100644 index 17d98a628..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aar.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aar", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: The assignment of the T1 and T2 categories for neuroendocrine tumors (NET) of ampulla of Vater is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use codes 991 and 992 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.", - "last_modified" : "2015-05-27T16:19:49.996Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than or equal to 1 centimeter (cm)\"\n\nStated as T1 with no other information on size" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\n\nStated as T2 with no other information on size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "996", "OBSOLETE DATA CONVERTED V0203 \nSee code 992\n\nDescribed as \"greater than 1 cm\"" ], [ "997", "OBSOLETE DATA CONVERTED V0203\nSee code 991\n\nStated as T1, NOS with no other information on size" ], [ "998", "OBSOLETE DATA CONVERTED V0203\nSee code 992\n\nStated as T2, NOS with no other information on size" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aas.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aas.json deleted file mode 100644 index 9b4ef4f13..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aas.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aas", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: The assignment of T1 categories for neuroendocrine tumors (NET) of the small intestine is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use code 991 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.", - "last_modified" : "2015-05-27T16:19:50.040Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than or equal to 1 centimeter (cm)\"\n\nStated as T1 with no other information on size" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "996", "OBSOLETE DATA CONVERTED V0203\nSee code 992\n\nDescribed as \"greater than 1 cm\"" ], [ "997", "OBSOLETE DATA CONVERTED V0203\nSee code 991\n\nStated as T1, NOS with no other information on size" ], [ "998", "OBSOLETE DATA CONVERTED V0203\nSee code 999\n\nStated as T2, NOS with no other information on size" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aat.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aat.json deleted file mode 100644 index cab36e096..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aat.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aat", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: The assignment of T1 and T2 categories for soft tissue sarcomas is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 995 and 996 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.", - "last_modified" : "2015-05-27T16:19:50.090Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm)\n(Exact size in mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and, no size of focus given" ], [ "991", "Described as \"less than 1 cm\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"\nStated as T1a or T1b, or T1 [NOS] with no other information on size" ], [ "996", "Described as \"greater than 5 cm\"\nStated as T2a, T2b, or T2 [NOS] with no other information on size" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aau.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aau.json deleted file mode 100644 index acd9ca63e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aau.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aau", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note 1**: According to AJCC tumor size is an important prognostic factor. The three dimensions of tumor size (length, width, and height) are also important to collect if documented in the patient record. Record the largest dimension of tumor size in CS Tumor Size. Record the second largest dimension of tumor size in CS Site-Specific Factor 1 and the smallest dimension of tumor size in CS Site-Specific Factor 2.\n\n**Note 2**: Tumor size expressed as 4.0 centimeter (cm) x 3.0 cm x 2.0 cm is recorded as follows:\n\n* CS Tumor Size: 040\n* CS Site-Specific Factor 1: 030\n* CS Site-Specific Factor 2: 020\n\nTumor size expressed as \"greater than 8 cm\" is recorded as follows:\n\n* CS Tumor Size : 997\n* CS Site-Specific Factor 1: 999\n* CS Site-Specific Factor 2: 999\n\n**Note 3**: The assignment of T1and T2 categories for tumors of bone is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 996 and 997as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.", - "last_modified" : "2015-05-27T16:19:50.133Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 8 cm\" or \"between 5 cm and 8 cm\"\n\nStated as T1 NOS with no other information on size" ], [ "997", "Described as \"greater than 8 cm\"\n\nStated as T2 NOS with no other information on size" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aaw.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aaw.json deleted file mode 100644 index 29adb0b83..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aaw.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aaw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: CS Tumor Size is collected for ocular adnexal lymphomas.", - "last_modified" : "2015-05-27T16:19:50.176Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "001 - 979 millimeters (mm)\n(Exact size in mm)" ], [ "980", "980 mm or larger" ], [ "988", "Not applicable: Information not collected for this case \n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aax.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aax.json deleted file mode 100644 index 11faab750..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aax.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aax", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note 1**: Code exact tumor measurements when available. Use codes 990-997 only if a specific measurement is not available.\n\n**Note 2**: The assignment of T categories for gastrointestinal stromal tumors (GIST) is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 992, 995, 996, and 997 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.\n\n**Note 3**: Codes 992-995 were obsolete in CS Version 2, V0201 and V0202. They are made active in V0203. Codes 996-997 are new for V0203. Tumors that now fall into one of these categories would have been coded as 011, 021, 051, 101, or 999 in V0201/V0202.", - "last_modified" : "2015-05-27T16:19:50.225Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\n\nStated as T1 with no other information on tumor size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"\n\nStated as T2 with no other information on tumor size\n\nNote: \"Stated as T2 with no other information on size\" moved from code 993 to code 995 in V0204" ], [ "996", "Described as \"less than 10 cm,\" or \"greater than 5 cm\" or \"between 5 cm and 10 cm\" \n\nStated as T3 with no other information on tumor size" ], [ "997", "Described as \"greater than 10 cm\" \n\nStated as T4 with no other information on tumor size" ], [ "998", "OBSOLETE DATA RETAINED V0200\n\nDiffuse; widespread; 3/4s or more; linitis plastica" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aay.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aay.json deleted file mode 100644 index bb8a5d9b9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aay.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aay", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: Code the specific tumor size to the nearest millimeter (mm) as documented in the medical record. Use codes 990-995 only if a specific measurement is not available.", - "last_modified" : "2015-05-27T16:19:50.289Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) (Exact size in mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only, no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"]" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aaz.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aaz.json deleted file mode 100644 index 79de38af5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aaz.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "size_aaz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "last_modified" : "2015-05-27T16:19:50.337Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"greater than 5 cm\"" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aba.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aba.json deleted file mode 100644 index c55b4ad73..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aba.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aba", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: Record the size of the largest tumor only. For Mycosis Fungoides, a tumor is described as a solid or nodular lesion at least 1 cm in diameter with evidence of depth and/or vertical growth. Do not record the size of individual patches, papules, or plaques. Use code 999 if it is unknown if tumors are present, or if the size of the largest tumor is unknown.", - "last_modified" : "2015-05-27T16:19:50.399Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found\nNo tumors present" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_ana.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_ana.json deleted file mode 100644 index ffb47c7e0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_ana.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "size_ana", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "last_modified" : "2015-05-27T16:19:50.461Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable" ], [ "988", "Not applicable: Information not collected for this schema" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_apa.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apa.json deleted file mode 100644 index 904d10af5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_apa.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "size_apa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "last_modified" : "2015-05-27T16:19:50.511Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_apb.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apb.json deleted file mode 100644 index a85a2d28e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_apb.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_apb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "OBSOLETE - CS Tumor Size", - "notes" : "**Note**: CS Tumor Size is obsolete beginning with CS Version 2 (codes and notes). Old data are retained, but new cases are not coded with CS Tumor Size. Use code 988 for this field.\n\n**OBSOLETE V0200 Note**: Record the size of the tumor in the CS Tumor size table below, not depth or thickness. Depth or thickness is recorded in CS Site-Specific Factor 1 in the Measured Thickness (Depth), Breslow Measurement table.", - "last_modified" : "2015-05-27T16:19:50.561Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0200 \n\nNo mass/tumor found" ], [ "001-979", "OBSOLETE DATA RETAINED V0200\n\n001-979 millimeters (code exact size in millimeters)" ], [ "980", "OBSOLETE DATA RETAINED V0200\n\n980 millimeters or larger\n(Includes cases converted from codes 981-989 during conversion to V0200)" ], [ "981-987", "OBSOLETE DATA CONVERTED V0200\nSee code 980\n\n981-987 millimeters" ], [ "988", "CONVERTED AND CODE REUSED V0200\nPrior to V0200 code defined as \"988 millimeters\" Cases converted to code 980 with V0200 and code 988 redefined as \"Not applicable: Information not collected for this schema\"\n\nNot applicable: Information not collected for this schema " ], [ "989", "OBSOLETE DATA CONVERTED V0200\nSee code 980\n\n989 millimeters or larger" ], [ "990", "OBSOLETE DATA RETAINED V0200\n\nMicroscopic focus or foci only, no size of focus given" ], [ "991", "OBSOLETE DATA RETAINED V0200\n \nDescribed as \"less than 1 cm\"" ], [ "992", "OBSOLETE DATA RETAINED V0200\n\nDescribed as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "OBSOLETE DATA RETAINED V0200\n\nDescribed as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "OBSOLETE DATA RETAINED V0200\n \nDescribed as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "OBSOLETE DATA RETAINED V0200\n \nDescribed as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "999", "OBSOLETE DATA RETAINED V0200\n \nUnknown; size not stated\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_apc.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apc.json deleted file mode 100644 index 83f6e60d6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_apc.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_apc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note 1**: Code the specific tumor size to the nearest millimeter (mm) as documented in the medical record. Use codes 990-996 only if a specific measurement is not available.\n\n**Note 2**: The assignment of T1, T2, and T3 categories for tumors of the lip and oral cavity is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 992, 994, and 995 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.", - "last_modified" : "2015-05-27T16:19:50.611Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only, no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\" \n\nStated as T1 with no other information on size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\" \n\nStated as T2 with no other information on size" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\" \n\nStated as T3 with no other information on size " ], [ "996", "Described as \"greater than 5cm\"" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_apd.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apd.json deleted file mode 100644 index b2d8cdaef..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_apd.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_apd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: Code the specific tumor size as stated in the medical record. Use code 992 or 994 if the physician's statement about T value is the ONLY information available about the size of the tumor. (Refer to the CS Extension table for instructions on coding extension.)", - "last_modified" : "2015-05-27T16:19:50.670Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (code exact size in millimeters)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only, no size of focus given" ], [ "991", "Described as \"less than 1 cm\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\nStated as T1 with no other information on size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"\nStated as T2 with no other information on size" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "999", "Unknown; size not stated\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_apf.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apf.json deleted file mode 100644 index 23b3e5daa..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_apf.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_apf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: The assignment of T1, T2, and T3 categories for tumors of the anus is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 992, 995, and 996 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.", - "last_modified" : "2015-05-27T16:19:50.714Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm)\n(Exact size in mm.)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only, no size of focus given" ], [ "991", "Described as \"less than 1 cm\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\n\nStated as T1 with no other information on tumor size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"\n\nStated as T2 with no other information on tumor size\n\nNote: \"Stated as T2 with no other information on tumor size\" moved from code 993 to code 995 in V0204" ], [ "996", "Described as \"greater than 5 cm\"\n\nStated as T3 with no other information on tumor size" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_apg.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apg.json deleted file mode 100644 index 860dcd2ae..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_apg.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_apg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: The assignment of T1 and T2 categories for tumors of the pancreas is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 992 and 993 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.", - "last_modified" : "2015-05-27T16:19:50.760Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size in mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\n\nStated as T1 with no other information on size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"\n\nStated as T2 with no other information on size" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aph.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aph.json deleted file mode 100644 index b1158101b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aph.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aph", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: The assignment of T1 and T2. categories for tumors of the oropharynx is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 992 and 994 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.", - "last_modified" : "2015-05-27T16:19:50.818Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) (Exact size in mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\" \n\nStated as T1 with no other information on size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\" \n\nStated as T2 with no other information on size" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"greater than 5cm\"" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_api.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_api.json deleted file mode 100644 index 7c9be74fc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_api.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_api", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note 1**: Code exact tumor measurements when available. Use codes 990-997 only if a specific measurement is not available.\n\n**Note 2**: The assignment of T categories for gastrointestinal stromal tumors (GIST) is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 992, 995, 996, and 997 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.\n\n**Note 3**: Codes 992-995 were obsolete in CS Version 2, V0201 and V0202. They are made active in V0203. Codes 996-997 are new for V0203. Tumors that now fall into one of these categories would have been coded as 011, 021, 051, 101, or 999 in V0201/V0202.", - "last_modified" : "2015-05-27T16:19:50.863Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\n\nStated as T1 with no other information on tumor size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"\n\nStated as T2 with no other information on tumor size\n\nNote: \"Stated as T2 with no other information on size\" moved from code 993 to code 995 in V0204" ], [ "996", "Described as \"less than 10 cm,\" or \"greater than 5 cm\" or \"between 5 cm and 10 cm\" \n\nStated as T3 with no other information on tumor size" ], [ "997", "Described as \"greater than 10 cm\" \n\nStated as T4 with no other information on tumor size" ], [ "998", "OBSOLETE DATA RETAINED V0200\n\nCircumferential" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_apj.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apj.json deleted file mode 100644 index 49ee6823d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_apj.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_apj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: The assignment of T1 and T2 categories for carcinoma of the thyroid is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use codes 991, 992, and 994 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.", - "last_modified" : "2015-05-27T16:19:50.908Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"\n\nStated as T1a with no other information on extension" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\n\nStated as T1b or T1 NOS with no other information on size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"\n\nStated as T2 with no other information on size" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"greater than 5cm\"" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_apk.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apk.json deleted file mode 100644 index 5857f5880..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_apk.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_apk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note 1**: The assignment of the T1 categories for neuroendocrine tumors (NET) of the colon/rectum is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use codes 991 and 992 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.\n\n**Note 2**: Codes 992-995 were obsolete in CS Version 2, V0201 and V0202. They are made active in V0203. Tumors that now fall into one of these categories would have been coded as 011, 021, or 999 in V0201/V0202.", - "last_modified" : "2015-05-27T16:19:50.962Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"\n\nStated as T1a with no other information on size" ], [ "992", " Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\n\nStated as T1b or T1 [NOS] with no other information on size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "998", "OBSOLETE DATA RETAINED V0200\n\nFamilial/multiple polyposis (M-8220/8221)" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_apl.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apl.json deleted file mode 100644 index 15b9e6735..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_apl.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_apl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: The assignment of the T1 category for cutaneous squamous cell carcinomas with one or no high-risk features is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use code 992 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available", - "last_modified" : "2015-05-27T16:19:51.006Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm)\n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 cm\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\n\nStated as T1 with no other information on tumor size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_apo.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apo.json deleted file mode 100644 index c88ea8bc5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_apo.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_apo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: The assignment of the T1, T2, and T3 categories for Merkel cell carcinomas is based on tumor size. A physician's statement of the T category may be used to code both CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently; for example, the record may document size but not extension. Use codes 992, 995, and 996 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.", - "last_modified" : "2015-05-27T16:19:51.051Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm)\n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\n \nStated as T1 with no other information on size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\" \n\nStated as T2 with no other information on size" ], [ "996", "Described as \"greater than 5 cm\" \n\nStated as T3 with no other information on size" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_app.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_app.json deleted file mode 100644 index d60b404d3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_app.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "size_app", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "last_modified" : "2015-05-27T16:19:51.097Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm)\n(Exact size in mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 cm\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "999", "Unknown; size not stated\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_apr.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apr.json deleted file mode 100644 index 7084a0e0e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_apr.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_apr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note 1**: Code exact tumor measurements when available. Use codes 990-997 only if a specific measurement is not available.\n\n**Note 2**: The assignment of T categories for gastrointestinal stromal tumors (GIST) is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 992, 995, 996, and 997 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.\n\n**Note 3**: Codes 992-995 were obsolete in CS Version 2, V0201 and V0202. They are made active in V0203. Codes 996-997 are new for V0203. Tumors that now fall into one of these categories would have been coded as 011, 021, 051, 101, or 999 in V0201/V0202.", - "last_modified" : "2015-05-27T16:19:51.140Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\n\nStated as T1 with no other information on tumor size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"\n\nStated as T2 with no other information on tumor size\n\nNote: \"Stated as T2 with no other information on size\" moved from code 993 to code 995 in V0204" ], [ "996", "Described as \"less than 10 cm,\" or \"greater than 5 cm\" or \"between 5 cm and 10 cm\" \n\nStated as T3 with no other information on tumor size" ], [ "997", "Described as \"greater than 10 cm\" \n\nStated as T4 with no other information on tumor size" ], [ "998", "OBSOLETE DATA RETAINED V0200\n\nFamilial/multiple polyposis (M-8220-8221)" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_aps.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_aps.json deleted file mode 100644 index cf82853a4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_aps.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_aps", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note 1**: Code exact tumor measurements when available. Use codes 990-997 only if a specific measurement is not available.\n\n**Note 2**: The assignment of T categories for gastrointestinal stromal tumors (GIST) is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 992, 995, 996, and 997 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.\n\n**Note 3**: Codes 992-995 were obsolete in CS Version 2, V0201 and V0202. They are made active in V0203. Codes 996-997 are new for V0203. Tumors that now fall into one of these categories would have been coded as 011, 021, 051, 101, or 999 in V0201/V0202.", - "last_modified" : "2015-05-27T16:19:51.182Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm)\n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"\n\nStated as T1 with no other information on size" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"\n\nStated as T2 with no other information on size\n\nNote: \"Stated as T2 with no other information on size\" moved from code 993 to code 995 in V0204" ], [ "996", "Described as \"less than 10 cm,\" or \"greater than 5 cm\" or \"between 5 cm and 10 cm\" \n\nStated as T3 with no other information on tumor size" ], [ "997", "Described as \"greater than 10 cm\" \n\nStated as T4 with no other information on tumor size" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_apt.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apt.json deleted file mode 100644 index d2ed98f70..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_apt.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "size_apt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "last_modified" : "2015-05-27T16:19:51.226Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"greater than 5cm\"" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_apu.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_apu.json deleted file mode 100644 index c21f0baad..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_apu.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "size_apu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size", - "title" : "CS Tumor Size", - "notes" : "**Note**: The assignment of T1 and T2 categories for soft tissue sarcomas is based on tumor size. A physician's statement of the T category may be used to code CS Tumor Size and/or CS Extension if this is the only information in the medical record regarding one or both of these fields. However the two fields are coded independently: for example the record may document size but not extension, other than the physician's statement of the T category. Use codes 995 and 996 as appropriate to code CS Tumor Size based on a statement of T when no other size information is available.", - "last_modified" : "2015-05-27T16:19:51.274Z", - "definition" : [ { - "key" : "size", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-988", "001 - 988 millimeters (mm) \n(Exact size in mms)" ], [ "989", "989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"\n\nStated as T1b or T1 [NOS] with no other information on size" ], [ "996", "Described as \"greater than 5 cm\"\n\nStated as T2b or T2 [NOS] with no other information on size" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_m.json deleted file mode 100644 index a085f7cff..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_m.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjp_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - M", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - M", - "subtitle" : "CS SSF1 010 or 040 with CS Mets at DX and CS Tumor Size", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 010 or 040, separate tumor nodules in same lobe or unknown if in same lobe, the values of T and M for AJCC 6 staging are assigned on the basis of CS Tumor Size and CS Mets at DX as shown in this table. CS Site-Specific Factor 1 codes 010 and 040 map to T4 in AJCC 6 staging. CS Tumor Size code 998 maps to M1.", - "last_modified" : "2015-05-27T16:19:51.320Z", - "definition" : [ { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000-997, 999", "00,15,18,20,24", "VALUE:M0" ], [ "998", "00,15,18,20,24", "VALUE:M1" ], [ "000-997, 999", "10,39", "ERROR:" ], [ "998", "10,39", "ERROR:" ], [ "000-997, 999", "16,17,21,23,25,26,30,32,33,35-38,40-43,50-53,70,75", "VALUE:M1" ], [ "998", "16,17,21,23,25,26,30,32,33,35-38,40-43,50-53,70,75", "VALUE:M1" ], [ "000-997, 999", "99", "VALUE:MX" ], [ "998", "99", "VALUE:M1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_t.json deleted file mode 100644 index 01bfcd967..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjp_t.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjp_t", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - T", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - T", - "subtitle" : "CS SSF1 010 or 040 with CS Mets at DX and CS Tumor Size", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 010 or 040, separate tumor nodules in same lobe or unknown if in same lobe, the values of T and M for AJCC 6 staging are assigned on the basis of CS Tumor Size and CS Mets at DX as shown in this table. CS Site-Specific Factor 1 codes 010 and 040 map to T4 in AJCC 6 staging. CS Tumor Size code 998 maps to M1.", - "last_modified" : "2015-05-27T16:19:51.364Z", - "definition" : [ { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000-997, 999", "00,15,18,20,24", "VALUE:T4" ], [ "998", "00,15,18,20,24", "VALUE:T4" ], [ "000-997, 999", "10,39", "VALUE:T4" ], [ "998", "10,39", "VALUE:T4" ], [ "000-997, 999", "16,17,21,23,25,26,30,32,33,35-38,40-43,50-53,70,75", "VALUE:T4" ], [ "998", "16,17,21,23,25,26,30,32,33,35-38,40-43,50-53,70,75", "VALUE:T4" ], [ "000-997, 999", "99", "VALUE:T4" ], [ "998", "99", "VALUE:T4" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_m.json deleted file mode 100644 index c24a90d0b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_m.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjq_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - M", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - M", - "subtitle" : "CS SSF1 030 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 030, separate tumor nodules in same and different lobes, the values of T and M for AJCC 6 staging are assigned as shown in this table. CS Site-Specific Factor 1 code 030 maps to T4 M1 in AJCC 6 staging for all CS Extension and CS Tumor Size values.", - "last_modified" : "2015-05-27T16:19:51.415Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000,100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,680,700,705,710,720,730,740,745,748,750,760,770,780,785,790,800,810,950,980,999", "000-999", "VALUE:M1" ], [ "250,795", "000-999", "VALUE:M1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_t.json deleted file mode 100644 index e03324769..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjq_t.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjq_t", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - T", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - T", - "subtitle" : "CS SSF1 030 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 030, separate tumor nodules in same and different lobes, the values of T and M for AJCC 6 staging are assigned as shown in this table. CS Site-Specific Factor 1 code 030 maps to T4 M1 in AJCC 6 staging for all CS Extension and CS Tumor Size values.", - "last_modified" : "2015-05-27T16:19:51.463Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000,100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,680,700,705,710,720,730,740,745,748,750,760,770,780,785,790,800,810,950,980,999", "000-999", "VALUE:T4" ], [ "250,795", "000-999", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_m.json deleted file mode 100644 index 7de0a8838..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_m.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjr_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - M", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - M", - "subtitle" : "CS SSF1 020 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 020, separate tumor nodules in ipsilateral lung, different lobe, the values of T and M for AJCC 6 staging are assigned as shown in this table. The T category is determined by the CS Tumor Size and CS Extension codes. CS Site-Specific Factor 1 code 020 maps to M1 in AJCC 6 staging. CS Tumor Size codes 997, diffuse involvement of lobe, and 998, diffuse involvement of the entire lung, both map to T4.", - "last_modified" : "2015-05-27T16:19:51.510Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "VALUE:M1" ], [ "100,115,120,125,230,300", "000", "VALUE:M1" ], [ "110", "000", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "000", "VALUE:M1" ], [ "250", "000", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "000", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "000", "VALUE:M1" ], [ "795", "000", "VALUE:M1" ], [ "800,810", "000", "VALUE:M1" ], [ "950", "000", "VALUE:M1" ], [ "980,999", "000", "VALUE:M1" ], [ "000", "001-030", "VALUE:M1" ], [ "100,115,120,125,230,300", "001-030", "VALUE:M1" ], [ "110", "001-030", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "001-030", "VALUE:M1" ], [ "250", "001-030", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "001-030", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "001-030", "VALUE:M1" ], [ "795", "001-030", "VALUE:M1" ], [ "800,810", "001-030", "VALUE:M1" ], [ "950", "001-030", "VALUE:M1" ], [ "980,999", "001-030", "VALUE:M1" ], [ "000", "031-989", "VALUE:M1" ], [ "100,115,120,125,230,300", "031-989", "VALUE:M1" ], [ "110", "031-989", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "031-989", "VALUE:M1" ], [ "250", "031-989", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "031-989", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "031-989", "VALUE:M1" ], [ "795", "031-989", "VALUE:M1" ], [ "800,810", "031-989", "VALUE:M1" ], [ "950", "031-989", "VALUE:M1" ], [ "980,999", "031-989", "VALUE:M1" ], [ "000", "990-993", "VALUE:M1" ], [ "100,115,120,125,230,300", "990-993", "VALUE:M1" ], [ "110", "990-993", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "990-993", "VALUE:M1" ], [ "250", "990-993", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "990-993", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "990-993", "VALUE:M1" ], [ "795", "990-993", "VALUE:M1" ], [ "800,810", "990-993", "VALUE:M1" ], [ "950", "990-993", "VALUE:M1" ], [ "980,999", "990-993", "VALUE:M1" ], [ "000", "994-995", "VALUE:M1" ], [ "100,115,120,125,230,300", "994-995", "VALUE:M1" ], [ "110", "994-995", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "994-995", "VALUE:M1" ], [ "250", "994-995", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "994-995", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "994-995", "VALUE:M1" ], [ "795", "994-995", "VALUE:M1" ], [ "800,810", "994-995", "VALUE:M1" ], [ "950", "994-995", "VALUE:M1" ], [ "980,999", "994-995", "VALUE:M1" ], [ "000", "996", "VALUE:M1" ], [ "100,115,120,125,230,300", "996", "VALUE:M1" ], [ "110", "996", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "996", "VALUE:M1" ], [ "250", "996", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "996", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "996", "VALUE:M1" ], [ "795", "996", "VALUE:M1" ], [ "800,810", "996", "VALUE:M1" ], [ "950", "996", "VALUE:M1" ], [ "980,999", "996", "VALUE:M1" ], [ "000", "997-998", "VALUE:M1" ], [ "100,115,120,125,230,300", "997-998", "VALUE:M1" ], [ "110", "997-998", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "997-998", "VALUE:M1" ], [ "250", "997-998", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "997-998", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "997-998", "VALUE:M1" ], [ "795", "997-998", "VALUE:M1" ], [ "800,810", "997-998", "VALUE:M1" ], [ "950", "997-998", "VALUE:M1" ], [ "980,999", "997-998", "VALUE:M1" ], [ "000", "999", "VALUE:M1" ], [ "100,115,120,125,230,300", "999", "VALUE:M1" ], [ "110", "999", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "999", "VALUE:M1" ], [ "250", "999", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "999", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "999", "VALUE:M1" ], [ "795", "999", "VALUE:M1" ], [ "800,810", "999", "VALUE:M1" ], [ "950", "999", "VALUE:M1" ], [ "980,999", "999", "VALUE:M1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_t.json deleted file mode 100644 index aab608e95..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjr_t.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjr_t", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - T", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - T", - "subtitle" : "CS SSF1 020 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 020, separate tumor nodules in ipsilateral lung, different lobe, the values of T and M for AJCC 6 staging are assigned as shown in this table. The T category is determined by the CS Tumor Size and CS Extension codes. CS Site-Specific Factor 1 code 020 maps to M1 in AJCC 6 staging. CS Tumor Size codes 997, diffuse involvement of lobe, and 998, diffuse involvement of the entire lung, both map to T4.", - "last_modified" : "2015-05-27T16:19:51.567Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "ERROR:" ], [ "100,115,120,125,230,300", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "000", "ERROR:" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "000", "ERROR:" ], [ "795", "000", "ERROR:" ], [ "800,810", "000", "ERROR:" ], [ "950", "000", "VALUE:T0" ], [ "980,999", "000", "ERROR:" ], [ "000", "001-030", "ERROR:" ], [ "100,115,120,125,230,300", "001-030", "VALUE:T1" ], [ "110", "001-030", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "001-030", "VALUE:T2" ], [ "250", "001-030", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "001-030", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "001-030", "VALUE:T4" ], [ "795", "001-030", "ERROR:" ], [ "800,810", "001-030", "VALUE:T4" ], [ "950", "001-030", "ERROR:" ], [ "980,999", "001-030", "VALUE:TX" ], [ "000", "031-989", "ERROR:" ], [ "100,115,120,125,230,300", "031-989", "VALUE:T2" ], [ "110", "031-989", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "031-989", "VALUE:T2" ], [ "250", "031-989", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "031-989", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "031-989", "VALUE:T4" ], [ "795", "031-989", "ERROR:" ], [ "800,810", "031-989", "VALUE:T4" ], [ "950", "031-989", "ERROR:" ], [ "980,999", "031-989", "VALUE:TX" ], [ "000", "990-993", "ERROR:" ], [ "100,115,120,125,230,300", "990-993", "VALUE:T1" ], [ "110", "990-993", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "990-993", "VALUE:T2" ], [ "250", "990-993", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "990-993", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "990-993", "VALUE:T4" ], [ "795", "990-993", "ERROR:" ], [ "800,810", "990-993", "VALUE:T4" ], [ "950", "990-993", "ERROR:" ], [ "980,999", "990-993", "VALUE:TX" ], [ "000", "994-995", "ERROR:" ], [ "100,115,120,125,230,300", "994-995", "VALUE:T2" ], [ "110", "994-995", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "994-995", "VALUE:T2" ], [ "250", "994-995", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "994-995", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "994-995", "VALUE:T4" ], [ "795", "994-995", "ERROR:" ], [ "800,810", "994-995", "VALUE:T4" ], [ "950", "994-995", "ERROR:" ], [ "980,999", "994-995", "VALUE:TX" ], [ "000", "996", "ERROR:" ], [ "100,115,120,125,230,300", "996", "VALUE:TX" ], [ "110", "996", "VALUE:TX" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "996", "VALUE:TX" ], [ "250", "996", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "996", "VALUE:TX" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "996", "VALUE:TX" ], [ "795", "996", "ERROR:" ], [ "800,810", "996", "VALUE:TX" ], [ "950", "996", "ERROR:" ], [ "980,999", "996", "VALUE:TX" ], [ "000", "997-998", "ERROR:" ], [ "100,115,120,125,230,300", "997-998", "VALUE:T4" ], [ "110", "997-998", "VALUE:T4" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "997-998", "VALUE:T4" ], [ "250", "997-998", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "997-998", "VALUE:T4" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "997-998", "VALUE:T4" ], [ "795", "997-998", "ERROR:" ], [ "800,810", "997-998", "VALUE:T4" ], [ "950", "997-998", "ERROR:" ], [ "980,999", "997-998", "VALUE:T4" ], [ "000", "999", "ERROR:" ], [ "100,115,120,125,230,300", "999", "VALUE:TX" ], [ "110", "999", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "999", "VALUE:T2" ], [ "250", "999", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "999", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "999", "VALUE:T4" ], [ "795", "999", "ERROR:" ], [ "800,810", "999", "VALUE:T4" ], [ "950", "999", "ERROR:" ], [ "980,999", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_m.json deleted file mode 100644 index c6e3c303a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_m.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjs_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - M", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - M", - "subtitle" : "CS SSF1 000, 988, or 999, CS Mets at DX 00 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 000, 988, or 999, no separate tumor nodules in the primary site, unknown if separate nodules, or information not collected, and CS Mets at DX is coded 00, no distant metastases and no pleural foci or pleural effusion or pericardial effusion, the values of the T and M for AJCC 6 staging are assigned as shown in this table. The T category is determined by the CS Tumor Size and CS Extension codes. The CS Site-Specific Factor 1 and CS Mets at DX codes map to M0 in AJCC 6 staging. CS Tumor Size codes 997, diffuse involvement of lobe, and 998, diffuse involvement of the entire lung, both map to T4; code 998 also maps to M1.", - "last_modified" : "2015-05-27T16:19:51.626Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "VALUE:M0" ], [ "100,115,120,125,230,300", "000", "VALUE:M0" ], [ "110", "000", "VALUE:M0" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "000", "VALUE:M0" ], [ "250", "000", "VALUE:M0" ], [ "500,520,530,540,550,560,570,590,600,730", "000", "VALUE:M0" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "000", "VALUE:M0" ], [ "795", "000", "VALUE:M0" ], [ "800,810", "000", "VALUE:M0" ], [ "950", "000", "VALUE:M0" ], [ "980,999", "000", "VALUE:M0" ], [ "000", "001-030", "VALUE:M0" ], [ "100,115,120,125,230,300", "001-030", "VALUE:M0" ], [ "110", "001-030", "VALUE:M0" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "001-030", "VALUE:M0" ], [ "250", "001-030", "VALUE:M0" ], [ "500,520,530,540,550,560,570,590,600,730", "001-030", "VALUE:M0" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "001-030", "VALUE:M0" ], [ "795", "001-030", "VALUE:M0" ], [ "800,810", "001-030", "VALUE:M0" ], [ "950", "001-030", "VALUE:M0" ], [ "980,999", "001-030", "VALUE:M0" ], [ "000", "031-989", "VALUE:M0" ], [ "100,115,120,125,230,300", "031-989", "VALUE:M0" ], [ "110", "031-989", "VALUE:M0" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "031-989", "VALUE:M0" ], [ "250", "031-989", "VALUE:M0" ], [ "500,520,530,540,550,560,570,590,600,730", "031-989", "VALUE:M0" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "031-989", "VALUE:M0" ], [ "795", "031-989", "VALUE:M0" ], [ "800,810", "031-989", "VALUE:M0" ], [ "950", "031-989", "VALUE:M0" ], [ "980,999", "031-989", "VALUE:M0" ], [ "000", "990-993", "VALUE:M0" ], [ "100,115,120,125,230,300", "990-993", "VALUE:M0" ], [ "110", "990-993", "VALUE:M0" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "990-993", "VALUE:M0" ], [ "250", "990-993", "VALUE:M0" ], [ "500,520,530,540,550,560,570,590,600,730", "990-993", "VALUE:M0" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "990-993", "VALUE:M0" ], [ "795", "990-993", "VALUE:M0" ], [ "800,810", "990-993", "VALUE:M0" ], [ "950", "990-993", "VALUE:M0" ], [ "980,999", "990-993", "VALUE:M0" ], [ "000", "994-995", "VALUE:M0" ], [ "100,115,120,125,230,300", "994-995", "VALUE:M0" ], [ "110", "994-995", "VALUE:M0" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "994-995", "VALUE:M0" ], [ "250", "994-995", "VALUE:M0" ], [ "500,520,530,540,550,560,570,590,600,730", "994-995", "VALUE:M0" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "994-995", "VALUE:M0" ], [ "795", "994-995", "VALUE:M0" ], [ "800,810", "994-995", "VALUE:M0" ], [ "950", "994-995", "VALUE:M0" ], [ "980,999", "994-995", "VALUE:M0" ], [ "000", "996", "VALUE:M0" ], [ "100,115,120,125,230,300", "996", "VALUE:M0" ], [ "110", "996", "VALUE:M0" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "996", "VALUE:M0" ], [ "250", "996", "VALUE:M0" ], [ "500,520,530,540,550,560,570,590,600,730", "996", "VALUE:M0" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "996", "VALUE:M0" ], [ "795", "996", "VALUE:M0" ], [ "800,810", "996", "VALUE:M0" ], [ "950", "996", "VALUE:M0" ], [ "980,999", "996", "VALUE:M0" ], [ "000", "997", "VALUE:M0" ], [ "100,115,120,125,230,300", "997", "VALUE:M0" ], [ "110", "997", "VALUE:M0" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "997", "VALUE:M0" ], [ "250", "997", "VALUE:M0" ], [ "500,520,530,540,550,560,570,590,600,730", "997", "VALUE:M0" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "997", "VALUE:M0" ], [ "795", "997", "VALUE:M0" ], [ "800,810", "997", "VALUE:M0" ], [ "950", "997", "VALUE:M0" ], [ "980,999", "997", "VALUE:M0" ], [ "000", "998", "VALUE:M1" ], [ "100,115,120,125,230,300", "998", "VALUE:M1" ], [ "110", "998", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "998", "VALUE:M1" ], [ "250", "998", "VALUE:M0" ], [ "500,520,530,540,550,560,570,590,600,730", "998", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "998", "VALUE:M1" ], [ "795", "998", "VALUE:M0" ], [ "800,810", "998", "VALUE:M1" ], [ "950", "998", "VALUE:M1" ], [ "980,999", "998", "VALUE:M1" ], [ "000", "999", "VALUE:M0" ], [ "100,115,120,125,230,300", "999", "VALUE:M0" ], [ "110", "999", "VALUE:M0" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "999", "VALUE:M0" ], [ "250", "999", "VALUE:M0" ], [ "500,520,530,540,550,560,570,590,600,730", "999", "VALUE:M0" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "999", "VALUE:M0" ], [ "795", "999", "VALUE:M0" ], [ "800,810", "999", "VALUE:M0" ], [ "950", "999", "VALUE:M0" ], [ "980,999", "999", "VALUE:M0" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_t.json deleted file mode 100644 index 9bcfca74f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjs_t.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjs_t", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - T", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - T", - "subtitle" : "CS SSF1 000, 988, or 999, CS Mets at DX 00 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 000, 988, or 999, no separate tumor nodules in the primary site, unknown if separate nodules, or information not collected, and CS Mets at DX is coded 00, no distant metastases and no pleural foci or pleural effusion or pericardial effusion, the values of the T and M for AJCC 6 staging are assigned as shown in this table. The T category is determined by the CS Tumor Size and CS Extension codes. The CS Site-Specific Factor 1 and CS Mets at DX codes map to M0 in AJCC 6 staging. CS Tumor Size codes 997, diffuse involvement of lobe, and 998, diffuse involvement of the entire lung, both map to T4; code 998 also maps to M1.", - "last_modified" : "2015-05-27T16:19:51.684Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "ERROR:" ], [ "100,115,120,125,230,300", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "000", "ERROR:" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "000", "ERROR:" ], [ "795", "000", "ERROR:" ], [ "800,810", "000", "ERROR:" ], [ "950", "000", "VALUE:T0" ], [ "980,999", "000", "ERROR:" ], [ "000", "001-030", "VALUE:Tis" ], [ "100,115,120,125,230,300", "001-030", "VALUE:T1" ], [ "110", "001-030", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "001-030", "VALUE:T2" ], [ "250", "001-030", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "001-030", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "001-030", "VALUE:T4" ], [ "795", "001-030", "ERROR:" ], [ "800,810", "001-030", "VALUE:T4" ], [ "950", "001-030", "ERROR:" ], [ "980,999", "001-030", "VALUE:TX" ], [ "000", "031-989", "VALUE:Tis" ], [ "100,115,120,125,230,300", "031-989", "VALUE:T2" ], [ "110", "031-989", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "031-989", "VALUE:T2" ], [ "250", "031-989", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "031-989", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "031-989", "VALUE:T4" ], [ "795", "031-989", "ERROR:" ], [ "800,810", "031-989", "VALUE:T4" ], [ "950", "031-989", "ERROR:" ], [ "980,999", "031-989", "VALUE:TX" ], [ "000", "990-993", "VALUE:Tis" ], [ "100,115,120,125,230,300", "990-993", "VALUE:T1" ], [ "110", "990-993", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "990-993", "VALUE:T2" ], [ "250", "990-993", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "990-993", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "990-993", "VALUE:T4" ], [ "795", "990-993", "ERROR:" ], [ "800,810", "990-993", "VALUE:T4" ], [ "950", "990-993", "ERROR:" ], [ "980,999", "990-993", "VALUE:TX" ], [ "000", "994-995", "VALUE:Tis" ], [ "100,115,120,125,230,300", "994-995", "VALUE:T2" ], [ "110", "994-995", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "994-995", "VALUE:T2" ], [ "250", "994-995", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "994-995", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "994-995", "VALUE:T4" ], [ "795", "994-995", "ERROR:" ], [ "800,810", "994-995", "VALUE:T4" ], [ "950", "994-995", "ERROR:" ], [ "980,999", "994-995", "VALUE:TX" ], [ "000", "996", "VALUE:TX" ], [ "100,115,120,125,230,300", "996", "VALUE:TX" ], [ "110", "996", "VALUE:TX" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "996", "VALUE:TX" ], [ "250", "996", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "996", "VALUE:TX" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "996", "VALUE:TX" ], [ "795", "996", "ERROR:" ], [ "800,810", "996", "VALUE:TX" ], [ "950", "996", "ERROR:" ], [ "980,999", "996", "VALUE:TX" ], [ "000", "997", "ERROR:" ], [ "100,115,120,125,230,300", "997", "VALUE:T4" ], [ "110", "997", "VALUE:T4" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "997", "VALUE:T4" ], [ "250", "997", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "997", "VALUE:T4" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "997", "VALUE:T4" ], [ "795", "997", "ERROR:" ], [ "800,810", "997", "VALUE:T4" ], [ "950", "997", "ERROR:" ], [ "980,999", "997", "VALUE:T4" ], [ "000", "998", "ERROR:" ], [ "100,115,120,125,230,300", "998", "VALUE:T4" ], [ "110", "998", "VALUE:T4" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "998", "VALUE:T4" ], [ "250", "998", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "998", "VALUE:T4" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "998", "VALUE:T4" ], [ "795", "998", "ERROR:" ], [ "800,810", "998", "VALUE:T4" ], [ "950", "998", "ERROR:" ], [ "980,999", "998", "VALUE:T4" ], [ "000", "999", "VALUE:Tis" ], [ "100,115,120,125,230,300", "999", "VALUE:TX" ], [ "110", "999", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "999", "VALUE:T2" ], [ "250", "999", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "999", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "999", "VALUE:T4" ], [ "795", "999", "ERROR:" ], [ "800,810", "999", "VALUE:T4" ], [ "950", "999", "ERROR:" ], [ "980,999", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_m.json deleted file mode 100644 index 087aee9dc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_m.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjt_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - M", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - M", - "subtitle" : "CS SSF1 000, 988, or 999, CS Mets at DX 15,18,20,24 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 000, 988, or 999, no separate tumor nodules in the primary site, unknown if separate nodules, or information not collected, and CS Mets at DX is coded 15, 18, 20, or 24, pleural effusion or pleural foci on one side or pericardial effusion, the values of T and M for AJCC 6 staging are assigned as shown in this table. The CS Mets at DX codes map to T4. The CS Site-Specific Factor 1 and CS Mets at DX codes map to M0. CS Tumor Size code 998, diffuse involvement of the entire lung, maps to M1.", - "last_modified" : "2015-05-27T16:19:51.753Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "VALUE:M0" ], [ "100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,680,700,705,710,720,730,740,745,748,750,760,770,780,785,790,800,810,980,999", "000", "VALUE:M0" ], [ "250, 795", "000", "VALUE:M0" ], [ "950", "000", "VALUE:M0" ], [ "000", "001-997", "VALUE:M0" ], [ "100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,680,700,705,710,720,730,740,745,748,750,760,770,780,785,790,800,810,980,999", "001-997", "VALUE:M0" ], [ "250, 795", "001-997", "VALUE:M0" ], [ "950", "001-997", "VALUE:M0" ], [ "000", "998", "VALUE:M1" ], [ "100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,680,700,705,710,720,730,740,745,748,750,760,770,780,785,790,800,810,980,999", "998", "VALUE:M1" ], [ "250, 795", "998", "VALUE:M1" ], [ "950", "998", "VALUE:M1" ], [ "000", "999", "VALUE:M0" ], [ "100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,680,700,705,710,720,730,740,745,748,750,760,770,780,785,790,800,810,980,999", "999", "VALUE:M0" ], [ "250, 795", "999", "VALUE:M0" ], [ "950", "999", "VALUE:M0" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_t.json deleted file mode 100644 index 876540309..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjt_t.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjt_t", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - T", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - T", - "subtitle" : "CS SSF1 000, 988, or 999, CS Mets at DX 15,18,20,24 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 000, 988, or 999, no separate tumor nodules in the primary site, unknown if separate nodules, or information not collected, and CS Mets at DX is coded 15, 18, 20, or 24, pleural effusion or pleural foci on one side or pericardial effusion, the values of T and M for AJCC 6 staging are assigned as shown in this table. The CS Mets at DX codes map to T4. The CS Site-Specific Factor 1 and CS Mets at DX codes map to M0. CS Tumor Size code 998, diffuse involvement of the entire lung, maps to M1.", - "last_modified" : "2015-05-27T16:19:51.805Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,680,700,705,710,720,730,740,745,748,750,760,770,780,785,790,800,810,980,999", "000", "ERROR:" ], [ "250, 795", "000", "ERROR:" ], [ "950", "000", "VALUE:T4" ], [ "000", "001-997", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,680,700,705,710,720,730,740,745,748,750,760,770,780,785,790,800,810,980,999", "001-997", "VALUE:T4" ], [ "250, 795", "001-997", "ERROR:" ], [ "950", "001-997", "ERROR:" ], [ "000", "998", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,680,700,705,710,720,730,740,745,748,750,760,770,780,785,790,800,810,980,999", "998", "VALUE:T4" ], [ "250, 795", "998", "ERROR:" ], [ "950", "998", "ERROR:" ], [ "000", "999", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,680,700,705,710,720,730,740,745,748,750,760,770,780,785,790,800,810,980,999", "999", "VALUE:T4" ], [ "250, 795", "999", "ERROR:" ], [ "950", "999", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_m.json deleted file mode 100644 index 20020a874..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_m.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xju_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - M", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - M", - "subtitle" : "CS SSF1 000, 988, or 999, CS Mets at DX 17,21,25,32,33,42,43,52,53 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 000, 988, or 999, no separate tumor nodules in the primary site, unknown if separate nodules, or information not collected, and CS Mets at DX is coded 17, 21, 25, 32, 33, 42, 43, 52, or 53, metastatic involvement with pleural foci or pleural effusion involving the ipsilateral lung plus other distant involvement, the values of the T and M for AJCC 6 staging are assigned as shown in this table. The CS Mets at DX codes map to both T4 and M1.", - "last_modified" : "2015-05-27T16:19:51.852Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "VALUE:M1" ], [ "100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,680,700,705,710,720,730,740,745,748,750,760,770,780,785,790,800,810,980,999", "000", "VALUE:M1" ], [ "250, 795", "000", "VALUE:M1" ], [ "950", "000", "VALUE:M1" ], [ "000", "001-999", "VALUE:M1" ], [ "100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,680,700,705,710,720,730,740,745,748,750,760,770,780,785,790,800,810,980,999", "001-999", "VALUE:M1" ], [ "250, 795", "001-999", "VALUE:M1" ], [ "950", "001-999", "VALUE:M1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_t.json deleted file mode 100644 index bf2311aba..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xju_t.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xju_t", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - T", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - T", - "subtitle" : "CS SSF1 000, 988, or 999, CS Mets at DX 17,21,25,32,33,42,43,52,53 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 000, 988, or 999, no separate tumor nodules in the primary site, unknown if separate nodules, or information not collected, and CS Mets at DX is coded 17, 21, 25, 32, 33, 42, 43, 52, or 53, metastatic involvement with pleural foci or pleural effusion involving the ipsilateral lung plus other distant involvement, the values of the T and M for AJCC 6 staging are assigned as shown in this table. The CS Mets at DX codes map to both T4 and M1.", - "last_modified" : "2015-05-27T16:19:51.899Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,680,700,705,710,720,730,740,745,748,750,760,770,780,785,790,800,810,980,999", "000", "ERROR:" ], [ "250, 795", "000", "ERROR:" ], [ "950", "000", "VALUE:T0" ], [ "000", "001-999", "ERROR:" ], [ "100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,450,455,460,465,500,520,530,540,550,560,570,590,600,610,650,680,700,705,710,720,730,740,745,748,750,760,770,780,785,790,800,810,980,999", "001-999", "VALUE:T4" ], [ "250, 795", "001-999", "ERROR:" ], [ "950", "001-999", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_m.json deleted file mode 100644 index c4a83eaea..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_m.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjv_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - M", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - M", - "subtitle" : "CS SSF1 000, 988, or 999, CS Mets at DX 16, 23, 26, 30, 35, 36, 37, 38, 40, 41, 50, 51, 70, 75 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 000 or 999, no separate tumor nodules in the primary site, unknown if separate nodules, or information not collected, and CS Mets at DX is coded 16, 23, 26, 30, 35, 36, 37, 38, 40, 50, 51, 70, 75, metastatic involvement without pleural foci or pleural effusion involving the ipsilateral lung, the values of the T and M for AJCC 6 staging are assigned as shown in this table. The T category is determined by the CS Tumor Size and CS Extension codes. The CS Mets at DX codes map to M1.", - "last_modified" : "2015-05-27T16:19:51.946Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "VALUE:M1" ], [ "100,115,120,125,230,300", "000", "VALUE:M1" ], [ "110", "000", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "000", "VALUE:M1" ], [ "250", "000", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "000", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "000", "VALUE:M1" ], [ "795", "000", "VALUE:M1" ], [ "800,810", "000", "VALUE:M1" ], [ "950", "000", "VALUE:M1" ], [ "980,999", "000", "VALUE:M1" ], [ "000", "001-030", "VALUE:M1" ], [ "100,115,120,125,230,300", "001-030", "VALUE:M1" ], [ "110", "001-030", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "001-030", "VALUE:M1" ], [ "250", "001-030", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "001-030", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "001-030", "VALUE:M1" ], [ "795", "001-030", "VALUE:M1" ], [ "800,810", "001-030", "VALUE:M1" ], [ "950", "001-030", "VALUE:M1" ], [ "980,999", "001-030", "VALUE:M1" ], [ "000", "031-989", "VALUE:M1" ], [ "100,115,120,125,230,300", "031-989", "VALUE:M1" ], [ "110", "031-989", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "031-989", "VALUE:M1" ], [ "250", "031-989", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "031-989", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "031-989", "VALUE:M1" ], [ "795", "031-989", "VALUE:M1" ], [ "800,810", "031-989", "VALUE:M1" ], [ "950", "031-989", "VALUE:M1" ], [ "980,999", "031-989", "VALUE:M1" ], [ "000", "990-993", "VALUE:M1" ], [ "100,115,120,125,230,300", "990-993", "VALUE:M1" ], [ "110", "990-993", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "990-993", "VALUE:M1" ], [ "250", "990-993", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "990-993", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "990-993", "VALUE:M1" ], [ "795", "990-993", "VALUE:M1" ], [ "800,810", "990-993", "VALUE:M1" ], [ "950", "990-993", "VALUE:M1" ], [ "980,999", "990-993", "VALUE:M1" ], [ "000", "994-995", "VALUE:M1" ], [ "100,115,120,125,230,300", "994-995", "VALUE:M1" ], [ "110", "994-995", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "994-995", "VALUE:M1" ], [ "250", "994-995", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "994-995", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "994-995", "VALUE:M1" ], [ "795", "994-995", "VALUE:M1" ], [ "800,810", "994-995", "VALUE:M1" ], [ "950", "994-995", "VALUE:M1" ], [ "980,999", "994-995", "VALUE:M1" ], [ "000", "996", "VALUE:M1" ], [ "100,115,120,125,230,300", "996", "VALUE:M1" ], [ "110", "996", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "996", "VALUE:M1" ], [ "250", "996", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "996", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "996", "VALUE:M1" ], [ "795", "996", "VALUE:M1" ], [ "800,810", "996", "VALUE:M1" ], [ "950", "996", "VALUE:M1" ], [ "980,999", "996", "VALUE:M1" ], [ "000", "997-998", "VALUE:M1" ], [ "100,115,120,125,230,300", "997-998", "VALUE:M1" ], [ "110", "997-998", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "997-998", "VALUE:M1" ], [ "250", "997-998", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "997-998", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "997-998", "VALUE:M1" ], [ "795", "997-998", "VALUE:M1" ], [ "800,810", "997-998", "VALUE:M1" ], [ "950", "997-998", "VALUE:M1" ], [ "980,999", "997-998", "VALUE:M1" ], [ "000", "999", "VALUE:M1" ], [ "100,115,120,125,230,300", "999", "VALUE:M1" ], [ "110", "999", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "999", "VALUE:M1" ], [ "250", "999", "VALUE:M1" ], [ "500,520,530,540,550,560,570,590,600,730", "999", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "999", "VALUE:M1" ], [ "795", "999", "VALUE:M1" ], [ "800,810", "999", "VALUE:M1" ], [ "950", "999", "VALUE:M1" ], [ "980,999", "999", "VALUE:M1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_t.json deleted file mode 100644 index 72024efc2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjv_t.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjv_t", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - T", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - T", - "subtitle" : "CS SSF1 000, 988, or 999, CS Mets at DX 16, 23, 26, 30, 35, 36, 37, 38, 40, 41, 50, 51, 70, 75 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 000 or 999, no separate tumor nodules in the primary site, unknown if separate nodules, or information not collected, and CS Mets at DX is coded 16, 23, 26, 30, 35, 36, 37, 38, 40, 50, 51, 70, 75, metastatic involvement without pleural foci or pleural effusion involving the ipsilateral lung, the values of the T and M for AJCC 6 staging are assigned as shown in this table. The T category is determined by the CS Tumor Size and CS Extension codes. The CS Mets at DX codes map to M1.", - "last_modified" : "2015-05-27T16:19:52.014Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "ERROR:" ], [ "100,115,120,125,230,300", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "000", "ERROR:" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "000", "ERROR:" ], [ "795", "000", "ERROR:" ], [ "800,810", "000", "ERROR:" ], [ "950", "000", "VALUE:T0" ], [ "980,999", "000", "ERROR:" ], [ "000", "001-030", "ERROR:" ], [ "100,115,120,125,230,300", "001-030", "VALUE:T1" ], [ "110", "001-030", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "001-030", "VALUE:T2" ], [ "250", "001-030", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "001-030", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "001-030", "VALUE:T4" ], [ "795", "001-030", "ERROR:" ], [ "800,810", "001-030", "VALUE:T4" ], [ "950", "001-030", "ERROR:" ], [ "980,999", "001-030", "VALUE:TX" ], [ "000", "031-989", "ERROR:" ], [ "100,115,120,125,230,300", "031-989", "VALUE:T2" ], [ "110", "031-989", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "031-989", "VALUE:T2" ], [ "250", "031-989", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "031-989", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "031-989", "VALUE:T4" ], [ "795", "031-989", "ERROR:" ], [ "800,810", "031-989", "VALUE:T4" ], [ "950", "031-989", "ERROR:" ], [ "980,999", "031-989", "VALUE:TX" ], [ "000", "990-993", "ERROR:" ], [ "100,115,120,125,230,300", "990-993", "VALUE:T1" ], [ "110", "990-993", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "990-993", "VALUE:T2" ], [ "250", "990-993", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "990-993", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "990-993", "VALUE:T4" ], [ "795", "990-993", "ERROR:" ], [ "800,810", "990-993", "VALUE:T4" ], [ "950", "990-993", "ERROR:" ], [ "980,999", "990-993", "VALUE:TX" ], [ "000", "994-995", "ERROR:" ], [ "100,115,120,125,230,300", "994-995", "VALUE:T2" ], [ "110", "994-995", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "994-995", "VALUE:T2" ], [ "250", "994-995", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "994-995", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "994-995", "VALUE:T4" ], [ "795", "994-995", "ERROR:" ], [ "800,810", "994-995", "VALUE:T4" ], [ "950", "994-995", "ERROR:" ], [ "980,999", "994-995", "VALUE:TX" ], [ "000", "996", "ERROR:" ], [ "100,115,120,125,230,300", "996", "VALUE:TX" ], [ "110", "996", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "996", "VALUE:TX" ], [ "250", "996", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "996", "VALUE:TX" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "996", "VALUE:TX" ], [ "795", "996", "ERROR:" ], [ "800,810", "996", "VALUE:TX" ], [ "950", "996", "ERROR:" ], [ "980,999", "996", "VALUE:TX" ], [ "000", "997-998", "ERROR:" ], [ "100,115,120,125,230,300", "997-998", "VALUE:T4" ], [ "110", "997-998", "VALUE:T4" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "997-998", "VALUE:T4" ], [ "250", "997-998", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "997-998", "VALUE:T4" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "997-998", "VALUE:T4" ], [ "795", "997-998", "ERROR:" ], [ "800,810", "997-998", "VALUE:T4" ], [ "950", "997-998", "ERROR:" ], [ "980,999", "997-998", "VALUE:T4" ], [ "000", "999", "ERROR:" ], [ "100,115,120,125,230,300", "999", "VALUE:TX" ], [ "110", "999", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "999", "VALUE:T2" ], [ "250", "999", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "999", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "999", "VALUE:T4" ], [ "795", "999", "ERROR:" ], [ "800,810", "999", "VALUE:T4" ], [ "950", "999", "ERROR:" ], [ "980,999", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_m.json deleted file mode 100644 index 9d76ed96c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_m.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjw_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - M", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - M", - "subtitle" : "CS SSF1 000, 988, or 999, CS Mets at DX 99 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 000, 988, or 999, no separate tumor nodules in the primary site, unknown if separate nodules, or information not collected, and CS Mets at DX is coded 99, unknown if pleural or pericardial effusion of pleural tumor foci and unknown if other metastatic disease, the values of T and M for AJCC 6 staging are assigned as shown in this table. The T category is determined by the CS Tumor Size and CS Extension codes. CS Tumor Size codes 997, diffuse involvement of lobe, and 998, diffuse involvement of the entire lung, both map to T4; code 998 also maps to M1. The CS Mets at DX code of 99 otherwise maps to MX.", - "last_modified" : "2015-05-27T16:19:52.077Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "VALUE:MX" ], [ "100,115,120,125,230,300", "000", "VALUE:MX" ], [ "110", "000", "VALUE:MX" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "000", "VALUE:MX" ], [ "250", "000", "VALUE:MX" ], [ "500,520,530,540,550,560,570,590,600,730", "000", "VALUE:MX" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "000", "VALUE:MX" ], [ "795", "000", "VALUE:MX" ], [ "800,810", "000", "VALUE:MX" ], [ "950", "000", "VALUE:MX" ], [ "980,999", "000", "VALUE:MX" ], [ "000", "001-030", "VALUE:MX" ], [ "100,115,120,125,230,300", "001-030", "VALUE:MX" ], [ "110", "001-030", "VALUE:MX" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "001-030", "VALUE:MX" ], [ "250", "001-030", "VALUE:MX" ], [ "500,520,530,540,550,560,570,590,600,730", "001-030", "VALUE:MX" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "001-030", "VALUE:MX" ], [ "795", "001-030", "VALUE:MX" ], [ "800,810", "001-030", "VALUE:MX" ], [ "950", "001-030", "VALUE:MX" ], [ "980,999", "001-030", "VALUE:MX" ], [ "000", "031-989", "VALUE:MX" ], [ "100,115,120,125,230,300", "031-989", "VALUE:MX" ], [ "110", "031-989", "VALUE:MX" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "031-989", "VALUE:MX" ], [ "250", "031-989", "VALUE:MX" ], [ "500,520,530,540,550,560,570,590,600,730", "031-989", "VALUE:MX" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "031-989", "VALUE:MX" ], [ "795", "031-989", "VALUE:MX" ], [ "800,810", "031-989", "VALUE:MX" ], [ "950", "031-989", "VALUE:MX" ], [ "980,999", "031-989", "VALUE:MX" ], [ "000", "990-993", "VALUE:MX" ], [ "100,115,120,125,230,300", "990-993", "VALUE:MX" ], [ "110", "990-993", "VALUE:MX" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "990-993", "VALUE:MX" ], [ "250", "990-993", "VALUE:MX" ], [ "500,520,530,540,550,560,570,590,600,730", "990-993", "VALUE:MX" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "990-993", "VALUE:MX" ], [ "795", "990-993", "VALUE:MX" ], [ "800,810", "990-993", "VALUE:MX" ], [ "950", "990-993", "VALUE:MX" ], [ "980,999", "990-993", "VALUE:MX" ], [ "000", "994-995", "VALUE:MX" ], [ "100,115,120,125,230,300", "994-995", "VALUE:MX" ], [ "110", "994-995", "VALUE:MX" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "994-995", "VALUE:MX" ], [ "250", "994-995", "VALUE:MX" ], [ "500,520,530,540,550,560,570,590,600,730", "994-995", "VALUE:MX" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "994-995", "VALUE:MX" ], [ "795", "994-995", "VALUE:MX" ], [ "800,810", "994-995", "VALUE:MX" ], [ "950", "994-995", "VALUE:MX" ], [ "980,999", "994-995", "VALUE:MX" ], [ "000", "996", "VALUE:MX" ], [ "100,115,120,125,230,300", "996", "VALUE:MX" ], [ "110", "996", "VALUE:MX" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "996", "VALUE:MX" ], [ "250", "996", "VALUE:MX" ], [ "500,520,530,540,550,560,570,590,600,730", "996", "VALUE:MX" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "996", "VALUE:MX" ], [ "795", "996", "VALUE:MX" ], [ "800,810", "996", "VALUE:MX" ], [ "950", "996", "VALUE:MX" ], [ "980,999", "996", "VALUE:MX" ], [ "000", "997", "VALUE:MX" ], [ "100,115,120,125,230,300", "997", "VALUE:MX" ], [ "110", "997", "VALUE:MX" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "997", "VALUE:MX" ], [ "250", "997", "VALUE:MX" ], [ "500,520,530,540,550,560,570,590,600,730", "997", "VALUE:MX" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "997", "VALUE:MX" ], [ "795", "997", "VALUE:MX" ], [ "800,810", "997", "VALUE:MX" ], [ "950", "997", "VALUE:MX" ], [ "980,999", "997", "VALUE:MX" ], [ "000", "998", "VALUE:M1" ], [ "100,115,120,125,230,300", "998", "VALUE:M1" ], [ "110", "998", "VALUE:M1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "998", "VALUE:M1" ], [ "250", "998", "VALUE:MX" ], [ "500,520,530,540,550,560,570,590,600,730", "998", "VALUE:M1" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "998", "VALUE:M1" ], [ "795", "998", "VALUE:MX" ], [ "800,810", "998", "VALUE:M1" ], [ "950", "998", "VALUE:M1" ], [ "980,999", "998", "VALUE:M1" ], [ "000", "999", "VALUE:MX" ], [ "100,115,120,125,230,300", "999", "VALUE:MX" ], [ "110", "999", "VALUE:MX" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "999", "VALUE:MX" ], [ "250", "999", "VALUE:MX" ], [ "500,520,530,540,550,560,570,590,600,730", "999", "VALUE:MX" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "999", "VALUE:MX" ], [ "795", "999", "VALUE:MX" ], [ "800,810", "999", "VALUE:MX" ], [ "950", "999", "VALUE:MX" ], [ "980,999", "999", "VALUE:MX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_t.json deleted file mode 100644 index 8757c6552..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjw_t.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjw_t", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - T", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - T", - "subtitle" : "CS SSF1 000, 988, or 999, CS Mets at DX 99 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 000, 988, or 999, no separate tumor nodules in the primary site, unknown if separate nodules, or information not collected, and CS Mets at DX is coded 99, unknown if pleural or pericardial effusion of pleural tumor foci and unknown if other metastatic disease, the values of T and M for AJCC 6 staging are assigned as shown in this table. The T category is determined by the CS Tumor Size and CS Extension codes. CS Tumor Size codes 997, diffuse involvement of lobe, and 998, diffuse involvement of the entire lung, both map to T4; code 998 also maps to M1. The CS Mets at DX code of 99 otherwise maps to MX.", - "last_modified" : "2015-05-27T16:19:52.141Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "ERROR:" ], [ "100,115,120,125,230,300", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "000", "ERROR:" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "000", "ERROR:" ], [ "795", "000", "ERROR:" ], [ "800,810", "000", "ERROR:" ], [ "950", "000", "VALUE:T0" ], [ "980,999", "000", "ERROR:" ], [ "000", "001-030", "VALUE:Tis" ], [ "100,115,120,125,230,300", "001-030", "VALUE:T1" ], [ "110", "001-030", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "001-030", "VALUE:T2" ], [ "250", "001-030", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "001-030", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "001-030", "VALUE:T4" ], [ "795", "001-030", "ERROR:" ], [ "800,810", "001-030", "VALUE:T4" ], [ "950", "001-030", "ERROR:" ], [ "980,999", "001-030", "VALUE:TX" ], [ "000", "031-989", "VALUE:Tis" ], [ "100,115,120,125,230,300", "031-989", "VALUE:T2" ], [ "110", "031-989", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "031-989", "VALUE:T2" ], [ "250", "031-989", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "031-989", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "031-989", "VALUE:T4" ], [ "795", "031-989", "ERROR:" ], [ "800,810", "031-989", "VALUE:T4" ], [ "950", "031-989", "ERROR:" ], [ "980,999", "031-989", "VALUE:TX" ], [ "000", "990-993", "VALUE:Tis" ], [ "100,115,120,125,230,300", "990-993", "VALUE:T1" ], [ "110", "990-993", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "990-993", "VALUE:T2" ], [ "250", "990-993", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "990-993", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "990-993", "VALUE:T4" ], [ "795", "990-993", "ERROR:" ], [ "800,810", "990-993", "VALUE:T4" ], [ "950", "990-993", "ERROR:" ], [ "980,999", "990-993", "VALUE:TX" ], [ "000", "994-995", "VALUE:Tis" ], [ "100,115,120,125,230,300", "994-995", "VALUE:T2" ], [ "110", "994-995", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "994-995", "VALUE:T2" ], [ "250", "994-995", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "994-995", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "994-995", "VALUE:T4" ], [ "795", "994-995", "ERROR:" ], [ "800,810", "994-995", "VALUE:T4" ], [ "950", "994-995", "ERROR:" ], [ "980,999", "994-995", "VALUE:TX" ], [ "000", "996", "VALUE:TX" ], [ "100,115,120,125,230,300", "996", "VALUE:TX" ], [ "110", "996", "VALUE:TX" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "996", "VALUE:TX" ], [ "250", "996", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "996", "VALUE:TX" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "996", "VALUE:TX" ], [ "795", "996", "ERROR:" ], [ "800,810", "996", "VALUE:TX" ], [ "950", "996", "ERROR:" ], [ "980,999", "996", "VALUE:TX" ], [ "000", "997", "ERROR:" ], [ "100,115,120,125,230,300", "997", "VALUE:T4" ], [ "110", "997", "VALUE:T4" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "997", "VALUE:T4" ], [ "250", "997", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "997", "VALUE:T4" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "997", "VALUE:T4" ], [ "795", "997", "ERROR:" ], [ "800,810", "997", "VALUE:T4" ], [ "950", "997", "ERROR:" ], [ "980,999", "997", "VALUE:T4" ], [ "000", "998", "ERROR:" ], [ "100,115,120,125,230,300", "998", "VALUE:T4" ], [ "110", "998", "VALUE:T4" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "998", "VALUE:T4" ], [ "250", "998", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "998", "VALUE:T4" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "998", "VALUE:T4" ], [ "795", "998", "ERROR:" ], [ "800,810", "998", "VALUE:T4" ], [ "950", "998", "ERROR:" ], [ "980,999", "998", "VALUE:T4" ], [ "000", "999", "VALUE:Tis" ], [ "100,115,120,125,230,300", "999", "VALUE:TX" ], [ "110", "999", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "999", "VALUE:T2" ], [ "250", "999", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "999", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "999", "VALUE:T4" ], [ "795", "999", "ERROR:" ], [ "800,810", "999", "VALUE:T4" ], [ "950", "999", "ERROR:" ], [ "980,999", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_m.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_m.json deleted file mode 100644 index 3e7a2fcdc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_m.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjx_m", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - M", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - M", - "subtitle" : "CS SSF1 000, 988, or 999, Mets at DX 10, 39 with Tumor Size and Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 000, 988, or 999, no separate tumor nodules in the primary site, unknown if separate nodules, or information not collected, and CS Mets at DX is code 10 or 39, OBSOLETE DATA CONVERTED codes in CSv2, the values of T and M for AJCC 6 staging are determined as shown in this table.", - "last_modified" : "2015-05-27T16:19:52.196Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_m", - "name" : "AJCC 6 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "ERROR:" ], [ "100,115,120,125,230,300", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "000", "ERROR:" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "000", "ERROR:" ], [ "795", "000", "ERROR:" ], [ "800,810", "000", "ERROR:" ], [ "950", "000", "ERROR:" ], [ "980,999", "000", "ERROR:" ], [ "000", "001-030", "ERROR:" ], [ "100,115,120,125,230,300", "001-030", "ERROR:" ], [ "110", "001-030", "ERROR:" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "001-030", "ERROR:" ], [ "250", "001-030", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "001-030", "ERROR:" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "001-030", "ERROR:" ], [ "795", "001-030", "ERROR:" ], [ "800,810", "001-030", "ERROR:" ], [ "950", "001-030", "ERROR:" ], [ "980,999", "001-030", "ERROR:" ], [ "000", "031-989", "ERROR:" ], [ "100,115,120,125,230,300", "031-989", "ERROR:" ], [ "110", "031-989", "ERROR:" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "031-989", "ERROR:" ], [ "250", "031-989", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "031-989", "ERROR:" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "031-989", "ERROR:" ], [ "795", "031-989", "ERROR:" ], [ "800,810", "031-989", "ERROR:" ], [ "950", "031-989", "ERROR:" ], [ "980,999", "031-989", "ERROR:" ], [ "000", "990-993", "ERROR:" ], [ "100,115,120,125,230,300", "990-993", "ERROR:" ], [ "110", "990-993", "ERROR:" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "990-993", "ERROR:" ], [ "250", "990-993", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "990-993", "ERROR:" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "990-993", "ERROR:" ], [ "795", "990-993", "ERROR:" ], [ "800,810", "990-993", "ERROR:" ], [ "950", "990-993", "ERROR:" ], [ "980,999", "990-993", "ERROR:" ], [ "000", "994-995", "ERROR:" ], [ "100,115,120,125,230,300", "994-995", "ERROR:" ], [ "110", "994-995", "ERROR:" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "994-995", "ERROR:" ], [ "250", "994-995", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "994-995", "ERROR:" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "994-995", "ERROR:" ], [ "795", "994-995", "ERROR:" ], [ "800,810", "994-995", "ERROR:" ], [ "950", "994-995", "ERROR:" ], [ "980,999", "994-995", "ERROR:" ], [ "000", "996", "ERROR:" ], [ "100,115,120,125,230,300", "996", "ERROR:" ], [ "110", "996", "ERROR:" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "996", "ERROR:" ], [ "250", "996", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "996", "ERROR:" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "996", "ERROR:" ], [ "795", "996", "ERROR:" ], [ "800,810", "996", "ERROR:" ], [ "950", "996", "ERROR:" ], [ "980,999", "996", "ERROR:" ], [ "000", "997-998", "ERROR:" ], [ "100,115,120,125,230,300", "997-998", "ERROR:" ], [ "110", "997-998", "ERROR:" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "997-998", "ERROR:" ], [ "250", "997-998", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "997-998", "ERROR:" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "997-998", "ERROR:" ], [ "795", "997-998", "ERROR:" ], [ "800,810", "997-998", "ERROR:" ], [ "950", "997-998", "ERROR:" ], [ "980,999", "997-998", "ERROR:" ], [ "000", "999", "ERROR:" ], [ "100,115,120,125,230,300", "999", "ERROR:" ], [ "110", "999", "ERROR:" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "999", "ERROR:" ], [ "250", "999", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "999", "ERROR:" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "999", "ERROR:" ], [ "795", "999", "ERROR:" ], [ "800,810", "999", "ERROR:" ], [ "950", "999", "ERROR:" ], [ "980,999", "999", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_t.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_t.json deleted file mode 100644 index e44a467e8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_mets_ssf1_ajcc6_xjx_t.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_mets_ssf1_ajcc6_xjx_t", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension Mets SSF1 AJCC6 - T", - "title" : "Size Extension Mets SSF1 AJCC 6 Table - T", - "subtitle" : "CS SSF1 000, 988, or 999, Mets at DX 10, 39 with Tumor Size and Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 000, 988, or 999, no separate tumor nodules in the primary site, unknown if separate nodules, or information not collected, and CS Mets at DX is code 10 or 39, OBSOLETE DATA CONVERTED codes in CSv2, the values of T and M for AJCC 6 staging are determined as shown in this table.", - "last_modified" : "2015-05-27T16:19:52.257Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "ERROR:" ], [ "100,115,120,125,230,300", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "000", "ERROR:" ], [ "250", "000", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "000", "ERROR:" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "000", "ERROR:" ], [ "795", "000", "ERROR:" ], [ "800,810", "000", "ERROR:" ], [ "950", "000", "VALUE:T0" ], [ "980,999", "000", "ERROR:" ], [ "000", "001-030", "ERROR:" ], [ "100,115,120,125,230,300", "001-030", "VALUE:T1" ], [ "110", "001-030", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "001-030", "VALUE:T2" ], [ "250", "001-030", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "001-030", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "001-030", "VALUE:T4" ], [ "795", "001-030", "ERROR:" ], [ "800,810", "001-030", "VALUE:T4" ], [ "950", "001-030", "ERROR:" ], [ "980,999", "001-030", "VALUE:TX" ], [ "000", "031-989", "ERROR:" ], [ "100,115,120,125,230,300", "031-989", "VALUE:T2" ], [ "110", "031-989", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "031-989", "VALUE:T2" ], [ "250", "031-989", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "031-989", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "031-989", "VALUE:T4" ], [ "795", "031-989", "ERROR:" ], [ "800,810", "031-989", "VALUE:T4" ], [ "950", "031-989", "ERROR:" ], [ "980,999", "031-989", "VALUE:TX" ], [ "000", "990-993", "ERROR:" ], [ "100,115,120,125,230,300", "990-993", "VALUE:T1" ], [ "110", "990-993", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "990-993", "VALUE:T2" ], [ "250", "990-993", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "990-993", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "990-993", "VALUE:T4" ], [ "795", "990-993", "ERROR:" ], [ "800,810", "990-993", "VALUE:T4" ], [ "950", "990-993", "ERROR:" ], [ "980,999", "990-993", "VALUE:TX" ], [ "000", "994-995", "ERROR:" ], [ "100,115,120,125,230,300", "994-995", "VALUE:T2" ], [ "110", "994-995", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "994-995", "VALUE:T2" ], [ "250", "994-995", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "994-995", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "994-995", "VALUE:T4" ], [ "795", "994-995", "ERROR:" ], [ "800,810", "994-995", "VALUE:T4" ], [ "950", "994-995", "ERROR:" ], [ "980,999", "994-995", "VALUE:TX" ], [ "000", "996", "ERROR:" ], [ "100,115,120,125,230,300", "996", "VALUE:TX" ], [ "110", "996", "VALUE:TX" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "996", "VALUE:TX" ], [ "250", "996", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "996", "VALUE:TX" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "996", "VALUE:TX" ], [ "795", "996", "ERROR:" ], [ "800,810", "996", "VALUE:TX" ], [ "950", "996", "ERROR:" ], [ "980,999", "996", "VALUE:TX" ], [ "000", "997-998", "ERROR:" ], [ "100,115,120,125,230,300", "997-998", "VALUE:T4" ], [ "110", "997-998", "VALUE:T4" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "997-998", "VALUE:T4" ], [ "250", "997-998", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "997-998", "VALUE:T4" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "997-998", "VALUE:T4" ], [ "795", "997-998", "ERROR:" ], [ "800,810", "997-998", "VALUE:T4" ], [ "950", "997-998", "ERROR:" ], [ "980,999", "997-998", "VALUE:T4" ], [ "000", "999", "ERROR:" ], [ "100,115,120,125,230,300", "999", "VALUE:TX" ], [ "110", "999", "VALUE:T1" ], [ "200,210,220,400,410,420,430,440,450,455,460,465", "999", "VALUE:T2" ], [ "250", "999", "ERROR:" ], [ "500,520,530,540,550,560,570,590,600,730", "999", "VALUE:T3" ], [ "610,650,680,700,705,710,720,740,745,748,750,760,770,780,785,790", "999", "VALUE:T4" ], [ "795", "999", "ERROR:" ], [ "800,810", "999", "VALUE:T4" ], [ "950", "999", "ERROR:" ], [ "980,999", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xjz.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xjz.json deleted file mode 100644 index c8f012326..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xjz.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_extension_ssf1_ajcc7_t_xjz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension SSF1 AJCC7 T", - "title" : "Size Extension SSF1 AJCC 7 T Table", - "subtitle" : "CS SSF1 000 or 999 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 000 or 999, no separate tumor nodules in the primary site or unknown if separate nodules, and CS Extension is coded 000-230, 300-440, 455-520, 540-600, 730, 950-980, 999, the value of T for AJCC 7 staging is assigned as shown in this table. The T category is determined by the CS Tumor Size and CS Extension codes. CS Tumor Size codes 997, diffuse involvement of lobe, and 998, diffuse involvement of the entire lung, map to T4.", - "last_modified" : "2015-05-27T16:19:52.311Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "ERROR:" ], [ "100, 230, 300", "000", "ERROR:" ], [ "110", "000", "ERROR:" ], [ "115", "000", "ERROR:" ], [ "120", "000", "ERROR:" ], [ "125", "000", "ERROR:" ], [ "200, 210, 400, 410, 420, 430, 440", "000", "ERROR:" ], [ "220", "000", "ERROR:" ], [ "455", "000", "ERROR:" ], [ "460", "000", "ERROR:" ], [ "465", "000", "ERROR:" ], [ "500, 520, 540, 550, 560, 570, 590, 600, 730", "000", "ERROR:" ], [ "950", "000", "VALUE:T0" ], [ "980", "000", "ERROR:" ], [ "999", "000", "ERROR:" ], [ "000", "001-020", "VALUE:Tis" ], [ "100, 230, 300", "001-020", "VALUE:T1a" ], [ "110", "001-020", "VALUE:T1a" ], [ "115", "001-020", "VALUE:T1a" ], [ "120", "001-020", "VALUE:T1b" ], [ "125", "001-020", "VALUE:T1NOS" ], [ "200, 210, 400, 410, 420, 430, 440", "001-020", "VALUE:T2a" ], [ "220", "001-020", "VALUE:T2a" ], [ "455", "001-020", "VALUE:T2a" ], [ "460", "001-020", "VALUE:T2b" ], [ "465", "001-020", "VALUE:T2NOS" ], [ "500, 520, 540, 550, 560, 570, 590, 600, 730", "001-020", "VALUE:T3" ], [ "950", "001-020", "ERROR:" ], [ "980", "001-020", "VALUE:TX" ], [ "999", "001-020", "VALUE:TX" ], [ "000", "021-030", "VALUE:Tis" ], [ "100, 230, 300", "021-030", "VALUE:T1b" ], [ "110", "021-030", "VALUE:T1a" ], [ "115", "021-030", "VALUE:T1b" ], [ "120", "021-030", "VALUE:T1b" ], [ "125", "021-030", "VALUE:T1b" ], [ "200, 210, 400, 410, 420, 430, 440", "021-030", "VALUE:T2a" ], [ "220", "021-030", "VALUE:T2a" ], [ "455", "021-030", "VALUE:T2a" ], [ "460", "021-030", "VALUE:T2b" ], [ "465", "021-030", "VALUE:T2NOS" ], [ "500, 520, 540, 550, 560, 570, 590, 600, 730", "021-030", "VALUE:T3" ], [ "950", "021-030", "ERROR:" ], [ "980", "021-030", "VALUE:TX" ], [ "999", "021-030", "VALUE:TX" ], [ "000", "031-050", "VALUE:Tis" ], [ "100, 230, 300", "031-050", "VALUE:T2a" ], [ "110", "031-050", "VALUE:T1a" ], [ "115", "031-050", "VALUE:T2a" ], [ "120", "031-050", "VALUE:T2a" ], [ "125", "031-050", "VALUE:T2a" ], [ "200, 210, 400, 410, 420, 430, 440", "031-050", "VALUE:T2a" ], [ "220", "031-050", "VALUE:T2a" ], [ "455", "031-050", "VALUE:T2a" ], [ "460", "031-050", "VALUE:T2b" ], [ "465", "031-050", "VALUE:T2NOS" ], [ "500, 520, 540, 550, 560, 570, 590, 600, 730", "031-050", "VALUE:T3" ], [ "950", "031-050", "ERROR:" ], [ "980", "031-050", "VALUE:TX" ], [ "999", "031-050", "VALUE:TX" ], [ "000", "051-070", "VALUE:Tis" ], [ "100, 230, 300", "051-070", "VALUE:T2b" ], [ "110", "051-070", "VALUE:T1a" ], [ "115", "051-070", "VALUE:T2b" ], [ "120", "051-070", "VALUE:T2b" ], [ "125", "051-070", "VALUE:T2b" ], [ "200, 210, 400, 410, 420, 430, 440", "051-070", "VALUE:T2b" ], [ "220", "051-070", "VALUE:T2b" ], [ "455", "051-070", "VALUE:T2b" ], [ "460", "051-070", "VALUE:T2b" ], [ "465", "051-070", "VALUE:T2b" ], [ "500, 520, 540, 550, 560, 570, 590, 600, 730", "051-070", "VALUE:T3" ], [ "950", "051-070", "ERROR:" ], [ "980", "051-070", "VALUE:TX" ], [ "999", "051-070", "VALUE:TX" ], [ "000", "071-989", "VALUE:Tis" ], [ "100, 230, 300", "071-989", "VALUE:T3" ], [ "110", "071-989", "VALUE:T1a" ], [ "115", "071-989", "VALUE:T3" ], [ "120", "071-989", "VALUE:T3" ], [ "125", "071-989", "VALUE:T3" ], [ "200, 210, 400, 410, 420, 430, 440", "071-989", "VALUE:T3" ], [ "220", "071-989", "VALUE:T3" ], [ "455", "071-989", "VALUE:T3" ], [ "460", "071-989", "VALUE:T3" ], [ "465", "071-989", "VALUE:T3" ], [ "500, 520, 540, 550, 560, 570, 590, 600, 730", "071-989", "VALUE:T3" ], [ "950", "071-989", "ERROR:" ], [ "980", "071-989", "VALUE:TX" ], [ "999", "071-989", "VALUE:TX" ], [ "000", "990-991", "VALUE:Tis" ], [ "100, 230, 300", "990-991", "VALUE:T1a" ], [ "110", "990-991", "VALUE:T1a" ], [ "115", "990-991", "VALUE:T1a" ], [ "120", "990-991", "VALUE:T1b" ], [ "125", "990-991", "VALUE:T1b" ], [ "200, 210, 400, 410, 420, 430, 440", "990-991", "VALUE:T2a" ], [ "220", "990-991", "VALUE:T2a" ], [ "455", "990-991", "VALUE:T2a" ], [ "460", "990-991", "VALUE:T2b" ], [ "465", "990-991", "VALUE:T2NOS" ], [ "500, 520, 540, 550, 560, 570, 590, 600, 730", "990-991", "VALUE:T3" ], [ "950", "990-991", "ERROR:" ], [ "980", "990-991", "VALUE:TX" ], [ "999", "990-991", "VALUE:TX" ], [ "000", "992", "VALUE:Tis" ], [ "100, 230, 300", "992", "VALUE:T1a" ], [ "110", "992", "VALUE:T1a" ], [ "115", "992", "VALUE:T1a" ], [ "120", "992", "VALUE:T1b" ], [ "125", "992", "VALUE:T1b" ], [ "200, 210, 400, 410, 420, 430, 440", "992", "VALUE:T2a" ], [ "220", "992", "VALUE:T2a" ], [ "455", "992", "VALUE:T2a" ], [ "460", "992", "VALUE:T2b" ], [ "465", "992", "VALUE:T2NOS" ], [ "500, 520, 540, 550, 560, 570, 590, 600, 730", "992", "VALUE:T3" ], [ "950", "992", "ERROR:" ], [ "980", "992", "VALUE:TX" ], [ "999", "992", "VALUE:TX" ], [ "000", "993", "VALUE:Tis" ], [ "100, 230, 300", "993", "VALUE:T1b" ], [ "110", "993", "VALUE:T1a" ], [ "115", "993", "VALUE:T1b" ], [ "120", "993", "VALUE:T1b" ], [ "125", "993", "VALUE:T1b" ], [ "200, 210, 400, 410, 420, 430, 440", "993", "VALUE:T2a" ], [ "220", "993", "VALUE:T2a" ], [ "455", "993", "VALUE:T2a" ], [ "460", "993", "VALUE:T2b" ], [ "465", "993", "VALUE:T2NOS" ], [ "500, 520, 540, 550, 560, 570, 590, 600, 730", "993", "VALUE:T3" ], [ "950", "993", "ERROR:" ], [ "980", "993", "VALUE:TX" ], [ "999", "993", "VALUE:TX" ], [ "000", "994-995", "VALUE:Tis" ], [ "100, 230, 300", "994-995", "VALUE:T2a" ], [ "110", "994-995", "VALUE:T1a" ], [ "115", "994-995", "VALUE:T2a" ], [ "120", "994-995", "VALUE:T2a" ], [ "125", "994-995", "VALUE:T2a" ], [ "200, 210, 400, 410, 420, 430, 440", "994-995", "VALUE:T2a" ], [ "220", "994-995", "VALUE:T2a" ], [ "455", "994-995", "VALUE:T2a" ], [ "460", "994-995", "VALUE:T2b" ], [ "465", "994-995", "VALUE:T2a" ], [ "500, 520, 540, 550, 560, 570, 590, 600, 730", "994-995", "VALUE:T3" ], [ "950", "994-995", "ERROR:" ], [ "980", "994-995", "VALUE:TX" ], [ "999", "994-995", "VALUE:TX" ], [ "000", "996", "VALUE:TX" ], [ "100, 230, 300", "996", "VALUE:TX" ], [ "110", "996", "VALUE:TX" ], [ "115", "996", "VALUE:TX" ], [ "120", "996", "VALUE:TX" ], [ "125", "996", "VALUE:TX" ], [ "200, 210, 400, 410, 420, 430, 440", "996", "VALUE:TX" ], [ "220", "996", "VALUE:TX" ], [ "455", "996", "VALUE:TX" ], [ "460", "996", "VALUE:TX" ], [ "465", "996", "VALUE:TX" ], [ "500, 520, 540, 550, 560, 570, 590, 600, 730", "996", "VALUE:TX" ], [ "950", "996", "ERROR:" ], [ "980", "996", "VALUE:TX" ], [ "999", "996", "VALUE:TX" ], [ "000", "997", "ERROR:" ], [ "100, 230, 300", "997", "VALUE:T4" ], [ "110", "997", "VALUE:T4" ], [ "115", "997", "VALUE:T4" ], [ "120", "997", "VALUE:T4" ], [ "125", "997", "VALUE:T4" ], [ "200, 210, 400, 410, 420, 430, 440", "997", "VALUE:T4" ], [ "220", "997", "VALUE:T4" ], [ "455", "997", "VALUE:T4" ], [ "460", "997", "VALUE:T4" ], [ "465", "997", "VALUE:T4" ], [ "500, 520, 540, 550, 560, 570, 590, 600, 730", "997", "VALUE:T4" ], [ "950", "997", "ERROR:" ], [ "980", "997", "VALUE:T4" ], [ "999", "997", "VALUE:T4" ], [ "000", "998", "ERROR:" ], [ "100, 230, 300", "998", "VALUE:T4" ], [ "110", "998", "VALUE:T4" ], [ "115", "998", "VALUE:T4" ], [ "120", "998", "VALUE:T4" ], [ "125", "998", "VALUE:T4" ], [ "200, 210, 400, 410, 420, 430, 440", "998", "VALUE:T4" ], [ "220", "998", "VALUE:T4" ], [ "455", "998", "VALUE:T4" ], [ "460", "998", "VALUE:T4" ], [ "465", "998", "VALUE:T4" ], [ "500, 520, 540, 550, 560, 570, 590, 600, 730", "998", "VALUE:T4" ], [ "950", "998", "ERROR:" ], [ "980", "998", "VALUE:T4" ], [ "999", "998", "VALUE:T4" ], [ "000", "999", "VALUE:Tis" ], [ "100, 230, 300", "999", "VALUE:TX" ], [ "110", "999", "VALUE:T1a" ], [ "115", "999", "VALUE:T1a" ], [ "120", "999", "VALUE:T1b" ], [ "125", "999", "VALUE:T1NOS" ], [ "200, 210, 400, 410, 420, 430, 440", "999", "VALUE:T2NOS" ], [ "220", "999", "VALUE:T2a" ], [ "455", "999", "VALUE:T2a" ], [ "460", "999", "VALUE:T2b" ], [ "465", "999", "VALUE:T2NOS" ], [ "500, 520, 540, 550, 560, 570, 590, 600, 730", "999", "VALUE:T3" ], [ "950", "999", "ERROR:" ], [ "980", "999", "VALUE:TX" ], [ "999", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xka.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xka.json deleted file mode 100644 index 98e111d72..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_extension_ssf1_ajcc7_t_xka.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "size_extension_ssf1_ajcc7_t_xka", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Extension SSF1 AJCC7 T", - "title" : "Size Extension SSF1 AJCC 7 T Table", - "subtitle" : "CS SSF1 010-040 with CS Tumor Size and CS Extension", - "notes" : "**Note**: When CS Site-Specific Factor 1 is coded 010, 020, 030, or 040 and CS Extension is 000-230, 300-440, 455-520, 540-600, 730, 950-980, 999, the value of T for AJCC 7 staging is determined on the basis of CS Tumor Size, CS Extension, and CS Site-Specific Factor 1 as shown in this table. CS Site-Specific Factor 1 codes 010 and 040 indicate separate tumor nodules in same lobe or unknown if in same lobe, and map to T3, except for Tumor Size codes 997 and 998 which map to T4. CS Site-Specific Factor codes 020 and 030 indicate separate tumor nodules in different lobe or same and different lobes and map to T4.", - "last_modified" : "2015-05-27T16:19:52.373Z", - "definition" : [ { - "key" : "ssf1", - "name" : "CS SSF 1", - "type" : "INPUT" - }, { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "000-996, 999", "000,100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,455,460,465,500,520,540,550,560,570,590,600,730,950,980,999", "VALUE:T3" ], [ "010", "997-998", "000,100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,455,460,465,500,520,540,550,560,570,590,600,730,950,980,999", "VALUE:T4" ], [ "020,030", "000-999", "000,100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,455,460,465,500,520,540,550,560,570,590,600,730,950,980,999", "VALUE:T4" ], [ "040", "000-996, 999", "000,100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,455,460,465,500,520,540,550,560,570,590,600,730,950,980,999", "VALUE:T3" ], [ "040", "997-998", "000,100,110,115,120,125,200,210,220,230,300,400,410,420,430,440,455,460,465,500,520,540,550,560,570,590,600,730,950,980,999", "VALUE:T4" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_metastasis_ajcc7_xpx.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_metastasis_ajcc7_xpx.json deleted file mode 100644 index 3a302719f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_metastasis_ajcc7_xpx.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "size_metastasis_ajcc7_xpx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Metastasis AJCC7", - "title" : "Size Metastasis AJCC 7 Table", - "notes" : "**Note**: For CS Mets at DX codes 10-60, the M category for AJCC 7 staging is assigned based on the value of size of largest metastasis, recorded in CS Site-Specific Factor 4.", - "last_modified" : "2015-05-27T16:19:52.416Z", - "definition" : [ { - "key" : "mets", - "name" : "CS Mets at DX", - "type" : "INPUT" - }, { - "key" : "ssf4", - "name" : "CS SSF 4 Size of Metastasis", - "type" : "INPUT" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "10", "000", "ERROR:" ], [ "40", "000", "ERROR:" ], [ "50", "000", "ERROR:" ], [ "52", "000", "ERROR:" ], [ "54", "000", "ERROR:" ], [ "56", "000", "ERROR:" ], [ "60", "000", "ERROR:" ], [ "10", "001-030", "VALUE:M1a" ], [ "40", "001-030", "VALUE:M1a" ], [ "50", "001-030", "VALUE:M1a" ], [ "52", "001-030", "VALUE:M1a" ], [ "54", "001-030", "VALUE:M1a" ], [ "56", "001-030", "VALUE:M1a" ], [ "60", "001-030", "VALUE:M1a" ], [ "10", "031-080", "VALUE:M1b" ], [ "40", "031-080", "VALUE:M1b" ], [ "50", "031-080", "VALUE:M1b" ], [ "52", "031-080", "VALUE:M1b" ], [ "54", "031-080", "VALUE:M1b" ], [ "56", "031-080", "VALUE:M1b" ], [ "60", "031-080", "VALUE:M1b" ], [ "10", "081-980", "VALUE:M1c" ], [ "40", "081-980", "VALUE:M1c" ], [ "50", "081-980", "VALUE:M1c" ], [ "52", "081-980", "VALUE:M1c" ], [ "54", "081-980", "VALUE:M1c" ], [ "56", "081-980", "VALUE:M1c" ], [ "60", "081-980", "VALUE:M1c" ], [ "10", "988", "ERROR:" ], [ "40", "988", "ERROR:" ], [ "50", "988", "ERROR:" ], [ "52", "988", "VALUE:M1a" ], [ "54", "988", "VALUE:M1b" ], [ "56", "988", "VALUE:M1c" ], [ "60", "988", "ERROR:" ], [ "10", "991", "VALUE:M1a" ], [ "40", "991", "VALUE:M1a" ], [ "50", "991", "VALUE:M1a" ], [ "52", "991", "VALUE:M1a" ], [ "54", "991", "VALUE:M1a" ], [ "56", "991", "VALUE:M1a" ], [ "60", "991", "VALUE:M1a" ], [ "10", "992", "VALUE:M1b" ], [ "40", "992", "VALUE:M1b" ], [ "50", "992", "VALUE:M1b" ], [ "52", "992", "VALUE:M1b" ], [ "54", "992", "VALUE:M1b" ], [ "56", "992", "VALUE:M1b" ], [ "60", "992", "VALUE:M1b" ], [ "10", "993", "VALUE:M1c" ], [ "40", "993", "VALUE:M1c" ], [ "50", "993", "VALUE:M1c" ], [ "52", "993", "VALUE:M1c" ], [ "54", "993", "VALUE:M1c" ], [ "56", "993", "VALUE:M1c" ], [ "60", "993", "VALUE:M1c" ], [ "10", "999", "VALUE:M1NOS" ], [ "40", "999", "VALUE:M1NOS" ], [ "50", "999", "VALUE:M1NOS" ], [ "52", "999", "VALUE:M1a" ], [ "54", "999", "VALUE:M1b" ], [ "56", "999", "VALUE:M1c" ], [ "60", "999", "VALUE:M1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/size_metsat_dxajcc7_m_xkb.json b/src/test/resources/algorithms/cs/02.05.50/tables/size_metsat_dxajcc7_m_xkb.json deleted file mode 100644 index 708e0f63f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/size_metsat_dxajcc7_m_xkb.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "size_metsat_dxajcc7_m_xkb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Size Mets at DX AJCC7 M", - "title" : "Size Mets at DX AJCC 7 M Table", - "subtitle" : "CS Mets at DX Codes 00 and 99", - "notes" : "**Note**: For CS Mets at DX codes 00 and 99, the M category for AJCC 7 staging is assigned based on the value of CS Tumor Size as shown in this table.", - "last_modified" : "2015-05-27T16:19:52.466Z", - "definition" : [ { - "key" : "size", - "name" : "CS Tumor Size", - "type" : "INPUT" - }, { - "key" : "mets", - "name" : "CS Mets at DX ", - "type" : "INPUT" - }, { - "key" : "ajcc7_m", - "name" : "AJCC 7 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000-997, 999", "00", "VALUE:M0" ], [ "998", "00", "VALUE:M1NOS" ], [ "000-997, 999", "99", "VALUE:M0" ], [ "998", "99", "VALUE:M1NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_invasive_unknown_pathologic_extension_xds_xdu_xdq.json b/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_invasive_unknown_pathologic_extension_xds_xdu_xdq.json deleted file mode 100644 index 7bd89daaf..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_invasive_unknown_pathologic_extension_xds_xdu_xdq.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id" : "special_calculation_invasive_unknown_pathologic_extension_xds_xdu_xdq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Special Calculation Table for Invasive/Unknown Pathologic Extension (AJCC 6, AJCC 7, and SEER Summary Stage)", - "title" : "Special Calculation Table for Invasive/Unknown Pathologic Extension (AJCC 6, AJCC 7, and SEER Summary Stage)", - "notes" : "**Note 1**: For CS Site-Specific Factor 3 (CS Extension - Pathologic Extension) codes 200-990, based on the values coded in CS Tumor Size/Ext Eval, CS Site-Specific Factor 3 (CS Extension - Pathologic Extension), and CS Extension - Clinical Extension, the T category mappings and T descriptors for AJCC 6 and AJCC 7, the SEER Summary Stage T, and the Gleason Score are taken from the fields indicated in the table below. If the CS Tumor Size/Ext Eval code is invalid, an error is returned and no stage is calculated.\n\n**Note 2**: This table replaces Special Calculation Table for TNM 6 Invasive/Unknown Pathologic Extension Eval, Special Calculation Table for TNM 7 Invasive/Unknown Pathologic Extension Eval, and the columns other than SSF3 = 000 for Special Calculation Table for SEER Summary Stage.", - "footnotes" : "- Edit error - When Staging Basis is set to \"p\" or \"c\", the combination of CS Tumor Size/Ext Eval code and CS Site-Specific Factor 3 code in this cell is in error.", - "last_modified" : "2015-05-27T16:19:52.510Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "Site Specific Factor 3", - "type" : "INPUT" - }, { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "temp_ajcc_t", - "name" : "AJCC T Table", - "type" : "ENDPOINT" - }, { - "key" : "temp_summ_t", - "name" : "Summ Stage T Table", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "gleason", - "name" : "Gleason", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "ssf8", "ssf10" ], - "rows" : [ [ "*", "020-023,030-034,040-043,045,048,050,052,060,070,095-099", "*", "ERROR:", "ERROR:", "VALUE: ", "VALUE: ", "VALUE: " ], [ "0-1", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:ssf3_lab", "JUMP:ssf3_sstg_lab", "VALUE:p", "VALUE:p", "VALUE:{{ssf10}}" ], [ "2", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:ssf3_sstg_lab", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "3-4", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:ssf3_lab", "JUMP:ssf3_sstg_lab", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf10}}" ], [ "5", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:ssf3_sstg_lab", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "6", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:ssf3_lab", "JUMP:ssf3_sstg_lab", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf10}}" ], [ "8", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:ssf3_lab", "JUMP:ssf3_sstg_lab", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf10}}" ], [ "9", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:ssf3_lab", "JUMP:ssf3_sstg_lab", "VALUE:p", "VALUE:p", "VALUE:{{ssf10}}" ], [ "", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:ssf3_lab", "JUMP:ssf3_sstg_lab", "VALUE: ", "VALUE: ", "VALUE:{{ssf10}}" ], [ "7", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "ERROR:", "JUMP:ssf3_sstg_lab", "VALUE: ", "VALUE: ", "VALUE:{{ssf10}}" ], [ "0-1", "950, 985", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "2", "950, 985", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "3-4", "950, 985", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "VALUE:c", "VALUE:c", "VALUE:{{ssf8}}" ], [ "5", "950, 985", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "6", "950, 985", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "VALUE:c", "VALUE:c", "VALUE:{{ssf8}}" ], [ "8", "950, 985", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:ssf3_lab", "JUMP:extension_sstg_bbo", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf10}}" ], [ "9", "950, 985", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "", "950, 985", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "VALUE: ", "VALUE: ", "VALUE:{{ssf8}}" ], [ "7", "950, 985", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "ERROR:", "JUMP:extension_sstg_bbo", "VALUE: ", "VALUE: ", "VALUE:{{ssf8}}" ], [ "0-1", "960,970,980,990", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "2", "960,970,980,990", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "3-4", "960,970,980,990", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "VALUE:c", "VALUE:c", "VALUE:{{ssf8}}" ], [ "5", "960,970,980,990", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "6", "960,970,980,990", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "VALUE:c", "VALUE:c", "VALUE:{{ssf8}}" ], [ "8", "960,970,980,990", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "VALUE:c", "VALUE:c", "VALUE:{{ssf8}}" ], [ "9", "960,970,980,990", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "", "960,970,980,990", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "VALUE: ", "VALUE: ", "VALUE:{{ssf8}}" ], [ "7", "960,970,980,990", "000,100,130,140,150,200,210,220,230,240,300,410,420,430,440,445,450,470,490,500,510,520,600,700,750,950,999", "ERROR:", "JUMP:extension_sstg_bbo", "VALUE: ", "VALUE: ", "VALUE:{{ssf8}}" ], [ "0-1", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "310,330,340", "JUMP:ssf3_lab", "ERROR:", "VALUE:p", "VALUE:p", "VALUE:{{ssf10}}" ], [ "2", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "310,330,340", "JUMP:extension_bbo", "ERROR:", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "3-4", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "310,330,340", "JUMP:ssf3_lab", "ERROR:", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf10}}" ], [ "5", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "310,330,340", "JUMP:extension_bbo", "ERROR:", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "6", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "310,330,340", "JUMP:ssf3_lab", "ERROR:", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf10}}" ], [ "8", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "310,330,340", "JUMP:ssf3_lab", "ERROR:", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf10}}" ], [ "9", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "310,330,340", "JUMP:ssf3_lab", "ERROR:", "VALUE:p", "VALUE:p", "VALUE:{{ssf10}}" ], [ "", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "310,330,340", "JUMP:ssf3_lab", "ERROR:", "VALUE: ", "VALUE: ", "VALUE:{{ssf10}}" ], [ "7", "200,210,220,230,300,320,330,340,350,400,402,404,406,410,415,420,430,480,482,483,485,490,495,500,510,520,600,700,750", "310,330,340", "ERROR:", "ERROR:", "VALUE: ", "VALUE: ", "VALUE:{{ssf10}}" ], [ "0-1", "950, 985", "310,330,340", "JUMP:extension_bbo", "ERROR:", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "2", "950, 985", "310,330,340", "JUMP:extension_bbo", "ERROR:", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "3-4", "950, 985", "310,330,340", "JUMP:extension_bbo", "ERROR:", "VALUE:c", "VALUE:c", "VALUE:{{ssf8}}" ], [ "5", "950, 985", "310,330,340", "JUMP:extension_bbo", "ERROR:", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "6", "950, 985", "310,330,340", "JUMP:extension_bbo", "ERROR:", "VALUE:c", "VALUE:c", "VALUE:{{ssf8}}" ], [ "8", "950, 985", "310,330,340", "JUMP:ssf3_lab", "ERROR:", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf10}}" ], [ "9", "950, 985", "310,330,340", "JUMP:extension_bbo", "ERROR:", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "", "950, 985", "310,330,340", "JUMP:extension_bbo", "ERROR:", "VALUE: ", "VALUE: ", "VALUE:{{ssf8}}" ], [ "7", "950, 985", "310,330,340", "ERROR:", "ERROR:", "VALUE: ", "VALUE: ", "VALUE:{{ssf8}}" ], [ "0-1", "960,970,980,990", "310,330,340", "JUMP:extension_bbo", "ERROR:", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "2", "960,970,980,990", "310,330,340", "JUMP:extension_bbo", "ERROR:", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "3-4", "960,970,980,990", "310,330,340", "JUMP:extension_bbo", "ERROR:", "VALUE:c", "VALUE:c", "VALUE:{{ssf8}}" ], [ "5", "960,970,980,990", "310,330,340", "JUMP:extension_bbo", "ERROR:", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "6", "960,970,980,990", "310,330,340", "JUMP:extension_bbo", "ERROR:", "VALUE:c", "VALUE:c", "VALUE:{{ssf8}}" ], [ "8", "960,970,980,990", "310,330,340", "JUMP:extension_bbo", "ERROR:", "VALUE:c", "VALUE:c", "VALUE:{{ssf8}}" ], [ "9", "960,970,980,990", "310,330,340", "JUMP:extension_bbo", "ERROR:", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "", "960,970,980,990", "310,330,340", "JUMP:extension_bbo", "ERROR:", "VALUE: ", "VALUE: ", "VALUE:{{ssf8}}" ], [ "7", "960,970,980,990", "310,330,340", "ERROR:", "ERROR:", "VALUE: ", "VALUE: ", "VALUE:{{ssf8}}" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_non_invasive_pathologic_extension_xdr_xdt_xdq.json b/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_non_invasive_pathologic_extension_xdr_xdt_xdq.json deleted file mode 100644 index 7f94ee64b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_non_invasive_pathologic_extension_xdr_xdt_xdq.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id" : "special_calculation_non_invasive_pathologic_extension_xdr_xdt_xdq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Special Calculation Table for Non-Invasive Pathologic Extension (AJCC 6, AJCC 7, and SEER Summary Stage)", - "title" : "Special Calculation Table for Non-Invasive Pathologic Extension (AJCC 6, AJCC 7, and SEER Summary Stage)", - "notes" : "**Note 1**: For CS Site-Specific Factor 3 (CS Extension - Pathologic Extension) code 000, based on the values coded in CS Extension - Clinical Extension and CS Tumor Size/Ext Eval, the T category mappings and T descriptors for AJCC 6 and AJCC 7, the SEER Summary Stage T, and the Gleason Score are taken from the fields indicated in the table below. If the CS Tumor Size/Ext Eval code is invalid, an error is returned and no stage is calculated.\n\n**Note 2**: This table replaces Special Calculation Table for TNM 6 Non-Invasive Pathologic Extension, Special Calculation Table for TNM 7 Non-Invasive Pathologic Extension, and the SSF3 = 000 column of Special Calculation Table for SEER Summary Stage.", - "last_modified" : "2015-05-27T16:19:52.583Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "extension_eval", - "name" : "CS Tumor Size/Ext Eval", - "type" : "INPUT" - }, { - "key" : "temp_ajcc_t", - "name" : "AJCC T Table", - "type" : "ENDPOINT" - }, { - "key" : "temp_summ_t", - "name" : "Summ Stage T Table", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "gleason", - "name" : "Gleason", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "ssf8", "ssf10" ], - "rows" : [ [ "000", "", "JUMP:ssf3_lab", "JUMP:ssf3_sstg_lab", "VALUE: ", "VALUE: ", "VALUE:{{ssf10}}" ], [ "000", "7", "ERROR:", "JUMP:ssf3_sstg_lab", "VALUE: ", "VALUE: ", "VALUE:{{ssf10}}" ], [ "000", "0-6,8,9", "JUMP:ssf3_lab", "JUMP:ssf3_sstg_lab", "VALUE:p", "VALUE:p", "VALUE:{{ssf10}}" ], [ "100,130,140,150,200,210,220,230,240,300", "", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "VALUE: ", "VALUE: ", "VALUE:{{ssf8}}" ], [ "100,130,140,150,200,210,220,230,240,300", "7", "ERROR:", "JUMP:extension_sstg_bbo", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "100,130,140,150,200,210,220,230,240,300", "0-6,8,9", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "310,330,340", "*", "ERROR:", "ERROR:", "VALUE:", "VALUE:", "VALUE:" ], [ "410,420,430,440,445,450,470,490,500,510,520,600,700,750", "", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "VALUE: ", "VALUE: ", "VALUE:{{ssf8}}" ], [ "410,420,430,440,445,450,470,490,500,510,520,600,700,750", "7", "ERROR:", "JUMP:extension_sstg_bbo", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "410,420,430,440,445,450,470,490,500,510,520,600,700,750", "0-6,8,9", "JUMP:extension_bbo", "JUMP:extension_sstg_bbo", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf8}}" ], [ "950,999", "", "JUMP:ssf3_lab", "JUMP:ssf3_sstg_lab", "VALUE: ", "VALUE: ", "VALUE:{{ssf10}}" ], [ "950,999", "7", "ERROR:", "JUMP:ssf3_sstg_lab", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf10}}" ], [ "950,999", "0-6,8,9", "JUMP:ssf3_lab", "JUMP:ssf3_sstg_lab", "JUMP:extension_eval_6_cab", "JUMP:extension_eval_cab", "VALUE:{{ssf10}}" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_ajcct_xiu.json b/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_ajcct_xiu.json deleted file mode 100644 index 7faaefa70..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_ajcct_xiu.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "special_calculation_tablefor_ajcct_xiu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Special Calculation Table for AJCC T", - "title" : "Special Calculation Table for AJCC T", - "notes" : "**Note**: The T category is assigned based on the values coded in CS Extension, CS Site-Specific Factor 1 (Extension Evaluated at Enucleation), and CS Tumor Size/Ext Eval. For each combination of CS Extension, CS Site-Specific Factor 1, and CS Tumor Size/Ext Eval, the AJCC T value is taken from the field shown in the table (CS Extension or CS Site-Specific Factor 1). The stage descriptor is either assigned a \"p\" or taken from the coded value in CS Tumor Size Ext Eval, as shown in the table. (The \"p\" assignment takes precedence over the coded value for CS Tumor Size/Ext Eval where information from enucleation is coded with a clinical eval code of \"0\", \"1\", or \"9\".) ERROR is returned for invalid combinations of CS Extension and CS Site-Specific Factor 1 codes. (The combinations are invalid because the two codes were not available for coding at the same time in the same version of CS.) If CS Tumor Size/Ext Eval is blank, the staging basis for T is left blank.", - "last_modified" : "2015-05-27T16:19:52.637Z", - "definition" : [ { - "key" : "extension_eval", - "name" : "CS TS/Ext Eval", - "type" : "INPUT" - }, { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF 1", - "type" : "INPUT" - }, { - "key" : "temp_ajcc_t", - "name" : "AJCC T Table", - "type" : "ENDPOINT" - }, { - "key" : "ajcc7_tdescriptor", - "name" : "Staging Basis 7", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_tdescriptor", - "name" : "Staging Basis 6", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0,1,9", "110", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "120", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "130", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "140,160,180", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "310,410", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "420", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "430", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "440", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "450", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "460", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "470", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "500,520,540", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "590", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "680,700,720,740", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "750", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "760", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "800", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "950,999", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "110", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "120", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "130", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "140,160,180", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "310,410", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "420", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "430", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "440", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "450", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "460", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "470", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "500,520,540", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "590", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "680,700,720,740", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "750", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "760", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "800", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "950,999", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "110", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "120", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "130", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "140,160,180", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "310,410", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "420", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "430", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "440", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "450", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "460", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "470", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "500,520,540", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "590", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "680,700,720,740", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "750", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "760", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "800", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "950,999", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "110", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "120", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "130", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "140,160,180", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "310,410", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "420", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "430", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "440", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "450", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "460", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "470", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "500,520,540", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "590", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "680,700,720,740", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "750", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "760", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "800", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "", "950,999", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "110", "074,075,080", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "120", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "130", "074,075,080", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "140,160,180", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "310,410", "074,075,080", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "420", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "430", "074,075,080", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "440", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "450", "074,075,080", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "460", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "470", "074,075,080", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "500,520,540", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "590", "074,075,080", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "680,700,720,740", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "750", "074,075,080", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "760", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "800", "074,075,080", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "950,999", "074,075,080", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "5", "110", "074,075,080", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "120", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "130", "074,075,080", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "140,160,180", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "310,410", "074,075,080", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "420", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "430", "074,075,080", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "440", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "450", "074,075,080", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "460", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "470", "074,075,080", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "500,520,540", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "590", "074,075,080", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "680,700,720,740", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "750", "074,075,080", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "760", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "800", "074,075,080", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "950,999", "074,075,080", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "110", "074,075,080", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "120", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "130", "074,075,080", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "140,160,180", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "310,410", "074,075,080", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "420", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "430", "074,075,080", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "440", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "450", "074,075,080", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "460", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "470", "074,075,080", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "500,520,540", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "590", "074,075,080", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "680,700,720,740", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "750", "074,075,080", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "760", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "800", "074,075,080", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "950,999", "074,075,080", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "", "110", "074,075,080", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "120", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "", "130", "074,075,080", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "140,160,180", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "", "310,410", "074,075,080", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "420", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "", "430", "074,075,080", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "440", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "", "450", "074,075,080", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "460", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "", "470", "074,075,080", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "500,520,540", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "", "590", "074,075,080", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "680,700,720,740", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "", "750", "074,075,080", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "760", "074,075,080", "ERROR:", "ERROR:", "ERROR:" ], [ "", "800", "074,075,080", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "950,999", "074,075,080", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "0,1,9", "110", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "120", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "130", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "140,160,180", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "310,410", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "420", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "430", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "440", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "450", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "460", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "470", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "500,520,540", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "590", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "680,700,720,740", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "750", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "760", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "800", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "950,999", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "110", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "120", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "130", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "140,160,180", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "310,410", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "420", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "430", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "440", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "450", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "460", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "470", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "500,520,540", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "590", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "680,700,720,740", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "750", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "760", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "800", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "950,999", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "110", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "120", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "130", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "140,160,180", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "310,410", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "420", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "430", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "440", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "450", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "460", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "470", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "500,520,540", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "590", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "680,700,720,740", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "750", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "760", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "800", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "950,999", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "110", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "120", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "130", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "140,160,180", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "310,410", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "420", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "430", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "440", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "450", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "460", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "470", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "500,520,540", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "590", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "680,700,720,740", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "750", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "760", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "800", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "", "950,999", "095,096", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "110", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "120", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "130", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "140,160,180", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "310,410", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "420", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "430", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "440", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "450", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "460", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "470", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "500,520,540", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "590", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "680,700,720,740", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "750", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "760", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "800", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "950,999", "300,410,430", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "5", "110", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "120", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "130", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "140,160,180", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "310,410", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "420", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "430", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "440", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "450", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "460", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "470", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "500,520,540", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "590", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "680,700,720,740", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "750", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "760", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "800", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "950,999", "300,410,430", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "110", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "120", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "130", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "140,160,180", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "310,410", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "420", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "430", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "440", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "450", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "460", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "470", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "500,520,540", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "590", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "680,700,720,740", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "750", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "760", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "800", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "950,999", "300,410,430", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "", "110", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "120", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "130", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "140,160,180", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "310,410", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "420", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "430", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "440", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "450", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "460", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "470", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "500,520,540", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "590", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "680,700,720,740", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "750", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "760", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "800", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "950,999", "300,410,430", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "0,1,9", "110", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "120", "435", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "130", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "140,160,180", "435", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "310,410", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "420", "435", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "430", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "440", "435", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "450", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "460", "435", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "470", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "500,520,540", "435", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "590", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "680,700,720,740", "435", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "750", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "760", "435", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "800", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "950,999", "435", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "5", "110", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "120", "435", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "130", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "140,160,180", "435", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "310,410", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "420", "435", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "430", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "440", "435", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "450", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "460", "435", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "470", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "500,520,540", "435", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "590", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "680,700,720,740", "435", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "750", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "760", "435", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "800", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "950,999", "435", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "110", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "120", "435", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "130", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "140,160,180", "435", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "310,410", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "420", "435", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "430", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "440", "435", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "450", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "460", "435", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "470", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "500,520,540", "435", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "590", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "680,700,720,740", "435", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "750", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "760", "435", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "800", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "950,999", "435", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "", "110", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "", "120", "435", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "130", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "", "140,160,180", "435", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "310,410", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "", "420", "435", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "430", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "", "440", "435", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "450", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "", "460", "435", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "470", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "", "500,520,540", "435", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "590", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "", "680,700,720,740", "435", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "750", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "", "760", "435", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "800", "435", "ERROR:", "ERROR:", "ERROR:" ], [ "", "950,999", "435", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "0,1,9", "110", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "120", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "130", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "140,160,180", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "310,410", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "420", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "430", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "440", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "450", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "460", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "470", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "500,520,540", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "590", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "680,700,720,740", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "750", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "760", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "800", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "950,999", "440,460", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "5", "110", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "120", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "130", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "140,160,180", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "310,410", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "420", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "430", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "440", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "450", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "460", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "470", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "500,520,540", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "590", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "680,700,720,740", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "750", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "760", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "800", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "950,999", "440,460", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "110", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "120", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "130", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "140,160,180", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "310,410", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "420", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "430", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "440", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "450", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "460", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "470", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "500,520,540", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "590", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "680,700,720,740", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "750", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "760", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "800", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "950,999", "440,460", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "", "110", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "120", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "130", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "140,160,180", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "310,410", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "420", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "430", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "440", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "450", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "460", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "470", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "500,520,540", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "590", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "680,700,720,740", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "750", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "760", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "800", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "950,999", "440,460", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "0,1,9", "110", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "120", "465", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "130", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "140,160,180", "465", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "310,410", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "420", "465", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "430", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "440", "465", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "450", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "460", "465", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "470", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "500,520,540", "465", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "590", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "680,700,720,740", "465", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "750", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "760", "465", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "800", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "950,999", "465", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "5", "110", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "120", "465", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "130", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "140,160,180", "465", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "310,410", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "420", "465", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "430", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "440", "465", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "450", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "460", "465", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "470", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "500,520,540", "465", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "590", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "680,700,720,740", "465", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "750", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "760", "465", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "800", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "950,999", "465", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "110", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "120", "465", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "130", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "140,160,180", "465", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "310,410", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "420", "465", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "430", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "440", "465", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "450", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "460", "465", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "470", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "500,520,540", "465", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "590", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "680,700,720,740", "465", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "750", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "760", "465", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "800", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "950,999", "465", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "", "110", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "", "120", "465", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "130", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "", "140,160,180", "465", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "310,410", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "", "420", "465", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "430", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "", "440", "465", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "450", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "", "460", "465", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "470", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "", "500,520,540", "465", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "590", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "", "680,700,720,740", "465", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "750", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "", "760", "465", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "800", "465", "ERROR:", "ERROR:", "ERROR:" ], [ "", "950,999", "465", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "0,1,9", "110", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "120", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "130", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "140,160,180", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "310,410", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "420", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "430", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "440", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "450", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "460", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "470", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "500,520,540", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "590", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "680,700,720,740", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "750", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "760", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "800", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "950,999", "470,490,540", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "5", "110", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "120", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "130", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "140,160,180", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "310,410", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "420", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "430", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "440", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "450", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "460", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "470", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "500,520,540", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "590", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "680,700,720,740", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "750", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "760", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "800", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "950,999", "470,490,540", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "110", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "120", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "130", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "140,160,180", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "310,410", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "420", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "430", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "440", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "450", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "460", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "470", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "500,520,540", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "590", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "680,700,720,740", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "750", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "760", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "800", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "950,999", "470,490,540", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "", "110", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "120", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "130", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "140,160,180", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "310,410", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "420", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "430", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "440", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "450", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "460", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "470", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "500,520,540", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "590", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "680,700,720,740", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "750", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "760", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "800", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "950,999", "470,490,540", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "0,1,9", "110", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "120", "550", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "130", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "140,160,180", "550", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "310,410", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "420", "550", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "430", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "440", "550", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "450", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "460", "550", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "470", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "500,520,540", "550", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "590", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "680,700,720,740", "550", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "750", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "760", "550", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "800", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "950,999", "550", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "5", "110", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "120", "550", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "130", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "140,160,180", "550", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "310,410", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "420", "550", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "430", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "440", "550", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "450", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "460", "550", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "470", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "500,520,540", "550", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "590", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "680,700,720,740", "550", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "750", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "760", "550", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "800", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "950,999", "550", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "110", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "120", "550", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "130", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "140,160,180", "550", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "310,410", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "420", "550", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "430", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "440", "550", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "450", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "460", "550", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "470", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "500,520,540", "550", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "590", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "680,700,720,740", "550", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "750", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "760", "550", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "800", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "950,999", "550", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "", "110", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "", "120", "550", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "130", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "", "140,160,180", "550", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "310,410", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "", "420", "550", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "430", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "", "440", "550", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "450", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "", "460", "550", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "470", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "", "500,520,540", "550", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "590", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "", "680,700,720,740", "550", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "750", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "", "760", "550", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "800", "550", "ERROR:", "ERROR:", "ERROR:" ], [ "", "950,999", "550", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "0,1,9", "110", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "120", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "130", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "140,160,180", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "310,410", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "420", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "430", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "440", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "450", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "460", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "470", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "500,520,540", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "590", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "680,700,720,740", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "750", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "760", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "800", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "950,999", "560,570,590", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "5", "110", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "120", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "130", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "140,160,180", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "310,410", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "420", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "430", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "440", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "450", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "460", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "470", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "500,520,540", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "590", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "680,700,720,740", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "750", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "760", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "800", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "950,999", "560,570,590", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "110", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "120", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "130", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "140,160,180", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "310,410", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "420", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "430", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "440", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "450", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "460", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "470", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "500,520,540", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "590", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "680,700,720,740", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "750", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "760", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "800", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "950,999", "560,570,590", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "", "110", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "120", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "130", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "140,160,180", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "310,410", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "420", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "430", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "440", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "450", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "460", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "470", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "500,520,540", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "590", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "680,700,720,740", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "750", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "760", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "800", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "950,999", "560,570,590", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "0,1,9", "110", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "120", "725,745,755", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "130", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "140,160,180", "725,745,755", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "310,410", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "420", "725,745,755", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "430", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "440", "725,745,755", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "450", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "460", "725,745,755", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "470", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "500,520,540", "725,745,755", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "590", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "680,700,720,740", "725,745,755", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "750", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "760", "725,745,755", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "800", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "950,999", "725,745,755", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "5", "110", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "120", "725,745,755", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "130", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "140,160,180", "725,745,755", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "310,410", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "420", "725,745,755", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "430", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "440", "725,745,755", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "450", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "460", "725,745,755", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "470", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "500,520,540", "725,745,755", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "590", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "680,700,720,740", "725,745,755", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "750", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "760", "725,745,755", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "800", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "950,999", "725,745,755", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "110", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "120", "725,745,755", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "130", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "140,160,180", "725,745,755", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "310,410", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "420", "725,745,755", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "430", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "440", "725,745,755", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "450", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "460", "725,745,755", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "470", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "500,520,540", "725,745,755", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "590", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "680,700,720,740", "725,745,755", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "750", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "760", "725,745,755", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "800", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "950,999", "725,745,755", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "", "110", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "", "120", "725,745,755", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "130", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "", "140,160,180", "725,745,755", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "310,410", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "", "420", "725,745,755", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "430", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "", "440", "725,745,755", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "450", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "", "460", "725,745,755", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "470", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "", "500,520,540", "725,745,755", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "590", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "", "680,700,720,740", "725,745,755", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "750", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "", "760", "725,745,755", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "800", "725,745,755", "ERROR:", "ERROR:", "ERROR:" ], [ "", "950,999", "725,745,755", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "0,1,9", "110", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "120", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "130", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "140,160,180", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "310,410", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "420", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "430", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "440", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "450", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "460", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "470", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "500,520,540", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "590", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "680,700,720,740", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "750", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "760", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "800", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "950,999", "765", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "5", "110", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "120", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "130", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "140,160,180", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "310,410", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "420", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "430", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "440", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "450", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "460", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "470", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "500,520,540", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "590", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "680,700,720,740", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "750", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "760", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "800", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "950,999", "765", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "110", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "120", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "130", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "140,160,180", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "310,410", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "420", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "430", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "440", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "450", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "460", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "470", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "500,520,540", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "590", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "680,700,720,740", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "750", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "760", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "800", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "950,999", "765", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "", "110", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "120", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "130", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "140,160,180", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "310,410", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "420", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "430", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "440", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "450", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "460", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "470", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "500,520,540", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "590", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "680,700,720,740", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "750", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "760", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "800", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "950,999", "765", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "0,1,9", "110", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "120", "775,790,810", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "130", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "140,160,180", "775,790,810", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "310,410", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "420", "775,790,810", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "430", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "440", "775,790,810", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "450", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "460", "775,790,810", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "470", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "500,520,540", "775,790,810", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "590", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "680,700,720,740", "775,790,810", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "750", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "760", "775,790,810", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "0,1,9", "800", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "0,1,9", "950,999", "775,790,810", "JUMP:ssf1_jat", "VALUE:p", "VALUE:p" ], [ "5", "110", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "120", "775,790,810", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "130", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "140,160,180", "775,790,810", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "310,410", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "420", "775,790,810", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "430", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "440", "775,790,810", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "450", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "460", "775,790,810", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "470", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "500,520,540", "775,790,810", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "590", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "680,700,720,740", "775,790,810", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "750", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "760", "775,790,810", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "800", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "5", "950,999", "775,790,810", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "110", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "120", "775,790,810", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "130", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "140,160,180", "775,790,810", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "310,410", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "420", "775,790,810", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "430", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "440", "775,790,810", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "450", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "460", "775,790,810", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "470", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "500,520,540", "775,790,810", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "590", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "680,700,720,740", "775,790,810", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "750", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "760", "775,790,810", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "800", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "2,3,6,8", "950,999", "775,790,810", "JUMP:ssf1_jat", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "", "110", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "", "120", "775,790,810", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "130", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "", "140,160,180", "775,790,810", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "310,410", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "", "420", "775,790,810", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "430", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "", "440", "775,790,810", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "450", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "", "460", "775,790,810", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "470", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "", "500,520,540", "775,790,810", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "590", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "", "680,700,720,740", "775,790,810", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "750", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "", "760", "775,790,810", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "", "800", "775,790,810", "ERROR:", "ERROR:", "ERROR:" ], [ "", "950,999", "775,790,810", "JUMP:ssf1_jat", "ERROR:", "ERROR:" ], [ "0,1,9", "110", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "120", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "130", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "140,160,180", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "310,410", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "420", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "430", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "440", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "450", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "460", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "470", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "500,520,540", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "590", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "680,700,720,740", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "750", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "760", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "800", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "0,1,9", "950,999", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "110", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "120", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "130", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "140,160,180", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "310,410", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "420", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "430", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "440", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "450", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "460", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "470", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "500,520,540", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "590", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "680,700,720,740", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "750", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "760", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "800", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "5", "950,999", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "110", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "120", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "130", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "140,160,180", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "310,410", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "420", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "430", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "440", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "450", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "460", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "470", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "500,520,540", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "590", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "680,700,720,740", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "750", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "760", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "800", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "2,3,6,8", "950,999", "950,960,970,999", "JUMP:extension_bcu", "JUMP:extension_eval_cac", "JUMP:extension_eval_6_cac" ], [ "", "110", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "120", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "130", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "140,160,180", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "310,410", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "420", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "430", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "440", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "450", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "460", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "470", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "500,520,540", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "590", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "680,700,720,740", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "750", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "760", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "800", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ], [ "", "950,999", "950,960,970,999", "JUMP:extension_bcu", "ERROR:", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_seersummary_stage_xiv.json b/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_seersummary_stage_xiv.json deleted file mode 100644 index 52a559cd4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/special_calculation_tablefor_seersummary_stage_xiv.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "special_calculation_tablefor_seersummary_stage_xiv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Special Calculation Table for SEER Summary Stage", - "title" : "Special Calculation Table for SEER Summary Stage", - "notes" : "**Note**: The T value for calculating SEER Summary Stage 1977 and 2000 is asisgned based on the values coded in CS Extension and CS Site-Specific Factor 1 (Extension Evaluated at Enucleation). For each combination of CS Extension and CS Site-Specific Factor 1, the T value is taken from the field shown in the table.", - "last_modified" : "2015-05-27T16:19:52.926Z", - "definition" : [ { - "key" : "extension", - "name" : "CS Extension", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "CS SSF 1", - "type" : "INPUT" - }, { - "key" : "temp_summ_t", - "name" : "Summ Stage T Table", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "110", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "120", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "130", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "140,160,180", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "310,410", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "420", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "430", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "440", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "450", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "460", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "470", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "500,520,540", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "590", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "680,700,720,740", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "750", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "760", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "800", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "950,999", "000,030,041,043,044,046,047,048,049,054,056,057,059,072", "ERROR:" ], [ "110", "074,075,080", "JUMP:ssf1_sstg_jat" ], [ "120", "074,075,080", "ERROR:" ], [ "130", "074,075,080", "JUMP:ssf1_sstg_jat" ], [ "140,160,180", "074,075,080", "ERROR:" ], [ "310,410", "074,075,080", "JUMP:ssf1_sstg_jat" ], [ "420", "074,075,080", "ERROR:" ], [ "430", "074,075,080", "JUMP:ssf1_sstg_jat" ], [ "440", "074,075,080", "ERROR:" ], [ "450", "074,075,080", "JUMP:ssf1_sstg_jat" ], [ "460", "074,075,080", "ERROR:" ], [ "470", "074,075,080", "JUMP:ssf1_sstg_jat" ], [ "500,520,540", "074,075,080", "ERROR:" ], [ "590", "074,075,080", "JUMP:ssf1_sstg_jat" ], [ "680,700,720,740", "074,075,080", "ERROR:" ], [ "750", "074,075,080", "JUMP:ssf1_sstg_jat" ], [ "760", "074,075,080", "ERROR:" ], [ "800", "074,075,080", "JUMP:ssf1_sstg_jat" ], [ "950,999", "074,075,080", "JUMP:ssf1_sstg_jat" ], [ "110", "095,096", "ERROR:" ], [ "120", "095,096", "ERROR:" ], [ "130", "095,096", "ERROR:" ], [ "140,160,180", "095,096", "ERROR:" ], [ "310,410", "095,096", "ERROR:" ], [ "420", "095,096", "ERROR:" ], [ "430", "095,096", "ERROR:" ], [ "440", "095,096", "ERROR:" ], [ "450", "095,096", "ERROR:" ], [ "460", "095,096", "ERROR:" ], [ "470", "095,096", "ERROR:" ], [ "500,520,540", "095,096", "ERROR:" ], [ "590", "095,096", "ERROR:" ], [ "680,700,720,740", "095,096", "ERROR:" ], [ "750", "095,096", "ERROR:" ], [ "760", "095,096", "ERROR:" ], [ "800", "095,096", "ERROR:" ], [ "950,999", "095,096", "ERROR:" ], [ "110", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "120", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "130", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "140,160,180", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "310,410", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "420", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "430", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "440", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "450", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "460", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "470", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "500,520,540", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "590", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "680,700,720,740", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "750", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "760", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "800", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "950,999", "300,410,430", "JUMP:ssf1_sstg_jat" ], [ "110", "435", "ERROR:" ], [ "120", "435", "JUMP:ssf1_sstg_jat" ], [ "130", "435", "ERROR:" ], [ "140,160,180", "435", "JUMP:ssf1_sstg_jat" ], [ "310,410", "435", "ERROR:" ], [ "420", "435", "JUMP:ssf1_sstg_jat" ], [ "430", "435", "ERROR:" ], [ "440", "435", "JUMP:ssf1_sstg_jat" ], [ "450", "435", "ERROR:" ], [ "460", "435", "JUMP:ssf1_sstg_jat" ], [ "470", "435", "ERROR:" ], [ "500,520,540", "435", "JUMP:ssf1_sstg_jat" ], [ "590", "435", "ERROR:" ], [ "680,700,720,740", "435", "JUMP:ssf1_sstg_jat" ], [ "750", "435", "ERROR:" ], [ "760", "435", "JUMP:ssf1_sstg_jat" ], [ "800", "435", "ERROR:" ], [ "950,999", "435", "JUMP:ssf1_sstg_jat" ], [ "110", "440,460", "JUMP:ssf1_sstg_jat" ], [ "120", "440,460", "JUMP:ssf1_sstg_jat" ], [ "130", "440,460", "JUMP:ssf1_sstg_jat" ], [ "140,160,180", "440,460", "JUMP:ssf1_sstg_jat" ], [ "310,410", "440,460", "JUMP:ssf1_sstg_jat" ], [ "420", "440,460", "JUMP:ssf1_sstg_jat" ], [ "430", "440,460", "JUMP:ssf1_sstg_jat" ], [ "440", "440,460", "JUMP:ssf1_sstg_jat" ], [ "450", "440,460", "JUMP:ssf1_sstg_jat" ], [ "460", "440,460", "JUMP:ssf1_sstg_jat" ], [ "470", "440,460", "JUMP:ssf1_sstg_jat" ], [ "500,520,540", "440,460", "JUMP:ssf1_sstg_jat" ], [ "590", "440,460", "JUMP:ssf1_sstg_jat" ], [ "680,700,720,740", "440,460", "JUMP:ssf1_sstg_jat" ], [ "750", "440,460", "JUMP:ssf1_sstg_jat" ], [ "760", "440,460", "JUMP:ssf1_sstg_jat" ], [ "800", "440,460", "JUMP:ssf1_sstg_jat" ], [ "950,999", "440,460", "JUMP:ssf1_sstg_jat" ], [ "110", "465", "ERROR:" ], [ "120", "465", "JUMP:ssf1_sstg_jat" ], [ "130", "465", "ERROR:" ], [ "140,160,180", "465", "JUMP:ssf1_sstg_jat" ], [ "310,410", "465", "ERROR:" ], [ "420", "465", "JUMP:ssf1_sstg_jat" ], [ "430", "465", "ERROR:" ], [ "440", "465", "JUMP:ssf1_sstg_jat" ], [ "450", "465", "ERROR:" ], [ "460", "465", "JUMP:ssf1_sstg_jat" ], [ "470", "465", "ERROR:" ], [ "500,520,540", "465", "JUMP:ssf1_sstg_jat" ], [ "590", "465", "ERROR:" ], [ "680,700,720,740", "465", "JUMP:ssf1_sstg_jat" ], [ "750", "465", "ERROR:" ], [ "760", "465", "JUMP:ssf1_sstg_jat" ], [ "800", "465", "ERROR:" ], [ "950,999", "465", "JUMP:ssf1_sstg_jat" ], [ "110", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "120", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "130", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "140,160,180", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "310,410", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "420", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "430", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "440", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "450", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "460", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "470", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "500,520,540", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "590", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "680,700,720,740", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "750", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "760", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "800", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "950,999", "470,490,540", "JUMP:ssf1_sstg_jat" ], [ "110", "550", "ERROR:" ], [ "120", "550", "JUMP:ssf1_sstg_jat" ], [ "130", "550", "ERROR:" ], [ "140,160,180", "550", "JUMP:ssf1_sstg_jat" ], [ "310,410", "550", "ERROR:" ], [ "420", "550", "JUMP:ssf1_sstg_jat" ], [ "430", "550", "ERROR:" ], [ "440", "550", "JUMP:ssf1_sstg_jat" ], [ "450", "550", "ERROR:" ], [ "460", "550", "JUMP:ssf1_sstg_jat" ], [ "470", "550", "ERROR:" ], [ "500,520,540", "550", "JUMP:ssf1_sstg_jat" ], [ "590", "550", "ERROR:" ], [ "680,700,720,740", "550", "JUMP:ssf1_sstg_jat" ], [ "750", "550", "ERROR:" ], [ "760", "550", "JUMP:ssf1_sstg_jat" ], [ "800", "550", "ERROR:" ], [ "950,999", "550", "JUMP:ssf1_sstg_jat" ], [ "110", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "120", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "130", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "140,160,180", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "310,410", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "420", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "430", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "440", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "450", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "460", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "470", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "500,520,540", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "590", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "680,700,720,740", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "750", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "760", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "800", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "950,999", "560,570,590", "JUMP:ssf1_sstg_jat" ], [ "110", "725,745,755", "ERROR:" ], [ "120", "725,745,755", "JUMP:ssf1_sstg_jat" ], [ "130", "725,745,755", "ERROR:" ], [ "140,160,180", "725,745,755", "JUMP:ssf1_sstg_jat" ], [ "310,410", "725,745,755", "ERROR:" ], [ "420", "725,745,755", "JUMP:ssf1_sstg_jat" ], [ "430", "725,745,755", "ERROR:" ], [ "440", "725,745,755", "JUMP:ssf1_sstg_jat" ], [ "450", "725,745,755", "ERROR:" ], [ "460", "725,745,755", "JUMP:ssf1_sstg_jat" ], [ "470", "725,745,755", "ERROR:" ], [ "500,520,540", "725,745,755", "JUMP:ssf1_sstg_jat" ], [ "590", "725,745,755", "ERROR:" ], [ "680,700,720,740", "725,745,755", "JUMP:ssf1_sstg_jat" ], [ "750", "725,745,755", "ERROR:" ], [ "760", "725,745,755", "JUMP:ssf1_sstg_jat" ], [ "800", "725,745,755", "ERROR:" ], [ "950,999", "725,745,755", "JUMP:ssf1_sstg_jat" ], [ "110", "765", "JUMP:ssf1_sstg_jat" ], [ "120", "765", "JUMP:ssf1_sstg_jat" ], [ "130", "765", "JUMP:ssf1_sstg_jat" ], [ "140,160,180", "765", "JUMP:ssf1_sstg_jat" ], [ "310,410", "765", "JUMP:ssf1_sstg_jat" ], [ "420", "765", "JUMP:ssf1_sstg_jat" ], [ "430", "765", "JUMP:ssf1_sstg_jat" ], [ "440", "765", "JUMP:ssf1_sstg_jat" ], [ "450", "765", "JUMP:ssf1_sstg_jat" ], [ "460", "765", "JUMP:ssf1_sstg_jat" ], [ "470", "765", "JUMP:ssf1_sstg_jat" ], [ "500,520,540", "765", "JUMP:ssf1_sstg_jat" ], [ "590", "765", "JUMP:ssf1_sstg_jat" ], [ "680,700,720,740", "765", "JUMP:ssf1_sstg_jat" ], [ "750", "765", "JUMP:ssf1_sstg_jat" ], [ "760", "765", "JUMP:ssf1_sstg_jat" ], [ "800", "765", "JUMP:ssf1_sstg_jat" ], [ "950,999", "765", "JUMP:ssf1_sstg_jat" ], [ "110", "775,790,810", "ERROR:" ], [ "120", "775,790,810", "JUMP:ssf1_sstg_jat" ], [ "130", "775,790,810", "ERROR:" ], [ "140,160,180", "775,790,810", "JUMP:ssf1_sstg_jat" ], [ "310,410", "775,790,810", "ERROR:" ], [ "420", "775,790,810", "JUMP:ssf1_sstg_jat" ], [ "430", "775,790,810", "ERROR:" ], [ "440", "775,790,810", "JUMP:ssf1_sstg_jat" ], [ "450", "775,790,810", "ERROR:" ], [ "460", "775,790,810", "JUMP:ssf1_sstg_jat" ], [ "470", "775,790,810", "ERROR:" ], [ "500,520,540", "775,790,810", "JUMP:ssf1_sstg_jat" ], [ "590", "775,790,810", "ERROR:" ], [ "680,700,720,740", "775,790,810", "JUMP:ssf1_sstg_jat" ], [ "750", "775,790,810", "ERROR:" ], [ "760", "775,790,810", "JUMP:ssf1_sstg_jat" ], [ "800", "775,790,810", "ERROR:" ], [ "950,999", "775,790,810", "JUMP:ssf1_sstg_jat" ], [ "110", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "120", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "130", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "140,160,180", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "310,410", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "420", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "430", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "440", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "450", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "460", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "470", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "500,520,540", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "590", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "680,700,720,740", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "750", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "760", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "800", "950,960,970,999", "JUMP:extension_sstg_bcu" ], [ "950,999", "950,960,970,999", "JUMP:extension_sstg_bcu" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ss_codes.json b/src/test/resources/algorithms/cs/02.05.50/tables/ss_codes.json deleted file mode 100644 index ac4fe58cc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ss_codes.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ss_codes", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Summary Stage Codes", - "title" : "Summary Stage Allowable Codes", - "last_modified" : "2015-05-27T16:20:12.268Z", - "definition" : [ { - "key" : "ss", - "name" : "Display String", - "type" : "INPUT" - }, { - "key" : "stor_ss", - "name" : "Storage Code", - "type" : "ENDPOINT" - }, { - "key" : "comments", - "name" : "Comments", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "NONE", "VALUE: ", "(internal use only, no storage code needed)" ], [ "IS", "VALUE:0", "In situ" ], [ "L", "VALUE:1", "Localized" ], [ "RE", "VALUE:2", "Regional, direct extension" ], [ "RN", "VALUE:3", "Regional, lymph nodes only" ], [ "RE+RN", "VALUE:4", "Regional, extension and nodes" ], [ "RNOS", "VALUE:5", "Regional, NOS" ], [ "D", "VALUE:7", "Distant" ], [ "NA", "VALUE:8", "Not applicable" ], [ "U", "VALUE:9", "Unknown/Unstaged" ], [ "*", "VALUE: ", "Error" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sad.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sad.json deleted file mode 100644 index 4d9b48641..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sad.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_sad", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "subtitle" : "HER2: Fluorescence In Situ Hybridization (FISH) Lab Value", - "notes" : "**Note 1**: Record the results of only the Fluorescence In Situ Hybridization (FISH) test for Human Epidermal Growth Factor Receptor 2 (HER2) in this field. The test determines if there are additional copies of the HER2/neu gene in the tumor cells compared to the normal number. The results are reported as a ratio between the number of copies of the HER2/neu gene and the number of copies of chromosome 17, on which the gene resides.\n\n**Note 2**: Record the actual ratio if given. Enter the stated ratio to two decimal places. Use a trailing zero if needed.\n\n**Note 3**: The same laboratory test should be used to record information in CS Site-Specific Factors 10 and 11.\n\n**Note 4**: If the test is done but the actual ratio is not stated, use code 997.\n\n**Note 5**: If the test is not mentioned in the medical record, code to 999 unless there are circumstances under which the test isn't performed, for example no histologic specimen.", - "last_modified" : "2015-05-27T16:19:52.997Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100-979", "Ratio of 1.00 - 9.79 \n(Enter exact ratio to two decimal places)\n\nExamples:\n 100 1.0\n 120 1.2\n 564 5.64" ], [ "980", "Ratio of 9.80 or greater" ], [ "981-986", "OBSOLETE DATA CONVERTED V0203\nSee code 980\n\nRatio of 9.81 - 9.86" ], [ "987", "OBSOLETE DATA CONVERTED V0203\nSee code 980\n\nRatio of 9.87 or greater" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "991", "Ratio of less than 1.00" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sat.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sat.json deleted file mode 100644 index 29bbb2fff..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sat.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_sat", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "subtitle" : "Sicca Syndrome", - "notes" : "**Note**: Code any history of Sicca syndrome as documented by the physician or coded in the medical record. Sicca syndrome is an eye condition in which there is decreased tear production and inflammation of the cornea and conjunctiva that may be associated with connective tissue diseases.", - "last_modified" : "2015-05-27T16:19:53.044Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of Sicca syndrome" ], [ "010", "History of Sicca syndrome" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_saz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_saz.json deleted file mode 100644 index 1f6ef7591..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_saz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_saz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "subtitle" : "Gleason's Score on Prostatectomy/Autopsy", - "notes" : "**Note 1**: Code the Gleason's score from prostatectomy or autopsy only in this field.\n\n**Note 2**: Code the Gleason's score prior to neoadjuvant treatment.\n\n**Note 3**: Usually prostate cancers are graded using Gleason's score or pattern. Gleason's grading for prostate primaries is based on a 5-component system (5 histologic patterns). Prostatic cancer generally shows two main histologic patterns. The primary pattern, the pattern occupying greater than 50% of the cancer, is usually indicated by the first number of the Gleason's grade, and the secondary pattern is usually indicated by the second number. These two numbers are added together to create a pattern score, ranging from 2 to 10.\n\n* If there are two numbers, assume that they refer to two patterns (the first number being the primary pattern and the second number being the secondary pattern), and sum them to obtain the score.\n* If only one number is given and it is less than or equal to 5, code the total score to 999, unknown or no information. \n* If only one number is given and it is greater than 5, assume that it is a score and code as stated. \n* If the pathology report specifies a specific number out of a total of 10, the first number given is the score. Example: The pathology report says Gleason's 3/10. The Gleason's score would be 3, and coded as 003.\n\n**Note 4**: Record the Gleason's score based on the addition of the primary and secondary patterns coded in CS Site-Specific Factor 9.\n\n**Note 5**: If prostatectomy and autopsy are not performed, assign code 998. If the Gleason's pattern and score are not documented on prostatectomy or autopsy, assign code 999.\n\n**Note 6**: If a tertiary pattern is documented on prostatectomy or autopsy, do not code in either CS Site-Specific Factor 9 or CS Site-Specific Factor 10. Record the tertiary pattern in CS Site-Specific Factor 11.", - "last_modified" : "2015-05-27T16:19:53.088Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "002-010", "Gleason's Score \n(See Notes 1-5) " ], [ "988", "Not applicable: Information not collected for this case (If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No prostatectomy/autopsy performed" ], [ "999", "No Gleason's score documented on prostatectomy/autopsy\nNo residual disease on prostatectomy/autopsy\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_scm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_scm.json deleted file mode 100644 index 19891f0f6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_scm.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_scm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "subtitle" : "Prior Radiation", - "notes" : "**Note**: Code history of prior radiation to the tumor field as documented by the physician in the medical record.", - "last_modified" : "2015-05-27T16:19:53.160Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of prior radiation to tumor field " ], [ "010", "History of prior radiation to tumor field" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sek.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sek.json deleted file mode 100644 index dd0616cf5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sek.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_sek", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "subtitle" : "Pre-Orchiectomy Lactate Dehydrogenase (LDH) Range", - "notes" : "**Note 1**: Of the three tumor markers, lactate dehydrogenase (LDH) is the least specific for testicular cancer and is more of a determinant of bulky or disseminated disease. Although recommended to be tested, LDH may not be routinely performed, especially if the primary is localized.\n\n**Note 2**: Record the range of the LDH test as documented in the patient record prior to orchiectomy and other treatment. \n\n**Note 3**: If the pre-orchiectomy LDH test is unavailable but a physician's statement of the result is documented, use codes 991-993.\n\n**Note 4**: For rare cases that are treated prior to orchiectomy, use code 995 in this field and record the initial LDH range in CS Site-Specific Factor 16.\n\n**Note 5**: For rare cases that an orchiectomy is not performed, use code 996 in this field and record the initial LDH range in CS Site-Specific Factor 16.", - "last_modified" : "2015-05-27T16:19:53.201Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Within normal limits (S0)" ], [ "010", "Range 1 (S1) less than 1.5 x N \n(Less than 1.5 times the upper limit of normal for LDH)" ], [ "020", "Range 2 (S2) 1.5 to 10 x N \n(Between 1.5 and 10 times the upper limit of normal for LDH)" ], [ "030", "Range 3 (S3) greater than 10 x N \n(Greater than 10 times the upper limit of normal for LDH)" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "991", "Pre-orchiectomy LDH stated to be elevated" ], [ "992", "Pre-orchiectomy LDH unknown but preorchiectomy serum tumor markers NOS stated to be normal" ], [ "993", "Pre-orchiectomy LDH unknown but preorchiectomy serum tumor markers NOS stated to be elevated" ], [ "995", "Pretreated case, initial LDH range recorded in CS Site-Specific Factor 16" ], [ "996", "No orchiectomy performed, initial LDH range recorded in CS Site-Specific Factor 16" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_seq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_seq.json deleted file mode 100644 index 8cf5c99b1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_seq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_seq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "subtitle" : "Involvement of Corpus Spongiosum/Corpus Cavernosum", - "notes" : "**Note 1**: Information about involvement of the corpus spongiosum and corpus cavernosum is collected in CS Extension as an element in anatomic staging. This information is also collected in this field as it may have an independent effect on prognosis. \n\n**Note 2**: Record the involvement of the corpus spongiosum and corpus cavernosum as documented in the pathology report. Assign code 000 if surgical resection of the primary site is performed and includes corpus spongiosum and/or corpus cavernosum, the pathology report is available for review, and corpus spongiosum and/or corpus cavernosum involvement is not mentioned. If surgical resection of the primary site is performed without corpus spongiosum and/or corpus cavernosum included in the specimen, assign code 998.", - "last_modified" : "2015-05-27T16:19:53.244Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Involvement of corpus spongiosum and/or corpus cavernosum not present/not identified" ], [ "010", "Involvement of corpus spongiosum only" ], [ "020", "Involvement of corpus cavernosum only" ], [ "030", "020 + 010\n\nInvolvement of corpus cavernosum and corpus spongiosum" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No surgical resection of primary site\nSurgical resection of primary site but corpus spongiosum/corpus cavernosum not part of specimen" ], [ "999", "Unknown \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sex.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sex.json deleted file mode 100644 index d4e21425e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sex.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_sex", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1**: The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis) for vulvar cancer. Use code 987 for any case where CS Extension is coded 000.\n\n**Note 2**: Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it. Do not attempt to code FIGO stage based only on T, N, and M. If you cannot make a determination of stage based on the previous information, use code 999, stage unknown.", - "last_modified" : "2015-05-27T16:19:53.289Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage I [NOS]" ], [ "110", "FIGO Stage IA" ], [ "120", "FIGO Stage IB" ], [ "200", "FIGO Stage II" ], [ "300", "FIGO Stage III [NOS]" ], [ "310", "FIGO Stage IIIA" ], [ "320", "FIGO Stage IIIB" ], [ "330", "FIGO Stage IIIC" ], [ "400", "FIGO Stage IV [NOS]" ], [ "410", "FIGO Stage IVA" ], [ "420", "FIGO Stage IVB" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive,)" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sfi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sfi.json deleted file mode 100644 index 5fcbf2b0a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sfi.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_sfi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "subtitle" : "Tumor Growth Pattern", - "notes" : "**Note 1**: Cholangiocarcinoma may be classified by growth pattern. The tumor growth patterns of intrahepatic cholangiocarcinoma include the mass forming type, the periductal infiltrating type, and a mixed type. The periductal infiltrating type of cholangiocarcinoma demonstrates a diffuse longitudinal growth pattern along the bile duct. Limited analyses suggest that the diffuse periductal infiltrating type is associated with a poor prognosis.\n\n**Note 2**: Record the presence or absence of an infiltrating periductal component. This information may be obtained from radiology, surgery, or pathology reports. \n\n**Note 3**: Only code absence of periductal component if a physician states that periductal component is not present or if the tumor is described as mass-forming only. If diagnostic and/or treatment records are not available, record 999 for unknown.", - "last_modified" : "2015-05-27T16:19:53.352Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Absence of periductal component" ], [ "010", "Presence of periductal component" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sfj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sfj.json deleted file mode 100644 index e2c0bfc90..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sfj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_sfj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "subtitle" : "Tumor Growth Pattern", - "notes" : "**Note 1**: Cholangiocarcinoma may be classified by growth pattern. The tumor growth patterns of intrahepatic cholangiocarcinoma include the mass forming type, the periductal infiltrating type, and a mixed type. The periductal infiltrating type of cholangiocarcinoma demonstrates a diffuse longitudinal growth pattern along the bile duct. Limited analyses suggest that the diffuse periductal infiltrating type is associated with a poor prognosis.\n\n**Note 2**: Record the presence or absence of an infiltrating periductal component. This information may be obtained from radiology, surgery, or pathology reports. \n\n**Note 3**: Only code absence of periductal component if a physician states that periductal component is not present or if the tumor is described as mass-forming only. If diagnostic and/or treatment records are not available, record 999 for unknown. \n\n**Note 4**: All tumors with a periductal infiltrating growth pattern are considered T4 by AJCC. For tumors with periductal infiltrating growth pattern, code the most specific information available about the extent of the tumor in CS Extension, and code periductal infiltrating growth pattern here. The algorithm will adjust the T category for tumors with periductal growth pattern.", - "last_modified" : "2015-05-27T16:19:53.397Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Absence of periductal component" ], [ "010", "Presence of periductal component" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sne.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sne.json deleted file mode 100644 index fcdf3a6f2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sne.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf10_sne", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "last_modified" : "2015-05-27T16:19:53.528Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spd.json deleted file mode 100644 index 7ede91171..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_spd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "subtitle" : "Human Papilloma Virus (HPV) Status", - "notes" : "**Note 1**: There is evidence that human papilloma virus (HPV) plays a role in the pathogenesis of some cancers. HPV testing may be performed for prognostic purposes; testing may also be performed on metastatic sites to aid in determination of the primary site.\n\n**Note 2**: Record the results of any HPV testing performed on pathologic specimens from the primary tumor or a metastatic site, including lymph nodes. Do not record the results of blood tests or serology.\n\n**Note 3**: HPVs are divided into high-risk and low-risk types. The highest risk HPV types are types 16 and 18. Other high-risk types are 26, 31, 33, 35, 36, 45, 51, 52, 53, 56, 58, 59, 66, 67, 68, 69, 70, 73, 82, and 85. The HPV vaccine is designed to protect against types 16 and 18 (associated with cervical cancer) and types 6 and 11 (associated with genital warts). Low-risk types are 6, 11, 32, 34, 40, 42, 44, 54, 61, 62, 64, 71, 72, 74, 81, 83, 84, 87, and 89.\n\n**Note 4**: High-risk may be abbreviated hrHPV or HR-HPV.\n\n**Note 5**: Some tests for HPV, such as a hybrid capture test, may only report negative or positive results for high-risk HPV without identifying types. Use codes 000 or 060, respectively, to report those test results.\n\n**Note 6**: Codes 010-050 are hierarchical; use the highest code that applies.", - "last_modified" : "2015-05-27T16:19:53.633Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Human papilloma virus (HPV) negative for high-risk and low-risk types\nHPV negative for high-risk types with no mention of low-risk types\nHPV Negative, NOS" ], [ "010", "HPV positive for low-risk types only " ], [ "020", "HPV positive for specified high risk type(s) other than types 16 or 18" ], [ "030", "HPV positive for high-risk type 16 \nWITHOUT positive results for high-risk type18 or positivity of high-risk type 18 unknown" ], [ "040", "HPV positive for high-risk type18 \nWITHOUT positive results for high-risk type 16 or positivity of high-risk type 16 unknown" ], [ "050", "HPV positive for high-risk types16 AND 18" ], [ "060", "HPV positive for high-risk type(s), NOS, high-risk type(s) not stated" ], [ "070", "HPV positive, NOS, risk and type(s) not stated" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test was not ordered and was not performed), including no pathologic specimen available for HPV testing" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spi.json deleted file mode 100644 index 25df5bc9a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spi.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_spi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "subtitle" : "18q Loss of Heterozygosity (LOH)", - "notes" : "**Note 1**: This is a special molecular diagnostic test performed on tumor tissue to identify loss of genetic material normally found on the long arm of one of the patient's two copies of chromosome 18. A normal cell will contain two complete copies of each chromosome, one from each parent, and this normal state is termed heterozygous. Loss of heterozygosity (LOH) is an abnormal state reflecting damage to the chromosome that may mean that normal tumor suppression functions cannot take place.\n\n**Note 2**: Other terms for LOH include gene deletion and allelic loss.", - "last_modified" : "2015-05-27T16:19:53.698Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Test positive for loss of heterozygosity (LOH)" ], [ "020", "Test negative for LOH; normal heterozygous state" ], [ "030", "Undetermined if LOH positive or negative" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spz.json deleted file mode 100644 index 77374195e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_spz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_spz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "subtitle" : "Mean Diameter Nucleoli (MLN)", - "notes" : "**Note 1**: Record the mean diameter of the 10 largest nucleoli (MLN) measured on a tissue sample. The absolute values depend on the staining and imaging methods used. Larger values are associated with shorter survival.\n\n**Note 2**: Record the value as expressed in tenths of micrometers. Record the information based on quartiles for laboratory standards If this is the only expression of results.", - "last_modified" : "2015-05-27T16:19:53.749Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-050", "Mean diameter of 10 largest nucleoli in tenths of micrometers" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "991", "Lowest quartile for laboratory " ], [ "992", "Second quartile for laboratory" ], [ "993", "Third quartile for laboratory" ], [ "994", "Highest quartile for laboratory" ], [ "997", "Test performed, unknown results" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sqj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sqj.json deleted file mode 100644 index a77c293af..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sqj.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ssf10_sqj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "subtitle" : "Location of Primary Tumor", - "notes" : "**Note**: Since both omental and peritoneal gastrointestinal stromal tumors (GIST) are coded with the same ICD-O-3 topography code (C48.1), this Site-Specific Factor must be used to identify the appropriate AJCC stage table.", - "last_modified" : "2015-05-27T16:19:53.798Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "stage_table", - "name" : "Stage Table", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "Mesentery\nMesoappendix\nMesocolon", "JUMP:ajcc7_stage_upy" ], [ "020", "Omentum", "JUMP:ajcctnm7_stage_giststomach_xit" ], [ "030", "Pelvic Peritoneum", "JUMP:ajcc7_stage_upy" ], [ "040", "Rectouterine pouch\n Cul de sac\n Pouch of Douglas", "JUMP:ajcc7_stage_upy" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 may result in an edit error.)", "ERROR:" ], [ "998", "Other specified peritoneal site", "JUMP:ajcc7_stage_upy" ], [ "999", "Unknown or no information\nNot documented in patient record", "JUMP:ajcc7_stage_upy" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sqs.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sqs.json deleted file mode 100644 index 54f314e5a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_sqs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_sqs", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "subtitle" : "Clark Level", - "notes" : "**Note**: Code the Clark level as documented in the pathology report.", - "last_modified" : "2015-05-27T16:19:53.851Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Clark level I\nIn situ, intraepidermal, intraepithelial, noninvasive \nBasement membrane of epidermis is intact" ], [ "020", "Clark level II\nPapillary dermis invaded" ], [ "030", "Clark level III\nPapillary-reticular dermal interface invaded" ], [ "040", "Clark level IV\nReticular dermis invaded" ], [ "050", "Clark level V\nSubcutaneous tissue invaded (through entire dermis)" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown Clark level or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_srh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_srh.json deleted file mode 100644 index 7c5a8142b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf10_srh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_srh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF10", - "title" : "CS Site-Specific Factor 10", - "subtitle" : "Tumor Multiplicity", - "notes" : "**Note**: When a patient has more than one area of gastrointestinal stromal tumor (GIST), it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. Code this form of metastasis in CS Mets at DX. \n\nTumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in CS Site-Specific Factor 10, Tumor Multiplicity.\n\nWhen a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in CS Site-Specific Factor 10, Tumor Multiplicity.\n\nWhen multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, code this site-specific factor as 010 (Multiple GIST tumors are present).", - "last_modified" : "2015-05-27T16:19:53.927Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Multiple gastrointestinal stromal tumors (GIST) not present in the surgical specimen; single GIST; unifocal GIST" ], [ "010", "Multiple GIST tumors present in the surgical specimen; multifocal GIST" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown if one tumor or multiple tumors \nNo information on tumor multiplicity\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sae.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sae.json deleted file mode 100644 index 5a5deac4e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sae.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sae", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "subtitle" : "HER2: Fluorescence In Situ Hybridization (FISH) Test Interpretation", - "notes" : "**Note 1**: Record the interpretation of only the Fluorescence In Situ Hybridization (FISH) test for Human Epidermal Growth Factor Receptor 2 (HER2) in this field.\n\n**Note 2**: The same laboratory test should be used to record information in CS Site-Specific Factors 10 and 11.\n\n**Note 3**: If the test is not mentioned in the medical record, code to 999 unless there are circumstances under which the test isn't performed, for example, no histologic specimen.", - "last_modified" : "2015-05-27T16:19:53.972Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated; amplified" ], [ "020", "Negative/normal; within normal limits; not amplified" ], [ "030", "Borderline; equivocal; indeterminate; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sba.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sba.json deleted file mode 100644 index 557c97d02..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sba.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sba", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "subtitle" : "Gleason's Tertiary Pattern Value on Prostatectomy/Autopsy", - "notes" : "**Note 1**: If present, a high tertiary Gleason's pattern appears to be an indication for a worse outcome.\n\n**Note 2**: Record the tertiary pattern documented on prostatectomy or autopsy only. Record the tertiary pattern prior to neoadjuvant treatment. If a tertiary pattern is documented on needle core biopsy or transurethral resection of prostate (TURP), it should be disregarded. Do not code the tertiary pattern on prostatectomy or autopsy in CS Site-Specific Factor 9 or CS Site-Specific Factor 10.", - "last_modified" : "2015-05-27T16:19:54.026Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Tertiary pattern 1" ], [ "020", "Tertiary pattern 2" ], [ "030", "Tertiary pattern 3" ], [ "040", "Tertiary pattern 4" ], [ "050", "Tertiary pattern 5" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No prostatectomy/autopsy performed" ], [ "999", "No Gleason's tertiary pattern documented on prostatectomy/autopsy\nNo residual disease on prostatectomy/autopsy\nUnknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sbt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sbt.json deleted file mode 100644 index 27e65a490..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sbt.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sbt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "subtitle" : "Histopathologic Grading", - "notes" : "**Note 1**: Histologic grading is used to distinguish between IVA and IVB anatomic stage/prognostic groups. It is considered to be of particular importance for mucinous carcinomas (morphology codes 8480, 8481, and 8490).\n\n**Note 2**: Select the code for the highest grade from the primary tumor tissue as described on the pathology report prior to neoadjuvant treatment.\n\n**Note 3**: The term \"undifferentiated\" should not apply to mucinous tumors because a tumor that makes mucin is, by definition, differentiated into mucin-producing tumor cells.", - "last_modified" : "2015-05-27T16:19:54.069Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "For NON-MUCINOUS tumors:\n Well differentiated\n Grade 1/4" ], [ "011", "For MUCINOUS tumors:\n Grade 1/2\n Grade 1/3\n Grade 1/4\n Low grade\n Well differentiated\n\nStated as Grade 1 with no information on the total number of codes in the grading system" ], [ "020", "For NON-MUCINOUS tumors:\n Moderately differentiated\n Grade 2/4" ], [ "021", "For MUCINOUS tumors:\n Grade 2/2\n Grade 2/3\n Grade 2/4\n Grade 3/3\n Grade 3/4\n High grade\n Moderately differentiated\n Poorly differentiated\n\n Stated as Grade 2 or Grade 3 with no information on the total number of codes in the grading system" ], [ "030", "For NON-MUCINOUS tumors:\n Poorly differentiated\n Grade 3/4" ], [ "040", "For NON-MUCINOUS tumors:\n Undifferentiated\n Grade 4/4" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No pathologic confirmation of primary site tumor" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_scj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_scj.json deleted file mode 100644 index ce5c117f2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_scj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_scj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "subtitle" : "Human Immunodeficiency Virus (HIV) Status", - "notes" : "**Note 1**: Human Immunodeficiency Virus (HIV) includes types I and II. Older terminology includes Human T-Lymphotropic Virus (HTLV-3) and Lymphadenopathy Associated Virus (LAV).\n\n**Note 2**: Code HIV status as identified in the medical record.", - "last_modified" : "2015-05-27T16:19:54.122Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative Human Immunodeficiency Virus (HIV) status" ], [ "010", "Positive HIV status" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_see.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_see.json deleted file mode 100644 index a915ca435..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_see.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ssf11_see", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "subtitle" : "Other Viral Infection", - "last_modified" : "2015-05-27T16:19:54.164Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Information not collected for this schema" ], [ "998", "Not applicable: Not currently implemented for this schema" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sel.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sel.json deleted file mode 100644 index 97d97a98c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sel.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sel", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "subtitle" : "OBSOLETE - Persistence of Elevated Serum Tumor Markers", - "notes" : "**Note**: This CS Site-Specific Factor is obsolete beginning with CS Version 0203 (codes, code descriptions, and notes). Old data are retained but the cases are reviewed and recoded in CS Site-Specific Factors 13, 15, and 16. Use code 988 for this field for all cases entered in version 0203.\n\n**OBSOLETE V0203 Note**: The persistence of elevated serum tumor markers is required to determine AJCC stage group IS. Record the presence or absence of persistent elevated serum tumor markers POSTORCHIECTOMY as stated by the physician in the patient record. Do not attempt to interpret the lab tests to determine the persistence of elevation. If the serum tumor markers were normal prior to orchiectomy, code 000.", - "last_modified" : "2015-05-27T16:19:54.222Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0203\nSee CS Site-Specific Factors 13, 15, and 16, codes 000, 992\n\nNo persistence of elevated serum tumor markers OR serum tumor markers prior to orchiectomy were normal\nSerum tumor markers returned to normal postorchiectomy" ], [ "010", "OBSOLETE DATA RETAINED V0203\nSee CS Site-Specific Factors 13, 15, and 16, codes 010, 020, 030, 991, 993\n\nPersistence of elevated serum tumor markers\nSerum tumor markers still elevated postorchiectomy\nStated as Stage IS" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "OBSOLETE DATA RETAINED V0203\nSee CS Site-Specific Factors 13, 15, and 16, codes 990, 999\n\nUnknown if persistence of elevated serum tumor markers postorchiectomy \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_ser.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_ser.json deleted file mode 100644 index 7f74e4e84..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_ser.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_ser", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "subtitle" : "Poorly Differentiated Tumor Percentage", - "notes" : "**Note 1**: Record the exact percentage of the primary tumor that is poorly differentiated as documented in the pathology report.\n\n**Note 2**: For values greater than zero and less than 1%, round to 001. For codes 001 to 100, round values to the nearest percent.", - "last_modified" : "2015-05-27T16:19:54.274Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Poorly differentiated tumor not present/not identified" ], [ "001-100", "1 - 100 percent\n(Exact percentage of poorly differentiated tumor to nearest percent)\n\nExamples:\n 001 0.1 to 0.9%\n 005 5% \n 010 10% \n 099 99%" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "990", "Poorly differentiated tumor present, percent not stated" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_snf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_snf.json deleted file mode 100644 index a8632aa88..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_snf.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf11_snf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "last_modified" : "2015-05-27T16:19:54.319Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_spe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_spe.json deleted file mode 100644 index 9085260d1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_spe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_spe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "subtitle" : "Measured Thickness (Depth)", - "notes" : "**Note 1**: Code measured thickness (depth) of the invasive tumor only, not size, diameter, or any other measurement. Record the actual measurement in tenths of millimeters (mm) as stated on the pathology report. Do not record the measurement from a radiographic report.\n\n**Note 2**: Record the measurement labeled specifically as thickness or depth of tumor. In the absence of a label, use the \"cut surface\" dimension, or the third dimension from a description of 3 dimensions (N1 x N2 x N3). For example, for a tumor size recorded as 2 centimeters (cm) x 1cm x 0.5 cm, record 050.", - "last_modified" : "2015-05-27T16:19:54.361Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "00.1 - 97.9 millimeters (mm)\n(Exact thickness in tenths of mm)\n \nExamples: \n 001 0.1 mm \n 010 1 mm\n 042 4.2 mm \n 100 10 mm, 1 cm \n 103 10.3 mm" ], [ "980", "98.0 mm or larger" ], [ "987", "Not applicable: In situ carcinoma" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "990", "Microinvasion \nMicroscopic focus or foci only and no depth given" ], [ "998", "No surgical specimen from primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_spk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_spk.json deleted file mode 100644 index eaef9d78c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_spk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_spk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1**: The mitotic rate, the count of mitoses (also termed \"mitotic figures\") per 50 high-power fields (HPF), reflects the potential aggressiveness or prognosis of gastrointestinal stromal tumors (GIST) and is used alone to determine their histologic grade (low or high). The mitotic rate is also a factor in assigning the AJCC 7 anatomic stage/prognostic group. This site-specific factor presumes the denominator of 50 HPF or its equivalent, so just the numerator (the mitotic count) is coded here. For other schemas in which mitotic count is collected, the denominator may vary.\n\n**Note 2**: A HPF usually has a magnification objective of 40 (a 40x field). As described in the AJCC chapter on GIST, 50 HPF are equivalent to viewing a total area of 5 square millimeters (mm) at 40x magnification.\n\n**Note 3**: Record mitotic count, to the nearest tenth of a mitosis, as documented in the pathology report. For example, a mitotic count of 6/50 HPF, or 6 per 5 square mm, would be coded 060.\n\n**Note 4**: Code the specific mitotic count only per 50 HPF or 5 square mm; assume the denominator is 50 HPF or 5 square mm if not specified. \n\n**Note 5**: Use code 996 for a description of mitoses, NOS, or if the mitotic count is expressed with a specific denominator other than 50 HPF or 5 square mm.", - "last_modified" : "2015-05-27T16:19:54.407Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 mitoses per 50 HPF (40x fields)\n0.0 mitoses per 5 square mm\nMitoses absent\nNo mitoses present" ], [ "001-008", "0.1 - 0.8 mitoses per 50 HPF (40x fields)\n0.1 - 0.8 mitoses per 5 square mm" ], [ "009", "0.9 mitoses per 50 HPF (40x fields)\n0.9 mitoses per 5 square mm\n\nStated as less than 1 mitosis per 50 HPF (40x fields)\nStated as less than 1 mitosis per 5 square mm" ], [ "010-100", "1 - 10 mitoses per 50 HPF (40x fields)\n1 - 10 mitoses per 5 square mm" ], [ "110", "11 or more mitoses per 50 HPF (40x fields)\n11 or more mitoses per 5 square mm" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "990", "Specific number not stated, described as less than or equal to 5 mitoses per 50 HPF (40x fields)\nSpecific number not stated, described as less than or equal to 5 mitoses per 5 square mm\n\nStated as low mitotic count or rate with no specific number" ], [ "991", "Specific number not stated, described as more than 5 mitoses per 50 HPF (40x fields)\nSpecific number not stated, described as more than 5 mitoses per 5 square mm\n\nStated as high mitotic count or rate with no specific number" ], [ "995", "OBSOLETE DATA CONVERTED V0203\nSee code 991\n\nSpecific number not stated, described as greater than 5 mitoses per 50 high power fields (40x field)\nSpecific number not stated, described as greater than 5 mitoses per 5 square millimeters" ], [ "996", "Mitotic count described with denominator other than 50 HPF (40x field)/5 square mm\nMitoses present, NOS" ], [ "998", "No histologic specimen from primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sps.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sps.json deleted file mode 100644 index 79a721cd1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sps.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sps", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1**: The mitotic count, the number of mitoses per 10 high-power fields (HPF), is an element in a proposed grading scheme for neuroendocrine tumors (NETs) of the gastrointestinal system. This site-specific factor presumes the denominator of 10 HPF, so just the numerator (the mitotic count) is coded here. For other schemas in which mitotic count is collected, the denominator may vary.\n\n**Note 2**: As described in the AJCC chapter on NETs, 10 HPF at a magnification objective of 40 (40x) are equivalent to 2 square millimeters (mm).\n\n**Note 3**: Record mitotic count to the nearest tenth as documented in the pathology report. For example, a mitotic count of 3/10 HPF would be coded 030.\n\n**Note 4**: Code the specific mitotic count only per 10 HPF or 2 square mm; assume the denominator is 10 HPF or 2 square mm if not specified. Use code 996 only if the mitotic count is expressed with a specific denominator other than 10 HPF or 2 square mm.", - "last_modified" : "2015-05-27T16:19:54.453Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 mitoses per 10 high-power fields (40x field)\n0 mitoses per 2 square millimeters \nMitoses absent\nNo mitoses present" ], [ "001-008", "0.1 - 0.8 mitosis per 10 HPF (40x field)\n0.1 - 0.8 mitosis per 2 square mm" ], [ "009", "0.9 mitosis per 10 HPF (40x field)\n0.9 mitosis per 2 square mm \nStated as less than 1 mitosis per 10 HPF (40x field)\nStated as less than 1 mitosis per 2 square mm" ], [ "010-500", "1-50 mitoses per 10 HPF (40x field)\n1-50 mitoses per 2 square mm" ], [ "510", "51 or more mitoses per 10 HPF (40x field)\n51 or more mitoses per 2 square mm" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Specific number not stated, described as less than 2 mitoses per 10 HPF (40x field)\nSpecific number not stated, described less than 2 mitoses per 2 square mm\n\nStated as low mitotic count or rate with no specific number" ], [ "991", "Specific number not stated, described as between 2 and 20 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as between 2 and 20 mitoses per 2 square mm" ], [ "992", "Specific number not stated, described as more than 20 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as more than 20 mitoses per 2 square mm\n\nStated as high mitotic count or rate with no specific number" ], [ "995", "OBSOLETE DATA CONVERTED V0203\nSee code 991\n\nSpecific number not stated, described as between 2-20 mitoses per 10 high-power fields (40x field)\nSpecific number not stated, described as between 2-20 mitoses per square millimeter" ], [ "996", "Mitotic count described with denominator other than 10 HPF (40x field) or 2 square mm" ], [ "997", "OBSOLETE DATA CONVERTED V0203\nSee code 992\n\nSpecific number not stated, described as more than 20 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as more than 20 mitoses per square mm" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqa.json deleted file mode 100644 index a86deb6d2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sqa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "subtitle" : "Extravascular Matrix Patterns, Loops", - "notes" : "**Note**: Record results as reported on clinical examination with confocal indocyanine green angiography, or on pathologic examination of tissue if resection performed.", - "last_modified" : "2015-05-27T16:19:54.500Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Loops identified on clinical examination, no pathologic assessment " ], [ "020", "Loops not identified on clinical examination, no pathologic assessment" ], [ "030", "Loops not identified on clinical examination, identified on pathologic assessment" ], [ "040", "Loops not identified on clinical examination, not identified on pathologic assessment" ], [ "050", "Loops identified on pathologic assessment, no clinical examination" ], [ "060", "Loops not identified on pathologic assessment, no clinical examination" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Extravascular matrix patterns assessed, results not available" ], [ "998", "Extravascular matrix patterns not assessed clinically or pathologically" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqe.json deleted file mode 100644 index e0d9fc09f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sqe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "subtitle" : "Primary Sclerosing Cholangitis (PSC)", - "notes" : "**Note 1**: Primary Sclerosing Cholangitis (PSC) is a disease that damages and blocks bile ducts inside and outside the liver. In PSC, inflammation of the bile ducts leads to scar formation and narrowing of the ducts over time. As scarring increases, the ducts become blocked. As a result, bile builds up in the liver and damages liver cells. Eventually, scar tissue can spread throughout the liver, causing cirrhosis and liver failure.\n\n**Note 2**: Code stated diagnosis of PSC either clinically or pathologically as documented in the medical record. This may be by history.\n\n**Note 3**: If a medical history and/or pathology report is available and PSC is not mentioned, record 000 as absence of PSC. If the medical history and pathology report are not documented in the record or the record is not available, record 999 for unknown.", - "last_modified" : "2015-05-27T16:19:54.543Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Absence of primary sclerosing cholangitis (PSC)" ], [ "010", "Presence of PSC" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqt.json deleted file mode 100644 index b3871dfc5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sqt.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sqt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "subtitle" : "Perineural Invasion", - "notes" : "**Note**: Code the presence or absence of perineural invasion as documented in the pathology report. Assign code 000 if histologic examination of primary site was performed, the pathology report is available for review, and perineural invasion is not mentioned.", - "last_modified" : "2015-05-27T16:19:54.601Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Perineural invasion not present/not identified" ], [ "010", "Perineural invasion present/identified" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_srd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_srd.json deleted file mode 100644 index ce1cab4da..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_srd.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ssf11_srd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "subtitle" : "Regional Lymph Node - Laterality", - "last_modified" : "2015-05-27T16:19:54.648Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All regional lymph nodes negative" ], [ "010", "Unilateral - all positive regional nodes with same laterality\nOR only one regional node positive" ], [ "020", "Bilateral - positive bilateral regional lymph nodes" ], [ "030", "Laterality unknown - positive regional lymph nodes with unknown laterality" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sri.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sri.json deleted file mode 100644 index 75fd43e3d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf11_sri.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sri", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF11", - "title" : "CS Site-Specific Factor 11", - "subtitle" : "Serum Chromogranin A (CgA) Lab Value", - "notes" : "**Note 1**: Chromoganins are a family of proteins in secretory granules found throughout the neuroendocrine system. Serum Chromagranin A (CgA) has shown to be a useful marker for neuroendocrine tumors.\n\n**Note 2**: Record the nearest nanogram/milliliter (ng/ml) the highest CgA lab value recorded in the medical record prior to treatment. For example, code a pretreatment CgA of 400 ng/ml as 400.\n\n**Note 3**: Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of CgA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 ng/ml should be coded 001. For code 001, also round 1.1-1.4 ng/ml down to 1 ng/ml. For codes 002-979, round values to the nearest ng/ml.\n\n**Note 4**: For an uncertain value, record the stated closest value. For example, code a value stated as \"less than 5 ng/ml\" as 005.", - "last_modified" : "2015-05-27T16:19:54.698Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "CONVERTED AND CODE REUSED V0203 Prior to V0203 code defined as \"Test not done (test not ordered or not performed)\". Cases converted to code 998 with V0203 and code 000 redefined as \"0 nanogram/milliliter (ng/ml)\". 0 nanogram/milliliter (ng/ml)" ], [ "001", "1 or less ng/ml" ], [ "002-979", "002-979 ng/ml" ], [ "980", "980 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "CONVERTED AND CODE REUSED V0203 Prior to V0203 code defined as \"Test ordered, results not in chart\". Cases converted to code 997 with V0203 and code 998 redefined as \"Test not done (test not ordered and not performed)\". Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_saf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_saf.json deleted file mode 100644 index b5140fc5d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_saf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_saf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF12", - "title" : "CS Site-Specific Factor 12", - "subtitle" : "HER2: Chromogenic In Situ Hybridization (CISH) Lab Value", - "notes" : "**Note 1**: Record the results of only the Chromogenic In Situ Hybridization (CISH) test for Human Epidermal Growth Factor Receptor 2 (HER2) in this field. The test determines whether there are additional copies of the HER2/neu gene in the tumor cells. The results are reported as the mean number of copies of the HER2/neu gene on either 30 or 60 tumor cells.\n\n**Note 2**: Record the actual mean if given. Enter the stated mean to two decimal places. Use a trailing zero if needed.\n\n**Note 3**: The same laboratory test should be used to record information in CS Site-Specific Factors 12 and 13.\n\n**Note 4**: If the test is done but the actual mean is not stated, use code 997.\n\n**Note 5**: If the test is not mentioned in the medical record, code to 999 unless there are circumstances under which the test isn't performed, for example, no histologic specimen.", - "last_modified" : "2015-05-27T16:19:54.741Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100-979", "Mean of 1.00 - 9.79\n(Enter exact mean to two decimal places)\n\nExamples:\n 100 1.0\n 120 1.2\n 564 5.64" ], [ "980", "Mean of 9.80 or greater" ], [ "981-986", "OBSOLETE DATA CONVERTED V0203\nSee code 980\n\nMean of 9.81 - 9.86" ], [ "987", "OBSOLETE DATA CONVERTED V0203\nSee code 980\n\nMean of 9.87 or greater" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "991", "Mean of less than 1.00" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sbb.json deleted file mode 100644 index 8dd14396f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sbb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sbb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF12", - "title" : "CS Site-Specific Factor 12", - "subtitle" : "Number of Cores Positive", - "notes" : "**Note 1**: Record the number of prostate core biopsies positive for cancer documented in the pathology report. Do not make assumptions on the number of cores positive based on the number of anatomic locations biopsied because often several cores are submitted per site. Fragments are not synonymous with cores and are not counted as cores unless the pathologist has included the fragments in the core count. If the number of cores positive is not specifically documented, code 991.\n\n**Note 2**: If multiple needle core biopsy procedures are performed during the initial diagnostic workup, do not add together the positive cores from the separate procedures. Record the number of cores positive for cancer from the procedure with the highest number of cores positive.\n\n**Note 3**: Transperineal template-guided saturation biopsy (TTSB) is a stereotactic prostate biopsy technique that typically produces 30 to 80 core biopsies. This is an alternative biopsy technique used for some high risk patients including men with persistently elevated PSA, those who have atypia on prior prostate biopsies, or men with biopsies showing high grade prostatic intraepithelial neoplasia (PIN).", - "last_modified" : "2015-05-27T16:19:54.784Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All examined cores negative " ], [ "001-024", "1 - 24 cores positive \n(Exact number of cores positive)" ], [ "025", "CONVERTED AND CODE REUSED V0204 \nPrior to V0204 code defined as \"25 or more cores positive\". Cases converted to code 995 with V0204 and code 025 redefined as 25 cores positive.\n\n25 cores positive" ], [ "026-100", "26 - 100 cores positive\n(Exact number of cores positive)" ], [ "101", "101 or more cores positive" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "991", "Biopsy cores positive, number unknown" ], [ "995", "OBSOLETE DATA RETAINED V0204\nCases coded to 025 prior to V0204 are converted to code 995.\n\n25 or more cores positive" ], [ "998", "No needle core biopsy performed" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sbu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sbu.json deleted file mode 100644 index 063e22a7a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sbu.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sbu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF12", - "title" : "CS Site-Specific Factor 12", - "subtitle" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "notes" : "**Note 1**: Carbohydrate Antigen 19-9 (CA 19-9) is a tumor marker that has value in the management of epithelial appendiceal malignancies with peritoneal dissemination.\n\n**Note 2**: Record to the nearest tenth in Unit/milliliter (U/mL) the highest CA 19-9 lab value documented in the medical record prior to treatment. For example, code a pre-treatment CA 19-9 value of 60 U/mL as 600.\n\n**Note 3**: Code 000 is reserved for exactly 0.0 U/mL (no measurable amount of CA 19-9). Do not round tiny values down to 0.0 U/mL; any measured value less than or equal to 0.1 U/mL should be coded 001. For code 001, also round 0.11-0.14 U/mL down to 0.1 U/mL. For codes 002-980, round values to the nearest tenth of a U/ml.\n\n**Note 4**: Use code 997 if an interpretation is documented but the actual lab value is not available in the record.", - "last_modified" : "2015-05-27T16:19:54.831Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 Unit/milliliter (U/mL) exactly" ], [ "001", "0.1 or less U/mL Stated as less than 0.1 U/mL with no exact value" ], [ "002-979", "0.2-97.9 U/mL\n(Exact value to nearest tenth in U/mL)" ], [ "980", "98.0 or greater U/mL" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sck.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sck.json deleted file mode 100644 index b4bc0334f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sck.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sck", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF12", - "title" : "CS Site-Specific Factor 12", - "subtitle" : "Solid Organ Transplant", - "notes" : "**Note**: Code history of any solid organ transplant as identified in the medical record. Transplanted organs may include heart, lungs, kidney, pancreas, liver.", - "last_modified" : "2015-05-27T16:19:54.880Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of solid organ transplant" ], [ "010", "History of solid organ transplant" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sef.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sef.json deleted file mode 100644 index 1ea344350..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sef.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ssf12_sef", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF12", - "title" : "CS Site-Specific Factor 12", - "subtitle" : "Bacterial Infection", - "last_modified" : "2015-05-27T16:19:54.934Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Information not collected for this schema" ], [ "998", "Not applicable: Not currently implemented for this schema" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_ses.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_ses.json deleted file mode 100644 index abeb8b91b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_ses.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_ses", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF12", - "title" : "CS Site-Specific Factor 12", - "subtitle" : "Human Papilloma Virus (HPV) Status", - "notes" : "**Note 1**: There is evidence that HPV plays a role in the pathogenesis of some cancers. HPV testing may be performed for prognostic purposes; testing may also be performed on metastatic sites to aid in determination of the primary site.\n\n**Note 2**: Record the results of any HPV testing performed on pathologic specimens from the primary tumor or a metastatic site, including lymph nodes. Do not record the results of blood tests or serology.\n\n**Note 3**: HPVs are divided into high-risk and low-risk types. The highest risk HPV types are types 16 and 18. Other high-risk types are 26, 31, 33, 35, 36, 45, 51, 52, 53, 56, 58, 59, 66, 67, 68, 69, 70, 73, 82, and 85. The HPV vaccine is designed to protect against types 16 and 18 (associated with cervical cancer) and types 6 and 11 (associated with genital warts). Low-risk types are 6, 11, 32, 34, 40, 42, 44, 54, 61, 62, 64, 71, 72, 74, 81, 83, 84, 87, and 89. \n\n**Note 4**: High-risk may be abbreviated hrHPV or HR-HPV.\n\n**Note 5**: Some tests for HPV, such as a hybrid capture test, may only report negative or positive results for high-risk HPV without identifying types. Use codes 000 or 060, respectively, to report those test results.\n\n**Note 6**: Codes 010-050 are hierarchical; use the highest code that applies.", - "last_modified" : "2015-05-27T16:19:55.004Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "HPV negative for high-risk and low-risk types\nHPV negative for high-risk types with no mention of low-risk types\nHPV negative, NOS" ], [ "010", "HPV positive for low-risk types only " ], [ "020", "HPV positive for specified high risk type(s) other than types 16 or 18" ], [ "030", "HPV positive for high-risk type 16 \nWITHOUT positive results for high-risk type18 or positivity of high-risk type 18 unknown" ], [ "040", "HPV positive for high-risk type18 \nWITHOUT positive results for high-risk type 16 or positivity of high-risk type 16 unknown" ], [ "050", "HPV positive for high-risk types16 AND 18" ], [ "060", "HPV positive for high-risk type(s), NOS, high-risk type(s) not stated " ], [ "070", "HPV positive, NOS, risk and type(s) not stated" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed) No pathologic specimen available for HPV testing" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sev.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sev.json deleted file mode 100644 index 5fa3a699e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sev.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sev", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF12", - "title" : "CS Site-Specific Factor 12", - "subtitle" : "High Risk Features", - "notes" : "**Note 1**: For AJCC 7 staging, the T category is not only dependent on tumor size but also on several high-risk features that can upgrade the T category.\n\n**Note 2**: Based on the information in the medical record, the registrar is required to count and code the number of high risk features (each feature equals 1 risk factor). If specific information is available about some but not all of the high risk features, count the number of features documented in the record.\n\n* Poorly differentiated/Undifferentiated (grade 3 or 4)\n* Depth greater than 2 millimeters (mm) thickness\n* Clark level IV or V\n* Perineural invasion\n\n**Note 3**: Use codes 991, 992, and 993 only if no specific information is available about the high risk features, but the record contains a general statement about the presence of high risk features. \n\n**Note 4**: The definition of high risk features was changed with the release of CSv2:V0203: Lymph-vascular invasion was removed as a high-risk feature, and tumor depth was changed from greater than or equal to 4 mm to greater than 2 mm. All cases with codes 000-004 coded in or updated to CSv2:V0202 should be reviewed and the correct number of high-risk features determined and coded.", - "last_modified" : "2015-05-27T16:19:55.096Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No high risk features " ], [ "001", "1 high risk feature" ], [ "002", "2 high risk features" ], [ "003", "3 high risk features" ], [ "004", "4 high risk features" ], [ "005", "OBSOLETE DATA CONVERTED V0203\nThe list of high risk features in CS Version 2: V0201, V0202 included depth equal to or greater than 4 millimeters (mm) and lymph-vascular invasion. Depth was changed to greater than 2 mm and lymph-vascular invasion removed in the final list of high risk features published by AJCC. Cases coded 005 are converted to 004 in CS Version 2: V0203.\n\n5 high risk features" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "991", "Stated as less than 2 high risk features" ], [ "992", "Stated as 2 or more high risk features" ], [ "993", "Stated as high risk features, NOS" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sew.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sew.json deleted file mode 100644 index c6ee8d316..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sew.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sew", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF12", - "title" : "CS Site-Specific Factor 12", - "subtitle" : "High Risk Features", - "notes" : "**Note 1**: For AJCC 7 staging, the T category is not only dependent on tumor size but also on several high risk features that can upgrade the T assignment.\n\n**Note 2**: Based on the information in the medical record, the registrar is required to count and code the number of high risk features (each feature equals 1 risk factor). If specific information is available about some but not all of the high risk features, count the number of features documented in the record.\n\n* Poorly differentiated/Undifferentiated (grade 3 or 4)\n* Depth greater than 2 millimeter (mm) thickness \n* Clark level IV or V\n* Perineural invasion\n* Primary site: skin of external ear (C44.2) OR skin of lip (hair-bearing, also called non-glabrous lip) (C44.0)\n\n**Note 3**: Use codes 991, 992, and 993 only if no specific information is available about the high risk features (other than primary site), but the record contains a general statement about the presence of high risk features. \n\n**Note 4**: The definition of high risk features was changed with the release of CSv2:V0203: Lymph-vascular invasion was removed as a high-risk feature, and tumor depth was changed from greater than or equal to 4 mm to greater than 2 mm. All cases with codes 000-004 coded in or updated to CSv2:V0202 should be reviewed and the correct number of high-risk features determined and coded.", - "last_modified" : "2015-05-27T16:19:55.151Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No high risk features" ], [ "001", "1 high risk feature" ], [ "002", "2 high risk features" ], [ "003", "3 high risk features" ], [ "004", "4 high risk features" ], [ "005", "5 high risk features" ], [ "006", "OBSOLETE DATA CONVERTED V0203\nThe list of high risk features in CS Version 2: V0201, V0202 included depth equal to or greater than 4 millimeters (mm) and lymph-vascular invasion. Depth was changed to greater than 2 mm and lymph-vascular invasion removed in the final list of high risk features published by AJCC. Cases coded 006 are converted to 005 in CS Version 2: V0203.\n \n6 high risk features" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "991", "Stated as less than 2 high risk features" ], [ "992", "Stated as 2 or more high risk features" ], [ "993", "Stated as high risk features, NOS" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sez.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sez.json deleted file mode 100644 index 99d0c122f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sez.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sez", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF12", - "title" : "CS Site-Specific Factor 12", - "subtitle" : "Pelvic Nodal Status", - "notes" : "**Note**: The pelvic nodal status corresponds to the assessment method recorded in CS Site-Specific Factor 13.", - "last_modified" : "2015-05-27T16:19:55.197Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative pelvic lymph nodes" ], [ "010", "Positive pelvic lymph nodes" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "Pelvic lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sfd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sfd.json deleted file mode 100644 index 8a6f6a097..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sfd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sfd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF12", - "title" : "CS Site-Specific Factor 12", - "subtitle" : "Post-Orchiectomy Alpha Fetoprotein (AFP) Lab Value", - "notes" : "**Note 1**: Record the value of the alpha fetoprotein (AFP) test as documented in the patient record after orchiectomy and prior to further treatment.\n\n**Note 2**: Use the same laboratory test to record values for CS Site-Specific Factors 12 and 13.\n\n**Note 3**: Record a post-orchiectomy AFP of 20 nanograms/milliliter (ng/ml) as 002; record a post-orchiectomy AFP of 11,000 ng/ml as 200.\n\n**Note 4**: Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of AFP). Do not round tiny values down to 0.0 ng/ml; any measured value less than or equal to 0.1 ng/ml should be coded 001. For values greater than 001 ng/ml, round values to the nearest ng/ml.\n\n**Note 5**: A lab value expressed in micrograms/liter (ug/L) is equivalent to the same value expressed in ng/ml.\n\n**Note 6**: If the initial post-orchiectomy AFP test remains elevated, review the subsequent tests until normalization or plateau occurs and use that test to code this field. See Part I for further explanation of serum tumor marker half life.\n\n**Note 7**: If the post-orchiectomy AFP test is done but the actual value is not stated, use code 997.\n\n**Note 8**: For rare cases that are treated prior to orchiectomy or an orchiectomy is not performed, code the initial AFP lab value in this field and not in CS Site-Specific Factor 6.", - "last_modified" : "2015-05-27T16:19:55.244Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 nanograms/milliliter (ng/ml)" ], [ "001", "1 - 19 ng/ml" ], [ "002", "20 - 29 ng/ml" ], [ "003", "30 - 39 ng/ml" ], [ "004", "40 - 49 ng/ml" ], [ "005", "50 - 59 ng/ml" ], [ "006", "60 - 69 ng/ml" ], [ "007", "70 - 79 ng/ml" ], [ "008", "80 - 89 ng/ml" ], [ "009", "90 - 99 ng/ml" ], [ "010", "100 - 199 ng/ml" ], [ "020", "200 - 299 ng/ml" ], [ "030", "300 - 399 ng/ml" ], [ "040", "400 - 499 ng/ml" ], [ "050", "500 - 599 ng/ml" ], [ "060", "600 - 699 ng/ml" ], [ "070", "700 - 799 ng/ml" ], [ "080", "800 - 899 ng/ml" ], [ "090", "900 - 999 ng/ml" ], [ "100", "1000 - 1999 ng/ml" ], [ "120", "2000 - 2999 ng/ml" ], [ "130", "3000 - 3999 ng/ml" ], [ "140", "4000 - 4999 ng/ml" ], [ "150", "5000 - 5999 ng/ml" ], [ "160", "6000 - 6999 ng/ml" ], [ "170", "7000 - 7999 ng/ml" ], [ "180", "8000 - 8999 ng/ml" ], [ "190", "9000 - 9999 ng/ml" ], [ "200", "Greater than or equal to 10, 000 ng/ml" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sng.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sng.json deleted file mode 100644 index 47cc6ec12..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sng.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf12_sng", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF12", - "title" : "CS Site-Specific Factor 12", - "last_modified" : "2015-05-27T16:19:55.289Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_spl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_spl.json deleted file mode 100644 index f0514c73d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_spl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_spl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF12", - "title" : "CS Site-Specific Factor 12", - "subtitle" : "KIT Gene Immunohistochemistry (IHC)", - "notes" : "**Note 1**: Most gastrointestinal stromal tumors (GISTs) have oncogenic mutations of the KIT gene, which is located on chromosome 4q. KIT is a cytokine receptor which binds to stem cell factor, which causes certain types of cells to grow; altered forms of KIT may be associated with some types of cancer. This test detects expression of the KIT gene in tumor tissue sections using immunohistochemical (IHC) stains. Test results are available in the pathology report. A positive test helps to establish the diagnosis of GIST and to identify patients for whom treatment with agents such as imatinib mesylate (Gleevec) or sunitinib malate (Sutent) is appropriate. Do not record secondary or acquired mutations that may have developed because of long-term imatinib treatment.\n\n**Note 2**: Another name for KIT is CD117.\n\n**Note 3**: See CS Site-Specific Factor 13 for coding information about specific mutations of the KIT gene detectable with molecular testing. See CS Site-Specific Factor 14 for coding information about mutations of the PDGFRA gene.", - "last_modified" : "2015-05-27T16:19:55.331Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sqb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sqb.json deleted file mode 100644 index feb01d0b6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sqb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sqb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF12", - "title" : "CS Site-Specific Factor 12", - "subtitle" : "Extravascular Matrix Patterns, Networks", - "notes" : "**Note**: Record results as reported on clinical examination with confocal indocyanine green angiography, or on pathologic examination of tissue if resection performed.", - "last_modified" : "2015-05-27T16:19:55.379Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Networks not identified on clinical examination, not identified on pathologic assessment" ], [ "010", "Networks not identified on clinical examination, no pathologic assessment or pathologic assessment unknown" ], [ "020", "Networks identified on clinical examination, no pathologic assessment or pathologic assessment unknown" ], [ "030", "Networks not identified on pathologic assessment, no clinical examination or clinical examination unknown" ], [ "040", "Networks identified on pathologic assessment, no clinical examination or clinical examination unknown" ], [ "050", "Networks identified on clinical examination and pathologic assessment" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Extravascular matrix patterns assessed, results not available" ], [ "998", "Extravascular matrix patterns not assessed clinically or pathologically" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sqf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sqf.json deleted file mode 100644 index c253e19ec..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_sqf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sqf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF12", - "title" : "CS Site-Specific Factor 12", - "subtitle" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "notes" : "**Note 1**: Carbohydrate Antigen 19-9 (CA 19-9) is a tumor marker that has value in the management of certain malignancies.\n\n**Note 2**: Record to the nearest tenth in Units/milliliter (U/ml) the highest CA 19-9 lab value documented in the medical record prior to treatment. For example, a pretreatment CA 19-9 of 60 U/ml would be recorded as 600.\n\n**Note 3**: Code 000 is reserved for exactly 0.0 U/ml (no measurable amount of CA 19 9). Do not round tiny values down to 0.0 U/ml; any measured value less than or equal to 0.1 U/ml should be coded 001. For code 001, also round 0.11-0.14 U/ml down to 0.1 U/ml. For codes 002-980, round values to the nearest tenth of U/ml.\n\n**Note 4**: For an uncertain value, record the stated closest value. For example, code a value stated as \"less than 0.5 U/mL\" as 005.\n\n**Note 5**: Use code 997 if there is no actual pre-treatment CA 19-9 lab value available but an interpretation of the test result is stated.", - "last_modified" : "2015-05-27T16:19:55.433Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "CONVERTED AND CODE REUSED V0203 \nPrior to V0203 code defined as \"Test not done (test not ordered and not performed)\". Cases converted to code 998 with V0203 and code 000 redefined as \"0.0 Units/milliliter (U/ml) exactly\". \n\n0.0 Units/milliliter (U/ml) exactly" ], [ "001", "0.1 or less U/ml Stated as less than 0.1 U/ml with no exact value" ], [ "002-979", "0.2-97.9 U/ml\n(Exact value to nearest tenth in U/ml)" ], [ "980", "98.0 or greater U/ml" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "CONVERTED AND CODE REUSED V0203 \nPrior to V0203 code defined as \"ordered, results not in chart\". Cases converted to code 997 with V0203 and code 998 redefined as \"Test not done (test not ordered and not performed)\". \n\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_srj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_srj.json deleted file mode 100644 index a18b17744..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf12_srj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_srj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF12", - "title" : "CS Site-Specific Factor 12", - "subtitle" : "Urinary 5-HIAA Lab Value", - "notes" : "**Note 1**: Carcinoid tumors can release large amounts of serotonin. 5-Hydroxyindoleacetic acid (5-HIAA) is a breakdown product of the hormone serotonin. The 5-HIAA test measures the amount of acid secreted in the urine over a 24-hour period.\n\n**Note 2**: Record to the nearest milligram (mg) the highest 5-HIAA lab value documented in the medical record prior to treatment. For example, code a pre-treatment 5-HIAA of 550 mg over 24 hours as 550.\n\n**Note 3**: Code 000 is reserved for exactly 0 mg (no measurable amount of 5-HIAA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 mg should be coded 001. For code 001, also round 1.1-1.4 mg down to 1 ng/ml. For codes 002-979, round values to the nearest mg.\n\n**Note 4**: For an uncertain value, record the stated closest value. For example, code a value stated as \"less than 5 mg\" as 005.", - "last_modified" : "2015-05-27T16:19:55.483Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 milligrams/24hours (mg/24 hours)" ], [ "001", "1 or less mg/24hours" ], [ "002-979", "2 - 979 mg/24hours" ], [ "980", "980 or greater mg/24hours" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "CONVERTED AND CODE REUSED V0203\nPrior to V0203 code defined as \"Test ordered, results not in chart\". Cases converted to code 997 with V0203 and code 998 redefined as \"Test not done (test not ordered and not performed)\".\n\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sag.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sag.json deleted file mode 100644 index 3e23274db..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sag.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sag", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF13", - "title" : "CS Site-Specific Factor 13", - "subtitle" : "HER2: Chromogenic In Situ Hybridization (CISH) Test Interpretation", - "notes" : "**Note 1**: Record the interpretation of only the Chromogenic In Situ Hybridization (CISH) test for Human Epidermal Growth Factor Receptor 2 (HER2) in this field.\n\n**Note 2**: The same laboratory test should be used to record information in CS Site-Specific Factors 12 and 13.\n\n**Note 3**: If the test is not mentioned in the medical record, code to 999 unless there are circumstances under which the test isn't performed, for example, no histologic specimen.", - "last_modified" : "2015-05-27T16:19:55.528Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated; amplified" ], [ "020", "Negative/normal; within normal limits; not amplified" ], [ "030", "Borderline; equivocal; indeterminate; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sbc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sbc.json deleted file mode 100644 index 5e6878981..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sbc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sbc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF13", - "title" : "CS Site-Specific Factor 13", - "subtitle" : "Number of Cores Examined", - "notes" : "**Note 1**: Record the number of prostate core biopsies examined for cancer documented in the pathology report. Do not make assumptions on the number of cores examined based on the number of anatomic locations biopsied because often several cores are submitted per site. Fragments are not synonymous with cores and are not counted as cores unless the pathologist has included the fragments in the core count. If the number of cores examined is not specifically documented, code 991.\n\n**Note 2**: If multiple needle core biopsy procedures are performed during the initial diagnostic workup, do not add together the cores examined from the separate procedures. Record the number of cores examined from the procedure with the highest number of cores positive, the same procedure used to record CS Site-Specific Factor 12.\n\n**Note 3**: Transperineal template-guided saturation biopsy (TTSB) is a stereotactic prostate biopsy technique that typically produces 30 to 80 core biopsies. This is an alternative biopsy technique used for some high risk patients including men with persistently elevated PSA, those who have atypia on prior prostate biopsies, or men with biopsies showing high grade prostatic intraepithelial neoplasia (PIN).", - "last_modified" : "2015-05-27T16:19:55.569Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-024", "1 - 24 cores examined \n(Exact number of cores examined) " ], [ "025", "CONVERTED AND CODE REUSED V0204\nPrior to V0204 code defined as \"25 or more cores examined\". Cases converted to code 995 with V0204 and code 025 redefined as 25 cores examined.\n\n25 cores examined" ], [ "026-100", "26 - 100 cores examined\n(Exact number of cores examined)" ], [ "101", "101 or more cores examined" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "991", "Biopsy cores examined, number unknown" ], [ "995", "OBSOLETE DATA RETAINED V0204\nCases coded to 025 prior to V0204 are converted to code 995.\n\n25 or more cores examined" ], [ "998", "No needle core biopsy performed" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sca.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sca.json deleted file mode 100644 index 3c65f5abd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sca.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sca", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF13", - "title" : "CS Site-Specific Factor 13", - "subtitle" : "Serum Chromogranin A (CgA) Lab Value", - "notes" : "**Note 1**: Chromogranins are a family of proteins in secretory granules found throughout the neuroendocrine system. Serum Chromagranin A (CgA) has been shown to be a useful marker for neuroendocrine tumors.\n\n**Note 2**: Record, to the nearest nanogram/milliliter (ng/ml), the highest CgA lab value documented in the medical record prior to treatment. For example, apretreatment CgA of 400 ng/ml would be recorded as 400.\n\n**Note 3**: Code 000 is reserved for exactly 0 ng/ml (no measurable amount of CgA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 ng/ml should be coded 001. For code 001, also round 1.1 1.4 ng/ml down to 1 ng/ml. For codes 002 980, round values to the nearest nanogram/milliliter.\n\n**Note 4**: Use code 997 if there is no actual pre-treatment CgA lab value available but an interpretation of the test result is stated.", - "last_modified" : "2015-05-27T16:19:55.615Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 nanogram/milliliter (ng/ml), exactly" ], [ "001", "1 or less ng/ml; stated as less than 1 ng/ml with no exact value" ], [ "002-979", "2 - 979 ng/mL\n(Exact value in ng/ml)" ], [ "980", "980 or greater ng/mL" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test was not ordered and was not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_scl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_scl.json deleted file mode 100644 index 01c8beb85..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_scl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_scl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF13", - "title" : "CS Site-Specific Factor 13", - "subtitle" : "Leukemia", - "notes" : "**Note**: Code history of leukemia as documented by the physician in the medical record. Do not code from results of complete blood count (CBC) or whit blood count (WBC.)", - "last_modified" : "2015-05-27T16:19:55.663Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of leukemia" ], [ "010", "History of leukemia" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sdg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sdg.json deleted file mode 100644 index 904e4a20c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sdg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sdg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF13", - "title" : "CS Site-Specific Factor 13", - "subtitle" : "Microvascular density (MVD)", - "notes" : "**Note 1**: Microvascular density (MVD) is the number of immunopositive elements labeled with markers for vascular endothelial cells in areas of densest vascularization. The value is expressed as an integer, number of vessels per 0.3 square millimeters (mm). \n\n**Note 2**: Record the results as expressed on the laboratory test. Record the information based on quartiles for laboratory standards if this is the only expression of results.", - "last_modified" : "2015-05-27T16:19:55.705Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000-500", "Number of vessels per 0.3 square millimeter (mm)" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "991", "Lowest quartile for laboratory" ], [ "992", "Second quartile for laboratory" ], [ "993", "Third quartile for laboratory" ], [ "994", "Highest quartile for laboratory" ], [ "997", "Test ordered, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sdr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sdr.json deleted file mode 100644 index f1cd619de..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sdr.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sdr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF13", - "title" : "CS Site-Specific Factor 13", - "subtitle" : "Carcinoembryonic Antigen (CEA)", - "notes" : "**Note**: Record the interpretation of the highest CEA test results documented in the medical record prior to treatment. The interpretation should be for the same laboratory test recorded in CS Site-Specific Factor 14.", - "last_modified" : "2015-05-27T16:19:55.752Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998 \n\nTest not done" ], [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case (If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_seg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_seg.json deleted file mode 100644 index 778ea21ca..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_seg.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ssf13_seg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF13", - "title" : "CS Site-Specific Factor 13", - "subtitle" : "Other infection", - "last_modified" : "2015-05-27T16:19:55.802Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Information not collected for this schema" ], [ "998", "Not applicable: Not currently implemented for this schema" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sfa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sfa.json deleted file mode 100644 index 3e625db84..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sfa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sfa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF13", - "title" : "CS Site-Specific Factor 13", - "subtitle" : "Assessment Method of Pelvic Nodal Status", - "notes" : "**Note 1**: The assessment results are in recorded in CS Site-Specific Factor 12.\n\n**Note 2**: Use the highest applicable code.", - "last_modified" : "2015-05-27T16:19:55.845Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203 \nSee code 998\n\nLymph nodes were not assessed" ], [ "010", "Clinical assessment" ], [ "020", "Radiography, imaging \n(Ultrasound (US), CT Scan (CT), magnetic resonance imaging (MRI), PET Scan (PET))" ], [ "030", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "040", "Lymphadenectomy\nExcisional biopsy or resection with microscopic confirmation" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sfe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sfe.json deleted file mode 100644 index 69d621432..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sfe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sfe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF13", - "title" : "CS Site-Specific Factor 13", - "subtitle" : "Post-Orchiectomy Alpha Fetoprotein (AFP) Range", - "notes" : "**Note 1**: Record the range of the alpha fetoprotein (AFP) test as documented in the patient record after orchiectomy and prior to further treatment.\n\n**Note 2**: Use the same laboratory test to record values for CS Site-Specific Factors 12 and 13.\n\n**Note 3**: A lab value expressed in micrograms/liter (ug/L) is equivalent to the same value expressed in nanograms/milliliter (ng/ml).\n\n**Note 4**: If the initial post-orchiectomy AFP test remains elevated, review the subsequent tests until normalization or plateau occurs and use that test to code this field. See Part I for further explanation of serum tumor marker half life.\n\n**Note 5**: If the post-orchiectomy AFP test is unknown but the preorchiectomy AFP test was normal, use code 990.\n\n**Note 6**: If the post-orchiectomy AFP test is unavailable but a physician's statement of the result is documented, use codes 991-993.\n\n**Note 7**: For rare cases that are treated prior to orchiectomy or an orchiectomy is not performed, code the initial AFP range in this field and not in CS Site-Specific Factor 7.", - "last_modified" : "2015-05-27T16:19:55.893Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Within normal limits (S0)" ], [ "010", "Range 1 (S1) above normal and less than 1,000 nanograms/milliliter (ng/ml)" ], [ "020", "Range 2 (S2) 1,000 -10,000 ng/ml" ], [ "030", "Range 3 (S3) greater than 10,000 ng/ml" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "990", "Post-orchiectomy alpha fetoprotein (AFP) unknown but preorchiectomy AFP was normal" ], [ "991", "Post-orchiectomy AFP stated to be still elevated" ], [ "992", "Post-orchiectomy AFP unknown but post-orchiectomy serum tumor markers NOS stated to be normal" ], [ "993", "Post-orchiectomy AFP unknown but post-orchiectomy serum tumor markers NOS stated to be still elevated\n\nStated as Stage IS" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_snh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_snh.json deleted file mode 100644 index 706dc5223..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_snh.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf13_snh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF13", - "title" : "CS Site-Specific Factor 13", - "last_modified" : "2015-05-27T16:19:55.944Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_spm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_spm.json deleted file mode 100644 index 0bfd75660..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_spm.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_spm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF13", - "title" : "CS Site-Specific Factor 13", - "subtitle" : "KIT Gene Mutations", - "notes" : "**Note 1**: This is a special molecular diagnostic test performed on tumor tissue to identify mutations in specific parts (called exons) of the KIT gene. Certain patterns of mutations correlate with the anatomic site and morphology of gastrointestinal stromal tumors (GIST) tumors and can predict response to treatment with agents such as imatinib mesylate (Gleevec) and sunitinib malate (Sutent). Some mutations are associated with acquired resistance to imatinib treatment; do not record secondary or acquired mutations that may have been caused by long-term imatinib treatment.\n\n**Note 2**: Code the mutation locations found from the KIT gene test. Another name for KIT is CD117.\n\n**Note 3**: See CS Site-Specific Factor 12 for coding information about KIT expression detected with immunohistochemistry (IHC). See CS Site-Specific Factor 14 for coding information about mutations of the PDGFRA gene.", - "last_modified" : "2015-05-27T16:19:55.988Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "KIT gene test negative for mutations; no mutations; normal or wild-type gene" ], [ "010", "KIT gene test positive for mutation of exon 9 only" ], [ "020", "KIT gene test positive for mutation of exon 11 only" ], [ "030", "KIT gene test positive for mutation of exon 13 only" ], [ "040", "KIT gene test positive for mutation of exon 17 only" ], [ "800", "KIT gene test positive for one other specified mutation" ], [ "810", "KIT gene test positive for more than one specific mutation" ], [ "850", "KIT gene test positive, NOS; mutation(s) found but the specific mutation(s) are not stated" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sqg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sqg.json deleted file mode 100644 index 9757013f4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sqg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sqg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF13", - "title" : "CS Site-Specific Factor 13", - "subtitle" : "Carcinoembryonic Antigen (CEA)", - "notes" : "**Note 1**: Record the interpretation of the highest Carcinoembryonic Antigen (CEA) test results documented in the medical record prior to treatment. The interpretation should be for the same laboratory test recorded in CS Site-Specific Factor 14.\n\n**Note 2**: If the test was done but the actual value is not stated, use code 997.", - "last_modified" : "2015-05-27T16:19:56.034Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nTest not done (test not ordered and not performed" ], [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "CONVERTED AND CODE REUSED V0203\nPrior to V0203 code defined as \"test ordered, results not in chart\". ases converted to code 997 with V0203 and code 998 redefined as \"test not done (test not ordered and not performed)\".\n\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sqq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sqq.json deleted file mode 100644 index 1229499ba..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf13_sqq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sqq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF13", - "title" : "CS Site-Specific Factor 13", - "subtitle" : "Microvascular Density (MVD)", - "notes" : "**Note 1**: Microvascular density (MVD) is the number of immunopositive elements labeled with markers for vascular endothelial cells in areas of densest vascularization. The value is expressed as an integer, number of vessels per 0.3 square millimeter (mm).\n\n**Note 2**: Record the results as expressed on the laboratory test. Record the information based on quartiles for laboratory standards if this is the only expression of results.", - "last_modified" : "2015-05-27T16:19:56.078Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000-500", "Number of vessels per 0.3 square millimeter (mm)" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "991", "Lowest quartile for laboratory " ], [ "992", "Second quartile for laboratory" ], [ "993", "Third quartile for laboratory" ], [ "994", "Highest quartile for laboratory" ], [ "997", "Test performed, unknown results" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sbd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sbd.json deleted file mode 100644 index a777edfc8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sbd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sbd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF14", - "title" : "CS Site-Specific Factor 14", - "subtitle" : "Needle Core Biopsy Findings", - "notes" : "**Note 1**: Record the findings of needle core biopsy as documented in the medical record.\n\n**Note 2**: If multiple needle core biopsy procedures are performed during the initial diagnostic workup, record the most extensive findings from all biopsy procedures. Code 050 takes precedence over codes 010, 020, and 030.", - "last_modified" : "2015-05-27T16:19:56.126Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative needle core biopsy findings" ], [ "010", "Positive needle core biopsy findings in one lobe/side" ], [ "020", "Positive needle core biopsy findings in both lobes/sides" ], [ "030", "Positive needle core biopsy findings, location (lobes/sides) not stated" ], [ "050", "Positive needle core biopsy findings beyond prostate" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No needle core biopsy performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sbf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sbf.json deleted file mode 100644 index 9dacd3a34..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sbf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sbf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF14", - "title" : "CS Site-Specific Factor 14", - "subtitle" : "HER2: Result of Other or Unknown Test", - "notes" : "**Note 1**: If another type of in situ hybridization test was performed for Human Epidermal Growth Factor Receptor 2 (HER2), other than fluorescent (FISH) or chromogenic (CISH), record the results here.\n\n**Note 2**: If it is unknown which type of HER2 test was performed, record the results here.\n\n**Note 3**: If no unnamed HER2 test is mentioned in the medical record, code to 999 unless there are circumstances under which the test isn't performed, for example, no histologic specimen.", - "last_modified" : "2015-05-27T16:19:56.181Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated; amplified" ], [ "020", "Negative/normal; within normal limits; not amplified" ], [ "030", "Borderline; equivocal; indeterminate; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_scn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_scn.json deleted file mode 100644 index 37347ce03..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_scn.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_scn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF14", - "title" : "CS Site-Specific Factor 14", - "subtitle" : "Multiple Carcinomas", - "notes" : "**Note**: Code a history of two or more carcinomas as documented by the physician or as found in the medical record or registry database. Include in the identification of \"carcinoma\" any tumor with a histology code between 8010 and 8589, excluding all carcinomas of skin coded to site C440-C449.", - "last_modified" : "2015-05-27T16:19:56.230Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of two or more carcinomas excluding skin carcinoma" ], [ "010", "History of two or more carcinomas excluding skin carcinoma" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sdh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sdh.json deleted file mode 100644 index 8ff15ac0a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sdh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sdh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF14", - "title" : "CS Site-Specific Factor 14", - "subtitle" : "PET Standardized Uptake Values (SUV)", - "notes" : "**Note 1**: Cancer cells require sugar (glucose) for metabolism and growth. Positron emission tomography/computed tomography (PET/CT) scanning utilizes a radioactive form of glucose, called 18-fluoro-2-deoxyglucose (FDG) that accumulates within malignant cells because of their high rate of metabolism.\n\n**Note 2**: The value is expressed as a ratio of tissue radioactivity at the time of measurement to the injected dose at time of injection divided by body weight. Record the value for the standardized uptake value (SUV) as reported in the medical record to one decimal place.", - "last_modified" : "2015-05-27T16:19:56.282Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-500", "Positron emission tomography (PET) Standardized uptake value (SUV) to one decimal place\n\nExamples:\n 015 SUV 01.5 \n 100 SUV 10.0" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sds.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sds.json deleted file mode 100644 index f0f1e2be8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sds.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sds", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF14", - "title" : "CS Site-Specific Factor 14", - "subtitle" : "Carcinoembryonic Antigen (CEA) Lab Value", - "notes" : "**Note 1**: Carcinoembryonic antigen (CEA) is a tumor marker that has value in the management of certain malignancies.\n\n**Note 2**: The same laboratory test should be used to record information in CS Site-Specific Factors 13 and 14.\n\n**Note 3**: Record, to the nearest tenth of a nanogram/milliliter (ng/ml), the highest CEA lab value documented in the medical record prior to treatment. For example, a pretreatment CEA of 7 ng/ml would be recorded as 070.\n\n**Note 4**: Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of CEA). Do not round tiny values down to 0.0 ng/ml; any measured value less than or equal to 0.1 ng/ml should be coded 001. For code 001, also round 0.11-0.14 ng/ml down to 0.1 ng/ml. For codes 002-980, round values to the nearest tenth of a ng/ml.\n\n**Note 5**: For an uncertain value, record the stated closest value. For example, code a value stated as \"less than 0.5 ng/ml\" as 005.", - "last_modified" : "2015-05-27T16:19:56.350Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 nanograms/milliliter (ng/ml) exactly" ], [ "001", "0.1 or less ng/ml\nStated as less than 0.1 ng/ml with no exact value" ], [ "002-979", "0.2 - 97 .9 ng/ml\n(Exact value to nearest tenth in ng/ml)" ], [ "980", "98.0 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Tests ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sfb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sfb.json deleted file mode 100644 index 5339cfaca..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sfb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sfb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF14", - "title" : "CS Site-Specific Factor 14", - "subtitle" : "Femoral Inguinal Nodal Status", - "notes" : "**Note**: The femoral-inguinal nodal status corresponds to the assessment method recorded in CS Site-Specific Factor 15.", - "last_modified" : "2015-05-27T16:19:56.403Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative femoral-inguinal lymph nodes" ], [ "010", "Positive femoral-inguinal lymph nodes" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "Femoral-inguinal lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sff.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sff.json deleted file mode 100644 index a24832c20..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sff.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sff", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF14", - "title" : "CS Site-Specific Factor 14", - "subtitle" : "Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Lab Value", - "notes" : "**Note 1**: Record the value of the human chorionic gonadotropin (hCG) test as documented in the patient record after orchiectomy and prior to further treatment.\n\n**Note 2**: Use the same laboratory test to record values for CS Site-Specific Factors 14 and 15.\n\n**Note 3**: Record a post-orchiectomy hCG of 20 milli-International Units (mIU/ml) as 002; record a post-orchiectomy hCG of 11, 000 mIU/ml as 200.\n\n**Note 4**: Code 000 is reserved for exactly 0.0 mIU/ml (no measurable amount of hCG). Do not round tiny values down to 0.0 mIU/ml; any measured value less than or equal to 0.1 mIU/ml should be coded 001. For values greater than 001 mIU/ml, round values to the nearest mIU/ml.\n\n**Note 5**: A lab value expressed in International Units/liter (IU/L) is equivalent to the same value expressed in milli-International Units/milliliter (mIU/ml).\n\n**Note 6**: If the initial post-orchiectomy hCG test remains elevated, review the subsequent tests until normalization or plateau occurs and use that test to code this field. See Part I for further explanation of serum tumor marker half life.\n\n**Note 7**: If the post-orchiectomy hCG test is done but the actual value is not stated, use code 997.\n\n**Note 8**: For rare cases that are treated prior to orchiectomy or an orchiectomy is not performed, code the initial hCG lab value in this field and not in CS Site-Specific Factor 8.", - "last_modified" : "2015-05-27T16:19:56.453Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 milli-International Units (mIU/ml)" ], [ "001", "1 - 19 mIU/ml" ], [ "002", "20 - 29 mIU/ml" ], [ "003", "30 - 39 mIU/ml" ], [ "004", "40 - 49 mIU/ml" ], [ "005", "50 - 59 mIU/ml" ], [ "006", "60 - 69 mIU/ml" ], [ "007", "70 - 79 mIU/ml" ], [ "008", "80 - 89 mIU/ml" ], [ "009", "90 - 99 mIU/ml" ], [ "010", "100 - 199 mIU/ml" ], [ "020", "200 - 299 mIU/ml" ], [ "030", "300 - 399 mIU/ml" ], [ "040", "400 - 499 mIU/ml" ], [ "050", "500 - 599 mIU/ml" ], [ "060", "600 - 699 mIU/ml" ], [ "070", "700 - 799 mIU/ml" ], [ "080", "800 - 899 mIU/ml" ], [ "090", "900 - 999 mIU/ml" ], [ "100", "1000 - 1999 mIU/ml" ], [ "120", "2000 - 2999 mIU/ml" ], [ "130", "3000 - 3999 mIU/ml" ], [ "140", "4000 - 4999 mIU/ml" ], [ "150", "5000 - 5999 mIU/ml" ], [ "160", "6000 - 6999 mIU/ml" ], [ "170", "7000 - 7999 mIU/ml" ], [ "180", "8000 - 8999 mIU/ml" ], [ "190", "9000 - 9999 mIU/ml" ], [ "200", "10, 000 - 19, 999 mIU/ml" ], [ "220", "20, 000 - 29, 999 mIU/ml" ], [ "230", "30, 000 - 39, 999 mIU/ml" ], [ "240", "40, 000 - 49, 999 mIU/ml" ], [ "250", "Greater than or equal to 50,000 mIU/ml" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sni.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sni.json deleted file mode 100644 index e084ee948..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sni.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf14_sni", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF14", - "title" : "CS Site-Specific Factor 14", - "last_modified" : "2015-05-27T16:19:56.500Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_spn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_spn.json deleted file mode 100644 index dd055576d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_spn.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_spn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF14", - "title" : "CS Site-Specific Factor 14", - "subtitle" : "PDGFRA Gene Mutation", - "notes" : "**Note 1**: Some gastrointestinal stromal tumors (GIST) have oncogenic mutations of the platelet-derived growth factor receptor alpha (PDGFRA)gene, located on chromosome 4q. This test is a special molecular diagnostic test performed on tumor tissue to identify PDGFRA mutations. Some GISTs that are negative for KIT mutations are positive for PDGFRA mutation.\n\n**Note 2**: Code the result of the PDGFRA gene test. Another name for PDGFRA is CD140A.\n\n**Note 3**: See CS Site-Specific Factors 12 and 13 for coding information about KIT gene expression and mutations.", - "last_modified" : "2015-05-27T16:19:56.553Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "PDGFRA gene test positive for mutations" ], [ "020", "PDGFRA gene test negative for mutations; no mutations; normal or wild-type gene" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sqh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sqh.json deleted file mode 100644 index 0f9214b0c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sqh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sqh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF14", - "title" : "CS Site-Specific Factor 14", - "subtitle" : "Carcinoembryonic Antigen (CEA) Lab Value", - "notes" : "**Note 1**: Carcinoembryonic Antigen (CEA) is a tumor marker that has value in the management of certain malignancies.\n\n**Note 2**: The same laboratory test should be used to record information in CS Site-Specific Factors 13 and 14.\n\n**Note 3**: Record to the nearest tenth in nanograms/milliliter (ng/ml) the highest CEA lab value documented in the medical record prior to treatment. For example, a pretreatment CEA of 7.34 ng/ml would be recorded as 073.\n\n**Note 4**: Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of CEA). Do not round tiny values down to 0.0 ng/ml; any measured value less than or equal to 0.1 ng/ml should be coded 001. For code 001, also round 0.11-0.14 ng/ml down to 0.1 ng/ml. For codes 002-980, round values to the nearest tenth of a ng/ml.\n\n**Note 5**: For an uncertain value, record the stated closest value. For example, code a value stated as \"less than 0.5 ng/ml\" as 005.", - "last_modified" : "2015-05-27T16:19:56.600Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "CONVERTED AND CODE REUSED V0203 \nPrior to V0203 code defined as \"Test not done (test not ordered or not performed)\". Cases converted to code 998 with V0203 and code 000 redefined as \"0.0 nanograms/milliliter (ng/ml) exactly\". \n\n0.0 nanograms/milliliter (ng/ml) exactly" ], [ "001", "0.1 or less ng/ml \nStated as less than 0.1 ng/ml with no exact value" ], [ "002-979", "0.2-97.9 ng/ml\n(Exact value to nearest tenth in ng/ml)" ], [ "980", "98.0 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "CONVERTED AND CODE REUSED V0203 \nPrior to V0203 code defined as \"Test ordered, results not in chart\". Cases converted to code 997 with V0203 and code 998 redefined as \"Test not done (test not ordered and not performed)\".\n\n Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sqr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sqr.json deleted file mode 100644 index 9ef879e19..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf14_sqr.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sqr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF14", - "title" : "CS Site-Specific Factor 14", - "subtitle" : "PET Standardized Uptake Values (SUV)", - "notes" : "**Note 1**: Cancer cells require sugar (glucose) for metabolism and growth. Positron emission tomography/computed tomography (PET/CT) scanning utilizes a radioactive form of glucose, called 18-fluoro-2-deoxyglucose (FDG) that accumulates within malignant cells because of their high rate of metabolism.\n\n**Note 2**: The value is expressed as a ratio of tissue radioactivity at the time of measurement to the injected dose at time of injection divided by body weight. Record the value for the SUV as reported in the medical record to one decimal place.", - "last_modified" : "2015-05-27T16:19:56.653Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-500", "PET Standardized uptake value (SUV) \n(Exact value to nearest single decimal place)\n\nExamples:\n 015 SUV 01.5 \n 100 SUV 10.0" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test performed, unknown results" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nInformation cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sbe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sbe.json deleted file mode 100644 index 30f7daa69..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sbe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_sbe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF15", - "title" : "CS Site-Specific Factor 15", - "subtitle" : "Clinical Staging Procedures Performed", - "notes" : "**Note 1**: Investigators are interested in determining the clinical staging procedures used to assign tumors to the T1c category. Procedures used in clinical staging include digital rectal examination (DRE) and imaging techniques of the prostate. Imaging includes transrectal ultrasound (TRUS) and endorectal coil magnetic resonance imaging (erMRI).\n\n**Note 2**: Record the procedure(s) used in clinical staging for all T categories regardless of positive or negative findings. Record TRUS-guided biopsy as imaging.\n\n**Note 3**: Clinical procedures performed after needle core biopsy or any surgical procedure of the prostate are not included in this field.", - "last_modified" : "2015-05-27T16:19:56.712Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No DRE and no imaging performed" ], [ "010", "DRE only performed, imaging not performed or unknown if performed" ], [ "020", "Imaging only performed, DRE not performed or unknown if performed" ], [ "030", "Imaging and DRE performed" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sbg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sbg.json deleted file mode 100644 index d6bb17773..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sbg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_sbg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF15", - "title" : "CS Site-Specific Factor 15", - "subtitle" : "HER2: Summary Result of Testing", - "notes" : "**Note 1**: The summary of the results of the Immunohistochemistry (IHC), Fluorescent In Situ Hybridization (FISH), Chromogenic In Situ Hybridization (CISH), or other/unknown Human Epidermal Growth Factor Receptor 2 (HER2) test is recorded here. This variable is based on CS Site-Specific Factors 9, 11, 13, and 14.\n\n**Note 2**: If both an IHC and a gene-amplification test (FISH or CISH) are performed, record the result of the gene-amplification test in this field. However, if the gene-amplification test is given first and the result is borderline or equivocal and an IHC test is done to clarify these equivocal results, code the result of the IHC test.\n\n**Note 3**: If the results of one test are available, and it is known that a second test is performed but the results are not available, use code 997.", - "last_modified" : "2015-05-27T16:19:56.762Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated; amplified" ], [ "020", "Negative/normal; within normal limits; not amplified" ], [ "030", "Borderline; equivocal; indeterminate; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test(s) ordered, results not in chart" ], [ "998", "Test(s) not done (test(s) not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sco.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sco.json deleted file mode 100644 index 01eec6842..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sco.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_sco", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF15", - "title" : "CS Site-Specific Factor 15", - "subtitle" : "Muir-Torre Syndrome", - "notes" : "**Note 1**: Muir-Torre syndrome is a rare autosomal dominant condition in which multiple primary malignancies occur together with a sebaceous gland tumor. It is defined by the combination of at least one sebaceous adenoma, epithelioma, or carcinoma, and at least one visceral carcinoma occurring in the same individual in the absence of other precipitating factors such as radiotherapy or Autoimmune Immunodeficiency Syndrome (AIDS).\n\n**Note 2**: Code history of Muir-Torre Ssyndrome as documented by the physician in the medical record.", - "last_modified" : "2015-05-27T16:19:56.815Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of Muir-Torre Syndrome" ], [ "010", "History of Muir-Torre Syndrome" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sdm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sdm.json deleted file mode 100644 index 8f4572826..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sdm.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_sdm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF15", - "title" : "CS Site-Specific Factor 15", - "subtitle" : "Extent of Liver Resection", - "notes" : "**Note**: Since there is no serosa on the gallbladder on the side attached to the liver, a simple cholecystectomy may not completely remove a T2 tumor, even though such tumors are considered to be confined to the gallbladder. An important anatomic consideration is that the serosa along the liver edge is more densely adherent to the liver (cystic plate) and much of this is often left behind at time of cholecystectomy. For this reason, partial hepatic resection incorporating portions of segments IVb and V is advocated for some cases.", - "last_modified" : "2015-05-27T16:19:56.859Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Partial hepatectomy (one or more liver segments)" ], [ "020", "Wedge resection" ], [ "030", "Right or left hepatectomy (formal lobectomy)" ], [ "040", "Extended hepatectomy (right or left trisectionectomy or trisegmentectomy)" ], [ "050", "Liver resection, NOS" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No resection of liver" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sdt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sdt.json deleted file mode 100644 index 86a57e616..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sdt.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_sdt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF15", - "title" : "CS Site-Specific Factor 15", - "subtitle" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "notes" : "**Note 1**: Carbohydrate Antigen 19-9 (CA 19-9) is a tumor marker that has value in the management of certain malignancies.\n\n**Note 2**: Record, to the nearest tenth of in Unit/milliliter (U/ml), the highest CA 19-9 lab value recorded in the medical record prior to treatment. Example: A pretreatment CA 19-9 of 60.0 U/mL would be recorded as 600.\n\n**Note 3**: Code 000 is reserved for exactly 0.0 U/mL (no measurable amount of CA 19 9). Do not round tiny values down to 0.0 U/mL; any measured value less than or equal to 0.1 U/mL should be coded 001. For code 001, also round 0.11-0.14 U/mL down to 0.1 U/mL. For codes 002-980, round values to the nearest tenth of a U/ml.\n\n**Note 4**: Use code 997 if an interpretation is documented but the actual lab value is not available in the record.", - "last_modified" : "2015-05-27T16:19:56.905Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 Units/milliter (U/ml) exactly" ], [ "001", "0.1 or less U/mL\nStated as less than 1 U/ml with no exact value" ], [ "002-979", "0.2 - 97.9 U/mL\n(Exact value to nearest tenth in U/ml)" ], [ "980", "98.0 or greater U/ml" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sfc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sfc.json deleted file mode 100644 index 73f5f55e0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sfc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_sfc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF15", - "title" : "CS Site-Specific Factor 15", - "subtitle" : "Assessment Method of Femoral Inguinal Nodal Status", - "notes" : "**Note 1**: The assessment results are recorded in CS-Site Specific Factor 14.\n\n**Note 2**: Use the highest applicable code.", - "last_modified" : "2015-05-27T16:19:56.948Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nLymph nodes were not assessed" ], [ "010", "Clinical assessment" ], [ "020", "Radiography, imaging \n(Ultrasound (US), CT Scan (CT), magnetic resonance imaging (MRI), PET Scan (PET))" ], [ "030", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "040", "Lymphadenectomy\nExcisional biopsy or resection with microscopic confirmation" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sfg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sfg.json deleted file mode 100644 index 37443d3b9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_sfg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_sfg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF15", - "title" : "CS Site-Specific Factor 15", - "subtitle" : "Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Range", - "notes" : "**Note 1**: Record the range of the human chorionic gonadotropin (hCG) test as documented in the patient record after orchiectomy and prior to further treatment.\n\n**Note 2**: Use the same laboratory test to record values in CS Site-Specific Factors 14 and 15.\n\n**Note 3**: A lab value expressed in International Units/liter (IU/L) is equivalent to the same value expressed in milli-International Units/milliliter (mIU/ml).\n\n**Note 4**: If the initial post-orchiectomy hCG test remains elevated, review the subsequent tests until normalization or plateau occurs and use that test to code this field. See Part I for further explanation of serum tumor marker half life.\n\n**Note 5**: If the post-orchiectomy hCG test is unknown but the preorchiectomy hCG test was normal, use code 990.\n\n**Note 6**: If the post-orchiectomy hCG test is unavailable but a physician's statement of the result is documented, use codes 991-993.\n\n**Note 7**: For rare cases that are treated prior to orchiectomy or an orchiectomy is not performed, code the initial hCG range in this field and not in CS Site-Specific Factor 9.", - "last_modified" : "2015-05-27T16:19:56.994Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Within normal limits (S0)" ], [ "010", "Range 1 (S1) above normal and less than 5,000 milli-International Units/milliliter (mIU/ml)" ], [ "020", "Range 2 (S2) 5,000 - 50,000 mIU/ml" ], [ "030", "Range 3 (S3) greater than 50,000 mIU/ml" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "990", "Post-orchiectomy human chorionic gonadotropic (hCG) unknown but preorchiectomy hCG was normal" ], [ "991", "Post-orchiectomy hCG stated to be still elevated" ], [ "992", "Post-orchiectomy hCG unknown but post-orchiectomy serum tumor markers NOS stated to be normal" ], [ "993", "Post-orchiectomy hCG unknown but post-orchiectomy serum tumor markers NOS stated to be still elevated\n\nStated as Stage IS" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_snj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_snj.json deleted file mode 100644 index 8a825c0ec..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_snj.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf15_snj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF15", - "title" : "CS Site-Specific Factor 15", - "last_modified" : "2015-05-27T16:19:57.040Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_spo.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_spo.json deleted file mode 100644 index b208ff931..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf15_spo.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_spo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF15", - "title" : "CS Site-Specific Factor 15", - "subtitle" : "Tumor Multiplicity", - "notes" : "**Note**: When a patient has more than one area of gastrointestinal stromal tumor (GIST), it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. Code this form of metastasis in CS Mets at DX. \n\nTumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in CS Site-Specific Factor 15, Tumor Multiplicity.\n\nWhen a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in CS Site-Specific Factor 15, Tumor Multiplicity.\n\nWhen multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, code this site-specific factor as 010 (Multiple GIST tumors are present).", - "last_modified" : "2015-05-27T16:19:57.094Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Multiple gastrointestinal stromal tumors (GIST) not present in the surgical specimen; single GIST; unifocal GIST" ], [ "010", "Multiple GIST tumors present in the surgical specimen; multifocal GIST" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown if one tumor or multiple tumors \nNo information on tumor multiplicity\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sah.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sah.json deleted file mode 100644 index c9b97d38f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sah.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_sah", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF16", - "title" : "CS Site-Specific Factor 16", - "subtitle" : "Combinations of ER, PR, and HER2 Results", - "notes" : "**Note 1**: There is a clinical interest in triple negative breast cancer, or breast cancer that is negative for estrogen receptors (ER), progesterone receptors (PR), and Human Epidermal Growth Factor Receptor 2 (HER2) amplification or overexpression.\n\n**Note 2**: This field is based on CS Site-Specific Factors 1, 2, and 15.\n\n**Note 3**: ER results are coded in the first digit: 0 for negative and 1 for positive.\n\n**Note 4**: PR results are coded in the second digit: 0 for negative and 1 for positive.\n\n**Note 5**: HER2 results are coded in the third digit: 0 for negative and 1 for positive.\n\n**Note 6**: If information is unknown or not available for one or more of the three types of tests, or if one or more of the three types of tests was not performed, code 999.", - "last_modified" : "2015-05-27T16:19:57.142Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "ER Negative, PR Negative, HER2 Negative (Triple Negative)" ], [ "001", "ER Negative, PR Negative, HER2 Positive" ], [ "010", "ER Negative, PR Positive, HER2 Negative" ], [ "011", "ER Negative, PR Positive, HER2 Positive " ], [ "100", "ER Positive, PR Negative, HER2 Negative" ], [ "101", "ER Positive, PR Negative, HER2 Positive" ], [ "110", "ER Positive, PR Positive, HER2 Negative " ], [ "111", "ER Positive, PR Positive, HER2 Positive " ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "One or more tests not performed\nOne or more tests unknown if performed\nOne or more tests with unknown or borderline results\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_scp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_scp.json deleted file mode 100644 index 98a902895..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_scp.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_scp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF16", - "title" : "CS Site-Specific Factor 16", - "subtitle" : "Xeroderma Pigmentosa", - "notes" : "**Note 1**: Xeroderma pigmentosa is a very rare hereditary condition characterized by extreme sensitivity to ultraviolet radiation in sunlight, with a very high risk for skin cancer and eye problems especially of the eyelids.\n\n**Note 2**: Code xeroderma pigmentosa as documented by the physician in the medical record.", - "last_modified" : "2015-05-27T16:19:57.198Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of xeroderma pigmentosa" ], [ "010", "History of xeroderma pigmentosa" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sdn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sdn.json deleted file mode 100644 index 7b33df128..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sdn.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_sdn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF16", - "title" : "CS Site-Specific Factor 16", - "subtitle" : "Primary Tumor Location within Gallbladder", - "notes" : "**Note 1**: There is no serosa on the gallbladder on the side attached to the liver; therefore, a simple cholecystectomy may not completely remove a T2 tumor, even though such tumors are considered to be confined to the gallbladder. It is important to know if the primary tumor was located on the free peritoneal or the hepatic side of the gallbladder at cholecystectomy.\n\n**Note 2**: Record a statement of primary tumor location within the gallbladder recorded at the time of cholecystectomy.", - "last_modified" : "2015-05-27T16:19:57.247Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Tumor located on free peritoneal side of gallbladder" ], [ "020", "Tumor located on hepatic side of gallbladder" ], [ "030", "Tumor involves both sides of gallbladder" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No primary tumor resected \nNo cholecystectomy performed" ], [ "999", "Unknown or no information\n Not documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sfh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sfh.json deleted file mode 100644 index fca3dcce2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sfh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_sfh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF16", - "title" : "CS Site-Specific Factor 16", - "subtitle" : "Post-Orchiectomy Lactate Dehydrogenase (LDH) Range", - "notes" : "**Note 1**: Of the three tumor markers, lactate dehydrogenase (LDH) is the least specific for testicular cancer and is more of a determinant of bulky or disseminated disease. Although recommended to be tested, LDH may not be routinely performed, especially if the primary is localized.\n\n**Note 2**: Record the range of the LDH test as documented in the patient record after orchiectomy and prior to further treatment.\n\n**Note 3**: If the initial post-orchiectomy LDH test remains elevated, review the subsequent tests until normalization or plateau occurs and use that test to code this field. See Part I for further explanation of serum tumor marker half life.\n\n**Note 4**: If the post-orchiectomy LDH test is unknown but the preorchiectomy LDH test was normal, use code 990.\n\n**Note 5**: If the post-orchiectomy LDH test is unavailable but a physician's statement of the result is documented, use codes 991-993.\n\n**Note 6**: For rare cases that are treated prior to orchiectomy or an orchiectomy is not performed, code the initial LDH range in this field and not in CS Site-Specific Factor 10.", - "last_modified" : "2015-05-27T16:19:57.311Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Within normal limits (S0)" ], [ "010", "Range 1 (S1) less than 1.5 x N \n(Less than 1.5 times the upper limit of normal for LDH)" ], [ "020", "Range 2 (S2) 1.5 to 10 x N \n(Between 1.5 and 10 times the upper limit of normal for LDH)" ], [ "030", "Range 3 (S3) greater than 10 x N \n(Greater than 10 times the upper limit of normal for LDH)" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "990", "Postorchiectomy LDH unknown but preorchiectomy LDH was normal" ], [ "991", "Postorchiectomy LDH stated to be still elevated" ], [ "992", "Postorchiectomy LDH unknown but post-orchiectomy serum tumor markers NOS stated to be normal" ], [ "993", "Postorchiectomy LDH unknown but postorchiectomy serum tumor markers NOS stated to be still elevated\n\nStated as Stage IS" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_snk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_snk.json deleted file mode 100644 index 9f8ae1218..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_snk.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf16_snk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF16", - "title" : "CS Site-Specific Factor 16", - "last_modified" : "2015-05-27T16:19:57.357Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_spt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_spt.json deleted file mode 100644 index 39d4f3998..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_spt.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_spt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF16", - "title" : "CS Site-Specific Factor 16", - "subtitle" : "Serum Chromogranin A (CgA) Lab Value", - "notes" : "**Note 1**: Chromoganins are a family of proteins in secretory granules found throughout the neuroendocrine system. Serum Chromogranin A (CgA) has been shown to be a useful marker for neuroendocrine tumors.\n\n**Note 2**: Record to the nearest nanogram/milliliter (ng/ml) the highest CgA lab value documented in the medical record prior to treatment. For example, code a pretreatment CgA of 400 ng/ml as 400.\n\n**Note 3**: Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of CgA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 ng/ml should be coded 001. For code 001, also round 1.1-1.4 ng/ml down to 1 ng/ml. For codes 002-979, round values to the nearest ng/ml.\n\n**Note 4**: For an uncertain value, record the stated closest value. For example, code a value stated as \"less than 5 ng/ml\" as 005.", - "last_modified" : "2015-05-27T16:19:57.414Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 nanogram/milliliter (ng/ml)" ], [ "001", "1 or less ng/ml" ], [ "002-979", "002-979 ng/ml" ], [ "980", "980 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test was not ordered and was not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_squ.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_squ.json deleted file mode 100644 index 62c6eb2bb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_squ.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_squ", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF16", - "title" : "CS Site-Specific Factor 16", - "subtitle" : "Size of Lymph Nodes", - "notes" : "**Note**: Code the largest diameter, whether measured clinically or pathologically, of any involved regional lymph node(s). Do not code the size of any nodes coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:57.468Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involved regional lymph nodes " ], [ "001-979", "001 - 979 millimeters (mm)\n(Exact size to nearest mm)" ], [ "980", "980 mm or larger" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm\" or \"greater than 1 cm\" or between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm\" or \"greater than 2 cm\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm\" or \"greater than 3 cm\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm\" or \"greater than 4 cm\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 6 cm\" or \"greater than 5 cm\" or \"between 5 cm and 6 cm\"" ], [ "997", "Described as \"more than 6 cm\"" ], [ "999", "Regional lymph node(s) involved, size not stated\nUnknown if regional lymph node(s) involved\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sqv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sqv.json deleted file mode 100644 index 390a1fc25..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sqv.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_sqv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF16", - "title" : "CS Site-Specific Factor 16", - "subtitle" : "Size of Metastasis in Lymph Nodes", - "notes" : "**Note 1**: Code the size of the largest metastasis in a lymph node as documented in the pathology report, not the size of the lymph node. If the size of the metastasis is not documented, code the size of the largest involved lymph node as documented pathologically or clinically with pathology taking priority. Do not code the size of any node(s) coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:57.515Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph node(s) involved" ], [ "001-979", "1 - 979 millimeters (mm)\n(Exact size of lymph node metastasis to nearest mm)" ], [ "980", "980 mm or larger" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 cm\"" ], [ "992", "Described as \"less than 2 cm\" or \"greater than 1 cm\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm\" or \"greater than 2 cm\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm\" or \"greater than 3 cm\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm\" or \"greater than 4 cm\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 6 cm\" or \"greater than 5 cm\" or \"between 5 cm and 6 cm\"" ], [ "997", "Described as \"more than 6 cm\"" ], [ "999", "Regional lymph node(s) involved, size not stated\nUnknown if regional lymph node metastasis\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sqw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sqw.json deleted file mode 100644 index 1365fab0d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf16_sqw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_sqw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF16", - "title" : "CS Site-Specific Factor 16", - "subtitle" : "Size of Metastasis in Lymph Nodes", - "notes" : "**Note**: Code size of metastasis or tumor nests in regional lymph nodes (not the size of the lymph node). Record the actual measurement in hundredths of millimeters (mm) from the pathology report. Do not code the size of any node(s) coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:57.559Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph node involvement" ], [ "001-979", "0.01 - 9.79 millimeters (mm) \n(Exact size of largest described metastasis or tumor nest to nearest HUNDREDTH of mm) \n \nExamples: \n 001 0.01 mm \n 002 0.02 mm \n 010 0.1 mm \n 074 0.74 mm \n 100 1 mm \n 105 1.05 mm \n 979 9.79 mm" ], [ "980", "9.80 mm or larger" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "990", "Metastasis or tumor nests in regional lymph nodes, size cannot be assessed" ], [ "998", "No histologic examination of regional lymph nodes" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_sai.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_sai.json deleted file mode 100644 index 26c68ba19..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_sai.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf17_sai", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF17", - "title" : "CS Site-Specific Factor 17", - "subtitle" : "Circulating Tumor Cells (CTC) and Method of Detection", - "notes" : "**Note 1**: Circulating tumor cells (CTCs) are isolated tumor cells (ITCs) found in the blood distant from the breast.\n\n**Note 2**: Immunomagnetic separation (IMS) and reverse transcription polymerase chain reaction (RT-PCR) are two components of a laboratory process for identifying very small amounts of tumor cells in tissue. In the IMS process, paramagnetic beads coated with antibodies bind to antigens on tumor cells, which are removed and concentrated by being passed through a magnetic field. RT-PCR is then used to amplify the genetic material to a detectable level.\n\n**Note 3**: Code the results to the test type as expressed in the medical record. Give priority to \"IMS\" if the report uses both expressions for test type.", - "last_modified" : "2015-05-27T16:19:57.609Z", - "definition" : [ { - "key" : "ssf17", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive, Reverse Transcription Polymerase Chain Reaction (RT-PCR) test" ], [ "020", "Positive, immunomagnetic separation (IMS) test" ], [ "030", "Positive, other test type" ], [ "040", "Positive, unknown test type" ], [ "110", "Negative/normal, RT-PCR test" ], [ "120", "Negative/normal, IMS test" ], [ "130", "Negative/normal, other test type" ], [ "140", "Negative/normal, unknown test type" ], [ "210", "Borderline; equivocal; indeterminate; undetermined if positive or negative, RT-PCR test" ], [ "220", "Borderline; equivocal; indeterminate; undetermined if positive or negative, IMS test" ], [ "230", "Borderline; equivocal; indeterminate; undetermined if positive or negative, other test type" ], [ "240", "Borderline equivocal; indeterminate; undetermined if positive or negative, unknown test type" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_seu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_seu.json deleted file mode 100644 index 5aaf6ae56..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_seu.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf17_seu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF17", - "title" : "CS Site-Specific Factor 17", - "subtitle" : "Extranodal Extension of Regional Lymph Nodes", - "notes" : "**Note 1**: Code the status of extranodal extension whether assessed clinically or pathologically of any involved regional lymph node(s) coded in CS Lymph Nodes. Do not code extranodal extension for any nodes coded in CS Mets at DX.\n\n**Note 2**: A statement of the presence or absence of extranodal extension in a pathology report takes priority over clinical assessment. \n\n**Note 3**: If nodes are involved but the clinical documentation and/or pathologic documentation does not indicate extranodal extension, assign code 010 (no extranodal extension documented on available reports).\n\n**Note 4**: If the only documentation is a reference to clinically or pathologically involved nodes with no reference to extranodal extension, assign code 030 (no physical examination/imaging report and/or no pathology report available).", - "last_modified" : "2015-05-27T16:19:57.654Z", - "definition" : [ { - "key" : "ssf17", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph nodes involved" ], [ "010", "Extranodal extension not present\nRegional nodes described as mobile" ], [ "020", "Extranodal extension present\nRegional nodes described as fixed or matted" ], [ "030", "Regional nodes involved, unknown if extranodal extension" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_snl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_snl.json deleted file mode 100644 index c6322762f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_snl.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf17_snl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF17", - "title" : "CS Site-Specific Factor 17", - "last_modified" : "2015-05-27T16:19:57.704Z", - "definition" : [ { - "key" : "ssf17", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_spu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_spu.json deleted file mode 100644 index 8883b9f63..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_spu.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf17_spu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF17", - "title" : "CS Site-Specific Factor 17", - "subtitle" : "Urinary 5-Hydroxyindoleacetic Acid (5-HIAA) Lab Value", - "notes" : "**Note 1**: Carcinoid tumors can release large amounts of serotonin. 5-Hydroxyindoleacetic acid (5-HIAA) is a breakdown product of the hormone serotonin. The 5-HIAA test measures the amount of acid secreted in the urine over a 24-hour period.\n\n**Note 2**: Record to the nearest milligram (mg) the highest 5-HIAA lab value documented in the medical record prior to treatment. For example, code a pre-treatment 5-HIAA of 550 mg over 24 hours as 550.\n\n**Note 3**: Code 000 is reserved for exactly 0 mg (no measurable amount of 5-HIAA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 mg should be coded 001. For code 001, also round 1.1-1.4 mg down to 1 ng/ml. For codes 002-979, round values to the nearest mg.\n\n**Note 4**: For an uncertain value, record the stated closest value. For example, code a value stated as \"less than 5 mg\" as 005.", - "last_modified" : "2015-05-27T16:19:57.750Z", - "definition" : [ { - "key" : "ssf17", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 milligrams/24 hours (mg)/24hours" ], [ "001", "1 or less milligrams/24hours" ], [ "002-979", "2-979 milligrams/24hours" ], [ "980", "980 or greater milligrams/24hours" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test was not ordered and was not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_sqx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_sqx.json deleted file mode 100644 index 62f6696db..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf17_sqx.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf17_sqx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF17", - "title" : "CS Site-Specific Factor 17", - "subtitle" : "Extracapsular Extension of Regional Lymph Nodes", - "notes" : "**Note 1**: Code the status of extracapsular extension clinically and pathologically of any involved regional lymph node(s) coded in CS Lymph Nodes. Do not code extracapsular extension in any nodes coded in CS Mets at DX in this field.\n\n**Note 2**: Clinical extracapsular extension is coded when involved regional lymph node(s) are described as \"fixed\" or \"matted\".", - "last_modified" : "2015-05-27T16:19:57.805Z", - "definition" : [ { - "key" : "ssf17", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No lymph nodes involved" ], [ "010", "No extracapsular extension clinically AND extracapsular extension present on pathology" ], [ "020", "No extracapsular extension clinically AND extracapsular extension not present or not stated on pathology" ], [ "030", "No extracapsular extension clinically AND nodes not assessed pathologically" ], [ "040", "Extracapsular extension clinically AND extracapsular extension present on pathology" ], [ "050", "Extracapsular extension clinically AND extracapsular extension not present or not stated on pathology" ], [ "060", "Extracapsular extension clinically AND nodes not assessed pathologically" ], [ "070", "Extracapsular extension clinically unknown AND extracapsular extension present on pathology" ], [ "080", "Extracapsular extension clinically unknown AND extracapsular extension not present or not stated on pathology" ], [ "090", "Extracapsular extension clinically unknown AND nodes not assessed pathologically" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown if regional lymph node(s) involved, not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf18_saj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf18_saj.json deleted file mode 100644 index 5fff593d2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf18_saj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf18_saj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF18", - "title" : "CS Site-Specific Factor 18", - "subtitle" : "Disseminated Tumor Cells (DTC) and Method of Detection", - "notes" : "**Note 1**: Disseminated tumor cells (DTCs) are isolated tumor cells (ITCs) (micrometastases less than or equal to 0.2 mm) found in the bone marrow or other nonregional nodal tissues or organs.\n\n**Note 2**: Immunohistochemistry (IHC) with cytokeratin stains and Reverse Transcription Polymerase Chain Reaction (RT-PCR) are laboratory methods for identifying very small amounts of tumor cells in tissue. RT-PCR amplifies genetic material identified by probes for tumor genes to a detectable level.\n\n**Note 3**: Any positive test takes precedence over a negative or borderline test. Information about a known test takes precedence over no information about other tests.", - "last_modified" : "2015-05-27T16:19:57.850Z", - "definition" : [ { - "key" : "ssf18", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive, Reverse Transcriptase Polymerase Chain Reaction (RT-PCR) test" ], [ "020", "Positive, immunohistochemistry (IHC) test" ], [ "025", "Positive on RT-PCR and IHC" ], [ "030", "Positive, other test type" ], [ "040", "Positive, unknown test type" ], [ "110", "Negative/normal, RT-PCR test" ], [ "120", "Negative/normal IHC test" ], [ "130", "Negative/normal, other test type" ], [ "140", "Negative/normal, unknown test type" ], [ "210", "Borderline; equivocal; indeterminate; undetermined if positive or negative, RT-PCR test" ], [ "220", "Borderline; equivocal; indeterminate; undetermined if positive or negative, IHC test" ], [ "230", "Borderline; equivocal; indeterminate; undetermined if positive or negative, other test type" ], [ "240", "Borderline; equivocal; indeterminate; undetermined if positive or negative, unknown test type" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf18_snm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf18_snm.json deleted file mode 100644 index 055f7eed2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf18_snm.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf18_snm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF18", - "title" : "CS Site-Specific Factor 18", - "last_modified" : "2015-05-27T16:19:57.902Z", - "definition" : [ { - "key" : "ssf18", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf18_sqy.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf18_sqy.json deleted file mode 100644 index 41ffd79f1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf18_sqy.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf18_sqy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF18", - "title" : "CS Site-Specific Factor 18", - "subtitle" : "Isolated Tumor Cells (ITC) in Regional Lymph Node(s)", - "notes" : "**Note 1**: Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) methods such as Cytokeratin 20 (CK20) or CAM 5.2 or pancytokeratins. For Merkel cell carcinoma, the presence of ITCs in regional lymph node(s) is considered as positive nodal involvement.\n\n**Note 2**: Record the status of ITCs as documented by the pathologist.\n\n**Note 3**: If regional lymph nodes are removed and are pathologically negative with no mention of ITC status, assume there are no ITCs and assign code 000.\n\n**Note 4**: Use code 999 if nodes are clinically involved but no pathologic examination of regional nodes is performed.", - "last_modified" : "2015-05-27T16:19:57.955Z", - "definition" : [ { - "key" : "ssf18", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Regional lymph nodes negative on routine hematoxylin and eosin (H and E) stains, no immunohistochemical (IHC) studies for isolated tumor cells (ITC) done (CK20, CAM 5.2, pancytokeratins) or unknown if IHC studies done \nNodes clinically negative, not examined pathologically" ], [ "010", "Regional lymph nodes negative on routine H and E, IHC studies done (CK20, CAM5.2, pancytokeratins) and ITCs NOT PRESENT" ], [ "020", "Regional lymph nodes negative on routine H and E, IHC studies done (CK20, CAM 5.2, pancytokeratins) and ITCs PRESENT" ], [ "090", "Regional lymph nodes negative on routine H and E, positive for tumor detected by IHC, size of tumor cell clusters or metastases not stated" ], [ "100", "Regional lymph nodes positive with ITCs on routine H and E" ], [ "200", "Regional lymph nodes positive with ITCs, NOS, method of detection not stated" ], [ "300", "Regional lymph nodes positive other than ITCs \n(Tumor cells greater than 0.2 millimeter (mm))" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in pathology report or patient record\nClinical assessment of nodal involvement only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf19_sak.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf19_sak.json deleted file mode 100644 index a449b01e8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf19_sak.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf19_sak", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF19", - "title" : "CS Site-Specific Factor 19", - "subtitle" : "Assessment of Positive Ipsilateral Axillary Lymph Nodes", - "notes" : "**Note**: Code the assessment method used for the number of positive axillary and intramammary lymph nodes coded in CS Site-Specific Factor 3, Number of Positive Ipsilateral Level I-II Axillary Lymph Nodes. Do not code the assessment method used for Level III axillary nodes or internal mammary nodes.", - "last_modified" : "2015-05-27T16:19:58.007Z", - "definition" : [ { - "key" : "ssf19", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No ipsilateral axillary lymph nodes positive" ], [ "010", "No nodes examined pathologically: positive nodes on clinical assessment only" ], [ "015", "No nodes examined pathologically: negative nodes on clinical assessment or no clinical assessment" ], [ "020", "Positive fine needle aspiration (FNA) only" ], [ "025", "Positive fine needle aspiration (FNA) \nAND negative lymph node dissection" ], [ "027", "Positive fine needle aspiration (FNA) \nAND positive lymph node dissection" ], [ "030", "Positive core biopsy, incisional only" ], [ "040", "Positive core biopsy, excisional only" ], [ "050", "Positive core biopsy, type not specified only" ], [ "060", "Positive core biopsy(ies) (incisional, excisional, NOS)\nAND negative lymph node dissection" ], [ "070", "Positive core biopsy(ies) (incisional, excisional, NOS)\nAND positive lymph node dissection" ], [ "100", "Positive sentinel lymph node biopsy(ies) only \n(no lymph node dissection)" ], [ "110", "Positive sentinel lymph node biopsy(ies)\nAND negative lymph node dissection" ], [ "120", "Positive sentinel lymph node biopsy(ies)\nAND positive lymph node dissection" ], [ "123", "Positive lymph node dissection only\n(No sentinel node biopsy or FNA or core biopsy)" ], [ "125", "Positive lymph node dissection\nAND negative FNA" ], [ "127", "Positive lymph node dissection\nAND negative core biopsy(ies) (incisional, excisional, NOS)" ], [ "130", "Positive lymph node dissection\nAND negative sentinel node biospsy(ies)" ], [ "140", "OBSOLETE DATA RETAINED V0204\nNo sentinel node biopsy \nAND positive lymph node dissection" ], [ "150", "Nodes positive, but method of assessment unknown" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "OBSOLETE DATA CONVERTED V0203\nSee code 150\n\nNodes positive, but method of assessment unknown" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf19_snn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf19_snn.json deleted file mode 100644 index af6a778f4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf19_snn.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf19_snn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF19", - "title" : "CS Site-Specific Factor 19", - "last_modified" : "2015-05-27T16:19:58.055Z", - "definition" : [ { - "key" : "ssf19", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf19_sqz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf19_sqz.json deleted file mode 100644 index 1fe768078..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf19_sqz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf19_sqz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF19", - "title" : "CS Site-Specific Factor 19", - "subtitle" : "Tumor Base Transection Status", - "notes" : "**Note 1**: Record transection of the tumor base from documentation in pathology reports. If the whole depth of tumor cannot be seen on a single specimen, the tumor base is considered to be transected. Multiple specimens (two or more) may be taken from a combinantion of biopsy and resection procedures.\n\n**Note 2**: Use code 010:\n\n* If tumor depth is noted on multiple specimens (two or more).\n* If only one specimen is taken and has positive deep margins.\n* If the pathologist indicates the tumor base is transected.\n\n**Note 3**: If a single specimen removes the entire depth of tumor and deep margins are not involved, assign code 020.", - "last_modified" : "2015-05-27T16:19:58.101Z", - "definition" : [ { - "key" : "ssf19", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "010", "Tumor base transected" ], [ "020", "Tumor base not transected" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jae.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jae.json deleted file mode 100644 index 9b71e28a7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jae.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jae", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Carbohydrate Antigen 125 (CA-125)", - "notes" : "**Note 1**: Carbohydrate Antigen 125 (CA-125), also known as cancer antigen 125, mucin 16, or MUC16, is a protein which in humans is encoded by the MUC16 gene. CA-125 is a tumor marker or biomarker that may be elevated in the blood of some patients with ovarian cancer. \n\n**Note 2**: Record only the blood or serum CA-125 value for this data item. Do not record CA-125 test results based on fluid from the chest or abdominal cavity. \n\n**Note 3**: Record the CA-125 status prior to treatment. \n\n**Note 4**: Normal values may vary with patient age and from lab to lab. The typical human reference ranges are 0 to 35 micrograms per milliliter (ug/ml).", - "last_modified" : "2015-05-27T16:19:58.147Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nTest not done" ], [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "080", "OBSOLETE DATA CONVERTED V0203\nSee code 997\n\nOrdered, but results not in chart" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jag.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jag.json deleted file mode 100644 index f6ce8ab49..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jag.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jag", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Estrogen Receptor (ER) Assay", - "notes" : "**Note 1**:\n\n* A. In cases where ER is reported on more than one tumor specimen (except as noted in B, D, and E), record the highest value. If any sample is positive, record as positive.\n* B. If neoadjuvant therapy is given, record the assay from tumor specimens prior to neoadjuvant therapy.\n* C. If neoadjuvant therapy is given and there are no ER results from pre-treatment specimens, report the findings from post-treatment specimens. \n* D. If the patient is ER positive and node negative, a multigene test such as OncotypeDX may be performed, in which case another ER test will be performed. Do not record the results of that test in this field. Record only the results of the test which made the patient eligible to be given the multigene test.\n* E. If ER is positive on an in situ specimen and ER is negative on all tested invasive specimens, code ER as negative (code 020).\n\n**Note 2**: In general, estrogen receptor (ER) assay is only performed on one sample. In cases where the assay is performed on more than one sample, there is not necessarily any reason to think that the most accurate is the test done on the \"largest\" tumor specimen. Clinically, treatment will be based on any positive test; with the benefit and minimal toxicity of hormonal therapy, most patients will be given the \"benefit of the doubt\" and treated with hormonal therapy if any ER test is positive. See exception in Note 1E.\n\n**Note 3**: The most recent interpretation guidelines for ER do not allow for a borderline result. Therefore, code 030 will rarely be used. If 1% or greater cells stain positive, the test results are considered positive. If less than 1% of cells stain positive, the results are considered negative.", - "last_modified" : "2015-05-27T16:19:58.196Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nTest not done (test not ordered and not performed)" ], [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "080", "OBSOLETE DATA CONVERTED V0203\nSee code 997\n\nOrdered, but results not in chart" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "996", "Test ordered, results not interpretable" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaj.json deleted file mode 100644 index 4e576287d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaj.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ssf1_jaj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Peripheral Blood Involvement", - "notes" : "**Note 1**: Sezary cells are circulating atypical, malignant T lymphocytes with hyperconvoluted cerebriform nuclei, with a mature memory T-cell phenotype (CD3+, CD4+) with loss of CD 7 and CD26.\n\n**Note 2**: Assessment of blood tumor burden is performed using two types of tests:\n\n* A. Using the microscope to count neoplastic (Sezary) cells. The results can be given as counts per cubic millimeter (mm3) or as a percentage of the total lymphocytes that are abnormal (Sezary cells). \n* B. Flow cytometry to characterize the cell surface markers on the neoplastic cells, where the neoplastic cells show the loss of some specific markers (CD26, for example.) Interpretation of the test results is complicated and may vary. In addition, clonality may be assessed as explained in Note 4. \n\n**Note 3**: The categories for peripheral blood involvement are: \n\n* B0: No significant blood involvement \n* B1: Low blood tumor burden \n* B2: High blood tumor burden. \n\n**Note 4**: Clonality may be assessed on tissue and blood samples for this disease. The tests look for what is called \"TCR gene rearrangement\" a detectable genetic pattern of the T-cell receptors on the neoplastic T-cells. A finding of \"monoclonal\" means the cells have derived from a single ancestor cell. In this staging system, \"monoclonal\" is termed \"clone +\" or \"clone positive,\" and this generally indicates a worse prognosis. \"Polyclonal\" means the cells in question have not derived from a single ancestor cell, and this finding is termed \"clone -\" or \"clone negative.\" This may indicate a better prognosis. Test methods for clonality include Southern blot and polymerase chain reaction (PCR). If clonality is given but a B rating is not stated by the physician, use code 090.\n\n**Note 5**: Record the B rating as stated by the physician. If counts or percentages of neoplastic cells, flow cytometry test results, and/or clonality test results are performed but a B rating is not stated by the physician, use code 090.\n\n**Note 6**: If there is no peripheral blood involvement or Sezary cell count is less than 1000, code 030.", - "last_modified" : "2015-05-27T16:19:58.242Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "b_map", - "name" : "B Map", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 030\n\nNo peripheral blood involvement:\n Less than 1000 Sezary cells", "ERROR:" ], [ "001", "OBSOLETE DATA RETAINED V0200\n\nAtypical circulating cells in peripheral blood:\n Less than 5%\n Greater than or equal to 1000 Sezary cells", "VALUE:BX" ], [ "002", "OBSOLETE DATA RETAINED V0200\n\nAtypical circulating cells in peripheral blood:\n Greater than 5%", "VALUE:BX" ], [ "003", "OBSOLETE DATA RETAINED V0200\n\n% Not stated", "VALUE:BX" ], [ "010", "Absence of significant blood involvement: \n 5% or less of peripheral blood lymphocytes are atypical (Sezary) cells \n Clone negative\n\nStated as B0a", "VALUE:B0a" ], [ "020", "Absence of significant blood involvement: \n 5% or less of peripheral blood lymphocytes are atypical (Sezary) cells \n Clone positive\n\nStated as B0b", "VALUE:B0b" ], [ "030", "Absence of significant blood involvement: \n 5% or less of peripheral blood lymphocytes are atypical (Sezary) cells \n Clone unknown\n\nStated as B0 [NOS]", "VALUE:B0NOS" ], [ "040", "Low blood tumor burden: \n More than 5% of peripheral blood lymphocytes are atypical (Sezary) cells but does not meet the criteria of B2 \n Clone negative\n\nStated as B1a", "VALUE:B1a" ], [ "050", "Low blood tumor burden: \n More than 5% of peripheral blood lymphocytes are atypical (Sezary) cells but does not meet the criteria of B2 \n Clone positive\n\nStated as B1b", "VALUE:B1b" ], [ "060", "Low blood tumor burden: \n More than 5% of peripheral blood lymphocytes are atypical (Sezary) cells but does not meet the criteria of B2 \n Clone unknown\n\nStated as B1 [NOS]", "VALUE:B1NOS" ], [ "070", "High blood tumor burden: \n 1000 microliter (uL) Sezary cells or more\n Clone positive\n \nStated as B2", "VALUE:B2" ], [ "080", "% of atypical peripheral blood lymphocytes not stated and B rating not stated", "VALUE:BX" ], [ "090", "Sezary cell counts, blood flow cytometry, and/or clonality results in chart, B rating not stated", "VALUE:BX" ], [ "100", "OBSOLETE DATA CONVERTED V0203\nSee code 997\n\nSezary cell counts, blood flow cytometry, and/or clonality tests ordered, test results not in chart,\n B rating not known", "ERROR:" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)", "VALUE:BX" ], [ "997", "Sezary cell counts, blood flow cytometry, and/or clonality tests ordered, test results not in chart , \nB rating not stated", "VALUE:BX" ], [ "999", "Unknown or no information\nNot documented in patient record", "VALUE:BX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jal.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jal.json deleted file mode 100644 index e0f3fd946..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jal.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jal", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "OBSOLETE - Alpha Fetoprotein (AFP)", - "notes" : "**Note**: This CS Site-Specific Factor is obsolete beginning with CS Version 2 (codes and descriptions). Old data are retained, but new cases are not coded with this Site-Specific Factor. Use code 988 for this field.", - "last_modified" : "2015-05-27T16:19:58.288Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0200\n \nTest not done (SX)" ], [ "020", "OBSOLETE DATA RETAINED V0200\n \nWithin normal limits (S0)" ], [ "040", "OBSOLETE DATA RETAINED V0200\n \nRange 1 (S1) less than 1,000 ng/ml" ], [ "050", "OBSOLETE DATA RETAINED V0200\n \nRange 2 (S2) 1,000 -10,000 ng/ml" ], [ "060", "OBSOLETE DATA RETAINED V0200\n \nRange 3 (S3) greater than 10,000 ng/ml" ], [ "080", "OBSOLETE DATA RETAINED V0200\n \nOrdered, but results not in chart" ], [ "988", "Not applicable: Information not collected for this schema" ], [ "999", "OBSOLETE DATA RETAINED V0200 \n\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jam.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jam.json deleted file mode 100644 index 1739d96dd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jam.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jam", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Pleural Effusion", - "notes" : "**Note 1**: One of the most common symptoms of mesothelioma is a pleural effusion, or an accumulation of fluid between the parietal pleura (the pleura covering the chest wall and diaphragm) and the visceral pleura (the pleura covering the lungs). Record the absence or presence of pleural effusion and specifically, if present, whether the pleural effusion is non-malignant, malignant, or NOS.\n\n**Note 2**: If imaging indicates a pleural effusion but pleural fluid cytology is described as negative for malignant cells, assign code 010.\n\n**Note 3**: If pleural fluid cytology is described as suspicious/suspicious for mesothelioma, assign code 020.\n\n**Note 4**: If pleural fluid cytology is described as atypical/atypical mesothelial cells (not specifically non-malignant or malignant), assign code 030.", - "last_modified" : "2015-05-27T16:19:58.337Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No pleural effusion" ], [ "010", "Pleural effusion, non-malignant (negative)" ], [ "020", "Pleural effusion, malignant (positive)" ], [ "030", "Pleural effusion, NOS" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "999", "Unknown if pleural effusion Not documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jap.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jap.json deleted file mode 100644 index 23295be71..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jap.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jap", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Solitary vs Multifocal Tumor", - "notes" : "**Note**: The AJCC definition for multifocal tumor differs from the Multiple Primary/Histology (MP/H) definition for Multiplicity Counter. Use code 020 for any tumor with multiple foci, even if foci are not measured.", - "last_modified" : "2015-05-27T16:19:58.389Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No evidence of primary tumor (CS Extension code = 950)\nPrimary tumor in ectopic thyroid tissue" ], [ "001", "OBSOLETE DATA CONVERTED V0203\nSee code 010\n\nSolitary tumor" ], [ "002", "OBSOLETE DATA CONVERTED V0203\nSee code 020\n\nMultifocal tumor [AJCC descriptor (m)]" ], [ "010", "Solitary tumor (s)" ], [ "020", "Multifocal tumor (m)" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaq.json deleted file mode 100644 index 2214bb189..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jaq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Prognostic Scoring Index", - "notes" : "**Note 1**: Stage for gestational trophoblastic tumors is anatomically defined, but the Prognostic Scoring Index is used to substage patients. Substage A (low risk) and Substage B (high risk) are assigned on the basis of a non-anatomic risk factor scoring system:\n\n Age: \n Score 0: Age less than 40 \n Score 1: Age equal to or greater than 40 \n Antecedent Pregnancy:\n Score 0: Hydatidiform mole \n Score 1: Abortion \n Score 2: Term pregnancy \n Interval Months from Index Pregnancy:\n Score 0: Less than 4 months\n Score 1: 4-6 months \n Score 2: 7-12 months \n Score 4: More than 12 months \n Pretreatment Serum human chorionic gonadotropin (hCG) (IU/ml):\n Score 0: Less than 10 to 3rd power (1,000)\n Score 1: 10 to 3rd power to less than 10 to 4th power (1,000 to less than 10,000) \n Score 2: 10 to 4th power to less than 10 to 5th power (10,000 to less than 100,000) \n Score 4: Equal to or greater than 10 to 5th power (100,000 or greater) \n Largest Tumor Size, Including Uterus: \n Score 0: Less than 3 cm\n Score 1: 3 cm to 5 cm';\n Score 2: Equal to or greater than 5 cm\n Sites of Metastases: \n Score 0: Lung only or none\n Score 1: Spleen, kidney\n Score 2: Gastrointestinal tract\n Score 4: Liver, brain \n Number of Metastases Identified:\n Score 0: 0\n Score 1: 1-4\n Score 2: 5-8\n Score 4: Greater than 8 \n Previous Failed Chemotherapy:\n Score 2: Single drug\n Score 4: 2 or more drugs\n\n**Note 2**: Clinician scoring is recommended, but the score may be assigned if clinician scoring is unavailable.\n\n**Note 3**: Sum the score of the prognostic risk factors to determine the final Prognostic Scoring Index. If any one of the factors is unknown, do not assign score, unless low risk or high risk can be determined with the information available.", - "last_modified" : "2015-05-27T16:19:58.438Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Clinician stated no risk factors" ], [ "001", "OBSOLETE DATA RETAINED V0200\n\nClinician stated low risk (sum score of 7 or less)\nStated to be substage A, but score not specified" ], [ "002", "OBSOLETE DATA RETAINED V0200\n\nClinician stated high risk (sum score of 8 or greater or NOS)\nStated to be substage B, but score not specified" ], [ "010", "Clinician stated low risk \n(Prognostic score of 6 or less)" ], [ "050", "Stated to be substage A, but score not specified" ], [ "110", "Clinician stated high risk \n(Prognostic score of 7 or greater or NOS)" ], [ "150", "Stated to be substage B, but score not specified" ], [ "200", "Clinician stated risk factors present, but unknown whether low or high risk" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jat.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jat.json deleted file mode 100644 index a90d88119..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jat.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id" : "ssf1_jat", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Extension Evaluated at Enucleation", - "notes" : "**Note 1**: True invasion of the choroid is defined as one or more solid nests of tumor cells that fills or replaces the choroid and has pushing borders. This is distinguished from artifactual invasion, or groups of tumor cells in the open spaces beween intraocular structures, extraocular tissues, and/or subarachnoid space. Focal choroidal invasion is a solid nest of tumor measuring less than 3 millimeter (mm) in maximum diameter. Massive choroidal invasion is a solid tumor nest 3 mm or more in maximum diameter.\n\n**Note 2**: For correct calculation of derived staging fields for this schema, CS Extension and CS Site-Specific Factor 1, Extension Evaluated at Enucleation, must both be coded, whether or not an enucleation was performed. Information from enucleation is excluded from CS Extension and coded only in CS Site-Specific Factor 1.\n\n**Note 3**: For information regarding stage calculations, refer to CS Extension Note 3 and the special calculation extra tables.", - "footnotes" : "For this site, extension is coded in two CS fields:CS Extension (clinical extension), and CS Site-Specific Factor 1 - Extension Evaluated at Enucleation. The mapping values for the T category for AJCC Stage, SS77, and SS2000 and the associated c, p, y, or a indicator are assigned based on the values in CS Extension, CS TS/Ext Eval, and Site-Specific Factor 1 as shown in the Special Calculation Table for AJCC Stage and Special Calculation Table for SEER Summary Stage.", - "last_modified" : "2015-05-27T16:19:58.486Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77_d", - "name" : "Summary Stage 1977 T", - "type" : "DESCRIPTION" - }, { - "key" : "t2000_d", - "name" : "Summary Stage 2000 T", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0200\nSee code 970\n\nNo enucleation performed", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "030", "OBSOLETE DATA CONVERTED V0200\nSee code 300\n\nTumor(s) confined to retina, NOS", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "041", "OBSOLETE DATA CONVERTED V0200\nSee code 410\n\nTumor cells in the vitreous body", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "043", "OBSOLETE DATA CONVERTED V0200\nSee code 430\n\nTumor(s) confined to subretinal space\n No optic nerve or choroidal invasion", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "044", "OBSOLETE DATA CONVERTED V0200\nSee code 440\n\nTumor invades optic nerve up to, but not through,\nlevel of lamina cribrosa", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "046", "OBSOLETE DATA CONVERTED V0200\nSee code 460\n\nTumor invades choroid focally", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "047", "OBSOLETE DATA CONVERTED V0200\nSee code 470\n\nTumor invades optic nerve up to, but not through,\nlevel of lamina cribrosa AND invades the choroid focally", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "048", "OBSOLETE DATA CONVERTED V0200\nSee code 440\n\nOptic nerve as far as lamina cribrosa, NOS", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "049", "OBSOLETE DATA CONVERTED V0200\nSee code 490\n\nMinimal invasion of optic nerve and/or \noptic coats, NOS", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "054", "OBSOLETE DATA CONVERTED V0200\nSee code 540\n\nTumor invades optic nerve through the level of lamina\ncribrosa but not to line of resection ", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "056", "OBSOLETE DATA CONVERTED V0200\nSee code 560\n\nTumor massively invadeschoroid ", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "057", "OBSOLETE DATA CONVERTED V0200\nSee code 570\n\nTumor invades optic nerve through level of lamina\ncribrosa but not to line of resection AND massively invades choroid", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "059", "OBSOLETE DATA CONVERTED V0200\nSee code 590\n\nSignificant invasion of optic nerve and/or \noptic coats, NOS", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "072", "OBSOLETE DATA CONVERTED V0200\nSee code 765\n\nExtraocular extension including:\n Both anteriorly or posteriorly into orbit\n Optic nerve to line of resection\n Orbit through sclera\nExtension into subarachnoidal space of optic nerve\nExtension to apex of orbit", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "074", "OBSOLETE DATA RETAINED V0200\n\nExtraocular extension including into:\n Brain\n Brain beyond the chiasm", "ERROR:", "VALUE:T4", "D", "D" ], [ "075", "OBSOLETE DATA RETAINED V0200\n\nOther adjacent extraocular extension", "ERROR:", "VALUE:T4", "RE", "RE" ], [ "080", "OBSOLETE DATA RETAINED V0200\n\nFurther contiguous extension", "ERROR:", "VALUE:T4", "D", "D" ], [ "095", "OBSOLETE DATA CONVERTED V0200\nSee code 950\n\nNo evidence of primary tumor", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "096", "OBSOLETE DATA CONVERTED V0200\nSee code 960\n\nUnknown if enucleation done", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "300", "Tumor(s) confined to retina, NOS", "VALUE:T1", "VALUE:T1", "L", "L" ], [ "410", "Tumor cells in the vitreous body\nWITHOUT optic nerve invasion and \nWITHOUT choroidal invasion", "VALUE:T1", "VALUE:T1", "L", "L" ], [ "430", "Tumor(s) confined to subretinal space\nWITHOUT optic nerve invasion and \nWITHOUT choroidal invasion", "VALUE:T1", "VALUE:T1", "L", "L" ], [ "435", "Tumor confined to eye NOS\nWITHOUT optic nerve and \nWITHOUT choroidal invasion\n\nStated as pT1 with no other information on extension", "VALUE:T1", "VALUE:T1", "L", "L" ], [ "440", "Tumor invades optic nerve up to, but not through, level of lamina cribrosa \nWITHOUT invasion of choroid ", "VALUE:T2a", "VALUE:T2a", "L", "L" ], [ "460", "Tumor invades choroid focally \nWITHOUT invasion of optic nerve", "VALUE:T2a", "VALUE:T2b", "L", "L" ], [ "465", "Stated as pT2a with no other information on extension", "VALUE:T2a", "VALUE:T2a", "L", "L" ], [ "470", "Tumor invades optic nerve up to, but not through, level of lamina cribrosa \nWITH focal invasion of the choroid \n\nStated as pT2b with no other information on extension", "VALUE:T2b", "VALUE:T2c", "L", "L" ], [ "490", "Tumor with minimal optic nerve and/or choroidal invasion, NOS\n\nStated as pT2 [NOS] with no other information on extension", "VALUE:T2NOS", "VALUE:T2NOS", "L", "L" ], [ "540", "Tumor invades optic nerve through the level of lamina cribrosa but not to line of resection \nWITHOUT massive invasion of choroid", "VALUE:T3a", "VALUE:T3a", "RE", "RE" ], [ "550", "Tumor massively invades choroid WITHOUT invasion of optic nerve through level of lamina cribrosa", "VALUE:T3a", "VALUE:T3b", "RE", "RE" ], [ "560", "Tumor with significant optic nerve and/or choroidal invasion\n\nStated as pT3a with no other information on extension", "VALUE:T3a", "VALUE:T3a", "RE", "RE" ], [ "570", "Tumor invades optic nerve through level of lamina cribrosa but not to line of resection \nWITH massive invasion of choroid\n\nStated as pT3b with no other information on extension", "VALUE:T3b", "VALUE:T3c", "RE", "RE" ], [ "590", "Tumor with significant optic nerve and/or choroidal invasion, NOS\n\nStated as pT3 [NOS] with no other information", "VALUE:T3NOS", "VALUE:T3NOS", "RE", "RE" ], [ "725", "Invasion of optic nerve to resection line \nWITHOUT extraocular extension \n\nStated as pT4a with no other information on extension", "VALUE:T4a", "VALUE:T4", "RE", "RE" ], [ "745", "Extraocular extension WITHOUT invasion of optic nerve to resection line including:\n Invasion of orbit through sclera\n Extension anteriorly or posteriorly into orbit\n Extension into subarachnoidal space of optic nerve\n Extension to apex of orbit", "VALUE:T4NOS", "VALUE:T4", "RE", "RE" ], [ "755", "Extraocular extension WITHOUT invasion of optic nerve to resection line including:\n Extension to brain\n Extension to brain beyond chiasm", "VALUE:T4NOS", "VALUE:T4", "D", "D" ], [ "765", "Invasion of optic nerve to resection line WITH extraocular extension including:\n Invasion of orbit through sclera\n Extension anteriorly or posteriorly into orbit\n Extension into subarachnoidal space of optic nerve\n Extension to apex of orbit", "VALUE:T4b", "VALUE:T4", "RE", "RE" ], [ "775", "Invasion of optic nerve to resection line WITH extraocular extension including:\n Extension to brain\n Extension to brain beyond chiasm", "VALUE:T4b", "VALUE:T4", "D", "D" ], [ "790", "Stated as pT4b with no other information on extension", "VALUE:T4b", "VALUE:T4", "RE", "RE" ], [ "810", "Stated as pT4 [NOS] with no other information on extension", "VALUE:T4NOS", "VALUE:T4", "RE", "RE" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "U", "U" ], [ "960", "Unknown if enucleation performed", "VALUE:TX", "VALUE:TX", "U", "U" ], [ "970", "No enucleation performed", "VALUE:TX", "VALUE:TX", "VALUE:U", "U" ], [ "999", "Enucleation performed:\n Extension unknown", "VALUE:TX", "VALUE:TX", "U", "U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jav.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jav.json deleted file mode 100644 index 58fdbb06d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jav.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jav", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Prostatic Specific Antigen (PSA) Lab Value", - "notes" : "**Note 1**: PSA is used in conjunction with anatomic extent of disease and Gleason score to distinguish among stage I, stage IIA, and stage IIB for AJCC 7 staging.\n\n**Note 2**: The same laboratory test should be used to record information in CS Site-Specific Factor 1 and CS Site-Specific Factor 2.\n\n**Note 3**: Record to the nearest tenth in nanograms/milliliter (ng/ml) the highest PSA lab value documented in the medical record prior to diagnostic biopsy of prostate and treatment. The lab value may be recorded in the lab report, history and physical, or clinical statement in the pathology report, etc. For example, code a PSA of 20.0 ng/ml as 200. A lab value expressed in micrograms per liter (ug/L) is equivalent to the same value expressed in nanograms per milliliter (ng/ml). See General Rules Part I, Section 2 under Prostate for further instructions on coding PSA lab value.\n\n**Note 4**: A discrepancy between the PSA documented in the lab report and the PSA documented by the clinician may arise due the clinician adjusting the PSA value. Certain medications for benign prostatic hypertrophy (BPH) decrease the PSA. Therefore, ONLY if there is documentation by a clinician within the medical record of an adjusted PSA value, record the adjusted value. The registrar does not adjust the PSA value based on BPH medication use. If there is no documentation by a clinician within the medical record of an adjusted PSA value, record the PSA value provided. The fact that an adjusted PSA value is being recorded should be documented in a text field.", - "last_modified" : "2015-05-27T16:19:58.546Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0200\nSee code 998\n\nTest not done (test was not ordered and was not performed)" ], [ "001", "0.1 or less nanograms/milliliter (ng/ml)\n(Exact value to nearest tenth of ng/ml)" ], [ "002-979", "0.2 - 97.9 ng/ml\n(Exact value to nearest tenth of ng/ml)" ], [ "980", "98.0 ng/ml or greater" ], [ "981-987", "OBSOLETE DATA CONVERTED V0200\nSee code 980\n\n98.1 - 98.7 ng/ml" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)\n(Cases with code 988 in CSv1 converted to code 980)" ], [ "989", "OBSOLETE DATA CONVERTED V0200\nSee code 980\n\n98.9 ng/ml" ], [ "990", "OBSOLETE DATA CONVERTED V0200\nData converted to code 980\n\n99.0 or greater ng/ml" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaw.json deleted file mode 100644 index b303446c5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jaw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jaw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "OBSOLETE - WHO Grade Classification", - "notes" : "**Note 1**: This CS Site-Specific Factor is obsolete beginning with CS Version 2 (codes and notes). Old data are retained, but new cases are not coded with this Factor. Use code 988 for this field.\n\n**Note 2**: WHO grade applies only to C75.1 pituitary gland, C75.2 craniopharyngeal duct, and C75.3 pineal gland. Assign code 999 for all other topographies in this schema.\n\n**Note 3**: Code the WHO Grade Classification as documented in the medical record.", - "last_modified" : "2015-05-27T16:19:58.599Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "OBSOLETE DATA RETAINED V0200\n\nGrade I" ], [ "020", "OBSOLETE DATA RETAINED V0200\n\nGrade II" ], [ "030", "OBSOLETE DATA RETAINED V0200\n\nGrade III" ], [ "040", "OBSOLETE DATA RETAINED V0200\n\nGrade IV" ], [ "988", "Not applicable for this schema (CS Version 2)" ], [ "999", "OBSOLETE DATA RETAINED V0200\n\nClinically diagnosed/grade unknown\nDoes not apply\nNot documented in medical record\nGrade unknown, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jax.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jax.json deleted file mode 100644 index 88113a403..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jax.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jax", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Clinical Assessment of Regional Lymph Nodes", - "notes" : "**Note 1**: Assessment of clinically evident regional lymph nodes is based on information from the diagnostic workup. This might include: physical examination, imaging, diagnostic lymph node biopsy and exploratory surgery (without a resection).\n\n**Note 2**: In the rare instance that the number of clinically positive regional nodes is stated but a clinical N category is not stated, use the code that reflects the most specific statement about the number of involved regional nodes.\n\n**Note 3**: If there is no diagnostic work-up to assess regional lymph nodes, use code 999. Do not apply the inaccessible nodes rule that presumes unmentioned nodes to be negative.", - "last_modified" : "2015-05-27T16:19:58.696Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Nodes not clinically evident; imaging of regional nodes performed and nodes not mentioned" ], [ "100", "Metastases in 1 - 2 regional lymph nodes, determined clinically\n\nStated as clinical N1" ], [ "200", "Metastases in 3 - 6 regional lymph nodes, determined clinically\n\nStated as clinical N2" ], [ "300", "Metastases in 7 or more regional lymph nodes, NOS, determined clinically\n\nStated as clinical N3 [NOS]" ], [ "310", "Metastases in 7 - 15 regional lymph nodes, determined clinically\n\nStated as clinical N3a" ], [ "320", "Metastases in 16 or more regional lymph nodes, determined clinically\n\nStated as clinical N3b" ], [ "400", "Clinically positive regional node(s), NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Regional lymph nodes involved pathologically, clinical assessment not stated Unknown if regional lymph nodes clinically evident Not documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jba.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jba.json deleted file mode 100644 index 1ee1bb1c4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jba.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jba", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "OBSOLETE - WHO Grade Classification", - "notes" : "**Note**: This CS Site-Specific Factor is obsolete beginning with CS Version 2 (codes, code descriptions, and notes). Old data are retained, but new cases are not coded 010-040 or 999. Use code 988 for this field for all cases entered in CS Version 2.. (Adrenal Gland tumors were coded using another schema in CS Version 1 in which this factor was defined.)\n\n**OBSOLETE V0200 Note 1**: WHO grade applies only to C75.1 pituitary gland, C75.2 craniopharyngeal duct, C75.3 pineal gland.\n\n**OBSOLETE V0200 Note 2**: Code the WHO Grade Classification as documented in the medical record.", - "last_modified" : "2015-05-27T16:19:58.751Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "OBSOLETE DATA RETAINED V0200 \n\nGrade I" ], [ "020", "OBSOLETE DATA RETAINED V0200 \n\nGrade II" ], [ "030", "OBSOLETE DATA RETAINED V0200 \n\nGrade III" ], [ "040", "OBSOLETE DATA RETAINED V0200 \n\nGrade IV" ], [ "988", "Not applicable: Information not collected for this schema" ], [ "999", "OBSOLETE DATA RETAINED V0200\n \nClinically diagnosed/grade unknown\nDoes not apply \nNot documented in medical record\nGrade unknown, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbd.json deleted file mode 100644 index ccd15a855..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Invasion Beyond Capsule", - "notes" : "**Note 1**: Information about invasion beyond the capsule is collected in CS Extension as an element in anatomic staging. It is also collected in this field as it may have an independent effect on prognosis.\n\n**Note 2**: Record the location of invasion beyond capsule as documented in the pathology report. Assign code 000 if surgical resection of the primary site is performed, the pathology report is available for review, and invasion beyond capsule is not mentioned.", - "last_modified" : "2015-05-27T16:19:58.813Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Invasion beyond capsule not present/not identified" ], [ "010", "Lateral invasion: \n Perinephric fat" ], [ "020", "Medial invasion: \n Renal sinus \n Perisinus fat" ], [ "030", "020 + 010\n \nMedial invasion plus lateral invasion \nRenal sinus/perisinus fat invasion plus perinephric fat invasion" ], [ "888", "OBSOLETE DATA CONVERTED V0200 \nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "991", "Invasion beyond capsule, NOS" ], [ "998", "No surgical resection of primary site" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbg.json deleted file mode 100644 index 4fd891e2d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Clinical Assessment of Regional Lymph Nodes", - "notes" : "**Note 1**: Only include information from imaging and physical examination in this item. Do not include information on regional lymph nodes that is based on surgical observation or diagnostic lymph node biopsy.\n\n**Note 2**: Use code 400 if nodes are involved clinically but there is no indication of number of nodes involved. Do not use nodal involvement determined pathologically to code this data item.\n\n**Note 3**: If there is no diagnostic work-up to assess regional lymph nodes, use code 999. Do not apply the inaccessible nodes rule that presumes unmentioned nodes to be negative.", - "last_modified" : "2015-05-27T16:19:58.862Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Nodes not clinically evident; imaging of regional nodes was done, and nodes were not mentioned" ], [ "100", "Metastasis in 1 to 6 regional lymph nodes, determined clinically" ], [ "200", "Metastasis in 7 to 15 regional lymph nodes, determined clinically" ], [ "300", "Metastasis in more than 15 regional lymph nodes, determined clinically" ], [ "400", "Clinically positive regional nodes, NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n \nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Regional lymph nodes involved pathologically, clinical assessment not stated\nUnknown if regional lymph nodes clinically evident\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbh.json deleted file mode 100644 index 931c71981..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1**: The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis). Use code 987 for any case where CS Extension is coded 000.\n\n**Note 2**: Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it. Do not attempt to code FIGO stage based only on T, N, and M. If you cannot make a determination of stage based on the previous information, use code 999.", - "last_modified" : "2015-05-27T16:19:58.920Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage l [NOS]" ], [ "110", "FIGO Stage lA" ], [ "120", "FIGO Stage 1B" ], [ "200", "FIGO Stage ll [NOS]" ], [ "210", "FIGO Stage IIA" ], [ "220", "FIGO Stage IIB" ], [ "300", "FIGO Stage III [NOS]" ], [ "310", "FIGO Stage IIIA" ], [ "320", "FIGO Stage IIIB" ], [ "330", "FIGO Stage IIIC" ], [ "400", "OBSOLETE DATA CONVERTED V0203\nSee code 406\n\nFIGO Stage IVA" ], [ "402", "FIGO Stage IV [NOS]" ], [ "406", "FIGO Stage IVA" ], [ "410", "FIGO Stage IVB" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbj.json deleted file mode 100644 index 54313ac30..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Ki-67/MIB-1 Labeling Index (LI): Ophthalmic", - "notes" : "**Note 1**: Ki-67 antigen is a nuclear protein, expressed by cells in all phases of the active cell cycle (G1, S, G2, and M phase) and absent in resting cells (G0 phase). Tumor cells with positive staining for Ki-67 antibodies are actively growing or proliferating. The fraction of Ki-67-positive tumor cells (the Ki-67 labeling index, or LI) may correlate with the clinical course of cancer. The value is expressed as the percentage of carcinoma cells in the tissue sample with positive immunohistochemical staining for the Ki-67 protein. The staining may be performed with the MIB-1 monoclonal antibody, so the test may be referred to as either Ki-67 or MIB-1\n\n**Note 2**: Code the LI fraction percentage using Ki-67 or MIB-1 when it is available in the pathology report for the primary tumor. The Ki-67 or MIB-1 LI may also be called the growth fraction or proliferative fraction.\n\n**Note 3**: Record the LI as an exact whole number (000-100). For example, if the LI level is recorded by the pathologist as 15%, assign code 015. If the percentage is documented as 13.7%, round up to 14% and assign code 014. If the percentage is documented as 13.2%, round down to 13% and assign code 013. If the percentage is documented as less than 0.5%, round down to 0% and code 000; if the percentage is documented as greater than 0.5% and less than 1%, round up to 1% and code as 001.\n\n**Note 4**: In the absence of a specific percentage value, use codes 110-140 for a stated range of the LI, or codes 991-993 for an interpretation of the LI.", - "last_modified" : "2015-05-27T16:19:58.968Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000-100", "Percentage of Ki-67 growth fraction\n(Exact labeling index (LI) rounded to nearest percent)\n\nExamples:\n 000 0.2%\n 001 1%\n 010 10%\n 014 13.7%\n 055 55.2%" ], [ "110", "Stated as Ki-67 growth fraction less than or equal to 5%" ], [ "120", "Stated as Ki-67 growth fraction greater than 5% or less than or equal to 10%" ], [ "130", "Stated as Ki-67 growth fraction greater than 10%,or less than or equal to 20%" ], [ "140", "Stated as Ki-67 growth fraction greater than 20% or less than or equal to 50%" ], [ "150", "Stated as Ki-67 growth fraction greater than 50%" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee Code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "991", "Stated as low proliferation rate" ], [ "992", "Stated as increased proliferation rate" ], [ "993", "Stated as high proliferation rate" ], [ "997", "Ki-67 growth fraction study performed, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbk.json deleted file mode 100644 index 94928db7e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Tumor Size", - "notes" : "**Note 1**: Code the largest dimension of the tumor. Record the actual measurement in tenths of millimeters. Refer to the General Instructions in Part I for coding CS Tumor Size, when coding tumor size in this field.\n\n**Note 2**: Code the specific tumor size as stated in the medical record. Use code 991 or 992 if the physician's statement about T value is the only information available about the size of the tumor.", - "last_modified" : "2015-05-27T16:19:59.016Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "00.1 - 97.9 millimeters (mm) \n(Largest tumor dimension to nearest tenth of mm)\n\nExamples:\n 001 0.1 mm \n 010 1 mm\n 042 4.2 mm\n 100 10 mm, 1 centimeter (cm)\n 103 10.3 mm" ], [ "980", "98.0 mm or larger" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Microinvasion\nMicroscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 5 mm\"\n\nStated as T1 with no other information on size" ], [ "992", "Described as \"greater than 5 mm\"\n\nStated as T2 with no other information on size" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbl.json deleted file mode 100644 index 56c6ee8a4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Measured Thickness (Depth) for Squamous Cell Carcinoma", - "notes" : "**Note 1**: Code measured thickness (depth) of tumor, not size, diameter, or any other measurement. Record actual measurement to nearest hundredth of millimeter (mm) from pathology report.\n\n**Note 2**: Record only for squamous cell carcinoma of skin of eyelid. For other histologies use code 987, not applicable.", - "last_modified" : "2015-05-27T16:19:59.066Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "0.01 9.79 millimeters (mm)\n(Exact depth to nearest hundredth of mm)\n\nExamples:\n 001 0.01 mm\n 002 0.02 mm\n 010 0.1 mm\n 074 0.74 mm\n 100 1 mm\n 105 1.05 mm\n 979 9.79 mm" ], [ "980", "9.80 mm or larger" ], [ "987", "Not applicable, not squamous cell carcinoma of skin of eyelid" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Microinvasion\nMicroscopic focus or foci only and no depth given" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbm.json deleted file mode 100644 index 59189cea8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbm.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "OBSOLETE - Clinical Assessment of Regional Lymph Nodes", - "notes" : "**Note 1**: This CS Site-Specific Factor is obsolete beginning with CS Version 2 (codes and notes). Old data are retained, but new cases are not coded with this Factor. Use code 988 for this field.\n\n**Note 2**: In the rare instance that the number of clinically positive nodes is stated but a clinical N category is not stated, code 1-2 nodes as 100 (N1), 3-6 nodes as 200 (N2), and 7 or more nodes as 300 (N3).", - "last_modified" : "2015-05-27T16:19:59.110Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0200\n\nNodes not clinically evident" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nClinically N1" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nClinically N2" ], [ "300", "OBSOLETE DATA RETAINED V0200\n\nClinically N3" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nClinically positive regional nodes, NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this schema" ], [ "999", "OBSOLETE DATA RETAINED V0200\n\nUnknown if nodes are clinically evident" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbp.json deleted file mode 100644 index 4cbf7e424..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbp.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1**: The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis) for the fallopian tube. Use code 987 for any case where CS Extension is coded 000.\n\n**Note 2**: Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it. Do not attempt to code FIGO stage based only on T, N, and M. If you cannot make a determination of stage based on the previous information, use code 999, stage unknown.", - "last_modified" : "2015-05-27T16:19:59.155Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage I [NOS]" ], [ "120", "FIGO Stage IA" ], [ "150", "FIGO Stage IB" ], [ "170", "FIGO Stage IC" ], [ "200", "FIGO Stage II [NOS]" ], [ "220", "FIGO Stage IIA" ], [ "250", "FIGO Stage IIB" ], [ "270", "FIGO Stage IIC" ], [ "300", "FIGO Stage III [NOS]" ], [ "320", "FIGO Stage IIIA" ], [ "350", "FIGO Stage IIIB" ], [ "370", "FIGO Stage IIIC" ], [ "400", "FIGO Stage IV" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbq.json deleted file mode 100644 index 4b266c7ee..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1**: The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis) for vaginal cancer. Use code 987 for any case where CS Extension is coded 000.\n\n**Note 2**: Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it. Do not attempt to code FIGO stage based only on T, N, and M. If you cannot make a determination of stage based on the previous information, use code 999, stage unknown.", - "last_modified" : "2015-05-27T16:19:59.201Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage I" ], [ "200", "FIGO Stage II" ], [ "300", "FIGO Stage III" ], [ "400", "FIGO Stage IV [NOS]" ], [ "410", "FIGO Stage IVA" ], [ "420", "FIGO Stage IVB" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nConverted to See code 988\n\nNot applicable for this site" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive, noninvasive)" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbt.json deleted file mode 100644 index 95685405b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbt.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "JAK2 (also known as Janus Kinase 2 and JAK2 Exon 12)", - "notes" : "**Note 1**: Janus Kinase 2 (JAK2, JAK 2)is a gene mutation that increases susceptibility to several myeloproliferative neoplasms (MPNs). Testing for the JAK2 mutation is done on whole blood. Nearly all people with polycythemia vera and about half of those with essential thrombocythemia and primary myelofibrosis have the mutation.\n\n**Note 2**: JAK2 is used primarily for the following histologies: Polycythemia Vera, Essential Thrombocytopenia, and Primary Myelofibrosis. Its usage continues to increase and may be used for other histologies in the future. Record JAK2 for any hematopoietic/reticuloendothelial disease even if it is not one of these three specific histologies.\n\n**Note 3**: If JAK2 test result is positive, NOS, use code 850.", - "last_modified" : "2015-05-27T16:19:59.246Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "JAK-2 result stated as negative" ], [ "010", "JAK2 positive for mutation V617F in exon 14" ], [ "020", "JAK2 positive for mutation of exon 12" ], [ "800", "JAK2 positive for other specified mutation" ], [ "810", "JAK2 positive for more than one mutation" ], [ "850", "JAK2 positive NOS; specific mutation(s) not stated" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbv.json deleted file mode 100644 index 53c986541..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbv.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1**: The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis) for cervix cancer. Use code 987 for any case where CS Extension is coded 000 or 010.\n\n**Note 2**: Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it. Do not attempt to code FIGO stage based only on T, N, and M. If you cannot make a determination of stage based on the previous information, use code 999, stage unknown.", - "last_modified" : "2015-05-27T16:19:59.294Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage I [NOS]" ], [ "110", "FIGO Stage IA [NOS]" ], [ "111", "FIGO Stage IA1" ], [ "112", "FIGO Stage IA2" ], [ "120", "FIGO Stage IB [NOS]" ], [ "121", "FIGO Stage IB1" ], [ "122", "FIGO Stage IB2" ], [ "200", "FIGO Stage II [NOS]" ], [ "210", "FIGO Stage IIA [NOS]" ], [ "211", "FIGO Stage IIA1" ], [ "212", "FIGO Stage IIA2" ], [ "220", "FIGO Stage IIB" ], [ "300", "FIGO Stage III [NOS]" ], [ "310", "FIGO Stage IIIA" ], [ "320", "FIGO Stage IIIB" ], [ "400", "FIGO Stage IV [NOS]" ], [ "410", "FIGO Stage IVA" ], [ "420", "FIGO Stage IVB" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this schema" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive)\nCervical intraepithelial neoplasia (CIN) Grade III" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbx.json deleted file mode 100644 index 4a2cbdf36..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbx.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "CS Tumor Size - Second Largest Dimension", - "notes" : "**Note 1**: According to AJCC tumor size is an important prognostic factor. The three dimensions of tumor size (length, width and height) are also important to collect if documented in the patient record. Record the largest dimension of tumor size in CS Tumor. Record the second largest dimension of tumor size in CS Site-Specific Factor 1 and the smallest dimension of tumor size in CS Site-Specific Factor 2.\n\n**Note 2**: Tumor size expressed as 4.0 centimeter (cm) x 3.0 cm x 2.0 cm is recorded as follows:\n\n* CS Tumor Size: 040\n* CS Site-Specific Factor 1: 030\n* CS Site-Specific Factor 2: 020 \n\nTumor size expressed as \"greater than 8 cm\" is recorded as follows:\n\n* CS Tumor Size : 997\n* CS Site-Specific Factor 1: 999\n* CS Site-Specific Factor 2: 999", - "last_modified" : "2015-05-27T16:19:59.339Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "001 - 979 millimeters (mm) \n(Exact size to nearest millimeter mm)" ], [ "980", "980 mm or larger" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 8 cm\" or \"between 5cm and 8cm\"" ], [ "997", "Described as \"greater than 8cm\"" ], [ "998", "OBSOLETE DATA REVIEWED AND CHANGED V0204 \nTumor size may be based on clinical examination if histologic examination not performed. Review and recode to codes 001-980, 990-997. \n\nNo histologic examination of primary site" ], [ "999", "Unknown; second dimension of size not stated\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jby.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jby.json deleted file mode 100644 index bd5c997a6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jby.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jby", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Measured Thickness (Depth)", - "notes" : "**Note 1**: Code measured thickness (depth) of tumor, not size or diameter. Record actual measurement in hundredths of millimeter (mm) from the pathology report.\n\n**Note 2**: Use code 991, 993, or 996 if the tumor is resected and the only information about depth is the physician's assignment of a stage value.\n\n**Note 3**: Use code 998 if there is no resection of the primary site tumor.", - "last_modified" : "2015-05-27T16:19:59.390Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "0.01 - 9.79 millimeters (mm)\n(Exact measurement to nearest hundredth of mm)\n\nExamples:\n 001 0.01 mm\n 002 0.02 mm\n 010 0.10 mm\n 074 0.74 mm\n 100 1.00 mm\n 105 1.05 mm\n 979 9.79 mm" ], [ "980", "9.80 mm or larger" ], [ "981-987", "OBSOLETE DATA CONVERTED V0200\nCodes 981-987 converted to code 980\n\n9.81-9.87 mm" ], [ "988", "Not applicable: Information not collected for this case\n(Cases with code 988 in CSv1 converted to 980)" ], [ "989", "OBSOLETE DATA CONVERTED V0200\nCode 989 converted to 980\n\n9.89 mm or larger" ], [ "990", "OBSOLETE DATA CONVERTED V0102\nSee code 999\n\nMicroinvasion; microscopic focus or foci only; no size given" ], [ "991", "Less than 0.5 mm\nMicroinvasion; microscopic focus or foci only\n\nStated as pathologic T1a with no other information on size, tumor resected \nStated as pathologic T2a with no other information on size, tumor resected" ], [ "992", "Described as \"less than 0.8 mm\"" ], [ "993", "Described as \"greater than 0.5 mm\"\n\nStated as pathologic T1b with no other information on size, tumor resected\nStated as pathologic T2b with no other information on size, tumor resected" ], [ "994", "Described as \"greater than 0.8 mm\"" ], [ "995", "Described as \"less than 1.5 mm\"" ], [ "996", "Described as \"greater than 1.5 mm\"\nStated as pathologic T1c with no other information on size, tumor resected\nStated as pathologic T2c with no other information on size, tumor resected" ], [ "998", "No resection of primary site tumor" ], [ "999", "Unknown; size not stated\nNot documented in patient record\nMicroinvasion; microscopic focus or foci only V0102-V0104\n\nNote: Microinvasion, microscopic focus or foci only included in code 991 V0200" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbz.json deleted file mode 100644 index ed4fe14dc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jbz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1**: The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis). Use code 987 for any case where CS Extension is coded 000.\n\n**Note 2**: Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it. Do not attempt to code FIGO stage based only on T, N, and M. If you cannot make a determination of stage based on the previous information, use code 999, stage unknown.", - "last_modified" : "2015-05-27T16:19:59.433Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage l [NOS]" ], [ "110", "FIGO Stage lA" ], [ "120", "FIGO Stage IB" ], [ "200", "FIGO Stage ll" ], [ "300", "FIGO Stage lll [NOS]" ], [ "310", "FIGO Stage IIIA" ], [ "320", "FIGO Stage IIIB" ], [ "330", "FIGO Stage IIIC [NOS]" ], [ "331", "FIGO Stage IIIC1" ], [ "332", "FIGO Stage IIIC2" ], [ "400", "FIGO Stage IV [NOS]" ], [ "410", "FIGO Stage IVA" ], [ "420", "FIGO Stage IVB" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988.\nNot applicable for this site" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jca.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jca.json deleted file mode 100644 index 6ba1abbe7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jca.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jca", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1**: The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis). Use code 987 for any case where CS Extension is coded 000.\n\n**Note 2**: Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it. Do not attempt to code FIGO stage based only on T, N, and M. If you cannot make a determination of stage based on the previous information, use code 999, stage unknown.", - "last_modified" : "2015-05-27T16:19:59.477Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage l [NOS]" ], [ "120", "FIGO Stage lA" ], [ "130", "FIGO Stage 1B" ], [ "140", "FIGO Stage 1C" ], [ "200", "FIGO Stage ll [NOS]" ], [ "210", "FIGO Stage IIA" ], [ "220", "FIGO Stage IIB" ], [ "300", "FIGO Stage III [NOS]" ], [ "310", "FIGO Stage IIIA" ], [ "320", "FIGO Stage IIIB" ], [ "330", "FIGO Stage IIIC" ], [ "400", "OBSOLETE DATA CONVERTED V0203\nSee code 405\n\nFIGO Stage IVA" ], [ "402", "FIGO IV [NOS]" ], [ "405", "FIGO Stage IVA" ], [ "410", "FIGO Stage IVB" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive)" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcd.json deleted file mode 100644 index 8ba106f5c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jcd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "OBSOLETE - Carcinoembryonic Antigen (CEA)", - "notes" : "**Note**: This CS Site-Specific Factor is obsolete beginning with CS Version 2 (codes, code descriptions, and notes). Old data are retained during conversion, but new cases are not coded 000 080 or 999. Use only code 988 for this field for all cases entered in CS Version 2.", - "last_modified" : "2015-05-27T16:19:59.526Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0200\n\nTest not done" ], [ "010", "OBSOLETE DATA RETAINED V0200\n\nPositive/elevated" ], [ "020", "OBSOLETE DATA RETAINED V0200\n\nNegative/normal; within normal limits" ], [ "030", "OBSOLETE DATA RETAINED V0200\n\nBorderline; undetermined whether positive or negative" ], [ "080", "OBSOLETE DATA RETAINED V0200\n\nOrdered, but results not in chart" ], [ "988", "Not applicable: Information not collected for this schema" ], [ "999", "OBSOLETE DATA RETAINED V0200\n\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jce.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jce.json deleted file mode 100644 index 01b5a9113..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jce.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jce", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Human Papilloma Virus (HPV) Status", - "notes" : "**Note 1**: There is evidence that HPV plays a role in the pathogenesis of some cancers. HPV testing may be performed for prognostic purposes; testing may also be performed on metastatic sites to aid in determination of the primary site.\n\n**Note 2**: Record the results of any HPV testing performed on pathologic specimens from the primary tumor or a metastatic site, including lymph nodes. Do not record the results of blood tests or serology.\n\n**Note 3**: HPVs are divided into high-risk and low-risk types. The highest risk HPV types are types 16 and 18. Other high-risk types are 26, 31, 33, 35, 36, 45, 51, 52, 53, 56, 58, 59, 66, 67, 68, 69, 70, 73, 82, and 85. The HPV vaccine is designed to protect against types 16 and 18 (associated with cervical cancer) and types 6 and 11 (associated with genital warts). Low-risk types are 6, 11, 32, 34, 40, 42, 44, 54, 61, 62, 64, 71, 72, 74, 81, 83, 84, 87, and 89.\n\n**Note 4**: High-risk may be abbreviated hrHPV or HR-HPV.\n\n**Note 5**: Some tests for HPV, such as a hybrid capture test, may only report negative or positive results for high-risk HPV without identifying types. Use codes 000 or 060, respectively, to report those test results.\n\n**Note 6**: Codes 010-050 are hierarchical; use the highest code that applies.", - "last_modified" : "2015-05-27T16:19:59.569Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "HPV negative for high-risk and low-risk types\nHPV negative for high-risk types with no mention of low-risk types\nNegative, NOS" ], [ "010", "HPV positive for low-risk types only" ], [ "020", "HPV positive for specified high risk type(s) other than types 16 or 18" ], [ "030", "HPV positive for high-risk type 16 \nWITHOUT positive results for high-risk type18 or positivity of high-risk type 18 unknown" ], [ "040", "HPV positive for high-risk type18 \nWITHOUT positive results for high-risk type 16 or positivity of high-risk type 16 unknown" ], [ "050", "HPV positive for high-risk types16 AND 18" ], [ "060", "HPV positive for high-risk type(s), NOS, high-risk type(s) not stated" ], [ "070", "HPV positive, NOS, risk and type(s) not stated" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to drive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)\nNo pathologic specimen available for HPV testing" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcf.json deleted file mode 100644 index 010884022..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jcf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Clinical Assessment of Regional Lymph Nodes", - "notes" : "**Note 1**: Clinically evident regional lymph nodes are based on information from the diagnostic workup. This might include: physical examination, imaging, diagnostic lymph node biopsy and exploratory surgery (without a resection).\n\n**Note 2**: In the rare instance that the number of clinically positive nodes is stated but a clinical N category is not stated, code 1-2 nodes as 100 (Clinically N1), 3-6 nodes as 200 (Clinically N2), and 7 or more nodes as 300 (Clinically N3).\n\n**Note 3**: If there is no diagnostic workup to assess regional lymph nodes, use code 999. Do not apply the inaccessible nodes rule that presumes unmentioned nodes to be negative.\n\n**Note 4**: For legacy data coded in the Stomach schema in CS Version 1, N1 was assigned for 1-6 nodes positive, N2 for 7-15 nodes positive, and N3 for 16 and more nodes positive.\n\n**Note 5**: For data coded in the EsophagusGEJunction schema in CS Version 2, when number of nodes involved is unknown, N1 and N2 are mapped to N1 for AJCC 6 staging, and N3 is mapped to N2 for AJCC 6 staging.", - "last_modified" : "2015-05-27T16:19:59.614Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Nodes not clinically evident; imaging of regional nodes performed and nodes not mentioned" ], [ "100", "Metastasis in 1-2 regional nodes, determined clinically\n\nStated as clinical N1" ], [ "200", "Metastasis in 3-6 regional nodes, determined clinically\n\nStated as clinical N2" ], [ "300", "Metastasis in 7 or more regional nodes, determined clinically\n\nStated as clinical N3" ], [ "400", "Clinically positive regional nodes, NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this site-specific factor\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Regional lymph nodes involved pathologically, clinical assessment not stated\nUnknown if regional lymph nodes clinically evident\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcg.json deleted file mode 100644 index acb9da74a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jcg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jcg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Carcinoembryonic Antigen (CEA)", - "notes" : "**Note**: Record the interpretation of the highest CEA test results obtained prior to treatment. Use the interpretation for the lab value recorded in CS Site-Specific Factor 3.", - "last_modified" : "2015-05-27T16:19:59.661Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nTest not done" ], [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined if positive or negative" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "CONVERTED AND CODE REUSED V0203\nPrior to V0203 code defined as \"Test ordered, results not in chart\". Cases converted to code 997 with V0203 and code 998 redefined as \"Test not done (Test not ordered and not performed)\".\n\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information Not documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jch.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jch.json deleted file mode 100644 index 1bb495eb3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jch.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jch", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "OBSOLETE - Janus Kinase 2 (JAK2) (also known as JAK2 Exon 12)", - "notes" : "**Note**: This CS Site-Specific Factor is obsolete beginning with CS Version 2.03 (codes, code descriptions, and notes). Old data are retained during conversion, but new cases are not coded 000-987 or 999. Use code 988 for this field for all cases entered in CS Version 2.03 and later. \n\n**OBSOLETE V0203 Note 1**: JAK2 is a gene mutation that increases susceptibility to several Myeloproliferative neoplasms (MPNs). Testing for the JAK2 mutation is done on whole blood. Nearly all people with polycythemia vera and about half of those with essential thrombocythemia and primary myelofibrosis have the mutation. \n\n**OBSOLETE V0203 Note 2**: JAK2 is used primarily for the following histologies: Polycythemia Vera, Essential Thrombocytopenia and Primary Myelofibrosis. Its usage continues to increase and may be used for other histologies in the future. Record JAK2 for any Heme-Retic disease even if it is not one of the histologies noted. \n\n**OBSOLETE V0203 Note 3**: If JAK2 test result is positive, NOS, use code 850", - "last_modified" : "2015-05-27T16:19:59.721Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0203\n\nJAK-2 test result stated as negative" ], [ "010", "OBSOLETE DATA RETAINED V0203\n\nJAK2 test performed, positive for mutation V617F in exon 14" ], [ "020", "OBSOLETE DATA RETAINED V0203\n\nJAK2 test performed, positive for mutation of exon 12" ], [ "800", "OBSOLETE DATA RETAINED V0203\n\nJAK2 test performed, positive for other specified mutation" ], [ "810", "OBSOLETE DATA RETAINED V0203\n\nJAK2 test performed, positive for more than one mutation" ], [ "850", "OBSOLETE DATA RETAINED V0203\n\nJAK2 test performed, positive NOS; specific mutation(s) not stated" ], [ "888", "OBSOLETE DATA CONVERTED V0200 \nSee code 988 \n\nNot applicable for this schema" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "OBSOLETE DATA RETAINED V0203\n\nTest ordered, results not in chart" ], [ "998", "OBSOLETE DATA RETAINED V0203\n\nTest not done" ], [ "999", "OBSOLETE DATA RETAINED V0203\n\nUnknown\nInsufficient information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jna.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jna.json deleted file mode 100644 index 1e8f9ae73..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jna.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf1_jna", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "last_modified" : "2015-05-27T16:19:59.775Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n Not applicable for this site" ], [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpa.json deleted file mode 100644 index 505d12579..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Size of Lymph Nodes", - "notes" : "**Note**: Code the largest diameter, whether measured clinically or pathologically, of any involved regional lymph node(s). Do not code the size of any nodes coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:19:59.818Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involved regional nodes" ], [ "001-979", "001 - 979 millimeters (mm)\n(Exact size of lymph node to nearest mm)" ], [ "980", "980 mm or larger\n(Includes cases converted from codes 981-989 during conversion to V0200)" ], [ "981-987", "OBSOLETE DATA CONVERTED V0200\nSee code 980\n\n981 - 987 mms" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error)" ], [ "989", "OBSOLETE DATA CONVERTED V0200\nSee code 980\n\n989 mm or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2cm\" or \"greater than 1cm\" or \"between 1cm and 2cm\"" ], [ "993", "Described as \"less than 3cm\" or \"greater than 2cm\" or \"between 2cm and 3cm\"" ], [ "994", "Described as \"less than 4cm\" or \"greater than 3cm\" or \"between 3cm and 4cm\"" ], [ "995", "Described as \"less than 5cm\" or \"greater than 4cm\" or \"between 4cm and 5cm\"" ], [ "996", "Described as \"less than 6cm\" or \"greater than 5cm\" or \"between 5cm and 6cm\"" ], [ "997", "Described as \"more than 6cm\"" ], [ "999", "Regional lymph node(s) involved, size not stated\nUnknown if regional lymph nodes involved\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpd.json deleted file mode 100644 index 07de398af..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "WHO/ISUP Grade", - "notes" : "**Note 1**: Code the applicable World Health Organization (WHO) or International Society of Urological Pathology (ISUP) grade as documented in the pathology report for urothelial carcinomas only. Information about urothelial histology and grade may be taken from any section of the pathology report where documented, such as a microscopic description, synoptic template, or final diagnosis. If the tumor is of mixed histology including urothelial carcinoma, code grade as specified for the urothelial component.\n\n**Note 2**: Code the WHO/ISUP grade documented in the pathology reort prior to neoadjuvant treatment.\n\n**Note 3**: If the term low grade (LG) or high grade (HG) is indicated for a urothelial primary, assume it is a WHO/ISUP grade.\n\n**Note 4**: If the tumor morphology does not include a urothelial component, use code 987.\n\n**Note 5**: If a grade system other than WHO/ISUP is documented for a urothelial primary, code 999.", - "last_modified" : "2015-05-27T16:19:59.878Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Low grade urothelial carcinoma" ], [ "020", "High grade urothelial carcinoma" ], [ "888", "OBSOLETE DATA CONVERTED V0200 \nSee code 988\n\nNot applicable for this site" ], [ "987", "Not applicable: Not a urothelial morphology" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No pathologic examination of primary site" ], [ "999", "Unknown WHO/ISUP grade\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpe.json deleted file mode 100644 index 91f8c6593..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "notes" : "**Note 1**: Carbohydrate Antigen 19-9 (CA 19-9) is a tumor marker that has value in the management of certain malignancies.\n\n**Note 2**: Record to the nearest tenth in Units/milliliter (U/ml), the highest CA 19-9 lab value documented in the medical record prior to treatment. For example, code a pretreatment CA 19-9 value of 60 U/ml as 600.\n\n**Note 3**: Code 000 is reserved for exactly 0.0 U/ml (no measurable amount of CA 19 9). Do not round tiny values down to 0.0 U/ml; any measured value less than or equal to 0.1 U/ml should be coded 001. For code 001, also round 0.11-0.14 U/ml down to 0.1 U/ml. For codes 002-979, round values to the nearest tenth of a U/ml.\n\n**Note 4**: For an uncertain value, record the stated closest value. For example, code a value stated as \"less than 0.5 U/ml\" as 005.", - "last_modified" : "2015-05-27T16:19:59.929Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 Units/milliliter (U/ml) exactly" ], [ "001", "0.1 or less U/ml\nStated as less than 0.1 U/ml with no exact value" ], [ "002-979", "0.2 - 97.9 U/ml\n(Exact value to nearest tenth in U/ml)" ], [ "980", "98.0 or greater U/ml" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information Not documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpf.json deleted file mode 100644 index 1a31b8d74..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Carcinoembryonic Antigen (CEA)", - "notes" : "**Note**: Record the interpretation of the highest CEA test results documented in the medical record prior to treatment. The interpretation should be for the same laboratory test recorded in CS Site-Specific Factor 3.", - "last_modified" : "2015-05-27T16:19:59.974Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nTest not done" ], [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined if positive or negative" ], [ "080", "OBSOLETE DATA CONVERTED V0200\nSee code 997\n\nOrdered, but results not in chart" ], [ "988", "Not applicable: Information not collected for this case\n(If this data item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpj.json deleted file mode 100644 index fdb42d337..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Associated with HIV/AIDS", - "notes" : "**Note 1**: Autoimmune Deficiency Syndrome (AIDS) lymphomas are a late manifestation of Human Immunodeficiency Virus (HIV) infection and have unique clinical and pathologic features that differ from lymphomas in the general population. They have a preponderance for extranodal involvement, with central nervous system being the most common site.\n\n**Note 2**: HIV includes types I and II. Older terminology includes Human T Lymphotropic Virus -3 (HTLV-3) and Lymphadenopathy Associated Virus (LAV).", - "last_modified" : "2015-05-27T16:20:00.023Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Not associated with Human Immunodeficiency Virus (HIV)/Autoimmune Disease (AIDS)\nHIV negative" ], [ "001", "OBSOLETE DATA CONVERTED V0203\nSee code 010\n\nYes/Present" ], [ "002", "OBSOLETE DATA CONVERTED V0203\nSee code 000\n\nNo/Not present" ], [ "010", "Associated with HIV/AIDS\nHIV positive" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpl.json deleted file mode 100644 index 4689ded74..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Measured Thickness (Depth), Breslow Measurement", - "notes" : "**Note 1**: Code MEASURED THICKNESS (Depth) of tumor (Breslow measurement), not size. Record actual measurement in hundredths of millimeters from the pathology report.\n\n**Note 2**: Code the greatest measured thickness from any procedure performed on the lesion, whether it is described as a biopsy or an excision. For example, if a punch biopsy with a thickness of 0.50 mm is followed by a re-excision with a thickness of residual tumor of 0.20 mm, code 050. Do not add measurements together from different procedures.", - "last_modified" : "2015-05-27T16:20:00.069Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "0.01 - 9.79 millimeters\n(Code exact measurement in HUNDREDTHS of millimeter) \n\nExamples:\n 001 0.01 millimeter\n 002 0.02 millimeters\n 010 0.1 millimeter\n 074 0.74 millimeters\n 100 1 millimeter\n 105 1.05 millimeters\n 979 9.79 millimeters" ], [ "980", "9.80 millimeters or larger \n(Includes cases converted from codes 981-989 during conversion to V0200)" ], [ "981-987", "OBSOLETE DATA CONVERTED V0200\nData converted to 980\n\n9.81-9.87 millimeters" ], [ "988", "Not applicable: Information not collected for this schema\n(If this item is required by your standard setter, use of code 988 will result in an edit error)\n(Cases with code 988 converted to 980 during conversion to V0200)" ], [ "989", "OBSOLETE DATA CONVERTED V0200\nData converted to 980\n\n9.89 millimeters or larger" ], [ "990", "OBSOLETE DATA CONVERTED V0102\nThis code was made obsolete in CS Version 1 and should no longer be used. Cases were converted to code 999.\n \nMicroinvasion; microscopic focus or foci only; no size given" ], [ "999", "Microinvasion; microscopic focus or foci only and no depth given\nNot documented in patient record\nUnknown; depth not stated" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpm.json deleted file mode 100644 index 379e2d880..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpm.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ssf1_jpm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Grade for Sarcomas", - "notes" : "**Note 1**: Comprehensive grading of soft tissue sarcomas is strongly correlated with disease specific survival and incorporates differentiation, mitotic rate, and extent of necrosis. The grading system of the French Federation of Cancer Centers Sarcoma Group (FNCLCC) is preferred system.\n\n**Note 2**: Record the grade from any three-grade sarcoma grading system the pathologist uses prior to neoadjuvant treatment. Do not code terms such as \"well differentiated\" or \"poorly differentiated\" in this field. \n\n**Note 3**: In some cases, especially for needle biopsies, grade may be specified only as \"low grade\" or \"high grade\". Use code 100, which maps to G1, or 200, which maps to G3. Codes 010-030 take priority over codes 100 and 200.\n\n**Note 4**: The mapping of grade as shown in this table is used in the derivation of AJCC 7 staging.", - "last_modified" : "2015-05-27T16:20:00.120Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "grade_ssf1", - "name" : "Mapping of Grade", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "Specified as Grade 1 [of 3]", "VALUE:1" ], [ "020", "Specified as Grade 2 [of 3]", "VALUE:2" ], [ "030", "Specified as Grade 3 [of 3]", "VALUE:3" ], [ "100", "Grade stated as low grade, NOS", "VALUE:1" ], [ "200", "Grade stated as high grade, NOS", "VALUE:3" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this schema", "ERROR:" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)", "VALUE:9" ], [ "998", "No histologic examination of primary site", "VALUE:9" ], [ "999", "Unknown or no information\nNot documented in patient record", "VALUE:9" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpn.json deleted file mode 100644 index 34f5790a0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpn.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Clinical Assessment of Regional Lymph Nodes", - "notes" : "**Note 1**: Clinically evident regional lymph nodes are based on information from the diagnostic workup. This might include: physical examination, imaging, diagnostic lymph node biopsy and exploratory surgery (without a resection).\n\n**Note 2**: In the rare instance that the number of clinically positive nodes is stated but a clinical N category is not stated, code 1-2 nodes as 100 (N1), 3-6 nodes as 200 (N2), and 7 or more nodes as 300 (N3).\n\n**Note 3**: If there is no diagnostic workup to assess regional lymph nodes, use code 999. Do not apply the inaccessible nodes rule that presumes unmentioned nodes to be negative.", - "last_modified" : "2015-05-27T16:20:00.180Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Nodes not clinically evident; imaging of regional nodes performed and nodes not mentioned" ], [ "100", "Metastasis in 1-2 regional nodes, determined clinically\n\nStated as clinical N1" ], [ "200", "Metastasis in 3-6 regional nodes, determined clinically\n\nStated as clinical N2" ], [ "300", "Metastasis in 7 or more regional nodes, determined clinically\n\nStated as clinical N3" ], [ "400", "Clinically positive regional node(s), NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Regional lymph node(s) involved pathologically, clinical assessment not stated\nUnknown if regional lymph nodes clinically evident\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpo.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpo.json deleted file mode 100644 index 50a7992c3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpo.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "World Health Organization (WHO) Grade Classification", - "notes" : "**Note 1**: The World Health Organization (WHO) classification system for tumors of the central nervous system combines tumor nomenclature with an associated grading system, so the actual histologic diagnosis directly correlates with the histologic grade of the tumor. The histologic grade used for staging purposes is not the same code that is assigned as the differentiation code in the sixth digit of the ICD-O morphology code and recorded in the traditional registry Grade field.\n\n**Note 2**: Code the WHO grade classification as documented in the medical record. If a WHO grade is not documented, refer to the WHO grade instructions in Part I, Section II. For specific histologies, a WHO grade is automatically assigned. See AJCC 7th edition Table 56.3 or MPH rules Brain Section Equivalent Terms and Definitions.\n\n**Note 3**: A WHO grade can only be assigned from a pathology report. If the only diagnosis is clinical (imaging), code to 998 for no histologic examination of primary site done.", - "last_modified" : "2015-05-27T16:20:00.269Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Grade I" ], [ "020", "Grade II" ], [ "030", "Grade III" ], [ "040", "Grade IV" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "998", "No histologic examination of primary site" ], [ "999", "Not documented in medical record\nUnknown; WHO grade not stated" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpp.json deleted file mode 100644 index 9ea70714b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpp.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Measured Thickness (Depth)", - "notes" : "**Note**: Code measured thickness (depth) of tumor (Breslow measurement), not size. Record the actual measurement in hundredths of millimeters (mm) from the pathology report.", - "last_modified" : "2015-05-27T16:20:00.324Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "0.01 - 9.79 millimeters (mm)\n(Exact measurement to nearest HUNDREDTH of mm) \n\nExamples:\n 001 0.01 mm\n 002 0.02 mm\n 010 0.1 mm\n 074 0.74 mm\n 100 1 mm\n 105 1.05 mm\n 979 9.79 mm" ], [ "980", "9.80 mm or larger" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Microinvasion; microscopic focus or foci only and no depth given" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpq.json deleted file mode 100644 index 596d6aa4f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "OBSOLETE - Measured Thickness (Depth)", - "notes" : "**Note**: This CS Site-Specific Factor is obsolete beginning with CS Version 2 (codes, codes descriptions, and notes). Old data are retained during conversion, but new cases are not coded with 000-987 or 999. Use code 988 for this field for all cases entered in CS Version 2.\n\n**OBSOLETE V0200 Note**: Code MEASURED THICKNESS (Depth) of tumor (Breslow measurement), not size. Record actual measurement in hundredths of millimeters from Pathology Department.", - "last_modified" : "2015-05-27T16:20:00.374Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0200 \n\nNo mass/tumor found" ], [ "001-979", "OBSOLETE DATA RETAINED V0200 \n\n0.01 - 9.79 millimeters\nCode exact measurement in HUNDREDTHS of millimeters. \nExamples:\n 001 0.01 millimeter\n 002 0.02 millimeters\n 010 0.1 millimeter\n 074 0.74 millimeters\n 100 1 millimeters\n 105 1.05 millimeters\n 979 9.79 millimeters" ], [ "980", "OBSOLETE DATA RETAINED V0200\n\n9.80 millimeters or larger \n(Includes cases converted from codes 981-989 during conversion to V0200)" ], [ "981-987", "OBSOLETE DATA CONVERTED V0200\nSee code 980\n\n9.81-9.87 millimeters" ], [ "988", "CONVERTED AND CODE REUSED V0200\nPrior to V0200 code defined as \"988 millimeters\". Cases converted to code 980 with V0200 and code 988 redefined as \"Not applicable: Information not collected for this schema\".\n\nNot applicable: Information not collected for this schema " ], [ "989", "OBSOLETE DATA CONVERTED V0200 \nSee code 980 \n\n9.89 millimeters or larger" ], [ "990", "OBSOLETE DATA CONVERTED V0102\nSee code 999\n\nMicroinvasion; microscopic focus or foci only; no size given" ], [ "999", "OBSOLETE DATA RETAINED V0200\n\nMicroinvasion; microscopic focus or foci only; no size given\nNot documented in patient record\nUnknown; size not stated" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpr.json deleted file mode 100644 index f67594057..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpr.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Carbohydrate Antigen 125 (CA-125)", - "notes" : "**Note 1**: Carbohydrate Antigen 125 (CA-125), also known as cancer antigen 125, mucin 16, or MUC16, is a protein which in humans is encoded by the MUC16 gene. CA-125 is a tumor marker or biomarker that may be elevated in the blood of some patients with primary peritoneal carcinoma.\n\n**Note 2**: Record only the blood or serum CA-125 value for this data item. Do not record CA-125 test results based on fluid from the chest or abdominal cavity.\n\n**Note 3**: Record the CA-125 status prior to treatment.\n\n**Note 4**: Normal values may vary with patient age and from lab to lab. The typical human reference ranges are 0 to 35 micrograms per milliliter (ug/ml).", - "last_modified" : "2015-05-27T16:20:00.442Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nTest not done" ], [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "080", "OBSOLETE DATA CONVERTED V0203\nSee code 997\n\nOrdered, but results not in chart" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T,N,M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpt.json deleted file mode 100644 index 2ce5f42f9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpt.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Measured Thickness (Depth)", - "notes" : "**Note 1**: Code measured thickness (depth) of tumor, not size. Depth for Merkel cell carcinoma of skin is similar to Breslow tumor depth in melanoma of the skin. Record the actual measurement in tenths of millimeters (mm) from the pathology report.\n\n**Note 2**: If tumor depth is noted on multiple specimens (two or more), record the greatest vertical or depth measurement noted on a single specimen; do not add measurements together. Record in CS Site-Specific Factor 19 that the tumor was transected.\n\n**Note 3**: If tumor is in situ (CS Extension code 000), code measured thickness as 999.", - "last_modified" : "2015-05-27T16:20:00.502Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "00.1 - 97.9 millimeters (mm ) \n(Exact measurement to nearest TENTH of mm) \n\nExamples: \n 001 0.1 mm \n 002 0.2 mm \n 010 1 mm \n 074 7.4 mm \n 100 10 mm, 1 centimeter (cm) \n 105 10.5 mm \n 979 97.9 mm" ], [ "980", "98.0 mm or larger" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Microinvasion Microscopic focus or foci only and no size given" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpu.json deleted file mode 100644 index e9bb5a4aa..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpu.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Size of Lymph Nodes", - "notes" : "**Note**: Code the largest diameter, whether measured clinically or pathologically, of any involved regional lymph node(s). Do not code the size of any nodes coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:20:00.550Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involved regional nodes" ], [ "001-979", "001 - 979 millimeters (mm)\n(Exact size of lymph node to nearest mm)" ], [ "980", "980 mms or larger\n(Includes cases converted from codes 981-989 during conversion to V0200)" ], [ "981-987", "OBSOLETE DATA CONVERTED V0200\nSee code 980\n\n981 - 987 mms" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)\n(Cases with code 988 in CSv1 converted to 980)" ], [ "989", "OBSOLETE DATA CONVERTED V0200\nSee code 980\n\n989 mms or larger" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1centimeter (cm)\"" ], [ "992", "Described as \"less than 2cm\" or \"greater than 1cm\" or \"between 1cm and 2cm\"" ], [ "993", "Described as \"less than 3cm\" or \"greater than 2cm\" or \"between 2cm and 3cm\"" ], [ "994", "Described as \"less than 4cm\" or \"greater than 3cm\" or \"between 3cm and 4cm\"" ], [ "995", "Described as \"less than 5cm\" or \"greater than 4cm\" or \"between 4cm and 5cm\"" ], [ "996", "Described as \"less than 6cm\" or \"greater than 5cm\" or \"between 5cm and 6cm\"" ], [ "997", "Described as \"more than 6cm\"" ], [ "999", "Regional lymph node(s) involved, size not stated\nUnknown if regional lymph nodes involved\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpv.json deleted file mode 100644 index 3ae8c9f10..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpv.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "OBSOLETE - Carcinoembryonic Antigen (CEA)", - "notes" : "**Note**: This CS Site-Specific Factor is obsolete beginning with CS Version 2 (codes, code descriptions, and notes). Old data are retained during conversion, but new cases are not coded 000-080 or 999. Use code 988 for this field for all cases entered in CS Version 2.", - "last_modified" : "2015-05-27T16:20:00.598Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0200\n\nTest not done" ], [ "010", "OBSOLETE DATA RETAINED V0200\n\nPositive/elevated" ], [ "020", "OBSOLETE DATA RETAINED V0200\n\nNegative/normal; within normal limits" ], [ "030", "OBSOLETE DATA RETAINED V0200\n\nBorderline; undetermined whether positive or negative" ], [ "080", "OBSOLETE DATA RETAINED V0200\n\nOrdered, but results not in chart" ], [ "988", "Not applicable: Information not collected for this schema" ], [ "999", "OBSOLETE DATA RETAINED V0200\n\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpw.json deleted file mode 100644 index 8b4af7520..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_jpw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Alpha Fetoprotein (AFP) Interpretation", - "notes" : "**Note**: Record the interpretation of the highest AFP test results documented in the medical record prior to treatment. The interpretation should be for the same laboratory test recorded in CS Site-Specific Factor 3.", - "last_modified" : "2015-05-27T16:20:00.645Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nTest not done" ], [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined if positive or negative" ], [ "080", "OBSOLETE DATA CONVERTED V0203\nSee code 997\n\nOrdered, but results not in chart" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_sbh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_sbh.json deleted file mode 100644 index e2434b974..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_sbh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_sbh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Separate Tumor Nodules - Ipsilateral Lung", - "notes" : "**Note 1**: Separate tumor nodules in the ipsilateral lung are coded separately from CS Extension. Separate tumor nodules in the contralateral lung are coded in CS Mets at DX.\n\n**Note 2**: Separate tumor nodules can be defined clinically (by imaging) and/or pathologically.\n\n**Note 3**: If separate tumor nodules are not mentioned in imaging and/or pathological reports, use code 000.\n\n**Note 4**: For in situ tumors, code CS Site-Factor 1 to 000.", - "last_modified" : "2015-05-27T16:20:00.690Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No separate tumor nodules noted" ], [ "010", "Separate tumor nodules in ipsilateral lung, same lobe" ], [ "020", "Separate tumor nodules in ipsilateral lung, different lobe" ], [ "030", "020 + 010\n\nSeparate tumor nodules, ipsilateral lung, same and different lobe" ], [ "040", "Separate tumor nodules, ipsilateral lung, unknown if same or different lobe" ], [ "888", "OBSOLETE DATA CONVERTED V0200 \nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown if separate tumor nodules \nSeparate tumor nodules cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_sstg_jat.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_sstg_jat.json deleted file mode 100644 index 3d2101a8c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf1_sstg_jat.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id" : "ssf1_sstg_jat", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF1", - "title" : "CS Site-Specific Factor 1", - "subtitle" : "Extension Evaluated at Enucleation", - "notes" : "**Note 1**: True invasion of the choroid is defined as one or more solid nests of tumor cells that fills or replaces the choroid and has pushing borders. This is distinguished from artifactual invasion, or groups of tumor cells in the open spaces beween intraocular structures, extraocular tissues, and/or subarachnoid space. Focal choroidal invasion is a solid nest of tumor measuring less than 3 millimeter (mm) in maximum diameter. Massive choroidal invasion is a solid tumor nest 3 mm or more in maximum diameter.\n\n**Note 2**: For correct calculation of derived staging fields for this schema, CS Extension and CS Site-Specific Factor 1, Extension Evaluated at Enucleation, must both be coded, whether or not an enucleation was performed. Information from enucleation is excluded from CS Extension and coded only in CS Site-Specific Factor 1.\n\n**Note 3**: For information regarding stage calculations, refer to CS Extension Note 3 and the special calculation extra tables.\n\n**Note 4**: This version of the table is only used to calculate Summary Stage T values.", - "footnotes" : "For this site, extension is coded in two CS fields:CS Extension (clinical extension), and CS Site-Specific Factor 1 - Extension Evaluated at Enucleation. The mapping values for the T category for AJCC Stage, SS77, and SS2000 and the associated c, p, y, or a indicator are assigned based on the values in CS Extension, CS TS/Ext Eval, and Site-Specific Factor 1 as shown in the Special Calculation Table for AJCC Stage and Special Calculation Table for SEER Summary Stage.", - "last_modified" : "2015-05-27T16:20:00.737Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "ERROR:", "ERROR:" ], [ "030", "ERROR:", "ERROR:" ], [ "041", "ERROR:", "ERROR:" ], [ "043", "ERROR:", "ERROR:" ], [ "044", "ERROR:", "ERROR:" ], [ "046", "ERROR:", "ERROR:" ], [ "047", "ERROR:", "ERROR:" ], [ "048", "ERROR:", "ERROR:" ], [ "049", "ERROR:", "ERROR:" ], [ "054", "ERROR:", "ERROR:" ], [ "056", "ERROR:", "ERROR:" ], [ "057", "ERROR:", "ERROR:" ], [ "059", "ERROR:", "ERROR:" ], [ "072", "ERROR:", "ERROR:" ], [ "074", "VALUE:D", "VALUE:D" ], [ "075", "VALUE:RE", "VALUE:RE" ], [ "080", "VALUE:D", "VALUE:D" ], [ "095", "ERROR:", "ERROR:" ], [ "096", "ERROR:", "ERROR:" ], [ "300", "VALUE:L", "VALUE:L" ], [ "410", "VALUE:L", "VALUE:L" ], [ "430", "VALUE:L", "VALUE:L" ], [ "435", "VALUE:L", "VALUE:L" ], [ "440", "VALUE:L", "VALUE:L" ], [ "460", "VALUE:L", "VALUE:L" ], [ "465", "VALUE:L", "VALUE:L" ], [ "470", "VALUE:L", "VALUE:L" ], [ "490", "VALUE:L", "VALUE:L" ], [ "540", "VALUE:RE", "VALUE:RE" ], [ "550", "VALUE:RE", "VALUE:RE" ], [ "560", "VALUE:RE", "VALUE:RE" ], [ "570", "VALUE:RE", "VALUE:RE" ], [ "590", "VALUE:RE", "VALUE:RE" ], [ "725", "VALUE:RE", "VALUE:RE" ], [ "745", "VALUE:RE", "VALUE:RE" ], [ "755", "VALUE:D", "VALUE:D" ], [ "765", "VALUE:RE", "VALUE:RE" ], [ "775", "VALUE:D", "VALUE:D" ], [ "790", "VALUE:RE", "VALUE:RE" ], [ "810", "VALUE:RE", "VALUE:RE" ], [ "950", "VALUE:U", "VALUE:U" ], [ "960", "VALUE:U", "VALUE:U" ], [ "970", "VALUE:U", "VALUE:U" ], [ "999", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sal.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sal.json deleted file mode 100644 index 7a7532066..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sal.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf20_sal", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF20", - "title" : "CS Site-Specific Factor 20", - "subtitle" : "Assessment of Positive Distant Metastases", - "notes" : "**Note 1**: Code the assessment method used for determining the presence of metastasis as coded in CS Mets at DX, CS Mets at DX - Bone, CS Mets at DX - Brain, CS Mets at DX - Liver, and CS Mets at DX - Lung. If CS Mets at DX is coded as 00 (no positive metastasis), this field must be coded 000.\n\n**Note 2**: If multiple methods of assessments determined positive metastases, use the highest code that applies. See CSv2 General Rules Part I for types of tests to be included.", - "last_modified" : "2015-05-27T16:20:00.785Z", - "definition" : [ { - "key" : "ssf20", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No positive metastases identified" ], [ "005", "No clinical or radiographic evidence of distant metastasis, but deposits of molecularly or microscopically detected tumor cells in circulating blood, bone marrow or other non-regional nodal tissue that are 0.2 millimeters (mm) or less in a patient without symptoms or signs of metastasis" ], [ "010", "Physical examination or laboratory tests only" ], [ "020", "Radiography,imaging:\n Ultrasound (US)\n Computed tomography scan (CT)\n Magnetic resonance imaging (MRI)\n Positron emission tomography scan (PET)" ], [ "030", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "040", "Excisional biopsy or resection with microscopic confirmation" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sno.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sno.json deleted file mode 100644 index b7ed80689..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sno.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf20_sno", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF20", - "title" : "CS Site-Specific Factor 20", - "last_modified" : "2015-05-27T16:20:00.828Z", - "definition" : [ { - "key" : "ssf20", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sra.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sra.json deleted file mode 100644 index 58c348a1c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf20_sra.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf20_sra", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF20", - "title" : "CS Site-Specific Factor 20", - "subtitle" : "Tumor Infiltrating Lymphocytes (TIL)", - "notes" : "**Note 1**: Tumor infiltrating lymphocytes (TILs) are white blood cells that have migrated into a tumor from the bloodstream. They are believed to represent an immune reaction/response to the tumor cells. A brisk response may indicate a favorable prognosis.\n\n**Note 2**: Code the status of tumor infiltrating lymphocytes (TIL) in the primary tumor as documented in the pathology report.", - "last_modified" : "2015-05-27T16:20:00.870Z", - "definition" : [ { - "key" : "ssf20", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No tumor infiltrating lymphocytes (TIL) present" ], [ "010", "TIL present, non-brisk" ], [ "020", "TIL present, brisk" ], [ "030", "TIL present, NOS" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf21_sam.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf21_sam.json deleted file mode 100644 index 834ea9833..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf21_sam.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf21_sam", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF21", - "title" : "CS Site-Specific Factor 21", - "subtitle" : "Response to Neoadjuvant Therapy", - "notes" : "**Note**: Review the medical record for a specific statement by a physician about the response to neoadjuvant therapy. Do not try to interpret or infer a response based on other documentation in the medical record such as a description of residual tumor on the pathology report. Use code 999 if it is unknown if neoadjuvant therapy was given.", - "last_modified" : "2015-05-27T16:20:00.920Z", - "definition" : [ { - "key" : "ssf21", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Complete response (CR)" ], [ "020", "Partial response (PR)" ], [ "025", "Response noted but no mention if it was complete or partial" ], [ "030", "No response (NR)" ], [ "987", "Not applicable: Neoadjuvant therapy not given" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "OBSOLETE DATA CONVERTED V0203\nSee code 987\n\nNo neoadjuvant therapy" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf21_snp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf21_snp.json deleted file mode 100644 index f4994eea9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf21_snp.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf21_snp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF21", - "title" : "CS Site-Specific Factor 21", - "last_modified" : "2015-05-27T16:20:01.065Z", - "definition" : [ { - "key" : "ssf21", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf21_srb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf21_srb.json deleted file mode 100644 index c669b7e4e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf21_srb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf21_srb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF21", - "title" : "CS Site-Specific Factor 21", - "subtitle" : "Growth Pattern of Primary Tumor", - "notes" : "**Note**: Code the growth pattern of the primary tumor as documented by the pathologist.", - "last_modified" : "2015-05-27T16:20:01.183Z", - "definition" : [ { - "key" : "ssf21", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Circumscribed/nodular" ], [ "020", "Diffusely infiltrative" ], [ "030", "OBSOLETE DATA CONVERTED V0203\nSee code 997\n\nSample inadequate to evaluate as stated in pathology report" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test performed, results not in chart\nTest performed, results not able to be interpreted" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf22_san.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf22_san.json deleted file mode 100644 index b99fe652c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf22_san.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf22_san", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF22", - "title" : "CS Site-Specific Factor 22", - "subtitle" : "Multigene Signature Method", - "notes" : "**Note 1**: Multigene signatures or classifiers are assays of a panel of genes from a tumor specimen, intended to provide a quantitative assessment of the likelihood of response to chemotherapy and to evaluate prognosis or distant recurrence. Oncotype DX and MammaPrint (also called MammoPrint) are two commercially available genomic tests.\n\n**Note 2**: Code the type of test performed. The same test should be used to record information in CS Site-Specific Factors 22 and 23.\n\n**Note 3**: This information may not be available at diagnosis and may require follow-up with the physician.", - "last_modified" : "2015-05-27T16:20:01.284Z", - "definition" : [ { - "key" : "ssf22", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Oncotype DX" ], [ "020", "MammaPrint (MammoPrint)" ], [ "030", "Other" ], [ "040", "Test performed, type of test unknown" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "OBSOLETE DATA CONVERTED V0203\nSee code 040\n\nTest ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf22_snq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf22_snq.json deleted file mode 100644 index d8aa44e8b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf22_snq.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf22_snq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF22", - "title" : "CS Site-Specific Factor 22", - "last_modified" : "2015-05-27T16:20:01.383Z", - "definition" : [ { - "key" : "ssf22", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf22_src.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf22_src.json deleted file mode 100644 index a54338133..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf22_src.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf22_src", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF22", - "title" : "CS Site-Specific Factor 22", - "subtitle" : "Profound Immune Suppression", - "notes" : "**Note 1**: Profound immune suppression may greatly increase the risk of developing Merkel cell carcinoma. Immune suppression is suppression of the body's immune system and its ability to fight infections and other diseases. Immune suppression may be deliberately induced with drugs, as in preparation for bone marrow or other organ transplantation, to prevent rejection of the donor tissue. It may also result from certain diseases such as Acquired Immune Deficiency Syndrome (AIDS) or lymphoma, and from the use of anti-cancer drugs.\n\n**Note 2**: Code the patient's history of profound immune suppression condition(s) as documented by the physician.", - "last_modified" : "2015-05-27T16:20:01.441Z", - "definition" : [ { - "key" : "ssf22", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No immune suppression condition(s)" ], [ "010", "Human Immunodeficiency Virus (HIV)/Acquired Immunodeficiency Syndrome (AIDS)" ], [ "020", "Solid organ transplant recipient" ], [ "030", "Chronic lymphocytic leukemia" ], [ "040", "Non-Hodgkin lymphoma" ], [ "050", "More than one of the above conditions" ], [ "060", "Other specified diagnosis resulting in profound immune suppression" ], [ "070", "Profound immune suppression present, diagnosis not recorded" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf23_sao.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf23_sao.json deleted file mode 100644 index 0993b41e6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf23_sao.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf23_sao", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF23", - "title" : "CS Site-Specific Factor 23", - "subtitle" : "Multigene Signature Results", - "notes" : "**Note 1**: The results for the Oncotype DX test are expressed as a percentage Recurrence Score ranging from 0 to 100, with risk assessment in the categories of low, intermediate, and high. Record the score which can be found in the orange circle.\n\n**Note 2**: The results for the MammaPrint test are expressed as low risk for distant recurrence and high risk for distant recurrence.\n\n**Note 3**: Code the score or results of the multigene signature assay recorded in CS Site-Specific Factor 22. Code the percentage score for Oncotype DX if available in preference to the risk assessment. Code the risk assessment for MammaPrint.\n\n**Note 4**: This information may not be available at diagnosis and may require follow-up with the physician.", - "last_modified" : "2015-05-27T16:20:01.578Z", - "definition" : [ { - "key" : "ssf23", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000-100", "Score of 000 - 100\n(Actual score with leading zeroes to nearest whole percentage)" ], [ "200", "Low risk of recurrence (good prognosis)" ], [ "205", "OBSOLETE DATA CONVERTED V0203\nSee code 400\n\nHigh risk of recurrence (poor prognosis)" ], [ "300", "Intermediate risk of recurrence" ], [ "400", "High risk of recurrence (poor prognosis)" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf23_snr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf23_snr.json deleted file mode 100644 index 1d9053dd8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf23_snr.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf23_snr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF23", - "title" : "CS Site-Specific Factor 23", - "last_modified" : "2015-05-27T16:20:01.634Z", - "definition" : [ { - "key" : "ssf23", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf24_sap.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf24_sap.json deleted file mode 100644 index 1361c3b39..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf24_sap.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf24_sap", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF24", - "title" : "CS Site-Specific Factor 24", - "subtitle" : "Paget Disease", - "notes" : "**Note 1**: Record any mention of Paget disease, whether clinical or pathologic, giving priority to the pathologic assessment. Information may be taken from the gross or microscopic section of the pathology report. Interpret a negative exam of the nipple as Paget disease not present.\n\n**Note 2**: Use code 020 when pathology report states pagetoid involvement of the nipple. Do not use code 020 if report states pagetoid involvement of ducts or lobules.\n\n**Note 3**: Use code 999 (Unknown) when no examination of the nipple, clinical or pathologic, is available in the medical record.", - "last_modified" : "2015-05-27T16:20:01.683Z", - "definition" : [ { - "key" : "ssf24", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Paget disease absent" ], [ "010", "Paget disease present" ], [ "020", "Stated as pagetoid involvement of nipple" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf24_sns.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf24_sns.json deleted file mode 100644 index 40f939fc4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf24_sns.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf24_sns", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF24", - "title" : "CS Site-Specific Factor 24", - "last_modified" : "2015-05-27T16:20:01.742Z", - "definition" : [ { - "key" : "ssf24", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_snt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_snt.json deleted file mode 100644 index def99e906..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_snt.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf25_snt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF25", - "title" : "CS Site-Specific Factor 25", - "last_modified" : "2015-05-27T16:20:01.865Z", - "definition" : [ { - "key" : "ssf25", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spj.json deleted file mode 100644 index c12aa3393..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spj.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ssf25_spj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "discriminator_nasopharynx", - "title" : "CS Site-Specific Factor 25", - "subtitle" : "Schema Discriminator: Nasopharynx/PharyngealTonsil", - "notes" : "**Note**: For cases coded to primary site code C11.1 (Posterior wall of nasopharynx), code the specific site in which the tumor arose.", - "last_modified" : "2015-05-27T16:20:01.914Z", - "definition" : [ { - "key" : "ssf25", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "schema", - "name" : "Schema", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "Posterior wall of nasopharynx \nPosterior wall of nasopharynx, NOS", "VALUE:nasopharynx" ], [ "020", "Adenoid\nPharyngeal tonsil\nNasopharyngeal tonsil", "VALUE:pharyngeal_tonsil" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nC11.1 - originally coded in CSv1 and case diagnosed before 1/1/2010", "VALUE:nasopharynx" ], [ "981", "Nasopharynx cases coded to C11.0, C11.2, C11.3, C11.8, C11.9\nNote: May include cases which were converted to this code from a blank", "VALUE:nasopharynx" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spp.json deleted file mode 100644 index 4b9d7cd05..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spp.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ssf25_spp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "discriminator_lacrimal", - "title" : "CS Site-Specific Factor 25", - "subtitle" : "Schema Discriminator: Lacrimal Gland/Lacrimal Sac", - "notes" : "**Note**: For cases coded to primary site code C69.5 (lacrimal gland/lacrimal sac), code the site in which the tumor arose.", - "last_modified" : "2015-05-27T16:20:01.975Z", - "definition" : [ { - "key" : "ssf25", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "schema", - "name" : "Schema", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nSee codes 015, 025\n\nLacrimal gland\nLacrimal duct, NOS\n Nasal lacrimal duct\n Nasolacrimal duct\nLacrimal, NOS", "ERROR:" ], [ "015", "Lacrimal gland\nLacrimal, NOS", "VALUE:lacrimal_gland" ], [ "020", "OBSOLETE DATA CONVERTED V0203\nSee code 025\n\nLacrimal sac", "ERROR:" ], [ "025", "Lacrimal sac\nLacrimal duct, NOS\n Nasal lacrimal duct\n Nasolacrimal duct", "VALUE:lacrimal_sac" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nC69.5- originally coded in CSv1 and case diagnosed before 1/1/2010", "VALUE:lacrimal_gland" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spv.json deleted file mode 100644 index 82b2dbd3c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_spv.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ssf25_spv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "discriminator_esophogus_ge_junction", - "title" : "CS Site-Specific Factor 25", - "subtitle" : "Schema Discriminator: EsophagusGEJunction (EGJ)/Stomach", - "notes" : "**Note 1**: Since primary site codes C16.1 (fundus of stomach) and C16.2 (body of stomach) can be assigned to either the EsophagusGEJunction (EGJ) schema or the Stomach schema, this schema discriminator is needed to determine the schema to select only when the site is C16.1 or C16.2. The discriminator is coded to 981 for records with primary sites C16.3-C16.6, C16.8, or C16.9. The discriminator is coded to 982 for records with primary site C16.0.\n\n**Note 2**: In the AJCC 7th Edition, primaries of the EGJ (C16.0) and the proximal 5 cm of the stomach were moved from the Stomach chapter to the Esophagus chapter. Due to differences in the schemas for Esophagus and Stomach, a new schema was created in CSv2 to accommodate these changes. To determine whether a cancer in the fundus or body of the stomach should be coded according to the Esophagus/EGJunction or Stomach schema, it is necessary to identify the midpoint or epicenter of the tumor. In the AJCC 7th Edition, cancers whose midpoint is in the lower thoracic esophagus, EGJ, or within the proximal 5 cm of the stomach (cardia)and extending into the EGJ or esophagus, are stage-grouped similarly to adenocarcinoma of the esophagus. All other cancers with a midpoint in the stomach greater than 5 cm distal to the EGJ, or those within 5 cm of the EGJ but not extending into the EGJ or esophagus, are stage-grouped using the gastric cancer staging system.\n\n**Note 3**: For cases coded to primary site C16.1 or C16.2 and histology 8000-8152, 8154-8231, 8243-8245, 8247, 8248, 8250- 8934, 8940-9136, 9141-9582, or 9700-9701, code whether or not the tumor extends to the esophagus (crosses the EGJ) and code the stated distance of the midpoint of the tumor from the EGJ. This information will be used to determine whether the case has AJCC TNM and stage group assigned using definitions for esophagus or stomach cancers.\n\n**Note 4**: If the primary site code is C16.1 or C16.2 and involvement of the EGJ and distance from EGJ is unknown but a physician stages the case using esophagus definitions, assign code 060. Collaborative Stage will use the EsophagusGEJunction schema to assign TNM and AJCC stage.\n\n**Note 5**: Code 100 is produced by the automated conversion of records with primary site codes C16.1 and C16.2 that were originally coded in CSv1 and diagnosed before 2010.", - "last_modified" : "2015-05-27T16:20:02.030Z", - "definition" : [ { - "key" : "ssf25", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "schema", - "name" : "Schema", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No involvement of esophagus or gastroesophageal junction (EGJ)", "VALUE:stomach" ], [ "010", "OBSOLETE DATA REVIEWED AND CHANGED V0204\nSee code 982\n\nTumor located in cardia or EGJ", "ERROR:" ], [ "020", "Esophagus or EGJ involved AND distance of tumor midpoint from EGJ 5 cm or less", "VALUE:esophagus_gejunction" ], [ "030", "Esophagus or EGJ involved AND distance of tumor midpoint from EGJ more than 5 cm", "VALUE:stomach" ], [ "040", "Esophagus or EGJ involved AND distance of tumor midpoint from EGJ unknown", "VALUE:esophagus_gejunction" ], [ "050", "OBSOLETE DATA CONVERTED V0203\nSee code 000\n\nEsophagus and EGJ NOT involved AND distance of tumor midpoint from EGJ is 5 cm or less", "ERROR:" ], [ "060", "Esophagus/EGJ involved AND distance of tumor midpoint from EGJ more than 5 cm from EGJ\nAND physician stages case using esophagus definitions\nOR\nEsophagus/EGJ involvement unknown\nAND distance of tumor midpoint from EGJ more than 5 cm or unknown\nAND physician stages case using esophagus definitions", "VALUE:esophagus_gejunction" ], [ "100", "OBSOLETE DATA RETAINED V0200 \n\nC16.1, C16.2 - originally coded in CSv1", "VALUE:stomach" ], [ "981", "Primary site coded to C16.3 - C16.9\nMay include cases which were converted to this code from a blank", "VALUE:stomach" ], [ "982", "Primary site coded to C16.0\nMay include cases which were converted to this code from a blank", "VALUE:esophagus_gejunction" ], [ "999", "Involvement of esophagus/EGJ unknown, or no information\nNot documented in patient record", "VALUE:stomach" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqc.json deleted file mode 100644 index bb5b5133c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqc.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ssf25_sqc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "discriminator_melanoma", - "title" : "CS Site-Specific Factor 25", - "subtitle" : "Schema Discriminator: Melanoma Ciliary Body/Melanoma Iris", - "notes" : "**Note**: For cases coded to melanoma with primary site code C694 Ciliary Body/Iris, code the site in which the tumor arose. This information will be used to determine which of two CS schemas will be used to assign staging values to the case.", - "last_modified" : "2015-05-27T16:20:02.073Z", - "definition" : [ { - "key" : "ssf25", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "schema", - "name" : "Schema", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "Ciliary Body\nCrystalline lens\nSclera\nUveal tract\nIntraocular\nEyeball", "VALUE:melanoma_ciliary_body" ], [ "020", "Iris", "VALUE:melanoma_iris" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nC69.4 - originally coded in CSv1 and case diagnosed before 1/1/2010", "VALUE:melanoma_ciliary_body" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqi.json deleted file mode 100644 index 54aec0d91..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqi.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ssf25_sqi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "discriminator_bile_ducts", - "title" : "CS Site-Specific Factor 25", - "subtitle" : "Schema Discriminator: BileDuctsDistal/BileDuctsPerihilar/CysticDuct", - "notes" : "**Note 1**: For cases coded to primary site code C24.0 (extrahepatic bile ducts), code the subsite in which the tumor arose. This information will be used to determine which CS schemas will be used to assign T, N, M, and AJCC stage group.\n\n**Note 2**: According to AJCC, perihilar tumors are defined as those located in the extrahepatic biliary tree proximal to the origin of the cystic duct. These represent 70-80% of extrahepatic bile duct tumors. Distal bile duct tumors are those arising between the junction of the cystic duct and the ampulla of Vater, including those arising in the intrapancreatic portion of the common bile duct. These represent 20-30% of extrahepatic bile duct tumors.", - "last_modified" : "2015-05-27T16:20:02.129Z", - "definition" : [ { - "key" : "ssf25", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "schema", - "name" : "Schema", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "Perihilar bile duct(s)\nProximal extrahepatic bile duct(s)\nHepatic duct(s)", "VALUE:bile_ducts_perihilar" ], [ "020", "Stated as Klatskin tumor", "VALUE:bile_ducts_perihilar" ], [ "030", "Cystic bile duct; cystic duct", "VALUE:cystic_duct" ], [ "040", "Distal bile duct\nCommon bile duct\nCommon duct, NOS", "VALUE:bile_ducts_distal" ], [ "050", "Diffuse involvement \nMore than one subsite involved, subsite of origin not stated", "VALUE:bile_ducts_perihilar" ], [ "060", "Subsite of extrahepatic bile ducts not stated\nOr subsite stated as middle extrahepatic bile duct\nAND treated with combined hepatic and hilar resection", "VALUE:bile_ducts_perihilar" ], [ "070", "Subsite of extrahepatic bile ducts not stated\nOr subsite stated as middle extrahepatic bile duct\nAND treated with pancreaticoduodenectomy", "VALUE:bile_ducts_distal" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nC24.0 - originally coded in CSv1 and case diagnosed before 1/1/2010", "VALUE:bile_ducts_perihilar" ], [ "999", "Subsite of extrahepatic bile ducts not stated and not classifiable in codes 050-070", "VALUE:bile_ducts_perihilar" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqp.json deleted file mode 100644 index 713eb5e86..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf25_sqp.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ssf25_sqp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "discriminator_peritoneum", - "title" : "CS Site-Specific Factor 25", - "subtitle" : "Schema Discriminator: Peritoneum/PeritoneumFemaleGen", - "notes" : "**Note**: For cases coded to primary site C48.1, C48.2, or C48.8, and histology in the ranges 8000-8576, 8590-8671, 8930-8934 or 8940-9110, the sex of the case is needed to determine the correct CS schema. AJCC stages primary carcinomas of the peritoneum in females with the same staging criteria as for ovarian cancer.", - "last_modified" : "2015-05-27T16:20:02.175Z", - "definition" : [ { - "key" : "ssf25", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "schema", - "name" : "Schema", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "001", "Male", "VALUE:peritoneum" ], [ "002", "Female", "VALUE:peritoneum_female_gen" ], [ "003", "Other (hermaphrodite)", "VALUE:peritoneum" ], [ "004", "Transsexual", "VALUE:peritoneum" ], [ "009", "Unknown sex", "VALUE:peritoneum" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nC48.1, C48.2, or C48.8, and histology in the ranges 8000-8576, 8590-8671, 8930-8934, 8940-9110 coded in CSv1", "VALUE:peritoneum" ], [ "981", "C48.1, C48.2, or C48.8 with histology codes 8580-8589,8680-8921,9120-9136,9141-9582,9700-9701\nNote: May include cases which were converted to this code from a blank", "VALUE:peritoneum" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaa.json deleted file mode 100644 index 82e030b7d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kaa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Ulceration", - "notes" : "**Note 1**: Melanoma ulceration is the absence of an intact epidermis overlying the primary melanoma based upon histopathological examination.\n\n**Note 2**: If there is no documentation or no mention of ulceration in the pathology report, assume ulceration is not present and code 000.", - "last_modified" : "2015-05-27T16:20:02.223Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No ulceration present" ], [ "001", "OBSOLETE DATA CONVERTED V0203\nSee code 010\n\nUlceration present" ], [ "010", "Ulceration present" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kab.json deleted file mode 100644 index b194a2f44..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kab.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Prostatic Specific Antigen (PSA) Interpretation", - "notes" : "**Note 1**: Record the interpretation for the highest PSA lab value recorded in the medical record prior to diagnostic biopsy of prostate and treatment. This lab value may be recorded in the lab report, history and physical, or clinical statement in the pathology report. See General Rules Part I, Section 2 for further instructions on coding lab test interpretations.\n\n**Note 2**: The interpretation should be for the same laboratory test recorded in CS Site-Specific Factor 1.", - "last_modified" : "2015-05-27T16:20:02.284Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0200\nSee code 998\n\nTest not done (test was not ordered and was not performed)" ], [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "080", "OBSOLETE DATA CONVERTED V0200\nSee code 997\n\nOrdered, but results not in chart" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kac.json deleted file mode 100644 index 87478474d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kac.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Progesterone Receptor (PR) Assay", - "notes" : "**Note 1**:\n\n* A. In cases where PR is reported on more than one tumor specimen (except as noted in B, D, and E), record the highest value. If any sample is positive, record as positive.\n* B. If neoadjuvant therapy is given, record the assay from tumor specimens prior to neoadjuvant therapy.\n* C. If neoadjuvant therapy is given and there are no PR results from pre-treatment specimens, report the findings from post-treatment specimens.\n* D: If the patient is PR positive and node negative, a multigene test such as OncotypeDX may be performed, in which case another PR test will be performed. Do not record the results of that test in this field. Record only the results of the test which made the patient eligible to be given the multigene test.\n* E: If PR is positive on an in situ specimen and PR is negative on all tested invasive specimens, code PR as negative (code 020).\n\n**Note 2**: In general, progesterone receptor (PR) assay is only performed on one sample. In cases where the assay is performed on more than one sample, there is not necessarily any reason to think that the most accurate is the test done on the \"largest\" tumor specimen. Clinically, treatment will be based on any positive test; with the benefit and minimal toxicity of hormonal therapy, most patients will be given the \"benefit of the doubt\" and treated with hormonal therapy if any PR test is positive. See exception in Note 1E.\n\n**Note 3**: The most recent interpretation guidelines for PR do not allow for a borderline result. Therefore, code 030 will rarely be used. If 1% or greater cells stain positive, the test results are considered positive. If less than 1% of cells stain positive, the results are considered negative.", - "last_modified" : "2015-05-27T16:20:02.354Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nTest not done (test was not ordered and was not performed)" ], [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "080", "OBSOLETE DATA CONVERTED V0203\nSee code 997\n\nOrdered, but results not in chart" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "996", "Test ordered, results not interpretable" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kad.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kad.json deleted file mode 100644 index 3dc5f84e0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kad.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kad", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "OBSOLETE - Human Chorionic Gonadotropin (hCG)", - "notes" : "**Note**: This CS Site-Specific Factor is obsolete beginning with CS Version 2 (codes and descriptions). Old data are retained, but new cases are not coded with this Factor. Use code 988 for this field.", - "last_modified" : "2015-05-27T16:20:02.416Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0200\n \nTest not done (SX)" ], [ "020", "OBSOLETE DATA RETAINED V0200\n \nWithin normal limits (S0)" ], [ "040", "OBSOLETE DATA RETAINED V0200\n \nRange 1 (S1) less than 5,000 mIU/ml" ], [ "050", "OBSOLETE DATA RETAINED V0200\n \nRange 2 (S2) 5,000 - 50,000 mIU/ml" ], [ "060", "OBSOLETE DATA RETAINED V0200\n \nRange 3 (S3) greater than 50,000 mIU/ml" ], [ "080", "OBSOLETE DATA RETAINED V0200\n \nOrdered, but results not in chart" ], [ "988", "Not applicable: Information not collected for this schema" ], [ "999", "OBSOLETE DATA RETAINED V0200 \n\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaj.json deleted file mode 100644 index 25de545f9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kaj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Depth of Renal Parenchymal Invasion", - "notes" : "**Note**: Record the depth of invasion into the renal parenchyma as documented in the pathology report. Assign code 000 if surgical resection of the primary site (renal pelvis or ureter) is performed, the pathology report is available for review, and renal parenchymal invasion is not mentioned.", - "last_modified" : "2015-05-27T16:20:02.469Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Renal parenchymal invasion not present/not identified " ], [ "001-979", "1 - 979 millimeters (mm) \n(Exact depth of renal parenchymal invasion to nearest mm)" ], [ "980", "980 mm or greater" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "991", "Renal parenchymal invasion present, depth unknown" ], [ "998", "No surgical resection of primary site" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kak.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kak.json deleted file mode 100644 index f94e1db63..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kak.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kak", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Tumor Weight", - "notes" : "**Note 1**: As stated in the College of American Pathologists (CAP) protocol for adrenal gland, \"Accurate weights of adrenal cortical neoplasms are important. Although tumor mass cannot be used as the sole criterion for malignancy, adrenal cortical neoplasms weighing less than 50 grams are almost always benign, whereas the weight of malignant tumors is usually greater than 100 grams. Weight is a reflection of gland weight rather than tumor weight because, in actuality, following surgical excision, the tumor is not dissected from the gland proper and weighed separately.\"\n\n**Note 2**: Record the tumor weight (gland weight) to the nearest gram as documented in the pathology report.", - "last_modified" : "2015-05-27T16:20:02.525Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "1 - 979 grams \n(Exact tumor weight (gland weight) to nearest gram)" ], [ "980", "980 grams or greater" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No surgical resection of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kal.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kal.json deleted file mode 100644 index 07ffce5ce..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kal.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ssf2_kal", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Specific Location of Tumor", - "last_modified" : "2015-05-27T16:20:02.574Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Fundus - Anterior Wall" ], [ "020", "Fundus - Posterior Wall" ], [ "030", "Fundus, NOS" ], [ "040", "Body - Anterior Wall" ], [ "050", "Body - Posterior Wall" ], [ "060", "Body - Lesser Curvature" ], [ "070", "Body - Greater Curvature" ], [ "080", "Body, NOS" ], [ "090", "Antrum - Anterior Wall" ], [ "100", "Antrum - Posterior Wall" ], [ "110", "Antrum - Lesser Curvature" ], [ "120", "Antrum - Greater Curvature" ], [ "130", "Antrum, NOS" ], [ "140", "Pylorus" ], [ "150", "Overlapping Lesion Anterior wall of stomach, NOS Posterior wall of stomach, NOS" ], [ "160", "Lesser curvature, NOS Medial curvature, NOS" ], [ "170", "Greater curvature, NOS Lateral curvature, NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988:\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown or no information\n Stomach, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kao.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kao.json deleted file mode 100644 index f6f118cf5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kao.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kao", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Size of Metastasis in Lymph Nodes", - "notes" : "**Note 1**: If the only lymph node involvement is common iliac nodes, code 999. Ths size of metastasis in lymph nodes is required to derive the TNM 6 N category. Although common iliac nodes are included as regional nodes in AJCC 7th edition, they are considered distant lymph nodes in AJCC 6th edition. Therefore, only code the size of lymph node metastasis in iliac (internal, external, NOS), obturator, pelvic, perivesical, sacral, or regional nodes, NOS in this factor.\n\n**Note 2**: Code the size of the largest metastasis in a lymph node as documented in the pathology report, not the size of the lymph node. If the size of the metastasis is not documented, code the size of the largest involved node as documented pathologically or clinically with pathology taking priority. Do not code the size of any node(s) coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:20:02.625Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph nodes involved" ], [ "001-979", "1 - 979 millimeter (mm) \n(Exact size of lymph node metastasis to nearest mm)" ], [ "980", "980 mm or larger" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm\" or \"greater than 1 cm\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm\" or \"greater than 2 cm\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm\" or \"greater than 3 cm\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm\" or \"greater than 4 cm\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 6 cm\" or \"greater than 5 cm\" or \"between 5 cm and 6 cm\"" ], [ "997", "Described as \"more than 6 cm\"" ], [ "999", "Regional lymph node(s) involved, size not stated\nCommon iliac node involvement only\nUnknown if regional lymph node(s) involved\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaq.json deleted file mode 100644 index 2325dd5cd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kaq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Clinical Assessment of Regional Lymph Nodes", - "notes" : "**Note 1**: Clinically evident regional lymph nodes are based on information from the diagnostic workup. This might include: physical examination, imaging, diagnostic lymph node biopsy and exploratory surgery (without resection). \n\n**Note 2**: In the rare instance that the number of clinically positive nodes is stated but a clinical N category is not stated, code 1-3 nodes as 100 (N1), and 4 or more nodes as 200 (N2).\n\n**Note 3**: If there is no diagnostic work-up to assess regional lymph nodes, use code 999. Do not apply the inaccessible nodes rule that presumes unmentioned nodes to be negative.", - "last_modified" : "2015-05-27T16:20:02.680Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Nodes not clinically evident; imaging of regional nodes performed and nodes not mentioned" ], [ "100", "Metastasis in 1 - 3 regional lymph nodes, determined clinically\n\nStated as clinical N1" ], [ "200", "Metastasis in 4 or more regional lymph nodes, determined clinically\n\nStated as clinical N2" ], [ "400", "Clinically positive regional nodes, NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Regional lymph node(s) involved pathologically, clinical assessment not stated\nUnknown if regional nodes clinically evident\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kar.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kar.json deleted file mode 100644 index 80e1874fd..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kar.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kar", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Vein Involvement", - "notes" : "**Note 1**: Information about vein involvement is collected in CS Extension as an element in anatomic staging. It is also collected in this field as it may have an independent effect on prognosis. \n\n**Note 2**: Record the involvement of specific named veins as documented in the pathology report. Do not code invasion of small unnamed vein(s) of the type collected as lymph-vascular invasion. Lymph-vascular invasion is usually only seen microscopically. Assign code 000 if surgical resection of the primary site is performed, the pathology report is available for review, and involvement of these specified veins is not mentioned.", - "last_modified" : "2015-05-27T16:20:02.742Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Vein involvement not present/not identified" ], [ "010", "Involvement of renal vein only" ], [ "020", "Involvement of inferior vena cava (IVC) below the diaphragm only" ], [ "030", "Involvement of IVC above the diaphragm only" ], [ "040", "Involvement of IVC, NOS only" ], [ "050", "020 + 010 \n\nInvolvement of IVC below the diaphragm plus involvement of renal vein" ], [ "060", "030 + 010 \n \nInvolvement of IVC above the diaphragm plus involvement of renal vein" ], [ "070", "040 + 010\n\nInvolvement of IVC, NOS plus involvement of renal vein" ], [ "080", "030 + 020 \n\nInvolvement of IVC above the diaphragm plus involvement of IVC below the diaphragm" ], [ "090", "030 + 020 + 010 \n\nInvolvement of IVC above the diaphragm plus involvement of IVC below the diaphragm plus involvement of renal vein" ], [ "888", "OBSOLETE DATA CONVERTED V0200 \nSee code 988 \n\nNot applicable for this schema" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No surgical resection of primary site" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kas.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kas.json deleted file mode 100644 index ad8d5100a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kas.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kas", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Specific Location of Tumor", - "notes" : "**Note 1**: The location of a primary squamous cell carcinoma of the esophagus is a staging element for AJCC 7 staging. The location of the primary cancer site is defined by AJCC as the position of the upper (proximal) edge of the tumor in the esophagus. The location of the tumor in the esophagus provides important information about the tumor's relation to adjacent structures. The location of the proximal edge of the tumor within the esophagus may be described based on imaging, esophagoscopy, or surgical results. \n\n**Note 2**: As described in the AJCC 7th Edition and used in this Site-Specific Factor, the cervical esophagus is bordered superiorly by the hypopharynx and inferiorly by the thoracic inlet at the level of the sternal notch. The upper thoracic esophagus is bordered inferiorly by the lower border of the azygos vein. The middle thoracic esophagus is bordered inferiorly by the inferior pulmonary veins. The lower thoracic esophagus is bordered inferiorly by the stomach. The abdominal esophagus extends from the esophagogastric junction to 5 centimeters (cm) below the junction in the proximal stomach. \n\n**Note 3**: Code the specific location of the primary tumor according to the term(s) found in the medical record. If multiple terms are used, give priority to codes 010- 060 over 070-090.", - "last_modified" : "2015-05-27T16:20:02.792Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Stated as cervical esophagus " ], [ "020", "Stated as upper thoracic esophagus" ], [ "030", "Stated as middle thoracic esophagus" ], [ "040", "OBSOLETE DATA CONVERTED V0203\nSee code 060\n\nAbdominal " ], [ "050", "Stated as lower thoracic esophagus" ], [ "060", "Stated as abdominal esophagus" ], [ "070", "Stated as upper third " ], [ "080", "Stated as middle third" ], [ "090", "Stated as lower third" ], [ "100", "OBSOLETE DATA REVIEWED AND CHANGED V0203\nOverlapping subsites is not appropriate for location of the tumor's proximal edge. A specific location as described in Note 1 should be coded, or 999 if the proximal edge location is unknown.\n\nOverlapping lesion of the Esophagus" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown; Esophagus, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaw.json deleted file mode 100644 index 9f8d3fc4a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kaw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1**: Code the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage as stated in the medical record. \n\n**Note 2**: Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it. Do not attempt to code FIGO stage based only on T, N, and M. If you cannot make a determination of stage based on the previous information, use code 999, stage unknown.", - "last_modified" : "2015-05-27T16:20:02.846Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage I [NOS]" ], [ "120", "FIGO Stage IA" ], [ "150", "FIGO Stage IB" ], [ "200", "FIGO Stage II [NOS]" ], [ "220", "FIGO Stage IIA" ], [ "250", "FIGO Stage IIB" ], [ "298", "FIGO III [NOS]" ], [ "300", "FIGO Stage IIIA" ], [ "350", "FIGO Stage IIIB" ], [ "400", "FIGO Stage IV [NOS]" ], [ "420", "FIGO Stage IVA" ], [ "450", "FIGO Stage IVB" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "987", "OBSOLETE DATA CONVERTED V0203\nSee code 999\n\nCancer in situ (preinvasive, noninvasive, intraepithelial)" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" orwhen the item was not collected. If this item is required to derive T,N,M, or any stage, use of code 988 may result in an error.)" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kax.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kax.json deleted file mode 100644 index b7e991e77..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kax.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kax", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Nuclear NM23 Staining", - "notes" : "**Note 1**: The NM23 gene located on chromosome 17 encodes the protein nucleoside diphosphate kinase. The presence of nuclear NM23 protein may be a good marker for predicting the metastatic potential of certain tumors. The value is expressed as the percentage of carcinoma cells in the tissue sample with positive nuclear staining for the NM23 protein.\n\n**Note 2**: Record whether nuclear NM23 staining is present as stated on the test report.", - "last_modified" : "2015-05-27T16:20:03.103Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive for NM23 staining" ], [ "020", "Negative for NM23 staining" ], [ "030", "Borderline; undetermined if positive or negative" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test performed, results not available" ], [ "998", "Test not done (test not ordered and not performed) No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kay.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kay.json deleted file mode 100644 index 47d116bb8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kay.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kay", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Ki-67/MIB Labeling Index (LI): Ophthalmic", - "notes" : "**Note 1**: Ki-67 antigen is a nuclear protein, expressed by cells in all phases of the active cell cycle (G1, S, G2, and M phase) and absent in resting cells (G0 phase). Tumor cells with positive staining for Ki-67 antibodies are actively growing or proliferating. The fraction of Ki-67-positive tumor cells (the Ki-67 labeling index, or LI) may correlate with the clinical course of cancer. The value is expressed as the percentage of carcinoma cells in the tissue sample with positive immunohistochemical staining for the Ki-67 protein. The staining may be performed with the MIB-1 monoclonal antibody, so the test may be referred to as either Ki-67 or MIB-1.\n\n**Note 2**: Code the LI fraction percentage using Ki-67 or MIB-1 (monoclonal antibody) when it is available on the pathology report of the primary tumor. The Ki-67 or MIB-1 LI may also be called the growth fraction or proliferative fraction.\n\n**Note 3**: Record the LI as an exact whole number (000-100). For example, if the LI level is recorded by the pathologist as 15%, assign code 015. If the percentage is documented as 13.7%, round up to 14% and assign code 014. If the percentage is documented as 13.2%, round down to 13% and assign code 013. If the percentage is documented as less than 0.5%, round down to 0% and code 000; if the percentage is documented as greater than 0.5% and less than 1%, round up to 1% and code as 001.\n\n**Note 4**: In the absence of a specific percentage value, use codes 110-140 for a stated range of the LI, or codes 991-993 for an interpretation of the LI.", - "last_modified" : "2015-05-27T16:20:03.155Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000-100", "Percentage of Ki-67 growth fraction\n(Exact labeling index (LI) rounded to nearest percent)\n\nExamples:\n 000 0.2%\n 001 1%\n 010 10%\n 014 13.7%\n 055 55.2%" ], [ "110", "Stated as Ki-67 growth fraction less than or equal to 5%" ], [ "120", "Stated as Ki-67 growth fraction greater than 5% and less than or equal to 10%" ], [ "130", "Stated as Ki-67 growth fraction greater than 10% and less than or equal to 20%" ], [ "140", "Stated as Ki-67 growth fraction greater than 20% and less than or equal to 50%" ], [ "150", "Stated as Ki-67 growth fraction greater than 50%" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee Code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "991", "Stated as low proliferation rate" ], [ "992", "Stated as increased proliferation rate" ], [ "993", "Stated as high proliferation rate" ], [ "997", "Ki-67 growth fraction study performed, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaz.json deleted file mode 100644 index a41606a7e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kaz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kaz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Clark Level", - "notes" : "**Note 1**: Code the Clark level as documented in the pathology report.\n\n**Note 2**: Record only for squamous cell carcinoma of skin of eyelid. For other histologies, use code 987, not applicable.", - "last_modified" : "2015-05-27T16:20:03.203Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Clark level I\nIn situ, intraepidermal, intraepithelial, noninvasive \nBasement membrane of epidermis is intact" ], [ "020", "Clark level II\nPapillary dermis invaded" ], [ "030", "Clark level III\nPapillary-reticular dermal interface invaded" ], [ "040", "Clark level IV\nReticular dermis invaded" ], [ "050", "Clark level V\nSubcutaneous tissue invaded (through entire dermis)" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "987", "Not applicable, not squamous cell carcinoma of skin of eyelid" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbb.json deleted file mode 100644 index 04bdee8ab..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Retinoblastoma (RB) Gene Mutation", - "notes" : "**Note**: Information is collected on the germline mutation of the retinoblastoma (RB) gene. Typically tumor tissue is tested to identify the presence of the mutation. Peripheral blood lymphocytes are tested to determine if the RB gene is a germline mutation (inherited). Code the results of testing as reported in the medical record.", - "last_modified" : "2015-05-27T16:20:03.250Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Germline retinoblastoma (RB) gene mutation not present" ], [ "010", "Germline RB gene mutation present" ], [ "020", "OBSOLETE DATA CONVERTED V0203\nSee code 000\n\nGermline RB gene mutation not present" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbc.json deleted file mode 100644 index b87cc5d98..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbc.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ssf2_kbc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Biopsy of Metastatic Site", - "last_modified" : "2015-05-27T16:20:03.304Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "Pathologic examination of metastatic tissue performed, NOS" ], [ "110", "Biopsy of omentum performed." ], [ "120", "Biopsy of small intestine performed." ], [ "130", "Biopsy of liver parenchymal tissue performed." ], [ "200", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nNo pathologic examination of metastatic tissue performed." ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No pathologic examination of metastatic tissue" ], [ "999", "Unknown or no information\nNot documented in the patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbf.json deleted file mode 100644 index 9adaa6b03..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Histologic Subtype", - "notes" : "**Note**: Histologic subtype has prognostic significance in pleural mesothelioma. The pure epithelioid tumors are associated with a better prognosis then the biphasic or sarcomatoid tumors. Desmoplastic tumors appear to have the worst prognosis.", - "last_modified" : "2015-05-27T16:20:03.351Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No histologic subtype stated" ], [ "010", "Epithelioid (9052)" ], [ "020", "Biphasic (9053)\n(At least 10% of both epithelioid and sarcomatoid components)" ], [ "030", "Sarcomatoid (9051)" ], [ "040", "Desmoplastic (9051)" ], [ "050", "Other histologic subtype" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No pathologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbi.json deleted file mode 100644 index df275c304..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbi.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Quadrants", - "notes" : "**Note 1**: Code the number of quadrants clinically involved with melanoma of the conjunctiva as stated in the medical record. If the stated number of quadrants involved conflicts with the T category assigned by the physician, code the stated number of quadrants.\n\n**Note 2**: If the number of involved quadrants is not stated but a clinical stage is assigned, use the code that matches the clinical T category as indicated in the code descriptions in the table.", - "last_modified" : "2015-05-27T16:20:03.404Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Less than or equal to one quadrant involved" ], [ "015", "Stated as clinical T1a with no other information on quadrants\nStated as clinical T2a with no other information on quadrants\nStated as clinical T2c with no other information on quadrants" ], [ "020", "More than one but less than or equal to two quadrants involved" ], [ "025", "Stated as clinical T1b with no other information on quadrants\nStated as clinical T2b with no other information on quadrants\nStated as clinical T2d with no other information on quadrants" ], [ "030", "More than two but less than or equal to three quadrants involved" ], [ "035", "Stated as clinical T1c with no other information on quadrants" ], [ "040", "Greater than three quadrants involved" ], [ "045", "Stated as clinical T1d with no other information on quadrants" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbl.json deleted file mode 100644 index f0eae4a07..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "CS Tumor Size - Third Largest Dimension", - "notes" : "**Note 1**: According to AJCC tumor size is an important prognostic factor. The three dimensions of tumor size (length, width and height) are also important to collect if documented in the patient record. Record the largest dimension of tumor size CS Tumor Size. Record the second largest dimension of tumor size in CS Site-Specific Factor 1 and the smallest dimension of tumor size in CS Site-Specific Factor 2.\n\n**Note 2**: Tumor size expressed as 4.0 centimeter (cm) x 3.0 cm x 2.0 cm is recorded as follows:\n\n* CS Tumor Size: 040\n* CS Site-Specific Factor 1: 030\n* CS Site-Specific Factor 2: 020\n\nTumor size expressed as \"greater than 8 cm\" is recorded as follows:\n\n* CS Tumor Size : 997\n* CS Site-Specific Factor 1: 999\n* CS Site-Specific Factor 2: 999", - "last_modified" : "2015-05-27T16:20:03.450Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "001 - 979 millimeters (mm)\n(Exact size to nearest mm)" ], [ "980", "980 mm or larger" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 8cm\" or \"between 5cm and 8cm\"" ], [ "997", "Described as \"greater than 8cm\"" ], [ "998", "OBSOLETE DATA REVIEWED AND CHANGED V0204 \nTumor size may be based on clinical examination if histologic examination not performed. Review and recode to codes 001-980, 990-997. \n\nNo histologic examination of primary site" ], [ "999", "Unknown, third dimension of size not stated\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbm.json deleted file mode 100644 index 0a2b8ed28..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbm.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Measured Basal Diameter", - "notes" : "**Note**: Code measured basal diameter of tumor, not size. Record actual measurement in tenths of millimeters (mm) from clinical documentation, or from a pathology report if surgery performed.", - "last_modified" : "2015-05-27T16:20:03.501Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "00.1 - 97.9 millimeters (mm)\n(Exact measurement to nearest tenth of mm) \n\nExamples:\n 001 00.1 mm\n 002 00.2 mm\n 010 01.0 mm\n 074 07.4 mm\n 100 10.0 mm\n 105 10.5 mm\n 979 97.9 mm" ], [ "980", "98.0 mm or larger" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "991", "Described as \"less than 3 mm\"" ], [ "992", "Described as \"greater than 3 mm\" or \"less than or equal to 6mm\"" ], [ "993", "Described as \"greater than 6 mm\" or \"less than or equal to 9mm\"" ], [ "994", "Described as \"greater than 9 mm\" or \"less than or equal to 12 mm\"" ], [ "995", "Described as \"greater than 12 mm\" or \"less than or equal to 15 mm\"" ], [ "996", "Described as \"greater than 15 mm\" or \"less than 18 mm\"" ], [ "997", "Described as \"greater than 18 mm\"" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbu.json deleted file mode 100644 index fb4d2117f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbu.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1**: The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis) for ovarian cancer. Use code 987 for any case where CS Extension is coded 000.\n\n**Note 2**: Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it. Do not attempt to code FIGO stage based only on T, N, and M. If you cannot make a determination of stage based on the previous information, use code 999, stage unknown.", - "last_modified" : "2015-05-27T16:20:03.558Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage I [NOS]" ], [ "110", "FIGO Stage IA" ], [ "120", "FIGO Stage IB" ], [ "130", "FIGO Stage IC" ], [ "200", "FIGO Stage II [NOS]" ], [ "210", "FIGO Stage IIA" ], [ "220", "FIGO Stage IIB" ], [ "230", "FIGO Stage IIC" ], [ "300", "FIGO Stage III [NOS]" ], [ "310", "FIGO Stage IIIA" ], [ "320", "FIGO Stage IIIB" ], [ "330", "FIGO Stage IIIC" ], [ "400", "FIGO Stage IV" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive)" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbv.json deleted file mode 100644 index 8abff340a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbv.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Systemic Symptoms at Diagnosis", - "notes" : "**Note 1**: The constitutional symptoms (B symptoms) for Kaposi Sarcoma are:\n\n* A. Fevers: Unexplained fever with temperature above 38 degrees C;\n* B. Night sweats: Drenching sweats that require change of bedclothes;\n* C. Weight loss: Unexplained weight loss of more than 10% of the usual body weight in the six months prior to diagnosis.\n* D. Diarrhea: Persistent diarrhea lasting longer than two weeks.\n\n**Note 2**: The presence of these constitutional symptoms for Kaposi Sarcoma does not modify the stage.\n\n**Note 3**: Assign code 000 if the History and Physical, progress notes, and consultations make no mention of B symptoms.", - "last_modified" : "2015-05-27T16:20:03.609Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No B symptoms (asymptomatic)" ], [ "010", "Any B symptoms:\n Unexplained fever (above 38 degrees C)\n Night sweats\n Unexplained weight loss (generally greater than 10% of body weight in the six months before admission)\nB symptoms, NOS" ], [ "020", "Persistent diarrhea lasting longer than two weeks" ], [ "888", "OBSOLETE DATA CONVERTED V0200\n\nSee code 988: Not applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbw.json deleted file mode 100644 index cc1feb61b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Clinical Assessment of Regional Lymph Nodes", - "notes" : "**Note 1**: Assessment of clinically evident regional lymph nodes is based on information from the diagnostic workup. This might include: physical examination, imaging, diagnostic lymph node biopsy and exploratory surgery (without a resection). \n\n**Note 2**: In the rare instance that the number of clinically positive nodes is stated but a clinical N category is not stated, code 1-3 nodes as 100 (clinical N1), and 4 or more nodes as 200 (clinical N2).\n\n**Note 3**: If there is no diagnostic work-up to assess regional lymph nodes, use code 999. Do not apply the inaccessible nodes rule that presumes unmentioned nodes to be negative.", - "last_modified" : "2015-05-27T16:20:03.659Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Nodes not clinically evident; imaging of regional nodes performed and nodes not mentioned" ], [ "100", "Metastasis in 1 - 3 regional lymph nodes, determined clinically\n\nStated as clinical N1" ], [ "200", "Metastasis in 4 or more regional lymph nodes, determined clinically\n\nStated as clinical N2" ], [ "400", "Clinically positive regional nodes, NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Regional lymph node(s) involved, clinical assessment not stated\nUnknown if regional nodes clinically evident\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbx.json deleted file mode 100644 index 5d2f40ab7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kbx.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Durie-Salmon Staging System", - "notes" : "**Note 1**: Durie-Salmon staging applies to multiple myeloma (9732) only. For plasmacytomas, (9731 and 9734), use code 987 for not applicable. \n\n**Note 2**: The A and B subclassifications reflect the serum creatinine levels at diagnosis. If the A or B subclassification is not noted, use the NOS codes.\n\n**Note 3**: Only code the Durie-Salmon stage when the stage is documented in the medical record. \n\n**Note 4**: Code the stage as Durie-Salmon when the record states the stage, but does not identify the staging system.", - "last_modified" : "2015-05-27T16:20:03.702Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Durie Salmon Stage IA" ], [ "020", "Durie Salmon Stage IB" ], [ "030", "Durie Salmon Stage INOS" ], [ "040", "Durie Salmon Stage IIA" ], [ "050", "Durie Salmon Stage IIB" ], [ "060", "Durie Salmon Stage IINOS" ], [ "070", "Durie Salmon Stage IIIA" ], [ "080", "Durie Salmon Stage IIIB" ], [ "090", "Durie Salmon Stage IIINOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n \nNot applicable for this site" ], [ "987", "Not applicable: Use for codes 9731 (Plasmacytoma, NOS) and 9734 (Plasmacytoma, extramedullary) \nNot multiple myeloma or plasma cell myeloma (9732)" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kna.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kna.json deleted file mode 100644 index 6e3913ea6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kna.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf2_kna", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "last_modified" : "2015-05-27T16:20:03.751Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n Not applicable for this site" ], [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpa.json deleted file mode 100644 index 4e3ca9f9c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "OBSOLETE - Extracapsular Extension, Lymph Nodes for Head and Neck", - "notes" : "**Note**: This CS Site-Specific Factor is obsolete beginning with CS Version 2 (codes, code descriptions, and notes). Old data are retained during conversion, but new cases are not coded 000-987 or 999. Use code 988 for this field for all cases entered in CS Version 2.\n\n**OBSOLETE V0200 Note 1**: Code the status of extracapsular extension whether assessed clinically or pathologically of any involved regional lymph node(s) coded in the CS Lymph Nodes field. Do not code extracapsular extension in any nodes coded in CS Mets at DX in this field.\n\n**OBSOLETE V0200 Note 2**: A statement of the presence or absence of extracapsular extension in a pathology report takes priority over clinical assessment. However, if the pathology report contains no statement about extracapsular extension, either positive or negative, the clinical assessment should be coded. If nodes are involved but there is neither a clinical assessment of extranodal extension nor a statement about it in the pathology report, use code 999.\n\n**OBSOLETE V0200 Note 3**: According to AJCC (page 24), \"Imaging studies showing amorphous spiculated margins of involved nodes or involvement of internodal fat resulting in loss of normal oval-to-round nodal shape strongly suggest extracapsular (extranodal) tumor spread; however, pathologic examination is necessary for documentation of the extent of such disease.", - "last_modified" : "2015-05-27T16:20:03.801Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0200\n\nNo extracapsular extension" ], [ "001", "OBSOLETE DATA RETAINED V0200\n\nExtracapsular extension clinically, not assessed pathologically\nNodes described as \"fixed\", not assessed pathologically" ], [ "005", "OBSOLETE DATA RETAINED V0200\n\nExtracapsular extension present pathologically" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 987\n\nNot applicable; no lymph node involvement" ], [ "987", "OBSOLETE DATA CONVERTED AND RETAINED V0200\nData converted from code 888\n\nNot applicable; no lymph node involvement" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "OBSOLETE DATA RETAINED V0200\n\nUnknown if regional lymph node(s) involved, not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpc.json deleted file mode 100644 index 93f3ea705..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Carcinoembryonic Antigen (CEA)", - "notes" : "**Note 1**: Record the interpretation of the highest CEA test results documented in the medical record based on information prior to treatment. The interpretation should be for the same laboratory test recorded in CS Site-Specific Factor 3.", - "last_modified" : "2015-05-27T16:20:03.858Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nTest not done" ], [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined if positive or negative" ], [ "888", "OBSOLETE DATA CONVERTED V0200 \nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "CONVERTED AND CODE REUSED V0203 Prior to V0203 code defined as \"Test ordered, results not in chart\". Cases converted to code 997 with V0203 and code 998 redefined as \"Test not done (test not ordered and not performed)\". \n\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information Not documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpd.json deleted file mode 100644 index ef32e6aae..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Serum Chromogranin A (CgA) Lab Value", - "notes" : "**Note 1**: Chromogranins are a family of proteins in secretory granules found throughout the neuroendocrine system. Serum Chromogranin A (CgA) has been shown to be a useful marker for neuroendocrine tumors.\n\n**Note 2**: Record, to the nearest nanogram/milliliter (ng/ml), the highest CgA lab value documented in the medical record prior to treatment. For example, a pretreatment CgA of 400 ng/ml would be recorded as 400.\n\n**Note 3**: Code 000 is reserved for exactly 0 ng/ml (no measurable amount of CgA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 ng/ml should be coded 001. For code 001, also round 1.1-1.4 ng/ml down to 1 ng/ml. For codes 002-980, round values to the nearest ng/ml.\n\n**Note 4**: Use code 997 if there is no actual pretreatment CgA lab value available but an interpretation of the test result is stated.\n\n**Note 5**: Although CgA is generally a marker for neuroendocrine tumors, if a pretreatment CgA lab value is available for a non-endocrine tumor, code the value. If a pretreament CgA lab value is not available (endocrine or non-endocrine tumor), code 999.", - "last_modified" : "2015-05-27T16:20:03.910Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 nanogram/milliliter (ng/ml)" ], [ "001", "1 or less ng/ml \nStated as less than 1 ng/ml with no exact value" ], [ "002-979", "002-979 ng/ml\n(Exact value to nearest ng/ml)" ], [ "980", "980 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpg.json deleted file mode 100644 index 46c93df73..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpg.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id" : "ssf2_kpg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Systemic Symptoms at Diagnosis", - "notes" : "**Note 1**: Each stage should be classified as either A or B according to the absence or presence of defined constitutional symptoms, such as:\n\n1. Fevers: Unexplained fever with temperature above 38 degrees C;\n2. Night sweats: Drenching sweats that require change of bedclothes;\n3. Weight loss: Unexplained weight loss of more than 10% of the usual body weight in the 6 months prior to diagnosis.\n\n**Note 2**: Pruritus alone does not qualify for B classification, nor does alcohol intolerance, fatigue, or a short, febrile illness associated with suspected infections.\n\n**Note 3**: Use code 000 if the History and Physical, progress notes, or consultations make no mention of B symptoms.", - "footnotes" : "The A or B stage classification is appended to the stage Stage I-IV as shown in the AJCC TNM 6 Stage and AJCC TNM 6 Stage CSv1 tables.", - "last_modified" : "2015-05-27T16:20:03.962Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "stage_classification", - "name" : "Stage Classification", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No B symptoms (asymptomatic)", "VALUE:A" ], [ "010", "Any B symptom(s):\n Night sweats\n Unexplained fever (above 38 degrees C)\n Unexplained weight loss (generally greater than 10% of body weight\n in the six months before admission)\nB symptoms, NOS", "VALUE:B" ], [ "020", "Pruritis (recurrent and unexplained)", "VALUE:A" ], [ "030", "020 + 010\n\nPruritis plus any B symptom(s)", "VALUE:B" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)", "ERROR:" ], [ "999", "Unknown or no information\nNot documented in patient record", "VALUE:BLANK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kph.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kph.json deleted file mode 100644 index e3ed4191c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kph.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kph", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "OBSOLETE - Clinical Assessment of Regional Lymph Nodes", - "notes" : "**Note**: This CS Site-Specific Factor is obsolete beginning with CS Version 2 (codes, code descriptions, and notes). Old data are retained during conversion, but new cases are not coded 000-888 or 999. Use code 988 for this field.\n\n**OBSOLETE V0200 Note**: In the rare instance that the number of clinically positive nodes is stated but a clinical N category is not stated, code 1-3 nodes as 100 (N1), and 4 or more nodes as 200 (N2).", - "last_modified" : "2015-05-27T16:20:04.014Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0200\n\nNodes not clinically evident" ], [ "100", "OBSOLETE DATA RETAINED V0200\n\nClinically N1" ], [ "200", "OBSOLETE DATA RETAINED V0200\n\nClinically N2" ], [ "400", "OBSOLETE DATA RETAINED V0200\n\nClinically positive regional nodes, NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable" ], [ "988", "Not applicable: Information not collected for this schema" ], [ "999", "OBSOLETE DATA RETAINED V0200\n\nUnknown if nodes are clinically evident" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpi.json deleted file mode 100644 index 80776dfaf..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpi.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Clinical Assessment of Regional Lymph Nodes", - "notes" : "**Note 1**: Only include information from imaging and physical examination in this item. Do not include information on regional lymph nodes that is based on surgical observation or diagnostic lymph node biopsy.\n\n**Note 2**: Use code 400 if nodes are involved clinically but there is no indication of number of nodes involved.\n\n**Note 3**: If there is no diagnostic work-up to assess regional lymph nodes, use code 999. Do not apply the inaccessible nodes rules that presumes unmentioned nodes to be negative.", - "last_modified" : "2015-05-27T16:20:04.060Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Nodes not clinically evident" ], [ "100", "Metastasis in 1 to 3 regional lymph nodes determined clinically" ], [ "200", "Metastasis in 4 or more regional lymph nodes determined clinically" ], [ "400", "Clinically positive regional nodes, NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site." ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown if nodes are clinically evident\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpj.json deleted file mode 100644 index 228940561..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Measured Basal Diameter", - "notes" : "**Note**: Code MEASURED BASAL DIAMETER of tumor not size. Record actual measurement in tenths of millimeters (mm) from clinical documentation, or from a pathology report if surgery performed.", - "last_modified" : "2015-05-27T16:20:04.111Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "00.1 - 97.9 millimeters (mm)\n(Exact measurement to nearest tenth of mm) \n\nExamples:\n 001 00.1 mm\n 002 00.2 mm\n 010 01.0 mm\n 074 07.4 mm\n 100 10.0 mm\n 105 10.5 mm\n 979 97.9 mm" ], [ "980", "98.0 mm or larger" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "991", "Described as \"less than 3 mm\"" ], [ "992", "Described as \"greater than 3 mm\" or \"less than or equal to 6mm\"" ], [ "993", "Described as \"greater than 6 mm\" or \"less than or equal to 9mm\"" ], [ "994", "Described as \"greater than 9 mm\" or \"less than or equal to 12 mm\"" ], [ "995", "Described as \"greater than 12 mm\" or \"less than or equal to 15 mm\"" ], [ "996", "Described as \"greater than 15 mm\" or \"less than 18 mm\"" ], [ "997", "Described as \"greater than 18 mm\"" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpk.json deleted file mode 100644 index 1308a712f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Neurovascular Invasion", - "notes" : "**Note 1**: Nerves, veins, and arteries tend to travel together in neurovascular bundles. Neurovascular invasion may be defined as involving the nerve structures and/or vascular structures within these bundles.\n\n**Note 2**: Neurovascular invasion is based on histologic examination of the primary tumor and should be reported where possible. Code as stated in the pathology report.", - "last_modified" : "2015-05-27T16:20:04.158Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Neurovascular invasion not present/not identified" ], [ "010", "Neurovascular invasion present/identified" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpl.json deleted file mode 100644 index eeac27499..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Ki-67/MIB-1 Labeling Index (LI): Brain", - "notes" : "**Note 1**: Ki-67 antigen is a nuclear protein, expressed by cells in all phases of the active cell cycle (G1,S, G2, and M phase) and absent in resting cells (G0 phase). Tumor cells with positive staining for Ki-67 antibodies are actively growing or proliferating. The fraction of Ki-67-positive tumor cells (the Ki-67 labeling index, or LI) may correlate with the clinical course of cancer. The value is expressed as the percentage of carcinoma cells in the tissue sample with positive immunohistochemical staining for the Ki-67 protein. The staining may be performed with the MIB-1 monoclonal antibody, so the test may be referred to as either Ki-67 or MIB-1.\n\n**Note 2**: Code the LI fraction percentage using Ki-67 or MIB-1 (monoclonal antibody) when it is available on the pathology report of the primary tumor. The Ki-67 or MIB-1 LI may also be called the growth fraction or proliferative fraction.\n\n**Note 3**: Record the LI as an exact whole number (000-100). For example, if the LI level is recorded by the pathologist as 15%, assign code 015. If the percentage is documented as 13.7%, round up to 14% and assign code 014. If the percentage is documented as 13.2%, round down to 13% and assign code 013. If the percentage is documented as less than 0.5%, round down to 0% and code 000; if the percentage is documented as greater than 0.5% and less than 1%, round up to 1% and code as 001.\n\n**Note 4**: In the absence of a specific percentage value, use codes 200-400 for an interpretation of the LI.", - "last_modified" : "2015-05-27T16:20:04.215Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0% Labeling index (LI) \nLI stated as \"0%\"\nLI stated as \"less than 0.5%\"" ], [ "001-100", "1-100% \n(Exact labeling index (LI) rounded to nearest percent) \n\nExamples:\n 000 0.2%\n 001 1%\n 010 10%\n 014 13.7%\n 055 55.2%" ], [ "200", "LI stated as normal and no percentage provided" ], [ "300", "LI stated as slightly elevated and no percentage provided" ], [ "400", "LI stated as elevated and no percentage provided" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988.\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart\nTest performed, interpretation not recorded" ], [ "998", "No histologic examination of primary site\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record " ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpn.json deleted file mode 100644 index f8547216b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpn.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1**: Most female primary peritoneal tumors have clinical course and treatment options similar to ovarian tumors.\n\n**Note 2**: It is very unlikely for this disease to have a FIGO Stage II or lower.\n\n**Note 3**: Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it. Do not attempt to code FIGO stage based only on T, N, and M. If you cannot make a determination of stage based on the previous information, use code 999, stage unknown.", - "last_modified" : "2015-05-27T16:20:04.263Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage I [NOS]" ], [ "110", "FIGO Stage IA" ], [ "120", "FIGO Stage IB" ], [ "130", "FIGO Stage IC" ], [ "200", "FIGO Stage II [NOS]" ], [ "210", "FIGO Stage IIA" ], [ "220", "FIGO Stage IIB" ], [ "230", "FIGO Stage IIC" ], [ "300", "FIGO Stage III [NOS]" ], [ "310", "FIGO Stage IIIA" ], [ "320", "FIGO Stage IIIB" ], [ "330", "FIGO Stage IIIC" ], [ "400", "FIGO Stage IV" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "987", "OBSOLETE DATA RETAINED V0204 \n\nCancer in situ (intraepithelial, noninvasive, preinvasive)" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpo.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpo.json deleted file mode 100644 index d9852dd8f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpo.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Peritoneal Cytology", - "notes" : "**Note**: Cytologic examination for malignant cells may be performed on ascites (fluid that has accumulated in the peritoneal cavity in excess amount) or the fluid (saline) that is introduced into the peritoneal cavity, and then removed by suction. The introduction of fluid may be termedperitoneal washing or peritoneal lavage.", - "last_modified" : "2015-05-27T16:20:04.306Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative" ], [ "010", "Positive, malignant cells positive" ], [ "020", "Test done, results suspicious or undetermined if negative or positive" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in patient record" ], [ "998", "Test not done (test not ordered and not performed)\nNo pathologic specimen available" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpp.json deleted file mode 100644 index 4789bef01..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpp.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Clinical Assessment of Regional Lymph Nodes", - "notes" : "**Note 1**: Clinically evident regional lymph nodes are based on information from the diagnostic workup. This might include: physical examination, imaging, diagnostic lymph node biopsy and exploratory surgery (without a resection). \n\n**Note 2**: In the rare instance that the number of clinically positive nodes is stated but a clinical N category is not stated, use the code that reflects the most specific statement about the number of nodes.\n\n**Note 3**: If there is no diagnostic work-up to assess regional lymph nodes, use code 999. Do not apply the inaccessible nodes rule that presumes unmentioned nodes to be negative.", - "last_modified" : "2015-05-27T16:20:04.352Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Nodes not clinically evident; imaging of regional nodes performed and nodes not mentioned" ], [ "010", "Metastasis in 1 regional node, determined clinically\n\nStated as clinical N1a" ], [ "020", "Metastases in 2-3 regional nodes, determined clinically\n\nStated as clinical N1b" ], [ "030", "OBSOLETE DATA REVIEWED AND CHANGED V0204\nClinical assessment of lymph nodes only are coded in this site-specific factor, tumor deposits are only assessed histologically. Cases coded to 030 should be reviewed and recoded to the clinical lymph node involvement. Tumor deposit information is coded in CS Lymph Nodes and CS Site-Specific Factor 4.\n\nTumor deposits without regional nodal metastasis\n\nStated as clinical N1c" ], [ "100", "Metastases in 1-3 regional nodes, determined clinically\n\nStated as clinical N1 [NOS]" ], [ "110", "Metastases in 4-6 regional nodes, determined clinically\n\nStated as clinical N2a" ], [ "120", "Metastases in 7 or more regional nodes, determined clinically\n\nStated as clinical N2b" ], [ "200", "Metastases in 4 or more regional nodes, determined clinically Stated as clinical N2 [NOS]" ], [ "400", "Clinically positive regional node(s), NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Regional lymph node(s) involved pathologically, clinical assessment not stated\nUnknown if regional lymph nodes clinically evident\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpq.json deleted file mode 100644 index 0b72f5611..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Fibrosis Score", - "notes" : "**Note**: AJCC classifies fibrosis scores 0-4 (none to moderate fibrosis) as F0, and fibrosis scores 5-6 (severe fibrosis or cirrhosis) as F1. Fibrosis score is also called Ishak score.", - "last_modified" : "2015-05-27T16:20:04.397Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "F0: Fibrosis score 0-4 \n(None to moderate fibrosis)" ], [ "001", "F1: Fibrosis score 5-6 \n(Severe fibrosis or cirrhosis)" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpr.json deleted file mode 100644 index 98649f5e3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_kpr.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Pelvic Nodal Status", - "notes" : "**Note**: The pelvic nodal status corresponds to the assessment method recorded in CS Site-Specific Factor 3.", - "last_modified" : "2015-05-27T16:20:04.444Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative pelvic lymph nodes" ], [ "010", "Positive pelvic lymph nodes" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "Pelvic lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_sbi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_sbi.json deleted file mode 100644 index 733517293..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_sbi.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_sbi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Pleural/Elastic Layer Invasion (PL) by H and E or Elastic Stain", - "notes" : "**Note 1**: AJCC Staging Manual 7th Edition includes a standardized and precise definition of pleural/elastic layer invasion (PL). There are four categories:\n\n* PL0 - Tumor that is surrounded by lung parenchyma or invades superficially into the pleural connective tissue beneath the elastic layer but falls short of completely traversing the elastic layer of the pleura\n* PL1 - Tumor that invades beyond the elastic layer\n* PL2 - Tumor that extends to the surface of the visceral pleura\n* PL3 - Tumor that invades the parietal pleura\n\nCategories PL1 and PL2 are considered pleural invasion for staging and are classified as at least a T2. PL3 is classified as at least a T3. PL0 is not considered pleural invasion for TNM staging, and the T category is assigned based on other criteria. Other criteria can also raise the T category for PL1-3 tumors. \nWhen pathologists have difficulty assessing the relationship of the tumor to the elastic layer on routine hematoxylin and eosin (H and E) stains, they may perform a special elastic stain to make the determination.\n\n**Note 2**: Code results as stated on the pathology report. Code 998 if no histologic examination of pleura to assess pleural layer invasion. \n\n**Note 3**: If pleural/elastic layer invasion (PL) is not mentioned on the pathology report, code 999. \n\n**Note 4**: An FNA is not a histologic specimen and is not adequate to assess pleural layer invasion. If only an FNA is available, use code 998.\n\n**Note 5**: Metastasis to the pleura, that is pleural tumor foci or nodules separate from direct invasion, are coded in CS Mets at DX (code 24).", - "last_modified" : "2015-05-27T16:20:04.495Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "PL 0\nNo evidence of visceral pleural invasion (PL)\nTumor does not completely traverse the elastic layer" ], [ "010", "PL 1\nInvasion beyond the visceral elastic pleura, but limited to the pulmonary pleura\nTumor extends through the elastic layer" ], [ "020", "PL 2\nInvasion to the surface of the pulmonary pleura\nTumor extends to the surface of the visceral pleura" ], [ "030", "PL 3\nTumor extends to the parietal pleura" ], [ "040", "Invasion of pleura, NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No histologic examination of pleura to assess pleural layer invasion" ], [ "999", "Unknown if PL present\nPL/elastic layer cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_sbz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_sbz.json deleted file mode 100644 index 6ccb5b2c2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf2_sbz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_sbz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF2", - "title" : "CS Site-Specific Factor 2", - "subtitle" : "Clinical Assessment of Regional Lymph Nodes", - "notes" : "**Note 1**: Only include information from imaging and physical examination in this item. Do not include information on regional lymph nodes that is based on surgical observation or diagnostic lymph node biopsy.\n\n**Note 2**: Use code 400 if regional lymph nodes are involved clinically but there is no indication of the number of nodes involved.\n\n**Note 3**: If there is no diagnostic work-up to assess regional lymph nodes, use code 999. Do not apply the inaccessible nodes rule that presumes unmentioned nodes to be negative.", - "last_modified" : "2015-05-27T16:20:04.543Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Nodes not clinically evident; imaging of regional nodes performed and nodes not mentioned" ], [ "100", "Metastasis in 1 3 regional lymph nodes, determined clinically\n\nStated as clinical N1" ], [ "200", "Metastasis in 4 or more regional lymph nodes, determined clinically\n\nStated as clinical N2" ], [ "400", "Clinically positive regional nodes, NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Regional lymph node(s) involved, clinical assessment not stated\nUnknown if regional nodes clinically evident\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laa.json deleted file mode 100644 index 333abb4f5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_laa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Clinical Status of Lymph Node Mets", - "notes" : "**Note 1**: AJCC defines microscopic lymph node metastases or \"micrometastases\" as those which are clinically inapparent by palpation and/or imaging but are pathologically positive. Micrometastases are diagnosed after sentinel or other node biopsy or elective lymphadenectomy. \"Macrometastases\" are clinically detectable nodal metastases confirmed by therapeutic lymphadenectomy or when nodal metastasis exhibits gross extracapsular extension. \n\n**Note 2**: Use code 005 if nodes are described as clinically negative and are also negative on pathologic examination, or no pathologic examination is performed. Use code 010 if nodes are described as clinically negative but are positive on pathologic examination.\n\n**Note 3**: Use codes 043-050 if nodes are described as clinically positive.\n\n**Note 4**: Use code 100 to code information about clinically apparent in transit metastasis with or without occult nodal metastases. Information about clinically inapparent in transit metastasis (\"occult\" metastasis found only on pathologic examination) is not collected in this site-specific factor.\n\n**Note 5**: Use code 150 to code information about nodal involvement with in transit satellite metastases that are both clinically apparent.\n\n**Note 6**: Use code 999 if no information is available about the clinical evaluation of lymph nodes or in transit metastasis.\n\n**Note 7**: Codes 043-050 and 150 are appropriate for cases with neoadjuvant treatment, where nodes are described as clinically positive before treatment but are shown to be either negative or positive on pathologic examination after treatment.", - "last_modified" : "2015-05-27T16:20:04.593Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0204\n\nNo lymph node metastasis" ], [ "001", "OBSOLETE DATA CONVERTED V0203\nSee code 010\n\nClinically occult (microscopic) lymph node metastases only" ], [ "002", "OBSOLETE DATA CONVERTED V0203\nSee code 020\n\nClinically apparent (macroscopic) lymph node metastases" ], [ "005", "Clinically negative lymph node metastasis\nAND \nNo pathologic examination performed\nOr unknown if pathologic examination performed\nOr nodes negative on pathologic examination" ], [ "010", "Clinically occult (microscopic) lymph node metastasis only\n(Nodes negative on clinical examination, positive on pathologic examination)" ], [ "020", "OBSOLETE DATA RETAINED V0204\nClinically apparent (macroscopic) lymph node metastasis" ], [ "043", "Clinically apparent nodal metastasis in 1 regional node" ], [ "045", "Clinically apparent nodal metastasis in 2-3 regional nodes" ], [ "048", "Clinically apparent nodal metastasis in 4+ regional nodes" ], [ "050", "Clinically apparent nodal metastasis in regional node(s) but number not specified" ], [ "100", "Clinically apparent in transit metastasis\nWITH or WITHOUT occult lymph node metastases" ], [ "150", "Clinically apparent in transit metastasis and clinically apparent nodal metastasis (at least one node)" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "999", "Unknown clinically if nodes are involved\nUnknown or no information about clinical nodal involvement\nClinical nodal involvement not documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lab.json deleted file mode 100644 index 4ab9afa16..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lab.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id" : "ssf3_lab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "CS Extension - Pathologic Extension", - "notes" : "**Note 1**: Include information from prostatectomy and autopsy in this field and not in CS Extension - Clinical Extension. Only use histologic information from prostatectomy, including simple prostatectomy with negative margins, and autopsy in this field. Information from biopsy of extraprostatic sites is coded in CS Extension - Clinical Extension; information from needle core biopsy of prostate is coded in CS Site-Specific Factor 14.\n\n**Note 2**: Code 970 if there is no prostatectomy performed within the first course of treatment.\n\n**Note 3**: Limit information in this field to first course of treatment in the absence of disease progression.\n\n**Note 4**: AJCC considers \"in situ carcinoma of prostate gland\" an impossible diagnosis. Any case so coded is mapped to TX for AJCC stage and in situ Summary Stage.\n\n**Note 5**: When prostate cancer is an incidental finding during a prostatectomy for other reasons (for example, a cystoprostatectomy for bladder cancer), use the appropriate code for the extent of disease found (for example, involvement in one lobe, both lobes, or more).\n\n**Note 6**: When the apical margin, distal urethral margin, bladder base margin, or bladder neck margin is involved and there is no extracapsular extension, use code 400.\n\n**Note 7**: Involvement of the prostatic urethra does not alter the extension code.\n\n**Note 8**: \"Frozen pelvis\" is a clinical term which means tumor extends to pelvic sidewall(s). In the absence of a more detailed statement of involvement, assign this to code 600.\n\n**Note 9**: For information regarding stage calculations, refer to CS Extension - Clinical Extension Note 8 and the Special Calculation extra tables.", - "footnotes" : "For this site, extension is coded in two CS fields: CS Extension - Clinical Extension and CS Site-Specific Factor 3 - Pathologic Extension. The mapping values for the T category for AJCC stage, SS77, and SS2000 and the associated c, p, yp, or a indicator are assigned based on the values in CS Extension - Clinical Extension, CS Tumor Size/Ext Eval, and CS Site-Specific Factor 3 - Pathologic Extension as shown in the Special Calculation Table for TNM 7 Invasive/Unknown Pathologic Extension Eval, Special Calculation Table for TNM 7 Non-Invasive Pathologic Extension, Special Calculation Table for TNM 6 Invasive/Unknown Pathologic Extension Eval, Special Calculation Table for TNM 6 Non-Invasive Pathologic Extension, and Special Calculation Table for SEER Summary Stage.", - "last_modified" : "2015-05-27T16:20:04.641Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - }, { - "key" : "t77_d", - "name" : "Summary Stage 1977 T", - "type" : "DESCRIPTION" - }, { - "key" : "t2000_d", - "name" : "Summary Stage 2000 T", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:TX", "VALUE:TX", "IS", "IS" ], [ "020", "OBSOLETE DATA CONVERTED V0200 \nSee code 200\n\nInvolvement in one lobe, NOS", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "021", "OBSOLETE DATA CONVERTED V0200 \nSee code 210\n\nInvolves one half of one lobe or less", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "022", "OBSOLETE DATA CONVERTED V0200\nSee code 220\n\nInvolves more than one half of one lobe, but not both lobes", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "023", "OBSOLETE DATA CONVERTED V0200 \nSee code 230\n\nInvolves both lobes", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "030", "OBSOLETE DATA CONVERTED V0200\nSee code 300\n\nLocalized, NOS\nConfined to prostate, NOS\nIntracapsular involvement only\nStage B, NOS", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "031", "OBSOLETE DATA REVIEWED AND CHANGED V0102 \n\nInto prostatic apex/arising in prostatic apex, NOS\n(See Site-Specific Factor 4)", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "032", "OBSOLETE DATA CONVERTED V0200 \nSee code 320\n\nInvasion into (but not beyond) prostatic capsule", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "033", "OBSOLETE DATA REVIEWED AND CHANGED V0102\n \nArising in prostatic apex \n(See Site-Specific Factor 4)", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "034", "OBSOLETE DATA REVIEWED AND CHANGED V0102\n\nExtending into prostatic apex \n(See Site-Specific Factor 4)", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "040", "OBSOLETE DATA CONVERTED V0200\nSee code 400 \n\nNo extracapsular extension but margins involved (See Note 5)", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "041", "OBSOLETE DATA CONVERTED V0200\nSee code 410\n\nExtension to periprostatic tissue (Stage C1):\n Extracapsular extension (beyond prostatic capsule), NOS\n Through capsule, NOS", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "042", "OBSOLETE DATA CONVERTED V0200\nSee code 420\n\nUnilateral extracapsular extension", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "043", "OBSOLETE DATA CONVERTED V0200\nSee code 430\n \nBilateral extracapsular extension", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "045", "OBSOLETE DATA CONVERTED V0200\nSee code 485\nExtension to seminal vesicle(s) (Stage C2)", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "048", "OBSOLETE DATA CONVERTED V0200\nSee code 480\n\nExtracapsular extension and margins involved \n(Excluding seminal vesicle margins, see code 045)", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "050", "OBSOLETE DATA CONVERTED V0200\nSee code 500\n\nExtension to or fixation to adjacent structures other than seminal vesicles:\n Bladder neck\n Bladder, NOS\n Fixation, NOS\n Rectovesical (Denonvillier's) fascia\n Rectum; external sphincter", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "052", "OBSOLETE DATA CONVERTED V0200\nSee code 520\n\nLevator muscle\nSkeletal muscle, NOS\nUreter", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "060", "OBSOLETE DATA CONVERTED V0200\nSee code 600\n\nExtension to or fixation to pelvic wall or pelvic bone\n\"Frozen pelvis\", NOS (See Note 8)", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "070", "OBSOLETE DATA CONVERTED V0200\nSee code 700\n\nFurther contiguous extension (Stage D2) including to:\n Bone\n Penis\n Sigmoid colon\n Soft tissue other than periprostatic tissue\n Other organs", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "095", "OBSOLETE DATA CONVERTED V0200 \nSee code 950\n\nNo evidence of primary tumor", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "096", "OBSOLETE DATA CONVERTED V0200 \nSee code 960 \n\nUnknown if prostatectomy done", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "097", "OBSOLETE DATA CONVERTED V0200 \nSee code 970 \nNo prostatectomy done within first course of treatment\n", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "098", "OBSOLETE DATA CONVERTED V0200\nSee code 980\n\nProstatectomy performed, but not considered first course of treatment \nbecause of, for example; disease progression.", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "099", "OBSOLETE DATA CONVERTED V0200\nSee code 990\n\nProstatectomy done:\n Extension unknown\n Not documented in patient record\n Primary tumor cannot be assessed", "ERROR:", "ERROR:", "ERROR", "ERROR" ], [ "200", "Involves one lobe/side, NOS", "VALUE:T2NOS", "VALUE:T2NOS", "L", "L" ], [ "210", "Involves one half of one lobe/side or less \n\nStated as pT2a with no other information on pathologic extension", "VALUE:T2a", "VALUE:T2a", "L", "L" ], [ "220", "Involves more than one half of one lobe/side, but not both lobes/sides \n\nStated as pT2b with no other information on pathologic extension", "VALUE:T2b", "VALUE:T2b", "L", "L" ], [ "230", "Involves both lobes/sides\n\nStated as pT2c with no other information on pathologic extension", "VALUE:T2c", "VALUE:T2c", "L", "L" ], [ "300", "Localized, NOS \nConfined to prostate, NOS Intracapsular involvement only \n\nStated as pT2 [NOS] with no other information on pathologic extension", "VALUE:T2NOS", "VALUE:T2NOS", "L", "L" ], [ "320", "Invasion into (but not beyond) prostatic capsule", "VALUE:T2NOS", "VALUE:T2NOS", "L", "L" ], [ "330", "320 + 210 \n\nInvasion into (but not beyond) prostatic capsule plus involves one half of one lobe/side or less", "VALUE:T2a", "VALUE:T2a", "L", "L" ], [ "340", "320 + 220\n\nInvasion into (but not beyond) prostatic capsule plus involves more than one half of one lobe/side, but not both lobes/sides", "VALUE:T2b", "VALUE:T2b", "L", "L" ], [ "350", "320 + 230\n\nInvasion into (but not beyond) prostatic capsule plus involves both lobes/sides", "VALUE:T2c", "VALUE:T2c", "L", "L" ], [ "400", "No extracapsular extension but specific margins involved (see Note 6)", "VALUE:T2NOS", "VALUE:T2NOS", "L", "RE" ], [ "402", "400 + 210\n\nNo extracapsular extension but specific margins involved plus involves one half of one lobe/side or less ", "VALUE:T2a", "VALUE:T2a", "L", "RE" ], [ "404", "400 + 220\n\nNo extracapsular extension but specific margins involved plus involves more than one half of one lobe/side, but not both lobes/sides", "VALUE:T2b", "VALUE:T2b", "L", "RE" ], [ "406", "400 + 230\n\nNo extracapsular extension but specific margins involved plus involves both lobes/sides", "VALUE:T2c", "VALUE:T2c", "L", "RE" ], [ "410", "OBSOLETE DATA REVIEWED V0203\nSee codes 415 and 483\n\nExtension to periprostatic tissue:\n Extracapsular extension (beyond prostatic capsule), NOS\n Through capsule, NOS\nStated as pT3a with no other information on pathologic extension\nStage C1, NOS", "VALUE:T3a", "VALUE:T3a", "RE", "RE" ], [ "415", "Extension to periprostatic tissue:\n Extracapsular extension (beyond prostatic capsule), NOS\n Through capsule, NOS", "VALUE:T3a", "VALUE:T3a", "RE", "RE" ], [ "420", "Unilateral extracapsular extension", "VALUE:T3a", "VALUE:T3a", "RE", "RE" ], [ "430", "Bilateral extracapsular extension", "VALUE:T3a", "VALUE:T3a", "RE", "RE" ], [ "480", "Extracapsular extension and specific margins involved (see Note 6)", "VALUE:T3a", "VALUE:T3a", "RE", "RE" ], [ "482", "Microscopic bladder neck involvement", "VALUE:T3a", "VALUE:T4", "RE", "RE" ], [ "483", "Stated as pT3a with no other information on pathologic extension", "VALUE:T3a", "VALUE:T3a", "RE", "RE" ], [ "485", "Extension to seminal vesicle(s)\n\nStated as pT3b with no other information on pathologic extension", "VALUE:T3b", "VALUE:T3b", "RE", "RE" ], [ "490", "485 + 482\n\nExtension to seminal vesicle(s) plus microscopic bladder neck involvement", "VALUE:T3b", "VALUE:T4", "RE", "RE" ], [ "495", "Stated as pT3 [NOS] with no other information on pathologic extension", "VALUE:T3NOS", "VALUE:T3NOS", "RE", "RE" ], [ "500", "Extension to or fixation to adjacent\nstructures other than seminal vesicles:\n Bladder, NOS\n Fixation, NOS\n Rectovesical (Denonvillier's) fascia\n Rectum; external sphincter", "VALUE:T4", "VALUE:T4", "RE", "RE" ], [ "510", "Extraprostatic urethra (membranous urethra)", "VALUE:T4", "VALUE:T4", "RE", "RE" ], [ "520", "Levator muscle\nSkeletal muscle, NOS\nUreter", "VALUE:T4", "VALUE:T4", "D", "RE" ], [ "600", "Extension to or fixation to pelvic wall or pelvic bone\n\"Frozen pelvis\", NOS (see Note 8)", "VALUE:T4", "VALUE:T4", "D", "D" ], [ "700", "Further contiguous extension including:\n Bone\n Penis\n Sigmoid colon\n Soft tissue other than periprostatic tissue\n Other organs", "VALUE:T4", "VALUE:T4", "D", "D" ], [ "750", "Stated as pT4 with no other information on pathologic extension", "VALUE:T4", "VALUE:T4", "D", "D" ], [ "950", "No evidence of primary tumor", "VALUE:T0", "VALUE:T0", "U", "U" ], [ "960", "Unknown if prostatectomy done", "VALUE:TX", "VALUE:TX", "U", "U" ], [ "970", "No prostatectomy done within first course of treatment", "VALUE:TX", "VALUE:TX", "U", "U" ], [ "980", "Prostatectomy performed, but not considered first course of treatment, for example performed after disease progression", "VALUE:TX", "VALUE:TX", "U", "U" ], [ "985", "Autopsy performed but extension unknown", "VALUE:TX", "VALUE:TX", "U", "U" ], [ "990", "Prostatectomy done:\n Extension not stated\n Primary tumor cannot be assessed\n Not documented in patient record", "VALUE:TX", "VALUE:TX", "U", "U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lac.json deleted file mode 100644 index 9f31be6fa..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lac.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Number of Positive Ipsilateral Level I-II Axillary Lymph Nodes", - "notes" : "**Note 1**: Include only the number of positive ipsilateral level I and II axillary lymph nodes and intramammary lymph nodes in this field. Intramammary nodes, located within the breast, are not the same as internal mammary nodes, located along the sternum.\n\n**Note 2**: Record this field even if there has been preoperative treatment.\n\n**Note 3**: Lymph nodes with only isolated tumor cells (ITCs) are not counted as positive lymph nodes. Only lymph nodes with metastases greater than 0.2 mm (micrometastases or larger) should be counted as positive. If the pathology report indicates that axillary nodes are positive but size of the metastases is not stated, assume the metastases are greater than 0.2 mm and code the lymph nodes as positive in this field.\n\n**Note 4**: This field is based on pathologic information only. If no ipsilateral axillary nodes are removed for examination, or if an ipsilateral axillary lymph node drainage area is removed but no lymph nodes are found, code 098.\n\n**Note 5**: Instructions in the CSv2 General Rules Part I for Regional Nodes Positive also apply to this field (although the codes in Regional Nodes Positive are 2 digits rather than 3). When positive ipsilateral axillary lymph nodes are coded in this field, the number of positive ipsilateral axillary lymph nodes must be less than or equal to the number coded in Regional Nodes Positive (i.e., the number of positive ipsilateral axillary nodes will always be a subset of the number of positive regional nodes.", - "last_modified" : "2015-05-27T16:20:04.699Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All ipsilateral axillary nodes examined negative" ], [ "001-089", "1 - 89 nodes positive \n(Exact number of nodes positive)" ], [ "090", "90 or more nodes positive" ], [ "095", "Positive aspiration of lymph node(s)" ], [ "097", "Positive nodes, number unspecified" ], [ "098", "No axillary nodes examined" ], [ "099", "Unknown if axillary nodes are positive\nNot documented in patient record" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lad.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lad.json deleted file mode 100644 index 39aae8d6c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lad.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lad", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "OBSOLETE - Lactate Dehydrogenase (LDH)", - "notes" : "**Note 1**: This CS Site-Specific Factor is obsolete beginning with CS Version 2 (codes and descriptions). Old data are retained, but new cases are not coded with this Factor. Use code 988 for this field.", - "last_modified" : "2015-05-27T16:20:04.752Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0200 \n\nTest not done (SX)" ], [ "020", "OBSOLETE DATA RETAINED V0200\nWithin normal limits (S0)" ], [ "040", "OBSOLETE DATA RETAINED V0200 \n\nRange 1 (S1) less than 1.5 x N\n(N equals the upper limit of normal for LDH)" ], [ "050", "OBSOLETE DATA RETAINED V0200 \n\nRange 2 (S2) 1.5 - 10 x N\n(N equals the upper limit of normal for LDH)" ], [ "060", "OBSOLETE DATA RETAINED V0200 \n\nRange 3 (S3) greater than 10 x N\n(N equals the upper limit of normal for LDH)" ], [ "080", "OBSOLETE DATA RETAINED V0200 \n\nOrdered, but results not in chart" ], [ "988", "Not applicable: Information not collected for this schema" ], [ "999", "OBSOLETE DATA RETAINED V0200 \n\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laf.json deleted file mode 100644 index cd3adce2f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_laf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Vascular Invasion", - "notes" : "**Note 1**: Large vessel (venous) invasion may have a worse prognosis than small vessel (capillary/lymphatic) invasion.\n\n**Note 2**: Record large vessel (venous) invasion as documented in the pathology report. Assign code 000 if surgical resection of the primary site is performed, the pathology report is available for review, and invasion of adrenal vein, renal vein, inferior vena cava (IVC), or large vessel, NOS is not mentioned.", - "last_modified" : "2015-05-27T16:20:04.795Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Vascular invasion not present/not identified" ], [ "010", "Invasion of adrenal vein only" ], [ "020", "Invasion of renal vein only" ], [ "030", "Invasion of inferior vena cava (IVC) only" ], [ "040", "020 + 010\n\nInvasion of renal vein and adrenal vein" ], [ "050", "030 + 010\n\nInvasion of IVC and adrenal vein" ], [ "060", "030 + 020\n\nInvasion of IVC and renal vein" ], [ "070", "030 + 020 + 010\n\nInvasion of IVC, renal vein, and adrenal vein" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "991", "Large vessel venous invasion, vein not specified" ], [ "998", "No surgical resection of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lah.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lah.json deleted file mode 100644 index 1d553d433..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lah.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lah", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Ipsilateral Adrenal Gland Involvement", - "notes" : "**Note 1**: Information about contiguous ipsilateral adrenal gland involvement is collected in CS Extension, and noncontiguous ipsilateral adrenal gland involvement is collected in CS Mets as DX, as elements in anatomic staging. This information is also collected in this field as it may have an independent effect on prognosis. \n\n**Note 2**: Record ipsilateral adrenal gland involvement as documented in the pathology report. Assign code 000 if histologic examination of a specimen including tissue from the adrenal gland is performed, the pathology report is available for review, and involvement of the adrenal gland is not mentioned.", - "last_modified" : "2015-05-27T16:20:04.850Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Ipsilateral adrenal gland involvement not present/not identified" ], [ "010", "Contiguous involvement of ipsilateral adrenal gland" ], [ "020", "Noncontiguous involvement of ipsilateral adrenal gland" ], [ "030", "020 + 010\n\nNoncontiguous plus contiguous involvement of ipsilateral adrenal gland" ], [ "040", "Involvement of ipsilateral adrenal gland, not stated whether contiguous or noncontiguous" ], [ "888", "OBSOLETE DATA CONVERTED V0200 \nSee code 988 \n\nNot applicable for this schema" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No histologic examination to determine ipsilateral adrenal gland involvement" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lai.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lai.json deleted file mode 100644 index 6795722b4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lai.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lai", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Extranodal Extension of Regional Lymph Nodes", - "notes" : "**Note 1**: Code the status of extranodal extension whether assessed clinically or pathologically of any involved regional lymph node(s) coded in CS Lymph Nodes . Do not code extranodal extension for any nodes coded in CS Mets at DX.\n\n**Note 2**: A statement of the presence or absence of extranodal extension in a pathology report takes priority over clinical assessment.\n\n**Note 3**: If nodes are involved but the clinical documentation and/or pathologic documentation does not indicate extranodal extension, assign code 010 (no extranodal extension documented on the available reports).\n\n**Note 4**: If the only documentation is a reference to clinically or pathologically involved nodes with no reference to extranodal extension, assign code 030 (no physical examination/imaging report and/or no pathology report available).", - "last_modified" : "2015-05-27T16:20:04.898Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph nodes involved" ], [ "010", "Extranodal extension not present\nRegional nodes described as mobile" ], [ "020", "Extranodal extension present\nRegional nodes described as fixed or matted" ], [ "030", "Regional nodes involved, unknown if extranodal extension" ], [ "888", "OBSOLETE DATA CONVERTED V0200 \nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lao.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lao.json deleted file mode 100644 index 38d8b7867..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lao.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lao", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Family History of Retinoblastoma", - "notes" : "**Note**: Record any mention of positive family history of retinoblastoma in the medical record.", - "last_modified" : "2015-05-27T16:20:04.952Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No family history of retinoblastoma" ], [ "010", "Positive family history of retinoblastoma" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lap.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lap.json deleted file mode 100644 index be94a85d8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lap.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ssf3_lap", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Clinical Status of Lymph Nodes", - "last_modified" : "2015-05-27T16:20:04.998Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative clinical or radiographic examination of lymph nodes " ], [ "010", "Positive clinical or radiographic examination of lymph nodes" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Nodes examined clinically and/or radiographically, unknown results" ], [ "998", "No clinical or radiographic examination of lymph nodes" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laq.json deleted file mode 100644 index a83eeabc0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_laq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Primary Tumor Location", - "notes" : "**Note 1**: The fimbria is the fringe of tissue around the ostium of the fallopian tube, in the direction of the ovary. The infundibulum is a funnel-shaped expansion of the tube which opens in the fimbria. Medial to the infundibulum is the ampulla, which forms over half the length of the tube. Medial to the ampulla is the isthmus, which forms one-third of the tube. The interstitial segment continues from the isthmus through the uterine wall to empty into the uterine cavity.\n\n**Note 2**: Use code 999 if primary site is described as fallopian tube but no information is available about the segment in which the tumor arose.", - "last_modified" : "2015-05-27T16:20:05.042Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Tumor located in fimbrial segment." ], [ "020", "Tumor located in interstitial segment." ], [ "030", "Tumor located in isthmic segment." ], [ "040", "Tumor located in ampullary segment." ], [ "050", "Tumor located in infundibular segment." ], [ "060", "Tumor in tubal location other than fimbrial segment, NOS" ], [ "100", "OBSOLETE DATA CONVERTED V0203 See code 010 Tumor located in thefimbrial segment." ], [ "110", "OBSOLETE DATA CONVERTED V0203 See code 020 Tumor located in the interstitial segment." ], [ "120", "OBSOLETE DATA CONVERTED V0203 See code 030 Tumor located in the isthmic segment." ], [ "130", "OBSOLETE DATA CONVERTED V0203 See code 040 Tumor located in the ampullary segment." ], [ "140", "OBSOLETE DATA CONVERTED V0203 See code 050 Tumor located in the infundibular segment." ], [ "200", "OBSOLETE DATA CONVERTED V0203 See code 060 Tumor in tubal location other than the fimbrial segment, NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Tumor location cannot be assessed.\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lat.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lat.json deleted file mode 100644 index f067ba70c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lat.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lat", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "History of Asbestos Exposure", - "notes" : "**Note 1**: The most common risk factor for malignant mesotheliomas is previous exposure to asbestos. The latency period between asbestos exposure and the development of mesothelioma is generally 20 years or more.\n\n**Note 2**: Document any stated asbestos exposure based on documentation from medical record.", - "last_modified" : "2015-05-27T16:20:05.098Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of asbestos exposure/negative" ], [ "010", "History of asbestos exposure/positive " ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_law.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_law.json deleted file mode 100644 index 09d939e29..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_law.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_law", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Grade - Melanoma Origin", - "notes" : "**Note 1**: Grade coded in this field describes whether the melanoma arises from a pre-existing lesion (primary acquired melanosis, PAM) or appears \"de novo\", without any pre-existing lesion. This is not the same as the histologic grade defined in the ICD-O, designating degrees of differentiation from normal tissue such as \"well differentiated\" or \"poorly differentiated\", which is coded in the traditional grade field.\n\n**Note 2**: Tumors of Grade 0, Primary acquired melanosis without cellular atypia, and Grade 1, Conjunctival nevus, are not reportable to the cancer registry. Tumors of Grade 2, Primary acquired melanosis with cellular atypia (epithelial disease only) are reportable and may be coded as 8741/2.\n\n**Note 3**: Code this field only from a statement of grade describing PAM with atypia or de novo melanoma, documented by the managing physician or the pathologist in the record. Do not interpret or attempt to assign grade based on the histologic diagnosis of the tumor.", - "last_modified" : "2015-05-27T16:20:05.151Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "020", "Grade 2 \nPrimary acquired melanosis (PAM) with cellular atypia (epithelial disease only)\nConfined to epithelium" ], [ "030", "Grade 3 \nPAM with epithelial cellular atypia and invasive melanoma" ], [ "040", "Grade 4 \nDe novo malignant melanoma" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this site-specific factor\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No pathologic examination of primary site tumor" ], [ "999", "Grade X\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lay.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lay.json deleted file mode 100644 index d14cd68b7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lay.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lay", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Percent Necrosis Post Neoadjuvant Chemotherapy", - "notes" : "**Note**: Record exact percentage value of the tumor necrosis post neo-adjuvant chemotherapy as recorded in the pathology report.", - "last_modified" : "2015-05-27T16:20:05.194Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No tumor necrosis" ], [ "001-100", "1 - 100 percent\n(Exact percentage of tumor necrosis to nearest percent)\n\nExamples:\n 001 0.1 to 0.9%\n 005 5% \n 010 10% \n 099 99%" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Tumor necrosis present, percent not stated" ], [ "998", "No histologic examination of primary site\nAND/OR\nNo neoadjuvant chemotherapy" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laz.json deleted file mode 100644 index 38e3b79fc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_laz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_laz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Ulceration and Edema", - "notes" : "**Note 1**: Tumor associated edema or ulceration is considered a poor risk.\n\n**Note 2**: Tumor associated edema or ulceration is usually histologically confirmed and documented in the pathology report. If tumor associated edema or ulceration is diagnosed clinically without pathologic confirmation, use code 040.\n\n**Note 3**: If there is no documentation or no mention of ulceration or edema in the pathology report or clinical examination, assume ulceration and edema are not present and use code 000.", - "last_modified" : "2015-05-27T16:20:05.236Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No ulceration or edema present" ], [ "010", "Ulceration present" ], [ "020", "Edema present" ], [ "030", "Ulceration and edema present" ], [ "040", "Clinical diagnosis of edema and/or ulceration" ], [ "888", "OBSOLETE DATA CONVERTED V0200\n\nSee code 988: Not applicable for this schema" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lba.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lba.json deleted file mode 100644 index 78ec092fe..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lba.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lba", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Clinical Evaluation of Lymph Nodes", - "notes" : "**Note 1**: Code the method used to determine clinically positive regional lymph nodes. Code the type of clinical assessment, whether pathologic assessment of nodes was performed with either negative or positive results.\n\n**Note 2**: Use code 000 if physical or radiologic examination is documented with no statement of positive nodal involvement. Use code 010 or 020 if the results of either physical or radiologic examination are positive, whether or not the results of the other examination are documented. Use code 997 if documentation indicates either type of examination was performed but no results are available. Use code 999 if no documentation of physical or radiologic examination is available in the medical record.", - "last_modified" : "2015-05-27T16:20:05.283Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involvement of regional lymph nodes on physical and/or radiologic examination" ], [ "010", "Positive involvement of regional nodes on physical examination only" ], [ "020", "Positive involvement of regional nodes on radiologic examination only" ], [ "030", "Positive involvement of regional nodes on physical and radiologic examination" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site." ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Physical and/or radiologic examination performed, results not available" ], [ "998", "No clinical evaluation of nodal involvement" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lbb.json deleted file mode 100644 index 73e46ffbf..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lbb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lbb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Multiple Myeloma Terminology", - "notes" : "**Note 1**: Descriptors for multiple myeloma (9732) only are collected. Code 987, not applicable, for histologies 9731 and 9734. \n\n**Note 2**: A number of terms are used to characterize early multiple myeloma at time of diagnosis. All these terms are reportable according to the new Hematopoietic and Lymphoid Neoplasms rules effective for cases diagnosed January 1, 2010 and later. \n\n**Note 3**: Code the terminology used by a physician at the time of diagnosis. The terminology may be taken from sections of the record other than a pathology report. Do not change the code in this Site-Specific Factor if a term used at a later time indicates progression to a more aggressive disease course..", - "last_modified" : "2015-05-27T16:20:05.326Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Multiple myeloma/Plasma cell myeloma with no other modifiers\nMultiple myeloma, NOS; Myeloma, NOS" ], [ "010", "Asymptomatic myeloma" ], [ "020", "Early or evolving myeloma" ], [ "030", "Inactive, indolent, or smoldering myeloma " ], [ "080", "Other terminology describing myeloma" ], [ "100", "Any combination of terms in codes 010-080" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n \nNot applicable for this site" ], [ "987", "Not applicable: Use for codes 9731 (Plasmacytoma, NOS) and 9734 (Plasmacytoma, extramedullary) \nNot multiple myeloma or plasma cell myeloma (9732)" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lbc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lbc.json deleted file mode 100644 index 26a9cca27..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lbc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lbc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "International Prognostic Index (IPI)", - "notes" : "**Note 1**: The International Prognostic Index ( IPI) has been developed for lymphomas and predicts outcome based on the following adverse factors:\n\n* Age more than 60 years \n* Ann Arbor Stage III or IV\n* More than 1 extranodal site involved \n* Patient's performance status (Eastern Cooperative Oncology Group, ECOG) 2, 3, or 4\n* Elevated serum lactate dehydrogenase (LDH) level\n\n**Note 2**: Record the IPI as stated in the medical record. Do not calculate points or assign risk. Only record points or risk if a physician has documented them. Use points over risk if both are available.\n\n**Note 3**: There are now two indices/scores associated with lymphoma: The International Prognostic Index (IPI, CS Site-Specific Factor 3) and the Follicular Lymphoma International Prognostic Index (FLIPI, CS Site-Specific Factor 4). Physicians may use these indices/scores interchangeably. For coding:\n\n* Score identified: Value in appropriate CS SSF, 999 in other CS SSF\n* Score not identified, point value 5 or less: 999 in both CS SSF", - "last_modified" : "2015-05-27T16:20:05.372Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 points" ], [ "001", "1 point" ], [ "002", "2 points" ], [ "003", "3 points" ], [ "004", "4 points" ], [ "005", "5 points" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "990", "Stated as low risk (0-1 point)" ], [ "991", "Stated as low intermediate risk (2 points)" ], [ "992", "Stated as intermediate risk (3 points)" ], [ "993", "Stated as high risk (4-5 points)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lna.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lna.json deleted file mode 100644 index 2c9771440..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lna.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf3_lna", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "last_modified" : "2015-05-27T16:20:05.417Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n Not applicable for this site" ], [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpa.json deleted file mode 100644 index 75ca4d2a9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Levels I-III, Lymph Nodes for Head and Neck", - "notes" : "**Note 1**: CS Site-Specific Factors 3-6 are used to code the presence or absence of lymph node involvement in each of 7 different levels and other groups defined by AJCC. The definitions of the levels are the same for all applicable head and neck sites. One digit is used to represent lymph nodes of a single level, with the digits of CS Site-Specific Factor 3 representing lymph nodes of Levels I-III; the digits of CS Site-Specific Factor 4 representing lymph nodes of Levels IV and V and the retropharyngeal nodes; the digits of CS Site-Specific Factor 5 representing lymph nodes of Levels VI and VII and the facial nodes; and the digits of CS Site-Specific Factor 6 representing the remaining Other groups as defined by AJCC. In each digit, a code 1 means yes, the nodes are involved.\n\n**Note 2**: If involved regional node levels are documented as a range, or if the involved nodes overlap multiple levels, code all levels specified.\n\n**Note 3**: If regional node(s) are known to be positive but the level of node(s) involved is unknown, use code 000.", - "last_modified" : "2015-05-27T16:20:05.461Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involvement in Levels I, II, or III lymph nodes" ], [ "100", "Level I lymph node(s) involved" ], [ "010", "Level II lymph node(s) involved" ], [ "001", "Level III lymph node(s) involved" ], [ "110", "Levels I and II lymph nodes involved" ], [ "101", "Levels I and III lymph nodes involved" ], [ "011", "Levels II and III lymph nodes involved" ], [ "111", "Levels I, II and III lymph nodes involved" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "999", "Unknown if regional lymph nodes involved, not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpc.json deleted file mode 100644 index 6a802871f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Carcinoembryonic Antigen (CEA) Lab Value", - "notes" : "**Note 1**: CEA is a tumor marker that has value in the management of certain malignancies.\n\n**Note 2**: The same laboratory test should be used to record information in CS Site-Specific Factors 2 and 3.\n\n**Note 3**: Record to the nearest tenth in nanograms/milliliter (ng/ml)the highest CEA lab value documented in the medical record prior to treatment. For example, code a pretreatment CEA of 7 ng/ml as 070.\n\n**Note 4**: Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of CEA). Do not round tiny values down to 0.0 ng/ml; any measured value less than or equal to 0.1 ng/ml should be coded 001. For code 001, also round 0.11 0.14 ng/ml down to 0.1 ng/ml. For codes 002-979, round values to the nearest tenth of a ng/ml.\n\n**Note 5**: For an uncertain value, record the stated closest value. For example, code a value stated as \"less than 0.5 ng/ml\" as 005.", - "last_modified" : "2015-05-27T16:20:05.510Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 nanograms/milliliter (ng/ml) exactly" ], [ "001", "0.1 or less ng/ml; stated as less than 0.1 ng/ml with no exact value" ], [ "002-979", "0.2 - 97 .9 ng/ml\n(Exact value to nearest tenth in ng/ml)" ], [ "980", "98.0 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpd.json deleted file mode 100644 index cb0e39b10..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1**: The mitotic count reflects the potential aggressiveness or prognosis of endocrine pancreatic tumors. This site-specific factor presumes the denominator of 10 high power fields (HPF) or its equivalent, so just the numerator (the mitotic count) is coded here. For other schemas in which mitotic count is collected, the denominator may vary. An HPF usually has a magnification objective of 40 (a 40x field). \n\n**Note 2**: Record mitotic count, to the nearest tenth of a mitosis, as documented in the pathology report. For example, a mitotic count of 6/10 HPF.\n\n**Note 3**: Code the specific mitotic count only per 10 HPF; assume the denominator is 10 HPF if not specified. Use code 996 only if the mitotic count is expressed with a specific denominator other than 10 HPF.\n\n**Note 4**: Although mitotic count is generally documented for neuroendocrine tumors, if the mitotic count is available for a non-endocrine tumor, code the count. If it is not available (endocrine or non-endocrine tumor), code 999.", - "last_modified" : "2015-05-27T16:20:05.564Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 mitoses per 10 high-power fields (HPF) (40x field)\nMitoses absent, no mitoses present, no mitotic activity" ], [ "001-008", "0.1 - 0.8 mitosis per 10 HPF (40x field)\n0.1 - 0.8 mitosis per " ], [ "009", "0.9 mitosis per 10 HPF (40x field)\n\nStated as less than 1 mitosis per 10 HPF (40x field)" ], [ "010-100", "1-10 mitoses per 10 HPF (40x field)" ], [ "110", "11 or more mitoses per 10 HPF (40x field)" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Specific number not stated, described less than or equal to 4 \n mitoses per 10 HPF (40x field)\n\nStated as low mitotic count or rate with no specific number" ], [ "992", "Specific number not stated, described as more than 4 mitoses per 10 HPF (40x field)\n\nStated as high mitotic count or rate with no specific number" ], [ "995", "OBSOLETE DATA CONVERTED V0203\nSee code 992\n\nSpecific number not stated, described as greater than 4 mitoses per 10 high-power fields (40x field)\nSpecific number not stated, described as greater than 4 mitoses per square millimeters" ], [ "996", "Mitotic count described with denominator other than 10 HPF (40x field) " ], [ "998", "No histologic specimen from primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpe.json deleted file mode 100644 index eb5218165..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Carcinoembryonic Antigen (CEA) Lab Value", - "notes" : "**Note 1**: CEA is a tumor marker that has value in the management of certain malignancies.\n\n**Note 2**: The same laboratory test should be used to record information in CS Site-Specific Factors 1 and 3.\n\n**Note 3**: Record to the nearest tenth in nanograms/milliliter (ng/ml) the highest CEA lab value documented in the medical record prior to treatment. For example, code a pretreatment CEA of 7 ng/ml as 070. \n\n**Note 4**: Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of CEA). Do not round tiny values down to 0.0 ng/ml; any measured value less than or equal to 0.1 ng/ml should be coded 001. For code 001, also round 0.11-0.14 ng/ml down to 0.1 ng/ml. For codes 002-980, round values to the nearest tenth of a ng/ml.\n\n**Note 5**: For an uncertain value, record the stated closest value. For example, code a value stated as \"less than 0.5 ng/ml\" as 005.", - "last_modified" : "2015-05-27T16:20:05.611Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 nanograms/milliliter (ng/ml) exactly" ], [ "001", "0.1 or less ng/ml\nStated as less than 0.1 ng/ml with no exact value" ], [ "002-979", "0.2-97.9 ng/ml\n(Exact value to nearest tenth in ng/ml)" ], [ "980", "98.0 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lph.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lph.json deleted file mode 100644 index cf7d07100..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lph.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lph", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "International Prognostic Index (IPI)", - "notes" : "**Note 1**: The International Prognostic Index (IPI) has been developed for lymphomas and predicts outcome based on the following adverse factors:\n\n* Age greater than or equal to 60 years \n* Ann Arbor Stage III or IV\n* More than 1 extranodal site involved \n* Patient's performance status (Eastern Cooperative Oncology Group, ECOG) 2, 3, or 4\n* Elevated serum lactate dehydrogenase (LDH) level\n\n**Note 2**: Record the IPI as stated in the medical record. Do not calculate points or assign risk. Only record points or risk if a physician has documented them. Use points over risk if both are available.\n\n**Note 3**: There are now three indices/scores associated with lymphoma: The International Prognostic Index (IPI, CS Site-Specific Factor 3), the Follicular Lymphoma International Prognostic Index (FLIPI, CS Site-Specific Factor 4), and the International Prognostic Score (IPS) (for Hodgkin lymphomas, CS Site-Specific Factor 5). Physicians may use these indices/scores interchangeably. For coding:\n\n* Score identified: Value in appropriate CS SSF, 999 in other two CS SSF\n* Score not identified, point value 5 or less: 999 in all three CS SSF\n* Score not identified, point value 6 or 7: Value in CS SSF 5 (IPS), 999 in other two CS SSF.", - "last_modified" : "2015-05-27T16:20:05.661Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 points" ], [ "001", "1 point" ], [ "002", "2 points" ], [ "003", "3 points" ], [ "004", "4 points" ], [ "005", "5 points" ], [ "988", "Not applicable: Information not collected for this case (If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "990", "Stated as low risk (0-1 point)" ], [ "991", "Stated as low intermediate risk (2 points)" ], [ "992", "Stated as intermediate risk (3 points)" ], [ "993", "Stated as high risk (4-5 points)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpj.json deleted file mode 100644 index 5d86a3b98..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Measured Thickness (Depth)", - "notes" : "**Note**: Code MEASURED THICKNESS (Depth) of tumor not size. Record actual measurement in tenths of millimeters (mm) from clinical documentation, or from a pathology report if surgery performed.", - "last_modified" : "2015-05-27T16:20:05.705Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "00.1 - 97.9 millimeters (mm)\n(Exact measurement to nearest tenth of mm) \n\nExamples:\n 001 00.1 mm\n 002 00.2 mm\n 010 01.0 mm\n 074 07.4 mm\n 100 10.0 mm\n 105 10.5 mm\n 979 97.9millimeters" ], [ "980", "98.0 mm or larger" ], [ "988", "Not applicable: Information not collected for this site-specific factor\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Microinvasion; microscopic focus or foci only and no size given" ], [ "991", "Described as \"less than 3 mm\"" ], [ "992", "Described as \"greater than 3 mm\" or \"less than or equal to 6mm\"" ], [ "993", "Described as \"greater than 6 mm\" or \"less than or equal to 9mm\"" ], [ "994", "Described as \"greater than 9 mm\" or \"less than or equal to 12 mm\"" ], [ "995", "Described as \"greater than 12 mm\" or \"less than or equal to 15 mm\"" ], [ "996", "Described as \"greater than 15 mm\"" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpk.json deleted file mode 100644 index 0ca280ba8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Bone Invasion", - "notes" : "**Note**: Record bone invasion as determined by imaging only for the primary tumor. Imaging methodologies include computed tomography (CT) scans and magnetic resonance imaging (MRI)", - "last_modified" : "2015-05-27T16:20:05.752Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Bone invasion not present/not identified on imaging" ], [ "010", "Bone invasion present/identified on imaging" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No imaging done for bone invasion" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpl.json deleted file mode 100644 index 3cb55e76d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Number of Regional Lymph Nodes with Extracapsular Tumor", - "notes" : "**Note**: Record the information from the pathology report. If no nodes are removed, code 998. If the pathology report is unavailable, use code 997.", - "last_modified" : "2015-05-27T16:20:05.797Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All nodes examined negative for cancer involvement\nAll nodes examined negative for extracapsular tumor" ], [ "001-089", "1 - 89 nodes positive for extracapsular tumor \n(Exact number of nodes with extracapsular tumor.)" ], [ "090", "Nodes positive for extracapsular tumor, number unknown or not stated" ], [ "097", "OBSOLETE DATA CONVERTED V0203\nSee code 990\n\nPositive nodes, not stated if extracapsular tumor present" ], [ "098", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nNo nodes examined" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Positive nodes, not stated if extracapsular tumor present" ], [ "997", "Histopathologic examination of lymph nodes performed, results not available" ], [ "998", "No histopathologic examination of lymph nodes" ], [ "999", "Unknown if regional lymph node(s) involved pathologically \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpm.json deleted file mode 100644 index 3348fd67b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpm.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Functional Neurologic Status - Karnofsky Performance Scale (KPS)", - "notes" : "**Note 1**: The Karnofsky Performance Scale (KPS) allows patients to be classified according to their functional impairment. This classification can be used to compare effectiveness of different therapies and to assess prognosis for individual patients. The lower the Karnofsky scale value, the worse the predicted survival for most serious illnesses.\n\n**Note 2**: Record the KPS only as specifically documented in the patient's record by the physician. Do not attempt to determine the KPS from other information in the record. If the KPS value is expressed in terms of a range, use the higher value. For example, use code 80 if the physician states \"The patient's Karnofsky score is between 70 and 80\".\n\n**Note 3**: For reference only, the classification scale is listed here:\n\n 0 Dead\n 10 Moribund, fatal processes progressing rapidly\n 20 Very sick, hospitalization necessary; active supportive treatment necessary\n 30 Severely disabled; hospitalization is indicated although death not imminent\n 40 Disabled; requires special care and assistance\n 50 Requires considerable assistance and frequent medical care\n 60 Requires occasional assistance, but is able to care for most personal needs\n 70 Cares for self; unable to carry on normal activity or do active work\n 80 Normal activity with effort; some signs or symptoms of disease\n 90 Able to carry on normal activity; minor signs or symptoms of disease.\n 100 Normal; no complaints; no evidence of disease\n\n**Note 4**: In CS Version 2, V0201 and V0202, the range of codes 000-100 was shown in a single row in this table. This range code has been replaced by specific codes for the 11 allowable KPS values described in Note 3. Any case with a different code must be reviewed and recoded in CS Version 2, V0203.", - "last_modified" : "2015-05-27T16:20:05.841Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Karnofsky Performance Scale (KPS) 0" ], [ "010", "KPS 10" ], [ "020", "KPS 20" ], [ "030", "KPS 30" ], [ "040", "KPS 40" ], [ "050", "KPS 50" ], [ "060", "KPS 60" ], [ "070", "KPS 70" ], [ "080", "KPS 80" ], [ "090", "KPS 90" ], [ "100", "KPS 100" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpp.json deleted file mode 100644 index 7773cd623..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpp.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Number of Positive Pelvic Nodes", - "notes" : "**Note**: Record the number of positive pelvic lymph nodes documented in the patient record. Apply the same instructions in General Rules, Part I for coding Regional Nodes Positive to this data item.", - "last_modified" : "2015-05-27T16:20:05.892Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All pelvic nodes examined negative." ], [ "001-089", "1 - 89 pelvic nodes positive \n(Exact number of nodes positive)" ], [ "090", "90 or more pelvic nodes positive" ], [ "095", "Positive aspiration or core biopsy of pelvic lymph node(s)" ], [ "097", "Positive pelvic nodes, number not specified" ], [ "098", "No pelvic nodes examined" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown if pelvic nodes are positive \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpq.json deleted file mode 100644 index 0f4f2c505..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Clinical Status of Lymph Node Mets", - "notes" : "**Note 1**: AJCC defines microscopic lymph node metastases or \"micrometastases\" as those which are clinically inapparent by palpation and/or imaging but are pathologicaly positive. Micrometastases are diagnosed after sentinel or other node biopsy or elective lymphadnectomy. \"Macrometastases\" are clinically detectable nodal metastases confirmed by needle biopsy or therapeutic lymphadenectomy.\n\n**Note 2**: Use code 005 if nodes are described as clinically negative. Use code 010 if nodes are described as clinically negative but are positive on pathologic examination.\n\n**Note 3**: Use code 020 if nodes are described as clinically positive.\n\n**Note 4**: Use code 100 to code information about clinically apparent in transit metastasis with or without occult nodal metastasis. Information about clinically inapparent in transit metastasis (\"occult\" metastasis found only on pathologic examination) is not collected in this site-specific factor.\n\n**Note 5**: Use code 150 to code information about nodal involvement with in transit satellite metastasis that are both clinically apparent.\n\n**Note 6**: Codes 020 and 150 are appropriate for cases with neoadjuvant treatment, where nodes are described as clinically positive before treatment but are shown to be either negative or positive on pathologic examination after treatment. \n\n**Note 7**: Use code 999 if no information is available about the clinical evaluation of lymph nodes or in transit metastasis.", - "last_modified" : "2015-05-27T16:20:05.935Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0204\n\nNo lymph node metastases\nIn-transit metastases WITHOUT regional lymph node involvement" ], [ "005", "Clinically negative lymph node metastases\nAND\nNo pathologic examination performed\nOr unknown if pathologic examination performed\nor nodes negative on pathologic examination" ], [ "010", "Clinically occult lymph node metastases only (micrometastases) \nIsolated tumor cells (ITCs) only" ], [ "020", "Clinically apparent lymph node metastases (macrometastases)" ], [ "100", "Clinically apparent in transit metastasis\nWITH or WITHOUT occult nodal metastasis" ], [ "150", "Clinically apparent in transit metastasis and clinically apparent nodal metastasis" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown clinically if regional lymph nodes involved\nUnknown or no information about clinical nodal involvement\nClinical nodal involvement not documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpr.json deleted file mode 100644 index 7c8c9df4f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpr.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Measured Thickness (Depth)", - "notes" : "**Note**: Code measured thickness (depth) of tumor not size. Record actual measurement in tenths of millimeters (mm) from clinical documentation, or from a pathology report if surgery performed.", - "last_modified" : "2015-05-27T16:20:05.980Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "00.1 - 97.9 millimeters (mm)\n(Exact measurement to nearest tenth of mm)\n \nExamples:\n 001 00.1 mm \n 002 00.2 mm\n 010 01.0 mm \n 074 07.4 mm\n 100 10.0 mm\n 105 10.5 mm \n 979 97.9 mm" ], [ "980", "98.0 mm or larger" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Microinvasion; microscopic focus or foci only and no size given" ], [ "991", "Described as \"less than 3 mm\"" ], [ "992", "Described as \"greater than 3 mm\" or \"less than or equal to 6 mm\"" ], [ "993", "Described as \"greater than 6 mm\" or \"less than or equal to 9 mm\"" ], [ "994", "Described as \"greater than 9 mm\" or \"less than or equal to 12 mm\"" ], [ "995", "Described as \"greater than 12 mm\" or \"less than or equal to 15 mm\"" ], [ "996", "Described as \"greater than 15 mm\"" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lps.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lps.json deleted file mode 100644 index 5053b9ed9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lps.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lps", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Alpha Fetoprotein (AFP) Lab Value", - "notes" : "**Note 1**: The same laboratory test should be used to record information in CS Site-Specific Factor 1 and CS Site-Specific Factor 3.\n\n**Note 2**: Record the range for the highest alpha fetoprotein (AFP) lab value in nanograms/ milliliter (ng/ml) as documented in the patient record prior to treatment. The lab value may be recorded in a lab report, history and physical, or clinical statement in the pathology report. For example, code a pretreatment AFP of 20 ng/ml as 002; code pretreatment AFP of 11,000 ng/ml as 200.\n\n**Note 3**: A lab value expressed in micrograms per liter (ug/l) is equivalent to the same value expressed in ng/ml.\n\n**Note 4**: Code any measured value less than or equal to 1.0 ng/ml as 001.\n\n**Note 5**: If the test was done but the actual value is not stated, code 997.", - "last_modified" : "2015-05-27T16:20:06.024Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 nanograms/milliliter (ng/ml)" ], [ "001", "1 - 19 ng/ml" ], [ "002", "20 - 29 ng/ml" ], [ "003", "30 - 39 ng/ml " ], [ "004", "40 - 49 ng/ml" ], [ "005", "50 - 59 ng/ml" ], [ "006", "60 - 69 ng/ml" ], [ "007", "70 - 79 ng/ml" ], [ "008", "80 - 89 ng/ml" ], [ "009", "90 - 99 ng/ml" ], [ "010", "100 - 199 ng/ml" ], [ "020", "200 - 299 ng/ml" ], [ "030", "300 - 399 ng/ml" ], [ "040", "400 - 499 ng/ml" ], [ "050", "500 - 599 ng/ml" ], [ "060", "600 - 699 ng/ml" ], [ "070", "700 - 799 ng/ml" ], [ "080", "800 - 899 ng/ml" ], [ "090", "900 - 999 ng/ml" ], [ "100", "1000 - 1999 ng/ml" ], [ "120", "2000 - 2999 ng/ml" ], [ "130", "3000 - 3999 ng/ml" ], [ "140", "4000 - 4999 ng/ml" ], [ "150", "5000 - 5999 ng/ml" ], [ "160", "6000 - 6999 ng/ml" ], [ "170", "7000 - 7999 ng/ml" ], [ "180", "8000 - 8999 ng/ml" ], [ "190", "9000 - 9999 ng/ml" ], [ "200", "Greater than or equal to 10,000 ng/ml" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpt.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpt.json deleted file mode 100644 index 982116c06..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpt.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpt", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Residual Tumor Status and Size After Primary Cytoreduction Surgery", - "notes" : "**Note 1**: The surgery to remove as much cancer in the pelvis and/or abdomen as possible, reducing the \"bulk\" of the cancer, is called \"debulking\" or \"cytoreductive\" surgery. It is performed when there is widespread evidence of advanced stage of ovarian cancer with obvious spread to other organs outside the ovary, typically in the upper abdomen, intestines, the omentum (the fat pad suspended from the transverse colon like an apron), the diaphragm, or liver. \n\n**Note 2**: Optimal debulking is described as removal of all tumor except for residual nodules that measure no more than 1centimeter (cm) in maximum diameter.\n\n**Note 3**: According to the AJCC, \"In advanced disease, the most important prognostic factor is the residual disease after the initial surgical management.\" Neoadjuvant chemotherapy may be given to obtain optimum cytoreduction with less aggressive surgery; Recording whether the patient received chemotherapy prior to this procedure provides necessary data for treatment and survival analysis. \n\n**Note 4**: Record the largest residual tumor nodule(s) remaining after primary cytoreductive surgery, as described by the surgeon in the operative report.", - "last_modified" : "2015-05-27T16:20:06.070Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No gross residual tumor nodules" ], [ "010", "Residual tumor nodule(s) 1 centimeter (cm) or less\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "020", "Residual tumor nodule(s) 1 cm or less\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "030", "Residual tumor nodule(s) greater than 1 cm\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "040", "Residual tumor nodule(s) greater than 1 cm\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Macroscopic residual tumor, size not stated\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "991", "Macroscopic residual tumor nodule(s), size not stated\nAND neoadjuvantchemotherapy given (before surgery)" ], [ "992", "Procedure described as optimal debulking and size of residual tumor nodule(s) not given \nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "993", "Procedure described as optimal debulking and size of residual tumor nodule(s) not given \nAND neoadjuvant chemotherapy given (before surgery)" ], [ "998", "No cytoreductive surgery performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpu.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpu.json deleted file mode 100644 index 03c103d9d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_lpu.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "Assessment Method of Pelvic Nodal Status", - "notes" : "**Note 1**: The assessment results are recorded in CS-Site Specific Factor 2.\n\n**Note 2**: Use the highest applicable code.", - "last_modified" : "2015-05-27T16:20:06.118Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nLymph nodes were not assessed" ], [ "010", "Clinical assessment" ], [ "020", "Radiography, imaging \n(Ultrasound (US), Computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))" ], [ "030", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "040", "Lymphadenectomy\nExcisional biopsy or resection with microscopic confirmation" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_sstg_lab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_sstg_lab.json deleted file mode 100644 index 8edea7f12..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf3_sstg_lab.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id" : "ssf3_sstg_lab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF3", - "title" : "CS Site-Specific Factor 3", - "subtitle" : "CS Extension - Pathologic Extension", - "notes" : "**Note 1**: Include information from prostatectomy and autopsy in this field and not in CS Extension - Clinical Extension. Only use histologic information from prostatectomy, including simple prostatectomy with negative margins, and autopsy in this field. Information from biopsy of extraprostatic sites is coded in CS Extension - Clinical Extension; information from needle core biopsy of prostate is coded in CS Site-Specific Factor 14.\n\n**Note 2**: Code 970 if there is no prostatectomy performed within the first course of treatment.\n\n**Note 3**: Limit information in this field to first course of treatment in the absence of disease progression.\n\n**Note 4**: AJCC considers \"in situ carcinoma of prostate gland\" an impossible diagnosis. Any case so coded is mapped to TX for AJCC stage and in situ Summary Stage.\n\n**Note 5**: When prostate cancer is an incidental finding during a prostatectomy for other reasons (for example, a cystoprostatectomy for bladder cancer), use the appropriate code for the extent of disease found (for example, involvement in one lobe, both lobes, or more).\n\n**Note 6**: When the apical margin, distal urethral margin, bladder base margin, or bladder neck margin is involved and there is no extracapsular extension, use code 400.\n\n**Note 7**: Involvement of the prostatic urethra does not alter the extension code.\n\n**Note 8**: \"Frozen pelvis\" is a clinical term which means tumor extends to pelvic sidewall(s). In the absence of a more detailed statement of involvement, assign this to code 600.\n\n**Note 9**: For information regarding stage calculations, refer to CS Extension - Clinical Extension Note 8 and the Special Calculation extra tables.\n\n**Note 10**: This version of the table is only used to calculate Summary Stage T values.", - "footnotes" : "For this site, extension is coded in two CS fields: CS Extension - Clinical Extension and CS Site-Specific Factor 3 - Pathologic Extension. The mapping values for the T category for AJCC stage, SS77, and SS2000 and the associated c, p, yp, or a indicator are assigned based on the values in CS Extension - Clinical Extension, CS Tumor Size/Ext Eval, and CS Site-Specific Factor 3 - Pathologic Extension as shown in the Special Calculation Table for TNM 7 Invasive/Unknown Pathologic Extension Eval, Special Calculation Table for TNM 7 Non-Invasive Pathologic Extension, Special Calculation Table for TNM 6 Invasive/Unknown Pathologic Extension Eval, Special Calculation Table for TNM 6 Non-Invasive Pathologic Extension, and Special Calculation Table for SEER Summary Stage.", - "last_modified" : "2015-05-27T16:20:06.164Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "t77", - "name" : "Summary Stage 1977 T", - "type" : "ENDPOINT" - }, { - "key" : "t2000", - "name" : "Summary Stage 2000 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "VALUE:IS", "VALUE:IS" ], [ "020", "ERROR:", "ERROR:" ], [ "021", "ERROR:", "ERROR:" ], [ "022", "ERROR:", "ERROR:" ], [ "023", "ERROR:", "ERROR:" ], [ "030", "ERROR:", "ERROR:" ], [ "031", "ERROR:", "ERROR:" ], [ "032", "ERROR:", "ERROR:" ], [ "033", "ERROR:", "ERROR:" ], [ "034", "ERROR:", "ERROR:" ], [ "040", "ERROR:", "ERROR:" ], [ "041", "ERROR:", "ERROR:" ], [ "042", "ERROR:", "ERROR:" ], [ "043", "ERROR:", "ERROR:" ], [ "045", "ERROR:", "ERROR:" ], [ "048", "ERROR:", "ERROR:" ], [ "050", "ERROR:", "ERROR:" ], [ "052", "ERROR:", "ERROR:" ], [ "060", "ERROR:", "ERROR:" ], [ "070", "ERROR:", "ERROR:" ], [ "095", "ERROR:", "ERROR:" ], [ "096", "ERROR:", "ERROR:" ], [ "097", "ERROR:", "ERROR:" ], [ "098", "ERROR:", "ERROR:" ], [ "099", "ERROR:", "ERROR:" ], [ "200", "VALUE:L", "VALUE:L" ], [ "210", "VALUE:L", "VALUE:L" ], [ "220", "VALUE:L", "VALUE:L" ], [ "230", "VALUE:L", "VALUE:L" ], [ "300", "VALUE:L", "VALUE:L" ], [ "320", "VALUE:L", "VALUE:L" ], [ "330", "VALUE:L", "VALUE:L" ], [ "340", "VALUE:L", "VALUE:L" ], [ "350", "VALUE:L", "VALUE:L" ], [ "400", "VALUE:L", "VALUE:RE" ], [ "402", "VALUE:L", "VALUE:RE" ], [ "404", "VALUE:L", "VALUE:RE" ], [ "406", "VALUE:L", "VALUE:RE" ], [ "410", "VALUE:RE", "VALUE:RE" ], [ "415", "VALUE:RE", "VALUE:RE" ], [ "420", "VALUE:RE", "VALUE:RE" ], [ "430", "VALUE:RE", "VALUE:RE" ], [ "480", "VALUE:RE", "VALUE:RE" ], [ "482", "VALUE:RE", "VALUE:RE" ], [ "483", "VALUE:RE", "VALUE:RE" ], [ "485", "VALUE:RE", "VALUE:RE" ], [ "490", "VALUE:RE", "VALUE:RE" ], [ "495", "VALUE:RE", "VALUE:RE" ], [ "500", "VALUE:RE", "VALUE:RE" ], [ "510", "VALUE:RE", "VALUE:RE" ], [ "520", "VALUE:D", "VALUE:RE" ], [ "600", "VALUE:D", "VALUE:D" ], [ "700", "VALUE:D", "VALUE:D" ], [ "750", "VALUE:D", "VALUE:D" ], [ "950", "VALUE:U", "VALUE:U" ], [ "960", "VALUE:U", "VALUE:U" ], [ "970", "VALUE:U", "VALUE:U" ], [ "980", "VALUE:U", "VALUE:U" ], [ "985", "VALUE:U", "VALUE:U" ], [ "990", "VALUE:U", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maa.json deleted file mode 100644 index 7367a0aae..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_maa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Serum Lactate Dehydrogenase (LDH)", - "notes" : "**Note 1**: Per AJCC, p. 334: \"To confirm the elevated serum [lactate dehydrogenase] LDH for staging purposes, it is recommended to obtain two or more determinations obtained more than 24 [hours] h apart, since an elevated serum LDH on a single determination can be falsely positive as a result of hemolysis or other factors unrelated to melanoma metastases.\"\n\n**Note 2**: Positive results from two laboratory tests are required to code a positive value in this field. If the first test is positive and the second test is negative, code the results as negative or within normal limits, unless an additional test with positive results is performed. If the first test is positive and there is no second test, record 998 if it is known that a second test was not performed; code 999 if there is no information about a second test. If the only test is negative or within normal limits, code the results from the single test.\n\n**Note 3**: Record the range for the positive LDH value prior to treatment or within six weeks of diagnosis. Give priority to the first positive test performed. The information should be taken from the same test used to code CS Site-Specific Factor 5 and CS Site-Specific Factor 6.", - "last_modified" : "2015-05-27T16:20:06.211Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "CONVERTED AND CODE REUSED V0203\nPrior to V0203 code defined as \"Test not done, test was not ordered and was not performed\". Cases converted to code 998 with V0203 and code 000 redefined as \"Within normal limits\".\n\nWithin normal limits" ], [ "002", "OBSOLETE DATA CONVERTED V0203\nSee code 000\n\nWithin normal limits" ], [ "004", "OBSOLETE DATA CONVERTED V0203\nSee code 010\n\nRange 1: Less than 1.5 x upper limit of normal for lactate dehydrogenase (LDH) assay\n\nStated as elevated, NOS" ], [ "005", "OBSOLETE DATA CONVERTED V0203\nSee code 020\n\nRange 2: 1.5 - 10 x upper limit of normal for LDH assay" ], [ "006", "OBSOLETE DATA CONVERTED V0203\nSee code 030\n\nRange 3: More than 10 x upper limit of normal for LDH assay" ], [ "008", "OBSOLETE DATA CONVERTED V0203\nSee code 997\n\nOrdered, but results not in chart" ], [ "010", "Range 1: Less than 1.5 x upper limit of normal for lactate dehydrogenase (LDH) assay\n\nStated as elevated, NOS" ], [ "020", "Range 2: 1.5 - 10 x upper limit of normal for LDH assay" ], [ "030", "Range 3: More than 10 x upper limit of normal for LDH assay" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mab.json deleted file mode 100644 index a68a8864f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mab.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Immunohistochemistry (IHC) of Regional Lymph Nodes", - "notes" : "**Note 1**: Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 millimeter (mm), usually detected by immunohistochemistry (IHC), hematoxylin and eosin stains (H and E) (see CS Lymph Nodes code 050), or molecular (MOL) methods (Reverse Transcription Polymerase Chain Reaction, RT-PCR) (see CS Site-Specific Factor 5). ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction.)\n\n**Note 2**: When CS Lymph Nodes is coded 000, use codes 000-009 only to report results of IHC. Otherwise code 987 in this field.\n\n**Note 3**: If it is unstated whether or not tests are done for IHC, assume they are not done.\n\n**Note 4**: If the record states N0(i+) and no other information, code to 009.", - "last_modified" : "2015-05-27T16:20:06.259Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Regional lymph nodes negative on routine hematoxylin and eosin (H and E), no immunohistochemistry (IHC) \nOR unknown if tested for isolated tumor cells (ITCs) by IHC studies \nNodes clinically negative, not examined pathologically" ], [ "001", "Regional lymph nodes negative on routine H and E, IHC studies done, negative for tumor" ], [ "002", "Regional lymph nodes negative on routine H and E, IHC studies done, positive for ITCs \n(Tumor cell clusters not greater than 0.2 millimeter (mm))" ], [ "009", "Regional lymph nodes negative on routine H and E, positive for tumor detected by IHC, size of tumor cell clusters or metastases not stated\n\nStated as N0(i+) with no further information on regional lymph nodes" ], [ "888", "OBSOLETE DATA CONVERTED V0200 \nSee code 987\n\nNot applicable: CS Lymph Nodes not coded 000" ], [ "987", "Not applicable: CS Lymph Nodes not coded 000" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mac.json deleted file mode 100644 index aa48579c8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mac.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ssf4_mac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Radical Orchiectomy Performed", - "last_modified" : "2015-05-27T16:20:06.302Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Radical orchiectomy not performed " ], [ "001", "OBSOLETE DATA CONVERTED V0203\nSee code 010\n\nRadical orchiectomy performed" ], [ "010", "Radical orchiectomy performed" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "999", "Unknown if radical orchiectomy performed" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maf.json deleted file mode 100644 index 0e6932749..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_maf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Prostate Apex Involvement (OBSOLETE: Prostatic Acid Phosphatase (PAP))", - "notes" : "**Note 1**: This CS Site-Specific Factor is collected for cases diagnosed through 12/31/2009. It is not required by any standard setter for cases diagnosed 01/01/2010 forward; use code 988.\n\n**Note 2**: Apex involvement was considered in prostate stage classification in the SEER Historic Local/Regional/Distant staging system, although it is not a staging element in AJCC 6 or 7 staging. This item allows collection of information about the involvement of the prostate apex with cancer, both clinically and at prostatectomy, useful for long-term trend analysis of SEER data for prostate anatomic stage.\n\n**Note 3**: Cancers arising in the apex were localized, and cancers extending to the prostatic apex were regional in Historic staging. The code digits 3 and 4, described in Note 4, provide specific information about involvement of apex for Historic stage, while the code digit 2 indicates apex involvement but does not distinguish between arising in and extending to.\n\n**Note 4**: In codes 110-550, the first digit represents the clinical status of apex involvement found on needle core biopsy, imaging or physical examination. The second digit represents apex involvement found at prostatectomy. The third digit is always 0.\n\n _____ _____ __0__\n Clinical Apex Pathologic Apex Always \"0\"\n Involvement Involvement\n\nThe digits are defined as follows:\n\n 1 - No involvement of prostatic apex:\n statement of normal apex\n negative apex involvement (i.e., needle biopsy indicates both apices negative, \n prostatectomy indicates malignancy only in lobes/base)\n 2 - Into prostatic apex/arising in prostatic apex, NOS\n Note: Avoid using this code if more detailed information is available to use 3 or 4 (see Note 3)\n 3 - Arising in prostatic apex\n apex is only site of malignancy\n 4 - Extension into prostatic apex\n involvement of apex AND other part(s) of prostate\n statement indicating malignancy started in other part(s) of prostate and extends into apex \n 5 - Apex extension unknown\n no description of apex involvement\n always 2nd digit when prostatectomy not performed\n\n**Note 5**: Code apex involvement if clearly documented in the medical record. Try to determine if the cancer has extended into the apex from another part of the prostate or has arisen in the apex. If apex involvement is unknown both clinically and pathologically, use code 550.", - "last_modified" : "2015-05-27T16:20:06.360Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0102 \n\nPAP: Test not done (test was not ordered and was not performed)" ], [ "010", "OBSOLETE DATA RETAINED V0102\n \nPAP: Positive/elevated" ], [ "020", "OBSOLETE DATA RETAINED V0102\n \nPAP: Negative/normal; within normal limits" ], [ "030", "OBSOLETE DATA RETAINED V0102\n \nPAP: Borderline; undetermined whether positive or negative" ], [ "080", "OBSOLETE DATA RETAINED V0102 \n\nPAP: Ordered, but results not in chart" ], [ "110", "No involvement of prostatic apex clinically and on prostatectomy" ], [ "120", "Clinical apex involvement: No involvement AND\nProstatectomy apex involvement: Into/arising in, NOS" ], [ "130", "Clinical apex involvement: No involvement AND\nProstatectomy apex involvement: Arising in" ], [ "140", "Clinical apex involvement: No involvement AND\nProstatectomy apex involvement: Extension into" ], [ "150", "Clinical apex involvement: No involvement AND\nProstatectomy apex involvement: Unknown" ], [ "210", "Clinical apex involvement: Into/arising in, NOS AND\nProstatectomy apex involvement: No involvement" ], [ "220", "Clinical apex involvement: Into/arising in, NOS AND\nProstatectomy apex involvement: Into/arising in, NOS" ], [ "230", "Clinical apex involvement: Into/arising in, NOS AND\nProstatectomy apex involvement: Arising in" ], [ "240", "Clinical apex involvement: Into/arising in, NOS AND\nProstatectomy apex involvement: Extension into" ], [ "250", "Clinical apex involvement: Into/arising in, NOS AND\nProstatectomy apex involvement: Unknown" ], [ "310", "Clinical apex involvement: Arising in AND\nProstatectomy apex involvement: No involvement" ], [ "320", "Clinical apex involvement: Arising in AND\nProstatectomy apex involvement: Into/arising in, NOS" ], [ "330", "Clinical apex involvement: Arising in AND\nProstatectomy apex involvement: Arising in" ], [ "340", "Clinical apex involvement: Arising in AND\nProstatectomy apex involvement: Extension into" ], [ "350", "Clinical apex involvement: Arising in AND\nProstatectomy apex involvement: Unknown" ], [ "410", "Clinical apex involvement: Extension into AND\nProstatectomy apex involvement: No involvement" ], [ "420", "Clinical apex involvement: Extension into AND\nProstatectomy apex involvement: Into/arising in, NOS" ], [ "430", "Clinical apex involvement: Extension into AND\nProstatectomy apex involvement: Arising in" ], [ "440", "Clinical apex involvement: Extension into AND\nProstatectomy apex involvement: Extension into" ], [ "450", "Clinical apex involvement: Extension into AND\nProstatectomy apex involvement: Unknown" ], [ "510", "Clinical apex involvement: Unknown AND\nProstatectomy apex involvement: No involvement" ], [ "520", "Clinical apex involvement: Unknown AND\nProstatectomy apex involvement: Into/arising in, NOS" ], [ "530", "Clinical apex involvement: Unknown AND\nProstatectomy apex involvement: Arising in" ], [ "540", "Clinical apex involvement: Unknown AND\nProstatectomy apex involvement: Extension into" ], [ "550", "Clinical apex involvement: Unknown AND\nProstatectomy apex involvement: Unknown" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error)" ], [ "999", "OBSOLETE DATA RETAINED V0102\n\nPAP: Unknown or no information\nNot documented in patient record\n" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maj.json deleted file mode 100644 index cd765d033..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_maj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Perineural Invasion", - "notes" : "**Note**: Code the presence or absence of perineural invasion as documented in the pathology report. Assign code 999 if histologic examination of the primary site is performed and perineural invasion is not mentioned.", - "last_modified" : "2015-05-27T16:20:06.411Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Perineural invasion not present/not identified" ], [ "010", "Perineural Invasion present/identified" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mal.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mal.json deleted file mode 100644 index 1cbad4f0e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mal.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mal", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Creatinine Value", - "notes" : "**Note 1**: The Model for End-Stage Liver Disease (MELD) is a numerical scale used to determine how urgently a patient with liver disease needs a liver transplant within the next three months. Results from three routine lab tests are used to calculate the MELD score. Creatinine, one of the tests, measures kidney function; impaired kidney function is often associated with severe liver disease.\n\n**Note 2**: Normal values may vary from lab to lab. The typical human reference ranges are 0.5 to 1.0 milligrams/deciliter (mg/dl) (about 45-90 micromoles/liter (umol/l) for women and 0.7 to 1.2 mg/dl (60-110 umol/l) for men.\n\n**Note 3**: Record the blood or serum creatinine value for this data item\n\n**Note 4**: Record to the nearest tenth in mg/dl or umol/l the highest creatinine value prior to treatment. Record a creatinine value of 0.53 mg/dL as 005; record a value of 60 umol/l as 600; and record a value of 110 umol/l as 980.\n\n**Note 5**: Record the creatinine unit of measure for the same laboratory test in CS Site-Specific Factor 5.\n\n**Note 6**: Use code 997 ff the test was done but the actual value is not statedUse code 997 If the test was done but the unit is not in mg/dl or umol/l.", - "last_modified" : "2015-05-27T16:20:06.456Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nTest not done" ], [ "001", "0.1 or less milligram/deciliter (mg/dl)\n0.1 or less micromole/liter (umol/l) \n(Exact value to nearest tenth in mg/dl or umol/l)" ], [ "002-979", "0.2 - 97.9 mg/dl \n0.2 - 97.9 umol/l\n(Exact value to nearest tenth of mg/dl or umol/l)" ], [ "980", "98.0 mg/dl or greater\n98.0 umol/l or greater" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "CONVERTED AND CODE REUSED V0203\nPrior to V0203 code defined as \"Test ordered, results not in chart\". Cases converted to code 997 with V0203 and code 998 redefined as \"Test not done (test not ordered and not performed)\".\n\nTest not done (test not ordered and not performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mam.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mam.json deleted file mode 100644 index 0b095497c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mam.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mam", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Sarcomatoid Features", - "notes" : "**Note 1**: Sarcomatoid morphology may be manifested by any renal cell carcinoma. The presence of sarcomatoid component in a renal cell carcinoma may be prognostically important. \n\n**Note 2**: Record the presence or absence of sarcomatoid features as documented anywhere in the pathology report. Assign code 000 if pathologic examination of the primary site is performed, the pathology report is available for review, and sarcomatoid features are not mentioned.", - "last_modified" : "2015-05-27T16:20:06.500Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Sarcomatoid features not present/not identified " ], [ "010", "Sarcomatoid features present/identified" ], [ "888", "OBSOLETE DATA CONVERTED V0200 \nSee code 988 \n\nNot applicable for this schema " ], [ "987", "Not applicable: Not a renal cell carcinoma morphology" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No pathologic examination of primary site" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mas.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mas.json deleted file mode 100644 index b01f74ff7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mas.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mas", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1**: The mitotic count, the number of mitoses per 10 high-power fields (HPF), is an element in a proposed grading scheme for neuroendocrine tumors (NETs) of the gastrointestinal system. This site-specific factor presumes the denominator of 10 HPF, so just the numberator (the mitotic count) is coded here. For other schemas in which mitotic count is collected, the denominator may vary.\n\n**Note 2**: As described in the AJCC chapter on NETs, 10 HPF at a magnification objective of 40 (40x) are equivalent to 2 square millimeters (mm).\n\n**Note 3**: Record mitotic count to the nearest tenth as documented in the pathology report. For example, a mitotic count of 3/10 HPF would be coded as 030.\n\n**Note 4**: Code the specific mitotic count only per 10 HPF or 2 square mm; assume the denominator is 10 HPF or 2 square mm if not specified. Use code 996 only if the mitotic count is expressed with a specific denominator other than 10 HPF or 2 square mm.", - "last_modified" : "2015-05-27T16:20:06.544Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 mitoses per 10 high-power fields (HPF) (40x field)\n0.0 mitoses per 2 square millimeters (mm)\nMitoses absent\nNo mitoses present" ], [ "001-008", "01 - 0.8 mitosis per 10 HPF (40x field)\n0.1 - 0.8 mitosis per 2 square mm" ], [ "009", "0.9 mitosis per 10 HPF (40x field)\n0.9 mitosis per 2 square mm \n\nStated as less than 1 mitosis per 10 HPF (40x field)\nStated as less than 1 mitosis per 2 square mm" ], [ "010-500", "1-50 mitoses per 10 HPF (40x field)\n1-50 mitoses per 2 square mm" ], [ "510", "51 or more mitoses per 10 HPF (40x field)\n51 or more mitoses per 2 square mm" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Specific number not stated, described as less than 2 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as less than 2 mitoses per square mm\n\nStated as low mitotic count or rate with no specific number" ], [ "991", "Specific number not stated, described as between 2 and 20 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as between 2 and 20 mitoses per 2 square mm" ], [ "992", "Specific number not stated, described as more than 20 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as more than 20 mitoses per 2 square mm\n\nStated as high mitotic count or rate with no specific number" ], [ "995", "OBSOLETE DATA CONVERTED V0203\nSee code 991\n\nSpecific number not stated, described as between 2-20 mitoses per 10 high-power fields (40x field)\nSpecific number not stated, described as between 2-20 mitoses per square millimeter" ], [ "996", "Mitotic count described with denominator other than 10 HPF (40x field) or 2 square mm" ], [ "997", "OBSOLETE DATA CONVERTED V0203 \nSee code 992\n\nSpecific number not stated, described as more than 20 mitoses per 10 high-power fields (40x field)\nSpecific number not stated, described as more than 20 mitoses per square millimeter" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mat.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mat.json deleted file mode 100644 index 2a2b10a6e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mat.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mat", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Primary Globe-Sparing Treatment Failure", - "notes" : "**Note 1**: This is a unique site-specific factor that collects information from recurrence after the initial diagnosis. The initial code is updated at the time of recurrence after the first course of globe-sparing treatment.\n\n**Note 2**: Record 000 or 987 at initial diagnosis and treatment, depending on whether the initial treatment was globe-sparing or surgical enucleation.\n\n**Note 3**: Change the recorded value of 000 to 010, 020, or 030 at the first recurrence in a treated eye after globe-sparing treatment. Use code 999 if recurrence is known but there is no more specific information available.", - "last_modified" : "2015-05-27T16:20:06.610Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Initial diagnosis with primary globe-sparing treatment of retinoblastoma" ], [ "010", "Failure of primary globe-sparing treatment in unilateral retinoblastoma " ], [ "020", "Failure of primary globe-sparing treatment in bilateral retinoblastoma, neither eye enucleated at initial diagnosis" ], [ "030", "Failure of primary globe-sparing treatment in bilateral retinoblastoma, one eye only enucleated at initial diagnosis" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "987", "Initial course of treatment was not globe-sparing for unilateral or bilateral retinoblastoma" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mav.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mav.json deleted file mode 100644 index 5b8969e11..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mav.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mav", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Number of Positive Pelvic Nodes", - "notes" : "**Note**: Record the number of positive pelvic lymph nodes documented in the patient record. Apply the same instructions in General Rules, Part I for coding Regional Nodes Positive to this data item.", - "last_modified" : "2015-05-27T16:20:06.655Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All pelvic nodes examined negative." ], [ "001-089", "1 - 89 pelvic nodes positive (Exact number of nodes positive)" ], [ "090", "90 or more pelvic nodes positive" ], [ "095", "Positive aspiration or core biopsy of pelvic lymph node(s)" ], [ "097", "Positive pelvic nodes, number not specified" ], [ "098", "No pelvic nodes examined" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown if pelvic nodes are positive \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maz.json deleted file mode 100644 index ed152215e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_maz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_maz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Presence of Chest Pain", - "notes" : "**Note 1**: The presence of chest pain which results in work up or diagnosis is considered to be a prognostic factor for pleura mesothelioma (code 010). \n\n**Note 2**: Record any stated chest pain based on documentation from medical record. If chest pain is present but is not documented as the presenting symptom which led the patient to seek medical care, use code 020.", - "last_modified" : "2015-05-27T16:20:06.700Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of chest pain" ], [ "010", "History of chest pain which resulted in work up or diagnosis " ], [ "020", "History of chest pain positive, NOS " ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbd.json deleted file mode 100644 index 483faa78c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mbd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Resected Pulmonary Metastasis", - "notes" : "**Note 1**: Record exact number of pulmonary metastasis identified during initial diagnosis and resected, as documented in the pathology report.", - "last_modified" : "2015-05-27T16:20:06.752Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No lung metastasis resected" ], [ "001-050", "Number of pulmonary metastases resected" ], [ "099", "Lung metastasis resected, number unknown" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988.\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbg.json deleted file mode 100644 index 9b19c332f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mbg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Size of Lymph Nodes", - "notes" : "**Note 1**: Code the largest diameter, whether measured clinically or pathologically, of any involved regional lymph node(s). Do not code the size of any nodes coded in CS Mets at DX.\n\n**Note 2**: Record only for squamous cell carcinoma of skin of eyelid. For other histologies, code 987, not applicable.", - "last_modified" : "2015-05-27T16:20:06.800Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involved regional lymph nodes" ], [ "001-979", "001-979 millimeters (mm)\n(Exact size in mm)" ], [ "980", "980 mm or larger" ], [ "987", "Not applicable, not squamous cell carcinoma of skin of eyelid" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2cm\" or \"greater than 1cm\" or between 1cm and 2cm\"" ], [ "993", "Described as \"less than 3cm\" or \"greater than 2cm\" or \"between 2cm and 3cm\"" ], [ "994", "Described as \"less than 4cm\" or \"greater than 3cm\" or \"between 3cm and 4cm\"" ], [ "995", "Described as \"less than 5cm\" or \"greater than 4cm\" or \"between 4cm and 5cm\"" ], [ "996", "Described as \"less than 6cm\" or \"greater than 5 cm\" or \"between 5cm and 6cm\"" ], [ "997", "Described as \"more than 6cm\"" ], [ "999", "Regional lymph node(s) involved, size not stated\nUnknown if regional lymph node(s) involved\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbh.json deleted file mode 100644 index 7dc9e3db6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mbh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "CD4 Cell Count", - "notes" : "**Note 1**: The CD4 cell count is used to monitor how well the immune system is working in a patient who is Human Immunodeficiency Virus (HIV) positive. A blood test measures the number of CD4 T-cells in each microliter (ul) of blood. The measurement may also be in CD4 cells per cubic millimeter of blood. One microliter (ul) is equivalent to 1 cubic millimeter of fluid. A low CD4 count (less than 200) indicates a weakened immune system. For Kaposi Sarcoma patients, a CD4 count lower than 200 is a poor risk factor.\n\n**Note 2**: Record the CD4 count at the time of the Kaposi Sarcoma diagnosis as documented in the patient record. If the CD4+ count is 980 or greater use code 980. If the test is done but the actual value is not available or not stated, use code 997.\n\n**Note 3**: If the patient is HIV negative, use code 987.\n\n**Note 4**: Record the actual value of the CD4 count as documented in the patient record. If the actual CD4+ count is 980 or greater, use code 980.", - "last_modified" : "2015-05-27T16:20:06.842Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-979", "CD4 count 001-979/cubic millimeter or microliter (ul) of blood\n(Exact count of CD4 cells)" ], [ "980", "CD4 count 980 or greater/cubic millimeter or microliter (ul) of blood" ], [ "987", "Not applicable: Patient is HIV negative" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "CD4 count less than 200, NOS\nCD4 count stated to be low\nCD4 count stated to be poor risk" ], [ "991", "CD4 count greater than or equal to 200, NOS\nCD4 count stated to be normal\nCD4 count stated to good risk" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbi.json deleted file mode 100644 index b87281e69..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbi.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mbi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Crohn Disease", - "notes" : "**Note 1**: Crohn disease is an inflammatory bowel disease associated with an increased risk for small intestinal carcinomas. Crohn disease is also known as ileitis or enteritis. It is not the same as irritable bowel syndrome.\n\n**Note 2**: Code the absence or presence of Crohn disease, including a history of Crohn disease.", - "last_modified" : "2015-05-27T16:20:06.884Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of Crohn disease" ], [ "010", "History of Crohn disease" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbj.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbj.json deleted file mode 100644 index 275c62dae..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mbj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mbj", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Follicular Lymphoma Prognostic Index (FLIPI)", - "notes" : "**Note 1**: The Follicular Lymphoma Prognostic Index (FLIPI) has been developed for follicular lymphomas and predicts outcome based on the following adverse factors: \n\n* Age more than 60 years \n* Ann Arbor Stage III or IV\n* More than 4 nodal areas involved\n* Elevated serum lactate dehydrogenase LDH level\n* Serum hemoglobin concentration less than 12 grams/deciliter (g/dl)\n\n**Note 2**: Record the FLIPI as documented in the medical record. Do not calculate points or assign risk. Only record points or risk if a physician has documented them. Use points over risk if both are available.\n\n**Note 3**: There are now two indices/scores associated with lymphoma: The International Prognostic Index (IPI, CS Site-Specific Factor 3) and the Follicular Lymphoma International Prognostic Index (FLIPI, CS Site-Specific Factor 4). Physicians may use these indices/scores interchangeably. For coding:\n\n* Score identified: Value in appropriate CS SSF, 999 in other CS SSF\n* Score not identified, point value 5 or less: 999 in both CS SSF", - "last_modified" : "2015-05-27T16:20:06.929Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 points" ], [ "001", "1 point" ], [ "002", "2 points" ], [ "003", "3 points" ], [ "004", "4 points" ], [ "005", "5 points" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Stated as low risk (0-1 point)" ], [ "991", "Stated as intermediate risk (2 points)" ], [ "992", "Stated as high risk (3-5 points)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mna.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mna.json deleted file mode 100644 index c84fada7c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mna.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf4_mna", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "last_modified" : "2015-05-27T16:20:06.970Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n Not applicable for this site" ], [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpa.json deleted file mode 100644 index 189fd20b1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "notes" : "**Note 1**: CS Site-Specific Factors 3-6 are used to code the presence or absence of lymph node involvement in each of 7 different levels and other groups defined by AJCC. The definitions of the levels are the same for all applicable head and neck sites. One digit is used to represent lymph nodes of a single level, with the digits of CS Site-Specific Factor 3 representing lymph nodes of Levels I-III; the digits of CS Site-Specific Factor 4 representing lymph nodes of Levels IV and V and the retropharyngeal nodes; the digits of CS Site-Specific Factor 5 representing lymph nodes of Levels VI and VII and the facial nodes; and the digits of CS Site-Specific Factor 6 representing the remaining Other groups as defined by AJCC. In each digit, a code 1 means yes, the nodes are involved.\n\n**Note 2**: If involved regional node levels are documented as a range, or if the involved nodes overlap multiple levels, code all levels specified.\n\n**Note 3**: If regional node(s) are known to be positive but the level of node(s) involved is unknown, use code 000.", - "last_modified" : "2015-05-27T16:20:07.011Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involvement in Levels IV or V or retropharyngeal lymph nodes" ], [ "100", "Level IV lymph node(s) involved" ], [ "010", "Level V lymph node(s) involved" ], [ "001", "Retropharyngeal nodes involved" ], [ "110", "Levels IV and V lymph nodes involved" ], [ "101", "Levels IV and retropharyngeal lymph nodes involved" ], [ "011", "Levels V and retropharyngeal lymph nodes involved" ], [ "111", "Levels IV and V and retropharyngeal lymph nodes involved" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "999", "Unknown if regional lymph nodes involved, not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpb.json deleted file mode 100644 index ae4dea462..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Tumor Deposits", - "notes" : "**Note 1**: Tumor deposits (TD) are defined as one or more satellite peritumoral nodules in the pericolorectal adipose tissue of a primary carcinoma without histologic evidence of residual lymph node in the nodule. Such TD may represent discontinuous spread, venous invasion with extravascular spread, or a totally replaced lymph node.\n\n**Note 2**: Record the number of TD whether or not there are positive lymph nodes.\n\n**Note 3**: Assign code 000 if surgical resection of the primary site is performed, the pathology report is available for review, and tumor deposits are not mentioned.", - "last_modified" : "2015-05-27T16:20:07.055Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "None" ], [ "001-080", "1-80 Tumor deposits (TD) \n(Exact number of TD)" ], [ "081", "81 or more TD" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "TD identified, number unknown" ], [ "998", "No surgical resection of primary site" ], [ "999", "Unknown or no information\nInsufficient information; indeterminiate if TD present\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpd.json deleted file mode 100644 index 98b13444d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Follicular Lymphoma Prognostic Index (FLIPI)", - "notes" : "**Note 1**: The Follicular Lymphoma Prognostic Index (FLIPI) has been developed for follicular lymphomas and predicts outcome based on the following adverse factors: \n\n* Age greater than or equal to 60 years \n* Ann Arbor Stage III or IV\n* More than 4 nodal areas involved\n* Elevated serum lactate dehydrogenase LDH level\n* Serum hemoglobin concentration less than 12 grams/deciliter (g/dl)\n\n**Note 2**: Record the FLIPI as documented in the medical record. Do not calculate points or assign risk. Only record points or risk if a physician has documented them. Use points over risk if both are available.\n\n**Note 3**: There are now three indices/scores associated with lymphoma: The International Prognostic Index (IPI, CS Site-Specific Factor 3), the Follicular Lymphoma International Prognostic Index (FLIPI, CS Site-Specific Factor 4) and the International Prognostic Score (IPS) (for Hodgkin lymphomas, CS Site-Specific Factor 5.) Physicians may use these indices/scores interchangeably. For coding:\n\n* Score identified: Value in appropriate CS SSF, 999 in other two CS SSF\n* Score not identified, point value 5 or less: 999 in all three CS SSF\n* Score not identified, point value 6or 7: Value in CS SSF 5 (IPS), 999 in other two CS SSF", - "last_modified" : "2015-05-27T16:20:07.099Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 points" ], [ "001", "1 point" ], [ "002", "2 points" ], [ "003", "3 points" ], [ "004", "4 points" ], [ "005", "5 points" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\nNot applicable for this schema" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Stated as low risk (0-1 point)" ], [ "991", "Stated as intermediate risk (2 points)" ], [ "992", "Stated as high risk (3-5 points)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpe.json deleted file mode 100644 index d93625671..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Size of Largest Metastasis", - "notes" : "**Note 1**: Record the size of the largest diameter of the largest metastasis in any site, including distant lymph node or distant organ. Do not record the size of the metastasis in a regional lymph node.\n\n**Note 2**: The metastasis may be measured either clinically or pathologically.", - "last_modified" : "2015-05-27T16:20:07.147Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No metastatic disease " ], [ "001-979", "001 - 979 millimeters (mm) (Exact size to nearest mm)" ], [ "980", "980 mm or larger" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "991", "Described as \"less than 3 cm\"" ], [ "992", "Described as \"less than 8 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 8 cm\"" ], [ "993", "Described as \"greater than 8 cm\" " ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpf.json deleted file mode 100644 index 5e1b010d0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Pathologic M1: Source of Pathologic Metastatic Specimen", - "notes" : "**Note**: Record only metastases present at the time of initial diagnosis and verified by pathologic examination of the metastatic site. Record metastases determined by clinical examination only in code 998. Do not record metastases that represent progression of disease after diagnosis, whether determined clinically or pathologically.", - "last_modified" : "2015-05-27T16:20:07.193Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No pathologic metastasis identified at diagnosis\nMicroscopic exam of distant specimen negative for metastasis " ], [ "010", "Liver metastasis on pathologic examination at diagnosis" ], [ "020", "Lung metastasis on pathologic examination at diagnosis" ], [ "030", "Brain metastasis on pathologic examination at diagnosis" ], [ "040", "Bone metastasis on pathologic examination at diagnosis" ], [ "050", "Other metastasis on pathologic examination at diagnosis" ], [ "060", "010-050\nMetastases from multiple sites in codes 010-050 on pathologic examination at diagnosis" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this schema" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No microscopic examination of metastatic site/no clinical evidence of metastasis and/or only clinical evidence of metastasis " ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpg.json deleted file mode 100644 index b9726abd6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Distance to Proximal Edge of Tumor from Incisors", - "notes" : "**Note 1**: The location of the primary cancer site is defined by the position of the upper (proximal) edge of the tumor in the esophagus. The distance from the incisors to the proximal edge of the tumor is collected in this Site-Specific Factor. The location of the tumor's proximal edge within the esophagus may be described based on imaging, esophagoscopy, or surgical results.\n\n**Note 2**: Record the distance from the incisors to the proximal edge of tumor to the nearest centimeter (cm).\n\n**Note 3**: Calculate the distance to the proximal edge of tumor if the distance to the distal edge and the length of the tumor is known.", - "last_modified" : "2015-05-27T16:20:07.239Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA REVIEWED AND CHANGED V0203\n\"Involved\" edge distance is not appropriate. Code distance to the proximal edge of the tumor as described in the Notes, or use code 999 if distance unknown.\n\nProximal edge of tumor involved" ], [ "001-060", "1 - 60 centimeters (cm)\n(Exact distance from incisors to proximal edge of tumor to the nearest cm)" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "OBSOLETE DATA CONVERTED V0203\nSee code 999\n\nDistance to proximal edge not stated" ], [ "991", "Described as \"less than 20 cm\" or \"greater than 15 cm\" or \"between 15 and 20 cm\"" ], [ "992", "Described as \"less than 25 cm\" or \"greater than 20 cm\" or \"between 20 and 25 cm\"" ], [ "993", "Described as \"less than 30 cm\" or \"greater than 25 cm\" or \"between 25 and 30 cm\"" ], [ "994", "Described as \"less than 40 cm\" or \"greater than 30 cm\" or \"between 30 and 40 cm\"" ], [ "995", "Described as \"less than 45 cm\" or \"greater than 40 cm\" or \"between 40 and 45 cm\"" ], [ "996", "Described as \"less than 60 cm\" or \"greater than 45 cm\" or \"between 45 and 60 cm\"" ], [ "997", "Described as \"greater than 60 cm\"" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpn.json deleted file mode 100644 index ce510b09b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpn.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Methylation of O6-Methylguanine-Methyltransferase (MGMT)", - "notes" : "**Note 1**: O6-methylguanine-methyltransferase (MGMT) is an enzyme in cells that repairs DNA. DNA repair is undesirable in tumors, because they may be able to overcome the DNA damage done by chemotherapy. With methylation, less MGMT enzyme is produced, which may lead to prolonged survival compared to unmethylated MGMT.\n\n**Note 2**: Code the methylation status of the MGMT gene (also termed MGMT promoter) as stated in the medical record. A positive test result may be termed \"methylated,\" \"hypermethylated,\" or \"high.\" A negative result may be termed \"unmethylated\" or \"low.\" This molecular test is not part of a routine pathology report.", - "last_modified" : "2015-05-27T16:20:07.290Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Gene status methylated\nHypermethylated\nHigh levels of methylation" ], [ "020", "Gene status unmethylated\nLow levels of methylation" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No histologic examination of primary site\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpq.json deleted file mode 100644 index c1b25a039..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Number of Examined Pelvic Nodes", - "notes" : "**Note**: Record the number of examined pelvic lymph nodes documented in the patient record. Apply the same instructions in General Rules, Part I for coding Regional Nodes Examined to this data item.", - "last_modified" : "2015-05-27T16:20:07.334Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No pelvic lymph nodes examined" ], [ "001-089", "1 - 89 pelvic lymph nodes examined \n(Exact number of pelvic lymph nodes examined)" ], [ "090", "90 or more pelvic lymph nodes examined" ], [ "095", "No pelvic lymph nodes removed, but aspiration or core biopsy of pelvic lymph nodes performed" ], [ "096", "Pelvic lymph node removal documented as a sampling, but number of nodes unknown/not stated" ], [ "097", "Pelvic lymph node removal documented as a dissection, but number of nodes unknown/not stated" ], [ "098", "Pelvic lymph nodes surgically removed, but number of nodes unknown/not stated and not documented as a sampling or dissection" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown if pelvic nodes examined; \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpr.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpr.json deleted file mode 100644 index 63053341f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mpr.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpr", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Tumor Location after Primary Cytoreduction (Debulking) Surgery", - "notes" : "**Note 1**: The surgery to remove as much of the cancer in the pelvis and/or abdomen as possible, reducing the \"bulk\" of the cancer is called \"debulking\" or \"cytoreduction\" surgery. It is performed when there is widespread evidence of advanced stage of ovarian cancer with obvious spread to other organs outside the ovary, typically in the upper abdomen, intestines, the omentum (the fat pad suspended from the transverse colon like an apron), the diaphragm, or liver.\n\n**Note 2**: Optimal debulking is described as removal of all tumor except for residual nodules that measure no more than 1 cm in maximum diameter.\n\n**Note 3**: According to the AJCC, \"In advanced disease, the most important prognostic factor is the residual disease after the initial surgical management. . . . Not only is the size of the residual important, but the number of sites of residual tumor also appears to be important.\" Neoadjuvant chemotherapy may be given to obtain optimum cytoreduction with less aggressive surgery; thus recording whether the patient received chemotherapy prior to this procedure provides necessary data for treatment and survival analysis.", - "last_modified" : "2015-05-27T16:20:07.378Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Residual tumor in ovary, ipsilateral, contralateral, or NOS\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "015", "010\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "020", "Residual tumor in:\n Fallopian tube, ipsilateral, contralateral, or NOS\n Uterus \nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "025", "020\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "030", "020 + 010\n\nResidual tumor in fallopian tube(s) and/or uterus plus ovary(ies)\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "040", "030\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "050", "Residual tumor in pelvis:\n Pelvic peritoneum\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "055", "050\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "060", "050 + (010 or 020) \n\nResidual tumor in pelvis plus any structures in lower codes\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "070", "060\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "080", "Residual tumor in omentum\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "085", "080\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "090", "080 + (010 or 020 or 050)\n\nResidual tumor in omentum plus any structures in lower codes\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "100", "090\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "110", "Residual tumor in abdomen (excluding colon and small intestine):\n Abdominal peritoneum\n Retroperitoneum\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "115", "110\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "120", "110 + (010 or 020 or 050 or 080)\n\nResidual tumor in abdomen plus any structures in lower codes\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "130", "120\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "140", "Residual tumor in colon and/or small intestine\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "145", "140\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "150", "140 + (010 or 020 or 050 or 080 or 110)\n\nResidual tumor in colon and/or small intestine plus any structures in lower codes\nAND neoadjuvant chemotherapy not given or unknown if given " ], [ "160", "150\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "170", "Residual tumor in diaphragm and/or stomach\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "180", "170 + (010 or 020 or 050 or 080 or 110 or 140)\n\nResidual tumor in diaphragm plus any structures in lower codes\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "190", "180 \nAND neoadjuvant chemotherapy given (before surgery)" ], [ "200", "Residual tumor in liver (peritoneal surface) AND neoadjuvant chemotherapy not given or unknown if given" ], [ "210", "200 + (010 or 020 or 050 or 080 or 110 or 140 or 170) Residual tumor in liver plus any structures in lower codes AND neoadjuvant chemotherapy not given or unknown if given" ], [ "220", "210 \nAND neoadjuvant chemotherapy given (before surgery)" ], [ "300", "Residual tumor in other structures not listed above\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "310", "Residual tumor in other structures not listed above\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Residual tumor, location not stated\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "991", "Residual tumor, location not stated\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "992", "No residual tumor found AND neoadjuvant chemotherapy not given or unknown if given" ], [ "993", "No residual tumor found AND neoadjuvant chemotherapy given (before surgery)" ], [ "998", "No Debulking surgery performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mps.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mps.json deleted file mode 100644 index 3ca9bbe0e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf4_mps.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mps", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF4", - "title" : "CS Site-Specific Factor 4", - "subtitle" : "Para-Aortic Nodal Status", - "notes" : "**Note**: The para-aortic nodal status corresponds to the assessment method recorded in CS Site-Specific Factor 5.", - "last_modified" : "2015-05-27T16:20:07.427Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative para-aortic lymph nodes" ], [ "010", "Positive para-aortic lymph nodes" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "Para-aortic lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naa.json deleted file mode 100644 index b18c7349b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_naa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Molecular (MOL) Studies of Regional Lymph Nodes", - "notes" : "**Note 1**: Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemistry (IHC) (see CS Site-Specific Factor 4), Hematoxylin and Eosin (H and E) (see CS Lymph Nodes code 050, or molecular (MOL) methods (Reverse Transcription Polymerase Chain Reaction, RT-PCR). ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction.)\n\n**Note 2**: Use codes 000-002 only to report results of MOL studies (RT-PCR) when CS Lymph Nodes is coded 000. Otherwise code 987 in this field.\n\n**Note 3**: If it is not stated whether molecular tests are done, assume they are not done.", - "last_modified" : "2015-05-27T16:20:07.471Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Regional lymph nodes negative on routine hematoxylin and eosin (H and E), no RT-PCR molecular (MOL) studies done \nOR unknown if RT-PCR studies done\nNodes clinically negative, not examined pathologically" ], [ "001", "Regional lymph nodes negative on routine H and E, RT-PCR MOL studies done, negative for tumor" ], [ "002", "Regional lymph nodes negative on routine H and E, RT-PCR MOL studies done, positive for tumor" ], [ "888", "OBSOLETE DATA CONVERTED V0200 \nSee code 987\n\nNot applicable\nCS Lymph Nodes not coded 000" ], [ "987", "Not applicable: CS Lymph Nodes not coded 000" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nab.json deleted file mode 100644 index 2c09f6f40..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nab.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Size of Metastasis in Lymph Nodes", - "notes" : "**Note 1**: If the only information on the size of the metastatic lymph node mass is the physician's assignment of the N category, assign code 010 for N1, 020 for N2, or 030 for N3.\n\n**Note 2**: If extranodal extension is not described on the pathology report or pathologic assessment of regional lymph nodes is not performed, assume extranodal extension is not present.\n\n**Note 3**: Do not code the size of any node coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:20:07.521Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No lymph node metastasis" ], [ "001", "OBSOLETE DATA CONVERTED V0200\nSee code 010\n\nLymph node metastasis mass 2 cm or less in greatest dimension\nAND no extranodal extension of tumor" ], [ "002", "OBSOLETE DATA CONVERTED V0200\nSee code 020\n\nLymph node metastasis mass more than 2 cm but not more than 5 cm in greatest dimension\nExtranodal extension of tumor" ], [ "003", "OBSOLETE DATA CONVERTED V0200\nSee code 030\n\nLymph node metastasis mass more than 5 cm in greatest dimension" ], [ "010", "Lymph node metastasis mass 2 centimeter (cm) or less in greatest dimension\nWITHOUT pathologic extranodal extension of tumor \n(See Note 2)\n\nStated as N1 with no other information on regional lymph nodes" ], [ "020", "Lymph node metastasis mass more than 2 cm but not more than 5 cm in greatest dimension\nOR pathologic extranodal extension of tumor\n\nStated as N2 with no other information on regional lymph nodes" ], [ "030", "Lymph node metastasis mass more than 5 cm in greatest dimension\n\nStated as N3 with no other information on regional lymph nodes" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "998", "OBSOLETE DATA CONVERTED V0203\nSee code 999\n\nRegional lymph nodes involved, size of lymph node mass not stated" ], [ "999", "Regional lymph nodes involved, size of lymph node mass not stated\nUnknown if regional nodes involved\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nac.json deleted file mode 100644 index 570f94f29..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nac.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Ki-67/MIB-1 Labeling Index (LI): Ophthalmic", - "notes" : "**Note 1**: Ki-67 antigen is a nuclear protein, expressed by cells in all phases of the active cell cycle (G1, S, G2, and M phase) and absent in resting cells (G0 phase). Tumor cells with positive staining for Ki-67 antibodies are actively growing or proliferating. The fraction of Ki-67-positive tumor cells (the Ki-67 labeling index, or LI) may correlate with the clinical course of cancer. The value is expressed as the percentage of carcinoma cells in the tissue sample with positive immunohistochemical staining for the Ki-67 protein. The staining may be performed with the MIB-1 monoclonal antibody, so the test may be referred to as either Ki-67 or MIB-1.\n\n**Note 2**: Code the LI fraction percentage using Ki-67 or MIB-1 (monoclonal antibody) when it is available on the pathology report of the primary tumor. The Ki-67 or MIB-1 LI may also be called the growth fraction or proliferative fraction.\n\n**Note 3**: Record the LI as an exact whole number (000-100). For example, if the LI level is recorded by the pathologist as 15%, assign code 015. If the percentage is documented as 13.7%, round up to 14% and assign code 014. If the percentage is documented as 13.2%, round down to 13% and assign code 013. If the percentage is documented as less than 0.5%, round down to 0% and code 000; if the percentage is documented as greater than 0.5% and less than 1%, round up to 1% and code as 001.\n\n**Note 4**: In the absence of a specific percentage value, use codes 110-140 for a stated range of the LI, or codes 991-993 for an interpretation of the LI.", - "last_modified" : "2015-05-27T16:20:07.569Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000-100", "Percentage of Ki-67 growth fraction\n(Exact labeling index (LI) rounded to nearest percent)\n\nExamples:\n 000 0.2%\n 001 1%\n 010 10%\n 014 13.7%\n 055 55.2%" ], [ "110", "Stated as Ki-67 growth fraction less than or equal to 5%" ], [ "120", "Stated as Ki-67 growth fraction greater than 5% and less than or equal to 10%" ], [ "130", "Stated as Ki-67 growth fraction greater than 10% and less than or equal to 20%" ], [ "140", "Stated as Ki-67 growth fraction greater than 20% and less than or equal to 50%" ], [ "150", "Stated as Ki-67 growth fraction greater than 50%" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee Code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "991", "Stated as low proliferation rate" ], [ "992", "Stated as increased proliferation rate" ], [ "993", "Stated as high proliferation rate" ], [ "997", "Ki-67 growth fraction study performed, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nae.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nae.json deleted file mode 100644 index bbb282e49..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nae.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nae", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "OBSOLETE - Gleason's Primary Pattern and Secondary Pattern Value", - "notes" : "**Note**: This CS Site-Specific Factor is obsolete beginning with CS Version 2 (codes, code descriptions, and notes). Old data are retained during conversion, but new cases are not coded 000-099 or 000. Use only code 988 for this field for all cases entered in CS Version 2.\n\n**OBSOLETE V0200 Note 1**: Usually prostate cancers are graded using Gleason's score or pattern. Gleason's grading for prostate primaries is based on a 5-component system (5 histologic patterns). Prostatic cancer generally shows two main histologic patterns. The primary pattern, that is, the pattern occupying greater than 50% the cancer, is usually indicated by the first number of the Gleason's grade and the secondary pattern is usually indicted by the second number. These two numbers are added together to create a pattern score, ranging from 2 to 10.\n\n* If there are two numbers, assume that they refer to two patterns (the first number being the primary and the second number being the secondary) and sum them to obtain the score.\n* If only one number is given and it is less than or equal to 5, assume that it describes a pattern and uses the number as the primary pattern and code the secondary pattern as 9.\n* If only one number is given and it is greater than 5, assume that it is a score. \n* If the pathology report specifies a specific number out of a total of 10, the first number given is the score. Example: The pathology report says \"Gleason's 3/10\". The Gleason's score would be 3. \n\n**OBSOLETE V0200 Note 2**: Following AJCC guidelines for coding multiple Gleason's Scores in prostate cancer, if there is more than one primary and secondary pattern value, the value to be coded is the one based on the larger tumor specimen. Please note that this rule is not the same as the rule for coding grade.", - "last_modified" : "2015-05-27T16:20:07.614Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0200 \nTest not done (test was not ordered and was not performed)\n" ], [ "011", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 1, secondary pattern 1" ], [ "012", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 1, secondary pattern 2" ], [ "013", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 1, secondary pattern 3" ], [ "014", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 1, secondary pattern 4" ], [ "015", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 1, secondary pattern 5" ], [ "019", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 1, secondary pattern 9" ], [ "021", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 2, secondary pattern 1" ], [ "022", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 2, secondary pattern 2" ], [ "023", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 2, secondary pattern 3" ], [ "024", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 2, secondary pattern 4" ], [ "025", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 2, secondary pattern 5" ], [ "029", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 2, secondary pattern unknown" ], [ "031", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 3, secondary pattern 1" ], [ "032", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 3, secondary pattern 2" ], [ "033", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 3, secondary pattern 3" ], [ "034", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 3, secondary pattern 4" ], [ "035", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 3, secondary pattern 5" ], [ "039", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 3, secondary pattern unknown" ], [ "041", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 4, secondary pattern 1" ], [ "042", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 4, secondary pattern 2" ], [ "043", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 4, secondary pattern 3" ], [ "044", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 4, secondary pattern 4" ], [ "045", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 4, secondary pattern 5" ], [ "049", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 4, secondary pattern unknown" ], [ "051", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 5, secondary pattern 1" ], [ "052", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 5, secondary pattern 2" ], [ "053", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 5, secondary pattern 3" ], [ "054", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 5, secondary pattern 4" ], [ "055", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 5, secondary pattern 5" ], [ "059", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern 5, secondary pattern unknown" ], [ "099", "OBSOLETE DATA RETAINED V0200\n\nPrimary pattern unknown, secondary pattern unknown" ], [ "988", "Not applicable: Information not collected for this schema" ], [ "999", "OBSOLETE DATA RETAINED V0200\n\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nah.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nah.json deleted file mode 100644 index e86711be3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nah.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nah", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Carcinoma ex Pleomorphic Adenoma, Invasion Beyond Capsule", - "notes" : "**Note 1**: Code only for cases described as arising from a benign pleomorphic adenoma. The diagnosis may be stated as carcinoma ex pleomorphic adenoma or carcinoma arising from a mixed tumor or mixed tumor of salivary gland type. The histology code assigned to the case may be 8941/3, or other codes for carcinoma. Extent of invasion beyond capsule is a prognostic factor for these glandular tumors. \n\n**Note 2**: Use code 000 for no invasion beyond capsule. Use codes 001-979 if specific measurement is given for invasion beyond capsule. Use code 990 if invasion is only described as \"minimally invasive\" or \"less than 1.5mm\" or \"less than or equal to 1.5 mm\".\n\n**Note 3**: Use code 987 for all cases with pathologic examination of primary site not described as arising from a benign adenoma. Use code 998 if no pathologic examination of primary site.", - "last_modified" : "2015-05-27T16:20:07.663Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Noninvasive, confined within the capsule" ], [ "001", "CONVERTED AND CODE REUSED V0204\nPrior to V0204 code defined as \"Noninvasive, confined within the capsule\". Cases converted to code 000 with V0204 and 001 redefined as \"00.1 millimeter (mm) of invasion beyond capsule of pleomorphic adenoma into adjacent tissue\"\nSee code 000\n\n00.1 millimeter (mm) of invasion beyond capsule of pleomorphic adenoma into adjacent tissue" ], [ "002", "CONVERTED AND CODE REUSED V0204\nPrior to V0204 code defined as \"Minimally invasive, less than 1.5 millimeters (mm) invasion beyond capsule of pelomorphic adenoma into adjacent tissue\". Cases converted to code 990 with V0204 and code 002 redefined as \"00.2 mm of invasion beyond capsule of pleomorphic adenoma into adjacent tissue\"\n\n0.2 mm invasion beyond capsule of pleomorphic adenoma into adjacent tissue" ], [ "003-979", "0.3 - 97.9 mm of invasion beyond capsule of pleomorphic adenoma into adjacent tissue\n(Exact measurement to nearest tenth of mm) \n\nExamples:\n 015 1.5 mm\n 020 2.0 mm\n 100 10 mm\n 150 15 mm, 1.5 centimeters (cm)" ], [ "980", "98.0 mm or greater invasion beyond capsule" ], [ "987", "Not applicable: Histology not carcinoma ex pleomorphic adenoma" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Minimally invasive Stated as \"less than 1.5 mm invasion beyond capsule\" Stated as \"less than or equal to 1.5 mm invasion beyond capsule\"" ], [ "991", "Stated as \"greater than 1.5 mm invasion beyond capsule\"" ], [ "997", "OBSOLETE DATA CONVERTED V0203\nSee code 999\n\nPathologic examination of primary tumor, results not available" ], [ "998", "No pathologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nai.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nai.json deleted file mode 100644 index 4fcc691b6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nai.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nai", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Histologic Tumor Necrosis", - "notes" : "**Note 1**: Tumor necrosis is an independent predictor of outcome for renal cell carcinoma. \n\n**Note 2**: Record the presence or absence of tumor necrosis as documented in the pathology report. Assign code 000 if histologic examination of primary site is performed, the pathology report is available for review, and histologic tumor necrosis is not mentioned.", - "last_modified" : "2015-05-27T16:20:07.708Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Histologic tumor necrosis not present/not identified" ], [ "010", "Histologic tumor necrosis present/identified" ], [ "888", "OBSOLETE DATA CONVERTED V0200 \nSee code 988 \n\nNot applicable for this schema" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nak.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nak.json deleted file mode 100644 index cbb02c20f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nak.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nak", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Creatinine Unit of Measure", - "notes" : "**Note 1**: There are two main methods of describing concentrations: by weight, and by molecular count. Weights are recorded in grams, and molecular counts are recorded in moles. Milligrams/deciliter (mg/dl) is the unit of measure commonly used in the United States, and micromoles/liter (umol/l) is the designated Systeme Internationale (SI) unit of measure commonly used in Canada and Europe. 1 mg/dl of creatinine is 88.4 umol/l.\n\n**Note 2**: The same laboratory test should be used to record information in CS Site-Specific Factor 4 and CS Site-Specific Factor 5.", - "last_modified" : "2015-05-27T16:20:07.752Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nTest not done" ], [ "010", "Milligrams/deciliter (mg/dl)" ], [ "020", "Micromoles/liter (umol/l)" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart \nTest performed, unit of measure not specified\nTest performed, different unit of measure used or unit not specified\n(Includes cases converted from code 998 during conversion to V0203)" ], [ "998", "CONVERTED AND CODE REUSED V0203\nPrior to V0203 code defined as \"Test ordered, results not in chart\". Cases converted to code 997 with V0203 and code 998 redefined as \"Test not done (test not ordered and not performed)\".\n\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nap.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nap.json deleted file mode 100644 index fcec846bc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nap.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nap", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Serum Chromogranin A (CgA) Lab Value", - "notes" : "**Note 1**: Chromoganins are a family of proteins in secretory granules found throughout the neuroendocrine system. Serum Chromogranin A (CgA) has been shown to be a useful marker for neuroendocrine tumors.\n\n**Note 2**: Record to the nearest nanogram/milliliter the highest CgA lab value documented in the medical record prior to treatment. For example, code a pretreatment CgA of 400 ng/ml as 400.\n\n**Note 3**: Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of CgA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 ng/ml should be coded 001. For code 001, also round 1.1-1.4 ng/ml down to 1 ng/ml. For codes 002-979, round values to the nearest ng/ml.\n\n**Note 4**: For an uncertain value, record the stated closest value. For example, code a value stated as \"less than 5 ng/ml\" as 005.", - "last_modified" : "2015-05-27T16:20:07.800Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 ng/ml" ], [ "001", "1 or less ng/ml" ], [ "002-979", "002-979 ng/ml" ], [ "980", "980 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naq.json deleted file mode 100644 index c70590cf4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_naq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Linear Choroidal Invasion", - "notes" : "**Note**: Record the greatest linear extent of tumor involvement in the choroid in tenths of millimeters (mm). Use code 030 if stated as 3 mm. Code information from clinical documentation in the medical record or from the pathology report, if resection of the primary tumor is performed.", - "last_modified" : "2015-05-27T16:20:07.843Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involvement of choroid" ], [ "001-979", "00.1 - 97.9 millimeters (mm) \n(Exact length of choroidal involvement to nearest tenth of mm)\n\nExamples: \n 001 0.1 mm\n 010 1 mm\n 042 4.2 mm\n 100 10 mm OR 1 centimeter (cm)\n 103 10.3 mm" ], [ "980", "98.0 mm or larger" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "993", "Choroidal linear involvement stated as less than 3 mm" ], [ "994", "Choroidal linear involvement stated as greater than 3 mm" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nar.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nar.json deleted file mode 100644 index 4b69c6473..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nar.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ssf5_nar", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Sentinel Lymph Node Biopsy", - "last_modified" : "2015-05-27T16:20:07.889Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative sentinel lymph node biopsy" ], [ "010", "Positive sentinel lymph node biopsy" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Sentinel node biopsy performed, unknown results" ], [ "998", "No sentinel node biopsy performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nas.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nas.json deleted file mode 100644 index ccd7ead3c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nas.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nas", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Number of Examined Pelvic Nodes", - "notes" : "**Note 1**: Record the number of examined pelvic nodes documented in the patient record. Apply the same instructions in General Rules, Part I for coding Regional Nodes Examined to this data item.\n\n**Note 2**: Under CSV0200, this site-specific factor incorrectly had different meanings for these codes. All of the cases coded in CSv2 before CSv2:V0203 are reviewed and coded to the current codes.", - "last_modified" : "2015-05-27T16:20:07.933Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No pelvic lymph nodes examined" ], [ "001-089", "1 - 89 pelvic lymph nodes examined (Exact number of pelvic lymph nodes examined)" ], [ "090", "90 or more pelvic lymph nodes examined" ], [ "095", "No pelvic lymph nodes removed, but aspiration or core biopsy of pelvic lymph nodes performed" ], [ "096", "Pelvic lymph node removal documented as a sampling, but number of nodes unknown/not stated" ], [ "097", "Pelvic lymph node removal documented as a dissection, but number of nodes unknown/not stated" ], [ "098", "Pelvic lymph nodes surgically removed, but number of nodes unknown/not stated and not documented as a sampling or dissection" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown if pelvic nodes examined\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nav.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nav.json deleted file mode 100644 index 1e7ad5a61..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nav.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nav", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1**: The mitotic rate, the count of mitoses (also termed \"mitotic figures\") per 50 high-power fields or 50 HPF, reflects the potential aggressiveness or prognosis of gastrointestinal stromal tumors (GIST), and is used alone to determine their histologic grade (low or high). The mitotic rate is also a factor in assigning the AJCC 7 anatomic stage/prognostic group. This site-specific factor presumes the denominator of 50 HPF or its equivalent, so just the numerator (the mitotic count) is coded here.\n\n**Note 2**: A HPF usually has a magnification objective of 40 (a 40x field). As described in the AJCC chapter on GIST, 50 HPF are equivalent to viewing a total area of 5 square millimeters (mm) at 40x magnification.\n\n**Note 3**: Record mitotic count, to the nearest tenth of a mitosis, as documented in the pathology report. For example, a mitotic count of 6/50 HPF, or 6 per 5 square mm, would be coded 060.\n\n**Note 4**: Code the specific mitotic count only per 50 HPF or 5 square mm; assume the denominator is 50 HPF or 5 square mm if not specified. \n\n**Note 5**: Use code 996 for a description of mitoses, NOS, or if the mitotic count is expressed with a specific denominator other than 50 HPF or 5 square mm.", - "last_modified" : "2015-05-27T16:20:07.976Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 mitoses per 50 HPF (40x fields)\n0.0 mitoses per 5 square mm\nMitoses absent\nNo mitoses present" ], [ "001-008", "0.1 - 0.8 mitoses per 50 HPF (40x fields)\n0.1 - 0.8 mitoses per 5 square mm" ], [ "009", "0.9 mitoses per 50 HPF (40x fields)\n0.9 mitoses per 5 square mm\n\nStated as less than 1 mitosis per 50 HPF (40x fields)\nStated as less than 1 mitosis per 5 square mm" ], [ "010-100", "1 - 10 mitoses per 50 HPF (40x fields)\n1 - 10 mitoses per 5 square mm" ], [ "110", "11 or more mitoses per 50 HPF (40x fields)\n11 or more mitoses per 5 square mm" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \nNot applicable for this site" ], [ "988", "Not applicable:Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Specific number not stated, described less than or equal to 5 mitoses per 50 high-power fields (40x field)\nSpecific number not stated, described less than or equal to 5 mitoses per 5 square millimeters" ], [ "991", "Specific number not stated, described as more than 5 mitoses per 50 HPF (40x fields)\nSpecific number not stated, described as more than 5 mitoses per 5 square mm\n\nStated as high mitotic count or rate with no specific number" ], [ "995", "OBSOLETE DATA CONVERTED V0203\nSee code 991\n\nSpecific number not stated, described as greater than 5 mitoses per 50 high-power fields (40x field)\nSpecific number not stated, described as greater than 5 mitoses per 5 square millimeters" ], [ "996", "Mitotic count described with denominator other than 50 HPF (40x field)/5 square mm\nMitoses present, NOS" ], [ "998", "No histologic specimen from primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naw.json deleted file mode 100644 index 3f6d2445d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_naw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_naw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Positron Emission Tomography (PET) Standardized Uptake Values (SUV)", - "notes" : "**Note 1**: Cancer cells require sugar (glucose) for metabolism and growth. Positron emission tomography/computed tomography (PET/CT) scanning utilizes a radioactive form of glucose, called 18-fluoro-2-deoxyglucose (FDG) that accumulates within malignant cells because of their high rate of metabolism. \n\n**Note 2**: The value is expressed as a ratio of tissue radioactivity at the time of measurement to the injected dose at time of injection divided by body weight. Record the value for the Standardized Uptake Values (SUV) as reported in the medical record to one decimal place.", - "last_modified" : "2015-05-27T16:20:08.025Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-500", "Positron emission tomography (PET) Standardized Uptake Value (SUV) to nearest single decimal place\n\nExamples:\n 015 SUV 01.5\n 100 SUV 10.0" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this schema" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test performed, unknown results" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nba.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nba.json deleted file mode 100644 index fa66a7536..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nba.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nba", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Serum Lactate Dehydrogenase (LDH) Lab Value", - "notes" : "**Note 1**: Code the serum lactate dehydrogenase (LDH) value prior to treatment or within 6 weeks of diagnosis. Give priority to the first test performed. LDH values are expressed in Units/liter (U/l).\n\n**Note 2**: Record the value of the LDH test for values 001 through 800.\n\n**Note 3**: Record the range of the LDH test for values 801 and greater.\n\n* A. Codes 801 - 825 are ranges of 20. \n* B. Codes 826 - 863 are ranges of 50. \n* C. Codes 864 - 931 are ranges of 100. \n* D. Code 932 is for a value of 10001 or greater.\n\n**Note 4**: The information should be taken from the same test used to code CS Site-Specific Factor 4 and CS Site-Specific Factor 6.", - "last_modified" : "2015-05-27T16:20:08.071Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-800", "Value is 001 - 800 Units/liter (U/l) \n(Exact value in whole U/l)" ], [ "801", "Range of values is 801 - 820" ], [ "802", "Range of values is 821 - 840" ], [ "803", "Range of values is 841 - 860" ], [ "804", "Range of values is 861 - 880" ], [ "805", "Range of values is 881 - 900" ], [ "806", "Range of values is 901 - 920" ], [ "807", "Range of values is 921 - 940" ], [ "808", "Range of values is 941 - 960" ], [ "809", "Range of values is 961 - 980" ], [ "810", "Range of values is 981 - 1000" ], [ "811", "Range of values is 1001 - 1020" ], [ "812", "Range of values is 1021 - 1040" ], [ "813", "Range of values is 1041 - 1060" ], [ "814", "Range of values is 1061 - 1080" ], [ "815", "Range of values is 1081 - 1100" ], [ "816", "Range of values is 1101 - 1120" ], [ "817", "Range of values is 1121 - 1140" ], [ "818", "Range of values is 1141 - 1160" ], [ "819", "Range of values is 1161 - 1180" ], [ "820", "Range of values is 1181 - 1200" ], [ "821", "Range of values is 1201 - 1220" ], [ "822", "Range of values is 1221 - 1240" ], [ "823", "Range of values is 1241 - 1260" ], [ "824", "Range of values is 1261 - 1280" ], [ "825", "Range of values is 1281 - 1300" ], [ "826", "Range of values is 1301 - 1350" ], [ "827", "Range of values is 1351 - 1400" ], [ "828", "Range of values is 1401 - 1450" ], [ "829", "Range of values is 1451 - 1500" ], [ "830", "Range of values is 1501 - 1550" ], [ "831", "Range of values is 1551 - 1600" ], [ "832", "Range of values is 1601 - 1650" ], [ "833", "Range of values is 1651 - 1700" ], [ "834", "Range of values is 1701 - 1750" ], [ "835", "Range of values is 1751 - 1800" ], [ "836", "Range of values is 1801 - 1850" ], [ "837", "Range of values is 1851 - 1900" ], [ "838", "Range of values is 1901 - 1950" ], [ "839", "Range of values is 1951 - 2000" ], [ "840", "Range of values is 2001 - 2050" ], [ "841", "Range of values is 2051 - 2100" ], [ "842", "Range of values is 2101 - 2150" ], [ "843", "Range of values is 2151 - 2200" ], [ "844", "Range of values is 2201 - 2250" ], [ "845", "Range of values is 2251 - 2300" ], [ "846", "Range of values is 2301 - 2350" ], [ "847", "Range of values is 2351 - 2400" ], [ "848", "Range of values is 2401 - 2450" ], [ "849", "Range of values is 2451 - 2500" ], [ "850", "Range of values is 2501 - 2550" ], [ "851", "Range of values is 2551 - 2600" ], [ "852", "Range of values is 2601 - 2650" ], [ "853", "Range of values is 2651 - 2700" ], [ "854", "Range of values is 2701 - 2750" ], [ "855", "Range of values is 2751 - 2800" ], [ "856", "Range of values is 2801 - 2850" ], [ "857", "Range of values is 2851 - 2900" ], [ "858", "Range of values is 2901 - 2950" ], [ "859", "Range of values is 2951 - 3000" ], [ "860", "Range of values is 3001 - 3050" ], [ "861", "Range of values is 3051 - 3100" ], [ "862", "Range of values is 3101 - 3150" ], [ "863", "Range of values is 3151 - 3200" ], [ "864", "Range of values is 3201 - 3300" ], [ "865", "Range of values is 3301 - 3400" ], [ "866", "Range of values is 3401 - 3500" ], [ "867", "Range of values is 3501 - 3600" ], [ "868", "Range of values is 3601 - 3700" ], [ "869", "Range of values is 3701 - 3800" ], [ "870", "Range of values is 3801 - 3900" ], [ "871", "Range of values is 3901 - 4000" ], [ "872", "Range of values is 4001 - 4100" ], [ "873", "Range of values is 4101 - 4200" ], [ "874", "Range of values is 4201 - 4300" ], [ "875", "Range of values is 4301 - 4400" ], [ "876", "Range of values is 4401 - 4500" ], [ "877", "Range of values is 4501 - 4600" ], [ "878", "Range of values is 4601 - 4700" ], [ "879", "Range of values is 4701 - 4800" ], [ "880", "Range of values is 4801 - 4900" ], [ "881", "Range of values is 4901 - 5000" ], [ "882", "Range of values is 5001 - 5100" ], [ "883", "Range of values is 5101 - 5200" ], [ "884", "Range of values is 5201 - 5300" ], [ "885", "Range of values is 5301 - 5400" ], [ "886", "Range of values is 5401 - 5500" ], [ "887", "Range of values is 5501 - 5600" ], [ "888", "Range of values is 5601 - 5700" ], [ "889", "Range of values is 5701 - 5800" ], [ "890", "Range of values is 5801 - 5900" ], [ "891", "Range of values is 5901 - 6000" ], [ "892", "Range of values is 6001 - 6100" ], [ "893", "Range of values is 6101 - 6200" ], [ "894", "Range of values is 6201 - 6300" ], [ "895", "Range of values is 6301 - 6400" ], [ "896", "Range of values is 6401 - 6500" ], [ "897", "Range of values is 6501 - 6600" ], [ "898", "Range of values is 6601 - 6700" ], [ "899", "Range of values is 6701 - 6800" ], [ "900", "Range of values is 6801 - 6900" ], [ "901", "Range of values is 6901 - 7000" ], [ "902", "Range of values is 7001 - 7100" ], [ "903", "Range of values is 7101 - 7200" ], [ "904", "Range of values is 7201 - 7300" ], [ "905", "Range of values is 7301 - 7400" ], [ "906", "Range of values is 7401 - 7500" ], [ "907", "Range of values is 7501 - 7600" ], [ "908", "Range of values is 7601 - 7700" ], [ "909", "Range of values is 7701 - 7800" ], [ "910", "Range of values is 7801 - 7900" ], [ "911", "Range of values is 7901 - 8000" ], [ "912", "Range of values is 8001 - 8100" ], [ "913", "Range of values is 8101 - 8200" ], [ "914", "Range of values is 8201 - 8300" ], [ "915", "Range of values is 8301 - 8400" ], [ "916", "Range of values is 8401 - 8500" ], [ "917", "Range of values is 8501 - 8600" ], [ "918", "Range of values is 8601 - 8700" ], [ "919", "Range of values is 8701 - 8800" ], [ "920", "Range of values is 8801 - 8900" ], [ "921", "Range of values is 8901 - 9000" ], [ "922", "Range of values is 9001 - 9100" ], [ "923", "Range of values is 9101 - 9200" ], [ "924", "Range of values is 9201 - 9300" ], [ "925", "Range of values is 9301 - 9400" ], [ "926", "Range of values is 9401 - 9500" ], [ "927", "Range of values is 9501 - 9600" ], [ "928", "Range of values is 9601 - 9700" ], [ "929", "Range of values is 9701 - 9800" ], [ "930", "Range of values is 9801 - 9900" ], [ "931", "Range of values is 9901 - 10000" ], [ "932", "Value is 10001 or greater" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "995", "Stated as within normal limits, no further information in the chart" ], [ "996", "Stated as elevated, no further information in the chart" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nbb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nbb.json deleted file mode 100644 index 756c700e9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nbb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nbb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Microsatellite Instability", - "notes" : "**Note**: The microsatellite instability (MSI) test is a genetic test performed on tumor tissue to look for differences in length of certain non-functioning sections of deoxyribonucleic acid (DNA). The differences are caused by problems with the genes that normally repair DNA. A high-positive MSI (MSI-H) result may indicate that the gene repair problem is related to the development of the cancer, and that the patient may have hereditary nonpolyposis colorectal cancer (HNPCC), also known as Lynch syndrome. A low-positive or stable MSI result (stable meaning that there are no differences in the lengths) means it is unlikely that the cancer is related to a hereditary condition.", - "last_modified" : "2015-05-27T16:20:08.124Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "020", "Microsatellite instability (MSI) stable; no MSI" ], [ "040", "MSI unstable low; positive, low" ], [ "050", "MSI unstable high; positive, high" ], [ "060", "MSI unstable, NOS; positive, NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200 \nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nna.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nna.json deleted file mode 100644 index c03d79be5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nna.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf5_nna", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "last_modified" : "2015-05-27T16:20:08.170Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n Not applicable for this site" ], [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npa.json deleted file mode 100644 index 007d6c6e4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "notes" : "**Note 1**: CS Site-Specific Factors 3-6 are used to code the presence or absence of lymph node involvement in each of 7 different levels and other groups defined by AJCC. The definitions of the levels are the same for all applicable head and neck sites. One digit is used to represent lymph nodes of a single level, with the digits of CS Site-Specific Factor 3 representing lymph nodes of Levels I-III; the digits of CS Site-Specific Factor 4 representing lymph nodes of Levels IV and V and the retropharyngeal nodes; the digits of CS Site-Specific Factor 5 representing lymph nodes of Levels VI and VII and the facial nodes; and the digits of CS Site-Specific Factor 6 representing the remaining Other groups as defined by AJCC. In each digit, a code 1 means yes, the nodes are involved.\n\n**Note 2**: Facial nodes include buccinator, mandibular, and nasolabial lymph nodes.\n\n**Note 3**: If involved regional node levels are documented as a range, or if the involved nodes overlap multiple levels, code all levels specified.\n\n**Note 4**: If regional node(s) are known to be positive but the level of node(s) involved is unknown, use code 000.", - "last_modified" : "2015-05-27T16:20:08.215Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involvement in Levels VI or VII or facial lymph nodes" ], [ "100", "Level VI lymph node(s) involved" ], [ "010", "Level VII lymph node(s) involved" ], [ "001", "Facial lymph node(s) involved" ], [ "110", "Levels VI and VII lymph nodes involved" ], [ "101", "Levels VI and facial lymph nodes involved" ], [ "011", "Levels VII and facial lymph nodes involved" ], [ "111", "Levels VI and VII and facial lymph nodes involved" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "999", "Unknown if regional lymph node(s) involved, not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npb.json deleted file mode 100644 index be35fee11..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Tumor Regression Grade", - "notes" : "**Note 1**: Record the pathologic response to preoperative adjuvant treatment as documented in the pathology report. The response may be called \"treatment effect\" and will often be stated in terms of a Tumor Regression Grade of 0 to 3. The response may also be characterized in descriptive terms. Consult the pathologist if a different grading system is used.\n\n**Note 2**: Tumor regression grade or treatment effect should only be assessed on the primary tumor.\n\n**Note 3**: If a response is stated to be present or found but is not described further, use code 990.", - "last_modified" : "2015-05-27T16:20:08.262Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Tumor Regression Grade 0\nComplete response: No viable cancer cells\nNo residual tumor" ], [ "010", "Tumor Regression Grade 1\nModerate response: Single cells or small groups of cancer cells" ], [ "020", "Tumor Regression Grade 2\nMinimal response: Residual cancer outgrown by fibrosis" ], [ "030", "Tumor Regression Grade 3\nPoor response: Minimal or no tumor kill; extensive residual cancer" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site." ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Response present, but degree of response not further described" ], [ "998", "No preoperative treatment or no resection of primary site after preoperative treatment" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npe.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npe.json deleted file mode 100644 index 804f489b3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npe", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "International Prognostic Score (IPS)", - "notes" : "**Note 1**: The International Prognostic Score (IPS) has been developed for Hodgkin lymphoma and predicts outcome based on the following adverse factors: \n\n* Male sex\n* Age 45 years or greater\n* Ann Arbor Stage IV \n* Serum albumin less than 4 grams/deciliter (g/dl)\n* Hemoglobin concentration less than 10.5 g/dl\n* White blood cell count greater than or equal to 15,000/cubic millimeter (mm)\n* Lymphocytopenia, lymphocyte count less than 600/cubic mm or less than 8% of white cell count\n\n**Note 2**: Record the IPS score as documented in the medical record. Do not calculate points. Only record points if a physician has documented them.\n\n**Note 3**: There are now three indices/scores associated with lymphoma: The International Prognostic Index (IPI, CS Site-Specific Factor 3), the Follicular Lymphoma International Prognostic Index (FLIPI, CS Site-Specific Factor 4) and the International Prognostic Score (for Hodgkin lymphomas, CS Site-Specific Factor 5.) Physicians may use these indices/scores interchangeably. For coding:\n\n* Score identified: Value in appropriate CS SSF, 999 in other two CS SSF\n* Score not identified, point value 5 or less: 999 in all three CS SSF\n* Score not identified, point value 6or 7: Value in CS SSF 5 (IPS), 999 in other two CS SSF.", - "last_modified" : "2015-05-27T16:20:08.306Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 points" ], [ "001", "1 point" ], [ "002", "2 points" ], [ "003", "3 points" ], [ "004", "4 points" ], [ "005", "5 points" ], [ "006", "6 points" ], [ "007", "7 points" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\nNot applicable for this schema" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npf.json deleted file mode 100644 index fa8010ce5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Chromosome 3 Status", - "notes" : "**Note**: The loss of chromosome 3 (also termed loss of heterozygosity (LOH) in chromosome 3) is a common genetic abnormality in ocular melanoma. Monosomy 3 (i.e., only one copy of chromosome 3) has consistently been associated with death from metastasis in choroidal and ciliary body melanoma.", - "last_modified" : "2015-05-27T16:20:08.352Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No loss of chromosome 3" ], [ "010", "Partial loss of chromosome 3" ], [ "020", "Complete loss of chromosome 3" ], [ "030", "Loss of chromosome 3, NOS" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nConverted to code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npg.json deleted file mode 100644 index 1ed256666..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Distance to Distal Edge of Tumor from Incisors", - "notes" : "**Note 1**: The distance from the incisors to the distal edge of the tumor is collected in this Site-Specific Factor. The location of the tumor's distal edge within the esophagus may be described based on imaging, esophagoscopy, or surgical results.\n\n**Note 2**: Record the distance from the incisors to the distal edge of tumor to the nearest centimeter (cm).\n\n**Note 3**: Calculate the distance to the distal edge of tumor if the distance to the proximal edge and the length of the tumor is known.", - "last_modified" : "2015-05-27T16:20:08.395Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA REVIEWED AND CHANGED V0203\n\"Involved\" edge distance is not appropriate. Code distance to the distal edge of the tumor as described in the Notes, or use code 999 if distance unknown.\n\nDistal edge of tumor involved" ], [ "001-060", "1 - 60 centimeters (cm)\n(Exact distance from incisors to distal edge of tumor to the nearest centimeter.)" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "OBSOLETE DATA CONVERTED V0203\nSee code 999\n\nDistance to distal edge not stated" ], [ "991", "Described as \"less than 20 cm\" or \"greater than 15 cm\" or \"between 15 and 20 cm\"" ], [ "992", "Described as \"less than 25 cm\" or \"greater than 20 cm\" or \"between 20 and 25 cm\"" ], [ "993", "Described as \"less than 30 cm\" or \"greater than 25 cm\" or \"between 25 and 30 cm\"" ], [ "994", "Described as \"less than 40 cm\" or \"greater than 30 cm\" or \"between 30 and 40 cm\"" ], [ "995", "Described as \"less than 45 cm\" or \"greater than 40 cm\" or \"between 40 and 45 cm\"" ], [ "996", "Described as \"less than 60 cm\" or \"greater than 45 cm\" or \"between 45 and 60 cm\"" ], [ "997", "Described as \"greater than 60 cm\"" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nph.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nph.json deleted file mode 100644 index 6852e1863..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_nph.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nph", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Chromosome 1p: Loss of Heterozygosity (LOH)", - "notes" : "**Note 1**: This is a special molecular diagnostic test performed on tumor tissue to identify loss of genetic material normally found on the short arm of one of the patient's two copies of chromosome 1. A normal cell will contain two complete copies of each chromosome, one from each parent, and this normal state is termed heterozygous. Loss of heterozygosity (LOH) is an abnormal state reflecting damage to the chromosome.\n\n**Note 2**: Other terms for LOH include gene deletion and allelic loss.\n\n**Note 3**: For brain tumors, tests for LOH of chromosomes 1p and 19q may be performed at the same time and reported on a single report. See also CS Site-Specific Factor 6.", - "last_modified" : "2015-05-27T16:20:08.441Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Test positive for loss of heterozygosity (LOH)" ], [ "020", "Test negative for LOH" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "No histologic examination of primary site\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npk.json deleted file mode 100644 index de0bfb3d0..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Number of Positive Para-Aortic Nodes", - "notes" : "**Note**: Record the number of positive para-aortic lymph nodes documented in the patient record. Apply the same instructions in General Rules, Part I for coding Regional Nodes Positive to this data item.", - "last_modified" : "2015-05-27T16:20:08.488Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All para-aortic lymph nodes examined negative" ], [ "001-089", "1-89 para-aortic lymph nodes positive\n(Exact number of nodes positive)" ], [ "090", "90 or more para-aortic lymph nodes positive" ], [ "095", "Positive aspiration or core biopsy of para-aortic lymph node(s)" ], [ "097", "Positive para-aortic lymph nodes, number not specified" ], [ "098", "No para-aortic lymph nodes examined" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown if para-aortic lymph nodes are positive\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npl.json deleted file mode 100644 index ed1aab885..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Malignant Ascites", - "notes" : "**Note 1**: Record the volume of malignant ascites in milliliters (ml).\n\n**Note 2**: For an estimated volume, record the estimated value. For an uncertain volume, record the approximate value: for example, volume of malignant ascites is less than 500 ml, record as 500 ml.", - "last_modified" : "2015-05-27T16:20:08.532Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 991\n\nNone, No malignant ascites" ], [ "001-979", "1-979 milliliters (ml)\n(Exact volume in ml)" ], [ "980", "980 ml or greater" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Malignant ascites present, volume not stated" ], [ "991", "Ascites present, determined to be non-malignant" ], [ "992", "Ascites present, no information whether malignant or non-malignant" ], [ "995", "No ascites present" ], [ "998", "Ascites not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npm.json deleted file mode 100644 index 6c61c8017..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf5_npm.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF5", - "title" : "CS Site-Specific Factor 5", - "subtitle" : "Assessment Method of Para-Aortic Nodal Status", - "notes" : "**Note 1**: The assessment results are recorded in CS Site-Specific Factor 4.\n\n**Note 2**: Use the highest applicable code.", - "last_modified" : "2015-05-27T16:20:08.576Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nLymph nodes were not assessed" ], [ "010", "Clinical assessment" ], [ "020", "Radiography, imaging \n(Ultrasound (US), computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))" ], [ "030", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "040", "Lymphadenectomy\nExcisional biopsy or resection with microscopic confirmation" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaa.json deleted file mode 100644 index 9f4e710c3..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oaa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Size of Tumor-Invasive Component", - "notes" : "**Note 1**: Record the code that indicates how the pathological tumor size was coded in CS Tumor Size.\n\n**Note 2**: For this field, \"mixed\" indicates a tumor with both invasive and in situ components. The tumor may be a single histologic type such as mixed infiltrating ductal and ductal carcinoma in situ or a combined histologic type such as mixed infiltrating ductal and lobular carcinoma in situ. \"Pure\" indicates a tumor that is only invasive or only in situ.\n\n**Note 3**: If size of tumor is given and it is described as an invasive tumor with focal areas of in situ, consider the in situ component to be minimal and use code 030.\n\n**Note 4**: This information is collected for analytic purposes and does not affect the stage grouping algorithm. Different codes in this field may explain differences in outcome for patients in the same T category or stage group.\n\nExamples:\n\n* Patient 1 has a \"mixed\" tumor measuring 2.5 cm with extensive areas of in situ tumor, and the size of the invasive component is not stated. Code to 025 in CS Tumor Size, and it will be classified as T2. Code to 040 in CS Site-Specific Factor 6.\n\n\n* Patient 2 has a purely invasive tumor measuring 2.5 cm. Code to 025 in CS Tumor Size and it will be classified as T2. However, Code to 000 in CS Site-Specific Factor 6.\n\n\n* Patient 1's tumor would probably have a better survival than Patient 2's tumor, since it would more likely be a T1 lesion if the true dimensions of the invasive component were known.\n\n\n* Patient 3 has a 2.5 cm tumor which is invasive with focal areas of in situ. Code CS Site-Specific Factor 6 to 030 for in situ described minimal.", - "last_modified" : "2015-05-27T16:20:08.617Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Entire tumor reported as invasive \n(No in situ component reported)" ], [ "010", "Entire tumor reported as in situ \n(No invasive component reported)" ], [ "020", "Invasive and in situ components present, size of invasive component stated and coded in CS Tumor Size" ], [ "030", "Invasive and in situ components present, size of entire tumor coded in CS Tumor Size because size of invasive component not stated\nAND in situ described as minimal (less than 25%)" ], [ "040", "Invasive and in situ components present, size of entire tumor coded in CS Tumor Size because size of invasive component not stated\nAND in situ described as extensive (25% or more)" ], [ "050", "Invasive and in situ components present, size of entire tumor coded in CS Tumor Size because size of invasive component not stated\nAND proportions of in situ and invasive not known" ], [ "060", "Invasive and in situ components present, unknown size of tumor (CS Tumor Size coded 999)" ], [ "888", "OBSOLETE DATA CONVERTED V0200 \nSee code 987\n\nUnknown if invasive and in situ components present, unknown if tumor size represents mixed tumor or a \"pure\" tumor. (See Note 2.)\nClinical tumor size coded." ], [ "987", "Unknown if invasive and in situ components present, unknown if tumor size represents mixed tumor or a \"pure\" tumor. (See Note 2.)\nClinical tumor size coded." ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oad.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oad.json deleted file mode 100644 index 3c48d31ad..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oad.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oad", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "OBSOLETE - Gleason's Score", - "notes" : "**Note**: This CS Site-Specific Factor is obsolete beginning with CS Version 2 (codes, code descriptions, and notes). Old data are retained during conversion, but new cases are not coded 000-010 or 999.. Use only code 988 for this field for all cases entered in CS Version 2.\n\n**OBSOLETE V0200 Note 1**: Usually prostate cancers are graded using Gleason's score or pattern. Gleason's grading for prostate primaries is based on a 5-component system (5 histologic patterns). Prostatic cancer generally shows two main histologic patterns. The primary pattern, that is, the pattern occupying greater than 50% of the cancer, is usually indicated by the first number of the Gleason's grade and the secondary pattern is usually indicated by the second number. These two numbers are added together to create a pattern score, ranging from 2 to 10. \n\n* If only one number is given and it is less than or equal to 5, code the total score to 999, unknown or no information. \n* If only one number is given and it is greater than 5, assume that it is a score. \n* If there are two numbers, assume that they refer to two patterns (the first number being the primary and the second number being the secondary) and sum them to obtain the score. \n* If the pathology report specifies a specific number out of a total of 10, the first number given is the score. Example: The pathology report says \"Gleason's 3/10\". The Gleason's score would be 3.\n\n**OBSOLETE V0200 Note 2**: Record the Gleason's score based on the addition of the primary and secondary pattern.\n\n**OBSOLETE V0200 Note 3**: Following AJCC guidelines for coding multiple Gleason's Scores in prostate cancer, if there is more than one primary and secondary pattern value, the value to be coded is the one based on the larger tumor specimen. Please note that this rule is not the same as the rule for coding grade.", - "last_modified" : "2015-05-27T16:20:08.662Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA RETAINED V0200\n\nTest not done (test was not ordered and was not performed)" ], [ "002-010", "OBSOLETE DATA RETAINED V0200\n\nGleason's Score (See Notes 1, 2 and 3)" ], [ "988", "Not applicable: Information not collected for this schema " ], [ "999", "OBSOLETE DATA RETAINED V0200\n \nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oae.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oae.json deleted file mode 100644 index 8746ac586..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oae.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oae", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Adenoid Cystic Carcinoma - Presence of Basaloid Pattern", - "notes" : "**Note 1**: Code only for cases diagnosed as adenoid cystic carcinoma, histology code 8200/3. \n\n**Note 2**: Use code 987 for all other histologies. Use code 998 if no pathologic examination of primary site.", - "last_modified" : "2015-05-27T16:20:08.710Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Basaloid pattern not present in adenoid cystic carcinoma" ], [ "010", "Basaloid pattern present in adenoid cystic carcinoma" ], [ "020", "OBSOLETE DATA CONVERTED V0203\nSee code 000\n\nBasaloid pattern not present in adenoid cystic carcinoma" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "987", "Not applicable, histology not adenoid cystic carcinoma" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No pathologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaf.json deleted file mode 100644 index a572adc62..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oaf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Fuhrman Nuclear Grade", - "notes" : "**Note 1**: Fuhrman nuclear grade is a four-grade system based on nuclear diameter and shape, the prominence of nucleoli, and the presence of chromatin clumping in the highest grade. \n\n**Note 2**: Record the Fuhrman nuclear grade as documented in the pathology report prior to neoadjuvant treatment.", - "last_modified" : "2015-05-27T16:20:08.753Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Grade 1" ], [ "020", "Grade 2" ], [ "030", "Grade 3" ], [ "040", "Grade 4" ], [ "888", "OBSOLETE DATA CONVERTED V0200 \nSee code 988\n \nNot applicable for this schema" ], [ "987", "Not applicable: Not a renal cell carcinoma morphology" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oag.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oag.json deleted file mode 100644 index cf13b6743..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oag.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oag", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Total Bilirubin Value", - "notes" : "**Note 1**: The Model for End-Stage Liver Disease (MELD) is a numerical scale used to determine how urgently a patient with liver disease needs a liver transplant within the next three months. Results from three routine lab tests are used to calculate the MELD score. Bilirubin, one of the tests, measures how effectively the liver excretes bile.\n\n**Note 2**: Assay of total bilirubin includes conjugated (direct) and unconjugated (indirect) bilirubin. Record the total bilirubin value for this data item.\n\n**Note 3**: Normal values may vary from lab to lab. The typical human reference ranges are 0.5 to 1.0 milligrams/deciliter (mg/dl) (about 45-90 micromoles/liter (umol/l) for women and 0.7 to 1.2 mg/dl (60-110 umol/l) for men.\n\n**Note 4**: Record to the nearest tenth of mg/dl or umol/l the highest total bilirubin value prior to treatment. Record a total bilirubin value of 0.53 mg/dl as 005; record a value of 5.3 umol/l as 053.\n\n**Note 5**: Record the total bilirubin unit of measure for the same laboratory test in CS Site-Specific Factor 7.\n\n**Note 6**: Use code 997 if the test was done but the actual value is not stated. Use code 997 if the test was done but the unit is not in mg/dl or umol/l.", - "last_modified" : "2015-05-27T16:20:08.797Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nTest not done" ], [ "001", "0.1 milligram/deciliter (mg/dl) or less \n0.1 micromole per liter (umol/l)\n(Exact value to nearest tenth in mg/dl or umol/l)" ], [ "002-979", "0.1 - 97.9 mg/dl\n0.2 - 97.9 umol/l\n(Exact value to nearest tenth in mg/dl or umol/l)" ], [ "980", "98.0 mg/dl or greater\n98.0 umol/l or greater" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "CONVERTED AND CODE REUSED V0203\nPrior to V0203 code defined as \"Test ordered, results not in chart\". Cases converted to code 997 with V0203 and code 998 redefined as \"Test not done (test not ordered and not performed)\".\n\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oak.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oak.json deleted file mode 100644 index c816a27e5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oak.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oak", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Perineural Invasion", - "notes" : "**Note**: Code the presence or absence of perineural invasion as documented in the pathology report. Use code 000 if histologic examination of primary site was performed, the pathology report is available for review, and perineural invasion is not mentioned.", - "last_modified" : "2015-05-27T16:20:08.840Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Perineural invasion not present/not identified " ], [ "010", "Perineural invasion present/identified" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Histologic examination of primary site performed, unknown results" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oam.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oam.json deleted file mode 100644 index 542140139..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oam.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oam", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Urinary 5-HIAA Lab Value", - "notes" : "**Note 1**: Carcinoid tumors can release large amounts of serotonin. 5-Hydroxyindoleacetic acid (5-HIAA) is-a breakdown product of the hormone serotonin. The 5-HIAA test measures the amount of acid secreted in the urine over a 24-hour period.\n\n**Note 2**: Record to the nearest milligram (mg) the highest 5-HIAA lab value documented in the medical record prior to treatment. For example, code a pretreatment 5-HIAA of 550 mg over 24 hours as 550.\n\n**Note 3**: Code 000 is reserved for exactly 0 mg (no measurable amount of 5-HIAA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 mg should be coded 001. For code 001, also round 1.1-1.4 mg down to 1 ng/ml. For codes 002-979, round values to the nearest mg.\n\n**Note 4**: For an uncertain value, record the stated closest value. For example, code a value stated as \"less than 5 mg\" as 005.", - "last_modified" : "2015-05-27T16:20:08.885Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 milligrams (mg)/24hours" ], [ "001", "1 or less mg/24hours" ], [ "002-979", "2-979 mg/24hours" ], [ "980", "980 or greater mg/24hours" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oao.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oao.json deleted file mode 100644 index 01f89073f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oao.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oao", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Clinical Extension for Second Eye", - "notes" : "**Note**: If bilateral involvement, code clinical extension for lesser, second eye at the time of initial diagnosis of tumor in the second eye.", - "last_modified" : "2015-05-27T16:20:08.930Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No evidence of tumor in second eye" ], [ "120", "Volume no more than two-thirds of eye\nAND\nLargest dimension not greater than 3mm\nAND\nLocation not closer than 1.5mm to optic nerve or fovea\nAND\nTumor formation: No vitreous or subretinal seeding and no subretinal fluid beyond 5mm from base of tumor\nAND\nRetinal detachment not present\n\nStated as T1a with no other information on extension" ], [ "140", "Volume no more than two-thirds of eye\nAND\n(Largest dimension greater than 3mm OR\nLocation closer than 1.5mm to optic nerve or fovea)\nAND\nTumor formation: No vitreous or subretinal seeding and no subretinal fluid beyond 5mm from base of tumor\nAND\nRetinal detachment not present\n\nStated as T1b with no other information on extension" ], [ "160", "Volume no more than two-thirds of eye\nAND\n(Largest dimension greater than 3mm OR\nLocation closer than 1.5mm to optic nerve or fovea)\nAND\n(Tumor formation: Subretinal fluid beyond 5mm from base of tumor OR\nRetinal detachment present)\n\nStated as T1c with no other information on extension" ], [ "180", "Volume no more than two-thirds of eye\nAND\nTumor formation: No vitreous or subretinal seeding\n\nStated as T1 [NOS] with no other information on extension" ], [ "420", "Volume no more than two-thirds of eye\nAND\nTumor Formation: Focal vitreous and/or subretinal seeding of fine aggregates of tumor cells but no large clumps or \"snowballs\" of tumor cells\nAND\nRetinal detachment may be present \n\nStated as T2a with no other information on extension" ], [ "440", "Volume no more than two-thirds of eye\nAND\nTumor formation: Massive vitreous and/or subretinal seeding defined as diffuse clumps or \"snowballs\" of tumor cells\nAND\nRetinal detachment may be present \n\nStated as T2b with no other information on extension" ], [ "460", "Volume no more than two-thirds of eye\nAND\nTumor formation: Vitreous and/or subretinal seeding\nAND\nRetinal detachment may be present \n\nStated as T2 [NOS] with no other information on extension" ], [ "500", "Severe intraocular disease in second eye:\n Tumor occupies more than two-thirds volume of eye\n\nStated as T3a with no other information on extension" ], [ "520", "Severe intraocular disease in second eye:\n One or more complications present including:\n Tumor-associated neovascular or angle closure glaucoma \n Tumor extension into anterior segment\n Hyphema (blood in anterior chamber)\n Vitreous hemorrhage\n Orbital cellulitis\n\nStated as T3b with no other information on extension" ], [ "540", "Severe intraocular disease in second eye, NOS\n\nStated as T3 [NOS] with no other information on extension" ], [ "680", "Extraocular disease in second eye detected by imaging studies:\n Invasion of optic nerve \n\nStated as T4a with no other information on extension" ], [ "700", "Extraocular disease in second eye detected by imaging studies:\n Invasion into orbit\n\nStated as T4b with no other information on extension" ], [ "720", "Extraocular disease in second eye detected by imaging studies:\n Intracranial extension not past chiasm\n\nStated as T4c with on other information on extension" ], [ "740", "Extraocular disease in second eye detected by imaging studies:\n Intracranial extension past chiasm\n\nStated as T4d with no other information on extension" ], [ "760", "Extraocular disease in second eye, NOS\n\nStated as T4 [NOS] with no other information on extension" ], [ "888", "OBSOLETE DATA CONVERTED V0200\n\nConverted to code 988\n\nNot applicable" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown extension\nPrimary tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oap.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oap.json deleted file mode 100644 index b8d67ac05..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oap.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oap", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Number of Positive Para-Aortic Nodes", - "notes" : "**Note**: Record the number of positive para-aortic lymph nodes documented in the patient record. Apply the same instructions in General Rules, Part I for coding Regional Nodes Positive to this data item.", - "last_modified" : "2015-05-27T16:20:08.976Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All para-aortic lymph nodes examined negative" ], [ "001-089", "1-89 para-aortic lymph nodes are positive. \n(Exact number of nodes positive)" ], [ "090", "90 or more para-aortic lymph nodes positive" ], [ "095", "Positive aspiration or core biopsy of para-aortic lymph node(s)" ], [ "097", "Positive para-aortic lymph nodes are documented, number not specified" ], [ "098", "No para-aortic lymph nodes examined" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown if para-aortic lymph nodes positive Not documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaq.json deleted file mode 100644 index da7db86da..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oaq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Distant (Mediastinal, Scalene) Nodal Status", - "notes" : "**Note 1**: The distant nodal status corresponds to the assessment method recorded in CS Site-Specific Factor 7.", - "last_modified" : "2015-05-27T16:20:09.024Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative mediastinal, scalene lymph nodes" ], [ "010", "Positive mediastinal, scalene lymph nodes" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "Mediastinal, scalene lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oas.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oas.json deleted file mode 100644 index f6fdf98ba..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oas.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oas", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "KIT Gene Immunohistochemistry (IHC)", - "notes" : "**Note 1**: Most gastrointestinal stromal tumors (GISTs) have oncogenic mutations of the KIT gene, which is located on chromosome 4q. KIT is a cytokine receptor which binds to stem cell factor, which causes certain types of cells to grow; altered forms of KIT may be associated with some types of cancer. This test detects expression of the KIT gene in tumor tissue sections using immunohistochemical (IHC) stains. Test results are available in the pathology report. A positive test helps to establish the diagnosis of GIST and to identify patients for whom treatment with agents such as imatinib mesylate (Gleevec) or sunitinib malate (Sutent) is appropriate. Do not record secondary or acquired mutations that may have developed because of long-term imatinib treatment.\n\n**Note 2**: Another name for KIT is CD117.\n\n**Note 3**: See CS Site-Specific Factor 7 for coding information about specific mutations of the KIT gene detectable with molecular testing. See CS Site-Specific Factor 8 for coding information about mutations of the PDGFRA gene.", - "last_modified" : "2015-05-27T16:20:09.076Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oat.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oat.json deleted file mode 100644 index 22413dbd7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oat.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oat", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Lactate Dehydrogenase (LDH)", - "notes" : "**Note 1**: Lactate dehydrogenase (LDH) is an enzyme that is released into the bloodstream when cells are damaged or destroyed. Cancer cells have a high rate of turnover, leading to an elevated LDH. An elevated LDH is a generic marker of injury to cells and not specific to cancer.\n\n**Note 2**: Record the range of LDH value as documented in the patient record at the time of diagnosis.", - "last_modified" : "2015-05-27T16:20:09.120Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Within normal limits " ], [ "010", "Less than 1.5 x N\n(Less than 1.5 times the upper limit of normal for lactate dehydrogenase (LDH))" ], [ "020", "1.5 to 5 x N\n(Between 1.5 and 5 times the upper limit of normal for LDH)" ], [ "025", "5.1-10 x N\n(Between 5.1 and 10 times the upper limit of normal for LDH)" ], [ "030", "Greater than 10 x N\n(Greater than 10 times the upper limit of normal for LDH)" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this schema" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaw.json deleted file mode 100644 index 0101a273c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oaw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oaw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Mediastinal Nodal Status", - "notes" : "**Note**: The mediastinal nodal status corresponds to the assessment method recorded in CS Site-Specific Factor 7.", - "last_modified" : "2015-05-27T16:20:09.168Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative lymph nodes" ], [ "010", "Positive lymph nodes" ], [ "888", "OBSOLETE DATA CONVERTED V0200 Converted to code 988 Not applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oax.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oax.json deleted file mode 100644 index 3ecc948ec..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oax.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oax", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "LDH Upper Limits of Normal", - "notes" : "**Note 1**: Upper limits of normal for Lactate dehydrogenase (LDH) vary widely depending on the lab. Common upper limits can be 200, 250, 618, or other values. The upper limit of normal is needed to evaluate the LDH value recorded in CS Site-Specific Factor 5.\n\n**Note 2**: Record upper limit of normal used for the LDH test as listed on the laboratory report or in the medical record. The information should be taken from the same test used to code CS Site-Specific Factor 4 and CS Site-Specific Factor 5.", - "last_modified" : "2015-05-27T16:20:09.213Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-979", "001 - 979 upper limit of normal \n(Exact upper limit of normal)" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Upper limit of normal not in chart " ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oay.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oay.json deleted file mode 100644 index bf8f0a06a..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oay.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oay", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Pre-Orchiectomy Alpha Fetoprotein (AFP) Lab Value", - "notes" : "**Note 1**: Record the value of the alpha fetoprotein (AFP) test as documented in the patient record prior to orchiectomy and other treatment.\n\n**Note 2**: Use the same laboratory test to record values for CS Site-Specific Factor 6 and CS Site-Specific Factor 7.\n\n**Note 3**: Record a pretreatment AFP of 20 nanograms/milliliter (ng/ml) as 002; record a pretreatment AFP of 11,000 ng/ml as 200.\n\n**Note 4**: Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of AFP). Do not round tiny values down to 0.0 ng/ml; any measured value less than or equal to 0.1 ng/ml should be coded 001. For values greater than 001 ng/ml, round values to the nearest ng/ml.\n\n**Note 5**: A lab value expressed in micrograms/liter (ug/l) is equivalent to the same value expressed in ng/ml.\n\n**Note 6**: If the pre-orchiectomy AFP test is done but the actual value is not stated, use code 997.\n\n**Note 7**: For rare cases that are treated prior to orchiectomy, use code 995 in this field and record the initial AFP lab value in CS Site-Specific Factor 12.\n\n**Note 8**: For rare cases that an orchiectomy is not performed, use code 996 in this field and record the initial AFP lab value in CS Site-Specific Factor 12.", - "last_modified" : "2015-05-27T16:20:09.259Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 nanograms/milliliter (ng/ml)" ], [ "001", "1 - 19 ng/ml" ], [ "002", "20 - 29 ng/ml" ], [ "003", "30 - 39 ng/ml" ], [ "004", "40 - 49 ng/ml" ], [ "005", "50 - 59 ng/ml" ], [ "006", "60 - 69 ng/ml" ], [ "007", "70 - 79 ng/ml" ], [ "008", "80 - 89 ng/ml" ], [ "009", "90 - 99 ng/ml" ], [ "010", "100 - 199 ng/ml" ], [ "020", "200 - 299 ng/ml" ], [ "030", "300 - 399 ng/ml" ], [ "040", "400 - 499 ng/ml" ], [ "050", "500 - 599 ng/ml" ], [ "060", "600 - 699 ng/ml" ], [ "070", "700 - 799 ng/ml" ], [ "080", "800 - 899 ng/ml" ], [ "090", "900 - 999 ng/ml" ], [ "100", "1000 - 1999 ng/ml" ], [ "120", "2000 - 2999 ng/ml" ], [ "130", "3000 - 3999 ng/ml" ], [ "140", "4000 - 4999 ng/ml" ], [ "150", "5000 - 5999 ng/ml" ], [ "160", "6000 - 6999 ng/ml" ], [ "170", "7000 - 7999 ng/ml" ], [ "180", "8000 - 8999 ng/ml" ], [ "190", "9000 - 9999 ng/ml" ], [ "200", "Greater than or equal to 10, 000 ng/ml" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n \nNot applicable for this site\n" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "995", "Pretreated case, initial alpha fetoprotein (AFP) lab value recorded in CS Site-Specific Factor 12" ], [ "996", "No orchiectomy performed, initial AFP lab value recorded in CS Site-Specific Factor 12" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_ona.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_ona.json deleted file mode 100644 index e36d1821c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_ona.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf6_ona", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "last_modified" : "2015-05-27T16:20:09.306Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n Not applicable for this site" ], [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opa.json deleted file mode 100644 index cfc8385be..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_opa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "notes" : "**Note 1**: CS Site-Specific Factors 3-6 are used to code the presence or absence of lymph node involvement in each of 7 different levels and other groups defined by AJCC. The definitions of the levels are the same for all applicable head and neck sites. One digit is used to represent lymph nodes of a single level, with the three digits of CS Site-Specific Factor 3 representing lymph nodes ofLevels I-III; the digits of CS Site-Specific Factor 4 representing lymph nodes of Levels IV and V and the retropharyngeal nodes; the digits of CS Site-Specific Factor 5 representing lymph nodes of Levels VI and VII and the facial nodes; and the digits of CS Site-Specific Factor 6 representing the remaining Other groups as defined by AJCC. In each digit, a code 1 means Yes, the nodes are involved.\n\n**Note 2**: If involved regional node levels are documented as a range, or if the involved nodes overlap multiple levels, code all levels specified.\n\n**Note 3**: If regional node(s) are known to be positive but the level of node(s) involved is unknown, use code 000.", - "last_modified" : "2015-05-27T16:20:09.353Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involvement of any group: \n Parapharyngeal lymph nodes \n Parotid (preauricular, periparotid, and/or intraparotid) lymph nodes\n Suboccipital/retroauricular lymph nodes" ], [ "100", "Parapharyngeal lymph node(s) involved" ], [ "010", "Parotid (preauricular, periparotid, and/or intraparotid) lymph node(s) involved" ], [ "001", "Suboccipital/retroauricular lymph node(s) involved" ], [ "110", "Involvement of two groups:\n Parapharyngeal lymph nodes \n Parotid (preauricular, periparotid, and/or intraparotid) lymph nodes" ], [ "101", "Involvement of two groups:\n Parapharyngeal lymph nodes \n Suboccipital/retroauricular lymph nodes" ], [ "011", "Involvement of two groups:\n Parotid (preauricular, periparotid, and/or intraparotid) lymph nodes\n Suboccipital lymph nodes" ], [ "111", "Involvement of three groups:\n Parapharyngeal lymph nodes\n Parotid (preauricular, periparotid, and/or intraparotid) lymph nodes\n Suboccipital/retroauricular lymph nodes" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "999", "Unknown if regional lymph node involved, not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opb.json deleted file mode 100644 index 571ed534f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_opb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Circumferential Resection Margin (CRM)", - "notes" : "**Note 1**: Tumor involvement of the circumferential resection margin (CRM) appears to be a strong prognostic factor for local or systemic recurrences and survival after surgery.\n\n**Note 2**: The CRM may also be referred to as the circumferential radial margin or mesenteric margin.\n\n**Note 3**: According to AJCC 7th Edition Cancer Staging Manual, \"The CRM is the surgically dissected nonperitonealized surface of the specimen. It corresponds to any aspect of the colorectum that is not covered by a serosal layer of mesothelial cells and must be dissected from the retroperitoneum or subperitoneum in order to remove the viscus. In contradistinction, serosalized surfaces of the colorectum are not dissected; they are naturally occurring anatomic structures and are not pathologic surgical margins. The circumferential surface of surgical resection specimens of ascending colon, descending colon, or upper rectum is only partially peritonealized, and the demarcation between the peritonealized surface and the nonperitonealized surface (corresponding to the CRM) of such specimens is not always easily appreciated on pathologic examination.\"\n\n**Note 4**: Record to the nearest tenth in millimeters (mm) the distance between the leading edge of the tumor and the nearest edge of surgically dissected margin as recorded in the pathology report. For example, if the CRM is 2 mm, code 020. If the margin is involved (positive), use code 000. If the margin is described as less than 1 mm with no more specific measurement, use code 000; margins of 0-1 mm are recorded by the pathologist as involved. \n\n**Note 5**: Codes 001-980 record exact measurements. Codes 992-996 are used for margin descriptions lacking specific measurements.\n\n**Note 6**: Use code 999 (CRM not mentioned) if the pathology report describes only distal and proximal margins, or margins, NOS. Only specific statements about the CRM are collected in this data item.", - "last_modified" : "2015-05-27T16:20:09.402Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Margin IS involved with tumor\nCircumferential resection margin (CRM) positive\nDescribed as \"less than 1 millimeter (mm)\"" ], [ "001-980", "0.1- 98.0 millimeter (mm)\n(Exact size to nearest tenth of millimeter)" ], [ "981", "98.1 mm or greater" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "No residual tumor identified on specimen" ], [ "991", "Margins clear, distance from tumor not stated\nCRM negative, NOS" ], [ "992", "Described as \"less than 2 mm,\" or \"greater than 1 mm,\" or \"between 1 mm and 2 mm\"" ], [ "993", "Described as \"less than 3 mm,\" or \"greater than 2 mm,\" or \"between 2 mm and 3 mm\"" ], [ "994", "Described as \"less than 4 mm,\" or \"greater than 3 mm,\" or \"between 3 mm and 4 mm\"" ], [ "995", "Described as \"less than 5 mm,\" or \"greater than 4 mm,\" or \"between 4 mm and 5 mm\"" ], [ "996", "Described as \"greater than 5 mm\"" ], [ "998", "No resection of primary site \nSurgical procedure did not remove enough tissue to measure the CRM\n(Examples include: polypectomy only, excision of tumor only or excisional biopsy only)" ], [ "999", "Unknown or no information\nCRM not mentioned\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opd.json deleted file mode 100644 index 7f9e6311d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_opd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Chromosome 6p Status", - "notes" : "**Note 1**: A central part of the short arm of chromosome 6 (6p) may contain one or more oncogenes directly involved in tumor progression.\n\n**Note 2**: A gain in chromosomes may also be termed \"multiple copies\" or \"greater than normal.\"", - "last_modified" : "2015-05-27T16:20:09.449Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No gain in chromosome 6p" ], [ "010", "Gain in chromosome 6p" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nConverted to code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opf.json deleted file mode 100644 index 0153c7d8e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_opf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Chromosome 19q: Loss of Heterozygosity (LOH)", - "notes" : "**Note 1**: This is a special molecular diagnostic test performed on tumor tissue to identify loss of genetic material normally found on the long arm of one of the patient's two copies of chromosome 19. A normal cell will contain two complete copies of each chromosome, one from each parent, and this normal state is termed heterozygous. Loss of heterozygosity (LOH) is an abnormal state reflecting damage to the chromosome.\n\n**Note 2**: Other terms for LOH include gene deletion and allelic loss.\n\n**Note 3**: For brain tumors, tests for LOH of chromosomes 1p and 19q may be performed at the same time and reported on a single report. See also CS Site-Specific Factor 5.", - "last_modified" : "2015-05-27T16:20:09.493Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Test positive for loss of heterozygosity (LOH)" ], [ "020", "Test negative for LOH" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "No histologic examination of primary site\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opg.json deleted file mode 100644 index 6b9f633f5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_opg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Number of Examined Para-Aortic Nodes", - "notes" : "**Note**: Record the number of examined para-aortic nodes documented in the patient record. Apply the same instructions in General Rules, Part I for coding Regional Nodes Examined.", - "last_modified" : "2015-05-27T16:20:09.538Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No para-aortic nodes examined." ], [ "001-089", "1 - 89 para-aortic nodes examined \n(Exact number of para-aortic lymph nodes examined)." ], [ "090", "90 or more para-aortic nodes examined." ], [ "095", "No para-aortic nodes removed, but aspiration or core biopsy of para-aortic nodes performed." ], [ "096", "Para-aortic lymph node removal documented as a sampling, but number of nodes unknown/not stated." ], [ "097", "Para-aortic lymph node removal documented as a dissection, but number of nodes unknown/not stated." ], [ "098", "Para-aortic lymph nodes surgically removed, but the number of lymph nodes unknown/not stated and not documented as a sampling or dissection" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown if nodes examined; \nNot documented in patient record." ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oph.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oph.json deleted file mode 100644 index 2aa1e140f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_oph.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oph", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1**: The mitotic rate, the count of mitoses (also termed \"mitotic figures\") per 50 high-power fields (HPF), reflects the potential aggressiveness or prognosis of gastrointestinal stromal tumors (GISTs) and is used alone to determine their histologic grade (low or high). The mitotic rate is also a factor in assigning the AJCC 7 anatomic stage/prognostic group. This site-specific factor presumes the denominator of 50 HPF or its equivalent, so just the numerator (the mitotic count) is coded here. For other schemas in which mitotic count is collected, the denominator may vary.\n\n**Note 2**: A HPF usually has a magnification objective of 40 (a 40x field). As described in the AJCC chapter on GIST, 50 HPF are equivalent to viewing a total area of 5 square millimeters (mm) at 40x magnification.\n\n**Note 3**: Record mitotic count, to the nearest tenth of a mitosis, as documented in the pathology report. For example, a mitotic count of 6/50 HPF, or 6 per 5 square mm, would be coded 060.\n\n**Note 4**: Code the specific mitotic count only per 50 HPF or 5 square mm; assume the denominator is 50 HPF or 5 square mm if not specified. \n\n**Note 5**: Use code 996 for a description of mitoses, NOS, or if the mitotic count is expressed with a specific denominator other than 50 HPF or 5 square mm.", - "last_modified" : "2015-05-27T16:20:09.600Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 mitoses per 50 high-power fields (HPF) (40x fields)\n0.0 mitoses per 5 square millimeters (mm)\nMitoses absent\nNo mitoses present" ], [ "001-008", "0.1-0.8 mitoses per 50 HPF (40x field)\n0.1-0.8 mitoses per 5 square mm" ], [ "009", "0.9 mitoses per 50 HPF (40x fields)\n0.9 mitoses per 5 square mm\n\nStated as less than 1 mitosis per 50 HPF (40x fields)\nStated as less than 1 mitosis per 5 square mm" ], [ "010-100", "1 - 10 mitoses per 50 HPF (40x fields)\n1 - 10 mitoses per 5 square mm" ], [ "110", "11 or more mitoses per 50 HPF (40x fields)\n11 or more mitoses per 5 square mm" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Specific number not stated, described as less than or equal to 5 mitoses per 50 HPF (40x fields)\nSpecific number not stated, described as less than or equal to 5 mitoses per 5 square mm\n\nStated as low mitotic count or rate with no specific number" ], [ "991", "Specific number not stated, described as more than 5 mitoses per 50 HPF (40x fields)\nSpecific number not stated, described as more than 5 mitoses per 5 square mm\n\nStated as high mitotic count or rate with no specific number" ], [ "995", "OBSOLETE DATA CONVERTED V0203\nSee code 991\n\nSpecific number not stated, described as greater than 5 mitoses per 50 high-power fields (40x field)\nSpecific number not stated, described as greater than 5 mitoses per 5 square millimeters" ], [ "996", "Mitotic count described with denominator other than 50 HPF (40x field)/5 square mm\nMItoses present, NOS" ], [ "998", "No histologic specimen from primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opi.json deleted file mode 100644 index 8767fe163..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf6_opi.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_opi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF6", - "title" : "CS Site-Specific Factor 6", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1**: The mitotic count, the number of mitoses per 10 high-power fields (HPF), is an element in a proposed grading scheme for neuroendocrine tumors (NET) of the gastrointestinal system. This site-specific factor presumes the denominator of 10 HPF, so just the numerator (the mitotic count) is coded here. For other schemas in which mitotic count is collected, the denominator may vary.\n\n**Note 2**: As described in the AJCC chapter on NETs, 10 HPF at a magnficiation objective of 40 (40x) are equivalent to 2 square millimeters (mm).\n\n**Note 3**: Record mitotic count to the nearest tenth as documented in the pathology report. For example, a mitotic count of 3/10 HPF would be coded 030.\n\n**Note 4**: Code the specific mitotic count only per 10 HPF or 2 square mm; assume the denominator is 10 HPF or 2 square mm if not specified. Use code 996 only if the mitotic count is expressed with a specific denominator other than 10 HPF or 2 square mm.", - "last_modified" : "2015-05-27T16:20:09.650Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 mitoses per 10 high-power fields (HPF) (40x field)\n0.0 mitoses per 2 square millimeters (mm)\nMitoses absent\nNo mitoses present" ], [ "001-008", "0.1 - 0.8 mitosis per 10 HPF (40x field)\n0.1 - 0.8 mitosis per 2 square mm" ], [ "009", "0.9 mitosis per 10 HPF (40x field)\n0.9 mitosis per 2 square mm\n\nStated as less than 1 mitosis per 10 HPF (40x field)\nStated as less than 1 mitosis per 2 square mm" ], [ "010-500", "1 - 50 mitoses per 10 HPF (40x field)\n1 - 50 mitoses per 2 square mm" ], [ "510", "51 or more mitoses per 10 HPF (40x field)\n51 or more mitoses per 2 square mm" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988 \n\nNot applicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "990", "Specific number not stated, described as less than 2 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as less than 2 mitoses per 2 square mm\n\nStated as low mitotic count or rate with no specific number" ], [ "991", "Specific number not stated, described as between 2 and 20 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as between 2 and 20 mitoses per 2 square mm" ], [ "992", "Specific number not stated, described as more than 20 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as more than 20 mitoses per 2 square mm\n\nStated as high mitotic count or rate with no specific number" ], [ "995", "OBSOLETE DATA CONVERTED V0203\nSee code 991\n\nSpecific number not stated, described as between 2-20 mitoses per 10 high-power fields (40x field)\nSpecific number not stated, described as between 2-20 mitoses per square millimeter" ], [ "996", "Mitotic count described with denominator other than 10 HPF (40x field) or 2 square mm" ], [ "997", "OBSOLETE DATA CONVERTED V0203\nSee code 992\n\nSpecific number not stated, described as more than 20 mitoses per 10 high-power fields (40x field)\nSpecific number not stated, described as more than 20 mitoses per square millimeter" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saa.json deleted file mode 100644 index f03241b94..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_saa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Nottingham or Bloom-Richardson (BR) Score/Grade", - "notes" : "**Note 1**: AJCC recommends the Nottingham combined histologic grade (Elston-Ellis modification of the Scarff-Bloom-Richardson grading system). Terms seen on pathology reports may include: Bloom-Richardson (BR), modified Bloom-Richardson, BR, BR grading, Scarff-Bloom-Richardson, SBR grading, , Elston-Ellis modification of Bloom-Richardson score, Nottingham modification of Bloom-Richardson score, Nottingham modification of Scarff-Bloom-Richardson, Nottingham-Tenovus grade, or Nottingham grade.\n\n**Note 2**: Code the highest score prior to neoadjuvant treatment.\n\n**Note 3**: Code the tumor grade using the following priority order: a). BR scores 3-9; b). BR grade (low, intermediate, high).\n\n**Note 4**: BR score may be expressed as a range, 3-9. The score is based on three morphologic features of \"invasive no-special-type\" breast cancers (degree of tubule formation/histologic grade, mitotic activity, nuclear pleomorphism/nuclear grade of tumor cells). If a report describes any of the factors with words (low, intermediate, high) rather than numbers, do not attempt to translate these words into a score or number; use codes 110-130.\n\n**Note 5**: If only a grade of 1 through 4 is given with no information on the score and it is unclear if it is a Nottingham or BR Grade, code 999.\n\n**Note 6**: Code the highest score prior to neoadjuvant treatment if multiple scores are reported. For examples, different scores may be reported on multiple pathology reports for the same primary cancer; different scores may be reported for multiple tumors assigned to the same primary cancer.", - "last_modified" : "2015-05-27T16:20:09.697Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "030", "Score of 3" ], [ "040", "Score of 4" ], [ "050", "Score of 5" ], [ "060", "Score of 6" ], [ "070", "Score of 7" ], [ "080", "Score of 8" ], [ "090", "Score of 9" ], [ "110", "Low Grade, Bloom-Richardson (BR) grade 1, score not given" ], [ "120", "Medium (Intermediate) Grade, BR grade 2, score not given" ], [ "130", "High Grade, BR grade 3, score not given" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No histologic examination of primary site" ], [ "999", "Neither BR grade nor BR score given\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saq.json deleted file mode 100644 index 4c8ba3fcf..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_saq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Rheumatoid Arthritis", - "notes" : "**Note**: Code history of rheumatoid arthritis as documented by the physician or coded in the medical record.", - "last_modified" : "2015-05-27T16:20:09.742Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of rheumatoid arthritis" ], [ "010", "History of rheumatoid arthritis" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saw.json deleted file mode 100644 index 6062f6bb8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_saw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_saw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Gleason's Primary Pattern and Secondary Pattern Values on Needle Core Biopsy/Transurethral Resection of Prostate (TURP)", - "notes" : "**Note 1**: Code the Gleason's primary and secondary patterns from needle core biopsy or TURP only in this field. Gleason's primary and secondary patterns provided on prostate tissue on a transurethral resection of bladder (TURB) specimen can also be used in this field.\n\n**Note 2**: Code the Gleason's primary and secondary patterns prior to neoadjuvant treatment.\n\n**Note 3**: Usually prostate cancers are graded using Gleason's score or pattern. Gleason's grading for prostate primaries is based on a 5-component system (5 histologic patterns). Prostatic cancer generally shows two main histologic patterns. The primary pattern, the pattern occupying greater than 50% of the cancer, is usually indicated by the first number of the Gleason's grade, and the secondary pattern is usually indicated by the second number. These two numbers are added together to create a pattern score, ranging from 2 to 10. \n\n* If there are two numbers, assume that they refer to two patterns (the first number being the primary pattern and the second number the secondary pattern), and sum them to obtain the score.\n* If only one number is given and it is less than or equal to 5, assume that it describes a pattern. Code the number as the primary pattern and code the secondary pattern as 9. \n* If only one number is given and it is greater than 5, assume that it is a score. Code 099. \n* If the pathology report specifies a specific number out of a total of 10, the first number given is the score. Example: The pathology report says Gleason's 3/10. The Gleason's score would be 3, and coded as 099.\n\n**Note 4**: If different patterns are documented on multiple needle core biopsies code the pattern that reflects the highest or most aggressive score regardless if the pathologist provides an overall pattern in a final summary. If different patterns equal the same high score, give priority to the highest primary pattern and then the highest secondary pattern. For example, both Gleason's 3, 4 and Gleason's 4, 3 equal Gleason's score 7; code 043. Do not mix patterns from multiple specimens.\n\n**Note 5**: If needle core biopsy and TURP are both performed, code the pattern that reflects the highest score.\n\n**Note 6**: If needle core biopsy and TURP are not performed, use code 998. If the Gleason's pattern and score are not documented on needle core biopsy or TURP, use code 999.", - "last_modified" : "2015-05-27T16:20:09.789Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "011", "Primary pattern 1, secondary pattern 1 " ], [ "012", "Primary pattern 1, secondary pattern 2" ], [ "013", "Primary pattern 1, secondary pattern 3" ], [ "014", "Primary pattern 1, secondary pattern 4" ], [ "015", "Primary pattern 1, secondary pattern 5" ], [ "019", "Primary pattern 1, secondary pattern unknown" ], [ "021", "Primary pattern 2, secondary pattern 1" ], [ "022", "Primary pattern 2, secondary pattern 2" ], [ "023", "Primary pattern 2, secondary pattern 3" ], [ "024", "Primary pattern 2, secondary pattern 4" ], [ "025", "Primary pattern 2, secondary pattern 5" ], [ "029", "Primary pattern 2, secondary pattern unknown" ], [ "031", "Primary pattern 3, secondary pattern 1" ], [ "032", "Primary pattern 3, secondary pattern 2" ], [ "033", "Primary pattern 3, secondary pattern 3" ], [ "034", "Primary pattern 3, secondary pattern 4" ], [ "035", "Primary pattern 3, secondary pattern 5" ], [ "039", "Primary pattern 3, secondary pattern unknown" ], [ "041", "Primary pattern 4, secondary pattern 1" ], [ "042", "Primary pattern 4, secondary pattern 2" ], [ "043", "Primary pattern 4, secondary pattern 3" ], [ "044", "Primary pattern 4, secondary pattern 4" ], [ "045", "Primary pattern 4, secondary pattern 5" ], [ "049", "Primary pattern 4, secondary pattern unknown" ], [ "051", "Primary pattern 5, secondary pattern 1" ], [ "052", "Primary pattern 5, secondary pattern 2" ], [ "053", "Primary pattern 5, secondary pattern 3" ], [ "054", "Primary pattern 5, secondary pattern 4" ], [ "055", "Primary pattern 5, secondary pattern 5" ], [ "059", "Primary pattern 5, secondary pattern unknown" ], [ "099", "Primary pattern unknown, secondary pattern unknown" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No needle core biopsy/TURP performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sbv.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sbv.json deleted file mode 100644 index 46da54686..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sbv.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sbv", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Mucoepidermoid Carcinoma - Grade", - "notes" : "**Note 1**: Code only for cases diagnosed as mucoepidermoid carcinoma, histology code 8430/3. \n\n**Note 2**: Use code 987 for all other histologies. Use code 998 if no pathologic examination of primary site. Use code 999 if grade not stated on pathologic examination.", - "last_modified" : "2015-05-27T16:20:09.836Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Low grade" ], [ "020", "High grade" ], [ "987", "Not applicable: Histology not mucoepidermoid carcinoma" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No pathologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sbx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sbx.json deleted file mode 100644 index 9604a0b72..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sbx.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sbx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Size of Metastasis in Lymph Nodes", - "notes" : "**Note**: Code the size of the largest metastasis in a lymph node as documented in the pathology report, not the size of the lymph node. If the size of the metastasis is not documented in the pathology report, code the size of the largest involved lymph node as documented pathologically or clinically with pathology taking priority. Do not code the size of any node(s) coded in CS Mets at DX.", - "last_modified" : "2015-05-27T16:20:09.889Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph node(s) involved" ], [ "001-979", "1 - 979 millimeter (mm) \n(Exact size of lymph node metastasis to nearest mm)" ], [ "980", "980 mm or larger" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm\" or \"greater than 1 cm\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm\" or \"greater than 2 cm\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm\" or \"greater than 3 cm\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm\" or \"greater than 4 cm\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 6 cm\" or \"greater than 5 cm\" or \"between 5 cm and 6 cm\"" ], [ "997", "Described as \"more than 6 cm\"" ], [ "998", "OBSOLETE DATA CONVERTED V0203\nSee code 999\n\nNo histologic examination to determine ipsilateral adrenal gland involvement" ], [ "999", "Regional lymph node(s) involved, size not stated\nUnknown if regional lymph node(s) involved\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_scb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_scb.json deleted file mode 100644 index 94ac63e5b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_scb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_scb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Total Bilirubin Unit of Measure", - "notes" : "**Note 1**: There are two main methods of describing concentrations: by weight, and by molecular count. Weights are recorded in grams, and molecular counts are recorded in moles. Milligrams/deciliter (mg/dl) is the unit of measure commonly used in the United States. Micromoles/liter (umol/l) is the designated Systeme International (SI) unit of measure commonly used in Canada and Europe.\n\n**Note 2**: If the test was done but the total bilirubin unit of measure is not stated, code 997.\n\n**Note 3**: The same laboratory test should be used to record information in CS Site-Specific Factors 6 and CS Site-Specific Factor 7.", - "last_modified" : "2015-05-27T16:20:09.933Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nTest not done (test not ordered or not performed)" ], [ "010", "Milligrams per deciliter (mg/dL)" ], [ "020", "Micromoles/liter (umol/L)" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart\nTest performed, unit of measure not specified\nTest performed, different unit of measure used, unit not specified" ], [ "998", "CONVERTED AND CODE REUSED V0203\nPrior to V0203 code defined as \"Test ordered, results not in chart\". Cases converted to code 997 with V0203 and code 998 redefined as \"Test not done (test not ordered and not performed)\".\n\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_scq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_scq.json deleted file mode 100644 index ba1f437ba..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_scq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_scq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Tumor Necrosis", - "notes" : "**Note**: Code the presence or absence of tumor necrosis as documented in the pathology report. Assign code 000 if histologic examination of primary site was performed, the pathology report is available for review, and tumor necrosis is not mentioned.", - "last_modified" : "2015-05-27T16:20:09.978Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Tumor necrosis not present/not identified " ], [ "010", "Tumor necrosis present/identified" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Histologic examination of primary site performed, unknown results" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sde.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sde.json deleted file mode 100644 index 8e33f2672..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sde.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sde", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Number of Examined Para-Aortic Nodes", - "notes" : "**Note 1**: Record the number of examined para-aortic nodes documented in the patient record. Apply the same instructions in General Rules, Part I for coding Regional Nodes Examined to this data item.\n\n**Note 2**: Under CSV0200, this site-specific factor incorrectly had a different meaning for code 000. All of the cases coded in CSv2 before CSv2:V0203 are reviewed and coded to the current codes.", - "last_modified" : "2015-05-27T16:20:10.022Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No para-aortic nodes examined" ], [ "001-089", "1 - 89 para-aortic nodes examined \n(Exact number of para-aortic lymph nodes examined)" ], [ "090", "90 or more para-aortic nodes examined" ], [ "095", "No para-aortic nodes removed, but aspiration or core biopsy of para-aortic nodes performed" ], [ "096", "Para-aortic lymph node removal documented as a sampling, but number of nodes unknown/not stated" ], [ "097", "Para-aortic lymph node removal documented as a dissection, but number of nodes unknown/not stated" ], [ "098", "Para-aortic lymph nodes surgically removed, but number of nodes unknown/not stated and not documented as a sampling or dissection" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown if para-aortic nodes examined\nNot documented in patient record." ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdf.json deleted file mode 100644 index bd1a832f2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sdf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Assessment Method of Distant (Mediastinal, Scalene) Nodal Status", - "notes" : "**Note 1**: The assessment results are recorded in CS Site-Specific Factor 6.\n\n**Note 2**: Use the highest applicable code.", - "last_modified" : "2015-05-27T16:20:10.066Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nLymph nodes were not assessed" ], [ "010", "Clinical assessment" ], [ "020", "Radiography, imaging \n(Ultrasound (US), Computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))" ], [ "030", "Incisional biopsy; FNA" ], [ "040", "Lymphadenectomy\nExcisional biopsy or resection with microscopic confirmation" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is requried by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdo.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdo.json deleted file mode 100644 index cd7ad4914..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdo.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sdo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "KIT Gene Mutations", - "notes" : "**Note 1**: This is a special molecular diagnostic test performed on tumor tissue to identify mutations in specific parts (called exons) of the KIT gene. Certain patterns of mutations correlate with the anatomic site and morphology of gastrointestinal stromal tumors (GISTs) tumors and can predict response to treatment with agents such as imatinib mesylate (Gleevec) and sunitinib malate (Sutent). Some mutations are associated with acquired resisteance to imatinib treatment; do not record secondary or acquired mutations that may have been caused by long-term imatinib treatment.\n\n**Note 2**: Code the mutation locations found from the KIT gene test. Another name for KIT is CD117.\n\n**Note 3**: See CS Site-Specific Factor 6 for coding information about KIT expression detected with immunohistochemistry (IHC). See CS Site-Specific Factor 8 for coding information about mutations of the PDGFRA gene.", - "last_modified" : "2015-05-27T16:20:10.110Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "KIT gene test negative for mutations; no mutations; normal or wild-type gene" ], [ "010", "KIT gene test positive for mutation of exon 9 only" ], [ "020", "KIT gene test positive for mutation of exon 11 only" ], [ "030", "KIT gene test positive for mutation of exon 13 only" ], [ "040", "KIT gene test positive for mutation of exon 17 only" ], [ "800", "KIT gene test positive for one other specified mutation" ], [ "810", "KIT gene test performed, positive for more than one specific mutation" ], [ "850", "KIT gene test positive, NOS; mutation(s) found but the specific mutation(s) are not stated" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdx.json deleted file mode 100644 index 7eb89f9c2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sdx.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sdx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Assessment Method of Mediastinal Nodal Status", - "notes" : "**Note 1**: The assessment results are recorded in CS Site-Specific Factor 6.\n\n**Note 2**: Use the highest applicable code 010-040.", - "last_modified" : "2015-05-27T16:20:10.155Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nLymph nodes were not assessed" ], [ "010", "Clinical assessment" ], [ "020", "Radiography; imaging \n(Ultrasound (US), computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))" ], [ "030", "Incisional biopsy; fine needle aspirate (FNA)" ], [ "040", "Lymphadenectomy\nExcisional biopsy or resection with microscopic confirmation" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_seb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_seb.json deleted file mode 100644 index fe3de69e7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_seb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_seb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Primary Tumor Mitotic Count/Rate", - "notes" : "**Note 1**: According to AJCC, p. 329, \"Data from the AJCC Melanoma Staging Database demonstrated a highly significant correlation with increasing mitotic rate and declining survival rates, especially within thin melanoma subgroups.\"\n\n**Note 2**: Mitotic rate/count is assessed on primary melanomas, based on the number of mitotic figures in one square millimeter (mm) surrounding either a \"hot spot\" with the most mitotic figures or a field with a representative mitosis.\n\n**Note 3**: Record the mitotic rate/count as documented in the pathology report. If there is more than one pathology report for the same melanoma at initial diagnosis and different mitotic counts are documented, code the highest mitotic count from any of the pathology reports. Use code 999 if there is no documentation or no mention of mitotic rate in any pathology report for the same melanoma.", - "last_modified" : "2015-05-27T16:20:10.202Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 mitoses per square millimeter (mm)\nMitoses absent\nNo mitoses present" ], [ "001-010", "1 - 10 mitoses/square mm\n(Exact measurement in mitoses/square mm) \n\nExamples:\n 001 1 mitosis per square mm\n 002 2 mitoses per square mm\n 010 10 mitoses per square mm" ], [ "011", "11 or more mitoses per square mm" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "990", "Stated as \"less than 1 mitosis/square mm\"\nStated as \"nonmitogenic\" " ], [ "991", "Stated as \"at least 1 mitosis/square mm\"\nStated as \"mitogenic\"" ], [ "996", "Mitotic rate described with denominator other than square millimeter (mm)" ], [ "997", "Test performed, results not in chart\nTest performed, quantitative results not stated" ], [ "998", "No histologic examination of primary site." ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_seh.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_seh.json deleted file mode 100644 index 06ecd6fc4..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_seh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_seh", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Pre-Orchiectomy Alpha Fetoprotein (AFP) Range", - "notes" : "**Note 1**: Record the range of the alpha fetoprotein (AFP) test as documented in the patient record prior to orchiectomy and other treatment.\n\n**Note 2**: Use the same laboratory test to record values for CS Site-Specific Factor 6 and CS-Site-Specific Factor 7.\n\n**Note 3**: A lab value expressed in micrograms/liter (ug/L) is equivalent to the same value expressed in nanograms/milliliter (ng/ml).\n\n**Note 4**: If the pre-orchiectomy AFP test is unavailable but a physician's statement of the result is documented, use codes 991-993.\n\n**Note 5**: For rare cases that are treated prior to orchiectomy, use code 995 in this field and record the initial AFP range in CS Site-Specific Factor 13.\n\n**Note 6**: For rare cases that an orchiectomy is not performed, use code 996 in this field and record the initial AFP range in CS Site-Specific Factor 13.", - "last_modified" : "2015-05-27T16:20:10.279Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Within normal limits (S0)" ], [ "010", "Range 1 (S1) above normal and less than 1,000 nanograms/milliliter (ng/ml)" ], [ "020", "Range 2 (S2) 1,000 -10,000 ng/ml" ], [ "030", "Range 3 (S3) greater than 10,000 ng/ml" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "991", "Pre-orchiectomy alpha fetoprotein (AFP) stated to be elevated" ], [ "992", "Pre-orchiectomy AFP unknown but preorchiectomy serum tumor markers NOS stated to be normal" ], [ "993", "Pre-orchiectomy AFP unknown but preorchiectomy serum tumor markers NOS stated to be elevated" ], [ "995", "Pretreated case, initial AFP range recorded in CS Site-Specific Factor 13" ], [ "996", "No orchiectomy performed, initial AFP range recorded in CS Site-Specific Factor 13" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sfl.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sfl.json deleted file mode 100644 index 9d90054c2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sfl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sfl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Surgical Resection", - "notes" : "**Note 1**: Record the details of surgical resection here even if previously recorded within the abstract.\n\n**Note 2**: If the case is clinically diagnosed and no surgical resection is performed, use code 000.\n\n**Note 3**: Do not record stereotactic radiosurgery as tumor destruction. It should be recorded in the radiation treatment items.", - "last_modified" : "2015-05-27T16:20:10.336Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No surgery of primary site; autopsy only" ], [ "010", "Tumor destruction, NOS \nNo specimen sent to pathology" ], [ "020", "Local excision (biopsy) of tumor, lesion or mass\nSpecimen sent to pathology" ], [ "021", "Subtotal resection of tumor, lesion, or mass of brain\n(Less than half of lobe involved with tumor)\nSpecimen sent to pathology" ], [ "022", "Resection of tumor of spinal cord or nerve" ], [ "030", "Radical, total, gross resection of tumor, lesion or mass in brain\n(Less than half of lobe involved with tumor)\n(Not applicable for spinal cord or spinal nerve primary)" ], [ "040", "Partial resection of lobe of brain\n(Tumor involves more than half of lobe)\n(Not applicable for spinal cord or spinal nerve primary)" ], [ "055", "Gross total resection of lobe of brain (lobectomy) \n(Tumor involves more than half of lobe)\n(Not applicable for spinal cord or spinal nerve primary)" ], [ "090", "Surgery, NOS" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown if surgery performed; death certificate only\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_snb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_snb.json deleted file mode 100644 index fea82d7a6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_snb.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf7_snb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "last_modified" : "2015-05-27T16:20:10.378Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spa.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spa.json deleted file mode 100644 index 0275ab9a9..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_spa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Upper and Lower Cervical Node Levels", - "notes" : "**Note 1**: AJCC requires that nodes be designated as involving upper or lower levels within the neck. The boundary between upper and lower levels is the lower border of the cricoid cartilage.\n\n**Note 2**: Nodes in Levels I, II, and III are upper level nodes. Nodes in Levels IV and VII are lower level nodes. Nodes in Level VA are upper level nodes, and nodes in Level VB are lower level nodes. Level VI nodes span both upper and lower levels. Nodes included in Other groups (Facial, Parotid, Parapharyngeal, Retropharyngeal, Retroauricular, and Suboccipital) are all upper level nodes.\n\n**Note 3**: Code the location of nodal involvement in relation to the lower border of the cricoid cartilage of all involved nodes, whether assessed clinically or pathologically, as stated by a physician.\n\n**Note 4**: If there is no physician statement of upper and/or lower level nodal involvement, assign nodes in Levels I, II, III, and VA nodes to upper level. Assign nodes in Levels IV, VB, and VII to lower level. If Level V (A and B not specified) and/or Level VI nodes are involved with no further information about location, use code 040.\n\n**Note 5**: A description of \"mid neck\" requires clarification with the physician. Code 040, unknown level, if \"mid neck\" is the only information available.", - "last_modified" : "2015-05-27T16:20:10.423Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph nodes involved" ], [ "010", "Upper level lymph node(s) involved \n(All involved nodes above the lower border of the cricoid cartilage)" ], [ "020", "Lower level lymph node(s) involved \n(All involved nodes below the lower border of the cricoid cartilage)" ], [ "030", "Upper and lower level lymph nodes involved \n(All involved nodes both above and below the lower border of the cricoid cartilage)" ], [ "040", "Unknown level lymph node(s) involved \n(Unable to determine if involved nodes above or below the lower border of the cricoid cartilage)" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown if regional lymph nodes involved, not stated \nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spf.json deleted file mode 100644 index 69d237a2c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_spf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Microsatellite Instability (MSI)", - "notes" : "**Note 1**: The microsatellite instability (MSI) test is a genetic test performed on tumor tissue to look for differences in length of certain non-functioning sections of DNA. The differences are caused by problems with the genes that normally repair DNA. A high-positive MSI (MSI-H) result may indicate that the gene repair problem is related to the development of the cancer, and that the patient may have hereditary nonpolyposis colorectal cancer (HNPCC), also known as Lynch syndrome.) A low-positive or stable MSI result (stable meaning that there are no differences in the lengths) means it is unlikely that the cancer is related to a hereditary condition. \n\n**Note 2**: Testing for MSI may be done by immunology or genetic testing. Some laboratories only test for MSI via immunology. Results from immunology will only provide you with positive or negative results and will not specify whether the MSI is low or high. If the testing was done via immunology, do not use codes 040 or 050. Only genetic testing results will specify whether the MSI is low or high.", - "last_modified" : "2015-05-27T16:20:10.481Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "020", "Microsatellite instability (MSI) stable; no MSI; negative, NOS" ], [ "040", "MSI unstable low; positive, low" ], [ "050", "MSI unstable high; positive, high" ], [ "060", "MSI unstable, NOS; positive, NOS" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spw.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spw.json deleted file mode 100644 index a3c325146..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_spw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_spw", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Chromosome 8q Status", - "notes" : "**Note 1**: Genetic abnormalities in the long arm of chromosome 8 (8q) are associated with ocular melanomas.\n\n**Note 2**: A gain in chromosomes may also be termed \"multiple copies\" or \"greater than normal.\"", - "last_modified" : "2015-05-27T16:20:10.527Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No gain in chromosome 8q" ], [ "010", "Gain in chromosome 8q" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sqk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sqk.json deleted file mode 100644 index a726bd6b8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sqk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sqk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Surgical Resection", - "notes" : "**Note 1**: Record the details of surgical resection here even if previously recorded within the abstract.\n\n**Note 2**: If the case is clinically diagnosed and no surgical resection is performed, use code 000.\n\n**Note 3**: Do not record stereotactic radiosurgery as tumor destruction. It should be recorded in the radiation treatment items.", - "last_modified" : "2015-05-27T16:20:10.577Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No surgery of primary site; autopsy only" ], [ "010", "Tumor destruction, NOS \nNo specimen sent to pathology" ], [ "020", "Local excision (biopsy) of tumor, lesion or mass\nSpecimen sent to pathology" ], [ "021", "Subtotal resection of tumor, lesion, or mass of brain\n(Less than half of lobe involved with tumor)\nSpecimen sent to pathology" ], [ "022", "OBSOLETE DATA REVIEWED AND CHANGED V0203\n\nResection of tumor of spinal cord or nerve" ], [ "030", "Radical, total, gross resection of tumor, lesion or mass in brain\n(Less than half of lobe involved with tumor)" ], [ "040", "Partial resection of lobe of brain\n(Tumor involves more than half of lobe)" ], [ "055", "Gross total resection of lobe of brain (lobectomy) \n(Tumor involves more than half of lobe)" ], [ "090", "Surgery, NOS" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown if surgery performed; death certificate only\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sqn.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sqn.json deleted file mode 100644 index f5bd49a78..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sqn.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sqn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "Percentage of Non-Endometrioid Cell Type in Mixed Histology Tumors", - "notes" : "**Note 1**: Adenocarcinomas with mixed histology are graded according to the percentage of non-squamous or non-morular solid growth pattern. Morular growth pattern refers to well-defined, circumscribed, solid round nests of cells that fill and expand endometrial glands.\n\n**Note 2**: Code based on the percentage of non-endometrioid cell type as stated on the pathology report. Only use a statement of Grade 1, Grade 2, or Grade 3 if it is based on the growth pattern. If grade based on growth pattern is not specified, use code 999.", - "last_modified" : "2015-05-27T16:20:10.622Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001", "5% or less of a non-squamous or non-morular solid growth pattern (Grade 1)" ], [ "002", "6% to 50% of a non-squamous or non-morular solid growth pattern (Grade 2)" ], [ "003", "More than 50% of a non-squamous or non-morular solid growth pattern (Grade 3)" ], [ "987", "Not applicable: Not an adenocarcinoma morphology\n\nUse this code for CorpusSarcoma and CorpusAdenosarcoma schemas" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sre.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sre.json deleted file mode 100644 index cc82875e5..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf7_sre.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sre", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF7", - "title" : "CS Site-Specific Factor 7", - "subtitle" : "KIT Gene Immunohistochemistry (IHC)", - "notes" : "**Note 1**: Most gastrointestinal stromal tumors (GISTs) have oncogenic mutations of the KIT gene, which is located on chromosome 4q. KIT is a cytokine receptor which binds to stem cell factor, which causes certain types of cells to grow; altered forms of KIT may be associated with some types of cancer. This test detects expression of the KIT gene in tumor tissue sections using immunohistochemical (IHC) stains. Test results are available in the pathology report. A positive test helps to establish the diagnosis of GIST and to identify patients for whom treatment with agents such as imatinib mesylate (Gleevec) or sunitinib malate (Sutent) is appropriate. Do not record secondary or acquired mutations that may have developed because of long-term imatinib treatment.\n\n**Note 2**: Another name for KIT is CD117.\n\n**Note 3**: See CS Site-Specific Factor 8 for coding information about specific mutations of the KIT gene detectable with molecular testing. See CS Site-Specific Factor 9 for coding information about mutations of the PDGFRA gene.", - "last_modified" : "2015-05-27T16:20:10.670Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "888", "OBSOLETE DATA CONVERTED V0200\nSee code 988\n\nNot aplicable for this site" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sab.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sab.json deleted file mode 100644 index d882e41bb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sab.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sab", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "HER2: Immunohistochemistry (IHC) Lab Value", - "notes" : "**Note 1**: Record the results of only the immunohistochemistry (IHC) lab value for Human Epidermal Growth Factor Receptor 2 (HER2) in this field. The test determines if there is HER2 overexpression, or an excess amount of HER2 protein on the cell surface. The score is assigned by the pathologist based on the percentage and intensity of cell membrane staining.\n\n**Note 2**: The same laboratory test should be used to record information in CS Site-Specific Factors 8 and 9.\n\n**Note 3**: If the test is done but the actual score is not stated, code 997.\n\n**Note 4**: If the test is not mentioned in the medical record, code to 999 unless there are circumstances under which the test isn't performed, for example no histologic specimen.", - "last_modified" : "2015-05-27T16:20:10.721Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Score 0" ], [ "001", "OBSOLETE DATA CONVERTED V0203\nSee code 010\n\nScore 1+" ], [ "002", "OBSOLETE DATA CONVERTED V0203\nSee code 020\n\nScore 2+" ], [ "003", "OBSOLETE DATA CONVERTED V0203\nSee code 030\n\nScore 3+" ], [ "010", "Score of 1+" ], [ "020", "Score of 2+" ], [ "030", "Score of 3+" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sar.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sar.json deleted file mode 100644 index 31559de20..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sar.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sar", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "Sjogren Syndrome", - "notes" : "**Note**: Code history of Sjogren syndrome as documented by the physician or coded in the medical record. Sjogren syndrome is an autoimmune inflammatory disorder of lacrimal and salivary exocrine glands. The syndrome may be associated with another connective tissue disorder such as systemic lupus erythematosus or rheumatoid arthritis.", - "last_modified" : "2015-05-27T16:20:10.769Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of Sjogren syndrome" ], [ "010", "History of Sjogren syndrome" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sax.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sax.json deleted file mode 100644 index 5d09247b1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sax.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sax", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "Gleason's Score on Needle Core Biopsy/Transurethral Resection of Prostate (TURP)", - "notes" : "**Note 1**: Code the Gleason's score from needle core biopsy or TURP only in this field. Gleason's score provided on prostate tissue on a transurethral resection of bladder (TURB) can also be used in this field.\n\n**Note 2**: Code the Gleason's score prior to neoadjuvant treatment.\n\n**Note 3**: Usually prostate cancers are graded using Gleason's score or pattern. Gleason's grading for prostate primaries is based on a 5-component system (5 histologic patterns). Prostatic cancer generally shows two main histologic patterns. The primary pattern, the pattern occupying greater than 50% of the cancer, is usually indicated by the first number of the Gleason's grade, and the secondary pattern is usually indicated by the second number. These two numbers are added together to create a pattern score, ranging from 2 to 10. \n\n* If there are two numbers, assume that they refer to two patterns (the first number being the primary pattern and the second number the secondary pattern), and sum them to obtain the score.\n* If only one number is given and it is less than or equal to 5, code the total score to 999, unknown or no information. \n* If only one number is given and it is greater than 5, assume that it is a score and code as stated. \n* If the pathology report specifies a specific number out of a total of 10, the first number given is the score. Example: The pathology report says Gleason's 3/10. The Gleason's score would be 3, and coded as 003.\n\n**Note 4**: Record the Gleason's score based on the addition of the primary and secondary patterns coded in CS Site-Specific Factor 7.\n\n**Note 5**: If needle core biopsy and TURP are not performed, assign code 998. If the Gleason's pattern and score are not documented on needle core biopsy or TURP, assign code 999.", - "last_modified" : "2015-05-27T16:20:10.814Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "002-010", "Gleason's score" ], [ "988", "Not applicable: Information not collected for this case (If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No needle core biopsy/TURP performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sby.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sby.json deleted file mode 100644 index c386a000c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sby.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sby", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "Extranodal Extension of Regional Lymph Nodes", - "notes" : "**Note 1**: Code the status of extranodal extension whether assessed clinically or pathologically of any involved regional lymph node(s) coded in the CS Lymph Nodes field. Do not code extranodal extension in any nodes coded in CS Mets at DX field.\n\n**Note 2**: A statement of the presence or absence of extranodal extension in a pathology report takes priority over clinical assessment.\n\n**Note 3**: If nodes are involved but the clinical documentation and/or pathologic assessment does not indicate extranodal extension, assign code 010 (no extranodal extension documented on the available reports).\n\n**Note 4**: If the only documentation is a reference to clinically or pathologically involved nodes with no reference to extranodal extension, assign code 030 (no physical exam/imaging report and/or no pathology report available).", - "last_modified" : "2015-05-27T16:20:10.860Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph nodes involved" ], [ "010", "Extranodal extension not present \nRegional nodes described as mobile" ], [ "020", "Extranodal extension present \nRegional nodes described as fixed or matted" ], [ "030", "Regional nodes involved, unknown if extranodal extension " ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_scc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_scc.json deleted file mode 100644 index 5a762962d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_scc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_scc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "International Normalized Ratio for Prothrombin Time (INR)", - "notes" : "**Note 1**: The Model for End-Stage Liver Disease (MELD) is a numerical scale used to determine how urgently a patient with liver disease needs a liver transplant within the next three months. Results from three routine lab tests are used to calculate the MELD score. International normalized ratio for prothrombin time (INR), one of the tests, measures the liver's ability to make blood clotting factors.\n\n**Note 2**: The normal range for a healthy person is 0.9-1.3. A high INR level such as INR=5 indicates that there is a high chance of bleeding. A low level such as INR = 0.5 indicates a high chance of abnormal clotting. Normal values may vary from lab to lab. Record the highest INR value prior to treatment.\n\n**Note 3**: Record INR of 0.5 as 005; record INR of 5 as 050.\n\n**Note 4**: If the test was done but the actual value is not stated, code 997.", - "last_modified" : "2015-05-27T16:20:10.904Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203\nSee code 998\n\nTest not done " ], [ "001", "0.1 or less" ], [ "002-099", "0.2 - 9.9 \n(Exact ratio to nearest tenth)" ], [ "100", "INR 10.0 or greater" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "CONVERTED AND CODE REUSED V0203\nPrior to V0203 code defined as \"Test ordered, results not in chart\". Cases converted to code 997 with V0203 and code 998 redefined as \"Test not done (test not ordered and not performed)\".\n\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdd.json deleted file mode 100644 index d15d27efc..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sdd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "Pagetoid Spread", - "notes" : "**Note**: Code the presence or absence of Pagetoid spread as documented in the pathology report. Assign code 000 if histologic examination was performed, the pathology report is available for review, and Pagetoid spread is not mentioned.", - "last_modified" : "2015-05-27T16:20:10.947Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Pagetoid spread not present/not identified " ], [ "010", "Pagetoid spread present/identified" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Histologic examination of primary site performed, results not available" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdp.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdp.json deleted file mode 100644 index 2627bb606..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdp.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sdp", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "PDGFRA Gene Mutation", - "notes" : "**Note 1**: Some gastrointestinal stromal tumors (GISTs) have oncogenic mutations of the platelet-derived growth factor receptor alpha (PDGFRA)gene, located on chromosome 4q. This test is a special molecular diagnostic test performed on tumor tissue to identify PDGFRA mutations. Some GISTs that are negative for KIT mutations are positive for PDGFRA mutation.\n\n**Note 2**: Code the result of the PDGFRA gene test. Another name for PDGFRA is CD140A.\n\n**Note 3**: See CS Site-Specific Factors 6 and 7 for coding information about KIT gene expression and mutations.", - "last_modified" : "2015-05-27T16:20:10.992Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "PDGFRA gene test positive for mutations" ], [ "020", "PDGFRA gene test negative for mutations; no mutations; normal or wild-type gene" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdy.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdy.json deleted file mode 100644 index 76dbe0c29..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sdy.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sdy", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "Scalene Nodal Status", - "notes" : "**Note**: The scalene nodal status corresponds to the assessment method recorded in CS Site-Specific Factor 9.", - "last_modified" : "2015-05-27T16:20:11.035Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative lymph nodes" ], [ "010", "Positive lymph nodes" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sec.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sec.json deleted file mode 100644 index 0c2924d54..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sec.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sec", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "Primary Tumor Regression", - "notes" : "**Note 1**: Regression is most often recognized in relation to the radial growth phase (RGP). Characteristic features include segmental absence of in-situ melanoma cells or melanoma cells with microinvasion into the papillary dermis. The papillary dermis shows patchy lymphocytic inflammation, diffuse coarse fibrosis, and collections of melanophages. Intact melanoma is usually evident on one or both sides of the area of regression. Regressive changes may be seen without residual flanking melanoma cells and (after scrutiny of multiple tissue levels) may be viewed as constituting putative complete regression of the lesion. Vertical growth phase (VGP) regression is less common and is usually seen as an area within a tumorigenic compartment that is replaced by lymphocytes and fibrosis and often also by melanophages constituting \"tumoral melanosis\".\n\n**Note 2**: Record the primary tumor regression as documented in the pathology report. If the primary tumor regression is not identified, code regression as absent.", - "last_modified" : "2015-05-27T16:20:11.080Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regression present\nRegression not identified\nRegression absent" ], [ "001", "OBSOLETE DATA CONVERTED V0203\nSee code 010\n\nRegression present" ], [ "010", "Regression present" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sei.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sei.json deleted file mode 100644 index 899d0e22d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sei.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sei", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "Pre-Orchiectomy Human Chorionic Gonadotropin (hCG) Lab Value", - "notes" : "**Note 1**: Record the value of the human chorionic gonadotropin (hCG) test as documented in the patient record prior to orchiectomy and other treatment.\n\n**Note 2**: Use the same laboratory test to record values for CS Site-Specific Factor 8 and CS Site-Specific Factor 9.\n\n**Note 3**: Record a pretreatment hCG of 20 milli-International Units/milliliter (mIU/ml) as 002; record a pretreatment hCG of 11, 000 mIU/ml as 200.\n\n**Note 4**: Code 000 is reserved for exactly 0.0 mIU/ml (no measurable amount of hCG). Do not round tiny values down to 0.0 mIU/ml; any measured value less than or equal to 0.1 mIU/ml should be coded 001. For values greater than 001 mIU/ml, round values to the nearest mIU/ml.\n\n**Note 5**: A lab value expressed in International Units/liter (IU/L) is equivalent to the same value expressed in milli-International Units/milliliter (mIU/ml).\n\n**Note 6**: If the preorchiectomy hCG test is done but the actual value is not stated, use code 997.\n\n**Note 7**: For rare cases that are treated prior to orchiectomy, use code 995 in this field and record the initial hCG lab value in CS Site-Specific Factor 14.\n\n**Note 8**: For rare cases that an orchiectomy is not performed, use code 996 in this field and record the initial hCG lab value in CS Site-Specific Factor 14.", - "last_modified" : "2015-05-27T16:20:11.131Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 milli-International Units/milliliter (mIU/ml)" ], [ "001", "1 - 19 mIU/ml" ], [ "002", "20 - 29 mIU/ml" ], [ "003", "30 - 39 mIU/ml" ], [ "004", "40 - 49 mIU/ml" ], [ "005", "50 - 59 mIU/ml" ], [ "006", "60 - 69 mIU/ml" ], [ "007", "70 - 79 mIU/ml" ], [ "008", "80 - 89 mIU/ml" ], [ "009", "90 - 99 mIU/ml" ], [ "010", "100 - 199 mIU/ml" ], [ "020", "200 - 299 mIU/ml" ], [ "030", "300 - 399 mIU/ml" ], [ "040", "400 - 499 mIU/ml" ], [ "050", "500 - 599 mIU/ml" ], [ "060", "600 - 699 mIU/ml" ], [ "070", "700 - 799 mIU/ml" ], [ "080", "800 - 899 mIU/ml" ], [ "090", "900 - 999 mIU/ml" ], [ "100", "1000 - 1999 mIU/ml" ], [ "120", "2000 - 2999 mIU/ml" ], [ "130", "3000 - 3999 mIU/ml" ], [ "140", "4000 - 4999 mIU/ml" ], [ "150", "5000 - 5999 mIU/ml" ], [ "160", "6000 - 6999 mIU/ml" ], [ "170", "7000 - 7999 mIU/ml" ], [ "180", "8000 - 8999 mIU/ml" ], [ "190", "9000 - 9999 mIU/ml" ], [ "200", "10, 000 - 19, 999 mIU/ml" ], [ "220", "20, 000 - 29, 999 mIU/ml" ], [ "230", "30, 000 - 39, 999 mIU/ml" ], [ "240", "40, 000 - 49, 999 mIU/ml" ], [ "250", "Greater than or equal to 50,000 mIU/ml" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "995", "Pretreated case, initial human chorionic gonadotropin (hCG) lab value recorded in CS Site-Specific Factor 14" ], [ "996", "No orchiectomy performed, initial hCG lab value recorded in CS Site-Specific Factor 14" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sfk.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sfk.json deleted file mode 100644 index 5f97ba78e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sfk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sfk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "Orbital Bone", - "notes" : "**Note**: Code removal of orbital bone during surgery of primary site.", - "last_modified" : "2015-05-27T16:20:11.178Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Orbital bone not removed in surgery of primary site" ], [ "010", "Orbital bone removed in surgery of primary site" ], [ "020", "OBSOLETE DATA CONVERTED V0203\nSee code 000\n\nOrbital bone not removed in surgery of primary site" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "990", "Surgery of primary site, unknown if orbital bone removed" ], [ "997", "OBSOLETE DATA CONVERTED V0203\nSee code 990\n\nSurgery of primary site, unknown if orbital bone removed" ], [ "998", "No surgery of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_snc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_snc.json deleted file mode 100644 index 917a6e1d1..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_snc.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf8_snc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "last_modified" : "2015-05-27T16:20:11.227Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spb.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spb.json deleted file mode 100644 index 9caefe750..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_spb", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "notes" : "**Note 1**: Clinical assessment can be by physical examination or imaging. According to AJCC, \"ECS [extracapsular spread] can be diagnosed clinically by a matted mass of nodes adherent to overlying skin, adjacent soft tissue, or clinical evidence of cranial nerve invasion. Radiologic signs of ECS include amorphous, spiculated margins of a metastatic node and stranding of the perinodal soft tissue in previously untreated patients.\"\n\n**Note 2**: Code the status of extracapsular extension assessed clinically for any involved regional lymph node(s) coded in the CS Lymph Nodes field. Do not code extracapsular extension for any nodes coded in CS Mets at DX in this field.\n\n**Note 3**: If nodes are involved clinically, and documentation of physical examination or imaging is available without a statement of extracapsular extension, use code 010.\n\n**Note 4**: If the only documentation is a reference to clinically involved nodes with no reference to extracapsular extension, use code 030.\n\n**Note 5**: If there is no information about clinical assessment of nodes, use code 999.", - "last_modified" : "2015-05-27T16:20:11.274Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph nodes involved clinically" ], [ "010", "Regional lymph node(s) involved clinically, no extracapsular extension clinically" ], [ "020", "Regional lymph node(s) involved clinically, extracapsular extension clinically (nodes described as fixed or matted)" ], [ "030", "Regional lymph node(s) involved clinically, unknown if extracapsular extension" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Clinical examination of regional lymph nodes performed, unknown results" ], [ "998", "No clinical examination of regional lymph nodes" ], [ "999", "Unknown if regional lymph nodes involved clinically, not stated \nRegional lymph nodes cannot be assessed \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spg.json deleted file mode 100644 index a02492dc7..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_spg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "Perineural Invasion", - "notes" : "**Note**: Code the presence or absence of perineural invasion as documented in the pathology report. Assign code 000 if histologic examination of primary site was performed, the pathology report is available for review, and perineural invasion is not mentioned.", - "last_modified" : "2015-05-27T16:20:11.322Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "None; no perineural invasion present" ], [ "010", "Perineural invasion present" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spx.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spx.json deleted file mode 100644 index 6fb3cfa88..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_spx.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_spx", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "Gene Expression Profile", - "notes" : "**Note**: Primary uveal melanomas cluster into two distinct molecular classes based on gene expression profile, class 1 (low-grade) and class 2 (high-grade). Record the information as stated in the medical record.", - "last_modified" : "2015-05-27T16:20:11.368Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Class 1 gene expression profile " ], [ "020", "Class 2 gene expression profile " ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Gene expression profile performed, unknown results" ], [ "998", "No assessment of gene expression profile" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sql.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sql.json deleted file mode 100644 index 37fa23cf2..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sql.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sql", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "Unifocal vs Multifocal Tumor", - "notes" : "**Note 1**: Record whether the tumor is unifocal or multifocal at initial diagnosis, for both resectable and unresectable cases. For unresectable cases, the information can be determined from radiological imaging studies or physician documentation).\n\n**Note 2**: Use code 001 when tumor is described as unifocal; arising from or occurring in a single focus or location.\n\n**Note 3**: The AJCC definition for multifocal tumor differs from the MP/H definition for Multiplicity Counter. Use code 002 for any tumor with multiple foci, even if foci are not measured.", - "last_modified" : "2015-05-27T16:20:11.411Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001", "Unifocal/solitary tumor" ], [ "002", "Multifocal tumor \nTumor described as multifocal or multicentric" ], [ "988", "Not applicable: Information not collected for this case (If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sqo.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sqo.json deleted file mode 100644 index 6ab70d7af..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_sqo.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sqo", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "Omentectomy", - "notes" : "**Note**: Record if an omentectomy was performed during the first course of treatment. Use code 998 if patient had no surgical procedure as part of first course of treatment.", - "last_modified" : "2015-05-27T16:20:11.458Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Omentectomy not performed during first course surgery" ], [ "010", "Omentectomy performed during first course surgery" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No surgery performed as part of the first course of treatment\n" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_srf.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_srf.json deleted file mode 100644 index 56a8203ea..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf8_srf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_srf", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF8", - "title" : "CS Site-Specific Factor 8", - "subtitle" : "KIT Gene Mutations", - "notes" : "**Note 1**: This is a special molecular diagnostic test performed on tumor tissue to identify mutations in specific parts (called exons) of the KIT gene. Certain patterns of mutations correlate with the anatomic site and morphology of gastrointestinal stromal tumors (GISTs) tumors and can predict response to treatment with agents such as imatinib mesylate (Gleevec) and sunitinib malate (Sutent). Some mutations are associated with acquired resistance to imatinib treatment; do not record secondary or acquired mutations that may have been caused by long-term imatinib treatment.\n\n**Note 2**: Code the mutation locations found from the KIT gene test. Another name for KIT is CD117.\n\n**Note 3**: See CS Site-Specific Factor 7 for coding information about KIT expression detected with immunohistochemistry (IHC). See CS Site-Specific Factor 9 for coding information about mutations of the PDGFRA gene.", - "last_modified" : "2015-05-27T16:20:11.505Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "KIT gene test negative for mutations; no mutations; normal or wild-type gene" ], [ "010", "KIT gene test positive for mutation of exon 9 only" ], [ "020", "KIT gene test positive for mutation of exon 11 only" ], [ "030", "KIT gene test positive for mutation of exon 13 only" ], [ "040", "KIT gene test positive for mutation of exon 17 only" ], [ "800", "KIT gene test positive for one other specified mutation" ], [ "810", "KIT gene test positive for more than one specific mutation" ], [ "850", "KIT gene test positive, NOS; mutation(s) found but the specific mutation(s) are not stated" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sac.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sac.json deleted file mode 100644 index d806d294c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sac.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF9", - "title" : "CS Site-Specific Factor 9", - "subtitle" : "HER2: Immunohistochemistry (IHC) Test Interpretation", - "notes" : "**Note 1**: Record the results of only the immunohistochemical (IHC) test for Human Epidermal Growth Factor Receptor 2 (HER2) in this field.\n\n**Note 2**: The same laboratory test should be used to record information in CS Site-Specific Factors 8 and 9.\n\n**Note 3**: If the test is not mentioned in the medical record, code to 999 unless there are circumstances under which the test isn't performed, for example no histologic specimen.", - "last_modified" : "2015-05-27T16:20:11.553Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; equivocal; indeterminate; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sas.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sas.json deleted file mode 100644 index 49f5da02f..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sas.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sas", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF9", - "title" : "CS Site-Specific Factor 9", - "subtitle" : "Other Connective Tissue Disease", - "notes" : "**Note**: Code history of connective tissue disease other than rheumatoid arthritis, Sjogren syndrome, and sicca syndrome as documented by the physician or coded in the medical record. Connective tissue diseases fall within Chapter 13 of ICD-9, \"Diseases of the Musculoskeletal System and Connective Tissue, 710-739\". Examples are systemic lupus erythematosus, scleroderma, dermatomyositis, and polymyositis.", - "last_modified" : "2015-05-27T16:20:11.596Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of connective tissue disease" ], [ "010", "History of connective tissue disease" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_say.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_say.json deleted file mode 100644 index 8d8e735c8..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_say.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_say", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF9", - "title" : "CS Site-Specific Factor 9", - "subtitle" : "Gleason's Primary Pattern and Secondary Pattern Values on Prostatectomy/Autopsy", - "notes" : "**Note 1**: Code the Gleason's primary and secondary patterns from prostatectomy or autopsy only in this field.\n\n**Note 2**: Code the Gleason's primary and secondary patterns prior to neoadjuvant treatment.\n\n**Note 3**: Usually prostate cancers are graded using Gleason's score or pattern. Gleason's grading for prostate primaries is based on a 5-component system (5 histologic patterns). Prostatic cancer generally shows two main histologic patterns. The primary pattern, the pattern occupying greater than 50% of the cancer, is usually indicated by the first number of the Gleason's grade, and the secondary pattern is usually indicated by the second number. These two numbers are added together to create a pattern score, ranging from 2 to 10.\n\n* If there are two numbers, assume that they refer to two patterns (the first number being the primary pattern and the second number the secondary pattern) and sum them to obtain the score. \n* If only one number is given and it is less than or equal to 5, assume that it describes a pattern. Code the number as the primary pattern and code the secondary pattern as 9.\n* If only one number is given and it is greater than 5, assume that it is a score. Code 099. \n* If the pathology report specifies a specific number out of a total of 10, the first number given is the score. Example: The pathology report says Gleason's 3/10. The Gleason's score would be 3, and coded as 099.\n\n**Note 4**: If prostatectomy and autopsy are not performed, assign code 998. If the Gleason's pattern and score are not documented on prostatectomy or autopsy, assign code 999.\n\n**Note 5**: If a tertiary pattern is documented on prostatectomy or autopsy, do not code in either CS Site-Specific Factor 9 or CS Site-Specific Factor 10. Record the tertiary pattern in CS Site-Specific Factor 11.", - "last_modified" : "2015-05-27T16:20:11.648Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "011", "Primary pattern 1, secondary pattern 1" ], [ "012", "Primary pattern 1, secondary pattern 2" ], [ "013", "Primary pattern 1, secondary pattern 3" ], [ "014", "Primary pattern 1, secondary pattern 4" ], [ "015", "Primary pattern 1, secondary pattern 5" ], [ "019", "Primary pattern 1, secondary pattern unknown" ], [ "021", "Primary pattern 2, secondary pattern 1" ], [ "022", "Primary pattern 2, secondary pattern 2" ], [ "023", "Primary pattern 2, secondary pattern 3" ], [ "024", "Primary pattern 2, secondary pattern 4" ], [ "025", "Primary pattern 2, secondary pattern 5" ], [ "029", "Primary pattern 2, secondary pattern unknown" ], [ "031", "Primary pattern 3, secondary pattern 1" ], [ "032", "Primary pattern 3, secondary pattern 2" ], [ "033", "Primary pattern 3, secondary pattern 3" ], [ "034", "Primary pattern 3, secondary pattern 4" ], [ "035", "Primary pattern 3, secondary pattern 5" ], [ "039", "Primary pattern 3, secondary pattern unknown" ], [ "041", "Primary pattern 4, secondary pattern 1" ], [ "042", "Primary pattern 4, secondary pattern 2" ], [ "043", "Primary pattern 4, secondary pattern 3" ], [ "044", "Primary pattern 4, secondary pattern 4" ], [ "045", "Primary pattern 4, secondary pattern 5" ], [ "049", "Primary pattern 4, secondary pattern unknown" ], [ "051", "Primary pattern 5, secondary pattern 1" ], [ "052", "Primary pattern 5, secondary pattern 2" ], [ "053", "Primary pattern 5, secondary pattern 3" ], [ "054", "Primary pattern 5, secondary pattern 4" ], [ "055", "Primary pattern 5, secondary pattern 5" ], [ "059", "Primary pattern 5, secondary pattern unknown" ], [ "099", "Primary pattern unknown, secondary pattern unknown" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No prostatectomy/autopsy performed" ], [ "999", "No residual disease on prostatectomy/autopsy\nUnknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdi.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdi.json deleted file mode 100644 index 04a89095b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdi.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sdi", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF9", - "title" : "CS Site-Specific Factor 9", - "subtitle" : "Mohs Layers", - "notes" : "**Note 1**: Code the number of Mohs micrographic surgical layers required to clear the tumor, as stated on the operative report.\n\n**Note 2**: Use codes 991, 992, and 997 only if the specific number of Mohs layers is not documented.", - "last_modified" : "2015-05-27T16:20:11.701Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-010", "1-10 Mohs micrographic surgical layers required to clear tumor\n(Exact number of Mohs micrographic surgical layers required to clear tumor)" ], [ "011", "11 or more Mohs micrographic surgical layers required to clear tumor" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "991", "Less than 3 Mohs micrographic surgical layers required to clear tumor" ], [ "992", "Greater than 3 Mohs micrographic surgical layers required to clear tumor" ], [ "997", "Mohs surgery performed, unknown number of micrographic surgical layers required to clear tumor" ], [ "998", "Mohs surgery not performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdq.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdq.json deleted file mode 100644 index dad60052d..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sdq", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF9", - "title" : "CS Site-Specific Factor 9", - "subtitle" : "Tumor Multiplicity", - "notes" : "**Note**: When a patient has more than one area of gastrointestinal stromal tumor (GIST), it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. Code this form of metastasis in CS Mets at DX. \n\nTumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in CS Site-Specific Factor 9, Tumor Multiplicity.\n\nWhen a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in CS Site-Specific Factor 9, Tumor Multiplicity.\n\nWhen multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, code this site-specific factor as 010 (Multiple GIST tumors are present).", - "last_modified" : "2015-05-27T16:20:11.760Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Multiple gastrointestinal stromal tumors (GIST) not present in the surgical specimen; single GIST; unifocal GIST" ], [ "010", "Multiple GIST tumors present in the surgical specimen; multifocal GIST" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "999", "Unknown if one tumor or multiple tumors \nNo information on tumor multiplicity\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdz.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdz.json deleted file mode 100644 index db576249b..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sdz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sdz", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF9", - "title" : "CS Site-Specific Factor 9", - "subtitle" : "Assessment Method of Scalene Nodal Status", - "notes" : "**Note 1**: The assessment results are recorded in CS Site-Specific Factor 8.\n\n**Note 2**: Use the highest applicable code 010-040.", - "last_modified" : "2015-05-27T16:20:11.815Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "OBSOLETE DATA CONVERTED V0203 See code 998 Lymph nodes were not assessed" ], [ "010", "Clinical assessment" ], [ "020", "Radiography; Imaging \n(Ultrasound (US), computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))" ], [ "030", "Incisional biopsy; fine needle aspirate (FNA)" ], [ "040", "Lymphadenectomy\nExcisional biopsy or resection with microscopic confirmation" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sed.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sed.json deleted file mode 100644 index 2b5734c75..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sed.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sed", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF9", - "title" : "CS Site-Specific Factor 9", - "subtitle" : "Vertical Growth Phase (VGP)", - "notes" : "**Note 1**: According to the College of American Pathologists (CAP) protocol for melanoma of skin, the growth patterns and depth of infiltration of melanomas are prognostically significant. Vertical growth phase (VGP) is an adverse factor. Nodular melanomas by definition are VGP tumors. VGP pattern in superficial spreading melanoma is defined as the presence of one or more dermal clusters of melanocytic cells larger than the largest epidermal cluster, and/or the presence of any mitotic activity in the dermis. Superficial spreading melanomas in radial growth phase (RGP) in contrast are generally wider than deep; one criterion for RGP is that melanoma in situ is present 3 or more rete ridges beyond the invasive component.\n\n**Note 2**: Record the VGP as recorded in the pathology report. When the VGP is not identified, code as absent.", - "last_modified" : "2015-05-27T16:20:11.871Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No vertical growth phase (VGP) present\nVGP not identified\nVGP absent" ], [ "001", "OBSOLETE DATA CONVERTED V0203\nSee code 010\n\nVertical growth phase present" ], [ "010", "VGP present" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sej.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sej.json deleted file mode 100644 index 19948fc4e..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sej.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sej", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF9", - "title" : "CS Site-Specific Factor 9", - "subtitle" : "Pre-Orchiectomy Human Chorionic Gonadotropin (hCG) Range", - "notes" : "**Note 1**: Record the range of the human chorionic gonadotropin (hCG) test as documented in the patient record prior to orchiectomy and other treatment.\n\n**Note 2**: Use the same laboratory test to record values in CS Site-Specific Factor 8 and CS SIte-Specific Factor 9.\n\n**Note 3**: A lab value expressed in International Units/liter (IU/L) is equivalent to the same value expressed in milli-International Units/milliliter (mIU/ml).\n\n**Note 4**: If the pre-orchiectomy hCG test is unavailable but a physician's statement of the result is documented, use codes 991-993.\n\n**Note 5**: For rare cases that are treated prior to orchiectomy, use code 995 in this field and record the initial hCG range in CS Site-Specific Factor 15.\n\n**Note 6**: For rare cases that an orchiectomy is not performed, use code 996 in this field and record the initial hCG range in CS Site-Specific Factor 15.", - "last_modified" : "2015-05-27T16:20:11.929Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Within normal limits (S0)" ], [ "010", "Range 1 (S1) above normal and less than 5,000 milli-International Units/milliliter (mIU/ml)" ], [ "020", "Range 2 (S2) 5,000 - 50,000 mIU/ml" ], [ "030", "Range 3 (S3) greater than 50,000 mIU/ml" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "991", "Pre-orchiectomy human chorionic gonadotropin (hCG) stated to be elevated" ], [ "992", "Pre-orchiectomy hCG unknown but preorchiectomy serum tumor markers NOS stated to be normal" ], [ "993", "Pre-orchiectomy hCG unknown but preorchiectomy serum tumor markers NOS stated to be elevated" ], [ "995", "Pretreated case, initial hCG range recorded in CS Site-Specific Factor 15" ], [ "996", "No orchiectomy performed, initial hCG range recorded in CS Site-Specific Factor 15" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_snd.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_snd.json deleted file mode 100644 index 333e28723..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_snd.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "ssf9_snd", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF9", - "title" : "CS Site-Specific Factor 9", - "last_modified" : "2015-05-27T16:20:11.987Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "988", "Not applicable: Site-specific factor not defined" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_spc.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_spc.json deleted file mode 100644 index 3b9b257cb..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_spc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_spc", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF9", - "title" : "CS Site-Specific Factor 9", - "subtitle" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "notes" : "**Note 1**: Extracapsular extension is assessed on histopathologic examination of surgically resected involved regional nodes.\n\n**Note 2**: Code the status of extracapsular extension assessed on histopathologic examination of any involved regional lymph node(s) coded in CS Lymph Nodes. Do not code extracapsular extension for any nodes coded in CS Mets at DX.\n\n**Note 3**: If nodes are involved pathologically but there is no statement of extranodal extension in the pathology report, use code 010.\n\n**Note 4**: Code microscopic or macroscropic extranodal extension as stated in the final diagnosis of the pathology report. If not stated in the final diagnosis, code microscopic if extranodal extension is described only in the microscopic section of the pathology report and macroscopic if extranodal extension is described in the gross section of the pathology report. Macroscopic extension takes priority over microscopic extension.\n\n**Note 5**: Use code 040 if pathologic extracapsular extension is described with no further information and the pathology report is not available for review.", - "last_modified" : "2015-05-27T16:20:12.040Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph nodes involved pathologically" ], [ "010", "Regional lymph node(s) involved pathologically, no extracapsular extension pathologically" ], [ "020", "Regional lymph node(s) involved pathologically\nMICROSCOPIC extracapsular extension pathologically" ], [ "030", "Regional lymph node(s) involved pathologically\nMACROSCOPIC extracapsular extension pathologically" ], [ "040", "Regional lymph node(s) involved pathologically, extracapsular extension pathologically, unknown if microscopic or macroscopic" ], [ "050", "Regional lymph node(s) involved pathologically, unknown if extracapsular extension" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Histopathologic examination of regional lymph nodes performed, results not available" ], [ "998", "No histopathologic examination of regional lymph nodes\nOR\nFine needle aspiration or needle biopsy only of regional nodes" ], [ "999", "Unknown if regional lymph nodes involved pathologically, not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sph.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sph.json deleted file mode 100644 index 6192c983c..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sph.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sph", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF9", - "title" : "CS Site-Specific Factor 9", - "subtitle" : "KRAS", - "notes" : "**Note**: KRAS is a gene which belongs to a class of genes known as oncogenes. When mutated, oncogenes have the potential to cause normal cells to become cancerous. Studies suggest that KRAS gene mutations are often present in colorectal cancer.", - "last_modified" : "2015-05-27T16:20:12.097Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Abnormal (mutated)\nPositive for mutations" ], [ "020", "Normal (wild type)\nNegative for mutations" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test was not ordered and was not performed)" ], [ "999", "Unknown\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sqm.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sqm.json deleted file mode 100644 index 77f3e4428..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_sqm.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sqm", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF9", - "title" : "CS Site-Specific Factor 9", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1**: The mitotic count, the number of mitoses per 40 high-power fields (HPF), reflects the potential aggressiveness or prognosis of uveal melanomas. This site-specific factor presumes the denominator of 40 HPF, so just the numerator (the mitotic count) is coded here. For other schemas in which mitotic count is collected, the denominator may vary.\n\n**Note 2**: An HPF usually has a magnification objective of 40 (a 40x field). As described in the AJCC chapter on uveal melanomas, the typical field area is 0.15-0.19 square millimeters (mm).\n\n**Note 3**: Record mitotic count to the nearest tenth as documented in the pathology report. For example, a mitotic count of 6/40 HPF would be coded 060.\n\n**Note 4**: Code the specific mitotic count only per 40 HPF; assume the denominator is 40 HPF if not specified. Use code 996 only if the mitotic count is expressed with a specific denominator other than 40 HPF.", - "last_modified" : "2015-05-27T16:20:12.151Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 mitoses per 40 high-power fields (HPF) (40x field) \nMitoses absent, no mitoses present, no mitotic activity" ], [ "001-008", "0.1-0.8 mitosis per 40 HPF (40x field) " ], [ "009", "0.9 mitosis per 40 HPF(40x field)\n\nStated as less than 1 mitosis per 40 HPF (40x field)" ], [ "010-100", "1-10 mitoses per 40 HPF (40x field)" ], [ "110", "11 or more mitoses per 40 HPF (40x field) " ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "990", "Stated as low mitotic count or rate with no specific number" ], [ "991", "Stated as high mitotic count or rate with no specific number" ], [ "996", "Mitotic count described with denominator other than 40 HPF (40x field)" ], [ "998", "No histologic specimen from primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_srg.json b/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_srg.json deleted file mode 100644 index a5e2fd075..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/ssf9_srg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_srg", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "SSF9", - "title" : "CS Site-Specific Factor 9", - "subtitle" : "PDGFRA Gene Mutation", - "notes" : "**Note 1**: Some gastrointestinal stromal tumors (GISTs) have oncogenic mutations of the platelet-derived growth factor receptor alpha (PDGFRA)gene, located on chromosome 4q. This test is a special molecular diagnostic test performed on tumor tissue to identify PDGFRA mutations. Some GISTs that are negative for KIT mutations are positive for PDGFRA mutation. \n\n**Note 2**: Code the result of the PDGFRA gene test. Another name for PDGFRA is CD140A.\n\n**Note 3**: See CS Site-Specific Factors 7 and 8 for coding information about KIT gene expression and mutations.", - "last_modified" : "2015-05-27T16:20:12.210Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "PDGFRA gene test positive for mutations" ], [ "020", "PDGFRA gene test negative for mutations; no mutations; normal or wild-type gene" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_raa.json b/src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_raa.json deleted file mode 100644 index a7b684a12..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_raa.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "summary_stage_raa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Summary Stage", - "title" : "Summary Stage", - "last_modified" : "2015-05-27T16:20:12.336Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - }, { - "key" : "description", - "name" : "Explanation", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "IS", "NONE", "NONE", "VALUE:IS", "" ], [ "IS", "NONE", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NONE", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NONE", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NONE", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NONE", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NONE", "NA", "VALUE:IS", "" ], [ "IS", "NONE", "U", "VALUE:IS", "" ], [ "IS", "RE", "NONE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "NA", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "U", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "NONE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "NA", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "U", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "NONE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "NA", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "U", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "NONE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "NA", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "U", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "NONE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "NA", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "U", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "NONE", "VALUE:IS", "" ], [ "IS", "NA", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "NA", "VALUE:IS", "" ], [ "IS", "NA", "U", "VALUE:IS", "" ], [ "IS", "U", "NONE", "VALUE:IS", "" ], [ "IS", "U", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "U", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "U", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "U", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "U", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "U", "NA", "VALUE:IS", "" ], [ "IS", "U", "U", "VALUE:IS", "" ], [ "L", "NONE", "NONE", "VALUE:L", "" ], [ "L", "NONE", "L", "VALUE:L", "" ], [ "L", "NONE", "RE", "VALUE:RE", "" ], [ "L", "NONE", "RN", "VALUE:RN", "" ], [ "L", "NONE", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "NONE", "D", "VALUE:D", "" ], [ "L", "NONE", "NA", "VALUE:L", "" ], [ "L", "NONE", "U", "VALUE:L", "" ], [ "L", "RE", "NONE", "VALUE:RE", "" ], [ "L", "RE", "L", "VALUE:RE", "" ], [ "L", "RE", "RE", "VALUE:RE", "" ], [ "L", "RE", "RN", "VALUE:RE+RN", "" ], [ "L", "RE", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "RE", "D", "VALUE:D", "" ], [ "L", "RE", "NA", "VALUE:RE", "" ], [ "L", "RE", "U", "VALUE:RE", "" ], [ "L", "RN", "NONE", "VALUE:RN", "" ], [ "L", "RN", "L", "VALUE:RN", "" ], [ "L", "RN", "RE", "VALUE:RE+RN", "" ], [ "L", "RN", "RN", "VALUE:RN", "" ], [ "L", "RN", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "RN", "D", "VALUE:D", "" ], [ "L", "RN", "NA", "VALUE:RN", "" ], [ "L", "RN", "U", "VALUE:RN", "" ], [ "L", "RE+RN", "NONE", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "L", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "RE", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "RN", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "D", "VALUE:D", "" ], [ "L", "RE+RN", "NA", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "U", "VALUE:RE+RN", "" ], [ "L", "RNOS", "NONE", "VALUE:RNOS", "" ], [ "L", "RNOS", "L", "VALUE:RNOS", "" ], [ "L", "RNOS", "RE", "VALUE:RNOS", "" ], [ "L", "RNOS", "RN", "VALUE:RNOS", "" ], [ "L", "RNOS", "RE+RN", "VALUE:RNOS", "" ], [ "L", "RNOS", "D", "VALUE:D", "" ], [ "L", "RNOS", "NA", "VALUE:RNOS", "" ], [ "L", "RNOS", "U", "VALUE:RNOS", "" ], [ "L", "D", "NONE", "VALUE:D", "" ], [ "L", "D", "L", "VALUE:D", "" ], [ "L", "D", "RE", "VALUE:D", "" ], [ "L", "D", "RN", "VALUE:D", "" ], [ "L", "D", "RE+RN", "VALUE:D", "" ], [ "L", "D", "D", "VALUE:D", "" ], [ "L", "D", "NA", "VALUE:D", "" ], [ "L", "D", "U", "VALUE:D", "" ], [ "L", "NA", "NONE", "VALUE:L", "" ], [ "L", "NA", "L", "VALUE:L", "" ], [ "L", "NA", "RE", "VALUE:RE", "" ], [ "L", "NA", "RN", "VALUE:RN", "" ], [ "L", "NA", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "NA", "D", "VALUE:D", "" ], [ "L", "NA", "NA", "VALUE:L", "" ], [ "L", "NA", "U", "VALUE:L", "" ], [ "L", "U", "NONE", "VALUE:L", "" ], [ "L", "U", "L", "VALUE:L", "" ], [ "L", "U", "RE", "VALUE:RE", "" ], [ "L", "U", "RN", "VALUE:RN", "" ], [ "L", "U", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "U", "D", "VALUE:D", "" ], [ "L", "U", "NA", "VALUE:L", "" ], [ "L", "U", "U", "VALUE:L", "" ], [ "RE", "NONE", "NONE", "VALUE:RE", "" ], [ "RE", "NONE", "L", "VALUE:RE", "" ], [ "RE", "NONE", "RE", "VALUE:RE", "" ], [ "RE", "NONE", "RN", "VALUE:RE+RN", "" ], [ "RE", "NONE", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "NONE", "D", "VALUE:D", "" ], [ "RE", "NONE", "NA", "VALUE:RE", "" ], [ "RE", "NONE", "U", "VALUE:RE", "" ], [ "RE", "RE", "NONE", "VALUE:RE", "" ], [ "RE", "RE", "L", "VALUE:RE", "" ], [ "RE", "RE", "RE", "VALUE:RE", "" ], [ "RE", "RE", "RN", "VALUE:RE+RN", "" ], [ "RE", "RE", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "RE", "D", "VALUE:D", "" ], [ "RE", "RE", "NA", "VALUE:RE", "" ], [ "RE", "RE", "U", "VALUE:RE", "" ], [ "RE", "RN", "NONE", "VALUE:RE+RN", "" ], [ "RE", "RN", "L", "VALUE:RE+RN", "" ], [ "RE", "RN", "RE", "VALUE:RE+RN", "" ], [ "RE", "RN", "RN", "VALUE:RE+RN", "" ], [ "RE", "RN", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "RN", "D", "VALUE:D", "" ], [ "RE", "RN", "NA", "VALUE:RE+RN", "" ], [ "RE", "RN", "U", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "NONE", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "L", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "RE", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "RN", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "D", "VALUE:D", "" ], [ "RE", "RE+RN", "NA", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "U", "VALUE:RE+RN", "" ], [ "RE", "RNOS", "NONE", "VALUE:RNOS", "" ], [ "RE", "RNOS", "L", "VALUE:RNOS", "" ], [ "RE", "RNOS", "RE", "VALUE:RNOS", "" ], [ "RE", "RNOS", "RN", "VALUE:RNOS", "" ], [ "RE", "RNOS", "RE+RN", "VALUE:RNOS", "" ], [ "RE", "RNOS", "D", "VALUE:D", "" ], [ "RE", "RNOS", "NA", "VALUE:RNOS", "" ], [ "RE", "RNOS", "U", "VALUE:RNOS", "" ], [ "RE", "D", "NONE", "VALUE:D", "" ], [ "RE", "D", "L", "VALUE:D", "" ], [ "RE", "D", "RE", "VALUE:D", "" ], [ "RE", "D", "RN", "VALUE:D", "" ], [ "RE", "D", "RE+RN", "VALUE:D", "" ], [ "RE", "D", "D", "VALUE:D", "" ], [ "RE", "D", "NA", "VALUE:D", "" ], [ "RE", "D", "U", "VALUE:D", "" ], [ "RE", "NA", "NONE", "VALUE:RE", "" ], [ "RE", "NA", "L", "VALUE:RE", "" ], [ "RE", "NA", "RE", "VALUE:RE", "" ], [ "RE", "NA", "RN", "VALUE:RE+RN", "" ], [ "RE", "NA", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "NA", "D", "VALUE:D", "" ], [ "RE", "NA", "NA", "VALUE:RE", "" ], [ "RE", "NA", "U", "VALUE:RE", "" ], [ "RE", "U", "NONE", "VALUE:RE", "" ], [ "RE", "U", "L", "VALUE:RE", "" ], [ "RE", "U", "RE", "VALUE:RE", "" ], [ "RE", "U", "RN", "VALUE:RE+RN", "" ], [ "RE", "U", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "U", "D", "VALUE:D", "" ], [ "RE", "U", "NA", "VALUE:RE", "" ], [ "RE", "U", "U", "VALUE:RE", "" ], [ "RNOS", "NONE", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "L", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "RE", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "RN", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "D", "VALUE:D", "" ], [ "RNOS", "NONE", "NA", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "U", "VALUE:RNOS", "" ], [ "RNOS", "RE", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "RE", "L", "VALUE:RNOS", "" ], [ "RNOS", "RE", "RE", "VALUE:RNOS", "" ], [ "RNOS", "RE", "RN", "VALUE:RNOS", "" ], [ "RNOS", "RE", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "RE", "D", "VALUE:D", "" ], [ "RNOS", "RE", "NA", "VALUE:RNOS", "" ], [ "RNOS", "RE", "U", "VALUE:RNOS", "" ], [ "RNOS", "RN", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "RN", "L", "VALUE:RNOS", "" ], [ "RNOS", "RN", "RE", "VALUE:RNOS", "" ], [ "RNOS", "RN", "RN", "VALUE:RNOS", "" ], [ "RNOS", "RN", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "RN", "D", "VALUE:D", "" ], [ "RNOS", "RN", "NA", "VALUE:RNOS", "" ], [ "RNOS", "RN", "U", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "L", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "RE", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "RN", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "D", "VALUE:D", "" ], [ "RNOS", "RE+RN", "NA", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "U", "VALUE:RNOS", "" ], [ "RNOS", "RNOS", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "RNOS", "L", "VALUE:RNOS", "" ], [ "RNOS", "RNOS", "RE", "VALUE:RNOS", "" ], [ "RNOS", "RNOS", "RN", "VALUE:RNOS", "" ], [ "RNOS", "RNOS", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "RNOS", "D", "VALUE:D", "" ], [ "RNOS", "RNOS", "NA", "VALUE:RNOS", "" ], [ "RNOS", "RNOS", "U", "VALUE:RNOS", "" ], [ "RNOS", "D", "NONE", "VALUE:D", "" ], [ "RNOS", "D", "L", "VALUE:D", "" ], [ "RNOS", "D", "RE", "VALUE:D", "" ], [ "RNOS", "D", "RN", "VALUE:D", "" ], [ "RNOS", "D", "RE+RN", "VALUE:D", "" ], [ "RNOS", "D", "D", "VALUE:D", "" ], [ "RNOS", "D", "NA", "VALUE:D", "" ], [ "RNOS", "D", "U", "VALUE:D", "" ], [ "RNOS", "NA", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "NA", "L", "VALUE:RNOS", "" ], [ "RNOS", "NA", "RE", "VALUE:RNOS", "" ], [ "RNOS", "NA", "RN", "VALUE:RNOS", "" ], [ "RNOS", "NA", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "NA", "D", "VALUE:D", "" ], [ "RNOS", "NA", "NA", "VALUE:RNOS", "" ], [ "RNOS", "NA", "U", "VALUE:RNOS", "" ], [ "RNOS", "U", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "U", "L", "VALUE:RNOS", "" ], [ "RNOS", "U", "RE", "VALUE:RNOS", "" ], [ "RNOS", "U", "RN", "VALUE:RNOS", "" ], [ "RNOS", "U", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "U", "D", "VALUE:D", "" ], [ "RNOS", "U", "NA", "VALUE:RNOS", "" ], [ "RNOS", "U", "U", "VALUE:RNOS", "" ], [ "D", "NONE", "NONE", "VALUE:D", "" ], [ "D", "NONE", "L", "VALUE:D", "" ], [ "D", "NONE", "RE", "VALUE:D", "" ], [ "D", "NONE", "RN", "VALUE:D", "" ], [ "D", "NONE", "RE+RN", "VALUE:D", "" ], [ "D", "NONE", "D", "VALUE:D", "" ], [ "D", "NONE", "NA", "VALUE:D", "" ], [ "D", "NONE", "U", "VALUE:D", "" ], [ "D", "RE", "NONE", "VALUE:D", "" ], [ "D", "RE", "L", "VALUE:D", "" ], [ "D", "RE", "RE", "VALUE:D", "" ], [ "D", "RE", "RN", "VALUE:D", "" ], [ "D", "RE", "RE+RN", "VALUE:D", "" ], [ "D", "RE", "D", "VALUE:D", "" ], [ "D", "RE", "NA", "VALUE:D", "" ], [ "D", "RE", "U", "VALUE:D", "" ], [ "D", "RN", "NONE", "VALUE:D", "" ], [ "D", "RN", "L", "VALUE:D", "" ], [ "D", "RN", "RE", "VALUE:D", "" ], [ "D", "RN", "RN", "VALUE:D", "" ], [ "D", "RN", "RE+RN", "VALUE:D", "" ], [ "D", "RN", "D", "VALUE:D", "" ], [ "D", "RN", "NA", "VALUE:D", "" ], [ "D", "RN", "U", "VALUE:D", "" ], [ "D", "RE+RN", "NONE", "VALUE:D", "" ], [ "D", "RE+RN", "L", "VALUE:D", "" ], [ "D", "RE+RN", "RE", "VALUE:D", "" ], [ "D", "RE+RN", "RN", "VALUE:D", "" ], [ "D", "RE+RN", "RE+RN", "VALUE:D", "" ], [ "D", "RE+RN", "D", "VALUE:D", "" ], [ "D", "RE+RN", "NA", "VALUE:D", "" ], [ "D", "RE+RN", "U", "VALUE:D", "" ], [ "D", "RNOS", "NONE", "VALUE:D", "" ], [ "D", "RNOS", "L", "VALUE:D", "" ], [ "D", "RNOS", "RE", "VALUE:D", "" ], [ "D", "RNOS", "RN", "VALUE:D", "" ], [ "D", "RNOS", "RE+RN", "VALUE:D", "" ], [ "D", "RNOS", "D", "VALUE:D", "" ], [ "D", "RNOS", "NA", "VALUE:D", "" ], [ "D", "RNOS", "U", "VALUE:D", "" ], [ "D", "D", "NONE", "VALUE:D", "" ], [ "D", "D", "L", "VALUE:D", "" ], [ "D", "D", "RE", "VALUE:D", "" ], [ "D", "D", "RN", "VALUE:D", "" ], [ "D", "D", "RE+RN", "VALUE:D", "" ], [ "D", "D", "D", "VALUE:D", "" ], [ "D", "D", "NA", "VALUE:D", "" ], [ "D", "D", "U", "VALUE:D", "" ], [ "D", "NA", "NONE", "VALUE:D", "" ], [ "D", "NA", "L", "VALUE:D", "" ], [ "D", "NA", "RE", "VALUE:D", "" ], [ "D", "NA", "RN", "VALUE:D", "" ], [ "D", "NA", "RE+RN", "VALUE:D", "" ], [ "D", "NA", "D", "VALUE:D", "" ], [ "D", "NA", "NA", "VALUE:D", "" ], [ "D", "NA", "U", "VALUE:D", "" ], [ "D", "U", "NONE", "VALUE:D", "" ], [ "D", "U", "L", "VALUE:D", "" ], [ "D", "U", "RE", "VALUE:D", "" ], [ "D", "U", "RN", "VALUE:D", "" ], [ "D", "U", "RE+RN", "VALUE:D", "" ], [ "D", "U", "D", "VALUE:D", "" ], [ "D", "U", "NA", "VALUE:D", "" ], [ "D", "U", "U", "VALUE:D", "" ], [ "NA", "NONE", "NONE", "VALUE:U", "" ], [ "NA", "NONE", "L", "VALUE:L", "" ], [ "NA", "NONE", "RE", "VALUE:RE", "" ], [ "NA", "NONE", "RN", "VALUE:RN", "" ], [ "NA", "NONE", "RE+RN", "VALUE:RE+RN", "" ], [ "NA", "NONE", "D", "VALUE:D", "" ], [ "NA", "NONE", "NA", "VALUE:U", "" ], [ "NA", "NONE", "U", "VALUE:U", "" ], [ "NA", "RE", "NONE", "VALUE:RE", "" ], [ "NA", "RE", "L", "VALUE:RE", "" ], [ "NA", "RE", "RE", "VALUE:RE", "" ], [ "NA", "RE", "RN", "VALUE:RE+RN", "" ], [ "NA", "RE", "RE+RN", "VALUE:RE+RN", "" ], [ "NA", "RE", "D", "VALUE:D", "" ], [ "NA", "RE", "NA", "VALUE:RE", "" ], [ "NA", "RE", "U", "VALUE:RE", "" ], [ "NA", "RN", "NONE", "VALUE:RN", "" ], [ "NA", "RN", "L", "VALUE:RN", "" ], [ "NA", "RN", "RE", "VALUE:RE+RN", "" ], [ "NA", "RN", "RN", "VALUE:RN", "" ], [ "NA", "RN", "RE+RN", "VALUE:RE+RN", "" ], [ "NA", "RN", "D", "VALUE:D", "" ], [ "NA", "RN", "NA", "VALUE:RN", "" ], [ "NA", "RN", "U", "VALUE:RN", "" ], [ "NA", "RE+RN", "NONE", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "L", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "RE", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "RN", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "RE+RN", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "D", "VALUE:D", "" ], [ "NA", "RE+RN", "NA", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "U", "VALUE:RE+RN", "" ], [ "NA", "RNOS", "NONE", "VALUE:RNOS", "" ], [ "NA", "RNOS", "L", "VALUE:RNOS", "" ], [ "NA", "RNOS", "RE", "VALUE:RNOS", "" ], [ "NA", "RNOS", "RN", "VALUE:RNOS", "" ], [ "NA", "RNOS", "RE+RN", "VALUE:RNOS", "" ], [ "NA", "RNOS", "D", "VALUE:D", "" ], [ "NA", "RNOS", "NA", "VALUE:RNOS", "" ], [ "NA", "RNOS", "U", "VALUE:RNOS", "" ], [ "NA", "D", "NONE", "VALUE:D", "" ], [ "NA", "D", "L", "VALUE:D", "" ], [ "NA", "D", "RE", "VALUE:D", "" ], [ "NA", "D", "RN", "VALUE:D", "" ], [ "NA", "D", "RE+RN", "VALUE:D", "" ], [ "NA", "D", "D", "VALUE:D", "" ], [ "NA", "D", "NA", "VALUE:D", "" ], [ "NA", "D", "U", "VALUE:D", "" ], [ "NA", "NA", "NONE", "VALUE:NA", "" ], [ "NA", "NA", "L", "VALUE:NA", "" ], [ "NA", "NA", "RE", "VALUE:NA", "" ], [ "NA", "NA", "RN", "VALUE:NA", "" ], [ "NA", "NA", "RE+RN", "VALUE:NA", "" ], [ "NA", "NA", "D", "VALUE:NA", "" ], [ "NA", "NA", "NA", "VALUE:NA", "" ], [ "NA", "NA", "U", "VALUE:NA", "" ], [ "NA", "U", "NONE", "VALUE:NA", "" ], [ "NA", "U", "L", "VALUE:NA", "" ], [ "NA", "U", "RE", "VALUE:NA", "" ], [ "NA", "U", "RN", "VALUE:NA", "" ], [ "NA", "U", "RE+RN", "VALUE:NA", "" ], [ "NA", "U", "D", "VALUE:NA", "" ], [ "NA", "U", "NA", "VALUE:NA", "" ], [ "NA", "U", "U", "VALUE:NA", "" ], [ "U", "NONE", "NONE", "VALUE:U", "" ], [ "U", "NONE", "L", "VALUE:L", "" ], [ "U", "NONE", "RE", "VALUE:RE", "" ], [ "U", "NONE", "RN", "VALUE:RN", "" ], [ "U", "NONE", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "NONE", "D", "VALUE:D", "" ], [ "U", "NONE", "NA", "VALUE:U", "" ], [ "U", "NONE", "U", "VALUE:U", "" ], [ "U", "RE", "NONE", "VALUE:RE", "" ], [ "U", "RE", "L", "VALUE:RE", "" ], [ "U", "RE", "RE", "VALUE:RE", "" ], [ "U", "RE", "RN", "VALUE:RE+RN", "" ], [ "U", "RE", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "RE", "D", "VALUE:D", "" ], [ "U", "RE", "NA", "VALUE:RE", "" ], [ "U", "RE", "U", "VALUE:RE", "" ], [ "U", "RN", "NONE", "VALUE:RN", "" ], [ "U", "RN", "L", "VALUE:RN", "" ], [ "U", "RN", "RE", "VALUE:RE+RN", "" ], [ "U", "RN", "RN", "VALUE:RN", "" ], [ "U", "RN", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "RN", "D", "VALUE:D", "" ], [ "U", "RN", "NA", "VALUE:RN", "" ], [ "U", "RN", "U", "VALUE:RN", "" ], [ "U", "RE+RN", "NONE", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "L", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "RE", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "RN", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "D", "VALUE:D", "" ], [ "U", "RE+RN", "NA", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "U", "VALUE:RE+RN", "" ], [ "U", "RNOS", "NONE", "VALUE:RNOS", "" ], [ "U", "RNOS", "L", "VALUE:RNOS", "" ], [ "U", "RNOS", "RE", "VALUE:RNOS", "" ], [ "U", "RNOS", "RN", "VALUE:RNOS", "" ], [ "U", "RNOS", "RE+RN", "VALUE:RNOS", "" ], [ "U", "RNOS", "D", "VALUE:D", "" ], [ "U", "RNOS", "NA", "VALUE:RNOS", "" ], [ "U", "RNOS", "U", "VALUE:RNOS", "" ], [ "U", "D", "NONE", "VALUE:D", "" ], [ "U", "D", "L", "VALUE:D", "" ], [ "U", "D", "RE", "VALUE:D", "" ], [ "U", "D", "RN", "VALUE:D", "" ], [ "U", "D", "RE+RN", "VALUE:D", "" ], [ "U", "D", "D", "VALUE:D", "" ], [ "U", "D", "NA", "VALUE:D", "" ], [ "U", "D", "U", "VALUE:D", "" ], [ "U", "NA", "NONE", "VALUE:U", "" ], [ "U", "NA", "L", "VALUE:L", "" ], [ "U", "NA", "RE", "VALUE:RE", "" ], [ "U", "NA", "RN", "VALUE:RN", "" ], [ "U", "NA", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "NA", "D", "VALUE:D", "" ], [ "U", "NA", "NA", "VALUE:U", "" ], [ "U", "NA", "U", "VALUE:U", "" ], [ "U", "U", "NONE", "VALUE:U", "" ], [ "U", "U", "L", "VALUE:L", "" ], [ "U", "U", "RE", "VALUE:RE", "" ], [ "U", "U", "RN", "VALUE:RN", "" ], [ "U", "U", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "U", "D", "VALUE:D", "" ], [ "U", "U", "NA", "VALUE:U", "" ], [ "U", "U", "U", "VALUE:U", "" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_rac.json b/src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_rac.json deleted file mode 100644 index 33c210d52..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_rac.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "summary_stage_rac", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Summary Stage", - "title" : "Summary Stage", - "last_modified" : "2015-05-27T16:20:12.448Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - }, { - "key" : "description", - "name" : "Explanation", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "IS", "NONE", "NONE", "VALUE:IS", "" ], [ "IS", "NONE", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NONE", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NONE", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NONE", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NONE", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NONE", "NA", "VALUE:IS", "" ], [ "IS", "NONE", "U", "VALUE:IS", "" ], [ "IS", "L", "NONE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "L", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "L", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "L", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "L", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "L", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "L", "NA", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "L", "U", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "NONE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "NA", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "U", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "NONE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "NA", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "U", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "NONE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "NA", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "U", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "NONE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "NA", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RNOS", "U", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "NONE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "NA", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "U", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "NONE", "VALUE:IS", "" ], [ "IS", "NA", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "NA", "VALUE:IS", "" ], [ "IS", "NA", "U", "VALUE:IS", "" ], [ "IS", "U", "NONE", "VALUE:IS", "" ], [ "IS", "U", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "U", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "U", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "U", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "U", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "U", "NA", "VALUE:IS", "" ], [ "IS", "U", "U", "VALUE:IS", "" ], [ "L", "NONE", "NONE", "VALUE:L", "" ], [ "L", "NONE", "L", "VALUE:L", "" ], [ "L", "NONE", "RE", "VALUE:RE", "" ], [ "L", "NONE", "RN", "VALUE:RN", "" ], [ "L", "NONE", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "NONE", "D", "VALUE:D", "" ], [ "L", "NONE", "NA", "VALUE:L", "" ], [ "L", "NONE", "U", "VALUE:L", "" ], [ "L", "L", "NONE", "VALUE:L", "" ], [ "L", "L", "L", "VALUE:L", "" ], [ "L", "L", "RE", "VALUE:RE", "" ], [ "L", "L", "RN", "VALUE:RN", "" ], [ "L", "L", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "L", "D", "VALUE:D", "" ], [ "L", "L", "NA", "VALUE:L", "" ], [ "L", "L", "U", "VALUE:L", "" ], [ "L", "RE", "NONE", "VALUE:RE", "" ], [ "L", "RE", "L", "VALUE:RE", "" ], [ "L", "RE", "RE", "VALUE:RE", "" ], [ "L", "RE", "RN", "VALUE:RE+RN", "" ], [ "L", "RE", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "RE", "D", "VALUE:D", "" ], [ "L", "RE", "NA", "VALUE:RE", "" ], [ "L", "RE", "U", "VALUE:RE", "" ], [ "L", "RN", "NONE", "VALUE:RN", "" ], [ "L", "RN", "L", "VALUE:RN", "" ], [ "L", "RN", "RE", "VALUE:RE+RN", "" ], [ "L", "RN", "RN", "VALUE:RN", "" ], [ "L", "RN", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "RN", "D", "VALUE:D", "" ], [ "L", "RN", "NA", "VALUE:RN", "" ], [ "L", "RN", "U", "VALUE:RN", "" ], [ "L", "RE+RN", "NONE", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "L", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "RE", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "RN", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "D", "VALUE:D", "" ], [ "L", "RE+RN", "NA", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "U", "VALUE:RE+RN", "" ], [ "L", "RNOS", "NONE", "VALUE:RNOS", "" ], [ "L", "RNOS", "L", "VALUE:RNOS", "" ], [ "L", "RNOS", "RE", "VALUE:RNOS", "" ], [ "L", "RNOS", "RN", "VALUE:RNOS", "" ], [ "L", "RNOS", "RE+RN", "VALUE:RNOS", "" ], [ "L", "RNOS", "D", "VALUE:D", "" ], [ "L", "RNOS", "NA", "VALUE:RNOS", "" ], [ "L", "RNOS", "U", "VALUE:RNOS", "" ], [ "L", "D", "NONE", "VALUE:D", "" ], [ "L", "D", "L", "VALUE:D", "" ], [ "L", "D", "RE", "VALUE:D", "" ], [ "L", "D", "RN", "VALUE:D", "" ], [ "L", "D", "RE+RN", "VALUE:D", "" ], [ "L", "D", "D", "VALUE:D", "" ], [ "L", "D", "NA", "VALUE:D", "" ], [ "L", "D", "U", "VALUE:D", "" ], [ "L", "NA", "NONE", "VALUE:L", "" ], [ "L", "NA", "L", "VALUE:L", "" ], [ "L", "NA", "RE", "VALUE:RE", "" ], [ "L", "NA", "RN", "VALUE:RN", "" ], [ "L", "NA", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "NA", "D", "VALUE:D", "" ], [ "L", "NA", "NA", "VALUE:L", "" ], [ "L", "NA", "U", "VALUE:L", "" ], [ "L", "U", "NONE", "VALUE:L", "" ], [ "L", "U", "L", "VALUE:L", "" ], [ "L", "U", "RE", "VALUE:RE", "" ], [ "L", "U", "RN", "VALUE:RN", "" ], [ "L", "U", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "U", "D", "VALUE:D", "" ], [ "L", "U", "NA", "VALUE:L", "" ], [ "L", "U", "U", "VALUE:L", "" ], [ "RE", "NONE", "NONE", "VALUE:RE", "" ], [ "RE", "NONE", "L", "VALUE:RE", "" ], [ "RE", "NONE", "RE", "VALUE:RE", "" ], [ "RE", "NONE", "RN", "VALUE:RE+RN", "" ], [ "RE", "NONE", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "NONE", "D", "VALUE:D", "" ], [ "RE", "NONE", "NA", "VALUE:RE", "" ], [ "RE", "NONE", "U", "VALUE:RE", "" ], [ "RE", "L", "NONE", "VALUE:RE", "" ], [ "RE", "L", "L", "VALUE:RE", "" ], [ "RE", "L", "RE", "VALUE:RE", "" ], [ "RE", "L", "RN", "VALUE:RE+RN", "" ], [ "RE", "L", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "L", "D", "VALUE:D", "" ], [ "RE", "L", "NA", "VALUE:RE", "" ], [ "RE", "L", "U", "VALUE:RE", "" ], [ "RE", "RE", "NONE", "VALUE:RE", "" ], [ "RE", "RE", "L", "VALUE:RE", "" ], [ "RE", "RE", "RE", "VALUE:RE", "" ], [ "RE", "RE", "RN", "VALUE:RE+RN", "" ], [ "RE", "RE", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "RE", "D", "VALUE:D", "" ], [ "RE", "RE", "NA", "VALUE:RE", "" ], [ "RE", "RE", "U", "VALUE:RE", "" ], [ "RE", "RN", "NONE", "VALUE:RE+RN", "" ], [ "RE", "RN", "L", "VALUE:RE+RN", "" ], [ "RE", "RN", "RE", "VALUE:RE+RN", "" ], [ "RE", "RN", "RN", "VALUE:RE+RN", "" ], [ "RE", "RN", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "RN", "D", "VALUE:D", "" ], [ "RE", "RN", "NA", "VALUE:RE+RN", "" ], [ "RE", "RN", "U", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "NONE", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "L", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "RE", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "RN", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "D", "VALUE:D", "" ], [ "RE", "RE+RN", "NA", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "U", "VALUE:RE+RN", "" ], [ "RE", "RNOS", "NONE", "VALUE:RNOS", "" ], [ "RE", "RNOS", "L", "VALUE:RNOS", "" ], [ "RE", "RNOS", "RE", "VALUE:RNOS", "" ], [ "RE", "RNOS", "RN", "VALUE:RNOS", "" ], [ "RE", "RNOS", "RE+RN", "VALUE:RNOS", "" ], [ "RE", "RNOS", "D", "VALUE:D", "" ], [ "RE", "RNOS", "NA", "VALUE:RNOS", "" ], [ "RE", "RNOS", "U", "VALUE:RNOS", "" ], [ "RE", "D", "NONE", "VALUE:D", "" ], [ "RE", "D", "L", "VALUE:D", "" ], [ "RE", "D", "RE", "VALUE:D", "" ], [ "RE", "D", "RN", "VALUE:D", "" ], [ "RE", "D", "RE+RN", "VALUE:D", "" ], [ "RE", "D", "D", "VALUE:D", "" ], [ "RE", "D", "NA", "VALUE:D", "" ], [ "RE", "D", "U", "VALUE:D", "" ], [ "RE", "NA", "NONE", "VALUE:RE", "" ], [ "RE", "NA", "L", "VALUE:RE", "" ], [ "RE", "NA", "RE", "VALUE:RE", "" ], [ "RE", "NA", "RN", "VALUE:RE+RN", "" ], [ "RE", "NA", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "NA", "D", "VALUE:D", "" ], [ "RE", "NA", "NA", "VALUE:RE", "" ], [ "RE", "NA", "U", "VALUE:RE", "" ], [ "RE", "U", "NONE", "VALUE:RE", "" ], [ "RE", "U", "L", "VALUE:RE", "" ], [ "RE", "U", "RE", "VALUE:RE", "" ], [ "RE", "U", "RN", "VALUE:RE+RN", "" ], [ "RE", "U", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "U", "D", "VALUE:D", "" ], [ "RE", "U", "NA", "VALUE:RE", "" ], [ "RE", "U", "U", "VALUE:RE", "" ], [ "RNOS", "NONE", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "L", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "RE", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "RN", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "D", "VALUE:D", "" ], [ "RNOS", "NONE", "NA", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "U", "VALUE:RNOS", "" ], [ "RNOS", "L", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "L", "L", "VALUE:RNOS", "" ], [ "RNOS", "L", "RE", "VALUE:RNOS", "" ], [ "RNOS", "L", "RN", "VALUE:RNOS", "" ], [ "RNOS", "L", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "L", "D", "VALUE:D", "" ], [ "RNOS", "L", "NA", "VALUE:RNOS", "" ], [ "RNOS", "L", "U", "VALUE:RNOS", "" ], [ "RNOS", "RE", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "RE", "L", "VALUE:RNOS", "" ], [ "RNOS", "RE", "RE", "VALUE:RNOS", "" ], [ "RNOS", "RE", "RN", "VALUE:RNOS", "" ], [ "RNOS", "RE", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "RE", "D", "VALUE:D", "" ], [ "RNOS", "RE", "NA", "VALUE:RNOS", "" ], [ "RNOS", "RE", "U", "VALUE:RNOS", "" ], [ "RNOS", "RN", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "RN", "L", "VALUE:RNOS", "" ], [ "RNOS", "RN", "RE", "VALUE:RNOS", "" ], [ "RNOS", "RN", "RN", "VALUE:RNOS", "" ], [ "RNOS", "RN", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "RN", "D", "VALUE:D", "" ], [ "RNOS", "RN", "NA", "VALUE:RNOS", "" ], [ "RNOS", "RN", "U", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "L", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "RE", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "RN", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "D", "VALUE:D", "" ], [ "RNOS", "RE+RN", "NA", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "U", "VALUE:RNOS", "" ], [ "RNOS", "RNOS", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "RNOS", "L", "VALUE:RNOS", "" ], [ "RNOS", "RNOS", "RE", "VALUE:RNOS", "" ], [ "RNOS", "RNOS", "RN", "VALUE:RNOS", "" ], [ "RNOS", "RNOS", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "RNOS", "D", "VALUE:D", "" ], [ "RNOS", "RNOS", "NA", "VALUE:RNOS", "" ], [ "RNOS", "RNOS", "U", "VALUE:RNOS", "" ], [ "RNOS", "D", "NONE", "VALUE:D", "" ], [ "RNOS", "D", "L", "VALUE:D", "" ], [ "RNOS", "D", "RE", "VALUE:D", "" ], [ "RNOS", "D", "RN", "VALUE:D", "" ], [ "RNOS", "D", "RE+RN", "VALUE:D", "" ], [ "RNOS", "D", "D", "VALUE:D", "" ], [ "RNOS", "D", "NA", "VALUE:D", "" ], [ "RNOS", "D", "U", "VALUE:D", "" ], [ "RNOS", "NA", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "NA", "L", "VALUE:RNOS", "" ], [ "RNOS", "NA", "RE", "VALUE:RNOS", "" ], [ "RNOS", "NA", "RN", "VALUE:RNOS", "" ], [ "RNOS", "NA", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "NA", "D", "VALUE:D", "" ], [ "RNOS", "NA", "NA", "VALUE:RNOS", "" ], [ "RNOS", "NA", "U", "VALUE:RNOS", "" ], [ "RNOS", "U", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "U", "L", "VALUE:RNOS", "" ], [ "RNOS", "U", "RE", "VALUE:RNOS", "" ], [ "RNOS", "U", "RN", "VALUE:RNOS", "" ], [ "RNOS", "U", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "U", "D", "VALUE:D", "" ], [ "RNOS", "U", "NA", "VALUE:RNOS", "" ], [ "RNOS", "U", "U", "VALUE:RNOS", "" ], [ "D", "NONE", "NONE", "VALUE:D", "" ], [ "D", "NONE", "L", "VALUE:D", "" ], [ "D", "NONE", "RE", "VALUE:D", "" ], [ "D", "NONE", "RN", "VALUE:D", "" ], [ "D", "NONE", "RE+RN", "VALUE:D", "" ], [ "D", "NONE", "D", "VALUE:D", "" ], [ "D", "NONE", "NA", "VALUE:D", "" ], [ "D", "NONE", "U", "VALUE:D", "" ], [ "D", "L", "NONE", "VALUE:D", "" ], [ "D", "L", "L", "VALUE:D", "" ], [ "D", "L", "RE", "VALUE:D", "" ], [ "D", "L", "RN", "VALUE:D", "" ], [ "D", "L", "RE+RN", "VALUE:D", "" ], [ "D", "L", "D", "VALUE:D", "" ], [ "D", "L", "NA", "VALUE:D", "" ], [ "D", "L", "U", "VALUE:D", "" ], [ "D", "RE", "NONE", "VALUE:D", "" ], [ "D", "RE", "L", "VALUE:D", "" ], [ "D", "RE", "RE", "VALUE:D", "" ], [ "D", "RE", "RN", "VALUE:D", "" ], [ "D", "RE", "RE+RN", "VALUE:D", "" ], [ "D", "RE", "D", "VALUE:D", "" ], [ "D", "RE", "NA", "VALUE:D", "" ], [ "D", "RE", "U", "VALUE:D", "" ], [ "D", "RN", "NONE", "VALUE:D", "" ], [ "D", "RN", "L", "VALUE:D", "" ], [ "D", "RN", "RE", "VALUE:D", "" ], [ "D", "RN", "RN", "VALUE:D", "" ], [ "D", "RN", "RE+RN", "VALUE:D", "" ], [ "D", "RN", "D", "VALUE:D", "" ], [ "D", "RN", "NA", "VALUE:D", "" ], [ "D", "RN", "U", "VALUE:D", "" ], [ "D", "RE+RN", "NONE", "VALUE:D", "" ], [ "D", "RE+RN", "L", "VALUE:D", "" ], [ "D", "RE+RN", "RE", "VALUE:D", "" ], [ "D", "RE+RN", "RN", "VALUE:D", "" ], [ "D", "RE+RN", "RE+RN", "VALUE:D", "" ], [ "D", "RE+RN", "D", "VALUE:D", "" ], [ "D", "RE+RN", "NA", "VALUE:D", "" ], [ "D", "RE+RN", "U", "VALUE:D", "" ], [ "D", "RNOS", "NONE", "VALUE:D", "" ], [ "D", "RNOS", "L", "VALUE:D", "" ], [ "D", "RNOS", "RE", "VALUE:D", "" ], [ "D", "RNOS", "RN", "VALUE:D", "" ], [ "D", "RNOS", "RE+RN", "VALUE:D", "" ], [ "D", "RNOS", "D", "VALUE:D", "" ], [ "D", "RNOS", "NA", "VALUE:D", "" ], [ "D", "RNOS", "U", "VALUE:D", "" ], [ "D", "D", "NONE", "VALUE:D", "" ], [ "D", "D", "L", "VALUE:D", "" ], [ "D", "D", "RE", "VALUE:D", "" ], [ "D", "D", "RN", "VALUE:D", "" ], [ "D", "D", "RE+RN", "VALUE:D", "" ], [ "D", "D", "D", "VALUE:D", "" ], [ "D", "D", "NA", "VALUE:D", "" ], [ "D", "D", "U", "VALUE:D", "" ], [ "D", "NA", "NONE", "VALUE:D", "" ], [ "D", "NA", "L", "VALUE:D", "" ], [ "D", "NA", "RE", "VALUE:D", "" ], [ "D", "NA", "RN", "VALUE:D", "" ], [ "D", "NA", "RE+RN", "VALUE:D", "" ], [ "D", "NA", "D", "VALUE:D", "" ], [ "D", "NA", "NA", "VALUE:D", "" ], [ "D", "NA", "U", "VALUE:D", "" ], [ "D", "U", "NONE", "VALUE:D", "" ], [ "D", "U", "L", "VALUE:D", "" ], [ "D", "U", "RE", "VALUE:D", "" ], [ "D", "U", "RN", "VALUE:D", "" ], [ "D", "U", "RE+RN", "VALUE:D", "" ], [ "D", "U", "D", "VALUE:D", "" ], [ "D", "U", "NA", "VALUE:D", "" ], [ "D", "U", "U", "VALUE:D", "" ], [ "NA", "NONE", "NONE", "VALUE:U", "" ], [ "NA", "NONE", "L", "VALUE:L", "" ], [ "NA", "NONE", "RE", "VALUE:RE", "" ], [ "NA", "NONE", "RN", "VALUE:RN", "" ], [ "NA", "NONE", "RE+RN", "VALUE:RE+RN", "" ], [ "NA", "NONE", "D", "VALUE:D", "" ], [ "NA", "NONE", "NA", "VALUE:U", "" ], [ "NA", "NONE", "U", "VALUE:U", "" ], [ "NA", "L", "NONE", "VALUE:L", "" ], [ "NA", "L", "L", "VALUE:L", "" ], [ "NA", "L", "RE", "VALUE:RE", "" ], [ "NA", "L", "RN", "VALUE:RN", "" ], [ "NA", "L", "RE+RN", "VALUE:RE+RN", "" ], [ "NA", "L", "D", "VALUE:D", "" ], [ "NA", "L", "NA", "VALUE:L", "" ], [ "NA", "L", "U", "VALUE:L", "" ], [ "NA", "RE", "NONE", "VALUE:RE", "" ], [ "NA", "RE", "L", "VALUE:RE", "" ], [ "NA", "RE", "RE", "VALUE:RE", "" ], [ "NA", "RE", "RN", "VALUE:RE+RN", "" ], [ "NA", "RE", "RE+RN", "VALUE:RE+RN", "" ], [ "NA", "RE", "D", "VALUE:D", "" ], [ "NA", "RE", "NA", "VALUE:RE", "" ], [ "NA", "RE", "U", "VALUE:RE", "" ], [ "NA", "RN", "NONE", "VALUE:RN", "" ], [ "NA", "RN", "L", "VALUE:RN", "" ], [ "NA", "RN", "RE", "VALUE:RE+RN", "" ], [ "NA", "RN", "RN", "VALUE:RN", "" ], [ "NA", "RN", "RE+RN", "VALUE:RE+RN", "" ], [ "NA", "RN", "D", "VALUE:D", "" ], [ "NA", "RN", "NA", "VALUE:RN", "" ], [ "NA", "RN", "U", "VALUE:RN", "" ], [ "NA", "RE+RN", "NONE", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "L", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "RE", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "RN", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "RE+RN", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "D", "VALUE:D", "" ], [ "NA", "RE+RN", "NA", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "U", "VALUE:RE+RN", "" ], [ "NA", "RNOS", "NONE", "VALUE:RNOS", "" ], [ "NA", "RNOS", "L", "VALUE:RNOS", "" ], [ "NA", "RNOS", "RE", "VALUE:RNOS", "" ], [ "NA", "RNOS", "RN", "VALUE:RNOS", "" ], [ "NA", "RNOS", "RE+RN", "VALUE:RNOS", "" ], [ "NA", "RNOS", "D", "VALUE:D", "" ], [ "NA", "RNOS", "NA", "VALUE:RNOS", "" ], [ "NA", "RNOS", "U", "VALUE:RNOS", "" ], [ "NA", "D", "NONE", "VALUE:D", "" ], [ "NA", "D", "L", "VALUE:D", "" ], [ "NA", "D", "RE", "VALUE:D", "" ], [ "NA", "D", "RN", "VALUE:D", "" ], [ "NA", "D", "RE+RN", "VALUE:D", "" ], [ "NA", "D", "D", "VALUE:D", "" ], [ "NA", "D", "NA", "VALUE:D", "" ], [ "NA", "D", "U", "VALUE:D", "" ], [ "NA", "NA", "NONE", "VALUE:NA", "" ], [ "NA", "NA", "L", "VALUE:NA", "" ], [ "NA", "NA", "RE", "VALUE:NA", "" ], [ "NA", "NA", "RN", "VALUE:NA", "" ], [ "NA", "NA", "RE+RN", "VALUE:NA", "" ], [ "NA", "NA", "D", "VALUE:NA", "" ], [ "NA", "NA", "NA", "VALUE:NA", "" ], [ "NA", "NA", "U", "VALUE:NA", "" ], [ "NA", "U", "NONE", "VALUE:NA", "" ], [ "NA", "U", "L", "VALUE:NA", "" ], [ "NA", "U", "RE", "VALUE:NA", "" ], [ "NA", "U", "RN", "VALUE:NA", "" ], [ "NA", "U", "RE+RN", "VALUE:NA", "" ], [ "NA", "U", "D", "VALUE:NA", "" ], [ "NA", "U", "NA", "VALUE:NA", "" ], [ "NA", "U", "U", "VALUE:NA", "" ], [ "U", "NONE", "NONE", "VALUE:U", "" ], [ "U", "NONE", "L", "VALUE:L", "" ], [ "U", "NONE", "RE", "VALUE:RE", "" ], [ "U", "NONE", "RN", "VALUE:RN", "" ], [ "U", "NONE", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "NONE", "D", "VALUE:D", "" ], [ "U", "NONE", "NA", "VALUE:U", "" ], [ "U", "NONE", "U", "VALUE:U", "" ], [ "U", "L", "NONE", "VALUE:L", "" ], [ "U", "L", "L", "VALUE:L", "" ], [ "U", "L", "RE", "VALUE:RE", "" ], [ "U", "L", "RN", "VALUE:RN", "" ], [ "U", "L", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "L", "D", "VALUE:D", "" ], [ "U", "L", "NA", "VALUE:L", "" ], [ "U", "L", "U", "VALUE:L", "" ], [ "U", "RE", "NONE", "VALUE:RE", "" ], [ "U", "RE", "L", "VALUE:RE", "" ], [ "U", "RE", "RE", "VALUE:RE", "" ], [ "U", "RE", "RN", "VALUE:RE+RN", "" ], [ "U", "RE", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "RE", "D", "VALUE:D", "" ], [ "U", "RE", "NA", "VALUE:RE", "" ], [ "U", "RE", "U", "VALUE:RE", "" ], [ "U", "RN", "NONE", "VALUE:RN", "" ], [ "U", "RN", "L", "VALUE:RN", "" ], [ "U", "RN", "RE", "VALUE:RE+RN", "" ], [ "U", "RN", "RN", "VALUE:RN", "" ], [ "U", "RN", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "RN", "D", "VALUE:D", "" ], [ "U", "RN", "NA", "VALUE:RN", "" ], [ "U", "RN", "U", "VALUE:RN", "" ], [ "U", "RE+RN", "NONE", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "L", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "RE", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "RN", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "D", "VALUE:D", "" ], [ "U", "RE+RN", "NA", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "U", "VALUE:RE+RN", "" ], [ "U", "RNOS", "NONE", "VALUE:RNOS", "" ], [ "U", "RNOS", "L", "VALUE:RNOS", "" ], [ "U", "RNOS", "RE", "VALUE:RNOS", "" ], [ "U", "RNOS", "RN", "VALUE:RNOS", "" ], [ "U", "RNOS", "RE+RN", "VALUE:RNOS", "" ], [ "U", "RNOS", "D", "VALUE:D", "" ], [ "U", "RNOS", "NA", "VALUE:RNOS", "" ], [ "U", "RNOS", "U", "VALUE:RNOS", "" ], [ "U", "D", "NONE", "VALUE:D", "" ], [ "U", "D", "L", "VALUE:D", "" ], [ "U", "D", "RE", "VALUE:D", "" ], [ "U", "D", "RN", "VALUE:D", "" ], [ "U", "D", "RE+RN", "VALUE:D", "" ], [ "U", "D", "D", "VALUE:D", "" ], [ "U", "D", "NA", "VALUE:D", "" ], [ "U", "D", "U", "VALUE:D", "" ], [ "U", "NA", "NONE", "VALUE:U", "" ], [ "U", "NA", "L", "VALUE:L", "" ], [ "U", "NA", "RE", "VALUE:RE", "" ], [ "U", "NA", "RN", "VALUE:RN", "" ], [ "U", "NA", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "NA", "D", "VALUE:D", "" ], [ "U", "NA", "NA", "VALUE:U", "" ], [ "U", "NA", "U", "VALUE:U", "" ], [ "U", "U", "NONE", "VALUE:U", "" ], [ "U", "U", "L", "VALUE:L", "" ], [ "U", "U", "RE", "VALUE:RE", "" ], [ "U", "U", "RN", "VALUE:RN", "" ], [ "U", "U", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "U", "D", "VALUE:D", "" ], [ "U", "U", "NA", "VALUE:U", "" ], [ "U", "U", "U", "VALUE:U", "" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_rpa.json b/src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_rpa.json deleted file mode 100644 index 6fadb6eb6..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/summary_stage_rpa.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "summary_stage_rpa", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Summary Stage", - "title" : "Summary Stage", - "last_modified" : "2015-05-27T16:20:12.563Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - }, { - "key" : "description", - "name" : "Explanation", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "IS", "NONE", "NONE", "VALUE:IS", "" ], [ "IS", "NONE", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NONE", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NONE", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NONE", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NONE", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NONE", "NA", "VALUE:IS", "" ], [ "IS", "NONE", "U", "VALUE:IS", "" ], [ "IS", "RE", "NONE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "NA", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE", "U", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "NONE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "NA", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RN", "U", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "NONE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "NA", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "RE+RN", "U", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "NONE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "NA", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "D", "U", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "NONE", "VALUE:IS", "" ], [ "IS", "NA", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "NA", "NA", "VALUE:IS", "" ], [ "IS", "NA", "U", "VALUE:IS", "" ], [ "IS", "U", "NONE", "VALUE:IS", "" ], [ "IS", "U", "L", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "U", "RE", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "U", "RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "U", "RE+RN", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "U", "D", "ERROR:", "In situ implies no involvement outside the primary site." ], [ "IS", "U", "NA", "VALUE:IS", "" ], [ "IS", "U", "U", "VALUE:IS", "" ], [ "L", "NONE", "NONE", "VALUE:L", "" ], [ "L", "NONE", "L", "VALUE:L", "" ], [ "L", "NONE", "RE", "VALUE:RE", "" ], [ "L", "NONE", "RN", "VALUE:RN", "" ], [ "L", "NONE", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "NONE", "D", "VALUE:D", "" ], [ "L", "NONE", "NA", "VALUE:L", "" ], [ "L", "NONE", "U", "VALUE:L", "" ], [ "L", "RE", "NONE", "VALUE:RE", "" ], [ "L", "RE", "L", "VALUE:RE", "" ], [ "L", "RE", "RE", "VALUE:RE", "" ], [ "L", "RE", "RN", "VALUE:RE+RN", "" ], [ "L", "RE", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "RE", "D", "VALUE:D", "" ], [ "L", "RE", "NA", "VALUE:RE", "" ], [ "L", "RE", "U", "VALUE:RE", "" ], [ "L", "RN", "NONE", "VALUE:RN", "" ], [ "L", "RN", "L", "VALUE:RN", "" ], [ "L", "RN", "RE", "VALUE:RE+RN", "" ], [ "L", "RN", "RN", "VALUE:RN", "" ], [ "L", "RN", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "RN", "D", "VALUE:D", "" ], [ "L", "RN", "NA", "VALUE:RN", "" ], [ "L", "RN", "U", "VALUE:RN", "" ], [ "L", "RE+RN", "NONE", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "L", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "RE", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "RN", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "D", "VALUE:D", "" ], [ "L", "RE+RN", "NA", "VALUE:RE+RN", "" ], [ "L", "RE+RN", "U", "VALUE:RE+RN", "" ], [ "L", "D", "NONE", "VALUE:D", "" ], [ "L", "D", "L", "VALUE:D", "" ], [ "L", "D", "RE", "VALUE:D", "" ], [ "L", "D", "RN", "VALUE:D", "" ], [ "L", "D", "RE+RN", "VALUE:D", "" ], [ "L", "D", "D", "VALUE:D", "" ], [ "L", "D", "NA", "VALUE:D", "" ], [ "L", "D", "U", "VALUE:D", "" ], [ "L", "NA", "NONE", "VALUE:L", "" ], [ "L", "NA", "L", "VALUE:L", "" ], [ "L", "NA", "RE", "VALUE:RE", "" ], [ "L", "NA", "RN", "VALUE:RN", "" ], [ "L", "NA", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "NA", "D", "VALUE:D", "" ], [ "L", "NA", "NA", "VALUE:L", "" ], [ "L", "NA", "U", "VALUE:L", "" ], [ "L", "U", "NONE", "VALUE:L", "" ], [ "L", "U", "L", "VALUE:L", "" ], [ "L", "U", "RE", "VALUE:RE", "" ], [ "L", "U", "RN", "VALUE:RN", "" ], [ "L", "U", "RE+RN", "VALUE:RE+RN", "" ], [ "L", "U", "D", "VALUE:D", "" ], [ "L", "U", "NA", "VALUE:L", "" ], [ "L", "U", "U", "VALUE:L", "" ], [ "RE", "NONE", "NONE", "VALUE:RE", "" ], [ "RE", "NONE", "L", "VALUE:RE", "" ], [ "RE", "NONE", "RE", "VALUE:RE", "" ], [ "RE", "NONE", "RN", "VALUE:RE+RN", "" ], [ "RE", "NONE", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "NONE", "D", "VALUE:D", "" ], [ "RE", "NONE", "NA", "VALUE:RE", "" ], [ "RE", "NONE", "U", "VALUE:RE", "" ], [ "RE", "RE", "NONE", "VALUE:RE", "" ], [ "RE", "RE", "L", "VALUE:RE", "" ], [ "RE", "RE", "RE", "VALUE:RE", "" ], [ "RE", "RE", "RN", "VALUE:RE+RN", "" ], [ "RE", "RE", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "RE", "D", "VALUE:D", "" ], [ "RE", "RE", "NA", "VALUE:RE", "" ], [ "RE", "RE", "U", "VALUE:RE", "" ], [ "RE", "RN", "NONE", "VALUE:RE+RN", "" ], [ "RE", "RN", "L", "VALUE:RE+RN", "" ], [ "RE", "RN", "RE", "VALUE:RE+RN", "" ], [ "RE", "RN", "RN", "VALUE:RE+RN", "" ], [ "RE", "RN", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "RN", "D", "VALUE:D", "" ], [ "RE", "RN", "NA", "VALUE:RE+RN", "" ], [ "RE", "RN", "U", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "NONE", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "L", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "RE", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "RN", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "D", "VALUE:D", "" ], [ "RE", "RE+RN", "NA", "VALUE:RE+RN", "" ], [ "RE", "RE+RN", "U", "VALUE:RE+RN", "" ], [ "RE", "D", "NONE", "VALUE:D", "" ], [ "RE", "D", "L", "VALUE:D", "" ], [ "RE", "D", "RE", "VALUE:D", "" ], [ "RE", "D", "RN", "VALUE:D", "" ], [ "RE", "D", "RE+RN", "VALUE:D", "" ], [ "RE", "D", "D", "VALUE:D", "" ], [ "RE", "D", "NA", "VALUE:D", "" ], [ "RE", "D", "U", "VALUE:D", "" ], [ "RE", "NA", "NONE", "VALUE:RE", "" ], [ "RE", "NA", "L", "VALUE:RE", "" ], [ "RE", "NA", "RE", "VALUE:RE", "" ], [ "RE", "NA", "RN", "VALUE:RE+RN", "" ], [ "RE", "NA", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "NA", "D", "VALUE:D", "" ], [ "RE", "NA", "NA", "VALUE:RE", "" ], [ "RE", "NA", "U", "VALUE:RE", "" ], [ "RE", "U", "NONE", "VALUE:RE", "" ], [ "RE", "U", "L", "VALUE:RE", "" ], [ "RE", "U", "RE", "VALUE:RE", "" ], [ "RE", "U", "RN", "VALUE:RE+RN", "" ], [ "RE", "U", "RE+RN", "VALUE:RE+RN", "" ], [ "RE", "U", "D", "VALUE:D", "" ], [ "RE", "U", "NA", "VALUE:RE", "" ], [ "RE", "U", "U", "VALUE:RE", "" ], [ "RNOS", "NONE", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "L", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "RE", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "RN", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "D", "VALUE:D", "" ], [ "RNOS", "NONE", "NA", "VALUE:RNOS", "" ], [ "RNOS", "NONE", "U", "VALUE:RNOS", "" ], [ "RNOS", "RE", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "RE", "L", "VALUE:RNOS", "" ], [ "RNOS", "RE", "RE", "VALUE:RNOS", "" ], [ "RNOS", "RE", "RN", "VALUE:RNOS", "" ], [ "RNOS", "RE", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "RE", "D", "VALUE:D", "" ], [ "RNOS", "RE", "NA", "VALUE:RNOS", "" ], [ "RNOS", "RE", "U", "VALUE:RNOS", "" ], [ "RNOS", "RN", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "RN", "L", "VALUE:RNOS", "" ], [ "RNOS", "RN", "RE", "VALUE:RNOS", "" ], [ "RNOS", "RN", "RN", "VALUE:RNOS", "" ], [ "RNOS", "RN", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "RN", "D", "VALUE:D", "" ], [ "RNOS", "RN", "NA", "VALUE:RNOS", "" ], [ "RNOS", "RN", "U", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "L", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "RE", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "RN", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "D", "VALUE:D", "" ], [ "RNOS", "RE+RN", "NA", "VALUE:RNOS", "" ], [ "RNOS", "RE+RN", "U", "VALUE:RNOS", "" ], [ "RNOS", "D", "NONE", "VALUE:D", "" ], [ "RNOS", "D", "L", "VALUE:D", "" ], [ "RNOS", "D", "RE", "VALUE:D", "" ], [ "RNOS", "D", "RN", "VALUE:D", "" ], [ "RNOS", "D", "RE+RN", "VALUE:D", "" ], [ "RNOS", "D", "D", "VALUE:D", "" ], [ "RNOS", "D", "NA", "VALUE:D", "" ], [ "RNOS", "D", "U", "VALUE:D", "" ], [ "RNOS", "NA", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "NA", "L", "VALUE:RNOS", "" ], [ "RNOS", "NA", "RE", "VALUE:RNOS", "" ], [ "RNOS", "NA", "RN", "VALUE:RNOS", "" ], [ "RNOS", "NA", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "NA", "D", "VALUE:D", "" ], [ "RNOS", "NA", "NA", "VALUE:RNOS", "" ], [ "RNOS", "NA", "U", "VALUE:RNOS", "" ], [ "RNOS", "U", "NONE", "VALUE:RNOS", "" ], [ "RNOS", "U", "L", "VALUE:RNOS", "" ], [ "RNOS", "U", "RE", "VALUE:RNOS", "" ], [ "RNOS", "U", "RN", "VALUE:RNOS", "" ], [ "RNOS", "U", "RE+RN", "VALUE:RNOS", "" ], [ "RNOS", "U", "D", "VALUE:D", "" ], [ "RNOS", "U", "NA", "VALUE:RNOS", "" ], [ "RNOS", "U", "U", "VALUE:RNOS", "" ], [ "D", "NONE", "NONE", "VALUE:D", "" ], [ "D", "NONE", "L", "VALUE:D", "" ], [ "D", "NONE", "RE", "VALUE:D", "" ], [ "D", "NONE", "RN", "VALUE:D", "" ], [ "D", "NONE", "RE+RN", "VALUE:D", "" ], [ "D", "NONE", "D", "VALUE:D", "" ], [ "D", "NONE", "NA", "VALUE:D", "" ], [ "D", "NONE", "U", "VALUE:D", "" ], [ "D", "RE", "NONE", "VALUE:D", "" ], [ "D", "RE", "L", "VALUE:D", "" ], [ "D", "RE", "RE", "VALUE:D", "" ], [ "D", "RE", "RN", "VALUE:D", "" ], [ "D", "RE", "RE+RN", "VALUE:D", "" ], [ "D", "RE", "D", "VALUE:D", "" ], [ "D", "RE", "NA", "VALUE:D", "" ], [ "D", "RE", "U", "VALUE:D", "" ], [ "D", "RN", "NONE", "VALUE:D", "" ], [ "D", "RN", "L", "VALUE:D", "" ], [ "D", "RN", "RE", "VALUE:D", "" ], [ "D", "RN", "RN", "VALUE:D", "" ], [ "D", "RN", "RE+RN", "VALUE:D", "" ], [ "D", "RN", "D", "VALUE:D", "" ], [ "D", "RN", "NA", "VALUE:D", "" ], [ "D", "RN", "U", "VALUE:D", "" ], [ "D", "RE+RN", "NONE", "VALUE:D", "" ], [ "D", "RE+RN", "L", "VALUE:D", "" ], [ "D", "RE+RN", "RE", "VALUE:D", "" ], [ "D", "RE+RN", "RN", "VALUE:D", "" ], [ "D", "RE+RN", "RE+RN", "VALUE:D", "" ], [ "D", "RE+RN", "D", "VALUE:D", "" ], [ "D", "RE+RN", "NA", "VALUE:D", "" ], [ "D", "RE+RN", "U", "VALUE:D", "" ], [ "D", "D", "NONE", "VALUE:D", "" ], [ "D", "D", "L", "VALUE:D", "" ], [ "D", "D", "RE", "VALUE:D", "" ], [ "D", "D", "RN", "VALUE:D", "" ], [ "D", "D", "RE+RN", "VALUE:D", "" ], [ "D", "D", "D", "VALUE:D", "" ], [ "D", "D", "NA", "VALUE:D", "" ], [ "D", "D", "U", "VALUE:D", "" ], [ "D", "NA", "NONE", "VALUE:D", "" ], [ "D", "NA", "L", "VALUE:D", "" ], [ "D", "NA", "RE", "VALUE:D", "" ], [ "D", "NA", "RN", "VALUE:D", "" ], [ "D", "NA", "RE+RN", "VALUE:D", "" ], [ "D", "NA", "D", "VALUE:D", "" ], [ "D", "NA", "NA", "VALUE:D", "" ], [ "D", "NA", "U", "VALUE:D", "" ], [ "D", "U", "NONE", "VALUE:D", "" ], [ "D", "U", "L", "VALUE:D", "" ], [ "D", "U", "RE", "VALUE:D", "" ], [ "D", "U", "RN", "VALUE:D", "" ], [ "D", "U", "RE+RN", "VALUE:D", "" ], [ "D", "U", "D", "VALUE:D", "" ], [ "D", "U", "NA", "VALUE:D", "" ], [ "D", "U", "U", "VALUE:D", "" ], [ "NA", "NONE", "NONE", "VALUE:U", "" ], [ "NA", "NONE", "L", "VALUE:L", "" ], [ "NA", "NONE", "RE", "VALUE:RE", "" ], [ "NA", "NONE", "RN", "VALUE:RN", "" ], [ "NA", "NONE", "RE+RN", "VALUE:RE+RN", "" ], [ "NA", "NONE", "D", "VALUE:D", "" ], [ "NA", "NONE", "NA", "VALUE:U", "" ], [ "NA", "NONE", "U", "VALUE:U", "" ], [ "NA", "RE", "NONE", "VALUE:RE", "" ], [ "NA", "RE", "L", "VALUE:RE", "" ], [ "NA", "RE", "RE", "VALUE:RE", "" ], [ "NA", "RE", "RN", "VALUE:RE+RN", "" ], [ "NA", "RE", "RE+RN", "VALUE:RE+RN", "" ], [ "NA", "RE", "D", "VALUE:D", "" ], [ "NA", "RE", "NA", "VALUE:RE", "" ], [ "NA", "RE", "U", "VALUE:RE", "" ], [ "NA", "RN", "NONE", "VALUE:RN", "" ], [ "NA", "RN", "L", "VALUE:RN", "" ], [ "NA", "RN", "RE", "VALUE:RE+RN", "" ], [ "NA", "RN", "RN", "VALUE:RN", "" ], [ "NA", "RN", "RE+RN", "VALUE:RE+RN", "" ], [ "NA", "RN", "D", "VALUE:D", "" ], [ "NA", "RN", "NA", "VALUE:RN", "" ], [ "NA", "RN", "U", "VALUE:RN", "" ], [ "NA", "RE+RN", "NONE", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "L", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "RE", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "RN", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "RE+RN", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "D", "VALUE:D", "" ], [ "NA", "RE+RN", "NA", "VALUE:RE+RN", "" ], [ "NA", "RE+RN", "U", "VALUE:RE+RN", "" ], [ "NA", "D", "NONE", "VALUE:D", "" ], [ "NA", "D", "L", "VALUE:D", "" ], [ "NA", "D", "RE", "VALUE:D", "" ], [ "NA", "D", "RN", "VALUE:D", "" ], [ "NA", "D", "RE+RN", "VALUE:D", "" ], [ "NA", "D", "D", "VALUE:D", "" ], [ "NA", "D", "NA", "VALUE:D", "" ], [ "NA", "D", "U", "VALUE:D", "" ], [ "NA", "NA", "NONE", "VALUE:NA", "" ], [ "NA", "NA", "L", "VALUE:NA", "" ], [ "NA", "NA", "RE", "VALUE:NA", "" ], [ "NA", "NA", "RN", "VALUE:NA", "" ], [ "NA", "NA", "RE+RN", "VALUE:NA", "" ], [ "NA", "NA", "D", "VALUE:NA", "" ], [ "NA", "NA", "NA", "VALUE:NA", "" ], [ "NA", "NA", "U", "VALUE:NA", "" ], [ "NA", "U", "NONE", "VALUE:NA", "" ], [ "NA", "U", "L", "VALUE:NA", "" ], [ "NA", "U", "RE", "VALUE:NA", "" ], [ "NA", "U", "RN", "VALUE:NA", "" ], [ "NA", "U", "RE+RN", "VALUE:NA", "" ], [ "NA", "U", "D", "VALUE:NA", "" ], [ "NA", "U", "NA", "VALUE:NA", "" ], [ "NA", "U", "U", "VALUE:NA", "" ], [ "U", "NONE", "NONE", "VALUE:U", "" ], [ "U", "NONE", "L", "VALUE:L", "" ], [ "U", "NONE", "RE", "VALUE:RE", "" ], [ "U", "NONE", "RN", "VALUE:RN", "" ], [ "U", "NONE", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "NONE", "D", "VALUE:D", "" ], [ "U", "NONE", "NA", "VALUE:U", "" ], [ "U", "NONE", "U", "VALUE:U", "" ], [ "U", "RE", "NONE", "VALUE:RE", "" ], [ "U", "RE", "L", "VALUE:RE", "" ], [ "U", "RE", "RE", "VALUE:RE", "" ], [ "U", "RE", "RN", "VALUE:RE+RN", "" ], [ "U", "RE", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "RE", "D", "VALUE:D", "" ], [ "U", "RE", "NA", "VALUE:RE", "" ], [ "U", "RE", "U", "VALUE:RE", "" ], [ "U", "RN", "NONE", "VALUE:RN", "" ], [ "U", "RN", "L", "VALUE:RN", "" ], [ "U", "RN", "RE", "VALUE:RE+RN", "" ], [ "U", "RN", "RN", "VALUE:RN", "" ], [ "U", "RN", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "RN", "D", "VALUE:D", "" ], [ "U", "RN", "NA", "VALUE:RN", "" ], [ "U", "RN", "U", "VALUE:RN", "" ], [ "U", "RE+RN", "NONE", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "L", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "RE", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "RN", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "D", "VALUE:D", "" ], [ "U", "RE+RN", "NA", "VALUE:RE+RN", "" ], [ "U", "RE+RN", "U", "VALUE:RE+RN", "" ], [ "U", "D", "NONE", "VALUE:D", "" ], [ "U", "D", "L", "VALUE:D", "" ], [ "U", "D", "RE", "VALUE:D", "" ], [ "U", "D", "RN", "VALUE:D", "" ], [ "U", "D", "RE+RN", "VALUE:D", "" ], [ "U", "D", "D", "VALUE:D", "" ], [ "U", "D", "NA", "VALUE:D", "" ], [ "U", "D", "U", "VALUE:D", "" ], [ "U", "NA", "NONE", "VALUE:U", "" ], [ "U", "NA", "L", "VALUE:L", "" ], [ "U", "NA", "RE", "VALUE:RE", "" ], [ "U", "NA", "RN", "VALUE:RN", "" ], [ "U", "NA", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "NA", "D", "VALUE:D", "" ], [ "U", "NA", "NA", "VALUE:U", "" ], [ "U", "NA", "U", "VALUE:U", "" ], [ "U", "U", "NONE", "VALUE:U", "" ], [ "U", "U", "L", "VALUE:L", "" ], [ "U", "U", "RE", "VALUE:RE", "" ], [ "U", "U", "RN", "VALUE:RN", "" ], [ "U", "U", "RE+RN", "VALUE:RE+RN", "" ], [ "U", "U", "D", "VALUE:D", "" ], [ "U", "U", "NA", "VALUE:U", "" ], [ "U", "U", "U", "VALUE:U", "" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc6_xbn.json b/src/test/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc6_xbn.json deleted file mode 100644 index e11efd165..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc6_xbn.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "thickness_ulceration_ajcc6_xbn", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Thickness Ulceration AJCC6", - "title" : "Thickness Ulceration AJCC 6 Table", - "notes" : "**Note**: For CS Extension codes 100-300, 400-800, and 999 ONLY, the T category for AJCC 6 staging is assigned based on thickness from CS Site-Specific Factor 1 and ulceration from CS Site-Specific Factor 2 as shown in this table. For tumor thickness 0.01 - 1.00 millimeter (mm), Clark level and ulceration are used to assign staging to T1a and T1b as shown in the Extension Ulceration T1 AJCC 6 Table.", - "footnotes" : "- For tumor thickness of 0.01-1.00 millimeter, the T category is assigned as shown in the Extension Ulceration T1 AJCC 6 table.", - "last_modified" : "2015-05-27T16:20:12.659Z", - "definition" : [ { - "key" : "ssf1", - "name" : "CS SSF 1 Thickness", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2 Ulceration", - "type" : "INPUT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "ERROR:" ], [ "001-100", "000", "JUMP:extension_ulceration_t1_ajcc6_xbo" ], [ "101-200", "000", "VALUE:T2a" ], [ "201-400", "000", "VALUE:T3a" ], [ "401-980", "000", "VALUE:T4a" ], [ "981-987", "000", "ERROR:" ], [ "988", "000", "ERROR:" ], [ "989", "000", "ERROR:" ], [ "990", "000", "ERROR:" ], [ "999", "000", "VALUE:TX" ], [ "000", "001", "ERROR:" ], [ "001-100", "001", "ERROR:" ], [ "101-200", "001", "ERROR:" ], [ "201-400", "001", "ERROR:" ], [ "401-980", "001", "ERROR:" ], [ "981-987", "001", "ERROR:" ], [ "988", "001", "ERROR:" ], [ "989", "001", "ERROR:" ], [ "990", "001", "ERROR:" ], [ "999", "001", "ERROR:" ], [ "000", "010", "ERROR:" ], [ "001-100", "010", "JUMP:extension_ulceration_t1_ajcc6_xbo" ], [ "101-200", "010", "VALUE:T2b" ], [ "201-400", "010", "VALUE:T3b" ], [ "401-980", "010", "VALUE:T4b" ], [ "981-987", "010", "ERROR:" ], [ "988", "010", "ERROR:" ], [ "989", "010", "ERROR:" ], [ "990", "010", "ERROR:" ], [ "999", "010", "VALUE:TX" ], [ "000", "988", "ERROR:" ], [ "001-100", "988", "JUMP:extension_ulceration_t1_ajcc6_xbo" ], [ "101-200", "988", "ERROR:" ], [ "201-400", "988", "ERROR:" ], [ "401-980", "988", "ERROR:" ], [ "981-987", "988", "ERROR:" ], [ "988", "988", "ERROR:" ], [ "989", "988", "ERROR:" ], [ "990", "988", "ERROR:" ], [ "999", "988", "ERROR:" ], [ "000", "999", "ERROR:" ], [ "001-100", "999", "JUMP:extension_ulceration_t1_ajcc6_xbo" ], [ "101-200", "999", "VALUE:T2NOS" ], [ "201-400", "999", "VALUE:T3NOS" ], [ "401-980", "999", "VALUE:T4NOS" ], [ "981-987", "999", "ERROR:" ], [ "988", "999", "ERROR:" ], [ "989", "999", "ERROR:" ], [ "990", "999", "ERROR:" ], [ "999", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc7_xhu.json b/src/test/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc7_xhu.json deleted file mode 100644 index 61ee9d5ee..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/thickness_ulceration_ajcc7_xhu.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "thickness_ulceration_ajcc7_xhu", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Thickness Ulceration AJCC7", - "title" : "Thickness Ulceration AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 100-300, 400-800, and 999 ONLY, the T category for AJCC 7 staging is assigned based on thickness from CS Site-Specific Factor 1 and ulceration from CS Site-Specific Factor 2 as shown in this table. For tumor thickness 0.01 - 1.00 millimeter (mm), ulceration and mitotic rate are used to assign staging to T1a and T1b as shown in the Mitotic Rate Ulceration T1 AJCC 7 Table.", - "footnotes" : "- For tumor thickness of 0.01-1.00 millimeter, the T category is assigned as shown in the Mitotic Rate Ulceration T1 AJCC 7 Table.", - "last_modified" : "2015-05-27T16:20:12.716Z", - "definition" : [ { - "key" : "ssf1", - "name" : "CS SSF 1 Thickness", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "CS SSF 2 Ulceration", - "type" : "INPUT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "ERROR:" ], [ "001-100", "000", "JUMP:mitotic_rate_ulceration_t1_ajcc7_xgo" ], [ "101-200", "000", "VALUE:T2a" ], [ "201-400", "000", "VALUE:T3a" ], [ "401-980", "000", "VALUE:T4a" ], [ "981-987", "000", "ERROR:" ], [ "988", "000", "ERROR:" ], [ "989", "000", "ERROR:" ], [ "990", "000", "ERROR:" ], [ "999", "000", "VALUE:TX" ], [ "000", "001", "ERROR:" ], [ "001-100", "001", "ERROR:" ], [ "101-200", "001", "ERROR:" ], [ "201-400", "001", "ERROR:" ], [ "401-980", "001", "ERROR:" ], [ "981-987", "001", "ERROR:" ], [ "988", "001", "ERROR:" ], [ "989", "001", "ERROR:" ], [ "990", "001", "ERROR:" ], [ "999", "001", "ERROR:" ], [ "000", "010", "ERROR:" ], [ "001-100", "010", "JUMP:mitotic_rate_ulceration_t1_ajcc7_xgo" ], [ "101-200", "010", "VALUE:T2b" ], [ "201-400", "010", "VALUE:T3b" ], [ "401-980", "010", "VALUE:T4b" ], [ "981-987", "010", "ERROR:" ], [ "988", "010", "ERROR:" ], [ "989", "010", "ERROR:" ], [ "990", "010", "ERROR:" ], [ "999", "010", "VALUE:TX" ], [ "000", "988", "ERROR:" ], [ "001-100", "988", "JUMP:mitotic_rate_ulceration_t1_ajcc7_xgo" ], [ "101-200", "988", "ERROR:" ], [ "201-400", "988", "ERROR:" ], [ "401-980", "988", "ERROR:" ], [ "981-987", "988", "ERROR:" ], [ "988", "988", "ERROR:" ], [ "989", "988", "ERROR:" ], [ "990", "988", "ERROR:" ], [ "999", "988", "ERROR:" ], [ "000", "999", "ERROR:" ], [ "001-100", "999", "JUMP:mitotic_rate_ulceration_t1_ajcc7_xgo" ], [ "101-200", "999", "VALUE:T2NOS" ], [ "201-400", "999", "VALUE:T3NOS" ], [ "401-980", "999", "VALUE:T4NOS" ], [ "981-987", "999", "ERROR:" ], [ "988", "999", "ERROR:" ], [ "989", "999", "ERROR:" ], [ "990", "999", "ERROR:" ], [ "999", "999", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/tumor_size_category_ajcc7_xpk.json b/src/test/resources/algorithms/cs/02.05.50/tables/tumor_size_category_ajcc7_xpk.json deleted file mode 100644 index 7f3c90a13..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/tumor_size_category_ajcc7_xpk.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "tumor_size_category_ajcc7_xpk", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Tumor Size Category AJCC7", - "title" : "Tumor Size Category AJCC 7 Table", - "notes" : "**Note**: For CS Extension codes 150-180, the T category for AJCC 7 staging is assigned based on the values of tumor basal diameter, recorded in CS Site-Specific Factor 2, and thickness, recorded in CS Site-Specific Factor 3. Basal diameter and thickness are mapped to Tumor Size Categories as shown in this table, and the CS Extension codes and Tumor Size Categories are mapped to T in the Extension Size Category AJCC 7 Table.", - "last_modified" : "2015-05-27T16:20:12.769Z", - "definition" : [ { - "key" : "ssf2", - "name" : "CS SSF2 Basal Diameter", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF3 Thickness", - "type" : "INPUT" - }, { - "key" : "t_category", - "name" : "Tumor Size Category", - "type" : "ENDPOINT" - }, { - "key" : "ajcc7_t", - "name" : "AJCC 7 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000-980,988,990-996,999", "ERROR:", "MATCH:" ], [ "001-030", "000", "ERROR:", "MATCH:" ], [ "001-030", "001-060", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "001-030", "061-090", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "001-030", "091-150", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "001-030", "151-980", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "001-030", "988", "ERROR:", "MATCH:" ], [ "001-030", "990-992", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "001-030", "993", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "001-030", "994-995", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "001-030", "996", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "001-030", "999", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ], [ "031-060", "000", "ERROR:", "MATCH:" ], [ "031-060", "001-060", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "031-060", "061-090", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "031-060", "091-150", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "031-060", "151-980", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "031-060", "988", "ERROR:", "MATCH:" ], [ "031-060", "990-992", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "031-060", "993", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "031-060", "994-995", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "031-060", "996", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "031-060", "999", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ], [ "061-090", "000", "ERROR:", "MATCH:" ], [ "061-090", "001-060", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "061-090", "061-090", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "061-090", "091-150", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "061-090", "151-980", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "061-090", "988", "ERROR:", "MATCH:" ], [ "061-090", "990-992", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "061-090", "993", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "061-090", "994-995", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "061-090", "996", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "061-090", "999", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ], [ "091-120", "000", "ERROR:", "MATCH:" ], [ "091-120", "001-030", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "091-120", "031-090", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "091-120", "091-150", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "091-120", "151-980", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "091-120", "988", "ERROR:", "MATCH:" ], [ "091-120", "990-991", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "091-120", "992-993", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "091-120", "994-995", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "091-120", "996", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "091-120", "999", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ], [ "121-150", "000", "ERROR:", "MATCH:" ], [ "121-150", "001-060", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "121-150", "061-150", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "121-150", "151-980", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "121-150", "988", "ERROR:", "MATCH:" ], [ "121-150", "990-992", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "121-150", "993-995", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "121-150", "996", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "121-150", "999", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ], [ "151-180", "000", "ERROR:", "MATCH:" ], [ "151-180", "001-030", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "151-180", "031-120", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "151-180", "121-980", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "151-180", "988", "ERROR:", "MATCH:" ], [ "151-180", "990-991", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "151-180", "992-994", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "151-180", "995-996", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "151-180", "999", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ], [ "181-980", "000", "ERROR:", "MATCH:" ], [ "181-980", "001-980", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "181-980", "988", "ERROR:", "MATCH:" ], [ "181-980", "990-996", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "181-980", "999", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "988", "000", "ERROR:", "MATCH:" ], [ "988", "001-980,988,990-996,999", "ERROR:", "MATCH:" ], [ "991", "000", "ERROR:", "MATCH:" ], [ "991", "001-060", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "991", "061-090", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "991", "091-150", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "991", "151-980", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "991", "988", "ERROR:", "MATCH:" ], [ "991", "990-992", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "991", "993", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "991", "994-995", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "991", "996", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "991", "999", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ], [ "992", "000", "ERROR:", "MATCH:" ], [ "992", "001-060", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "992", "061-090", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "992", "091-150", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "992", "151-980", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "992", "988", "ERROR:", "MATCH:" ], [ "992", "990-992", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "992", "993", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "992", "994-995", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "992", "996", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "992", "999", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ], [ "993", "000", "ERROR:", "MATCH:" ], [ "993", "001-060", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "993", "061-090", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "993", "091-150", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "993", "151-980", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "993", "988", "ERROR:", "MATCH:" ], [ "993", "990-992", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "993", "993", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "993", "994-995", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "993", "996", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "993", "999", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ], [ "994", "000", "ERROR:", "MATCH:" ], [ "994", "001-030", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "994", "031-090", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "994", "091-150", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "994", "151-980", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "994", "988", "ERROR:", "MATCH:" ], [ "994", "990-991", "VALUE:1", "JUMP:extension_size_category_ajcc7_xpm" ], [ "994", "992-993", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "994", "994-995", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "994", "996", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "994", "999", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ], [ "995", "000", "ERROR:", "MATCH:" ], [ "995", "001-060", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "995", "061-150", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "995", "151-980", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "995", "988", "ERROR:", "MATCH:" ], [ "995", "990-992", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "995", "993-995", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "995", "996", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "995", "999", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ], [ "996", "000", "ERROR:", "MATCH:" ], [ "996", "001-030", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "996", "031-120", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "996", "121-980", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "996", "988", "ERROR:", "MATCH:" ], [ "996", "990-991", "VALUE:2", "JUMP:extension_size_category_ajcc7_xpm" ], [ "996", "992-994", "VALUE:3", "JUMP:extension_size_category_ajcc7_xpm" ], [ "996", "995-996", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "996", "999", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ], [ "997", "000", "ERROR:", "MATCH:" ], [ "997", "001-980", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "997", "988", "ERROR:", "MATCH:" ], [ "997", "990-996", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ], [ "997", "999", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ], [ "999", "000", "ERROR:", "MATCH:" ], [ "999", "001-150", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ], [ "999", "151-980", "VALUE:4", "JUMP:extension_size_category_ajcc7_xpm" ], [ "999", "988", "ERROR:", "MATCH:" ], [ "999", "990-996,999", "VALUE:9", "JUMP:extension_size_category_ajcc7_xpm" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/cs/02.05.50/tables/tumor_size_pair_ajcc6_xpl.json b/src/test/resources/algorithms/cs/02.05.50/tables/tumor_size_pair_ajcc6_xpl.json deleted file mode 100644 index 97c5e89de..000000000 --- a/src/test/resources/algorithms/cs/02.05.50/tables/tumor_size_pair_ajcc6_xpl.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "tumor_size_pair_ajcc6_xpl", - "algorithm" : "cs", - "version" : "02.05.50", - "name" : "Tumor Size Pair AJCC6", - "title" : "Tumor Size Pair AJCC6 Table", - "notes" : "**Note**: For CS Extension codes 150-180, 635, and 640, the T for AJCC 6 staging is assigned based on the values of tumor basal diameter, recorded in CS Site-Specific Factor 2, and thickness, recorded in CS Site-Specific Factor 3. Basal diameter and thickness are mapped to tumor size pairs as shown in this table, and the CS Extension codes and tumor size pairs are mapped to T in the Extension Size Pair AJCC 6 Table.", - "last_modified" : "2015-05-27T16:20:12.843Z", - "definition" : [ { - "key" : "ssf2", - "name" : "CS SSF2 Basal Diameter", - "type" : "INPUT" - }, { - "key" : "ssf3", - "name" : "CS SSF3 Thickness", - "type" : "INPUT" - }, { - "key" : "t_category", - "name" : "Tumor Size Pair", - "type" : "ENDPOINT" - }, { - "key" : "ajcc6_t", - "name" : "AJCC 6 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000-980,988,990-996,999", "ERROR:", "MATCH:" ], [ "001-100", "000", "ERROR:", "MATCH:" ], [ "001-100", "001-980", "VALUE:1", "JUMP:extension_size_pair_ajcc6_xpn" ], [ "001-100", "988", "ERROR:", "MATCH:" ], [ "001-100", "990-996,999", "VALUE:1", "JUMP:extension_size_pair_ajcc6_xpn" ], [ "101-160", "000", "ERROR:", "MATCH:" ], [ "101-160", "001-980", "VALUE:2", "JUMP:extension_size_pair_ajcc6_xpn" ], [ "101-160", "988", "ERROR:", "MATCH:" ], [ "101-160", "990-996,999", "VALUE:2", "JUMP:extension_size_pair_ajcc6_xpn" ], [ "161-980", "000", "ERROR:", "MATCH:" ], [ "161-980", "001-980", "VALUE:3", "JUMP:extension_size_pair_ajcc6_xpn" ], [ "161-980", "988", "ERROR:", "MATCH:" ], [ "161-980", "990-996,999", "VALUE:3", "JUMP:extension_size_pair_ajcc6_xpn" ], [ "988", "000", "ERROR:", "MATCH:" ], [ "988", "001-980,988,990-996,999", "ERROR:", "MATCH:" ], [ "991-993", "000", "ERROR:", "MATCH:" ], [ "991-993", "001-980", "VALUE:1", "JUMP:extension_size_pair_ajcc6_xpn" ], [ "991-993", "988", "ERROR:", "MATCH:" ], [ "991-993", "990-996,999", "VALUE:1", "JUMP:extension_size_pair_ajcc6_xpn" ], [ "994-995", "000", "ERROR:", "MATCH:" ], [ "994-995", "001-980", "VALUE:2", "JUMP:extension_size_pair_ajcc6_xpn" ], [ "994-995", "988", "ERROR:", "MATCH:" ], [ "994-995", "990-996,999", "VALUE:2", "JUMP:extension_size_pair_ajcc6_xpn" ], [ "996-997", "000", "ERROR:", "MATCH:" ], [ "996-997", "001-980", "VALUE:3", "JUMP:extension_size_pair_ajcc6_xpn" ], [ "996-997", "988", "ERROR:", "MATCH:" ], [ "996-997", "990-996,999", "VALUE:3", "JUMP:extension_size_pair_ajcc6_xpn" ], [ "999", "000", "ERROR:", "MATCH:" ], [ "999", "001-980", "VALUE:9", "JUMP:extension_size_pair_ajcc6_xpn" ], [ "999", "988", "ERROR:", "MATCH:" ], [ "999", "990-996,999", "VALUE:9", "JUMP:extension_size_pair_ajcc6_xpn" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public-3.3.zip b/src/test/resources/algorithms/eod_public-3.3.zip new file mode 100644 index 0000000000000000000000000000000000000000..b8ff54d0a072c233b8dd49a351f1e8a1d73d2e4e GIT binary patch literal 1938151 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

60A=I~yWDS(}|D%px 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 z zN7;%CqF~aXh3HNjA^tK1)~f68#v%k*^b5 zcyhBde>-cg2ca`VPhzH^kvS1XBcOdFgq8@_P;d{Se_LP?34kyJ-af|={wx>r8iB$= zL5=B;PvPsj~% z5z8mxK>M$VF=lQI^(~cIHuOs$e){V`+i)GNrV<5*klbtRpVmZyGj@q~veKldorkkf;g(Q%XE;pwdIHg<2P z&)bKWlbiGV^Tq5oVoE2uwOa3j>>GsWtB0c=ZFdz_H36Z9Ziy+m$V+^ec&?5P_pgsh z2zZ~=%kqnA=eM>k9`9zQm&ZN#&&|WP^l_VNLHZ9hzw1kUq9>n%*}K^U;caf~6v7Go z2@#blC!WLwM(=fVugPo=S+ib%sz0cm;Kx_#?jYfo2hS>)Cou0&hYCzzNiV1P_|13{ zF&7$3odCo^+%Mfn(~5$ zw&x0421=doJeLU_V&Vj)Z9|PA!JF(_k3+g^N#hLE1{>iFe2fD=7SS}xCudtb_idR% zD}$_6v3j}=hYnB}2M5KHp?zxS516UIA>HI|fASLw9FRECra90Yl9{p83FgI*<-MwF zCyvcHO-ztreVRNW@+2zNtU;|Wa!X-IgKKK{LKol6pMPpvV@e;k+Jc$-I?U4uE{}i? zNuY`D80Dn9YcEfUSk3}#7BB8I3;aLyQ7+brYbB&1!JdU2KH!vDjb5#PH?3iVTe zvk7nCx|h!>bg-gID~20>&P-@lJ86Ctr2OJCX{BAHr~~I{&U#sVh0{!n^HTH7?8+)d zB=Q526}Oj5)X=jh4eEm~tF4H%ytr~P{wscQ_xbk^uHUxi**ukf{y2vcj~Z(-YiMTF zQgR)p`K~wH!m%vkV48(W?L&>g`0I5vjPWya44-w(pKXkvu7Lq}%GHYYe#886o{QpH zPH~b@DNMjg&6S)2s6*VPgZdWMCgv1yr;QYtgI?YXKdxHZ;XU~}M4EKwZiBVoxXhf2 z(}lXW&8}Ft(TEf@igA?|y1({yUK=Bpfi(+Q?~|?y@0hIA{(uL*?eJG^^f58E4d}xP z`bR7eG4stV!7+wegXX@OXro5j;MdDahoXr_N@6Y z($IfQ1(s&EI+ivr-ySIjHfHvJS_us*&DyVVAb4G=oL_@P+^irV=Exwo55S<41R1-h z!{x64G1U?a$Hjl=`#!1+{|{s5z@6FFZR<)ZM#Z*m+qP{x72CFL+qP4&ZQDu3mHX~} z?rGm?_q4s+{S9l)Ip!GS>AfR*AaOo#m-70%s+rAbRLA=McQzS?CB-pM{B z-bT0WSHp1{WrAI>v4`5KA!Wl;PuC0}B@3@yS=v7HqAi>9mxO=~aTYke&>>}2`t-~& zo1i%@vkI%)GuABvmQU#3sy~(}igc(^*@85SwmEAeeV6}jW{Gy-Dt{j`NkqWT%@Y_s zBE~XOPP%WD9l>Ag_N8A60^LMR5KN{y*xYkBEEzK3hK9hzp$K~v$-iM1ic8WWY77*% zJK>?x-nvyg4_vWd_@81bqS)!7DYLkIMlY_wyiiG4v!x9P<2zTa?YZMX$Z)3V)@!8F zcTzD!ges?b{@%CWe+wtoDl`-Y?Auj09=d$zUVIyy~sDAUcVVpjCZ$x|K$dUj7Tq~Ygx zHO29}vqCN&fn}jaDEh1@(c0Y@t6f348+dTKc;3B{u}~ml&!YO`d!FqaUlUMgEP5W} zDD$hn>f|Q;jN_7Lbi4$dH4KJGC9_8FQQ4IwW0!pf8N3+gMZ9FkwLaHhteI^>LB7RT zQCX&rv{zEMzaIDGe%4~sl1bJ=Yj49ACZDx*yR;s?(|j4O{RY!@-PLQ~x?a*#@fKx^ z(#m8U*4qUKWBA~Qqa)Sk-Z-iCv8vkRD1&>aL?4b^Y6$7iowmYfPEc;>wt2*)a?AAe zhZ!(-LZV5T!V&J2h-^&~rMi%tH_ zZ(+L}GP06>rYR~ZM`7dfHu5l3)f*hR?O#C~=I*fKQyxiX5dQiQBnq1T=~Ah{<;w=dCC*20gEcNf1S~j|EJNhuyrx`ySXtm zakm4sHbw^aj?UI5ddv*W|1_wtR-3ZLV*86R0=v%tZCI$@kiFVd?4ZaFggxlsX^xGK zoH~!VM$$^GcFhVAw?aPKqn%U4^r2CGxJnbDYZ!d^G2^v!SxWYet6|k&>7!6}QnK3i zq+p?0=~J`Yr5>{X*Im)jTLT zDl2}psX|*=D)2|3KMwFY=_)|%;87oLo-PYYgF^M`P`IDb@qt~;2grBLt0EU-ITzMQ zaZ{uj;b)i4X{tb8Q`Z&59dcC4PYGsbaM)?On*`2wv27!5p!Y+qUVTQ@h`9dt%O{!I z&?G+@T!U!+PK0T*2{Fw~es!CpW<%horl>$m&#fZf+$4awr7Nz0QmD>x74&2=-2nXo zd$2$qNZm=zMb&N$Wg24;WX?5Vs|fc^hNg$cjC{)8Hj4dF9O(SIb}MxQ3VfB z`-x7O76QLSRi{<0b|LlzFl9OjtKUhd?&H4(E{K2p@{5#v$_bK zuN)oE!lVO(MHSAFN0H0gWg5YuBPBaVoJhp(y1g`hE+cX=9*=sKXNr?#O(IUDs?H4j zB~Wcx&rfjPHgZ}#uey!^1I!x+iYiJ8c)i`5sZvt+1yl<`=g&xP74S^HcI2E^&81wB zs%97f7wMb`Q%d8PXO!l(mr-U8;s`?R`kv95AeiMZ%M4cy-u?t;H(`H%lSi?mGHq#M zeb#RA*z1$9(yE~NmN%0{=s?^&=hM|$kfj|TTzSdv6`&!T`OtJ|oEmE0-s_Cr!G-Oxls z)S`zUGxl|ObmI2u`1xWr#+!eEJDoeI>*d19;?XjSf~hs4|jdzH@5B@f>@zZB4~R-YH= zQRmpVaOSt9M80Xy6dQ(Hl+~b)$idAI7K#Oo?d@+-^Kh4hLSXl0fTey5m|1|8h7n4P zvlK9x4YM~Lj$VJVIn%QK9ufW0oD8-@B&i>YIl!kvujGgFqm!E~NiJrv9-ND4wmmGv zk10ytEQ+dUqX}?Yth55nEd7Ll6la?Au`hUylMBrnOayLOu$& z2|G}?hUgndUOBi?9KxYLGZ- z5D!awuVbMzwIaJ(l%INOm+r^J(gB~;T)|e<{&cLi*l&P~7BZ)CzHvLfq1pLp95)v8R|>&q{H z;8{OV5zOm`z3Ib0r4{sSdZmn-tUW~fML4fose=qO>8Sn!b3G2T_VgRFE1s!c9pX=W zA0F2OvwnX&iVd>uk010WLUJ(ni`J42ldL2uB%P;{dkUIF@LKG9$>0}o+-7y)LAvuV zQ=LEVu2mTguRTd#9`?p8B~(CMc~@4a{j(vPfCCH6o9A~!0_FlP7A^zUuK(#mvj_!9 zvcZ5GhS>PVO1fP+@Z)!c{^x7o8-a#zlxo1QNdI35;nqS|d0*UPAoU0StB`++NOI;` zv1@~%u|zgSf5ViV6@o8dxajpF%q>w}2Dx0he^sOLDCe-*c<@ww0zU2m^I%6QioKxQqM!WTXk)~v)O=%$%Kq;h70@C^3`O*E*12M zK7!%D&3wxd{xumzJYSlH^bzaFt8fi(a@*)kQs4SN&%m)a51L6PeX^i}zLijgoYi?ls4}-j6RT;;9cKGg@+SC1pKFm~qW3W{u zpiqKgwP6Fr&Ov3#dMx?j6m^LogR)b;J1Lhz(gVxaImbbp3A)do=WspU-^*@`fO*P{ z%^$Z?!XwP0skg+3r&t|5$rC$ud~)yGR=tIb+mUT+uUerC^)Wc5*zpFEW}zDQNO?@q z=JQ;Bdw7dp=yv~jdOLDs1}8<#vrl84yhTT>iMI#}lIAWpqEZOmpn+;jHH9{fv=4`* z-GisiEcqX^82M&gEB+eRmyvo$2X1QMX*Ybm8Pdm)Bme&qqPSLKMMD9#ut#U1AN! zBi;0IcPiW{U%J4Zl$_G3aSqauVk(H$@vn#1^=^#UC9u^{oyA5rN=a{^G0`}%TI?Xp9c~5P0{tcnrSVJ11 zCRjHI1*BqNf5GMEt+8M9-1Hm^>1Om0E!MzjJ@d<;E&%&f+?BkBJw@N4#J@di;&a0Au z(Dbp_t$qI@z%2XG;$%p~gDz(obD0R2Bk2&Qq0F8s4A2RHQS2`quZZs zu`3jMPAh$i@KX+>6xRd(iaZLoV(0WJ0}ng@0aHYbM_{ZdZaih5#I%J?`=Ew-L1=O* zWNqj*yuPPaKwR#3o{f&~i}yXf+*;1vclS%KuZ7Jat#|gq)N?p_p8MLmqUljz)WCx9 z;ziIK#_<`JQNx<1fMxf>HEZS>TTKBv_M2wl-ZkE@LiXI<4Cs~c%e|S~=qO{KzQKpx zu^iEn2@IpkuQBr1;aLwG)MlDwwYTXJd@TS7Dfe>A4`K;Rx%zfY}tml^F#3^4>P- zM!wp8Qsb@5L@3R0AbeoK3|Yw;%4x!@R6VOf4EKaWY1t_u4Em3_@5|8VAl#-N)S4f( z#!H&~E7u{U49$CI9wTFugo0(p9(DZ^hdw2#45MjLXD_0i!k&xQ!yKid@5w~w37H4U zTX|>k2i4vmbYvrgkF$M{QrnfEf}$uA$#!MShHpkdj`6rLqp42VJzejA{?-?RmeKtP z0${j@|C;7O_n&*s*u(*lBmmH?{+Fqbl>s1Iz(UW_z`@840I0Duv(o?5JHJ?EL-v3k z-ur|~)ZJ2qyt|%%2Q@;td6rPor5IGXJv>v>`SOU7}4|A zlN#zd$I2F@!CY2LnkMpbK^@|)#Qyko#5ga<>iFaul63|lc6p7&1QmXLacKkZ>6}=; zr0pP%1ykhl2$}SnE_oVuEpX>kfuf$PRj!y~*@Yg}K3*S)IW=XR)3Wj|1)aP~}_uYa#K7(WxT_g-zmcn0=R z!Nkh;B*=9j`@rcAKJ<4c5bRx|wTMIMa)*6~NDJctEyo{gGobi$vMAeFPzg6Me>v!k zDk+mEX!UbSjC>D1AuD|VoRIMPI|rk{~|%J7|bS z_8jOb*8+ixR08usI5N8so*{Ndf;4&stm=tAGGsIyX0xKd$7E7PMQBd-R7tbDl#!F) z>`x$s#&bVjEXu0d;)e^qR~h#bfv;${)cB;emksw1gZ|*iJX zfB2}A)+B5aATg1|TEvHXAlgHKZNl;)QAR9JCwy7CrYBFjuWftbJ_Yo_JK@x{?uK91 zGo{>E(RFR@_E&t+YNtbmTx3SmLL?g_vXYk_7Gh~6QVr~afS3&)e(cmX_y<8D5zG*F z{h=RA%7m#YH26vSQ!16PvUnwWqM)Ca;e@`ctGn$Rhky8?Hm^bRk3%loL9^@m%n=Pmhws6yP;m~8G zXZ$CnVX}gb6@YsOke=H29h9Gni9O*z9t~sx>vKg(Qzcld%miUGgs=Dc<#1Va2m2L)$)scf5l{~upp(8@eY=amDR#tu6=OoHZp%=UKsT!Gu$W6pBSXvrk^ZMNw8roPU%!xwe~WWf>UqOBytoq z20jEAP3FQ9&n}()VceVkgxIvrvl$o(MJQKIcqT}SnjqiU4Q#{05&9#PUTBloTtg;H z+bnDV>D8P%&K@{1d*(=IQbSyrNZwUvu+Rd*;#}fG!?)OUM&snF`(@YYZSe@Td4^0i4Cq(7lOR8dyiZ^$kRFSyG2=WiSSrBQS@ z0{}5U{r^kM|7SAlXkiO*J^P#0b#Y|WV_;!p`KKWEWaX{Dg4lg`072|XdGI9pRee}Q z8d562mikMol*WkPRgtjPWVKYEe0PTPi!IArcz~Yo-rKky9zpvI%RzbSkc%DSm8wxA z?gVLqw&mSxKY~|yZCYtMsY%u}#Y@=Q&+-U$tRqcE5-2_8iVXuYwI?i81Y{j73HR9j z5C+r?rkq@;dk_U3^UE3AGt@$F#9y%9%viM!|Fcc7J zg#vQ7E!k4=@9~B_dls+JcPudN^9|z6mdf&0W5@$Z$-UN>r!MEwA+QJ(-vQ*y9%OP! z=$W9BH0+FlA~jA}(DyCb1v_^dtR97|M9Fa2Lcr4Mfur`-`Go?CxVtR~I(&WDGWfus zo&BY5$Bm25xP_Ye@qHxQu?`K*UH0&Yq0Dk|B*Gr(SVqr9hwt4BpO1E}`~2s+_YJrP z_b9sMQas_rFGca7u2NCBU@L-~UFirzE!uBd`MFAChy#0q^x6~rha3wTitt`^1x+q6 zRQMU_h?b8+T}m0p^h#x1@DlL{8PVA@FdKDz0`}gcHf)&Fd}aRY`hh4`27>_S2^|B` zB;7;tI>ROpoSuu;%$$`+*^-_O#|@sFp}Y0#+6vxcs*x#*Hr|bDl@=O0lf$J)QX?mcV#vb~L6c(mz(X9w_4ta!o183Y!{YR@_&VS`un0f(O?*Iepl*t@p>>)f z{@L+6pf*@ohpjszoO0)Sn2){82Yl`h}VRt=Ot1HC^z+LITFk-aBQf{5E23$=^TR@fn-=nuOE)q^aFcR(Nts zkuyVh0jkm4imW$o+XcdSH?qh;f}X)h`XkOykrT#CGP}>Ub0f{=cEX4=9q|`F7Ix3y zsZvJFBojn{n~n8fZ?^wIVVgM^7z2`|44lmEtnJMHmI5)evHw$b`fIqm!4BW^OaaEb zra2sa<+R}@XEBe-F$9Z=*11{&VII-Y9xv`+w2v<0&ny0X^hV4jB-wyn$zcPJ-@?qd zGwJmZ|M~`;N0x{yo!`nxjo=FEXqA1Id`R8N<^E|pA2}9cLS<8=b+WB|dRRlAntr%< z6-cjYd9))Fk{oH+ek*5+j9#PVALyS*>$xpxK~~ioR>0vCGRGXTJBxWg&&hA44yA4? zy#;5tR9%rZa@eE}O~kLMFOMD%Wh4x&+@MTVr*$Fxqnvej+1%(=^UxY1mBI(DkEz@X zbB9oU3_L%tY2dB37iLr$5oTRnC``DJX>XW(1}uDT5eu`w8S+l>^Mr-GTvP73BSA8r zM2NjnwMIF$pQ42#;B<>M)YmHX{FR8%;i`p7_dLBZXY+&5%;wFP?GTQNU=$~FHbYFIDIN`!*((fTm z6DX)-te~Z1BKw(mfod&Z@9GJ-3I}ManWB^&y=h?0Dw4ntEhEovbp6T7IJv33nTG*h zz+~5$LWN}ri_xsl@~Gw;Q+kN4I6f1>f{0d~M5l^XYk|T-A3RCuwYGB` zsL~J<%Pg;~aacdQLb9$*Y&OWvOY?kI}Blpj&5Z zJoJ%fGMo4gTfaK}mI>q=v@zc7m7Y(GwsL0?hMXMBrgNfx!DhQe6$2y7Di>!eRg>P> zX6Xp|f02-Nj1?I>$;WvGW1e&n8L61MPETuJNDid}%XtJK4>mY;K7z8Y?wQMbwE^br zz{A;A$&$)>oYn#Rzv2MNGHrNKZHY-C#*VQJvd2x>ze<+>bmf2EiOo?wN;%g)io)tQ zqUJ0#ZV4{6A;>MEuVj43n0czLeA4xfOrXPUCm(=E4w8xGT1WYQ#mV};c*&h06WV(y z!FL>-G8sS*(*Qw+f+!la4=3t}_L)^qt3~IdCPU-2%gln z6841L%5djuaT1z3lgR`PHcHHwhmqf*c&vbgJ^yASwY|bzs{@f}e=cBeqh8Rzc8GSM z5NVr>jUBCxiIIzm(W4VBJUcY@aNxv_j`{lWJ6xQhrSkeJckcpvJ$}1;mG{-PFSC{I zacJT#e*<-I@95)gp&%5lcUVqnkD)*M@scyl`R7Xwr2F0V@yEf@)BgS7CU^)PZd*T< zh2IB;N1<-i7hjaE%KNx`rD-9>hr1i}r2)h}rf2P44w_G9bg8|_3PjWJoXfjx*NyQE zTJIF85^)nNxDRtj>2nt6a(OID+jbl%o&3Q3>vHZV%gcA(;43k-m;3#Vzr9Ylo4^JA z0QI)vU%gIv|E1;jV;=k7+V+sf&~FNga0t)ESBf71N0`F zuPAakNQXl|n%5{bA;HKgohSqqBw^HL43RTcA?|jpxRCGak)7+OpQl})yX=7Q(}_-j z=OdfR8J^)rFXlTTl1nqM z#0b!)9;Fu7GhQ()5<{vQ6x~esnGEhTA(1j6m2x4yQz2QALRQj6Gxi7e7BN#Q{!~gC z*jbc2v?mq32BMEjgt?-!s1$L9rd{VefflCr~-FglF zq?xGN?mx6PcgZwmM~~hq`IQj5yKYU>+|F>JrHEqL+&Nl~>Y=si(XBfRsLgW=FDCSs zUHaG0HA}6wtT{mE2q8kAaecTjpnm8h?8Y#O-_Rqe4}TgHkktnVfki2aIbeTtRg5W& z2^>ONL`ZT=3*si690(I7i0#IA2?*jyt6M#S#VhURZP-{$=I zyIuKGq8@bu6m?0!>h__S)6(I@Z)|qvv~KZ|U3;XUOG%gA zzm9a!)f)61+@`0+Y**=Gq$rNSkciF{2)%sTQhpse<5p(OG#eUTv^#YCDBMCZC={+( zmZdOID`@cVu^?NRm8C9LE3XqhWVE(6UEz#Rm;XxEvLWtXKxrcsxxQRi$8#c7WrSP~ zNBJXy5zZX$&>gIi#sQK`9vnMJBxd7qmL$RYPNU0Z38t~$E~6u3Btzb^yf%E^R_eSaehOv^=g+*Pmd-+sfU zH|GCVq2?ZUq>yUuBridZ9TjYF%Y@ZQ4UA22c`ve%95|w*TKRjR?9ad+dioMVZWxG` zy?C7Svau)Q^};1YJzUP^``*^apV6~XbEHU9R_V9YM1}BK0o0&Ai5n=h2S(8-*l|ZE zC(hUx)WA+zF(*zuR?k`_n&>o8$X`j2>ZQ*yTs`X+Aks}gsKI5#%auW(u@ph?4Y-o~ zfhlkvfumdEX^@5J6wMsc%TJGE&=Z5~_DKwX{z+Zz1E=N=Sq$kK`lu4K zA^Jr@FGXELh-y?sebi)JK*l<;>nLBpK)@d6O?z~~k9(&Cz1tyk#A96qDu%o@D+&&K ze_7?(L+w!IZ+roJQ{7~Af;K&xreeEOZKzJmg9x1Xi=1jfFA@#%TYwTHJTec1PPh%q z6ia0>xC}QAhlCB9l#OF8$_a|PAgkuVMji(@SuPM)ed+;Uy=idO)Ezp;%5d`cA6VVn zI}ASdEHtF+8hhSNeIWh;1IOhV`E~G zhmIbIt2jK-vw6~cj+7^Vm<|{nIS5M+^glaNkDF$2|W=l--}G?ukN~P_76C zg=pv<%xW?;$(lsifZc!=%f19OrD!M`=eZ?wcm$k}s1|>CgmYnBvbm6T6_=hSOY>3H zn~Oa4A`Naoso2dKCgM^T4*Cs!-t&~G;pFMU<|_!7Nw3$3kYb=0tG%UpZlG9ya^0Cn z6JoWv{fdVKuR0%2owwuK#@G!1nGC+;25Q*ja`JXxBBNGdTZADmPz0|t#(IqG0glkm zA5ff3sUdnr=Dj~-46j5$4JkL9RK1tvw$zKM^ZU+`3vY81w&vz-rMrJ=N>0VIe*YzU zYj|d#joR>4<7&o9z^izBTAsHOb&xkUa$yuM_n3zI&o&Q=nw_bv36EEgEBx!NE$bil zPx{;*U*rCLG}Z03>{!b$YRykowWjN-o^c4Oq0%h`>(NO9CS*7$uPc6@{w6=)8INc6 zbveWDF*T`G< zAR{p^9Lb_r7#3EKmtWKm=H6+_?Gc(KBgztqVsFf91wnLk{mq?la}|Q8*@C9o2aS@D zFi{kG0{9DkFC*SZLxTm#yMK^5yC1Ku;y`VjFBv6^wiY3bCA!CG3WRO4MDR=Vs}SVP zkEfFf+-avpo>Bf8%Lex0ddd~-Of&gi7H(W9LBg1;2E-EHy4)ON0OvB%YJ2QO|93um)PXl71%5`hZI_2dJNurdnG?71eijU$gz zw|@UQyHQ%nB{c9W(GzJTBO>f^mm_1_STS1Owm*ITNep+D)FmX#| z%Rqrc6D0V%ldnJg>Vc8%lJe1s_m<_7yO$lp=i7Ja5|%I<^-3oMK)D%_!pfny(iMwg zs_~?b4y4L8KpTC{IR2lCBh*-h3Rin}M9BA(@QRU?w$d5#DzX$R_RbP$)7so-tR>mH zkiRSJ^>8x@F|wn6x?J-~5VGQ-$RwDT(+eO?tMfj_m;}yw8pj3=Fb3@@Rc_QRbA8|BwU%nz-eV1zra&uq392 zF!4M|dE2=m+^pxLF^`0qxWsSLYuiq^5St$-sXJawc-!9|jn@MmPmjz;Vj1OdZB$YQ z7Gq28dc9pYFCI`7sGH+y={{u^&kiagpwmIlm@uiD?;8#T3JZk8{~R8_`M@k>LQV#5 z;k(SECZP>nFq+PM ze)T%x;5t`tUw4k}n?QLAZ~h7)DjiUF9IW(lJ`gjRdK0!IlpQAIV#>FJ-X;X zC)7ymZwplubgK>UR*3}^#9JjE63GQZN|Gel4$}NF<)~1);7dbF5txSKh_EPKLr&kc zcRjT&4k~?OTPU+)CwfN)m#sdm2+$}4xU>^;&BhI{cO2V%f4E{+At}}a;b<|>D9hrx z7QC`>oJJj9lcRz~W(-Qk#UY_VkfhWjB$=B9+`qlg^okDJv2&K^1e^HQP>vY~h#0sI zGjQhdm*`#HcG9(V{;5uw;Y1L*u=^ab&9L5(I0eGEUlWoO zg9PuAqR7gx7(rfOqnK4t5L_eK&i7F`$#6q!Km?rYQw1EzlW(>?cyF_?$Jy?(oCSu# zLYXR9*aYVYvVfb=8(2!bw(~|)&iG6u4}J}NRnnut`mqa zNl3)^YP!764O)xXY$aZv#b+?ufRC4D2WILuY7ER?Hltv5IZT#u7j|8m| zJWq|x57HX2ZDdMgo%W^dv zp1!uc1z!1Z`t6`ODRVY%jA-cKLg?M87dtl}2L?=RXm3+tf+X37#49fEECCLmLAPU# zXYmyf4*^7TXpL_0;Mvw?X(%p^&t)%j8&8JbdWQ$ig|x2D4B7L-+Ti0TmmRv#(;ilL z3&HL4EY|P0Sx+8N52w`OLLEcG6IEW*S6Wt`G7eXiXf0@*W7PA8%%JLEqn5hB))v?* z%%7Ex1Dsg(mire%+U=$c23>3Rg-ae2n%o%u;Qki9LPR^HLu4EZa-N@)rLw^Fnsdj) zIFm$%3ma8Q@E!~XbX}0IsK%z6WjwuLvwCvykKHo9%{7x!`xo!OZ>hi#CNY{d6|C8a zu2>gi{6@@~PS3w;U>TQ$PlXNqp(Sl$6`0la%EINbX&6LTnknqCwIU%6DZ7igS{5kt$8Lequq4{=_0*X{6b)SWQo;RY0E!#&|WV!A;QpJ_OIDb|QoEU@Np#0Qrvl7v)2O*L#sZ{lW1{j%C3qhE^H$y@z@~>zn}fxU{J;BP=dRSuGR?u z0XHTHA_F0Dw

2aKUMcfnKMfW-dq-!=n$XC?o!B^%|N@Hf`cHDfVbu)> zfNiw*jGEJ31AlaB+mJ5497tH;1TMLenH8IC`%u)kWHVyP`Bej@*Jqvt`WL~5PC0i> znacOav&hA_-yvm$4Ny;IhU_b?8Fax3)V;}+2gfaIJRBCPgr&px#q$F-P_>gPE}gU| z?c#&iJS$)!KD9Wlf$|Ljo@3^WMH4iPBtJOF)eRnUt;9|0oiLv~0$5l)pE#E;xO8R` z(34y7En*CdvcL6RyzA;wS7CNI-Bk4}I6j)^0x=|fG z$y3$lCF-}u6yNB6okg2OtDbj|9Ol~`6L6np5zX@f(C;FJFbxs~fF`NehjfRUg47Y+ zPzHxM4jhkIrf3p-<*NWCx64}{RJ5tC+g7$lCdScJK8|GaCPWIoQztdNqgJq5Jp%E3 zusz8Ubs&omxql^9a5FWdgJwmGrZTSw)58>%uK^+rcm?tu>ku6zj36^i&Ij0(Z7!lj z)9rl`s5`PXyJN2J*MLTW5-C=;MOWtuk;Yz#WG39BY-7teI4qkpufnz+iKmUr-iPUT z+juKmEFViL_Z}~^rkUF+hk?mrOb5NO=MqghYSumr0!|%R^7R+(GuX3F9M!wU@_}W)oVQL?eC(rjl^5Dt(l6#AlY9?Qd;+~^v z7mg=PC-G~5RgecYZ)RW6K%%V^R1q{za_!~tO|g#L2h_m2!Kr9=3?gPcg9C{*buX38 zMPQ9Sd3@ll$~)Huj3|mQ^VYtq?<~V3vh`t&p#2PD)gaVseBoIxz4bG??YpNgXmkTX z5DPt_Eh|T5L}8~GAu)pPtk1ABM9zuvU}xJy^lu_IzZ_C8V54i2>uTbnJqY|zT-I3q*}w_QTTUCkR$ z|B2Yh^jqIk6IgJc?{;YCAl3f*X%Y~o^&0m!>vs9>?sa`vn+qQ;%}{`Z>5gM*7T6Pg zy=++;ftSf;a$vJ*UVDCZ6-lStZ@#ynPE6&hIS(Hd_3iydriZ)vrxqh|;`Z7~;y{lN0pm)9+boI?F_*x={rnsXl@Kz^9XV*6)#~8z8 z%|z^H)VdRBV-yn?&gK~IQE~(1IuFyh^DEkRap16dYKCsL6E0ezklW4fa*%Q$&ZOtt zFUI^i)^m*rj~M@gZiRiEP-NvE(NPvJFm;0;6%Cs|SFb}L)q+Z*40@4A%aK>?c68@3-ucYFfcvkKo^O-n19CO7XjPD+^~g1)4(9{=n=I`Q@v zJT%H#yxqS%;CV!OQHQy(8fyr8Lnd@q`@z+jBGNV%u0@_KoIMnxu{EBJ&0QXvbGpC2 zMc#1P%+}M|`N;JeB23^ty68PQ9h5C_Ie3t3A44=~MQw1>xQm`zdlkGtU*OeF)smUYa5zMN9ZLzxYD;I z`lX#z>}L-HxM{UBvr?C?KjjR((bLsd+)U*(d6wknznJ+_Joi)~$7@fwlT18EwOB?i z{hOYr<=)8kToqjIqZV4>iY5niKN~F*l$HIiktFXISK*eov}%l7yXtnXQF9vz@&vSL z)|KOjqABeNI<>h>YT`MF#py`XYg~+s*t8LgyOFZT(%`sn#!F^bzsxQ5Z`2?>mfY6t zTzK~TrxIf4fJep}*d+G#UEg=GzTX}2ndhiAf0s8lZ{jTeP0QJYj()Tvv0C)IzMO;2 zhX$6bn%>zS7_$Til^{fyAp-1jXs5Z%!*cK!X}JD;RR>D(SV1Ay*ur2GD9*0^kjTj) zv(Omt*3j?emV=sVwbSO6?QWE$5alC{8&gUJD$@BP7tO1;lDps*CwmrO$5jKwa6T@N z

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 z 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 h9ga+H^m6oT%>N(RvAjI$%9Hc{b&ShJ)u& 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

_3UdI_LACG}$`JwPUrNgU{`My-qcZmKZ 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�EF6|x&ndIfvc7Zsb9-?x_eOfLX#dI`A&TVw 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

C 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

|0fg*RDkltZBv z!DckS*qJ)f4SXuo^^%>XJZ0tT&wBQzZl36?(bFODoslWDK~hD5vi9XsNLR_*R^(mi zw#sd{D%E5MN{|=@#vBRnNJo%zf|5mXe;}h!4lCrR=&JMrnzYDW^5C5nDJrR=WofW+ z+6bhHc-0CJQB`N)n#U+^@;x%z9ePZ#u%SlvN#9iO?~A_Y2(>A>nZHg)YYpeX826)1 z^-670#e+`6E;ro6xv*R6%aTk5Z|$g1E-_duR-aN?_?%_z!1UN{xud? z%9N#Pp>)}g24UKmLx-u;wITbd#ADt3LsXs*DkZ{;#1FY#UT(PR_A3V#Dl-ykv`~w8 zY>*#^zagshl!wb0a*nfR7ItDO+jiA)gquN?35t3Jj3o@4Og{w9ZlgDIb|-0sMa!(H z3ysP;Jd3Td=2xPXr%Y&59!!J_R52U`tC2`&U$*%p?S~Oc%>_Y^Xn;IIuC*`QvClX> zFTS(UKnj?55;l43F9T@(h$7KiIX$59>uf-c)k6OMM^8RWm$9}9tqZOArECNNZ6e=* zY8W-C>3%7A7Hkd0DXGj#o?;wD0QV!la&s-psKD^Z%i(Sg=PO+AXz<#DfQ+svFU-tV zWRVa!_d#7XNYUnGQv;faVZn3X--jwHUQU|vkx{F8UCK^28fOs@F9OQ3!>q{Mx1jF| z5SMapu@Ex({pl(Ik4#_zibsU87;;3!+vuL`Yp?e(sIwRyOLhd(7YOu%9+CO_N5giZ z-uJ2>fz9-$gpnW^1SxsChi(h@GKK%jfjI=No<^g7_jIDQmB&Qkd(9eW*9Bx}?{OX{ z7Z%>;WBjyF@ZGMo2OG~zr#COrbcHuhM`=9Qz)hzfXD*9D(+dT5;e2JkZ%%0c=)>gq zZa9LVTW+Rxms0Lp+eXSF1!F))?6w>LKv`ScY5dwBEaA}t^u*ufU9IqO&|6pe2b!v9 z;N_*1$7O>^F)YjW-uudk#kv=G{hZSdu)dB|KZjq>(6WhzVl{5z@rIuGMp4Uve^+cR zUo5h1I=b_az&{u+Uc17pC_9AeM;FnV1-#dBbM^2jV@_d z5cI~OggSYV*7z{L7Ys1Nsbplr($|v^vQZ`sm|3>)Nd@R4*p5%<-F}#j>n%ndMpgcq zP9qI?sv^_D#;E3u7LRap zZKhMB%U8YH{_G<3-{4>9SL|-C5ND$OeuR1l9}YFhZh=cYQS3Qx9&5Is-5NI1SB$yg za6aF*F9Vjnm^kgyarxObnZI5isyVT1@Yrkc0xn@HJ@`T7y0+*KQknwtjKmU zG-GWeDAm0s;2kXuA(yKVL0A52VX2YS$qKwM?3bH(YTv3DMnH8`2q>F$qkT;~&|k8D z-8e_3mBNJ#H@Jq@!qZhGvDz4Bcz#PT&uT3kuX%h_@TGlCFV?svNY*bao{V%|*M5(F z%@2F?|3a9xx}iQ*zBN^x|B5g(|NEtK`9EVZO|0$A4b9w4zv(W=Z@k&c+RoVdKaEqA zgaP0Am>qXfDbv8*z%n~aBII1j5}^iBN@yse8g3?LSsKWDS8jGuBFczT0$QxRtnDs# zz(^BNF+a-KEX7f1hqNn{lW!onqZ>pk)H^IuTn-}1463D`6{Hrtj6>zjZa(XF(|I1F zrOoeC&)nM(=#ql8&5TWrZg4>rDJ)b<#g>V2*t-+;ID)HxevNq+xavi~HIHl<1H-@C z^DsG_gclk(EWq=M3cfquVXvD+zII&0#6hrKQ&#HHmSy1EZ6Qh1p=kFO2%p+qjjZx{ z8=`>bc63{C)A*Tku;=ZVXm0K&=gUl@Xi?~ltaLN;YjRk}1qLVvnVt4HH2bv&F-lC| zN#FBi@iJOGkg4idl6cCQ_)YnxF8{xBcmMYpmzl$V`YHe0j4NmsYw|}Y>;W|EKyM$`cR&CjqROJ= zN2*Vovf;UT;k!@8cW~8(oxA33ztXZxg+f|)7iif{0R(^9?k|kuT^Rv7SoP@6@W`gQ z4Zs*uUQ~FsE=(@u6{-!P!OPmDJClrti8=O`1=C`OnK$H9jT+B0ee+%^u!=UDx)7TD zG47lJnlRcXm+^}R5thLmWl~u-@EIyRIGq_7DYSd=PuAc(4W&;q(l9-Atx!z}Pm0XN z=_UyYC_22OSv{!=f}Tc@^i|Td9kIAf?WmQf0P|3heBeD$IjsfYETf@o^y$h7i@Xk% zv0SU=c?jRU@-Og@N~}w+MXaaVytq(nHovRgYlJX@><2nlzznKFdyWDk#K0I(Qs~#7 zvpg%aM*D^btCGVRNErB2x5?PCJB~71e-TJO7+gBpwK_uc6iKTDq48;|e0mv$E3aj> z`&!&CN@O&(796K`*}kNj1N)B0VcE$8Rt>wcW+l2cn8j+O`3e=W7T$LCAKp zf5<=9vy45pO@;*}IWjF8*-I=+=A+f(iTNAB*9-n?w5F-*@^yWP4LS8%eH%!Za)&iV z?2zmqpu1R)S4fE(tgR6Re*=U-A9}+`mT1CeTaeYH#u^dH*|nVDF!NIy8K&m$>G-=H z$U6@T(kLeH`94SoFkAM1Cnh3(!WoWA{gvFvsS)?wLVSGgFf@Sb9uA(p{L{;oDR=b5 z&f*_!s998fl<80zS8HqT;5VGO>d4W8D}N=~oJ5GpQSxnK2KiQUYWEl4@vG#(F;U(@ zG6@K+OYLsvbTvfUHw*{52?JHU#Dzh9^an#QG5nA#B3YW^#7{5`XR>OGmg4o`pd=&4 zMb^1ZD8*NPa&V8pHnTp=_XWb~@XpyP33oOnnIgw$5qlguoy<@&ujn;=fA0~ zyjy~R7}2tIcxcZ~;5p3YmU#PY?-)dSo&3S#M6h%yZ3d|pwFhKy9T0t-5j_d#G* z6DbVuts}>T!w?Ws3zeYpjCm z-x;uHqd?fM2308rpkX`3>L40JeV(SV8q9K|!I90m{^NVf7BblkED0qS^q)Dc`x_2YmH?8Y2)`YTQjuv24i{VH;x5_+4Uj|8@Ld6|q?qahHhfEdJ`qnZ@!o@s+ z(;YDC8F?C16j4l)4kctS^wo1G$c};KJ25M2Qr3C8zWWWhniHqMFhz{k7;3f_a!pje z%N?s>mRs4u7?21x$^GQ$9xWOAB-;c)$;=}Y7A)H zGO+l<*o0bWJ^gRvSD@?&^hgp=tiDwEg)Z4GqN3@M00|~&2yBh&-64hqb9*C@Nq%PG ztfOFC#@~>p8CL1o(cu6VyAZ5;Vur4R^wyr5@3u)qhN~SXwq_T@L4bXQq%}uOg*@WD zCzP(S=$}sGm1s3#?m>p0*?=cC1mF?YZS1&tLGp35u`NTiSa-`J3Ka2e|H}FK@kSWO zV^p0E$kyjBJP2sork^;KT=2+80D4^M=9o6t1a%+ct zkJ^Tz>=7R_7A9X(qzlXf>xUPksc90%5Ut(TA0pE86OJ9XX5zqFBSafR9z}yTY8A9n z446d)I<`e4YU-yV8Pdl|utbr$Fy|T}rTSpPe(4&1iRcU`^GOvRF$e1HWZ{fzvpyC|MFRc{jK|ry`0WdXN@;m zFpFX{mC&N55slrdo$xVk6C{=3 z;};^NU8^xANI1)#1WCOdAek(|pVpOl4r(j2NQxRUy*p4D40BjGee8Wob~DdLc2`#3 zQT$XtIF{VUFDse7g1#@bw7g{4W72;>Eb@!3;W;cQsVjToGd_4AAL1?iG}gQv_c6RM zsduL+z=;!2udpPJ!Mm{XZo5*u{M3r)9avzGgh6oZVhd|{IO}c&>sOA=tixR$SH@&O z=h@C)snxcc3(b17n@@{oR)=3FR`;)oD~c-%JFL&09%La*kx!r;e@dHJuL0H20RFVy z)YB~)%9iM^pJ=}BuQ=4O;cMvYoDS*@agdHW<~M|Z`_uv<_=jfD;KNn&vu*4Q`1a; z(Fa!|M)fc6jjN|;%lW@ye0$3zqO_Oq1RBKL<{PH>kx-<7OIGW4Rm}P$hA~%pBloxT zlsFCb-65WVXop&!QkytVhzNB8`Mtk%B;e2-=C`7AGJ}G^csN)zS63aNCfpl2TFDcH zmtUzh5t3Q2K$%?I3%_qeQ4j|;NPrc7KDhWiL{6rAO z7bEKXge2J<&|JZpQ$l%9iQsqcey5Omjx7t@zP=IrWjNsW`L}goRt6$%_i=l&sp_RF@ znc+X50L)Eo4cWLkS^m?kw^~D25myq;f4Y|IHc6j|dKO7+RcKj7}YaDMG`4z*+!f z((y4U(Y8qFZJ9;2h#?{6Hk{GaHP3$zvvTM0u{jhTpBq>Y# zlROH+O>htxr?$HB<0JyW-?FP)4mfU~u)7M81{Lj&a!grG9Xe&RHiT?Y*7dOml1|Qz zXGM48_dkA&04;XhLq8S98lIm1+*iD-d>gf6Zq0h_xnAsFK3xUd`BneYX?ncb!2U{l zz`7dq`v~R)c(`Q&}OG8`~wkMR7Rm(S88XfhwNB z3dME%xh^TWErM#j(PZoGck#sFsG z6Iw}*$|WkeTcLVryJYQf$tM=SS_Gx}ASHM8SDFi;=q`DOo6nbU?%&;GE>4|ln-KJg z@FLs@*n}Jf0*R9)*M?m} zHvndEG+Sp0W$}1RwK{uttj4fH-e%ZxMY8*ldSH(Jn;wRcR|YpYA5Msx6i98=Jv4yyZv^OtIHe_vBT*B+4MUhn~Dni z;g@lJxaqsfPZb_ zX_CQcO@aXdCI45m74(1Kw*QNVF*7my54HcGro9UZC(376cR@5GaL^G%9p|6BNTA2P z-+?Ude=dJhr==t3>BNeW#d0T(1$0ZIIMk1N*D`3nuw`mgzMWvYHT(NWs{KEFePeef z+L~=uSg~!}b}F`QJ8x`NY}>Z&q+&a%*tV^keNNv#eMjHDzpOv7#&|HF2?V!5+R{A7 z$#X^C2`U&_WBaN|+i*fF`%FHXu~KC9HLrs~$jV+FE_2a515mhxj}p;GPgpQg^P_zc zFtUs{#^704$tn42xZ0uv<4&3TmngOz;-Z@ti)mZt@8DhvPA7f>8Y3*JbhT_^oP8IGsg(*<73-V7B=Ef*4B5w)~<<26^@4Fdz zs_69frWH#{H(+N|4I};^ipWf>Y#b=<~Q~n^6aF z6-irxNp;gfjI@R8=-yW0W&Xicm7oP2*${!&CL@q6!BDUmwKbseag6G{5Q9MV`K{aV z=6Xnq38XZXVPJ_(AiFE8eN5H1ZKU$Zg|k1Z=a&7@2n8{f!13Bx=vt=ZObd*h7Y<*?+P^2 z+!7?5yYNu`c^PwR|Jps`)o)a*bHd@@E~JuQmeqzRGjBrVIu1S7;`VU8stD;r<{ZG& zCYDk&PX8>*+{|m)!I>Q^vie(L^>Tc^W7$$a&K&I&nxroFJUCO2H12kZM8Lz2jo=OrdtzILI3@qFY9hR`&+6p zgVFIn7{9wX>Y(n_q3?cvSVJ9D>0}jCgf7=Ihb7v^OS<_N72cu@%yk&n#1pX-oU1~` z(!@;DO%m6ZOf@*a_Uc&wIfBgGS3S{UJJQ)2w?4#Nq-buTyniX!?1ocEvV^x_GDVHt z+If3pVK|~c)CnF)mypyBI<@M>*p>(u;K26G zvEz`Q_D5`E=QD3iKL>mNwes6~64P-p+`dD$yb|*rY0*)Jt=ZA=m-duN7q_Nx!I zlNWj9oy@7DpVP=jhqyZOc!jy&%1LF5A!OiTL1NJ{7V8JwL%~G+T=*jz-MMd)Ny*`Y zGYloMd(gu^RH8AW#<-|8?_A@|{w(-!wpbb8vr#!$n+AThHyE@@yG?60{0{RWqx%%Y zpAc|Q=5-?CbVoBlF0!VD)$$C%AN^Zk)+R6#n&R$B_%53wf(x{aaT8AdV9kwsr{*xE zc2I7ed$3OJ*;Cuq;y1v5S}ssK-3N$g-$;-B14zdU*etB%5C#+oiERf(-bewslDCBn9CXBh$T835qeBp3nKFMyiz2XhE#XuwBp^P$f zl?_hLvsPKmvUnQD#_rCkS)}H#ce=5B(EPblZU@;%%`RQJO1!uCfRzo@J+j91C^%6o zUE(I8W*w0oJ$7%;l3!0AyM-_q+T^5OWdMH<5XlQQ3@1Bs}~(zLSfM01Iw zH{7io?b~?Y1a9BEZFtT-AK?=x%{iTUYKU&1Cv~(1)q-iE>S*$>tAr35eR_1q^daU< z0Q0$N$!EJ}AJh2+#5wv>eK*jVF2vD$`mZiVHC^B>F)_^{{!CFhQ5{TW%~h$3=4!Jc zVr?xg*Be8j=l9y#U%Lbc+c4=q3PX*Eq~KF51L4aWS{_qj<`_1=*`xY{eR^)M93y1S zZEWCtHRY1~8kzW>^6Ga$n}=S0l-%96Z~i+mo^BkgzwT@4Q2s}QNy7iM!T)u^aCWkC z*8iKHm>Bz0_RAh%=+ZMRIg4#JahnqWCbfl+_!Ei5sIa|)N01+9@1BIY{-SaG9_3V1I~zrkciZ7g z3-Cn6+=Xk4K8ek6!*%c7BGiJ{xsfWL0ksm?7D8|CZ<<`2ji@_UqG3YLVC>*v zZ47Yy%S^!Ri|T8uZ?CVbZ)5LhZm7$`O3(OrsAi<9rVS%FmHlZ;kfP+M#zD7zb-zPAtRRsni;Y3REtL8i7 zzXOM_W>I9Zp%gXHfSdJ7(XaC@nGPC(s&Ee7PY}mZ?Wyz|yVqatea3kFP57f_=Y#h! zRqs#iAK09+q-@D7xl(E-nMTZx_T%-QWf9K^KvZ7(wc97!l-KL}EBek@Pqog=)=s|U z=Mll6(+xXgkn`FLE}(hn3B%pxoV8)~tI?t?xsC!a0N1RO4!lBXYGXfMQkd1m>P@;J z#~3)*rh#YFs@nycgGVZ}f|K|CD{|9e1lS<2{Qc;}?c~SB#oWX9&Vd3!*JqWa=Zw^+ z32+tB(WkloY&)VdG_HDoJ!c~)@@}fyG%-vCk@V=Nd-^sI#z>u3NIdkpQhH|5xm;@} ziy~V8(nG@>P_B9Q+Ob-op>=`~Ed^^v1HAoe*>6z(tL2(-@nWKl#EwAx#D3mMr_du& z!TNtLAF65HJHs#T8#X&nwKwkpT*>d{-Q_bi@DfV#+fZ-61-U;4oAnXPUcOaG^U`VK z=?g~WaXPLNVn+?i(#?V4en>^JESk>NRt3+sXO0Fx#&6#qnRC7{KZI?UNB12?!XSA1 ziZsXa@1`0H(7{lttb&YWfDIyUFL}mJ(w9pThaQX-B;t46=G_e}xFO?H%1>jb%>dIpiWmp+c<+)t61 zmBY&W95$xgkVtH*7$u)v6Sfnha4RT9>8A?AO`%C8?r7KTtT?N7c@;HU@VDF~%_y z-#dPXhNpDLG5c2UtH6|DgOMDPYB6}X;vL=-InFdIL2Z}tCmiKw=}hNN6UAEIn7ohU zKnXc+G0X;7{XsK}ER-=P9Pgdp&U>l{5jB{`!1-Kc9T6GY0@9rfvL0#~0NrqRC3LZ6_PkZMi zAI(W-+G9WXl)mU^9>aW?2g9wrnrYJ&KapLF?lm7%#v8~`NY5)@u;9}!-P?1GL12D1 z<~Px9ce6QKXk936jn+ze=q#ToKDr>J6e-;8=5m?ci7B6d-Np)6Z@W*v+=2*U|A~Fa z`ky8PaI!Y|vY7sY6OCQv3fYs$KLU*s3lNii+C~KiEsZ7>I zavg37gx6{+K*jW^7nURVhg@w!dwlIJs5`6;r7rzXT{6{4w1|;p)e&J@-7(2poxodi=Vp)MT z(U#Jb%dmqqUf{L*_Kwq4DaQ0Eh0KuFtt^;V`OmY0MXu1v%a6OEAV$dKr75X3(Bp7$m0|6bpIrDpi ztM_f_8EFE|Rx95@tG)G-15X}gg})5O2dv?h_xMb^L*ybEQ!JO4qEjVuekUDD>Z3h)|yfHgtC^zl*-X7onV3orD zR)K^lUTl&9_OJ5G=J4fSv#uT54W(};ktlc43;$RekP1RQ6)VTt4+t2KU3~|w2uvt3 zhDx1d5dhl@9rpbyi7xRU`jJdCc0ZL)Y_!9A8R8eDJ>`gse$d64_0FVAI)HjxN$`9TY zCb`QS&||m@FHvazXe`;V24`fGr`PJ;EH&Y0(mL}N;1<;@n;Ex~4+)TjZpSt3G<5Vh z1#xlq*B*rG+ob(=Z2jsu=k+#!6NkzgT<+4X`_52E*|@qyR}wY{%hXDr5d@nznr!8w zyPO3x3B`&BRReko*JzNJs0%3B-d6Wt8&d6!6WR7_b^ZZz41269fR=hA zbi%6VHkMW0SBfpI*YO3_oAa_s$LksIue~4`>9vmMt7K#UW6A#iGn@3C|E4Mrs7imi z6~T9YseAW~u)_4X#M29knVpfqpXu`o1_0V14MMAHVg)}HWajfez3_xb>=l~ZJt(*Q z#b8Z0Ixr?9y5D~`5XIqe7U6tYwK5Bg1XF09gIoj@Iur(K8|mRsPg)L=QwK(tW zFYB}%vXP9rwlZ~KOsj=Q9Q$3|NSXTp0;PQ@@DulokdGXzuBAJ7Wr8^~<(rHIZUa;( zO(+H=$P!9R#R6&Y>0@zT62x|wO}Fx9-iYxHy@h7ySW6qp_` z&XcN0;{QaXk_<YR8GOY_U*}>q95OZaZ{dUxP=0QuB$#{(d^anwA#-$9g zX8n8?+F~x5kUt)k*yJ}DC4P)sdM~^tLu{S-Xr}s7yvjIa+CHX^xrXTiX+$Sv&~U&l z@*_4dt|w^G_z#I@aXBhyvDb9~mf8+8cs+`QkW?WR!Qpplhju$2^2>D3(q(StKb$vZ za0ZA%`*Ri;FU%Pf#_38{_bYeb>9(mdGe8}w^sa99A~d)e&f&9!`nG9cGRyx2>f=M3 zf*IlB;Nm8CxKlj=v0{oFI^l8w!8AU=&*~GdQT~q1?{h9jnsyqY6Yw52g2r9P(RUcL zW9BTju zxEK_Q3{lLiROK2PJV#cDcPv%zsm@mtA7P2WB#s6djh4(v?7zRpLk-v4+9bXBOI-zX zo5VW|($G!h5v&EAa*`=vx%g8Sd(h#&F}Cf!#$)<8;PX37qYPS13X!U4^7-uIJFC_X z*bCUUGCIEW!4?(d=I$#rDykN5Ei=RsA+|xdCNjq%@@QGa0Hd%Nzer(MSUNCM+|W1T z7#r2XDl~VNL&S2pZR7kp7ROS4GPL62>Um{z_}N@-emKA3>=?V3>y$haz42D>;G_GE zBv_n=<2o_9YAgP1iR8iYoB3tlK0=L}KnIgGHRokjb z{Z&*Kxw|sTM-RQ%og_v>JjT6qDcjAr*Y%GcKy~x#YWJy2bUXM{Ah^w!^WzOfHiWtg zIoVrkmp;;JbcY!j@a72KSzEjfEN~U~e0r1G%f!t6(+2=Nebavt)2mu5303zL^UbwM zg#%rrxH)?y@H#0>^Aw}#@!UbnBwS9}>=x(_dHtX-uw?Vnl88k8n3 zAV_ntE7{jsuVdQlF7C+d+2jpB>Y6q-8!lFhsrE)TshuaJZd<9$XyyQe;h}4V^_UB^ zF9LH)nIp3K?YEdobLw!$ELDgqyG4u7Os=nd1jT6}5|FH(*$av(OpLLHDn#KU)Y~&c z8#IuS1mOlnG=r#0uSqe8bP$g;J^)21I>e?Hm8xIOSW?Y>nDf5i_Zy9_i&hC4hjLyz z)C=}AEx@m%YI_!E&<4MamS#NBTIKzLj7bl3thLOxizxSE#u<>QPw%BL`lexc85g5& z60Cvm27x&%rC7S8_omsUZn0VEvz3S{@U$jKT>}y%bH71{jJtP|=S){lhELR&6Iw?N zQX4zpGS{)|RFmC^bnlS3BQHhGkN<&YCr32KX?NurgCv-pJZ>MsG>qNX=+e=^Q)-qU zZ06j+v<^(ok8*}6UJsd2Y(S%C2}kqvKmI9ww;ER8$o3sKYC9PrS)ecfkh? zorgg(neeH)KL!#6>k{IFKaLKKBm<<#PO?Dk4^BdC{Ouwu_A7aV!wh)xszt^Z!mSi#@N-+%E`za zVEP46S?L38to3!-*%;}+9uE31+8qna-z^XW>Y6sIBB*}>R9Eo@Vs*66)Na|>V|IJ@ zFtNLO%@h#`9C1Yi93ZA+2O=m2;B)drRb*dLJaPHmT>^ZTaR|7WX!TAi~@abGBgoS*EE5d$n z;zWi3^el*Hk#Y0I>ShYi_OwrI2SJ}5(yMGts0$X_f<)%|0F5OJX~*191-Wa(F-ii{ z5dzQTM45w(wc`_23AuVC3a5#HnX|Jqrc9nyApN`uWH9O>qLyQ&;4QMam~6Fba|5d+ zaMV!@3+VcoNr3?yYq51!)u2{xXFhYo{DFwcZaB8(u(N?^0Vzk(0zV_5R z52VI3KXEn~v^dEv9HZf46nIbA>4J^`m?6?jGd3A zdbKXyNU zPGxJOI0f>GBednTB=xuqfdm%y1s3sZf$JF@8D>#8LaLKL;VW`I9eZS?>ZrB(i`pM^ z+@%VB=1Auw9NxPQNAChp-v#Hhmd{*9z=`^&VFhi#%(0_T`sd?0{Z6flC9BOU7h7h5 zSKEk|TL}P}5z|I8vVg_bKQSvEmcy|ns#S|0Ne*EQ|K^UouU*zp2pa+Ed2PEuIw=i5 zLhGe8MN2)(RUHoA-nxcbzN1hY_YGT~YD-8^3q}x#E;V2UgfsA9)jiDYoOuBQjZj(q zK{&FaD9{}Y&Y!C^c+U56mxM{N`+Ltp?Ih%)9YhW<&2Q!vkzcekY4bp7JrMjMokD9J zuE^v~w_c4jq8pDU_xF(c<+%i zldE^?KezTrI9QC#(zK&4KP_`@a?P}pL5oV%r1Gr*BvD1#EoY9$8ZPGCC(uD&j(u>5 zsA+Ny#}+%!HSJhmK6a8sOvgKMw2VhpXi&81^&^8(&J#_tZm6}VGBO!X>yd7s9;Z)K z4|gw_{@1V9RXj1XF4uGDth(pax=s(7lT4Y#bd(o?BC~$vBJ^q$9HkwIRx8<;3R)XX zX-D{nL6`oYF#ax>8s!V`NGo!NbD*^8lYjh4rQ*QeNY~40SCm=;x=q&MTzP{75~Z?) zkeiP4JiuZa$N^UKG!jZV3ecQq5$9P$qf+sPoEv;Wq?=FxW1zjRr>dWmDC`1EoAZEBYA3I08$1SuY0~gXPdgi5r8;|wn zp(zU!fo=9pi{WGFFM?t)m!xlcH=PaGSqZz{9>&wPQ`2Ot1>7<;Xi@?b8LFi_A z>#MY^%-uo(@#gbodL(R^_GQYeVmNAqerzTgLk8bi0X~tg13y$y+V-Y|Xj3h?<$%Mi ztfh<+sv`H?w)NBqJCcfp@Lc-O!vd+PrOCII@xi&ruRABf-sh@cjb>cVbt;maPX&L{`l}kbl2P8;}A~P;z;h9JWmZbq;waCai$q zBf-6UX?2CLLFcdJiJdKDn>Sm3-1oenSz5ATNgpPX6o()iiLOi@!ROWLkeoMuHC!6L z30s$JIqRPY#W-3QUIV7v7O$|(P1nX%GkjFa>3fm9_h`RlBFKL$5ygM2TyIA$7Cx}i zC=W(cPe7XkZ`#=L5BY>vh+x{cmD4(Fl}Zo^7qwwq};~nVra`&)1vlL6~FG+tqpq)u$HO`Mkd4F z#{yU4T<_;9n_}P82}Bua_G=q4@qfB#lovg0!gP8gZu4)CkozH#LZ^P;;>LsJ%)MCh zQSBSPHfEs}tLoIQo{S&~CAH0~tb80aEciUjP!-FEG~YyovOla1~s(a+bD`0+i|fd>s96cO$ISsflZdZ{G|s{t2h1{?Ev1YX7C;(6zO3 zaMb-P6H(vRP1n%M9H8s=b^T;vVf{PT=Enb_95G36!6XgEq$rXq#5ja9au)RUV<#)-^s@%oMoC@V7{nW?ZO}&Dtff1+&Tx`~MT{u3 zGU`Cv{6O0%Xr_OlnwgTgNX~qTqiu{MVMaxlojoEx%|Bb#iyTN$!@3^QNK5G-8#1T_ zn~S6kB}LR@-*l)0Ae06s+1`XCW8<6>!s(k!GY2jeT!sG>$XmQ!F^H${mqJn=$J8d6 zA6F!^F2>Dg6B3(%v|f2 z!h{HwtH>a(92_7n2F`Bw4Ne-FF)tt7H`OY1;yj)j32Gnb0g50=+VP?$A&; z8L_>@fMQC2s}}zVqET==8#S*U711P=a~EAX_(x^XqhI*boXlrgjz`?2*V5J3_VBt< z)yIcy$zl=TMisY)uH7i*!U@w1e|2P(NAMspEcgL5Q^jJD^@*>(ADuJ_%cNjPLdk$h z(y*-Q{wPLyWi-xkSQ_CL!XQyG!w-IHg#IxbTnE;L9yOgDB=4=|K{%xdQ!$SxJkA1% zlTFf(tkQbJ6Gp>c*0cN6ge*gFs$52RqU>CTsV@`*P70*tqVC*>CqncBHli3B_1wKZ zn3D|N>0h^RiBucgB92G}g{&hOtT@}Y_XmE)0aGDN&och>cWgiUNyf2A&O{LqiIVxj zlkf?RKYe4Mx+S37Ss?wxsS1YE5`^l9x2v$~Bp8+TsC{AI>(IQ3sw@?ARdSZv4WL+>BcJCEX zeDWcB?p5)Z+qUgIzRIMjjB8`p&(#e~@?s$I#~T1}LSwFrYN*;RIRRk~!Z_sFiED?S ztZ}2_KCpSh*3<~?4ZjAAV=^lwlwvF79U1bf1m((RN<^K)=craF#ye{z>tBuMwYXV+ z^dnQhleaRwXd<`$jD!n&;#-2a_v{((C7u;WFvSra(-_Nz^p1V}_LZg5y<~f4H?n{I zJhz$CKViSoGp;UMylw{4W^I&E1_4tSlc+S|sSK6Ogo})P!3aeN7TvGzQ{!U0w7z+Y zd$E3ohXV&T6fD}A?BBU5;nqMsn7vE2yt;@xyqR;pEFIP> z>^9bUn6*69%9hZCIIOP-QxPh}FU20Y5CYR&Xht(MHU!+RX+Qwz@ibJ%Y2>-ic0#^= zLs-K$oQGrSX78+}2Qz$P=9xt`?-%PVMTI;B$NA-$)6k^e+|cy(sX(?ZP<{Z1rtP4;f* zvw0p+mfy5i38^@Bq_Rc5SeG$|)FW;Az#*_C?-=XcH!i^5iGyB&jcJxO$3 zoke?_rhV55Hz`~6S~>d0jjX)Y`*+K(ZhoI!YUJT3yHW&6ZS~Wv1a|$4Qw76Cu!Nsj~w{;j*?6r9){Uq?VLv_ zQ2V_x92LUQL@G$eM8L#=ir};JHbi+Q2~fxW$Ypv#w1D$Vv=;okYYMWXtS#{vwcr4O z1Z04CzdSQGuTy6d0fMB^PvtaqU@cFyMc>-j~_x`*05nC~WxXZPGG+$MJPhzwg<8cerfp)ie4j6X}e!+<+_ zcy{#%^I>fPY%A3S+P3??c`aZacKn{w8v=St;uE6d*%8LA95nZ>#@|@;u*2b zj+gJK_7*txi7`r*4u(X8lFj=WGl9x3La0i%`JfZO1)>}b#HNA-x?vmB^1`%HFld$1 z!Xs!YY8yQl;V!j4C!q|hQQXdlz087gKh57U)D>hFO22Y%FfBR=7M5j%QxDZtoY|P3 zn~hZ81eC35u%pQ4(9K;PX%)i*3p8&}J}Wi~ACQ(k+)uk;$*!-At^5cWxWsDdtX?tj z;W&Q1=zv@XFig9sA&R%;sVzK;WvuLCMdS6<)6zEfmQhXqX7~R=DliO{3{1jD);3{Y zXGqG0;21C;O+O0JZ%n(_tgnP6VgUD0M8;Wi{HyBEVT<*w1rXGDs~kPquW-L3I{);K zp>ras=b-S;k7x+u$X&F*{%s!}R#yG%-_rh($x)S8TZU#vObTu^_N1RvJsUJ$ce6PR>z3T8F%#vcyl=hR)2+Xxji2rQmv z(6cIygTIVn2L%cX>UCB$#D8}SgN_QC!w8%sx5A=&?wTB_OyRgE_)`9G9$k@WK?x|T zi%MljF)}OybB2Ef-BBT@Ax+DYf}oW13@QUg3W)QwO=J|ip(r2LXfoe-iOc&k$0qeZ zUu#BLWn~NMl^D3Rzn z<|$kG$GLR;tX5>;+u~6ooEY*{s8Xof5NcyLibb?wX9%~F%+D{x@TWX>={#-{^OjuM zal*Hvi5~xyr>%g3D!;4ghiEs46E>1({By4*10JJ4-*+J;hJE4k?(g<*`4V&(pKqQw zm)6f+qyHq~hIQhC)S8irf{tdXz)n6)I=FUPJ9OxC1!fLXM`)+5v)^)y*>tnU7)b2i zm?gT^UEJTuL=OW;YndAhS{ICW`IA)~W;h443M5LeaS$<7{nP+(h_>bcDcq;1&9i6| z==doKpl3wt?OD~#S}f&mZ(5B2hzT~6LRTshz5>zBO+ws&Wtv5x+CmZwW93q4jURI~ z&u}s>P()SN{k><-A7vik!q6@eyZR|AWzA%_J)Xn_5b131=Tjq_R>9-3T2O^ZuhsE!)F!-s{4-6dHbm|v|o@vJ%+=mi_5j{ zw(Ck=CD~4AXfYd?^<|)Nt#X_tSLIam=@YTskW1>s1AOFVc^ut5Jh+>a)197-*SZ`#xcEzlO1_jzAzPi;xu*%jvJ=j z@zs9NNQV(oWX=!C1B*mfIOz&!Fzu|YDIX;GmAJhfBW(idGF^R^*f8?Cn@0lbTs!{^ z&#ARGRHe(tUEv<9_D+_6p@Y3noHCa2M_356Xqg39+h0e#e~EPPVem~0zUp`WKRVd{ zkB2p4OE~k-#pPHs z*2Y3kG&$q7RD`X6DC!;00jsWjIH+@n@K~u$;G}Z#jQiZjxV)T=0;WUKFZPkuB%LXTHdU$F|tfVCLvvPu>HIOF10bEdlv~s6N+!E=BvauU}45 zd(%o$4^(r_U3fDN>K{RCuaMsot>x3Xmiq-L_KM!4#qB!L9;=$MJP~*fW$PEsFSKjy z+Y{gZcwZxmp(d@!T74i zg#TEL|Hqd7-!qc~BRvDVu7l;*hHdO-Y-Mhw%f`&c@V8@=vi4sbW3S8VmK}(O0%@_8 z1~*Hwa$yOA6Zpyo^MHt<-!!;b&%lhD_uZGB5BxvGRbKm_yf+=9CaT%K(NJsJey>#E z&?>jz@w$B4+wG^Dky5H;PKv*+zm4BjN%jxS(hSy@FT^$;8=;h889mdcI-E({_2S3L5?Hr&$H%wgtIg3Y9C##L)5Q$as&&6Md;wD3g-g z^@iQ$*-?v&;%%9x zLy77#H~Pj}l;)RfEf2LCB^^$cLSLVS>XcV|oT_fv$79cgD?MgWuWk0Ai}UX7mdi9D zY-#iNXaeW&(zXJXAyR${N3`gc(-ncm(%vaVEe%-4IYQL|#kh~!w06BDRh7t?p9Be& zGb|1F4{L$jB}caQ2jC%o9GI-0ks5+(Ia-+eJWCixcD0upwH7N~z_XZs>5$-10p@{O z@0%gM5@u_NP#XGrm)UiHF@Ddq$eVL)4uWkHVFEub zBF{&K17W8{SqZL!@ryeW>E z$Mdw64?0SaMK|`0bZ;iyR>M=Oa3#PcW$wac6|n4P5=JBWa5>boUivcFatcjnP0st%K9eRlJ7rq4p4r*(o9U}f>MB-L@Ak*U z<-a+j0LQVPZC`bo;~(oZ&wpm^|2qFV*qD5Qapn#VPR4&}(e3||CK#FPJ2;wukxF%K zt&E+%6bh_N94vn)O&CzKR9qE9edq1oLCvNfvcalZmhC462~yRsQ*0LxvyilIM-#79 zkc4Ms`3h7!PcmADXKk-nj;9nT$9r^pSzCSkfcm=pJ{*Po>+-wnk)OQmRTMF@|E>|n z+#YR|6ELEbA^Ipzeyg;G2Tk@0?m@##)0-%x+!R#-U+Vu#tQ#=uQXb97A~ED_y@b&= zq9!yuIeu7i6T(}Ug{loejtv2Bs~ufSl`_`1BabGG<(=b3q7vt$`Mnq3Y=oS2EQQ&g zzwD`KQvXcyff()4spG+Y0i(%``^b<1{emtN1PmQagd64RJZm`<@F?T{4vY(X-XB6H zBFMF7Bm2_F5cDqJ&4aN71H4hgcd-58$`A8A0e8zkK!v?@SpO=hagtEfcRg(AL4VZv zTt47n$hPfgION3{#gs~!QA)Bv3v(orj#mM5`qOM?;eJgfI!tXTnn9arF;@(+i7p|- zX;xCBom|A}JN94!`wIzxwHn^(1dkt$9BV8l;ZWJN;}6U{g;PP`i-Y+`9V ztQ!t;V2_)|%*WAM7;mFqt6%hWVqq=z{omU~<1 z4INp^ALJZEbeKQKq?n7MGr;Rsd8wsR@TtT#W<#{26`12`&ARtsYCPc=BZElNF_yy7 ztGJ!bGK2f(_h~j0-C(LASj>R%SyNE8z_y@Ij>?IGAw>nxgOpkWH49nz%w!)vjJ6o- z?k{8W8B(IO-+*pvC0blwHHBB_;r}Vc79$xOtS*|ehozoL`@)O~&)776G>Hf{fk1!* zkxU{!6wXg%`DdY>Md~h5)<+erO-O9m6u9e-Xt42j)i5Iq{yCLjr`Iru$K7P^cq28Dz%QqTUoLOBo669PCIYd`$$ zEw{G#9>}73WaHO;ULCzmjcTs+r^{B32Mhy+wW1^f`EEm3L4r!8;xKtlw4h_Xn>%Z_ zC2Mqw^h2sN?Al#5;fzS4?*WWnM3!c|=R>W@ksxk$1Ed;i5?rbatcO?gP${Io|4a>= zQei@vJSJ#n%c|P`pB2W7$dpT1>Jf%|7@AG#7b$yS(mG$mCWJXOI=|MJMmZSm5_(cO z(9r<3fH+U{L2~eg#1fK&y_sQKo4g-PskJK zh(-P2k7}tI5Z7vn9F*aGCdx6U(8Bs?=x$i;V_4}yYY-5lPaVPwQuyCJ<0IQo%wV|h zf<$(X-aij1tQN;efK7QeeUrL6 zu_ALHDOui&=D<0now7Pw+zvGeXcTdTDaVKbdRpi`Rqxyr*DSK;Mei9@K~9IFu$S}( z^~=u?mbQYFtSvQ8%?vkNam+Dnr&`YZsy&d`X)YUvo{%t>7<{4hW;1SwAc}~;VV6s> zYsjqQEZ*hj;_R|OJMAt3LY8|)!FsRx%x|RF*k9C5s#AL(|WO& zrQF)ALEvZvKk(cE>zBNP=S;15Qs5#-%Ps@ttjd7VghrV=6@Wh!ZsEAwP&i7QS6Y|r zIvY<_62tg32R{g1a3F%n$sQ4|I+bRfZv8j(<}c2hUw7L-j?9=jFrm4E<2=xXE*@06Xa5 zT5z>}%CXdea?scff3qZ3+gZT=Xe}OQ7=PgwN}LvrR`EAbnGHMiHj8%>Qg_jzp6-At zlEUp%b`wVT1l(3pr5QRK>pAGupzF4%&>N+l{3e6}b$g`SGu}hS1(6mzP%cM$%DLJ- z+|F}OD9ttxom}Ww14&nbVs*P0kpc;m0dw5~-<@5RstC~M9r>Dum-Jxchi7>P$LKHt zZqv)cH>CXdMzwumEn1KlG7H;L;AlMpEsLBaw~%iss&>$jeXI|1L=+VuT*({WRTysz z#!c)kGR6_7=wo;Cfd1B?6BP0LdWQ?7v2Wwq`9fPwriJtZfSq6oBd6=shtbl*632Vk zaM#lY@=^h<4qGk9?N>q+m}5In$=fiQa2F|gK_-FNAK_1wu@#E7loec|zzvpxppyEY z%3{u;!5H4;;W-XSxjUjbyb`p(G+QWdAaAL`V90v6=R3p#(p!|nZ=#@GF2q7&Drbs7 zv7Z!-uLfDZ%jtOo8)I+7NWigu<-=$IxBbX7gKF<=3h_DD)*>2${jNiymqjO3I{fkH zoEVNsEh6hkoFGQlcs!Q!AwPC`?^w9Zko!vLC{a-g#3B@}^qjCGS>7sS=VxTU>gC~7 zAonogn@KV~ zmP6M}dq5d{pals!+d$(m+Q0=6Y&EG5l|Nc_MMv0kG$ry;k=Bw^B5}0!{H9XB#+^U` zw|r`H-X`6o0~%pjVj9x}s97|sY96+R=WyaVR3E0El-I>Nm_G_(*)VDkd3FDh@v^Ir z*WtkBVV+>|54a@gnEK{0sA0`G=LZGgPLu0LBK{R# z75S)MXFZ=>P zjxy_y0tAcduI_PaC$EONR?Z=^N?rZ{6x(@XqA67{9^$zN=H!$j`KL&HQq zT!<1$o>OWLCzwdKWokM9hCa*4d6k*Iy*6Xyyo@g8!69-Y-l?!$F5y_|IuEyI3Y1we=N+66be^r(qOFsSOI*xF^c;$&xo_FMuP@$H*G+|rI>8}izZngH;-Ga-% zGF%in86^L2hKqgU4)XK5D)uF=q_R3(0)^8L$B0L65M$uC-yDhWjjliMe}EN=9X0F973oRo)hLsPW{~0 z4uc@#CG+D^ETUOo(*9n>@?oM~r?bNVPEG9_%aBHq`nVe<=&hj4&}2W*2kgD)DYk$7 z|6%MMygU82E$>RjHoviL+qP}nNyVwywr$(CZM$N-(mCh$9k<8Z{X66R7oKPAz1Ny+ z&H1@kqFMThG01jKG<<9_(l^(@INz|-GO8Bs2DKwY5~7%K>(;Zul?RO}R1horuc|N| z9Dj*4H5T`NF+Z!^OQ@28EZR}euN8LN1DU3tn!)UP8}q;F!>_5wg%0WS*-oak)PQj= zqz761FZd7M;hnAWQn{iB=H(Uz~K%u(|!^3C*tGaPA z4WImDdq(RzKB}N^e#`a$hu@;d?xb8^_TT)LP^cUw3SiB{`T$01#M5tn%fZ?=zlFc( z-~1M(pGHf0tfvOj&ct%@`1MTB91S2pa^_rEhA^{d{0gkEEi*L?{n!gjfx+1gK(WCO z#Zb#bq#rv2LB$jXq}I^f@V{~ny8UIfq+{F=BJSvw#z;BfV|5gRal51UwkWBT2tItk z_sSCPj`k$=aXNb2%gPwhnpiW0w1&sAT~J;=#Ha}I&RjY?uiF%lhx^P*rGu?SUA$*f;Ru=4)25|U?wSTjJ|eCK2?q6^EWfMxv2Q_vYn7r9HYZRySXiPp-B z8sohVygiArBGRh)DPJk*#?o-M#{BW76XdSZ%_)E~A#BS}nU!RMOVplc#gqb6?*uRLV%>&Gn6MGMj?0j(-4 zhHYlYNSy;J)eeL_75aKwm>YE$SC}9q~2y59974)^71$>3?B7j zt3Hcl+Jo0WO&<`NhG2mX)HaCqZKK)pXmonjcUe26{pS2Jj-r5}AZ!s)6lM*+Q*HH>i{I1Ay&$5uMwB4O7(K)shV-(_ zT&u53YACUfu1|W&f0m$FBC?BAyfp5;L;Y2;I7y)BkB`5^su~_~_#0O8V?rBuN`3d{ zqJC<}yrVBB`dhfPQUT!Xw6)?Kl5lh3Mdc*B77`Mew9F%EKu)Uls+wCDx%uPpz@8-g z2ErDQL4YTXfUsFPT0YBp3hKGPIpUGLb1uB+v%+qt55{(1xo*32;E*Zl{O-;i_Rgzd zQ=e#`QYZRvzoc^vo&cYrv=g(=waWt)r%x1e1DK+{K0B5x8Wn6)L|id4Iz5wDU_RHE zZf$|xS9pK7~u2aaJsrMvR(zW&6fFXD+n5E?$2Mv!78 z%BG;tHF|k&qpRmJ66n4GKr@BU;KvGf>S$^LoRz{PUkTzxkHjq(i{2IQRY3z6Wn+APB;^wRZc#p zGl}W-Sv2H08m9UxXB{jTe`vKYl@8n!%b&dSku(FhAc()P2yWhmS_0Yjboe%|oL@e| z**$ldZ4rH3V&`OjY+S;tret@%lD&O`R})9sIkp}AUB<1@9c1K9j96oIh$t9)+_C|V z@O9rH761<7uA^?TfYtTUio=E}Ibka}-?NYwJ?`3hs={MKG>>9SELG@BKeUVM#`ZWT-mYOfv$cqgzyGr%U% z{TTi$Dyha+m+9`WLeyxA+rh@1OVlie0ivz#qE|+&U38$DF?T7`In}@ur|#VKUyHCW zvq5;b z!RQ{KTe&34%E|qDoep}4ae0gap5JyaAW8;`QEk$ieZ8wrqrT|VB2$M5ch$VB$#s=> z<%_*pA_G|Z=aY1$>9e!25puJHe9YZJS^G8{G0up#Kje_y4yK z(exjEh^ksn>zx0hjIQoMVjQf;7V_sn6elJkkdpE^$u5jRcmm;Ahs7NhHZFYms4@m_ zdT_{j8&od+*|4K~8*EYgftszF3yu0=C~rb$bCfk*w&@FfIk2wrw5$YdFF2 z87;}h&6B1_1q*ayP6G@bQ5tn7ZN0y8w21NI8166toFba>|a#r&&6Kkh{^ z((htC?3MGscD4SNz9P6%XMN_{PHnhLX77LZ}fyX?ER@fRFy^jsE#C{q{*_ z-@$N`XQLV@Bs0jB&fat-*hzpTrEFK`xd%v@b$~5aR!gh2c*8z%YCeAQH2)P7sK7`Q z0U;_#jSgn2eg0c>K$+0#N$f1=Bk*s)T@Sw}Ut)?lrmZFJ*?}0b}u$jO;JRJs5g`&F>b*J0_a+*!{4Z)h^*0FT?xGK zI+d`lIcv5e2j(>0DN5syD;^PI83~k~)=;^+{1eaT*g5D+@MGeuaxnHoIFwX;T;oIGSe?!G_~S#$2I8i<;|)m&}`ZK-wYy8rTK zE)J;2bg7=J8#Qur+;;}Vn20qZ@6)haz*VcD0JZHsiFWP5>I5TrDUB@MX9~&Ft3)A! zYK!<(BtQWCWAvL^hy3PJrUnW**)>5Sb95d^F~CF>$U2@7Mv}y73EqSxM?m4BvXWaK z5oKr#IT5KG7g-de9Gs*wdMc}yMhYfNSLM9^H(BcB!@uNbi}NCFG4oouuEP6goF9Qf zOQkk>fYT6l+nJGW9{9tCbI;{^KJ*3K5=)nXGf?$VAobZ5C?vs-r{hPNqfgbJCx+4zprl?eWvx;k{k}JdT@Tq!O8)>~@H`oN#&4Z_p_o%8 zmA_;=d0pSuy}!WqBKiXZ+c&3!dL4-gLgk21wVXV0$tL`uUZ!Tc7j=Q=4 z1H4iuKflab^_x&*@^YM|tiM!#Dnc~%^s-zzxTJaAeDc<=6`L8$K0J_J3Kkz}8G9Kq zp<`K*)NH`+(3^S=?T2U@9Y0d`570NcAAYEghaE~)ngD3J8;*lq}U zkT3uNaDAIS*VIGuLGqvpc~EdZDg*;Y)ti&A&*&%4dUIjw4=JQb0xdDGv)m|pERS6a zlf)Xr(lFRsa8knZl`0uU0op7w0r5>*)5aj1S`fUnWiAc_fe=)ji?Aak)R8~XLicEO zFs*x>XhPMucK&<7ZQMtnCoI+&#JK{)x{6 zLj0)e(?XP-u2Oj;2$9{xX}fW$t=&w=c{yZax7!|I+p=`-{gQM59L-UOiGPE`{hbMZ z{jzs4R)2Hg7V=w{HeD#5PWEK`vcGSr^kMeE+#CxqiWrmk(&eNS!6e`qt*t=gbKUc~09eOIxmAXcn&T}4P>@!YKDeS+l&iMYNjtw8L zwQ_$C9$UY?r~iC5|KAmdq3u5`gbb0lShB!L9Q9nsEy@6!avx-cRHb9J6jeA~x9PRt>G2^X2`lGYQQq>wq=d=e zS+FJ)^ z`UmZx#7*4yLCTl7yp#^wHH$1=Qinw+RYnaNRXO|qD63lFQy4>%v6QF~)SFr%j-Y8$ zQXB@87!EW9D8s1?mg&~0g^rC%qU;MQ5=wgzduY^vB>FBFBZYT4$k=W2+bVbNQPD=R z7#B~*Gp8&g;MxiAKNO||s+k&ajLaKO0<}AT1&)_Zy6;K%)e9m(8zmDP(z**b(4>)+ zgx2_jGNGk2u`k5B`Nb#Wh;ajzJ^UWSx>T_EMTuN9e_MhMu|RFAF!%^ZVl<1K9^$zw zZ{Bn=PakaZbVA_S(k2$mf8)oJL+Ml`9Y=d48pKPe^;I}s;)e?&clsThJI*ah$$|iQ zeurOdk+?EkM22knwP3ENqoagg_eeXE5;ek4Dq51~k2(4~Il2@N@?Fah`LaT?32PRo z0a|~>gfYaHv1NALMGVkFy z*_PQ_?ViIjVz}$KSnbHAQ~800W$A*$g(Ya0L%ZW6Gpn_M227f?hS#!iwQtaY=gT6% z4E+*sW5g@BXwR}>vz#CFk3}&vzJmKQu51tGr*uxEpXX!smb~PC-s+tRVnbK}n6&taC0EV!`-YPaW6+G-Ot&|&U zB$jXg@>zQ&@b@stQ4Q`qVXu& zt9EKV7R|?dQ~sB=TE3(Xon%4=N>ym)8b2iE*(?GsszZ zgQvPY(PeE&e0k8*65!KkitWVwEV}j|t`&={+pUM#)D`$^PDwk%KstYIe z=Wi_v$$s2UM30hGtsa7~QC=rb6s&@P$2m+nxm)Ucvc%(nFz0+%$*;Gyj^h%rIi&~A z!z+enMe*~x=xCzE5>O$7Ffw6tnp7w(gb9TWDp=)#D%Rw1#|$I~G+TVqM{d7OnX-Z! zcuy%`#0g;|IcHDu-C8f@OaV&2tZ>Nw9>!@=blPWd<(*~S+)S6vn@nzCm&~(9`_2MA zXjiBNXI+~O6mG1MrCb|9FsVyF5AHVc&FUWD%qu_Lr-Zo(^1|SnznAwd-_H3nvhQPe zGPU-5!hddh(_D8Oqz6(UDG=+)h6$y0LF9yv2Zc1P1mdLaf|A!Wf2FXahWBh0J$%l+ zH>YBI9CcmwJov1uIrFZ1VotuO_DNI-LI$%QtPzWovou zg@r=b5|xN{3QNzpM@FSj!V}n4;Z+aq!@5jjIvMkAPKb z0n_Al_5Ih=%Z6ONhebKPXJs&0=8kH z;1dudUf-%6nyakTU0?@Ver=JW^{E(gHX^jL-@R8eiXso5ziw*&tdR?Q5y`{mo!_sy z%dWX+=cFH&tY0?kWR04Y=^oAmfk|TpW4D-7ioKJM8e6cLWnw@9ec}7x2IOCqg+XIs zcI?O1dTZXxpN%5@aR^qZnP5q0ZQgBq576qv66yK6dH%1>pLACyE%I-QQW)}odVv4$ z77wTJzUFEN*A3k}?3SaJcHTw&oW; zpQCYfpU^yPNQg6UCz)oLaAUraYUXvFphD)5X-c25W}T>-RC_Us3`&W%3F9AmPCXX_Lt6^J32U*oqMw>=>pmF+73Ht&O+>vHMt@1NeUU>~EaO z{KDIng5oDs4}PAAy%;q3pgaC=ah?#;eiW&}GzHu-Kah%H5s!DP$cmcLjx+jpbNKAnMxoC7aKHA|f^@tl20}yPBwY(Or~Q z;EnV)lbL)Ro?~1i9}!qv2Hcf4SvdD*Wtt4?V|1cWQ`HLF8Ri$iXi-d^{pgH_?=b}b z04+F2NQN;oEwH*Vul|G>t0qk#k^alJ#9BU04GpU+ zcSJvy_6fycIQty%1C=Yj)J9rZG%3QMm=&d^7|%e#j_@K00_@YZW#ugB23jPGlZ;@K z6gIl5Y~^v!O~YtD19Ox7khVqZLQS273}=tZ2G459W=@o-gqCwmYso}n5l%IjTNAZK zcrmc0!vXs%V)(0o?5c4G-Uq95DL{j>TB0*MhJu|8P=;`q#>tDqEAa@jBDtKz^8+SG zK>{_q$qz7gqdr_uoyM@Z9nJ$ub%~@Z2;(48dH`RM#o8FyB)T0oX}QrW1OFMYi}1t* zv~P=|2P*J@x9Z0>98Da<7m_7X12%s02?;D|#z6~Hc=zH%^*d)R00s$!H`9Py|F9ktWn5*r#v zq1u*cR~LWZMP$sV5tXtqwB?+w3%1-2aC?J4DXmD_@_T@Bj3waIRCO3*#N$5G40~r^M_UC6H`Ll|tzy7h%bR1BA>f!Y zQN`Dx8|dzf?xT>>G3~j1<;~|5Bw&z4K}kGJ?)MSu20 z@IqmqL*=Zov`U7OERSn4aV=k9E=@0~(BM?(u|J;v|g7{-6NVusK+9QWCuyu0_6v;DvhpusY{ zCH-U*B!wsott{O<%BA#y(wk{gh{+6!k9VH2A%C_>H@jJtKM{=I&b8?c;qd`whF!n} z+ZVf>f{(G4CHH$lgXiI8H=U&)0m=f`(2~O^F0@qWoa!7~p0zCqq&(4o#R(->?xHoQ z$4(MVN{~+&^esxFO)6j--0^7Wph#cp8>|Koa8bAGc8@fz(88`H=P!8>6fM1J`p}4d zE?)1>SpjEzdy)oW{0KA%v}@B$^xka8AsgkTs3nxO_QxMqT2<(Hq?)O;pVi>sRb{N zjptmqM(hM1Urw+e1aS+j&V_ulBgkx#Y#et?!V@?@%zMWJYu*AFL2I17t{WVDC-0UU zG43%*8v=WkZ1zo{m^6C&d7i3{D zI9Ty&gsve5#A0Wt(2W`>e5D(%zvaAF6z=}&S)1GlL`V6(F3Kzv0zjNIJ|Ks^Dn{Rw z_f+Qd6W!$}#fbax40NSgo%h$TDuqRQmO-ylE@83HUQ>#CG6gYU<4EoDP{L-7;e2bs zfVcL50di{}nmkavqTe`Xl12j|b0Mte(|IiEH2Sv9+D*HSeR5g=fyvsAfH-R3iisq| z=Sjn#gQf8etdqyk5s-Vy0EPB*2vM!F!qE#gcu_)h=3lhN%}z8hE7nEA{t3s7W<>?( z9hk0(X}#DZCe!7TiGWcKSlL*sT`ss$5NfK|f`!z6;}IIN3n?dE%(~y0YR{S4)=j4D z$M_h{nzNQP##O4?LRG)O@M7kV#KYF0U@K@UU_>ED^r6ub#%QE*r?T~_ zna!|7iXo$S;wI&BHG&Y*xM-RbSc0XKv9RLC_2VJmEQ!R@^^2Q_l|5E34Mh`M43D6` zY!1EA#jaI1?``|W(~sJ@(qe#psabKMZp*E=ycmz2^Ao0Ll7Snp-@oSad**Emg|jr# zAH?F@Rd>XXIkY5)YQbK7f+Eulo_=fP)vj6$M6h1CVZY>^9MlE}P?m^r8S#{{ZlQYL zT*2bDXWX(>I2|zP@cdpn%ZCTX)1@hXBCt78D?p5_JVbXe9}u=~HuZ$)yo?e+zTjNe zn*2Z#QlmKJ-?j)VmlO>wJszHm&AJH+KLldqRMtin#2cTrq-#YwO@Rg;2Dy#Uv|%5{ z;4+VJ1FQvGWJf4MU1lX3o=Q4s{zfYfMqQ4#ZK^x~*ER~`0O^4Q-RO(&a7;4k4q$0^ zp_qtv-TOhUO61grnCfUa-Yc%wPaf(SQfo0ve1}uVTKo3yJjr~3iC38Xm@OW}TM`a`4q+P=(Kr;Botih`boNCTxG zV-r+;Vj9Bna-<`(U9eBR+7c^uIjhI7i z4eX%lh8Ce)7*=mB&Q6V$FmRv+(YVn=R` zNZS%Nw}sb9s9?RSHA!A`vl}{lw9KZnk+~-AI_(di)V`>X8yh@a84nWY)3QLg4j^k^ zfFSS$U5$;Fc^j*~ebAyd+l)M_1bo(mR<{EaP>UidiYvfAJ6QP2)@*| zvc#SndhXY)@By;o-xB2={{U32w+Daqq)YZ;=<|H$vOHsEB!3NlB=6j4Z{FqIi~6Rl z0bBxsUTdJvkO+Ht*-dr^dTDW6Z6(5odE>2sRaa(G6;sTbHA6%#9n_qhir2p4s@BTo zm3u-cly>E0D&;nG6|}}Ni9<&zv1wJt!o_l2g@9)VZEH_zfO(#98e^}zpHQJMx(~{J zXa)E3E8Ksi1pYI}w`~BsGw%*zCUO6@=tFlr1ZnWCk#8wXo;XC$_w9b?U&>#wvFSnI zcjG~W^q(4!{{y}K-^Qf>QsC;bKDxlmN-p!ooqWfnFHaAA_)6I zBw33|e1Du-X^Tn7Wa5M0W-m-L4L} z$n3EP@vP$e*1L1-{D5LIB6?AJuW+N16>0P@O7hxy4GIV?hCgU`9X_j9ZEk;SgZto%E=Rp{?uT>O+*~$I6n#c@1&KCO^$lvp znY-s?UshnL0JKL`6>Ak_fI>LOI(A5K)zj)^qv@bv63|K%mYB`H zOuN?Aj0dG}s0rP_{@#17H?7RKtt|XM+RFY9-S)py#J|H^^h^!R|DmpPQSP(dr$^{| zrV`}<`i-Dp0s5re#DjmSD12tJ0hMNquZqKE#no8)r{{VVF3+S1NpW^EgUyb6#;4~; zs5@F83Sk)|^SNT$WAc&0ib?7!#gvV%`;T&K9aTWzLhM!ntF}ZAV5k5gv63Gzjf+#A z9C<%k3lT|bQvnru7Qgk#vvMLyt0_A_U98 zOw3h$5y_}>;VEn)^{7cSa+?q09Ag>whd@4fk+c9jOkE4XT~SEWI1lBZ`Ph5}FwKUg zCJW#KxU%v>DW!sXRhWHYBw+T+5YyHpM*cMJ#X!tAMqq89YGD82Sp?~y{x@-Y^q-3X&@n9DvWh$Vn`rs4S}n2sLq&D%k~CwC4z-cF94nwj z5;FF8^q6oSV=cOjy08frjOo$Cx9n{nI5$2#o6FPQfo@QWFQD*xHU470uFNt4Be^_@ z1ne1fxT=VteC;RFg9(093@U2e}U&93y^7sPzxuyzC; zNQDiE9rZmKGKZ5XJcT51IFEy{0k~Z70|{6=>P^RC`=v5a4OBpV$a=Q_x>$9X9j8R5 z%GiQ?u$6ua+;VDAT6_m|S?7?FTFYKJGx*AxGpgqC;>kPu@7W@^MKuW}LruF5T8xh0 zZJb<@q?ho!0^Q<|fAFGyI6d!wulf&--hD5Z0X87K;+@a&l`M|7;hohYs+C10fY$j$ zh2dt<@%~FfVVY0CX!t${g5S{;|2)G${+~w2o`F@5or&QePC?PXyzOEz-ZN?l9`!03 zOGU8S?_;%!!u)v{&B(b?&_=EycSz}3Yttg-Scf}8(^rzs86{6cu^gS)xOetFoj@3| zxV@k->1P`w_pi?MNEwWB(@K?pJ_2R=Sj*^@n`^Wl{4=NQ?r%F;G*ygpN}GhkkCP;f z$az@mV!CS(UJ#)io9+M){6N?zBRzl^g52PQVXiF6#S(tB)m3%?LVmzATh8#0337(I z{nVy=2q?k3ZJx5w*(2i)_JCqP%H5YfUiGqZ2PnhxSB^qb^uru&I>Ho1QubB#mV+Fi zac_&!YzymI%SJ?2V-9qq^3vQgsk(|bgAp@vi!DmDE5CeN1k607p zT7f*2c)JZYj~y!YjS+zlQkdej$N}I_Dl_94fjL?*V}n2NRC_-E!o;a60Etw_a3m%=ptZJ%KS@AL z#QjuZDQ!B?imgq z=Pr2pnXatfdZEnOA)A-=620^tC|O%kTDiUj1)JPhj3oFF&eX=OvQRDZnZ|- zOlhu6{93~APg@JX{Vh!b+%yWnC))2+#Hx~#OR|pY{eT;^VvvJl#-WIJB#&fW2IGX%exJ~`r`7yIdo5T$GNn>V;7Pb;pVo|GLi9q z6rv&v<7?WxeJKe2$OJ-dzYdd*+3Kt{rRKi6ckUAJSMw&jgDUq@A`pi9Hp!fGP;E*bvL8=-W$;J405 zy_nxqTzuAV#HiU1d-L_6|E#J4Q z+n85Pqh3UjQe*1yN}$LQF9)2o9grufR|}SWB*L0Pl0d0Upf42YqzPLRR;^~8Ud2Yj zp9sblq*yd&D(aA(vkN(!1T{ez!IMoquat;|C72k5g@d#&Z30gynTsbMQjP5{sm3XQ zVr~a|Z4Zf!s`*d;rDuL4!vkakpjk}IhtrbX15*SQgN>r;jgIbdcHdp?x&11R-fxj| z_5i(+R)^F$^Z|6|hcnswk?N|+E6S9|%34QdR)tyV@~=>LyHhLwPD42-LYzYSR#Q~| zqnbkWKbOpZmrMU0)N5g{$Ii_7PnS-Ts-7Ky4aWDn1pmX>P9lSyBK?S_YGX<$6T~GR z$SQ(=d9E2P%Q@CrwljanyU^LKyCK1v31)TQ_pi9Z$6u)2l6u@sK{}xl)zqzDeBA8Z zZ42eCTpYN#PfzNir$H{1)c54!tQ}P2X{wA4YNws`q<7J}cqI9V9HQgon89a>usQv0 zl<~sy0(N1Ezi2nHiUp_aN95c$=`V)6<^xZps={NbfyK!+d=btZc z&)vxEzNGIkr;`-&#`mGU$Oz-E9dMGU-5bu%_mv z$fC~eH8;)C)-Z6qv47tD@^azn?hFmy(}LMq1JC*S^|LEr8~2rUSA|@zPrYDL(jCeR zJ`qw@Um!`iD)1_f(+azOxGhPrq6bph>H+Jmo%gzL=*anI>0$uf3W78q0@!(u#= z2kRa23-%WIvAXMNMNbNeO(gaz(3;EqtjUK?s>CGov&~&uGXkqbaz37z;HBnwLhzO= zvqji)qZOIy=#N(PNX5mXM6RV+sloU1&|lNF?1u|A%IvBQK8>7lma`9fPE z6Zy4^#-qD}zNQ25U#|kN4+`MsUDFXHO-8}qe7o(MUFGRC&5+gd1Fc~MI5YUkEMmxk z+xuNL?ucQ5;U`9c16AOjyT8QKM8?XaLKw=5wEt3~D^xYVbLCi=Qk%Q8lN7WaGoS9q z5}@JFRT)NA%&7V?yfGo0TdKEA9h}xw%1st_LdF?omQoi06hYS>MDkrXTbS)67?SLy z=#HB0oI13%l7^&?g}t$zrM?UuTgJzVyhD>V-McRfh5R5Ja@o%*rJHNWy~K@Yg6zjD#k7JX z8v@9uMrK(6tLOY=7VD#+d&Pm1Isi9=a{rI0YbPURpqdJ%d7O>B#>UO+WEMh^l+D%= zg5pp$Sj&czaflAnCUM_d@Muf~{FHL(Y6dwKWt6Vek2%IT%|B-XJH}GzRw254C?gwm zckdJDJFYoL4H1Z~DLDxby>qUhpL>2@Pci8$r#M`g6mrmlyIY};+uU|0Qt>+qWfPIv z$f+r`PZ^D*r6OY+qR59o6zg*uk1Ci#Hj@p~%$56{=Ri2>BAL4;&w?A*g^S~XV95$^ zSHy^dMwDT;p}A{NHxs)N>J__daj8bsDw}p46laSAyVtABWh`VV?O?{=)3q&sW?rbB z{4~){GZ3wSe^^+8momuJW%u(r&oY_?`_oo0rx{QX6T=evx2#Ob!tLT1BUDBz*ABCY zC-SOz3KGIlx$N4q7thF&*s;GSg>7X~Ne)EIZIo`4fbDpD6&%=dTNgrSf;?=XMUC(8 zzd1_-t1_;1-z6W#pL*Tqw(IYA$Y!>AWN`L&lp|Lzbmu;1<8@^$Xe-XX0VbJ*Y9x0o6 z^$nKkYZr8!bKZ(gzZlMNz601N=p32Z}N86q!Kw zp0!S$Z;w(~pd{w%1wsQhT*0r;oSoaBE7BiYr-209l8|?9uq=dkkSo7V;E~Lw=9dNN z_r9GU))3Qy1Ld=@@74CKL9nDlA?9~{bW{3}YYnknuE2TP;UaC*SC4R_ozQq=+eGQ5 zRrC>H=}t3Cv|-I$ms(SI=lns-rp0CLvm#Q?ekw@khVbS4#Ux6@v;SHEHVe?}Q65s{ z0ZjR*VGWo!Yb%ew3~+$vqiR!hH-yR7eYA9=i}Qts+}k%pl+69ouafY3ru7WK8VLd> zwZjh>&5;=>C5Fr_O5PV3B?I#E9@g3H zz>G{0;7b=32vT zz^k5f-X|)yM-GNFUtipZH;m4>!;A_OHWBYjx9q)XEYMk>}u)v zB|_#6im<}B9J+RHb1xeVYj$$;P3l@{5D^qL;uSVA_fwn1mlkQ~3#OyM?(TlSh5whn zL39?nAMm}G7WA!9{c}%8@;`_B{|YWLu(vm{HMVg7hb}KEPRH&yJxcKPCn{N&s1lUr zAE{oSE_G|dlUBoHBfkA?$|2$q?b zVF-=EO6p(V85MVb&?cG{AsZ$#7*iy)ulShi92V@V8@)@?K(l)LejjxbOo+lx__9P+ zFN&sKl)G;ODVEuef0NawO$ZhHw)R01Yyr=gO?PMXg9G>%Ac0=3KK)7x5ce&cSkY*j zA462nOZ_*+?rqnCVVPx6$>>5#Nw(h|{kH08e}Ws;2BgiEu@bZiY0DB(aX1qySqRr! z#}U3#Dnv6)A=(>a*}g~47Tt?S&`f^GtMM&k1{b>UlmX>y!4^X`P?Yx{BKU8lYD*a& z9Cxk{TjezmwD|6Zcz^G3>~fuzMGO+a6BzK0v9U_#g1x&gTr0Qnf|NR|FaLF)hbVWt*lc6#3`qS<$(u(g5FH&)d^kBy0$<)0+PBGrxP z4OWEjwj5?N$tmGD=(&ZwseMO3DNvk?@f8?bPF->r%;)lrZ}k=AaP!y~b_f@H(#V>; z%xFfXind&6vcDv&Na*}ClM?Le%_`q@TfxamgtR2`inmNG4$P zm)Lt%o;Epq3G-_e@sjHvNRrjSx_A}0a(_g%Tx0L$kF&v~D*MKG#RPGYJ(F>{)SKlF zJ+lT;F7$R3%nJ}eQ9|@K06U)6X^<`ARHrR`&JE-{QI?9P;&hBxs5V|GAC|_$c?FoW zy@=E3WvxIqnw$j1*|ijQb~wFWA7VB!M?}|n)*Q9}0|$_jBiSSb(P#z}k>_5p&ru=iQ=8-)Rn{En4Yuixw$0uykCA2P~F3Ngb*r0F~leO=^@U?G594E`ipWD_%1= zx_WPSK6PA|ZAw-sOG3)D)3_jsFhdxs;F^zvjSOzTUwx#A7PIPJX`MNUHj+wfY`U`h z;EyMM_55VEGiWu{et&dQ###iQi4Si2`>4mSGtzL36{D%0VZc2LPYCVPW?15l3uYmM zYf_Dc3@CRsMbtIK2|pKq4D9jCJ_8qXc%04B{j|swKo%kpdk1Y5N`zdWSsxD3kX)N9 z!g;1UvmG-Xxwl-NN!%5bDEh}iev19;@2EJF;ti7M=XWV%HP}yeg!=V`+ON#G=Z4cos@+&N!uY=fs^mY zsSq&z$;ehFXns(O3oB|z8$1xvHxn_Z&zUU^p78g`_|B7u+e*3e!@qkUVFd3eFYV#G z*e<}-_CAFd;m+LQ`Di}fz0tZ}6!+xMS#N*S{iYJW9XUMt{H;yh*#RAR5c9L1+7_wB zD`mQP(5(b>`okYZQlK=Z!2DO1xkjW$PDF01YK&y!uNsw&beD-zi4N8|)Lqty4#6G8 zgmFKP|2aMat$^>ZWix-Umm}3-vH5Kab>1@6@enS#99Q+chN6-*Sr-eHTq* zd^&BT4Z0-1iy&0CjH2JyOR4UGz+u+e&eBcd`pi!~UmsM?G?>G=rr;o^LN33n^9?^* zr9$@+KMX_!4#3UTA7A?7NtftQ%8BV2Mk}&{eMjyi z0=YbRuU!c2K~yF6SIOUVOB&?8+ zp-ld!biYWN4;?nmW45f+bVMbXlHBP^S2rTsW`UbkH=N5j5Q%7BZ95ntVmz%obTCsU z-|J)Qz*sa36%P`nz{#?|dcqgsBySh!%GDN|*65aae9p1m5Es`wqAEBtgp3F-S^NOD zAZY>5B18(`)Ku4mqHRbG?&mDt3~1O(G)(%%HglE91)xLmlOn8&A2rUfTc*q0vS1dc zJ|ie0e(na+E9IiOc1N3&+3OAR%m@N@WsGACp>NlVaE8T{Gu&t7ld9U{6f z&Wahuxc4Ozdg^NV$cX|TKg+65c|Oy?snp`MXvwyL*mW>#!Gt#V zT03~lQPphu5JGEzx)wMM(|Ue{L?d#)rz`f5&YZzW=;nM)0vb<)pq#pNc}FU1weVjLYLJeNwbJcNu8a2#feWn)|>Dcl0bN)u9z`&%hfBS!G+h8Ip|; zT8#dFbm~KXv1qBXHL>Jx}NP`2P;ueIYqw1DS|=%yIDQ6ZWspLM;jwl`zzzm+@OCMC-bWd-0LS#z1lv9lCe;b_7Ie$<%ZWK?7CP3RHJwtRl;1_rkN$S_qKfM^ zss0nLd8FH@{i&?m+DRfl12DmYNY&dUGz@jQb98*rCPm#Nt=qc^D}+@FDj|p@i1Z={ zSXX^6Xx#{;1|VHi2VjIfMfDI$)@~vD^TvW64_O&im-+klDSe@M3@qE zb`*(VJ09uWe}27sOy>df*AgQD&sEUWgljwXsezefL4O>EgOo@Tuqx)QsaB7fq+LH< z|5W2`VzB|&W<7=Fu8auhVsz6@{c_*CU9p-Ctyn&CQpKxvj+uF{t6g?SAzcTTw6IsA&oe_>NS)8ODnU?lAORP&QC01v{>q{a<{&Qi)D?mo_x{Tz*#*Vm+M1xdq1*L~K|kupPF0BF zN`y!PI85a75u5YNsWnXs!YIx;=HH|Rm+(e#n4c~K>c4gwl>g;%8#o&p{``%soegar z_5bOy$MOI4hUg(TUlG5#1IyX4?KZa%xyQ!(CZh;YDwwF2nv9|7zh3k^F|s=^7X}}C zb`x(d^a1?T!tsHMA|h6ZRg)G480U{NTgbs@FIwOu@K2OTyvT?bm90t3$RE5r_p9p8 zz>+KQnAY9cTIvXxnTeTw#C$()%|0Tbx=k{4lV>OURK|Eg+2lEDg~wZ>HmJBR-)LdA zXJ^OA}yPugnNs=iWt#N;NVx?5@2vA9a!m0u21@hNik+k8jG z0h9NkclL9S$iRc{gj3@-oI&?vt_1!cd+|W}-*^8qw8j6guYmSHUcvtb2K*S>+Wsp; zMwgz2o#mgLm6Da^V>j6TC0s{8hA4n1sp|x~4o}!hLBWDozg}{oGC~AiA!TX6X=yt5 z?X^eLgVL%cBhZgE?Ro3DbG!e<@f%iv`m0AFaV)UFjFe>rMXOMO>LeSylegV_vF%Jf z+LmZVL%f*T6;(i}Z53%el5p-MS}YKBUv;=bkag756qE>H;tUxk6*0ljnEkmC2o)`P zsK1F&(|@zcvi3aRN(>!Tx;)`;hFA#3<%ktx2H4-oJ*L~v*~fMYqgZFaB&qG^MPJQ)88$-awq0iwNWu|m zUwKd)G*=2`_A32~#JPtBeT|bwAB6#TozJhh>=bW>9l{9Sd#-`85{DR!wsPU}PI6pv z-DcngLsZj5jW{U4Ur3|~u4v){EArSOy(uzGBEG~z%$45|rQb1!94msSr$McKiGt>_ ztH1YV!COoGCKbB&_*@56GP<~4_3HiOLa(| zF_TNp^kp|gfIt*)rCGu?3Q0Q~6UUDZXIgl+Xojc_rc!bBwmnQ@ft?8)MvFg4o+cwA zFO1xi1QLIstX%vGjp|Zy?1vI=nRs~R#GvB~GxAV}CtWZnK#jChJ`k#OeVfC;n3Ur_ z*%g>X6B#Ae7#V5o!^9_;ex(}1P5L6e*sDkwY*OwRhI^MxOrxOZh>c&8fcrv5+IZSm zsCk#BZDCes0>jl)r!9E?{Fxp0_3$WbjTG*aw+OI`{3V$}iixD+M`B0onI7 zVi9}cZ@Us6eAbKcF|l-zlr%e##3N{35vC?K7-KMmPos?1i5N;x*Z+*?JkSMn`DTEJ6VJz=GM~E(b-r{Yg7~ui)_e71`9FGt(nSt755Hpv6FoG zn-~t!v$-&Zk;MK=#*QF)GGX#!2&OF$QgJYpM-4Aqe65Uzrw8ZIEQl1_HK ztBaUgk&79ZHEH}wHi1H6dJ{?`L9qy^W82cQxXR=kX;E8fgCy>1ZAausbqY-ooB#nl zK5dSb8FEyiJQA?rR5g)6!k~-|TQ8=*sHbwiO%A2#7hi+a8u0?J{#kOB-}bA^FevB+ z)d)UXs~o?w-!Ic|8iPp?N0G{WsSo@8+KE^R;_qUI^lybLN{K{=!`5(jYueAB+gXsX zh~grz4$@4(87!wf2^fUS-c0|Ic9Na|@XK9dFVH6%)D!D&#ESjGEz@PQ(V5F4@iCp$ z9Gb2_;7@X?s-_u}R878813`%+V0R`3zfe-+n~&5H`Mu)b*<>zQyo`z%_JqoDEI?JET} zI_z)U2;)^UgY-X`$LdHe@c%BK{`o$ zo7v$llx3XSSgh*ToR2U>a&edyU2E&*I5_SZlQ9WAH- z5D`s^KHBr+*td<$FnQfbW{(9-;xTU5MACI?_3D-6)w3ZimNWrQP8f?I6t=>FP$hXK z;$uRkZAE$qNVlxB6SxZ+q0%SrHkVhsxe%b0Ealkjy5{+}Xw%!_^|Ir=YnSs3FV`go zPWH=eWJw5PS*rZy5hIlCi#$~qXF}fHvI7WkTA#1vVE^{u{>m9DRCl8@gmv_=ruyOC zl`8S1RwS@;|M=;4T9`=+&j5X9=MA~f(*mbu!+ZymJ-8LhJ?`{G7#lr8e*8N@r5IA~ zea@uXrVvCxPQFtAK%`(4k+)D}!Q9x$(Q9bbR+=C_5AlS2-^e&^2Krmw^Ol%3aUdM})3tf2cGmL<6FKHV-KfmiNDFXqo_94hA4kE5`IzNIZf}oLzP1 zwc=E8PzV%pc4JNBuA9e(TgP_Z=5#tsl&x02K}GlI)E@gu83SH)H=|bhAM}|eJw#yy zPJvTRn~@A{QE)U%xx<2!o>~9E(*qG#PWD#XrtwV$Q04m|1i*(4nbZ%59_TaI1W*3n zFS~V8&Qx0cBKDd3G6G9N1w9VRq!S?7esbmTE8}#tQ)yzgYus5!8P(t;|K3cp`1>TM z8l$al_*f(pO79eUb?rTAE4YQHa2r zC1vgMlCgTxhD)p9mFYhrYZdvcI8k(}Oiz6uTWjf!Q5e}Vw~Vk3^>@Mcq0+Bk;9{?n`mU>@c6MsP=fn!^RE9e4s~+2wsp{T zH1{ypb^M>eD<)QU)_;Px-ip$)MD)4iN`$aNO7YmB@Vc-mWG1WoQ^5|kArBoL zbqVYIASWWHr6E(xY;sZAaGslTQhKbXl3dupTQSqI{I*Abh*HzMXn%8qy~94XZ@NWt zzaLF9kpIL5?*n>RGt+-DzCBpAwEv>F?NHi=x|rPbW5%N`~EZ zW-H?S6B@3u@+v(Bp5!vhZi8W8Wr@kR^>HkdM&+qMfEG+bN zMCzp?)qMKOD;*#qsgIxc$bUtlh5tSZwXvW&hKr#2SWa-Bfmfl{Y-yp3Bh8_$U3{(b&q^@ZT`&KZ61s^c{@<0dZ9;Ny~2X!T)@d zDm*GI8?v6MSV0nYlTDWjGOltnr;bllLc8F zS}4L4YY;6EX~C$u_5TPNk49DMPQT^jw6{Y^*0&y^WbJ)fqe-)BnT4%B>8jeOC_ydg zLWK+)B6W3je9?#Xy`lONXR_gG7@_S^mma&>gD-YxBhS`UX;_)!0lmk$zbBv(^tvji zHG#iB2WNTQj5u-qk=J^)!X~2IM9YIb28Fbv@4D323N)Gg-gf|H<|g zetbIr`1^jWJScp9?piy++v9$xiTFfbEFLS4^O9Bo4g|;p0{V;9Ue*LY4iq2hHhsTc zYW!E<&sM3agaJ^@&>9_N4?KVr0GfKxK=8-xGpSzR%pM%Q7(?g#9=9hO)&mW}tooRK zm@nsmT%w?O4hV%B#GMO75*%2dStQ?1%>Y1%A0SKyO;Kuv z+)x_XK^c=8`Xxtz>A$}GEnAR}UjD>U{}*{Xfg*ZbVh4A%ZaTxTn2IJFI?oU|)Zmrc zYLydPDF$(jLM7`ip>a8TFsw zc7aHdIZz%aWM~#O{fHSGXm1-4Z%pLGsfX>pZUCkQ1Y6IzgBNEA>hh9-1&#E3>*<*V z9&Fh__!MyyVWOV--@EF1#_fWZ>!jI9NtiGRn5wiTYT;!{js=^sMn>TfO|nC1jy`6M z>I1lPPsx0PO2{@aKdLM$tv}GI?QCA@wXu6KQ3jrZou2LfiCZ|`pCJD_M9gY$c56R} zsN*N|_MZ>YKig2T(=)OE)9NBy?ZO7D74a*#6#X=nxXM^Ev#9xgGPUo{{|d7{Fej%3 zybOip&ds&`*r6Iy*q>*N{r4)_87uKiL1ZAIA5vAy;67`sZOHpORY6Y1iR}o!DkVl5#PL*n-poHOkxKspA(r92RNUeiijH16gN6 zlfq_prKqZ92K?k^}wgq(`@?)pNU8*UN zzJmd&$NMIw&5czQhDWID>}-nsNaJVKA4aS*A#|2^cp2LfXCV_j?EC1wlNHOYgxyr$ z8p)R%vFWldZi&!2v3+L3v02RG=+^hbtd(GAXLuBfIhWT>2|5weS>M|p4hZH&U_%kY zo0cAvE}Um(4x{11=^}^c-7B139_2}>^#71Z87{uzG~b}>`?Wc1oi#He`=c8%CIi1q zB&(EqlqbY-+zxqw7_+U2jR$}fq;4*}De*)$Az~|6n$uP@VJxwQVG0v2ELEl-SZPjE z7C~&qLqwj3lh-CFK?;uH!n7i@aXHdYCM~1FBWfSJuwl=80{-GrIz|N-xoOBjibR(l zd!~OvJ5a}>mpt~HA6}}xpP_<{G-`&Tuo^BuP6T<&uNJ%Tu(P4eX3|9J0!U29Gh#1j zTyd94(H{}DEt{hR5c&en18=|C=I~j4>ewAK?c)Ah)3`V(13PvQcM~h~B4iljqR471 zP!CBNq;0RpYGjlj{q%e!?J!ut6(1r2m1ZpD`}xK@%VS4GOolKV*!%V2dqo7$7vEkY zZ2U_0=rj=Fr-VV~Z-MB|I-N~8zmQB0StuXKwtd$RE;83@s4E#%v5&vP5lbGZ6FBPB z*s5e^4cjI2gt>X7rL2CmMqz;GXJnzm$=Puf=Q7u6ap-{s8+zl5grR^XtJty2JWyyI zou&%W0Nau#bj*Q-fJ0{>geH};6Kt9%#&e?3Su^MFj5Kd8gqKygq(1`GCWMOp+mBPV zgM8hqe#-f*(8b;U^ESq&qAD(Yc|Bye8{FmSwD?Sk$9bhg;$*AJf{o9yV|w5V-lyWz z(d?Ve0RkOI?iNMpgn5wFBj!*>)_tI_a@_1}vCuWSMqJ6;=b|Q5ZC7TKRL;fPIN~|TUeA-|;Uh-S zF9ynby`7bEd308`*gkK{ez)_f_3q%bgG+3WmZ zsZh2|6Q8mt{k>bYX1T3W6FQ(Lu>;m3JW)topiAb^7Jz(Bx}z}Ki@PZp%dqr#NjBgb zBl|~osH=dpT@pDqnqR)Z0HS5Mh()HkB5^LWzfkeD7OhIy7avE7c1LRttXX)gDt3v5 z=1w3D{p_O#TeYr)cS0v;t(U(ECm#7Ui+jfDkc>6MW!@YCRIX$L5r?) z2a+lb?g7nd?yr1t(AQ;LyZ3oOwK`ebi{0}oWE>z^0j#;f5}yE5Fc3spsycA*)95Go zD+4&S**4k$D7(k-3@l90E>F0-x73>0wABwRfd0QE*S57-+i^J<`51*g=<7W(OpdP) z*7lY603o3Q0LbMU-3A7``mz?=>w&#aap?-S_%oUI;lYDNgiD1FlBO~&y zPP#+E-I$9x4YmPQ?U5)P8|?l?woH2)@AR23e4yu)bjKVxzTbGb8go zO$5^E1t`e@>$uB9N|v}PO7mQcjolrf}A__eRpqT=kPW=z`J-;n(KZ> zF&ggLJ6bpXB-u&vF?rGXE*s0;^+B|ue0(+yGwRtv`?89eoO**t%cHZ)tMhGlg1q<} zwr&1mLGUZx<4{MayYg-c#`pJb2dC?5814)&Zij{g5ce8~m$fa&Gai`P%^@H9Z_mDA zIa1gOqYiE>9}vaT;^x~O>p{z#+Ffv4g~3RiF1Pd0t=hixopaZ@CeZ{_g$fz7Wfl;9A@6THTGm`*SLn#-d$KCs8jSZM@M-7bjgl?+a22 zlG=4kpZT;}l3EQzrCu*3)DH4?{FOzhT+aIs(iLX_(_o`t%e@GdvN>3F!9MO!qyJuP zwOKmobN@(7(oy~!IHCJrgs*R6r~9MkbkenTFf=p&LHV}U?z&d`2D&c#RzG22>~yS* z|I~Okt6j(tjiY?^%E}Y^)){+lfWoCg#KSWZ3mJg|HbyiEm7UUVqI6VpC~wp4EK9uO zj~gC=+>^f(zs;1NyKK@`xfJKk>s8Er-e)U*?PC$RIJFSP48>%nx)whzXFH!MR5mpX zpVOwkxW+QnE^kw_uWfE(zz0sDt(;k?)8#g-Ypd^`aKN<2PPkjc>|R9^M#cvpBqlaW z+C$I`%39JK2<$}Kic8|xI3?GXyUN}>Pz(Rd*P4@U0*h!aaqJfIR{TYplnSfwdq1= z_sRVdI>H3$OYyjmunMZeB+bDhXymB<;G=#r7}pQ@h79WTglZBu}$VGhdA3KUb44@UhtJb7Mmnrfwzu-c06c?{Mcrjpzju|K$cWPseW`KuT zrpZjWoma&MJ}qn!phH+za?sL;#GY5DF%)iiFa;llNrlMtgO}UB3S=@JPp>MPOQ!Vl zLoZdhC?h^uD(A1$|9ntE{Pi-tqtC#NSUc!YaeA zDW|`4_d9IXz-#Fy(&yWu{YSqSw(blv3xy0nBYydJgq2k~@Duby6ir^5wJcp@51Xti zx(OgcZWKxqVjY~BFmH1eu9Af*^%_fyLY>G)10HO>My^gD^&82*uV0G959!Tj8)EP4#G9I6$w&%O6Jew%^g*fN0Br`XMDIqbO2O7`@9Ol#ZR%sp*Sdp6_;PK5W znU<_$^<%OWgO^Nbto(k+JUKzNH{E|trB~#gfEhYva9c({ZP4BRzOPC2k)Cs^zx3d$ z6m+OM22dqn{9>186sOf&716&81=q4}b$m=gJgOIzN2Km&Hkfrr&@WRg$6?L!AN=id zN6w@hv+u6D2JI*kd}WsausCw4fB$U4z>^^pL%KL`#qzG%Xgkf0puhcB=EF}Ao40KF zVcDTuk-^rLol7{8Ih1Mb_4ecN_#_ht`-^QYWmEg1#kkwoXEnm>d;jm_`N#dAk3~^b z>aQ6cw)dmJ&)x8Bqohmd*VMk(7AP{P?~*z98b@iAc1bDVgcP~oI!Fk`fX1v(>cs0wgt1KW7`?AEl?0lisMqr z!8H4-0^Gtsj2IGU_yf62FvHxvn=bB<_ zvX>#-EM0I}Q%%EPT3Ard3HE~NH>#)4w=dVB4~aTA*|(^c)wIaJSAG-Rt^&GYc>&*h z9rO#+2of%K%^+Wj{Hn)T^qn0*kL{=hj^p7Sz^n87Jw(|0!W?DMlIDKZa&nB{)siua z`iJO-3|Vl;_-$QZzA6AO!v_O0&P=vE08QVYDru3a<#%CYlkxDt2=V8`8AUZT)W)w` z)ttGy`NbH*0kuhSdfa`*+ z6eT+fyK7WF5&tXp8lx-w+e$EK;Ft3nibmIws(a*nAg$FbN2jo#c3h~4xk1GFbtsaH zFZSj^TVVB}JOj8lal$4zClX-}HZf3fk9f4;)aJGbbgRH15A2lZ5SKMx8P=s!*9t2H z^t;uD(OkopN+zldOWQNhYEnB3Zk=`s+hA+j4&vep<4|O-?_adwUTp#2ue05**u!IZ ziB`t*7~4u02%Gyk@^v@~Sg~eAm`0vkXV-Flu>E~rDe32ITx&%^QRg`k>; zaWgu}C>cZJbOgQ^sc!iMHOK^PB3qssy0U{60zTeU*|6S*=qvI=D6D+q7v0s|nAY9v zdt7~8Y~84hT*6&t?0j;s~ouf`&Z)mx^fg&zX=Dk)o?MwqQNlH zM{)$aS5CE;)|gwr0gOI}{(`y*niq*ia0d4XI(urw;NSFlNt0}G!&J-+@$6(p`DEEI zrQ+JAWLW=Xi=Dq!dBj8cSO;_mA+@OB85vM9a7!9wmi5RJ#xcCTe#?}HF2jZqa~X<= z7gea1X-_TNHI3!B;`oADbRFq^2#3PcMhDPjhhD@KmR5u;n7DC*>2BQqQ$biPhb$>w z&`V$Lq}AUZq+}wcDI{J*QK`B<0;s(A#QrQVQAd=Xj11>l?o2INYX z=8YX;Fsepzh$b{^cwWIn3*^whhQe zr?2%-=nQUtWz{R<)?e_)2|6oWtgQDsLl&p1ULvZuFE(PtB}Ic3VEc^Vm6pYD8nqaq>$;)>tIY^4$og?NBHD_POy6bgan; zkNOh#l#Rp*s_rpr5Mk1VYUR3RLo{0Cf~-ovnTI21)_EvI)%oV)f==U<;vK4oEd>m*bBSP2viTgsYtO&MUT{C@SY;x9afXMNyw+@w)?|SHs_hMZi~nJ4`tgX z8n$za)haHVb-Kg#%%E{1^qV3U=$gduy;d^mQ7WQuspINezH!mqMQ7J_v-FDS!`c}( z_8VzMb{IM{WioA@?3oOd{sW(dBoeCWqLRu?HMt$Z;V96i5i)Qvb3XJP82St4N}|Ym zZY+7Vjmq-YsRo{%4eRA5r0{+JYTBoNg%EO7cN?kvkY2j(os4kS2DETNDhI6zqKy`qLn&=;!tN8QZ)$8N1^M}{-qNek00IN9;BX| za+qIUXc!=bGh>in&nAGWRGxvO7yX}GfI#P>K?E+m`P!7$ksH;}yKycvKH z_mMZBL>0M#ykeBbY4YiJO5@)T7A4ikOb_vEYSC0D4$&L~({?28IANJYU)JE2~G9|ep(x6kJx6cht6XZL4%|qM1Z`jYq*S-Ez&YWU(c&XHl6Pa%k0~ z`!s6Ud-QKv3|EwZ_rj2_P@e*(R3@V53CPcQ<>Usa6n0daSNuIrOQvj<{w(purgLqDSAM_a+lzkIi0COE-E##`7%b>yR)pU0toUE8r+yd~95(^WMZCk4e&+9h?@ zk2-Sg1Li$0cKKYq3KH?vAZzj-V%MjTwwfy>;ud(_9ayZ1K^ddH!6*@ z#^rV&q#*2yrT>!=#c%YaqimDIWr5!z>>hAfGdCLviaAIYRw-B(fMv#nh(Q(maLQD$n>28 zbkvbbm$&TE!Tgql&3m{zrOl+=KOCA>#mRpwCv|(K_md@^n5*uwL zORlMW9(dWKm1`8s4eukce7$oC0^}9L>%05b$omZ>cVG^oAvZCX@s1%W>91*IP{GvN zIJGHP{POU@e_K??lmFvWW@{M~Z6MzO{V8F)6-CKdIZ~@yN%R+{S*00r z`8>}PLaJmY5o3~C7XKJDou6TMoHC0F2I7;s4nKfSHAM3(C=LZ{44yBFW44dqUeK&> zAt@`#2uQ&M!!8nI4Wn^}XEp792(c=|Z~O_#mykDkQ^*+oFQe-%VzL3GmJL6WL>M8cSoo}VoF-e7HX3l3EE3kt#411sq@m0^Xh1I&0GvOX&xI2DNa;?Y^Uz${ zAp)8^CM0p%dLt8bC7~yD6r_+!tV?qzTcWU)9(*EgpaFIrJDulw0~$+7lN5!GcJFAO zdN&NM7@2r$munxlA((10`(eW+5XRw!GqXycF~ z9oo3sXK58H`6AIefg^}g0-tUy^e9{b--AiuNNfNI*#;U#5oy=)-&K|g)q&ZQKyqbH zm#gI8+CBwuY100q!F7bXVO>kRH5U0mZRi0}|04-B7&Dp~lIM;nz%%<`^(feww|{7A zuML$c57v<@6c7dP$4xTn5y!y`dXeBA2v&L9BI!fX;S`)kI$xq1rl7$|Hr~>30_i2( zFTxo(?;v#oef%KM!CZ}B;>PUYEdIjj2do;w5PG8HC|4QG)dN1BiQ+1u^!v&?XvS3) zL&O}o2pOcyV@Ox%I=F@T?8!qa3r3SF0@MoT)(|*H*cZ~aq($OEOG1Pkf%Hjc6)pL# zDHNvI4a2F3n14#J_XPI%?rZh;==O1$MLF3r)ko?ehp81 zcPGj0PO=V8Xgbx5=LPJ_&{=mQhoG~&?V-ijdl4@d78pzLVD`EZt<3%sn$8Pw9m~0P z^i!T6nddK^Su>q501qEUgalxc$a&vucVg?kdy5Uj-KJ&qNTE)6ACAuS zVf77H{nQ`E4pIf`%!uCl>m!6FUV95iOdaEV)Fkh7r8hPE6vwHuH;^Qxtl2cZv&x`j z3M3TrlZUq$OI^DZcpw?w>DR6X{Y7oX@*BDJj){p^3WWAtBw)-DKqnFVVeJ6hq#7XLUY-Y;o||2*4#w@5*XKX%k(}=NW}TVss5p=YgJAQ)=A{f3 zb#UD%yVb3J59IfCp`Q2MM{2@dM+n8ga@z9u`S$a`^bo>aFOs`m;~Jx1c91gBVtn_U z(q!5)byeI!eg`&64&=6fSJ_`j3p&Vr77%fNz{zj8(`RE3_6iHWT2yG({<8i`?0-Z{fC;KoS-fHZ-LXl zTo{-FF9WUl4uTO7#o^J?bLE?+zY`PY&G|Ter0V;Bk@A zfyUMQlgHGO=8VgQ2vyXW3GSkm3`iT=F zN(lc@%{0BUv7M%M$DD_myuK6MH@6i*heK7ePYWj?X^F^|M$G?8blWpO_EeA!L7Vh~lEOMzWv7i`GHS_=G zyPXaLEaJ(jDUChcPukNeG{)0}JJjXAxM3c>~!l#DIbSC9^t-_>uO+|5uvX|IJZ{o{^F6pVm#oO4_y? z67b$XGM+aGBE$8#Cca#)OHzC~@(>kkMPV$iKFVj>4QEgQf7+*7l zDj_WK5_&0cTRfI6}0hWcigZj&JK}vYBHq_6|lU~@|&o;x^jxt6+WYtc4Zo!e0{+(Y``8b(^q&7zE$>< z&P&ckK1IGQh_e=^Jo2RqWxz*B3fzEb`SqT_xP>MjK(l~S!GR>H9x*%4Bwq>%D=0z{ zTU=Rj_CQ3sz6-d`vkDaUMHR;4p%t=@*mXV+}82Ltie#w)k zv9OY4zeF5<*;{~JJ*c3!3^clPo`Rix)?KyghUUIJvDdWKv3Ama0r8TH?Q?E%yRTc_ z9g|emlD{r`!V0ggPI2>%h_kd|&iolP_rO%MMBMGB z(9JVZ&-NRK8Y7N2UDWR&gVepkOzK*F2k`wX}+WPv%hfczN5|ZiK@Dh(*CA-qY8V zOg4X(ZVb^QX{T0~aZ>?L;O60m?z)B`?MjN!SKj1QLRDY1VVl%;7ELx$SkpKXl|e2l zQBlvv)-%V}^En1MTyG?bC-_F=W=#@n9!^ODQbAss95(`VB#{)hKpzhXN7M;3gOI(U z91#uNsO2=guQ`s!HnI;BTu+Dgz@ zc#BmgYvzwF)oj@4wRLI0xmNuM$M$nag!2blrxTuRO5w0mPe#v76{E|+a_QQh^~ z{hDiq17J>B)&pn`uy|^d_N`?f5xb9$ld^@nC?xdUO0CQ)PJRjhG1G4CiPyFVMSc;rbB+%=!~qI}rxFSU2Fl2iLV@(^p$CRCEXtMdE;V z!JGn?a9cI#UVK%P^j5J%hppj!t*)bh3KB0W#Bfsrs4w z*Y-&db+}(6?zjftUymg5i%fG z4Bb4nPM{!MT7bq^EJk7xCsxkS2s2?^<1iq`~!Z}m=MYqo1qi#4X+D?zj zT&-FaCP@h8AozO8*-nZ@t#+up|66mauK0uRe#*ZdD?i)*8%yi7dNCYtC5Z?{h6%!cE!y}SyO~|7!Jh2my*t4iU z|K9X6$JZLf8S6HZIKsY}sLUb^U2UF* zl2WXoOp*_E-HoM4Q7jI3Y`*BHWejMW_Boqx-J9Bg39ejQw7QUsCLCAX&hBFuUfx^O$n7JO`z5OCfiec5 zhqDG#(P4FYy}qITg`C2)nx{g3%5&I%Ezkeq4*M@J!v8O3W@TVt`X?deu=-Dgw-~BV zuCD#WZzyC^zi4YNS#<2sC>UD9nIMBZk!Na*1Ju z%J)b1-F7^m&zMuOU{NP=QH4;v6p`V9DxM2=>Z6-<8*LWD{eI$)YNz-N~_s+P-CJh{6t z62$}(auw2Vhl>)@S?a~^qG)asF+bblAf%l;@|+0HnxTvBbIsF=7KpFag%SkBSu2G= zITjpA#7mIB47r-irK10`Co1i4{>+i+Q*(QhZewr8?}$S2AOeYI1%wSS$2p8uI;2A> ziZX(lEv_LzFr&(U{W_MyO#iiDt;eH)F-c6qO#~KnSarwaKZje~B5Homc6p-qn6B2i zNNfy&)&XV05%Cx)@y9Dt*<1w5SW!e@IJsOa%rrQ=c0)M~wR(q4X!KEJ8g0~(h;Le= zkP(W#ln^L*3A{bXeN1eh8=h1yJO)HLEs|21Rz_AcPx;_}$kCmQFpL^Mw$4AG$1x=v zL+wv=eBF`-OYCOc9!RQOm**J4G?pNTISba%X7H2W z3`atQ^8#ciqcjgVrQ z?P8EowQHO#BV*6WLA7~La_f9#>JmTGj z0?wfLeGH{@i*~y9n~RR~_CT%Du2I1%_Z4nvo-{uKEF5r37Qm8Y$iTc<()()KZE4wAjh0}_82h7PdsdO-iaUXmoKn2Vmkrn?; zgF(G|!#UcxgO;yA+#AnNA#2fElyb-vJ&?7DxF(1&Ed( zJ%0d(;*cSJ;+Cnw9aDL4tlB?<(dtH1DTv#@lUF0Nq0Bl0$f{fbrmaWwQ;ct%_NDi^huKcGch6c60u(?isP6tN1>ueG#ra~GWk1P z_`_0;m%>-TPhpAFs(6@jnX$1x(n_OCSV09_H!p8ETqmim>6q)Y2+?1*knAU!F#zG} zJM|~-7zW2S^Zs7V>Rx`l)$;#zzqhD>fhI91btc)^n3f0bXH-X2;tyH8bh;7B;l59t z35!08n>xn9>P^EsTcf3n+sgH3W=p;V{rcsoqt$O<&kDtk z3h=X(gvfHPm?q%dnGtdMWNQT=<-Sk^QfM( zf%NU%g%m+*NYwhI(H%M6C$?)^<^KGos(V+;Rx{1fmKwHzdV)%gEBm-n7{ug4L@8^_jdb+rjx$Z6&x*QD`o=n zWecbU_w}o*nDNORUX&5*W!wZ3Z5`XAeL~3?-S}39ZGQJkdt#YlsLL3#2v|-9%pcn0 zDe8UTtrN+)A+}lUUqV{bWhYUBV>?Txn4u`SN-gEbR$b$BI=yDCr2AZ6PB6Vi&aMJi zyX|3lvs8o;Ub12zntHDyD7ib&Kl?*k8*FE*HZ7c^)GPOwPW9VeSN~`mZUybih%Y|X;^ z?aE@!Js)*-t>-VxiV%r3kX&cw&J@NDLdz{zdf{##DO*_+oos)ZG;_ar9?u}Rn==!r z1b9DMWmi!L$K!{b5}dP)e%{mU{k%vLzHpNNeadlDEu-~o5YEpkrf*LexC%>%P5PQm zH5oz>t8uk1RTYFTY{MWQRm;LzpSq7~2Ym^qHYnQqnf?oln{#dtZfrt#04Cf+4egPs zZo5kG>QC5Zk+Bq>>GGUC`^OiMPWov%utYQ5`MAZ+Cl~9Zh+ioy0>;=z;a-qux>vX3 zi65r|tX52US-ciOX}R=E7&S z;{BhzF{n;-gt#MyxT8cSOAL5HdD_{#5(g{g*Ub*;+uc@JuLb|SvGJ;n8s3^NFj{a> zhs-Pmyu2}q-NS}+W6|WuSC^dI^=n!MI`&OG%vgFMyf<)KRoIk+Z_R=jJ?;z|YHyVs zH`IHdFRytl#kvVKXA1)B*QPr zec%7(>XGfMIm4`x;YxKW26N(z7HuvDXT6$5)!G`WVVWTQB2nxo_n~T4s|<9mm%Ut< z1!m6FnRYp_yvosGm_5k^N{eH&$-)6iS-SHAbdP=91YjbbhxuhCS_La&xAi_w*lL?` zrvNjxGw@nIu-YQHia5R>_KKXol1PYy_z|b@^*k{E!(n!=poQ-G2bQD2ZeD;{VO_Y} z8^Y6Cc;Azn+$7lC8JeXlRVBy}O-y$uyna{jN8d&lcRoSfnD%TnUO*~iG&B>$y5GPmkAAOn1tvZ~GDWrsl})L6*atpOvWYwX2Fry?&)_1X~Uw7G| zNnRx5k^2yS$qJyo!Y{IqeKZ#LQ++kCo%KwfkNi2|v!|*HJ=s-XATE_i;=hr^Bc#=Y zErB=6_^@T!0hlHBSIuM%q80)(EwgRweu6BY;0gGDXXd7q@(pkB=(+&$0kuIuYTqdw z7N9KviT3ey=(RpX3Uk+4CGw>Y8Qe!RG-hQzrQhcST9#OT(L)Ayt za+LFjDnP7HUONEPFdkN-URlVW8j=?QTW{_}n-Y5ThAl9qj^e_ zF6%T#V%X+O$FHNo6$@LnC(S3E4ABtwteUl-pmUdi6WYgT3TGh356xX6wrDp`cN1n@ zaq8}zo3Qz0%~;lpk-?{}>mnPh?u*)nsl}5>T(nf6^R-L`;m4*yk5}_c2o^_5NF^iA zh0zt7d9VX=xeW3{D}OVT&Cz9&)*-%zO(U`sTg;$Q)1TXxhhle=uw(wDU5x?)v;KxF z>Xp~R8ai_d8oEC>ys8!Ms{3iNJCryAee<*Y)0V@8(5%getr2DYvU4tbm#-Y}$v&)~ zhQCJNxtE==h5|p)uuo0unj|x4=F=6rzmvCnn2gEL)d=^vQmZk&SNe6mB=TW)TG4*uxJf8?Sq24FJc1*~@ zw8wrxg~BjZ zvaUTKd;Xj>t7(Y((+VN_YTwc16rzJ#sETwMAACSz>Ll=9|7jSIXC>Qp@~%Vi=N!J?oZOEmV}vrTwYc;Zve<<&>cSWl0$N7NyfRi5PERh7I%F z-h?JRr!p=vA4F6(zppL|&TEOvN`BMW$<#-R15|Rsj{MWt&@RX%3vVzySsap9_Bn{f zxISt~#8b$YH0D+{J$4nU5hTRy+E5MH!lbvClr(V^|#z)AVa;~bwnf#we zg?U&9*SBb%>W`Q9IbB&>ot{xkyAP=M)4jEz^e~QUxWp|*X6pRLTR*8-$88d3kp)+m zrWvqq_!LK2C^t4VeywrJ>P=LtAVakqADc}MbL6#gS*4H3hW*Me@?i}m6D%J4;^L_a zb5RVFEFCWq-{@sVRPCj+NRP0x65R?h45CJpPUU1ZSm|SMW}%`Oh0Av>6?#(-!0tmj zPGTk5hRBxZ+w%{TK$mu>0=ObpVaY(ccXsm*X7uRYYr^&{8}59kSVV!;vt>!X_mwjU zmhSfa`a884ME*y`)wd<-@vo^4|3%%f{|hho|CUm|V|JMTG2h`EGKXmUMG=4kp9!GI=0n8I6 z%xc0bgS3ghr?MvAhGj=DT zfr`(ly5& zAU*j2xJ0r|4hJRt;ddz;?3{NYU$*CJmb2+}_MYGITT&wqs6R<*5Ezj(Tzt{4^_?31 zD>}=rP{CS@ar!|fA?yld5$YFS)T#!V-$vfP|8=^8d5b*V<_ge^q6u+{%LvGZxRl}P z2*K{qZ@*ve2uf?}Dw;+q(0)y{y`!PhlB+1^Vqr7+8n{toc1V!-2e@{QRQlaa$e5$V1g`&_~8bLDN z`ROwymLHxOmdcSTp2eHBDt1{cj(c_5eFz`n?D|17H~p2RE+j-(ZR?CVUyQi9$%ZxQ zWP}-E)I1vTvHNTqhrjQ9g&9jEQSv+_$T57@#q|cbdI6d_{OK}>1G5dblvX#BlB!(7 zs{^NV3suMbCrbE3SLjz)iwDU|MZJVakVc`#lxvK6IF`vLQm>&7nb`d`Xdw*#`c@i7 zLnP05KyhSV_T}B4=QGwQv;KGO3PehBk0yWwdaNK@v&<0Kt|u zLTWsRl(?YlP^>_p+usJ`@llTlpkHaYxVNh|_>Tjc6Il=|VfC7UL>ONEtC88$>75#xpv7r`4 zMfXar{hVN0pq5Y>(_sq)^WC%&U( zgbokxr)eFf;shkM$eI~@)ZJg7GwfkY&4=o@Z$}7and#dRvWP7@;1vn*CB%d^gyc%)6c z3g}01{wzkzKKjbcJo`Yec!6|_tsS=yi7>i48TZab>s4fq6|hlo0DL873u9c8zq^j?f6|-kx_J=yg z_NuS3{86{&`>BsC!@Qk#=V-M2USpJdzu}3>j6XhWwt#Xw2jUKkX4NUKIG&(RUuI8; zRI2<0UH*2A+NY;v@=GLo-ha%&bspkDkmp@bM(~CaE5huMFJKlM@lyVZp(%vyx?lms zB$t)gykXq7zZvkgq$(J<&kn9{z+j?fBm`M# z8S824pvST%4M2{h8|8ele6MU;bfB=m+kE>f-BiZ!jU!KPzi7w=uV&|TSD|aj?)mX@ znES6w-`3tXmHzD!iG8m){WE{&zbl*n8{*_(r~CcWKT?aMdCmR*q85K3;jpeF{3?EA zYU6cJi9e+x$4ebTN0tqRG#Y%4ZDq2X_9g*66OYuiUTsSVuNW^V?155v7t=>&5vq{X)6H2y32u{?UeMW(RI zp&1kXO)4(@Gw9BPF&+MmDIP$j?g!8Z@9V+Jg2#TI_iS3l8^P7q==$4k_XU+w`3n{e z|F3pC$$#{T{~cMgwle-+q1XKjRBHM?$;QO=tx^1w1+SuRz0UHtGZ#a=-iW0=H!#IT zXq(0skFnP~prN>r zldXu;9K7@MM7=29kg7YBAYRDy?&8|UgJI2_K0hRBt;7O}-K(_U+LS9=VMjT;;M<_H zvRuJ()5Fs{C8vea(+{6Kw!R>1IG0cxo;AA= zF>UN3(vFv{UOtbAa_eOJo~;CopK|lp0>|lR+O;3x9?lYDm>miWv9LnMizz@k$X_f< zUr*IPL(DWo6suP)81ffOw{qmUS0zeyRUe8WBR8$#_J}kTa0qu1#*Ljc&7^lGY|qEnc4;6)LqA>j1&?lgBLxljjOzsr-){6mO~Sjc3`$tWpiRLK*_k`+bKWQB0z)Ru;Gf$6w77n#gYGqG?7TD zNsMs`8((raF1lx~@Q#96JoGxxOG!ojj7c(IgivkOiV_-}3)&iYXvPT;g-gBKvDjvm z>=&ak{>^9j>7U$1HlY{TZRcy-5nl5~FXYmuFryKCENCOtCpb5+3pF7;z(g)F__l+V z*xr0ZJBA%68l$152R0uFahzL&QpFKAT+q%u|7b4ziF>?!Z~=m3FXwFMC%732p$+9B z{!dn}o~Tco1tY}Q%p3P@<1m^Zo~V~A%mz}}`>~T7KOvYP)Jj@sTMJc&?C}voufrp< zB1J0MAv5ih7TU%%i07Pe!$VjcC4>4yFjEO%&7@`8A!Nw>Dq?Byu%i^yfnu8mu@fUi)cZQUxc_amlqn%|uWw8!)kN`)8B7mUqQQdsx5 z^yD=26BvK$VYJYrFIldpMqp>LJvnl(EbdRNtMd*yAN z;yswH)ooA1g?aS~OzF7{ir#-z{&5d|JOWBb)j-`)YDy z=7*4L%w3B8<@?BPCexOg<5vLV!pePTdC}cN4rFpnu4S4-b-T&LF2YTkqx8)i5c)TK z23dBcX#A2@1fdnXR^HiU%2$kbixqWUGb=KcXqZL>ce^UHg0fXetSTRFvpjNSh_$#6 zgFjy!pPAMslnl-UXDijh3eMV)D6q)=JZ9`L=j-O z`eF`wal{hg#G@k+5b8xeuyk^GW{r=({hS{@s>maGOT2)~WjP7bUpS@!RRvBjd)nQple_eRF9XMNP~r|C zk8LsWcCfe(d6nCFefExQaI+aR+FoEqu*+Nn3ROIYA%u;kK_dc~C*$rU0IUQy{I&Iu zNt81jb^5Ao2RM4(ZY#&l=)u zwI!#{)`BJB2G~I^N;tYqz3fq_{&JbuCmZgmLEZH&Afz!EVd#+`Z$cB>OwP`NHVBGI zcT~q7vpJT@bIhoU>CUxSA!@JAFUF()Xw|q$j3_ef2pdMUTWWzszNpAVHm7onSoRrx zo(-I-NVjZJc$J-}8Eld!rQ!Nu*S>9%`$Nc`*G(~NLi3i|8Xs z9pyRoj4*XoReR(7!$b4W=22vz#a<&+zep03QXTYd(&yUJ^or|X=uMkF7D2xmOv3b3 zp-@6}qO;dk`j)3sOZ}O#a}vg6cJn*$fIwY9rnnHx;nd{o(5;&SSNr^sB#xM%4}1G! zk99TJ6a6rp2xo1Ch5=#BG^Q6QJeZOUNEMx}8atdf7EP)OG@VUKdcK%C9mQI4ukr>a2p35(Hl*9}%uxZMQ>a+;C1h zj$y?iRHr&36U5lk^4x`Bf+QbcpH_;2zyNfQyP3-~HEoLV6)~&plUw1$!DFR-xK<(% z_?ipw+BEU|>Sn#h!^7y7@xGg8bL09-HmgL0#wD&&uC56hKe5^q3{yB zHhNDV(b1MCDQU0XQ%XWOVl0##1NB_>4S5C67a@LL2a_00npbvpqHQQspB&b(xUlw0 zTjOwbVeS(%Bhpz%Cm<|ce?(cwU)kteCWS?H;B7e5`(QnVfx16!$2Ihe!)PexZD{5q zx7xabN5q#JPBnjxEfhVi9;yQ?z!{|d0zUiol!4&;>(~w#u`n4P%*?7ev`SF9Ao?6d zWBJ@9_%y2c4Z2GeYzVzJDZ^L#7oT{7NgGTm2!NRG?hvE0*N#|k5iEg=8Lb(72FMii zPvZFD!7O&<0qX=3!va~73{Em|H{`^GRekK;k=#lbDZ?EaubZsF=4^|=_7mtFg_5<7 zI?~4u-;%MrciAMZ0BrN=t_oYgacog=N z@n4_-p6{M-r+|&uVVj0p(X7?ngwdg1QX-URJ~MTS zCD{YNlXsPN-7pgfU&)*q&Lb|Ay{G3T=koCK(;azUmYVghB5cfaXM``&G)|Sc8(6<=#{XXA)~=MV zcA)@}X~A^wW#cL_Hu26({(~M57xzlhY1*C&hDl=_T@xt-A<=FvT6ENc7ml84^m2dT zI=S*Ur2wuM01FV6Y$RAbOiIT@M2c~SobR_4PGBuw{{uiLh7T+wVLdsRtI`NlQ=H(; zm5F0|3*8`9Nu+<)C4G+fePqZU(Js#+Dj=}|zT5MIeKYcx*V`)`Z7LO7%O4U&QB%m* zk2L92slW`jXT2#zT3%cwo{kmOU}G;ItzA2eD70ha@K{{tl>i3|sIp;P#_M8+G6V#2 zDB8qwGWZl#zE6WB-I_PnUWkp32qLl6#)Ps5A1{Baue>Q)5fmVJX?9_SLsNJGlGm2) z?wn6ze~AmU-5)F_a-EJYD@9e~GfF?YEo8y!Xxbz!N}!cQCs7qmxZVWe~-C#qRpwpIth;Pv7NhOmPeZ5=Wr{8<`5S< zTeL4?2*v-kx9jByh5gi#b;pFS`-4_n}7l>T6N5mf5Rc#)qB( z7Il6Okl+H?q2+)a7&H3o0bSVo<_!Yg#urB=DaZlgL3ghOCza5#Dp0~goYaCg>3ZD0 ze)NX{1|;Ok#e^hmFIp|r2L%X_-IGTWiiBV54?kzZp)OMpOhcLQ) zmG|K3A{=J!htCi_yd28Rm7-D01J8Sj{x<@4cb+79`6@jisAC~a+yU5P$3gW-45i$E zNR%>q4+vc8=!?9cxp%r4V@{xaBiu>&z3_dDl5jE44Bv{umKJv;0sA^_F5_I|mzAsf zht#nAlS70!=b==V`S&bx3{>Q_bLS7wYog#BOK*ovxZKC5vxm;t^Kqe#sHgQv|B~6V zuhS2CF8H}ds`GbWu6~F+ENzaitCuswEsrtFb``Wqy~{}d-Iql}&>`wwrk`ohVyw=- zO|@>*%hNv_{!Wv9J52oG8{kuh@#eEo~cyKgs}BH)pWZ(bS3?=M@egL(^dP z93gb6ly(kErE_%qi+B)AJe^2l{kauE{uZ&*#!mi@-AV3R36GMWpm9Gba?Si;4XyEp z%Zp}P_|qtl%)%6M%YRZ|ja67lhCY@yq{I3Vh76G7CuI6Vy?N-v{bqG5_RK)sfEmZF zl?9wQwvtIRc$Y7=rH?eKtD#JAPbNHJowtZ4h0(Td*%2Z)(atfpQRq=0KJ;L3Dm1Z9 z?^B5(k98Z?k8&?Hes1CzAUiDEy8iL0FYBjR6zYm_FsLxT(Y|9~aY4sL>nmM3p)F?S z3A+thBM)x14SULv>A-e9B(r}k^WBm;S_IN;_;n42eRzl2_J87R>T8tf4cS1kYvau4 z%P?OUN-g@?mqR~2M`~d%(d2lz*~QRS{#ISe=!IrT?)M$-mdx@u=hp|ihx(e5)Nx7V3fA$m1McLqmSL%UtOH@r*imLpX$HF1xsDCZ!N*e(A4TX0>#PN!pYF`JM&hXh50)Gn<&sGjm zXO!QPAFQn=1U9WJACK$S%Gud~_Xy* zvJ;VtT-2*tX@9!PiUY;^=L5fEZzrdtz=wBb!sTv9s}HcOX4xZfI>GU)J#IY9CE6Cs z#+aQ!)WcBNZukf*QN-AYrA?$LLsArbJ&l43}Y z4N4oXO_J5+r|n^F)llPEtqV!OZQ{wnQ?G#%k_o|L(9>BXJd7+xlYLXt*6z|16Q%Sl zemj5#YK-{N$&^F3iWQj!0R|7eFijxnlWqX)^!YGh%f*Y5D4IozO9r|kq1KMgfOnDC z!xR&u^Hi4Ztd>c;@J#6>V$Xh|b(b$L(ro zaV40Re>GA8KGvcia#N!p%q2L48+&J`_B+NA?AF@)T;h~9q;JPqrv0+N*}kz{CqOW3!e*9ZZDr z?-+$?){@BZr=jM2&%XCs0QhOK=Z#-RQYs2Vue|-#g|&F7LTV(EfBIM$efO7uqS^F1 z95xeVB{`blL9+;)*?fn=t6X`|EKyJ|B?{n}D3qD^>gQbG zS{G1RP$$N!Qt9bu&V5K@m1GW>exO9gdD32zjQ*~2Cfka$_3 zert$ZIK~l#VcDkOM*s%i1c@cAE83GK6KSD=#$nWv#DwRjBq|oxMB2!?oA$WBSRMsk zgB|+q6up7dJVr?DPL$;juf?Gpw#wSo{+{hS{>J$cr2?|1%Mzn*hE&*rSf_v3j(E9? z@_%AYT_N=TR>_qT(1~9%xC8!Sl;ptfpa?vAn6+;GIzmmp3J6q9rm}$?*}|9wCi}pI z{WGJnTs0(e2#z>5&Kv>jt?=j6b~2HE<`q6jK5K!(i;ait!@49KT=)Glr&IAuTXp!Papib8 zbNuYX^O@26?srTM4rVta9F@Q)yjyVR=hTA_6bj=P>$nX2tlLT07WUlwGWSg3B((5- zpGz75T#{o}KgHo8q?rm!?@ zePjru*`Z83DdPqdsbZB~LBt3hQ3uH-WH5^cQ3^AZDPjeFq-nKEG7v(3GwOOp)466T8YkF!ZK_{yl0fMYuSOtm-x5=?QqOTC@Qpo|n`wKrNM zdS~$H+-!>3Whk3ZVqfsn9lC3je^X{||3`u1Fc!XUIck%Ph9ysI&%s+Ei7n(evdUyM zpU#XF9(s}`-U)t%D|8=#W6k)1c+4G-Xbt2xjDU#IzPHGr0Uon67<{u^Yt%$>IjKTKmXzw4NC25>&RE84x!CCTH^K)RvZI>hnO zCY2LvB&+%~Y6FYM0Yp6X%`B&luD^UW&&jCeGS{U+(M%RbL|81iViL>{zhQj~y+hO{DTX(n1&kgJC(D zwlh}-;NgqyPKCcn*a-Ac??4&vNhV0zu9Z{-{UdaU4EwwDTKKrGy)9a0ikt@R9DSjz z-e}T#3~rIV*wF8@JYW7^7|)OlR*w44M4A8jZw(LmeE{{U*AmSq)>Lrd2cb;c?uwtql)jz?#F4p3pbuF1y9XyteM`tv*_(u%|@h&hGW~ zxw)l7JVw_@qx5Q+s1QJEeNLksXMEXNBZZ#nvd_FPu~2~!N;e97az@6+Qc!>3E0r?o zr{&g2h*lQ1ilph<^z*(W3Ht6UFC`Gk{(6DR(-WLg{tYhXpR4ZG zH^+D9B= zq3DiCVswl?ZVM~X=*2if>!Fcj4uG^;?Dd`GAN79WNE|%jRrQh4)~f zDHxPNRXMo}94%O7DROw9Hd%{(NRjW6Hd<4_78qR$C#-Z%y$*W_A3$)S8=chxgslx6 zBq2$@?!x>^i@c;k4w(Dj2`tx2c7$PBS{M9+o9<0zW<`X>VhZ--4LQ0FT5B>$lu-F0 zeZsW>mlCrcf`tu!?g-IZCo7kbDIxu`FNwCfoVNLl0zQWb3j;MXHUg532Ug0KRY z$7Y-f#nGF0P=u=fR7!OX@}-Rpf`wE>gt8|JeocX-mt7nZvXQw!Zn^=pfFh-wbuc^w zbI6i?k`y0|kQ(fiVVHDu-QBUaZ6iuO*AgU8bQH%m+banfppdz1M$!rUB+(;} z+&mgQp^hA%sOW&D9a^zyB^puc%(ZH{GTq|2S>ULMU!SmCRxoM}TNJQrG`y%6r#k;+ zXvO%kImb~TR>iq(Q2^YNqV;&df>BsYgO($G&k0w`{jkSJudgCHvk~o()IXq?=|H?T>N+mBecr+fUY&Qv$ll*p z8nDGEr{Tt9H8k9XSsB^q$wDVSr&CUnh;Pvr?HA{fe6i9yTs96U+|m$%d(cvd#Qcv% zv^cQ@1SNz|NCfmPUke*Vrqqj{?0^S1>06HQ*#(0?Hw6$wE)9rByB>>LG@dytP@v6_ypTwy>=A5fo%H&r=I z)V^OmC&3_7ss`kFHW;CNc+b148`R;&SQS4!O5NfDt!B*X10UL3wCU z2Arq6L8jDinZOL{pAT^|Cr3KXHmgIzF>xJe(1}U$?|Hbh3dn!chUuhiF|M|Gu z|KA3&jjolxouRJ1ww|@YH;Y5p)Z(8$uyNbp+>M{Z+aKgqo(%mBn>rZQP(-i45qiNH z4M;0^_M76GK2;*V+Lt9EMHp~Zt+qWbFWsBRxugI>#vt!~R|eIR@apSgpo<+6Ed?6C z7l$mW?%3@4kO;0H@>ERoH`*-L3a08O$2(-gncm1E2QP_GvH~e91V}OHOoMt3j3FYr zgEe*{PMreet5(cctU$#rKTXI2992v08x`t42&7z_`Sm@DG9FdujAzmEH;0?JlEoEC zpE~~_di)l6r#OGa9vdyPasH~6Eu>+TaEhziY8XAAefARj&WY-tTpDWwt|t#@n<;-q zEmnhyKfD4rf*awb)-4$*n^RiVmxyej9^CbFc6Tv%U`3Czt`@FDnMl(||1eso=K@5# zrn=Ax0qQ|@PyNm#<|Dlzpb!HVNtq_92=)p7K^V=KAiHO{Jl~Q_JEzqr`zTjHTS%gR zX?SLcPH*jb)<5~;U?XUg@149u`(!PpI@ilhuyGNvI(m%qSL66V%%$S|?Mfs4D`exp zNbmOFVVSxH+72dm){e#|+PbFSY!w?_eM5U~dx!6%W@2Wc|EImtLM2V>b*67UvAX42 zKA+Vp!@zQn8UGXjPTg!^bv&&vM^FuqES5}k5h?8RDN9@|D&0t>`DhTH`;zn6D`R|m zIz&h<%0vi%n}zUzEn%ujuoZc&(i7kAaG49D+w0|Q?~ez=5p*6|#e8nXKBwVfn<;bR z)cmFJVMi0uWv1lRTpoO57`b;tQO@F~N8*w{?BcG_0FN^y@ML2@f_~1i$1#a!+}N=c zv+nh+b+d?joLPBf90A87n{yL(9nJg`JDK^0ab*+5OP?L>t|X^Vlbw4{c3%)8ix~y=1B?O4zL2dJ zjsx!Dx6~ZakI3_M#a^1 z3Z6c>RTRzy{;mvgd}<&uPurQN=8%I3Owq9n%Ip+oj^gh7)WEAh9<24On_LP^zT4j> zl-8_9=y?Fel_eD|t+gddZDc&Z`Z9R%e*5Q&H$I2jEvBIP{sj#fr&C!IL0QCv!=)rp z!c66dW;`+q^LY2Akjguqm&Jk16ZU%BrcgFu1P-u?Xfv$(m!?*CDg`JF{!aGr%}B&)GpJ%`JWy?C zQAEHa;~=-$W1m|USzA7wsUU%>BI(T)bYJ-iJGwP~Y>He=75PgY%udEF25`x<+n%yl zi+b6>Mz_bg2DgXSjw$;svLOv&ei7-OS%C?)G=hysKOXcA18I)UreVvt!w1rE@SUtx z&YCOTEAsU*SM^G>y;PCG-!8a%bW-)*ZGb~VqrtU{{tQ3cZ5Ft)Rp+)+c=)fF{5bB) zczp?ak-28kaLg(veI0iL{2HA_6FwpsmkTGJ)kdLIE8w#W0_5Zb3S9>u3}<~}B?hXF zWGT#(`Wl|oeJ>Uk^~-12*Ur*XDJF($_Eu+*T7EC}gUsBtim;P1tqd1XT#J zO~YXjBvkLhNK=lLRYif8^3#R+b%fq{Rh*fo{hBLWdx9Hg$Ata0uU)d$Pcd(<(a0T+ zBD-9acGpyG0N|*1X*0#?#nz*~GyN*(8G%lcvF^O=A^bI6PB9aR&+Ki!nLlQ{klV zW_Ml=ZPQ@RHK*O>&2JQ@>Ak7B6NJFJ`=MEYYCOeX;*L@JCEEJezCUv7r(+uv)?4ctiP0 zv-2h6%yIho=kj?vIyCmX1JcWPR93k=gj+;y32`Ni`&dq4Ahi2hTL}s~3g5KIyEOy8 zd^rRPO2AK*V~`K8l{$|Xm*sXSn$+RtIGMvPc|Ti>-AJ9yc_D}i(gx{i(oPHD(F>kD zXaX!~+u9ZK$3=OdaydR%nts)QaHvW_x{7!c)rL2_TE1_kB)RdVQ(-R@Q{jr}{W1<#ArrA+Np!A{=!l9Wt$OR^`L31@TvKjgu zLgI0S1ZrZ<;qVCiAhQ*eYME;rRlZ@Sd@$=vpLKKu%WgQ)qje^bYlUW&F$S|$IhvB~ zv=?!hOR+Q&y3`SEdTbiZXiez~2lKxwu+(ZTXfH`~;0Lo_l(21PGmw8}o4#V;<5Lig z&(O|AstO`!9Yz=os9~aL$^6*8#Y*3pp~6B`u?p7^&6)dC;CkH2=(5?6yBlSWR%i?##84nRLVwHz zPF(i{l1YV%Dyae{Nmr2msi?q_aern8M!YNWcf3)2Nw85{F1B@sEW;S6*Ss*usfxQpKH;e|Tq<$}VYQ)U{0ScuiUx7v={92wL{Y6&_FSdb>!eE=wy%K>lg?;%RqNKN z?KRMv2?BYh8jcw`@aqx~DkXlP6A?4qGpq>^jJ;<^(B3JG1l;~u7Lkaqn*Xzux!g9N z#x&j3T{euRQqV!Wlmpb@4SIRfz4(Dnc^6QLRhXCug^-%`QM6RNkM!cnWot zgfDV>e0M$FS3)D@o*EQ^2CwA}mI^T*ovBC`mm8FcVUSjxC60V7RHcfqRKMcb7F^R# z_sUdt3h(58Ht8%xBE9Oip9W9naKf_Lq7FE3CT*X3w0QBMM9_Pp>p;2Vqq_>0*Jmyi zQPfs!SS7u48c4r~w5hSvVnqe4V~KP_~X{I zi`2?ny^`htxcbEH#B&#p&S-*3B!bX(%;o{ur-CLXmf(Dq{m%jYonhr*VrZvpLY3lj>@eWjwS$O%0$%XUPjx8EIImf;9A!xD7QP_7O&2s(f4x{?URIODvC} zU$}jQ%ah`um|#xmYS@XiB%1F}$;BFAk`!)3hv$-l&p|=vf{Mq{@YEsS>UO&5{jfL$ zjpEV1iS`-fHFwdcP@@jG9Uj!E_X_5up1Z5&tZT#r-9N`Yre4H}84@4JM_>#U5$N|) zDQkrIX@3NQTIsj^$Ckz>9!1P0RwxJNAWnV1g_HpN24$R=O(YUoMkRD+%ZL0zXyv06 zNy;V~%5QWejlLaR`)EjxC=ZV$MGhD+APBJCP_DMIPn!+&w3aLKtVfL}OmIcR%=Z{A zl_m|xMDR&umpiW9Xy#yxfkD5DF-b9$`}YlXW;}*uRZU`gWlv36-$WV*CUb!flqic3 zU*Qf^uOStX^)0)dGeRwWe!{9~r)!yPZcqNxma8wR6m6*i@38-}X#PTqSY`kR330!* z78!MIl$aSfJEo0@VN$L?myJ!&(vF-&^CzX8FPD1OkEuw zj!psyLL});;3^7)bnnivb&u9s*SZ%<6|LmVcpp4|Xu-aACL4G5uI6n^@3Ei_5Fb}- zeQCWEK+ljEJjNsxErBi zi>LK>yq#|cR&U-UdXifc5NsYWjFoF`&E;k2PlaT!+A`)P@;PnQ<#FNqtM#9)h(wCb9_(S|e@2CmHl_otX)*Hu}?0@5Qrt zA4@M#slQV=Lgj~35aoGm+@bSyyHx;^gF(I0WGyn1SlnDUm|FA73*aS=oSWpMNnmuil!K02E3!>eE}s;ZX!Tr&_yV&(y!WP0n|2USVWLt$2PG3uvcJ=nXmIPg3jf~C%B}Dyrp$v1 zF*5xL$qE7X7O0*cEg=y>!!Ky-zdFxzB%d)vURsXSMlnG|CH-w6?KQ)3w zB-(H)JqQWTrH+G$UVVB>%ml(K@3di5V9bd1qL@!5Vo+LR)3I&Ze?e0sjhqTjqHho^ zaOw@3&i3?jQ>OCdMF=x=@U97MLmfYfZ#oCqAamHVh)@1%hdSsXqlhurR97RjojJgi zRWy!{I~Woqfe}8L%i(aY%vf?=uBn{D$|=zK6xzHCw*|e_cAZHet`K-Xdl=WZ7Yd?x z)loO+$i{STOWNO8Lf~YftlnV=7x|9L=Oxc>qkKz%dPzMPleDkd10T115#$NWnfb;& zh=%t22Uc(CnIRT2Bp?SGzjdWUndOV?JH`_WeMPo~s5^T5#E?sh}y-_Em^ELht&H)ih^EC}#&v9fq? zAk;G3#g!LW(&8+F7na`-m~MRTa;AUGdDKRg!1$j7j zEdO$T$S~Q0e0sKM6wLc|yaeQ?M;=1m9WOKk;3U6(D-or(bv}J~hM1La35zy%!kxQr zJoMqM9w4>Nufx|Xz=WIUe9j!MtLF;?y+G~E*U)h+g!dc zHVcGVxeSOT-cC(-SI4$zaga?|cro(Qb1;s8$M`BuvkBLW_r=kwyDdi+*#Ovms=L*=fcs zjLuP7R`@Kwa{qi=UTecAf6x6KA#43{^V^kWgJq4o1^3|bNI(q`+TEoYI<k{wB)qLMxS-1D*BF0h8G=<@ezH^!7x$HD>%b2U=Bg1L-#=UtFW2^1HG;(o%AFcAkU{9OZrF`eFH zPPNjHIQ;yJvO*P066M8=XW&zV^7x3X=^F($c;A>eo3zsO3B{-5PkYWQX?(w^o`)T8 zjmD>R9?!UoI1@BkS=o)pn%80g;Nr#GuYOk!KEZ=56@xW<5rqUh2-dj}qwan6&SfV8`zrIxj5-rd)U~U+t~oN`7Epq9RJw-DzDpOG5%HNq936a zjr>T|Qca)h%f>9xn4$>wzO9;GJ-`W6Rb zE`(ULClyVu8TK%GK%&HBV#yleI0X7jTP{&0lh*jxeX)x|pEY<{YdWb@MY~2ZJctR; z_^rhtv0tZfNe9YhwTEglWNKlQvyT`?jP)2BtdG=jGVN}uH596MY$DI0As`U*8**#q z=?yIVIG%nkSAK$lQ}7q?^2@#6wU6Uqb4D@KA#<$mVm)4~*0Fh(^D%zm?=!NTgfzQc%JjXXP&k;zLXp2WRPV$fowrPhDHc0;4yPHH}lR5AVQ<+W6O+77a$lw zSlr0>Hz#rQOxpO*j`u*gbTDQ_>QM`LGJi^A0yD$|Nrf8R5Z6S$rCbzHm=2B53% zb+^3(oEo2wI`Dn^uuQ*mH<(hfG8ZSsXf~>9#Tm&aO*Rj^Ea#5W1LpjW2A88Tg-51> zL6MGvCT+~`c5kxFBvrmkRl>iXdDegOv;^!;t_8NHO`d@)&p6Ycsl~2@uZ5zI=O`E zJqvp$3u^9Mf3{tH3y_s697Up*thT*=J&4_#xA`cy17 z`}f{AO2`8uDBi&08);FeyES+MeIf)N8@hUO37JQ=FFlo$C-i6+<0XT(>Y^%d!t)K9qY#J2WNgN?kfg}8K}S|KL*hm4 z>5}Zb8AVE4H>Z|~s0ZyV>GqeWq_ngo*+75on&^}RE^=*yMh^wrWa*C+QFZc|(x!=l z62Ec}y5sT9=uL>5bCvj^OL?{|UFot83Y9MjfiN> zDQMl=7$)ir;Oa#wBd1tN_}u#>Tk4Z^)QW}-Vz`u5Hpi|8!G>8p-fHck1L5^;XKI7>7HI)|>J_x_N|vql zfnA9y^Bt1$C_KrTGy-Caqa^pE4TfU<+L%3scskG`7lRq=lXNRI%ZB z2TYGqxKzM|!HO0n0=9>yLn=5a{+p8C;V5XCpnjM&uK9riLCmVEocg7Llw+L>W6PIy zKfZFJz7v7P4!t`bgVwIvGnjhB8aUpv&kfO+J6TfAGSI2#kp>t`Q{tfd_WcODvUXm- zYV!T^?QvpC0eX`U#Nt$ko5^#|VE#9gQa2q#0XooY0SPa%`z7FkQr1ZXPVm*P zoFYMqE?7{g+N+LC#XLz##Y6*pIgMrt=hR6PG(^`k9AYr#&KG*zPiXf4bP&1F_>TfolhyKbYh0K4?Z+hQ)e zsEv2mw>ZHRLX~7e?q5QyrZ)S6Sum712Q(8@Q97=1eXNg4Dm)gW>U}rLRh+a1gYn_M z={IOd?O>X3?qI09h3YOu3&LF9@AoSZh- zu;GeCAuz|-Zb_-l;=x5Ifrb?^OjG*j9FYaxh(Dvc^5E#{M2n&iosG>+T}))H z@BZF-yZMvm`KA@9_;CA_@bL-UGyg*3dfzzT{wz8{OWR%alD-w|rmS4#t9}XnWzW_1 zb=~J;g1!F$0@^k#JY9a@h@tEn&iQL!EU45558y z{5Bfpi^laYY!gFIf&z|S0n3txXMU7$Bh;H`D(rrY(S^G=5T+O+G$l+CecSuoLfx_= z_fZ^Dr<{h*B_=^DM&1E01m8%u-!3UQTb4BZp>w`6t&GOqH{CvRJ{rS0fQjF7uq`((qR~qHw3=Y>B1uL?|W@#%K*Gb6IibUgS?<-RIwpTmYPKnOC5dPB^8>p zwFyCZbZeL<@)oA8XX4skQF8kkiE-+sQmO5^{|qhw)Z`bS(* zOu~RIz&0g(^^(2PiP(;#^hiLy2Knv8L2Mh5LlidQ6(SdOa9E^Yq4ExfzX?jP% zOD(Cdt#%Qy8k_}Iw1DgYGyBxU#n$QQg`dA6kB`wekFO z^sswMznb$XFg>>L65X;_;%B8^po6*g*00re{&c?1*UVp5^_jkXi#0*SE3lIgk z|5X(Dzmd*H9{9}ddf!;oxBU57j@5)hOciO=R(p55kO$cn8JlP=Au{Nt zy7p+Qp+y|gdwOoOS!_r?HkPJws6a<+vtlB4iRu7!Z}<|Kq_DW``Vz8 zhE{GvEkRlCSy4_!cr#lLa8GWsV`#tGkClgx?_g!JEY|>ml@!h4Mr;3q`^icotyD-U z++*8@AX@`Ych<@?6GrI(K4>5=EUMxXhG|8C z7qdOIQ45^@3&?ZRbt8gHHgi=m2N~ZsiECPrMwr=lK+FQ^-V~TUJ%GDI*QkV0MwaW{ zY;8+xL~W^GU%moH_Eu3#d0Yl=l>@a+SbcDvQS}4>C&K47SnNISx$IdCqEL{BI&DS_ zbZSh57P>Sa2^+*$f`8IF)GyGS2JeY$&K6p}? zf?qaUeDXfhZyvH@{XqT-lGI?D;hNtWBl*(w!j@{}hV9wG_BG)@LoIA94&(`v$!y8U zn257|ia4j|X?O)>W5XR{+(n+gW1}IlKGM_iDq2o3uA!29#Nvii#KABoS5~v+;}N#d z=1O-a8xC16;JmF;;V6c{I>eabB$ZCkB4gHSO0T>FH6h|}4E76<0n2SXj%>>bUx|v9 z+F6z|C)fJ_@k^-ItgsXkR%+9pVzS-rrWMAHZO*zs8-T7dlhm9hFQJ>ju`0q;93}wZ zD5@(F8Ja?Es;O5Of;mG)&|5Pp(xB_vjT$(Gn6}!lXpPcLI_pB z)kF>>xskoUm?@v%Psg_Zss;2T6@w@M|19yp>I(lT6|=Ch{o}0Yk|1RT%!m^5^cg9o zN*m2orzxGLIV@7sEGcDzQ5eCNEFHx+$&F>)@Cq0^*{$=b^B z+9B)D!|g<$2kJFX?BO|grYs_IU*V$)(~6g+zSkdC_Lm>R@RxaSaz*3L_Z*J{^3Ryf zT+?q&T*|j&_3CbSOkh{QU*bbkXyWJn^(qZA+EVO*5}^67 zC4lfh75aa)%ytDa z3&qr!|5d(wfpeUtsE7n+WY`vsXfhcsB`Bf+i8Tl5=%WhqjZ(i zi7Ts*CIK~W%Woys$_Xq>T>)Bytt}o)R3+6 zcyng-uIyy80T5E5G){l9)DFxNX?VW=-J>hijc%9&XeVzX^i4btV^G~T*DJlwp3XSLs zK>po;{%i+Ngt-=FlnD=vFf?~rR-Q9NsE_Qix~NSmQu%tDs)d>jKE5O&(Kmg}dg;x` z`FQ!3Ke~Vgn;**L^Kf?S9yzEIa6xaTc=M86KrBm zW3&meG*~SIj(wG~3jq9UV$VYQ2z|_74K}?)hVDhfPg5)@XQD%t&X6h@_n^;YNTd`* z?3bic@02g6cNog$z~lpm(Njh909ZDn0A85x^ zBoQ)Ll5`W4dWA-9JMBe^Pw502f$bEI?fg+4^+8biuO)4Uy>>;WFu|Mb3fkyGcXE)$ zIlVVL``sP!xs6ik6q;B_HXf<74E>9?AW6=S@?zZRRR$0erc1dS{PaO&vwDFE`S2>qJQzm!UGzk^LLo=r1<$mx`5m zt6~7=96;u><)A7#L8pX6E{LH*78;Ut?xG5D_;v9kPWEpuS5UYH$b<2)aNw_;-BK3u z+Hus4R4II-6F>^%sq?xH0w3XciPGT!OSSzu&u?zHXQkBS`&aN<)ZcV!wPgWeq|m8PY&? zJ`n9%25`_aPvK1z=R+7{r@exCS1yPkxqR)ntY5zhu*&1uP#RM4q;0Wc&oqW=@kZQJ zC;>6%@sHsti!wb%p1fE+{@u=IYIkWmxIX1>fwEzp5;ThLrKHecmDyHDzO)&{a+2}9 zbic81%Y-~IX&J{KE-Q_lyYL(p4MrN)Hj_`gf7`aLncc}UKu$v(neoY-=&5)|Qqyg8 zukYAhCq*0k4qwfAwi#E|x?UQusOj;SgAM}71Mo6R3YZor7?`m!1G2x6A zb&X$mGeyaQSZzYB^@P2{S>k9xNN@AU7G1ltMN|szb|ndno9RGZ!&wT*-{qr?f1s_? z)B4b(6>9$Rb{Vvp@xk1p84WT=i?IT=y;*~&-w-id?_TjI_&Du!;6UsZ)@wgL!CRPu zfXmtZWjkz9hCXSXyQ)Fj$db7b>MAFVvYymz zhiU~y^Bc+B#r__g%9|L+J7==)nAdT;X~etk!p<^>PfE%PEf2AA+pUq<0*qKWv{u+~ zyEEfwYuGhd$j}o)-{;>W0<$oN2L+&NU;S&<{vY+hz}iX=a1r6?XkcshUpMq@jQ?~< z7^AjsOU(WqAeo@N8(V2Ll5!)*-LVkQfDUqG23(8)M}P#KmM&_$Bteh2szCz(0c5Js z={1)9EL}|Gk=3LM#Qby3$HyESDp}~4rvjjH>Pdz^JeDZ{`DMOjy6iA zx3rtjGO}Npp+XhcB{$Dy;=IC*pFJi*Yl*44wdq~BUc1(Ql~Sk6D=(g=)p9Fw*W;{v z0yY&xini*Il3bM1yi#R?6k8pvwqkz|+b4k{CwR0nFZ!fITN&vX@k0e9hSN@iD|ai# zZj}5FTm^8UWiQ$G;;5ilg(F2nV)mk}#{eNXpMg19Kq{*EXw8UwhRjw4Fw88)7qDQPyNTiSjJ|0xNlf$Yz7!TE&OuD?%@$hP`j#79Ce#|{GpYTOBiu7nfev@DdSFMp^ zUPU>|g+ZttL!yt3N>BCdo6r1V#@vmzWVn5M4T^t5l1Hl943vdXHh%&Fkl~~^9H~Nz zR9b&N=KIUomw)#^w4ugH0!PqGQ{W);s2wHnk z-D-av@K#s;XFcMJY?JIjuvO)vqN-KvhD+ckcYW7`4S%-(8V5rBZ&qo1btmgU>S)jV z-Lb4FKH1O#6;MXLh_;B5}RRR%MQ0lUp9ULiaUl>$qvI--TW4z!^+I;JW0Fo!!jnw}QNQ(ZkmUwf4p%1z$uPAhitY!dOjm&yx4KCYAPU=N)GX~}tCSp4 z#aUu5iw<;j-WZIy2>ysG=+hD)G8@`qIFd0zlk8Ligz&XvxrPE*4WjON%csDvA~C3xqcSl6;Vrw(OZ9YOc69a2Yi_+onrU~h=P z+ET?(d~WuKnssY6XpY6(3gIOD$q}-4vN~fntS_WO#T`@#Q z@2`c&+!evBL{-Cg*w2LijVfKZ^QJYpl0I#3X<{uek>3G)pG6|yL>~cbIOovkSuOJo zskn<+JY!=X z+J`49I{5y{pyU(aYn8y0ce%yQ16Iq0ML4+XLTQ4=j`g`T;*@YINSOj93PR zxj7b=1&FDRB}c+^QM~)+4^;g&WQ9@mCid%LBrr_atgPDtBQuQ9m+>v6Z8k*wAMGlC za__#RMt$K{>)e`Jr?!1ZmMp$^tzFx+lCIM*+Kkq7iJ(N-P-b8@Wb_q$I1%Ir%`vp= z7UT;}gqyHRchbW3p2@=XCv#rNM3Je(Y*RheA}P$#8h?&aZ5LVAHPKk%R_{2DP z)^o#p;q$ER^8T}_nOloz=9rjPv z@*g-5?ThLGn1mOmi_=?!wyMfH>}#OYGg2D+Ux)4_+u<~|W@)b~^lXTIt>IwA7To;A zc8*|9tJF%56J8RIdM2X#XLBQ2kNCnpgWaIXy?q^BKf?U36Cgr8jGnL=f?Viqu(CaS zuzfqb)fmju)cfEF1A~yHxnFOuP5tGe<5<;17aQ)=4Z6aUjA?83#&@K$JdJ6PSQ#Kg z;-bJwHE)zxw>GXxn(0baxQ1pJSV8Gv&K)u-E?5?Smv$R{is9}OZeNvG?Se7o?=M%7 zIZR3{`fbhm1>|X`*Hz4L(K4{u8nUz!d$~I~ybbm@iuKQ}iHxnSqlh1Ot+6_Z-w-$7 zP2c|N5VaKp>78-iB8V>JlUAKn2$^GYU#hUk7I|O{;>pN<6N@XgS33aGuvN83s%z+w zbRIf%*A@qvH@IjM{@I4;8MwRZlLo;h=FSZ~6sbPF4)H!pRpQBT?58@1VOJ{%hKZWam|fbYy%fc3_G0V5KcD09FY39k)eG=FMT|; zuxo*_3n8}s{^|GENOxYn!JoC4&=`d$+h-WTy&ecnj3PllZ(4 zVQ_Znu#t6~2vQr~UZM0x+>4Q0)-YzOJyfb1G--cSDKK4fA686{CQ-`P$N9!Q)DI?K z*{VOU-EbxGMWrzrI#Ftm8CKI5rN242a-mF)CJ7xu9_NG;pA{jXfh$eupT>ml8`NYa+jIAb$O>VjmC^|8X`3H|>mJuJ$L#W}beTP8B z6CsM^`R1?5fojMpYsu#kUpErr$!M%ICfy15v*E{~WI?&?V z?*4ilpAqZQ1N&r>YdMh?*u3c;%v13UGf~Gt+i6I{vXlkAfylayc>0+`8+?bqIhhKg z%_&V_`)tQel6Q+f(alKepJNwb6?He`;KW4f&_B0Dr`wuq9|x z#b}lwi=0p)Y^v4kn$u8t+SX}yNmjcSKs$$+`#ml}B5c08(RMQGq9^ zyqt!7i%D)f8n`*eaoRUMfWAlxiyx6E`IKz~qgv z`ussNmZF$b<`qlQ)y2g5=+IdDi7S2m!Q9tKoV1*vfZe*a?sZ_MYm{yNIwCp;|yU&^(4g zB49kP(RI>NG|VDxl?l-aaS@$y9zIG|F#`IfS;AWPD%1Zt5)VN)ncamAkk~%?v{Ch1hV7eHf5m9rg+KA z*a0#Pr6L7ZOp+v_ViL@;NYx6-v{0a9KFi{We^*@l7Zd0^4Onl8hc=MMBse0saDgKj ziwJ!5?P2!Lx2vt#2SrSEu*jnXjYX;)a4eiQ8*LI4*<%iI0SvG!$Vn$n0q1Th8?p{eqSI{8hLagR zM{IR8>;annYvH6U98DZhl#5lQ-?Qlbl-cfF6nYUV)bpfu5icc8^IMAY+xle!KzVIG zyaH8V@@D;5*~USA6sDQ{R(!winy(X6TxhwNTg;Wu3nuG{>!Q$0fzvkGoin7PvW3RE zw_5#r2V;ZUS#-)TCuS8ce2p>!CbcWvxsxkcs?M=u#(ro#l}_W4^kTZ$*(hzlPnPsYRR!9 zzG7pNGeTdwKc{YzGsA#4tQ?FuoHcty{))e*K~AD9D-AGk+ZapvY!7k#K*j76%N4zA_wjJ; zphswDacNWLtO*25{FGKO^5>@9MLOq&!?hI@QNmc5cH>P}YSuePqof)Y%O&4epDm^V z6DUlXJH1P{BC}ZL+018fXGww7&|8Jl$&E(nA+XOWaS~iI*NBm=G4%n#0_EjNq(`Y$ zCdNffaYZF6cwf}m?i3PZu}7O-UVKHJVc+qu^_bFWf2m>Z|8AJrMY8AzF{A`roA%<7`z_rs)wN`!kjst4SJeG5 zI~L#*UWNJE|CLHW_M`o0V;*n1FI`9maT`|6v_q4}hV_qDEVY>F-xeUPcJD*k%TxLA zj$H2nA1|Tvdvi@If1D0!a(o`|I_w?Vr3q7MN3;5A;K!ci;>6V7t9s?WvsiDCvrhPE zehl?w8~ZU_@WNi3<|qj+r9m;jm*7}1A|?lSg~G!6pOLA(GZZ@^aemYPVo9#zCLcw5WuiKQJw zzCVD3i2Sqkn+AseRSZdmuHU`a3nYx1to_PRvrVZ?PoZJaZBk$#9{;#7XFr5#K`32aMX+5~!P&6CZ%&BT8mi9-H*}LRM0ZYp0 zX+LQ2W_fwV+Ds7;-!H1kX@mjcv7@RMxwK}S;KG4B!R6Jw$m{d< z4L@}*a;R{Y7{S&{-CTE|V~h87_gi1-Vf%q5R8FnJ#KjlaPtWT){1TyVYtOc~F|bZ{ z9QccV)Bt0Qi=v`2W`7{*SP$ z|D{|Q**V$+?7dC~jz$1???3dtDe=5^08>GzoA1cDQ{XvA0EbqJYG45ht23pbLMBFi zroM5OD$-uxa)cIWiB#G`(bMJD8wWg4d^sYCzjMcdOoEl}-8^K+gjB^NM9!IDN+V_b z@^7>UQ7VI0ne9Q7lq&?g77CrmAZi=#Hym6=^2^B3C&?uQ|8p~-;t&7x`E5ugJ(axW zfEHyxm&Fh^4`S*Dv<=+vI|R3kcR}_7qEI7HrbGUFYHE5nEh|uWJ%`_8Rhw_Q?KaVa zcYSsb4xLCd1zX~ENMyR)#!sw28~IgvJo=_u1+%c5B2Z0e*)ROEQI^AAm(E@!`LKB> zFOTFFGVTIZ{Mr)p)^q@KnkeC;O@1z%gV54Iq}9)^}NOZ`uCb4C(e z(cwM!MFVMXQOHOC1R$+qhp+;bB97y8yeqU5&;e-GpoPC*tWrP!w-`Xpu>V&z<9{Mn zoR}CGIrQue{xX#6nHxA7>v6C#vHepZ=LmrIvCoDE&@~8djXiM2(zMUdmB^-zvkwi2 zGbmlx4f&;-r(#H;Ne-g5?*EJSaY3?4hh`qnv9!C}al?&%`h<_c9Y6Pt+YDm#o@;ZU zEqZJt(oU+j$S!DM>tt0RD&4(XUUSW4&pjlv*W`sJwLnh?%BEOyQ?qaLX*ijDP@z;Q z(R-RqmgNn0E_X;08=b}@(Z0u2X#zd4XTbJ$)r%Xt<`?unN9I%}K>SF%Pjj9Scq>{G&NI`FLMb&4d)r@9ut-0T$D28xg83^Ny9L_#!uyIQAF_SHe9hn?It_fNZ=1?-k6D;%ao)e>08L9tE^40P zj>nYXL+IU2prlUbOcdiZ5dgA=TtKRQi^R{tpLggy;vceH-Qdw-VEWdI` z;q8wx)!Lx7~Gv70#VY(c<^%Gp{k6>Zy3^u!eA?Zpzy|L;Q|Jrrw<)V zRczIX5;G1f_|H2`=m88j+@N1jL}bfOc%97Y70T&s#*Cu%ztJF&xT&D-GjfUSkP4#1 zS`iWNSoxxgNDmbUlMb1Y4jGqe4}oyT7|KRal1-^}s(X$@z5EY&u3gQ3W#mA=72Y=` zoeP48K_bDFiGRN>o-f&?T|u)8WR`l#tsjrYVdi zwLg<=WaC=5X3fEI{?PS-_C|q-fP912h3&x^oFYoE|E0`N)YW0a&JiHSny2I{Er$I= zlXaW#h%5IXRY#lSY7P78^GWkX?ft|VfTk!L((%hLIfLde!td6U^dpMa24P&)_2^LG zhhig*XjTQ zGmWf#lJTT>bjW!;?a!ofQO2yA`5IMM2xhRvPJU1`w4j;EQ&) z)_<=4RJNIDy_`WFcSWw33(x;v)ItpzLbAx@6zN(L^SDfvP*intuPxLP-D zo$S01_nCp~46n%o6{my+e(RK4sa#6!9F>w^@Y9lxDH@I_mB*G1fgsS;<)c~xddzV=$|Q)4ER2PY#*jt6IL<&& z!crr=XvjXF$fLYk+Qu$#%McA(lE7>Cr%3&oE9!+N5eqdM>Qu`2I&gDqGOkvQD~lrX zd`Py)j^v$tji$1$Ne^v9V8mCgcG*N4daDq1IgL%JUke)8Obss)?oZWjHQ@rvGklsL z4+LK)w`gfX_K1AS;-o|Na(|b0K)e}bX3=nXH&qK`CkdiQppvGM;<}c-k|rZpVfJVT z_1z0JUozv>)i94P`Re!lNZ}#nvC+BJ_|91T$g{oLVa7BGPk`O6>hwd6;+^ljHdai^=hTnXLwZO>9Noy zlu~|xHN@_bW}(ZcdigSS)%m0X3~@S=b13?-OdE#CluM_790(rgcx37WkVa|rHa*M| z5r>2}3S$P#JrqvK;7phkXS>TmSWi^kKC$_&sQ|Nf~-yu*q~Ap(@nos_n1oqXkmH=em^s!v2EA~tn23Fw24$LFycd0tT;7>Lu$+w<3$r zv=KpI8lN;XQs;O#hKsjLqtph$Q)zDgM&KKPMIr73vky##TZ?Ac5cSM@w<<-|riujI zDb;s_fe6N>#Xow6$%*%)lbz^>V9JlK^?9S>z{f>j2zt5k2z4tuhF;<;pNV{Br=%v1 zx_P!PG88MTbwA#3{?2!iZN(Z206;eu(EqJ1|Gz9NoE&Vd{}h!sq9Wr2u&e;`o17hh zCCf<|*y_mxQD`FT8VPDQIS#O-K%@z$oK*V2^XhlEXYsiJKF~l1KS-6#%1oFCPn=LUMBjyED@1C@ z^g>~U>#iJG1aP7e&q1ZTxEoesZ3_(&EKaKOR%2*`Uz15e;hCU^ZooR&TZ7y^B4CR3vfIK}n}U{C0ku!hNEEvEjxTkR)`e*VywQ zLXhK5%dOeMWbmS5z4}y5^NvSF@sK+rG>};p849`!G>R_Vb^Fad``x?y?pJzk@-7GI zcrQa+{;n5EO&}*ky3Nq!L%9su7?h7RG@}EG6Z}z@NE$pO&d{A2@YAW3wS?d~AUMGl zikcvEg>3OQ%)O3f%Ag|NjUbU|%&OJVmvki{2yDQrQ@2ak?JsyHJezt08ocm+=5J3G zApks6cSlwm!lrT5W8_lo{l_po_Afp0R4xWbAy@@C66V6g#GBv?rta@Jqu)O5?Lwu8 zy~M){w#m@W;A)GL_ZP_ByaTI4N1YbX*8@3t?GNef6*3 z*;VJe!i~NqBh}!xwH(_pBCGx_npb<-2aP&GJQcrqpS;amlXq4%TagIHc9-*R*YOGZVFTo@^w4 zma$QdgPNpI-i^I}#+N!atc(#-4Bo)V^An@u5FXR=*0y!s*hg_=*-|- zfaMcQ0D(qNdEwidbLkkVv7x;m$!%XWyNR%{FZM99fDf0(K320v2`3?K4q}RF>UQKR+RJS~1636ar!i00=BtKQQ}^Bo z^U$l#VzPqXR*R_plVrqP!{(F>V4>Q$eyD8k)lfEAb+hwXm^VBhUkFR_>9|YC5cXkv zshXM2pE2Fuh~Eu)y7Mi7(Rr}mzaeU^&021)Y`lon>484m@%phi1+g(}m$_;{7b=)z zI{0~fq~?qJSm4FsHhLLO@>=%e-XM5-Y@iIjHnW~O3nYuj!Zqxy*Mqb7l}jePTTU<1 zMra*3LI+Vp?cwkmtt4bSwXMK5c5zyl&6kjzi&JIEy$lEcu|y-{lWL$m`F8|CBc$6@wGDfKGmc zYmhYJ*9hd?D$4}Pgv1rV)`&W44hW8ocJ*;lhTA-s23NR^s5G2nF1&+m`TrPu2QI<7 zY+EqHwwYnuwr$(CGHlznZQHhOJ0ipAsJgGmtufyCs{1$WbJm`Fu8H7JSF)EAxJ*Z* z%yP*-uQxgzZ6f4-%Qp4u*bEUhxx!Ebw$a(J)KK6=ub-swX!bp$XozuPd}w?FIxkF2 z^VL&$p=&bmDq|)|Rf~gsL%~^*)6s;P2F?InZR{&RO!c z9tXXLgm>P5two)`C-EtM=!e}ONz*?&T>nvo%t*(|@=qUPmb~`A#I9b?s#jjhmgACA*U>_jilzC6sg!um^+Lm3Xr2C)<+Qd9gbtYtsw)(8;_wezbMDT zSj=h2Y2uce`tc%vqNC3T6J%H++Q*DraDw_It4gfG0H^ADp`TD2Z_|@@T;_$dk(8G^ z+Qw>#J?@d1j*3A;3htct)o*umI?ko`hKsV@|IW0*O?+J$-srPsL*Ix_qaWLV5xchA z@B-BwyzatqKycAd_igKsAtQl?m0i<6Q%avQ=>xhpx7I_`$|geOj=Jeb_-m_)6~-p5 z>w#j(V?d@Mt*+4~1^I!@1*(QaQM1pJScTF{g*`Wp770T{7AbwpyfKov(Axtl-aRa@ z$jEu+HlYfvA47*OPx4%FxY=y4t~JGWj3XUK4PgE26gOWBx=eqFr0xGoBw_#WWceSv zv9X)JwJtp?Gt)mEVUm)x?LHlR*RyJ*10XVEhPq4bOgJ!pHDdK<`Sgt{J9MQp z23i#iSx=XcA2GSM&1_kW7|E<~F$$qn=o~3kOWMq&o#2QXXbwCLebo$Q#BiTR75QiI zcIy&B3y^~&W*nC+*T##BGXcK7V-{st&0u~L6o_Kd*`Ot&d zc~rIRh1OMy0r+JJ&SGj-6=MrUZ*!u+v#U+!1xt=;_WS_eY0?CYP4lKXDWyv-n_bof zkcn(eO-o0{YZsXOYa%I<$0qrXYGn$>twFz_fpnS_@@|)A6(i}AAyady;d6qz#qP5g zoLH(3Q@7&g{t=6IRz}))qxkXjz$77207* z??Ak8|JwShoeS?N0DbND72F||d@yVDAyG0jqNVLKTLZYxdtS|}87AIRLsj-@-)4fu zVO!+ElcrwoiV<^Uix6}03V-aAEtx-doFvUCs%_*wqjzAAi$=iqa(k-E`YsgfE4gyz z@dCMxi}YLE1Hi8tQiDeBvrVS7hYd=!^_p8i?dDIplS4D(g_$DoC-`=PA%${<}X=6|^ag)p2p5wDda6RE)L}MbKQYi&ftU^*m zWhVq=dLZ*sVv;qSMZ1(~R|R-x1Jrcg4Jvdn%rd!nrB_gh-)G^4P5xx#haxfpDwzb8 zG(7)X21253VK@ErmoWcVNB{p-fv0cw4{Z35inQZTmec>>aF^75LKk0deNaO!&m^$; zb!M8BRCB%~4D=>RI}D;3u5q)tTF8OdH=;w9xtl3glVaRgG4Qedi;qw0k{6WtR;G~Pf6Ysi>cV5 zQkk@yj`#(X)eYo|t%&aOCO1e&-6lu#-nEVM*lmuCc?ijsO(2P2QDxEqqm41|O(O6R z6~PQGRIZF_wx23cmnU!cTCh6nS8JcO zP&tp%81SQ9#F7#`?j7AYpc)iFz94>)G)a7P0dEO!omdJV2kLfR-0PfoNhmW*Ge32z zwYti)f`=`S`+oI~e&UuYvNl@LQ8fB48KAg-zvJCtl zgZg(MtpYc{?idw4Om4w!nEahDL~By!`h1f8WRnOmxdWoeIy+U2xk*Cq5!@He68Zoa z@pd+Jed@Z^(T^hw=oMU`=~{($-1r&CDtC2jHoD14kB&;c>bE2jgkt~0X57VWYGs*D zw}u7;eO;5Kk>ol$Qv@%5ffZvj@8uWN8J^#dnvTQ z(^|54h!T^TdSV=UMFHx%7E=ks+#)^?B&FV<$hDjJHrMvhqBr_td>#8u59=lu3ZlYJG}5( z$=COLnj9WOBG=6TDa+uG?TQXwSN2X9mXvA0*bA3kdi=|=;Roo_^Aup@Hs90mwi5&T zO;~>bbwK=vldi7^nNkG^7^EQtzASUWyEIB}eSKmH6g`@(fDOp)QkwA(A~$8bX&One zui@JTtueVPMlcBn1yQY-Y#&R`<`Od+zrulV(GYRyVq9?NK9zNN#`L_#=I;VB7$9)} z^JRuciUq$IXJAov42Rk4JUo^=7DM_a5c?%4RZW*1ENWjh+9~n6pDLs25q7u|8LU9z zuBCu%FET7{)4XTNUhamIyaw?o@m#W%bAIj;g>k z^5Gls@JR`TX4cN9?LPf&YgiHF)K}zgSB$V3ZMibun zI7lY?2`SS~{EVLA+YeTTd7>1fdEc0=>W^DByU<tU1w-JVJ8 zBgE3$v%bC`PC699eDx&szz1zy7|_C!By6zH3E0D_QT=Dr5iBZT+O@ZH6-vgwZu9I8 zHVT-U-RGR-Y47#%9oC2*M4%sZ>8WZ4VY4jsQ@-&Rii0Thwc{_4856yaVuL z5H{fic`h4teiB7zN*D%y>_rBYY|8p5KI8K{5i%^hf2$b-+USTUYa~>!z1Y*Hw^0ir zXC7;;LYB8ihm}i{wv)fZlE0GH+JQK@DVo+@zbV~d*@9HomOIdjKM zNHb!&KM|6m<4V{E&ZsJ;bu+_RLz6?3i*m^$q zZc=*Mf~$zR&6Fd60}-iJ%=K4gbvSvi(u1@D*vLV`AA1Txjs--ziwV;6RAyqGoAq;tmq{(L=Zi-jKp zMvXOqRYv3JQ|yz6SYMngj%IKkHTdJS^_%-}5=c~0H={pS17J800~QqKw1#+oYLCc$ zHlG!HB)8irn!Pw4udHYI9%kx!>D@kPcnw8au>x@TMOj#qGWao*3NW8+i83$w3a@iX zpn;A~Fp&X55n8M?1i>QV{_43O2l_0$zG^*`KGO01-y|L}gE~df&lw;7*E9aV)uSf= zL0~eI`Y~8!Z-eX=@2QbTut-2PL_J7X`*#p^#02VI z@;GEc5?dNPF#24~YdnbN)gzDjdWy<^-2U|XSq@}}xupZf=bVX}FqEoe zV?pi9xu^Q_$N3uLs4ItfVFYi{gw;N|#RhR9;{R5D90dxwW;E1SQ-=h(1nw6FOe`#^ zx^4O8;WSL$ib!E>(aq#R{RZCuC7qxcQVl#!MOw0W$iMCYu$(bdWA>G@SIQV46z`bq zuUoKZmnleN=ARUcr7^mAI@v;|U;*pI_rSMG3q~q3pwbZ)>KGep9iEP_{1i!-wzsO0 zImglA%5R+_G9cqKi^cZnM>x%-2dg~^$;nbOX&v7dT|^C#Ha3K>nxgzEgUW9!;y@P+Zt$s>!kprzozZMP^Tp^)9I zPZ+t*qe%Zg?!=Alv-%Mz%OZ&wMU#|%rL?KgkytLdEZk5Zx+SF*SYOa%YB>@knRAcb z``)E&kA6#yU?wqVh|IAs&j(^PuRch=<;F#J-TL__!_W~@q&~{Qtj_AFuG<`+NDD8- zuSn=6zlRTree3q#xXV{OQox+%1@Z{A zysUbwIPISYLq2bDZkrso3*R zs%|DDzbnm~2u*pn@b(@7odNz(%i<6#bz%=!hQTLVAolpr3|)KdAeJn`aj_DG#-%>?2Xc9J$>Z;Zzy1K^JHZydnmscVtmM(%9 zkc+UkyBg2`xCE%sN=>Ua{5>*I{#8W#N1)MNB0|Zt7_?n?Aa7Wr>j_giCfpib$$1BznB-G zKj7VdsN9Ohb6;}~cq;d=D!1}@>U5l2jXiVo5{IS~Hn%>(2DDN{MQX7pM&YVT%L(I zeq&lY?Fx0rnX!16xxH4{)DvEvK=2G=hNkt>ou(1kS?O`PMn961fwA-vsuHOzfPlT& zNwr=F@EgO>NWgsFtvZD+tP2Zjjf7De_eopH4PS+Xy83E(=$Y=_4o7EFYI#E_>q0V) zVM03ray?M7ZWTp#52f4JgCaHak3Mh6XtN$@_t1=vI%IzRtn!|n%2TJSGo@EsJ0Gon zWj02Hkg_`tPJw&uxklSL19CFLH((uDZ|;KPbXnyB*O9Io=nF7IQjnir1-S>xz@}so z+}pDVDB}i$p|Oa31=Jb~h^j^{tF;jCI-RnEz3%6Q%Mm?;o_+P7U5B+DIx}nB%i% ztP=oQ6xQGx^{ll1C}Taf5TP{jRO_(8cUK|J6I)mZ0HR(c)E_Zi-1B!*-)J%py1;0y zlqH99r@pI3_+|Q|Vq#k01{pGv5*E{VN}etro}SiABd3J1AeMe=Nn76w1C1p{^84Bi zJHsFq@0&&+OjH!gHr-b*XxF|8`0ExMhE!nQy;dZd;Rj&2Vc;7=v^zB$p(8}!lA>BU zx)DA$9f8&CJnEK1-(@Xp{+R^h(`4%j`bVJKH2{;UX%NRwUlb8IcGhSJ5J#PTb~QU< z?1WgxAkOCR%IqaE07^)HyI%8pJXDF&AXnbuf@npGxfd-gGmEuaXv}85Zwxx+*cg#R z&5E?1G)wY7*Hr{=ns-{0!m!DMeFkI@#ZZK_QgKwiM9l1brmqXg@Li`ETjxD1)1J zqcar9bmY9VlW{S=a`HXS96QQT)s1ODG9tl)$|%&qb@r-2yz^pIZZR?&Eo9Q72DiC| z$lbkS@z6Y>;cKgt`X0?mPSYdKBvq z+lbyD;ELN)?a~5%8U=>=T;ux0J2ERm&*XD@e!uzqjgOP^s`YQw=0(&UmP~LL?xQ>0 zL=(zt#JIlczI`U%mc*3Rh7FnF>l~A+h{r1LL2$e*n zr^Y#;us_(`Z)~_}xENVDFjHAlw1I<)y|r8)=GGU=uv0CvIHpG|&k2@c6iVW zR9OP=U^qsypg9f-&ECc4&PgZ^)hI8gg4Np#TC3@Dh@DJ5$1wfU?U~q4a~bP>1fG7! zyEk98SQQThWDVS~$%4r~YitE@Xm{T4S%6iR+wmYVhx{r)wXExlPsDE#1K{3sGrtWVKkhnxZ? zoOlI|Dgv!We@a-4VD8VGOWOl4qVM9XdkPQ8ed(#3%xAC~5-mmNKc$|8-cHZQM%CI! zmpXTG*fsV~2Z_F0fP#S-1X~5u&V!A^`Rn(4QsKHA7lJMYhM!?k#~oAN;7?qi)af|n+dK(QLzDW8Rzdt& z|G`E;{?R~BnrErn%x&>1*6H>ni16>mawnV$p|zI;?8Z2&)x82WQ_Vw4Yn}6PupyVW zfEkQ7SmJMW+Q(h`Zjb2e?LUBWNVmab>#~tH1l=VgDb|98EemrVGojDdV31g-?j)nv zL|r^Pm}}IHAYr7TE~)A$eCcqHN6t7dZEiI2O;)bcXaY=ilpX=k! zlAU&+mY(c8GI|WJ&^=m@oH^bf|DM^UjT@1iKQsI4zqS$nH}$KPzM+G;_0P06wbHjS z`Uk!*Nsj+t&*9F8@T3_4cE8!)D*tl4CgdbLa)G!EbhV|hIBN~z&>q%0@}PMrw2Abz zth6mJAYVO^TsWZ;tn3CM$3De?dNE*0lw&C(%f9ePx2EK^M$>t7MzcNGK zw)v&PqxGt0AgE-=h)Jtoliq;4XXv*t7q+vZP=Cu{D+}Lj1?a5fwM<$Cu2CV(;91OT zFq{l{FGIGvcWj)^UXC9zboKp?)f@rdAuD&`blNF%_f*`rJvBng5lu`B$y=haWs4tD zm3I5yEt~nRt0zTJ$bz&|TG)(BFQ)4BM9K$y7`SyT-DrTmlYxi+%4oHCb@|GQz$NTG z8gtp})HbFl-%EC6(D*{Pcg4E#5lEObwihf0l&;)eu-1Q*m74c>XWtz3h4vyQM-8z4 zYeQi>$X(C$^MH!~uMepIkh&V%8vWSjP0elpb$|ZPx`L5~=^rb2m((_FHpKqNIZp(^ zR27l6noTOKfQ`XmtkxW`Hil;wM_pzZKeZ#8hy$K0_G$GrU161(5A$Jy4Rux#_+!E;q#H_wR=l|K;v9~uiU7af&3u%>f%DZ z0F5=JHFLGrrzSKX8CfjYPEMRK5`X2db+orZX^?e5T4UD4^-(x_5S2#J`I64sqL@KwUNQH}vxY{*+p4=IeU za2A}NO0IXD$iNhuh6YuuNR7w-Ed96RJh%D$fyD4&r2F&y1@Cf3UD9#V zS3w~PR88`Y-fE6z0EMHPr|9p)zc{PFVva=#RtIvRihZtTUUfKCt)gGID5Bj1r4$E# z*l?m;X&!FFeaCGVt!HZ5MNT}(wP<@&EsWq={*P=d{^9A;z z#V4<#ErfT{mryZOmI#BLZjm~b1NOeEI4&)jAM+&X@9A{sX_oZo=_)n=>%rSmIv#upukyw+%t0&GYOX;r(_8X z&Rz)bFScbXqHW9iE{R755agnzRHDO*9a8HJX-@rxVelr&;z%|Su7=oVOPMg!@|aDsXj0sf+zN9h6l%gpB=0L+_m8Mg#4(yV?b%#-3c7ZzTtw= zpqb{rabE^S{K%?X3X#WhmqJFntg+x)150Nb%B&Sctr(Kb4q`AW= z^>JzWz;PD$N3bd4M40?h-VyZLP?>gvBAuIFHl+BHlYccdl8!eaXvErj`US>5Z%IIc zOmr!{fP?m2$p(x-c+yQ;DY%k&iQh%ugwq)=$B)aC43SR4n30C0`Th46QpI6-pXl8_*&sS$w!1EM8f@BHV1A1T`IQ2jd(` z_oS~B(Pw`We+kE6D~t)cakK?^z;ygT)lUeiaXHEA;fgzxn@l3M#!g`yN0J{mde?It zqe%nEs_+GgJP@V;)?o3WL=>p??D5ai{S=bkp*8(JD%*~dE09{4axkfRwv4nY(pSun z9lk6w&2#SVd12y^ehUk76=pM823nTWR2V(;4yU>CKFmJj>SVs=a39$`-M>(%@J*d zGG$r@uA@t4CNBn&W(sg`c4>B89~N_qgj!$!_{`XGE@qQqd^+51MBs@cEhISJ1XisjQeVO?{4kA;pB-=a)jwulnxSwoaiy8 zsNmiy1FpDkYfKN_Nwrn_J3@beqRe&P0 zeNN82+uTOTjm%Z`29J5uW)7cV6u`QD-6CuhskGsRJrW5%BPWwnjTV@G zJ+Ln0GoiOGACSg^C_;WsyOSt-d~0^F)gtpXd+0Gd4FE>b%e*bL33d)ptU#wWhPv!w zG2#`eK!4VyFpCH_jmb+}=?O%D>R z!hYlte3YdaRx?`X%1YO@yFVK-t)jE|$1 zJbY;QkuM&8K4uIxKLDmt%-IM|HY)fYeKRG`OC-vs;~f_Q5R9xIAG%=A_oqbHh5PWhbY_jIBat;Vc{J;R?{ElHQ(`y+ShNF!U*-l87Km(C{!yql!Bc%N8pCy$9q@7w^;>;W7v5 zqR|!B!!u8@I6Dz->i!6ClaKT8z@oeHFQ|E5=x>A1(B#NsR?kI;_gc2qZWgyJ4!RLu zu;cu<$vadUnF?F|1#{|V8=U5ZoPpris!X(x1uZ)neoXl|aUNLW3TYFxZ+L`*x*B=s zUozI6D}w-U*YyvXo#+(_PA)FP1Fp#-y64kyE%(Ps1G9=)UY)??v8q$XuU`X__Jk$5 zm!w2JUKt+#UZ@Ywm~@hYY<9wCGmeJ>zbVWxLr^MiekFPPJg@ZpTZ1Mba3DeSqec}* z|8Lu(|EN8)wK24H`eSFTYvlHW#|)i++MIuEV#d0xj4c01Wn`)TN00NtTJ@1<(;v-* zUk|l~!uv35>3w=c>p$E!1vxwO54W8qsnBf2YF-!e3wG??>$*)+W~ zGWl!j*rXj($~rPzd0|B zZ7S}trjuG&s`kfSt@Do;Hzy~L%^L6@hYId-3QCab4v)Yeb3|t`r|zo-lposLkCF$s zPUIes8%I;2jhPV^v=5h3oH?~!O1{wbk8L8i<&XlnfL+pAz(t@f?JP|LMWe)1mE>lt zvcYsWI2xtw_XtAltLiih;XsjSyrYhuOlF1$1< zGDQ+*?ZR~N_CXIGTSZe*mNu)yGtOdWkVXhLa#QB~oP{JnPpGBVBozFR5@+W4%;tjI z){BTqlz}z)0ruodG`J4zdQPGvqJ4J|@4tLVe9c=XUY@RZv*L_gb@oi}cx zGO7weW0JP*?f4Eb*cC@l^%qEaNP;mY@~pbR=im>wwmSS~^iQ$5yyB9Ud&iPQOna-? zGfgcD0nZ&yB)vfzB?VMpK7Oe|DV|`&tJ=p`QAHU`N`o^JKS1li%co4QRcP>9JQT7M zOvlJ7aUM`AE(lP)noQ`DS@OSQ{MMv-Q);GgL8tg>oWa;tIqp?N)nCqZpxLpV!}TnZ zN>(tf#_t)f_>vUH9<0p2X6G`3T}UJXM``jkw%Jk8V8RmQsKQug)CliP&dZ-GsBhMT zI99O$aYXk2nM3zpRnjC5{$}`;eOvvHWtkPme8)*@%wDqva4S9^IC?X__XEH$DNdMD{Z`v{8$KR_&eKYjC5dxep zGd3}ZvZDz4-G^KvY;__v;tLxjs^dz2)b3j7HexiHC6ruu>bQ*$f94Mt0t^=15O7a+ z_9EBq|EN_BRKtI2G)PU9Zz)TJ+ys-FZcL4Gy@zOxdq$OtrLh~N18zWOA){u`**R^> z#(&)!#dmUZ;%33XfsK%k@lMguD{3%T43fTu3u5z*FKss;+MgG#L&1%#W8X{quyudE zoD>EO*mh}0T^$*#t_*!`X&en5UA<1d92kARG|_Y%mBU|wHGtF6Z*L0`5mMP`VOY{aB)JJ1lu0{bIaxyv30 z8vEiR8iyIjlM2QBnPCMbbbEMA%(;*B?T5~tcE4!r9fZhp!nbNda9cT@meP2bg-X<* ziwk+lJJtE#L^ndx*FR{kvjkOX_)AYU@)1F0MN5#wKsloCWoZF56vZ07QDptmh6Crg zpeB!DCtwzXXYy@nMZU}H6^-@kinb>=#MV;J!6djG+! zypNy-bi6Mch=Sn>`*L?i#~Z_y`74I)P1JIOjQ1qw%AqVRP3drO#a0At?^XZe^{fHN zwoA7*-oo;a%~T4EAn=wb_0|nwLQC4chdLV?NA#H#;2cPN`kbJeVr>bHl+AIts{?x~ z9QruHgQHIM+GFp7qZ&6ss2+PI5vS(2cQ(eCtQn0IH>{3{wDEp)WZ8{?OKn^JJ}yEU zVy78p51+M9Z0B$<k-=jdx}aIAJ6}NmA_6i3edy4C#8(}#|Lp>z`d@DS z|FjU9{`A~B{ZIiW#y=E|@&5@wXJ%(%_y?jUOGVRho#S7bo~wHh*oIa#Fvn2>@$tp@ zNTX+&3oZ=(sJV)o_hJk%SC2h8Nr6c5vyCNi_LoZ*Jzbt16VIx@n3I?FelZuV>o4|b z%TF_n*`zR$VsxRnOCMR&dT&*~iliA);-~4HJi(%zScn9Iu`jj`i zAzEQ}nk8$?5Yv)!M_Z$|m?KngOH_5rrsfY^DM zDWN#UYM6K(Mv$>|RSdYg5H{lgo>@#C~#W5*KKHXlG|V>r7=cyu`LI2FK$^n%mS*y$nd7h$&6-mU#j zA!Q`H5viD)Z_&wj21O5@Obp8OrxPj4n!K^oR6^TVQM?xL>_<9>wL6iV-@5B?nGbY& zy3mYG(THc7Yb6oLGUO6B!g<57xfv2sL~uNSLm<`l7GrGt6~sgh6M|5?&EmqAnv3F@ zO~~!4x{(EV8$Gx!ddXp{Z0Wcj_R{e~Xo5}UO3EyNNtOk$4A0V8ZH+!y5%ApWh3*XpU{w0Vm+?$4EZj zFHH_PkSRg*E5xy{mWnX$M9R|Qw9c_V@adfznicXBH=>ZKVK(@o!8gaL;{>E<4`xx+ za#0Q9HwhZdNPi@mR|cW4I(%~2Rqd8_aF@wqhG-T)DW*^t-nr|y{TmxKdW#an`0qVV zNcoQ-n`hKUWv^~!%DQb-8Lqa@_OunbmjNFO@Q5ri6}8-w<>8r`Yw2iNlY)z}B~ON~ z#^AjMXU*`MarO@c3;ik9cjta-pJbq2f5vWn$cuvmh5k=rC~PYxL!yUH%yhaI0@n)x zA|k^bJFhi-xtVg?jyp_~LuUF{?1exM4c}%UNY-M_^kA-+3t$Kx3>(gY6{n+@j#Yti zA_kz+GuIYBgo!lV;_vuDDL)}Qo6~?o2lyBnY87o}jcCTA!k4?S3?rO8)DqXiH+Mo1 zaePBc1GAPAmVAeS>tC8;^&V-l!ezJtgF+`nE=o6lmrOEk}AhZ zrampg?7aD}Ul!tuoLoD@`msdj)KSn%9=bj;?Eux%&~cxDr&= zwoZiI8MAu4bjtRQ&<`hYm9go8rXptuvFD;7f0Ehvd{=-k%veIn4h$ycn z)sp9JOo<{)Dirk2uC<-Rc-B89D!~n3)Mu>*el*8|5FTtp;rr-)pb8#s*n1kL*k~Qi z5t|S>JHBv8QiLucue@Dph9Yo$Dr;fVE;cV{G~Et*6Q8hg9wPEMJUws!<7v}UN;Xsf zA=^3sE7|@ZY_6m6Pb=2{TO{Y?Y;EhH%gR8{O#ctVdr0+vRka3WsW`oZd@{hpur%F} zwTd11M?aF@#_TvU@qm=V`<)hI7(FDGwaonhD2?-#8co@){R=E#zzC?>VE=q29vfoG zuua}`DwO-Xb`@(SDC34OB1`7*?=il|#grHvxQLc&ZesE~lY3x;4ilVeQ`ZVl-g zC5nMibRh9uNjIUQzkTiI;gX+lbYsapk%4ekCPgYW%M-WR=P=6j%X+JhY{lL~>0mzL z&;i>pyD|i>bsBjzddr+g^4@V9AyOn0Qi3Ih4G*$sQ}v4$`o&}GM)X8ngyKcPBX0@V zKEye>8f_L`)>$V3^5rV@qtu9LZdiMo@AcL_YgKkqs_;^W>GlElS-*zUH$j! zoPPMRDsqrMM?{h)Nj2{LFc<-9pVX_QV)9MO!!0CvlR%?|*P6hI*d1t}D z(C{soYqbc5N3iUvzvBamr2?JVypI!P3Czou$2}u6E$I4!uZ-gR44bd`>0~-3gG50q z$)Y0r|Gc!}MXAdlh2Bj@|L+(M8MbwmehLoswHA66SrRr%5KL(yRWQH7urOmW-U*T(nuc9C{`lhLwr!p2X zaA6V<#>MYQd{==f#-A}beU4FHA3Zcii`wG{74W6h@sX<|OtF&ng$m#HBF_(aFeFUMg!kF+PbVy#E1++8I9yU3DTDYi8MJSGjp_A~d4SbT0WE z>*U4N233KqnDt!T$(uGY0XW{_4=&g?+WgI)f4jCU7;bt*aR&jpgh!S*wRi~`ZJb{x z-%3{!No~gk^sY)l{n86f`xG?1Y~zW`5%6BiO@>#=U(Q~Lkt7fY!Yg4CK`jC$)9`r6 z1OunzeDXK@8U#{C-IT0YNuRaA;YRzu?MDLkVvG0_@wMarAH8u3k7dE)N<<593RSHWoX}v-$U|}GI zM1ZmM2Z4aVFu7>>i;vwe^fI&$V?H&n5MxFmLZxb#H#6&{$J{TpZ7}nYn{DYQ+ zLZJ&44w?Q^HI)?_SQBWbP*@c{;YJjZ?w^G1BMLhYq%_&=R)dU%fj7Dh&F=>h zr_uM)B=W9^VRlo?X`{$;4|vVI{LwaD0jdl3m=L*~sEXJMBpsd{d^|X?I?rG=Diy|+ z>`SgC;7=`q{ibk z+eD}NFZN%;;4p^Sm%0u9Gq&BIQ2%-cJa>`DZU5XLwJ`rbp8?j+R!-(Wj{sv`M{`pf zeJAH14$9it$?RuM$i__fj}E3IwJjU0Hk9t25;i+p3#@pHi6<8O8f;Gf&E+uswyx7+ z@KX#40xrR6SkuGO2#_b{r@wDRpVRp4jPX}SP>ONbL>}1 z)^n*v&2J5?k`?LA%Q=!;m0Dk~OKWpyW80yu6$WP(3zZV=1$T88H&6*dHI~{Q2bG?j zX@i6+Ng66P@u2CXFiwP+{lmjdL$(`fmN`qs7V*{IKBgU{s){OPH&gw+R0^?v-(@h} zRATZ)l{7D;IS-Ac+F?t@)b`V=9E?THgbdAdEGz8H(dFw^(y-)@h80wm%2DbOa#!3g ztW;I%<`k0wG?U|PnW}n{N0lp71e#~_`jS=UFyxd5e>G65ESM&AHBO>Zzm%r)li2V` z#}8ueklHo%9jh^gi|2@cOe!F*UD&iaB0&NoWq&zxW<@jFOcc%A-vr&lXWIZLMGiD->H5TLyN}*G`A< zoo^b!EDiGpf*V_FTV583>P@HxswwepBV(HBM-ppA=W zU^FNJ0Uhv^3e9%!m=^}gNFrBb=CUA~i%88ARi${p(e?h@b$M#rtk5)$nF_;?;ULVI zbtk{m$Zk5S_R?!EYx17Eq*&$~)z8_!lJ7Hzx+<-lS81H#&WO%WkN%+#FM4@WCb&yzMtnW@hQ)C4-l60t`KM^5 z-A;KIXZRPxeJ)tqOdNW#hHT%InG@T$$4-(8=*4b-*Ep_O&&UWrMdJbCdN1tk0ic?& zgHmp;_~Y}_e(-d(*>|&x00Gz~3u+zcfc13|vJD}q{t!q9Ep~Hm1`S3meclC0Fyhir zb`vtfD?=>JB;^)n_n|d4S+2(cMUTGTYqQR|yCdE@GPUK3iYKOt7#pdRJXQLl}J#2`4=>u*s$%1F)N*uslmFNPHOE{&nM7_o(Pc;oE1#Wv<(V*kpL7N2)%< zh*r@?0b$>Tkze7}@Ll$*cN<1LLQ5EwZWto26?~SSOsfcD0_i&vSXM6aWPVKO6I5b8 zd&QKGl%Qq)3Nu`SlfAI~YuV zu2o{purQR~978>!uS^(AnU7(C`6Mnb>flqr7?e(N<@xB!AsodDaI^n@f%quabvLy| z6pfy)7LoF3n~wyU{v~|A(ZiIGIXCGQCF}=?BwXhi>JQ!S$&!9|=@Has&2zpDyz3#N zHK#}_@4&y=$U;?7wq`R1ey3UXLo{8H8Kz;1Jb$ zXNlyMC85LbO;D|oojE(w_WiBu=Eh)f0v<0ug%_F&17G^T=u5E0xk?|MNut#Qjk3TyZRJc9uO?in(!<-2>KUtRc)+9 z3P2kIar*cG)x;!f)y7J~QQ-I#G^fa;iOV1R+sT%BxTUA~)yBfc~mglv=Xjj~dR zsiy5VCoaJZt0g|q$Xn-tL|pYUHhsIAX82-wkn^a zOq+?%uOaKML7Lza{NM&{(zJH110O^7Mu=avS6!+)0qo5@KwowtLslnZRp;)=p`#DqmUd- zyT}Z*0P!sH;s%D`d&~YZ^s0YfiMZXl@U1nUrM0au1SbPf7YZwt45Tz+csGAT%ND5lcM_Ds@G}PBB(4;x9_O}vvKow zR4G5~A%0VMmgi1bvPXPIAW!Y1FK6Dl1!d9RiE!9$$lj=9y=^drMudJ)A1g*E9 zjs=PVu7qpy*Yi^2Js+rw=6 zMxhNWA_YQnP7(Rs-$w5apF|ymCo;(ukIiIgX<{E|!Ip%HPNoO^a&c5A*Ha+)1Ij>a zP-^-OCB%jGn`~iZ=?AXpQ~BVXjdZ=?faJBp!}?`RtIXVtp2{Xtg3S{VP2*_*#0@x3 zC8i5|5BAV6*g+@eZryG?*D$}f3BV^9b`w5`fJzd$ONzl_ zQ-%TEe?h@UM2>Y7&!;9<&qcZdLr$e=S!M$s@sFaUX4P@QMdw9|FLRj!wQ6yQCP;~y z4j;j&7z_|624lItkzps4p_wuKg)b8@-j5)Y^&ccV2WFN{d~)0Veh5#DjcNgtSBK0l z0{RhBsg1D!gj)m8Wq2f`VdMzkN|g3r@=^QUu%$MwEA(n0;tUMA@$rKwTEG>z?S&1^ z0~=y2BT|@HY&^rZ@a0(idP0V0wgHMsQ;7TCusmk$lFy^PHLuboJt`jlQnzLxR|i_jVa6=mt2}dmr20k z#;!`u5>Rj@q8U{+u&Qp?sT!&X9Wj4>g@$fu5gXtlmZ$}p)d0ydl#!r+cD!j&LtmcL zxX82#TRt3~i3v__uXH zrpl5H%sc0{pH#sA=CGC6fPVJ0*Ubo{g*#?OIj2Z>9Hvc@-{AjY>>Zmk-@mQjSXXS@ zwmY_M+qToOZQFLoR>w)l>e#kU*1qpkdsprAUv-}34P2G)Z_Y8t_>AG$@>#qfXR?rC z_^aF>;O6ujFfa|ZK`^>Vvzur?5YEW159Kcr_eP(3t9CD!a|yP;3YZ)|Z((Yi8>tns zT!xWXLL;KVylO4#)!wC0)|8Eof=TCY6`^^e9&FPLehnNpA8F-yxjlUT9V)l$4#b{o ztF2clFhr5+IN-)W-V`kK2tHLM8iK6BRgSp`(o_eaAN30=o9{e{NzK^SI=I1Hwyh`a zj<@q;KaLKb&8^xz8@VxK$%qf~cl%7FLD>z$ydm}Q6`7rE+-wFdtweCRYgf*kmTaPZ z9vr-%9{vhq=p9BVxPFvw{toK|KfFFyhx&XR4!*oiR-H|5AHiet@%+V3Ba(k1aS_YG zR6m)64gFZyni0gmuRGrdo+PC|Co~x8I|+k4RW85^(WtTB;z38XqlPU*)Y!S zHfVJ2>=MuB92)l*QF*or5DZ~=wdhej6*7hxh1*QpjNvR_ zAJp1z_4Qb6al~)XOR@*ZP$76@D+Yg!rnP$!7)eu=2ot)M8TRqH%u{hEghr0ETbvlvwfJB)VoP9h}%nmhLd=W{6luVKu{A!ZpAsZaD3WP#$7Jrm5{bA;K;|1#*!yz&Fqc8`Psl znWkn7os3{M#FrUM!jVM@^@!Um+7ScS;~ejei!g!e3LFFs)`@@AZM))#lqr*O+t%Ns z!flyD$U9j~!B_=z6*wt%LQUF{Q2W2V%4c-i>wisYbstCJKZvGEHcAiR;@x-TTBCIu z>mxU(TOhG?180qdPs2KGaWRkbxg}yzlzUnESzx!&{P8C~>*;5N2<>&m)(iyN3J7GI zK4QMuqJwoct2Ub^GTSH~f46$UJr`AC^AZ(~FwS~O`!@3+j)#FLk6MA{{wYj=?*L$`m&e?VEpL`Ixu zo)c^8&5{>CGWJJ|?rg~yY+gV8T*g95^@&GQM_$+vVOrxOAE8sCOyKl*cg#Gz-7rk| zEIQ-jxIHncSmG4!Nz{Mu{Io{%Tfc&ORN&;okLAjG<&C|2_Zz#*GI#0fh0_T$ps9Qb zti->NcP|;kSb7{vuGDB3-9szpQhEKFV-mqIJf*j2M{y~k;!YD~&=dZVGNV*uTGR!W z>u}x9VB*)--^f_6m7(nBE_7jj>)?IKeuU8BNi5BOo~%FTaR$bm7I0PoU;h{0!l^8&5ULu zR-40P>LGZtFbZq)3D(Zm%0`W^*5cJ2H}g`t3joul|Ek`6Y1-!P=;=D=`Lc5IknpFw z>QVJ-i9nBU-?=(&O0S=9z?^qz&%B50!SBeWiopui-p_&~g5L)-HW%O8%{zoyM7IdDy;s#2cZLg3k}e z)vDf(voF=wx3`g0MRW@IRNG^(;Pjzu(!12T4_7}*-M6_e9;gGIjh#wj>d*Gad8P=8 z!@rL<99TjhdKBlVV#COnbbD1ux@jw{&MWsN!7T$5ZP`+&wl}A|rw>?L6-#x?-~9l$ z4<->6?H&LNx0V3N%?fTfL!z4f*x&pekff-qEn^l`?a{)831hU%ZdbOPq8?E>c_d!r zw&+__xQY%|7}=$rq`LfNH$#Q%Hi;Ve9%DguqZn322ce_DKlag0+M7%r`s8T8Wq7gm zmheA__r&D1N-c|P`17i^OUEoyj~H;%AivPVGvKGoC-$n*f1Vrh_LSb_r3#noaSvyk zO4!$}UwBW5re2dTMv_xEk;maiMOWgXEO4URp%E4?*DReWoJ$I=$5({o5Rll|akY{k zvCa?(sjwI8war~Na|8SSoy{1g&7V{Z+;jTQe;jk0&x8Pm*CrqZb9m?oiks zbtKSR1_i2P;P2Djk{X(c118nvhRKwwf^UmRXlv&6YsxaD<$5v78HaTc}aLeMEE6(}O=Q#&1RE`$Ijw zTQ*G6${(|XUM0ldf|=5L9mDklr=+E4UetSP)rEZp!l{NGOSH}d%a*d$JrqMo@`7$r zcEN%+kHfrZ1?OG+g`#}tKr=+L^n;Dl+sVjt$~%y#kt;+bxbzs97b|%=NDy*0LzJucEc;@(T%@Tsf!&Blabr1aj?wY{O zDX+Bs9;#F^3elQapft@dC9_8HCATKuNIwxgqctNxr3qPL=H8FS;~t-Kvh%2o>h`(` zqJAZq5>Yihw{d3gy!=>9&0#2aaW<_Qv9oW>`Zif0#F2P-i!siJ0QQbYB zSUSPWWz5UfpdbF;WzTtxTN?VvxQ(B;a^Q{lH8L`00#XJ4E!m&rhb@$Si!Mw(`9qGR zs#V7wT4BduPj!kIfHuJ<_4vJ23qQ6DG?9}m`S7{*YKdX>N&`X_kjmfp4Zz)bO_%Uo zbqql#7w!C=nK3kdPP;k8KJlVDFImIQ4d-%j9jp01iIqzBj(4=wHE{G3WO3jylqwyg zF<%A-=F_m&?G8w20BeorLm4l~bfCF<3-Mlk`e<~=hRAf_#vvoyc4Q>g5Up2b(1}|Y z|IZDFeSV>pxAaLDy7b$T4@18OL(ODqv&%(dc{otJU+gw12C*VxygD*)= z*1!2U9RJG4`5$3!6H_NkH&YY+|7$#Rwm18pg)N<(T}}1BbAkVFJBG797Z(%je|l4= z)b*8dI1v43%2sZYHZy@j$wN3mOa^57VA(HZEJsMr{tRqJA&XA5;w zjNr>tqt@B`(ff3OCLnD}#~G>?DmTT1NNj>r>SDh^-)XF&z^eh~1Mo?Z zU?kH2LL7*lW4h1 zPd?B1?ZLD65Sf{5pIFD#qKM(GwSAp?d(-mz>X&Kz*I~Q6M_2FD>+wYvKeB%)im6KZ zy9=a#xWvA<&d{hTW97;ag)9X*sFjljYJ`uYt1piY(v7vdvO%aGx2i};*8FtqRVwk! zG-MeE#`0j)rz$FJ9fh895$s@8`reWMsde$AOPM(u0RbeHp56mXAt%QSPbXiy zQs_JpUTQeQu=$xm>{bzk>ETaDn@l0x)p?EQ52NQm&6-?ed^QT45g)C9ogU zv=PxAKe9C`iW9H1Zjtf&kMCIWTyzU5B#+TgI0ekRCAOtMRU4L&I5naI^!A5gqo*`{ zZ53N#LC_r06Lbo?AXBI2<>#i*OktdTR77R{7*>=gR~S!psY;lM;}0&Fd;yykb@YboH!~Fwx;BA=i&2I8764(X=U(? zfA7GpQZA$n2deMSc2Fi@ZghoY>{z5jTn*pr;n4n4+5_BVf}N?qd&mmKu#E}J8<1F1d#z)T)U>#~9$R5z) zH>3#0Dnp4mYinQUBu%ecy+8AgX%4yBQ9VjT!>7WqYQF0ppx`clzGkA|6(g?=8S`Ed zwqK^Bq+Pvc(6PZS9pSpjsd3YoXPyN+p_%PB=*nsB-kQf4j)a<6nQ(6Auw`N?<(WJC z7(>nKDK}=PNZS@z{!{N8%_`8&2=y7fJNo&d!Q!tl_otyrY}!WgG+V1)TcH}poIrK@ zVkOr2IyG&l8m`JunL)YXJ*~-TDXj&$kx!Qu0o6OQ-BnN$!Y#(DHnp2U?q;pE<UU#yb_( zsp(_{*3Q4|BY>ehC3en^>$3|VrC%#29ehj8%_aJQ=cL-p=KO5>=*kDM?_gKi3J@^6 z@r|AdQHS3Lk8Cx#Fh4L0X<#E%zFKJ-_~?s3gMCt}Ayq5A3wmvtP>|mOA3xU=dRqOa zQo^g?>9~KNbQG9M17C&22|hiQGqD0aZl?3>vpZqOCaVCC($X<>FFu2zXtN#2Wpk?a zU~MRm_oY{FP7&uHs%eTJRN!iF9%7cypCs596L5Vub9`KYovF5f+wn`RTeg%u+J_~F z$Xir9pN2c1{@K8JGZ2u?%xbrWB6EAbKRx>|?b-H&0oeF^I1c$&Gx7h%G8x(b2PtFt zAJ;G^>bGl{a}b4bWRUCx#J5mDnR&=iXnxvmVH}F~Cwc3B!aic_!dFk82|X3j$>jo{ zCLf3IQRUqpo}%Os*{PCbWqMYpN2yd`QRBXzrD0lyxf9yez=-$D0GwiPp%cC;q@C)(F(YVKXOiIbj-cK_*Tk?2 zSaupt9Y)X-@4UD_hv*uHxY*{>6VkCIpnoo z8+lzy1iJ71zWO#wVTG*L$<7HQd_p1@5Oli;0~}`_AWiCS!rYIWe|D5BljE5j%>~yW z-yqJme7y}gnb=*V&pG>hK`K9e-4i+yfBj&`uqxNc)3HvH%Ro}w*(%aG4fB^Wb3-Rh;2jG$ zGdPB8q@(wC_RkKPy}1)(_G6t`(%GD;%SJsDlUMeXjUr4rYK8Hh4^N8jC|3nT_svv2j;`1svJKaRTESL%3#GEyGd-VCxec}V zN0mjDuaZSxymvIJUSOL|x-t4%NC-(3Ozl0wat&^8K3>z}i3{$F7@tH-B7xq`fW3;w zL%q-D#9kZnNOaOb>~M7dvqPbW7S-18TB8f84sRHg4Hk87w+pVm>G~n=pa+v(JxRH= z6_F?}@rr(Ssdn21~*3rL|#wp0!{}e#% zexo7xh6qxy-2Jmc?nOyv#K0CzNXvXOkh$3c$MpF`Z)5%4tJIir-t}}iHEIYZP)~{o zk{~LZ#ha8oCq!h=B8b-NGw4*|k%UsUd}uQXUik}4ijtve({Hez@tgupNgY0$;}Le{ z5DqWi!~$sC9#mt?B442a@M4Ky-rlY`PoX&|T^*mPsxz9iHr?$VtOnV-`EO3e*5V;%?2-f>LGMWWiqvQHejttJvAepaU$qokWL#Wseu z?e^t}ta7>9vV04|hxJ2T{^pFBSuY;m8}LasHDXQ3!tY>%=OY~!_KATAkYLQ=Y=w9C zy}fPEoPsWnkB!~_=NI^Sk?M)@O~&|#!v3H6oml@v;PG%VwR8RkW9SQn7Xw+ z@hI{~uD;?eg}@%Pfj0(EUbvyH&qrdvCYhrN8w=dMS1FF`OucmB`;&L2H^j9uM?`WJ zjppraTqU<^8UDwpyNEaSW)aF-l0HmD4)d!cbz^t9y9hgn8d?-DF5}5wW40MJbSI7F zOZzrYIKn_7ddEG@U>5MERtliAR5Akx=MkW4vdx<>OO(U^oj~5p;-;uUZ_y(7ZrjLE zY>3~7Ns2NFe1P06gjVD0-6{!jU{$7(%+MHIgp?Jb`$dhiCn6RzRE)S~$KhEdy62S1 zzkX`hS}T>7oKe3tvU`a~aWS1kVv{gS^+Vq;>;SWMU@f2mhf$Zh2Ijyb16sXYL?u9u zhOQVSUnQc09UfAbXa{dXZ{v=-g(zqtH8~e6D+;86h~{XZRBFZ&MQ=c~0ht9mD}ucX$s3pe*=FV1msf;plM`Q z$L3?UVfH&B`_t;ys%5jb%_SK^bn@GY=&kr~OS$kAW70LY}Qp1_c6TgjhB z-W4vyRW`PVs~&dv4lWHB2>mMkW&2oIoUB6#T~c9lE?zB=hJYbiY>P)(7r&MGeJbV^ z8SaBSqLds?MoAzJ$ra3yhVK%r+p=?=ZFB_4tnQ%zWZ7p5tq!h|pP5X9?3-AbB!Pmf zU)iUoh&v1v{hRq>e1$M_i`L%mb!=$$dXqzbHtOsu*X4tp&nXzpPShUTd_QLTNx7qe zGInXCzi7MT#3nNj8;` zCmWO#XLyWVk{>%+vYyU-NXUg5yYRaO@5CiDD5qWJv-4fGMP{-eEq$@ z4{48tV0uvK2_2iUe!+@vlBZzR8;I^`<|p*ZdBUGXGVwvyY8dtnC+H7$ekTCHt)Tei zWMO5)%>+~txXS_o&fwp^fDunY+>1tWiH`nWSPQpp{#d(mdE^O8vU@A`b(yyu4eQ=w z*zK~{mEsKgs6LBCx#rnIoUjRWB%3Qr(N%SEp*l3LFUSP2$$J~%+-azu@zk#RB)g56vmdP zdp%Uw95&y80UUFft0q>EFhN$zlR=drnoi(i5kv$1ct6+rUBkq#h^^w$iub}UDVMR1F z96{szg?KFg`;4*I@ouv$u4tUgUGvl5nIAg+)Nr>h>-Nv%e9RjDXx;YH59yc?)N=0h_r|id0L55ISqylu94U?k^iFeiffk*&EmC6T z-pR!;zro-^g8@02N>0U~PE>AIs~?r0J~#Hy0WrR8?w>_mZY)DRfd`ZZ8DQR2{xQ&{ zHtIAOEuU}-gBKN2JP7?Mq4tU1M_fp)J&LGK;ch*L;W~*Ne6uhB6q1Od_iS@^1*0EqCT^s@ib2O=@su=L3ybu8|S5&JiR?%>A!E>qAW$dGejJ_3|2M-kUNoXys;89 z`JLGeWoozbwIOQHSL9QQfqknz z4VXI$?(ImU>vb>7ulfApKPRQfVEPIVJ!$Jyg1RHNmqX%ag!AVFR#(=7E7)~S zo<#jUt`LW8{N1(?kPqNaY3)l-6ky&ww)xnge7)%8|N1YFdfZu#i6A5pkTuf3eVPAP zSAenGfBGn^$R@3E{@<>EiFTXxRUmKT6~p{K1!D=fBuQCl?Eo0fLQ+o+_LQ$4+YBtT zK$S#gx%A6FXHTzZ-3oivma)rkkS6L5D)C0ca@1P6IfyGk1RZ zH|qb?b(P+UAL$^N-RRPks}7=OCzYr`y@=2ezz~$I4G4_;sIvm)2{9B!l8N+5FxyD$ zn_;npD#ibmD2#W5qah4kA^ooFdd`QNGAKxJCrsiUWY^}}Mmg_u1pBV*+N#m6`vSu$ zf8@YyNQH+TWvhB94NWW;>*~vChmRe{K11ugy7mshVplnbmdC^FAj&KU9snq^42ul7 z;cEXJ<{Th+Q;Wxnq(?U5v`2}0;MWnY=<~nYyn$}SMlS;DR_yhMaK{D3SThUaToL&- z8lk*SKg3hqP*fBLsL?n;**>^f^=*Y7{%O?{-)WmdZBfASBi zvleLD{YX7FOct6Yr-903Wys#;BuHKn{0>KJ){PN?> zLMWSaHKsvw6jw8BbVx@rc@{GS3Y389JRZ!fC`FfGlT z41ajY3QPw^pPKr{a3@0d4e`0y0%bL!N8pim*AC_s!m1r8$eH?5yC7Wp?)*jlQRLqq zas@ISqxCfAA1h02!8b<2u|(~3KMBqUtHM1hOK&2?uVwz$kj+t08w!~XNmLyQf?*Kv z>^b;BDy?px7=0GrMZX+qSN5iLFEo$|gy0-2n>z5K7*Wb7PEz>`Z~UK!Yx@5luKyPt-_F!U-_XR#^dAh}|8Fp0Msa)}oT3URt0OSyz30*qX8nvBSN6j;Y+&p9;GQx*M zLp6Sfb$UpQ+OD-^T}X4k^P_5qrmm-G-fh)Vk>=K9Sjy%1Z_~bW9?*G32+%xW1b(bg z9LE;N9+*E$A1!3*?4DGBp2K6F5Y}^6OB;RkdA^v}i}Iz|zZm@bJDKVmJ~^EML1c6v zp)FsCcC&DL?CI2c%&LRuLaYzdQAsY`GvQ=${q{|C%ZDR2Hj-5PrJr$0Lfsf`dNb4aQB<5u;;$6Jq2TDUIC5)ux*Y*f; zVxegbS2_Ja{@Hn+k(eN;zIPs>f8BZh$5GqZ!pYv&-r3&PRG-sP{~NID^4(L;$->6@ zpW^=^-!$Ft1B~yCI_x5b_DXpw>~iEbY=_+ItUUtpD%dGDOd9tSEAj>o@L?a}bSD!;~SY(o}s*zn;zsiajCF-hHUi@WIc=s@kD z6Vm3#tdU5lv(YB-V7PqdB(sGGE=P4#kyHn3*4vR4lHVyffF*1s8iMJnO^X|zB&lk_ zz=x#Zeb@()y28iGK7x{}r(7os+Xiz?iA}?6XxC=DYbo}q1ulvKw)-|J%z)DB(e;dF zG{MwsSeJ!FR1lelfD#jP7D58a;8DfyOIq90m`$SliY^B8_BV!0=iSEj>tru@UEyj( zYDH%oLRDFwv`+lNITBmQYl~rz&#(<6P0S8J} z2xO%q2^xZ44JvN&h{_Zrn6bA{qzAAa+AzpmU>{J7y#|#9!EoBEjIocDV0CnWDBGL6 zHtOxlP+H^0JRPidi8Khzpc1DjYHAzYT~E@-A9Hc>b97?o)q<;`EcfPyL0B4oE{HXSiy;cg~uvXrBB@3rD;qb0cdbRa=*r4OJL7xMxa^B z100xSO157^#=(>_c0uNV5+wuWg$56}+uhG$BjmLfpvtAmvNg_cnKou(H>RgF66bci z2Ihdy`he*H=JByYai&MBEKN~rz19jB4>_(hc?8QD`GP84R#>aLzrl=b5h~9YcBMt6+L;f1F>0;lh{F zSgMG__3z&%VZv6lYVeNNV7g#&TBjymePq#hp5j$|6BeVqeKjZFU0S~Km#MmK)r~-f zxQQ8RRw*Jm7x3x~RviIdm%&t+3=Wt??l$}R%ida2r$=)j&0mIG22t8<$r2@92)@ob zBPd=(s>xJVdK{6?-G-Z2j&(Q*p5mSf39l>|R^=_nb5a%mVg-JiOM%w!b{t^IxrW?zt01$W`M%@9iPCJ#$a6m+Q+&+oAWk3Ogb5T=;Tw zvq4q2YX|VgS~VRbdixE}pE%6?FMNdV33>wRGVe*h@y|aQyr7we9kw>sf%^vg@sR`R zM_b%nB__L#@e{8&dIH8#OBbx4Pkd&*?;if^km8DSJxTL@NYVRO8Svjt{7g)o|Ix%> zqyCL&{q`7Lsl&b}mpdWzoY1``b9Y*z*Ptv;Z)FnaldTzE>T|(cxI>vqO24;6jCySSMKYVj4`7QAo{7nCh4Qjhg7N* zgI#j=(uEnXaA%AQcUVri&QRY(Ca_@BJ)kz0}~jQlJp#mY~kE)~-bl`GPS zNEZfSq-B*3%Wo#aQX(2oy2%U6Tm-QaZH4Gj#F2z6m6?oRmATLr6fQFEFfv$V23C^2 zPPn{mL*_?=ge=3m!YCy^|EAj2+>kS2t*Zv`9HBBTR%OQYN5%vS23qr8!8Wh6cur^7 zC7}$rG+nmk=nDO<&bR)dhShxW@(yCkK0c6zd*6s1lm%tmbaIrl_*}3;D@0Vbg>m`* z?7^2uKvu}f?B=Ain9;%h-b_K}l1fFl$;2sDY^$w_IVrfl)mQnlp<@k75gcC8&;0@& zP-GEYzVV{^i{qoMccEXR5Yd8+n=5*brT~ja8ZR|F;;0`4Es~K_!B#HspvLUQhR|i5}6b~bbVt*oEorlnWtL) zbLrSIV$nio&w>;;A9K25I@P=$ph@T(7(geb5)^pkF$Ah>w0qC6;`J@`!D8=c z_O0pgVE*or@1XoJ6eFBl`QAEJ+{3R3_DLns#)so_6rC)BNvBI1m=6XfN7)k0G8HzM z4W~rkCJK|BqtATrAlWKQm|7-EEM=LZ`MSRt1}jDE$uxeP$jUpw=!0-az}`EfgThV(Sr-?izI?2J2;?DaF)*4^>8>?U^Hqr2Yx4YR+?yAUtaFg zC28#Hymr9KAvwhf0$plsOt$TU=EeBw?fMYFb^v5jG&Xc90@NyIS!r7b?^B z4m;F5S{MCHVdE3^gU8I{#eMnUZ&G03d%7Ge==FG@L=xfd8h=0Rn1NB=m1>$Z)8~JY z{cfU5@1<1?ol4MG*=n$&D=NVb;IkuC0RRTev#fETw1i4%fbv^~LgdWv&^q3&jF@>M z%uvskyeBCk^%ngXHrm=n3LvlDg}%&YSGreQ_ssqBc10z$%~q|#paZh*mVG|qbHIQl zircm;N7dR!R_wKO8i#YXcui8lz79Zcu?N*{JeFt=9}GYecAz_Obw1plK{r+H;c90` zDe}Jli#~QYww)OKO&=5gS2yjy=OK)3zB`z?*f?1JQ#X5wimfz`AmZm`9p+QgCKyC2A!yySMZBpY9xEcVldk>#%13Y5n<(Zt3VcR2Z(YDc-xs-_FiWAhV2` zppOMix734zl0@)-F}tbFL2YAj&b!wy&RMm7s!3-Go$C*=7K-a5syIK|*Xn?J*!i1)Sd;>Ot5C^FE?snAt13Wfj#Bx=i^+;sG90c6 zz!fxXF3YcA#lB9X?gJYeBTC+KIF&#o_Y3xGJz>g^{Y|Jqza{j7H6$shM?FqS*{_66 zDyW57Zf#nPtz{GFgq1!9$6X2;3Wepq3)qXl=xFEES$1y0mmRhrST+hi*iFNmWWtDj zt6Z@Myg?GBC!kP9Pgz9csx08Bk2^Mfm3g(B8a(;+Z6e4Y(B-R1twFSgG~ zXGy_L&ovT=xl5io^iy#auXF=%gRDYvKd?CcgYV+;o++g=P2=O}wEBqRM{qNO zB?5tU0ktiQTdG~pVa0k8_ z#CQKgbl$`;1-v8vQj2<^LlS0587nP`q4I~*0eCw%klIZSb$FXe{V)BC8aH!aZ|m+R z*Iyrgz1=O_tD7sU)?ek>-bqnX=1>D;|BhD?EgVX?bcYe+Z#jscC1rc=-CL;tv7l*=kn@#C9gOQDv?Nx1S*nCE18Z_ zhpILgVZqM!A`!lHd?sdV10-v5#jt^~?Xs$Wz5RI7`FzDQ#>;S9p*q7 zLy#&{CI3D6eaZ;4=l;Px)|5eCl5=#~HG3kg_`{6(#y(HPvRLhM)A4JCUxgRra-37b z93^pDOz#)JNy(HRUkXf8a$~*XXxhwIZ5&UMCgaQG(O12aj3Ine=8u^U)A@RlDiPGy zznZNE*;o~3nqAMZW$7xd`=TiaS~pJpPKF)*{5mO-s~rZ7jLbo;iRLyleGR^;s#br@ zZJ03{O+=}p0}?%QV;Lpn4^T&-Of^dhLJYl5FB>c?oZagwP35S&nQ+TctT(ct_oz)d zXalt(yBR;cUF+E2raY)Ls7sY1k{z2S3sC=zRSb2s)|lX9oqrLcJZbS=?WJT(4%bAF zEE~Fn72$+)L^LOEwQcB3W*wV)=W#o>7jWNHWZN;>{oYZ`^W-yfid zH4hK>g_~yETf?KLjUoF>^wCr0WF`lB4^b5R(;;9ga6&ct&qV&89f`sP3#zv4{sde+ zYE)dq%tlzxWPdsQ_F#U;G2h={r-D$o3>B~kD<$g59V*Go;H$eEJePyeBfo5aMBL@IJy_$E%O;hoY4vPqBw=UA~{?^K=W)22ZiHXtvoE6=t9C zMk4Emje{fpuB%`uGHLe2Y>W_d)J1VLSPfBmmbzhkro;vpw1^w8nEVl~_j5s9h_;Vj z$WkVyGYjx!M#mGS=8OCGiYfgY=M2cwg=bYwW0QVqqNd7kVWXb4UExX;!es->;f&dr zduEo9<-q$Qo_8H8A#R|62Bc6GOgi#!B%ZIEcvJFpLV6Q_ZXSw}!u+a-VR>NPCTmf@ zp(1#f%mD*ypu%bSn@FYt@BACu-MYssZ`yb^uaZ9B*QDJ^L{A;jEl(g0L3dP z5`jEDMCuR|;}%Z4K18~UH_j3p?PvjqJquoL+lIL`iW~_n zU6f$N*cH%$f`!gtt51WOy`(on%Ni@m=-&Imdt&Aw7X)TkP4vo`25S%jC<*a~fSpvy zNRFAg7GoKUbIg)9VKl2bb5^&66G3ul?)ix`coc(%Id-l{$~` zQU0i5_|Nm&)(FO_;OF?+jUTwNe14fO*Vk=Zl`HHQx+$&=pS9?oj$C}bIDXl%_TqAk zZ&}WTi!&oxUnpm|Zr=#1d2Q}Xgh^7(Dw~EBuX)OK#!8)YoK{Z(e+WL8x=`(xlUi*K zq)}`Kdo<I9ty7Q`HYGXgEf8E{MGJI|^tb z$e<5+V(EU~LIXcj4+FU@PNd3vY@8|0Saco8v-+8u$QU%bf7&kdh z^U2^M9vCA%lQqT)m`<*f6;Aao;L7McQkogwixRJU!2 zJ?|M)!hEY&i-x2#_~8>_Q^v6B0b7dQ1r6xsBsCJhhQtn_g!AK~o|7}LBO6sys?G#w z>|Y#%T|0+_2{{TR#j%#uNUneT7Be~%D06$tt)_QS<{qqUho|{PcP;fH=M_(xj9NpJ zfJydMg=vB}gD}8H{mB6wG2d)YJ*+2tRBTw1ApCw6&DB|;)Ut!6Eo81#zh~V2C|$kI zp)?);)(ef-MLK5us_TLiHi(xlasqh8Vwcn1HpQ4O7G2J~pFTsov)(hLo)r6(i;8?l zBR9NU!}T{IB!i6sIs~v9BImx`?D(;KI{J;{Wm)T;@nMWxt#*RI1ia&&n0mUpTe`92 z=cBtGPTsz6h8|p{lkUVQ^0=c~a`VHawM`F4aOxKi=5RK>`|p<}i2FcAp5=&tzQSqOq&mQR6t#}B zL=@d@y?haWjNKQn(O{L?k)AaEn)`5$!9iAPihWRu$^MWl?)chm1tD_KY_4=(`i6M5 zfV_0Svg8KStcp0=Ea?>e=9U9aEH=M#4ksLg--A$0Icb%}1g8o`5%ejQADh=@oe$+Y zU{c%k@8zG=OTIHMhqc97)ULLgoo;%9`dQOpSH_Tmp~*77+Inij3oy^e;8=8XA7p9GvUfv#mZ>^kpz(hO(3d(Zv1=B7e9>D8JvE zf%Xe_hBd!_G(kiRRSs2ETO-^rNwR%z3$x%S_UhCXPST8jAC{gvK_-Qyd5?@i(~G}l zW=QA>IRYe^9tJuho~S4Ep*d}#M=(^ojKXgOxb%b|sgdWx$wxn0X{HZcpt1$+DQ0n8 zH^YI8z;V|F|4j`AYDpNKrsefK&>_lWItY<&yuGfOJ6M)jEgnN;$IKX`bp}=wF|`wg z$W9)aA*NB0YMDFN{jv26S)a?0#aL-g;>bkJ84X&qI<2pge0}nfpOUV+Ttf74i92bO z%b)g}0?rgd;!AxI%0RAWLDm>=d$2Tf-ACPu+P_Zx{-PHyXB197gO4V+#c@4Vn#%fJ*8=C zHRUza&#eynLxA=RLQ!=q%}B_%plM8(=snV9ol=ly9G||#j8Ur2s-W^U$cx9VH-yP= z8Q9uF_G;G7zvS*o_O%#sVe;;Yk$=$=t3!U3Y1Y18l z1%vw!EH&`uqpehu%8LTV=I(X#mIa}r(6*qAm=KBQAl?ChLGahJ0LO5btnxzXu4UEo z)nnGZ8VG$_B)M)(5$<%ER-N1zGkCIJS8*JAYnEvEiA~pCQOD7G*nrvHz`~2?b#1q^ zz1lvJ3JXK(`Ebf?$e32QT-hBS!B;GQj@_Bb^WJp_|Li=Ra>1WEVbN6RXvF>xq7{;p zyb-^mCy7Be$N-ij-n4Rt;tla4#MFdw=Y#J3T?Op^TD(NI!;w)itn)HWO8H#Y)DiiS z0UCIY3f#WMlNO#Jv7!%ujUc;bkkNV8lfRAlK0hk%x>|%pWt&zy#V~VWEyrGWPDba- zk(ETtnqQnPN8_!!$zsN)^Kf8#%G8C)1c7VGccXW{bf0xSmbT}IuRv_ z1;2Xs1p-IqDKW~in}2PpJ?*zHbDhCXLj*laevSHzf2zGF0E;CIG%quXoxjpq;eEq zJ$|}aFTPPh>U8Ekd9rAs*d~m?TY|Q}aYf;zA1OASQlgq~%>oweTCr@N5xMEeL7v6B zAp`XZ_yM6+Qt~QBByVG;t zvHG!?bNiS9JCopZ%RtVZgq$|Hd#JPe-u|pSNBxglF?*amiUQ#_yZ@&t!0b53G}Uw? z!@sQuRh|?t-POMt9Q=~e*gw|)!-9odOALtJ85&CkB570<&E416&tlmbKS8(-9#-7v zl#lsdkl7O;Gr`#UX}E2udMkMHGS|r?CCXr_Guqsk!YM zFcYX{Mg4ZlZ>e<*SzQq-g>^}*dwslcA0MhxZJ7w>!3)v#Rk)Q`Xr%XO*n3!JGmiWE z1MQ>A_qT}e?;mngzr<-D;wZ-tP%7w6yXc)?ivm4Lann{-Nw%&$24IlIhh5xHp^O(SDbK0HCm~ zi~{etAsNq&fw}q|eEYOTeo}X)e_0g%$Ejdyq-Xedc+}d+ zz(R-lADdJr{)Y;``4<&_s2)e$EA-rRG|rK}rhtF4k2MIrug6FoQ>GHd^TFE zU>H?-@-Wxxsq3tE4>z!BL~$tNY0AE925OeEhVfKQ)CzdDBKxLwaILh$+VS1!gnGjf z!@2~nE}bYpvvNsN)h2-YGLuVEi$s#JTXN`fw)J1VDlRO?aBrd`_7`0l@w_c%@4cco zVCT2x(O|ZF9qyo1mJbG)5UjPRft8*v9GU6$^%gA%Nsm&!2DOOv9VWHPm;zkq-*qZo zEeC=G;c<6A$-&9A;D0c&YTCGdr%G^w?}a5?X8L}`cdr+l2k83=e3t}F6((g14Dgj^ zSLdGqBUsYiO*k6AvoQkW$ixSa>ce;=4U;kXLB>yaykjt5xD@(J1`jkJ<7a|qGImtq zfjaqlV&1pJJfKifBzLQ0XyYr3)L*Uqe1!hf+{Jg;qS0~v7#&l{#^nIpT#0n|LIMmt zj?AwgmWXI$)x-!j*dr-2Z7*c5tZ0)fNsOVN{^1OOAh*z3Cb=Y@I&kAF{&GSicPd`sq+A!vh%iu*IKFiA<#0b!$7%jRXTiEimo69E?LWbj zj!Xqd~rIIcZ*2Tm@xEqY8I|j$vWOt{Neel*K+q{m>g~Cx)J=-`}qK=-Y zK0!H#P3KB(Qr(%NOdpquS2KSC>60O7*?0;z;C!NJT@?mGX5Q{DfhAl&@YDFw^?zm9 zgmcKbg!c`rVe3Ng;M-U4o5;?{(rZU?G+mWPDGsH+M7cKg!k0Pi~7VuBWMd5|c_*3UAsO)h=f#P&fM#Aj{=hRiD|Ga1Ve6DHDS zZ;p6ER7){mwQ_A6P(KugR3Hd{)DkF$^sY}CmvqZjNo=WrUJSu<3Vr9PMkF#`fi|GR0+$2uI*InqcC_2{ zTN=$wO_v?_nf`2Y_~KcVa04T9-(?OEJ9|Cn;^ZNa)%ycGq-x)xaLjdUsE(LD$gDxM zpS_U9ocBI>eixh@u;vK9b4msuABb{IkUN%!f1dMp9F9G+xv+^q1fq+G#J%5a7wg1&E`yh5pkJ^Q-kmDwa1G)l%sxzXH*v+tY4gXf&~p4E;~eB zKJm*npNB{&bQw@9i3=H|{5EpLFbebU3?Dpvn2cwi5u#7uarHr~@%{8U<@$nBPww#2 zOM_&BkXy!4Si-lxkczbmgMsNd)C2O>*ivE0-mhJ6L^~I%0+8<&ULm?V@{RJHrkZ6^ zgC=HEl#dJ2!&wG2ybD;I@Q#vIx@py)zM|k;3J#u|%}y_GmL@lMe-8KEy&6-zTO5OS zWYL-daD$?65bAoXM1MugfGi6ne6q~6Xl&0-_YjWwY?n+zb+KG3Lglg*_2_Q zcRbC6WNMI07x=vUy#{Guz5Ns|Vr^G#vsF>wYOqey9ZI;-E(2?=$Noq;;Mlj($ij_1 z02PPVaCEU0`~`*?9edymAyZ5o@jIl>E;M{L9ASMF2TWW!y^z&7hTl%x#q0)P2X8mO zH6y*jHeR24Nz3U1pPZWt#~S*1k#skpt|vs4xvF z2f^_b)C*SwdB=1pYcfO??Dh391){$7w>KewBN1+8MSJfp2Mb^%*hUjcWd|eT9j~*E zrS886n$`RKl-0vAHun2JFiD(g4TjGSSR zxWmxc)|c0^!|d>qlf1o5~nOgjuRg;@;^wE$1qerz%JmAN#FFbNv| z_j}@d zW$#npG8wtcO7^n=1`MA#8xGtdvyRdVR!i`N;>!|dd_49; z!E+{sc*hdu9wtye<@2(wU*>WxD&IP2r8G!`mUl`CM8K+rs-STSR3DDF`UPXZV%tQ| zuadlV7TXy?Z=&V=8|j>!1F+=#wolq+IVYbeL#%@tR|N-kTJxCSjN35prI)$VEW=B) z-qH6cgqE!y`Vgyct9ZS?VQPPerCE4H=_lt9i-|z!EKbB>jNyVq+^x;)z5A52Cog+m zk&z9b4mW+juLkpHY^j6sI8C9pl@t01h?;}rR=?mg=)dPws(xOCXsgIQDd2N@r=KpK zA?s~4oTaS!4unaDZS}HZ7463ps(SPODctFbfS8o}iaanVsU{T)m~Q)GMn)bENK+ky zCU=JSz-=~p(Y_gU1t}@Y1kv8Xe09Y1Fb>T`8tO!Y1K)&FZ&B%KIN=V3&y`qoxhaa_ve8EqL*>SuSpQESY$# zaLilV3b+@c0~{H{(yEhB;n5xJ6R^x9meQt z0uoJHaz=DW+mRg&{i~N{iFNDqZx3*spaYc9SMoIKt2_3et=a#ZGR8#D&c^&tr<0Pj z!>ZU<&{W0oB!E0OuBXD68$rBQ*f-~A2o+Ybrh%Ccg(TzrIJtJ*sJE;|KqRl&`GuJ* z=KavwW81I8Aq<}ZdngfI`Pi*QrSf(MZ?%?S z9bsm+((GaMVF(lx$RWjC>HPTi(Pdq=v(dNs#uJm2i(>Qr0J4Yh2NfRnv|#5VsL__%D=k@jw$ci_dbTuvV=lCV;Zu3b1yE_>ZGqzjJAIoGx@ zkrA%YpCHxO9{y;!dEuU|Yu|@H8WSR`hq<_o17#`DNJ;P+3^WsjpcG$|f-fcdq&qsk z6HK^tsq@skD<3&tT$aHF2howV*aIbECQ}fl^<|*F8azSv@0_hn{Vi2%To5O)eq|-@ z|Mle_`@gI2|BN%zU-)Ik-xd3-Uyl45WVqH69BZ71emNfAP7xa8Tt-BG z$T|n5{VUrWtS3q|@#Xzo_ZR^*i=%^=|1rmdcUHbH<#0N=S#tRc$d?1gOga0SVea&a zy#A`yt?UpH_a6u!EsOATOl`p|&tIP=V99wcF(y7kU7QIO}xk;0cGLE5GQ{{+63n7)EtL~~S2STH6A2ft==?A0c z1ziZ2USQ8u$vhj;>MDWWFdahzy>%=36*t)G6A~iFlW2l|`4?Byrvn;C&x5LC$6jIWHlV6-*XnL!>^`tjUcS0~%bG&fFpBiz%lBQ>_c& zX`w@)0okYrtl4m0Wf5{FB7zO-1v(5}x^^!3Yzc+RREyeD(>vE{>TmI5U%0XH+O<;} zJ;<3KKT>nL$kNi>W(-sRPOE?pr{5tNnN-g@>g>JlzPf&^zuivWPJwg3){-pQ;6qar z!3_`^CNtm5y^WvhGu`wG zI-S~A+-%wz;Hb+W!&2ZS>j1*A+gJ<*#u3-PFlb4?k>%dYQ)54j8{8kiYqkba&%XV2 zcAWcjt_m&^%|T9g<3dMmJ6mlFs8l0>g^RH++uhWH+4<^Kl)RyoAL*zHWd0Cg)v>vq zWf@Qi>nK}**w$LKaY=>F*}PH5`6F5(2#M7J$jxCe87+$rw;l^_6mruXMQK!CA!8du zM`OEOs4-#tcw}Fk(S&l|jx1-~;=P?ZqOLx2a?k9!_Y2>mdQG6gXhyP#;O$jG&U=cr zhD-8g{&<#QRlNB*zm|sxOIAP75!7chNe@4%M5v~RgJTd_?L-@+hYV*ORR3(t!46Y_ zoK)~DyIUaAAm8VjYSDgCe;{{ zxx+;huewm@$XDYG{QCAYDs2&H?@EEsgr-CX&lM@HWvE^IHWiv#>P(yYAO1d*fF@yA z?SK^)+Qq?5)iq{g)ajv}w^7}+&l7#vQ}3rURquL+vFp5e<7{(r_^$>*&X0pDoa|L@ zq3#^@>g!W++arpg_QCOCJE4=(Cp)*kyTb{5n9aM1LX(OgLZoa6E$;*T!rH@H*u=NT z{@Veb@T$MUp!N6)S;9B=ox*f5f8Bzn^&h!x{ioOM#TT?p@$3E|`LFkf|I4!ezcA>S z7+C+AK?l(Ks|v{Tvbv=|egqy(Y*yeQ^!rF0qV8W+KqrO))O?ZDZX~J1UjWg|Sj%80 z@%DCE&VJyoS?ddpz;AuVnja zBD1QQqNv(fkg$$Y{i-e1KbYDwUpBSNP8xDTBNrKd0-d&q77+!y$9&hegWkIs!Xml||w-YC#x%CmfJ%C-COt18~ex^(IG zPajUFThXFpp&lMZi^a=0nC!HrIjo07}){SBh-9i+10WhZ&F~lY%%ovS} z_nkZW6D*De$|=q7ITD=-76|m>CKCA6o{2?$>XYIlvk;=^Bo#pQ<5)YJ-f3G{V~TAI zSHE)dxP;TVGqb-i(`pIxmcbMGot;-Yu7dpD{#X_ZIWsL6t+ z+bf)p?7qIBF^#0(FdR_9@OF|v?F!_k7!cL`67bPUJW^SY#>H^^34Gl-A60p`%_m8^ zWcsdQ8PMAlayHevKS8Q~`p0lM17j1%ZsqOXP0&xwOxsV~+YD=;RgyU>iE7`k5`$xp z2VLsz=1cr^Va?0|>wOg}2qAH(IEprtcCA85t_`!zMB6YgbA+=`$Qf76j@M2*7%u00 z?eY2Wj-@dc?~CY^kte0<4R>3zZi;@;sC-}CF=}^P=i=b`6BL~3&l~A+&d5w(F86IQ2xvN;wds`1S+-tkp zjXpsmIyW-bGl&nFY4Hl}#Nz_y_zZ2&hB020FTO+W`EWgbx`-V6B*Yw%t`2NTj4>Yl zBR8FC4`UHn7DN)0I1$-?4Ekk7>unlK2PRtd7PBYAt9<%#K=2se|CC>2*Z(sxBTjif zkGycxkS{iF7$llNbJ$Y}UaHWoAflczbu!a-Tuw29p)v+Z1c-xn$@%Y2Gah3*N0B*3e z#^}6&*FwJvZX6vbw?4~}w+yVDcB9>l4bLsb9?H2;g;cxJb2QmD&S5tiw5rs`LXtuJ-=x%L$-t-mUZIwWDgCuM52DgpoM=!SR;?8~W zGS9bvpsc2sO^peaFPu>>2~U%YwaRy$-y-AaI)vV<;qLyTf);6twmN9E32_OLi2${N zmW_e$siBp4WpU8JC}QEdg=IM3J%u%v(7?B9jS=SLkW$fUH&jYStGoOmAKj0B#sEyEJ3N*?t{^>5+`loQ;*l|7@Q@Ik}{^V;Qm#{Pq66#Qu%wP%2 zd5}Ic48xJz2)J8jTQgLW;WjCrOT`hO@aL)=Jd}Y}VZP@@jb<1}b$7yXv#`00edMtP zD@mp55hd#Y({=Ur5yUyNI+Cyll^hO&3yL}o10|YTp_8(iQ@a*fXB?}-#%Lyx(wu>G z-yGzWle)b=evriza(t$)~D+MVbCX{f^T=ZK0}Kisr3|p4mDx2S{?mJAzXsw*`J-2Vf-b zMHk#zb$y#a3f72}BOHJFM{vB~r)6|_!cHAilHaStlVa&xK|9rY z(yz=OrH1su9y!lnuoSjz1S*-{Dw#)+j6tj^kcpHW$NtmY8fJ;Hj0v?IsGg18(izXn z1i0+6rA&-8f$@_cbDqBm>Yc|^-Bx=N=yHe`I5&+4m=_h{~ z+OxYH+wF-H5@o~FG8k2cKlivLLq+b+f-3A3*uS}WI5;5M1{JTM)=R20o89`pbCfx5 z&uW)Fl}F(Wi7u#D%DC|Bw7h8^gK*s79yrj_FLdYe^O#R(noVENc(u=+&Ywv22_%Pc zY&a9aLTQ_+oam4a&347D^f{jvU2l5E*NYBe~Unf2og6YDnUD;u_ui-y#+ z3pmy^e6PT8C5m02|KNc>{2;!d{M++eCEjsTzg{18xV7MyYnRR2&Cj;Bmir;5!VGsKBrbl05 zJ`^!;!kXw;ue@emmOJnWLqYm&{#k@+$z9S%eB!fYwa#)19uIMc$ufEMiby6^=!K-F zUVJ73Cpb$qQY$Z3&LMvbP2-CW>aoL0I=4iIUjT2@3}gYdBvE?pG}E%e2XM!RbaeOh z`T(i|_y2+OOkuk%^c)mYUrol8;Xf#}y0zW8Slye`Pr30^ai2=3c*|cLc*khaL}%B4 z4MmZ~xQ0D7znbktB8-XLi!6T0FX&Zt;#qy;@UyoG=Met{MeQOx7bjkWG{ZZUz{y4k zbytOXIpBhQxcng-{R{oA`~!i0anz0Nnh5ZCyN+46hV_M<1&e-vZQtmbnk` zWfWDEYW|=z0sLVsl%o&B@PSNBPHV1#Aa&%oy)I&XAfWD_)6b>y=+P3~XSZ>*EbCC~ zH~Y@s2t`YkfTzu;Pve6RXU9*gEOate99KMkI^k0CR~#fG$B>nV)wtzlY^ zOynnTh#{tMV53YtV==toZ3_;)UMgsBF_c>%O9T1P*CCqYpbmFK4g#Ksh7jxGF@ACB zvGx9`d$G8+QODs`0er4+Q1J?e^i6g4*v0K7%`N(PI>}e!f>)v{0(vNO z%ymI9woDeey{m9JhBB$T*CKgds1pxb_micHD@EoM__K7(GLO9152M??2bzmS9E&X0 zoIx3*_6$+;AVr73`hBA=nP^P$IthO`?2+g+M#*7X*!m=a(QU3fkq`#fhd<;nK|1tvl3b!?nk%%p z+ZI-ftGeeld3F~90SW#{u1gDGPiipNrhuO`l?(Aw4>Ifsm(Eg<#TVxFcC+ODcgY82 zlGu&;muI8%UweA!{wrMlCu!nf=KlY|km=hSeYF^V@no5p{z+esR37_+B_MA+s;uiL z%IS_f_^1^^FeX;PiUW0~5+@=y^^`S{BomYAwY_W|9jARe*&H9NtD5wD!G0bh%L|gg zVk!)(hBU~|d{N;^?lU1}SX&1Okw@|H9_ zk%xB^TvXyvb{B0LEzGC3XG+gbzAazCoSrQcP$k(&Fva+Ke95Il66GYmnT?wYD6&RY zl#lsVL@Bth%>*8Fg}NBdcA+KGFiD)4NF5n(*kr35wO@;GnE`Rlg&Q{)^Og85l@d2& z$%4@@H_VzXA9au@RHlss^64L%TS#7sSPa)_JED02n+m@tAt}Mqv7CBe%)Xts5L)^n z*mFz=B%k!$MWbkTWR=(GWQg@Z9mf~ z6X+3y+OeG20n}L^>oI53`m%CTL8f7RXg3R}5PG)_chGJ$%-Jcdk|S{R)-lrJ*hpP) zK=?xqwnfdBdW19R>?g0gdAe_=gqv^f`)-3q(eJ85ceX594f#8BX+Q3oVavXH3-wIOWwuh-wo3r6sm@V3QXigeRj>`m-`thE8{O)XZ(Dx4ser%-nf zaHK!nU)C7hojsd3b+qbity8msaoa&HcC@uUftmldTQ`+A&?|wTbTVJG@&AtLvlL>@ z=LpA$E}ijgrOfd@$sK)xKo~@?+@iJ^c;>2no2X4eojZD1lrBqFZr^ef22zD(f@uuF6h_wB#{zx|W{O zs4(abpyj9WhB%YiOa+=~{FqP1PTyQFPn7<0?cM4Qh78{Q#KSUdo7jvDL1QvS+<3x( zH5D~CIw@y;1oDp#ICa|tl+X9)1frZgSu5S{CPG!wL7hyY=Ppb%MUK;yQugK zv&$0bu-?G&Yn4r8!jYDI#j5V3yTaM~ci#@8NzO14g3FNGD4s(r`H~fhQK}MT3N#n0 zs88lUf>#1QJd`wgA1_n_hWOBs*)*A^lC{~j>^p=kXT6#W}-$iTqF{7+VHCnb5CRl2{P z)7cIn;EiH>i0g{OWKiJFrbQaf3I#~%fA`fAtx*Unf4*K=iupPtifzAMw6|aKydFT} zBf5c52w{Civc?PK2o3BphWcmdP7!@ZB3b%S3Ww}6Y0KS7gi-UR)>U&8qe(i6u_*!e z-u9vubnG=jIY=@eyk!l0i=v#FzusW{8|Hi+h!Yx}e8g1kRK<&$Is?^91O=oZSQo=0 zzpL1i|1R1Nc|_`4J)Xr=5lI;T)4Nc}(o=EpG(u1vDTfu!76v4fkPsqxzg-|F5Ljf< zhY1VaZA6_}LJU`c>P(Kcuiq)+!{MmwTUo*Q(?K;-ZMy8F5Gr*Lb&J`PV`F+O)<-V2 zBD4}94b;n3oJU(uTrXo-+)6Z>DHlrLVBVcpxD{;^8lP6>6G2)%4R;&;GI*l{^i5iWYm~SB>!`4r`&@GPScG!ML?lpaEbU zMg0`!{W1T3sXxT2id>596H}Dz!(_IHvu^qHz z#7SDq0EmE4Zc>>YEEelNcU}=v+|+`S29`^??BjFrLoU(?Pk|PmNX~S!YNyBccTikE z96HdfD((M#M~(DCcgJ7ZP^^D_VWRx+cl7^jTj`_#8RKyH53R=%9-H;PtA8SE1eiQ_KxY?L zl@*TxJD`M?gw>WQFP2x$O2sFQx%X@nDwHIV`DeA1)@3DoChexm?~vjP9aUe6tzJ?Q zWX(UPqGA|j^9em+<^)KWuUugdc<8{C2Dj8(V}Jkq@?>Dz$wK*6#pU_0Rb2lrqqDQn z{bLc=06PhnVdVdvN$H?Cec?(h<3I#En?RK`Oht(~9mP1492`1X2#pRuR*gzomNxuFiW?PglT$R!iPkA$ zTv}zSmR2;w*myT=4FUl>6sHK|k=-NLTl;gS7Z*-&ZL+t$R1@xEC0e~m3U#e4KI>QT zaK+K9>(jL}E32&Es^%qI5$F{i^FUW;m&_T*I<>i)qktGYOW=u69S}&Ai5Sx3j=4H>Arwv2h zrOz&}KIyep?VQF874qX>;7Kn+#Iuo~D)eiUOd-PLd(b>@dn4uvz9Vk0nf1H?eZiit z&PsST1w;g8K~FR9US+o-G3QJ706qLj&(!E9*05$_z5q$<&AeX|tOU95kT2#*fIM5* zrVm_MkNH_U?>Q`Yx{hSRuYm8A`wLqo#8ku~+$V)+(4O}u zc<9rgO9gP0pA--3jS^7#a~borAd1tsg8Z#C!j&TBk-eaLNNs_(vuWu{%eHTh9N(w- z-It3~)o%El;s)Dsubb92wbbyUCq6lSJtgAw3;x3Bj5W`(YH1~iMq3| z0_FHu-wtH|@&MU9y#q$^%Dt}Ke{N~3NaVNc91YIwzn$8H4PG`DhsY5iyW(hjgfY8% zJ$z$Fmw83Yza5)d**DU)n3{~%19Aebm3|ER8T7< zISzFTx9+N^@Z#R<-bJJM8yBzv(Bs4X*=DO!0$#%X&3{Q^<9U3F!zQw~J~97c++ z8{&?R%HfuuVrO>zNkOkCBNn@7+XRy|F)u;ST8Y;AGz?xqUz%&s1a8q#WsQCkmEWJF zKrED8-VAQh2ksShf4m7~3E#+F4L;cZ)axbkkq(7b)bYSNVy@Iu$^HasM#ToGO}sI1 zZSY^TaP7$+dbOX#q0?Rm$tyuBVaj--EB6W&WPC*~0xgb$0? zzi*s{z&XFZW)T8-s2jDxGSkmAXn??z^3VIs25zn0?GTNe!j6qku`z>TSA##XwZ&_6 zOisV=oFEcOHb3h?kA25Z$X9L|KL7;pj4H%T8bOAsVDCPPsES#Zh&;<| zZ*%U)>$Yo*kw}1}KM1GySa#1|&xchDR*XMMJo!6VVaKp&mUw*UDl+-qO5pO(0L4EiDQw&7|E6B~&}us@9MP~av{Ten)T@XUWhlvi;`cSf_0 z_&O8EAMZ(M9d>(FRNF8>CgT|n&$4tl9Oh9?Hd98eBaa+m(aqZL%4PaCBQ-Hu{g%{b zLf%-;b1!ft)ToG2vLmCeaxLfXbYB}u+JmTuYOkgyY=eK`g1oazqT0IotWxDv&;C_U|G!-%_BswuR#tlUZaPd%^eq3>`4IWlAoia^ zM|jHbs(wGku1TU^_lIG(^O`_M+)VfSa-1nbCumv;S``-XKQ|dWDgaFe$aK2YE^H3Q zhvP=w-Fg*7x3HWhIC{8NT1o4cc+t_K#l@LCo%;g{SSJ9Zn3-n-*1^tjRL#+@$uZpK+@ma_<~5w;)+pu}osxd*i=fzL=OKU3br1*KTS`@MJ-& zD54|$kvfSmfP#OxZbzCMWd)GSVVc{&)pi|zXHEt+S`}pz@Iu4aDHm)}dwtR>XKvoN zE0WxYMCaD2aPjYGc?fyb&$mT-@QXXlQb7|^JnkSbIV+*F*L1U%bZ6)(xZ7-Ro8Rtm zNoH7|b=rmt-T;S0!y?mGz|IsaX`pQSS-d*myX){)%~!ghQpifF|1@nia7X^zG3Z86 zZ9tObiI|FOs<7&(t4u&$quMBRq2w@wgi`i_eeE|rJ?=U-kaxxf=$eXs`@rQ|f6}LU zy)!MPRk0}GxOBrcgIeB3df0^3#?Zi-LSFKgTmULE{^%#+Q!AeZl_wtjED{Y>0ig@L zikR|xrDJaLP65`i+J)dX3GVH8b%sTQWK3vhAqQisSaD==I`BzWQt$6&2QT8bo~sW+ zC)l+?KRHN?%LJ00W>?igK5d?wN^9EJwm!jQ(m#Cr5G_)nnDok4xd9-5dRf$DKm#qR z*UhH0el#=-+`e79M@|l32sXnEPa`*sbS`;84vd2g86<>kBTj|Ho1chlaiWeuRfF#% zj>~s3XwJFsTrN0fLy0Zq3R1arIWZ@_mJ%WL1S+wYWLxJPbU79tyuEI7Su#6>`K*^p zwOf&-741nPh~FlfL1-)_sr=ql0!5GWwJfe@h7hb&*!QG- zo{$h==ek|H|D1QvYfO+}+{H4Al zF;}`_g>45JSW4G$wOn}wYUv|BMB37|w&;-w{uKCeqCvR{^Ti3p0!wz;2&O^L(+rN) z$g#wejQk)GUKZbi*~-L@5((~~d!1Q%zFv7AIoUR4dts~$(9M^^+Ch8331<7CY_iL} z*FTR;aM$G^PI~G;TN^ogg@yIL%Pupe&6IW0;_+T8>F7v{EMAI#J!{vfPI*57!s@IA zIz?N=aDMT+-GJ%X(S1tN*9Nzs5D1IhbmnZ4+|4J?DkIG7F24O0Mxh_NJNYUdM{%NS z+_XDLat%ieJFClL%#2c*J$IbyhOL|s2gZCDX6^4)$#3hk8ZEnQ6SMr;yc$Dz$IJ$b zV@nI8(rOyzOA{1w)H+2@i)+>&3bib?^n;s4uj%(AlW$Wkw>-Cp-;1zS7L6EkT;SD2 zJlocpCp6WgsCv$XN=K?Y3OO)2Y&aYBnT$yr-%%kgZu|EaH}XUJFp;00Q{Ci&u?-#4 zvwTtuqJC)IkwXn+G^IVp8j=>8H8{;uf6!d-TPo;<>2%T~9p>**&P^WRdFLv^pj58V zeO956&TIDV5IFkVlfq`sC|50N$bY9fzvk?h6z;zxk>m#3rH3RxTnBmUjkj!AV>;qC zJ9@do{=5q}gW6oj%DH-jylDUrP3Kvlt-O|>3Kxnpt8k_;0MoC*p7!Bm{QwYso1hDa z`Lh~b_;0?gtM5Osl*yHcqK=W zyR?4kP4YDFRZc<@V7mNrD8%j8Aeny__7qb0_{P=GngOo7WU_}+4NvCmu_!A=veaqw zV=StQT64JMTU|<)s?;7v`UFp{&a&yW+wI=p-J6_zRAq}_8?pMoCN%K=yA}VxfXe@< zObqNS>}>zA3TGLTmJdtg)ooj|NZO^r?Znd(#TjC(RY_YDyf7-6 z)so+Y$O3r)YTS`AGQ7OZ%p#C5FRwYF*b z12fd`%7v~SC30PzBTK&*x2EU=!-XJr#SMtel1e?2QpsigJj^B_J4I2j>23212m*+#Au)^Qx!3x!Hq9++uF=3ls z^e{01QvydONhUHb2Pi72wOQpRLi~iN6Jvmhqmf_$Vj6^ImKaNgnvW{Uqe6Tow96Np zGz3*o-JX3RypqqmsA_Gv3#7JhW52DYEbdpoeedl;f9TZf)+>n%Xr0Kx{1Bm|r);nh(rV0P4h@Pq~sl+Tv~ZP4*rz5J?N` zY(+CM{O<~;)7~w;eG)s8PsO?iQJc`F{^MduEc~u>@U_LCf2oxJY^JCF?|4seT zDn90w4T%kG#POe-M4`-Bdu(RKjGlDb;ztjjM}(ekz;Xs=FhAtx+K`%mJz^XP4M(h# zDZHtL{H|ecy~J^X<7k|gK7=Ebf8~qGD9Ou{s(;4!%@*eP4nTz04p$B%eitDch@*TF*n9DN>I# zbPY%JlI21~@-oj+@4cun_KYPlIigAF=P_$lCh{BJg)dV+#i}7!4ScQ4uLWr!7}#ev z@iEV{CRS+-ppVwTJbGwxDT?A!Hw*wp8z`Z-NZ70 z&Uh?QE%8nehw4uYP!-G_A9;Ie4lNuOjV15h#}?CEVJ0{9;OjRRTvR zzfHz6^t@X`e8v`Ds`)s=IfA~P`a)>EK6a$Ili{UD0g3wZYxi~_n_5NQ{t-2BR%izo zJNq9_X{REFk`KIN&=dgLY^3GePls6C-lAES%fUt-*_tdruPrY}s#| zEp-++VV<;5kMG{TPofOcpg~D7j*D<&>w&Jd3tYSDZSVii4R^l!@Z|nP;<9UZo8~>` z9rD*+jRl^!>QKGt7Qg>yB7yp>y*WkF-vDitL~lTTsAK70Gws#oWEo3=K2lJlINbY; zyKSO{3Nj-r1bnYWt<8kJ=>J0?5A!@SZwx%0M2k?T{usG?YPvrxOtfzfelnllS{^t+ zLr&2$CEx&C(a+Fh&5b1`6kV4O`s{pmo&4g zMJ~u;DmtO1$HOQ=unFn@ixFV>*B zAjv@SkU>(?64MEjCgL4!rs5qw(ez@8ql@6HAR-A>d*LOpJ?jJ?nLxhTlVXKileAEB1#H}cFwKKySV)Bh@L;y7T@ti#_k_vqbj!n zt`1U8D?1BfwzmMiUc)6Qyyb?)7Q_WsZ}_afv~C7}f(3}X4k397CVLIamKp@;rW%&86NPH5DRI|c=GkqBCUqc7+pVrlSTLJh7)Zbq&bSt& z_AI5-^q=uSMcdSQ1okMJvy-n>3b7TKN7l#ivJc8gudK&)Y(6{LZaj(e^p0gO=(PogT63Njn zHW&+NS3PI`fZ{>HEX+5!1joZ{BC>Q)-&nLr${G>Cxdhj4X}6Fk|D&hk6GRQAcC1wb zbCn~DqNhLBK4HDEFDY~`!)R`6uTO9S87$}_#>hDr`P;uT+B32fRZPcTt!}otVm%a$ z01vcAxbaDOfIO^!h*jtFZ}{~E;}%i**EU`Y^KWzE-_>0vMn<}S90w}W4wzr+?q&7y zF35b!6@m#2I|4o|>|nx>j5(`JD+m!ER-}+P=9=Yy)Lmcrx{<6VbJ+Z(yO*<4jh8np zd0}FdQ~3dV>kC$qf^o}Btt4}Y&yG2>CaPGS-}@3+JBwzjV@~$nBZmq?DAnMWmQSk?k*vn3Ok8VtcV$rKqD%{*lxV3joX6=J_zoMY7Zl4`d0I zqq66)tX)}$L{E)4vy05Ot}DKPH}dnfR$Lh~VF zCW!z%;pG|bFQX`ew4h~b0g!#4^fD3lY*gtrR+`c6kN=0Scm9sF;l8|Mc9M>rbZpzU z)3NQ2ZQEvt72CFL+qU`Ue&#!CX03Pb=a>2eYE@n5+UM;3*)mQ6t)^rbvSr9KRF^yw zYQiafI73BwtCchOoB^{D(ApTwl_^rOnY%laF=kUuY-w?!JP&U@ZG)2?>{6gLhC?cw z5mJSWq;jhhCU<22RFbAwBphv^ZwUG108pEiFXnRu{jFAkZv7xV*gKXEk+b%=tt3V7 ze_IC@bq7I!R#V6XIp7$n1|e=X7^(>!s>$~Te4yA=>``oJEc47qjQ=Jp`b5BqE+!|Q zw_-~#dT`%EFV8&%5{s^I6yB4dd46q&NZ~&W4UQTU1xqjgS=D?4^K~>`eRvu-LYx;d z2t|nFO4{+eSipjSH9iDJu^Zj(ZZJ|A0RsB^f>F;az>-}Rqr+O-Id&ng2;_kdA^^16 z9|Dfk!E*ao*gIk*Q?@%wKGfUl1Ja7+2ObV*1woaGF$oA{LsXOejgC~NT=~5}FPIHL z98v19Bl>A0{dU}}5~-ux{;#Tl{L;OtOnz=>qQV_(KSW0nG@DoM6tC`*?LR2hbB70`Ttrr} zC~@{8)3##y_i^=N@Z{tq`{gx|E(ivEjP8>^n;`HRdFwL$)cXsr?Gd}A3Joy*hpoky zJ8NT8>DN0FE@58dujGuJo1d1?AM2{aJLGs;F{W&LWhZuemT|3h9#6OyIB(FcFYxxv zxRaHGbL;Z27`yuS`4dDpew5@PNl=^Qf~FJhWR}HjIih|LR>~OkQQVlMq*u75nzU+t{T0 zr`;)f76oJ8R@UBQoSOqv0b;O2Ov#w%26GL$ZFAr0ojHvooSrATz5If+^W5GZ;XUq* zT~6Ul!`Lj*^N~-nTU-RNCt@IIwOUu$oMuve^BS95thkCSh-9 zu{7sP`m9|ALE6pkICURSM9jxzq(){3ZG%i1e}1eX@0TRn)2he2;{Bc0j3dX3{JTA$ z_A&p58vt_!@_aCf{nJ~wmIi`zpYIxREK`MB>f<;)fH%WN*bYXh*9$oXJMoj!hZ2ZFU2GVbuMv#f>6$aG{uU~c?w9i0+3-c6y7tX2Xg?or{nx(l|F>D&=wHp+D*tPS9jQ9n zfh^IFiDmja5c=Zcd^^aq=B+dBp+$WcnPw9UYJ?PDuHFjLfOlP8>WVt#i`y35tKLdj zwsd|j2y5jdm)_7NOA#fuYxcX**y1IZC!skfpaD~Mj@^n7CI>zFS)yNhZB%PwkVv&O zMbe2eFMZQvq?X)D9e0{~Nxv|v6-OnFTW$m%oC9Qmcc|bdL0Xa4ryXrYo$xY5#l^&C zTs=h$L)POpX2dZje-t@)Epg@Mh9gcHoqs~N6o!2_PfNkh2cK%=&atCeqw0xuEwOXL zmU&^zWqqMG(y|;^B=V;5$neBdwIOW8wYO_t$*0Y%rnZ(n8+PnK|v~o$7^I&J9#>ye1c$=BCv(3 zmHCp+1s}cE0!yy{+9Gd<0v$Grau?areCO+f#-_zrM}l<3i`L&wR@)U9n6js+1)~vQ z7`->%!buI|2L1)yq5Z7Ix4)1nRW93i!fWhxUceu4w{tDgst7^wa1P-%E&K^JaPo#6 z&e*Ny@By)5+4UG0jcul6(BiPYZ2PlS^sGTbUc%JXN8E7Gp`tl*0qLf_Im={elR7}k z^F{Zi-Qt~d+*d^d5OkB~AQk6D9yC|vUbJws`zqkfz+>>PFz7@X>B6_rtV&e?>ydcI z@8O0Kr6jK@-^L6@r*0g%FetZoD2rtjeZV3H2BseS$J)c;NaHOz$hM>D1LV(^>9ly6 zVKp@p4ykT7=TbDOprcIc{w#;R-9vg6Xh{!faG_-(^VtTI*@6~YO!hgkWTgmAj>=AA zdB!6g`$+2}47|knq^G)dr{mSE7|e|I(U!7%+7~4n*!Rs^oAdfp%cGV~w5L=)VAjwt zBdMno`JWXTgV8^)#h+j}FwaYEN6%^X;%&uXWVRtFv}nu+&U1~W4kVS0%2-A#jg&9* zAP+W&Ro&#yEVOP;liSg1>~|$cPk-#fE&UB31i!Ep*NggOCqY3lj7}*Jj7l3Xhqa?C z3Gf-93H*IZD0g#m13+R2639>p|GmDk`)n2a&Y@Q&rN^KLq_VM}X7cG1uz2a!l4SE8 zw83ezBvxyjv5Lx9^h1MS&=fDa#TXR zKovF(e+~%c&_Q&u;_xfU>|UtMuu$#Va#_T7qg%-LboeFcdDuFl&q2w|H!kR^p6SpN zh8b}66P+P|fR@kSRxYq0amdva3B(v+C}tM;Xl=VyKY&~(Y|@%I@+c;M|1$8@^&dM* zY{(HH>|3xr|JNd-|Er+ke=kG-XQ5?lZ}Sgx%~+S2osHw)R7;eKrrer1%0HgFQK_sy zW(4wfZd8HRL^Z^O0!e6;%#ATwhUtUw=%hA|+4ei?;DOZ_yS+MV(p!C}> zK$Cj0`G=O{_>q`b_?g`E8kl3$yf|4n+0l?hHY36%%uQvK>^Y407 zJ8ymDiRHb&(u7^rsJY)U$FbkdOj=O6oGVLHH@kalk#H==w66W^0^1Y(LQ`T7@)_dfT;-3-OdRhodcBq^0Bcena z4cbcbUEO)QwBf~{E$d-Z^GBGggu1osM;x>vIa;)|)}@cePR==j`kG=pRpdxXy}uF9 zJ)s6t^y{sNw&pB->8qjsObj3;#3`00#qq!`9x*dAUFfj zXuKjMUY{`W^Xii8g5lUCclr^-Orhk*UX`fZPrURU^6n^ASrYdnir!Fy0JGI*H>tkm zIokjd4tn4d2>VKgI?YttHisU2EQr`tp2tmXuax~-GW zn#E*x9KQsuSm8I`!nLVC^LV`MQO*ENVpNq96Ge`>Q9(AoyQ^^o^&_7kOA{WENh6Rb z^a=CbrqE>UJ&*;q{s@iyn>nBnF!SO?EvV?%3QWNs=|OeNBg(Ia?r;xL|K95N}N{fn9mh6^40FjpUxG~N{v<;r4T@JfFdVe)Ngd5xo@Y-b>;9$d zE;@rg{vzd}<-=tc9~25t!*S-}dK4hdEY6iFy4(NYZI7-sgodt&x8+D7L6Mykn2SZ^ zYj^anZzB$=S#%&_@YZ%dnWM;kp-t~WD579S_Snbud+#>^gaFR{{`*Q7+ zCYlqbP13I!3h=-*U$}7ZY`%aztXBQGQ&c{vD%TAqPaB;Ll993RcR!Qh^O+8tpm^~A zL@M^d2|n}5|1mlWEpR|grBgYrc3n9?7FzG5%RXAN?T7=_$=^B<^@uxBxiD&K7528- z`qMIzdiJL95xt-&7MREK)a)HPy|P4)81{)dSCc&Iiwyj&P}82OmHXbf`DCC~k8@8^ zxqhd>Z1sH|v{TlciyZmO!?~?M#4XqGVmbS@rYk8%kq2>3!Kk$sh zDc>i#?=(8#zoyau|ClX(>wh`jEU0Tb><%J%Z+%AyQ$TV2fOQQr$w11Z#voF9Bo6vZ zXb9lw)g|)Hh}VddzW!F32L43n+T=til3iHEi*oPmd~&q>dKY#i{vc{C$QOSR^tstM z9^TPrQ!5rO9Gh-O8T~>st>brpyr>heSBi6UnPsoZh{J}dW5Rek5uoPZhF~_(l8PN= zcFiVKq)3)lD2u8tTr{o_ZO{;~EFfmPy%^1%aRq^K54V`_gD)XhQ@F)z5n{}9q+po< zK)pjK=$_6;&9XQV4)=|ka-!YK7PQ`=_yr}E{4sWqRNKM9s63D18#pT&ItV>jHPSEsIAJqt;y!=&LBqjcC3$Jf z#n=(Ty9M{p#C-cj0m>M3QiFOwFx>=_Ez@YhFWUOm{AAN*O09g4_!p6M@^sGfB%D6y z?5^A97^X=ojTPIC`|2~YEc()vPjh{jd386$fCG%0jjCYHKYSE zlI5&)m84+A^ox&kE9Y#n3de;d;^OUsrGN1Ms^LFchve&5c}Q(2WM8(;o!wkKk6O8s zRB5Pp0HCxr{8t7uldbkdbjOXsDERAvA;ZfWra4id81oUW6v~obF6Nloi!0iv$<)QG za3C76U>}PI-aN})lM?C*g^FZ82g;aqvTjb>SITF{6jOh0=S<^x_(lF`LQnDpP&dk3 zo%lm3Mj?ocSXdiS$Qm7!Qk@Zx_5tmFFlXurQRQJd#lhs>BLR3&`(Abz;EeYx6~bd_ zgDOEK08LtAm4#FJm7u5uv(lw%RXDTLIPleBy64I7Bsx6b_G0}K$+ymVOI%OX9S$j@ zdiv4x^!&ItZx-HNOVkw}6F;2-wCIYuwQIm$)Vd3DPtET=&JF8E+G9!KY4V(% zLaRKz1?iP6Q|P`FDas|q!+!mX7N91;ZBAISIo8?Oo*|9!?DhI^Uv`i?uWS;`Jp=6+ zxP0^s3QmgUX-P%NZ)9(;?~;P8*1+_(mZ&l?v`xzRFC{RUi-9g_2fL6Y%!^O?0`!Mr zW*{8;7pH1yFQRx)w5tQ(fqRD=ncGPGqKtgNyq;b#-sBz10aZ6#J*W5u%2UaO)1f3F z!@Fp(9jp ztDo;Yo7Udit-hnWp!_Ijr0-|}WPsI{z2ICB$h>0nWX4-BsUwZc6SrySYa8Zo62nGm zlCgFlPe#Q?I0eew;XA&gd8Jppnjf{-l_50OOEas=mag}JUrLiy+7XTs9h1?1sfO*s z&Y-PZ5C1`w?2C%Gm68j}74GYiF{1@5bA~FrDy-CxPiYvDEF#=L15V3tk3{Yk-N%OE zN^IKxXI*F7ps@!!D-Q@!yrfMO>RT(Fd8mg;inW7(z;=Oy)UWmJAdSMW?gW7(UXQ?j zhTmX@SVl5)08xR##BgJTZx+d@+HvTrq3=6J0+Hxn%j#L}l>w7P7tFJ3^DF3#rQ67hSTPAXf}h;LNPte zCzp@Uj)wDy5)}=;%&l2|Y&kY#1_k z>M@3PtuZZljr2Lc7Lr6SpuwBu2-VX7qozegP+~-=H|$Ay=Jud3A=g_t*NV&vnD%j3 zyYGX&#u|75H(V$b{^JXZHcB2C6{uV<%?2C4h9TQv5d645wCm5fq4J97TPh`{B3Iv; zLmk4Xj+wM#{!IQZa~J3eokdC|a%n-7JgNq?(-e5H*-b>dscHIypF$@}Q$;56=fDk5 z+3mk$H}U27nc;Qy^27Gsl(v#KtGZ_pBAVwdGPfu$Cq)=rum=0dYtHH!p~lhiJda{X zc)Sm9BvUX`Yqx!u|85}&Z~U627PwL4bo}{6(TcXdXz&W(Zy8J)&?EcUv&qc|-hPNJ zlvu#A0ZE_I3uer-s_(2)2-lB8V`Gf(F_;mQdPV7^ni!SUUyYEVYI*UrZ7wxMlU3eN+V;FR0cng2F&mURrd*Cz z%t2a3VknxKVv%fO783cwV1Ry_0cH2M&q1!6ZAfCts! z7NoXoYMdQTXlLq3W40?Spma@!GD@%#wJAa7b#lm-NXLrPQfLr+3@rML;9(Th8RJdTLA$fsfOR z^Cskl*C#^~0?6mmV`ugFRnsI|@k>w9@eHl_B-@s9^9{#4>L6NKhjUe4nOou3Q(Ue|X*4*KD^$-|t*4nE&m-_5a=onmGQ;yVro~nmyrv z%EKLBpo{&!uX4p z1zap;BLavF(h~**6#ExrXN@Aj*_I8GktPBi2{QxhN4NU$t;=IGQ*$%Tr7SQ}LX)^$ zcM~m99Sk+N@`HyYNo4@Ym0eN%y=94v7xUACOqf+IVoHLr-)1rsL+YtxH=13Rk4j%; zpcF|{S%1@(4W(2jF~bQ56A_$a_N0myu{M9QlP1_Cpkcc<8EI0- zU2kBH9Vu4=0>g&TKd0ky2b_1}O;{ih33qDL`fGLhBBe@#a+}FFoEMsLZlbIlS?p3f zDjTbQHyD4HxN(wKUtp82w1{;ry#R@~^*{#YEG?eW+nuNh1eAKYvt)nS$GB7<{L8G9 z8p|C^S2o9+>j86v3zMBQ?|{@?3{NBjyU6pO_9Di^+sc8()1F0KCy+ZR%t4XAQjJSt zs2JnUWcD}QZ1)3jDNRZeD@qF&OXkE-F7TO~BaiERYeu%?Ew~vT(AXzM^QV~Y8!qcS z$$ywaC_6j5uhP}^ruFfKcv6F!1#ZY!6d_}g^i~jxXJ##8M}-!S|MBeupT(wiVeCaq z-ZOg-vyKpnC@d8*Et;^dnu|Ej?87G2N7P0Lz(Wt$Xp-eC0}-tvbp-fn)1;U&Fk`E5 z=kZu)!(`FINCo(rE|nfngpW5Rr5RHV?WT|T117B7Ha;Q$S+%y!ar1ikI1fXraCZK% z?BJ9xpwJ|r@If%=anr&X|5wl;Zn2%F`~JRdPPtyq}Vy=4b~#?SF%=i zRHD1H93hp(R7e17S?x>s1Ii*IK%I=S>W}9ub0G!xr-s=-mW$NkF{mo}ez|Ai^W-LQ zA^}fj?`O~yX+CC#4~1U7pTbi8Y>P5v_UeJ!)P!{u;dIe8X#s4O~ibQC3vjN zeI=dw<06-yC0pme5=DuV ze$X8tXOGDlG+0+&%PUtc`T>c8B@qewE5JcBB~R#VU_LXZuE)IYtswHVw`EmqIhfkWI!^#4ZLNjYz<9c|kc|n(5?P4X z82eI&dI01C1~ieraC;3K+-kRGZH}ogRT(ir{bV&B^bEYj1ooR6mDZ$6C(;{kQ3!-8 zjUwyJW%+z)uduUa*p`26H+3MakM`5&y1$AFUA7VL90CCzDUPbo#Ry{LirTqKzXC*y zPEKm!$TL7aX1ZJPC_3w)#c|;Bv*td_MN#GTfaL{d`e+7zMk1_OxY}!-!QWmwJmZH> zR&&@P&5lk^z+u&PzP?|2f(UC$3V(~Zx_^r!t<5^9ypfWo`6RuxaAK>Qq=$j+CCw|0 z?6}rs`KVgE_t>mmwIkh*%Q3%esf4o|eYw00(Ln{a+V9SK`Wv{Kj+P_&Lz*9CzV7v&gh!tClKpTWOVpPD=wz5=)E50onIu|hr%gv*?@T^L?0ya;?y^_ zq-=BJrY*@08^Gk`q@X{y4YiXyZ` zuJwSOjhN^3HuY7O0D@ar8FVeprw8B(N20k2Df#;~g#Q_6K0Q%LuHPrFwf}nJ`oG+u z|FigXGZ_ivA4 z04)bg^H!2k-P!W%=`7jmZ`#Uw{%NTR&dkPTiucDgJ|8en*gn+c&Ty(VS!Ab%^*4Jl z-+DeGI=$cYM9W+sJq>w}@+BRet|XMlWuyU7l5kjDKosq1oCo1%vP1Ol#`X8idK%0baBe!bffg8tgJ;?MC#lvB<1IVR$Q#y9>4 z$(G?Az;iRlh@xF9ihBQf^urU5UndD7_>Bb03Qp=%M=gk0-C)7Z%Q}MO3r|;(b~1#X z%4@1+WZXHg*;WRmj$nL^FVs#rw*QpcoJ^%wvslf4(_h96ck`9>=T2K#nzY)&TWNQ& zsc&_a@Hv@zD%S)|7cyXekjeZpy^;h_cqpW+J5~ga#i}1-tWyM?jH>-*$rYw^Y!x`V z$H`$lsKB_g%DHdHokQ64?hY|0^BfGHhZx`Q@~b>TT79RMj={L;v*09AoM9yNV{!h>ZkOhe6N@UJo$s9i&Po-`6tjZH~pE zpLQQ?=(hE|PlYLvgXK9&)d0H$adTJ*v`dF6350I^x%>dtF2;i8JXRICa;;IRlniajp%P4;l{3A$B~tv({6kqwUdVaJlWw~sc+L#$>Kei# zgR-NdP0hpUM;P`z+mA~SE20scI~F+F8_y^-G_B5BX7gSddcp4irXtKKu%-m{ElL$w zLd{yja9RzwSP0ne#pKEA%r^}E`Ao>RO+g(S5yg9Y7bH~6r%!6XDwO@>!gFKhQ}lQH z6$ocV9{??l@WD(z!fjM_|C8vmog^f<=jcMbRO0LFW~Ishd!VxPY5s-2bSbtjTC;SL z)!bS6z05b{)1fnc;`DWLU}ph!a+((C6U-MIx^Lsz(BR84(}!A0xTbtLvNzIqH;0Jy zWpzoF2QD13j=8$T%DrEq3@r$Q&n<=OPx+sI-*gC%wP2tL7H zhB;*ibFDNjoFEC)VgykJQ8a|ULdb9O^NtyOL^)alIZ~9UL++fxym~+?juGxoXobiz zfI4LJwjx}e(tF6S$f(s{L*v64Rw-*x4wg42o45BP|IOp;9qfd13>~H;JPY+IM{pY$ zrw<^hQpv_H?zT!a^wK2L9miqF02!C7I&0v;N)oh5O^ilP4J~{eS@P!cmpe^=OBlkG zYrcWrEq|6ou5pDHgDt#I@7uPX_7_1%*)d%2_5z_TZ1x0ZErt?O8#(^IA$dR^~1XYEmB-L zV-qs+PW~^FV3Q7~y3K?uSHkMUKx)R~3Y+rFv^g~@O(U*TDW~5W5!DPsKdG|Xce=OI zdH`5Q_=PzIP+E%;LW5D1J#ZA7cG`ejBf2D7P^hoKC223Ok~6EuZD$(W)K0BCfIRr6 zJPNqQ@5DYgfuF!aXX!d_o?7HlepbKuCpVL47H0`P^jkYkxalV}#ye_qciLCT%r7ab zN%euv8W6dhs|KtjNIL(l(g28ya2&o{N5J(Pg=|R|3k<)oZ6wu#25M^@+MRr)XpKld zR5qV(Zz0a2JY0Ql%@gK?QA0x*8TKS^Wzd5&kJ=KU!&^==N_AmzB+SkgFlp;Ro?vhu zVc&`QwTSTCI-Lz20COM-49E;SHLQD>*5u|Lt$B{>g83lkSJj(zR}A|Bd0nYL1immv z@dmte^B-<7ROj7|i?85z{4HyET1ow`8hr}P<M?zzv;E-J#bAdCQjY zE#FFwxq`3hd!eTcK|*=jK>k|2+n?M2yaVe$-)Ig(;tV;iVCTYMU7JkCyXtEu{!&$| zO!P#bNpiva?)4*P+e3o{j>f24Ag#R4N8&T6`Q1DvF30V;m-9kuv!Mol4h;OJ?wxR| ztT@|rSg@%WzI#0;=kp2skIKEd=|yY&hL0#9|2LKU?*I}84tjRBe-XP$%Gx$-tpDNM zUMHX~ml_S2pYx)c&mHKe)f9GDw?dJJ*RtOU5tXou&U|f3DLSK=iZFBsTivcZOnuBZ zsR9w{MCn22M-ia575P)ihBZ&2uN-8|^n->joAqfEfkvO4c3w#Kn74cB4cb@qYR947 z$Rm#Qj)+acsPb60JFbUiZ&6;P!Zn$iHa%nC9;{#r6F2d%qG=~6(ib-XFFhA^=ga;C zHK1D)l`;^ZstLK-HHhn=CH0+Z_nCY|}kv^K*WI|!+ zI=jl`#F1S8uuzbeS)}zJ;TwK9vCntgqZhoztE4+4k8T=r97QQ4^=&{Gkx$X(o!Hp-xu=MRq6qrsO-^LLWoL#YSbVl z;*flZO)@g^0Crbxb;VxvFIpuBB=*cIw_m4gKuf|%zHufGTF4rK=6Hn6@IAOD0rhX& zsDmC@cW?MWQz5>r5_|r4Jl=FHvcF929wuwm87At?<2DY^$Ik6Jrsl@fKVAA&e|V7G z`$78n*|>%dX*Tk$tO4_Cb#`tbgjjD4_GPRs9JL|hd1q%T?%?GFH}xz~EWM?;h>bqs z^J;&%)wQ<0?6LmrTl%$roD~({)lH5sW4m=EHC%X?GWXZi7nDm-C?*U1+zJ|f?mcCj z&^LnQy)sJoH@gWRn}4l?9dNwlt(esqRKeTzY*^%x-_5%ZqlG8@@OF12l$D)hjDy|! z`Cg0_iy^*oCE-NDoBmKWT0-{tmWQo{NI=70d?ZN8^Bn9>TxS%wX zN{uOU6&C=4laUF{XEmmO5UlDoO0K5a&J*sr8ckCJyX`^4kDfFCaYf+!c=f5tq47BP zx~s6O&ueWQXdU%#PFQF{dAYFjVjy^UA?;h}m*0;u4#WOlSALKl;r8x8UzEu2Yx?N% z=ALgy+1ckbH%-XN$^yTzI&!yf#1`qeKW(TDvTaF9vN`W?43HRNcW9~ce<67)M_FIE zM(YCG1C%tFnoQ=cjfcle(LDG|;1Zjl-Tt-H4$M}e)?ThF- z^MDWf+0d>LWLe!9%Td`~JPdvByTOk-O`_$?z9)+^ZuSWJ13eGv8I&i91@=#73P;A> zI`$cox1hKyC6$!5>i80%#tH)0$iBVM=xrhz6x6xQ=7FAa$@?LZ|}b95)z=&`MA%5*RC7IX)V#_liixZLV=r-RDhlu`}dhP(n5Dtw>+9X2E zCNEQTguc%L+F{~9{)*uMb9OS70G*L(@dV_+hozY!FP1h{E2XBFpFnM>{)mS%3c8%M zy%;Bs28~(2*JVa>C~i-{aRYWF@HZ-CudhkCBr@{XHzq_z5QqscI{NXK!}JwDtz|P@ zH`BmFkpSczyFvP|o?c13ABVv>(ap3?DCh=`Zqb&WQV13_sG=d{s3`A9B=}=A`wF&s zAWxY+7MKDI96pT;e^`Xo`FH(uqlMl^a_6Y#!*590!h4ENBs0P#FT&pd3MMrMOL>fo zVr+b7%=lEk^pA!mh@tV2LVrM4=TES*l*{HIvI4}Zz~eWPpbo$BGjJ3%9{Dqy*ViVF zj`p^$j9BpS@X?=Ehf_FAd6<0oD@$xjZ5?t35544Ys%=bmAeU?*^9{W_0|yINY&alv7)BWJ~C(Z0Pv30S1q%w!Pogs5?GJ9XopLIG4Bx(J?U|ANL6# zPg7mgI3l9=wsA&Z80{WU(FL&t5+8OWu*9y|6t7k)Z+|jFwbXuJum3UgF5N~Po0&n> z2L@nNQI->V7WR)|(S>^I`S&U(;-bnHvz3aW98C^zf5M}r%uDbt#dF?U4X6}0G7~uZ z9rk8k7sv6IXOuE8cmD4fRrE3PDgXpkxkVrblki-Reo6A8SUuJX)Kf3t8|}hrGRFh z#;{lL<#**?IVa5wwH@Gs6yudv;n##8#UWNy)X69!aQpyuL-4Y}65tj{yn~$&bXhRYkw%d$v&fSd#@UaaV?7jA#PpH*y!5)IW!ox7ko1c=we@QM zWaRI}E1PVvnvNOk^Gh{~owI6*DM~GraZLeY!ymjLzx6l?5j2-885+RP9n!J3JJj}E z!pvZ0W`i}|zF>dr>Km0Kq_rgn&|3G(`xC<^Q+;I7b;r8$st!~r`mQ5Ig|dh@k&sPt z@tsA^!NOpSVN)&$k!bt1M77n;vXl%KkitZ_Q03-}5h41bi5KLI4C{f@I_}0S_Tk0~ z_MOc>!wC4dlBl<3xvQ!no4ql(It4@-G;S-)i?W_W#f*4_WgC`ygU=&|clkN#8~}8rBf%z~(tih~HptGBMp(+}aesN#YLwQiaLUFh2VQfde zKrU1eUeuLB!6dXi@&cu5z_{P^eEZLMQ^HcsbNOC(VgJ|gGs^!NZ~y5=H`BNHmr*wG z-P-V-PxYGmZf%hA?M9Q{#dsA4+H-pOuIVw~ixfMDk?)}T)1dJ?eZ=P~4h?kBkt3U)qEa9rlK+Q0{mQe`*~Fxy*h;4-NE9BXtZ4)$__yi_7To5j*D zN}EW1C_9VoVh&ZWWfd4EI|5+jcDl893%pWkkv_NuY~dp(5ct7M!7&l${LCioz3HHy zJ3>uiRy7eZ890d#(Grr7xCQKJwA!HAY2|&2-tvoBP_Wwx?X2B!v#guls1BBx(Ii2U zCcoDU7+{gfJsaGGs)~b3hfG@K0CkDF%B~~DBTb-dIbhl{hNrR^xQ+t|8h#z+GMydx zsgWB$_K+`1Ife~?30-&xS%b-$Phb9y3o#!N@-6JxgnRg8)vT`+=aAx9$UsM@IrUXN zZSP5ml>#GS;e@r4SEOX+??Q)ptMbR5h)`_N%AH{~nb+4V-@w&p1Wgh9M3t#+5hFTK zxXW{2EM}v;4rxW1sAo8e}f zx8}NP@9_A3ETnBtqbSts{74&DQ~Hi1S@2!od_DgzQ{7^l${70WmfUcFXOW~wBzPN5 zUPgBDWcN~ejeFHF4wLbv32`28fJ!Z}B#BLq4mZ^QaTHiPE}^z0tM8PiKMCdXZr&;o zH257~Y%B90N0ZUn{MxY%YU~hiV5)lT5lVSag+t|{GNV=wdKVaZdF=#CafNBGWV@#% zPxx+MeBj+_Lx4SQWr^s8(e~g8otCApm6fTF^%Ey70P9)qwYf7Hd9DQ)1bJX}RHL)~ zzHfZdcJ$!YF4qD0FV19-psY0^@U(NT+zH}`mx{md8+qm+SW=ZfB9Eu|Swi@ddLd~! z%Bdlvjk_c<7go(XBPx-?kq_}Jy*J)?OAcVV<40!5S8O>kM2#i}pq773JyO&3jFIQ~ zBHy!E`n}PvJRL<+y$~2m?Fn2vMJ6pw@k<}v8$LfD%NI+tnoganX4t=omJnV9#o2ty zZ_!^N2>N3@>ol2e?)=%;$s3QdgG>_k1$~&)Hqd^(>u^By213<~XXYA~U!K+B8a1(9 ztUo7c`fzi?Wft0g?h<$hab~T8Vs-kTN3|x@@QsGes-iiawQi}<~Rb5`UYF?NjlTpQo>N1EFsg~f1 zB*Iu_cu3sCzp%b58t}}ksFoAJ4)Q&{_FMs z>c9TK&JX|FfBio&3I>jUMJGGOj{U=B6nXL-7(Vlj|4BZPoI{y`(r{8p9{z*Xah|== zN(hzUvm;D<2J-YV^X4IoBL)bH5rpFBAj@C&GK6$SouL^oMxvf=bB9>0iws*sty&G- zCb-LX9=kvCjgvBDzY#Pkn~Bm8fe@!Qf9QU2?|E3wc%v?Nw}kL`A8k}+jVnNva&={RywvS0dJC;lAlw;zD8}RI_^&C| z%@wa#`P9{FxgtNd>i+_PCKU67Eg5Ttpp-1jBO!?fNC4mGJx1$bOJ)TGDFbHbUK7jk zO10D&ohcn9OmD31%^QVd9RM7o&|EBF*TtrLsz55VKO( z&5$_rvC{+{n0m9pE7~Oy?Deb1M#D>`c|uHsEr(sP0yYw!$vBi}*V9{+cQ@QA^2W*v z!W<@Jhd)tD=A$zy$0QA^l(wO;Et!CG;rw=$G$f<``tl}XRD}esAVNK&=vcJFz{whg z3b$=U?il2uMX5Nqq_HeG9{MfgO;H&vWN_)S1^taPFSKVap_W~STjI%}oZ7~CH8q%j zu2qwCvK!5h0p#>&8&-`I_RO**K>UkB^&m%zgZMcRwbP|_vIy` z7i{QPhzY#VLZk5d7g92m_D>VW30)mv@Ix~jOiLXF+fpYgJJKinact+I!ZW^By2_+~ zSpTszO~e;rm@+?Bij9>v{|y?{AmBNt!hdA}~CiT=7p%m=y3p=YvG_ zd3>(Zg|%*&`{mugE2fRcXK<6B{atUB#)Zt5e4?8nH zv&fT&U)ykJ%GjfamX5SLGtZeZpY?D(K!%egYE|Ip#LwKl9hcOS9FCqjCS_(Ha)wu? z5D6>G-8v)C$#q0@^Q@`UU7lO6!;E6Q%7-F*?Jy||vOccE8q9`rQf~OU{HiGeEy>Yrxzp^SYoU@9r#XincxhhDS?*S$Pr4YV}r9 z%fXh{)2)eKH6c~n%SB;lFsh;jr5)zkv}WDZWw6&(Q?#+NafScbbm5mA-GzhYA@kSS z{vLy>_Zgfw-kaeuPS(z4@+{Xv{#Q(kX*Q--5W5n}C`Uc|zQHfVkZ&3S3yQ2O$?Tmj zysM+C|I>7VvL8Ji*Tx!zSUrwh$wt%~WQEE*oRz#4len~u@ZMcvlT#OTf)RAPz9*uX zcmlQBWUZ4a0aLPKQWD=@;pTcSB4BF9P8RP>sH41U!COCpE4tto^}nLWt(N zXx`#_r5Ucm=7jx{&8`VO5NlE6n-gT~a4By#A~{ zZ29r`Im>w(#)VKV|An-K5U-~q)?xgZQ58g}la-UZ;V&`lCpUW+Hf~G;uJ6r@EIZ${ zC#qNc4(r}H*GhA>4lfPw@!f+}2%SlcRMR8P^r58fRjF(1Xo2gac%tr8-_Uv=5i6l8 zVFl8wBdnK+*T$e3%{Xjw3<;xxT(j}xnv~KgST@TLt=Bfw&No;wXI-|yiMt*&tN;t$@K2JT%5k zLmo%m5PwXLUmAq)qtePxPma5McHU*}#l(bKP*%=BFO)O8aiWhHbTZ6(rIOu>lHT?0 zZSGVr?s^cao9C}{J}d#Ek1{;tipeuK#SN1t-&b;YpzxXEB)^PDw;j`|ZH zq>K-b{VxK~WLx$Lo(#>2@>whEH8)k0*EJMND~M`_>(sV42F=J`=<}WahDV}>Ei(K; z(*Hd}3PUOaT(iP*^1G+lUqJ=aR#{jIk>ih9m=ACuVH$CwwQ-)GYm&AxlPg0U+vsSj zXj%d(@_D(q*=fI|F;%*CMFPbF8D#!RA`nZ@7R1`3*;8_r>mp6ISKIXG;mytrbcaeAi%eoi zVO_->Rhk4!Pw*XCA95?Zk2Y`1DCzB#7H0G40)@TTF0$?G*viVrd5n<36nl+Lcz-zc z=9_nAIV*#>P9aX3R3n_v)xp|bY`B#Cd7vPT(1a&JPwxao79m>LJ)WJ0%djQKf{4=` zx1B|RhjGw`2D@&Ru)1s~40r@HQ1Q_P!dT4Q$xCSAjK(f54g_y4Wh$U}+Dl=wpa(AN zc%e}ypX85|tfd|Dwqf_)NwqCz?mFZKrFcAccn~s}MM0yZ3N>^0@*6sOQA(G$c{m-# zt%tY`CS{|^0JJ%lm*kKd%LxsiMw^Q0mf zzRX;O`q-${nb>yc`7>ru?{AYlMSa>=oqsw&jd+dkg5>?#7cJH5Mu-JF(q$}Iht4XL zp&U*BZvzJ+Pcu^cLfP4=_K#xDqM# zaz6s7GcV95FVh1;eMc5uBy8OXi5&kw#@_Ke)4l21jjfKYj%{^p+qRu_Y}>YNbZpzU zZF^^}d%WYh_cQid`~7nL1HW`a5JjPsl@FsN2Z4(jpv*PomdYFX^niv`wM4EWq7R>l~wx~ovK|z zJ=S%qSc;vBUgQyOfzs&Jc@;yLz%zuJRrIQy{16?rYxXY6F_VkS4)Eu1C5y2#Q7WKd zchd0_?7fwHGb8D$GSIg0T=Zs{RcSp*AcQEyNqDZ0Yx(w+g?WX$0YxEgOQQbVI@B%^ z7t3Ru>euS7zhP2bC)l7v!j0s}$wg7~mLn(>qWJ9V0U|`9is4@O1WuhvNP6+yoNxFT zvFg;9k>BDHOo#JjzDsrIIleg_!BW+Bv2 zVmh4l0pU^<(=$CE^BK4)C`;_>7vH}_5T04m!U2JZu)R|>u##ms_y4f|y3Tpq&v|oM zyvn+FCyfTb(7rl;vVY)zFI#WloD=crKeA}~cw{)yxwH<%7JHeoV%^z0wtu%)?i-S+ zY%6Jd+tjMKtDd45{$4xPkC<{|b#&Z!-v>wc9BW{;d&@LhS1MIy8l`3{Vdr9IT~}@{ zH93vyX#Kih^0I_O%SRK0nQQ9j)E~#7^xqONTrb=A{|%HSXyK^m>N&jRnl`{Oszwg{ zg>8-o|wh1&FiS0 zIM?j8>bj5v>Cnz^sKkhPH^E>SM$kFEJmylaLve5TaXzv9%hA_CfageUA3R&e{bTn? zE&op48pP(yAU5#gp24|jSRj^&=j*)%)*(8Yg322q4I(j!Xi}vmj99aZ#YfxUBOWh^ z|T8e@0 z+o@|&tGB>&$z#cGqjdHF?B%3~J~Ip|!syyopFyV@z-}}4;qSaFT|Ia880BrggzNbV z|JRh)XS%5LmuHU;{{M2yv!!Rz(X;;Tpu@mQ_fH?RLM17iJz<#dXeE3Pvt5p$iv}}p zX}J9~_ zkB^H5^!r(5%f&7f2t;H*RVcpvaLIi32%igY(Sgj_O55jtN4+8s17T5`0P{Ou?|e4V zcN2)}$p&mM39z zskI)82D~LLAGWJsOL+cjy2s-BdaA$TGm;}9H1V8}lYmn;NkvH%?Mz@?if0efzKKX_6JX$XTN({~-t{f3ox zPYBgvVW@^7m&Bbc*ruxNC6qZ_93?Q*>1;;jc*N)!{WOwh{kgp)4F*d**n0wyYuh-} z9iK4UGN+m5jJ(Ag59N@YVQ;eZ+myA_U_rF;$2rt!c#?K*Z^mMRK!~;-NmCH@3rECG zl2rSw{BXZAXkr+VHv{r9P}?qXK_#7ZxFmqB0*}XI<{W)+gaRf$mMWq{R#nc`PRn;PuQV^RV zPy`c1z8RKuBfEY69JeV-freeffd~ZHD@Y z6H{7CMO0ZN1)pj^o(p>I2XrA)9Ei(1Fzyw{0XH7Iw}(b<-$ju)vy?7NRzWdub37|li;wPwU8v%l@L*wM52y6t%$5T^%^Jj>oU;I+mp@(_2qC> zsK!KvF?F>&c0G*SnT=WHR7axIl(smG-fR%@qg3&eFxpVE7*g_t7?INPj(OxTr=#{= zFFL}rWl!AJpDdf%6i$`X(D~}xvTBQqc0tFtKoVvpzVQRWZF7CDJ93_-1@6Aq%un4- ze2*#`akR|-DjGtPcGf`k>(kLi162^vXp)F;3>7& zClEJQ8^11l68W>6o?)({NGBz%-E_gW7R7Y5deG@#YM*IV`#x9Rg7~+J^zrz)D98Hbv^=w^rZ1o&Xbr|Sa+5RcAy+cLK z=G#B=71vl|cUT;61A;~OJ5J$(>6J0pF6{hB7ubCsg7ypmNaCSi%JnR0I1 z9N%NXK4;bw2MeszMW%QJHi0J7#lpJC;dV;^|G>{o*X95u3Gj4Ah? zdcNkY+%S7eVl8J72GA<#Y>IA=!J^+AhTc`|C2U4GF&IAcy34HRvf(G{qA(Mub_qf# zXFv@2k95&f2xj<%$L(LYfqv01i1UD7TLSfyrK#I;%YMG}`ZVzIML~`Pf=NWG>@>p; zG%cun#u7RFOoyhn_6jyF*jDSGV`TZSR|Oi-Re|C#B(pFVA}`~&B=`l2fOEbv6vk4` z;cSd4!6it>aZJ-(m&|$*o7-I(jiLuyYG>VKu=?}Tdp6@svg6Z3n(Dq=dP38JK)OE& z9`wE#fN^+>LCBIEa}2|qbK7+hC+lIl1?hKX0$0!Rhcz^iG>JVJC{PR zmxV7X6m1#R-tq?x3sA?V%OBjA*w-22=LDwEvQg~y{hFh28rp0z70nYGzlXBK%m*;8 zp@4aDFlLmhgHXVxYxwo5R8I7fQ1FH*Xv6T1Rve20u?>pu(g)YcvQ{3Ln~7PTst|&) z6wc6*M)R|YnjD(zXRbhUb7nka&G|y@TurxQe-D6vyvFFE-(CirSD|*pq@s(P7q*-? zgC7h{6;S!^LhE2xAr)eMBJ_|`nLZAX5g3j&P=Bc%H8OBS1wE>yST^+R5&Ic#qNtT) zws8Kjk&Sp4e;WQ?n&Z!;lzj`HbRUTzZhAT+WSxk^1lnc94v=5ec8y!jlct!k*}F1u zE!+1S&N@w=UEV={6NP!glBN6&V5BTCxYnCiyJ|w#MNitq&OeQIJw2hnZL_2T_0wx! z-OE~s`z|SBEDv7TN1vYKAL;In?HiXdsm4r+Yfg%udY5DZtl@Xo8Ee}bX^H~{P_yWB zfRJGYD=4pDa`b{|dZ#Q{mVIeqd1T>Z?KL}4QSvVo3+WZrOU1yLmnuQ~DwI_9z zhgEz0KF-~D8KcFmb?^9f zhC>;FTx7zmJGphpu9~&>Y>feAAz5cWW3L7w_FB6(Nn=^DxmRf4t;{WR=RD0! zb13#OisJi8P`9G!7JeAIPP3B*B5pHKuK6jV@XlL#qrejUjEBqz%v9&4y?ODkqwVYi z7bqQ`kLSO8TI!!|dM)3JAhUm!Z2sAD%F0N`{7)Z-|2Okah{?BVB8!4UiL*igYoRC+ zDzzU0dML`W7)I&is;wRvbX6SR_p0rx^X>9HnbAjd|3?8rCCu0hXFPvs#K=o>0Z)5G zD~PUrVWh3liJj)rU75CMY~V2?tFq~Vffy}ha9HAc_WBRX2+TzU$KH{teDPn_o(*#? zLtD17P8_xo0d;@i5Fnx9phxCg!5Ntqq=Y3gzM*%Ce?#xewo|q>0t&y;4OJ0jsVjcv z5>`HHV>j^v+E}^DxU~+z8D!)?+Bhf@WOHxgYJ!0KY}6!3DMo-x17TmmT2yI%fU{tq@p>*8Hf|5-3-;C}b^z zP4`18xS7+at?z*vM_gP>JFB3PqnmrRM&?*PlXh_VW~ST`2qAhrA=0~%22TvdfgYEvyC&YIA>H4u5YVQAYc$SBM+-$^|fqz)wpK^9-u$i zr)&dSB{j)j+g#JTr|&1y)8416w+pV0)Sg#b|B3B#n`G4|n8&1@%sU*y^AGK7gyTMxMLijd@F5SuZx;ueDC zG>_@^=K$-5v%C1QqkNI<^mW*H`PtB=U$=!Q>04aC^!3+dNDMpBcKA(J!}*>L|9SuS zf6-?#GBdI>{)6<{q4IywI578ykafCZo&A&XRK-!@iYSCw)R^F4jS^xN&LglRi9bOA zZwW4@4kS1P>{ZIkfr-er!v!ZZ*fX$#vvmOG1vUMlOQe{?Uj&LGJZl)M)c&{(r(|+D z%CsJBsK*njF(|1otDPb@hvC(EWP}V~O}4P`i#07-fufAaUn*BY;s!y$H{t&E3m#r^ zDO6cA^7L1xpd4DOR5XCg&_1kBZ6is*H3D{^VH}DwtesTL*5;yDs zJKN`Ae`uf@b|gqF(r2+je5%!i0@g!>pEc5f`_0_B)bmk53x`m0@4_@>YD!ZI8zraf z5(Ni1s|3MGAQ*;eGR=#o$!t*Up!IY~#dLhUzXULlCR|3z^?Lj-a8hdV-~kbnE7iHN&jQ@`-{40(i}`g}PLQ#qIux*#^?m_($E ze&n?f&;$(E!B7r?x{eYr5ki@SDn>DK3)eES%N zaopZ+RRF)|?T04O_Xau_(P>4Qsn#TWeXM<3DDp51fcVd0UlcdB#~8 z_FzzV84kJEf6Y39M2XOiMRy(0fv!)_w`GT6s@FX@XnqJmzt<|hz2Ml==o(ixgT!!( zz3F6aFShN|>G?q_C!@W$w&blfRc4-rng+HStW|S9gHZ$x?2e@k=R>{`z^atVINJiv z+;+H-m}bK?3U~W`(7ca9K_jH{9!1`C9~#ii=~#f~{DT9xHCZSk@WxCn2H@FdSDkqi0K9 zKJiH)p*RJOOqOKg&-7PxKY~_&OFC%{-l@1;JC(#WHk|zn*+P6pTWp|5Yw)HuiJ?bF zdoKZ6Q)i~#bkmgFP=5P@WSbaCBp>JyEPAt5eiRiM zsXee{lrjZHiYJ>CCi@4ub~_u^%aPDg$s9W;2fJnV=ASmSi@oqixw8iM$K>Sb7mz-q zzPlYRk3k_#ul;aO8>C_lPs8b#aG|#0_uUCy7iW#W0osY*n)k{DLWk#723l5^i7_hG zA|KAIeQW7k;Be^N%?hR&ZJb|EvKC8e&v9lty5t4(?4!TLo-OV6RFLHL5(n6c3}XJ~bXBoVrQZkr7R09(g2FWP2Q7yV`!3e4wnqq){qjvm9;f z^fW`^X?wi<-7JMIW$1c+H%rU^DggfXe#^kr=$m5dU}S0Z&D^lD*0Hg-vHj-Bx>~#Z zLy^yv=d4__P z6AGMH_``Y(k69NcVV+vZ3_hmgK-a~fB8h@F>i`#HHxr9it0*_3kVL=QPa5(}1EsZF zUBfE)Io;>!H=>a*V>U=pBn`OL!xx|SS@7Gzxu^u?4 zrz|K;q&iF-;GcB=kQwTug7;KRtldxkogk(#p6-+@T5u_@E+Ra%xvd)$hG~I88P9|) z-8(&hx4+OP6*xI%p&%>9p!Wd(*7wo(>1D%qh7$?aH*nE9*3%ki>c;li77+Eh@vK4f`uY zd%Wn##Ex!V7=E!rE3Yf4BKaWZgPThxx7!iKpf0bnZywa-U~N?uya>c-aauLMBmtFc zEnv{4lq(m=aT0=m3VhMSVLLhZ44Yas_Nv!zMjf(Hjx)#+RGEWZKB~zT;N;4OZbUJ; z;N5ryj40|0PaHW0RXNW9TjG+YqA3orVxFIy2K$_5KeFCLB5A)}u80uOUPy=y6KtWR zWVS>oIheVO+7D*~ig*Ud{yD&>)hDg}#shujFic=rr!WAsri={|jS6CbR-y)2PyOsq zN*~U+j)r)bApCG?m^E;i_-_r~Y#zdX`~DbL!8Op@W!W2$?imt_{QP(F^;uQ2VRp6n z!K0=pE?MnYHbk6t!=13*v#yct^Y>dh=hku!`9=?kXX4c)@te-LYIdOK>&T+drRlF8 zJVYLVk;hHtNdMDb^tUQ~L}Zm$BgTRNsb|(}9h0A&aJ`P;K#eT8s0<(@?6t}8q~6?K zL6n}w6C43RP44hte+Q}71kW)ke|Mf2-zwifcb>HWwQ~R8CCNa~-oVV-#>`Mh&(_w+ z+R*HuN>ieolua)kOvfE%MF#XKcuhBK4-s2LZVwz*Sy_ctkNTRT*m4QNm!}yc0?dUE zvf8A(*Hn~)DIkI*1dMNq%a{WydDe|;K3U%PocS*ecxB-b!KcB(`^~;mB^e!shtC8R73|7N>%Nc zRtjqNbXskdejkye>J`+)PWp6ASwnq=jXgy>l6*sNgGXaq1aiq3E2v!A4FignRih^0 zPR$;Z{Gk`a8_skMT8MNb@tewX%q8AI+=me005`5CEB@`2>GFE7Ou67!ErDmPu1PSs zi@BVtC#~o|6UEHQ#WUud#0dP$9G`!`8-Q6zzSwuMDf?F*GvB|wo2|Xs-!x5w-;R3L zMmFDDCQDZ|RCr}QG?r1NiWvJk#?gCo zL>Y4elBoNiw^Y=bIkG+2%_du3COf_dH3X?2l7Kfvq(<0w@-c$4%0j;d#+py^3Q+8X zRLAo3D9WOYQ0<~3vc6*~7iD9Up#)Vi7cNxzkTO4Gf+Vs=Gjj7MC}=|M`IVq| zN>PKwFS>3Y@#+*JW;;ExM_1&ZXQZZ_*J&H>2+!9v;!hX2rtLzr^|Z)11qTiMv_II-){|6`Q#Ur|+9tcaddDvl?ihH@~p%7hd$ zb)sX6C(3z5SJnygzKr;x3ozY4bP1{7Syjcp7;r*k=^MqKwL&>F8^zTopU=L>yoKP7 z{NS?%QuJsLz{k&=8cM$s6t~6UMT6%u=Tv zH;ybaB(KJ&#_NcyUx>;7q%SStYg!{ZAWL*8G!pNf8D*ob90BBLlysSo-32E>a7^o*Blm%%UZw4HD|F3C2)Ey9+md->V+ge~L6rNU?d1s;KAwl&gM zKFpwcS1o^Pn~WA}=O<{!MXQO(kAmDF=0Y1s9Je2q*f6?msW4D!uSRI{70gXWfYln*d56bQfOc;gZZ2) zn-cfwG?}`lS0|W|w0=J@-iuGb=E#b{!Mj9A$Xyf%)b4S*ttil7e!pd2%9Ss?(6;9e zVytRXNv4w|Pxw3tAjM2ST4DaK;;>2>0lGkcre;rP7USu6@YqhLUHVvv7kS=K2tcVQ(i%LAfG-NSXs$xt%KokJWrnXCmK~z z%Z{7Kee26L+I3HxP~VYVr=i6|gG2hw9{CM*mKwwslt+ z&Lxt|X3Iu(A`mEC5Q;Yv$2u4VOwzOFIVzcGiHoJHE$!33s(IS!+~PXH&BTWN{>PT>|mXNBu;dc>|- zK;v~jEK??Sm`WB}cuJzAM|tCAE~{B#{~_I$YGP>aEN$)x8In0*vc0E{Q%_`aNSHs? zL=MY>?Jr{zS zXzy<l8Najej z%3cCGBv08kxR=f&TGv@?7h+q>ql58Ti?tP88(_Z>QG+xqdfq>UZKe-q<^y3S_3OPV zH``vLfG1%J)cjkpR7}BsOq6cgLi$DfR}nDb2aBn8l+eNbP}V$e z!NA3YT?H?@H@l6#DaqipaeYDM-F_}U=>o)7sy(}g`z^x%II$Zdw)tXbQzAy(b0IQ1Lw00B&VpOcrd`SWAH^2o}5N9D5>~jIoF;rc#aqCtJ)Xv9K+KwJ88bDX0^ne}g zQKrdK?U%u9s?AXA4F+8zA*uW}Zw5a*D*BEQE4?ydg8VdMb!j{Z9=)|?+n)pf$eSqt z40Jlh+X5WM^BV(gKZ6F4lzDdOs|D#CB%@Z-KbQT~*B7afjF4(c7naZ2k<~rt zLL@o?`*>cYe7y+f`2zY&)s?&I9=H3x$G`s9-N^sueq%UKX zK47$%wqUUDhH{uy`x^{Pk<0F?Ey`(Ykr04o&E@NL`>xmAIgdMy)mtav`G!CiW6u-eg;%cQ-X&fb~g4aR#9zi>MQHwWB@1DCgYCYF zbovY;T3tJfYD7!>)Z-gEvNJ!Wl7GOzUSQBM9vy7Zbw1XGpmi4)o&-V`E2v_-bL zkZtOfA#}sD0(dv^o0}Y3G?{@rHJ4QmrnC-uB;@s$7j4akv$b^_XHIQA$2VX1b5g4! z{_#C`UM1qQrC6sTig{Ek@@C>MKFqiQJPDn_4wae*;Jh+=WU_Y|V$HG{gADTgwiZA5 zMsOguR-fz($Lm@l7M}^$FvEeYVRodIE>N%r+5`+oBOj`F^kPm0&AHA!6ey1-p}WDwB$^kN+z_QJXh%1N zOVbky29=l`MK6fcPIU`1wqG*1xW$(eY75qpSyITZSeY1%aDlbKXMSLgB@r}t| z>WX=P@L({YvK%to;{2dzakLOgC`8PQ5*esS;XT(_O9HN{R;LQu!-4X|JHWQJ?4#RdkW znul34ocgfzOIQkIT9lpOEB=V=+`v5eo803Cn%50KTd49C3j{y{Z&QQj9L)>;`Mg^YqH0GSCQ}0;P3Ni1_t_nLYpKi$SHgipS_+`&i5fxV#NH^ zd$EX1cX@ST=FJxL;Ox62M{pdRXXJ;zHYbFHK#MPscD_q=myPq)4MewoDJV`&iKq$t zg8AWFmd%P$fFUJ8s`gPeWV(JHP-Xf^d`v%AF5gdGq6nd|;@!kRXu66Olcm1^L==px7fmq@vj|#>ex4`Tj@}s` z6%OR0XzNy;#iP(oN=e)jJqTqAwrhvE3yw$7SBe(QmO!pemBx-UCg2y|BbLok;P_!+ zko8itgVSRi;Z*24f8I!$BRx?&zS^9#))Ou6*HH8sbF}~5c0S(uF8iQtc@%YB#CV|K zsJr>SY%}65+++b6%K=agaw~hHB_Eq6M3BWvD5r_K0+b(5I9VmmE>tK<5hU{~!3u?x zLkh(_PMA>aURq@46wKPShu`*Vl>4kH+gA>lc?Yv`MF8vvUq@?i1R2*@ZBN|HDgASm z_w0Rpku&GbMwI)i9WW`|gSYYvxfX-9bg5)#kO;_+&iplJ+7Y5IPo#raZQhOzMO_|T z8B$a~nMV;q%}4&aNVEG`%Jt|D`5?L3w)1Gx4>^w%Rr0Ne)q0O;X0cHKm?yG)HtgtE zJ7Q$(3G@ON*#&^A9(%1ZFiO-IhC;|mTv8tc;;>RI?gM8{PFvkE;GMclcW1gtjvKNl zDk9n!&OS756O%QMda$Uw@=}h?Te20UKw4rQNwMf*&^;R^& z{F8m9#Wvw!3mywR5Mg>^H&`wTX6-pYQ>dR=R?a61lEG{F#XNug0d$6`FiO7XV)t+5 z{GTPN|1}%i8<~9T<=^o();5Ml4m#|tjEw)Z7adUEa#&?U@Ve5e?L(p)G{86W;g&lu zqU)z)Ye{b_ikCYFWvV3>j*HLF{Jd(4%Z$Nm=xB21SHJRl?c7)hySf6vaL>V1zet0-Rw~aFbcP2^tXNZHWSHr|nGHPx`-noSVOJkmAvcmjK|(;FzM3I~ z!P*&D2nM{;DV^w75|MSUVA$w@tpa9&%-mEBm5nDwC43)W@zT{J*K-JwqRF^_cujAu znAM~Dbu!h-^a{3dSo7FJ+A4J1bxxmq(S<{)eR|`~a_JrXZCo8$%Bq0=@?crBZl0lQ zF&apZ4U?N<`&Sw1v6FPrRdDsgG`ZFi@q|}+)UbmSB?{kW{+|DJv7)nWm0?RgXpSs8 zT1m+=ka3)X8c7{lGrehgGl^ayP9IdN-X((LJHd*DKd7eJF3xBJRmr##(uXA7yb8Ks z7GB0{!Pk>z4ts8rA=XKcSM1`EV=w9e@L1`TiI*S= zQ@1^(d1p~K_DW^PpcF=CL*ko^P-7VOJEgvbdZS}#qfxar z-DT<)?Q(LL1uA=yl1Y5A&0@#tR~XB^<@^q~a`|)YT+VKTTX}J*#zXEM>mLKrzMbi` z>i*0a_}#u*WI47E%p8$LU1Kra-?=je9o9cm7MbKLC_9>B7VawCVxSwY45W_=^LL{HCmz{c)uTtJvsr`1AXc zG;x%(e$$lAUO#?mov!JHm7yezoOQQUQx|izBguMW^?6d|vBpTqv%yD&|M@ zCUb?p_*VC!FtX-(>sJhslDpTKTT6^g&d@%Ar#4X(DAt-r80`UOHQ)eXXgeFa-WGO2 zcCS}h3^-Xo`r8i9;K#v<7s}KROI=2`|7hDVO_M%Y-(o1qzlxzh|3}+4HZ!r&`R2Kq z80k3anV4DY>9Ek#vHw%PapnK`VCI8Y{VLS!9BQ|)+gOmh(fZ5qFwy?2xIW*SDaEAnXsD}nJ?4C>< zU+-(#baU|2Rw(GH2`ZW071yPiB@&;Ab5vJ^*5&WWaWLh@-0a)i|CV^NWP|jBa#P`l zpD~gjE}Y7s5HPrvKb(d9EC_|1O?}od6>BLdkBm)SaLOeb;eCm2V#G7FJ(VCfi{?6y zzaF$@k49TvIrpO8ll>c7Z~h80 zDl@)v!$=(6G%W*_nh=k(GC2t%?AjYH9ujZEahG+(?7YhrGDOS zC_YBYfhp{G*qC|ZJ#I>5)Yu?CU8<`TF!4x+d>ZutAVv&Y1h4=;Ti|rc3j|kEiFot2 za8GB;GthFxih;ioOi(KaypEJD+79ix(zrA4ZbsG=TEEG4YJPV5MF-@W(8=Wfr;SOE zvW}#NBN#K{$AH}!M#{bU<=`RmEO>7jp=mw& z?%cNwD>*+jPM)rku<+EnYxAh(I=r&|MY$9dxot=ENr~t~G2~Ys*qr}_nDJ^96;W%H zL(Fr)09l7}Xpu?L0NDe$<5S6zroF3?G4Aw0r=zQe)fjqNr@Sl%emNpZMVyr$RnJ9^ zWZ>?>xStb?2Nc2HCbV%Zw&wz6V2#G(?QofbADeYsa#@!P>?N#7^Hh7xw(t7!4!>OZ zRLb>(4L%bN>d9Lr=>EqMnrWed)QyX zhi&p6x~u`de-^5OPgRH=d9(WI%r~%7;u7^nqVxNu39S3$Loay5t`oXm&mNa4fas@H zX&|ks4N0(jSk=Wr) z;J!61y;*nejWbet;{0WZX#xLQB>GEaw{VeRZ>0AFIW%2Qnk%hCl+@!^)KHw=O9BV^ zX4cB`pxIf92HQ9eMpY239pV}nX~q5)&R@b}{T81J9EfHVTR@z{WWzT6uAnD%tzuUX zcL|OnXPn4!*++BJ(>6Vq)H9qKRg`taa0@Qx?=KnQMGskZq66 zgsV80h8u#koiE#Uvst13@CIm=8aX|0D=lgzeaZ~Tw)?@JsF(JM3cNuQ}$wF;+5lZ)Hbf)<&D*Pj}I8d*F1 z<%iKXG580a?5~8cRSpEttLo()Nc5rP=mNl3K{_d2A3D3)$qp&fpXURngc1=%!4khd zuAGT~5lGp0WpVTYZ)#<7wQ+1dJUIg}XD#XiFu%{`F=>vpDJ9JV9qAD&q^(J5gO%J{ zYgB+#x5JlcH9!6Cvo=eh60yP15w4l%G;xDp5~^}MX<85ShKU)?y8)ay^!tQQlQL!b zsp&96T?pJ5RH#d0LdQ>_+bNQ3FD%zo_i`+jK}yTjbr4wNL3up`@bGEYGzVbq(-T!p z_84PtKz9_UCaL!ZBbav^4M>Dlq^2)-XMDLFt^7#`_0>WU(Ic*B{oHl7uJ?(BeweibSw_)+A99$9uj|@Nv1- zn)6k4a`$7+jt!q^N4qUu7u;?X5#ahA_IY~d$e31)=phw4rzb0%i;!(Sg>o!lm%Fo&O{eTSdygV1H&3Rd_PUIyG}K* zMwZ~-T_n@G4XYbN{)WT|a6BLJNO^OVLu>4+ET>=&Lz3A}<&1d*X7^ZDsmC(?{}yY?9M4^eGEjAcAEf z6CZcZk^i;Yi96d;*>WqiEeHBxL2`gt3Wf9%gS_ixrO<3*g=q8aW^Y)E5jUjUCxUxw zcO=1PtT+@YlFsB73O4Tpg+MvdAL+D-Yn~e4S5tu>sZhEM7SHO@Sc-_4z2UvC=rNKE zrz+T4GhYs)HGC}wgs{4pQ6m9K3727cWOKFb__|8dY%@dO< z?QQlz563BT8QgvxNnT6JgT)=v8ohS%LCvQUaD@OQaStTSvMn}kG zI|V_10&R_m9=fmNEvmJ6U!Ko>x_0)iC%7=Je*9sQMjcB(!^H3gq5WZ2M3iRZIhd?E zW3h!~$P^`_690Wn0jqIri2Okk=YiPFvU7nauSk_G zl%A}1aWJ>3uWx7P*z`F|OAItE!e{=){TRty7sK3FBoL9(n>I1AhG`&(>+->vxDaAj zk*!!6ofs6YXHR$lD~uM^RZhL3h^dS1%Zy=%m$;&m+(A^30AO!|@Q;wQa*A+>R1y~T z?;U6W4aP>M@hdyIGsTfU+qmyI4@(E^qhG8TK9>}M#K%iYLS%=zAHMmd7KK z$#L`#la(aEap13J9onMfJbOU+Tw4FWgPEthW9S1yAaaw1{`|b7eO!f}=~Z72KoopT zqnZuC!d6@Wv3C{gYLyLf7wgXtfo%d#sp3^!ud@ig%X*OynXcRAD^a9UI2lNbAy`zt zjfYq~B(J7DE}YhG91En$q7stj7{N^COq^mdFL|S-6R2KlbJ^8-hllcyhA0(n&B-zn z1%*4r&Xp?jQp$*>og~G;N^dxA?*+5Iqfg@Acum`|4A~Pn;o4C-jQ6A!3Ikav6Nu^O zS3pgQ%ah^9x0`_@ASVt@a3DrSeS6;AI(X0TLdP;$qAKhQ6PajWmH)*4CBesH*5ADk zhW*O_3G&U|f}DZq{a)7<6qQL}C89h(0y_Sj8Mwx~L!E5HzZ4#)rYkA}0Vo>`reiuK z#}GDD=9og2wwPU_wy|Ur9G!Kiu|K*HJa^7k>|ayb{n7tT{QLlPIhxyN8IlU;eA%vt-dPvry zS$GoStlp%dphk^u_56?cnHXl)d%^9P4H{zom3?8cG+4Yq8uEf@5^{ww;40c3Cch@F zsbD1!QWPyUHC6JkurSS3)T$W(r9R{f?vk7N-sbEOX521|H~=tlY7rwcOn-mTN}aVU zH)Ekw+RI*3lOP$7v^yXC^O>N`a42aRu=gIZ_#e>dMIw4eUk;j6r*3~;M7SB1Q?uJrbG?Y zKDwNW8dDXbLXW#H;rb1b78hLb9fL*ouF2@_#JaD`vGRgzjWObzUQd-CU2z4LWC()O zsr;AtORwyJXP88KZz{9Woh+KPuCV}{1RK*9BQR*fy3?iBKP3JXeVov46(J}n@g19a zw&d3;TMc+OxTnPPf#v@xcJul~i_-k*9;7D?KBRl2Z0Xr)3EL!i%n zPv59_dJs{6f8~l~hXuHPa=S;ztGng=Ka`zgbfsI{rK@6AQn6F9ZQHhO@7T6&+qPA) zZC7kN>74V8?)Ph)Ge-a2f1k1MHP@PRUiZ#HXD=N2pAu(-Bds(;&+3N5kJg#@lbjcj ziGb6Y2W=Pd1`o@K*aeF0oGmzZo34+)gJNe>vKjhcEg_hH^^`IHbAH(yeZk%Twu4w1 z8R`CsA~B#WXR|8$^#)#zb`6qIYZ>3r!zGtPM)qAXPT5%s+3E_Ye7SvbRk}|p@kQX` zL(_Z2vz-|akGrwhy#*X(eA0_yYy527!QG#trg>GuLd~zmstCH;?Ldc>} zs427(N@YhWPDeyvEo0Lz6N>0uZOsame?;G!D1Rkp(nlqPAy!Dqu9QAY-L;-=z~;t% zf|w~C@w)^4$Mn$kvxfXi(bLpygps}&|7O`y(vYTc3xF)$A=Xa4EM~4&L|j;-Z4DrH zfI|`_)8NktU-|^8i`pV6g;9;u``a}klyDabYCT46=Z|AnBG@+=`759Jx<~zDK>2xV zGC~vzr@!AJ08YMbf7+pmwcu{lT~`5sXjkX}6P(D1((V1qP$6vB<^39-0wV#o$N{xL z&jJ$unpU0qBT!T0iE&4wmj9O%FK1;$KLZ!v5fFnw$*`muSaUX_LvJN%exm$JSHg*x|7MQ$XU<2cz$GZ9^b3jNq24Os z=iPwmU6$}8Iwunw{|{EvxUF*sH^v&Aw2+--$Whgz)X8LGMY4r8_5wN5aUO7%woKvr zP~J7sx)3l)>Yc_`f;!GUR*ddKSFiI~#n$=r2EV2)rz0ltc1FV=nXu4U3YhmfeBGs3 z!ZIWdWjkM9`qii@-TEy6$JRalbT~n~+h(QJ-7TE+i^DsMZ(z~C8!?h0RM~UefeUzJ z@!;%socCPe`U6bSMfKp;{vA>7cU2o0;hv&|as`SnAn>Cef1=CVQ~jB3NSFu7 z51_d<&Ojf-!9pl$W(dCrQL(4KzKrBp5m*!{LMriQN5kq#G}@LYS^EYq_Q$z|)pIUi z2#94-^E2%1xtcO}5A3FF$t<9!x8n5&F?Sj1p70#R3w%eoV1z1tzuR@nV#1-iZD`gv zN9jY?3Wqj{M_LicQO+i|;~}xAjn4?dMb(}m2L`#Kk z+n`pQnn;$S&M8d^0POI29NexS8iy7f>L{(+_8MKU;t}|G$QTAQ$OLyIGP%H$4;9ycExVK!O!%S~tq4t+lSrL>-yg2uWLiv;*<&2*Aqqgzw&O0|J&I8KV1P!Gk}hzjkD1|=6a&} zEP(#1czlH69Yz}Nnb&WIQIV=rENGM0S#Ff%s?`(L)`fg_t`sz?%XGr@yW4PYVrhI6 zMS^(o88;sr<7CjhNkleJ7LzlQ$8HgpLmb-|Hq&b^l(APbT=>umQv&d`GG7e4XF8FD zw0Hc`PIYA-_gbb!S$IOV3QSb#wTD!tcqgH>H>j6K)~9kYm4-amkJDex91_dEdx5lK zSapYf_NyL{UcR)0W@Vol!R`2A13l(>Rd=ZvPQS!7PA#dS(u*ZkRBiv~x56E26Y}6@ zPmr{tyw%BP3?qxX>z5}GH273Cxw;0L_KEr7l#l6~K0bvc z!Vnh&v0jieP@%TRI2b|9)jS)Z=Olu`WYo~=+LjF$1d&u@nc4Ms27Ygvm4)WZC*c2A zp8)wkALYNiU_(8Nf4IUesA|dV4I_AN>B#Mpg+_=0jemPhkfM)~1K^LZ&s@;*M{bC@ z)oyfs_>5?sdv_PNWiIpTrWTh|l~s-Ebi<#Q0-`5PX=ZZAZ3Jw)4{H9NSxyzA$159 zCZ`dUw{$Xz1L6$qi1yVU#do$rNU2GAL75Ab6w2*K&{#pjObsU-E+AEu9m{vjsH!mU z7-T)9&+k3lna(vKH-FUtM`8CT`ze%=?A%HofzbKQOUyOb;Ae$qn#m2{F@5l1O!cuG zvl5!HDqJ_>2xstf&Nz;soIYm%K_JndbrmBQcLR<;#P_0Y9097_F?ljGys*($md6-~ zPb6QEg+O9HiL>z)KM{_}0 zZENTlETYx~rRFxrxTr}Y2gbB%l)gRkHNrq$EgjR=(6oB2MFlRgpEzN&vkwl@@px`W zM{iiCPO5)g7j^p z09yvwqmrgoL1ca$572rG|-p3!rbO@!fg8RTC z`1ZuJj<*$?+_w|1*ca^S(ubd^j$`NL;{*e8KnCb-)%27onxESH&UL?#ECv+qqAr#X zEyIr=G%?@&4W4bP^hrH^T1%Tntu%0QJqigrJsz_9!$->1%U^z7OrT#!M*hyC%MnSG z7^>h=*mBvZoSaO?;=ryle7C*~m^1>4#!n+8oi5A;Z!9ygjulF+b;DBc927!IVyysH zKx0#PR%jp(W8~pr<=r1&|Mp1qL3Q8Hm+P2-n^Q%dyZ`Nd(APr4FK|(41Es;u>IH=6 zQ^4OoxC+Tq3jA68&bjz_hPhwM*1D#>%_d>C3%#*RV=MJuC9l9{?S?@u-}=JIX8S5oN--tWE@kBsLmRkV00HM zSWKRaP($?dwiRLgcGb$hx=T*S7@_=V1WI8qryVhL$!!tB?4)c#R)MYqdckGViEW?CclZ|ZBj>8k+?C0G75^e%&8k$jOXgE4w;;k(E^S^ zN?C+8PDexpHJ!YLy+&E0#=Z8>K1{LLgQ9qZ^3bloosjqdd_TKHw;!0YsPBLb{n3A) zED?hU=2~%ns{B}P^VzIuiM0K*o}Icnefbdm=-&ChIpf&vzR1OW>bL>-eu3-MZI&r% zcY9!ShZ+FCHFodRx3VtRJmQ3J7R8jIj;U8GT?yEo=+?aCduqPbBys>r6^|S_Y!jwg zY9bdg@OEKJ)sZpYv>tGsRC;+RRNi9QUvtm3JBvK14>j?fbrujU!nKzeU|AJ7U$!@e z>)ehC$7uZE6M>7Hi*$aspna$3zBS%-foprZ7kGV{`|t4}@DTdIyH)0dELHc=>rVGQCr%v|s?9`EcO8M{*veI&t#Udi$f=VJJvw%# zvd^rNmEJ~#o}%EwRM3EYfm&XHatJI%DOkI%+GO`+mSr+bdnPwX8W$o4f{tP{9S>y- z6X?@k7-hO}^%2_dEhtIC1PqcS&2wCPVjsIX;y$-*yDvhdmbRa?PK0}MPZ`@K?;NR=t}T!m=~lTTsQ4nP(a+3HxudAoU;z(;GmwQRL8&d2#zN2g;Oquo=|T zd;|@LaUGTxvgBAr+2!jM;>Tid$HQ(CW}%~NxTb@zG;sgKF+H_xxnXVv+x4PcT3FQ@*^q!I+JPZ>;hg zu?t%uIK628^c;V$<&`>riDDi3we{ut*7&u3+{-0fO@|v`Q)!kv{kC`ADGYavnRm)T z;~uP!>KA<}aCIEIGpKp>1ID@iEK9ZhmV}W#A>kUkA!)=j4_EIo-1Aps$q*vb2nhn&!%fQ&ir<%kH;#oxe0*rgQ-P%U8$}9r@pEDDwZv ziT^A40noFvari1inpo;t8~%gFNQ{+}`C4x@zEK9T3r&;U{`r2HeCoLMotIO97NlSaQ+ZaAp?5K8jC@0$2zF|gf0|rC z+n_KnCM;cQMVdCXaBU-e+hWPnKzyyYY3cMKLv<#uakOK<|1B6UbZ_fp7nWuBw}&d2 zUFiopykdGo0{Rr2eKmyb@}uop@VgK^?DYctkQRc_)MR#ThRV7JO>00Wa^>5oxigTp zss-mJhg?TNST*u59E~@#7aDkQ5ff! zAKk;qHv_ogUzW2iVtb@lqMRX?zpSMC2C;X2o+dHgip$R z>A>p$PaSCdPu}5zs)oYeAi@`sZe}39k^p*56JS35B1kgco+}2T1_>tAZ)+VM@j&rGA*l66{kbxp3h| z@)FrnyQ~$IP zqT|a79O?6OHH&h@lG5(i$+a$72k3@x^E@LSqO3_4Ott@T-@3La#;#3{D#!Z6`Z-lZ z1M^n&tdNQqZGi4#lcqKvIljqE9|j>VF#PbxvNFehX{N*RA_`I0;MqNjBVTnwh!}KC zAntN06ZKN_Bc)@cu>xs#<|RY}M&4r_s*;~-%&&3E>#$Yj#TuW@2dirG{A;xVwGoiu zPgn%2y7e@0rLo#VK$gikj`W(BKtL^Fl$DN8E9{CnB2}c={lHFc68)`5?9)@DtW2PwJnRjiSp*9;(9yiVI=C(3Nn=TFtr&jBa;H=L**S3M%pW9tL%_Q1&ig2u_IN$LvE z@S-g$%??atQc^YE_g{=nZ(qMpokaQf_V5csI97(Ar%(R@!(+qnC`|V_$nAD_@LDv* zZH&@H;$BvQG2hCQn(9d#l;{GitP z?fEX*Z&O)5eL?b#;{7>vY^FEgW7CrMH0dM8k~wOlG0@)J(=2Ol*N(QWH63UBhUSq- z;_9lNwh>?F=A`qZNpIy;rmfjO{aBZ?%(#Myr7?I(lLT??T)0~GL8LSNT33-&yj#uR z(7X^@;Y}P|s;b_>2d_=PiqFDBekT48r$L#wbCC0U_>9Xu&o>$`FGbER8@c&Z$(Q&M zM{mZ$Yttu&XzWKwAW^%iL#Hd6JM?iF(_2LehU44dmo}Mo($0@0vG~&W>gFB&kvSk` z>9Ke?C(pg^mm@_FKBha19edQC76o#Q z?)EA4g>|PFt60tXjdW2w))B{EuN6}6_xGzsx9BJ7v!pGyrR()v`e}EOOuw@9Z49(v zjD>y%dglb&DDFv5c_;h%Yozq>%`Xiir4V<+RYa_SZ5H5ji*chau#+K&ll zGw>K|wGOi_YRCByrjjGNDtN~8ol7)NAtImXQhoo~S})#;3#>jeT}T*hLTXlWV^bba z5*?~eq|_(F1NIU=S|23L^kF@IF0PU71z+#c_a~|*%r*bnYbEjFrY06teNpDX!NYTSD*phd6o@``y%y6n z=qf?3oDxuKT&EZ(RvW0>Pib7d`?bDTA_Rl`2S6b+0)a~vFaGP8tK^l#huk*U}pM9qy8&5VuQg3 z|GC+%|C?m_W*J;I$%d?etdmg?PtI{kF?NM%`?M<3k_NW&rF$y^7Sgq0i9<;|!ujpC z!-R87`-^|3?TEU$3h$;T^Ok_Jy1chVW~D z;KJ9w}?E`7C3Q- z4Fd9refT*D)m+QYEVNh)5_l!7vhvaVTm9Z1G;3EQM~^DnBut$oI9hM)Xe=(7FUPDk ze&m9Zv78X_z2G4r1Ny~$H_~C+=Vf%Y5#5PB$bMroW&Fydlo`9IK5_XI3EEALbIAY%j zP0KqWQ%eYv%Wi_S&NrMUToP>YT*yEF)@=LL+O96_q#dxLDXL^}FP6SU1)W>XXV{I( zy49BS%I5yVv=lktp*whyzYz}c(~(QJ2nB^YkPdl^2)Z2etnx$UyuC6BEuMMR$|M7ue3UhKGLta7A(CMgeGg7Lg=a@f<9KczWkOwUt+9W@Gwg00_x;K!IKlbdj%uA7fnN?zSTYwgXL? z)zfTj)#+d_M)_eAlV_QUnl`lAVH*X9YWgz=`qF*4F(wNg9UQ)Gxl7py*mhKN4)wxyG&gqGr|il*ccr65lM$ngfC1S&?qWd3}uhM9U|lr#yFgcY@&g5Ha5QPPXDr#3OMp z7T*Iv!26(#Lef_&i21Z%K`1obxT*Lm`!Ser3ni~F-Ymlg9_1Agwv8hA1i&%m3 zo8Jw!MJAyT^5^#iBImXwa{6{))$7&ahq&po&-X!Xl-YtuV!YZc^eN7%j^{NFAB-vU z>0k_Qjf5bI=bBL*i`+TdTDi0}D{YLDGd-0G5E+ScoJNMnHtTW?D59|$3E_IQgS10Q zTwS?8;>m7fl}{qTrIZ*p@E{5=7vSGPdP{)7m3zg-2#@8#Xp`KD9#Zlfau#zKw=E>L z>5+wkz*0DUxXz~4)KRZR4BCaf@jw&`G<3maDT-l62C@=$iZSudWb+orUx3;2;gwNK zIhw_(Eeg+4Ww^|HM8pqO&@=-9Ly$9u08qzq$$TNK_?e?0oN`k{2VkjuA#TaZo@ixp zd+rV1&Z1obglyLUniefo^$I9xe_xX& z_Bn~LbyUt;%RSX~dNtaavxc>E@0};_r-u9kq08h=3vMJLb65Tiut0df%7pSQ9In4Q z-d+I|m0_7SKTm@BqSA^b`yzK0lX6Gxt*PXpM+hK9&P}@XjZ@+LaCiv84d{a11zHRe zQL2o%GP?<|`fPi0Hq08g!1+#ja(rI^5-6C+eJ-=4?Xt86xOPxA2dYtS#T%|$5qZWA zwMPxF=a274d5*R-ABw9cEeEsBaSR_YTcV=7BAgjZyll;I4~)$;B3lc!2yL#neb)|N z-6gSC?oX=(N?Z#bhXh>@$lVK>nuGaBFS(MkxPWOP^ulaY-xkH zD=z9lfi&E>>RhSxh}pTqk?PQ)kstz@hs?m0-_~d11bb5<_{i0)!@1b|x4`3H<-9ZI zhf~{el^!MH_i)4$3o;B27G<>yMrpez2$elsiiG85=JDSPEoTeJ%yIbO4fQg9tysyC zXDP)MW|SmAejqboM5@^d)0g@}VHpqEL#MEvtVUiR{(>#$)&2?j`Gq=m*1B64mNolc*T~5xIXMpZ*T=u+XtE{1Yi~ zKGw=ZYsiKY&DjWrMf}P5rLVvrz9je_tW64fSG{{Sj zhL9y|Hbtvt8dh}#bubVQt+2yiy=LzG76pu3qOFjK08Y#odfS8R@)cn37W5UX9s*Fs zeigiHIpM+Gu_rODR07AdpkV!dl@2fV2ZXW^Tm4nz6Xodez6##u=dPRGrf)oMUul-b z_9N_*Udk>DP)Cdu{ITKq7>H*{DqN^XersJqp;{(X9}&G6g%O0l9d+7{q}*ZqBBsJ$ zE<$~x9D&I2QkDqj&jK9^X$Lj3!yNEpv3pD!Y~6@wybFHYjaru-D-NH)m?dyaXtfAG z1owg#+!lGo6!EmTr8U9V3+yLWJX&O))<^tdF`=QRR9D$iz^rlqbEyoD?oTKyh>OqF_6O06Olvl=L7Tv244 z$4#`iB|Hr9Gq&gdKuPg6JX?X8CKdSUo%CeXKYt$+11v#yW9K4mSTeX>Wqyt`zoz{P zgbMOQ7>cGPN>9RQGQkm7IyaL9i@ISbP*aYB_%&*Zeh^f_y48~*@6I5~ztOP41C(~b zb?i~&W5sIi)cw%&vhQ5eC42NKff~J;Vjjdh=+ad1Ht533mEZDet+}V7GF!NFEosn{ zU1xo9`l+7{q>m_Bw5c)lN3Ea17KI`FV1K%)7v@A!v2S8u`!V-{NQtc_7A>0}OmVLV zij+j&)j$$o7^)J=Hp4t;^#QLH`7a}J#C0~+@01jBl3Z7yTY&36Un-fFiPrXBm!A*C z^=7I90RKacj-0Sbr)MWvtWy=0mJ0PJhuvS>(kvWZ(%r;rdP{laH6&$wW^qO7+t2? z*z<;c<<~8nv+25}y0-RW&%RW2?_1Bko!5u&IfL~WFu6rP7s`0^Rs76a*XSEjr^@TK zs~JjMo1*qHOIub@s<4cjRudn;dhlliweFfHU3)btt_a>Q?;SdpIslTWUxAr*o_JoXaoBX!Z`=2CXFWZW`DK zVd+fogyaMvKDh6pdYI+*DK<-u(Yo+Kq}IVi4^7lru4 zA`Tw#)`f09&_rXIp5NM_@_~?LQhg{!j@1VLDx!z{8t@HBbb_KV3~D7ldJ?Ex0)tjH z|GS8Ol$x254f(KLHzs_r-PDQ>$@uCZ#!R7!J~_nJxwyXg(G)Ob@B(v(RXE0S`*(sG1e>+ z7Il+v<`RcW^_*cFA_a#(6IO-vsjz?%WjiqW(8xmjrGYo9@((uZ-E|j1POGLKyhu|H z_{YcqJ-rC7ZoYalY6{^qvDj^de*M_M7)8O|l;&;Zhmj(~$=g4oOddPWGuK!Q ziFSC<#s!ETBz?~8J5F}?kn;;4lgTXA`6Vw{3z=YG_+JdPfExAJ1rXsP~%hGcP+QKvF*v_@4eIh6mys1~ZIe_WsOA1`*|$Sx%xMbD<7ZcK<(8F4$Crnya{Ou?nl+S~_>JW-(rX0OhQ zDCJdHx{me*h%$>UGCnLx1(YJx>`0|NDnoM7*y%~olqrlp&l&rqcA9vnQxp{y6B z%(TBL*4Th1S!4SmGfnI#S;*?8W;fay(HAJ2I*CfOC*8Fcm=1W=@CiC~h3Ey54AawF zeD_~d6p5)&wcO_Vva`fGh8YYzJX0|@h&}nKo+H6btlAW6JlI(CgT^%(zMplZR>9Db<4(82W&L(3WZz+ zL!wK$t}6tEJ^MDQB1ogT z(dAw**+$HHq&A|+pVkzND)122SAyg4+9`)1-RiP=bV}Pt`P}2aUyI8Pn&g*67k|?s zZB{U#X!`KzpJd`;%Vy$mu-w_auJ zvIMKRO!En_*ecSqOKgZGw!dN$7(sI z&DHFmofk6Sr(cP+tYx`7Z03@`9itEt9@bA?(W!-i`nOif9Gp?euqWd~e__PZlB`?2 zktV@=VrjWW@l&`gZF=}>t1xeP_T4K0Y*4Rr2qPQ{^yVe`lQXaV){ix>7at||v(JFp zW1{!H5AWTV98Uh!-GT1uOSIot_3QI5Vb%lRT6_iI6!z|cc7ADHFwkTTQnEW{#9U+Dj9M~4J2 zSP#|PU3|pu>F;6Nf1@828=0L^DG1wM_zz5_ztE2YM>((6L^N-lEgoo@5hUQWgRkui zA1wuntfpgf=ebI?jHDE6Foh!>fZtkl1Fo}NCjy4Elp&F%Dj10mJs2E&(%}=6<1Gw! zYt}bOV|CuQKR&u(>nN<%&oMN@@gH-E&nXsBU5p_oM^z@z)QfT^>Pw7#1W}^ye}WL} zO7BNYBpR6x%P*^N(}vdHB-d(G_M%`?KiRbjOhru!iL|D2o=C*=ySx$CUungAso8oV zu?+jXX zd$j*A1Uhpf_OfJ!O&xNvh(Rknh+*J$=tJ`||CA`_sPNy-5uMQyo{Z{AWd7N@G!55% zg9pc1&?uj>_QNb8P9=}7jc-U{h}ay(qs=1kWGuv-coCW8y47e|dU_j}}H&)Kni3BDj^Ka8fIk@hXwNczor2$;obXo#C1L66~Np zJw8m6<60`RG>kIR*YrEVL3_w9!E(wc{Vw-UmA|7@Q!&!7nb5_3(*wr!E_*u)Ff|*N zv}dY$-mXdh3J>j3&+Br2Syt=++RLH;&u!k&$j;2k$nXoY{kL^xVPyHC4TQEir)vwEP7h1|Db3GWOAD$TUm49(K0S5F*(S zWe>I>{_M;y;CPLIoFl1NxbSM<@><gYc&dN`I|P0e#0V*_c#$9J)lST)RB z?8rXhiJez&BPbXX1)kt>3T6a_$Pgone?ZGeDl^?HxpNn!uZ{F>y@XUnfJt2)QK*Sd zJ%4u<5ET|vn_*y$BFLLDL(E3@&4m$e?7?4)W7IMok>!)herEqdOE2!eHmg@Q9_H9)2 zPIDrN<;@KSMdTcN3M13B1w<8)swh*2m&C~#*)1wv(?2^`EFu6^GJqwOXCC6OP!$9) z(i6~RmbWyz<+qA+PeO=<&H+C15n7RP_RGssFrmlKjZV5@0MwF1de(&TB)B$GE4l%8 zFfXflGH95nb@_oK-~9MqhcSlhGS7za?iC1E7 z5D8x7Haw)lIA?{Hh1&&M#n{6eXuLlZf*>1DboA-+5W#Rd0`S#0^vS{retI_Zud?ND zPSVlOVbt*c;$8TTe)`SN00pj~z}e@;A6WMxIK8(M`WL}5=K*??O9;n@ZIVe=%&;(0 z_^3X|5bRo2n^f$CppI7Tlgpc~g#1@O<^CK3IQAMbgSofwEa#kh5%tQCrUv8pAgG_| z!@Sa?+wI$D7Si5ejJ4! zLuu>?rY7N<*SB}JApRclC-+y{KvivCOOa2!hz~v<^IN5OO$Q#crg)@_yZwpB|62DT zikpeg^!4a?3i)pa2<3mq)c-!7zJ}8mQV(Ec>16h`l$wp1iS{1`)PSmn%^Ev`7f-j} zaD3(J4N<6pN%kzORpvnu>x%wk1B7X4Q){BAZ{GR~R>o)7R!p2tE8~imF7$lt@Xq>S zdhW+tWGxr^WvxL|^5KS4@#mG+pg1LNge<4)uwY%xvw-t7hvg+xND2vqRY7L)Ma1;A zfU+b4`twF0ZR`B#`FZfGm)x~tOX773Ay)mAG)Ozq&$GeMs|4lM0z#_UgmfZI4Q|9U z)S(;wo7oY0Xe*%$Qon6TX}&8ZPo;OK_Kh>##x>YQo|D5jD-iO@kxC#8`uoA zyVDBhX6CVIjY>@jL}5*#Cx*Fj6qXrHYC($qvTdGIt8XVgN4u?zBM74Sp@&RDJgNNXBhM-_mJ~E(2YL9Crg>e%R*7 z^D!BRBZAZ0jIN0tbMr0vw~8Pn&N2oSqGv2fT3=`ee?(RedEIi>pK-i00xxy$qlvhr zjD)FTMi-V2p+Lu_v)LkZw{OjsxnmV{<(pG^=NiQuS{S?{p>Ki8kuN+;Edz5N6g=yb68jp z?U;+_?x(`$x$%J|<`#K+X)Bbf^p#h5u$otwVTza_$&+%FI_!PsfpH4hdT=K4gt6Y` z3^78GA|*w$Lo29mVA`?<#vs9%RG~Z68KT5^T7)rKnt|!lw%bzIVXfPe2slH16;a7$ zaD{wA6{$&V@^S*u+T=e1E1Pd4-7acCz^7>MhS?WZt7aM(OY7l|;Js_&qhXyWzC)vu z;HpXecI7Hy{gm;g;+4`?x>rCU%#3ZS0s7jbq^N|~K8uHWm%i~n>E+*vN=p*$>aX>K z3)jx0Qp4nPdRW%Ut9KICVQG#GJ|HsKf&&Ay$&*}?o{W-%&2}-+;`YP7#3P*RT>4gb z8uM%wm<(Ixrt$qHUi3vM{R==mBlG|vJJ~3xD(#piZUO2elqeo!RxM)0Ptza7PF@0* z$u@=F0lduz-^Guqtl_^dw6WqQ8!Uzo-mT|?4ivbD{>JoUYwwwWa6Is(H@>BJvY&wx za?FKac;j0rK`IdhWJWFQalyDKwg6tJN4rBu(-Q_B(k6ERszp*GgLok7*ADiVDz0B4 zyWsSb9z5Di0o^k_c7I^lE9%FN>I)unL@nq~5LH@5zed7$%RRwga@{QxiDFZZ)t~W9 zID|ed4|qavkoH)z4r?3!#;-LiY;C6wQ8VrBoi$6RZ*z0`JQDllnIYaL-ugeswg&7B zR2>VVNyg1rs2RSV4%=G0*ZOyLBDI7|28M^nAy@aAJvy58**Gz?H>0dCgqKvJ=w1)z znO{UMkUuid^$d&5>nLdk)hJd~sqTg}Cp z5u2PXz#uTuvGWyn&J+&CXRZ#^=K7C9Y#FHwL z6fY+y*l)$ZE1f=~uoF)Dl*nX-&8ugW5h_Z8HTWD*@B_U^9XeYG z>KWZg`muW7!IGumT!94Xms*nKaNs4aTuzbERiIomCoz9_%f2v~ze0y+8hFdg-t4~Y z91mYp7`hhqu-x`|hwvNpU7L1+#L06%DGe3-`MhI8h$fjagL@1Dk;!SFh)3L!0)XC} zRMcti^29j_Vatk=kd6aXQeFFDi$TPgea(IlO~fNBVH`PU&6)^pceq~vR<=LIxNyx( zDC4*ssjg}C|pqampFXB@Bz09)p`OVA}mkG?bnJM{A-re@V6^%&ilaT{zk zH)|P)OT4;cTh^q%g=zAtAgsUFfYi&|^YNGtCtDLX7Li7{{6xz^DKC75L-XS#F^7O= zxR99|0!ci>s`Iy5aMCE3IFvJHD$3wSubhzbBvfRDR;hZLcbo`6+pZ|doz$V#(Litu-U_e>Q9-jri^RoJAmr(##0a$w|C_`1( zs^cIZCMv$7SyNxwXBRy*j?rm&@#B%xtmb;vl89|TplHF(t-5_-V#!&MDR!YmpwUmm zzS-D}%1$_`IswH=>xrwXu3f5ic)6W?9PGN5?Dz*xcm5r;t`t27I@LUilcVpoA)FW~{dyC?BRytb08In~34Yr}vh7q|Br6EvIfbLAn|bpu0$c z1yf;snzQ>>Ms)AYXVxSm!!dt5pJ84RpgALpQ9d^B*P6R6YQi`i@EQil^Tb#@{TZ2B z8E_9zR`rgqCoxvb#93_C8j{Oa^kA0nIL{e&1l$avGKi0HPl1&jl7l>JQ}(+MHQ6Dz zSBol{lr!!Akv$J}by6aeMqFZ}N(J?DzY``-flj~9&^14iaD>P7jm9m`c+c~-_`!m! zrSO=7f)&bED62kj)<;n8sbD5@_R*n8snr&;NA3irWIsWyO%}-PxHJ!b(e7fj1AnIg zyYGZy?2Tysws>VxReQSe`(>B-7?9b6ofjc%-o{>00W!(Zz1thjvh1`*zd<2BhIWwl z=_`C(%Xe)aoPnRChJh{5&ZQHhO+qP}nwr$(yO0TrF(zdyhH>=KVZCBgp zycItnzC_G9#vG&fr@y{o=wA~C2U3Hc>pgna@4A^HELQ3Q|8NoFf4B%ch3jA}YC7LB zm#p$V1;z#+10@bI-2wPPgPeZmGD6Qd)y}OV4TzXa=hMTUo!fJA%FAi^TUPimS*&y z{a*_5V%)kbV}|Y?z4U_bv>&k`X6cuW4(PpNm;Jk6VAk=cywr!zd^j-i!Pvm|bcEEiV--DX-zDn(bYsm=0wu*=6VwBKuOOFvOa(!kqv zJNLWL*MsNYnebEqZtk)2>iM7a;u8l#5)VrMmVObkHwAVzX0>h*EmPp3aW6wOgDJzu zBL@{KVuuP{U_LTy$C5WId_mSsGe)3-ad`2y2m?CBFNA>2s8d7I zoj8O5Z5O-m!#vThc4FD;LQCjdHtx)fgP&Yy&yRfd;e_cm?rX1^A8Fa{9ZE1|W$6Io z4JjARUxAEi=X$GtPfmZ^_x<0I1KN|7tA#(W#D)L*O8kFsn2i5%!=$m{^dpn=-TArs zAS>=r(2;>Xi2`hOFerlATd|es7>R>dup%X}xaFw6`)DmY*1|y4o7Tw%&N+SGwue^v z0i0-N1d*K{n+t`QDecS>XF#9BZaY<`Xpra$4zf+T4ruP%UsN<5-PK{MzZ4Qex{`m; zqr@XfMRAXY)L`^n6B0xT4QCpp?Gi7rEOos@^9dG7RAoeRVnCV+3eIzOVd0-39oJY_z<_sX+ljc&c zxEg;#B96yLRP-3OG`K2>Pie+@#6<=z_kYfqkIINzI839Wf)S=j*CT6~kDQC(mdKD` zT)GZPvPje{Q6D{@<7@?8+$>KShN8_rPEZUATv8G4d`9`rC#Eu0xq^xErq!5%*!cYC zEv&e?HZU_?DBrtXDNFY2XcClTH4Y^F9fU8Dpge^rW9DgN3kmbcVV@xf^JsI#|%^!l<{ zpOye>PI9ISgr__%KGaQVS1>c_;t^FHE%rSGu^%C3SSf9C2&OQl!H5UaN{g-ru2F=t z5UxK4zmX=XLv5nFxDl0chVRi8BS%0Dp-?4Kn$?Jr2LSf(c618Hbil_qQ1c5%K-obO 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 z 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

*7e!9YZ8< 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

Mg_=Hm%8ho= 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�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

@@ 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 besPe;vL%ub+C)T7z&}~0PyxXICnEAc>x%ZA literal 0 HcmV?d00001 diff --git a/src/test/resources/algorithms/pediatric/1.3/glossary/terms.txt b/src/test/resources/algorithms/pediatric/1.3/glossary/terms.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/acute_lymphoblastic_leukemia.json b/src/test/resources/algorithms/pediatric/1.3/schemas/acute_lymphoblastic_leukemia.json deleted file mode 100644 index 885408830..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/acute_lymphoblastic_leukemia.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "id" : "acute_lymphoblastic_leukemia", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Acute Lymphoblastic Leukemia", - "title" : "Acute Lymphoblastic Leukemia", - "notes" : "9811-9819, 9837: C000-C809 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Acute Lymphoblastic Leukemia, Toronto Staging is based on the presence or absence of CNS Involvement, which is collected in Pediatric Mets.", - "schema_selection_table" : "schema_selection_acute_lymphoblastic_leukemia", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "888", - "table" : "pediatric_primary_tumor_na_1293", - "used_for_staging" : false - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "888", - "table" : "pediatric_regional_nodes_na_68667", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_75175", - "used_for_staging" : true - }, { - "key" : "white_blood_cell_count", - "name" : "White Blood Cell Count", - "naaccr_item" : 1184, - "naaccr_xml_id" : "whiteBloodCellCount", - "table" : "white_blood_cell_count_1932", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "1a1" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup", - "default" : "88" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "toronto_stage_group_41463", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_stage_group" ] - } ] - } ], - "involved_tables" : [ "primary_site", "pediatric_mets_75175", "histology", "age_at_diagnosis_validation_3881", "schema_selection_acute_lymphoblastic_leukemia", "toronto_stage_group_41463", "white_blood_cell_count_1932", "year_dx_validation", "behavior", "pediatric_regional_nodes_na_68667", "pediatric_primary_tumor_na_1293" ], - "last_modified" : "2024-06-13T16:28:37.181Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/adult_other_non_pediatric.json b/src/test/resources/algorithms/pediatric/1.3/schemas/adult_other_non_pediatric.json deleted file mode 100644 index 81324d1d1..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/adult_other_non_pediatric.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "id" : "adult_other_non_pediatric", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Adult/Other Non-Pediatric", - "title" : "Adult/Other Non-Pediatric", - "notes" : "**Note:** All combinations of Site, Histology, Behavior and Age at Dx that are not part of a defined pediatric schema are classified as Adult/Other Non-Pediatric and will receive a Toronto ID = XX to indicate that they have been processed but Toronto Stage does not apply", - "schema_selection_table" : "schema_selection_adult_other_non_pediatric", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "XX" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricTN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup", - "default" : "88" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup", - "default" : "N/A" - } ], - "involved_tables" : [ "schema_selection_adult_other_non_pediatric", "primary_site", "histology", "age_at_diagnosis_validation_3881", "year_dx_validation", "behavior" ], - "last_modified" : "2024-08-01T18:19:24.655Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/astrocytoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/astrocytoma.json deleted file mode 100644 index 60d65536b..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/astrocytoma.json +++ /dev/null @@ -1,159 +0,0 @@ -{ - "id" : "astrocytoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Astrocytoma", - "title" : "Astrocytoma", - "notes" : "9380, 9384, 9400-9411, 9420-9424, 9440-9442, 9445: C700-C729 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Astrocytoma, Toronto Staging is based on the presence or absence of mets and is collected in Pediatric Mets.\n* Pediatric Primary Tumor is collected for surveillance purposes", - "schema_selection_table" : "schema_selection_astrocytoma", - "schema_discriminators" : [ "age_dx" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_36616", - "used_for_staging" : false - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "888", - "table" : "pediatric_regional_nodes_na_68667", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_72113", - "used_for_staging" : true - }, { - "key" : "braf_mutational_analysis", - "name" : "BRAF Mutational Analysis", - "naaccr_item" : 3940, - "naaccr_xml_id" : "brafMutationalAnalysis", - "table" : "braf_mutational_analysis_15216", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "3b" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_85957", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_stage_85957", "primary_site", "histology", "age_at_diagnosis_validation_3881", "pediatric_primary_tumor_36616", "pediatric_mets_72113", "year_dx_validation", "braf_mutational_analysis_15216", "schema_selection_astrocytoma", "pediatric_regional_nodes_na_68667" ], - "last_modified" : "2024-06-13T16:28:38.598Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/ependymoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/ependymoma.json deleted file mode 100644 index 10a1acf84..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/ependymoma.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "id" : "ependymoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Ependymoma", - "title" : "Ependymoma", - "notes" : "9383, 9391-9394, 9396: C710-C729 (all ages)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Ependymoma, Toronto Staging is based on the presence or absence of mets based on the *Chang M* definition for metastases within the CNS at diagnosis and is collected in Pediatric Mets.\n•\tPediatric Primary Tumor is collected for surveillance purposes", - "schema_selection_table" : "schema_selection_ependymoma", - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_1156", - "used_for_staging" : false - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "888", - "table" : "pediatric_regional_nodes_na_68667", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_43643", - "used_for_staging" : true - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "3a" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_69576", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "primary_site", "pediatric_mets_43643", "pediatric_stage_69576", "histology", "pediatric_primary_tumor_1156", "year_dx_validation", "schema_selection_ependymoma", "pediatric_regional_nodes_na_68667" ], - "last_modified" : "2024-06-13T16:28:38.774Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/hepatoblastoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/hepatoblastoma.json deleted file mode 100644 index 29e835657..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/hepatoblastoma.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "id" : "hepatoblastoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Hepatoblastoma", - "title" : "Hepatoblastoma", - "notes" : "8970: C220 (all ages)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [Childhood Liver Cancer Treatment (PDQ®) - NCI](https://www.cancer.gov/types/liver/hp/child-liver-treatment-pdq) \n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Hepatoblastoma tumors, there are three different staging systems collected \n* Toronto Staging is based on the absence or presence of mets and is collected in Pediatric Mets\n* The Children’s Oncology Group (COG) for liver staging is used. \n * Per this staging system, anything involved outside the liver is Stage IV. This is different than other staging used in the US that has adjacent organs not being a Stage IV\n * Pediatric Primary Tumor, Pediatric Regional Nodes and Pediatric Mets are used to derive the stage group\n* Pretext is collected as a SSDI and is based on clinical staging only", - "schema_selection_table" : "schema_selection_hepatoblastoma", - "schema_discriminators" : [ "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_39067", - "used_for_staging" : false - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_59828", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_40773", - "used_for_staging" : true - }, { - "key" : "pretext_clinical_staging", - "name" : "Pretext Clinical Staging", - "naaccr_item" : 1192, - "naaccr_xml_id" : "pretextClinicalStaging", - "table" : "pretext_clinical_staging_39169", - "used_for_staging" : true, - "metadata" : [ { - "name" : "SSDI" - } ] - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "7a" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "toronto_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "pediatric_group", - "value" : "90" - }, { - "key" : "toronto_stage_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_70937", - "inputs" : [ "pretext_clinical_staging", "ped_mets" ], - "outputs" : [ "pediatric_group", "toronto_stage_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_primary_tumor_39067", "primary_site", "pediatric_mets_40773", "pediatric_regional_nodes_59828", "histology", "pretext_clinical_staging_39169", "year_dx_validation", "behavior", "pediatric_stage_70937", "schema_selection_hepatoblastoma" ], - "last_modified" : "2025-09-23T19:02:19.113Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/hodgkin_lymphoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/hodgkin_lymphoma.json deleted file mode 100644 index d1a0e66ce..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/hodgkin_lymphoma.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "id" : "hodgkin_lymphoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Hodgkin Lymphoma", - "title" : "Hodgkin Lymphoma", - "notes" : "9650-9653, 9655, 9659, 9663: C000-C809 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf) \n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Hodgkin Lymphoma, Toronto Staging is based on the *Ann Arbor Staging Classification* and is collected in Pediatric Primary Tumor\n* Internationally, the Ann Arbor Stage is still used for Lymphomas. Ann Arbor Stage is very similar to the Lugano Stage that has been collected in the US since 2018. The major difference between the two is that Lugano Stage has bulky disease, and Ann Arbor does not (see **Note 5** in Pediatric Primary Tumor)", - "schema_selection_table" : "schema_selection_hodgkin_lymphoma", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_48137", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "888", - "table" : "pediatric_regional_nodes_na_68667", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "88", - "table" : "pediatric_mets_na_36656", - "used_for_staging" : false - }, { - "key" : "b_symptoms", - "name" : "B Symptoms", - "naaccr_item" : 3812, - "naaccr_xml_id" : "bSymptoms", - "default" : "8", - "table" : "b_symptoms_95631", - "used_for_staging" : true, - "metadata" : [ { - "name" : "SSDI" - } ] - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "2a" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "toronto_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_51275", - "inputs" : [ "b_symptoms", "ped_primary_tumor" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "primary_site", "pediatric_stage_51275", "schema_selection_hodgkin_lymphoma", "histology", "age_at_diagnosis_validation_3881", "pediatric_mets_na_36656", "year_dx_validation", "pediatric_primary_tumor_48137", "behavior", "b_symptoms_95631", "pediatric_regional_nodes_na_68667" ], - "last_modified" : "2024-06-13T16:28:37.251Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/ids.txt b/src/test/resources/algorithms/pediatric/1.3/schemas/ids.txt deleted file mode 100644 index 51e5bf2cc..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/ids.txt +++ /dev/null @@ -1,33 +0,0 @@ -acute_lymphoblastic_leukemia -adult_other_non_pediatric -astrocytoma -ependymoma -hepatoblastoma -hodgkin_lymphoma -malignant_bone_tumors_chondrosarcomas -malignant_bone_tumors_ewing -malignant_bone_tumors_osteosarcoma -malignant_bone_tumors_other_specified -malignant_bone_tumors_unspecified -medulloblastoma -medulloblastoma_atypical_teratoid_rhabdoid -medulloblastoma_medulloepithelioma -medulloblastoma_pineoblastoma -medulloblastoma_pnet -neuroblastoma -nhl_burkitt_lymphoma -nhl_mature_b_cell_lymphomas -nhl_nos -nhl_t_cell_and_nk_cell_lymphomas -non_rhabdomyosarcoma_fibrosarcomas -non_rhabdomyosarcoma_other_specified -non_rhabdomyosarcoma_unspecified -ovarian -renal_tumors_ewing_sarcoma_of_kidney -renal_tumors_kidney_sarcomas -renal_tumors_nephroblastoma -renal_tumors_rhabdoid_renal_tumor -renal_tumors_unspecified_malignant_renal_tumors -retinoblastoma -rhabdomyosarcoma -testicular diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_chondrosarcomas.json b/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_chondrosarcomas.json deleted file mode 100644 index e5477c682..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_chondrosarcomas.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "id" : "malignant_bone_tumors_chondrosarcomas", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Malignant Bone Tumors: Chondrosarcomas", - "title" : "Malignant Bone Tumors: Chondrosarcomas", - "notes" : "9210, 9220-9221, 9230, 9240-9243: C400-C419, C760-C768, C809 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Bone tumors, Toronto Staging is based on the presence or absence of mets and is collected in Pediatric Mets.\n* Pediatric Primary Tumor and Pediatric Regional Nodes are collected for surveillance purposes", - "schema_selection_table" : "schema_selection_malignant_bone_tumors_chondrosarcomas", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_7436", - "used_for_staging" : false - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_24935", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_61257", - "used_for_staging" : true - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "8b" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "toronto_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_11224", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "schema_selection_malignant_bone_tumors_chondrosarcomas", "primary_site", "pediatric_primary_tumor_7436", "histology", "age_at_diagnosis_validation_3881", "year_dx_validation", "pediatric_mets_61257", "pediatric_regional_nodes_24935", "pediatric_stage_11224", "behavior" ], - "last_modified" : "2024-06-13T16:28:38.291Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_ewing.json b/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_ewing.json deleted file mode 100644 index cf5e6b6f7..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_ewing.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "id" : "malignant_bone_tumors_ewing", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Malignant Bone Tumors: Ewing", - "title" : "Malignant Bone Tumors: Ewing tumor and related sarcomas of bone", - "notes" : "9260: C400-C419, C760-C768, C809 (ages 0-39)\n\n9363-9365: C400-C419 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Bone tumors, Toronto Staging is based on the presence or absence of mets and is collected in Pediatric Mets.\n* Pediatric Primary Tumor and Pediatric Regional Nodes are collected for surveillance purposes", - "schema_selection_table" : "schema_selection_malignant_bone_tumors_ewing", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_7436", - "used_for_staging" : false - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_24935", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_61257", - "used_for_staging" : true - }, { - "key" : "ewsr1_fli1_fusion", - "name" : "EWSR1-FLI1 Fusion", - "naaccr_item" : 1191, - "naaccr_xml_id" : "ewsr1Fli1Fusion", - "table" : "ewsr1_fli1_fusion_57187", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "8c" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "toronto_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_11224", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "primary_site", "pediatric_primary_tumor_7436", "histology", "age_at_diagnosis_validation_3881", "schema_selection_malignant_bone_tumors_ewing", "year_dx_validation", "pediatric_mets_61257", "pediatric_regional_nodes_24935", "pediatric_stage_11224", "behavior", "ewsr1_fli1_fusion_57187" ], - "last_modified" : "2024-06-13T16:28:38.327Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_osteosarcoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_osteosarcoma.json deleted file mode 100644 index e7828150f..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_osteosarcoma.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "id" : "malignant_bone_tumors_osteosarcoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Malignant Bone Tumors: Osteosarcoma", - "title" : "Malignant Bone Tumors: Osteosarcoma", - "notes" : "9180-9187, 9191-9195, 9200: C400-C419, C760-C768, C809 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Bone tumors, Toronto Staging is based on the presence or absence of mets and is collected in Pediatric Mets.\n* Pediatric Primary Tumor and Pediatric Regional Nodes are collected for surveillance purposes", - "schema_selection_table" : "schema_selection_malignant_bone_tumors_osteosarcoma", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_7436", - "used_for_staging" : false - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_24935", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_61257", - "used_for_staging" : true - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "8a" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "toronto_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_11224", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "primary_site", "pediatric_primary_tumor_7436", "histology", "age_at_diagnosis_validation_3881", "year_dx_validation", "pediatric_mets_61257", "pediatric_regional_nodes_24935", "pediatric_stage_11224", "schema_selection_malignant_bone_tumors_osteosarcoma", "behavior" ], - "last_modified" : "2024-06-13T16:28:38.246Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_other_specified.json b/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_other_specified.json deleted file mode 100644 index 7ee88a8fc..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_other_specified.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "id" : "malignant_bone_tumors_other_specified", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Malignant Bone Tumors: Other specified", - "title" : "Malignant Bone Tumors: Other specified malignant bone tumors", - "notes" : "8810-8812, 8823, 8830, 9250, 9261-9262, 9270-9275, 9280-9282, 9290, 9300-9302, 9310-9312, 9320-9322, 9330, 9340-9342, 9370-9372: C400-C419 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Bone tumors, Toronto Staging is based on the presence or absence of mets and is collected in Pediatric Mets.\n* Pediatric Primary Tumor and Pediatric Regional Nodes are collected for surveillance purposes", - "schema_selection_table" : "schema_selection_malignant_bone_tumors_other_specified", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_7436", - "used_for_staging" : false - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_24935", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_61257", - "used_for_staging" : true - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "8d" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "toronto_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_11224", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "primary_site", "pediatric_primary_tumor_7436", "schema_selection_malignant_bone_tumors_other_specified", "histology", "age_at_diagnosis_validation_3881", "year_dx_validation", "pediatric_mets_61257", "pediatric_regional_nodes_24935", "pediatric_stage_11224", "behavior" ], - "last_modified" : "2024-06-13T16:28:38.377Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_unspecified.json b/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_unspecified.json deleted file mode 100644 index 4ba235ed5..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/malignant_bone_tumors_unspecified.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "id" : "malignant_bone_tumors_unspecified", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Malignant Bone Tumors: Unspecified", - "title" : "Malignant Bone Tumors: Unspecified malignant bone tumors", - "notes" : "8000-8005, 8800, 8801, 8803-8805: C400-C419 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Bone tumors, Toronto Staging is based on the presence or absence of mets and is collected in Pediatric Mets.\n* Pediatric Primary Tumor and Pediatric Regional Nodes are collected for surveillance purposes", - "schema_selection_table" : "schema_selection_malignant_bone_tumors_unspecified", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_7436", - "used_for_staging" : false - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_24935", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_61257", - "used_for_staging" : true - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "8e" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "toronto_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_11224", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "primary_site", "pediatric_primary_tumor_7436", "histology", "age_at_diagnosis_validation_3881", "year_dx_validation", "pediatric_mets_61257", "pediatric_regional_nodes_24935", "pediatric_stage_11224", "behavior", "schema_selection_malignant_bone_tumors_unspecified" ], - "last_modified" : "2024-06-13T16:28:38.415Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma.json deleted file mode 100644 index fa9d70e12..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "id" : "medulloblastoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Medulloblastoma", - "title" : "Medulloblastoma and Other CNS embryonal tumors: Medulloblastomas", - "notes" : "9470-9472, 9474-9478, 9480: C700-C729 (all ages)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Medulloblastoma, Toronto Staging is based on the presence or absence of mets based on the *Chang M* definition for metastases within the CNS at diagnosis and is collected in Pediatric Mets.\n* Pediatric Primary Tumor is collected for surveillance purposes", - "schema_selection_table" : "schema_selection_medulloblastoma", - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_25859", - "used_for_staging" : false - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "888", - "table" : "pediatric_regional_nodes_na_68667", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_20116", - "used_for_staging" : true - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "3c1" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_54754", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_mets_20116", "primary_site", "pediatric_primary_tumor_25859", "histology", "pediatric_stage_54754", "year_dx_validation", "schema_selection_medulloblastoma", "pediatric_regional_nodes_na_68667" ], - "last_modified" : "2024-06-13T16:28:38.630Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_atypical_teratoid_rhabdoid.json b/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_atypical_teratoid_rhabdoid.json deleted file mode 100644 index 664c3054b..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_atypical_teratoid_rhabdoid.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "id" : "medulloblastoma_atypical_teratoid_rhabdoid", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Medulloblastoma: Atypical teratoid/rhabdoid", - "title" : "Medulloblastoma and Other CNS embryonal tumors: Atypical teratoid/rhabdoid tumor", - "notes" : "9508: C700-C729 (all ages)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Medulloblastoma, Toronto Staging is based on the presence or absence of mets based on the *Chang M* definition for metastases within the CNS at diagnosis and is collected in Pediatric Mets.\n* Pediatric Primary Tumor is collected for surveillance purposes", - "schema_selection_table" : "schema_selection_medulloblastoma_atypical_teratoid_rhabdoid", - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_25859", - "used_for_staging" : false - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "888", - "table" : "pediatric_regional_nodes_na_68667", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_20116", - "used_for_staging" : true - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "3c4" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_54754", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_mets_20116", "primary_site", "pediatric_primary_tumor_25859", "histology", "pediatric_stage_54754", "year_dx_validation", "schema_selection_medulloblastoma_atypical_teratoid_rhabdoid", "pediatric_regional_nodes_na_68667" ], - "last_modified" : "2024-06-13T16:28:38.719Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_medulloepithelioma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_medulloepithelioma.json deleted file mode 100644 index b6c03cd0c..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_medulloepithelioma.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "id" : "medulloblastoma_medulloepithelioma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Medulloblastoma: Medulloepithelioma", - "title" : "Medulloblastoma and Other CNS embryonal tumors: Medulloepithelioma", - "notes" : "9501-9504: C700-C729 (all ages)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Medulloblastoma, Toronto Staging is based on the presence or absence of mets based on the *Chang M* definition for metastases within the CNS at diagnosis and is collected in Pediatric Mets.\n* Pediatric Primary Tumor is collected for surveillance purposes", - "schema_selection_table" : "schema_selection_medulloblastoma_medulloepithelioma", - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_25859", - "used_for_staging" : false - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "888", - "table" : "pediatric_regional_nodes_na_68667", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_20116", - "used_for_staging" : true - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "3c3" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_54754", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_mets_20116", "primary_site", "pediatric_primary_tumor_25859", "histology", "pediatric_stage_54754", "schema_selection_medulloblastoma_medulloepithelioma", "year_dx_validation", "pediatric_regional_nodes_na_68667" ], - "last_modified" : "2024-06-13T16:28:38.688Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pineoblastoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pineoblastoma.json deleted file mode 100644 index 7ce059da3..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pineoblastoma.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "id" : "medulloblastoma_pineoblastoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Medulloblastoma: Pineoblastoma", - "title" : "Medulloblastoma and Other CNS embryonal tumors: Pineoblastoma", - "notes" : "9362: C700-C729, C753 (all ages)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Medulloblastoma, Toronto Staging is based on the presence or absence of mets based on the *Chang M* definition for metastases within the CNS at diagnosis and is collected in Pediatric Mets.\n* Pediatric Primary Tumor is collected for surveillance purposes", - "schema_selection_table" : "schema_selection_medulloblastoma_pineoblastoma", - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_25859", - "used_for_staging" : false - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "888", - "table" : "pediatric_regional_nodes_na_68667", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_20116", - "used_for_staging" : true - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "3e3" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_54754", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_mets_20116", "primary_site", "pediatric_primary_tumor_25859", "histology", "pediatric_stage_54754", "year_dx_validation", "pediatric_regional_nodes_na_68667", "schema_selection_medulloblastoma_pineoblastoma" ], - "last_modified" : "2024-06-13T16:28:38.746Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pnet.json b/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pnet.json deleted file mode 100644 index 43dc14351..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/medulloblastoma_pnet.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "id" : "medulloblastoma_pnet", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Medulloblastoma: pNET", - "title" : "Medulloblastoma and Other CNS embryonal tumors: pNET", - "notes" : "9473: C700-C729 (all ages)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Medulloblastoma, Toronto Staging is based on the presence or absence of mets based on the *Chang M* definition for metastases within the CNS at diagnosis and is collected in Pediatric Mets.\n* Pediatric Primary Tumor is collected for surveillance purposes", - "schema_selection_table" : "schema_selection_medulloblastoma_pnet", - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_25859", - "used_for_staging" : false - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "888", - "table" : "pediatric_regional_nodes_na_68667", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_20116", - "used_for_staging" : true - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "3c2" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_54754", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_mets_20116", "primary_site", "pediatric_primary_tumor_25859", "histology", "pediatric_stage_54754", "year_dx_validation", "schema_selection_medulloblastoma_pnet", "pediatric_regional_nodes_na_68667" ], - "last_modified" : "2024-06-13T16:28:38.660Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/neuroblastoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/neuroblastoma.json deleted file mode 100644 index 2c7367c68..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/neuroblastoma.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "id" : "neuroblastoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Neuroblastoma", - "title" : "Neuroblastoma", - "notes" : "9490, 9500: C000-C809 (all ages)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [Children’s Oncology Group - Newly Diagnosed with Neuroblastoma](https://childrensoncologygroup.org/newly-diagnosed-with-neuroblastoma)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Neuroblastoma, there are two different staging systems collected.\n* Toronto Staging uses the *International Neuroblastoma Risk Group Staging System (INRGSS)* and records the stage group only. This is a clinical evaluation only based on image defined risk factors. This information will be collected in 1185: Intl Neuroblastoma Risk Gp Stag Sys\n* The Children’s Oncology Group (COG) use the *International Neuroblastoma Staging System (INSS)*, which is based on surgical resection and is defined by stage group\n* Pediatric Primary Tumor, Pediatric Regional Nodes, and Pediatric Mets will be collected for surveillance purposes based on surgical resection and will derive the INSS Stage Group", - "schema_selection_table" : "schema_selection_neuroblastoma", - "schema_discriminators" : [ "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_14026", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_591", - "used_for_staging" : true - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_63579", - "used_for_staging" : true - }, { - "key" : "inrgss", - "name" : "Intl Neuroblastoma Risk Grp Stag Sys (INRGSS)", - "naaccr_item" : 1185, - "naaccr_xml_id" : "inrgss", - "table" : "intl_neuroblastoma_risk_grp_stag_sys_18504", - "used_for_staging" : true, - "metadata" : [ { - "name" : "SSDI" - } ] - }, { - "key" : "inpc", - "name" : "Intl Neuroblastoma Path Prog Class (INPC)", - "naaccr_item" : 1187, - "naaccr_xml_id" : "inpc", - "table" : "inpc_21708", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - }, { - "key" : "n_myc_amplification", - "name" : "n-MYC Amplification", - "naaccr_item" : 1186, - "naaccr_xml_id" : "nMycAmplification", - "table" : "n_myc_amplification_57417", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "4a" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_80420", - "inputs" : [ "age_dx", "ped_mets", "ped_regional_nodes", "ped_primary_tumor" ], - "outputs" : [ "pediatric_group" ] - }, { - "id" : "toronto_stage_92889", - "inputs" : [ "inrgss" ], - "outputs" : [ "toronto_stage_group" ] - } ] - } ], - "involved_tables" : [ "toronto_stage_92889", "age_at_diagnosis_validation_3881", "schema_selection_neuroblastoma", "pediatric_mets_63579", "intl_neuroblastoma_risk_grp_stag_sys_18504", "primary_site", "pediatric_regional_nodes_591", "n_myc_amplification_57417", "pediatric_stage_80420", "histology", "pediatric_primary_tumor_14026", "year_dx_validation", "behavior", "inpc_21708" ], - "last_modified" : "2024-06-13T16:28:37.501Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_burkitt_lymphoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_burkitt_lymphoma.json deleted file mode 100644 index 6890f9944..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_burkitt_lymphoma.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "id" : "nhl_burkitt_lymphoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "NHL: Burkitt lymphoma", - "title" : "NHL: Burkitt lymphoma", - "notes" : "9687: C000-C424, C470-C809 (ages 0-39)\n \n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For non-Hodgkin Lymphoma, Toronto Staging is based on the *St. Jude/Murphy Staging System*, which is a pediatric staging system for non-Hodgkin lymphoma (NHL) and is collected in Pediatric Primary Tumor. \n* The definitions for St/Jude Murphy Staging are different than the Lugano Staging or Ann Arbor, which has historically been used in the US to record Lymphoma stage", - "schema_selection_table" : "schema_selection_nhl_burkitt_lymphoma", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_84083", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "888", - "table" : "pediatric_regional_nodes_na_68667", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "88", - "table" : "pediatric_mets_na_36656", - "used_for_staging" : false - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "2c" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_56655", - "inputs" : [ "ped_primary_tumor" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_primary_tumor_84083", "pediatric_stage_56655", "primary_site", "histology", "age_at_diagnosis_validation_3881", "pediatric_mets_na_36656", "year_dx_validation", "schema_selection_nhl_burkitt_lymphoma", "behavior", "pediatric_regional_nodes_na_68667" ], - "last_modified" : "2024-06-13T16:28:37.454Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_mature_b_cell_lymphomas.json b/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_mature_b_cell_lymphomas.json deleted file mode 100644 index b85a1b5a9..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_mature_b_cell_lymphomas.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "id" : "nhl_mature_b_cell_lymphomas", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "NHL: Mature B-cell lymphomas", - "title" : "NHL: Mature B-cell lymphomas", - "notes" : "9671, 9673, 9678-9680, 9688-9691, 9695, 9698, 9699, 9735, 9737-9738, 9761-9762, 9765-9766, 9769, 9823, 9970: C000-C424, C470-C809 (ages 0-39)\n\n9731-9732, 9734: C000-C424, C470-C809 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For non-Hodgkin Lymphoma, Toronto Staging is based on the *St. Jude/Murphy Staging System*, which is a pediatric staging system for non-Hodgkin lymphoma (NHL) and is collected in Pediatric Primary Tumor. \n* The definitions for St/Jude Murphy Staging are different than the Lugano Staging or Ann Arbor, which has historically been used in the US to record Lymphoma stage", - "schema_selection_table" : "schema_selection_nhl_mature_b_cell_lymphomas", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_21887", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "888", - "table" : "pediatric_regional_nodes_na_68667", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "88", - "table" : "pediatric_mets_na_36656", - "used_for_staging" : false - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "2b2" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_11413", - "inputs" : [ "ped_primary_tumor" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "primary_site", "schema_selection_nhl_mature_b_cell_lymphomas", "histology", "age_at_diagnosis_validation_3881", "pediatric_mets_na_36656", "pediatric_primary_tumor_21887", "year_dx_validation", "behavior", "pediatric_stage_11413", "pediatric_regional_nodes_na_68667" ], - "last_modified" : "2024-06-13T16:28:37.303Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_nos.json b/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_nos.json deleted file mode 100644 index e396ddfdd..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_nos.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "id" : "nhl_nos", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "NHL: NOS", - "title" : "NHL: NOS", - "notes" : "9591: C000-C424, C470-C809 (ages 0-39)\n \n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For non-Hodgkin Lymphoma, Toronto Staging is based on the *St. Jude/Murphy Staging System*, which is a pediatric staging system for non-Hodgkin lymphoma (NHL) and is collected in Pediatric Primary Tumor. \n* The definitions for St/Jude Murphy Staging are different than the Lugano Staging or Ann Arbor, which has historically been used in the US to record Lymphoma stage", - "schema_selection_table" : "schema_selection_nhl_nos", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_84083", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "888", - "table" : "pediatric_regional_nodes_na_68667", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "88", - "table" : "pediatric_mets_na_36656", - "used_for_staging" : false - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "2b4" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_56655", - "inputs" : [ "ped_primary_tumor" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_primary_tumor_84083", "pediatric_stage_56655", "primary_site", "histology", "age_at_diagnosis_validation_3881", "schema_selection_nhl_nos", "pediatric_mets_na_36656", "year_dx_validation", "behavior", "pediatric_regional_nodes_na_68667" ], - "last_modified" : "2024-06-13T16:28:37.417Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_t_cell_and_nk_cell_lymphomas.json b/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_t_cell_and_nk_cell_lymphomas.json deleted file mode 100644 index dc8ff2b06..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/nhl_t_cell_and_nk_cell_lymphomas.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "id" : "nhl_t_cell_and_nk_cell_lymphomas", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "NHL: Mature T-cell and NK-cell lymphomas", - "title" : "NHL: Mature T-cell and NK-cell lymphomas", - "notes" : "9702, 9705, 9714-9717, 9724, 9767-9768, 9827: C000-C424, C470-C809 (ages 0-39)\n \n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For non-Hodgkin Lymphoma, Toronto Staging is based on the *St. Jude/Murphy Staging System*, which is a pediatric staging system for non-Hodgkin lymphoma (NHL) and is collected in Pediatric Primary Tumor. \n* The definitions for St/Jude Murphy Staging are different than the Lugano Staging or Ann Arbor, which has historically been used in the US to record Lymphoma stage", - "schema_selection_table" : "schema_selection_nhl_t_cell_and_nk_cell_lymphomas", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_84083", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "888", - "table" : "pediatric_regional_nodes_na_68667", - "used_for_staging" : false - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "88", - "table" : "pediatric_mets_na_36656", - "used_for_staging" : false - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "2b3" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_56655", - "inputs" : [ "ped_primary_tumor" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_primary_tumor_84083", "pediatric_stage_56655", "primary_site", "histology", "age_at_diagnosis_validation_3881", "pediatric_mets_na_36656", "year_dx_validation", "schema_selection_nhl_t_cell_and_nk_cell_lymphomas", "behavior", "pediatric_regional_nodes_na_68667" ], - "last_modified" : "2024-06-13T16:28:37.337Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_fibrosarcomas.json b/src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_fibrosarcomas.json deleted file mode 100644 index 19afdcdc4..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_fibrosarcomas.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "id" : "non_rhabdomyosarcoma_fibrosarcomas", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Non-Rhabdomyosarcoma: Fibrosarcomas", - "title" : "Non-Rhabdomyosarcoma of soft tissue sarcomas: Fibrosarcomas, peripheral nerve sheath tumors and other fibrous neoplasms", - "notes" : "8810, 8811, 8813–8815, 8821, 8823, 8834–8835: C000-C399, C440-C768, C809 (ages 0-39)\n\n8820, 8822, 8824-8827, 9150, 9160, 9491, 9540-9571, 9580: C000-C809 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Non-Rhabdomyosarcoma, Toronto Staging is based on Pediatric Primary Tumor, Pediatric Regional Nodes, and Pediatric Mets.", - "schema_selection_table" : "schema_selection_non_rhabdomyosarcoma_fibrosarcomas", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "size_summary", - "name" : "Tumor Size Summary", - "naaccr_item" : 756, - "naaccr_xml_id" : "tumorSizeSummary", - "default" : "999", - "table" : "tumor_size_summary_47973", - "used_for_staging" : true - }, { - "key" : "derived_summary_grade", - "name" : "Derived Summary Grade 2018", - "naaccr_item" : 1975, - "naaccr_xml_id" : "derivedSummaryGrade2018", - "default" : "9", - "table" : "derived_summary_grade_47984", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_20791", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_30482", - "used_for_staging" : true - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_12638", - "used_for_staging" : true - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "9b" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "toronto_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_m", - "value" : "90" - }, { - "key" : "pediatric_n", - "value" : "90" - }, { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_m", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - }, { - "key" : "toronto_t", - "value" : "90" - }, { - "key" : "pediatric_t", - "value" : "90" - }, { - "key" : "toronto_n", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_t_75382", - "inputs" : [ "size_summary", "ped_primary_tumor" ], - "outputs" : [ "pediatric_t", "toronto_t" ] - }, { - "id" : "pediatric_n_19406", - "inputs" : [ "ped_regional_nodes" ], - "outputs" : [ "toronto_n", "pediatric_n" ] - }, { - "id" : "pediatric_m_36063", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_m", "pediatric_m" ] - }, { - "id" : "pediatric_grade_46495", - "inputs" : [ "derived_summary_grade" ], - "outputs" : [ "pediatric_grade" ] - }, { - "id" : "pediatric_stage_79275", - "inputs" : [ "pediatric_t", "pediatric_grade", "pediatric_m", "pediatric_n" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_m_36063", "pediatric_mets_12638", "pediatric_grade_46495", "pediatric_n_19406", "age_at_diagnosis_validation_3881", "derived_summary_grade_47984", "pediatric_stage_79275", "schema_selection_non_rhabdomyosarcoma_fibrosarcomas", "primary_site", "histology", "year_dx_validation", "pediatric_primary_tumor_20791", "tumor_size_summary_47973", "behavior", "pediatric_regional_nodes_30482", "pediatric_t_75382" ], - "last_modified" : "2024-06-13T16:28:38.132Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_other_specified.json b/src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_other_specified.json deleted file mode 100644 index 1740dd680..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_other_specified.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "id" : "non_rhabdomyosarcoma_other_specified", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Non-Rhabdomyosarcoma: Other specified", - "title" : "Non-Rhabdomyosarcoma of soft tissue sarcomas: Other specified soft tissue sarcomas", - "notes" : "8587, 8710–8713, 8806, 8831–8833, 8836, 8840–8842, 8850–8858, 8860–8862, 8870, 8880, 8881, 8890–8898, 8921, 8982, 8990, 9040–9044, 9120–9125, 9130–9133, 9135, 9136, 9141, 9142, 9161, 9170–9175, 9231, 9251, 9252, 9373, 9581: C000-C809 (ages 0-39)\n\n8830: C000-C399, C440-C768, C809 (ages 0-39)\n\n8963: C000-C639, C659-C699, C739-C768, C809 (ages 0-39)\n\n9180, 9210, 9220, 9240: C490-C499 (ages 0-39)\n\n9260: C000-C399, C470-C759 (ages 0-39)\n\n9364: C000-C399, C470-C639, C659-C699, C739-C768, C809 (ages 0-39)\n\n9365: C000-C399, C470-C639, C659-C768, C809 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Non-Rhabdomyosarcoma, Toronto Staging is based on Pediatric Primary Tumor, Pediatric Regional Nodes, and Pediatric Mets.", - "schema_selection_table" : "schema_selection_non_rhabdomyosarcoma_other_specified", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "size_summary", - "name" : "Tumor Size Summary", - "naaccr_item" : 756, - "naaccr_xml_id" : "tumorSizeSummary", - "default" : "999", - "table" : "tumor_size_summary_47973", - "used_for_staging" : true - }, { - "key" : "derived_summary_grade", - "name" : "Derived Summary Grade 2018", - "naaccr_item" : 1975, - "naaccr_xml_id" : "derivedSummaryGrade2018", - "default" : "9", - "table" : "derived_summary_grade_47984", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_20791", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_30482", - "used_for_staging" : true - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_12638", - "used_for_staging" : true - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "9d" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "toronto_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_m", - "value" : "90" - }, { - "key" : "pediatric_n", - "value" : "90" - }, { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_m", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - }, { - "key" : "toronto_t", - "value" : "90" - }, { - "key" : "pediatric_t", - "value" : "90" - }, { - "key" : "toronto_n", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_t_75382", - "inputs" : [ "size_summary", "ped_primary_tumor" ], - "outputs" : [ "pediatric_t", "toronto_t" ] - }, { - "id" : "pediatric_n_19406", - "inputs" : [ "ped_regional_nodes" ], - "outputs" : [ "toronto_n", "pediatric_n" ] - }, { - "id" : "pediatric_m_36063", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_m", "pediatric_m" ] - }, { - "id" : "pediatric_grade_46495", - "inputs" : [ "derived_summary_grade" ], - "outputs" : [ "pediatric_grade" ] - }, { - "id" : "pediatric_stage_79275", - "inputs" : [ "pediatric_t", "pediatric_grade", "pediatric_m", "pediatric_n" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_m_36063", "pediatric_mets_12638", "pediatric_grade_46495", "pediatric_n_19406", "age_at_diagnosis_validation_3881", "derived_summary_grade_47984", "pediatric_stage_79275", "primary_site", "histology", "year_dx_validation", "pediatric_primary_tumor_20791", "tumor_size_summary_47973", "behavior", "schema_selection_non_rhabdomyosarcoma_other_specified", "pediatric_regional_nodes_30482", "pediatric_t_75382" ], - "last_modified" : "2024-06-13T16:28:38.166Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_unspecified.json b/src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_unspecified.json deleted file mode 100644 index e92a7c277..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/non_rhabdomyosarcoma_unspecified.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "id" : "non_rhabdomyosarcoma_unspecified", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Non-Rhabdomyosarcoma: Unspecified", - "title" : "Non-Rhabdomyosarcoma of soft tissue sarcomas: Unspecified soft tissue sarcomas", - "notes" : "8800-8805: C000-C399, C440-C768 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Non-Rhabdomyosarcoma, Toronto Staging is based on Pediatric Primary Tumor, Pediatric Regional Nodes, and Pediatric Mets.", - "schema_selection_table" : "schema_selection_non_rhabdomyosarcoma_unspecified", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "size_summary", - "name" : "Tumor Size Summary", - "naaccr_item" : 756, - "naaccr_xml_id" : "tumorSizeSummary", - "default" : "999", - "table" : "tumor_size_summary_47973", - "used_for_staging" : true - }, { - "key" : "derived_summary_grade", - "name" : "Derived Summary Grade 2018", - "naaccr_item" : 1975, - "naaccr_xml_id" : "derivedSummaryGrade2018", - "default" : "9", - "table" : "derived_summary_grade_47984", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_20791", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_30482", - "used_for_staging" : true - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_12638", - "used_for_staging" : true - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "9e" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "toronto_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_m", - "value" : "90" - }, { - "key" : "pediatric_n", - "value" : "90" - }, { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_m", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - }, { - "key" : "toronto_t", - "value" : "90" - }, { - "key" : "pediatric_t", - "value" : "90" - }, { - "key" : "toronto_n", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_t_75382", - "inputs" : [ "size_summary", "ped_primary_tumor" ], - "outputs" : [ "pediatric_t", "toronto_t" ] - }, { - "id" : "pediatric_n_19406", - "inputs" : [ "ped_regional_nodes" ], - "outputs" : [ "toronto_n", "pediatric_n" ] - }, { - "id" : "pediatric_m_36063", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_m", "pediatric_m" ] - }, { - "id" : "pediatric_grade_46495", - "inputs" : [ "derived_summary_grade" ], - "outputs" : [ "pediatric_grade" ] - }, { - "id" : "pediatric_stage_79275", - "inputs" : [ "pediatric_t", "pediatric_grade", "pediatric_m", "pediatric_n" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_m_36063", "pediatric_mets_12638", "pediatric_grade_46495", "pediatric_n_19406", "age_at_diagnosis_validation_3881", "derived_summary_grade_47984", "pediatric_stage_79275", "primary_site", "histology", "year_dx_validation", "pediatric_primary_tumor_20791", "tumor_size_summary_47973", "behavior", "pediatric_regional_nodes_30482", "schema_selection_non_rhabdomyosarcoma_unspecified", "pediatric_t_75382" ], - "last_modified" : "2024-06-13T16:28:38.206Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/ovarian.json b/src/test/resources/algorithms/pediatric/1.3/schemas/ovarian.json deleted file mode 100644 index 0b67bdb87..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/ovarian.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "id" : "ovarian", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Ovarian", - "title" : "Ovarian - Malignant Gonadal Germ Cell Tumors", - "notes" : "9060-9065, 9070-9073, 9080-9085, 9090, 9091, 9100-9101: C569 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Ovarian, Toronto Staging is based on stage group only.\n* Pediatric Primary Tumor, Pediatric Regional Nodes, and Pediatric Mets will be collected for surveillance purposes and will derive the Stage Group", - "schema_selection_table" : "schema_selection_ovarian", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_92453", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_20397", - "used_for_staging" : true - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_53483", - "used_for_staging" : true - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "10c2" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "toronto_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_78332", - "inputs" : [ "ped_mets", "ped_regional_nodes", "ped_primary_tumor" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "primary_site", "pediatric_stage_78332", "pediatric_mets_53483", "histology", "age_at_diagnosis_validation_3881", "pediatric_regional_nodes_20397", "schema_selection_ovarian", "year_dx_validation", "behavior", "pediatric_primary_tumor_92453" ], - "last_modified" : "2024-06-13T16:28:38.566Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_ewing_sarcoma_of_kidney.json b/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_ewing_sarcoma_of_kidney.json deleted file mode 100644 index 741c2e88c..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_ewing_sarcoma_of_kidney.json +++ /dev/null @@ -1,203 +0,0 @@ -{ - "id" : "renal_tumors_ewing_sarcoma_of_kidney", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Renal Tumors: Ewing Sarcoma of Kidney", - "title" : "Renal Tumors: Ewing Sarcoma of Kidney", - "notes" : "9364: C649 (all ages)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Renal tumors, Toronto Staging is based on the *Wilms Tumor Staging System* and records the stage group only.\n* Pediatric Primary Tumor, Pediatric Regional Nodes, and Pediatric Mets will be collected for surveillance purposes and will derive the Wilms Tumor Stage Group\n\n**Note 3:** This staging system is not the same as the National Wilms Tumor Study Group (NWTS) \n* Do not record stage information from the National Wilms Tumor Study Group (NWTS) in these data items", - "schema_selection_table" : "schema_selection_renal_tumors_ewing_sarcoma_of_kidney", - "schema_discriminators" : [ "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "surgical_margins", - "name" : "RX Summ Surgical Margins", - "naaccr_item" : 1320, - "naaccr_xml_id" : "rxSummSurgicalMargins", - "default" : "9", - "table" : "rx_summ_surgical_margins_47287", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_47758", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_26974", - "used_for_staging" : true - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_19048", - "used_for_staging" : true - }, { - "key" : "chrom_1p_status", - "name" : "Chromosome 1p Status", - "naaccr_item" : 3801, - "naaccr_xml_id" : "chromosome1pLossHeterozygosity", - "table" : "chromosome_1p_status_97190", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - }, { - "key" : "chrom_1q_status", - "name" : "Chromosome 1q Status", - "naaccr_item" : 1190, - "naaccr_xml_id" : "chromosome1qStatus", - "table" : "chromosome_1q_status_14467", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - }, { - "key" : "chrom_16q_status", - "name" : "Chromosome 16q Status", - "naaccr_item" : 1189, - "naaccr_xml_id" : "chromosome16qLossHeterozygosity", - "table" : "chromosome_16q_status_46566", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - }, { - "key" : "ewsr1_fli1_fusion", - "name" : "EWSR1-FLI1 Fusion", - "naaccr_item" : 1191, - "naaccr_xml_id" : "ewsr1Fli1Fusion", - "table" : "ewsr1_fli1_fusion_57187", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "6a4" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_16688", - "inputs" : [ "ped_mets", "surgical_margins", "ped_regional_nodes", "ped_primary_tumor" ], - "outputs" : [ "pediatric_group", "toronto_stage_group" ] - } ] - } ], - "involved_tables" : [ "chromosome_1q_status_14467", "chromosome_1p_status_97190", "rx_summ_surgical_margins_47287", "schema_selection_renal_tumors_ewing_sarcoma_of_kidney", "primary_site", "pediatric_primary_tumor_47758", "pediatric_mets_19048", "histology", "pediatric_regional_nodes_26974", "year_dx_validation", "chromosome_16q_status_46566", "pediatric_stage_16688", "behavior", "ewsr1_fli1_fusion_57187" ], - "last_modified" : "2025-02-07T18:18:37.245Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_kidney_sarcomas.json b/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_kidney_sarcomas.json deleted file mode 100644 index eba182352..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_kidney_sarcomas.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "id" : "renal_tumors_kidney_sarcomas", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Renal Tumors: Kidney Sarcomas", - "title" : "Renal Tumors: Kidney Sarcomas", - "notes" : "8964-8967: C649, C659 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Renal tumors, Toronto Staging is based on the *Wilms Tumor Staging System* and records the stage group only.\n* Pediatric Primary Tumor, Pediatric Regional Nodes, and Pediatric Mets will be collected for surveillance purposes and will derive the Wilms Tumor Stage Group\n\n**Note 3:** This staging system is not the same as the National Wilms Tumor Study Group (NWTS) \n* Do not record stage information from the National Wilms Tumor Study Group (NWTS) in these data items", - "schema_selection_table" : "schema_selection_renal_tumors_kidney_sarcomas", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "surgical_margins", - "name" : "RX Summ Surgical Margins", - "naaccr_item" : 1320, - "naaccr_xml_id" : "rxSummSurgicalMargins", - "default" : "9", - "table" : "rx_summ_surgical_margins_47287", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_47758", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_26974", - "used_for_staging" : true - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_19048", - "used_for_staging" : true - }, { - "key" : "chrom_1p_status", - "name" : "Chromosome 1p Status", - "naaccr_item" : 3801, - "naaccr_xml_id" : "chromosome1pLossHeterozygosity", - "table" : "chromosome_1p_status_97190", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - }, { - "key" : "chrom_1q_status", - "name" : "Chromosome 1q Status", - "naaccr_item" : 1190, - "naaccr_xml_id" : "chromosome1qStatus", - "table" : "chromosome_1q_status_14467", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - }, { - "key" : "chrom_16q_status", - "name" : "Chromosome 16q Status", - "naaccr_item" : 1189, - "naaccr_xml_id" : "chromosome16qLossHeterozygosity", - "table" : "chromosome_16q_status_46566", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "6a3" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_16688", - "inputs" : [ "ped_mets", "surgical_margins", "ped_regional_nodes", "ped_primary_tumor" ], - "outputs" : [ "pediatric_group", "toronto_stage_group" ] - } ] - } ], - "involved_tables" : [ "chromosome_1q_status_14467", "chromosome_1p_status_97190", "age_at_diagnosis_validation_3881", "schema_selection_renal_tumors_kidney_sarcomas", "rx_summ_surgical_margins_47287", "primary_site", "pediatric_primary_tumor_47758", "pediatric_mets_19048", "histology", "pediatric_regional_nodes_26974", "year_dx_validation", "chromosome_16q_status_46566", "pediatric_stage_16688", "behavior" ], - "last_modified" : "2025-02-07T18:18:37.223Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_nephroblastoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_nephroblastoma.json deleted file mode 100644 index db050c73b..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_nephroblastoma.json +++ /dev/null @@ -1,191 +0,0 @@ -{ - "id" : "renal_tumors_nephroblastoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Renal Tumors: Nephroblastoma", - "title" : "Renal Tumors: Nephroblastoma", - "notes" : "8959, 8960: C649, C659 (all ages)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Renal tumors, Toronto Staging is based on the *Wilms Tumor Staging System* and records the stage group only.\n* Pediatric Primary Tumor, Pediatric Regional Nodes, and Pediatric Mets will be collected for surveillance purposes and will derive the Wilms Tumor Stage Group\n\n**Note 3:** This staging system is not the same as the National Wilms Tumor Study Group (NWTS) \n* Do not record stage information from the National Wilms Tumor Study Group (NWTS) in these data items", - "schema_selection_table" : "schema_selection_renal_tumors_nephroblastoma", - "schema_discriminators" : [ "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "surgical_margins", - "name" : "RX Summ Surgical Margins", - "naaccr_item" : 1320, - "naaccr_xml_id" : "rxSummSurgicalMargins", - "default" : "9", - "table" : "rx_summ_surgical_margins_47287", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_47758", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_26974", - "used_for_staging" : true - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_19048", - "used_for_staging" : true - }, { - "key" : "chrom_1p_status", - "name" : "Chromosome 1p Status", - "naaccr_item" : 3801, - "naaccr_xml_id" : "chromosome1pLossHeterozygosity", - "table" : "chromosome_1p_status_97190", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - }, { - "key" : "chrom_1q_status", - "name" : "Chromosome 1q Status", - "naaccr_item" : 1190, - "naaccr_xml_id" : "chromosome1qStatus", - "table" : "chromosome_1q_status_14467", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - }, { - "key" : "chrom_16q_status", - "name" : "Chromosome 16q Status", - "naaccr_item" : 1189, - "naaccr_xml_id" : "chromosome16qLossHeterozygosity", - "table" : "chromosome_16q_status_46566", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "6a1" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_16688", - "inputs" : [ "ped_mets", "surgical_margins", "ped_regional_nodes", "ped_primary_tumor" ], - "outputs" : [ "pediatric_group", "toronto_stage_group" ] - } ] - } ], - "involved_tables" : [ "chromosome_1q_status_14467", "chromosome_1p_status_97190", "rx_summ_surgical_margins_47287", "schema_selection_renal_tumors_nephroblastoma", "primary_site", "pediatric_primary_tumor_47758", "pediatric_mets_19048", "histology", "pediatric_regional_nodes_26974", "year_dx_validation", "chromosome_16q_status_46566", "pediatric_stage_16688", "behavior" ], - "last_modified" : "2025-02-07T18:18:37.192Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_rhabdoid_renal_tumor.json b/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_rhabdoid_renal_tumor.json deleted file mode 100644 index be6cd31f2..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_rhabdoid_renal_tumor.json +++ /dev/null @@ -1,191 +0,0 @@ -{ - "id" : "renal_tumors_rhabdoid_renal_tumor", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Renal Tumors: Rhabdoid Renal Tumor", - "title" : "Renal Tumors: Rhabdoid Renal Tumor", - "notes" : "8963: C649 (all ages)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Renal tumors, Toronto Staging is based on the *Wilms Tumor Staging System* and records the stage group only.\n* Pediatric Primary Tumor, Pediatric Regional Nodes, and Pediatric Mets will be collected for surveillance purposes and will derive the Wilms Tumor Stage Group\n\n**Note 3:** This staging system is not the same as the National Wilms Tumor Study Group (NWTS) \n* Do not record stage information from the National Wilms Tumor Study Group (NWTS) in these data items", - "schema_selection_table" : "schema_selection_renal_tumors_rhabdoid_renal_tumor", - "schema_discriminators" : [ "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "surgical_margins", - "name" : "RX Summ Surgical Margins", - "naaccr_item" : 1320, - "naaccr_xml_id" : "rxSummSurgicalMargins", - "default" : "9", - "table" : "rx_summ_surgical_margins_47287", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_47758", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_26974", - "used_for_staging" : true - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_19048", - "used_for_staging" : true - }, { - "key" : "chrom_1p_status", - "name" : "Chromosome 1p Status", - "naaccr_item" : 3801, - "naaccr_xml_id" : "chromosome1pLossHeterozygosity", - "table" : "chromosome_1p_status_97190", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - }, { - "key" : "chrom_1q_status", - "name" : "Chromosome 1q Status", - "naaccr_item" : 1190, - "naaccr_xml_id" : "chromosome1qStatus", - "table" : "chromosome_1q_status_14467", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - }, { - "key" : "chrom_16q_status", - "name" : "Chromosome 16q Status", - "naaccr_item" : 1189, - "naaccr_xml_id" : "chromosome16qLossHeterozygosity", - "table" : "chromosome_16q_status_46566", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "6a2" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_16688", - "inputs" : [ "ped_mets", "surgical_margins", "ped_regional_nodes", "ped_primary_tumor" ], - "outputs" : [ "pediatric_group", "toronto_stage_group" ] - } ] - } ], - "involved_tables" : [ "chromosome_1q_status_14467", "chromosome_1p_status_97190", "rx_summ_surgical_margins_47287", "primary_site", "pediatric_primary_tumor_47758", "pediatric_mets_19048", "histology", "pediatric_regional_nodes_26974", "year_dx_validation", "chromosome_16q_status_46566", "schema_selection_renal_tumors_rhabdoid_renal_tumor", "pediatric_stage_16688", "behavior" ], - "last_modified" : "2025-02-07T18:18:37.211Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_unspecified_malignant_renal_tumors.json b/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_unspecified_malignant_renal_tumors.json deleted file mode 100644 index 217b407f3..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/renal_tumors_unspecified_malignant_renal_tumors.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "id" : "renal_tumors_unspecified_malignant_renal_tumors", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Renal Tumors: Unspecified Malignant Renal Tumors", - "title" : "Renal Tumors: Unspecified Malignant Renal Tumors", - "notes" : "8000-8005: C649 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Renal tumors, Toronto Staging is based on the *Wilms Tumor Staging System* and records the stage group only.\n* Pediatric Primary Tumor, Pediatric Regional Nodes, and Pediatric Mets will be collected for surveillance purposes and will derive the Wilms Tumor Stage Group\n\n**Note 3:** This staging system is not the same as the National Wilms Tumor Study Group (NWTS) \n* Do not record stage information from the National Wilms Tumor Study Group (NWTS) in these data items", - "schema_selection_table" : "schema_selection_renal_tumors_unspecified_malignant_renal_tumors", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "surgical_margins", - "name" : "RX Summ Surgical Margins", - "naaccr_item" : 1320, - "naaccr_xml_id" : "rxSummSurgicalMargins", - "default" : "9", - "table" : "rx_summ_surgical_margins_47287", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_47758", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_26974", - "used_for_staging" : true - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_19048", - "used_for_staging" : true - }, { - "key" : "chrom_1p_status", - "name" : "Chromosome 1p Status", - "naaccr_item" : 3801, - "naaccr_xml_id" : "chromosome1pLossHeterozygosity", - "table" : "chromosome_1p_status_97190", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - }, { - "key" : "chrom_1q_status", - "name" : "Chromosome 1q Status", - "naaccr_item" : 1190, - "naaccr_xml_id" : "chromosome1qStatus", - "table" : "chromosome_1q_status_14467", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - }, { - "key" : "chrom_16q_status", - "name" : "Chromosome 16q Status", - "naaccr_item" : 1189, - "naaccr_xml_id" : "chromosome16qLossHeterozygosity", - "table" : "chromosome_16q_status_46566", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "6c" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "N/A" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "N/A" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "N/A" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_16688", - "inputs" : [ "ped_mets", "surgical_margins", "ped_regional_nodes", "ped_primary_tumor" ], - "outputs" : [ "pediatric_group", "toronto_stage_group" ] - } ] - } ], - "involved_tables" : [ "chromosome_1q_status_14467", "chromosome_1p_status_97190", "age_at_diagnosis_validation_3881", "rx_summ_surgical_margins_47287", "schema_selection_renal_tumors_unspecified_malignant_renal_tumors", "primary_site", "pediatric_primary_tumor_47758", "pediatric_mets_19048", "histology", "pediatric_regional_nodes_26974", "year_dx_validation", "chromosome_16q_status_46566", "pediatric_stage_16688", "behavior" ], - "last_modified" : "2025-02-07T18:18:37.233Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/retinoblastoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/retinoblastoma.json deleted file mode 100644 index 2c3a1b7eb..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/retinoblastoma.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "id" : "retinoblastoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Retinoblastoma", - "title" : "Retinoblastoma", - "notes" : "9510-9514: C690-C699 (all ages)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Retinoblastoma, Toronto Staging is based on the International Retinoblastoma Staging System (IRSS) and records the stage group only.\n* Pediatric Primary Tumor, Pediatric Regional Nodes, and Pediatric Mets will be collected for surveillance purposes and will derive the IRSS Stage System", - "schema_selection_table" : "schema_selection_retinoblastoma", - "schema_discriminators" : [ "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "surg_2023", - "name" : "RX Summ Surg Prim Site 2023", - "naaccr_item" : 1291, - "naaccr_xml_id" : "rxSummSurgPrimSite2023", - "default" : "A990", - "table" : "rx_summ_surg_2023_retinoblastoma_97268", - "used_for_staging" : true - }, { - "key" : "surgical_margins", - "name" : "RX Summ Surgical Margins", - "naaccr_item" : 1320, - "naaccr_xml_id" : "rxSummSurgicalMargins", - "default" : "9", - "table" : "rx_summ_surgical_margins_47287", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_1604", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_67911", - "used_for_staging" : true - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_26722", - "used_for_staging" : true - }, { - "key" : "irss_stage_for_eye2", - "name" : "IRSS Stage for Eye-2", - "naaccr_item" : 1188, - "naaccr_xml_id" : "irssStageForEye2", - "table" : "irss_stage_for_eye_2_95484", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "5" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT", - "default" : "88" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN", - "default" : "88" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM", - "default" : "88" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT", - "default" : "88" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN", - "default" : "88" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM", - "default" : "88" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "pediatric_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "pediatric_group", - "value" : "90" - }, { - "key" : "toronto_stage_group", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_stage_19429", - "inputs" : [ "surg_2023", "ped_mets", "surgical_margins", "ped_regional_nodes", "ped_primary_tumor" ], - "outputs" : [ "pediatric_group", "toronto_stage_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_regional_nodes_67911", "rx_summ_surgical_margins_47287", "pediatric_mets_26722", "pediatric_primary_tumor_1604", "primary_site", "irss_stage_for_eye_2_95484", "histology", "year_dx_validation", "behavior", "schema_selection_retinoblastoma", "rx_summ_surg_2023_retinoblastoma_97268", "pediatric_stage_19429" ], - "last_modified" : "2025-07-25T20:50:51.708Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/rhabdomyosarcoma.json b/src/test/resources/algorithms/pediatric/1.3/schemas/rhabdomyosarcoma.json deleted file mode 100644 index 8a2374cc9..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/rhabdomyosarcoma.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "id" : "rhabdomyosarcoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Rhabdomyosarcoma", - "title" : "Rhabdomyosarcoma", - "notes" : "8900-8905, 8920, 8991: C000-C809 (ages 0-39)\n\n8910, 8912: C000-C809 (all ages)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Rhabdomyosarcoma, Toronto Staging is based on Pediatric Primary Tumor, Pediatric Regional Nodes, and Pediatric Mets.", - "schema_selection_table" : "schema_selection_rhabdomyosarcoma", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "size_summary", - "name" : "Tumor Size Summary", - "naaccr_item" : 756, - "naaccr_xml_id" : "tumorSizeSummary", - "default" : "999", - "table" : "tumor_size_summary_47973", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_57637", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_32357", - "used_for_staging" : true - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_64617", - "used_for_staging" : true - }, { - "key" : "foxo1_gene_rearrangements", - "name" : "FOXO1 Gene Rearrangements", - "naaccr_item" : 1193, - "naaccr_xml_id" : "foxo1GeneRearrangements", - "table" : "foxo1_gene_rearrangements_72870", - "used_for_staging" : false, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "9a" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "toronto_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_m", - "value" : "90" - }, { - "key" : "pediatric_n", - "value" : "90" - }, { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_m", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - }, { - "key" : "toronto_t", - "value" : "90" - }, { - "key" : "pediatric_t", - "value" : "90" - }, { - "key" : "toronto_n", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_t_59799", - "inputs" : [ "size_summary", "ped_primary_tumor" ], - "outputs" : [ "pediatric_t", "toronto_t" ] - }, { - "id" : "pediatric_n_21296", - "inputs" : [ "ped_regional_nodes" ], - "outputs" : [ "toronto_n", "pediatric_n" ] - }, { - "id" : "pediatric_m_79386", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_m", "pediatric_m" ] - }, { - "id" : "pediatric_stage_94654", - "inputs" : [ "pediatric_t", "site", "pediatric_m", "pediatric_n" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_primary_tumor_57637", "pediatric_stage_94654", "age_at_diagnosis_validation_3881", "pediatric_t_59799", "pediatric_mets_64617", "schema_selection_rhabdomyosarcoma", "pediatric_m_79386", "primary_site", "pediatric_n_21296", "histology", "foxo1_gene_rearrangements_72870", "pediatric_regional_nodes_32357", "year_dx_validation", "tumor_size_summary_47973", "behavior" ], - "last_modified" : "2024-06-13T16:28:38.088Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/schemas/testicular.json b/src/test/resources/algorithms/pediatric/1.3/schemas/testicular.json deleted file mode 100644 index 41cd7cb93..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/schemas/testicular.json +++ /dev/null @@ -1,216 +0,0 @@ -{ - "id" : "testicular", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Testicular", - "title" : "Testicular - Malignant Gonadal Germ Cell Tumors", - "notes" : "9060-9065, 9070-9073, 9080-9085, 9090, 9091, 9100-9101: C620-C629 (ages 0-39)\n\n**Note 1:** The following sources were used in the development of this schema\n* [Toronto Childhood Cancer Stage Guidelines, Version 2, May 2022](https://cancerqld.blob.core.windows.net/content/docs/childhood-cancer-staging-for-population-registries.pdf)\n* [SEER Extent of Disease (EOD) 2018: Codes and Coding Instructions](https://seer.cancer.gov/tools/staging/eod/2018_Extent_of_Disease_General_Instructions.pdf)\n* [Summary Stage 2018 - SEER (cancer.gov)](https://seer.cancer.gov/tools/ssm/)\n\n**Note 2:** For Testicular, Toronto Staging is based on Pediatric Primary Tumor, Pediatric Regional Nodes, Pediatric Mets, S Category Clinical, and S Category Pathological.", - "schema_selection_table" : "schema_selection_testicular", - "schema_discriminators" : [ "age_dx", "behavior" ], - "inputs" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "naaccr_item" : 390, - "naaccr_xml_id" : "dateOfDiagnosis", - "table" : "year_dx_validation", - "used_for_staging" : false - }, { - "key" : "site", - "name" : "Primary Site", - "naaccr_item" : 400, - "naaccr_xml_id" : "primarySite", - "table" : "primary_site", - "used_for_staging" : true - }, { - "key" : "hist", - "name" : "Histology", - "naaccr_item" : 522, - "naaccr_xml_id" : "histologicTypeIcdO3", - "table" : "histology", - "used_for_staging" : true - }, { - "key" : "behavior", - "name" : "Behavior", - "naaccr_item" : 523, - "naaccr_xml_id" : "behaviorCodeIcdO3", - "table" : "behavior", - "used_for_staging" : true - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "naaccr_item" : 230, - "naaccr_xml_id" : "ageAtDiagnosis", - "table" : "age_at_diagnosis_validation_3881", - "used_for_staging" : true - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "naaccr_item" : 820, - "naaccr_xml_id" : "regionalNodesPositive", - "default" : "99", - "table" : "nodes_pos_fpa", - "used_for_staging" : true - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "naaccr_item" : 1136, - "naaccr_xml_id" : "pediatricPrimaryTumor", - "default" : "999", - "table" : "pediatric_primary_tumor_73431", - "used_for_staging" : true - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "naaccr_item" : 1137, - "naaccr_xml_id" : "pediatricRegionalNodes", - "default" : "999", - "table" : "pediatric_regional_nodes_42195", - "used_for_staging" : true - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "naaccr_item" : 1138, - "naaccr_xml_id" : "pediatricMets", - "default" : "99", - "table" : "pediatric_mets_93634", - "used_for_staging" : true - }, { - "key" : "s_category_clin", - "name" : "S Category Clinical", - "naaccr_item" : 3923, - "naaccr_xml_id" : "sCategoryClinical", - "default" : "9", - "table" : "s_category_clinical_11368", - "used_for_staging" : true, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - }, { - "key" : "s_category_path", - "name" : "S Category Pathological", - "naaccr_item" : 3924, - "naaccr_xml_id" : "sCategoryPathological", - "default" : "9", - "table" : "s_category_pathological_46197", - "used_for_staging" : true, - "metadata" : [ { - "name" : "SSDI" - }, { - "name" : "SEER_REQUIRED" - } ] - } ], - "outputs" : [ { - "key" : "pediatric_id", - "name" : "Pediatric ID", - "naaccr_item" : 1132, - "naaccr_xml_id" : "pediatricId", - "default" : "10c1" - }, { - "key" : "toronto_version_number", - "name" : "Toronto Version Number", - "description" : "Version of the Toronto Pediatric Staging System that this version of the Pediatric staging API is based upon.", - "naaccr_item" : 1135, - "naaccr_xml_id" : "torontoVersionNumber", - "default" : "2" - }, { - "key" : "derived_version", - "name" : "Derived Version", - "description" : "For Pediatric ID Version Current - 1133, update all cases when API is updated; Pediatric ID Version Original - 1134, set when the case is coded and do not update", - "default" : "{{ctx_alg_version}}" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "naaccr_item" : 1142, - "naaccr_xml_id" : "derivedPediatricT" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "naaccr_item" : 1143, - "naaccr_xml_id" : "derivedPediatricN" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "naaccr_item" : 1144, - "naaccr_xml_id" : "derivedPediatricM" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "naaccr_item" : 1145, - "naaccr_xml_id" : "derivedPediatricStageGroup" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "naaccr_item" : 1146, - "naaccr_xml_id" : "torontoT" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "naaccr_item" : 1147, - "naaccr_xml_id" : "torontoN" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "naaccr_item" : 1148, - "naaccr_xml_id" : "torontoM" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "naaccr_item" : 1149, - "naaccr_xml_id" : "torontoStageGroup" - } ], - "mappings" : [ { - "id" : "toronto_stage", - "name" : "Pediatric Stage", - "initial_context" : [ { - "key" : "toronto_m", - "value" : "90" - }, { - "key" : "pediatric_n", - "value" : "90" - }, { - "key" : "toronto_stage_group", - "value" : "90" - }, { - "key" : "pediatric_m", - "value" : "90" - }, { - "key" : "pediatric_group", - "value" : "90" - }, { - "key" : "toronto_t", - "value" : "90" - }, { - "key" : "pediatric_t", - "value" : "90" - }, { - "key" : "toronto_n", - "value" : "90" - } ], - "tables" : [ { - "id" : "pediatric_t_65327", - "inputs" : [ "ped_primary_tumor" ], - "outputs" : [ "pediatric_t", "toronto_t" ] - }, { - "id" : "pediatric_n_84898", - "inputs" : [ "nodes_pos", "ped_regional_nodes" ], - "outputs" : [ "toronto_n", "pediatric_n" ] - }, { - "id" : "pediatric_m_97287", - "inputs" : [ "ped_mets" ], - "outputs" : [ "toronto_m", "pediatric_m" ] - }, { - "id" : "combined_s_category_15139", - "inputs" : [ "s_category_path", "s_category_clin" ], - "outputs" : [ "s_category_combined" ] - }, { - "id" : "pediatric_stage_57755", - "inputs" : [ "pediatric_t", "s_category_combined", "pediatric_m", "pediatric_n" ], - "outputs" : [ "toronto_stage_group", "pediatric_group" ] - } ] - } ], - "involved_tables" : [ "pediatric_t_65327", "age_at_diagnosis_validation_3881", "combined_s_category_15139", "schema_selection_testicular", "s_category_clinical_11368", "nodes_pos_fpa", "pediatric_regional_nodes_42195", "pediatric_m_97287", "pediatric_primary_tumor_73431", "pediatric_n_84898", "pediatric_stage_57755", "primary_site", "pediatric_mets_93634", "s_category_pathological_46197", "histology", "year_dx_validation", "behavior" ], - "last_modified" : "2024-06-13T16:28:38.528Z", - "on_invalid_input" : "CONTINUE" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/age_at_diagnosis_validation_3881.json b/src/test/resources/algorithms/pediatric/1.3/tables/age_at_diagnosis_validation_3881.json deleted file mode 100644 index f454c2a86..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/age_at_diagnosis_validation_3881.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "id" : "age_at_diagnosis_validation_3881", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Age at Diagnosis Validation", - "title" : "Age at Diagnosis Validation", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2022-06-16T17:07:09.169Z", - "definition" : [ { - "key" : "age_dx", - "name" : "Age At Diagnosis", - "type" : "INPUT" - } ], - "rows" : [ [ "000-120,999" ], [ "0-9" ], [ "10-99" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/b_symptoms_95631.json b/src/test/resources/algorithms/pediatric/1.3/tables/b_symptoms_95631.json deleted file mode 100644 index 943fa8c7c..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/b_symptoms_95631.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "b_symptoms_95631", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "B Symptoms", - "title" : "B Symptoms", - "description" : "B symptoms refer to systemic symptoms of fever, night sweats, and weight loss which can be associated with both Hodgkin lymphoma and some non-Hodgkin lymphomas. The presence of B symptoms is a prognostic factor for some lymphomas.\n\nThe stages of Hodgkin Lymphoma are classified as either A or B according to the absence or presence of defined constitutional symptoms. The stage group suffix for a patient without these systemic symptoms is “A,” meaning absence of symptoms or asymptomatic; for example, Stage IIA. The stage group suffix for a patient with any of the symptoms listed below is “B,” such as Stage IIIB. The symptoms are carefully defined. \n* Fevers: Unexplained fever with temperature above 38 degrees centigrade or 100.4 degrees Fahrenheit. \n* Night sweats: Drenching sweats (e.g., those that require change of bedclothes)\n* Weight loss: Unexplained weight loss of more than 10% of the usual body weight in the 6 months prior to diagnosis. \n\nOther symptoms, such as chills, pruritic, alcohol-induced pain, and fatigue, are not included in the A or B designation but are recorded in the medical record, as the reappearance of these symptoms may be a harbinger of recurrence. The designation A or B is not included in the revised staging of NHL in AJCC 8th edition, although clinicians are encouraged to record the presence of these symptoms in the medical record. The presence or absence of B symptoms may be collected in registries for both HL and NHL.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of B Symptoms can be used to code this data item when no other information is available.\n\n**Note 2:** **Defining B symptoms** \n* Each stage should be classified as either A or B according to the absence or presence of defined constitutional symptoms, such as:\n * Fevers: Unexplained fever with temperature above 38 degrees C (100.4 F)\n * Night sweats: Drenching sweats that require change of bedclothes\n * Weight loss: Unexplained weight loss of more than 10% of the usual body weight in the six months prior to diagnosis.\n\n**Note 3:** **Conditions that are not B symptoms** \n* Pruritus alone does not qualify for B classification, nor does alcohol intolerance, fatigue, or a short, febrile illness associated with suspected infections", - "last_modified" : "2024-12-14T00:31:40.613Z", - "definition" : [ { - "key" : "b_symptoms", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No B symptoms (asymptomatic) \nClassified as \"A\" by physician when asymptomatic" ], [ "1", "Any B symptom(s)\nNight sweats (drenching)\nUnexplained fever (above 38 degrees C) (100.4 F)\nUnexplained weight loss (generally greater than 10% of body weight\nin the six months before admission)\nB symptoms, NOS\n\nClassified as \"B\" by physician when symptomatic" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nB symptoms not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** patient history, progress notes, consultant notes, other statements in medical record\n\n**Other names include** B symptoms fever, Palestine fever, hyperpyrexia, febrile response, sleep hyperhidrosis, nocturnal hyperhidrosis", - "coding_guidelines" : "* **Code 0** when there is no evidence of B symptoms present, per physician or physical exam\n* **Code 1** when the physician states the patient has B symptoms\n* **Code 9** when\n * No mention of B symptoms\n * Not documented in the medical record\n * B symptoms not evaluated (assessed)\n * Unknown if B symptoms evaluated (assessed)", - "rationale" : "B symptoms is a Registry Data Collection Variable in AJCC. This data item was previously collected for Lymphomas, SSF #2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/behavior.json b/src/test/resources/algorithms/pediatric/1.3/tables/behavior.json deleted file mode 100644 index 443ea38af..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/behavior.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "behavior", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Behavior", - "title" : "Behavior ICD-O-3", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2022-06-15T18:02:00.584Z", - "definition" : [ { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "desc", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Benign" ], [ "1", "Uncertain Benign/Malig" ], [ "2", "In Situ" ], [ "3", "Malignant Primary" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/braf_mutational_analysis_15216.json b/src/test/resources/algorithms/pediatric/1.3/tables/braf_mutational_analysis_15216.json deleted file mode 100644 index b7c11d95f..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/braf_mutational_analysis_15216.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "braf_mutational_analysis_15216", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "BRAF Mutational Analysis", - "title" : "BRAF Mutational Analysis", - "description" : "The BRAF oncoprotein is involved in transmitting cell growth and proliferation signals from KRAS and NRAS. The BRAF V600E mutation is associated with poorer prognosis and predicts lack of response to anti-EGFR therapies. \n“BRAF V600E is a specific mutation (change) in the BRAF gene, which makes a protein that is involved in sending signals in cells and in cell growth. This BRAF gene mutation is found in colorectal cancer. It may increase the growth and spread of cancer cells. Checking for this BRAF mutation in tumor tissue may help to plan cancer treatment. BRAF (V600E) kinase inhibitor RO5185426 blocks certain proteins made by the mutated BRAF gene, which may help keep cancer cells from growing.” (NCI Dictionary of Cancer Terms https://www.cancer.gov/publications/dictionaries/cancer-terms)\n\nThe most common testing methods for BRAF are\n* Direct Sanger sequencing\n* High-resolution melting analysis\n* Pyrosequencing\n* PCR, allele-specific hybridization\n* Real-time PCR\n\nThe most common BRAF mutations is BRAF V600E (c.1799T>A) mutation.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2024+\n* For cases diagnosed 2018-2023, this SSDI must be blank\n\n**Note 2:** **Physician Statement** \n* Physician statement of BRAF can be used to code this data item when no other information is available.\n\n**Note 3:** **Applicable stages**\n* BRAF may be recorded for all stages; however, it is primarily performed for patients with metastatic disease. If information is not available, code 9.\n\n**Note 4:** **Results from nodal or metastatic tissue**\n* Results from nodal or metastatic tissue may be used for BRAF.\n\n**Note 5:** **Neoadjuvant Therapy** \n* Record the assay from tumor specimens prior to neoadjuvant therapy.\n* If neoadjuvant therapy is given and there are no BRAF results from pre-treatment specimens, report the findings from post-treatment specimens.", - "last_modified" : "2024-04-10T16:52:38.215Z", - "definition" : [ { - "key" : "braf_mutational_analysis", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Normal\nBRAF negative, BRAF wild type\nNegative for (somatic) mutations, no alterations, no (somatic) mutations identified, not present, not detected" ], [ "1", "Abnormal (mutated)/detected: BRAF V600E (c.1799T>A) mutation" ], [ "2", "Abnormal (mutated)/detected, but not BRAF V600E (c.1799T>A) mutation" ], [ "3", "Abnormal (mutated)/detected, *KIAA1549: BRAF* gene fusion" ], [ "4", "Abnormal (mutated) BRAF, NOS" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nCannot be determined by pathologist\nBRAF not assessed or unknown if assessed" ], [ "", "N/A-Diagnosis is prior to 2024" ] ], - "additional_info" : "**Source documents:** pathology report, clinical laboratory report", - "coding_guidelines" : "**1)** **Code 0** when BRAF negative/wild type/not detected\n**2)** **Code 1, 2 or 3** when BRAF identified/detected\n**3)** **Code 4** for when BRAF identified, mutation not known\n**4)** **Code 9** when \n* **a.** Insufficient amount of tissue available to perform test\n* **b.** Test done and documented to be equivocal\n* **c.** No microscopic confirmation of tumor\n* **d.** BRAF mutational analysis not ordered or not done, or unknown if ordered or done", - "rationale" : "BRAF mutational analysis is recommended in clinical guidelines for patients with Astrocytoma as a prognostic marker and factor in determining appropriate therapy. It is a new data item for cases diagnosed 1/1/2021+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/chromosome_16q_status_46566.json b/src/test/resources/algorithms/pediatric/1.3/tables/chromosome_16q_status_46566.json deleted file mode 100644 index 264778b3b..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/chromosome_16q_status_46566.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "chromosome_16q_status_46566", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Chromosome 16q Status", - "title" : "Chromosome 16q: Loss of Heterozygosity (LOH)", - "description" : "Chromosome 16q: Loss of Heterozygosity (LOH) refers to the loss of genetic material normally found on the long arm of one of the patient's two copies of chromosome 16. Occurs in approximately 5% of favorable (non-anaplastic) histology Wilm’s tumor (FHWT) cells and has been shown to be associated with inferior relapse-free survival (RFS) and overall survival (OS) in patients with FH Wilm’s tumor. This testing is commonly done in conjunction with Chromosome 1p: Gain of Heterozygosity (NAACCR ID: 3801) and Chromosome 1q: Loss of Heterozygosity (NAACCR ID: 1190)\n\nThis is a special molecular diagnostic test performed on tumor tissue to identify loss of genetic material found on the long arm of one of the patient’s two copies of chromosome 16. A normal cell will contain two complete copies of each chromosome, one from each parent, and this normal state is termed heterozygous. Loss of heterozygosity (LOH) is an abnormal state reflecting loss of the whole arm of chromosome 16q following a chromosomal translocation event.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2024+\n* For cases diagnosed 2018-2023, this SSDI must be blank\n\n**Note 2:** **Physician statement**\n* Physician statement of Chromosome 16q deletion/LOH can be used to code this data item when no other information is available.", - "last_modified" : "2025-05-01T15:14:59.352Z", - "definition" : [ { - "key" : "chrom_16q_status", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Chromosome 16q deletion/LOH not identified/not present/negative" ], [ "1", "Chromosome 16q deletion/LOH identified/present/positive" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nCannot be determined by pathologist\nChromosome 16q deletion/LOH not assessed or unknown if assessed" ], [ "", "N/A - Diagnosis year is prior to 2024" ] ], - "additional_info" : "**Source documents:** molecular pathology report (may be addendum to original pathology report)\n\n**Other names include** whole arm loss, gene deletion and allelic loss.", - "rationale" : "This is part of the National Childhood Cancer Registry (NCCR) project to collect more specific information on pediatric patients. Registries part of the NCCR will start collection on specific pediatric data items with 2024+ diagnoses." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/chromosome_1p_status_97190.json b/src/test/resources/algorithms/pediatric/1.3/tables/chromosome_1p_status_97190.json deleted file mode 100644 index 4a9466436..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/chromosome_1p_status_97190.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "chromosome_1p_status_97190", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Chromosome 1p Status", - "title" : "Chromosome 1p: Loss of Heterozygosity (LOH)", - "description" : "Chromosome 1p: Loss of Heterozygosity (LOH) refers to the loss of genetic material normally found on the short arm of one of the patient's two copies of chromosome 1. Occurs in approximately 5% of favorable histology (non-anaplastic) Wilm’s tumor (FHWT) cells and has been shown to be associated with inferior relapse-free survival (RFS) and overall survival (OS) in patients with FH Wilm’s tumor. This testing is commonly done in conjunction with Chromosome 1q: Gain of Heterozygosity (NAACCR ID: 1190) and Chromosome 16q: Loss of Heterozygosity (NAACCR ID: 1189). \n\nThis is a special molecular diagnostic test performed on tumor tissue to identify loss of genetic material normally found on the short arm of one of the patient's two copies of chromosome 1. A normal cell will contain two complete copies of each chromosome, one from each parent, and this normal state is termed heterozygous. Loss of heterozygosity (LOH) is an abnormal state reflecting loss of the whole arm of chromosome 1p following a chromosomal translocation event", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2024+\n* For cases diagnosed 2018-2023, this SSDI must be blank\n\n**Note 2:** **Physician statement**\n* Physician statement of Chromosome 1p deletion/LOH can be used to code this data item when no other information is available.", - "last_modified" : "2025-05-01T15:13:55.906Z", - "definition" : [ { - "key" : "chrom_1p_status", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Chromosome 1p deletion/LOH not identified/not present/negative" ], [ "1", "Chromosome 1p deletion/LOH identified/present/positive" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nCannot be determined by pathologist\nChromosome 1p deletion/LOH not assessed or unknown if assessed" ], [ "", "N/A - Diagnosis year is prior to 2024" ] ], - "additional_info" : "**Source documents:** molecular pathology report (may be addendum to original pathology report)\n\n**Other names include** whole arm loss, gene deletion and allelic loss.", - "rationale" : "This is part of the National Childhood Cancer Registry (NCCR) project to collect more specific information on pediatric patients. Registries part of the NCCR will start collection on specific pediatric data items with 2024+ diagnoses." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/chromosome_1q_status_14467.json b/src/test/resources/algorithms/pediatric/1.3/tables/chromosome_1q_status_14467.json deleted file mode 100644 index 212c0b501..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/chromosome_1q_status_14467.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "chromosome_1q_status_14467", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Chromosome 1q Status", - "title" : "Chromosome 1q Status", - "description" : "Gain of chromosome 1q is one of the most common cytogenetic findings in Wilms tumor, occurring approximately 30% of tumors. It is associated with a poorer relapse-free survival (RFS) and overall survival (OS) in patients with favorable (non-anaplastic) histology Wilm’s tumor (FHWT). This testing is commonly done in conjunction with Chromosome 1p: Loss of Heterozygosity (see NAACCR ID: 3801) and Chromosome 16q: Loss of Heterozygosity (see NAACCR ID: 1189).\n\nThis is a special molecular diagnostic test performed on tumor tissue to identify gain of genetic material normally found on the long arm of one of the patient's two copies of chromosome 1. A normal cell will contain two complete copies of each chromosome, one from each parent, and this normal state is termed heterozygous. Gain of heterozygosity (GOH) is an abnormal state reflecting gain of the whole arm of chromosome 1q following a chromosomal translocation event.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2024+\n* For cases diagnosed 2018-2023, this SSDI must be blank\n\n**Note 2:** **Physician statement**\n* Physician statement of Chromosome 1q gain deletion/LOH can be used to code this data item when no other information is available.", - "last_modified" : "2024-04-19T13:44:05.973Z", - "definition" : [ { - "key" : "chrom_1q_status", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Chromosome 1q gain/GOH not identified/not present/negative" ], [ "1", "Chromosome 1q gain/GOH identified/present/positive" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nCannot be determined by pathologist\nChromosome 1q gain/LOH not assessed or unknown if assessed" ], [ "", "N/A - Diagnosis year is prior to 2024" ] ], - "additional_info" : "**Source documents:** molecular pathology report (may be addendum to original pathology report)", - "rationale" : "This is part of the National Childhood Cancer Registry (NCCR) project to collect more specific information on pediatric patients. Registries part of the NCCR will start collection on specific pediatric data items with 2024+ diagnoses." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/combined_s_category_15139.json b/src/test/resources/algorithms/pediatric/1.3/tables/combined_s_category_15139.json deleted file mode 100644 index 3bda4f1f2..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/combined_s_category_15139.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "combined_s_category_15139", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Combined S Category", - "title" : "Combined S Category", - "last_modified" : "2022-07-14T14:52:35.794Z", - "definition" : [ { - "key" : "s_category_clin", - "name" : "S Clin", - "type" : "INPUT" - }, { - "key" : "s_category_path", - "name" : "S Path", - "type" : "INPUT" - }, { - "key" : "s_category_combined", - "name" : "S Combined", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "s_category_path", "s_category_clin" ], - "rows" : [ [ "0-3,9", "0-3", "VALUE:{{s_category_path}}" ], [ "0", "5", "VALUE:{{s_category_clin}}" ], [ "1-3,9", "5", "ERROR:If S Category Pathological is 5, S Category Clinical should be 0" ], [ "0-3", "9", "VALUE:{{s_category_clin}}" ], [ "9", "9", "VALUE:{{s_category_path}}" ], [ "", "", "VALUE:9" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_mets.json b/src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_mets.json deleted file mode 100644 index 6d6ba2e55..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_mets.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "conversion_to_pediatric_mets", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Conversion to Pediatric Mets", - "title" : "Conversion to Pediatric Mets", - "notes" : "Conversion going from EOD 2018 to Pediatric for Pediatric Mets field", - "last_modified" : "2024-07-22T18:06:26.478Z", - "definition" : [ { - "key" : "pediatric_id", - "name" : "Pediatric Schema ID", - "type" : "INPUT" - }, { - "key" : "ped_name", - "name" : "Pediatric Schema Name", - "type" : "DESCRIPTION" - }, { - "key" : "naaccr_schema_id", - "name" : "EOD Schema ID", - "type" : "INPUT" - }, { - "key" : "eod_name", - "name" : "EOD Schema Name", - "type" : "DESCRIPTION" - }, { - "key" : "eod_mets", - "name" : "EOD Mets", - "type" : "INPUT" - }, { - "key" : "eod_primary_tumor", - "name" : "EOD Primary Tumor", - "type" : "INPUT" - }, { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "type" : "ENDPOINT" - }, { - "key" : "comments", - "name" : "Comments", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1a1", "Acute Lymphoblastic Leukemia", "*", "Any", "99", "*", "VALUE:99", "All EOD M = 99 must be DCO; some Ped M = 99 may be from other causes" ], [ "2a", "Hodgkin Lymphoma", "*", "Any", "*", "*", "VALUE:88", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "*", "Any", "*", "*", "VALUE:88", "" ], [ "3a", "Ependymoma", "09721", "Brain V9", "10", "*", "VALUE:45", "" ], [ "3a", "Ependymoma", "09722", "CNS Other V9", "10", "*", "VALUE:45", "" ], [ "3a", "Ependymoma", "*", "Any", "99", "*", "VALUE:99", "All EOD M = 99 must be DCO; some Ped M = 99 may be from other causes" ], [ "3b", "Astrocytoma", "09721", "Brain V9", "10", "*", "VALUE:10", "" ], [ "3b", "Astrocytoma", "09721", "Brain V9", "70", "*", "VALUE:70", "" ], [ "3b", "Astrocytoma", "09722", "CNS Other V9", "10", "*", "VALUE:10", "" ], [ "3b", "Astrocytoma", "09722", "CNS Other V9", "70", "*", "VALUE:70", "" ], [ "3b", "Astrocytoma", "*", "Any", "99", "*", "VALUE:99", "All EOD M = 99 must be DCO; some Ped M = 99 may be from other causes" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastoma", "09724", "Medulloblastoma", "15", "*", "VALUE:15", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastoma", "09724", "Medulloblastoma", "25", "*", "VALUE:25", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastoma", "09724", "Medulloblastoma", "35", "*", "VALUE:35", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastoma", "09724", "Medulloblastoma", "45", "*", "VALUE:45", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastoma", "09724", "Medulloblastoma", "70", "*", "VALUE:70", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "00700", "Orbital Sarcoma", "00", "300", "VALUE:25", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "00700", "Orbital Sarcoma", "00", "400", "VALUE:25", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "00700", "Orbital Sarcoma", "00", "700", "VALUE:45", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "00700", "Orbital Sarcoma", "10", "*", "VALUE:45", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "09721", "Brain V9", "10", "*", "VALUE:45", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "09722", "CNS Other V9", "10", "*", "VALUE:45", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastoma", "*", "Any", "99", "*", "VALUE:99", "All EOD M = 99 must be DCO; some Ped M = 99 may be from other causes" ], [ "4a", "Neuroblastoma", "00381", "Bone Appendicular Skeleton", "30", "*", "VALUE:10", "" ], [ "4a", "Neuroblastoma", "00382", "Bone Spine", "30", "*", "VALUE:10", "" ], [ "4a", "Neuroblastoma", "00383", "Bone Pelvis", "30", "*", "VALUE:10", "" ], [ "4a", "Neuroblastoma", "00400", "Soft Tissue Head & Neck", "10", "*", "VALUE:10", "" ], [ "4a", "Neuroblastoma", "00410", "Soft Tissue Trunk & Extremities", "10", "*", "VALUE:10", "" ], [ "4a", "Neuroblastoma", "00421", "Soft Tissue Abdomen & Thoracic", "10", "*", "VALUE:10", "" ], [ "4a", "Neuroblastoma", "00422", "Heart, Mediastium & Pleura", "10", "*", "VALUE:10", "" ], [ "4a", "Neuroblastoma", "00440", "Retroperitoneum", "10", "*", "VALUE:10", "" ], [ "4a", "Neuroblastoma", "00459", "Soft Tissue Other", "10", "*", "VALUE:10", "" ], [ "4a", "Neuroblastoma", "00528", "Cervix Sarcoma", "10", "*", "VALUE:10", "" ], [ "4a", "Neuroblastoma", "00541", "Corpus Sarcoma", "10", "*", "VALUE:10", "" ], [ "4a", "Neuroblastoma", "00700", "Orbital Sarcoma", "10", "*", "VALUE:10", "" ], [ "4a", "Neuroblastoma", "09721", "Brain V9", "10", "*", "VALUE:10", "" ], [ "4a", "Neuroblastoma", "00972", "CNS Other V9", "10", "*", "VALUE:10", "" ], [ "4a", "Neuroblastoma", "09723", "Intracranial Gland V9", "10", "*", "VALUE:10", "" ], [ "4a", "Neuroblastoma", "*", "Any", "99", "*", "VALUE:99", "All EOD M = 99 must be DCO; some Ped M = 99 may be from other causes" ], [ "5", "Retinoblastoma", "00680", "Retinoblastoma", "10", "*", "VALUE:10", "" ], [ "5", "Retinoblastoma", "00680", "Retinoblastoma", "30", "*", "VALUE:30", "" ], [ "5", "Retinoblastoma", "00680", "Retinoblastoma", "50", "*", "VALUE:50", "" ], [ "5", "Retinoblastoma", "00680", "Retinoblastoma", "70", "*", "VALUE:70", "" ], [ "5", "Retinoblastoma", "*", "Any", "99", "*", "VALUE:99", "All EOD M = 99 must be DCO; some Ped M = 99 may be from other causes" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "00421", "Soft Tissue Abdomen & Thoracic", "10", "*", "VALUE:10", "" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "00421", "Soft Tissue Abdomen & Thoracic", "70", "*", "VALUE:70", "" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "00600", "Kidney Parenchyma", "10", "*", "VALUE:10", "" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "00600", "Kidney Parenchyma", "70", "*", "VALUE:70", "" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "*", "Any", "99", "*", "VALUE:99", "All EOD M = 99 must be DCO; some Ped M = 99 may be from other causes" ], [ "7a", "Hepatoblastoma", "00421", "Soft Tissue Abdomen & Thoracic", "10", "*", "VALUE:30", "" ], [ "7a", "Hepatoblastoma", "*", "Any", "99", "*", "VALUE:99", "All EOD M = 99 must be DCO; some Ped M = 99 may be from other causes" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00381, 00382, 00383", "Bone", "10", "*", "VALUE:10", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00381, 00382, 00383", "Bone", "30", "*", "VALUE:30", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00381, 00382, 00383", "Bone", "50", "*", "VALUE:50", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00381, 00382, 00383", "Bone", "70", "*", "VALUE:70", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00450", "Soft Tissue Rare", "10", "*", "VALUE:30", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00459", "Soft Tissue Other", "10", "*", "VALUE:30", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "*", "Any", "99", "*", "VALUE:99", "All EOD M = 99 must be DCO; some Ped M = 99 may be from other causes" ], [ "9a", "Rhabdomyosarcoma", "00381, 00382, 00383", "Bone", "30", "*", "VALUE:10", "" ], [ "9a", "Rhabdomyosarcoma", "00381, 00382, 00383", "Bone", "10, 50, 70", "*", "VALUE:70", "" ], [ "9a", "Rhabdomyosarcoma", "00400, 00410, 00421, 00450, 00459", "Soft Tissues ", "10", "*", "VALUE:10", "" ], [ "9a", "Rhabdomyosarcoma", "00400, 00410, 00421, 00450, 00459", "Soft Tissues ", "70", "*", "VALUE:70", "" ], [ "9a", "Rhabdomyosarcoma", "00422", "Heart, Mediastium & Pleura", "10", "*", "VALUE:10", "" ], [ "9a", "Rhabdomyosarcoma", "00422", "Heart, Mediastium & Pleura", "70", "*", "VALUE:70", "" ], [ "9a", "Rhabdomyosarcoma", "00440", "Retroperitoneum", "10", "*", "VALUE:10", "" ], [ "9a", "Rhabdomyosarcoma", "00440", "Retroperitoneum", "70", "*", "VALUE:70", "" ], [ "9a", "Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "10", "*", "VALUE:10", "" ], [ "9a", "Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "70", "*", "VALUE:70", "" ], [ "9a", "Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "10", "*", "VALUE:10", "" ], [ "9a", "Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "70", "*", "VALUE:70", "" ], [ "9a", "Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "10", "*", "VALUE:10", "" ], [ "9a", "Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "70", "*", "VALUE:70", "" ], [ "9a", "Rhabdomyosarcoma", "09721", "Brain V9", "10", "*", "VALUE:10", "" ], [ "9a", "Rhabdomyosarcoma", "09721", "Brain V9", "70", "*", "VALUE:70", "" ], [ "9a", "Rhabdomyosarcoma", "00972", "CNS Other V9", "10", "*", "VALUE:10", "" ], [ "9a", "Rhabdomyosarcoma", "00972", "CNS Other V9", "70", "*", "VALUE:70", "" ], [ "9a", "Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "10", "*", "VALUE:10", "" ], [ "9a", "Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "70", "*", "VALUE:70", "" ], [ "9a", "Rhabdomyosarcoma", "*", "Any", "99", "*", "VALUE:99", "All EOD M = 99 must be DCO; some Ped M = 99 may be from other causes" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00071", "Lip", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00072", "Tongue Anterior", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00073", "Gum", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00074", "Floor of Mouth", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00075", "Palate Hard", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00076", "Buccal Mucosa", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00077", "Mouth Other", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00082", "Major Salivary Gland", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00121", "Maxillary Sinus", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00122", "Nasal Cavity and Ethmoid Sinus", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00150", "Cutaneous Carcinoma of Head & Neck", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "30", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00382", "Bone Spine", "30", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00383", "Bone Pelvis", "30", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00422", "Heart, Mediastium & Pleura", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00440", "Retroperitoneum", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00459", "Soft Tissue Other", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00478", "Skin Other", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00480", "Breast", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00551", "Ovary", "30", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00552", "Primary Peritoneal Carcinoma", "30", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00553", "Fallopian Tube", "30", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00690", "Lacrimal Gland", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00699", "Lacrimal Sac", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09721", "Brain V9", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09722", "CNS Other V9", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "10", "*", "VALUE:10", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00071", "Lip", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00072", "Tongue Anterior", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00073", "Gum", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00074", "Floor of Mouth", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00075", "Palate Hard", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00076", "Buccal Mucosa", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00077", "Mouth Other", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00082", "Major Salivary Gland", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00121", "Maxillary Sinus", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00122", "Nasal Cavity and Ethmoid Sinus", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00150", "Cutaneous Carcinoma of Head & Neck", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "10, 50, 70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00382", "Bone Spine", "10, 50, 70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00383", "Bone Pelvis", "10, 50, 70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00422", "Heart, Mediastium & Pleura", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00440", "Retroperitoneum", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00459", "Soft Tissue Other", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00478", "Skin Other", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00480", "Breast", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00551", "Ovary", "10, 50, 70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00552", "Primary Peritoneal Carcinoma", "10, 50, 70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00553", "Fallopian Tube", "10, 50, 70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00690", "Lacrimal Gland", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00699", "Lacrimal Sac", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09721", "Brain V9", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09722", "CNS Other V9", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "70", "*", "VALUE:70", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "*", "Any", "99", "*", "VALUE:99", "All EOD M = 99 must be DCO; some Ped M = 99 may be from other causes" ], [ "10c1", "Testicular", "00590", "Testis", "10", "*", "VALUE:10", "" ], [ "10c1", "Testicular", "00590", "Testis", "30", "*", "VALUE:10", "" ], [ "10c1", "Testicular", "00590", "Testis", "50", "*", "VALUE:50", "" ], [ "10c1", "Testicular", "00590", "Testis", "60", "*", "VALUE:60", "" ], [ "10c1", "Testicular", "00590", "Testis", "70", "*", "VALUE:70", "" ], [ "10c1", "Testicular", "00421", "Soft Tissue Abdomen & Thoracic", "10", "*", "VALUE:10", "" ], [ "10c1", "Testicular", "*", "Any", "99", "*", "VALUE:99", "All EOD M = 99 must be DCO; some Ped M = 99 may be from other causes" ], [ "10c2", "Ovarian", "00551", "Ovary", "10", "*", "VALUE:10", "" ], [ "10c2", "Ovarian", "00551", "Ovary", "30", "*", "VALUE:30", "" ], [ "10c2", "Ovarian", "00551", "Ovary", "50", "*", "VALUE:50", "" ], [ "10c2", "Ovarian", "00551", "Ovary", "70", "*", "VALUE:70", "" ], [ "10c2", "Ovarian", "*", "Any", "99", "*", "VALUE:99", "All EOD M = 99 must be DCO; some Ped M = 99 may be from other causes" ], [ "XX", "Adult/Other Non-Pediatric", "*", "Any", "*", "*", "VALUE:", "" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_primary_tumor.json b/src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_primary_tumor.json deleted file mode 100644 index b0ad5992a..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_primary_tumor.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "id" : "conversion_to_pediatric_primary_tumor", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Conversion to Pediatric Primary Tumor", - "title" : "Conversion to Pediatric Primary Tumor", - "notes" : "Conversion going from EOD 2018 to Pediatric for Pediatric Primary Tumor field", - "last_modified" : "2025-05-02T15:35:14.819Z", - "definition" : [ { - "key" : "pediatric_id", - "name" : "Pediatric Schema ID", - "type" : "INPUT" - }, { - "key" : "ped_name", - "name" : "Pediatric Schema Name", - "type" : "DESCRIPTION" - }, { - "key" : "naaccr_schema_id", - "name" : "EOD Schema ID", - "type" : "INPUT" - }, { - "key" : "eod_name", - "name" : "EOD Schema Name", - "type" : "DESCRIPTION" - }, { - "key" : "eod_primary_tumor", - "name" : "EOD Primary Tumor", - "type" : "INPUT" - }, { - "key" : "eod_regional_nodes", - "name" : "EOD Regional Nodes", - "type" : "INPUT" - }, { - "key" : "eod_mets", - "name" : "EOD Mets", - "type" : "INPUT" - }, { - "key" : "ped_primary_tumor", - "name" : "Pediatric Primary Tumor", - "type" : "ENDPOINT" - }, { - "key" : "comments", - "name" : "Comments", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1a1", "Acute Lymphoblastic Leukemia", "*", "Any", "*", "*", "*", "VALUE:888", "" ], [ "2a", "Hodgkin Lymphoma", "00790", "Lymphoma ", "100", "*", "*", "VALUE:100", "" ], [ "2a", "Hodgkin Lymphoma", "00790", "Lymphoma ", "200", "*", "*", "VALUE:200", "" ], [ "2a", "Hodgkin Lymphoma", "00790", "Lymphoma ", "300", "*", "*", "VALUE:300", "" ], [ "2a", "Hodgkin Lymphoma", "00790", "Lymphoma ", "400", "*", "*", "VALUE:400", "" ], [ "2a", "Hodgkin Lymphoma", "00790", "Lymphoma ", "575", "*", "*", "VALUE:575", "" ], [ "2a", "Hodgkin Lymphoma", "00790", "Lymphoma ", "600", "*", "*", "VALUE:600", "" ], [ "2a", "Hodgkin Lymphoma", "00790", "Lymphoma ", "700", "*", "*", "VALUE:700", "" ], [ "2a", "Hodgkin Lymphoma", "00790", "Lymphoma ", "750", "*", "*", "VALUE:750", "" ], [ "2a", "Hodgkin Lymphoma", "00790", "Lymphoma ", "800", "*", "*", "VALUE:800", "" ], [ "2a", "Hodgkin Lymphoma", "00790", "Lymphoma ", "999", "*", "*", "VALUE:999", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00710", "Lymphoma Ocular Adnexa", "700", "*", "*", "VALUE:800", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00710", "Lymphoma Ocular Adnexa", "*", "*", "10-70", "VALUE:800", "If Mets at DX Liver = 1 and all other Mets at DX = 0, Pediatric Primary Tumor => 600" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00710", "Lymphoma Ocular Adnexa", "100-400", "000, 999", "00, 99", "VALUE:100", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00710", "Lymphoma Ocular Adnexa", "100-400", "300-500, 800", "00, 99", "VALUE:300", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00710", "Lymphoma Ocular Adnexa", "100-400", "600,700,750", "00, 99", "VALUE:500", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00710", "Lymphoma Ocular Adnexa", "800, 999", "000, 999", "00, 99", "VALUE:999", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00710", "Lymphoma Ocular Adnexa", "800, 999", "300-500, 800", "00, 99", "VALUE:300", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00710", "Lymphoma Ocular Adnexa", "800, 999", "600,700,750", "00, 99", "VALUE:500", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00790", "Lymphoma ", "800", "*", "*", "VALUE:800", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00795", "Lymphoma CLL/SLL", "800", "*", "*", "VALUE:800", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00790", "Lymphoma ", "999", "*", "*", "VALUE:999", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00795", "Lymphoma CLL/SLL", "999", "*", "*", "VALUE:999", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00812", "Primary Cutaneous Lymphoma", "*", "*", "10-70", "VALUE:800", "If Mets at DX Liver = 1 and all other Mets at DX = 0, Pediatric Primary Tumor => 600" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00812", "Primary Cutaneous Lymphoma", "100", "000, 999", "00, 99", "VALUE:100", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00812", "Primary Cutaneous Lymphoma", "100", "300-800", "00, 99", "VALUE:500", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00812", "Primary Cutaneous Lymphoma", "200, 700", "*", "00, 99", "VALUE:300", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00812", "Primary Cutaneous Lymphoma", "400, 500, 600", "*", "00, 99", "VALUE:500", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00812", "Primary Cutaneous Lymphoma", "800, 999", "000, 999", "00, 99", "VALUE:999", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00812", "Primary Cutaneous Lymphoma", "800, 999", "300-800", "00, 99", "VALUE:500", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00821", "Plasma Cell Myeloma", "700", "*", "88", "VALUE:888", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00822", "Plasma Cell Disorder", "100, 200, 700", "*", "88", "VALUE:888", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "09721", "Brain V9", "100, 500, 700", "*", "00, 99", "VALUE:800", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "09721", "Brain V9", "800, 999", "*", "00, 99", "VALUE:800", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "09721", "Brain V9", "*", "*", "10, 70", "VALUE:800", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "09722", "CNS Other V9", "100, 500, 700", "*", "00, 99", "VALUE:800", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "09722", "CNS Other V9", "800, 999", "*", "00, 99", "VALUE:800", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "09722", "CNS Other V9", "*", "*", "10, 70", "VALUE:800", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "09723", "Intracranial Gland V9", "100, 200, 700", "*", "00, 99", "VALUE:100", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "09723", "Intracranial Gland V9", "800, 999", "*", "00, 99", "VALUE:999", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "09723", "Intracranial Gland V9", "*", "*", "10, 70", "VALUE:800", "If Mets at DX Liver = 1 and all other Mets at DX = 0, Pediatric Primary Tumor => 600" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "00830", "HemeRetic", "*", "*", "*", "VALUE:800", "" ], [ "3a", "Ependymoma", "09721", "Brain V9", "050", "*", "*", "VALUE:050", "" ], [ "3a", "Ependymoma", "09721", "Brain V9", "100", "*", "*", "VALUE:150", "" ], [ "3a", "Ependymoma", "09721", "Brain V9", "800", "*", "*", "VALUE:800", "" ], [ "3a", "Ependymoma", "09721", "Brain V9", "999", "*", "*", "VALUE:999", "" ], [ "3a", "Ependymoma", "09722", "CNS Other V9", "050", "*", "*", "VALUE:050", "" ], [ "3a", "Ependymoma", "09722", "CNS Other V9", "100", "*", "*", "VALUE:150", "" ], [ "3a", "Ependymoma", "09722", "CNS Other V9", "800", "*", "*", "VALUE:800", "" ], [ "3a", "Ependymoma", "09722", "CNS Other V9", "999", "*", "*", "VALUE:999", "" ], [ "3b", "Astrocytoma", "09721", "Brain V9", "050", "*", "*", "VALUE:050", "" ], [ "3b", "Astrocytoma", "09721", "Brain V9", "100", "*", "*", "VALUE:100", "" ], [ "3b", "Astrocytoma", "09721", "Brain V9", "500", "*", "*", "VALUE:500", "" ], [ "3b", "Astrocytoma", "09721", "Brain V9", "700", "*", "*", "VALUE:700", "" ], [ "3b", "Astrocytoma", "09721", "Brain V9", "800", "*", "*", "VALUE:800", "" ], [ "3b", "Astrocytoma", "09721", "Brain V9", "999", "*", "*", "VALUE:999", "" ], [ "3b", "Astrocytoma", "09722", "CNS Other V9", "050", "*", "*", "VALUE:050", "" ], [ "3b", "Astrocytoma", "09722", "CNS Other V9", "100", "*", "*", "VALUE:200", "" ], [ "3b", "Astrocytoma", "09722", "CNS Other V9", "500", "*", "*", "VALUE:600", "" ], [ "3b", "Astrocytoma", "09722", "CNS Other V9", "700", "*", "*", "VALUE:750", "" ], [ "3b", "Astrocytoma", "09722", "CNS Other V9", "800", "*", "*", "VALUE:800", "" ], [ "3b", "Astrocytoma", "09722", "CNS Other V9", "999", "*", "*", "VALUE:999", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "09724", "Medulloblastoma", "050", "*", "*", "VALUE:050", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "09724", "Medulloblastoma", "150", "*", "*", "VALUE:150", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "09724", "Medulloblastoma", "250", "*", "*", "VALUE:250", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "09724", "Medulloblastoma", "800", "*", "*", "VALUE:800", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "09724", "Medulloblastoma", "999", "*", "*", "VALUE:999", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "00700", "Orbital Sarcoma", "100", "*", "*", "VALUE:150", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "00700", "Orbital Sarcoma", "300, 400, 700", "*", "*", "VALUE:999", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "00700", "Orbital Sarcoma", "800", "*", "*", "VALUE:800", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "00700", "Orbital Sarcoma", "999", "*", "*", "VALUE:999", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "09721", "Brain V9", "050", "*", "*", "VALUE:050", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "09721", "Brain V9", "100", "*", "*", "VALUE:150", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "09721", "Brain V9", "800", "*", "*", "VALUE:800", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "09721", "Brain V9", "999", "*", "*", "VALUE:999", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "09722", "CNS Other V9", "050", "*", "*", "VALUE:050", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "09722", "CNS Other V9", "100", "*", "*", "VALUE:150", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "09722", "CNS Other V9", "800", "*", "*", "VALUE:800", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "09722", "CNS Other V9", "999", "*", "*", "VALUE:999", "" ], [ "4a", "Neuroblastoma", "00381", "Bone Appendicular Skeleton", "500", "*", "*", "VALUE:700", "" ], [ "4a", "Neuroblastoma", "00382", "Bone Spine", "750", "*", "*", "VALUE:700", "" ], [ "4a", "Neuroblastoma", "00383", "Bone Pelvis", "750", "*", "*", "VALUE:700", "" ], [ "4a", "Neuroblastoma", "00400", "Soft Tissue Head & Neck", "600", "*", "*", "VALUE:700", "" ], [ "4a", "Neuroblastoma", "00410", "Soft Tissue Trunk & Extremities", "700", "*", "*", "VALUE:700", "" ], [ "4a", "Neuroblastoma", "00421", "Soft Tissue Abdomen & Thoracic", "750", "*", "*", "VALUE:700", "" ], [ "4a", "Neuroblastoma", "00422", "Heart, Mediastium & Pleura", "750", "*", "*", "VALUE:700", "" ], [ "4a", "Neuroblastoma", "00440", "Retroperitoneum", "700", "*", "*", "VALUE:700", "" ], [ "4a", "Neuroblastoma", "00459", "Soft Tissue Other", "700", "*", "*", "VALUE:700", "" ], [ "4a", "Neuroblastoma", "00528", "Cervix Sarcoma", "750", "*", "*", "VALUE:700", "" ], [ "4a", "Neuroblastoma", "00541", "Corpus Sarcoma", "750", "*", "*", "VALUE:700", "" ], [ "4a", "Neuroblastoma", "00700", "Orbital Sarcoma", "700", "*", "*", "VALUE:700", "" ], [ "4a", "Neuroblastoma", "09721", "Brain V9", "700", "*", "*", "VALUE:700", "" ], [ "4a", "Neuroblastoma", "00972", "CNS Other V9", "700", "*", "*", "VALUE:700", "" ], [ "4a", "Neuroblastoma", "09723", "Intracranial Gland V9", "700", "*", "*", "VALUE:700", "" ], [ "4a", "Neuroblastoma", "*", "Any", "800", "*", "*", "VALUE:800", "" ], [ "4a", "Neuroblastoma", "*", "Any", "999", "*", "*", "VALUE:999", "" ], [ "5", "Retinoblastoma", "00680", "Retinoblastoma", "100-200, 250", "*", "*", "VALUE:100", "" ], [ "5", "Retinoblastoma", "00680", "Retinoblastoma", "225, 275, 300", "*", "*", "VALUE:200", "" ], [ "5", "Retinoblastoma", "00680", "Retinoblastoma", "325-550", "*", "*", "VALUE:300", "" ], [ "5", "Retinoblastoma", "00680", "Retinoblastoma", "600-750", "*", "*", "VALUE:400", "" ], [ "5", "Retinoblastoma", "00680", "Retinoblastoma", "800", "*", "*", "VALUE:800", "" ], [ "5", "Retinoblastoma", "00680", "Retinoblastoma", "999", "*", "*", "VALUE:999", "" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "00421", "Soft Tissue Abdomen & Thoracic", "800", "*", "*", "VALUE:800", "" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "00421", "Soft Tissue Abdomen & Thoracic", "999", "*", "*", "VALUE:999", "" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "00600", "Kidney Parenchyma", "800", "*", "*", "VALUE:800", "" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "00600", "Kidney Parenchyma", "999", "*", "*", "VALUE:999", "" ], [ "7a", "Hepatoblastoma", "00421", "Soft Tissue Abdomen & Thoracic", "800", "*", "*", "VALUE:800", "" ], [ "7a", "Hepatoblastoma", "00421", "Soft Tissue Abdomen & Thoracic", "999", "*", "*", "VALUE:999", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00381", "Bone Appendicular Skeleton", "100", "*", "*", "VALUE:100", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00381", "Bone Appendicular Skeleton", "200", "*", "*", "VALUE:200", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00381", "Bone Appendicular Skeleton", "300, 500", "*", "*", "VALUE:500", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00381", "Bone Appendicular Skeleton", "800", "*", "*", "VALUE:800", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00381", "Bone Appendicular Skeleton", "999", "*", "*", "VALUE:999", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00382", "Bone Spine", "100-450", "*", "*", "VALUE:100", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00382", "Bone Spine", "500, 650, 750", "*", "*", "VALUE:200", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00382", "Bone Spine", "700", "*", "*", "VALUE:500", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00382", "Bone Spine", "800", "*", "*", "VALUE:800", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00382", "Bone Spine", "999", "*", "*", "VALUE:999", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00383", "Bone Pelvis", "100, 300, 500, 600", "*", "*", "VALUE:100", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00383", "Bone Pelvis", "200, 400, 550", "*", "*", "VALUE:200", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00383", "Bone Pelvis", "650, 700, 750", "*", "*", "VALUE:500", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00383", "Bone Pelvis", "800", "*", "*", "VALUE:800", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00383", "Bone Pelvis", "999", "*", "*", "VALUE:999", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00450", "Soft Tissue Rare", "100", "*", "*", "VALUE:100", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00450", "Soft Tissue Rare", "200", "*", "*", "VALUE:200", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00450", "Soft Tissue Rare", "700", "*", "*", "VALUE:500", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00450", "Soft Tissue Rare", "800", "*", "*", "VALUE:800", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00450", "Soft Tissue Rare", "999", "*", "*", "VALUE:999", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00459", "Soft Tissue Other", "100", "*", "*", "VALUE:100", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00459", "Soft Tissue Other", "200", "*", "*", "VALUE:200", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00459", "Soft Tissue Other", "700", "*", "*", "VALUE:500", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00459", "Soft Tissue Other", "800", "*", "*", "VALUE:800", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00459", "Soft Tissue Other", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "100", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "200", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "300,500", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00382", "Bone Spine", "100-450", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "00382", "Bone Spine", "500-650, 750", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "00382", "Bone Spine", "700", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "00382", "Bone Spine", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00382", "Bone Spine", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00383", "Bone Pelvis", "100, 300, 500, 600", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "00383", "Bone Pelvis", "200, 400, 550", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "00383", "Bone Pelvis", "650-750", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "00383", "Bone Pelvis", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00383", "Bone Pelvis", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "100", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "200, 700", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "500, 600", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "100", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "200", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "700", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "100", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "200-700", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "750", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00422", "Heart, Mediastinum & Pleura", "100", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "00422", "Heart, Mediastinum & Pleura", "200-700", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "00422", "Heart, Mediastinum & Pleura", "750", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "00422", "Heart, Mediastinum & Pleura", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00422", "Heart, Mediastinum & Pleura", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00440", "Retroperitoneum", "100", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "00440", "Retroperitoneum", "200", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "00440", "Retroperitoneum", "700", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "00440", "Retroperitoneum", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00440", "Retroperitoneum", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "100", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "200", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "700", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00459", "Soft Tissue Other", "100", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "00459", "Soft Tissue Other", "200", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "00459", "Soft Tissue Other", "700", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "00459", "Soft Tissue Other", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00459", "Soft Tissue Other", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "100", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "200-500, 700", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "550-650, 750", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "100", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "200-500, 700", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "550-650, 750", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "100", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "300-400", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "700", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "09721", "Brain V9", "100", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "09721", "Brain V9", "500", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "09721", "Brain V9", "700", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "09721", "Brain V9", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "09721", "Brain V9", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00972", "CNS Other V9", "100", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "00972", "CNS Other V9", "500", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "00972", "CNS Other V9", "700", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "00972", "CNS Other V9", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00972", "CNS Other V9", "999", "*", "*", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "100", "*", "*", "VALUE:100", "" ], [ "9a", "Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "200", "*", "*", "VALUE:200", "" ], [ "9a", "Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "700", "*", "*", "VALUE:700", "" ], [ "9a", "Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "800", "*", "*", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00071", "Lip", "100-200", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00071", "Lip", "300-550, 650", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00071", "Lip", "600, 700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00071", "Lip", "999", "*", "*", "VALUE:999", "EOD PT 800 does not exist" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00072", "Tongue Anterior", "100-200", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00072", "Tongue Anterior", "300-600", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00072", "Tongue Anterior", "650, 700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00072", "Tongue Anterior", "999", "*", "*", "VALUE:999", "EOD PT 800 does not exist" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00073", "Gum", "100-200", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00073", "Gum", "300-600", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00073", "Gum", "650, 700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00073", "Gum", "999", "*", "*", "VALUE:999", "EOD PT 800 does not exist" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00074", "Floor of Mouth", "100-200, 550", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00074", "Floor of Mouth", "300-500, 600", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00074", "Floor of Mouth", "650, 700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00074", "Floor of Mouth", "999", "*", "*", "VALUE:999", "EOD PT 800 does not exist" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00075", "Palate Hard", "100-200", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00075", "Palate Hard", "300-600", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00075", "Palate Hard", "700, 750", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00075", "Palate Hard", "999", "*", "*", "VALUE:999", "EOD PT 800 does not exist" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00076", "Buccal Mucosa", "100-200", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00076", "Buccal Mucosa", "300-500", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00076", "Buccal Mucosa", "600, 700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00076", "Buccal Mucosa", "999", "*", "*", "VALUE:999", "EOD PT 800 does not exist" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00077", "Mouth Other", "100-200", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00077", "Mouth Other", "300-500", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00077", "Mouth Other", "600, 700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00077", "Mouth Other", "999", "*", "*", "VALUE:999", "EOD PT 800 does not exist" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00082", "Major Salivary Gland", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00082", "Major Salivary Gland", "200-300, 400, 600", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00082", "Major Salivary Gland", "350, 500, 700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00082", "Major Salivary Gland", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00082", "Major Salivary Gland", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00121", "Maxillary Sinus", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00121", "Maxillary Sinus", "200-600", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00121", "Maxillary Sinus", "700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00121", "Maxillary Sinus", "999", "*", "*", "VALUE:999", "EOD PT 800 does not exist" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00122", "Nasal Cavity and Ethmoid Sinus", "100, 175", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00122", "Nasal Cavity and Ethmoid Sinus", "150, 200-300, 500, 600", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00122", "Nasal Cavity and Ethmoid Sinus", "400, 550, 700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00122", "Nasal Cavity and Ethmoid Sinus", "999", "*", "*", "VALUE:999", "EOD PT 800 does not exist" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00150", "Cutaneous Carcinoma of Head & Neck", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00150", "Cutaneous Carcinoma of Head & Neck", "300-600", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00150", "Cutaneous Carcinoma of Head & Neck", "700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00150", "Cutaneous Carcinoma of Head & Neck", "999", "*", "*", "VALUE:999", "EOD PT 800 does not exist" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "200", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "300, 500", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00382", "Bone Spine", "100-450", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00382", "Bone Spine", "500-650, 750", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00382", "Bone Spine", "700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00382", "Bone Spine", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00382", "Bone Spine", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00383", "Bone Pelvis", "100, 300, 500, 600", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00383", "Bone Pelvis", "200, 400, 550", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00383", "Bone Pelvis", "650-750", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00383", "Bone Pelvis", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00383", "Bone Pelvis", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "200, 700", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "500, 600", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "200", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "200-700", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "750", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00422", "Heart, Mediastium & Pleura", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00422", "Heart, Mediastium & Pleura", "200-700", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00422", "Heart, Mediastium & Pleura", "750", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00422", "Heart, Mediastium & Pleura", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00422", "Heart, Mediastium & Pleura", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00440", "Retroperitoneum", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00440", "Retroperitoneum", "200", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00440", "Retroperitoneum", "700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00440", "Retroperitoneum", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00440", "Retroperitoneum", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "200", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00459", "Soft Tissue Other", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00459", "Soft Tissue Other", "200", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00459", "Soft Tissue Other", "700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00459", "Soft Tissue Other", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00459", "Soft Tissue Other", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00478", "Skin Other", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00478", "Skin Other", "200", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00478", "Skin Other", "700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00478", "Skin Other", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00478", "Skin Other", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00480", "Breast", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00480", "Breast", "200-700", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00480", "Breast", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00480", "Breast", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "200-500, 700", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "550-650, 750", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "200-500, 700", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "550-650, 750", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00551", "Ovary", "100-200, 350", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00551", "Ovary", "250, 300, 400-500", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00551", "Ovary", "600-750", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00551", "Ovary", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00551", "Ovary", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00552", "Primary Peritoneal Carcinoma", "300", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00552", "Primary Peritoneal Carcinoma", "400, 450", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00552", "Primary Peritoneal Carcinoma", "600-750", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00552", "Primary Peritoneal Carcinoma", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00552", "Primary Peritoneal Carcinoma", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00553", "Fallopian Tube", "100-150, 350", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00553", "Fallopian Tube", "250, 300, 400-500", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00553", "Fallopian Tube", "600-750", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00553", "Fallopian Tube", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00553", "Fallopian Tube", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00690", "Lacrimal Gland", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00690", "Lacrimal Gland", "200-300", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00690", "Lacrimal Gland", "700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00690", "Lacrimal Gland", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00690", "Lacrimal Gland", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00699", "Lacrimal Sac", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00699", "Lacrimal Sac", "200", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00699", "Lacrimal Sac", "700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00699", "Lacrimal Sac", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00699", "Lacrimal Sac", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "300-400", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09721", "Brain V9", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09721", "Brain V9", "500", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09721", "Brain V9", "700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09721", "Brain V9", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09721", "Brain V9", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09722", "CNS Other V9", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09722", "CNS Other V9", "500", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09722", "CNS Other V9", "700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09722", "CNS Other V9", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09722", "CNS Other V9", "999", "*", "*", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "100", "*", "*", "VALUE:100", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "200", "*", "*", "VALUE:200", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "700", "*", "*", "VALUE:700", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "800", "*", "*", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "999", "*", "*", "VALUE:999", "" ], [ "10c1", "Testicular", "00590", "Testis", "100, 150, 200", "*", "*", "VALUE:200", "" ], [ "10c1", "Testicular", "00590", "Testis", "300", "*", "*", "VALUE:350", "" ], [ "10c1", "Testicular", "00590", "Testis", "500", "*", "*", "VALUE:500", "" ], [ "10c1", "Testicular", "00590", "Testis", "600", "*", "*", "VALUE:600", "" ], [ "10c1", "Testicular", "00590", "Testis", "700", "*", "*", "VALUE:700", "" ], [ "10c1", "Testicular", "00590", "Testis", "800", "*", "*", "VALUE:800", "" ], [ "10c1", "Testicular", "00590", "Testis", "999", "*", "*", "VALUE:999", "" ], [ "10c1", "Testicular", "00421", "Soft Tissue Abdomen & Thoracic", "100", "*", "*", "VALUE:200", "" ], [ "10c1", "Testicular", "00421", "Soft Tissue Abdomen & Thoracic", "750", "*", "*", "VALUE:700", "" ], [ "10c1", "Testicular", "00421", "Soft Tissue Abdomen & Thoracic", "800", "*", "*", "VALUE:800", "" ], [ "10c1", "Testicular", "00421", "Soft Tissue Abdomen & Thoracic", "999", "*", "*", "VALUE:999", "" ], [ "10c2", "Ovarian", "00551", "Ovary", "100, 150, 200, 350", "*", "*", "VALUE:100", "" ], [ "10c2", "Ovarian", "00551", "Ovary", "250, 300", "*", "*", "VALUE:200", "" ], [ "10c2", "Ovarian", "00551", "Ovary", "400, 450, 500", "*", "*", "VALUE:300", "" ], [ "10c2", "Ovarian", "00551", "Ovary", "600, 650, 700, 750", "*", "*", "VALUE:400", "" ], [ "10c2", "Ovarian", "00551", "Ovary", "800", "*", "*", "VALUE:800", "" ], [ "10c2", "Ovarian", "00551", "Ovary", "999", "*", "*", "VALUE:999", "" ], [ "10c2", "Ovarian", "00459", "Soft Tissue Other", "100", "*", "*", "VALUE:100", "" ], [ "10c2", "Ovarian", "00459", "Soft Tissue Other", "800", "*", "*", "VALUE:800", "" ], [ "10c2", "Ovarian", "00459", "Soft Tissue Other", "999", "*", "*", "VALUE:999", "" ], [ "XX", "Adult/Other Non-Pediatric", "*", "Any", "*", "*", "*", "VALUE:", "" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_regional_nodes.json b/src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_regional_nodes.json deleted file mode 100644 index 067e27a96..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/conversion_to_pediatric_regional_nodes.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "id" : "conversion_to_pediatric_regional_nodes", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Conversion to Pediatric Regional Nodes", - "title" : "Conversion to Pediatric Regional Nodes", - "notes" : "Conversion going from EOD 2018 to Pediatric for Pediatric Regional Nodes field", - "last_modified" : "2024-07-22T18:01:58.488Z", - "definition" : [ { - "key" : "pediatric_id", - "name" : "Pediatric Schema ID", - "type" : "INPUT" - }, { - "key" : "ped_name", - "name" : "Pediatric Schema Name", - "type" : "DESCRIPTION" - }, { - "key" : "naaccr_schema_id", - "name" : "EOD Schema ID", - "type" : "INPUT" - }, { - "key" : "eod_name", - "name" : "EOD Schema Name", - "type" : "DESCRIPTION" - }, { - "key" : "eod_regional_nodes", - "name" : "EOD Regional Nodes", - "type" : "INPUT" - }, { - "key" : "ped_regional_nodes", - "name" : "Pediatric Regional Nodes", - "type" : "ENDPOINT" - }, { - "key" : "comments", - "name" : "Comments", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1a1", "Acute Lymphoblastic Leukemia", "*", "Any", "*", "VALUE:888", "" ], [ "2a", "Hodgkin Lymphoma", "*", "Any", "*", "VALUE:888", "" ], [ "2b2, 2b3, 2b4, 2c", "NHL", "*", "Any", "*", "VALUE:888", "" ], [ "3a", "Ependymoma", "*", "Any", "*", "VALUE:888", "" ], [ "3b", "Astrocytoma", "*", "Any", "*", "VALUE:888", "" ], [ "3c1, 3c2, 3c3, 3c4, 3e3", "Medulloblastomas", "*", "Any", "*", "VALUE:888", "" ], [ "4a", "Neuroblastoma", "00381", "Bone Appendicular Skeleton", "000", "VALUE:000", "" ], [ "4a", "Neuroblastoma", "00381", "Bone Appendicular Skeleton", "999", "VALUE:999", "" ], [ "4a", "Neuroblastoma", "00382", "Bone Spine", "000", "VALUE:000", "" ], [ "4a", "Neuroblastoma", "00382", "Bone Spine", "999", "VALUE:999", "" ], [ "4a", "Neuroblastoma", "00383", "Bone Pelvis", "000", "VALUE:000", "" ], [ "4a", "Neuroblastoma", "00383", "Bone Pelvis", "999", "VALUE:999", "" ], [ "4a", "Neuroblastoma", "00400", "Soft Tissue Head & Neck", "000", "VALUE:000", "" ], [ "4a", "Neuroblastoma", "00400", "Soft Tissue Head & Neck", "999", "VALUE:999", "" ], [ "4a", "Neuroblastoma", "00410", "Soft Tissue Trunk & Extremities", "000", "VALUE:000", "" ], [ "4a", "Neuroblastoma", "00410", "Soft Tissue Trunk & Extremities", "999", "VALUE:999", "" ], [ "4a", "Neuroblastoma", "00421", "Soft Tissue Abdomen & Thoracic", "000", "VALUE:000", "" ], [ "4a", "Neuroblastoma", "00421", "Soft Tissue Abdomen & Thoracic", "999", "VALUE:999", "" ], [ "4a", "Neuroblastoma", "00422", "Heart, Mediastium & Pleura", "000", "VALUE:000", "" ], [ "4a", "Neuroblastoma", "00422", "Heart, Mediastium & Pleura", "999", "VALUE:999", "" ], [ "4a", "Neuroblastoma", "00440", "Retroperitoneum", "000", "VALUE:000", "" ], [ "4a", "Neuroblastoma", "00440", "Retroperitoneum", "999", "VALUE:999", "" ], [ "4a", "Neuroblastoma", "00459", "Soft Tissue Other", "000", "VALUE:000", "" ], [ "4a", "Neuroblastoma", "00459", "Soft Tissue Other", "999", "VALUE:999", "" ], [ "4a", "Neuroblastoma", "00528", "Cervix Sarcoma", "000, 050", "VALUE:000", "" ], [ "4a", "Neuroblastoma", "00528", "Cervix Sarcoma", "999", "VALUE:999", "" ], [ "4a", "Neuroblastoma", "00541", "Corpus Sarcoma", "000, 050", "VALUE:000", "" ], [ "4a", "Neuroblastoma", "00541", "Corpus Sarcoma", "999", "VALUE:999", "" ], [ "4a", "Neuroblastoma", "00700", "Orbital Sarcoma", "000", "VALUE:000", "" ], [ "4a", "Neuroblastoma", "00700", "Orbital Sarcoma", "999", "VALUE:999", "" ], [ "4a", "Neuroblastoma", "09721", "Brain V9", "*", "VALUE:888", "" ], [ "4a", "Neuroblastoma", "00972", "CNS Other V9", "*", "VALUE:888", "" ], [ "4a", "Neuroblastoma", "09723", "Intracranial Gland V9", "*", "VALUE:888", "" ], [ "5", "Retinoblastoma", "00680", "Retinoblastoma", "000", "VALUE:000", "" ], [ "5", "Retinoblastoma", "00680", "Retinoblastoma", "300", "VALUE:300", "" ], [ "5", "Retinoblastoma", "00680", "Retinoblastoma", "800", "VALUE:800", "" ], [ "5", "Retinoblastoma", "00680", "Retinoblastoma", "999", "VALUE:999", "" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "00421", "Soft Tissue Abdomen & Thoracic", "000", "VALUE:000", "" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "00421", "Soft Tissue Abdomen & Thoracic", "800", "VALUE:300", "" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "00421", "Soft Tissue Abdomen & Thoracic", "999", "VALUE:999", "" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "00600", "Kidney Parenchyma", "000", "VALUE:000", "" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "00600", "Kidney Parenchyma", "300", "VALUE:300", "" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "00600", "Kidney Parenchyma", "800", "VALUE:800", "" ], [ "6a1, 6a2, 6a3, 6a4, 6c", "Renal Tumors", "00600", "Kidney Parenchyma", "999", "VALUE:999", "" ], [ "7a", "Hepatoblastoma", "00421", "Soft Tissue Abdomen & Thoracic", "000", "VALUE:000", "" ], [ "7a", "Hepatoblastoma", "00421", "Soft Tissue Abdomen & Thoracic", "999", "VALUE:999", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00381, 00382, 00383", "Bone", "000", "VALUE:000", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00381, 00382, 00383", "Bone", "800", "VALUE:800", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00381, 00382, 00383", "Bone", "999", "VALUE:999", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00450", "Soft Tissue Rare", "000", "VALUE:000", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00450", "Soft Tissue Rare", "800", "VALUE:800", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00450", "Soft Tissue Rare", "999", "VALUE:999", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00459", "Soft Tissue Other", "000", "VALUE:000", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00459", "Soft Tissue Other", "800", "VALUE:800", "" ], [ "8a, 8b, 8c, 8d, 8e", "Malignant Bone Tumors", "00459", "Soft Tissue Other", "999", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "000", "VALUE:000", "" ], [ "9a", "Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "100-800", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "999", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00382", "Bone Spine", "000", "VALUE:000", "" ], [ "9a", "Rhabdomyosarcoma", "00382", "Bone Spine", "100-800", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00382", "Bone Spine", "999", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00383", "Bone Pelvis", "000", "VALUE:000", "" ], [ "9a", "Rhabdomyosarcoma", "00383", "Bone Pelvis", "100-800", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00383", "Bone Pelvis", "999", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "000", "VALUE:000", "" ], [ "9a", "Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "100-800", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "999", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "000", "VALUE:000", "" ], [ "9a", "Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "100-800", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "999", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "000", "VALUE:000", "" ], [ "9a", "Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "100-800", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "999", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00422", "Heart, Mediastinum & Pleura", "000", "VALUE:000", "" ], [ "9a", "Rhabdomyosarcoma", "00422", "Heart, Mediastinum & Pleura", "100-800", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00422", "Heart, Mediastinum & Pleura", "999", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00440", "Retroperitoneum", "000", "VALUE:000", "" ], [ "9a", "Rhabdomyosarcoma", "00440", "Retroperitoneum", "100-800", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00440", "Retroperitoneum", "999", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "000", "VALUE:000", "" ], [ "9a", "Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "100-800", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "999", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00459", "Soft Tissue Other", "000", "VALUE:000", "" ], [ "9a", "Rhabdomyosarcoma", "00459", "Soft Tissue Other", "100-800", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00459", "Soft Tissue Other", "999", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "000, 050", "VALUE:000", "" ], [ "9a", "Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "100-800", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "999", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "000, 050", "VALUE:000", "" ], [ "9a", "Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "100-800", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "999", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "000", "VALUE:000", "" ], [ "9a", "Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "100-800", "VALUE:800", "" ], [ "9a", "Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "999", "VALUE:999", "" ], [ "9a", "Rhabdomyosarcoma", "09721", "Brain V9", "*", "VALUE:888", "" ], [ "9a", "Rhabdomyosarcoma", "00972", "CNS Other V9", "*", "VALUE:888", "" ], [ "9a", "Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "*", "VALUE:888", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00071", "Lip", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00071", "Lip", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00071", "Lip", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00072", "Tongue Anterior", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00072", "Tongue Anterior", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00072", "Tongue Anterior", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00073", "Gum", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00073", "Gum", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00073", "Gum", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00074", "Floor of Mouth", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00074", "Floor of Mouth", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00074", "Floor of Mouth", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00075", "Palate Hard", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00075", "Palate Hard", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00075", "Palate Hard", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00076", "Buccal Mucosa", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00076", "Buccal Mucosa", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00076", "Buccal Mucosa", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00077", "Mouth Other", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00077", "Mouth Other", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00077", "Mouth Other", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00082", "Major Salivary Gland", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00082", "Major Salivary Gland", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00082", "Major Salivary Gland", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00121", "Maxillary Sinus", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00121", "Maxillary Sinus", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00121", "Maxillary Sinus", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00122", "Nasal Cavity and Ethmoid Sinus", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00122", "Nasal Cavity and Ethmoid Sinus", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00122", "Nasal Cavity and Ethmoid Sinus", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00150", "Cutaneous Carcinoma of Head & Neck", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00150", "Cutaneous Carcinoma of Head & Neck", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00150", "Cutaneous Carcinoma of Head & Neck", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00381", "Bone Appendicular Skeleton", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00382", "Bone Spine", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00382", "Bone Spine", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00382", "Bone Spine", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00383", "Bone Pelvis", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00383", "Bone Pelvis", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00383", "Bone Pelvis", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00400", "Soft Tissue Head & Neck", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00410", "Soft Tissue Trunk & Extremities", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00421", "Soft Tissue Abdomen & Thoracic", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00422", "Heart, Mediastium & Pleura", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00422", "Heart, Mediastium & Pleura", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00422", "Heart, Mediastium & Pleura", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00440", "Retroperitoneum", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00440", "Retroperitoneum", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00440", "Retroperitoneum", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00450", "Soft Tissue Rare", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00459", "Soft Tissue Other", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00459", "Soft Tissue Other", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00459", "Soft Tissue Other", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00478", "Skin Other", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00478", "Skin Other", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00478", "Skin Other", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00480", "Breast", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00480", "Breast", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00480", "Breast", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00528", "Cervix Sarcoma", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00541", "Corpus Sarcoma", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00551", "Ovary", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00551", "Ovary", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00551", "Ovary", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00552", "Primary Peritoneal Carcinoma", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00552", "Primary Peritoneal Carcinoma", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00552", "Primary Peritoneal Carcinoma", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00553", "Fallopian Tube", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00553", "Fallopian Tube", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00553", "Fallopian Tube", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00690", "Lacrimal Gland", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00690", "Lacrimal Gland", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00690", "Lacrimal Gland", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00699", "Lacrimal Sac", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00699", "Lacrimal Sac", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00699", "Lacrimal Sac", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "000", "VALUE:000", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "100-800", "VALUE:800", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "00700", "Orbital Sarcoma", "999", "VALUE:999", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09721", "Brain V9", "*", "VALUE:888", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09722", "CNS Other V9", "*", "VALUE:888", "" ], [ "9b, 9d, 9e", "Non-Rhabdomyosarcoma", "09723", "Intracranial Gland V9", "*", "VALUE:888", "" ], [ "10c1", "Testicular", "00590", "Testis", "000", "VALUE:000", "" ], [ "10c1", "Testicular", "00590", "Testis", "100", "VALUE:100", "" ], [ "10c1", "Testicular", "00590", "Testis", "200", "VALUE:200", "" ], [ "10c1", "Testicular", "00590", "Testis", "300", "VALUE:300", "" ], [ "10c1", "Testicular", "00590", "Testis", "400", "VALUE:400", "" ], [ "10c1", "Testicular", "00590", "Testis", "500", "VALUE:500", "" ], [ "10c1", "Testicular", "00590", "Testis", "600", "VALUE:600", "" ], [ "10c1", "Testicular", "00590", "Testis", "800", "VALUE:800", "" ], [ "10c1", "Testicular", "00590", "Testis", "999", "VALUE:999", "" ], [ "10c1", "Testicular", "00421", "Soft Tissue Abdomen & Thoracic", "000", "VALUE:000", "" ], [ "10c1", "Testicular", "00421", "Soft Tissue Abdomen & Thoracic", "999", "VALUE:999", "" ], [ "10c2", "Ovarian", "00551", "Ovary", "000, 050", "VALUE:000", "" ], [ "10c2", "Ovarian", "00551", "Ovary", "300, 400, 500", "VALUE:300", "" ], [ "10c2", "Ovarian", "00551", "Ovary", "800", "VALUE:800", "" ], [ "10c2", "Ovarian", "00551", "Ovary", "999", "VALUE:999", "" ], [ "10c2", "Ovarian", "00459", "Soft Tissue Other", "000", "VALUE:000", "" ], [ "10c2", "Ovarian", "00459", "Soft Tissue Other", "800", "VALUE:800", "" ], [ "10c2", "Ovarian", "00459", "Soft Tissue Other", "999", "VALUE:999", "" ], [ "XX", "Adult/Other Non-Pediatric", "*", "Any", "*", "VALUE:", "" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/derived_summary_grade_47984.json b/src/test/resources/algorithms/pediatric/1.3/tables/derived_summary_grade_47984.json deleted file mode 100644 index a0eaecd32..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/derived_summary_grade_47984.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "id" : "derived_summary_grade_47984", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Derived Summary Grade", - "title" : "Derived Summary Grade", - "notes" : "For field validaiton only. Derived Summary Grade should be calculated elsewhere.", - "last_modified" : "2023-08-02T20:25:00.194Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Derived Summary Grade", - "type" : "INPUT" - } ], - "rows" : [ [ "1" ], [ "2" ], [ "3" ], [ "4" ], [ "5" ], [ "L" ], [ "M" ], [ "H" ], [ "S" ], [ "A" ], [ "B" ], [ "C" ], [ "D" ], [ "E" ], [ "9" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/ewsr1_fli1_fusion_57187.json b/src/test/resources/algorithms/pediatric/1.3/tables/ewsr1_fli1_fusion_57187.json deleted file mode 100644 index f74d3f482..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/ewsr1_fli1_fusion_57187.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ewsr1_fli1_fusion_57187", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "EWSR1-FLI1 Fusion", - "title" : "EWSR1-FLI1 Fusion", - "description" : "This data item documents rearrangement (fusion) in EWR1 genes. EWSR1-FLI1 fusion occurs in about 90% of Ewing Sarcomas and functions as both a pioneering transcription factor and potent oncogene.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2024+\n* For cases diagnosed 2018-2023, this SSDI must be blank\n\n**Note 2:** **Physician statement**\n* Physician statement of EWSR1-FLI1 fusion can be used to code this data item when no other information is available.", - "last_modified" : "2025-05-27T15:48:06.478Z", - "definition" : [ { - "key" : "ewsr1_fli1_fusion", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No gene arrangements (fusions) identified" ], [ "1", "EWSR1-FLI1 gene rearrangement (fusion) present" ], [ "2", "EWSR1-ERG gene rearrangement (fusion) present" ], [ "3", "Other EWSR1 gene rearrangement (fusion) present" ], [ "4", "EWSR1 rearrangement present, fusion partner not known " ], [ "5", "Non-EWSR1 variant translocation present" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nCannot be determined by pathologist\nEWSR1 gene arrangements not assessed or unknown if assessed" ], [ "", "N/A - Diagnosis year is prior to 2024" ] ], - "additional_info" : "**Source documents:** molecular pathology report (may be addendum to original pathology report)", - "rationale" : "This is part of the National Childhood Cancer Registry (NCCR) project to collect more specific information on pediatric patients. Registries part of the NCCR will start collection on specific pediatric data items with 2024+ diagnoses." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/foxo1_gene_rearrangements_72870.json b/src/test/resources/algorithms/pediatric/1.3/tables/foxo1_gene_rearrangements_72870.json deleted file mode 100644 index fc94240d3..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/foxo1_gene_rearrangements_72870.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "foxo1_gene_rearrangements_72870", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "FOXO1 Gene Rearrangements", - "title" : "FOXO1 Gene Rearrangements", - "subtitle" : "FKHR-PAX3 or FKHR-PAX7", - "description" : "FOXO1 gene rearrangement fusions are found to be positive in about 85% of alveolar rhabdomyosarcoma patients, while they are generally negative for embryonal rhabdomyosarcomas. The presence of these fusions indicates a poor prognosis. Identifying these fusions will also provide new therapeutic opportunities for the treatment of fusion positive rhabdomyosarcomas (FP-RMS).", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2024+\n* For cases diagnosed 2018-2023, this SSDI must be blank\n\n**Note 2:** **Physician statement**\n* Physician statement of FOXO1 gene rearrangements can be used to code this data item when no other information is available.\n\n**Note 3:** **Applicable histologies**\n* FOXO1 may be recorded all sarcomas; however, it is primary done for Alveolar Rhabdomyosarcomas\n* Embryonal Rhabdomyosarcomas are usually negative, and therefore the test is usually not done. \n* Code 9 if information is not available", - "last_modified" : "2025-05-01T15:08:45.999Z", - "definition" : [ { - "key" : "foxo1_gene_rearrangements", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No gene rearrangements (fusions) identified" ], [ "1", "FOXO1-PAX3 gene rearrangement (fusion) present" ], [ "2", "FOXO1-PAX7 gene rearrangement (fusion) present" ], [ "3", "FOXO1-PAX3 and FOXO1-PAX7 gene rearrangements (fusions) present" ], [ "4", "FOXO1 gene rearrangement present, fusion partner not known" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nCannot be determined by pathologist\nFOXO1 gene rearrangement not assessed or unknown if assessed" ], [ "", "N/A - Diagnosis year is prior to 2024" ] ], - "additional_info" : "**Source documents:** molecular pathology report (may be addendum to original pathology report)\n\nFor further information, refer to the **Rhabdomyosarcoma** cancer protocol published by the College of American Pathologists.", - "rationale" : "This is part of the National Childhood Cancer Registry (NCCR) project to collect more specific information on pediatric patients, specifically for Rhabdomyosarcoma. Registries part of the NCCR will start collection on specific pediatric data items with 2024+ diagnoses." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/histology.json b/src/test/resources/algorithms/pediatric/1.3/tables/histology.json deleted file mode 100644 index cf6da97b0..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/histology.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "id" : "histology", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Histology", - "title" : "Valid ICD-O-3 Histology Codes", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2022-06-15T18:02:00.507Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8005" ], [ "8010-8015" ], [ "8020-8023" ], [ "8030-8035" ], [ "8040-8046" ], [ "8050-8054" ], [ "8060" ], [ "8070-8078" ], [ "8080-8086" ], [ "8090-8098" ], [ "8100-8104" ], [ "8110" ], [ "8120-8124" ], [ "8130-8131" ], [ "8140-8156" ], [ "8158" ], [ "8160-8163" ], [ "8170-8175" ], [ "8180" ], [ "8190-8191" ], [ "8200-8202" ], [ "8204" ], [ "8210-8215" ], [ "8220-8221" ], [ "8230-8231" ], [ "8240-8257" ], [ "8260-8265" ], [ "8270-8273" ], [ "8280-8281" ], [ "8290" ], [ "8300" ], [ "8310-8325" ], [ "8330-8337" ], [ "8339" ], [ "8340-8350" ], [ "8360-8361" ], [ "8370-8375" ], [ "8380-8384" ], [ "8390-8392" ], [ "8400-8410" ], [ "8413" ], [ "8420" ], [ "8430" ], [ "8440-8444" ], [ "8450-8455" ], [ "8460-8463" ], [ "8470-8473" ], [ "8474" ], [ "8480-8484" ], [ "8490" ], [ "8500-8510" ], [ "8512-8514" ], [ "8519" ], [ "8520-8525" ], [ "8530" ], [ "8540-8543" ], [ "8550-8552" ], [ "8560-8563" ], [ "8570-8576" ], [ "8580-8594" ], [ "8600-8602" ], [ "8610" ], [ "8620-8623" ], [ "8630-8634" ], [ "8640-8643" ], [ "8650" ], [ "8660" ], [ "8670-8671" ], [ "8680-8683" ], [ "8690-8693" ], [ "8700" ], [ "8710-8714" ], [ "8720-8723" ], [ "8725-8728" ], [ "8730" ], [ "8740-8746" ], [ "8750" ], [ "8760-8762" ], [ "8770-8774" ], [ "8780" ], [ "8790" ], [ "8800-8806" ], [ "8810-8818" ], [ "8820-8828" ], [ "8830-8836" ], [ "8840-8842" ], [ "8850-8859" ], [ "8860-8862" ], [ "8870" ], [ "8880-8881" ], [ "8890-8898" ], [ "8900-8905" ], [ "8910" ], [ "8912" ], [ "8920-8921" ], [ "8930-8936" ], [ "8940-8941" ], [ "8950-8951" ], [ "8959-8960" ], [ "8963-8965" ], [ "8966-8967" ], [ "8970-8976" ], [ "8980-8983" ], [ "8990-8992" ], [ "9000" ], [ "9010-9016" ], [ "9020" ], [ "9030" ], [ "9040-9045" ], [ "9050-9055" ], [ "9060-9065" ], [ "9070-9073" ], [ "9080-9086" ], [ "9090-9091" ], [ "9100-9105" ], [ "9110-9111" ], [ "9120-9126" ], [ "9130-9133" ], [ "9135-9138" ], [ "9140-9142" ], [ "9150" ], [ "9160-9161" ], [ "9170-9175" ], [ "9180-9187" ], [ "9191-9195" ], [ "9200" ], [ "9210-9213" ], [ "9220-9222" ], [ "9230-9231" ], [ "9240-9243" ], [ "9250-9252" ], [ "9260-9262" ], [ "9270-9275" ], [ "9280-9282" ], [ "9290" ], [ "9300-9302" ], [ "9310-9312" ], [ "9320-9322" ], [ "9330" ], [ "9340-9342" ], [ "9350-9352" ], [ "9360-9368" ], [ "9370-9373" ], [ "9380-9385" ], [ "9390-9396" ], [ "9400-9401" ], [ "9410-9413" ], [ "9420-9421" ], [ "9423-9425" ], [ "9430-9432" ], [ "9440-9442" ], [ "9444-9445" ], [ "9450-9451" ], [ "9460" ], [ "9470-9478" ], [ "9480" ], [ "9490-9493" ], [ "9500-9514" ], [ "9520-9523" ], [ "9530-9535" ], [ "9537-9542" ], [ "9550" ], [ "9560-9563" ], [ "9570-9571" ], [ "9580-9582" ], [ "9590-9591" ], [ "9596-9597" ], [ "9650-9653" ], [ "9655" ], [ "9659" ], [ "9663" ], [ "9671" ], [ "9673" ], [ "9678-9680" ], [ "9687-9691" ], [ "9695" ], [ "9698-9702" ], [ "9705" ], [ "9708-9709" ], [ "9712" ], [ "9714-9719" ], [ "9724-9727" ], [ "9731-9732" ], [ "9734-9735" ], [ "9737-9738" ], [ "9740-9742" ], [ "9749" ], [ "9751" ], [ "9755-9759" ], [ "9761-9762" ], [ "9765-9769" ], [ "9800-9801" ], [ "9806-9809" ], [ "9811-9820" ], [ "9823" ], [ "9826-9827" ], [ "9831-9834" ], [ "9837" ], [ "9840" ], [ "9860-9861" ], [ "9863" ], [ "9865-9867" ], [ "9869-9879" ], [ "9891" ], [ "9895-9898" ], [ "9910-9912" ], [ "9920" ], [ "9930-9931" ], [ "9940" ], [ "9945-9946" ], [ "9948" ], [ "9950" ], [ "9961-9968" ], [ "9970-9971" ], [ "9975" ], [ "9980" ], [ "9982-9983" ], [ "9985-9986" ], [ "9989" ], [ "9991-9993" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/ids.txt b/src/test/resources/algorithms/pediatric/1.3/tables/ids.txt deleted file mode 100644 index 0d6b504e1..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/ids.txt +++ /dev/null @@ -1,129 +0,0 @@ -age_at_diagnosis_validation_3881 -b_symptoms_95631 -behavior -braf_mutational_analysis_15216 -chromosome_16q_status_46566 -chromosome_1p_status_97190 -chromosome_1q_status_14467 -combined_s_category_15139 -conversion_to_pediatric_mets -conversion_to_pediatric_primary_tumor -conversion_to_pediatric_regional_nodes -derived_summary_grade_47984 -ewsr1_fli1_fusion_57187 -foxo1_gene_rearrangements_72870 -histology -inpc_21708 -intl_neuroblastoma_risk_grp_stag_sys_18504 -irss_stage_for_eye_2_95484 -n_myc_amplification_57417 -nodes_pos_fpa -pediatric_grade_46495 -pediatric_m_36063 -pediatric_m_79386 -pediatric_m_97287 -pediatric_mets_12638 -pediatric_mets_19048 -pediatric_mets_20116 -pediatric_mets_26722 -pediatric_mets_40773 -pediatric_mets_43643 -pediatric_mets_53483 -pediatric_mets_61257 -pediatric_mets_63579 -pediatric_mets_64617 -pediatric_mets_72113 -pediatric_mets_75175 -pediatric_mets_93634 -pediatric_mets_na_36656 -pediatric_n_19406 -pediatric_n_21296 -pediatric_n_84898 -pediatric_primary_tumor_1156 -pediatric_primary_tumor_14026 -pediatric_primary_tumor_1604 -pediatric_primary_tumor_20791 -pediatric_primary_tumor_21887 -pediatric_primary_tumor_25859 -pediatric_primary_tumor_36616 -pediatric_primary_tumor_39067 -pediatric_primary_tumor_47758 -pediatric_primary_tumor_48137 -pediatric_primary_tumor_57637 -pediatric_primary_tumor_73431 -pediatric_primary_tumor_7436 -pediatric_primary_tumor_84083 -pediatric_primary_tumor_92453 -pediatric_primary_tumor_na_1293 -pediatric_regional_nodes_20397 -pediatric_regional_nodes_24935 -pediatric_regional_nodes_26974 -pediatric_regional_nodes_30482 -pediatric_regional_nodes_32357 -pediatric_regional_nodes_42195 -pediatric_regional_nodes_591 -pediatric_regional_nodes_59828 -pediatric_regional_nodes_67911 -pediatric_regional_nodes_na_68667 -pediatric_stage_11224 -pediatric_stage_11413 -pediatric_stage_16688 -pediatric_stage_19429 -pediatric_stage_51275 -pediatric_stage_54754 -pediatric_stage_56655 -pediatric_stage_57755 -pediatric_stage_69576 -pediatric_stage_70937 -pediatric_stage_78332 -pediatric_stage_79275 -pediatric_stage_80420 -pediatric_stage_85957 -pediatric_stage_94654 -pediatric_t_59799 -pediatric_t_65327 -pediatric_t_75382 -pretext_clinical_staging_39169 -primary_site -rx_summ_surg_2023_retinoblastoma_97268 -rx_summ_surgical_margins_47287 -s_category_clinical_11368 -s_category_pathological_46197 -schema_selection_acute_lymphoblastic_leukemia -schema_selection_adult_other_non_pediatric -schema_selection_astrocytoma -schema_selection_ependymoma -schema_selection_hepatoblastoma -schema_selection_hodgkin_lymphoma -schema_selection_malignant_bone_tumors_chondrosarcomas -schema_selection_malignant_bone_tumors_ewing -schema_selection_malignant_bone_tumors_osteosarcoma -schema_selection_malignant_bone_tumors_other_specified -schema_selection_malignant_bone_tumors_unspecified -schema_selection_medulloblastoma -schema_selection_medulloblastoma_atypical_teratoid_rhabdoid -schema_selection_medulloblastoma_medulloepithelioma -schema_selection_medulloblastoma_pineoblastoma -schema_selection_medulloblastoma_pnet -schema_selection_neuroblastoma -schema_selection_nhl_burkitt_lymphoma -schema_selection_nhl_mature_b_cell_lymphomas -schema_selection_nhl_nos -schema_selection_nhl_t_cell_and_nk_cell_lymphomas -schema_selection_non_rhabdomyosarcoma_fibrosarcomas -schema_selection_non_rhabdomyosarcoma_other_specified -schema_selection_non_rhabdomyosarcoma_unspecified -schema_selection_ovarian -schema_selection_renal_tumors_ewing_sarcoma_of_kidney -schema_selection_renal_tumors_kidney_sarcomas -schema_selection_renal_tumors_nephroblastoma -schema_selection_renal_tumors_rhabdoid_renal_tumor -schema_selection_renal_tumors_unspecified_malignant_renal_tumors -schema_selection_retinoblastoma -schema_selection_rhabdomyosarcoma -schema_selection_testicular -toronto_stage_92889 -toronto_stage_group_41463 -tumor_size_summary_47973 -white_blood_cell_count_1932 -year_dx_validation diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/inpc_21708.json b/src/test/resources/algorithms/pediatric/1.3/tables/inpc_21708.json deleted file mode 100644 index ecaefcb19..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/inpc_21708.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "inpc_21708", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Intl Neuroblastoma Path Prog Class (INPC)", - "title" : "International Neuroblastoma Pathology Prognostic Classification (INPC)", - "subtitle" : "Shimada Classification, Unfavorable histology or Favorable histology", - "description" : "The International Neuroblastoma Pathology Prognostic Classification (INPC) categorizes neuroblastomas as favorable or unfavorable histologies based on the following factors: age, neuroblastic maturation, Schwannian stromal content, Mitosis-kayorrhexis index (MKI), and degree of differentiation (grade). \n\nThe International Neuroblastoma Pathology Prognostic Classification (INPC) (unfavorable versus favorable histology) is a biologically relevant classification based on morphologic features of neuroblastic tumors which has prognostic indications. It is based on the following criteria.\n* Age\n* Neuroblastic maturation\n* Schwannian stromal content\n* Mitosis-kayorrhexis index (MKI)\n* Degree of differentiation (grade)", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2024+\n* For cases diagnosed 2018-2023, this SSDI must be blank\n\n**Note 2:** **Physician statement**\n* Physician statement of unfavorable vs favorable histology can be used to code this data item when no other information is available, provided there is information that the results are from a biopsy or surgical resection without neoadjuvant therapy.\n\n**Note 3:** **Neoadjuvant Therapy**\n* The INPC results are to be coded based on either biopsy or surgical resection (without neoadjuvant therapy).\n* **Code 9** if the only results are from a post neoadjuvant surgical resection", - "footnotes" : "(1) American Society of Clinical Oncology © 2009, The International Neuroblastoma Risk Group (INRG) Classification System: AN INRG Task Force Report; published by American Society of Clinical Oncology, 2009", - "last_modified" : "2024-04-10T16:48:03.615Z", - "definition" : [ { - "key" : "inpc", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Unfavorable" ], [ "1", "Favorable" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error)" ], [ "9", "Not documented in medical record\nCannot be determined by pathologist\nInternational Neuroblastoma Pathology Prognostic Classification (INPC) not assessed or unknown if assessed\nINPC assessed only at post neoadjuvant surgical resection" ], [ "", "N/A - Diagnosis year is prior to 2024" ] ], - "additional_info" : "**Source documents:** pathology report\n\nFor further information, refer to the **Neuroblastoma** cancer protocol published by the College of American Pathologists.", - "rationale" : "This is part of the National Childhood Cancer Registry (NCCR) project to collect more specific information on pediatric patients. Registries part of the NCCR will start collection on specific pediatric data items with 2024+ diagnoses." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/intl_neuroblastoma_risk_grp_stag_sys_18504.json b/src/test/resources/algorithms/pediatric/1.3/tables/intl_neuroblastoma_risk_grp_stag_sys_18504.json deleted file mode 100644 index c93cb8e7d..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/intl_neuroblastoma_risk_grp_stag_sys_18504.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "intl_neuroblastoma_risk_grp_stag_sys_18504", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Intl Neuroblastoma Risk Grp Stag Sys (INRGSS)", - "title" : "International Neuroblastoma Risk Group Staging System (INRGSS)", - "description" : "International Neuroblastoma Risk Group Staging System (INRGSS) for Neuroblastoma is defined based on clinical work up and image-defined risk factors. \n\nThe INRGSS is a clinically based staging system and is able to be utilized for every single neuroblastoma tumor as it is based on the clinical work up and image-defined risk factors.\n* Primary source of information for this data item is imaging\n* Do not code any staging information from results of surgical resection in this data item\n\n*Note*: There is a different staging system available for patients who have surgery (International Neuroblastoma Staging System (INSS)) which is collected in Pediatric Primary Tumor, Pediatric Regional Nodes, and Pediatric Mets", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2024+\n* For cases diagnosed 2018-2023, this SSDI must be blank\n\n**Note 2:** **Image-Defined Risk Factors** \n* Image-Defined Risk Factors in Neuroblastic Tumors: Staging requires assessment of whether patients have none, or one or more of the image-defined risk factors (IDRF). These IDRF’s are based on imaging prior to any surgical resection or other treatment. \n * Ipsilateral tumor extension within two body compartments\n - Neck-chest, chest-abdomen, abdomen-pelvis\n\n* Neck\n - Tumor encasing carotid and/or vertebral artery and/or internal jugular vein\n - Tumor extending to base of skull\n - Tumor compressing the trachea\n* Cervico-thoracic junction\n - Tumor encasing brachial plexus roots\n - Tumor encasing subclavian vessels and/or vertebral and/or carotid artery\n - Tumor compressing the trachea\n* Thorax\n - Tumor encasing the aorta and/or major branches\n - Tumor compressing the trachea and/or principal bronchi\n - Lower mediastinal tumor, infiltrating the costovertebral junction between T9 and T12\n* Thoraco-abdominal\n - Tumor encasing the aorta and/or vena cava\n* Abdomen, pelvis \n - Tumor infiltrating the porta hepatis and/or the hepatoduodenal ligament\n - Tumor encasing branches of the superior mesenteric artery at the mesenteric root\n - Tumor encasing the origin of the coeliac axis, and/or of the superior mesenteric artery\n - Tumor invading one or both renal pedicles\n - Tumor encasing the aorta and/or vena cava\n - Tumor encasing the iliac vessels\n - Pelvic tumor crossing sciatic notch\n* Intraspinal tumor extension whatever the location provided that\n - More than one third of the spinal canal in the axial plane is invaded and/or the perimedullary leptomeningeal spaces are not visible and/or the spinal cord signal is abnormal \n* Infiltration of adjacent organs/structures\n - Pericardium, diaphragm, kidney, liver, duodeno-pancreatic block, and mesentery \n\n**Note 3:** **Ascites and pleural effusion** \n* Ascites and/or a pleural effusion, even with malignant cells, do not constitute metastatic disease unless they are remote from the body compartment of the primary tumor.\n\n**Note 4:** **Lymph node involvement** \n* Regional lymph node involvement does not factor into staging\n* **Code 3** for non-regional lymph node involvement (distant lymph nodes)", - "footnotes" : "(1) American Society of Clinical Oncology © 2009, The International Neuroblastoma Risk Group (INRG) Classification System: AN INRG Task Force Report; published by American Society of Clinical Oncology, 2009\n\n(2) Aitken JF, Youlden D, O’Neill L, Gupta S, Frazier AL, eds. Childhood cancer staging for population registries according to the Toronto Childhood Cancer Stage Guidelines – Version 2. Cancer Council Queensland and Cancer Australia: Brisbane, Australia; 2021.", - "last_modified" : "2024-04-10T16:47:37.395Z", - "definition" : [ { - "key" : "inrgss", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Stage L1\n* Localized tumor that does not involve any vital structures\n* Tumor confined within one body compartment (i.e., neck, chest, abdomen, or pelvis)\n* No evidence of image-defined risk factors (IDRF’s)\n* Intraspinal tumor extension that does not fulfil the criteria for an IDRF is consistent with stage (L1)" ], [ "2", "Stage L2 \n* Locoregional tumor with evidence of image-defined risk factors (IDRF’s)\n* Tumor ipsilaterally contiguous within body compartments (i.e., a left sided abdominal tumor with left-sided lung, bone or pleura involvement)\n - Non-contiguous disease would be coded as M (e.g. left sided abdominal tumor with right-sided lung, bone or pleura)" ], [ "3", "Stage M\n* Distant metastatic disease (see Stage MS for patients less than 18 months old)\n* Noncontiguous disease \n* Distant lymph node involvement" ], [ "4", "Stage MS\n* For patients less than 18 months only (547 days) metastatic disease confined to\n - Bone marrow\n + MIBG scintigraphy must be negative in bone and bone marrow\n - Skin\n - Liver" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error)" ], [ "9", "Not documented in medical record\nInternational Neuroblastoma Risk Group Staging System not assessed\n\nDeath certificate only" ], [ "", "N/A - Diagnosis year is prior to 2024" ] ], - "additional_info" : "**Source documents:** imaging\n\n**Other names include** INRG", - "rationale" : "This is part of the National Childhood Cancer Registry (NCCR) project to collect more specific information on pediatric patients. Registries part of the NCCR will start collection on specific pediatric data items with 2024+ diagnoses." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/irss_stage_for_eye_2_95484.json b/src/test/resources/algorithms/pediatric/1.3/tables/irss_stage_for_eye_2_95484.json deleted file mode 100644 index 7d45ea92b..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/irss_stage_for_eye_2_95484.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "irss_stage_for_eye_2_95484", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "IRSS Stage for Eye-2", - "title" : "IRSS Stage for Eye-2", - "description" : "Bilateral retinoblastoma is abstracted as a single primary regardless of timing, but there is no effective way to measure the different extent of diseases or stages for each eye beyond text. Currently, abstractors are required to enter the information of the most advanced eye in the staging data fields, losing all measurable data on the stage the less advanced eye.\nThis field allows the abstractor to enter the individual stages for each eye in cases of bilateral retinoblastoma at the time of diagnosis.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2024+\n* For cases diagnosed 2018-2023, this SSDI must be blank\n\n**Note 2:** **Bilateral retinoblastomas**\n* This data item records the stage of the second eye when there are bilateral retinoblastomas.\n * **Code 7** if only one eye is involved (unilateral retinoblastoma)\n * Extension of one eye (unilateral retinoblastoma) is coded in Pediatric Primary Tumor\n\n* If there are bilateral retinoblastomas, record the Stage Group of the lesser/lower stage in this data item (more advanced/higher stage is recorded in Pediatric Primary Tumor)\n * Do not record a stage (Stage 0-IV) in this data item if only one eye is involved", - "footnotes" : "(1) American Society of Clinical Oncology © 2009, The International Neuroblastoma Risk Group (INRG) Classification System: AN INRG Task Force Report; published by American Society of Clinical Oncology, 2009", - "last_modified" : "2024-04-19T13:40:55.320Z", - "definition" : [ { - "key" : "irss_stage_for_eye2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Stage 0\n* Tumor confined to the globe\n* Enucleation has not been performed\n* Patient treated conservatively with either focal therapies or chemotherapy" ], [ "1", "Stage I\n* Enucleation with negative margins (R0)\n* Completely resected histologically" ], [ "2", "Stage II\n* Enucleation with positive/microscopic residual tumor" ], [ "3", "Stage III\n* Regional extension, involvement of \n - Orbit\n - Preauricular extension\n - Cervical lymph node involvement" ], [ "4", "Stage IV\n* Distant metastatic disease" ], [ "7", "Not applicable: Only one eye is involved and staging collected in Pediatric Primary Tumor, Pediatric Regional Nodes and Pediatric Mets\n* Unilateral retinoblastoma" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error)" ], [ "9", "Not documented in medical record\nBilateral retinoblastoma and International Retinoblastoma Staging System (IRSS) not assessed or unknown if assessed" ], [ "", "NA - Diagnosis year is prior to 2024 " ] ], - "additional_info" : "**Source documents:** imaging, pathology report, clinician’s statement\n\nFor further information, refer to the **Retinoblastoma** cancer protocol published by the College of American Pathologists.", - "rationale" : "Even though staging information for only one retinoblastoma tumor can currently be captured in data form, abstractors are still required to put treatment information for bilaterally affected eyes into the treatment fields of the abstract. The ability to capture measurable staging data of the contralateral eye will provide substantiation of the treatment captured for both eyes in the abstract." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/n_myc_amplification_57417.json b/src/test/resources/algorithms/pediatric/1.3/tables/n_myc_amplification_57417.json deleted file mode 100644 index 3b2c106b0..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/n_myc_amplification_57417.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "n_myc_amplification_57417", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "n-MYC Amplification", - "title" : "n-MYC Amplification", - "description" : "n-MYC Amplification is a gene that normally regulates cell growth. Studies have shown that n-MYC amplification is an indicator of poor prognosis and increased risk of unfavorable outcomes in patients with neuroblastoma.\n\nThis field indicates the n-MYC status of a neuroblastoma tumor after a pathologic specimen is obtained.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2024+\n* For cases diagnosed 2018-2023, this SSDI must be blank\n\n**Note 2:** **Physician statement** \n* Physician statement of n-MYC can be used to code this data item when no other information is available.", - "footnotes" : "(1) American Society of Clinical Oncology © 2009, The International Neuroblastoma Risk Group (INRG) Classification System: AN INRG Task Force Report; published by American Society of Clinical Oncology, 2009", - "last_modified" : "2024-04-10T16:48:24.850Z", - "definition" : [ { - "key" : "n_myc_amplification", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Not amplified/negative" ], [ "1", "Amplified/positive" ], [ "2", "Gain" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error)" ], [ "9", "Not documented in medical record\nCannot be determined by pathologist\nNot applicable (secondary to previous chemotherapy)\nn-MYC not assessed or unknown if assessed" ], [ "", "N/A - Diagnosis year is prior to 2024" ] ], - "additional_info" : "**Source documents:** molecular pathology report (may be addendum to original pathology report)\n\nFor further information, refer to the **Neuroblastoma** cancer protocol published by the College of American Pathologists.", - "rationale" : "This is part of the National Childhood Cancer Registry (NCCR) project to collect more specific information on pediatric patients. Registries part of the NCCR will start collection on specific pediatric data items with 2024+ diagnoses." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/nodes_pos_fpa.json b/src/test/resources/algorithms/pediatric/1.3/tables/nodes_pos_fpa.json deleted file mode 100644 index 302f7d5ea..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/nodes_pos_fpa.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_fpa", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "notes" : "**Note:** Record this field even if there has been preoperative treatment.\n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2022-06-15T18:02:00.393Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All nodes examined negative" ], [ "01-89", "1 - 89 nodes positive (code exact number of nodes positive)" ], [ "90", "90 or more nodes positive" ], [ "95", "Positive aspiration or core biopsy of lymph node(s)" ], [ "97", "Positive nodes - number unspecified" ], [ "98", "No nodes examined" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in medical record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_grade_46495.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_grade_46495.json deleted file mode 100644 index cf322ce6d..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_grade_46495.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_grade_46495", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Grade", - "title" : "Pediatric Grade", - "description" : "Used for calculation", - "last_modified" : "2023-09-12T16:22:38.961Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Derived Summary Grade", - "type" : "INPUT" - }, { - "key" : "pediatric_grade", - "name" : "Collapsed Pediatric Grade", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "1,A,L", "VALUE:1" ], [ "2,B,M", "VALUE:2" ], [ "3,4,5,C,D,E,H,S", "VALUE:3" ], [ "9", "VALUE:X" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_36063.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_36063.json deleted file mode 100644 index 54cc3f2aa..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_36063.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pediatric_m_36063", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric M", - "title" : "Pediatric M", - "notes" : "calculates Pediatric M and Toronto M", - "last_modified" : "2023-10-30T19:36:50.955Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Ped Mets", - "type" : "INPUT" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "type" : "ENDPOINT" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "VALUE:M0", "VALUE:M0" ], [ "10,70", "VALUE:M1", "VALUE:M1" ], [ "99", "VALUE:MX", "VALUE:MX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_79386.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_79386.json deleted file mode 100644 index ba7536e6c..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_79386.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pediatric_m_79386", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric M", - "title" : "Pediatric M", - "notes" : "adding Toronto", - "last_modified" : "2023-10-30T20:07:36.991Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Ped Mets", - "type" : "INPUT" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "type" : "ENDPOINT" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "VALUE:M0", "VALUE:M0" ], [ "10,70", "VALUE:M1", "VALUE:M1" ], [ "99", "VALUE:MX", "VALUE:MX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_97287.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_97287.json deleted file mode 100644 index 3e00b2e9c..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_m_97287.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pediatric_m_97287", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric M", - "title" : "Pediatric M", - "notes" : "calculates Pediatric M and Toronto M", - "last_modified" : "2023-10-30T20:11:24.042Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Ped Mets", - "type" : "INPUT" - }, { - "key" : "pediatric_m", - "name" : "Derived Pediatric M", - "type" : "ENDPOINT" - }, { - "key" : "toronto_m", - "name" : "Toronto M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "VALUE:M0", "VALUE:M0" ], [ "10,30,50,60,70", "VALUE:M1", "VALUE:M1" ], [ "99", "VALUE:MX", "VALUE:MX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_12638.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_12638.json deleted file mode 100644 index a289b68df..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_12638.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_mets_12638", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Mets", - "title" : "Pediatric Mets", - "notes" : "**Note:** Use the following resources to determine if involved lymph nodes are distant or if involved organs are metastatic.\n* EOD: Review the primary site-based schema\n* Summary Stage: Review the primary site-based chapter", - "last_modified" : "2023-09-01T20:01:29.983Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No distant metastasis" ], [ "10", "Distant lymph node(s), NOS" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "99", "Unknown; distant metastasis not stated\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_19048.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_19048.json deleted file mode 100644 index e68794ceb..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_19048.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_mets_19048", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Mets", - "title" : "Pediatric Mets", - "notes" : "**Note:** The presence of mets can be based on imaging and/or microscopic evaluation.", - "last_modified" : "2023-09-06T14:36:38.079Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No distant metastasis" ], [ "10", "Distant lymph node(s), NOS" ], [ "70", "Extension to\n* Adrenal gland\n - Ipsilateral, noncontiguous\n - Contralateral\n* Contralateral kidney\n* Contralateral ureter\n* Liver\n* Spleen\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "99", "Unknown; distant metastasis not stated\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_20116.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_20116.json deleted file mode 100644 index 928f1701d..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_20116.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "pediatric_mets_20116", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Mets", - "title" : "Pediatric Mets", - "subtitle" : "M Category", - "notes" : "**Note 1:** Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases.\n* If there are specific metastasis documented that are not listed in codes 15, 25, or 35, or 45, assign code 45 for “other specified distant metastasis.”\n\n**Note 2:** Code 00 for benign (behavior /0) and borderline (behavior /1) tumors.\n\n**Note 3:** The following adjacent structures/sites, by direct or contiguous extension, are coded to 35. \n* Adjacent connective/soft tissue\n* Adjacent muscle\n* Bone\n* Circulating cells in cerebral spinal fluid (CSF)\n* Major blood vessel(s)\n* Meninges (e.g., dura)\n* Multiple/multifocal tumors\n* Nerves (cranial, NOS)\n* Ventricular system\n\n**Note 4:** Leptomeningeal metastases, also known as carcinomatous meningitis and meningeal carcinomatosis, refers to the spread of malignant cells through the CSF space. These cells can originate from primary CNS tumors (e.g., in the form of drop metastases), as well as from distant tumors that have metastasized via hematogenous spread (code 35).", - "footnotes" : "(1)\tAitken JF, Youlden D, O’Neill L, Gupta S, Frazier AL, eds. Childhood cancer staging for population registries according to the Toronto Childhood Cancer Stage Guidelines – Version 2. Cancer Council Queensland and Cancer Australia: Brisbane, Australia; 2021.", - "last_modified" : "2023-11-17T15:46:37.199Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No visible disease on imaging (MRI brain and spine) beyond primary site of disease \nAND no tumor cells into the cerebrospinal fluid (CSF)" ], [ "15", "Tumor cells in the CSF\n* Circulating cells in cerebral spinal fluid (CSF)" ], [ "25", "Intracranial spread beyond a single lesion\n\nAll sites\n* Bone (skull) (see code 45 for other bone involvement)\n* Major blood vessel(s)\n* Meninges (e.g., dura)\n* Multiple/multifocal tumors\n* Nerves (cranial, NOS)\n* Tumor invades or encroaches upon ventricular system\n\nBrain tumors (C700, C710-C719)\n* Anterior cranial fossa\n* Brain stem\n* Cerebellum\n* Cerebrum (cerebral hemisphere)\n* Contralateral hemisphere\n* Hypothalamus\n* Middle cranial fossa\n* Pallium\n* Posterior cranial fossa\n* Suprasellar brain\n* Tapetum\n* Thalamus\n\nCNS tumors (C701, C709, C720-C729)\n* Adjacent connective tissue\n* Adjacent muscle\n* Brain for cranial nerve tumor(s)\n* Sphenoid and frontal sinuses(skull)\n\nPineal Gland (C753)\n* Adjacent connective/soft tissue\n* Cavernous sinus\n* Infratentorial and central brain" ], [ "35", "Visible metastasis in spine OR\nVisible metastasis in cervicomedullary (junction)\n\nMetastasis within CNS and CSF pathways\n* Carcinomatous meningitis\n* Drop metastasis\n* Leptomeningeal metastases\n* Meningeal carcinomatosis" ], [ "45", "Extra-neural metastasis\n\nAll Sites\n* Blood\n* Bone (other than skull) (see code 25 for skull)\n* Bone marrow\n* Carcinomatosis\n* Distant lymph nodes, NOS\n* Further contiguous extension\n* Other specified metastasis\n\nBrain tumors (C700, C710-C719)\n* Nasal cavity\n* Nasopharynx\n* Other direct extension outside CNS\n* Posterior pharynx\n\nCNS tumors (C701, C709, C720-729)\n* Eye" ], [ "70", "Distant metastasis, NOS" ], [ "99", "Unknown; distant metastasis not stated\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_26722.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_26722.json deleted file mode 100644 index d51752a63..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_26722.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_mets_26722", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Mets", - "title" : "Pediatric Mets", - "notes" : "**Note:** Code 50 does not include \"trilateral retinoblastomas.\" The presence of \"trilateral retinoblastomas\" is coded in the data item Heritable Trait. [NAACCR Data Item #3856]", - "last_modified" : "2023-09-27T13:18:55.178Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No distant metastasis" ], [ "10", "Distant lymph node(s), NOS" ], [ "30", "Distant metastasis to any organ EXCEPT CNS\n\nCarcinomatosis\n\nCode 10 + 30" ], [ "50", "CNS parenchyma\nCerebrospinal fluid\n\nAny combination of codes 10, 30 and 50" ], [ "70", "Distant metastasis, NOS" ], [ "99", "Unknown; distant metastasis not stated\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_40773.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_40773.json deleted file mode 100644 index 6efc7c313..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_40773.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_mets_40773", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Mets", - "title" : "Pediatric Mets", - "notes" : "**Note:** This field includes the involvement of adjacent structures to the liver.", - "last_modified" : "2023-11-13T17:48:29.502Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No distant metastasis" ], [ "10", "Diaphragm\nExtrahepatic bile duct(s)\nExtrahepatic blood vessel(s)\n* Hepatic artery\n* Portal vein\n* Vena cava\n\nGallbladder\n\nLigament(s)\n* Coronary\n* Falciform\n* Hepatoduodenal\n* Hepatogastric\n* Round (of liver)\n* Triangular\n\nOmentum (lesser and NOS) (see code 20 for greater omentum)\nPeritoneum, NOS\n* Parietal\n* Visceral" ], [ "20", "Greater omentum (see code 10 for lesser omentum and omentum, NOS)\nPancreas\nPleura\nStomach\n\nFurther contiguous extension" ], [ "30", "Distant lymph node(s)\n* Aortic (para-aortic, periaortic)\n* Cardiac\n* Coronary artery\n* Diaphragmatic, NOS\n* Lateral (aortic) (lumbar)\n* Pericardial (pericardiac)\n* Peripancreatic (near head of pancreas only)\n* Posterior mediastinal (tracheoesophageal) including juxtaphrenic nodes\n* Renal artery\n* Retroperitoneal, NOS\n\nDistant lymph node(s), NOS" ], [ "40", "Lungs" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nOther specified metastasis\n\nDistant metastasis, NOS" ], [ "99", "Unknown; distant metastasis not stated\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_43643.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_43643.json deleted file mode 100644 index 4caddc5cd..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_43643.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "pediatric_mets_43643", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Mets", - "title" : "Pediatric Mets", - "subtitle" : "M Category", - "notes" : "**Note 1:** Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases.\n* If there are specific metastasis documented that are not listed in codes 15, 25, or 35, or 45, assign code 45 for “other specified distant metastasis.”\n\n**Note 2:** Code 00 for benign (behavior /0) and borderline (behavior /1) tumors.\n\n**Note 3:** The following adjacent sites, by direct or contiguous extension, are coded to 35. \n* Adjacent connective/soft tissue\n* Adjacent muscle\n* Bone\n* Circulating cells in cerebral spinal fluid (CSF)\n* Major blood vessel(s)\n* Meninges (e.g.; dura)\n* Multiple/multifocal tumors\n* Nerves (cranial, NOS)\n* Ventricular system\n\n**Note 4:** Leptomeningeal metastases, also known as carcinomatous meningitis and meningeal carcinomatosis, refers to the spread of malignant cells through the CSF space. These cells can originate from primary CNS tumors (e.g., in the form of drop metastases), as well as from distant tumors that have metastasized via hematogenous spread (code 35).", - "footnotes" : "(1)\tAitken JF, Youlden D, O’Neill L, Gupta S, Frazier AL, eds. Childhood cancer staging for population registries according to the Toronto Childhood Cancer Stage Guidelines – Version 2. Cancer Council Queensland and Cancer Australia: Brisbane, Australia; 2021.", - "last_modified" : "2023-11-17T13:58:37.744Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No visible disease on imaging (MRI brain and spine) beyond primary site of disease \nAND no tumor cells into the cerebrospinal fluid (CSF)" ], [ "15", "Tumor cells in the CSF\n* Circulating cells in cerebral spinal fluid (CSF)" ], [ "25", "Intracranial spread beyond a single lesion\n\nAll sites\n* Bone (skull) (see code 45 for other bone involvement)\n* Major blood vessel(s)\n* Meninges (e.g., dura)\n* Multiple/multifocal tumors\n* Nerves (cranial, NOS)\n* Tumor invades or encroaches upon ventricular system\n\nBrain tumors (C700, C710-C719)\n* Anterior cranial fossa\n* Brain stem\n* Cerebellum\n* Cerebrum (cerebral hemisphere)\n* Contralateral hemisphere\n* Hypothalamus\n* Middle cranial fossa\n* Pallium\n* Posterior cranial fossa\n* Suprasellar brain\n* Tapetum\n* Thalamus\n\nCNS tumors (C701, C709, C720-C729)\n* Adjacent connective tissue\n* Adjacent muscle\n* Brain for cranial nerve tumor(s)\n* Sphenoid and frontal sinuses(skull)\n\nPineal Gland (C753)\n* Adjacent connective/soft tissue\n* Cavernous sinus\n* Infratentorial and central brain" ], [ "35", "Visible metastasis in spine OR\nVisible metastasis in cervicomedullary (junction)\n\nMetastasis within CNS and CSF pathways\n* Carcinomatous meningitis\n* Drop metastasis\n* Leptomeningeal metastases\n* Meningeal carcinomatosis" ], [ "45", "Extra-neural metastasis\n\nAll Sites\n* Blood\n* Bone (other than skull) (see code 25 for skull)\n* Bone marrow\n* Carcinomatosis\n* Distant lymph nodes, NOS\n* Further contiguous extension\n* Other specified metastasis\n\nBrain tumors (C700, C710-C719)\n* Nasal cavity\n* Nasopharynx\n* Other direct extension outside CNS\n* Posterior pharynx\n\nCNS tumors (C701, C709, C720-729)\n* Eye" ], [ "70", "Distant metastasis, NOS" ], [ "99", "Unknown; distant metastasis not stated\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_53483.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_53483.json deleted file mode 100644 index 7ec5d0357..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_53483.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "pediatric_mets_53483", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Mets", - "title" : "Pediatric Mets", - "last_modified" : "2023-09-01T20:29:20.218Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No distant metastasis" ], [ "10", "Pleural effusion with positive cytology\n\nFIGO Stage IVA" ], [ "30", "Distant lymph node(s)\n* Inguinal, NOS\n - Inguinofemoral (groin)\n - Node of Cloquet or Rosenmuller (highest deep inguinal)\n - Superficial inguinal (femoral)\n* Distant lymph node(s)\n\nWITH or WITHOUT pleural effusion with positive cytology" ], [ "50", "Extra-abdominal organs\n\nLiver parenchymal\nSpleen parenchymal\nTransmural involvement of intestine\n\nCarcinomatosis (involvement of multiple parenchymal organs OR\ndiffuse involvement of multiple non-abdominal organs)\n* Excludes peritoneal carcinomatosis (see Pediatric Primary Tumor)\n\nWITH or WITHOUT distant lymph node(s) OR pleural effusion with positive cytology\n\nFIGO Stage IVB" ], [ "70", "Distant metastasis, NOS\n\nFIGO Stage IV [NOS]" ], [ "99", "Unknown; distant metastasis not stated\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_61257.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_61257.json deleted file mode 100644 index 79e97befa..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_61257.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_mets_61257", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Mets", - "title" : "Pediatric Mets", - "notes" : "**Note:** Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases.\n* If there are specific metastasis documented that are not listed in codes 10, 30, or 50, assign code 50 for “other specified distant metastasis.”", - "last_modified" : "2023-09-01T19:38:40.694Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No distant metastasis" ], [ "10", "Lung" ], [ "30", "Distant lymph node(s), NOS\n\nWITH or WITHOUT lung metastasis" ], [ "50", "Bone (other than primary site)\n\nOther specified distant metastasis\n\nWITH or WITHOUT distant lymph nodes or lung metastasis\n\nCarcinomatosis" ], [ "70", "Distant metastasis, NOS" ], [ "99", "Unknown; distant metastasis not stated\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_63579.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_63579.json deleted file mode 100644 index 2f951b0fd..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_63579.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_mets_63579", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Mets", - "title" : "Pediatric Mets", - "notes" : "**Note:** Use the following resources to determine if involved lymph nodes are distant or if involved organs are metastatic.\n* EOD: Review the primary site-based schema\n* Summary Stage: Review the primary site-based chapter", - "last_modified" : "2023-11-17T17:11:45.034Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No distant metastasis" ], [ "10", "Distant lymph node(s), NOS" ], [ "20", "Skin\nWITH or WITHOUT distant lymph nodes" ], [ "30", "Liver \nWITH or WITHOUT distant lymph nodes or skin" ], [ "40", "Bone marrow\nWITH or WITHOUT distant lymph nodes, skin, or liver" ], [ "50", "Bone\nWITH or WITHOUT distant lymph nodes, skin, liver, bone marrow" ], [ "70", "Other specified metastasis excluding skin, liver, bone marrow, bone\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "99", "Unknown; distant metastasis not stated\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_64617.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_64617.json deleted file mode 100644 index 6b458bae0..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_64617.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_mets_64617", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Mets", - "title" : "Pediatric Mets", - "notes" : "**Note:** Use the following resources to determine if involved lymph nodes are distant or if involved organs are metastatic.\n* EOD: Review the primary site-based schema\n* Summary Stage: Review the primary site-based chapter", - "last_modified" : "2023-09-01T19:46:31.890Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No distant metastasis" ], [ "10", "Distant lymph node(s), NOS" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "99", "Unknown; distant metastasis not stated\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_72113.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_72113.json deleted file mode 100644 index bb3fbbac7..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_72113.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "pediatric_mets_72113", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Mets", - "title" : "Pediatric Mets", - "notes" : "**Note 1:** Code 00 for benign (behavior /0) and borderline (behavior /1) tumors.\n\n**Note 2:** Leptomeningeal metastases, also known as carcinomatous meningitis and meningeal carcinomatosis, refers to the spread of malignant cells through the CSF space. These cells can originate from primary CNS tumors (e.g., in the form of drop metastases), as well as from distant tumors that have metastasized via hematogenous spread (code 70).", - "footnotes" : "(1)\tAitken JF, Youlden D, O’Neill L, Gupta S, Frazier AL, eds. Childhood cancer staging for population registries according to the Toronto Childhood Cancer Stage Guidelines – Version 2. Cancer Council Queensland and Cancer Australia: Brisbane, Australia; 2021.", - "last_modified" : "2023-11-17T13:23:51.622Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No distant metastasis" ], [ "10", "Distant lymph node(s)" ], [ "70", "Metastasis within CNS and CSF pathways\n* Carcinomatous meningitis\n* Drop metastasis\n* Leptomeningeal metastases\n* Meningeal carcinomatosis\n\nMetastasis outside the CNS\nExtra-neural metastasis\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "99", "Unknown; distant metastasis not stated\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_75175.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_75175.json deleted file mode 100644 index 556c552c7..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_75175.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "pediatric_mets_75175", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Mets", - "title" : "Pediatric Mets", - "subtitle" : "CNS Involvement", - "notes" : "**Note 1:** This field records the clinically or cytologically confirmed involvement of the Central Nervous System at diagnosis or during the initial workup of Acute Lymphoblastic Leukemia (ALL) in pediatric patients. CNS involvement at diagnosis or at relapse is a significant cause of treatment failure and treatment-related morbidity.\n* Use the following resources to find information on CNS involvement: imaging, laboratory reports, CSF lactate dehydrogenase (LD, LDH) test\n\n**Note 2:** Physician statement of CNS Involvement can be used to code this data item. \n\n**Note 3:** Criteria for CNS Involvement\n* Clinical signs of CNS involvement\n * Radiologic evidence of intracranial, intradural mass\n * Cranial nerve palsy (e.g. facial weakness, ptosis), brain/eye involvement or hypothalamic syndrome\n * **Note:** Extra-ocular orbital masses, severe headaches and eye swelling (in the absence of signs of cranial nerve involvement) are **not** sufficient to constitute clinical evidence of CNS involvement\n* The presence of blasts in the cerebrospinal fluid (CSF)\n * Cytospin is required to determine the presence or absence of blasts in the CSF. \n * If Cytospin is not documented, then the presence of blasts cannot be determined. CNS involvement would be unknown (code 9) unless there are clinical statements of CNS Involvement **OR the physician documents a stage**\n * If Cytospin is documented and there is no mention of blasts, code blasts as absent\n * If blasts are referred to as “occasional” or “seen” or similar wording, code blasts as present\n* Red and white blood cell counts from the cerebrospinal fluid (RBC CSF and WBC CSF) \n * Lumbar punctures are the most common way to collect this information\n * If RBC <1/µL (or RBC <1/mm3) in CSF, record as RBC = 0\n * If WBC <1/µL (or WBC <1/mm3) in CSF, record as WBC = 0", - "footnotes" : "(1) Aitken JF, Youlden D, O’Neill L, Gupta S, Frazier AL, eds. Childhood cancer staging for population registries according to the Toronto Childhood Cancer Stage Guidelines – Version 2. Cancer Council Queensland and Cancer Australia: Brisbane, Australia; 2021.", - "last_modified" : "2025-05-01T14:56:49.380Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "10", "CNS1\n* No clinical signs of CNS involvement AND\n* No blasts in CSF" ], [ "20", "CNS2\n* No clinical signs of CNS involvement AND presence of blasts in CSF AND EITHER:\n * WBC < 5/µL (or WBC < 5/mm3) CSF \n\nOR\n\n* WBC >= 5/µL (or WBC >= 5/mm3) CSF AND\n* RBC >= 10/µL (or RBC >= 10/mm3) CSF AND\n* WBC/RBC in CSF <= 2x WBC/RBC in blood" ], [ "30", "CNS3\n* Clinical signs of CNS involvement \n\nOR\n\n* Presence of blasts in CSF and WBC >= 5/µL (or WBC >= 5/mm3) CSF AND EITHER:\n * RBC < 10/µL (or RBC < 10/mm3) CSF \n\nOR \n\n* RBC >= 10/µL (or RBC >= 10/mm3) CSF and WBC/RBC in CSF > 2x WBC/RBC in blood" ], [ "99", "Unknown; distant metastasis not stated\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_93634.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_93634.json deleted file mode 100644 index 874ec8a0c..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_93634.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_mets_93634", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Mets", - "title" : "Pediatric Mets", - "notes" : "**Note:** Involvement of inguinal, pelvic, or external iliac lymph nodes with previous scrotal or inguinal surgery prior to presentation of the testis tumor are coded in Pediatric Regional Nodes.", - "last_modified" : "2023-09-22T12:04:45.891Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No distant metastasis" ], [ "10", "Distant lymph node(s)\n* WITHOUT previous scrotal or inguinal surgery OR UNKNOWN if previous scrotal or inguinal surgery\n - External iliac\n - Inguinal, NOS\n - Deep, NOS\n - Node of Cloquet or Rosenmuller (highest deep inguinal)\n - Superficial (femoral)\n - Pelvic, NOS\n* Retroperitoneal specified as above the diaphragm\n* Distant lymph node(s), NOS" ], [ "50", "Lung\n\nWITH or WITHOUT distant lymph nodes" ], [ "60", "Other specified distant metastasis\nWITH or WITHOUT distant lymph node(s) and/or lung\n\nCarcinomatosis" ], [ "70", "Distant metastasis, NOS" ], [ "99", "Unknown; distant metastasis not stated\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_na_36656.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_na_36656.json deleted file mode 100644 index bd2a2d077..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_mets_na_36656.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "pediatric_mets_na_36656", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Mets", - "title" : "Pediatric Mets", - "last_modified" : "2023-08-01T13:51:29.658Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "88", "Not applicable: Information not collected for this schema" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_19406.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_19406.json deleted file mode 100644 index 67c3b8f3a..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_19406.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pediatric_n_19406", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric N", - "title" : "Pediatric N", - "notes" : "calculates Pediatric N and Toronto N", - "last_modified" : "2023-11-18T02:40:38.492Z", - "definition" : [ { - "key" : "ped_regional_nodes", - "name" : "Ped Regional Nodes", - "type" : "INPUT" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "type" : "ENDPOINT" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "VALUE:N0", "VALUE:N0" ], [ "800", "VALUE:N1", "VALUE:N1" ], [ "888", "VALUE:88", "VALUE:N/A" ], [ "999", "VALUE:NX", "VALUE:NX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_21296.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_21296.json deleted file mode 100644 index 6e5e379a9..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_21296.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pediatric_n_21296", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric N", - "title" : "Pediatric N", - "notes" : "calculates Pediatric N and Toronto N", - "last_modified" : "2023-11-18T02:51:20.542Z", - "definition" : [ { - "key" : "ped_regional_nodes", - "name" : "Ped Regional Nodes", - "type" : "INPUT" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "type" : "ENDPOINT" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "VALUE:N0", "VALUE:N0" ], [ "800", "VALUE:N1", "VALUE:N1" ], [ "888", "VALUE:88", "VALUE:N/A" ], [ "999", "VALUE:NX", "VALUE:NX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_84898.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_84898.json deleted file mode 100644 index 5edcd39b4..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_n_84898.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "pediatric_n_84898", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric N", - "title" : "Pediatric N", - "notes" : "calculates Pediatric N and Toronto N", - "last_modified" : "2023-10-30T20:10:57.314Z", - "definition" : [ { - "key" : "ped_regional_nodes", - "name" : "Ped Regional Nodes", - "type" : "INPUT" - }, { - "key" : "nodes_pos", - "name" : "Nodes Positive", - "type" : "INPUT" - }, { - "key" : "pediatric_n", - "name" : "Derived Pediatric N", - "type" : "ENDPOINT" - }, { - "key" : "toronto_n", - "name" : "Toronto N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "*", "VALUE:N0", "VALUE:N0" ], [ "100,800", "*", "VALUE:N1", "VALUE:N1" ], [ "200", "00", "ERROR:Regional Nodes involved, Regional Nodes Positive in conflict", "ERROR:Regional Nodes involved, Regional Nodes Positive in conflict" ], [ "200", "01-05,95,97", "VALUE:N1", "VALUE:N1" ], [ "200", "06-90", "VALUE:N2", "VALUE:N2" ], [ "200", "98,99", "VALUE:NX", "VALUE:NX" ], [ "300,400,500", "*", "VALUE:N2", "VALUE:N2" ], [ "600", "*", "VALUE:N3", "VALUE:N3" ], [ "999", "*", "VALUE:NX", "VALUE:NX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1156.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1156.json deleted file mode 100644 index 2d80aadf5..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1156.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_1156", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumor", - "notes" : "**Note 1:** Benign (/0) or Borderline (/1) tumors **are always coded to 050** regardless of size, extension to adjacent sites, or multiple tumors. \n\n**Note 2:** For invasive tumors, EOD Primary tumor is coded only for **single tumors confined to the primary site** (see code 150) or a **single** tumor crossing the midline without extension to adjacent structures (see code 250).\n * Code 999 if there are multiple tumors in the brain\n* The presence of multiple tumors is recorded in EOD Mets\n\n**Note 3:** A midline shift is not the same thing as crossing the midline\n * Code 250 if you have a single tumor confined to the primary site with a midline shift that is not extending into adjacent structures (see **Note 4**). \n\n**Note 4:** Direct or contiguous extension to an adjacent site is collected in Pediatric Mets. \n * If the only information available is extension to an adjacent site, code Pediatric Primary Tumor 999 and assign the appropriate Pediatric Mets code\n * The following adjacent structures/sites are collected in Pediatric Mets (see code 25 for all except circulating cells in CSF (code 15)).\n * Adjacent connective/soft tissue\n * Adjacent muscle\n * Bone\n * Circulating cells in cerebral spinal fluid (CSF)\n * Major blood vessel(s)\n * Meninges (e.g., dura)\n * Multiple/multifocal tumors\n * Nerves (cranial, NOS)\n * Ventricular system", - "footnotes" : "(1) American Society of Clinical Oncology © 2009, The International Neuroblastoma Risk Group (INRG) Classification System: AN INRG Task Force Report; published by American Society of Clinical Oncology, 2009\n\n(2) Aitken JF, Youlden D, O’Neill L, Gupta S, Frazier AL, eds. Childhood cancer staging for population registries according to the Toronto Childhood Cancer Stage Guidelines – Version 2. Cancer Council Queensland and Cancer Australia: Brisbane, Australia; 2021.", - "last_modified" : "2024-02-05T12:57:57.326Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "050", "Benign or borderline brain" ], [ "150", "All sites\n - Single tumor confined to the primary site with no invasion or seeding to other structures\n\nConfined to site of origin, NOS\nLocalized, NOS" ], [ "250", "Single tumor confined to the primary site crossing the midline \n- WITHOUT invasion of adjacent structures (see Note 4)" ], [ "800", "No evidence of primary tumor" ], [ "999", "Unknown; extension not stated\nMultiple tumors (See Note 1)\nSingle tumor with extension to an adjacent site (see Note 4)\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_14026.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_14026.json deleted file mode 100644 index dd9d40b52..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_14026.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_14026", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumorhttps://seer.cancer.gov/helios/pediatric/1.2/schemas/neuroblastoma/table/pediatric_primary_tumor_14026/nojs.html", - "notes" : "**Note 1:** This field is based on surgical resection of the **primary tumor only** WITH or WITHOUT neoadjuvant therapy.\n* **Code 100** (localized tumor) OR **300** (regional tumor) if a procedure removes the entire tumor (i.e., surgical resection, excisional biopsy) \n* **Code 200** (localized tumor) OR **400** (regional tumor) if a procedure does not remove the entire tumor (i.e., incomplete, partial), or it’s not clear if the entire tumor was removed\n* **Code 600** if the tumor cannot be surgically removed or the tumor crosses the spine (one side of the body to the other side)\n* **Code 999** if there was clinical work up only, no surgical removal of the tumor, or unknown if surgical removal\n\n**Note 2:** Use the following resources to determine if a tumor is localized, regional, or distant (further contiguous extension).\n* EOD: Review the primary site-based schema\n* Summary Stage: Review the primary site-based chapter", - "last_modified" : "2025-07-29T18:08:23.751Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "Localized tumor confined to one side of the body and one area\n* Tumor completely surgically resected\n* Localized, NOS" ], [ "200", "Localized tumor confined to one side of the body, greater than one area\n* Incomplete surgical resection done \n* Unable to resect tumor" ], [ "300", "Regional tumor confined to one side of the body and one area (extension to adjacent tissue or organs)\n* Tumor completely surgically resected" ], [ "400", "Regional tumor confined to one side of the body, greater than one area\n* Incomplete/partial surgical resection done OR unknown if complete surgical resection done\n* Unable to resect tumor" ], [ "600", "Tumor starts in or crosses the vertical midline (spine) of the body\nCannot be removed surgically" ], [ "700", "Further contiguous extension" ], [ "800", "No evidence of primary tumor" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nSurgical resection not done/recommended\nClinical workup only\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1604.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1604.json deleted file mode 100644 index da4469fe8..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_1604.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_1604", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumor", - "notes" : "**Note 1:** If there are bilateral retinoblastomas (both eyes involved), record the stage of the eye with the **more advanced/higher stage** in this data item.\n* Code the eye with the **lesser/lower stage** in the data item IRSS Stage for Eye-2 [NAACCR Data Item #1188]\n\n**Note 2:** Pathological staging information from an enucleation always takes precedence over clinical staging, except in cases with neoadjuvant treatment where clinical disease is as extensive as or more extensive than disease at surgery.", - "last_modified" : "2024-04-09T13:55:17.973Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "Intraocular tumor(s) WITHOUT any\n* Local invasion\n* Focal choroidal invasion\n* Pre- or intralaminar involvement of the optic nerve head\n\nTumor confined to retina, NOS\nLocalized, NOS" ], [ "200", "Intraocular tumor(s) WITH local invasion, NOS\n* Choroid (concomitant focal invasion)\n* Pre- or intralaminar involvement of optic nerve head\n* Retinal detachment\n* Schlemm's canal\n* Stromal invasion iris\n* Subretinal seeding\n* Trabecular meshwork\n* Vitreous seeding" ], [ "300", "Advanced intraocular tumor(s) WITH significant local invasion\n* Anterior chamber\n* Aseptic orbital cellulitis\n* Buphthalmos\n* Choroid (multiple foci, focal, full-thickness involvement)\n* Ciliary body\n* Emissary channels\n* Hyphema AND/OR massive vitreous hemorrhage\n* Iris\n* Lens\n* Pars plana\n* Phthisis or pre-phthisis bulbi\n* Raised intraocular pressure with neovascularization\n* Retrolaminar invasion of optic nerve head\n* Sclera\n* Zonules" ], [ "400", "Evidence of extraocular tumor\n* Tumor at transected end of optic nerve\n* Tumor in the meningeal spaces around optic nerve\n\nFull-thickness invasion of sclera WITH invasion of\n* Adjacent adipose tissue\n* Bone\n* Conjunctiva\n* Episcleral\n* Extraocular muscle\n* Eyelids" ], [ "800", "No evidence of primary tumor" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_20791.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_20791.json deleted file mode 100644 index 51a6d9774..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_20791.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_20791", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumor", - "notes" : "**Note:** Use the following resources to determine if a tumor is localized, regional, or distant (further contiguous extension).\n* EOD: Review the primary site-based schema\n* Summary Stage: Review the primary site-based chapter", - "last_modified" : "2023-09-07T22:52:44.498Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "Any size tumor\n* Confined to site of origin\n* Localized, NOS" ], [ "200", "Any size tumor\n* Adjacent (connective) tissue, NOS\n* Adjacent organ(s)/structure(s), NOS\n* Regional, NOS" ], [ "700", "Any size tumor\n* Further contiguous extension" ], [ "800", "No evidence of primary tumor" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_21887.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_21887.json deleted file mode 100644 index 7d22c99ec..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_21887.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_21887", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumor", - "subtitle" : "St. Jude/Murphy Staging System", - "notes" : "**Note 1:** Any mention of the terms including fixed, matted, mass in the hilum, mediastinum, retroperitoneum, and/or mesentery, palpable, enlarged, shotty, lymphadenopathy are all regarded as involvement for lymphomas when determining appropriate code.\n\n**Note 2:** St. Jude/Murphy staging is based primarily on the primary site where certain primary sites or sites of involvement may only be assigned specific codes. The list below provides guidance on which codes to use based on the primary site and/or other involvement.\n* Codes based on primary site\n * Abdomen (C239, C240-C249, C250-C259, C422, C493-C494, C480-C488, C649, C659, C669, C762, C772), then only code 400 may be assigned\n * GI Tract (C160-C218, C260-C269), then only codes 200 or 400 may be assigned\n * Paraspinal or epidural sites (C470-C479), then only code 400 may be assigned\n * Primary intrathoracic tumors (mediastinal, hilar, pulmonary, pleural, or thymic) (C340-C349, C379, C381-C388, C771, then only code 400 may be assigned\n* Codes based on involvement\n * Code 600 for liver involvement (including primary site C220)\n * Code 800 for bone marrow (including primary site C421), or peripheral blood involvement\n * Code 800 for CNS involvement (including primary sites C700-C729)\n* ALL sites except those noted above, codes 100, 300, 500-800, 999 may be assigned based on involvement\n\n**Note 3:** Extensive disease (code 400) typically exhibits spread to para-aortic and retroperitoneal areas by implants and plaques in mesentery or peritoneum, or by direct infiltration of structures adjacent to the primary tumor. Ascites may be present, and complete resection of all gross tumor is not possible.\n\n**Note 4:** Code 888 for histologies 9731, 9732, and 9734\n* St Jude/Murphy staging is not applicable for Plasmacytomas (9731, 9734) and Plasma Cell Myeloma (9732)", - "footnotes" : "(1)\tAitken JF, Youlden D, O’Neill L, Gupta S, Frazier AL, eds. Childhood cancer staging for population registries according to the Toronto Childhood Cancer Stage Guidelines – Version 2. Cancer Council Queensland and Cancer Australia: Brisbane, Australia; 2021.", - "last_modified" : "2023-12-07T13:29:35.855Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "Involvement of a single extranodal/extralymphatic tumor mass or nodal/lymphatic area \n*Excludes the following primary sites*\n - Abdomen (See code 400)\n - Bone marrow (See code 800)\n - CNS (See code 800)\n - GI tract (see code 200)\n - Liver (See code 600)\n - Paraspinal or epidural sites (See code 400)\n - Primary intrathoracic tumors (See code 400)" ], [ "200", "A completely resected primary gastrointestinal tract tumor (C160-C218, C260-C269) \n* WITH or WITHOUT involvement of associated **mesenteric nodes only** (for other lymph node involvement, see code 400)" ], [ "300", "Any of the following (excluding primary sites in codes 200, 400, 600, 800)\n* A single extranodal/extralymphatic tumor with regional node involvement\n* Two or more nodal/lymphatic areas on the SAME side (either above or below) of the diaphragm or \n* Two or more single extranodal/extralymphatic tumors\n * WITH or WITHOUT regional node involvement **AND** \n * On the SAME side (either above or below) of the diaphragm" ], [ "400", "Any of the following\n* Abdominal tumors\n * Includes extensive (unresectable) primary intraabdominal disease \n* Gastrointestinal tumors\n * WITH lymph node involvement other than mesenteric OR\n* Unresectable gastrointestinal tract tumor\n * Paraspinal or epidural tumors regardless of other tumor sites \n * Primary intrathoracic tumors (mediastinal, hilar, pulmonary, pleural, or thymic" ], [ "500", "Extranodal/extralymphatic OR nodal/lymphatic tumors\n* On BOTH sides (above and below the diaphragm)" ], [ "600", "Liver involvement, including primary site (C220)\n* WITH or WITHOUT lymph node involvement" ], [ "800", "CNS involvement, including primary site (C700-C729)\n* Single, multifocal, or multiple CNS tumors, or CNS tumor WITH lymph node involvement\n* Cranial nerve palsy that cannot be explained by extradural lesions, OR\n* Blasts morphologically identified in CSF\n* In the absence of a CSF tumor mass and cranial nerve palsy, a CSF report is required to confirm or exclude CNS involvement\n\nAND/OR \n* Bone marrow involvement (including primary site bone marrow, C421)\n* Peripheral blood involvement WITH or WITHOUT other involvement" ], [ "888", "Not applicable: histologies 9731, 9732, 9734" ], [ "999", "Not documented in medical record\nSt Jude Staging System not assessed\n\nDeath certificate only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_25859.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_25859.json deleted file mode 100644 index f1d92bce2..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_25859.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_25859", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumor", - "notes" : "**Note 1:** Benign (/0) or Borderline (/1) tumors **are always coded to 050** regardless of size, extension to adjacent sites, or multiple tumors. \n* **Note:** Benign (/0) or Borderline (/1) Medulloblastoma's are very rare.\n\n**Note 2:** For invasive tumors, EOD Primary tumor is coded only for **single tumors confined to the primary site** (see code 150) or a **single** tumor crossing the midline without extension to adjacent structures (see code 250).\n * Code 999 if there are multiple tumors in the brain\n* The presence of multiple tumors is recorded in EOD Mets\n\n**Note 3:** A midline shift is not the same thing as crossing the midline\n * Documentation must state “crossing the midline”\n * Code 150 if you have a single tumor confined to the primary site with a midline shift that is not extending into adjacent structures (see **Note 4**). \n\n**Note 4:** Direct or contiguous extension to an adjacent site is collected in Pediatric Mets. \n * If the only information available is extension to an adjacent site, code Pediatric Primary Tumor 999 and assign the appropriate Pediatric Mets code\n * Extension to the following are collected in Pediatric Mets (see code 25 for all except circulating cells in CSF (code 15))\n * Adjacent connective/soft tissue\n * Adjacent muscle\n * Bone\n * Circulating cells in cerebral spinal fluid (CSF)\n * Major blood vessel(s)\n * Meninges (e.g.; dura)\n * Multiple/multifocal tumors\n * Nerves (cranial, NOS)\n * Ventricular system", - "footnotes" : "(1) American Society of Clinical Oncology © 2009, The International Neuroblastoma Risk Group (INRG) Classification System: AN INRG Task Force Report; published by American Society of Clinical Oncology, 2009\n\n(2) Aitken JF, Youlden D, O’Neill L, Gupta S, Frazier AL, eds. Childhood cancer staging for population registries according to the Toronto Childhood Cancer Stage Guidelines – Version 2. Cancer Council Queensland and Cancer Australia: Brisbane, Australia; 2021.", - "last_modified" : "2025-04-18T16:29:30.667Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "050", "Benign or borderline brain" ], [ "150", "All sites\n - Single tumor confined to the primary site with no invasion or seeding to other structures\n \nConfined to site of origin, NOS\nLocalized, NOS" ], [ "250", "Single tumor confined to the primary site and crossing the midline \n - WITHOUT invasion of adjacent structures (see Note 4)" ], [ "800", "No evidence of primary tumor" ], [ "999", "Unknown; extension not stated\nMultiple tumors (See Note 1)\nSingle tumor with extension to an adjacent site (see Note 4)\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_36616.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_36616.json deleted file mode 100644 index e284c9a97..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_36616.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_36616", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumor", - "notes" : "**Note 1:** Benign (/0) or Borderline (/1) tumors **are always coded to 050** regardless of size, extension to adjacent sites, or multiple tumors. \n\n**Note 2:** The tentorium cerebelli is an extension of the dura mater that separates the cerebellum from the inferior portion of the occipital lobes. The location of the tumor above or below the tentorium can help in determining the type of tumor; also, most adult brain tumors are supratentorial, and most pediatric brain tumors are infratentorial. In the following list, note that ICD-O-3 codes C710 and C719 include both supratentorial and infratentorial subsites.\n* The following subsites are **Infratentorial**\n - All subsites for codes C716-C717\n - Hypothalamus (C710)\n - Pallium (C710)\n - Posterior cranial fossa (C719)\n - Thalamus (C710)\n* The following subsites are **Supratentorial**\n - All subsites for codes C711-C715\n - Primary site C710 (excluding hypothalamus, pallium, thalamus)\n - Anterior cranial fossa (C719)\n - Corpus callosum (C718)\n - Middle cranial fossa (C719)\n - Tapetum (C718)\n - Suprasellar (C719)\n\n**Note 3:** A midline shift is not the same thing as crossing the midline (code 500).\n* Documentation must state “crosses the midline”\n\n**Note 4:** Discontiguous spread, or \"drop metastasis\" are coded in Pediatric Mets.", - "footnotes" : "(1) American Society of Clinical Oncology © 2009, The International Neuroblastoma Risk Group (INRG) Classification System: AN INRG Task Force Report; published by American Society of Clinical Oncology, 2009\n\n(2) Aitken JF, Youlden D, O’Neill L, Gupta S, Frazier AL, eds. Childhood cancer staging for population registries according to the Toronto Childhood Cancer Stage Guidelines – Version 2. Cancer Council Queensland and Cancer Australia: Brisbane, Australia; 2021.", - "last_modified" : "2024-02-05T12:57:24.184Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "050", "Benign or borderline brain" ], [ "100", "Brain (C700, C710-C719)\nInfratentorial tumor confined to\n* Brain stem or meninges of brain stem (one side)\n - Medulla oblongata\n - Midbrain (mesencephalon)\n - Pons\n* Cerebellum or meninges of cerebellum (one side or midline)\n - Lateral lobes\n - Median lobe of cerebellum\n - Vermis\n* Hypothalamus\n* Pallium\n* Thalamus\n\nInfratentorial tumor\n* Both cerebellum and brain stem involved with tumor on one side\n\nSupratentorial tumor confined to\n* Cerebral hemisphere (cerebrum) or meninges of cerebral hemisphere (one side)\n - Frontal lobe\n - Occipital lobe\n - Parietal lobe\n - Temporal lobe \n\nConfined to ventricles\nTumor invades or encroaches upon ventricular system\n\nConfined to brain, NOS\nConfined to meninges, NOS" ], [ "200", "CNS Other (C701, C709, C720-C729)\n\nConfined to tissue or site of origin\nLocalized, NOS" ], [ "500", "Brain (C700, C710-C719)\n\nTumor crosses the midline\n\nTumor invades\n* Bone (skull) (see code 700 for other bone involvement)\n* Contralateral hemisphere\n* Corpus callosum (including splenium)\n* Major blood vessel(s)\n* Meninges (e.g., dura)\n* Nerves (cranial, NOS)\n* Spinal cord/canal\n\nSupratentorial tumor extends infratentorially to involve\n* Brain stem\n* Cerebellum\n* Hypothalamus\n* Pallium\n* Posterior cranial fossa\n* Thalamus\n\nInfratentorial tumor extends supratentorially to involve\n* Anterior cranial fossa\n* Cerebrum (cerebral hemisphere) (excluding hypothalamus, pallium, thalamus) (see code 100 for hypothalamus, pallium, thalamus)\n* Middle cranial fossa\n* Suprasellar brain\n* Tapetum" ], [ "600", "CNS Other (C701, C709, C720-C729)\n\nAdjacent connective/soft tissue\nAdjacent muscle\nBone (skull) (see code 700 for other bone involvement)\nBrain for cranial nerve tumor(s) (see code 700 for sites other than cranial nerve tumors)\nMajor blood vessel(s)\nMeningeal tumor infiltrates nerve\nNerve tumor infiltrates meninges (dura)\nSphenoid and frontal sinuses (skull)" ], [ "700", "Brain (C700, C710-C719)\n\nCirculating cells in cerebral spinal fluid (CSF)\n\nBone other than Skull (see code 500 for skull)\nNasal cavity\nNasopharynx\nOther direct extension outside CNS\nPosterior pharynx\n\nFurther contiguous extension" ], [ "750", "CNS Other (C701, C709, C720-C729)\n\nBone other than skull (see code 400 for skull)\nBrain except for cranial nerve tumor(s) (see code 600 for cranial nerve tumors)\nEye\n\nFurther contiguous extension" ], [ "800", "No evidence of primary tumor" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_39067.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_39067.json deleted file mode 100644 index 9e29cb0d2..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_39067.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_39067", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumor", - "notes" : "**Note 1:** Evaluation of primary tumor is based on several factors\n* Surgically resected WITH or WITHOUT neoadjuvant therapy and tumor(s) confined to the liver with **negative/unknown** margins \n - One lobe involved (see code 150)\n - More than one lobe involved (see code 250)\n* Surgically resected WITH or WITHOUT neoadjuvant therapy and tumor(s) confined to the liver with **positive** margins (codes 175 and 275)\n - One lobe involved (see code 175)\n - More than one lobe involved (see code 275)\n* Partial surgical resection WITH or WITHOUT neoadjuvant therapy, or unresectable and tumor(s) confined to the liver (code 350)\n\n**Note 2:** Direct or contiguous extension to an adjacent structure is collected in Pediatric Mets.\n* If the only information available is extension to an adjacent site, code Pediatric Primary Tumor 999. \n* Extension to the following are collected in EOD mets\n * Diaphragm \n * Extrahepatic bile duct(s) \n * Extrahepatic blood vessel(s) (hepatic artery, portal vein, vena cava)\n * Ligament(s) (coronary, falciform, hepatoduodenal, hepatogastric, round (of liver), trangular)\n * Gallbladder\n * Major vascular invasion\n * Omentum (lesser and greater)\n * Pancreas\n * Peritoneum, NOS\n * Pleura\n * Stomach", - "last_modified" : "2025-05-01T15:05:40.017Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "150", "PATHOLOGICAL ASSESSMENT ONLY\n\nTumor confined to the liver WITH or WITHOUT vascular invasion and NEGATIVE/UNKNOWN surgical margins\n* Complete resection of the tumor(s)\n* Single lesion (one lobe)\n* Multiple (satellite) nodules/tumors confined to one lobe\n* Confined to liver, NOS\n* Localized, NOS" ], [ "175", "Code 150 with positive surgical margins" ], [ "250", "PATHOLOGICAL ASSESSMENT ONLY\n\nTumor confined to the liver WITH or WITHOUT vascular invasion\n* Complete resection of the tumor(s)\n* More than one lobe involved by contiguous growth (single lesion)\n* Multiple (satellite) nodules/tumors in more than one lobe of liver or on surface of parenchyma" ], [ "275", "Code 250 with positive surgical margins" ], [ "350", "Tumor confined to the liver WITH or WITHOUT vascular invasion\n* Incomplete resection done or no surgical resection performed\n* Determined to be unresectable \n* Presses onto vital tissues in the liver" ], [ "800", "No evidence of primary tumor" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\nTumor not confined to the liver\nTumor extends beyond the liver\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_47758.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_47758.json deleted file mode 100644 index 19b260224..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_47758.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_47758", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumor", - "subtitle" : "Wilms Tumor Staging System", - "notes" : "**Note 1:** Primary tumor evaluation is based on a surgical resection of the primary tumor only.\n* Code 999 if there is no surgical resection of the primary tumor\n* Do not use imaging findings to code this data item\n\n**Note 2:** Codes are based on whether patient had neoadjuvant chemotherapy or surgery first\n* If patient did not receive chemotherapy (or unknown if patient received chemotherapy) prior to surgery, see codes 100, 200, 300\n* If patient did receive chemotherapy prior to surgery, see codes 110, 210, 310\n\n**Note 3:** If there is bilateral disease, code the most advanced stage at diagnosis.\n* Code 4 for Laterality [NAACCR # 410] data item", - "footnotes" : "(1)\tAitken JF, Youlden D, O’Neill L, Gupta S, Frazier AL, eds. Childhood cancer staging for population registries according to the Toronto Childhood Cancer Stage Guidelines – Version 2. Cancer Council Queensland and Cancer Australia: Brisbane, Australia; 2021.", - "last_modified" : "2025-05-01T15:12:27.432Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "No chemotherapy AND **no** biopsy prior to surgery (see code 300 if biopsy done prior to surgical resection)\n* Tumor limited to kidney and completely resected\n - Renal capsule intact, not penetrated by tumor\n - No tumor invasion of veins or lymphatics of renal sinus\n\n* Confined (limited) to the kidney, NOS\n* Localized, NOS\n\n* WITH NEGATIVE or UNKNOWN margins (see code 300 if positive margins)" ], [ "110", "Chemotherapy prior to surgery\n* Tumor limited to kidney and completely resected\n - Renal capsule may be infiltrated by tumor, but tumor does not reach the outer surface\n - Tumor may protrude or bulge into the pelvic system or ureter, but does not infiltrate\n - Vessels of renal sinus not involved" ], [ "200", "No chemotherapy and **no** biopsy prior to surgery (see code 300 if biopsy done prior to surgical resection)\n* Tumor extends beyond kidney but completely resected\n - Tumor penetrates renal capsule\n - Tumor in lymphatics or veins of renal sinus\n - Tumor in renal vein with margin not involved\n\n* WITH NEGATIVE or UNKNOWN margins (see code 300 if positive margins)" ], [ "210", "Chemotherapy prior to surgery\n\n* Tumor extends beyond kidney but completely resected\n - Tumor penetrates renal capsule into perirenal fat\n - Tumor infiltrates the renal sinus and/or invades blood and lymphatic vessels outside renal parenchyma but is completely resected\n - Tumor infiltrates adjacent organs or vena cava but is completely resected" ], [ "300", "No chemotherapy prior to surgery\n* Residual tumor confined to abdomen\n - Peritoneal contamination or tumor implant\n - Tumor spillage (rupture) of any degree occurring before or during surgery\n - Gross residual tumor in abdomen\n\n* WITH POSITIVE margins (includes localized tumor with positive margins)\n\nOR\n* Biopsy of tumor (including fine-needle aspiration) prior to surgical resection of kidney" ], [ "310", "Chemotherapy prior to surgery\n\n* Incomplete resection of the tumor (gross or microscopic extension beyond the resection margins)\n - Necrotic tumor or chemotherapy-induced changes\n - Tumor rupture before or intraoperatively\n - Tumor has penetrated the peritoneal surface\n - Tumor thrombi present at resection margins\n - Surgical biopsy prior to resection (does not include needle biopsy)" ], [ "800", "No evidence of primary tumor" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nNo surgical resection of the primary tumor\n\nDeath certificate only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_48137.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_48137.json deleted file mode 100644 index 33c1fbf94..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_48137.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_48137", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumor", - "subtitle" : "Ann Arbor", - "notes" : "**Note 1:** Lymphatic sites (nodal regions) are\n* Lymph nodes (C770-C779)\n* Waldeyer's ring (tonsils) (C024, C090-C099, C111, C142)\n* Spleen (C422)\n* Thymus (C379)\n\n**Note 2:** Use the AJCC definitions for lymph node regions (Chapter 79, Figure 79.1) to determine when single (code 100) or multiple (300-600) lymph node regions are involved. See also the Hematopoietic Manual, Appendix C, for definition of lymph node regions.\n\n**Note 3:** Extralymphatic sites (extranodal regions) include all other sites (e.g., stomach, colon, lung, breast, nasopharynx).\n\n**Note 4:** Any mention of the terms including fixed, matted, mass in the hilum, mediastinum, retroperitoneum, and/or mesentery, palpable, enlarged, shotty, lymphadenopathy are all regarded as involvement for lymphomas when determining appropriate code.\n\n**Note 5:** For Hodgkin lymphoma, “Bulky disease” is defined as the ratio between the maximum diameter of the mediastinal mass and maximal intrathoracic diameter based on CT imaging in the Lugano classification. Bulk of other disease is defined as a mass greater than 10 cm. This is the only difference between Lugano Staging and Ann Arbor, which does not include “bulky disease.”\n* If there is mention of bulky disease without further involvement, code 300 or 400 for a nodal lymphoma and 400 for an extranodal lymphoma\n\n**Note 6:** Clinical enlargement of the liver is not enough to indicate involvement. Involvement is indicated by diffuse uptake or mass lesion or abnormal liver function tests. Liver biopsy may be used to confirm equivocal involvement.\n* Any involvement of liver (including primary liver lymphoma) is coded as 800\n\n**Note 7:** Splenic involvement is based on splenomegaly and FDG-PET or CT scans that state diffuse update, solitary mass, miliary lesions, or enlargement of greater than 13 cm. \n* A physician’s statement of splenomegaly may be used\n* FDG uptake in the spleen that is not diffuse is not enough to code as splenic involvement \n\n**Note 8:** Lung involvement is indicated by pulmonary nodules or parenchymal involvement on FDG-PET or CT in the absence of other likely causes. Lung biopsy may be used to confirm equivocal involvement.\n* Multifocal lung involvement is coded as 700 or 800 based on lung mets, code also \"Mets at Dx-Lung as 1\n\n**Note 9:** Bone involvement (excluding bone marrow involvement, see **Note 11**) is indicated by avid lesions on FDG-PET. Bone biopsy may be used to confirm equivocal involvement.\n* Bone involvement (except for bone primary lymphomas) is coded as 800. Code also \"Mets at Dx-Bone\" as 1. (see **Note 11** on how to code bone marrow involvement)\n\n**Note 10:** Central nervous system (CNS) involvement is often suspected due to symptoms and can be confirmed by plain radiology, CT scan, or MRI. Cerebrospinal fluid (CSF) examination by flow cytometry may be done. CNS involvement may be the result of soft tissue disease representing extension from bone metastasis or parenchymal brain disease.\n* CNS involvement (except for CNS primary lymphomas) is coded as 800. Code also \"Mets at Dx-Brain\" as 1\n* CSF involvement is coded as 800. Code also \"Mets at Dx-Other\" as 1\n\n**Note 11:** Peripheral blood involvement is assessed by an aspiration or peripheral blood smear.\n* Primary site is coded to bone marrow (C421): Do not code \"Met at Dx-Other\" as 1\n - In cases where peripheral blood smear is not performed, but a physician's clinical assessment indicates peripheral blood involvement, the physician's clinical assessment can be used\n - If **ONLY** the peripheral blood is involved, code 750\n - If there is peripheral blood involvement **WITH** other involvement\n + Do not code primary site to C421, code to lymph nodes or organs involved\n + Pediatric Primary Tumor will based on the involvement of the lymph nodes or organs\n\n**Note 12:** Bone marrow involvement is assessed by an aspiration and bone marrow biopsy.\n* Bone marrow involvement is coded as 800. Do not code to \"Mets at Dx-Bone\" as 1\n - If only involvement is bone marrow, code primary site to bone marrow (C421), Pediatric Primary Tumor 800. Do not code \"Mets at Dx-Other\" as 1\n - If there is involvement of lymph nodes or organs AND bone marrow, code “Mets at Dx-Other” as 1\n - In cases where bone marrow biopsy/aspiration is not performed, but a physician's clinical assessment indicates bone marrow involvement, the physician's clinical assessment can be used\n\n**Note 13:** See the data item *B symptoms* [NAACCR Data Item Number: #3812] to code the presence or absence of B symptoms.", - "last_modified" : "2023-12-11T15:31:42.601Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "Nodal lymphomas\n* Single lymph node region involved\n* Involvement of multiple nodal chains in the SAME lymph node region" ], [ "200", "Extranodal lymphomas\n* Single extralymphatic site\n - WITHOUT nodal involvement\n* Multifocal involvement (except multifocal lung involvement or any liver involvement, see code 800) of one extralymphatic organ/site\n - WITHOUT nodal involvement (see code 400 for WITH nodal involvement)" ], [ "300", "Nodal lymphomas\n* Two or more lymph node regions involved\n - SAME side of diaphragm\n\nWITH or WITHOUT bulky disease" ], [ "400", "Nodal lymphomas\n* Contiguous extralymphatic extension from nodal/lymphatic site\n* WITH or WITHOUT involvement of other nodal regions\n - on SAME side of diaphragm\n\nExtranodal lymphomas\n* Localized involvement of a single extralymphatic organ/site\n - WITH involvement of its regional lymph node(s) OR\n - WITH involvement of other lymph node(s) on the SAME side of the diaphragm\n\nWITH or WITHOUT bulky disease" ], [ "575", "Nodal and Extranodal lymphomas\n* Involvement of lymph node regions on BOTH sides of the diaphragm\n - WITHOUT or UNKNOWN spleen involvement" ], [ "600", "Nodal and Extranodal lymphomas\n* Involvement of lymph node regions on BOTH sides of the diaphragm WITH spleen involvement\n - Includes involvement of lymph nodes ABOVE the diaphragm WITH spleen involvement" ], [ "700", "Diffuse or disseminated involvement (except multifocal lung involvement or any liver involvement, see code 800) of ONE OR MORE extralymphatic organ(s)/site(s)\n* WITH or WITHOUT nodal involvement\n\nInvolvement of isolated extralymphatic organ in absence of involvement of adjacent lymph nodes, but in conjunction with disease in distant sites\n\nMultifocal involvement (except multifocal lung involvement or any liver involvement, see code 800) of one extralymphatic organ/site\n* WITH nodal involvement\n\nNoncontiguous extralymphatic organ involvement in conjunction with nodal disease (two or more sites involved)" ], [ "750", "Peripheral blood involvement ONLY" ], [ "800", "Diffuse or disseminated\n* Bone\n* Central nervous system (CNS)\n\nAny involvement of\n* Bone marrow\n* Cerebrospinal fluid (CSF)\n* Liver\n* Lung, multiple lesions (other than by direct extension in code 400)\n* Peripheral blood involvement WITH other involvement\n\nDistant metastasis, NOS" ], [ "999", "Unknown; extension not stated\nTumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_57637.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_57637.json deleted file mode 100644 index 8ee8a082f..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_57637.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_57637", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumor", - "notes" : "**Note:** Use the following resources to determine if a tumor is localized, regional, or distant (further contiguous extension).\n* EOD: Review the primary site-based schema\n* Summary Stage: Review the primary site-based chapter", - "last_modified" : "2023-09-07T22:53:14.564Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "Any size tumor\n* Confined to site of origin\n* Localized, NOS" ], [ "200", "Any size tumor\n* Adjacent (connective) tissue, NOS\n* Adjacent organ(s)/structure(s), NOS\n* Regional, NOS" ], [ "700", "Any size tumor\n* Further contiguous extension" ], [ "800", "No evidence of primary tumor" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_73431.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_73431.json deleted file mode 100644 index ebc8139d3..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_73431.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_73431", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumor", - "notes" : "**Note 1:** This schema has extension codes that are defined as “PATHOLOGICAL assessment only”\n* PATHOLOGICAL assessment only codes (2200, 250, 350, 450, 500) are used when there is an orchiectomy\n\n**Note 2:** Code 200 for Seminomas confined to the testis.\n\n**Note 3:** For codes 200 and 250, LVI [NAACCR # 1182] must be coded as none (code 0), not applicable (8), or unknown (9).\n* See the STORE or SEER manual for instructions on how to code LVI", - "last_modified" : "2024-06-05T15:41:33.340Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "200", "**PATHOLOGICAL assessment only**\n\nTumor limited to the testis\n* Body of testis\n* Rete testis\n* Tunica albuginea\n* Tunica, NOS\n* Confined to testis, NOS\n\nLocalized, NOS\n\nWITHOUT or UNKNOWN vascular/lymphatic invasion" ], [ "250", "**PATHOLOGICAL assessment only**\n\nEpididymis\n* WITHOUT vascular/lymphatic invasion" ], [ "350", "**PATHOLOGICAL assessment only**\n\nTumor limited to testis (including rete testis invasion) (code 200) \n* WITH vascular/lymphatic invasion\n - Excludes Epididymis (see code 450)\n\nTunica vaginalis (includes implants on surface of tunica vaginalis)\n* WITH or WITHOUT vascular/lymphatic invasion" ], [ "450", "**PATHOLOGICAL assessment only**\n\nHilar soft tissue\nMediastinum (of testis)\nVisceral mesothelial layer\n\nWITH or WITHOUT vascular/lymphatic invasion\n\nOR Epididymis WITH vascular invasion" ], [ "500", "**PATHOLOGICAL assessment only**\n\nSpermatic cord, ipsilateral\nVas deferens" ], [ "600", "Dartos muscle, ipsilateral\nScrotum, ipsilateral" ], [ "700", "Penis\nScrotum, contralateral\nUlceration of scrotum\n\nFurther contiguous extension" ], [ "800", "No evidence of primary tumor" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_7436.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_7436.json deleted file mode 100644 index 4a198fe46..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_7436.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_7436", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumor", - "notes" : "**Note:** The cortex of a bone is the dense outer shell that provides strength to the bone; the spongy center of a bone is the cancellous portion. The periosteum of the bone is the fibrous membrane covering of a bone that contains the blood vessels and nerves; the periosteum is similar to the capsule on a visceral organ.", - "last_modified" : "2023-09-01T19:09:59.089Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "Appendicular (C400-C403, C408-C411, C413, C418-C419)\n* Confined to cortex of bone\n* Extension beyond cortex to periosteum (no break in periosteum)\n\nSpine (C412)\n* Confined to spine, NOS (number of segments involved not known)\n* Involvement of single or multiple adjacent vertebral segment(s)\n\nPelvis (C414)\n* Confined to pelvis, NOS (number of segments involved not known and WITHOUT or UNKNOWN if extraosseous extension)\n* One to four pelvic segments involved WITHOUT or UNKNOWN if extraosseous extension (see code 200 for extraosseous extension)\n\nLocalized, NOS" ], [ "200", "All sites\n* Extraosseous extension (beyond periosteum to surrounding tissues, including adjacent skeletal muscle(s))\n\nAppendicular (C400-C403, C408-C411, C413, C418-C419)\n* Adjacent bone/cartilage\n\nSpine (C412)\n* Involvement of multiple non-adjacent vertebral segments\n* Spinal canal\n\nPelvis (C414)\n* One to four pelvic segments involved WITH extraosseous extension" ], [ "500", "Appendicular (C400-C403, C408-C411, C413, C418-C419)\n* Discontinuous tumors in the primary bone site (\"skip\" metastasis)\n* Skin\n\nSpine (C412)\n* Gross vascular invasion\n* Tumor thrombus in great vessels\n\nPelvis (C414)\n* Encasement of external iliac vessels\n* Gross tumor thrombus in major pelvic vessels\n* Sacral neuroforamen\n* Sacroiliac joint" ], [ "800", "No evidence of primary tumor" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_84083.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_84083.json deleted file mode 100644 index 8b6a06d6e..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_84083.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_84083", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumor", - "subtitle" : "St. Jude/Murphy Staging System", - "notes" : "**Note 1:** Any mention of the terms including fixed, matted, mass in the hilum, mediastinum, retroperitoneum, and/or mesentery, palpable, enlarged, shotty, lymphadenopathy are all regarded as involvement for lymphomas when determining appropriate code.\n\n**Note 2:** St. Jude/Murphy staging is based primarily on the primary site where certain primary sites or sites of involvement may only be assigned specific codes. The list below provides guidance on which codes to use based on the primary site and/or other involvement.\n* Codes based on primary site\n * Abdomen (C239, C240-C249, C250-C259, C422, C493-C494, C480-C488, C649, C659, C669, C762, C772), then only code 400 may be assigned\n * GI Tract (C160-C218, C260-C269), then only codes 200 or 400 may be assigned\n * Paraspinal or epidural sites (C470-C479), then only code 400 may be assigned\n * Primary intrathoracic tumors (mediastinal, hilar, pulmonary, pleural, or thymic) (C340-C349, C379, C381-C388, C771, then only code 400 may be assigned\n* Codes based on involvement\n * Code 600 for liver involvement (including primary site C220)\n * Code 800 for bone marrow (including primary site C421), or peripheral blood involvement\n * Code 800 for CNS involvement (including primary sites C700-C729)\n* ALL sites except those noted above, codes 100, 300, 500, 800, 999 may be assigned based on involvement\n\n**Note 3:** Extensive disease (code 400) typically exhibits spread to para-aortic and retroperitoneal areas by implants and plaques in mesentery or peritoneum, or by direct infiltration of structures adjacent to the primary tumor. Ascites may be present, and complete resection of all gross tumor is not possible.", - "footnotes" : "(1)\tAitken JF, Youlden D, O’Neill L, Gupta S, Frazier AL, eds. Childhood cancer staging for population registries according to the Toronto Childhood Cancer Stage Guidelines – Version 2. Cancer Council Queensland and Cancer Australia: Brisbane, Australia; 2021.", - "last_modified" : "2025-01-07T22:12:05.530Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "Involvement of a single extranodal/extralymphatic tumor mass or nodal/lymphatic area \n*Excludes the following primary sites*\n - Abdomen (See code 400)\n - Bone marrow (See code 800)\n - CNS (See code 800)\n - GI tract (see code 200)\n - Liver (See code 600)\n - Paraspinal or epidural sites (See code 400)\n - Primary intrathoracic tumors (See code 400)" ], [ "200", "A completely resected primary gastrointestinal tract tumor (C160-C218, C260-C269) \n* WITH or WITHOUT involvement of associated **mesenteric nodes only** (for other lymph node involvement, see code 400)" ], [ "300", "Any of the following (excluding primary sites in codes 200, 400, 600, 800)\n* A single extranodal/extralymphatic tumor with regional node involvement\n* Two or more nodal/lymphatic areas on the SAME side (either above or below) of the diaphragm or \n* Two or more single extranodal/extralymphatic tumors\n * WITH or WITHOUT regional node involvement **AND** \n * On the SAME side (either above or below) of the diaphragm" ], [ "400", "Any of the following\n* Abdominal tumors\n * Includes extensive (unresectable) primary intraabdominal disease \n* Gastrointestinal tumors\n * WITH lymph node involvement other than mesenteric OR\n* Unresectable gastrointestinal tract tumor\n * Paraspinal or epidural tumors regardless of other tumor sites \n * Primary intrathoracic tumors (mediastinal, hilar, pulmonary, pleural, or thymic" ], [ "500", "Extranodal/extralymphatic OR nodal/lymphatic tumors\n* On BOTH sides (above and below the diaphragm)" ], [ "600", "Liver involvement, including primary site (C220)\n* WITH or WITHOUT lymph node involvement" ], [ "800", "CNS involvement, including primary site (C700-C729)\n* Single, multifocal, or multiple CNS tumors, or CNS tumor WITH lymph node involvement\n* Cranial nerve palsy that cannot be explained by extradural lesions, OR\n* Blasts morphologically identified in CSF\n* In the absence of a CSF tumor mass and cranial nerve palsy, a CSF report is required to confirm or exclude CNS involvement\n\nAND/OR \n* Bone marrow involvement (including primary site bone marrow, C421)\n* Peripheral blood involvement WITH or WITHOUT other involvement" ], [ "999", "Not documented in medical record\nSt Jude Staging System not assessed\n\nDeath certificate only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_92453.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_92453.json deleted file mode 100644 index b51011928..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_92453.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_92453", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumor", - "notes" : "**Note 1:** If there is involvement of the fallopian tube with no further evidence of extension, regional lymph node involvement or metastasis, and the physician verifies this is an ovary primary, code 300.\n\n**Note 2:** Code 300 for extension to and/or discontinuous metastasis to any of the following pelvic organs \n* Adnexa\n* Adjacent (pelvic) peritoneum\n* Bladder\n* Bladder serosa\n* Cul de sac (rectouterine pouch)\n* Fallopian Tube\n* Ligament(s) (broad, ovarian, round, suspensory)\n* Mesosalpinx (Meosvarium)\n* Parametrium\n* Pelvic wall\n* Rectosigmoid\n* Rectum\n* Sigmoid colon (including sigmoid mesentery)\n* Ureter (pelvic portion)\n* Uterus, NOS\n\n**Note 3:** Code 400 for any evidence of peritoneal carcinomatosis, which may also be called seeding, salting, talcum powder appearance, or studding in any of the following abdominal organs (see Pediatric Mets for extraperitoneal carcinomatosis)\n* Abdominal mesentery\n* Diaphragm\n* Gallbladder\n* Intestine, large (except rectum, rectosigmoid and sigmoid colon)\n* Kidneys\n* Omentum (infracolic, NOS)\n* Pancreas\n* Pericolic gutter\n* Peritoneum, NOS\n* Small intestine\n* Stomach\n* Ureters (outside pelvis)", - "last_modified" : "2023-09-22T12:13:37.135Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "Limited to one or both ovaries\n* WITH or WITHOUT tumor on ovarian surface\n* WITH or WITHOUT surgical spill\n* AND NO or UNKNOWN\n - Malignant cells in ascites or peritoneal washings\n - Capsule rupture" ], [ "200", "Limited to one or both ovaries\n* WITH Malignant Cells in ascites or peritoneal washings OR\n* Capsule rupture" ], [ "300", "Tumor involves one or both ovaries with pelvic extension (below the pelvic brim) (see Note 2)" ], [ "400", "Tumor involves one or both ovaries WITH cytologically OR histologically confirmed spread to the peritoneum outside the pelvis (see Note 3)" ], [ "800", "No evidence of primary tumor" ], [ "999", "Unknown stage: stage group not stated\nStage group cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_na_1293.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_na_1293.json deleted file mode 100644 index 48ffba1d9..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_primary_tumor_na_1293.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "pediatric_primary_tumor_na_1293", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Primary Tumor", - "title" : "Pediatric Primary Tumor", - "last_modified" : "2023-08-01T13:52:25.021Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "888", "Not applicable: Information not collected for this schema" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_20397.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_20397.json deleted file mode 100644 index 4d5ca10b3..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_20397.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_regional_nodes_20397", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Regional Nodes", - "title" : "Pediatric Regional Nodes", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in Pediatric Mets.\n\n**Note 2:** Regional lymph nodes are defined as those in the vicinity of the primary tumor.", - "last_modified" : "2023-09-01T20:25:55.331Z", - "definition" : [ { - "key" : "ped_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph node involvement" ], [ "300", "Intraabdominal\nPara-aortic, NOS\n* Aortic\n* Lateral aortic/lateral lumbar\n* Periaortic\n\nPelvic, NOS\n* Iliac, NOS\n - Common\n - External\n - Internal (hypogastric) (obturator)\n* Paracervical\n* Parametrial\n* Sacral, NOS\n - Lateral (laterosacral)\n - Middle (promontorial) (Gerota’s node)\n - Presacral\n - Uterosacral\n\nRetroperitoneal, NOS" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_24935.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_24935.json deleted file mode 100644 index 1410db5aa..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_24935.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_regional_nodes_24935", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Regional Nodes", - "title" : "Pediatric Regional Nodes", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in Pediatric Mets.\n\n**Note 2:** Regional lymph nodes are defined as those in the vicinity of the primary tumor.\n\n**Note 3:** Regional lymph node involvement is rare. If there is no mention of lymph node involvement clinically, assume that lymph nodes are negative.\n\n**Note 4:** Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "last_modified" : "2023-09-01T19:28:47.488Z", - "definition" : [ { - "key" : "ped_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph node involvement" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_26974.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_26974.json deleted file mode 100644 index 101e1ec03..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_26974.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_regional_nodes_26974", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Regional Nodes", - "title" : "Pediatric Regional Nodes", - "notes" : "**Note 1:** Regional lymph node evaluation is based on microscopic evaluation (FNA, biopsy, sentinel lymph node biopsy, lymph node dissection) only.\n* Code 999 if there is no microscopic evaluation of regional lymph nodes \n* Do not use imaging findings to code this data item\n\n**Note 2:** Code only regional nodes, and nodes, NOS in this field. Distant nodes are coded in Pediatric Mets.\n\n**Note 3:** Regional lymph nodes are defined as those in the vicinity of the primary tumor.", - "last_modified" : "2023-09-07T14:27:47.881Z", - "definition" : [ { - "key" : "ped_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph node involvement" ], [ "300", "Aortic, NOS\n* Lateral (lumbar)\n* Para-aortic\n* Periaortic\n* Preaortic\n* Retroaortic\n\nCaval, NOS\n* Interaortocaval\n* Paracaval\n* Pericaval\n* Precaval\n* Retrocaval\n\nRenal hilar\nRetroperitoneal, NOS" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nNo microscopic evaluation of regional lymph nodes\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_30482.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_30482.json deleted file mode 100644 index 62a21842a..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_30482.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_regional_nodes_30482", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Regional Nodes", - "title" : "Pediatric Regional Nodes", - "notes" : "**Note 1:** Code only regional nodes, and nodes, NOS in this field. Distant nodes are coded in Pediatric Mets.\n\n**Note 2:** Use the following resources to determine if involved lymph nodes are regional or distant. \n* EOD: Review the primary site-based schema\n* Summary Stage: Review the primary site-based chapter\n\n**Note 3:** Regional lymph node involvement is rare. For this Pediatric Schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative. Code 999 (unknown) only when there is no available information on the patient’s disease, for example when a lab only case is abstracted from a biopsy report and no clinical information is provided.", - "last_modified" : "2023-09-07T22:25:28.581Z", - "definition" : [ { - "key" : "ped_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph node involvement" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS" ], [ "888", "Not applicable: Primary site C420-C424, C700-C729, C751-C753, C760-C809" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_32357.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_32357.json deleted file mode 100644 index 689500016..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_32357.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_regional_nodes_32357", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Regional Nodes", - "title" : "Pediatric Regional Nodes", - "notes" : "**Note 1:** Code only regional nodes, and nodes, NOS in this field. Distant nodes are coded in Pediatric Mets.\n\n**Note 2:** Use the following resources to determine if involved lymph nodes are regional or distant. \n* EOD: Review the primary site-based schema\n* Summary Stage: Review the primary site-based chapter\n\n**Note 3:** Regional lymph node involvement is rare. For this Pediatric Schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative. Code 999 (unknown) only when there is no available information on the patient’s disease, for example when a lab only case is abstracted from a biopsy report and no clinical information is provided.", - "last_modified" : "2023-09-07T22:26:07.165Z", - "definition" : [ { - "key" : "ped_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph node involvement" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS" ], [ "888", "Not applicable: Primary site C420-C424, C700-C729, C751-C753, C760-C809" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_42195.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_42195.json deleted file mode 100644 index a6b74e3cc..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_42195.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_regional_nodes_42195", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Regional Nodes", - "title" : "Pediatric Regional Nodes", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in Pediatric Mets.\n\n**Note 2:** This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n* **CLINICAL** assessment only codes (100, 300) are used when there is a clinical work up only and there is no surgical resection of the primary tumor. This includes FNA, core biopsy, sentinel node biopsy, or lymph node excision \n - *Exception:* If patient has neoadjuvant therapy, and the clinical assessment is greater than the pathological assessment, then the clinical assessment code would take priority\n* **PATHOLOGICAL** assessment only codes (200, 400, 500) are used when \n - Primary tumor surgically resected with \n + Any microscopic examination of regional lymph nodes. Includes \n + FNA, core biopsy, sentinel node biopsy or lymph node excision done during the clinical work up and/or\n + Lymph node dissection performed\n* Remaining codes (no designation of **CLINICAL** or **PATHOLOGICAL** only assessment) can be used based on clinical and/or pathological information.\n\n**Note 3:** Involvement of inguinal, pelvic, or external iliac lymph nodes WITHOUT or unknown if previous scrotal or inguinal surgery prior to presentation of the testis tumor is coded in Pediatric Mets as distant lymph node involvement.\n\n**Note 4:** Regional lymph nodes include:\nAortic, NOS\n* Lateral (lumbar)\n* Para-aortic\n* Periaortic\n* Preaortic\n* Retroaortic\n\nPericaval, NOS\n* Interaortocaval\n* Paracaval\n* Precaval\n* Retrocaval\n\nRetroperitoneal below the diaphragm or NOS\nSpermatic vein\n\nLymph nodes **WITH** previous scrotal or inguinal surgery\n* External iliac\n* Inguinal nodes, NOS\n - Deep, NOS\n - Node of Cloquet or Rosenmuller (highest deep inguinal)\n - Superficial (femoral)\n* Pelvic\n\n**Note 5:** Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "last_modified" : "2025-05-01T15:11:55.477Z", - "definition" : [ { - "key" : "ped_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph node involvement" ], [ "100", "CLINICAL assessment only\n\nMetastasis in lymph node(s), all less than 2 cm" ], [ "200", "PATHOLOGICAL assessment only\n\nMetastasis in lymph node(s), all less than 2 cm" ], [ "300", "CLINICAL assessment only\n\nMetastasis lymph node(s) between 2 cm and 5 cm" ], [ "400", "PATHOLOGICAL assessment only\n\nMetastasis in a lymph node, between 2 cm and 5 cm" ], [ "500", "PATHOLOGICAL assessment only\n\nExtranodal extension of lymph nodes present" ], [ "600", "Metastasis in a lymph node larger than 5 cm in greatest dimension" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_591.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_591.json deleted file mode 100644 index b3ab15371..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_591.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_regional_nodes_591", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Regional Nodes", - "title" : "Pediatric Regional Nodes", - "notes" : "**Note 1:** This field is based on clinical and/or pathological information WITH or WITHOUT neoadjuvant therapy\n\n**Note 2:** Code only regional nodes, and nodes, NOS in this field. Distant nodes are coded in Pediatric Mets.\n\n**Note 3:** Use the following resources to determine if involved lymph nodes are regional or distant. \n* EOD: Review the primary site-based schema\n* Summary Stage: Review the primary site-based chapter", - "last_modified" : "2023-11-17T17:09:20.250Z", - "definition" : [ { - "key" : "ped_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph node involvement" ], [ "100", "Ipsilateral regional lymph nodes involved" ], [ "300", "Contralateral or bilateral regional lymph nodes involved" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS\n\nUnknown if ipsilateral, contralateral or bilateral" ], [ "888", "Not applicable: Primary site C420-C424, C700-C729, C751-C753, C760-C809" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_59828.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_59828.json deleted file mode 100644 index a498ee71a..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_59828.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_regional_nodes_59828", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Regional Nodes", - "title" : "Pediatric Regional Nodes", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in Pediatric Mets.\n\n**Note 2:** Regional lymph nodes are defined as those in the vicinity of the primary tumor.", - "last_modified" : "2023-09-01T18:58:00.508Z", - "definition" : [ { - "key" : "ped_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph node involvement" ], [ "300", "Caval\nHepatic, NOS\n* Hepatic artery\n* Hepatic pedicle\n* Inferior vena cava\n* Porta hepatis (portal) (hilar) [in hilus of liver]\n\nHepatoduodenal ligament\nPeriportal\nPortal vein" ], [ "700", "Inferior phrenic nodes" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_67911.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_67911.json deleted file mode 100644 index 3551b04b8..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_67911.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "pediatric_regional_nodes_67911", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Regional Nodes", - "title" : "Pediatric Regional Nodes", - "notes" : "**Note 1:** Code only regional nodes, and nodes, NOS in this field. Distant nodes are coded in Pediatric Mets.\n\n**Note 2:** Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved", - "last_modified" : "2023-09-06T20:53:46.301Z", - "definition" : [ { - "key" : "ped_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph node involvement" ], [ "300", "Cervical, NOS\nMandibular, NOS\n* Submandibular (submaxillary)\n\nParotid, NOS\n* Infra-auricular\n* Preauricular" ], [ "800", "Regional lymph node(s), NOS\nLymph nodes, NOS" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_na_68667.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_na_68667.json deleted file mode 100644 index ae9853e3e..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_regional_nodes_na_68667.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "pediatric_regional_nodes_na_68667", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Regional Nodes", - "title" : "Pediatric Regional Nodes", - "last_modified" : "2023-08-01T13:51:07.360Z", - "definition" : [ { - "key" : "ped_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "888", "Not applicable: Information not collected for this schema" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11224.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11224.json deleted file mode 100644 index 3b07e3f3a..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11224.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pediatric_stage_11224", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Stage", - "title" : "Pediatric Stage", - "notes" : "calculates Pediatric Stage and Toronto Stage", - "last_modified" : "2023-11-18T02:26:02.897Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Ped Mets", - "type" : "INPUT" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "VALUE:Loc", "VALUE:L" ], [ "10,30,50,70", "VALUE:Met", "VALUE:M" ], [ "99", "VALUE:Unk", "VALUE:X" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11413.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11413.json deleted file mode 100644 index a30bbab05..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_11413.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pediatric_stage_11413", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Stage", - "title" : "Pediatric Stage", - "notes" : "St Jude Murphy Staging", - "last_modified" : "2023-12-04T20:08:20.919Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Ped Primary Tumor", - "type" : "INPUT" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "VALUE:1", "VALUE:1" ], [ "200,300", "VALUE:2", "VALUE:2" ], [ "400,500,600", "VALUE:3", "VALUE:3" ], [ "800", "VALUE:4", "VALUE:4" ], [ "888", "VALUE:88", "VALUE:N/A" ], [ "999", "VALUE:99", "VALUE:X" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_16688.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_16688.json deleted file mode 100644 index 9bf9264d9..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_16688.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "pediatric_stage_16688", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Stage", - "title" : "Wilms Tumor Staging System", - "notes" : "calculates Pediatric Stage and Toronto Stage", - "last_modified" : "2023-11-18T02:59:22.253Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Ped Primary Tumor", - "type" : "INPUT" - }, { - "key" : "ped_regional_nodes", - "name" : "Ped Regional Nodes", - "type" : "INPUT" - }, { - "key" : "ped_mets", - "name" : "Ped Mets", - "type" : "INPUT" - }, { - "key" : "surgical_margins", - "name" : "Surg Margins", - "type" : "INPUT" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "000,999", "00,99", "0,7,8,9", "VALUE:1", "VALUE:1" ], [ "110", "000,999", "00,99", "*", "VALUE:1", "VALUE:y1" ], [ "200", "000,999", "00,99", "0,7,8,9", "VALUE:2", "VALUE:2" ], [ "210", "000,999", "00,99", "*", "VALUE:2", "VALUE:y2" ], [ "300", "000,999", "00,99", "0,7,8,9", "VALUE:3", "VALUE:3" ], [ "310", "000,999", "00,99", "*", "VALUE:3", "VALUE:y3" ], [ "100,200,300", "000,999", "00,99", "1,2,3", "VALUE:3", "VALUE:3" ], [ "800", "000,999", "00,99", "*", "VALUE:99", "VALUE:X" ], [ "999", "000,999", "00,99", "*", "VALUE:99", "VALUE:X" ], [ "100,200,300", "300", "00,99", "*", "VALUE:3", "VALUE:3" ], [ "110,210,310", "300", "00,99", "*", "VALUE:3", "VALUE:3" ], [ "800", "300", "00,99", "*", "VALUE:3", "VALUE:3" ], [ "999", "300", "00,99", "*", "VALUE:3", "VALUE:3" ], [ "100,200,300", "800", "00,99", "*", "VALUE:3", "VALUE:3" ], [ "110,210,310", "800", "00,99", "*", "VALUE:3", "VALUE:3" ], [ "800", "800", "00,99", "*", "VALUE:3", "VALUE:3" ], [ "999", "800", "00,99", "*", "VALUE:3", "VALUE:3" ], [ "*", "*", "10,70", "*", "VALUE:4", "VALUE:4" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_19429.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_19429.json deleted file mode 100644 index 801e3145b..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_19429.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "id" : "pediatric_stage_19429", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Stage", - "title" : "International Retinoblastoma Staging System", - "notes" : "calculates Pediatric Stage and Toronto Stage", - "last_modified" : "2023-11-18T02:55:09.262Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Ped Primary Tumor", - "type" : "INPUT" - }, { - "key" : "ped_regional_nodes", - "name" : "Ped Regional Nodes", - "type" : "INPUT" - }, { - "key" : "ped_mets", - "name" : "Ped Mets", - "type" : "INPUT" - }, { - "key" : "surg_2023", - "name" : "Surg Prim Site 2023", - "type" : "INPUT" - }, { - "key" : "surgical_margins", - "name" : "Surg Margins", - "type" : "INPUT" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100-300", "000,999", "00,99", "A000-A300,A900,A990", "*", "VALUE:0", "VALUE:0" ], [ "100-300", "000,999", "00,99", "A400-A600", "0,7,8,9", "VALUE:1", "VALUE:1" ], [ "100-300", "000,999", "00,99", "A400-A600", "1,2,3", "VALUE:2", "VALUE:2" ], [ "400", "000,999", "00,99", "*", "*", "VALUE:3", "VALUE:3" ], [ "800", "000,999", "00,99", "*", "*", "VALUE:99", "VALUE:X" ], [ "999", "000,999", "00,99", "*", "*", "VALUE:99", "VALUE:X" ], [ "*", "300,800", "00,99", "*", "*", "VALUE:3", "VALUE:3" ], [ "*", "*", "10-70", "*", "*", "VALUE:4", "VALUE:4" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_51275.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_51275.json deleted file mode 100644 index 4cdece352..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_51275.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "pediatric_stage_51275", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Stage", - "title" : "Pediatric Stage", - "notes" : "Ann Arbor Stage\ncalculates Pediatric Stage and Toronto Stage", - "last_modified" : "2023-11-18T02:24:37.640Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Ped Primary Tumor", - "type" : "INPUT" - }, { - "key" : "b_symptoms", - "name" : "B Symptoms", - "type" : "INPUT" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100,200", "0", "VALUE:1A", "VALUE:1A" ], [ "100,200", "1", "VALUE:1B", "VALUE:1B" ], [ "100,200", "8,9", "VALUE:1", "VALUE:1A" ], [ "300,400", "0", "VALUE:2A", "VALUE:2A" ], [ "300,400", "1", "VALUE:2B", "VALUE:2B" ], [ "300,400", "8,9", "VALUE:2", "VALUE:2A" ], [ "575,600", "0", "VALUE:3A", "VALUE:3A" ], [ "575,600", "1", "VALUE:3B", "VALUE:3B" ], [ "575,600", "8,9", "VALUE:3", "VALUE:3A" ], [ "700,800", "0", "VALUE:4A", "VALUE:4A" ], [ "700,800", "1", "VALUE:4B", "VALUE:4B" ], [ "700,800", "8,9", "VALUE:4", "VALUE:4A" ], [ "750,999", "*", "VALUE:99", "VALUE:X" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_54754.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_54754.json deleted file mode 100644 index cd00130ff..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_54754.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pediatric_stage_54754", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Stage", - "title" : "Pediatric Stage", - "notes" : "calculates Pediatric Stage and Toronto Stage", - "last_modified" : "2023-11-18T02:30:02.491Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Ped Mets", - "type" : "INPUT" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "VALUE:Loc", "VALUE:M0" ], [ "15", "VALUE:Met", "VALUE:M1" ], [ "25", "VALUE:Met", "VALUE:M2" ], [ "35", "VALUE:Met", "VALUE:M3" ], [ "45", "VALUE:Met", "VALUE:M4" ], [ "70", "VALUE:Met", "VALUE:M4" ], [ "99", "VALUE:Unk", "VALUE:X" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_56655.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_56655.json deleted file mode 100644 index 9e273c53b..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_56655.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pediatric_stage_56655", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Stage", - "title" : "Pediatric Stage", - "notes" : "St Jude Murphy Staging", - "last_modified" : "2023-12-04T12:38:44.831Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Ped Primary Tumor", - "type" : "INPUT" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "VALUE:1", "VALUE:1" ], [ "200,300", "VALUE:2", "VALUE:2" ], [ "400,500,600", "VALUE:3", "VALUE:3" ], [ "800", "VALUE:4", "VALUE:4" ], [ "999", "VALUE:99", "VALUE:X" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_57755.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_57755.json deleted file mode 100644 index 24b395cf7..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_57755.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "pediatric_stage_57755", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Stage", - "title" : "Pediatric Stage", - "notes" : "calculates Pediatric Stage and Toronto Stage", - "last_modified" : "2023-11-18T02:54:25.898Z", - "definition" : [ { - "key" : "pediatric_t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "pediatric_n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "pediatric_m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "s_category_combined", - "name" : "S Category", - "type" : "INPUT" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "T1,T2,T3,T4", "N0", "M0", "9", "VALUE:1", "VALUE:1" ], [ "T1", "N0", "M0", "0", "VALUE:1A", "VALUE:1A" ], [ "T2,T3,T4", "N0", "M0", "0", "VALUE:1B", "VALUE:1B" ], [ "*", "N0", "M0", "1,2,3", "VALUE:1S", "VALUE:1S" ], [ "*", "N1,N2,N3", "M0", "9", "VALUE:2", "VALUE:2" ], [ "*", "N1", "M0", "0,1", "VALUE:2A", "VALUE:2A" ], [ "*", "N2", "M0", "0,1", "VALUE:2B", "VALUE:2B" ], [ "*", "N3", "M0", "0,1", "VALUE:2C", "VALUE:2C" ], [ "*", "*", "M1", "9", "VALUE:3", "VALUE:3" ], [ "*", "*", "M1", "0,1", "VALUE:3A", "VALUE:3A" ], [ "*", "N1,N2,N3", "M0", "2", "VALUE:3B", "VALUE:3B" ], [ "*", "*", "M1", "2", "VALUE:3B", "VALUE:3B" ], [ "*", "N1,N2,N3", "M0", "3", "VALUE:3C", "VALUE:3C" ], [ "*", "*", "M1", "3", "VALUE:3C", "VALUE:3C" ], [ "T0,TX", "N0", "M0", "0,9", "VALUE:99", "VALUE:X" ], [ "*", "NX", "M0", "*", "VALUE:99", "VALUE:X" ], [ "*", "*", "MX", "*", "VALUE:99", "VALUE:X" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_69576.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_69576.json deleted file mode 100644 index 31136705e..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_69576.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pediatric_stage_69576", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Stage", - "title" : "Pediatric Stage", - "notes" : "calculates Pediatric Stage and Toronto Stage", - "last_modified" : "2023-11-18T02:14:20.082Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Ped Mets", - "type" : "INPUT" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "VALUE:Loc", "VALUE:M0" ], [ "15", "VALUE:Met", "VALUE:M1" ], [ "25", "VALUE:Met", "VALUE:M2" ], [ "35", "VALUE:Met", "VALUE:M3" ], [ "45", "VALUE:Met", "VALUE:M4" ], [ "70", "VALUE:Met", "VALUE:M4" ], [ "99", "VALUE:Unk", "VALUE:X" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_70937.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_70937.json deleted file mode 100644 index ed1235229..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_70937.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "pediatric_stage_70937", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Stage", - "title" : "Pediatric Stage", - "notes" : "calculates Pediatric Stage and Toronto Stage", - "last_modified" : "2023-11-18T02:22:33.211Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Ped Mets", - "type" : "INPUT" - }, { - "key" : "pretext_clinical_staging", - "name" : "Pretext", - "type" : "INPUT" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "1", "VALUE:Loc", "VALUE:L1" ], [ "10,20,30,70", "1", "VALUE:Met", "VALUE:M1" ], [ "99 ", "1", "VALUE:Unk", "VALUE:X1" ], [ "00", "2", "VALUE:Loc", "VALUE:L2" ], [ "10,20,30,70", "2", "VALUE:Met", "VALUE:M2" ], [ "99", "2", "VALUE:Unk", "VALUE:X2" ], [ "00", "3", "VALUE:Loc", "VALUE:L3" ], [ "10,20,30,70", "3", "VALUE:Met", "VALUE:M3" ], [ "99", "3", "VALUE:Unk", "VALUE:X3" ], [ "00", "4", "VALUE:Loc", "VALUE:L4" ], [ "10,20,30,70", "4", "VALUE:Met", "VALUE:M4" ], [ "99", "4", "VALUE:Unk", "VALUE:X4" ], [ "00", "8,9", "VALUE:Loc", "VALUE:LX" ], [ "10,20,30,70", "8,9", "VALUE:Met", "VALUE:MX" ], [ "99", "8,9", "VALUE:Unk", "VALUE:XX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_78332.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_78332.json deleted file mode 100644 index 10308e9b0..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_78332.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "pediatric_stage_78332", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Stage", - "title" : "Pediatric Stage", - "notes" : "calculates Pediatric Stage and Toronto Stage", - "last_modified" : "2023-11-18T02:53:08.789Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Ped Primary Tumor", - "type" : "INPUT" - }, { - "key" : "ped_regional_nodes", - "name" : "Ped Regional Nodes", - "type" : "INPUT" - }, { - "key" : "ped_mets", - "name" : "Ped Mets", - "type" : "INPUT" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100,200", "000,999", "00,99", "VALUE:1", "VALUE:1" ], [ "300", "000,999", "00,99", "VALUE:2", "VALUE:2" ], [ "400", "000,999", "00,99", "VALUE:3", "VALUE:3" ], [ "*", "300,800", "00,99", "VALUE:3", "VALUE:3" ], [ "*", "*", "10-70", "VALUE:4", "VALUE:4" ], [ "800,999", "000,999", "00,99", "VALUE:99", "VALUE:X" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_79275.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_79275.json deleted file mode 100644 index 73a3b02e1..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_79275.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "pediatric_stage_79275", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Stage", - "title" : "Pediatric Stage", - "notes" : "calculates Pediatric Stage and Toronto Stage", - "last_modified" : "2023-11-18T02:41:05.121Z", - "definition" : [ { - "key" : "pediatric_t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "pediatric_n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "pediatric_m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "pediatric_grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "*", "N0,NX,88", "M0", "1,X", "VALUE:1", "VALUE:1" ], [ "T1", "N0,NX,88", "M0", "2,3", "VALUE:2", "VALUE:2" ], [ "T2,T3,T4", "N0,NX,88", "M0", "2,3", "VALUE:3", "VALUE:3" ], [ "*", "N1", "M0", "*", "VALUE:3", "VALUE:3" ], [ "*", "*", "M1", "*", "VALUE:4", "VALUE:4" ], [ "*", "*", "MX", "*", "VALUE:99", "VALUE:X" ], [ "TX", "N0,NX,88", "M0", "2,3", "VALUE:99", "VALUE:X" ], [ "T0", "N0,NX,88", "M0", "2,3", "ERROR:T0 implies no grade", "ERROR:T0 implies no grade" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_80420.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_80420.json deleted file mode 100644 index b4236c723..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_80420.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "pediatric_stage_80420", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Stage", - "title" : "Pediatric Stage", - "notes" : "International Neuroblastoma Staging System (INSS) (Pathological)", - "last_modified" : "2024-02-03T00:35:45.206Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Ped Primary Tumor", - "type" : "INPUT" - }, { - "key" : "ped_regional_nodes", - "name" : "Ped Regional Nodes", - "type" : "INPUT" - }, { - "key" : "ped_mets", - "name" : "Ped Mets", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Dx", - "type" : "INPUT" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100,300", "000,888,999", "00,99", "*", "VALUE:1" ], [ "200,400", "000,888,999", "00,99", "*", "VALUE:2A" ], [ "100,200,300,400", "100,800", "00,99", "*", "VALUE:2B" ], [ "100,200,300,400", "300", "00,99", "*", "VALUE:3" ], [ "100,200,300,400", "*", "10,70", "*", "VALUE:4" ], [ "100,200,300,400", "*", "20-50", "1-9,01-09,001-009,10-99,010-099,100-120,999", "VALUE:4" ], [ "100,200,300,400", "*", "20-50", "0,00,000", "VALUE:4S" ], [ "600", "000,888,999", "00,99", "*", "VALUE:3" ], [ "600", "100,800", "00,99", "*", "VALUE:3" ], [ "600", "300", "00,99", "*", "VALUE:3" ], [ "600", "*", "10-70", "*", "VALUE:4" ], [ "700", "000,888,999", "00,99", "*", "VALUE:3" ], [ "700", "100,800", "00,99", "*", "VALUE:3" ], [ "700", "300", "00,99", "*", "VALUE:3" ], [ "700", "*", "10-70", "*", "VALUE:4" ], [ "800,999", "000,888,999", "00,99", "*", "VALUE:99" ], [ "800,999", "100,800", "00,99", "*", "VALUE:2B" ], [ "800,999", "300", "00,99", "*", "VALUE:3" ], [ "800,999", "*", "10-70", "*", "VALUE:4" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_85957.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_85957.json deleted file mode 100644 index 56fe3c250..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_85957.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pediatric_stage_85957", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Stage", - "title" : "Pediatric Stage", - "notes" : "calculates Pediatric Stage and Toronto Stage", - "last_modified" : "2023-11-18T02:11:10.334Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Ped Mets", - "type" : "INPUT" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "VALUE:Loc", "VALUE:L" ], [ "10", "VALUE:Met", "VALUE:M" ], [ "70", "VALUE:Met", "VALUE:M" ], [ "99", "VALUE:Unk", "VALUE:X" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_94654.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_94654.json deleted file mode 100644 index 5736dc82f..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_stage_94654.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "pediatric_stage_94654", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric Stage", - "title" : "Pediatric Stage", - "notes" : "calculates Pediatric Stage and Toronto Stage\n\n*Favorable Primary Sites:* C000-C109, C130-C148, C239-C249, C320-C329, C444, C470, C490, C620-C669, C680-C689, C696, C739, C740-C750, C760-C768\n\n*Unfavorable Primary Sites:* C110-C129, C150-C221, C250-C319, C339-C443, C445-C449, C471-C488, C491-C619, C670-C679, C690-C695, C698-C729, C751-C759, C770-C809", - "last_modified" : "2023-11-20T15:33:10.623Z", - "definition" : [ { - "key" : "pediatric_t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "pediatric_n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "pediatric_m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "site", - "name" : "Site", - "type" : "INPUT" - }, { - "key" : "pediatric_group", - "name" : "Derived Pediatric Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "*", "*", "M0", "C000-C109,C130-C148,C239-C249,C320-C329,C444,C470,C490,C620-C669,C680-C689,C696,C739,C740-C750,C760-C768", "VALUE:1", "VALUE:1" ], [ "T0", "N0,NX,88", "M0", "C110-C129,C150-C221,C250-C319,C339-C443,C445-C449,C471-C488,C491-C619,C670-C679,C690-C695,C698-C729,C751-C759,C770-C809", "ERROR", "ERROR" ], [ "T1,T1a,T2,T2a", "N0,NX,88", "M0", "C110-C129,C150-C221,C250-C319,C339-C443,C445-C449,C471-C488,C491-C619,C670-C679,C690-C695,C698-C729,C751-C759,C770-C809", "VALUE:2", "VALUE:2" ], [ "TX", "N0,NX,88", "M0", "C110-C129,C150-C221,C250-C319,C339-C443,C445-C449,C471-C488,C491-C619,C670-C679,C690-C695,C698-C729,C751-C759,C770-C809", "VALUE:99", "VALUE:X" ], [ "T0", "N1", "M0", "C110-C129,C150-C221,C250-C319,C339-C443,C445-C449,C471-C488,C491-C619,C670-C679,C690-C695,C698-C729,C751-C759,C770-C809", "VALUE:3", "VALUE:3" ], [ "T1,T1a,T2,T2a", "N1", "M0", "C110-C129,C150-C221,C250-C319,C339-C443,C445-C449,C471-C488,C491-C619,C670-C679,C690-C695,C698-C729,C751-C759,C770-C809", "VALUE:3", "VALUE:3" ], [ "TX", "N1", "M0", "C110-C129,C150-C221,C250-C319,C339-C443,C445-C449,C471-C488,C491-C619,C670-C679,C690-C695,C698-C729,C751-C759,C770-C809", "VALUE:3", "VALUE:3" ], [ "T1b,T2b", "*", "M0", "C110-C129,C150-C221,C250-C319,C339-C443,C445-C449,C471-C488,C491-C619,C670-C679,C690-C695,C698-C729,C751-C759,C770-C809", "VALUE:3", "VALUE:3" ], [ "*", "*", "M1", "*", "VALUE:4", "VALUE:4" ], [ "*", "*", "MX", "*", "VALUE:99", "VALUE:X" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_59799.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_59799.json deleted file mode 100644 index 54a540b4e..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_59799.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "pediatric_t_59799", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric T", - "title" : "Pediatric T", - "notes" : "calculates Pediatric T and Toronto T", - "last_modified" : "2023-10-30T20:06:43.898Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Ped Primary Tumor", - "type" : "INPUT" - }, { - "key" : "size_summary", - "name" : "Tumor Size", - "type" : "INPUT" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "type" : "ENDPOINT" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "800", "000", "VALUE:T0", "VALUE:T0" ], [ "100", "999", "VALUE:T1", "VALUE:T1" ], [ "100", "001-050,990", "VALUE:T1a", "VALUE:T1a" ], [ "100", "051-989,998", "VALUE:T1b", "VALUE:T1b" ], [ "200,700", "999", "VALUE:T2", "VALUE:T2" ], [ "200,700", "001-050,990", "VALUE:T2a", "VALUE:T2a" ], [ "200,700", "051-989,998", "VALUE:T2b", "VALUE:T2b" ], [ "999", "*", "VALUE:TX", "VALUE:TX" ], [ "100,200,700", "000", "ERROR:Tumor Size of 000 should be used with Pediatric Primary Tumor 800", "ERROR:Tumor Size of 000 should be used with Pediatric Primary Tumor 800" ], [ "800", "001-999", "ERROR:Tumor Size of 000 should be used with Pediatric Primary Tumor 800", "ERROR:Tumor Size of 000 should be used with Pediatric Primary Tumor 800" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_65327.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_65327.json deleted file mode 100644 index deb4d8694..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_65327.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pediatric_t_65327", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric T", - "title" : "Pediatric T", - "notes" : "calculates Pediatric T and Toronto T", - "last_modified" : "2023-10-30T20:10:23.254Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Ped Primary Tumor", - "type" : "INPUT" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "type" : "ENDPOINT" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "200,250", "VALUE:T1", "VALUE:T1" ], [ "350,450", "VALUE:T2", "VALUE:T2" ], [ "500,600", "VALUE:T3", "VALUE:T3" ], [ "700", "VALUE:T4", "VALUE:T4" ], [ "800", "VALUE:T0", "VALUE:T0" ], [ "999", "VALUE:TX", "VALUE:TX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_75382.json b/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_75382.json deleted file mode 100644 index 75b5aef78..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pediatric_t_75382.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "pediatric_t_75382", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pediatric T", - "title" : "Pediatric T", - "notes" : "calculates Pediatric T and Toronto T", - "last_modified" : "2023-10-30T19:21:14.099Z", - "definition" : [ { - "key" : "ped_primary_tumor", - "name" : "Ped Primary Tumor", - "type" : "INPUT" - }, { - "key" : "size_summary", - "name" : "Tumor Size", - "type" : "INPUT" - }, { - "key" : "pediatric_t", - "name" : "Derived Pediatric T", - "type" : "ENDPOINT" - }, { - "key" : "toronto_t", - "name" : "Toronto T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100,200,700,999", "000", "ERROR:Tumor Size of 000 should be used with Pediatric Primary Tumor 800", "ERROR:Tumor Size of 000 should be used with Pediatric Primary Tumor 800" ], [ "100,200,700,999", "001-050,990", "VALUE:T1", "VALUE:T1" ], [ "100,200,700,999", "051-100", "VALUE:T2", "VALUE:T2" ], [ "100,200,700,999", "101-150", "VALUE:T3", "VALUE:T3" ], [ "100,200,700,999", "151-989,998", "VALUE:T4", "VALUE:T4" ], [ "100,200,700,999", "999", "VALUE:TX", "VALUE:TX" ], [ "800", "000,999", "VALUE:T0", "VALUE:T0" ], [ "800", "001-998", "ERROR:Tumor Size of 000 should be used with Pediatric Primary Tumor 800", "ERROR:Tumor Size of 000 should be used with Pediatric Primary Tumor 800" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/pretext_clinical_staging_39169.json b/src/test/resources/algorithms/pediatric/1.3/tables/pretext_clinical_staging_39169.json deleted file mode 100644 index 5cb3f6009..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/pretext_clinical_staging_39169.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "pretext_clinical_staging_39169", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Pretext Clinical Staging", - "title" : "Pretext Clinical Staging", - "description" : "PRETEXT stands for PRE-Treatment Extent of tumor. This field describes the extent of involvement within the four lobes of the liver at time of a pediatric liver tumor diagnosis. It is based off clinical imaging and was originally designed to standardize imaging evaluation and risk stratification of hepatoblastoma before neoadjuvant chemotherapy or tumor resection.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2024+\n* For cases diagnosed 2018-2023, this SSDI must be blank\n\n**Note 2:** **Criteria for coding**\n* This SSDI is based on imaging findings only. **Do not** code any findings from surgical resection in this data item. Evaluation must also be done prior to any neoadjuvant therapy\n\n**Note 3:** **Pretext Staging-Segments of the liver**\n* Caudate liver: Segment I \n**Note:** Involvement of the caudate liver is at minimum Stage 2\n* Left lateral section: Segments II & III\n* Left medial section: Segments IVA & IVB\n* Right anterior section: Segments V & VIII\n* Right posterior section: Segments VI & VII", - "last_modified" : "2024-04-10T16:52:03.858Z", - "definition" : [ { - "key" : "pretext_clinical_staging", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "One section involved; three adjoining sections are tumor free\n\nStage I, Pretext 1" ], [ "2", "One or two sections involved; two adjoining sections are tumor free\n\nStage 2, Pretext 2" ], [ "3", "Two or three sections involved; one adjoining section is tumor free\n\nStage 3, Pretext 3" ], [ "4", "Four sections involved\n\nStage 4, Pretext 4" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nCannot be determined by pathologist\nPRETEXT not assessed or unknown if assessed" ], [ "", "N/A - Diagnosis year is prior to 2024" ] ], - "rationale" : "After initially being created by the International Childhood Liver Tumours Strategy Group (SIOPEL) in 1990, PRETEXT was introduced for use within the United States in 2014 by the Children’s Oncology Group (COG) once radiographic imaging became more sophisticated and exploratory surgery at diagnosis was no longer advisable. It is used as a central component of risk stratification schemes that define treatment of hepatoblastoma." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/primary_site.json b/src/test/resources/algorithms/pediatric/1.3/tables/primary_site.json deleted file mode 100644 index 53585cffc..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/primary_site.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "primary_site", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Primary Site", - "title" : "Primary Site", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2022-06-15T18:02:00.903Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "desc", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "C000", "External upper lip" ], [ "C001", "External lower lip" ], [ "C002", "External lip, NOS" ], [ "C003", "Inner aspect, upper lip" ], [ "C004", "Inner aspect, lower lip" ], [ "C005", "Inner aspect of lip, NOS" ], [ "C006", "Commissure of lip" ], [ "C008", "Overlapping lesion of lip" ], [ "C009", "Lip, NOS" ], [ "C019", "Base of tongue" ], [ "C020", "Dorsal surface of tongue" ], [ "C021", "Border of tongue" ], [ "C022", "Ventral surface of tongue" ], [ "C023", "Anterior two-thirds of tongue, NOS" ], [ "C024", "Lingual tonsil" ], [ "C028", "Overlapping lesion of tongue" ], [ "C029", "Tongue, NOS" ], [ "C030", "Upper gum" ], [ "C031", "Lower gum" ], [ "C039", "Gum, NOS" ], [ "C040", "Anterior floor of mouth" ], [ "C041", "Lateral floor of mouth" ], [ "C048", "Overlapping lesion of floor of mouth" ], [ "C049", "Floor of mouth, NOS" ], [ "C050", "Hard palate" ], [ "C051", "Soft palate" ], [ "C052", "Uvula" ], [ "C058", "Overlapping lesion of palate" ], [ "C059", "Palate, NOS" ], [ "C060", "Cheek mucosa" ], [ "C061", "Vestibule of mouth" ], [ "C062", "Retromolar area" ], [ "C068", "Overlapping lesion of other & unspecified parts of mouth" ], [ "C069", "Mouth, NOS" ], [ "C079", "Parotid gland" ], [ "C080", "Submandibular gland" ], [ "C081", "Sublingual gland" ], [ "C088", "Overlapping lesion of major salivary glands" ], [ "C089", "Major salivary gland, NOS" ], [ "C090", "Tonsillar fossa" ], [ "C091", "Tonsillar pillar" ], [ "C098", "Overlapping lesion of tonsil" ], [ "C099", "Tonsil, NOS" ], [ "C100", "Vallecula" ], [ "C101", "Anterior surface of epiglottis" ], [ "C102", "Lateral wall of oropharynx" ], [ "C103", "Posterior wall of oropharynx" ], [ "C104", "Branchial cleft" ], [ "C108", "Overlapping lesion of oropharynx" ], [ "C109", "Oropharynx, NOS" ], [ "C110", "Superior wall of nasopharynx" ], [ "C111", "Posterior wall of nasopharynx" ], [ "C112", "Lateral wall of nasopharynx" ], [ "C113", "Anterior wall of nasopharynx" ], [ "C118", "Overlapping lesion of nasopharynx" ], [ "C119", "Nasopharynx, NOS" ], [ "C129", "Pyriform sinus" ], [ "C130", "Postcricoid region" ], [ "C131", "Aryepiglottic fold, hypopharyngeal aspect" ], [ "C132", "Posterior wall of hypopharynx" ], [ "C138", "Overlapping lesion of hypopharynx" ], [ "C139", "Hypopharynx, NOS" ], [ "C140", "Pharynx, NOS" ], [ "C142", "Waldeyer's ring" ], [ "C148", "Overlapping lesion of lip, oral cavity & pharynx" ], [ "C150", "Cervical part of esophagus" ], [ "C151", "Thoracic part of esophagus" ], [ "C152", "Abdominal part of esophagus" ], [ "C153", "Upper third of esophagus" ], [ "C154", "Middle third of esophagus" ], [ "C155", "Lower third of esophagus" ], [ "C158", "Overlapping lesion of esophagus" ], [ "C159", "Esophagus, NOS" ], [ "C160", "Cardia" ], [ "C161", "Fundus of stomach" ], [ "C162", "Body of stomach" ], [ "C163", "Gastric antrum" ], [ "C164", "Pylorus" ], [ "C165", "Lesser curvature of stomach, NOS" ], [ "C166", "Greater curvature of stomach, NOS" ], [ "C168", "Overlapping lesion of stomach" ], [ "C169", "Stomach, NOS" ], [ "C170", "Duodenum" ], [ "C171", "Jejunum" ], [ "C172", "Ileum" ], [ "C173", "Meckel diverticulum" ], [ "C178", "Overlapping lesion of small intestine" ], [ "C179", "Small intestine, NOS" ], [ "C180", "Cecum" ], [ "C181", "Appendix" ], [ "C182", "Ascending colon" ], [ "C183", "Hepatic flexure of colon" ], [ "C184", "Transverse colon" ], [ "C185", "Splenic flexure of colon" ], [ "C186", "Descending colon" ], [ "C187", "Sigmoid colon" ], [ "C188", "Overlapping lesion of colon" ], [ "C189", "Colon, NOS" ], [ "C199", "Rectosigmoid junction" ], [ "C209", "Rectum" ], [ "C210", "Anus, NOS" ], [ "C211", "Anal canal" ], [ "C212", "Cloacogenic zone" ], [ "C218", "Overlapping lesion of rectum, anus & anal canal" ], [ "C220", "Liver" ], [ "C221", "Intrahepatic bile duct" ], [ "C239", "Gallbladder" ], [ "C240", "Extrahepatic bile duct" ], [ "C241", "Ampulla of vater" ], [ "C248", "Overlapping lesion of biliary tract" ], [ "C249", "Biliary tract, NOS" ], [ "C250", "Head of pancreas" ], [ "C251", "Body of pancreas" ], [ "C252", "Tail of pancreas" ], [ "C253", "Pancreatic duct" ], [ "C254", "Endocrine pancreas" ], [ "C257", "Oth parts of pancreas" ], [ "C258", "Overlapping lesion of pancreas" ], [ "C259", "Pancreas, NOS" ], [ "C260", "Intestinal tract, NOS" ], [ "C268", "Overlapping lesion of digestive system" ], [ "C269", "Gastrointestinal tract, NOS" ], [ "C300", "Nasal cavity" ], [ "C301", "Middle ear" ], [ "C310", "Maxillary sinus" ], [ "C311", "Ethmoidal sinus" ], [ "C312", "Frontal sinus" ], [ "C313", "Sphenoidal sinus" ], [ "C318", "Overlapping lesion of accessory sinuses" ], [ "C319", "Accessory sinus, NOS" ], [ "C320", "Glottis" ], [ "C321", "Supraglottis" ], [ "C322", "Subglottis" ], [ "C323", "Laryngeal cartilage" ], [ "C328", "Overlapping lesion of larynx" ], [ "C329", "Larynx, NOS" ], [ "C339", "Trachea" ], [ "C340", "Main bronchus" ], [ "C341", "Upper lobe, bronchus or lung" ], [ "C342", "Middle lobe, bronchus or lung" ], [ "C343", "Lower lobe, bronchus or lung" ], [ "C348", "Overlapping lesion of bronchus & lung" ], [ "C349", "Bronchus or lung, NOS" ], [ "C379", "Thymus" ], [ "C380", "Heart" ], [ "C381", "Anterior mediastinum" ], [ "C382", "Posterior mediastinum" ], [ "C383", "Mediastinum, NOS" ], [ "C384", "Pleura" ], [ "C388", "Overlapping lesion of heart, mediastinum & pleura" ], [ "C390", "Upper respiratory tract, NOS" ], [ "C398", "Overlapping lesion of respiratory & intrathoracic organs" ], [ "C399", "Ill-defined sites within respiratory system" ], [ "C400", "Long bones of upper limb, scapula and associative joints" ], [ "C401", "Short bones of upper limb and associative joints" ], [ "C402", "Long bones of lower limb and associative joints" ], [ "C403", "Short bones of lower limb and associative joints" ], [ "C408", "Overlapping lesion of bone & articular cartilage of limbs" ], [ "C409", "Bone & articular cartilage of limb, NOS" ], [ "C410", "Bones of skull & face" ], [ "C411", "Mandible" ], [ "C412", "Vertebral column" ], [ "C413", "Ribs, sternum & clavicle" ], [ "C414", "Pelvic bones, sacrum & coccyx" ], [ "C418", "Overlapping lesion of bone & articular cartilage" ], [ "C419", "Bone & articular cartilage, NOS" ], [ "C420", "Blood" ], [ "C421", "Bone marrow" ], [ "C422", "Spleen" ], [ "C423", "Reticuloendothelial system, NOS" ], [ "C424", "Hematopoietic system, NOS" ], [ "C440", "Skin of lip" ], [ "C441", "Skin of eyelid" ], [ "C442", "Skin of ear & external auricular canal" ], [ "C443", "Skin of other & unspecified parts of face" ], [ "C444", "Skin of scalp & neck" ], [ "C445", "Skin of trunk" ], [ "C446", "Skin of upper limb and shoulder" ], [ "C447", "Skin of lower limb and hip" ], [ "C448", "Overlapping lesion of skin" ], [ "C449", "Skin, NOS" ], [ "C470", "Peripheral nerves of head, face & neck" ], [ "C471", "Peripheral nerves of upper limb and shoulder" ], [ "C472", "Peripheral nerves of lower limb and hip" ], [ "C473", "Peripheral nerves of thorax" ], [ "C474", "Peripheral nerves of abdomen" ], [ "C475", "Peripheral nerves of pelvis" ], [ "C476", "Peripheral nerves of trunk, NOS" ], [ "C478", "Overlapping lesion of peripheral nerves & autonomic nervous system" ], [ "C479", "Peripheral nerves & autonomic nervous system, NOS" ], [ "C480", "Retroperitoneum" ], [ "C481", "Specified parts of peritoneum" ], [ "C482", "Peritoneum, NOS" ], [ "C488", "Overlapping lesion of retroperitoneum & peritoneum" ], [ "C490", "Connective & soft tissue of head, face & neck" ], [ "C491", "Connective & soft tissue of upper limb and shoulder" ], [ "C492", "Connective & soft tissue of lower limb and hip" ], [ "C493", "Connective & soft tissue of thorax" ], [ "C494", "Connective & soft tissue of abdomen" ], [ "C495", "Connective & soft tissue of pelvis" ], [ "C496", "Connective & soft tissue of trunk, NOS" ], [ "C498", "Overlapping lesion of connective & soft tissue" ], [ "C499", "Connective & soft tissue, NOS" ], [ "C500", "Nipple & areola" ], [ "C501", "Central portion of breast" ], [ "C502", "Upper-inner quadrant of breast" ], [ "C503", "Lower-inner quadrant of breast" ], [ "C504", "Upper-outer quadrant of breast" ], [ "C505", "Lower-outer quadrant of breast" ], [ "C506", "Axillary tail of breast" ], [ "C508", "Overlapping lesion of breast" ], [ "C509", "Breast, NOS" ], [ "C510", "Labium majus" ], [ "C511", "Labium minus" ], [ "C512", "Clitoris" ], [ "C518", "Overlapping lesion of vulva" ], [ "C519", "Vulva, NOS" ], [ "C529", "Vagina" ], [ "C530", "Endocervix" ], [ "C531", "Exocervix" ], [ "C538", "Overlapping lesion of cervix uteri" ], [ "C539", "Cervix uteri, NOS" ], [ "C540", "Isthmus uteri" ], [ "C541", "Endometrium" ], [ "C542", "Myometrium" ], [ "C543", "Fundus uteri" ], [ "C548", "Overlapping lesion of corpus uteri" ], [ "C549", "Corpus uteri, NOS" ], [ "C559", "Uterus" ], [ "C569", "Ovary" ], [ "C570", "Fallopian tube" ], [ "C571", "Broad ligament" ], [ "C572", "Round ligament" ], [ "C573", "Parametrium" ], [ "C574", "Uterine adnexa" ], [ "C577", "Oth specified female genital organs" ], [ "C578", "Overlapping lesion of female genital organs" ], [ "C579", "Female genital organ, NOS" ], [ "C589", "Placenta" ], [ "C600", "Prepuce" ], [ "C601", "Glans penis" ], [ "C602", "Body of penis" ], [ "C608", "Overlapping lesion of penis" ], [ "C609", "Penis, NOS" ], [ "C619", "Prostate" ], [ "C620", "Undescended testis" ], [ "C621", "Descended testis" ], [ "C629", "Testis, NOS" ], [ "C630", "Epididymis" ], [ "C631", "Spermatic cord" ], [ "C632", "Scrotum" ], [ "C637", "Oth specified male genital organs" ], [ "C638", "Overlapping lesion of male genital organs" ], [ "C639", "Male genital organ, NOS" ], [ "C649", "Kidney, except renal pelvis" ], [ "C659", "Renal pelvis" ], [ "C669", "Ureter" ], [ "C670", "Trigone of bladder" ], [ "C671", "Dome of bladder" ], [ "C672", "Lateral wall of bladder" ], [ "C673", "Anterior wall of bladder" ], [ "C674", "Posterior wall of bladder" ], [ "C675", "Bladder neck" ], [ "C676", "Ureteric orifice" ], [ "C677", "Urachus" ], [ "C678", "Overlapping lesion of bladder" ], [ "C679", "Bladder, NOS" ], [ "C680", "Urethra" ], [ "C681", "Paraurethral glands" ], [ "C688", "Overlapping lesion of urinary organs" ], [ "C689", "Urinary system, NOS" ], [ "C690", "Conjunctiva" ], [ "C691", "Cornea" ], [ "C692", "Retina" ], [ "C693", "Choroid" ], [ "C694", "Ciliary body" ], [ "C695", "Lachrymal gland & duct" ], [ "C696", "Orbit" ], [ "C698", "Overlapping lesion of eye & adnexa" ], [ "C699", "Eye, NOS" ], [ "C700", "Cerebral meninges" ], [ "C701", "Spinal meninges" ], [ "C709", "Meninges, NOS" ], [ "C710", "Cerebrum, except lobes & ventricles" ], [ "C711", "Frontal lobe" ], [ "C712", "Temporal lobe" ], [ "C713", "Parietal lobe" ], [ "C714", "Occipital lobe" ], [ "C715", "Cerebral ventricle" ], [ "C716", "Cerebellum" ], [ "C717", "Brain stem" ], [ "C718", "Overlapping lesion of brain" ], [ "C719", "Brain, NOS" ], [ "C720", "Spinal cord" ], [ "C721", "Cauda equina" ], [ "C722", "Olfactory nerve" ], [ "C723", "Optic nerve" ], [ "C724", "Acoustic nerve" ], [ "C725", "Cranial nerves, NOS" ], [ "C728", "Overlapping lesion of brain & central nervous system" ], [ "C729", "Central nervous system, NOS" ], [ "C739", "Thyroid gland" ], [ "C740", "Cortex of adrenal gland" ], [ "C741", "Medulla of adrenal gland" ], [ "C749", "Adrenal gland, NOS" ], [ "C750", "Parathyroid gland" ], [ "C751", "Pituitary gland" ], [ "C752", "Craniopharyngeal duct" ], [ "C753", "Pineal gland" ], [ "C754", "Carotid body" ], [ "C755", "Aortic body & other paraganglia" ], [ "C758", "Overlapping lesion of endocrine gland" ], [ "C759", "Endocrine gland, NOS" ], [ "C760", "Head, face & neck, NOS" ], [ "C761", "Thorax, NOS" ], [ "C762", "Abdomen, NOS" ], [ "C763", "Pelvis, NOS" ], [ "C764", "Upper limb, NOS" ], [ "C765", "Lower limb, NOS" ], [ "C767", "Other ill-defined sites" ], [ "C768", "Overlapping lesion of ill-defined sites" ], [ "C770", "Lymph nodes of head, face & neck" ], [ "C771", "Intrathoracic lymph nodes" ], [ "C772", "Intra-abdominal lymph nodes" ], [ "C773", "Axillary & upper limb lymph nodes" ], [ "C774", "Inguinal & lower limb lymph nodes" ], [ "C775", "Pelvic lymph nodes" ], [ "C778", "Lymph nodes of multiple regions" ], [ "C779", "Lymph nodes, NOS" ], [ "C809", "Unknown primary site" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/rx_summ_surg_2023_retinoblastoma_97268.json b/src/test/resources/algorithms/pediatric/1.3/tables/rx_summ_surg_2023_retinoblastoma_97268.json deleted file mode 100644 index e9e205379..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/rx_summ_surg_2023_retinoblastoma_97268.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "id" : "rx_summ_surg_2023_retinoblastoma_97268", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "RX Summ Surg 2023 Retinoblastoma", - "title" : "RX Summ Surg 2023 All Other Sites", - "description" : "This list of valid surgery codes used for validation only. This should NOT be used to code surgery, please use the same resources you would for an adult.", - "last_modified" : "2025-02-07T18:20:21.140Z", - "definition" : [ { - "key" : "surg_2023", - "name" : "Code", - "type" : "INPUT" - } ], - "rows" : [ [ "A000" ], [ "A100" ], [ "A110" ], [ "A120" ], [ "A130" ], [ "A140" ], [ "A200" ], [ "A260" ], [ "A270" ], [ "A210" ], [ "A220" ], [ "A230" ], [ "A240" ], [ "A250" ], [ "A300" ], [ "A400" ], [ "A410" ], [ "A500" ], [ "A600" ], [ "A900" ], [ "A990" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/rx_summ_surgical_margins_47287.json b/src/test/resources/algorithms/pediatric/1.3/tables/rx_summ_surgical_margins_47287.json deleted file mode 100644 index ab80cf918..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/rx_summ_surgical_margins_47287.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "id" : "rx_summ_surgical_margins_47287", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "RX Summ Surgical Margins", - "title" : "RX Summ Surgical Margins", - "description" : "This list of valid surgical margin codes used for validation only. This should NOT be used to code surgical margins, please use the same resources you would for an adult.", - "last_modified" : "2025-02-07T18:18:37.147Z", - "definition" : [ { - "key" : "surgical_margins", - "name" : "Code", - "type" : "INPUT" - } ], - "rows" : [ [ "0" ], [ "1" ], [ "2" ], [ "3" ], [ "7" ], [ "8" ], [ "9" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/s_category_clinical_11368.json b/src/test/resources/algorithms/pediatric/1.3/tables/s_category_clinical_11368.json deleted file mode 100644 index 90a7ad884..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/s_category_clinical_11368.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "s_category_clinical_11368", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "S Category Clinical", - "title" : "Testis Serum Markers (S) Clinical (pre orchiectomy)", - "description" : "S Category Clinical combines the results of pre-orchiectomy Alpha Fetoprotein (AFP), Human Chorionic Gonadotropin (hCG) and Lactate Dehydrogenase (LDH) into a summary S value.\n\nIn addition to T, N, and M, the S category is collected to stage Testicular cancers. There are three factors that make up the S stage: alpha-fetoprotein (AFP), beta-human chorionic gonadotropin (beta-hCG), and lactase dehydrogenase (LDH). These play an important role as serum tumor markers in the staging and monitoring of germ cell tumors and should be measured prior to removing the involved testicle. For patients with nonseminomas, the degree of tumor-marker elevation after the cancerous testicular has been removed is one of the most significant predictors of prognosis. Serum tumor markers are also very useful for monitoring all stages of nonseminomas and for monitoring metastatic seminomas because elevated marker levels are often the earliest sign of relapse.\n\nThere are several related data items pertinent to the collection of these variables.\n\nFor clinical staging \n* 3807: AFP Pre-Orchiectomy Lab Value\n* 3808: AFP Pre-Orchiectomy Range\n* 3848: hCG Pre-Orchiectomy Lab Value\n* 3849: hCG Pre-Orchiectomy Range\n* 3868: LDH Pre-Orchiectomy Range\n* 3923: S Category Clinical", - "notes" : "**Note 1:** **Physician Statement** \n* Code the S category as described by the physician. If the S category determined by available lab values or calculated by vendor software differs from the physician statement of the S category, the physician's statement takes precedence. \n\n**Note 2:** **Pre-orchiectomy S category** \n* Code the pre-orchiectomy S category (Clinical S) according to the table below. This table is also available in AJCC 8th edition, Chapter 59, Testis.\n* For AFP, a lab value expressed in micrograms per liter (ug/L) is equivalent to the same value expressed in nanograms per milliliter (ng/ml).\n\n**Note 3:** **Clinical Stage** \n* Clinical stage values are those based on physician statement or lab values at diagnosis, prior to orchiectomy, and prior to any systemic treatment.\n\n**Note 4:** **AFP, hCG, LDH** \n* All three lab values are needed for S0-S1. Only one elevated test is needed to assign S2-3. If any individual test is not available and none of the available test results meet the S2-3 criterion for that test, assign code 9 (SX).", - "last_modified" : "2025-11-07T14:35:31.205Z", - "definition" : [ { - "key" : "s_category_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "S0: Marker study levels within normal levels" ], [ "1", "S1: At least one of these values is elevated AND\n- LDH less than 1.5 x N* AND\n- hCG (mIU/L) less than 5,000 AND \n- AFP (ng/mL) less than 1,000" ], [ "2", "S2:\n- LDH 1.5 x N* to 10 x N* OR \n- hCG (mIU/L) 5,000 to 50,000 OR \n- AFP (ng/mL) 1,000 to 10,000" ], [ "3", "S3: Only one elevated test is needed\n- LDH greater than 10 x N* OR \n- hcG (mIU/mL) greater than 50,000 OR \n- AFP (ng/mL) greater than 10,000" ], [ "9", "SX: Not documented in medical record\nS Category Clinical not assessed or unknown if assessed" ] ], - "rationale" : "S Category Clinical is required for prognostic stage grouping in Chapter 59 Testis. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/s_category_pathological_46197.json b/src/test/resources/algorithms/pediatric/1.3/tables/s_category_pathological_46197.json deleted file mode 100644 index b3e1d639f..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/s_category_pathological_46197.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "s_category_pathological_46197", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "S Category Pathological", - "title" : "Testis Serum Markers (S) Pathological (post-orchiectomy )", - "description" : "S Category Pathological combines the results of post-orchiectomy Alpha Fetoprotein (AFP), Human Chorionic Gonadotropin (hCG) and Lactate Dehydrogenase (LDH) into a summary S value.\n\nIn addition to T, N, and M, the S category is collected to stage Testicular cancers. There are three factors that make up the S stage: alpha-fetoprotein (AFP), beta-human chorionic gonadotropin (beta-hCG), and lactase dehydrogenase (LDH). These play an important role as serum tumor markers in the staging and monitoring of germ cell tumors and should be measured prior to removing the involved testicle. For patients with nonseminomas, the degree of tumor-marker elevation after the cancerous testicular has been removed is one of the most significant predictors of prognosis. Serum tumor markers are also very useful for monitoring all stages of nonseminomas and for monitoring metastatic seminomas because elevated marker levels are often the earliest sign of relapse.\n\nThere are several related data items pertinent to the collection of these variables.\n\nFor pathological staging \n* 3805: AFP Post-Orchiectomy Lab Value\n* 3806: AFP Post-Orchiectomy Range\n* 3846: hCG Post-Orchiectomy Lab Value\n* 3847: hCG Post-Orchiectomy Range\n* 3867: LDH Post-Orchiectomy Range\n* 3924: S Category Pathological", - "notes" : "**Note 1:** **Physician Statement** \n* Code the S category as described by the physician. If the S category determined by available lab values or calculated by vendor software differs from the physician statement of the S category, the physician's statement takes precedence. \n\n**Note 2:** **Post-orchiectomy S Category** \n* Code the post-orchiectomy S category (Pathological S) according to the table below. This table is also available in AJCC 8th edition, Chapter 59, Testis.\n* For AFP, a lab value expressed in micrograms per liter (ug/L) is equivalent to the same value expressed in nanograms per milliliter (ng/ml).\n\n**Note 3:** **Timing** \n* Pathological stage values are those based on physician statement or lab values **after orchiectomy and prior to adjuvant therapy**. \n\n**Note 4:** **Lab values elevated after orchiectomy** \n* If the initial post-orchiectomy lab values remain elevated, review the subsequent tests and use the lowest lab values (normalization or plateau) prior to adjuvant therapy or before the value rises again.\n\n**Note 5:** **AFP, hCG, LDH** \n* All three lab values are needed for S0-S1. Only one elevated test is needed to assign S2-3. If any individual test is not available and none of the available test results meet the S2-3 criterion for that test, assign code 9 (SX).\n\n**Note 6:** **Normal Serum Tumor Markers (pre-orchiectomy)** \n* When all the serum tumor markers are normal pre-orchiectomy and they are not repeated post-orchiectomy, code 5.", - "last_modified" : "2025-11-07T14:35:50.893Z", - "definition" : [ { - "key" : "s_category_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "S0: Marker study levels within normal levels" ], [ "1", "S1: At least one of these values is elevated AND\n- LDH less than 1.5 x N* AND\n- hCG (mIU/L) less than 5,000 AND \n- AFP (ng/mL) less than 1,000" ], [ "2", "S2:\n- LDH 1.5 x N* to 10 x N* OR \n- hCG (mIU/L) 5,000 to 50,000 OR \n- AFP (ng/mL) 1,000 to 10,000" ], [ "3", "S3: Only one elevated test is needed\n- LDH greater than 10 x N* OR \n- hCG (mIU/mL) greater than 50,000 OR \n- AFP (ng/mL) greater than 10,000" ], [ "5", "Post orchiectomy serum tumor markers unknown or not done but pre orchiectomy serum tumor markers were normal" ], [ "9", "SX: Not documented in medical record\nS Category Pathological not assessed or unknown if assessed" ] ], - "rationale" : "S Category Pathological is required for prognostic stage grouping in AJCC 8th edition, Chapter 59 Testis. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_acute_lymphoblastic_leukemia.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_acute_lymphoblastic_leukemia.json deleted file mode 100644 index dcb0921eb..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_acute_lymphoblastic_leukemia.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_acute_lymphoblastic_leukemia", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Acute Lymphoblastic Leukemia", - "title" : "Schema selection for Acute Lymphoblastic Leukemia", - "last_modified" : "2024-05-03T18:26:52.507Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C809", "9811-9819, 9837", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_adult_other_non_pediatric.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_adult_other_non_pediatric.json deleted file mode 100644 index 6baaa3710..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_adult_other_non_pediatric.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_adult_other_non_pediatric", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Adult/Other Non-Pediatric", - "title" : "Schema selection for Adult/Other Non-Pediatric", - "last_modified" : "2024-08-01T18:19:24.591Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C809", "8010-8586, 8588-8700,8714-8790,8816-8818,8828, 8859, 8930-8951, 8971-8981, 8983, 8992-9030, 9045-9055, 9086, 9102-9111, 9126, 9137-9140, 9211-9213, 9222, 9350-9361, 9366-9368, 9381-9382, 9385, 9390, 9395, 9412-9413, 9425-9432, 9444, 9450-9460, 9492-9493, 9505-9507, 9509, 9520-9539, 9582-9590, 9596-9597, 9700-9701, 9708-9712, 9718-9719, 9725-9727, 9740-9759, 9800-9809, 9820, 9826, 9831-9834, 9840-9968, 9971, 9975-9993", "*", "*", "MATCH" ], [ "C000-C218, C221-C809", "8970", "*", "*", "MATCH" ], [ "C000-C399, C420-C488, C500-C759, C770-C779", "9180, 9210, 9220, 9240", "*", "*", "MATCH" ], [ "C000-C399, C420-C639, C659-C809", "8000-8005", "*", "*", "MATCH" ], [ "C000-C399, C420-C759, C770-C779", "9181-9187, 9191-9195, 9200, 9221, 9230, 9241-9243", "*", "*", "MATCH" ], [ "C000-C399, C420-C809", "8812, 9250, 9261-9342, 9363, 9370-9372", "*", "*", "MATCH" ], [ "C000-C559, C570-C619, C630-C809", "9060-9085, 9090-9101", "*", "*", "MATCH" ], [ "C000-C639, C669-C809", "8959-8960, 8964-8967", "*", "*", "MATCH" ], [ "C000-C689, C700-C809", "9510-9514", "*", "*", "MATCH" ], [ "C000-C699, C739-C752, C754-C809", "9362", "*", "*", "MATCH" ], [ "C000-C699, C739-C809", "9380, 9384, 9400-9411, 9420-9424, 9440-9442, 9445, 9470-9480, 9501-9504, 9508", "*", "*", "MATCH" ], [ "C000-C709, C739-C809", "9383, 9391-9394, 9396", "*", "*", "MATCH" ], [ "C400-C424, C770-C779", "8813-8815, 8821, 8834-8835", "*", "*", "MATCH" ], [ "C400-C424, C770-C809", "8802", "*", "*", "MATCH" ], [ "C420-C424, C770-C779", "8810-8811, 8823, 8830", "*", "*", "MATCH" ], [ "C420-C424, C770-C809", "8800-8801, 8803-8805", "*", "*", "MATCH" ], [ "C420-C449, C649, C770-C779", "9365", "*", "*", "MATCH" ], [ "C420-C449, C700-C729, C770-C779", "9364", "*", "*", "MATCH" ], [ "C420-C449, C770-C779", "9260", "*", "*", "MATCH" ], [ "C440-C449", "9591, 9671, 9673, 9678, 9679, 9680, 9687, 9688-9689, 9690-9691, 9695, 9698-9699, 9702, 9705, 9714-9717, 9724, 9731-9732, 9734, 9735, 9737-9738, 9761-9762, 9765-9766, 9767-9768, 9769, 9823, 9827, 9970", "*", "*", "MATCH" ], [ "C700-C729, C770-C779", "8963", "*", "*", "MATCH" ], [ "C000-C809", "8587, 8710-8713, 8806, 8820, 8822, 8824-8827, 8831-8833, 8836, 8840-8858, 8860-8898, 8900-8905, 8920, 8921, 8982, 8990, 8991, 9040-9044, 9120-9125, 9130-9133, 9135-9136, 9141, 9142, 9150, 9160, 9161-9175, 9231, 9251, 9252, 9373, 9491, 9540-9581, 9650-9653, 9655, 9659, 9663, 9811-9819, 9837", "40-120, 999", "*", "MATCH" ], [ "C000-C399, C440-C768", "8802", "40-120, 999", "*", "MATCH" ], [ "C000-C399, C440-C768, C809", "8813-8815, 8821, 8834-8835", "40-120, 999", "*", "MATCH" ], [ "C000-C419, C440-C768", "8800-8801, 8803-8805", "40-120, 999", "*", "MATCH" ], [ "C000-C419, C440-C768, C809", "8810-8811, 8823, 8830", "40-120, 999", "*", "MATCH" ], [ "C000-C419, C470-C639, C659-C699, C739-C768, C809", "9364", "40-120, 999", "*", "MATCH" ], [ "C000-C419, C470-C639, C659-C768, C809", "9365", "40-120, 999", "*", "MATCH" ], [ "C000-C419, C470-C768, C809", "9260", "40-120, 999", "*", "MATCH" ], [ "C000-C424, C470-C809", "9591, 9671, 9673, 9678, 9679, 9680, 9687, 9688-9689, 9690-9691, 9695, 9698-9699, 9702, 9705, 9714-9717, 9724, 9731-9732, 9734, 9735, 9737-9738, 9761-9762, 9765-9766, 9767-9768, 9769, 9823, 9827, 9970", "40-120, 999", "*", "MATCH" ], [ "C000-C639, C659-C699, C739-C768, C809", "8963", "40-120, 999", "*", "MATCH" ], [ "C400-C419", "8812, 9250, 9261-9342, 9363, 9370-9372", "40-120, 999", "*", "MATCH" ], [ "C400-C419, C490-C499, C760-C768, C809", "9180, 9210, 9220, 9240", "40-120, 999", "*", "MATCH" ], [ "C400-C419, C649", "8000-8005", "40-120, 999", "*", "MATCH" ], [ "C400-C419, C760-C768, C809", "9181-9187, 9191-9195, 9200, 9221, 9230, 9241-9243", "40-120, 999", "*", "MATCH" ], [ "C569, C620-C629", "9060-9085, 9090-9101", "40-120, 999", "*", "MATCH" ], [ "C649, C659", "8964-8967", "40-120, 999", "*", "MATCH" ], [ "C700-C729", "9380, 9384, 9400-9411, 9420-9424, 9440-9442, 9445", "40-120, 999", "*", "MATCH" ], [ "C000-C809", "8910, 8912, 9490, 9500", "*", "0, 1, 2", "MATCH" ], [ "C220", "8970", "*", "0, 1, 2", "MATCH" ], [ "C649", "8963, 9364", "*", "0, 1, 2", "MATCH" ], [ "C649, C659", "8959, 8960", "*", "0, 1, 2", "MATCH" ], [ "C690-C699", "9510-9514", "*", "0, 1, 2", "MATCH" ], [ "C000-C809", "8587, 8710-8713, 8806, 8820, 8822, 8824-8827, 8831-8833, 8836, 8840-8858, 8860-8898, 8900-8905, 8920, 8921, 8982, 8990, 8991, 9040-9044, 9120-9125, 9130-9133, 9135-9136, 9141, 9142, 9150, 9160, 9161-9175, 9231, 9251, 9252, 9373, 9491, 9540-9581, 9650-9653, 9655, 9659, 9663, 9811-9819, 9837", "0-39", "0,1,2", "MATCH" ], [ "C000-C399, C440-C768", "8802", "0-39", "0,1,2", "MATCH" ], [ "C000-C399, C440-C768, C809", "8813-8815, 8821, 8834-8835", "0-39", "0, 1, 2", "MATCH" ], [ "C000-C419, C440-C768", "8800-8801, 8803-8805", "0-39", "0, 1, 2", "MATCH" ], [ "C000-C419, C440-C768, C809", "8810-8811, 8823, 8830", "0-39", "0, 1, 2", "MATCH" ], [ "C000-C419, C470-C639, C659-C699, C739-C768, C809", "9364", "0-39", "0, 1, 2", "MATCH" ], [ "C000-C419, C470-C639, C659-C768, C809", "9365", "0-39", "0, 1, 2", "MATCH" ], [ "C000-C419, C470-C768, C809", "9260", "0-39", "0, 1, 2", "MATCH" ], [ "C000-C424, C470-C809", "9591, 9671, 9673, 9678, 9679, 9680, 9687, 9688-9689, 9690-9691, 9695, 9698-9699, 9702, 9705, 9714-9717, 9724, 9731-9732, 9734, 9735, 9737-9738, 9761-9762, 9765-9766, 9767-9768, 9769, 9823, 9827, 9970", "0-39", "0, 1, 2", "MATCH" ], [ "C000-C639, C659-C699, C739-C768, C809", "8963", "0-39", "0, 1, 2", "MATCH" ], [ "C400-C419", "8812, 9250, 9261-9342, 9363, 9370-9372", "0-39", "0, 1, 2", "MATCH" ], [ "C400-C419, C490-C499, C760-C768, C809", "9180, 9210, 9220, 9240", "0-39", "0, 1, 2", "MATCH" ], [ "C400-C419, C649, C649", "8000-8005", "0-39", "0, 1, 2", "MATCH" ], [ "C400-C419, C760-C768, C809", "9181-9187, 9191-9195, 9200, 9221, 9230, 9241-9243", "0-39", "0, 1, 2", "MATCH" ], [ "C569, C620-C629", "9060-9085, 9090-9101", "0-39", "0, 1, 2", "MATCH" ], [ "C649, C659", "8964-8967", "0-39", "0, 1, 2", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_astrocytoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_astrocytoma.json deleted file mode 100644 index af0f6cdb9..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_astrocytoma.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_astrocytoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Astrocytoma", - "title" : "Schema selection for Astrocytoma", - "last_modified" : "2024-05-03T18:43:50.886Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C700-C729", "9380, 9384, 9400-9411, 9420-9424, 9440-9442, 9445", "0-39", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_ependymoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_ependymoma.json deleted file mode 100644 index d50a6df7d..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_ependymoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_ependymoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Ependymoma", - "title" : "Schema selection for Ependymoma", - "last_modified" : "2024-05-03T18:43:43.261Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C710-C729", "9383, 9391-9394, 9396", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_hepatoblastoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_hepatoblastoma.json deleted file mode 100644 index 547c5c12a..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_hepatoblastoma.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_hepatoblastoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Hepatoblastoma", - "title" : "Schema selection for Hepatoblastoma", - "last_modified" : "2025-09-23T19:02:19.045Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C220", "8970", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_hodgkin_lymphoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_hodgkin_lymphoma.json deleted file mode 100644 index 24edc3094..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_hodgkin_lymphoma.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_hodgkin_lymphoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Hodgkin Lymphoma", - "title" : "Schema selection for Hodgkin Lymphoma", - "last_modified" : "2024-05-03T18:43:36.305Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C809", "9650-9653, 9655, 9659, 9663", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_chondrosarcomas.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_chondrosarcomas.json deleted file mode 100644 index d63ef70db..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_chondrosarcomas.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_malignant_bone_tumors_chondrosarcomas", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Malignant Bone Tumors: Chondrosarcomas", - "title" : "Schema selection for Malignant Bone Tumors: Chondrosarcomas", - "last_modified" : "2024-05-03T18:54:15.826Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C400-C419, C760-C768, C809", "9210, 9220-9221, 9230, 9240-9243", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_ewing.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_ewing.json deleted file mode 100644 index 42d0547f4..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_ewing.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_malignant_bone_tumors_ewing", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Malignant Bone Tumors: Ewing", - "title" : "Schema selection for Malignant Bone Tumors: Ewing", - "last_modified" : "2024-05-03T18:54:18.332Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C400-C419, C760-C768, C809", "9260", "0-39", "3", "MATCH" ], [ "C400-C419", "9363-9365", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_osteosarcoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_osteosarcoma.json deleted file mode 100644 index 559c44318..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_osteosarcoma.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_malignant_bone_tumors_osteosarcoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Malignant Bone Tumors: Osteosarcoma", - "title" : "Schema selection for Malignant Bone Tumors: Osteosarcoma", - "last_modified" : "2024-05-03T18:54:20.402Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C400-C419, C760-C768, C809", "9180-9187, 9191-9195, 9200", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_other_specified.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_other_specified.json deleted file mode 100644 index 4156f6689..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_other_specified.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_malignant_bone_tumors_other_specified", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Malignant Bone Tumors: Other specified", - "title" : "Schema selection for Malignant Bone Tumors: Other specified", - "last_modified" : "2024-05-03T18:54:22.843Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C400-C419", "8810-8812, 8823, 8830, 9250, 9261-9262, 9270-9275, 9280-9282, 9290, 9300-9302, 9310-9312, 9320-9322, 9330, 9340-9342, 9370-9372", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_unspecified.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_unspecified.json deleted file mode 100644 index 97bd5bed1..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_malignant_bone_tumors_unspecified.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_malignant_bone_tumors_unspecified", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Malignant Bone Tumors: Unspecified", - "title" : "Schema selection for Malignant Bone Tumors: Unspecified", - "last_modified" : "2024-05-03T18:54:25.087Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C400-C419", "8000-8005, 8800, 8801, 8803-8805", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma.json deleted file mode 100644 index 782a569da..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_medulloblastoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Medulloblastoma", - "title" : "Schema selection for Medulloblastoma", - "last_modified" : "2024-05-03T19:13:29.357Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C700-C729", "9470-9472, 9474-9478, 9480", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_atypical_teratoid_rhabdoid.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_atypical_teratoid_rhabdoid.json deleted file mode 100644 index 22b5843ab..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_atypical_teratoid_rhabdoid.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_medulloblastoma_atypical_teratoid_rhabdoid", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Medulloblastoma: Atypical teratoid/rhabdoid", - "title" : "Schema selection for Medulloblastoma: Atypical teratoid/rhabdoid", - "last_modified" : "2024-05-03T19:13:31.848Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C700-C729", "9508", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_medulloepithelioma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_medulloepithelioma.json deleted file mode 100644 index 2c28240a4..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_medulloepithelioma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_medulloblastoma_medulloepithelioma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Medulloblastoma: Medulloepithelioma", - "title" : "Schema selection for Medulloblastoma: Medulloepithelioma", - "last_modified" : "2024-05-03T19:13:35.336Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C700-C729", "9501-9504", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pineoblastoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pineoblastoma.json deleted file mode 100644 index 94e950076..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pineoblastoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_medulloblastoma_pineoblastoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Medulloblastoma: Pineoblastoma", - "title" : "Schema selection for Medulloblastoma: Pineoblastoma", - "last_modified" : "2024-05-03T19:13:38.659Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C700-C729, C753", "9362", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pnet.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pnet.json deleted file mode 100644 index 58d6a13b7..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_medulloblastoma_pnet.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_medulloblastoma_pnet", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Medulloblastoma- pNET", - "title" : "Schema selection for Medulloblastoma- pNET", - "last_modified" : "2024-05-03T19:13:39.996Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C700-C729", "9473", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_neuroblastoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_neuroblastoma.json deleted file mode 100644 index 66faf1813..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_neuroblastoma.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_neuroblastoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Neuroblastoma", - "title" : "Schema selection for Neuroblastoma", - "last_modified" : "2024-05-03T19:18:13.470Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C809", "9490, 9500", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_burkitt_lymphoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_burkitt_lymphoma.json deleted file mode 100644 index d708b37c4..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_burkitt_lymphoma.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_nhl_burkitt_lymphoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection NHL, Burkitt lymphoma", - "title" : "Schema selection for NHL, Burkitt lymphoma", - "last_modified" : "2024-05-03T19:43:02.643Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C424, C470-C809", "9687", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_mature_b_cell_lymphomas.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_mature_b_cell_lymphomas.json deleted file mode 100644 index fbb7f1d7f..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_mature_b_cell_lymphomas.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_nhl_mature_b_cell_lymphomas", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection NHL, Mature B-cell lymphomas", - "title" : "Schema selection for NHL, Mature B-cell lymphomas", - "last_modified" : "2024-05-03T19:43:04.927Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C424, C470-C809", "9671, 9673, 9678-9680, 9688-9691, 9695, 9698, 9699, 9735, 9737-9738, 9761-9762, 9765-9766, 9769, 9823, 9970", "0-39", "3", "MATCH" ], [ "C000-C424, C470-C809", "9731-9732, 9734", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_nos.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_nos.json deleted file mode 100644 index 743f485a8..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_nos.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_nhl_nos", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection NHL, NOS", - "title" : "Schema selection for NHL, NOS", - "last_modified" : "2024-05-03T19:43:10.217Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C424, C470-C809", "9591", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_t_cell_and_nk_cell_lymphomas.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_t_cell_and_nk_cell_lymphomas.json deleted file mode 100644 index 1c3e2589d..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_nhl_t_cell_and_nk_cell_lymphomas.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_nhl_t_cell_and_nk_cell_lymphomas", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection NHL, T-cell and NK-cell lymphomas", - "title" : "Schema selection for NHL, T-cell and NK-cell lymphomas", - "last_modified" : "2024-05-03T19:43:07.032Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C424, C470-C809", "9702, 9705, 9714-9717, 9724, 9767-9768, 9827", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_fibrosarcomas.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_fibrosarcomas.json deleted file mode 100644 index e54ee7d08..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_fibrosarcomas.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_non_rhabdomyosarcoma_fibrosarcomas", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Non-Rhabdomyosarcoma- Fibrosarcomas", - "title" : "Schema selection for Non-Rhabdomyosarcoma- Fibrosarcomas", - "last_modified" : "2024-05-03T19:54:41.080Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C399, C440-C768, C809", "8810, 8811, 8813-8815, 8821, 8823, 8834-8835", "0-39", "3", "MATCH" ], [ "C000-C809", "8820, 8822, 8824-8827, 9150, 9160, 9491, 9540-9571, 9580", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_other_specified.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_other_specified.json deleted file mode 100644 index 2047f5acf..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_other_specified.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_non_rhabdomyosarcoma_other_specified", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Non-Rhabdomyosarcoma- Other specified", - "title" : "Schema selection for Non-Rhabdomyosarcoma- Other specified", - "last_modified" : "2024-05-03T19:54:43.317Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C809", "8587, 8710-8713, 8806, 8831-8833, 8836, 8840-8842, 8850-8858, 8860-8862, 8870, 8880, 8881, 8890-8898, 8921, 8982, 8990, 9040-9044, 9120-9125, 9130-9133, 9135, 9136, 9141, 9142, 9161, 9170-9175, 9231, 9251, 9252, 9373, 9581", "0-39", "3", "MATCH" ], [ "C000-C399, C440-C768, C809", "8830", "0-39", "3", "MATCH" ], [ "C000-C639, C659-C699, C739-C768, C809", "8963", "0-39", "3", "MATCH" ], [ "C490-C499", "9180, 9210, 9220, 9240", "0-39", "3", "MATCH" ], [ "C000-C399, C470-C759", "9260", "0-39", "3", "MATCH" ], [ "C000-C399, C470-C639, C659-C699, C739-C768, C809", "9364", "0-39", "3", "MATCH" ], [ "C000-C399, C470-C639, C659-C768, C809", "9365", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_unspecified.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_unspecified.json deleted file mode 100644 index 851fb35a4..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_non_rhabdomyosarcoma_unspecified.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_non_rhabdomyosarcoma_unspecified", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Non-Rhabdomyosarcoma- Unspecified", - "title" : "Schema selection for Non-Rhabdomyosarcoma- Unspecified", - "last_modified" : "2024-05-03T19:54:45.556Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C399, C440-C768", "8800-8805", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_ovarian.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_ovarian.json deleted file mode 100644 index cff365a05..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_ovarian.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_ovarian", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Ovarian", - "title" : "Schema selection for Ovarian", - "last_modified" : "2024-05-03T19:47:30.336Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C569", "9060-9065, 9070-9073, 9080-9085, 9090, 9091, 9100-9101", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_ewing_sarcoma_of_kidney.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_ewing_sarcoma_of_kidney.json deleted file mode 100644 index f8b1470a9..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_ewing_sarcoma_of_kidney.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_renal_tumors_ewing_sarcoma_of_kidney", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Renal Tumors: Ewing Sarcoma of Kidney", - "title" : "Schema selection for Renal Tumors: Ewing Sarcoma of Kidney", - "last_modified" : "2024-05-03T20:32:44.410Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C649", "9364", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_kidney_sarcomas.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_kidney_sarcomas.json deleted file mode 100644 index 78d6e1297..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_kidney_sarcomas.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_renal_tumors_kidney_sarcomas", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Renal Tumors: Kidney Sarcomas", - "title" : "Schema selection for Renal Tumors: Kidney Sarcomas", - "last_modified" : "2024-05-03T20:32:47.083Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C649, C659", "8964-8967", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_nephroblastoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_nephroblastoma.json deleted file mode 100644 index 121d12b2c..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_nephroblastoma.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_renal_tumors_nephroblastoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Renal Tumors: Nephroblastoma", - "title" : "Schema selection for Renal Tumors: Nephroblastoma", - "last_modified" : "2024-05-03T20:32:49.290Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C649, C659", "8959, 8960", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_rhabdoid_renal_tumor.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_rhabdoid_renal_tumor.json deleted file mode 100644 index b18d7ea2e..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_rhabdoid_renal_tumor.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_renal_tumors_rhabdoid_renal_tumor", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Renal Tumors: Rhabdoid Renal Tumor", - "title" : "Schema selection for Renal Tumors: Rhabdoid Renal Tumor", - "last_modified" : "2024-05-03T20:32:52.887Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C649", "8963", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_unspecified_malignant_renal_tumors.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_unspecified_malignant_renal_tumors.json deleted file mode 100644 index c4742035f..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_renal_tumors_unspecified_malignant_renal_tumors.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_renal_tumors_unspecified_malignant_renal_tumors", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Renal Tumors: Unspecified Malignant Renal Tumors", - "title" : "Schema selection for Renal Tumors: Unspecified Malignant Renal Tumors", - "last_modified" : "2024-05-03T20:32:55.540Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C649", "8000-8005", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_retinoblastoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_retinoblastoma.json deleted file mode 100644 index 82cc05adf..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_retinoblastoma.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_retinoblastoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Retinoblastoma", - "title" : "Schema selection for Retinoblastoma", - "last_modified" : "2025-07-25T20:50:51.560Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C690-C699", "9510-9514", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_rhabdomyosarcoma.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_rhabdomyosarcoma.json deleted file mode 100644 index 6d959a3e4..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_rhabdomyosarcoma.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_rhabdomyosarcoma", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Rhabdomyosarcoma", - "title" : "Schema selection for Rhabdomyosarcoma", - "last_modified" : "2024-05-03T20:01:12.080Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C809", "8900-8905, 8920, 8991", "0-39", "3", "MATCH" ], [ "C000-C809", "8910, 8912", "*", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_testicular.json b/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_testicular.json deleted file mode 100644 index 5d1ce5133..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/schema_selection_testicular.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_testicular", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Schema Selection Testicular", - "title" : "Schema selection for Testicular", - "last_modified" : "2024-05-03T19:47:34.388Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C620-C629", "9060-9065, 9070-9073, 9080-9085, 9090, 9091, 9100-9101", "0-39", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/toronto_stage_92889.json b/src/test/resources/algorithms/pediatric/1.3/tables/toronto_stage_92889.json deleted file mode 100644 index be041a201..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/toronto_stage_92889.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "toronto_stage_92889", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Toronto Stage", - "title" : "Toronto Stage", - "notes" : "calculates Toronto Stage", - "last_modified" : "2023-11-18T02:33:40.250Z", - "definition" : [ { - "key" : "inrgss", - "name" : "INRGSS", - "type" : "INPUT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "1", "VALUE:L1" ], [ "2", "VALUE:L2" ], [ "3", "VALUE:M" ], [ "4", "VALUE:MS" ], [ "8", "VALUE:N/A" ], [ "9", "VALUE:X" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/toronto_stage_group_41463.json b/src/test/resources/algorithms/pediatric/1.3/tables/toronto_stage_group_41463.json deleted file mode 100644 index d3cf9cb8b..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/toronto_stage_group_41463.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "toronto_stage_group_41463", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Toronto Stage Group", - "title" : "Toronto Stage Group", - "last_modified" : "2025-02-05T21:12:30.042Z", - "definition" : [ { - "key" : "ped_mets", - "name" : "Pediatric Mets", - "type" : "INPUT" - }, { - "key" : "toronto_stage_group", - "name" : "Toronto Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "10", "VALUE:10" ], [ "20", "VALUE:20" ], [ "30", "VALUE:30" ], [ "99", "VALUE:X" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/tumor_size_summary_47973.json b/src/test/resources/algorithms/pediatric/1.3/tables/tumor_size_summary_47973.json deleted file mode 100644 index be1add1d3..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/tumor_size_summary_47973.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_summary_47973", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Tumor Size Summary", - "title" : "Tumor Size Summary", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2022-06-29T18:36:46.980Z", - "definition" : [ { - "key" : "size_summary", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "998", "Alternate descriptions of tumor size for specific sites:\n\nFamilial/multiple polyposis:\n- Rectosigmoid and rectum (C19.9, C20.9)\n- Colon (C18.0, C18.2-C18.9)\n\nIf no size is documented:\nCircumferential:\n- Esophagus (C15.0-C15.5, C15.8-C15.9)\n\nDiffuse; widespread: 3/4s or more; linitis plastica:\n- Stomach and Esophagus GE Junction (C16.0-C16.6, C16.8-C16.9)\n\nDiffuse, entire lung or NOS:\n- Lung and main stem bronchus (C34.0-C34.3, C34.8-C34.9)\n\nDiffuse:\n- Breast (C50.0-C50.6, C50.8-C50.9)" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/white_blood_cell_count_1932.json b/src/test/resources/algorithms/pediatric/1.3/tables/white_blood_cell_count_1932.json deleted file mode 100644 index f72ca5b2e..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/white_blood_cell_count_1932.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "white_blood_cell_count_1932", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "White Blood Cell Count", - "title" : "White Blood Cell Count", - "description" : "White Blood Cell Count (WBC) will record the actual lab value prior to treatment.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2024+\n* For cases diagnosed 2018-2023, this SSDI must be blank\n\n**Note 2:** **Physician statement**\n* Physician statement of WBC (White Blood Cell Count) Pretreatment Lab Value can be used to code this data item when no other information is available.", - "last_modified" : "2025-05-01T14:58:18.958Z", - "definition" : [ { - "key" : "white_blood_cell_count", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0-99999.9", "0.0-99999.9 microliter (cells/m3)\n(Exact value to nearest tenth in cells/m3)" ], [ "XXXXX.1", "100,000 or greater (cells/m3)" ], [ "XXXXX.2", "Lab value not available, physician states WBC is low" ], [ "XXXXX.3", "Lab value not available, physician states WBC is normal" ], [ "XXXXX.4", "Lab value not available, physician states WBC is elevated/high" ], [ "XXXXX.7", "Test ordered, results not in chart" ], [ "XXXXX.8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code XXXXX.8 may result in an edit error)" ], [ "XXXXX.9", "Not documented in medical record\nWBC (White Blood Cell Count) Pretreatment Lab Value not assessed or unknown if assessed" ], [ "", "N/A - Diagnosis year is prior to 2024" ] ], - "additional_info" : "**Source documents:** blood test/laboratory reports\n\n**Measurements**\n* The measurement used for this data item is “cells/mm3”, which is the same as “cells/uL”. \n* If your facility has a different measurement, here are examples of the conversions to cells/m3. \n\n***Examples:*** \n* Reported as 3650 cells/uL. Record as 3650.0 \n* Reported as 3650 cells/mcl. Record as 3650.0 \n* Reported as 3.55 k/uL. Record as 3550.0 (multiple x 1000)\n* Reported as 4.25 10^3/uL. Record as 4250.0 (multiple x 1000)\n* Reported as 6.35 K/mm3. Record as 6350.0 (multiple x 1000)", - "coding_guidelines" : "**1)** Record the lab value of the highest WBC test result documented in the medical record **prior to treatment**. The lab value may be recorded in a lab report, history and physical, or clinical statement in the pathology report\n**2)** Record to the nearest cells per cubic meter (cells/m3) the highest WBC lab value documented in the medical record **prior to treatment**. \n* A known lab value takes priority over codes XXXXX.2-XXXXX.4\n - The lab value takes priority even if the physician documents the interpretation\n* ***Example:*** Patient noted to have a WBC count of 60,000. Physician notes that the value is elevated. \n * Code 60,000 instead of XXXXX.4 (elevated)", - "rationale" : "This is part of the National Childhood Cancer Registry (NCCR) project to collect more specific information on pediatric patients. Registries part of the NCCR will start collection on specific pediatric data items with 2024 diagnoses." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric/1.3/tables/year_dx_validation.json b/src/test/resources/algorithms/pediatric/1.3/tables/year_dx_validation.json deleted file mode 100644 index 8d7de47f8..000000000 --- a/src/test/resources/algorithms/pediatric/1.3/tables/year_dx_validation.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "year_dx_validation", - "algorithm" : "pediatric", - "version" : "1.3", - "name" : "Year DX Validation", - "title" : "Year of Diagnosis Validation", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2023-04-28T14:13:20.512Z", - "definition" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "2018-{{ctx_year_current}},9999", "MATCH" ], [ "", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/glossary/546cf5aee4b0d965832a94bf.json b/src/test/resources/algorithms/testing/99.99/glossary/546cf5aee4b0d965832a94bf.json deleted file mode 100644 index 75e85c923..000000000 --- a/src/test/resources/algorithms/testing/99.99/glossary/546cf5aee4b0d965832a94bf.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Cortex", - "definition": "The external or outer surface layer of an organ, as distinguished from the core, or medulla, of the organ. In some organs, such as the adrenal glands, the cortex has a different function than the medulla.", - "alternate_names": [ - "Cortical" - ], - "last_modified": "2015-07-23T18:29:28.123Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/glossary/546f598de4b0d965832bb0c4.json b/src/test/resources/algorithms/testing/99.99/glossary/546f598de4b0d965832bb0c4.json deleted file mode 100644 index 0f9714886..000000000 --- a/src/test/resources/algorithms/testing/99.99/glossary/546f598de4b0d965832bb0c4.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Parenchyma", - "definition": "The parenchyma is the functional portion of an organ, in contrast to its framework or stroma. For\nexample, the parenchyma of the kidney contains all of the structures which filter and remove waste\nproducts from the blood. In general, malignancies tend to arise in the parenchyma of an organ.\n", - "last_modified": "2015-07-23T18:29:45.973Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/glossary/5505c8e7e4b0c48f31d70838.json b/src/test/resources/algorithms/testing/99.99/glossary/5505c8e7e4b0c48f31d70838.json deleted file mode 100644 index 9eb9062b7..000000000 --- a/src/test/resources/algorithms/testing/99.99/glossary/5505c8e7e4b0c48f31d70838.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "Postcricoid region", - "definition": "Extends from the level of the arytenoid cartilages and connecting folds to the inferior border of the cricoid cartilage, thus forming the anterior wall of the hypopharynx. ", - "alternate_names": [ - "Cricoid, NOS", - "Cricopharynx", - "Pharyngo-esophageal junction", - "Postcricoid area" - ], - "last_modified": "2015-08-31T13:14:29.565Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/glossary/55097bbee4b0c48f31d8967a.json b/src/test/resources/algorithms/testing/99.99/glossary/55097bbee4b0c48f31d8967a.json deleted file mode 100644 index 7a3b84cdc..000000000 --- a/src/test/resources/algorithms/testing/99.99/glossary/55097bbee4b0c48f31d8967a.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Stroma", - "definition": "The stroma is the cells and tissues that support, store nutrients, and maintain visibility within an organ. Stroma consists of connective tissue, vessels and nerves, and provides the framework of an organ. In general, spread of tumor to the stroma of an organ is still considered localized or confined to the organ of origin.", - "last_modified": "2015-07-23T18:30:11.854Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/glossary/550adaede4b0c48f31d94520.json b/src/test/resources/algorithms/testing/99.99/glossary/550adaede4b0c48f31d94520.json deleted file mode 100644 index bc3865a85..000000000 --- a/src/test/resources/algorithms/testing/99.99/glossary/550adaede4b0c48f31d94520.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "Summary Stage", - "definition": "Summary staging is the most basic way of categorizing how far a cancer has spread from its point of origin. \n\nThe 2000 version of Summary Stage applies to every anatomic sites, including the lymphoma and leukemias. Summary staging uses all information in the medical record. It is a combination of the most precise clinical and pathological documentation of the extent of disease. \n\nThere are eight categories in Summary Stage\n0-In situ\n1-Localized\n2-Regional by direct extension only\n3-Regional lymph nodes involved only\n4-Regional by BOTH direct extension AND lymph node involvement\n5-Regional, NOS (Not otherwise specified)\n7-Distant site(s)/node(s) involved\n9-Unknown if extension or metastasis (unstaged, unknown, or unspecified), death certificate only", - "alternate_names": [ - "General Staging", - "SEER Staging", - "SEER Summary Stage", - "Summary Stage 2000" - ], - "last_modified": "2015-07-23T18:24:29.829Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/glossary/554540cfe4b0426fced42655.json b/src/test/resources/algorithms/testing/99.99/glossary/554540cfe4b0426fced42655.json deleted file mode 100644 index 2446945f7..000000000 --- a/src/test/resources/algorithms/testing/99.99/glossary/554540cfe4b0426fced42655.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Carcinoma", - "definition": "Placeholder for definition", - "last_modified": "2015-07-23T17:36:43.477Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/glossary/55a800abe4b05cd0cddb978e.json b/src/test/resources/algorithms/testing/99.99/glossary/55a800abe4b05cd0cddb978e.json deleted file mode 100644 index 35b50eb9e..000000000 --- a/src/test/resources/algorithms/testing/99.99/glossary/55a800abe4b05cd0cddb978e.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Adjacent tissue(s), NOS", - "definition": "The unnamed tissues that immediately surround an organ or structure containing a primary cancer. Use this category when a tumor has invaded past the outer border (capsule, serosa, or other edge) of the primary organ into the organ’s surrounding supportive structures but has not invaded into larger structures or adjacent organs. The structures considered in ICD-O-3 as connective tissue include the following: adipose tissue; aponeuroses; arteries; blood vessels; bursa; connective tissue, NOS; fascia; fatty tissue; fibrous tissue; ganglia; ligaments; lymphatic channels (not nodes); muscle; nerves (spinal, sympathetic and peripheral); skeletal muscle; subcutaneous tissue; synovia; tendons; tendon sheaths; veins; and vessels, NOS. In general, these tissues do not have specific names. These tissues form the framework of many organs, provide support to hold organs in place, bind tissues and organs together, and serve as storage sites for nutrients. Blood, cartilage and bone are sometimes considered connective tissues, but in this manual they would be listed separately.\n", - "alternate_names": [ - "Connective tissue" - ], - "last_modified": "2015-07-23T18:30:47.280Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/glossary/55a80262e4b05cd0cddb99b8.json b/src/test/resources/algorithms/testing/99.99/glossary/55a80262e4b05cd0cddb99b8.json deleted file mode 100644 index 156023693..000000000 --- a/src/test/resources/algorithms/testing/99.99/glossary/55a80262e4b05cd0cddb99b8.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Adjacent structures", - "definition": "Connective tissues large enough to be given a specific name would be considered adjacent structures.\nFor example, the brachial artery has a name, as does the broad ligament. In general, continuous tumor\ngrowth from one organ into an adjacent named structure would be coded to ‘2 - Regional by direct\nextension only’ (unless regional lymph nodes were also involved).", - "last_modified": "2015-07-23T18:30:31.271Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/glossary/55a9a501e4b05cd0cddc710a.json b/src/test/resources/algorithms/testing/99.99/glossary/55a9a501e4b05cd0cddc710a.json deleted file mode 100644 index 88f098def..000000000 --- a/src/test/resources/algorithms/testing/99.99/glossary/55a9a501e4b05cd0cddc710a.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "Level V lymph nodes", - "definition": "The two groups dorsal cervical nodes along the spinal accessory nerve and the supraclavicular nodes (mostly Level IV) are combined and called the posterior triangle group. This comprises predominantly the lymph nodes located along the lower half of the spinal accessory nerve and the transverse cervical artery. The supraclavicular nodes are also included. The posterior boundary is the anterior border of the trapezius muscle, the anterior boundary is the posterior border of the sternocleidomastoid muscle, and the inferior border is the clavicle. Most are in Level IV, some may occupy the most caudal component of Level V.\n\nIncludes the following lymph nodes:\nSpinal accessory lymph nodes (Level VA)\nTransverse cervical, supraclavicular lymph nodes (Level VB) \n", - "alternate_names": [ - "Level VA", - "Level VB" - ], - "last_modified": "2015-08-31T13:14:29.565Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/glossary/55b12ee91ef5572aac76e67a.json b/src/test/resources/algorithms/testing/99.99/glossary/55b12ee91ef5572aac76e67a.json deleted file mode 100644 index de9eb1463..000000000 --- a/src/test/resources/algorithms/testing/99.99/glossary/55b12ee91ef5572aac76e67a.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Medulla", - "definition": "The central portion of an organ, in contrast to the outer layer or cortex. Sometimes called marrow. In\nsome organs, such as bone, the medulla or marrow has a different physiologic role than the cortex.", - "alternate_names": [ - "Medullary" - ], - "last_modified": "2015-07-23T18:29:07.894Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/glossary/55ba2b9b1ef5572aac7b2910.json b/src/test/resources/algorithms/testing/99.99/glossary/55ba2b9b1ef5572aac7b2910.json deleted file mode 100644 index 941ca6ff6..000000000 --- a/src/test/resources/algorithms/testing/99.99/glossary/55ba2b9b1ef5572aac7b2910.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Masticator space", - "definition": "This is the lateral anatomical region below the middle cranial fossa and is defined by distinct fascial planes. The main fascial boundary is related to the superficial layer of the deep cervical fascia. This is also known as investing fascia. The investing fascia is formed when the superficial layer of the deep cervical fascia splits at the lower margin of the body of the mandible and rises to enclose the muscles of mastication. \n\nMedially, the fascia combines with another fascia, the interpterygoid fascia, and then rises up to the skull base. Laterally, the fascia rises up above the level of the zygomatic arch and covers the temporalis muscle. The zygomatic arch is used to subdivide the MS into a suprazygomatic MS (portion above the zygomatic arch) and the nasopharyngeal MS (portion below the level of the zygomatic arch). \n\nThe contents of the MS include the mandibular division of the fifth cranial nerve, the muscles of mastication, sections of the internal maxillary artery, the pterygoid plexus and the ramus and coronoid of the mandible. Lesions ", - "last_modified": "2015-08-31T13:14:29.565Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/glossary/55dcb1521ef5576bf30cca55.json b/src/test/resources/algorithms/testing/99.99/glossary/55dcb1521ef5576bf30cca55.json deleted file mode 100644 index b4abde0b4..000000000 --- a/src/test/resources/algorithms/testing/99.99/glossary/55dcb1521ef5576bf30cca55.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "Tumor deposits", - "definition": "Tumor deposits (satellites), i.e. macro- or microscopic nests or nodules, in the lymph drainage area of a primary carcinoma without histological evidence of residual lymph node in the nodule, may represent discontinuous spread (classified in the T category), venous invasion (V1/V2) or a totally replaced lymph node. If a nodule is considered by the pathological to be a totally replaced lymph node (generally having a smooth contour), it should be recorded as a positive lymph node, and each such nodule should be counted separately as a lymph node in the final pN determination. ", - "alternate_names": [ - "Satellite nodules", - "Satellites" - ], - "last_modified": "2015-08-31T13:14:29.565Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/glossary/55dcb26c1ef5576bf30ccc10.json b/src/test/resources/algorithms/testing/99.99/glossary/55dcb26c1ef5576bf30ccc10.json deleted file mode 100644 index f09f98689..000000000 --- a/src/test/resources/algorithms/testing/99.99/glossary/55dcb26c1ef5576bf30ccc10.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "Isolated tumor cells", - "definition": "Isolated tumor cells (ITC) are single tumor cells or small clusters of cells not more than 0.2 mm in greatest extent that can be detected by routine H and E stains or immuno-histochemistry. An additional criterion has been proposed to include a cluster of fewer than 200 cells in a single histological cross-section. The same applies to cases with findings suggestive of tumor cells or their components by non-morphological techniques such as flow cytometry or DNA analysis. \n\nITCs do not typically show evidence of metastatic activity (e.g. proliferation or stromal reaction) or penetration of lymphatic sinus walls. \n\n", - "alternate_names": [ - "ITC", - "ITCs" - ], - "last_modified": "2015-08-31T13:14:29.565Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/glossary/terms.txt b/src/test/resources/algorithms/testing/99.99/glossary/terms.txt deleted file mode 100644 index 8e02ed1d1..000000000 --- a/src/test/resources/algorithms/testing/99.99/glossary/terms.txt +++ /dev/null @@ -1,13 +0,0 @@ -Adjacent structures~55a80262e4b05cd0cddb99b8 -Adjacent tissue(s), NOS~55a800abe4b05cd0cddb978e -Carcinoma~554540cfe4b0426fced42655 -Cortex~546cf5aee4b0d965832a94bf -Isolated tumor cells~55dcb26c1ef5576bf30ccc10 -Level V lymph nodes~55a9a501e4b05cd0cddc710a -Masticator space~55ba2b9b1ef5572aac7b2910 -Medulla~55b12ee91ef5572aac76e67a -Parenchyma~546f598de4b0d965832bb0c4 -Postcricoid region~5505c8e7e4b0c48f31d70838 -Stroma~55097bbee4b0c48f31d8967a -Summary Stage~550adaede4b0c48f31d94520 -Tumor deposits~55dcb1521ef5576bf30cca55 diff --git a/src/test/resources/algorithms/testing/99.99/schemas/ids.txt b/src/test/resources/algorithms/testing/99.99/schemas/ids.txt deleted file mode 100644 index 947b2bd24..000000000 --- a/src/test/resources/algorithms/testing/99.99/schemas/ids.txt +++ /dev/null @@ -1 +0,0 @@ -urethra \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/schemas/urethra.json b/src/test/resources/algorithms/testing/99.99/schemas/urethra.json deleted file mode 100644 index 00d5924f2..000000000 --- a/src/test/resources/algorithms/testing/99.99/schemas/urethra.json +++ /dev/null @@ -1,1894 +0,0 @@ -{ - "id": "urethra", - "algorithm": "testing", - "version": "99.99", - "name": "Urethra", - "title": "Urethra", - "notes": "C68.0 - Urethra\n\n**Note**: Transitional cell carcinoma of the prostatic ducts and prostatic urethra are to be coded to urethra (C68.0) according to this schema.", - "schema_num": 129, - "schema_selection_table": "schema_selection_urethra", - "inputs": [ - { - "key": "site", - "name": "Primary Site", - "description": "Code for the primary site of the tumor being reported using either ICD-O-2 or ICD-O-3.", - "naaccr_item": 400, - "table": "primary_site", - "used_for_staging": true - }, - { - "key": "hist", - "name": "Histology", - "description": "Codes for the histologic type of the tumor being reported using ICD-O-3.", - "naaccr_item": 522, - "table": "histology", - "used_for_staging": true - }, - { - "key": "year_dx", - "name": "Year of Diagnosis", - "description": "Date of initial diagnosis by a recognized medical practitioner for the tumor being reported whether clinically or microscopically confirmed.", - "naaccr_item": 390, - "table": "cs_year_validation", - "used_for_staging": true - }, - { - "key": "cs_input_version_original", - "name": "CS Version Input Original", - "description": "Collaborative Staging (CS) version number initially used to code CS fields.", - "naaccr_item": 2935, - "table": "cs_input_version_original", - "used_for_staging": true - }, - { - "key": "behavior", - "name": "Behavior ICD-O-3", - "description": "Code for the behavior of the tumor being reported using ICD-O-3.", - "naaccr_item": 523, - "table": "behavior", - "used_for_staging": false - }, - { - "key": "grade", - "name": "Grade", - "description": "Code for the grade or degree of differentiation of the reportable tumor.", - "naaccr_item": 440, - "table": "grade", - "used_for_staging": false - }, - { - "key": "age_dx", - "name": "Age at Diagnosis", - "description": "Age of the patient at diagnosis in complete years.", - "naaccr_item": 230, - "used_for_staging": false - }, - { - "key": "lvi", - "name": "Lymph-vascular Invasion", - "description": "Indicates whether lymphatic duct or blood vessel (LVI) is identified in the pathology report.", - "naaccr_item": 1182, - "default": "8", - "table": "lvi", - "used_for_staging": false - }, - { - "key": "size", - "name": "CS Tumor Size", - "description": "Records the largest dimension or diameter of the primary tumor in millimeters.", - "naaccr_item": 2800, - "default": "999", - "table": "size_apa", - "used_for_staging": false - }, - { - "key": "extension", - "name": "CS Extension", - "description": "Identifies contiguous growth (extension) of the primary tumor within the organ of origin or its direct extension into neighboring organs. For certain sites such as ovary, discontinuous metastasis is coded in CS Extension.", - "naaccr_item": 2810, - "default": "999", - "table": "extension_bdi", - "used_for_staging": true - }, - { - "key": "extension_eval", - "name": "CS Tumor Size/Ext Eval", - "description": "Records how the codes for the two items CS Tumor Size and CS Extension were determined, based on the diagnostic methods employed.", - "naaccr_item": 2820, - "default": "9", - "table": "extension_eval_cpa", - "used_for_staging": true - }, - { - "key": "nodes", - "name": "CS Lymph Nodes", - "description": "Identifies the regional lymph nodes involved with cancer at the time of diagnosis.", - "naaccr_item": 2830, - "default": "999", - "table": "nodes_dbu", - "used_for_staging": true - }, - { - "key": "nodes_eval", - "name": "CS Lymph Nodes Eval", - "description": "Records how the code for CS Lymph Nodes was determined, based on the diagnosticmethods employed.", - "naaccr_item": 2840, - "default": "9", - "table": "nodes_eval_epa", - "used_for_staging": true - }, - { - "key": "nodes_pos", - "name": "Regional Nodes Positive", - "description": "Records the exact number of regional nodes examined by the pathologist and found to contain metastases. ", - "naaccr_item": 820, - "default": "99", - "table": "nodes_pos_fpa", - "used_for_staging": false - }, - { - "key": "nodes_exam", - "name": "Regional Nodes Examined", - "description": "Records the total number of regional lymph nodes that were removed and examined by the pathologist. ", - "naaccr_item": 830, - "default": "99", - "table": "nodes_exam_gpa", - "used_for_staging": false - }, - { - "key": "mets", - "name": "CS Mets at DX", - "description": "Identifies the distant site(s) of metastatic involvement at time of diagnosis.", - "naaccr_item": 2850, - "default": "99", - "table": "mets_hpe", - "used_for_staging": true - }, - { - "key": "mets_eval", - "name": "CS Mets Eval", - "description": "Records how the code for CS Mets at Dx was determined based on the diagnostic methods employed.", - "naaccr_item": 2860, - "default": "9", - "table": "mets_eval_ipa", - "used_for_staging": true - }, - { - "key": "ssf1", - "name": "WHO/ISUP Grade", - "naaccr_item": 2880, - "default": "999", - "table": "ssf1_jpd", - "used_for_staging": false, - "metadata": [ - "CCCR_IVA_COLLECT_IF_AVAILABLE_IN_PATH_REPORT", - "COC_CLINICALLY_SIGNIFICANT", - "SEER_CLINICALLY_SIGNIFICANT" - ] - }, - { - "key": "ssf2", - "name": "CS Site-Specific Factor 2", - "naaccr_item": 2890, - "default": "988", - "table": "ssf2_kna", - "used_for_staging": false, - "metadata": [ - { - "name": "UNDEFINED_SSF" - } - ] - }, - { - "key": "ssf3", - "name": "CS Site-Specific Factor 3", - "naaccr_item": 2900, - "default": "988", - "table": "ssf3_lna", - "used_for_staging": false, - "metadata": [ - { - "name": "FIRST_ITEM", - "start": 2017, - "end": 2020 - }, - { - "name": "SECOND_ITEM", - "start": 2021 - } - ] - }, - { - "key": "ssf4", - "name": "CS Site-Specific Factor 4", - "naaccr_item": 2910, - "default": "988", - "table": "ssf4_mna", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf5", - "name": "CS Site-Specific Factor 5", - "naaccr_item": 2920, - "default": "988", - "table": "ssf5_nna", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf6", - "name": "CS Site-Specific Factor 6", - "naaccr_item": 2930, - "default": "988", - "table": "ssf6_ona", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf7", - "name": "CS Site-Specific Factor 7", - "naaccr_item": 2861, - "default": "988", - "table": "ssf7_snb", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf8", - "name": "CS Site-Specific Factor 8", - "naaccr_item": 2862, - "default": "988", - "table": "ssf8_snc", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf9", - "name": "CS Site-Specific Factor 9", - "naaccr_item": 2863, - "default": "988", - "table": "ssf9_snd", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf10", - "name": "CS Site-Specific Factor 10", - "naaccr_item": 2864, - "default": "988", - "table": "ssf10_sne", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf11", - "name": "CS Site-Specific Factor 11", - "naaccr_item": 2865, - "default": "988", - "table": "ssf11_snf", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf12", - "name": "CS Site-Specific Factor 12", - "naaccr_item": 2866, - "default": "988", - "table": "ssf12_sng", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf13", - "name": "CS Site-Specific Factor 13", - "naaccr_item": 2867, - "default": "988", - "table": "ssf13_snh", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf14", - "name": "CS Site-Specific Factor 14", - "naaccr_item": 2868, - "default": "988", - "table": "ssf14_sni", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf15", - "name": "CS Site-Specific Factor 15", - "naaccr_item": 2869, - "default": "988", - "table": "ssf15_snj", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf16", - "name": "CS Site-Specific Factor 16", - "naaccr_item": 2870, - "default": "988", - "table": "ssf16_snk", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf17", - "name": "CS Site-Specific Factor 17", - "naaccr_item": 2871, - "default": "988", - "table": "ssf17_snl", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf18", - "name": "CS Site-Specific Factor 18", - "naaccr_item": 2872, - "default": "988", - "table": "ssf18_snm", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf19", - "name": "CS Site-Specific Factor 19", - "naaccr_item": 2873, - "default": "988", - "table": "ssf19_snn", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf20", - "name": "CS Site-Specific Factor 20", - "naaccr_item": 2874, - "default": "988", - "table": "ssf20_sno", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf21", - "name": "CS Site-Specific Factor 21", - "naaccr_item": 2875, - "default": "988", - "table": "ssf21_snp", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf22", - "name": "CS Site-Specific Factor 22", - "naaccr_item": 2876, - "default": "988", - "table": "ssf22_snq", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf23", - "name": "CS Site-Specific Factor 23", - "naaccr_item": 2877, - "default": "988", - "table": "ssf23_snr", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf24", - "name": "CS Site-Specific Factor 24", - "naaccr_item": 2878, - "default": "988", - "table": "ssf24_sns", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - }, - { - "key": "ssf25", - "name": "CS Site-Specific Factor 25", - "naaccr_item": 2879, - "default": "988", - "table": "ssf25_snt", - "used_for_staging": false, - "metadata": [ - "UNDEFINED_SSF" - ] - } - ], - "outputs": [ - { - "key": "schema_number", - "name": "Schema Number", - "description": "CS assigned schema number.", - "default": "129" - }, - { - "key": "csver_derived", - "name": "CS Version Derived", - "description": "Collaborative Staging (CS) version used to derive the CS output fields.", - "naaccr_item": 2936, - "default": "020550" - }, - { - "key": "ajcc6_t", - "name": "AJCC6 T" - }, - { - "key": "ajcc6_tdescriptor", - "name": "AJCC6 T Descriptor" - }, - { - "key": "ajcc6_n", - "name": "AJCC6 N" - }, - { - "key": "ajcc6_ndescriptor", - "name": "AJCC6 N Descriptor" - }, - { - "key": "ajcc6_m", - "name": "AJCC6 M" - }, - { - "key": "ajcc6_mdescriptor", - "name": "AJCC6 M Descriptor" - }, - { - "key": "ajcc6_stage", - "name": "AJCC6 Stage Group" - }, - { - "key": "ajcc7_t", - "name": "AJCC7 T" - }, - { - "key": "ajcc7_tdescriptor", - "name": "AJCC7 T Descriptor" - }, - { - "key": "ajcc7_n", - "name": "AJCC7 N" - }, - { - "key": "ajcc7_ndescriptor", - "name": "AJCC7 N Descriptor" - }, - { - "key": "ajcc7_m", - "name": "AJCC7 M" - }, - { - "key": "ajcc7_mdescriptor", - "name": "AJCC7 M Descriptor" - }, - { - "key": "ajcc7_stage", - "name": "AJCC7 Stage Group" - }, - { - "key": "t77", - "name": "Summary Stage T 1977" - }, - { - "key": "n77", - "name": "Summary Stage N 1977" - }, - { - "key": "m77", - "name": "Summary Stage M 1977" - }, - { - "key": "ss77", - "name": "Summary Stage Group 1977" - }, - { - "key": "t2000", - "name": "Summary Stage T 2000" - }, - { - "key": "n2000", - "name": "Summary Stage N 2000" - }, - { - "key": "m2000", - "name": "Summary Stage M 2000" - }, - { - "key": "ss2000", - "name": "Summary Stage Group 2000" - }, - { - "key": "stor_ajcc6_t", - "name": "AJCC6 T (Storage)", - "naaccr_item": 2940 - }, - { - "key": "stor_ajcc6_tdescriptor", - "name": "AJCC6 T Descriptor (Storage)", - "naaccr_item": 2950 - }, - { - "key": "stor_ajcc6_n", - "name": "AJCC6 N (Storage)", - "naaccr_item": 2960 - }, - { - "key": "stor_ajcc6_ndescriptor", - "name": "AJCC6 N Descriptor (Storage)", - "naaccr_item": 2970 - }, - { - "key": "stor_ajcc6_m", - "name": "AJCC6 M (Storage)", - "naaccr_item": 2980 - }, - { - "key": "stor_ajcc6_mdescriptor", - "name": "AJCC6 M Descriptor (Storage)", - "naaccr_item": 2990 - }, - { - "key": "stor_ajcc6_stage", - "name": "AJCC6 Stage Group (Storage)", - "naaccr_item": 3000 - }, - { - "key": "stor_ajcc7_t", - "name": "AJCC7 T (Storage)", - "naaccr_item": 3400 - }, - { - "key": "stor_ajcc7_tdescriptor", - "name": "AJCC7 T Descriptor (Storage)", - "naaccr_item": 3402 - }, - { - "key": "stor_ajcc7_n", - "name": "AJCC7 N (Storage)", - "naaccr_item": 3410 - }, - { - "key": "stor_ajcc7_ndescriptor", - "name": "AJCC7 N Descriptor (Storage)", - "naaccr_item": 3412 - }, - { - "key": "stor_ajcc7_m", - "name": "AJCC7 M (Storage)", - "naaccr_item": 3420 - }, - { - "key": "stor_ajcc7_mdescriptor", - "name": "AJCC7 M Descriptor (Storage)", - "naaccr_item": 3422 - }, - { - "key": "stor_ajcc7_stage", - "name": "AJCC7 Stage Group (Storage)", - "naaccr_item": 3430 - }, - { - "key": "stor_ss77", - "name": "Summary Stage Group 1977 (Storage)", - "naaccr_item": 3010 - }, - { - "key": "stor_ss2000", - "name": "Summary Stage Group 2000 (Storage)", - "naaccr_item": 3020 - } - ], - "mappings": [ - { - "id": "mapping_t", - "name": "T", - "initial_context": [ - { - "key": "stor_ajcc6_tdescriptor", - "value": "" - }, - { - "key": "stor_ajcc7_tdescriptor", - "value": "" - }, - { - "key": "ajcc6_tdescriptor", - "value": "ERROR" - }, - { - "key": "t2000", - "value": "" - }, - { - "key": "stor_ajcc7_t", - "value": "" - }, - { - "key": "t77", - "value": "" - }, - { - "key": "ajcc7_tdescriptor", - "value": "ERROR" - }, - { - "key": "stor_ajcc6_t", - "value": "" - }, - { - "key": "ajcc6_t", - "value": "" - }, - { - "key": "ajcc7_t", - "value": "" - } - ], - "tables": [ - { - "id": "extension_bdi", - "inputs": [ - "extension" - ], - "outputs": [ - "t77", - "t2000", - "ajcc7_t", - "ajcc6_t" - ] - }, - { - "id": "extension_eval_cpa", - "output_mapping": [ - { - "from": "tdescriptor", - "to": "ajcc7_tdescriptor" - } - ], - "inputs": [ - "extension_eval" - ], - "outputs": [ - "ajcc7_tdescriptor" - ] - }, - { - "id": "ajcc_descriptor_codes", - "input_mapping": [ - { - "from": "ajcc7_tdescriptor", - "to": "descriptor" - } - ], - "output_mapping": [ - { - "from": "stor_descriptor", - "to": "stor_ajcc7_tdescriptor" - } - ], - "inputs": [ - "ajcc7_tdescriptor" - ], - "outputs": [ - "stor_ajcc7_tdescriptor" - ] - }, - { - "id": "ajcc_tdescriptor_cleanup", - "input_mapping": [ - { - "from": "ajcc7_t", - "to": "t" - }, - { - "from": "ajcc7_tdescriptor", - "to": "tdescriptor" - } - ], - "output_mapping": [ - { - "from": "stor_tdescriptor", - "to": "stor_ajcc7_tdescriptor" - }, - { - "from": "tdescriptor", - "to": "ajcc7_tdescriptor" - } - ], - "inputs": [ - "ajcc7_tdescriptor", - "ajcc7_t" - ], - "outputs": [ - "ajcc7_tdescriptor", - "stor_ajcc7_tdescriptor" - ] - }, - { - "id": "ajcc7_t_codes", - "inputs": [ - "ajcc7_t" - ], - "outputs": [ - "stor_ajcc7_t" - ] - }, - { - "id": "extension_eval_cpa", - "output_mapping": [ - { - "from": "tdescriptor", - "to": "ajcc6_tdescriptor" - } - ], - "inputs": [ - "extension_eval" - ], - "outputs": [ - "ajcc6_tdescriptor" - ] - }, - { - "id": "ajcc_descriptor_codes", - "input_mapping": [ - { - "from": "ajcc6_tdescriptor", - "to": "descriptor" - } - ], - "output_mapping": [ - { - "from": "stor_descriptor", - "to": "stor_ajcc6_tdescriptor" - } - ], - "inputs": [ - "ajcc6_tdescriptor" - ], - "outputs": [ - "stor_ajcc6_tdescriptor" - ] - }, - { - "id": "ajcc_tdescriptor_cleanup", - "input_mapping": [ - { - "from": "ajcc6_t", - "to": "t" - }, - { - "from": "ajcc6_tdescriptor", - "to": "tdescriptor" - } - ], - "output_mapping": [ - { - "from": "tdescriptor", - "to": "ajcc6_tdescriptor" - }, - { - "from": "stor_tdescriptor", - "to": "stor_ajcc6_tdescriptor" - } - ], - "inputs": [ - "ajcc6_tdescriptor", - "ajcc6_t" - ], - "outputs": [ - "ajcc6_tdescriptor", - "stor_ajcc6_tdescriptor" - ] - }, - { - "id": "ajcc6_t_codes", - "inputs": [ - "ajcc6_t" - ], - "outputs": [ - "stor_ajcc6_t" - ] - } - ] - }, - { - "id": "mapping_n", - "name": "N", - "initial_context": [ - { - "key": "stor_ajcc6_n", - "value": "" - }, - { - "key": "stor_ajcc6_ndescriptor", - "value": "" - }, - { - "key": "n77", - "value": "" - }, - { - "key": "ajcc6_n", - "value": "" - }, - { - "key": "ajcc7_n", - "value": "" - }, - { - "key": "n2000", - "value": "" - }, - { - "key": "ajcc6_ndescriptor", - "value": "ERROR" - }, - { - "key": "stor_ajcc7_n", - "value": "" - }, - { - "key": "stor_ajcc7_ndescriptor", - "value": "" - }, - { - "key": "ajcc7_ndescriptor", - "value": "ERROR" - } - ], - "tables": [ - { - "id": "nodes_dbu", - "inputs": [ - "nodes" - ], - "outputs": [ - "ajcc7_n", - "ajcc6_n", - "n2000", - "n77" - ] - }, - { - "id": "nodes_eval_epa", - "output_mapping": [ - { - "from": "ndescriptor", - "to": "ajcc7_ndescriptor" - } - ], - "inputs": [ - "nodes_eval" - ], - "outputs": [ - "ajcc7_ndescriptor" - ] - }, - { - "id": "ajcc_descriptor_codes", - "input_mapping": [ - { - "from": "ajcc7_ndescriptor", - "to": "descriptor" - } - ], - "output_mapping": [ - { - "from": "stor_descriptor", - "to": "stor_ajcc7_ndescriptor" - } - ], - "inputs": [ - "ajcc7_ndescriptor" - ], - "outputs": [ - "stor_ajcc7_ndescriptor" - ] - }, - { - "id": "ajcc_ndescriptor_cleanup", - "input_mapping": [ - { - "from": "ajcc7_n", - "to": "n" - }, - { - "from": "ajcc7_ndescriptor", - "to": "ndescriptor" - } - ], - "output_mapping": [ - { - "from": "stor_ndescriptor", - "to": "stor_ajcc7_ndescriptor" - }, - { - "from": "ndescriptor", - "to": "ajcc7_ndescriptor" - } - ], - "inputs": [ - "ajcc7_n", - "ajcc7_ndescriptor" - ], - "outputs": [ - "ajcc7_ndescriptor", - "stor_ajcc7_ndescriptor" - ] - }, - { - "id": "ajcc7_n_codes", - "inputs": [ - "ajcc7_n" - ], - "outputs": [ - "stor_ajcc7_n" - ] - }, - { - "id": "nodes_eval_epa", - "output_mapping": [ - { - "from": "ndescriptor", - "to": "ajcc6_ndescriptor" - } - ], - "inputs": [ - "nodes_eval" - ], - "outputs": [ - "ajcc6_ndescriptor" - ] - }, - { - "id": "ajcc_descriptor_codes", - "input_mapping": [ - { - "from": "ajcc6_ndescriptor", - "to": "descriptor" - } - ], - "output_mapping": [ - { - "from": "stor_descriptor", - "to": "stor_ajcc6_ndescriptor" - } - ], - "inputs": [ - "ajcc6_ndescriptor" - ], - "outputs": [ - "stor_ajcc6_ndescriptor" - ] - }, - { - "id": "ajcc_ndescriptor_cleanup", - "input_mapping": [ - { - "from": "ajcc6_n", - "to": "n" - }, - { - "from": "ajcc6_ndescriptor", - "to": "ndescriptor" - } - ], - "output_mapping": [ - { - "from": "ndescriptor", - "to": "ajcc6_ndescriptor" - }, - { - "from": "stor_ndescriptor", - "to": "stor_ajcc6_ndescriptor" - } - ], - "inputs": [ - "ajcc6_ndescriptor", - "ajcc6_n" - ], - "outputs": [ - "ajcc6_ndescriptor", - "stor_ajcc6_ndescriptor" - ] - }, - { - "id": "ajcc6_n_codes", - "inputs": [ - "ajcc6_n" - ], - "outputs": [ - "stor_ajcc6_n" - ] - } - ] - }, - { - "id": "mapping_m", - "name": "M", - "initial_context": [ - { - "key": "stor_ajcc6_m", - "value": "" - }, - { - "key": "stor_ajcc7_m", - "value": "" - }, - { - "key": "m2000", - "value": "" - }, - { - "key": "ajcc6_m", - "value": "" - }, - { - "key": "ajcc7_m", - "value": "" - }, - { - "key": "m77", - "value": "" - }, - { - "key": "ajcc6_mdescriptor", - "value": "ERROR" - }, - { - "key": "stor_ajcc7_mdescriptor", - "value": "" - }, - { - "key": "stor_ajcc6_mdescriptor", - "value": "" - }, - { - "key": "ajcc7_mdescriptor", - "value": "ERROR" - } - ], - "tables": [ - { - "id": "mets_hpe", - "inputs": [ - "mets" - ], - "outputs": [ - "ajcc7_m", - "ajcc6_m", - "m77", - "m2000" - ] - }, - { - "id": "mets_eval_ipa", - "output_mapping": [ - { - "from": "mdescriptor", - "to": "ajcc7_mdescriptor" - } - ], - "inputs": [ - "mets_eval" - ], - "outputs": [ - "ajcc7_mdescriptor" - ] - }, - { - "id": "ajcc_descriptor_codes", - "input_mapping": [ - { - "from": "ajcc7_mdescriptor", - "to": "descriptor" - } - ], - "output_mapping": [ - { - "from": "stor_descriptor", - "to": "stor_ajcc7_mdescriptor" - } - ], - "inputs": [ - "ajcc7_mdescriptor" - ], - "outputs": [ - "stor_ajcc7_mdescriptor" - ] - }, - { - "id": "ajcc_mdescriptor_cleanup", - "input_mapping": [ - { - "from": "ajcc7_m", - "to": "m" - }, - { - "from": "ajcc7_mdescriptor", - "to": "mdescriptor" - } - ], - "output_mapping": [ - { - "from": "stor_mdescriptor", - "to": "stor_ajcc7_mdescriptor" - }, - { - "from": "mdescriptor", - "to": "ajcc7_mdescriptor" - } - ], - "inputs": [ - "ajcc7_mdescriptor", - "ajcc7_m" - ], - "outputs": [ - "ajcc7_mdescriptor", - "stor_ajcc7_mdescriptor" - ] - }, - { - "id": "ajcc7_m_codes", - "inputs": [ - "ajcc7_m" - ], - "outputs": [ - "stor_ajcc7_m" - ] - }, - { - "id": "mets_eval_ipa", - "output_mapping": [ - { - "from": "mdescriptor", - "to": "ajcc6_mdescriptor" - } - ], - "inputs": [ - "mets_eval" - ], - "outputs": [ - "ajcc6_mdescriptor" - ] - }, - { - "id": "ajcc_descriptor_codes", - "input_mapping": [ - { - "from": "ajcc6_mdescriptor", - "to": "descriptor" - } - ], - "output_mapping": [ - { - "from": "stor_descriptor", - "to": "stor_ajcc6_mdescriptor" - } - ], - "inputs": [ - "ajcc6_mdescriptor" - ], - "outputs": [ - "stor_ajcc6_mdescriptor" - ] - }, - { - "id": "ajcc_mdescriptor_cleanup", - "input_mapping": [ - { - "from": "ajcc6_m", - "to": "m" - }, - { - "from": "ajcc6_mdescriptor", - "to": "mdescriptor" - } - ], - "output_mapping": [ - { - "from": "mdescriptor", - "to": "ajcc6_mdescriptor" - }, - { - "from": "stor_mdescriptor", - "to": "stor_ajcc6_mdescriptor" - } - ], - "inputs": [ - "ajcc6_m", - "ajcc6_mdescriptor" - ], - "outputs": [ - "stor_ajcc6_mdescriptor", - "ajcc6_mdescriptor" - ] - }, - { - "id": "ajcc6_m_codes", - "inputs": [ - "ajcc6_m" - ], - "outputs": [ - "stor_ajcc6_m" - ] - } - ] - }, - { - "id": "mapping_ajcc7", - "name": "AJCC 7", - "inclusion_tables": [ - { - "id": "ajcc7_inclusions_tpb", - "inputs": [ - "hist" - ] - } - ], - "initial_context": [ - { - "key": "stor_ajcc7_stage", - "value": "" - }, - { - "key": "ajcc7_stage", - "value": "" - } - ], - "tables": [ - { - "id": "ajcc7_stage_uaz", - "input_mapping": [ - { - "from": "ajcc7_t", - "to": "t" - }, - { - "from": "ajcc7_n", - "to": "n" - }, - { - "from": "ajcc7_m", - "to": "m" - } - ], - "output_mapping": [ - { - "from": "stage", - "to": "ajcc7_stage" - } - ], - "inputs": [ - "ajcc7_n", - "ajcc7_m", - "ajcc7_t" - ], - "outputs": [ - "ajcc7_stage" - ] - }, - { - "id": "ajcc7_stage_codes", - "inputs": [ - "ajcc7_stage" - ], - "outputs": [ - "stor_ajcc7_stage" - ] - } - ] - }, - { - "id": "mapping_ajcc7_excluded", - "name": "AJCC 7 Excluded", - "exclusion_tables": [ - { - "id": "ajcc7_inclusions_tpb", - "inputs": [ - "hist" - ] - } - ], - "initial_context": [ - { - "key": "stor_ajcc7_tdescriptor", - "value": "N" - }, - { - "key": "stor_ajcc7_mdescriptor", - "value": "N" - }, - { - "key": "ajcc7_mdescriptor", - "value": "" - }, - { - "key": "stor_ajcc7_stage", - "value": "888" - }, - { - "key": "stor_ajcc7_ndescriptor", - "value": "N" - }, - { - "key": "ajcc7_t", - "value": "NA" - }, - { - "key": "stor_ajcc7_t", - "value": "888" - }, - { - "key": "ajcc7_n", - "value": "NA" - }, - { - "key": "stor_ajcc7_n", - "value": "888" - }, - { - "key": "ajcc7_tdescriptor", - "value": "" - }, - { - "key": "ajcc7_ndescriptor", - "value": "" - }, - { - "key": "stor_ajcc7_m", - "value": "888" - }, - { - "key": "ajcc7_stage", - "value": "NA" - }, - { - "key": "ajcc7_m", - "value": "NA" - } - ] - }, - { - "id": "mapping_ajcc6", - "name": "AJCC 6", - "exclusion_tables": [ - { - "id": "ajcc6_exclusions_ppd", - "inputs": [ - "hist" - ] - } - ], - "initial_context": [ - { - "key": "ajcc6_stage", - "value": "" - }, - { - "key": "stor_ajcc6_stage", - "value": "" - } - ], - "tables": [ - { - "id": "ajcc6_stage_qaw", - "input_mapping": [ - { - "from": "ajcc6_t", - "to": "t" - }, - { - "from": "ajcc6_n", - "to": "n" - }, - { - "from": "ajcc6_m", - "to": "m" - } - ], - "output_mapping": [ - { - "from": "stage", - "to": "ajcc6_stage" - } - ], - "inputs": [ - "ajcc6_n", - "ajcc6_m", - "ajcc6_t" - ], - "outputs": [ - "ajcc6_stage" - ] - }, - { - "id": "ajcc6_stage_codes", - "inputs": [ - "ajcc6_stage" - ], - "outputs": [ - "stor_ajcc6_stage" - ] - } - ] - }, - { - "id": "mapping_ajcc6_included", - "name": "AJCC 6 Included", - "inclusion_tables": [ - { - "id": "ajcc6_exclusions_ppd", - "inputs": [ - "hist" - ] - } - ], - "initial_context": [ - { - "key": "stor_ajcc6_m", - "value": "88" - }, - { - "key": "stor_ajcc6_n", - "value": "88" - }, - { - "key": "stor_ajcc6_tdescriptor", - "value": "N" - }, - { - "key": "ajcc6_ndescriptor", - "value": "" - }, - { - "key": "ajcc6_tdescriptor", - "value": "" - }, - { - "key": "stor_ajcc6_ndescriptor", - "value": "N" - }, - { - "key": "ajcc6_t", - "value": "NA" - }, - { - "key": "ajcc6_stage", - "value": "NA" - }, - { - "key": "ajcc6_mdescriptor", - "value": "" - }, - { - "key": "stor_ajcc6_stage", - "value": "88" - }, - { - "key": "ajcc6_m", - "value": "NA" - }, - { - "key": "stor_ajcc6_t", - "value": "88" - }, - { - "key": "ajcc6_n", - "value": "NA" - }, - { - "key": "stor_ajcc6_mdescriptor", - "value": "N" - } - ] - }, - { - "id": "mapping_summary_stage", - "name": "Summary Stage", - "tables": [ - { - "id": "summary_stage_rpa", - "input_mapping": [ - { - "from": "n77", - "to": "n" - }, - { - "from": "m77", - "to": "m" - }, - { - "from": "t77", - "to": "t" - } - ], - "output_mapping": [ - { - "from": "stage", - "to": "ss77" - } - ], - "inputs": [ - "t77", - "m77", - "n77" - ], - "outputs": [ - "ss77" - ] - }, - { - "id": "ss_codes", - "input_mapping": [ - { - "from": "ss77", - "to": "ss" - } - ], - "output_mapping": [ - { - "from": "stor_ss", - "to": "stor_ss77" - } - ], - "inputs": [ - "ss77" - ], - "outputs": [ - "stor_ss77" - ] - }, - { - "id": "summary_stage_rpa", - "input_mapping": [ - { - "from": "m2000", - "to": "m" - }, - { - "from": "t2000", - "to": "t" - }, - { - "from": "n2000", - "to": "n" - } - ], - "output_mapping": [ - { - "from": "stage", - "to": "ss2000" - } - ], - "inputs": [ - "t2000", - "n2000", - "m2000" - ], - "outputs": [ - "ss2000" - ] - }, - { - "id": "ss_codes", - "input_mapping": [ - { - "from": "ss2000", - "to": "ss" - } - ], - "output_mapping": [ - { - "from": "stor_ss", - "to": "stor_ss2000" - } - ], - "inputs": [ - "ss2000" - ], - "outputs": [ - "stor_ss2000" - ] - } - ] - }, - { - "id": "mapping_ajcc7_invalid_year", - "name": "Validate AJCC7 Year", - "exclusion_tables": [ - { - "id": "ajcc7_year_validation", - "inputs": [ - "year_dx", - "cs_input_version_original" - ] - } - ], - "initial_context": [ - { - "key": "stor_ajcc7_m", - "value": "" - }, - { - "key": "stor_ajcc7_stage", - "value": "" - }, - { - "key": "ajcc7_m", - "value": "" - }, - { - "key": "ajcc7_n", - "value": "" - }, - { - "key": "ajcc7_mdescriptor", - "value": "" - }, - { - "key": "ajcc7_stage", - "value": "" - }, - { - "key": "stor_ajcc7_mdescriptor", - "value": "" - }, - { - "key": "stor_ajcc7_tdescriptor", - "value": "" - }, - { - "key": "ajcc7_tdescriptor", - "value": "" - }, - { - "key": "stor_ajcc7_t", - "value": "" - }, - { - "key": "ajcc7_ndescriptor", - "value": "" - }, - { - "key": "ajcc7_t", - "value": "" - }, - { - "key": "stor_ajcc7_n", - "value": "" - }, - { - "key": "stor_ajcc7_ndescriptor", - "value": "" - } - ] - }, - { - "id": "mapping_ajcc6_invalid_year", - "name": "Validate AJCC6 Year", - "exclusion_tables": [ - { - "id": "ajcc6_year_validation", - "inputs": [ - "year_dx", - "cs_input_version_original" - ] - } - ], - "initial_context": [ - { - "key": "stor_ajcc6_m", - "value": "" - }, - { - "key": "stor_ajcc6_ndescriptor", - "value": "" - }, - { - "key": "n77", - "value": "" - }, - { - "key": "stor_ajcc7_stage", - "value": "" - }, - { - "key": "ajcc6_m", - "value": "" - }, - { - "key": "t2000", - "value": "" - }, - { - "key": "ss77", - "value": "" - }, - { - "key": "stor_ss77", - "value": "" - }, - { - "key": "ajcc6_tdescriptor", - "value": "" - }, - { - "key": "t77", - "value": "" - }, - { - "key": "stor_ajcc6_stage", - "value": "" - }, - { - "key": "n2000", - "value": "" - }, - { - "key": "stor_ajcc6_t", - "value": "" - }, - { - "key": "ajcc6_t", - "value": "" - }, - { - "key": "stor_ajcc6_n", - "value": "" - }, - { - "key": "m2000", - "value": "" - }, - { - "key": "ss2000", - "value": "" - }, - { - "key": "ajcc6_ndescriptor", - "value": "" - }, - { - "key": "ajcc6_n", - "value": "" - }, - { - "key": "m77", - "value": "" - }, - { - "key": "ajcc6_stage", - "value": "" - }, - { - "key": "stor_ajcc6_mdescriptor", - "value": "" - }, - { - "key": "stor_ajcc6_tdescriptor", - "value": "" - }, - { - "key": "ajcc6_mdescriptor", - "value": "" - }, - { - "key": "stor_ss2000", - "value": "" - } - ] - } - ], - "involved_tables": [ - "ajcc7_stage_uaz", - "ssf2_kna", - "ajcc6_exclusions_ppd", - "ssf25_snt", - "ssf1_jpd", - "ssf15_snj", - "ajcc7_t_codes", - "ssf23_snr", - "histology", - "cs_input_version_original", - "ssf22_snq", - "mets_hpe", - "lvi", - "ssf14_sni", - "ajcc_tdescriptor_cleanup", - "ajcc6_stage_qaw", - "ssf4_mna", - "ajcc7_year_validation", - "ssf21_snp", - "ajcc7_inclusions_tpb", - "ssf17_snl", - "ajcc_descriptor_codes", - "grade", - "summary_stage_rpa", - "ajcc7_m_codes", - "ssf20_sno", - "ajcc_ndescriptor_cleanup", - "ssf16_snk", - "ajcc6_t_codes", - "nodes_pos_fpa", - "ajcc_mdescriptor_cleanup", - "ssf7_snb", - "ssf11_snf", - "ssf3_lna", - "ss_codes", - "extension_bdi", - "ssf6_ona", - "size_apa", - "nodes_exam_gpa", - "ajcc6_n_codes", - "schema_selection_urethra", - "behavior", - "ssf10_sne", - "ssf18_snm", - "mets_eval_ipa", - "extension_eval_cpa", - "ajcc7_n_codes", - "ajcc6_stage_codes", - "ssf5_nna", - "ssf19_snn", - "ajcc7_stage_codes", - "ssf9_snd", - "ssf13_snh", - "primary_site", - "ajcc6_year_validation", - "ajcc6_m_codes", - "nodes_eval_epa", - "cs_year_validation", - "ssf24_sns", - "nodes_dbu", - "ssf8_snc", - "ssf12_sng" - ], - "last_modified": "2016-01-28T18:55:57.071Z" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc6_exclusions_ppd.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc6_exclusions_ppd.json deleted file mode 100644 index 96fcaf44a..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc6_exclusions_ppd.json +++ /dev/null @@ -1,3013 +0,0 @@ -{ - "id": "ajcc6_exclusions_ppd", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC6 Exclusions", - "title": "Histology Exclusion Table AJCC 6th ed.", - "notes": "**Note**: Histology codes listed in this Histology Exclusion Table for this site are codes that are not TNM staged according to the AJCC 6th Edition Cancer Staging Manual. When a case is coded in Collaborative Staging and the histology is on the exclusion list, TNM will not be calculated but SEER algorithm Summary Stage 1977 and 2000 can be assigned. For these cases, displayed results will be \"T NA N NA M NA and Stage Group NA\".", - "last_modified": "2015-05-27T16:18:47.463Z", - "definition": [ - { - "key": "hist", - "name": "Histology", - "type": "INPUT" - }, - { - "key": "behavior", - "name": "Behavior", - "type": "DESCRIPTION" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "8240", - "1", - "Carcinoid tumor of uncertain malignant potential" - ], - [ - "8240", - "3", - "Carcinoid tumor, NOS (except of appendix M-8240/1)" - ], - [ - "8241", - "3", - "Enterochromaffin cell carcinoid" - ], - [ - "8242", - "1", - "Enterochromaffin-like cell carcinoid, NOS" - ], - [ - "8242", - "3", - "Enterochromaffin-like cell tumor, malignant" - ], - [ - "8243", - "3", - "Goblet cell carcinoid" - ], - [ - "8248", - "1", - "Apudoma" - ], - [ - "8249", - "3", - "Atypical carcinoid tumor" - ], - [ - "8680", - "0", - "Paraganglioma, benign" - ], - [ - "8680", - "1", - "Paraganglioma, NOS" - ], - [ - "8680", - "3", - "Paraganglioma, malignant" - ], - [ - "8681", - "1", - "Sympathetic paraganglioma" - ], - [ - "8682", - "1", - "Parasympathetic paraganglioma" - ], - [ - "8683", - "0", - "Gangliocytic paraganglioma (C17.0)" - ], - [ - "8690", - "1", - "Glomus jugulare tumor, NOS (C75.5)" - ], - [ - "8691", - "1", - "Aortic body tumor (C75.5)" - ], - [ - "8692", - "1", - "Carotid body tumor (C75.4)" - ], - [ - "8693", - "1", - "Extra-adrenal paraganglioma, NOS" - ], - [ - "8693", - "3", - "Extra-adrenal paraganglioma, malignant" - ], - [ - "8700", - "0", - "Pheochromocytoma, NOS (C74.1)" - ], - [ - "8700", - "3", - "Pheochromocytoma, malignant (C74.1)" - ], - [ - "8710", - "3", - "Glomangiosarcoma" - ], - [ - "8711", - "0", - "Glomus tumor, NOS" - ], - [ - "8711", - "3", - "Glomus tumor, malignant" - ], - [ - "8712", - "0", - "Glomangioma" - ], - [ - "8713", - "0", - "Glomangiomyoma" - ], - [ - "8720", - "0", - "Pigmented nevus, NOS (C44._)" - ], - [ - "8720", - "2", - "Melanoma in situ" - ], - [ - "8720", - "3", - "Malignant melanoma, NOS (except juvenile melanoma M-8770/0)" - ], - [ - "8721", - "3", - "Nodular melanoma (C44._)" - ], - [ - "8722", - "0", - "Balloon cell nevus (C44._)" - ], - [ - "8722", - "3", - "Balloon cell melanoma (C44._)" - ], - [ - "8723", - "0", - "Halo nevus (C44._)" - ], - [ - "8723", - "3", - "Malignant melanoma, regressing (C44._)" - ], - [ - "8725", - "0", - "Neuronevus (C44._)" - ], - [ - "8726", - "0", - "Magnocellular nevus (C69.4)" - ], - [ - "8727", - "0", - "Dysplastic nevus (C44._)" - ], - [ - "8728", - "0", - "Diffuse melanocytosis (C70.9) " - ], - [ - "8728", - "1", - "Meningeal melanocytoma (C70.9)" - ], - [ - "8728", - "3", - "Meningeal melanomatosis (C70.9)" - ], - [ - "8730", - "0", - "Nonpigmented nevus (C44._)" - ], - [ - "8730", - "3", - "Amelanotic melanoma (C44._)" - ], - [ - "8740", - "0", - "Junctional nevus, NOS (C44._)" - ], - [ - "8740", - "3", - "Malignant melanoma in junctional nevus (C44._)" - ], - [ - "8741", - "2", - "Precancerous melanosis, NOS (C44._)" - ], - [ - "8741", - "3", - "Malignant melanoma in precancerous melanosis (C44._)" - ], - [ - "8742", - "2", - "Lentigo maligna (C44._)" - ], - [ - "8742", - "3", - "Lentigo maligna melanoma (C44._)" - ], - [ - "8743", - "3", - "Superficial spreading melanoma (C44._)" - ], - [ - "8744", - "3", - "Acral lentiginous melanoma, malignant (C44._)" - ], - [ - "8745", - "3", - "Desmoplastic melanoma, malignant (C44._)" - ], - [ - "8746", - "3", - "Mucosal lentiginous melanoma" - ], - [ - "8750", - "0", - "Intradermal nevus (C44._)" - ], - [ - "8760", - "0", - "Compound nevus (C44._)" - ], - [ - "8761", - "0", - "Small congenital nevus (C44._)" - ], - [ - "8761", - "1", - "Giant pigmented nevus, NOS (C44._)" - ], - [ - "8761", - "3", - "Malignant melanoma in giant pigmented nevus (C44._)" - ], - [ - "8762", - "1", - "Proliferative dermal lesion in congenital nevus (C44._)" - ], - [ - "8770", - "0", - "Epithelioid and spindle cell nevus (C44._)" - ], - [ - "8770", - "3", - "Mixed epithelioid and spindle cell melanoma" - ], - [ - "8771", - "0", - "Epithelioid cell nevus (C44._)" - ], - [ - "8771", - "3", - "Epithelioid cell melanoma" - ], - [ - "8772", - "0", - "Spindle cell nevus, NOS (C44._)" - ], - [ - "8772", - "3", - "Spindle cell melanoma, NOS" - ], - [ - "8773", - "3", - "Spindle cell melanoma, type A (C69._)" - ], - [ - "8774", - "3", - "Spindle cell melanoma, type B (C69._)" - ], - [ - "8780", - "0", - "Blue nevus, NOS (C44._)" - ], - [ - "8780", - "3", - "Blue nevus, malignant (C44._)" - ], - [ - "8790", - "0", - "Cellular blue nevus (C44._)" - ], - [ - "8800", - "0", - "Soft tissue tumor, benign" - ], - [ - "8800", - "3", - "Sarcoma, NOS" - ], - [ - "8800", - "9", - "Sarcomatosis, NOS" - ], - [ - "8801", - "3", - "Spindle cell sarcoma" - ], - [ - "8802", - "3", - "Giant cell sarcoma (except of bone M-9250/3)" - ], - [ - "8803", - "3", - "Small cell sarcoma" - ], - [ - "8804", - "3", - "Epithelioid sarcoma" - ], - [ - "8805", - "3", - "Undifferentiated sarcoma" - ], - [ - "8806", - "3", - "Desmoplastic small round cell tumor" - ], - [ - "8810", - "0", - "Fibroma, NOS" - ], - [ - "8810", - "1", - "Cellular fibroma (C56.9)" - ], - [ - "8810", - "3", - "Fibrosarcoma, NOS" - ], - [ - "8811", - "0", - "Fibromyxoma" - ], - [ - "8811", - "3", - "Fibromyxosarcoma" - ], - [ - "8812", - "0", - "Periosteal fibroma (C40._, C41._)" - ], - [ - "8812", - "3", - "Periosteal fibrosarcoma (C40._, C41._)" - ], - [ - "8813", - "0", - "Fascial fibroma" - ], - [ - "8813", - "3", - "Fascial fibrosarcoma" - ], - [ - "8814", - "3", - "Infantile fibrosarcoma" - ], - [ - "8815", - "0", - "Solitary fibrous tumor" - ], - [ - "8815", - "3", - "Solitary fibrous tumor, malignant" - ], - [ - "8820", - "0", - "Elastofibroma" - ], - [ - "8821", - "1", - "Aggressive fibromatosis" - ], - [ - "8822", - "1", - "Abdominal fibromatosis" - ], - [ - "8823", - "0", - "Desmoplastic fibroma" - ], - [ - "8824", - "0", - "Myofibroma " - ], - [ - "8824", - "1", - "Myofibromatosis" - ], - [ - "8825", - "0", - "Myofibroblastoma" - ], - [ - "8825", - "1", - "Myofibroblastic tumor, NOS" - ], - [ - "8826", - "0", - "Angiomyofibroblastoma" - ], - [ - "8827", - "1", - "Myofibroblastic tumor, peribronchial (C34._)" - ], - [ - "8830", - "0", - "Benign fibrous histiocytoma" - ], - [ - "8830", - "1", - "Atypical fibrous histiocytoma" - ], - [ - "8830", - "3", - "Malignant fibrous histiocytoma" - ], - [ - "8831", - "0", - "Histiocytoma, NOS" - ], - [ - "8832", - "0", - "Dermatofibroma, NOS (C44._)" - ], - [ - "8832", - "3", - "Dermatofibrosarcoma, NOS (C44._)" - ], - [ - "8833", - "3", - "Pigmented dermatofibrosarcoma protuberans (C44._)" - ], - [ - "8834", - "1", - "Giant cell fibroblastoma" - ], - [ - "8835", - "1", - "Plexiform fibrohistiocytic tumor" - ], - [ - "8836", - "1", - "Angiomatoid fibrous histiocytoma" - ], - [ - "8840", - "0", - "Myxoma, NOS" - ], - [ - "8840", - "3", - "Myxosarcoma" - ], - [ - "8841", - "1", - "Angiomyxoma" - ], - [ - "8842", - "0", - "Ossifying fibromyxoid tumor" - ], - [ - "8850", - "0", - "Lipoma, NOS" - ], - [ - "8850", - "1", - "Atypical lipoma" - ], - [ - "8850", - "3", - "Liposarcoma, NOS" - ], - [ - "8851", - "0", - "Fibrolipoma" - ], - [ - "8851", - "3", - "Liposarcoma, well differentiated" - ], - [ - "8852", - "0", - "Fibromyxolipoma" - ], - [ - "8852", - "3", - "Myxoid liposarcoma" - ], - [ - "8853", - "3", - "Round cell liposarcoma" - ], - [ - "8854", - "0", - "Pleomorphic lipoma" - ], - [ - "8854", - "3", - "Pleomorphic liposarcoma" - ], - [ - "8855", - "3", - "Mixed liposarcoma" - ], - [ - "8856", - "0", - "Intramuscular lipoma" - ], - [ - "8857", - "0", - "Spindle cell lipoma" - ], - [ - "8857", - "3", - "Fibroblastic liposarcoma" - ], - [ - "8858", - "3", - "Dedifferentiated liposarcoma" - ], - [ - "8860", - "0", - "Angiomyolipoma" - ], - [ - "8861", - "0", - "Angiolipoma, NOS" - ], - [ - "8862", - "0", - "Chondroid lipoma" - ], - [ - "8870", - "0", - "Myelolipoma" - ], - [ - "8880", - "0", - "Hibernoma" - ], - [ - "8881", - "0", - "Lipoblastomatosis" - ], - [ - "8890", - "0", - "Leiomyoma, NOS" - ], - [ - "8890", - "1", - "Leiomyomatosis, NOS" - ], - [ - "8890", - "3", - "Leiomyosarcoma, NOS" - ], - [ - "8891", - "0", - "Epithelioid leiomyoma" - ], - [ - "8891", - "3", - "Epithelioid leiomyosarcoma" - ], - [ - "8892", - "0", - "Cellular leiomyoma" - ], - [ - "8893", - "0", - "Bizarre leiomyoma" - ], - [ - "8894", - "0", - "Angiomyoma" - ], - [ - "8894", - "3", - "Angiomyosarcoma" - ], - [ - "8895", - "0", - "Myoma" - ], - [ - "8895", - "3", - "Myosarcoma" - ], - [ - "8896", - "3", - "Myxoid leiomyosarcoma" - ], - [ - "8897", - "1", - "Smooth muscle tumor of uncertain malignant potential" - ], - [ - "8898", - "1", - "Metastasizing leiomyoma" - ], - [ - "8900", - "0", - "Rhabdomyoma, NOS" - ], - [ - "8900", - "3", - "Rhabdomyosarcoma, NOS" - ], - [ - "8901", - "3", - "Pleomorphic rhabdomyosarcoma, adult type" - ], - [ - "8902", - "3", - "Mixed type rhabdomyosarcoma" - ], - [ - "8903", - "0", - "Fetal rhabdomyoma" - ], - [ - "8904", - "0", - "Adult rhabdomyoma" - ], - [ - "8905", - "0", - "Genital rhabdomyoma (C51._, C52.9)" - ], - [ - "8910", - "3", - "Embryonal rhabdomyosarcoma, NOS" - ], - [ - "8912", - "3", - "Spindle cell rhabdomyosarcoma" - ], - [ - "8920", - "3", - "Alveolar rhabdomyosarcoma" - ], - [ - "8921", - "3", - "Rhabdomyosarcoma with ganglionic differentiation" - ], - [ - "8930", - "0", - "Endometrial stromal nodule (C54.1)" - ], - [ - "8930", - "3", - "Endometrial stromal sarcoma, NOS (C54.1)" - ], - [ - "8931", - "3", - "Endometrial stromal sarcoma, low grade (C54.1)" - ], - [ - "8932", - "0", - "Adenomyoma" - ], - [ - "8933", - "3", - "Adenosarcoma" - ], - [ - "8934", - "3", - "Carcinofibroma" - ], - [ - "8935", - "0", - "Stromal tumor, benign" - ], - [ - "8935", - "1", - "Stromal tumor, NOS" - ], - [ - "8935", - "3", - "Stromal sarcoma, NOS" - ], - [ - "8936", - "0", - "Gastrointestinal stromal tumor, benign" - ], - [ - "8936", - "1", - "Gastrointestinal stromal tumor, NOS" - ], - [ - "8936", - "3", - "Gastrointestinal stromal sarcoma" - ], - [ - "8950", - "3", - "Mullerian mixed tumor (C54._)" - ], - [ - "8951", - "3", - "Mesodermal mixed tumor" - ], - [ - "8959", - "0", - "Benign cystic nephroma (C64.9)" - ], - [ - "8959", - "1", - "Cystic partially differentiated nephroblastoma (C64.9)" - ], - [ - "8959", - "3", - "Malignant cystic nephroma (C64.9)" - ], - [ - "8960", - "1", - "Mesoblastic nephroma" - ], - [ - "8960", - "3", - "Nephroblastoma, NOS (C64.9)" - ], - [ - "8963", - "3", - "Malignant rhabdoid tumor" - ], - [ - "8964", - "3", - "Clear cell sarcoma of kidney (C64.9)" - ], - [ - "8965", - "0", - "Nephrogenic adenofibroma (C64.9)" - ], - [ - "8966", - "0", - "Renomedullary interstitial cell tumor (C64.9)" - ], - [ - "8967", - "0", - "Ossifying renal tumor (C64.9)" - ], - [ - "8970", - "3", - "Hepatoblastoma (C22.0)" - ], - [ - "8971", - "3", - "Pancreatoblastoma (C25._)" - ], - [ - "8972", - "3", - "Pulmonary blastoma (C34._)" - ], - [ - "8973", - "3", - "Pleuropulmonary blastoma" - ], - [ - "8974", - "1", - "Sialoblastoma" - ], - [ - "8980", - "3", - "Carcinosarcoma, NOS" - ], - [ - "8981", - "3", - "Carcinosarcoma, embryonal" - ], - [ - "8983", - "0", - "Adenomyoepithelioma (C50._)" - ], - [ - "8990", - "0", - "Mesenchymoma, benign" - ], - [ - "8990", - "1", - "Mesenchymoma, NOS" - ], - [ - "8990", - "3", - "Mesenchymoma, malignant" - ], - [ - "8991", - "3", - "Embryonal sarcoma" - ], - [ - "9000", - "0", - "Brenner tumor, NOS (C56.9)" - ], - [ - "9000", - "1", - "Brenner tumor, borderline malignancy (C56.9)" - ], - [ - "9000", - "3", - "Brenner tumor, malignant (C56.9)" - ], - [ - "9010", - "0", - "Fibroadenoma, NOS (C50._)" - ], - [ - "9011", - "0", - "Intracanalicular fibroadenoma (C50._)" - ], - [ - "9012", - "0", - "Pericanalicular fibroadenoma (C50._)" - ], - [ - "9013", - "0", - "Adenofibroma, NOS" - ], - [ - "9014", - "0", - "Serous adenofibroma, NOS" - ], - [ - "9014", - "1", - "Serous adenofibroma of borderline malignancy" - ], - [ - "9014", - "3", - "Serous adenocarcinofibroma" - ], - [ - "9015", - "0", - "Mucinous adenofibroma, NOS" - ], - [ - "9015", - "1", - "Mucinous adenofibroma of borderline malignancy" - ], - [ - "9015", - "3", - "Mucinous adenocarcinofibroma" - ], - [ - "9016", - "0", - "Giant fibroadenoma (C50._)" - ], - [ - "9020", - "0", - "Phyllodes tumor, benign (C50._)" - ], - [ - "9020", - "1", - "Phyllodes tumor, borderline (C50._)" - ], - [ - "9020", - "3", - "Phyllodes tumor, malignant (C50._)" - ], - [ - "9030", - "0", - "Juvenile fibroadenoma (C50._)" - ], - [ - "9040", - "0", - "Synovioma, benign" - ], - [ - "9040", - "3", - "Synovial sarcoma, NOS" - ], - [ - "9041", - "3", - "Synovial sarcoma, spindle cell" - ], - [ - "9042", - "3", - "Synovial sarcoma, epithelioid cell" - ], - [ - "9043", - "3", - "Synovial sarcoma, biphasic" - ], - [ - "9044", - "3", - "Clear cell sarcoma, NOS (except of kidney M-8964/3)" - ], - [ - "9050", - "0", - "Mesothelioma, benign" - ], - [ - "9050", - "3", - "Mesothelioma, malignant" - ], - [ - "9051", - "0", - "Fibrous mesothelioma, benign" - ], - [ - "9051", - "3", - "Fibrous mesothelioma, malignant" - ], - [ - "9052", - "0", - "Epithelioid mesothelioma, benign" - ], - [ - "9052", - "3", - "Epithelioid mesothelioma, malignant" - ], - [ - "9053", - "3", - "Mesothelioma, biphasic, malignant" - ], - [ - "9054", - "0", - "Adenomatoid tumor, NOS" - ], - [ - "9055", - "0", - "Multicystic mesothelioma, benign" - ], - [ - "9055", - "1", - "Cystic mesothelioma, NOS (C48._)" - ], - [ - "9060", - "3", - "Dysgerminoma" - ], - [ - "9061", - "3", - "Seminoma, NOS (C62._)" - ], - [ - "9062", - "3", - "Seminoma, anaplastic (C62._)" - ], - [ - "9063", - "3", - "Spermatocytic seminoma (C62._)" - ], - [ - "9064", - "2", - "Intratubular malignant germ cells (C62._)" - ], - [ - "9064", - "3", - "Germinoma" - ], - [ - "9065", - "3", - "Germ cell tumor, nonseminomatous (C62._)" - ], - [ - "9070", - "3", - "Embryonal carcinoma, NOS" - ], - [ - "9071", - "3", - "Yolk sac tumor" - ], - [ - "9072", - "3", - "Polyembryoma" - ], - [ - "9073", - "1", - "Gonadoblastoma" - ], - [ - "9080", - "0", - "Teratoma, benign" - ], - [ - "9080", - "1", - "Teratoma, NOS" - ], - [ - "9080", - "3", - "Teratoma, malignant, NOS" - ], - [ - "9081", - "3", - "Teratocarcinoma" - ], - [ - "9082", - "3", - "Malignant teratoma, undifferentiated" - ], - [ - "9083", - "3", - "Malignant teratoma, intermediate" - ], - [ - "9084", - "0", - "Dermoid cyst, NOS" - ], - [ - "9084", - "3", - "Teratoma with malignant transformation" - ], - [ - "9085", - "3", - "Mixed germ cell tumor" - ], - [ - "9090", - "0", - "Struma ovarii, NOS (C56.9)" - ], - [ - "9090", - "3", - "Struma ovarii, malignant (C56.9)" - ], - [ - "9091", - "1", - "Strumal carcinoid (C56.9)" - ], - [ - "9100", - "0", - "Hydatidiform mole, NOS (C58.9)" - ], - [ - "9100", - "1", - "Invasive hydatidiform mole (C58.9)" - ], - [ - "9100", - "3", - "Choriocarcinoma, NOS" - ], - [ - "9101", - "3", - "Choriocarcinoma combined with other germ cell elements" - ], - [ - "9102", - "3", - "Malignant teratoma, trophoblastic" - ], - [ - "9103", - "0", - "Partial hydatidiform mole (C58.9)" - ], - [ - "9104", - "1", - "Placental site trophoblastic tumor (C58.9)" - ], - [ - "9105", - "3", - "Trophoblastic tumor, epithelioid" - ], - [ - "9110", - "0", - "Mesonephroma, benign" - ], - [ - "9110", - "1", - "Mesonephric tumor, NOS" - ], - [ - "9110", - "3", - "Mesonephroma, malignant" - ], - [ - "9120", - "0", - "Hemangioma, NOS" - ], - [ - "9120", - "3", - "Hemangiosarcoma" - ], - [ - "9121", - "0", - "Cavernous hemangioma" - ], - [ - "9122", - "0", - "Venous hemangioma" - ], - [ - "9123", - "0", - "Racemose hemangioma" - ], - [ - "9124", - "3", - "Kupffer cell sarcoma (C22.0)" - ], - [ - "9125", - "0", - "Epithelioid hemangioma" - ], - [ - "9130", - "0", - "Hemangioendothelioma, benign" - ], - [ - "9130", - "1", - "Hemangioendothelioma, NOS" - ], - [ - "9130", - "3", - "Hemangioendothelioma, malignant" - ], - [ - "9131", - "0", - "Capillary hemangioma" - ], - [ - "9132", - "0", - "Intramuscular hemangioma" - ], - [ - "9133", - "1", - "Epithelioid hemangioendothelioma, NOS" - ], - [ - "9133", - "3", - "Epithelioid hemangioendothelioma, malignant" - ], - [ - "9135", - "1", - "Endovascular papillary angioendothelioma" - ], - [ - "9136", - "1", - "Spindle cell hemangioendothelioma " - ], - [ - "9140", - "3", - "Kaposi sarcoma" - ], - [ - "9141", - "0", - "Angiokeratoma" - ], - [ - "9142", - "0", - "Verrucous keratotic hemangioma" - ], - [ - "9150", - "0", - "Hemangiopericytoma, benign" - ], - [ - "9150", - "1", - "Hemangiopericytoma, NOS" - ], - [ - "9150", - "3", - "Hemangiopericytoma, malignant" - ], - [ - "9160", - "0", - "Angiofibroma, NOS" - ], - [ - "9161", - "0", - "Acquired tufted hemangioma" - ], - [ - "9161", - "1", - "Hemangioblastoma" - ], - [ - "9170", - "0", - "Lymphangioma, NOS" - ], - [ - "9170", - "3", - "Lymphangiosarcoma" - ], - [ - "9171", - "0", - "Capillary lymphangioma" - ], - [ - "9172", - "0", - "Cavernous lymphangioma" - ], - [ - "9173", - "0", - "Cystic lymphangioma" - ], - [ - "9174", - "0", - "Lymphangiomyoma" - ], - [ - "9174", - "1", - "Lymphangiomyomatosis" - ], - [ - "9175", - "0", - "Hemolymphangioma" - ], - [ - "9180", - "0", - "Osteoma, NOS (C40._, C41._)" - ], - [ - "9180", - "3", - "Osteosarcoma, NOS (C40._, C41._)" - ], - [ - "9181", - "3", - "Chondroblastic osteosarcoma (C40._, C41._)" - ], - [ - "9182", - "3", - "Fibroblastic osteosarcoma (C40._, C41._)" - ], - [ - "9183", - "3", - "Telangiectatic osteosarcoma (C40._, C41._)" - ], - [ - "9184", - "3", - "Osteosarcoma in Paget disease of bone (C40._, C41._)" - ], - [ - "9185", - "3", - "Small cell osteosarcoma (C40._, C41._)" - ], - [ - "9186", - "3", - "Central osteosarcoma (C40._, C41._)" - ], - [ - "9187", - "3", - "Intraosseous well differentiated osteosarcoma (C40._, C41._)" - ], - [ - "9191", - "0", - "Osteoid osteoma, NOS (C40._, C41._)" - ], - [ - "9192", - "3", - "Parosteal osteosarcoma (C40._, C41._)" - ], - [ - "9193", - "3", - "Periosteal osteosarcoma (C40._, C41._)" - ], - [ - "9194", - "3", - "High grade surface osteosarcoma (C40._, C41._)" - ], - [ - "9195", - "3", - "Intracortical osteosarcoma (C40._, C41._)" - ], - [ - "9200", - "0", - "Osteoblastoma, NOS (C40._, C41._)" - ], - [ - "9200", - "1", - "Aggressive osteoblastoma (C40._, C41._)" - ], - [ - "9210", - "0", - "Osteochondroma (C40._, C41._)" - ], - [ - "9210", - "1", - "Osteochondromatosis, NOS (C40._, C41._)" - ], - [ - "9220", - "0", - "Chondroma, NOS (C40._, C41._)" - ], - [ - "9220", - "1", - "Chondromatosis, NOS" - ], - [ - "9220", - "3", - "Chondrosarcoma, NOS (C40._, C41._)" - ], - [ - "9221", - "0", - "Juxtacortical chondroma (C40._, C41._)" - ], - [ - "9221", - "3", - "Juxtacortical chondrosarcoma (C40._, C41._)" - ], - [ - "9230", - "0", - "Chondroblastoma, NOS (C40._, C41._)" - ], - [ - "9230", - "3", - "Chondroblastoma, malignant (C40._, C41._)" - ], - [ - "9231", - "3", - "Myxoid chondrosarcoma" - ], - [ - "9240", - "3", - "Mesenchymal chondrosarcoma" - ], - [ - "9241", - "0", - "Chondromyxoid fibroma (C40._, C41._)" - ], - [ - "9242", - "3", - "Clear cell chondrosarcoma (C40._, C41._)" - ], - [ - "9243", - "3", - "Dedifferentiated chondrosarcoma (C40._, C41._)" - ], - [ - "9250", - "1", - "Giant cell tumor of bone, NOS (C40._, C41._)" - ], - [ - "9250", - "3", - "Giant cell tumor of bone, malignant (C40._, C41._)" - ], - [ - "9251", - "1", - "Giant cell tumor of soft parts, NOS" - ], - [ - "9251", - "3", - "Malignant giant cell tumor of soft parts" - ], - [ - "9252", - "0", - "Tenosynovial giant cell tumor (C49._)" - ], - [ - "9252", - "3", - "Malignant tenosynovial giant cell tumor (C49._)" - ], - [ - "9260", - "3", - "Ewing sarcoma" - ], - [ - "9261", - "3", - "Adamantinoma of long bones (C40._)" - ], - [ - "9262", - "0", - "Ossifying fibroma" - ], - [ - "9270", - "0", - "Odontogenic tumor, benign" - ], - [ - "9270", - "1", - "Odontogenic tumor, NOS" - ], - [ - "9270", - "3", - "Odontogenic tumor, malignant" - ], - [ - "9271", - "0", - "Ameloblastic fibrodentinoma" - ], - [ - "9272", - "0", - "Cementoma, NOS" - ], - [ - "9273", - "0", - "Cementoblastoma, benign" - ], - [ - "9274", - "0", - "Cementifying fibroma" - ], - [ - "9275", - "0", - "Gigantiform cementoma" - ], - [ - "9280", - "0", - "Odontoma, NOS" - ], - [ - "9281", - "0", - "Compound odontoma" - ], - [ - "9282", - "0", - "Complex odontoma" - ], - [ - "9290", - "0", - "Ameloblastic fibro-odontoma" - ], - [ - "9290", - "3", - "Ameloblastic odontosarcoma" - ], - [ - "9300", - "0", - "Adenomatoid odontogenic tumor" - ], - [ - "9301", - "0", - "Calcifying odontogenic cyst" - ], - [ - "9302", - "0", - "Odontogenic ghost cell tumor" - ], - [ - "9310", - "0", - "Ameloblastoma, NOS" - ], - [ - "9310", - "3", - "Ameloblastoma, malignant" - ], - [ - "9311", - "0", - "Odontoameloblastoma" - ], - [ - "9312", - "0", - "Squamous odontogenic tumor" - ], - [ - "9320", - "0", - "Odontogenic myxoma" - ], - [ - "9321", - "0", - "Central odontogenic fibroma" - ], - [ - "9322", - "0", - "Peripheral odontogenic fibroma" - ], - [ - "9330", - "0", - "Ameloblastic fibroma" - ], - [ - "9330", - "3", - "Ameloblastic fibrosarcoma" - ], - [ - "9340", - "0", - "Calcifying epithelial odontogenic tumor" - ], - [ - "9341", - "1", - "Clear cell odontogenic tumor" - ], - [ - "9342", - "3", - "Odontogenic carcinosarcoma" - ], - [ - "9350", - "1", - "Craniopharyngioma (C75.2)" - ], - [ - "9351", - "1", - "Craniopharyngioma, adamantinomatous (C75.2)" - ], - [ - "9352", - "1", - "Craniopharyngioma, papillary (C75.2)" - ], - [ - "9360", - "1", - "Pinealoma (C75.3)" - ], - [ - "9361", - "1", - "Pineocytoma (C75.3)" - ], - [ - "9362", - "3", - "Pineoblastoma (C75.3)" - ], - [ - "9363", - "0", - "Melanotic neuroectodermal tumor" - ], - [ - "9364", - "3", - "Peripheral neuroectodermal tumor" - ], - [ - "9365", - "3", - "Askin tumor" - ], - [ - "9370", - "3", - "Chordoma, NOS" - ], - [ - "9371", - "3", - "Chondroid chordoma" - ], - [ - "9372", - "3", - "Dedifferentiated chordoma" - ], - [ - "9373", - "0", - "Parachordoma" - ], - [ - "9380", - "3", - "Glioma, malignant (C71._)" - ], - [ - "9381", - "3", - "Gliomatosis cerebri (C71._)" - ], - [ - "9382", - "3", - "Mixed glioma (C71._)" - ], - [ - "9383", - "1", - "Subependymoma (C71._)" - ], - [ - "9384", - "1", - "Subependymal giant cell astrocytoma (C71._)" - ], - [ - "9390", - "0", - "Choroid plexus papilloma, NOS (C71.5)" - ], - [ - "9390", - "1", - "Atypical choroid plexus papilloma (C71.5)" - ], - [ - "9390", - "3", - "Choroid plexus carcinoma (C71.5)" - ], - [ - "9391", - "3", - "Ependymoma, NOS (C71._)" - ], - [ - "9392", - "3", - "Ependymoma, anaplastic (C71._)" - ], - [ - "9393", - "3", - "Papillary ependymoma (C71._)" - ], - [ - "9394", - "1", - "Myxopapillary ependymoma (C72.0)" - ], - [ - "9400", - "3", - "Astrocytoma, NOS (C71._)" - ], - [ - "9401", - "3", - "Astrocytoma, anaplastic (C71._)" - ], - [ - "9410", - "3", - "Protoplasmic astrocytoma (C71._)" - ], - [ - "9411", - "3", - "Gemistocytic astrocytoma (C71._)" - ], - [ - "9412", - "1", - "Desmoplastic infantile astrocytoma (C71._)" - ], - [ - "9413", - "0", - "Dysembryoplastic neuroepithelial tumor" - ], - [ - "9420", - "3", - "Fibrillary astrocytoma (C71._)" - ], - [ - "9421", - "1", - "Pilocytic astrocytoma (C71._)" - ], - [ - "9423", - "3", - "Polar spongioblastoma (C71._)" - ], - [ - "9424", - "3", - "Pleomorphic xanthoastrocytoma (C71._)" - ], - [ - "9430", - "3", - "Astroblastoma (C71._)" - ], - [ - "9440", - "3", - "Glioblastoma, NOS (C71._)" - ], - [ - "9441", - "3", - "Giant cell glioblastoma (C71._)" - ], - [ - "9442", - "1", - "Gliofibroma (C71._)" - ], - [ - "9442", - "3", - "Gliosarcoma (C71._)" - ], - [ - "9444", - "1", - "Chordoid glioma (C71._)" - ], - [ - "9450", - "3", - "Oligodendroglioma, NOS (C71._)" - ], - [ - "9451", - "3", - "Oligodendroglioma, anaplastic (C71._)" - ], - [ - "9460", - "3", - "Oligodendroblastoma (C71._) [obs]" - ], - [ - "9470", - "3", - "Medulloblastoma, NOS (C71.6)" - ], - [ - "9471", - "3", - "Desmoplastic nodular medulloblastoma (C71.6)" - ], - [ - "9472", - "3", - "Medullomyoblastoma (C71.6)" - ], - [ - "9473", - "3", - "Primitive neuroectodermal tumor, NOS" - ], - [ - "9474", - "3", - "Large cell medulloblastoma (C71.6)" - ], - [ - "9480", - "3", - "Cerebellar sarcoma, NOS (C71.6) [obs]" - ], - [ - "9490", - "0", - "Ganglioneuroma" - ], - [ - "9490", - "3", - "Ganglioneuroblastoma" - ], - [ - "9491", - "0", - "Ganglioneuromatosis" - ], - [ - "9492", - "0", - "Gangliocytoma" - ], - [ - "9493", - "0", - "Dysplastic gangliocytoma of cerebellum (Lhermitte-Duclos) (C71.6)" - ], - [ - "9500", - "3", - "Neuroblastoma, NOS" - ], - [ - "9501", - "0", - "Medulloepithelioma, benign (C69.4)" - ], - [ - "9501", - "3", - "Medulloepithelioma, NOS" - ], - [ - "9502", - "0", - "Teratoid medulloepithelioma, benign (C69.4)" - ], - [ - "9502", - "3", - "Teratoid medulloepithelioma" - ], - [ - "9503", - "3", - "Neuroepithelioma, NOS" - ], - [ - "9504", - "3", - "Spongioneuroblastoma" - ], - [ - "9505", - "1", - "Ganglioglioma, NOS" - ], - [ - "9505", - "3", - "Ganglioglioma, anaplastic" - ], - [ - "9506", - "1", - "Central neurocytoma" - ], - [ - "9507", - "0", - "Pacinian tumor" - ], - [ - "9508", - "3", - "Atypical teratoid/rhabdoid tumor (C71._)" - ], - [ - "9510", - "0", - "Retinocytoma (C69.2)" - ], - [ - "9510", - "3", - "Retinoblastoma, NOS (C69.2)" - ], - [ - "9511", - "3", - "Retinoblastoma, differentiated (C69.2)" - ], - [ - "9512", - "3", - "Retinoblastoma, undifferentiated (C69.2)" - ], - [ - "9513", - "3", - "Retinoblastoma, diffuse (C69.2)" - ], - [ - "9514", - "1", - "Retinoblastoma, spontaneously regressed (C69.2)" - ], - [ - "9520", - "3", - "Olfactory neurogenic tumor" - ], - [ - "9521", - "3", - "Olfactory neurocytoma (C30.0)" - ], - [ - "9522", - "3", - "Olfactory neuroblastoma (C30.0)" - ], - [ - "9523", - "3", - "Olfactory neuroepithelioma (C30.0)" - ], - [ - "9530", - "0", - "Meningioma, NOS" - ], - [ - "9530", - "1", - "Meningiomatosis, NOS" - ], - [ - "9530", - "3", - "Meningioma, malignant" - ], - [ - "9531", - "0", - "Meningothelial meningioma" - ], - [ - "9532", - "0", - "Fibrous meningioma" - ], - [ - "9533", - "0", - "Psammomatous meningioma" - ], - [ - "9534", - "0", - "Angiomatous meningioma" - ], - [ - "9535", - "0", - "Hemangioblastic meningioma [obs]" - ], - [ - "9537", - "0", - "Transitional meningioma" - ], - [ - "9538", - "1", - "Clear cell meningioma" - ], - [ - "9538", - "3", - "Papillary meningioma" - ], - [ - "9539", - "1", - "Atypical meningioma" - ], - [ - "9539", - "3", - "Meningeal sarcomatosis" - ], - [ - "9540", - "0", - "Neurofibroma, NOS" - ], - [ - "9540", - "1", - "Neurofibromatosis, NOS" - ], - [ - "9540", - "3", - "Malignant peripheral nerve sheath tumor" - ], - [ - "9541", - "0", - "Melanotic neurofibroma" - ], - [ - "9550", - "0", - "Plexiform neurofibroma" - ], - [ - "9560", - "0", - "Neurilemoma, NOS" - ], - [ - "9560", - "1", - "Neurinomatosis" - ], - [ - "9560", - "3", - "Neurilemoma, malignant [obs]" - ], - [ - "9561", - "3", - "Malignant peripheral nerve sheath tumor with rhabdomyoblastic differentiation" - ], - [ - "9562", - "0", - "Neurothekeoma" - ], - [ - "9570", - "0", - "Neuroma, NOS" - ], - [ - "9571", - "0", - "Perineurioma, NOS" - ], - [ - "9571", - "3", - "Perineurioma, malignant" - ], - [ - "9580", - "0", - "Granular cell tumor, NOS" - ], - [ - "9580", - "3", - "Granular cell tumor, malignant" - ], - [ - "9581", - "3", - "Alveolar soft part sarcoma" - ], - [ - "9582", - "0", - "Granular cell tumor of the sellar region (C75.1)" - ], - [ - "9590", - "3", - "Malignant lymphoma, NOS" - ], - [ - "9591", - "3", - "Malignant lymphoma, non-Hodgkin, NOS" - ], - [ - "9596", - "3", - "Composite Hodgkin and non-Hodgkin lymphoma" - ], - [ - "9650", - "3", - "Hodgkin lymphoma, NOS" - ], - [ - "9651", - "3", - "Hodgkin lymphoma, lymphocyte-rich" - ], - [ - "9652", - "3", - "Hodgkin lymphoma, mixed cellularity, NOS" - ], - [ - "9653", - "3", - "Hodgkin lymphoma, lymphocyte depletion, NOS" - ], - [ - "9654", - "3", - "Hodgkin lymphoma, lymphocyte depletion, diffuse fibrosis" - ], - [ - "9655", - "3", - "Hodgkin lymphoma, lymphocyte depletion, reticular" - ], - [ - "9659", - "3", - "Hodgkin lymphoma, nodular lymphocyte predominance" - ], - [ - "9661", - "3", - "Hodgkin granuloma [obs]" - ], - [ - "9662", - "3", - "Hodgkin sarcoma [obs]" - ], - [ - "9663", - "3", - "Hodgkin lymphoma, nodular sclerosis, NOS" - ], - [ - "9664", - "3", - "Hodgkin lymphoma, nodular sclerosis, cellular phase" - ], - [ - "9665", - "3", - "Hodgkin lymphoma, nodular sclerosis, grade 1" - ], - [ - "9667", - "3", - "Hodgkin lymphoma, nodular sclerosis, grade 2" - ], - [ - "9670", - "3", - "Malignant lymphoma, small B lymphocytic, NOS (see also M-9823/3)" - ], - [ - "9671", - "3", - "Malignant lymphoma, lymphoplasmacytic (see also M-9761/3)" - ], - [ - "9673", - "3", - "Mantle cell lymphoma" - ], - [ - "9675", - "3", - "Malignant lymphoma, mixed small and large cell, diffuse [obs] (see also M-9690/3)" - ], - [ - "9678", - "3", - "Primary effusion lymphoma" - ], - [ - "9679", - "3", - "Mediastinal large B-cell lymphoma (C38.3)" - ], - [ - "9680", - "3", - "Malignant lymphoma, large B-cell, diffuse, NOS" - ], - [ - "9684", - "3", - "Malignant lymphoma, large B-cell, diffuse, immunoblastic, NOS" - ], - [ - "9687", - "3", - "Burkitt lymphoma, NOS (see also M-9826/3)" - ], - [ - "9689", - "3", - "Splenic marginal zone B-cell lymphoma (C42.2)" - ], - [ - "9690", - "3", - "Follicular lymphoma, NOS (see also M-9675/3)" - ], - [ - "9691", - "3", - "Follicular lymphoma, grade 2" - ], - [ - "9695", - "3", - "Follicular lymphoma, grade 1" - ], - [ - "9698", - "3", - "Follicular lymphoma, grade 3" - ], - [ - "9699", - "3", - "Marginal zone B-cell lymphoma, NOS" - ], - [ - "9700", - "3", - "Mycosis fungoides (C44._)" - ], - [ - "9701", - "3", - "Sezary syndrome" - ], - [ - "9702", - "3", - "Mature T-cell lymphoma, NOS" - ], - [ - "9705", - "3", - "Angioimmunoblastic T-cell lymphoma" - ], - [ - "9708", - "3", - "Subcutaneous panniculitis-like T-cell lymphoma" - ], - [ - "9709", - "3", - "Cutaneous T-cell lymphoma, NOS (C44._)" - ], - [ - "9714", - "3", - "Anaplastic large cell lymphoma, T cell and Null cell type" - ], - [ - "9716", - "3", - "Hepatosplenic ?? (gamma-delta) cell lymphoma" - ], - [ - "9717", - "3", - "Intestinal T-cell lymphoma" - ], - [ - "9718", - "3", - "Primary cutaneous CD30+ T-cell lymphoproliferative disorder (C44._)" - ], - [ - "9719", - "3", - "NK/T-cell lymphoma, nasal and nasal-type" - ], - [ - "9727", - "3", - "Precursor cell lymphoblastic lymphoma, NOS (see also M-9835/3)" - ], - [ - "9728", - "3", - "Precursor B-cell lymphoblastic lymphoma (see also M-9836/3)" - ], - [ - "9729", - "3", - "Precursor T-cell lymphoblastic lymphoma (see also M-9837/3)" - ], - [ - "9731", - "3", - "Plasmacytoma, NOS" - ], - [ - "9732", - "3", - "Multiple myeloma (C42.1)" - ], - [ - "9733", - "3", - "Plasma cell leukemia (C42.1)" - ], - [ - "9734", - "3", - "Plasmacytoma, extramedullary (not occurring in bone)" - ], - [ - "9740", - "1", - "Mastocytoma, NOS" - ], - [ - "9740", - "3", - "Mast cell sarcoma" - ], - [ - "9741", - "3", - "Malignant mastocytosis" - ], - [ - "9742", - "3", - "Mast cell leukemia (C42.1)" - ], - [ - "9750", - "3", - "Malignant histiocytosis" - ], - [ - "9751", - "1", - "Langerhans cell histiocytosis, NOS" - ], - [ - "9752", - "1", - "Langerhans cell histiocytosis, unifocal" - ], - [ - "9753", - "1", - "Langerhans cell histiocytosis, multifocal" - ], - [ - "9754", - "3", - "Langerhans cell histiocytosis, disseminated" - ], - [ - "9755", - "3", - "Histiocytic sarcoma" - ], - [ - "9756", - "3", - "Langerhans cell sarcoma" - ], - [ - "9757", - "3", - "Interdigitating dendritic cell sarcoma" - ], - [ - "9758", - "3", - "Follicular dendritic cell sarcoma" - ], - [ - "9760", - "3", - "Immunoproliferative disease, NOS" - ], - [ - "9761", - "3", - "Waldenstrom macroglobulinemia (C42.0) (see also M-9671/3)" - ], - [ - "9762", - "3", - "Heavy chain disease, NOS" - ], - [ - "9764", - "3", - "Immunoproliferative small intestinal disease (C17._)" - ], - [ - "9765", - "1", - "Monoclonal gammopathy of undetermined significance" - ], - [ - "9766", - "1", - "Angiocentric immunoproliferative lesion" - ], - [ - "9767", - "1", - "Angioimmunoblastic lymphadenopathy" - ], - [ - "9768", - "1", - "T-gamma lymphoproliferative disease" - ], - [ - "9769", - "1", - "Immunoglobulin deposition disease" - ], - [ - "9800", - "3", - "Leukemia, NOS" - ], - [ - "9801", - "3", - "Acute leukemia, NOS" - ], - [ - "9805", - "3", - "Acute biphenotypic leukemia" - ], - [ - "9820", - "3", - "Lymphoid leukemia, NOS" - ], - [ - "9823", - "3", - "B-cell chronic lymphocytic leukemia/small lymphocytic lymphoma (see also M-9670/3)" - ], - [ - "9826", - "3", - "Burkitt cell leukemia (see also M-9687/3)" - ], - [ - "9827", - "3", - "Adult T-cell leukemia/lymphoma (HTLV-1 positive) Includes all variants" - ], - [ - "9831", - "1", - "T-cell large granular lymphocytic leukemia" - ], - [ - "9832", - "3", - "Prolymphocytic leukemia, NOS" - ], - [ - "9833", - "3", - "Prolymphocytic leukemia, B-cell type" - ], - [ - "9834", - "3", - "Prolymphocytic leukemia, T-cell type" - ], - [ - "9835", - "3", - "Precursor cell lymphoblastic leukemia, NOS (see also M-9727/3)" - ], - [ - "9836", - "3", - "Precursor B-cell lymphoblastic leukemia (see also M-9728/3)" - ], - [ - "9837", - "3", - "Precursor T-cell lymphoblastic leukemia (see also M-9729/3)" - ], - [ - "9840", - "3", - "Acute myeloid leukemia, M6 type" - ], - [ - "9860", - "3", - "Myeloid leukemia, NOS" - ], - [ - "9861", - "3", - "Acute myeloid leukemia, NOS (FAB or WHO type not specified) (see also M-9930/3)" - ], - [ - "9863", - "3", - "Chronic myeloid leukemia, NOS" - ], - [ - "9866", - "3", - "Acute promyelocytic leukemia, t(15;17)(q22;q11-12)" - ], - [ - "9867", - "3", - "Acute myelomonocytic leukemia" - ], - [ - "9870", - "3", - "Acute basophilic leukemia" - ], - [ - "9871", - "3", - "Acute myeloid leukemia with abnormal marrow eosinophils Includes all variants" - ], - [ - "9872", - "3", - "Acute myeloid leukemia, minimal differentiation" - ], - [ - "9873", - "3", - "Acute myeloid leukemia without maturation" - ], - [ - "9874", - "3", - "Acute myeloid leukemia with maturation" - ], - [ - "9875", - "3", - "Chronic myelogenous leukemia, BCR/ABL positive" - ], - [ - "9876", - "3", - "Atypical chronic myeloid leukemia, BCR/ABL negative" - ], - [ - "9891", - "3", - "Acute monocytic leukemia" - ], - [ - "9895", - "3", - "Acute myeloid leukemia with multilineage dysplasia" - ], - [ - "9896", - "3", - "Acute myeloid leukemia, t(8;21)(q22;q22)" - ], - [ - "9897", - "3", - "Acute myeloid leukemia, 11q23 abnormalities" - ], - [ - "9910", - "3", - "Acute megakaryoblastic leukemia" - ], - [ - "9920", - "3", - "Therapy-related acute myeloid leukemia, NOS" - ], - [ - "9930", - "3", - "Myeloid sarcoma (see also M-9861/3)" - ], - [ - "9931", - "3", - "Acute panmyelosis with myelofibrosis (C42.1)" - ], - [ - "9940", - "3", - "Hairy cell leukemia (C42.1)" - ], - [ - "9945", - "3", - "Chronic myelomonocytic leukemia, NOS" - ], - [ - "9946", - "3", - "Juvenile myelomonocytic leukemia" - ], - [ - "9948", - "3", - "Aggressive NK-cell leukemia" - ], - [ - "9950", - "3", - "Polycythemia vera" - ], - [ - "9960", - "3", - "Chronic myeloproliferative disease, NOS" - ], - [ - "9961", - "3", - "Myelosclerosis with myeloid metaplasia" - ], - [ - "9962", - "3", - "Essential thrombocythemia" - ], - [ - "9963", - "3", - "Chronic neutrophilic leukemia" - ], - [ - "9964", - "3", - "Hypereosinophilic syndrome" - ], - [ - "9970", - "1", - "Lymphoproliferative disorder, NOS" - ], - [ - "9975", - "1", - "Myeloproliferative disease, NOS" - ], - [ - "9980", - "3", - "Refractory anemia" - ], - [ - "9982", - "3", - "Refractory anemia with sideroblasts" - ], - [ - "9983", - "3", - "Refractory anemia with excess blasts" - ], - [ - "9984", - "3", - "Refractory anemia with excess blasts in transformation [obs]" - ], - [ - "9985", - "3", - "Refractory cytopenia with multilineage dysplasia" - ], - [ - "9986", - "3", - "Myelodysplastic syndrome with 5q deletion (5q-) syndrome" - ], - [ - "9987", - "3", - "Therapy-related myelodysplastic syndrome, NOS" - ], - [ - "9989", - "3", - "Myelodysplastic syndrome, NOS" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc6_m_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc6_m_codes.json deleted file mode 100644 index 8760a8a49..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc6_m_codes.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "id": "ajcc6_m_codes", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC 6 M Codes", - "title": "AJCC 6 M Allowable Codes", - "last_modified": "2015-05-27T16:18:47.617Z", - "definition": [ - { - "key": "ajcc6_m", - "name": "Display String", - "type": "INPUT" - }, - { - "key": "stor_ajcc6_m", - "name": "AJCC6 Storage Code", - "type": "ENDPOINT" - }, - { - "key": "comments", - "name": "Comments", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "MX", - "VALUE:99", - "MX" - ], - [ - "M0", - "VALUE:00", - "M0" - ], - [ - "M0(i+)", - "VALUE: ", - "M0(i+)" - ], - [ - "M1", - "VALUE:10", - "M1" - ], - [ - "M1a", - "VALUE:11", - "M1a" - ], - [ - "M1b", - "VALUE:12", - "M1b" - ], - [ - "M1c", - "VALUE:13", - "M1c" - ], - [ - "M1d", - "VALUE: ", - "M1d" - ], - [ - "M1e", - "VALUE: ", - "M1e" - ], - [ - "M1NOS", - "VALUE:19", - "M1 NOS" - ], - [ - "NA", - "VALUE:88", - "Not applicable" - ], - [ - "*", - "VALUE: ", - "Error" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc6_n_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc6_n_codes.json deleted file mode 100644 index 56151ae7b..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc6_n_codes.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "id": "ajcc6_n_codes", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC 6 N Codes", - "title": "AJCC 6 N Allowable Codes", - "last_modified": "2015-05-27T16:18:47.663Z", - "definition": [ - { - "key": "ajcc6_n", - "name": "Display String", - "type": "INPUT" - }, - { - "key": "stor_ajcc6_n", - "name": "AJCC6 Storage Code", - "type": "ENDPOINT" - }, - { - "key": "comments", - "name": "Comments", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "NX", - "VALUE:99", - "NX" - ], - [ - "N0", - "VALUE:00", - "N0" - ], - [ - "N0(i-)", - "VALUE:01", - "N0(i-)" - ], - [ - "N0(i+)", - "VALUE:02", - "N0(i+)" - ], - [ - "N0(mol-)", - "VALUE:03", - "N0(mol-)" - ], - [ - "N0(mol+)", - "VALUE:04", - "N0(mol+)" - ], - [ - "N1", - "VALUE:10", - "N1" - ], - [ - "N1NOS", - "VALUE:19", - "N1 NOS" - ], - [ - "N1a", - "VALUE:11", - "N1a" - ], - [ - "N1b", - "VALUE:12", - "N1b" - ], - [ - "N1c", - "VALUE:13", - "N1c" - ], - [ - "N1mi", - "VALUE:18", - "N1mi" - ], - [ - "N2", - "VALUE:20", - "N2" - ], - [ - "N2NOS", - "VALUE:29", - "N2 NOS" - ], - [ - "N2a", - "VALUE:21", - "N2a" - ], - [ - "N2b", - "VALUE:22", - "N2b" - ], - [ - "N2c", - "VALUE:23", - "N2c" - ], - [ - "N3", - "VALUE:30", - "N3" - ], - [ - "N3NOS", - "VALUE:39", - "N3 NOS" - ], - [ - "N3a", - "VALUE:31", - "N3a" - ], - [ - "N3b", - "VALUE:32", - "N3b" - ], - [ - "N3c", - "VALUE:33", - "N3c" - ], - [ - "N4", - "VALUE: ", - "N4" - ], - [ - "NA", - "VALUE:88", - "Not applicable" - ], - [ - "*", - "VALUE: ", - "Error" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_codes.json deleted file mode 100644 index 6b91c10e4..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_codes.json +++ /dev/null @@ -1,347 +0,0 @@ -{ - "id": "ajcc6_stage_codes", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC 6 Stage Codes", - "title": "AJCC 6 Stage Allowable Codes", - "last_modified": "2015-05-27T16:18:47.725Z", - "definition": [ - { - "key": "ajcc6_stage", - "name": "Display String", - "type": "INPUT" - }, - { - "key": "stor_ajcc6_stage", - "name": "AJCC6 Storage Code", - "type": "ENDPOINT" - }, - { - "key": "comments", - "name": "Comments", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "0", - "VALUE:00", - "Stage 0" - ], - [ - "0a", - "VALUE:01", - "Stage 0a" - ], - [ - "0is", - "VALUE:02", - "Stage 0is" - ], - [ - "I", - "VALUE:10", - "Stage I" - ], - [ - "INOS", - "VALUE:11", - "Stage I NOS" - ], - [ - "IA", - "VALUE:12", - "Stage IA" - ], - [ - "IA1", - "VALUE:13", - "Stage IA1" - ], - [ - "IA2", - "VALUE:14", - "Stage IA2" - ], - [ - "IANOS", - "VALUE: ", - "Stage IA NOS" - ], - [ - "IB", - "VALUE:15", - "Stage IB" - ], - [ - "IB1", - "VALUE:16", - "Stage IB1" - ], - [ - "IB2", - "VALUE:17", - "Stage IB2" - ], - [ - "IBNOS", - "VALUE: ", - "Stage IB NOS" - ], - [ - "IC", - "VALUE:18", - "Stage IC" - ], - [ - "IS", - "VALUE:19", - "Stage IS" - ], - [ - "ISA", - "VALUE:23", - "Stage ISA (lymphoma only)" - ], - [ - "ISB", - "VALUE:24", - "Stage ISB (lymphoma only)" - ], - [ - "IEA", - "VALUE:20", - "Stage IEA (lymphoma only)" - ], - [ - "IEB", - "VALUE:21", - "Stage IEB (lymphoma only)" - ], - [ - "IE", - "VALUE:22", - "Stage IE (lymphoma only)" - ], - [ - "II", - "VALUE:30", - "Stage II" - ], - [ - "IINOS", - "VALUE:31", - "Stage II NOS" - ], - [ - "IIA", - "VALUE:32", - "Stage IIA" - ], - [ - "IIANOS", - "VALUE: ", - "Stage IIA NOS" - ], - [ - "IIA1", - "VALUE: ", - "Stage IIA1" - ], - [ - "IIA2", - "VALUE: ", - "Stage IIA2" - ], - [ - "IIB", - "VALUE:33", - "Stage IIB" - ], - [ - "IIC", - "VALUE:34", - "Stage IIC" - ], - [ - "IIEA", - "VALUE:35", - "Stage IIEA (lymphoma only)" - ], - [ - "IIEB", - "VALUE:36", - "Stage IIEB (lymphoma only)" - ], - [ - "IIE", - "VALUE:37", - "Stage IIE (lymphoma only)" - ], - [ - "IISA", - "VALUE:38", - "Stage IISA (lymphoma only)" - ], - [ - "IISB", - "VALUE:39", - "Stage IISB (lymphoma only)" - ], - [ - "IIS", - "VALUE:40", - "Stage IIS (lymphoma only)" - ], - [ - "IIESA", - "VALUE:41", - "Stage IIESA (lymphoma only)" - ], - [ - "IIESB", - "VALUE:42", - "Stage IIESB (lymphoma only)" - ], - [ - "IIES", - "VALUE:43", - "Stage IIES (lymphoma only)" - ], - [ - "III", - "VALUE:50", - "Stage III" - ], - [ - "IIINOS", - "VALUE:51", - "Stage III NOS" - ], - [ - "IIIA", - "VALUE:52", - "Stage IIIA" - ], - [ - "IIIB", - "VALUE:53", - "Stage IIIB" - ], - [ - "IIIC", - "VALUE:54", - "Stage IIIC" - ], - [ - "IIIC1", - "VALUE: ", - "Stage IIIC1" - ], - [ - "IIIC2", - "VALUE: ", - "Stage IIIC2" - ], - [ - "IIIEA", - "VALUE:55", - "Stage IIIEA (lymphoma only)" - ], - [ - "IIIEB", - "VALUE:56", - "Stage IIIEB (lymphoma only)" - ], - [ - "IIIE", - "VALUE:57", - "Stage IIIE (lymphoma only)" - ], - [ - "IIISA", - "VALUE:58", - "Stage IIISA (lymphoma only)" - ], - [ - "IIISB", - "VALUE:59", - "Stage IIISB (lymphoma only)" - ], - [ - "IIIS", - "VALUE:60", - "Stage IIIS (lymphoma only)" - ], - [ - "IIIESA", - "VALUE:61", - "Stage IIIESA (lymphoma only)" - ], - [ - "IIIESB", - "VALUE:62", - "Stage IIIESB (lymphoma only)" - ], - [ - "IIIES", - "VALUE:63", - "Stage IIIES (lymphoma only)" - ], - [ - "IV", - "VALUE:70", - "Stage IV" - ], - [ - "IVNOS", - "VALUE:71", - "Stage IV NOS" - ], - [ - "IVA", - "VALUE:72", - "Stage IVA" - ], - [ - "IVA1", - "VALUE: ", - "Stage IVA1" - ], - [ - "IVA2", - "VALUE: ", - "Stage IVA2" - ], - [ - "IVB", - "VALUE:73", - "Stage IVB" - ], - [ - "IVC", - "VALUE:74", - "Stage IVC" - ], - [ - "NA", - "VALUE:88", - "Not applicable" - ], - [ - "OCCULT", - "VALUE:90", - "Stage Occult" - ], - [ - "UNK", - "VALUE:99", - "Stage Unknown" - ], - [ - "*", - "VALUE: ", - "Error" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_qaw.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_qaw.json deleted file mode 100644 index acc9d9045..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc6_stage_qaw.json +++ /dev/null @@ -1,752 +0,0 @@ -{ - "id": "ajcc6_stage_qaw", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC6 Stage", - "title": "AJCC TNM 6 Stage", - "last_modified": "2015-05-27T16:18:48.874Z", - "definition": [ - { - "key": "t", - "name": "T", - "type": "INPUT" - }, - { - "key": "n", - "name": "N", - "type": "INPUT" - }, - { - "key": "m", - "name": "M", - "type": "INPUT" - }, - { - "key": "stage", - "name": "Stage", - "type": "ENDPOINT" - } - ], - "rows": [ - [ - "T0", - "N0", - "M0", - "ERROR:" - ], - [ - "T0", - "N1", - "M0", - "VALUE:III" - ], - [ - "T0", - "N2", - "M0", - "VALUE:IV" - ], - [ - "T0", - "NX", - "M0", - "VALUE:UNK" - ], - [ - "Ta", - "N0", - "M0", - "VALUE:0a" - ], - [ - "Ta", - "N1", - "M0", - "ERROR:" - ], - [ - "Ta", - "N2", - "M0", - "ERROR:" - ], - [ - "Ta", - "NX", - "M0", - "VALUE:0a" - ], - [ - "Tis", - "N0", - "M0", - "VALUE:0is" - ], - [ - "Tis", - "N1", - "M0", - "ERROR:" - ], - [ - "Tis", - "N2", - "M0", - "ERROR:" - ], - [ - "Tis", - "NX", - "M0", - "VALUE:0is" - ], - [ - "Tispu", - "N0", - "M0", - "VALUE:0is" - ], - [ - "Tispu", - "N1", - "M0", - "ERROR:" - ], - [ - "Tispu", - "N2", - "M0", - "ERROR:" - ], - [ - "Tispu", - "NX", - "M0", - "VALUE:0is" - ], - [ - "Tispd", - "N0", - "M0", - "VALUE:0is" - ], - [ - "Tispd", - "N1", - "M0", - "ERROR:" - ], - [ - "Tispd", - "N2", - "M0", - "ERROR:" - ], - [ - "Tispd", - "NX", - "M0", - "VALUE:0is" - ], - [ - "T1", - "N0", - "M0", - "VALUE:I" - ], - [ - "T1", - "N1", - "M0", - "VALUE:III" - ], - [ - "T1", - "N2", - "M0", - "VALUE:IV" - ], - [ - "T1", - "NX", - "M0", - "VALUE:UNK" - ], - [ - "T2", - "N0", - "M0", - "VALUE:II" - ], - [ - "T2", - "N1", - "M0", - "VALUE:III" - ], - [ - "T2", - "N2", - "M0", - "VALUE:IV" - ], - [ - "T2", - "NX", - "M0", - "VALUE:UNK" - ], - [ - "T3", - "N0", - "M0", - "VALUE:III" - ], - [ - "T3", - "N1", - "M0", - "VALUE:III" - ], - [ - "T3", - "N2", - "M0", - "VALUE:IV" - ], - [ - "T3", - "NX", - "M0", - "VALUE:UNK" - ], - [ - "T4", - "N0", - "M0", - "VALUE:IV" - ], - [ - "T4", - "N1", - "M0", - "VALUE:IV" - ], - [ - "T4", - "N2", - "M0", - "VALUE:IV" - ], - [ - "T4", - "NX", - "M0", - "VALUE:IV" - ], - [ - "TX", - "N0", - "M0", - "VALUE:UNK" - ], - [ - "TX", - "N1", - "M0", - "VALUE:UNK" - ], - [ - "TX", - "N2", - "M0", - "VALUE:IV" - ], - [ - "TX", - "NX", - "M0", - "VALUE:UNK" - ], - [ - "T0", - "N0", - "M1", - "VALUE:IV" - ], - [ - "T0", - "N1", - "M1", - "VALUE:IV" - ], - [ - "T0", - "N2", - "M1", - "VALUE:IV" - ], - [ - "T0", - "NX", - "M1", - "VALUE:IV" - ], - [ - "Ta", - "N0", - "M1", - "ERROR:" - ], - [ - "Ta", - "N1", - "M1", - "ERROR:" - ], - [ - "Ta", - "N2", - "M1", - "ERROR:" - ], - [ - "Ta", - "NX", - "M1", - "ERROR:" - ], - [ - "Tis", - "N0", - "M1", - "ERROR:" - ], - [ - "Tis", - "N1", - "M1", - "ERROR:" - ], - [ - "Tis", - "N2", - "M1", - "ERROR:" - ], - [ - "Tis", - "NX", - "M1", - "ERROR:" - ], - [ - "Tispu", - "N0", - "M1", - "ERROR:" - ], - [ - "Tispu", - "N1", - "M1", - "ERROR:" - ], - [ - "Tispu", - "N2", - "M1", - "ERROR:" - ], - [ - "Tispu", - "NX", - "M1", - "ERROR:" - ], - [ - "Tispd", - "N0", - "M1", - "ERROR:" - ], - [ - "Tispd", - "N1", - "M1", - "ERROR:" - ], - [ - "Tispd", - "N2", - "M1", - "ERROR:" - ], - [ - "Tispd", - "NX", - "M1", - "ERROR:" - ], - [ - "T1", - "N0", - "M1", - "VALUE:IV" - ], - [ - "T1", - "N1", - "M1", - "VALUE:IV" - ], - [ - "T1", - "N2", - "M1", - "VALUE:IV" - ], - [ - "T1", - "NX", - "M1", - "VALUE:IV" - ], - [ - "T2", - "N0", - "M1", - "VALUE:IV" - ], - [ - "T2", - "N1", - "M1", - "VALUE:IV" - ], - [ - "T2", - "N2", - "M1", - "VALUE:IV" - ], - [ - "T2", - "NX", - "M1", - "VALUE:IV" - ], - [ - "T3", - "N0", - "M1", - "VALUE:IV" - ], - [ - "T3", - "N1", - "M1", - "VALUE:IV" - ], - [ - "T3", - "N2", - "M1", - "VALUE:IV" - ], - [ - "T3", - "NX", - "M1", - "VALUE:IV" - ], - [ - "T4", - "N0", - "M1", - "VALUE:IV" - ], - [ - "T4", - "N1", - "M1", - "VALUE:IV" - ], - [ - "T4", - "N2", - "M1", - "VALUE:IV" - ], - [ - "T4", - "NX", - "M1", - "VALUE:IV" - ], - [ - "TX", - "N0", - "M1", - "VALUE:IV" - ], - [ - "TX", - "N1", - "M1", - "VALUE:IV" - ], - [ - "TX", - "N2", - "M1", - "VALUE:IV" - ], - [ - "TX", - "NX", - "M1", - "VALUE:IV" - ], - [ - "T0", - "N0", - "MX", - "VALUE:UNK" - ], - [ - "T0", - "N1", - "MX", - "VALUE:UNK" - ], - [ - "T0", - "N2", - "MX", - "VALUE:IV" - ], - [ - "T0", - "NX", - "MX", - "VALUE:UNK" - ], - [ - "Ta", - "N0", - "MX", - "VALUE:0a" - ], - [ - "Ta", - "N1", - "MX", - "ERROR:" - ], - [ - "Ta", - "N2", - "MX", - "ERROR:" - ], - [ - "Ta", - "NX", - "MX", - "VALUE:0a" - ], - [ - "Tis", - "N0", - "MX", - "VALUE:0is" - ], - [ - "Tis", - "N1", - "MX", - "ERROR:" - ], - [ - "Tis", - "N2", - "MX", - "ERROR:" - ], - [ - "Tis", - "NX", - "MX", - "VALUE:0is" - ], - [ - "Tispu", - "N0", - "MX", - "VALUE:0is" - ], - [ - "Tispu", - "N1", - "MX", - "ERROR:" - ], - [ - "Tispu", - "N2", - "MX", - "ERROR:" - ], - [ - "Tispu", - "NX", - "MX", - "VALUE:0is" - ], - [ - "Tispd", - "N0", - "MX", - "VALUE:0is" - ], - [ - "Tispd", - "N1", - "MX", - "ERROR:" - ], - [ - "Tispd", - "N2", - "MX", - "ERROR:" - ], - [ - "Tispd", - "NX", - "MX", - "VALUE:0is" - ], - [ - "T1", - "N0", - "MX", - "VALUE:UNK" - ], - [ - "T1", - "N1", - "MX", - "VALUE:UNK" - ], - [ - "T1", - "N2", - "MX", - "VALUE:IV" - ], - [ - "T1", - "NX", - "MX", - "VALUE:UNK" - ], - [ - "T2", - "N0", - "MX", - "VALUE:UNK" - ], - [ - "T2", - "N1", - "MX", - "VALUE:UNK" - ], - [ - "T2", - "N2", - "MX", - "VALUE:IV" - ], - [ - "T2", - "NX", - "MX", - "VALUE:UNK" - ], - [ - "T3", - "N0", - "MX", - "VALUE:UNK" - ], - [ - "T3", - "N1", - "MX", - "VALUE:UNK" - ], - [ - "T3", - "N2", - "MX", - "VALUE:IV" - ], - [ - "T3", - "NX", - "MX", - "VALUE:UNK" - ], - [ - "T4", - "N0", - "MX", - "VALUE:IV" - ], - [ - "T4", - "N1", - "MX", - "VALUE:IV" - ], - [ - "T4", - "N2", - "MX", - "VALUE:IV" - ], - [ - "T4", - "NX", - "MX", - "VALUE:IV" - ], - [ - "TX", - "N0", - "MX", - "VALUE:UNK" - ], - [ - "TX", - "N1", - "MX", - "VALUE:UNK" - ], - [ - "TX", - "N2", - "MX", - "VALUE:IV" - ], - [ - "TX", - "NX", - "MX", - "VALUE:UNK" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc6_t_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc6_t_codes.json deleted file mode 100644 index faaffa90d..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc6_t_codes.json +++ /dev/null @@ -1,322 +0,0 @@ -{ - "id": "ajcc6_t_codes", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC 6 T Codes", - "title": "AJCC 6 T Allowable Codes", - "last_modified": "2015-05-27T16:18:52.044Z", - "definition": [ - { - "key": "ajcc6_t", - "name": "Display String", - "type": "INPUT" - }, - { - "key": "stor_ajcc6_t", - "name": "AJCC6 Storage Code", - "type": "ENDPOINT" - }, - { - "key": "comments", - "name": "Comments", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "TX", - "VALUE:99", - "TX" - ], - [ - "T0", - "VALUE:00", - "T0" - ], - [ - "Ta", - "VALUE:01", - "Ta" - ], - [ - "Tis", - "VALUE:05", - "Tis" - ], - [ - "Tispu", - "VALUE:06", - "Tispu (Urethra only)" - ], - [ - "Tispd", - "VALUE:07", - "Tispd (Urethra only)" - ], - [ - "T1", - "VALUE:10", - "T1" - ], - [ - "T1mi", - "VALUE:11", - "T1mi" - ], - [ - "T1NOS", - "VALUE:19", - "T1 NOS" - ], - [ - "T1NOS(s)", - "VALUE: ", - "T1 NOS(s)" - ], - [ - "T1NOS(m)", - "VALUE: ", - "T1 NOS(m)" - ], - [ - "T1a", - "VALUE:12", - "T1a" - ], - [ - "T1a(s)", - "VALUE: ", - "T1a(s)" - ], - [ - "T1a(m)", - "VALUE: ", - "T1a(m)" - ], - [ - "T1a1", - "VALUE:13", - "T1a1" - ], - [ - "T1a2", - "VALUE:14", - "T1a2" - ], - [ - "T1b", - "VALUE:15", - "T1b" - ], - [ - "T1b(s)", - "VALUE: ", - "T1b(s)" - ], - [ - "T1b(m)", - "VALUE: ", - "T1b(m)" - ], - [ - "T1b1", - "VALUE:16", - "T1b1" - ], - [ - "T1b2", - "VALUE:17", - "T1b2" - ], - [ - "T1c", - "VALUE:18", - "T1c" - ], - [ - "T1d", - "VALUE: ", - "T1d" - ], - [ - "T2", - "VALUE:20", - "T2" - ], - [ - "T2(s)", - "VALUE: ", - "T2(s)" - ], - [ - "T2(m)", - "VALUE: ", - "T2(m)" - ], - [ - "T2NOS", - "VALUE:29", - "T2 NOS" - ], - [ - "T2a", - "VALUE:21", - "T2a" - ], - [ - "T2a1", - "VALUE: ", - "T2a1" - ], - [ - "T2a2", - "VALUE: ", - "T2a2" - ], - [ - "T2aNOS", - "VALUE: ", - "T2a NOS" - ], - [ - "T2b", - "VALUE:22", - "T2b" - ], - [ - "T2c", - "VALUE:23", - "T2c" - ], - [ - "T2d", - "VALUE: ", - "T2d" - ], - [ - "T3", - "VALUE:30", - "T3" - ], - [ - "T3(s)", - "VALUE: ", - "T3(s)" - ], - [ - "T3(m)", - "VALUE: ", - "T3(m)" - ], - [ - "T3NOS", - "VALUE:39", - "T3 NOS" - ], - [ - "T3a", - "VALUE:31", - "T3a" - ], - [ - "T3b", - "VALUE:32", - "T3b" - ], - [ - "T3c", - "VALUE:33", - "T3c" - ], - [ - "T3d", - "VALUE: ", - "T3d" - ], - [ - "T4", - "VALUE:40", - "T4" - ], - [ - "T4NOS", - "VALUE:49", - "T4 NOS" - ], - [ - "T4NOS(s)", - "VALUE: ", - "T4 NOS(s)" - ], - [ - "T4NOS(m)", - "VALUE: ", - "T4 NOS(m)" - ], - [ - "T4a", - "VALUE:41", - "T4a" - ], - [ - "T4a(s)", - "VALUE: ", - "T4a(s)" - ], - [ - "T4a(m)", - "VALUE: ", - "T4a(m)" - ], - [ - "T4b", - "VALUE:42", - "T4b" - ], - [ - "T4b(s)", - "VALUE: ", - "T4b(s)" - ], - [ - "T4b(m)", - "VALUE: ", - "T4b(m)" - ], - [ - "T4c", - "VALUE:43", - "T4c" - ], - [ - "T4d", - "VALUE:44", - "T4d" - ], - [ - "T4e", - "VALUE: ", - "T4e" - ], - [ - "T1aNOS", - "VALUE:80", - "T1a NOS" - ], - [ - "T1bNOS", - "VALUE:81", - "T1b NOS" - ], - [ - "NA", - "VALUE:88", - "Not applicable" - ], - [ - "*", - "VALUE: ", - "Error" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc6_year_validation.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc6_year_validation.json deleted file mode 100644 index e30b46e83..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc6_year_validation.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "ajcc6_year_validation", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC 6 Year Validation", - "title": "AJCC 6 Year Validation", - "notes": "", - "last_modified": "2015-05-27T16:18:52.091Z", - "definition": [ - { - "key": "year_dx", - "name": "Year of Diagnosis", - "type": "INPUT" - }, - { - "key": "cs_input_version_original", - "name": "CS Version Input Original", - "type": "INPUT" - } - ], - "rows": [ - [ - "2004-{{ctx_year_current}}", - "*" - ], - [ - "", - "020500-999999,020440,020302,020200,020100,020001,010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc7_inclusions_tpb.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc7_inclusions_tpb.json deleted file mode 100644 index e2199d97c..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc7_inclusions_tpb.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ajcc7_inclusions_tpb", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC7 Inclusions", - "title": "Histology Inclusion Table AJCC 7th ed.", - "last_modified": "2015-05-27T16:18:52.281Z", - "definition": [ - { - "key": "hist", - "name": "Histology", - "type": "INPUT" - } - ], - "rows": [ - [ - "8000-8576" - ], - [ - "8940-8950" - ], - [ - "8980-8981" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc7_m_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc7_m_codes.json deleted file mode 100644 index 6b37bd6aa..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc7_m_codes.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "id": "ajcc7_m_codes", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC 7 M Codes", - "title": "AJCC 7 M Allowable Codes", - "last_modified": "2015-05-27T16:18:54.021Z", - "definition": [ - { - "key": "ajcc7_m", - "name": "Display String", - "type": "INPUT" - }, - { - "key": "stor_ajcc7_m", - "name": "AJCC7 Storage Code", - "type": "ENDPOINT" - }, - { - "key": "comments", - "name": "Comments", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "MX", - "VALUE:999", - "MX" - ], - [ - "M0", - "VALUE:000", - "M0" - ], - [ - "M0(i+)", - "VALUE:010", - "M0(i+)" - ], - [ - "M1", - "VALUE:100", - "M1" - ], - [ - "M1a", - "VALUE:110", - "M1a" - ], - [ - "M1b", - "VALUE:120", - "M1b" - ], - [ - "M1c", - "VALUE:130", - "M1c" - ], - [ - "M1d", - "VALUE:140", - "M1d" - ], - [ - "M1e", - "VALUE:150", - "M1e" - ], - [ - "M1NOS", - "VALUE:199", - "M1 NOS" - ], - [ - "NA", - "VALUE:888", - "Not applicable" - ], - [ - "*", - "VALUE: ", - "Error" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc7_n_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc7_n_codes.json deleted file mode 100644 index ef8d6fa40..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc7_n_codes.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "id": "ajcc7_n_codes", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC 7 N Codes", - "title": "AJCC 7 N Allowable Codes", - "last_modified": "2015-05-27T16:18:54.078Z", - "definition": [ - { - "key": "ajcc7_n", - "name": "Display String", - "type": "INPUT" - }, - { - "key": "stor_ajcc7_n", - "name": "AJCC7 Storage Code", - "type": "ENDPOINT" - }, - { - "key": "comments", - "name": "Comments", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "NX", - "VALUE:999", - "NX" - ], - [ - "N0", - "VALUE:000", - "N0" - ], - [ - "N0(i-)", - "VALUE:010", - "N0(i-)" - ], - [ - "N0(i+)", - "VALUE:020", - "N0(i+)" - ], - [ - "N0(mol-)", - "VALUE:030", - "N0(mol-)" - ], - [ - "N0(mol+)", - "VALUE:040", - "N0(mol+)" - ], - [ - "N1", - "VALUE:100", - "N1" - ], - [ - "N1NOS", - "VALUE:199", - "N1 NOS" - ], - [ - "N1a", - "VALUE:110", - "N1a" - ], - [ - "N1b", - "VALUE:120", - "N1b" - ], - [ - "N1c", - "VALUE:130", - "N1c" - ], - [ - "N1mi", - "VALUE:180", - "N1mi" - ], - [ - "N2", - "VALUE:200", - "N2" - ], - [ - "N2NOS", - "VALUE:299", - "N2 NOS" - ], - [ - "N2a", - "VALUE:210", - "N2a" - ], - [ - "N2b", - "VALUE:220", - "N2b" - ], - [ - "N2c", - "VALUE:230", - "N2c" - ], - [ - "N3", - "VALUE:300", - "N3" - ], - [ - "N3NOS", - "VALUE:399", - "N3 NOS" - ], - [ - "N3a", - "VALUE:310", - "N3a" - ], - [ - "N3b", - "VALUE:320", - "N3b" - ], - [ - "N3c", - "VALUE:330", - "N3c" - ], - [ - "N4", - "VALUE:400", - "N4" - ], - [ - "NA", - "VALUE:888", - "Not applicable" - ], - [ - "*", - "VALUE: ", - "Error" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_codes.json deleted file mode 100644 index 274efe06d..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_codes.json +++ /dev/null @@ -1,347 +0,0 @@ -{ - "id": "ajcc7_stage_codes", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC 7 Stage Codes", - "title": "AJCC 7 Stage Allowable Codes", - "last_modified": "2015-05-27T16:18:54.126Z", - "definition": [ - { - "key": "ajcc7_stage", - "name": "Display String", - "type": "INPUT" - }, - { - "key": "stor_ajcc7_stage", - "name": "AJCC7 Storage Code", - "type": "ENDPOINT" - }, - { - "key": "comments", - "name": "Comments", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "0", - "VALUE:000", - "Stage 0" - ], - [ - "0a", - "VALUE:010", - "Stage 0a" - ], - [ - "0is", - "VALUE:020", - "Stage 0is" - ], - [ - "I", - "VALUE:100", - "Stage I" - ], - [ - "INOS", - "VALUE:110", - "Stage I NOS" - ], - [ - "IA", - "VALUE:120", - "Stage IA" - ], - [ - "IA1", - "VALUE:130", - "Stage IA1" - ], - [ - "IA2", - "VALUE:140", - "Stage IA2" - ], - [ - "IANOS", - "VALUE:121", - "Stage IA NOS" - ], - [ - "IB", - "VALUE:150", - "Stage IB" - ], - [ - "IB1", - "VALUE:160", - "Stage IB1" - ], - [ - "IB2", - "VALUE:170", - "Stage IB2" - ], - [ - "IBNOS", - "VALUE:151", - "Stage IB NOS" - ], - [ - "IC", - "VALUE:180", - "Stage IC" - ], - [ - "IS", - "VALUE:190", - "Stage IS" - ], - [ - "ISA", - "VALUE:230", - "Stage ISA (lymphoma only)" - ], - [ - "ISB", - "VALUE:240", - "Stage ISB (lymphoma only)" - ], - [ - "IEA", - "VALUE:200", - "Stage IEA (lymphoma only)" - ], - [ - "IEB", - "VALUE:210", - "Stage IEB (lymphoma only)" - ], - [ - "IE", - "VALUE:220", - "Stage IE (lymphoma only)" - ], - [ - "II", - "VALUE:300", - "Stage II" - ], - [ - "IINOS", - "VALUE:310", - "Stage II NOS" - ], - [ - "IIA", - "VALUE:320", - "Stage IIA" - ], - [ - "IIANOS", - "VALUE:321", - "Stage IIA NOS" - ], - [ - "IIA1", - "VALUE:322", - "Stage IIA1" - ], - [ - "IIA2", - "VALUE:323", - "Stage IIA2" - ], - [ - "IIB", - "VALUE:330", - "Stage IIB" - ], - [ - "IIC", - "VALUE:340", - "Stage IIC" - ], - [ - "IIEA", - "VALUE:350", - "Stage IIEA (lymphoma only)" - ], - [ - "IIEB", - "VALUE:360", - "Stage IIEB (lymphoma only)" - ], - [ - "IIE", - "VALUE:370", - "Stage IIE (lymphoma only)" - ], - [ - "IISA", - "VALUE:380", - "Stage IISA (lymphoma only)" - ], - [ - "IISB", - "VALUE:390", - "Stage IISB (lymphoma only)" - ], - [ - "IIS", - "VALUE:400", - "Stage IIS (lymphoma only)" - ], - [ - "IIESA", - "VALUE:410", - "Stage IIESA (lymphoma only)" - ], - [ - "IIESB", - "VALUE:420", - "Stage IIESB (lymphoma only)" - ], - [ - "IIES", - "VALUE:430", - "Stage IIES (lymphoma only)" - ], - [ - "III", - "VALUE:500", - "Stage III" - ], - [ - "IIINOS", - "VALUE:510", - "Stage III NOS" - ], - [ - "IIIA", - "VALUE:520", - "Stage IIIA" - ], - [ - "IIIB", - "VALUE:530", - "Stage IIIB" - ], - [ - "IIIC", - "VALUE:540", - "Stage IIIC" - ], - [ - "IIIC1", - "VALUE:541", - "Stage IIIC1" - ], - [ - "IIIC2", - "VALUE:542", - "Stage IIIC2" - ], - [ - "IIIEA", - "VALUE:550", - "Stage IIIEA (lymphoma only)" - ], - [ - "IIIEB", - "VALUE:560", - "Stage IIIEB (lymphoma only)" - ], - [ - "IIIE", - "VALUE:570", - "Stage IIIE (lymphoma only)" - ], - [ - "IIISA", - "VALUE:580", - "Stage IIISA (lymphoma only)" - ], - [ - "IIISB", - "VALUE:590", - "Stage IIISB (lymphoma only)" - ], - [ - "IIIS", - "VALUE:600", - "Stage IIIS (lymphoma only)" - ], - [ - "IIIESA", - "VALUE:610", - "Stage IIIESA (lymphoma only)" - ], - [ - "IIIESB", - "VALUE:620", - "Stage IIIESB (lymphoma only)" - ], - [ - "IIIES", - "VALUE:630", - "Stage IIIES (lymphoma only)" - ], - [ - "IV", - "VALUE:700", - "Stage IV" - ], - [ - "IVNOS", - "VALUE:710", - "Stage IV NOS" - ], - [ - "IVA", - "VALUE:720", - "Stage IVA" - ], - [ - "IVA1", - "VALUE:721", - "Stage IVA1" - ], - [ - "IVA2", - "VALUE:722", - "Stage IVA2" - ], - [ - "IVB", - "VALUE:730", - "Stage IVB" - ], - [ - "IVC", - "VALUE:740", - "Stage IVC" - ], - [ - "NA", - "VALUE:888", - "Not applicable" - ], - [ - "OCCULT", - "VALUE:900", - "Stage Occult" - ], - [ - "UNK", - "VALUE:999", - "Stage Unknown" - ], - [ - "*", - "VALUE: ", - "Error" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_uaz.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_uaz.json deleted file mode 100644 index 9eeacfe7a..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc7_stage_uaz.json +++ /dev/null @@ -1,512 +0,0 @@ -{ - "id": "ajcc7_stage_uaz", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC7 Stage", - "title": "AJCC TNM 7 Stage", - "last_modified": "2015-05-27T16:18:55.917Z", - "definition": [ - { - "key": "t", - "name": "T", - "type": "INPUT" - }, - { - "key": "n", - "name": "N", - "type": "INPUT" - }, - { - "key": "m", - "name": "M", - "type": "INPUT" - }, - { - "key": "stage", - "name": "Stage", - "type": "ENDPOINT" - } - ], - "rows": [ - [ - "T0", - "N0", - "M0", - "ERROR:" - ], - [ - "T0", - "N1", - "M0", - "VALUE:III" - ], - [ - "T0", - "N2", - "M0", - "VALUE:IV" - ], - [ - "T0", - "NX", - "M0", - "VALUE:UNK" - ], - [ - "Ta", - "N0", - "M0", - "VALUE:0a" - ], - [ - "Ta", - "N1", - "M0", - "ERROR:" - ], - [ - "Ta", - "N2", - "M0", - "ERROR:" - ], - [ - "Ta", - "NX", - "M0", - "VALUE:0a" - ], - [ - "Tis", - "N0", - "M0", - "VALUE:0is" - ], - [ - "Tis", - "N1", - "M0", - "ERROR:" - ], - [ - "Tis", - "N2", - "M0", - "ERROR:" - ], - [ - "Tis", - "NX", - "M0", - "VALUE:0is" - ], - [ - "Tispu", - "N0", - "M0", - "VALUE:0is" - ], - [ - "Tispu", - "N1", - "M0", - "ERROR:" - ], - [ - "Tispu", - "N2", - "M0", - "ERROR:" - ], - [ - "Tispu", - "NX", - "M0", - "VALUE:0is" - ], - [ - "Tispd", - "N0", - "M0", - "VALUE:0is" - ], - [ - "Tispd", - "N1", - "M0", - "ERROR:" - ], - [ - "Tispd", - "N2", - "M0", - "ERROR:" - ], - [ - "Tispd", - "NX", - "M0", - "VALUE:0is" - ], - [ - "T1", - "N0", - "M0", - "VALUE:I" - ], - [ - "T1", - "N1", - "M0", - "VALUE:III" - ], - [ - "T1", - "N2", - "M0", - "VALUE:IV" - ], - [ - "T1", - "NX", - "M0", - "VALUE:UNK" - ], - [ - "T2", - "N0", - "M0", - "VALUE:II" - ], - [ - "T2", - "N1", - "M0", - "VALUE:III" - ], - [ - "T2", - "N2", - "M0", - "VALUE:IV" - ], - [ - "T2", - "NX", - "M0", - "VALUE:UNK" - ], - [ - "T3", - "N0", - "M0", - "VALUE:III" - ], - [ - "T3", - "N1", - "M0", - "VALUE:III" - ], - [ - "T3", - "N2", - "M0", - "VALUE:IV" - ], - [ - "T3", - "NX", - "M0", - "VALUE:UNK" - ], - [ - "T4", - "N0", - "M0", - "VALUE:IV" - ], - [ - "T4", - "N1", - "M0", - "VALUE:IV" - ], - [ - "T4", - "N2", - "M0", - "VALUE:IV" - ], - [ - "T4", - "NX", - "M0", - "VALUE:IV" - ], - [ - "TX", - "N0", - "M0", - "VALUE:UNK" - ], - [ - "TX", - "N1", - "M0", - "VALUE:UNK" - ], - [ - "TX", - "N2", - "M0", - "VALUE:IV" - ], - [ - "TX", - "NX", - "M0", - "VALUE:UNK" - ], - [ - "T0", - "N0", - "M1", - "VALUE:IV" - ], - [ - "T0", - "N1", - "M1", - "VALUE:IV" - ], - [ - "T0", - "N2", - "M1", - "VALUE:IV" - ], - [ - "T0", - "NX", - "M1", - "VALUE:IV" - ], - [ - "Ta", - "N0", - "M1", - "ERROR:" - ], - [ - "Ta", - "N1", - "M1", - "ERROR:" - ], - [ - "Ta", - "N2", - "M1", - "ERROR:" - ], - [ - "Ta", - "NX", - "M1", - "ERROR:" - ], - [ - "Tis", - "N0", - "M1", - "ERROR:" - ], - [ - "Tis", - "N1", - "M1", - "ERROR:" - ], - [ - "Tis", - "N2", - "M1", - "ERROR:" - ], - [ - "Tis", - "NX", - "M1", - "ERROR:" - ], - [ - "Tispu", - "N0", - "M1", - "ERROR:" - ], - [ - "Tispu", - "N1", - "M1", - "ERROR:" - ], - [ - "Tispu", - "N2", - "M1", - "ERROR:" - ], - [ - "Tispu", - "NX", - "M1", - "ERROR:" - ], - [ - "Tispd", - "N0", - "M1", - "ERROR:" - ], - [ - "Tispd", - "N1", - "M1", - "ERROR:" - ], - [ - "Tispd", - "N2", - "M1", - "ERROR:" - ], - [ - "Tispd", - "NX", - "M1", - "ERROR:" - ], - [ - "T1", - "N0", - "M1", - "VALUE:IV" - ], - [ - "T1", - "N1", - "M1", - "VALUE:IV" - ], - [ - "T1", - "N2", - "M1", - "VALUE:IV" - ], - [ - "T1", - "NX", - "M1", - "VALUE:IV" - ], - [ - "T2", - "N0", - "M1", - "VALUE:IV" - ], - [ - "T2", - "N1", - "M1", - "VALUE:IV" - ], - [ - "T2", - "N2", - "M1", - "VALUE:IV" - ], - [ - "T2", - "NX", - "M1", - "VALUE:IV" - ], - [ - "T3", - "N0", - "M1", - "VALUE:IV" - ], - [ - "T3", - "N1", - "M1", - "VALUE:IV" - ], - [ - "T3", - "N2", - "M1", - "VALUE:IV" - ], - [ - "T3", - "NX", - "M1", - "VALUE:IV" - ], - [ - "T4", - "N0", - "M1", - "VALUE:IV" - ], - [ - "T4", - "N1", - "M1", - "VALUE:IV" - ], - [ - "T4", - "N2", - "M1", - "VALUE:IV" - ], - [ - "T4", - "NX", - "M1", - "VALUE:IV" - ], - [ - "TX", - "N0", - "M1", - "VALUE:IV" - ], - [ - "TX", - "N1", - "M1", - "VALUE:IV" - ], - [ - "TX", - "N2", - "M1", - "VALUE:IV" - ], - [ - "TX", - "NX", - "M1", - "VALUE:IV" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc7_t_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc7_t_codes.json deleted file mode 100644 index 0e21e3ed6..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc7_t_codes.json +++ /dev/null @@ -1,322 +0,0 @@ -{ - "id": "ajcc7_t_codes", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC 7 T Codes", - "title": "AJCC 7 T Allowable Codes", - "last_modified": "2015-05-27T16:19:00.607Z", - "definition": [ - { - "key": "ajcc7_t", - "name": "Display String", - "type": "INPUT" - }, - { - "key": "stor_ajcc7_t", - "name": "AJCC7 Storage Code", - "type": "ENDPOINT" - }, - { - "key": "comments", - "name": "Comments", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "TX", - "VALUE:999", - "TX" - ], - [ - "T0", - "VALUE:000", - "T0" - ], - [ - "Ta", - "VALUE:010", - "Ta" - ], - [ - "Tis", - "VALUE:050", - "Tis" - ], - [ - "Tispu", - "VALUE:060", - "Tispu (Urethra only)" - ], - [ - "Tispd", - "VALUE:070", - "Tispd (Urethra only)" - ], - [ - "T1", - "VALUE:100", - "T1" - ], - [ - "T1mi", - "VALUE:110", - "T1mi" - ], - [ - "T1NOS", - "VALUE:199", - "T1 NOS" - ], - [ - "T1NOS(s)", - "VALUE:191", - "T1 NOS(s)" - ], - [ - "T1NOS(m)", - "VALUE:192", - "T1 NOS(m)" - ], - [ - "T1a", - "VALUE:120", - "T1a" - ], - [ - "T1a(s)", - "VALUE:121", - "T1a(s)" - ], - [ - "T1a(m)", - "VALUE:122", - "T1a(m)" - ], - [ - "T1a1", - "VALUE:130", - "T1a1" - ], - [ - "T1a2", - "VALUE:140", - "T1a2" - ], - [ - "T1b", - "VALUE:150", - "T1b" - ], - [ - "T1b(s)", - "VALUE:151", - "T1b(s)" - ], - [ - "T1b(m)", - "VALUE:152", - "T1b(m)" - ], - [ - "T1b1", - "VALUE:160", - "T1b1" - ], - [ - "T1b2", - "VALUE:170", - "T1b2" - ], - [ - "T1c", - "VALUE:180", - "T1c" - ], - [ - "T1d", - "VALUE:181", - "T1d" - ], - [ - "T2", - "VALUE:200", - "T2" - ], - [ - "T2(s)", - "VALUE:201", - "T2(s)" - ], - [ - "T2(m)", - "VALUE:202", - "T2(m)" - ], - [ - "T2NOS", - "VALUE:299", - "T2 NOS" - ], - [ - "T2a", - "VALUE:210", - "T2a" - ], - [ - "T2a1", - "VALUE:211", - "T2a1" - ], - [ - "T2a2", - "VALUE:212", - "T2a2" - ], - [ - "T2aNOS", - "VALUE:213", - "T2a NOS" - ], - [ - "T2b", - "VALUE:220", - "T2b" - ], - [ - "T2c", - "VALUE:230", - "T2c" - ], - [ - "T2d", - "VALUE:240", - "T2d" - ], - [ - "T3", - "VALUE:300", - "T3" - ], - [ - "T3(s)", - "VALUE:301", - "T3(s)" - ], - [ - "T3(m)", - "VALUE:302", - "T3(m)" - ], - [ - "T3NOS", - "VALUE:399", - "T3 NOS" - ], - [ - "T3a", - "VALUE:310", - "T3a" - ], - [ - "T3b", - "VALUE:320", - "T3b" - ], - [ - "T3c", - "VALUE:330", - "T3c" - ], - [ - "T3d", - "VALUE:340", - "T3d" - ], - [ - "T4", - "VALUE:400", - "T4" - ], - [ - "T4NOS", - "VALUE:499", - "T4 NOS" - ], - [ - "T4NOS(s)", - "VALUE:491", - "T4 NOS(s)" - ], - [ - "T4NOS(m)", - "VALUE:492", - "T4 NOS(m)" - ], - [ - "T4a", - "VALUE:410", - "T4a" - ], - [ - "T4a(s)", - "VALUE:411", - "T4a(s)" - ], - [ - "T4a(m)", - "VALUE:412", - "T4a(m)" - ], - [ - "T4b", - "VALUE:420", - "T4b" - ], - [ - "T4b(s)", - "VALUE:421", - "T4b(s)" - ], - [ - "T4b(m)", - "VALUE:422", - "T4b(m)" - ], - [ - "T4c", - "VALUE:430", - "T4c" - ], - [ - "T4d", - "VALUE:440", - "T4d" - ], - [ - "T4e", - "VALUE:450", - "T4e" - ], - [ - "T1aNOS", - "VALUE:800", - "T1a NOS" - ], - [ - "T1bNOS", - "VALUE:810", - "T1b NOS" - ], - [ - "NA", - "VALUE:888", - "Not applicable" - ], - [ - "*", - "VALUE: ", - "Error" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc7_year_validation.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc7_year_validation.json deleted file mode 100644 index 3b6d0bbfd..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc7_year_validation.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "ajcc7_year_validation", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC7 Year Validation", - "title": "AJCC7 Year Validation", - "notes": "", - "last_modified": "2015-05-27T16:19:00.662Z", - "definition": [ - { - "key": "year_dx", - "name": "Year of Diagnosis", - "type": "INPUT" - }, - { - "key": "cs_input_version_original", - "name": "CS Version Input Original", - "type": "INPUT" - } - ], - "rows": [ - [ - "2010-{{ctx_year_current}}", - "*" - ], - [ - "", - "020000-999999" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc_descriptor_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc_descriptor_codes.json deleted file mode 100644 index dab534318..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc_descriptor_codes.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "id": "ajcc_descriptor_codes", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC Descriptor Codes", - "title": "AJCC Descriptor Allowable Codes", - "last_modified": "2015-05-27T16:19:01.882Z", - "definition": [ - { - "key": "descriptor", - "name": "Display String", - "type": "INPUT" - }, - { - "key": "stor_descriptor", - "name": "Storage Code", - "type": "ENDPOINT" - }, - { - "key": "comments", - "name": "Comments", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "c", - "VALUE:c", - " " - ], - [ - "p", - "VALUE:p", - " " - ], - [ - "a", - "VALUE:a", - " " - ], - [ - "yp", - "VALUE:y", - " " - ], - [ - "", - "VALUE:N", - "Display String is blank" - ], - [ - "*", - "VALUE: ", - "Error" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc_mdescriptor_cleanup.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc_mdescriptor_cleanup.json deleted file mode 100644 index 1769cde12..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc_mdescriptor_cleanup.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "id": "ajcc_mdescriptor_cleanup", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC M Descriptor Code Cleanup", - "title": "AJCC M Descriptor Code Cleanup", - "last_modified": "2015-05-27T16:19:01.937Z", - "definition": [ - { - "key": "m", - "name": "M", - "type": "INPUT" - }, - { - "key": "mdescriptor", - "name": "M Descriptor", - "type": "INPUT" - }, - { - "key": "mdescriptor", - "name": "M Descriptor", - "type": "ENDPOINT" - }, - { - "key": "stor_mdescriptor", - "name": "Storage M Descriptor", - "type": "ENDPOINT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "*", - "ERROR", - "VALUE:", - "VALUE:", - "If M Descriptor is an error, both should be set to blank" - ], - [ - "NA", - "*", - "VALUE:", - "VALUE:N", - "For M values of NA" - ], - [ - "", - "*", - "VALUE:", - "VALUE:", - "For missing M values caused by an ERROR in mets" - ], - [ - "*", - "*", - "MATCH", - "MATCH", - "For all other cases, leave codes as they are" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc_ndescriptor_cleanup.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc_ndescriptor_cleanup.json deleted file mode 100644 index 53f29f55b..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc_ndescriptor_cleanup.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "id": "ajcc_ndescriptor_cleanup", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC N Descriptor Code Cleanup", - "title": "AJCC N Descriptor Code Cleanup", - "last_modified": "2015-05-27T16:19:01.987Z", - "definition": [ - { - "key": "n", - "name": "N", - "type": "INPUT" - }, - { - "key": "ndescriptor", - "name": "N Descriptor", - "type": "INPUT" - }, - { - "key": "ndescriptor", - "name": "N Descriptor", - "type": "ENDPOINT" - }, - { - "key": "stor_ndescriptor", - "name": "Storage N Descriptor", - "type": "ENDPOINT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "*", - "ERROR", - "VALUE:", - "VALUE:", - "If N Descriptor is an error, both should be set to blank" - ], - [ - "NA", - "*", - "VALUE:", - "VALUE:N", - "For N values of NA" - ], - [ - "", - "*", - "VALUE:", - "VALUE:", - "For missing N values caused by an ERROR in nodes" - ], - [ - "*", - "*", - "MATCH", - "MATCH", - "For all other cases, leave codes as they are" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ajcc_tdescriptor_cleanup.json b/src/test/resources/algorithms/testing/99.99/tables/ajcc_tdescriptor_cleanup.json deleted file mode 100644 index 1cbbe2e27..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ajcc_tdescriptor_cleanup.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "id": "ajcc_tdescriptor_cleanup", - "algorithm": "testing", - "version": "99.99", - "name": "AJCC T Descriptor Code Cleanup", - "title": "AJCC T Descriptor Code Cleanup", - "last_modified": "2015-05-27T16:19:02.043Z", - "definition": [ - { - "key": "t", - "name": "T", - "type": "INPUT" - }, - { - "key": "tdescriptor", - "name": "T Descriptor", - "type": "INPUT" - }, - { - "key": "tdescriptor", - "name": "T Descriptor", - "type": "ENDPOINT" - }, - { - "key": "stor_tdescriptor", - "name": "Storage T Descriptor", - "type": "ENDPOINT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "*", - "ERROR", - "VALUE:", - "VALUE:", - "If T Descriptor is an error, both should be set to blank" - ], - [ - "NA", - "*", - "VALUE:", - "VALUE:N", - "For T values of NA" - ], - [ - "", - "*", - "VALUE:", - "VALUE:", - "For missing T values caused by an ERROR in extension" - ], - [ - "*", - "*", - "MATCH", - "MATCH", - "For all other cases, leave codes as they are" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/behavior.json b/src/test/resources/algorithms/testing/99.99/tables/behavior.json deleted file mode 100644 index afaa3108b..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/behavior.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": "behavior", - "algorithm": "testing", - "version": "99.99", - "name": "Behavior", - "title": "Behavior ICD-O-3", - "last_modified": "2015-05-27T16:19:02.151Z", - "definition": [ - { - "key": "behavior", - "name": "Behavior", - "type": "INPUT" - }, - { - "key": "desc", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "0", - "Benign" - ], - [ - "1", - "Uncertain Benign/Malig" - ], - [ - "2", - "In Situ" - ], - [ - "3", - "Malignant Primary" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/cs_input_version_original.json b/src/test/resources/algorithms/testing/99.99/tables/cs_input_version_original.json deleted file mode 100644 index ab37ba406..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/cs_input_version_original.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "id": "cs_input_version_original", - "algorithm": "testing", - "version": "99.99", - "name": "CS Version Original", - "title": "Valid CS Versions", - "last_modified": "2015-05-27T16:19:02.499Z", - "definition": [ - { - "key": "cs_input_version_original", - "name": "CS Version", - "type": "INPUT" - } - ], - "rows": [ - [ - "020500-999999" - ], - [ - "020440" - ], - [ - "020302" - ], - [ - "020200" - ], - [ - "020100" - ], - [ - "020001" - ], - [ - "010401,010400" - ], - [ - "010300" - ], - [ - "010200" - ], - [ - "010100,010005,010004,010003,010002,010000" - ], - [ - "000937" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/cs_year_validation.json b/src/test/resources/algorithms/testing/99.99/tables/cs_year_validation.json deleted file mode 100644 index b477c0491..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/cs_year_validation.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": "cs_year_validation", - "algorithm": "testing", - "version": "99.99", - "name": "CS Year Validation", - "title": "CS Year Validation", - "notes": "", - "last_modified": "2015-05-27T16:19:02.555Z", - "definition": [ - { - "key": "year_dx", - "name": "Year of Diagnosis", - "type": "INPUT" - }, - { - "key": "cs_input_version_original", - "name": "CS Version Input Original", - "type": "INPUT" - }, - { - "key": "result", - "name": "Result", - "type": "ENDPOINT" - } - ], - "rows": [ - [ - "2004-{{ctx_year_current}}", - "*", - "MATCH" - ], - [ - "", - "020500-999999,020440,020302,020200,020100,020001,010401,010400,010300,010200,010100,010005,010004,010003,010002,010000,000937", - "MATCH" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/extension_bdi.json b/src/test/resources/algorithms/testing/99.99/tables/extension_bdi.json deleted file mode 100644 index af79375c4..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/extension_bdi.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "id": "extension_bdi", - "algorithm": "testing", - "version": "99.99", - "name": "Extension", - "title": "CS Extension", - "notes": "**Note 1**: In case of multifocal noninvasive Ta and Tis tumors, use code 060, 070, or 080 in preference to code 050.\n\n**Note 2**: If CS Extension code is 050-080, Behavior Code ICD-O-3 must be coded as 2. If CS Extension code is 100 or greater, Behavior Code ICD-O-3 must be coded as 3.\n\n**Note 3**: The presence of muscle around the urethra varies between males and females and, in males, varies among the segments of the urethra. The outer muscular coat (muscularis) is absent in most of the male urethra except for the membranous portion. In females, the muscle coat is continuous from the bladder wall. In addition, in both males and females, there is sphincteric muscle, which may be smooth or skeletal muscle. Invasion of periurethral muscle is coded 200, unless it is specified as invasion of sphincter muscle, which is coded 400. Invasion of muscle at the neck of the bladder is coded with the bladder neck in 600. If the only information is \"invasion of muscle\", NOS, or \"invasion of periurethral muscle\", NOS, assign code 200.", - "last_modified": "2015-05-27T16:19:10.461Z", - "definition": [ - { - "key": "extension", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - }, - { - "key": "ajcc7_t", - "name": "AJCC 7 T", - "type": "ENDPOINT" - }, - { - "key": "ajcc6_t", - "name": "AJCC 6 T", - "type": "ENDPOINT" - }, - { - "key": "t77", - "name": "Summary Stage 1977 T", - "type": "ENDPOINT" - }, - { - "key": "t2000", - "name": "Summary Stage 2000 T", - "type": "ENDPOINT" - } - ], - "rows": [ - [ - "000", - "OBSOLETE DATA CONVERTED V0203\nSee code 060\n\nCarcinoma in situ, NOS", - "ERROR:", - "ERROR:", - "ERROR:", - "ERROR:" - ], - [ - "010", - "OBSOLETE DATA CONVERTED V0203\nSee code 070\n\nCarcinoma in situ, involvement of prostatic urethra", - "ERROR:", - "ERROR:", - "ERROR:", - "ERROR:" - ], - [ - "020", - "OBSOLETE DATA CONVERTED V0203\nSee code 080\n\nCarcinoma in situ, involvement of prostatic ducts", - "ERROR:", - "ERROR:", - "ERROR:", - "ERROR:" - ], - [ - "050", - "Noninvasive papillary, polypoid, or verrucous carcinoma\n\nNote: Code 050 does not apply to transitional cell carcinoma of prostatic urethra or prostatic ducts , see codes 070 and 080", - "VALUE:Ta", - "VALUE:Ta", - "VALUE:IS", - "VALUE:IS" - ], - [ - "060", - "In situ, intraepithelial, noninvasive (flat, sessile), NOS", - "VALUE:Tis", - "VALUE:Tis", - "VALUE:IS", - "VALUE:IS" - ], - [ - "070", - "In situ, intraepithelial, noninvasive:\n Involvement of prostatic urethra", - "VALUE:Tispu", - "VALUE:Tispu", - "VALUE:IS", - "VALUE:IS" - ], - [ - "080", - "In situ, intraepithelial, noninvasive:\n Involvement of prostatic ducts", - "VALUE:Tispd", - "VALUE:Tispd", - "VALUE:IS", - "VALUE:IS" - ], - [ - "100", - "Subepithelial connective tissue (lamina propria, submucosa) invaded\n\nStated as T1 with no other information on extension", - "VALUE:T1", - "VALUE:T1", - "VALUE:L", - "VALUE:L" - ], - [ - "200", - "Muscularis invaded", - "VALUE:T2", - "VALUE:T2", - "VALUE:L", - "VALUE:L" - ], - [ - "300", - "Localized, NOS", - "VALUE:T1", - "VALUE:T1", - "VALUE:L", - "VALUE:L" - ], - [ - "400", - "Corpus spongiosum\nProstate\nSphincter muscle; periurethral muscle specified as sphincter", - "VALUE:T2", - "VALUE:T2", - "VALUE:RE", - "VALUE:RE" - ], - [ - "450", - "Stated as T2 with no other information on extension", - "VALUE:T2", - "VALUE:T2", - "VALUE:L", - "VALUE:L" - ], - [ - "600", - "Beyond the prostatic capsule\nBladder neck\nCorpus cavernosum\nVagina, anterior or NOS\n\nStated as T3 with no other information on extension", - "VALUE:T3", - "VALUE:T3", - "VALUE:RE", - "VALUE:RE" - ], - [ - "700", - "Other adjacent organs, including\n Bladder (excluding bladder neck)\n Seminal vesicle(s)", - "VALUE:T4", - "VALUE:T4", - "VALUE:D", - "VALUE:D" - ], - [ - "800", - "Further contiguous extension", - "VALUE:T4", - "VALUE:T4", - "VALUE:D", - "VALUE:D" - ], - [ - "810", - "Stated as T4 with no other information on extension", - "VALUE:T4", - "VALUE:T4", - "VALUE:D", - "VALUE:D" - ], - [ - "950", - "No evidence of primary tumor", - "VALUE:T0", - "VALUE:T0", - "VALUE:U", - "VALUE:U" - ], - [ - "999", - "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in patient record", - "VALUE:TX", - "VALUE:TX", - "VALUE:U", - "VALUE:U" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/extension_eval_cpa.json b/src/test/resources/algorithms/testing/99.99/tables/extension_eval_cpa.json deleted file mode 100644 index 194a9b7a1..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/extension_eval_cpa.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "id": "extension_eval_cpa", - "algorithm": "testing", - "version": "99.99", - "name": "Extension Eval", - "title": "CS Tumor Size/Ext Eval", - "last_modified": "2015-05-27T16:19:15.446Z", - "definition": [ - { - "key": "extension_eval", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - }, - { - "key": "tdescriptor", - "name": "Staging Basis", - "type": "ENDPOINT" - } - ], - "rows": [ - [ - "0", - "Does not meet criteria for AJCC pathologic staging: \n \n\nNo surgical resection done. Evaluation based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", - "VALUE:c" - ], - [ - "1", - "Does not meet criteria for AJCC pathologic staging:\n\nNo surgical resection done. Evaluation based on endoscopic examination, diagnostic biopsy, including fine needle aspiration biopsy, or other invasive techniques, including surgical observation without biopsy. No autopsy evidence used.", - "VALUE:c" - ], - [ - "2", - "Meets criteria for AJCC pathologic staging:\n\nNo surgical resection done, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy)", - "VALUE:p" - ], - [ - "3", - "Either criteria meets AJCC pathologic staging:\n\nSurgical resection performed WITHOUT pre-surgical systemic treatment or radiation \nOR surgical resection performed, unknown if pre-surgical systemic treatment or radiation performed\nAND Evaluation based on evidence acquired before treatment, supplemented or modified by the additional evidence acquired during and from surgery, particularly from pathologic examination of the resected specimen.\n\nNo surgical resection done. Evaluation based on positive biopsy of highest T classification.", - "VALUE:p" - ], - [ - "5", - "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy and tumor size/extension based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", - "VALUE:c" - ], - [ - "6", - "Meets criteria for AJCC y-pathologic (yp) staging:\n\nSurgical resection performed AFTER neoadjuvant therapy AND tumor size/extension based on pathologic evidence, because pathologic evidence at surgery is more extensive than clinical evidence before treatment.", - "VALUE:yp" - ], - [ - "8", - "Meets criteria for autopsy (a) staging:\n\nEvidence from autopsy only (tumor was unsuspected or undiagnosed prior to autopsy)", - "VALUE:a" - ], - [ - "9", - "Unknown if surgical resection done\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", - "VALUE:c" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/grade.json b/src/test/resources/algorithms/testing/99.99/tables/grade.json deleted file mode 100644 index cf4cbcd53..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/grade.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": "grade", - "algorithm": "testing", - "version": "99.99", - "name": "Grade", - "title": "Grade", - "last_modified": "2015-05-27T16:19:21.164Z", - "definition": [ - { - "key": "grade", - "name": "Grade", - "type": "INPUT" - }, - { - "key": "desc", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "1", - "Grade I" - ], - [ - "2", - "Grade II" - ], - [ - "3", - "Grade III" - ], - [ - "4", - "Grade IV" - ], - [ - "5", - "T-Cell" - ], - [ - "6", - "B-Cell" - ], - [ - "7", - "Null cell" - ], - [ - "8", - "NK (natural killer) cell" - ], - [ - "9", - "Grade/differentiation unknown, not stated, or not applicable" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/histology.json b/src/test/resources/algorithms/testing/99.99/tables/histology.json deleted file mode 100644 index d8942a542..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/histology.json +++ /dev/null @@ -1,665 +0,0 @@ -{ - "id": "histology", - "algorithm": "testing", - "version": "99.99", - "name": "Histology", - "title": "Valid ICD-O-3 Histology Codes", - "last_modified": "2015-05-27T16:19:21.539Z", - "definition": [ - { - "key": "hist", - "name": "Histology", - "type": "INPUT" - } - ], - "rows": [ - [ - "8000-8005" - ], - [ - "8010-8015" - ], - [ - "8020-8022" - ], - [ - "8030-8035" - ], - [ - "8040-8046" - ], - [ - "8050-8053" - ], - [ - "8060" - ], - [ - "8070-8078" - ], - [ - "8080-8084" - ], - [ - "8090-8098" - ], - [ - "8100-8103" - ], - [ - "8110" - ], - [ - "8120-8124" - ], - [ - "8130,8131" - ], - [ - "8140-8157" - ], - [ - "8160-8162" - ], - [ - "8170-8175" - ], - [ - "8180" - ], - [ - "8190,8191" - ], - [ - "8200-8202" - ], - [ - "8204" - ], - [ - "8210-8215" - ], - [ - "8220,8221" - ], - [ - "8230,8231" - ], - [ - "8240-8255" - ], - [ - "8260-8264" - ], - [ - "8270-8272" - ], - [ - "8280,8281" - ], - [ - "8290" - ], - [ - "8300" - ], - [ - "8310-8325" - ], - [ - "8330-8337" - ], - [ - "8340-8347" - ], - [ - "8350" - ], - [ - "8360,8361" - ], - [ - "8370-8375" - ], - [ - "8380-8384" - ], - [ - "8390-8392" - ], - [ - "8400-8410" - ], - [ - "8413" - ], - [ - "8420" - ], - [ - "8430" - ], - [ - "8440-8444" - ], - [ - "8450-8454" - ], - [ - "8460-8463" - ], - [ - "8470-8473" - ], - [ - "8480-8482" - ], - [ - "8490" - ], - [ - "8500-8508" - ], - [ - "8510" - ], - [ - "8512-8514" - ], - [ - "8520-8525" - ], - [ - "8530" - ], - [ - "8540-8543" - ], - [ - "8550,8551" - ], - [ - "8560-8562" - ], - [ - "8570-8576" - ], - [ - "8580-8593" - ], - [ - "8600-8602" - ], - [ - "8610" - ], - [ - "8620-8623" - ], - [ - "8630-8634" - ], - [ - "8640-8642" - ], - [ - "8650" - ], - [ - "8660" - ], - [ - "8670,8671" - ], - [ - "8680-8683" - ], - [ - "8690-8693" - ], - [ - "8700" - ], - [ - "8710-8713" - ], - [ - "8720-8723" - ], - [ - "8725-8728" - ], - [ - "8730" - ], - [ - "8740-8746" - ], - [ - "8750" - ], - [ - "8760-8762" - ], - [ - "8770-8774" - ], - [ - "8780" - ], - [ - "8790" - ], - [ - "8800-8806" - ], - [ - "8810-8815" - ], - [ - "8820-8827" - ], - [ - "8830-8836" - ], - [ - "8840-8842" - ], - [ - "8850-8858" - ], - [ - "8860-8862" - ], - [ - "8870" - ], - [ - "8880,8881" - ], - [ - "8890-8898" - ], - [ - "8900-8905" - ], - [ - "8910" - ], - [ - "8912" - ], - [ - "8920,8921" - ], - [ - "8930-8936" - ], - [ - "8940,8941" - ], - [ - "8950,8951" - ], - [ - "8959,8960" - ], - [ - "8963-8967" - ], - [ - "8970-8974" - ], - [ - "8980-8983" - ], - [ - "8990,8991" - ], - [ - "9000" - ], - [ - "9010-9016" - ], - [ - "9020" - ], - [ - "9030" - ], - [ - "9040-9044" - ], - [ - "9050-9055" - ], - [ - "9060-9065" - ], - [ - "9070-9073" - ], - [ - "9080-9085" - ], - [ - "9090,9091" - ], - [ - "9100-9105" - ], - [ - "9110" - ], - [ - "9120-9125" - ], - [ - "9130-9133" - ], - [ - "9135,9136" - ], - [ - "9140-9142" - ], - [ - "9150" - ], - [ - "9160,9161" - ], - [ - "9170-9175" - ], - [ - "9180-9187" - ], - [ - "9191-9195" - ], - [ - "9200" - ], - [ - "9210" - ], - [ - "9220,9221" - ], - [ - "9230,9231" - ], - [ - "9240-9243" - ], - [ - "9250-9252" - ], - [ - "9260-9262" - ], - [ - "9270-9275" - ], - [ - "9280-9282" - ], - [ - "9290" - ], - [ - "9300-9302" - ], - [ - "9310-9312" - ], - [ - "9320-9322" - ], - [ - "9330" - ], - [ - "9340-9342" - ], - [ - "9350-9352" - ], - [ - "9360-9365" - ], - [ - "9370-9373" - ], - [ - "9380-9384" - ], - [ - "9390-9394" - ], - [ - "9400,9401" - ], - [ - "9410-9413" - ], - [ - "9420,9421" - ], - [ - "9423,9424" - ], - [ - "9430" - ], - [ - "9440-9442" - ], - [ - "9444" - ], - [ - "9450,9451" - ], - [ - "9460" - ], - [ - "9470-9474" - ], - [ - "9480" - ], - [ - "9490-9493" - ], - [ - "9500-9508" - ], - [ - "9510-9514" - ], - [ - "9520-9523" - ], - [ - "9530-9535" - ], - [ - "9537-9541" - ], - [ - "9550" - ], - [ - "9560-9562" - ], - [ - "9570,9571" - ], - [ - "9580-9582" - ], - [ - "9590,9591" - ], - [ - "9596,9597" - ], - [ - "9650-9655" - ], - [ - "9659" - ], - [ - "9661-9665" - ], - [ - "9667" - ], - [ - "9670,9671" - ], - [ - "9673" - ], - [ - "9675" - ], - [ - "9678-9680" - ], - [ - "9684" - ], - [ - "9687-9691" - ], - [ - "9695" - ], - [ - "9698-9702" - ], - [ - "9705" - ], - [ - "9708,9709" - ], - [ - "9712" - ], - [ - "9714" - ], - [ - "9716-9719" - ], - [ - "9724-9729" - ], - [ - "9731-9735" - ], - [ - "9737,9738" - ], - [ - "9740-9742" - ], - [ - "9750-9762" - ], - [ - "9764-9769" - ], - [ - "9800,9801" - ], - [ - "9805-9809" - ], - [ - "9811-9818" - ], - [ - "9820" - ], - [ - "9823" - ], - [ - "9826,9827" - ], - [ - "9831-9837" - ], - [ - "9840" - ], - [ - "9860,9861" - ], - [ - "9863" - ], - [ - "9865-9867" - ], - [ - "9869-9876" - ], - [ - "9891" - ], - [ - "9895-9898" - ], - [ - "9910,9911" - ], - [ - "9920" - ], - [ - "9930,9931" - ], - [ - "9940" - ], - [ - "9945,9946" - ], - [ - "9948" - ], - [ - "9950" - ], - [ - "9960-9967" - ], - [ - "9970,9971" - ], - [ - "9975" - ], - [ - "9980" - ], - [ - "9982-9987" - ], - [ - "9989" - ], - [ - "9991,9992" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ids.txt b/src/test/resources/algorithms/testing/99.99/tables/ids.txt deleted file mode 100644 index a97d920a7..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ids.txt +++ /dev/null @@ -1,62 +0,0 @@ -ajcc6_exclusions_ppd -ajcc6_m_codes -ajcc6_n_codes -ajcc6_stage_codes -ajcc6_stage_qaw -ajcc6_t_codes -ajcc6_year_validation -ajcc7_inclusions_tpb -ajcc7_m_codes -ajcc7_n_codes -ajcc7_stage_codes -ajcc7_stage_uaz -ajcc7_t_codes -ajcc7_year_validation -ajcc_descriptor_codes -ajcc_mdescriptor_cleanup -ajcc_ndescriptor_cleanup -ajcc_tdescriptor_cleanup -behavior -cs_input_version_original -cs_year_validation -extension_bdi -extension_eval_cpa -grade -histology -lvi -mets_eval_ipa -mets_hpe -nodes_dbu -nodes_eval_epa -nodes_exam_gpa -nodes_pos_fpa -primary_site -schema_selection_urethra -size_apa -ss_codes -ssf1_jpd -ssf2_kna -ssf3_lna -ssf4_mna -ssf5_nna -ssf6_ona -ssf7_snb -ssf8_snc -ssf9_snd -ssf10_sne -ssf11_snf -ssf12_sng -ssf13_snh -ssf14_sni -ssf15_snj -ssf16_snk -ssf17_snl -ssf18_snm -ssf19_snn -ssf20_sno -ssf21_snp -ssf22_snq -ssf23_snr -ssf24_sns -ssf25_snt -summary_stage_rpa \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/lvi.json b/src/test/resources/algorithms/testing/99.99/tables/lvi.json deleted file mode 100644 index d9fc7b0d6..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/lvi.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": "lvi", - "algorithm": "testing", - "version": "99.99", - "name": "LVI", - "title": "Lymph-vascular Invasion", - "last_modified": "2015-05-27T16:19:21.837Z", - "definition": [ - { - "key": "lvi", - "name": "LVI", - "type": "INPUT" - }, - { - "key": "desc", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "0", - "Lymph-vascular Invasion stated as Not Present" - ], - [ - "1", - "Lymph-vascular Invasion Present/Identified" - ], - [ - "8", - "Not Applicable" - ], - [ - "9", - "Unknown/Indeterminate/not mentioned in path report" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/mets_eval_ipa.json b/src/test/resources/algorithms/testing/99.99/tables/mets_eval_ipa.json deleted file mode 100644 index 42a597ca8..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/mets_eval_ipa.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "id": "mets_eval_ipa", - "algorithm": "testing", - "version": "99.99", - "name": "Mets Eval", - "title": "CS Mets Eval", - "notes": "**Note**: This item reflects the validity of the classification of the item CS Mets at DX only according to the diagnostic methods employed.", - "last_modified": "2015-05-27T16:19:27.329Z", - "definition": [ - { - "key": "mets_eval", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - }, - { - "key": "mdescriptor", - "name": "Staging Basis", - "type": "ENDPOINT" - } - ], - "rows": [ - [ - "0", - "Does not meet criteria for AJCC pathologic staging of distant metastasis:\n \n\nEvaluation of distant metastasis based on physical examination, imaging examination, and/or other non-invasive clinical evidence. No pathologic examination of metastatic tissue performed or pathologic examination was negative.", - "VALUE:c" - ], - [ - "1", - "Does not meet criteria for AJCC pathologic staging of distant metastasis:\n\nEvaluation of distant metastasis based on endoscopic examination or other invasive technique, including surgical observation without biopsy. No pathologic examination of metastatic tissue performed or pathologic examination was negative.", - "VALUE:c" - ], - [ - "2", - "Meets criteria for AJCC pathologic staging of distant metastasis:\n\nNo pathologic examination of metastatic specimen done prior to death, but positive metastatic evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", - "VALUE:p" - ], - [ - "3", - "Meets criteria for AJCC pathologic staging of distant metastasis:\n\nSpecimen from metastatic site microscopically positive WITHOUT pre-surgical systemic treatment or radiation \nOR specimen from metastatic site microscopically positive, unknown if pre-surgical systemic treatment or radiation performed\nOR specimen from metastatic site microscopically positive prior to neoadjuvant treatment.", - "VALUE:p" - ], - [ - "5", - "Does not meet criteria for AJCC y-pathologic (yp) staging of distant metastasis:\n\nSpecimen from metastatic site microscopically positive WITH pre-surgical systemic treatment or radiation, BUT metastasis based on clinical evidence.", - "VALUE:c" - ], - [ - "6", - "Meets criteria for AJCC y-pathologic (yp) staging of distant metastasis:\nSpecimen from metastatic site microscopically positive WITH pre-surgical systemic treatment or radiation, BUT metastasis based on pathologic evidence.", - "VALUE:yp" - ], - [ - "8", - "Meets criteria for AJCC autopsy (a) staging of distant metastasis:\n\nEvidence from autopsy based on examination of positive metastatic tissue AND tumor was unsuspected or undiagnosed prior to autopsy.", - "VALUE:a" - ], - [ - "9", - "Not assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", - "VALUE:c" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/mets_hpe.json b/src/test/resources/algorithms/testing/99.99/tables/mets_hpe.json deleted file mode 100644 index d4ed7b9bb..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/mets_hpe.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "id": "mets_hpe", - "algorithm": "testing", - "version": "99.99", - "name": "Mets", - "title": "CS Mets at DX", - "notes": "**Note**: Nodes in contiguous (secondary) and bidirectional (cephalad/caudal) primary nodal basins are coded in CS Lymph Nodes. (Clarification v0204)", - "last_modified": "2015-05-27T16:19:31.134Z", - "definition": [ - { - "key": "mets", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - }, - { - "key": "ajcc7_m", - "name": "AJCC 7 M", - "type": "ENDPOINT" - }, - { - "key": "ajcc6_m", - "name": "AJCC 6 M", - "type": "ENDPOINT" - }, - { - "key": "m77", - "name": "Summary Stage 1977 M", - "type": "ENDPOINT" - }, - { - "key": "m2000", - "name": "Summary Stage 2000 M", - "type": "ENDPOINT" - } - ], - "rows": [ - [ - "00", - "No distant metastasis", - "VALUE:M0", - "VALUE:M0", - "VALUE:NONE", - "VALUE:NONE" - ], - [ - "10", - "Distant lymph node(s)", - "VALUE:M1", - "VALUE:M1", - "VALUE:D", - "VALUE:D" - ], - [ - "40", - "Distant metastasis except distant lymph node(s) \nCarcinomatosis", - "VALUE:M1", - "VALUE:M1", - "VALUE:D", - "VALUE:D" - ], - [ - "50", - "40 + 10\n\nDistant metastasis plus distant lymph node(s)", - "VALUE:M1", - "VALUE:M1", - "VALUE:D", - "VALUE:D" - ], - [ - "60", - "Distant metastasis, NOS\n\nStated as M1 with no other information on distant metastasis", - "VALUE:M1", - "VALUE:M1", - "VALUE:D", - "VALUE:D" - ], - [ - "99", - "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record", - "VALUE:M0", - "VALUE:MX", - "VALUE:U", - "VALUE:U" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/nodes_dbu.json b/src/test/resources/algorithms/testing/99.99/tables/nodes_dbu.json deleted file mode 100644 index c200d28b3..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/nodes_dbu.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "id": "nodes_dbu", - "algorithm": "testing", - "version": "99.99", - "name": "Nodes", - "title": "CS Lymph Nodes", - "notes": "**Note 1**: Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in CS Mets at DX.\n\n**Note 2**: Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 3**: Determine the size of the largest metastasis in a lymph node as documented in the pathology report to assign codes 100-300, not the size of the lymph node itself. If the size of the metastasis is not documented, determine the size of the largest involved lymph node as documented pathologically or clinically with pathology taking priority. Do not code the size of any node(s) coded in CS Mets at DX.\n\n**Note 4**: The assignment of the N category is based both on number and size of metastasis. Use codes as described here if the number and/or size of nodes involved is unknown:\n\n* Code 110: Single node involved, size not stated.\n* Code 210: Multiple nodes involved, size not stated.\n* Code 200: Single or multiple nodes not stated, size stated and greater than 2 cm but less than or equal to 5 cm.\n* Code 300: Single or multiple nodes not stated, size stated and greater than 5 cm.\n* Code 505: Single or multiple nodes not stated, size not stated.", - "last_modified": "2015-05-27T16:19:33.941Z", - "definition": [ - { - "key": "nodes", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - }, - { - "key": "ajcc7_n", - "name": "AJCC 7 N", - "type": "ENDPOINT" - }, - { - "key": "ajcc6_n", - "name": "TNM 6 N", - "type": "ENDPOINT" - }, - { - "key": "n77", - "name": "Summary Stage 1977 N", - "type": "ENDPOINT" - }, - { - "key": "n2000", - "name": "Summary Stage 2000 N", - "type": "ENDPOINT" - } - ], - "rows": [ - [ - "000", - "No regional lymph node involvement", - "VALUE:N0", - "VALUE:N0", - "VALUE:NONE", - "VALUE:NONE" - ], - [ - "100", - "SINGLE regional lymph node, less than or equal to 2 cm:\n Iliac, NOS:\n Common\n External\n Internal (hypogastric), NOS:\n Obturator\n Inguinal, NOS:\n Deep inguinal, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial (femoral)\n Pelvic, NOS\n Sacral, NOS\n Presacral\n Regional lymph node, NOS\n\nStated as N1 with no other information on regional lymph nodes", - "VALUE:N1", - "VALUE:N1", - "VALUE:RN", - "VALUE:RN" - ], - [ - "110", - "SINGLE regional node listed in code 100, size not stated", - "VALUE:N1", - "VALUE:N1", - "VALUE:RN", - "VALUE:RN" - ], - [ - "200", - "SINGLE regional lymph node listed in code 100, greater than 2 cm but less than or equal to 5 cm \nOR \nMULTIPLE regional nodes listed in code 100, none greater than 5 cm", - "VALUE:N2", - "VALUE:N2", - "VALUE:RN", - "VALUE:RN" - ], - [ - "210", - "MULTIPLE regional nodes listed in code 100, size not stated", - "VALUE:N2", - "VALUE:N2", - "VALUE:RN", - "VALUE:RN" - ], - [ - "300", - "Regional lymph node(s) listed in code 100, at least one greater than 5 cm", - "VALUE:N2", - "VALUE:N2", - "VALUE:RN", - "VALUE:RN" - ], - [ - "400", - "Stated as N2 with no other information on regional lymph nodes", - "VALUE:N2", - "VALUE:N2", - "VALUE:RN", - "VALUE:RN" - ], - [ - "500", - "OBSOLETE DATA RETAINED AND REVIEWED V0203\nSee codes 110, 200, 210, 300, and 505\n\nRegional lymph node(s), NOS (size and/or number not stated)", - "VALUE:N1", - "VALUE:N1", - "VALUE:RN", - "VALUE:RN" - ], - [ - "505", - "Regional lymph node(s), NOS:\nSize and/or number not stated \n(See Note 4 for exceptions)", - "VALUE:N1", - "VALUE:N1", - "VALUE:RN", - "VALUE:RN" - ], - [ - "800", - "Lymph nodes, NOS", - "VALUE:N1", - "VALUE:N1", - "VALUE:RN", - "VALUE:RN" - ], - [ - "999", - "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record", - "VALUE:NX", - "VALUE:NX", - "VALUE:U", - "VALUE:U" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/nodes_eval_epa.json b/src/test/resources/algorithms/testing/99.99/tables/nodes_eval_epa.json deleted file mode 100644 index 724ffc6ca..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/nodes_eval_epa.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "id": "nodes_eval_epa", - "algorithm": "testing", - "version": "99.99", - "name": "Nodes Eval", - "title": "CS Lymph Nodes Eval", - "notes": "**Note 1**: This field is used primarily to derive the staging basis for the N category in the TNM system. It records how the code for the item \"CS Lymph Nodes\" was determined based on the diagnostic methods employed and their intent.\n\n**Note 2**: In the 7th edition of the AJCC manual, the clinical and pathologic classification rules for the N category were changed to reflect current medical practice. The N is designated as clinical or pathologic based on the intent (workup versus treatment) matching with the assessment of the T classification. When the intent is workup, the staging basis is clinical, and when the intent is treatment, the staging basis is pathologic.\n\n* A. Microscopic assessment including biopsy of regional nodes or sentinel nodes if being performed as part of the workup to choose the treatment plan, is therefore part of the clinical staging. When it is part of the workup, the T category is clinical, and there has not been a resection of the primary site adequate for pathologic T classification (which would be part of the treatment).\n* B. Microscopic assessment of regional nodes if being performed as part of the treatment is therefore part of the pathologic staging. When it is part of the treatment, the T category is pathologic, and there has been a resection of the primary site adequate for pathologic T classification (all part of the treatment).\n\n**Note 3**: Microscopic assessment of the highest N category is always pathologic (code 3).\n\n**Note 4**: If lymph node dissection is not performed after neoadjuvant therapy, use code 0 or 1.\n\n**Note 5**: Only codes 5 and 6 are used if the node assessment is performed after neoadjuvant therapy.", - "last_modified": "2015-05-27T16:19:39.482Z", - "definition": [ - { - "key": "nodes_eval", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - }, - { - "key": "ndescriptor", - "name": "Staging Basis", - "type": "ENDPOINT" - } - ], - "rows": [ - [ - "0", - "Does not meet criteria for AJCC pathologic staging:\n \nNo regional lymph nodes removed for examination. Evidence based on physical examination, imaging examination, or other non-invasive clinical evidence. No autopsy evidence used.", - "VALUE:c" - ], - [ - "1", - "Does not meet criteria for AJCC pathologic staging based on at least one of the following criteria:\n \nNo regional lymph nodes removed for examination. Evidence based on endoscopic examination, or other invasive techniques including surgical observation, without biopsy. No autopsy evidence used.\nOR\nFine needle aspiration, incisional core needle biopsy, or excisional biopsy of regional lymph nodes or sentinel nodes as part of the diagnostic workup, WITHOUT removal of the primary site adequate for pathologic T classification (treatment).", - "VALUE:c" - ], - [ - "2", - "Meets criteria for AJCC pathologic staging:\n \nNo regional lymph nodes removed for examination, but evidence derived from autopsy (tumor was suspected or diagnosed prior to autopsy).", - "VALUE:p" - ], - [ - "3", - "Meets criteria for AJCC pathologic staging based on at least one of the following criteria:\n \nAny microscopic assessment of regional nodes (including FNA, incisional core needle bx, excisional bx, sentinel node bx or node resection), WITH removal of the primary site adequate for pathologic T classification (treatment) or biopsy assessment of the highest T category.\nOR\nAny microscopic assessment of a regional node in the highest N category, regardless of the T category information.", - "VALUE:p" - ], - [ - "5", - "Does not meet criteria for AJCC y-pathologic (yp) staging:\n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on clinical evidence, unless the pathologic evidence at surgery (AFTER neoadjuvant) is more extensive (see code 6).", - "VALUE:c" - ], - [ - "6", - "Meets criteria for AJCC y-pathologic (yp) staging:\n\nRegional lymph nodes removed for examination AFTER neoadjuvant therapy AND lymph node evaluation based on pathologic evidence, because the pathologic evidence at surgery is more extensive than clinical evidence before treatment.", - "VALUE:yp" - ], - [ - "8", - "Meets criteria for AJCC autopsy (a) staging:\n\nEvidence from autopsy; tumor was unsuspected or undiagnosed prior to autopsy.", - "VALUE:a" - ], - [ - "9", - "Unknown if lymph nodes removed for examination\nNot assessed; cannot be assessed\nUnknown if assessed\nNot documented in patient record", - "VALUE:c" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/nodes_exam_gpa.json b/src/test/resources/algorithms/testing/99.99/tables/nodes_exam_gpa.json deleted file mode 100644 index 53a872d1a..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/nodes_exam_gpa.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "id": "nodes_exam_gpa", - "algorithm": "testing", - "version": "99.99", - "name": "Nodes Exam", - "title": "Regional Nodes Examined", - "last_modified": "2015-05-27T16:19:39.786Z", - "definition": [ - { - "key": "nodes_exam", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "00", - "No nodes examined" - ], - [ - "01-89", - "1 - 89 nodes examined (code exact number of regional lymph nodes examined)" - ], - [ - "90", - "90 or more nodes examined" - ], - [ - "95", - "No regional nodes removed, but aspiration or core biopsy of regional nodes performed" - ], - [ - "96", - "Regional lymph node removal documented as sampling and number of nodes unknown/not stated" - ], - [ - "97", - "Regional lymph node removal documented as dissection and number of nodes unknown/not stated" - ], - [ - "98", - "Regional lymph nodes surgically removed but number of lymph nodes unknown/not stated and not documented as sampling or dissection; nodes examined, but number unknown" - ], - [ - "99", - "Unknown if nodes were examined; not applicable or negative \nNot documented in patient record" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/nodes_pos_fpa.json b/src/test/resources/algorithms/testing/99.99/tables/nodes_pos_fpa.json deleted file mode 100644 index 702aa5107..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/nodes_pos_fpa.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "id": "nodes_pos_fpa", - "algorithm": "testing", - "version": "99.99", - "name": "Nodes Pos", - "title": "Regional Nodes Positive", - "notes": "**Note**: Record this field even if there has been preoperative treatment.", - "last_modified": "2015-05-27T16:19:40.068Z", - "definition": [ - { - "key": "nodes_pos", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "00", - "All nodes examined negative." - ], - [ - "01-89", - "1 - 89 nodes positive (code exact number of nodes positive)" - ], - [ - "90", - "90 or more nodes positive" - ], - [ - "95", - "Positive aspiration or core biopsy of lymph node(s)" - ], - [ - "97", - "Positive nodes - number unspecified" - ], - [ - "98", - "No nodes examined" - ], - [ - "99", - "Unknown if nodes are positive; not applicable\nNot documented in patient record" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/primary_site.json b/src/test/resources/algorithms/testing/99.99/tables/primary_site.json deleted file mode 100644 index 9f77bd495..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/primary_site.json +++ /dev/null @@ -1,1342 +0,0 @@ -{ - "id": "primary_site", - "algorithm": "testing", - "version": "99.99", - "name": "Primary Site", - "title": "Primary Site", - "last_modified": "2015-05-27T16:19:40.613Z", - "definition": [ - { - "key": "site", - "name": "Primary Site", - "type": "INPUT" - }, - { - "key": "desc", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "C000", - "External upper lip" - ], - [ - "C001", - "External lower lip" - ], - [ - "C002", - "External lip, NOS" - ], - [ - "C003", - "Inner aspect, upper lip" - ], - [ - "C004", - "Inner aspect, lower lip" - ], - [ - "C005", - "Inner aspect of lip, NOS" - ], - [ - "C006", - "Commissure of lip" - ], - [ - "C008", - "Overlapping lesion of lip" - ], - [ - "C009", - "Lip, NOS" - ], - [ - "C019", - "Base of tongue" - ], - [ - "C020", - "Dorsal surface of tongue" - ], - [ - "C021", - "Border of tongue" - ], - [ - "C022", - "Ventral surface of tongue" - ], - [ - "C023", - "Anterior two-thirds of tongue, NOS" - ], - [ - "C024", - "Lingual tonsil" - ], - [ - "C028", - "Overlapping lesion of tongue" - ], - [ - "C029", - "Tongue, NOS" - ], - [ - "C030", - "Upper gum" - ], - [ - "C031", - "Lower gum" - ], - [ - "C039", - "Gum, NOS" - ], - [ - "C040", - "Anterior floor of mouth" - ], - [ - "C041", - "Lateral floor of mouth" - ], - [ - "C048", - "Overlapping lesion of floor of mouth" - ], - [ - "C049", - "Floor of mouth, NOS" - ], - [ - "C050", - "Hard palate" - ], - [ - "C051", - "Soft palate" - ], - [ - "C052", - "Uvula" - ], - [ - "C058", - "Overlapping lesion of palate" - ], - [ - "C059", - "Palate, NOS" - ], - [ - "C060", - "Cheek mucosa" - ], - [ - "C061", - "Vestibule of mouth" - ], - [ - "C062", - "Retromolar area" - ], - [ - "C068", - "Overlapping lesion of other & unspecified parts of mouth" - ], - [ - "C069", - "Mouth, NOS" - ], - [ - "C079", - "Parotid gland" - ], - [ - "C080", - "Submandibular gland" - ], - [ - "C081", - "Sublingual gland" - ], - [ - "C088", - "Overlapping lesion of major salivary glands" - ], - [ - "C089", - "Major salivary gland, NOS" - ], - [ - "C090", - "Tonsillar fossa" - ], - [ - "C091", - "Tonsillar pillar" - ], - [ - "C098", - "Overlapping lesion of tonsil" - ], - [ - "C099", - "Tonsil, NOS" - ], - [ - "C100", - "Vallecula" - ], - [ - "C101", - "Anterior surface of epiglottis" - ], - [ - "C102", - "Lateral wall of oropharynx" - ], - [ - "C103", - "Posterior wall of oropharynx" - ], - [ - "C104", - "Branchial cleft" - ], - [ - "C108", - "Overlapping lesion of oropharynx" - ], - [ - "C109", - "Oropharynx, NOS" - ], - [ - "C110", - "Superior wall of nasopharynx" - ], - [ - "C111", - "Posterior wall of nasopharynx" - ], - [ - "C112", - "Lateral wall of nasopharynx" - ], - [ - "C113", - "Anterior wall of nasopharynx" - ], - [ - "C118", - "Overlapping lesion of nasopharynx" - ], - [ - "C119", - "Nasopharynx, NOS" - ], - [ - "C129", - "Pyriform sinus" - ], - [ - "C130", - "Postcricoid region" - ], - [ - "C131", - "Aryepiglottic fold, hypopharyngeal aspect" - ], - [ - "C132", - "Posterior wall of hypopharynx" - ], - [ - "C138", - "Overlapping lesion of hypopharynx" - ], - [ - "C139", - "Hypopharynx, NOS" - ], - [ - "C140", - "Pharynx, NOS" - ], - [ - "C142", - "Waldeyer's ring" - ], - [ - "C148", - "Overlapping lesion of lip, oral cavity & pharynx" - ], - [ - "C150", - "Cervical part of esophagus" - ], - [ - "C151", - "Thoracic part of esophagus" - ], - [ - "C152", - "Abdominal part of esophagus" - ], - [ - "C153", - "Upper third of esophagus" - ], - [ - "C154", - "Middle third of esophagus" - ], - [ - "C155", - "Lower third of esophagus" - ], - [ - "C158", - "Overlapping lesion of esophagus" - ], - [ - "C159", - "Esophagus, NOS" - ], - [ - "C160", - "Cardia" - ], - [ - "C161", - "Fundus of stomach" - ], - [ - "C162", - "Body of stomach" - ], - [ - "C163", - "Gastric antrum" - ], - [ - "C164", - "Pylorus" - ], - [ - "C165", - "Lesser curvature of stomach, NOS" - ], - [ - "C166", - "Greater curvature of stomach, NOS" - ], - [ - "C168", - "Overlapping lesion of stomach" - ], - [ - "C169", - "Stomach, NOS" - ], - [ - "C170", - "Duodenum" - ], - [ - "C171", - "Jejunum" - ], - [ - "C172", - "Ileum" - ], - [ - "C173", - "Meckel diverticulum" - ], - [ - "C178", - "Overlapping lesion of small intestine" - ], - [ - "C179", - "Small intestine, NOS" - ], - [ - "C180", - "Cecum" - ], - [ - "C181", - "Appendix" - ], - [ - "C182", - "Ascending colon" - ], - [ - "C183", - "Hepatic flexure of colon" - ], - [ - "C184", - "Transverse colon" - ], - [ - "C185", - "Splenic flexure of colon" - ], - [ - "C186", - "Descending colon" - ], - [ - "C187", - "Sigmoid colon" - ], - [ - "C188", - "Overlapping lesion of colon" - ], - [ - "C189", - "Colon, NOS" - ], - [ - "C199", - "Rectosigmoid junction" - ], - [ - "C209", - "Rectum" - ], - [ - "C210", - "Anus, NOS" - ], - [ - "C211", - "Anal canal" - ], - [ - "C212", - "Cloacogenic zone" - ], - [ - "C218", - "Overlapping lesion of rectum, anus & anal canal" - ], - [ - "C220", - "Liver" - ], - [ - "C221", - "Intrahepatic bile duct" - ], - [ - "C239", - "Gallbladder" - ], - [ - "C240", - "Extrahepatic bile duct" - ], - [ - "C241", - "Ampulla of vater" - ], - [ - "C248", - "Overlapping lesion of biliary tract" - ], - [ - "C249", - "Biliary tract, NOS" - ], - [ - "C250", - "Head of pancreas" - ], - [ - "C251", - "Body of pancreas" - ], - [ - "C252", - "Tail of pancreas" - ], - [ - "C253", - "Pancreatic duct" - ], - [ - "C254", - "Endocrine pancreas" - ], - [ - "C257", - "Oth parts of pancreas" - ], - [ - "C258", - "Overlapping lesion of pancreas" - ], - [ - "C259", - "Pancreas, NOS" - ], - [ - "C260", - "Intestinal tract, NOS" - ], - [ - "C268", - "Overlapping lesion of digestive system" - ], - [ - "C269", - "Gastrointestinal tract, NOS" - ], - [ - "C300", - "Nasal cavity" - ], - [ - "C301", - "Middle ear" - ], - [ - "C310", - "Maxillary sinus" - ], - [ - "C311", - "Ethmoidal sinus" - ], - [ - "C312", - "Frontal sinus" - ], - [ - "C313", - "Sphenoidal sinus" - ], - [ - "C318", - "Overlapping lesion of accessory sinuses" - ], - [ - "C319", - "Accessory sinus, NOS" - ], - [ - "C320", - "Glottis" - ], - [ - "C321", - "Supraglottis" - ], - [ - "C322", - "Subglottis" - ], - [ - "C323", - "Laryngeal cartilage" - ], - [ - "C328", - "Overlapping lesion of larynx" - ], - [ - "C329", - "Larynx, NOS" - ], - [ - "C339", - "Trachea" - ], - [ - "C340", - "Main bronchus" - ], - [ - "C341", - "Upper lobe, bronchus or lung" - ], - [ - "C342", - "Middle lobe, bronchus or lung" - ], - [ - "C343", - "Lower lobe, bronchus or lung" - ], - [ - "C348", - "Overlapping lesion of bronchus & lung" - ], - [ - "C349", - "Bronchus or lung, NOS" - ], - [ - "C379", - "Thymus" - ], - [ - "C380", - "Heart" - ], - [ - "C381", - "Anterior mediastinum" - ], - [ - "C382", - "Posterior mediastinum" - ], - [ - "C383", - "Mediastinum, NOS" - ], - [ - "C384", - "Pleura" - ], - [ - "C388", - "Overlapping lesion of heart, mediastinum & pleura" - ], - [ - "C390", - "Upper respiratory tract, NOS" - ], - [ - "C398", - "Overlapping lesion of respiratory & intrathoracic organs" - ], - [ - "C399", - "Ill-defined sites within respiratory system" - ], - [ - "C400", - "Long bones of upper limb, scapula and associative joints" - ], - [ - "C401", - "Short bones of upper limb and associative joints" - ], - [ - "C402", - "Long bones of lower limb and associative joints" - ], - [ - "C403", - "Short bones of lower limb and associative joints" - ], - [ - "C408", - "Overlapping lesion of bone & articular cartilage of limbs" - ], - [ - "C409", - "Bone & articular cartilage of limb, NOS" - ], - [ - "C410", - "Bones of skull & face" - ], - [ - "C411", - "Mandible" - ], - [ - "C412", - "Vertebral column" - ], - [ - "C413", - "Ribs, sternum & clavicle" - ], - [ - "C414", - "Pelvic bones, sacrum & coccyx" - ], - [ - "C418", - "Overlapping lesion of bone & articular cartilage" - ], - [ - "C419", - "Bone & articular cartilage, NOS" - ], - [ - "C420", - "Blood" - ], - [ - "C421", - "Bone marrow" - ], - [ - "C422", - "Spleen" - ], - [ - "C423", - "Reticuloendothelial system, NOS" - ], - [ - "C424", - "Hematopoietic system, NOS" - ], - [ - "C440", - "Skin of lip" - ], - [ - "C441", - "Skin of eyelid" - ], - [ - "C442", - "Skin of ear & external auricular canal" - ], - [ - "C443", - "Skin of other & unspecified parts of face" - ], - [ - "C444", - "Skin of scalp & neck" - ], - [ - "C445", - "Skin of trunk" - ], - [ - "C446", - "Skin of upper limb and shoulder" - ], - [ - "C447", - "Skin of lower limb and hip" - ], - [ - "C448", - "Overlapping lesion of skin" - ], - [ - "C449", - "Skin, NOS" - ], - [ - "C470", - "Peripheral nerves of head, face & neck" - ], - [ - "C471", - "Peripheral nerves of upper limb and shoulder" - ], - [ - "C472", - "Peripheral nerves of lower limb and hip" - ], - [ - "C473", - "Peripheral nerves of thorax" - ], - [ - "C474", - "Peripheral nerves of abdomen" - ], - [ - "C475", - "Peripheral nerves of pelvis" - ], - [ - "C476", - "Peripheral nerves of trunk, NOS" - ], - [ - "C478", - "Overlapping lesion of peripheral nerves & autonomic nervous system" - ], - [ - "C479", - "Peripheral nerves & autonomic nervous system, NOS" - ], - [ - "C480", - "Retroperitoneum" - ], - [ - "C481", - "Specified parts of peritoneum" - ], - [ - "C482", - "Peritoneum, NOS" - ], - [ - "C488", - "Overlapping lesion of retroperitoneum & peritoneum" - ], - [ - "C490", - "Connective & soft tissue of head, face & neck" - ], - [ - "C491", - "Connective & soft tissue of upper limb and shoulder" - ], - [ - "C492", - "Connective & soft tissue of lower limb and hip" - ], - [ - "C493", - "Connective & soft tissue of thorax" - ], - [ - "C494", - "Connective & soft tissue of abdomen" - ], - [ - "C495", - "Connective & soft tissue of pelvis" - ], - [ - "C496", - "Connective & soft tissue of trunk, NOS" - ], - [ - "C498", - "Overlapping lesion of connective & soft tissue" - ], - [ - "C499", - "Connective & soft tissue, NOS" - ], - [ - "C500", - "Nipple & areola" - ], - [ - "C501", - "Central portion of breast" - ], - [ - "C502", - "Upper-inner quadrant of breast" - ], - [ - "C503", - "Lower-inner quadrant of breast" - ], - [ - "C504", - "Upper-outer quadrant of breast" - ], - [ - "C505", - "Lower-outer quadrant of breast" - ], - [ - "C506", - "Axillary tail of breast" - ], - [ - "C508", - "Overlapping lesion of breast" - ], - [ - "C509", - "Breast, NOS" - ], - [ - "C510", - "Labium majus" - ], - [ - "C511", - "Labium minus" - ], - [ - "C512", - "Clitoris" - ], - [ - "C518", - "Overlapping lesion of vulva" - ], - [ - "C519", - "Vulva, NOS" - ], - [ - "C529", - "Vagina" - ], - [ - "C530", - "Endocervix" - ], - [ - "C531", - "Exocervix" - ], - [ - "C538", - "Overlapping lesion of cervix uteri" - ], - [ - "C539", - "Cervix uteri, NOS" - ], - [ - "C540", - "Isthmus uteri" - ], - [ - "C541", - "Endometrium" - ], - [ - "C542", - "Myometrium" - ], - [ - "C543", - "Fundus uteri" - ], - [ - "C548", - "Overlapping lesion of corpus uteri" - ], - [ - "C549", - "Corpus uteri, NOS" - ], - [ - "C559", - "Uterus" - ], - [ - "C569", - "Ovary" - ], - [ - "C570", - "Fallopian tube" - ], - [ - "C571", - "Broad ligament" - ], - [ - "C572", - "Round ligament" - ], - [ - "C573", - "Parametrium" - ], - [ - "C574", - "Uterine adnexa" - ], - [ - "C577", - "Oth specified female genital organs" - ], - [ - "C578", - "Overlapping lesion of female genital organs" - ], - [ - "C579", - "Female genital organ, NOS" - ], - [ - "C589", - "Placenta" - ], - [ - "C600", - "Prepuce" - ], - [ - "C601", - "Glans penis" - ], - [ - "C602", - "Body of penis" - ], - [ - "C608", - "Overlapping lesion of penis" - ], - [ - "C609", - "Penis, NOS" - ], - [ - "C619", - "Prostate" - ], - [ - "C620", - "Undescended testis" - ], - [ - "C621", - "Descended testis" - ], - [ - "C629", - "Testis, NOS" - ], - [ - "C630", - "Epididymis" - ], - [ - "C631", - "Spermatic cord" - ], - [ - "C632", - "Scrotum" - ], - [ - "C637", - "Oth specified male genital organs" - ], - [ - "C638", - "Overlapping lesion of male genital organs" - ], - [ - "C639", - "Male genital organ, NOS" - ], - [ - "C649", - "Kidney, except renal pelvis" - ], - [ - "C659", - "Renal pelvis" - ], - [ - "C669", - "Ureter" - ], - [ - "C670", - "Trigone of bladder" - ], - [ - "C671", - "Dome of bladder" - ], - [ - "C672", - "Lateral wall of bladder" - ], - [ - "C673", - "Anterior wall of bladder" - ], - [ - "C674", - "Posterior wall of bladder" - ], - [ - "C675", - "Bladder neck" - ], - [ - "C676", - "Ureteric orifice" - ], - [ - "C677", - "Urachus" - ], - [ - "C678", - "Overlapping lesion of bladder" - ], - [ - "C679", - "Bladder, NOS" - ], - [ - "C680", - "Urethra" - ], - [ - "C681", - "Paraurethral glands" - ], - [ - "C688", - "Overlapping lesion of urinary organs" - ], - [ - "C689", - "Urinary system, NOS" - ], - [ - "C690", - "Conjunctiva" - ], - [ - "C691", - "Cornea" - ], - [ - "C692", - "Retina" - ], - [ - "C693", - "Choroid" - ], - [ - "C694", - "Ciliary body" - ], - [ - "C695", - "Lachrymal gland & duct" - ], - [ - "C696", - "Orbit" - ], - [ - "C698", - "Overlapping lesion of eye & adnexa" - ], - [ - "C699", - "Eye, NOS" - ], - [ - "C700", - "Cerebral meninges" - ], - [ - "C701", - "Spinal meninges" - ], - [ - "C709", - "Meninges, NOS" - ], - [ - "C710", - "Cerebrum, except lobes & ventricles" - ], - [ - "C711", - "Frontal lobe" - ], - [ - "C712", - "Temporal lobe" - ], - [ - "C713", - "Parietal lobe" - ], - [ - "C714", - "Occipital lobe" - ], - [ - "C715", - "Cerebral ventricle" - ], - [ - "C716", - "Cerebellum" - ], - [ - "C717", - "Brain stem" - ], - [ - "C718", - "Overlapping lesion of brain" - ], - [ - "C719", - "Brain, NOS" - ], - [ - "C720", - "Spinal cord" - ], - [ - "C721", - "Cauda equina" - ], - [ - "C722", - "Olfactory nerve" - ], - [ - "C723", - "Optic nerve" - ], - [ - "C724", - "Acoustic nerve" - ], - [ - "C725", - "Cranial nerves, NOS" - ], - [ - "C728", - "Overlapping lesion of brain & central nervous system" - ], - [ - "C729", - "Central nervous system, NOS" - ], - [ - "C739", - "Thyroid gland" - ], - [ - "C740", - "Cortex of adrenal gland" - ], - [ - "C741", - "Medulla of adrenal gland" - ], - [ - "C749", - "Adrenal gland, NOS" - ], - [ - "C750", - "Parathyroid gland" - ], - [ - "C751", - "Pituitary gland" - ], - [ - "C752", - "Craniopharyngeal duct" - ], - [ - "C753", - "Pineal gland" - ], - [ - "C754", - "Carotid body" - ], - [ - "C755", - "Aortic body & other paraganglia" - ], - [ - "C758", - "Overlapping lesion of endocrine gland" - ], - [ - "C759", - "Endocrine gland, NOS" - ], - [ - "C760", - "Head, face & neck, NOS" - ], - [ - "C761", - "Thorax, NOS" - ], - [ - "C762", - "Abdomen, NOS" - ], - [ - "C763", - "Pelvis, NOS" - ], - [ - "C764", - "Upper limb, NOS" - ], - [ - "C765", - "Lower limb, NOS" - ], - [ - "C767", - "Other ill-defined sites" - ], - [ - "C768", - "Overlapping lesion of ill-defined sites" - ], - [ - "C770", - "Lymph nodes of head, face & neck" - ], - [ - "C771", - "Intrathoracic lymph nodes" - ], - [ - "C772", - "Intra-abdominal lymph nodes" - ], - [ - "C773", - "Axillary & upper limb lymph nodes" - ], - [ - "C774", - "Inguinal & lower limb lymph nodes" - ], - [ - "C775", - "Pelvic lymph nodes" - ], - [ - "C778", - "Lymph nodes of multiple regions" - ], - [ - "C779", - "Lymph nodes, NOS" - ], - [ - "C809", - "Unknown primary site" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/schema_selection_urethra.json b/src/test/resources/algorithms/testing/99.99/tables/schema_selection_urethra.json deleted file mode 100644 index 3fc4fece8..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/schema_selection_urethra.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id": "schema_selection_urethra", - "algorithm": "testing", - "version": "99.99", - "name": "Schema Selection Urethra", - "title": "Schema selection for Urethra", - "last_modified": "2015-05-27T16:19:48.980Z", - "definition": [ - { - "key": "site", - "name": "Primary Site", - "type": "INPUT" - }, - { - "key": "hist", - "name": "Histology", - "type": "INPUT" - }, - { - "key": "result", - "name": "Result", - "type": "ENDPOINT" - } - ], - "rows": [ - [ - "C680", - "8000-9136,9141-9582,9700-9701", - "MATCH" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/size_apa.json b/src/test/resources/algorithms/testing/99.99/tables/size_apa.json deleted file mode 100644 index f1139ee2e..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/size_apa.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "id": "size_apa", - "algorithm": "testing", - "version": "99.99", - "name": "Size", - "title": "CS Tumor Size", - "last_modified": "2015-05-27T16:19:50.511Z", - "definition": [ - { - "key": "size", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "000", - "No mass/tumor found" - ], - [ - "001-988", - "001 - 988 millimeters (mm) \n(Exact size to nearest mm)" - ], - [ - "989", - "989 mm or larger" - ], - [ - "990", - "Microscopic focus or foci only and no size of focus given" - ], - [ - "991", - "Described as \"less than 1 centimeter (cm)\"" - ], - [ - "992", - "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" - ], - [ - "993", - "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" - ], - [ - "994", - "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" - ], - [ - "995", - "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" - ], - [ - "999", - "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ss_codes.json b/src/test/resources/algorithms/testing/99.99/tables/ss_codes.json deleted file mode 100644 index 4cacc919b..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ss_codes.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "id": "ss_codes", - "algorithm": "testing", - "version": "99.99", - "name": "Summary Stage Codes", - "title": "Summary Stage Allowable Codes", - "last_modified": "2015-05-27T16:20:12.268Z", - "definition": [ - { - "key": "ss", - "name": "Display String", - "type": "INPUT" - }, - { - "key": "stor_ss", - "name": "Storage Code", - "type": "ENDPOINT" - }, - { - "key": "comments", - "name": "Comments", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "NONE", - "VALUE: ", - "(internal use only, no storage code needed)" - ], - [ - "IS", - "VALUE:0", - "In situ" - ], - [ - "L", - "VALUE:1", - "Localized" - ], - [ - "RE", - "VALUE:2", - "Regional, direct extension" - ], - [ - "RN", - "VALUE:3", - "Regional, lymph nodes only" - ], - [ - "RE+RN", - "VALUE:4", - "Regional, extension and nodes" - ], - [ - "RNOS", - "VALUE:5", - "Regional, NOS" - ], - [ - "D", - "VALUE:7", - "Distant" - ], - [ - "NA", - "VALUE:8", - "Not applicable" - ], - [ - "U", - "VALUE:9", - "Unknown/Unstaged" - ], - [ - "*", - "VALUE: ", - "Error" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf10_sne.json b/src/test/resources/algorithms/testing/99.99/tables/ssf10_sne.json deleted file mode 100644 index ca0fb707b..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf10_sne.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf10_sne", - "algorithm": "testing", - "version": "99.99", - "name": "SSF10", - "title": "CS Site-Specific Factor 10", - "last_modified": "2015-05-27T16:19:53.528Z", - "definition": [ - { - "key": "ssf10", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf11_snf.json b/src/test/resources/algorithms/testing/99.99/tables/ssf11_snf.json deleted file mode 100644 index 145bbd16d..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf11_snf.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf11_snf", - "algorithm": "testing", - "version": "99.99", - "name": "SSF11", - "title": "CS Site-Specific Factor 11", - "last_modified": "2015-05-27T16:19:54.319Z", - "definition": [ - { - "key": "ssf11", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf12_sng.json b/src/test/resources/algorithms/testing/99.99/tables/ssf12_sng.json deleted file mode 100644 index 1408c58a8..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf12_sng.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf12_sng", - "algorithm": "testing", - "version": "99.99", - "name": "SSF12", - "title": "CS Site-Specific Factor 12", - "last_modified": "2015-05-27T16:19:55.289Z", - "definition": [ - { - "key": "ssf12", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf13_snh.json b/src/test/resources/algorithms/testing/99.99/tables/ssf13_snh.json deleted file mode 100644 index 147b4401f..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf13_snh.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf13_snh", - "algorithm": "testing", - "version": "99.99", - "name": "SSF13", - "title": "CS Site-Specific Factor 13", - "last_modified": "2015-05-27T16:19:55.944Z", - "definition": [ - { - "key": "ssf13", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf14_sni.json b/src/test/resources/algorithms/testing/99.99/tables/ssf14_sni.json deleted file mode 100644 index c21aad198..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf14_sni.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf14_sni", - "algorithm": "testing", - "version": "99.99", - "name": "SSF14", - "title": "CS Site-Specific Factor 14", - "last_modified": "2015-05-27T16:19:56.500Z", - "definition": [ - { - "key": "ssf14", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf15_snj.json b/src/test/resources/algorithms/testing/99.99/tables/ssf15_snj.json deleted file mode 100644 index 99bb5473f..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf15_snj.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf15_snj", - "algorithm": "testing", - "version": "99.99", - "name": "SSF15", - "title": "CS Site-Specific Factor 15", - "last_modified": "2015-05-27T16:19:57.040Z", - "definition": [ - { - "key": "ssf15", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf16_snk.json b/src/test/resources/algorithms/testing/99.99/tables/ssf16_snk.json deleted file mode 100644 index 83661f5bf..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf16_snk.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf16_snk", - "algorithm": "testing", - "version": "99.99", - "name": "SSF16", - "title": "CS Site-Specific Factor 16", - "last_modified": "2015-05-27T16:19:57.357Z", - "definition": [ - { - "key": "ssf16", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf17_snl.json b/src/test/resources/algorithms/testing/99.99/tables/ssf17_snl.json deleted file mode 100644 index 2719086a1..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf17_snl.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf17_snl", - "algorithm": "testing", - "version": "99.99", - "name": "SSF17", - "title": "CS Site-Specific Factor 17", - "last_modified": "2015-05-27T16:19:57.704Z", - "definition": [ - { - "key": "ssf17", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf18_snm.json b/src/test/resources/algorithms/testing/99.99/tables/ssf18_snm.json deleted file mode 100644 index 2d7b2d032..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf18_snm.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf18_snm", - "algorithm": "testing", - "version": "99.99", - "name": "SSF18", - "title": "CS Site-Specific Factor 18", - "last_modified": "2015-05-27T16:19:57.902Z", - "definition": [ - { - "key": "ssf18", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf19_snn.json b/src/test/resources/algorithms/testing/99.99/tables/ssf19_snn.json deleted file mode 100644 index ded490578..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf19_snn.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf19_snn", - "algorithm": "testing", - "version": "99.99", - "name": "SSF19", - "title": "CS Site-Specific Factor 19", - "last_modified": "2015-05-27T16:19:58.055Z", - "definition": [ - { - "key": "ssf19", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf1_jpd.json b/src/test/resources/algorithms/testing/99.99/tables/ssf1_jpd.json deleted file mode 100644 index a33282e91..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf1_jpd.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id": "ssf1_jpd", - "algorithm": "testing", - "version": "99.99", - "name": "SSF1", - "title": "CS Site-Specific Factor 1", - "subtitle": "WHO/ISUP Grade", - "notes": "**Note 1**: Code the applicable World Health Organization (WHO) or International Society of Urological Pathology (ISUP) grade as documented in the pathology report for urothelial carcinomas only. Information about urothelial histology and grade may be taken from any section of the pathology report where documented, such as a microscopic description, synoptic template, or final diagnosis. If the tumor is of mixed histology including urothelial carcinoma, code grade as specified for the urothelial component.\n\n**Note 2**: Code the WHO/ISUP grade documented in the pathology reort prior to neoadjuvant treatment.\n\n**Note 3**: If the term low grade (LG) or high grade (HG) is indicated for a urothelial primary, assume it is a WHO/ISUP grade.\n\n**Note 4**: If the tumor morphology does not include a urothelial component, use code 987.\n\n**Note 5**: If a grade system other than WHO/ISUP is documented for a urothelial primary, code 999.", - "last_modified": "2015-05-27T16:19:59.878Z", - "definition": [ - { - "key": "ssf1", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "010", - "Low grade urothelial carcinoma" - ], - [ - "020", - "High grade urothelial carcinoma" - ], - [ - "888", - "OBSOLETE DATA CONVERTED V0200 \nSee code 988\n\nNot applicable for this site" - ], - [ - "987", - "Not applicable: Not a urothelial morphology" - ], - [ - "988", - "Not applicable: Information not collected for this case\n(May include cases converted from code 888 used in CSv1 for \"Not applicable\" or when the item was not collected. If this item is required to derive T, N, M, or any stage, use of code 988 may result in an error.)" - ], - [ - "998", - "No pathologic examination of primary site" - ], - [ - "999", - "Unknown WHO/ISUP grade\nNot documented in patient record" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf20_sno.json b/src/test/resources/algorithms/testing/99.99/tables/ssf20_sno.json deleted file mode 100644 index 138c70451..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf20_sno.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf20_sno", - "algorithm": "testing", - "version": "99.99", - "name": "SSF20", - "title": "CS Site-Specific Factor 20", - "last_modified": "2015-05-27T16:20:00.828Z", - "definition": [ - { - "key": "ssf20", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf21_snp.json b/src/test/resources/algorithms/testing/99.99/tables/ssf21_snp.json deleted file mode 100644 index 26497c7ac..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf21_snp.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf21_snp", - "algorithm": "testing", - "version": "99.99", - "name": "SSF21", - "title": "CS Site-Specific Factor 21", - "last_modified": "2015-05-27T16:20:01.065Z", - "definition": [ - { - "key": "ssf21", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf22_snq.json b/src/test/resources/algorithms/testing/99.99/tables/ssf22_snq.json deleted file mode 100644 index d9e0fc778..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf22_snq.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf22_snq", - "algorithm": "testing", - "version": "99.99", - "name": "SSF22", - "title": "CS Site-Specific Factor 22", - "last_modified": "2015-05-27T16:20:01.383Z", - "definition": [ - { - "key": "ssf22", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf23_snr.json b/src/test/resources/algorithms/testing/99.99/tables/ssf23_snr.json deleted file mode 100644 index 5447d2086..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf23_snr.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf23_snr", - "algorithm": "testing", - "version": "99.99", - "name": "SSF23", - "title": "CS Site-Specific Factor 23", - "last_modified": "2015-05-27T16:20:01.634Z", - "definition": [ - { - "key": "ssf23", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf24_sns.json b/src/test/resources/algorithms/testing/99.99/tables/ssf24_sns.json deleted file mode 100644 index 38eca3428..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf24_sns.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf24_sns", - "algorithm": "testing", - "version": "99.99", - "name": "SSF24", - "title": "CS Site-Specific Factor 24", - "last_modified": "2015-05-27T16:20:01.742Z", - "definition": [ - { - "key": "ssf24", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf25_snt.json b/src/test/resources/algorithms/testing/99.99/tables/ssf25_snt.json deleted file mode 100644 index f3d34f052..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf25_snt.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf25_snt", - "algorithm": "testing", - "version": "99.99", - "name": "SSF25", - "title": "CS Site-Specific Factor 25", - "last_modified": "2015-05-27T16:20:01.865Z", - "definition": [ - { - "key": "ssf25", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf2_kna.json b/src/test/resources/algorithms/testing/99.99/tables/ssf2_kna.json deleted file mode 100644 index 65dc399c8..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf2_kna.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": "ssf2_kna", - "algorithm": "testing", - "version": "99.99", - "name": "SSF2", - "title": "CS Site-Specific Factor 2", - "last_modified": "2015-05-27T16:20:03.751Z", - "definition": [ - { - "key": "ssf2", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "888", - "OBSOLETE DATA CONVERTED V0200\nSee code 988\n Not applicable for this site" - ], - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf3_lna.json b/src/test/resources/algorithms/testing/99.99/tables/ssf3_lna.json deleted file mode 100644 index ee7540287..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf3_lna.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": "ssf3_lna", - "algorithm": "testing", - "version": "99.99", - "name": "SSF3", - "title": "CS Site-Specific Factor 3", - "last_modified": "2015-05-27T16:20:05.417Z", - "definition": [ - { - "key": "ssf3", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "888", - "OBSOLETE DATA CONVERTED V0200\nSee code 988\n Not applicable for this site" - ], - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf4_mna.json b/src/test/resources/algorithms/testing/99.99/tables/ssf4_mna.json deleted file mode 100644 index d4e2d22fe..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf4_mna.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": "ssf4_mna", - "algorithm": "testing", - "version": "99.99", - "name": "SSF4", - "title": "CS Site-Specific Factor 4", - "last_modified": "2015-05-27T16:20:06.970Z", - "definition": [ - { - "key": "ssf4", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "888", - "OBSOLETE DATA CONVERTED V0200\nSee code 988\n Not applicable for this site" - ], - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf5_nna.json b/src/test/resources/algorithms/testing/99.99/tables/ssf5_nna.json deleted file mode 100644 index 7a5ef3f36..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf5_nna.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": "ssf5_nna", - "algorithm": "testing", - "version": "99.99", - "name": "SSF5", - "title": "CS Site-Specific Factor 5", - "last_modified": "2015-05-27T16:20:08.170Z", - "definition": [ - { - "key": "ssf5", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "888", - "OBSOLETE DATA CONVERTED V0200\nSee code 988\n Not applicable for this site" - ], - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf6_ona.json b/src/test/resources/algorithms/testing/99.99/tables/ssf6_ona.json deleted file mode 100644 index 48938958c..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf6_ona.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": "ssf6_ona", - "algorithm": "testing", - "version": "99.99", - "name": "SSF6", - "title": "CS Site-Specific Factor 6", - "last_modified": "2015-05-27T16:20:09.306Z", - "definition": [ - { - "key": "ssf6", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "888", - "OBSOLETE DATA CONVERTED V0200\nSee code 988\n Not applicable for this site" - ], - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf7_snb.json b/src/test/resources/algorithms/testing/99.99/tables/ssf7_snb.json deleted file mode 100644 index 95a4fab3f..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf7_snb.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf7_snb", - "algorithm": "testing", - "version": "99.99", - "name": "SSF7", - "title": "CS Site-Specific Factor 7", - "last_modified": "2015-05-27T16:20:10.378Z", - "definition": [ - { - "key": "ssf7", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf8_snc.json b/src/test/resources/algorithms/testing/99.99/tables/ssf8_snc.json deleted file mode 100644 index b823211c9..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf8_snc.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf8_snc", - "algorithm": "testing", - "version": "99.99", - "name": "SSF8", - "title": "CS Site-Specific Factor 8", - "last_modified": "2015-05-27T16:20:11.227Z", - "definition": [ - { - "key": "ssf8", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/ssf9_snd.json b/src/test/resources/algorithms/testing/99.99/tables/ssf9_snd.json deleted file mode 100644 index 1960140ba..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/ssf9_snd.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "ssf9_snd", - "algorithm": "testing", - "version": "99.99", - "name": "SSF9", - "title": "CS Site-Specific Factor 9", - "last_modified": "2015-05-27T16:20:11.987Z", - "definition": [ - { - "key": "ssf9", - "name": "Code", - "type": "INPUT" - }, - { - "key": "description", - "name": "Description", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "988", - "Not applicable: Site-specific factor not defined" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/testing/99.99/tables/summary_stage_rpa.json b/src/test/resources/algorithms/testing/99.99/tables/summary_stage_rpa.json deleted file mode 100644 index d813e176b..000000000 --- a/src/test/resources/algorithms/testing/99.99/tables/summary_stage_rpa.json +++ /dev/null @@ -1,2781 +0,0 @@ -{ - "id": "summary_stage_rpa", - "algorithm": "testing", - "version": "99.99", - "name": "Summary Stage", - "title": "Summary Stage", - "last_modified": "2015-05-27T16:20:12.563Z", - "definition": [ - { - "key": "t", - "name": "T", - "type": "INPUT" - }, - { - "key": "n", - "name": "N", - "type": "INPUT" - }, - { - "key": "m", - "name": "M", - "type": "INPUT" - }, - { - "key": "stage", - "name": "Stage", - "type": "ENDPOINT" - }, - { - "key": "description", - "name": "Explanation", - "type": "DESCRIPTION" - } - ], - "rows": [ - [ - "IS", - "NONE", - "NONE", - "VALUE:IS", - "" - ], - [ - "IS", - "NONE", - "L", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "NONE", - "RE", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "NONE", - "RN", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "NONE", - "RE+RN", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "NONE", - "D", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "NONE", - "NA", - "VALUE:IS", - "" - ], - [ - "IS", - "NONE", - "U", - "VALUE:IS", - "" - ], - [ - "IS", - "RE", - "NONE", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RE", - "L", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RE", - "RE", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RE", - "RN", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RE", - "RE+RN", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RE", - "D", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RE", - "NA", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RE", - "U", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RN", - "NONE", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RN", - "L", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RN", - "RE", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RN", - "RN", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RN", - "RE+RN", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RN", - "D", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RN", - "NA", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RN", - "U", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RE+RN", - "NONE", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RE+RN", - "L", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RE+RN", - "RE", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RE+RN", - "RN", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RE+RN", - "RE+RN", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RE+RN", - "D", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RE+RN", - "NA", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "RE+RN", - "U", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "D", - "NONE", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "D", - "L", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "D", - "RE", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "D", - "RN", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "D", - "RE+RN", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "D", - "D", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "D", - "NA", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "D", - "U", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "NA", - "NONE", - "VALUE:IS", - "" - ], - [ - "IS", - "NA", - "L", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "NA", - "RE", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "NA", - "RN", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "NA", - "RE+RN", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "NA", - "D", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "NA", - "NA", - "VALUE:IS", - "" - ], - [ - "IS", - "NA", - "U", - "VALUE:IS", - "" - ], - [ - "IS", - "U", - "NONE", - "VALUE:IS", - "" - ], - [ - "IS", - "U", - "L", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "U", - "RE", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "U", - "RN", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "U", - "RE+RN", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "U", - "D", - "ERROR:", - "In situ implies no involvement outside the primary site." - ], - [ - "IS", - "U", - "NA", - "VALUE:IS", - "" - ], - [ - "IS", - "U", - "U", - "VALUE:IS", - "" - ], - [ - "L", - "NONE", - "NONE", - "VALUE:L", - "" - ], - [ - "L", - "NONE", - "L", - "VALUE:L", - "" - ], - [ - "L", - "NONE", - "RE", - "VALUE:RE", - "" - ], - [ - "L", - "NONE", - "RN", - "VALUE:RN", - "" - ], - [ - "L", - "NONE", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "L", - "NONE", - "D", - "VALUE:D", - "" - ], - [ - "L", - "NONE", - "NA", - "VALUE:L", - "" - ], - [ - "L", - "NONE", - "U", - "VALUE:L", - "" - ], - [ - "L", - "RE", - "NONE", - "VALUE:RE", - "" - ], - [ - "L", - "RE", - "L", - "VALUE:RE", - "" - ], - [ - "L", - "RE", - "RE", - "VALUE:RE", - "" - ], - [ - "L", - "RE", - "RN", - "VALUE:RE+RN", - "" - ], - [ - "L", - "RE", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "L", - "RE", - "D", - "VALUE:D", - "" - ], - [ - "L", - "RE", - "NA", - "VALUE:RE", - "" - ], - [ - "L", - "RE", - "U", - "VALUE:RE", - "" - ], - [ - "L", - "RN", - "NONE", - "VALUE:RN", - "" - ], - [ - "L", - "RN", - "L", - "VALUE:RN", - "" - ], - [ - "L", - "RN", - "RE", - "VALUE:RE+RN", - "" - ], - [ - "L", - "RN", - "RN", - "VALUE:RN", - "" - ], - [ - "L", - "RN", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "L", - "RN", - "D", - "VALUE:D", - "" - ], - [ - "L", - "RN", - "NA", - "VALUE:RN", - "" - ], - [ - "L", - "RN", - "U", - "VALUE:RN", - "" - ], - [ - "L", - "RE+RN", - "NONE", - "VALUE:RE+RN", - "" - ], - [ - "L", - "RE+RN", - "L", - "VALUE:RE+RN", - "" - ], - [ - "L", - "RE+RN", - "RE", - "VALUE:RE+RN", - "" - ], - [ - "L", - "RE+RN", - "RN", - "VALUE:RE+RN", - "" - ], - [ - "L", - "RE+RN", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "L", - "RE+RN", - "D", - "VALUE:D", - "" - ], - [ - "L", - "RE+RN", - "NA", - "VALUE:RE+RN", - "" - ], - [ - "L", - "RE+RN", - "U", - "VALUE:RE+RN", - "" - ], - [ - "L", - "D", - "NONE", - "VALUE:D", - "" - ], - [ - "L", - "D", - "L", - "VALUE:D", - "" - ], - [ - "L", - "D", - "RE", - "VALUE:D", - "" - ], - [ - "L", - "D", - "RN", - "VALUE:D", - "" - ], - [ - "L", - "D", - "RE+RN", - "VALUE:D", - "" - ], - [ - "L", - "D", - "D", - "VALUE:D", - "" - ], - [ - "L", - "D", - "NA", - "VALUE:D", - "" - ], - [ - "L", - "D", - "U", - "VALUE:D", - "" - ], - [ - "L", - "NA", - "NONE", - "VALUE:L", - "" - ], - [ - "L", - "NA", - "L", - "VALUE:L", - "" - ], - [ - "L", - "NA", - "RE", - "VALUE:RE", - "" - ], - [ - "L", - "NA", - "RN", - "VALUE:RN", - "" - ], - [ - "L", - "NA", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "L", - "NA", - "D", - "VALUE:D", - "" - ], - [ - "L", - "NA", - "NA", - "VALUE:L", - "" - ], - [ - "L", - "NA", - "U", - "VALUE:L", - "" - ], - [ - "L", - "U", - "NONE", - "VALUE:L", - "" - ], - [ - "L", - "U", - "L", - "VALUE:L", - "" - ], - [ - "L", - "U", - "RE", - "VALUE:RE", - "" - ], - [ - "L", - "U", - "RN", - "VALUE:RN", - "" - ], - [ - "L", - "U", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "L", - "U", - "D", - "VALUE:D", - "" - ], - [ - "L", - "U", - "NA", - "VALUE:L", - "" - ], - [ - "L", - "U", - "U", - "VALUE:L", - "" - ], - [ - "RE", - "NONE", - "NONE", - "VALUE:RE", - "" - ], - [ - "RE", - "NONE", - "L", - "VALUE:RE", - "" - ], - [ - "RE", - "NONE", - "RE", - "VALUE:RE", - "" - ], - [ - "RE", - "NONE", - "RN", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "NONE", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "NONE", - "D", - "VALUE:D", - "" - ], - [ - "RE", - "NONE", - "NA", - "VALUE:RE", - "" - ], - [ - "RE", - "NONE", - "U", - "VALUE:RE", - "" - ], - [ - "RE", - "RE", - "NONE", - "VALUE:RE", - "" - ], - [ - "RE", - "RE", - "L", - "VALUE:RE", - "" - ], - [ - "RE", - "RE", - "RE", - "VALUE:RE", - "" - ], - [ - "RE", - "RE", - "RN", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "RE", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "RE", - "D", - "VALUE:D", - "" - ], - [ - "RE", - "RE", - "NA", - "VALUE:RE", - "" - ], - [ - "RE", - "RE", - "U", - "VALUE:RE", - "" - ], - [ - "RE", - "RN", - "NONE", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "RN", - "L", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "RN", - "RE", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "RN", - "RN", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "RN", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "RN", - "D", - "VALUE:D", - "" - ], - [ - "RE", - "RN", - "NA", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "RN", - "U", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "RE+RN", - "NONE", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "RE+RN", - "L", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "RE+RN", - "RE", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "RE+RN", - "RN", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "RE+RN", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "RE+RN", - "D", - "VALUE:D", - "" - ], - [ - "RE", - "RE+RN", - "NA", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "RE+RN", - "U", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "D", - "NONE", - "VALUE:D", - "" - ], - [ - "RE", - "D", - "L", - "VALUE:D", - "" - ], - [ - "RE", - "D", - "RE", - "VALUE:D", - "" - ], - [ - "RE", - "D", - "RN", - "VALUE:D", - "" - ], - [ - "RE", - "D", - "RE+RN", - "VALUE:D", - "" - ], - [ - "RE", - "D", - "D", - "VALUE:D", - "" - ], - [ - "RE", - "D", - "NA", - "VALUE:D", - "" - ], - [ - "RE", - "D", - "U", - "VALUE:D", - "" - ], - [ - "RE", - "NA", - "NONE", - "VALUE:RE", - "" - ], - [ - "RE", - "NA", - "L", - "VALUE:RE", - "" - ], - [ - "RE", - "NA", - "RE", - "VALUE:RE", - "" - ], - [ - "RE", - "NA", - "RN", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "NA", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "NA", - "D", - "VALUE:D", - "" - ], - [ - "RE", - "NA", - "NA", - "VALUE:RE", - "" - ], - [ - "RE", - "NA", - "U", - "VALUE:RE", - "" - ], - [ - "RE", - "U", - "NONE", - "VALUE:RE", - "" - ], - [ - "RE", - "U", - "L", - "VALUE:RE", - "" - ], - [ - "RE", - "U", - "RE", - "VALUE:RE", - "" - ], - [ - "RE", - "U", - "RN", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "U", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "RE", - "U", - "D", - "VALUE:D", - "" - ], - [ - "RE", - "U", - "NA", - "VALUE:RE", - "" - ], - [ - "RE", - "U", - "U", - "VALUE:RE", - "" - ], - [ - "RNOS", - "NONE", - "NONE", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "NONE", - "L", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "NONE", - "RE", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "NONE", - "RN", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "NONE", - "RE+RN", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "NONE", - "D", - "VALUE:D", - "" - ], - [ - "RNOS", - "NONE", - "NA", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "NONE", - "U", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RE", - "NONE", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RE", - "L", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RE", - "RE", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RE", - "RN", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RE", - "RE+RN", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RE", - "D", - "VALUE:D", - "" - ], - [ - "RNOS", - "RE", - "NA", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RE", - "U", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RN", - "NONE", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RN", - "L", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RN", - "RE", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RN", - "RN", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RN", - "RE+RN", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RN", - "D", - "VALUE:D", - "" - ], - [ - "RNOS", - "RN", - "NA", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RN", - "U", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RE+RN", - "NONE", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RE+RN", - "L", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RE+RN", - "RE", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RE+RN", - "RN", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RE+RN", - "RE+RN", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RE+RN", - "D", - "VALUE:D", - "" - ], - [ - "RNOS", - "RE+RN", - "NA", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "RE+RN", - "U", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "D", - "NONE", - "VALUE:D", - "" - ], - [ - "RNOS", - "D", - "L", - "VALUE:D", - "" - ], - [ - "RNOS", - "D", - "RE", - "VALUE:D", - "" - ], - [ - "RNOS", - "D", - "RN", - "VALUE:D", - "" - ], - [ - "RNOS", - "D", - "RE+RN", - "VALUE:D", - "" - ], - [ - "RNOS", - "D", - "D", - "VALUE:D", - "" - ], - [ - "RNOS", - "D", - "NA", - "VALUE:D", - "" - ], - [ - "RNOS", - "D", - "U", - "VALUE:D", - "" - ], - [ - "RNOS", - "NA", - "NONE", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "NA", - "L", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "NA", - "RE", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "NA", - "RN", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "NA", - "RE+RN", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "NA", - "D", - "VALUE:D", - "" - ], - [ - "RNOS", - "NA", - "NA", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "NA", - "U", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "U", - "NONE", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "U", - "L", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "U", - "RE", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "U", - "RN", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "U", - "RE+RN", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "U", - "D", - "VALUE:D", - "" - ], - [ - "RNOS", - "U", - "NA", - "VALUE:RNOS", - "" - ], - [ - "RNOS", - "U", - "U", - "VALUE:RNOS", - "" - ], - [ - "D", - "NONE", - "NONE", - "VALUE:D", - "" - ], - [ - "D", - "NONE", - "L", - "VALUE:D", - "" - ], - [ - "D", - "NONE", - "RE", - "VALUE:D", - "" - ], - [ - "D", - "NONE", - "RN", - "VALUE:D", - "" - ], - [ - "D", - "NONE", - "RE+RN", - "VALUE:D", - "" - ], - [ - "D", - "NONE", - "D", - "VALUE:D", - "" - ], - [ - "D", - "NONE", - "NA", - "VALUE:D", - "" - ], - [ - "D", - "NONE", - "U", - "VALUE:D", - "" - ], - [ - "D", - "RE", - "NONE", - "VALUE:D", - "" - ], - [ - "D", - "RE", - "L", - "VALUE:D", - "" - ], - [ - "D", - "RE", - "RE", - "VALUE:D", - "" - ], - [ - "D", - "RE", - "RN", - "VALUE:D", - "" - ], - [ - "D", - "RE", - "RE+RN", - "VALUE:D", - "" - ], - [ - "D", - "RE", - "D", - "VALUE:D", - "" - ], - [ - "D", - "RE", - "NA", - "VALUE:D", - "" - ], - [ - "D", - "RE", - "U", - "VALUE:D", - "" - ], - [ - "D", - "RN", - "NONE", - "VALUE:D", - "" - ], - [ - "D", - "RN", - "L", - "VALUE:D", - "" - ], - [ - "D", - "RN", - "RE", - "VALUE:D", - "" - ], - [ - "D", - "RN", - "RN", - "VALUE:D", - "" - ], - [ - "D", - "RN", - "RE+RN", - "VALUE:D", - "" - ], - [ - "D", - "RN", - "D", - "VALUE:D", - "" - ], - [ - "D", - "RN", - "NA", - "VALUE:D", - "" - ], - [ - "D", - "RN", - "U", - "VALUE:D", - "" - ], - [ - "D", - "RE+RN", - "NONE", - "VALUE:D", - "" - ], - [ - "D", - "RE+RN", - "L", - "VALUE:D", - "" - ], - [ - "D", - "RE+RN", - "RE", - "VALUE:D", - "" - ], - [ - "D", - "RE+RN", - "RN", - "VALUE:D", - "" - ], - [ - "D", - "RE+RN", - "RE+RN", - "VALUE:D", - "" - ], - [ - "D", - "RE+RN", - "D", - "VALUE:D", - "" - ], - [ - "D", - "RE+RN", - "NA", - "VALUE:D", - "" - ], - [ - "D", - "RE+RN", - "U", - "VALUE:D", - "" - ], - [ - "D", - "D", - "NONE", - "VALUE:D", - "" - ], - [ - "D", - "D", - "L", - "VALUE:D", - "" - ], - [ - "D", - "D", - "RE", - "VALUE:D", - "" - ], - [ - "D", - "D", - "RN", - "VALUE:D", - "" - ], - [ - "D", - "D", - "RE+RN", - "VALUE:D", - "" - ], - [ - "D", - "D", - "D", - "VALUE:D", - "" - ], - [ - "D", - "D", - "NA", - "VALUE:D", - "" - ], - [ - "D", - "D", - "U", - "VALUE:D", - "" - ], - [ - "D", - "NA", - "NONE", - "VALUE:D", - "" - ], - [ - "D", - "NA", - "L", - "VALUE:D", - "" - ], - [ - "D", - "NA", - "RE", - "VALUE:D", - "" - ], - [ - "D", - "NA", - "RN", - "VALUE:D", - "" - ], - [ - "D", - "NA", - "RE+RN", - "VALUE:D", - "" - ], - [ - "D", - "NA", - "D", - "VALUE:D", - "" - ], - [ - "D", - "NA", - "NA", - "VALUE:D", - "" - ], - [ - "D", - "NA", - "U", - "VALUE:D", - "" - ], - [ - "D", - "U", - "NONE", - "VALUE:D", - "" - ], - [ - "D", - "U", - "L", - "VALUE:D", - "" - ], - [ - "D", - "U", - "RE", - "VALUE:D", - "" - ], - [ - "D", - "U", - "RN", - "VALUE:D", - "" - ], - [ - "D", - "U", - "RE+RN", - "VALUE:D", - "" - ], - [ - "D", - "U", - "D", - "VALUE:D", - "" - ], - [ - "D", - "U", - "NA", - "VALUE:D", - "" - ], - [ - "D", - "U", - "U", - "VALUE:D", - "" - ], - [ - "NA", - "NONE", - "NONE", - "VALUE:U", - "" - ], - [ - "NA", - "NONE", - "L", - "VALUE:L", - "" - ], - [ - "NA", - "NONE", - "RE", - "VALUE:RE", - "" - ], - [ - "NA", - "NONE", - "RN", - "VALUE:RN", - "" - ], - [ - "NA", - "NONE", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "NA", - "NONE", - "D", - "VALUE:D", - "" - ], - [ - "NA", - "NONE", - "NA", - "VALUE:U", - "" - ], - [ - "NA", - "NONE", - "U", - "VALUE:U", - "" - ], - [ - "NA", - "RE", - "NONE", - "VALUE:RE", - "" - ], - [ - "NA", - "RE", - "L", - "VALUE:RE", - "" - ], - [ - "NA", - "RE", - "RE", - "VALUE:RE", - "" - ], - [ - "NA", - "RE", - "RN", - "VALUE:RE+RN", - "" - ], - [ - "NA", - "RE", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "NA", - "RE", - "D", - "VALUE:D", - "" - ], - [ - "NA", - "RE", - "NA", - "VALUE:RE", - "" - ], - [ - "NA", - "RE", - "U", - "VALUE:RE", - "" - ], - [ - "NA", - "RN", - "NONE", - "VALUE:RN", - "" - ], - [ - "NA", - "RN", - "L", - "VALUE:RN", - "" - ], - [ - "NA", - "RN", - "RE", - "VALUE:RE+RN", - "" - ], - [ - "NA", - "RN", - "RN", - "VALUE:RN", - "" - ], - [ - "NA", - "RN", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "NA", - "RN", - "D", - "VALUE:D", - "" - ], - [ - "NA", - "RN", - "NA", - "VALUE:RN", - "" - ], - [ - "NA", - "RN", - "U", - "VALUE:RN", - "" - ], - [ - "NA", - "RE+RN", - "NONE", - "VALUE:RE+RN", - "" - ], - [ - "NA", - "RE+RN", - "L", - "VALUE:RE+RN", - "" - ], - [ - "NA", - "RE+RN", - "RE", - "VALUE:RE+RN", - "" - ], - [ - "NA", - "RE+RN", - "RN", - "VALUE:RE+RN", - "" - ], - [ - "NA", - "RE+RN", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "NA", - "RE+RN", - "D", - "VALUE:D", - "" - ], - [ - "NA", - "RE+RN", - "NA", - "VALUE:RE+RN", - "" - ], - [ - "NA", - "RE+RN", - "U", - "VALUE:RE+RN", - "" - ], - [ - "NA", - "D", - "NONE", - "VALUE:D", - "" - ], - [ - "NA", - "D", - "L", - "VALUE:D", - "" - ], - [ - "NA", - "D", - "RE", - "VALUE:D", - "" - ], - [ - "NA", - "D", - "RN", - "VALUE:D", - "" - ], - [ - "NA", - "D", - "RE+RN", - "VALUE:D", - "" - ], - [ - "NA", - "D", - "D", - "VALUE:D", - "" - ], - [ - "NA", - "D", - "NA", - "VALUE:D", - "" - ], - [ - "NA", - "D", - "U", - "VALUE:D", - "" - ], - [ - "NA", - "NA", - "NONE", - "VALUE:NA", - "" - ], - [ - "NA", - "NA", - "L", - "VALUE:NA", - "" - ], - [ - "NA", - "NA", - "RE", - "VALUE:NA", - "" - ], - [ - "NA", - "NA", - "RN", - "VALUE:NA", - "" - ], - [ - "NA", - "NA", - "RE+RN", - "VALUE:NA", - "" - ], - [ - "NA", - "NA", - "D", - "VALUE:NA", - "" - ], - [ - "NA", - "NA", - "NA", - "VALUE:NA", - "" - ], - [ - "NA", - "NA", - "U", - "VALUE:NA", - "" - ], - [ - "NA", - "U", - "NONE", - "VALUE:NA", - "" - ], - [ - "NA", - "U", - "L", - "VALUE:NA", - "" - ], - [ - "NA", - "U", - "RE", - "VALUE:NA", - "" - ], - [ - "NA", - "U", - "RN", - "VALUE:NA", - "" - ], - [ - "NA", - "U", - "RE+RN", - "VALUE:NA", - "" - ], - [ - "NA", - "U", - "D", - "VALUE:NA", - "" - ], - [ - "NA", - "U", - "NA", - "VALUE:NA", - "" - ], - [ - "NA", - "U", - "U", - "VALUE:NA", - "" - ], - [ - "U", - "NONE", - "NONE", - "VALUE:U", - "" - ], - [ - "U", - "NONE", - "L", - "VALUE:L", - "" - ], - [ - "U", - "NONE", - "RE", - "VALUE:RE", - "" - ], - [ - "U", - "NONE", - "RN", - "VALUE:RN", - "" - ], - [ - "U", - "NONE", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "U", - "NONE", - "D", - "VALUE:D", - "" - ], - [ - "U", - "NONE", - "NA", - "VALUE:U", - "" - ], - [ - "U", - "NONE", - "U", - "VALUE:U", - "" - ], - [ - "U", - "RE", - "NONE", - "VALUE:RE", - "" - ], - [ - "U", - "RE", - "L", - "VALUE:RE", - "" - ], - [ - "U", - "RE", - "RE", - "VALUE:RE", - "" - ], - [ - "U", - "RE", - "RN", - "VALUE:RE+RN", - "" - ], - [ - "U", - "RE", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "U", - "RE", - "D", - "VALUE:D", - "" - ], - [ - "U", - "RE", - "NA", - "VALUE:RE", - "" - ], - [ - "U", - "RE", - "U", - "VALUE:RE", - "" - ], - [ - "U", - "RN", - "NONE", - "VALUE:RN", - "" - ], - [ - "U", - "RN", - "L", - "VALUE:RN", - "" - ], - [ - "U", - "RN", - "RE", - "VALUE:RE+RN", - "" - ], - [ - "U", - "RN", - "RN", - "VALUE:RN", - "" - ], - [ - "U", - "RN", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "U", - "RN", - "D", - "VALUE:D", - "" - ], - [ - "U", - "RN", - "NA", - "VALUE:RN", - "" - ], - [ - "U", - "RN", - "U", - "VALUE:RN", - "" - ], - [ - "U", - "RE+RN", - "NONE", - "VALUE:RE+RN", - "" - ], - [ - "U", - "RE+RN", - "L", - "VALUE:RE+RN", - "" - ], - [ - "U", - "RE+RN", - "RE", - "VALUE:RE+RN", - "" - ], - [ - "U", - "RE+RN", - "RN", - "VALUE:RE+RN", - "" - ], - [ - "U", - "RE+RN", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "U", - "RE+RN", - "D", - "VALUE:D", - "" - ], - [ - "U", - "RE+RN", - "NA", - "VALUE:RE+RN", - "" - ], - [ - "U", - "RE+RN", - "U", - "VALUE:RE+RN", - "" - ], - [ - "U", - "D", - "NONE", - "VALUE:D", - "" - ], - [ - "U", - "D", - "L", - "VALUE:D", - "" - ], - [ - "U", - "D", - "RE", - "VALUE:D", - "" - ], - [ - "U", - "D", - "RN", - "VALUE:D", - "" - ], - [ - "U", - "D", - "RE+RN", - "VALUE:D", - "" - ], - [ - "U", - "D", - "D", - "VALUE:D", - "" - ], - [ - "U", - "D", - "NA", - "VALUE:D", - "" - ], - [ - "U", - "D", - "U", - "VALUE:D", - "" - ], - [ - "U", - "NA", - "NONE", - "VALUE:U", - "" - ], - [ - "U", - "NA", - "L", - "VALUE:L", - "" - ], - [ - "U", - "NA", - "RE", - "VALUE:RE", - "" - ], - [ - "U", - "NA", - "RN", - "VALUE:RN", - "" - ], - [ - "U", - "NA", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "U", - "NA", - "D", - "VALUE:D", - "" - ], - [ - "U", - "NA", - "NA", - "VALUE:U", - "" - ], - [ - "U", - "NA", - "U", - "VALUE:U", - "" - ], - [ - "U", - "U", - "NONE", - "VALUE:U", - "" - ], - [ - "U", - "U", - "L", - "VALUE:L", - "" - ], - [ - "U", - "U", - "RE", - "VALUE:RE", - "" - ], - [ - "U", - "U", - "RN", - "VALUE:RN", - "" - ], - [ - "U", - "U", - "RE+RN", - "VALUE:RE+RN", - "" - ], - [ - "U", - "U", - "D", - "VALUE:D", - "" - ], - [ - "U", - "U", - "NA", - "VALUE:U", - "" - ], - [ - "U", - "U", - "U", - "VALUE:U", - "" - ] - ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm-2.0.zip b/src/test/resources/algorithms/tnm-2.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..70339ccb370c12619f8d16aec08aa160dbbfe969 GIT binary patch literal 2110421 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

X-5*%T~=R3CYEkWAcvLM@MM(OEo)sXyibHu=5b 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∓V5Q4V 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

Ws0bV zqcCrdbBTgM4F;?EZQ=#CWrv8M{$*7Uy&Wrf`o8EaH7(ejy6f!x9YzxyUXw=7pg8P#blX>{4~*317zz$Mh5LLh~W8@w3O|W{R{TLd}HPGPP?%0A}iE4rsAL9 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

LP1k8i;r1*Bbjc+_%T}cjnONsx4hO-G4~zu7$T{ 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

_%?5|YY0fA%PIGdIA#dk{ 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

Q}I~^ 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

O^1IDBLSNT2ImqrB>i@iC@lMfMf(LTqYk;2aIJ z>{h`l;p=91ReVGpuukYiJcGVK@(DQcqd}|!(J02wpt@qnv`(r2S#+e18K zne->Y>~~Dy!xAKl0&Qx;lQ4%zUXg3K$6Ep&9Xv5OV5Q+wv)_OkxEQ{SpgIj{p~#{o zx_4z;j`6LWnEuF)_7M#Sm7{W!p4yg;1w{#=2fQudCnQeoVAZMeNLq5?AOvSjDplij zYJ&9j(7-sfX!f^7N5chh0$KQBdsCbvW(Gy9x!It_es4D#GPK^ek-+pg(hQa{VJn`V}sk zL!CNN@e-T(rKk4*Ueew4rpYz7O*%YlZc$lQv>UhPhZ7XQ-u6c;-$C*;YVwgVC+&mw z-@-}Hd`ZwKA~8@iPU5kU>IbVK` zwdHc7?4u+jush{9c35cjrhLRGI_^L){C#;9FSp2bf{-mePvcTSe#QNLBYs6B3a#ot zco`OUKAl?GIKXo@2loaUMt3wE2H}Lgy&uz3)!@8+o8A zYFQ5a%@l4p0w#e@iFhNdJk`o>&Qhp zy>10vEGE6~1pSCnT_kH9l^!YrD3m+)BfE=ut9HiikDn8boV+m^xs=Gfi6TDLNE~)I z!#&p^OQc?e^l7nx0?La-V)`N*ZErNWm=sC2Y>HIx;;b9j`Lyt25D1Nu2vfxv9Rm%K zNYb>bEgzvF+m#6)#A7)S#0HskDaqkzYkZmII0Il z<>Bq=V@>`0(b(G7$tGrVJt(jDbyt6f^;U_nRZGzM{NTTauaQNC5}89LutEVk#2q71 z>YRdycvc%N7rNpjlJCQ|9Dh17>hnA4b8}3a-~e;H<-LhH_+(QW^V4Mwt!Z}n7bkBR z%P@uY2DQu;N~F*v9^R5VG&6aI6!boe1)AYAxcq=n{R0Tmvp-J2U+(Ej9fDh9r|Wc* zdvww#^*tIQ$TalT+L7zxVtr0#>9tbxfG%7i>G_BZo>v}dgxl`tub`f3^P9NhnYrYq# zS88y9>hUHNdoY_8K?UH#n@g2Beb` z$F}>X%AU#Q`!1~b3VHHOG!U6Tg%D%k_h<9WWed%XmvJ8_MGc}M&&8XyGZ><^HAIV< z-A$VRuFDqlgh*H2YB4N6Xr-ShrWgFVl>*lpOs4)730TJEY&-*vPj!Aj&uZUxlO@sW zN_~ZecWoiOzCH3yNG2r?(Tgn0h9qJXnQTy#Lo0-;_dx%S2u{m04tk7Zp0Z=3ALfWt z^tAeC^&!jiC_v(oI6HbKv6%xba?a)InNP>rfn7)W5?W5CQ4Ww_;RNJYB;kw7o59FT zt>tuF1=OjN0HH|>lL7ImYPo>Ba_I4y$e)R4=a|%qKo+HE4~=G7Efc+!!QZAZvGy;A zO%QR-#ArZaexR*qO#qM}41M9DG8{@K(&a5NAC0e`nP+OXx+W&2>(`d-;;R#Kd^QVv zwej_f@P2G8%B1q(Y#bwuVl*(EcVzcIC=$m=A$HsIUy&d0-zcT&g|-ax`hd~I-sXW2 zxPjz4ku4z(u`dqX<7@4J)6Okx7cyll3DauV#s!o>?SSh zt;3x`_Dq@qv@KS>A;tr$8&)Z#kgl&yDET%r#ANXuQDuuiSMxGwv>`07wgdpGF#7|R zUz^r&?duXJHi0wR=`))m`J8S{%){8!oAI?r7lckF{6;eBfY>A{AU3%UAretf;Ur4! zfFSEaU#avM^&PfGq6L>=mXnMxk5U zmZ8p|mg+zsvT(vRh`G=c8K6Iyy|e*DC)0%qy*-oQ$L2~tFX#p5^u(pvS}=D!Dr^c8 zQ~{ZJz|)2z2kblrvc@1*6B|iLA=dx`ITr(io1YEv4X1!_2qyYx;SKPtO87TBne8EI zp>cgDkrG49tRRVQS^JxWB0UO|tBSpkmIk0~&WLmfe!TK<4tLcX6s`*oPc#=47vcXqOI>&5%Lm?y{#Pe+63gS0cS}8*Xo-Z zM`SIxmV#NC${Xg;*Qx939+@j}yp3bw9N@suA$Cckh>!}mY*7iK?bxt+O;~YH!<{X9 zTSV?Vzrvi8@Gf#?!t4|8shb#zmSD!-ok9Kx^7rvUV^O!DpayK72`Gi@Dd!qzk~9h!f{1cc^wIsO}(Pbtv?nMyrSSHrYms+k2`_)Yzr zo?KfnT&mC8b5H7#d0&IRMcA<*qkZnRq~a@71TZy;c4z&tK@s-8bf?9SYu<7$^~L;( z2DJ%P6@T)I-ncayEFk|o5NW~F;6Q^HioX-9K6r=&0rD#ttca`W+1yC-J;JjJLWgO( zJe}(BkLu3VzrbUo#>`}6QZkZT>3?^S-%wxumVLq3Dd$`tXX`vr;{`1w-CyRKBN=B1{ky~%`Sb#s4zyWD%b?32~~3;sO~kq?0iHv?Wp7ApVSG=%>@rXg!% zD}5VVYkgfacf0@p3&8(d7q-?bPPLkH`SV@wx4C7WeZ74~*W|Y@jHRSKTF7{h8W5gu zS0f-+C^-0iiS$mFrbGby=XE;x7;EnB?w=o`D?C4IdgCLp=I^x;ZCw3vt)}dbxpANq zfQlP#1*Mv8IAYvvo?d{0;h(x5@_hgnM33UgInq>i_M2{r7`?p%Ln&}uu6e>dw9A^l zN18!PUZ*}tPkSak2q?eP)g8gR=Md7fR}f+HSx4#IRHlNUVcV@X7K{K(UILXcYTR`^ zAnOOHLOKL0R#9xOe=Qd8aHRvOoJB zz8G|nmGvLs#B$-oQ|_-Rs+2eVyC7b#n1}Z-ZsNosYZd#3b{#|TVU^ScZnHgCQ@>XI z6i78ecxa~o_%|^FkK?eR0DsW`I+<7|d$8{0hwp>^wGmP*3^syCcZx_iD??JKXrj%n z?z#&!-%Kw~gwIoJFQ)I{f>aY$oe<{U(TU}!e9@j{UrUgLG7~z0?^dTl{MQ#^gNF&)MRWymbGECaI7H{TyHGfm6 z?pzH&?wA;drC8|%V2~pVK*Qa0Grca8H!f>Y2Z@?ab^B1?{CM7?T*#BL83fG$|8rUL z&gz{b_6C-T`6t#+DTa=kGAJ!?Azbtx|L@+cvmOq(RbpO+bF=`tKsTFL-mow@DLx*q zV6w4bIT4!tq9QfPz;ZDn{@dGm9)*xlTbZ~W_THphYbw_Lety;~Ugq>P4f-El0T+Gv z38JVWEX5u|=9umI(C&R(7X%m5b{b>X%s)d*mo$9;Omt%`u5PKIo(wuR7RHYcp+xQ3 z30_{sX8d6NE1`{2c^7X=$$>!3!RI>|<`E!7H-$D;ln@*XF~uz|VXs_0=@uB(CPNTX z9IeQy6i1JEd11m^q&zw+Wn%rFx*%zzwN%DA1j?SE9!c^v$J2EeJ=)hV1uDAvpCssR-yH^f`~I{mGK{j6(x5DrT}=8E^yw zDMmsH8X7iw?SqjaWjcFAEwPc0VpGVpSXp$m2VqIBB1JIzecs@s121e@MbZcP7nL}D zF*F;~szHwuUdXndic&%$5xI)?21C=b!}jo6 zTSzJ+KivvujQwqqy|e9QWMpV+D6{av+8>M+!0Lz?Z=CHFu)ugF=yR3pe*kggk^YQK z95SHSi!V-A{k5ftU2?dcaHbyOoroM>i|gFy1Co72eN7wqsTT45(1E;zCcxK3e4YD?Dvs_L8rw98@0SAV?^>LRdkkNoJ1q!-c<@1BMhmc}WRk>1`|)O* ztH*gRP_^f|U2o?XewtNuWiX82Y!I5V^SQuuR!mYDnE`e3m&hVxX(8#cVQxC_FX`tw zRxqqOiVX4(2HgakrI00vhcdVahWQ=7+A|`6aFa^TGzXCdIDjTF1 z)78h#?2HH8knoTVG-Q)xkk4K6X_SCzC>Y)l97AbClsaNHRZaL3lkhvAZ?z7x(;wA>{gg>mvvt)7Is zeYh3w5KaxkkIUZ1M$P0bXf`49=^WFhI^;^#F#MCFYSWE{8L`j>-Q|qcrZ4I!CsMAr z3}efcuur{0FxKv{V};kdc>V6%6C+=foyEvgLl9Eg^VfB>#2i@o{To@kQMfYbtWf z`eb6}W4mkGXR1TY@XSq!UDpJMzgZ^uqOF3m4LkL|q1+SUg?j-&qICidXc+to3%~t( zjN-CwOEPu(tT{jstvF`xxB+z2cZo7Q#*HqU4N;$`^16rGGsw-S4?s8hql+w1nlaD= zjM^b>FfZW`mmCk93RntKk|}qLOtE*OpoqdYGcwE%-UP*Gb4m=F4zfOY0J;gTfY}FW zW>l8r{`n^jyY_L#V$jYuYK1-3m9!CF-$vlDQs(I=-!n*oJ9r>Xfri*YliwBKNPXugjrsKal)C7<-f+P2*-wzj#o+jqME=j1$Z za+EYp(`4pD=R@Z=_kCa2Lk!)D_YdJ2HLF2yM1Y1801&t=%SOL=E|Bj2(ojxafdPQX z1{~Nb7W`_?J9J>RU%?RefKazF^D)3e*`quQ4zN(xLjo+62<_2OFgh7w{hdJiZ<^?y zOC!dYQEO3&EBD3UAo)i99~NPYP{FLw020dFHXcLl@oRca2{}i+-Lz>eUTfqAgcH8uqZ6QEfqw=Ma zgaEJwVEg__Yj8=Ys4(WQE%F%kdjW6)TR$%}8&Z!v)fRE&c%D@6gr{S+e-cX9`hSlk z|Br-{(e}FW0W5dRF#Q0X{UG9)CmI;EZXJK38$K%X)nh|OG5_hp;EOHrj{>($haug# zM0tvDE45f=9nu7@wJ_>j@N%j|be8-}IA6{p{fn1uwd&%w$aKzpF72YBrBE$B|G^s* z7RiHBTpF5_t0DDZCMCh{EX;k1^OX$w4gO1pM*by3O<&1SG6vFo+IG}Dx*2`)N&%{y z0kCegVIW}S)C8j!XXfCAqxB`BED+=I%2HO&G54!n7hTo^ytXPucKCx{+{ioEb( z6`?py^V65ih#Z>b*-(*Y)OZylgNTH>m~#tv=S*2Kp@rdKZt?Q0?ouZ>#hI*6q9;B! z`2DXSS2T+ioOKZAifIr$Axu?&eGB4PnfwzBB_ascd}HzDH^kDCs`hV7EwFf962V6w0=PV;|?_tDx_cG_K)|y;GGHqCo%guXZjrX~Z zK`Z|FFNzI-bkZJQPMUFobQIt#S74lTE(B;NC$io?WFkwJ^~si1a|NWQ$kaP5IS>}5 zVTMo&RDvK!NPMiFw;VNUFdN$zwM&}PM(qx9^TG~ML?w}%CcF>sTt!*F@*r&veC$0y z9)t#c>&5mzPy#nL{lg1-k^q#zkc^rI2JdIOV&QkUib}6sP&V+9BTiVf`#BY<_-1mq zqcjRGR2Zwj}%UUxPs(q`xNw0vqflzqiY^%#cdfC(=>GokPkl z>qXEMbxVEskZh=PY-)H39@K2nK43O(DrsMZq+hWM594PX^OY9ZF){?;U;ZAntT*8? z7Yumg)G&@4w(~87QV8!Evve*V)(p?9C7zrZv%Sh=_s6^y)uq)#%=aeAdAxdF1ApAU z525&K>va0t)!1&IKHPT<-E7R!|JUskQx*c73AlaC|Bs0f+5hVHakjHHb20h9$3p*$ zidnFwsOxK?Tv8{x_oqW*0M;3|2CyJONEXMOhxTFJ~81ky~T;ts9`M?Veu!J(hge(>F zonz-s(rGIo?c*YW)>V@*gzUKEoOfyFOGiQ@36Q;J!IQOs#2Q-3b28HZ8A%u+i#aIS z$oM@eX1wjn|KR?VJ(p)5(hrsxNA#fU{03;9m_YodZXhAFZzb+=5KbEvN}CxD&kt5R zDL^sPLhiXV(DybrHdO>_*3ZQoZi$-$qOM6;#Q5e<_BRq7Boz11-hZ7sS5pafpb_sV zz7V3eXKYdb3v0!wY%j2-c#EA)MkrZF@Tgacy&Wp%E5dBI9nkq^ysY|2P*ayft=*GufO+Ev zDHG3H5l-=Qn@}GfR+)S?P0>@t6zn4OoO3DmL$tc|w=T!w(%1GU z7jWPNAc&>wAsmU_4+kCzoo+UV&)t^@=A#A5AzX#$$A>D{l*}Lvt=OZAFp!%Huw?Lc zGj3qTujzTY5E=H%3I`y@C*mj_mC-ni??`xfE43*y`VHx<+nBoDBC7#%#oW zM|`p1VdlhEMg#WZUPk=E&&i7nFe0B4V`L3vvnwx>x2f*fK9W(AiA~bl*l?<^yi3P{|nGuP+BKCK~r6 zQNs~qR>=T=Z-5d8%;iK*z|!yiPYShn4IH}E>{e@4`e*G3nDl{gW5nqlK+Kcs5GR81`(N{I zurh)j^v9ld4YBliLbGEs?a9l8(hxuh1NezE)XlBQES!#1*SEK@Jt67rhy{^z9o;hn zGWDHzq-C9y4gpDpa>*Pcb{GlMOG$xOAnvicL9}L@&17j zJWg4;nBdQ672X7?L*>h{$5u23IFd#Od=3_K%*4$jdyP5P>?$IWdtXMa;GwSYJFv7@ zd!~yShz)^9&Vpyi!0AH3bweZYh@SUa_3t~+tPj~SKCW!EgShk~M}bG^&r2%8+taw~ z_!;LBqiUd#2@_Ojc{ncN3bi9SaLes0&~!I;`VdF zvU!X^TaqZ^Ski(xTOh2SrQn=<#&~XS>OEssAA{i?+alF{vH2p6%fnfVb9dESi(p!uJp{|H4}< z$)Tkb?K<@Ur)V`r06K4Tb);lXxcI>?PJLF(03Rp1#6A^<@^$>|G2?b)op?+!ym-)If;@*`^O8t)!TbMZ+VTy{(q2Zu%vHA@@uci}hEx zjy2hUARl_}bS){Xd%n;QpvIH<^BCw#VvQb2wn_;APq7zUI%5nB2f?s1C4ZSj4 zXO~MUzdCPh5np_3xL3GWAsseyw6ouhe)5LrLq<9=pzLEHb4CtX~;dTgiiTFP%6S-1%g);<+2*3$4k3aUvH9mC*P zq^e8?D7|INBFoBd(G8r8V#R>B-g-;z{*!BxUq}9aRl!%f53Zvy2!riZed{c%i)p zV6b8+4vEZoMkpS%;a0IWRKB4X-PpopJ&KEsFhf=-qic4Zt}<4_AYa9dm;V`#dn_5u zrqaQYenys-v2ErN>(5fx$1L&GQ%g#$`!c_%;pBO$Pqa*ZA+7I(ClGQ0Nb8w;hK!mW z4GkR9j6ddr{7r|yzK9J!ToRgS%REo_UoG@HE_94qzm1<|+lGUi-wlkZPBH;Rf{4)Q zdms7$kLGV11YZ8aSu~tVjtPKAQ?eUe`BzDQ{zrU zlq0jCJm9W@dd3iyMvflvKCo{h-q&y`heC{r8aoz<-4+${oEE!4PM9TwrCKe8E-vp$ zAwI2(_*Sh<>-murzmTGJQOW%XY|?k_;pyMWl`*X<@?#&MeR1b49zWBI@grzG;nuZw zN%9!evN!#815;tnKkf4@YdVX{{mb(oG;s_Q7|4^ znS8a<^g>=hNLQaLpwEAx^sXA07u#DkUr(@S@d!*N$TVMKFy{Li(BNNy?MhP&i>Cy(%UKE)As6bs69~DW_x)&rifAg4u&#vA;aze zX}KZFmku9q{a4FP48_!+0_W!NewX)cq+^2Yt+l=Lr(Lz(w&nZFh2itVaca#c=vSO` zJr+n~3pi`2=L7VOR}Z5^ zEJ&#{t>-?w7lts%;?c+`vI~|&3ByV8eUHWmoG5+X!GDs}bAizJ&5=Lkoqa-vig)c( zJF@#qEH6phF`b&EUO8YP=ayhzFw=BM#D~t)*cl;q(wj5%ufIp@x>VMz2TTu}C*4j^3&>b3cE9o6ln6wij%v$H*?3#%c)^6l=peF54LVC2}W!d$qV+R=SJC2v#s3QjOCr7rwwEl z2{LTP=^-D0_7sZLwhgj@`moFm47|DxwOpv|3ZPxos!qt8~gcPi z%@7I@KAWzuX40=Z<~-0m#^jl9yxX*O$^5b&Y}QWK%=#?fQ;idP5UTbXWRlZI4T5y0 zp)rw+kLlQxR;wa3P_PGSSp)U@)O`K*Uhw!!gb5g7c20?W;=;zV&=|CQWmsWNj`XP7c0pEEj>$=~sjj~>RN`otN-6tCK zFM8-mBQGF$H|goTMSt%8@-EMb2CznW)pj(cJH+u|<6e?ydy zeoYX2fO+p5gv5KHvny*2$jDKV{o^5rg8TtK9gG@KgHnHdhxJY8$V$Wke_Bz1&!NB` zd&=b6v~D)!{aH9>&UJy1RpC#s(kmX_i|M!xts$|4QHWl&{ET-K1PKYJg!bH*GNSha zWP=aTSw3GcylIy|ePh3IDpm-BZ0XaXs0B9E3SaczPi-ixY0NAi4&+=93K+D72{f3+ zUu{ryTX0E4R`?ZVS|Lf}xPVePb~ukSIg1_D{!K=z%a#FzT`F;I{~ISeO5)hznKhGQ z@Tx-mb8grzROy8s&uR`fKR>>Uop1kCTC=W(nKn}ngyJHGYkx`oRoCxQQLmJY^$ z*?rz*61(2IL%;2w5TT$hCrs#SYY&`F^!R1y>2>o-*}=2>rFpxgTC?~CaGtsJQ`F6lUEmszng&||)Q1%BNk~b&Og*8=2HYdIuc^7gTNNtZ8(2;~zXKD42x(?Gtgn=n~qMv*~r&VI?bO zF&Qx(t;D8?;XrA&L>*8)iz-$ijerDH&tw4Av!!8ZGi{Vmk zYCVA=rZ>`!z%DjXh$)hlkHb0@TFYj##?GOe zaLtG{w9pk7u-ZWn^_k9ZmV3$mTJ4-{@(2d*kl*bAnQjDRXxm|^Sx`>ABG@IG{owAF zG>Rt#$Sk{p^RL@JakIRx-dkVVFcQZIyr)e&=$Gs_nsK0KMV!GDR)mzb2?{NSX+ODVtxt+WnD$Mi8>I}M$)Rbp@ zQ(!?P8|}XGX>fJ8yhl$@^ej%ngd70;Y?)ufFpxijs+eX6(DSf;>3ROGcBm>}#-joO z2TaEX>^>-|(>Xi4XBH>FBlhq$y_tmU5T!Vc>o%9v5L?&S;CNqs(${Kd`D?XfDX_Xs z@}Gj5IEm9&L2bTt;2eN4_$sKm;plh$VE+O?lcy|50Km_IF4AA%=WGNi;<-|Fp&@bM zLJBB=%+m9p%yQp=A$I!!XsO`7=ub-wUhO=+M#Mvv3ieo{Jaabc2Mc??`>>TJacU(@DQ*nUP4ZZWwERf znM5Si0GKQbei3Jp15B3tbhlK|rD)xXt?9$`FjrPLarN{`U(jc{N`D2q5?zfD>Z+vo zK|-q}s>2RUw^OVj?W(YSe%az<0Q9*&mFE6O>aMKjNk?fyeUw4^NLdm|WvQg*pafWh z+Aax47W|r;dv0~5GGYRX^c#_-h@Y*CxJh{bYuglADnvu^zj_+h|EQ<=07RB>|NnX# zGeBfXEq9JpRU#@25Luoz^a4bdF8}Ij{bi9loOwTpcQ+2aGgvw9bZA^=#utWBcr0U{ z|7Shz;y?AYtI}sjs|A^*7x;TXOoI!<_%EiJP^Jqwq`9H3g2$f1VfjKnAJjVKwXof% zMbnmf;~&h-cRL7of_%j^y!O%HSkB|m+XaSJYoS=+TTa#R-XnyUc*ujsrd~X2pGIZ#_cgAj;Zjh*Y{!c;s}mP~hPLDLiiHL5S+b8I8?ywM0`KN<@$KJ1 z1OC?7=?%Z--5N5Hsb+T+*&^QK{Yvn4(3HJdx_AK&n(Y7QgT~|^m(I+^>3_>D_@DY7 zJ?mI&X*4p8lXKxE2OT#QZX8Z8D=yryAkyZ}}((N1eC!( zw@XOKJU+kBS^q1%JhkJW#t!v;XEv@3`tlC7G0M5NLVOa13OwBu7KbCqe&*Q-LjzEu zLHunh77Do#tNxTFq^ z9BbZY+Ybiay{Hnx{M_bvY2fi~EHZalCYJ1+$x3B)v@ZE~q*8gxTfxgPN!Q+w#;4pP z&>#{-hfxkP%D>Do65jr#kaa|9^d0L;9~fmwCeRM=$$H&UBr<|jbmPs^br=LdmyS$? zB>_E1;##=gv227kNXI{;c^q~FCbDd)$U|-~5Ant+8K4Sjz@#MhNbeaX&~=L(kZN+{ zU{j>Gi6}5oG?BZ8L=fvCr|nOlpQ0k^Q~F8u<$9zz3kD{B<;DcrW0|TSBM)NbK|4x{ z_~gM(|3ujMOKE1+6wRZ6l35qkRrZeV@)zu*Hf9!L3$>AyREP?C&uiN> zd6>x0he&V6WO&pdHau|nEx5lrLT%Ji6o@6x8z}dHDWh*IHD`u{Q?y1=1m6+R1*oBe z%@jn$Dk}z4u7h*k;E3WSU()uQ%g8F|u)zYI=eTD!g-?SKP~(SJ$ij#%=G^yYmiY^{ zk8w!s|1FE2J(`)X*gY*lyKBucPygw(zSe0BfdLbYGUShvg2g^lwmp$P+KVpAD{|Ey zbPkq*eh_0Q83SS^WKw3Nx}ylYgP05)gPy*x06tYXPoFzyt}KNK*ep{DNkXN{xpUSU zm5h<{i7*@k4+>A8b6(#P1bg@Zn6e-A9IY2f3p{hk%HsIQ=uejRr9`19y-&Nf~(ZLjSS<&R{wYMM4J76Y@+DI#(_NnD8G$o>ZaH zAO*0`zdBHa@=*J!&(*Po)`Tqm={t?Ba84_YMq?al?xN`-38a5Tv4E^N$DrI=ln$bk zw1-EPR3)<~xpSVWXKS5k@!wH}I%#x!Yhxgr zG;$b2IN!nK6WlCQt7;9GtC5q$HQ>DBOG7OnrX@>I&41t%Js;=|M| zwQKjoMr};q@g`wBVHOgDA?nwG*vL{jtwxGOg=mWZUwiB9Wnth7hI(lB`iUix@y6%E zN+uxQAmG^A)$e3IcJE0C_V#S}`v$a|^)Cuo0{BDBASE*i6)y>Yf1f{oM=(lRgf?cW z75fuwsBzybq^QlqB?`NpfMqsY8sq`84};;#81~IkXPi3C1MTO*{BmL`thgGb;Vmz)TKhH3ug5Cq$s!ip#-vCN%lYn9Za<>)SMjG~ z6TTn3R_4x`xdX-elE{0XqV|>V@!mXEaJTvmI1O*&5Wp%^ZT(DOaLIGt=I+1tE<@l6 z@h5RhsI=_VVWmuJJ=mS*MevS&b^Jh}vBCWd9{LPP8Pe6=FDRz}G?6zAMq`YPyYH19 z%vAQXCDin9c$#ju4oGUCoQnaTafa=ESh_eX(h>5(7?7KxhFEJRG4_VPv~I`dMJu$I zvYtN0q%?>ZI=>uF>*o?ySsy-*!4V66o(SX5YWfaTQ~Y$CpEV1m6|&2wnF?jeP{||Q zeW;>!S6nM>I)R@bn?GN6^muCXgS~I9f$dOCm*Om;M9@HS3Qyc^_ep$=S)39C92Bdy z!>P&bx$8zxjW1Vu-O(zueMU>2nK=2_X{4E;S^RTS1eqJNIil1(E=V1gjH4?3xsq_% zJ3;&q72}f8AZ(|rFic6w55DqC7a|DMQ3mi4l( zibx}q>{wcV{Z7_+W!&*zH2Vy1X0zUemb7BIu772ULnqph7j|Zs+iy%#$h}3O%U6#_Emv;?bnirS zW#c)2&9@o+Scgj5x7oP{zqwUgLb+zq4{`3Z`PqH9RHRUM?4dp38ybHyXDhST!C=E} z@Eai1l#$m=_a$lXf300lSaPA2cQx?X6?v_nYyh$2=jeRj4!f`yhN-;oLy25h*Q;}r z%{O04&*4B04(UJC9xwqfIFqqCTR(--aO5CG6XqFSjIP<8y`tyiAfWsFxPBQp$OPrn z4wICe_>%a}(jQW8DwohQJjPo@j*R~O;7KQ+UdDF?P#MUS?qILf2emA%HQY&qcmFuu zkQ|4sML66cx^z+}&gAO69B=Dqqdwmp#P=~k8qOv)PT$9e3_m=zX~Zz>+g zhcq3p2>ns~&Jn>Cgzo~yyDE9C7&=RmJzFT39~#4pBlqx65cPzcABsl|dqzAjopUA! zS&ak`L@9p>qR^EBx!URSufFLdeH8aEsYTK`j&&7ArfvP1J+Q1|nh91YeQzp={Owy+ z|8QRrsqJ`mOw8Td0o6s;u7U)A+SsG&te7$SV<`t+M{^)RyI$w``?cglz8kWqxbqm` z!8RD}BXoa56vDV1K^3mgx(jMv(#Epi>Gmp(eT;^7_$T~tHX=b$S**}9GhMS12zaA6 zujQGHOMd?nqjB4|NgB8DObsvZQz{>T6H~i{(lSNF7I3W_G57nAA?jtVFeZ#PH^(d% zMKYAkWoMGT_d<0;wD>&XuC7SVQium{sR~_p0N)9ZlGuX2jv6l)13NIn9`FqIfM*~> z`BwJ&^$e9{dZc_I7by$LSL1T31k$HPm-4y$W0X42_?$`AGk3E#HRn>IK#nZ>tg|+k zaf8!4IX<#kvlbOXTJVj(Fv`%tVmCJ{j5X!l7E@*Z(Y{7xc1u?pB`6&*9)!@zQT>l*wGf9Bv{n@6tIL|KO7)k2iL zICB2!qcG&DdM_;Hs5KOZ*bp5r4PI-q55OU;~(7MN(G9Ddn*<6uJlUdPp`qlV61-9nbXt68HEqq>GOw@IKVrA*s)5!oJKyFkV zg(DBWaQ%B44;O21W$Z4v#x6|+PpeY-EJ!hEaXPDx~s$$+y<3;E)QOL^FAU8wSFI(~j+&`pkfi+E#Db#vVBS2iQ7 zlPziFd-Wgbo2Air@Ugj?(VnH>A2!Y6Y!q+KvV>1HZFDRbb3|S5h8CH}_%>2k+lmm% zR*_S4zdgGnQGQn0&WlB3BJ+lnpopM1dXy*}_+o$vQ{bSZ#BnoZ4)6yM9EhQa^5 z$WtwLJO@Lb`BGQB%(Z-EE{P>>{q-Ulw=4_W$a%)$E&@k;Dg z?csdU*cT84e+~$*3r=#y;pPm0V&>iqoSn5y^ZRvnI`GlaZE^6g``Tl;)znnmRU>r2 z-spXO`miDeJ4}fL1mvpme_F?(|F?#yy|saniLLYh)*Y;+^*Bi{BnhX&Gij5O>IClIvDdo%7*`MtYwiK?GW7)@?QoBH{u477IiOqTPp}wU^oNR54qNrd^ESs`T%Q*WPgJ{m)P~Qa-#cnTjW`Gx z#On7#C-w1Uxw9Ao9ZeY;Yn1M_P@q2nIlv5p{gno~4=MJK#fOrTm_z~YIi~kW{w^gUiERzO|AheF$Vi9Jor-=iH8Ivuy?LTntQsaOP44rsHhD02?MCi--Bf>!WWd_=a7TY5^_wZ zSr7@qPLQJloc&0xHz@gN5CL(HXKfnELs;Swkre0H^$0Y)LEdcKh<5_&n5n?fPvSB4 z{DX_Br2?1UL|g{@8=njs=*gWxR~}##(+5p)7EQB`&{4^Otay^%bR-g@u>hf`^A&v|lBnvSVZOZQUd}cHf zBR@ay0odS;K;U1qDSUZwBVhgmp2-grZh5?swy_TZ`TY1*$98?lMe0N-Vh;Mzj}(v1?=M zzSNt&+Kh2oGEO~ll&0zo>1Dw6u@A7Er6>3Nt3YV{nrbr(-a?Jj#ysj!IN%WKxz5hD z-k`hAj=i4W(U*$|f@4&tNcjv3mrBtiH)V#$2V&0*1H-EJf_^!gBaaapXlvC9q4{es zhD9?#^|*E0tu}^JFB*+A*ThU#b)ExXMaI5BPn^%=H&9E*!o@Z1BRAu9eZ^ni2QX>s z7(R_17NqC?A;bJpaiE!ZZ~}~?+7;WehmV)jYD(M2-_BV>)E3soEM{g>7S@lZKk**rzP8j;Pr& zp2|ZL&e$EwR-2hX@INYkC;ygTtDskj;5)cymkw?QdXy9*06utd+)%mfFvNcs&Z#-u zpTLyoX|uQ30styp^wCH)O{WhIx-8P7%<$O07dvf(s0>cLP%EyY*T=*ox(c)1^1e2 zu_j1rfy}o~Rk2KJKedDtz2&2{dk`Gc$Z#KA-y9udKh8h3E30>+%N{%nGPYjVl_pLJ?;EsDo1>O3WuM8jeERlJVQ z_#K+C?UxD*%Z+f2P$qqTz;5roI_YSlIl~EOivAD@!f&CV;6*+^uW6|J4;Zb~bw)W3 zkzlLX!`qNvTMJMRlF4cmjOLnUa2i!}Ck2EbgcYlKxt9HD3d->L3AF0AV~ELU+xR(g z=srrb%bW9&9^g`AOJpr6NH^X?vH`6w@%ds$`P}JR^PtK2)FQBY1$VXLCI-qTmQzQ~ z%KpF53Pn~_Jb_+3dQ7&Ki(wV%@CqJnKQGdy-A z;+0sH`0K;B&(=IoficJYCWciRPS}=Bm)Y^oTwFggj~~C|xf;-?0*&ACp1Y^6{??brzQ5F#cBu#~xvp>YiAv(yzYzB+$NMNfS7*)a81AZw z8S#I&2%F9p%ci4KKmYwBWyKM*H-2l{asJwnXQ@mP9Z5{?^E++_6yw-bX0oTL1h&6z zNd2yJNu17lo@0dxmO@rpx6>=hWwOnP0_o;wzVvC!^kqeCW&3=?ZU^(w_u0Ry7S2v8 z2RS|!cMqYvB)32HOqOk7nDUB`YO5c&fxs`CnlyJ zg);A55~Fz}e8CuRhyK)dJDha@x8luC*}8>7V%-hqv)t4YBENx#rpKJG7^q&+a*rQn z;Y%;-sK#se_$RkZ7x>OgKuyKE50Lnnh0SKGH;lo;=fm{ggqLn1;UUi-j1AjWWV?jM z6J-!7t=T%7xxXW5ml8#-=IapMbA4A_v>7dmQbeP3l+WwntuUl=Gf&XN zWbvu{FmAcVF7IRFuxd6P zF|y*+%#uGmLVY#n$^4)|tOv$I;$bJ*JIqhC^Z0zfkGrA zUmh&~Zv2-@$?tVqdkY!}D2@C7^qvv(zrAO)bNs(^6#hG2F7GPU`eFdiAfXy2t{B=Y z9YB|>x_pSTGx`N>4VV$d8h3nOOZeVlK%Ti83RG8A=+x~L?;LYZ&rj&APmefDbM!-BP4T&;bVHTjL_b$J4(y>*GM|6h?(o^Ayk~9=npvE zW!RpA)fv)tUhFJ)zd2Mkzc6Sn(SY(D7UA7yY+mF=Xgi;9kS|QQnT>Ux5vTLetbsA} zc!%c#A}&fBBdBH@44PmwoDI>I_*J2sw>NlN!6pE+;M`G1f~J9Uit>fE3!_7xHN=VF zo1B@6Zz2M&jgHx(P>E3#SYiWT5Nd&|!dnssq)D%cBVG`mz)Jj-V3LHBFl0FUE*g5Yv3V{r`J*;Q z*Z}{SxizW?{KNg>ngm0k_sab^##3q!>0CE$7&)SOCqms&4tv>Z#0<`uCupZDs69~$ z|BiD=S+W>(+RrkA%}eN#&G0yfc;YCms`sH4)#YhMmqIaF0rAOS#(We2DG*7K&U9Ea zlC%IVZ4yg&}t?0(%tr+^>d)u-|_dKt=-etUh<5 zp1V=AMdK$vuj9Y$t_hzGzt0{!x;`vwwcmr~Z(1B4k693e>ymfE0@j>F7)Tx^t!Y@% zjmj^;wa5*Z0gODJpW;1p6pRny2}tyNzK*2tm^?=}UCm>ww*9)qsKKu$bN)g zGEOX5w3>0`t@f80Us&iwA@gve7_EGzVS2C@>j)2S5{GZ*Fcf@8p|9SAEw-NZ*#lLc zla&WAKc*F3!pElxX(#D<0!SBmi{0B#=`LE7E+(VdS0O*ztflR)tXT^9Z*cZd~>6_|Cs& zUeWtWlK|+&Y?%T)8h7+K)qeF_k?s1c+ySFC5J_9s$(az(Lj$+Tk*$>HXtP8NFdl5U zkoSiyFVE>3=d4&u&K@PF=`lk@J4y}1Sj`@TWt{n+2C*XC9xq6`mHUzt`ACmZOZc}1d8ZS{;o9^Dd#D*&ROE-Ka_?@7x&F^s^ zB9p_`(*06RBL@9CdyY6SrK`RwH+<;Lo_!^udUVO4V9%OOxzfA$+eZ^uK*WXaZ-fz2 z5F8O=I|C;^FJIq4JAh)z0H9cU5n#F69)h*#&6QmHjO?>v=j3+`9 z&ur0m*=2D8Pbmd$8b?vdL&*5a)jQ1`;OPS(i%;nDFBtl{IZ_C8=hH?jTEXnJXR~=u zH8NTkL=(C8pxQ(^ul`4{1Y!y_YFiZ&k)19DUr26=WpKr znLPBc*+R=*`^{lGs3XqC{Ip6F)#tEBm z(92W-D8fgw118ohS|FEFFjp=)Pu|`bs9kQ>LUJ}z90Mg1ES`bsiQrzul4C=KTmF0M z)QNiTt3p15O+Y`ILfN|Ej{*i}F`_lf%itis>;fUfr9o)3pF#IJ90oO7(=|3a{mH$s zEZx$x*?6`j&QA~T8_4qb4K~4u2$>f_9kK#fF2MH(pM0mgVKn0e?szY2KqDRx3Ha{* zfsjF@MxP;%i`kjvO=dQNq~av8Z6J=}qOh@^g)c#2L=S3LQvyGZB?8MiK(GzR2O^Tu(KpvS;sNMdOegjT5BB4VSYN={n;Fivj*2zI^&0+&=qtH_i zin0N&+YeiYYL0yB)=ukwlYKkk$P54!ZxD$0*GrWnfD?|H|6?qn&e2MP=|1%rS4tGC z#sr{p*!q}CB|RpzJKUmsLnGPjE4Le0sGU#YU@y5g$Qxy@HaVk6JG<@@&9IgY0H8M# zs3i{-wCt%m*QLwiT0i3###S;&PSu0);)gXvi>A3uoY_rb=i~S6RY_g`3_^AXzkDQ5 z4Cv*U6Z9o)tQOju8Z_uI@TTS$yCw8!G%{>qFDu1<;Zs(2F`)S-pPq0(9$2fkO-;WfFSlQbSwFsDufo<7#~8aFxaivBLt@ zZ-50ifyQH^-~wHTdO(QD1VA0XrYg^12ks(oFCs*G={h&! za%(<|Qr5h0;zsbIhm?}1$AX|dT*kAlc$V2$oM(vfJ8_}-j$X*C=?YR)kc2mXCPPa= z>-5SHJ!eAEA2FAWLLz%UXJrSl-KL8G3WqAllFjn3D@Og2(PWF)>G(f?Rkg=RrF>z+ zH7yx=SeL56YK&vc5gg-G?COf5` zAsRPlPJ>7jfs>MvI}V>zxX}mCRYY{$0O>{T;CbPkl!a}u7#4o%U0<304UL-&1%u4smonOh*%K-0K9;9NAvUc>vU6^qmO zdD@f@1y_HW#J_cnq4B!8irps|x-5}-k^Fc@C?)=Gly=A{bs%v@wS~b5NYXnFknyKO zrkFctQkSS8C4Gh8}(B5p_f@1xEOebbV>Jb2a6S&H;b1`2hd-flgBbe=9(G=Kc8lO zc9p{u@O}p$;cPi4up0ERw6d#OZsh}{Ntx4OIecBsHAA+hLN9NWez}h^uzTR4;|0Go zL2K)Pf~2`{=V<$WLVgjdMtglY@l(v1KL(r5J1dfS^;$n>|xY+MjvPHu9($ zLEGKk%@@GsFmN`j)gbMe)Gd8vOxRdm6+vE<0I7c4;?@4|u%prFi+s26RPAH_}w%jsR^+Te{gHgRQ z&0JtQj0+ucFu}1+ia~kHv^BF6u6GSND~RCtC+6Q{|Bg5B2U~zIDM9nUML67li*U|nu7D5+K!gLp z5N2+6|G9ejKd1ku0fVwTq%9ZED24>)^G&FRN#^^m4lLjWBTYr+_9V)yU}9fy$|!aT zduqh9wz=M?h&&}v@7#fKgDXKDArPEJZ&^h=CFj77)k+K!4HEnNZM31I zrw|Z(H$}pM5%3i+Kwrmlf!yo&435k}K02gRB^ zCe+iQ^Q#e?Ei9sxMGF5Y{!}yUEG780UK~e3Do5fI=%o8eqmxSu z;Bem#&yL)Ml3a7@RDUTx-cqcMBMv`6EiQ#(iK(Jm6H2~&vll8SB+393;lhgmb*q*Mq_D*cFoxS?Qb6Sxea#=R=ILPO^%3Nvrb zqy<9L++lIPXmev^wOV-GtTb)%F5#zw^Gr0AwI5I<+V5sF>L4nti4Yu~nkr(HXgvy{ zUVpSUvmG{pEJEV1HNi6uLa>?Kh>3|lBlu;DT<@v^yw5zf+Yqblur~NCPM9^j2*&FO z*6>{WqVt%*Q6P{oUqY3yIHUsB{ZtWPQmc+e6PH8}vGTWJM7sowRxG*oE!oENq%(99 zRQDQAGhD#%+T^K^KB=obPV!Bv*G4Z}BGg82bf?)%NmHZ_sn8byI#$480#c|}q}kw1 zsPq$wqn~s5DTd{C(GKv{UE6$YKxq}=x7POwk>6ycY z=?!PJ8|9j>pl6rA1>wH7u-}!tbD!2mO%Tar(nZ0|v(Jn57It)FM3v?)$BALpN}xQt zvr3W(iusr1L0Vm$tIOp^NCVSj;*GORN5givQ+A;;%|@&rN4EGWD`mSl zBFd2>zE6)GW7HHTj#~5-if9Iqy;MWE#dZ`o1Hs z9%%=~?TcR4P723y>z~KHS^|0phAmvxK^_)pm)p0y?`(gR2;%YVv>QeTOCetCB)jtD zSU7cLFHvW%%~bx>uQ`-~&)T2lSvl5!@@z^x{P?w|fy0C%1ou8BVt^&=p6 zmE5G8)Na%A-ZQ;?_C-8sNUFR!Qy)S*T!1D+bzO!n+0qhC?qFjS%bV=U&Q0VsavxAyoM_?cwwM{Ah=OmC#eqlAWpq}wRgHrIF-7T8Fjh)A zgtb(lB+kSc#*>5bC8$%RT16~*+!qz98!;sx8;s)?*mw7v&+**3$aaBv6|Gj4Fq)bW zvKN<}^Tyz~jnrtZs%h)o`SYy>tW?8aDBrP?S(h{ENiXTy4^SkYf?w0 z&?v%~OnN0HBaORvK_j)IeY3R9?K!n&eR}=Ir}Q)R!p=2iAxAu7@C5KkQ4~>N6j4wY zQK%OUJ2Kpk87BefwZzjqmyBPQ1mTns?VpU&jTWUQ78Jf;fjLCcBU<`)2flz8Xm+AhyriZ=|zdwfgF7=t-ZE}U9WK0Mn)%J z*U%-}(m?Ip8RFR$@9Wn$(w&%pEHG#96R1cs3|hr3UG&H$X4-Yc7#r82Eg50YvGE9t zoCkmv!xAKY`lyP@V8m>^{6y(XRd~BeAgX5^4Rz@RW^Y_0FBwg2V;rTfW{(Tml-`%} z*@z7=M7cwW8h^$zh2z|J-8I?Bi>rtT2Df(SuL!PdK8P9^UYQ_W_gOY=&`mc@QKvCC zN|b|XtRI}efc0^TJnV4KPS&Z2Vur|$c<`~sn`uE-haA^tjRs-V>zDIfu{|jpMeG$m zn>5l`x{_+~e!x}d5H#{+C>Q-LA-Of~XA8zmFaNkEeM7~m|1K0>4p{rL98{pNsYRlH#SG5@3ie&y=lFoIa!V9RY_u5>xuI{MJ zm(?4%{Vwjk+Dpe#s96A03F50kM&SN4mhm}=(dv&XP1F)y>}3h=E~7U0Hxz~3?$Q2& zM=okdK8(bvh|boHeMM<*8I4v~?$|!kNyD}+F%)%GS=U-Z5h1` z*w>Ao;U}<#wM}>MWH^1rg2Hmd?`D5c!yec%Da+wUulSN{6Y!F_`l>N;vcFi$Thinm z%Jl;o%c{|?LnxiKV%wR@-Z42+mV8Vak>L`F?u#ftIOwusj_;)Wh_7-ml0-@Z!?#6a zFVD?~T}2P{i|Wg&XshHFcrWWd9Y+GoOBWHUR9H2ThM1rqzhpDbwr7aEOUA|8>n)Zm z+HVe6%hjxGQL}KOAQUDJ%$NL!xB9h`F`ezvZY;f5 zyq8Q!M|6?%f|ARmSx1injI|Y60pYu*oH-Y#$Q6eIl<^2+kj0<>=_41X zFkhin+8zK|4C$%i4QuK(I5{)WT7W>P(%{*o9uz1d>{QP#84DcHv7h3I*T>spOzcGQhyzjhq)0)g0JyT%5VX$$3 zCJ(-hqAEr7X5@(Wk+sUL>2nJ|6TF7++MRXuV#VKz!LUeLT{ZRM)r~rhvKpr~h^j-skNTgZ|pr$KCVeYNwOo3;6HwodcFWO#}-B6fXDQ zhVOrul>#a^&Q^8+U#W|c$$yx3&rMM_v6ybd&i7o=pO zAUO<@Xw>|mOAE-Ob{4X-zF`QCs3V~3 zlBZkpyUkP>=f2Y&&)=Pew6ZrAH9K9}pP)A`UpuD|y2)#iTD3BjMr#x1n_C)vh_^6V zT+hWqPod2bDps4Yrz2=!;MUgL2uZ;F1al#eh9GS^Xkt)ft4W>Vt-(+r-=wtGvY=#x z@WUX+(YzGAqg`#`4O81MWzf$ZXLyiu@c3}xL-~f?Hi4hhXLemc)aV(Sa_BS-G8o9y zDLQ{lh!Uuq^^HfIWB!cUk(ey2e{ZXVkuBh~J%!)`%_)Y6PQ!8>_<7$V80@GKz)eN- z_yfhRR~gyg3JXG4JN31zqFl595n|Ctx>9hNR8(;XIC!mQ9sKt~$2O`B+9Dqqa2^=b zO)kT-a%kbQEzD3M1R3yP9{M&b*>SEV%x+~|gROQdo08ud-8`$dIf-j(ce$SLuwD(e zlo*-NYM>_;(ozlGC~@^D=&TVzF|~Y)z3UHOi44um92j03F%Bq`3~7BQ;IvO8ovz8$ zgpu$1P5ri=?;+>Zn4oD@AoRNR%Y@0|?D%>1-H$m5n7^KLbH3LEsWIx{d#ntn+uJ+T zsVZu*IaCx`uMai0s!8nu(>##ffQj7bT$&(Nq$3b}sIDrLC7>Sd)W#S;GcrwUU-zmM z`fTgfnvjzE5zO!H zfevP|wY7mRE)l{Vws|2dew+(#0Up6u&K9G7%y^|6_KRb#oV3_DPbzRws^Kz8uIIk~ z%TxgV>z&yb8-ZH;J-4$;-*1VbWQpN;3L63Oe&Gi7ZK0ng@=!jb&m zOdoRfhL$s1WSLcb? z(7Pic{&5bb%6A#1(%7SJQLPPH&oL{e!%ME@c|e^(Mp+()YSQ^5g*!7_gvtX~N&WLz z?;OP7&%tHm-<-$lqJEL8uZ{}DDVJ%dRK;@?o+#zIF3(Y;2&W$pZM(T0boU`0-iAkc zf`jh1SBp;XqwZ(*SXhgbX@khQGD|Z3dVj5!l2mF_ljJC5|NsMkit$(aPe3~qO<_n z*^Vb%kS;8|KiQ2kucYftE#+2lCDnK682J5Al6iT6E?_y!E|@;CmEvVSBrSf_lJXt8 z3UtDz=WE7()qj6UaTLm^<k%$o2G{_i6IfPb{V-CE zu)?R)(gKlujZC&fyD=^vm`x|p(}X>4;}(A5#tnnMh^#VBMjGjZO}!I1r}_2K4@Pyr zcl%5hQfc8P4+j&bMJf^_0oR{quR%$|WsGAaL$QKtY)OYt919lTi_Y1a0Lvf@!sbEe z_$?DGn5g+FP6UDt z1aGpOAI{b!;VW#$anl$Hs&i#oAK9QDUFUtugw63}~4cn>k>M*k@# z4dg2ggC_G?J~TQp@t!V7U5zz5=@*Wn;TZW&X3vH>zPe4Qz6()*9f9zIKfgCRvrq^M zV{5V=3Lk15^`%$U=J03WAF@X=T4E7FR1z{)A6%N<4wNghC?Ia|;;j`cYC5M9(yJeY zV+F9-An1xH2*qryV0Eb~mee6SM;**xOag@K;e0Q#dhy6a7Wj-tE-j9$w27xxeD(vb z_fWoiqsICCrip||O#{>BWTl<8o@+jFt(NP^2SHgnF&_jo?ofVpq%*kcz(SlPFOyqWAyB+AUOPn=f1?#h(e6;$LK zHEFL3nJn60na01Vs}vtyEb*H!GwPHo(SnILKNw5*B-wXw-~;UlyWdtT;s3zs5yZK0JDLU0CfUR*21cAZSzr!4dPwxvDPM*6}?ZG5gP({OaPTytF=Iouavc;Hz z>&^@-#b@Jmi3lA(RgSeQ*>Gb^EeZd|0^6Q#+ZEG3lPSrL!dZls$^wi74$Uj+v$Y`r z#B%JGme$@*BSwZ{b{JRw3B0)4I=fR>NSdamogy9cd-#A^#X&{bA*)-19OccL(amV8 z$3)M8C7#_&mBLUP*|~o5n%Ruz^~{WgrM$R>U_YlNRYIiJ$qCqMstWM~XlNp`K6&=IE@$#@=0=i1h=$tOM6IVJvCH%3K6MgB2cejG8^ zI7UVFGmdM8xQzPMiIt^m_hu!_8MPd5G%u~Dvb)W3rAYD+&wj=BS8EAi2dag;(>nitW|Y&hlW6)~ zS?%R&yc_-&A@-cp`9nsaXKOHP5OE;wV`KyXtSfe`rjVQN)`6)P%Qi!l} zZsEPar3g$Vi84dck=(M&y$~4Tku{4OT1mGZ1GZ3P*{v{V@ZNW`9^gd;cch@H2~^(s zN8cbmbe9zqAzkX~s&zK9S$4F1tIj z_%fH(X?+(>aD_7`R}Y`VP$FKkYzx;LX`qeZZw9THwh3=%!?k-H&n&5ubo+g&x`WFJ zxgkh_cKPA(Jo_tqiOb346JSxZ!UU!S%aY_8cS=3HZH^X4Scqs{C9RHg=~up?UKSia zxmONrsza5>0K$6R!1KClhYF7)YVu4cUJ28wdOT)Ht_ut1pH^2G;YKiLf*xu=sC*{R zh^%hy$JafifBmMTuPp&SIIHJ}kk}s5>q06m#I0O5*ik-3aid~bFc=$@#bB)tB40u~ zNzE26Z&cV*1>uTihsKo|yq3E;pH&4S)iKTtWrjNgrfzNeXb}G(gjqCMM7%#w+PJ#N zs7k(qnX^6nMbm!Yxt8}w@3+{-Kpd5-Eoq(I9Tj|pS6QWY%0*x2vHSyQ9%$FKQ*L7& za1BS^Z{bw#vkO^MVxjEQ?3;3^o4{9CD*oXb!n*g)rpsWTkx|b-#Ri^38G~@o+GYYC zACk#STR_WE^Y=rYgkijEF`B=N4v?Pi-{xhl$fRu@?B+29(_8l2#Xt6 z<$*Y;l~>Jjn#LBaq!6mAZaG2!c+J!DVC}l^;58;Ba_TUh(|5<`nOAx;Fu0c3%wlQo zD5W7;I*pc3z;W;7;<~>}dhMn*OqYC8XJl2fT$p0@q}Yy~k^2?<+iZD0`{UIt>{{i5 z9)+aaFYi(o7-y|~FIpBeTda3$vRL9L=-eyc8$C^q9TEJ#AYuf3EcEW&2B+@EjbR$% zKf<@r?u_@vUdZ$%?6P`2o(MaKM*+fVj@C^NiZ>;8 zdEs(+xlfF-kHJJSu8p{c7v$vr?vObiOS>AR-axljlKAu7!QJ7=$7vzk;FVI5!L z91 z%H;hFJ67nb#f>Y&cUh>N-ZMBHjk=){Vru;%{M-`S|p{RR7Xa67+CzcU7u?X>a#+u(-sZ#Ol@ z&PG=D{~;w#YHqr$aU%I$8`LLxOECxd6ZuSTh{*g-hZq^W=XSRnE?QweG1jRewGd`` z*>*7F8604*cX^tDgwU*3@BXO%Ub48)|MkQaVk z9v=-^KV#W~VkGE;EyHhnL{s`J8cA}eCmkkI#)Gj07&cY4biTbWPup$7q1mwLsLa|R z$f^6oh46O&%g*1W7c|5Rzq_P<0!UL);DDIs0!SCN_axOE)6jmM)>LN>)nC9WAFPqj z3#_sIn~eAA*uovLAITLcX^oT^sw60DB$y{D95RQ8stWi;zHP>>dmdOFf+qFh(^ z(*4;~=Xz$$$j#{j&PC8(4T&P8K}IJTx~y;xXHXj9`>mVS!^ae@+*avI--vl0FK=tH zHQKM=rJIjoPPO?R;m(4d7m}XphSBQSSPJBkB$o8T?{_vqPY5AGNPXGejM<}lyg{1< z9K_*nT}f>4H)WkHE{c}DJqqk9Fw$GqDo$L4yI7l(B>^HoH}8^tehk%(c+xCpt=i$c zdN-HH;j+=m)l+@m*QA=NwF@sF6)^|ino^70oWuJa9j&@(-8%jT@mfFL93RW3-AKd9 zWj7}j&U@g;T5?E|m24-m-PMFMv0WyZeikgW(BZl(;p>=HhE4gY#XHLIal)nRZ!w~Y z*d33RlER?;D9DZ)Th+UnFuJ45Dc@wXJkTBm^s^w%Na5U*qlrPIUPi2_%V(oXAUQ_PpoZHRse;!`HzQ`?= z_EIPoq+)k&q#g5QVxLmKa|Y7Tmyo|E?$HH&X)@fbsMt(YznF2AiSx-ToH=?KgYTZD z9W}Kk&F?;OB(9Z9Sl1$y^F@VSG00g9NK|}-uJY4_bNDHH6;`75d$~qTuN%Sbhm3Ex zw@U!d!Nw~ZW13Ct6`8El&HXmgnc2LEvUl z#PRR@lBcp!&K5VFeXZ=cxE8Ovy6qqAxA#pNlC?4J0az5xseuwkr^c@cflpkviHYK8 z#yZ}eTql>DjLO%tw$V*oDs&8@ng^iDdQe=X)@pdSY}Oiq8{Fj}T3MBd-*~okHXD}= zxpS0aF73%$KGwhddAD28_VtpBF4TlGu(f|dn|U_a7G+Qd^!+^R_~CiZvd@QX+z zqF`*eDCA+>cqZdhGT>7;ET>)Mc%PdQuG3jeH|-r~UexDa8a2r2z3i(VC1!T)BA3(V z@pydB4cHZ#HDOol7tL!og%#QREwE+w8=YStSi#yA9An3$cRQ0!ZoiGDJiOf6n*U&) zmao2hi7}(!GLSXL^uEsh1poU^&j|XQ3j_xOLc{oP@AQ9H(ivOXni-h7nYg+b{Jn#> zw6Zn&FQ)GQy@LO{fM>f}zYp{_<1{DlKWet``pB#T)gZdQu{fA=!YTydnT93OCZJF$ zJI_&JyeTdqkM>{ddU{Bno-07%AzcGD@Pfc^>M!l|GFNbLlh|%@p7V#fIX|f*q4glG z1h64i_a$&CNMYu~mYf8!So0g)<;e>*zA(7h$w}hU>C({G=6hl zo(kQ=!h^XVYmb8w>=J2mQs)!`9p}c@EE{G-<>t*sjf^|Oxkw~~^SN$gjZAP`6S=cp zf=z5=f|fiH?Dv%BB7>VQ-_Jwy!@SF$$VKhx!3O~a@)~EHhw>yNi^fRz?d7E9vX~UC z8|I^O4b7erv6p7Id1)ZO!scQUw?8mjs5QrwXqD){2R24I618GdO3idyPPh)HL1~x2 zNMwY`CM^+b6+)vJ2|Gp$Pn4Z#E2P{Tm<}JpDw4zHOX#^-y|1FsT!4WP8^32jxMm77 z8>!O`8M)yVhE^dM_q!QN(R{{owav$!q-DE;P(i zj3;&$`dY{G9){ARGfQp&<|_?FOY2icfK>sJolu-HG`#e9;UfW&li-JDg2{F~f6m*g zqS_=qrl5cxx~V@8rhjjZ#8@np`Mu3bf}5Y0URv=zA(I+^*xNnn}dJkVSE!l<}e`*`zG>*@qS8G4_g_~QT zdOD`ZC2t~S&F*LWl41a#YTwpuwh*m~e~tV)j0;EsG~_^YlHD(mvR7SDzppsf=X}qt zJ5vNcrbe81yMbY1wN{_@1?=ZM*j1hB|EXY;8=wH@txEFOHRAH)8`(alM3n@Ds? z{VdI42eKe?`4nb~@YU#HL|Bku-IV1lp+z1kOOz2i@z*lYlQ+%|gmX**~x_p5qUfa!|} z>*H+s+ka%|z$?6Mw*Op*91a;1p2D7s$cBvwF}-tZiFftb6y|J`#<7wlbZ$ez`O8ox ziC=?%WotsDEs-GDJAu_BNyoZfR}5I=#)(U=+YBz@?X**Fk)bZT`!l!t%6iGg$CFfL z1(%&eD>W>O5Q?}^o_)TLWz2H$+UR2;VzmBnWY6zidGyePR~w}M3*q9x#RMk(HnSBn zojd-R+lQQfpm;swhu=$UoW@fcCZv@O5mCXq?RSIAFn+2-t3{JMREENbM$E>K)6V!r z^a};Z`64PW7VorAk0@U^j1!LG?FtMPq>Hv3!)o=wX2H7gD{f1MvW}FgA@-r|4 z@<@~%!brdZ1dP%6RCRmDLl0x@#>OIOFl)SP97lui-MGwrTXLyXG?#7do@Hl!qqF=E zwa#{N+W9e95duwvMQz^MBO5B@fY6^*5tGhHdfp)GM0Vo$uiVNbta3DPW@F5#s2K=N zFO$B^n=A9Xj<@|IthH%kIu*3(o=8IYz=t*d`YBgpOR>JF>z)NZA7^tE>o*!a#M{5| zuskE2nU6e6eVK7N{z6G(owB(m&O~U{Xu&*4NNhs^P||)UgPZ}Uc$UB3>=?lIu~5lT z;*>&0^qIqKeFZ&?oh?e@O$%mMuf4HP#TC7uHo)_%G%<455050jq34lwg3_Ci(6*%~S zp!_=?Y|0#TJiYC&RDl$hYYyEj5j;%~2U^cB3r#`{WDsVu(8hRvG8PC$A)o;?+;x^_ zrc}>RIQ)M?pGZEenfbG%0wfrYfsh zMiHiC%A%5qs0FhT`d?U5-lpNC-i$@LlY-!8M~8y(pBT6y*acyLr#cwlIv9Tp@HYg1 zrAX?lsi*`JWhwASFutWIhU))tNrf4elidm+tqWX=z0_Q}3*4jWg~bdE&ld}2_yOkZ z1|Bp(W#gY&0Susxk9W6kOAyMJ4SHS|yE_e$`k5jaZ`f@pvzK;oJdQE?} zgb4s9Wryt|;ypywe{wWLQ&$`2J{&0r~y3&)hk)oq0#EUVA6|2 z0GKoi9sni<@J7u4A26x=jvRnD(lIqKU`X}XoK52%3}58U1~6wcUHoIt{$DUDz?>~n zSWk*KwF%L-TH&TTMja7BW>s#sH>=sI>cQr{aVm%;it6JOaahWsn@m#`#p;zE zzWAuQWOs2{sAI|cmrE*?gMhvK)b*Xj2R(}7UtH3Xe{o5%*_{8H6<9~S7S9-0$}A!L zIP{kOuUP@tr-a@HwZiSx<7i;2drJmW?v~OPJs`iIL?Z)fRTI0qVH>~z6bacG|i|+FOo$fDZ%16 zS+r4r9-{s?d5MqRa^WlHJnKKna~#qfHh%za1y_9H*T55+MLm{A2$TjJr$RV2ZRCF^ zleXzrM<0B#q!gyrOpR<=Sk-hSGcZUQJS8NX!Hx5Zm*Cp-nOPx|MdWmKq^}g6{`?X0 zbU4QSKuA?TKu{=tf2{7VnmW>jQo_(~Il-QcV-YpcpC3u0qqu&Ne%?<8VWK(k;zuUg zXkw}KLupZYqN)r_ZR>AKcs$ckh?>WuzAQ+od*2T1Z%bI^Vho%vK(cP+g_UQ=lD}Cw zPb*^$tH0<73tLB@arcV(Po>(!fJRF74XUreWRygad4v6y;&su>SP2pdj}QE0>#xH; ztKY;5Ms}7nzj}A?Wo-1}c)YzTucB8+0tf!p5=I=L@joy4B$BEcE<`P0H5o+@_B_2~aJB_uxMa7xD24V?f{GaC*gALg~p74L;`@nVdNk zhg(0k5pst-@w*?hN zd##Cbzcj<%Q4LdQNgsH(rFw9P<7lC$gliUCUnM?nX6wEf({tm=8&h*O5s z>79iEFlM)yyE>6kC*_~`87LRhDHDrH%a;xsLt?SEjP&2-@E}t8eL(w@Z1aFP^vtd) zFv*HgK;;t{B^wI}OYm{`KrcD%?aQUd^($%meE26W#1*~EoHrTxeB&Y->u%4bOEnZ4 z4aks0c;hrQ$ws5Nv1g+Ig1t?U1sh`vQ*t0jwgx1H4qD>)>o8M0w&)0G2LUNr%^0;K_3DSe>`)nMJ{mmry#IqX&B>mC zCS>$*aRy1n5dbgm6e<86F?f=X_^uqSK)G3NkUQITrIi8BGx89xUMm{<=9Nrw>j&DE%H$X+SXZd&q0Gz0bh zo9*55^E)VV_R%4}@38>}VW0MLUT-1Ka_$bgoR=E#1QFH~UM}NuDv!}P<*T7G2 zxIWrJfR8)Pa0KNb2PI2)loB1)i%>=h;jY;DlcEH-P`9=R|624`hAD&B6ED6%mOIbD zj&ZBhVQNY_I8kLeLicu>+n2N73Afn73VZJBbfR(4*h%EegRidYvxj@rt5RTA?9(_d zP62kBMig2F4QVMtl<@mi2E#Ib`F;d}9ZNRPABG*8mq4Ef9Ivr*ULuNsEffCOIPx#@ zZI$A*-;J?*3ku`NvFGIR=?eHcfVlF!!$dlc2|VS(*rB&bnT)iu7at6s2Ul7j6GH@Z zvqLRU$c76j_4^!xQ4z;=KU5I@WLieLp#4F_i#=@%$3bF zZ2wNbLwjfp+k@4>Xi-(j6PeI(3QGUKi3COKR?_N95+yRq*=!0&b)q>ioijIYy#RO! zWNmfRJ`&?#MqLL7RLT;?OWEIgNt-BI@<@J{UH-ghCR35(#a2GdA928pNoov+wPg_~ zRA~%a?KC<3v8rcr=@e{;EC6%q<0R1Ma^Bgb+|ZX>nMI+3j@wV`xK&dQ+kAH>Q@&Fq zd;#f*8tPaZ$^{(Ev(z7>m+>r?NY$iG$q37aX@in6*m3`R)Gr-K2U7OC03W>pg_6Y; z_)nRY5;RhEk`%VkM@LTV?~sbESP1@O<`<#5lR%QT;xL4Ppx(R<9iTt6U?Byq7~x+s zf#b1c>-8;yq~;gfhAv{_Od526F`Y1sz+0DGf0{4LS((+Z5HB0NT=5JKIyD#!iO^8M zI`TVeLtxOaBj+0a+H?hHEeC!*w}q}jrZTZGN*8m|ruhVQj0Me8 zYiL?*_%-U7+n_ecf}GP)m=rN(Pr{uQZogQcFRwA*5u~r*-RVt3tOAPD0>W+wYAfwu z%>#;aZ!;2kH4Lw{ybbaD+(Zpr-Z4gdml~4=nEeFRG)BH!Jhg1lCkuXAD%;MeezV$y ztkWq|Yjx-)Ggd8RJ%U}}SQHG~_#(0AK-0B=kNoSjFulNiT3}&Q{cP)jGXKvNuM5^# zGC9HDY(aIwm|LUT3nkD~A+B>qM-N99}>ZElcX`1C*VVo%}( z?EHV62kk3+XJ=Cj3ZeTDCCsj{!HIoFOUn_e^`zuj-;7wsL(MsHpQhzB=`ZT(#_e&p zlBj2Gh^*NAW!KKICS-Vi{iCBEe^Il;fcm?G_^rT77c{-c2)&F zsom*$yY7;M_)vchHWM?7|B9@EF<(r* zf?YK_oGa6Y<~pTb8Gw{`t%0h!ks+x-bO#kn0lI!helH0^$E|t7T;VO6AbtXPlxPYh zunQ!Z3na7)!W>yo^V|V2Ll8P%(USskQzJD~=h5SiB&Jr(=;ZN^8Ik50F6Az2_kV>8 z3Jw1Ugb1~1fxk8`hS_3ze4;$zKz1K`(&w~L`F97A z*mc6w5>hN}sIDi~7Q+kBkd}L57hV=k`}?np!cR!zQj&2rE8_llHY&4s{H4wo1{T@6 zOB(99pF#*t>w|*KLJdQ{N%IpF{Ul{ZxL;U=Z0JSU)f*8UO4P0A+^DEQC5nHI2OHnm zC$1K;tW4sR+`W_kHl!ymmBfQn6v9?X_C-ykxcS|2cFil7l&Ct%$Wx0;)WaoAHkEf5 zFPzFig-9pKFqU7e@@Myh=ZEn7uO2C7NNN8G7EqOBd1U;dlc~ky?q(8z{llgO7(;BC zIVB_JC6CPCJ(w!At-p+vYXmW^?m3YwFPXZn{O3G6otCs<`uC#o$PvV6+(0;BpIL^r zzd~~7X)+EY*y{yrZATJZ2>2VaAmU`wga`G{)Bx&SE zNUfH!W==A%)A`E!;HAGePr=wOS71C$6TFOS`H8;IY_GKphV>i{RWSK8NwQ zmgBpD%%f(lDcQeeKxShu#&#aE#K=b~<2n>{uSuv;+>X_8pCL}8-=@8&2Ms6lD|hGw z`6cWByhEF%5X~!Z0r|=HtP~oYp!vM8!vImjh{+fMck_9eaXs5su@0qio#OL3?b@5$ zc}ME)Qq*2V>X{)nXU=S^^R2nGEm?a7XIy$F<~3e*;O6>Z)zosm=ql91akv7Xnk@8L zq^bM2!@jgx_(rF|t9{~-HA#C;%TEzFY}JOQHS>ABJbEUq{?CQ4EZxixk*J}>3OQ4A zzBjGI64IhJO=HPnnWzT8I7xaXwg3J(D{pt(icJbAGj9QCdmYB z#dHfy)xV{r^p{pJ_nH4gssT1H*O!^Qm%2w288Fu@k2W zi{ARf5ZVL8*N|_Pi)0c39uuWAy2B>+!v*^0$SvE&+TqgKG|8ziXwj0_@|R@9a}mNV zLE_wpvsly{`H(=%V3+&!JGbLV8{^}9N?hbmhllFV^Uvppx^7(A?Pzib@kc8^#uo+r z=~&}6uL+|bUg<-Xt*)F8c!0oq5!Y8&SFg{#)!nh)$D1$9fZ*f)vit8v3FN9(3l$)V zs3`uoB!c&Em)~|~wnp|2c18v!mH_CCmFfRa3R(M`LJ}@P-WZdLbAXz&Vv?@RN(r$d zTG&!3)e7fLBR`)?=vycwI7UZFH7`VvHBb`QGpM zhWV}#I)2tqTFg0$&)-}oQrGpu^OA#$KeZ~y=;7@FRkN%Qf?^T#4f^pMgKPzy2-r2I zcXIHQ%5jOZkP{+okIUhT@eD5zs@f5xYV;(A?UKMLN%NF+2h^B!#p4wyP)@j)4nqE< zAtTjjqEuSz59QG?{Jaw;7~%56&opK`*47hCmuwzP?Wk{|18G z>yr5|lnz8b$4`HUgzG0DV*2Nig^MCeX^N50X{f(G&#K3l>VOzWBoRzF*j_1ErSb@px%8YY8EyeldkoXY z@@02u-N32Tz-CPL24}#iNWVU#yg-|``rV%i7qhR%?=U|)n^bO8F$$cGXT;s^zMmxC z?2#W(VARX*$E2GaNj3G})Ls~$gjGU9cT%L1nYrslKV+YWK^bsf4I3q0y8Q@L=cPb| zHW_d+Y>3d9IQq>F*7mA#v}dTq>-ozN&_#lLK8Il8h=*dY3sWgKz4;;SB9o}3o6O>p zOK4J)63*n@HGu$cIw8jMdktY0hAVrdx*92Q*7QCYWK7G3jL2w~H$W+!6}+ED9Ph<2 zmmh>aV_f-Ko_umZ8A?U*Uv}zC&46(zH6pBLn8DIqV^Oowd&Cr_MSUKLF=wPH)pF-k5zrF;e_n<&*{Mm0=@ zmws+h_27}pl%*xU@Q|7I48z49>V($&C5n@0jwoNI(hD-&7GzK;(DY5&DX%_4Q$FOm zDh|^Y05S)!o%(WeadPwh9>4hs%s=k`Z7jejB;qb)hZMMW%29N=)@j;*|c0?x|)_=UNL%NkZVz>EmLB!Yp_Ji7t5U=yllPl!S%R2Iw3iD0BlPO z=(Ig(?xZvPlUNXkdH}~u1+arLqILj>J?It|`D`mD{8lmWmbWY;XLp=&3w|-%tQjsn zpMkn4OPQ-sk3QZuE&uQv+nSq%GZj>53xxoZ4{>~#gSpFMM zIZDXut$_%A0W23aj7M^sQEDzGSff$F0!D$LHAqPpeZ&x#87n2G;W(^b3$TuDQ058g zq;%0B-3QKrEM~y?9Q+P%Znm^{lms#@#lt(85)3zu+|P2=QfdyLeJ=&4;nWsk_`7vJ z{?m&e)C%$E3Yk|PKaCA)baPH|v}A~QvoT8eX#Gh~fte0!N{;O*yt%9s6TxM&WX9B}t#)21&L%m7j;&ideMBl2@>*hLr z`?jOhfgbdAszHez5G@&4>&ctAEcI`_H;2uv-)7PPJaER1 zg8pzy`A~VO8}QLG3vk+K;cPfAy#=^soaUAQS4`f8Q{V^H>n!cNG@C;j5M_)Jk1Jb+=N^WO)BL zdacwV8Q6FKRelhwn9W%0zhuZ;0}Tg@rwZB7InD_u?Q~+V$*q=NKqO}i5M8GR zU6tw(0n3OQDgC{Uf#JJ0VRnD~=Q?ICx_^B3L}YBHhrlm zQZz7Aa*)skk zy2gE10*J1Y&XL=Ft&p+xg%Yiv3b1 zO%_e`%bWe$Mnr}=K<%HDaA?=wWTZuy1;CzQ6v-HOJ(2Nfdi{s_u9tb|cc9i)XyJ!F0B7D`shJHDnEd|1Es@zQ^uj z%abJ|wgqQ@eJsbU0u6gB>J*XFI!eMUa`j>DeIRPoEMiqkdxsGCBgRbATA7_a6b5#r zF8Th;C$7ZCY(6mFS!Jrql)Zwd)u^c?CA%N5+^ZE#4x-R!lo_f+83XW$w%JGvjkw>M zsC11j)Z<#J$I-;Xh>G7Kd~G^qRHh9D?$3bg&U5mS)t?~W?BhzDqMsU-lV{#6dfeEC z#-Z~0uPLUw9MdZ|RaJ1%(>PX&{4D_ewW+-A(j^OyroyAj#J%~Bn|9ZT9dpu(>i`2Ty@EpLC459s#BgdrY8}1kh=kNaqEs1 zUHHfGopbU#zz3bB`;Iyd4Vj*J&36&Chi!p}q9UJ0?8xT_{66|OOARBTs}(!z6}iD+ z(OY)o4RaiGRGg+mzLZ6G;X;y0i5C!%@6}7TLd}-(x4AkAMTFKZM3bOg0kySQ-s6je zC~DrWRd>HZ3)T3)K5!(3l^=@hM)H+DH_#q!O_x2N2G~Wv>tP}KvNhd#FnztEUcpEN z)4x+1d?I#iFATaPw!W!-$?o_tU+5u}*op&Y!xIbRo$qpKe&Pk0Q!r-2{EVl>xw|@v zM7YWA&6(Ys-v0yJ^X>+QvBKZmo7T(!@_W?x-%C=VHE<(4nqV$=Qd$Xr^trMk#&|?wRv@O2maOQlxSU*2zHzz~m4*mu0pJ)ijcYDJV2O zv%imMu4L87+b6kj62O6rMka0SjM*N(xD9Lh^+z5U*>yV-BWiL_mDTs!Cr(0MPd8@J#ecOA?sAEsU*ZJ<)l=v*aimAdwcCe|w@HJ< zS#$rA9J%wq3|cL?0u@jk60;ve*QurR)W`cPzwXOm($ZhOe(rC4 zC??Y{qb_+5=Rh*`!}n4(I1H1W6^buN?kDkpwEwHU-n3Vo^ND9_)CoNie_fOb_J~7F zy6ZglsO_5Y&SNVAv?y(<{1Kjho~X@*I(cf z;qF{_HAi(|QP}31T$U2r-{1)FCs+a-)E2{Q*H2~vCPUhFk^Z3LIE5D2l%56+8E|YBE*6^h4C~`CF%Mur@rR<%OaF9-QW<`y8>)o@YxVYpuciCE zwRd;EJ)`v2&Ld*s=I>=PZ|!L-YX;3#!Hl)Q>>YGnjqbZMZr6EoD*{eL>N0VGLagtP zSSx|{%@SMD%KE2PJ=J_{@*KoAp``-uu!`|I z4jIWTEKQp5M5Affi6tF2lPx1;wU#fNK$c;t>g-l+?$I;w))ZVn>#x zi+(blA1!-KcL#F=$8X^0O@SGzk3R)iX3m|>%r%+RY)Am8(qLf-2za7t(m6w2J=;yG zawT|Bzgc0Um?k)UW|^AtGAWlXX?vMEi)C)D5VGC+qNcy{(5mu^~CjRKR zULVSbcgR0NiMTd5i3>3gZ*CK|$qKJKT{+na;S}2L-Ib*PSgpg{!L((jexmss)PUBL zcy>a0*P@1^Zzbgaft@b=qu4J}&t_HvSeZ;#eq2>z!f}xAp(qwGK-`aZq|c96r@Mbf zrUTPGDO?Id+`%Y>qPdbSD(%YxY~U~uxPWF$h>$=8(iLh+h+qp)z~v>XEPuBL<+fmPgYKTIZ)< z7n~QxLBAt<%(L8A_VLPtJB6D!0sLtTwiAvru7?#7^gSHV$x6xGzkCPK>TlQ7Yu~qn zcgXv=0&9RzV2qfK&Y9K0=Y%_WNrfpYF>Ly4s^XG5`m3}CG{>q2QU98%Si3!0#Q;j{ z-~YWimI?@XjAkSQ$yjgO0g~40j&P~;zYCLM7FaxR%d}v%KVv=dAmdI`HFQP*O6yU7 zK)}-t2zW9j?gXrDVws3vweA%EqqKglnfi~?TBh!w(%NWq*L?cl3Qh=nR?_zZKy?gv z$ikE6o{fQS=A@ZfG;rD$0>x^<-^GXDjD5hg-mRcnMDg8DxnjhasS0j2PmB&_Ni`L` z@<%fl>=PASc5gbJrDW$*jaG23p}9ez9{9=8-l>S&fg(-1&~l?5Nu zA$AC=UiDXMeW)ru`FMR$<3FYL7gvh>+J=JkvvRy1m44G!wn?+^E>SKoCjBdqIj1nR z-g*XlEc{3bJDL1j9y=bL&L`n)WFrj_q-(a+#j2?M zTG{gN$|YwWL8ax3a>q-Eb;Nw1*9)SKUi#f7QyYmf41%1XZcnIv-U$@DrHHWhD=?Siw7QNq1M z?om;--Z*-Oq3X$2&Wcx9{a&V8XUXoW8rwyE3^IHYzi%SfT$mMsA~tYRJuvMO0W`Mb z+_$qv`~$j(5>o=D;ZHU9rHzzQmDain`D>)y3;h^e%8*#OhbZ#G%li2G@42($@aCY- z@owYhE-(AZus=+aS1JCRn!2crme1Cv2fH*<2=9ZRlD-~HXL<GB1%g7|uUG6dtVq5sjpa$URo_I8wcbT&OtulEJp`@JV>Je zkO=bsXtDn9Pg?$WQe$KA&u8u6ZsYdx+&R1*(i1@|xj4@h*a-r4Or;U? z^Dr-MU!Zo=g=yGZ@EX9b7sa)sbnFfi$Lw=YzQ3W0Q?=jk%>kWr^yMFf?#dr_Kyk`t z#RkD)1w8wR6dS#e1v*G((55S4`n!f9>C2l~M)gY*>k;EIL8!wDV1NlWBt)W6iXNcz z;Dgq6X!(*7jNjfygu{i<$Hewe&x8vYUor&7ew@RLu7XElZW-Jdxck6Y;Xz}v?`lLn zhx!qL|Ja{v&8CehbByhm4Wr@W00%ad?{jiv!pn6yk4bP&{YJRqVm83>_#e0-0lNA)`r6QRmv0J0BKZja$q zh=BpdB7qw0!zFVdJMft%Z(ygW5oWkS43B^Ry%w`T=wa`IZh)Jk6{c}fTkY#B=Dia= zQ!pm|NyfimU-7vN@J%7JA1;Tt`5TrZ8CJd_Nl&bA^ki0pG zi#)`_dZ^cL`sBy^hR0u`g3kz@pB;VReX(=lPW<~jgmpLpry?harWzz(gmNw(ebiYb z#B6Z;#>P}qEgKwkG34w1O%4_UPL`V&UkKG;2o8S`k}~b05|dZpCS>D^9=J0R@rbN& zz;k{gmiUoL@M}1cDc@MheWUcqeQKPZ#t;*n5##7oty$nf>qY+c+lDw)=injQg)oI-K*4W7{eMO>Tot&e%c-8a2*=>TWGJF982eG!P4SWISl zK$OEW3R7;pC;VSz^WAY95alHPhiq8?kVJ_96j)N@vgCh}4eMXB$-d;N zG?r*c4mxv^3WrwPB^T%ps@K>JmgVO%jm7)EHbpi?PwsHMhDDn0 zyLia1EsObc&yG=Z>TOcskg3X;Nk-d5Biuw{ObEmkb1hE){8@>3k%i*^Q_0PNiq1qS zty)P(ie;}~SO3|NO~8qQA@ljd9$lz7gjv0f!H7MdkO4P;Sb+m)`lpyLa0c5T6k%gV zyJ6=H7@~%(0wVfG^btg?9h(VoO)rP+!QN1OMyw&|>@ZTAe9I5p`|yJ4y8esxS9-Y_ z>1+IM{nTIus9BO^Buzz!T@8p;2ez2UjO?V3I*q9j9Mn!0yfzJ*Z<&Muv_T)LE-m|q zHYapLxv<}_Je}cd=|67`+`a#UHi}p-K0ejVHs1F0m=Jv94EXE}KB3q3IQ~cD4(+%% z5}@QHZj%?tgoc4=jj~uz)PYC_{8s@Vm>p-)7xaN2A`u^#GfjGOD@;D~Le=%GZgiw+4hhxk1!~caEaKDe8(imO| zB)w7B9urP~;dsxK4wwkx(FolXjc4V>w#~r&j)u&RE{o z>2|7Go-l6j7lbpYg~R4mMRh|jA#dP zh!KU!H~_q7N-?uA?DeRHs1OiGmRZ!%Kv^X9JJYY=SUQpXhcqm>Sc3#$$~RP+zsF+B znh`VNOLla?(O#vXr~2~iLU{d1=LeZB2 zm9Wly{|fuKEN55eB(L-yYEax z9LZ+BsixgpuXJsu$Z)ei^f30cq1iX{_{4y-CI2eRY#R@-*58PsTw}p0@{~S#&7xW@ zWNiER?e^pY17=sfw4On3KK+?eS3to?_s}kBY10-UgE|mP;TMC}uMu_lo>;;Q}lU45!2u!6HRqP75GhzrS&r180W`P*mr6+A%Sg@X~IfgdO97 zbgY1+tB1-&c~x*DIf5|=(Pid&Isp1=fq-3syyqyoWO!%MDvC(D*M#muX*Ru;x%;K0 zv}-_q@;6`kU2$K)tLrqL3Yhe4c+D127r}@r6#N&KKDLU_izPr8rJ= z-@MDnbdY_Zjs}LP-^8EnfQyQJci)mxBze6w2(ac-xVnZg`S%!Rof6dEJpIqK(;DTvv+EMmh2w>^^O}Z2jkNI>;L14|Bxe2`_mW<0 z{3QbwJr&Q%bA}U-!1M1h%=cU^t{mUqD=dj?7G3ZZEvT^XGAdDvD7il@8b$G34M2VX zKG&j?Kj;TBvKpy9adL53BA*I`cy?yYDdn5^m#>H~=sQ%jDxyEdntk7dTR6_P1oAdE z&78P9XL<6P7fvA~O)XeeiO(SB)==kBkvd^ZQH*$!cj@k^f=iQn6g$!f=%ubL|0{jT zVWn8!MFd~W`%n5Z&%x^8pI{&nnLFnbi!Hw>)<&W|ej=~T@U||BJ%7!p+NuLXvN zH4PoBh9-_0(&K(xG9K7B=MyG1_guX<1{?hzZ0l)IJWL(F3eTNI&tkz^VBIMFV>646 z0drbu`sh4F(a*n3jU!GwHqYFVPJjo7h(MHqiK3iw4f=0Tg zOI5Co&cBi!=T`0j@C-?6TK9!pbWmqKK-B)&Q*$9RLJ!~>J!`)+gKD|IJac&#n(~)t zxVQiE%wS^!J0(l)e8A^=Mr}woXm@jUVwH*Dk~YPT{QJ7~HTK}N!jEgG?=%911T#vE zFo2+i0G+yIFn&$`e1e6dmw&NyB0ak~E*MKq~?c79T)FomsL~imJ!9IFG|Uq>^)eIS;p8 z6L;KhmlUtWw-dOvlXLSX?(FwscSuulNx>noX-`KW+Rj|n$oh5e-bc>V)3IF{n|syE z9nXyw~fM;4jhC?^n3k1BeDx{eSA7VgI*m#m>y&FU08CI+>aL-(Kf$Y3KrGI#IoI z^$hCit--8cD1)Wm846?~Rq{3%qFhYH;?FT}Vo=0e22-j5cHDKz(tIN80Um1t#NAlW zS>Dl=o~J>GAd9Kmd`Fc?H4U2qPx(`{DHB1KSsTG$ z2O07O*$0nf@CyTbp#6i6k0;wV4lwU#$c}_jedCLl$Dk?V(}E0tfW}7CoChK(oCkT8 zQ7U)^Hz)>bzTF)W1nP^cyiF)bIp8?$bDn-Sz#EPTfQyJ}*hN`}Z8sZoKOlZgC4y;( z1-$Vw4km#cBn%kSxOR~x9obzO0()TLm=XhqH=61tsA`J&^*SD2pn{Kri~OP$@feOC zP>E6ua?i*tud{-eNf7SS8WJw zsU`lgtl4x9=sESJGu^CJJeXF1rj57#Ttw` zt(tWf5W zZc8tDE|#Prk{P}?n;kQBUg%l4rpqE$&xyP=nH4vAbQ`vWGl_H}ky-VRQOGpK@n`q* z`5Dz*_WAVY#!eF6f5z;ytIMwwC`21{?^%f%2V%=WY+v5Q&K7R$iB3O#8XH-z>f34m z%;Ls99?8EJ#cg%O)mvmef{w;6oG;5US-*->M}2o8$yB&24153l{@okn`I36Gl^1`{ zwcoom?%mzUMzW_^E5bNZSBZoCNx4u{Hd+pimFvfi+%FDVB_lqIDRB~MX2hYVlzdg$ zkVR^yERQ|z`20+Mt@@!^P6hEBJ+otqH#$@}v8c*ui&e7F%IyFvJ4e}vqHZP}zdRbuDHEI(U zZc@|C)C~*t$e`Z)zPV#at~%YRdc&#qf=#BTwH3zJf z3wbO8FMoXDou77gFGOfyY@2&iuVD|kd+4~AkBKhC9&dbTF5u&b^*l4^@nN}pRbBqd z>O(i;EZkO#;GlN;N!);=^u}l3&g=26wB=naAXDf_l{}JFnVQP9js|MQ%}pd;N01b1 z2cIHhH!*f4cmxtWr{MU)6*GNg(wt!*1R|OK$Kt+xkq^8vk`xw(I&RZRv;l zogC~Q5Z*|aX>QbIl01R<%64ky-q8C6Jbjn^qV{aIcNeZKoh1SO7wF%w^P?Lku?S#7 ziIQ~Om>^_U!k|?-_X0?Fn;0x2)%uFiP~g&(t?O$V!+Lr9a;qs7^4-}z9X1exZfsUuo@b*3uC5zM1%En68d?SRK^TYjj~=~p*11rU zI$hLTt*3H8TbV{0?Qa^`;Soi`#t4R;qA+0P$cU9rb^YYJUVs>D!P_r#1nYAlwnBOa z&f_R)cSGoByWvOR_hl$(^|8Q$@@UsC?#%k94t?7+)K>&ggxn|vqG9Kedi4XA zFw7cv&JudRfU|bEn!5*X8z6=5>Jvp0KoT1*o=R#}0cT)SQe4dMJ#I3a3_pLtbQ_b8 z`+FveWAFi-iHvZwwZ>XcYpv~E#RB@GXZKg7eHY?Q&mZ5IJ`Rk{GDhZj;4Y_k79>CU z*m81@J0_QajV_cVDFx#4HiVw5$>T3MebVBlfPBF8PC?&JnSI90c=S;P-}%l*wYGbI z->b~1!>_*yUJR)s7;7RqLC(;)H!+;SJ?Fr{sMjI&U$fIfCj$*1-o$93TxPuq&WBoz zhGY^3FfOq!$*y|`ZelJT*9Mj#G9HzX^@om)R~Ij982MO*r6b($U7SYT79cgC+-s04 z4xFTMVVm3kN#TRt)PE<`cQwoqa&aBj813+Zyj^J6iCwq4&OmY6=ky7qB8dSzAYE6g zd@m&HTk2&Z06Q-@S<84DDu=%zfGY7JM6}|-qYX+BeWse`m6WpAot}CL2y2%k78`S6 z;{FxKh;eyg!7oB}Xhzr4A|xS|xNrbX`LjAP$VdMGGemF`9oCl0`7l6r9n33_E)(3& zpT$v`SVoYFaIh`D3Pyz^r3%cz@*+lMO4VX44kXjNN;cMTgD$UoX`v=IiI$9#?xOgeWn zjQ9;C(`*IR5cvQhIC#hBe$#XqlDL^fLU0#isFB307muJ=3Fq|*w0##=3#kV8*RVO$ z<5fS5tGgE(q~XNWc*LTWF`nVSBs@bMLXk5)nw`>Ka@oFK!%j_N0_zX2OcIsa{FOm~ znNrAVQ~mMQ_3Yl#Fh3t%E!_`1lWH>TW}A}}b*_(P42)`@-9*R(MVJHE7x+#_jlZrP z;7FD{rhrzJQJ_~g4MpC_x>QXhgm*=Z3-P(+S_faOi&3EqTR9u1xJF);wnD6i-eH!{ z=f#n_Otul-CdQC$`GV+h2^{vx#LOe6z;uwq2em-b`GazU1yMMZ(=SqsG>4RGNL4-t zpocF%jweE4uk20ml%pVc!7I&UI?8a|?~;@7AHP`6N=nQzSY-`v{+^7Klz%iz?RjJT zk^JHso!8CrPzLkcObv>BbXtXaz`}T-UM%zH3#@Zw z@8^?tCGeojyf1H~=@&NG1`FmC-D_cohOtJiAiXCf70Zs(aIzl&6CHS?%Ca+S`gO;4 zt56X%XTQ~y=5-(<37gaXVRz3%`3B@8Hwl6r6)rp>){gyfM~@ z`uIC;!j@xwP@)a8%LWQ;dC&s!vEE=!LxsQuYsdzrgizYbr}m3pEnQ=rdKPh)lm zGP8+0F^N*4;%F8q=U@R?Y2o;giZu&sy`J|RXmTM5aLF3DCdwiU;ABKSeioViW{?&# zhnq2SBi@hdC1uJ5jZDlFP;Y;@sYv%M?l0@4cXYX1vON=UcN8glMdZ-xNvzk4Z|)v$ z*YNA!>BE>MnX);~CfYuUd+JGcNR=kKPfLu_RC5tlTv-@b1uMnz@5uyc51okY;+f(ySgH0b*FA@&$VnH;#M$Dq z4$cgzr(Ik+`c6A62uWiDZ|^{7Hi4-MH)aKPKniXwskxw5lR&2Ht68qGuw0Zt#(Q#O zL;nmY?1qO9#L*c&CKqY(o4Swf)yy^Wv|ViA?l>g2btx(ouI6dFL=#ax7v=fX67nz1 zpm!&1R7DEo9twTGf$E`%mPDOIzO)bBB*ic=Xj;)5#_lK3yCYBJ7EzSx4j@Nq)D+g& zIL+gWYq2Tls~jRas&lF!6u&QXQ(;m(2DhkCL`39MjV(!dP4c`0r2_*QgtX1_gpc00 zYcxBt(_D0B)RqqO@Z{8v{(Cg~miBJPg)=klllP80|0huJM3I*44lVB;dhSE+?@w?1 z(;j3egc#G2qS9hd+dKHu z!>N+Y8h6Lxfiqlpnry@?eh~R(X#`z!p^Mso3cG-d5?>F>X~OA%9gEq*--A*oVqb)d zf>Zq8!Y=1&!i&l#)hS2^amR(A*#df?jZpweEO|lQDiDKDH4N{$5wWX_%E)-t+d$MH z=a~OfCx!%s-7zIQy8|DL`wL6cfgVv@T7+7R+GU?fQiXNL#L!uPLrN%ARLwe)lo*0m zlvBNUZ!hm%feBLd!)3g9kwh+h<7fa%Fj@J_rmf$RT6KYvs-zQ*q$F*qxWSgrjn-4! ziXa@ad&IDc7by!kEQjvJ{JCvxS8x&JueYZ$5~ah0SY!g;cCzy2&WeO$BS|TXc714R zB}FO*HMb0|{#yF_sfUb62jK^r#EiHv`$QR8zTB(O zfjL}HWxMn)u7m!UcX7L=Ty_5~l}sR42yykV4-pbeV-T|8xTNcqzel4Dv9zS>{rgfX zKxH>Rt(=wCs{duzUszI)!xnEG!w&ioyQLLGPLZQ_YQW<*j(C*?@};YuV0W+4L*3Ou+8&3MZ<5zontFPGfY4Cb54N~D`U||E7is^;++{<7SP{ntl|qu zIn-uowy?lGv!!BbMNB64;=oToFn=aXee{q^*Pb;=$_(HCIRhLKXRFwRI^Qv+4yXQI zC`VO2;%0X>Ee7EM@&_r+)mj;^5ORkxk?1>HKFi~Zk_fXJB?sLb*KUCcQDW=X&P*T2jna`JImS& z2$v3TD#^G!C(a<_Uh{z-nwt0zhhEWQ)ryrrK*f1#Yi(HTe@YB1S8MKnH>k<>{274! z(oVd<0ROcE@KLXcGB&68xv;^{1h$!{jf6AuVqvWe4oBWz3>!OjFo=JR8!juxsUbIN z8lZ+yO0+3w-^FuC#{w@X}V%oQi#Y9#;voP(SE zOTSG4Wn5De3uhZ6Cv)5X+j{S%j;7-#8?w)At$?|n@sdQwo=!sR6H&aec)7-%M^bkJ zDhx3rvy5ACXpF;aukFDuFfw63)|$Qbr7&{vH*CF~Xz&n%Ucu8oM}#>`CxHdZ?S0vt zb(}kGe6DniUxbK@z35DvnNaaBS1?(R21;#Bwa z9n3{sWHBtswYbP}!zenteGj*wZ$oB*i!`^mDt#iM>bAaakJ6BV6sNNI9d#B>V&>>z zt80KaA|moX{JdGj;h~u639UKT zElVq&SxNdK{c(;}-X9Q1vW9y5{k9Lnsf{~mczW8BM1LnVI;%^+nYTeM9*ij_PC0^; zP%ymjW}e+waOw@BkYJkRL5MS?F`OTX=@5hxAYeB3ya0>nh6=n(r3O(VB?1iZc=3g1 zT__GhjXTdi8wE6~nn{OQIJvpi1=eea70X{zz9x4dWz!3Sz>^=&Y0T~1V3*aml z^>%6s2pz3V(wv#*GouOxxDoN99)I#hBB zR~{I(P>O7$4wdeTwN-@c_(vMLw@%*bJ_Iz@4LNBTKF}yvI0&0aoz_`wLSK!a6oksQ zDlE}CE3lmZAxRtc;tKMo=aEO!2Z~cV3LQOWYTO(!9gIDrf(#awR-gm*zSEZK9vo)y zVSQb=IOaL&HyF#tkwnIU7!)wULnT$9=_Ca^B8^)pEq`l8DphhFNsj>d71>;G)wQR+ z?u(RKflnfRaSqvT*)bC#KT|{y2zDiGBnCAj(Yn3mXoPCs{mx$SkSgzawUUo7aHc9#r zJS8m0ii|+8wjyi!_roN`A7~*ifTqi25|0U~aX&;#6tqW@jy2I4_P~a6Tudy=SGt25 zAqGqmv)o*3Pb_gsApRA!0?tpKB>6dVVYrSlzd&eIBjm%lgn%V3SJX%EoccQUq;j5O zqu+JJHx9pwOBPMT3I(^`OMku3tCptD`#pCZd9=N{tb;r$PoABJS!Yjn*M& zgD`^SF}jhCKsgh*Bf3sL#Nt9AIlF@lfM;|4zzn~Eg$Y)CExTdgin`!@!o3KTYuz2e z99B#My4M%UWRL=8P>zsEvH%4GIhj@Z9hD_}^^#wwV zz>mjsiqL{L%d5w=@r<3Up`{&^y+4v8APtpN|P>H^U6` z?J)_DpLlPgY0D;afA}RIW5A=-&CX3$#Noo=W>*DL93wJL0&pcw>50+nu=4Ik0Y@?C zk;_(r!Yws=D?#0L|84*yrto(#oIj)JJ+h&-^|{DyALhS|14>HJAw+*SC;X7wH8tXO zi+?(6{Jy(itgEL1#wqQvm6q`IZE{izG@;+Ogl;@W?lIZN zjtB1xG(V|FyRT1&dM<@&e?AE+1ckw)m8DNrmZ53)YqQrP@f;0hE zJjd(cJPylp{HV$v=~+3ylgZM)WeCWR=i#pt!V7DmY}hBYV3FYD!5_`Teb3wxMlCW4 z3&~`z48#%)N3vKb=b+ACJ;%HriUO6KwFxbOag(V;a4H4%-QHu<#GHF|weGTFBKw09viVAc$RZcyq32sE?6ie+3q4OlJ)qBhUYDp=t^D&)JXER7m#qNh6{X)hOIkfuuu2yRni zmWH=XY}I~>kYYD1prUIBo~};5x^cbVI~T=MNfU)I6>E-(l;F+FA2xg#V{b(MHspHM zGN$feQ_L~nV55`N2i;vCw*T=R{Qmir;O@OcfzQXOfdc0}GhnP#9zyI#fo_yXPI;~j z2A&k!W;LW_+o07pxzwd0aa$eDH-xe>X;e)HE6G&ooKTpQM+& z09~myh5EsgH4@O#0Aw+tQ!9#8cjFkPGY+tTJKMLTX*tRb(O&H0n$KK1t}_a-30Gl- z62%;jA)OtwVRC@5^gW}&e!CjE6eXeF!ILQcZBmwi)JXP8h{-W#_fr>Gk~9Hm^g=*t zf>iZW=Ps^rYEBwoC&KljK~M`{Ljo0tWir1!dpL&B@30Ya8{AZ~R%9~7Ej`qGBYYr= z$0SH1y&0c7EJ23z}SFcMwFUg5k&61I*mtH-Q z5S^T9VT`8z26-mV|P)vL}iJ()O?3(#I^vO&U zM%Ed;jg%|0;vF{USs+amL~h+ZHyLT)vI_L;&$`NkGr?keDqu!YFf}8pZvKMibub&~bKcDz6HaoF!#w%2Tm1XUu(|(R<-F_XEb8T9u<+8u5Oz? zLGl{`|aNJeFX_A>9r9 ztJKBETp3M@dMUiqFGMquc4oFn3|heBafMaa(s(+has0yMAR&AkmW_)yu{Ui&TesJs z=Lfq#wXcNKHDDYoX&aA6Af@48oM9h*vJGczPu0WS%r+z=&^@~BIhhFuVZ{u_G%K-N0~xpoHs|x z4eiu<)KD8VIn#sRIwY>i^3HBjM>xru&M%@z-ro4c?*SLzr>!}g!Re>MS(p+(YX{|F zCzO&6d)%JOqVv@rROA2nmY_W@ToNo@6L)NIE!jFH@#82yc*DL+h;r~@~4FnYHW^?8|MwU^kstxuQqFJlJk<5cRzip`|HJ$%<>iv;Hl|O zn=|04X|C`+XzlzjmYulLBpfalTf4W9g^bj}nVju)*Dz~i!Mos8e);ziiYvIjzc6cj zT?Z6c=(bwK$wBgPAc07IjAB`zxy=16xPK-WTXNPf6|bfzAid?;zegEAA9jQv>L9$JaOh?Q}D%EtO<8#rN#iE0-!FtQ%f?9j~I1@z1swRxB--s{OvG zFD0PM70htb#XgCn_H&@<`cpS2e7Lxizl2kD)@gh!zWg&cc<%B!8G}`Wf9uDxb<2x> zvUN6nRk}miA6i-*D=!~02)3RE#jhi``-~d$@G*jDvn}Q&9p41L-NNt)FdR7Yy)8Go z?Uq@zL-3r2&(nMF0|a$*A9v0}C*@B$f5CB`ujy9BLA}M{3u~5%ofR`(6Kfxiij#Nr z>Fu67)4n@)a*LVTw>Gtp=g(;rphAL>$>SxvxW-{z6)K^?SY^BJF%!KoBl}rw?Sq5c zeK)S2%&guVTD{q76icR01ekaTq)UCKDmEA|tBFk8THmIx*N>&>kHxdI1s})v{vTW3 z?@w>Xm;LOypZ_#9%yp*LsQ|Yi;kYy@hMdFlN&LS+ z*8*M%-TGfSWW?TqHVr3;nWKS$Ou{E(Wq{lE0n?(e!9e)vyGID*vr~RF*A#Ez_;|Vw z{sPxW^GI!)iI_t(*zb@xzFYa2oqmh@mau#?von5;Vnn7OxZM;6Alu3M@331aPph0D zL|S{858|UAYfz=Id?G{Q^CV$Vp|FrtT!aQHGO}%gNZ_~%yYXqa&0!jmwOzX6486J= z;!c5Gy@Ad*5Iq0sqjsMF&{( z3F}4h?+wRl8|>S2uqM990bq`fV zvYvOYp}W`}y^X76a*_>@B_8_EQNSO1_D6J%U!xt@er1bb*Nx@y=-yD&*Wvtm2X`D@ zl32n)_^DN203iri4^q}S{4PCHX;c#*hU6f*&yCJhQjq<_w)7V?XWAJrDN4fP;X@M0 znWiNv(a{LfAVXMXz#dxZ%=47=E#ynzAS}riH{7zLchW2w|vn zj1Gk&vUdpOsqM!IMePx5+)+yq>Sm3min@7ve&oPp^Bico)3Kc0>~VEj4qJt-Y8h}7 zyv&+ktZ2>t+8xc(6%;h!HEA@k<2Z-kz>*vAT(TqGb}nINEyBdQhF+9hVa}YcLlOrh$Iq4bq%F;NLh(zQz zmds)wGZ1Xjo*I^Jy4ASbwPI7g@Xum?spL!{57%RxnMDaJjgXN02@~V#;sRGY`}Jz? zkjv&3e;8s_?nlW#ho#YVD{ub29{`dD$sTFEWv1qtd$3^j9gm5 zpUVv749G(s@@y#`u4FdwLm~3x^41#Uj`gSF@#6O>BNuM#hYWM0RS_KF(=WpR#n(H> zNEW|azddc+wr$(CZEM;+t!dk~ZM&y!_q1)>x;4LZ?wfOy`<|pysqAF$zp7Ht`aWx| z&l=`wlM|0XPxcH-8kb;EGd3(>y#!ZCZjCAQ7FcFfwcQzW~F3b-wuNt z8Wcoy&FX~F6du-i`$E*4odG_z$ZB6u!UXG!$RJkl+mr;wDVP%1r3!Po+%M{&|beDVqs85h{k$;A96Ae#t$#@_gZuVbINP~QVx zAZ)Y-8cZeeC(Rg3DNU;|jv~UFD4(IKEG~`BsUJ(C|CK1KZn;{0jh!D^8Z!JCj32m_ zbZu~Fs1u8rai6pmCMqn zEY)#QR@k+nHnDDmjP1sPX91s;4`#BVvsg%V*fjX6l9d|DfYF0`35`Co}^ z%0j|Lf`umq(3E88c${a^A)g(I`D7)j1Q%I~0o~vW2RGK?<&aVAY1j>q7pUC?B}BMU zM z7F&FoF>#VIq+0tprSZ%k*_EkNM(}7zSQ~AvLIRyM2x!StRJ?7+8&F={gPfDsNV2Eu zM09!+$1LC7y&d&ko!NRjI>?TlZHLUnPfE~Iy)3Al%PSR~=}YC>x&RlOH_DEbH9T>n z;4EywQZeM(q5|a(4845<#h8U=D)`43u#cyRoug>AXj)Uqbo|<@Ovbbmn`u|MLjBz9 z&8XHTKOWR&oG8YgXQZ&5lXxCT;po@v4_YLSzHd*Uc;|e_EKATL8Q*jnmqJR6Bm%s5Q%cgE5TvJjpVv2i6;iIxP_?ocS z>@?(^+crla4&82AgQ2&Q&(9gk?|RHdm zR|{lXOwUgerd!z_Y}rVTbP&gza%nnHJ9Zi@XE5{{$aEx9tKzpnT|`{sInR=;1T*DCFz&84(1V!m_)h4}Iqy7)p&LQ`50+bIC-_T#S}0p& z&DYdUagOT4H}Q1~@(a}uUpbl_u_Q{!4RC*%0iTv@9$LOaZHQ6{lmI$_m^9Jv7^CM7 zDTD_u?x`;bit*= z9mzXt|2lwxNsmxvDqb)xT}T}>RtmQPcj8E)mt9^eiIGl_<&yHhnafnHU*AcmM3XHk z%Yan^9!HHe%$B2`yMxiHY2`T~*G}pcFD~(0(;?P#6WqSvO{aNiw>22*?`dCK@3kv- ze5EGyoOFJfXWN*XNh6jzdX-Y4YPfZ!Ok|ZtEqvrp>8S&Uk_qX#n)b>gBLicD%8Bvc zUV6mO%W{*yWVNzf5Uk>~rQc?P6#X^`p5fQT5BOOAUNhAQIQ^Yx{PtPH9i`8l29YTT zB}F5L9zLyXOr5t?8`1LwVvwkh$v1Ow@7Flc3htKU$5D-Zsu1qlm@cPOXckDhBDQ6y zL)ETG{t~bEd(&&-9N!c)T;C{j;mMrYC~Q_fg{-vDW>Ygp4~nC8pF>sRKq%eIhKIYN z&SmzHzQSqG#QGq9?%_tDdJ~@07%w$9f(vp^;}(N;)uwt27yDbLJjuaurRo{y+{~Ns z&6r$JS~Fdy-^8k+ch_p2e4S4{&YWU~U#T3^lpE0$7LQrNFgD`IiNjud!>^}Riv3TJ z=`DtRt)0b8BNw~7p3Bg)naeB8)6QjCj5zx3*w|>Vi3;;4z(z~7hRu2gCOC7UX-eGjFe&D0g!9n>r zAv+3$V@Q*9$2!=o*tlIXv$^}dEq_1sw+!#^5y&Hd27?}SeZ#=KY@W-0arz;9s30RY<07_LV+*3@>g= zBOPjz$+c3E@cD6!Sx!XD|E=Z;D%pAA)e}|=o;spb*7&l=y;t2V>5nuD+JeaOc$cZk zl&*Ef5a26nUtfChmI-!OcO7~CfMFP#S+S&7RDEBG?m1L>71el6sTw9@^_Dp7DLukg z-rfA$ANs^vulO|^@bL#-jzH+%*|jyCn|9s#DzU}Gw4MTE&cppQ)E_rl5M^;74_=Iw2s z_d;ejuDpKCFh%3mNv~8LH>4;OlNJU!5oP+_(b5Os$8zVr%!`xL7j{p3M@VF*hQo2H z1A_0{o4`NYV}Cjg4h$R+5YPWw_=EpHWEKDv_s^65)799**1_ffPILeNa2ft#<6ewWlutyG#Nnaa?RPi0(gwc3 zJ7FFYJ7}DDN_Uw2eJ%P1FbjZ= zHMWkM`Wl2HkqG#r{TGW3DI#>`;1u-#bPZL$2%rRY3H(#~It1p(L0Q82V`S)|+XS(Y zP5zIg8#8vU^FdbB1~2I7JtP@cIHU*ZANogvAJQrztOLIq+s>GHh5AMV$jqAj7XbA> zk%!FhpU9x=Nq`KjF8ek6pDik&`{XEPraXuis_ESnNCT%0{Oes7UMzb?OgX`(@!aoX z!an=#7t%pO!Cmy%TmxIm=miZ63##F<@<`#-Pi={33)YB_2U@wn3kn?17G3(<1_62S zm<0mP()!jn8TJW-RayoG7&X*}V5%o9UvhNGIlXe7-IV?YNlXW;nrVYR47UJ1Kn(VX z6rV{t?>SCjWPPc3X;|R z9cuCHG^bVNA7b0RhNweZurXAyO4vi0zu7{?((kW6K&^diR6k^+K6I&2k^AI+EkoHx zoroLr5v(2(ztLP;RNR_^a{yp$1app*xZH)SZ9HCcE}Re4`{~y6QOMnc9ucn(AuMMI zBb%@krS#bFBhm9Ntez5M(St4#uiTmP88zU*D`c+>)AL==u|i!`1!cgEg)D>|Q+GvX zQF;x;S2zdrl&cCyyJ%}~tbUH{nc-1pqdN|79vKvVho3+ygY#m86isZ)-ED0l%c*|f zti3(Ie3G`eA`6E<4vTL9G6i`{5pm1=SL`S1q{7j?XDkMh;m#i(b622Xd`-p)6(}_e zDCT_lbx2ppPYTqtP#Bza{@4o%>DBF=jU(ZnVOA<1uV}5stCDCT9=oVDOB2vQ0#O{3 zWOn;wiq?BidUJBZc`djMUb&JGCmgmYqZfcsA=dIjR(%yjsQV_7?$W2fJ$#~f)OTVk~>Es?@ulQVn>EIZXzTqxxnmZIN!p7UEVz~F3WP_`%mQhZ5p zM$3WKhWgZ{emGU7e)yTD4XHPDqH6eX7eGEL=9Gbh^^Op#MTK(VZ1Y{e-@uh!Mnl9* zCA%(ZG+vY^SKp+ZrX`avjf#*E)X_$qI9L^pGMz@cLC_Bc;ZwiX0;gCKl=k9_O6Vw) zUvXZPJ1PxX>D<$`Kg-hi;X8??ca)M>Aw(oq}vzSH8Hivei%p$EiZ4X(rf zHTxWrjgK{8nw(P%go~GxxywW)0>BLpDCK}2(mG~gK2sSMT=_Q>oY7#umf#EVKX_2- z(wAgWD2?Wi9E_o2Pyd?kTj7K4|JDA9BYR`=rOWWv z@mkO-ktrZdDa7wm7`F$pmNr;NTTgKn-%F>N_BiyoTqiy{a$SG=5~GyBTcR+c z!U$%<2+_g_J11QNSC*#%LCrge`4Hg$c12@kx##lW_6(R*(n==*+9$Z>`Y72_CwPT2 z)kxYV{{#pZfC{G^1rQ+4?A4R*!T{f5&582)_FWa9feTeBp!H`Q-4Q3>rT`|iY`N%D zcdq!a`H>b6WryW}FjukuNydw+8=#ke6H(6%aIZSd<^U?izY@~+A3Gmw>VPC{`9^wL zRHDvfG8P2D)9BWTF$ykuwBlg@z$xQ%>qt=mOgK%4C30%DgR$v4(n5lIGt`fn@1rNzCjX z8C?H7jT;Xsk6Xwlx8cbx0ku9p|7v|S0JT2C`DH$B<*Fu) zn9wNLi=%1<9cS~z=W3M$#<|9rfD|kh>gC!$Mr472^ZeA-9iQDD7nz(jVT^n zjOuq3loif`h3gtU3SnNgZKCV9S5<8G_1?r4r^l`bmLmQy1iKi;5@*2>J=YM^=>oD9 zWy~ixv1K31FxF^ogVW1_82QxjF9eH}M4>}~V}axrDq~Hjmfx#%o$H%Q7h}$WxWdj6 zWN+~v57DF^6jS%BNKJ*TSP6E_nm|tJL~WPV8%K!9Jzc?yxA-o4e2Udq$uoCMW zIr*rD3&4Y8W_mnhR<$a=qCnRwlx5oPY9le;ac-vmf91!hKFXqoUWL1Gv4fKIf6EW} z)*N#H4~~j<>rQ^xlHJ;1*QcW)29uQRzvRcpSNi?PcFaef9C60%*19ue z4tUF@Fi>~0TsJs)pJnOI#)js4*w_pcx5mRCC|9%~z1nO%Jr%amxi{-pJzLn#iOs$u zK4C{Vp~6)cH(adScS$g%uOYlPHi6>z=u@Yqe}C~^;GR^M;5R0NEzJ~uc&@eDhj9Q! z=69`vENl9Um1fz^>xw#!`f8S8B4kN%RNFiY9gblKmb@5}X{qN5%DnMqXtA*cJ-x$D z_=pvUA;yGE1AbFu00M(DKz(5Cn-}ml{`4n)&_SgUgBj$`#3XSY{Qz@iXYbwPoKK5e!Alq#}rh#r3L=>yci4ZdiDIm|JvU?1oqX|?+J0> z*Bv;VnsGReY?To3`TS2BR^@o_83*8Nc)9{XQlR_W$K;bTj(DCa(Sm6Aqv~ zOkcN#{z(stKGM^{(=Bu8-zio))nZnpTyly4=|KfZTqO{bQP|Z3N`Qhz@qLfSf5KDw zy#kPMex9KE0fj&gNKhc4-EqG*kQg4X=agdM1lL_L-%rU$hl@!^3AXn+Z$%RLTokfD zh=hJj=jb{)?{vx2KQ7P_1h#x-5GMRKc4d(Ud4Hbt?6!qJRC-Vw zdIn4#GF^92#a+-Q(iwE8r7yLHD89q0)O;jjvSL zAltTlN6>#1-cF!vrN}C&izREFzIT#`p1C#FHETwOIL@UBqzB1O(95ms=W55Qu zTPoi9f$7J$OsZ@$l62tADuvu80~(f@hHq~+wbP)Dl;MHy^|_hShh|_OvvYy5cc*(7 z$eeyqL&0is3m&E7vY&*>h~L5lA?uExWdS_SdUP9bx#!;Qu}D1+DI6eJPbEEqG?Or0 zLeIXKGHu`V-DQ99Esd_NauyKtf9M&spdB4BQbRy-q4 zlNL*zQeiEM*bEWn56AaW%9;YCin4@`<5Y;hJL}|ZS?Rv{89U>>?oKk&}%be023~W1_#R zQ>flJV2}dz*eubs`TN%(S;QH@#7t7vFBh+`bY0yqm!F51L+6DTu0&`~8y|bZ*bw|D zrYF+OA9kTBOmz7!uQltYUDWaIcA`i93NYUz=zw3)s!qq0iK8-lHb=d}?HTCG0TcBP z_$1&g`D9?+KDxJ!>afv%clFi&s)k_CL(2MzGqViwaesyYJpnTN z>FdeMD8*DOIt#mJE1qQ+M<}O`D<>_mQ`Yk2C$XroN$VwWV{)kWKqqO~DU$EfKh<^j z{Nc^a3$1W)R*Sy3$M=qot4g*BGCgNl{y$^6p;L3{AV&g_7}DnOziyfUd4PRuqkzH_ z&`on6-nvO9rqUr?FW!im(bsg6>2GbqeI0I|sUN_OvscQ$)=B=1tpsoZ+~$q3b*LwcJqHQU2qQN7 zWZB>cROQ&h2n_&Lo25l@{glHr-$Fux?inxMVB--ruhz&YOV2~rXkp$cr&gx&J0A17 z9h*V&s8#WS!8HZij-s%_6yW)Z>i^zRl4rw}PJZCZXDLa@AfQ%(g+lT%hS8Qq%F+R_ z0Mw4bhDnrW`4C?DFhyRjF693>&B@{>!POR#^uNXc?yYBPI=Jjw086bK@$BDDKy|H{ z*aol@cuB|xq>Or#XK@N5{mV2;|4roc%V_^5a@G*A9@EBIoIMl=xK^YNqK=DT#nNhw zH{?=IcuQhv&mV*@&DAGj{|sCX%<@Ld%jW-qsnzNeX6I=ZQrc%YIr}aGCUOD`NrfS5 z02bheT-q$%p1Iz-uIj)DyO4&aKV+2;>c6o7Xmp;e4XqMrNICp?=CQcpe-dOlpTQg( z)iTSH^pJ66n3X4nOzP~5Z%Dm2&hv;902_gm7eKoKR6hX5Cgkp|YDdbe2v{vdK+gQz z2!Kzen66!q%L6t7SmlRNShQoJ!4oSxR!5+{9YfF)I`-pie=AwNeuq6iX+GKAB|-}f zL491XM8Xf%fS^wB0WpGCZFk|2AiI@4YqtjMiL)@`l*IQi=>7AV*!slFkbwM`g=|v23fDj1>`b0l^tLCF}R|3G1A5yjz8b{ zOwFupL3&AnHbDkp*78J<93~{SHIx0ywW8#6MUikt>E&uj&DEn6P*rqspzRb=$0IPZ zFx65xqhS0_p$-^Wt@9yyIqeW|j#Jg#Lzt6(>yabOCW9vUna0Bc-biNspV^$%TNTGT zvq3ATh7of@f94xUJY=I+EKz*fxxO*SSlzRJ#F~RnClsvwgA;uEO{8?c7;K>#wsPQV zjjske-tfzpffSq2@%_pH{!Z zj%?f|{(ClOj>>z@;HB{f;L+%&>vFa4m;RM+X2cX!)0TPJ9ll#_zio7ZYr-Es7T$rw z)Nv}7ie-c<%bo~eQ;Yk!Z^)fTyCU}bo6II*R-vw+p;(r;i?dXg{GRQZuB!r&nh`m1 z+XkH8=`#NHkWMuF>z`x#%i%tObpEFGCTm7&C#G<#qb&> zSc7Ux;*5Rp>X{x}l|}i~p%(1cB)8u$>c(buk~gzw5HpF7@3TlM)*RSfBg#3pxCtv_ zvZx7CUk~^<8W=_gODf*bH8BF`mToH;u-H;*iVXD23<8#d+-?gMPr*x%jN@O(><>9q zSe0ZJR%<^A1)B>?WFgPCgIiyYy5HD(PfJm0l>r(ZqvC5g=w-K6jX-}vm-Xq}g}_dl zL;PIeugY~zrEg%_mXu$?g65T-j;Iyb?!3V(XY8MveQt{B7t@`MM~m8!L=BQ-m$Rs^ zM6u+;I5uDw55`Ee)g%r9gD>ds*NGvvUjn@zaN8Rj{jZxd4h*&1_@57tz5f;f0W|eU z6fi(QpmP7)9FFoo768s>CN8da|M$uJ=XwW{uRt&Geh(@BP)V7$`CA-!%sy9rmiF}N zVHRu%F;RHA2NXlirtFvZ4`gJaJ?U}zd07HxbxGsf%f0m>;~#eu3_!TATSy*IF~|qz zo{ozosacoY(jT@csO}AM`aL32XA(wEbNuz=k@+Zjd*g5zyFe}WUur4B-|q*(-9S_}ieadvuJJrT+Jp!gUiJdyKfBR2*SlsxyjE_wSe zBYdad8nFy{KyvS9rx-T``dQX9=4!kReY;;k40!l+_FMA4?_MxB>_1S8uE4?I`+8FV z5M{(*!ga!%-Mb6eHXMp+Mc|m30=gb~K_#aVLbtz^U_KLGbFJbOQI?ruJ%b9~ISP*c zw7@wElU+VQ@)1TMgFvnKmH3(mLOY}gnx3?9D=B6H7Lj1D@3^3z83AO#^uuu!qdY%$ zoXHYY*-rv^#lRl+k@s)$`G*B(k?RPx(PlpM+521dZNr^FC?>NnM=St%_=VKcQYzuG z@be)0uf~`w`9{jMl2R+|IKQI9Q{(zJVgdaJyY;hm3czvz<@9i-E%lhm};%S zSkmx_mP(*ahZfW*;LG6$47L2Y4*b_d~-KW-aP2`Pw3o)Ar&A1BLMo zxYkj3*A2Yo$dsc(7Iu90QgzEVs{#nLoo}30v+VSKlyVTQ*F!p|92gI-s4&Cd>ik0D z8GaK2b~jyDZo^so>+V2c>~iY041)huvMNL~DbwV1^+CDo_#NCi=g$|{zct1i$%}Pj z-bz<~8)uB!1GB)ZW%B$oncw^Bjl|yfo8PmePk~q%_kl}d#e~fIaU?KZwe}!qbR&Ea z8AEL*YGJ&u89R0G_M_hu)`eD$r+bxcj+!fNTrY?^+|1Zh80>IX+X~azt%xy3S)ZwC zc>b1^gCf@dnRD9oD_b_Ryjn3tni`btP!;lq?r-j(oS)lxwuBJgWFS0$e|IPN!|e=f zxdY?ytcv%AKEF6)%@#+cQU5|2AVUU?%2OTPv1G?|m6-e)AVh02pc+r7I0($1^yz9Y zGM8lm0-`YvA?7Q%3;m+_w49D$)p2&e=!(3IK!Qq}7z&w)*#*tw7cG2qaq+SA6Y7_a z7$OH*`4q8uP4C?%2mJI)qE9crHrFdV4Sv>?`R{a?z@Xf{WH;rKXOJW=&VipRxJ@P7 zk62w?-{+wdnfJ>QLz~@3*0I^yn`ykQoC3!=AOvPd_)V-F9>=tQ9H!Y*r&wAdIEe=k zfYk#dbgYb0?Q&eFU)rahrSrZ-|*$O77W_hCl6~W%ToJUK*KginT*sq9XD_ zdAfiMSW%3%eJ8&><+P&L5ZugO4w6{^NaQP28YGd-grTT#IW#J4J!Cxd1x)#pz}ts- zTkDfn;)PUpFajwB38fqzmx_&ZL54PE$7*BwFa?K zU7~AP;fy5!=MfEfvURH0Pr=?%ZMblz=%Gl8`@<1{EQupT^I^@RY&1lN8v{R z-lOsRb_cOtO}z*e={N^Z0)|b67EFyNFia?bTREZ-$s8U8?OnuGYs2L&0EPa=ExQ^j z=VJvhmw?iKs`X6d?5C2Z*J(((RX}UMwRcLDwE~8oWomXI%;uA=iHn$v5#nP;LoRj4 zqMN?f5_|;xc%5LUDvlmf?#YoIP9eZ}^zUBhLhqtHj2%(bc`%^;<&qK$AK9bno|vr3 zDuyY}4?qECt5-lMu(6XSEG$Y zt^LeNX!nBYc3eoQJ#T3`EfJ5H!H+jA5g|H2iZ{IptT|%;-hmRP1jTe4ReH)j&H5CYH`{1N2H*kx0%l*qzA$0PuU{uxpouQe5>>5Nh|)vB@s zq}iy}Cefv*C?9XA6D|&%R2-_c6DLgMDfjgi>wUam?iAG6w7xuwiX7nMub+8KkUB%g z!Op=2PrD`9*ok9t=ZY**vSbzKn%Jh@ce{+5rIy%!jr9i+|Hxy|@36m4HJ$OsN9J$& z53SJi7-b?i2NAv!E<;Nyw(FS^zLm%Eyd%x zca@j9UvWCPQvladNBf^kw-yJ_zQ53|B((NcP2~yZO0b_x{2AQ&8o>+s&3@T=R_^f% zRR4AIkNWTAfBL^q{wvb!{veDYU3b8l6)HcY1XjgECDD80J@KS?ctkK_>44prmSga_ zMT}V4^vtr6-Y!rswwG`5d6aTMRrkZ;sHM-0Uj#^$-+rKlq$; zGe0poNSsB|VONA0JGYE-!Jcsxls8Rjr#sLSMj5>xeX|ixY3GY=im8h+nauR4xvGy? z;#XG$cq<*k!(=^%s*n7H>_|ixe_xI+)M6w0lW=C$(wx6ln{ch3?i{rfZxiLv!mHh% zWo&3sd8A)Ut6;+O;YMPxjmp;8>_z1>I?53fh@^Henj7ZJ~~lHz+2 zUmFUj!c=SRv>nWQlS;bgcpKK)h3or8>2T#sgK1bN5tC|BlbDbAO;X$NeCgDxq*3E@ zl8!wkS^r0xv6{c1vV7U>Ex(+I)xZL?hNdC_a@WxiVFb|a|MwiM*nuT=j-LF)DjNh` zxLcG78}iEEU`ba1@vN!?I}8ZE`u0XJ7Ew&t>q-0?DPp!5KwqYSO)l@96J#|(Ti7V_ ze|UJ8l%{Xh)^gv%Q3V?*T_r$W`YW44+|lp;k2+>i(T#i*>OPm!^*p35J7m#nI$_@f zs`Vjq_;jW+scogs1*7rpI zuEe~tZi^Rz=xdhX{mA<=Qem;TMLuE`-}7r+!pyLlZr#f$+5om{{p;e;@y>Zs0BiNr z58dg2l6a}R07O$Xv|ub#BlUV`dkcUW3mtm3c>&N_=dLX zz}bJR%KxT0kpG9~u(fjgU+UG?odJmspWIqOPXpvs+sMTs=awg;{lV}`V+tFt##AY2 zu*A4QEI>Y65!r$Iy9Y=z90S1!vh?C?*wHU z0sI3xBGn3iPL0@JF(D~+^^;gSyzPVlVImTgOjFlWrL`0(S_cDAqeVoY^Ztbx#zO%4 zz7CQabYvOKB3cNvA;tv0%bm9a@+t_AP^-nW!^gu5+FDr#Bv#iC1$7w1Uicb ze$6m5BUC4hHN?e<+8?X`Gu+C5-vh4@H>;30Ofn-+Brczf-v1abme;{$((A|d9i`AK zA0_eMOrXbfBp}UL*60PZLHu0L(gBhun|>aPHUG3tQ%K?%f4#Mb9C~X}C}JDbZ?vlU znKU76|FFBiNKkvOl+AR_*#4bto07fVJ-}dQf+FD%x%ZCoM}#&zc)+5<;6%|#TH;o9 zb82%tV`u{cc<^b|Dh`C&lU=Jfr$DHfFtY+b?+h64V2n`y7=m4C{$|=^%o%Y>u1Tet zW1Mgbkn(ST5=uI*Y})ZcuR=j2)5=g0rSzuOOK93L*U$4W0U(4UWRmBM1JXC!d24(S z3k$-~mHIx2$)a#^!VyIgc7#WeiYt zY3%h`d^Ek`k#eBAc5U~?dQ9<{?8Bg9q-}n&TT=gl(2xm~ zD@vo`K)cz`$NI(Qc=(s?=8Qav=dV!7t9EQ!>=XLlvKnL?M_=|!57HI;FVNO!tRC3@ z)BdzPg7QkTv|MvSUBVz6Cvr^E z-rEOj?!%e+@puPXZaslR)yxslve>~iKy^AQ(cA>8vJGBV!052q&6(yNf?2O$< zx+{3jhyF~#Qz1jJD%)MhC8P9cV4QL6`?(7f&*AWna0^^*LXFSM!?Pf32uu4x_r8(- zL+u$QBSECIGYsdM$Q~92Rls_WoPBRAG3-uk7fqZNicQ6G49*o* z{!NiH0QB>#j4G>zvP+I?BH1@)kJ4bfp2^m|Pf6gZ#AhY5AC-=P&AT-Fg3D{y_Uv)* zwh1A&v<~tLpDnf#J(hTYh`1Z6vMXz-;6#8El;Z>25Zd3}HbLvqs^6+78W}c6SAUzA zjm5S`;si72(a2*M6CR&oz_^@vyvH%U^c*&YY`EoK-{42jT6sir?Mq_`?rYP}DbgTH z=EW}Mfg(^Q|1HxaPj+Qb`pePNN1oP6rGf4MmG~Nw3&mIA9 z+N|HPU8R98a?xnph{v{@*!@%VN{O2ohdwuvUIyfc=ga=S0hIdoLBHPJc37pOvTqNA z&pEN==)|j=GEK5lLCjyNm$6fV@hB*oMBH2k09HDu0NpnegV6xUmC2$jSq-|46?~rh z?2XHSF22!64>>U05a+X?24t5`6zO|IC8dlAcG$xzgz@ui#TFP=ucQ*~DNF0IZ8pl< zw>;W;SA0Wv@4$9T!w_qEA=Trq?Bf8mghnSGqV|~7b9%|?l#8GPcFu&(O1L6xVkyOx zdMnv%sk7JnCRnaDthXju`b=+Qn(mb=Eox*O=GIvBICGpvAXl8mwfjo9`N4x$F*^Kc z%OGRSBHGhWVVrDNS%r&m1><0HWPc-X{HrvYhs)L#+cyhJhLscl9(S)bMO^h3MVy9C zn3THZvspWqEj8^1FGanz-z!Iuo67gB#a`u5GE@`v9D5MjP^jiy`l1G`%oTjeXFcG> z#`hJiDadD^b`H>k(UGvQSty)*kLF+YMJUnMrVjJ2%B|S(@bgj-r$rd2MS(5_B-t(r zIeoXMjtzyS6xd4%K9UODlrkAfr|B3i3jyoMg<`AZd`yY-;n=KmuJJu4E=q38sLlAa z9jba)0MpV_O^p7d`Qa}SVU;HlF$}XnMfJAB)HlM9g!vJS~GaJf|kG`%D{ zd9CK|f=D)6RlPN-*1=Ni(k6scyg4(#y)Eevh$>kWv_!#6!h+b#HH#A_ldM^V^v6l& zJ|@FRmu&v*m6)U0mTxQc&KI0CJ`c=U`v%2vS`jKS>a~M*31^31sgdP>l*a~O8c^<2z@^4+fz<>Lh#7Nxz7NN@LOFuvAh39vr^f)skRe#u_sEV6Acq0wO| zoF%DK{{=iwnL36?T-*J3t$e-mb4;SMh^yMLV8O~otm`Lu&GlZk?wrwWXCRE*Y9Dv+ zbu%DUq17;}o?qtIRxY>CjMc(@!3aoItSzO$Yt^pe!k;I_3=2%AR2S%d=WB=hK=sU} zRKriTi0(R^|0YkH6}})&XnIJxQy?16eN(wMTn_897=FXte{-MK_B!g_=74aXC^_$& zr~Dxm3^l}s;`20bS-tMLOy8HOWNWzE;jXi5b4P1tpSTQuSXALj;_YOV~U&`c3e)XlnBezNN@#(tydaVA8cHp~ct1SMKjx z8t)izw9t~2;FCN$Hb%vIp}Iw*y2_TBl(c&tZ6U_9spk}pf79*{5qT#8lkdmb8(hD$ zSo7Ht!~?#H$KSHMC*Bw~F4rlmk&GG3m#oQHBhs-dY!VnDz8*-W(L(!{u?55r$A6t= zW5~OGR`d){Z=?&J2k<>ZM5e?!?4Gm;S~G2MhwDx6zdIC0-tr`>hg7+o?sM!a-?CyB zva~dSS_{VY&^(T!LwR!ePPp}Un=CdtQ;H#_uBiDoTUaiWoe{jv_1q7^x6E+>wCXtz0m_YOi4j9zmrv`Hs8UR003BM!%5^?es-<%8giD_u5_J`}KoD6; zrIZh`#5=3ZbjRt>QCkj?-0|SVyXGQxiLc{!Sl}b3&7VM5&Qd_rR`H_{VKqr!+$h$3 zxbc=yH@IqU*zy#ZMaLyDS5VZD_^B1)g4XFh!n?VZaL27F%3sXncPvvABh7F(Q45YU z?UbIfe@DR$D}k$R@MeWC$|hdiY@;(dVNZr+rvCa@QQ;J@=V^WrtnxveHY5R zh_Hr<{Np}#{b1Sf-4+hJ1szv;?k|PiK`c7w(hOX(&}L~O?6p!0yaRi03%MVd;Ac;K zx9}G4Ro>@^E}NmTD&w-;fF;r{v+|pWp9gCeesoCd)@tMJX=AuMFJAVi4roYVQtEjS zCS^#crSt8_9o)yrdFt}b=f@$8$L$mNv_o!hN0+bb%|h!p@INVY<#D&-36L`L|ErY2 z`yW!q#KGAS(9LFI5Xq*o zQB0$&NNiYnz~@iw&O+ti{KF7D2+8;TKmFnh$2?t>qk!m9UxNB=`7_~;=*@xuv^0jw zCvp9GwnX_3`SJUQjpq*NM;MhVHhqv`q&1$^_EqZGGstI^X7RdR~e zptO@YHee({Z%X@4iX}oq3;Tl%7`jC5^j4I%t0}xAYIUhB>3Jy7dcq)W37a|u{4wFz zeBy@`)K_@@iRfudc*-LAr*n$_A1T7vX>f*$yTTMf3x! zmL-~rjUOBcx>by%H$}1dL5YqL0v2W`vQ^LOQE^kDE8!*jBQBR6^Cj9dNE){eN}5QL zNhhCanR-M7lX#bvSGF$<<#vaCn$p>+FIbEf#z_7x&d||&h60mN=mp=hVTDQXk4Ty= zU@u3HFy$PP#|804${$ab!4%%cu)!q+jw!Mt#Uy3St}w0pqvzas^@}XBwhb73O9leS z&M=~@7oGlwYM>ti2xI!kCMPQdA&D(EB>fyW;=++`{x*A0XS^m!6vvD~wIj4(fh)EJ ztrzkU83!Wty@%>3=>(6(oxbSKWd9{sJ}NFhP`Ce56-fyhkg0!))@b2o!cSwkP>~1Q zc2j{|lCZBNtSA^GI+=QidEF}2q`My=!Wz297=AaW9h z&zghN203<=a-)%nD8HS&vO**FU4OX??{gAT1O;6X;CMFZ(le|wNRUim$5ibP>U;)I z-EpKHzB=_xAFA7-OcE33nW!AA)6PVbyISu^NQu8Hzp}i2;6;K#5Zr>4-uP!PK3#bV za524b@LCx6+-0+QL@SKr8~!YZ%g>^~-d`|k-sOk2jW6{;{I1o2gC=`7cE+LYe{L&A z_Yq{ufs?n5j2q~v&GI+2{9-PH`J>(w0y@;tR>i8GmJ9nhN%89F=`z-4*>o7LM!UeO z@^kWU2>6HqDojYoX1STwDjhn`c6R`x%dXe*KKXj)8)&yj&k)Y>bnF87wx0v*;tIaa zD!pZnknSR*UTzD<%)t+0-IGpsoq;|Dezr8fX9j%bS>*>_En$Vp3vdxl(B&mbwv1?n zX5-@LD03lXO8SX(vg;+LWtqXn+h12a;LJw_*1Cw!uiP^lUa zHtFmB75j{FJ#Bz@^Op`X+1|q9`s{O-fqS&7#Mekba34~{l+)W%Zn}y+Qq9PMs-A~W z&Ddg_d2LvYhHd<$5|HbWPv|V z;ga(8r4-1=-1J~LFZMlv{~Y9PGA8jc7xnxx@n$P?kve*@ufsmWog=uC)2HV zZx)xb%2xB70!QBH!kfu;M5UCjOv1GWyl$`eXX(iQ+1Kwe^VH3oPsUP+-9BFO$5sM2F3_*}&Ym zW0>!{_Aj?8q_bO{t+fOBtR#PpmA{t!wNSP&c&ZS>=hV>y%D5eP!zB?vSrG;c=}^`; z@-nTlM*!BmAW`Pr20{Tvdf15<+ioGt>o?FaKU% zAanR4kA8Vt5SiwDe3B4*4dx{S$m?S-S_!DRlxMMy7hIz0X%GBPYruO*c_D?TdH3H! z(t`&0`X2MV)Ao{Nww=tsGJAjZzbE^xdTJeI-Ib$NPv6~rH5;tLc>TtD z(;emhKe(C@0RXOsQ@tM0sz}v(qC=(%mzu&OW8{1gTW4~g-zS0Z746z8t^&X&kFEpy z`XaAQdA!haTr?F?Q-+}HwhKBx#;779NL`fv?3~oulDflr(Kssv6!Q)xQt{EUd_&^! zIcHqoz*B*VfSf;kEGHsz{Bq6=I!Rrs-AqXT3?_0_90aEUp=8wAMFjH6&4DS^K&%^wHrq)m(X9i0xCQ$}}lboZ{O`Eu_YZWE|dr^R;h*c@s$`|tIe4dnJ;ar{Hdd_uU#-P66&VIy;_P^a7B}QJ~2Q!0wBQ0 zpfs4R*tnKiiLNs0eWM&c00{8he+Y2X6=zI!OHzUg21Uk6g`Dnru`0Rs6zpqH6znFP zm8^?vR1Z}Xo1~|26NTNCi1heJEXie>_*QP;Tj)Lih*!qk#hkvJuzL(D^23RghGECd zO@0zTacEj(Lsp4n;Z`DIk+=L>6;md^9kb`cj4i`jSK(XO{kMa?xQkx$ZpZl?~Jcy34bF~GvjcauA%w4N1sT?AA(xd2V^}! zHc$Tf0g%nZVjbx45$=vVv`Q0-KEI}9*}6-ODt^JrO=&I=z55n67gzma`BmHRoJ@}a zWb^P3;^um80^DPEOet#f0$SDm`y@H7XSKt2AwLDn(_??G*lOBsKtyD*;$|iWr5I}X zfYCNz&2*?J?@W8=8MM_>pnhLTs%Oo3&~r4YRYU2W&@OdiCcHd9F9?66jZ7fIT6!Pb z*@!fss+1NDel+IDI{)hJQ`l}hdx=ONTf$HdKf!7#`w@%I8>O(U7f0XUmq}K)tXr9N z-$5B@*?VUye--zQsb^I_FLCdFl*y)`54<1K!7s1rIc_xF{)U!l%$Ecev z%1g*SpLp0e%<`F5zi8;QOiKeZ!P+xrj@u_0tS8>Hys)aY=@db^&+@<8iBN z6mi~iUtr-j(``iigylOmzDc77)}~PLft49|cV;dh#*AO-bg|+|Gk)%nT;Uo9@l&>U zz5QWbz8*J4A9DytYL9ORFVt@j58PfJcefKm3t2%|J@4pWn$t73CIlUTMjQLDo&EpR zoHizoRwmYZMkdzQdQMgr|2Ga?%V~`b&G)Ld*If@Mj!1f*m-%g)OYSs7U5>cf%Yqvx zGnj^rWE8R3h&}0V4+H@z2#G*o;#_Ht&$S4lf6$e-gFVpg96Myr^CpyMfSgcv*GRy{ zE`=<^b-O>(7fB>$wh}n}Cd|KeO{bFIbjT8pC3b zje7BS;Pmg1L%bsd>%8(fE4G$Rirz;kI~bsebpR>v*W!z{Euy)$hc_YXjpd8nXz?BQ z8vot_Yy&2T!)yVbeiA|);LtTfRHk_S4#UZ<6=*ztJ+y+UY3Bo--ijdt{mT{?8n)lP zG#tN{jxN5_#SjsJYpyb2jt{hA-5@fwapi8udpb;`vMG(-Dw**%i(-W`1ryt`3Jvin zvZUScyYnwI%ZnoEkqxvQ3NfuPA_zs;S9||F@6w*$f*}qOyL?6m5PlyK12JXis03^e zaClSTsrIo9nT&?zzotHbaXbz7$l^u3Tc>CsSWh6Wf-7*oKK=TSP5`|1AjyoE4@Gv` zV&)b0rClZn33gd&JHlQZwnme|0R%QFnGypsVHDKL#PFu#&nV&Pz;oPo>GT{z&OW0b z$go&pTyWpGh8*$mP@x)DFr@xCkoNa|_uM=t>cGp~JbiXJyaeG2KXHt}hg&R2W5PVM zl)%jdRt(tb6U(7bAJs@q8FJ~mCGlg+qQYc^W5&kqScMU>=_wbd0N>1j3EI#PjG;ah%-X; zg{g9pLO(rO>s2370W%CBjel6q#t|+n_$!}k(Ps|~MfmPWHwDVnniYN%EwwEXi}ZRg z0MFZCboUs^ea1Wrxr#uzONBUeI(ZS%4*{Wwpu=mvH%I*oB8_p@c{YNf*S0M-mD>;ug*x;l&Tim_KYD{<`lw_|1qcfDMxyf zW8J*Hfc2D>Hg;xT=)bPfoNCLAk}Lzb zb5>UhY5Nt`5g&PmlH+^Q{hBp1tYg)roVH|A?kexRlOD%)7O6)kPxn1z!7*;Sv0g$N zQ=sWjTDh#YJxuKxyxsYL?5XdKO238e=+52J_}|?hE^iN@>^5LTPhA~uYE}_GDp7Zu z$OcjXmopKUtlPll@nsFPlUXASn}=1As>zM9h1pal?ds(woXsa;ae4s^Dj%w8X*$7t zRZt(dgt9oxxid8WHs7fI<8@Z_e-&d_=r7BHH_B0^2SDR};!&k9{je7$R)zIn?xTkK zSpzb&XX(>t1rAM{t>p6~6$f@8o9ey7SeNTw6tSwiG6j2vl_8LzW2dsu` z@r7WonGXvlKjA8*>N9q}K-c4_MCb$^kM@k16PdwNOj^P#^jn!wDh0$bG9I@!6w0Z; zvPPYkJ775EO6z$s<*ybdYOI9@-!jS*sDO|!IRnGckv=-& zU4Xf96Xo&eVR%HiG97vVVvU(>6wTYVAr6V$;~Qrp73z?EVq$>S)HJO4T!8NeA^||0 zp*CQLwDJL`WJ-5n7?9a~jL}JPckzOFZ2VqucS%7NsL*Q`Nd_-?5TtmRBr2LuQ2;vV zf*Csyq&Pc30(7Sij9F~Td#Mz3-2^3zXdLR>duAdLriB--ER6TGYY8sQ1C4*Ks{*o( z4c0-%KYy!Am`;A*)V(4=g^^6x!-!W)bo|IZAQW#Gn!4R?u)2%DHg@)7pi=xfz3x`x z`f88{PyFJ~!k@JlwTVZ2wOiJMylg9?^d7HDW}%UqKhlkC%n1`E=<{KtK|H_rw4C`I zn-d%eP-ymSRSeeXT=4*fMi$YZnB&YJEsJ_E%R`BGA$aZ-;09;LU|2gV6LT*QezXJ2r?K?XMi2Pdw^S4p@T$5U}a) z73iGeIQ}{NOHNG@? zwIxhmi|GE+Zlf&a;aEo*@z-gZMzjSJ>884%N3|_Zl1OMS>X$XjrYN;W^Azr-f@ki8 z>?U154^}9tM(+qy&JK<*Ssl6*uyr{5t1yB75gmCIc;lYGypV&^Ohse zJQ;}33b*I4&QM%tnB1GPc1I?4fY&oIxPMGZY5{0ewMM}ed9f1coG0J_fY#<3BE(K! zKfY7mR_vYE3(Oiy+Hkma?wMBE7Ad7F0Fc-znsm8nXR6S(rg7Z35=0i0?ZJ);pfR}w zfVFQ7JirNG!%bhRO^GB;9tnTIRN7MOYK$o@;%n_2^WWNcNVFDDHSbfF-ZX|;V0`4 zarS7v=b9t&o;DG^MF^5A~o~GO)|IrgrR{o5k8XsLL((gGoTL{31e+Du%k3=~cX4}K*h;Dk683Hj~B+f+=aekOsLW2W323?O?!`Evj!eg-zEcYXeY3< zz4)6C59*wXTU&7Tur=bnpAMz~Do(=-+@3dCEp7>$rgs|=kIkYc$q>X3k%~;%$}@ct z`$=$!HWy7cqED*+CtpBn=9BqFB_OYR#SHs|T0#`gi>L9m?DSQ!ve_6n(PT#+a>*w~ znduT`R1&$6GT`je`97iHQV~9lhfuml{ME6F`onvHH-p%bDHM5=GYp`wNqk>WCxvCF zBxc3?vC^2Bt=@q(MSgdgwx~9AaOUkR(F1t2D1##$nk(v zCbr_N+9=D8(tBpOb{+Ds!dc%pm83jp&YWajq_m!KgZNJ@)N@vq(M2JHi&cww5r*i`}z2_H~DGn^fc*h zbTz7-+3D%g>g9Rgz4(0zJL?@HL2m$zZT7!zJ$?TVGx5KRIpsYLG~YbE0z*A4DuLZ# z0Z%J@)AoCXH39m9C$_l*q?SbY>uTDtfRod|J>m_>0D$FhsC#Fd3(yUHN%5`r(_@Lp zGv zJVQ6*$?3IU1$o5ZuZ%+{^CU5zAxHQ+`VAQ39I}h3k#;#E>=Atb;7NqbNkabJ9*2n> z@f)xZ0%Zvy7i~2|_$)m(#GFd%C2tBV-FM68Eo$^fl97y?vQMIy2;JltKLH7y*+6nj zL>?2&jTQ503Pt;7fuOS`;}@~h9yI-;EZ2Y$7QP+LkFDy1ESE7+A8jGkrH_V)U&8T+ z(kj;=?wYX367s=5{g#mN2G9LWaUs*}Pn$bO4IbSbiYZjkac*2ulriROF_04tki0K) zCv9Nz6NljOHx%?;785K;C}l!%kUjS}Nx`E1*EDy#D=g!nZ+1_Q(;FcB(%s+@41rsh zg5`XHH@zIM?jD|zUEp$p0_Jwrii2-F!mK z;nVY7LInsk5>0`>=@uB}2LFD?^w56-!*ewJ{u?}iLx$j(_kOC^^v(>0)*|*2>K2J@ zhvqj1{v=;(LShy14kt3zqkA)a4&>~t2z^#B1`C%AoJza?H>WxTNI)SU@f zv46cIP}@@9JJ2yrp!<`6Kew?xy-~0a|7gbK9oUPYSQihNq9U~J2rNi2h;3tZn`WsD z*XYU9+wp|+*ymPt8yG7M^DZcJ8Z&B%p#TCc<&MNtn@KLe2g!tV+*VZ+rqh`~kdax* zN*)Zzbkh_jb@Kbk1ksf8>*IAiQX;N9$K&=dk6ZV2a!CmU%9v#YY!8kcx!Ps=H_(w2 zgzTXCypM>9Tl933r~K=;emrd{A%MzraPrm@s}fU2{T{@jbI7Cp9^KOmPBc(Y8ItcYiE^dg&ep=G;7UW#1o!mQgtWi9ZkezCMnHLN$7@e@Uzk z?QA;Jeh#X6ty3qNromGl=90G)k7WM2TE*P=Uf3U2>A9<@zxLGK=%%$AFa}nrowYW4Luc88xD~}E%@8)@Uf=09o6lbq zJcxLm0&ckH-x3ITj@oRWH4&}pG4$Y?1g5jCyAb_?V1(RtzIGetCBAY_mb# zvjMo+eYzICVwXf4*0>T5Jqqdr5boL{PSw2GP3~m9CMYP6y>NtXVdUhK`cA#F%7{Q` z(L2SY$`ruV(FN&tMn>BMS;GXq3z@>wwhH|!>B5X#!-oPV*3&><;8}vH9Ss-JPl(7; zGg-`|Qs|vn$8uRV?#U%AbB4c;boA-v8y>RxGImVT?_!gZkV8Iz1fG^ySPv~sxX%R{ zj9t~oc}Z)#I9=?f{(j!vKE7Lrwbq0Xxp4D#S3e2oH4&Xtcj22M9P?VY3RO=J7ugD( zxg~0DmE=_@T5G0en%)4jc`|DB)4@DS#-&5AI3+a~+5U844hODVJk9m%66J_A_UaL6 z1@;j@2WzY@unhy9#db@|ElS=rE=qG9gzAeav*<+>3dDxs(*J6?S)~#%h|i0w z#GkYX?6}&oYHioRC?2ZX!y8DPTfhI$Y>*eJfX6KO!Gjn@)*BJ4)CQUbhb?6}g@Ue& zpk$KC;dd{eB1(J!c%n9EY}kW+qDxg`ag0@{;UUcmnZ!yKi*SWg+}W==@CO}iEm?m zk`UNzj$I)BEkV@fYdOfJ45Sq;8p%ZYI6?Oqq(T=LK!d{;L$64st$(nbDam%+`(GMd zi)uz~utM2~=8S0NNYu}6T>uSkouea}^n*^wE`koEP&en%N)-L%hoG@d)$uGA+8E_p z$R<+WSWpC=5W7fP%9p<-^du?Q0Ewj7x()>CYeVe`xDmL-Nsm@me`v-OuS)@~cBQBL zGPpL^oAzj46zA$<{YZs9sZ;^IFi^XqA2xHcU+Y1X2>;fDtT8vNfKCkKZU71=GS%cC zeIkL$XLS-!n&g`_(~h={|628`NJ(YlvU*~ICLvzX*LqOhND4ejLQ|Q#&`?>3m^`8! zx>qz?tN6nI@ZbPq%jq|IM4VzLX~x&at%;GOm?gLo;5bD}6YFahr$Bo8`u;B-T#QQw z;M?_^fQ{Rj&aON=<46Dy4o+seIB4;~r)ncyeF!On4O(<#K(+)cYp9N~Krlv#)KXbT z)41EyMg3eEHt1Id9kyuaWsPQt4{(oaS`5@f$KYqJbf!4TBqcvDfRLyZsmDoZb{-AE zoh7zU`wvL{%YJc|@vqOy7m&IJM7kP`1ci)bFM57O+NSArP^TTZR=i&KPeS(wyk3Ht zq*YcMyE)p0N{IUnM_B>S!mD~`R9#0e5pD(BRgUCQ+19~#@edZn6+BxOIquH5^9I0hL>we2 z&7~2}Q8nhTAH`CMd^sG-A^S$CRz>vkSEl5+q>8zcoqe^6Zo!Ic3|$Mw1oID5oC>A5 zy1a&FGQ>RXW^>V{In$}`j!%1o9J2%!%}rVACnqw zo{szQ(Ek51shQ3(xPIt4H=}T$X~b39o~u`vs>s^QR&tm*kOwLH4XiEjPnx zA|)L6?9W~L7k$i2`I(wn{XbpQC(`zZpyq$wEja*rf*wC+_4k*%74zk80mu`qEL%6J zQD5YVk}r1)Eo_dy+Jp1l`lPy)*_0Y4@v7+EVYQVHu@=}i^!63gJqlbsJ9&U?Vt_MZ z2SR9QrWez$^kLCQ!J~0FpOR6XGIarcTImgM;wKhV!3W=fqn;uqk*m0{8OvqQexzU_|M#;{xY{1 z)=Q)BU;mj~7G~Wy|IDqNf994cwIP+CTdYUr9NEcG9f7Zm(Bos8I=jl&_N+~3$`U5a zw_vQWi5NSZdAl;pz{YpU(BTKEiE8|pD&*NTN0xeVZ**PXE4`W!$~4E536&GlQ#x_) zQ#ZDf)=1h!$qB)r+ciSf5=YsODfL3D^|7CRW)-@}Xu4Ikek(#BHWi*jT6e!`CZe)t zM<}G&p%?*olir^fJePZNTPIgfBX0wr8~V4d&hM@)eCe>Up92GZa{ZCcIEjC9vJu*! zZ*IHart&6hH{#~*n4fkJ7jrg0o-c1-HzpDE{{GwgfszaIDg%Tl_Z9wI9}M$9bdQ;Z zle36mz7 z161VaQwhl`5vfw~{(h4>%`{Pj1pF_|N!T#v7U+ad-V+lz zie-^{`BsBXIZ1UM-(H7ZaS}fc4yVX4un-PEM_#>}UL_J?AFOM(Do&F9>rKV9IFgu zo3RekwDw{Q3X&~Z2W|81@%=8~SK{0pI5NobFJ4~os_H!d!Hr!+;KwyysX7P@)Q+L; zyZ2k9Hm#;V`Ppn^oH2b>)(N^#a((bN_8??)>~o(P3>ySlwsJtXJb9)97GOO5!*p=D zKvGD4!c26kQCWEEr3T@<i4KBQhmD@ z$lT7(QKk!<1C@sr`GzKwBV(zNrxz*s^FVeR8CFO{3B}u^xx_iGiqeBK+ta)k|0XX zQz`9>KiCQK&XqE)uIaa_y?XIJu=x*)@)#lup3gkH@LPcJw8a_sKy8-Cj5n4jBp9qd z7ps^O7+6^0`G$N85Wn93_mBIoA^~szNE~*-yMt7t<24K68BjA=yK(0RC?Z+paO+Wh z0x)iWMqV#ZEy9j!+_--ZY^su*hj4mGVIXdWNMhNg_k5@tZC_rsV+N95dGr|bI<$Oy zZbe~+nPwR7+L8IA@t!`jo@9)Yb}$}@dfeM=$S5}6cqC?gSg(KaZp%M7x^G{(#5PG% z^!uNU0|3KC@MQPuB+p|GV2kB&9*Hi3dmEBTe?Z`}&k2GuXDi8-OO@>(1A*7Ll_N9L zIknZ6X)X3%5mmy@}wZ^Da>pE`@6u+crf(!6K5(=&xta zaZYlC@2bH8vCr|8!G1J?*Dk;t@}AamYaH-)*P#S!(`+_h4&c-d(L}j(QH>(eh_lkS z^TtvPy=RhwTFA#85A|%bO$6Yia9ux|uY3jQVs-~u@N|n<@;ydYtX0h@2f&IpTBwDS zu!Q|`YkOHuflqi~m5~m-{LrWx@~p*uS^v7fXpS5@uiFhBiu^uwt~7Q6Nor#>AKT;E z#50UkHx3_MR=MSFO}oB4rO!KZQ@fJCT?}$AwoOZOTkzeEl1o+Yrm<7XwCnG%Pmhqp zFRBn>w;}GJMBeBy3eWy&<^t;D_px)CGoF!KZ$Le4YJ-u*ILwxVdB)8;85#5rm$kG7 z-gBm`BQx=g)x2AkJsw)$Gr(cRV##ava+vloXpby@0*?l<$Wlh(eko9+GMxhADeUn zFZVhSbrMIUd`&t#R4NEw=t zuKrF{Q*&!^Wx`>np*pgSaL~pWKjc!Sqq&1pl>*o#N^oIDNB!R%3*u}DI~CopkXwo$ z6A!;$^q=|)n+D#9af>00#c>c$}e>!8G38k}l>mTiKKyW7MhS{@r11RHcEiAlKkAg}Bm z7 z?`k{G-z)TKx<>=vqQ_54TyiRjfgF_jN*sd#bF`ALtazw2!VTZkEi@ zUQ=d;Y;NbdH+08L!)=<-2U7vYL3w2ya2f~Q4b;9-6~LF%K*E+~QlcI-ng;OYEMMF7KqW~g z2vg&4Eb?cNgXhHX2LK1GO0*TVECB#@c+z}Pey~}rznivFGHCvN6NA}2F#TDnMEQr|*-h(ObF4n6NRigBJp$_79KGwCz_0DmH?_=ZMC8o< zW(6eF(;x4d$XL-3d!Ld^9|xn)Z{q7Ext!muFemu!M9kdSD7xiI3rLGKNDg3SeWks~ zg)`*JJ34d+z`;7bLx?PsT`g~lmFWe`$Dj=zDqGwuH+mc!4gFNas1TPbSshuQ!)TU& zSY`FL{7|miXuv%zvLyG%YgL~djiG*@A`|B9z#IJ*v60Hscfv_(htH|vU%A`| z#hx#PoGHcb_@W7V4dZGW2gSkFP1Ec>*n(*sh~R?v_={|qa%DwV>6Mk8QXxd2h#s|9 zS@pA&h1ajKoH54JnuUvVXg6V^rc%w-Eu7X%VbmzY06z8K^VFU7X`-UyKL{%pQwBdg zV18T5)81u6D2ZM`PQDVC?ZLs!;UZOyc^}MXh>&z0d9R|{WKui4a%ES?nz-NNG!Cbx znFhaM?hdO|8=e`mIrMMY9UM5;=KRcxTNwH2eNY&cg4Z)R*4ouh{L@=BcXo5S?iLOF z=}6aOz=JsE%X;^|FfDd%_X~Opr})R?#lLX!$cJXimqdX;SJU9 z8;n6a7)(_uXVplX2Taw9mvB?vFIkWmX9KRw8OGBl?D+?}`w& z9&th(r7EOcM~5aX3%!uDk`A3HnAnVmYnJFoZu}M%la@%(nWZD;q8mB3upi(LU#S4R zT&5Fl)Lbmot_6oqr=j}aMm;hMiYeaAwDk?Q=A+52uF;kK$@gN}@_2;=UKg@5^^x=e zmY4Ocz8XTl>{~5AtGVB(uOjAq1{J#}svO>T*Vdc=lxK1)-IC)L)6bfBWilnK(yf(5 z5DcbWuKhq^1^6}+Do?oZRpXsxW$Hb=)gH*Lt|rZ|FNKzy+V35Kmsx1TQ*ssjm-D-( z;m`e@hd#?_muXq%{_4^g9-pftA)xpiphq#xzRb?5A1iA!!5`dNa>IYebpRH<$#s67BQ-I&~elLh~| zO=II>Wanhzq-W}4Yi4I*Y~u8PYlHtk=!O($ct%GJ2)c0qf^M%3scYR$nD8P(NXkgY z9u60#w_8s@!6JcRkP42g&Sv;b)lj?H|AKC(fS?;LfKulf6WdSDF7+|5ao~*mf+rd0 zX^jGLMsd?9JE}Kk4p0XK09;)%KThs_R2WKFFn>Fhd4U^K_4pLX1Pr7y0`2G(hlh~e zNAh-ZzIh1Ruji&P-|--bb>Y_FR|^E%b&@g1fFLnU1v8SVkv+a$)Hg$xT=&`WD3-mL@8e{+1*Xs`Qvl!ze$PdDs}0^f=ak zi}W(I>Xna>0|sgWxWyyKe?Tz%`+>;Cr83=KM@k`IDf(5X>L4F%&hN*Kh8(Q#ZPL&OSt zZbKacUo(QTabVxJf$s97uInG8E~$lE#0DYIvuU7})ym5&3ne0_X+0U^@@AVVq7(zz zehq%shhJxPCSF-4 znR7>dh4Qw6d0sLVkOEg@&LE*qQ3?K%~sKkg(5s4&j#! zLV9-4L*Sz;RWnQL9m-cW`56eiq7j3UD84B0j>{7rX#PNvtY|n03bG6Aov_Jb` zD<->~#T6u%o@N|`|4w1C?K_77AZc3|*jeNXJI?smG+qR^j~4Wt6?-&<3cNG}e_rbG z+~tS3-#G)@Asw>sFJ%jyTNY!mCq0sSKJ9fuV(iPEG8z#Y7HXR7 zyg(_6FJkryh9nFin^uM{4_lNJ8bhNckDV>mH-?)pnD00|Tcs_|826i&bYipqE~c>i zh0%_1RmfI}enJ`!De1Qu=1Ufx50gUJuu! zuSV84MA_CP_BS+eI!s!zZu$jOpzBYa1EgF8q=p47WESMN1!EoE7}Kv~yW@~>*$nTr zh|~d;rZ~+#J{$8Cw&olQt)1hQ-Hd_+QnSg+$O=!yYu`Hq}-uxPZ;uy%)UNP31Dt zwJMqmn0Z2&vp5$p;mh=)*BJc)EUYk_W>9mV-xG&<-RT(Rjw|zX` z*6$|0eYs0eNjA@*rK7vF-UCFc7%Ss#f!|h$^cSy?OAMwa=i|@hmf=@s;l$@Y2fsP) z#OVMONn5aN_mbe8VQ5avi0UeQ8U%seH-Pa_69|;7Or0D!{h>?o&sDZk0s~~Wx*0NCtocwVYCG~}ig+9%y1QorB=x*A@dJ7JDX|$CQ;U)C6kNy;o2-oZ*UnNpAqFAoth6BAHus5=vn| zCcJ55W^Zg=0MB=5&$PKsn zs4Rnr;g?2P*}SYfrE)mw7&v0j3TB)uY3PM({lk5!WAhVTbIJ`|hd!$oYa;;4uUQ@vB)F zHP~{Ei&Y^_0mq>h7zr0=z<7H^RM)j?Cj-!WES{*SXCL*hmn!0;@|R8KspC+Z;c2pj zIf^ilA=^7c>#dK7X=i2CE&k03@mev%jL)`&9ve6Dk4Ky!DB95uurnvJ*Z{5 zetc3*`J9Ruk3J5TIe@ME90DK7#uzz1$W$ejvP2n<=v_2Wmg;86jeN|A6uGI$G>b@K zVw#z$g}HTQVo-q_Wc>bXwrV!D z(V(RBVQVLv^7NjF%K;Q&MRM5ZT&0 zpR(~d;iJjtXl9d*_gj;E7Cy5z9`prvshCxTDo@=#sLo+EnSemeGqeA{oG53>TYHGMyo$-ve zWP_rmps+JNqV-H7dzVI>8`j~El^rZ1$I)+dHv!)Z#)5Y>6FG@AmDIGP>U+FbG+(ta z3v;WezOdMOpT(66Y1|h-pZHd+rDOe4l&MYTCQaRpPRrT3cT4BwP?6d_==kyxscwod zTW^#d?v}1It=u|V{BPkS--q1x&_Pe1LRqN+q2#$?IQ5Aknv*gjpEIC`&=7!LxKMo_M!H1QlCPIhK-n>qZwc>8nqB);YSN&gkZGEjw7!2uW&>;Dys{hvWBLpxiO z|5I#eI05){fFM@DZ4U|E3R(rX%3Hik?2Rgo7p+-s21;ZhK?bJoz zC*_*Bx(bnI17hy&Q#b?kazGv&+qLlBGbA=uQ6kp!K48zTaPZG%;I0SSw}U;e#A00( zG=z&e-xmgF5G9_MKeq0NCcbwX7$zjNxj6`LKEZqBbfiHf58Hbk0<~YuuB;^(;batMGYLh&+kKXW@2bFU>RwHR1E@Y| zpFRRNR~;fSFg*qFwE6Y=!hyKlrSk{~jJj#c1JvnP=63z!m$oDm6HIoWM`PZ3Ag#cZ zMr3dE(??>opKbz_uu_u+Oxf{NOvDly5Ijd8a=fM-5q>m*SX2RiOo0& z?qUoHu!=64+Z)CVm$5psk%sXB`No&0@fH%u_tikwwSi=wQ3%d+%9SrXKzIE}CI7)u z1__LL58rVfJO)#a6VLbUX2S@YW6%2p_|BIVn}>${bcq3uqBIJTvnnM`vEAgmrU#S* z^WTKAwYA_M<*j#r@HD@G-*M&%ipb4x+avU7Ft2YWL(ro{@}tl|dOt;z$AEd0%Zd>V z2w8z%mxQEA(QDl-xwa}#+{sOQB}k)x-Xv3H%s!WpK+BT%K*WL!=Wu_Pp}T#FgULxH zp+w~+D4pl#h|8%4ircwH7Pw;sT#puY8oCpF@>H8A+BX*6>c1jpFU;e&w@t7HC2-rx z&%Mau&}Nf~L+z@{sM6g4^f%G%N8rD}6d*k$#*0MWR~1&M$D8;GldHVA={`voEs&vt zFyexIZc-dR9;A_H=ML#T9{2)%@7rvvSWeLR`-T?-!nxET=K*-)Cj$ntoZwVG)2h$K zGiAVGZ8sS*Kp;5S=eU=Y*vH_wGdNQ|x8dmG>j0a@wDJ8f_@dAHvdr+=|*glf8T@r_w0x~sZ zk!#%x=W8d}{bKf=Z#wXSM@v9nNH+LA7x`KS3VYF=A?Y@OME5T&~}o;Y?Gr2 zwC?Jcg>|RV;O<<3pJ4(pzf*?N!7>HpNAqzs$>D|7ag=bxEwUIJfKTJW$1TvE;l7jJ zU7D=R*nl%fD+!iMmhGBDfY%zC(VJ?kL)x!ROzqSkfsnT%T{DNQ2@uJQY_;5^Hlixx z%fIS3z8S$Eq#rSj6Vo2HgE_S;8CWr3;`(#O8}%d`;8`*1Nije?PqqVu!MU*;NKsqp zh{=0u=FpFwe4sQX#B@jvcR)y&Ay4>$as;8B-}g)LaUd__&w6e^kV>1I zD*8gInK0Q)+9!y}YFZ!H-D0yuf7`yIYH+vbq2ij&Rp<+X{(Qc>6&xxjGLT+s$y8px zA<@B5QO^ih?1U*|`?NW^nmEq4@gs4NOfTScK+eRN8;br!=d7A~=?0}eiXRiNtCGl8 zPla8jLPo9UIqts&dW&U}rcpP&0RD|5v6b`sEeK{%?dbXNVvA3Az01exN7E(PkPA2e zFN;UvJYz##Xr^EkSH8N|uE`G|Gv3&_@#Y zBoUA3KQ`8D7Kdr!bU&RhMFQ=+o{9tSvc6tKFnx>xiKC=cv1?=h;f$ zO0COWx;?#g{&BQHUEe2C0huXrFzl`mn2J2uVdxU3OSE8;k^$>Ya-kt12?i!1 zR%2mioai@VK)ER0~uVWKJVcrh)1YiNQ!zb30HOG%<6RYdm64r;1P$0-Wrxa`QlbeiwubEC_YO`MJntr%*Rzo_X zU^Bn$DCJl?SPG|4N<&>W1n3sp4)=_sXN(pDOpj5lB=c0#V~49}kKg@2w{-njt%BX( z;j<#I0R75qXltz`$smJq=U#;1MHeJ+RPGg9j2tQ|z)TO`g}}KZDDMJEBopHTkkW6* zG1`~hc%jg};Gf+Pz;LRtMi(H-*)=QHv}DhZ8`e03)e-k3Ob9pbhO!qQ!FbT>FbHTJ z;is`h3dHw-r!Hw)IA&TnVOqF)8k8sdUffI5lR%%AL*zI>%vey_*zh-c2Xep~lvsEJ z?Y#iqJ=WKDrrfcY73)wJ)G#x?`hE6l_kLb&0f9LuUdp|D}QE9Z8@e4(f;1c<;6=LDSdH_ZH z;+wk70@v4e=3rveywr{PPc4eBR9;(`-UyK#!v!inXsqr``;KL!x?jAJXh>+~6JG}$ zBm!zBpv|Nw|FTkslA4yJMp)9biUv%J?wNdjM`_Ee_o0C8OqX1-S~A0SUbL{s&Np+C z151t#nOS}0t}x0|=K}2`gw>SmL~{=D?(HIFCl5ab6u>`HU*#NHWz6W|@ofPaD6y)u z=0tPHk_As|uPjEG%#(R}+5DRyb4hEZ_l9?;Ey#i=V9~Di&YGedT%yL=Q<-oA1j*FG z0S8m8BqYTTE%>~iw4Nw_=$eWie~@ zy&u5C&yY*G2y;)N=DDtPkV;B#! z1s*-o++5<~jm1*}MD{{cZ2Ay!jGTo&VN8ANrl>Nxw#tt4GJZ6PBl=5nzcSTU`MS&w zddkxYPw*4?rdsBjy(OG(I&zKK@JHD-au7=s8iio!$|dyj69rbYO>yd*3ddhFDnP~L z;d{4Ee$64IZX05tJnj?!UcH~8q@TY+S4iasZ4%_y{4oDE=Pq>d?y~Qi+&J?GkQY@y6 zjo2zWU`(3IRZ4rYKRmpH%ogi@9g#w8u)-G&+zfZq$4b;0duQfkl_L!7iyM@(iQSBH zh7QL*samR$oWiKx5on|~E|9;wW**6FPZ(Eks^S;E4C^2hb9=*2xOMR;&v^^yuCL}# zclBjFDO=?ta6@=jT^_HF20mNSZOOk4ADzSXUMOtxXsQ7~0l+-g3)PZy_M@0l#B@tJctc2^x3yESS@W!%L)@Zsw%* zzS1qGr>GYNti`B?pD^InQH2jnUZidrZT}x(?-*TK+pcYrJl|@7E(aK9&-u&h&6+Rm}7!U3-*P#dn)b&`vV)FfZ+%w$Hm(d z)`ndNTG2EB1oTMvk#c}ORPYBIrf0gY7LaLxfj^3!7SIuH0A{5O-Y>FURNoH!VloiX_&j&%O@&|n?MEN^`SS;jouHD zYSYZl>uIh?MFzU;AJGXvVz$-{AnK}IcbTq;>fA7p-t?98P$;C zw7%MY6v>pljAN=}vklx|EsIBmC1>V2o>E&2*$zG~*|Qu4ogPh{9*j1mgG%FzE3UInf6M)}-9HD^%UteJ`!k5+sTm)Ck?$3#SJg+>>{jv|(m9AH zo>4enLtA^r^8*?;NiB&)zwN1?dFn zWr}hh0fUX%3u_r6skV!|Wh}@uK%&>vJ<5E|rZ@@^f(@HtW(XNTAdEwj#CCB&;d1Ln zZ$eF2-GI%~k}eIGPi}$Pa|NN$r&fDMT5{(HpYti!@5tTKpR)QoY~Q{_GR!}=4rYxq zwLB}*S(pw!G0$R?SHu+QjmRovVex`G#4$49f%YEq@yjnEgxIYJ8YqZ?N_E@5I&PXm zF*jwTi|`Ignl7-)z)8dK?k0|OSin9V2kRXnL|q@{tk&|gbibApue_XynMyiCTwk&< zN2aD;F;!hER~i)|J`ligC-hf@p-h&LW)k#5d91q+SmWeKL)9FfB(UxtpZrEZhwxHB^msr{(BmM}NU&|AHBN7-kCJ9}BVYZ*BcH>Z zm9c(oi=%qVoNz+54y(o3-s$(qp>*k}E_2#MeeB6{&Bho7>&4Fybk5t_fGL$cCz}vm zlF-Bpa5IN^gdnWuZo#cCI}!b=9c315s+2Fw5)m#ft5iswBd5fulwW``c1SEsU)HNw zMw67+VHZdfUG49AcmW^t^u;dY;za{YGie+e|80K+0oE|&fHh1eNpshRfB}qz?@lVc z;m+40CV_ZQT=hr-Nz3`MefqlTxU-2~9^lUNrwi6@5&+fo=-fHqirB`m`Sg?E-{hhM zf%34AS@-l-XzKdFSq6H(;b%l&VvkE(N}BzN#%f~_pgKyQP%#v2 z@5+|(ZT=n?EqFkLE9XAv&7B*9ywDpEM4#V!NXY`p3%IOE@1_aw@_v;V5%gB03p0h7ww6a$ zY?b3Kf+e%wrANefwr&eL^sRrWG{rC$fNhAKWSq7Ue*vg5>Q+c=liv*ic@b>1f2i&S z7yBs|N&(*sIW0rwN@~(MVW4D!vLFRnfpk9uibvfDlv?UcnPqMMs+!<#2*B5`cKqP_ z!93*cm_Ib~6!+zRL=v&0m4Ahsol+*PIwgdK^(YSap^BZCM36{Zclm!nOccesHwUeJavmH3sk00>x zK&dINmebfIhJ}h&2c@uylZzfNo8fH;06;YvD2_NAV zu7AZoXIyEvxCRI|o9a&&WHyJA)ROo(f_F?d2K3N!haFtA!bc-SjSEvZQ0}TiR1;05fWY$=)PqFDPSE$H0UtT@GB6Car(|GL> z;69_H5_-7G$+|zXFf^(jxW0{?Tc~kr8~Q$XSv#O`4i3C}AX>S)?78=?GD$;Bjc>NB zG(Mg(c*BA~M&T%Vo5cf1fXF3H&YY+4E^2my#aqEWdqhZB7tyP*)pD|;2c|TYD-Tv# z1L?h=*fNpoAOpkY1hZMIGIEa}V12Zdf3H;qy9cD2b;uuQB*xc98mA4FCH7Sot7{0i zqoQBB7u#{*uvK62>8cmwlaeJrY0rm#ter%UBDXZjOpsv&EC)O6TE)7l{j@iNu}Hvk z^lI+cqmAJBtOmt$hJ`C*DANefx<3<3qHwNInX4slrcl09->P6gYvhU27!@z3^xbz9eqF&slm{D->#1M?#qP-f^Xa1_QNNN2s{IgUM6A5 zmBLW0n8LD9@}Uv=X^6)D<$T<%lUCBPuc$X&AfEW|jyXXYqp@XFhL*mqa~zDc%JfF) z>pUSoFR$u)t|xjBslVAp?^vnsR)ay=YL+$L?l(#FBmAL+m!E%Kis}?pdL90GpIFgL zhH5Ex-d?qx@CVdHh=&yekdvbC(sM$e~cfN`gQ=&OV<$)qW!-|Xcwv~*zRy3 zdT;77?dUiwzz|KN$6n+DujFwb=?FbKHEF7oGi_NTi`DccmA`D-W)@fzLIrMs5Z^=& zZ9Yy&54wGT%J0g;y~ukM_{C<5W3Tk)H=tPOT_^@>Rkkk)J?qrAo8<2G#$ZeY$I-sb z8(xpv+7te%^+Q#)i9_oLrq{-xtxA>Ng?um3KE0>n6DrrO?z7_hM*l5p>krst8VC%M zzs7c6z3O;A9415eHc?$t+c#=5-Iq08e>69IICed%RwF&^;BVPPl){jt-%k|I9(LE(@rPE)K?`03Xj{jlBGW$GGs>7mj0C5?rthpWJp4) zvK8Ll$z1|$Rn{4VV!AmN4HFVO^sXZ%?*XMw7Vjtix1SJ7r$BY=gRqQM=tj|Uy)b5> zd6eH^Q3iW4*Wps2QOt_>L~2(~w6)HL<3SUnNWsE#gqbl0`h`(M4$WU2it=i=y%9?} zLN>RtFzk-wtasjVM1^*E2E3Q^o?#XniiBiS_`nk{@#hO%H4E)r zV$c+!73gwxylo_-9X;6^s6mS$z{vnzs%-^^%mS>ozTWjq?_o-|C+IS5@Z+b=19tQ{MBW`uK~_>B{qGA691ACSA*zB|-N`dJ&4xUD!<$NjcIJ1Q`bWXC%(Z~n zvWKxd#DdW@9>`J+N7vgCngXX-J0ChNUb-E(MEJxk9H)ne>$}#6<9+_GQ)vEb*_8$q2xtM}Kb=BE|Kk+0Hn!6LityKU zG`9gn`rA60{jViu>uUdf7U|nFSc9>Algypvt)R4ygTBK~o?E}5W{xK6l-U_}UUE?W ze2q$|hl9(7dUZGf0Y1Ba%CI##!{YZAEE&wiZvDZU?ar~q*GL9KZ0@+Ps8DYC?X0p{ zZ}i@f6YXi_Djj;n6%nB^U6dJ9FME(=_a|O$Jr|3Ya&hX7BGy@rvM)%GPQf#>7kQxM z$N)Iry1pL>ZH-H2NiOqx5Y1DmGVF>8j5ZWL41GC?IoSVIa|1_P-PhUKXfH!gK`kYX^ z5H7P3FbxyGToSm4<}`(wS!$C6CIe(Ync-Y1^a9Hyn1J}^`5_q=4dM_e$;2iBHAy|0 z3_X#~m~X!eub>mLg8iatrF;k$kuZU|D7lu$4xxzY;d?+qwE{JwmM_c{?`EsRm{ToW zePNzCLjOFz4=YnAViXt0E6$K|5MDLxoGJ~pP{`At8Iu@rXt z67UqN>HpfDrQsRIE1~~V`mq2BW#)js29*rjy|9P=6s-WuC!K7n+662}aeg+~Mo5En zE(&{H?htCL7wh5KK;`SPV1d^AYpx-3oQ((%$#iA1&w0~E9;z-;>U+qt!KWe~MH3Fc z(+p^B8>ON~hYr)Kuti>FEOMjK9yH3pz?ezwGsn$O+NI0KTW52l2Y&rKo4bNrK4r`u zIMeUMmh*aCe=b9OJh9dh7%Z>PU~n`I0(!i#I4wEGM{+MkaGM-)H)mPzNwHZ)^A&i< zoIKGt-530wpALI{uvV@z1`!Ds_m?=B{s5O>8|0m~a1`ASmik*Y*5AEN-DFmk$R zXIV@RD=0(8Gk8w{1#v(OQV2!)9 zvEdjXY)dC6388&_3{6*+iCzm{KPdEz^Qn&%`=HJt8Sa>$`imFxJqvo1x8LV9<+R9e z%{qCr$RL1ioJ zDA6>s3RM<~*Nj1gA7qD#GF|tHPH$^ajq*9vzQ;DSp2R{uV!XJO1J50YJ6K_4ld3nq z4=@l;@td6iPIJ*^x*%p{7H&vm`&z5~Ow{}{WdTl3$U7X@PEwiG?^rBvQzten?;eOpop(<4J;H6DEcZ3)P zPrsUD))4JGVp|y;Kht%ZWZ*h4TITxXcEby?_9c$$izXP|B~#57YkJ6L?+be$z}8t& zo%2{t_v*x#sj|%e{Q>fIz#qTdFZ+T40pVc(rvv_f)=nDQTG{^ZVY&YgtY@IehD!5w z%K>+YwI-7_YuS)IC{J8`hqfBAU})p#$19t-B&dWh5E*xZyzhsZr zA!LWBnDbFkk3x)gP5Up*wvoXp8&bb)-A)RoU)xyD_I3t)7$9R5%SpEmo;&3DE=V1O z2#qORHh)A-6@-C@ypD3EBFOEJz@c)(aMbXbx4Zb>I;7qiFNkRDru_@-A*Vu|&%jB$ zZfjH71O1+H-_!gi!?Iqwz^*)eCrc&{e3zNiYRiT0qJ>pi?G{arz(YM$P-{$idwnaAGxA|8@HN&_yLt+D zcfmqKU#eqbX4VG_LsxKiG$Fm|=p=DLLF3^B2&yNi;yP;b0{f3RATsq`q|Qk1J%%W2 z7XtG-_1jNyc2Ni;`TDDD2Vz27eThb!4M~{EX%S}~&4E#xpFuTOa14z7>E}p2pjmv) zgsoimlMyuik^=dFMCXiU`P#lo+m857b2oa?h|^tGo1uIN0R6^qyG=!M0Wo3HY%RQt zoN60j&4UsLb5VsPjOwFwrUQb(mj?2^Cjk!d8_}X6IY1T&Iqp`X#_`h9FaT@`S-EzH35^LCyhT6loyQwVQFv7sXP&*?Jcp19y#3 zGGYAITSRvYSnCDBZ9JG4nPzZO=mD1i`vYt-&CFKI5-)JRa33YvdIvxii>7MqA8vfuf-{@-;f70m5(i^$ z_P&2gL9$$nVh{}oW%berEg9>l;J(>>rnwO?M^MPgxW+T$#ZFOun@fRQ$c8;s9NB>o zb(BJ;Oy3{Rd>%_ZB{hKEX08*0!*ZOFwQUkg6ofZ*u%rq6;&CW*G8<%(!E=QuqXkz` zBP;y4Xb)f>AYXv!GnyZn%}oN(^`RxP{;B@Jqj5!3_kaQ*xdSr%Tp?ps6SK%rx3_Vb zZsJ)>Pi^E~>OTe&YM5{?rmP7Mor!jxEB2g;w%9V@xK%8rtxXqFzI)IaI_DWZX!KUZ zurGMepw{+Bb;I*@@AHsL(&;bkBy`i~6aESG?DPy8xLx*S+{ivJ60oxxlQvkWJwdmE zktWWzwM`ffW|#3dRJA~*JGJVm>ZZJTeqe)^RDCac*QhxMC%R6#HXIHQtRu8v1U<>R zji^gOet@u6F;Ge-PIXhX?rJzAjdZ!?GBPgIiRb0Wo&p;~XAJX+Q5kJ7ZbmS#0ZWS? zICMaJwwb&>AK2vAS=VXj9KE>kE#-0c_AbB8bhDpvh4+f@;XQ+7cekaRVMtCHMNbpR z*ben2fcDFt2<%3v!DvWdUrM)9rwEOu_Mo9uaI&051f`P&u_}O9=UI;3*{uD^;v@(zZo%YjvsE$^K>J6Fc z>?P<^eT20P(_b|QBf&{*L2tr}#gsuk71f>&kru&Ds+9I%v=P=*1M%;%mhVECv+aJ@ zQ%$BtxbylH@`u_#vOr2Q2!Q81XMQyBzea9^B-W}da>vJVyj||5S5|KQzO>zFXg(~_ z6g6|Yp6dLT+V;w6rXp!vsnQ`$;?Wz^v<(BiVK3Mxn;lULoVicfE)XdV zav~?PzhFEaQ!7ymh0+jRnyf9tf~Oc%3)x@8Z>zNm`9MYnDF&GxfaI;;XG#@Y)y402 zn;RK;8^xCH-WQG-^PgVV(HhMv94)NK2GyEuwQE_57&EyPA1|zkV#%yW)dHrkZnKl< zV`&WQ?2Jo;i>;%cax5QoGaYoMky;s5t}QrafI*X5N&i_}aESYH<36TX6Z`bs==qC` zYH`XO-yx9Zjs<~!)nmDlb=|s1g>u2{0>6+W?93mi?4tTW(_=ZWX_w8T-`JSFv5$}l zLBbk&pcYha&D6TqYMVX%wAvsFF=q1`U^*BLptb`eyv&))=xH70a3Nk)?MyQaNI3T` z{nU>>P_Q>2>ZfOySBmOmL{hpZN*XU-i@$`TBIO7l8TCS(9v-s2glVogYE7*q62AYi zX@ri@L^+mVM7T0q$%cCX;YAEZ$AtwTL$Y~4zPaZB@g9MGeIokdQwls@n^{CY);sAE zru#r1bpkVY!KYz9OS=#sICn#~SovR!2^<1khqcllo8Mc1I=@pJ@M=0y6|Hf%qT+<4 z2kVS4gg>JPa(z)jNxV`z^@kDk05M!F#bC7#=7?@4XtzYQ_+4wJu=aK|!dc$Q91dn6 z@jM66PHAx42y+yER120Xs|nxQhwaWsn%7JT#L=}7^!t%1jk}F{cTdI3d~h3o@5k!N zzr@f^QPz|oJ`>#elPV->ab8k>5}GScVXd@kni{K`$_-=KOcI*@*pW^^93V*c%r++P zD~i_30~LvCwz%)CW=mLKf|{=h%&twjyd+T@8Bay0p)`Zv|3_ynd=?~fA0`!Nt z<8o-9&1`Psi@-=AmD~f6p@LzuY*N0L^W*}+OLp1hXfi55e+U(=gh*kx+P3)#Xjf~$ z!<;4kDC405878Yj;N2NF;v#@O@qwE|wG2fi2sjG10lIw(?~CY(w3$vB5wGZH>uGDj82?QkGR-*xoh8 zn{2Gy9wWwMf^(cWgmJa5q2`Z%b*Z7ZM{`HQ4y#sJ+6HvQ#nckaVunc_i+mC8i(cS% z`~i15%?Ee1PQt0O3Tsd6X{(h8?CUpYSs}N)dq51J{^KY`SK$iJzUngnJAD(!Nt>Uz zi(`Jx>ay3~H%*!-JpF6&N*T2DKqP0?HZuz_Su9zxK|9(W?Y*yfr5DlTuXrW*>`|ez zPWk&J_rK#6J#b4%m(;<`l|SEwNi6q(jh{yi!`7Ruu32OP$Cf17d{Vt*Q zoj?yN1vl6|i*+=+vlW&yPtj=M)Y4;2KhOAl^hIqD4C#!hh{!YLZBy7+$E*BRe+GUb zzRykTx

D@mokftA2W=s|s(T4DmW8DAQdN=loUqW}R9a$M9{KEI0!%CfTkS^XYF{ z=OWG6+!It+)Pr!%hb7<{(SE#6d6|Fx5W5foHoN~lMiS_LtM9-1va?9xo%(5A+WZoN46=Iav?6SaTZ!bw2 zRvd~)-7hQ!UIX$r(q*agEIa}EN_k#Iqcr+9b_DKc9Sog@)O>AZG;JAlKSs8L zPsBtlvhU12<4U~wl#vUbRm+|k+*zVEB&9VR7)xF{&_5#3k`UakZKtLDQ{Hy%;){It z$>vWM-AJ*7QnCa;Xppg~C_h;PPfVjo8R9JN7oSx#$gG8pi{;*kat8IMUJiFiFU=QL zPwwXscc%93FFP zq{Q{BvkV8f^R~Iid|qD|`0=M>*j}w>Xj*M#Y3tC@e{nwlyyCKF{Pg+*c+np4^FK{M z|I?^8Ft;++HTq@fkf8$Ju0g_4aD$eG4l7dlVb_6-<-7~(yNxAbv>fUo$yeWk z-l#a*hYrL*$(EniupYYql7y|pt+ar85C%agy7~nA1X55m-6>CZad3Wn#L4vSU(M+T zyQ?nDAS4hbBE$jZ)0sN#UTx;~H?Sj~rXl)$pw~*FcUYwW{4)7eea?J_NTL9nsenOyLw0P$FbD_|_d#2Y!#qIrF}6{MF_Pv4WT2-M)2$y&;e&>2--e8RjND1Ah($f zUkgEq#y}xPk+k~@QfqSvw76Dkrhk}Zm12t=N+*OvE8uk%XY_#&a_tF<77`8J&b1GP3S!aZDAElM*H0?KP87Jpaw1H$2$cq<*aJkjwB_|S> zQ|kZ`upiFF`gyS`j-d0%z_XjbyyrnnuGpu#7{VcGc;kp$Jm|5{@%Zh4fqlYUoTWk)&y?rt|f%&Ex zg{}g^GfMOIgB3<0m5&o~@p8KVPFfE{ianyLJ-%~#Me>f0bO66um4M476gz!*;n{X- zckiPg;y{wxP2(U8o#%#F95qoNk&xW2a@~2d9#z+8_~TpUfP3TvbF=w(DEPu{4O*IR zv+yp9NA7@lWkUQaRF`Ijm)tHwB{hkwhJZPxoQ2^yk)f!2z@4`a*!^LQrz8X3!x5_{ z)~RE8I$X3^84yrjk03MIy(M`@qFdeIHEmUOId8ojl`?ZM5;NESAtQd3esKT3d<@&3 z-Zk>!3g_*dvW4N&raB;O%7st!d>zm7PGynUE=*Vngvu(-SFK_4 z%jxCEV0}m*B-q#!RbG{+-rL`|lL<@Klmrtkcx-#l9IdKVM^3BZ!YGyEi6=a^9T)NE z_4 zF847pi!Q1uSyoQ~2S{yWs!}IoHBM7Y`|k!w_I!rbD6ao0$I7LiPW?K#Ms9}4K_gJn((xAs>N9Fs8nV;C_!f-Y_J0Ptp|<_3A+p!9J0 zWkjz+fqK`*Pd<}-{6(8qnHKI!MYJTu$~-v0-qr|&vuUU(wu4e_C$?-}XVxk>t3E_! z7Cu?*zpxw39Lm2VxH0iat+qjm=d{F<%Dr+5WeF%yqpK>Erz0J>h1637k*w>$P@@^- zlnG`89>Y4DdT}!HLdxvmBD?Ln{lC%U8yuoyt={(+Ku0tZM8%yak!Wq9#jQx7*4CqK z40mJ|FR~MO_QYL|B=EJunQ+}#y&TLQVNhvU5UR;z&!B;SSREXC?ODxn=S=AIfX?-9 zLfFi+sFgwIJmiaVt~9goHla~VXmU;rR>X}V8T5CKjQu)afx5=7Xto5g9U zzx&avVHY_K5-{vvHoO-<Xw!+g^ zOIVzpUbfIk!}u@oh9&7=@P_OQyh-_Q@TUA9@TSuKcSHU^;0@Wo;ElHJ7kESURZxN6 z8Uq;)k{&9k0%Z3Uy1Fs+^CD7aaOC`DG!leh|A)vu@GrjW%~ z=BoM^cVpZ-(%-K~wWklAPeUU(ab^Q2j^Y8kx|&a`QEO&o8^cUY>%}#RkA)mSmS%?z z_GhE)Ujdp7t8{;dNv-LpD=VNqdRY zFsF%h&Rf;F){1sSoX&JyPlB9UdJtUhJH^uu`WT&U3ze!GhPe|bQu%q!*=qNDZ5EXV zY8M?KZx!VH!}}*|uge#9Bl=(1&G!mA0CuzZf3O>_0mkQysGhU2zVcRIvl@|}ha>MjB2T9>8(7ADve_YO$BM?f70tid zM?v*)fVe#-BOi_Qr0cT4s?o9`9icAIoev$G=okz$Kq(evA?6@ zAN+Gv?iUx4XLX=ni-m9CA}@b~3+N1&4{9v-?Ox5((UCH{-)`$b;Z6Gv@HP%DPv-*) z`jNXL@Mm;a*A>)>AB`hg_6-z|%d3!)g-!j1_U;1>${yS|o2}T1rPH*I?o_lLLTcdQU!pfRQ4cini)rTiqUnp$%g17HYX#C(A_3?(r$p8JZSNqC(Av3J8^n?*OS_z$}oi>*D! zzu-;Wh6R^lV=dt|->7b}*D1&~^p-ni^>05*+U}i#Omy?#Qt~gBs4PDtUnZNg78-sb zwy7I_4FjaBC*RE^bo0}cNeJt!ztf(EDR^Zp`)BlP9lX* zr%;}+?pq5X0?0FM_ILg0@{EB`!}0RG4T5~%!P$V)~7ny^W}GC zhlug)MjJtEo||jve4bb?-eQ*(oNRda$M@v{I|ruBECrMgRdjYPg_Vi1&|X?>Bc+Yb zmJh6t+v0M~Cwu!}P@A1y0THk4msPf#zr3IR1^pw$(f9HJkxKIaF;a=-|7*u>XZA1h z|DU$p=UV?S)<5YS_*I_N+%m_$);@iC-CTeX+1gUHDXzq-UF7ps5ksm#STS*}KFff> zpETapb<%~NhbLtAP#1`!wvyxu8n16vKT_s-4M3r*5ibJ z$GWi?j!3IbDF%4C*JTle7LE>wBot6~ECD-hWKuT!o8nkQTb?~6d7jJaM6xr7VO&ujm`G7#(bX z-8jQ-Ja_@|(&9yvHBVVCUFNI==|hUSv~ed+J%WyyjqB@pSqN}|ZQQfI5dFi*h6yd~ zYHRp9uObx_jvk~M0;Xn|I0^S5!XJ0gsj#x- z`AQ}m`plQTAj7p*@mJEGddoy?VRays;YYM#KU~Jj@zn;ZqyYScpt+xZ*CqsmO8MTS z)Yc%{CKQK!2C!e46_dwL_`D4*rKA+u@UwRiU z=)_O%+WGR(adPkkrCBo}C@B-!x$bpaD+v0+mA=$0Zk|z@kaMfL?#e{OqcSr78Pk(z zp=~2f{1;Z*4HP zg3PsJPONOpQR;U%S40w#Rs$7qZA$jv)ls${vP&QRl|S~D!}-Ec@V593rM(1*m%1@0 z3gd(1peA@FBmoV2<4*yREh@yp!?jA>^RY}Q=V#9R1q#D6(l*vDv0u&rs{Et|4HWNY zFB0rq2|eb9{0R#veS%mw+^=QQdZ~gmIJDlqL`6Ymu0mlj8auok+1^x^yWUoUthup9 z39^<1Mt*{^v|E1Y|3@41<1elscC?<1M11fZ4A{gH0fnk4qwoghC zW>`a>Q~Ds9lpRU(pc%@6Bw;lAHE;I@|BlsZi6hRn3y5UMsPFu#3q>EP~V zJ4P&Lj9eSmNJ!?kG%A%dEl|I8P%! zIP$2K5UeJu4?gzkua|3j86pZ$Q$k5tX$tX<6~I<2maCpZw-)@g1h}muSIrDz*RzFjP}0~gFen})M4-Qe4PR7%i*QjW_7y~7 zlTW`&%17g;Vr(YP%K|4|+I;u-UyrYU_`H=#}RSxC; zEG%f0M<^K;`4Q4lFWxNIpQSxy>}WC^fk2FEVlAJlfQrwR&$uX>J5GThXfO{Q=7vL& zsYE)S-3tZrp02SmKrfkyxD=g$ns9l}7~LJ=!v4sR;J^@u#>Zik!uYtFx|t)Vpn3tC z_`qIr30B1z9uNFW(Te@^%1(Hoz5Cm8XQC8`IfZ^3Z;!8J39a%6>lyX>6NQ#xGt@hW zuljjc@aOssHJqCp#=b;XYYVGeAb1K?pSbQ!Zq@`+VXnX?pj_Z(;^(jJy| z7)yh6Pv}bgdIGAH*9{}I^@uaR=EKXn z9M2D{c#6=>iQmI13}PApFPiq6N1GoD3%c-NwvrJZ0J5~h1%($Psf|JYrL|1o9zGfi zpzd=piLq8^^LivQ$8G$QwEn3M-W23u*j}f2(ni($_~Ors9_yD-8LPb?bB~bT#7Pp^$z(76Bn~^$fo@%$A8Zv!JJ(>g z)GZ*WqVqIn%uHD-pusKhPkwh7TzBh=xQeh+MK|ABVs50sP(*B|rCIO1h>K2Ue==t{ z$aPW_{Ln+(X?Q2iiECoKeFdiH)IO~H8@P3eQD;wkAyYunvlcMu#E9bzvW^mZfCt!g zSP;c60=0f!&`#Cgoa8`T7a?0=hUPvB@(bI5XV!#%xZn^vmdA$0$^D`*r~(olHpX*O zh366~Q{AtEx{IC(I#qD|+H{N*pW$lPUbhDSo+|41L=a5+M~yC@41e&PA;sRKn(dqI!)u9@t`)JT zVG_``@JJf~deY^YT2&1TqIlic&lOPVZp{j8V~B~}UYt^S4>DQQ6j8EY;r^_Y0a9j_ z0ecRMg5;h#y>-DWi-+dLZxCTz0|sAeG%t82+rtr{XnjU79>U^lQ8MB?`c6qV@uL;wiFv*AS9@jaXj2$I)|Ip^;BfVDR8HCho7OVF;57egmz~QFW=Yx5v|i zAMRg8>C|L|MT|XI#Wa&T)cGQKF5BSk*aPn2$sHT;y0NDAmN;$fB^c)-L9UHiN=m=Y zyecw9mI$1-HOd-3z&H8di8OKl+7M1#+swCSor~d5Yn1*993W{(r$)L4F{_R+3+E|^ zE#CbwBmP=*K>s_|1OdjH#XX{ShO17+bykW6JrC3({Fq#6n)YlnqbTW|0?hawx|K_X zT|oG7LT!@g2Mbt!wRQngM{g;8C*+0&+D{`E8XgU0Tm{URgMkb#1Yn_8B5HxnreKoq zEC*zp2fdO3%I*f-R&ly!^A^HmCK+D#Ud`QlEK;nW)sHM^FdFk}MrbI!r&OXzhYs}% zAy1>Gb9}k z19R3dd-!F{iN(F$G{>_E^tVr=!MS_m@0(E5HA5AV@Nr{;4fEgQ$J{$|#w!n*qcXzYj3&Q@%iAi{ zqbhKZtHRr=1ag(rqiy%vZ(r_V5@QxklUf=s4>JI{c|u zW7xd}#c$j*_b>zdNd+n;v|lAv?|+t)u1Rh9?scvGbENu#IPvO_0%ztk+T)(y&r`{uzd`@`mGtyS3bVGnbbj(zL()#wGKrN5& z&zBzJg2dv$gyPHA6mM4L!nRJ1*bQnQZ=@q*WF>@tPpL46&<5d6 z2_(8*JOYuS%-0KIX2uhK+y8j{dk@@^7Zcs4O^%?8oKoqv{ZKz}Ve9FD(50Vw1svnW9H(h@7HCISkrqC#AW;jjiF?Kzi&KEiN-u_9g%o#R1ak$sP6w_QFA|gj4`rF zX#05FP>|-Gm(~(9>@eb*r+}YB7E#it9V?C-FhhC*?vMAgVE)p%?T1&~+b6c$YHGd* zv?$7rwQx!?KiSjjSwl%LmI@)pMsZ=Cq!>%=9HU^8g`PU9}HniXS zn?;`+W)~-S1XYwQ-VXQGCYLM6uE5rysr?z*XMCJ##J~>ov;FMpV_V0Ed9&6#S=zoW zm!+5^7%g9^uGwOzI}|b`9loNe5x?zC zJ6`>3Iuc9%Q1wiH0bGh+JxTK%tnt-x(Hd&7|Y1mlNP`=hAVK31r{$6-1L1!VnYfM$o;3eo0$V#J}3ne>auQ2VV0mL{gj zy3?;u6S{fXt_I>Ve`&dWK@8+*lP$>QlDrr|eJ11PFPeIJ9L)2Fux#tYV_y{N;RlR| z*e#FR$&Zv`>p)I#f5<~7h@n+8IKG<};Ew}cb2R~&>%C>*-vwdo(^HzzHs#x8?D*sL zRw6M_6L=Ci&BLb2JgN{?ND)Ztwev2tuH$NeOeMHdV+Y2+9-(^3X285;0q$l|9Ctk& z2Dsq%NldNaC$ZF8WHC80h$b8!)ArxbaZ-^0Gm(<5pR-FJVX&*?YTx_UMFwi zL|FwyLwsQYb_v(>Ay>@iQ!&Mdhl)c}&B@tPQRF=BP?ws1a8R3+;|C;Klf9h_c17SA z;LT8ALEGZ!eb*J-X>cojRV$I8nx?EuLIy;7G!^6-Q&voU7kcxP28t)j5pm5kE0IKV zh-;KqKkQ75IQ*S}+T@lYIG-uJ4 zTY0?flErY$_d$%FFdRW;=6LN1*qA|)g^7#*fMxUYclEGid_J*swYYjDZfr#4cfSpY z>~r4L$+`xFU-5P04@b?s8S!Pi7$Fe@#cTxpE#%Ij`NNYXFO!^ue3BC;53%GWnyZt& zI(%nr#6Lg!aj{2_b_2H`cXeE^F)fSJVX}hBHZzFmu^GxH%4NMaA$M_b`*WO-a6tnu zcwD+LSOJAK^3P{fiGGEeJ8}H$4~U-4Z>D1v$W2Qd5Yc^tgJB+kS!r2xe7SdJLs2Hc z!~&aLVGa{wGc=tXjnxZU2;2DY%oh98FWLMMT2pYaobi0+hAX$p=; z#MbB;^PrgsF?^(uKzj?LD~$U&!4>*a=WGr7jJcZ5hurwy`Y_ZYLNLQ{Jquwy@* zKCnz#8mkhNs}$Azc3L&2n(HsLHnJH0KJanLm==u5*06pUUn;34xmY>Mmq7KxnRZOM z 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%0DR>sH+%Nn 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 10% of the skin surface", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nSkin involvement 10% or more, not stated whether plaques, papules or patches, no tumors\nSkin lesion described as tumor less than 1 cm\nGeneralized plaques/patches\n\nStated as T2 [NOS]" ], [ "p2A", "pT2a", "Patch only", "Patches only with 10% or more of skin surface involved\n\nStated as T2a" ], [ "p2B", "pT2b", "Plaque with or without patch", "Plaques or papules, WITH or WITHOUT patches, with 10% or more of skin surface involved, no tumors\n\nStated as T2b" ], [ "p3", "pT3", "One or more tumors (>= 1 cm diameter)", "Cutaneous tumor, size not stated\nGeneralized erythroderma \n(Greater than 50% less than 80% body surface involved with diffuse redness)\n\nStated as T3" ], [ "p4", "pT4", "Confluence of erythema covering >=80% body surface area", "Generalized erythroderma\nEqual to or greater than or equal to 80% body surface involved with diffuse redness\n\nStated as T4" ], [ "88", "88", "Not applicable ", "In situ case but no pTis is defined by EORTC\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bcs.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bcs.json deleted file mode 100644 index 4165ea733..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bcs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_bcs", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Conjunctiva", - "title" : "Clinical T", - "notes" : "**Note 1:** The substantia propria is the stromal tissue of the conjunctiva underlying the epithelium. The bulbar conjunctiva covers the eyeball, the palpebral conjunctiva lines the eyelids, and the forniceal conjunctiva covers the junction of the eyelid and eyeball. The caruncle is the fleshy prominence at the inner corner of the eye lined by conjunctival epithelium.\n\n**Note 2:** Tumors confined to the epithelium are staged as Tis in TNM 7th Edition. Melanoma in situ (includes the term primary acquired melanosis) with atypia replacing greater than 75% of the normal epithelial thickness, with cytological features of epithelial cells, including abundant cytoplasm, vesicular nuclei, or prominent nucleoli, and/or presence of intraepithelial nests of atypical cells. (1)\n\n**Note 3:** Quadrants are defined by clock hour, starting at the limbus (e.g., 6, 9, 12, 3) extending from the central cornea, to and beyond the eyelid margins. This will bisect the carcuncle. Quadrants of involvement are coded in **Site-Specific Factor 2, Quadrants**. (1)", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pgs., 280, 281", - "last_modified" : "2018-05-14T21:29:01.513Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Melanoma confined to the conjunctival epithelium (in situ)", "In situ, intraepithelial, noninvasive\nMelanoma confined to conjunctival epithelium WITH or WITHOUT corneal extension\n\nStated as Tis" ], [ "c1", "cT1", "Melanoma of the bulbar conjunctiva", "Note: T1 has subcategories of T1a, T1b, T1c and T1d. Assign T1 only when there is no information available to assign one of the subcategories\n\nTumor(s) of bulbar conjunctiva NOS\n\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor involves not more than one quadrant", "Stated as T1a" ], [ "c1B", "cT1b", "Tumor involves more than one but not more than two quadrants", "Stated as T1b" ], [ "c1C", "cT1c", "Tumor involves more than two but not more than three quadrants", "Stated as T1c" ], [ "c1D", "cT1d", "Tumor involves more than three quadrants", "Stated as T1d" ], [ "c2", "cT2", "Malignant conjunctival melanoma of the non-bulbar conjunctiva involving: \n Palpebral\n Forniceal \n Caruncular conjunctiva", "Note: T2 has subcategories of T2a, T2b, T2c and T2d. Assign T2 only when there is no information available to assign one of the subcategories\n\nTumor of non-bulbar conjunctiva, NOS\nTumor(s) of bulbar conjunctiva, NOS WITH corneal extension\n\nTumor involves conjunctival fornix or palpebral conjunctiva WITH extension to cornea\nInvolvement of caruncle WITH extension to cornea\n\nStated as T2 [NOS]" ], [ "c2A", "cT2a", "Non-carcuncular tumor involves not more than one quadrant", "Stated as T2a" ], [ "c2B", "cT2b", "Non-caruncular tumor involves more than one quadrant", "Stated as T2b" ], [ "c2C", "cT2c", "Caruncular tumor involves not more than one quadrant of conjunctiva", "Stated as T2c" ], [ "c2D", "cT2d", "Caruncular tumor involves more than one quadrant of conjunctiva", "Stated as T2d" ], [ "c3", "cT3", "Tumor with local invasion", "Note: T3 has subcategories of T3a, T3b, T3c and T3d. Assign T3 only when there is no information available to assign one of the subcategories\n\nConjunctival melanoma with local invasion NOS\n\nStated as T3 [NOS]" ], [ "c3A", "cT3a", "Globe", "Stated as T3a" ], [ "c3B", "cT3b", "Eyelid", "Nasolacrimal system\n\nStated as T3b" ], [ "c3C", "cT3c", "Orbit", "Stated as T3c" ], [ "c3D", "cT3d", "Sinus", "Stated as T3d" ], [ "c4", "cT4", "Tumor invades central nervous system (CNS)", "Stated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bcu.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bcu.json deleted file mode 100644 index 2485512fe..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bcu.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_bcu", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Retinoblastoma", - "title" : "Clinical T", - "notes" : "**Note:** If both eyes are involved, code the information for the most extensively involved eye in this field, and code the information for the second eye in **Site-Specific Factor 6, Clinical Extension for Second Eye**.", - "last_modified" : "2018-05-14T21:29:01.016Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor no more than two-thirds the volume of the eye with no vitreous or subretinal seeding", "Note: T1 has subcategories of T1a, T1b and T1c. Assign T1 only when there is no information available to assign one of the subcategories\n\nVolume no more than two-thirds of eye AND Tumor formation: No vitreous or subretinal seeding\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "No tumor in either eye is greater than 3 mm in largest dimension or located closer than 1.5 mm to optic nerve or fovea", "Volume no more than two-thirds of eye AND Largest dimension not greater than 3 millimeter (mm) AND Location not closer than 1.5 mm to optic nerve or fovea AND Tumor formation: No vitreous or subretinal seeding and no subretinal fluid beyond 5 mm from base of tumor AND Retinal detachment not present\n\nStated as T1a" ], [ "c1B", "cT1b", "At least one tumor is greater than 3 mm in largest dimension or located closer than 1.5 mm to optic nerve or fovea\nNo retinal detachment or subretinal fluid beyond 5 mm from the base of the tumor", "Volume no more than two-thirds of eye AND (Largest dimension greater than 3 mm OR location closer than 1.5 mm to optic nerve or fovea) AND Tumor formation: No vitreous or subretinal seeding and no subretinal fluid beyond 5mm from base of tumor AND Retinal detachment not present \n\nStated as T1b" ], [ "c1C", "cT1c", "At least one tumor greater than 3 mm in largest dimension or located closer than 1.5 mm to the optic nerve or fovea\nWITH retinal detachment or subretinal fluid beyond 5 mm from the base of the tumor", "Volume no more than two-thirds of eye AND (Largest dimension greater than 3 mm OR location closer than 1.5 mm to optic nerve or fovea) AND (Tumor formation: Subretinal fluid beyond 5 mm from base of tumor OR retinal detachment present)\n\nStated as T1c" ], [ "c2", "cT2", "Tumors no more than two-thirds the volume of the eye, or with vitreous or subretinal seeding \nWITH retinal detachment", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nVolume no more than two-thirds of eye AND Tumor formation: Vitreous and/or subretinal seeding AND Retinal detachment may be present \n\nStated as T2 [NOS]" ], [ "c2A", "cT2a", "Tumor with focal vitreous and/or subretinal seeding of fine aggregates of tumor cells, \nNO large clumps or 'snowballs' of tumor cells", "Volume no more than two-thirds of eye AND Tumor formation: Focal vitreous and/or subretinal seeding of fine aggregates of tumor cells but no large clumps or \"snowballs\" of tumor cells AND Retinal detachment may be present \n\nStated as T2a" ], [ "c2B", "cT2b", "Tumor with massive vitreous and/or subretinal seeding, \nDefined as diffuse clumps or 'snowballs' of tumor cells", "Volume no more than two-thirds of eye AND Tumor formation: Massive vitreous and/or subretinal seeding defined as diffuse clumps or \"snowballs\" of tumor cells AND Retinal detachment may be present \n\nStated as T2b" ], [ "c3", "cT3", "Severe intraocular disease", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories\n\nStated as T3 [NOS]" ], [ "c3A", "cT3a", "Tumor fills more than two-thirds of the eye", "Stated as T3a" ], [ "c3B", "cT3b", "One or more complications present, which may include: \n Tumor-associated neovascular or angle closure glaucoma \n Tumor extension into the anterior segment \n Hyphema\n Vitreous hemorrhage\n Orbital cellulitis", "Stated as T3b" ], [ "c4", "cT4", "Extraocular tumor", "Note: T4 has subcategories of T4a, T4b, T4c and T4d. Assign T4 only when there is no information available to assign one of the subcategories\n\nExtraocular disease detected by imaging studies NOS\n\nStated as T4 [NOS]" ], [ "c4A", "cT4a", "Invasion of optic nerve", "Extraocular disease detected by imaging studies:\n\nStated as T4a" ], [ "c4B", "cT4b", "Invasion into orbit", "Extraocular disease detected by imaging studies:\n \nStated as T4b" ], [ "c4C", "cT4c", "Intracranial extension not past chiasm", "Extraocular disease detected by imaging studies:\n \nStated as T4c" ], [ "c4D", "cT4d", "Intracranial extension past chiasm", "Extraocular disease detected by imaging studies:\n\nStated as T4d" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bdh.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bdh.json deleted file mode 100644 index 9a34e9580..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bdh.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_bdh", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Testis", - "title" : "Clinical T", - "notes" : "**Note 1:** Except for pT4, where radical orchiectomy is not always necessary for classification purposes, the extent of the primary tumor is classified after radical orchiectomy; see pT. \n\n**Note 2:** Assign TX for clinical T prior to radical orchiectomy or if no radical orchiectomy is performed unless there is a cT4.", - "footnotes" : "\\* Except for pT4, where radical orchiectomy is not always necessary for classification purposes, the extent of the primary tumor is classified after radical orchiectomy; see pT. In other circumstances, TX is used if no radical orchiectomy has been performed. ( International Union Against Cancer (UICC) TNM Classification of Malignant Tumors, 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg. 250)\n* UICC has given permission to allow a cTX and cT4 for Testis.\n\n\\# Except for pTis and pT4, extent of primary tumor is classified by radical orchiectomy. TX may be used for other categories in the absence of radical orchiectomy. (American Joint Committee on Cancer., & Edge, S.B. (2010) AJCC Cancer Staging Manual (7th ed.). New York; London: Springer, pg. 471)\n* Only cTX can be used for Clinical T for Testis in AJCC.", - "last_modified" : "2018-05-14T21:29:00.434Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c4", "cT4", "Tumor invades scrotum \nWITH or WITHOUT vascular lymphatic invasion*#", "Dartos muscle, ipsilateral\nScrotum, ipsilateral\n\nExtension to scrotum, contralateral\nUlceration of scrotum\n\nPenis\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bladder_38564.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bladder_38564.json deleted file mode 100644 index f6d6a608c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bladder_38564.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_bladder_38564", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Bladder", - "title" : "Clinical T", - "notes" : "**Note 1:** If pTa is assigned, then Behavior ICD-O-3 must be 2.\n\n**Note 2:** The two main types of bladder cancer are the flat (sessile) variety and the papillary type. \n* Flat (sessile) variety is called in situ when tumor has not penetrated the basement membrane\n* Papillary tumor that has not penetrated the basement membrane is called noninvasive\n\n**Note 3:** Noninvasive papillary transitional cell carcinoma: Pathologists use many different descriptive terms for noninvasive papillary transitional cell carcinoma. Frequently, the pathology report does not contain a definite statement of non-invasion; however, non-invasion can be inferred from the microscopic description. \n\n A. Definite statements of non-invasion for papillary transitional cell carcinomas (Ta) include \n Noninfiltrating\n Noninvasive\n No evidence of invasion\n No extension into lamina propria\n No stromal invasion\n No extension into underlying supporting tissue\n Negative lamina propria and superficial muscle\n Negative muscle and (subepithelial) connective tissue\n No infiltrative behavior/component\n B. Inferred descriptions of non-invasion for papillary transitional cell carcinomas include\n No involvement of muscularis propria and no mention of subepithelium/submucosa\n No statement of invasion (microscopic description present)\n (Underlying) Tissue insufficient to judge depth of invasion\n No invasion of bladder wall\n No involvement of muscularis propria\n Benign deeper tissue\n Microscopic description problematic (non-invasion versus superficial invasion)\n Frond surfaced by transitional cell\n No mural infiltration\n No evidence of invasion (no sampled stroma)\n Confined to mucosa (see also Note 4 if tumor is not described as papillary)\n\n**Note 4:** Noninvasive (in situ) flat transitional cell carcinoma: Careful attention must be given to the use of the term \"confined to mucosa\" for flat bladder carcinomas. Historically, carcinomas described as \"confined to mucosa\" were coded as localized. However, pathologists use this designation for non-invasion as well. Pathologists also vary in their use of the terms \"invasion of mucosa, grade 1\" and \"invasion of mucosa, grade 2\" to distinguish between noninvasive and invasive carcinomas. In order to accurately code tumors described as \"confined to mucosa\", abstractors should determine \n\n If the tumor is confined to the epithelium: then it is noninvasive (Tis)\n If the tumor has penetrated the basement membrane to invade the lamina propria: then it is invasive (T1)\n \n The lamina propria and submucosa tend to merge when there is no muscularis mucosa, so these terms may be used interchangeably, along with stroma and subepithelial connective tissue\n\n If the distinction between involvement of the epithelium and lamina propria cannot be made, then the tumor should be coded as \"confined to mucosa, NOS\" (Tis)\n \n Statements meaning confined to mucosa, NOS for flat transitional cell carcinomas include\n Confined to mucosal surface\n Limited to mucosa, no invasion of submucosa and muscularis\n No infiltration/invasion of fibromuscular and muscular stroma\n Superficial, NOS\n\n**Note 5:** In case of multifocal noninvasive Ta and Tis tumors, assign Tis.\n\n**Note 6:** Assign T1 when there is extension from the bladder into the subepithelial tissue of prostatic urethra. \n\n**Note 7:** Assign T2 if the only description of extension is through full thickness of bladder wall, and there is no clear statement as to whether or not the cancer has extended into fat. If there is documentation that tumor has breached the wall, including invasion into fat or beyond, assign T3 or higher.\n\n**Note 8:** An associated in situ component of tumor extending into the prostatic ducts, prostatic glands, or ureter without invasion is disregarded in staging classification. Assign the T that best describes depth of bladder wall invasion. \n\n**Note 9:** Assign T1 or T2 as appropriate for extension from bladder directly into distal ureter. Direct invasion of the distal ureter is classified by the depth of greatest invasion in the bladder or ureter for TNM staging. The distal ureter is defined as below the iliac vessel, within the pelvic brim. \n\n**Note 10:** A cystectomy must be done to assign pathologic T. If only a TURB is done, this is a clinical T.", - "last_modified" : "2018-05-14T21:29:02.881Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pA", "pTa", "Non-invasive papillary carcinoma", "Papillary:\n Papillary transitional cell carcinoma, stated to be noninvasive\n Papillary non-infiltrating\n Papillary transitional cell carcinoma, with inferred description of noninvasion \n(see Notes 2 and 3)\n\nStated as Ta" ], [ "pIS", "pTis", "Carcinoma in situ: \"flat tumor\"", "Nonpapillary:\n Sessile (flat) (solid) carcinoma in situ\n Carcinoma in situ, NOS\n Transitional cell carcinoma in situ\n\nConfined to mucosa, NOS (see Note 4)\n\nStated as Tis" ], [ "c1", "cT1", "Tumor invades subepithelial connective tissue", "Subepithelial connective tissue \n Bladder:\n Lamina propria\n Stroma\n Submucosa\n Tunica propria\n Prostatic urethra\n\nExtension to distal ureter:\n Subepithelial connective tissue of bladder and/or distal ureter (see Note 9)\n\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor invades muscle", "Note: T2 has subcategories of T2a (tumor invades superficial muscle (inner half)) and T2b (tumor invades deep muscle (outer half)) but these would be rarely specified for the clinical assessment. Therefore, cT2a and cT2b should be assigned to cT2\n\nMuscle (muscularis propria) invaded, NOS of bladder only\n\nExtension to distal ureter:\n Muscle (muscularis propria) invaded, NOS of bladder and/or distal ureter (see Note 9)\n\nStated as T2 [NOS]" ], [ "c3", "cT3", "Tumor invades perivesical tissue", "Note: T3 has subcategories of T3a (tumor invades perivesical tissue (microscopically)) and T3b (tumor invades perivesical tissue (macroscopically)) but these would be rarely specified for the clinical assessment. Therefore, cT3a and cT3b should be assigned to cT3\n\nExtension to perivesical fat/tissues, NOS, including:\n Adventitia\n Serosa (mesothelium)\n Peritoneum\n Periprostatic tissue\n Distal periureteral tissue\n\nStated as T3 [NOS]" ], [ "c4", "cT4", "Tumor invades any of the following: \n Prostate stroma\n Seminal vesicles\n Uterus\n Vagina\n Pelvic wall\n Abdominal wall", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nStated as T4 [NOS]" ], [ "c4A", "cT4a", "Tumor invades:\n Prostate stroma\n Seminal vesicles\n Uterus\n Vagina", "Extension to: \n Parametrium\n Prostate, NOS\n Rectovesical/Denonvilliers' fascia\n Rectum\n Small intestine\n Ureter (excluding distal ureter)\n Urethra, including prostatic urethra (excluding subepithelial connective tissue) (see T1/Note 6)\n Vas deferens\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades pelvic wall or abdominal wall", "Bladder is \"fixed\"\n\nExtension to:\n Pubic bone\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bone_70163.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bone_70163.json deleted file mode 100644 index 63d5931a4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_bone_70163.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_bone_70163", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Bone", - "title" : "Clinical T", - "notes" : "**Note 1:** The cortex of a bone is the dense outer shell that provides strength to the bone; the spongy center of a bone is the cancellous portion. The periosteum of the bone is the fibrous membrane covering of a bone that contains the blood vessels and nerves; the periosteum is similar to the capsule on a visceral organ.\n\n**Note 2:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Adjacent bone/cartilage\n Invasive tumor confined to cortex of bone\n Extension beyond cortex to periosteum (No break in periosteum)\n Extension beyond periosteum to surrounding tissues, including adjacent skeletal muscle(s)\n Skin\n\n Further contiguous extension\n\n Localized, NOS\n\n**Note 3:** The term \"skip metastasis\" is not used with a consistent meaning in the literature. In some cases, it refers to discontinuous metastasis in the same bone as the primary tumor, while in other cases it refers to discontinuous metastasis in an adjacent bone, usually in the same limb. For TNM staging, discontinuous metastasis in the same bone is classified as T3, and discontinuous metastasis in an adjacent bone is classified as M1b (coded in distant metastasis). \n* If a primary bone tumor is stated as having \"skip metastasis\" or \"skip lesions\" with no other information regarding the bone involved, assign T3", - "last_modified" : "2018-05-14T21:29:03.455Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 8 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 8 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Discontinuous tumors in the primary bone site", "Stated as T3" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_cervix_78153.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_cervix_78153.json deleted file mode 100644 index fda46e32b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_cervix_78153.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_cervix_78153", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Cervix", - "title" : "Clinical T", - "notes" : "**Note 1:** FIGO does not include an in situ category for tumors of the cervix, but TNM does. Assign pTis (behavior code /2) for in situ cases.\n\n**Note 2:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is FIGO IIIB assign the appropriate stage and leave clinical T, N, and M blank. If the only information is FIGO stage IVB, leave T and N blank and see M\n\n**Note 3:** All macroscopically visible lesions, even with superficial invasion, are assigned to T1b/FIGO Stage IB.\n\n**Note 4:** Involvement of the anterior and/or posterior septum, the tissue between the vagina and bladder and between the vagina and rectum, is coded as involvement of the vaginal wall.\n\n**Note 5:** For the following descriptions, assign the appropriate T1 subgroups based on the depth of invasion and horizontal spread of the tumor. \n\n Invasive carcinoma confined to cervix, clinically visible lesion\n\n Localized, NOS\n Confined to cervix uteri or uterus, NOS, except corpus uteri, NOS\n (Not clinically visible or unknown if clinically visible)\n\n Extension to\n Cul de sac (rectouterine pouch)\n Upper two-thirds of vagina including fornices\n Vagina, NOS\n Vaginal wall, NOS\n WITHOUT parametrial invasion\n\n Extension beyond uterus, NOS but not to pelvic wall (excluding lower third of vagina)\n WITHOUT parametrial invasion", - "last_modified" : "2018-05-14T21:29:03.714Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done:\n Physician unable to assess T\n Extension cannot be determined OR\n Physician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ (preinvasive carcinoma)", "Cancer in situ WITH endocervical gland involvement\nCervical intraepithelial neoplasia (CIN) Grade III\nIn situ, intraepithelial, noninvasive, preinvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor confined to the cervix (extension to corpus should be disregarded)", "Note: T1 has subcategories of T1a (T1a1 and T1a2) and T1b (T1b1 and T1b2). Assign T1 only when there is no information available to assign one of the subcategories\n\nCorpus uteri, NOS with no other information on extension\n\nConfined to uterus, size, depth and horizontal spread unknown\n\nFIGO Stage I [NOS]\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Invasive carcinoma diagnosed only by microscopy. Stromal invasion with a maximal depth of 5.0 mm measured from the base of the epithelium and a horizontal spread of 7.0 mm or less", "Invasive carcinoma confined to cervix, microscopic size of stromal invasion and horizontal spread not specified\n\nFIGO Stage IA \n\nStated as T1a" ], [ "c1A1", "cT1a1", "Measured stromal invasion 3.0 mm or less in depth and 7.0 mm or less in horizontal spread", "Minimal microscopic stromal invasion less than or equal to 3 mm in depth (measured from the base of the epithelium) and less than or equal to 7 mm in horizontal spread\n\nFIGO Stage IA1\n\nStated as T1a1" ], [ "c1A2", "cT1a2", "Measured stromal invasion more than 3.0 mm and not more than 5.0 mm with a horizontal spread of 7.0 mm or less", "Microscopic stromal invasion greater than 3 mm and less than or equal to 5 mm in depth, (measured from the base of the epithelium) and less than or equal to 7 mm in horizontal spread\n\nFIGO Stage IA2\n\nStated as T1a2" ], [ "c1B", "cT1b", "Clinically visible lesion confined to the cervix or microscopic lesion greater than T1a2", "FIGO Stage IB\n\nStated as T1b" ], [ "c1B1", "cT1b1", "Clinically visible lesion 4.0 cm or less in greatest dimension", "FIGO Stage IB1\n\nStated as T1b1" ], [ "c1B2", "cT1b2", "Clinically visible lesion more than 4.0 cm in greatest dimension", "FIGO Stage IB2\n\nStated as T1b2" ], [ "c2", "cT2", "Tumor invades beyond uterus but not to pelvic wall or to lower third of vagina", "Note: T2 has subcategories of T2a (T2a1 and T2a2) and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nFIGO Stage II [NOS]\n\nStated as T2 [NOS]" ], [ "c2A", "cT2a", "Tumor without parametrial invasion", "FIGO Stage IIA\n\nStated as T2a" ], [ "c2A1", "cT2a1", "Clinically visible lesion 4.0 cm or less in greatest dimension", "FIGO Stage IIA1\n\nStated as T2a1" ], [ "c2A2", "cT2a2", "Clinically visible lesion more than 4.0 cm in greatest dimension", "FIGO Stage IIA2\n\nStated as T2a2" ], [ "c2B", "cT2b", "Tumor with parametrial invasion", "Extension to:\n Ligament(s):\n Broad\n Cardinal\n Uterosacral\n Parametrium (paracervical soft tissue)\nFIGO Stage IIB\n\nStated as T2b" ], [ "c3", "cT3", "Tumor extends to pelvic wall, involves lower third of vagina, causes hydronephrosis or non-functioning kidney", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories\n\nExtension to:\n Fallopian tube(s)\n Ovary(ies)\n Urethra\n\nFIGO Stage III [NOS]\n\nStated as T3 [NOS]" ], [ "c3A", "cT3a", "Tumor involves lower third of vagina", "Extension to:\n Bladder wall\n Bladder, NOS excluding mucosa\n Bullous edema of bladder mucosa\n Lower third of vagina\n Rectal wall\n Rectum, NOS excluding mucosa\n Ureter, intra- and extramural\n Vulva\n\nFIGO Stage IIIA\n\nStated as T3a" ], [ "c3B", "cT3b", "Tumor extends to pelvic wall, causes hydronephrosis or non-functioning kidney", "Tumor causes hydronephrosis or nonfunctioning kidney \n\nExtension to pelvic wall(s)\n Described clinically as frozen pelvis\n\nStated as T3b" ], [ "c4", "cT4", "Tumor invades mucosa of the bladder or rectum, or extends beyond true pelvis", "Extension to rectal or bladder mucosa \n\nFurther contiguous extension beyond true pelvis\n Sigmoid colon\n Small intestine\n\nFIGO Stage IVA\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage IIIB or IVB\n\nClinical classification not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_conjunctiva_42760.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_conjunctiva_42760.json deleted file mode 100644 index f63624650..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_conjunctiva_42760.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_conjunctiva_42760", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Conjunctiva", - "title" : "Clinical T", - "notes" : "**Note 1:** Palpebral and tarsal conjunctiva line the eyelid, bulbar conjunctiva covers the eyeball, forniceal conjunctiva covers the space between the eyelid and the globe. According to TNM, tumors are most likely to arise at the exposed site where the conjunctival epithelium merges with the corneal epithelium, particularly at the temporal limbus. (1)\n\n**Note 2:** For the following descriptions, assign the appropriate T category based on the tumor size recorded in **Site-Specific Factor 1, Tumor Size**.\n\n Tumor confined to one subsite of conjunctiva\n Bulbar conjunctiva\n Forniceal conjunctiva\n Palpebral conjunctiva\n Tarsal conjunctiva\n\n Tumor confined to one subsite of conjunctiva, NOS\n\n Localized, NOS", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) AJCC Cancer Staging Manual (7th ed.). New York; London: Springer, pgs. 531-537", - "last_modified" : "2018-05-14T21:28:58.500Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 5 mm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 5 mm in greatest dimension \nWITHOUT invasion of adjacent structures", "Stated as T2" ], [ "c3", "cT3", "Tumor invades adjacent structures", "Intraocular extension\n Cornea (3, 6, 9, or 12 o'clock hours)\n Intraocular compartments\n\nTumor involving more than one subsite of conjunctiva:\n Bulbar conjunctiva\n Forniceal conjunctiva (lower and/or upper)\n Palpebral conjunctiva (lower and/or upper)\n Tarsal conjunctiva (lower and/or upper) \n\nTumor involving more than one subsite of conjunctiva NOS\n\nAdjacent extraocular extension, excluding orbit:\n Anterior eyelid lamella \n Caruncle \n Eyelid margin (lower and/or upper)\n Lacrimal punctum and canaliculi (lower and/or upper)\n Plica\n Posterior eyelid lamella\n\nStated as T3" ], [ "c4", "cT4", "Tumor invades the orbit or beyond", "Note: T4 has subcategories of T4a, T4b, T4c and T4d. Assign T4 only when there is no information available to assign one of the subcategories\n\nStated as T4 [NOS]" ], [ "c4A", "cT4a", "Tumor invades orbital soft tissue \nWITHOUT bone invasion", "Orbital soft tissues without bone invasion\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades bone", "Bone of orbit\n\nStated as T4b" ], [ "c4C", "cT4c", "Tumor invades adjacent paranasal sinuses", "Adjacent paranasal sinuses\n\nStated as T4c" ], [ "c4D", "cT4d", "Tumor invades brain", "Further contiguous extension\n\nStated as T4d" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_copy_81159.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_copy_81159.json deleted file mode 100644 index a0302f4be..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_copy_81159.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_copy_81159", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Epiglottis Anterior", - "title" : "Clinical T", - "notes" : "**Note 1:** Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 2:** Assign T1 for localized tumor only if no information is available to identify further extension.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.308Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor limited to one subsite of supraglottis \nWITH normal vocal cord mobility", "Invasive tumor confined to anterior surface of epiglottis with normal vocal cord mobility\n\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor invades: \n Mucosa of more than one adjacent subsite of supraglottis OR \n Glottis or region outside the supraglottis, e.g., \n Mucosa of base of tongue\n Vallecula\n Medial wall of pyriform sinus\n \nWITHOUT fixation of the larynx", "Larynx, glottic or NOS WITHOUT fixation of larynx\nMucosa of adjacent subsite(s) of oropharynx\nMucosa of vallecula without fixation of larynx\n\nStated as T2" ], [ "c3", "cT3", "Tumor limited to larynx WITH vocal cord fixation and/or \ninvades any of the following:\n Postcricoid area\n Pre-epiglottic space\n Paraglottic space\n Inner cortex of thyroid cartilage", "Any structure coded in T1 or T2 WITH vocal cord fixation\n\nHypopharynx, NOS\nParaglottic space\nPyriform sinus except medial wall \n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades through the thyroid cartilage and/or invades tissues beyond the larynx, e.g., \n Trachea\n Soft tissues of neck including deep/extrinsic muscle of tongue \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n Strap muscles\n Thyroid\n Esophagus", "Deep tissues of base of tongue\nBuccal mucosa (inner cheek)\nFloor of mouth\nGum (gingiva)\nNasopharynx\nPterygoid muscle\nSoft palate\n\nInvasion of, through outer cortex of thyroid cartilage\nThyroid cartilage, NOS\n\nStrap muscles:\n Omohyoid\n Sternohyoid\n Thyrohyoid\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades: \n Prevertebral space\n Encases carotid artery\n Mediastinal structures", "Further contiguous extension, including:\n Anterior 2/3 of tongue\n Bone\n Hard palate\n Mandible\n Parotid gland\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_esophagus_57970.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_esophagus_57970.json deleted file mode 100644 index b0bcd871c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_esophagus_57970.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_esophagus_57970", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Esophagus", - "title" : "Clinical T", - "notes" : "**Note 1:** Non-invasive carcinomas in the esophagus formerly called in situ are now called high grade dysplasia. High grade dysplasia and severe dysplasia are generally not reportable in cancer registries. \n* Assign pTis if your registry collects these tumors\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of esophagus or to cardia of stomach and code depth of invasion or extra-esophageal spread as indicated.\n\n**Note 3:** The three layers of the mucosa (epithelium, lamina propria, and muscularis mucosae) may be called the m1, m2, and m3 layers. The submucosa may be described as having inner, middle, and outer thirds called sm1, sm2, and sm3.\n\n**Note 4:** If the tumor's extension is only described by a phrase like \"through the muscularis propria\", this could mean that the cancer has penetrated the outermost muscle cells but not beyond (T2); but usually \"through the muscularis\" is used to indicate that the cancer extends beyond the muscle and into adjacent tissue, consistent with a T3 tumor. When the most specific description is a phrase like \"through the muscularis\" or \"through the esophageal wall\", then assign T3.", - "last_modified" : "2018-05-14T21:29:03.229Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ/high-grade dysplasia", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor invades: \n Lamina propria\n Muscularis mucosae\n Submucosa", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nInvades lamina propria, muscularis mucosae, or submucosa, exact layer not specified\n\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor invades lamina propria or muscularis mucosae", "Invasive tumor confined to mucosa, NOS (including intramucosal, NOS)\n\nInvades lamina propria or muscularis mucosae\n\nStated as T1a" ], [ "c1B", "cT1b", "Tumor invades submucosa", "Stated as T1b" ], [ "c2", "cT2", "Tumor invades muscularis propria", "Stated as T2" ], [ "c3", "cT3", "Tumor invades adventitia", "Adventitia and/or soft tissue invaded\nEsophagus is described as \"FIXED\"\n\nStated as T3" ], [ "c4", "cT4", "Tumor invades adjacent structures", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nInvades adjacent structures, NOS\n\nStated as T4 [NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Pleura\n Pericardium\n Diaphragm", "Tumor invades adjacent structures:\n\nAbdominal/lower esophagus:\n Diaphragm fixed\n\nCervical/upper esophagus:\n Hypopharynx\n Jugular vein\n Larynx\n Pleura\n Thyroid gland \n\nIntrathoracic esophagus: \n Lower portion (abdominal):\n Blood vessel(s), major: gastric artery/vein\n Diaphragm, not fixed; diaphragm, NOS\n Pleura\n Stomach, cardia (via serosa)\n\n Upper or middle portion:\n Diaphragm \n Pleura\n\nThoracic/middle esophagus:\n Pericardium\n Pleura \n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades other adjacent structures such as:\n Aorta\n Trachea\n Vertebral body", "Tumor invades adjacent structures\n\nCervical esophagus:\n Blood vessel(s): carotid artery, subclavian artery\n Carina \n Cervical vertebra(e) \n Trachea \n\nCervical/upper esophagus:\n Lung\n Main stem bronchus\n\nIntrathoracic esophagus (all portions):\n Adjacent Rib(s) \n Lung via bronchus\n Mediastinal structure(s), NOS \n Thoracic vertebra(e)\n\nIntrathoracic esophagus, upper or middle:\n Azygos vein\n\nIntrathoracic, upper or mid-portion, esophagus:\n Blood vessel(s), major: aorta, pulmonary artery/vein, vena cava \n Carina \n Trachea \n \nIntrathoracic, lower portion (abdominal), esophagus:\n Blood vessel(s): aorta, vena cava \n \nFurther contiguous extension\n\nTumor invades adjacent structures and stated to be unresectable\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_fallopian_tube_77615.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_fallopian_tube_77615.json deleted file mode 100644 index ed54158ee..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_fallopian_tube_77615.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_fallopian_tube_77615", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Fallopian Tube", - "title" : "Clinical T", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is FIGO III [NOS] or IIIC, assign the appropriate stage and leave clinical T, N, and M blank. If the only information is FIGO stage IV, leave T and N blank and see M\n\n**Note 2:** FIGO does not include an in situ category for tumors of the fallopian tube, but TNM does. Assign pTis (behavior code /2) for in situ cases.\n\n**Note 3:** Liver capsule metastasis is T3/Stage III, liver parenchymal metastasis, M1/Stage IV. \n\n**Note 4:** Both extension to and discontinuous metastasis to any of the following pelvic organs are assigned as FIGO Stage II and coded in T2a or T2b.\n * Adnexa, NOS; bladder, bladder serosa; broad ligament (mesovarium); cul de sac; contralateral fallopian tube; parametrium; pelvic peritoneum; pelvic wall; rectum; sigmoid colon; sigmoid mesentery; ureter; uterus; uterine serosa\n\n**Note 5:** Both extension to and discontinuous metastasis to any of the following abdominal organs are classified as FIGO Stage III and coded in T3. \n* Abdominal mesentery; diaphragm; gallbladder; infracolic omentum; kidneys; large intestine except rectum and sigmoid colon; liver (peritoneal surface); omentum; pancreas; pericolic gutter; peritoneum, NOS; small intestine; spleen; stomach; ureters", - "last_modified" : "2018-05-14T21:29:03.212Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done:\n Physician unable to assess T\n Extension cannot be determined OR\n Physician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ (preinvasive carcinoma)", "In situ, intraepithelial, noninvasive\nLimited to tubal mucosa\n\nStated as Tis" ], [ "c1", "cT1", "Tumor confined to fallopian tube(s)", "Note: T1 has subcategories of T1a, T1b and T1c. Assign T1 only when there is no information available to assign one of the subcategories\n\nConfined to fallopian tube, NOS\nLocalized, NOS\n\nFIGO Stage I [NOS]\n\nStated as T1" ], [ "c1A", "cT1a", "Tumor limited to one tube \nWITHOUT penetrating the serosal surface", "Confined to one fallopian tube \nWITHOUT penetrating serosal surface\nWITHOUT ascites\n\nFIGO Stage IA\n\nStated as T1a" ], [ "c1B", "cT1b", "Tumor limited to both tubes \nWITHOUT penetrating the serosal surface", "Confined to both fallopian tubes \nWITHOUT penetrating serosal surface\nWITHOUT ascites\n\nFIGO Stage IB\n\nStated as T1b" ], [ "c1C", "cT1c", "Tumor limited to one or both tube(s)\nWITH extension onto or through the tubal serosa, OR \nWITH malignant cells in ascites or peritoneal washings", "Extension onto or through tubal serosa\nMalignant ascites\nMalignant peritoneal washings\n\nFIGO Stage IC\n\nStated as T1c" ], [ "c2", "cT2", "Tumor involves one or both fallopian tube(s) with pelvic extension", "Note: T2 has subcategories of T2a, T2b and T2c. Assign T2 only when there is no information available to assign one of the subcategories\n\nPelvic extension, NOS with no malignant cells in ascites or peritoneal washings\n\nFIGO Stage II [NOS]\n\nStated as T2 [NOS]" ], [ "c2A", "cT2a", "Extension and/or metastasis to uterus and/or ovaries", "Extension or metastasis to:\n Corpus uteri\n Ovary, ipsilateral or contralateral\n Uterus, NOS\nWITHOUT malignant cells in ascites or peritoneal washings\n\nFIGO Stage IIA\n\nStated as T2a" ], [ "c2B", "cT2b", "Extension to other pelvic structures", "Extension or metastasis to:\n Adjacent peritoneum\n Broad ligament, ipsilateral or contralateral\n Cul de sac (rectouterine pouch)\n Mesosalpinx, ipsilateral or contralateral\n Rectosigmoid\n Sigmoid\nWITHOUT malignant cells in ascites or peritoneal washings\n\nFIGO Stage IIB\n\nStated as T2b" ], [ "c2C", "cT2c", "Pelvic extension (2a or 2b) \nWITH malignant cells in ascites or peritoneal washings", "FIGO Stage IIC\n\nStated as T2c" ], [ "c3", "cT3", "Tumor involves one or both fallopian tube(s) \nWITH peritoneal implants outside the pelvis and/or positive regional lymph nodes", "Note: T3 has subcategories of T3a, T3b and T3c. Assign T3 only when there is no information available to assign one of the subcategories\n\nPeritoneal implants or metastasis outside the pelvis, size of metastasis not stated, unknown if microscopic or macroscopic:\n Omentum\n Small intestine\n\nFurther contiguous extension\n\nStated as T3 [NOS]" ], [ "c3A", "cT3a", "Microscopic peritoneal metastasis outside the pelvis", "Microscopic peritoneal implants or metastasis:\n Omentum\n Small intestine\n\nFIGO Stage IIIA\n\nStated as T3a" ], [ "c3B", "cT3b", "Macroscopic peritoneal metastasis outside the pelvis, 2 cm or less in greatest dimension", "FIGO Stage IIIB \n\nStated as T3b" ], [ "c3C", "cT3c", "Peritoneal metastasis, more than 2 cm in greatest dimension AND/OR \nPositive regional lymph nodes", "Stated as T3c" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC or IV\n\nClinical classification not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_floor_of_mouth_37028.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_floor_of_mouth_37028.json deleted file mode 100644 index 958b084d4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_floor_of_mouth_37028.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_floor_of_mouth_37028", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Floor of Mouth", - "title" : "Clinical T", - "notes" : "**Note 1:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1-T3) based on the tumor size when the tumor involvement is limited to the cortical bone for the following descriptions \n\n Invasive tumor on one side confined to\n Lamina propria\n Submucosa\n Tumor crosses midline\n\n Anterior 2/3 of tongue\n Base of tongue\n Bone, NOS\n Cartilage, NOS\n Cortical bone of mandible\n Cortical bone of maxilla\n Cortical bone, NOS\n Epiglottis\n Gingiva (alveolar ridge), lower\n Glossoepiglottic fold\n Glossopharyngeal sulcus\n Lateral pharyngeal wall\n Mandible, NOS\n Maxilla, NOS\n Periosteum of mandible\n Pharyngeal (lingual) surface\n Pharyngoepiglottic fold\n Subcutaneous soft tissue of chin/neck\n Sublingual gland, including ducts\n Submandibular (submaxillary) glands, including ducts\n Tonsillar pillars and fossae\n Tonsils\n Vallecula\n\n Confined to floor of mouth\n Localized, NOS\n\n**Note 4:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.210Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Deep (extrinsic) muscle of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus\n\nMaxillary sinus (antrum)\nSkin of undersurface of chin/neck\nTrabecular bone of mandible\nTrabecular bone of maxilla\n\nStated as T4a" ], [ "c4B", "cT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Specified bone \n\nMasticator space\nPterygoid plates\n\nFurther contiguous extension:\n Base of skull\n Internal carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gallbladder_13172.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gallbladder_13172.json deleted file mode 100644 index 2a9e6ef69..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gallbladder_13172.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_gallbladder_13172", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Gallbladder", - "title" : "Clinical T", - "notes" : "**Note:** Ignore extension from gallbladder to cystic duct. Ignore extension to extrahepatic bile ducts or ampulla of Vater (T3) when other structures in T4 are involved.", - "last_modified" : "2018-05-14T21:29:01.132Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor invades lamina propria or muscular layer", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nConfined to gallbladder, NOS\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor invades lamina propria", "Invasive tumor confined to:\n Lamina propria\n Mucosa, NOS\n Submucosa (superficial invasion)\n\nStated as T1a" ], [ "c1B", "cT1b", "Tumor invades muscular layer", "Muscularis propria\n\nStated as T1b" ], [ "c2", "cT2", "Tumor invades perimuscular connective tissue; no extension beyond serosa or into liver", "Perimuscular connective tissue\n\nStated as T2" ], [ "c3", "cT3", "Tumor perforates the serosa (visceral peritoneum) and/or directly invades the liver and/or one other adjacent organ or structure, such as: \n Stomach\n Duodenum\n Colon\n Pancreas\n Omentum\n Extrahepatic bile ducts", "Invasion of/through serosa (visceral peritoneum)\n\nExtension to: \n Abdominal wall\n Ampulla of Vater\n Branch(es) of hepatic artery (right or left) but not into main portal vein or hepatic artery\n Branch(es) of portal vein (right or left)\n Cystic artery vein\n Diaphragm\n Small intestine\n\nExtension into:\n Liver \n\nStated as T3" ], [ "c4", "cT4", "Tumor invades main portal vein or hepatic artery or invades two or more extrahepatic organs or structures", "Extension to:\n Common hepatic artery\n Main portal vein\n Hepatic artery, NOS\n Portal vein, NOS\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_appendix_41981.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_appendix_41981.json deleted file mode 100644 index f5d550b83..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_appendix_41981.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_gist_appendix_41981", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T GIST Appendix", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for GIST appendix tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon; code depth of invasion or extra-appendiceal spread as indicated.\n\n**Note 3:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category based on the tumor size for the following descriptions\n\n Invasive tumor in polyp, NOS\n Tumor confined to muscular wall\n Tumor invades through submucosa and muscularis mucosae to involve mucosa\n\n Extension through wall, NOS\n Fat, NOS\n Invasion of/through serosa (mesothelium) (visceral peritoneum)\n Invasion of/through serosa with invasion of/through mucosa\n Invasion through muscularis propria or muscularis, NOS\n Non-peritonealized pericolic tissues invaded\n Perimuscular tissue invaded\n Subserosal tissue/(sub)serosal fat invaded\n Transmural, NOS\n Wall, NOS\n\n Extension to\n Adjacent tissue(s), NOS\n Connective tissue\n Mesenteric fat\n Mesentery \n Mesoappendix\n Pericolic fat\n \n Adherent to other organs or structures, NOS\n Abdominal\n Adrenal (suprarenal) gland\n Bladder\n Diaphragm\n Fallopian tube\n Fistula to skin\n Gallbladder\n Greater omentum\n Liver capsule\n Other segment(s) of colon via serosa\n Ovary\n Retroperitoneum (excluding fat)\n Small intestine\n Uterus\n\n Other contiguous extension including \n Kidney\n Liver\n Ureter\n\n Confined to appendix\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:03.449Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 5 cm but not more than 10 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Tumor more than 10 cm in greatest dimension", "Stated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_colon_copy_80286.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_colon_copy_80286.json deleted file mode 100644 index aa12c2497..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_colon_copy_80286.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_gist_colon_copy_80286", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T GIST Colon", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for GIST colon tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon; code depth of invasion or extra-appendiceal spread as indicated.\n\n**Note 3:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category based on the tumor size for the following descriptions:\n\n**All colon subsites**\n\n Confined to colon\n Localized, NOS\n\n Adherent to liver capsule\n Extension through wall, NOS\n Invasive tumor in polyp, NOS\n Invasion of/through serosa (mesothelium) (visceral peritoneum)\n Invasion of/through serosa with invasion of/through mucosa\n Invasion through muscularis propria or muscularis, NOS\n Non-peritonealized pericolic tissues invaded\n Perimuscular tissue invaded\n Subserosal tissue/(sub)serosal fat invaded\n Transmural, NOS\n Tumor confined to muscular wall\n Tumor invades through submucosa and muscularis mucosae to involve mucosa \n Wall, NOS \n\n**All colon subsites** \n \n Abdominal wall\n Adjacent tissue(s), NOS \n Adrenal (suprarenal) gland\n Bladder\n Connective tissue\n Diaphragm\n Fat, NOS\n Fistula to skin\n Gallbladder\n Mesenteric fat\n Mesentery \n Mesocolon\n Other segment(s) of colon via serosa\n Pericolic fat\n Retroperitoneum (excluding fat)\n Small intestine\n\n**Cecum (C180)**\n\n Fallopian tube\n Greater omentum\n Kidney, right\n Liver\n Ovary\n Ureter, right\n Uterus\n\n**Ascending colon (C182)**\n\n Fallopian tube\n Greater omentum\n Liver, right lobe\n Kidney, right\n Ovary\n Retroperitoneal fat\n Ureter, right\n Uterus\n\n**Transverse colon (C183) and flexures (C184, C185)**\n\n Bile ducts\n Gallbladder\n Gastrocolic ligament\n Greater omentum\n Kidney\n Liver\n Pancreas\n Spleen\n Stomach\n Ureter\n\n**Descending colon (C186)**\n\n Fallopian tube\n Greater omentum\n Kidney, left\n Ovary\n Pelvic wall\n Retroperitoneal fat\n Spleen\n Ureter, left\n Uterus\n\n**Sigmoid colon (C187)**\n\n Cul de sac (rectouterine pouch)\n Greater omentum \n Fallopian tube\n Ovary\n Pelvic wall\n Ureter\n Uterus", - "last_modified" : "2018-05-14T21:29:03.434Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 5 cm but not more than 10 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Tumor more than 10 cm in greatest dimension", "Stated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_esophagus_47140.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_esophagus_47140.json deleted file mode 100644 index b8094e3ec..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_esophagus_47140.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_gist_esophagus_47140", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T GIST Esophagus", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for GIST esophagus tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon; code depth of invasion or extra-appendiceal spread as indicated.\n\n**Note 3:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category based on the tumor size for the following descriptions\n\n Tumor confined to muscular wall\n Tumor invades through submucosa and muscularis mucosae to involve with mucosa\n\n Localized, NOS\n \n Adventitia and/or soft tissue invaded\n Esophagus described as fixed\n Invasion into adventitia with invasion of/through mucosa\n Invasion of adjacent structures\n\n**Cervical esophagus (C150)**\n \n Carina\n Carotid artery\n Cervical vertebra€\n Hypopharynx\n Jugular vein\n Larynx\n Thyroid gland \n Subclavian artery\n Trachea\n \n**Lower thoracic (abdominal) esophagus (C152, C155)**\n\n Diaphragm fixed\n\n**Upper thoracic esophagus (C151, C153)**\n\n Blood vessel(s), major:\n Aorta \n Azygos vein\n Pulmonary artery/vein \n Vena cava \n Diaphragm \n Main stem bronchus \n Trachea \n\n**Intrathoracic esophagus, upper (C153) or middle (C154)**\n\n Blood vessel(s), major: \n Aorta \n Gastric artery/vein\n Vena cava\n Pericardium", - "last_modified" : "2018-05-14T21:29:06.728Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 5 cm but not more than 10 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Tumor more than 10 cm in greatest dimension", "Stated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_peritoneum_12183.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_peritoneum_12183.json deleted file mode 100644 index 92eb37417..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_peritoneum_12183.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_gist_peritoneum_12183", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T GIST Peritoneum", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for GIST peritoneum tumors.\n\n**Note 2:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category based on the tumor size for the following descriptions\n \n Tumor confined to site of origin\n Adjacent connective tissue\n Adjacent organs/structures including bone/cartilage\n\n Confined to peritoneum\n Confined to retroperitoneum\n Localized, NOS \n\n**For retroperitoneum (C480)**\n \n Adrenal(s) (suprarenal gland(s))\n Aorta\n Colon\n Kidney(s)\n Pancreas\n Inferior vena cava (IVC)\n Vertebra\n\n**For peritoneum (C481, C482)**\n \n Colon \n Esophagus\n Gallbladder\n Liver\n Small intestine\n Spleen\n Stomach", - "last_modified" : "2018-05-14T21:29:01.693Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 5 cm but not more than 10 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Tumor more than 10 cm in greatest dimension", "Stated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_rectum_83293.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_rectum_83293.json deleted file mode 100644 index 80bed9767..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_rectum_83293.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_gist_rectum_83293", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T GIST Rectum", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for GIST rectum tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon; code depth of invasion or extra-appendiceal spread as indicated.\n\n**Note 3:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category based on the tumor size for the following descriptions:\n\n**All sites**\n\n Invasive tumor in polyp, NOS\n Tumor confined to muscular wall\n Tumor invades through submucosa and muscularis mucosae to involve mucosa\n\n Extension through wall, NOS\n Intraluminal extension to rectosigmoid (rectum only)\n Intraluminal extension to anus (rectum only)\n Invasion through muscularis propria or muscularis, NOS\n Invasion of/through serosa (mesothelium) (visceral peritoneum)\n Invasion of/through serosa with invasion of/through mucosa\n Non-peritonealized pericolic tissues invaded\n Perimuscular tissue invaded\n Subserosal tissue/(sub)serosal fat invaded\n Transmural, NOS\n Wall, NOS\n\n Confined to rectosigmoid\n Confined to rectum\n Localized, NOS\n\n**All sites**\n\n Adherent to liver capsule\n Adherent to other organs or structures, NOS\n Bladder\n Cul de sac (rectouterine pouch)\n Fat, NOS\n Other segments of colon via serosa\n Ovary(ies)\n Pelvic wall \n Perirectal fat\n Prostate\n Skeletal muscles of pelvic floor\n Uterus\n Vagina\n \n**Rectosigmoid (C199)**\n\n Colon via serosa\n Fallopian tube(s)\n Mesentery (including mesenteric fat, mesocolon)\n Pericolic fat\n Pelvic plexuses\n Small intestine\n Ureter(s)\n \n\n**Rectum (C209)**\n\n Anus (excluding intraluminal extension)\n Bone(s) of pelvis\n Colon\n Ductus deferens\n Perineum, perianal skin\n Rectovaginal septum\n Rectovesical fascia for males only\n Sacral plexus\n Sacrum\n Seminal vesicle(s)\n Urethra", - "last_modified" : "2018-05-14T21:29:01.423Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 5 cm but not more than 10 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Tumor more than 10 cm in greatest dimension", "Stated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_small_intestine_3299.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_small_intestine_3299.json deleted file mode 100644 index c851ff6bc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_small_intestine_3299.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_gist_small_intestine_3299", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T GIST Small Intestine", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for GIST small intestine tumors.\n\n**Note 2:** Give priority to coding depth of invasion or spread outside the small intestine for tumor with intraluminal or lateral extension to adjacent segment(s) of small intestine.\n\n**Note 3:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category based on the tumor size for the following descriptions\n\n Invasion of polyp, NOS\n Tumor confined to muscular wall\n Tumor invades through submucosa and muscularis mucosae to involve mucosa\n Intraluminal spread to other segments of small intestine or cecum\n Invasion through muscularis propria or muscularis, NOS\n Extension through wall, NOS\n Subserosal tissue/(sub) serosal fat invaded\n Transmural, NOS\n\n Adjacent connective tissue\n Mesentery, including mesenteric fat\n Nonperitonealized perimuscular tissue \n Retroperitoneum \n Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum)\n\n**Duodenum primaries (C170)**\n\n Ampulla of Vater\n Blood vessel(s), major\n Aorta\n Gastroduodenal artery\n Greater omentum\n Portal vein\n Renal vein\n Superior mesenteric artery or vein\n Vena cava\n Diaphragm\n Extrahepatic bile duct(s)\n Gallbladder\n Hepatic flexure\n Kidney (right or NOS)\n Liver (quadrate lobe, right lobe or NOS)\n Omentum\n Pancreas\n Pancreatic duct\n Stomach\n Transverse colon\n Ureter, right\n\n**Jejunum (C171) or Ileum (C172)** \n\n Bladder\n Colon, including appendix\n Fallopian tube(s)\n Ovary(ies)\n Uterus\n \n Confined to small intestine\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:03.707Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 5 cm but not more than 10 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Tumor more than 10 cm in greatest dimension", "Stated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_stomach_46079.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_stomach_46079.json deleted file mode 100644 index 55d9f9bcf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gist_stomach_46079.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_gist_stomach_46079", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T GIST Stomach", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for GIST stomach tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon; code depth of invasion or extra-appendiceal spread as indicated.\n\n**Note 3:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category based on the tumor size for the following descriptions\n\n Invasive tumor in polyp, NOS\n Tumor confined to muscular wall\n Tumor invades through submucosa and muscularis mucosae to involve mucosa\n Implants inside stomach\n Invasion through muscularis propria or muscularis, NOS\n Extension through wall, NOS\n Perimuscular tissue invaded\n Subserosal tissue/(sub)serosal fat invaded\n Intraluminal extension to esophagus or duodenum\n\n Extension to adjacent (connective) tissue WITHOUT perforation of visceral peritoneum\n Gastric artery\n Ligaments \n Gastrocolic\n Gastrohepatic\n Gastrosplenic\n Omentum, NOS\n Greater\n Lesser\n Perigastric fat\n\n Fat, NOS\n Invasion of/through serosa (mesothelium), (tunica serosa) (visceral peritoneum)\n Including perforation of visceral peritoneum covering the gastric ligaments or the omentum \n WITHOUT invasion of adjacent structures\n\n Invasion of/through serosa with invasion of/through mucosa\n Diaphragm\n Duodenum via serosa Duodenum, NOS\n Esophagus via serosa\n Ileum\n Jejunum\n Liver\n Pancreas\n Small intestine, NOS\n Spleen\n Transverse colon/mesocolon (including flexures)\n Aorta\n Celiac axis\n Abdominal wall\n Adrenal gland\n Kidney\n Retroperitoneum\n Further contiguous extension\n\n Confined to stomach\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:02.790Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 5 cm but not more than 10 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Tumor more than 10 cm in greatest dimension", "Stated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_glottic_larynx_36272.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_glottic_larynx_36272.json deleted file mode 100644 index b3c0724a1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_glottic_larynx_36272.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_glottic_larynx_36272", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Glottic Larynx", - "title" : "Clinical T", - "notes" : "**Note 1:** Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 2:** Assign T1 for localized tumor only if no information is available to identify further extension.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.469Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor limited to vocal cord(s) (may involve anterior or posterior commissure) \nWITH normal mobility", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nInvasive tumor with normal vocal cord mobility: \n Confined to glottis, NOS:\n Intrinsic larynx\n Laryngeal commissure(s):\n Anterior\n Posterior; \n Vocal cord(s), NOS:\n True vocal cord(s)\n True cord(s)\n\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor limited to one vocal cord", "One vocal cord with normal vocal cord mobility\n\nStated as T1a with no other information on extension" ], [ "c1B", "cT1b", "Tumor involves both vocal cords", "Both vocal cords with normal vocal cord mobility\n\nStated as T1b with no other information on extension" ], [ "c2", "cT2", "Tumor extends to supraglottis and/or subglottis, and/or \nWITH impaired vocal cord mobility", "Tumor involves adjacent regions(s) of larynx:\n Subglottis\n Supraglottis:\n Aryepiglottic fold\n Arytenoid cartilage:\n Corniculate tubercle\n Cuneiform tubercle\n Ventricular bands (false vocal cord(s))\n\nImpaired vocal cord mobility\n\nStated as T2" ], [ "c3", "cT3", "Tumor limited to larynx WITH vocal cord fixation and/or \nInvades: \n Paraglottic space \n Inner cortex of the thyroid cartilage", "Tumor limited to larynx WITH vocal cord fixation\nInvolvement of intrinsic muscle(s) of larynx:\n Aryepiglottic\n Arytenoid \n Cricoarytenoid\n Cricothyroid\n Thyroarytenoid \n Thyroepiglottic\n Vocalis\n\nInner cortex of thyroid cartilage (minor thyroid cartilage erosion)\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades through the outer cortex of the thyroid cartilage, AND/OR \nInvades tissues beyond the larynx, e.g.\n Trachea\n Soft tissues of neck including deep/extrinsic muscle of tongue \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n Strap muscles\n Thyroid\n Esophagus", "Base of tongue\nHypopharynx, NOS\nPre-epiglottic tissues\nPostcricoid area\nPyriform sinus\nVallecula\n\nExtension to/through:\n Cricoid cartilage\n Outer cortex of thyroid cartilage\n\nExtension to/through tissues beyond larynx:\n Strap muscles:\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Oropharynx\n Skin\n Soft tissue of neck\n Thyroid gland\n Trachea\n\nCervical esophagus\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades: \n Prevertebral space\n Encases carotid artery\n Mediastinal structures", "Stated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_lower_57588.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_lower_57588.json deleted file mode 100644 index 4b634a49f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_lower_57588.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_gum_lower_57588", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Gum Lower", - "title" : "Clinical T", - "notes" : "**Note 1:** Superficial erosion alone of bone/tooth socket by gingival primary is not sufficient to code as bone involvement. (1)\n\n**Note 2:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 3:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1-T3) based on the tumor size when the tumor involvement is limited to the cortical bone for the following descriptions\n\n Invasive tumor confined to lamina propria (mucoperiosteum) (stroma)\n\n Bone, NOS\n Buccal mucosa (inner cheek)\n Cartilage, NOS\n Cortical bone of mandible\n Cortical bone, NOS\n Fascial muscle, NOS\n Floor of mouth\n Labial mucosa (inner lip), lower lip\n Labial mucosa (inner lip), lip, NOS\n Lateral pharyngeal wall\n Mandible, NOS\n Soft palate including uvula\n Subcutaneous soft tissue of face\n Tongue mucosa\n Tonsillar pillars and fossae\n Tonsils\n\n Confined to lower gum\n Localized, NOS\n\n**Note 5:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 27\n\n\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.448Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Deep (extrinsic) muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\nBone of maxilla\nMaxilla, NOS\nSkin of face\nTrabecular bone of mandible\n\nStated as T4a" ], [ "c4B", "cT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Labial mucosa (inner lip), upper lip \nMucosa upper lip \nSpecified bone\n\nMasticator space\nPterygoid plates\n\nFurther contiguous extension, including:\n Base of skull\n Internal carotid artery (encased)\n Skull\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_other_73657.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_other_73657.json deleted file mode 100644 index 9b1a642d9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_other_73657.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_gum_other_73657", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Gum Other", - "title" : "Clinical T", - "notes" : "**Note 1:** Superficial erosion alone of bone/tooth socket by gingival primary is not sufficient to code as bone involvement. (1)\n\n**Note 2:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 3:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1-T3) based on the tumor size when the tumor involvement is limited to the cortical bone for the following descriptions \n\n Invasive tumor confined to lamina propria (mucoperiosteum) (stroma)\n\n Bone, NOS\n Buccal mucosa (inner cheek)\n Cartilage of mandible or maxilla\n Cartilage, NOS\n Cortical bone of mandible or maxilla\n Cortical bone, NOS\n Fascial muscle, NOS\n Floor of mouth\n Labial mucosa (inner lip), lower lip\n Labial mucosa (inner lip), lip, NOS\n Lateral pharyngeal wall\n Mandible, NOS\n Maxilla, NOS\n Soft palate including uvula\n Subcutaneous soft tissue of face\n Tongue mucosa\n Tonsillar pillars and fossae\n Tonsils\n\n Confined to gum, NOS\n Localized, NOS\n\n**Note 5:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 27\n\n\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.450Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Trabecular bone: \n Mandible\n Maxilla\n Palatine bone\n\nStated as T4a" ], [ "c4B", "cT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Specified bone\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_upper_23313.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_upper_23313.json deleted file mode 100644 index e02b83157..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_gum_upper_23313.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_gum_upper_23313", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Gum Upper", - "title" : "Clinical T", - "notes" : "**Note 1:** Superficial erosion alone of bone/tooth socket by gingival primary is not sufficient to code as bone involvement. (1)\n\n**Note 2:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 3:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1-T3) based on the tumor size when the tumor involvement is limited to the cortical bone for the following descriptions \n\n Invasive tumor confined to lamina propria (mucoperiosteum) (stroma)\n\n Bone, NOS\n Buccal mucosa (inner cheek)\n Cartilage, NOS\n Cortical bone of maxilla\n Cortical bone, NOS\n Fascial muscle, NOS\n Floor of mouth\n Labial mucosa (inner lip), lower lip\n Labial mucosa (inner lip), lip, NOS\n Lateral pharyngeal wall\n Maxilla, NOS\n Soft palate including uvula\n Subcutaneous soft tissue of face\n Tongue mucosa\n Tonsillar pillars and fossae\n Tonsils\n\n Confined to upper gum\n Localized, NOS\n\n**Note 5:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 27\n\n\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.452Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Deep (extrinsic) muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\nBone of mandible\nMandible, NOS\nMaxillary (sinus) antrum\nNasal cavity\nSkin of face\nTrabecular bone of maxilla or palatine bone\n\nStated as T4a" ], [ "c4B", "cT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Labial mucosa (inner lip), lower lip\nMucosa lower lip \n\nSpecified bone\n\nMasticator space\nPterygoid plates\n\nFurther contiguous extension, including:\n Skull\n Skull base\n Internal carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_heart_mediastinum_11552.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_heart_mediastinum_11552.json deleted file mode 100644 index be802fd03..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_heart_mediastinum_11552.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_heart_mediastinum_11552", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Heart Mediastinum", - "title" : "Clinical T", - "notes" : "**Note 1:** For TNM staging, sarcomas of the heart and mediastinum are classified as deep tumors. Only T1b or T2b are available. \n\n**Note 2:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category based on the tumor size for the following descriptions\n\n Invasive tumor confined to site of origin\n Adjacent connective tissue\n For heart (C380)\n Visceral pericardium (epicardium)\n Adjacent organs/structures\n For heart (C380)\n Ascending aorta\n Parietal pericardium\n Vena cava\n For mediastinum (C381-C383, C388)\n Descending aorta\n Esophagus\n Large (named) artery(ies)\n Large (named) vein(s)\n Pericardium, NOS\n Parietal\n Visceral (epicardium)\n Phrenic nerve(s)\n Pleura, NOS\n Parietal pleura\n Visceral pleura of lung\n Sternum\n Sympathetic nerve trunk(s)\n Thoracic duct\n Thymus\n Trachea, parietal pleura\n Vertebra(e)\n\n Further contiguous extension\n\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:03.417Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1B", "cT1b", "Tumor 5 cm or less in greatest dimension\nDeep tumor", "Stated as T1b or T1 [NOS]" ], [ "c2B", "cT2b", "Tumor more than 5 cm in greatest dimension\nDeep tumor", "Stated as T2b or T2 [NOS]" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_hypopharynx_3365.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_hypopharynx_3365.json deleted file mode 100644 index ef46a3b1c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_hypopharynx_3365.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_hypopharynx_3365", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Hypopharynx", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign T3 If there is fixation of hemilarynx or larynx.\n\n**Note 2:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size.\n\n Invasive tumor confined to one of the following subsites\n Laryngopharynx\n Postcricoid area\n Posterior pharyngeal wall\n Pyriform sinus\n\n Tumor invades more than one subsite of hypopharynx WITHOUT fixation of hemilarynx\n\n Oropharynx\n Larynx WITHOUT fixation\n\n Confined to hypopharynx\n Localized, NOS", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.471Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor limited to one subsite of hypopharynx and/or 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor invades more than one subsite of hypopharynx or an adjacent site, OR\nMeasures more than 2 cm but not more than 4 cm in greatest dimension, WITHOUT fixation of hemilarynx", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension, OR \nWITH fixation of hemilarynx or extension to esophagus", "Fixation of hemilarynx or larynx\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades any of the following:\n Thyroid/cricoid cartilage\n Hyoid bone\n Thyroid gland\n Esophagus\n Central compartment soft tissue", "Central compartment soft tissues of neck including:\n Prelaryngeal strap muscles\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades: \n Prevertebral fascia\n Encases carotid artery\n Mediastinal structures", "Carotid artery (encased)\n\nBase of tongue\nFloor of mouth\nNasopharynx\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_kidney_parenchyma_9887.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_kidney_parenchyma_9887.json deleted file mode 100644 index 4fde05cd8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_kidney_parenchyma_9887.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_kidney_parenchyma_9887", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Kidney Parenchyma", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for kidney parenchyma tumors.\n\n**Note 2:** Gerota fascia is a fibrous tissue sheath surrounding the kidney and suprarenal or adrenal gland. The perirenal fat, renal capsule, and renal parenchyma lie below the fascia.\n\n**Note 3:** The parenchyma of the kidney includes the following structures\n* Cortex (outer layer of kidney), renal columns; medulla, medullary rays, renal pyramids, and renal papillae; nephrons (renal corpuscle, loops of Henle, proximal and distal tubules, collecting duct); glomerulus and surrounding Bowman's capsule \n\n**Note 4:** The most common site for renal parenchymal cancer to develop is in the proximal convoluted tubule. \n* Tumor extension from one of these structures into another is assigned T1a - T2b depending on size in the absence of further involvement\n\n**Note 5:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 6:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Invasive cancer confined to kidney cortex and/or medulla\n\n Invasion of renal capsule\n Renal pelvis or calyces involved\n Separate focus of tumor in renal pelvis/calyx\n\n Confined to kidney\n Localized, NOS\n\n**Note 7:** Information about invasion beyond the capsule, venous involvement, and ipsilateral adrenal gland involvement is collected in this field for anatomic staging. \n* This information is also collected in **Site-Specific Factor 1, Site-Specific Factor 2, and Site-Specific Factor 3**, as these factors may have an independent effect on prognosis\n\n**Note 8:** Direct extension to OR involvement of other structures is coded in M (distant metastasis). This includes: \n* Contralateral kidney; contralateral ureter; liver from left kidney; spleen from right kidney", - "last_modified" : "2018-05-14T21:29:02.454Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 7 cm or less in greatest dimension\nLIMITED to the kidney", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor 4 cm or less", "Stated as T1a" ], [ "c1B", "cT1b", "Tumor more than 4 cm but not more than 7 cm", "Stated as T1b" ], [ "c2", "cT2", "Tumor more than 7 cm in greatest dimension\nLIMITED to the kidney", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nStated as T2 [NOS]" ], [ "c2A", "cT2a", "Tumor more than 7 cm but not more than 10 cm", "Stated as T2a" ], [ "c2B", "cT2b", "Tumor more than 10 cm, limited to the kidney", "Stated as T2b" ], [ "c3", "cT3", "Tumor extends into major veins or perinephric tissues but \nNot into the ipsilateral adrenal gland and not beyond Gerota fascia", "Note: T3 has subcategories of T3a, T3b, and T3c. Assign T3 only when there is no information available to assign one of the subcategories\n\nInferior vena cava (IVC), NOS\n\nStated as T3 [NOS]" ], [ "c3A", "cT3a", "Tumor grossly extends into: \n Renal vein or its segmental (muscle containing) branches, OR \n\nTumor invades: \n Perirenal and/or renal sinus fat (peripelvic) fat but not beyond Gerota fascia", "Perirenal (perinephric) tissue/fat\nRenal (Gerota) fascia\nRenal sinus fat\n\nBlood vessels:\n Extrarenal portion of renal vein or segmental (muscle containing) \n branches\n Hilar blood vessel\n Perirenal vein\n Renal artery\n Renal vein, NOS\n Tumor thrombus in a renal vein, NOS\n\nStated as T3a" ], [ "c3B", "cT3b", "Tumor grossly extends into vena cava below diaphragm", "Inferior vena cava (IVC) below diaphragm\n\nStated as T3b" ], [ "c3C", "cT3c", "Tumor grossly extends into vena cava above the diaphragm OR \nInvades the wall of the vena cava", "IVC above diaphragm or invades wall of IVC\n\nStated as T3c" ], [ "c4", "cT4", "Tumor invades beyond Gerota fascia \n (including contiguous extension into the ipsilateral adrenal gland)", "Ipsilateral adrenal (suprarenal) gland \n(Noncontiguous ipsilateral adrenal gland involvement coded in M field and not T)\n\nIpsilateral adrenal gland plus blood vessels and/or IVC below diaphragm \nIpsilateral adrenal gland plus IVC above diaphragm or wall of IVC \n\nExtension beyond Gerota fascia to:\n Ascending colon from right kidney\n Descending colon from left kidney\n Diaphragm\n Duodenum from right kidney\n Peritoneum\n Psoas muscle\n Quadratus lumborum muscle\n Tail of pancreas\n Ureter, including implant(s), ipsilateral\nBeyond Gerota fascia, NOS\n\nOther extension:\n Liver from right kidney\n Retroperitoneal soft tissue\n Ribs\n Spleen from left kidney\n Stomach \n\nFurther contiguous extension:\n Aorta\n Other direct extension EXCLUDING: contralateral kidney and ureter, liver from left kidney, or spleen from right kidney\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lacrimal_gland_71633.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lacrimal_gland_71633.json deleted file mode 100644 index edf0358ea..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lacrimal_gland_71633.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_lacrimal_gland_71633", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Lacrimal Gland", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for lacrimal gland tumors.\n\n**Note 2:** Tumors greater than 2 cm (the size of the lacrimal gland) usually extend into the orbital soft tissue.\n\n**Note 3:** Periosteum is a fibrous membrane that wraps the outer surface of bones.\n\n**Note 4:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 5:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Extension to any of the following WITHOUT bone invasion\n Globe (eyeball)\n Optic nerve\n Orbital soft tissues\n\n Confined to lacrimal gland\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:01.094Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension\nLIMITED to the lacrimal gland", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension\nLIMITED to the lacrimal gland", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm OR \nWITH extraglandular extension into orbital soft tissue, including optic nerve or globe", "Stated as T3" ], [ "c4", "cT4", "Tumor invades periosteum or orbital bone or adjacent structures", "Note: T4 has subcategories of T4a, T4b and T4c. Assign T4 only when there is no information available to assign one of the subcategories\n\nStated as T4 [NOS]" ], [ "c4A", "cT4a", "Tumor invades periosteum", "Stated as T4a" ], [ "c4B", "cT4b", "Tumor invades orbital bone", "Stated as T4b" ], [ "c4C", "cT4c", "Tumor invades adjacent structures: \n Brain\n Sinus\n Pterygoid fossa\n Temporal fossa", "Stated as T4c" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_nos_75299.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_nos_75299.json deleted file mode 100644 index 48c2e5814..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_nos_75299.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_larynx_nos_75299", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Larynx, NOS", - "title" : "Clinical T", - "notes" : "**Note 1:** Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 2:** Assign T1 for localized tumor only if no information is available to identify further extension.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.411Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor limited to subglottis", "Invasive tumor with normal vocal cord mobility confined to subglottis\n\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor extends to vocal cord(s) \nWITH normal or impaired mobility", "Tumor involves adjacent regions(s) of larynx:\n Supraglottis\n Glottis\nWITH normal or impaired mobility\n\nStated as T2" ], [ "c3", "cT3", "Tumor limited to larynx \nWITH vocal cord fixation", "Stated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades cricoid or thyroid cartilage and/or invades tissues beyond the larynx, e.g., \n Trachea\n Soft tissues of neck including deep/extrinsic muscle of tongue \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n Strap muscles\n Thyroid\n Esophagus", "Base of tongue\nHypopharynx, NOS\nPostcricoid area\nPre-epiglottic tissues\nPyriform sinus (pyriform fossa)\nVallecula\n\nExtension to/through:\n Cervical esophagus\n Deep extrinsic muscles of tongue\n Strap muscles:\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Oropharynx\n Skin\n Soft tissues of neck\n Thyroid gland\n Trachea\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades: \n Prevertebral space\n Encases carotid artery\n Mediastinal structures", "Stated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_subglottic_11069.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_subglottic_11069.json deleted file mode 100644 index a6fe3dc9d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_subglottic_11069.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_larynx_subglottic_11069", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Larynx Subglottic", - "title" : "Clinical T", - "notes" : "**Note 1:** Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 2:** Assign T1 for localized tumor only if no information is available to identify further extension.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.562Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor limited to subglottis", "Invasive tumor with normal vocal cord mobility confined to subglottis\n\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor extends to vocal cord(s) \nWITH normal or impaired mobility", "Tumor involves adjacent regions(s) of larynx:\n Supraglottis\n Glottis\nWITH normal or impaired mobility\n\nStated as T2" ], [ "c3", "cT3", "Tumor limited to larynx \nWITH vocal cord fixation", "Stated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades cricoid or thyroid cartilage and/or invades tissues beyond the larynx, e.g.,\n Trachea\n Soft tissues of neck including deep/extrinsic muscle of tongue \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n Strap muscles\n Thyroid\n Esophagus", "Base of tongue\nHypopharynx, NOS\nPostcricoid area\nPre-epiglottic tissues\nPyriform sinus (pyriform fossa)\nVallecula\n\nExtension to/through:\n Cervical esophagus\n Deep extrinsic muscles of tongue\n Strap muscles:\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Oropharynx\n Skin\n Soft tissues of neck\n Thyroid gland\n Trachea\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades: \n Prevertebral space\n Encases carotid artery\n Mediastinal structures", "Stated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_supraglottic_69988.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_supraglottic_69988.json deleted file mode 100644 index 9381d9027..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_larynx_supraglottic_69988.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_larynx_supraglottic_69988", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Larynx Supraglottic", - "title" : "Clinical T", - "notes" : "**Note 1:** Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 2:** Assign T1 for localized tumor only if no information is available to identify further extension.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.501Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor limited to one subsite of supraglottis \nWITH normal vocal cord mobility", "Invasive tumor confined to anterior surface of epiglottis with normal vocal cord mobility\n\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor invades: \n Mucosa of more than one adjacent subsite of supraglottis OR \n Glottis or region outside the supraglottis, e.g., \n Mucosa of base of tongue\n Vallecula\n Medial wall of pyriform sinus \nWITHOUT fixation of the larynx", "Mucosa of adjacent subsite(s) of oropharynx\n\nMucosa of vallecula without fixation of larynx\n\nMucosa of adjacent subsite(s) of supraglottis (including posterior surface of epiglottis) \nWITHOUT fixation of larynx\n\nLarynx, glottic or NOS WITHOUT fixation of larynx\n\nMucosa of pyriform sinus, medial wall or NOS WITHOUT fixation of larynx\n\nMucosa of base of tongue WITHOUT fixation of larynx\n\nStated as T2" ], [ "c3", "cT3", "Tumor limited to larynx WITH vocal cord fixation and/or \ninvades any of the following:\n Postcricoid area\n Pre-epiglottic space\n Paraglottic space\n Inner cortex of thyroid cartilage", "Any structure coded in T1 or T2 WITH vocal cord fixation\n\nHypopharynx, NOS\nInner cortex of thyroid cartilage (minor erosion)\nParaglottic space\nPre-epiglottic tissues\nPostcricoid area\nPyriform sinus except medial wall \n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades through the thyroid cartilage and/or invades tissues beyond the larynx, e.g., \n Trachea\n Soft tissues of neck including deep/extrinsic muscle of tongue \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n Strap muscles\n Thyroid\n Esophagus", "Soft palate, inferior surface including uvula\nSoft palate, superior (nasopharyngeal) surface\nSoft palate, NOS\n\nNasopharynx, NOS\n\nDeep tissues of base of tongue\nBuccal mucosa (inner cheek)\nFloor of mouth\nGum (gingiva)\nPterygoid muscle\nSoft tissues of neck\nTrachea \nThyroid\n\nInvasion of, through outer cortex of thyroid cartilage\nThyroid cartilage, NOS\n\nStrap muscles:\n Omohyoid\n Sternohyoid\n Thyrohyoid\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades: \n Prevertebral space\n Encases carotid artery\n Mediastinal structures", "Prevertebral fascia or muscle\n\nFurther contiguous extension, including:\n Anterior 2/3 of tongue\n Bone\n Hard palate\n Mandible\n Parotid gland\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_lower_64771.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_lower_64771.json deleted file mode 100644 index bcb41b52b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_lower_64771.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_lip_lower_64771", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Lip Lower", - "title" : "Clinical T", - "notes" : "**Note 1:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size when involvement is limited to the cortical bone.\n\n Invasive tumor confined to\n Labial mucosa (inner lip)\n Lamina propria\n Multiple foci\n Submucosa (superficial invasion)\n Vermilion surface\n Superficial extension to\n Skin of lip\n Subcutaneous soft tissue of lip\n\n Extension to\n Bone, NOS\n Buccal mucosa (inner cheek)\n Commissure (from lower lip only)\n Cortical bone, NOS\n Cortical bone of mandible\n Cortical bone of maxilla (from commissure only)\n Gingiva (lower and NOS)\n Mandible, NOS\n Maxilla, NOS (from commissure only)\n Musculature\n Opposite lip (both lips)\n Upper gingiva (from commissure only)\n\n Confined to lower lip\n Localized, NOS\n\n**Note 4:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.522Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Trabecular bone of mandible\nTrabecular bone of maxilla (from commissure only)\n\nFloor of mouth\nInferior alveolar nerve\nNose\nSkin of face/neck\nTongue\n\nStated as T4a" ], [ "c4B", "cT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Upper gingiva (from lower lip)\n\nBone of maxilla (from lower lip)\nMaxilla, NOS (from lower lip)\nSpecified bone (other than mandible, maxilla from commissure)\nMasticator space\nPterygoid plates\n\nFurther contiguous extension including: \n Skull base \n Internal carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_other_75184.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_other_75184.json deleted file mode 100644 index d016dcfaf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_other_75184.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_lip_other_75184", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Lip Other", - "title" : "Clinical T", - "notes" : "**Note 1:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size when involvement is limited to the cortical bone.\n\n Invasive tumor confined to\n Labial mucosa (inner lip)\n Lamina propria\n Multiple foci\n Submucosa (superficial invasion)\n Vermilion surface\n Superficial extension to\n Skin of lip\n Subcutaneous soft tissue of lip\n\n Extension to\n Bone, NOS\n Buccal mucosa (inner cheek)\n Commissure \n Cortical bone, NOS\n Cortical bone of mandible\n Cortical bone of maxilla \n Gingiva\n Mandible, NOS\n Maxilla, NOS \n Musculature\n Opposite lip (both lips)\n\n Confined to lip, NOS\n Localized, NOS\n\n**Note 4:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.624Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Trabecular bone:\n Mandible\n Maxilla\n\nFloor of mouth\nInferior alveolar nerve\nNose\nSkin of face/neck\nTongue\n\nStated as T4a" ], [ "c4B", "cT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Specified bone \n\nMasticator space\nPterygoid plates\n\nFurther contiguous extension including: \n Skull base \n Internal carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_upper_3775.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_upper_3775.json deleted file mode 100644 index a27a6d165..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lip_upper_3775.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_lip_upper_3775", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Lip Upper", - "title" : "Clinical T", - "notes" : "**Note 1:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size when involvement is limited to the cortical bone.\n\n Invasive tumor confined to\n Labial mucosa (inner lip)\n Lamina propria\n Multiple foci\n Submucosa (superficial invasion)\n Vermilion surface\n Superficial extension to\n Skin of lip\n Subcutaneous soft tissue of lip\n\n Extension to \n Bone, NOS\n Buccal mucosa (inner cheek)\n Commissure \n Cortical bone, NOS\n Cortical bone of maxilla \n Gingiva, NOS\n Musculature\n Opposite lip (both lips)\n Upper gingiva\n\n Confined to upper lip\n Localized, NOS\n\n**Note 4:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.626Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Trabecular bone of maxilla\n\nFloor of mouth\nInferior alveolar nerve\nNose\nSkin of face/neck\nTongue\n\nStated as T4a" ], [ "c4B", "cT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Lower gingiva\n\nBone of mandible\nMandible, NOS\nSpecified bone \n\nMasticator space\nPterygoid plates\n\nFurther contiguous extension including: \n Skull base \n Internal carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_liver_16950.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_liver_16950.json deleted file mode 100644 index 8a2b6baad..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_liver_16950.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_liver_16950", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Liver", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for liver tumors.\n\n**Note 2:** Assign T2 or T3 based on the tumor size for the following descriptions\n\n Multiple (satellite) nodules/tumors (one lobe) \n WITH or WITHOUT intrahepatic vascular invasion, including vascular invasion not stated\n WITH extension to gallbladder WITH or WITHOUT intrahepatic vascular invasion\n\n Multiple (satellite) nodules/tumors in more than one lobe of liver or on surface of parenchyma \n\n Satellite nodules, NOS\n\n**Note 3:** Major vascular invasion (T3b) is defined as invasion of the branches of the main portal vein (right or left portal vein, not including sectoral or segmental branches) or as invasion of one or more of the three hepatic veins (right, middle, or left). \n* Invasion of hepatic artery or vena cava is coded to T4", - "footnotes" : "\\# T3 [NOS] is not defined in AJCC 7th edition", - "last_modified" : "2018-05-14T21:29:02.628Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Solitary tumor without vascular invasion", "Single lesion (one lobe) WITHOUT intrahepatic vascular invasion, including vascular invasion not stated\n\nMore than one lobe involved by contiguous growth (single lesion) WITHOUT intrahepatic vascular invasion, including vascular invasion not stated\n\nSingle lesion \nWITH involvement of one or more lobes of liver or extension within liver not stated\nWITH extension to gallbladder\nWITHOUT vascular invasion, including vascular invasion not stated\n\nConfined to liver, NOS\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Solitary tumor with vascular invasion or multiple tumors, none more than\n5 cm in greatest dimension", "Single lesion (one lobe ) WITH intrahepatic vascular invasion\n\nMore than one lobe involved by contiguous growth (single lesion) WITH vascular invasion\n\nSingle lesion \nWITH involvement of one or more lobes of liver or extension within liver not stated\nWITH extension to gallbladder\nWITH intrahepatic vascular invasion\n\nStated as T2" ], [ "c3", "cT3", "Multiple tumors any more than 5 cm or tumor involving a major branch of\nthe portal or hepatic vein(s)#", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories\n\nStated as T3 [NOS]" ], [ "c3A", "cT3a", "Multiple tumors any more than 5 cm", "Stated as T3a" ], [ "c3B", "cT3b", "Tumor involving a major branch of the portal or hepatic vein(s)", "Single tumor (confined to one lobe) or multiple tumor(s) (confined to one lobe and not on surface of liver) WITH major vascular invasion: major branch(es) of portal or hepatic vein(s)\n\nSingle or multiple tumor(s) with major vascular invasion: major branch(es) of portal or hepatic vein(s) plus multiple nodules/tumors in more than one lobe of liver or on surface of parenchyma\n\nStated as T3b" ], [ "c4", "cT4", "Tumor(s) with direct invasion of adjacent organs other then the gallbladder\nor with perforation of visceral peritoneum", "Direct extension/perforation of visceral peritoneum\n\nExtrahepatic bile ducts\n\nExtension to hepatic artery or vena cava\n\nDiaphragm\n\nLesser omentum\nLigament(s):\n Coronary\n Falciform\n Hepatoduodenal\n Hepatogastric\n Round (of liver)\n Triangular\nParietal peritoneum\n\nFurther contiguous extension:\n Pancreas\n Pleura\n Stomach\nOther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lung_28486.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lung_28486.json deleted file mode 100644 index 2978e6d8d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_lung_28486.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_lung_28486", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Lung", - "title" : "Clinical T", - "notes" : "**Note 1:** Distance from Carina: Assume tumor is greater than or equal to 2 centimeters (cm) from carina if lobectomy, segmental resection, or wedge resection is done.\n\n**Note 2:** Specific information about visceral pleura invasion is captured in T2 and **Site-Specific Factor 2, Visceral Pleural Invasion (VPI)/Elastic Layer**. Elastic layer involvement has prognostic significance for lung cancer.\n\n**Note 3:** Bronchopneumonia is not the same thing as obstructive pneumonitis and should not be coded as such. \n* Bronchopneumonia is an acute inflammation of the walls of the bronchioles, usually a result of spread of infection from the upper to the lower respiratory tract\n* Obstructive pneumonitis is a combination of atelectasis, bronchiectasis with mucous plugging, and parenchymal inflammation that develops distal to an obstructing endobronchial lesion\n\n**Note 4:** Atelectasis is the failure of the lung to expand (inflate) completely. This may be caused by a blocked airway, a tumor, general anesthesia, pneumonia or other lung infections, lung disease, or long-term bedrest with shallow breathing. Sometimes called a collapsed lung. \n* For staging purposes, atelectasis must present with an obstructing tumor\n\n**Note 5:** Assign the appropriate T (sub)category (T1-T3) based on the tumor size for the following descriptions\n\n Direct tumor invasion into an adjacent ipsilateral lobe\n Invasion of pleura, NOS\n Pulmonary ligament \n Tumor confined to hilus\n Tumor confined to one lung \n Tumor involving main stem bronchus\n\n Confined to lung, NOS\n Localized, NOS\n\n**Note 6:** Separate ipsilateral tumor nodes are assigned either T3 (same lobe) or T4 (different lobe). Separate tumor nodules in the contralateral lung are assigned in M (distant metastasis). \n* The absence or presence of separate tumor nodules are also coded in **Site-Specific Factor 1** \n\n**Note 7:** Pulmonary Artery/Vein: An involved pulmonary artery/vein in the mediastinum is assigned T4 (involvement of major blood vessel). However, if the involvement of the artery/vein appears to be only within lung tissue and not in the mediastinum, it is not assigned T4.\n\n**Note 8:** Vocal cord paralysis (resulting from involvement of recurrent branch of the vagus nerve), superior vena cava (SVC) obstruction, or compression of the trachea or the esophagus may be related to direct extension of the primary tumor or to lymph node involvement. The treatment options and prognosis associated with these manifestations of disease extent fall within the T4-Stage IIIB category. \n* If the primary tumor is peripheral and clearly unrelated to vocal cord paralysis, SVC obstruction, or compression of the trachea or the esophagus, code these manifestations as mediastinal lymph node involvement, N2 in regional lymph nodes, unless there is a statement of involvement by direct extension from the primary tumor\n\n**Note 9:** Opposite (contralateral) Lung: If no mention is made of the opposite lung on a chest x-ray, assume it is not involved.", - "last_modified" : "2018-05-14T21:29:02.482Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed OR\nTumor proven by the presence of malignant cells in sputum or bronchial washings but \nNOT visualized by imaging or bronchoscopy", "Occult carcinoma\n\nClinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 3 cm or less in greatest dimension, surrounded by lung or visceral pleura\nWITHOUT bronchoscopic evidence of invasion more proximal than the lobar bronchus (i.e., not in the main bronchus)", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor 2 cm or less in greatest dimension", "Uncommon superficial spreading tumor of any size with its invasive component limited to the bronchial wall, which may extend proximal to the main bronchus\n\nStated as T1a" ], [ "c1B", "cT1b", "Tumor more than 2 cm but not more than 3 cm in greatest dimension", "Stated as T1b" ], [ "c2", "cT2", "Tumor more than 3 cm but not more than 7 cm; OR\nTumor with any of the following features\n Involves main bronchus, 2 cm or more distal to the carina\n Invades visceral pleura\n Associated with atelectasis or obstructive pneumonitis that extends to the hilar region but does not involve the entire lung", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nStated as T2 [NOS]" ], [ "c2A", "cT2a", "Tumor more than 3 cm but not more than 5 cm in greatest dimension", "T2 tumor with features listed in T2 are classified T2a if 5 cm or less, or if size cannot be determined\n\nStated as T2a" ], [ "c2B", "cT2b", "Tumor more than 5 cm but not more than 7 cm in greatest dimension", "T2 tumor with features listed in T2 are classified T2b if greater than 5 cm but not larger than 7 cm\n\nStated as T2b" ], [ "c3", "cT3", "Tumor more than 7 cm OR\n One that directly invades any of the following: \n Parietal pleura\n Chest wall (including superior sulcus tumors)\n Diaphragm\n Phrenic nerve\n Mediastinal pleura\n Parietal pericardium\nOR Tumor in the main bronchus less than 2 cm distal to the carina but without involvement of the carina \nOR Associated atelectasis or obstructive pneumonitis of the entire lung \nOR Separate tumor nodule(s) in the same lobe as the primary", "Stated as T3" ], [ "c4", "cT4", "Tumor of any size that invades any of the following:\n Mediastinum\n Heart\n Great vessels\n Trachea\n Recurrent laryngeal nerve\n Esophagus\n Vertebral body\n Carina\n Separate tumor nodule(s) in a different ipsilateral lobe to that of the primary", "Note: Invasion into mediastinal fat is T4. \nHowever, if such an invasion is clearly limited to fat within the hilum, classification as T2a or T2b is appropriate, depending on size, unless other features dictate a higher T category\n\nSuperior sulcus tumor WITH encasement of subclavian vessels OR WITH unequivocal involvement of superior branches of brachial plexus (C8 or above)\n\nTumor confined to carina\n\nBlood vessel(s), major\n Aorta\n Azygos vein\n Inferior vena cava\n Pulmonary artery or vein\n Superior vena cava (SVC syndrome)\n\nCarina from lung/mainstem bronchus\nCompression of esophagus or trachea not specified as direct extension\n\nMediastinum, extrapulmonary or NOS\nNerve(s):\n Cervical sympathetic (Horner syndrome)\n Recurrent laryngeal (vocal cord paralysis)\n Vagus\n\nVisceral pericardium\n\nVertebra(e)\nNeural foramina\n\nFurther contiguous extension \n(Except to structures specified in distant metastasis)\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_buccal_mucosa_55204.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_buccal_mucosa_55204.json deleted file mode 100644 index c1c46ee0f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_buccal_mucosa_55204.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_buccal_mucosa_55204", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Buccal Mucosa", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.091Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Buccal mucosa\n Gingiva\n Hard palate\n Soft palate\n Lateral pharyngeal wall\n Lip(s) including commissure\n Tonsillar pillars and fossae\n Tonsils\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of cheek (buccinators)\nSkin of check WITH or WITHOUT ulceration\nSubcutaneous soft tissue of cheek\n\nBone, NOS excluding palatine bone, base of skull\nCortical bone:\n Mandible\n Maxilla\nDeep soft tissue involvement:\n Nasal cavity\n Soft palate\nMandible, NOS\nMaxilla, NOS\nMaxillary sinus (antrum)\nPalatine bone\n\nDeep extrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Further contiguous extension:\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_choroid_t_80325.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_choroid_t_80325.json deleted file mode 100644 index 3675c647b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_choroid_t_80325.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_choroid_t_80325", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Choroid", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for choroid tumors.\n\n**Note 2:** Melanomas of the uvea arise most commonly in the choroid, less frequently in the ciliary body, and least often in the iris. Melanomas of the iris tend to be small, and those arising from or extending to the ciliary body typically are large.\n\n**Note 3:** UICC 7th Edition assigns a T value to combinations of measurements for basal diameter and thickness of tumor divided into four Tumor Size Categories in a charted format. (1) \n\n**Note 4:** In clinical practice, the largest tumor basal diameter may be estimated in optic disc diameters (dd, average: 1 dd = 1.5 mm). Tumor thickness may be estimated in diopters (average: 2.5 diopters = 1 mm). However, techniques such as ultrasonography and fundus photography are used to provide more accurate measurements. Ciliary body involvement can be evaluated by the slit-lamp, opthalmoscopy, gonioscopy and transillumination. However, high frequency ultrasonography (ultrasound biomicroscopy) is used for more accurate assessment. Extension through the sclera is evaluated visually before and during surgery, and with ultrasonography, computed tomography or magnetic resonance imaging. (1)\n\n**Note 5:** When histopathological measurements are recorded after fixation, tumor diameter and thickness may be underestimated because of tissue shrinkage. (1)", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pgs., 285, 286, 288", - "last_modified" : "2018-05-14T21:29:02.650Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Basal diameter and thickness not known\nTumor size category not known\n\nClinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor size category 1", "Note: T1 has subcategories of T1a, T1b, T1c and T1d. Assign T1 only when there is no information available to assign one of the subcategories\n\nTumor Size Category 1\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT ciliary body involvement WITHOUT extraocular extension OR ciliary body involvement and extraocular extension not stated\n\nAND stated as Tumor Size Category 1\n\nStated as T1a" ], [ "c1B", "cT1b", "WITH ciliary body involvement", "Tumor WITH ciliary body involvement WITHOUT extraocular extension OR extraocular extension not stated\n\nAND stated as Tumor Size Category 1\n\nStated as T1b" ], [ "c1C", "cT1c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITHOUT ciliary body involvement OR ciliary involvement not stated \nWITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 1\n\nStated as T1c" ], [ "c1D", "cT1d", "WITH ciliary body involvement AND\nExtraocular extension less than or equal to 5 mm in diameter", "Tumor WITH ciliary body involvement WITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 1\n\nStated as T1d" ], [ "c2", "cT2", "Tumor size category 2", "Note: T2 has subcategories of T2a, T2b, T2c and T2d. Assign T2 only when there is no information available to assign one of the subcategories\n\nTumor Size Category 2\n\nStated as T2 [NOS]" ], [ "c2A", "cT2a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT ciliary body involvement WITHOUT extraocular extension OR ciliary body involvement and extraocular extension not stated\n\nAND stated as Tumor Size Category 2\n\nStated as T2a" ], [ "c2B", "cT2b", "WITH ciliary body involvement", "Tumor WITH ciliary body involvement WITHOUT extraocular extension OR extraocular extension not stated\n\nAND stated as Tumor Size Category 2\n\nStated as T2b" ], [ "c2C", "cT2c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITHOUT ciliary body involvement OR ciliary involvement not stated\nWITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 2\n\nStated as T2c" ], [ "c2D", "cT2d", "WITH ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITH ciliary body involvement WITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 2\n\nStated as T2d" ], [ "c3", "cT3", "Tumor size category 3", "Note: T3 has subcategories of T3a, T3b, T3c and T3d. Assign T3 only when there is no information available to assign one of the subcategories\n\nTumor Size Category 3\n\nStated as T3 [NOS]" ], [ "c3A", "cT3a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT ciliary body involvement WITHOUT extraocular extension OR ciliary body involvement and extraocular extension not stated\n\nAND stated as Tumor Size Category 3\n\nStated as T3a" ], [ "c3B", "cT3b", "WITH ciliary body involvement", "Tumor WITH ciliary body involvement WITHOUT extraocular extension OR extraocular extension not stated\n\nAND stated as Tumor Size Category 3\n\nStated as T3b" ], [ "c3C", "cT3c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITHOUT ciliary body involvement OR ciliary involvement not stated\n WITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 3\n\nStated as T3c" ], [ "c3D", "cT3d", "WITH ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITH ciliary body involvement WITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 3\n\nStated as T3d" ], [ "c4", "cT4", "Tumor size category 4", "Note: T4 has subcategories of T4a, T4b, T4c, T4d and T4e. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor Size Category 4\n\nFurther contiguous extension\n\nStated as T4 [NOS]" ], [ "c4A", "cT4a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT ciliary body involvement WITHOUT extraocular extension OR ciliary body involvement and extraocular extension not stated\n\nAND stated as Tumor Size Category 4\n\nStated as T4a" ], [ "c4B", "cT4b", "WITH ciliary body involvement", "Tumor WITH ciliary body involvement WITHOUT extraocular extension OR extraocular extension not stated\n\nAND stated as Tumor Size Category 4\n\nStated as T4b" ], [ "c4C", "cT4c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITHOUT ciliary body involvement OR ciliary involvement not stated\nWITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 4\n\nStated as T4c" ], [ "c4D", "cT4d", "WITH ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITH ciliary body involvement WITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 4\n\nStated as T4d" ], [ "c4E", "cT4e", "Any tumor size category with extraocular extension more than 5 mm in diameter", "Tumor WITH extraocular extension greater than 5 mm in diameter\n\nAND stated as Tumor Size Category 4\n\nStated as T4e" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_ciliary_body_68734.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_ciliary_body_68734.json deleted file mode 100644 index 85d89869b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_ciliary_body_68734.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_ciliary_body_68734", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Ciliary Body", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for ciliary body tumors.\n\n**Note 2:** Ciliary body and Iris are both included in the ICD-O-3 site code of C694, but they are staged with different criteria by TNM. \n* The Schema Discriminator is used to select the staging schema appropriate for coding extension for melanoma of the ciliary body\n\n**Note 3:** Melanomas of uvea arise most commonly in the choroid, less frequently in the ciliary body, and least often in the iris. Melanomas of the iris tend to be small, and those arising from or extending to the ciliary body typically are large.\n\n**Note 4:** UICC 7th Edition assigns a T value to combinations of measurements for basal diameter and thickness of tumor divided into four Tumor Size Categories in a charted format (1). \n\n**Note 5:** In clinical practice, the largest tumor basal diameter may be estimated in optic disc diameters (dd, average: 1 dd = 1.5 mm). Tumor thickness may be estimated in diopters (average: 2.5 diopters = 1 mm). However, techniques such as ultrasonography and fundus photography are used to provide more accurate measurements. Ciliary body involvement can be evaluated by the slit-lamp, opthalmoscopy, gonioscopy and transillumination. However, high frequency ultrasonography (ultrasound biomicroscopy) is used for more accurate assessment. Extension through the sclera is evaluated visually before and during surgery, and with ultrasonography, computed tomography or magnetic resonance imaging. (1)\n\n**Note 6:** When histopathological measurements are recorded after fixation, tumor diameter and thickness may be underestimated because of tissue shrinkage. (1)\n\n**Note 7:** Iris melanomas originate from, and are predominantly located in, this region of the uvea. If less than one-half of the tumor volume is located within the iris, the tumor may have originated in the ciliary body and evaluation should be given to classifying it accordingly. (1)", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pgs., 285, 286, 288", - "last_modified" : "2018-05-14T21:29:02.630Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Basal diameter and thickness not known\nTumor size category not known\n\nClinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor size category 1", "Note: T1 has subcategories of T1a, T1b, T1c and T1d. Assign T1 only when there is no information available to assign one of the subcategories\n\nTumor Size Category 1\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT extraocular extension (or extraocular extension not stated)\n\nAND stated as Tumor Size Category 1\n\nStated as T1a" ], [ "c1B", "cT1b", "WITH ciliary body involvement", "Stated as T1b" ], [ "c1C", "cT1c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Stated as T1c" ], [ "c1D", "cT1d", "WITH ciliary body involvement AND\nExtraocular extension less than or equal to 5 mm in diameter", "Tumor WITH extraocular extension less than or equal to 5 mm in diameter\n\nAND stated as Tumor Size Category 1\n\nStated as T1d" ], [ "c2", "cT2", "Tumor size category 2", "Note: T2 has subcategories of T2a, T2b, T2c and T2d. Assign T2 only when there is no information available to assign one of the subcategories\n\nTumor Size Category 2\n\nStated as T2 [NOS]" ], [ "c2A", "cT2a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT extraocular extension (or extraocular extension not stated)\n\nAND stated as Tumor Size Category 2\n\nStated as T2a" ], [ "c2B", "cT2b", "WITH ciliary body involvement", "Stated as T2b" ], [ "c2C", "cT2c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Stated as T2c" ], [ "c2D", "cT2d", "WITH ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITH extraocular extension less than or equal to 5 mm in diameter\n\nAND stated as Tumor Size Category 2\n\nStated as T2d" ], [ "c3", "cT3", "Tumor size category 3", "Note: T3 has subcategories of T3a, T3b, T3c and T3d. Assign T3 only when there is no information available to assign one of the subcategories\n\nTumor Size Category 3\n\nStated as T3 [NOS]" ], [ "c3A", "cT3a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT extraocular extension (or extraocular extension not stated)\n\nAND stated as Tumor Size Category 3\n\nStated as T3a" ], [ "c3B", "cT3b", "WITH ciliary body involvement", "Stated as T3b" ], [ "c3C", "cT3c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Stated as T3c" ], [ "c3D", "cT3d", "WITH ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITH extraocular extension less than or equal to 5 mm in diameter\n\nAND stated as Tumor Size Category 3\n\nStated as T3d" ], [ "c4", "cT4", "Tumor size category 4", "Note: T4 has subcategories of T4a, T4b, T4c, T4d and T4e. Assign T4 only when there is no information available to assign one of the subcategories\n\nStated as Tumor Size Category 4\n\nFurther contiguous extension\n\nStated as T4 [NOS]" ], [ "c4A", "cT4a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT extraocular extension (or extraocular extension not stated)\n\nAND stated as Tumor Size Category 4\n\nStated as T4a" ], [ "c4B", "cT4b", "WITH ciliary body involvement", "Stated as T4b" ], [ "c4C", "cT4c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Stated as T4c" ], [ "c4D", "cT4d", "WITH ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITH extraocular extension less than or equal to 5 mm in diameter\n\nAND stated as Tumor Size Category 4\n\nStated as T4d" ], [ "c4E", "cT4e", "Any tumor size category with extraocular extension more than 5 mm in diameter", "Tumor WITH extraocular extension greater than 5 mm in diameter\n\nStated as T4e" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_epiglottis_anterior_87665.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_epiglottis_anterior_87665.json deleted file mode 100644 index 979417f4f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_epiglottis_anterior_87665.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_epiglottis_anterior_87665", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Epiglottis Anterior", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.969Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Adjacent subsite(s) of oropharynx\n Adjacent subsite(s) of supraglottis (including posterior surface of epiglottis) WITHOUT fixation of larynx\n Anterior surface of epiglottis with normal vocal cord mobility\n Base of tongue WITHOUT fixation of larynx\n Larynx, glottis or NOS WITHOUT fixation of larynx\n Pyriform sinus, medial wall or NOS WITHOUT fixation of larynx\n Vallecula WITHOUT fixation of larynx \n\nBuccal mucosa\nMucosa of floor of mouth\nMucosa of gum (gingival)\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissue or musculature \nSoft tissue, NOS\n\nAnterior 2/3 of tongue\nEsophagus\nHard palate\nHypopharynx, NOS\nMinor thyroid cartilage erosion (inner cortex)\nNasopharynx, NOS\nParaglottic space\nParotid gland\nPre-epiglottic tissues\nPostcricoid area\nPterygoid muscle\nPyriform sinus except medial wall \nSoft palate\nSoft tissues of neck\nStrap muscles:\n Omohyoid \n Sternohyoid\n Sternothyroid\n Thyrohyoid\nThyroid\nThyroid cartilage, NOS\nTrachea\n\nExtrinsic muscles of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Prevertebral fascia or muscle\nPrevertebral space\n\nFurther contiguous extension \n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_floor_of_mouth_29889.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_floor_of_mouth_29889.json deleted file mode 100644 index f66f06519..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_floor_of_mouth_29889.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_floor_of_mouth_29889", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Floor of Mouth", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.082Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Anterior two-thirds of tongue\n Base of tongue\n Epiglottis\n Floor of mouth WITH or WITHOUT crossing midline\n GIngiva (alveolar ridge), lower\n Glossoepiglottic fold\n Glossopharyngeal sulcus\n Lateral pharyngeal wall\n Pharyngeal (lingual) surface\n Pharyngoepiglottic fold\n Tonsillar pillars and fossae\n Tonsils\n Vallecula\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Deep (extrinsic) muscle of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus\n\nMaxillary sinus (antrum)\nSkin of undersurface of chin/neck\nTrabecular bone of mandible\nTrabecular bone of maxilla\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Pterygoid plates\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_lower_93520.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_lower_93520.json deleted file mode 100644 index 4886d3fca..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_lower_93520.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_gum_lower_93520", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Gum Lower", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.074Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Buccal mucosa\n Lateral pharyngeal wall\n Lip(s) including commissure\n Gingiva\n Hard palate\n Soft palate\n Tonsillar pillars and fossae\n Tonsils\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of cheek (buccinators)\n\nBone, NOS excluding palatine bone, base of skull\nCortical bone:\n Mandible\n Maxilla\nDeep soft tissue involvement:\n Nasal cavity\n Soft palate\nMaxillary sinus (antrum)\nPalatine bone\n\nDeep extrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Further contiguous extension:\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_other_64011.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_other_64011.json deleted file mode 100644 index ee55b2bee..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_other_64011.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_gum_other_64011", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Gum Other", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.059Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Buccal mucosa (inner cheek)\n Gum\n Labial mucosa (inner lip), lip\n Lateral pharyngeal wall\n Soft palate including uvula\n Tonsillar pillars\n Tonsillar fossae\n Tonsils\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissue or periosteum of gum WITH or WITHOUT mucosal involvement\n\nBone, NOS except base of skull\nCortical bone of mandible or maxilla\nFacial muscle, NOS\nMandible, NOS\nMaxillary sinus (antrum)\nMaxilla, NOS\nSkin of face\nSubcutaneous soft tissue of face\n\nExtrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Base of skull\n Pterygoid plates \n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_upper_45093.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_upper_45093.json deleted file mode 100644 index 846dd90f1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_gum_upper_45093.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_gum_upper_45093", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Gum Upper", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.509Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Buccal mucosa (inner cheek) \n Floor of mouth\n Hard palate\n Lateral pharyngeal wall\n Lip, NOS (labial mucosa)\n Lower lip (labial mucosa)\n Soft palate including uvula \n Tongue mucosa\n Lateral pharyngeal wall\n Tonsillar pillars and fossae \n Tonsils\n Upper gingiva\n\nExtension via mucosa to upper lip (labial mucosa)\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissue or periosteum of lower gum\n\nBone, NOS except mandible, base of skull\nCortical bone of maxilla or palatine bone\nDeep soft tissues or musculature of upper lip\nFacial muscle, NOS\nMaxilla, NOS\nMaxillary sinus (antrum)\nNasal cavity\nPalatine bone, NOS\nSkin of face\nSubcutaneous soft tissue of face\n\nExtrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\nCartilage of mandible\nCortical bone of mandible\nMandible, NOS\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Base of skull\n Pterygoid plates\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_hypopharynx_41386.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_hypopharynx_41386.json deleted file mode 100644 index 8deaeeedf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_hypopharynx_41386.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_hypopharynx_41386", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Hypopharynx", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.057Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Larynx\n Laryngopharynx\n Nasopharynx\n Oropharynx\n Postcricoid area\n Posterior pharyngeal wall\n Pyriform sinus\n\nTumor involves mucosa of more than one subsite of hypopharynx WITHOUT fixation\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of any structure in T3\nSoft tissue, NOS\n\nAny structure in T3 WITH tumor fixation\n\nFixation of hemilarynx or larynx\n\nCentral compartment soft tissues of neck including:\n Prelaryngeal strap muscles\n Subcutaneous fat\n\nBone excluding base of skull\nEsophagus\nHyoid bone\nThyroid cartilage\nThyroid gland\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Carotid artery (encased)\nPrevertebral fascia/muscle(s)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_iris_54551.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_iris_54551.json deleted file mode 100644 index 9fd04d896..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_iris_54551.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_iris_54551", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Iris", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for iris tumors.\n\n**Note 2:** Ciliary body and Iris are both included in the ICD-O-3 site code of C694, but they are staged with different criteria by TNM. \n* The Schema Discriminator is used to select the schema appropriate for coding extension for melanoma of the iris \n\n**Note 3:** Melanomas of the uvea arise most commonly in the choroid, less frequently in the ciliary body, and least often in the iris. Melanomas of the iris tend to be small, and those arising from or extending to the ciliary body typically are large.\n\n**Note 4:** Iris melanomas originate from, and are predominantly located in, this region of the uvea. If less than one-half of the tumor volume is located within the iris, the tumor may have originated in the ciliary body and evaluation should be given to classifying it accordingly. (1)", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 285", - "last_modified" : "2018-05-14T21:29:02.963Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor limited to iris", "Note: T1 has subcategories of T1a, T1b and T1c. Assign T1only when there is no information available to assign one of the subcategories\n\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Not more than 3 clock hours in size", "Limited to iris not more than 3 clock hours in size\nWITHOUT melanomalytic (secondary) glaucoma, or not stated if melanomalytic (secondary) glaucoma\n\nStated as T1a" ], [ "c1B", "cT1b", "More than 3 clock hours in size", "Limited to iris more than 3 clock hours in size \nWITHOUT melanomalytic (secondary) glaucoma, or not stated if melanomalytic (secondary) glaucoma\n\nStated as T1b" ], [ "c1C", "cT1c", "WITH secondary glaucoma", "Limited to iris WITH melanomalytic (secondary) glaucoma\n\nStated as T1c" ], [ "c2", "cT2", "Tumor confluent WITH or extending into: \n Ciliary body, choroid or both", "Tumor confluent with or extending into the ciliary body and/or choroid \nWITHOUT melanomalytic (secondary) glaucoma, or not stated if melanomalytic (secondary) glaucoma\n\nStated as T2 [NOS]" ], [ "c2A", "cT2a", "WITH secondary glaucoma", "Tumor confluent with or extending into the ciliary body and/or choroid \nWITH melanomalytic (secondary) glaucoma\n\nStated as T2a" ], [ "c3", "cT3", "Tumor confluent WITH or extending into: \n Ciliary body, choroid or both, WITH scleral extension", "Tumor confluent with or extending into the ciliary body and/or choroid WITH scleral extension\nWITHOUT melanomalytic (secondary) glaucoma, or not stated if melanomalytic (secondary) glaucoma\n\nStated as T3 [NOS]" ], [ "c3A", "cT3a", "With secondary glaucoma", "Tumor confluent with or extending into the ciliarybody and/or choroid WITH scleral extension \nWITH melanomalytic (secondary) glaucoma\n\nStated as T3a" ], [ "c4", "cT4", "Tumor extrascleral extension", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nExtrascleral (extraocular) extension, measurement of diameter not specified\n\nStated as T4 [NOS]" ], [ "c4A", "cT4a", "Less than or equal to 5 mm in diameter", "Tumor with extrascleral (extraocular) extension less than or equal to 5 mm in diameter\n\nStated as T4a" ], [ "c4B", "cT4b", "More than 5 mm in diameter", "Tumor with extrascleral (extraocular) extension greater than 5 mm in diameter\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_glottic_10232.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_glottic_10232.json deleted file mode 100644 index 5b0ef95b0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_glottic_10232.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_larynx_glottic_10232", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Larynx Glottic", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.958Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Base of tongue\n Glottis, NOS\n Hypopharynx\n Intrinsic larynx\n Laryngeal commissure(s), anterior, posterior\n Pre-epiglottic tissues\n Postcricoid area\n Pyriform sinus\n Subglottis\n Supraglottis:\n Aryepiglottic fold\n Arytenoid cartilage:\n Corniculate tubercle\n Cuneiform tubercle\n Ventricular bands (false vocal cord(s))\n Vallecula\n Vocal cord(s), NOS, true vocal cord(s), true cord(s) WITH normal vocal cord mobility \n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissues of any structures in T3\nInvolvement of any structures in T3 WITH impaired vocal cord mobility\nInvolvement of deep tissue or musculature of structures in T3 WITH or WITHOUT vocal impairment or fixation of larynx or NOS\nMinor thyroid cartilage erosion (inner cortex)\nParaglottic space\nSoft tissue, NOS\n\nExtension to/through:\n Cricoid cartilage\n Thyroid cartilage except minor erosion\nExtension to/through tissues beyond larynx:\n Oropharynx\n Skin\n Soft tissue of neck\n Strap muscles:\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Thyroid gland\n Trachea\n\nCervical esophagus\nDeep extrinsic muscle(s) of tongue\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension, including:\n Carotid artery (encased)\n Mediastinal structures\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_other_92067.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_other_92067.json deleted file mode 100644 index 01e5828b2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_other_92067.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_larynx_other_92067", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Larynx Other", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.181Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of:\n Adjacent region(s) of larynx WITHOUT impairment of vocal cord mobility or fixation of larynx or NOS \n Base of tongue\n Hypopharynx, NOS\n Pre-epiglottic tissues\n Postcricoid area\n Pyriform sinus\n Vallecula\n\n Involvement of more than one subsite of supraglottis, glottis, or subglottis WITHOUT impairment of vocal cord mobility or fixation of larynx or NOS\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Stated as T4 [NOS]" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_subglottic_74637.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_subglottic_74637.json deleted file mode 100644 index 363fc6587..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_subglottic_74637.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_larynx_subglottic_74637", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Larynx Subglottic", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.417Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of subglottis WITH normal vocal cord mobility\n\nExtension involving mucosa only of adjacent region(s) or of larynx:\n Supraglottis \n Glottis\nWITH normal vocal cord mobility\n\nExtension involving mucosa only of adjacent regions:\n Base of tongue\n Hypopharynx, NOS\n Postcricoid area\n Pre-epiglottic tissues \n Pyriform sinus\n Vallecula\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissues of any structure in T3\nInvolvement of any structures in T3 WITH impaired vocal cord mobility\nTumor limited to larynx WITH vocal cord fixation\nInvolvement of deep soft tissues or musculature of any structure in T3\nWITH or WITHOUT vocal cord impairment or fixation of larynx or NOS\n\nExtension to/through:\n Cervical esophagus\n Cricoid cartilage\n Deep muscle of tongue\n Strap muscles:\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Oropharynx\n Skin\n Soft tissues of neck\n Thyroid cartilage\n Thyroid gland\n Trachea\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Carotid artery (encased)\n Mediastinal structures\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_supraglottic_25433.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_supraglottic_25433.json deleted file mode 100644 index 8b408a423..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_larynx_supraglottic_25433.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_larynx_supraglottic_25433", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Larynx Supraglottic", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.901Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of supraglottis: \n Supraglottis (one subsite):\n Aryepiglottic fold\n Arytenoid cartilage:\n Corniculate cartilage\n Cuneiform cartilage\n Epilarynx, NOS\n False cords:\n Ventricular bands\n Ventricular cavity\n Ventricular fold\n Infrahyoid epiglottis\n Laryngeal cartilage, NOS\n Laryngeal (posterior) surface of epiglottis\n Suprahyoid epiglottis (including tip, lingual {anterior} and laryngeal surfaces)\nWITH normal vocal cord mobility\n\nExtension involving mucosa only of glottic larynx or subglottis WITHOUT impaired vocal cord mobility or fixation of larynx or NOS\n\nExtension involving mucosa only of adjacent regions(s) outside supraglottis including: \n Mucosa of base of tongue\n Vallecula\n Medial wall of pyriform sinus\nWITHOUT impaired vocal cord mobility or fixation of larynx or NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissues of any structure in T3\nInvolvement of any structures in T3 WITH impaired vocal cord mobility\nInvolvement of any structures in supraglottic larynx and subglottic larynx WITH vocal cord fixation\n\nParaglottic space WITHOUT vocal cord fixation\nMinor thyroid cartilage erosion (inner cortex) WITHOUT vocal cord fixation\n\nTumor involves further regions outside the supraglottis including:\n Deep tissues or musculature:\n Base of tongue\n Medial wall pyriform sinus\n Vallecula\n Hypopharynx, NOS\n Pre-epiglottic tissues\n Postcricoid area\n Pyriform sinus, NOS\nWITH or WITHOUT vocal cord fixation\n \nExtension to/through:\n Cricoid cartilage \n Deep extrinsic muscles of tongue \n Esophagus\n Oropharynx\n Skin\n Soft tissues of neck\n Strap muscle(s):\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Thyroid cartilage \n Thyroid gland\n Trachea\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension, including:\n Carotid artery (encased)\n Mediastinal structures\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lip_other_38821.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lip_other_38821.json deleted file mode 100644 index 3ba38fea4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lip_other_38821.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_lip_other_38821", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Lip Other", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.399Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of lip:\n Labial mucosa (inner lip)\n Vermilion surface\n\nExtension involving mucosa only:\n Buccal mucosa (Inner cheek) \n Commissure \n Lower gingiva\n Gingiva, NOS\n Opposite lip (both lips)\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of lip\nSoft tissue, NOS\nInvolvement of deep soft tissue or musculature of lip plus mucosal involvement of any structure in T3\nInvolvement of deep soft tissue or musculature of any structure in T3\nInvolvement of deep tissue or periosteum of gingiva\n\nBone, NOS except base of skull\nCartilage, NOS\nCartilage of mandible or maxilla\nCortical bone, NOS\nCortical bone of mandible or maxilla\nMandible, NOS\nMaxilla, NOS\n\nInvolvement of deep tissue or musculature of floor of mouth or tongue\nInferior alveolar nerve\nExtrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\nSkin of face/neck\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Carotid artery (encased)\n Pterygoid plates\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_15469.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_15469.json deleted file mode 100644 index c082b4b03..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_15469.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_lower_lip_15469", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Lower Lip", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.247Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of lower lip:\n Labial mucosa (inner lip)\n Vermilion surface\n \nExtension involving mucosa only:\n Buccal mucosa (inner cheek)\n Commissure (for lower lip)\n Floor mouth\n Lower gingiva\n Gingiva, NOS\n Opposite lip (both lips)\n Tongue\n Upper gingiva\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of lower lip, floor of mouth or tongue\nInvolvement of deep tissue or periosteum of lower or upper gingiva\n\nBone, NOS except maxilla, base of skull\nCartilage of mandible\nCartilage of maxilla\nCartilage, NOS\nCortical bone of mandible\nCortical bone of maxilla\nCortical bone, NOS\nInferior alveolar nerve\nMandible, NOS\nMaxilla, NOS\nSkin, NOS\nSkin of nose plus mucosa or deep tissue of upper gingiva\nSoft tissue, NOS\n\nExtrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Base of skull\n Pterygoid plates\n\nFurther contiguous extension \n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_t_31253.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_t_31253.json deleted file mode 100644 index fc8615283..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_lower_lip_t_31253.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_lower_lip_t_31253", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Lower Lip", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.557Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of upper lip:\n Labial mucosa (inner lip)\n Vermilion surface\n\nExtension involving mucosa only:\n Commissure\n Floor of mouth\n Gingiva (lower, upper and NOS)\n Inner cheek (buccal mucosa)\n Opposite lip (both lips)\n Tongue\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of upper lip\nSoft tissue NOS\nInvolvement of deep soft tissue or musculature of upper lip plus mucosal involvement of any structure in T3\nInvolvement of deep soft tissue or musculature of any structure in T3\nInvolvement of deep tissue or periosteum of lower or upper gingiva or floor of mouth of tongue\n\nBone, NOS except base of skull\nCartilage, NOS\nCartilage of mandible\nCartilage of maxilla\nCortical bone, NOS\nCortical bone of mandible\nCortical bone of maxilla\nDeep tissue or periosteum of lower gingiva\nInferior alveolar nerve\nMandible, NOS\nMaxilla, NOS\nSkin of face/neck\nSkin of nose\nSkin of nose plus mucosa or deep tissue lower gingiva\n\nExtrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Base of skull\n Carotid artery (encased)\n Pterygoid plates\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_mouth_other_18724.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_mouth_other_18724.json deleted file mode 100644 index 868c86bdb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_mouth_other_18724.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_mouth_other_18724", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Mouth Other", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.038Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of oral site\n\nExtension involving mucosa only to adjacent sites in oral cavity including tongue\n\nExtension involving mucosa only:\n Inferior surface of soft palate including uvula\n Lateral pharyngeal wall\n Lingual surface of epiglottis\n Oropharynx, NOS\n Vallecula\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of structure in T3\nSoft tissue, NOS\nDeep soft tissue or musculature of any structure in T3\n\nBone, NOS, excluding base of skull\nCartilage, NOS\nCortical bone, NOS\nCortical bone of mandible\nCortical bone of maxilla\nMandible, NOS\nMaxilla, NOS\nMaxillary antrum (sinus)\nNasal cavity\nSkin of face/neck\nDeep (extrinsic) muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Carotid artery (encased)\n Pterygoid plates \n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasal_cavity_92441.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasal_cavity_92441.json deleted file mode 100644 index 217254198..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasal_cavity_92441.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_nasal_cavity_92441", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Nasal Cavity", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** The bones of the lateral wall of the nasal cavity include the maxilla, the perpendicular plate of the palatine bone, the medial pterygoid plate, the labyrinth and inferior concha of the ethmoid. The roof of the nasal cavity is formed by the nasal bone. The floor of the nasal cavity, which forms the roof of the mouth, is composed of the bones of the hard palate: the horizontal plate of the palatine bone posteriorly and the palatine process of the maxilla anteriorly.\n\n**Note 4:** \"Bony invasion\" does not include extension to palate, cribriform plate, or pterygoid plates. Extension to these structures is coded separately.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.385Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of one of the following subsites:\n Septum\n Floor\n Lateral wall, including:\n Meatus (superior, middle, inferior) \n Nasal conchae (superior, middle, inferior)\n Vestibule (edge of naris to mucocutaneous junction)\n\nConfined to mucosa of nasal cavity, NOS \n\nExtension involving mucosa only:\n Ethmoid sinus\n Choana\n Frontal sinus\n Maxillary sinus\n Nasopharynx\n Sphenoid sinus\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissues of any structure in T3\nInvolvement of any structure in code T3 WITH bony invasion\nExtending to adjacent connective tissue within the nasoethomoidal complex\nAnterior orbital contents\nHard palate\nMedial wall or floor of the orbit\nNasolacrimal duct\nPterygoid plates\nSkin of nose\nSkin of cheek\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Anterior cranial fossa\nBase of skull\nCribriform plate\nClivus\nMiddle cranial fossa\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasopharynx_19497.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasopharynx_19497.json deleted file mode 100644 index 636908048..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_nasopharynx_19497.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_nasopharynx_19497", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Nasopharynx", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.010Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor involving mucosa of the following subsites:\n Inferior wall (superior surface of soft palate)\n Lateral wall extending into Eustachian tube/middle ear\n One lateral wall\n Posterior, inferior, or lateral wall(s)\n Posterior superior wall (vault)\n\nTumor involving mucosa only of nasopharynx, NOS\n\nTumor involving mucosa only:\n Hard palate\n Nasal cavity\n Oropharynx\n Paranasal sinus\n Soft palate including uvula\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissues or musculature of any structure in T3\nInvolvement of any structure in T3 WITH tumor described as FIXED\nInvolvement of any structure in T3 WITH parapharyngeal extension\nPterygopalatine fossa WITHOUT bone invasion\n\nBone excluding base of skull\nCartilage, NOS\nBone, NOS \nHypopharynx\nOverlying skin\nSoft tissues of neck\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Skull base including floor of orbit\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_oropharynx_83498.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_oropharynx_83498.json deleted file mode 100644 index 9b3c3e1af..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_oropharynx_83498.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_oropharynx_83498", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Oropharynx", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.898Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of the following subsites:\n Anterior wall: \n Lingual (anterior surface of epiglottis)\n Vallecula \n One lateral wall\n Posterior wall\n\nInvolvement of mucosa only: \n Anterior two-thirds of tongue\n Base of tongue\n Buccal mucosa (inner cheek)\n Floor of mouth\n Gum (gingiva)\n Hard palate\n Hypopharynx, NOS\n Larynx\n Nasopharynx \n Posterior surface of epiglottis\n Pyriform sinus\n Soft palate, inferior surface, including uvula\n Soft palate, superior (nasopharyngeal) surface\n Soft palate, NOS\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of any structure in T3 WITH or WITHOUT fixation\nMucosal involvement of hard palate\nInvolvement of deep soft tissue or musculature of both lateral walls, soft palate, or base of tongue \nwith contiguous involvement through all four sites\n\nBone, NOS\nBone excluding base of skull\nCartilage, NOS\nDeep tissue or periosteum of hard palate\nDeep soft tissue or musculature of anterior tongue\nLateral pterygoid muscle\nMaxilla\nMaxillary sinus (antrum)\nNasal cavity\nMedial pterygoid muscle\nOverlying skin\nPalatine bone\nParotid Gland\nPterygoid plates\nPterygoid muscle, NOS\nSoft tissue of neck, NOS\n\nDeep extrinsic muscles of tongue: \n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Prevertebral fascia/muscle WITH or WITHOUT involvement of both lateral walls through soft palate or base of tongue and WITH or WITHOUT involvement of anterior tongue or hard palate\n\nBone of skull\nCarotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_hard_80202.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_hard_80202.json deleted file mode 100644 index 3026f8f43..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_hard_80202.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_palate_hard_80202", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Palate Hard", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II.\n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.008Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of hard palate on one side\n\nTumor confined to mucosa of hard palate and crossing midline\n\nExtension involving mucosa only:\n Buccal mucosa (inner cheek)\n Gingiva, upper\n Glossopalatine arch\n Pharyngopalatine arch\n Soft palate\n Uvula\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissue or periosteum of hard palate\nInvolvement of deep tissue hard palate plus mucosal involvement of any structure in T3\nInvolvement of deep soft tissue or musculature of any structure in T3\n\nBone, NOS except base of skull \nCartilage, NOS\nCartilage of maxilla or palatine bone\nCortical bone, NOS\nCortical bone of maxilla or palatine bone\nFloor of nose\nMaxilla, NOS \nMaxillary sinus (antrum)\nNasal cavity\nNasopharynx\nPalatine bone, NOS\nPterygoid plate\nSkin of face\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Base of skull base (including sphenoid bone other than pterygoid plates)\n Carotid artery (encased)\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_soft_21789.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_soft_21789.json deleted file mode 100644 index bf04b75d2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_palate_soft_21789.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_palate_soft_21789", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Palate Soft", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II.\n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:00.908Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of soft palate or uvula on one side or crossing midline\n\nExtension involving mucosa only:\n Buccal mucosa (inner cheek)\n Hard palate\n Lateral pharyngeal wall\n Nasopharynx\n Tonsillar pillars and fossae\n Tonsils\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of soft palate or uvula\nInvolvement of deep soft tissue or musculature of soft palate or uvula plus mucosal involvement of any structure in T3 \nInvolvement of deep soft tissue or musculature of nasopharynx\n\nBone, NOS\nBone excluding pterygoid plates, base of skull\nCartilage, NOS\nHypopharynx\nLarynx\nMandible\nMaxilla\nMaxillary sinus (antrum)\nNasal cavity\nPalatine bone (bone of hard palate)\nPterygoid muscle lateral\nPterygoid muscle, medial or NOS\nPterygoid plates \nTongue, NOS\n\nDeep (extrinsic) muscle of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_pharynx_other_3685.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_pharynx_other_3685.json deleted file mode 100644 index 47eb91926..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_pharynx_other_3685.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_pharynx_other_3685", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Pharynx Other", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II.\n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.832Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of site of origin\n\nMucosa only of more than one region of pharynx involved:\n Oropharynx\n Nasopharynx\n Hypopharynx\n\nMucosa only of pharynx and oral cavity involved\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Extension to adjacent structures \nInvolvement of deep soft tissue or musculature or mucosal involvement of any structure in T3 \nInvolvement of any of the structures in T3 WITH fixation\n\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Carotid artery (encased)\n Mediastinal structures\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_ethmoid_72398.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_ethmoid_72398.json deleted file mode 100644 index a59baac0a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_ethmoid_72398.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_sinus_ethmoid_72398", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Sinus Ethmoid", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II.\n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.442Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of left, right or both ethmoid sinus(es)\n\nConfined to mucosa of ethmoid sinus, NOS\n\nExtension involving mucosa only of nasal cavity including:\n Floor\n Lateral wall\n Nasal vestibule\n Nasal cavity, NOS\n Septum\n Turbinates\n\nExtension to mucosa only of adjacent structures: \n Frontal sinus\n Maxillary sinus\n Nasopharynx\n Sphenoid sinus\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Extension to deep soft tissue of left, right, or both ethmoid sinus(es)\nSoft tissue NOS\nExtension to deep soft tissue of left or right ethmoid sinus or ethmoid sinus, NOS with mucosal involvement of structures in T3\nInvasive tumor confined to either left, right, or both ethmoid sinus(es) with bony invasion \n(Involvement of perpendicular plate of ethmoid bone or ethmoid air cells)\n\nExtension to deep tissues of adjacent structures with or without bony invasion:\n Anterior orbital contents\n Frontal sinus\n Hard palate\n Maxillary sinus\n Medial wall or floor of orbit\n Nasopharynx\n Orbital plate\n Pterygoid plates\n Skin of cheek \n Skin of nose\n Sphenoid sinus\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Anterior cranial fossa \nBase of skull\nClivus\nCribriform plate\nMiddle cranial fossa\n\nFurther contiguous extension :\n Carotid artery (encased)\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_maxillary_64193.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_maxillary_64193.json deleted file mode 100644 index 03aaf693c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_sinus_maxillary_64193.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_sinus_maxillary_64193", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Sinus Maxillary", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II.\n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:00.900Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of maxillary antrum (sinus)\n\nExtension involving mucosa only:\n Frontal sinus\n Sphenoid sinus\n Ethmoid sinus\n Nasal cavity\n Nasopharynx\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissue or mucoperiosteum of maxillary sinus plus mucosal involvement of any structure in T3\nInvolvement of deep tissues, mucoperiosteum, cartilage, or bony wall of any structures in T3\nInvolvement of deep soft tissues, cartilage, or bony wall of any structures in T3\nInvolvement of palatine bone\n\nInfratemporal fossa\nOrbital contents including eye\nPterygoid plates\nPterygoid fossa\nSkin of cheek\nSkin of nose\nSoft palate\nSubcutaneous tissues\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Anterior cranial fossa \nBase of skull\nClivus\nCribriform plate\nMiddle cranial fossa\nOrbital apex\nPterygomaxillary (temporal) fossa\n\nFurther contiguous extension :\n Carotid artery (encased)\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_anterior_38455.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_anterior_38455.json deleted file mode 100644 index 6bb629ff5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_anterior_38455.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_tongue_anterior_38455", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Tongue Anterior", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II.\n\n**Note 3:** The intrinsic muscles of tongue are four paired muscles within the tongue which control its shape. The extrinsic muscles originate from structures outside the tongue and control its positioning.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:00.889Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Anterior tongue\n Base of tongue\n Floor of mouth\n Gingiva, lower\n Lateral pharyngeal wall\n Retromolar trigone\n Soft palate, inferior surface\n Tonsillar pillars and fossae\n Tonsils\n\nLocalized, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of tongue\nSoft tissue, NOS\nSublingual gland\nInvolvement of deep soft tissue or musculature of any structure in T3\n\nBone, NOS excluding base of skull base\nCortical bone, NOS\nMandible\nMaxilla\nMaxillary sinus (antrum)\nMusculature of tongue, extrinsic:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid \n Palatoglossus\n Styloglossus\nSkin of face\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Carotid artery (encased)\n Pterygoid plates\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_base_6605.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_base_6605.json deleted file mode 100644 index bfc66dddc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_melanoma_tongue_base_6605.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_melanoma_tongue_base_6605", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Melanoma Tongue Base", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II.\n\n**Note 3:** The intrinsic muscles of tongue are four paired muscles within the tongue which control its shape. The extrinsic muscles originate from structures outside the tongue and control its positioning.\n\n**Note 4:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 5:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.877Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor#", "" ], [ "c3", "cT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa:\n Anterior two-thirds of tongue for base of tongue\n Base of tongue (posterior one-third of tongue):\n Confined to one side\n Midline tumor\n Base of tongue for lingual tonsil\n Epiglottis, lingual (pharyngeal) surface\n Floor of mouth\n Glossoepiglottic fold\n Glossopharyngeal fold\n Hard palate\n Hypopharynx\n Larynx\n Lateral pharyngeal wall\n Lingual tonsil\n Lower gingiva\n Pharyngoepiglottic fold\n Soft palate including uvula\n Tonsillar pillars and fossae\n Tonsils\n Vallecula\n\nLocalized, NOS\n \nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Deep soft tissue or musculature of base of tongue or lingual tonsil\nSoft tissue, NOS\nInvolvement of deep soft tissue or musculature of base of tongue or lingual tonsil plus mucosal involvement of any structure in T3\nSublingual gland\n\nDeep soft tissue or musculature of soft palate, inferior surface or NOS, including uvula\nMandible for lingual tonsil\nMandible plus any involvement of soft palate\nMandible for base of tongue\nMusculature, extrinsic of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus\nDeep soft tissue or musculature of:\n Larynx\n Hypopharynx\n\nBone excluding base of skull and mandible\nLateral nasopharynx\nPterygoid muscle\nPterygoid plates\nPalatine bone\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Stated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_penis_10043.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_penis_10043.json deleted file mode 100644 index 0ab5b00f3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_penis_10043.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_merkel_cell_penis_10043", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Merkel Cell Penis", - "title" : "Clinical T", - "notes" : "**Note 1:** In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 2:** Skin ulceration does not alter the T category.\n\n**Note 3:** Satellite nodules/In-transit metastasis are coded in regional lymph nodes.\n\n**Note 4:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 5:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size.\n\n Lesion(s) confined to dermis\n Invasive tumor limited to skin of penis, prepuce (foreskin), and/or glans\n Invasive tumor limited to subepithelial connective tissue but not involving corpus spongiosum or corpus cavernosum\n Subcutaneous tissue (through entire dermis)\n\n Corpus cavernosum\n Corpus spongiosum\n Tunica albuginea\n\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:02.684Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepidermal, intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 5 cm in greatest\ndimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 5 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Tumor invades deep extradermal structures, \ni.e., cartilage, skeletal muscle, fascia, or bone", "Prostate\nUrethra\n\nAdjacent structures:\n Fascia\n Muscle, NOS:\n Bulbospongiosus\n Ischiocavernosus\n Superficial transverse perineal\n Skin:\n Abdomen\n Perineum\n Pubic region\n Scrotum\n\nUnderlying bone and cartilage\n\nFurther contiguous extension:\n Testis\n\nStated as T4" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_scrotum_24017.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_scrotum_24017.json deleted file mode 100644 index 8ceed0e75..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_scrotum_24017.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_merkel_cell_scrotum_24017", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Merkel Cell Scrotum", - "title" : "Clinical T", - "notes" : "**Note 1:** In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 2:** Skin ulceration does not alter the T category.\n\n**Note 3:** In-transit metastasis is coded in N (regional lymph nodes).\n\n**Note 4:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 5:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size.\n\n Adjacent connective tissue EXCLUDING deep fascia\n Lesion(s) confined to dermis\n Subcutaneous tissue (through entire dermis)\n\n Confined to scrotum\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:01.874Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepidermal, intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 5 cm in greatest\ndimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 5 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Tumor invades deep extradermal structures, \ni.e., cartilage, skeletal muscle, fascia, or bone", "Deep fascia, skeletal muscle\n\nAdjacent organs/structures\n Male genital organs:\n Epididymis\n Penis\n Prostate\n Spermatic cord\n Testis\n\nUnderlying cartilage, bone\n\nFurther contiguous extension\n Other organs and structures in male pelvis:\n Bladder\n Rectum\n Urethra\n\nStated as T4" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_skin_t_96388.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_skin_t_96388.json deleted file mode 100644 index d6d87c6a3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_skin_t_96388.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_merkel_cell_skin_t_96388", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Merkel Cell Skin T", - "title" : "Clinical T", - "notes" : "**Note 1:** Code the tumor with the greatest extension when there are multiple simultaneous tumors.\n\n**Note 2:** Skin ulceration does not alter the T category.\n\n**Note 3:** In-transit metastasis is coded in N (regional lymph nodes).\n\n**Note 4:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 5:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size.\n\n Lesion(s) confirmed to dermis\n Localized, NOS\n Subcutaneous tissue (through entire dermis)", - "last_modified" : "2018-05-14T21:29:02.442Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepidermal, intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 5 cm in greatest\ndimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 5 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Tumor invades deep extradermal structures, \ni.e., cartilage, skeletal muscle, fascia, or bone", "Fascia\n\nUnderlying cartilage, bone, skeletal muscle\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_vulva_96899.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_vulva_96899.json deleted file mode 100644 index 2d7f227cb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_merkel_cell_vulva_96899.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_merkel_cell_vulva_96899", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Merkel Cell Vulva", - "title" : "Clinical T", - "notes" : "**Note 1:** In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 2:** Skin ulceration does not alter the T category.\n\n**Note 3:** In-transit metastasis is coded in N (regional lymph nodes).\n\n**Note 4:** The depth of stromal invasion is defined as the measurement of the tumor from the epithelial-stromal junction of the adjacent most superficial dermal papilla to the deepest point of invasion.\n\n**Note 5:** Assign T4 for tumors involving fascia or musculature of vulva and perineum.\n\n**Note 6:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 7:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size.\n\n Submucosa invasion\n\n Confined to vulva, NOS\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:06.732Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepidermal, intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 5 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Tumor invades deep extradermal structures, \ni.e., cartilage, skeletal muscle, fascia, or bone", "Anus\nBladder wall or bladder\nExtension to underlying cartilage, bone\nFascia\nFixed to pubic bone\nMusculature, skeletal muscle\nPerianal skin\nPerineal body\nRectal mucosa\nRectal wall or rectum, NOS excluding mucosa\nUrethra \nVagina\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_mouth_other_28324.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_mouth_other_28324.json deleted file mode 100644 index 7eb64bd01..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_mouth_other_28324.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_mouth_other_28324", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Mouth Other", - "title" : "Clinical T", - "notes" : "**Note 1:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size when involvement is limited to the cortical bone.\n\n Invasive tumor on one side confined to\n Lamina propria\n Submucosa\n \n Adjacent oral cavity\n Bone, NOS\n Cortical bone of mandible\n Cortical bone of maxilla\n Cortical bone, NOS\n Inferior surface of soft palate\n Lateral pharyngeal wall\n Lingual surface of epiglottis\n Mandible, NOS\n Maxilla, NOS\n Musculature invaded\n Oropharynx\n Vallecula\n\n Confined to mouth, NOS\n Localized, NOS\n\n**Note 4:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.646Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Deep (extrinsic) muscle of tongue: \n Genioglossus \n Hyoglossus \n Palatoglossus \n Styloglossus\n\nMaxillary antrum (sinus)\nNasal cavity\nSkin of face/neck\nTongue\n\nTrabecular bone:\n Mandible\n Maxilla\n Palatine bone\n\nStated as T4a" ], [ "c4B", "cT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Specified bone \n\nMasticator space\nPterygoid plates\n\nFurther contiguous extension: \n Skull base\n Internal carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_mycosis_fungoides_76446.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_mycosis_fungoides_76446.json deleted file mode 100644 index bd447e2af..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_mycosis_fungoides_76446.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_mycosis_fungoides_76446", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Mycosis Fungoides", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). EORTC does not include an in situ category for Mycosis Fungoides tumors.\n\n**Note 2:** For skin\n* Patch indicates any size skin lesion without significant elevation or induration\n* Plaque indicates any size skin lesion that is elevated or indurated\n* Tumor indicates at least one 1 centimeter (cm) diameter solid or nodular lesion with evidence of depth and/or vertical growth\n\n**Note 3:** Assign T1 when skin involvement is present but only a general location/site is mentioned (i.e., face, torso, arms, legs). \n\n**Note 4:** Assign T2 If a physician describes a skin lesion of less than 1 cm as a tumor.\n\n**Note 5:** Assign T3 if eythrodema is greater than 50%.\n* Ignore erythroderma if stated to involve less than 50% of the skin\n\n**Note 6:** Physicians use more than one method to estimate percentage of skin involvement by mycosis fungoides (MF). Code percent of skin involvement as stated by the physician. \n* If no percentage is stated and no word such as localized or generalized is used and no stage is given, code as percent not stated", - "footnotes" : "\\# TX is not defined in AJCC 7th edition.\n\\## T0 is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.845Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor##", "No evidence of any type of skin involvement, including plaques, papules, patches, or tumors" ], [ "c1", "cT1", "Limited patches, papules, and/or plaques covering <10% of skin surface", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nSkin involvement less than 10%, not stated whether plaques, papules or patches, no tumors \n Limited plaques/patches\nPlaques, papules, or erythematous patches: % body surface not stated, no tumors\n\nSkin involvement, NOS:\n Extent not stated, no tumors\n Localized, NOS\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Patch only", "Patches only with less than 10% of skin surface involved\n\nStated as T1a" ], [ "c1B", "cT1b", "Plaque with or without patch", "Plaques or papules, WITH or WITHOUT patches, with less than 10% of skin surface involved, no tumors\n\nStated as T1b" ], [ "c2", "cT2", "Patches, papules or plaques covering >= 10% of the skin surface", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nSkin involvement 10% or more, not stated whether plaques, papules or patches, no tumors\nSkin lesion described as tumor less than 1 cm\nGeneralized plaques/patches\n\nStated as T2 [NOS]" ], [ "c2A", "cT2a", "Patch only", "Patches only with 10% or more of skin surface involved\n\nStated as T2a" ], [ "c2B", "cT2b", "Plaque with or without patch", "Plaques or papules, WITH or WITHOUT patches, with 10% or more of skin surface involved, no tumors\n\nStated as T2b" ], [ "c3", "cT3", "One or more tumors (>= 1 cm diameter)", "Cutaneous tumor, size not stated\nGeneralized erythroderma \n(Greater than 50% less than 80% body surface involved with diffuse redness)\n\nStated as T3" ], [ "c4", "cT4", "Confluence of erythema covering >=80% body surface area", "Generalized erythroderma\nEqual to or greater than or equal to 80% body surface involved with diffuse redness\n\nStated as T4" ], [ "88", "88", "Not applicable ", "In situ case but no pTis is defined by EORTC\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_nasal_cavity_5031.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_nasal_cavity_5031.json deleted file mode 100644 index d424da079..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_nasal_cavity_5031.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_nasal_cavity_5031", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Nasal Cavity", - "title" : "Clinical T", - "notes" : "**Note 1:** The bones of the lateral wall of the nasal cavity include the maxilla, the perpendicular plate of the palatine bone, the medial pterygoid plate, the labyrinth and inferior concha of the ethmoid. The roof of the nasal cavity is formed by the nasal bone. The floor of the nasal cavity, which forms the roof of the mouth, is composed of the bones of the hard palate: the horizontal plate of the palatine bone posteriorly and the palatine process of the maxilla anteriorly.\n\n**Note 2:** \"Bony invasion\" does not include extension to palate, cribriform plate, or pterygoid plates. \n* Extension to these structures is coded separately\n\n**Note 3:** Assign T3 for Base of Skull, NOS when there is no information available for more specific bony structures in the skull.\n\n**Note 4:** Minimal extension to anterior cranial fossa implies tumor pushing through the cribriform plate, but without invasion of the dura or brain.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.660Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor limited to the mucosa with no erosion or destruction of bone", "Invasive tumor confined to one of the following subsites:\n Septum\n Floor\n Lateral wall, including: \n Meatus (superior, middle, inferior) \n Nasal conchae (superior, middle, inferior)\n Vestibule (edge of naris to mucocutaneous junction)\nWITH or WITHOUT bony invasion\n\nConfined to nasal cavity, NOS\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor causing bone erosion or destruction, including extension into: \n Hard palate \n Middle nasal meatus\n\nEXCEPT extension to posterior wall of maxillary sinus and pterygoid plates", "Invasive tumor confined to two or more subsites listed in T1 WITH or WITHOUT bony invasion\n\nExtending to adjacent region within the nasoethmoidal complex:\n Nasolacrimal duct\n Ethmoid sinus\n Choana\nWITH or WITHOUT bony invasion\n\nStated as T2" ], [ "c3", "cT3", "Tumor invades any of the following:\n Bone of posterior wall of maxillary sinus\n Subcutaneous tissues\n Floor or medial wall of orbit\n Pterygoid fossa\n Frontal sinuses", "Adjacent organs/structures including:\n Base of skull, NOS\n Hard palate\n\nCribiform plate\nMaxillary sinus\nMedial wall or floor of the orbit\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone,​ nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades any of the following:\n Anterior orbital contents\n Skin of cheek\n Pterygoid plates\n Infratemporal fossa\n Cribriform plate\n Sphenoid or frontal sinuses", "Frontal sinus\nPterygoid plates\n\nAnterior orbital contents\nFrontal sinus\nPterygoid plates\nSkin of nose\nSkin of cheek\nAnterior cranial fossa (minimal extension)\nSphenoid sinus\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Orbital apex\n Dura\n Brain\n Middle cranial fossa\n Cranial nerves other than maxillary division of trigeminal nerve (V2)\n Nasopharynx\n Clivus", "Further contiguous extension including:\n Orbital apex \n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_nasopharynx_40813.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_nasopharynx_40813.json deleted file mode 100644 index 9da0d15a7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_nasopharynx_40813.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_nasopharynx_40813", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Nasopharynx", - "title" : "Clinical T", - "notes" : "**Note 1:** Parapharyngeal involvement denotes postero-lateral infiltration of tumor beyond the pharyngobasilar fascia. The pharyngobasilar fascia is the fibrous layer of the pharyngeal wall between the mucosa and the muscular layer, attached superiorly to the basilar part of the occipital bone and diminishing in thickness as it descends.\n\n**Note 2:** The masticator space primarily consists of the muscles of mastication, the medial and lateral pterygoid, masseter, and temporalis muscles. The space also includes the ramus of the mandible and the third division of cranial nerve V as it passes through the foramen ovale into the suprahyoid neck.", - "last_modified" : "2018-05-14T21:29:00.845Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor confined to nasopharynx, OR \nextends to oropharynx and/or nasal cavity", "Invasive tumor confined to one of the following subsites:\n Inferior wall (superior surface of soft palate)\n One lateral wall\n Posterior superior wall (vault)\n\nInvolvement of two or more subsites:\n Lateral wall extending into eustachian \n tube/middle ear\n Posterior, inferior, or lateral wall(s)\n\nOropharynx\nSoft palate, inferior surface including uvula\nWITHOUT parapharyngeal extension\n\nNasal cavity WITHOUT parapharyngeal extension\n\nExtension to soft tissue, NOS (excluding soft tissue of neck)\n\nConfined to nasopharynx\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor with parapharyngeal extension", "Involvement of any T1 tumor: \nWITH fixation or tumor described only as FIXED WITH parapharyngeal extension\n\nPterygopalatine fossa WITHOUT bone invasion\n\nStated as T2" ], [ "c3", "cT3", "Tumor invades bony structures of skull base and/or paranasal sinuses", "Bone, NOS\nBony structures of skull base\nCartilage, NOS\nFloor of orbit\nHard palate\nParanasal sinus\n\nStated as T3" ], [ "c4", "cT4", "Tumor with intracranial extension and/or involvement of: \n Cranial nerves\n Hypopharynx\n Orbit \n\nOR with extension to the infratemporal fossa/masticator space", "Brain\nCranial nerve involvement\nHypopharynx\nInfratemporal fossa/masticator space\nIntracranial extension, NOS\nOrbit except bone of floor of orbit \n\nFurther contiguous extension including:\n Soft tissues of neck\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_orbit_59896.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_orbit_59896.json deleted file mode 100644 index c41c9c99b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_orbit_59896.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_orbit_59896", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Orbit", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for orbit sarcoma tumors.\n\n**Note 2:** The orbital tissues are the support systems of the globe, confined to the space within the surrounding bony structure. The orbital tissues include \n* Fat, striated and smooth muscle, and fibroconnective, vascular, lymphoid, peripheral nerve, and optic nerve tissue\n\n**Note 3:** Tis may be used only for *non-sarcoma* histologies coded to this site. \n* Sarcomas do not present as in situ or noninvasive tumors", - "last_modified" : "2018-05-14T21:29:02.467Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 15 mm or less in greatest dimension", "Confined to orbit\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor more than 15 mm in greatest dimension \nWITHOUT invasion of globe or bony wall", "Stated as T2" ], [ "c3", "cT3", "Tumor of any size \nWITH invasion of orbital tissues and/or bony walls", "Stated as T3" ], [ "c4", "cT4", "Tumor invades: \n Globe or periorbital structure, such as \n Eyelids \n Temporal fossa\n Nasal cavity \n Paranasal sinuses \n Central nervous system (CNS)", "Cranium\n \nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_oropharynx_53342.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_oropharynx_53342.json deleted file mode 100644 index d3f946686..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_oropharynx_53342.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_oropharynx_53342", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Oropharynx", - "title" : "Clinical T", - "notes" : "**Note 1:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 2:** Assign the appropriate T category (T1, T2, T3) based on the tumor size for the following descriptions\n\n Invasive tumor confined to one of the following subsites \n Anterior wall including vallecula \n One lateral wall (including tonsillar pillar/fossa, palatine tonsil and tonsil, NOS)\n Posterior wall \n Base of tongue (including lingual tonsil)\n Buccal mucosa\n Floor of mouth\n Gum (gingiva)\n Involvement of both lateral walls through soft palate or base of tongue\n Soft palate \n Inferior surface including uvula \n Soft palate, NOS\n Superior (nasopharyngeal) surface\n\n Confined to oropharynx, NOS \n Localized, NOS\n\n**Note 3:** Mucosal extension to lingual surface of epiglottis from primary tumors of the base of the tongue and vallecular does not constitute invasion of the larynx.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.662Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension OR \nextension to lingual surface of epiglottis", "Epiglottis, lingual surface, plus both lateral walls through soft palate or base of tongue\n\nEpiglottis WITH fixation\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades any of the following:\n Larynx\n Deep/extrinsic muscle of tongue, which are: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n Medial pterygoid\n Hard palate\n Mandible", "Hypopharynx NOS\nPosterior surface of epiglottis\nPterygoid muscle, NOS\nPyriform sinus\nSoft tissue of neck\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Lateral pterygoid muscle\n Pterygoid plates\n Lateral nasopharynx\n Skull base\n Encases carotid artery", "Prevertebral fascia/muscle\n\nBase of skull\nBone of skull\nBone, NOS \n\nFurther contiguous extension:\n Anterior 2/3 of tongue\n Parotid gland\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_ovary_95574.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_ovary_95574.json deleted file mode 100644 index d12ea80db..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_ovary_95574.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_ovary_95574", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Ovary", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM nor FIGO include an in situ category for ovary tumors.\n\n**Note 2:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is FIGO stage III [NOS] or IIIC, assign the appropriate stage and leave clinical T, N, and M blank. If the only information is FIGO stage IV, leave T and N blank and see M\n\n**Note 3:** T1 and T2 tumors with malignant ascites are classified as T1c and T2c (FIGO Stages IC and IIC), respectively. \n* Ascites, NOS is negative \n\n**Note 4:** Both extension to and discontinuous metastasis to any of the following pelvic organs are included in the T2 category (FIGO Stage II): \n* Adnexa, NOS; bladder and bladder serosa; broad ligament (mesovarium); cul de sac; fallopian tubes; parametrium; pelvic peritoneum; pelvic wall; rectosigmoid; rectum; sigmoid colon; sigmoid mesentery; pelvic ureter; uterus and uterine serosa\n\n**Note 5:** Peritoneal implants outside the pelvis must be microscopically confirmed. \n* Peritoneal implants may also be called seeding, salting, talcum powder appearance, or studding\n\n**Note 6:** If implants are mentioned, determine whether they are in the pelvis or in the abdomen and code appropriately. \n* If the location of the implants are not specified, assign T3\n\n**Note 7:** Both extension to and discontinuous metastasis to any of the following abdominal organs by way of peritoneal seeding or implants are included in the T3 category (FIGO Stage III)\n* Abdominal mesentery; diaphragm; gallbladder; infracolic omentum; kidneys; large intestine except rectum, rectosigmoid, and sigmoid colon; liver (peritoneal surface); omentum; pancreas; pericolic gutter; peritoneum, NOS; small intestine; spleen; stomach; and ureters outside pelvis\n* Residual tumor in any of these organs are classified as FIGO III and coded in T3 and in **Site-Specific Factors 3 and 4**. (Hematogenous metastases are included in M1 (FIGO Stage IV) disease\n\n**Note 8:** Parenchymal liver nodules are coded in M (distant metastasis).\n\n**Note 9:** In some registries benign/borderline ovarian tumors are reportable by agreement. \n* If the tumor being reported is benign or borderline, code primary tumor to TX", - "last_modified" : "2018-05-14T21:29:04.332Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done:\n Physician unable to assess T\n Extension cannot be determined OR\n Physician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor limited to the ovaries (one or both)", "Note: T1 has subcategories of T1a, T1b and T1c. Assign T1 only when there is no information available to assign one of the subcategories\n\nUnknown if capsule(s) ruptured or if one or both ovaries involved\nLocalized, NOS\n\nFIGO Stage I, NOS\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor limited to one ovary; capsule intact, no tumor on ovarian surface\nNo malignant cells in ascites or peritoneal washings", "FIGO Stage IA\n\nStated as T1a" ], [ "c1B", "cT1b", "Tumor limited to both ovaries; capsule intact, no tumor on ovarian surface\nNo malignant cells in ascites or peritoneal washings", "FIGO Stage IB\n\nStated as T1b" ], [ "c1C", "cT1c", "Tumor limited to one or both ovaries with any of the following:\n Capsule ruptured\n Tumor on ovarian surface\n Malignant cells in ascites or peritoneal washings", "FIGO Stage IC\n\nStated as T1c" ], [ "c2", "cT2", "Tumor involves one or both ovaries with pelvic extension", "Note: T2 has subcategories of T2a, T2b and T2c. Assign T2 only when there is no information available to assign one of the subcategories\n\nFIGO Stage II [NOS]\n\nStated as T2 [NOS]" ], [ "c2A", "cT2a", "Extension and/or implants on uterus and/or tube(s)\nNo malignant cells in ascites or peritoneal washings", "Extension to or implants on (but no malignant cells in ascites or peritoneal washings):\n Adnexa, ipsilateral, contralateral or NOS\n Fallopian tube(s), ipsilateral, contralateral or NOS\n Uterus\n\nFIGO Stage IIA\n\nStated as T2a" ], [ "c2B", "cT2b", "Extension to other pelvic tissues \nNo malignant cells in ascites or peritoneal washings", "Extension to or implants on other pelvic structures (but no malignant cells in ascites or peritoneal washings):\n Bladder \n Bladder serosa\n Cul de sac\n Pelvic tissue:\n Adjacent peritoneum\n Ligament(s):\n Broad, ipsilateral, contralateral or NOS\n Ovarian\n Round\n Suspensory\n Mesovarium, ipsilateral, contralateral or NOS\n Parametrium\n Pelvic wall\n Rectosigmoid, \n Rectum\n Sigmoid colon\n Sigmoid mesentery\n Ureter (pelvic portion)\n \nFIGO Stage IIB\n\nStated as T2b" ], [ "c2C", "cT2c", "Pelvic extension (2a or 2b) with malignant cells in ascites or peritoneal washings", "FIGO Stage IIC\n\nStated as T2c" ], [ "c3", "cT3", "Tumor involves one or both ovaries \nWITH microscopically confirmed peritoneal metastasis outside the pelvis and/or regional lymph node metastasis", "Note: T3 has subcategories of T3a, T3b and T3c. Assign T3 only when there is no information available to assign one of the subcategories\n\nFurther contiguous extension\n\nStated as T3 [NOS]" ], [ "c3A", "cT3a", "Microscopic peritoneal metastasis beyond pelvis", "Peritoneal surface/capsule of liver \n\nFIGO Stage IIIA\n\nStated as T3a" ], [ "c3B", "cT3b", "Macroscopic peritoneal, metastatasis beyond pelvis, 2 cm or less in greatest dimension", "Peritoneal surface of liver\n\nFIGO Stage IIIB\n\nStated as T3b" ], [ "c3C", "cT3c", "Peritoneal metastasis beyond pelvis, more than 2 cm in greatest dimension and/or regional lymph node metastasis", "Peritoneal surface of liver (liver capsule)\n\nStated as T3c" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS, IIIC, or IV\n\nClinical classification not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_palate_hard_21871.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_palate_hard_21871.json deleted file mode 100644 index 6fe82626b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_palate_hard_21871.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_palate_hard_21871", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Palate Hard", - "title" : "Clinical T", - "notes" : "**Note 1:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2, T3) based on the tumor size for the following descriptions\n\n Invasive tumor on one side confined to mucoperiosteum (stroma)\n Tumor crosses midline\n\n Bone, NOS\n Buccal mucosa (inner check)\n Cortical bone, NOS\n Cortical bone of maxilla\n Cortical palatine bone\n Gingiva, upper\n Glossopalatine arch\n Maxilla, NOS\n Palatine bone, NOS\n Pharyngopalatine arch\n Soft palate including uvula\n\n Confined to hard palate, NOS\n Localized, NOS\n\n**Note 4:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.682Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "In situ, intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Trabecular bone:\n Maxilla\n Palatine bone\n\nFloor of nose\nMaxillary sinus (antrum)\nNasal cavity\nNasopharynx\nSkin of face\n\nDeep (extrinsic) muscle of tongue:\n Genioglossus \n Hyoglossus\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "c4B", "cT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Specified bone \n\nMasticator space\nPterygoid plates \n\nFurther contiguous extension: \n Skull base including sphenoid bone other than pterygoid plates\n Internal carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_body_tail_71461.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_body_tail_71461.json deleted file mode 100644 index f7b10ff9a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_body_tail_71461.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_pancreas_body_tail_71461", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Pancreas Body Tail", - "title" : "Clinical T", - "notes" : "**Note 1:** Tumors of the body of the pancreas arise between the left edge of the superior mesenteric-portal vein confluence and the left edge of the aorta. Tumors of the tail of the pancreas arise to the left of the left edge of the aorta.\n\n**Note 2:** Islets of Langerhans are distributed throughout the pancreas; an islet tumor is coded according to the subsite of the pancreas in which the tumor arises if the information is available.\n\n**Note 3:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Confined to pancreas\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:02.879Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "In situ, intraepithelial, noninvasive \nPancreatic Intraepithelial Neoplasia III (PanInIII) \nPanIN-III classification" ], [ "c1", "cT1", "Tumor limited to pancreas, 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor limited to pancreas, more than 2 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor extends beyond pancreas, but \nWITHOUT involvement celiac axis or superior mesenteric artery", "Extension to peripancreatic tissue, NOS\nFixation to adjacent structures, NOS\n\nAmpulla of Vater\nBlood vessel(s):\n Hepatic artery\n Portal vein\n Splenic artery/vein\n Superior mesenteric vein\nDuodenum\nExtrahepatic bile duct(s)\nKidney, NOS\nLeft adrenal (suprarenal) gland\nLeft kidney\nLeft ureter\nMesenteric fat\nMesentery\nMesocolon\nPeritoneum\nRetroperitoneal soft tissue (retroperitoneal space)\nSpleen\nSplenic flexure of colon\n\nStated as T3" ], [ "c4", "cT4", "Tumor involves celiac axis or superior mesenteric artery", "Tumor is inseparable from the celiac axis or superior mesenteric artery\n\nAorta\nCeliac artery\nColon (other than splenic flexure)\nDiaphragm\nGallbladder\nIleum\nJejunum\nLiver (including porta hepatis)\nRight adrenal (suprarenal) gland\nRight kidney\nRight ureter\nStomach\nSuperior mesenteric artery\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_head_97928.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_head_97928.json deleted file mode 100644 index e023771c0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_head_97928.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_pancreas_head_97928", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Pancreas Head", - "title" : "Clinical T", - "notes" : "**Note 1:** Tumors of the head of the pancreas arise to the right of the superior mesenteric-portal vein confluence.\n\n**Note 2:** Islets of Langerhans are distributed throughout the pancreas. \n* An islet tumor is coded to the subsite of the pancreas in which the tumor arises if the information is available\n\n**Note 3:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Confined to pancreas\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:04.322Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "In situ, intraepithelial, noninvasive \nPancreatic Intraepithelial Neoplasia III (PanInIII) \nPanIN-III classification" ], [ "c1", "cT1", "Tumor limited to pancreas, 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor limited to pancreas, more than 2 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor extends beyond pancreas, but \nWITHOUT involvement celiac axis or superior mesenteric artery", "Extension to peripancreatic tissue, NOS\nFixation to adjacent structures, NOS\n\nAdjacent stomach\nAmpulla of Vater\nBlood vessel(s) (major):\n Gastroduodenal artery\n Hepatic artery\n Pancreaticoduodenal artery\n Portal vein\n Superior mesenteric vein\nBody of stomach\nDuodenum\nExtrahepatic bile duct(s)\nGallbladder\nMesenteric fat\nMesentery\nMesocolon\nOmentum\nPeritoneum\nStomach, NOS\nTransverse colon, including hepatic flexure\n\nStated as T3" ], [ "c4", "cT4", "Tumor involves celiac axis or superior mesenteric artery", "Tumor is inseparable from the celiac axis\nTumor is inseparable from the superior mesenteric artery\nSuperior mesenteric artery\nSuperior mesenteric artery plus omentum\nSuperior mesenteric artery plus body of stomach\n\nAdrenal (suprarenal) gland\nAorta\nCeliac artery\nColon (other than transverse colon including hepatic flexure)\nIleum\nJejunum\nKidney\nLiver (including porta hepatis)\nRetroperitoneum\nSpleen\nUreter\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_other_28719.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_other_28719.json deleted file mode 100644 index edc785ad5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pancreas_other_28719.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_pancreas_other_28719", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Pancreas Other", - "title" : "Clinical T", - "notes" : "**Note 1:** Islets of Langerhans are distributed throughout the pancreas; an islet tumor is coded to the subsite of the pancreas in which the tumor arises if the information is available.\n\n**Note 2:** Islets of Langerhans are distributed throughout the pancreas. \n* An islet tumor is coded according to the subsite of the pancreas in which the tumor arises if the information is available\n\n**Note 3:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Confined to pancreas\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:03.252Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "In situ, intraepithelial, noninvasive \nPancreatic Intraepithelial Neoplasia III (PanInIII) \nPanIN-III classification" ], [ "c1", "cT1", "Tumor limited to pancreas, 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor limited to pancreas, more than 2 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor extends beyond pancreas, but \nWITHOUT involvement celiac axis or superior mesenteric artery", "Adjacent large vessel(s) \n Colon\n Spleen\n Stomach\nAmpulla of Vater\nDuodenum\nExtra hepatic bile duct(s)\nPeripancreatic tissue \n\nStated as T3" ], [ "c4", "cT4", "Tumor involves celiac axis or superior mesenteric artery", "Aorta\nCeliac artery\nSuperior mesenteric artery\nTumor is inseparable from the celiac axis or superior mesenteric artery\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_parotid_gland_13635.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_parotid_gland_13635.json deleted file mode 100644 index 92408ec2f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_parotid_gland_13635.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_parotid_gland_13635", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Parotid Gland", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for parotid gland tumors.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2 or T3) based on the tumor size for the following descriptions\n\n Invasive tumor confined to gland/duct of origin\n Microscopic extraparenchymal extension ONLY to periglandular soft/connective tissue\n Multiple foci confined to substance of parotid gland\n\n Confined to parotid gland\n Localized, NOS\n\n**Note 4:** Extraparenchymal extension is clinical or macroscopic evidence of invasion of soft tissues or nerve, except those listed under T4a and T4b. Microscopic evidence alone does not constitute extraparenchymal extension for classification purposes.\n\n**Note 5:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Mucoperiosteum is a compound structure of mucous membrane and periosteum. Cortical bone is the dense compact outer layer of bone.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.158Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension \nWITHOUT extraparenchymal extension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension \nWITHOUT extraparenchymal extension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm and/or tumor \nWITH extraparenchymal extension", "Macroscopic extraparenchymal extension to:\n Periglandular soft/connective tissue\n Another major salivary gland (submaxillary, sublingual)\n Pharyngeal mucosa\n Skeletal muscle:\n Digastric\n Masseter\n Pterygoid\n Sternocleidomastoid\n Stylohyoid\n\nOther extension:\n Facial artery or vein \n Maxillary artery\n Spinal accessory nerve\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Skin\n Mandible\n Ear canal\n Facial nerve", "Auricular nerve\nExternal auditory meatus\nMastoid process\nPeriosteum of mandible\nSkin overlying gland\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades: \n Base of skull\n Pterygoid plates\n\nOR encases carotid artery", "Jugular vein\nSkull, NOS\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_penis_88876.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_penis_88876.json deleted file mode 100644 index 72e5cb02b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_penis_88876.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_penis_88876", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Penis", - "title" : "Clinical T", - "notes" : "**Note 1:** Over 90% of penile cancers are squamous cell carcinomas arising in the skin. Other cancers arising in the skin include adenocarcinomas (5%) arising in sweat glands, melanomas (2%, included in the Melanoma schema), and basal cell carcinoma (2%). About 1% of penile cancers are sarcomas, arising in subcutaneous connective tissues.\n\n**Note 2:** Verrucous carcinoma (M-8051) is a locally aggressive, exophytic, low grade carcinoma with minimal metastatic potential. \n\n**Note 3:** Assign Ta if a verrucous carcinoma is described as noninvasive or as having a broad pushing border or penetration. \n* If there is destructive invasion of verrucous carcinoma into structures in T1 or greater, assign the appropriate higher code\n\n**Note 4:** Information about involvement of the corpus spongiosum or corpus cavernosum is collected in this field for anatomic staging. This information is also collected in **Site-Specific Factor 10, Involvement of Corpus Spongiosum/Corpus Cavernosum** because involvement of these structures may have an independent effect on prognosis.", - "footnotes" : "\\#T1 [NOS] is not defined in AJCC 7th edition", - "last_modified" : "2018-05-14T21:29:02.703Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pA", "pTa", "Non-invasive verrucous carcinoma", "Noninvasive verrucous carcinoma OR verrucous carcinoma, NOS\n\nStated as Ta" ], [ "pIS", "pTis", "Carcinoma in situ", "In situ, intraepidermal, intraepithelial, noninvasive\nBowen disease\nErythroplasia of Queyrat\n\nStated as Tis" ], [ "c1", "cT1", "Tumor invades subepithelial connective tissue#", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nInvasive tumor limited to subepithelial connective tissue, but not involving corpus spongiosum or cavernosum \n\nIf primary is skin: \n Invasive tumor limited to skin of penis, prepuce (foreskin) and/or glans\n\nSatellite nodules on prepuce or glans\n\nConfined to penis, NOS\nLocalized, NOS\n\nUNKNOWN lymphovascular invasion \n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor invades subepithelial connective tissue \nWITHOUT lymphovascular invasion and is not poorly differentiated or undifferentiated", "T1 lesion WITHOUT lymphovascular invasion\n\nStated as T1a" ], [ "c1B", "cT1b", "Tumor invades subepithelial connective tissue \nWITH lymphovascular invasion or is poorly differentiated or undifferentiated", "T1 lesion WITH lymphovascular invasion\n\nStated as T1b" ], [ "c2", "cT2", "Tumor invades corpus spongiosum or cavernosum", "Tunica albuginea of corpus spongiosum\n\nTumors in body of penis plus satellite nodules on prepuce or glans\n\nStated as T2" ], [ "c3", "cT3", "Tumor invades urethra", "Stated as T3" ], [ "c4", "cT4", "Tumor invades other adjacent structures", "Prostate\n\nAdjacent structures:\nMuscle, NOS:\n Bulbospongiosus\n Ischiocavernosus\n Superficial transverse perineal\nSkin:\n Abdominal\n Perineum\n Pubic\n Scrotal\n\nFurther contiguous extension\n Testis\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_perihilar_bile_ducts_63594.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_perihilar_bile_ducts_63594.json deleted file mode 100644 index f582b123e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_perihilar_bile_ducts_63594.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_perihilar_bile_ducts_63594", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Perihilar Bile Ducts", - "title" : "Clinical T", - "notes" : "**Note 1:** Perihilar bile duct tumors arise at the confluence of the right and left hepatic ducts in the hilar area of the liver.\n\n**Note 2:** The biliary radicals are the ducts or tubes that drain bile into the intestine as part of the digestive process. The second-order biliary radicals are the next largest branches or ducts of the biliary system which join to form or empty into the main hepatic bile duct.\n\n**Note 3:** T3 and T4 are defined strictly in terms of invasion into specific large blood vessels and the biliary radicals within the liver. Assign T4 when the specified vessels and/or the biliary radical within the liver plus other named organs are involved. \n\n**Note 4:** Involvement within the porta hepatis is coded according to the structures involved: portal vein, common hepatic artery, and common hepatic duct.", - "footnotes" : "\\* T2 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Invasion beyond wall of the bile duct or invasion of hepatic parenchyma\" for T2 [NOS].\n\\# T2 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.273Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor confined to the bile duct, with extension up to the muscle layer or fibrous tissue", "Invasive tumor of perihilar (proximal) bile duct(s) confined to:\n Fibromuscular layer (tunic muscularis)\n Lamina propria\n Mucosa, NOS\n Muscularis propria\n Submucosa (superficial invasion)\n Subepithelial connective tissue (tunica mucosa)\n\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Not defined by UICC*#", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories.\n\nInvasion beyond wall of the bile duct or invasion of hepatic parenchyma\n\nStated as T2[NOS]" ], [ "c2A", "cT2a", "Tumor invades beyond the wall of the bile duct to surrounding adipose tissue", "Beyond wall of bile duct\nPeriductal/fibromuscular connective tissue\n\nStated as T2a" ], [ "c2B", "cT2b", "Tumor invades adjacent hepatic parenchyma", "Adjacent hepatic parenchyma\nLiver extension, NOS\nLiver, NOS\n\nStated as T2b" ], [ "c3", "cT3", "Tumor invades unilateral branches of the portal vein or hepatic artery", "Unilateral branches of portal vein (right or left)\nUnilateral branches of hepatic artery (right or left)\n\nStated as T3" ], [ "c4", "cT4", "Tumor invades the main portal vein or it's branches bilaterally OR\nThe common hepatic artery OR\nThe second-order biliary radicals bilaterally OR\nUnilateral second-order biliary radicals with contralateral portal vein or hepatic artery involvement", "Main portal vein or its branches bilaterally\nCommon hepatic artery\nHepatic artery, NOS\nPortal vein, NOS\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_67989.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_67989.json deleted file mode 100644 index d546f00be..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_67989.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_peritoneum_67989", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Peritoneum", - "title" : "Clinical T", - "notes" : "**Note 1:** Peritoneal sarcomas are classified as deep tumors. Only T1b or T2b are available. \n\n**Note 2:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n\n Tumor confined to site of origin\n\n Adjacent connective tissue \n Adjacent organs/structures \n Bone/cartilage \n Colon (except ascending and descending colon)\n Esophagus\n Gallbladder\n Liver\n Small intestine\n Spleen\n Stomach\n\n Further contiguous extension, including: \n Extension to ascending or descending colon\n\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:03.423Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1B", "cT1b", "Tumor 5 cm or less in greatest dimension\nDeep tumor", "Stated as T1b or T1 [NOS]" ], [ "c2B", "cT2b", "Tumor more than 5 cm in greatest dimension\nDeep tumor", "Stated as T2b or T2 [NOS]" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_female_gen_47507.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_female_gen_47507.json deleted file mode 100644 index 8b3fafec5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_peritoneum_female_gen_47507.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_peritoneum_female_gen_47507", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Peritoneum Female Gen", - "title" : "Clinical T", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is FIGO III [NOS] or IIIC, assign the appropriate stage and leave clinical T, N, and M blank. If the only information is FIGO stage IV, leave T and N blank and see M\n\n**Note 2:** Primary peritoneal carcinomas may not involve the ovaries or only involve the ovaries \"with minimal surface implants. The clinical presentation, surgical therapy, chemotherapy, and prognosis of these peritoneal tumors mirror those of papillary serous carcinoma of the ovary. Patients who undergo prophylactic oophorectomy for a familial history of ovarian cancer appear to retain a 1 to 2% chance of developing peritoneal adenocarcinoma, which is histopathologically and clinically similar to primary ovarian cancer.", - "last_modified" : "2018-05-14T21:29:02.708Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done:\n Physician unable to assess T\n Extension cannot be determined OR\n Physician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c3", "cT3", "Tumor involves one or both ovaries \nWITH microscopically confirmed peritoneal metastasis outside the pelvis and/or regional lymph node metastasis", "Note: T3 has subcategories of T3a, T3b and T3c. Assign T3 only when there is no information available to assign one of the subcategories\n\nPeritoneal implants, NOS\n\nStated as T3 [NOS]" ], [ "c3A", "cT3a", "Microscopic peritoneal metastasis beyond pelvis", "Microscopic peritoneal implants beyond pelvis including:\n Liver capsule\n Mesentery\n Omentum\n Pericolic gutter\n\nMicroscopic peritoneal implants beyond pelvis including peritoneal surface/capsule of:\n Ascending colon\n Descending colon\n Diaphragm\n Esophagus\n Gallbladder \n Transverse colon and flexures \n Small intestine \n Spleen \n Stomach\nWITHOUT invasion of underlying structures\n\nFIGO Stage IIIA\n\nStated as T3a" ], [ "c3B", "cT3b", "Macroscopic peritoneal, metastasis beyond pelvis, 2 cm or less in greatest dimension", "Macroscopic peritoneal implants beyond pelvis less than or equal to 2 cm in diameter:\n Ascending colon\n Descending colon\n Diaphragm\n Esophagus\n Gallbladder \n Liver capsule\n Mesentery\n Omentum\n Pericolic gutter\n Transverse colon and flexures \n Small intestine \n Spleen \n Stomach\nWITH or WITHOUT invasion of underlying structures\n\nFIGO Stage IIIB\n\nStated as T3b" ], [ "c3C", "cT3c", "Peritoneal metastasis beyond pelvis, more than 2 cm in greatest dimension and/or regional lymph node metastasis", "Macroscopic peritoneal implants beyond pelvis greater than 2cm in diameter:\n Ascending colon\n Descending colon\n Diaphragm\n Esophagus\n Gallbladder \n Transverse colon and flexures \n Liver \n Small intestine \n Spleen \n Stomach\nWITH or WITHOUT invasion of underlying structures \n\nExtension to:\n Bone\n Cartilage\n\nFurther contiguous extension\n\nStated as T3c" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC, or IV\n\nClinical classification not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pharyngeal_tonsil_99141.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pharyngeal_tonsil_99141.json deleted file mode 100644 index 9a004f8d0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pharyngeal_tonsil_99141.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_pharyngeal_tonsil_99141", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Pharyngeal Tonsil", - "title" : "Clinical T", - "notes" : "**Note 1:** Carcinoma of the pharyngeal tonsil is staged using the schema for oropharynx.\n\n**Note 2:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Invasive tumor confined to\n Adenoid \n Pharyngeal tonsil (nasopharyngeal tonsil) \n Posterior superior wall (vault)\n Involvement of inferior wall of nasopharynx (superior surface of soft palate)\n Nasal cavity\n Oropharynx\n Pterygopalatine fossa \n Soft palate, inferior surface including uvula\n\n Any of the above WITH parapharyngeal extension\n\n Confined to pharyngeal tonsil \n Localized, NOS\n\n**Note 4:** Parapharyngeal involvement denotes postero-lateral infiltration of tumor beyond the pharyngobasilar fascia. The pharyngobasilar fascia is the fibrous layer of the pharyngeal wall between the mucosa and the muscular layer, attached superiorly to the basilar part of the occipital bone and diminishing in thickness as it descends.\n\n**Note 5:** The masticator space primarily consists of the muscles of mastication, the medial and lateral pterygoid, masseter, and temporalis muscles. The space also includes the ramus of the mandible and the third division of cranial nerve V as it passes through the foramen ovale into the suprahyoid neck.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.821Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension OR extension to lingual surface of epiglottis", "Stated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades any of the following:\n Larynx\n Deep/extrinsic muscle of tongue, which are: \n Genioglossus\n Hypoglossus\n Palatoglossus\n Styloglossus\n Medial pterygoid\n Hard palate\n Mandible", "Hypopharynx\nParanasal sinus\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Lateral pterygoid muscle\n Pterygoid plates\n Lateral nasopharynx\n Skull base\n Encases carotid artery", "Bony structures of skull base \nBrain\nCranial nerve involvement\nFloor of orbit\nHypopharynx\nInfratemporal fossa/masticator space\nOrbit\n\nFurther contiguous extension including:\n Soft tissues of the neck\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_placenta_62001.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_placenta_62001.json deleted file mode 100644 index 40e5c9178..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_placenta_62001.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_placenta_62001", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Placenta", - "title" : "Clinical T", - "notes" : "**Note 1:** FIGO nor TNM include an in situ category for tumors of the placenta. Assign pTis (behavior code /2) for in situ cases. \n\n**Note 2:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is Stage III [NOS], IIIA, IIIB, or IV [NOS], IVA, or IVB, leave T blank and see M\n\n**Note 3:** Genital metastasis (vagina, ovary, broad ligament, fallopian tube) is classified T2. Any involvement of non-genital structures, whether by direct invasion or metastasis is described using the M (distant metastasis) classification.\n\n**Note 4:** For T, substaging is determined by the values in **Site-Specific Factor 1, Prognostic Scoring Index**.", - "last_modified" : "2018-05-14T21:29:02.477Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done:\n Physician unable to assess T\n Extension cannot be determined OR\n Physician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor confined to uterus", "Confined to:\n Cervix\n Corpus\n Placenta\n\nLocalized, NOS\n\nFIGO Stage I [NOS], IA, or IB\n\nStated as T1" ], [ "c2", "cT2", "Tumor extends to other genital structures: \n Vagina\n Ovary\n Broad ligament \n Fallopian tube \nby metastasis or direct extension", "Adjacent connective tissue, NOS\n\nGenital structures, NOS by direct extension or \nmetastasis\n \nFurther contiguous extension\n\nFIGO Stage II [NOS], IIA, or IIB\n\nStated as T2" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is Stage III [NOS], IIIA, IIIB, or IV [NOS], IVA, or IVB\n\nClinical classification not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pleura_24291.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pleura_24291.json deleted file mode 100644 index 805fc878f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_pleura_24291.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_pleura_24291", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Pleura", - "title" : "Clinical T", - "notes" : "**Note 1:** Pleural effusion does not affect the coding Clinical and Pathologic T, but is coded in **Site-Specific Factor 1**.\n\n**Note 2:** T3 describes locally advanced, but potentially resectable tumor.\n\n**Note 3:** T4 describes locally advanced, technically unresectable tumor.", - "last_modified" : "2018-05-14T21:29:04.330Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor involves ipsilateral parietal pleura \nWITH or WITHOUT focal involvement of visceral pleura", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nInvasive tumor (mesothelioma) confined to pleura, NOS \nIpsilateral parietal pleura, including mediastinal or diaphragmatic pleura, involvement of visceral pleura not stated\n\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor involves ipsilateral parietal (mediastinal, diaphragmatic) pleura\nNO involvement of visceral pleura", "Stated as T1a" ], [ "c1B", "cT1b", "Tumor involves ipsilateral parietal (mediastinal, diaphragmatic) pleura\nWITH focal involvement of the visceral pleura", "Stated as T1b" ], [ "c2", "cT2", "Tumor involves any of the ipsilateral pleural surfaces, with at least one of the following:\n Confluent visceral pleura tumor (including the fissure)\n Invasion of diaphragmatic muscle\n Invasion of lung parenchyma", "Ipsilateral pleura WITH nodule(s) beneath visceral pleural surface\nLung involvement, NOS\nMesothelioma nodule(s) which have broken through the visceral pleural surface to the lung surface\n\nStated as T2" ], [ "c3", "cT3", "Tumor involves any ipsilateral pleural surfaces, with at least one of the following:\n Invasion of endothoracic fascia\n Invasion into mediastinal fat\n Solitary focus of tumor invading soft tissues of the chest wall\n Non-transmural involvement of the pericardium", "Mediastinal tissues\n\nStated as T3" ], [ "c4", "cT4", "Tumor involves any ipsilateral pleural surfaces, with at least one of the following: \n Diffuse or multifocal invasion of soft tissues of chest wall\n Any involvement of rib\n Invasion through diaphragm to peritoneum\n Invasion of any mediastinal organ(s)\n Direct extension to contralateral pleura \n Invasion into the spine\n Extension to internal surface of pericardium\n Pericardial effusion with positive cytology\n Invasion of myocardium\n Invasion of brachial plexus", "Heart muscle, myocardium\n\nFurther contiguous extension:\n Cervical tissues\n Intra-abdominal organs\n\n(For contralateral lung, see distant metastasis)\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_rectum_29212.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_rectum_29212.json deleted file mode 100644 index 13af19969..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_rectum_29212.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_rectum_29212", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Rectum", - "title" : "Clinical T", - "notes" : "**Note 1:** High grade dysplasia and severe dysplasia of the colon are generally not reportable in cancer registries.\n* Assign pTis if your registry collects these tumors\n\n**Note 2:** In situ includes cancer cells confined within the glandular basement membrane (intraepithelial); localized includes confined to lamina propria (intramucosal), the muscular mucosa, and muscularis propria. \n\n**Note 3:** Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 4:** Direct invasion in cT4b includes invasion of other organs or segments of the colorectum by way of the serosa, as confirmed on microscopic examination, or for tumors in a retroperitoneal or subperitoneal location, direct invasion of other organs or structures by virtue of extension beyond the muscularis propria. \n\n**Note 5:** Tumor that is adherent to other organs or structures, macroscopically, is classified T4b. However, if no tumor is present in the adhesion, microscopically, the classification should be pT1 - pT3.\n\n**Note 6:** Assign T4b for contiguous extension from the site of origin. Discontinuous involvement is coded in M (distant metastasis).", - "footnotes" : "\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.833Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ: intraepithelial or invasion of lamina propria", "(Adeno)carcinoma, noninvasive, in a polyp or adenoma\n\nInvasive tumor confined to:\n Lamina propria, including lamina propria in the stalk of a polyp\n Mucosa, NOS, including intramucosal, NOS\n Muscularis mucosae (but not through), including muscularis mucosae in the stalk of a polyp\n\nStated as Tis" ], [ "c1", "cT1", "Tumor invades submucosa", "Confined to: \n Head of polyp, NOS\n Stalk of polyp, NOS\n\nInvasive tumor in polyp, NOS\n\nInvades submucosa (superficial invasion), including submucosa in the head or stalk of polyp\n\nConfined to rectosigmoid, NOS\nConfined to rectum, NOS\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor invades muscularis propria", "For rectum (C209):\n Tumor invading muscularis propria with intraluminal extension to colon and/or anal canal/anus\n\nStated as T2" ], [ "c3", "cT3", "Tumor invades subserosa or into non-peritionalized pericolic or perirectal tissues", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS\n\nFor rectum (C209):\n Tumor invading through muscularis propria with intraluminal extension to colon and/or anal canal/anus\n\nAdjacent (connective) tissue:\n For all sites:\n Perirectal fat\n For rectosigmoid:\n Mesentery (including mesenteric fat, mesocolon)\n Pericolic fat\n For rectum:\n Rectovaginal septum\n\nFat, NOS\n\nStated as T3" ], [ "c4", "cT4", "Tumor perforates visceral peritoneum and/or directly invades other organs or structures#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nStated as T4 [NOS]" ], [ "c4A", "cT4a", "Tumor perforates visceral peritoneum", "Invasion of/through serosa (mesothelium) (visceral peritoneum)\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor directly invades other organs or structures", "Tumor found in adhesion(s) if microscopic examination performed\n\nAdherent to other organs or structures, NOS\n\nFor both rectum and rectosigmoid sites:\n Bladder\n Cul de sac (rectouterine pouch)\n Ovary(ies)\n Pelvic wall/pelvic plexuses\n Prostate\n Skeletal muscle of pelvic floor\n Uterus\n Vagina\n\nFor rectosigmoid (C199):\n Small intestine\n Colon via serosa\n Fallopian tube(s)\n Ureter(s)\n \nFor rectum (C209):\n Anal canal/anus extraluminally\n Bone(s) of pelvis\n Cervix\n Ductus deferens\n Perineum, perianal skin\n Rectovesical fascia for males only\n Sacrum\n Sacral plexus\n Seminal vesicle(s)\n Urethra\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_renal_pelvis_and_ureter_48274.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_renal_pelvis_and_ureter_48274.json deleted file mode 100644 index a59bb9922..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_renal_pelvis_and_ureter_48274.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_renal_pelvis_and_ureter_48274", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Renal Pelvis and Ureter", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign pTa or pTis for in situ cases (behavior code /2).\n\n**Note 2:** In case of multifocal noninvasive Ta and Tis tumors, assign pTis.\n\n**Note 3:** Tumor involving both renal pelvis and ureter (unifocal or multifocal) is classified by the depth of greatest invasion in either organ for TNM staging. \n* Assign T1 for tumor involving the wall of both renal pelvis and ureter\n\n**Note 4:** Direct invasion of the bladder by a ureteral tumor is classified by the depth of greatest invasion of the bladder or ureter for TNM staging.", - "last_modified" : "2018-05-14T21:29:02.465Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pA", "pTa", "Non-invasive papillary carcinoma", "Noninvasive papillary carcinoma\n\nStated as Ta" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive (flat, sessile)\n\nStated as Tis" ], [ "c1", "cT1", "Tumor invades subepithelial connective tissue", "Subepithelial connective tissue (lamina propria, submucosa) of renal pelvis only\nSubepithelial connective tissue (lamina propria, submucosa) of ureter only\n\nRenal pelvis and ureter (unifocal or multifocal):\n Subepithelial connective tissue\n Renal pelvis from ureter\n Ureter from renal pelvis\n Distal ureter from proximal ureter\n\nExtension to bladder from ureter:\n Subepithelial connective tissue of distal ureter and/or bladder \n\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor invades muscularis", "Muscularis of renal pelvis only\nMuscularis of ureter only\n\nRenal pelvis and ureter (unifocal or multifocal):\n Muscularis\n Renal pelvis from ureter\n Ureter from renal pelvis\n Distal ureter from proximal ureter\n\nExtension to bladder from ureter:\n Muscularis of distal ureter and/or bladder \n\nStated as T2" ], [ "c3", "cT3", "(Renal pelvis) Tumor invades beyond muscularis into: \n Peripelvic fat \n Renal parenchyma\n\n(Ureter) Tumor invades beyond muscular into: \n Periureteric fact", "Extension to adjacent (connective) tissue:\n Peripelvic/periureteric tissue\n Retroperitoneal soft/connective tissue\n\nFor renal pelvis only (C659):\n Ipsilateral kidney parenchyma and kidney, NOS\n\nStated as T3" ], [ "c4", "cT4", "Tumor invades adjacent organs OR \nThrough the kidney into perinephric fat", "Extension to:\n Ascending colon from right renal pelvis\n Ascending colon from right ureter\n Bladder (wall or mucosa) from renal pelvis\n Colon, NOS\n Descending colon from left renal pelvis\n Descending colon from left ureter \n Duodenum from right renal pelvis or right ureter\n Ipsilateral adrenal (suprarenal) gland from renal pelvis\n Ipsilateral kidney parenchyma from ureter\n Liver\n Pancreas\n Perinephric fat via kidney\n Psoas muscle from ureter\n Spleen\n\nFor renal pelvis only (C659):\n Extension to major blood vessel(s):\n Aorta\n Renal artery/vein\n Vena cava (inferior)\n Tumor thrombus in a renal vein, NOS\n\nFor ureter only (C669):\n Extension to major blood vessel(s):\n Aorta\n Renal artery/vein\n Vena cava (inferior)\n Tumor thrombus in a renal vein, NOS\n\nFurther contiguous extension, including:\n For ureter:\n Prostate\n Uterus\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_retroperitoneum_91920.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_retroperitoneum_91920.json deleted file mode 100644 index a3c89c9cd..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_retroperitoneum_91920.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_retroperitoneum_91920", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Retroperitoneum", - "title" : "Clinical T", - "notes" : "**Note 1:** Retroperitoneal sarcomas are classified as deep tumors. Only T1b or T2b are available. \n\n**Note 2:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category based on the tumor size for the following descriptions\n\n Tumor confined to site of origin\n\n Adjacent connective tissue \n Adjacent organs/structures\n Adrenal(s) (suprarenal gland(s))\n Aorta\n Ascending colon\n Bone/cartilage\n Descending colon\n Kidney(s)\n Pancreas\n Vena cava\n Vertebra\n Further contiguous extension, including:\n Extension to colon other than ascending or descending\n\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:03.425Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1B", "cT1b", "Tumor 5 cm or less in greatest dimension\nDeep tumor", "Stated as T1b or T1 [NOS]" ], [ "c2B", "cT2b", "Tumor more than 5 cm in greatest dimension\nDeep tumor", "Stated as T2b or T2 [NOS]" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_salivaryglandother_54081.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_salivaryglandother_54081.json deleted file mode 100644 index 859b8bcbc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_salivaryglandother_54081.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_salivaryglandother_54081", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T SalivaryGlandOther", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for salivary gland other tumors.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2 or T3) based on the tumor size for the following descriptions\n\n Invasive tumor confined to gland/duct of origin\n Microscopic extraparenchymal extension ONLY to periglandular soft/connective tissue\n\n Confined to salivary gland, NOS\n Localized, NOS\n \n**Note 4:** Extraparenchymal extension is clinical or macroscopic evidence of invasion of soft tissues or nerve, except those listed under T4a and T4b. Microscopic evidence alone does not constitute extraparenchymal extension for classification purposes.\n\n**Note 5:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Mucoperiosteum is a compound structure of mucous membrane and periosteum. Cortical bone is the dense compact outer layer of bone.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.165Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension \nWITHOUT extraparenchymal extension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension \nWITHOUT extraparenchymal extension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm and/or tumor \nWITH extraparenchymal extension", "Macroscopic extraparenchymal extension to: \n Periglandular soft/connective tissue\n Another major salivary gland (parotid, submandibular)\n Skeletal muscle:\n Digastric\n Pterygoid\n Stylohyoid\n\nOther extension:\n Facial artery or vein\n Maxillary artery\n Spinal accessory nerve\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Skin\n Mandible\n Ear canal\n Facial nerve", "External auditory meatus\nNerves:\n Facial (7th)\n Lingual\nPeriosteum of mandible\nSkin\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades: \n Base of skull\n Pterygoid plates\n\nOR encases carotid artery", "Skull, NOS\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_scrotum_13282.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_scrotum_13282.json deleted file mode 100644 index 6775571b6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_scrotum_13282.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_scrotum_13282", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Scrotum", - "title" : "Clinical T", - "notes" : "**Note 1:** T1 for cutaneous squamous cell carcinomas with one or no high-risk features is based on tumor size. \n* If there are no high risk features and tumor size is unknown, assign TX\n\n**Note 2:** T1 and T2 categories are based on size and high risk features and not depth of invasion or extension. \n* TNM includes a T3 category for head and neck skin primaries only\n\n**Note 3:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified and there are no known high risk features, assign TX\n\n**Note 4:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Adjacent connective tissue excluding skeletal muscle\n Confined to scrotum\n Skeletal muscle\n Subcutaneous tissue\n Underlying cartilage\n\n Adjacent organs/structures\n Male genital organs\n Epididymis\n Penis\n Prostate\n Spermatic cord\n Testis\n Further contiguous extension\n Other organs and structures in male pelvis\n Bladder\n Rectum\n Urethra\n\n Confined to scrotum, NOS \n Localized, NOS\n\n**Note 5:** In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 6:** Skin ulceration does not alter the T category.", - "last_modified" : "2018-05-14T21:29:00.819Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepidermal, intraepithelial, noninvasive \nBowen disease" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension \nWITH less than two-high risk features", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm in greatest dimension OR \nWITH two or more high-risk features", "Stated as T2" ], [ "c4", "cT4", "Tumor with direct or perineural invasion of skull base or axial skeleton", "Bone:\n Axial or appendicular skeleton\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_sinus_ethmoid_61914.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_sinus_ethmoid_61914.json deleted file mode 100644 index 802fef10a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_sinus_ethmoid_61914.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_sinus_ethmoid_61914", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Sinus Ethmoid", - "title" : "Clinical T", - "notes" : "**Note 1:** The bones of the lateral wall of the nasal cavity include the maxilla, the perpendicular plate of the palatine bone, the medial pterygoid plate, the labyrinth and inferior concha of the ethmoid. The roof of the nasal cavity is formed by the nasal bone. The floor of the nasal cavity, which forms the roof of the mouth, is composed of the bones of the hard palate: the horizontal plate of the palatine bone posteriorly and the palatine process of the maxilla anteriorly.\n\n**Note 2:** \"Bony invasion\" does not include extension to palate, cribriform plate, or pterygoid plates. Extension to these structures is coded separately.\n\n**Note 3:** Assign T3 for Base of Skull, NOS when there is no information available for more specific bony structures in the skull.\n\n**Note 4:** Minimal extension to anterior cranial fossa implies tumor pushing through the cribriform plate, but without invasion of the dura or brain.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.862Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor limited to the mucosa with no erosion or destruction of bone", "Invasive tumor confined to ethmoid sinus (left, right or NOS) \nWITH (involvement of perpendicular plate of ethmoid bone or ethmoid air cells) or WITHOUT bony involvement\n\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor causing bone erosion or destruction, including extension into: \n Hard palate \n Middle nasal meatus\n\nEXCEPT extension to posterior wall of maxillary sinus and pterygoid plates", "Confined to both ethmoid sinuses WITH or WITHOUT bony involvement\n\nExtension to nasal cavity with or without bony invasion (Involvement of perpendicular plate of ethmoid bone or ethmoid air cells):\n Floor\n Lateral wall\n Nasal vestibule\n Nasal cavity, NOS\n Septum\n Turbinates\n\nStated as T2" ], [ "c3", "cT3", "Tumor invades any of the following:\n Bone of posterior wall of maxillary sinus\n Subcutaneous tissues\n Floor or medial wall of orbit\n Pterygoid fossa\n Frontal sinuses", "Base of skull, NOS\nCribriform plate\nHard palate\nMaxillary sinus\nMedial wall or floor of orbit\nOrbital plate\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone,​ nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades any of the following:\n Anterior orbital contents\n Skin of cheek\n Pterygoid plates\n Infratemporal fossa\n Cribriform plate\n Sphenoid or frontal sinuses", "Anterior cranial fossa (minimal extension) \nSkin of nose\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Orbital apex\n Dura\n Brain\n Middle cranial fossa\n Cranial nerves other than maxillary division of trigeminal nerve (V2)\n Nasopharynx\n Clivus", "Further contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_sinus_maxillary_12245.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_sinus_maxillary_12245.json deleted file mode 100644 index fd84e3cb0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_sinus_maxillary_12245.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_sinus_maxillary_12245", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Sinus Maxillary", - "title" : "Clinical T", - "notes" : "**Note 1:** Involvement of or extension to bone includes any type of tumor extension to the bone, such as erosion, invasion, extension, penetration, or destruction.\n\n**Note 2:** Assign T3 for Base of Skull, NOS when there is no information available for more specific bony structures in the skull.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.468Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "No evidence of primary tumor" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor limited to the mucosa with no erosion or destruction of bone", "Invasive tumor confined to mucosa of maxillary sinus (antrum) WITHOUT erosion or destruction of bone\n\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor causing bone erosion or destruction, including extension into: \n Hard palate \n Middle nasal meatus\n\nEXCEPT extension to posterior wall of maxillary sinus and pterygoid plates", "Tumor causing bone erosion or destruction \nEXCLUDING extension to:\n Posterior wall of maxillary sinus (see code 600)\n Pterygoid plates (see code 680)\nINCLUDING:\n Palatine bone, hard palate \n Middle nasal meatus \n Nasal cavity (floor, lateral wall, septum, turbinates)\n\nStated as T2" ], [ "c3", "cT3", "Tumor invades any of the following:\n Bone of posterior wall of maxillary sinus\n Subcutaneous tissues\n Floor or medial wall of orbit\n Pterygoid fossa\n Ethmoid sinuses", "Ethmoid sinus, anterior\nFloor or posterior wall of maxillary sinus\nMaxilla, NOS\n\nEthmoid sinus, posterior\nEthmoid sinus, NOS\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone,​ nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades any of the following:\n Anterior orbital contents\n Skin of cheek\n Pterygoid plates\n Infratemporal fossa\n Cribriform plate\n Sphenoid or frontal sinuses", "Anterior orbital contents\nBase of skull, NOS\nCribriform plate\nInfratemporal fossa\nFrontal sinus\nPterygoid plates\nSkin of cheek\nSphenoid sinus\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Orbital apex\n Dura\n Brain\n Middle cranial fossa\n Cranial nerves other than maxillary division of trigeminal nerve (V2)\n Nasopharynx\n Clivus", "Pterygomaxillary fossa\nSoft palate\nTemporal fossa\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_skin_92153.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_skin_92153.json deleted file mode 100644 index 119e4695d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_skin_92153.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_skin_92153", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Skin", - "title" : "Clinical T", - "notes" : "**Note 1:** T1 and T2 categories are based on size and high risk features and not depth of invasion or extension. \n\n**Note 2:** T3 category is for head and neck skin primaries only.\n\n**Note 3:** Code the tumor with the greatest extension when there are multiple simultaneous tumors. \n\n**Note 4:** Skin ulceration does not alter the T category. \n\n**Note 5:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 6:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Lesion(s) confined to dermis\n Subcutaneous tissue (through entire dermis)\n Underlying cartilage and/or skeletal muscle\n\n Confined to skin\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:00.788Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepidermal, intraepithelial, noninvasive \nBowen disease" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension \nWITH less than two-high risk features", "Lesion(s) confined to dermis\nSubcutaneous tissue (through entire dermis)\nUnderlying cartilage and/or skeletal muscle\n\nStated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm in greatest dimension OR \nWITH two or more high-risk features", "Stated as T2" ], [ "c3", "cT3", "Tumor with invasion of deep structures \n e.g., muscle, bone, cartilage, jaws, and orbit", "For skin of head and neck primaries only:\n Maxilla\n Mandible\n Orbital bone\n Temporal bone\n\nStated as T3" ], [ "c4", "cT4", "Tumor with direct or perineural invasion of skull base or axial skeleton", "For skin of head and neck primaries only:\n Direct or perineural invasion of skull base\n\nAxial or appendicular skeleton\n\nFurther contiguous extension \n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_skin_eyelid_93914.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_skin_eyelid_93914.json deleted file mode 100644 index 9bef8933d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_skin_eyelid_93914.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_skin_eyelid_93914", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Skin Eyelid", - "title" : "Clinical T", - "notes" : "**Note 1:** Code the tumor with the greatest extension when there are multiple simultaneous tumors. \n\n**Note 2:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Lesion(s) confined to dermis\n Minimal infiltration of dermis (Not invading tarsal plate, not at eyelid margin)\n Subcutaneous tissue (Through entire dermis, not invading tarsal plate, not at eyelid margin)\n Tumor invades tarsal plate, not at eyelid margin\n Tumor at eyelid margin\n Tumor involves full eyelid thickness\n\n Localized, NOS\n\n**Note 4:** Skin ulceration does not alter the T category.\n\n**Note 5:** Presence of tumor at eyelid margin takes priority over depth of invasion in dermis/tarsal plate.\n\n**Note 6:** Code metastatic skin lesions in M (distant metastasis).", - "footnotes" : "\\* T2 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor greater than 5 mm and less than or equal to 20 mm, or invasion of tarsal plate, lid margin, or involves full thickness\" as T2 [NOS].\n\n\\** T3 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor more than 20 mm or any tumor involving adjacent structures or requiring complete resection\" as T3 [NOS].\n\n\\# T2 [NOS] is not defined in AJCC 7th edition.\n\n\\## T3 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.119Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepidermal, intraepithelial, noninvasive\nBowen disease" ], [ "c1", "cT1", "Tumor 5 mm or less in greatest dimension \nNOT invading the tarsal plate or eyelid margin", "Stated as T1" ], [ "c2", "cT2", "Not defined by UICC*#", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nTumor greater than 5 mm and less than or equal to 20 mm, or invasion of tarsal plate, lid margin, or involves full thickness\n\nStated as T2[NOS]" ], [ "c2A", "cT2a", "Tumor more than 5 mm, but not more than 10 mm in greatest dimension OR \nAny tumor that invades the tarsal plate or eyelid margin", "Stated as T2a" ], [ "c2B", "cT2b", "Tumor more than 10 mm, but not more than 20 mm in greatest dimension, OR \nInvolves full thickness eyelid", "Stated as T2b" ], [ "c3", "cT3", "Not defined by UICC**##", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories\n\nTumor more than 20 mm or any tumor involving adjacent structures or requiring complete resection\n\nStated as T3[NOS]" ], [ "c3A", "cT3a", "Tumor more than 20 mm in greatest dimension OR \n\nAny tumor that invades: \n Adjacent ocular \n Orbital structures \n Any tumor with perineural invasion", "Adjacent structures, including:\n Bulbar conjunctiva\n Globe\n Sclera\n Soft tissues of orbit\n\nBone/periosteum of orbit\nSkeletal muscle\nUnderlying cartilage\n\nStated as T3a" ], [ "c3B", "cT3b", "Tumor whose complete resection requires: \n Enucleation, exenteration, or bone resection", "Stated as T3b" ], [ "c4", "cT4", "Tumor is not resectable due to extensive invasion of: \n Ocular\n Orbital\n Craniofacial structures\n Brain", "Tumor unresectable, extensive invasion:\n Ocular structures\n Orbital structures\n\nCentral nervous system\nNasal cavity\nOther craniofacial structures\nParanasal sinuses\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_small_intestine_22563.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_small_intestine_22563.json deleted file mode 100644 index c27ac2a1d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_small_intestine_22563.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_small_intestine_22563", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Small Intestine", - "title" : "Clinical T", - "notes" : "**Note 1:** High grade dysplasia and severe dysplasia of the small intestine are generally n ot reportable in cancer registries.\n* Assign pTis if your registry collects these tumors\n\n**Note 2:** The nonperitonealized perimuscular tissue is, for jejunum and ileum, part of the mesentery and, for duodenum in areas where serosa is lacking, part of the interface with the pancreas.\n\n**Note 3:** Code depth of invasion in preference to intraluminal spread or lateral extension to adjacent segment(s) of small intestine or cecum.", - "footnotes" : "\\# T1 [NOS] is not defined in AJCC 7th edition", - "last_modified" : "2018-05-14T21:29:03.130Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Noninvasive\n\n(Adeno)carcinoma, noninvasive, in a polyp\n\nStated as Tis" ], [ "c1", "cT1", "Tumor invades lamina propria, muscularis mucosae or submucosa#", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nIntraluminal spread to other segments of small intestine or cecum\n\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor invades lamina propria or muscularis mucosae", "Invasive tumor confined:\n Head of polyp\n Stalk of polyp\n Mucosa, NOS\n Intramucosal, NOS\n Polyp, NOS\n\nStated as T1a" ], [ "c1B", "cT1b", "Tumor invades submucosa", "Superficial invasion of submucosa\n\nStated as T1b" ], [ "c2", "cT2", "Tumor invades muscularis propria", "Stated as T2" ], [ "c3", "cT3", "Tumor invades subserosa or non-peritonealized perimuscular tissue (mesentery or retroperitoneum) \nWITH extension 2 cm or less", "Invasion through muscularis propria or muscularis, NOS\nExtension through wall, NOS\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS \nWall, NOS\n\nAdjacent connective tissue\nAdjacent tissue(s), NOS\nNonperitonealized perimuscular tissue (mesentery, mesenteric fact, retroperitoneum): depth of invasion less than 2 cm OR not specified\n\nFat, NOS\n\nStated as T3" ], [ "c4", "cT4", "Tumor perforates visceral peritoneum or directly invades other organs or structures, including:\n Abdominal wall by way of serosa\n Mesentery or retroperitoneum more than 2 cm\n Other loops of small intestine\n\nFor duodenum only, invasion of pancreas", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum)\n \nAll small intestine sites:\n Nonperitonealized perimuscular tissue (mesentery, mesenteric fact, retroperitoneum): depth of invasion greater than 2 cm\n Other segments of the small intestine via serosa\n \nDuodenum primary only (C170):\n Ampulla of Vater \n Blood vessel(s), major:\n Aorta\n Gastroduodenal artery\n Portal vein\n Renal vein\n Superior mesenteric artery or vein\n Vena cava\n Diaphragm\n Extrahepatic bile duct(s)\n Gallbladder\n Hepatic flexure\n Kidney (right or NOS)\n Liver (quadrate lobe, right lobe or NOS)\n Omentum\n Pancreas\n Pancreatic duct\n Stomach\n Transverse colon\n Ureter, right\n\nJejunum or ileum primary only (C171, C172):\n Bladder\n Colon, including appendix\n Fallopian tube(s)\n Ovary(ies)\n Uterus\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_soft_tissue_43767.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_soft_tissue_43767.json deleted file mode 100644 index 7b5556282..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_soft_tissue_43767.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_soft_tissue_43767", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Soft Tissue", - "title" : "Clinical T", - "notes" : "**Note 1:** Superficial lesions are located entirely in the subcutaneous tissues without any degree of extension through the muscular fascia or into underlying muscle. \n\n**Note 2:** Deep lesions are located partly or completely within one or more muscle groups within the extremity. Deep tumors may extend through the muscular fascia into the subcutaneous tissues or even to the skin but the critical criterion is location of any portion of the tumor within the muscular components of the extremity. \n* Deep lesions include retroperitoneal and intrathoracic lesions, and the majority of head and neck tumors\n\n**Note 3:** For tumors of the extremities and trunk ONLY. \n* Superficial lesions are defined as those not involving the superficial muscular fascia\n* Deep lesions are those that involve or are beneath the superficial fascia\n\n**Note 4:** Adjacent connective tissue is defined as the unnamed tissues that immediately surround an organ or structure containing a primary cancer. \n* Assign T1b or T2b (deep tumor) when a tumor has invaded past the outer border (capsule, serosa, or other edge) of the primary organ into the organ's surrounding supportive structures but has not invaded into larger structures or adjacent organs\n* Blood, cartilage, and bone are coded as connective tissues, but they are coded separately\n\n**Note 5:** If a vessel has a name, for example brachial artery or recurrent laryngeal nerve, code it as a structure.\n\n**Note 6:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 7:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions \n\n**Superficial tumors (T1a or T2a)**\n\n Invasive tumor confined to site/tissue of origin (Lesion does not involve superficial fascia)\n Tumor involves adjacent connective tissue\n \n**Deep tumors (T1b or T2b)**\n\n Confined to site/tissue of origin\n Tumor involves adjacent connective tissue\n Deep tumor involving adjacent organs/structures including bone/cartilage (including major vessel invasion)\n Further contiguous extension", - "last_modified" : "2018-05-14T21:29:03.133Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 5 cm or less in greatest dimension", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nLocalized, NOS\n\nStated T1 [NOS]" ], [ "c1A", "cT1a", "Tumor 5 cm or less in greatest dimension:\nSuperficial tumor", "Superficial: Localized, NOS\n\nStated as T1a" ], [ "c1B", "cT1b", "Tumor 5 cm or less in greatest dimension:\nDeep tumor", "Deep: Localized, NOS\n\nStated as T1b" ], [ "c2", "cT2", "Tumor more than 5 cm in greatest dimension", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nStated as T2 [NOS]" ], [ "c2A", "cT2a", "Tumor more than 5 cm in greatest dimension:\nSuperficial tumor", "Stated as T2a" ], [ "c2B", "cT2b", "Tumor more than 5 cm in greatest dimension:\nDeep tumor", "Stated as T2b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_stomach_55386.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_stomach_55386.json deleted file mode 100644 index c5cc32365..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_stomach_55386.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_stomach_55386", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Stomach", - "title" : "Clinical T", - "notes" : "**Note 1:** Intraluminal or intramural extension to esophagus and duodenum is classified by the depth of greatest invasion in any of these sites, including stomach. \n* For extension to esophagus or duodenum via serosa, assign T4b\n\n**Note 2:** Assign T2 If the diagnosis states linitis plastica and no other information regarding extension is available. \n* Linitis plastica is defined as diffuse involvement of the entire thickness of the stomach wall\n\n**Note 3:** Assign T4b for contiguous extension from the site of origin. Discontinuous involvement is coded in M (distant metastasis). \n* *Exception*: Assign T1 for implants within the stomach", - "last_modified" : "2018-05-14T21:29:03.135Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ: intraepithelial tumor without invasion of the lamina propria\n\nHigh grade dysplasia", "Noninvasive\n(Adeno)carcinoma, noninvasive, in a polyp\n\nStated as Tis" ], [ "c1", "cT1", "Tumor invades lamina propria, muscularis mucosae, or submucosa", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nConfined to: \n Head of polyp, NOS\n Stalk of polyp, NOS\n\nInvasive tumor in polyp, NOS\n\nImplants inside stomach\n\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor invades lamina propria or muscularis mucosae", "Invasive tumor confined to mucosa, NOS, including intramucosal, NOS\n\nMucosal tumor with intraluminal extension to esophagus or duodenum\n\nStated as T1a" ], [ "c1B", "cT1b", "Tumor invades submucosa", "Superficial invasion of submucosa\n\nSubmucosal tumor with intraluminal extension to esophagus or duodenum\n\nStated as T1b" ], [ "c2", "cT2", "Tumor invades muscularis propria", "Invades into but not through muscularis propria\n\nLinitis plastica and no other information regarding extension available \n\nInvasion of muscularis propria with intraluminal extension to esophagus or duodenum\n\nStated as T2" ], [ "c3", "cT3", "Tumor invades subserosa", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\n\nInvasion through muscularis propria with intraluminal extension to esophagus or duodenum\n\nExtension to adjacent (connective) tissue WITHOUT perforation of visceral peritoneum covering these structures:\n Gastric artery\n Ligaments: \n Gastrocolic\n Gastrohepatic\n Gastrosplenic\n Omentum, NOS :\n Greater\n Lesser\n Perigastric fat\n\nStated as T3" ], [ "c4", "cT4", "Tumor perforates serosa OR \n\nInvades adjacent structures", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nStated as T4 [NOS]" ], [ "c4A", "cT4a", "Tumor perforates serosa", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum), including perforation of visceral peritoneum covering the gastric ligaments or the omentum \n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades adjacent structures", "Adjacent structures include:\n Abdominal wall\n Adrenal (suprarenal) gland\n Aorta\n Celiac axis\n Diaphragm\n Duodenum via serosa\n Duodenum, NOS\n Esophagus via serosa\n Ileum\n Jejunum\n Kidney\n Liver\n Pancreas\n Retroperitoneum\n Small intestine, NOS\n Spleen\n Transverse colon/mesocolon (including flexures)\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_submandibular_gland_45502.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_submandibular_gland_45502.json deleted file mode 100644 index 6882c5831..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_submandibular_gland_45502.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_submandibular_gland_45502", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Submandibular Gland", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for submandibular gland tumors.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2 or T3) based on the tumor size for the following descriptions\n\n Invasive tumor confined to gland/duct of origin\n Microscopic extraparenchymal extension ONLY to periglandular soft/connective tissue\n\n Confined to submandibular gland\n Localized, NOS\n \n**Note 4:** Extraparenchymal extension is clinical or macroscopic evidence of invasion of soft tissues or nerve, except those listed under T4a and T4b. Microscopic evidence alone does not constitute extraparenchymal extension for classification purposes.\n\n**Note 5:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Mucoperiosteum is a compound structure of mucous membrane and periosteum. Cortical bone is the dense compact outer layer of bone.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.184Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension \nWITHOUT extraparenchymal extension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension \nWITHOUT extraparenchymal extension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm and/or tumor \nWITH extraparenchymal extension", "Macroscopic extraparenchymal extension to:\n Periglandular soft/connective tissue\n Another major salivary gland (parotid, sublingual)\nSkeletal muscle:\n Digastric \n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid \n Pterygoid\n Styloglossus\n Stylohyoid\n\nOther extension:\n Facial artery or vein\n Maxillary artery\n Spinal accessory nerve\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades: \n Skin\n Mandible\n Ear canal\n Facial nerve", "External auditory meatus\nNerves: \n Facial (7th) nerve\n Lingual nerve\nPeriosteum of mandible\nSkin overlying gland\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades: \n Base of skull\n Pterygoid plates\n\nOR encases carotid artery", "Blood vessels:\n Carotid artery (encased)\nSkull, NOS\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_thyroid_93682.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_thyroid_93682.json deleted file mode 100644 index 7abf19db1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_thyroid_93682.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_thyroid_93682", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Thyroid", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for thyroid tumors.\n\n**Note 2:** Per TNM, anaplastic carcinomas are assigned T4. If a clinical workup confirms a non-anaplastic histology that is followed by a pathologic confirmation of anaplastic (pT4), a clinical T other than cT4 may be assigned. If the only information is clinical, then a cT4 must be assigned if the histology is anaplastic.\n* Anaplastic is defined by: histology (8020/3, 8021/3, 8030/3, 8031/3, 8032/3) or Grade 4 (undifferentiated, anaplastic)\n\n**Note 3:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1, T2 or T3) based on the tumor size for the following descriptions\n\n Single invasive tumor confined to thyroid\n Extension into thyroid capsule, but not beyond\n Multiple foci confined to thyroid\n\n Confined to thyroid, NOS \n Localized, NOS\n\n**Note 5:** Multifocal tumors of all histological types should be designated (m) (the largest determines the classification), e.g, T2. \n* Record the information regarding solitary vs. multifocal tumors in **Site-Specific Factor 1, Solitary vs Multifocal Tumor**", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.185Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T\n\nConfined to thyroid, histology not anaplastic, and size not known" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension, \nLIMITED to the thyroid", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nStated as T1[NOS]" ], [ "c1A", "cT1a", "Tumor 1 cm or less in greatest dimension, \nLIMITED to the thyroid", "Stated as T1a" ], [ "c1B", "cT1b", "Tumor more than 1 cm but not more than 2 cm in greatest dimension, \nLIMITED to the thyroid", "Stated as T1b" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension, \nLIMITED to the thyroid", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension \nLimited to the thyroid \n\nAny tumor with minimal extrathyroid extension \n (e.g., extension to sternothyroid muscle or perithyroid soft tissues)", "Stated as T3\n\nMinimal extrathyroid extension including:\n Strap muscle(s):\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n\nPericapsular soft tissue/connective tissue" ], [ "c4", "cT4", "Not defined by UICC*#", "Note 1: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nNote 2: Anaplastic tumors: Assign T4, or one of its subcategories. Assign T4 [NOS] if no information available to assign T4a or T4b.\n\nTumor invades, bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor extends beyond the thyroid capsule and invades any of the following: \n Subcutaneous soft tissues\n Larynx\n Trachea\n Esophagus\n Recurrent laryngeal nerve \n\n(anaplastic carcinoma only) Tumor (any size) limited to the thyroid", "Cricoid cartilage\nEsophagus\nLarynx\nNerves:\n Recurrent laryngeal \n Vagus\nParathyroid\nSternocleidomastoid muscle\nTrachea\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades: \n Prevertebral fascia\n Mediastinal vessels \n\nOr encases carotid artery\n\n(anaplastic carcinoma only) Tumor (any size) extends beyond the thyroid capsules", "Bone\nBlood vessel(s) (major):\n Carotid artery (encased)\n Jugular vein\n Thyroid artery or vein\nSkeletal muscle, other than strap or sternocleidomastoid muscle\nThyroid cartilage\nTumor described as \"\"FIXED to adjacent tissues\"\"\n\nFurther contiguous extension including:\n Mediastinal tissues\n Prevertebral fascia\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_tongue_anterior_43968.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_tongue_anterior_43968.json deleted file mode 100644 index b23ae6bd7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_tongue_anterior_43968.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_tongue_anterior_43968", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Tongue Anterior", - "title" : "Clinical T", - "notes" : "**Note 1:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size when involvement is limited to the cortical bone.\n\n Invasive tumor on one side confined to\n Lamina propria\n Submucosa\n\n Midline tumor\n Tumor crosses midline\n\n Base of tongue\n Bone, NOS\n Cortical bone of mandible\n Cortical bone of maxilla\n Cortical bone, NOS\n Floor of mouth\n Gingiva, lower\n Mandible, NOS\n Maxilla, NOS\n Retromolar trigone\n Sublingual gland\n\n Confined to anterior tongue\n Localized, NOS\n\n**Note 4:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.187Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "In situ, intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Lateral pharyngeal wall\nSoft palate, inferior surface\nTonsillar pillars and fossae\nTonsils\nTrabecular bone of mandible\nTrabecular bone of maxilla\n\nDeep (extrinsic) muscle of tongue: \n Geniohyoid\n Mylohyoid\n \nStated as T4a" ], [ "c4B", "cT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Specified bone \n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_tongue_base_63370.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_tongue_base_63370.json deleted file mode 100644 index cbd3c28b4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_tongue_base_63370.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_tongue_base_63370", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Tongue Base", - "title" : "Clinical T", - "notes" : "**Note 1:** The intrinsic muscles of tongue are four paired muscles within the tongue which control its shape. The extrinsic muscles originate from structures outside the tongue and control its positioning.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1-T3) based on the tumor size for the following descriptions \n\n Invasive tumor on one side confined to posterior one-third of tongue\n Lamina propria\n Submucosa\n Anterior two-thirds of tongue for base of tongue\n Base of tongue for lingual tonsil\n Base of tongue tumor crosses midline\n Floor of mouth\n Glossoepiglottic fold\n Glossopharyngeal fold\n Lateral pharyngeal wall\n Lingual tonsil for base of tongue\n Lower gingiva\n Midline tumor\n Musculature, intrinsic or NOS \n Pharyngoepiglottic fold\n Soft palate, inferior surface or NOS including uvula\n Sublingual gland\n Tonsillar pillars and fossae\n Tumor of lingual tonsil on both sides\n Tonsils\n Vallecula\n\n Confined to base of tongue\n Localized, NOS", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.189Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension OR \nextension to lingual surface of epiglottis", "Epiglottis, lingual surface plus soft palate\n\nStated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories.\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades any of the following:\n Larynx\n Deep/extrinsic muscle of tongue, which are: \n Genioglossus\n Hyoglossus\n Palatoglossus \n Styloglossus\n Medial pterygoid\n Hard palate\n Mandible", "Hypopharynx\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Lateral pterygoid muscle\n Pterygoid plates\n Lateral nasopharynx\n Skull base\n Encases carotid artery", "Skin\n\nFurther contiguous extension\n \nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_urethra_39553.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_urethra_39553.json deleted file mode 100644 index 638c017cb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_urethra_39553.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_urethra_39553", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Urethra", - "title" : "Clinical T", - "notes" : "**Note 1:** In case of multifocal noninvasive Ta and Tis tumors, assign pTis. \n\n**Note 2:** If assigned pTis, then Behavior code ICD-O-3 must be /2.\n\n**Note 3:** The presence of muscle around the urethra varies between males and females and, in males, varies among the segments of the urethra. The outer muscular coat (muscularis) is absent in most of the male urethra except for the membranous portion. In females, the muscle coat is continuous from the bladder wall. In addition, in both males and females, there is sphincteric muscle, which may be smooth or skeletal muscle. \n* Invasion of periurethral muscle is assigned T1, unless it is specified as invasion of sphincter muscle, which is assigned T2\n* Invasion of muscle at the neck of the bladder is assigned T3\n* If the only information is \"invasion of muscle\", NOS, or \"invasion of periurethral muscle\", NOS, assign T1", - "last_modified" : "2018-05-14T21:29:01.586Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pA", "pTa", "Non-invasive papillary, polypoid, or verrucous carcinoma", "Histologically confirmed" ], [ "pIS", "pTis", "Carcinoma in situ", "Histologically confirmed:\nIntraepithelial, noninvasive (flat, sessile), NOS" ], [ "pISD", "pTispd", "Carcinoma in situ, involvement of prostatic ducts", "Histologically confirmed:\nIntraepithelial, noninvasive: involvement of prostatic ducts" ], [ "pISU", "pTispu", "Carcinoma in situ, involvement of prostatic urethra", "Histologically confirmed: \nIntraepithelial, noninvasive: involvement of prostatic urethra" ], [ "c1", "cT1", "Tumor invades subepithelial connective tissue", "Subepithelial connective tissue (lamina propria, submucosa) invaded\n\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor invades any of the following: \n Corpus spongiosum\n Periurethral muscle\n Prostate", "Muscularis invaded\n\nSphincter muscle; periurethral muscle specified as sphincter\n\nStated as T2" ], [ "c3", "cT3", "Tumor invades any of the following: \n Beyond prostatic capsule \n Bladder neck (extraprostatic extension)\n Corpus cavernosum", "Vagina, anterior or NOS\n\nStated as T3" ], [ "c4", "cT4", "Tumor invades other adjacent organs (invasion of the bladder)", "Other adjacent organs, including\n Bladder (excluding bladder neck)\n Seminal vesicle(s)\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_vagina_84852.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_vagina_84852.json deleted file mode 100644 index 5826ef106..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_vagina_84852.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clin_t_vagina_84852", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Vagina", - "title" : "Clinical T", - "notes" : "**Note 1:** FIGO does not include an in situ category for tumors of the vagina, but TNM does. Assign pTis (behavior code /2) for in situ cases. \n\n**Note 2:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is FIGO III assign the appropriate stage and leave clinical T, N, and M blank. If the only information is FIGO stage IVB, leave T and N blank and see M\n\n**Note 3:** The presence of bullous edema is not sufficient evidence to classify a tumor as T4.\n\n**Note 4:** The pelvic wall is defined as muscle, fascia, neurovascular structures, or skeletal portions of the bony pelvis.", - "last_modified" : "2018-05-14T21:29:03.447Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done:\n Physician unable to assess T\n Extension cannot be determined OR\n Physician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ (preinvasive carcinoma)", "Intraepithelial, noninvasive" ], [ "c1", "cT1", "Tumor confined to vagina", "Invasive cancer confined to: \n Submucosa (stroma) (vagina)\n\nMusculature involved\n\nLocalized, NOS\n\nFIGO Stage I\n\nStated as T1" ], [ "c2", "cT2", "Tumor invades paravaginal tissues (pracolpium)", "Cervix\nCul de sac (rectouterine pouch)\nParavaginal soft tissue\nRectovaginal septum\nVesicovaginal septum\nVulva\n\nFIGO Stage II\n\nStated as T2" ], [ "c3", "cT3", "Tumor extends to pelvic wall", "Extension to: \n Bladder wall or bladder, NOS excluding mucosa\n Pelvic wall (described clinically as frozen pelvis)\n Rectal wall or rectum, NOS excluding mucosa\n\nStated as T3" ], [ "c4", "cT4", "Tumor invades mucosa of bladder or rectum, OR \n\nExtends beyond the true pelvis", "Extension to: \n Bladder mucosa (excluding bullous edema)\n Rectal mucosa\n Urethra\n\nFIGO Stage IVA\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III or IVB\n\nClinical classification not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_vulva_52779.json b/src/test/resources/algorithms/tnm/2.0/tables/clin_t_vulva_52779.json deleted file mode 100644 index 698e6aa27..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clin_t_vulva_52779.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clin_t_vulva_52779", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Vulva", - "title" : "Clinical T", - "notes" : "**Note 1:** FIGO does not include an in situ category for tumors of the vulva, but TNM does. Assign pTis (behavior code /2) for in situ cases. \n\n**Note 2:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is FIGO III [NOS], IIIA, IIIB, IIIC, or IVA, assign the appropriate stage and leave clinical T, N, and M blank. If the only information is FIGO stage IVB, leave T and N blank and see M\n\n**Note 3:** FIGO Stage I, IA and IB are defined by the following\n* Size of tumor \n* Involvement of vulva OR vulva and perineum\n* Depth of stromal invasion\n\n**Note 4:** The depth of invasion is defined as the measurement of the tumor from the epithelial-stromal junction of the adjacent most superficial dermal papilla to the deepest point of invasion. (1)\n\n**Note 5:** T3 is not used by FIGO. They label it T4. If you have a record which states T4, assign T3. (1)\n\n**Note 6:** FIGO Stage IVA is assigned based on tumor extension and/or regional lymph node involvement.", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 198\n\n\\# T1 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.577Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done:\n Physician unable to assess T\n Extension cannot be determined OR\n Physician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ (preinvasive carcinoma)\nIntraepithelial neoplasia Grade III (VIN III)", "Noninvasive\nBowen disease" ], [ "c1", "cT1", "Tumor confined to vulva or vulva and perineum#", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nVulva and perineum: Stromal invasion but depth of invasion in millimeters not stated\n\nInvasive carcinoma confined to:\n Musculature\n Submucosa\n Vulva including skin\n\nConfined to the vulva and perineum, size unknown\n\nLocalized, NOS\n\nFIGO Stage I [NOS]\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor 2 cm or less in greatest dimension and with stromal invasion no greater than 1.0 mm", "Vulva and perineum: Stromal invasion less than or equal to 1 mm\n\nFIGO Stage IA\n\nStated as T1a" ], [ "c1B", "cT1b", "Tumor greater than 2 cm or with stromal invasion greater than 1 mm", "Vulva and perineum: Stromal invasion greater than 1 mm\n\nFIGO Stage IB\n\nStated as T1b" ], [ "c2", "cT2", "Tumor of any size with extension to adjacent perineal structures: \n Anus\n Lower third urethra \n Lower third vagina", "Perianal skin\nUrethra, NOS \nVagina NOS\n\nFIGO Stage II\n\nStated as T2" ], [ "c3", "cT3", "Tumor of any size with extension to the following structures:\n Bladder mucosa\n Fixed to pelvic bone\n Rectal mucosa\n Upper 2/3 urethra\n Upper 2/3 vagina", "Bladder wall or bladder, NOS (including mucosa)\nPerineal body\nRectal wall or rectum, NOS (including mucosa)\n\nFurther contiguous extension\n\nStated as T3 or T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIA, IIIB, IIIC, IVA, or IVB\n\nClinical classification not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clinical_m_64416.json b/src/test/resources/algorithms/tnm/2.0/tables/clinical_m_64416.json deleted file mode 100644 index d2b4fd710..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clinical_m_64416.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clinical_m_64416", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clinical M", - "title" : "Clinical M", - "notes" : "**Note 1:** Distant lymph node involvement is coded as N2 for TNM staging for retinoblastoma and is collected in M (distant metastasis). \n\n**Note 2:** Code single and multiple metastatic lesions in this field based on the presentation of metastases in all distant sites excluding distant lymph nodes.\n\n**Note 3:** Metastasis to bone marrow is a single site of involvement.", - "footnotes" : "\\* This subcategory of clinical M1 is not defined in UICC 7th edition. Approval has been provided by UICC to use the definition from the AJCC 7th edition, which is documented in the registrar notes.", - "last_modified" : "2018-05-14T21:29:00.010Z", - "definition" : [ { - "key" : "clin_m", - "name" : "Clinical M", - "type" : "INPUT" - }, { - "key" : "clin_m_display", - "name" : "Clinical M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nNote: M1 has subcategories of M1a, M1b, M1c, M1d and M1e. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS\n\nStated as M1[NOS]" ], [ "c1A", "cM1a", "Not defined by UICC*", "CLINICAL assessment only:\nSingle metastasis to sites other than CNS\n\nStated as M1a" ], [ "c1B", "cM1b", "Not defined by UICC*", "CLINICAL assessment only:\nMultiple metastasis to sites other than CNS\n\nStated as M1b" ], [ "c1C", "cM1c", "Not defined by UICC*", "CLINICAL assessment only:\nCNS metastasis\nCNS location not specified\n\nStated as M1c" ], [ "c1D", "cM1d", "Not defined by UICC*", "CLINICAL assessment only:\nDiscrete mass(es) with leptomeningeal and/or CSF involvement\nPostchiasmatic lesions\n\nStated as M1d" ], [ "c1E", "cM1e", "Not defined by UICC*", "CLINICAL assessment only:\nLeptomeningeal and/or Cerebral Spine Fluid (CSF) involvement\n\nStated as M1e" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nNote: M1 has subcategories of M1a, M1b, M1c, M1d and M1e. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS" ], [ "p1A", "pM1a", "Single metastasis to sites other than CNS", "HISTOLOGICALLY confirmed" ], [ "p1B", "pM1b", "Multiple metastasis to sites other than CNS", "HISTOLOGICALLY confirmed" ], [ "p1C", "pM1c", "CNS metastasis", "HISTOLOGICALLY confirmed:\nCNS location not specified" ], [ "p1D", "pM1d", "Discrete mass(es) without leptomeningeal and/or CSF involvement", "HISTOLOGICALLY confirmed:\nPostchiasmatic lesions" ], [ "p1E", "pM1e", "Leptomeningeal and/or Cerebral Spine Fluid (CSF) involvement", "HISTOLOGICALLY confirmed" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in patient record\nClinical evaluation of T and N not done, no evidence metastatic disease\nTumor first detected on surgical resection (no clinical workup)\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_48422.json b/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_48422.json deleted file mode 100644 index 7e2d3c4f6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_48422.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clinical_n_corpus_48422", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clinical N Corpus Adenosarcoma/Sarcoma", - "title" : "Clinical N", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and regional lymph node detail are available, use the regional lymph node detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is FIGO III [NOS] or IIIC assign the appropriate stage and leave clinical T, N, and M blank. If the only information is FIGO stage IVB, leave T and N blank and see M\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 4:** If the clinician says \"adnexa palpated\" but does not mention lymph nodes, assume lymph nodes are not involved.\n\n**Regional lymph nodes**\n\n Aortic, NOS\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Iliac, NOS\n Common\n External\n Internal (hypogastric)\n Obturator\n Paracervical\n Parametrial\n Pelvic, NOS\n Sacral, NOS\n Lateral (laterosacral)\n Middle (promontorial) (Gerota's node)\n Presacral\n Uterosacral\n\n Pelvic lymph nodes, NOS\n\n FIGO Stage IIIC (pelvic or para-aortic lymph nodes)\n FIGO Stage IIIC1 (pelvic lymph nodes)\n FIGO Stage IIIC2 (para-aortic lymph nodes WITH or WITHOUT pelvic lymph nodes)", - "last_modified" : "2018-05-14T21:29:00.124Z", - "definition" : [ { - "key" : "clin_n", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "clin_n_display", - "name" : "Clinical N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cNX", "Regional lymph nodes cannot be assessed", "Only information available is FIGO Stage IVA\n\nClinical classification criteria met, evaluation done:\n Physician unable to assess N\n Regional lymph node involvement cannot be determine or findings inconclusive\nPhysician assigns cNX, no other information available to determine N" ], [ "c0", "cN0", "No regional lymph node metastasis", "Only information available is FIGO Stage I (all subcategories), II (all subcategories), IIIA, or IIIB" ], [ "c1", "cN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information available is FIGO Stage III [NOS], IIIC, or IVB\n\nClinical classification criteria not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_carcinoma_62458.json b/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_carcinoma_62458.json deleted file mode 100644 index cd8885187..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_corpus_carcinoma_62458.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "clinical_n_corpus_carcinoma_62458", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin N Corpus Carcinoma", - "title" : "Clinical N", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and regional lymph node detail are available, use the regional lymph node detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is FIGO III [NOS], IIIC [NOS], IIIC1 or IIIC2, assign the appropriate stage and leave clinical T, N, and M blank. If the only information is FIGO stage IVB, leave T and N blank and see M\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 4:** If the clinician says \"adnexa palpated\" but does not mention lymph nodes, assume lymph nodes are not involved.\n\n**Regional lymph nodes**\n\n Aortic, NOS\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Iliac, NOS:\n Common\n External\n Internal (hypogastric)\n Obturator\n Paracervical\n Parametrial\n Pelvic, NOS\n Sacral, NOS\n Lateral (laterosacral)\n Middle (promontorial) (Gerota's node)\n Presacral\n Uterosacral\n\n Pelvic lymph nodes, NOS\n\n FIGO Stage IIIC (pelvic or para-aortic lymph nodes)\n FIGO Stage IIIC1 (pelvic lymph nodes)\n FIGO Stage IIIC2 (para-aortic lymph nodes WITH or WITHOUT pelvic lymph nodes)", - "footnotes" : "^ Definition from the [Updated pages](http://www.wileyanduicc.com/pdf/Corrected_pages.pdf) from TNM Classification of Malignant Tumours", - "last_modified" : "2018-05-14T21:29:04.406Z", - "definition" : [ { - "key" : "clin_n", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "clin_n_display", - "name" : "Clinical N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cNX", "Regional lymph nodes cannot be assessed", "Only information available is FIGO Stage IVA\n\nClinical classification criteria met, evaluation done:\n Physician unable to assess N\n Regional lymph node involvement cannot be determine or findings inconclusive\nPhysician assigns cNX, no other information available to determine N" ], [ "c0", "cN0", "No regional lymph node metastasis", "Only information available is FIGO Stage I [NOS], IA, IB, II, IIIA, IIIB" ], [ "c1", "cN1", "Statement of FIGO IIIC only\n\nMetastasis to pelvic lymph nodes (IIIC1)", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c2", "cN2", "Metastasis to para-aortic lymph nodes with or without metastasis to pelvic lymph nodes (IIIC2)^", "Stated as N2" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information available is FIGO Stage III [NOS], IIIC [NOS], IIIC1, IIIC2, or IVB\n\nClinical classification criteria not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_except_nasopharynx_25237.json b/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_except_nasopharynx_25237.json deleted file mode 100644 index 4453fa0a9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_except_nasopharynx_25237.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clinical_n_head_neck_except_nasopharynx_25237", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin N Head & Neck", - "title" : "Clinical N", - "notes" : "**Note 1:** If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are assigned as ipsilateral.\n\n**Note 2:** Size of the largest metastasis in a lymph node must be known to assign N. You may use a physician’s statement of the N category if this is the only information in the medical record.\n* If the size of the metastasis is not documented, determine the size of the largest involved lymph node as documented clinically\n* If the size of the lymph node(s) cannot be determined, assign N1\n* Do not code the size of any node(s) assigned in M (distant metastasis)\n\n**Note 3:** The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are assigned as regional nodes for TNM staging.\n\n**Level I**\n \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n**Level II - Upper jugular** \n\n Jugulodigastric (subdigastric)\n Upper deep cervical \n Level IIA - Anterior\n Level IIB - Posterior \n**Level III - Middle jugular**\n\n Middle deep cervical\n**Level IV - Lower jugular**\n\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical \n Virchow node\n**Level V - Posterior triangle group**\n\n Posterior cervical\n Level VA - Spinal accessory \n Level VB - Transverse cervical, supraclavicular \n**Level VI - Anterior compartment group**\n\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n**Level VII - Superior mediastinal group (for other mediastinal nodes see M [distant metastasis])**\n\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch \n**Other groups**\n\n Cervical, NOS\n Deep cervical, NOS\n Facial\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Internal jugular, NOS\n Parapharyngeal \n Parotid\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS\n\n**Note 4:** For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in **Site-Specific Factors 1, 3-9**.\n\n**Note 5:** For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. \n* If the specific level cannot be determined, assign them as Level V nodes", - "last_modified" : "2018-05-14T21:29:04.234Z", - "definition" : [ { - "key" : "clin_n", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "clin_n_display", - "name" : "Clinical N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cNX", "Regional lymph nodes cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess N\n Regional lymph node involvement cannot be determined or findings inconclusive\nPhysician assigns cNX, no other information available to determine N" ], [ "c0", "cN0", "No regional lymph node metastasis", "No regional lymph node involvement" ], [ "c1", "cN1", "Metastasis in a single ipsilateral lymph node, 3 cm or less in greatest dimension", "Positive ipsilateral lymph node, not stated if single or multiple\nPositive lymph node, not stated if ipsilateral, bilateral, or contralateral \n\nPositive lymph node, size not stated\n\nStated as N1" ], [ "c2", "cN2", "Metastasis as described below", "Note: N2 has subcategories of N2a, N2b and N2c. Assign N2 only when there is no information available to assign one of the subcategories\n\nStated as N2 [NOS]" ], [ "c2A", "cN2a", "Metastasis in a single ipsilateral lymph node, more than 3 cm but not more than 6 cm in greatest dimension", "Stated as N2a" ], [ "c2B", "cN2b", "Metastasis in multiple ipsilateral lymph nodes, none more than 6 cm in greatest dimension", "Multiple lymph nodes, not stated if ipsilateral, bilateral or contralateral\n\nStated as N2b" ], [ "c2C", "cN2c", "Metastasis in bilateral or contralateral lymph nodes, none more than 6 cm in greatest dimension", "Bilateral lymph nodes, size not stated\n\nStated as N2c" ], [ "c3", "cN3", "Metastasis in a lymph node more than 6 cm in greatest dimension", "Stated as N3" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_melanoma_66648.json b/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_melanoma_66648.json deleted file mode 100644 index e29a6ae51..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_head_neck_melanoma_66648.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clinical_n_head_neck_melanoma_66648", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clinical N Head & Neck Melanoma", - "title" : "Clinical N", - "notes" : "**Note 1:** If laterality of lymph nodes is not specified, assume nodes are ipsilateral. \n* Midline nodes are assigned as ipsilateral\n\n**Note 2:** The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are assigned as regional nodes for TNM staging.\n\n**Level I**\n \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n**Level II - Upper jugular** \n\n Jugulodigastric (subdigastric)\n Upper deep cervical \n Level IIA - Anterior\n Level IIB - Posterior \n**Level III - Middle jugular**\n\n Middle deep cervical\n**Level IV - Lower jugular**\n\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical \n Virchow node\n**Level V - Posterior triangle group**\n\n Posterior cervical\n Level VA - Spinal accessory \n Level VB - Transverse cervical, supraclavicular \n**Level VI - Anterior compartment group**\n\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n**Level VII - Superior mediastinal group (for other mediastinal nodes see M [distant metastasis])**\n\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch \n**Other groups**\n\n Cervical, NOS\n Deep cervical, NOS\n Facial\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Internal jugular, NOS\n Parapharyngeal \n Parotid\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS\n \n**Note 3:** For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in **Site-Specific Factors 1, 3-9**.\n\n**Note 4:** For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. \n* If the specific level cannot be determined, assign them as Level V nodes", - "last_modified" : "2018-05-14T21:29:04.238Z", - "definition" : [ { - "key" : "clin_n", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "clin_n_display", - "name" : "Clinical N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cNX", "Regional lymph nodes cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess N\n Regional lymph node involvement cannot be determined or findings inconclusive\nPhysician assigns cNX, no other information available to determine N" ], [ "c0", "cN0", "No regional lymph nodes metastasis", "" ], [ "c1", "cN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_major_salivary_glands_19191.json b/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_major_salivary_glands_19191.json deleted file mode 100644 index 52890a235..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/clinical_n_major_salivary_glands_19191.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "clinical_n_major_salivary_glands_19191", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin N Major Salivary Glands", - "title" : "Clinical N", - "notes" : "**Note 1:** If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are assigned as ipsilateral.\n\n**Note 2:** Size of the largest metastasis in a lymph node must be known to assign N. You may use a physician’s statement of the N category if this is the only information in the medical record.\n* If the size of the metastasis is not documented, determine the size of the largest involved lymph node as documented clinically\n* If the size of the lymph node(s) cannot be determined, assign N1\n* Do not code the size of any node(s) assigned in M (distant metastasis)\n\n**Note 3:** The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are assigned as regional nodes for TNM staging.\n\n**Level I**\n \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n**Level II - Upper jugular** \n\n Jugulodigastric (subdigastric)\n Upper deep cervical \n Level IIA - Anterior\n Level IIB - Posterior \n**Level III - Middle jugular**\n\n Middle deep cervical\n**Level IV - Lower jugular**\n\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical \n Virchow node\n**Level V - Posterior triangle group**\n\n Posterior cervical\n Level VA - Spinal accessory \n Level VB - Transverse cervical, supraclavicular \n**Level VI - Anterior compartment group**\n\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n**Level VII - Superior mediastinal group (for other mediastinal nodes see M [distant metastasis])**\n\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch \n**Other groups**\n\n Cervical, NOS\n Deep cervical, NOS\n Facial\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Internal jugular, NOS\n Parapharyngeal \n Parotid\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS\n\n**Note 4:** For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in **Site-Specific Factors 1, 3-9**.\n\n**Note 5:** For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. \n* If the specific level cannot be determined, assign them as Level V nodes", - "last_modified" : "2018-05-14T21:29:03.179Z", - "definition" : [ { - "key" : "clin_n", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "clin_n_display", - "name" : "Clinical N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cNX", "Regional lymph nodes cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess N\n Regional lymph node involvement cannot be determined or findings inconclusive\nPhysician assigns cNX, no other information available to determine N" ], [ "c0", "cN0", "No regional lymph node metastasis", "No regional lymph node involvement" ], [ "c1", "cN1", "Metastasis in a single ipsilateral lymph node, 3 cm or less in greatest dimension", "Positive ipsilateral lymph node, not stated if single or multiple\nPositive lymph node, not stated if ipsilateral, bilateral, or contralateral \n\nPositive lymph node, size not stated\n\nStated as N1" ], [ "c2", "cN2", "Metastasis as described below", "Note: N2 has subcategories of N2a, N2b and N2c. Assign N2 only when there is no information available to assign one of the subcategories\n\nStated as N2 [NOS]" ], [ "c2A", "cN2a", "Metastasis in a single ipsilateral lymph node, more than 3 cm but not more than 6 cm in greatest dimension", "Stated as N2a" ], [ "c2B", "cN2b", "Metastasis in multiple ipsilateral lymph nodes, none more than 6 cm in greatest dimension", "Multiple lymph nodes, not stated if ipsilateral, bilateral or contralateral\n\nStated as N2b" ], [ "c2C", "cN2c", "Metastasis in bilateral or contralateral lymph nodes, none more than 6 cm in greatest dimension", "Bilateral lymph nodes, size not stated\n\nStated as N2c" ], [ "c3", "cN3", "Metastasis in a lymph node more than 6 cm in greatest dimension", "Stated as N3" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/colon_65083.json b/src/test/resources/algorithms/tnm/2.0/tables/colon_65083.json deleted file mode 100644 index 6b2566585..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/colon_65083.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "colon_65083", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Colon", - "title" : "Clinical T", - "notes" : "**Note 1:** High grade dysplasia and severe dysplasia of the colon are generally not reportable in cancer registries. \n* Assign pTis if your registry collects these tumors\n\n**Note 2:** In situ includes cancer cells confined within the glandular basement membrane (intraepithelial); localized includes confined to lamina propria (intramucosal), the muscular mucosa, and muscularis propria. \n\n**Note 3:** Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 4:** Direct invasion in cT4b includes invasion of other organs or segments of the colorectum by way of the serosa, as confirmed on microscopic examination, or for tumors in a retroperitoneal or subperitoneal location, direct invasion of other organs or structures by virtue of extension beyond the muscularis propria. \n\n**Note 5:** Tumor that is adherent to other organs or structures, macroscopically, is classified T4b. However, if no tumor is present in the adhesion, microscopically, the classification should be pT1 - pT3.\n\n**Note 6:** Assign T4b for contiguous extension from the site of origin. Discontinuous involvement is coded in M (distant metastasis).", - "footnotes" : "\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.324Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "No evidence of primary tumor" ], [ "pIS", "pTis", "Carcinoma in situ: intraepithelial or invasion of lamina propria", "(Adeno)carcinoma, noninvasive, in a polyp or adenoma\n\nInvasive tumor confined to:\n Lamina propria, including lamina propria in the stalk of a polyp\n Mucosa, NOS, including intramucosal, NOS\n Muscularis mucosae (but not through), including muscularis mucosae in the stalk of a polyp\n\nStated as Tis" ], [ "c1", "cT1", "Tumor invades submucosa", "Confined to: \n Head of polyp, NOS\n Stalk of polyp, NOS\n\nInvasive tumor in polyp, NOS\n\nInvades submucosa (superficial invasion), including submucosa in the head or stalk of polyp\n\nConfined to colon, NOS\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor invades muscularis propria", "Stated as T2" ], [ "c3", "cT3", "Tumor invades subserosa or into non-peritionealized pericolic or perirectal tissues", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nNon-peritonealized pericolic tissues invaded\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS\nWall, NOS\n\nExtension to:\n All colon sites:\n Adjacent tissue(s), NOS\n Connective tissue\n Mesenteric fat\n Mesentery \n Mesocolon\n Pericolic fat\n Ascending and descending colon\n Retroperitoneal fat \n Transverse colon and flexures\n Gastrocolic ligament\n Greater omentum\n\nFat, NOS\n\nStated as T3" ], [ "c4", "cT4", "Tumor perforates visceral peritoneum and/or directly invades other organs or structures#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nStated as T4 [NOS]" ], [ "c4A", "cT4a", "Tumor perforates visceral peritoneum", "Invasion of/through serosa (mesothelium) (visceral peritoneum)\nTumor penetrates to surface of visceral peritoneum\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor directly invades other organs or structures", "Adherent to other organs or structures clinically with no microscopic examination\nTumor found in adhesion(s) if microscopic examination performed\n(see Note 5)\n\nContiguous extension to:\n\nAll colon sites:\n Abdominal wall\n Adrenal (suprarenal) gland\n Bladder\n Diaphragm\n Fallopian tube\n Fistula to skin\n Gallbladder\n Other segment(s) of colon via serosa\n Ovary\n Retroperitoneum \n Small intestine\n Uterus\n\nCecum (C180):\n Greater omentum\n Kidney\n Liver\n Ureter\n \nAscending colon (C182):\n Greater omentum\n Liver, right lobe\n Right kidney\n Right ureter\n \nTransverse colon and flexures (C183, C184, C185):\n Gallbladder/bile ducts\n Kidney\n Liver\n Pancreas\n Spleen\n Stomach\n Ureter\n \nDescending colon (C186):\n Greater omentum\n Left kidney\n Left ureter\n Pelvic wall\n Spleen\n \nSigmoid colon (C187):\n Cul de sac (rectouterine pouch)\n Greater omentum\n Pelvic wall\n Ureter\n\nStated as T4b (all colon subsites)" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/combined_gleason_93464.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_gleason_93464.json deleted file mode 100644 index cafba47f7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/combined_gleason_93464.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "combined_gleason_93464", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Combined Gleason", - "title" : "Combined Gleason", - "description" : "Selects the correct Gleason Score (SSF 8 or SSF 10) for Combined Stage Group calculation.", - "last_modified" : "2018-05-14T21:29:03.723Z", - "definition" : [ { - "key" : "source_t", - "name" : "Source T", - "type" : "INPUT" - }, { - "key" : "combined_gleason", - "name" : "Combined Gleason", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "ssf8", "ssf10" ], - "rows" : [ [ "1", "VALUE:{{ssf8}}" ], [ "2", "VALUE:{{ssf10}}" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/combined_m.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_m.json deleted file mode 100644 index 6170a4441..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/combined_m.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "combined_m", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Combined M", - "title" : "Combined M", - "notes" : "Using clinical and pathologic M, calculate Combined M and Summary Stage M.", - "last_modified" : "2018-05-14T21:29:02.472Z", - "definition" : [ { - "key" : "clin_m_in", - "name" : "Clinical M", - "type" : "INPUT" - }, { - "key" : "path_m_in", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "combined_m_in", - "name" : "Combined M (Input)", - "type" : "INPUT" - }, { - "key" : "combined_m_out", - "name" : "Combined M", - "type" : "ENDPOINT" - }, { - "key" : "source_m_out", - "name" : "Combined M Source", - "type" : "ENDPOINT" - }, { - "key" : "tmp_source_m", - "name" : "True Source M", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "path_m_in", "combined_m_in", "clin_m_in", "source_m" ], - "rows" : [ [ "*", "*", "0,0I+,1,1A,1B,1C,1D,1E,88", "VALUE:{{combined_m_in}}", "MATCH", "VALUE:{{source_m}}" ], [ "88", "88", "", "VALUE:88", "VALUE:9", "VALUE:9" ], [ "88", "*", "", "VALUE:{{path_m_in}}", "VALUE:2", "VALUE:2" ], [ "*", "88", "", "VALUE:{{clin_m_in}}", "VALUE:1", "VALUE:1" ], [ "*", "0", "", "VALUE:{{clin_m_in}}", "VALUE:1", "VALUE:1" ], [ "0", "0I+", "", "VALUE:{{path_m_in}}", "VALUE:1", "VALUE:2" ], [ "0I+,1,1A,1B,1C,1D,1E", "0I+", "", "VALUE:{{clin_m_in}}", "VALUE:1", "VALUE:1" ], [ "0,0I+,1", "1", "", "VALUE:{{path_m_in}}", "VALUE:2", "VALUE:2" ], [ "1A,1B,1C,1D,1E", "1", "", "VALUE:{{clin_m_in}}", "VALUE:2", "VALUE:1" ], [ "0,0I+,1,1A", "1A", "", "VALUE:{{path_m_in}}", "VALUE:2", "VALUE:2" ], [ "1B,1C,1D,1E", "1A", "", "VALUE:{{clin_m_in}}", "VALUE:2", "VALUE:1" ], [ "0,0I+,1,1A,1B", "1B", "", "VALUE:{{path_m_in}}", "VALUE:2", "VALUE:2" ], [ "1C,1D,1E", "1B", "", "VALUE:{{clin_m_in}}", "VALUE:2", "VALUE:1" ], [ "0,0I+,1,1A,1B,1C", "1C", "", "VALUE:{{path_m_in}}", "VALUE:2", "VALUE:2" ], [ "1D,1E", "1C", "", "VALUE:{{clin_m_in}}", "VALUE:2", "VALUE:1" ], [ "0,0I+,1,1A,1B,1C,1D", "1D", "", "VALUE:{{path_m_in}}", "VALUE:2", "VALUE:2" ], [ "1E", "1D", "", "VALUE:{{clin_m_in}}", "VALUE:2", "VALUE:1" ], [ "*", "1E", "", "VALUE:{{path_m_in}}", "VALUE:2", "VALUE:2" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/combined_n.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_n.json deleted file mode 100644 index 45a307bda..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/combined_n.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id" : "combined_n", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Combined N", - "title" : "Combined N", - "notes" : "Using clinical and pathologic N, calculate Combined N and Summary Stage N.", - "last_modified" : "2022-02-28T19:57:34.942Z", - "definition" : [ { - "key" : "radiation_surg_seq", - "name" : "RX Summ Surgery/Radiation Sequence", - "type" : "INPUT" - }, { - "key" : "systemic_surg_seq", - "name" : "RX Summ Systemic/Surgery Sequence", - "type" : "INPUT" - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "clin_n_in", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "path_n_in", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "combined_n_in", - "name" : "Combined N (input)", - "type" : "INPUT" - }, { - "key" : "combined_n_out", - "name" : "Combined N", - "type" : "ENDPOINT" - }, { - "key" : "source_n_out", - "name" : "Combined N Source", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "clin_n_in", "combined_n_in", "path_n_in" ], - "rows" : [ [ "*", "*", "*", "*", "*", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4,X,88", "VALUE:{{combined_n_in}}", "MATCH" ], [ "*", "*", "*", "88", "88", "", "VALUE:88", "VALUE:9" ], [ "*", "*", "*", "88", "*", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "*", "*", "*", "88", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "*", "00", "X", "X", "", "VALUE:0", "VALUE:1" ], [ "2,4,7", "*", "01-90,95,97", "X", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "01-90,95,97", "X", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "01-90,95,97", "X", "X", "", "ERROR: Review Clin N and Path N. RN Pos = 01-97", "VALUE:" ], [ "*", "*", "98", "X", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "*", "99", "X", "X", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "X", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0", "0I-", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0I-", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-", "0I+", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0I+", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+", "0M-", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0M-", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-", "0M+", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0M+", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+", "0A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A", "0B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B", "1", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1", "1MI", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1MI", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI", "1A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A", "1B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B", "1C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1C,2,2A,2B,2C,3,3A,3B,3C,4", "1C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C", "2", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "2,2A,2B,2C,3,3A,3B,3C,4", "2", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2", "2A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "2A,2B,2C,3,3A,3B,3C,4", "2A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A", "2B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "2B,2C,3,3A,3B,3C,4", "2B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B", "2C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "2C,3,3A,3B,3C,4", "2C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C", "3", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "3,3A,3B,3C,4", "3", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3", "3A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "3A,3B,3C,4", "3A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A", "3B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "3B,3C,4", "3B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B", "3C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "3C,4", "3C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C", "4", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "4", "4", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "98", "X", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "ERROR: RN Pos = 98, Path N should be blank", "VALUE:" ], [ "2,4,7", "*", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "ERROR: RN Pos = 98, Path N should be blank", "VALUE:" ], [ "*", "2,4,7", "00-90,95,97,99", "X", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0", "0I-", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0I-", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-", "0I+", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0I+", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+", "0M-", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0M-", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-", "0M+", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0M+", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+", "0A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A", "0B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B", "1", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1", "1MI", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1MI", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI", "1A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A", "1B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B", "1C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1C,2,2A,2B,2C,3,3A,3B,3C,4", "1C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C", "2", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "2,2A,2B,2C,3,3A,3B,3C,4", "2", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2", "2A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "2A,2B,2C,3,3A,3B,3C,4", "2A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A", "2B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "2B,2C,3,3A,3B,3C,4", "2B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B", "2C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "2C,3,3A,3B,3C,4", "2C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C", "3", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "3,3A,3B,3C,4", "3", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3", "3A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "3A,3B,3C,4", "3A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A", "3B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "3B,3C,4", "3B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B", "3C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "3C,4", "3C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C", "4", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "4", "4", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "98", "X", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "ERROR: RN Pos = 98, Path N should be blank", "VALUE:" ], [ "*", "2,4,7", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "ERROR: RN Pos = 98, Path N should be blank", "VALUE:" ], [ "0,3,5,6,9", "0,3,5,6,9", "*", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4,X", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "00-90,95,97,99", "X", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{path_n_in}}", "VALUE:2" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/combined_n_for_tis_cancers_4947.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_n_for_tis_cancers_4947.json deleted file mode 100644 index 5b8931ed7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/combined_n_for_tis_cancers_4947.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id" : "combined_n_for_tis_cancers_4947", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Combined N for Tis Cancers", - "title" : "Combined N", - "notes" : "Using clinical and pathologic N, calculate Combined N and Summary Stage N.", - "last_modified" : "2022-02-28T19:48:45.056Z", - "definition" : [ { - "key" : "radiation_surg_seq", - "name" : "RX Summ Surgery/Radiation Sequence", - "type" : "INPUT" - }, { - "key" : "systemic_surg_seq", - "name" : "RX Summ Systemic/Surgery Sequence", - "type" : "INPUT" - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "clin_n_in", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "path_n_in", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "combined_n_in", - "name" : "Combined N (input)", - "type" : "INPUT" - }, { - "key" : "combined_n_out", - "name" : "Combined N", - "type" : "ENDPOINT" - }, { - "key" : "source_n_out", - "name" : "Combined N Source", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "clin_n_in", "combined_n_in", "path_n_in" ], - "rows" : [ [ "*", "*", "*", "*", "*", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4,X,88", "VALUE:{{combined_n_in}}", "MATCH" ], [ "*", "*", "*", "88", "88", "", "VALUE:88", "VALUE:9" ], [ "*", "*", "*", "88", "*", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "*", "*", "*", "88", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "*", "00", "X", "X", "", "VALUE:0", "VALUE:1" ], [ "2,4,7", "*", "01-90,95,97", "X", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "01-90,95,97", "X", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "01-90,95,97", "X", "X", "", "ERROR: Review Clin N and Path N. RN Pos = 01-97", "VALUE:" ], [ "*", "*", "98", "X", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "*", "99", "X", "X", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "X", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0", "0I-", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0I-", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-", "0I+", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0I+", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+", "0M-", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0M-", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-", "0M+", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0M+", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+", "0A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A", "0B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B", "1", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1", "1MI", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1MI", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI", "1A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A", "1B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B", "1C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1C,2,2A,2B,2C,3,3A,3B,3C,4", "1C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C", "2", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "2,2A,2B,2C,3,3A,3B,3C,4", "2", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2", "2A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "2A,2B,2C,3,3A,3B,3C,4", "2A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A", "2B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "2B,2C,3,3A,3B,3C,4", "2B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B", "2C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "2C,3,3A,3B,3C,4", "2C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C", "3", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "3,3A,3B,3C,4", "3", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3", "3A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "3A,3B,3C,4", "3A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A", "3B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "3B,3C,4", "3B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B", "3C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "3C,4", "3C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C", "4", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "4", "4", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "98", "X", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "98", "X", "0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "ERROR:RN Pos = 98, Path N should be blank or c0", "VALUE:" ], [ "2,4,7", "*", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "ERROR:RN Pos = 98, Path N should be blank or c0", "VALUE:" ], [ "*", "2,4,7", "00-90,95,97,99", "X", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0", "0I-", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0I-", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-", "0I+", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0I+", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+", "0M-", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0M-", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-", "0M+", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0M+", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+", "0A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A", "0B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B", "1", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1", "1MI", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1MI", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI", "1A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A", "1B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B", "1C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1C,2,2A,2B,2C,3,3A,3B,3C,4", "1C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C", "2", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "2,2A,2B,2C,3,3A,3B,3C,4", "2", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2", "2A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "2A,2B,2C,3,3A,3B,3C,4", "2A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A", "2B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "2B,2C,3,3A,3B,3C,4", "2B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B", "2C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "2C,3,3A,3B,3C,4", "2C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C", "3", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "3,3A,3B,3C,4", "3", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3", "3A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "3A,3B,3C,4", "3A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A", "3B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "3B,3C,4", "3B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B", "3C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "3C,4", "3C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C", "4", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "4", "4", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "98", "X", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "98", "X", "0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "ERROR:RN Pos = 98, Path N should be blank or c0", "VALUE:" ], [ "*", "2,4,7", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "ERROR:RN Pos = 98, Path N should be blank or c0", "VALUE:" ], [ "0,3,5,6,9", "0,3,5,6,9", "*", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4,X", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "00-90,95,97,99", "X", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{path_n_in}}", "VALUE:2" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/combined_n_lung.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_n_lung.json deleted file mode 100644 index 9ae7ac2ec..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/combined_n_lung.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id" : "combined_n_lung", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Combined N Lung", - "title" : "Combined N Lung", - "notes" : "For Lung schema, which has a special case, using clinical and pathologic N, calculate Combined N and Summary Stage N.", - "last_modified" : "2022-02-28T19:51:36.969Z", - "definition" : [ { - "key" : "radiation_surg_seq", - "name" : "RX Summ Surgery/Radiation Sequence", - "type" : "INPUT" - }, { - "key" : "systemic_surg_seq", - "name" : "RX Summ Systemic/Surgery Sequence", - "type" : "INPUT" - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "clin_n_in", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "path_n_in", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "combined_n_in", - "name" : "Combined N (input)", - "type" : "INPUT" - }, { - "key" : "combined_n_out", - "name" : "Combined N", - "type" : "ENDPOINT" - }, { - "key" : "source_n_out", - "name" : "Combined N Source", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "clin_n_in", "combined_n_in", "path_n_in" ], - "rows" : [ [ "*", "*", "*", "*", "*", "0,1,2,3,X,88", "VALUE:{{combined_n_in}}", "MATCH" ], [ "*", "*", "*", "88", "88", "", "VALUE:88", "VALUE:9" ], [ "*", "*", "*", "88", "*", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "*", "*", "*", "88", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "*", "00", "X", "X", "", "VALUE:0", "VALUE:1" ], [ "2,4,7", "*", "01-90,95,97", "X", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "01-90,95,97", "X", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "01-90,95,97", "X", "X", "", "ERROR: Review Clin N and Path N. RN Pos = 01-97", "VALUE:" ], [ "*", "*", "98", "X", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "*", "99", "X", "X", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "X", "0,1,2,3", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,1,2,3", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,1,2,3", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0", "1", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1,2,3", "1", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,1", "2", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "2,3", "2", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,1,2", "3", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "3", "3", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "98", "X", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "98", "X", "1,2,3", "", "ERROR:RN Pos = 98, Path N should be blank or c0", "VALUE:" ], [ "2,4,7", "*", "98", "0,1,2,3", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "98", "0,1,2,3", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "98", "0,1,2,3", "1,2,3", "", "ERROR:RN Pos = 98, Path N should be blank or c0", "VALUE:" ], [ "*", "2,4,7", "00-90,95,97,99", "X", "0,1,2,3", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,1,2,3", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,1,2,3", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0", "1", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1,2,3", "1", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,1", "2", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "2,3", "2", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,1,2", "3", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "3", "3", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "98", "X", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "98", "X", "1,2,3", "", "ERROR:RN Pos = 98, Path N should be blank or c0", "VALUE:" ], [ "*", "2,4,7", "98", "0,1,2,3", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "98", "0,1,2,3", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "98", "0,1,2,3", "1,2,3", "", "ERROR:RN Pos = 98, Path N should be blank or c0", "VALUE:" ], [ "0,3,5,6,9", "0,3,5,6,9", "*", "0,1,2,3", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "98", "*", "0,1,2,3", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "00-90,95,97,99", "X", "0,1,2,3", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "00-90,95,97,99", "0,1", "0,1,2,3", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "00-90,95,97,99", "2", "0,1", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "00-90,95,97,99", "2", "2,3", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "00-90,95,97,99", "3", "0,1,2", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "00-90,95,97,99", "3", "3", "", "VALUE:{{path_n_in}}", "VALUE:2" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/combined_n_no_tis_path_n_cn0_allowed_73884.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_n_no_tis_path_n_cn0_allowed_73884.json deleted file mode 100644 index 00472e1de..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/combined_n_no_tis_path_n_cn0_allowed_73884.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id" : "combined_n_no_tis_path_n_cn0_allowed_73884", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Combined N No Tis, Path N=cN0 allowed", - "title" : "Combined N", - "notes" : "Using clinical and pathologic N, calculate Combined N and Summary Stage N.\nFor selected schemas where Tis is not defined, but Path N is allowed to be cN0.", - "last_modified" : "2022-02-28T19:53:34.643Z", - "definition" : [ { - "key" : "radiation_surg_seq", - "name" : "RX Summ Surgery/Radiation Sequence", - "type" : "INPUT" - }, { - "key" : "systemic_surg_seq", - "name" : "RX Summ Systemic/Surgery Sequence", - "type" : "INPUT" - }, { - "key" : "nodes_pos", - "name" : "Regional Nodes Positive", - "type" : "INPUT" - }, { - "key" : "clin_n_in", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "path_n_in", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "combined_n_in", - "name" : "Combined N (input)", - "type" : "INPUT" - }, { - "key" : "combined_n_out", - "name" : "Combined N", - "type" : "ENDPOINT" - }, { - "key" : "source_n_out", - "name" : "Combined N Source", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "clin_n_in", "combined_n_in", "path_n_in" ], - "rows" : [ [ "*", "*", "*", "*", "*", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4,X,88", "VALUE:{{combined_n_in}}", "MATCH" ], [ "*", "*", "*", "88", "88", "", "VALUE:88", "VALUE:9" ], [ "*", "*", "*", "88", "*", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "*", "*", "*", "88", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "*", "00", "X", "X", "", "VALUE:0", "VALUE:1" ], [ "2,4,7", "*", "01-90,95,97", "X", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "01-90,95,97", "X", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "01-90,95,97", "X", "X", "", "ERROR: Review Clin N and Path N. RN Pos = 01-97", "VALUE:" ], [ "*", "*", "98", "X", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "*", "99", "X", "X", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "X", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0", "0I-", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0I-", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-", "0I+", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0I+", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+", "0M-", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0M-", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-", "0M+", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0M+", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+", "0A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A", "0B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B", "1", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1", "1MI", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1MI", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI", "1A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A", "1B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B", "1C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "1C,2,2A,2B,2C,3,3A,3B,3C,4", "1C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C", "2", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "2,2A,2B,2C,3,3A,3B,3C,4", "2", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2", "2A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "2A,2B,2C,3,3A,3B,3C,4", "2A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A", "2B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "2B,2C,3,3A,3B,3C,4", "2B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B", "2C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "2C,3,3A,3B,3C,4", "2C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C", "3", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "3,3A,3B,3C,4", "3", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3", "3A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "3A,3B,3C,4", "3A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A", "3B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "3B,3C,4", "3B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B", "3C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "3C,4", "3C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C", "4", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "2,4,7", "*", "00-90,95,97,99", "4", "4", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4,X", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "2,4,7", "*", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4,X", "0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "ERROR:RN Pos = 98, Path N should be blank or c0", "VALUE:" ], [ "2,4,7", "*", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "X", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0", "0I-", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0I-", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-", "0I+", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0I+", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+", "0M-", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0M-", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-", "0M+", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0M+", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+", "0A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A", "0B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B", "1", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1", "1MI", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1MI", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI", "1A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A", "1B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "1B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B", "1C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "1C,2,2A,2B,2C,3,3A,3B,3C,4", "1C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C", "2", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "2,2A,2B,2C,3,3A,3B,3C,4", "2", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2", "2A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "2A,2B,2C,3,3A,3B,3C,4", "2A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A", "2B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "2B,2C,3,3A,3B,3C,4", "2B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B", "2C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "2C,3,3A,3B,3C,4", "2C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C", "3", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "3,3A,3B,3C,4", "3", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3", "3A", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "3A,3B,3C,4", "3A", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A", "3B", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "3B,3C,4", "3B", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B", "3C", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "3C,4", "3C", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C", "4", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "*", "2,4,7", "00-90,95,97,99", "4", "4", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4,X", "0", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "*", "2,4,7", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4,X", "0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "ERROR:RN Pos = 98, Path N should be blank or c0", "VALUE:" ], [ "*", "2,4,7", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "*", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "X", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "98", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4,X", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "00-90,95,97,99", "X", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "00-90,95,97,99", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{path_n_in}}", "VALUE:2" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/combined_stage_group_for_lymphoma_19552.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_stage_group_for_lymphoma_19552.json deleted file mode 100644 index 845958fa5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/combined_stage_group_for_lymphoma_19552.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "combined_stage_group_for_lymphoma_19552", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Combined Stage Group for Lymphoma", - "title" : "Combined Stage Group for Lymphoma", - "description" : "Based on the Derived Clin Stage Group and Derived Path Stage Group, selected the most aggressive stage group.", - "last_modified" : "2018-05-14T21:29:06.775Z", - "definition" : [ { - "key" : "clin_stage_group_in", - "name" : "Derived Clin Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_in", - "name" : "Derived Path Stage", - "type" : "INPUT" - }, { - "key" : "combined_stage_group", - "name" : "Combined Stage Group", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "clin_stage_group_in", "path_stage_group_in" ], - "rows" : [ [ "1", "99", "VALUE:{{clin_stage_group_in}}" ], [ "1", "1,1A,1B,2,2A,2B,3,3A,3B,4,4A,4B", "VALUE:{{path_stage_group_in}}" ], [ "1A", "1,99", "VALUE:{{clin_stage_group_in}}" ], [ "1A", "1A,1B,2,2A,2B,3,3A,3B,4,4A,4B", "VALUE:{{path_stage_group_in}}" ], [ "1B", "1,1A,99", "VALUE:{{clin_stage_group_in}}" ], [ "1B", "1B,2,2A,2B,3,3A,3B,4,4A,4B", "VALUE:{{path_stage_group_in}}" ], [ "2", "1,1A,1B,99", "VALUE:{{clin_stage_group_in}}" ], [ "2", "2,2A,2B,3,3A,3B,4,4A,4B", "VALUE:{{path_stage_group_in}}" ], [ "2A", "1,1A,1B,2,99", "VALUE:{{clin_stage_group_in}}" ], [ "2A", "2A,2B,3,3A,3B,4,4A,4B", "VALUE:{{path_stage_group_in}}" ], [ "2B", "1,1A,1B,2,2A,99", "VALUE:{{clin_stage_group_in}}" ], [ "2B", "2B,3,3A,3B,4,4A,4B", "VALUE:{{path_stage_group_in}}" ], [ "3", "1,1A,1B,2,2A,2B,99", "VALUE:{{clin_stage_group_in}}" ], [ "3", "3,3A,3B,4,4A,4B", "VALUE:{{path_stage_group_in}}" ], [ "3A", "1,1A,1B,2,2A,2B,3,99", "VALUE:{{clin_stage_group_in}}" ], [ "3A", "3A,3B,4,4A,4B", "VALUE:{{path_stage_group_in}}" ], [ "3B", "1,1A,1B,2,2A,2B,3,3A,99", "VALUE:{{clin_stage_group_in}}" ], [ "3B", "3B,4,4A,4B", "VALUE:{{path_stage_group_in}}" ], [ "4", "1,1A,1B,2,2A,2B,3,3A,3B,99", "VALUE:{{clin_stage_group_in}}" ], [ "4", "4,4A,4B", "VALUE:{{path_stage_group_in}}" ], [ "4A", "1,1A,1B,2,2A,2B,3,3A,3B,4,99", "VALUE:{{clin_stage_group_in}}" ], [ "4A", "4A,4B", "VALUE:{{path_stage_group_in}}" ], [ "4B", "1,1A,1B,2,2A,2B,3,3A,3B,4,4A,99", "VALUE:{{clin_stage_group_in}}" ], [ "4B", "4B", "VALUE:{{path_stage_group_in}}" ], [ "88", "1,1A,1B,2,2A,2B,3,3A,3B,4,4A,4B,99", "VALUE:{{path_stage_group_in}}" ], [ "1,1A,1B,2,2A,2B,3,3A,3B,4,4A,4B,99", "88", "VALUE:{{clin_stage_group_in}}" ], [ "88", "88", "VALUE:{{clin_stage_group_in}}" ], [ "99", "1,1A,1B,2,2A,2B,3,3A,3B,4,4A,4B", "VALUE:{{path_stage_group_in}}" ], [ "99", "99", "VALUE:{{clin_stage_group_in}}" ], [ "", "1,1A,1B,2,2A,2B,3,3A,3B,4,4A,4B,99", "VALUE:{{path_stage_group_in}}" ], [ "1,1A,1B,2,2A,2B,3,3A,3B,4,4A,4B,99", "", "VALUE:{{clin_stage_group_in}}" ], [ "", "", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/combined_t.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_t.json deleted file mode 100644 index 4172bd106..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/combined_t.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id" : "combined_t", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Combined T", - "title" : "Combined T", - "notes" : "Using clinical and pathologic T, calculate Combined T and Summary Stage T.", - "last_modified" : "2022-02-28T19:56:41.120Z", - "definition" : [ { - "key" : "behavior", - "name" : "Behavior Code ICD-O-3", - "type" : "INPUT" - }, { - "key" : "radiation_surg_seq", - "name" : "RX Summ Surgery/Radiation Sequence", - "type" : "INPUT" - }, { - "key" : "systemic_surg_seq", - "name" : "RX Summ Systemic/Surgery Sequence", - "type" : "INPUT" - }, { - "key" : "clin_t_in", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "path_t_in", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "combined_t_in", - "name" : "Combined T (input)", - "type" : "INPUT" - }, { - "key" : "combined_t_out", - "name" : "Combined T", - "type" : "ENDPOINT" - }, { - "key" : "source_t_out", - "name" : "Combined T Source", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "path_t_in", "combined_t_in", "clin_t_in" ], - "rows" : [ [ "*", "*", "*", "*", "*", "0,A,IS,ISPU,ISPD,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E,X,88", "VALUE:{{combined_t_in}}", "MATCH" ], [ "*", "*", "*", "88", "88", "", "VALUE:88", "VALUE:9" ], [ "*", "*", "*", "88", "*", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "*", "*", "*", "88", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "*", "X", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "*", "0", "0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "*", "X", "0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "0", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "0", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "0", "X", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "*", "A,IS,ISPU,ISPD", "A,IS,ISPU,ISPD", "", "ERROR: Must have value other than Ta, Tis, Tispu, Tispd", "VALUE:" ], [ "3", "*", "*", "A,IS,ISPU,ISPD", "0,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E,X", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "*", "0,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E,X", "A,IS,ISPU,ISPD", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "2,4,7", "*", "0,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E,X", "0,A,IS,ISPU,ISPD,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E,X", "", "ERROR: Clin T must be Ta, Tis, Tispu, Tispd", "VALUE:" ], [ "2", "2,4,7", "*", "A,IS,ISPU,ISPD", "0,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E,X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "2,4,7", "*", "A,IS,ISPU,ISPD", "A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "2,4,7", "*", "A", "IS", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2", "2,4,7", "*", "IS,ISPU,ISPD", "IS", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "2,4,7", "*", "A,IS", "ISPU", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2", "2,4,7", "*", "ISPU,ISPD", "ISPU", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "2,4,7", "*", "A,IS,ISPU", "ISPD", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2", "2,4,7", "*", "ISPD", "ISPD", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "*", "2,4,7", "0,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E,X", "0,A,IS,ISPU,ISPD,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E,X", "", "ERROR: Clin T must be Ta, Tis, Tispu, Tispd", "VALUE:" ], [ "2", "*", "2,4,7", "A,IS,ISPU,ISPD", "0,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E,X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "*", "2,4,7", "A,IS,ISPU,ISPD", "A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "*", "2,4,7", "A", "IS", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2", "*", "2,4,7", "IS,ISPU,ISPD", "IS", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "*", "2,4,7", "A,IS", "ISPU", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2", "*", "2,4,7", "ISPU,ISPD", "ISPU", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "*", "2,4,7", "A,IS,ISPU", "ISPD", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2", "*", "2,4,7", "ISPD", "ISPD", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "0,3,5,6,9", "0,3,5,6,9", "0,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E,X", "0,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E,X", "", "ERROR: Must have Ta, Tis, Tispu, Tispd value", "VALUE:" ], [ "2", "0,3,5,6,9", "0,3,5,6,9", "A,IS,ISPU,ISPD", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "0,3,5,6,9", "0,3,5,6,9", "X,0", "A,IS,ISPU,ISPD", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2", "0,3,5,6,9", "0,3,5,6,9", "A,IS,ISPU,ISPD", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "A,IS,ISPU,ISPD", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2", "0,3,5,6,9", "0,3,5,6,9", "A,IS,ISPU,ISPD", "A,ISPU,ISPD", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2", "0,3,5,6,9", "0,3,5,6,9", "A,IS", "IS", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2", "0,3,5,6,9", "0,3,5,6,9", "ISPU,ISPD", "IS", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "X,0", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1", "1MI", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1MI", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI", "1A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A", "1A1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1", "1A2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2", "1B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B", "1B1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1", "1B2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2", "1C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C", "1D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2", "2A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A", "2A1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1", "2A2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2", "2B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B", "2C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C", "2D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D", "3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3", "3A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "3A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A", "3B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "3B,3C,3D,4,4A,4B,4C,4D,4E", "3B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B", "3C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "3C,3D,4,4A,4B,4C,4D,4E", "3C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C", "3D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "3D,4,4A,4B,4C,4D,4E", "3D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "4,4A,4B,4C,4D,4E", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4", "4A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "4A,4B,4C,4D,4E", "4A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A", "4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "4B,4C,4D,4E", "4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B", "4C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "4C,4D,4E", "4C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C", "4D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "4D,4E", "4D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D", "4E", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "4E", "4E", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "X,0", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1", "1MI", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1MI", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI", "1A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A", "1A1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1", "1A2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2", "1B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B", "1B1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1", "1B2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2", "1C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C", "1D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2", "2A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A", "2A1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1", "2A2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2", "2B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B", "2C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C", "2D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D", "3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3", "3A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "3A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A", "3B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "3B,3C,3D,4,4A,4B,4C,4D,4E", "3B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B", "3C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "3C,3D,4,4A,4B,4C,4D,4E", "3C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C", "3D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "3D,4,4A,4B,4C,4D,4E", "3D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "4,4A,4B,4C,4D,4E", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4", "4A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "4A,4B,4C,4D,4E", "4A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A", "4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "4B,4C,4D,4E", "4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B", "4C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "4C,4D,4E", "4C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C", "4D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "4D,4E", "4D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D", "4E", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "4E", "4E", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "X,0", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1MI", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1A1,1A2", "1A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A1,1A2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1B1,1B2", "1B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B1,1B2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1C,1D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "2A,2A1,2A2,2B,2C,2D", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "2A1,2A2", "2A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A1,2A2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2B,2C,2D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "3A,3B,3C,3D", "3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,4,4A,4B,4C,4D,4E", "3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "3A,3B,3C,3D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "4A,4B,4C,4D,4E", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "4A,4B,4C,4D,4E", "", "VALUE:{{path_t_in}}", "VALUE:2" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/combined_t_breast.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_t_breast.json deleted file mode 100644 index 096e08994..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/combined_t_breast.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id" : "combined_t_breast", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Combined T Breast", - "title" : "Combined T for Breast", - "notes" : "For Breast, which has a special case, using clinical and pathologic T, calculate Combined T and Summary Stage T. The Tis rules do not apply to Breast", - "last_modified" : "2022-02-28T19:47:41.431Z", - "definition" : [ { - "key" : "radiation_surg_seq", - "name" : "RX Summ Surgery/Radiation Sequence", - "type" : "INPUT" - }, { - "key" : "systemic_surg_seq", - "name" : "RX Summ Systemic/Surgery Sequence", - "type" : "INPUT" - }, { - "key" : "clin_t_in", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "path_t_in", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "combined_t_in", - "name" : "Combined T (input)", - "type" : "INPUT" - }, { - "key" : "combined_t_out", - "name" : "Combined T", - "type" : "ENDPOINT" - }, { - "key" : "source_t_out", - "name" : "Combined T Source", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "path_t_in", "combined_t_in", "clin_t_in" ], - "rows" : [ [ "*", "*", "*", "*", "0,IS,1,1MI,1A,1B,1C,2,3,4,4A,4B,4C,4D,X,88", "VALUE:{{combined_t_in}}", "MATCH" ], [ "*", "*", "88", "88", "", "VALUE:88", "VALUE:9" ], [ "*", "*", "88", "*", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "*", "*", "88", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "*", "X", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "*", "0", "0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "*", "X", "0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "0", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "0", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "0", "X", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "X,0", "IS,1,1MI,1A,1B,1C,2,3,4,4A,4B,4C,4D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,1MI,1A,1B,1C,2,3,4,4A,4B,4C,4D", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,1MI,1A,1B,1C,2,3,4,4A,4B,4C,4D", "IS", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS", "1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "1,1MI,1A,1B,1C,2,3,4,4A,4B,4C,4D", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1", "1MI", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "1MI,1A,1B,1C,2,3,4,4A,4B,4C,4D", "1MI", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,1MI", "1A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "1A,1B,1C,2,3,4,4A,4B,4C,4D", "1A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,1MI,1A", "1B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "1B,1C,2,3,4,4A,4B,4C,4D", "1B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,1MI,1A,1B", "1C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "1C,2,3,4,4A,4B,4C,4D", "1C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,1MI,1A,1B,1C", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "2,3,4,4A,4B,4C,4D", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,1MI,1A,1B,1C,2", "3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "3,4,4A,4B,4C,4D", "3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,1MI,1A,1B,1C,2,3", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4,4A,4B,4C,4D", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,1MI,1A,1B,1C,2,3,4", "4A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4A,4B,4C,4D", "4A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,1MI,1A,1B,1C,2,3,4,4A", "4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4B,4C,4D", "4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,1MI,1A,1B,1C,2,3,4,4A,4B", "4C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4C,4D", "4C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,1MI,1A,1B,1C,2,3,4,4A,4B,4C", "4D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4D", "4D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "X,0", "IS,1,1MI,1A,1B,1C,2,3,4,4A,4B,4C,4D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,1MI,1A,1B,1C,2,3,4,4A,4B,4C,4D", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,1MI,1A,1B,1C,2,3,4,4A,4B,4C,4D", "IS", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS", "1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "1,1MI,1A,1B,1C,2,3,4,4A,4B,4C,4D", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1", "1MI", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "1MI,1A,1B,1C,2,3,4,4A,4B,4C,4D", "1MI", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,1MI", "1A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "1A,1B,1C,2,3,4,4A,4B,4C,4D", "1A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,1MI,1A", "1B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "1B,1C,2,3,4,4A,4B,4C,4D", "1B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,1MI,1A,1B", "1C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "1C,2,3,4,4A,4B,4C,4D", "1C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,1MI,1A,1B,1C", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "2,3,4,4A,4B,4C,4D", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,1MI,1A,1B,1C,2", "3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "3,4,4A,4B,4C,4D", "3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,1MI,1A,1B,1C,2,3", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4,4A,4B,4C,4D", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,1MI,1A,1B,1C,2,3,4", "4A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4A,4B,4C,4D", "4A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,1MI,1A,1B,1C,2,3,4,4A", "4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4B,4C,4D", "4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,1MI,1A,1B,1C,2,3,4,4A,4B", "4C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4C,4D", "4C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,1MI,1A,1B,1C,2,3,4,4A,4B,4C", "4D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4D", "4D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "IS,1,1MI,1A,1B,1C,2,3,4,4A,4B,4C,4D", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "X,0", "IS,1,1MI,1A,1B,1C,2,3,4,4A,4B,4C,4D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "IS,1,1MI,1A,1B,1C,2,3", "IS", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "1MI,1A,1B,1C", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "IS,1,2,3", "1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "IS,1,1MI,1A,1B,1C,2,3", "1MI,1A,1B,1C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "IS,1,1MI,1A,1B,1C,2,3", "2,3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "IS,1,1MI,1A,1B,1C,2,3,4", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "4A,4B,4C,4D", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "4", "IS,1,1MI,1A,1B,1C,2,3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "IS,1,1MI,1A,1B,1C,2,3,4,4A", "4A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "4B", "4A", "", "VALUE:4C", "VALUE:3" ], [ "0,3,5,6,9", "0,3,5,6,9", "4C,4D", "4A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "4A", "IS,1,1MI,1A,1B,1C,2,3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "IS,1,1MI,1A,1B,1C,2,3,4,4B", "4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "4A", "4B", "", "VALUE:4C", "VALUE:3" ], [ "0,3,5,6,9", "0,3,5,6,9", "4C,4D", "4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "4B", "IS,1,1MI,1A,1B,1C,2,3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "IS,1,1MI,1A,1B,1C,2,3,4,4A,4B,4C", "4C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "4D", "4C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "4C", "IS,1,1MI,1A,1B,1C,2,3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "IS,1,1MI,1A,1B,1C,2,3,4,4A,4B,4C,4D", "4D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "4D", "IS,1,1MI,1A,1B,1C,2,3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/combined_t_colon.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_t_colon.json deleted file mode 100644 index b1a4a8a89..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/combined_t_colon.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id" : "combined_t_colon", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Combined T Colon/Rectum", - "title" : "Combined T for Colon/Rectum", - "notes" : "For Colon and Rectum, using clinical and pathologic T, calculate Combined T and Summary Stage T. The Tis rules do not apply to Colon or Rectum.", - "last_modified" : "2022-02-28T19:49:48.305Z", - "definition" : [ { - "key" : "radiation_surg_seq", - "name" : "RX Summ Surgery/Radiation Sequence", - "type" : "INPUT" - }, { - "key" : "systemic_surg_seq", - "name" : "RX Summ Systemic/Surgery Sequence", - "type" : "INPUT" - }, { - "key" : "clin_t_in", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "path_t_in", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "combined_t_in", - "name" : "Combined T (input)", - "type" : "INPUT" - }, { - "key" : "combined_t_out", - "name" : "Combined T", - "type" : "ENDPOINT" - }, { - "key" : "source_t_out", - "name" : "Combined T Source", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "path_t_in", "combined_t_in", "clin_t_in" ], - "rows" : [ [ "*", "*", "*", "*", "0,IS,1,2,3,4,4A,4B,X,88", "VALUE:{{combined_t_in}}", "MATCH" ], [ "*", "*", "88", "88", "", "VALUE:88", "VALUE:9" ], [ "*", "*", "88", "*", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "*", "*", "88", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "*", "X", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "*", "0", "0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "*", "X", "0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "0", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "0", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "0", "X", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "X,0", "IS,1,2,3,4,4A,4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,2,3,4,4A,4B", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,2,3,4,4A,4B", "IS", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS", "1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "1,2,3,4,4A,4B", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "2,3,4,4A,4B", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,2", "3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "3,4,4A,4B", "3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,2,3", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4,4A,4B", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,2,3,4", "4A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4A,4B", "4A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "IS,1,2,3,4,4A", "4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4B", "4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "X,0", "IS,1,2,3,4,4A,4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,2,3,4,4A,4B", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,2,3,4,4A,4B", "IS", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS", "1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "1,2,3,4,4A,4B", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "2,3,4,4A,4B", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,2", "3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "3,4,4A,4B", "3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,2,3", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4,4A,4B", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,2,3,4", "4A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4A,4B", "4A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "IS,1,2,3,4,4A", "4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4B", "4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "IS,1,2,3,4,4A,4B", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "X,0", "IS,1,2,3,4,4A,4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "IS,1,2,3,4,4A,4B", "IS,1,2,3,4,4A,4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/combined_t_lung.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_t_lung.json deleted file mode 100644 index 1d2c20022..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/combined_t_lung.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id" : "combined_t_lung", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Combined T Lung", - "title" : "Combined T Lung", - "notes" : "For Lung, which has a special case, using clinical and pathologic T, calculate Combined T and Summary Stage T.", - "last_modified" : "2022-02-28T19:51:02.773Z", - "definition" : [ { - "key" : "behavior", - "name" : "Behavior Code ICD-O-3", - "type" : "INPUT" - }, { - "key" : "radiation_surg_seq", - "name" : "RX Summ Surgery/Radiation Sequence", - "type" : "INPUT" - }, { - "key" : "systemic_surg_seq", - "name" : "RX Summ Systemic/Surgery Sequence", - "type" : "INPUT" - }, { - "key" : "clin_t_in", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "path_t_in", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "combined_t_in", - "name" : "Combined T (input)", - "type" : "INPUT" - }, { - "key" : "combined_t_out", - "name" : "Combined T", - "type" : "ENDPOINT" - }, { - "key" : "source_t_out", - "name" : "Combined T Source", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "path_t_in", "combined_t_in", "clin_t_in" ], - "rows" : [ [ "*", "*", "*", "*", "*", "0,IS,1,1A,1B,2,2A,2B,3,4,X,88", "VALUE:{{combined_t_in}}", "MATCH" ], [ "*", "*", "*", "88", "88", "", "VALUE:88", "VALUE:9" ], [ "*", "*", "*", "88", "*", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "*", "*", "*", "88", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "*", "X", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "*", "0", "0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "*", "X", "0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "0", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "0", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "0", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "*", "IS", "IS", "", "ERROR:Clin T or Path T must be value other than Ta, Tis, Tispu, Tispd", "VALUE:" ], [ "3", "*", "*", "IS", "0,1,1A,1B,2,2A,2B,3,4,X", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "*", "0,1,1A,1B,2,2A,2B,3,4,X", "IS", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "2,4,7", "*", "0,1,1A,1B,2,2A,2B,3,4,X", "*", "", "ERROR: Clin T must be Ta, Tis, Tispu, Tispd", "VALUE:" ], [ "2", "2,4,7", "*", "IS", "0,1,1A,1B,2,2A,2B,3,4,X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "2,4,7", "*", "IS", "IS", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "*", "2,4,7", "0,1,1A,1B,2,2A,2B,3,4,X", "*", "", "ERROR: Clin T must be Ta, Tis, Tispu, Tispd", "VALUE:" ], [ "2", "*", "2,4,7", "IS", "0,1,1A,1B,2,2A,2B,3,4,X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "*", "2,4,7", "IS", "IS", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "0,3,5,6,9", "0,3,5,6,9", "0,1,1A,1B,2,2A,2B,3,4,X", "0,1,1A,1B,2,2A,2B,3,4,X", "", "ERROR:Clin T or Path T must be Ta, Tis, Tispu, Tispd", "VALUE:" ], [ "2", "0,3,5,6,9", "0,3,5,6,9", "IS", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2", "0,3,5,6,9", "0,3,5,6,9", "X,0", "IS", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2", "0,3,5,6,9", "0,3,5,6,9", "IS", "1,1A,1B,2,2A,2B,3,4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2", "0,3,5,6,9", "0,3,5,6,9", "1,1A,1B,2,2A,2B,3,4", "IS", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2", "0,3,5,6,9", "0,3,5,6,9", "IS", "IS", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "X,0", "1,1A,1B,2,2A,2B,3,4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1A,1B,2,2A,2B,3,4", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1A,1B,2,2A,2B,3,4", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1", "1A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "1A,1B,2,2A,2B,3,4", "1A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1A", "1B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "1B,2,2A,2B,3,4", "1B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1A,1B", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "2,2A,2B,3,4", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1A,1B,2", "2A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "2A,2B,3,4", "2A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1A,1B,2,2A", "2B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "2B,3,4", "2B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1A,1B,2,2A,2B", "3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "3,4", "3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "2,4,7", "*", "1,1A,1B,2,2A,2B,3", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "2,4,7", "*", "4", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "X,0", "1,1A,1B,2,2A,2B,3,4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1A,1B,2,2A,2B,3,4", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1A,1B,2,2A,2B,3,4", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1", "1A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "1A,1B,2,2A,2B,3,4", "1A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1A", "1B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "1B,2,2A,2B,3,4", "1B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1A,1B", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "2,2A,2B,3,4", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1A,1B,2", "2A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "2A,2B,3,4", "2A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1A,1B,2,2A", "2B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "2B,3,4", "2B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1A,1B,2,2A,2B", "3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "3,4", "3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "*", "2,4,7", "1,1A,1B,2,2A,2B,3", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "*", "2,4,7", "4", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1A,1B,2,2A,2B,3,4", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "X,0", "1,1A,1B,2,2A,2B,3,4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1A,1B", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,2,2A,2B,3,4", "1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1A,1B,2,2A,2B,3,4", "1A,1B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "2A,2B", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1A,1B,2,3,4", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1A,1B,2,2A,2B,3,4", "2A,2B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "3", "0,3,5,6,9", "0,3,5,6,9", "1,1A,1B,2,2A,2B,3,4", "3,4", "", "VALUE:{{path_t_in}}", "VALUE:2" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/combined_t_no_tis.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_t_no_tis.json deleted file mode 100644 index eb34ab653..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/combined_t_no_tis.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id" : "combined_t_no_tis", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Combined T No Tis", - "title" : "Combined T (no Tis)", - "notes" : "Using clinical and pathologic T, calculate Combined T and Summary Stage T for schemas that do NOT have Tis.", - "last_modified" : "2022-02-28T19:55:20.239Z", - "definition" : [ { - "key" : "radiation_surg_seq", - "name" : "RX Summ Surgery/Radiation Sequence", - "type" : "INPUT" - }, { - "key" : "systemic_surg_seq", - "name" : "RX Summ Systemic/Surgery Sequence", - "type" : "INPUT" - }, { - "key" : "clin_t_in", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "path_t_in", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "combined_t_in", - "name" : "Combined T (input)", - "type" : "INPUT" - }, { - "key" : "combined_t_out", - "name" : "Combined T", - "type" : "ENDPOINT" - }, { - "key" : "source_t_out", - "name" : "Combined T Source", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "path_t_in", "combined_t_in", "clin_t_in" ], - "rows" : [ [ "*", "*", "*", "*", "0,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E,X,88", "VALUE:{{combined_t_in}}", "MATCH" ], [ "*", "*", "88", "88", "", "VALUE:88", "VALUE:9" ], [ "*", "*", "88", "*", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "*", "*", "88", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "*", "X", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "*", "0", "0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "*", "X", "0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "0", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "0", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "0", "X", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "X,0", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1", "1MI", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1MI", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI", "1A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A", "1A1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1", "1A2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2", "1B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B", "1B1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1", "1B2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2", "1C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C", "1D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2", "2A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A", "2A1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1", "2A2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2", "2B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B", "2C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C", "2D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D", "3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3", "3A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "3A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A", "3B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "3B,3C,3D,4,4A,4B,4C,4D,4E", "3B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B", "3C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "3C,3D,4,4A,4B,4C,4D,4E", "3C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C", "3D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "3D,4,4A,4B,4C,4D,4E", "3D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4,4A,4B,4C,4D,4E", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4", "4A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4A,4B,4C,4D,4E", "4A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A", "4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4B,4C,4D,4E", "4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B", "4C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4C,4D,4E", "4C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C", "4D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4D,4E", "4D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D", "4E", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4E", "4E", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "X,0", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1", "1MI", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1MI", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI", "1A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A", "1A1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1", "1A2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2", "1B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B", "1B1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1", "1B2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2", "1C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C", "1D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2", "2A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A", "2A1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1", "2A2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2", "2B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B", "2C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C", "2D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D", "3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3", "3A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "3A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A", "3B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "3B,3C,3D,4,4A,4B,4C,4D,4E", "3B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B", "3C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "3C,3D,4,4A,4B,4C,4D,4E", "3C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C", "3D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "3D,4,4A,4B,4C,4D,4E", "3D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4,4A,4B,4C,4D,4E", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4", "4A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4A,4B,4C,4D,4E", "4A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A", "4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4B,4C,4D,4E", "4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B", "4C", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4C,4D,4E", "4C", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C", "4D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4D,4E", "4D", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D", "4E", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4E", "4E", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "X,0", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1MI", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "1A1,1A2", "1A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1A1,1A2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "1B1,1B2", "1B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1B1,1B2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "1C,1D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "2A,2A1,2A2,2B,2C,2D", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "2A1,2A2", "2A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2A1,2A2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "2B,2C,2D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "3A,3B,3C,3D", "3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,4,4A,4B,4C,4D,4E", "3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "3A,3B,3C,3D", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "4A,4B,4C,4D,4E", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "4A,4B,4C,4D,4E", "", "VALUE:{{path_t_in}}", "VALUE:2" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/combined_t_retinoblastoma.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_t_retinoblastoma.json deleted file mode 100644 index 385757b1a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/combined_t_retinoblastoma.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id" : "combined_t_retinoblastoma", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Combined T Retinoblastoma", - "title" : "Combined T for Retinoblastoma", - "notes" : "For Retinoblastoma, which has a special case, using clinical and pathologic T, calculate Combined T and Summary Stage T.", - "last_modified" : "2022-02-28T19:52:41.940Z", - "definition" : [ { - "key" : "radiation_surg_seq", - "name" : "RX Summ Surgery/Radiation Sequence", - "type" : "INPUT" - }, { - "key" : "systemic_surg_seq", - "name" : "RX Summ Systemic/Surgery Sequence", - "type" : "INPUT" - }, { - "key" : "clin_t_in", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "path_t_in", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "combined_t_in", - "name" : "Combined T (input)", - "type" : "INPUT" - }, { - "key" : "combined_t_out", - "name" : "Combined T", - "type" : "ENDPOINT" - }, { - "key" : "source_t_out", - "name" : "Combined T Source", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "path_t_in", "combined_t_in", "clin_t_in" ], - "rows" : [ [ "*", "*", "*", "*", "0,1,1A,1B,1C,2,2A,2B,3,3A,3B,4,4A,4B,4C,4D,X,88", "VALUE:{{combined_t_in}}", "MATCH" ], [ "*", "*", "X", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "*", "0", "0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "*", "X", "0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "0", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "0", "X", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "0", "X", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "X,0", "1,1A,1B,1C,2,2A,2B,3,3A,3B,4,4A,4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1A,1B,1C,2,2A,2B,3,3A,3B,4,4A,4B,4C,4D", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1A,1B,1C,2,2A,2B,3,3A,3B,4,4A,4B,4C,4D", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1A,1B,1C", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "2,2A,2B,3,3A,3B,4,4A,4B,4C,4D", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1A,1B,1C,2", "2A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "2A,2B,3,3A,3B,4,4A,4B,4C,4D", "2A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1A,1B,1C,2,2A", "2B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "2B,3,3A,3B,4,4A,4B,4C,4D", "2B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1A,1B,1C,2,2A,2B", "3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "3,3A,3B,4,4A,4B,4C,4D", "3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1A,1B,1C,2,2A,2B,3", "3A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "3A,3B,4,4A,4B,4C,4D", "3A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1A,1B,1C,2,2A,2B,3,3A", "3B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "3B,4,4A,4B,4C,4D", "3B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1A,1B,1C,2,2A,2B,3,3A,3B", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4,4A,4B,4C,4D", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1A,1B,1C,2,2A,2B,3,3A,3B,4", "4A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4A,4B,4C,4D", "4A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "2,4,7", "*", "1,1A,1B,1C,2,2A,2B,3,3A,3B,4,4A", "4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "2,4,7", "*", "4B,4C,4D", "4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "X,0", "1,1A,1B,1C,2,2A,2B,3,3A,3B,4,4A,4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1A,1B,1C,2,2A,2B,3,3A,3B,4,4A,4B,4C,4D", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1A,1B,1C,2,2A,2B,3,3A,3B,4,4A,4B,4C,4D", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1A,1B,1C", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "2,2A,2B,3,3A,3B,4,4A,4B,4C,4D", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1A,1B,1C,2", "2A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "2A,2B,3,3A,3B,4,4A,4B,4C,4D", "2A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1A,1B,1C,2,2A", "2B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "2B,3,3A,3B,4,4A,4B,4C,4D", "2B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1A,1B,1C,2,2A,2B", "3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "3,3A,3B,4,4A,4B,4C,4D", "3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1A,1B,1C,2,2A,2B,3", "3A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "3A,3B,4,4A,4B,4C,4D", "3A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1A,1B,1C,2,2A,2B,3,3A", "3B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "3B,4,4A,4B,4C,4D", "3B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1A,1B,1C,2,2A,2B,3,3A,3B", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4,4A,4B,4C,4D", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1A,1B,1C,2,2A,2B,3,3A,3B,4", "4A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4A,4B,4C,4D", "4A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "*", "2,4,7", "1,1A,1B,1C,2,2A,2B,3,3A,3B,4,4A", "4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "2,4,7", "4B,4C,4D", "4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1A,1B,1C,2,2A,2B,3,3A,3B,4,4A,4B,4C,4D", "X,0", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "X,0", "1,1A,1B,1C,2,2A,2B,3,3A,3B,4,4A,4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "1A,1B,1C", "1", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,2,2A,2B,3,3A,3B", "1", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "2A,2B", "2", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1A,1B,1C,2,3,3A,3B", "2", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1A,1B,1C,2,2A,2B,3,3A,3B", "2A,2B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "3A,3B", "3", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1A,1B,1C,2,2A,2B,3", "3", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1A,1B,1C,2,2A,2B,3,3A,3B", "3A,3B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "4A,4B,4C,4D", "4", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1A,1B,1C,2,2A,2B,3,3A,3B,4", "4", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "4", "1,1A,1B,1C,2,2A,2B,3,3A,3B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "4B,4C,4D", "4A", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1A,1B,1C,2,2A,2B,3,3A,3B,4,4A", "4A", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "4A", "1,1A,1B,1C,2,2A,2B,3,3A,3B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "4C,4D", "4B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "0,3,5,6,9", "0,3,5,6,9", "1,1A,1B,1C,2,2A,2B,3,3A,3B,4,4A,4B", "4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "0,3,5,6,9", "0,3,5,6,9", "4B,4C,4D", "1,1A,1B,1C,2,2A,2B,3,3A,3B", "", "VALUE:{{clin_t_in}}", "VALUE:1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/combined_t_thyroid_anaplastic_32619.json b/src/test/resources/algorithms/tnm/2.0/tables/combined_t_thyroid_anaplastic_32619.json deleted file mode 100644 index 6243767a1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/combined_t_thyroid_anaplastic_32619.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id" : "combined_t_thyroid_anaplastic_32619", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Combined T Thyroid Anaplastic", - "title" : "Combined T Thyroid Anaplastic", - "notes" : "**Note:** It is possible to have a clinical T other than T4-T4b for Anaplastic cases if the histology or grade was adjusted after pathology results are obtained. In these cases, which should be rare, the Combined T would be the Path T value.", - "last_modified" : "2018-05-14T21:29:01.356Z", - "definition" : [ { - "key" : "hist", - "name" : "ICD-O-3 Histology", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "clin_t_in", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "path_t_in", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "combined_t_in", - "name" : "Combined T (input)", - "type" : "INPUT" - }, { - "key" : "combined_t_out", - "name" : "Combined T", - "type" : "ENDPOINT" - }, { - "key" : "source_t_out", - "name" : "Combined T Source", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "path_t_in" ], - "rows" : [ [ "8020,8021,8030-8032", "1,2,3,4,9", "88,X,0,1,1A,1B,2,3", "4,4A,4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "4", "88,X,0,1,1A,1B,2,3", "4,4A,4B", "", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "*", "*", "*", "*", "*", "JUMP:combined_t_no_tis", "JUMP:combined_t_no_tis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/concatenate_m_40642.json b/src/test/resources/algorithms/tnm/2.0/tables/concatenate_m_40642.json deleted file mode 100644 index 673a531c9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/concatenate_m_40642.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "concatenate_m_40642", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Concatenate M", - "title" : "Concatenate M", - "description" : "With the addition of the c and p prefixes to the existing codes, the prefix is parsed from the main value during calculations. It must be reattached for the final Combined M value.", - "last_modified" : "2018-05-14T21:29:01.607Z", - "definition" : [ { - "key" : "m_prefix", - "name" : "M Prefix", - "type" : "INPUT" - }, { - "key" : "root_m", - "name" : "Root M value", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "c", "0", "VALUE:c0" ], [ "c", "0I+", "VALUE:c0I+" ], [ "c", "1", "VALUE:c1" ], [ "c", "1A", "VALUE:c1A" ], [ "c", "1B", "VALUE:c1B" ], [ "c", "1C", "VALUE:c1C" ], [ "c", "1D", "VALUE:c1D" ], [ "c", "1E", "VALUE:c1E" ], [ "p", "0", "VALUE:c0" ], [ "p", "0I+", "VALUE:c0I+" ], [ "p", "1", "VALUE:p1" ], [ "p", "1A", "VALUE:p1A" ], [ "p", "1B", "VALUE:p1B" ], [ "p", "1C", "VALUE:p1C" ], [ "p", "1D", "VALUE:p1D" ], [ "p", "1E", "VALUE:p1E" ], [ "", "X", "VALUE:X" ], [ "", "0", "VALUE:0" ], [ "", "0I+", "VALUE:0I+" ], [ "", "1", "VALUE:1" ], [ "", "1A", "VALUE:1A" ], [ "", "1B", "VALUE:1B" ], [ "", "1C", "VALUE:1C" ], [ "", "1D", "VALUE:1D" ], [ "", "1E", "VALUE:1E" ], [ "", "88", "VALUE:88" ], [ "", "", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/concatenate_n_43246.json b/src/test/resources/algorithms/tnm/2.0/tables/concatenate_n_43246.json deleted file mode 100644 index e751fbceb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/concatenate_n_43246.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "concatenate_n_43246", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Concatenate N", - "title" : "Concatenate N", - "description" : "With the addition of the c and p prefixes to the existing codes, the prefix is parsed from the main value during calculations. It must be reattached for the final Combined N value.", - "last_modified" : "2018-05-14T21:29:01.667Z", - "definition" : [ { - "key" : "n_prefix", - "name" : "N Prefix", - "type" : "INPUT" - }, { - "key" : "root_n", - "name" : "Root N value", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "c", "X", "VALUE:cX" ], [ "c", "0", "VALUE:c0" ], [ "c", "0I-", "VALUE:c0I-" ], [ "c", "0I+", "VALUE:c0I+" ], [ "c", "0M-", "VALUE:c0M-" ], [ "c", "0M+", "VALUE:c0M+" ], [ "c", "1MI", "VALUE:c1MI" ], [ "c", "0A", "VALUE:c0A" ], [ "c", "0B", "VALUE:c0B" ], [ "c", "1", "VALUE:c1" ], [ "c", "1A", "VALUE:c1A" ], [ "c", "1B", "VALUE:c1B" ], [ "c", "1C", "VALUE:c1C" ], [ "c", "2", "VALUE:c2" ], [ "c", "2A", "VALUE:c2A" ], [ "c", "2B", "VALUE:c2B" ], [ "c", "2C", "VALUE:c2C" ], [ "c", "3", "VALUE:c3" ], [ "c", "3A", "VALUE:c3A" ], [ "c", "3B", "VALUE:c3B" ], [ "c", "3C", "VALUE:c3C" ], [ "c", "4", "VALUE:c4" ], [ "p", "X", "VALUE:pX" ], [ "p", "0", "VALUE:p0" ], [ "p", "0I-", "VALUE:p0I-" ], [ "p", "0I+", "VALUE:p0I+" ], [ "p", "0M-", "VALUE:p0M-" ], [ "p", "0M+", "VALUE:p0M+" ], [ "p", "1MI", "VALUE:p1MI" ], [ "p", "0A", "VALUE:p0A" ], [ "p", "0B", "VALUE:p0B" ], [ "p", "1", "VALUE:p1" ], [ "p", "1A", "VALUE:p1A" ], [ "p", "1B", "VALUE:p1B" ], [ "p", "1C", "VALUE:p1C" ], [ "p", "2", "VALUE:p2" ], [ "p", "2A", "VALUE:p2A" ], [ "p", "2B", "VALUE:p2B" ], [ "p", "2C", "VALUE:p2C" ], [ "p", "3", "VALUE:p3" ], [ "p", "3A", "VALUE:p3A" ], [ "p", "3B", "VALUE:p3B" ], [ "p", "3C", "VALUE:p3C" ], [ "p", "4", "VALUE:p4" ], [ "", "X", "VALUE:X" ], [ "", "0", "VALUE:0" ], [ "", "0I-", "VALUE:0I-" ], [ "", "0I+", "VALUE:0I+" ], [ "", "0M-", "VALUE:0M-" ], [ "", "0M+", "VALUE:0M+" ], [ "", "1MI", "VALUE:1MI" ], [ "", "0A", "VALUE:0A" ], [ "", "0B", "VALUE:0B" ], [ "", "1", "VALUE:1" ], [ "", "1A", "VALUE:1A" ], [ "", "1B", "VALUE:1B" ], [ "", "1C", "VALUE:1C" ], [ "", "2", "VALUE:2" ], [ "", "2A", "VALUE:2A" ], [ "", "2B", "VALUE:2B" ], [ "", "2C", "VALUE:2C" ], [ "", "3", "VALUE:3" ], [ "", "3A", "VALUE:3A" ], [ "", "3B", "VALUE:3B" ], [ "", "3C", "VALUE:3C" ], [ "", "4", "VALUE:4" ], [ "", "88", "VALUE:88" ], [ "", "", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/concatenate_t_51262.json b/src/test/resources/algorithms/tnm/2.0/tables/concatenate_t_51262.json deleted file mode 100644 index b73b82aaf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/concatenate_t_51262.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "concatenate_t_51262", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Concatenate T", - "title" : "Concatenate T", - "description" : "With the addition of the c and p prefixes to the existing codes, the prefix is parsed from the main value during calculations. It must be reattached for the final Combined T value.", - "last_modified" : "2018-05-14T21:29:02.781Z", - "definition" : [ { - "key" : "t_prefix", - "name" : "T Prefix", - "type" : "INPUT" - }, { - "key" : "root_t", - "name" : "Root T value", - "type" : "INPUT" - }, { - "key" : "t", - "name" : "T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "c", "X", "VALUE:cX" ], [ "c", "0", "VALUE:c0" ], [ "c", "A", "VALUE:pA" ], [ "c", "IS", "VALUE:pIS" ], [ "c", "ISPU", "VALUE:pISU" ], [ "c", "ISPD", "VALUE:pISD" ], [ "c", "1MI", "VALUE:c1MI" ], [ "c", "1", "VALUE:c1" ], [ "c", "1A", "VALUE:c1A" ], [ "c", "1A1", "VALUE:c1A1" ], [ "c", "1A2", "VALUE:c1A2" ], [ "c", "1B", "VALUE:c1B" ], [ "c", "1B1", "VALUE:c1B1" ], [ "c", "1B2", "VALUE:c1B2" ], [ "c", "1C", "VALUE:c1C" ], [ "c", "1D", "VALUE:c1D" ], [ "c", "2", "VALUE:c2" ], [ "c", "2A", "VALUE:c2A" ], [ "c", "2A1", "VALUE:c2A1" ], [ "c", "2A2", "VALUE:c2A2" ], [ "c", "2B", "VALUE:c2B" ], [ "c", "2C", "VALUE:c2C" ], [ "c", "2D", "VALUE:c2D" ], [ "c", "3", "VALUE:c3" ], [ "c", "3A", "VALUE:c3A" ], [ "c", "3B", "VALUE:c3B" ], [ "c", "3C", "VALUE:c3C" ], [ "c", "3D", "VALUE:c3D" ], [ "c", "4", "VALUE:c4" ], [ "c", "4A", "VALUE:c4A" ], [ "c", "4B", "VALUE:c4B" ], [ "c", "4C", "VALUE:c4C" ], [ "c", "4D", "VALUE:c4D" ], [ "c", "4E", "VALUE:c4E" ], [ "p", "X", "VALUE:pX" ], [ "p", "0", "VALUE:p0" ], [ "p", "A", "VALUE:pA" ], [ "p", "IS", "VALUE:pIS" ], [ "p", "ISPU", "VALUE:pISU" ], [ "p", "ISPD", "VALUE:pISD" ], [ "p", "1MI", "VALUE:p1MI" ], [ "p", "1", "VALUE:p1" ], [ "p", "1A", "VALUE:p1A" ], [ "p", "1A1", "VALUE:p1A1" ], [ "p", "1A2", "VALUE:p1A2" ], [ "p", "1B", "VALUE:p1B" ], [ "p", "1B1", "VALUE:p1B1" ], [ "p", "1B2", "VALUE:p1B2" ], [ "p", "1C", "VALUE:p1C" ], [ "p", "1D", "VALUE:p1D" ], [ "p", "2", "VALUE:p2" ], [ "p", "2A", "VALUE:p2A" ], [ "p", "2A1", "VALUE:p2A1" ], [ "p", "2A2", "VALUE:p2A2" ], [ "p", "2B", "VALUE:p2B" ], [ "p", "2C", "VALUE:p2C" ], [ "p", "2D", "VALUE:p2D" ], [ "p", "3", "VALUE:p3" ], [ "p", "3A", "VALUE:p3A" ], [ "p", "3B", "VALUE:p3B" ], [ "p", "3C", "VALUE:p3C" ], [ "p", "3D", "VALUE:p3D" ], [ "p", "4", "VALUE:p4" ], [ "p", "4A", "VALUE:p4A" ], [ "p", "4B", "VALUE:p4B" ], [ "p", "4C", "VALUE:p4C" ], [ "p", "4D", "VALUE:p4D" ], [ "p", "4E", "VALUE:p4E" ], [ "", "X", "VALUE:X" ], [ "", "0", "VALUE:0" ], [ "", "A", "VALUE:A" ], [ "", "IS", "VALUE:IS" ], [ "", "ISPU", "VALUE:ISPU" ], [ "", "ISPD", "VALUE:ISPD" ], [ "", "1MI", "VALUE:1MI" ], [ "", "1", "VALUE:1" ], [ "", "1A", "VALUE:1A" ], [ "", "1A1", "VALUE:1A1" ], [ "", "1A2", "VALUE:1A2" ], [ "", "1B", "VALUE:1B" ], [ "", "1B1", "VALUE:1B1" ], [ "", "1B2", "VALUE:1B2" ], [ "", "1C", "VALUE:1C" ], [ "", "1D", "VALUE:1D" ], [ "", "2", "VALUE:2" ], [ "", "2A", "VALUE:2A" ], [ "", "2A1", "VALUE:2A1" ], [ "", "2A2", "VALUE:2A2" ], [ "", "2B", "VALUE:2B" ], [ "", "2C", "VALUE:2C" ], [ "", "2D", "VALUE:2D" ], [ "", "3", "VALUE:3" ], [ "", "3A", "VALUE:3A" ], [ "", "3B", "VALUE:3B" ], [ "", "3C", "VALUE:3C" ], [ "", "3D", "VALUE:3D" ], [ "", "4", "VALUE:4" ], [ "", "4A", "VALUE:4A" ], [ "", "4B", "VALUE:4B" ], [ "", "4C", "VALUE:4C" ], [ "", "4D", "VALUE:4D" ], [ "", "4E", "VALUE:4E" ], [ "", "88", "VALUE:88" ], [ "", "", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/conjunctiva_t_62523.json b/src/test/resources/algorithms/tnm/2.0/tables/conjunctiva_t_62523.json deleted file mode 100644 index 53417757f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/conjunctiva_t_62523.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "conjunctiva_t_62523", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Conjunctiva", - "title" : "Pathologic T", - "notes" : "**Note 1:** Palpebral and tarsal conjunctiva line the eyelid, bulbar conjunctiva covers the eyeball, forniceal conjunctiva covers the space between the eyelid and the globe. According to TNM, tumors are most likely to arise at the exposed site where the conjunctival epithelium merges with the corneal epithelium, particularly at the temporal limbus. (1)\n\n**Note 2:** For the following descriptions, assign the appropriate T category based on the tumor size recorded in **Site-Specific Factor 1, Tumor Size**.\n\n Tumor confined to one subsite of conjunctiva\n Bulbar conjunctiva\n Forniceal conjunctiva\n Palpebral conjunctiva\n Tarsal conjunctiva\n\n Tumor confined to one subsite of conjunctiva, NOS\n\n Localized, NOS", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) AJCC Cancer Staging Manual (7th ed.). New York; London: Springer, pgs. 531-537", - "last_modified" : "2018-05-14T21:28:58.502Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 5 mm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 5 mm in greatest dimension \nWITHOUT invasion of adjacent structures", "Stated as T2" ], [ "p3", "pT3", "Tumor invades adjacent structures", "Intraocular extension\n Cornea (3, 6, 9, or 12 o'clock hours)\n Intraocular compartments\n\nTumor involving more than one subsite of conjunctiva:\n Bulbar conjunctiva\n Forniceal conjunctiva (lower and/or upper)\n Palpebral conjunctiva (lower and/or upper)\n Tarsal conjunctiva (lower and/or upper) \n\nTumor involving more than one subsite of conjunctiva NOS\n\nAdjacent extraocular extension, excluding orbit:\n Anterior eyelid lamella \n Caruncle \n Eyelid margin (lower and/or upper)\n Lacrimal punctum and canaliculi (lower and/or upper)\n Plica\n Posterior eyelid lamella\n\nStated as T3" ], [ "p4", "pT4", "Tumor invades the orbit or beyond", "Note: T4 has subcategories of T4a, T4b, T4c and T4d. Assign T4 only when there is no information available to assign one of the subcategories\n\nStated as T4 [NOS]" ], [ "p4A", "pT4a", "Tumor invades orbital soft tissue \nWITHOUT bone invasion", "Orbital soft tissues without bone invasion\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades bone", "Bone of orbit\n\nStated as T4b" ], [ "p4C", "pT4c", "Tumor invades adjacent paranasal sinuses", "Adjacent paranasal sinuses\n\nStated as T4c" ], [ "p4D", "pT4d", "Tumor invades brain", "Further contiguous extension\n\nStated as T4d" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_pathologic_t_90591.json b/src/test/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_pathologic_t_90591.json deleted file mode 100644 index 42afb1caf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_pathologic_t_90591.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "corpus_adenosarcoma_pathologic_t_90591", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Corpus Adenosarcoma", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM nor FIGO include an in situ category for sarcomas of the corpus.\n\n**Note 2:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO IIIC, assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is (pathologic) FIGO stage IVB, leave pathologic T and N blank and see M\n\n**Note 3:** Extension to the bowel or bladder mucosa must be proven by biopsy in order to rule out bullous edema.", - "footnotes" : "\\* TX is not defined by UICC in the 7th edition. Approval has been provided by UICC to use the standard definition \"Primary tumor cannot be assessed,\" as TX.\n\\** T0 is not defined by UICC in the 7th edition. Approval has been provided by UICC to use the standard definition \"No evidence of primary tumor,\" as T0.", - "last_modified" : "2018-05-14T21:29:04.314Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Not defined by UICC*", "Primary tumor cannot be assessed \n\nPathologic classification criteria met, evaluation done:\n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated\n Physician assigns cTX, no other information available to determine T" ], [ "p0", "pT0", "Not defined by UICC**", "No evidence of primary tumor" ], [ "p1", "pT1", "Tumor limited to the uterus", "Note: T1 has subcategories of T1a, T1b and T1c. Assign T1 only when there is no information available to assign one of the subcategories.\n\nInvasive cancer confined to corpus uteri \n\nInvasion of myometrium, NOS WITH or WITHOUT involvement of endocervix\n\nTunica serosa of the visceral peritoneum (serosa covering the corpus)\n\nCervix uteri, NOS, but not beyond uterus\n\nLocalized, NOS\n\nFIGO Stage I [NOS]\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor limited to the endometrium/endocervix", "Confined to endometrium OR endocervix (Glandular, stromal or both)\n\nFIGO Stage IA\n\nStated as T1" ], [ "p1B", "pT1b", "Tumor invades less than half of the myometrium", "Tumor invades less than one-half of myometrium WITH involvement of endocervix\n\nFIGO Stage IB\n\nStated as T1b" ], [ "p1C", "pT1c", "Tumor invades one half or more of the myometrium", "Invasion of outer half of myometrium WITH involvement of endocervix\n\nFIGO Stage IC\n\nStated as T1c" ], [ "p2", "pT2", "Tumor extends beyond the uterus, within the pelvis", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories.\n\nFIGO Stage II [NOS]\n\nStated as T2 [NOS]" ], [ "p2A", "pT2a", "Tumor involves adnexa", "Adnexal involvement, NOS\nExtension or metastasis within true pelvis:\n Adnexa\n Fallopian tube(s)\n Ligaments:\n Broad\n Round\n Uterosacral\n Ovary(ies)\n Parametrium\n Visceral peritoneum of pelvic organs excluding serosa of corpus uteri\n\nFIGO Stage IIA\n\nStated as T2a" ], [ "p2B", "pT2b", "Tumor involves other pelvic tissues", "Extension or metastasis to:\n Cul de sac (rectouterine pouch)\n Pelvic wall(s)\n Parietal serosa of pelvic cavity\n Ureter\n Vagina\n Vulva\n\nDescribed clinically as \"frozen pelvis\", NOS\n\nFIGO Stage IIB\n\nStated as T2b" ], [ "p3", "pT3", "Tumor involves abdominal tissues", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories.\n\nAbdominal tissues involvement, NOS\n\nFurther contiguous extension\n\nStated as T3 [NOS]" ], [ "p3A", "pT3a", "One site", "Infiltration of abdominal tissues, one of the following sites:\n Abdominal serosa (visceral or parietal peritoneum of abdomen)\n Sigmoid colon\n Small intestine\n Other abdominal structures\n\nFIGO Stage IIIA\n\nStated as T3a" ], [ "p3B", "pT3b", "More than one site", "FIGO Stage IIIB\n\nStated as T3b" ], [ "p4", "pT4", "Tumor invades bladder or rectal mucosa", "Invasion of:\n Bladder wall\n Bladder, NOS excluding mucosa\n Rectal wall\n Rectum, NOS excluding mucosa\n\nExtension to bowel mucosa or bladder (excluding bullous edema)\n\nFIGO Stage IVA\n\nStated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC, or IVB\n\nPathologic classification not met\nPathologic classification criteria met, evaluation done:\n Results not documented in patient record\n No surgical resection of known primary tumor (not T0) OR\n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_t_34843.json b/src/test/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_t_34843.json deleted file mode 100644 index df4aa8939..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/corpus_adenosarcoma_t_34843.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "corpus_adenosarcoma_t_34843", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Corpus Adenosarcoma", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM nor FIGO include an in situ category for sarcomas of the corpus.\n\n**Note 2:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is FIGO III [NOS] or IIIC, assign the appropriate stage and leave clinical T, N, and M blank. If the only information is FIGO stage IVB, leave T and N blank and see M\n\n**Note 3:** Extension to the bowel or bladder mucosa must be proven by biopsy in order to rule out bullous edema.", - "footnotes" : "\\* TX is not defined by UICC in the 7th edition. Approval has been provided by UICC to use the standard definition \"Primary tumor cannot be assessed,\" as TX.\n\\** T0 is not defined by UICC in the 7th edition. Approval has been provided by UICC to use the standard definition \"No evidence of primary tumor,\" as T0.", - "last_modified" : "2018-05-14T21:29:04.382Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Not defined by UICC*", "Primary tumor cannot be assessed\n\nClinical classification criteria met, evaluation done:\n Physician unable to assess T\n Extension cannot be determined OR\n Physician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "Not defined by UICC**", "No evidence of primary tumor" ], [ "c1", "cT1", "Tumor limited to the uterus", "Note: T1 has subcategories of T1a, T1b and T1c. Assign T1 only when there is no information available to assign one of the subcategories.\n\nInvasive cancer confined to corpus uteri \n\nInvasion of myometrium, NOS WITH or WITHOUT involvement of endocervix\n\nTunica serosa of the visceral peritoneum (serosa covering the corpus)\n\nCervix uteri, NOS, but not beyond uterus\n\nLocalized, NOS\n\nFIGO Stage I [NOS]\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor limited to the endometrium/endocervix", "Confined to endometrium OR endocervix (Glandular, stromal or both)\n\nFIGO Stage IA\n\nStated as T1" ], [ "c1B", "cT1b", "Tumor invades less than half of the myometrium", "Tumor invades less than one-half of myometrium WITH involvement of endocervix\n\nFIGO Stage IB\n\nStated as T1b" ], [ "c1C", "cT1c", "Tumor invades one half or more of the myometrium", "Invasion of outer half of myometrium WITH involvement of endocervix\n\nFIGO Stage IC\n\nStated as T1c" ], [ "c2", "cT2", "Tumor extends beyond the uterus, within the pelvis", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories.\n\nFIGO Stage II [NOS]\n\nStated as T2 [NOS]" ], [ "c2A", "cT2a", "Tumor involves adnexa", "Adnexal involvement, NOS\nExtension or metastasis within true pelvis:\n Adnexa\n Fallopian tube(s)\n Ligaments:\n Broad\n Round\n Uterosacral\n Ovary(ies)\n Parametrium\n Visceral peritoneum of pelvic organs excluding serosa of corpus uteri\n\nFIGO Stage IIA\n\nStated as T2a" ], [ "c2B", "cT2b", "Tumor involves other pelvic tissues", "Extension or metastasis to:\n Cul de sac (rectouterine pouch)\n Pelvic wall(s)\n Parietal serosa of pelvic cavity\n Ureter\n Vagina\n Vulva\n\nDescribed clinically as \"frozen pelvis\", NOS\n\nFIGO Stage IIB\n\nStated as T2b" ], [ "c3", "cT3", "Tumor involves abdominal tissues", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories.\n\nAbdominal tissues involvement, NOS\n\nFurther contiguous extension\n\nStated as T3 [NOS]" ], [ "c3A", "cT3a", "One site", "Infiltration of abdominal tissues, one of the following sites:\n Abdominal serosa (visceral or parietal peritoneum of abdomen)\n Sigmoid colon\n Small intestine\n Other abdominal structures\n\nFIGO Stage IIIA\n\nStated as T3a" ], [ "c3B", "cT3b", "More than one site", "FIGO Stage IIIB\n\nStated as T3b" ], [ "c4", "cT4", "Tumor invades bladder or rectal mucosa", "Invasion of:\n Bladder wall\n Bladder, NOS excluding mucosa\n Rectal wall\n Rectum, NOS excluding mucosa\n\nExtension to bowel mucosa or bladder (excluding bullous edema)\n\nFIGO Stage IVA\n\nStated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC, or IVB\n\nClinical classification not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/corpus_carcinoma_t_42324.json b/src/test/resources/algorithms/tnm/2.0/tables/corpus_carcinoma_t_42324.json deleted file mode 100644 index 47fa6f87f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/corpus_carcinoma_t_42324.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "corpus_carcinoma_t_42324", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Corpus Carcinoma", - "title" : "Clinical T", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is FIGO III [NOS], IIIC [NOS], IIIC1, or IIIC2 assign the appropriate stage and leave clinical T, N, and M blank. If the only information is FIGO stage IVB, leave T and N blank and see M\n\n**Note 2:** FIGO does not include an in situ category for tumors of carcinomas of the corpus uteri, but TNM does. Assign pTis and behavior code /2 for in situ cases.\n\n**Note 3:** To assign a T2 category, stromal connective tissue of the cervix must be involved; endocervical glandular involvement only is not classified as a T2 tumor in TNM. \n\n**Note 4:** Extension to the bowel or bladder mucosa must be proven by biopsy in order to rule out bullous edema.", - "footnotes" : "\\# T3 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.384Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done:\n Physician unable to assess T\n Extension cannot be determined OR\n Physician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ (preinvasive carcinoma)", "Intraepithelial, noninvasive, preinvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor confined to the corpus uteri", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nInvasive cancer confined to corpus uteri \nInvasion of myometrium, NOS\n\nEndocervical glandular involvement WITH tumor invading myometrium, NOS or involvement of myometrium not known\n\nLocalized, NOS\n\nFIGO Stage I [NOS]\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor limited to endometrium or invading less than half of myometrium", "Confined to endometrium (stroma)\n\nTumor invades less than one-half of myometrium\nInvasion of inner half of myometrium\n\nEndocervical glandular involvement WITH tumor limited to endometrium or invading less than one-half of myometrium\n\nFIGO Stage IA\n\nStated as T1a" ], [ "c1B", "cT1b", "Tumor invades one half or more of myometrium", "Tumor invades one-half or more of myometrium\nInvasion of outer half of myometrium\n\nEndocervical glandular involvement WITH tumor invading one-half or more of myometrium\n\nFIGO Stage IB\n\nStated as T1b" ], [ "c2", "cT2", "Tumor invades cervical stroma, but does not extend beyond the uterus", "Cervix uteri, NOS, but not beyond uterus\nCervical stromal invasion\n\nFIGO Stage II\n\nStated as T2" ], [ "c3", "cT3", "Local and/or regional spread as specified below#", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories\n\nStated as T3 [NOS]" ], [ "c3A", "cT3a", "Tumor invades the serosa of the corpus uteri or adnexae \n (direct extension or metastasis)", "Extension or metastasis to \n Tunica serosa (visceral peritoneum of corpus, serosa covering the corpus) \n Tunica serosa of corpus\n WITHOUT involvement of cervix\n\nExtension or metastasis to:\n Adnexa:\n Fallopian tube(s)\n Ovary(ies)\n\nFIGO Stage IIIA\n\nStated as T3a" ], [ "c3B", "cT3b", "Vaginal or parametrial involvement \n (direct extension or metastasis)", "Extension or metastasis to:\n Bladder wall\n Bladder, NOS excluding mucosa\n Ligaments:\n Broad\n Round\n Parametrium, NOS\n Parietal serosa of pelvic wall\n Pelvic wall(s)\n Rectal wall\n Rectum, NOS excluding mucosa\n Vagina\n Visceral peritoneum of pelvic organs excluding serosa of corpus\n\nExtension to:\n Ureter \n Vulva\n \nDescribed clinically as \"frozen pelvis\", NOS\n\nFIGO Stage IIIB\n\nStated as T3b" ], [ "c4", "cT4", "Tumor invades bladder/bowel mucosa", "Extension to bowel mucosa or bladder mucosa (excluding bullous edema)\n\nFurther contiguous extension\n Abdominal serosa (visceral or parietal peritoneum of abdomen)\n Cul de sac (rectouterine pouch or Pouch of Douglas)\n Sigmoid colon\n Small intestine\n\nFIGO Stage IVA \n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC [NOS], IIIC1, IIIC2, or IVB\n\nClinical classification not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_clinical_t_23604.json b/src/test/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_clinical_t_23604.json deleted file mode 100644 index 1f0f7b00e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_clinical_t_23604.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "corpus_sarcoma_clinical_t_23604", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Corpus Sarcoma", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM nor FIGO include an in situ category for sarcomas of the corpus.\n\n**Note 2:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is FIGO III [NOS] or IIIC assign the appropriate stage and leave clinical T, N, and M blank. If the only information is FIGO stage IVB, leave T and N blank and see M\n\n**Note 3:** Tumor size must be known to assign a value of T1a or T1b. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1 category, but no size or category is specified, assign T1", - "footnotes" : "\\* TX is not defined by UICC in the 7th edition. Approval has been provided by UICC to use the standard definition \"Primary tumor cannot be assessed,\" as TX.\n\\** T0 is not defined by UICC in the 7th edition. Approval has been provided by UICC to use the standard definition \"No evidence of primary tumor,\" as T0.", - "last_modified" : "2018-05-14T21:29:04.445Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Not defined by UICC*", "Primary tumor cannot be assessed\n\nClinical classification criteria met, evaluation done:\n Physician unable to assess T\n Extension cannot be determined OR\n Physician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "Not defined by UICC**", "No evidence of primary tumor" ], [ "c1", "cT1", "Tumor limited to the uterus", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nTumor limited to uterus, NOS\nInvasive cancer tumor confined to corpus uteri\nInvasion of myometrium, NOS\nLocalized, NOS\n\nTunica serosa of the visceral peritoneum (serosa covering the corpus)\n\nEndocervical glandular involvement only\n\nCervical stromal invasion\n\nCervix uteri, NOS, but not beyond uterus\n\nConfined to uterus, size unknown\n\nFIGO Stage I [NOS]\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor 5 cm or less in greatest dimension", "Invasive cancer tumor confined to corpus uteri \nConfined to endometrium (stroma)\n\nTumor invades less than one-half of myometrium\nInvasion of inner half of myometrium\n\nFIGO Stage IA\n\nStated as T1a" ], [ "c1B", "cT1b", "Tumor more than 5 cm in greatest dimension", "Tumor invades one-half or more of myometrium\nInvasion of outer half of myometrium\n\nFIGO Stage IB\n\nStated as T1b" ], [ "c2", "cT2", "Tumor extends beyond the uterus, within the pelvis", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nFIGO Stage II [NOS]\n\nStated as T2 [NOS]" ], [ "c2A", "cT2a", "Tumor involves adnexa", "Adnexal involvement, NOS\nExtension or metastasis beyond uterus within pelvis:\n Adnexa\n Fallopian tube(s)\n Ligaments:\n Broad\n Round\n Uterosacral\n Ovary(ies)\n Parametrium\n Visceral peritoneum of pelvic organs excluding serosa of corpus uteri\n\nFIGO Stage IIA\n\nStated as T2a" ], [ "c2B", "cT2b", "Tumor involves other pelvic tissues", "Extension to :\n Ureter\n Vulva\n\nExtension or metastasis to:\n Cul de sac (rectouterine pouch) \n Parietal serosa of pelvic cavity\n Pelvic wall(s)\n Vagina\n\nDescribed clinically as \"frozen pelvis\", NOS\n\nFIGO Stage IIB\n\nStated as T2b" ], [ "c3", "cT3", "Tumor involves abdominal tissues", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories\n\nStated as T3 [NOS]" ], [ "c3A", "cT3a", "One site", "Infiltration of abdominal tissues, one of the following sites:\n Abdominal serosa (visceral or parietal peritoneum of abdomen)\n Sigmoid colon\n Small intestine\n Other abdominal tissues\n\nFIGO Stage IIIA\n\nStated as T3a" ], [ "c3B", "cT3b", "More than one site", "FIGO Stage IIIB\n\nStated as T3b" ], [ "c4", "cT4", "Tumor invades bladder or rectal mucosa", "Invasion of:\n Bladder wall\n Bladder, NOS excluding mucosa\n Rectal wall\n Rectum, NOS excluding mucosa\n\nExtension to bowel mucosa or bladder (excluding bullous edema)\n\nFurther contiguous extension\n\nFIGO Stage IVA\n\nStated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC, or IVB\n\nClinical classification not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_t_13268.json b/src/test/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_t_13268.json deleted file mode 100644 index f45388989..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/corpus_sarcoma_t_13268.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "corpus_sarcoma_t_13268", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Corpus Sarcoma", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM nor FIGO include an in situ category for sarcomas of the corpus.\n\n**Note 2:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III [NOS] or IIIC, assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is (pathologic) FIGO stage IVB, leave pathologic T and N blank and see M\n\n**Note 3:** Tumor size must be known to assign a value of T1a or T1b. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1 category, but no size or category is specified, assign T1", - "footnotes" : "\\* TX is not defined by UICC in the 7th edition. Approval has been provided by UICC to use the standard definition \"Primary tumor cannot be assessed,\" as TX.\n\\** T0 is not defined by UICC in the 7th edition. Approval has been provided by UICC to use the standard definition \"No evidence of primary tumor,\" as T0.", - "last_modified" : "2018-05-14T21:29:04.386Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Not defined by UICC*", "Primary tumor cannot be assessed \n\nPathologic classification criteria met, evaluation done:\n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated\n Physician assigns cTX, no other information available to determine T" ], [ "p0", "pT0", "Not defined by UICC**", "No evidence of primary tumor" ], [ "p1", "pT1", "Tumor limited to the uterus", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nTumor limited to uterus, NOS\nInvasive cancer tumor confined to corpus uteri\nInvasion of myometrium, NOS\nLocalized, NOS\n\nTunica serosa of the visceral peritoneum (serosa covering the corpus)\n\nEndocervical glandular involvement only\n\nCervical stromal invasion\n\nCervix uteri, NOS, but not beyond uterus\n\nConfined to uterus, size unknown\n\nFIGO Stage I [NOS]\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor 5 cm or less in greatest dimension", "Invasive cancer tumor confined to corpus uteri \nConfined to endometrium (stroma)\n\nTumor invades less than one-half of myometrium\nInvasion of inner half of myometrium\n\nFIGO Stage IA\n\nStated as T1a" ], [ "p1B", "pT1b", "Tumor more than 5 cm in greatest dimension", "Tumor invades one-half or more of myometrium\nInvasion of outer half of myometrium\n\nFIGO Stage IB\n\nStated as T1b" ], [ "p2", "pT2", "Tumor extends beyond the uterus, within the pelvis", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nFIGO Stage II [NOS]\n\nStated as T2 [NOS]" ], [ "p2A", "pT2a", "Tumor involves adnexa", "Adnexal involvement, NOS\nExtension or metastasis beyond uterus within pelvis:\n Adnexa\n Fallopian tube(s)\n Ligaments:\n Broad\n Round\n Uterosacral\n Ovary(ies)\n Parametrium\n Visceral peritoneum of pelvic organs excluding serosa of corpus uteri\n\nFIGO Stage IIA\n\nStated as T2a" ], [ "p2B", "pT2b", "Tumor involves other pelvic tissues", "Extension to :\n Ureter\n Vulva\n\nExtension or metastasis to:\n Cul de sac (rectouterine pouch) \n Parietal serosa of pelvic cavity\n Pelvic wall(s)\n Vagina\n\nDescribed clinically as \"frozen pelvis\", NOS\n\nFIGO Stage IIB\n\nStated as T2b" ], [ "p3", "pT3", "Tumor involves abdominal tissues", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories\n\nStated as T3 [NOS]" ], [ "p3A", "pT3a", "One site", "Infiltration of abdominal tissues, one of the following sites:\n Abdominal serosa (visceral or parietal peritoneum of abdomen)\n Sigmoid colon\n Small intestine\n Other abdominal tissues\n\nFIGO Stage IIIA\n\nStated as T3a" ], [ "p3B", "pT3b", "More than one site", "FIGO Stage IIIB\n\nStated as T3b" ], [ "p4", "pT4", "Tumor invades bladder or rectal mucosa", "Invasion of:\n Bladder wall\n Bladder, NOS excluding mucosa\n Rectal wall\n Rectum, NOS excluding mucosa\n\nExtension to bowel mucosa or bladder (excluding bullous edema)\n\nFurther contiguous extension\n\nFIGO Stage IVA\n\nStated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC, or IVB\n\nPathologic classification not met\nPathologic classification criteria met, evaluation done:\n Results not documented in patient record\n No surgical resection of known primary tumor (not T0) OR\n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/cystic_duct_t_52091.json b/src/test/resources/algorithms/tnm/2.0/tables/cystic_duct_t_52091.json deleted file mode 100644 index 53127c65a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/cystic_duct_t_52091.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "cystic_duct_t_52091", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Cystic Duct", - "title" : "Clinical T", - "notes" : "**Note 1:** The cystic duct extends from the neck of the gallbladder to its junction with the common hepatic duct, to form the common bile duct.\n\n**Note 2:** Involvement of one of the stated extrahepatic organs or structures is classified as T3, and involvement of more than one extrahepatic structure is classified as T4.\n\n**Note 3:** Involvement within the porta hepatis is coded according to the structures involved: portal vein, common hepatic artery, and common hepatic duct.", - "last_modified" : "2018-05-14T21:29:04.388Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor invades lamina propria or muscular layer", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nConfined to cystic duct, NOS\nLocalized, NOS\n\nStated as T1" ], [ "c1A", "cT1a", "Tumor invades lamina propria", "Invasive tumor confined to:\n Mucosa, NOS\n Submucosa (superficial invasion)\n\nExtension to any of the tissue listed above plus involvement of the gallbladder\n\nStated as T1a" ], [ "c1B", "cT1b", "Tumor invades muscular layer", "Muscularis propria\n\nExtension to muscularis propria plus any involvement of the gallbladder\n\nStated as T1b" ], [ "c2", "cT2", "Tumor invades perimuscular connective tissue; no extension beyond serosa or into liver", "Beyond wall of cystic duct\nPeriductal/fibromuscular connective tissue\n\nExtension to structures listed above plus involvement of the gallbladder\n\nStated as T2" ], [ "c3", "cT3", "Tumor perforates the serosa (visceral peritoneum) and/or directly involves the liver and/or one other adjacent organ or structure, such as: \n Stomach\n Duodenum\n Colon\n Pancreas\n Omentum\n Extrahepatic bile ducts", "Extension to: \n Extrahepatic bile ducts (including common hepatic duct) (beyond cystic duct) WITH or WITHOUT extension beyond wall of cystic duct\n\n Liver WITH or WITHOUT extension to extrahepatic bile ducts (including common hepatic duct) (beyond cystic duct)\n\nSerosa (visceral peritoneum) perforated\n\nExtension to ONE of the following WITH or WITHOUT extension to liver:\n Unilateral branches of hepatic artery (right or left)\n Unilateral branches of portal vein (right or left)\n\nStated as T3" ], [ "c4", "cT4", "Tumor invades main portal vein or hepatic artery or invades two or more extrahepatic organs or structures", "Abdominal wall\nCommon hepatic artery\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/determine_combined_prefix_91402.json b/src/test/resources/algorithms/tnm/2.0/tables/determine_combined_prefix_91402.json deleted file mode 100644 index c5690e6dc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/determine_combined_prefix_91402.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "determine_combined_prefix_91402", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Determine Combined Prefix", - "title" : "Determine Combined Prefix", - "notes" : "**Note 1:** Combined Source of 1 or 2 indicate the Combined fields is based on the Clin field or Path field respectively. \nCombined Source of 3 indicates a combination of data was used to set the Combined value. For example, 4a and 4b were combined to derive 4c. The prefix will be set to 'p'. \nCombined Source of 9 indicates the source is Unknown. It should only occur if the value is 88. No prefix will be set.\n\n**Note 2:** If the source is 1, but there is no clinical prefix, c will be used. Similarly, if the source is 2, but there is no path prefix, p will be used.", - "last_modified" : "2018-05-14T21:29:04.401Z", - "definition" : [ { - "key" : "cmb_source", - "name" : "Combined Source", - "type" : "INPUT" - }, { - "key" : "clin_prefix", - "name" : "Clin Prefix", - "type" : "INPUT" - }, { - "key" : "path_prefix", - "name" : "Path Prefix", - "type" : "INPUT" - }, { - "key" : "cmb_prefix", - "name" : "Combined Prefix", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "clin_prefix", "path_prefix" ], - "rows" : [ [ "1", "", "*", "VALUE:c" ], [ "1", "c,p", "*", "VALUE:{{clin_prefix}}" ], [ "2", "*", "", "VALUE:p" ], [ "2", "*", "c,p", "VALUE:{{path_prefix}}" ], [ "3", "*", "*", "VALUE:p" ], [ "9", "*", "*", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/determine_default_m.json b/src/test/resources/algorithms/tnm/2.0/tables/determine_default_m.json deleted file mode 100644 index 514c09ca7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/determine_default_m.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "determine_default_m", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Determine Default M", - "title" : "Determine the Default M for Calculations", - "description" : "Determine the default value for M to be used in calculations. This is used when Clin M or Path M (or both) are blank, but other T, N and M information is present. This will have no impact on the stored value and is solely a temporary state.", - "last_modified" : "2018-05-14T21:29:03.685Z", - "definition" : [ { - "key" : "clin_m_in", - "name" : "Clinical M", - "type" : "INPUT" - }, { - "key" : "path_m_in", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "clin_m_out", - "name" : "Clinical M with Defaults", - "type" : "ENDPOINT" - }, { - "key" : "path_m_out", - "name" : "Pathologic M with Defaults", - "type" : "ENDPOINT" - }, { - "key" : "combined_m_out", - "name" : "Combined M from Defaults", - "type" : "ENDPOINT" - }, { - "key" : "source_m_out", - "name" : "Source of Combined M", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "path_m_in", "clin_m_in" ], - "rows" : [ [ "", "", "VALUE:0", "VALUE:0", "VALUE:0", "VALUE:1" ], [ "", "1,1A,1B,1C,1D,1E", "VALUE:{{path_m_in}}", "VALUE:{{path_m_in}}", "VALUE:{{path_m_in}}", "VALUE:2" ], [ "", "88,0,0I+", "VALUE:0", "VALUE:{{path_m_in}}", "VALUE:{{path_m_in}}", "VALUE:2" ], [ "88,0,0I+,1,1A,1B,1C,1D,1E", "", "VALUE:{{clin_m_in}}", "VALUE:{{clin_m_in}}", "VALUE:{{clin_m_in}}", "VALUE:1" ], [ "88,0,0I+,1,1A,1B,1C,1D,1E", "88,0,0I+,1,1A,1B,1C,1D,1E", "VALUE:{{clin_m_in}}", "VALUE:{{path_m_in}}", "VALUE:", "VALUE:" ], [ "*", "*", "ERROR:Both Clin M and Path M values need to be valid for the schema.", "ERROR:(Clin M and/or Path M invalid)", "ERROR:(Clin M and/or Path M invalid)", "ERROR:(Clin M and/or Path M invalid)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/determine_default_n.json b/src/test/resources/algorithms/tnm/2.0/tables/determine_default_n.json deleted file mode 100644 index ca07ccd82..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/determine_default_n.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "determine_default_n", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Determine Default N", - "title" : "Determine the Default N for Calculations", - "description" : "Determine the default value for N to be used in calculations. This is used when Clin N or Path N (or both) are blank, but other T, N and M information is present. This will have no impact on the stored value and is solely a temporary state.", - "last_modified" : "2018-05-14T21:29:03.702Z", - "definition" : [ { - "key" : "clin_n_in", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "path_n_in", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "clin_n_out", - "name" : "Clinical N with Defaults", - "type" : "ENDPOINT" - }, { - "key" : "path_n_out", - "name" : "Pathologic N with Defaults", - "type" : "ENDPOINT" - }, { - "key" : "combined_n_out", - "name" : "Combined N from Defaults", - "type" : "ENDPOINT" - }, { - "key" : "source_n_out", - "name" : "Source of Combined N", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "clin_n_in", "path_n_in" ], - "rows" : [ [ "", "", "VALUE:X", "VALUE:X", "VALUE:X", "VALUE:1" ], [ "", "88,X,0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "VALUE:X", "VALUE:{{path_n_in}}", "VALUE:{{path_n_in}}", "VALUE:2" ], [ "88,X,0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "", "VALUE:{{clin_n_in}}", "VALUE:X", "VALUE:{{clin_n_in}}", "VALUE:1" ], [ "88,X,0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "88,X,0,0I-,0I+,0M-,0M+,0A,0B,1,1MI,1A,1B,1C,2,2A,2B,2C,3,3A,3B,3C,4", "VALUE:{{clin_n_in}}", "VALUE:{{path_n_in}}", "VALUE:", "VALUE:" ], [ "*", "*", "ERROR:Both Clin N and Path N values need to be valid for the schema.", "ERROR:(Clin N and/or Path N invalid)", "ERROR:(Clin N and/or Path N invalid)", "ERROR:(Clin N and/or Path N invalid)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/determine_default_t.json b/src/test/resources/algorithms/tnm/2.0/tables/determine_default_t.json deleted file mode 100644 index e4ba4ae83..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/determine_default_t.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "determine_default_t", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Determine Default T", - "title" : "Determine Default T for Calculations", - "description" : "Determine the default value for T to be used in calculations. This is used when Clin T or Path T (or both) are blank, but other T, N and M information is present. This will have no impact on the stored value and is solely a temporary state.", - "last_modified" : "2018-05-14T21:29:03.729Z", - "definition" : [ { - "key" : "clin_t_in", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "path_t_in", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "clin_t_out", - "name" : "Clinical T with Defaults", - "type" : "ENDPOINT" - }, { - "key" : "path_t_out", - "name" : "Pathologic T with Defaults", - "type" : "ENDPOINT" - }, { - "key" : "combined_t_out", - "name" : "Combined T from Defaults", - "type" : "ENDPOINT" - }, { - "key" : "source_t_out", - "name" : "Source of Combined T", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "path_t_in", "clin_t_in" ], - "rows" : [ [ "", "", "VALUE:X", "VALUE:X", "VALUE:X", "VALUE:1" ], [ "", "A, IS, ISPU, ISPD", "VALUE:{{path_t_in}}", "VALUE:{{path_t_in}}", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "", "88,X,0,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "VALUE:X", "VALUE:{{path_t_in}}", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "88,X,0,A,IS,ISPU,ISPD,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "", "VALUE:{{clin_t_in}}", "VALUE:X", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "88,X,0,A,IS,ISPU,ISPD,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "88,X,0,A,IS,ISPU,ISPD,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "VALUE:{{clin_t_in}}", "VALUE:{{path_t_in}}", "VALUE:", "VALUE:" ], [ "*", "*", "ERROR:Both Clin T and Path T values need to be valid for the schema.", "ERROR:(Clin T and/or Path T invalid)", "ERROR:(Clin T and/or Path T invalid)", "ERROR:(Clin T and/or Path T invalid)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/determine_default_t_anaplastic_77806.json b/src/test/resources/algorithms/tnm/2.0/tables/determine_default_t_anaplastic_77806.json deleted file mode 100644 index 6d3c8a16a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/determine_default_t_anaplastic_77806.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id" : "determine_default_t_anaplastic_77806", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Determine Default T Anaplastic", - "title" : "Determine Default T for Anaplastic for Calculations", - "description" : "Determine the default value for T to be used in calculations for Thyroid Anaplastic. This is used when Clin T or Path T (or both) are blank, but other T, N and M information is present. This will have no impact on the stored value and is solely a temporary state.\nThyroid Anaplastic does not have TX, so T4 is used.", - "last_modified" : "2018-05-14T21:29:06.500Z", - "definition" : [ { - "key" : "clin_t_in", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "path_t_in", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "clin_t_out", - "name" : "Clinical T with Defaults", - "type" : "ENDPOINT" - }, { - "key" : "path_t_out", - "name" : "Pathologic T with Defaults", - "type" : "ENDPOINT" - }, { - "key" : "combined_t_out", - "name" : "Combined T from Defaults", - "type" : "ENDPOINT" - }, { - "key" : "source_t_out", - "name" : "Source of Combined T", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "path_t_in", "clin_t_in" ], - "rows" : [ [ "", "", "VALUE:4", "VALUE:4", "VALUE:4", "VALUE:1" ], [ "", "A, IS, ISPU, ISPD", "VALUE:{{path_t_in}}", "VALUE:{{path_t_in}}", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "", "88,X,0,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "VALUE:4", "VALUE:{{path_t_in}}", "VALUE:{{path_t_in}}", "VALUE:2" ], [ "88,X,0,A,IS,ISPU,ISPD,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "", "VALUE:{{clin_t_in}}", "VALUE:4", "VALUE:{{clin_t_in}}", "VALUE:1" ], [ "88,X,0,A,IS,ISPU,ISPD,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "88,X,0,A,IS,ISPU,ISPD,1,1MI,1A,1A1,1A2,1B,1B1,1B2,1C,1D,2,2A,2A1,2A2,2B,2C,2D,3,3A,3B,3C,3D,4,4A,4B,4C,4D,4E", "VALUE:{{clin_t_in}}", "VALUE:{{path_t_in}}", "VALUE:", "VALUE:" ], [ "*", "*", "ERROR:Both Clin T and Path T values need to be valid for the schema.", "ERROR:Both Clin T and Path T values need to be valid for the schema.", "ERROR:", "ERROR:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/discriminator_bile_ducts.json b/src/test/resources/algorithms/tnm/2.0/tables/discriminator_bile_ducts.json deleted file mode 100644 index 4954cbccd..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/discriminator_bile_ducts.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id" : "discriminator_bile_ducts", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF25", - "title" : "Site-Specific Factor 25", - "subtitle" : "Schema Discriminator: BileDuctsDistal/BileDuctsPerihilar/CysticDuct", - "notes" : "**Note 1:** For cases coded to primary site code C240 (extrahepatic bile ducts), code the subsite in which the tumor arose. This information will be used to determine which schemas will be used to assign T, N, M, and stage group.\n\n**Note 2:** According to TNM, perihilar tumors are defined as those located in the extrahepatic biliary tree proximal to the origin of the cystic duct. These represent 70-80% of extrahepatic bile duct tumors. Distal bile duct tumors are those arising between the junction of the cystic duct and the ampulla of Vater, including those arising in the intrapancreatic portion of the common bile duct. These represent 20-30% of extrahepatic bile duct tumors.", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) AJCC Cancer Staging Manual (7th ed.). New York; London: Springer, pg. 211-217", - "last_modified" : "2018-05-14T21:29:02.504Z", - "definition" : [ { - "key" : "ssf25", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "schema", - "name" : "Schema", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "Perihilar bile duct(s)\nProximal extrahepatic bile duct(s)\nHepatic duct(s)", "VALUE:bile_ducts_perihilar" ], [ "020", "Stated as Klatskin tumor", "VALUE:bile_ducts_perihilar" ], [ "030", "Cystic bile duct; cystic duct", "VALUE:cystic_duct" ], [ "040", "Distal bile duct\nCommon bile duct\nCommon duct, NOS", "VALUE:bile_ducts_distal" ], [ "050", "Diffuse involvement \nMore than one subsite involved, subsite of origin not stated", "VALUE:bile_ducts_perihilar" ], [ "060", "Subsite of extrahepatic bile ducts not stated\nOr subsite stated as middle extrahepatic bile duct\nAND treated with combined hepatic and hilar resection", "VALUE:bile_ducts_perihilar" ], [ "070", "Subsite of extrahepatic bile ducts not stated\nOr subsite stated as middle extrahepatic bile duct\nAND treated with pancreaticoduodenectomy", "VALUE:bile_ducts_distal" ], [ "999", "Subsite of extrahepatic bile ducts not stated and not classifiable in codes 050-070", "VALUE:bile_ducts_perihilar" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/discriminator_esophogus_ge_junction.json b/src/test/resources/algorithms/tnm/2.0/tables/discriminator_esophogus_ge_junction.json deleted file mode 100644 index 512463b74..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/discriminator_esophogus_ge_junction.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "discriminator_esophogus_ge_junction", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF25", - "title" : "Site-Specific Factor 25", - "subtitle" : "Schema Discriminator: EsophagusGEJunction (EGJ)/Stomach", - "notes" : "**Note 1:** Since primary site codes C161 (fundus of stomach) and C162 (body of stomach) can be assigned to either the EsophagusGEJunction (EGJ) schema or the Stomach schema, this schema discriminator is needed to determine the schema to select only when the site is C161 or C162. The discriminator is coded to 981 for records with primary sites C163-C166, C168, or C169. The discriminator is coded to 982 for records with primary site C160.\n\n**Note 2:** In the TNM 7th Edition, primaries of the EGJ (C160) and the proximal 5 cm of the stomach were moved from the Stomach chapter to the Esophagus chapter, which includes with Esophagogastric Junction. Due to differences in the schemas for Esophagus and Stomach, a new schema was created to accomodate these changes. To determine whether a cancer in the fundus or body of the stomach should be coded according to the Esophagus/EGJunction or Stomach schema, it is necessary to identify the midpoint or epicenter of the tumor. In the TNM 7th Edition, cancers whose midpoint is in the lower thoracic esophagus, EGJ, or within the proximal 5 cm of the stomach (cardia) and extending into the EGJ or esophagus, are stage-grouped similarly to adenocarcinoma of the esophagus. All other cancers with a midpoint in the stomach greater than 5 cm distal to the EGJ, or those within 5 cm of the EGJ but not extending into the EGJ or esophagus, are stage-grouped using the gastric cancer staging system.\n\n**Note 3:** For cases coded to primary site C161 or C162 and histology 8000-8152, 8154-8231, 8243-8245, 8247, 8248, 8250-8934, 8940-9136, 9141-9582, or 9700-9701, code whether or not the tumor extends to the esophagus (crosses the EGJ) and code the stated distance of the midpoint of the tumor from the EGJ. This information will be used to determine whether the case has TNM and stage group assigned using definitions for esophagus or stomach cancers.\n\n**Note 4:** If the primary site code is C161 or C162 and involvement of the EGJ and distance from EGJ is unknown but a physician stages the case using esophagus definitions, assign code 060. The EsophagusGEJunction schema will be used to assign TNM stage.", - "last_modified" : "2018-05-14T21:29:01.172Z", - "definition" : [ { - "key" : "ssf25", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "schema", - "name" : "Schema", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No involvement of esophagus or gastroesophageal junction (EGJ)", "VALUE:stomach" ], [ "020", "Esophagus or EGJ involved AND distance of tumor midpoint from EGJ 5 cm or less", "VALUE:esophagus_gejunction" ], [ "030", "Esophagus or EGJ involved AND distance of tumor midpoint from EGJ more than 5 cm", "VALUE:stomach" ], [ "040", "Esophagus or EGJ involved AND distance of tumor midpoint from EGJ unknown", "VALUE:esophagus_gejunction" ], [ "060", "Esophagus/EGJ involved AND distance of tumor midpoint from EGJ more than 5 cm from EGJ\nAND physician stages case using esophagus definitions\nOR\nEsophagus/EGJ involvement unknown\nAND distance of tumor midpoint from EGJ more than 5 cm or unknown\nAND physician stages case using esophagus definitions", "VALUE:esophagus_gejunction" ], [ "981", "Primary site coded to C163-C169\nMay include cases which were converted to this code from a blank", "VALUE:stomach" ], [ "982", "Primary site coded to C160\nMay include cases which were converted to this code from a blank", "VALUE:esophagus_gejunction" ], [ "999", "Involvement of esophagus/EGJ unknown, or no information\nNot documented in patient record", "VALUE:stomach" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/discriminator_lacrimal.json b/src/test/resources/algorithms/tnm/2.0/tables/discriminator_lacrimal.json deleted file mode 100644 index 75ce96eb6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/discriminator_lacrimal.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "discriminator_lacrimal", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF25", - "title" : "Site-Specific Factor 25", - "subtitle" : "Schema Discriminator: Lacrimal Gland/Lacrimal Sac", - "notes" : "**Note:** For cases coded to primary site code C695 (lacrimal gland/lacrimal sac), code the site in which the tumor arose.", - "last_modified" : "2018-05-14T21:29:00.055Z", - "definition" : [ { - "key" : "ssf25", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "schema", - "name" : "Schema", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "015", "Lacrimal gland\nLacrimal, NOS", "VALUE:lacrimal_gland" ], [ "025", "Lacrimal sac\nLacrimal duct, NOS\n Nasal lacrimal duct\n Nasolacrimal duct", "VALUE:lacrimal_sac" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/discriminator_melanoma.json b/src/test/resources/algorithms/tnm/2.0/tables/discriminator_melanoma.json deleted file mode 100644 index 651fdccd9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/discriminator_melanoma.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "discriminator_melanoma", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF25", - "title" : "Site-Specific Factor 25", - "subtitle" : "Schema Discriminator: Melanoma Ciliary Body/Melanoma Iris", - "notes" : "**Note:** For cases coded to melanoma with primary site code C694 Ciliary Body/Iris, code the site in which the tumor arose. This information will be used to determine which of two schemas will be used to assign staging values to the case.", - "last_modified" : "2018-05-14T21:28:58.363Z", - "definition" : [ { - "key" : "ssf25", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "schema", - "name" : "Schema", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "Ciliary Body\nCrystalline lens\nSclera\nUveal tract\nIntraocular\nEyeball", "VALUE:melanoma_ciliary_body" ], [ "020", "Iris", "VALUE:melanoma_iris" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/discriminator_nasopharynx.json b/src/test/resources/algorithms/tnm/2.0/tables/discriminator_nasopharynx.json deleted file mode 100644 index ffa70b01d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/discriminator_nasopharynx.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "discriminator_nasopharynx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF25", - "title" : "Site-Specific Factor 25", - "subtitle" : "Schema Discriminator: Nasopharynx/PharyngealTonsil", - "notes" : "**Note:** For cases coded to primary site code C111 (Posterior wall of nasopharynx), code the specific site in which the tumor arose.", - "last_modified" : "2018-05-14T21:29:03.442Z", - "definition" : [ { - "key" : "ssf25", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "schema", - "name" : "Schema", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "Posterior wall of nasopharynx \nPosterior wall of nasopharynx, NOS", "VALUE:nasopharynx" ], [ "020", "Adenoid\nPharyngeal tonsil\nNasopharyngeal tonsil", "VALUE:pharyngeal_tonsil" ], [ "981", "Nasopharynx cases coded to C110, C112, C113, C118, C119\nNote: May include cases which were converted to this code from a blank", "VALUE:nasopharynx" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/distal_blie_duct_t_30646.json b/src/test/resources/algorithms/tnm/2.0/tables/distal_blie_duct_t_30646.json deleted file mode 100644 index 7f8028961..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/distal_blie_duct_t_30646.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "distal_blie_duct_t_30646", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Distal Bile Duct", - "title" : "Clinical T", - "notes" : "**Note 1:** Distal bile duct tumors arise between the junction of the cystic duct-bile duct and the ampulla of Vater. The classification includes tumors developing in congenital choledochal cysts and tumors arising in the intrapancreatic portion of the common bile duct.\n\n**Note 2:** Involvement within the porta hepatis is coded according to the structures involved: portal vein, common hepatic artery, and common hepatic duct.", - "last_modified" : "2018-05-14T21:29:04.442Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor confined to the bile duct", "Tumor confined to: \n Lamina propria\n Mucosa, NOS\n Submucosa (superficial invasion)\n\nMuscularis propria\n\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor invades beyond the wall of the bile duct", "Periductal/fibromuscular connective tissue\n\nStated as T2" ], [ "c3", "cT3", "Tumor invades:\n Gallbladder\n Liver\n Pancreas\n Duodenum\n Other adjacent organs", "Common hepatic duct\n\nUnilateral branches of portal vein (right or left)\nUnilateral branches of hepatic artery (right or left)\n\nStated as T3" ], [ "c4", "cT4", "Tumor involves the celiac axis or the superior mesenteric artery", "Abdominal wall\nCeliac axis\nColon, NOS\n Transverse including flexure\nGreater omentum\nOmentum, NOS\n Lesser\nStomach, distal\nStomach, proximal\nSuperior mesenteric artery\n\nMain portal vein or its branches bilaterally\nCommon hepatic artery\nHepatic artery, NOS\nPortal vein, NOS\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/esophagus_gejunction_histologies_stage.json b/src/test/resources/algorithms/tnm/2.0/tables/esophagus_gejunction_histologies_stage.json deleted file mode 100644 index b0d2a7279..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/esophagus_gejunction_histologies_stage.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "esophagus_gejunction_histologies_stage", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Histologies Stage", - "title" : "Histologies Stage Table", - "notes" : "**Note 1:** The determination of TNM stage group from T, N, M, and grade for EsophagusGEJunction depends further on histologic type. Since squamous cell carcinoma typically has a poorer prognosis than adenocarcinoma, a tumor of mixed histopathologic type (including a squamous component or NOS histology) or a type that is not otherwise specified should be staged as squamous cell carcinoma. \n\n**Note 2:** This table shows the selection of the appropriate version of the Stage table based on histology.", - "last_modified" : "2018-05-14T21:29:01.169Z", - "definition" : [ { - "key" : "hist", - "name" : "ICD-O-3 Histology Code", - "type" : "INPUT" - }, { - "key" : "stage_table", - "name" : "Stage Table", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "8000-8046", "JUMP:tnm_7_stage_squamous_64205" ], [ "8050", "JUMP:tnm_7_stage_adenocarcinoma_86531" ], [ "8051-8131", "JUMP:tnm_7_stage_squamous_64205" ], [ "8140-8147", "JUMP:tnm_7_stage_adenocarcinoma_86531" ], [ "8148-8152", "JUMP:tnm_7_stage_squamous_64205" ], [ "8154-8157", "JUMP:tnm_7_stage_squamous_64205" ], [ "8160-8162", "JUMP:tnm_7_stage_adenocarcinoma_86531" ], [ "8170-8175", "JUMP:tnm_7_stage_squamous_64205" ], [ "8180-8221", "JUMP:tnm_7_stage_adenocarcinoma_86531" ], [ "8230-8231", "JUMP:tnm_7_stage_squamous_64205" ], [ "8243-8245", "JUMP:tnm_7_stage_squamous_64205" ], [ "8247-8248", "JUMP:tnm_7_stage_squamous_64205" ], [ "8250-8507", "JUMP:tnm_7_stage_adenocarcinoma_86531" ], [ "8508-8513", "JUMP:tnm_7_stage_squamous_64205" ], [ "8514-8551", "JUMP:tnm_7_stage_adenocarcinoma_86531" ], [ "8560-8570", "JUMP:tnm_7_stage_squamous_64205" ], [ "8571-8574", "JUMP:tnm_7_stage_adenocarcinoma_86531" ], [ "8575", "JUMP:tnm_7_stage_squamous_64205" ], [ "8576", "JUMP:tnm_7_stage_adenocarcinoma_86531" ], [ "8940-8941", "JUMP:tnm_7_stage_adenocarcinoma_86531" ], [ "8950", "JUMP:tnm_7_stage_squamous_64205" ], [ "8980-8981", "JUMP:tnm_7_stage_squamous_64205" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/esophagus_histologies_stage.json b/src/test/resources/algorithms/tnm/2.0/tables/esophagus_histologies_stage.json deleted file mode 100644 index 1db846548..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/esophagus_histologies_stage.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "esophagus_histologies_stage", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Histologies Stage", - "title" : "Histologies Stage Table", - "notes" : "**Note 1:** The determination of the TNM 7 stage group from T, N, M, and grade for esophagus depends further on histologic type. Since squamous cell carcinoma typically has a poorer prognosis than adenocarcinoma, a tumor of mixed histopathologic type (including a squamous component or NOS histology) or a type that is not otherwise specified should be staged as squamous cell carcinoma. \n\n**Note 2:** This table shows the selection of the appropriate version of the Stage table based on histology.", - "last_modified" : "2018-05-14T21:29:01.287Z", - "definition" : [ { - "key" : "hist", - "name" : "ICD-O-3 Histology Code", - "type" : "INPUT" - }, { - "key" : "stage_table", - "name" : "Stage Table", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "8000-8046", "JUMP:tnm_7_stage_squamous_34274" ], [ "8050", "JUMP:tnm_7_stage_adenocarcinoma_44054" ], [ "8051-8131", "JUMP:tnm_7_stage_squamous_34274" ], [ "8140-8147", "JUMP:tnm_7_stage_adenocarcinoma_44054" ], [ "8148-8157", "JUMP:tnm_7_stage_squamous_34274" ], [ "8160-8162", "JUMP:tnm_7_stage_adenocarcinoma_44054" ], [ "8170-8175", "JUMP:tnm_7_stage_adenocarcinoma_44054" ], [ "8180-8221", "JUMP:tnm_7_stage_adenocarcinoma_44054" ], [ "8230-8249", "JUMP:tnm_7_stage_squamous_34274" ], [ "8250-8507", "JUMP:tnm_7_stage_adenocarcinoma_44054" ], [ "8508", "JUMP:tnm_7_stage_squamous_34274" ], [ "8510-8513", "JUMP:tnm_7_stage_squamous_34274" ], [ "8514-8551", "JUMP:tnm_7_stage_adenocarcinoma_44054" ], [ "8560-8570", "JUMP:tnm_7_stage_squamous_34274" ], [ "8571-8574", "JUMP:tnm_7_stage_adenocarcinoma_44054" ], [ "8575", "JUMP:tnm_7_stage_squamous_34274" ], [ "8576", "JUMP:tnm_7_stage_adenocarcinoma_44054" ], [ "8940-8941", "JUMP:tnm_7_stage_adenocarcinoma_44054" ], [ "8950", "JUMP:tnm_7_stage_squamous_34274" ], [ "8980-8981", "JUMP:tnm_7_stage_squamous_34274" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/esophagus_t_28679.json b/src/test/resources/algorithms/tnm/2.0/tables/esophagus_t_28679.json deleted file mode 100644 index a5d826ca2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/esophagus_t_28679.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "esophagus_t_28679", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Esophagus", - "title" : "Pathologic T", - "notes" : "**Note 1:** Non-invasive carcinomas in the esophagus formerly called in situ are now called high grade dysplasia. High grade dysplasia and severe dysplasia are generally not reportable in cancer registries. \n* Assign pTis if your registry collects these tumors\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of esophagus or to cardia of stomach and code depth of invasion or extra-esophageal spread as indicated.\n\n**Note 3:** The three layers of the mucosa (epithelium, lamina propria, and muscularis mucosae) may be called the m1, m2, and m3 layers. The submucosa may be described as having inner, middle, and outer thirds called sm1, sm2, and sm3.\n\n**Note 4:** If the tumor's extension is only described by a phrase like \"through the muscularis propria\", this could mean that the cancer has penetrated the outermost muscle cells but not beyond (T2); but usually \"through the muscularis\" is used to indicate that the cancer extends beyond the muscle and into adjacent tissue, consistent with a T3 tumor. When the most specific description is a phrase like \"through the muscularis\" or \"through the esophageal wall\", then assign T3.", - "last_modified" : "2018-05-14T21:29:04.414Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ/high-grade dysplasia", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor invades: \n Lamina propria\n Muscularis mucosae\n Submucosa", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nInvades lamina propria, muscularis mucosae, or submucosa, exact layer not specified\n\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor invades lamina propria or muscularis mucosae", "Invasive tumor confined to mucosa, NOS (including intramucosal, NOS)\n\nInvades lamina propria or muscularis mucosae\n\nStated as T1a" ], [ "p1B", "pT1b", "Tumor invades submucosa", "Stated as T1b" ], [ "p2", "pT2", "Tumor invades muscularis propria", "Stated as T2" ], [ "p3", "pT3", "Tumor invades adventitia", "Adventitia and/or soft tissue invaded\nEsophagus is described as \"FIXED\"\n\nStated as T3" ], [ "p4", "pT4", "Tumor invades adjacent structures", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nInvades adjacent structures, NOS\n\nStated as T4 [NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Pleura\n Pericardium\n Diaphragm", "Tumor invades adjacent structures:\n\nAbdominal/lower esophagus:\n Diaphragm fixed\n\nCervical/upper esophagus:\n Hypopharynx\n Jugular vein\n Larynx\n Pleura\n Thyroid gland \n\nIntrathoracic esophagus: \n Lower portion (abdominal):\n Blood vessel(s), major: gastric artery/vein\n Diaphragm, not fixed; diaphragm, NOS\n Pleura\n Stomach, cardia (via serosa)\n\n Upper or middle portion:\n Diaphragm \n Pleura\n\nThoracic/middle esophagus:\n Pericardium\n Pleura \n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades other adjacent structures such as:\n Aorta\n Trachea\n Vertebral body", "Tumor invades adjacent structures\n\nCervical esophagus:\n Blood vessel(s): carotid artery, subclavian artery\n Carina \n Cervical vertebra(e) \n Trachea \n\nCervical/upper esophagus:\n Lung\n Main stem bronchus\n\nIntrathoracic esophagus (all portions):\n Adjacent Rib(s) \n Lung via bronchus\n Mediastinal structure(s), NOS \n Thoracic vertebra(e)\n\nIntrathoracic esophagus, upper or middle:\n Azygos vein\n\nIntrathoracic, upper or mid-portion, esophagus:\n Blood vessel(s), major: aorta, pulmonary artery/vein, vena cava \n Carina \n Trachea \n \nIntrathoracic, lower portion (abdominal), esophagus:\n Blood vessel(s): aorta, vena cava \n \nFurther contiguous extension\n\nTumor invades adjacent structures and stated to be unresectable\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/esophagusgejunction_t_39319.json b/src/test/resources/algorithms/tnm/2.0/tables/esophagusgejunction_t_39319.json deleted file mode 100644 index 51645638f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/esophagusgejunction_t_39319.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "esophagusgejunction_t_39319", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Esophagus GE Junction", - "title" : "Pathologic T", - "notes" : "**Note 1:** Non-invasive carcinomas in the esophagus formerly called in situ are now called high grade dysplasia. High grade dysplasia and severe dysplasia are generally not reportable in cancer registries.\n* Assign pTis if your registry collects these tumors\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of esophagus or to cardia of stomach and code depth of invasion or extra-esophageal spread as indicated.\n\n**Note 3:** The three layers of the mucosa (epithelium, lamina propria, and muscularis mucosae) may be called the m1, m2, and m3 layers. The submucosa may be described as having inner, middle, and outer thirds called sm1, sm2, and sm3.\n\n**Note 4:** If the diagnosis states linitis plastica and no other information regarding primary tumor is available, assign T1. Linitis plastica is defined as diffuse involvement of the entire stomach wall.\n\n**Note 5:** Assign T4a for contiguous extension from the site of origin. Discontinuous involvement is coded in distant metastasis.except for implants within the stomach (T1).", - "last_modified" : "2018-05-14T21:29:04.416Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ/high-grade dysplasia", "Non-invasive\n\n(Adeno)carcinoma, noninvasive, in a polyp\n\nStated as Tis" ], [ "p1", "pT1", "Tumor invades: \n Lamina propria\n Muscularis mucosae\n Submucosa", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories.\n\nTumor in polyp, NOS\n\nImplants inside stomach \n\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor invades lamina propria or muscularis mucosae", "Invasive tumor confined to mucosa, NOS (including intramucosal, NOS)\n\nInvades lamina propria or muscularis mucosae\n\nStated as T1a" ], [ "p1B", "pT1b", "Tumor invades submucosa", "Stated as T1b" ], [ "p2", "pT2", "Tumor invades muscularis propria", "Invades into but not through muscularis propria\n\nLinitis plastica (and no other information regarding extension available) \n\nStated as T2" ], [ "p3", "pT3", "Tumor invades adventitia", "Extension through wall, NOS \nInvasion through muscularis propria or muscularis, NOS\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\n\nAdventitia and/or soft tissue invaded\nEsophagus is described as \"FIXED\"\n\nExtension to adjacent (connective) tissue WITHOUT perforation of visceral peritoneum covering these structures:\n Gastric artery\n Ligaments: \n Gastrocolic\n Gastrohepatic\n Gastrosplenic\n Omentum, NOS\n Greater\n Lesser\n Perigastric fat\n\nStated as T3" ], [ "p4", "pT4", "Tumor invades adjacent structures", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories.\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Pleura\n Pericardium\n Diaphragm", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum), including: \n Perforation of visceral peritoneum covering the gastric ligaments or the omentum WITHOUT invasion of adjacent structures\n\nAbdominal wall\nAdrenal gland\nKidney\nRetroperitoneum\nPericardium\nPleura\nDiaphragm\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades other adjacent structures such as:\n Aorta\n Trachea\n Vertebral body", "Tumor invades adjacent structures:\n Duodenum via serosa \n Duodenum, NOS\n Esophagus via serosa\n Ileum\n Jejunum\n Liver\n Pancreas\n Small intestine, NOS\n Spleen\n Transverse colon (including flexures)\n\nStated as unresectable, NOS\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/fallopian_tube_t_96584.json b/src/test/resources/algorithms/tnm/2.0/tables/fallopian_tube_t_96584.json deleted file mode 100644 index fc81805d5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/fallopian_tube_t_96584.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "fallopian_tube_t_96584", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Fallopian Tube", - "title" : "Pathologic T", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III [NOS] or IIIC, assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is FIGO stage IV, leave T and N blank and see M\n\n**Note 2:** FIGO does not include an in situ category for tumors of the fallopian tube, but TNM does. Assign pTis (behavior code /2) for in situ cases. \n\n**Note 3:** Liver capsule metastasis is T3/Stage III, liver parenchymal metastasis, M1/Stage IV. \n\n**Note 4:** Both extension to and discontinuous metastasis to any of the following pelvic organs are assigned as FIGO Stage II and coded in T2a or T2b.\n * Adnexa, NOS; bladder, bladder serosa; broad ligament (mesovarium); cul de sac; contralateral fallopian tube; parametrium; pelvic peritoneum; pelvic wall; rectum; sigmoid colon; sigmoid mesentery; ureter; uterus; uterine serosa\n\n**Note 5:** Both extension to and discontinuous metastasis to any of the following abdominal organs are classified as FIGO Stage III and coded in T3.\n* Abdominal mesentery; diaphragm; gallbladder; infracolic omentum; kidneys; large intestine except rectum and sigmoid colon; liver (peritoneal surface); omentum; pancreas; pericolic gutter; peritoneum, NOS; small intestine; spleen; stomach; ureters", - "last_modified" : "2018-05-14T21:29:04.375Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated\n Physician assigns cTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ (preinvasive carcinoma)", "In situ, intraepithelial, noninvasive\nLimited to tubal mucosa\n\nStated as Tis" ], [ "p1", "pT1", "Tumor confined to fallopian tube(s)", "Note: T1 has subcategories of T1a, T1b and T1c. Assign T1 only when there is no information available to assign one of the subcategories\n\nConfined to fallopian tube, NOS\nLocalized, NOS\n\nFIGO Stage I [NOS]\n\nStated as T1" ], [ "p1A", "pT1a", "Tumor limited to one tube \nWITHOUT penetrating the serosal surface", "Confined to one fallopian tube \nWITHOUT penetrating serosal surface\nWITHOUT ascites\n\nFIGO Stage IA\n\nStated as T1a" ], [ "p1B", "pT1b", "Tumor limited to both tubes \nWITHOUT penetrating the serosal surface", "Confined to both fallopian tubes \nWITHOUT penetrating serosal surface\nWITHOUT ascites\n\nFIGO Stage IB\n\nStated as T1b" ], [ "p1C", "pT1c", "Tumor limited to one or both tube(s)\nWITH extension onto or through the tubal serosa, OR \nWITH malignant cells in ascites or peritoneal washings", "Extension onto or through tubal serosa\nMalignant ascites\nMalignant peritoneal washings\n\nFIGO Stage IC\n\nStated as T1c" ], [ "p2", "pT2", "Tumor involves one or both fallopian tube(s) with pelvic extension", "Note: T2 has subcategories of T2a, T2b and T2c. Assign T2 only when there is no information available to assign one of the subcategories\n\nPelvic extension, NOS with no malignant cells in ascites or peritoneal washings\n\nFIGO Stage II [NOS]\n\nStated as T2 [NOS]" ], [ "p2A", "pT2a", "Extension and/or metastasis to uterus and/or ovaries", "Extension or metastasis to:\n Corpus uteri\n Ovary, ipsilateral or contralateral\n Uterus, NOS\nWITHOUT malignant cells in ascites or peritoneal washings\n\nFIGO Stage IIA\n\nStated as T2a" ], [ "p2B", "pT2b", "Extension to other pelvic structures", "Extension or metastasis to:\n Adjacent peritoneum\n Broad ligament, ipsilateral or contralateral\n Cul de sac (rectouterine pouch)\n Mesosalpinx, ipsilateral or contralateral\n Rectosigmoid\n Sigmoid\nWITHOUT malignant cells in ascites or peritoneal washings\n\nFIGO Stage IIB\n\nStated as T2b" ], [ "p2C", "pT2c", "Pelvic extension (2a or 2b) \nWITH malignant cells in ascites or peritoneal washings", "FIGO Stage IIC\n\nStated as T2c" ], [ "p3", "pT3", "Tumor involves one or both fallopian tube(s) \nWITH peritoneal implants outside the pelvis and/or positive regional lymph nodes", "Note: T3 has subcategories of T3a, T3b and T3c. Assign T3 only when there is no information available to assign one of the subcategories\n\nPeritoneal implants or metastasis outside the pelvis, size of metastasis not stated, unknown if microscopic or macroscopic:\n Omentum\n Small intestine\n\nFurther contiguous extension\n\nStated as T3 [NOS]" ], [ "p3A", "pT3a", "Microscopic peritoneal metastasis outside the pelvis", "Microscopic peritoneal implants or metastasis:\n Omentum\n Small intestine\n\nFIGO Stage IIIA\n\nStated as T3a" ], [ "p3B", "pT3b", "Macroscopic peritoneal metastasis outside the pelvis, 2 cm or less in greatest dimension", "FIGO Stage IIIB \n\nStated as T3b" ], [ "p3C", "pT3c", "Peritoneal metastasis, more than 2 cm in greatest dimension AND/OR \nPositive regional lymph nodes", "Stated as T3c" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC or IV\n\nPathologic classification not met\nPathologic classification criteria met, evaluation done:\n Results not documented in patient record\n No surgical resection of known primary tumor (not T0) OR\n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/floor_of_mouth_t_38606.json b/src/test/resources/algorithms/tnm/2.0/tables/floor_of_mouth_t_38606.json deleted file mode 100644 index 544933cbc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/floor_of_mouth_t_38606.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "floor_of_mouth_t_38606", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Floor of Mouth", - "title" : "Pathologic T", - "notes" : "**Note 1:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1-T3) based on the tumor size when the tumor involvement is limited to the cortical bone for the following descriptions \n\n Invasive tumor on one side confined to\n Lamina propria\n Submucosa\n Tumor crosses midline\n\n Anterior 2/3 of tongue\n Base of tongue\n Bone, NOS\n Cartilage, NOS\n Cortical bone of mandible\n Cortical bone of maxilla\n Cortical bone, NOS\n Epiglottis\n Gingiva (alveolar ridge), lower\n Glossoepiglottic fold\n Glossopharyngeal sulcus\n Lateral pharyngeal wall\n Mandible, NOS\n Maxilla, NOS\n Periosteum of mandible\n Pharyngeal (lingual) surface\n Pharyngoepiglottic fold\n Subcutaneous soft tissue of chin/neck\n Sublingual gland, including ducts\n Submandibular (submaxillary) glands, including ducts\n Tonsillar pillars and fossae\n Tonsils\n Vallecula\n\n Confined to floor of mouth\n Localized, NOS\n\n**Note 4:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.564Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Deep (extrinsic) muscle of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus\n\nMaxillary sinus (antrum)\nSkin of undersurface of chin/neck\nTrabecular bone of mandible\nTrabecular bone of maxilla\n\nStated as T4a" ], [ "p4B", "pT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Specified bone \n\nMasticator space\nPterygoid plates\n\nFurther contiguous extension:\n Base of skull\n Internal carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gallbladder_t_77234.json b/src/test/resources/algorithms/tnm/2.0/tables/gallbladder_t_77234.json deleted file mode 100644 index 280439786..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gallbladder_t_77234.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "gallbladder_t_77234", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Gallbladder", - "title" : "Pathologic T", - "notes" : "**Note:** Ignore extension from gallbladder to cystic duct. Ignore extension to extrahepatic bile ducts or ampulla of Vater (T3) when other structures in T4 are involved.", - "last_modified" : "2018-05-14T21:29:01.122Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor invades lamina propria or muscular layer", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nConfined to gallbladder, NOS\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor invades lamina propria", "Invasive tumor confined to:\n Lamina propria\n Mucosa, NOS\n Submucosa (superficial invasion)\n\nStated as T1a" ], [ "p1B", "pT1b", "Tumor invades muscular layer", "Muscularis propria\n\nStated as T1b" ], [ "p2", "pT2", "Tumor invades perimuscular connective tissue; no extension beyond serosa or into liver", "Perimuscular connective tissue\n\nStated as T2" ], [ "p3", "pT3", "Tumor perforates the serosa (visceral peritoneum) and/or directly invades the liver and/or one other adjacent organ or structure, such as: \n Stomach\n Duodenum\n Colon\n Pancreas\n Omentum\n Extrahepatic bile ducts", "Invasion of/through serosa (visceral peritoneum)\n\nExtension to: \n Abdominal wall\n Ampulla of Vater\n Branch(es) of hepatic artery (right or left) but not into main portal vein or hepatic artery\n Branch(es) of portal vein (right or left)\n Cystic artery vein\n Diaphragm\n Small intestine\n\nExtension into:\n Liver \n\nStated as T3" ], [ "p4", "pT4", "Tumor invades main portal vein or hepatic artery or invades two or more extrahepatic organs or structures", "Extension to:\n Common hepatic artery\n Main portal vein\n Hepatic artery, NOS\n Portal vein, NOS\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_mitotic_rate_calculation.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_mitotic_rate_calculation.json deleted file mode 100644 index bee989c98..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_mitotic_rate_calculation.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "gist_appendix_mitotic_rate_calculation", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Mitotic Rate Calculation", - "title" : "Mitotic Rate Calculation Table", - "notes" : "**Note:** The mitotic count recorded in Site-Specific Factor 11 is used to determine the mitotic rate as shown in this table. The mitotic rate from the Mitotic Rate Calculation Table, \"low\" or \"high\", is used in the calculation of the TNM 7 stage group as shown in the TNM 7 Stage tables.", - "last_modified" : "2018-05-14T21:29:02.814Z", - "definition" : [ { - "key" : "ssf11", - "name" : "SSF11", - "type" : "INPUT" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000-050", "VALUE:Low" ], [ "051-100", "VALUE:High" ], [ "110", "VALUE:High" ], [ "988", "VALUE:Low" ], [ "990", "VALUE:Low" ], [ "991", "VALUE:High" ], [ "996", "VALUE:Unknown" ], [ "998", "VALUE:Unknown" ], [ "999", "VALUE:Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_n_87661.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_n_87661.json deleted file mode 100644 index 478a915e9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_n_87661.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "gist_appendix_n_87661", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N GIST Appendix", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 12 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes for appendix**\n\n Celiac\n Anterior (prececal)\n Ileocolic\n Posterior (retrocecal)\n Right colic\n Colic, NOS\n Epicolic (adjacent to bowel wall)\n Mesenteric, NOS\n Mesocolic, NOS\n Paracolic/pericolic", - "footnotes" : "(1) International Union Against Cancer (UICC) TNM Classification of Malignant Tumors, 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 88\n\n\\# NX is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.241Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed#", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_t_67124.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_t_67124.json deleted file mode 100644 index 19ee3fffa..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gist_appendix_t_67124.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "gist_appendix_t_67124", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T GIST Appendix", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for GIST appendix tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon; code depth of invasion or extra-appendiceal spread as indicated.\n\n**Note 3:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category based on the tumor size for the following descriptions\n\n Invasive tumor in polyp, NOS\n Tumor confined to muscular wall\n Tumor invades through submucosa and muscularis mucosae to involve mucosa\n\n Extension through wall, NOS\n Fat, NOS\n Invasion of/through serosa (mesothelium) (visceral peritoneum)\n Invasion of/through serosa with invasion of/through mucosa\n Invasion through muscularis propria or muscularis, NOS\n Non-peritonealized pericolic tissues invaded\n Perimuscular tissue invaded\n Subserosal tissue/(sub)serosal fat invaded\n Transmural, NOS\n Wall, NOS\n\n Extension to\n Adjacent tissue(s), NOS\n Connective tissue\n Mesenteric fat\n Mesentery \n Mesoappendix\n Pericolic fat\n \n Adherent to other organs or structures, NOS\n Abdominal\n Adrenal (suprarenal) gland\n Bladder\n Diaphragm\n Fallopian tube\n Fistula to skin\n Gallbladder\n Greater omentum\n Liver capsule\n Other segment(s) of colon via serosa\n Ovary\n Retroperitoneum (excluding fat)\n Small intestine\n Uterus\n\n Other contiguous extension including\n Kidney\n Liver\n Ureter\n\n Confined to appendix\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:03.452Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 5 cm but not more than 10 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Tumor more than 10 cm in greatest dimension", "Stated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gist_colon_n_46351.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_colon_n_46351.json deleted file mode 100644 index 78ee21633..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gist_colon_n_46351.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "gist_colon_n_46351", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin N GIST Colon", - "title" : "Clinical N", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 2:** Regional lymph node involvement is rare for GISTs, so that cases in which the nodal status is not associated clinically are classified as cN0 instead of cNX.\n\n**Regional lymph nodes**\n \n**All colon sites** \n\n Colic [NOS] \n Epicolic (adjacent to bowel wall) \n Mesocolic [NOS] \n Mesenteric [NOS]\n Paracolic/pericolic\n\n**Cecum (C180)** \n\n Anterior (prececal)\n Cecal [NOS]\n Ileocolic\n Periappendiceal\n Posterior (retrocecal)\n Right colic \n\n**Ascending colon (C182)** \n\n Ileocolic\n Middle colic\n Right colic\n\n**Hepatic flexure (C183)** \n\n Middle colic \n Right colic\n\n**Transverse colon (C184)** \n\n Inferior mesenteric \n Left colic \n Middle colic \n Right colic\n\n**Splenic flexure (C185)** \n\n Inferior mesenteric \n Left colic \n Middle colic\n\n**Descending colon (C186)** \n\n Inferior mesenteric \n Left colic \n Sigmoid \n\n**Sigmoid colon (C187)** \n\n Inferior mesenteric \n Left colic \n Rectosigmoid \n Sigmoid \n Sigmoidal (sigmoid mesenteric) \n Superior hemorrhoidal \n Superior rectal", - "footnotes" : "\\# NX is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.421Z", - "definition" : [ { - "key" : "clin_n", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "clin_n_display", - "name" : "Clinical N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cNX", "Regional lymph nodes cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess N\n Regional lymph node involvement cannot be determined or findings inconclusive\nPhysician assigns cNX, no other information available to determine N" ], [ "c0", "cN0", "No regional lymph node metastasis", "" ], [ "c1", "cN1", "Regional lymph node metastasis", "Nodule(s) or foci in pericolic fat/adjacent mesentery/mesocolic fat\n\nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gist_esophagus_mitotic_rate_calculation.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_esophagus_mitotic_rate_calculation.json deleted file mode 100644 index 5432a4f4a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gist_esophagus_mitotic_rate_calculation.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "gist_esophagus_mitotic_rate_calculation", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Mitotic Rate Calculation", - "title" : "Mitotic Rate Calculation Table", - "notes" : "**Note:** The mitotic count recorded in Site-Specific Factor 6 is used to determine the mitotic rate as shown in this table. The mitotic rate from the Mitotic Rate Calculation Table, \"low\" or \"high\", is used in the calculation of the TNM 7 stage group as shown in the TNM 7 Stage tables.", - "last_modified" : "2018-05-14T21:29:03.132Z", - "definition" : [ { - "key" : "ssf6", - "name" : "SSF6", - "type" : "INPUT" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000-050", "VALUE:Low" ], [ "051-100", "VALUE:High" ], [ "110", "VALUE:High" ], [ "988", "VALUE:Low" ], [ "990", "VALUE:Low" ], [ "991", "VALUE:High" ], [ "996", "VALUE:Unknown" ], [ "998", "VALUE:Unknown" ], [ "999", "VALUE:Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gist_esophagus_t_61710.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_esophagus_t_61710.json deleted file mode 100644 index a4ec05cfa..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gist_esophagus_t_61710.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "gist_esophagus_t_61710", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T GIST Esophagus", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for GIST esophagus tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon; code depth of invasion or extra-appendiceal spread as indicated.\n\n**Note 3:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category based on the tumor size for the following descriptions\n\n Tumor confined to muscular wall\n Tumor invades through submucosa and muscularis mucosae to involve with mucosa\n\n Localized, NOS\n \n Adventitia and/or soft tissue invaded\n Esophagus described as fixed\n Invasion into adventitia with invasion of/through mucosa\n Invasion of adjacent structures\n\n**Cervical esophagus (C150)**\n \n Carina\n Carotid artery\n Cervical vertebra€\n Hypopharynx\n Jugular vein\n Larynx\n Thyroid gland \n Subclavian artery\n Trachea\n \n**Lower thoracic (abdominal) esophagus (C152, C155)**\n\n Diaphragm fixed\n\n**Upper thoracic esophagus (C151, C153)**\n\n Blood vessel(s), major:\n Aorta \n Azygos vein\n Pulmonary artery/vein \n Vena cava \n Diaphragm \n Main stem bronchus \n Trachea \n\n**Intrathoracic esophagus, upper (C153) or middle (C154)**\n\n Blood vessel(s), major: \n Aorta \n Gastric artery/vein\n Vena cava\n Pericardium", - "last_modified" : "2018-05-14T21:29:01.097Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 5 cm but not more than 10 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Tumor more than 10 cm in greatest dimension", "Stated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_mitotic_rate_calculation.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_mitotic_rate_calculation.json deleted file mode 100644 index 30366b491..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_mitotic_rate_calculation.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "gist_peritoneum_mitotic_rate_calculation", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Mitotic Rate Calculation", - "title" : "Mitotic Rate Calculation Table", - "notes" : "**Note:** The mitotic count recorded in Site-Specific Factor 5 is used to determine the mitotic rate as shown in this table. The mitotic rate from the Mitotic Rate Calculation Table, \"low\" or \"high\", is used in the calculation of the TNM 7 stage group as shown in the TNM 7 Stage tables.", - "last_modified" : "2018-05-14T21:29:01.296Z", - "definition" : [ { - "key" : "ssf5", - "name" : "SSF5", - "type" : "INPUT" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000-050", "VALUE:Low" ], [ "051-100", "VALUE:High" ], [ "110", "VALUE:High" ], [ "988", "VALUE:Low" ], [ "990", "VALUE:Low" ], [ "991", "VALUE:High" ], [ "996", "VALUE:Unknown" ], [ "998", "VALUE:Unknown" ], [ "999", "VALUE:Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_n_18654.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_n_18654.json deleted file mode 100644 index 8c18ac2cd..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_n_18654.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "gist_peritoneum_n_18654", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N GIST Peritoneum", - "title" : "Pathologic N", - "notes" : "**Note:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n \n**Regional lymph nodes for peritoneum**\n\n Intra-abdominal\n Paracaval\n Pelvic\n Subdiaphragmatic", - "footnotes" : "\\# NX is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.689Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed#", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_t_10242.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_t_10242.json deleted file mode 100644 index 5df6021ff..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gist_peritoneum_t_10242.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "gist_peritoneum_t_10242", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T GIST Peritoneum", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for GIST peritoneum tumors.\n\n**Note 2:** Tumor size must be known to assign a T value. You may use a physician’s statement of the T category if this is the only information in the medical record. If no tumor size is available, assign TX\n\n**Note 3:** For the following descriptions, assign the appropriate T based on the tumor size.\n\n Tumor confined to site of origin\n Adjacent connective tissue\n Adjacent organs/structures including bone/cartilage\n\n Confined to peritoneum\n Confined to retroperitoneum\n Localized, NOS \n\n**For retroperitoneum (C480)**\n \n Adrenal(s) (suprarenal gland(s))\n Aorta\n Colon\n Kidney(s)\n Pancreas\n Inferior vena cava (IVC)\n Vertebra\n\n**For peritoneum (C481, C482)**\n \n Colon \n Esophagus\n Gallbladder\n Liver\n Small intestine\n Spleen\n Stomach", - "last_modified" : "2018-05-14T21:29:04.423Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 5 cm but not more than 10 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Tumor more than 10 cm in greatest dimension", "Stated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gist_rectum_n_35223.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_rectum_n_35223.json deleted file mode 100644 index 2bf01726f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gist_rectum_n_35223.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "gist_rectum_n_35223", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N GIST Rectum", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 12 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met. classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n \n**All sites** \n\n Hemorrhoidal (middle, superior) \n Inferior mesenteric \n Mesenteric [NOS] \n Perirectal \n Rectal (middle) \n Rectal [NOS] \n Rectal (superior) \n Rectosigmoid (paracolic/pericolic)\n Sigmoidal (sigmoid mesenteric)\n\n**Rectosigmoid (C199)** \n\n Colic, (NOS) \n Left colic\n \n**Rectum (C209)** \n\n Hemorrhoidal (inferior) \n Internal iliac (hypogastric) \n Lateral (laterosacral) \n Middle (promontorial) (Gerota's node) \n Obturator\n Presacral\n Rectal (inferior) \n Sacral (NOS)\n Sacral promontory", - "footnotes" : "(1) International Union Against Cancer (UICC) TNM Classification of Malignant Tumors, 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 104\n\n\\# NX is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.107Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed#", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Nodule(s) or foci in perirectal fat\n\nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gist_rectum_t_7125.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_rectum_t_7125.json deleted file mode 100644 index b94921d3d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gist_rectum_t_7125.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "gist_rectum_t_7125", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T GIST Rectum", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for GIST rectum tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon; code depth of invasion or extra-appendiceal spread as indicated.\n\n**Note 3:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category based on the tumor size for the following descriptions\n\n**All sites**\n\n Invasive tumor in polyp, NOS\n Tumor confined to muscular wall\n Tumor invades through submucosa and muscularis mucosae to involve mucosa\n\n Extension through wall, NOS\n Intraluminal extension to rectosigmoid (rectum only)\n Intraluminal extension to anus (rectum only)\n Invasion through muscularis propria or muscularis, NOS\n Invasion of/through serosa (mesothelium) (visceral peritoneum)\n Invasion of/through serosa with invasion of/through mucosa\n Non-peritonealized pericolic tissues invaded\n Perimuscular tissue invaded\n Subserosal tissue/(sub)serosal fat invaded\n Transmural, NOS\n Wall, NOS\n\n Confined to rectosigmoid\n Confined to rectum\n Localized, NOS\n\n**All sites**\n\n Adherent to liver capsule\n Adherent to other organs or structures, NOS\n Bladder\n Cul de sac (rectouterine pouch)\n Fat, NOS\n Other segments of colon via serosa\n Ovary(ies)\n Pelvic wall \n Perirectal fat\n Prostate\n Skeletal muscles of pelvic floor\n Uterus\n Vagina\n \n**Rectosigmoid (C199)**\n\n Colon via serosa\n Fallopian tube(s)\n Mesentery (including mesenteric fat, mesocolon)\n Pericolic fat\n Pelvic plexuses\n Small intestine\n Ureter(s)\n \n\n**Rectum (C209)**\n\n Anus (excluding intraluminal extension)\n Bone(s) of pelvis\n Colon\n Ductus deferens\n Perineum, perianal skin\n Rectovaginal septum\n Rectovesical fascia for males only\n Sacral plexus\n Sacrum\n Seminal vesicle(s)\n Urethra", - "last_modified" : "2018-05-14T21:29:01.345Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 5 cm but not more than 10 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Tumor more than 10 cm in greatest dimension", "Stated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gist_small_intestine_n_18642.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_small_intestine_n_18642.json deleted file mode 100644 index 8f3e22807..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gist_small_intestine_n_18642.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "gist_small_intestine_n_18642", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N GIST Small Intestine", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Pericholedochal (common bile duct) lymph nodes are coded in N (regional lymph nodes) for primaries of the duodenum. They are coded in M (distant metastasis) for primaries of other small intestine subsites.\n\n**Regional lymph nodes**\n\n**Duodenum primaries (C170)**\n\n Duodenal\n Gastroduodenal\n Hepatic\n Pancreaticoduodenal\n Pericholodochal (common bile duct)\n Pyloric: infrapyloric, subpyloric\n Superior mesenteric\n \n**Jejunum primaries (C171)**\n\n Mesenteric, NOS\n Superior mesenteric\n\n**Ileum primaries (C172)**\n\n Cecal (anterior, posterior, retrocecal) \n Ileocecal \n Mesenteric, NOS\n Superior mesenteric", - "footnotes" : "(1) International Union Against Cancer (UICC) TNM Classification of Malignant Tumors, 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 84\n\n\\# NX is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:00.344Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed#", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gist_small_intestine_t_83343.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_small_intestine_t_83343.json deleted file mode 100644 index 76b3d3c5f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gist_small_intestine_t_83343.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "gist_small_intestine_t_83343", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T GIST Small Intestine", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for GIST small intestine tumors.\n\n**Note 2:** Give priority to coding depth of invasion or spread outside the small intestine for tumor with intraluminal or lateral extension to adjacent segment(s) of small intestine.\n\n**Note 3:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category based on the tumor size for the following descriptions\n\n Invasion of polyp, NOS\n Tumor confined to muscular wall\n Tumor invades through submucosa and muscularis mucosae to involve mucosa\n Intraluminal spread to other segments of small intestine or cecum\n Invasion through muscularis propria or muscularis, NOS\n Extension through wall, NOS\n Subserosal tissue/(sub) serosal fat invaded\n Transmural, NOS\n\n Adjacent connective tissue\n Mesentery, including mesenteric fat\n Nonperitonealized perimuscular tissue \n Retroperitoneum \n Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum)\n\n**Duodenum primaries (C170)**\n\n Ampulla of Vater\n Blood vessel(s), major\n Aorta\n Gastroduodenal artery\n Greater omentum\n Portal vein\n Renal vein\n Superior mesenteric artery or vein\n Vena cava\n Diaphragm\n Extrahepatic bile duct(s)\n Gallbladder\n Hepatic flexure\n Kidney (right or NOS)\n Liver (quadrate lobe, right lobe or NOS)\n Omentum\n Pancreas\n Pancreatic duct\n Stomach\n Transverse colon\n Ureter, right\n\n**Jejunum (C171) or Ileum (C172)** \n\n Bladder\n Colon, including appendix\n Fallopian tube(s)\n Ovary(ies)\n Uterus\n \n Confined to small intestine\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:01.604Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 5 cm but not more than 10 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Tumor more than 10 cm in greatest dimension", "Stated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gist_stomach_n_73991.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_stomach_n_73991.json deleted file mode 100644 index ead04ad8f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gist_stomach_n_73991.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "gist_stomach_n_73991", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin N GIST Stomach", - "title" : "Clinical N", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 2:** Regional lymph node involvement is rare for GISTs, so that cases in which the nodal status is not associated clinically are classified as cN0 instead of cNX.\n\n**Regional lymph nodes**\n\n Celiac\n Hepatic (excluding gastrohepatic) \n Hepatoduodenal \n Left gastric (superior gastric), NOS\n Cardial\n Cardioesophageal\n Gastric, left\n Gastropancreatic, left\n Lesser curvature\n Lesser omental\n Paracardial\n Hepatoduodenal (for lesser curvature) \n Nodule(s) in perigastric fat \n Pancreaticosplenic (pancreaticolienal)\n Pancreaticoduodenal\n Perigastric, NOS\n Peripancreatic\n Right gastric (inferior gastric), NOS:\n Gastrocolic\n Gastroduodenal\n Gastroepiploic (gastro-omental), right or NOS\n Gastrohepatic\n Greater curvature\n Greater omental\n Pyloric, NOS: infrapyloric, subpyloric, suprapyloric\n Splenic (lienal), NOS\n Gastroepiploic (gastro-omental), left\n Splenic hilar", - "footnotes" : "\\# NX is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.426Z", - "definition" : [ { - "key" : "clin_n", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "clin_n_display", - "name" : "Clinical N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cNX", "Regional lymph nodes cannot be assessed#", "Clinical classification criteria met, evaluation done: \n Physician unable to assess N\n Regional lymph node involvement cannot be determined or findings inconclusive\nPhysician assigns cNX, no other information available to determine N" ], [ "c0", "cN0", "No regional lymph node metastasis", "" ], [ "c1", "cN1", "Regional lymph node metastasis", "Nodule(s) or foci in pericolic fat/adjacent mesentery/mesocolic fat\n\nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gist_stomach_t_60871.json b/src/test/resources/algorithms/tnm/2.0/tables/gist_stomach_t_60871.json deleted file mode 100644 index 81bcbd26f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gist_stomach_t_60871.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "gist_stomach_t_60871", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T GIST Stomach", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for GIST stomach tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon; code depth of invasion or extra-appendiceal spread as indicated.\n\n**Note 3:** Tumor size must be known to assign a T value. You may use a physician’s statement of the T category if this is the only information in the medical record. If no tumor size is available, assign TX\n\n**Note 4:** Assign the appropriate T category based on the tumor size for the following descriptions\n\n Invasive tumor in polyp, NOS\n Tumor confined to muscular wall\n Tumor invades through submucosa and muscularis mucosae to involve mucosa\n Implants inside stomach\n Invasion through muscularis propria or muscularis, NOS\n Extension through wall, NOS\n Perimuscular tissue invaded\n Subserosal tissue/(sub)serosal fat invaded\n Intraluminal extension to esophagus or duodenum\n\n Extension to adjacent (connective) tissue WITHOUT perforation of visceral peritoneum\n Gastric artery\n Ligaments \n Gastrocolic\n Gastrohepatic\n Gastrosplenic\n Omentum, NOS\n Greater\n Lesser\n Perigastric fat\n\n Fat, NOS\n Invasion of/through serosa (mesothelium), (tunica serosa) (visceral peritoneum)\n Including perforation of visceral peritoneum covering the gastric ligaments or the omentum \n WITHOUT invasion of adjacent structures\n\n Invasion of/through serosa with invasion of/through mucosa\n Diaphragm\n Duodenum via serosa Duodenum, NOS\n Esophagus via serosa\n Ileum\n Jejunum\n Liver\n Pancreas\n Small intestine, NOS\n Spleen\n Transverse colon/mesocolon (including flexures)\n Aorta\n Celiac axis\n Abdominal wall\n Adrenal gland\n Kidney\n Retroperitoneum\n Further contiguous extension\n\n Confined to stomach\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:02.648Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 5 cm but not more than 10 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Tumor more than 10 cm in greatest dimension", "Stated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gistcolon_t_85374.json b/src/test/resources/algorithms/tnm/2.0/tables/gistcolon_t_85374.json deleted file mode 100644 index c397059ca..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gistcolon_t_85374.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "gistcolon_t_85374", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T GIST Colon", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for GIST colon tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon; code depth of invasion or extra-appendiceal spread as indicated.\n\n**Note 3:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category based on the tumor size for the following descriptions:\n\n**All colon subsites**\n\n Confined to colon\n Localized, NOS\n\n Adherent to liver capsule\n Extension through wall, NOS\n Invasive tumor in polyp, NOS\n Invasion of/through serosa (mesothelium) (visceral peritoneum)\n Invasion of/through serosa with invasion of/through mucosa\n Invasion through muscularis propria or muscularis, NOS\n Non-peritonealized pericolic tissues invaded\n Perimuscular tissue invaded\n Subserosal tissue/(sub)serosal fat invaded\n Transmural, NOS\n Tumor confined to muscular wall\n Tumor invades through submucosa and muscularis mucosae to involve mucosa \n Wall, NOS \n\n**All colon subsites** \n \n Abdominal wall\n Adjacent tissue(s), NOS \n Adrenal (suprarenal) gland\n Bladder\n Connective tissue\n Diaphragm\n Fat, NOS\n Fistula to skin\n Gallbladder\n Mesenteric fat\n Mesentery \n Mesocolon\n Other segment(s) of colon via serosa\n Pericolic fat\n Retroperitoneum (excluding fat)\n Small intestine\n\n**Cecum (C180)**\n\n Fallopian tube\n Greater omentum\n Kidney, right\n Liver\n Ovary\n Ureter, right\n Uterus\n\n**Ascending colon (C182)**\n\n Fallopian tube\n Greater omentum\n Liver, right lobe\n Kidney, right\n Ovary\n Retroperitoneal fat\n Ureter, right\n Uterus\n\n**Transverse colon (C183) and flexures (C184, C185)**\n\n Bile ducts\n Gallbladder\n Gastrocolic ligament\n Greater omentum\n Kidney\n Liver\n Pancreas\n Spleen\n Stomach\n Ureter\n\n**Descending colon (C186)**\n\n Fallopian tube\n Greater omentum\n Kidney, left\n Ovary\n Pelvic wall\n Retroperitoneal fat\n Spleen\n Ureter, left\n Uterus\n\n**Sigmoid colon (C187)**\n\n Cul de sac (rectouterine pouch)\n Greater omentum \n Fallopian tube\n Ovary\n Pelvic wall\n Ureter\n Uterus", - "last_modified" : "2018-05-14T21:29:03.439Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 5 cm but not more than 10 cm in greatest dimension", "Stated as T3" ], [ "c4", "cT4", "Tumor more than 10 cm in greatest dimension", "Stated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gistesophagus_n_17925.json b/src/test/resources/algorithms/tnm/2.0/tables/gistesophagus_n_17925.json deleted file mode 100644 index 3be1380c7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gistesophagus_n_17925.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "gistesophagus_n_17925", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N GIST Esophagus", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Regional lymph nodes for any part of the esophagus fall in the range from periesophageal/cervical to the celiac region. Contralateral and bilateral cervical, supraclavicular, and mediastinal lymph nodes are included.\n\n**Note 4:** Celiac nodes are coded in N (regional lymph nodes) for lower thoracic (abdominal) esophagus; they are coded in M (distant metastasis) for cervical and intrathoracic (upper and middle) esophagus. Cervical nodes, NOS are coded in N (regional lymph nodes) for cervical esophagus; they are coded in M (distant metastasis) for upper and lower thoracic (abdominal) esophagus.\n\n**Note 5:** Lymph node stations/groups are listed in parentheses when applicable. \n\n**Regional Lymph Nodes for Esophagus (including contralateral or bilateral)** \n\n**All esophagus subsites**\n\n Anterior mediastinal (6)\n Mediastinal, NOS\n Peri-/paraesophageal (8L, 8M)\n\n**Cervical esophagus (C150)**\n\n Anterior deep cervical (laterotracheal) (recurrent laryngeal)\n Anterior mediastinal (6)\n Aortopulmonary (5)\n Cervical, NOS \n Cervical (deep), NOS\n Diaphragmatic (15)\n Internal jugular, NOS\n Jugulodigastric (subdigastric)\n Mediastinal, NOS\n Para-aortic (ascending aorta or phrenic)\n Paratracheal (2R, 2L, 4R, 4L)\n Posterior mediastinal (3P)\n Pulmonary ligament (9)\n Scalene (inferior deep cervical) (1)\n Subaortic\n Supraclavicular (transverse cervical) (1) \n Superior mediastinal\n \n**Upper thoracic esophagus (C151, C153)**\n\n Cervical lymph nodes\n\n**Lower thoracic (abdominal) esophagus (C152, C155)**\n\n Aortopulmonary (5)\n Diaphragmatic (15)\n Celiac lymph nodes (20)\n Left gastric (superior gastric) (17): cardiac (cardial), lesser curvature, perigastric, NOS\n Para-aortic (ascending aorta or phrenic)\n Paratracheal (2R, 2L, 4R, 4L)\n Posterior mediastinal (3P) (tracheoesophageal)\n Pulmonary ligament (9)\n Subaortic \n Superior mediastinal\n \n**Intrathoracic esophagus, upper (C153) or middle (C154)**\n\n Aortopulmonary (5)\n Carinal (tracheobronchial) (10R,10L) (tracheal bifurcation)\n Cervical: deep (NOS), lower (NOS), middle (NOS), upper (NOS)\n Diaphragmatic (15)\n Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n Internal jugular, NOS\n Intrabronchial, NOS\n Jugulo-omohyoid (supraomohyoid)\n Jugulodigastric (subdigastric)\n Left gastric (superior gastric) (17): cardiac (cardial), lesser curvature, perigastric (NOS)\n Para-aortic (ascending aorta or phrenic)\n Peritracheal\n Posterior mediastinal (tracheoesophageal) \n Pulmonary ligament (9) \n Superior mediastinal", - "footnotes" : "(1) International Union Against Cancer (UICC) TNM Classification of Malignant Tumors, 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 69\n\n\\# NX is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.419Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed#", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/giststomach_t_55582.json b/src/test/resources/algorithms/tnm/2.0/tables/giststomach_t_55582.json deleted file mode 100644 index feb4acbc9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/giststomach_t_55582.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "giststomach_t_55582", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T NET Stomach", - "title" : "Clinical T", - "notes" : "**Note 1:** TNM defines Tis as carcinoma in situ/dysplasia (tumor size less than 0.5 mm), confined to mucosa. Neuroendocrine tumors (NET) stated to be in situ, noninvasive, or confined to mucosa are classified as Tis. \n* \"Dysplasia\" alone is generally not reportable in cancer registries but, if a registry does collect it, assign Tis\n\n**Note 2:** Intraluminal or intramural extension to esophagus and duodenum is classified by the depth of greatest invasion. \n* For extension to esophagus or duodenum via serosa, assign T4\n\n**Note 3:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Invasion into\n Lamina propria, including lamina propria in a polyp \n Muscularis mucosae, including muscularis mucosae in a polyp\n Submucosa (superficial invasion), including submucosa in a polyp\n\n Implants inside stomach\n\n Confined to stomach\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:03.561Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ/dysplasia (tumor less than 0.5 mm, confined to mucosa)", "Intraepithelial, noninvasive\nTumor size less than 0.5 millimeters (mm)\nTumor confined to mucosa, NOS including intramucosal, NOS\n\nStated as Tis" ], [ "c1", "cT1", "Tumor confined to mucosa and 0.5 mm or more but not greater than 1 cm in size; OR \n\nInvades submucosa and is no greater than 1 cm in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor invades muscularis propria OR \n\nIs more than 1 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor invades subserosa", "Invasion through muscularis propria or muscularis, NOS\nExtension through wall, NOS\nPerimuscular tissue invaded\nSubserosa/(sub)serosal fat penetrated\n\nExtension to adjacent (connective) tissue \nWITHOUT perforation of visceral peritoneum:\n Gastric artery\n Ligaments: \n Gastrocolic\n Gastrohepatic\n Gastrosplenic\n Omentum\n Perigastric fat\n\nStated as T3" ], [ "c4", "cT4", "Tumor perforates visceral peritoneum (serosa) or other organs or adjacent structures", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum)\nIncluding perforation of visceral peritoneum covering the gastric ligaments or the omentum \nWITHOUT invasion of adjacent structures\n\nAbdominal wall\nAdrenal gland\nAorta\nCeliac axis\nDiaphragm\nDuodenum via serosa or NOS\nEsophagus via serosa\nIleum\nJejunum\nKidney\nLiver\nPancreas\nRetroperitoneum\nSmall intestine, NOS\nSpleen\nTransverse colon/mesocolon (including flexures)\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/glottic_larynx_t_8691.json b/src/test/resources/algorithms/tnm/2.0/tables/glottic_larynx_t_8691.json deleted file mode 100644 index 14736924b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/glottic_larynx_t_8691.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "glottic_larynx_t_8691", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Glottic Larynx", - "title" : "Pathologic T", - "notes" : "**Note 1:** Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 2:** Assign T1 for localized tumor only if no information is available to identify further extension.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.242Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor limited to vocal cord(s) (may involve anterior or posterior commissure) \nWITH normal mobility", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nInvasive tumor with normal vocal cord mobility: \n Confined to glottis, NOS:\n Intrinsic larynx\n Laryngeal commissure(s):\n Anterior\n Posterior; \n Vocal cord(s), NOS:\n True vocal cord(s)\n True cord(s)\n\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor limited to one vocal cord", "One vocal cord with normal vocal cord mobility\n\nStated as T1a with no other information on extension" ], [ "p1B", "pT1b", "Tumor involves both vocal cords", "Both vocal cords with normal vocal cord mobility\n\nStated as T1b with no other information on extension" ], [ "p2", "pT2", "Tumor extends to supraglottis and/or subglottis, and/or \nWITH impaired vocal cord mobility", "Tumor involves adjacent regions(s) of larynx:\n Subglottis\n Supraglottis:\n Aryepiglottic fold\n Arytenoid cartilage:\n Corniculate tubercle\n Cuneiform tubercle\n Ventricular bands (false vocal cord(s))\n\nImpaired vocal cord mobility\n\nStated as T2" ], [ "p3", "pT3", "Tumor limited to larynx WITH vocal cord fixation and/or \nInvades: \n Paraglottic space \n Inner cortex of the thyroid cartilage", "Tumor limited to larynx WITH vocal cord fixation\nInvolvement of intrinsic muscle(s) of larynx:\n Aryepiglottic\n Arytenoid \n Cricoarytenoid\n Cricothyroid\n Thyroarytenoid \n Thyroepiglottic\n Vocalis\n\nInner cortex of thyroid cartilage (minor thyroid cartilage erosion)\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades through the outer cortex of the thyroid cartilage, AND/OR \nInvades tissues beyond the larynx, e.g.\n Trachea\n Soft tissues of neck including deep/extrinsic muscle of tongue \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n Strap muscles\n Thyroid\n Esophagus", "Base of tongue\nHypopharynx, NOS\nPre-epiglottic tissues\nPostcricoid area\nPyriform sinus\nVallecula\n\nExtension to/through:\n Cricoid cartilage\n Outer cortex of thyroid cartilage\n\nExtension to/through tissues beyond larynx:\n Strap muscles:\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Oropharynx\n Skin\n Soft tissue of neck\n Thyroid gland\n Trachea\n\nCervical esophagus\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades: \n Prevertebral space\n Encases carotid artery\n Mediastinal structures", "Stated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/grade.json b/src/test/resources/algorithms/tnm/2.0/tables/grade.json deleted file mode 100644 index 9cb1b017d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/grade.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "grade", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Grade", - "title" : "Grade", - "last_modified" : "2018-05-14T21:29:03.716Z", - "definition" : [ { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "desc", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Grade I" ], [ "2", "Grade II" ], [ "3", "Grade III" ], [ "4", "Grade IV" ], [ "5", "T-Cell" ], [ "6", "B-Cell" ], [ "7", "Null cell" ], [ "8", "NK (natural killer) cell" ], [ "9", "Grade/differentiation unknown, not stated, or not applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gum_lower_t_24295.json b/src/test/resources/algorithms/tnm/2.0/tables/gum_lower_t_24295.json deleted file mode 100644 index 663defda2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gum_lower_t_24295.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "gum_lower_t_24295", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Gum Lower", - "title" : "Pathologic T", - "notes" : "**Note 1:** Superficial erosion alone of bone/tooth socket by gingival primary is not sufficient to code as bone involvement. (1)\n\n**Note 2:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 3:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1-T3) based on the tumor size when the tumor involvement is limited to the cortical bone for the following descriptions\n\n Invasive tumor confined to lamina propria (mucoperiosteum) (stroma)\n\n Bone, NOS\n Buccal mucosa (inner cheek)\n Cartilage of mandible or maxilla\n Cartilage, NOS\n Cortical bone of mandible or maxilla\n Cortical bone, NOS\n Fascial muscle, NOS\n Floor of mouth\n Labial mucosa (inner lip), lower lip\n Labial mucosa (inner lip), lip, NOS\n Lateral pharyngeal wall\n Mandible, NOS\n Maxilla, NOS\n Soft palate including uvula\n Subcutaneous soft tissue of face\n Tongue mucosa\n Tonsillar pillars and fossae\n Tonsils\n\n Confined to gum, NOS\n Localized, NOS\n\n**Note 5:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 27\n\n\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.566Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Deep (extrinsic) muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\nBone of maxilla\nMaxilla, NOS\nSkin of face\nTrabecular bone of mandible\n\nStated as T4a" ], [ "p4B", "pT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Labial mucosa (inner lip), upper lip \nMucosa upper lip \nSpecified bone\n\nMasticator space\nPterygoid plates\n\nFurther contiguous extension, including:\n Base of skull\n Internal carotid artery (encased)\n Skull\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gum_other_t_49578.json b/src/test/resources/algorithms/tnm/2.0/tables/gum_other_t_49578.json deleted file mode 100644 index 201b138f9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gum_other_t_49578.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "gum_other_t_49578", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Gum Other", - "title" : "Pathologic T", - "notes" : "**Note 1:** Superficial erosion alone of bone/tooth socket by gingival primary is not sufficient to code as bone involvement. (1)\n\n**Note 2:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 3:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1-T3) based on the tumor size when the tumor involvement is limited to the cortical bone for the following descriptions \n\n Invasive tumor confined to lamina propria (mucoperiosteum) (stroma)\n\n Bone, NOS\n Buccal mucosa (inner cheek)\n Cartilage of mandible or maxilla\n Cartilage, NOS\n Cortical bone of mandible or maxilla\n Cortical bone, NOS\n Fascial muscle, NOS\n Floor of mouth\n Labial mucosa (inner lip), lower lip\n Labial mucosa (inner lip), lip, NOS\n Lateral pharyngeal wall\n Mandible, NOS\n Maxilla, NOS\n Soft palate including uvula\n Subcutaneous soft tissue of face\n Tongue mucosa\n Tonsillar pillars and fossae\n Tonsils\n\n Confined to gum, NOS\n Localized, NOS\n\n**Note 5:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 27\n\n\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.568Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories.\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Trabecular bone: \n Mandible\n Maxilla\n Palatine bone\n\nStated as T4a" ], [ "p4B", "pT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Specified bone\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/gum_upper_t_95905.json b/src/test/resources/algorithms/tnm/2.0/tables/gum_upper_t_95905.json deleted file mode 100644 index aa5561f72..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/gum_upper_t_95905.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "gum_upper_t_95905", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Gum Upper", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.507Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Buccal mucosa (inner cheek) \n Floor of mouth\n Hard palate\n Lateral pharyngeal wall\n Lip, NOS (labial mucosa)\n Lower lip (labial mucosa)\n Soft palate including uvula \n Tongue mucosa\n Lateral pharyngeal wall\n Tonsillar pillars and fossae \n Tonsils\n Upper gingiva\n\nExtension via mucosa to upper lip (labial mucosa)\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissue or periosteum of lower gum\n\nBone, NOS except mandible, base of skull\nCortical bone of maxilla or palatine bone\nDeep soft tissues or musculature of upper lip\nFacial muscle, NOS\nMaxilla, NOS\nMaxillary sinus (antrum)\nNasal cavity\nPalatine bone, NOS\nSkin of face\nSubcutaneous soft tissue of face\n\nExtrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\nCartilage of mandible\nCortical bone of mandible\nMandible, NOS\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Base of skull\n Pterygoid plates\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/heart_mediastinum_n_50568.json b/src/test/resources/algorithms/tnm/2.0/tables/heart_mediastinum_n_50568.json deleted file mode 100644 index e20b9f1e7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/heart_mediastinum_n_50568.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "heart_mediastinum_n_50568", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Heart Mediastinum", - "title" : "Pathologic N", - "notes" : "**Note:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n\n Aortic (above diaphragm), NOS\n Peri/para-aortic, NOS\n Ascending aorta (phrenic)\n Subaortic (aortico-pulmonary window)\n Carinal (tracheobronchial) (tracheal bifurcation)\n Mediastinal, NOS\n Anterior\n Posterior (tracheoesophageal)\n Pericardial\n Peri/paraesophageal\n Peri/paratracheal, NOS\n Azygos (lower peritracheal)\n Pre- and retrotracheal, NOS\n Precarinal\n Pulmonary ligament\n Subcarinal", - "last_modified" : "2018-05-14T21:29:04.408Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph node(s), NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/heart_mediastinum_t_30394.json b/src/test/resources/algorithms/tnm/2.0/tables/heart_mediastinum_t_30394.json deleted file mode 100644 index 742c034e9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/heart_mediastinum_t_30394.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "heart_mediastinum_t_30394", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Heart Mediastinum", - "title" : "Pathologic T", - "notes" : "**Note 1:** For TNM staging, sarcomas of the heart and mediastinum are classified as deep tumors.Only T1b or T2b are available. \n\n**Note 2:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category based on the tumor size for the following descriptions\n\n Invasive tumor confined to site of origin\n Adjacent connective tissue\n For heart (C380)\n Visceral pericardium (epicardium)\n Adjacent organs/structures\n For heart (C380)\n Ascending aorta\n Parietal pericardium\n Vena cava\n For mediastinum (C381-C383, C388)\n Descending aorta\n Esophagus\n Large (named) artery(ies)\n Large (named) vein(s)\n Pericardium, NOS\n Parietal\n Visceral (epicardium)\n Phrenic nerve(s)\n Pleura, NOS\n Parietal pleura\n Visceral pleura of lung\n Sternum\n Sympathetic nerve trunk(s)\n Thoracic duct\n Thymus\n Trachea, parietal pleura\n Vertebra(e)\n\n Further contiguous extension\n\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:04.407Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1B", "pT1b", "Tumor 5 cm or less in greatest dimension\nDeep tumor", "Stated as T1b or T1 [NOS]" ], [ "p2B", "pT2b", "Tumor more than 5 cm in greatest dimension\nDeep tumor", "Stated as T2b or T2 [NOS]" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/histologies_grade_path_stage_tnm_7_37149.json b/src/test/resources/algorithms/tnm/2.0/tables/histologies_grade_path_stage_tnm_7_37149.json deleted file mode 100644 index 98263b8d1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/histologies_grade_path_stage_tnm_7_37149.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "histologies_grade_path_stage_tnm_7_37149", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Histologies, Grade, Path Stage - TNM 7", - "title" : "Histology, Grade, Path Stage - TNM 7", - "notes" : "**Note:** Age at DX is described as both a three character value and a numeric value, so both 45 and 045 will work. While the NAACCR field definition includes the leading zeros, this avoids problems with different methods of storing the information.", - "last_modified" : "2018-05-14T21:28:58.412Z", - "definition" : [ { - "key" : "hist", - "name" : "ICD-O-3 Histology", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "stage_table_desc", - "name" : "Stage Table Description", - "type" : "DESCRIPTION" - }, { - "key" : "stage_table", - "name" : "Stage Table", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "8020", "Carcinoma, undifferentiated, NOS", "1,2,3,4,9", "*", "Anaplastic", "JUMP:tnm_7_path_stage_thyroid_anaplastic_79873" ], [ "8021", "Carcinoma, anaplastic, NOS", "1,2,3,4,9", "*", "Anaplastic", "JUMP:tnm_7_path_stage_thyroid_anaplastic_79873" ], [ "8030", "Giant cell and spindle cell carcinoma", "1,2,3,4,9", "*", "Anaplastic", "JUMP:tnm_7_path_stage_thyroid_anaplastic_79873" ], [ "8031", "Giant cell carcinoma", "1,2,3,4,9", "*", "Anaplastic", "JUMP:tnm_7_path_stage_thyroid_anaplastic_79873" ], [ "8032", "Spindle cell carcinoma", "1,2,3,4,9", "*", "Anaplastic", "JUMP:tnm_7_path_stage_thyroid_anaplastic_79873" ], [ "8345", "Medullary carcinoma with amyloid stroma (C739)", "1,2,3,9", "*", "Med", "JUMP:tnm_7_path_stage_thyroid_medullary_77691" ], [ "8346", "Mixed medullary-follicular carcinoma (C739)", "1,2,3,9", "*", "Med", "JUMP:tnm_7_path_stage_thyroid_medullary_77691" ], [ "8347", "Mixed medullary-papillary carcinoma (C739)", "1,2,3,9", "*", "Med", "JUMP:tnm_7_path_stage_thyroid_medullary_77691" ], [ "8430", "Mucoepidermoid tumor [obs]", "1,2,3,9", "*", "Med", "JUMP:tnm_7_path_stage_thyroid_medullary_77691" ], [ "8510", "Medullary carcinomas, NOS", "1,2,3,9", "*", "Med", "JUMP:tnm_7_path_stage_thyroid_medullary_77691" ], [ "8512", "Medullary carcinoma with lymphoid stroma", "1,2,3,9", "*", "Med", "JUMP:tnm_7_path_stage_thyroid_medullary_77691" ], [ "8513", "Atypical medullary carcinoma (C50_)", "1,2,3,9", "*", "Med", "JUMP:tnm_7_path_stage_thyroid_medullary_77691" ], [ "*", "Any histology in inclusion table", "4", "*", "Anaplastic", "JUMP:tnm_7_path_stage_thyroid_anaplastic_79873" ], [ "*", "Any histology in inclusion table", "5-8", "*", "ERROR", "ERROR:Invalid Grade" ], [ "*", "ALL OTHER HISTOLOGIES IN INCLUSION TABLE", "1,2,3,9", "000-044,0-9,10-44", "Pap/Fol", "JUMP:tnm_7_path_stage_thyroid_papillary_and_follicular_age_less_than_45_95553" ], [ "*", "ALL OTHER HISTOLOGIES IN INCLUSION TABLE", "1,2,3,9", "045-120,45-99,100-120", "Pap/Fol", "JUMP:tnm_7_path_stage_thyroid_papillary_and_follicular_age_45_and_older_71342" ], [ "*", "ALL OTHER HISTOLOGIES IN INCLUSION TABLE", "1,2,3,9", "999", "Pap/Fol", "VALUE:99" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/histologies_grade_stage_tnm_7_20594.json b/src/test/resources/algorithms/tnm/2.0/tables/histologies_grade_stage_tnm_7_20594.json deleted file mode 100644 index 8733029f1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/histologies_grade_stage_tnm_7_20594.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "id" : "histologies_grade_stage_tnm_7_20594", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Histologies, Grade, Stage - TNM 7", - "title" : "Histology, Grade, Stage - TNM 7", - "notes" : "**Note 1:** Age at DX is described as both a three character value and a numeric value, so both 45 and 045 will work. While the NAACCR field definition includes the leading zeros, this avoids problems with different methods of storing the information.\n\n**Note 2:** It is possible to have a clinical T other than T4-T4b for Anaplastic cases if the histology or grade was adjusted after pathology results are obtained. In these cases, which should be rare, the Clinical Stage Group will follow the Papillary and Follicular rules.", - "last_modified" : "2018-05-14T21:29:00.870Z", - "definition" : [ { - "key" : "hist", - "name" : "ICD-O-3 Histology", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "age_dx", - "name" : "Age at Diagnosis", - "type" : "INPUT" - }, { - "key" : "stage_table_desc", - "name" : "Stage Table Description", - "type" : "DESCRIPTION" - }, { - "key" : "stage_table", - "name" : "Stage Table", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "8020", "Carcinoma, undifferentiated, NOS", "4,4A,4B", "1,2,3,4,9", "*", "Anaplastic", "JUMP:thyroid_ajcctnm7_stage_thyroid_anaplastic" ], [ "8021", "Carcinoma, anaplastic, NOS", "4,4A,4B", "1,2,3,4,9", "*", "Anaplastic", "JUMP:thyroid_ajcctnm7_stage_thyroid_anaplastic" ], [ "8030", "Giant cell and spindle cell carcinoma", "4,4A,4B", "1,2,3,4,9", "*", "Anaplastic", "JUMP:thyroid_ajcctnm7_stage_thyroid_anaplastic" ], [ "8031", "Giant cell carcinoma", "4,4A,4B", "1,2,3,4,9", "*", "Anaplastic", "JUMP:thyroid_ajcctnm7_stage_thyroid_anaplastic" ], [ "8032", "Spindle cell carcinoma", "4,4A,4B", "1,2,3,4,9", "*", "Anaplastic", "JUMP:thyroid_ajcctnm7_stage_thyroid_anaplastic" ], [ "8020,8021,8030-8032", "Anaplastic Histologies", "88,X,0,1,1A,1B,2,3", "1,2,3,4,9", "000-044,0-9,10-44", "Pap/Fol", "JUMP:thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_lessthan_45" ], [ "8020,8021,8030-8032", "Anaplastic Histologies", "88,X,0,1,1A,1B,2,3", "1,2,3,4,9", "045-120,45-99,100-120", "Pap/Fol", "JUMP:thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older" ], [ "8345", "Medullary carcinoma with amyloid stroma (C739)", "*", "1,2,3,9", "*", "Med", "JUMP:thyroid_ajcctnm7_stage_thyroid_medullary" ], [ "8346", "Mixed medullary-follicular carcinoma (C739)", "*", "1,2,3,9", "*", "Med", "JUMP:thyroid_ajcctnm7_stage_thyroid_medullary" ], [ "8347", "Mixed medullary-papillary carcinoma (C739)", "*", "1,2,3,9", "*", "Med", "JUMP:thyroid_ajcctnm7_stage_thyroid_medullary" ], [ "8430", "Mucoepidermoid tumor [obs]", "*", "1,2,3,9", "*", "Med", "JUMP:thyroid_ajcctnm7_stage_thyroid_medullary" ], [ "8510", "Medullary carcinomas, NOS", "*", "1,2,3,9", "*", "Med", "JUMP:thyroid_ajcctnm7_stage_thyroid_medullary" ], [ "8512", "Medullary carcinoma with lymphoid stroma", "*", "1,2,3,9", "*", "Med", "JUMP:thyroid_ajcctnm7_stage_thyroid_medullary" ], [ "8513", "Atypical medullary carcinoma (C50_)", "*", "1,2,3,9", "*", "Med", "JUMP:thyroid_ajcctnm7_stage_thyroid_medullary" ], [ "*", "Any histology in inclusion table", "4,4A,4B", "4", "*", "Anaplastic", "JUMP:thyroid_ajcctnm7_stage_thyroid_anaplastic" ], [ "*", "Any histology in inclusion table", "88,X,0,1,1A,1B,2,3", "4", "000-044,0-9,10-44", "Pap/Fol", "JUMP:thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_lessthan_45" ], [ "*", "Any histology in inclusion table", "88,X,0,1,1A,1B,2,3", "4", "045-120,45-99,100-120", "Pap/Fol", "JUMP:thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older" ], [ "*", "Any histology in inclusion table", "*", "5-8", "*", "ERROR", "ERROR:Invalid Grade" ], [ "*", "ALL OTHER HISTOLOGIES IN INCLUSION TABLE", "*", "1,2,3,9", "000-044,0-9,10-44", "Pap/Fol", "JUMP:thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_lessthan_45" ], [ "*", "ALL OTHER HISTOLOGIES IN INCLUSION TABLE", "*", "1,2,3,9", "045-120,45-99,100-120", "Pap/Fol", "JUMP:thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older" ], [ "*", "ALL OTHER HISTOLOGIES IN INCLUSION TABLE", "*", "1,2,3,9", "999", "Pap/Fol", "VALUE:99" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_47414.json b/src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_47414.json deleted file mode 100644 index 5eae25f3c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_47414.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "histologies_path_stage_47414", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Histologies Path Stage", - "title" : "Histologies Path Stage Table", - "notes" : "**Note 1:** The determination of TNM stage group from T, N, M, and grade for EsophagusGEJunction depends further on histologic type. Since squamous cell carcinoma typically has a poorer prognosis than adenocarcinoma, a tumor of mixed histopathologic type (including a squamous component or NOS histology) or a type that is not otherwise specified should be staged as squamous cell carcinoma. \n\n**Note 2:** This table shows the selection of the appropriate version of the Stage table based on histology.", - "last_modified" : "2018-05-14T21:29:01.228Z", - "definition" : [ { - "key" : "hist", - "name" : "ICD-O-3 Histology Code", - "type" : "INPUT" - }, { - "key" : "stage_table", - "name" : "Stage Table", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "8000-8046", "JUMP:tnm_7_path_stage_squamous_29624" ], [ "8050", "JUMP:tnm_7_path_stage_adenocarcinoma_41458" ], [ "8051-8131", "JUMP:tnm_7_path_stage_squamous_29624" ], [ "8140-8147", "JUMP:tnm_7_path_stage_adenocarcinoma_41458" ], [ "8148-8152", "JUMP:tnm_7_path_stage_squamous_29624" ], [ "8154-8157", "JUMP:tnm_7_path_stage_squamous_29624" ], [ "8160-8162", "JUMP:tnm_7_path_stage_adenocarcinoma_41458" ], [ "8170-8175", "JUMP:tnm_7_path_stage_squamous_29624" ], [ "8180-8221", "JUMP:tnm_7_path_stage_adenocarcinoma_41458" ], [ "8230-8231", "JUMP:tnm_7_path_stage_squamous_29624" ], [ "8243-8245", "JUMP:tnm_7_path_stage_squamous_29624" ], [ "8247-8248", "JUMP:tnm_7_path_stage_squamous_29624" ], [ "8250-8507", "JUMP:tnm_7_path_stage_adenocarcinoma_41458" ], [ "8508-8513", "JUMP:tnm_7_path_stage_squamous_29624" ], [ "8514-8551", "JUMP:tnm_7_path_stage_adenocarcinoma_41458" ], [ "8560-8570", "JUMP:tnm_7_path_stage_squamous_29624" ], [ "8571-8574", "JUMP:tnm_7_path_stage_adenocarcinoma_41458" ], [ "8575", "JUMP:tnm_7_path_stage_squamous_29624" ], [ "8576", "JUMP:tnm_7_path_stage_adenocarcinoma_41458" ], [ "8940-8941", "JUMP:tnm_7_path_stage_adenocarcinoma_41458" ], [ "8950", "JUMP:tnm_7_path_stage_squamous_29624" ], [ "8980-8981", "JUMP:tnm_7_path_stage_squamous_29624" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_56616.json b/src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_56616.json deleted file mode 100644 index 6cfb1e899..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_56616.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "histologies_path_stage_56616", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Histologies Path Stage", - "title" : "Histologies Path Stage Table", - "notes" : "**Note:** The determination of TNM stage group from T, N, M, and grade for bone depends further on histologic type. This table shows the selection of the appropriate version of the TNM Stage table based on histology.", - "last_modified" : "2018-05-14T21:29:01.762Z", - "definition" : [ { - "key" : "hist", - "name" : "ICD-O-3 Histology Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "stage_table", - "name" : "Stage Table", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "9260", "Ewing sarcoma", "JUMP:tnm_7_path_stage_ewing_61213" ], [ "9364", "Peripheral neuroectodermal tumor", "JUMP:tnm_7_path_stage_ewing_61213" ], [ "8800-9136,9142-9252,9261-9363,9365-9582", "ALL OTHER HISTOLOGIES IN INCLUSION TABLE", "JUMP:tnm_7_path_stage_not_ewing_41435" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_99978.json b/src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_99978.json deleted file mode 100644 index 65bae8622..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/histologies_path_stage_99978.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "histologies_path_stage_99978", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Histologies Path Stage", - "title" : "Histologies Path Stage Table", - "notes" : "**Note 1:** The determination of the TNM 7 stage group from T, N, M, and grade for esophagus depends further on histologic type. Since squamous cell carcinoma typically has a poorer prognosis than adenocarcinoma, a tumor of mixed histopathologic type (including a squamous component or NOS histology) or a type that is not otherwise specified should be staged as squamous cell carcinoma. \n\n**Note 2:** This table shows the selection of the appropriate version of the Stage table based on histology.", - "last_modified" : "2018-05-14T21:29:00.676Z", - "definition" : [ { - "key" : "hist", - "name" : "ICD-O-3 Histology Code", - "type" : "INPUT" - }, { - "key" : "stage_table", - "name" : "Stage Table", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "8000-8046", "JUMP:tnm_7_path_stage_squamous_15592" ], [ "8050", "JUMP:tnm_7_path_stage_adenocarcinoma_30413" ], [ "8051-8131", "JUMP:tnm_7_path_stage_squamous_15592" ], [ "8140-8147", "JUMP:tnm_7_path_stage_adenocarcinoma_30413" ], [ "8148-8157", "JUMP:tnm_7_path_stage_squamous_15592" ], [ "8160-8162", "JUMP:tnm_7_path_stage_adenocarcinoma_30413" ], [ "8170-8175", "JUMP:tnm_7_path_stage_adenocarcinoma_30413" ], [ "8180-8221", "JUMP:tnm_7_path_stage_adenocarcinoma_30413" ], [ "8230-8249", "JUMP:tnm_7_path_stage_squamous_15592" ], [ "8250-8507", "JUMP:tnm_7_path_stage_adenocarcinoma_30413" ], [ "8508", "JUMP:tnm_7_path_stage_squamous_15592" ], [ "8510-8513", "JUMP:tnm_7_path_stage_squamous_15592" ], [ "8514-8551", "JUMP:tnm_7_path_stage_adenocarcinoma_30413" ], [ "8560-8570", "JUMP:tnm_7_path_stage_squamous_15592" ], [ "8571-8574", "JUMP:tnm_7_path_stage_adenocarcinoma_30413" ], [ "8575", "JUMP:tnm_7_path_stage_squamous_15592" ], [ "8576", "JUMP:tnm_7_path_stage_adenocarcinoma_30413" ], [ "8940-8941", "JUMP:tnm_7_path_stage_adenocarcinoma_30413" ], [ "8950", "JUMP:tnm_7_path_stage_squamous_15592" ], [ "8980-8981", "JUMP:tnm_7_path_stage_squamous_15592" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/histology.json b/src/test/resources/algorithms/tnm/2.0/tables/histology.json deleted file mode 100644 index 9c315df8e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/histology.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "histology", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Histology", - "title" : "Valid ICD-O-3 Histology Codes", - "last_modified" : "2018-05-14T21:29:03.590Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8005" ], [ "8010-8015" ], [ "8020-8022" ], [ "8030-8035" ], [ "8040-8046" ], [ "8050-8053" ], [ "8060" ], [ "8070-8078" ], [ "8080-8084" ], [ "8090-8098" ], [ "8100-8103" ], [ "8110" ], [ "8120-8124" ], [ "8130,8131" ], [ "8140-8157" ], [ "8160-8162" ], [ "8170-8175" ], [ "8180" ], [ "8190,8191" ], [ "8200-8202" ], [ "8204" ], [ "8210-8215" ], [ "8220,8221" ], [ "8230,8231" ], [ "8240-8255" ], [ "8260-8264" ], [ "8270-8272" ], [ "8280,8281" ], [ "8290" ], [ "8300" ], [ "8310-8325" ], [ "8330-8337" ], [ "8340-8347" ], [ "8350" ], [ "8360,8361" ], [ "8370-8375" ], [ "8380-8384" ], [ "8390-8392" ], [ "8400-8410" ], [ "8413" ], [ "8420" ], [ "8430" ], [ "8440-8444" ], [ "8450-8454" ], [ "8460-8463" ], [ "8470-8473" ], [ "8480-8482" ], [ "8490" ], [ "8500-8508" ], [ "8510" ], [ "8512-8514" ], [ "8520-8525" ], [ "8530" ], [ "8540-8543" ], [ "8550,8551" ], [ "8560-8562" ], [ "8570-8576" ], [ "8580-8593" ], [ "8600-8602" ], [ "8610" ], [ "8620-8623" ], [ "8630-8634" ], [ "8640-8642" ], [ "8650" ], [ "8660" ], [ "8670,8671" ], [ "8680-8683" ], [ "8690-8693" ], [ "8700" ], [ "8710-8713" ], [ "8720-8723" ], [ "8725-8728" ], [ "8730" ], [ "8740-8746" ], [ "8750" ], [ "8760-8762" ], [ "8770-8774" ], [ "8780" ], [ "8790" ], [ "8800-8806" ], [ "8810-8815" ], [ "8820-8827" ], [ "8830-8836" ], [ "8840-8842" ], [ "8850-8858" ], [ "8860-8862" ], [ "8870" ], [ "8880,8881" ], [ "8890-8898" ], [ "8900-8905" ], [ "8910" ], [ "8912" ], [ "8920,8921" ], [ "8930-8936" ], [ "8940,8941" ], [ "8950,8951" ], [ "8959,8960" ], [ "8963-8967" ], [ "8970-8974" ], [ "8980-8983" ], [ "8990,8991" ], [ "9000" ], [ "9010-9016" ], [ "9020" ], [ "9030" ], [ "9040-9044" ], [ "9050-9055" ], [ "9060-9065" ], [ "9070-9073" ], [ "9080-9085" ], [ "9090,9091" ], [ "9100-9105" ], [ "9110" ], [ "9120-9125" ], [ "9130-9133" ], [ "9135,9136" ], [ "9140-9142" ], [ "9150" ], [ "9160,9161" ], [ "9170-9175" ], [ "9180-9187" ], [ "9191-9195" ], [ "9200" ], [ "9210" ], [ "9220,9221" ], [ "9230,9231" ], [ "9240-9243" ], [ "9250-9252" ], [ "9260-9262" ], [ "9270-9275" ], [ "9280-9282" ], [ "9290" ], [ "9300-9302" ], [ "9310-9312" ], [ "9320-9322" ], [ "9330" ], [ "9340-9342" ], [ "9350-9352" ], [ "9360-9365" ], [ "9370-9373" ], [ "9380-9384" ], [ "9390-9394" ], [ "9400,9401" ], [ "9410-9413" ], [ "9420,9421" ], [ "9423,9424" ], [ "9430" ], [ "9440-9442" ], [ "9444" ], [ "9450,9451" ], [ "9460" ], [ "9470-9474" ], [ "9480" ], [ "9490-9493" ], [ "9500-9508" ], [ "9510-9514" ], [ "9520-9523" ], [ "9530-9535" ], [ "9537-9541" ], [ "9550" ], [ "9560-9562" ], [ "9570,9571" ], [ "9580-9582" ], [ "9590,9591" ], [ "9596,9597" ], [ "9650-9653" ], [ "9655" ], [ "9659" ], [ "9663" ], [ "9671" ], [ "9673" ], [ "9678-9680" ], [ "9687-9691" ], [ "9695" ], [ "9698-9702" ], [ "9705" ], [ "9708,9709" ], [ "9712" ], [ "9714" ], [ "9716-9719" ], [ "9724-9727" ], [ "9731-9732" ], [ "9734-9735" ], [ "9737,9738" ], [ "9740-9742" ], [ "9751" ], [ "9755-9759" ], [ "9761-9762" ], [ "9765-9769" ], [ "9800,9801" ], [ "9806-9809" ], [ "9811-9818" ], [ "9820" ], [ "9823" ], [ "9826,9827" ], [ "9831-9834" ], [ "9837" ], [ "9840" ], [ "9860,9861" ], [ "9863" ], [ "9865-9867" ], [ "9869-9876" ], [ "9891" ], [ "9895-9898" ], [ "9910,9911" ], [ "9920" ], [ "9930,9931" ], [ "9940" ], [ "9945,9946" ], [ "9948" ], [ "9950" ], [ "9961-9967" ], [ "9970,9971" ], [ "9975" ], [ "9980" ], [ "9982-9983" ], [ "9985-9986" ], [ "9989" ], [ "9991,9992" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/hypopharynx_t_21848.json b/src/test/resources/algorithms/tnm/2.0/tables/hypopharynx_t_21848.json deleted file mode 100644 index 234acad92..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/hypopharynx_t_21848.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "hypopharynx_t_21848", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Hypopharynx T", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign T3 If there is fixation of hemilarynx or larynx.\n\n**Note 2:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size.\n\n Invasive tumor confined to one of the following subsites\n Laryngopharynx\n Postcricoid area\n Posterior pharyngeal wall\n Pyriform sinus\n\n Tumor invades more than one subsite of hypopharynx WITHOUT fixation of hemilarynx\n\n Oropharynx\n Larynx WITHOUT fixation\n\n Confined to hypopharynx\n Localized, NOS", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.470Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor limited to one subsite of hypopharynx and/or 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor invades more than one subsite of hypopharynx or an adjacent site, OR\nMeasures more than 2 cm but not more than 4 cm in greatest dimension, WITHOUT fixation of hemilarynx", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension, OR \nWITH fixation of hemilarynx or extension to esophagus", "Fixation of hemilarynx or larynx\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades any of the following:\n Thyroid/cricoid cartilage\n Hyoid bone\n Thyroid gland\n Esophagus\n Central compartment soft tissue", "Central compartment soft tissues of neck including:\n Prelaryngeal strap muscles\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades: \n Prevertebral fascia\n Encases carotid artery\n Mediastinal structures", "Carotid artery (encased)\n\nBase of tongue\nFloor of mouth\nNasopharynx\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ids.txt b/src/test/resources/algorithms/tnm/2.0/tables/ids.txt deleted file mode 100644 index cb13c9ed4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ids.txt +++ /dev/null @@ -1,1363 +0,0 @@ -adjust_path_defaults_for_no_clin_no_path_stage_group_not_defined_61358 -adjust_path_defaults_for_no_path_placenta_37763 -adjustments_for_no_clin_or_no_path_26261 -adrenal_gland_n_44698 -adrenal_gland_t_18187 -adrenal_m_7434 -age_at_diagnosis_validation_65093 -ampulla_of_vater_t_63892 -anus_t_35615 -appendix_grade_category_calculation -behavior -bone_histologies_stage -breast_pathologic_t_84149 -breast_t_70656 -buccal_mucosa_t_35895 -carcinoidappendix_t_41163 -cervix_uteri_t_38859 -clin_m_9010 -clin_m_anus_46174 -clin_m_conjunctiva_59480 -clin_m_hab -clin_m_hac -clin_m_had -clin_m_hae -clin_m_haf -clin_m_hag -clin_m_hah -clin_m_hai -clin_m_haj -clin_m_hak -clin_m_hal -clin_m_ham -clin_m_han -clin_m_hao -clin_m_hap -clin_m_haq -clin_m_har -clin_m_hat -clin_m_hau -clin_m_hav -clin_m_haz -clin_m_hba -clin_m_hbb -clin_m_hbc -clin_m_hbf -clin_m_hbg -clin_m_hbo -clin_m_hbu -clin_m_hbx -clin_m_hbz -clin_m_hcb -clin_m_hcc -clin_m_hcd -clin_m_hce -clin_m_hcf -clin_m_hcg -clin_m_hch -clin_m_hci -clin_m_hcj -clin_m_hck -clin_m_hcl -clin_m_hcn -clin_m_hcp -clin_m_hcq -clin_m_hcr -clin_m_hcs -clin_m_hcu -clin_m_hcv -clin_m_hcw -clin_m_hcy -clin_m_head_neck_melanoma_25497 -clin_m_hpb -clin_m_hpc -clin_m_hpd -clin_m_hpe -clin_m_hpg -clin_m_hph -clin_m_major_salivary_glands_94644 -clin_m_net_ampulla_35993 -clin_m_soft_tissues_97765 -clin_n_ampulla_vater_45064 -clin_n_bladder_88949 -clin_n_bone_13753 -clin_n_conjunctiva_61091 -clin_n_dab -clin_n_dai -clin_n_daj -clin_n_dak -clin_n_dam -clin_n_dan -clin_n_dat -clin_n_dau -clin_n_dav -clin_n_daw -clin_n_dax -clin_n_day -clin_n_daz -clin_n_dba -clin_n_dbb -clin_n_dbc -clin_n_dbj -clin_n_dbl -clin_n_dbm -clin_n_dbn -clin_n_dbr -clin_n_dbt -clin_n_dce -clin_n_dcn -clin_n_ddj -clin_n_ddm -clin_n_ddn -clin_n_ddp -clin_n_dew -clin_n_dfc -clin_n_dfe -clin_n_dff -clin_n_dfg -clin_n_dfl -clin_n_dfn -clin_n_dfo -clin_n_dfr -clin_n_dfs -clin_n_dfv -clin_n_dfw -clin_n_dfx -clin_n_esophagus_ge_junction_51247 -clin_n_gist_appendix_93665 -clin_n_gist_esophagus_87582 -clin_n_gist_peritoneum_47701 -clin_n_gist_rectum_58109 -clin_n_gist_small_intestine_23294 -clin_n_heart_mediastinum_77775 -clin_n_kidney_parenchyma_9806 -clin_n_mycosis_fungoides_95773 -clin_n_net_ampulla_36773 -clin_n_ophthalmic_n_94312 -clin_n_ophthalmic_n_notis_75953 -clin_n_pleural_23905 -clin_n_skin_eyelid_10770 -clin_n_soft_tissues_78998 -clin_n_testis_17993 -clin_n_urethra_47275 -clin_renal_pevis_and_ureter_11547 -clin_t_appendix_24847 -clin_t_ban -clin_t_bbo -clin_t_bcp -clin_t_bcs -clin_t_bcu -clin_t_bdh -clin_t_bladder_38564 -clin_t_bone_70163 -clin_t_cervix_78153 -clin_t_conjunctiva_42760 -clin_t_copy_81159 -clin_t_esophagus_57970 -clin_t_fallopian_tube_77615 -clin_t_floor_of_mouth_37028 -clin_t_gallbladder_13172 -clin_t_gist_appendix_41981 -clin_t_gist_colon_copy_80286 -clin_t_gist_esophagus_47140 -clin_t_gist_peritoneum_12183 -clin_t_gist_rectum_83293 -clin_t_gist_small_intestine_3299 -clin_t_gist_stomach_46079 -clin_t_glottic_larynx_36272 -clin_t_gum_lower_57588 -clin_t_gum_other_73657 -clin_t_gum_upper_23313 -clin_t_heart_mediastinum_11552 -clin_t_hypopharynx_3365 -clin_t_kidney_parenchyma_9887 -clin_t_lacrimal_gland_71633 -clin_t_larynx_nos_75299 -clin_t_larynx_subglottic_11069 -clin_t_larynx_supraglottic_69988 -clin_t_lip_lower_64771 -clin_t_lip_other_75184 -clin_t_lip_upper_3775 -clin_t_liver_16950 -clin_t_lung_28486 -clin_t_melanoma_buccal_mucosa_55204 -clin_t_melanoma_choroid_t_80325 -clin_t_melanoma_ciliary_body_68734 -clin_t_melanoma_epiglottis_anterior_87665 -clin_t_melanoma_floor_of_mouth_29889 -clin_t_melanoma_gum_lower_93520 -clin_t_melanoma_gum_other_64011 -clin_t_melanoma_gum_upper_45093 -clin_t_melanoma_hypopharynx_41386 -clin_t_melanoma_iris_54551 -clin_t_melanoma_larynx_glottic_10232 -clin_t_melanoma_larynx_other_92067 -clin_t_melanoma_larynx_subglottic_74637 -clin_t_melanoma_larynx_supraglottic_25433 -clin_t_melanoma_lip_other_38821 -clin_t_melanoma_lower_lip_15469 -clin_t_melanoma_lower_lip_t_31253 -clin_t_melanoma_mouth_other_18724 -clin_t_melanoma_nasal_cavity_92441 -clin_t_melanoma_nasopharynx_19497 -clin_t_melanoma_oropharynx_83498 -clin_t_melanoma_palate_hard_80202 -clin_t_melanoma_palate_soft_21789 -clin_t_melanoma_pharynx_other_3685 -clin_t_melanoma_sinus_ethmoid_72398 -clin_t_melanoma_sinus_maxillary_64193 -clin_t_melanoma_tongue_anterior_38455 -clin_t_melanoma_tongue_base_6605 -clin_t_merkel_cell_penis_10043 -clin_t_merkel_cell_scrotum_24017 -clin_t_merkel_cell_skin_t_96388 -clin_t_merkel_cell_vulva_96899 -clin_t_mouth_other_28324 -clin_t_mycosis_fungoides_76446 -clin_t_nasal_cavity_5031 -clin_t_nasopharynx_40813 -clin_t_orbit_59896 -clin_t_oropharynx_53342 -clin_t_ovary_95574 -clin_t_palate_hard_21871 -clin_t_pancreas_body_tail_71461 -clin_t_pancreas_head_97928 -clin_t_pancreas_other_28719 -clin_t_parotid_gland_13635 -clin_t_penis_88876 -clin_t_perihilar_bile_ducts_63594 -clin_t_peritoneum_67989 -clin_t_peritoneum_female_gen_47507 -clin_t_pharyngeal_tonsil_99141 -clin_t_placenta_62001 -clin_t_pleura_24291 -clin_t_rectum_29212 -clin_t_renal_pelvis_and_ureter_48274 -clin_t_retroperitoneum_91920 -clin_t_salivaryglandother_54081 -clin_t_scrotum_13282 -clin_t_sinus_ethmoid_61914 -clin_t_sinus_maxillary_12245 -clin_t_skin_92153 -clin_t_skin_eyelid_93914 -clin_t_small_intestine_22563 -clin_t_soft_tissue_43767 -clin_t_stomach_55386 -clin_t_submandibular_gland_45502 -clin_t_thyroid_93682 -clin_t_tongue_anterior_43968 -clin_t_tongue_base_63370 -clin_t_urethra_39553 -clin_t_vagina_84852 -clin_t_vulva_52779 -clinical_m_64416 -clinical_n_corpus_48422 -clinical_n_corpus_carcinoma_62458 -clinical_n_head_neck_except_nasopharynx_25237 -clinical_n_head_neck_melanoma_66648 -clinical_n_major_salivary_glands_19191 -colon_65083 -combined_gleason_93464 -combined_m -combined_n -combined_n_for_tis_cancers_4947 -combined_n_lung -combined_n_no_tis_path_n_cn0_allowed_73884 -combined_stage_group_for_lymphoma_19552 -combined_t -combined_t_breast -combined_t_colon -combined_t_lung -combined_t_no_tis -combined_t_retinoblastoma -combined_t_thyroid_anaplastic_32619 -concatenate_m_40642 -concatenate_n_43246 -concatenate_t_51262 -conjunctiva_t_62523 -corpus_adenosarcoma_pathologic_t_90591 -corpus_adenosarcoma_t_34843 -corpus_carcinoma_t_42324 -corpus_sarcoma_clinical_t_23604 -corpus_sarcoma_t_13268 -cystic_duct_t_52091 -determine_combined_prefix_91402 -determine_default_m -determine_default_n -determine_default_t -determine_default_t_anaplastic_77806 -discriminator_bile_ducts -discriminator_esophogus_ge_junction -discriminator_lacrimal -discriminator_melanoma -discriminator_nasopharynx -distal_blie_duct_t_30646 -esophagus_gejunction_histologies_stage -esophagus_histologies_stage -esophagus_t_28679 -esophagusgejunction_t_39319 -fallopian_tube_t_96584 -floor_of_mouth_t_38606 -gallbladder_t_77234 -gist_appendix_mitotic_rate_calculation -gist_appendix_n_87661 -gist_appendix_t_67124 -gist_colon_n_46351 -gist_esophagus_mitotic_rate_calculation -gist_esophagus_t_61710 -gist_peritoneum_mitotic_rate_calculation -gist_peritoneum_n_18654 -gist_peritoneum_t_10242 -gist_rectum_n_35223 -gist_rectum_t_7125 -gist_small_intestine_n_18642 -gist_small_intestine_t_83343 -gist_stomach_n_73991 -gist_stomach_t_60871 -gistcolon_t_85374 -gistesophagus_n_17925 -giststomach_t_55582 -glottic_larynx_t_8691 -grade -gum_lower_t_24295 -gum_other_t_49578 -gum_upper_t_95905 -heart_mediastinum_n_50568 -heart_mediastinum_t_30394 -histologies_grade_path_stage_tnm_7_37149 -histologies_grade_stage_tnm_7_20594 -histologies_path_stage_47414 -histologies_path_stage_56616 -histologies_path_stage_99978 -histology -hypopharynx_t_21848 -intrahepatic_bile_ducts_t_31771 -kidney_n_42919 -kidney_parenchyma_t_48027 -lacrimal_gland_t_1116 -larynx_nos_t_90793 -larynx_subglottic_t_32495 -larynx_supraglottic_t_57946 -lip_lower_t_82564 -lip_other_t_56087 -lip_upper_t_48652 -liver_t_55652 -lung_occult_stage_11131 -lung_t_86537 -lymphoma_path_stage_group_detailed_88547 -lymphoma_stage_group_detailed_35045 -lymphomaocularadnexa_clin_m_no_uicc_definition_96511 -lymphomaocularadnexa_clin_n_no_uicc_definition_66872 -lymphomaocularadnexa_path_m_no_uicc_definition_copy_6387 -lymphomaocularadnexa_path_n_no_uicc_definition_17284 -lymphomaocularadnexa_path_t_no_uicc_definition_copy_11297 -lymphomaocularadnexa_t_no_uicc_definition_89433 -melanoma_buccal_mucosa_t_76459 -melanoma_choroid_t_79116 -melanoma_ciliary_body_t_34399 -melanoma_conjunctiva_n_15261 -melanoma_conjunctiva_pathologic_n_83143 -melanoma_epiglottis_anterior_t_92827 -melanoma_floor_of_mouth_t_86503 -melanoma_gum_lower_t_30606 -melanoma_gum_other_t_27553 -melanoma_hypopharynx_t_81125 -melanoma_iris_t_65686 -melanoma_larynx_glottic_t_65946 -melanoma_larynx_other_t_71686 -melanoma_larynx_subglottic_81170 -melanoma_larynx_supraglottic_63201 -melanoma_lip_other_t_71709 -melanoma_lower_lip_t_30772 -melanoma_lower_lip_t_39461 -melanoma_mouth_other_t_26001 -melanoma_nasal_cavity_t_57160 -melanoma_nasopharynx_t_72770 -melanoma_oropharynx_t_73396 -melanoma_palate_hard_t_49262 -melanoma_palate_soft_t_15766 -melanoma_pharynx_other_t_82152 -melanoma_sinus_maxillary_t_28715 -melanoma_tongue_anterior_t_170 -melanoma_tongue_base_60314 -merkel_cell_penis_t_93032 -merkel_cell_scrotum_t_30089 -merkel_cell_skin_t_48418 -merkel_cell_vulva_t_49226 -mouth_other_t_88942 -nasal_cavity_t_71995 -nasopharynx_t_29067 -net_ampulla_pathologic_t_58166 -net_ampulla_t_37461 -net_colon_t_5107 -net_rectum_t_3082 -net_smallintestine_t_60400 -no_tnm_group_99227 -no_tnm_group_p_41281 -nodes_pos_fab -nodes_pos_fah -nodes_pos_fpa -ophthalmic_n_36875 -orbit_t_97280 -oropharynx_t_62492 -ovary_t_58652 -palate_hard_t_41050 -palate_soft_t_48973 -pancreas_bodytail_t_46669 -pancreas_head_t_4793 -pancreas_other_70468 -parotid_gland_t_68628 -parse_m_47057 -parse_n_67182 -parse_n_merkel_clin_55445 -parse_n_merkel_path_copy_67865 -parse_t_2177 -path_m_74330 -path_m_anus_33946 -path_m_conjunctiva_73224 -path_m_hab -path_m_hac -path_m_had -path_m_hae -path_m_haf -path_m_hag -path_m_hah -path_m_hai -path_m_haj -path_m_hak -path_m_hal -path_m_ham -path_m_han -path_m_hao -path_m_hap -path_m_haq -path_m_har -path_m_hat -path_m_hau -path_m_hav -path_m_haz -path_m_hba -path_m_hbb -path_m_hbc -path_m_hbf -path_m_hbg -path_m_hbn -path_m_hbo -path_m_hbu -path_m_hbv -path_m_hbx -path_m_hbz -path_m_hcb -path_m_hcc -path_m_hcd -path_m_hce -path_m_hcf -path_m_hcg -path_m_hch -path_m_hci -path_m_hcj -path_m_hck -path_m_hcl -path_m_hcn -path_m_hcp -path_m_hcq -path_m_hcr -path_m_hcs -path_m_hcu -path_m_hcv -path_m_hcw -path_m_hcy -path_m_head_neck_melanoma_32288 -path_m_hpb -path_m_hpc -path_m_hpd -path_m_hpe -path_m_hpg -path_m_hph -path_m_major_salivary_glands_13003 -path_m_net_ampulla_22136 -path_m_soft_tissues_96225 -path_n_adrenal_gland_53740 -path_n_bladder_46197 -path_n_bone_31243 -path_n_conjunctiva_84900 -path_n_dab -path_n_dai -path_n_daj -path_n_dak -path_n_dam -path_n_dan -path_n_dat -path_n_dau -path_n_dav -path_n_daw -path_n_dax -path_n_day -path_n_daz -path_n_dba -path_n_dbb -path_n_dbc -path_n_dbj -path_n_dbl -path_n_dbm -path_n_dbn -path_n_dbo -path_n_dbr -path_n_dbt -path_n_dcn -path_n_ddj -path_n_ddm -path_n_ddn -path_n_ddp -path_n_dew -path_n_dfa -path_n_dfc -path_n_dfe -path_n_dff -path_n_dfg -path_n_dfl -path_n_dfn -path_n_dfo -path_n_dfr -path_n_dfs -path_n_dfv -path_n_dfw -path_n_dfx -path_n_gist_colon_71024 -path_n_head_neck_except_nasopharynx_40357 -path_n_major_salivary_glands_7162 -path_n_net_ampulla_11118 -path_n_ophthalmic_no_tis_80282 -path_n_peritoneum_retroperitoneum_86254 -path_n_peritoneum_retroperitoneum_88959 -path_t_adrenal_gland_28077 -path_t_ampulla_vater_23469 -path_t_anus_61291 -path_t_appendix_94760 -path_t_ban -path_t_baq -path_t_bbo -path_t_bcs -path_t_bcu -path_t_bfi -path_t_bladder_68862 -path_t_bone_59009 -path_t_buccal_mucosa_7034 -path_t_carcinoid_appendix_77608 -path_t_colon_98925 -path_t_corpus_carcinoma_7259 -path_t_cystic_duct_38967 -path_t_distal_bile_duct_50879 -path_t_epiglottis_anterior_t_4558 -path_t_gum_upper_50893 -path_t_intrahepatic_bile_ducts_23893 -path_t_net_rectum_13791 -path_t_net_small_intestine_71548 -path_t_net_stomach_63587 -path_t_perihilar_bile_ducts_88350 -pathologic_n_head_neck_melanoma_copy_75380 -pathological_n_corpus_31147 -pathological_n_corpus_carcinoma_11126 -penis_t_51275 -peritoneum_t_18850 -peritoneumfemalegen_t_87084 -pharyngeal_tonsil_t_36969 -placenta_t_12749 -pleura_t_20728 -pleural_n_14342 -primary_site -prostate_n_76551 -prostate_pathologic_n_4662 -radiation_surg_seq -rectum_t_5935 -renal_pelvis_and_ureter_t_91246 -renal_pevis_and_ureter_n_58133 -retinoblastoma_clinical_n_19393 -retinoblastoma_pathologic_n_93880 -retroperitoneum_n_12750 -retroperitoneum_t_87029 -salivaryglandother_t_67266 -schema_selection_adnexa_uterine_other -schema_selection_adrenal_gland -schema_selection_ampulla_vater -schema_selection_anus -schema_selection_appendix -schema_selection_bile_ducts_distal -schema_selection_bile_ducts_intrahepat -schema_selection_bile_ducts_perihilar -schema_selection_biliary_other -schema_selection_bladder -schema_selection_bone -schema_selection_brain -schema_selection_breast -schema_selection_buccal_mucosa -schema_selection_carcinoid_appendix -schema_selection_cervix -schema_selection_cns_other -schema_selection_colon -schema_selection_conjunctiva -schema_selection_corpus_adenosarcoma -schema_selection_corpus_carcinoma -schema_selection_corpus_sarcoma -schema_selection_cystic_duct -schema_selection_digestive_other -schema_selection_endocrine_other -schema_selection_epiglottis_anterior -schema_selection_esophagus -schema_selection_esophagus_gejunction -schema_selection_eye_other -schema_selection_fallopian_tube -schema_selection_floor_mouth -schema_selection_gallbladder -schema_selection_genital_female_other -schema_selection_genital_male_other -schema_selection_gist_appendix -schema_selection_gist_colon -schema_selection_gist_esophagus -schema_selection_gist_peritoneum -schema_selection_gist_rectum -schema_selection_gist_small_intestine -schema_selection_gist_stomach -schema_selection_gum_lower -schema_selection_gum_other -schema_selection_gum_upper -schema_selection_heart_mediastinum -schema_selection_heme_retic -schema_selection_hypopharynx -schema_selection_ill_defined_other -schema_selection_intracranial_gland -schema_selection_kaposi_sarcoma -schema_selection_kidney_parenchyma -schema_selection_kidney_renal_pelvis -schema_selection_lacrimal_gland -schema_selection_lacrimal_sac -schema_selection_larynx_glottic -schema_selection_larynx_other -schema_selection_larynx_subglottic -schema_selection_larynx_supraglottic -schema_selection_lip_lower -schema_selection_lip_other -schema_selection_lip_upper -schema_selection_liver -schema_selection_lung -schema_selection_lymphoma -schema_selection_lymphoma_ocular_adnexa -schema_selection_melanoma_buccal_mucosa -schema_selection_melanoma_choroid -schema_selection_melanoma_ciliary_body -schema_selection_melanoma_conjunctiva -schema_selection_melanoma_epiglottis_anterior -schema_selection_melanoma_eye_other -schema_selection_melanoma_floor_mouth -schema_selection_melanoma_gum_lower -schema_selection_melanoma_gum_other -schema_selection_melanoma_gum_upper -schema_selection_melanoma_hypopharynx -schema_selection_melanoma_iris -schema_selection_melanoma_larynx_glottic -schema_selection_melanoma_larynx_other -schema_selection_melanoma_larynx_subglottic -schema_selection_melanoma_larynx_supraglottic -schema_selection_melanoma_lip_lower -schema_selection_melanoma_lip_other -schema_selection_melanoma_lip_upper -schema_selection_melanoma_mouth_other -schema_selection_melanoma_nasal_cavity -schema_selection_melanoma_nasopharynx -schema_selection_melanoma_oropharynx -schema_selection_melanoma_palate_hard -schema_selection_melanoma_palate_soft -schema_selection_melanoma_pharynx_other -schema_selection_melanoma_sinus_ethmoid -schema_selection_melanoma_sinus_maxillary -schema_selection_melanoma_sinus_other -schema_selection_melanoma_skin -schema_selection_melanoma_tongue_anterior -schema_selection_melanoma_tongue_base -schema_selection_merkel_cell_penis -schema_selection_merkel_cell_scrotum -schema_selection_merkel_cell_skin -schema_selection_merkel_cell_vulva -schema_selection_middle_ear -schema_selection_mouth_other -schema_selection_mycosis_fungoides -schema_selection_myeloma_plasma_cell_disorder -schema_selection_nasal_cavity -schema_selection_nasopharynx -schema_selection_net_ampulla -schema_selection_net_colon -schema_selection_net_rectum -schema_selection_net_small_intestine -schema_selection_net_stomach -schema_selection_orbit -schema_selection_oropharynx -schema_selection_ovary -schema_selection_palate_hard -schema_selection_palate_soft -schema_selection_pancreas_body_tail -schema_selection_pancreas_head -schema_selection_pancreas_other -schema_selection_parotid_gland -schema_selection_penis -schema_selection_peritoneum -schema_selection_peritoneum_female_gen -schema_selection_pharyngeal_tonsil -schema_selection_pharynx_other -schema_selection_placenta -schema_selection_pleura -schema_selection_prostate -schema_selection_rectum -schema_selection_respiratory_other -schema_selection_retinoblastoma -schema_selection_retroperitoneum -schema_selection_salivary_gland_other -schema_selection_scrotum -schema_selection_sinus_ethmoid -schema_selection_sinus_maxillary -schema_selection_sinus_other -schema_selection_skin -schema_selection_skin_eyelid -schema_selection_small_intestine -schema_selection_soft_tissue -schema_selection_stomach -schema_selection_submandibular_gland -schema_selection_testis -schema_selection_thyroid -schema_selection_tongue_anterior -schema_selection_tongue_base -schema_selection_trachea -schema_selection_urethra -schema_selection_urinary_other -schema_selection_vagina -schema_selection_vulva -scrotum_t_52966 -select_stage_group_19580 -sex_19563 -sinus_ethmoid_t_5235 -sinus_ethmoid_t_70472 -sinus_maxillary_t_7871 -skin_eyelid_n_65771 -skin_eyelid_t_57348 -skin_t_38821 -small_intestine_t_70831 -soft_tissue_n_4758 -soft_tissue_t_79319 -ssf10_path_stage_group_selection_48445 -ssf10_sad -ssf10_sat -ssf10_saz -ssf10_scm -ssf10_sek -ssf10_seq -ssf10_sex -ssf10_sfi -ssf10_spd -ssf10_spi -ssf10_spz -ssf10_sqj -ssf10_sqs -ssf10_srh -ssf10_stage_group_selection_87171 -ssf11_sae -ssf11_sba -ssf11_sbt -ssf11_scj -ssf11_ser -ssf11_spe -ssf11_spk -ssf11_sps -ssf11_sqa -ssf11_sqe -ssf11_sqt -ssf11_srd -ssf11_sri -ssf12_saf -ssf12_sbb -ssf12_sbu -ssf12_sck -ssf12_ses -ssf12_sev -ssf12_sew -ssf12_sez -ssf12_sfd -ssf12_spl -ssf12_sqb -ssf12_sqf -ssf12_srj -ssf13_sag -ssf13_sbc -ssf13_sca -ssf13_scl -ssf13_sdg -ssf13_sdr -ssf13_sfa -ssf13_sfe -ssf13_spm -ssf13_sqg -ssf13_sqq -ssf14_sbd -ssf14_sbf -ssf14_scn -ssf14_sdh -ssf14_sds -ssf14_sfb -ssf14_sff -ssf14_spn -ssf14_sqh -ssf14_sqr -ssf15_sbe -ssf15_sbg -ssf15_sco -ssf15_sdm -ssf15_sdt -ssf15_sfc -ssf15_sfg -ssf15_spo -ssf16_sah -ssf16_scp -ssf16_sdn -ssf16_sfh -ssf16_spt -ssf16_squ -ssf16_sqv -ssf16_sqw -ssf17_sai -ssf17_seu -ssf17_spu -ssf17_sqx -ssf18_saj -ssf18_sqy -ssf19_sak -ssf19_sqz -ssf1_jae -ssf1_jag -ssf1_jaj -ssf1_jam -ssf1_jap -ssf1_jaq -ssf1_jav -ssf1_jbd -ssf1_jbh -ssf1_jbj -ssf1_jbk -ssf1_jbl -ssf1_jbp -ssf1_jbq -ssf1_jbt -ssf1_jbv -ssf1_jbx -ssf1_jby -ssf1_jbz -ssf1_jca -ssf1_jce -ssf1_jcg -ssf1_jpa -ssf1_jpd -ssf1_jpe -ssf1_jpf -ssf1_jpj -ssf1_jpl -ssf1_jpm -ssf1_jpo -ssf1_jpp -ssf1_jpr -ssf1_jpt -ssf1_jpu -ssf1_jpw -ssf1_sbh -ssf20_sal -ssf20_sra -ssf21_sam -ssf21_srb -ssf22_san -ssf22_src -ssf23_sao -ssf24_sap -ssf2_kaa -ssf2_kab -ssf2_kac -ssf2_kaj -ssf2_kak -ssf2_kal -ssf2_kao -ssf2_kar -ssf2_kas -ssf2_kaw -ssf2_kax -ssf2_kay -ssf2_kaz -ssf2_kbb -ssf2_kbc -ssf2_kbf -ssf2_kbi -ssf2_kbl -ssf2_kbm -ssf2_kbu -ssf2_kbv -ssf2_kbx -ssf2_kpc -ssf2_kpd -ssf2_kpg -ssf2_kpj -ssf2_kpk -ssf2_kpl -ssf2_kpn -ssf2_kpo -ssf2_kpq -ssf2_kpr -ssf2_sbi -ssf3_lac -ssf3_laf -ssf3_lah -ssf3_lai -ssf3_lao -ssf3_laq -ssf3_lat -ssf3_law -ssf3_lay -ssf3_laz -ssf3_lbb -ssf3_lbc -ssf3_lpa -ssf3_lpc -ssf3_lpd -ssf3_lpe -ssf3_lph -ssf3_lpj -ssf3_lpk -ssf3_lpl -ssf3_lpm -ssf3_lpp -ssf3_lpr -ssf3_lps -ssf3_lpt -ssf3_lpu -ssf4_maa -ssf4_mab -ssf4_mac -ssf4_maj -ssf4_mal -ssf4_mam -ssf4_mas -ssf4_mat -ssf4_mav -ssf4_maz -ssf4_mbd -ssf4_mbg -ssf4_mbh -ssf4_mbi -ssf4_mbj -ssf4_mpa -ssf4_mpb -ssf4_mpd -ssf4_mpe -ssf4_mpf -ssf4_mpg -ssf4_mpn -ssf4_mpq -ssf4_mpr -ssf4_mps -ssf5_naa -ssf5_nab -ssf5_nac -ssf5_nah -ssf5_nai -ssf5_nak -ssf5_nap -ssf5_naq -ssf5_nar -ssf5_nas -ssf5_nav -ssf5_naw -ssf5_nba -ssf5_nbb -ssf5_npa -ssf5_npb -ssf5_npe -ssf5_npf -ssf5_npg -ssf5_nph -ssf5_npk -ssf5_npl -ssf5_npm -ssf6_oaa -ssf6_oae -ssf6_oaf -ssf6_oag -ssf6_oak -ssf6_oam -ssf6_oao -ssf6_oap -ssf6_oaq -ssf6_oas -ssf6_oat -ssf6_oaw -ssf6_oax -ssf6_oay -ssf6_opa -ssf6_opb -ssf6_opd -ssf6_opf -ssf6_opg -ssf6_oph -ssf6_opi -ssf7_saa -ssf7_saq -ssf7_saw -ssf7_sbv -ssf7_sbx -ssf7_scb -ssf7_scq -ssf7_sde -ssf7_sdf -ssf7_sdo -ssf7_sdx -ssf7_seb -ssf7_seh -ssf7_sfl -ssf7_spa -ssf7_spf -ssf7_spw -ssf7_sqk -ssf7_sqn -ssf7_sre -ssf8_sab -ssf8_sar -ssf8_sax -ssf8_sby -ssf8_scc -ssf8_sdd -ssf8_sdp -ssf8_sdy -ssf8_sec -ssf8_sei -ssf8_sfk -ssf8_spb -ssf8_spg -ssf8_spx -ssf8_sql -ssf8_sqo -ssf8_srf -ssf9_sac -ssf9_sas -ssf9_say -ssf9_sdi -ssf9_sdq -ssf9_sdz -ssf9_sed -ssf9_sej -ssf9_spc -ssf9_sph -ssf9_sqm -ssf9_srg -stage_group_94596 -stage_group_c_1171 -stage_group_c_13226 -stage_group_c_14599 -stage_group_c_15811 -stage_group_c_19537 -stage_group_c_20505 -stage_group_c_22295 -stage_group_c_2328 -stage_group_c_26613 -stage_group_c_29799 -stage_group_c_30166 -stage_group_c_32452 -stage_group_c_32628 -stage_group_c_32742 -stage_group_c_34250 -stage_group_c_34977 -stage_group_c_37137 -stage_group_c_40902 -stage_group_c_4134 -stage_group_c_41802 -stage_group_c_42709 -stage_group_c_42843 -stage_group_c_46351 -stage_group_c_46455 -stage_group_c_47235 -stage_group_c_47728 -stage_group_c_478 -stage_group_c_49193 -stage_group_c_49395 -stage_group_c_51542 -stage_group_c_52010 -stage_group_c_55797 -stage_group_c_56577 -stage_group_c_57716 -stage_group_c_59028 -stage_group_c_59520 -stage_group_c_59832 -stage_group_c_61951 -stage_group_c_62342 -stage_group_c_63552 -stage_group_c_64282 -stage_group_c_65478 -stage_group_c_65801 -stage_group_c_66879 -stage_group_c_73800 -stage_group_c_75034 -stage_group_c_76410 -stage_group_c_76779 -stage_group_c_79525 -stage_group_c_82556 -stage_group_c_83264 -stage_group_c_85588 -stage_group_c_86666 -stage_group_c_89731 -stage_group_c_90191 -stage_group_c_92535 -stage_group_c_93818 -stage_group_c_95471 -stage_group_c_96502 -stage_group_lymphoma_c_60180 -stage_group_lymphoma_ocular_adnexa_c_86297 -stage_group_lymphoma_ocular_adnexa_p_45342 -stage_group_lymphoma_p_48657 -stage_group_p_11962 -stage_group_p_12670 -stage_group_p_15208 -stage_group_p_18837 -stage_group_p_21201 -stage_group_p_24418 -stage_group_p_25104 -stage_group_p_27096 -stage_group_p_31599 -stage_group_p_3409 -stage_group_p_35702 -stage_group_p_39380 -stage_group_p_40037 -stage_group_p_42277 -stage_group_p_42915 -stage_group_p_42930 -stage_group_p_44218 -stage_group_p_44348 -stage_group_p_4518 -stage_group_p_45269 -stage_group_p_45729 -stage_group_p_4750 -stage_group_p_4759 -stage_group_p_48023 -stage_group_p_48545 -stage_group_p_5079 -stage_group_p_53847 -stage_group_p_54450 -stage_group_p_54695 -stage_group_p_56445 -stage_group_p_60572 -stage_group_p_61212 -stage_group_p_63631 -stage_group_p_65545 -stage_group_p_66747 -stage_group_p_66915 -stage_group_p_67704 -stage_group_p_71358 -stage_group_p_72316 -stage_group_p_74045 -stage_group_p_75705 -stage_group_p_78345 -stage_group_p_78368 -stage_group_p_79654 -stage_group_p_79934 -stage_group_p_79956 -stage_group_p_81228 -stage_group_p_82326 -stage_group_p_82525 -stage_group_p_83975 -stage_group_p_84556 -stage_group_p_8501 -stage_group_p_8706 -stage_group_p_89660 -stage_group_p_90233 -stage_group_p_92581 -stage_group_p_93370 -stage_group_p_94665 -stage_group_p_95243 -stage_group_p_96481 -stomach_t_57787 -stop_if_no_clin_and_no_path_24035 -stop_if_no_clin_and_no_path_placenta_53933 -submandibular_gland_t_42810 -systemic_surg_seq -testis_n_51427 -testis_path_t_76829 -testis_postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516 -thyroid_ajcctnm7_stage_thyroid_anaplastic -thyroid_ajcctnm7_stage_thyroid_medullary -thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older -thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_lessthan_45 -thyroid_anaplastic_74409 -thyroid_t_6166 -tnm7_inclusions_tab -tnm7_inclusions_tae -tnm7_inclusions_tpa -tnm7_inclusions_tpb -tnm7_inclusions_tpc -tnm7_inclusions_tpe -tnm7_inclusions_tpf -tnm7_inclusions_tpg -tnm7_inclusions_tph -tnm7_inclusions_tpi -tnm7_inclusions_tpj -tnm7_inclusions_tpk -tnm7_inclusions_tpl -tnm7_inclusions_tpm -tnm7_inclusions_tpn -tnm7_inclusions_tpo -tnm7_inclusions_tpp -tnm7_inclusions_tpq -tnm7_inclusions_tpr -tnm7_inclusions_tps -tnm7_inclusions_tpt -tnm7_inclusions_tpv -tnm7_inclusions_tpw -tnm7_inclusions_tpx -tnm7_inclusions_tpy -tnm7_inclusions_tpz -tnm7_inclusions_tqa -tnm7_inclusions_tqb -tnm7_inclusions_tqc -tnm7_inclusions_tqg -tnm7_inclusions_tqh -tnm7_inclusions_tqi -tnm7_inclusions_tqj -tnm7_inclusions_tqk -tnm7_inclusions_tql -tnm7_inclusions_tqm -tnm7_inclusions_tqn -tnm7_path_stage_gist_small_intestine_upy -tnm7_path_stage_group_gist_stomach_36358 -tnm7_path_stage_uaa -tnm7_path_stage_uab -tnm7_path_stage_uac -tnm7_path_stage_uad -tnm7_path_stage_uae -tnm7_path_stage_uaf -tnm7_path_stage_uak -tnm7_path_stage_ual -tnm7_path_stage_uam -tnm7_path_stage_uao -tnm7_path_stage_uaq -tnm7_path_stage_uar -tnm7_path_stage_uau -tnm7_path_stage_uav -tnm7_path_stage_uaw -tnm7_path_stage_uax -tnm7_path_stage_uay -tnm7_path_stage_uaz -tnm7_path_stage_uba -tnm7_path_stage_ubb -tnm7_path_stage_ubc -tnm7_path_stage_ubd -tnm7_path_stage_ubf -tnm7_path_stage_ubg -tnm7_path_stage_ubh -tnm7_path_stage_ubi -tnm7_path_stage_ubj -tnm7_path_stage_ubk -tnm7_path_stage_ubl -tnm7_path_stage_ubm -tnm7_path_stage_ubn -tnm7_path_stage_ubp -tnm7_path_stage_ubq -tnm7_path_stage_ubs -tnm7_path_stage_ubt -tnm7_path_stage_ubu -tnm7_path_stage_ubv -tnm7_path_stage_ubx -tnm7_path_stage_uby -tnm7_path_stage_upm -tnm7_path_stage_ups -tnm7_path_stage_upt -tnm7_path_stage_upu -tnm7_path_stage_upv -tnm7_path_stage_upw -tnm7_path_stage_upx -tnm7_path_stage_upz -tnm7_path_stage_uqa -tnm7_path_stage_uqb -tnm7_path_stage_uqc -tnm7_path_stage_uqd -tnm7_path_stage_uqe -tnm7_stage_for_sites_with_no_stage_groupings_unb -tnm7_stage_gist_small_intestine_upy -tnm7_stage_uaa -tnm7_stage_uab -tnm7_stage_uac -tnm7_stage_uad -tnm7_stage_uae -tnm7_stage_uaf -tnm7_stage_uak -tnm7_stage_ual -tnm7_stage_uam -tnm7_stage_uao -tnm7_stage_uaq -tnm7_stage_uar -tnm7_stage_uau -tnm7_stage_uav -tnm7_stage_uaw -tnm7_stage_uax -tnm7_stage_uay -tnm7_stage_uaz -tnm7_stage_uba -tnm7_stage_ubb -tnm7_stage_ubc -tnm7_stage_ubd -tnm7_stage_ubf -tnm7_stage_ubg -tnm7_stage_ubh -tnm7_stage_ubi -tnm7_stage_ubj -tnm7_stage_ubk -tnm7_stage_ubl -tnm7_stage_ubm -tnm7_stage_ubn -tnm7_stage_ubp -tnm7_stage_ubq -tnm7_stage_ubs -tnm7_stage_ubt -tnm7_stage_ubu -tnm7_stage_ubv -tnm7_stage_ubx -tnm7_stage_uby -tnm7_stage_upm -tnm7_stage_ups -tnm7_stage_upt -tnm7_stage_upu -tnm7_stage_upv -tnm7_stage_upw -tnm7_stage_upx -tnm7_stage_upz -tnm7_stage_uqa -tnm7_stage_uqb -tnm7_stage_uqc -tnm7_stage_uqd -tnm7_stage_uqe -tnm_7_combined_stage_group_12118 -tnm_7_combined_stage_group_48585 -tnm_7_combined_stage_group_55778 -tnm_7_combined_stage_group_69346 -tnm_7_path_stage_adenocarcinoma_30413 -tnm_7_path_stage_adenocarcinoma_41458 -tnm_7_path_stage_ewing_61213 -tnm_7_path_stage_not_ewing_41435 -tnm_7_path_stage_squamous_15592 -tnm_7_path_stage_squamous_29624 -tnm_7_path_stage_thyroid_anaplastic_79873 -tnm_7_path_stage_thyroid_medullary_77691 -tnm_7_path_stage_thyroid_papillary_and_follicular_age_45_and_older_71342 -tnm_7_path_stage_thyroid_papillary_and_follicular_age_less_than_45_95553 -tnm_7_stage_adenocarcinoma_44054 -tnm_7_stage_adenocarcinoma_86531 -tnm_7_stage_ewing_17708 -tnm_7_stage_group_gist_stomach_36358 -tnm_7_stage_not_ewing_14573 -tnm_7_stage_squamous_34274 -tnm_7_stage_squamous_64205 -tongue_anterior_t_49048 -tonguebase_t_15526 -urethra_n_54953 -urethra_t_77785 -vagina_t_91502 -vulva_t_1223 -year_dx_validation diff --git a/src/test/resources/algorithms/tnm/2.0/tables/intrahepatic_bile_ducts_t_31771.json b/src/test/resources/algorithms/tnm/2.0/tables/intrahepatic_bile_ducts_t_31771.json deleted file mode 100644 index a76782b4b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/intrahepatic_bile_ducts_t_31771.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "intrahepatic_bile_ducts_t_31771", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Intrahepatic Bile Ducts", - "title" : "Clinical T", - "notes" : "**Note 1:** \"Multiple (satellite) nodules/tumors\" include satellitosis, multifocal tumors, and intrahepatic metastases.\n\n**Note 2:** Major vascular invasion is defined as invasion of the branches of the main portal vein (right or left portal vein, not including sectoral or segmental branches) or as invasion of one or more of the three hepatic veins (right, middle, or left). Invasion of the hepatic artery or vena cava is assigned T3.\n\n**Note 3:** Cholangiocarcinoma may be classified by growth pattern. The tumor growth patterns of intrahepatic cholangiocarcinoma include the mass forming type, the periductal infiltrating type, and a mixed type. The periductal infiltrating type of cholangiocarcinoma demonstrates a diffuse longitudinal growth pattern along the bile duct. Limited analyses suggest that the diffuse periductal infiltrating type is associated with a poor prognosis. The presence of periductal invasion is assigned T4.", - "footnotes" : "\\* T2 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Multiple tumors or single tumor with vascular invasion\" as T2 [NOS].\n\\# T2 [NOS] is not defined in AJCC 7th edition", - "last_modified" : "2018-05-14T21:29:04.443Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T \n Extension cannot be determined\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ (intraductal tumor)", "Intraepithelial, noninvasive \n\nStated as Tis" ], [ "c1", "cT1", "Solitary tumor without vascular invasion", "Single lesion in one lobe of liver WITHOUT intrahepatic vascular invasion OR vascular invasion not stated \n\nSingle lesion in more than one lobe of liver (contiguous growth) WITHOUT vascular invasion OR vascular invasion not stated\n\nExtension to gallbladder WITH or WITHOUT single lesion in one or more lobes of liver (contiguous growth) WITHOUT vascular invasion OR vascular invasion not stated\n\nConfined to liver, NOS\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Not defined by UICC*#", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories.\n\nMultiple tumors or single tumor with vascular invasion\n\nStated as T2[NOS]" ], [ "c2A", "cT2a", "Solitary tumor with vascular invasion", "Single lesion in one lobe of liver WITH intrahepatic vascular invasion\n\nSingle lesion in more than one lobe of liver (contiguous growth) WITH vascular invasion WITH or WITHOUT vascular invasion plus extension to gallbladder\n\nSingle tumor WITH major vascular invasion: major branch(es) of portal or hepatic vein(s) WITH or WITHOUT extension to gallbladder \n\nStated as T2a" ], [ "c2B", "cT2b", "Multiple tumors, with or without vascular invasion", "Multiple (satellite) nodules/tumors in one lobe of liver:\n WITH or WITHOUT intrahepatic vascular invasion plus extension to gallbladder OR\n WITH major vascular invasion: major branch(es) of portal or hepatic vein(s) OR\n WITH major vascular invasion and extension to gallbladder \n\nMultiple (satellite) nodules/tumors in more than one lobe of liver\nSatellite nodules, NOS\n\nStated as T2b" ], [ "c3", "cT3", "Tumor perforates the visceral peritoneum OR \n\nDirectly invades adjacent extrahepatic structures", "Diaphragm\nDirect extension/perforation of visceral peritoneum\nExtension to hepatic artery or vena cava\nExtrahepatic bile ducts WITH or WITHOUT satellite nodules in more than one lobe or multiple tumors with major vascular invasion\n\nMultiple (satellite) nodules on surface of liver parenchyma\n\nLesser omentum Ligament(s): \n Coronary \n Falciform \n Hepatoduodenal \n Hepatogastric \n Round (of liver) \n Triangular \n Parietal peritoneum\n\nFurther contiguous extension:\n Pancreas\n Pleura\n Stomach\nOther contiguous extension\n\nStated as T3" ], [ "c4", "cT4", "Tumor with periductal invasion (periductal growth pattern)", "Stated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/kidney_n_42919.json b/src/test/resources/algorithms/tnm/2.0/tables/kidney_n_42919.json deleted file mode 100644 index 6d46b2d29..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/kidney_n_42919.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "kidney_n_42919", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Kidney Parenchyma", - "title" : "Pathologic N", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 2:** Regional nodes include unilateral, bilateral or contralateral involvement of named node(s).\n\n**Regional lymph nodes**\n\n Aortic, NOS\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Preaortic\n Retroaortic\n Interaortocaval \n Pericaval, NOS\n Paracaval\n Precaval\n Retrocaval\n\n Renal hilar\n Retroperitoneal, NOS\n\n**Note 3:** N1 includes single and multiple regional node(s).", - "footnotes" : "^ Definition from the updated pages from [TNM Classification of Malignant Tumours, Seventh edition](http://www.wileyanduicc.com/pdf/Corrected_pages.pdf)", - "last_modified" : "2018-05-14T21:29:00.326Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis^", "Single or multiple lymph node(s)\n\nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/kidney_parenchyma_t_48027.json b/src/test/resources/algorithms/tnm/2.0/tables/kidney_parenchyma_t_48027.json deleted file mode 100644 index b6ea6b1f4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/kidney_parenchyma_t_48027.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "kidney_parenchyma_t_48027", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Kidney Parenchyma", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for kidney parenchyma tumors.\n\n**Note 2:** Gerota fascia is a fibrous tissue sheath surrounding the kidney and suprarenal or adrenal gland. The perirenal fat, renal capsule, and renal parenchyma lie below the fascia.\n\n**Note 3:** The parenchyma of the kidney includes the following structures \n* Cortex (outer layer of kidney), renal columns; medulla, medullary rays, renal pyramids, and renal papillae; nephrons (renal corpuscle, loops of Henle, proximal and distal tubules, collecting duct); glomerulus and surrounding Bowman's capsule \n\n**Note 4:** The most common site for renal parenchymal cancer to develop is in the proximal convoluted tubule. \n* Tumor extension from one of these structures into another is assigned T1a - T2b depending on size in the absence of further involvement\n\n**Note 5:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 6:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Invasive cancer confined to kidney cortex and/or medulla\n\n Invasion of renal capsule\n Renal pelvis or calyces involved\n Separate focus of tumor in renal pelvis/calyx\n\n Confined to kidney\n Localized, NOS\n\n**Note 7:** Information about invasion beyond the capsule, venous involvement, and ipsilateral adrenal gland involvement is collected in this field for anatomic staging. \n* This information is also collected in **Site-Specific Factor 1, Site-Specific Factor 2, and Site-Specific Factor 3**, as these factors may have an independent effect on prognosis\n\n**Note 8:** Direct extension to OR involvement of other structures is coded in M (distant metastasis). This includes: \n* Contralateral kidney; contralateral ureter; liver from left kidney; spleen from right kidney", - "last_modified" : "2018-05-14T21:29:04.371Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 7 cm or less in greatest dimension\nLIMITED to the kidney", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor 4 cm or less", "Stated as T1a" ], [ "p1B", "pT1b", "Tumor more than 4 cm but not more than 7 cm", "Stated as T1b" ], [ "p2", "pT2", "Tumor more than 7 cm in greatest dimension\nLIMITED to the kidney", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nStated as T2 [NOS]" ], [ "p2A", "pT2a", "Tumor more than 7 cm but not more than 10 cm", "Stated as T2a" ], [ "p2B", "pT2b", "Tumor more than 10 cm, limited to the kidney", "Stated as T2b" ], [ "p3", "pT3", "Tumor extends into major veins or perinephric tissues but \nNot into the ipsilateral adrenal gland and not beyond Gerota fascia", "Note: T3 has subcategories of T3a, T3b, and T3c. Assign T3 only when there is no information available to assign one of the subcategories\n\nInferior vena cava (IVC), NOS\n\nStated as T3 [NOS]" ], [ "p3A", "pT3a", "Tumor grossly extends into: \n Renal vein or its segmental (muscle containing) branches, OR \n\nTumor invades: \n Perirenal and/or renal sinus fat (peripelvic) fat but not beyond Gerota fascia", "Perirenal (perinephric) tissue/fat\nRenal (Gerota) fascia\nRenal sinus fat\n\nBlood vessels:\n Extrarenal portion of renal vein or segmental (muscle containing) \n branches\n Hilar blood vessel\n Perirenal vein\n Renal artery\n Renal vein, NOS\n Tumor thrombus in a renal vein, NOS\n\nStated as T3a" ], [ "p3B", "pT3b", "Tumor grossly extends into vena cava below diaphragm", "Inferior vena cava (IVC) below diaphragm\n\nStated as T3b" ], [ "p3C", "pT3c", "Tumor grossly extends into vena cava above the diaphragm OR \nInvades the wall of the vena cava", "IVC above diaphragm or invades wall of IVC\n\nStated as T3c" ], [ "p4", "pT4", "Tumor invades beyond Gerota fascia \n (including contiguous extension into the ipsilateral adrenal gland)", "Ipsilateral adrenal (suprarenal) gland \n(Noncontiguous ipsilateral adrenal gland involvement coded in M field and not T)\n\nIpsilateral adrenal gland plus blood vessels and/or IVC below diaphragm \nIpsilateral adrenal gland plus IVC above diaphragm or wall of IVC \n\nExtension beyond Gerota fascia to:\n Ascending colon from right kidney\n Descending colon from left kidney\n Diaphragm\n Duodenum from right kidney\n Peritoneum\n Psoas muscle\n Quadratus lumborum muscle\n Tail of pancreas\n Ureter, including implant(s), ipsilateral\nBeyond Gerota fascia, NOS\n\nOther extension:\n Liver from right kidney\n Retroperitoneal soft tissue\n Ribs\n Spleen from left kidney\n Stomach \n\nFurther contiguous extension:\n Aorta\n Other direct extension EXCLUDING: contralateral kidney and ureter, liver from left kidney, or spleen from right kidney\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/lacrimal_gland_t_1116.json b/src/test/resources/algorithms/tnm/2.0/tables/lacrimal_gland_t_1116.json deleted file mode 100644 index a9ccaab86..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/lacrimal_gland_t_1116.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lacrimal_gland_t_1116", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Lacrimal Gland", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for lacrimal gland tumors.\n\n**Note 2:** Tumors greater than 2 cm (the size of the lacrimal gland) usually extend into the orbital soft tissue.\n\n**Note 3:** Periosteum is a fibrous membrane that wraps the outer surface of bones.\n\n**Note 4:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 5:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Extension to any of the following WITHOUT bone invasion\n Globe (eyeball)\n Optic nerve\n Orbital soft tissues\n\n Confined to lacrimal gland\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:01.565Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension\nLIMITED to the lacrimal gland", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension\nLIMITED to the lacrimal gland", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm OR \nWITH extraglandular extension into orbital soft tissue, including optic nerve or globe", "Stated as T3" ], [ "p4", "pT4", "Tumor invades periosteum or orbital bone or adjacent structures", "Note: T4 has subcategories of T4a, T4b and T4c. Assign T4 only when there is no information available to assign one of the subcategories.\n\nStated as T4 [NOS]" ], [ "p4A", "pT4a", "Tumor invades periosteum", "Stated as T4a" ], [ "p4B", "pT4b", "Tumor invades orbital bone", "Stated as T4b" ], [ "p4C", "pT4c", "Tumor invades adjacent structures: \n Brain\n Sinus\n Pterygoid fossa\n Temporal fossa", "Stated as T4c" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/larynx_nos_t_90793.json b/src/test/resources/algorithms/tnm/2.0/tables/larynx_nos_t_90793.json deleted file mode 100644 index b74f3a406..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/larynx_nos_t_90793.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "larynx_nos_t_90793", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Larynx, NOS", - "title" : "Pathologic T", - "notes" : "**Note 1:** Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 2:** Assign T1 for localized tumor only if no information is available to identify further extension.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.408Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor limited to subglottis", "Invasive tumor with normal vocal cord mobility confined to subglottis\n\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor extends to vocal cord(s) \nWITH normal or impaired mobility", "Tumor involves adjacent regions(s) of larynx:\n Supraglottis\n Glottis\nWITH normal or impaired mobility\n\nStated as T2" ], [ "p3", "pT3", "Tumor limited to larynx \nWITH vocal cord fixation", "Stated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades cricoid or thyroid cartilage and/or invades tissues beyond the larynx, e.g., \n Trachea\n Soft tissues of neck including deep/extrinsic muscle of tongue \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n Strap muscles\n Thyroid\n Esophagus", "Base of tongue\nHypopharynx, NOS\nPostcricoid area\nPre-epiglottic tissues\nPyriform sinus (pyriform fossa)\nVallecula\n\nExtension to/through:\n Cervical esophagus\n Deep extrinsic muscles of tongue\n Strap muscles:\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Oropharynx\n Skin\n Soft tissues of neck\n Thyroid gland\n Trachea\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades: \n Prevertebral space\n Encases carotid artery\n Mediastinal structures", "Stated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/larynx_subglottic_t_32495.json b/src/test/resources/algorithms/tnm/2.0/tables/larynx_subglottic_t_32495.json deleted file mode 100644 index 05dc67047..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/larynx_subglottic_t_32495.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "larynx_subglottic_t_32495", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Larynx Subglottic", - "title" : "Pathologic T", - "notes" : "**Note 1:** Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 2:** Assign T1 for localized tumor only if no information is available to identify further extension.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.561Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor limited to subglottis", "Invasive tumor with normal vocal cord mobility confined to subglottis\n\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor extends to vocal cord(s) \nWITH normal or impaired mobility", "Tumor involves adjacent regions(s) of larynx:\n Supraglottis\n Glottis\nWITH normal or impaired mobility\n\nStated as T2" ], [ "p3", "pT3", "Tumor limited to larynx \nWITH vocal cord fixation", "Stated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades cricoid or thyroid cartilage and/or invades tissues beyond the larynx, e.g.,\n Trachea\n Soft tissues of neck including deep/extrinsic muscle of tongue \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n Strap muscles\n Thyroid\n Esophagus", "Base of tongue\nHypopharynx, NOS\nPostcricoid area\nPre-epiglottic tissues\nPyriform sinus (pyriform fossa)\nVallecula\n\nExtension to/through:\n Cervical esophagus\n Deep extrinsic muscles of tongue\n Strap muscles:\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Oropharynx\n Skin\n Soft tissues of neck\n Thyroid gland\n Trachea\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades: \n Prevertebral space\n Encases carotid artery\n Mediastinal structures", "Stated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/larynx_supraglottic_t_57946.json b/src/test/resources/algorithms/tnm/2.0/tables/larynx_supraglottic_t_57946.json deleted file mode 100644 index 8fd139a67..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/larynx_supraglottic_t_57946.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "larynx_supraglottic_t_57946", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Larynx Supraglottic", - "title" : "Pathologic T", - "notes" : "**Note 1:** Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 2:** Assign T1 for localized tumor only if no information is available to identify further extension.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.243Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor limited to one subsite of supraglottis \nWITH normal vocal cord mobility", "Invasive tumor confined to anterior surface of epiglottis with normal vocal cord mobility\n\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor invades: \n Mucosa of more than one adjacent subsite of supraglottis OR \n Glottis or region outside the supraglottis, e.g., \n Mucosa of base of tongue\n Vallecula\n Medial wall of pyriform sinus \nWITHOUT fixation of the larynx", "Mucosa of adjacent subsite(s) of oropharynx\n\nMucosa of vallecula without fixation of larynx\n\nMucosa of adjacent subsite(s) of supraglottis (including posterior surface of epiglottis) \nWITHOUT fixation of larynx\n\nLarynx, glottic or NOS WITHOUT fixation of larynx\n\nMucosa of pyriform sinus, medial wall or NOS WITHOUT fixation of larynx\n\nMucosa of base of tongue WITHOUT fixation of larynx\n\nStated as T2" ], [ "p3", "pT3", "Tumor limited to larynx WITH vocal cord fixation and/or \ninvades any of the following:\n Postcricoid area\n Pre-epiglottic space\n Paraglottic space\n Inner cortex of thyroid cartilage", "Any structure coded in T1 or T2 WITH vocal cord fixation\n\nHypopharynx, NOS\nInner cortex of thyroid cartilage (minor erosion)\nParaglottic space\nPre-epiglottic tissues\nPostcricoid area\nPyriform sinus except medial wall \n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades through the thyroid cartilage and/or invades tissues beyond the larynx, e.g., \n Trachea\n Soft tissues of neck including deep/extrinsic muscle of tongue \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n Strap muscles\n Thyroid\n Esophagus", "Soft palate, inferior surface including uvula\nSoft palate, superior (nasopharyngeal) surface\nSoft palate, NOS\n\nNasopharynx, NOS\n\nDeep tissues of base of tongue\nBuccal mucosa (inner cheek)\nFloor of mouth\nGum (gingiva)\nPterygoid muscle\nSoft tissues of neck\nTrachea \nThyroid\n\nInvasion of, through outer cortex of thyroid cartilage\nThyroid cartilage, NOS\n\nStrap muscles:\n Omohyoid\n Sternohyoid\n Thyrohyoid\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades: \n Prevertebral space\n Encases carotid artery\n Mediastinal structures", "Prevertebral fascia or muscle\n\nFurther contiguous extension, including:\n Anterior 2/3 of tongue\n Bone\n Hard palate\n Mandible\n Parotid gland\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/lip_lower_t_82564.json b/src/test/resources/algorithms/tnm/2.0/tables/lip_lower_t_82564.json deleted file mode 100644 index 28aa3c987..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/lip_lower_t_82564.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "lip_lower_t_82564", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Lip Lower", - "title" : "Pathologic T", - "notes" : "**Note 1:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size when involvement is limited to the cortical bone.\n\n Invasive tumor confined to\n Labial mucosa (inner lip)\n Lamina propria\n Multiple foci\n Submucosa (superficial invasion)\n Vermilion surface\n Superficial extension to\n Skin of lip\n Subcutaneous soft tissue of lip\n\n Extension to\n Bone, NOS\n Buccal mucosa (inner cheek)\n Commissure (from lower lip only)\n Cortical bone, NOS\n Cortical bone of mandible\n Cortical bone of maxilla (from commissure only)\n Gingiva (lower and NOS)\n Mandible, NOS\n Maxilla, NOS (from commissure only)\n Musculature\n Opposite lip (both lips)\n Upper gingiva (from commissure only)\n\n Confined to lower lip\n Localized, NOS\n\n**Note 4:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.240Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Trabecular bone of mandible\nTrabecular bone of maxilla (from commissure only)\n\nFloor of mouth\nInferior alveolar nerve\nNose\nSkin of face/neck\nTongue\n\nStated as T4a" ], [ "p4B", "pT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Upper gingiva (from lower lip)\n\nBone of maxilla (from lower lip)\nMaxilla, NOS (from lower lip)\nSpecified bone (other than mandible, maxilla from commissure)\nMasticator space\nPterygoid plates\n\nFurther contiguous extension including: \n Skull base \n Internal carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/lip_other_t_56087.json b/src/test/resources/algorithms/tnm/2.0/tables/lip_other_t_56087.json deleted file mode 100644 index 86d0d53d0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/lip_other_t_56087.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "lip_other_t_56087", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Lip Other", - "title" : "Pathologic T", - "notes" : "**Note 1:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size when involvement is limited to the cortical bone.\n\n Invasive tumor confined to\n Labial mucosa (inner lip)\n Lamina propria\n Multiple foci\n Submucosa (superficial invasion)\n Vermilion surface\n Superficial extension to\n Skin of lip\n Subcutaneous soft tissue of lip\n\n Extension to \n Bone, NOS\n Buccal mucosa (inner cheek)\n Commissure \n Cortical bone, NOS\n Cortical bone of mandible\n Cortical bone of maxilla \n Gingiva\n Mandible, NOS\n Maxilla, NOS \n Musculature\n Opposite lip (both lips)\n\n Confined to lip, NOS\n Localized, NOS\n\n**Note 4:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.572Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Trabecular bone:\n Mandible\n Maxilla\n\nFloor of mouth\nInferior alveolar nerve\nNose\nSkin of face/neck\nTongue\n\nStated as T4a" ], [ "p4B", "pT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Specified bone \n\nMasticator space\nPterygoid plates\n\nFurther contiguous extension including: \n Skull base \n Internal carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/lip_upper_t_48652.json b/src/test/resources/algorithms/tnm/2.0/tables/lip_upper_t_48652.json deleted file mode 100644 index 8b3bb6b6c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/lip_upper_t_48652.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "lip_upper_t_48652", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Lip Upper", - "title" : "Pathologic T", - "notes" : "**Note 1:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size when involvement is limited to the cortical bone.\n\n Invasive tumor confined to\n Labial mucosa (inner lip)\n Lamina propria\n Multiple foci\n Submucosa (superficial invasion)\n Vermilion surface\n Superficial extension to\n Skin of lip\n Subcutaneous soft tissue of lip\n\n Extension to \n Bone, NOS\n Buccal mucosa (inner cheek)\n Commissure \n Cortical bone, NOS\n Cortical bone of maxilla \n Gingiva, NOS\n Musculature\n Opposite lip (both lips)\n Upper gingiva\n\n Confined to upper lip\n Localized, NOS\n\n**Note 4:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.574Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Trabecular bone of maxilla\n\nFloor of mouth\nInferior alveolar nerve\nNose\nSkin of face/neck\nTongue\n\nStated as T4a" ], [ "p4B", "pT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Lower gingiva\n\nBone of mandible\nMandible, NOS\nSpecified bone \n\nMasticator space\nPterygoid plates\n\nFurther contiguous extension including: \n Skull base \n Internal carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/liver_t_55652.json b/src/test/resources/algorithms/tnm/2.0/tables/liver_t_55652.json deleted file mode 100644 index 42405233b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/liver_t_55652.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "liver_t_55652", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Liver", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for liver tumors.\n\n**Note 2:** Assign T2 or T3 based on the tumor size for the following descriptions\n\n Multiple (satellite) nodules/tumors (one lobe) \n WITH or WITHOUT intrahepatic vascular invasion, including vascular invasion not stated\n WITH extension to gallbladder WITH or WITHOUT intrahepatic vascular invasion\n\n Multiple (satellite) nodules/tumors in more than one lobe of liver or on surface of parenchyma \n\n Satellite nodules, NOS\n\n**Note 3:** Major vascular invasion (T3b) is defined as invasion of the branches of the main portal vein (right or left portal vein, not including sectoral or segmental branches) or as invasion of one or more of the three hepatic veins (right, middle, or left). \n* Invasion of hepatic artery or vena cava is coded to T4", - "footnotes" : "\\# T3 [NOS] is not defined in AJCC 7th edition", - "last_modified" : "2018-05-14T21:29:04.439Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Solitary tumor without vascular invasion", "Single lesion (one lobe)\nWITHOUT intrahepatic vascular invasion, including vascular invasion not stated\n\nMore than one lobe involved by contiguous growth (single lesion)\nWITHOUT intrahepatic vascular invasion, including vascular invasion not stated\n\nSingle lesion \nWITH involvement of one or more lobes of liver or extension within liver not stated \nWITH extension to gallbladder\nWITHOUT vascular invasion, including vascular invasion not stated\n\nConfined to liver, NOS\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Solitary tumor with vascular invasion or multiple tumors, none more than\n5 cm in greatest dimension", "Single lesion (one lobe ) \nWITH intrahepatic vascular invasion\n\nMore than one lobe involved by contiguous growth (single lesion)\nWITH vascular invasion\n\nSingle lesion \nWITH involvement of one or more lobes of liver or extension within liver not stated\nWITH extension to gallbladder\nWITH intrahepatic vascular invasion\n\nStated as T2" ], [ "p3", "pT3", "Multiple tumors any more than 5 cm or tumor involving a major branch of\nthe portal or hepatic vein(s)#", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories\n\nStated as T3 [NOS]" ], [ "p3A", "pT3a", "Multiple tumors any more than 5 cm", "Stated as T3a" ], [ "p3B", "pT3b", "Tumor involving a major branch of the portal or hepatic vein(s)", "Single tumor (confined to one lobe) or multiple tumor(s) (confined to one lobe and not on surface of liver) WITH major vascular invasion: major branch(es) of portal or hepatic vein(s)\n\nSingle or multiple tumor(s) with major vascular invasion: major branch(es) of portal or hepatic vein(s) plus multiple nodules/tumors in more than one lobe of liver or on surface of parenchyma\n\nStated as T3b" ], [ "p4", "pT4", "Tumor(s) with direct invasion of adjacent organs other then the gallbladder\nor with perforation of visceral peritoneum", "Direct extension/perforation of visceral peritoneum\n\nExtrahepatic bile ducts\n\nExtension to hepatic artery or vena cava\n\nDiaphragm\n\nLesser omentum\nLigament(s):\n Coronary\n Falciform\n Hepatoduodenal\n Hepatogastric\n Round (of liver)\n Triangular\nParietal peritoneum\n\nFurther contiguous extension:\n Pancreas\n Pleura\n Stomach\nOther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/lung_occult_stage_11131.json b/src/test/resources/algorithms/tnm/2.0/tables/lung_occult_stage_11131.json deleted file mode 100644 index ca5400fb3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/lung_occult_stage_11131.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lung_occult_stage_11131", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Lung Occult Stage", - "title" : "Determine Lung Occult or Unknown Stage", - "description" : "Since TX, N0, M0 can be both Occult or Unknown, this looks at the directly assigned stage group when this combination is found. Only this combination is sent to this table.", - "last_modified" : "2018-05-14T21:29:01.642Z", - "definition" : [ { - "key" : "stage_group_in", - "name" : "Directly Assigned Stage Group", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Derived Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "OC", "VALUE:OC" ], [ "99", "VALUE:99" ], [ "*", "ERROR:Assigned Stage and assigned T, N and M values do not match." ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/lung_t_86537.json b/src/test/resources/algorithms/tnm/2.0/tables/lung_t_86537.json deleted file mode 100644 index 775b4d64b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/lung_t_86537.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lung_t_86537", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Lung", - "title" : "Pathologic T", - "notes" : "**Note 1:** Distance from Carina: Assume tumor is greater than or equal to 2 centimeters (cm) from carina if lobectomy, segmental resection, or wedge resection is done.\n\n**Note 2:** Specific information about visceral pleura invasion is captured in T2 and **Site-Specific Factor 2, Visceral Pleural Invasion (VPI)/Elastic Layer**. Elastic layer involvement has prognostic significance for lung cancer.\n\n**Note 3:** Bronchopneumonia is not the same thing as obstructive pneumonitis and should not be coded as such. \n* Bronchopneumonia is an acute inflammation of the walls of the bronchioles, usually a result of spread of infection from the upper to the lower respiratory tract\n* Obstructive pneumonitis is a combination of atelectasis, bronchiectasis with mucous plugging, and parenchymal inflammation that develops distal to an obstructing endobronchial lesion\n\n**Note 4:** Atelectasis is the failure of the lung to expand (inflate) completely. This may be caused by a blocked airway, a tumor, general anesthesia, pneumonia or other lung infections, lung disease, or long-term bedrest with shallow breathing. Sometimes called a collapsed lung. \n* For staging purposes, atelectasis must present with an obstructing tumor \n\n**Note 5:** Assign the appropriate T (sub)category (T1-T3) based on the tumor size for the following descriptions\n\n Direct tumor invasion into an adjacent ipsilateral lobe\n Invasion of pleura, NOS\n Pulmonary ligament \n Tumor confined to hilus\n Tumor confined to one lung \n Tumor involving main stem bronchus\n\n Confined to lung, NOS\n Localized, NOS\n\n**Note 6:** Separate ipsilateral tumor nodes are assigned either T3 (same lobe) or T4 (different lobe). Separate tumor nodules in the contralateral lung are assigned in M (distant metastasis). \n* The absence or presence of separate tumor nodules are also coded in **Site-Specific Factor 1**\n\n**Note 7:** Pulmonary Artery/Vein: An involved pulmonary artery/vein in the mediastinum is assigned T4 (involvement of major blood vessel). However, if the involvement of the artery/vein appears to be only within lung tissue and not in the mediastinum, it is not assigned T4.\n\n**Note 8:** Vocal cord paralysis (resulting from involvement of recurrent branch of the vagus nerve), superior vena cava (SVC) obstruction, or compression of the trachea or the esophagus may be related to direct extension of the primary tumor or to lymph node involvement. The treatment options and prognosis associated with these manifestations of disease extent fall within the T4-Stage IIIB category. \n* If the primary tumor is peripheral and clearly unrelated to vocal cord paralysis, SVC obstruction, or compression of the trachea or the esophagus, code these manifestations as mediastinal lymph node involvement, N2 in regional lymph nodes, unless there is a statement of involvement by direct extension from the primary tumor\n\n**Note 9:** Opposite (contralateral) Lung: If no mention is made of the opposite lung on a chest x-ray, assume it is not involved.", - "last_modified" : "2018-05-14T21:29:04.601Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed OR\nTumor proven by the presence of malignant cells in spuutum or bronchial washings but \nNOT visualized by imaging or bronchoscopy", "Occult carcinoma\n\nPathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 3 cm or less in greatest dimension, surrounded by lung or visceral pleura\nWITHOUT bronchoscopic evidence of invasion more proximal than the lobar bronchus (i.e., not in the main bronchus)", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor 2 cm or less in greatest dimension", "Uncommon superficial spreading tumor of any size with its invasive component limited to the bronchial wall, which may extend proximal to the main bronchus\n\nStated as T1a" ], [ "p1B", "pT1b", "Tumor more than 2 cm but not more than 3 cm in greatest dimension", "Stated as T1b" ], [ "p2", "pT2", "Tumor more than 3 cm but not more than 7 cm; OR\nTumor with any of the following features\n Involves main bronchus, 2 cm or more distal to the carina\n Invades visceral pleura\n Associated with atelectasis or obstructive pneumonitis that extends to the hilar region but does not involve the entire lung", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nStated as T2 [NOS]" ], [ "p2A", "pT2a", "Tumor more than 3 cm but not more than 5 cm in greatest dimension", "T2 tumor with features listed in T2 are classified T2a if 5 cm or less, or if size cannot be determined\n\nStated as T2a" ], [ "p2B", "pT2b", "Tumor more than 5 cm but not more than 7 cm in greatest dimension", "T2 tumor with features listed in T2 are classified T2b if greater than 5 cm but not larger than 7 cm\n\nStated as T2b" ], [ "p3", "pT3", "Tumor more than 7 cm OR\n One that directly invades any of the following: \n Parietal pleura\n Chest wall (including superior sulcus tumors)\n Diaphragm\n Phrenic nerve\n Mediastinal pleura\n Parietal pericardium\nOR Tumor in the main bronchus less than 2 cm distal to the carina but without involvement of the carina \nOR Associated atelectasis or obstructive pneumonitis of the entire lung \nOR Separate tumor nodule(s) in the same lobe as the primary", "Adjacent rib\n\nStated as T3" ], [ "p4", "pT4", "Tumor of any size that invades any of the following:\n Mediastinum\n Heart\n Great vessels\n Trachea\n Recurrent laryngeal nerve\n Esophagus\n Vertebral body\n Carina\n \nOR Separate tumor nodule(s) in a different ipsilateral lobe to that of the primary", "Note: Invasion into mediastinal fat is T4. However, if such an invasion is clearly limited to fat within the hilum, classification as T2a or T2b is appropriate, dependong size, unless other features dictate a higher T category\n\nSuperior sulcus tumor WITH encasement of subclavian vessels OR WITH unequivocal involvement of superior branches of brachial plexus (C8 or above)\n\nTumor confined to carina\n\nBlood vessel(s), major\n Aorta\n Azygos vein\n Inferior vena cava\n Pulmonary artery or vein\n Superior vena cava (SVC syndrome)\n\nCarina from lung/mainstem bronchus\nCompression of esophagus or trachea not specified as direct extension\n\nMediastinum, extrapulmonary or NOS\nNerve(s):\n Cervical sympathetic (Horner syndrome)\n Recurrent laryngeal (vocal cord paralysis)\n Vagus\n\nVisceral pericardium\n\nVertebra(e)\nNeural foramina\n\nFurther contiguous extension \n(Except to structures specified in distant metastasis)\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/lymphoma_path_stage_group_detailed_88547.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphoma_path_stage_group_detailed_88547.json deleted file mode 100644 index b19fe9868..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/lymphoma_path_stage_group_detailed_88547.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "lymphoma_path_stage_group_detailed_88547", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Lymphoma Path Stage Group Detailed", - "title" : "Lymphoma Path Stage Group Detailed", - "description" : "Based on the Assigned Stage Group and SSF2 (Systemic Symptoms at Diagnosis), calculates the detailed stage group, verifying that the assigned group and SSF2 are not in conflict.", - "last_modified" : "2018-05-14T21:29:06.676Z", - "definition" : [ { - "key" : "path_stage_group_in", - "name" : "Assigned Path Stage Group", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_in", - "name" : "Assigned Clin Stage Group", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "SSF2", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Derived Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "1", "*", "000,020", "VALUE:1A" ], [ "1A", "*", "000,020", "VALUE:1A" ], [ "1B", "1A,2A,3A,4A", "000,020", "VALUE:1B" ], [ "1B", ",1,2,3,4,1B,2B,3B,4B,99", "000,020", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "2", "*", "000,020", "VALUE:2A" ], [ "2A", "*", "000,020", "VALUE:2A" ], [ "2B", "1A,2A,3A,4A", "000,020", "VALUE:2B" ], [ "2B", ",1,2,3,4,1B,2B,3B,4B,99", "000,020", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "3", "*", "000,020", "VALUE:3A" ], [ "3A", "*", "000,020", "VALUE:3A" ], [ "3B", "1A,2A,3A,4A", "000,020", "VALUE:3B" ], [ "3B", ",1,2,3,4,1B,2B,3B,4B,99", "000,020", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "4", "*", "000,020", "VALUE:4A" ], [ "4A", "*", "000,020", "VALUE:4A" ], [ "4B", "1A,2A,3A,4A", "000,020", "VALUE:4B" ], [ "4B", ",1,2,3,4,1B,2B,3B,4B,99", "000,020", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "1", "*", "010,030", "VALUE:1B" ], [ "1A", "1B,2B,3B,4B", "010,030", "VALUE:1A" ], [ "1A", ",1,2,3,4,1A,2A,3A,4A,99", "010,030", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "1B", "*", "010,030", "VALUE:1B" ], [ "2", "*", "010,030", "VALUE:2B" ], [ "2A", "1B,2B,3B,4B", "010,030", "VALUE:2A" ], [ "2A", ",1,2,3,4,1A,2A,3A,4A,99", "010,030", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "2B", "*", "010,030", "VALUE:2B" ], [ "3", "*", "010,030", "VALUE:3B" ], [ "3A", "1B,2B,3B,4B", "010,030", "VALUE:3A" ], [ "3A", ",1,2,3,4,1A,2A,3A,4A,99", "010,030", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "3B", "*", "010,030", "VALUE:3B" ], [ "4", "*", "010,030", "VALUE:4B" ], [ "4A", "1B,2B,3B,4B", "010,030", "VALUE:4A" ], [ "4A", ",1,2,3,4,1A,2A,3A,4A,99", "010,030", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "4B", "*", "010,030", "VALUE:4B" ], [ "1", "*", "999", "VALUE:1" ], [ "1A", "*", "999", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "1B", "*", "999", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "2", "*", "999", "VALUE:2" ], [ "2A", "*", "999", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "2B", "*", "999", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "3", "*", "999", "VALUE:3" ], [ "3A", "*", "999", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "3B", "*", "999", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "4", "*", "999", "VALUE:4" ], [ "4A", "*", "999", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "4B", "*", "999", "ERROR:SSF2 and directly assigned stages in conflict" ], [ "88", "*", "*", "VALUE:88" ], [ "99", "*", "*", "VALUE:99" ], [ "*", "*", "988", "ERROR:SSF2 not collected" ], [ "", "*", "*", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/lymphoma_stage_group_detailed_35045.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphoma_stage_group_detailed_35045.json deleted file mode 100644 index 62a00debc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/lymphoma_stage_group_detailed_35045.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymphoma_stage_group_detailed_35045", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Lymphoma Stage Group Detailed", - "title" : "Lymphoma Stage Group Detailed", - "description" : "Based on the Assigned Stage Group and SSF2 (Systemic Symptoms at Diagnosis), calculates the detailed stage group, verifying that the assigned group and SSF2 are not in conflict.", - "last_modified" : "2018-05-14T21:29:01.429Z", - "definition" : [ { - "key" : "stage_group_in", - "name" : "Assigned Stage Group", - "type" : "INPUT" - }, { - "key" : "ssf2", - "name" : "SSF2", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Derived Stage Group", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "1", "000,020", "VALUE:1A" ], [ "1A", "000,020", "VALUE:1A" ], [ "1B", "000,020", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "2", "000,020", "VALUE:2A" ], [ "2A", "000,020", "VALUE:2A" ], [ "2B", "000,020", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "3", "000,020", "VALUE:3A" ], [ "3A", "000,020", "VALUE:3A" ], [ "3B", "000,020", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "4", "000,020", "VALUE:4A" ], [ "4A", "000,020", "VALUE:4A" ], [ "4B", "000,020", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "1", "010,030", "VALUE:1B" ], [ "1A", "010,030", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "1B", "010,030", "VALUE:1B" ], [ "2", "010,030", "VALUE:2B" ], [ "2A", "010,030", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "2B", "010,030", "VALUE:2B" ], [ "3", "010,030", "VALUE:3B" ], [ "3A", "010,030", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "3B", "010,030", "VALUE:3B" ], [ "4", "010,030", "VALUE:4B" ], [ "4A", "010,030", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "4B", "010,030", "VALUE:4B" ], [ "1", "999", "VALUE:1" ], [ "1A", "999", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "1B", "999", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "2", "999", "VALUE:2" ], [ "2A", "999", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "2B", "999", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "3", "999", "VALUE:3" ], [ "3A", "999", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "3B", "999", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "4", "999", "VALUE:4" ], [ "4A", "999", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "4B", "999", "ERROR:SSF2 and directly assigned clin stage in conflict" ], [ "88", "*", "VALUE:88" ], [ "99", "*", "VALUE:99" ], [ "*", "988", "ERROR:SSF2 not collected" ], [ "", "*", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_m_no_uicc_definition_96511.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_m_no_uicc_definition_96511.json deleted file mode 100644 index 1123b57f2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_m_no_uicc_definition_96511.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymphomaocularadnexa_clin_m_no_uicc_definition_96511", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clinical M", - "title" : "LymphomaOcularAdnexa Clin M (no UICC definition)", - "notes" : "**Note 1:** Involvement of peripheral and central lymph nodes, distant nodes for ocular adnexal lymphomas, is coded in lymph nodes (N) not distant metastasis (M).\n\n**Note 2:** UICC does not define Lymphoma Ocular Adnexa. A list of all possible Clinical M values is provided.", - "last_modified" : "2018-05-14T21:29:01.674Z", - "definition" : [ { - "key" : "clin_m", - "name" : "Clinical M", - "type" : "INPUT" - }, { - "key" : "clin_m_display", - "name" : "Clinical M Display", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0" ], [ "c0I+", "cM0(i+)" ], [ "c1", "cM1" ], [ "c1A", "cM1a" ], [ "c1B", "cM1b" ], [ "c1C", "cM1c" ], [ "c1D", "cM1d" ], [ "c1E", "cM1e" ], [ "p1", "pM1" ], [ "p1A", "pM1a" ], [ "p1B", "pM1b" ], [ "p1C", "pM1c" ], [ "p1D", "pM1d" ], [ "p1E", "pM1e" ], [ "88", "Not Applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_n_no_uicc_definition_66872.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_n_no_uicc_definition_66872.json deleted file mode 100644 index 4fa754988..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_clin_n_no_uicc_definition_66872.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymphomaocularadnexa_clin_n_no_uicc_definition_66872", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clinical N", - "title" : "LymphomaOcularAdnexa Clin N (no UICC definition)", - "notes" : "**Note 1:** Peripheral nodes are located in the upper and lower limbs, including axillary and inguinal nodes. Central lymph nodes are located in the trunk, including mediastinal, para-aortic, and mesenteric nodes.\n\n**Note 2:** Involvement of peripheral and central lymph nodes, distant nodes for ocular adnexal lymphomas, is coded in Clinical N and not in Clinical M.\n\n**Note 3:** When coding Regional Nodes Positive and Regional Nodes Examined, only include regional nodes. Do not include distant nodes coded in Clinical N. If the only information available is for Lymph Nodes, NOS, coded as NX in Clinical N, assume these are regional nodes for coding Regional Nodes Positive and Regional Nodes Examined.\n\n**Note 4:** UICC does not define Lymphoma Ocular Adnexa. A list of all possible Clinical N values is provided.", - "last_modified" : "2018-05-14T21:29:04.404Z", - "definition" : [ { - "key" : "clin_n", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "clin_n_display", - "name" : "Clinical N Display", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cNX" ], [ "c0", "cN0" ], [ "c0I-", "cN0i-" ], [ "c0I+", "cN0i+" ], [ "c0M-", "cN0m-" ], [ "c0M+", "cN0m+" ], [ "c1MI", "cN1mi" ], [ "c0A", "cN0a" ], [ "c0B", "cN0b" ], [ "c1", "cN1" ], [ "c1A", "cN1a" ], [ "c1B", "cN1b" ], [ "c1C", "cN1c" ], [ "c2", "cN2" ], [ "c2A", "cN2a" ], [ "c2B", "cN2b" ], [ "c2C", "cN2c" ], [ "c3", "cN3" ], [ "c3A", "cN3a" ], [ "c3B", "cN3b" ], [ "c3C", "cN3c" ], [ "c4", "cN4" ], [ "88", "Not Applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_m_no_uicc_definition_copy_6387.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_m_no_uicc_definition_copy_6387.json deleted file mode 100644 index d945af6d1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_m_no_uicc_definition_copy_6387.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymphomaocularadnexa_path_m_no_uicc_definition_copy_6387", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M", - "title" : "LymphomaOcularAdnexa Path M (no UICC definition)", - "notes" : "**Note 1:** Involvement of peripheral and central lymph nodes, distant nodes for ocular adnexal lymphomas, is coded in lymph nodes (N) not distant metastasis (M).\n\n**Note 2:** UICC does not define Lymphoma Ocular Adnexa. A list of all possible Pathologic M values is provided.", - "last_modified" : "2018-05-14T21:29:03.444Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0" ], [ "c0I+", "cM0(i+)" ], [ "c1", "cM1" ], [ "c1A", "cM1a" ], [ "c1B", "cM1b" ], [ "c1C", "cM1c" ], [ "c1D", "cM1d" ], [ "c1E", "cM1e" ], [ "p1", "pM1" ], [ "p1A", "pM1a" ], [ "p1B", "pM1b" ], [ "p1C", "pM1c" ], [ "p1D", "pM1d" ], [ "p1E", "pM1e" ], [ "88", "Not Applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_n_no_uicc_definition_17284.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_n_no_uicc_definition_17284.json deleted file mode 100644 index 91486440a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_n_no_uicc_definition_17284.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymphomaocularadnexa_path_n_no_uicc_definition_17284", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N", - "title" : "LymphomaOcularAdnexa Path N (no UICC definition)", - "notes" : "**Note 1:** Peripheral nodes are located in the upper and lower limbs, including axillary and inguinal nodes. Central lymph nodes are located in the trunk, including mediastinal, para-aortic, and mesenteric nodes.\n\n**Note 2:** Involvement of peripheral and central lymph nodes, distant nodes for ocular adnexal lymphomas, is coded in Pathologic N and not in Pathologic M.\n\n**Note 3:** When coding Regional Nodes Positive and Regional Nodes Examined, only include regional nodes. Do not include distant nodes coded in Pathologic N. If the only information available is for Lymph Nodes, NOS, coded as NX in Pathologic N, assume these are regional nodes for coding Regional Nodes Positive and Regional Nodes Examined.\n\n**Note 4:** UICC does not define Lymphoma Ocular Adnexa. A list of all possible Pathologic N values is provided.", - "last_modified" : "2018-05-14T21:29:04.392Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX" ], [ "p0", "pN0" ], [ "p0I-", "pN0i-" ], [ "p0I+", "pN0i+" ], [ "p0M-", "pN0m-" ], [ "p0M+", "pN0m+" ], [ "p1MI", "pN1mi" ], [ "p0A", "pN0a" ], [ "p0B", "pN0b" ], [ "p1", "pN1" ], [ "p1A", "pN1a" ], [ "p1B", "pN1b" ], [ "p1C", "pN1c" ], [ "p2", "pN2" ], [ "p2A", "pN2a" ], [ "p2B", "pN2b" ], [ "p2C", "pN2c" ], [ "p3", "pN3" ], [ "p3A", "pN3a" ], [ "p3B", "pN3b" ], [ "p3C", "pN3c" ], [ "p4", "pN4" ], [ "c0", "cN0" ], [ "88", "Not Applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_t_no_uicc_definition_copy_11297.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_t_no_uicc_definition_copy_11297.json deleted file mode 100644 index 43181e452..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_path_t_no_uicc_definition_copy_11297.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymphomaocularadnexa_path_t_no_uicc_definition_copy_11297", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T", - "title" : "LymphomaOcularAdnexa Path T (no UICC definition)", - "notes" : "**Note 1:** Ocular adnexal lymphomas (OAL) originate in conjunctiva, eyelids, lacrimal gland, lacrimal drainage apparatus, and other orbital tissues surrounding the eye. This schema should not be used for secondary lymphomatous involvement of ocular adnexa or for intraocular lymphomas.\n\n**Note 2:** Preseptal eyelid involvement includes infiltration of the outer three layers of the eyelid: skin, subcutaneous connective tissue, and orbicularis oculi muscle.\n\n**Note 3:** The orbit is the bony cavity containing the eye, lacrimal gland, lacrimal sac, nasolacrimal duct, extraocular muscles, fat. arteries, veins, and nerves, but no lymphatics.\n\n**Note 4:** UICC does not define Lymphoma Ocular Adnexa. A list of all possible Pathologic T values is provided.", - "last_modified" : "2018-05-14T21:29:04.459Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX" ], [ "p0", "pT0" ], [ "pA", "pTa" ], [ "pIS", "pTis" ], [ "pISU", "pTispu" ], [ "pISD", "pTispd" ], [ "p1MI", "pT1mi" ], [ "p1", "pT1" ], [ "p1A", "pT1a" ], [ "p1A1", "pT1a1" ], [ "p1A2", "pT1a2" ], [ "p1B", "pT1b" ], [ "p1B1", "pT1b1" ], [ "p1B2", "pT1b2" ], [ "p1C", "pT1c" ], [ "p1D", "pT1d" ], [ "p2", "pT2" ], [ "p2A", "pT2a" ], [ "p2A1", "pT2a1" ], [ "p2A2", "pT2a2" ], [ "p2B", "pT2b" ], [ "p2C", "pT2c" ], [ "p2D", "pT2d" ], [ "p3", "pT3" ], [ "p3A", "pT3a" ], [ "p3B", "pT3b" ], [ "p3C", "pT3c" ], [ "p3D", "pT3d" ], [ "p4", "pT4" ], [ "p4A", "pT4a" ], [ "p4B", "pT4b" ], [ "p4C", "pT4c" ], [ "p4D", "pT4d" ], [ "p4E", "pT4e" ], [ "88", "Not Applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_t_no_uicc_definition_89433.json b/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_t_no_uicc_definition_89433.json deleted file mode 100644 index 8b07345e6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/lymphomaocularadnexa_t_no_uicc_definition_89433.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "lymphomaocularadnexa_t_no_uicc_definition_89433", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clinical T", - "title" : "LymphomaOcularAdnexa Clinical T (no UICC definition)", - "notes" : "**Note 1:** Ocular adnexal lymphomas (OAL) originate in conjunctiva, eyelids, lacrimal gland, lacrimal drainage apparatus, and other orbital tissues surrounding the eye. This schema should not be used for secondary lymphomatous involvement of ocular adnexa or for intraocular lymphomas.\n\n**Note 2:** Preseptal eyelid involvement includes infiltration of the outer three layers of the eyelid: skin, subcutaneous connective tissue, and orbicularis oculi muscle.\n\n**Note 3:** The orbit is the bony cavity containing the eye, lacrimal gland, lacrimal sac, nasolacrimal duct, extraocular muscles, fat, arteries, veins, and nerves, but no lymphatics.\n\n**Note 4:** UICC does not define Lymphoma Ocular Adnexa. A list of all possible Clinical T values is provided.", - "last_modified" : "2018-05-14T21:29:04.482Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX" ], [ "c0", "cT0" ], [ "pA", "pTa" ], [ "pIS", "pTis" ], [ "pISU", "pTispu" ], [ "pISD", "pTispd" ], [ "c1MI", "cT1mi" ], [ "c1", "cT1" ], [ "c1A", "cT1a" ], [ "c1A1", "cT1a1" ], [ "c1A2", "cT1a2" ], [ "c1B", "cT1b" ], [ "c1B1", "cT1b1" ], [ "c1B2", "cT1b2" ], [ "c1C", "cT1c" ], [ "c1D", "cT1d" ], [ "c2", "cT2" ], [ "c2A", "cT2a" ], [ "c2A1", "cT2a1" ], [ "c2A2", "cT2a2" ], [ "c2B", "cT2b" ], [ "c2C", "cT2c" ], [ "c2D", "cT2d" ], [ "c3", "cT3" ], [ "c3A", "cT3a" ], [ "c3B", "cT3b" ], [ "c3C", "cT3c" ], [ "c3D", "cT3d" ], [ "c4", "cT4" ], [ "c4A", "cT4a" ], [ "c4B", "cT4b" ], [ "c4C", "cT4c" ], [ "c4D", "cT4d" ], [ "c4E", "cT4e" ], [ "88", "Not Applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_buccal_mucosa_t_76459.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_buccal_mucosa_t_76459.json deleted file mode 100644 index 558f509fc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_buccal_mucosa_t_76459.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_buccal_mucosa_t_76459", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Buccal Mucosa", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.751Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Buccal mucosa\n Gingiva\n Hard palate\n Soft palate\n Lateral pharyngeal wall\n Lip(s) including commissure\n Tonsillar pillars and fossae\n Tonsils\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of cheek (buccinators)\nSkin of check WITH or WITHOUT ulceration\nSubcutaneous soft tissue of cheek\n\nBone, NOS excluding palatine bone, base of skull\nCortical bone:\n Mandible\n Maxilla\nDeep soft tissue involvement:\n Nasal cavity\n Soft palate\nMandible, NOS\nMaxilla, NOS\nMaxillary sinus (antrum)\nPalatine bone\n\nDeep extrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Further contiguous extension:\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_choroid_t_79116.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_choroid_t_79116.json deleted file mode 100644 index e46e5d585..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_choroid_t_79116.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_choroid_t_79116", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Choroid", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for choroid tumors.\n\n**Note 2:** Melanomas of the uvea arise most commonly in the choroid, less frequently in the ciliary body, and least often in the iris. Melanomas of the iris tend to be small, and those arising from or extending to the ciliary body typically are large.\n\n**Note 3:** UICC 7th Edition assigns a T value to combinations of measurements for basal diameter and thickness of tumor divided into four Tumor Size Categories in a charted format. (1) \n\n**Note 4:** In clinical practice, the largest tumor basal diameter may be estimated in optic disc diameters (dd, average: 1 dd = 1.5 mm). Tumor thickness may be estimated in diopters (average: 2.5 diopters = 1 mm). However, techniques such as ultrasonography and fundus photography are used to provide more accurate measurements. Ciliary body involvement can be evaluated by the slit-lamp, opthalmoscopy, gonioscopy and transillumination. However, high frequency ultrasonography (ultrasound biomicroscopy) is used for more accurate assessment. Extension through the sclera is evaluated visually before and during surgery, and with ultrasonography, computed tomography or magnetic resonance imaging. (1)\n\n**Note 5:** When histopathological measurements are recorded after fixation, tumor diameter and thickness may be underestimated because of tissue shrinkage. (1)", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pgs., 285, 286, 288", - "last_modified" : "2018-05-14T21:29:04.463Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Basal diameter and thickness not known\nTumor size category not known\n\nPathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor size category 1", "Note: T1 has subcategories of T1a, T1b, T1c and T1d. Assign T1 only when there is no information available to assign one of the subcategories\n\nTumor Size Category 1\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT ciliary body involvement WITHOUT extraocular extension OR ciliary body involvement and extraocular extension not stated\n\nAND stated as Tumor Size Category 1\n\nStated as T1a" ], [ "p1B", "pT1b", "WITH ciliary body involvement", "Tumor WITH ciliary body involvement WITHOUT extraocular extension OR extraocular extension not stated\n\nAND stated as Tumor Size Category 1\n\nStated as T1b" ], [ "p1C", "pT1c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITHOUT ciliary body involvement OR ciliary involvement not stated \nWITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 1\n\nStated as T1c" ], [ "p1D", "pT1d", "WITH ciliary body involvement AND\nExtraocular extension less than or equal to 5 mm in diameter", "Tumor WITH ciliary body involvement WITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 1\n\nStated as T1d" ], [ "p2", "pT2", "Tumor size category 2", "Note: T2 has subcategories of T2a, T2b, T2c and T2d. Assign T2 only when there is no information available to assign one of the subcategories\n\nTumor Size Category 2\n\nStated as T2 [NOS]" ], [ "p2A", "pT2a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT ciliary body involvement WITHOUT extraocular extension OR ciliary body involvement and extraocular extension not stated\n\nAND stated as Tumor Size Category 2\n\nStated as T2a" ], [ "p2B", "pT2b", "WITH ciliary body involvement", "Tumor WITH ciliary body involvement WITHOUT extraocular extension OR extraocular extension not stated\n\nAND stated as Tumor Size Category 2\n\nStated as T2b" ], [ "p2C", "pT2c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITHOUT ciliary body involvement OR ciliary involvement not stated\nWITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 2\n\nStated as T2c" ], [ "p2D", "pT2d", "WITH ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITH ciliary body involvement WITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 2\n\nStated as T2d" ], [ "p3", "pT3", "Tumor size category 3", "Note: T3 has subcategories of T3a, T3b, T3c and T3d. Assign T3 only when there is no information available to assign one of the subcategories\n\nTumor Size Category 3\n\nStated as T3 [NOS]" ], [ "p3A", "pT3a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT ciliary body involvement WITHOUT extraocular extension OR ciliary body involvement and extraocular extension not stated\n\nAND stated as Tumor Size Category 3\n\nStated as T3a" ], [ "p3B", "pT3b", "WITH ciliary body involvement", "Tumor WITH ciliary body involvement WITHOUT extraocular extension OR extraocular extension not stated\n\nAND stated as Tumor Size Category 3\n\nStated as T3b" ], [ "p3C", "pT3c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITHOUT ciliary body involvement OR ciliary involvement not stated\n WITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 3\n\nStated as T3c" ], [ "p3D", "pT3d", "WITH ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITH ciliary body involvement WITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 3\n\nStated as T3d" ], [ "p4", "pT4", "Tumor size category 4", "Note: T4 has subcategories of T4a, T4b, T4c, T4d and T4e. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor Size Category 4\n\nFurther contiguous extension\n\nStated as T4 [NOS]" ], [ "p4A", "pT4a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT ciliary body involvement WITHOUT extraocular extension OR ciliary body involvement and extraocular extension not stated\n\nAND stated as Tumor Size Category 4\n\nStated as T4a" ], [ "p4B", "pT4b", "WITH ciliary body involvement", "Tumor WITH ciliary body involvement WITHOUT extraocular extension OR extraocular extension not stated\n\nAND stated as Tumor Size Category 4\n\nStated as T4b" ], [ "p4C", "pT4c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITHOUT ciliary body involvement OR ciliary involvement not stated\nWITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 4\n\nStated as T4c" ], [ "p4D", "pT4d", "WITH ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITH ciliary body involvement WITH extraocular extension less than or equal to 5 mm in diameter OR extraocular extension diameter not stated\n\nAND stated as Tumor Size Category 4\n\nStated as T4d" ], [ "p4E", "pT4e", "Any tumor size category with extraocular extension more than 5 mm in diameter", "Tumor WITH extraocular extension greater than 5 mm in diameter\n\nAND stated as Tumor Size Category 4\n\nStated as T4e" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_ciliary_body_t_34399.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_ciliary_body_t_34399.json deleted file mode 100644 index 11459c47d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_ciliary_body_t_34399.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_ciliary_body_t_34399", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Ciliary Body", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for ciliary body tumors.\n\n**Note 2:** Ciliary body and Iris are both included in the ICD-O-3 site code of C694, but they are staged with different criteria by TNM. \n* The Schema Discriminator is used to select the staging schema appropriate for coding extension for melanoma of the ciliary body\n\n**Note 3:** Melanomas of the uvea arise most commonly in the choroid, less frequently in the ciliary body, and least often in the iris. Melanomas of the iris tend to be small, and those arising from or extending to the ciliary body typically are large.\n\n**Note 4:** UICC 7th Edition assigns a T value to combinations of measurements for basal diameter and thickness of tumor divided into four Tumor Size Categories in a charted format. (1)\n\n**Note 5:** In clinical practice, the largest tumor basal diameter may be estimated in optic disc diameters (dd, average: 1 dd = 1.5 mm). Tumor thickness may be estimated in diopters (average: 2.5 diopters = 1 mm). However, techniques such as ultrasonography and fundus photography are used to provide more accurate measurements. Ciliary body involvement can be evaluated by the slit-lamp, opthalmoscopy, gonioscopy and transillumination. However, high frequency ultrasonography (ultrasound biomicroscopy) is used for more accurate assessment. Extension through the sclera is evaluated visually before and during surgery, and with ultrasonography, computed tomography or magnetic resonance imaging. (1)\n\n**Note 6:** When histopathological measurements are recorded after fixation, tumor diameter and thickness may be underestimated because of tissue shrinkage. (1)\n\n**Note 7:** Iris melanomas originate from, and are predominantly located in, this region of the uvea. If less than one-half of the tumor volume is located within the iris, the tumor may have originated in the ciliary body and evaluation should be given to classifying it accordingly. (1)", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pgs., 285, 286, 288", - "last_modified" : "2018-05-14T21:29:04.594Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Basal diameter and thickness not known\nTumor size category not known\n\nPathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor size category 1", "Note: T1 has subcategories of T1a, T1b, T1c and T1d. Assign T1 only when there is no information available to assign one of the subcategories\n\nTumor Size Category 1\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT extraocular extension (or extraocular extension not stated)\n\nAND stated as Tumor Size Category 1\n\nStated as T1a" ], [ "p1B", "pT1b", "WITH ciliary body involvement", "Stated as T1b" ], [ "p1C", "pT1c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Stated as T1c" ], [ "p1D", "pT1d", "WITH ciliary body involvement AND\nExtraocular extension less than or equal to 5 mm in diameter", "Tumor WITH extraocular extension less than or equal to 5 mm in diameter\n\nAND stated as Tumor Size Category 1\n\nStated as T1d" ], [ "p2", "pT2", "Tumor size category 2", "Note: T2 has subcategories of T2a, T2b, T2c and T2d. Assign T2 only when there is no information available to assign one of the subcategories\n\nTumor Size Category 2\n\nStated as T2 [NOS]" ], [ "p2A", "pT2a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT extraocular extension (or extraocular extension not stated)\n\nAND stated as Tumor Size Category 2\n\nStated as T2a" ], [ "p2B", "pT2b", "WITH ciliary body involvement", "Stated as T2b" ], [ "p2C", "pT2c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Stated as T2c" ], [ "p2D", "pT2d", "WITH ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITH extraocular extension less than or equal to 5 mm in diameter\n\nAND stated as Tumor Size Category 2\n\nStated as T2d" ], [ "p3", "pT3", "Tumor size category 3", "Note: T3 has subcategories of T3a, T3b, T3c and T3d. Assign T3 only when there is no information available to assign one of the subcategories\n\nTumor Size Category 3\n\nStated as T3 [NOS]" ], [ "p3A", "pT3a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT extraocular extension (or extraocular extension not stated)\n\nAND stated as Tumor Size Category 3\n\nStated as T3a" ], [ "p3B", "pT3b", "WITH ciliary body involvement", "Stated as T3b" ], [ "p3C", "pT3c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Stated as T3c" ], [ "p3D", "pT3d", "WITH ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITH extraocular extension less than or equal to 5 mm in diameter\n\nAND stated as Tumor Size Category 3\n\nStated as T3d" ], [ "p4", "pT4", "Tumor size category 4", "Note: T4 has subcategories of T4a, T4b, T4c, T4d and T4e. Assign T4 only when there is no information available to assign one of the subcategories\n\nStated as Tumor Size Category 4\n\nFurther contiguous extension\n\nStated as T4 [NOS]" ], [ "p4A", "pT4a", "WITHOUT ciliary body involvement and extraocular extension", "Tumor WITHOUT extraocular extension (or extraocular extension not stated)\n\nAND stated as Tumor Size Category 4\n\nStated as T4a" ], [ "p4B", "pT4b", "WITH ciliary body involvement", "Stated as T4b" ], [ "p4C", "pT4c", "WITHOUT ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Stated as T4c" ], [ "p4D", "pT4d", "WITH ciliary body involvement but \nWITH extraocular extension less than or equal to 5 mm in diameter", "Tumor WITH extraocular extension less than or equal to 5 mm in diameter\n\nAND stated as Tumor Size Category 4\n\nStated as T4d" ], [ "p4E", "pT4e", "Any tumor size category with extraocular extension more than 5 mm in diameter", "Tumor WITH extraocular extension greater than 5 mm in diameter\n\nStated as T4e" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_n_15261.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_n_15261.json deleted file mode 100644 index 9c7c807f9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_n_15261.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_conjunctiva_n_15261", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin N Melanoma Conjunctiva", - "title" : "Clinical N", - "notes" : "**Regional lymph nodes**\n\n Cervical, NOS\n Submandibular (submaxillary)\n Parotid, NOS\n Infra-auricular\n Preauricular", - "footnotes" : "\\# cN0 is not defined in AJCC 7th edition.\n\n\\*This subcategory of cN0 is not defined in UICC 7th edition. Approval has been provided by UICC to use the definition from the AJCC 7th edition, which is documented in the registrar notes.", - "last_modified" : "2018-05-14T21:29:00.828Z", - "definition" : [ { - "key" : "clin_n", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "clin_n_display", - "name" : "Clinical N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cNX", "Regional lymph nodes cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess N\n Regional lymph node involvement cannot be determined or findings inconclusive\nPhysician assigns cNX, no other information available to determine N" ], [ "c0", "cN0", "No regional lymph node metastasis#", "" ], [ "c0A", "cN0a", "Not defined by UICC*", "No regional lymph nodes metastasis, biopsy performed" ], [ "c0B", "cN0b", "Not defined by UICC*", "No regional lymph node metastasis, biopsy not performed" ], [ "c1", "cN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_pathologic_n_83143.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_pathologic_n_83143.json deleted file mode 100644 index c9960cad1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_conjunctiva_pathologic_n_83143.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "melanoma_conjunctiva_pathologic_n_83143", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Melanoma Conjunctiva", - "title" : "Pathologic N", - "notes" : "**Regional lymph nodes**\n\n Cervical, NOS\n Submandibular (submaxillary)\n Parotid, NOS\n Infra-auricular\n Preauricular", - "last_modified" : "2018-05-14T21:29:01.226Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_epiglottis_anterior_t_92827.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_epiglottis_anterior_t_92827.json deleted file mode 100644 index 93630a7bf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_epiglottis_anterior_t_92827.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_epiglottis_anterior_t_92827", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Epiglottis Anterior", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.117Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Adjacent subsite(s) of oropharynx\n Adjacent subsite(s) of supraglottis (including posterior surface of epiglottis) WITHOUT fixation of larynx\n Anterior surface of epiglottis with normal vocal cord mobility\n Base of tongue WITHOUT fixation of larynx\n Larynx, glottis or NOS WITHOUT fixation of larynx\n Pyriform sinus, medial wall or NOS WITHOUT fixation of larynx\n Vallecula WITHOUT fixation of larynx \n\nBuccal mucosa\nMucosa of floor of mouth\nMucosa of gum (gingival)\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissue or musculature \nSoft tissue, NOS\n\nAnterior 2/3 of tongue\nEsophagus\nHard palate\nHypopharynx, NOS\nMinor thyroid cartilage erosion (inner cortex)\nNasopharynx, NOS\nParaglottic space\nParotid gland\nPre-epiglottic tissues\nPostcricoid area\nPterygoid muscle\nPyriform sinus except medial wall \nSoft palate\nSoft tissues of neck\nStrap muscles:\n Omohyoid \n Sternohyoid\n Sternothyroid\n Thyrohyoid\nThyroid\nThyroid cartilage, NOS\nTrachea\n\nExtrinsic muscles of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Prevertebral fascia or muscle\nPrevertebral space\n\nFurther contiguous extension \n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_floor_of_mouth_t_86503.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_floor_of_mouth_t_86503.json deleted file mode 100644 index f33ae3dfa..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_floor_of_mouth_t_86503.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_floor_of_mouth_t_86503", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Floor of Mouth", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.502Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Anterior two-thirds of tongue\n Base of tongue\n Epiglottis\n Floor of mouth WITH or WITHOUT crossing midline\n GIngiva (alveolar ridge), lower\n Glossoepiglottic fold\n Glossopharyngeal sulcus\n Lateral pharyngeal wall\n Pharyngeal (lingual) surface\n Pharyngoepiglottic fold\n Tonsillar pillars and fossae\n Tonsils\n Vallecula\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Deep (extrinsic) muscle of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus\n\nMaxillary sinus (antrum)\nSkin of undersurface of chin/neck\nTrabecular bone of mandible\nTrabecular bone of maxilla\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Pterygoid plates\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_gum_lower_t_30606.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_gum_lower_t_30606.json deleted file mode 100644 index 9f02802f7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_gum_lower_t_30606.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_gum_lower_t_30606", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Gum Lower", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.387Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Buccal mucosa\n Lateral pharyngeal wall\n Lip(s) including commissure\n Gingiva\n Hard palate\n Soft palate\n Tonsillar pillars and fossae\n Tonsils\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of cheek (buccinators)\n\nBone, NOS excluding palatine bone, base of skull\nCortical bone:\n Mandible\n Maxilla\nDeep soft tissue involvement:\n Nasal cavity\n Soft palate\nMaxillary sinus (antrum)\nPalatine bone\n\nDeep extrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Further contiguous extension:\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_gum_other_t_27553.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_gum_other_t_27553.json deleted file mode 100644 index 09dbe7468..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_gum_other_t_27553.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_gum_other_t_27553", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Gum Other", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.504Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Buccal mucosa (inner cheek)\n Gum\n Labial mucosa (inner lip), lip\n Lateral pharyngeal wall\n Soft palate including uvula\n Tonsillar pillars\n Tonsillar fossae\n Tonsils\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissue or periosteum of gum WITH or WITHOUT mucosal involvement\n\nBone, NOS except base of skull\nCortical bone of mandible or maxilla\nFacial muscle, NOS\nMandible, NOS\nMaxillary sinus (antrum)\nMaxilla, NOS\nSkin of face\nSubcutaneous soft tissue of face\n\nExtrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Base of skull\n Pterygoid plates \n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_hypopharynx_t_81125.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_hypopharynx_t_81125.json deleted file mode 100644 index 0fb4f46b6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_hypopharynx_t_81125.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_hypopharynx_t_81125", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Hypopharynx", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.052Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Larynx\n Laryngopharynx\n Nasopharynx\n Oropharynx\n Postcricoid area\n Posterior pharyngeal wall\n Pyriform sinus\n\nTumor involves mucosa of more than one subsite of hypopharynx WITHOUT fixation\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of any structure in T3\nSoft tissue, NOS\n\nAny structure in T3 WITH tumor fixation\n\nFixation of hemilarynx or larynx\n\nCentral compartment soft tissues of neck including:\n Prelaryngeal strap muscles\n Subcutaneous fat\n\nBone excluding base of skull\nEsophagus\nHyoid bone\nThyroid cartilage\nThyroid gland\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Carotid artery (encased)\nPrevertebral fascia/muscle(s)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_iris_t_65686.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_iris_t_65686.json deleted file mode 100644 index ff93a060d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_iris_t_65686.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_iris_t_65686", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Iris", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for iris tumors.\n\n**Note 2:** Ciliary body and Iris are both included in the ICD-O-3 site code of C694, but they are staged with different criteria by TNM. \n* The Schema Discriminator is used to select the schema appropriate for coding extension for melanoma of the iris\n\n**Note 3:** Melanomas of the uvea arise most commonly in the choroid, less frequently in the ciliary body, and least often in the iris. Melanomas of the iris tend to be small, and those arising from or extending to the ciliary body typically are large.\n\n**Note 4:** Iris melanomas originate from, and are predominantly located in, this region of the uvea. If less than one-half of the tumor volume is located within the iris, the tumor may have originated in the ciliary body and evaluation should be given to classifying it accordingly. (1)", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 285", - "last_modified" : "2018-05-14T21:29:04.466Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor limited to iris", "Note: T1 has subcategories of T1a, T1b and T1c. Assign T1 only when there is no information available to assign one of the subcategories\n\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Not more than 3 clock hours in size", "Limited to iris not more than 3 clock hours in size\nWITHOUT melanomalytic (secondary) glaucoma, or not stated if melanomalytic (secondary) glaucoma\n\nStated as T1a" ], [ "p1B", "pT1b", "More than 3 clock hours in size", "Limited to iris more than 3 clock hours in size \nWITHOUT melanomalytic (secondary) glaucoma, or not stated if melanomalytic (secondary) glaucoma\n\nStated as T1b" ], [ "p1C", "pT1c", "WITH secondary glaucoma", "Limited to iris WITH melanomalytic (secondary) glaucoma\n\nStated as T1c" ], [ "p2", "pT2", "Tumor confluent WITH or extending into: \n Ciliary body, choroid or both", "Tumor confluent with or extending into the ciliary body and/or choroid \nWITHOUT melanomalytic (secondary) glaucoma, or not stated if melanomalytic (secondary) glaucoma\n\nStated as T2 [NOS]" ], [ "p2A", "pT2a", "WITH secondary glaucoma", "Tumor confluent with or extending into the ciliary body and/or choroid \nWITH melanomalytic (secondary) glaucoma\n\nStated as T2a" ], [ "p3", "pT3", "Tumor confluent WITH or extending into: \n Ciliary body, choroid or both, WITH scleral extension", "Tumor confluent with or extending into the ciliary body and/or choroid WITH scleral extension\nWITHOUT melanomalytic (secondary) glaucoma, or not stated if melanomalytic (secondary) glaucoma\n\nStated as T3 [NOS]" ], [ "p3A", "pT3a", "With secondary glaucoma", "Tumor confluent with or extending into the ciliarybody and/or choroid WITH scleral extension \nWITH melanomalytic (secondary) glaucoma\n\nStated as T3a" ], [ "p4", "pT4", "Tumor extrascleral extension", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nExtrascleral (extraocular) extension, measurement of diameter not specified\n\nStated as T4 [NOS]" ], [ "p4A", "pT4a", "Less than or equal to 5 mm in diameter", "Tumor with extrascleral (extraocular) extension less than or equal to 5 mm in diameter\n\nStated as T4a" ], [ "p4B", "pT4b", "More than 5 mm in diameter", "Tumor with extrascleral (extraocular) extension greater than 5 mm in diameter\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_glottic_t_65946.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_glottic_t_65946.json deleted file mode 100644 index a59a5d256..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_glottic_t_65946.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_larynx_glottic_t_65946", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Larynx Glottic", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.597Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Base of tongue\n Glottis, NOS\n Hypopharynx\n Intrinsic larynx\n Laryngeal commissure(s), anterior, posterior\n Pre-epiglottic tissues\n Postcricoid area\n Pyriform sinus\n Subglottis\n Supraglottis:\n Aryepiglottic fold\n Arytenoid cartilage:\n Corniculate tubercle\n Cuneiform tubercle\n Ventricular bands (false vocal cord(s))\n Vallecula\n Vocal cord(s), NOS, true vocal cord(s), true cord(s) WITH normal vocal cord mobility \n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissues of any structures in T3\nInvolvement of any structures in T3 WITH impaired vocal cord mobility\nInvolvement of deep tissue or musculature of structures in T3 WITH or WITHOUT vocal impairment or fixation of larynx or NOS\nMinor thyroid cartilage erosion (inner cortex)\nParaglottic space\nSoft tissue, NOS\n\nExtension to/through:\n Cricoid cartilage\n Thyroid cartilage except minor erosion\nExtension to/through tissues beyond larynx:\n Oropharynx\n Skin\n Soft tissue of neck\n Strap muscles:\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Thyroid gland\n Trachea\n\nCervical esophagus\nDeep extrinsic muscle(s) of tongue\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension, including:\n Carotid artery (encased)\n Mediastinal structures\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_other_t_71686.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_other_t_71686.json deleted file mode 100644 index d8cb02f4d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_other_t_71686.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_larynx_other_t_71686", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Larynx Other", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.041Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of site of origin\n\nExtension involving mucosa only of more than one subsite of supraglottis, glottis, or subglottis WITHOUT impairment of vocal cord mobility or fixation of larynx or NOS\n\nExtension involving mucosa only of adjacent region(s) of larynx WITHOUT impairment of vocal cord mobility or fixation of larynx or NOS\n\nExtension involving mucosa only of adjacent regions:\n Base of tongue\n Hypopharynx, NOS\n Pre-epiglottic tissues\n Postcricoid area\n Pyriform sinus\n Vallecula\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories.\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Stated as T4 [NOS]" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_subglottic_81170.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_subglottic_81170.json deleted file mode 100644 index ee12f3deb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_subglottic_81170.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_larynx_subglottic_81170", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Larynx Subglottic", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.412Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of subglottis WITH normal vocal cord mobility\n\nExtension involving mucosa only of adjacent region(s) or of larynx:\n Supraglottis \n Glottis\nWITH normal vocal cord mobility\n\nExtension involving mucosa only of adjacent regions:\n Base of tongue\n Hypopharynx, NOS\n Postcricoid area\n Pre-epiglottic tissues \n Pyriform sinus\n Vallecula\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissues of any structure in T3\nInvolvement of any structures in T3 WITH impaired vocal cord mobility\nTumor limited to larynx WITH vocal cord fixation\nInvolvement of deep soft tissues or musculature of any structure in T3\nWITH or WITHOUT vocal cord impairment or fixation of larynx or NOS\n\nExtension to/through:\n Cervical esophagus\n Cricoid cartilage\n Deep muscle of tongue\n Strap muscles:\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Oropharynx\n Skin\n Soft tissues of neck\n Thyroid cartilage\n Thyroid gland\n Trachea\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Carotid artery (encased)\n Mediastinal structures\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_supraglottic_63201.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_supraglottic_63201.json deleted file mode 100644 index 27631f86a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_larynx_supraglottic_63201.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_larynx_supraglottic_63201", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Larynx Supraglottic", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.397Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of supraglottis: \n Supraglottis (one subsite):\n Aryepiglottic fold\n Arytenoid cartilage:\n Corniculate cartilage\n Cuneiform cartilage\n Epilarynx, NOS\n False cords:\n Ventricular bands\n Ventricular cavity\n Ventricular fold\n Infrahyoid epiglottis\n Laryngeal cartilage, NOS\n Laryngeal (posterior) surface of epiglottis\n Suprahyoid epiglottis (including tip, lingual {anterior} and laryngeal surfaces)\nWITH normal vocal cord mobility\n\nExtension involving mucosa only of glottic larynx or subglottis WITHOUT impaired vocal cord mobility or fixation of larynx or NOS\n\nExtension involving mucosa only of adjacent regions(s) outside supraglottis including: \n Mucosa of base of tongue\n Vallecula\n Medial wall of pyriform sinus\nWITHOUT impaired vocal cord mobility or fixation of larynx or NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissues of any structure in T3\nInvolvement of any structures in T3 WITH impaired vocal cord mobility\nInvolvement of any structures in supraglottic larynx and subglottic larynx WITH vocal cord fixation\n\nParaglottic space WITHOUT vocal cord fixation\nMinor thyroid cartilage erosion (inner cortex) WITHOUT vocal cord fixation\n\nTumor involves further regions outside the supraglottis including:\n Deep tissues or musculature:\n Base of tongue\n Medial wall pyriform sinus\n Vallecula\n Hypopharynx, NOS\n Pre-epiglottic tissues\n Postcricoid area\n Pyriform sinus, NOS\nWITH or WITHOUT vocal cord fixation\n \nExtension to/through:\n Cricoid cartilage \n Deep extrinsic muscles of tongue \n Esophagus\n Oropharynx\n Skin\n Soft tissues of neck\n Strap muscle(s):\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n Thyroid cartilage \n Thyroid gland\n Trachea\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension, including:\n Carotid artery (encased)\n Mediastinal structures\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_lip_other_t_71709.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_lip_other_t_71709.json deleted file mode 100644 index 460aeb856..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_lip_other_t_71709.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_lip_other_t_71709", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Lip Other", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.395Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of lip:\n Labial mucosa (inner lip)\n Vermilion surface\n\nExtension involving mucosa only:\n Buccal mucosa (Inner cheek) \n Commissure \n Lower gingiva\n Gingiva, NOS\n Opposite lip (both lips)\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of lip\nSoft tissue, NOS\nInvolvement of deep soft tissue or musculature of lip plus mucosal involvement of any structure in T3\nInvolvement of deep soft tissue or musculature of any structure in T3\nInvolvement of deep tissue or periosteum of gingiva\n\nBone, NOS except base of skull\nCartilage, NOS\nCartilage of mandible or maxilla\nCortical bone, NOS\nCortical bone of mandible or maxilla\nMandible, NOS\nMaxilla, NOS\n\nInvolvement of deep tissue or musculature of floor of mouth or tongue\nInferior alveolar nerve\nExtrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\nSkin of face/neck\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Carotid artery (encased)\n Pterygoid plates\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_30772.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_30772.json deleted file mode 100644 index e39f0a9b3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_30772.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_lower_lip_t_30772", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Upper Lip", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.517Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of upper lip:\n Labial mucosa (inner lip)\n Vermilion surface\n\nExtension involving mucosa only:\n Commissure\n Floor of mouth\n Gingiva (lower, upper and NOS)\n Inner cheek (buccal mucosa)\n Opposite lip (both lips)\n Tongue\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of upper lip\nSoft tissue NOS\nInvolvement of deep soft tissue or musculature of upper lip plus mucosal involvement of any structure in T3\nInvolvement of deep soft tissue or musculature of any structure in T3\nInvolvement of deep tissue or periosteum of lower or upper gingiva or floor of mouth of tongue\n\nBone, NOS except base of skull\nCartilage, NOS\nCartilage of mandible\nCartilage of maxilla\nCortical bone, NOS\nCortical bone of mandible\nCortical bone of maxilla\nDeep tissue or periosteum of lower gingiva\nInferior alveolar nerve\nMandible, NOS\nMaxilla, NOS\nSkin of face/neck\nSkin of nose\nSkin of nose plus mucosa or deep tissue lower gingiva\n\nExtrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Base of skull\n Carotid artery (encased)\n Pterygoid plates\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_39461.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_39461.json deleted file mode 100644 index 283a4c849..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_lower_lip_t_39461.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_lower_lip_t_39461", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Lower Lip", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.511Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of lower lip:\n Labial mucosa (inner lip)\n Vermilion surface\n \nExtension involving mucosa only:\n Buccal mucosa (inner cheek)\n Commissure (for lower lip)\n Floor mouth\n Lower gingiva\n Gingiva, NOS\n Opposite lip (both lips)\n Tongue\n Upper gingiva\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of lower lip, floor of mouth or tongue\nInvolvement of deep tissue or periosteum of lower or upper gingiva\n\nBone, NOS except maxilla, base of skull\nCartilage of mandible\nCartilage of maxilla\nCartilage, NOS\nCortical bone of mandible\nCortical bone of maxilla\nCortical bone, NOS\nInferior alveolar nerve\nMandible, NOS\nMaxilla, NOS\nSkin, NOS\nSkin of nose plus mucosa or deep tissue of upper gingiva\nSoft tissue, NOS\n\nExtrinsic muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Base of skull\n Pterygoid plates\n\nFurther contiguous extension \n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_mouth_other_t_26001.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_mouth_other_t_26001.json deleted file mode 100644 index e4c0002e6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_mouth_other_t_26001.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_mouth_other_t_26001", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Mouth Other", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.261Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of oral site\n\nExtension involving mucosa only to adjacent sites in oral cavity including tongue\n\nExtension involving mucosa only:\n Inferior surface of soft palate including uvula\n Lateral pharyngeal wall\n Lingual surface of epiglottis\n Oropharynx, NOS\n Vallecula\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of structure in T3\nSoft tissue, NOS\nDeep soft tissue or musculature of any structure in T3\n\nBone, NOS, excluding base of skull\nCartilage, NOS\nCortical bone, NOS\nCortical bone of mandible\nCortical bone of maxilla\nMandible, NOS\nMaxilla, NOS\nMaxillary antrum (sinus)\nNasal cavity\nSkin of face/neck\nDeep (extrinsic) muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Carotid artery (encased)\n Pterygoid plates \n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_nasal_cavity_t_57160.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_nasal_cavity_t_57160.json deleted file mode 100644 index 5116f02f1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_nasal_cavity_t_57160.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_nasal_cavity_t_57160", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Nasal Cavity", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** The bones of the lateral wall of the nasal cavity include the maxilla, the perpendicular plate of the palatine bone, the medial pterygoid plate, the labyrinth and inferior concha of the ethmoid. The roof of the nasal cavity is formed by the nasal bone. The floor of the nasal cavity, which forms the roof of the mouth, is composed of the bones of the hard palate: the horizontal plate of the palatine bone posteriorly and the palatine process of the maxilla anteriorly.\n\n**Note 4:** \"Bony invasion\" does not include extension to palate, cribriform plate, or pterygoid plates. Extension to these structures is coded separately.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.378Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of one of the following subsites:\n Septum\n Floor\n Lateral wall, including:\n Meatus (superior, middle, inferior) \n Nasal conchae (superior, middle, inferior)\n Vestibule (edge of naris to mucocutaneous junction)\n\nConfined to mucosa of nasal cavity, NOS \n\nExtension involving mucosa only:\n Ethmoid sinus\n Choana\n Frontal sinus\n Maxillary sinus\n Nasopharynx\n Sphenoid sinus\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissues of any structure in T3\nInvolvement of any structure in code T3 WITH bony invasion\nExtending to adjacent connective tissue within the nasoethomoidal complex\nAnterior orbital contents\nHard palate\nMedial wall or floor of the orbit\nNasolacrimal duct\nPterygoid plates\nSkin of nose\nSkin of cheek\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Anterior cranial fossa\nBase of skull\nCribriform plate\nClivus\nMiddle cranial fossa\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_nasopharynx_t_72770.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_nasopharynx_t_72770.json deleted file mode 100644 index e4295135e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_nasopharynx_t_72770.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_nasopharynx_t_72770", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Nasopharynx", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.256Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor involving mucosa of the following subsites:\n Inferior wall (superior surface of soft palate)\n Lateral wall extending into Eustachian tube/middle ear\n One lateral wall\n Posterior, inferior, or lateral wall(s)\n Posterior superior wall (vault)\n\nTumor involving mucosa only of nasopharynx, NOS\n\nTumor involving mucosa only:\n Hard palate\n Nasal cavity\n Oropharynx\n Paranasal sinus\n Soft palate including uvula\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissues or musculature of any structure in T3\nInvolvement of any structure in T3 WITH tumor described as FIXED\nInvolvement of any structure in T3 WITH parapharyngeal extension\nPterygopalatine fossa WITHOUT bone invasion\n\nBone excluding base of skull\nCartilage, NOS\nBone, NOS \nHypopharynx\nOverlying skin\nSoft tissues of neck\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Skull base including floor of orbit\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_oropharynx_t_73396.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_oropharynx_t_73396.json deleted file mode 100644 index 4cdd3d0ba..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_oropharynx_t_73396.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_oropharynx_t_73396", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Oropharynx", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II. \n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.598Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of the following subsites:\n Anterior wall: \n Lingual (anterior surface of epiglottis)\n Vallecula \n One lateral wall\n Posterior wall\n\nInvolvement of mucosa only: \n Anterior two-thirds of tongue\n Base of tongue\n Buccal mucosa (inner cheek)\n Floor of mouth\n Gum (gingiva)\n Hard palate\n Hypopharynx, NOS\n Larynx\n Nasopharynx \n Posterior surface of epiglottis\n Pyriform sinus\n Soft palate, inferior surface, including uvula\n Soft palate, superior (nasopharyngeal) surface\n Soft palate, NOS\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of any structure in T3 WITH or WITHOUT fixation\nMucosal involvement of hard palate\nInvolvement of deep soft tissue or musculature of both lateral walls, soft palate, or base of tongue \nwith contiguous involvement through all four sites\n\nBone, NOS\nBone excluding base of skull\nCartilage, NOS\nDeep tissue or periosteum of hard palate\nDeep soft tissue or musculature of anterior tongue\nLateral pterygoid muscle\nMaxilla\nMaxillary sinus (antrum)\nNasal cavity\nMedial pterygoid muscle\nOverlying skin\nPalatine bone\nParotid Gland\nPterygoid plates\nPterygoid muscle, NOS\nSoft tissue of neck, NOS\n\nDeep extrinsic muscles of tongue: \n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Prevertebral fascia/muscle WITH or WITHOUT involvement of both lateral walls through soft palate or base of tongue and WITH or WITHOUT involvement of anterior tongue or hard palate\n\nBone of skull\nCarotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_palate_hard_t_49262.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_palate_hard_t_49262.json deleted file mode 100644 index f816e0210..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_palate_hard_t_49262.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_palate_hard_t_49262", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Palate Hard", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II.\n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.497Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of hard palate on one side\n\nTumor confined to mucosa of hard palate and crossing midline\n\nExtension involving mucosa only:\n Buccal mucosa (inner cheek)\n Gingiva, upper\n Glossopalatine arch\n Pharyngopalatine arch\n Soft palate\n Uvula\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissue or periosteum of hard palate\nInvolvement of deep tissue hard palate plus mucosal involvement of any structure in T3\nInvolvement of deep soft tissue or musculature of any structure in T3\n\nBone, NOS except base of skull \nCartilage, NOS\nCartilage of maxilla or palatine bone\nCortical bone, NOS\nCortical bone of maxilla or palatine bone\nFloor of nose\nMaxilla, NOS \nMaxillary sinus (antrum)\nNasal cavity\nNasopharynx\nPalatine bone, NOS\nPterygoid plate\nSkin of face\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Base of skull base (including sphenoid bone other than pterygoid plates)\n Carotid artery (encased)\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_palate_soft_t_15766.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_palate_soft_t_15766.json deleted file mode 100644 index edc254b4e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_palate_soft_t_15766.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_palate_soft_t_15766", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Palate Soft", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II.\n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.475Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of soft palate or uvula on one side or crossing midline\n\nExtension involving mucosa only:\n Buccal mucosa (inner cheek)\n Hard palate\n Lateral pharyngeal wall\n Nasopharynx\n Tonsillar pillars and fossae\n Tonsils\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of soft palate or uvula\nInvolvement of deep soft tissue or musculature of soft palate or uvula plus mucosal involvement of any structure in T3 \nInvolvement of deep soft tissue or musculature of nasopharynx\n\nBone, NOS\nBone excluding pterygoid plates, base of skull\nCartilage, NOS\nHypopharynx\nLarynx\nMandible\nMaxilla\nMaxillary sinus (antrum)\nNasal cavity\nPalatine bone (bone of hard palate)\nPterygoid muscle lateral\nPterygoid muscle, medial or NOS\nPterygoid plates \nTongue, NOS\n\nDeep (extrinsic) muscle of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_pharynx_other_t_82152.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_pharynx_other_t_82152.json deleted file mode 100644 index caaea9a3b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_pharynx_other_t_82152.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_pharynx_other_t_82152", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Pharynx Other", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II.\n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:00.904Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of site of origin\n\nMucosa only of more than one region of pharynx involved:\n Oropharynx\n Nasopharynx\n Hypopharynx\n\nMucosa only of pharynx and oral cavity involved\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Extension to adjacent structures \nInvolvement of deep soft tissue or musculature or mucosal involvement of any structure in T3 \nInvolvement of any of the structures in T3 WITH fixation\n\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Carotid artery (encased)\n Mediastinal structures\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_sinus_maxillary_t_28715.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_sinus_maxillary_t_28715.json deleted file mode 100644 index b333c505a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_sinus_maxillary_t_28715.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_sinus_maxillary_t_28715", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Sinus Maxillary", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II.\n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.456Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of maxillary antrum (sinus)\n\nExtension involving mucosa only:\n Frontal sinus\n Sphenoid sinus\n Ethmoid sinus\n Nasal cavity\n Nasopharynx\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep tissue or mucoperiosteum of maxillary sinus plus mucosal involvement of any structure in T3\nInvolvement of deep tissues, mucoperiosteum, cartilage, or bony wall of any structures in T3\nInvolvement of deep soft tissues, cartilage, or bony wall of any structures in T3\nInvolvement of palatine bone\n\nInfratemporal fossa\nOrbital contents including eye\nPterygoid plates\nPterygoid fossa\nSkin of cheek\nSkin of nose\nSoft palate\nSubcutaneous tissues\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Anterior cranial fossa \nBase of skull\nClivus\nCribriform plate\nMiddle cranial fossa\nOrbital apex\nPterygomaxillary (temporal) fossa\n\nFurther contiguous extension :\n Carotid artery (encased)\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_tongue_anterior_t_170.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_tongue_anterior_t_170.json deleted file mode 100644 index 09098ca35..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_tongue_anterior_t_170.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_tongue_anterior_t_170", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Tongue Anterior", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II.\n\n**Note 3:** The intrinsic muscles of tongue are four paired muscles within the tongue which control its shape. The extrinsic muscles originate from structures outside the tongue and control its positioning.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.636Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa of: \n Anterior tongue\n Base of tongue\n Floor of mouth\n Gingiva, lower\n Lateral pharyngeal wall\n Retromolar trigone\n Soft palate, inferior surface\n Tonsillar pillars and fossae\n Tonsils\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Involvement of deep soft tissue or musculature of tongue\nSoft tissue, NOS\nSublingual gland\nInvolvement of deep soft tissue or musculature of any structure in T3\n\nBone, NOS excluding base of skull base\nCortical bone, NOS\nMandible\nMaxilla\nMaxillary sinus (antrum)\nMusculature of tongue, extrinsic:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid \n Palatoglossus\n Styloglossus\nSkin of face\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Contiguous extension:\n Carotid artery (encased)\n Pterygoid plates\n\nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_tongue_base_60314.json b/src/test/resources/algorithms/tnm/2.0/tables/melanoma_tongue_base_60314.json deleted file mode 100644 index 45834d373..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/melanoma_tongue_base_60314.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "melanoma_tongue_base_60314", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Tongue Base", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II.\n\n**Note 3:** The intrinsic muscles of tongue are four paired muscles within the tongue which control its shape. The extrinsic muscles originate from structures outside the tongue and control its positioning.\n\n**Note 4:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 5:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.461Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor extension involving mucosa:\n Anterior two-thirds of tongue for base of tongue\n Base of tongue (posterior one-third of tongue):\n Confined to one side\n Midline tumor\n Base of tongue for lingual tonsil\n Epiglottis, lingual (pharyngeal) surface\n Floor of mouth\n Glossoepiglottic fold\n Glossopharyngeal fold\n Hard palate\n Hypopharynx\n Larynx\n Lateral pharyngeal wall\n Lingual tonsil\n Lower gingiva\n Pharyngoepiglottic fold\n Soft palate including uvula\n Tonsillar pillars and fossae\n Tonsils\n Vallecula\n\nLocalized, NOS\n \nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Deep soft tissue or musculature of base of tongue or lingual tonsil\nSoft tissue, NOS\nInvolvement of deep soft tissue or musculature of base of tongue or lingual tonsil plus mucosal involvement of any structure in T3\nSublingual gland\n\nDeep soft tissue or musculature of soft palate, inferior surface or NOS, including uvula\nMandible for lingual tonsil\nMandible plus any involvement of soft palate\nMandible for base of tongue\nMusculature, extrinsic of tongue:\n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid\n Palatoglossus\n Styloglossus\nDeep soft tissue or musculature of:\n Larynx\n Hypopharynx\n\nBone excluding base of skull and mandible\nLateral nasopharynx\nPterygoid muscle\nPterygoid plates\nPalatine bone\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Stated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_penis_t_93032.json b/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_penis_t_93032.json deleted file mode 100644 index f0e604d7c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_penis_t_93032.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "merkel_cell_penis_t_93032", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Merkel Cell Penis", - "title" : "Pathologic T", - "notes" : "**Note 1:** In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 2:** Skin ulceration does not alter the T category.\n\n**Note 3:** Satellite nodules/In-transit metastasis are coded in regional lymph nodes.\n\n**Note 4:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 5:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size.\n\n Lesion(s) confined to dermis\n Invasive tumor limited to skin of penis, prepuce (foreskin), and/or glans\n Invasive tumor limited to subepithelial connective tissue but not involving corpus spongiosum or corpus cavernosum\n Subcutaneous tissue (through entire dermis)\n\n Corpus cavernosum\n Corpus spongiosum\n Tunica albuginea\n\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:02.804Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepidermal, intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 5 cm in greatest\ndimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 5 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Tumor invades deep extradermal structures, \ni.e., cartilage, skeletal muscle, fascia, or bone", "Prostate\nUrethra\n\nAdjacent structures:\n Fascia\n Muscle, NOS:\n Bulbospongiosus\n Ischiocavernosus\n Superficial transverse perineal\n Skin:\n Abdomen\n Perineum\n Pubic region\n Scrotum\n\nUnderlying bone and cartilage\n\nFurther contiguous extension:\n Testis\n\nStated as T4" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_scrotum_t_30089.json b/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_scrotum_t_30089.json deleted file mode 100644 index b21fcc17c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_scrotum_t_30089.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "merkel_cell_scrotum_t_30089", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Merkel Cell Scrotum", - "title" : "Pathologic T", - "notes" : "**Note 1:** In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 2:** Skin ulceration does not alter the T category.\n\n**Note 3:** In-transit metastasis is coded in regional lymph nodes.\n\n**Note 4:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 5:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size.\n\n Adjacent connective tissue EXCLUDING deep fascia\n Lesion(s) confined to dermis\n Subcutaneous tissue (through entire dermis)\n\n Confined to scrotum\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:04.437Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepidermal, intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 5 cm in greatest\ndimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 5 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Tumor invades deep extradermal structures, \ni.e., cartilage, skeletal muscle, fascia, or bone", "Deep fascia, skeletal muscle\n\nAdjacent organs/structures\n Male genital organs:\n Epididymis\n Penis\n Prostate\n Spermatic cord\n Testis\n\nUnderlying cartilage, bone\n\nFurther contiguous extension\n Other organs and structures in male pelvis:\n Bladder\n Rectum\n Urethra\n\nStated as T4" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_skin_t_48418.json b/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_skin_t_48418.json deleted file mode 100644 index 27fb95c2e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_skin_t_48418.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "merkel_cell_skin_t_48418", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Merkel Cell Skin", - "title" : "Pathologic T", - "notes" : "**Note 1:** Code the tumor with the greatest extension when there are multiple simultaneous tumors.\n\n**Note 2:** Skin ulceration does not alter the T category.\n\n**Note 3:** In-transit metastasis is coded in N (regional lymph nodes).\n\n**Note 4:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 5:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size.\n\n Lesion(s) confirmed to dermis\n Localized, NOS\n Subcutaneous tissue (through entire dermis)", - "last_modified" : "2018-05-14T21:29:04.434Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepidermal, intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 5 cm in greatest\ndimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 5 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Tumor invades deep extradermal structures, \ni.e., cartilage, skeletal muscle, fascia, or bone", "Fascia\n\nUnderlying cartilage, bone, skeletal muscle\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_vulva_t_49226.json b/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_vulva_t_49226.json deleted file mode 100644 index d01fa24f1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/merkel_cell_vulva_t_49226.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "merkel_cell_vulva_t_49226", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Merkel Cell Vulva", - "title" : "Pathologic T", - "notes" : "**Note 1:** In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 2:** Skin ulceration does not alter the T category.\n\n**Note 3:** In-transit metastasis is coded in N (regional lymph nodes).\n\n**Note 4:** The depth of stromal invasion is defined as the measurement of the tumor from the epithelial-stromal junction of the adjacent most superficial dermal papilla to the deepest point of invasion.\n\n**Note 5:** Assign T4 for tumors involving fascia or musculature of vulva and perineum.\n\n**Note 6:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 7:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size.\n\n Submucosa invasion\n\n Confined to vulva, NOS\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:06.733Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepidermal, intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 5 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 5 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Tumor invades deep extradermal structures, \ni.e., cartilage, skeletal muscle, fascia, or bone", "Anus\nBladder wall or bladder\nExtension to underlying cartilage, bone\nFascia\nFixed to pubic bone\nMusculature, skeletal muscle\nPerianal skin\nPerineal body\nRectal mucosa\nRectal wall or rectum, NOS excluding mucosa\nUrethra \nVagina\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/mouth_other_t_88942.json b/src/test/resources/algorithms/tnm/2.0/tables/mouth_other_t_88942.json deleted file mode 100644 index 566c3391c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/mouth_other_t_88942.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "mouth_other_t_88942", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Mouth Other", - "title" : "Pathologic T", - "notes" : "**Note 1:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size when involvement is limited to the cortical bone.\n\n Invasive tumor on one side confined to\n Lamina propria\n Submucosa\n \n Adjacent oral cavity\n Bone, NOS\n Cortical bone of mandible\n Cortical bone of maxilla\n Cortical bone, NOS\n Inferior surface of soft palate\n Lateral pharyngeal wall\n Lingual surface of epiglottis\n Mandible, NOS\n Maxilla, NOS\n Musculature invaded\n Oropharynx\n Vallecula\n\n Confined to mouth, NOS\n Localized, NOS\n\n**Note 4:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.576Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Deep (extrinsic) muscle of tongue: \n Genioglossus \n Hyoglossus \n Palatoglossus \n Styloglossus\n\nMaxillary antrum (sinus)\nNasal cavity\nSkin of face/neck\nTongue\n\nTrabecular bone:\n Mandible\n Maxilla\n Palatine bone\n\nStated as T4a" ], [ "p4B", "pT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Specified bone \n\nMasticator space\nPterygoid plates\n\nFurther contiguous extension: \n Skull base\n Internal carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/nasal_cavity_t_71995.json b/src/test/resources/algorithms/tnm/2.0/tables/nasal_cavity_t_71995.json deleted file mode 100644 index 5a2765ef3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/nasal_cavity_t_71995.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "nasal_cavity_t_71995", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Nasal Cavity", - "title" : "Pathologic T", - "notes" : "**Note 1:** The bones of the lateral wall of the nasal cavity include the maxilla, the perpendicular plate of the palatine bone, the medial pterygoid plate, the labyrinth and inferior concha of the ethmoid. The roof of the nasal cavity is formed by the nasal bone. The floor of the nasal cavity, which forms the roof of the mouth, is composed of the bones of the hard palate: the horizontal plate of the palatine bone posteriorly and the palatine process of the maxilla anteriorly.\n\n**Note 2:** \"Bony invasion\" does not include extension to palate, cribriform plate, or pterygoid plates. \n* Extension to these structures is coded separately\n\n**Note 3:** Assign T3 for Base of Skull, NOS when there is no information available for more specific bony structures in the skull.\n\n**Note 4:** Minimal extension to anterior cranial fossa implies tumor pushing through the cribriform plate, but without invasion of the dura or brain.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.311Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor limited to the mucosa with no erosion or destruction of bone", "Invasive tumor confined to one of the following subsites:\n Septum\n Floor\n Lateral wall, including: \n Meatus (superior, middle, inferior) \n Nasal conchae (superior, middle, inferior)\n Vestibule (edge of naris to mucocutaneous junction)\nWITH or WITHOUT bony invasion\n\nConfined to nasal cavity, NOS\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor causing bone erosion or destruction, including extension into: \n Hard palate \n Middle nasal meatus\n\nEXCEPT extension to posterior wall of maxillary sinus and pterygoid plates", "Invasive tumor confined to two or more subsites listed in T1 WITH or WITHOUT bony invasion\n\nExtending to adjacent region within the nasoethmoidal complex:\n Nasolacrimal duct\n Ethmoid sinus\n Choana\nWITH or WITHOUT bony invasion\n\nStated as T2" ], [ "p3", "pT3", "Tumor invades any of the following:\n Bone of posterior wall of maxillary sinus\n Subcutaneous tissues\n Floor or medial wall of orbit\n Pterygoid fossa\n Frontal sinuses", "Adjacent organs/structures including:\n Base of skull, NOS\n Hard palate\n\nCribiform plate\nMaxillary sinus\nMedial wall or floor of the orbit\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone,​ nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades any of the following:\n Anterior orbital contents\n Skin of cheek\n Pterygoid plates\n Infratemporal fossa\n Cribriform plate\n Sphenoid or frontal sinuses", "Frontal sinus\nPterygoid plates\n\nAnterior orbital contents\nFrontal sinus\nPterygoid plates\nSkin of nose\nSkin of cheek\nAnterior cranial fossa (minimal extension)\nSphenoid sinus\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Orbital apex\n Dura\n Brain\n Middle cranial fossa\n Cranial nerves other than maxillary division of trigeminal nerve (V2)\n Nasopharynx\n Clivus", "Further contiguous extension including:\n Orbital apex \n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/nasopharynx_t_29067.json b/src/test/resources/algorithms/tnm/2.0/tables/nasopharynx_t_29067.json deleted file mode 100644 index b4b7a486d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/nasopharynx_t_29067.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "nasopharynx_t_29067", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Nasopharynx", - "title" : "Pathologic T", - "notes" : "**Note 1:** Parapharyngeal involvement denotes postero-lateral infiltration of tumor beyond the pharyngobasilar fascia. The pharyngobasilar fascia is the fibrous layer of the pharyngeal wall between the mucosa and the muscular layer, attached superiorly to the basilar part of the occipital bone and diminishing in thickness as it descends.\n\n**Note 2:** The masticator space primarily consists of the muscles of mastication, the medial and lateral pterygoid, masseter, and temporalis muscles. The space also includes the ramus of the mandible and the third division of cranial nerve V as it passes through the foramen ovale into the suprahyoid neck.", - "last_modified" : "2018-05-14T21:29:01.360Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor confined to nasopharynx, OR \nextends to oropharynx and/or nasal cavity", "Invasive tumor confined to one of the following subsites:\n Inferior wall (superior surface of soft palate)\n One lateral wall\n Posterior superior wall (vault)\n\nInvolvement of two or more subsites:\n Lateral wall extending into eustachian \n tube/middle ear\n Posterior, inferior, or lateral wall(s)\n\nOropharynx\nSoft palate, inferior surface including uvula WITHOUT parapharyngeal extension\n\nNasal cavity WITHOUT parapharyngeal extension\n\nExtension to soft tissue, NOS (excluding soft tissue of neck)\n\nConfined to nasopharynx\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor with parapharyngeal extension", "Involvement of any T1 tumor: \nWITH fixation or tumor described only as FIXED WITH parapharyngeal extension\n\nPterygopalatine fossa WITHOUT bone invasion\n\nStated as T2" ], [ "p3", "pT3", "Tumor invades bony structures of skull base and/or paranasal sinuses", "Bone, NOS\nBony structures of skull base\nCartilage, NOS\nFloor of orbit\nHard palate\nParanasal sinus\n\nStated as T3" ], [ "p4", "pT4", "Tumor with intracranial extension and/or involvement of: \n Cranial nerves\n Hypopharynx\n Orbit \n\nOR with extension to the infratemporal fossa/masticator space", "Brain\nCranial nerve involvement\nHypopharynx\nInfratemporal fossa/masticator space\nIntracranial extension, NOS\nOrbit except bone of floor of orbit \n\nFurther contiguous extension including:\n Soft tissues of neck\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/net_ampulla_pathologic_t_58166.json b/src/test/resources/algorithms/tnm/2.0/tables/net_ampulla_pathologic_t_58166.json deleted file mode 100644 index ed506c4f4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/net_ampulla_pathologic_t_58166.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "net_ampulla_pathologic_t_58166", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T NET Ampulla", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for NET ampulla tumors.\n\n**Note 2:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Invasive tumor confined/limited to ampulla of Vater or extending to sphincter of Oddi\n Duodenal wall\n\n Confined to ampulla, NOS\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:03.599Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor invades lamina propria or submucosa and is no greater than 1 cm in size", "Stated as T1" ], [ "p2", "pT2", "Tumor invades muscularis propria or is greater than 1 cm in size", "Stated as T2" ], [ "p3", "pT3", "Jejunal or ileal tumor invades subserosa \nAmpullary or duodenal tumor invades pancreas or retroperitoneum", "Peripancreatic soft tissues\n\nStated as T3" ], [ "p4", "pT4", "Tumor perforates visceral peritoneum (serosa) or invades other organs or adjacent structures", "Common bile duct\nExtrahepatic bile ducts other than common bile duct or sphincter of Oddi\n\nExtension to other adjacent organs or tissues:\n Blood vessels (major):\n Hepatic artery\n Portal vein\n Gallbladder\n Hepatic flexure\n Lesser omentum\n Liver including porta hepatis\n Stomach\n Transverse colon\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/net_ampulla_t_37461.json b/src/test/resources/algorithms/tnm/2.0/tables/net_ampulla_t_37461.json deleted file mode 100644 index 71ab4f77d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/net_ampulla_t_37461.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "net_ampulla_t_37461", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T NET Ampulla", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for NET ampulla tumors.\n\n**Note 2:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Invasive tumor confined/limited to ampulla of Vater or extending to sphincter of Oddi\n Duodenal wall\n\n Confined to ampulla, NOS\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:04.478Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor invades lamina propria or submucosa and is no greater than 1 cm in size", "Stated as T1" ], [ "c2", "cT2", "Tumor invades muscularis propria or is greater than 1 cm in size", "Stated as T2" ], [ "c3", "cT3", "Jejunal or ileal tumor invades subserosa \nAmpullary or duodenal tumor invades pancreas or retroperitoneum", "Peripancreatic soft tissues\n\nStated as T3" ], [ "c4", "cT4", "Tumor perforates visceral peritoneum (serosa) or invades other organs or adjacent structures", "Common bile duct\nExtrahepatic bile ducts other than common bile duct or sphincter of Oddi\n\nExtension to other adjacent organs or tissues:\n Blood vessels (major):\n Hepatic artery\n Portal vein\n Gallbladder\n Hepatic flexure\n Lesser omentum\n Liver including porta hepatis\n Stomach\n Transverse colon\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/net_colon_t_5107.json b/src/test/resources/algorithms/tnm/2.0/tables/net_colon_t_5107.json deleted file mode 100644 index 21818082c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/net_colon_t_5107.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "net_colon_t_5107", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T NET Colon", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for NET colon tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 3:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T (sub)category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 (sub)categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T (sub)category (T1, T2) based on the tumor size for the following descriptions\n\n Invasive tumor confined to mucosa, NOS including intramucosal, NOS\n Invades lamina propria, including lamina propria in the stalk of a polyp\n Invades submucosa (superficial invasion), including submucosa in the stalk of a polyp\n Confined to and not through the muscularis mucosae, including muscularis mucosae in the stalk of a polyp\n\n Confined to colon, NOS\n Localized, NOS \n\n**Note 5:** Assign T4 for tumor with macroscopic adhesions to other organs or structures and for pathologically confirmed tumor in adhesions. \n* If no tumor is present in adhesions upon microscopic examination, assign the appropriate T category to describe the microscopically confirmed depth of tumor invasion for these cases", - "last_modified" : "2018-05-14T21:29:04.476Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor invades lamina propria or submucosa and is no greater than 2 cm in size", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor less than 1 cm in size", "Stated as T1a" ], [ "c1B", "cT1b", "Tumor 1-2 cm in size", "Stated as T1b" ], [ "c2", "cT2", "Tumor invades muscularis propria or is greater than 2 cm in size", "Stated as T2" ], [ "c3", "cT3", "Tumor invades subserosa, or non-peritonealized pericolic or perirectal tissues", "Extension through wall, NOS\nThrough muscularis propria or muscularis, NOS\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS\n\nExtension to:\n All colon sites:\n Adjacent tissue(s), NOS\n Connective tissue\n Mesenteric fat\n Mesentery \n Mesocolon\n Pericolic fat\n\n Ascending and descending colon:\n Retroperitoneal fat \n\n Transverse colon/flexures:\n Gastrocolic ligament\n Greater omentum\n\nFat, NOS\n\nStated as T3" ], [ "c4", "cT4", "Tumor perforates peritoneum or invades other organs", "Invasion of/through serosa (mesothelium) (visceral peritoneum)\n\nAdherent to other organs or structures, NOS\nAll colon sites:\n Abdominal wall \n Adrenal (suprarenal) gland\n Bladder\n Diaphragm\n Fistula to skin\n Gallbladder\n Other segment(s) of colon via serosa\n Small intestine\n Retroperitoneum (excluding fat)\n\nCecum (C180):\n Fallopian tube\n Greater omentum\n Kidney\n Liver\n Ovary\n Ureter\n Uterus\n\nAscending colon (C182):\n Greater omentum\n Liver, right lobe\n Right kidney\n Right ureter\n\nTransverse colon and flexures (C183, C184, C185):\n Gallbladder/bile ducts\n Kidney\n Liver\n Pancreas\n Spleen\n Stomach\n Ureter\n\nDescending colon (C186):\n Fallopian tube\n Greater omentum\n Left kidney\n Left ureter\n Ovary\n Pelvic wall\n Spleen\n Uterus\n\nSigmoid colon (C187):\n Cul de sac (rectouterine pouch)\n Fallopian tube \n Greater omentum\n Ovary\n Pelvic wall\n Uterus\n\nStated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/net_rectum_t_3082.json b/src/test/resources/algorithms/tnm/2.0/tables/net_rectum_t_3082.json deleted file mode 100644 index 4fa115e54..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/net_rectum_t_3082.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "net_rectum_t_3082", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T NET Rectum", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for NET rectum tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 3:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T (sub)category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 (sub)categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T (sub)category (T1, T2) based on the tumor size for the following descriptions\n\n Invasive tumor confined to mucosa, NOS including intramucosal, NOS\n Invades lamina propria, including lamina propria in the stalk of a polyp\n Invades submucosa (superficial invasion), including submucosa in the stalk of a polyp\n Confined to and not through the muscularis mucosae, including muscularis mucosae in the stalk of a polyp\n\n Confined to colon, NOS\n Localized, NOS \n\n**Note 5:** Assign T4 for tumor with macroscopic adhesions to other organs or structures and for pathologically confirmed tumor in adhesions. \n* If no tumor is present in adhesions upon microscopic examination, assign the appropriate T category to describe the microscopically confirmed depth of tumor invasion for these cases", - "last_modified" : "2018-05-14T21:29:04.475Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "c1", "cT1", "Tumor invades lamina propria or submucosa and is no greater than 2 cm in size", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nStated as T1 [NOS]" ], [ "c1A", "cT1a", "Tumor less than 1 cm in size", "Stated as T1a" ], [ "c1B", "cT1b", "Tumor 1-2 cm in size", "Stated as T1b" ], [ "c2", "cT2", "Tumor invades muscularis propria OR \n\nIs greater than 2 cm in size", "Muscularis propria invaded\n\nStated as T2" ], [ "c3", "cT3", "Tumor invades subserosa, or non-peritonealized pericolic or perirectal tissues", "Extension through wall,​ NOS\nInvasion through muscularis propria or muscularis,​ NOS\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural,​ NOS\n\nFor rectum (C209):\n Tumor invading through muscularis propria with intraluminal extension to colon and/or anal canal/anus\n\nAdjacent (connective) tissue:\n For all sites:\n Perirectal fat\n For rectosigmoid (C199):\n Mesentery (including mesenteric fat,​ mesocolon)\n Pericolic fat\n For rectum (C209):\n Rectovaginal septum\n\nFat,​ NOS\n\nStated as T3" ], [ "c4", "cT4", "Tumor perforates peritoneum OR \n\nInvades other organs", "Invasion of/through serosa (mesothelium) (visceral peritoneum)\n\nAdherent to other organs or structures, NOS\n\nFor both rectum and rectosigmoid sites:\n Bladder\n Cul de sac (rectouterine pouch)\n Ovary(ies)\n Pelvic wall/pelvic plexuses\n Prostate\n Skeletal muscle of pelvic floor\n Uterus\n Vagina\n\nFor rectosigmoid (C199):\n Small intestine\n Colon via serosa\n Fallopian tube(s)\n Ureter(s)\n\nFor rectum (C209):\n Anal canal/anus extraluminally\n Bone(s) of pelvis\n Cervix\n Ductus deferens\n Perineum,​ perianal skin\n Rectovesical fascia for males only\n Sacrum\n Sacral plexus\n Seminal vesicle(s)\n Urethra\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/net_smallintestine_t_60400.json b/src/test/resources/algorithms/tnm/2.0/tables/net_smallintestine_t_60400.json deleted file mode 100644 index 1f926f8cf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/net_smallintestine_t_60400.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "net_smallintestine_t_60400", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T NET Small Intestine", - "title" : "Clinical T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for NET small intestine tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 3:** The nonperitonealized perimuscular tissue is, for jejunum and ileum, part of the mesentery and, for duodenum in areas where serosa is lacking, part of the retroperitoneum.\n\n**Note 4:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 5:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions:\n\n Invasive tumor confined to mucosa, NOS including intramucosal, NOS\n Invades lamina propria, including lamina propria in the stalk of a polyp\n Invades submucosa (superficial invasion), including submucosa in the stalk of a polyp\n Confined to and not through the muscularis mucosae, including muscularis mucosae in the stalk of a polyp\n\n Confined to colon, NOS\n Localized, NOS \n\n**Note 6:** Assign T4 for tumor with macroscopic adhesions to other organs or structures and for pathologically confirmed tumor in adhesions. \n* If no tumor is present in adhesions upon microscopic examination, use lower codes to describe the microscopically confirmed depth of tumor invasion for these cases", - "last_modified" : "2018-05-14T21:29:04.473Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "No evidence of primary tumor" ], [ "c1", "cT1", "Tumor invades lamina propria or submucosa and is no greater than 1 cm in size", "Confined to:\n Mucosa, NOS, including intramucosal, NOS\n Muscularis mucosae, including muscularis mucosae in a polyp\n\nIntraluminal spread to other segments of small intestine or cecum\n\nLocalized, NOS\n\nStated as T1" ], [ "c2", "cT2", "Tumor invades muscularis propria or is greater than 1 cm in size", "Muscularis propria invaded\n\nStated as T2" ], [ "c3", "cT3", "Jejunal or ileal tumor invades subserosa\nAmpullary or duodenal tumor invades pancreas or retroperitoneum", "Adjacent connective tissue \nFat, NOS\nInvasion through muscularis propria or muscularis, NOS\nExtension through wall, NOS\nMesentery\nNonperitonealized perimuscular tissue\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS\n\nFor duodenum primary only (C170):\n Ampulla of Vater\n Pancreatic duct\n \nStated as T3" ], [ "c4", "cT4", "Tumor perforates visceral peritoneum (serosa) or invades other organs or adjacent structures", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum)\n\nFor all small intestine sites:\n Abdominal wall\n Other segments of the small intestine via serosa\n\nFor duodenum primary only (C170):\n Blood vessel(s), major:\n Aorta\n Gastroduodenal artery\n Portal vein\n Renal vein\n Superior mesenteric artery or vein\n Vena cava\n Diaphragm\n Extrahepatic bile ducts\n Gallbladder\n Hepatic flexure\n Kidney, right or NOS\n Liver\n Omentum\n Stomach\n Transverse colon\n Ureter, right\n \nFor jejunum or ileum primary only (C171, C172):\n Bladder\n Colon, including appendix\n Fallopian tube\n Ovary\n Retroperitoneum invaded greater than 2 cm in depth\n Uterus\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/no_tnm_group_99227.json b/src/test/resources/algorithms/tnm/2.0/tables/no_tnm_group_99227.json deleted file mode 100644 index 1da31e007..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/no_tnm_group_99227.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "no_tnm_group_99227", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "No TNM Group (c)", - "title" : "No TNM Stage Group defined", - "notes" : "**Note:** Stage Group has not been defined for this schema.", - "last_modified" : "2018-05-14T21:29:00.126Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "88", "Not Applicable", "Any T", "Any N", "Any M" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/no_tnm_group_p_41281.json b/src/test/resources/algorithms/tnm/2.0/tables/no_tnm_group_p_41281.json deleted file mode 100644 index 4f5f4c780..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/no_tnm_group_p_41281.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "no_tnm_group_p_41281", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "No TNM Group (p)", - "title" : "No TNM Stage Group defined", - "notes" : "**Note:** Stage Group has not been defined for this schema.", - "last_modified" : "2018-05-14T21:29:00.157Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "88", "Not Applicable", "Any T", "Any N", "Any M" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fab.json b/src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fab.json deleted file mode 100644 index 334bde26f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fab.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_fab", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "notes" : "**Note 1:** Record this field even if there has been preoperative treatment.\n\n**Note 2:** Lymph nodes with only isolated tumor cells (ITCs) are NOT counted as positive lymph nodes. Only lymph nodes with metastases greater than 0.2mm (micrometastases or larger) should be counted as positive. If the pathology report indicates that nodes are positive but size of the metastases is not stated, assume the metastases are > 0.2mm and code the lymph nodes as positive in this field.\n\n**Note 3:** Record all positive regional lymph nodes in this field. Record the number of positive ipsilateral regional level I-II axillary nodes separately in the appropriate Site-Specific Factor field.", - "last_modified" : "2018-05-14T21:29:01.349Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All nodes examined negative." ], [ "01-89", "1 - 89 nodes positive (code exact number of nodes positive)" ], [ "90", "90 or more nodes positive" ], [ "95", "Positive aspiration or core biopsy of lymph node(s)" ], [ "97", "Positive nodes - number unspecified" ], [ "98", "No nodes examined" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fah.json b/src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fah.json deleted file mode 100644 index 81f529eb4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fah.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_fah", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "notes" : "**Note 1:** Record this field even if there has been preoperative treatment.\n\n**Note 2:** Lymph nodes with isolated tumor cells (ITCs) are counted as positive lymph nodes. ITCs are defined as any tumor deposits in lymph nodes less than or equal to 0.2 mm.\n\n**Note 3:** Although satellite nodules and in-transit metastasis are coded under Regional Lymph Nodes (N), DO NOT count as Regional Nodes Positive in this field.", - "last_modified" : "2018-05-14T21:29:01.677Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All nodes examined negative." ], [ "01-89", "1 - 89 nodes positive (code exact number of nodes positive)" ], [ "90", "90 or more nodes positive" ], [ "95", "Positive aspiration or core biopsy of lymph node(s)" ], [ "97", "Positive nodes - number unspecified" ], [ "98", "No nodes examined" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fpa.json b/src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fpa.json deleted file mode 100644 index ea27a8853..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/nodes_pos_fpa.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_fpa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "notes" : "**Note:** Record this field even if there has been preoperative treatment.", - "last_modified" : "2018-05-14T21:29:03.534Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All nodes examined negative." ], [ "01-89", "1 - 89 nodes positive (code exact number of nodes positive)" ], [ "90", "90 or more nodes positive" ], [ "95", "Positive aspiration or core biopsy of lymph node(s)" ], [ "97", "Positive nodes - number unspecified" ], [ "98", "No nodes examined" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ophthalmic_n_36875.json b/src/test/resources/algorithms/tnm/2.0/tables/ophthalmic_n_36875.json deleted file mode 100644 index d0c392d2b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ophthalmic_n_36875.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "ophthalmic_n_36875", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Ophthalmic", - "title" : "Pathologic N", - "notes" : "**Regional lymph nodes**\n\n Cervical, NOS\n Submandibular (submaxillary)\n Parotid, NOS\n Infra-auricular\n Preauricular", - "last_modified" : "2018-05-14T21:29:04.400Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/orbit_t_97280.json b/src/test/resources/algorithms/tnm/2.0/tables/orbit_t_97280.json deleted file mode 100644 index 7c976b502..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/orbit_t_97280.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "orbit_t_97280", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Orbit", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for orbit sarcoma tumors.\n\n**Note 2:** The orbital tissues are the support systems of the globe, confined to the space within the surrounding bony structure. The orbital tissues include\n* Fat, striated and smooth muscle, and fibroconnective, vascular, lymphoid, peripheral nerve, and optic nerve tissue\n\n**Note 3:** Tis may be used only for *non-sarcoma* histologies coded to this site. \n* Sarcomas do not present as in situ or noninvasive tumors", - "last_modified" : "2018-05-14T21:29:01.672Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 15 mm or less in greatest dimension", "Confined to orbit\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor more than 15 mm in greatest dimension \nWITHOUT invasion of globe or bony wall", "Stated as T2" ], [ "p3", "pT3", "Tumor of any size \nWITH invasion of orbital tissues and/or bony walls", "Stated as T3" ], [ "p4", "pT4", "Tumor invades: \n Globe or periorbital structure, such as \n Eyelids \n Temporal fossa\n Nasal cavity \n Paranasal sinuses \n Central nervous system (CNS)", "Cranium\n \nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/oropharynx_t_62492.json b/src/test/resources/algorithms/tnm/2.0/tables/oropharynx_t_62492.json deleted file mode 100644 index 331b50de5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/oropharynx_t_62492.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "oropharynx_t_62492", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Oropharynx", - "title" : "Pathologic T", - "notes" : "**Note 1:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 2:** Assign the appropriate T category (T1, T2, T3) based on the tumor size for the following descriptions\n\n Invasive tumor confined to one of the following subsites\n Anterior wall including vallecula \n One lateral wall (including tonsillar pillar/fossa, palatine tonsil and tonsil, NOS)\n Posterior wall \n Base of tongue (including lingual tonsil)\n Buccal mucosa\n Floor of mouth\n Gum (gingiva)\n Involvement of both lateral walls through soft palate or base of tongue\n Soft palate \n Inferior surface including uvula \n Soft palate, NOS\n Superior (nasopharyngeal) surface\n\n Confined to oropharynx, NOS \n Localized, NOS\n\n**Note 3:** Mucosal extension to lingual surface of epiglottis from primary tumors of the base of the tongue and vallecular does not constitute invasion of the larynx.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.447Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension OR \nextension to lingual surface of epiglottis", "Epiglottis, lingual surface, plus both lateral walls through soft palate or base of tongue\n\nEpiglottis WITH fixation\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades any of the following:\n Larynx\n Deep/extrinsic muscle of tongue, which are: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n Medial pterygoid\n Hard palate\n Mandible", "Hypopharynx NOS\nPosterior surface of epiglottis\nPterygoid muscle, NOS\nPyriform sinus\nSoft tissue of neck\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Lateral pterygoid muscle\n Pterygoid plates\n Lateral nasopharynx\n Skull base\n Encases carotid artery", "Prevertebral fascia/muscle\n\nBase of skull\nBone of skull\nBone, NOS \n\nFurther contiguous extension:\n Anterior 2/3 of tongue\n Parotid gland\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ovary_t_58652.json b/src/test/resources/algorithms/tnm/2.0/tables/ovary_t_58652.json deleted file mode 100644 index 34b0ca57b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ovary_t_58652.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "ovary_t_58652", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Ovary", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM nor FIGO include an in situ category for ovary tumors.\n\n**Note 2:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO IIIC, assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is FIGO stage IV, leave T and N blank and see M\n\n**Note 3:** T1 and T2 tumors with malignant ascites are classified as T1c and T2c (FIGO Stages IC and IIC), respectively. \n* Ascites, NOS is negative\n\n**Note 4:** Both extension to and discontinuous metastasis to any of the following pelvic organs are included in the T2 category (FIGO Stage II).\n* Adnexa, NOS; bladder and bladder serosa; broad ligament (mesovarium); cul de sac; fallopian tubes; parametrium; pelvic peritoneum; pelvic wall; rectosigmoid; rectum; sigmoid colon; sigmoid mesentery; pelvic ureter; uterus and uterine serosa\n\n**Note 5:** Peritoneal implants outside the pelvis must be microscopically confirmed. \n* Peritoneal implants may also be called seeding, salting, talcum powder appearance, or studding\n\n**Note 6:** If implants are mentioned, determine whether they are in the pelvis or in the abdomen and code appropriately. \n* If the location of the implants are not specified, assign T3\n\n**Note 7:** Both extension to and discontinuous metastasis to any of the following abdominal organs by way of peritoneal seeding or implants are included in the T3 category (FIGO Stage III). \n* Abdominal mesentery; diaphragm; gallbladder; infracolic omentum; kidneys; large intestine except rectum, rectosigmoid, and sigmoid colon; liver (peritoneal surface); omentum; pancreas; pericolic gutter; peritoneum, NOS; small intestine; spleen; stomach; and ureters outside pelvis \n* Residual tumor in any of these organs are classified as FIGO III and coded in T3 and in **Site-Specific Factors 3 and 4**. (Hematogenous metastases are included in M1 (FIGO Stage IV) disease\n\n**Note 8:** Parenchymal liver nodules are coded in M (distant metastasis).\n\n**Note 9:** In some registries benign/borderline ovarian tumors are reportable by agreement. \n* If the tumor being reported is benign or borderline, code primary tumor to TX", - "last_modified" : "2018-05-14T21:29:04.378Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated\n Physician assigns cTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor limited to the ovaries (one or both)", "Note: T1 has subcategories of T1a, T1b and T1c. Assign T1 only when there is no information available to assign one of the subcategories\n\nUnknown if capsule(s) ruptured or if one or both ovaries involved\nLocalized, NOS\n\nFIGO Stage I, NOS\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor limited to one ovary; capsule intact, no tumor on ovarian surface\nNo malignant cells in ascites or peritoneal washings", "FIGO Stage IA\n\nStated as T1a" ], [ "p1B", "pT1b", "Tumor limited to both ovaries; capsule intact, no tumor on ovarian surface\nNo malignant cells in ascites or peritoneal washings", "FIGO Stage IB\n\nStated as T1b" ], [ "p1C", "pT1c", "Tumor limited to one or both ovaries with any of the following:\n Capsule ruptured\n Tumor on ovarian surface\n Malignant cells in ascites or peritoneal washings", "FIGO Stage IC\n\nStated as T1c" ], [ "p2", "pT2", "Tumor involves one or both ovaries with pelvic extension", "Note: T2 has subcategories of T2a, T2b and T2c. Assign T2 only when there is no information available to assign one of the subcategories\n\nFIGO Stage II [NOS]\n\nStated as T2 [NOS]" ], [ "p2A", "pT2a", "Extension and/or implants on uterus and/or tube(s)\nNo malignant cells in ascites or peritoneal washings", "Extension to or implants on (but no malignant cells in ascites or peritoneal washings):\n Adnexa, ipsilateral, contralateral or NOS\n Fallopian tube(s), ipsilateral, contralateral or NOS\n Uterus\n\nFIGO Stage IIA\n\nStated as T2a" ], [ "p2B", "pT2b", "Extension to other pelvic tissues \nNo malignant cells in ascites or peritoneal washings", "Extension to or implants on other pelvic structures (but no malignant cells in ascites or peritoneal washings):\n Bladder \n Bladder serosa\n Cul de sac\n Pelvic tissue:\n Adjacent peritoneum\n Ligament(s):\n Broad, ipsilateral, contralateral or NOS\n Ovarian\n Round\n Suspensory\n Mesovarium, ipsilateral, contralateral or NOS\n Parametrium\n Pelvic wall\n Rectosigmoid, \n Rectum\n Sigmoid colon\n Sigmoid mesentery\n Ureter (pelvic portion)\n \nFIGO Stage IIB\n\nStated as T2b" ], [ "p2C", "pT2c", "Pelvic extension (2a or 2b) with malignant cells in ascites or peritoneal washings", "FIGO Stage IIC\n\nStated as T2c" ], [ "p3", "pT3", "Tumor involves one or both ovaries \nWITH microscopically confirmed peritoneal metastasis outside the pelvis and/or regional lymph node metastasis", "Note: T3 has subcategories of T3a, T3b and T3c. Assign T3 only when there is no information available to assign one of the subcategories\n\nFurther contiguous extension\n\nStated as T3 [NOS]" ], [ "p3A", "pT3a", "Microscopic peritoneal metastasis beyond pelvis", "Peritoneal surface/capsule of liver \n\nFIGO Stage IIIA\n\nStated as T3a" ], [ "p3B", "pT3b", "Macroscopic peritoneal, metastatasis beyond pelvis, 2 cm or less in greatest dimension", "Peritoneal surface of liver\n\nFIGO Stage IIIB\n\nStated as T3b" ], [ "p3C", "pT3c", "Peritoneal metastasis beyond pelvis, more than 2 cm in greatest dimension and/or regional lymph node metastasis", "Peritoneal surface of liver (liver capsule)\n\nFIGO Stage IIIC based on tumor extension\n\nStated as T3c" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC, or IV\n\nPathologic classification not met\nPathologic classification criteria met, evaluation done:\n Results not documented in patient record\n No surgical resection of known primary tumor (not T0) OR\n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/palate_hard_t_41050.json b/src/test/resources/algorithms/tnm/2.0/tables/palate_hard_t_41050.json deleted file mode 100644 index 6300e82fb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/palate_hard_t_41050.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "palate_hard_t_41050", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Palate Hard", - "title" : "Pathologic T", - "notes" : "**Note 1:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2, T3) based on the tumor size for the following descriptions \n\n Invasive tumor on one side confined to mucoperiosteum (stroma)\n Tumor crosses midline\n\n Bone, NOS\n Buccal mucosa (inner check)\n Cortical bone, NOS\n Cortical bone of maxilla\n Cortical palatine bone\n Gingiva, upper\n Glossopalatine arch\n Maxilla, NOS\n Palatine bone, NOS\n Pharyngopalatine arch\n Soft palate including uvula\n\n Confined to hard palate, NOS\n Localized, NOS\n\n**Note 4:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.578Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "In situ, intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Trabecular bone:\n Maxilla\n Palatine bone\n\nFloor of nose\nMaxillary sinus (antrum)\nNasal cavity\nNasopharynx\nSkin of face\n\nDeep (extrinsic) muscle of tongue:\n Genioglossus \n Hyoglossus\n Palatoglossus\n Styloglossus\n\nStated as T4a" ], [ "p4B", "pT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Specified bone \n\nMasticator space\nPterygoid plates \n\nFurther contiguous extension: \n Skull base including sphenoid bone other than pterygoid plates\n Internal carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/palate_soft_t_48973.json b/src/test/resources/algorithms/tnm/2.0/tables/palate_soft_t_48973.json deleted file mode 100644 index ceff89d67..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/palate_soft_t_48973.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "palate_soft_t_48973", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin T Palate Soft", - "title" : "Clinical T", - "notes" : "**Note 1:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 2:** Assign the appropriate T category (T1, T2, T3) based on the tumor size for the following descriptions\n\n Invasive tumor on one side confined to\n Lamina propria\n Submucosa\n Buccal mucosa (inner cheek)\n Gum (gingiva), upper\n Lateral pharyngeal wall\n Musculature invaded\n Tonsillar pillars and fossae\n Tonsils\n Tumor crosses midline\n\n Confined to soft palate\n Localized, NOS", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.487Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_t_display", - "name" : "Clinical T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cTX", "Primary tumor cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess T\n Extension cannot be determined \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns cTX, no other information available to determine T" ], [ "c0", "cT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "In situ, intraepithelial, noninvasive\n\nStated as Tis" ], [ "c1", "cT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "c2", "cT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "c3", "cT3", "Tumor more than 4 cm in greatest dimension OR \nextension to lingual surface of epiglottis", "Stated as T3" ], [ "c4", "cT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "c4A", "cT4a", "Tumor invades any of the following:\n Larynx\n Deep/extrinsic muscle of tongue, which are: \n Genioglossus\n Hyoglossus\n Palatoglossus \n Styloglossus\n Medial pterygoid\n Hard palate\n Mandible", "Hypopharynx\nMandible\nMaxilla \nNasal cavity\nPalatine bone (bone of hard palate)\nPterygoid muscle, medial or NOS\nTongue\n\nStated as T4a" ], [ "c4B", "cT4b", "Tumor invades any of the following:\n Lateral pterygoid muscle\n Pterygoid plates\n Lateral nasopharynx\n Skull base\n Encases carotid artery", "Maxillary sinus (antrum) \nNasopharynx, lateral or NOS\nPterygoid muscle, lateral\nPterygoid plates\n\nFurther contiguous extension including:\n Skull base\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met \nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nClinical evaluation of primary tumor not done or unknown if done\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/pancreas_bodytail_t_46669.json b/src/test/resources/algorithms/tnm/2.0/tables/pancreas_bodytail_t_46669.json deleted file mode 100644 index a07c38d69..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/pancreas_bodytail_t_46669.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "pancreas_bodytail_t_46669", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Pancreas Body Tail", - "title" : "Pathologic T", - "notes" : "**Note 1:** Tumors of the body of the pancreas arise between the left edge of the superior mesenteric-portal vein confluence and the left edge of the aorta. Tumors of the tail of the pancreas arise to the left of the left edge of the aorta.\n\n**Note 2:** Islets of Langerhans are distributed throughout the pancreas; an islet tumor is coded according to the subsite of the pancreas in which the tumor arises if the information is available.\n\n**Note 3:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Confined to pancreas\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:02.866Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "In situ, intraepithelial, noninvasive \nPancreatic Intraepithelial Neoplasia III (PanInIII) \nPanIN-III classification" ], [ "p1", "pT1", "Tumor limited to pancreas, 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor limited to pancreas, more than 2 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor extends beyond pancreas, but \nWITHOUT involvement celiac axis or superior mesenteric artery", "Extension to peripancreatic tissue, NOS\nFixation to adjacent structures, NOS\n\nAmpulla of Vater\nBlood vessel(s):\n Hepatic artery\n Portal vein\n Splenic artery/vein\n Superior mesenteric vein\nDuodenum\nExtrahepatic bile duct(s)\nKidney, NOS\nLeft adrenal (suprarenal) gland\nLeft kidney\nLeft ureter\nMesenteric fat\nMesentery\nMesocolon\nPeritoneum\nRetroperitoneal soft tissue (retroperitoneal space)\nSpleen\nSplenic flexure of colon\n\nStated as T3" ], [ "p4", "pT4", "Tumor involves celiac axis or superior mesenteric artery", "Tumor is inseparable from the celiac axis or superior mesenteric artery\n\nAorta\nCeliac artery\nColon (other than splenic flexure)\nDiaphragm\nGallbladder\nIleum\nJejunum\nLiver (including porta hepatis)\nRight adrenal (suprarenal) gland\nRight kidney\nRight ureter\nStomach\nSuperior mesenteric artery\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/pancreas_head_t_4793.json b/src/test/resources/algorithms/tnm/2.0/tables/pancreas_head_t_4793.json deleted file mode 100644 index 2b1b9d2ae..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/pancreas_head_t_4793.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "pancreas_head_t_4793", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Pancreas Head", - "title" : "Pathologic T", - "notes" : "**Note 1:** Tumors of the head of the pancreas arise to the right of the superior mesenteric-portal vein confluence.\n\n**Note 2:** Islets of Langerhans are distributed throughout the pancreas. \n* An islet tumor is coded to the subsite of the pancreas in which the tumor arises if the information is available\n\n**Note 3:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Confined to pancreas\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:03.265Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "In situ, intraepithelial, noninvasive \nPancreatic Intraepithelial Neoplasia III (PanInIII) \nPanIN-III classification" ], [ "p1", "pT1", "Tumor limited to pancreas, 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor limited to pancreas, more than 2 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor extends beyond pancreas, but \nWITHOUT involvement celiac axis or superior mesenteric artery", "Extension to peripancreatic tissue, NOS\nFixation to adjacent structures, NOS\n\nAdjacent stomach\nAmpulla of Vater\nBlood vessel(s) (major):\n Gastroduodenal artery\n Hepatic artery\n Pancreaticoduodenal artery\n Portal vein\n Superior mesenteric vein\nBody of stomach\nDuodenum\nExtrahepatic bile duct(s)\nGallbladder\nMesenteric fat\nMesentery\nMesocolon\nOmentum\nPeritoneum\nStomach, NOS\nTransverse colon, including hepatic flexure\n\nStated as T3" ], [ "p4", "pT4", "Tumor involves celiac axis or superior mesenteric artery", "Tumor is inseparable from the celiac axis\nTumor is inseparable from the superior mesenteric artery\nSuperior mesenteric artery\nSuperior mesenteric artery plus omentum\nSuperior mesenteric artery plus body of stomach\n\nAdrenal (suprarenal) gland\nAorta\nCeliac artery\nColon (other than transverse colon including hepatic flexure)\nIleum\nJejunum\nKidney\nLiver (including porta hepatis)\nRetroperitoneum\nSpleen\nUreter\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/pancreas_other_70468.json b/src/test/resources/algorithms/tnm/2.0/tables/pancreas_other_70468.json deleted file mode 100644 index 7a8cb8be9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/pancreas_other_70468.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "pancreas_other_70468", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Pancreas Other", - "title" : "Pathologic T", - "notes" : "**Note 1:** Islets of Langerhans are distributed throughout the pancreas; an islet tumor is coded to the subsite of the pancreas in which the tumor arises if the information is available.\n\n**Note 2:** Islets of Langerhans are distributed throughout the pancreas. \n* An islet tumor is coded according to the subsite of the pancreas in which the tumor arises if the information is available\n\n**Note 3:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Confined to pancreas\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:06.735Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "In situ, intraepithelial, noninvasive \nPancreatic Intraepithelial Neoplasia III (PanInIII) \nPanIN-III classification" ], [ "p1", "pT1", "Tumor limited to pancreas, 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor limited to pancreas, more than 2 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor extends beyond pancreas, but \nWITHOUT involvement celiac axis or superior mesenteric artery", "Adjacent large vessel(s) \n Colon\n Spleen\n Stomach\nAmpulla of Vater\nDuodenum\nExtra hepatic bile duct(s)\nPeripancreatic tissue \n\nStated as T3" ], [ "p4", "pT4", "Tumor involves celiac axis or superior mesenteric artery", "Aorta\nCeliac artery\nSuperior mesenteric artery\nTumor is inseparable from the celiac axis or superior mesenteric artery\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/parotid_gland_t_68628.json b/src/test/resources/algorithms/tnm/2.0/tables/parotid_gland_t_68628.json deleted file mode 100644 index dd88dde11..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/parotid_gland_t_68628.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "parotid_gland_t_68628", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Parotid Gland", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for parotid gland tumors.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2 or T3) based on the tumor size for the following descriptions\n\n Invasive tumor confined to gland/duct of origin\n Microscopic extraparenchymal extension ONLY to periglandular soft/connective tissue\n Multiple foci confined to substance of parotid gland\n\n Confined to parotid gland\n Localized, NOS\n\n**Note 4:** Extraparenchymal extension is clinical or macroscopic evidence of invasion of soft tissues or nerve, except those listed under T4a and T4b. Microscopic evidence alone does not constitute extraparenchymal extension for classification purposes.\n\n**Note 5:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Mucoperiosteum is a compound structure of mucous membrane and periosteum. Cortical bone is the dense compact outer layer of bone.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.316Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension \nWITHOUT extraparenchymal extension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension \nWITHOUT extraparenchymal extension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm and/or tumor \nWITH extraparenchymal extension", "Macroscopic extraparenchymal extension to:\n Periglandular soft/connective tissue\n Another major salivary gland (submaxillary, sublingual)\n Pharyngeal mucosa\n Skeletal muscle:\n Digastric\n Masseter\n Pterygoid\n Sternocleidomastoid\n Stylohyoid\n\nOther extension:\n Facial artery or vein \n Maxillary artery\n Spinal accessory nerve\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Skin\n Mandible\n Ear canal\n Facial nerve", "Auricular nerve\nExternal auditory meatus\nMastoid process\nPeriosteum of mandible\nSkin overlying gland\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades: \n Base of skull\n Pterygoid plates\n\nOR encases carotid artery", "Jugular vein\nSkull, NOS\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/parse_m_47057.json b/src/test/resources/algorithms/tnm/2.0/tables/parse_m_47057.json deleted file mode 100644 index cebb77ee4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/parse_m_47057.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "parse_m_47057", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Parse M", - "title" : "Parse M", - "description" : "With the addition of the c and p prefixes to the existing codes, the prefix must be parsed from the main value during calculations. It will be retained for the combined value. This will have no impact on the stored value and is solely a temporary state.", - "last_modified" : "2018-05-14T21:29:02.816Z", - "definition" : [ { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "m_prefix", - "name" : "M Prefix", - "type" : "ENDPOINT" - }, { - "key" : "root_m", - "name" : "Root M value", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "c0", "VALUE:c", "VALUE:0" ], [ "c0I+", "VALUE:c", "VALUE:0I+" ], [ "c1", "VALUE:c", "VALUE:1" ], [ "c1A", "VALUE:c", "VALUE:1A" ], [ "c1B", "VALUE:c", "VALUE:1B" ], [ "c1C", "VALUE:c", "VALUE:1C" ], [ "c1D", "VALUE:c", "VALUE:1D" ], [ "c1E", "VALUE:c", "VALUE:1E" ], [ "p1", "VALUE:p", "VALUE:1" ], [ "p1A", "VALUE:p", "VALUE:1A" ], [ "p1B", "VALUE:p", "VALUE:1B" ], [ "p1C", "VALUE:p", "VALUE:1C" ], [ "p1D", "VALUE:p", "VALUE:1D" ], [ "p1E", "VALUE:p", "VALUE:1E" ], [ "X", "VALUE:", "VALUE:X" ], [ "0", "VALUE:", "VALUE:0" ], [ "0I+", "VALUE:", "VALUE:0I+" ], [ "1", "VALUE:", "VALUE:1" ], [ "1A", "VALUE:", "VALUE:1A" ], [ "1B", "VALUE:", "VALUE:1B" ], [ "1C", "VALUE:", "VALUE:1C" ], [ "1D", "VALUE:", "VALUE:1D" ], [ "1E", "VALUE:", "VALUE:1E" ], [ "88", "VALUE:", "VALUE:88" ], [ "", "VALUE:", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/parse_n_67182.json b/src/test/resources/algorithms/tnm/2.0/tables/parse_n_67182.json deleted file mode 100644 index 8e4a3b929..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/parse_n_67182.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "parse_n_67182", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Parse N", - "title" : "Parse N", - "description" : "With the addition of the c and p prefixes to the existing codes, the prefix must be parsed from the main value during calculations. It will be retained for the combined value. This will have no impact on the stored value and is solely a temporary state.", - "last_modified" : "2018-05-14T21:29:02.872Z", - "definition" : [ { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "n_prefix", - "name" : "N Prefix", - "type" : "ENDPOINT" - }, { - "key" : "root_n", - "name" : "RootN value", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "cX", "VALUE:c", "VALUE:X" ], [ "c0", "VALUE:c", "VALUE:0" ], [ "c0I-", "VALUE:c", "VALUE:0I-" ], [ "c0I+", "VALUE:c", "VALUE:0I+" ], [ "c0M-", "VALUE:c", "VALUE:0M-" ], [ "c0M+", "VALUE:c", "VALUE:0M+" ], [ "c1MI", "VALUE:c", "VALUE:1MI" ], [ "c0A", "VALUE:c", "VALUE:0A" ], [ "c0B", "VALUE:c", "VALUE:0B" ], [ "c1", "VALUE:c", "VALUE:1" ], [ "c1A", "VALUE:c", "VALUE:1A" ], [ "c1B", "VALUE:c", "VALUE:1B" ], [ "c1C", "VALUE:c", "VALUE:1C" ], [ "c2", "VALUE:c", "VALUE:2" ], [ "c2A", "VALUE:c", "VALUE:2A" ], [ "c2B", "VALUE:c", "VALUE:2B" ], [ "c2C", "VALUE:c", "VALUE:2C" ], [ "c3", "VALUE:c", "VALUE:3" ], [ "c3A", "VALUE:c", "VALUE:3A" ], [ "c3B", "VALUE:c", "VALUE:3B" ], [ "c3C", "VALUE:c", "VALUE:3C" ], [ "c4", "VALUE:c", "VALUE:4" ], [ "pX", "VALUE:p", "VALUE:X" ], [ "p0", "VALUE:p", "VALUE:0" ], [ "p0I-", "VALUE:p", "VALUE:0I-" ], [ "p0I+", "VALUE:p", "VALUE:0I+" ], [ "p0M-", "VALUE:p", "VALUE:0M-" ], [ "p0M+", "VALUE:p", "VALUE:0M+" ], [ "p1MI", "VALUE:p", "VALUE:1MI" ], [ "p0A", "VALUE:p", "VALUE:0A" ], [ "p0B", "VALUE:p", "VALUE:0B" ], [ "p1", "VALUE:p", "VALUE:1" ], [ "p1A", "VALUE:p", "VALUE:1A" ], [ "p1B", "VALUE:p", "VALUE:1B" ], [ "p1C", "VALUE:p", "VALUE:1C" ], [ "p2", "VALUE:p", "VALUE:2" ], [ "p2A", "VALUE:p", "VALUE:2A" ], [ "p2B", "VALUE:p", "VALUE:2B" ], [ "p2C", "VALUE:p", "VALUE:2C" ], [ "p3", "VALUE:p", "VALUE:3" ], [ "p3A", "VALUE:p", "VALUE:3A" ], [ "p3B", "VALUE:p", "VALUE:3B" ], [ "p3C", "VALUE:p", "VALUE:3C" ], [ "p4", "VALUE:p", "VALUE:4" ], [ "X", "VALUE:", "VALUE:X" ], [ "0", "VALUE:", "VALUE:0" ], [ "0I-", "VALUE:", "VALUE:0I-" ], [ "0I+", "VALUE:", "VALUE:0I+" ], [ "0M-", "VALUE:", "VALUE:0M-" ], [ "0M+", "VALUE:", "VALUE:0M+" ], [ "1MI", "VALUE:", "VALUE:1MI" ], [ "0A", "VALUE:", "VALUE:0A" ], [ "0B", "VALUE:", "VALUE:0B" ], [ "1", "VALUE:", "VALUE:1" ], [ "1A", "VALUE:", "VALUE:1A" ], [ "1B", "VALUE:", "VALUE:1B" ], [ "1C", "VALUE:", "VALUE:1C" ], [ "2", "VALUE:", "VALUE:2" ], [ "2A", "VALUE:", "VALUE:2A" ], [ "2B", "VALUE:", "VALUE:2B" ], [ "2C", "VALUE:", "VALUE:2C" ], [ "3", "VALUE:", "VALUE:3" ], [ "3A", "VALUE:", "VALUE:3A" ], [ "3B", "VALUE:", "VALUE:3B" ], [ "3C", "VALUE:", "VALUE:3C" ], [ "4", "VALUE:", "VALUE:4" ], [ "88", "VALUE:", "VALUE:88" ], [ "", "VALUE:", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/parse_n_merkel_clin_55445.json b/src/test/resources/algorithms/tnm/2.0/tables/parse_n_merkel_clin_55445.json deleted file mode 100644 index 3f0c8bc99..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/parse_n_merkel_clin_55445.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "parse_n_merkel_clin_55445", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Parse N Merkel (clin)", - "title" : "Parse N", - "description" : "With the addition of the c and p prefixes to the existing codes, the prefix must be parsed from the main value during calculations. It will be retained for the combined value. This will have no impact on the stored value and is solely a temporary state.", - "notes" : "**Note:** For the Merkel schemas and Melanoma Skin, the stage derivation depends on the N prefix. Therefore, the prefix will be defaulted to match the field (c for Clin N and p for Path N) in the absence of a specific prefix.", - "last_modified" : "2018-05-14T21:29:01.877Z", - "definition" : [ { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "n_prefix", - "name" : "N Prefix", - "type" : "ENDPOINT" - }, { - "key" : "root_n", - "name" : "RootN value", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "cX", "VALUE:c", "VALUE:X" ], [ "c0", "VALUE:c", "VALUE:0" ], [ "c0I-", "VALUE:c", "VALUE:0I-" ], [ "c0I+", "VALUE:c", "VALUE:0I+" ], [ "c0M-", "VALUE:c", "VALUE:0M-" ], [ "c0M+", "VALUE:c", "VALUE:0M+" ], [ "c1MI", "VALUE:c", "VALUE:1MI" ], [ "c0A", "VALUE:c", "VALUE:0A" ], [ "c0B", "VALUE:c", "VALUE:0B" ], [ "c1", "VALUE:c", "VALUE:1" ], [ "c1A", "VALUE:c", "VALUE:1A" ], [ "c1B", "VALUE:c", "VALUE:1B" ], [ "c1C", "VALUE:c", "VALUE:1C" ], [ "c2", "VALUE:c", "VALUE:2" ], [ "c2A", "VALUE:c", "VALUE:2A" ], [ "c2B", "VALUE:c", "VALUE:2B" ], [ "c2C", "VALUE:c", "VALUE:2C" ], [ "c3", "VALUE:c", "VALUE:3" ], [ "c3A", "VALUE:c", "VALUE:3A" ], [ "c3B", "VALUE:c", "VALUE:3B" ], [ "c3C", "VALUE:c", "VALUE:3C" ], [ "c4", "VALUE:c", "VALUE:4" ], [ "pX", "VALUE:p", "VALUE:X" ], [ "p0", "VALUE:p", "VALUE:0" ], [ "p0I-", "VALUE:p", "VALUE:0I-" ], [ "p0I+", "VALUE:p", "VALUE:0I+" ], [ "p0M-", "VALUE:p", "VALUE:0M-" ], [ "p0M+", "VALUE:p", "VALUE:0M+" ], [ "p1MI", "VALUE:p", "VALUE:1MI" ], [ "p0A", "VALUE:p", "VALUE:0A" ], [ "p0B", "VALUE:p", "VALUE:0B" ], [ "p1", "VALUE:p", "VALUE:1" ], [ "p1A", "VALUE:p", "VALUE:1A" ], [ "p1B", "VALUE:p", "VALUE:1B" ], [ "p1C", "VALUE:p", "VALUE:1C" ], [ "p2", "VALUE:p", "VALUE:2" ], [ "p2A", "VALUE:p", "VALUE:2A" ], [ "p2B", "VALUE:p", "VALUE:2B" ], [ "p2C", "VALUE:p", "VALUE:2C" ], [ "p3", "VALUE:p", "VALUE:3" ], [ "p3A", "VALUE:p", "VALUE:3A" ], [ "p3B", "VALUE:p", "VALUE:3B" ], [ "p3C", "VALUE:p", "VALUE:3C" ], [ "p4", "VALUE:p", "VALUE:4" ], [ "X", "VALUE:c", "VALUE:X" ], [ "0", "VALUE:c", "VALUE:0" ], [ "0I-", "VALUE:c", "VALUE:0I-" ], [ "0I+", "VALUE:c", "VALUE:0I+" ], [ "0M-", "VALUE:c", "VALUE:0M-" ], [ "0M+", "VALUE:c", "VALUE:0M+" ], [ "1MI", "VALUE:c", "VALUE:1MI" ], [ "0A", "VALUE:c", "VALUE:0A" ], [ "0B", "VALUE:c", "VALUE:0B" ], [ "1", "VALUE:c", "VALUE:1" ], [ "1A", "VALUE:c", "VALUE:1A" ], [ "1B", "VALUE:c", "VALUE:1B" ], [ "1C", "VALUE:c", "VALUE:1C" ], [ "2", "VALUE:c", "VALUE:2" ], [ "2A", "VALUE:c", "VALUE:2A" ], [ "2B", "VALUE:c", "VALUE:2B" ], [ "2C", "VALUE:c", "VALUE:2C" ], [ "3", "VALUE:c", "VALUE:3" ], [ "3A", "VALUE:c", "VALUE:3A" ], [ "3B", "VALUE:c", "VALUE:3B" ], [ "3C", "VALUE:c", "VALUE:3C" ], [ "4", "VALUE:c", "VALUE:4" ], [ "88", "VALUE:", "VALUE:88" ], [ "", "VALUE:c", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/parse_n_merkel_path_copy_67865.json b/src/test/resources/algorithms/tnm/2.0/tables/parse_n_merkel_path_copy_67865.json deleted file mode 100644 index c3369c18d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/parse_n_merkel_path_copy_67865.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "parse_n_merkel_path_copy_67865", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Parse N Merkel (path)", - "title" : "Parse N", - "description" : "With the addition of the c and p prefixes to the existing codes, the prefix must be parsed from the main value during calculations. It will be retained for the combined value. This will have no impact on the stored value and is solely a temporary state.", - "notes" : "**Note:** For the Merkel schemas, the stage derivation depends on the N prefix. Therefore, the prefix will be defaulted to match the field (c for Clin N and p for Path N) in the absence of a specific prefix.", - "last_modified" : "2018-05-14T21:29:01.278Z", - "definition" : [ { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "n_prefix", - "name" : "N Prefix", - "type" : "ENDPOINT" - }, { - "key" : "root_n", - "name" : "RootN value", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "cX", "VALUE:c", "VALUE:X" ], [ "c0", "VALUE:c", "VALUE:0" ], [ "c0I-", "VALUE:c", "VALUE:0I-" ], [ "c0I+", "VALUE:c", "VALUE:0I+" ], [ "c0M-", "VALUE:c", "VALUE:0M-" ], [ "c0M+", "VALUE:c", "VALUE:0M+" ], [ "c1MI", "VALUE:c", "VALUE:1MI" ], [ "c0A", "VALUE:c", "VALUE:0A" ], [ "c0B", "VALUE:c", "VALUE:0B" ], [ "c1", "VALUE:c", "VALUE:1" ], [ "c1A", "VALUE:c", "VALUE:1A" ], [ "c1B", "VALUE:c", "VALUE:1B" ], [ "c1C", "VALUE:c", "VALUE:1C" ], [ "c2", "VALUE:c", "VALUE:2" ], [ "c2A", "VALUE:c", "VALUE:2A" ], [ "c2B", "VALUE:c", "VALUE:2B" ], [ "c2C", "VALUE:c", "VALUE:2C" ], [ "c3", "VALUE:c", "VALUE:3" ], [ "c3A", "VALUE:c", "VALUE:3A" ], [ "c3B", "VALUE:c", "VALUE:3B" ], [ "c3C", "VALUE:c", "VALUE:3C" ], [ "c4", "VALUE:c", "VALUE:4" ], [ "pX", "VALUE:p", "VALUE:X" ], [ "p0", "VALUE:p", "VALUE:0" ], [ "p0I-", "VALUE:p", "VALUE:0I-" ], [ "p0I+", "VALUE:p", "VALUE:0I+" ], [ "p0M-", "VALUE:p", "VALUE:0M-" ], [ "p0M+", "VALUE:p", "VALUE:0M+" ], [ "p1MI", "VALUE:p", "VALUE:1MI" ], [ "p0A", "VALUE:p", "VALUE:0A" ], [ "p0B", "VALUE:p", "VALUE:0B" ], [ "p1", "VALUE:p", "VALUE:1" ], [ "p1A", "VALUE:p", "VALUE:1A" ], [ "p1B", "VALUE:p", "VALUE:1B" ], [ "p1C", "VALUE:p", "VALUE:1C" ], [ "p2", "VALUE:p", "VALUE:2" ], [ "p2A", "VALUE:p", "VALUE:2A" ], [ "p2B", "VALUE:p", "VALUE:2B" ], [ "p2C", "VALUE:p", "VALUE:2C" ], [ "p3", "VALUE:p", "VALUE:3" ], [ "p3A", "VALUE:p", "VALUE:3A" ], [ "p3B", "VALUE:p", "VALUE:3B" ], [ "p3C", "VALUE:p", "VALUE:3C" ], [ "p4", "VALUE:p", "VALUE:4" ], [ "X", "VALUE:p", "VALUE:X" ], [ "0", "VALUE:p", "VALUE:0" ], [ "0I-", "VALUE:p", "VALUE:0I-" ], [ "0I+", "VALUE:p", "VALUE:0I+" ], [ "0M-", "VALUE:p", "VALUE:0M-" ], [ "0M+", "VALUE:p", "VALUE:0M+" ], [ "1MI", "VALUE:p", "VALUE:1MI" ], [ "0A", "VALUE:p", "VALUE:0A" ], [ "0B", "VALUE:p", "VALUE:0B" ], [ "1", "VALUE:p", "VALUE:1" ], [ "1A", "VALUE:p", "VALUE:1A" ], [ "1B", "VALUE:p", "VALUE:1B" ], [ "1C", "VALUE:p", "VALUE:1C" ], [ "2", "VALUE:p", "VALUE:2" ], [ "2A", "VALUE:p", "VALUE:2A" ], [ "2B", "VALUE:p", "VALUE:2B" ], [ "2C", "VALUE:p", "VALUE:2C" ], [ "3", "VALUE:p", "VALUE:3" ], [ "3A", "VALUE:p", "VALUE:3A" ], [ "3B", "VALUE:p", "VALUE:3B" ], [ "3C", "VALUE:p", "VALUE:3C" ], [ "4", "VALUE:p", "VALUE:4" ], [ "88", "VALUE:", "VALUE:88" ], [ "", "VALUE:p", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/parse_t_2177.json b/src/test/resources/algorithms/tnm/2.0/tables/parse_t_2177.json deleted file mode 100644 index f594741d9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/parse_t_2177.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "parse_t_2177", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Parse T", - "title" : "Parse T", - "description" : "With the addition of the c and p prefixes to the existing codes, the prefix must be parsed from the main value during calculations. It will be retained for the combined value. This will have no impact on the stored value and is solely a temporary state.", - "last_modified" : "2018-05-14T21:29:03.169Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "t_prefix", - "name" : "T Prefix", - "type" : "ENDPOINT" - }, { - "key" : "root_t", - "name" : "Root T value", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "cX", "VALUE:c", "VALUE:X" ], [ "c0", "VALUE:c", "VALUE:0" ], [ "c1MI", "VALUE:c", "VALUE:1MI" ], [ "c1", "VALUE:c", "VALUE:1" ], [ "c1A", "VALUE:c", "VALUE:1A" ], [ "c1A1", "VALUE:c", "VALUE:1A1" ], [ "c1A2", "VALUE:c", "VALUE:1A2" ], [ "c1B", "VALUE:c", "VALUE:1B" ], [ "c1B1", "VALUE:c", "VALUE:1B1" ], [ "c1B2", "VALUE:c", "VALUE:1B2" ], [ "c1C", "VALUE:c", "VALUE:1C" ], [ "c1D", "VALUE:c", "VALUE:1D" ], [ "c2", "VALUE:c", "VALUE:2" ], [ "c2A", "VALUE:c", "VALUE:2A" ], [ "c2A1", "VALUE:c", "VALUE:2A1" ], [ "c2A2", "VALUE:c", "VALUE:2A2" ], [ "c2B", "VALUE:c", "VALUE:2B" ], [ "c2C", "VALUE:c", "VALUE:2C" ], [ "c2D", "VALUE:c", "VALUE:2D" ], [ "c3", "VALUE:c", "VALUE:3" ], [ "c3A", "VALUE:c", "VALUE:3A" ], [ "c3B", "VALUE:c", "VALUE:3B" ], [ "c3C", "VALUE:c", "VALUE:3C" ], [ "c3D", "VALUE:c", "VALUE:3D" ], [ "c4", "VALUE:c", "VALUE:4" ], [ "c4A", "VALUE:c", "VALUE:4A" ], [ "c4B", "VALUE:c", "VALUE:4B" ], [ "c4C", "VALUE:c", "VALUE:4C" ], [ "c4D", "VALUE:c", "VALUE:4D" ], [ "c4E", "VALUE:c", "VALUE:4E" ], [ "pX", "VALUE:p", "VALUE:X" ], [ "p0", "VALUE:p", "VALUE:0" ], [ "pA", "VALUE:p", "VALUE:A" ], [ "pIS", "VALUE:p", "VALUE:IS" ], [ "pISU", "VALUE:p", "VALUE:ISPU" ], [ "pISD", "VALUE:p", "VALUE:ISPD" ], [ "p1MI", "VALUE:p", "VALUE:1MI" ], [ "p1", "VALUE:p", "VALUE:1" ], [ "p1A", "VALUE:p", "VALUE:1A" ], [ "p1A1", "VALUE:p", "VALUE:1A1" ], [ "p1A2", "VALUE:p", "VALUE:1A2" ], [ "p1B", "VALUE:p", "VALUE:1B" ], [ "p1B1", "VALUE:p", "VALUE:1B1" ], [ "p1B2", "VALUE:p", "VALUE:1B2" ], [ "p1C", "VALUE:p", "VALUE:1C" ], [ "p1D", "VALUE:p", "VALUE:1D" ], [ "p2", "VALUE:p", "VALUE:2" ], [ "p2A", "VALUE:p", "VALUE:2A" ], [ "p2A1", "VALUE:p", "VALUE:2A1" ], [ "p2A2", "VALUE:p", "VALUE:2A2" ], [ "p2B", "VALUE:p", "VALUE:2B" ], [ "p2C", "VALUE:p", "VALUE:2C" ], [ "p2D", "VALUE:p", "VALUE:2D" ], [ "p3", "VALUE:p", "VALUE:3" ], [ "p3A", "VALUE:p", "VALUE:3A" ], [ "p3B", "VALUE:p", "VALUE:3B" ], [ "p3C", "VALUE:p", "VALUE:3C" ], [ "p3D", "VALUE:p", "VALUE:3D" ], [ "p4", "VALUE:p", "VALUE:4" ], [ "p4A", "VALUE:p", "VALUE:4A" ], [ "p4B", "VALUE:p", "VALUE:4B" ], [ "p4C", "VALUE:p", "VALUE:4C" ], [ "p4D", "VALUE:p", "VALUE:4D" ], [ "p4E", "VALUE:p", "VALUE:4E" ], [ "X", "VALUE:", "VALUE:X" ], [ "0", "VALUE:", "VALUE:0" ], [ "A", "VALUE:", "VALUE:A" ], [ "IS", "VALUE:", "VALUE:IS" ], [ "ISPU", "VALUE:", "VALUE:ISPU" ], [ "ISPD", "VALUE:", "VALUE:ISPD" ], [ "1MI", "VALUE:", "VALUE:1MI" ], [ "1", "VALUE:", "VALUE:1" ], [ "1A", "VALUE:", "VALUE:1A" ], [ "1A1", "VALUE:", "VALUE:1A1" ], [ "1A2", "VALUE:", "VALUE:1A2" ], [ "1B", "VALUE:", "VALUE:1B" ], [ "1B1", "VALUE:", "VALUE:1B1" ], [ "1B2", "VALUE:", "VALUE:1B2" ], [ "1C", "VALUE:", "VALUE:1C" ], [ "1D", "VALUE:", "VALUE:1D" ], [ "2", "VALUE:", "VALUE:2" ], [ "2A", "VALUE:", "VALUE:2A" ], [ "2A1", "VALUE:", "VALUE:2A1" ], [ "2A2", "VALUE:", "VALUE:2A2" ], [ "2B", "VALUE:", "VALUE:2B" ], [ "2C", "VALUE:", "VALUE:2C" ], [ "2D", "VALUE:", "VALUE:2D" ], [ "3", "VALUE:", "VALUE:3" ], [ "3A", "VALUE:", "VALUE:3A" ], [ "3B", "VALUE:", "VALUE:3B" ], [ "3C", "VALUE:", "VALUE:3C" ], [ "3D", "VALUE:", "VALUE:3D" ], [ "4", "VALUE:", "VALUE:4" ], [ "4A", "VALUE:", "VALUE:4A" ], [ "4B", "VALUE:", "VALUE:4B" ], [ "4C", "VALUE:", "VALUE:4C" ], [ "4D", "VALUE:", "VALUE:4D" ], [ "4E", "VALUE:", "VALUE:4E" ], [ "88", "VALUE:", "VALUE:88" ], [ "", "VALUE:", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_74330.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_74330.json deleted file mode 100644 index 7242d6b17..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_74330.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "path_m_74330", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M", - "title" : "Pathologic M", - "last_modified" : "2018-05-14T21:29:03.462Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_anus_33946.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_anus_33946.json deleted file mode 100644 index 51219e096..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_anus_33946.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "path_m_anus_33946", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Anus", - "title" : "Pathologic M", - "last_modified" : "2018-05-14T21:29:02.659Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_conjunctiva_73224.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_conjunctiva_73224.json deleted file mode 100644 index ce00628ce..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_conjunctiva_73224.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "path_m_conjunctiva_73224", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Conjunctiva", - "title" : "Pathologic M", - "last_modified" : "2018-05-14T21:29:03.721Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hab.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hab.json deleted file mode 100644 index 90e9bbbf4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hab.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hab", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Lung", - "title" : "Pathologic M", - "notes" : "**Note:** Most pleural and pericardial effusions with lung cancer are due to tumor. In a few patients, however, multiple cytopathologic examinations of pleural and/or pericardial fluid are negative for tumor, and the fluid is nonbloody and is not an exudate. \n* Where these elements and clinical judgment dictate that the effusion is not related to the tumor, the effusion should be excluded as a staging element and the tumor should be classified as M0\n\n**Distant lymph nodes**\n\n Cervical", - "last_modified" : "2018-05-14T21:28:58.361Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nNote: M1 has subcategories of M1a and M1b. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS\n\nStated as M1 [NOS]" ], [ "c1A", "cM1a", "Separate tumor nodule(s) in a contralateral lobe; tumor with pleural nodules OR malignant pleural or pericardial effusion", "CLINICAL assessment only:\nExtension to: \n Contralateral lung \n Contralateral main stem bronchus \n\nMalignant pericardial or pleural effusion (Ipsilateral, contralateral or bilateral lung) (see Note)\nPleural tumor foci or nodules on contralateral lung\nPleural tumor foci or nodules on the ipsilateral lung separate from direct invasion\nSeparate tumor nodule(s) in contralateral lung\n\nStated as M1a" ], [ "c1B", "cM1b", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n \nDistant metastasis:\n Abdominal organs\n\nExtension to:\n Skeletal muscle\n Sternum\n Skin of chest\n Separate lesion in chest wall or diaphragm\n\nOther distant metastasis plus any distant metastasis specified in M1a\n \nCarcinomatosis \n\nDistant metastases WITH or WITHOUT distant lymph nodes \n\nStated as M1b" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nNote: M1 has subcategories of M1a and M1b. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS" ], [ "p1A", "pM1a", "Separate tumor nodule(s) in a contralateral lobe; tumor with pleural nodules OR malignant pleural or pericardial effusion", "HISTOLOGICALLY confirmed:\nExtension to: \n Contralateral lung \n Contralateral main stem bronchus \n\nMalignant pericardial or pleural effusion (Ipsilateral, contralateral or bilateral lung) (see Note)\nPleural tumor foci or nodules on contralateral lung\nPleural tumor foci or nodules on the ipsilateral lung separate from direct invasion\nSeparate tumor nodule(s) in contralateral lung" ], [ "p1B", "pM1b", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nDistant metastasis:\n Abdominal organs\n\nExtension to:\n Skeletal muscle\n Sternum\n Skin of chest\n Separate lesion in chest wall or diaphragm\n\nOther distant metastasis plus any distant metastasis specified in M1a\n \nCarcinomatosis \n\nDistant metastases WITH or WITHOUT distant lymph nodes \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hac.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hac.json deleted file mode 100644 index d79473e89..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hac.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hac", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Stomach", - "title" : "Pathologic M", - "notes" : "**Note:** Distant metastasis includes peritoneal seeding, positive peritoneal cytology, and omental tumor that is not part of continuous extension.\n\n**Distant lymph nodes**\n\n**All subsites**\n \n Mesenteric, NOS\n Inferior mesenteric\n Superior mesenteric\n Para-aortic\n Porta hepatis (portal) (hilar) (in hilus of liver)\n Retropancreatic\n Retroperitoneal\n \n**All subsites EXCEPT lesser curvature**\n\n Hepatoduodenal", - "last_modified" : "2018-05-14T21:29:03.559Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph node(s), NOS\n\nKrukenberg tumor (metastasis to ovary(ies)\nMalignant (positive) peritoneal cytology\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph node(s), NOS\n\nKrukenberg tumor (metastasis to ovary(ies)\nMalignant (positive) peritoneal cytology\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_had.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_had.json deleted file mode 100644 index 8ec358c6a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_had.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_had", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Melanoma Skin", - "title" : "Pathologic M", - "footnotes" : "\\# M1 [NOS] is not defined in AJCC 7th edition", - "last_modified" : "2018-05-14T21:29:01.245Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis#", "CLINICAL assessment only:\nNote: M1 has subcategories of M1a, M1b and M1c. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS\n\nStated as M1 [NOS]" ], [ "c1A", "cM1a", "Skin, subcutaneous tissue or lymph node(s) beyond the regional lymph nodes", "CLINICAL assessment only:\nMetastasis to skin or subcutaneous tissue beyond nodes WITH or WITHOUT distant nodes\n\nMetastasis to underlying cartilage, bone, skeletal muscle (excluding direct extension) WITH or WITHOUT distant nodes\n\nDistant lymph nodes, NOS\n Nodes in contiguous (secondary) and bidirectional (cephalad/caudal) primary nodal basins\n\nStated as M1a" ], [ "c1B", "cM1b", "Lung", "CLINICAL assessment only:\nMetastasis to lung WITH or WITHOUT distant nodes\n\nStated as M1b" ], [ "c1C", "cM1c", "Other sites, or any site with elevated serum lactic dehydrogenase (LDH)", "CLINICAL assessment only:\nMetastasis to all other visceral or distant sites WITH or WITHOUT metastasis to lungs\n\nMetastasis to all other visceral or distant sites plus distant nodes WITH or WITHOUT metastasis to lungs\n\nAny distant metastasis with elevated serum lactic dehydrogenases \n\nCarcinomatosis\n\nStated as M1c" ], [ "p1", "pM1", "Distant metastasis#", "HISTOLOGICALLY confirmed:\nNote: M1 has subcategories of M1a, M1b and M1c. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS" ], [ "p1A", "pM1a", "Skin, subcutaneous tissue or lymph node(s) beyond the regional lymph nodes", "HISTOLOGICALLY confirmed:\nMetastasis to skin or subcutaneous tissue beyond nodes WITH or WITHOUT distant nodes\n\nMetastasis to underlying cartilage, bone, skeletal muscle (excluding direct extension) WITH or WITHOUT distant nodes\n\nDistant lymph nodes, NOS\n Nodes in contiguous (secondary) and bidirectional (cephalad/caudal) primary nodal basins" ], [ "p1B", "pM1b", "Lung", "HISTOLOGICALLY confirmed:\nMetastasis to lung WITH or WITHOUT distant nodes" ], [ "p1C", "pM1c", "Other sites, or any site with elevated serum lactic dehydrogenase (LDH)", "HISTOLOGICALLY confirmed:\nMetastasis to all other visceral or distant sites WITH or WITHOUT metastasis to lungs\n\nMetastasis to all other visceral or distant sites plus distant nodes WITH or WITHOUT metastasis to lungs\n\nAny distant metastasis with elevated serum lactic dehydrogenases \n\nCarcinomatosis" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hae.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hae.json deleted file mode 100644 index ecc0802d9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hae.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hae", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Colon", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n**All subsites**\n \n Common iliac\n External iliac\n Para-aortic\n Retroperitoneal\n Superior mesenteric\n\n Distant lymph nodes, NOS\n\n**Cecum (C180), Ascending colon (C182), Hepatic Flexure (C183), Transverse colon (C184)** \n\n Inferior mesenteric", - "last_modified" : "2018-05-14T21:29:02.810Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nNote: M1 has subcategories of M1a and M1b. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS\n\nStated as M1 [NOS]" ], [ "c1A", "cM1a", "Metastasis confined to one organ (liver, lung, ovary, non-regional lymph nodes(s))", "CLINICAL assessment only:\nMetastasis limited to:\n Single distant lymph node chain\n Single distant organ except peritoneum\n\nStated as M1a" ], [ "c1B", "cM1b", "Metastasis in more than one organ or the peritoneum", "CLINICAL assessment only:\nMetastasis to multiple distant lymph node chains, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH distant lymph nodes\n\nDistant metastasis to more than one organ WITH or WITHOUT distant lymph nodes\n\nStated as M1b" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nNote: M1 has subcategories of M1a and M1b. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS" ], [ "p1A", "pM1a", "Metastasis confined to one organ (liver, lung, ovary, non-regional lymph nodes(s))", "HISTOLOGICALLY confirmed:\nMetastasis limited to:\n Single distant lymph node chain\n Single distant organ except peritoneum\n\nStated as M1a" ], [ "p1B", "pM1b", "Metastasis in more than one organ or the peritoneum", "HISTOLOGICALLY confirmed:\nMetastasis to multiple distant lymph node chains, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH distant lymph nodes\n\nDistant metastasis to more than one organ WITH or WITHOUT distant lymph nodes" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_haf.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_haf.json deleted file mode 100644 index dd596a336..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_haf.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_haf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Liver", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Aortic (para-, peri-)\n Cardiac\n Coronary artery\n Diaphragmatic, NOS\n Lateral (aortic) (lumbar)\n Pericardial (pericardiac)\n Peripancreatic (near head of pancreas only)\n Posterior mediastinal (tracheoesophageal) including juxtaphrenic nodes\n Renal artery\n Retroperitoneal, NOS", - "last_modified" : "2018-05-14T21:29:02.635Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hag.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hag.json deleted file mode 100644 index 51082bb0f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hag.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hag", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Rectum", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Common iliac\n External iliac\n Superior mesenteric\n\n**Distant lymph nodes for rectosigmoid (C199)**\n\n Hemorrhoidal, inferior\n Internal iliac (hypogastric), NOS\n Obturator\n Rectal, inferior\n\n**Distant lymph nodes for rectum (C209)**\n\n Left colic\n\n**Distant metastasis**\n\n Ovary(ies)\n\n**Distant metastasis for rectosigmoid (C199)** \n\n Skeletal muscles of pelvic floor\n Vagina\n\n**Distant metastasis for rectum (C209)**\n\n Cervix\n Perineum, perianal skin\n Sacrum\n Sacral plexus", - "last_modified" : "2018-05-14T21:29:02.691Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nNote: M1 has subcategories of M1a and M1b. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS\n\nStated as M1 [NOS]" ], [ "c1A", "cM1a", "Metastasis confined to one organ (liver, lung, ovary, non-regional lymph nodes(s))", "CLINICAL assessment only:\nMetastasis limited to:\n Single distant lymph node chain\n Single distant organ except peritoneum\n\nDistant lymph nodes, NOS\n\nStated as M1a" ], [ "c1B", "cM1b", "Metastasis in more than one organ or the peritoneum", "CLINICAL assessment only:\nMetastasis to multiple distant lymph node chains, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH distant lymph nodes\n\nDistant metastasis to more than one organ WITH or WITHOUT distant lymph nodes\n\nStated as M1b" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nNote: M1 has subcategories of M1a and M1b. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS" ], [ "p1A", "pM1a", "Metastasis confined to one organ (liver, lung, ovary, non-regional lymph nodes(s))", "HISTOLOGICALLY confirmed:\nMetastasis limited to:\n Single distant lymph node chain\n Single distant organ except peritoneum\n\nDistant lymph nodes, NOS" ], [ "p1B", "pM1b", "Metastasis in more than one organ or the peritoneum", "HISTOLOGICALLY confirmed:\nMetastasis to multiple distant lymph node chains, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH distant lymph nodes\n\nDistant metastasis to more than one organ WITH or WITHOUT distant lymph nodes" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hah.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hah.json deleted file mode 100644 index b3d9929d1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hah.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hah", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Ovary", - "title" : "Pathologic M", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, use the metastatic detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III [NOS] or IIIC, assign the appropriate stage and leave pathologic T, N, and M blank\n\n**Note 2:** Discontinuous metastasis to any of the following abdominal organs by way of peritoneal seeding or implants is included in the T3 category (FIGO Stage III) and coded in T (primary tumor).\n* Abdominal mesentery; diaphragm; gallbladder; infracolic omentum; kidneys; large intestine except rectum, rectosigmoid, and sigmoid colon; liver (peritoneal surface); omentum; pancreas; pericolic gutter; peritoneum, NOS; small intestine; spleen; stomach; and ureters outside pelvis\n\n**Note 2:** Hematogenous metastases are included in M1 (FIGO Stage IV) disease", - "last_modified" : "2018-05-14T21:29:00.912Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Only information available is FIGO Stage I [NOS], IA, IB, II [NOS], IIA, IIB, IIC, IIIA, or IIIB\n\nUnknown; distant metastasis not stated\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis except peritoneal metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nInvolvement of other organs by peritoneal seeding or implants including:\n Liver parenchymal metastasis\n Pleural effusion WITH positive cytology\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nFIGO Stage IV\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis except peritoneal metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nInvolvement of other organs by peritoneal seeding or implants including:\n Liver parenchymal metastasis\n Pleural effusion WITH positive cytology\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nFIGO Stage IV" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nIn situ case but no pTis not is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS] or IIIC\n\nPathologic classification not met\nNo pathologic workup for T and N categories and no pathologic evidence of metastasis\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hai.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hai.json deleted file mode 100644 index 881bf0f33..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hai.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hai", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Fallopian Tube", - "title" : "Pathologic M", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, use the metastatic detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III [NOS] or IIIC, assign the appropriate stage and leave pathologic T, N, and M blank\n\n**Note 2:** Discontinuous metastasis to any of the following abdominal organs by way of peritoneal seeding or implants is included in the T3 category (FIGO Stage III) and coded in primary tumor.\n* Abdominal mesentery; diaphragm; gallbladder; infracolic omentum; kidneys; large intestine except rectum, rectosigmoid, and sigmoid colon; liver (peritoneal surface); omentum; pancreas; pericolic gutter; peritoneum, NOS; small intestine; spleen; stomach; and ureters outside pelvis \n* Hematogenous metastases are included in M1 (FIGO Stage IV) disease\n\n**Distant lymph nodes**\n\n Sacral lymph nodes\n Presacral lymph nodes\n Lateral sacral (laterosacral) \n Sacral NOS", - "last_modified" : "2018-05-14T21:29:00.874Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Only information available is FIGO Stage I [NOS], IA, IB, IC, II [NOS], IIA, IIB, IIC, IIIA, or IIIB\n\nUnknown; distant metastasis not stated\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nDistant metastasis (excluding involvement of other organs by peritoneal seeding or implants) \n Liver parenchymal metastasis\n Pleural effusion WITH positive cytology\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nFIGO Stage IV\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nDistant metastasis (excluding involvement of other organs by peritoneal seeding or implants) \n Liver parenchymal metastasis\n Pleural effusion WITH positive cytology\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nFIGO Stage IV" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS] or IIIC\n\nPathologic classification not met\nNo pathologic workup for T and N categories and no pathologic evidence of metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_haj.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_haj.json deleted file mode 100644 index 9ef91a6a9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_haj.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_haj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Vagina", - "title" : "Pathologic M", - "notes" : "**Note:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, use the metastatic detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III, assign the appropriate stage and leave pathologic T, N, and M blank\n\n**Distant lymph nodes**\n\n Aortic, NOS\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Retroperitoneal, NOS\n\n**Distant lymph nodes for primary in lower third of vagina**\n\n Pelvic lymph nodes\n Iliac, NOS\n Common\n External\n Internal (hypogastric)\n Obturator\n Middle sacral (promontorial) (Gerota's node)\n Pelvic lymph nodes, NOS \n\n**Distant lymph nodes for primary in upper two-thirds of vagina**\n\n Inguinal, NOS\n Superficial inguinal (femoral)", - "last_modified" : "2018-05-14T21:29:01.127Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Only information available is FIGO Stage I, II, or IVA\n\nUnknown; distant metastasis not stated\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nFIGO Stage IVB\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nFIGO Stage IVB" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III \n\nPathologic classification not met\nNo pathologic workup for T and N categories and no pathologic evidence of metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hak.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hak.json deleted file mode 100644 index 069e0efc9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hak.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hak", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Placenta", - "title" : "Pathologic M", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, use the metastatic detail in preference to a statement of FIGO stage - see Registrar notes.\n\n**Note 2:** Genital metastasis (vagina, ovary, broad ligament, fallopian tube) are classified as T2. Any involvement of non-genital structures, whether by direct invasion or metastasis are assigned in M (distant metastasis).\n\n**Note 3:** All lymph node involvement for GTT is coded as M1b.", - "last_modified" : "2018-05-14T21:29:02.317Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Only information available is FIGO Stage I [NOS], IA, IB, II [NOS], IIA, IIB\n\nUnknown; distant metastasis not stated\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nNote: M1 has subcategories of M1a and M1b. Assign M1 only when there is no information \navailable to assign one of the subcategories\n\nDistant metastasis, NOS\n\nStated as M1 [NOS]" ], [ "c1A", "cM1a", "Metastasis to lung(s)", "CLINICAL assessment only:\nFIGO Stage III [NOS], IIIA, or IIIB\n\nStated as M1a" ], [ "c1B", "cM1b", "Other disant metastasis", "CLINICAL assessment only:\nRegional lymph node(s): \n Aortic, NOS:\n Lateral\n Para-aortic\n Periaortic\n Iliac, NOS:\n Common\n External\n Internal (hypogastric):\n Obturator\n Parametrial\n Pelvic, NOS\n Sacral, NOS:\n Lateral\n Presacral\n Middle (promontorial) (Gerota's node)\n Uterosacral\n Superficial inguinal (femoral)\n\nRegional lymph node(s), NOS\nLymph nodes, NOS\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT lymph node(s)\n\nFIGO Stage IV [NOS], IVA, or IVB\n\nStated as M1b" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nNote: M1 has subcategories of M1a and M1b. Assign M1 only when there is no information \navailable to assign one of the subcategories\n\nDistant metastasis, NOS" ], [ "p1A", "pM1a", "Metastasis to lung(s)", "HISTOLOGICALLY confirmed:\nFIGO Stage III [NOS], IIIA, or IIIB" ], [ "p1B", "pM1b", "Other disant metastasis", "HISTOLOGICALLY confirmed:\nRegional lymph node(s): \n Aortic, NOS:\n Lateral\n Para-aortic\n Periaortic\n Iliac, NOS:\n Common\n External\n Internal (hypogastric):\n Obturator\n Parametrial\n Pelvic, NOS\n Sacral, NOS:\n Lateral\n Presacral\n Middle (promontorial) (Gerota's node)\n Uterosacral\n Superficial inguinal (femoral)\n\nRegional lymph node(s), NOS\nLymph nodes, NOS\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT lymph node(s)\n\nFIGO Stage IV [NOS], IVA, or IVB" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nIn situ case but no pTis not is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification not met\nNo pathologic workup for T and N categories and no pathologic evidence of metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hal.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hal.json deleted file mode 100644 index cff441189..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hal.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hal", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Prostate", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Aortic, NOS\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Cervical\n Common iliac\n Inguinal, NOS\n Deep, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial (femoral)\n Retroperitoneal, NOS\n Scalene (inferior deep cervical)\n Supraclavicular (transverse cervical)", - "last_modified" : "2018-05-14T21:29:01.316Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated \nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nNote: M1 has subcategories of M1a, M1b and M1c. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS \n\nStated as M1 [NOS]" ], [ "c1A", "cM1a", "Non-regional lymph node(s)", "CLINICAL assessment only:\nDistant lymph node(s):\n Aortic, NOS:\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Cervical\n Common iliac\n Inguinal, NOS:\n Deep, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial (femoral)\n Retroperitoneal, NOS\n Scalene (inferior deep cervical)\n Supraclavicular (transverse cervical)\n\nDistant lymph node(s), NOS\n\nStated as M1a" ], [ "c1B", "cM1b", "Bone(s)", "CLINICAL assessment only:\nMetastasis in bone(s) WITH or WITHOUT distant lymph node(s)\n\nStated as M1b" ], [ "c1C", "cM1c", "Other site(s)", "CLINICAL assessment only:\nDistant metastasis, other than distant lymph nodes or bone(s)\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes and/or bone(s)\n\nStated as M1c" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nNote: M1 has subcategories of M1a, M1b and M1c. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS" ], [ "p1A", "pM1a", "Non-regional lymph node(s)", "HISTOLOGICALLY confirmed:\nDistant lymph node(s):\n Aortic, NOS:\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Cervical\n Common iliac\n Inguinal, NOS:\n Deep, NOS:\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial (femoral)\n Retroperitoneal, NOS\n Scalene (inferior deep cervical)\n Supraclavicular (transverse cervical)\n\nDistant lymph node(s), NOS" ], [ "p1B", "pM1b", "Bone(s)", "HISTOLOGICALLY confirmed:\nMetastasis in bone(s) WITH or WITHOUT distant lymph node(s)" ], [ "p1C", "pM1c", "Other site(s)", "HISTOLOGICALLY confirmed:\nDistant metastasis, other than distant lymph nodes or bone(s)\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes and/or bone(s)" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_ham.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_ham.json deleted file mode 100644 index 8103349bb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_ham.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_ham", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Corpus Carcinoma", - "title" : "Pathologic M", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, use the metastatic detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III [NOS], IIIC [NOS], IIIC1, or IIIC2, assign the appropriate stage and leave pathologic T, N, and M blank\n\n**Note 2:** Metastasis to adnexa, parametria, pelvic serosa, or vagina is coded in primary tumor.\n\n**Distant lymph nodes**\n\n Deep inguinal, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal", - "last_modified" : "2018-05-14T21:29:01.084Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Only information available is FIGO Stage I [NOS], IA, IB, II, IIIA, IIIB, or IVA\n\nUnknown; distant metastasis not stated\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis, EXCLUDING metastasis to: \n Vagina\n Pelvic serosa\n Adnexa \n Inguinal lymph nodes\n Intra-abdominal lymph nodes \n Other than para-aortic or pelvic nodes", "CLINICAL assessment only:\nDistant lymph node(s), NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n(Excluding metastasis to vagina, pelvic, serosa, or adnexa)\n\nFIGO Stage IVB\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis, EXCLUDING metastasis to: \n Vagina\n Pelvic serosa\n Adnexa \n Inguinal lymph nodes\n Intra-abdominal lymph nodes \n Other than para-aortic or pelvic nodes", "HISTOLOGICALLY confirmed:\nDistant lymph node(s), NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n(Excluding metastasis to vagina, pelvic, serosa, or adnexa)\n\nFIGO Stage IVB" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC [NOS], IIIC1, or IIIC2\n\nPathologic classification not met\nNo pathologic workup for T and N categories and no pathologic evidence of metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_han.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_han.json deleted file mode 100644 index e8cb70f5d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_han.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_han", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Cervix", - "title" : "Pathologic M", - "notes" : "**Note:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, use the metastatic detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO IIB, assign the appropriate stage and leave pathologic T, N, and M blank\n\n**Distant lymph nodes**\n\n Aortic, NOS \n Lateral aortic\n Para-aortic\n Periaortic\n Inguinal (femoral)\n Mediastinal", - "last_modified" : "2018-05-14T21:29:04.428Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Only information available is FIGO Stage I (all subcategories), II (all subcategories), III [NOS], IIIA, or IVA\n\nUnknown; distant metastasis not stated\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis, includes: \n Inguinal lymph nodes and intraperitoneal disease except metastasis to pelvic serosa\n\nEXCLUDES: metastasis to vagina, pelvic serosa, and adnexa", "CLINICAL assessment only:\nDistant lymph node(s), NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nFIGO Stage IVB\n\nFIGO Stage IV [NOS] based on metastasis\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis, includes: \n Inguinal lymph nodes and intraperitoneal disease except metastasis to pelvic serosa\n\nEXCLUDES: metastasis to vagina, pelvic serosa, and adnexa", "HISTOLOGICALLY confirmed:\nDistant lymph node(s), NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nFIGO Stage IVB\n\nFIGO Stage IV [NOS] based on metastasis" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage IIIB\n\nPathologic classification not met\nNo pathologic workup for T and N categories and no pathologic evidence of metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hao.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hao.json deleted file mode 100644 index a1cd1bd35..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hao.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "path_m_hao", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Pancreas Other", - "title" : "Pathologic M", - "last_modified" : "2018-05-14T21:29:02.517Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown if distant metastasis\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph node(s), NOS\n\nSeeding of peritoneum, even if limited to the lesser sac region; positive peritoneal cytology\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph node(s), NOS\n\nSeeding of peritoneum, even if limited to the lesser sac region; positive peritoneal cytology\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hap.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hap.json deleted file mode 100644 index 5bc27e326..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hap.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hap", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Pancreas Body Tail", - "title" : "Pathologic M", - "notes" : "**Note:** The lesser sac of the peritoneum, or omental bursa, is the cavity in the abdomen formed by the lesser and greater omentum; the pancreas forms part of the posterior wall of the lesser sac.\n\n**Distant lymph nodes**\n\n Pericholedochal (common bile duct)\n Pyloric\n Infrapyloric\n Retropyloric\n Subpyloric\n Suprapyloric\n Porta hepatic nodes\n Superior mesenteric (see N[regional lymph nodes] for mesenteric, NOS)", - "last_modified" : "2018-05-14T21:29:02.285Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nSeeding of peritoneum, even if limited to the lesser sac region\nPositive peritoneal cytology\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS \n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nSeeding of peritoneum, even if limited to the lesser sac region\nPositive peritoneal cytology\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_haq.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_haq.json deleted file mode 100644 index c436bae54..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_haq.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_haq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Pancreas Head", - "title" : "Pathologic M", - "notes" : "**Note:** The lesser sac of the peritoneum, or omental bursa, is the cavity in the abdomen formed by the lesser and greater omentum; the pancreas forms part of the posterior wall of the lesser sac.\n\n**Distant lymph nodes** \n\n Celiac\n Pancreaticosplenic (pancreaticolienal)\n Splenic (lineal), NOS\n Splenic hilum\n Splenic artery\n Gastroepiploic (gastro-omental), left\n Suprapancreatic", - "last_modified" : "2018-05-14T21:29:02.429Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nSeeding of peritoneum, even if limited to the lesser sac region; positive peritoneal cytology\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes \n\nDistant metastasis, NOS \n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nSeeding of peritoneum, even if limited to the lesser sac region; positive peritoneal cytology\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_har.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_har.json deleted file mode 100644 index 1004576aa..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_har.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_har", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Ampulla Vater", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n At tail of pancreas\n Para-aortic\n Splenic", - "last_modified" : "2018-05-14T21:29:03.541Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n(Includes seeding of peritoneum, even if limited to the lesser sac region; positive peritoneal cytology)\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n(Includes seeding of peritoneum, even if limited to the lesser sac region; positive peritoneal cytology)\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hat.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hat.json deleted file mode 100644 index 31b4260b8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hat.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hat", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Pleura", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes** \n\n Cervical lymph nodes", - "last_modified" : "2018-05-14T21:29:02.481Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph node(s), NOS\n\nDistant metastasis:\n Direct extension to contralateral lung\n Discontinuous involvement of contralateral pleura/chest wall\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastases, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph node(s), NOS\n\nDistant metastasis:\n Direct extension to contralateral lung\n Discontinuous involvement of contralateral pleura/chest wall\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastases, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hau.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hau.json deleted file mode 100644 index cf9a639f4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hau.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hau", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Breast", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Cervical, NOS\n Contralateral/bilateral axillary and/or internal mammary\n Other than above", - "last_modified" : "2018-05-14T21:29:01.258Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c0I+", "cM0(i+)", "Isolated tumor cells found in bone marrow", "No clinical or radiographic evidence of distant metastasis, BUT \ndeposits of molecularly or microscopically detected tumor cells in circulating blood, bone marrow or other non-regional nodal tissue that are 0.2 millimeters (mm) or less in a patient without symptoms or signs of metastasis\n\nStated as M0(i+)" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph node(s), NOS\n\nFurther contiguous extension:\n Skin over:\n Axilla\n Contralateral (opposite) breast\n Sternum\n Upper abdomen\n\nMetastasis:\n Adrenal (suprarenal) gland\n Bone, other than adjacent rib\n Contralateral (opposite) breast - if stated as metastatic\n Lung\n Ovary\n Satellite nodule(s) in skin other than primary breast\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph node(s), NOS\n\nFurther contiguous extension:\n Skin over:\n Axilla\n Contralateral (opposite) breast\n Sternum\n Upper abdomen\n\nMetastasis:\n Adrenal (suprarenal) gland\n Bone, other than adjacent rib\n Contralateral (opposite) breast - if stated as metastatic\n Lung\n Ovary\n Satellite nodule(s) in skin other than primary breast\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hav.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hav.json deleted file mode 100644 index f2db8c8b2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hav.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hav", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Bone", - "title" : "Pathologic M", - "notes" : "**Note:** The term \"skip metastasis\" is not used with a consistent meaning in the literature. In some cases, it refers to discontinuous metastasis in the same bone as the primary tumor, while in other cases it refers to discontinuous metastasis in an adjacent bone, usually in the same limb. For TNM staging, discontinuous metastasis in the same bone is classified as T3 (coded in primary tumor), and discontinuous metastasis in an adjacent bone is classified as M1b (coded in distant metastasis). \n* If a primary bone tumor is stated as having \"skip metastasis\" or \"skip lesions\" with no other information regarding the bone involved, assign T3 in primary tumor", - "last_modified" : "2018-05-14T21:29:01.559Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nNote: M1 has subcategories of M1a and M1b. Assign M1 only when there is no information available to assign one of the subcategories.\n\nDistant metastasis, NOS\n\nStated as M1[NOS]" ], [ "c1A", "cM1a", "Lung", "CLINICAL assessment only:\nDistant metastasis to lung only\n\nStated as M1a" ], [ "c1B", "cM1b", "Other distant sites", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis WITH or WITHOUT lung mets \n\nCarcinomatosis\n\nStated as M1b" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nNote: M1 has subcategories of M1a and M1b. Assign M1 only when there is no information available to assign one of the subcategories.\n\nDistant metastasis, NOS" ], [ "p1A", "pM1a", "Lung", "HISTOLOGICALLY confirmed:\nDistant metastasis to lung only" ], [ "p1B", "pM1b", "Other distant sites", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis WITH or WITHOUT lung mets \n\nCarcinomatosis" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_haz.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_haz.json deleted file mode 100644 index a3ea9e2cd..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_haz.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_haz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Mycosis Fungoides", - "title" : "Pathologic M", - "notes" : "**Note 1:** For this schema, code all lymph node (regional and distant) involvement in regional lymph nodes (N). Only visceral and bone marrow involvement are coded in M (distant metastasis). \n* Peripheral blood involvement is coded in **Site-Specific Factor 1, Peripheral Blood Involvement**\n\n**Note 2:** Visceral involvement is metastatic and needs to be questioned in the absence of node or blood involvement.\n\n**Note 3:** For visceral disease (Stage IVB), documentation of involvement by only one organ outside the skin, nodes, or blood is needed.\n\n**Note 4:** Visceral involvement must be pathologically confirmed, except for the liver and spleen, which may be documented with only imaging.", - "last_modified" : "2018-05-14T21:29:01.359Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No visceral organ involvement", "Clinical confirmation only of visceral (non-cutaneous, extra nodal) involvement \n\nCarcinomatosis, unknown if clinical or pathologic confirmation\n\nUnknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Visceral organ involvement (must have pathology confirmation)", "CLINICAL assessment only:\nImaging confirmation of liver and/or spleen metastasis \nInvolvement of Bone marrow\n\nVisceral (non-cutaneous, extranodal) involvement, pathologically confirmed:\n Involvement by at least one organ outside the skin, nodes, blood, or bone marrow\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Visceral organ involvement (must have pathology confirmation)", "HISTOLOGICALLY confirmed:\nImaging confirmation of liver and/or spleen metastasis \nInvolvement of Bone marrow\n\nVisceral (non-cutaneous, extranodal) involvement, pathologically confirmed:\n Involvement by at least one organ outside the skin, nodes, blood, or bone marrow\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by EORTC\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hba.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hba.json deleted file mode 100644 index 69b5e9342..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hba.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hba", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Vulva", - "title" : "Pathologic M", - "notes" : "**Note:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, use the metastatic detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III [NOS], IIIA, IIIB, IIIC, or IVA, assign the appropriate stage and leave pathologic T, N, and M blank\n\n**Distant lymph nodes**\n\n External iliac\n Internal iliac (hypogastric)\n Obturator\n Pelvic, NOS", - "last_modified" : "2018-05-14T21:29:03.726Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Only information available is FIGO Stage I [NOS], IA, IB, or II\n\nUnknown; distant metastasis not stated\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis (including pelvic lymph node metastasis)", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS\n\nFIGO Stage IVB \n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis (including pelvic lymph node metastasis)", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS\n\nFIGO Stage IVB" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIA, IIIB, IIIC, or IVA\n\nPathologic classification not met\nNo pathologic workup for T and N categories and no pathologic evidence of metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbb.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbb.json deleted file mode 100644 index 1c94ba542..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbb.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hbb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Testis", - "title" : "Pathologic M", - "notes" : "**Note:** Involvement of inguinal, pelvic, or external iliac lymph nodes **WITH** previous scrotal or inguinal surgery prior to presentation of the testis tumor is coded in N (regional lymph nodes) and not in M (distant metastasis).\n\n**Distant lymph nodes WITHOUT previous scrotal or inguinal surgery or UNKNOWN if previous scrotal or inguinal surgery**\n\n External iliac \n Inguinal nodes, NOS\n Deep, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial (femoral) \n Pelvic, NOS", - "last_modified" : "2018-05-14T21:29:00.299Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nNote: M1 has subcategories of M1a and M1b. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS\n\nStated as M1 [NOS]" ], [ "c1A", "cM1a", "Non-regional lymph node(s) or lung metastasis", "CLINICAL assessment only:\nDistant lymph node(s), NOS\n\nDistant metastasis to lung\n\nStated as M1a" ], [ "c1B", "cM1b", "Distant metastasis other than non-regional lymph nodes and lung", "CLINICAL assessment only:\nCarcinomatosis\n\nDistant metastasis to other distant sites WITH or WITHOUT metastasis to lung\n and/or distant lymph node(s)\n\nStated as M1b" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nNote: M1 has subcategories of M1a and M1b. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS" ], [ "p1A", "pM1a", "Non-regional lymph node(s) or lung metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph node(s), NOS\n\nDistant metastasis to lung" ], [ "p1B", "pM1b", "Distant metastasis other than non-regional lymph nodes and lung", "HISTOLOGICALLY confirmed:\nCarcinomatosis\n\nDistant metastasis to other distant sites WITH or WITHOUT metastasis to lung\n and/or distant lymph node(s)" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbc.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbc.json deleted file mode 100644 index 4c88fbc34..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbc.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "path_m_hbc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Bladder", - "title" : "Pathologic M", - "last_modified" : "2018-05-14T21:29:00.302Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis, NOS\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis, NOS\n\nDistant metastasis WITH or WITHOUT distant lymph nodes" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbf.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbf.json deleted file mode 100644 index 33d1e71c0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbf.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "path_m_hbf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Thyroid", - "title" : "Pathologic M", - "last_modified" : "2018-05-14T21:29:01.237Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbg.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbg.json deleted file mode 100644 index 7ffdc057c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbg.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hbg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Esophagus", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Common hepatic\n Splenic", - "last_modified" : "2018-05-14T21:29:03.191Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbn.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbn.json deleted file mode 100644 index 3a62945a1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbn.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_m_hbn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Retinoblastoma", - "title" : "Pathologic M", - "notes" : "**Note 1:** Distant lymph node involvement is coded as N2 for TNM staging for retinoblastoma and is collected in M (distant metastasis). \n\n**Note 2:** Code single and multiple metastatic lesions in this field based on the presentation of metastases in all distant sites excluding distant lymph nodes.\n\n**Note 3:** Metastasis to bone marrow is a single site of involvement.", - "footnotes" : "\\* This subcategory of clinical M1 is not defined in UICC 7th edition. Approval has been provided by UICC to use the definition from the AJCC 7th edition, which is documented in the registrar notes.", - "last_modified" : "2018-05-14T21:29:00.015Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nNote: M1 has subcategories of M1a, M1b, M1c, M1d and M1e. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS\n\nStated as M1[NOS]" ], [ "c1A", "cM1a", "Not defined by UICC*", "CLINICAL assessment only:\nSingle metastasis to sites other than CNS\n\nStated as M1a" ], [ "c1B", "cM1b", "Not defined by UICC*", "CLINICAL assessment only:\nMultiple metastasis to sites other than CNS\n\nStated as M1b" ], [ "c1C", "cM1c", "Not defined by UICC*", "CLINICAL assessment only:\nCNS metastasis\nCNS location not specified\n\nStated as M1c" ], [ "c1D", "cM1d", "Not defined by UICC*", "CLINICAL assessment only:\nDiscrete mass(es) with leptomeningeal and/or CSF involvement\nPostchiasmatic lesions\n\nStated as M1d" ], [ "c1E", "cM1e", "Not defined by UICC*", "CLINICAL assessment only:\nLeptomeningeal and/or Cerebral Spine Fluid (CSF) involvement\n\nStated as M1e" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nNote: M1 has subcategories of M1a, M1b, M1c, M1d and M1e. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS" ], [ "p1A", "pM1a", "Single metastasis to sites other than CNS", "HISTOLOGICALLY confirmed" ], [ "p1B", "pM1b", "Multiple metastasis to sites other than CNS", "HISTOLOGICALLY confirmed" ], [ "p1C", "pM1c", "CNS metastasis", "HISTOLOGICALLY confirmed\nCNS location not specified" ], [ "p1D", "pM1d", "Discrete mass(es) without leptomeningeal and/or CSF involvement", "HISTOLOGICALLY confirmed:\nPostchiasmatic lesions" ], [ "p1E", "pM1e", "Leptomeningeal and/or Cerebral Spine Fluid (CSF) involvement", "HISTOLOGICALLY confirmed" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbo.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbo.json deleted file mode 100644 index f23b574f0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbo.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hbo", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Small Intestine", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Celiac lymph nodes\n\n**Jejunum (C171) and ileum (C172) primaries**\n\n Pericholedochal lymph node(s) (for duodenal primary [C170], see N [regional lymph nodes])", - "last_modified" : "2018-05-14T21:29:04.452Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis , NOS \n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis , NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbu.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbu.json deleted file mode 100644 index 8464ed374..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbu.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hbu", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Esophagus GE Junction", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Hepatoduodenal\n Mesenteric, NOS\n Inferior mesenteric\n Superior mesenteric\n Para-aortic\n Porta hepatis (portal) (hilar) (in hilus of liver)\n Retropancreatic\n Retroperitoneal", - "last_modified" : "2018-05-14T21:29:03.454Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis(es), NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis(es), NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbv.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbv.json deleted file mode 100644 index 4a6bd1fd1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbv.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "path_m_hbv", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Adrenal Gland", - "title" : "Pathologic M", - "last_modified" : "2018-05-14T21:29:01.209Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS \n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS \n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbx.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbx.json deleted file mode 100644 index eb10302a2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbx.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hbx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Carcinoid Appendix", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Inferior mesenteric lymph nodes\n Superior mesenteric lymph nodes", - "last_modified" : "2018-05-14T21:29:03.148Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph node(s), NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph node(s), NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbz.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbz.json deleted file mode 100644 index 95083b40a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hbz.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hbz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Intrahepatic Bile Ducts", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n**Primary tumor in either left or right liver**\n\n Aortic\n Para-aortic\n Periaortic\n Cardiac\n Caval\n Coronary artery\n Diaphragmatic, NOS\n Lateral (aortic) (lumbar) \n Pericardial (pericardiac)\n Posterior mediastinal (tracheoesophageal) including juxtaphrenic nodes\n Renal artery\n Retroperitoneal, NOS \n\n**Primary tumor in left liver (segments 2-4) or lobe of liver not stated**\n\n Periduodenal\n Peripancreatic \n\n**Primary tumor in right liver (segments 5-8) or lobe of liver not stated**\n\n Gastrohepatic", - "last_modified" : "2018-05-14T21:29:02.520Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nCarcinomatosis\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nCarcinomatosis\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcb.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcb.json deleted file mode 100644 index b79185169..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcb.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hcb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M GIST Colon", - "title" : "Pathologic M", - "notes" : "**Note 1:** Liver metastasis implies the presence of tumor inside the liver parenchyma as one or more nodules.\n* Do not code as liver metastasis when there is adherence to the liver capsule, even if extensive. For liver adherence, see T (primary tumor)\n\n**Note 2:** When a patient has more than one area of gastrointestinal stromal tumor (GIST), it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas.\n* Assign this form of metastasis as cM1\n\n**Note 3:** Tumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in **Site-Specific Factor 15, Tumor Multiplicity**.\n* When a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in **Site-Specific Factor 15, Tumor Multiplicity**\n* When multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, assign cM0\n\n**Note 4:** Peritoneal nodules are not excluded as a staging component for M1 disease of GISTColon and may be assigned M1. \n\n**Distant lymph nodes**\n\n**All subsites**\n \n Common iliac\n External iliac\n Para-aortic\n Retroperitoneal\n Superior mesenteric\n\n Distant lymph nodes, NOS\n\n**Cecum (C180), Ascending colon (C182), Hepatic Flexure (C183), Transverse colon (C184)** \n\n Inferior mesenteric", - "last_modified" : "2018-05-14T21:29:00.849Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nDistant metastasis, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nDistant metastasis, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcc.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcc.json deleted file mode 100644 index 24c64141e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcc.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hcc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M GIST Rectum", - "title" : "Pathologic M", - "notes" : "**Note 1:** Liver metastasis implies the presence of tumor inside the liver parenchyma as one or more nodules. \n* Do not code as liver metastasis when there is adherence to the liver capsule, even if extensive. For liver adherence, see T (primary tumor)\n\n**Note 2:** When a patient has more than one area of gastrointestinal stromal tumor (GIST), it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. \n* Assign this form of metastasis as cM1\n\n**Note 3:** Tumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in **Site-Specific Factor 15, Tumor Multiplicity**.\n* When a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in **Site-Specific Factor 15, Tumor Multiplicity**\n* When multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, assign cM0\n\n**Distant lymph nodes**\n \n Common iliac\n External iliac\n Superior mesenteric\n\n**Distant lymph nodes for rectosigmoid (C199)**\n\n Hemorrhoidal, inferior\n Internal iliac (hypogastric), NOS\n Obturator\n Rectal, inferior\n\n**Distant lymph nodes for rectum (C209)**\n\n Left colic\n\n**Distant metastasis**\n\n Ovary(ies)\n\n**Distant metastasis for rectosigmoid (C199)**\n\n Skeletal muscles of pelvic floor\n Vagina\n\n**Distant metastasis for rectum (C209)**\n\n Cervix\n Perineum, perianal skin\n Sacrum\n Sacral plexus", - "last_modified" : "2018-05-14T21:29:01.224Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph node(s), NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph node(s), NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcd.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcd.json deleted file mode 100644 index 1c35b5e56..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcd.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hcd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M GIST Stomach", - "title" : "Pathologic M", - "notes" : "**Note 1:** Liver metastasis implies the presence of tumor inside the liver parenchyma as one or more nodules. \n* Do not code as liver metastasis when there is adherence to the liver capsule, even if extensive. For liver adherence, see T (primary tumor)\n\n**Note 2:** When a patient has more than one area of gastrointestinal stromal tumor (GIST), it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. \n* Assign this form of metastasis as cM1\n\n**Note 3:** Tumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in **Site-Specific Factor 10, Tumor Multiplicity**.\n* When a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in **Site-Specific Factor 10, Tumor Multiplicity**\n* When multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, assign cM0\n\n**Distant lymph nodes**\n\n**All subsites**\n\n Mesenteric, NOS\n Inferior mesenteric\n Superior mesenteric\n Para-aortic\n Porta hepatis (portal) (hilar) (in hilus of liver)\n Retropancreatic\n Retroperitoneal\n\n**All subsites EXCEPT lesser curvature**\n\n Hepatoduodenal", - "last_modified" : "2018-05-14T21:29:02.610Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nDistant metastasis:\n Peritoneal nodules\n Liver parenchymal nodules\n\nDistant metastasis, NOS\n\nCarcinomatosis\nMalignant peritoneal cytology\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS \n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nDistant metastasis:\n Peritoneal nodules\n Liver parenchymal nodules\n\nDistant metastasis, NOS\n \nCarcinomatosis\nMalignant peritoneal cytology\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hce.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hce.json deleted file mode 100644 index 21a4fe474..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hce.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hce", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M GIST Small Intestine", - "title" : "Pathologic M", - "notes" : "**Note 1:** When a patient has more than one area of gastrointestinal stromal tumor (GIST), it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. \n* Assign this form of metastasis as cM1\n\n**Note 2:** Tumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in **Site-Specific Factor 10, Tumor Multiplicity**.\n* When a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in**Site-Specific Factor 10, Tumor Multiplicity**\n* When multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, assign cM0\n\n**Distant lymph nodes**\n\n Celiac lymph nodes\n\n**Jejunum (C171) and ileum (C172) primaries**\n\n Pericholedochal lymph node(s) (for duodenal primary [C170], see N [regional lymph nodes])", - "last_modified" : "2018-05-14T21:29:02.887Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcf.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcf.json deleted file mode 100644 index b8f14804c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcf.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hcf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Appendix", - "title" : "Pathologic M", - "notes" : "**Note 1:** Distant lymph nodes are assigned as M1b.\n\n**Distant lymph nodes**\n\n Inferior mesenteric lymph nodes\n Superior mesenteric lymph nodes\n\n**Note 2:** Mucinous tumors (morphology codes 8480, 8481, and 8490) with peritoneal involvement confined to the right lower quadrant (RLQ) are classified as T4a and are assigned in T (primary tumor).", - "last_modified" : "2018-05-14T21:29:01.134Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nNote: M1 has subcategories of M1a and M1b. Assign M1 only when there is no information available to assign one of the subcategories\n\nStated as M1 [NOS]" ], [ "c1A", "cM1a", "Intraperitoneal metastasis beyond the right lower quadrant, including pseudomyxoma peritonei", "CLINICAL assessment only:\nFor mucinous tumors only:\n Intraperitoneal metastasis BEYOND the right lower quadrant, including pseudomyxoma peritonei\n\nStated as M1a" ], [ "c1B", "cM1b", "Non-peritoneal metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nFor mucinous tumors only: \nDistant lymph node(s) plus intraperitoneal metastasis BEYOND the right lower quadrant, including pseudomyxoma peritonei\n\nFor non-mucinous tumors only:\n Any intraperitoneal spread\n\nIntraperitoneal spread plus distant lymph node(s)\n\nNon-peritoneal metastasis\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1b" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nNote: M1 has subcategories of M1a and M1b. Assign M1 only when there is no information available to assign one of the subcategories" ], [ "p1A", "pM1a", "Intraperitoneal metastasis beyond the right lower quadrant, including pseudomyxoma peritonei", "HISTOLOGICALLY confirmed:\nFor mucinous tumors only:\n Intraperitoneal metastasis BEYOND the right lower quadrant, including pseudomyxoma peritonei" ], [ "p1B", "pM1b", "Non-peritoneal metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nFor mucinous tumors only: \nDistant lymph node(s) plus intraperitoneal metastasis BEYOND the right lower quadrant, including pseudomyxoma peritonei\n\nFor non-mucinous tumors only:\n Any intraperitoneal spread\n\nIntraperitoneal spread plus distant lymph node(s)\n\nNon-peritoneal metastasis\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcg.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcg.json deleted file mode 100644 index 9c0bb1773..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcg.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "path_m_hcg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Kidney Parenchyma", - "title" : "Pathologic M", - "last_modified" : "2018-05-14T21:29:01.591Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed \nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nExtension to:\n Contralateral kidney\n Contralateral ureter\n Liver from left kidney\n Spleen from right kidney\n\nNoncontiguous ipsilateral adrenal (suprarenal) gland metastasis \n(Contiguous involvement coded in primary tumor )\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nExtension to:\n Contralateral kidney\n Contralateral ureter\n Liver from left kidney\n Spleen from right kidney\n\nNoncontiguous ipsilateral adrenal (suprarenal) gland metastasis \n(Contiguous involvement coded in primary tumor )\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hch.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hch.json deleted file mode 100644 index 4025dd832..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hch.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hch", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M GIST Appendix", - "title" : "Pathologic M", - "notes" : "**Note 1:** Liver metastasis implies the presence of tumor inside the liver parenchyma as one or more nodules. \n* Do not code as liver metastasis when there is adherence to the liver capsule, even if extensive. For liver adherence, see T (primary tumor)\n\n**Note 2:** When a patient has more than one area of gastrointestinal stromal tumor (GIST), it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. \n* Assign this form of metastasis as cM1\n\n**Note 3:** Tumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in **Site-Specific Factor 15, Tumor Multiplicity**.\n* When a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in **Site-Specific Factor 15, Tumor Multiplicity**\n* When multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, assign cM0\n\n**Note 4:** Assign M1 for peritoneal nodules. \n\n**Note 5:** Superior and inferior mesenteric node(s) are included in M (distant metastasis). Mesenteric node(s), NOS are assigned in N (regional lymph nodes).\n\n**Distant lymph nodes**\n\n Inferior mesenteric lymph nodes\n Superior mesenteric lymph nodes", - "last_modified" : "2018-05-14T21:29:06.726Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nDistant metastasis including: \n Peritoneal nodules\n Liver parenchymal nodules\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nDistant metastasis including: \n Peritoneal nodules\n Liver parenchymal nodules\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hci.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hci.json deleted file mode 100644 index 48ad7f701..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hci.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hci", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M NET Colon", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**:\n\n**All subsites**\n \n Common iliac\n External iliac\n Para-aortic\n Retroperitoneal\n Superior mesenteric\n\n Distant lymph nodes, NOS\n\n**Cecum (C180), Ascending colon (C182), Hepatic Flexure (C183), Transverse colon (C184)** \n\n Inferior mesenteric", - "last_modified" : "2018-05-14T21:29:01.736Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcj.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcj.json deleted file mode 100644 index e5850a3ad..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcj.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hcj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M NET Rectum", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Common iliac\n External iliac\n Superior mesenteric\n\n**Distant lymph nodes for rectosigmoid (C199)**\n\n Hemorrhoidal, inferior\n Internal iliac (hypogastric), NOS\n Obturator\n Rectal, inferior\n\n**Distant lymph nodes for rectum (C209)**\n\n Left colic\n\n**Distant metastasis**\n\n Ovary(ies)\n\n**Distant metastasis for rectosigmoid (C199)**\n\n Skeletal muscles of pelvic floor\n Vagina\n\n**Distant metastasis for rectum (C209)**\n\n Cervix\n Perineum, perianal skin\n Sacrum\n Sacral plexus", - "last_modified" : "2018-05-14T21:29:04.450Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph node(s), NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph node(s), NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hck.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hck.json deleted file mode 100644 index 818dd27c8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hck.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hck", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M NET Stomach", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n**All subsites**\n\n Mesenteric, NOS\n Inferior mesenteric\n Superior mesenteric\n Para-aortic\n Porta hepatis (portal) (hilar) (in hilus of liver)\n Retropancreatic\n Retroperitoneal\n\n**All subsites EXCEPT lesser curvature**\n\n Hepatoduodenal", - "last_modified" : "2018-05-14T21:29:02.444Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\nMalignant peritoneal cytology\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS \n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\nMalignant peritoneal cytology\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcl.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcl.json deleted file mode 100644 index ad90e66bf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcl.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hcl", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Corpus Adenosarcoma/Sarcoma", - "title" : "Pathologic M", - "notes" : "**Note:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, use the metastatic detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III [NOS] or IIIC, assign the appropriate stage and leave pathologic T, N, and M blank\n\n**Distant lymph nodes**\n\n Deep inguinal, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal", - "last_modified" : "2018-05-14T21:29:01.032Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Only information available is FIGO Stage I (all subcategories), II (all subcategories), IIIA, IIIB, or IVA\n\nUnknown; distant metastasis not stated\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis (excluding adnexa, pelvic and abdominal tissues)", "CLINICAL assessment only:\nDistant lymph node(s), NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis NOS\n\nFIGO Stage IVB\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis (excluding adnexa, pelvic and abdominal tissues)", "HISTOLOGICALLY confirmed:\nDistant lymph node(s), NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis NOS\n\nFIGO Stage IVB" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS] or IIIC\n\nPathologic classification not met\nNo pathologic workup for T and N categories and no pathologic evidence of metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcn.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcn.json deleted file mode 100644 index 52af75f7a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcn.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hcn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M GIST Esophagus", - "title" : "Pathologic M", - "notes" : "**Note 1:** Liver metastasis implies the presence of tumor inside the liver parenchyma as one or more nodules.\n* Do not code as liver metastasis when there is adherence to the liver capsule, even if extensive. For liver adherence, see T (primary tumor)\n\n**Note 2:** When a patient has more than one area of gastrointestinal stromal tumor (GIST), it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas.\n* Assign this form of metastasis as cM1\n\n**Note 3:** Tumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in **Site-Specific Factor 10, Tumor Multiplicity**.\n* When a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in **Site-Specific Factor 10, Tumor Multiplicity**\n* When multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, assign cM0\n\n**Distant lymph nodes**\n\n Common hepatic\n Splenic", - "last_modified" : "2018-05-14T21:29:03.147Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcp.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcp.json deleted file mode 100644 index f68a96d6d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcp.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hcp", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M NET Small Intestine", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Celiac lymph nodes\n\n**Jejunum (C171) and ileum (C172) primaries**\n\n Pericholedochal lymph node(s) (for duodenal primary [C170], see N [regional lymph nodes])", - "last_modified" : "2018-05-14T21:29:04.469Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS \n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcq.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcq.json deleted file mode 100644 index 47f93010e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcq.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hcq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Distal Bile Duct", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Celiac\n Para-aortic \n Peripancreatic (along body and tail of pancreas only)\n Pericaval", - "last_modified" : "2018-05-14T21:29:01.695Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes \n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcr.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcr.json deleted file mode 100644 index 8e32c3aff..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcr.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hcr", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Perihilar Bile Ducts", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Peripancreatic (along body and tail of pancreas only)", - "last_modified" : "2018-05-14T21:29:02.680Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes \n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcs.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcs.json deleted file mode 100644 index cb63013e2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcs.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hcs", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M GIST Peritoneum", - "title" : "Pathologic M", - "notes" : "**Note 1:** When a patient has more than one area of gastrointestinal stromal tumor (GIST), it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. \n* Assign this form of metastasis as cM1\n\n**Note 2:** Tumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in **Site-Specific Factor 9, Tumor Multiplicity**.\n* When a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in **Site-Specific Factor 9, Tumor Multiplicity**\n* When multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, assign cM0", - "last_modified" : "2018-05-14T21:29:01.317Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph node(s)\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nCarcinomatosis\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph node(s)\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nCarcinomatosis\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcu.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcu.json deleted file mode 100644 index a67344ff0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcu.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "path_m_hcu", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Skin Eyelid", - "title" : "Pathologic M", - "last_modified" : "2018-05-14T21:29:01.757Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed \nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nMetastatic skin lesions WITH or WITHOUT distant lymph nodes\n\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes and/or metastatic skin lesions\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nMetastatic skin lesions WITH or WITHOUT distant lymph nodes\n\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes and/or metastatic skin lesions\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcv.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcv.json deleted file mode 100644 index 6c9a2a745..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcv.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hcv", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Cystic Duct/Gallbladder", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Peripancreatic (along body and tail of pancreas only)", - "last_modified" : "2018-05-14T21:29:02.801Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph node(s), NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastases, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph node(s), NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastases, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcw.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcw.json deleted file mode 100644 index df79c3a38..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcw.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hcw", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Peritoneum Female Gen", - "title" : "Pathologic M", - "notes" : "**Note:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, use the metastatic detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO stage III [NOS] or IIIC, assign the appropriate stage and leave pathologic T, N, and M blank", - "last_modified" : "2018-05-14T21:29:02.967Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Only information available is FIGO Stage IIIA or IIIB\n\nUnknown; distant metastasis not stated\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis except peritoneal metastasis", "CLINICAL assessment only:\nDistant lymph node(s)\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS\n\nFIGO Stage IV\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis except peritoneal metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph node(s)\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS\n\nFIGO Stage IV" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS] or IIIC\n\nPathologic classification not met\nNo pathologic workup for T and N categories and no pathologic evidence of metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcy.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcy.json deleted file mode 100644 index 0bb476661..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hcy.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "path_m_hcy", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Merkel Cell Vulva", - "title" : "Pathologic M", - "last_modified" : "2018-05-14T21:29:01.161Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nNote: M1 has subcategories of M1a, M1b and M1c. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS\n\nStated as M1 [NOS]" ], [ "c1A", "cM1a", "Skin, subcutaneous tissues or non-regional lymph node(s)", "CLINICAL assessment only:\nMetastasis to skin or subcutaneous tissue\n\nDistant lymph node(s) including common iliac\n\nDistant lymph nodes, NOS\n\nStated as M1a" ], [ "c1B", "cM1b", "Lung", "CLINICAL assessment only:\nLung\n\nMetastasis to lung plus distant lymph node(s) or skin or subcutaneous tissue\n\nStated as M1b" ], [ "c1C", "cM1c", "Other site (s)", "CLINICAL assessment only:\nDistant metastasis to all other visceral sites EXCEPT distant lymph node(s), skin, subcutaneous tissue, or lung \n\nMetastasis to other visceral sites plus distant lymph node(s), skin, subcutaneous tissues, or lungs\n\nCarcinomatosis\n\nStated as M1c" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nNote: M1 has subcategories of M1a, M1b and M1c. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS" ], [ "p1A", "pM1a", "Skin, subcutaneous tissues or non-regional lymph node(s)", "HISTOLOGICALLY confirmed:\nMetastasis to skin or subcutaneous tissue\n\nDistant lymph node(s) including common iliac\n\nDistant lymph nodes, NOS" ], [ "p1B", "pM1b", "Lung", "HISTOLOGICALLY confirmed:\nLung\n\nMetastasis to lung plus distant lymph node(s) or skin or subcutaneous tissue" ], [ "p1C", "pM1c", "Other site (s)", "HISTOLOGICALLY confirmed:\nDistant metastasis to all other visceral sites EXCEPT distant lymph node(s), skin, subcutaneous tissue, or lung \n\nMetastasis to other visceral sites plus distant lymph node(s), skin, subcutaneous tissues, or lungs\n\nCarcinomatosis" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_head_neck_melanoma_32288.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_head_neck_melanoma_32288.json deleted file mode 100644 index 6a39370ee..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_head_neck_melanoma_32288.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_head_neck_melanoma_32288", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Head & Neck Melanoma", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Mediastinal (excluding superior mediastinal nodes)", - "last_modified" : "2018-05-14T21:29:03.275Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed \nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpb.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpb.json deleted file mode 100644 index 9966c50ab..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpb.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hpb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Head & Neck", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Mediastinal (excluding superior mediastinal nodes)", - "last_modified" : "2018-05-14T21:29:03.463Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed \nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpc.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpc.json deleted file mode 100644 index bafcf645e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpc.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "path_m_hpc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M", - "title" : "Pathologic M", - "last_modified" : "2018-05-14T21:29:02.830Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpd.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpd.json deleted file mode 100644 index a816b2a84..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpd.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hpd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Head & Neck Melanoma", - "title" : "Pathologic M", - "notes" : "**Note:** Supraclavicular and transverse cervical lymph nodes are coded in regional lymph nodes because they are categorized as N rather than M in TNM.", - "last_modified" : "2018-05-14T21:29:03.209Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown, metastasis not stated\nDistant metastasis cannot be assessed \nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph node(s):\n Mediastinal (excluding superior mediastinal nodes)\n\nDistant lymph node(s), NOS\n\nCarcinomatosis\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph node(s):\n Mediastinal (excluding superior mediastinal nodes)\n\nDistant lymph node(s), NOS\n\nCarcinomatosis\nDistant metastasis WITH or WITHOUT distant lymph nodes\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpe.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpe.json deleted file mode 100644 index 5143182e2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpe.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hpe", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Nodes in contiguous (secondary) and bidirectional (cephalad/caudal) primary nodal basins", - "last_modified" : "2018-05-14T21:29:02.905Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only: \nDistant lymph nodes, NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph node, NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpg.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpg.json deleted file mode 100644 index 0de3d034c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hpg.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hpg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Malignant Melanoma Uvea", - "title" : "Pathologic M", - "footnotes" : "\\* This subcategory of M1 is not defined in UICC 7th edition. Approval has been provided by UICC to use the definition from the AJCC 7th edition, which is documented in the registrar notes.", - "last_modified" : "2018-05-14T21:29:06.758Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nNote: M1 has subcategories of M1a, M1b and M1c. Assign M1 only when there is no information available to assign one of the subcategories.\n\nDistant lymph nodes, NOS\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nSize of metastasis not known or stated\n\nStated as M1 [NOS]" ], [ "c1A", "cM1a", "Not defined by UICC*", "CLINICAL assessment only:\nLargest diameter of the largest metastasis 3 cm or less\n\nStated as M1a" ], [ "c1B", "cM1b", "Not defined by UICC*", "CLINICAL assessment only:\nLargest diameter of the largest metastasis 3.1 - 8.0 cm\n\nStated as M1b" ], [ "c1C", "cM1c", "Not defined by UICC*", "CLINICAL assessment only:\nLargest diameter of the largest metastasis greater than 8 cm\n\nStated as M1c" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nNote: M1 has subcategories of M1a, M1b and M1c. Assign M1 only when there is no information available to assign one of the subcategories.\n\nDistant lymph nodes, NOS\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nSize of metastasis not known or stated" ], [ "p1A", "pM1a", "Not defined by UICC*", "HISTOLOGICALLY confirmed:\nLargest diameter of the largest metastasis 3 cm or less" ], [ "p1B", "pM1b", "Not defined by UICC*", "HISTOLOGICALLY confirmed:\nLargest diameter of the largest metastasis 3.1 - 8.0 cm" ], [ "p1C", "pM1c", "Not defined by UICC*", "HISTOLOGICALLY confirmed:\nLargest diameter of the largest metastasis greater than 8 cm" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hph.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_hph.json deleted file mode 100644 index c679e54ef..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_hph.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_hph", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M", - "title" : "Pathologic M", - "notes" : "**Note 1:** In-transit metastasis are coded in N (regional lymph nodes).\n\n**Note 2:** Nodes in contiguous (secondary) and bidirectional (cephalad/caudal) primary nodal basins are coded in N (regional lymph nodes).", - "last_modified" : "2018-05-14T21:29:01.416Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nNote: M1 has subcategories of M1a, M1b and M1c. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS\n\nStated as M1 [NOS]" ], [ "c1A", "cM1a", "Skin, subcutaneous tissues or non-regional lymph node(s)", "CLINICAL assessment only:\nDistant lymph node(s)\n\nMetastasis to skin or subcutaneous tissue\n\nStated as M1a" ], [ "c1B", "cM1b", "Lung", "CLINICAL assessment only:\nMetastasis to lung plus distant lymph node(s) or skin or subcutaneous tissue\n\nStated as M1b" ], [ "c1C", "cM1c", "Other site(s)", "CLINICAL assessment only:\nDistant metastasis to all other visceral sites WITH or WITHOUT distant lymph node(s), skin or subcutaneous tissue, or lung\n \nCarcinomatosis\n\nStated as M1c" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nNote: M1 has subcategories of M1a, M1b and M1c. Assign M1 only when there is no information available to assign one of the subcategories\n\nDistant metastasis, NOS" ], [ "p1A", "pM1a", "Skin, subcutaneous tissues or non-regional lymph node(s)", "HISTOLOGICALLY confirmed:\nDistant lymph node(s)\n\nMetastasis to skin or subcutaneous tissue" ], [ "p1B", "pM1b", "Lung", "HISTOLOGICALLY confirmed:\nMetastasis to lung plus distant lymph node(s) or skin or subcutaneous tissue" ], [ "p1C", "pM1c", "Other site(s)", "HISTOLOGICALLY confirmed:\nDistant metastasis to all other visceral sites WITH or WITHOUT distant lymph node(s), skin or subcutaneous tissue, or lung \n\nCarcinomatosis" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_major_salivary_glands_13003.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_major_salivary_glands_13003.json deleted file mode 100644 index d9bc2d435..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_major_salivary_glands_13003.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_major_salivary_glands_13003", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Major Salivary Glands", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n Mediastinal (excluding superior mediastinal nodes)", - "last_modified" : "2018-05-14T21:29:01.168Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed \nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n \nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_net_ampulla_22136.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_net_ampulla_22136.json deleted file mode 100644 index aacaf19ca..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_net_ampulla_22136.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_m_net_ampulla_22136", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M NET Ampulla", - "title" : "Pathologic M", - "notes" : "**Distant lymph nodes**\n\n At tail of pancreas\n Para-aortic\n Splenic", - "last_modified" : "2018-05-14T21:29:01.709Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis, including: \n Seeding of peritoneum, even if limited to the lesser sac region; positive peritoneal cytology\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis, including: \n Seeding of peritoneum, even if limited to the lesser sac region; positive peritoneal cytology\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nStated as M1" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_m_soft_tissues_96225.json b/src/test/resources/algorithms/tnm/2.0/tables/path_m_soft_tissues_96225.json deleted file mode 100644 index 20928f26f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_m_soft_tissues_96225.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "path_m_soft_tissues_96225", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path M Soft Tissues", - "title" : "Pathologic M", - "last_modified" : "2018-05-14T21:29:03.277Z", - "definition" : [ { - "key" : "path_m", - "name" : "Pathologic M", - "type" : "INPUT" - }, { - "key" : "path_m_display", - "name" : "Pathologic M Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "c0", "cM0", "No distant metastasis", "Unknown; distant metastasis not stated\nDistant metastasis cannot be assessed\nNot documented in patient record" ], [ "c1", "cM1", "Distant metastasis", "CLINICAL assessment only:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS\n\nStated as M1" ], [ "p1", "pM1", "Distant metastasis", "HISTOLOGICALLY confirmed:\nDistant lymph nodes, NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo pathologic workup for T and N categories and no pathologic evidence of metastasis \nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_adrenal_gland_53740.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_adrenal_gland_53740.json deleted file mode 100644 index 848a9fb03..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_adrenal_gland_53740.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_n_adrenal_gland_53740", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Adrenal Gland", - "title" : "Pathologic N", - "notes" : "**Note:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n\n Aortic, NOS\n Para-aortic\n Periaortic\n Pericaval, NOS\n Paracaval\n Precaval \n Retocaval\n Retroperitoneal, NOS", - "last_modified" : "2018-05-14T21:29:03.545Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "No regional lymph node involvement" ], [ "p1", "pN1", "Metastasis in regional lymph node(s)", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_bladder_46197.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_bladder_46197.json deleted file mode 100644 index a442fb5ec..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_bladder_46197.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_n_bladder_46197", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Bladder", - "title" : "Pathologic N", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 2:** Regional lymph nodes for the bladder are the nodes of the true pelvis, which essentially are the pelvic nodes below the bifurcation of the common iliac arteries, but include the lymph nodes along the common iliac artery too. Laterality does not affect the N classification.\n\n**Regional lymph nodes**\n\n N1 (single) or N2 (multiple): Lymph nodes in the true pelvis\n Perivesical\n Iliac\n Internal (hypogastric)\n Obturator\n External\n Iliac, NOS\n Sacral (lateral, presacral, sacral promontory (Gerota's), or NOS)\n Pelvic, NOS\n \n Regional lymph nodes, NOS\n Lymph nodes, NOS\n\n N3:Single or multiple\n Common iliac lymph node(s)", - "last_modified" : "2018-05-14T21:29:03.461Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Metastasis in a single lymph node in the true \npelvis: \n Hypogastric \n Obturator \n External iliac\n Presacral", "Not stated if single or multiple\n\nStated as N1" ], [ "p2", "pN2", "Metastasis in multiple lymph nodes in the true pelvis:\n Hypogastric \n Obturator \n External iliac\n Presacral", "MULTIPLE regional lymph nodes\n \nStated as N2" ], [ "p3", "pN3", "Metastasis in a common iliac lymph node(s)", "Common iliac lymph node(s)\n\nStated as N3" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_bone_31243.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_bone_31243.json deleted file mode 100644 index 7a7788648..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_bone_31243.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_n_bone_31243", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Bone", - "title" : "Pathologic N", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 2:** Regional lymph nodes are defined as those in the vicinity of the primary tumor.", - "last_modified" : "2018-05-14T21:29:01.351Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_conjunctiva_84900.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_conjunctiva_84900.json deleted file mode 100644 index 5d4470977..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_conjunctiva_84900.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_n_conjunctiva_84900", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Conjunctiva", - "title" : "Pathologic N", - "notes" : "**Regional lymph nodes**\n\n Cervical, NOS\n Submandibular (submaxillary)\n Parotid, NOS\n Infra-auricular\n Preauricular", - "last_modified" : "2018-05-14T21:29:01.656Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph node metastasis cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dab.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dab.json deleted file mode 100644 index 7cf1e30e1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dab.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dab", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Anus", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 12 or more lymph nodes; histological examination of an inguinal lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 108", - "last_modified" : "2018-05-14T21:29:02.640Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Metastasis in perirectal lymph node(s)", "Unilateral or bilateral:\n Anorectal\n Inferior hemorrhoidal\n Lateral sacral (laterosacral)\n Perirectal\n\nRegional lymph node(s), NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "p2", "pN2", "Metastasis in unilateral internal iliac AND/OR\nUnilateral inguinal lymph node(s)", "Unilateral:\n Internal iliac (hypogastric)\n Obturator\n Superficial inguinal (femoral)\n\nStated as N2" ], [ "p3", "pN3", "Metastasis in perirectal and inguinal lymph nodes AND/OR\nBilateral internal iliac AND/OR\nBilateral inguinal lymph nodes", "Bilateral:\n Internal iliac (hypogastric)\n Obturator\n Superficial inguinal (femoral)\n\nStated as N3" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dai.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dai.json deleted file mode 100644 index c8a77d3f8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dai.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dai", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Lung", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of hilar and mediastinal lymphadenectomy specimen(s) will ordinarily include 6 or more lymph nodes/stations. Three of these nodes/stations should be mediastinal, including the subcarinal nodes and 3 from N1 nodes/stations. Labeling according to the IASLC chart and table of definitions given in the TNM supplement is desirable. If all the lymph nodes examined are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Vocal cord paralysis (resulting from involvement of the recurrent branch of the vagus nerve), superior vena cava (SVC) obstruction, or compression of the trachea or the esophagus, may be related to direct extension of the primary tumor or to lymph node involvement. The treatment options and prognosis associated with these manifestations of disease extent fall within the T4-Stage IIIB category; therefore, generally assign T4 for these manifestations and not regional lymph nodes. \n* If the primary tumor is peripheral and clearly unrelated to vocal cord paralysis, SVC obstruction, or compression of the trachea or the esophagus, assign N2 for mediastinal lymph node involvement, unless there is a statement of involvement by direct extension from the primary tumor", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 142", - "last_modified" : "2018-05-14T21:29:03.155Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph node(s) cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Metastasis in ipsilateral peribronchial and/or ipsilateral hilar lymph nodes and intrapulmonary nodes, including involvement by direct extension", "Regional lymph nodes, ipsilateral:\n Bronchial\n Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n Intrapulmonary nodes, including involvement by direct extension:\n Interlobar\n Lobar\n Segmental\n Subsegmental\nPeri/parabronchial \n\nRegional lymph node(s), NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "p2", "pN2", "Metastasis in ipsilateral mediastinal and/or subcarinal lymph node(s)", "Regional lymph nodes, ipsilateral:\n Aortic (above diaphragm), NOS:\n Peri/para-aortic, NOS:\n Ascending aorta (phrenic)\n Subaortic (aortico-pulmonary window)\n Carinal (tracheobronchial) (tracheal bifurcation)\n Mediastinal, NOS:\n Anterior\n Posterior (tracheoesophageal)\n Pericardial\n Peri/paraesophageal\n Peri/paratracheal, NOS:\n Azygos (lower peritracheal)\n Pre- and retrotracheal, NOS:\n Precarinal\n Pulmonary ligament\n Subcarinal \n\nStated as N2" ], [ "p3", "pN3", "Metastasis in contralateral mediastinal, contralateral hilar, ipsilateral or contralateral scalene, or supraclavicular lymph node(s)", "Contralateral/bilateral hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\nContralateral/bilateral mediastinal \nScalene (inferior deep cervical), ipsilateral or contralateral\nSupraclavicular (transverse cervical), ipsilateral or contralateral\n\nStated as N3" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_daj.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_daj.json deleted file mode 100644 index 933207724..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_daj.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_daj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Breast", - "title" : "Pathologic N", - "notes" : "**Note 1:** The pathologic classification requires the resection and examination of at least the low axillary lymph nodes (Level I). Such a resection will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes such as cervical (excluding supraclavicular) or contralateral axillary and/or contralateral internal mammary are coded in M (distant metastasis).\n\n**Note 3:** Excisional biopsy of a lymph node or biopsy of a sentinel node, in the absence of assignment of a pT, is classified as a clinical N, e.g., cN1. Pathologic classification (pN) is used for excision or sentinel lymph node biopsy only in conjunction with a pathologic T assignment. \n\n**Note 4:** The breast lymphatics drain by way of three major routes: axillary, transpectoral, and internal mammary. Internal mammary lymph nodes reside within breast tissue and are coded as axillary lymph nodes for staging purposes. Supraclavicular lymph nodes are classified as regional lymph nodes for staging purposes. \n\n**Note 5:** Assign N1 if regional lymph nodes are involved but there is no indication of the number of nodes involved.\n\n**Axillary (ipsilateral):** Interpectoral Rotter nodes and lymph nodes along the axillary vein and its tributaries, which may be divided into the following levels \n\n Level I (low-axilla)\n Lymph nodes lateral to the lateral border of pectoralis minor muscle\n Level II (mid-axilla): lymph nodes between: \n Medial lateral borders of the pectoralis minor muscle and interpectoral (Rotter's) lymph nodes\n Level III (apical axilla)\n Lymph nodes medial to the medial margin of the pectoralis minor muscle and inferior to the clavicle\n Infraclavicular (subclavicular) nodes\n The infraclavicular designation may be used for level III nodes to differentiate these nodes from the remaining \n level I and II axillary nodes\n \n**Internal mammary (ipsilateral)** \n\n Lymph nodes in the intercostal spaces along the end of the sternum in the endothoracic fascia\n\n**Supraclavicular (ipsilateral)** \n\n Lymph nodes in the supraclavicular fossa: A triangle defined by the omohyoid muscle and tendon (lateral and superior border) \n \n**Intrammary** \n\n Lymph nodes within the breast: Intrammary lymph nodes are coded as axillary lymph nodes level I\n\n**Note 6:** Micrometastases are defined as tumor deposits greater than 0.2 millimeter (mm) but not greater than 2.0 mm in largest dimension. Macrometastases are tumor deposits greater than 2.0 mm. All nodes with at least micrometastases are included in the count of positive lymph nodes, but at least one node must contain a macrometastasis for assignment of a pathologic N category greater than pN1mi.\n\n**Note 7:** If the pathology report indicates that nodes are positive but size of the metastases is not stated, assume the metastases are greater than 0.2 mm and code the lymph nodes as positive in this field. \n\n**Note 8:** Isolated tumor cells (ITC) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected only by immunohistochemical (IHC) or molecular methods but which may be verified on hematoxylin and eosin (H and E) stains. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). Lymph nodes with ITCs only are not classified as positive lymph nodes. If the record only states N0(i+), assign N0 and see Site-Specific Factor 4.(2)", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 187\n\n(2) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 188", - "last_modified" : "2018-05-14T21:29:02.493Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed (e.g., previously removed, or not removed for pathological study)", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "Regional lymph nodes negative on routine hematoxylin and eosin (H and E)\nNo immunohistochemistry (IHC) OR unknown if tested for isolated tumor cells (ITCs) by IHC studies\nNo RT-PCR molecular (MOL) studies done OR unknown if RT-PCR studies done\n\nNodes clinically negative, not examined pathologically\n\nStated as N0" ], [ "p0I-", "pN0(i-)", "No regional lymph node metastasis histologically, negative morphological findings for ITC", "See also Site-Specific factor 4\n\nStated as N0(i-)" ], [ "p0I+", "pN0(i+)", "No regional lymph node metastasis histologically, positive morphological findings for ITC", "See also Site-Specific factor 4\n\nStated as N0(i+)" ], [ "p0M-", "pN0(mol-)", "No regional lymph node metastasis histologically, negative non-morphological findings for ITC", "See also Site-Specific factor 5\n\nStated as N0(mol-)" ], [ "p0M+", "pN0(mol+)", "No regional lymph node metastasis histologically, positive non-morphological findings for ITC", "See also Site-Specific factor 5\n\nStated as N0(mol+)" ], [ "p1", "pN1", "Micrometastasis; OR\n\nMetastasis in 1-3 axillary ipsilateral lymph nodes; and/or in internal mammary nodes with metastasis detected by sentinel lymph node biopsy but not clinically detected", "Note: N1 has subcategories of N1mi, N1a, N1b and N1c. Assign N1 only when there is no information available to assign one of the subcategories.\n\nMovable axillary lymph node(s), ipsilateral, positive with more than micrometastasis \n(At least one metastasis greater than 2 mm)\n\nNote: Axillary lymph nodes refer only to Level I and II axillary nodes, see N3 (sub)categories for involvement of Level III nodes\n\nStated as N1 [NOS]" ], [ "p1MI", "pN1mi", "Micrometastasis (larger than 0.2 mm and/or more than 200 cells, but none larger than 2.0 mm)", "Axillary lymph node(s), ipsilateral, micrometastasis ONLY detected by IHC or H&E\n(At least one micrometastasis greater than 0.2 mm or more than 200 cells \nAND all micrometastases less than or equal to 2 mm)\n\nMicrometastasis, NOS\n\nNote: Axillary lymph nodes refer only to Level I and II axillary nodes, see N3 (sub)categories for involvement of Level III nodes\n\nStated as N1mi" ], [ "p1A", "pN1a", "Metastasis in 1-3 axillary lymph node(s), including at least 1 larger than 2 mm in greatest dimension", "Note: Axillary lymph nodes refer only to Level I and II axillary nodes, see N3 (sub)categories for involvement of Level III nodes\n\nStated as N1a" ], [ "p1B", "pN1b", "Internal mammary lymph nodes with microscopic or macroscopic metastasis detected by sentinel lymph node biopsy but not clinically detected", "Internal mammary node(s), ipsilateral, positive on sentinel nodes but not clinically apparent (No positive imaging or clinical exam) WITHOUT or UNKNOWN axillary lymph node(s), ipsilateral\n\nNote: Axillary lymph nodes refer only to Level I and II axillary nodes, see N3 (sub)categories for involvement of Level III nodes\n\nStated as N1b" ], [ "p1C", "pN1c", "Metastasis in 1-3 axillary lymph nodes and internal mammary lymph nodes with microscopic or macroscopic metastasis detected by sentinel lymph node biopsy but not clinically detected", "Note: Axillary lymph nodes refer only to Level I and II axillary nodes, see N3 (sub)categories for involvement of Level III nodes\n\nStated as N1c" ], [ "p2", "pN2", "Metastasis in 4-9 ipsilateral axillary lymph nodes, or in clinically detected ipsilateral internal mammary lymph node(s) in the absence of axillary lymph node metastasis", "Note: N2 has subcategories of N2a and N2b. Assign N2 only when there is no information available to assign one of the subcategories.\n\nStated as N2 [NOS]" ], [ "p2A", "pN2a", "Metastasis in 4-9 axillary lymph nodes, including at least one that is larger than 2 mm", "Note: Axillary lymph nodes refer only to Level I and II axillary nodes, see N3 (sub)categories for involvement of Level III nodes\n\nStated as N2a" ], [ "p2B", "pN2b", "Metastasis in clinically detected internal mammary lymph node(s), in the absence of axillary lymph node metastasis", "Internal mammary node(s), ipsilateral, clinically apparent (on imaging or clinical exam) WITH or WITHOUT axillary lymph node(s), ipsilateral\n\nFixed/matted ipsilateral axillary nodes clinically with pathologic involvement of lymph nodes WITH at least one metastasis greater than 2 mm\n\nInternal mammary node(s), ipsilateral, positive on sentinel nodes but not clinically apparent (No positive imaging or clinical exam) WITH axillary lymph node(s), ipsilateral\n\nNote: Axillary lymph nodes refer only to Level I and II axillary nodes, see N3 (sub)categories for involvement of Level III nodes\n\nStated as N2b" ], [ "p3", "pN3", "Metastasis as described below", "Note: N3 has subcategories of N3a, N3b and N3c. Assign N3 only when there is no information available to assign one of the subcategories.\n\nStated as N3 [NOS]" ], [ "p3A", "pN3a", "Metastasis in 10 or more axillary lymph nodes (at least one larger than 2 mm) OR\n\nMetastasis in infraclavicular lymph nodes", "Infraclavicular lymph node(s)(subclavicular) (level III axillary nodes) (apical), ipsilateral WITH or WITHOUT axillary node(s) WITHOUT internal mammary node(s)\n\nStated as N3a" ], [ "p3B", "pN3b", "Metastasis in clinically detected internal ipsilateral mammary lymph node(s) in the presence of positive axillary lymph node(s); OR\n\nMetastasis in more than 3 axillary lymph nodes and in internal mammary lymph nodes with microscopic or macroscopic metastasis detected by sentinel lymph node biopsy but not clinically detected", "Internal mammary node(s), ipsilateral, clinically apparent (On imaging or clinical exam) AND WITH or WITHOUT axillary lymph node(s), ipsilateral WITH or WITHOUT infraclavicular (level III axillary nodes) (apical) lymph nodes involved\n\nStated as N3b" ], [ "p3C", "pN3c", "Metastasis in ipsilateral supraclavicular lymph node(s)", "Stated as N3c" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dak.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dak.json deleted file mode 100644 index 6ce5af8ae..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dak.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dak", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Stomach", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 16 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Assign N1 if regional lymph nodes are involved but there is no indication of the number of nodes involved.\n\n**Note 4:** Assign as regional node metastases when there are metastatic nodules in the fat adjacent to a gastric carcinoma WITHOUT evidence of residual lymph node tissue; assign as M (distant metastases) for nodules implanted on peritoneal surfaces.\n\n**Regional lymph nodes**\n\n Celiac\n Hepatic \n Hepatoduodenal (for lesser curvature) \n Left gastric (superior gastric), NOS\n Cardial\n Cardioesophageal\n Gastric, left\n Gastropancreatic, left\n Lesser curvature\n Lesser omental\n Paracardial\n Nodule(s) in perigastric fat \n Pancreaticosplenic (pancreaticolienal)\n Pancreaticoduodenal\n Perigastric, NOS\n Peripancreatic\n Right gastric (inferior gastric), NOS\n Gastrocolic\n Gastroduodenal\n Gastroepiploic (gastro-omental), right or NOS\n Gastrohepatic\n Greater curvature\n Greater omental\n Pyloric, NOS: infrapyloric, subpyloric, suprapyloric\n Splenic (lienal), NOS\n Gastroepiploic (gastro-omental), left\n Splenic hilar\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 76", - "last_modified" : "2018-05-14T21:29:01.125Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Metastasis in 1-2 regional lymph nodes", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "p2", "pN2", "Metastasis in 3-6 regional lymph nodes", "Stated as N2" ], [ "p3", "pN3", "Metastasis in 7 or more regional lymph nodes", "Note: N3 has subcategories of N3a and N3b. Assign N3 only when there is no information available to assign one of the subcategories\n\nStated as N3 [NOS]" ], [ "p3A", "pN3a", "Metastasis in 7-15 regional lymph nodes", "Stated as N3a" ], [ "p3B", "pN3b", "Metastasis in 16 or more regional lymph nodes", "Stated as N3b" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dam.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dam.json deleted file mode 100644 index d813f36e3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dam.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dam", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Melanoma Skin", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Any finding of melanoma in lymph nodes, regardless of size and including isolated tumor cells (ITCs), are coded as positive lymph nodes.\n* Assign N1 If only ITCs are present\n\n**Note 4:** Bilateral or contralateral nodes are classified as regional nodes for head, neck, and truncal tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. Truncal tumors may also drain to both cephalad and caudal primary nodal basins as shown on lymphoscintigraphy.\n* Clinical assessment of bilateral/contralateral or cephalad/caudal regional nodal involvement is required for tumors where lymphoscintigraphy is not performed\n\n\n **Note 5:** Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins. Secondary basins are regional for TNM staging.\n\n**Note 6:** Assign N2c if there are satellite(s) or in-transit metastasis without regional lymph node involvement. Assign N3 if both satellite nodules/in-transit metastases and regional lymph nodes are present. \n\n**Regional lymph nodes by skin primary site**\n* Head and Neck sites include bilateral or contralateral nodes\n\n**Lip (C440)**\n \n Cervical\n Facial, NOS \n Buccinator (buccal) \n Nasolabial \n Mandibular, NOS \n Parotid, NOS \n Infra-auricular \n Preauricular \n Submental \n Submandibular (submaxillary) \n \n**External ear/auditory canal (C442)**\n \n Cervical\n Mastoid (post-/retro-auricular) (occipital) \n Preauricular \n \n**Face, Other (cheek, chin, forehead, jaw, nose and temple) (C443)** \n \n Cervical\n Facial, NOS \n Buccinator (buccal) \n Nasolabial \n Mandibular, NOS \n Parotid, NOS \n Infra-auricular \n Preauricular \n Submental\n Submandibular (submaxillary) \n \n**Scalp (C444)** \n \n Mastoid (post-/retro-auricular) (occipital) \n Parotid, NOS \n Infra-auricular \n Preauricular \n Spinal accessory (posterior cervical)\n \n**Neck (C444)**\n \n Axillary \n Mandibular, NOS \n Mastoid (post-/retro-auricular) (occipital) \n Parotid, NOS \n Infra-auricular \n Preauricular \n Spinal accessory (posterior cervical) \n Submental \n Supraclavicular (transverse cervical) \n \n**Trunk (C445)** \n \n Axillary \n Cervical \n Internal mammary (parasternal)\n Femoral (superficial inguinal) \n Supraclavicular (transverse cervical) \n \n**Arm/Shoulder (C446)**\n \n Axillary \n Epitrochlear for hand/forearm \n Spinal accessory for shoulder \n \n**Leg/Hip (C447)**\n \n Femoral (superficial inguinal) \n Popliteal for heel and calf \n \n **Bidirectional nodal involvement (includes bilateral or contralateral nodes)**\n\n Upper Trunk: Femoral (or cephalad/caudal drainage from primary tumor) \n Lower Trunk: Axillary (or cephalad/caudal drainage from primary tumor)\n \n**Secondary nodal basin involvement (includes bilateral or contralateral nodes)**\n \n Head and Neck: Supraclavicular \n Arm/Shoulder: Supraclavicular \n Leg/Hip: Iliac \n All sites: Regional lymph node(s) in secondary nodal basins, NOS", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 174", - "last_modified" : "2018-05-14T21:29:02.795Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "No regional lymph node involvement " ], [ "p1", "pN1", "Metastasis in one regional lymph node", "Note: N1 has subcategories of N1a and N1b. Assign N1 only when there is no information available to assign one of the subcategories\n\nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1 [NOS]" ], [ "p1A", "pN1a", "Only microscopic metastasis (clinically occult)", "One positive node identified by sentinel lymph node OR after completion of lymphadenectomy\n\nStated as N1a" ], [ "p1B", "pN1b", "Macroscopic metastasis (clinically apparent)", "One positive node clinically detected and confirmed by lymphadenectomy OR when there is gross extracapsular extension\n\nStated as N1b" ], [ "p2", "pN2", "Metastasis in two or three regional lymph nodes or satellite(s) or in-transit metastasis", "Note: N2 has subcategories of N2a, N2b and N2c. Assign N2 only when there is no information available to assign one of the subcategories\n\nStated as N2 [NOS]" ], [ "p2A", "pN2a", "Only microscopic nodal metastasis", "Two to three nodes identified by sentinel lymph node OR after completion of lymphadenectomy\n\nStated as N2a" ], [ "p2B", "pN2b", "Macroscopic nodal metastasis", "Two to three nodes clinically detected and confirmed by lymphadenectomy OR when there is gross extracapsular extension\n\nStated as N2b" ], [ "p2C", "pN2c", "Satellite(s) or in-transit metastasis WITHOUT regional nodal metastasis", "Satellite nodule(s) or in transit metastasis, distance from primary tumor less than or equal to 2 cm or distance not stated WITHOUT regional lymph node involvement. \n\nDescribed as tumor with satellite nodule(s) or in transit metastasis, NOS WITHOUT regional lymph node involvement\n\nStated as N2c" ], [ "p3", "pN3", "Metastasis in four or more regional lymph nodes, or matted metastatic regional lymph nodes, or satellite(s) or in-transit metastasis with metastasis in regional lymph node(s)", "Matted lymph nodes\n\nSatellite nodule(s) or in-transit metastases WITH regional lymph nodes\n\nStated as N3" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dan.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dan.json deleted file mode 100644 index b53a049c8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dan.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dan", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Colon", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 12 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS in this field. Note 3 specifies when to code certain tumor deposits (TD) here. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Per UICC, \"Tumor deposits (satellites), i.e., macroscopic or microscopic nests or nodules, in the pericolorectal adipose tissue's lymph drainage area of a primary carcinoma without histological evidence of residual lymph node in the nodule, may represent discontinuous spread, venous invasion with extravascular spread (V1/2) or a totally replaced lymph node (N1/2). If such deposits are observed with lesions that would otherwise be classified as T1 or T2, then the T classification is not changed, but the nodule(s) is recorded as N1c. If a nodule is documented by the pathologist to be a totally replaced lymph node (generally having a smooth contour), it should be recorded as a positive lymph node and not as a satellite, and each nodule should be counted separately as a lymph node in the final pN determination.\" (2)\n\n**Note 4:** Assign N1 if regional lymph nodes are involved but there is no indication of the number of nodes involved.\n\n**Regional lymph nodes**\n \n**All colon sites** \n\n Colic [NOS] \n Epicolic (adjacent to bowel wall) \n Mesocolic [NOS] \n Mesenteric [NOS]\n Paracolic/pericolic\n\n Lymph nodes, NOS\n Regional lymph nodes, NOS\n\n**Cecum (C180)** \n\n Anterior (prececal) \n Cecal [NOS]\n Ileocolic\n Periappendiceal\n Posterior (retrocecal)\n Right colic \n\n**Ascending colon (C182)** \n\n Ileocolic\n Middle colic\n Right colic\n\n**Hepatic flexure (C183)** \n\n Middle colic \n Right colic\n\n**Transverse colon (C184)** \n\n Inferior mesenteric \n Left colic \n Middle colic \n Right colic\n\n**Splenic flexure (C185)** \n\n Inferior mesenteric \n Left colic \n Middle colic\n\n**Descending colon (C186)** \n\n Inferior mesenteric \n Left colic \n Sigmoid \n\n**Sigmoid colon (C187)** \n\n Inferior mesenteric \n Left colic \n Rectosigmoid \n Sigmoid \n Sigmoidal (sigmoid mesenteric) \n Superior hemorrhoidal (hemorrhoidal)\n Superior rectal", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 104\n\n(2) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 103", - "last_modified" : "2018-05-14T21:29:00.887Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "No tumor deposits (TD)" ], [ "p1", "pN1", "Metastasis in 1-3 regional lymph nodes", "Note: N1 has subcategories of N1a, N1b and N1c. Assign N1 only when there is no information available to assign one of the subcategories\n\nStated as N1 [NOS]" ], [ "p1A", "pN1a", "Metastasis in 1 regional lymph node", "Stated as N1a" ], [ "p1B", "pN1b", "Metastasis in 2-3 regional lymph nodes", "Stated as N1b" ], [ "p1C", "pN1c", "Tumor deposit(s), i.e., satellites in the subserosa, or in non-peritonealized pericolic or perirectal\nsoft tissue WITHOUT regional lymph node metastasis", "(See Note 2)\n\nStated as N1c" ], [ "p2", "pN2", "Metastasis in 4 or more regional lymph nodes", "Note: N2 has subcategories of N2a and N2b. Assign N2 only when there is no information available to assign one of the subcategories\n\nStated as N2 [NOS]" ], [ "p2A", "pN2a", "Metastasis in 4-6 regional lymph nodes", "Stated as N2a" ], [ "p2B", "pN2b", "Metastasis in 7 or more regional lymph nodes", "Stated as N2b" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dat.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dat.json deleted file mode 100644 index 5848970bd..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dat.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dat", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Esophagus", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional lymph nodes and lymph nodes, NOS in this field. Distant lymph nodes are coded in M (distant metastasis).\n\n**Note 3:** Assign N1 if regional lymph nodes are involved but there is no indication of the number of nodes involved.\n\n**Note 4:** Regional lymph nodes for any part of the esophagus fall in the range from periesophageal/cervical to the celiac region. Contralateral and bilateral cervical, supraclavicular, and mediastinal lymph nodes are included. However, some nodal chains in this large area are partially regional and partially distant because they include both nodes that are close to the esophagus toward the body's midline and nodes that run laterally away from the esophagus or perpendicular to it. Regional nodes are those that lie in the bed of the esophagus. \n\n*Examples* \n\n Regional supraclavicular nodes (level 1) \n Regional pulmonary ligament nodes (level 9)\n Regional hilar tracheobronchial nodes (level 10)\n Regional diaphragmatic nodes (level 15) \n\n* These nodes are closest to the esophagus; nodes in these chains that are further from the esophagus are distant\n\n* Medical record terminology is unlikely to be so specific in describing involved node locations, so try to correlate involved node information with staging statements that indicate whether the nodes were classified as regional or distant by the physicians; lacking such physician guidance, presume regional nodes. If the record just indicates involvement of supraclavicular nodes, for example, and there is no further information available, presume that the involved nodes were close to the esophagus and regional\n\n**Note 5:** Imaging studies often refer to involved nodes in the gastrohepatic ligament or at the gastrohepatic level for esophageal primaries. Code as left gastric nodes if there is no more specific information.\n\n**Regional Lymph Nodes for Esophagus (including contralateral or bilateral)** \n\n**All esophagus subsites**\n\n Anterior mediastinal (6)\n Mediastinal, NOS\n Peri-/paraesophageal (8L, 8M)\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS\n\n\n**Cervical esophagus (C150)**\n\n Anterior deep cervical (laterotracheal) (recurrent laryngeal)\n Anterior mediastinal (6)\n Aortopulmonary (5)\n Cervical, NOS \n Cervical (deep), NOS\n Diaphragmatic (15)\n Internal jugular, NOS\n Jugulodigastric (subdigastric)\n Mediastinal, NOS\n Para-aortic (ascending aorta or phrenic)\n Paratracheal (2R, 2L, 4R, 4L)\n Posterior mediastinal (3P)\n Pulmonary ligament (9)\n Scalene (inferior deep cervical) (1)\n Subaortic\n Supraclavicular (transverse cervical) (1) \n Superior mediastinal\n \n**Upper thoracic esophagus (C151, C153)**\n\n Cervical lymph nodes\n\n**Lower thoracic (abdominal) esophagus (C152, C155)**\n\n Aortopulmonary (5)\n Diaphragmatic (15)\n Celiac lymph nodes (20)\n Left gastric (superior gastric) (17): cardiac (cardial), lesser curvature, perigastric, NOS\n Para-aortic (ascending aorta or phrenic)\n Paratracheal (2R, 2L, 4R, 4L)\n Posterior mediastinal (3P) (tracheoesophageal)\n Pulmonary ligament (9)\n Subaortic \n Superior mediastinal\n \n**Intrathoracic esophagus, upper (C153) or middle (C154)**\n\n Aortopulmonary (5)\n Carinal (tracheobronchial) (10R,10L) (tracheal bifurcation)\n Cervical: deep (NOS), lower (NOS), middle (NOS), upper (NOS)\n Diaphragmatic (15)\n Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n Internal jugular, NOS\n Intrabronchial, NOS\n Jugulo-omohyoid (supraomohyoid)\n Jugulodigastric (subdigastric)\n Left gastric (superior gastric) (17): cardiac (cardial), lesser curvature, perigastric (NOS)\n Para-aortic (ascending aorta or phrenic)\n Peritracheal\n Posterior mediastinal (tracheoesophageal) \n Pulmonary ligament (9) \n Superior mediastinal", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 69", - "last_modified" : "2018-05-14T21:29:03.441Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Metastasis in 1-2 regional lymph nodes", "Stated as N1" ], [ "p2", "pN2", "Metastasis in 3-6 regional lymph nodes", "Stated as N2" ], [ "p3", "pN3", "Metastasis in 7 or more regional lymph nodes", "Stated as N3" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dau.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dau.json deleted file mode 100644 index f2c33cf40..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dau.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dau", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Liver", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 3 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n\n Hepatic, NOS\n Hepatic artery\n Hepatic pedicle\n Inferior vena cava\n Porta hepatis (hilar) (in hilus of liver)\n Hepatoduodenal ligament\n Inferior phrenic\n \n Periportal\n Portal vein", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 112", - "last_modified" : "2018-05-14T21:29:00.300Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metasasis", "No regional lymph node involvement" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph node(s), NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dav.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dav.json deleted file mode 100644 index 4abce044c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dav.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dav", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Gallbladder", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 3 or more regional lymph nodes. If the regional lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Periaortic, pericaval, superior mesenteric artery, and celiac artery lymph nodes are coded to N2.", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 52\n\n\\* N2 is not defined by UICC in the 7th edition. Approval has been provided by UICC to use the definition from the AJCC 7th edition, which is documented in the registrar notes.", - "last_modified" : "2018-05-14T21:29:02.512Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph node(s) cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis (including nodes along the cystic duct, common bile duct, common hepatic artery, and portal vein)", "Regional lymph nodes:\n Cystic duct (Calot's node)\n Node of foramen of Winslow (omental) (epiploic)\n Pancreaticoduodenal\n Pericholedochal (common bile duct)\n Periduodenal\n Peripancreatic (near head of pancreas only)\n Porta hepatis (portal)(periportal) (hilar) (in hilus of liver)\n\nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "p2", "pN2", "Not defined by UICC*", "Metastasis to periaortic, pericaval, superior mesenteric artery, and/or celiac artery lymph nodes\n\nStated as N2" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_daw.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_daw.json deleted file mode 100644 index 8bcee5eb2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_daw.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_daw", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Small Intestine", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Assign N1 if regional lymph nodes are involved but there is no indication of the number of nodes involved.\n\n**Note 4:** Assign the appropriate N category based on the number of positive nodes. \n\n**Regional lymph nodes for small intestine**\n\n**All small intestine sites**\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS\n\n**Duodenum primaries only (C170)**\n\n Duodenal\n Gastroduodenal\n Hepatic\n Pancreaticoduodenal\n Pericholodochal (common bile duct)\n Pyloric: infrapyloric, subpyloric\n Superior mesenteric\n \n**Jejunum primaries only (C171)**\n\n Mesenteric, NOS:\n Superior mesenteric\n\n**Ileum primaries only (C172)**\n\n Cecal (anterior, posterior, retrocecal) \n Ileocecal \n Mesenteric, NOS\n Superior mesenteric", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 84", - "last_modified" : "2018-05-14T21:29:02.906Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Metastasis in 1-3 regional lymph nodes", "Stated as N1" ], [ "p2", "pN2", "Metastasis in 4 or more regional lymph nodes", "Stated as N2" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dax.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dax.json deleted file mode 100644 index b547c0818..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dax.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dax", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Rectum", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 12 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met. classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS in this field. Note 4 specifies when to code certain tumor deposits (TD) here. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Assign N1 if regional lymph nodes are involved but there is no indication of the number of nodes involved.\n\n**Note 4:** Per UICC, \"Tumor deposits (satellites), i.e., macroscopic or microscopic nests or nodules, in the pericolorectal adipose tissue's lymph drainage area of a primary carcinoma without histological evidence of residual lymph node in the nodule, may represent discontinuous spread, venous invasion with extravascular spread (V1/2) or a totally replaced lymph node (N1/2). If such deposits are observed with lesions that would otherwise be classified as T1 or T2, then the T classification is not changed, but the nodule(s) is recorded as N1c. If a nodule is documented by the pathologist to be a totally replaced lymph node (generally having a smooth contour), it should be recorded as a positive lymph node and not as a satellite, and each nodule should be counted separately as a lymph node in the final pN determination.\" (2)\n\n**Regional lymph nodes** \n\n**All sites** \n\n Haemorrhoidal (hemorrhoidal) (middle, superior) \n Inferior mesenteric \n Mesenteric [NOS] \n Perirectal \n Rectal (middle) \n Rectal [NOS] \n Rectal (superior) \n Rectosigmoid (paracolic/pericolic)\n Sigmoidal (sigmoid mesenteric)\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS\n\n**Rectosigmoid (C199)** \n\n Colic, (NOS) \n Left colic\n \n**Rectum (C209)** \n\n Haemorrhoidal (hemorrhoidal) (inferior) \n Internal iliac (hypogastric) \n Lateral (laterosacral) \n Middle (promontorial) (Gerota's node) \n Obturator\n Presacral\n Rectal (inferior) \n Sacral (NOS)\n Sacral promontory", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 104\n\n(2) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 103", - "last_modified" : "2018-05-14T21:29:00.654Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "No tumor deposits (TD)" ], [ "p1", "pN1", "Metastasis in 1-3 regional lymph nodes", "Note: N1 has subcategories of N1a, N1b and N1c. Assign N1 only when there is no information available to assign one of the subcategories\n\nStated as N1 [NOS]" ], [ "p1A", "pN1a", "Metastasis in 1 regional lymph node", "Stated as N1a" ], [ "p1B", "pN1b", "Metastasis in 2-3 regional lymph nodes", "Stated as N1b" ], [ "p1C", "pN1c", "Tumor deposit(s), i.e., satellites in the subserosa, or in non-peritonealized pericolic or perirectal\nsoft tissue WITHOUT regional lymph node metastasis", "Tumor deposit(s), i.e., satellites, in the subserosa, or in non-peritonealized pericolic or perirectal soft tissue without regional lymph node metastasis\n(See Note 4)\n\nStated as N1c" ], [ "p2", "pN2", "Metastasis in 4 or more regional lymph nodes", "Note: N2 has subcategories of N2a and N2b. Assign N2 only when there is no information available to assign one of the subcategories\n\nStated as N2 [NOS]" ], [ "p2A", "pN2a", "Metastasis in 4-6 regional lymph nodes", "Stated as N2a" ], [ "p2B", "pN2b", "Metastasis in 7 or more regional lymph nodes", "Stated as N2b" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_day.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_day.json deleted file mode 100644 index 35ef0eb72..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_day.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_day", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Ovary", - "title" : "Pathologic N", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and regional lymph node detail are available, use the regional lymph node detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III [NOS] or IIIC, assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is FIGO stage IV, leave T and N blank and see M\n\n**Note 2:** Histological examination of a pelvic lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (FIGO classifies such cases as pNX). (1)\n\n**Note 3:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 4:** Regional nodes include bilateral and contralateral named nodes. \n\n**Regional lymph nodes**\n\n Aortic\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Iliac\n Common iliac\n External iliac\n Internal iliac (hypogastric):\n Obturator \n Inguinal\n Intra-abdominal\n Pelvic\n Subdiaphragmatic\n \n Retroperitoneal, NOS", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 225", - "last_modified" : "2018-05-14T21:29:00.916Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed OR\n Involvement of regional lymph nodes not documented\nPhysician assign pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "Only information available is FIGO Stage I [NOS], IA, IB, IC, II [NOS], IIA, IIB, IIC, IIIA, IIIB" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC, or IV\n\nPathologic classification not met\nNo surgical resection of primary tumor AND\nThere isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_daz.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_daz.json deleted file mode 100644 index be0856f6a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_daz.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_daz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Fallopian Tube", - "title" : "Pathologic N", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and regional lymph node detail are available, use the regional lymph node detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III [NOS] or IIIC, assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is FIGO stage IV, leave T and N blank and see M\n\n**Note 2:** Histological examination of a pelvic lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the examined lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (FIGO classifies such cases as pNX). (1)\n\n**Note 3:** Code only regional nodes and nodes, NOS, in this field. Regional nodes include bilateral and contralateral involvement of named nodes. Distant nodes, including presacral and lateral sacral (laterosacral) nodes, are coded in M (distant metastasis). \n\n**Regional lymph nodes**\n\n Aortic, NOS\n Lateral (lumbar)\n Para-aortic\n Periaortic \n Iliac, NOS\n Common\n External\n Internal (hypogastric)\n Obturator\n Inguinal\n Pelvic, NOS\n Retroperitoneal", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 230", - "last_modified" : "2018-05-14T21:29:00.880Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Reigonal lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed OR\n Involvement of regional lymph nodes not documented\nPhysician assign pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "Only information available is FIGO Stage I [NOS], IA, IB, IC, II [NOS], IIA, IIB, IIC, IIIA, or IIIB" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph node(s), NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC or IV\n\nPathologic classification not met\nNo surgical resection of primary tumor AND\nThere isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dba.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dba.json deleted file mode 100644 index 6e6c38c06..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dba.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dba", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Vagina", - "title" : "Pathologic N", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and regional lymph node detail are available, use the regional lymph node detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III, assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is (pathologic) FIGO stage IVB, leave pathologic T and N blank and see M\n\n**Note 2:** Histological examination of an inguinal lymphadenectomy specimen will ordinarily include 6 or more lymph nodes; a pelvic lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (FIGO classifies such cases as pNX). (1)\n\n**Note 3:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis). \n\n**Regional lymph nodes**\n\n Upper two thirds of vagina, regional nodes\n Pelvic lymph nodes\n Iliac, NOS\n Common\n External\n Internal (hypogastric)\n Obturator\n Middle sacral (promontorial) (Gerota's node)\n Pelvic lymph node(s), NOS\n\n Lower third of vagina, regional nodes\n Ipsilateral or bilateral\n Inguinal, NOS\n Superficial inguinal (femoral)", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 204", - "last_modified" : "2018-05-14T21:29:01.571Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Only information available is FIGO Stage IVA\n\nPathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed OR\n Involvement of regional lymph nodes not documented\nPhysician assign pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastases", "Only information available is FIGO Stage I or II" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III or IVB\n\nPathologic classification not met\nNo surgical resection of primary tumor AND\nThere isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbb.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbb.json deleted file mode 100644 index 84b046a1c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbb.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dbb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Vulva", - "title" : "Pathologic N", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and regional lymph node detail are available, use the regional lymph node detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III [NOS], IIIA, IIIB, IIIC, or IVA, assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is (pathologic) FIGO stage IVB, leave pathologic T and N blank and see M\n\n**Note 2:** Histological examination of an inguinofemoral lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (FIGO classifies such cases as pNX). (1)\n\n**Note 3:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 4:** Assign N1 [NOS] if regional lymph nodes are involved but the number of nodes involved is unknown.\n\n**Note 5:** Assign the appropriate N category based on the number of positive nodes\n\n Deep inguinal, NOS\n Femoral\n Inguinal NOS \n Inguinofemoral (groin) \n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal (femoral) \n\n Regional lymph node(s), NOS\n Lymph nodes, NOS", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 199", - "last_modified" : "2018-05-14T21:29:01.613Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed OR\n Involvement of regional lymph nodes not documented\nPhysician assign pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "Only information available is FIGO Stage I [NOS], IA, IB, II" ], [ "p1", "pN1", "Regional lymph node metastasis with the following features", "Note: N1 has subcategories of N1a and N1b. Assign N1 only when there is no information available to assign one of the subcategories\n\n1 or 2 regional lymph node(s) positive (or number positive unknown) and size of metastasis not given\n\nStated as N1 [NOS]" ], [ "p1A", "pN1a", "1-2 lymph node metastasis each less than 5 mm", "Stated as N1a" ], [ "p1B", "pN1b", "1 lymph node metastasis 5 mm or greater", "Stated as N1b" ], [ "p2", "pN2", "Regional lymph node metastasis with the following features", "Note: N2 has subcategories of N2a and N2b. Assign N2 only when there is no information available to assign one of the subcategories\n\n3 or more regional lymph node(s) positive and size of metastases not given\n\nStated as N2 [NOS]" ], [ "p2A", "pN2a", "3 or more lymph node metastases each less than 5 mm", "3 or more regional lymph nodes positive and size of metastasis in each node less than 5 mm\n\nStated as N2a" ], [ "p2B", "pN2b", "2 or more lymph node metastases 5 mm or greater", "At least 2 lymph node metastases equal to or greater than 5 mm\n\nStated as N2b" ], [ "p2C", "pN2c", "Lymph node metastases with extracapsular spread", "Regional lymph node(s) with extracapsular spread\n\nStated as N2c" ], [ "p3", "pN3", "Fixed or ulcerated regional lymph node metastasis", "Fixed or ulcerated regional lymph nodes\n\nStated as N3" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIA, IIIB, IIIC, IVA, or IVB\n\nPathologic classification not met\nNo surgical resection of primary tumor AND\nThere isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbc.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbc.json deleted file mode 100644 index 4632e90b7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbc.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dbc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Cervix", - "title" : "Pathologic N", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and regional lymph node detail are available, use the regional lymph node detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO IIIB, assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is (pathologic) FIGO stage IVB, leave pathologic T and N blank and see M\n\n**Note 2:** Histological examination of a pelvic lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 3:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 4:** FIGO Stage IIIB is assigned based on primary tumor extension and/or regional lymph node involvement. \n* If it is unknown whether it is based on extension or regional lymph node involvement, assign clinical stage as 3B and leave clinical T, N, and M blank\n\n**Note 5:** If either exploratory or definitive surgery is done with no mention of lymph nodes, assume nodes are negative.\n\n**Note 6:** If the clinician says \"adnexa palpated\" but does not mention lymph nodes, assume lymph nodes are not involved.\n\n**Regional lymph nodes**\n\n Iliac, NOS\n Common\n External\n Internal (hypogastric)\n Obturator\n Paracervical\n Parametrial\n Pelvic, NOS\n Sacral, NOS\n Lateral (laterosacral)\n Middle (promontorial) (Gerota's node)\n Presacral\n Uterosacral\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 210", - "last_modified" : "2018-05-14T21:29:01.148Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph node(s) cannot be assessed", "Only information available is FIGO Stage IVA\n\nPathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed OR\n Involvement of regional lymph nodes not documented\nPhysician assign pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "Only information available is FIGO Stage I (all subcategories), II (all subcategories), III [NOS], IIIA" ], [ "p1", "pN1", "Regional lymph node metastasis", "Stated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage IIIB or IVB\n\nPathologic classification not met\nNo surgical resection of primary tumor AND\nThere isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbj.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbj.json deleted file mode 100644 index 174515ae6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbj.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_n_dbj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Penis", - "title" : "Pathologic N", - "notes" : "**Note:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n\n Inguinal\n Deep inguinal, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal (femoral) \n Inguinal node, NOS (unknown if superficial or deep)\n\n Pelvic lymph nodes, NOS\n External iliac\n Internal iliac (hypogastric)\n Obturator", - "last_modified" : "2018-05-14T21:29:00.809Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph node(s) cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "No regional lymph node involvement" ], [ "p1", "pN1", "Metastasis in a single inguinal lymph node", "SINGLE regional lymph nodes, NOS\n\nNot stated if single or multiple AND not stated if inguinal or pelvic\n\nRegional lymph node(s), NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "p2", "pN2", "Metastasis in multiple OR \n\nBilateral inguinal lymph nodes", "Inguinal lymph nodes, NOS\n\nStated as N2" ], [ "p3", "pN3", "Metastasis in pelvic lymph node(s), unilateral or bilateral\nOR \n\nExtranodal extension of regional lymph node metastasis", "Pelvic lymph node(s), NOS\n\nStated as N3" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbl.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbl.json deleted file mode 100644 index 5cbe8e41d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbl.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dbl", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Pancreas Other", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 10 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis)\n\n**Regional lymph nodes**\n\n Celiac\n Hepatic\n Infrapyloric (subpyloric)\n Lateral aortic (lumbar)\n Pancreaticosplenic (pancreaticolienal)\n Peripancreatic, NOS\n Anterior, NOS\n Anterior pancreaticoduodenal\n Anterior proximal mesenteric\n Pyloric\n Inferior to the head and body of pancreas\n Posterior, NOS\n Pericholedochal (common bile duct)\n Posterior pancreaticoduodenal\n Posterior proximal mesentery\n Superior to the head and body of pancreas \n Retroperitoneal\n Splenic (lienal), NOS\n Gastroepiploic (gastro-omental), left\n Splenic artery\n Splenic hilum\n Suprapancreatic\n Superior mesenteric", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 134", - "last_modified" : "2018-05-14T21:28:58.303Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "No regional lymph node involvement" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph node(s), NOS\nLymph nodes, NOS \n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbm.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbm.json deleted file mode 100644 index 13fbd00c2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbm.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dbm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Pancreas Body Tail", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 10 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n\n Celiac\n Hepatic, NOS (See M [distant metastasis] for porta hepatic nodes)\n Lateral aortic (lumbar)\n Pancreaticosplenic (pancreaticolienal)\n Peripancreatic, NOS\n Anterior, NOS\n Anterior pancreaticoduodenal\n Anterior proximal mesenteric\n Inferior to the head and body of pancreas\n Posterior, NOS\n Posterior pancreaticoduodenal\n Posterior proximal mesentery\n Superior to the head and body of pancreas\n Retroperitoneal\n Splenic (lienal)\n Gastroepiploic (gastro-omental), left\n Splenic artery\n Splenic hilum\n Suprapancreatic", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 134", - "last_modified" : "2018-05-14T21:29:02.286Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph node(s), NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbn.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbn.json deleted file mode 100644 index d8ba15042..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbn.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dbn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Pancreas Head", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 10 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n\n Hepatic\n Lateral aortic (lumbar)\n Peripancreatic, NOS\n Anterior, NOS\n Anterior pancreaticoduodenal\n Anterior proximal mesenteric\n Pyloric\n Inferior to the head and body of pancreas\n Posterior, NOS\n Pericholedochal (common bile duct)\n Posterior pancreaticoduodenal\n Posterior proximal mesentery\n Superior to the head and body of pancreas\n Pyloric\n Infrapyloric\n Retropyloric\n Suprapyloric\n Subpyloric\n Retroperitoneal\n Superior mesenteric", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 134", - "last_modified" : "2018-05-14T21:29:02.430Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph node(s), NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbo.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbo.json deleted file mode 100644 index 981c87d64..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbo.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dbo", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Ampulla Vater", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 10 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n\n Anterior to the ampulla of Vater\n Inferior to the ampulla of Vater\n Posterior to the ampulla of Vater\n Superior to the ampulla of Vater\n \n Celiac\n Hepatic \n Hepatic artery\n Infrapyloric (subpyloric)\n Lateral aortic (lumbar)\n Node of the foramen of Winslow (epiploic) (omental)\n Pancreaticoduodenal\n Peripancreatic (EXCEPT nodes at tail of pancreas)\n Periportal (portal vein)\n Proximal mesenteric\n Retroperitoneal\n Superior mesenteric", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 130", - "last_modified" : "2018-05-14T21:29:01.580Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbr.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbr.json deleted file mode 100644 index fc330a838..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbr.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dbr", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Thyroid", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a selective neck dissection specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** This field includes all lymph nodes defined as Levels I-VI, retropharyngeal or superior mediastinal lymph nodes (Level VII). \n\n**Note 4:** Assignment of N value for thyroid does not depend on laterality. All codes for nodal involvement include ipsilateral, bilateral, contralateral, and midline lymph nodes.\n\n**Note 5:** The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are regional nodes for TNM staging.\n\n**Level I**\n \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n**Level II - Upper jugular** \n\n Jugulodigastric (subdigastric)\n Upper deep cervical \n Level IIA - Anterior\n Level IIB - Posterior \n**Level III - Middle jugular**\n\n Middle deep cervical\n**Level IV - Lower jugular**\n\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical \n Virchow node\n**Level V - Posterior triangle group**\n\n Posterior cervical\n Level VA - Spinal accessory \n Level VB - Transverse cervical, supraclavicular \n**Level VI - Anterior compartment group**\n\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n**Level VII - Superior mediastinal group (for other mediastinal nodes see M [distant metastasis])**\n\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch \n**Other groups**\n\n Cervical, NOS\n Deep cervical, NOS\n Facial\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Internal jugular, NOS\n Parapharyngeal \n Parotid\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 60", - "last_modified" : "2018-05-14T21:29:03.163Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph node(s) cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Note: N1 has subcategories of N1a and N1b. Assign N1 only when there is no information available to assign one of the subcategories\n\nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1 [NOS]" ], [ "p1A", "pN1a", "Metastasis in Level VI \n Pretracheal\n Paratracheal\n Prelaryngeal/Delphian lymph nodes", "Level VI nodes - Anterior compartment group:\n \nStated as N1a" ], [ "p1B", "pN1b", "Metastasis in other unilateral, bilateral or contralateral cervical \n Levels I, II, III, IV or V\n Retropharyngeal \n Superior mediastinal lymph nodes", "Other groups of lymph nodes\n\nStated as N1b" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbt.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbt.json deleted file mode 100644 index 77a3358d4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dbt.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dbt", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Skin", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Bilateral or contralateral nodes are regional nodes for head, neck, and truncal tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. Truncal tumors may also drain to both cephalad and caudal primary nodal basins as shown on lymphoscintigraphy. \n* Clinical assessment of bilateral/contralateral or cephalad/caudal regional nodal involvement is required for tumors where lymphoscintigraphy is not performed\n\n**Note 4:** Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins. Secondary basins are regional for TNM.\n\n**Note 5:** UICC only defines N2, while AJCC defines N2a, N2b, and N2c. If a record comes in with N2a, N2b, or N2c, reassign it to N2. N2 and the subcategories of N2 all stage the same way.\n\n**Note 6:** Size of the largest metastasis in a lymph node must be known to assign N. You may use a physician’s statement of the N category if this is the only information in the medical record.\n* If the size of the metastasis is not documented, determine the size of the largest involved lymph node as documented pathologically\n* If the size of the lymph node(s) cannot be determined, assign N1\n* Do not code the size of any node(s) assigned in M (distant metastasis)\n\n**Regional lymph nodes by skin primary site**\n* Head and Neck sites include bilateral or contralateral nodes\n\n**Lip (C440)**\n \n Cervical\n Facial, NOS \n Buccinator (buccal) \n Nasolabial \n Mandibular, NOS \n Parotid, NOS \n Infra-auricular \n Preauricular \n Submental \n Submandibular (submaxillary) \n \n**External ear/auditory canal (C442)**\n \n Cervical\n Mastoid (post-/retro-auricular) (occipital) \n Preauricular \n \n**Face, Other (cheek, chin, forehead, jaw, nose and temple) (C443)** \n \n Cervical\n Facial, NOS \n Buccinator (buccal) \n Nasolabial \n Mandibular, NOS \n Parotid, NOS \n Infra-auricular \n Preauricular \n Submental\n Submandibular (submaxillary) \n \n**Scalp (C444)** \n \n Mastoid (post-/retro-auricular) (occipital) \n Parotid, NOS \n Infra-auricular \n Preauricular \n Spinal accessory (posterior cervical)\n \n**Neck (C444)**\n \n Axillary \n Mandibular, NOS \n Mastoid (post-/retro-auricular) (occipital) \n Parotid, NOS \n Infra-auricular \n Preauricular \n Spinal accessory (posterior cervical) \n Submental \n Supraclavicular (transverse cervical) \n \n**Trunk (C445)** \n \n Axillary \n Cervical \n Internal mammary (parasternal)\n Femoral (superficial inguinal) \n Supraclavicular (transverse cervical) \n \n**Arm/Shoulder (C446)**\n \n Axillary \n Epitrochlear for hand/forearm \n Spinal accessory for shoulder \n \n**Leg/Hip (C447)**\n \n Femoral (superficial inguinal) \n Popliteal for heel and calf \n \n **Bidirectional nodal involvement (includes bilateral or contralateral nodes)**\n\n Upper Trunk: Femoral (or cephalad/caudal drainage from primary tumor) \n Lower Trunk: Axillary (or cephalad/caudal drainage from primary tumor)\n \n**Secondary nodal basin involvement (includes bilateral or contralateral nodes)**\n \n Head and Neck: Supraclavicular \n Arm/Shoulder: Supraclavicular \n Leg/Hip: Iliac \n All sites: Regional lymph node(s) in secondary nodal basins, NOS", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 167\n\n\\* For this schema, UICC has only the N2 subcategory. AJCC has subcategories N2a, N2b, or N2c.", - "last_modified" : "2018-05-14T21:29:01.086Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Metastasis in a single lymph node, 3 cm or less in greatest dimension", "IPSILATERAL positive regional lymph node(s), not stated if single or multiple\n\nPositive lymph nodes, not stated if ipsilateral, contralateral or bilateral\n\nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "p2", "pN2", "Metastasis in a single lymph node, more than 3 cm but not more than 6 cm in greatest dimension, or in multiple lymph nodes, none more than 6 cm in greatest dimension*", "Multiple ipsilateral lymph nodes, NOS\nBilateral or contralateral lymph nodes, NOS\n\nStated as N2 (N2a, N2b, N2c, N2 [NOS])" ], [ "p3", "pN3", "Metastasis in a lymph node, more than 6 cm in greatest dimension", "Stated as N3" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dcn.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dcn.json deleted file mode 100644 index 4f61ba4b5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dcn.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dcn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Nasopharynx", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a selective neck dissection specimen will ordinarily include 6 or more lymph nodes. Histological examination of a radical or modified radical neck dissection specimen will ordinarily include 10 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. When size is a criterion for pN classification, measurement is made of the metastasis, not of the entire lymph node. (1) \n\n**Note 2:** If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are assigned as ipsilateral.\n\n**Note 3:** For nasopharynx, unilateral and bilateral retropharyngeal nodes are mapped to N1, and nodes in the supraclavicular fossa are mapped to N3b. The supraclavicular fossa is defined by 3 points: the superior margin of the sterna end of the clavicle, the superior margin of the lateral end of the clavical, and the point where the neck meets the shoulder.\n\n**Note 4:** Size of the largest metastasis in a lymph node must be known to assign N. You may use a physician’s statement of the N category if this is the only information in the medical record.\n* If the size of the metastasis is not documented, determine the size of the largest involved lymph node as documented pathologically\n* If the size of the lymph node(s) cannot be determined, assign N1\n* Do not code the size of any node(s) assigned in M (distant metastasis)\n\n**Note 5:** The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are assigned as regional nodes for TNM staging.\n\n **Level I**\n \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n**Level II - Upper jugular** \n\n Jugulodigastric (subdigastric)\n Upper deep cervical \n Level IIA - Anterior\n Level IIB - Posterior \n**Level III - Middle jugular**\n\n Middle deep cervical\n**Level IV - Lower jugular**\n\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical \n Virchow node\n**Level V - Posterior triangle group**\n\n Posterior cervical\n Level VA - Spinal accessory \n Level VB - Transverse cervical, supraclavicular \n**Level VI - Anterior compartment group**\n\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n**Level VII - Superior mediastinal group (for other mediastinal nodes see M [distant metastasis])**\n\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch \n**Other groups**\n\n Cervical, NOS\n Deep cervical, NOS\n Facial:\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Internal jugular, NOS\n Parapharyngeal \n Parotid:\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS\n\n**Note 6:** For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in **Site-Specific Factors 1, 3-9**.\n\n**Note 7:** For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. \n* If the specific level cannot be determined, assign them as Level V nodes", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pgs., 28, 35, 42, 49", - "last_modified" : "2018-05-14T21:29:01.419Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph node(s) cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Unilateral metastasis, in cervical lymph nodes(s), and/or unilateral or bilateral metastasis in retropharyngeal lymph nodes, 6 cm or less in greatest dimension, above the supraclavicular fossa", "Positive lymph nodes, not stated if unilateral or bilateral\nPositive lymph nodes, size of lymph node metastasis unknown\n\nStated as N1" ], [ "p2", "pN2", "Bilateral metastasis in cervical lymph node(s), 6 cm or less in greatest dimension, above the supraclavicular fossa", "Positive bilateral nodes, NOS\n\nStated as N2" ], [ "p3", "pN3", "Metastasis in cervical lymph node(s) greater than 6 cm in dimension or in the supraclavicular fossa", "Note: N3 has subcategories of N3a and N3b. Assign N3 only when there is no information available to assign one of the subcategories.\n\nStated as N3 [NOS]" ], [ "p3A", "pN3a", "Greater than 6 cm in dimension", "Stated as N3a" ], [ "p3B", "pN3b", "Extension in the supraclavicular fossa", "Unilateral or bilateral positive regional node(s):\n Level IV - Lower jugular:\n Jugulo-omohyoid (supraomohyoid) \n Lower deep cervical\n Virchow node\n Level VB - Transverse cervical, supraclavicular (see Note 4)\n Level VII - Superior mediastinal group\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch\n\nStated as N3b" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddj.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddj.json deleted file mode 100644 index 93123cf15..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddj.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_ddj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Scrotum", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** UICC only has a N2, while AJCC has N2a, N2b, and N2c. If a record comes in with N2a, N2b, or N2c, reassign it to N2. N2 and the subcategories of N2 all stage the same way.\n\n**Note 4:** Size of the largest metastasis in a lymph node must be known to assign N. You may use a physician’s statement of the N category if this is the only information in the medical record.\n* If the size of the metastasis is not documented, determine the size of the largest involved lymph node as documented pathologically\n* If the size of the lymph node(s) cannot be determined, assign N1\n* Do not code the size of any node(s) assigned in M (distant metastasis)\n\n**Regional lymph nodes**\n\n Iliac, NOS\n External\n Internal (hypogastric), NOS\n Obturator\n Inguinal, NOS\n Deep inguinal, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal (femoral)\n\n Regional lymph node, NOS\n Lymph nodes, NOS", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 167\n\n\\* For this schema, UICC has only the N2 subcategory. AJCC has subcategories N2a, N2b, or N2c.", - "last_modified" : "2018-05-14T21:29:04.453Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Metastasis in a single lymph node, 3 cm or less in greatest dimension", "IPSILATERAL positive regional lymph node(s), not stated if single or multiple\n\nPositive lymph nodes, not stated if ipsilateral, contralateral or bilateral\n\nStated as N1" ], [ "p2", "pN2", "Metastasis in a single lymph node, more than 3 cm but not more than 6 cm in greatest dimension, or in multiple lymph nodes, none more than 6 cm in greatest dimension*", "Multiple ipsilateral lymph nodes, NOS\nBilateral or contralateral lymph nodes, NOS\n\nStated as N2 (N2a, N2b, N2c, N2 [NOS])" ], [ "p3", "pN3", "Metastasis in a lymph node, more than 6 cm in greatest dimension", "Stated as N3" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddm.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddm.json deleted file mode 100644 index 25d269472..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddm.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_ddm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Esophagus GE Junction", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional lymph nodes and lymph nodes, NOS in this field. Distant lymph nodes are coded in M (distant metastasis).\n\n**Note 3:** Assign N1 if regional lymph nodes are involved but there is no indication of the number of nodes involved.\n\n**Note 4:** Regional lymph nodes for any part of the esophagus fall in the range from periesophageal/cervical to the celiac region. Contralateral and bilateral cervical, supraclavicular, and mediastinal lymph nodes are included. However, some nodal chains in this large area are partially regional and partially distant because they include both nodes that are close to the esophagus toward the body's midline and nodes that run laterally away from the esophagus or perpendicular to it. Regional nodes are those that lie in the bed of the esophagus. \n\n*Examples*\n\n Regional supraclavicular nodes (level 1)\n Regional pulmonary ligament nodes (level 9)\n Regional hilar tracheobronchial nodes (level 10)\n Regional diaphragmatic nodes (level 15)\n\n* These nodes are closest to the esophagus; nodes in these chains that are further from the esophagus are distant\n\n* Medical record terminology is unlikely to be so specific in describing involved node locations, so try to correlate involved node information with staging statements that indicate whether the nodes were classified as regional or distant by the physicians; lacking such physician guidance, presume regional nodes. If the record just indicates involvement of supraclavicular nodes, for example, and there is no further information available, presume that the involved nodes were close to the esophagus and regional\n\n**Regional lymph nodes for EsophagusGEJunction**\n\n Left gastric (superior gastric), NOS\n Cardiac\n Cardioesophageal\n Gastric, left (17)\n Gastropancreatic, left\n Lesser curvature\n Lesser omental\n Pericardial (16)\n Pancreaticosplenic (pancreaticolienal)\n Pancreatoduodenal\n Perigastric, NOS\n Peripancreatic\n Right gastric (inferior gastric), NOS\n Gastrocolic\n Gastroduodenal\n Gastroepiploic (gastro-omental), right or NOS\n Gastrohepatic\n Greater curvature\n Greater omental\n Pyloric, NOS\n Infrapyloric (subpyloric)\n Suprapyloric\n Splenic (lienal), NOS:\n Gastroepiploic (gastro-omental), left\n Splenic hilar\n Nodule(s) in perigastric fat\n\n Celiac \n Hepatic and hepatoduodenal\n\n Paraesophageal, NOS\n Periesophageal, NOS, including:\n Anterior mediastinal (6)\n Aortopulmonary (5)\n Diaphragmatic (15)\n Paraesophageal, lower (8l)\n Paraesophageal, middle (8m)\n Paratracheal, lower (4L, 4R)\n Paratracheal, upper (2L, 2R)\n Posterior mediastinal (3p)\n Pulmonary ligament (9)\n Subcarinal (tracheal carina) (7)\n Supraclavicular (1)\n Tracheobronchial (hilar) (10L, 10R)\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 69", - "last_modified" : "2018-05-14T21:29:01.197Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Metastasis in 1-2 regional lymph nodes", "Stated as N1" ], [ "p2", "pN2", "Metastasis in 3-6 regional lymph nodes", "Stated as N2" ], [ "p3", "pN3", "Metastasis in 7 or more regional lymph nodes", "Stated as N3" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddn.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddn.json deleted file mode 100644 index 13c081fbf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddn.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_ddn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Merkel Cell Skin", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Bilateral nodes are classified as regional nodes for tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. \n* Clinical assessment of bilateral regional nodal involvement is required for tumors where lymphoscintigraphy is not performed\n\n**Note 4:** Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins. Secondary basins are regional for TNM staging.\n\n**Note 5:** In transit metastasis is defined as a tumor distinct from the primary lesion and located either between the primary lesion and the draining regional lymph nodes or distal to the primary lesion.\n* In transit metastasis is coded in N (regional lymph nodes)\n\n**Note 6:** Code isolated tumor cells (ITCs) as positive nodes.\n\n**Regional lymph nodes**\n* Head and Neck sites include bilateral or contralateral nodes\n\n**Lip (C440)**\n \n Cervical\n Facial, NOS \n Buccinator (buccal) \n Nasolabial \n Mandibular, NOS \n Parotid, NOS \n Infra-auricular \n Preauricular \n Submental \n Submandibular (submaxillary) \n \n**External ear/auditory canal (C442)**\n \n Cervical\n Mastoid (post-/retro-auricular) (occipital) \n Preauricular \n \n**Face, Other (cheek, chin, forehead, jaw, nose and temple) (C443)** \n \n Cervical\n Facial, NOS \n Buccinator (buccal) \n Nasolabial \n Mandibular, NOS \n Parotid, NOS \n Infra-auricular \n Preauricular \n Submental\n Submandibular (submaxillary) \n \n**Scalp (C444)** \n \n Mastoid (post-/retro-auricular) (occipital) \n Parotid, NOS \n Infra-auricular \n Preauricular \n Spinal accessory (posterior cervical)\n \n**Neck (C444)**\n \n Axillary \n Mandibular, NOS \n Mastoid (post-/retro-auricular) (occipital) \n Parotid, NOS \n Infra-auricular \n Preauricular \n Spinal accessory (posterior cervical) \n Submental \n Supraclavicular (transverse cervical) \n \n**Trunk (C445)** \n \n Axillary \n Cervical \n Internal mammary (parasternal)\n Femoral (superficial inguinal) \n Supraclavicular (transverse cervical) \n \n**Arm/Shoulder (C446)**\n \n Axillary \n Epitrochlear for hand/forearm \n Spinal accessory for shoulder \n \n**Leg/Hip (C447)**\n \n Femoral (superficial inguinal) \n Popliteal for heel and calf \n \n \n \n **Bidirectional nodal involvement (includes bilateral or contralateral nodes)**\n\n Upper Trunk: Femoral (or cephalad/caudal drainage from primary tumor) \n Lower Trunk: Axillary (or cephalad/caudal drainage from primary tumor)\n \n**Secondary nodal basin involvement (includes bilateral or contralateral nodes)**\n \n Head and Neck: Supraclavicular \n Arm/Shoulder: Supraclavicular \n Leg/Hip: Iliac \n All sites: Regional lymph node(s) in secondary nodal basins, NOS\n\n**Regional lymph node(s), NOS**", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 179", - "last_modified" : "2018-05-14T21:29:02.808Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Note: N1 has subcategories of N1a and N1b. Assign N1 only when there is no information available to assign one of the subcategories\n\nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1 [NOS]" ], [ "p1A", "pN1a", "Microscopic metastasis \n(clinically occult: cN0 + pN1)", "ITCs only WITH or WITHOUT regional lymph node involvement\n\nStated as N1a" ], [ "p1B", "pN1b", "Macroscopic metastasis \n(clinically apparent: cN1 + pN1)", "Stated as N1b" ], [ "p2", "pN2", "In-transit metastasis", "Satellite nodule(s) or in-transit metastasis, distance from primary tumor less than or equal to 2 cm or distance not stated WITHOUT regional lymph node involvement \n\nIncludes cases with ITCs only and cases with regional lymph node involvement not stated\n\nDescribed as tumor with satellite nodule(s) or in-transit metastasis, NOS WITH or WITHOUT regional lymph node involvement\n\nStated as N2" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddp.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddp.json deleted file mode 100644 index 55b394831..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_ddp.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_ddp", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Carinoid Appendix", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 12 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Assign N1 if regional lymph nodes are involved but there is no indication of the number of nodes involved.\n\n**Regional lymph nodes for appendix**\n\n Celiac\n Anterior (prececal)\n Ileocolic\n Posterior (retrocecal)\n Right colic\n Colic, NOS\n Epicolic (adjacent to bowel wall)\n Mesenteric, NOS\n Mesocolic, NOS\n Paracolic/pericolic\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 92", - "last_modified" : "2018-05-14T21:29:02.835Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Stated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dew.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dew.json deleted file mode 100644 index 2d680c76a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dew.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dew", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Intrahepatic Bile Ducts", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 3 or more lymph nodes. If the regional lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n **Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n\n**Primary tumor in either left or right liver**\n\n Hilar\n Common bile duct\n Cystic duct\n Hepatic, NOS:\n Hepatic artery\n Hepatic pedicle\n Hepatoduodenal ligament\n Portal vein\n Porta hepatis\n Periportal\n Inferior phrenic nodes\n \n**Primary tumor in left liver (segments 2-4) or lobe of liver not stated**\n\n Gastrohepatic\n\n**Primary tumor in right liver (segments 5-8) or lobe of liver not stated**\n\n Periduodenal\n Peripancreatic\n\n**Primary tumor involving both lobes of liver** \n\n Gastrohepatic\n Periduodenal\n Peripancreatic", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 116", - "last_modified" : "2018-05-14T21:29:02.524Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph node(s) cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfa.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfa.json deleted file mode 100644 index 69bb174da..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfa.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dfa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N GIST Stomach", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 16 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0.\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n\n Celiac\n Hepatic (excluding gastrohepatic) \n Hepatoduodenal \n Left gastric (superior gastric), NOS\n Cardial\n Cardioesophageal\n Gastric, left\n Gastropancreatic, left\n Lesser curvature\n Lesser omental\n Paracardial\n Hepatoduodenal (for lesser curvature) \n Nodule(s) in perigastric fat \n Pancreaticosplenic (pancreaticolienal)\n Pancreaticoduodenal\n Perigastric, NOS\n Peripancreatic\n Right gastric (inferior gastric), NOS:\n Gastrocolic\n Gastroduodenal\n Gastroepiploic (gastro-omental), right or NOS\n Gastrohepatic\n Greater curvature\n Greater omental\n Pyloric, NOS: infrapyloric, subpyloric, suprapyloric\n Splenic (lienal), NOS\n Gastroepiploic (gastro-omental), left\n Splenic hilar", - "footnotes" : "\\# NX is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.972Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed#", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Nodule(s) or foci in pericolic fat/adjacent mesentery/mesocolic fat\n\nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfc.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfc.json deleted file mode 100644 index 6465b334d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfc.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dfc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Appendix", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 12 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Assign N1 if regional lymph nodes are involved but there is no indication of the number of nodes involved.\n\n**Note 4:** One or more malignant satellite peritumoral nodules or tumor deposits (TD) in the periappendiceal adipose tissue of a primary carcinoma without histologic evidence of residual lymph node in the nodule may represent discontinuous spread, venous invasion with extravascular spread, or a totally replaced lymph node. Replaced nodes are counted as positive nodes and coded in Regional Lymph Nodes. TD representing discontinuous spread or venous invasion are coded in T, and the number of TD representing discontinuous spread or venous invasion is coded in **Site-Specific Factor 4**.\n\n**Regional lymph nodes for appendix**\n\n Celiac\n Anterior (prececal)\n Ileocolic\n Posterior (retrocecal)\n Right colic\n Colic, NOS\n Epicolic (adjacent to bowel wall)\n Mesenteric, NOS\n Mesocolic, NOS\n Paracolic/pericolic\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 88", - "last_modified" : "2018-05-14T21:29:01.031Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Metastasis in 1-3 regional lymph nodes", "Stated as N1" ], [ "p2", "pN2", "Metastasis in 4 or more regional lymph nodes", "Stated as N2" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfe.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfe.json deleted file mode 100644 index a3e7cf936..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfe.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dfe", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N NET Colon", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 12 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1) \n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n \n**All colon sites** \n\n Colic [NOS] \n Epicolic (adjacent to bowel wall) \n Mesocolic [NOS] \n Mesenteric [NOS]\n Paracolic/pericolic\n\n**Cecum (C180)** \n\n Anterior (prececal)\n Cecal [NOS]\n Ileocolic\n Periappendiceal\n Posterior (retrocecal)\n Right colic \n\n**Ascending colon (C182)** \n\n Ileocolic\n Middle colic\n Right colic\n\n**Hepatic flexure (C183)** \n\n Middle colic \n Right colic\n\n**Transverse colon (C184)** \n\n Inferior mesenteric \n Left colic \n Middle colic \n Right colic\n\n**Splenic flexure (C185)** \n\n Inferior mesenteric \n Left colic \n Middle colic\n\n**Descending colon (C186)** \n\n Inferior mesenteric \n Left colic \n Sigmoid \n\n**Sigmoid colon (C187)** \n\n Inferior mesenteric \n Left colic \n Rectosigmoid \n Sigmoid \n Sigmoidal (sigmoid mesenteric) \n Superior hemorrhoidal \n Superior rectal", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 104", - "last_modified" : "2018-05-14T21:29:02.710Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dff.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dff.json deleted file mode 100644 index 20a96331d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dff.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dff", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N NET Rectum", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 12 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n \n**All sites** \n\n Hemorrhoidal (middle, superior) \n Inferior mesenteric \n Mesenteric [NOS] \n Perirectal \n Rectal (middle) \n Rectal [NOS] \n Rectal (superior) \n Rectosigmoid (paracolic/pericolic)\n Sigmoidal (sigmoid mesenteric)\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS\n\n**Rectosigmoid (C199)** \n\n Colic, (NOS) \n Left colic\n \n**Rectum (C209)** \n\n Hemorrhoidal (inferior) \n Internal iliac (hypogastric) \n Lateral (laterosacral) \n Middle (promontorial) (Gerota's node) \n Obturator\n Presacral\n Rectal (inferior) \n Sacral (NOS)\n Sacral promontory", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 104", - "last_modified" : "2018-05-14T21:29:02.653Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph node(s) cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Nodule(s) or foci in perirectal fat\n\nRegional lymph node(s), NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfg.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfg.json deleted file mode 100644 index 064e32112..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfg.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dfg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N NET Stomach", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 16 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Hepatoduodenal nodes are regional for primaries of the lesser curvature of the stomach. They are coded in M (distant metastasis) for all other subsites in this schema.\n\n**Regional lymph nodes**\n\n Celiac\n Hepatic (excluding gastrohepatic) \n Hepatoduodenal \n Left gastric (superior gastric), NOS:\n Cardial\n Cardioesophageal\n Gastric, left\n Gastropancreatic, left\n Lesser curvature\n Lesser omental\n Paracardial\n Hepatoduodenal (for lesser curvature) \n Nodule(s) in perigastric fat \n Pancreaticosplenic (pancreaticolienal)\n Pancreaticoduodenal\n Perigastric, NOS\n Peripancreatic\n Right gastric (inferior gastric), NOS\n Gastrocolic\n Gastroduodenal\n Gastroepiploic (gastro-omental), right or NOS\n Gastrohepatic\n Greater curvature\n Greater omental\n Pyloric, NOS: infrapyloric, subpyloric, suprapyloric\n Splenic (lienal), NOS:\n Gastroepiploic (gastro-omental), left\n Splenic hilar", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 76", - "last_modified" : "2018-05-14T21:29:02.961Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph node(s) cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Nodule(s) in perigastric fat\n\nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfl.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfl.json deleted file mode 100644 index d8fbcb3c6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfl.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dfl", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N NET Small Intestine", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n\n**Duodenum primaries only (C170)**\n\n Duodenal\n Gastroduodenal\n Hepatic\n Pancreaticoduodenal\n Pericholodochal (common bile duct)\n Pyloric: infrapyloric, subpyloric\n Superior mesenteric\n \n**Jejunum primaries only (C171)**\n\n Mesenteric, NOS\n Superior mesenteric\n\n**Ileum primaries only (C172)**\n\n Cecal (anterior, posterior, retrocecal) \n Ileocecal \n Mesenteric, NOS\n Superior mesenteric", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 84", - "last_modified" : "2018-05-14T21:29:03.547Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph node(s), NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfn.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfn.json deleted file mode 100644 index 50da57db3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfn.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dfn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Distal Bile Duct", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 12 or more lymph nodes. If the regional lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Celiac nodes are classified as distant nodes for TNM 7 staging. These nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n\n Cystic duct (node of the neck of the gallbladder) (Calot's node)\n Hepatic artery\n Hilar (in the hepatoduodenal ligament)\n Node of the foramen of Winslow (omental) (epiploic)\n Pancreaticoduodenal:\n Anterior\n Posterior\n Pericholedochal (node along common bile duct)\n Periduodenal\n Peripancreatic (near head of pancreas only)\n Periportal\n Porta hepatis (portal) (hilar) (in hilus of liver)\n Superior mesenteric artery\n Superior mesenteric vein", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 127", - "last_modified" : "2018-05-14T21:29:02.475Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph node(s) cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfo.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfo.json deleted file mode 100644 index 52e3c6df1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfo.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dfo", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Perihilar Bile Ducts", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 15 or more lymph nodes. If the regional lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in distant metastasis.\n\n**Note 3:** Periaortic, pericaval, superior mesenteric artery, and celiac artery lymph nodes are coded to N2.", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 124\n\n\\* N2 is not defined by UICC in the 7th edition. Approval has been provided by UICC to use the definition from the AJCC 7th edition, which is documented in the registrar notes.", - "last_modified" : "2018-05-14T21:29:02.507Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis including: nodes along the cystic duct common bile duct, common hepatic artery and portal vein", "Regional lymph nodes:\n Cystic duct (node of the neck of the gallbladder) (Calot's node)\n Hepatic\n Hepatic artery\n Hilar (in the hepatoduodenal ligament)\n Node of the foramen of Winslow (omental) (epiploic)\n Pancreaticoduodenal\n Pericholedochal (node around common bile duct)\n Periduodenal\n Peripancreatic (near head of pancreas only)\n Periportal\n Porta hepatis (portal) (hilar) (in hilus of liver)\n Portal vein\n \nRegional lymph node(s), NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "p2", "pN2", "Not defined by UICC*", "Metastasis to periaortic, pericaval, superior mesenteric artery, and/or celiac artery lymph nodes\n\nStated as N2" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfr.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfr.json deleted file mode 100644 index c2970be96..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfr.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dfr", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Cystic Duct", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 3 or more lymph nodes. If the regional lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Periaortic, pericaval, superior mesenteric artery, and celiac artery lymph nodes are coded to N2.", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 52\n\n\\* N2 is not defined by UICC in the 7th edition. Approval has been provided by UICC to use the definition from the AJCC 7th edition, which is documented in the registrar notes.", - "last_modified" : "2018-05-14T21:29:02.490Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "No regional lymph node involvement" ], [ "p1", "pN1", "Regional lymph node metastasis, including nodes along the: \n Cystic duct\n Common bile duct \n Common hepatic artery\n Portal vein", "Regional lymph nodes:\n Cystic duct (node of the neck of the gallbladder) (Calot's node)\n Hepatic, NOS:\n Hepatic artery\n Hilar (in the hepatoduodenal ligament)\n Node of the foramen of Winslow (omental) (epiploic)\n Pancreaticoduodenal\n Pericholedochal (node around common bile duct)\n Periduodenal\n Peripancreatic (near head of pancreas only) \n Periportal\n Porta hepatis (portal) (hilar) (in hilus of liver)\n \nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "p2", "pN2", "Not defined by UICC*", "Metastasis to periaortic, pericaval, superior mesenteric artery, and/or celiac artery lymph nodes\n\nStated as N2" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfs.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfs.json deleted file mode 100644 index 22a365930..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dfs", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Peritoneum Female Gen", - "title" : "Pathologic N", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and regional lymph node detail are available, use the regional lymph node detail in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO stage III [NOS] or IIIC, assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is FIGO stage IV, leave T and N blank and see M\n\n**Note 2:** Histological examination of a pelvic lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (FIGO classifies such cases as pNX). (1)\n\n**Note 3:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n\n Intra-abdominal\n Para-aortic\n Pelvic\n Subdiaphragmatic\n Iliac\n Common iliac\n External iliac\n Internal iliac (hypogastric):\n Obturator \n Inguinal\n Retroperitoneal, NOS", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 225", - "last_modified" : "2018-05-14T21:29:01.289Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed OR\n Involvement of regional lymph nodes not documented\nPhysician assign pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "Only information available is FIGO Stage IIIA or IIIB" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC, or IV\n\nPathologic classification not met\nNo surgical resection of primary tumor AND\nThere isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfv.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfv.json deleted file mode 100644 index 386056e84..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfv.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_dfv", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Merkel Cell Penis", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Bilateral nodes are classified as regional nodes for tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. \n* Clinical assessment of bilateral regional nodal involvement is required for tumors where lymphoscintigraphy is not performed\n\n**Note 4:** Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins. Secondary basins are regional for TNM staging. \n\n**Note 5:** In transit metastasis is defined as a tumor distinct from the primary lesion and located either between the primary lesion and the draining regional lymph nodes or distal to the primary lesion.\n* In transit metastasis is coded in N (regional lymph nodes)\n\n**Note 6:** Code isolated tumor cells (ITCs) as positive nodes.\n\n**Regional lymph nodes**\n\n Isolated tumor cells (ITCs) only\n SINGLE superficial inguinal (femoral) regional lymph node\n SINGLE inguinal node, NOS (unknown if superficial or deep)\n MULTIPLE or BILATERAL superficial inguinal (femoral) regional lymph nodes\n MULTIPLE or BILATERAL inguinal nodes, NOS (unknown if superficial or deep)\n\n Deep inguinal, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Pelvic lymph nodes (unilateral or bilateral)\n External iliac\n Internal iliac (hypogastric)\n Obturator\n Pelvic nodes in contiguous or secondary nodal basin \n Pelvic nodes, NOS", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 179", - "last_modified" : "2018-05-14T21:29:00.098Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Note: N1 has subcategories of N1a and N1b. Assign N1 only when there is no information available to assign one of the subcategories\n\nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1 [NOS]" ], [ "p1A", "pN1a", "Microscopic metastasis \n(clinically occult: cN0 + pN1)", "Stated as N1a" ], [ "p1B", "pN1b", "Macroscopic metastasis \n(clinically apparent: cN1 + pN1)", "Stated as N1b" ], [ "p2", "pN2", "In-transit metastasis", "Satellite nodule(s) or in-transit metastasis, distance from primary tumor less than or equal to 2 cm or distance not stated WITHOUT regional lymph node involvement. \n Includes cases with ITCs only and cases with regional lymph node involvement not stated\n\nDescribed as tumor with satellite nodule(s) or in-transit metastasis, NOS WITH or WITHOUT regional lymph node involvement\n\nStated as N2" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfw.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfw.json deleted file mode 100644 index 8d4300f7a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfw.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_n_dfw", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Merkel Cell Scrotum", - "title" : "Pathologic N", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 2:** Bilateral nodes are classified as regional nodes for tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. \n* Clinical assessment of bilateral regional nodal involvement is required for tumors where lymphoscintigraphy is not performed\n\n**Note 3:** Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins. Secondary basins are regional for TNM staging. \n\n**Note 4:** In transit metastasis is defined as a tumor distinct from the primary lesion and located either between the primary lesion and the draining regional lymph nodes or distal to the primary lesion.\n* In transit metastasis is coded in N (regional lymph nodes)\n\n**Note 5:** Code isolated tumor cells (ITCs) as positive nodes.\n\n**Regional lymph nodes**\n\n Isolated tumor cells (ITCs) only\n\n Regional lymph nodes (unilateral or bilateral)\n Iliac, NOS\n External\n Internal (hypogastric), NOS\n Obturator\n Inguinal, NOS\n Deep inguinal, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal (femoral)\n Pelvic nodes in contiguous or secondary nodal basin\n\n Regional lymph node(s), NOS", - "last_modified" : "2018-05-14T21:29:01.663Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Note: N1 has subcategories of N1a and N1b. Assign N1 only when there is no information available to assign one of the subcategories\n\nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1 [NOS]" ], [ "p1A", "pN1a", "Microscopic metastasis \n(clinically occult: cN0 + pN1)", "Stated as N1a" ], [ "p1B", "pN1b", "Macroscopic metastasis \n(clinically apparent: cN1 + pN1)", "Stated as N1b" ], [ "p2", "pN2", "In-transit metastasis", "Clinically apparent in-transit metastasis WITH or WITHOUT occult nodal metastasis\n\nClinically apparent in-transit metastasis and clinically apparent nodal metastasis \n\nStated as N2" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfx.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfx.json deleted file mode 100644 index b47ce112d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_dfx.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_n_dfx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Merkel Cell Vulva", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of an inguinofemoral lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. \n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 3:** Bilateral nodes are classified as regional nodes for tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. \n* Clinical assessment of bilateral regional nodal involvement is required for tumors where lymphoscintigraphy is not performed\n\n**Note 4:** Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins. Secondary basins are regional for TNM staging.\n\n**Note 5:** In transit metastasis is defined as a tumor distinct from the primary lesion and located either between the primary lesion and the draining regional lymph nodes or distal to the primary lesion.\n* In transit metastasis is coded in N (regional lymph nodes)\n\n**Note 6:** Code isolated tumor cells (ITCs) as positive nodes.\n\n**Regional lymph nodes**\n\n Isolated tumor cells (ITCs) only\n Regional lymph nodes (unilateral or bilateral)\n External iliac\n Inguinal, NOS\n Deep inguinal, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial inguinal (femoral)\n Internal iliac (hypogastric)\n Obturator\n Pelvic nodes in contiguous or secondary nodal basin \n Pelvic, NOS", - "last_modified" : "2018-05-14T21:29:00.113Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Note: N1 has subcategories of N1a and N1b. Assign N1 only when there is no information available to assign one of the subcategories\n\nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1 [NOS]" ], [ "p1A", "pN1a", "Microscopic metastasis \n(clinically occult: cN0 + pN1)", "Stated as N1a" ], [ "p1B", "pN1b", "Macroscopic metastasis \n(clinically apparent: cN1 + pN1)", "Stated as N1b" ], [ "p2", "pN2", "In-transit metastasis", "Clinically apparent in-transit metastasis WITH or WITHOUT occult nodal metastasis\n\nClinically apparent in-transit metastasis and clinically apparent nodal metastasis \n\nStated as N2" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_gist_colon_71024.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_gist_colon_71024.json deleted file mode 100644 index fabe0b8b8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_gist_colon_71024.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_gist_colon_71024", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N GIST Colon", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 12 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n \n**All colon sites** \n\n Colic [NOS] \n Epicolic (adjacent to bowel wall) \n Mesocolic [NOS] \n Mesenteric [NOS]\n Paracolic/pericolic\n\n**Cecum (C180)** \n\n Anterior (prececal) \n Cecal [NOS]\n Ileocolic\n Periappendiceal\n Posterior (retrocecal)\n Right colic \n\n**Ascending colon (C182)** \n\n Ileocolic\n Middle colic\n Right colic\n\n**Hepatic flexure (C183)** \n\n Middle colic \n Right colic\n\n**Transverse colon (C184)** \n\n Inferior mesenteric \n Left colic \n Middle colic \n Right colic\n\n**Splenic flexure (C185)** \n\n Inferior mesenteric \n Left colic \n Middle colic\n\n**Descending colon (C186)** \n\n Inferior mesenteric \n Left colic \n Sigmoid \n\n**Sigmoid colon (C187)** \n\n Inferior mesenteric \n Left colic \n Rectosigmoid \n Sigmoid \n Sigmoidal (sigmoid mesenteric) \n Superior hemorrhoidal \n Superior rectal", - "footnotes" : "(1) International Union Against Cancer (UICC) TNM Classification of Malignant Tumors, 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 104\n\n\\# NX is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.247Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed#", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Nodule(s) or foci in pericolic fat/adjacent mesentery/mesocolic fat\n\nRegional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_head_neck_except_nasopharynx_40357.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_head_neck_except_nasopharynx_40357.json deleted file mode 100644 index d0e8e1b1c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_head_neck_except_nasopharynx_40357.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_head_neck_except_nasopharynx_40357", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Head & Neck", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a selective neck dissection specimen will ordinarily include 6 or more lymph nodes. Histological examination of a radical or modified radical neck dissection specimen will ordinarily include 10 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. When size is a criterion for pN classification, measurement is made of the metastasis, not of the entire lymph node. (1) \n\n**Note 2:** If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are assigned as ipsilateral.\n\n**Note 3:** Size of the largest metastasis in a lymph node must be known to assign N. You may use a physician’s statement of the N category if this is the only information in the medical record.\n* If the size of the metastasis is not documented, determine the size of the largest involved lymph node as documented pathologically\n* If the size of the lymph node(s) cannot be determined, assign N1\n* Do not code the size of any node(s) assigned in M (distant metastasis)\n\n**Note 4:** The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are assigned as regional nodes for TNM staging.\n\n**Level I**\n \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n**Level II - Upper jugular** \n\n Jugulodigastric (subdigastric)\n Upper deep cervical \n Level IIA - Anterior\n Level IIB - Posterior \n**Level III - Middle jugular**\n\n Middle deep cervical\n**Level IV - Lower jugular**\n\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical \n Virchow node\n**Level V - Posterior triangle group**\n\n Posterior cervical\n Level VA - Spinal accessory \n Level VB - Transverse cervical, supraclavicular \n**Level VI - Anterior compartment group**\n\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n**Level VII - Superior mediastinal group (for other mediastinal nodes see M [distant metastasis])**\n\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch \n**Other groups**\n\n Cervical, NOS\n Deep cervical, NOS\n Facial\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Internal jugular, NOS\n Parapharyngeal \n Parotid\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS\n\n**Note 5:** For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in **Site-Specific Factors 1, 3-9**.\n\n**Note 6:** For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. \n* If the specific level cannot be determined, assign them as Level V nodes", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pgs., 28, 35, 42, 49", - "last_modified" : "2018-05-14T21:29:04.236Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "No regional lymph node involvement" ], [ "p1", "pN1", "Metastasis in a single ipsilateral lymph node, 3 cm or less in greatest dimension", "Positive ipsilateral lymph node, not stated if single or multiple\nPositive lymph node, not stated if ipsilateral, bilateral, or contralateral \n\nPositive lymph node, size not stated\n\nStated as N1" ], [ "p2", "pN2", "Metastasis as described below", "Note: N2 has subcategories of N2a, N2b and N2c. Assign N2 only when there is no information available to assign one of the subcategories\n\nStated as N2 [NOS]" ], [ "p2A", "pN2a", "Metastasis in a single ipsilateral lymph node, more than 3 cm but not more than 6 cm in greatest dimension", "Stated as N2a" ], [ "p2B", "pN2b", "Metastasis in multiple ipsilateral lymph nodes, none more than 6 cm in greatest dimension", "Multiple lymph nodes, not stated if ipsilateral, bilateral or contralateral\n\nStated as N2b" ], [ "p2C", "pN2c", "Metastasis in bilateral or contralateral lymph nodes, none more than 6 cm in greatest dimension", "Bilateral lymph nodes, size not stated\n\nStated as N2c" ], [ "p3", "pN3", "Metastasis in a lymph node more than 6 cm in greatest dimension", "Stated as N3" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_major_salivary_glands_7162.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_major_salivary_glands_7162.json deleted file mode 100644 index 54fc7e0ed..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_major_salivary_glands_7162.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_major_salivary_glands_7162", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Major Salivary Glands", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a selective neck dissection specimen will ordinarily include 6 or more lymph nodes. Histological examination of a radical or modified radical neck dissection specimen will ordinarily include 10 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. When size is a criterion for pN classification, measurement of made of the metastasis, not of the entire lymph node. (1)\n\n**Note 2:** If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are assigned as ipsilateral.\n\n**Note 3:** Size of the largest metastasis in a lymph node must be known to assign N. You may use a physician’s statement of the N category if this is the only information in the medical record.\n* If the size of the metastasis is not documented, determine the size of the largest involved lymph node as documented pathologically\n* If the size of the lymph node(s) cannot be determined, assign N1\n* Do not code the size of any node(s) assigned in M (distant metastasis)\n\n**Note 4:** The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are assigned as regional nodes for TNM staging.\n\n **Level I**\n \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n**Level II - Upper jugular** \n\n Jugulodigastric (subdigastric)\n Upper deep cervical \n Level IIA - Anterior\n Level IIB - Posterior \n**Level III - Middle jugular**\n\n Middle deep cervical\n**Level IV - Lower jugular**\n\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical \n Virchow node\n**Level V - Posterior triangle group**\n\n Posterior cervical\n Level VA - Spinal accessory \n Level VB - Transverse cervical, supraclavicular \n**Level VI - Anterior compartment group**\n\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n**Level VII - Superior mediastinal group (for other mediastinal nodes see M [distant metastasis])**\n\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch \n**Other groups**\n\n Cervical, NOS\n Deep cervical, NOS\n Facial\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Internal jugular, NOS\n Parapharyngeal \n Parotid\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS\n\n**Note 5:** For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in **Site-Specific Factors 1, 3-9**.\n\n**Note 6:** For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. \n* If the specific level cannot be determined, assign them as Level V nodes", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 56", - "last_modified" : "2018-05-14T21:29:03.176Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "No regional lymph node involvement" ], [ "p1", "pN1", "Metastasis in a single ipsilateral lymph node, 3 cm or less in greatest dimension", "Positive ipsilateral lymph node, not stated if single or multiple\nPositive lymph node, not stated if ipsilateral, bilateral, or contralateral \n\nPositive lymph node, size not stated\n\nStated as N1" ], [ "p2", "pN2", "Metastasis as described below", "Note: N2 has subcategories of N2a, N2b and N2c. Assign N2 only when there is no information available to assign one of the subcategories\n\nStated as N2 [NOS]" ], [ "p2A", "pN2a", "Metastasis in a single ipsilateral lymph node, more than 3 cm but not more than 6 cm in greatest dimension", "Stated as N2a" ], [ "p2B", "pN2b", "Metastasis in multiple ipsilateral lymph nodes, none more than 6 cm in greatest dimension", "Multiple lymph nodes, not stated if ipsilateral, bilateral or contralateral\n\nStated as N2b" ], [ "p2C", "pN2c", "Metastasis in bilateral or contralateral lymph nodes, none more than 6 cm in greatest dimension", "Bilateral lymph nodes, size not stated\n\nStated as N2c" ], [ "p3", "pN3", "Metastasis in a lymph node more than 6 cm in greatest dimension", "Stated as N3" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_net_ampulla_11118.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_net_ampulla_11118.json deleted file mode 100644 index f8cd37d1c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_net_ampulla_11118.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_n_net_ampulla_11118", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N NET Ampulla", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 10 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily is not met, classify as pN0. (1)\n\n**Note 2:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n\n Anterior to the ampulla of Vater\n Inferior to the ampulla of Vater\n Posterior to the ampulla of Vater\n Superior to the ampulla of Vater\n \n Celiac\n Hepatic \n Hepatic artery\n Infrapyloric (subpyloric)\n Lateral aortic (lumbar)\n Node of the foramen of Winslow (epiploic)(omental)\n Pancreaticoduodenal\n Peripancreatic (EXCEPT nodes at tail of pancreas)\n Periportal (portal vein)\n Proximal mesenteric\n Retroperitoneal\n Superior mesenteric", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 130", - "last_modified" : "2018-05-14T21:29:03.555Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "No regional lymph node involvement" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_ophthalmic_no_tis_80282.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_ophthalmic_no_tis_80282.json deleted file mode 100644 index a4abac034..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_ophthalmic_no_tis_80282.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_n_ophthalmic_no_tis_80282", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Ophthalmic", - "title" : "Pathologic N", - "notes" : "**Regional lymph nodes**\n\n Cervical, NOS\n Submandibular (submaxillary)\n Parotid, NOS\n Infra-auricular\n Preauricular", - "last_modified" : "2018-05-14T21:29:00.844Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_86254.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_86254.json deleted file mode 100644 index d362dff24..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_86254.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_n_peritoneum_retroperitoneum_86254", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Peritoneum-Retroperitoneum", - "title" : "Pathologic N", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS in this fields. Distant nodes are coded in distant metastasis.\n\n**Note 2:** Regional lymph nodes are defined as those in the vicinity of the primary tumor.\n\n**Note 3:** Regional lymph node involvement is rare. For this schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative. \n* Assign NX only when there is no available information on the extent of the patient's disease, for example when a lab-only case is abstracted from a biopsy report and no clinical history is available\n\n**Regional lymph nodes**\n\n Intra-abdominal\n Paracaval\n Pelvic\n Subdiaphragmatic", - "last_modified" : "2018-05-14T21:29:04.411Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_88959.json b/src/test/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_88959.json deleted file mode 100644 index e154997fc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_n_peritoneum_retroperitoneum_88959.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_n_peritoneum_retroperitoneum_88959", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Peritoneum-Retroperitoneum", - "title" : "Pathologic N", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 2:** Regional lymph nodes are defined as those in the vicinity of the primary tumor.\n\n**Regional lymph nodes**\n\n Intra-abdominal\n Paracaval\n Pelvic\n Subdiaphragmatic", - "last_modified" : "2018-05-14T21:29:01.793Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically no nodes positive and no pathologic evaluation of nodes", "" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_adrenal_gland_28077.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_adrenal_gland_28077.json deleted file mode 100644 index 46273be6e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_adrenal_gland_28077.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_t_adrenal_gland_28077", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Adrenal Gland", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for adrenal gland tumors.\n\n**Note 2:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Invasive carcinoma confined to adrenal gland\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:03.546Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 5 cm or less in greatest dimension \nNo extra-adrenal invasion", "Stated as T1" ], [ "p2", "pT2", "Tumor greater than 5 cm\nNO extra-adrenal invasion", "Stated as T2" ], [ "p3", "pT3", "Tumor of any size with local invasion, \nNOT invading adjacent organs", "Adjacent connective tissue \n Gerota fascia\n\nStated as T3" ], [ "p4", "pT4", "Tumor of any size with invasion of adjacent organs", "Adjacent organs/structures:\n Kidney, ipsilateral or NOS\n Pancreas\n Retroperitoneal structures including:\n Great vessels:\n Aorta\n Inferior vena cava\n\nFurther contiguous extension including:\n Diaphragm\n Liver\n Spleen\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_ampulla_vater_23469.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_ampulla_vater_23469.json deleted file mode 100644 index c4ef6cc5b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_ampulla_vater_23469.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_t_ampulla_vater_23469", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Ampulla Vater", - "title" : "Pathologic T", - "notes" : "**Note:** High grade dysplasia and severe dysplasia of the ampulla vater are generally not reportable in cancer registries.\n* Assign pTis if your registry collects these tumors", - "last_modified" : "2018-05-14T21:29:03.543Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor limited to ampulla of Vater or sphincter of Oddi", "Invasive tumor confined/limited to ampulla of Vater\nInvasive tumor extending to sphincter of Oddi\n\nConfined to ampulla, NOS\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor invades duodenal wall", "Stated as T2" ], [ "p3", "pT3", "Tumor invades pancreas", "Stated as T3" ], [ "p4", "pT4", "Tumor invades peripancreatic soft tissue, or other adjacent organs or structures", "Common bile duct\n\nExtrahepatic bile duct(s) \n(Other than common bile duct and sphincter of Oddi)\n\nExtension to other adjacent organs or tissues:\n Blood vessel(s) (major):\n Hepatic artery\n Portal vein\n Gallbladder\n Hepatic flexure of colon\n Lesser omentum\n Liver, including porta hepatis\n Pericancreatic soft tissue\n Stomach, NOS:\n Distal\n Proximal\n Transverse colon\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_anus_61291.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_anus_61291.json deleted file mode 100644 index 8064748cb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_anus_61291.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_t_anus_61291", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Anus", - "title" : "Pathologicl T", - "notes" : "**Note 1:** High-grade squamous intraepithelial lesions (HSIL) and anal intraepithelial neoplasia (AIN) grade II-III are not normally collected by cancer registries. \n* AIN II-III or AIN III is reportable to standard-setters (except the Commission on Cancer)\n* Assign pTis if your registry collects these tumors\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2, or T3) based on the tumor size for the following descriptions\n\n Invasive tumor confined to mucosa, NOS (including intramucosal, NOS)\n\n Invades \n Lamina propria\n Muscularis mucosae\n Submucosa (superficial invasion)\n Muscularis propria (internal sphincter)\n\n Ischiorectal fat/tissue\n Perianal skin\n Perirectal skin\n Rectal mucosa or submucosa\n Rectal wall\n Skeletal muscle(s):\n Anal sphincter (external)\n Levator ani\n Subcutaneous perianal tissue\n\n Confined to anus\n Localized, NOS\n\n**Note 4:** Code incidental finding of malignancy in hemorrhoid according to greatest extension of tumor into wall of anus. \n* Assign T1 for localized, NOS if extension not specified\n\n**Note 5:** Assign T4 for contiguous extension from the site of origin. Discontinuous involvement is assigned in M (distant metastasis).", - "last_modified" : "2018-05-14T21:29:00.090Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ\nBowen disease\nHigh-grade Squamous Intraepithelial Lesion (HSIL)\nAnal Intraepithelial Neoplasia II-III (AIN II-III)", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 5 cm\nin greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 5 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Tumor of any size invades adjacent organ(s), \ne.g., vagina, urethra, bladder", "Adjacent organs: \n Bladder\n Broad ligament(s)\n Cervix uteri\n Corpus uteri\n Pelvic peritoneum\n Perineum\n Prostate\n Urethra\n Vagina\n Vulva\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_appendix_94760.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_appendix_94760.json deleted file mode 100644 index c8e214254..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_appendix_94760.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_t_appendix_94760", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Appendix", - "title" : "Pathologic T", - "notes" : "**Note 1:** High-grade dysplasia of the appendix is not always collected by cancer registries.\n* Assign pTis if your registry collects these tumors\n\n**Note 2:** pTis includes cancer cells confined within the glandular basement membrane (intraepithelial) or lamina propria (intramucosal) with no extension through muscularis mucosa into submucosa. \n\n**Note 3:** Ignore intraluminal extension to adjacent segment(s) of colon; code depth of invasion or extracolonic spread as indicated.\n\n**Note 4:** Mucinous tumors are identified by morphology codes 8480, 8481, and 8490.\n\n**Note 5:** One or more malignant satellite peritumoral nodules or tumor deposits (TD) in the periappendiceal adipose tissue of a primary carcinoma without histologic evidence of residual lymph node in the nodule may represent discontinuous spread, venous invasion with extravascular spread, or a totally replaced lymph node. Replaced nodes are counted as positive nodes and coded in Regional lymph nodes. TD representing discontinuous spread or venous invasion are are assigned T3, and the number of TD representing discontinuous spread or venous invasion is coded in Site-Specific Factor 4.\n\n**Note 6:** Direct invasion in T4 includes invasion of other intestinal segments by way of the serosa, e.g., invasion of ileum. \n\n**Note 7:** Assign cT4b for tumor that is adherent to other organs or structures macroscopically. However, if no tumor is present in the adhesion, microscopically, the classification should be pT1, pT2 or pT3. \n\n**Note 8:** Assign T4b for contiguous extension from the site of origin. \n* *Exception:* Intraperitoneal metastases limited to the right lower quadrant (RLQ) of the abdomen for mucinous tumors, discontinuous involvement is coded in M (distant metastasis)", - "last_modified" : "2018-05-14T21:29:03.430Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ: intraepithelial or invasion of lamina propria", "Intraepithelial, noninvasive\n(Adeno)carcinoma, noninvasive, in a polyp or adenoma\n\nInvasive tumor confined to:\nLamina propria, including lamina propria in the stalk of a polyp\nMucosa, NOS, including intramucosal, NOS\nMuscularis mucosae (but not through), including muscularis mucosae in the stalk of a polyp\n\nStated as Tis" ], [ "p1", "pT1", "Tumor invades submucosa", "Confined to: \nHead of polyp, NOS\nStalk of polyp, NOS\n\nInvasive tumor in polyp, NOS\n\nInvades submucosa (superficial invasion), including submucosa in stalk of polyp\n\nConfined to appendix, NOS\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor invades muscularis propria", "Stated as T2" ], [ "p3", "pT3", "Tumor invades subserosa or mesoappendix", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nNon-peritonealized pericolic tissues invaded\nPerimuscular tissue invaded\nTransmural, NOS\nWall, NOS\n\nExtension to:\n Adjacent tissue(s), NOS\n Connective tissue\n Mesenteric fat\n Mesentery \n Pericolic fat\n\nStated as T3" ], [ "p4", "pT4", "Tumor perforates visceral peritoneum, including mucinous peritoneal tumor within the right lower quadrant and/or directly invades other organs or structures", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories.\n\nStated as T4 [NOS]" ], [ "p4A", "pT4a", "Tumor perforates visceral peritoneum, including mucinous peritoneal tumor within the right lower quadrant", "Invasion of/through serosa (mesothelium) (visceral peritoneum)\nTumor penetrates to surface of visceral peritoneum\n\nFor mucinous tumors only:\n Peritoneal involvement confined within right lower quadrant ONLY\n Peritoneal involvement confined within right lower quadrant plus local extension equivalent to \n T1, T2, T3 or T4\n \nStated as T4a" ], [ "p4B", "pT4b", "Tumor directly invades other organs or structures", "Adherent to other organs or structures clinically with no microscopic examination\n \nTumor found in adhesion(s) if microscopic examination performed\n\nAdherent to other organs or structures:\n Abdominal wall\n Adrenal (suprarenal) gland\n Bladder\n Diaphragm\n Fallopian tube\n Fistula to skin\n Gallbladder\n Greater omentum\n Kidney\n Liver\n Ovary\n Other segment(s) of colon/rectum via serosa\n Pelvic peritoneum\n Retroperitoneum (excluding fat) \n Small intestine\n Ureter\n Uterus\n\nOther contiguous extension\n\nFor mucinous tumors only:\n Regional extension characterized as T4b plus peritoneal involvement confined within right lower quadrant\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_ban.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_ban.json deleted file mode 100644 index a33bd1bb3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_ban.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_t_ban", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Skin", - "title" : "Pathologic T", - "notes" : "**Note 1:** pTX includes shave biopsies and regressed melanomas.\n\n**Note 2:** In addition to the depth of invasion, a Clark's level may be assigned by the pathologist. If there is a discrepancy between the Clark's level and the pathologic description of extent (invasion into the layers of the dermis), assign the higher T.\n\n**Note 3:** Code the greatest extent of invasion from any procedure performed on the lesion, whether it is described as a biopsy or an excision. \n\n**Note 4:** Satellite lesions/nodules or in-transit metastases are coded in regional lymph nodes.\n\n**Note 5:** Breslow's depth is coded in **Site-Specific Factor 1, Measured Thickness (Depth), Breslow Measurement.**\n\n**Note 6:** Ulceration of the melanoma is coded in **Site-Specific Factor 2, Ulceration.**", - "footnotes" : "^ Definition from the updated pages from [TNM Classification of Malignant Tumours, Seventh edition](http://www.wileyanduicc.com/pdf/Corrected_pages.pdf)", - "last_modified" : "2018-05-14T21:29:00.670Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, depth not stated\nPhysician assigns pTX, no other information available to determine T\n\nMelanomas diagnosed via shave biopsy\nRegressed melanoma" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Melanoma in situ (Clark Level I)\n Atypical melanocytic hyperplasia\n Several melanocytic dysplasia\n Not an invasive malignant lesion", "Intraepidermal, intraepithelial, noninvasive \n(Basement membrane of the epidermis is intact)\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 1 mm or less in thickness", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nSkin/dermis, NOS\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "without ulceration and mitosis less than 1mm (squared)^", "Clarks levels II-V WITHOUT ulceration\n\nPapillary dermis invaded WITHOUT ulceration or UNKNOWN if ulceration\nPapillary-reticular dermal interface invaded WITHOUT ulceration or UNKNOWN if ulceration\n\nReticular dermis invaded WITHOUT ulceration or UNKNOWN if ulceration\n\nSubcutaneous tissue invaded (through entire dermis) WITHOUT ulceration or UNKNOWN if ulceration\n\nStated as T1a\n\nNote: Depth of invasion (breslow's depth) has priority over any other information" ], [ "p1B", "pT1b", "with ulceration or mitoses equal to or greater than 1mm (squared)^", "Clarks levels II-V WITH ulceration\n\nPapillary dermis invaded WITH ulceration \nPapillary-reticular dermal interface invaded WITH ulceration \n\nReticular dermis invaded WITH ulceration\n\nSubcutaneous tissue invaded (through entire dermis) WITH ulceration\n\nStated as T1b\n\nNote: Depth of invasion (breslow's depth) has priority over any other information." ], [ "p2", "pT2", "Tumor more than 1 mm but not more than 2 mm in thickness", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nStated as T2 [NOS]" ], [ "p2A", "pT2a", "without ulceration", "Stated as T2a" ], [ "p2B", "pT2b", "with ulceration", "Stated as T2b" ], [ "p3", "pT3", "Tumor more than 2 mm but not more than 4 mm in thickness", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories\n\nStated as T3 [NOS]" ], [ "p3A", "pT3a", "without ulceration", "Stated as T3a" ], [ "p3B", "pT3b", "with ulceration", "Stated as T3b" ], [ "p4", "pT4", "Tumor more than 4 mm in thickness", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nStated as T4 [NOS]" ], [ "p4A", "pT4a", "without ulceration", "Further contiguous extension:\nUnderlying cartilage, bone, skeletal muscle WITHOUT ulceration\n\nStated as T4a" ], [ "p4B", "pT4b", "with ulceration", "Further contiguous extension:\nUnderlying cartilage, bone, skeletal muscle WITH ulceration\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_baq.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_baq.json deleted file mode 100644 index 2e0584804..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_baq.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_t_baq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Palate Soft", - "title" : "Pathologic T", - "notes" : "**Note 1:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 2:** Assign the appropriate T category (T1, T2, T3) based on the tumor size for the following descriptions\n\n Invasive tumor on one side confined to\n Lamina propria\n Submucosa\n Buccal mucosa (inner cheek)\n Gum (gingiva), upper\n Lateral pharyngeal wall\n Musculature invaded\n Tonsillar pillars and fossae\n Tonsils\n Tumor crosses midline\n\n Confined to soft palate\n Localized, NOS", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:02.291Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "In situ, intraepithelial, noninvasive" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension OR \nextension to lingual surface of epiglottis", "Stated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades any of the following:\n Larynx\n Deep/extrinsic muscle of tongue, which are: \n Genioglossus\n Hyoglossus\n Palatoglossus \n Styloglossus\n Medial pterygoid\n Hard palate\n Mandible", "Hypopharynx\nMandible\nMaxilla \nNasal cavity\nPalatine bone (bone of hard palate)\nPterygoid muscle, medial or NOS\nTongue\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Lateral pterygoid muscle\n Pterygoid plates\n Lateral nasopharynx\n Skull base\n Encases carotid artery", "Maxillary sinus (antrum) \nNasopharynx, lateral or NOS\nPterygoid muscle, lateral\nPterygoid plates\n\nFurther contiguous extension including:\n Skull base\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_bbo.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_bbo.json deleted file mode 100644 index 1c9626ef9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_bbo.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_t_bbo", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Prostate", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for prostate tumors.\n\n**Note 2:** T1 (T1a, T1b, T1c and T1 [NOS]) are only used for clinical evaluation of prostate tumors. \n\n**Note 3:** When prostate cancer is an incidental finding during a prostatectomy for other reasons (for example, a cystoprostatectomy for bladder cancer), assign the appropriate T category for the extent of disease found (for example, involvement in one lobe, both lobes, or more)\n\n**Note 4:** When the apical margin, distal urethral margin, bladder base margin, or bladder neck margin is involved and there is no extracapsular extension, assign pT2.\n\n**Note 5:** Invasion into the prostatic apex or into (but not beyond) the prostatic capsule is not classified as T3, but as T2", - "last_modified" : "2018-05-14T21:29:01.865Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p2", "pT2", "Tumor confined within prostate", "Note: T2 has subcategories of T2a, T2b and T2c. Assign T2 only when there is no information available to assign one of the subcategories\n\nInvasion into (but not beyond) prostatic capsule\nInvolved one lobe/side, NOS \n\nIntracapsular involvement only\nNo extracapsular extension but specific margins involved (see Note 4)\n\nConfined to prostate, NOS \nLocalized, NOS\n\nStated as T2 [NOS]" ], [ "p2A", "pT2a", "Tumor involves one-half of one lobe or less", "Involves one half of one lobe/side or less \n\nNo extracapsular extension but specific margins involved plus involves one half of one lobe/side or less\n\nStated as T2a" ], [ "p2B", "pT2b", "Tumor involves more than one-half of one lobe, but not both lobes", "Involves more than one half of one lobe/side, but not both lobes/sides\n\nInvasion into (but not beyond) prostatic capsule plus involves more than one half of one side/lobe, but not both lobes/sides\n\nNo extracapsular extension but specific margins involved plus involves more than one half of one lobe/side, but not both lobes/sides\n(see Note 4)\n\nStated as T2b" ], [ "p2C", "pT2c", "Tumor involves both lobes", "Involves both lobes/side\n\nInvasion into (but not beyond) prostatic capsule plus involves both lobes/sides\n\nNo extracapsular extension but specific margins involves plus involves both lobes/sides\n(see Note 4)\n\nStated as T2c" ], [ "p3", "pT3", "Tumor extends through the prostatic capsule", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories\n\nStated as T3 [NOS]" ], [ "p3A", "pT3a", "Extracapsular extension (unilateral or bilateral) \n Including microscopic bladder neck involvement", "Extracapsular extension (beyond prostatic capsule), NOS\nThrough capsule, NOS\nExtracapsular extension and specific margins involved (see Note 4)\nExtension to periprostatic tissue\n\nStated as T3a" ], [ "p3B", "pT3b", "Tumor invades seminal vesicle(s)", "Extension to seminal vesicle(s) plus microscopic bladder neck involvement \n\nStated as T3b" ], [ "p4", "pT4", "Tumor is fixed or invades adjacent structures other than seminal vesicles: \n External sphincter\n Rectum\n Levator muscles\n Pelvic wall", "Extension to or fixation to adjacent structures other than seminal vesicles:\n Bladder neck, except microscopic bladder neck involvement \n Bladder, NOS\n Fixation, NOS\n Rectovesical (Denonvillier's) fascia\n \nExtraprostatic urethra (membranous urethra)\n\nSkeletal muscle, NOS\nUreter(s)\n\nExtension to or fixation to pelvic wall or pelvic bone\n \nFurther contiguous extension including:\n Bone\n Other organs\n Penis\n Sigmoid colon\n Soft tissue other than periprostatic\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_bcs.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_bcs.json deleted file mode 100644 index 02c16f791..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_bcs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_t_bcs", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Conjunctiva", - "title" : "Pathologic T", - "notes" : "**Note 1:** The substantia propria is the stromal tissue of the conjunctiva underlying the epithelium. The bulbar conjunctiva covers the eyeball, the palpebral conjunctiva lines the eyelids, and the forniceal conjunctiva covers the junction of the eyelid and eyeball. The caruncle is the fleshy prominence at the inner corner of the eye lined by conjunctival epithelium.\n\n**Note 2:** Tumors confined to the epithelium are staged as Tis in TNM 7th Edition. Melanoma in situ (includes the term primary acquired melanosis) with atypia replacing greater than 75% of the normal epithelial thickness, with cytological features of epithelial cells, including abundant cytoplasm, vesicular nuclei, or prominent nucleoli, and/or presence of intraepithelial nests of atypical cells. (1)\n\n**Note 3:** Quadrants are defined by clock hour, starting at the limbus (e.g., 6, 9, 12, 3) extending from the central cornea, to and beyond the eyelid margins. This will bisect the carcuncle. Quadrants of involvement are coded in **Site-Specific Factor 2, Quadrants**.(1)", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pgs. 280, 281\n\n\\# pT1 not defined in AJCC 7th edition. \n\\## pT2 not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.515Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Melanoma confined to the conjunctival epithelium (in situ)", "In situ, intraepithelial, noninvasive\nMelanoma confined to conjunctival epithelium WITH or WITHOUT corneal extension\n\nStated as Tis" ], [ "p1", "pT1", "Melanoma of the bulbar conjunctiva#", "Note: T1 has subcategories of T1a, T1b and T1c. Assign T1 only when there is no information available to assign one of the subcategories\n\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor not more than 0.5 mm in thickness with invasion of the substantia propria", "Stated as T1a" ], [ "p1B", "pT1b", "Tumor more than 0.5 mm but not more than 1.5 mm in thickness with invasion of the substantia propria", "Stated as T1b" ], [ "p1C", "pT1c", "Tumor greater than 1.5 mm in thickness with invasion of the substantia propria", "Stated as T1c" ], [ "p2", "pT2", "Melanoma of the palpebral, forniceal, or caruncular conjunctiva##", "Note: T2 has subcategories of T2a, T2b and T2c. Assign T2 only when there is no information available to assign one of the subcategories\n\nStated as T2 [NOS]" ], [ "p2A", "pT2a", "Tumor not more than 0.5 mm in thickness with invasion of the substantia propria", "Stated as T2a" ], [ "p2B", "pT2b", "Tumor more than 0.5 mm but not greater than 1.5 mm in thickness \nWITH invasion of the substantia propria", "Stated as T2b" ], [ "p2C", "pT2c", "Tumor greatest than 1.5 mm in thickness with invasion of the substantia propria", "Stated as T2c" ], [ "p3", "pT3", "Melanoma invades the eye, eyelid, nasolacrimal system, sinuses, or orbit", "Conjunctival melanoma with local invasion NOS\n\nStated as T3" ], [ "p4", "pT4", "Melanoma invades CNS", "Stated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_bcu.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_bcu.json deleted file mode 100644 index 90d55eff0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_bcu.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_t_bcu", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Retinoblastoma", - "title" : "Pathologic T", - "notes" : "**Note 1:** True invasion of the choroid is defined as one or more solid nests of tumor cells that fills or replaces the choroid and has pushing borders. This is distinguished from artifactual invasion, or groups of tumor cells in the open spaces beween intraocular structures, extraocular tissues, and/or subarachnoid space. \n\n**Note 2:** Focal choroidal invasion is a solid nest of tumor measuring less than 3 millimeter (mm) in maximum diameter. Massive choroidal invasion is a solid tumor nest 3 mm or more in maximum diameter.", - "last_modified" : "2018-05-14T21:29:01.022Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "No enucleation performed or unknown if enucleation performed\n\nPathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor confined to eye with no optic nerve or choroidal invasion", "Tumor cells in the vitreous body WITHOUT optic nerve or choroidal invasion\n\nTumor(s) confined to and WITHOUT optic nerve or choroidal invasion: \n Eye, NOS \n Retina\n Subretinal space \n \nStated as T1" ], [ "p2", "pT2", "Tumor with minimal optic nerve and/or choroidal invasion", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nTumor with minimal optic nerve and/or choroidal invasion, NOS\n\nStated as T2" ], [ "p2A", "pT2a", "Tumor superficially invades optic nerve head but does not extend past lamina cribosa OR exhibits focal choroidal invasion", "Tumor invades optic nerve up to, but not through, level of lamina cribrosa WITHOUT invasion of choroid\n\nTumor invades choroid focally WITHOUT invasion of optic nerve\n\nStated as T2a" ], [ "p2B", "pT2b", "Tumor superficially invades optic nerve head but does not extend past lamina cribosa AND exhibits focal choroidal invasion", "Tumor invades optic nerve up to, but not through, level of lamina cribosa WITH focal invasion of the choroid\n\nStated as T2b" ], [ "p3", "pT3", "Tumor with significant optic nerve and/or choiroidal invasion", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories\n\nTumor with significant optic nerve and/or choroidal invasion, NOS\n\nStated as T3 [NOS]" ], [ "p3A", "pT3a", "Tumor invades optic nerve past lamina cribosa but not to surgical resection line OR \n\nTumor exhibits massive choroidal invasion", "Tumor invades optic nerve through the level of lamina cribosa but not to line of resection WITHOUT massive invasion of choroid\n\nTumor massively invades choroid WITHOUT invasion of optic nerve through level of lamina cribrosa\n\nTumor with significant optic nerve and/or choroidal invasion\n\nStated as T3a" ], [ "p3B", "pT3b", "Tumor invades optic nerve past lamina cribrosa but not to surgical resection line and exhibits massive choroidal invasion", "Tumor invades optic nerve through level of lamina cribrosa but not to line of resection WITH massive invasion of choroid\n\nStated as T3b" ], [ "p4", "pT4", "Tumor invades optic nerve to resection line OR \n\nExhibits extraocular extension elsewhere", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nExtraocular extension WITHOUT invasion of optic nerve to resection line including:\n Invasion of orbit through sclera\n Extension to:\n Anterior or posteriorly into orbit\n Apex of orbit\n Brain\n Brain beyond chiams\n Subarachnoidal space of optic nerve\n \nStated as T4 [NOS]" ], [ "p4A", "pT4a", "Tumor invades optic nerve to resection line \nNO extraocular extension identified", "Invasion of optic nerve to resection line WITHOUT extraocular extension \n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades optic nerve to resection line \nExtraocular extension identified", "Invasion of optic nerve to resection line WITH extraocular extension including: \n Invasion of orbit through sclera\n Extension to:\n Anterior or posteriorly into orbit\n Apex of orbit\n Brain\n Brain beyond chiams\n Subarachnoidal space of optic nerve\n\nStaged as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_bfi.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_bfi.json deleted file mode 100644 index c6cc25c70..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_bfi.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_t_bfi", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T NET Colon", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for NET colon tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 3:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T (sub)category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 (sub)categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T (sub)category (T1, T2) based on the tumor size for the following descriptions:\n\n Invasive tumor confined to mucosa, NOS including intramucosal, NOS\n Invades lamina propria, including lamina propria in the stalk of a polyp\n Invades submucosa (superficial invasion), including submucosa in the stalk of a polyp\n Confined to and not through the muscularis mucosae, including muscularis mucosae in the stalk of a polyp\n\n Confined to colon, NOS\n Localized, NOS \n\n**Note 5:** Assign T4 for tumor with macroscopic adhesions to other organs or structures and for pathologically confirmed tumor in adhesions. \n* If no tumor is present in adhesions upon microscopic examination, assign the appropriate T category to describe the microscopically confirmed depth of tumor invasion for these cases", - "last_modified" : "2018-05-14T21:29:00.813Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor invades lamina propria or submucosa and is \nno greater than 2 cm in size", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor less than 1 cm in size", "Stated as T1a" ], [ "p1B", "pT1b", "Tumor 1-2 cm in size", "Stated as T1b" ], [ "p2", "pT2", "Tumor invades muscularis propria or is greater than\n2 cm in size", "Muscularis propria invaded\n\nStated as T2" ], [ "p3", "pT3", "Tumor invades subserosa, or non-peritonealized \npericolic or perirectal tissues", "Extension through wall, NOS\nThrough muscularis propria or muscularis, NOS\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS\n\nExtension to:\n All colon sites:\n Adjacent tissue(s), NOS\n Connective tissue\n Mesenteric fat\n Mesentery \n Mesocolon\n Pericolic fat\n\n Ascending and descending colon:\n Retroperitoneal fat \n\n Transverse colon/flexures:\n Gastrocolic ligament\n Greater omentum\n\nFat, NOS\n\nStated as T3" ], [ "p4", "pT4", "Tumor perforates peritoneum or invades other organs", "Invasion of/through serosa (mesothelium) (visceral peritoneum)\n\nAdherent to other organs or structures, NOS\nAll colon sites:\n Abdominal wall \n Adrenal (suprarenal) gland\n Bladder\n Diaphragm\n Fistula to skin\n Gallbladder\n Other segment(s) of colon via serosa\n Small intestine\n Retroperitoneum (excluding fat)\n\nCecum (C180):\n Fallopian tube\n Greater omentum\n Kidney\n Liver\n Ovary\n Ureter\n Uterus\n\nAscending colon (C182):\n Greater omentum\n Liver, right lobe\n Right kidney\n Right ureter\n\nTransverse colon and flexures (C183, C184, C185):\n Gallbladder/bile ducts\n Kidney\n Liver\n Pancreas\n Spleen\n Stomach\n Ureter\n\nDescending colon (C186):\n Fallopian tube\n Greater omentum\n Left kidney\n Left ureter\n Ovary\n Pelvic wall\n Spleen\n Uterus\n\nSigmoid colon (C187):\n Cul de sac (rectouterine pouch)\n Fallopian tube \n Greater omentum\n Ovary\n Pelvic wall\n Uterus\n\nStated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_bladder_68862.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_bladder_68862.json deleted file mode 100644 index dee90e82a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_bladder_68862.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_t_bladder_68862", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Bladder", - "title" : "Pathologic T", - "notes" : "**Note 1:** If pTa is assigned, then Behavior ICD-O-3 must be 2.\n\n**Note 2:** The two main types of bladder cancer are the flat (sessile) variety and the papillary type. \n* Flat (sessile) variety is called in situ when tumor has not penetrated the basement membrane\n* Papillary tumor that has not penetrated the basement membrane is called noninvasive\n\n**Note 3:** Noninvasive papillary transitional carcinoma: Pathologists use many different descriptive terms for noninvasive papillary transitional cell carcinoma. Frequently, the pathology report does not contain a definite statement of non-invasion; however, non-invasion can be inferred from the microscopic description. \n\n A. Definite statements of non-invasion for papillary transitional cell carcinomas (Ta) include\n Noninfiltrating\n Noninvasive\n No evidence of invasion\n No extension into lamina propria\n No stromal invasion\n No extension into underlying supporting tissue\n Negative lamina propria and superficial muscle\n Negative muscle and (subepithelial) connective tissue\n No infiltrative behavior/component\n B. Inferred descriptions of non-invasion for papillary transitional cell carcinomas include\n No involvement of muscularis propria and no mention of subepithelium/submucosa\n No statement of invasion (microscopic description present)\n (Underlying) Tissue insufficient to judge depth of invasion\n No invasion of bladder wall\n No involvement of muscularis propria\n Benign deeper tissue\n Microscopic description problematic (non-invasion versus superficial invasion)\n Frond surfaced by transitional cell\n No mural infiltration\n No evidence of invasion (no sampled stroma)\n Confined to mucosa (see also Note 4 if tumor is not described as papillary)\n\n**Note 4:** Noninvasive (in situ) flat transitional cell carcinoma: Careful attention must be given to the use of the term \"confined to mucosa\" for flat bladder carcinomas. Historically, carcinomas described as \"confined to mucosa\" were coded as localized. However, pathologists use this designation for non-invasion as well. Pathologists also vary in their use of the terms \"invasion of mucosa, grade 1\" and \"invasion of mucosa, grade 2\" to distinguish between noninvasive and invasive carcinomas. In order to accurately code tumors described as \"confined to mucosa\", abstractors should determine: \n\n If the tumor is confined to the epithelium: then it is noninvasive (Tis)\n If the tumor has penetrated the basement membrane to invade the lamina propria: It is invasive (T1)\n \n The lamina propria and submucosa tend to merge when there is no muscularis mucosa, so these terms may be used interchangeably, along with stroma and subepithelial connective tissue\n\n If the distinction between involvement of the epithelium and lamina propria cannot be made, then the tumor should be coded as \"confined to mucosa, NOS\" (Tis)\n \n Statements meaning confined to mucosa, NOS for flat transitional cell carcinomas include\n Confined to mucosal surface\n Limited to mucosa, no invasion of submucosa and muscularis\n No infiltration/invasion of fibromuscular and muscular stroma\n Superficial, NOS\n\n**Note 5:** In case of multifocal noninvasive Ta and Tis tumors, assign Tis.\n\n**Note 6:** Assign T1 when there is extension from the bladder into the subepithelial tissue of prostatic urethra. \n\n**Note 7:** Assign T2b if the only description of extension is through full thickness of bladder wall, and there is no clear statement as to whether or not the cancer has extended into fat. If there is documentation that tumor has breached the wall, including invasion into fat or beyond, assign T3a or higher.\n\n**Note 8:** An associated in situ component of tumor extending into the prostatic ducts, prostatic glands, or ureter without invasion is disregarded in staging classification. Assign the T that best describes depth of bladder wall invasion. \n\n**Note 9:** Assign T1, T2a, T2b, T2 as appropriate for extension from bladder directly into distal ureter. Direct invasion of the distal ureter is classified by the depth of greatest invasion in the bladder or ureter for TNM staging. The distal ureter is defined as below the iliac vessel, within the pelvic brim. \n\n**Note 10:** A cystectomy (partial or total) must be done to assign pathologic T. If only a TURB is done, this is a clinical T.", - "last_modified" : "2018-05-14T21:29:02.884Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pA", "pTa", "Non-invasive papillary carcinoma", "Papillary:\n Papillary transitional cell carcinoma, stated to be noninvasive\n Papillary non-infiltrating\n Papillary transitional cell carcinoma, with inferred description of noninvasion \n(see Notes 2 and 3)\n\nStated as Ta" ], [ "pIS", "pTis", "Carcinoma in situ: \"flat tumor\"", "Nonpapillary:\n Sessile (flat) (solid) carcinoma in situ\n Carcinoma in situ, NOS\n Transitional cell carcinoma in situ\n\nConfined to mucosa, NOS (see Note 4)\n\nStated as Tis" ], [ "p1", "pT1", "Tumor invades subepithelial connective tissue", "Subepithelial connective tissue \n Bladder:\n Lamina propria\n Stroma\n Submucosa\n Tunica propria\n Prostatic urethra\n\nExtension to distal ureter:\n Subepithelial connective tissue of bladder and/or distal ureter (see Note 9)\n\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor invades muscle", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories.\n\nMuscle (muscularis propria) invaded, NOS of bladder only\n\nExtension to distal ureter:\n Muscle (muscularis propria) invaded, NOS of bladder and/or distal ureter (see Note 9)\n\nStated as T2 [NOS]" ], [ "p2A", "pT2a", "Tumor invades superficial muscle (inner half)", "Muscle (muscularis propria) of bladder only:\n Superficial muscle - inner half\n\nExtension to distal ureter:\n Superficial muscle of bladder and/or distal ureter (see Note 9)\n\nStated as T2a" ], [ "p2B", "pT2b", "Tumor invades deep muscle (outer half)", "Muscle (muscularis propria) of bladder only:\n Deep muscle--outer half\nExtension through full thickness of bladder wall BUT still contained within bladder wall \n(see Note 7)\n\nExtension to distal ureter:\n Deep muscle or extension through wall of bladder and/or distal ureter (see Note 9)\n\nStated as T2b" ], [ "p3", "pT3", "Tumor invades perivesical tissue", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories.\n\nExtension to perivesical fat/tissues, NOS (unknown if microscopic or macroscopic), including:\n Adventitia\n Serosa (mesothelium)\n Peritoneum\n Periprostatic tissue\n Distal periureteral tissue\n\nStated as T3 [NOS]" ], [ "p3A", "pT3a", "Tumor invades perivesical tissue: \nmicroscopically", "Extension to perivesical fat/tissues (microscopic) including:\n Adventitia\n Serosa (mesothelium)\n Peritoneum\n Periprostatic tissue\n Distal periureteral tissue\n\nStated as T3a" ], [ "p3B", "pT3b", "Tumor invades perivesical tissue:\nmacroscopically (extravesical mass)", "Extension to perivesical fat/tissues (macroscopic) including:\n Adventitia\n Serosa (mesothelium)\n Peritoneum\n Periprostatic tissue\n Distal periureteral tissue\nExtravesical mass\n\nStated as T3b" ], [ "p4", "pT4", "Tumor invades any of the following: \n Prostate stroma\n Seminal vesicles\n Uterus\n Vagina\n Pelvic wall\n Abdominal wall", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nStated as T4 [NOS]" ], [ "p4A", "pT4a", "Tumor invades:\n Prostate stroma\n Seminal vesicles\n Uterus\n Vagina", "Extension to: \n Parametrium\n Prostate, NOS\n Rectovesical/Denonvilliers' fascia\n Rectum\n Small intestine\n Ureter (excluding distal ureter)\n Urethra, including prostatic urethra (excluding subepithelial connective tissue)\n Vas deferens\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades pelvic wall or abdominal wall", "Bladder is \"fixed\"\n\nExtension to:\n Pubic bone\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_bone_59009.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_bone_59009.json deleted file mode 100644 index 41cdbc3d7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_bone_59009.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_t_bone_59009", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Bone", - "title" : "Pathologic T", - "notes" : "**Note 1:** The cortex of a bone is the dense outer shell that provides strength to the bone; the spongy center of a bone is the cancellous portion. The periosteum of the bone is the fibrous membrane covering of a bone that contains the blood vessels and nerves; the periosteum is similar to the capsule on a visceral organ.\n\n**Note 2:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Adjacent bone/cartilage\n Invasive tumor confined to cortex of bone\n Extension beyond cortex to periosteum (No break in periosteum)\n Extension beyond periosteum to surrounding tissues, including adjacent skeletal muscle(s)\n Skin\n\n Further contiguous extension\n\n Localized, NOS\n\n**Note 3:** The term \"skip metastasis\" is not used with a consistent meaning in the literature. In some cases, it refers to discontinuous metastasis in the same bone as the primary tumor, while in other cases it refers to discontinuous metastasis in an adjacent bone, usually in the same limb. For TNM staging, discontinuous metastasis in the same bone is classified as T3 , and discontinuous metastasis in an adjacent bone is classified as M1b (coded in distant metastasis). \n* If a primary bone tumor is stated as having \"skip metastasis\" or \"skip lesions\" with no other information regarding the bone involved, assign T3", - "last_modified" : "2018-05-14T21:29:03.457Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 8 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 8 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Discontinuous tumors in the primary bone site", "Stated as T3" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_buccal_mucosa_7034.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_buccal_mucosa_7034.json deleted file mode 100644 index a53f6fc36..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_buccal_mucosa_7034.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_t_buccal_mucosa_7034", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Buccal Mucosa", - "title" : "Pathologic T", - "notes" : "**Note 1:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size when involvement is limited to the cortical bone. \n\n Invasive tumor confined to\n Lamina propria\n Submucosa (superficial invasion)\n \n Extension to\n Bone, NOS\n Buccal mucosa (inner cheek)\n Cartilage, NOS\n Commissure (from lower lip only)\n Cortical bone, NOS\n Cortical bone of mandible\n Cortical bone of maxilla \n Gingiva \n Hard palate including cortical palantine bone\n Lateral pharyngeal wall\n Lip(s) including commissure\n Mandible, NOS\n Maxilla, NOS \n Musculature (buccinator)\n Opposite lip (both lips)\n Soft palate\n Subcutaneous soft tissue of cheek\n Tonsillar pillars and fossae\n Tonsils\n\n Confined to buccal mucosa\n Localized, NOS\n\n**Note 4:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.271Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Skin of cheek with or without ulceration\n\nTrabecular bone:\n Mandible\n Maxilla \n Palatine bone\n\nMaxillary sinus (antrum) Nasal cavity\n\nTongue\n\nStated as T4a" ], [ "p4B", "pT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Masticator space\nPterygoid plates\n\nOther specified bone(s) \n(Other than maxilla, mandible, palatine, masticator space, pterygoid plates)\n\nFurther contiguous extension including:\n Base of skull\n Internal carotid artery (encased)\n Skull \n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_carcinoid_appendix_77608.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_carcinoid_appendix_77608.json deleted file mode 100644 index e1e77d995..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_carcinoid_appendix_77608.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_t_carcinoid_appendix_77608", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Carcinoid Appendix", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for carcinoid appendix tumors.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T (sub)category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 (sub)categories, but no size or (sub)category is specified, assign TX\n\n**Note 3:** Assign the appropriate T (sub) category (T1-T3) based on the tumor size for the following descriptions\n\n Invasive tumor confined to\n Lamina propria\n Mucosa, NOS (including intramucosal, NOS)\n Muscularis mucosae\n Muscularis propria \n Submucosa (superficial invasion)\n\n Extension through wall, NOS\n Invasion through muscularis propria or muscularis, NOS\n Non-peritonealized pericolic tissues invaded\n Perimuscular tissue invaded\n Subserosal tissue/(sub)serosal fat invaded\n Transmural, NOS\n\n Extension to\n Adjacent tissue(s), NOS\n Connective tissue\n\n Confined to appendix\n Localized, NOS\n\n**Note 4:** Assign T3 or T4 as appropriate for contiguous extension from the site of origin. Discontinuous involvement is assigned in distant metastasis. \n\n**Note 5:** Tumor that is adherent to other organs or structures, macroscopically, is classified T4b. However, if no tumor is present in the adhesion, microscopically, the classification should be pT1, pT2 or pT3.", - "last_modified" : "2018-05-14T21:29:03.268Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no \ninformation available to assign one of the subcategories.\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor 1 cm or less in greatest dimension", "Stated as T1a" ], [ "p1B", "pT1b", "Tumor more than 1 cm but not more than 2 cm", "Stated as T1b" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm OR \nWITH extension to the cecum", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm or with extension to the ileum", "Stated as T3" ], [ "p4", "pT4", "Tumor perforates peritoneum or invades other adjacent\norgans or structures, e.g.\n Abdominal wall\n Skeletal muscle", "Adherent to other organs or structures clinically with no microscopic examination\n\nTumor found in adhesion(s) if microscopic examination performed\n\nAdherent to other organs or structures: \n Adrenal (suprarenal) gland\n Bladder\n Diaphragm\n Fistula to skin\n Gallbladder\n Greater omentum\n Kidney\n Liver\n Other segment(s) of colon via serosa\n Pelvic peritoneum\n Retroperitoneum (excluding fat)\n Small intestine\n Ureter\n Urethra\n Vagina\n\nOther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_colon_98925.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_colon_98925.json deleted file mode 100644 index 2e71f4e15..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_colon_98925.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_t_colon_98925", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Colon", - "title" : "Pathologic T", - "notes" : "**Note 1:** High grade dysplasia and severe dysplasia of the colon are generally not reportable in cancer registries.\n* Assign pTis if your registry collects these tumors\n\n**Note 2:** In situ includes cancer cells confined within the glandular basement membrane (intraepithelial); localized includes confined to lamina propria (intramucosal), the muscular mucosa, and muscularis propria. \n\n**Note 3:** Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 4:** Direct invasion in cT4b includes invasion of other organs or segments of the colorectum by way of the serosa, as confirmed on microscopic examination, or for tumors in a retroperitoneal or subperitoneal location, direct invasion of other organs or structures by virtue of extension beyond the muscularis propria. \n\n**Note 5:** Tumor that is adherent to other organs or structures, macroscopically, is classified T4b. However, if no tumor is present in the adhesion, microscopically, the classification should be pT1 - pT3.\n\n**Note 6:** Assign T4b for contiguous extension from the site of origin. Discontinuous involvement is coded in D (distant metastasis).", - "footnotes" : "\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.244Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "No evidence of primary tumor" ], [ "pIS", "pTis", "Carcinoma in situ: intraepithelial or invasion of lamina propria", "(Adeno)carcinoma, noninvasive, in a polyp or adenoma\n\nInvasive tumor confined to:\n Lamina propria, including lamina propria in the stalk of a polyp\n Mucosa, NOS, including intramucosal, NOS\n Muscularis mucosae (but not through), including muscularis mucosae in the stalk of a polyp\n\nStated as Tis" ], [ "p1", "pT1", "Tumor invades submucosa", "Confined to: \n Head of polyp, NOS\n Stalk of polyp, NOS\n\nInvasive tumor in polyp, NOS\n\nInvades submucosa (superficial invasion), including submucosa in the head or stalk of polyp\n\nConfined to colon, NOS\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor invades muscularis propria", "Stated as T2" ], [ "p3", "pT3", "Tumor invades subserosa or into non-peritionealized pericolic or perirectal tissues", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nNon-peritonealized pericolic tissues invaded\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS\nWall, NOS\n\nExtension to:\n All colon sites:\n Adjacent tissue(s), NOS\n Connective tissue\n Mesenteric fat\n Mesentery \n Mesocolon\n Pericolic fat\n Ascending and descending colon\n Retroperitoneal fat \n Transverse colon and flexures\n Gastrocolic ligament\n Greater omentum\n\nFat, NOS\n\nStated as T3" ], [ "p4", "pT4", "Tumor perforates visceral peritoneum and/or directly invades other organs or structures#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nStated as T4 [NOS]" ], [ "p4A", "pT4a", "Tumor perforates visceral peritoneum", "Invasion of/through serosa (mesothelium) (visceral peritoneum)\nTumor penetrates to surface of visceral peritoneum\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor directly invades other organs or structures", "Adherent to other organs or structures clinically with no microscopic examination\nTumor found in adhesion(s) if microscopic examination performed\n(see Note 5)\n\nContiguous extension to:\n\nAll colon sites:\n Abdominal wall\n Adrenal (suprarenal) gland\n Bladder\n Diaphragm\n Fallopian tube\n Fistula to skin\n Gallbladder\n Other segment(s) of colon via serosa\n Ovary\n Retroperitoneum \n Small intestine\n Uterus\n\nCecum (C180):\n Greater omentum\n Kidney\n Liver\n Ureter\n \nAscending colon (C182):\n Greater omentum\n Liver, right lobe\n Right kidney\n Right ureter\n \nTransverse colon and flexures (C183, C184, C185):\n Gallbladder/bile ducts\n Kidney\n Liver\n Pancreas\n Spleen\n Stomach\n Ureter\n \nDescending colon (C186):\n Greater omentum\n Left kidney\n Left ureter\n Pelvic wall\n Spleen\n \nSigmoid colon (C187):\n Cul de sac (rectouterine pouch)\n Greater omentum\n Pelvic wall\n Ureter\n\nStated as T4b (all colon subsites)" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_corpus_carcinoma_7259.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_corpus_carcinoma_7259.json deleted file mode 100644 index 1173a338a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_corpus_carcinoma_7259.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_t_corpus_carcinoma_7259", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Corpus Carcinoma", - "title" : "Pathologic T", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III [NOS], IIIC [NOS], IIIC1, or IIIC2, assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is (pathologic) FIGO stage IVB, leave pathologic T and N blank and see M\n\n**Note 2:** FIGO does not include an in situ category for tumors of carcinomas of the corpus uteri, but TNM does. Assign pTis and behavior code /2 for in situ cases.\n\n**Note 3:** To assign a T2 category, stromal connective tissue of the cervix must be involved; endocervical glandular involvement only is not classified as a T2 tumor in TNM. \n\n**Note 4:** Extension to the bowel or bladder mucosa must be proven by biopsy in order to rule out bullous edema.", - "footnotes" : "\\# T3 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.235Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated\n Physician assigns cTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ (preinvasive carcinoma)", "Intraepithelial, noninvasive, preinvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor confined to the corpus uteri", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nInvasive cancer confined to corpus uteri \nInvasion of myometrium, NOS\n\nEndocervical glandular involvement WITH tumor invading myometrium, NOS or involvement of myometrium not known\n\nLocalized, NOS\n\nFIGO Stage I [NOS]\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor limited to endometrium or invading less than half of myometrium", "Confined to endometrium (stroma)\n\nTumor invades less than one-half of myometrium\nInvasion of inner half of myometrium\n\nEndocervical glandular involvement WITH tumor limited to endometrium or invading less than one-half of myometrium\n\nFIGO Stage IA\n\nStated as T1a" ], [ "p1B", "pT1b", "Tumor invades one half or more of myometrium", "Tumor invades one-half or more of myometrium\nInvasion of outer half of myometrium\n\nEndocervical glandular involvement WITH tumor invading one-half or more of myometrium\n\nFIGO Stage IB\n\nStated as T1b" ], [ "p2", "pT2", "Tumor invades cervical stroma, but does not extend beyond the uterus", "Cervix uteri, NOS, but not beyond uterus\nCervical stromal invasion\n\nFIGO Stage II\n\nStated as T2" ], [ "p3", "pT3", "Local and/or regional spread as specified below#", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories\n\nStated as T3 [NOS]" ], [ "p3A", "pT3a", "Tumor invades the serosa of the corpus uteri or adnexae \n (direct extension or metastasis)", "Extension or metastasis to \n Tunica serosa (visceral peritoneum of corpus, serosa covering the corpus) \n Tunica serosa of corpus\n WITHOUT involvement of cervix\n\nExtension or metastasis to:\n Adnexa:\n Fallopian tube(s)\n Ovary(ies)\n\nFIGO Stage IIIA\n\nStated as T3a" ], [ "p3B", "pT3b", "Vaginal or parametrial involvement \n (direct extension or metastasis)", "Extension or metastasis to:\n Bladder wall\n Bladder, NOS excluding mucosa\n Ligaments:\n Broad\n Round\n Parametrium, NOS\n Parietal serosa of pelvic wall\n Pelvic wall(s)\n Rectal wall\n Rectum, NOS excluding mucosa\n Vagina\n Visceral peritoneum of pelvic organs excluding serosa of corpus\n\nExtension to:\n Ureter \n Vulva\n \nDescribed clinically as \"frozen pelvis\", NOS\n\nFIGO Stage IIIB\n\nStated as T3b" ], [ "p4", "pT4", "Tumor invades bladder/bowel mucosa", "Extension to bowel mucosa or bladder mucosa (excluding bullous edema)\n\nFurther contiguous extension\n Abdominal serosa (visceral or parietal peritoneum of abdomen)\n Cul de sac (rectouterine pouch or Pouch of Douglas)\n Sigmoid colon\n Small intestine\n\nFIGO Stage IVA \n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC [NOS], IIIC1, IIIC2, or IVB\n\nPathologic classification not met\nPathologic classification criteria met, evaluation done:\n Results not documented in patient record\n No surgical resection of known primary tumor (not T0) OR\n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_cystic_duct_38967.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_cystic_duct_38967.json deleted file mode 100644 index ab41e3445..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_cystic_duct_38967.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_t_cystic_duct_38967", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Cystic Duct", - "title" : "Pathologic T", - "notes" : "**Note 1:** The cystic duct extends from the neck of the gallbladder to its junction with the common hepatic duct, to form the common bile duct.\n\n**Note 2:** Involvement of one of the stated extrahepatic organs or structures is classified as T3, and involvement of more than one extrahepatic structure is classified as T4.\n\n**Note 3:** Involvement within the porta hepatis is coded according to the structures involved: portal vein, common hepatic artery, and common hepatic duct.", - "last_modified" : "2018-05-14T21:29:03.233Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor invades lamina propria or muscular layer", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nConfined to cystic duct, NOS\nLocalized, NOS\n\nStated as T1" ], [ "p1A", "pT1a", "Tumor invades lamina propria", "Invasive tumor confined to:\n Mucosa, NOS\n Submucosa (superficial invasion)\n\nExtension to any of the tissue listed above plus involvement of the gallbladder\n\nStated as T1a" ], [ "p1B", "pT1b", "Tumor invades muscular layer", "Muscularis propria\n\nExtension to muscularis propria plus any involvement of the gallbladder\n\nStated as T1b" ], [ "p2", "pT2", "Tumor invades perimuscular connective tissue; no extension beyond serosa or into liver", "Beyond wall of cystic duct\nPeriductal/fibromuscular connective tissue\n\nExtension to structures listed above plus involvement of the gallbladder\n\nStated as T2" ], [ "p3", "pT3", "Tumor perforates the serosa (visceral peritoneum) and/or directly involves the liver and/or one other adjacent organ or structure, such as: \n Stomach\n Duodenum\n Colon\n Pancreas\n Omentum\n Extrahepatic bile ducts", "Extension to: \n Extrahepatic bile ducts (including common hepatic duct) (beyond cystic duct) WITH or WITHOUT extension beyond wall of cystic duct\n\n Liver WITH or WITHOUT extension to extrahepatic bile ducts (including common hepatic duct) (beyond cystic duct)\n\nSerosa (visceral peritoneum) perforated\n\nExtension to ONE of the following WITH or WITHOUT extension to liver:\n Unilateral branches of hepatic artery (right or left)\n Unilateral branches of portal vein (right or left)\n\nStated as T3" ], [ "p4", "pT4", "Tumor invades main portal vein or hepatic artery or invades two or more extrahepatic organs or structures", "Abdominal wall\nCommon hepatic artery\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_distal_bile_duct_50879.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_distal_bile_duct_50879.json deleted file mode 100644 index 7ba7d7935..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_distal_bile_duct_50879.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_t_distal_bile_duct_50879", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Distal Bile Duct", - "title" : "Pathologic T", - "notes" : "**Note 1:** Distal bile duct tumors arise between the junction of the cystic duct-bile duct and the ampulla of Vater. The classification includes tumors developing in congenital choledochal cysts and tumors arising in the intrapancreatic portion of the common bile duct.\n\n**Note 2:** Involvement within the porta hepatis is coded according to the structures involved: portal vein, common hepatic artery, and common hepatic duct.", - "last_modified" : "2018-05-14T21:29:03.535Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor confined to the bile duct", "Tumor confined to: \n Lamina propria\n Mucosa, NOS\n Submucosa (superficial invasion)\n\nMuscularis propria\n\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor invades beyond the wall of the bile duct", "Periductal/fibromuscular connective tissue\n\nStated as T2" ], [ "p3", "pT3", "Tumor invades:\n Gallbladder\n Liver\n Pancreas\n Duodenum\n Other adjacent organs", "Common hepatic duct\n\nUnilateral branches of portal vein (right or left)\nUnilateral branches of hepatic artery (right or left)\n\nStated as T3" ], [ "p4", "pT4", "Tumor involves the celiac axis or the superior mesenteric artery", "Abdominal wall\nCeliac axis\nColon, NOS\n Transverse including flexure\nGreater omentum\nOmentum, NOS\n Lesser\nStomach, distal\nStomach, proximal\nSuperior mesenteric artery\n\nMain portal vein or its branches bilaterally\nCommon hepatic artery\nHepatic artery, NOS\nPortal vein, NOS\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_epiglottis_anterior_t_4558.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_epiglottis_anterior_t_4558.json deleted file mode 100644 index 92aa07ad9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_epiglottis_anterior_t_4558.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_t_epiglottis_anterior_t_4558", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Epiglottis Anterior T", - "title" : "Pathologic T", - "notes" : "**Note 1:** Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 2:** Assign T1 for localized tumor only if no information is available to identify further extension.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.232Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor limited to one subsite of supraglottis \nWITH normal vocal cord mobility", "Invasive tumor confined to anterior surface of epiglottis with normal vocal cord mobility\n\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor invades: \n Mucosa of more than one adjacent subsite of supraglottis OR \n Glottis or region outside the supraglottis, e.g., \n Mucosa of base of tongue\n Vallecula\n Medial wall of pyriform sinus\n \nWITHOUT fixation of the larynx", "Larynx, glottic or NOS WITHOUT fixation of larynx\nMucosa of adjacent subsite(s) of oropharynx\nMucosa of vallecula without fixation of larynx\n\nStated as T2" ], [ "p3", "pT3", "Tumor limited to larynx WITH vocal cord fixation and/or \ninvades any of the following:\n Postcricoid area\n Pre-epiglottic space\n Paraglottic space\n Inner cortex of thyroid cartilage", "Any structure coded in T1 or T2 WITH vocal cord fixation\n\nHypopharynx, NOS\nParaglottic space\nPyriform sinus except medial wall \n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades through the thyroid cartilage and/or invades tissues beyond the larynx, e.g., \n Trachea\n Soft tissues of neck including deep/extrinsic muscle of tongue \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n Strap muscles\n Thyroid\n Esophagus", "Deep tissues of base of tongue\nBuccal mucosa (inner cheek)\nFloor of mouth\nGum (gingiva)\nNasopharynx\nPterygoid muscle\nSoft palate\n\nInvasion of, through outer cortex of thyroid cartilage\nThyroid cartilage, NOS\n\nStrap muscles:\n Omohyoid\n Sternohyoid\n Thyrohyoid\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades: \n Prevertebral space\n Encases carotid artery\n Mediastinal structures", "Further contiguous extension, including:\n Anterior 2/3 of tongue\n Bone\n Hard palate\n Mandible\n Parotid gland\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_gum_upper_50893.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_gum_upper_50893.json deleted file mode 100644 index f5a3d101e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_gum_upper_50893.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_t_gum_upper_50893", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Gum Upper", - "title" : "Pathologic T", - "notes" : "**Note 1:** Superficial erosion alone of bone/tooth socket by gingival primary is not sufficient to code as bone involvement. (1)\n\n**Note 2:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 3:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1-T3) based on the tumor size when the tumor involvement is limited to the cortical bone for the following descriptions\n\n Invasive tumor confined to lamina propria (mucoperiosteum) (stroma)\n\n Bone, NOS\n Buccal mucosa (inner cheek)\n Cartilage, NOS\n Cortical bone of maxilla\n Cortical bone, NOS\n Fascial muscle, NOS\n Floor of mouth\n Labial mucosa (inner lip), lower lip\n Labial mucosa (inner lip), lip, NOS\n Lateral pharyngeal wall\n Maxilla, NOS\n Soft palate including uvula\n Subcutaneous soft tissue of face\n Tongue mucosa\n Tonsillar pillars and fossae\n Tonsils\n\n Confined to upper gum\n Localized, NOS\n\n**Note 5:** Involvement through cortical bone is required for assignment of T4a.", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 27\n\n\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.649Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Deep (extrinsic) muscle of tongue:\n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus\n\nBone of mandible\nMandible, NOS\nMaxillary (sinus) antrum\nNasal cavity\nSkin of face\nTrabecular bone of maxilla or palatine bone\n\nStated as T4a" ], [ "p4B", "pT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Labial mucosa (inner lip), lower lip\nMucosa lower lip \n\nSpecified bone\n\nMasticator space\nPterygoid plates\n\nFurther contiguous extension, including:\n Skull\n Skull base\n Internal carotid artery (encased)\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_intrahepatic_bile_ducts_23893.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_intrahepatic_bile_ducts_23893.json deleted file mode 100644 index 619cb76fa..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_intrahepatic_bile_ducts_23893.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_t_intrahepatic_bile_ducts_23893", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Intrahepatic Bile Ducts", - "title" : "Pathologic T", - "notes" : "**Note 1:** \"Multiple (satellite) nodules/tumors\" include satellitosis, multifocal tumors, and intrahepatic metastases.\n\n**Note 2:** Major vascular invasion is defined as invasion of the branches of the main portal vein (right or left portal vein, not including sectoral or segmental branches) or as invasion of one or more of the three hepatic veins (right, middle, or left). Invasion of the hepatic artery or vena cava is assigned T3.\n\n**Note 3:** Cholangiocarcinoma may be classified by growth pattern. The tumor growth patterns of intrahepatic cholangiocarcinoma include the mass forming type, the periductal infiltrating type, and a mixed type. The periductal infiltrating type of cholangiocarcinoma demonstrates a diffuse longitudinal growth pattern along the bile duct. Limited analyses suggest that the diffuse periductal infiltrating type is associated with a poor prognosis. The presence of periductal invasion is assigned T4.", - "footnotes" : "\\* T2 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Multiple tumors or single tumor with vascular invasion\" as T2 [NOS].\n\\# T2 [NOS] is not defined in AJCC 7th edition", - "last_modified" : "2018-05-14T21:29:03.391Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ (intraductal tumor)", "Intraepithelial, noninvasive \n\nStated as Tis" ], [ "p1", "pT1", "Solitary tumor without vascular invasion", "Single lesion in one lobe of liver WITHOUT intrahepatic vascular invasion OR vascular invasion not stated \n\nSingle lesion in more than one lobe of liver (contiguous growth) WITHOUT vascular invasion OR vascular invasion not stated\n\nExtension to gallbladder WITH or WITHOUT single lesion in one or more lobes of liver (contiguous growth) WITHOUT vascular invasion OR vascular invasion not stated\n\nConfined to liver, NOS\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Not defined by UICC*#", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories.\n\nMultiple tumors or single tumor with vascular invasion\n\nStated as T2[NOS]" ], [ "p2A", "pT2a", "Solitary tumor with vascular invasion", "Single lesion in one lobe of liver WITH intrahepatic vascular invasion\n\nSingle lesion in more than one lobe of liver (contiguous growth) WITH vascular invasion WITH or WITHOUT vascular invasion plus extension to gallbladder\n\nSingle tumor WITH major vascular invasion: major branch(es) of portal or hepatic vein(s) WITH or WITHOUT extension to gallbladder \n\nStated as T2a" ], [ "p2B", "pT2b", "Multiple tumors, with or without vascular invasion", "Multiple (satellite) nodules/tumors in one lobe of liver:\n WITH or WITHOUT intrahepatic vascular invasion plus extension to gallbladder OR\n WITH major vascular invasion: major branch(es) of portal or hepatic vein(s) OR\n WITH major vascular invasion and extension to gallbladder \n\nMultiple (satellite) nodules/tumors in more than one lobe of liver\nSatellite nodules, NOS\n\nStated as T2b" ], [ "p3", "pT3", "Tumor perforates the visceral peritoneum OR \n\nDirectly invades adjacent extrahepatic structures", "Diaphragm\nDirect extension/perforation of visceral peritoneum\nExtension to hepatic artery or vena cava\nExtrahepatic bile ducts WITH or WITHOUT satellite nodules in more than one lobe or multiple tumors with major vascular invasion\n\nMultiple (satellite) nodules on surface of liver parenchyma\n\nLesser omentum Ligament(s): \n Coronary \n Falciform \n Hepatoduodenal \n Hepatogastric \n Round (of liver) \n Triangular \n Parietal peritoneum\n\nFurther contiguous extension:\n Pancreas\n Pleura\n Stomach\nOther contiguous extension\n\nStated as T3" ], [ "p4", "pT4", "Tumor with periductal invasion (periductal growth pattern)", "Stated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_net_rectum_13791.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_net_rectum_13791.json deleted file mode 100644 index 5588c426d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_net_rectum_13791.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_t_net_rectum_13791", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T NET Rectum", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for NET rectum tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 3:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T (sub)category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 (sub)categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T (sub)category (T1, T2) based on the tumor size for the following descriptions:\n\n Invasive tumor confined to mucosa, NOS including intramucosal, NOS\n Invades lamina propria, including lamina propria in the stalk of a polyp\n Invades submucosa (superficial invasion), including submucosa in the stalk of a polyp\n Confined to and not through the muscularis mucosae, including muscularis mucosae in the stalk of a polyp\n\n Confined to colon, NOS\n Localized, NOS \n\n**Note 5:** Assign T4 for tumor with macroscopic adhesions to other organs or structures and for pathologically confirmed tumor in adhesions. \n* If no tumor is present in adhesions upon microscopic examination, assign the appropriate T category to describe the microscopically confirmed depth of tumor invasion for these cases", - "last_modified" : "2018-05-14T21:29:03.571Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor invades lamina propria or submucosa and is no greater than 2 cm in size", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor less than 1 cm in size", "Stated as T1a" ], [ "p1B", "pT1b", "Tumor 1-2 cm in size", "Stated as T1b" ], [ "p2", "pT2", "Tumor invades muscularis propria OR \n\nIs greater than 2 cm in size", "Muscularis propria invaded\n\nStated as T2" ], [ "p3", "pT3", "Tumor invades subserosa, or non-peritonealized pericolic or perirectal tissues", "Extension through wall,​ NOS\nInvasion through muscularis propria or muscularis,​ NOS\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural,​ NOS\n\nFor rectum (C209):\n Tumor invading through muscularis propria with intraluminal extension to colon and/or anal canal/anus\n\nAdjacent (connective) tissue:\n For all sites:\n Perirectal fat\n For rectosigmoid (C199):\n Mesentery (including mesenteric fat,​ mesocolon)\n Pericolic fat\n For rectum (C209):\n Rectovaginal septum\n\nFat,​ NOS\n\nStated as T3" ], [ "p4", "pT4", "Tumor perforates peritoneum OR \n\nInvades other organs", "Invasion of/through serosa (mesothelium) (visceral peritoneum)\n\nAdherent to other organs or structures, NOS\n\nFor both rectum and rectosigmoid sites:\n Bladder\n Cul de sac (rectouterine pouch)\n Ovary(ies)\n Pelvic wall/pelvic plexuses\n Prostate\n Skeletal muscle of pelvic floor\n Uterus\n Vagina\n\nFor rectosigmoid (C199):\n Small intestine\n Colon via serosa\n Fallopian tube(s)\n Ureter(s)\n\nFor rectum (C209):\n Anal canal/anus extraluminally\n Bone(s) of pelvis\n Cervix\n Ductus deferens\n Perineum,​ perianal skin\n Rectovesical fascia for males only\n Sacrum\n Sacral plexus\n Seminal vesicle(s)\n Urethra\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_net_small_intestine_71548.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_net_small_intestine_71548.json deleted file mode 100644 index 4fb533a52..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_net_small_intestine_71548.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_t_net_small_intestine_71548", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T NET Small Intestine", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for NET small intestine tumors.\n\n**Note 2:** Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 3:** The nonperitonealized perimuscular tissue is, for jejunum and ileum, part of the mesentery and, for duodenum in areas where serosa is lacking, part of the retroperitoneum.\n\n**Note 4:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 5:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Invasive tumor confined to mucosa, NOS including intramucosal, NOS\n Invades lamina propria, including lamina propria in the stalk of a polyp\n Invades submucosa (superficial invasion), including submucosa in the stalk of a polyp\n Confined to and not through the muscularis mucosae, including muscularis mucosae in the stalk of a polyp\n\n Confined to colon, NOS\n Localized, NOS \n\n**Note 6:** Assign T4 for tumor with macroscopic adhesions to other organs or structures and for pathologically confirmed tumor in adhesions. \n* If no tumor is present in adhesions upon microscopic examination, use lower codes to describe the microscopically confirmed depth of tumor invasion for these cases", - "last_modified" : "2018-05-14T21:29:03.567Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "No evidence of primary tumor" ], [ "p1", "pT1", "Tumor invades lamina propria or submucosa and is no greater than 1 cm in size", "Confined to:\n Mucosa, NOS, including intramucosal, NOS\n Muscularis mucosae, including muscularis mucosae in a polyp\n\nIntraluminal spread to other segments of small intestine or cecum\n\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor invades muscularis propria or is greater than 1 cm in size", "Muscularis propria invaded\n\nStated as T2" ], [ "p3", "pT3", "Jejunal or ileal tumor invades subserosa\nAmpullary or duodenal tumor invades pancreas or retro-\nperitoneum", "Adjacent connective tissue \nFat, NOS\nInvasion through muscularis propria or muscularis, NOS\nExtension through wall, NOS\nMesentery\nNonperitonealized perimuscular tissue\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS\n\nFor duodenum primary only (C170):\n Ampulla of Vater\n Pancreatic duct\n \nStated as T3" ], [ "p4", "pT4", "Tumor perforates visceral peritoneum (serosa) or invades other organs or adjacent structures", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum)\n\nFor all small intestine sites:\n Abdominal wall\n Other segments of the small intestine via serosa\n\nFor duodenum primary only (C170):\n Blood vessel(s), major:\n Aorta\n Gastroduodenal artery\n Portal vein\n Renal vein\n Superior mesenteric artery or vein\n Vena cava\n Diaphragm\n Extrahepatic bile ducts\n Gallbladder\n Hepatic flexure\n Kidney, right or NOS\n Liver\n Omentum\n Stomach\n Transverse colon\n Ureter, right\n \nFor jejunum or ileum primary only (C171, C172):\n Bladder\n Colon, including appendix\n Fallopian tube\n Ovary\n Retroperitoneum invaded greater than 2 cm in depth\n Uterus\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_net_stomach_63587.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_net_stomach_63587.json deleted file mode 100644 index 063fdd759..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_net_stomach_63587.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "path_t_net_stomach_63587", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T NET Stomach", - "title" : "Pathologic T", - "notes" : "**Note 1:** TNM defines Tis as carcinoma in situ/dysplasia (tumor size less than 0.5 mm), confined to mucosa. Neuroendocrine tumors (NET) stated to be in situ, noninvasive, or confined to mucosa are classified as Tis. \n* \"Dysplasia\" alone is generally not reportable in cancer registries but, if a registry does collect it, assign Tis\n\n**Note 2:** Intraluminal or intramural extension to esophagus and duodenum is classified by the depth of greatest invasion. \n* For extension to esophagus or duodenum via serosa, assign T4\n\n**Note 3:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Invasion into\n Lamina propria, including lamina propria in a polyp \n Muscularis mucosae, including muscularis mucosae in a polyp\n Submucosa (superficial invasion), including submucosa in a polyp\n\n Implants inside stomach\n\n Confined to stomach\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:03.557Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ/dysplasia (tumor less than 0.5 mm, confined to mucosa)", "Intraepithelial, noninvasive\nTumor size less than 0.5 millimeters (mm)\nTumor confined to mucosa, NOS including intramucosal, NOS\n\nStated as Tis" ], [ "p1", "pT1", "Tumor confined to mucosa and 0.5 mm or more but not greater than 1 cm in size; OR \n\nInvades submucosa and is no greater than 1 cm in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor invades muscularis propria OR \n\nIs more than 1 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor invades subserosa", "Invasion through muscularis propria or muscularis, NOS\nExtension through wall, NOS\nPerimuscular tissue invaded\nSubserosa/(sub)serosal fat penetrated\n\nExtension to adjacent (connective) tissue \nWITHOUT perforation of visceral peritoneum:\n Gastric artery\n Ligaments: \n Gastrocolic\n Gastrohepatic\n Gastrosplenic\n Omentum\n Perigastric fat\n\nStated as T3" ], [ "p4", "pT4", "Tumor perforates visceral peritoneum (serosa) or other organs or adjacent structures", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum)\nIncluding perforation of visceral peritoneum covering the gastric ligaments or the omentum \nWITHOUT invasion of adjacent structures\n\nAbdominal wall\nAdrenal gland\nAorta\nCeliac axis\nDiaphragm\nDuodenum via serosa or NOS\nEsophagus via serosa\nIleum\nJejunum\nKidney\nLiver\nPancreas\nRetroperitoneum\nSmall intestine, NOS\nSpleen\nTransverse colon/mesocolon (including flexures)\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Death certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/path_t_perihilar_bile_ducts_88350.json b/src/test/resources/algorithms/tnm/2.0/tables/path_t_perihilar_bile_ducts_88350.json deleted file mode 100644 index e814d2845..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/path_t_perihilar_bile_ducts_88350.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "path_t_perihilar_bile_ducts_88350", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Perihilar Bile Ducts", - "title" : "Pathologic T", - "notes" : "**Note 1:** Perihilar bile duct tumors arise at the confluence of the right and left hepatic ducts in the hilar area of the liver.\n\n**Note 2:** The biliary radicals are the ducts or tubes that drain bile into the intestine as part of the digestive process. The second-order biliary radicals are the next largest branches or ducts of the biliary system which join to form or empty into the main hepatic bile duct.\n\n**Note 3:** T3 and T4 are defined strictly in terms of invasion into specific large blood vessels and the biliary radicals within the liver. Assign T4 when the specified vessels and/or the biliary radical within the liver plus other named organs are involved. \n\n**Note 4:** Involvement within the porta hepatis is coded according to the structures involved: portal vein, common hepatic artery, and common hepatic duct.", - "footnotes" : "\\* T2 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Invasion beyond wall of the bile duct or invasion of hepatic parenchyma\" for T2 [NOS].\n\\# T2 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:03.389Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor confined to the bile duct, with extension up to the muscle layer or fibrous tissue", "Invasive tumor of perihilar (proximal) bile duct(s) confined to:\n Fibromuscular layer (tunic muscularis)\n Lamina propria\n Mucosa, NOS\n Muscularis propria\n Submucosa (superficial invasion)\n Subepithelial connective tissue (tunica mucosa)\n\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Not defined by UICC*#", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories.\n\nInvasion beyond wall of the bile duct or invasion of hepatic parenchyma\n\nStated as T2[NOS]" ], [ "p2A", "pT2a", "Tumor invades beyond the wall of the bile duct to surrounding adipose tissue", "Beyond wall of bile duct\nPeriductal/fibromuscular connective tissue\n\nStated as T2a" ], [ "p2B", "pT2b", "Tumor invades adjacent hepatic parenchyma", "Adjacent hepatic parenchyma\nLiver extension, NOS\nLiver, NOS\n\nStated as T2b" ], [ "p3", "pT3", "Tumor invades unilateral branches of the portal vein or hepatic artery", "Unilateral branches of portal vein (right or left)\nUnilateral branches of hepatic artery (right or left)\n\nStated as T3" ], [ "p4", "pT4", "Tumor invades the main portal vein or it's branches bilaterally OR\nThe common hepatic artery OR\nThe second-order biliary radicals bilaterally OR\nUnilateral second-order biliary radicals with contralateral portal vein or hepatic artery involvement", "Main portal vein or its branches bilaterally\nCommon hepatic artery\nHepatic artery, NOS\nPortal vein, NOS\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/pathologic_n_head_neck_melanoma_copy_75380.json b/src/test/resources/algorithms/tnm/2.0/tables/pathologic_n_head_neck_melanoma_copy_75380.json deleted file mode 100644 index 63a1530c6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/pathologic_n_head_neck_melanoma_copy_75380.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "pathologic_n_head_neck_melanoma_copy_75380", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Pathologic N Head & Neck Melanoma", - "title" : "Pathologic N", - "notes" : "**Note 1:** Histological examination of a regional lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0.(1)\n\n**Note 2:** If laterality of lymph nodes is not specified, assume nodes are ipsilateral. \n* Midline nodes are assigned as ipsilateral\n\n**Note 3:** The description of lymph nodes has been standardized across the head and neck schemas. All lymph node levels and groups listed here are assigned as regional nodes for TNM staging.\n\n **Level I**\n \n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n**Level II - Upper jugular** \n\n Jugulodigastric (subdigastric)\n Upper deep cervical \n Level IIA - Anterior\n Level IIB - Posterior \n**Level III - Middle jugular**\n\n Middle deep cervical\n**Level IV - Lower jugular**\n\n Jugulo-omohyoid (supraomohyoid)\n Lower deep cervical \n Virchow node\n**Level V - Posterior triangle group**\n\n Posterior cervical\n Level VA - Spinal accessory \n Level VB - Transverse cervical, supraclavicular \n**Level VI - Anterior compartment group**\n\n Laterotracheal\n Paralaryngeal\n Paratracheal - above suprasternal notch\n Perithyroidal\n Precricoid (Delphian)\n Prelaryngeal\n Pretracheal - above suprasternal notch\n Recurrent laryngeal\n**Level VII - Superior mediastinal group (for other mediastinal nodes see M [distant metastasis])**\n\n Esophageal groove\n Paratracheal - below suprasternal notch\n Pretracheal - below suprasternal notch \n**Other groups**\n\n Cervical, NOS\n Deep cervical, NOS\n Facial\n Buccinator (buccal)\n Mandibular\n Nasolabial\n Internal jugular, NOS\n Parapharyngeal \n Parotid\n Infraauricular\n Intraparotid\n Periparotid\n Preauricular\n Retroauricular (mastoid)\n Retropharyngeal\n Suboccipital\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS\n\n**Note 4:** For head and neck schemas, additional information about lymph nodes (size of involved nodes, extracapsular extension, levels involved, and location of involved nodes above or below the lower border of the cricoid cartilage) is coded in **Site-Specific Factors 1, 3-9**.\n\n**Note 5:** For head and neck cancers, if lymph nodes are described only as \"supraclavicular\", try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. \n* If the specific level cannot be determined, assign them as Level V nodes", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 52", - "last_modified" : "2018-05-14T21:29:01.749Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph nodes metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_31147.json b/src/test/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_31147.json deleted file mode 100644 index 03104b474..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_31147.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "pathological_n_corpus_31147", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Pathologic N Corpus Adenosarcoma/Sarcoma", - "title" : "Pathologic N", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III [NOS] or IIIC, assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is FIGO stage IVB, leave T and N blank and see M\n\n**Note 2:** Histological examination of a pelvic lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (FIGO classifies such cases as pNX). (1)\n\n**Note 3:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 4:** Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 5:** If the clinician says \"adnexa palpated\" but does not mention lymph nodes, assume lymph nodes are not involved.\n\n**Regional lymph nodes**\n\n Aortic, NOS\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Iliac, NOS\n Common\n External\n Internal (hypogastric)\n Obturator\n Paracervical\n Parametrial\n Pelvic, NOS\n Sacral, NOS\n Lateral (laterosacral)\n Middle (promontorial) (Gerota's node)\n Presacral\n Uterosacral\n\n Pelvic lymph nodes, NOS\n\n FIGO Stage IIIC (pelvic or para-aortic lymph nodes)\n FIGO Stage IIIC1 (pelvic lymph nodes)\n FIGO Stage IIIC2 (para-aortic lymph nodes WITH or WITHOUT pelvic lymph nodes)", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 215", - "last_modified" : "2018-05-14T21:29:01.365Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Only information available is FIGO Stage IVA\n\nPathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed OR\n Involvement of regional lymph nodes not documented\nPhysician assign pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "Only information available is FIGO Stage I (all subcategories), II (all subcategories), IIIA, or IIIB" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information available is FIGO Stage III [NOS], IIIC, or IVB\n\nPathologic classification not met\nNo surgical resection of primary tumor AND\nThere isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_carcinoma_11126.json b/src/test/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_carcinoma_11126.json deleted file mode 100644 index a33e102e8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/pathological_n_corpus_carcinoma_11126.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "pathological_n_corpus_carcinoma_11126", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Corpus Carcinoma", - "title" : "Pathologic N", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III [NOS], IIIC [NOS], IIIC1, or IIIC2 assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is FIGO stage IVB, leave T and N blank and see M\n\n**Note 2:** Histological examination of a pelvic lymphadenectomy specimen will ordinarily include 6 or more lymph nodes. If the lymph nodes are negative, but the number ordinarily examined is not met, classify as pN0. (FIGO classifies such cases as pNX). (1)\n\n**Note 3:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 4:** Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 5:** If the clinician says \"adnexa palpated\" but does not mention lymph nodes, assume lymph nodes are not involved.\n\n**Regional lymph nodes**\n\n Aortic, NOS\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Iliac, NOS\n Common\n External\n Internal (hypogastric)\n Obturator\n Paracervical\n Parametrial\n Pelvic, NOS\n Sacral, NOS\n Lateral (laterosacral)\n Middle (promontorial) (Gerota's node)\n Presacral\n Uterosacral\n\n Pelvic lymph nodes, NOS\n\n FIGO Stage IIIC (pelvic or para-aortic lymph nodes)\n FIGO Stage IIIC1 (pelvic lymph nodes)\n FIGO Stage IIIC2 (para-aortic lymph nodes WITH or WITHOUT pelvic lymph nodes)", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 215\n\n^ Definition from the [Updated pages](http://www.wileyanduicc.com/pdf/Corrected_pages.pdf) from TNM Classification of Malignant Tumours", - "last_modified" : "2018-05-14T21:29:01.366Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Only information available is FIGO Stage IVA\n\nPathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed OR\n Involvement of regional lymph nodes not documented\nPhysician assign pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "Only information available is FIGO Stage I [NOS], IA, IB, II, IIIA, IIIB" ], [ "p1", "pN1", "Statement of FIGO IIIC only\n\nMetastasis to pelvic lymph nodes (IIIC1)", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "p2", "pN2", "Metastasis to para-aortic lymph nodes with or without metastasis to pelvic lymph nodes (IIIC2)^", "Stated as N2" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC [NOS], IIIC1, IIIC2, or IVB\n\nPathologic classification not met\nNo surgical resection of primary tumor AND\nThere isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/penis_t_51275.json b/src/test/resources/algorithms/tnm/2.0/tables/penis_t_51275.json deleted file mode 100644 index 0d163063f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/penis_t_51275.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "penis_t_51275", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Penis", - "title" : "Pathologic T", - "notes" : "**Note 1:** Over 90% of penile cancers are squamous cell carcinomas arising in the skin. Other cancers arising in the skin include adenocarcinomas (5%) arising in sweat glands, melanomas (2%, included in the Melanoma schema), and basal cell carcinoma (2%). About 1% of penile cancers are sarcomas, arising in subcutaneous connective tissues.\n\n**Note 2:** Verrucous carcinoma (M-8051) is a locally aggressive, exophytic, low grade carcinoma with minimal metastatic potential. \n\n**Note 3:** Assign Ta if a verrucous carcinoma is described as noninvasive or as having a broad pushing border or penetration. \n* If there is destructive invasion of verrucous carcinoma into structures in T1 or greater, assign the appropriate higher code\n\n**Note 4:** Information about involvement of the corpus spongiosum or corpus cavernosum is collected in this field for anatomic staging. This information is also collected in **Site-Specific Factor 10, Involvement of Corpus Spongiosum/Corpus Cavernosum** because involvement of these structures may have an independent effect on prognosis.", - "footnotes" : "\\# T1 [NOS] is not defined in AJCC 7th edition", - "last_modified" : "2018-05-14T21:29:04.373Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pA", "pTa", "Non-invasive verrucous carcinoma", "Noninvasive verrucous carcinoma OR verrucous carcinoma, NOS\n\nStated as Ta" ], [ "pIS", "pTis", "Carcinoma in situ", "In situ, intraepidermal, intraepithelial, noninvasive\nBowen disease\nErythroplasia of Queyrat\n\nStated as Tis" ], [ "p1", "pT1", "Tumor invades subepithelial connective tissue#", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nInvasive tumor limited to subepithelial connective tissue, but not involving corpus spongiosum or cavernosum \n\nIf primary is skin: \n Invasive tumor limited to skin of penis, prepuce (foreskin) and/or glans\n\nSatellite nodules on prepuce or glans\n\nConfined to penis, NOS\nLocalized, NOS\n\nUNKNOWN lymphovascular invasion \n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor invades subepithelial connective tissue \nWITHOUT lymphovascular invasion and is not poorly differentiated or undifferentiated", "T1 lesion WITHOUT lymphovascular invasion\n\nStated as T1a" ], [ "p1B", "pT1b", "Tumor invades subepithelial connective tissue \nWITH lymphovascular invasion or is poorly differentiated or undifferentiated", "T1 lesion WITH lymphovascular invasion\n\nStated as T1b" ], [ "p2", "pT2", "Tumor invades corpus spongiosum or cavernosum", "Tunica albuginea of corpus spongiosum\n\nTumors in body of penis plus satellite nodules on prepuce or glans\n\nStated as T2" ], [ "p3", "pT3", "Tumor invades urethra", "Stated as T3" ], [ "p4", "pT4", "Tumor invades other adjacent structures", "Prostate\n\nAdjacent structures:\nMuscle, NOS:\n Bulbospongiosus\n Ischiocavernosus\n Superficial transverse perineal\nSkin:\n Abdominal\n Perineum\n Pubic\n Scrotal\n\nFurther contiguous extension\n Testis\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/peritoneum_t_18850.json b/src/test/resources/algorithms/tnm/2.0/tables/peritoneum_t_18850.json deleted file mode 100644 index e8d17e6ff..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/peritoneum_t_18850.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "peritoneum_t_18850", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Peritoneum", - "title" : "Pathologic T", - "notes" : "**Note 1:** Peritoneal sarcomas are classified as deep tumors. Only T1b or T2b are available. \n\n**Note 2:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n\n Tumor confined to site of origin\n\n Adjacent connective tissue \n Adjacent organs/structures\n Bone/cartilage \n Colon (except ascending and descending colon)\n Esophagus\n Gallbladder\n Liver\n Small intestine\n Spleen\n Stomach\n\n Further contiguous extension, including: \n Extension to ascending or descending colon\n\n Localized, NOS", - "last_modified" : "2018-05-14T21:28:58.368Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1B", "pT1b", "Tumor 5 cm or less in greatest dimension\nDeep tumor", "Stated as T1b or T1 [NOS]" ], [ "p2B", "pT2b", "Tumor more than 5 cm in greatest dimension\nDeep tumor", "Stated as T2b or T2 [NOS]" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/peritoneumfemalegen_t_87084.json b/src/test/resources/algorithms/tnm/2.0/tables/peritoneumfemalegen_t_87084.json deleted file mode 100644 index b11bc4073..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/peritoneumfemalegen_t_87084.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "peritoneumfemalegen_t_87084", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Peritoneum Female Gen", - "title" : "Pathologic T", - "notes" : "**Note 1:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO stage III [NOS] or IIIC, assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is FIGO stage IV, leave T and N blank and see M\n\n**Note 2:** Primary peritoneal carcinomas may not involve the ovaries or only involve the ovaries \"with minimal surface implants. The clinical presentation, surgical therapy, chemotherapy, and prognosis of these peritoneal tumors mirror those of papillary serous carcinoma of the ovary. Patients who undergo prophylactic oophorectomy for a familial history of ovarian cancer appear to retain a 1 to 2% chance of developing peritoneal adenocarcinoma, which is histopathologically and clinically similar to primary ovarian cancer.", - "last_modified" : "2018-05-14T21:29:04.380Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated\n Physician assigns cTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p3", "pT3", "Tumor involves one or both ovaries \nWITH microscopically confirmed peritoneal metastasis outside the pelvis and/or regional lymph node metastasis", "Note: T3 has subcategories of T3a, T3b and T3c. Assign T3 only when there is no information available to assign one of the subcategories.\n\nPeritoneal implants, NOS\n\nStated as T3 [NOS]" ], [ "p3A", "pT3a", "Microscopic peritoneal metastasis beyond pelvis", "Microscopic peritoneal implants beyond pelvis including:\n Liver capsule\n Mesentery\n Omentum\n Pericolic gutter\n\nMicroscopic peritoneal implants beyond pelvis including peritoneal surface/capsule of:\n Ascending colon\n Descending colon\n Diaphragm\n Esophagus\n Gallbladder \n Transverse colon and flexures \n Small intestine \n Spleen \n Stomach\nWITHOUT invasion of underlying structures\n\nFIGO Stage IIIA\n\nStated as T3a" ], [ "p3B", "pT3b", "Macroscopic peritoneal, metastasis beyond pelvis, 2 cm or less in greatest dimension", "Macroscopic peritoneal implants beyond pelvis less than or equal to 2 cm in diameter:\n Ascending colon\n Descending colon\n Diaphragm\n Esophagus\n Gallbladder \n Liver capsule\n Mesentery\n Omentum\n Pericolic gutter\n Transverse colon and flexures \n Small intestine \n Spleen \n Stomach\nWITH or WITHOUT invasion of underlying structures\n\nFIGO Stage IIIB\n\nStated as T3b" ], [ "p3C", "pT3c", "Peritoneal metastasis beyond pelvis, more than 2 cm in greatest dimension and/or regional lymph node metastasis", "Macroscopic peritoneal implants beyond pelvis greater than 2cm in diameter:\n Ascending colon\n Descending colon\n Diaphragm\n Esophagus\n Gallbladder \n Transverse colon and flexures \n Liver \n Small intestine \n Spleen \n Stomach\nWITH or WITHOUT invasion of underlying structures \n\nExtension to:\n Bone\n Cartilage\n\nFurther contiguous extension\n\nStated as T3c" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIC, or IV\n\nPathologic classification not met\nPathologic classification criteria met, evaluation done:\n Results not documented in patient record\n No surgical resection of known primary tumor (not T0) OR\n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/pharyngeal_tonsil_t_36969.json b/src/test/resources/algorithms/tnm/2.0/tables/pharyngeal_tonsil_t_36969.json deleted file mode 100644 index 5a005917f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/pharyngeal_tonsil_t_36969.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "pharyngeal_tonsil_t_36969", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Pharyngeal Tonsil", - "title" : "Pathologic T", - "notes" : "**Note 1:** Carcinoma of the pharyngeal tonsil is staged using the schema for oropharynx.\n\n**Note 2:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Invasive tumor confined to\n Adenoid \n Pharyngeal tonsil (nasopharyngeal tonsil) \n Posterior superior wall (vault)\n Involvement of inferior wall of nasopharynx (superior surface of soft palate)\n Nasal cavity\n Oropharynx\n Pterygopalatine fossa \n Soft palate, inferior surface including uvula\n\n Any of the above WITH parapharyngeal extension\n\n Confined to pharyngeal tonsil \n Localized, NOS\n\n**Note 4:** Parapharyngeal involvement denotes postero-lateral infiltration of tumor beyond the pharyngobasilar fascia. The pharyngobasilar fascia is the fibrous layer of the pharyngeal wall between the mucosa and the muscular layer, attached superiorly to the basilar part of the occipital bone and diminishing in thickness as it descends.\n\n**Note 5:** The masticator space primarily consists of the muscles of mastication, the medial and lateral pterygoid, masseter, and temporalis muscles. The space also includes the ramus of the mandible and the third division of cranial nerve V as it passes through the foramen ovale into the suprahyoid neck.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.582Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension OR extension to lingual surface of epiglottis", "Stated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades any of the following:\n Larynx\n Deep/extrinsic muscle of tongue, which are: \n Genioglossus\n Hypoglossus\n Palatoglossus\n Styloglossus\n Medial pterygoid\n Hard palate\n Mandible", "Hypopharynx\nParanasal sinus\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Lateral pterygoid muscle\n Pterygoid plates\n Lateral nasopharynx\n Skull base\n Encases carotid artery", "Bony structures of skull base \nBrain\nCranial nerve involvement\nFloor of orbit\nHypopharynx\nInfratemporal fossa/masticator space\nOrbit\n\nFurther contiguous extension including:\n Soft tissues of the neck\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/placenta_t_12749.json b/src/test/resources/algorithms/tnm/2.0/tables/placenta_t_12749.json deleted file mode 100644 index c0f48a8d5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/placenta_t_12749.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "placenta_t_12749", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Placenta", - "title" : "Pathologic T", - "notes" : "**Note 1:** FIGO nor TNM include an in situ category for tumors of the placenta. Assign pTis (behavior code /2) for in situ cases. \n\n**Note 2:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is Stage III [NOS], IIIA, IIIB, or IV [NOS], IVA, or IVB, leave T blank and see M\n\n**Note 3:** Genital metastasis (vagina, ovary, broad ligament, fallopian tube) is classified T2. Any involvement of non-genital structures, whether by direct invasion or metastasis is described using the M (distant metastasis) classification.\n\n**Note 4:** For T, substaging is determined by the values in **Site-Specific Factor 1, Prognostic Scoring Index**.", - "last_modified" : "2018-05-14T21:28:58.348Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated\n Physician assigns cTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor confined to uterus", "Confined to:\n Cervix\n Corpus\n Placenta\n\nLocalized, NOS\n\nFIGO Stage I [NOS], IA, or IB\n\nStated as T1" ], [ "p2", "pT2", "Tumor extends to other genital structures: \n Vagina\n Ovary\n Broad ligament \n Fallopian tube \nby metastasis or direct extension", "Adjacent connective tissue, NOS\n\nGenital structures, NOS by direct extension or \nmetastasis\n \nFurther contiguous extension\n\nFIGO Stage II [NOS], IIA, or IIB\n\nStated as T2" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is Stage III [NOS], IIIA, IIIB, or IV [NOS], IVA, or IVB\n\nPathologic classification not met\nPathologic classification criteria met, evaluation done:\n Results not documented in patient record\n No surgical resection of known primary tumor (not T0) OR\n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/pleura_t_20728.json b/src/test/resources/algorithms/tnm/2.0/tables/pleura_t_20728.json deleted file mode 100644 index fe75ff322..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/pleura_t_20728.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "pleura_t_20728", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Pleura", - "title" : "Pathologic T", - "notes" : "**Note 1:** Pleural effusion does not affect the coding Clinical and Pathologic T, but is coded in **Site-Specific Factor 1**.\n\n**Note 2:** T3 describes locally advanced, but potentially resectable tumor.\n\n**Note 3:** T4 describes locally advanced, technically unresectable tumor.", - "last_modified" : "2018-05-14T21:29:04.454Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor involves ipsilateral parietal pleura \nWITH or WITHOUT focal involvement of visceral pleura", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nInvasive tumor (mesothelioma) confined to pleura, NOS \nIpsilateral parietal pleura, including mediastinal or diaphragmatic pleura, involvement of visceral pleura not stated\n\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor involves ipsilateral parietal (mediastinal, diaphragmatic) pleura\nNO involvement of visceral pleura", "Stated as T1a" ], [ "p1B", "pT1b", "Tumor involves ipsilateral parietal (mediastinal, diaphragmatic) pleura\nWITH focal involvement of the visceral pleura", "Stated as T1b" ], [ "p2", "pT2", "Tumor involves any of the ipsilateral pleural surfaces, with at least one of the following:\n Confluent visceral pleura tumor (including the fissure)\n Invasion of diaphragmatic muscle\n Invasion of lung parenchyma", "Ipsilateral pleura WITH nodule(s) beneath visceral pleural surface\nLung involvement, NOS\nMesothelioma nodule(s) which have broken through the visceral pleural surface to the lung surface\n\nStated as T2" ], [ "p3", "pT3", "Tumor involves any ipsilateral pleural surfaces, with at least one of the following:\n Invasion of endothoracic fascia\n Invasion into mediastinal fat\n Solitary focus of tumor invading soft tissues of the chest wall\n Non-transmural involvement of the pericardium", "Mediastinal tissues\n\nStated as T3" ], [ "p4", "pT4", "Tumor involves any ipsilateral pleural surfaces, with at least one of the following: \n Diffuse or multifocal invasion of soft tissues of chest wall\n Any involvement of rib\n Invasion through diaphragm to peritoneum\n Invasion of any mediastinal organ(s)\n Direct extension to contralateral pleura \n Invasion into the spine\n Extension to internal surface of pericardium\n Pericardial effusion with positive cytology\n Invasion of myocardium\n Invasion of brachial plexus", "Heart muscle, myocardium\n\nFurther contiguous extension:\n Cervical tissues\n Intra-abdominal organs\n\n(For contralateral lung, see distant metastasis)\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/pleural_n_14342.json b/src/test/resources/algorithms/tnm/2.0/tables/pleural_n_14342.json deleted file mode 100644 index 68a4ed42f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/pleural_n_14342.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "pleural_n_14342", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Pleura", - "title" : "Pathologic N", - "notes" : "**Note:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes** \n\n Intrathoracic \n Internal mammary\n Peridiaphragmatic\n Scalene\n Supraclavicular nodes", - "last_modified" : "2018-05-14T21:29:04.456Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "No regional lymph node involvement" ], [ "p1", "pN1", "Metastasis in ipsilateral bronchopulmonary and/or hilar lymph node(s)", "Regional lymph nodes, ipsilateral, intrapulmonary:\n Hilar:\n Bronchopulmonary\n Proximal lobar\n Pulmonary root\n Intrapulmonary:\n Interlobar\n Lobar\n Segmental\n Subsegmental\n Peri/parabronchial\n\nRegional lymph nodes, NOS\n\nLymph nodes, NOS\n\nStated as N1" ], [ "p2", "pN2", "Metastasis in subcarinal lymph node(s) and/or ipsilateral internal mammary or mediastinal lymph node(s)", "Regional lymph nodes, ipsilateral, mediastinal:\n Aortic (above diaphragm), NOS:\n Aorto-pulmonary window\n Ascending aorta\n Peri/para-aortic\n Phrenic\n Subaortic\n Carinal:\n Tracheobronchial\n Tracheal bifurcation\n Internal mammary (parasternal)\n Mediastinal, NOS:\n Anterior\n Posterior (tracheoesophageal)\n Pericardial\n Peri/paraesophageal (below carina)\n Peri/paratracheal, NOS:\n Lower peritracheal (azygos)\n Upper paratracheal\n Pretracheal and retrotracheal, NOS:\n Precarinal\n Prevascular\n Pulmonary ligament\n Subcardial\n Subcarinal\n\nRegional lymph nodes, ipsilateral, mediastinal:\n Peridiaphragmatic\n\nStated as N2" ], [ "p3", "pN3", "Metastasis in contralateral mediastinal, internal mammary, or hilar node(s) and/or ipsilateral or contralateral supraclavicular or scalene lymph node(s)", "Stated as N3" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/primary_site.json b/src/test/resources/algorithms/tnm/2.0/tables/primary_site.json deleted file mode 100644 index 254a16223..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/primary_site.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "primary_site", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Primary Site", - "title" : "Primary Site", - "last_modified" : "2018-05-14T21:29:03.405Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "desc", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "C000", "External upper lip" ], [ "C001", "External lower lip" ], [ "C002", "External lip, NOS" ], [ "C003", "Inner aspect, upper lip" ], [ "C004", "Inner aspect, lower lip" ], [ "C005", "Inner aspect of lip, NOS" ], [ "C006", "Commissure of lip" ], [ "C008", "Overlapping lesion of lip" ], [ "C009", "Lip, NOS" ], [ "C019", "Base of tongue" ], [ "C020", "Dorsal surface of tongue" ], [ "C021", "Border of tongue" ], [ "C022", "Ventral surface of tongue" ], [ "C023", "Anterior two-thirds of tongue, NOS" ], [ "C024", "Lingual tonsil" ], [ "C028", "Overlapping lesion of tongue" ], [ "C029", "Tongue, NOS" ], [ "C030", "Upper gum" ], [ "C031", "Lower gum" ], [ "C039", "Gum, NOS" ], [ "C040", "Anterior floor of mouth" ], [ "C041", "Lateral floor of mouth" ], [ "C048", "Overlapping lesion of floor of mouth" ], [ "C049", "Floor of mouth, NOS" ], [ "C050", "Hard palate" ], [ "C051", "Soft palate" ], [ "C052", "Uvula" ], [ "C058", "Overlapping lesion of palate" ], [ "C059", "Palate, NOS" ], [ "C060", "Cheek mucosa" ], [ "C061", "Vestibule of mouth" ], [ "C062", "Retromolar area" ], [ "C068", "Overlapping lesion of other & unspecified parts of mouth" ], [ "C069", "Mouth, NOS" ], [ "C079", "Parotid gland" ], [ "C080", "Submandibular gland" ], [ "C081", "Sublingual gland" ], [ "C088", "Overlapping lesion of major salivary glands" ], [ "C089", "Major salivary gland, NOS" ], [ "C090", "Tonsillar fossa" ], [ "C091", "Tonsillar pillar" ], [ "C098", "Overlapping lesion of tonsil" ], [ "C099", "Tonsil, NOS" ], [ "C100", "Vallecula" ], [ "C101", "Anterior surface of epiglottis" ], [ "C102", "Lateral wall of oropharynx" ], [ "C103", "Posterior wall of oropharynx" ], [ "C104", "Branchial cleft" ], [ "C108", "Overlapping lesion of oropharynx" ], [ "C109", "Oropharynx, NOS" ], [ "C110", "Superior wall of nasopharynx" ], [ "C111", "Posterior wall of nasopharynx" ], [ "C112", "Lateral wall of nasopharynx" ], [ "C113", "Anterior wall of nasopharynx" ], [ "C118", "Overlapping lesion of nasopharynx" ], [ "C119", "Nasopharynx, NOS" ], [ "C129", "Pyriform sinus" ], [ "C130", "Postcricoid region" ], [ "C131", "Aryepiglottic fold, hypopharyngeal aspect" ], [ "C132", "Posterior wall of hypopharynx" ], [ "C138", "Overlapping lesion of hypopharynx" ], [ "C139", "Hypopharynx, NOS" ], [ "C140", "Pharynx, NOS" ], [ "C142", "Waldeyer's ring" ], [ "C148", "Overlapping lesion of lip, oral cavity & pharynx" ], [ "C150", "Cervical part of esophagus" ], [ "C151", "Thoracic part of esophagus" ], [ "C152", "Abdominal part of esophagus" ], [ "C153", "Upper third of esophagus" ], [ "C154", "Middle third of esophagus" ], [ "C155", "Lower third of esophagus" ], [ "C158", "Overlapping lesion of esophagus" ], [ "C159", "Esophagus, NOS" ], [ "C160", "Cardia" ], [ "C161", "Fundus of stomach" ], [ "C162", "Body of stomach" ], [ "C163", "Gastric antrum" ], [ "C164", "Pylorus" ], [ "C165", "Lesser curvature of stomach, NOS" ], [ "C166", "Greater curvature of stomach, NOS" ], [ "C168", "Overlapping lesion of stomach" ], [ "C169", "Stomach, NOS" ], [ "C170", "Duodenum" ], [ "C171", "Jejunum" ], [ "C172", "Ileum" ], [ "C173", "Meckel diverticulum" ], [ "C178", "Overlapping lesion of small intestine" ], [ "C179", "Small intestine, NOS" ], [ "C180", "Cecum" ], [ "C181", "Appendix" ], [ "C182", "Ascending colon" ], [ "C183", "Hepatic flexure of colon" ], [ "C184", "Transverse colon" ], [ "C185", "Splenic flexure of colon" ], [ "C186", "Descending colon" ], [ "C187", "Sigmoid colon" ], [ "C188", "Overlapping lesion of colon" ], [ "C189", "Colon, NOS" ], [ "C199", "Rectosigmoid junction" ], [ "C209", "Rectum" ], [ "C210", "Anus, NOS" ], [ "C211", "Anal canal" ], [ "C212", "Cloacogenic zone" ], [ "C218", "Overlapping lesion of rectum, anus & anal canal" ], [ "C220", "Liver" ], [ "C221", "Intrahepatic bile duct" ], [ "C239", "Gallbladder" ], [ "C240", "Extrahepatic bile duct" ], [ "C241", "Ampulla of vater" ], [ "C248", "Overlapping lesion of biliary tract" ], [ "C249", "Biliary tract, NOS" ], [ "C250", "Head of pancreas" ], [ "C251", "Body of pancreas" ], [ "C252", "Tail of pancreas" ], [ "C253", "Pancreatic duct" ], [ "C254", "Endocrine pancreas" ], [ "C257", "Oth parts of pancreas" ], [ "C258", "Overlapping lesion of pancreas" ], [ "C259", "Pancreas, NOS" ], [ "C260", "Intestinal tract, NOS" ], [ "C268", "Overlapping lesion of digestive system" ], [ "C269", "Gastrointestinal tract, NOS" ], [ "C300", "Nasal cavity" ], [ "C301", "Middle ear" ], [ "C310", "Maxillary sinus" ], [ "C311", "Ethmoidal sinus" ], [ "C312", "Frontal sinus" ], [ "C313", "Sphenoidal sinus" ], [ "C318", "Overlapping lesion of accessory sinuses" ], [ "C319", "Accessory sinus, NOS" ], [ "C320", "Glottis" ], [ "C321", "Supraglottis" ], [ "C322", "Subglottis" ], [ "C323", "Laryngeal cartilage" ], [ "C328", "Overlapping lesion of larynx" ], [ "C329", "Larynx, NOS" ], [ "C339", "Trachea" ], [ "C340", "Main bronchus" ], [ "C341", "Upper lobe, bronchus or lung" ], [ "C342", "Middle lobe, bronchus or lung" ], [ "C343", "Lower lobe, bronchus or lung" ], [ "C348", "Overlapping lesion of bronchus & lung" ], [ "C349", "Bronchus or lung, NOS" ], [ "C379", "Thymus" ], [ "C380", "Heart" ], [ "C381", "Anterior mediastinum" ], [ "C382", "Posterior mediastinum" ], [ "C383", "Mediastinum, NOS" ], [ "C384", "Pleura" ], [ "C388", "Overlapping lesion of heart, mediastinum & pleura" ], [ "C390", "Upper respiratory tract, NOS" ], [ "C398", "Overlapping lesion of respiratory & intrathoracic organs" ], [ "C399", "Ill-defined sites within respiratory system" ], [ "C400", "Long bones of upper limb, scapula and associative joints" ], [ "C401", "Short bones of upper limb and associative joints" ], [ "C402", "Long bones of lower limb and associative joints" ], [ "C403", "Short bones of lower limb and associative joints" ], [ "C408", "Overlapping lesion of bone & articular cartilage of limbs" ], [ "C409", "Bone & articular cartilage of limb, NOS" ], [ "C410", "Bones of skull & face" ], [ "C411", "Mandible" ], [ "C412", "Vertebral column" ], [ "C413", "Ribs, sternum & clavicle" ], [ "C414", "Pelvic bones, sacrum & coccyx" ], [ "C418", "Overlapping lesion of bone & articular cartilage" ], [ "C419", "Bone & articular cartilage, NOS" ], [ "C420", "Blood" ], [ "C421", "Bone marrow" ], [ "C422", "Spleen" ], [ "C423", "Reticuloendothelial system, NOS" ], [ "C424", "Hematopoietic system, NOS" ], [ "C440", "Skin of lip" ], [ "C441", "Skin of eyelid" ], [ "C442", "Skin of ear & external auricular canal" ], [ "C443", "Skin of other & unspecified parts of face" ], [ "C444", "Skin of scalp & neck" ], [ "C445", "Skin of trunk" ], [ "C446", "Skin of upper limb and shoulder" ], [ "C447", "Skin of lower limb and hip" ], [ "C448", "Overlapping lesion of skin" ], [ "C449", "Skin, NOS" ], [ "C470", "Peripheral nerves of head, face & neck" ], [ "C471", "Peripheral nerves of upper limb and shoulder" ], [ "C472", "Peripheral nerves of lower limb and hip" ], [ "C473", "Peripheral nerves of thorax" ], [ "C474", "Peripheral nerves of abdomen" ], [ "C475", "Peripheral nerves of pelvis" ], [ "C476", "Peripheral nerves of trunk, NOS" ], [ "C478", "Overlapping lesion of peripheral nerves & autonomic nervous system" ], [ "C479", "Peripheral nerves & autonomic nervous system, NOS" ], [ "C480", "Retroperitoneum" ], [ "C481", "Specified parts of peritoneum" ], [ "C482", "Peritoneum, NOS" ], [ "C488", "Overlapping lesion of retroperitoneum & peritoneum" ], [ "C490", "Connective & soft tissue of head, face & neck" ], [ "C491", "Connective & soft tissue of upper limb and shoulder" ], [ "C492", "Connective & soft tissue of lower limb and hip" ], [ "C493", "Connective & soft tissue of thorax" ], [ "C494", "Connective & soft tissue of abdomen" ], [ "C495", "Connective & soft tissue of pelvis" ], [ "C496", "Connective & soft tissue of trunk, NOS" ], [ "C498", "Overlapping lesion of connective & soft tissue" ], [ "C499", "Connective & soft tissue, NOS" ], [ "C500", "Nipple & areola" ], [ "C501", "Central portion of breast" ], [ "C502", "Upper-inner quadrant of breast" ], [ "C503", "Lower-inner quadrant of breast" ], [ "C504", "Upper-outer quadrant of breast" ], [ "C505", "Lower-outer quadrant of breast" ], [ "C506", "Axillary tail of breast" ], [ "C508", "Overlapping lesion of breast" ], [ "C509", "Breast, NOS" ], [ "C510", "Labium majus" ], [ "C511", "Labium minus" ], [ "C512", "Clitoris" ], [ "C518", "Overlapping lesion of vulva" ], [ "C519", "Vulva, NOS" ], [ "C529", "Vagina" ], [ "C530", "Endocervix" ], [ "C531", "Exocervix" ], [ "C538", "Overlapping lesion of cervix uteri" ], [ "C539", "Cervix uteri, NOS" ], [ "C540", "Isthmus uteri" ], [ "C541", "Endometrium" ], [ "C542", "Myometrium" ], [ "C543", "Fundus uteri" ], [ "C548", "Overlapping lesion of corpus uteri" ], [ "C549", "Corpus uteri, NOS" ], [ "C559", "Uterus" ], [ "C569", "Ovary" ], [ "C570", "Fallopian tube" ], [ "C571", "Broad ligament" ], [ "C572", "Round ligament" ], [ "C573", "Parametrium" ], [ "C574", "Uterine adnexa" ], [ "C577", "Oth specified female genital organs" ], [ "C578", "Overlapping lesion of female genital organs" ], [ "C579", "Female genital organ, NOS" ], [ "C589", "Placenta" ], [ "C600", "Prepuce" ], [ "C601", "Glans penis" ], [ "C602", "Body of penis" ], [ "C608", "Overlapping lesion of penis" ], [ "C609", "Penis, NOS" ], [ "C619", "Prostate" ], [ "C620", "Undescended testis" ], [ "C621", "Descended testis" ], [ "C629", "Testis, NOS" ], [ "C630", "Epididymis" ], [ "C631", "Spermatic cord" ], [ "C632", "Scrotum" ], [ "C637", "Oth specified male genital organs" ], [ "C638", "Overlapping lesion of male genital organs" ], [ "C639", "Male genital organ, NOS" ], [ "C649", "Kidney, except renal pelvis" ], [ "C659", "Renal pelvis" ], [ "C669", "Ureter" ], [ "C670", "Trigone of bladder" ], [ "C671", "Dome of bladder" ], [ "C672", "Lateral wall of bladder" ], [ "C673", "Anterior wall of bladder" ], [ "C674", "Posterior wall of bladder" ], [ "C675", "Bladder neck" ], [ "C676", "Ureteric orifice" ], [ "C677", "Urachus" ], [ "C678", "Overlapping lesion of bladder" ], [ "C679", "Bladder, NOS" ], [ "C680", "Urethra" ], [ "C681", "Paraurethral glands" ], [ "C688", "Overlapping lesion of urinary organs" ], [ "C689", "Urinary system, NOS" ], [ "C690", "Conjunctiva" ], [ "C691", "Cornea" ], [ "C692", "Retina" ], [ "C693", "Choroid" ], [ "C694", "Ciliary body" ], [ "C695", "Lachrymal gland & duct" ], [ "C696", "Orbit" ], [ "C698", "Overlapping lesion of eye & adnexa" ], [ "C699", "Eye, NOS" ], [ "C700", "Cerebral meninges" ], [ "C701", "Spinal meninges" ], [ "C709", "Meninges, NOS" ], [ "C710", "Cerebrum, except lobes & ventricles" ], [ "C711", "Frontal lobe" ], [ "C712", "Temporal lobe" ], [ "C713", "Parietal lobe" ], [ "C714", "Occipital lobe" ], [ "C715", "Cerebral ventricle" ], [ "C716", "Cerebellum" ], [ "C717", "Brain stem" ], [ "C718", "Overlapping lesion of brain" ], [ "C719", "Brain, NOS" ], [ "C720", "Spinal cord" ], [ "C721", "Cauda equina" ], [ "C722", "Olfactory nerve" ], [ "C723", "Optic nerve" ], [ "C724", "Acoustic nerve" ], [ "C725", "Cranial nerves, NOS" ], [ "C728", "Overlapping lesion of brain & central nervous system" ], [ "C729", "Central nervous system, NOS" ], [ "C739", "Thyroid gland" ], [ "C740", "Cortex of adrenal gland" ], [ "C741", "Medulla of adrenal gland" ], [ "C749", "Adrenal gland, NOS" ], [ "C750", "Parathyroid gland" ], [ "C751", "Pituitary gland" ], [ "C752", "Craniopharyngeal duct" ], [ "C753", "Pineal gland" ], [ "C754", "Carotid body" ], [ "C755", "Aortic body & other paraganglia" ], [ "C758", "Overlapping lesion of endocrine gland" ], [ "C759", "Endocrine gland, NOS" ], [ "C760", "Head, face & neck, NOS" ], [ "C761", "Thorax, NOS" ], [ "C762", "Abdomen, NOS" ], [ "C763", "Pelvis, NOS" ], [ "C764", "Upper limb, NOS" ], [ "C765", "Lower limb, NOS" ], [ "C767", "Other ill-defined sites" ], [ "C768", "Overlapping lesion of ill-defined sites" ], [ "C770", "Lymph nodes of head, face & neck" ], [ "C771", "Intrathoracic lymph nodes" ], [ "C772", "Intra-abdominal lymph nodes" ], [ "C773", "Axillary & upper limb lymph nodes" ], [ "C774", "Inguinal & lower limb lymph nodes" ], [ "C775", "Pelvic lymph nodes" ], [ "C778", "Lymph nodes of multiple regions" ], [ "C779", "Lymph nodes, NOS" ], [ "C809", "Unknown primary site" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/prostate_n_76551.json b/src/test/resources/algorithms/tnm/2.0/tables/prostate_n_76551.json deleted file mode 100644 index 452a4a0ce..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/prostate_n_76551.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "prostate_n_76551", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin N Prostate", - "title" : "Clinical N", - "notes" : "**Note:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes (includes contralateral or bilateral lymph nodes)**\n\n Iliac, NOS\n External\n Internal (hypogastric), NOS\n Obturator\n Pelvic, NOS\n Periprostatic\n Sacral, NOS\n Lateral (laterosacral)\n Middle (promontorial) (Gerota's node)\n Presacral", - "last_modified" : "2018-05-14T21:29:03.542Z", - "definition" : [ { - "key" : "clin_n", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "clin_n_display", - "name" : "Clinical N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cNX", "Regional lymph nodes cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess N\n Regional lymph node involvement cannot be determined or findings inconclusive\nPhysician assigns cNX, no other information available to determine N" ], [ "c0", "cN0", "No regional lymph node metastasis", "" ], [ "c1", "cN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/prostate_pathologic_n_4662.json b/src/test/resources/algorithms/tnm/2.0/tables/prostate_pathologic_n_4662.json deleted file mode 100644 index 8ba9efc0e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/prostate_pathologic_n_4662.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "prostate_pathologic_n_4662", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Prostate", - "title" : "Pathologic N", - "notes" : "**Note:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes (includes contralateral or bilateral lymph nodes)**\n\n Iliac, NOS\n External\n Internal (hypogastric), NOS:\n Obturator\n Pelvic, NOS\n Periprostatic\n Sacral, NOS\n Lateral (laterosacral)\n Middle (promontorial) (Gerota's node)\n Presacral", - "last_modified" : "2018-05-14T21:29:03.675Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/radiation_surg_seq.json b/src/test/resources/algorithms/tnm/2.0/tables/radiation_surg_seq.json deleted file mode 100644 index 482621c46..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/radiation_surg_seq.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "radiation_surg_seq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Radiation Surg Seq", - "title" : "RX Summ Surgery/Radiation Sequence", - "last_modified" : "2018-05-14T21:29:03.698Z", - "definition" : [ { - "key" : "radiation_surg_seq", - "name" : "RX Summ Surgery/Radiation Sequence", - "type" : "INPUT" - }, { - "key" : "desc", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No radiation and/or no surgery; unknown if surgery and/or radiation given" ], [ "2", "Radiation before surgery" ], [ "3", "Radiation after surgery" ], [ "4", "Radiation both before and after surgery" ], [ "5", "Intraoperative radiation" ], [ "6", "Intraoperative radiation with other radiation given before and/or after surgery" ], [ "7", "Surgery both before and after radiation" ], [ "9", "Sequence unknown, but both surgery and radiation were given" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/rectum_t_5935.json b/src/test/resources/algorithms/tnm/2.0/tables/rectum_t_5935.json deleted file mode 100644 index 147f89d5b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/rectum_t_5935.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "rectum_t_5935", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Rectum", - "title" : "Pathologic T", - "notes" : "**Note 1:** High grade dysplasia and severe dysplasia of the colon are generally not reportable in cancer registries.\n* Assign pTis if your registry collects these tumors\n\n**Note 2:** In situ includes cancer cells confined within the glandular basement membrane (intraepithelial); localized includes confined to lamina propria (intramucosal), the muscular mucosa, and muscularis propria. \n\n**Note 3:** Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 4:** Direct invasion in cT4b includes invasion of other organs or segments of the colorectum by way of the serosa, as confirmed on microscopic examination, or for tumors in a retroperitoneal or subperitoneal location, direct invasion of other organs or structures by virtue of extension beyond the muscularis propria. \n\n**Note 5:** Tumor that is adherent to other organs or structures, macroscopically, is classified T4b. However, if no tumor is present in the adhesion, microscopically, the classification should be pT1 - pT3.\n\n**Note 6:** Assign T4b for contiguous extension from the site of origin. Discontinuous involvement is coded in M (distant metastasis).", - "footnotes" : "\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.326Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ: intraepithelial or invasion of lamina propria", "(Adeno)carcinoma, noninvasive, in a polyp or adenoma\n\nInvasive tumor confined to:\n Lamina propria, including lamina propria in the stalk of a polyp\n Mucosa, NOS, including intramucosal, NOS\n Muscularis mucosae (but not through), including muscularis mucosae in the stalk of a polyp\n\nStated as Tis" ], [ "p1", "pT1", "Tumor invades submucosa", "Confined to: \n Head of polyp, NOS\n Stalk of polyp, NOS\n\nInvasive tumor in polyp, NOS\n\nInvades submucosa (superficial invasion), including submucosa in the head or stalk of polyp\n\nConfined to rectosigmoid, NOS\nConfined to rectum, NOS\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor invades muscularis propria", "For rectum (C209):\n Tumor invading muscularis propria with intraluminal extension to colon and/or anal canal/anus\n\nStated as T2" ], [ "p3", "pT3", "Tumor invades subserosa or into non-peritionalized pericolic or perirectal tissues", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS\n\nFor rectum (C209):\n Tumor invading through muscularis propria with intraluminal extension to colon and/or anal canal/anus\n\nAdjacent (connective) tissue:\n For all sites:\n Perirectal fat\n For rectosigmoid:\n Mesentery (including mesenteric fat, mesocolon)\n Pericolic fat\n For rectum:\n Rectovaginal septum\n\nFat, NOS\n\nStated as T3" ], [ "p4", "pT4", "Tumor directly invades other organs or structures and/or perforates visceral peritoneum#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nStated as T4 [NOS]" ], [ "p4A", "pT4a", "Tumor perforates visceral peritoneum", "Invasion of/through serosa (mesothelium) (visceral peritoneum)\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor directly invades other organs or structures", "Tumor found in adhesion(s) if microscopic examination performed\n\nAdherent to other organs or structures, NOS\n\nFor both rectum and rectosigmoid sites:\n Bladder\n Cul de sac (rectouterine pouch)\n Ovary(ies)\n Pelvic wall/pelvic plexuses\n Prostate\n Skeletal muscle of pelvic floor\n Uterus\n Vagina\n\nFor rectosigmoid (C199):\n Small intestine\n Colon via serosa\n Fallopian tube(s)\n Ureter(s)\n \nFor rectum (C209):\n Anal canal/anus extraluminally\n Bone(s) of pelvis\n Cervix\n Ductus deferens\n Perineum, perianal skin\n Rectovesical fascia for males only\n Sacrum\n Sacral plexus\n Seminal vesicle(s)\n Urethra\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/renal_pelvis_and_ureter_t_91246.json b/src/test/resources/algorithms/tnm/2.0/tables/renal_pelvis_and_ureter_t_91246.json deleted file mode 100644 index 4c8be6e82..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/renal_pelvis_and_ureter_t_91246.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "renal_pelvis_and_ureter_t_91246", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Renal Pelvis and Ureter", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign pTa or pTis for in situ cases (behavior code /2).\n\n**Note 2:** In case of multifocal noninvasive Ta and Tis tumors, assign pTis.\n\n**Note 3:** Tumor involving both renal pelvis and ureter (unifocal or multifocal) is classified by the depth of greatest invasion in either organ for TNM staging. \n* Assign T1 for tumor involving the wall of both renal pelvis and ureter\n\n**Note 4:** Direct invasion of the bladder by a ureteral tumor is classified by the depth of greatest invasion of the bladder or ureter for TNM staging.", - "last_modified" : "2018-05-14T21:29:04.335Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pA", "pTa", "Non-invasive papillary carcinoma", "Noninvasive papillary carcinoma\n\nStated as Ta" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive (flat, sessile)\n\nStated as Tis" ], [ "p1", "pT1", "Tumor invades subepithelial connective tissue", "Subepithelial connective tissue (lamina propria, submucosa) of renal pelvis only\nSubepithelial connective tissue (lamina propria, submucosa) of ureter only\n\nRenal pelvis and ureter (unifocal or multifocal):\n Subepithelial connective tissue\n Renal pelvis from ureter\n Ureter from renal pelvis\n Distal ureter from proximal ureter\n\nExtension to bladder from ureter:\n Subepithelial connective tissue of distal ureter and/or bladder \n\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor invades muscularis", "Muscularis of renal pelvis only\nMuscularis of ureter only\n\nRenal pelvis and ureter (unifocal or multifocal):\n Muscularis\n Renal pelvis from ureter\n Ureter from renal pelvis\n Distal ureter from proximal ureter\n\nExtension to bladder from ureter:\n Muscularis of distal ureter and/or bladder \n\nStated as T2" ], [ "p3", "pT3", "(Renal pelvis) Tumor invades beyond muscularis into: \n Peripelvic fat \n Renal parenchyma\n\n(Ureter) Tumor invades beyond muscular into: \n Periureteric fact", "Extension to adjacent (connective) tissue:\n Peripelvic/periureteric tissue\n Retroperitoneal soft/connective tissue\n\nFor renal pelvis only (C659):\n Ipsilateral kidney parenchyma and kidney, NOS\n\nStated as T3" ], [ "p4", "pT4", "Tumor invades adjacent organs OR \nThrough the kidney into perinephric fat", "Extension to:\n Ascending colon from right renal pelvis\n Ascending colon from right ureter\n Bladder (wall or mucosa) from renal pelvis\n Colon, NOS\n Descending colon from left renal pelvis\n Descending colon from left ureter \n Duodenum from right renal pelvis or right ureter\n Ipsilateral adrenal (suprarenal) gland from renal pelvis\n Ipsilateral kidney parenchyma from ureter\n Liver\n Pancreas\n Perinephric fat via kidney\n Psoas muscle from ureter\n Spleen\n\nFor renal pelvis only (C659):\n Extension to major blood vessel(s):\n Aorta\n Renal artery/vein\n Vena cava (inferior)\n Tumor thrombus in a renal vein, NOS\n\nFor ureter only (C669):\n Extension to major blood vessel(s):\n Aorta\n Renal artery/vein\n Vena cava (inferior)\n Tumor thrombus in a renal vein, NOS\n\nFurther contiguous extension, including:\n For ureter:\n Prostate\n Uterus\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/renal_pevis_and_ureter_n_58133.json b/src/test/resources/algorithms/tnm/2.0/tables/renal_pevis_and_ureter_n_58133.json deleted file mode 100644 index ce25f260a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/renal_pevis_and_ureter_n_58133.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "renal_pevis_and_ureter_n_58133", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Renal Pevis and Ureter", - "title" : "Pathologic N", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 2:** Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 3:** Size of the largest metastasis in a lymph node must be known to assign N. You may use a physician’s statement of the N category if this is the only information in the medical record.\n* If the size of the metastasis is not documented, determine the size of the largest involved lymph node as documented pathologically\n* If the size of the lymph node(s) cannot be determined, assign N1\n* Do not code the size of any node(s) assigned in M (distant metastasis)\n\n**Regional lymph nodes**\n\n Renal Pelvis\n Aortic, NOS\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Paracaval\n Renal hilar\n Retroperitoneal, NOS\n Regional lymph node, NOS\n Ureter\n Iliac, NOS\n Common\n External\n Internal (hypogastric), NOS\n Obturator\n Lateral aortic (lumbar)\n Paracaval\n Pelvic, NOS\n Periureteral\n Renal hilar\n Retroperitoneal, NOS", - "last_modified" : "2018-05-14T21:29:02.678Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Metastasis in a single lymph node 2 cm or less in greatest dimension", "Single or multiple nodes not stated, size not stated\n \nRegional lymph node, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "p2", "pN2", "Metastasis in a single lymph node more than 2 cm but not more than 5 cm in greatest dimension, OR \nMultiple lymph nodes, none more than 5 cm in greatest dimension", "Single or multiple nodes not stated, size stated and greater than 2 cm but less than or equal to 5 cm\n\nStated as N2" ], [ "p3", "pN3", "Metastasis in a lymph node more than 5 cm in greatest dimension", "Single or multiple nodes not stated, size stated and greater than 5 cm\n\nStated as N3" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/retinoblastoma_clinical_n_19393.json b/src/test/resources/algorithms/tnm/2.0/tables/retinoblastoma_clinical_n_19393.json deleted file mode 100644 index 07a504758..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/retinoblastoma_clinical_n_19393.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "retinoblastoma_clinical_n_19393", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin N Retinoblastoma", - "title" : "Clinical N", - "notes" : "**Regional lymph nodes**\n\n Cervical, NOS\n Submandibular (submaxillary)\n Parotid, NOS\n Infra-auricular\n Preauricular", - "footnotes" : "\\* N2 is not defined in UICC 7th edition. Approval has been provided by UICC to use the definition from the AJCC 7th edition, which is documented in the registrar notes.", - "last_modified" : "2018-05-14T21:29:00.093Z", - "definition" : [ { - "key" : "clin_n", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "clin_n_display", - "name" : "Clinical N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cNX", "Regional lymph nodes cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess N\n Regional lymph node involvement cannot be determined or findings inconclusive\nPhysician assigns cNX, no other information available to determine N" ], [ "c0", "cN0", "No regional lymph node metastasis", "" ], [ "c1", "cN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c2", "cN2", "Not defined by UICC*", "Distant lymph node involvement\n\nStated as N2" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/retinoblastoma_pathologic_n_93880.json b/src/test/resources/algorithms/tnm/2.0/tables/retinoblastoma_pathologic_n_93880.json deleted file mode 100644 index 61226a38a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/retinoblastoma_pathologic_n_93880.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "retinoblastoma_pathologic_n_93880", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Retinoblastoma", - "title" : "Pathologic N", - "notes" : "**Regional lymph nodes**\n\n Cervical, NOS\n Submandibular (submaxillary)\n Parotid, NOS\n Infra-auricular\n Preauricular", - "last_modified" : "2018-05-14T21:29:04.432Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node involvement", "" ], [ "p1", "pN1", "Regional lymph node involvement (preauricular, cervical)", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "p2", "pN2", "Distant lymph node involvement", "Distant lymph node involvement\n\nStated as N2" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/retroperitoneum_n_12750.json b/src/test/resources/algorithms/tnm/2.0/tables/retroperitoneum_n_12750.json deleted file mode 100644 index b8241bbf0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/retroperitoneum_n_12750.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "retroperitoneum_n_12750", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Clin N Peritoneum-Retroperitoneum", - "title" : "Clinical N", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 2:** Regional lymph nodes are defined as those in the vicinity of the primary tumor.\n\n**Note 3:** Regional lymph node involvement is rare. For this schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative. \n* Assign NX only when there is no available information on the extent of the patient's disease, for example when a lab-only case is abstracted from a biopsy report and no clinical history is available\n\n**Regional lymph nodes**\n\n Intra-abdominal\n Paracaval\n Pelvic\n Subdiaphragmatic", - "last_modified" : "2018-05-14T21:29:00.018Z", - "definition" : [ { - "key" : "clin_n", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "clin_n_display", - "name" : "Clinical N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "cX", "cNX", "Regional lymph nodes cannot be assessed", "Clinical classification criteria met, evaluation done: \n Physician unable to assess N\n Regional lymph node involvement cannot be determined or findings inconclusive\nPhysician assigns cNX, no other information available to determine N" ], [ "c0", "cN0", "No regional lymph node metastasis", "" ], [ "c1", "cN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Clinical classification criteria not met\nClinical classification criteria met, evaluation done:\n No information about diagnostic workup\n Results not documented in record\nTumor first detected on surgical resection (no clinical workup)\nEvidence of metastatic disease [(cM1) or (pM1)], no other workup\nOnly Clinical Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/retroperitoneum_t_87029.json b/src/test/resources/algorithms/tnm/2.0/tables/retroperitoneum_t_87029.json deleted file mode 100644 index 27d4e9d99..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/retroperitoneum_t_87029.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "retroperitoneum_t_87029", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Retroperitoneum", - "title" : "Pathologic T", - "notes" : "**Note 1:** Retroperitoneal sarcomas are classified as deep tumors. Only T1b or T2b are available. \n\n**Note 2:** Tumor size must be known to assign T. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category based on the tumor size for the following descriptions\n\n Tumor confined to site of origin\n\n Adjacent connective tissue \n Adjacent organs/structures\n Adrenal(s) (suprarenal gland(s))\n Aorta\n Ascending colon\n Bone/cartilage\n Descending colon\n Kidney(s)\n Pancreas\n Vena cava\n Vertebra\n Further contiguous extension, including:\n Extension to colon other than ascending or descending\n\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:04.410Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1B", "pT1b", "Tumor 5 cm or less in greatest dimension\nDeep tumor", "Stated as T1b or T1 [NOS]" ], [ "p2B", "pT2b", "Tumor more than 5 cm in greatest dimension\nDeep tumor", "Stated as T2b or T2 [NOS]" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/salivaryglandother_t_67266.json b/src/test/resources/algorithms/tnm/2.0/tables/salivaryglandother_t_67266.json deleted file mode 100644 index 95bf58676..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/salivaryglandother_t_67266.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "salivaryglandother_t_67266", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T SalivaryGlandOther", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for salivary gland other tumors.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2 or T3) based on the tumor size for the following descriptions\n\n Invasive tumor confined to gland/duct of origin\n Microscopic extraparenchymal extension ONLY to periglandular soft/connective tissue\n\n Confined to salivary gland, NOS\n Localized, NOS\n \n**Note 4:** Extraparenchymal extension is clinical or macroscopic evidence of invasion of soft tissues or nerve, except those listed under T4a and T4b. Microscopic evidence alone does not constitute extraparenchymal extension for classification purposes.\n\n**Note 5:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Mucoperiosteum is a compound structure of mucous membrane and periosteum. Cortical bone is the dense compact outer layer of bone.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.318Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension \nWITHOUT extraparenchymal extension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension \nWITHOUT extraparenchymal extension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm and/or tumor \nWITH extraparenchymal extension", "Macroscopic extraparenchymal extension to: \n Periglandular soft/connective tissue\n Another major salivary gland (parotid, submandibular)\n Skeletal muscle:\n Digastric\n Pterygoid\n Stylohyoid\n\nOther extension:\n Facial artery or vein\n Maxillary artery\n Spinal accessory nerve\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Skin\n Mandible\n Ear canal\n Facial nerve", "External auditory meatus\nNerves:\n Facial (7th)\n Lingual\nPeriosteum of mandible\nSkin\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades: \n Base of skull\n Pterygoid plates\n\nOR encases carotid artery", "Skull, NOS\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_adnexa_uterine_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_adnexa_uterine_other.json deleted file mode 100644 index 604503f42..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_adnexa_uterine_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_adnexa_uterine_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection AdnexaUterineOther", - "title" : "Schema selection for AdnexaUterineOther", - "last_modified" : "2018-05-14T21:28:58.331Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C571-C574", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_adrenal_gland.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_adrenal_gland.json deleted file mode 100644 index f86e56dc6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_adrenal_gland.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_adrenal_gland", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection AdrenalGland", - "title" : "Schema selection for AdrenalGland", - "last_modified" : "2018-05-14T21:29:03.549Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C740-C741", "8000-9136,9141-9582,9700-9701", "MATCH" ], [ "C749", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ampulla_vater.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ampulla_vater.json deleted file mode 100644 index 5d48dd671..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ampulla_vater.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_ampulla_vater", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection AmpullaVater", - "title" : "Schema selection for AmpullaVater", - "last_modified" : "2018-05-14T21:29:00.081Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C241", "8000-8152,8154-8231,8243-8245,8247,8248,8250-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_anus.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_anus.json deleted file mode 100644 index 8d1591379..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_anus.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_anus", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Anus", - "title" : "Schema selection for Anus", - "last_modified" : "2018-05-14T21:29:00.023Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C210-C212,C218", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_appendix.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_appendix.json deleted file mode 100644 index de43c8ca1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_appendix.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_appendix", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Appendix", - "title" : "Schema selection for Appendix", - "last_modified" : "2018-05-14T21:28:58.339Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C181", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_distal.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_distal.json deleted file mode 100644 index 840da9a12..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_distal.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_bile_ducts_distal", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection BileDuctsDistal", - "title" : "Schema selection for BileDuctsDistal", - "last_modified" : "2018-05-14T21:29:00.024Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: BileDuctsDistal/BileDuctsPerihilar/CysticDuct", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C240", "8000-9136,9141-9582,9700-9701", "040,070", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_intrahepat.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_intrahepat.json deleted file mode 100644 index 65a934c4c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_intrahepat.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_bile_ducts_intrahepat", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection BileDuctsIntraHepat", - "title" : "Schema selection for BileDuctsIntraHepat", - "last_modified" : "2018-05-14T21:29:03.569Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C221", "8000-8162,8180-9136,9141-9582,9700-9701", "MATCH" ], [ "C220", "8160,8161,8180", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_perihilar.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_perihilar.json deleted file mode 100644 index 579d19fa8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bile_ducts_perihilar.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_bile_ducts_perihilar", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection BileDuctsPerihilar", - "title" : "Schema selection for BileDuctsPerihilar", - "last_modified" : "2018-05-14T21:29:03.564Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: BileDuctsDistal/BileDuctsPerihilar/CysticDuct", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C240", "8000-9136,9141-9582,9700-9701", "010,020,050,060,999", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_biliary_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_biliary_other.json deleted file mode 100644 index 8a8c20215..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_biliary_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_biliary_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection BiliaryOther", - "title" : "Schema selection for BiliaryOther", - "last_modified" : "2018-05-14T21:28:58.386Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C248-C249", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bladder.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bladder.json deleted file mode 100644 index 23884cbdc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bladder.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_bladder", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Bladder", - "title" : "Schema selection for Bladder", - "last_modified" : "2018-05-14T21:29:00.036Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C670-C679", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bone.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bone.json deleted file mode 100644 index f4e769e45..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_bone.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_bone", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Bone", - "title" : "Schema selection for Bone", - "last_modified" : "2018-05-15T15:53:15.982Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C400-C403,C408-C409,C410-C414,C418-C419", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_brain.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_brain.json deleted file mode 100644 index dd423b9c6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_brain.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_brain", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Brain", - "title" : "Schema selection for Brain", - "last_modified" : "2018-05-14T21:28:58.338Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C700,C710-C719", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_breast.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_breast.json deleted file mode 100644 index cb8b276fc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_breast.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_breast", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Breast", - "title" : "Schema selection for Breast", - "last_modified" : "2018-05-14T21:28:58.406Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C500-C506,C508-C509", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_buccal_mucosa.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_buccal_mucosa.json deleted file mode 100644 index 5b57ff529..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_buccal_mucosa.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_buccal_mucosa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection BuccalMucosa", - "title" : "Schema selection for BuccalMucosa", - "last_modified" : "2018-05-14T21:29:01.181Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C060-C061", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_carcinoid_appendix.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_carcinoid_appendix.json deleted file mode 100644 index cde6e61f9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_carcinoid_appendix.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_carcinoid_appendix", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection CarcinoidAppendix", - "title" : "Schema selection for CarcinoidAppendix", - "last_modified" : "2018-05-14T21:29:00.156Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C181", "8153,8240-8242,8246,8249", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cervix.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cervix.json deleted file mode 100644 index 679229002..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cervix.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_cervix", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Cervix", - "title" : "Schema selection for Cervix", - "last_modified" : "2018-05-14T21:28:58.389Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C530-C531,C538-C539", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cns_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cns_other.json deleted file mode 100644 index 9b493d6c2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cns_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_cns_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection CNSOther", - "title" : "Schema selection for CNSOther", - "last_modified" : "2018-05-14T21:28:58.347Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C701,C709,C720-C725,C728-C729", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_colon.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_colon.json deleted file mode 100644 index 0237215b9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_colon.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_colon", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Colon", - "title" : "Schema selection for Colon", - "last_modified" : "2018-05-14T21:29:03.667Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C180,C182-C189", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_conjunctiva.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_conjunctiva.json deleted file mode 100644 index 445e4d5c6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_conjunctiva.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_conjunctiva", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Conjunctiva", - "title" : "Schema selection for Conjunctiva", - "last_modified" : "2018-05-14T21:28:58.353Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C690", "8000-8713,8800-9136,9141-9508,9520-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_adenosarcoma.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_adenosarcoma.json deleted file mode 100644 index 55f5858ab..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_adenosarcoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_corpus_adenosarcoma", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection CorpusAdenosarcoma", - "title" : "Schema selection for CorpusAdenosarcoma", - "last_modified" : "2018-05-14T21:29:00.119Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C540-C543,C548-C549,C559", "8933", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_carcinoma.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_carcinoma.json deleted file mode 100644 index 5a832a3c7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_carcinoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_corpus_carcinoma", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection CorpusCarcinoma", - "title" : "Schema selection for CorpusCarcinoma", - "last_modified" : "2018-05-14T21:29:00.121Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C540-C543,C548-C549,C559", "8000-8790,8950,8951,8980-8981,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_sarcoma.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_sarcoma.json deleted file mode 100644 index 63c157188..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_corpus_sarcoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_corpus_sarcoma", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection CorpusSarcoma", - "title" : "Schema selection for CorpusSarcoma", - "last_modified" : "2018-05-14T21:29:00.120Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C540-C543,C548-C549,C559", "8800-8932,8934-8941,8959-8974,8982-9136,9141-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cystic_duct.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cystic_duct.json deleted file mode 100644 index 60195c0a3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_cystic_duct.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_cystic_duct", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection CysticDuct", - "title" : "Schema selection for CysticDuct", - "last_modified" : "2018-05-14T21:28:58.392Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: BileDuctsDistal/BileDuctsPerihilar/CysticDuct", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C240", "8000-9136,9141-9582,9700-9701", "030", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_digestive_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_digestive_other.json deleted file mode 100644 index a7bc3eef9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_digestive_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_digestive_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection DigestiveOther", - "title" : "Schema selection for DigestiveOther", - "last_modified" : "2018-05-14T21:29:00.139Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C260,C268-C269", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_endocrine_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_endocrine_other.json deleted file mode 100644 index cffbd4852..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_endocrine_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_endocrine_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection EndocrineOther", - "title" : "Schema selection for EndocrineOther", - "last_modified" : "2018-05-14T21:28:58.411Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C379,C750,C754-C755,C758-C759", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_epiglottis_anterior.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_epiglottis_anterior.json deleted file mode 100644 index 8259a56b8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_epiglottis_anterior.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_epiglottis_anterior", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection EpiglottisAnterior", - "title" : "Schema selection for EpiglottisAnterior", - "last_modified" : "2018-05-17T14:01:48.210Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C101", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus.json deleted file mode 100644 index f18fa01c1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_esophagus", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Esophagus", - "title" : "Schema selection for Esophagus", - "last_modified" : "2018-05-14T21:29:00.140Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C150-C155,C158-C159", "8000-8934,8940-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus_gejunction.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus_gejunction.json deleted file mode 100644 index b51f4bc70..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_esophagus_gejunction.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_esophagus_gejunction", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection EsophagusGEJunction", - "title" : "Schema selection for EsophagusGEJunction", - "last_modified" : "2018-05-14T21:29:03.671Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: EsophagusGEJunction (EGJ)/Stomach", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C160", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "*", "MATCH" ], [ "C161-C162", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "020,040,060", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_eye_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_eye_other.json deleted file mode 100644 index f4bd1c63d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_eye_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_eye_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection EyeOther", - "title" : "Schema selection for EyeOther", - "last_modified" : "2018-05-14T21:29:00.122Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C691-C694,C698-C699", "8000-8713,8800-9136,9141-9508,9520-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_fallopian_tube.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_fallopian_tube.json deleted file mode 100644 index 8f2e1352e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_fallopian_tube.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_fallopian_tube", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection FallopianTube", - "title" : "Schema selection for FallopianTube", - "last_modified" : "2018-05-14T21:29:00.688Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C570", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_floor_mouth.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_floor_mouth.json deleted file mode 100644 index 64a863eda..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_floor_mouth.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_floor_mouth", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection FloorMouth", - "title" : "Schema selection for FloorMouth", - "last_modified" : "2018-05-14T21:29:01.463Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C040-C041,C048-C049", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gallbladder.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gallbladder.json deleted file mode 100644 index fb51beb5e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gallbladder.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gallbladder", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Gallbladder", - "title" : "Schema selection for Gallbladder", - "last_modified" : "2018-05-14T21:29:00.034Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C239", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_genital_female_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_genital_female_other.json deleted file mode 100644 index 0984e0466..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_genital_female_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_genital_female_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection GenitalFemaleOther", - "title" : "Schema selection for GenitalFemaleOther", - "last_modified" : "2018-05-14T21:28:58.334Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C577-C579", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_genital_male_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_genital_male_other.json deleted file mode 100644 index c066b68f5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_genital_male_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_genital_male_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection GenitalMaleOther", - "title" : "Schema selection for GenitalMaleOther", - "last_modified" : "2018-05-14T21:28:58.376Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C630-C631,C637-C639", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_appendix.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_appendix.json deleted file mode 100644 index 8c2b765d0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_appendix.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gist_appendix", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection GISTAppendix", - "title" : "Schema selection for GISTAppendix", - "last_modified" : "2018-05-14T21:28:58.367Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C181", "8935-8936", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_colon.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_colon.json deleted file mode 100644 index b58e4bfad..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_colon.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gist_colon", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection GISTColon", - "title" : "Schema selection for GISTColon", - "last_modified" : "2018-05-14T21:28:58.372Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C180,C182-C189", "8935-8936", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_esophagus.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_esophagus.json deleted file mode 100644 index 5b3878550..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_esophagus.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gist_esophagus", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection GISTEsophagus", - "title" : "Schema selection for GISTEsophagus", - "last_modified" : "2018-05-14T21:28:58.495Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C150-C155,C158-C159", "8935-8936", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_peritoneum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_peritoneum.json deleted file mode 100644 index 934e09250..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_peritoneum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gist_peritoneum", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection GISTPeritoneum", - "title" : "Schema selection for GISTPeritoneum", - "last_modified" : "2018-05-14T21:28:58.482Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C480-C482,C488", "8935-8936", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_rectum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_rectum.json deleted file mode 100644 index ee454b6d8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_rectum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gist_rectum", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection GISTRectum", - "title" : "Schema selection for GISTRectum", - "last_modified" : "2018-05-14T21:28:58.496Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C199,C209", "8935-8936", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_small_intestine.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_small_intestine.json deleted file mode 100644 index 0dd5bd002..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_small_intestine.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gist_small_intestine", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection GISTSmallIntestine", - "title" : "Schema selection for GISTSmallIntestine", - "last_modified" : "2018-05-14T21:28:58.375Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C170-C173,C178-C179", "8935-8936", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_stomach.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_stomach.json deleted file mode 100644 index 1513b32a0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gist_stomach.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gist_stomach", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection GISTStomach", - "title" : "Schema selection for GISTStomach", - "last_modified" : "2018-05-14T21:28:58.385Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C160-C166,C168-C169", "8935-8936", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_lower.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_lower.json deleted file mode 100644 index 5beedfe1a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_lower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gum_lower", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection GumLower", - "title" : "Schema selection for GumLower", - "last_modified" : "2018-05-14T21:29:01.625Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C031,C062", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_other.json deleted file mode 100644 index 438744173..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gum_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection GumOther", - "title" : "Schema selection for GumOther", - "last_modified" : "2018-05-14T21:29:01.573Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C039", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_upper.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_upper.json deleted file mode 100644 index c87bec8bf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_gum_upper.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gum_upper", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection GumUpper", - "title" : "Schema selection for GumUpper", - "last_modified" : "2018-05-14T21:29:01.707Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C030", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_heart_mediastinum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_heart_mediastinum.json deleted file mode 100644 index 501d43844..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_heart_mediastinum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_heart_mediastinum", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection HeartMediastinum", - "title" : "Schema selection for HeartMediastinum", - "last_modified" : "2018-05-14T21:28:58.410Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C380-C383,C388", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_heme_retic.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_heme_retic.json deleted file mode 100644 index d10f59400..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_heme_retic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_heme_retic", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection HemeRetic", - "title" : "Schema selection for HemeRetic", - "last_modified" : "2018-05-14T21:29:03.537Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C809", "9740-9809,9840-9992", "MATCH" ], [ "C420,C421,C424", "9811-9818,9823,9827,9837", "MATCH" ], [ "C000-C440,C442-C689,C691-C694,C698-C809", "9820,9826,9831-9834", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_hypopharynx.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_hypopharynx.json deleted file mode 100644 index 12e0b23dd..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_hypopharynx.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_hypopharynx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Hypopharynx", - "title" : "Schema selection for Hypopharynx", - "last_modified" : "2018-05-14T21:28:58.390Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C129,C130-C132,C138-C139", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ill_defined_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ill_defined_other.json deleted file mode 100644 index 46bcc6613..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ill_defined_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_ill_defined_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection IllDefinedOther", - "title" : "Schema selection for IllDefinedOther", - "last_modified" : "2018-05-14T21:29:00.050Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C420-C424,C760-C765,C767-C768,C770-C775,C778-C779,C809", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_intracranial_gland.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_intracranial_gland.json deleted file mode 100644 index e233637f4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_intracranial_gland.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_intracranial_gland", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection IntracranialGland", - "title" : "Schema selection for IntracranialGland", - "last_modified" : "2018-05-14T21:29:00.146Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C751,C752,C753", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kaposi_sarcoma.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kaposi_sarcoma.json deleted file mode 100644 index 4746cc3e3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kaposi_sarcoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_kaposi_sarcoma", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection KaposiSarcoma", - "title" : "Schema selection for KaposiSarcoma", - "last_modified" : "2018-05-14T21:28:58.494Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C809", "9140", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_parenchyma.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_parenchyma.json deleted file mode 100644 index 31e40f18c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_parenchyma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_kidney_parenchyma", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection KidneyParenchyma", - "title" : "Schema selection for KidneyParenchyma", - "last_modified" : "2018-05-14T21:28:58.352Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C649", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_renal_pelvis.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_renal_pelvis.json deleted file mode 100644 index e066d16f4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_kidney_renal_pelvis.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_kidney_renal_pelvis", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection KidneyRenalPelvis", - "title" : "Schema selection for KidneyRenalPelvis", - "last_modified" : "2018-05-14T21:29:00.033Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C659,C669", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_gland.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_gland.json deleted file mode 100644 index a04d83a64..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_gland.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_lacrimal_gland", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection LacrimalGland", - "title" : "Schema selection for LacrimalGland", - "last_modified" : "2018-05-14T21:29:03.550Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Lacrimal Gland/Lacrimal Sac", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C695", "8000-8713,8800-9136,9141-9508,9520-9582,9700-9701", "015", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_sac.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_sac.json deleted file mode 100644 index ddb3da1ef..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lacrimal_sac.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_lacrimal_sac", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection LacrimalSac", - "title" : "Schema selection for LacrimalSac", - "last_modified" : "2018-05-14T21:29:00.086Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Lacrimal Gland/Lacrimal Sac", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C695", "8000-8713,8800-9136,9141-9508,9520-9582,9700-9701", "025", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_glottic.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_glottic.json deleted file mode 100644 index 9fed970e3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_glottic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_larynx_glottic", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection LarynxGlottic", - "title" : "Schema selection for LarynxGlottic", - "last_modified" : "2018-05-14T21:28:58.392Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C320", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_other.json deleted file mode 100644 index cc000d912..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_larynx_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection LarynxOther", - "title" : "Schema selection for LarynxOther", - "last_modified" : "2018-05-14T21:29:00.144Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C323,C328-C329", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_subglottic.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_subglottic.json deleted file mode 100644 index c4cce8fb8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_subglottic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_larynx_subglottic", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection LarynxSubglottic", - "title" : "Schema selection for LarynxSubglottic", - "last_modified" : "2018-05-14T21:29:00.037Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C322", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_supraglottic.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_supraglottic.json deleted file mode 100644 index 085787427..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_larynx_supraglottic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_larynx_supraglottic", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection LarynxSupraglottic", - "title" : "Schema selection for LarynxSupraglottic", - "last_modified" : "2018-05-14T21:29:00.038Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C321", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_lower.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_lower.json deleted file mode 100644 index 9418b0694..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_lower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_lip_lower", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection LipLower", - "title" : "Schema selection for LipLower", - "last_modified" : "2018-05-14T21:29:02.464Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C001,C004,C006", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_other.json deleted file mode 100644 index 1398102ad..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_lip_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection LipOther", - "title" : "Schema selection for LipOther", - "last_modified" : "2018-05-14T21:29:02.431Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C002,C005,C008-C009", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_upper.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_upper.json deleted file mode 100644 index 2c913c486..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lip_upper.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_lip_upper", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection LipUpper", - "title" : "Schema selection for LipUpper", - "last_modified" : "2018-05-14T21:29:02.484Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000,C003", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_liver.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_liver.json deleted file mode 100644 index e9e2e14e1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_liver.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_liver", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Liver", - "title" : "Schema selection for Liver", - "last_modified" : "2018-05-14T21:29:03.570Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C220", "8000-8157,8162-8175,8190-9136,9141-9582,9700-9701", "MATCH" ], [ "C221", "8170-8175", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lung.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lung.json deleted file mode 100644 index e9f61ec77..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lung.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_lung", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Lung", - "title" : "Schema selection for Lung", - "last_modified" : "2018-05-14T21:28:58.409Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C340-C343,C348-C349", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma.json deleted file mode 100644 index aac264358..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_lymphoma", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Lymphoma", - "title" : "Schema selection for Lymphoma", - "last_modified" : "2018-05-14T21:29:03.540Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C440,C442-C689,C691-C694,C698-C809", "9590-9699,9702-9726,9727,9735,9737,9738", "MATCH" ], [ "C000-C419,C422-C423,C440,C442-C689,C691-C694,C698-C809", "9811-9818,9823,9827,9837", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma_ocular_adnexa.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma_ocular_adnexa.json deleted file mode 100644 index 938c8fddf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_lymphoma_ocular_adnexa.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_lymphoma_ocular_adnexa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection LymphomaOcularAdnexa", - "title" : "Schema selection for LymphomaOcularAdnexa", - "last_modified" : "2018-05-14T21:28:58.356Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C441,C690,C695-C696", "9590-9699,9702-9738,9811-9818,9820-9837", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_buccal_mucosa.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_buccal_mucosa.json deleted file mode 100644 index 63049b052..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_buccal_mucosa.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_buccal_mucosa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaBuccalMucosa", - "title" : "Schema selection for MelanomaBuccalMucosa", - "last_modified" : "2018-05-14T21:29:03.466Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C060-C061", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_choroid.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_choroid.json deleted file mode 100644 index 9ed3c829c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_choroid.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_choroid", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaChoroid", - "title" : "Schema selection for MelanomaChoroid", - "last_modified" : "2018-05-14T21:28:59.994Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C693", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_ciliary_body.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_ciliary_body.json deleted file mode 100644 index f6c631232..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_ciliary_body.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_melanoma_ciliary_body", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaCiliaryBody", - "title" : "Schema selection for MelanomaCiliaryBody", - "last_modified" : "2018-05-14T21:29:00.077Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Melanoma Ciliary Body/Melanoma Iris", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C694", "8720-8790", "010", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_conjunctiva.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_conjunctiva.json deleted file mode 100644 index 029c7917f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_conjunctiva.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_conjunctiva", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaConjunctiva", - "title" : "Schema selection for MelanomaConjunctiva", - "last_modified" : "2018-05-14T21:28:58.351Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C690", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_epiglottis_anterior.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_epiglottis_anterior.json deleted file mode 100644 index 568e73967..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_epiglottis_anterior.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_epiglottis_anterior", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaEpiglottisAnterior", - "title" : "Schema selection for MelanomaEpiglottisAnterior", - "last_modified" : "2018-05-14T21:29:02.949Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C101", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_eye_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_eye_other.json deleted file mode 100644 index d66b7018f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_eye_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_eye_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaEyeOther", - "title" : "Schema selection for MelanomaEyeOther", - "last_modified" : "2018-05-14T21:29:00.114Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C691,C692,C695,C698-C699", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_floor_mouth.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_floor_mouth.json deleted file mode 100644 index 82e568356..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_floor_mouth.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_floor_mouth", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaFloorMouth", - "title" : "Schema selection for MelanomaFloorMouth", - "last_modified" : "2018-05-14T21:29:03.533Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C040-C041,C048-C049", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_lower.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_lower.json deleted file mode 100644 index d25fd24e6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_lower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_gum_lower", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaGumLower", - "title" : "Schema selection for MelanomaGumLower", - "last_modified" : "2018-05-14T21:29:03.539Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C031,C062", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_other.json deleted file mode 100644 index b275aa730..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_gum_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaGumOther", - "title" : "Schema selection for MelanomaGumOther", - "last_modified" : "2018-05-14T21:29:03.536Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C039", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_upper.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_upper.json deleted file mode 100644 index 64b4110b3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_gum_upper.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_gum_upper", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaGumUpper", - "title" : "Schema selection for MelanomaGumUpper", - "last_modified" : "2018-05-14T21:29:03.551Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C030", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_hypopharynx.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_hypopharynx.json deleted file mode 100644 index f0e1693f8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_hypopharynx.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_hypopharynx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaHypopharynx", - "title" : "Schema selection for MelanomaHypopharynx", - "last_modified" : "2018-05-14T21:29:03.228Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C129,C130-C132,C138-C139", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_iris.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_iris.json deleted file mode 100644 index d41c3faa1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_iris.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_melanoma_iris", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaIris", - "title" : "Schema selection for MelanomaIris", - "last_modified" : "2018-05-14T21:29:00.061Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Melanoma Ciliary Body/Melanoma Iris", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C694", "8720-8790", "020", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_glottic.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_glottic.json deleted file mode 100644 index 0eb15f83b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_glottic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_larynx_glottic", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaLarynxGlottic", - "title" : "Schema selection for MelanomaLarynxGlottic", - "last_modified" : "2018-05-14T21:29:02.883Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C320", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_other.json deleted file mode 100644 index 6a31369a3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_larynx_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaLarynxOther", - "title" : "Schema selection for MelanomaLarynxOther", - "last_modified" : "2018-05-14T21:29:02.838Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C323,C328-C329", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_subglottic.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_subglottic.json deleted file mode 100644 index 35fa478aa..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_subglottic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_larynx_subglottic", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaLarynxSubglottic", - "title" : "Schema selection for MelanomaLarynxSubglottic", - "last_modified" : "2018-05-14T21:29:02.842Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C322", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_supraglottic.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_supraglottic.json deleted file mode 100644 index 4705b29d6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_larynx_supraglottic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_larynx_supraglottic", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaLarynxSupraglottic", - "title" : "Schema selection for MelanomaLarynxSupraglottic", - "last_modified" : "2018-05-14T21:29:02.847Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C321", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_lower.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_lower.json deleted file mode 100644 index c10d9c305..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_lower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_lip_lower", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaLipLower", - "title" : "Schema selection for MelanomaLipLower", - "last_modified" : "2018-05-14T21:29:03.664Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C001,C004,C006", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_other.json deleted file mode 100644 index 5861d1512..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_lip_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaLipOther", - "title" : "Schema selection for MelanomaLipOther", - "last_modified" : "2018-05-14T21:29:03.556Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C002,C005,C008-C009", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_upper.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_upper.json deleted file mode 100644 index 977f33c3d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_lip_upper.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_lip_upper", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaLipUpper", - "title" : "Schema selection for MelanomaLipUpper", - "last_modified" : "2018-05-14T21:29:03.689Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000,C003", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_mouth_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_mouth_other.json deleted file mode 100644 index dca502e7f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_mouth_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_mouth_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaMouthOther", - "title" : "Schema selection for MelanomaMouthOther", - "last_modified" : "2018-05-14T21:29:03.467Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C058-C059,C068-C069", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasal_cavity.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasal_cavity.json deleted file mode 100644 index b3e239520..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasal_cavity.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_nasal_cavity", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaNasalCavity", - "title" : "Schema selection for MelanomaNasalCavity", - "last_modified" : "2018-05-14T21:29:02.802Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C300", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasopharynx.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasopharynx.json deleted file mode 100644 index 64029c900..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_nasopharynx.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_nasopharynx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaNasopharynx", - "title" : "Schema selection for MelanomaNasopharynx", - "last_modified" : "2018-05-14T21:29:03.423Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C110-C113,C118-C119", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_oropharynx.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_oropharynx.json deleted file mode 100644 index a94a3425f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_oropharynx.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_oropharynx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaOropharynx", - "title" : "Schema selection for MelanomaOropharynx", - "last_modified" : "2018-05-14T21:29:03.429Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C090-C091,C098-C099,C100,C102-C104,C108-C109", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_hard.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_hard.json deleted file mode 100644 index dea1e4efb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_hard.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_palate_hard", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaPalateHard", - "title" : "Schema selection for MelanomaPalateHard", - "last_modified" : "2018-05-14T21:29:03.531Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C050", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_soft.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_soft.json deleted file mode 100644 index b10e85edb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_palate_soft.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_palate_soft", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaPalateSoft", - "title" : "Schema selection for MelanomaPalateSoft", - "last_modified" : "2018-05-14T21:29:03.445Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C051-C052", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_pharynx_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_pharynx_other.json deleted file mode 100644 index 8806fa809..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_pharynx_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_pharynx_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaPharynxOther", - "title" : "Schema selection for MelanomaPharynxOther", - "last_modified" : "2018-05-14T21:29:02.960Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C140,C142,C148", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_ethmoid.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_ethmoid.json deleted file mode 100644 index cc5e61caf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_ethmoid.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_sinus_ethmoid", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaSinusEthmoid", - "title" : "Schema selection for MelanomaSinusEthmoid", - "last_modified" : "2018-05-14T21:29:02.677Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C311", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_maxillary.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_maxillary.json deleted file mode 100644 index fc2620402..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_maxillary.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_sinus_maxillary", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaSinusMaxillary", - "title" : "Schema selection for MelanomaSinusMaxillary", - "last_modified" : "2018-05-14T21:29:02.789Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C310", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_other.json deleted file mode 100644 index 0c25f9b1a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_sinus_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_sinus_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaSinusOther", - "title" : "Schema selection for MelanomaSinusOther", - "last_modified" : "2018-05-14T21:29:02.636Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C312-C313,C318-C319", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_skin.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_skin.json deleted file mode 100644 index 1fada11e6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_skin.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_skin", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaSkin", - "title" : "Schema selection for MelanomaSkin", - "last_modified" : "2018-05-14T21:28:58.397Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C440-C449,C510-C512,C518-C519,C600-C602,C608-C609,C632", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_anterior.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_anterior.json deleted file mode 100644 index 38d7e08d6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_anterior.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_tongue_anterior", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaTongueAnterior", - "title" : "Schema selection for MelanomaTongueAnterior", - "last_modified" : "2018-05-14T21:29:03.553Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C020-C023,C028-C029", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_base.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_base.json deleted file mode 100644 index 1805146ac..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_melanoma_tongue_base.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_tongue_base", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MelanomaTongueBase", - "title" : "Schema selection for MelanomaTongueBase", - "last_modified" : "2018-05-14T21:29:03.465Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C019,C024", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_penis.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_penis.json deleted file mode 100644 index 327740a23..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_penis.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_merkel_cell_penis", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MerkelCellPenis", - "title" : "Schema selection for MerkelCellPenis", - "last_modified" : "2018-05-14T21:28:58.395Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C600-C602,C608-C609", "8247", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_scrotum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_scrotum.json deleted file mode 100644 index b03243fd6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_scrotum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_merkel_cell_scrotum", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MerkelCellScrotum", - "title" : "Schema selection for MerkelCellScrotum", - "last_modified" : "2018-05-14T21:28:58.403Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C632", "8247", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_skin.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_skin.json deleted file mode 100644 index 399eb493a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_skin.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_merkel_cell_skin", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MerkelCellSkin", - "title" : "Schema selection for MerkelCellSkin", - "last_modified" : "2018-05-14T21:28:58.393Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C440,C442-C449", "8247", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_vulva.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_vulva.json deleted file mode 100644 index e9a205b4f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_merkel_cell_vulva.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_merkel_cell_vulva", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MerkelCellVulva", - "title" : "Schema selection for MerkelCellVulva", - "last_modified" : "2018-05-14T21:28:58.400Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C510-C512,C518-C519", "8247", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_middle_ear.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_middle_ear.json deleted file mode 100644 index 293a0cd09..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_middle_ear.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_middle_ear", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MiddleEar", - "title" : "Schema selection for MiddleEar", - "last_modified" : "2018-05-14T21:29:00.321Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C301", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_mouth_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_mouth_other.json deleted file mode 100644 index af93bf071..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_mouth_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_mouth_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MouthOther", - "title" : "Schema selection for MouthOther", - "last_modified" : "2018-05-14T21:29:01.210Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C058-C059,C068-C069", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_mycosis_fungoides.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_mycosis_fungoides.json deleted file mode 100644 index d455995df..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_mycosis_fungoides.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_mycosis_fungoides", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MycosisFungoides", - "title" : "Schema selection for MycosisFungoides", - "last_modified" : "2018-05-14T21:28:58.407Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C440-C449,C510-C512,C518-C519,C600-C602,C608-C609,C632", "9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_myeloma_plasma_cell_disorder.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_myeloma_plasma_cell_disorder.json deleted file mode 100644 index f5d5a62ce..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_myeloma_plasma_cell_disorder.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_myeloma_plasma_cell_disorder", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection MyelomaPlasmaCellDisorder", - "title" : "Schema selection for MyelomaPlasmaCellDisorder", - "last_modified" : "2018-05-14T21:28:58.479Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C440,C442-C689,C691-C694,C698-C809", "9731,9732,9734", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_nasal_cavity.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_nasal_cavity.json deleted file mode 100644 index 3c6503438..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_nasal_cavity.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_nasal_cavity", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection NasalCavity", - "title" : "Schema selection for NasalCavity", - "last_modified" : "2018-05-14T21:29:00.143Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C300", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_nasopharynx.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_nasopharynx.json deleted file mode 100644 index 79ed507ba..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_nasopharynx.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_nasopharynx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Nasopharynx", - "title" : "Schema selection for Nasopharynx", - "last_modified" : "2018-05-14T21:29:03.684Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Nasopharynx/PharyngealTonsil", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C110,C112,C113,C118-C119", "8000-8713,8800-9136,9141-9582,9700-9701", "*", "MATCH" ], [ "C111", "8000-8713,8800-9136,9141-9582,9700-9701", "010", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_ampulla.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_ampulla.json deleted file mode 100644 index ba7051fcb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_ampulla.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_net_ampulla", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection NETAmpulla", - "title" : "Schema selection for NETAmpulla", - "last_modified" : "2018-05-14T21:29:00.116Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C241", "8153,8240-8242,8246,8249", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_colon.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_colon.json deleted file mode 100644 index 6f161a2f6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_colon.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_net_colon", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection NETColon", - "title" : "Schema selection for NETColon", - "last_modified" : "2018-05-14T21:29:00.032Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C180,C182-C189", "8153,8240-8242,8246,8249", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_rectum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_rectum.json deleted file mode 100644 index e2cd1575f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_rectum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_net_rectum", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection NETRectum", - "title" : "Schema selection for NETRectum", - "last_modified" : "2018-05-14T21:29:00.022Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C199,C209", "8153,8240-8242,8246,8249", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_small_intestine.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_small_intestine.json deleted file mode 100644 index 5e90a647a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_small_intestine.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_net_small_intestine", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection NETSmallIntestine", - "title" : "Schema selection for NETSmallIntestine", - "last_modified" : "2018-05-14T21:28:58.493Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C170-C173,C178-C179", "8153,8240-8242,8246,8249", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_stomach.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_stomach.json deleted file mode 100644 index e2f275364..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_net_stomach.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_net_stomach", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection NETStomach", - "title" : "Schema selection for NETStomach", - "last_modified" : "2018-05-14T21:28:59.986Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C160-C166,C168-C169", "8153,8240-8242,8246,8249", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_orbit.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_orbit.json deleted file mode 100644 index c6119db01..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_orbit.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_orbit", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Orbit", - "title" : "Schema selection for Orbit", - "last_modified" : "2018-05-14T21:29:00.071Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C696", "8000-9136,9141-9508,9520-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_oropharynx.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_oropharynx.json deleted file mode 100644 index dde9fe2da..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_oropharynx.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_oropharynx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Oropharynx", - "title" : "Schema selection for Oropharynx", - "last_modified" : "2018-05-14T21:29:00.078Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C090-C091,C098-C099,C100,C102-C104,C108-C109", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ovary.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ovary.json deleted file mode 100644 index 17efb3885..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_ovary.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_ovary", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Ovary", - "title" : "Schema selection for Ovary", - "last_modified" : "2018-05-14T21:29:00.145Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C569", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_palate_hard.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_palate_hard.json deleted file mode 100644 index 5f8e0f191..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_palate_hard.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_palate_hard", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection PalateHard", - "title" : "Schema selection for PalateHard", - "last_modified" : "2018-05-14T21:29:01.342Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C050", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_palate_soft.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_palate_soft.json deleted file mode 100644 index b359fe282..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_palate_soft.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_palate_soft", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection PalateSoft", - "title" : "Schema selection for PalateSoft", - "last_modified" : "2018-05-14T21:29:00.082Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C051-C052", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_body_tail.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_body_tail.json deleted file mode 100644 index 755ee494c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_body_tail.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_pancreas_body_tail", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection PancreasBodyTail", - "title" : "Schema selection for PancreasBodyTail", - "last_modified" : "2018-05-14T21:28:59.993Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C251-C252", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_head.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_head.json deleted file mode 100644 index 3d10be9de..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_head.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_pancreas_head", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection PancreasHead", - "title" : "Schema selection for PancreasHead", - "last_modified" : "2018-05-14T21:29:00.059Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C250", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_other.json deleted file mode 100644 index 6edaa81f1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pancreas_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_pancreas_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection PancreasOther", - "title" : "Schema selection for PancreasOther", - "last_modified" : "2018-05-14T21:28:58.481Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C253-C254,C257-C259", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_parotid_gland.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_parotid_gland.json deleted file mode 100644 index c8bc7b375..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_parotid_gland.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_parotid_gland", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection ParotidGland", - "title" : "Schema selection for ParotidGland", - "last_modified" : "2018-05-14T21:29:00.683Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C079", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_penis.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_penis.json deleted file mode 100644 index a6954c19e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_penis.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_penis", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Penis", - "title" : "Schema selection for Penis", - "last_modified" : "2018-05-14T21:29:00.045Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C600-C602,C608-C609", "8000-8246,8248-8713,8800-9136,9141-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum.json deleted file mode 100644 index ddfd62277..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_peritoneum", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Peritoneum", - "title" : "Schema selection for Peritoneum", - "last_modified" : "2018-05-14T21:29:03.560Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "sex", - "name" : "Sex", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C481-C482,C488", "8000-8576,8590-8671,8930-8934,8940-9110", "1,3,4,5,9", "MATCH" ], [ "C481-C482,C488", "8580-8589,8680-8921,9120-9136,9141-9582,9700-9701", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum_female_gen.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum_female_gen.json deleted file mode 100644 index dfa02d962..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_peritoneum_female_gen.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_peritoneum_female_gen", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection PeritoneumFemaleGen", - "title" : "Schema selection for PeritoneumFemaleGen", - "last_modified" : "2018-05-14T21:29:03.551Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "sex", - "name" : "Sex", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C481-C482,C488", "8000-8576,8590-8671,8930-8934,8940-9110", "2,6", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pharyngeal_tonsil.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pharyngeal_tonsil.json deleted file mode 100644 index bd2f28611..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pharyngeal_tonsil.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_pharyngeal_tonsil", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection PharyngealTonsil", - "title" : "Schema selection for PharyngealTonsil", - "last_modified" : "2018-05-14T21:29:00.068Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: Nasopharynx/PharyngealTonsil", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C111", "8000-8713,8800-9136,9141-9582,9700-9701", "020", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pharynx_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pharynx_other.json deleted file mode 100644 index 5d12f759f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pharynx_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_pharynx_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection PharynxOther", - "title" : "Schema selection for PharynxOther", - "last_modified" : "2018-05-14T21:28:58.384Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C140,C142,C148", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_placenta.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_placenta.json deleted file mode 100644 index 8db2b24e3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_placenta.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_placenta", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Placenta", - "title" : "Schema selection for Placenta", - "last_modified" : "2018-05-14T21:28:58.332Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C589", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pleura.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pleura.json deleted file mode 100644 index 047f24708..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_pleura.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_pleura", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Pleura", - "title" : "Schema selection for Pleura", - "last_modified" : "2018-05-14T21:29:00.080Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C384", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_prostate.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_prostate.json deleted file mode 100644 index 2ae6b9c70..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_prostate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_prostate", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Prostate", - "title" : "Schema selection for Prostate", - "last_modified" : "2018-05-14T21:29:00.044Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C619", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_rectum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_rectum.json deleted file mode 100644 index 12f02faaa..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_rectum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_rectum", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Rectum", - "title" : "Schema selection for Rectum", - "last_modified" : "2018-05-14T21:29:03.666Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C199,C209", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_respiratory_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_respiratory_other.json deleted file mode 100644 index cfa818506..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_respiratory_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_respiratory_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection RespiratoryOther", - "title" : "Schema selection for RespiratoryOther", - "last_modified" : "2018-05-14T21:29:00.039Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C390,C398-C399", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_retinoblastoma.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_retinoblastoma.json deleted file mode 100644 index d1b285806..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_retinoblastoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_retinoblastoma", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Retinoblastoma", - "title" : "Schema selection for Retinoblastoma", - "last_modified" : "2018-05-14T21:28:59.989Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C690-C696,C698-C699", "9510-9514", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_retroperitoneum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_retroperitoneum.json deleted file mode 100644 index d13f2e39d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_retroperitoneum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_retroperitoneum", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Retroperitoneum", - "title" : "Schema selection for Retroperitoneum", - "last_modified" : "2018-05-14T21:29:00.072Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C480", "8000-8934,8940-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_salivary_gland_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_salivary_gland_other.json deleted file mode 100644 index b9b6b4df0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_salivary_gland_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_salivary_gland_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection SalivaryGlandOther", - "title" : "Schema selection for SalivaryGlandOther", - "last_modified" : "2018-05-14T21:28:59.985Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C081,C088-C089", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_scrotum.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_scrotum.json deleted file mode 100644 index 9c6db4ff2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_scrotum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_scrotum", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Scrotum", - "title" : "Schema selection for Scrotum", - "last_modified" : "2018-05-14T21:28:58.398Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C632", "8000-8246,8248-8713,8800-9136,9141-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_ethmoid.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_ethmoid.json deleted file mode 100644 index ae48dca00..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_ethmoid.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_sinus_ethmoid", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection SinusEthmoid", - "title" : "Schema selection for SinusEthmoid", - "last_modified" : "2018-05-14T21:29:00.141Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C311", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_maxillary.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_maxillary.json deleted file mode 100644 index 9c679fd89..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_maxillary.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_sinus_maxillary", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection SinusMaxillary", - "title" : "Schema selection for SinusMaxillary", - "last_modified" : "2018-05-14T21:29:00.142Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C310", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_other.json deleted file mode 100644 index 5b5f75b26..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_sinus_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_sinus_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection SinusOther", - "title" : "Schema selection for SinusOther", - "last_modified" : "2018-05-14T21:28:58.354Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C312-C313,C318-C319", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_skin.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_skin.json deleted file mode 100644 index adb16cc97..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_skin.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_skin", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Skin", - "title" : "Schema selection for Skin", - "last_modified" : "2018-05-14T21:29:00.060Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C440,C442-C449", "8000-8246,8248-8713,8800-9136,9141-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_skin_eyelid.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_skin_eyelid.json deleted file mode 100644 index 03075ceae..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_skin_eyelid.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_skin_eyelid", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection SkinEyelid", - "title" : "Schema selection for SkinEyelid", - "last_modified" : "2018-05-14T21:28:58.401Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C441", "8000-8713,8800-9136,9141-9508,9510-9514,9520-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_small_intestine.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_small_intestine.json deleted file mode 100644 index 8390d6466..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_small_intestine.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_small_intestine", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection SmallIntestine", - "title" : "Schema selection for SmallIntestine", - "last_modified" : "2018-05-14T21:29:03.669Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C170-C173,C178-C179", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_soft_tissue.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_soft_tissue.json deleted file mode 100644 index 8b899aad5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_soft_tissue.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_soft_tissue", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection SoftTissue", - "title" : "Schema selection for SoftTissue", - "last_modified" : "2018-05-14T21:28:58.402Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C470-C476,C478-C479,C490-C496,C498-C499", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_stomach.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_stomach.json deleted file mode 100644 index 22dd44463..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_stomach.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_stomach", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Stomach", - "title" : "Schema selection for Stomach", - "last_modified" : "2018-05-14T21:29:03.670Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "ssf25", - "name" : "Schema Discriminator: EsophagusGEJunction (EGJ)/Stomach", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C161-C162", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "000,030,999", "MATCH" ], [ "C163-C166,C168-C169", "8000-8152,8154-8231,8243-8245,8247,8248,8250-8934,8940-9136,9141-9582,9700-9701", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_submandibular_gland.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_submandibular_gland.json deleted file mode 100644 index 5260db745..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_submandibular_gland.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_submandibular_gland", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection SubmandibularGland", - "title" : "Schema selection for SubmandibularGland", - "last_modified" : "2018-05-14T21:29:00.025Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C080", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_testis.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_testis.json deleted file mode 100644 index 8cd973047..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_testis.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_testis", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Testis", - "title" : "Schema selection for Testis", - "last_modified" : "2018-05-14T21:28:58.497Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C620-C621,C629", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_thyroid.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_thyroid.json deleted file mode 100644 index 7bf08f8bb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_thyroid.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_thyroid", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Thyroid", - "title" : "Schema selection for Thyroid", - "last_modified" : "2018-05-14T21:29:00.147Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C739", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_anterior.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_anterior.json deleted file mode 100644 index 0fe975097..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_anterior.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_tongue_anterior", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection TongueAnterior", - "title" : "Schema selection for TongueAnterior", - "last_modified" : "2018-05-14T21:29:02.323Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C020-C023,C028-C029", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_base.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_base.json deleted file mode 100644 index 7e6aa0d6d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_tongue_base.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_tongue_base", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection TongueBase", - "title" : "Schema selection for TongueBase", - "last_modified" : "2018-05-14T21:29:00.127Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C019,C024", "8000-8713,8800-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_trachea.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_trachea.json deleted file mode 100644 index 5d57dd69f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_trachea.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_trachea", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Trachea", - "title" : "Schema selection for Trachea", - "last_modified" : "2018-05-14T21:29:00.040Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C339", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_urethra.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_urethra.json deleted file mode 100644 index 3ebdc50a8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_urethra.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_urethra", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Urethra", - "title" : "Schema selection for Urethra", - "last_modified" : "2018-05-14T21:28:58.373Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C680", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_urinary_other.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_urinary_other.json deleted file mode 100644 index f83c79982..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_urinary_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_urinary_other", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection UrinaryOther", - "title" : "Schema selection for UrinaryOther", - "last_modified" : "2018-05-14T21:28:58.346Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C681,C688-C689", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_vagina.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_vagina.json deleted file mode 100644 index 706703b5b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_vagina.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_vagina", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Vagina", - "title" : "Schema selection for Vagina", - "last_modified" : "2018-05-14T21:28:58.394Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C529", "8000-9136,9141-9582,9700-9701", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_vulva.json b/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_vulva.json deleted file mode 100644 index 0b290a674..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/schema_selection_vulva.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_vulva", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Schema Selection Vulva", - "title" : "Schema selection for Vulva", - "last_modified" : "2018-05-14T21:28:58.399Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C510-C512,C518-C519", "8000-8246,8248-8713,8800-9136,9141-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/scrotum_t_52966.json b/src/test/resources/algorithms/tnm/2.0/tables/scrotum_t_52966.json deleted file mode 100644 index 4a22c243a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/scrotum_t_52966.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "scrotum_t_52966", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Scrotum", - "title" : "Pathologic T", - "notes" : "**Note 1:** T1 for cutaneous squamous cell carcinomas with one or no high-risk features is based on tumor size. \n* If there are no high risk features and tumor size is unknown, assign TX\n\n**Note 2:** T1 and T2 categories are based on size and high risk features and not depth of invasion or extension. \n* TNM includes a T3 category for head and neck skin primaries only\n\n**Note 3:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified and there are no known high risk features, assign TX\n\n**Note 4:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Adjacent connective tissue excluding skeletal muscle\n Confined to scrotum\n Skeletal muscle\n Subcutaneous tissue\n Underlying cartilage\n\n Adjacent organs/structures\n Male genital organs\n Epididymis\n Penis\n Prostate\n Spermatic cord\n Testis\n Further contiguous extension\n Other organs and structures in male pelvis\n Bladder\n Rectum\n Urethra\n\n Confined to scrotum, NOS \n Localized, NOS\n\n**Note 5:** In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 6:** Skin ulceration does not alter the T category.", - "last_modified" : "2018-05-14T21:29:00.802Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepidermal, intraepithelial, noninvasive \nBowen disease" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension \nWITH less than two-high risk features", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm in greatest dimension OR \nWITH two or more high-risk features", "Stated as T2" ], [ "p4", "pT4", "Tumor with direct or perineural invasion of skull base or axial skeleton", "Bone:\n Axial or appendicular skeleton\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/select_stage_group_19580.json b/src/test/resources/algorithms/tnm/2.0/tables/select_stage_group_19580.json deleted file mode 100644 index ace6a5f0e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/select_stage_group_19580.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "select_stage_group_19580", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Select Stage Group", - "title" : "Select Stage Group for Combined Stage Group Calculation", - "description" : "Since TXN0M0 can indicate Occult or Unknown, this table looks to see if the directly assigned stage groups have either of those values.", - "last_modified" : "2018-05-14T21:29:03.127Z", - "definition" : [ { - "key" : "clin_stage_group_in", - "name" : "Assigned Clin Stage Group", - "type" : "INPUT" - }, { - "key" : "path_stage_group_in", - "name" : "Assigned Path Stage Group", - "type" : "INPUT" - }, { - "key" : "tmp_stage_group", - "name" : "Stage Group for Combined Stage Calculation", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "OC", "*", "VALUE:OC" ], [ ",0,1A,1B,2,2A,2B,3,3A,3B,4,99,88", "OC", "VALUE:OC" ], [ "99", ",0,1A,1B,2,2A,2B,3,3A,3B,4,99,88", "VALUE:99" ], [ ",0,1A,1B,2,2A,2B,3,3A,3B,4,88", "99", "VALUE:99" ], [ ",0,1A,1B,2,2A,2B,3,3A,3B,4,88", ",0,1A,1B,2,2A,2B,3,3A,3B,4,88", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/sex_19563.json b/src/test/resources/algorithms/tnm/2.0/tables/sex_19563.json deleted file mode 100644 index 20a9982be..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/sex_19563.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "sex_19563", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Sex", - "title" : "Sex", - "description" : "From NAACCR 15, NAACCR Item 220. Code for the Current sex of the patient.", - "last_modified" : "2018-05-14T21:29:00.115Z", - "definition" : [ { - "key" : "sex", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Male" ], [ "2", "Female" ], [ "3", "Other (Hermaphrodite)" ], [ "4", "Transsexual, NOS" ], [ "5", "Transsexual, natal male" ], [ "6", "Transsexual, natal female" ], [ "9", "Not stated/Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_5235.json b/src/test/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_5235.json deleted file mode 100644 index 22d6599c5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_5235.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "sinus_ethmoid_t_5235", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Melanoma Sinus Ethmoid", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for mucosal melanoma tumors.\n\n**Note 2:** Mucosal melanomas are aggressive tumors, therefore, T1 and T2 are omitted, as are Stages I and II.\n\n**Note 3:** Assign T3 for localized tumor when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** Assign T4a or T4b for extension involving the deeper tissues of the primary or adjacent sites.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# TX, T0 and T4 [NOS] are not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.435Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed#", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor#", "" ], [ "p3", "pT3", "Tumor limited to the epithelium and/or submucosa (mucosal disease)", "Tumor confined to mucosa of left, right or both ethmoid sinus(es)\n\nConfined to mucosa of ethmoid sinus, NOS\n\nExtension involving mucosa only of nasal cavity including:\n Floor\n Lateral wall\n Nasal vestibule\n Nasal cavity, NOS\n Septum\n Turbinates\n\nExtension to mucosa only of adjacent structures: \n Frontal sinus\n Maxillary sinus\n Nasopharynx\n Sphenoid sinus\n\nLocalized, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Deep soft tissue\n Cartilage\n Bone\n Overlying skin", "Extension to deep soft tissue of left, right, or both ethmoid sinus(es)\nSoft tissue NOS\nExtension to deep soft tissue of left or right ethmoid sinus or ethmoid sinus, NOS with mucosal involvement of structures in T3\nInvasive tumor confined to either left, right, or both ethmoid sinus(es) with bony invasion \n(Involvement of perpendicular plate of ethmoid bone or ethmoid air cells)\n\nExtension to deep tissues of adjacent structures with or without bony invasion:\n Anterior orbital contents\n Frontal sinus\n Hard palate\n Maxillary sinus\n Medial wall or floor of orbit\n Nasopharynx\n Orbital plate\n Pterygoid plates\n Skin of cheek \n Skin of nose\n Sphenoid sinus\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Brain\n Dura\n Skull base\n Lower cranial nerves (IX, X, XI, XII)\n Masticator space\n Carotid artery\n Prevertebral space\n Mediastinal structures", "Anterior cranial fossa \nBase of skull\nClivus\nCribriform plate\nMiddle cranial fossa\n\nFurther contiguous extension :\n Carotid artery (encased)\n \nStated as T4b" ], [ "88", "88", "Not applicable", "In situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_70472.json b/src/test/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_70472.json deleted file mode 100644 index 58a396daa..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/sinus_ethmoid_t_70472.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "sinus_ethmoid_t_70472", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Sinus Ethmoid", - "title" : "Pathologic T", - "notes" : "**Note 1:** The bones of the lateral wall of the nasal cavity include the maxilla, the perpendicular plate of the palatine bone, the medial pterygoid plate, the labyrinth and inferior concha of the ethmoid. The roof of the nasal cavity is formed by the nasal bone. The floor of the nasal cavity, which forms the roof of the mouth, is composed of the bones of the hard palate: the horizontal plate of the palatine bone posteriorly and the palatine process of the maxilla anteriorly.\n\n**Note 2:** \"Bony invasion\" does not include extension to palate, cribriform plate, or pterygoid plates. Extension to these structures is coded separately.\n\n**Note 3:** Assign T3 for Base of Skull, NOS when there is no information available for more specific bony structures in the skull.\n\n**Note 4:** Minimal extension to anterior cranial fossa implies tumor pushing through the cribriform plate, but without invasion of the dura or brain.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.312Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor limited to the mucosa with no erosion or destruction of bone", "Invasive tumor confined to ethmoid sinus (left, right or NOS) \nWITH (involvement of perpendicular plate of ethmoid bone or ethmoid air cells) or WITHOUT bony involvement\n\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor causing bone erosion or destruction, including extension into: \n Hard palate \n Middle nasal meatus\n\nEXCEPT extension to posterior wall of maxillary sinus and pterygoid plates", "Confined to both ethmoid sinuses WITH or WITHOUT bony involvement\n\nExtension to nasal cavity with or without bony invasion (Involvement of perpendicular plate of ethmoid bone or ethmoid air cells):\n Floor\n Lateral wall\n Nasal vestibule\n Nasal cavity, NOS\n Septum\n Turbinates\n\nStated as T2" ], [ "p3", "pT3", "Tumor invades any of the following:\n Bone of posterior wall of maxillary sinus\n Subcutaneous tissues\n Floor or medial wall of orbit\n Pterygoid fossa\n Frontal sinuses", "Base of skull, NOS\nCribriform plate\nHard palate\nMaxillary sinus\nMedial wall or floor of orbit\nOrbital plate\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone,​ nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades any of the following:\n Anterior orbital contents\n Skin of cheek\n Pterygoid plates\n Infratemporal fossa\n Cribriform plate\n Sphenoid or frontal sinuses", "Anterior cranial fossa (minimal extension) \nSkin of nose\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Orbital apex\n Dura\n Brain\n Middle cranial fossa\n Cranial nerves other than maxillary division of trigeminal nerve (V2)\n Nasopharynx\n Clivus", "Further contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/sinus_maxillary_t_7871.json b/src/test/resources/algorithms/tnm/2.0/tables/sinus_maxillary_t_7871.json deleted file mode 100644 index fe5747151..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/sinus_maxillary_t_7871.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "sinus_maxillary_t_7871", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Sinus Maxillary", - "title" : "Pathologic T", - "notes" : "**Note 1:** Involvement of or extension to bone includes any type of tumor extension to the bone, such as erosion, invasion, extension, penetration, or destruction.\n\n**Note 2:** Assign T3 for Base of Skull, NOS when there is no information available for more specific bony structures in the skull.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.465Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "No evidence of primary tumor" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor limited to the mucosa with no erosion or destruction of bone", "Invasive tumor confined to mucosa of maxillary sinus (antrum) WITHOUT erosion or destruction of bone\n\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor causing bone erosion or destruction, including extension into: \n Hard palate \n Middle nasal meatus\n\nEXCEPT extension to posterior wall of maxillary sinus and pterygoid plates", "Tumor causing bone erosion or destruction \nEXCLUDING extension to:\n Posterior wall of maxillary sinus (see code 600)\n Pterygoid plates (see code 680)\nINCLUDING:\n Palatine bone, hard palate \n Middle nasal meatus \n Nasal cavity (floor, lateral wall, septum, turbinates)\n\nStated as T2" ], [ "p3", "pT3", "Tumor invades any of the following:\n Bone of posterior wall of maxillary sinus\n Subcutaneous tissues\n Floor or medial wall of orbit\n Pterygoid fossa\n Ethmoid sinuses", "Ethmoid sinus, anterior\nFloor or posterior wall of maxillary sinus\nMaxilla, NOS\n\nEthmoid sinus, posterior\nEthmoid sinus, NOS\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone,​ nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades any of the following:\n Anterior orbital contents\n Skin of cheek\n Pterygoid plates\n Infratemporal fossa\n Cribriform plate\n Sphenoid or frontal sinuses", "Anterior orbital contents\nBase of skull, NOS\nCribriform plate\nInfratemporal fossa\nFrontal sinus\nPterygoid plates\nSkin of cheek\nSphenoid sinus\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Orbital apex\n Dura\n Brain\n Middle cranial fossa\n Cranial nerves other than maxillary division of trigeminal nerve (V2)\n Nasopharynx\n Clivus", "Pterygomaxillary fossa\nSoft palate\nTemporal fossa\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/skin_eyelid_n_65771.json b/src/test/resources/algorithms/tnm/2.0/tables/skin_eyelid_n_65771.json deleted file mode 100644 index d294b58b7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/skin_eyelid_n_65771.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "skin_eyelid_n_65771", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Skin Eyelid", - "title" : "Pathologic N", - "notes" : "**Note:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Regional lymph nodes**\n\n Cervical, NOS\n Facial, NOS\n Buccinator (buccal)\n Nasolabial \n Submental \n Submandibular (submaxillary) \n Parotid, NOS\n Infra-auricular\n Preauricular\n Supraclavicular, NOS", - "last_modified" : "2018-05-14T21:29:03.459Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/skin_eyelid_t_57348.json b/src/test/resources/algorithms/tnm/2.0/tables/skin_eyelid_t_57348.json deleted file mode 100644 index 4c26ebba2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/skin_eyelid_t_57348.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "skin_eyelid_t_57348", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Skin Eyelid", - "title" : "Pathologic T", - "notes" : "**Note 1:** Code the tumor with the greatest extension when there are multiple simultaneous tumors. \n\n**Note 2:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Lesion(s) confined to dermis\n Minimal infiltration of dermis (Not invading tarsal plate, not at eyelid margin)\n Subcutaneous tissue (Through entire dermis, not invading tarsal plate, not at eyelid margin)\n Tumor invades tarsal plate, not at eyelid margin\n Tumor at eyelid margin\n Tumor involves full eyelid thickness\n\n Localized, NOS\n\n**Note 4:** Skin ulceration does not alter the T category.\n\n**Note 5:** Presence of tumor at eyelid margin takes priority over depth of invasion in dermis/tarsal plate.\n\n**Note 6:** Code metastatic skin lesions in M (distant metastasis).", - "footnotes" : "\\* T2 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor greater than 5 mm and less than or equal to 20 mm, or invasion of tarsal plate, lid margin, or involves full thickness\" as T2 [NOS].\n\n\\** T3 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor more than 20 mm or any tumor involving adjacent structures or requiring complete resection\" as T3 [NOS].\n\n\\# T2 [NOS] is not defined in AJCC 7th edition.\n\n\\## T3 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.586Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepidermal, intraepithelial, noninvasive\nBowen disease" ], [ "p1", "pT1", "Tumor 5 mm or less in greatest dimension \nNOT invading the tarsal plate or eyelid margin", "Stated as T1" ], [ "p2", "pT2", "Not defined by UICC*#", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nTumor greater than 5 mm and less than or equal to 20 mm, or invasion of tarsal plate, lid margin, or involves full thickness\n\nStated as T2[NOS]" ], [ "p2A", "pT2a", "Tumor more than 5 mm, but not more than 10 mm in greatest dimension OR \nAny tumor that invades the tarsal plate or eyelid margin", "Stated as T2a" ], [ "p2B", "pT2b", "Tumor more than 10 mm, but not more than 20 mm in greatest dimension, OR \nInvolves full thickness eyelid", "Stated as T2b" ], [ "p3", "pT3", "Not defined by UICC**##", "Note: T3 has subcategories of T3a and T3b. Assign T3 only when there is no information available to assign one of the subcategories\n\nTumor more than 20 mm or any tumor involving adjacent structures or requiring complete resection\n\nStated as T3[NOS]" ], [ "p3A", "pT3a", "Tumor more than 20 mm in greatest dimension OR \n\nAny tumor that invades: \n Adjacent ocular \n Orbital structures \n Any tumor with perineural invasion", "Adjacent structures, including:\n Bulbar conjunctiva\n Globe\n Sclera\n Soft tissues of orbit\n\nBone/periosteum of orbit\nSkeletal muscle\nUnderlying cartilage\n\nStated as T3a" ], [ "p3B", "pT3b", "Tumor whose complete resection requires: \n Enucleation, exenteration, or bone resection", "Stated as T3b" ], [ "p4", "pT4", "Tumor is not resectable due to extensive invasion of: \n Ocular\n Orbital\n Craniofacial structures\n Brain", "Tumor unresectable, extensive invasion:\n Ocular structures\n Orbital structures\n\nCentral nervous system\nNasal cavity\nOther craniofacial structures\nParanasal sinuses\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/skin_t_38821.json b/src/test/resources/algorithms/tnm/2.0/tables/skin_t_38821.json deleted file mode 100644 index ae46c3230..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/skin_t_38821.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "skin_t_38821", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Skin", - "title" : "Pathologic T", - "notes" : "**Note 1:** T1 and T2 categories are based on size and high risk features and not depth of invasion or extension. \n\n**Note 2:** T3 category is for head and neck skin primaries only.\n\n**Note 3:** Code the tumor with the greatest extension when there are multiple simultaneous tumors. \n\n**Note 4:** Skin ulceration does not alter the T category. \n\n**Note 5:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record.\n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 6:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n Lesion(s) confined to dermis\n Subcutaneous tissue (through entire dermis)\n Underlying cartilage and/or skeletal muscle\n\n Confined to skin\n Localized, NOS", - "last_modified" : "2018-05-14T21:29:00.672Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepidermal, intraepithelial, noninvasive \nBowen disease" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension \nWITH less than two-high risk features", "Lesion(s) confined to dermis\nSubcutaneous tissue (through entire dermis)\nUnderlying cartilage and/or skeletal muscle\n\nStated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm in greatest dimension OR \nWITH two or more high-risk features", "Stated as T2" ], [ "p3", "pT3", "Tumor with invasion of deep structures \n e.g., muscle, bone, cartilage, jaws, and orbit", "For skin of head and neck primaries only:\n Maxilla\n Mandible\n Orbital bone\n Temporal bone\n\nStated as T3" ], [ "p4", "pT4", "Tumor with direct or perineural invasion of skull base or axial skeleton", "For skin of head and neck primaries only:\n Direct or perineural invasion of skull base\n\nAxial or appendicular skeleton\n\nFurther contiguous extension \n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/small_intestine_t_70831.json b/src/test/resources/algorithms/tnm/2.0/tables/small_intestine_t_70831.json deleted file mode 100644 index 2e5626e03..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/small_intestine_t_70831.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "small_intestine_t_70831", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Small Intestine", - "title" : "Pathologic T", - "notes" : "**Note 1:** High grade dysplasia and severe dysplasia of the small intestine are generally n ot reportable in cancer registries.\n* Assign pTis if your registry collects these tumors\n\n**Note 2:** The nonperitonealized perimuscular tissue is, for jejunum and ileum, part of the mesentery and, for duodenum in areas where serosa is lacking, part of the interface with the pancreas.\n\n**Note 3:** Code depth of invasion in preference to intraluminal spread or lateral extension to adjacent segment(s) of small intestine or cecum.", - "footnotes" : "\\# T1 [NOS] is not defined in AJCC 7th edition", - "last_modified" : "2018-05-14T21:29:04.429Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Noninvasive\n\n(Adeno)carcinoma, noninvasive, in a polyp\n\nStated as Tis" ], [ "p1", "pT1", "Tumor invades lamina propria, muscularis mucosae or submucosa#", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nIntraluminal spread to other segments of small intestine or cecum\n\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor invades lamina propria or muscularis mucosae", "Invasive tumor confined:\n Head of polyp\n Stalk of polyp\n Mucosa, NOS\n Intramucosal, NOS\n Polyp, NOS\n\nStated as T1a" ], [ "p1B", "pT1b", "Tumor invades submucosa", "Superficial invasion of submucosa\n\nStated as T1b" ], [ "p2", "pT2", "Tumor invades muscularis propria", "Stated as T2" ], [ "p3", "pT3", "Tumor invades subserosa or non-peritonealized perimuscular tissue (mesentery or retroperitoneum) \nWITH extension 2 cm or less", "Invasion through muscularis propria or muscularis, NOS\nExtension through wall, NOS\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS \nWall, NOS\n\nAdjacent connective tissue\nAdjacent tissue(s), NOS\nNonperitonealized perimuscular tissue (mesentery, mesenteric fact, retroperitoneum): depth of invasion less than 2 cm OR not specified\n\nFat, NOS\n\nStated as T3" ], [ "p4", "pT4", "Tumor perforates visceral peritoneum or directly invades other organs or structures, including:\n Abdominal wall by way of serosa\n Mesentery or retroperitoneum more than 2 cm\n Other loops of small intestine\n\nFor duodenum only, invasion of pancreas", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum)\n \nAll small intestine sites:\n Nonperitonealized perimuscular tissue (mesentery, mesenteric fact, retroperitoneum): depth of invasion greater than 2 cm\n Other segments of the small intestine via serosa\n \nDuodenum primary only (C170):\n Ampulla of Vater \n Blood vessel(s), major:\n Aorta\n Gastroduodenal artery\n Portal vein\n Renal vein\n Superior mesenteric artery or vein\n Vena cava\n Diaphragm\n Extrahepatic bile duct(s)\n Gallbladder\n Hepatic flexure\n Kidney (right or NOS)\n Liver (quadrate lobe, right lobe or NOS)\n Omentum\n Pancreas\n Pancreatic duct\n Stomach\n Transverse colon\n Ureter, right\n\nJejunum or ileum primary only (C171, C172):\n Bladder\n Colon, including appendix\n Fallopian tube(s)\n Ovary(ies)\n Uterus\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/soft_tissue_n_4758.json b/src/test/resources/algorithms/tnm/2.0/tables/soft_tissue_n_4758.json deleted file mode 100644 index 2fc9cdc29..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/soft_tissue_n_4758.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "soft_tissue_n_4758", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Soft Tissue", - "title" : "Pathologic N", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 2:** For head, neck, and trunk primaries only, regional lymph nodes include bilateral or contralateral nodes.\n\n**Regional lymph nodes by primary site**\n\n**Head and Neck (C470, C490)**\n\n Cervical\n Lip\n Facial, NOS\n Buccinator (buccal)\n Nasolabial\n Mandibular\n Submandibular (submaxillary)\n Submental\n Parotid, NOS\n Infra-auricular\n Preauricular\n Eyelid/canthus\n Facial, NOS\n Buccinator (buccal)\n Nasolabial\n Mandibular\n Submandibular (submaxillary)\n Submental\n Parotid, NOS\n Infra-auricular\n External ear and auditory canal:\n Mastoid (posterior, retro-auricular) (occipital)\n Preauricular\n Face, Other (cheek, chin, forehead, jaw, nose, and temple):\n Facial, NOS\n Buccinator (buccal)\n Nasolabial\n Mandibular\n Submandibular (submaxillary)\n Submental\n Parotid, NOS\n Infra-auricular\n Preauricular\n Scalp\n Mastoid (posterior, retro-auricular) (occipital)\n Parotid, NOS\n Infra-auricular\n Preauricular\n Spinal accessory (posterior cervical)\n Neck\n Axillary\n Mastoid (posterior, retro-auricular) (occipital)\n Mandibular\n Parotid, NOS\n Infra-auricular\n Preauricular\n Spinal accessory (posterior cervical)\n Submental \n Supraclavicular (transverse cervical)\n\n**Upper limb and shoulder (C471, C491)**\n\n Axillary\n Spinal accessory for shoulder\n Epitrochlear for hand/forearm\n\n**Lower limb and hip (C472, C492)** \n\n Femoral (superficial inguinal)\n Popliteal for heel and calf\n\n**Thorax (C473, C493)** \n\n Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n Mediastinal\n \n**Abdomen (C474, C494)**\n\n Celiac\n Iliac\n Para-aortic\n\n**Pelvis (C475, C495)**\n\n Deep inguinal, NOS\n Rosenmuller or Cloquet node\n Superficial inguinal (femoral)\n \n**Trunk (C476, C496)**\n\n Axillary\n Cervical\n Internal mammary\n Supraclavicular (transverse cervical)\n Superficial inguinal (femoral)", - "last_modified" : "2018-05-14T21:29:04.570Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Regional lymph node metastasis", "Regional lymph nodes, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/soft_tissue_t_79319.json b/src/test/resources/algorithms/tnm/2.0/tables/soft_tissue_t_79319.json deleted file mode 100644 index 7f7c987cc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/soft_tissue_t_79319.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "soft_tissue_t_79319", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Soft Tissue", - "title" : "Pathologic T", - "notes" : "**Note 1:** Superficial lesions are located entirely in the subcutaneous tissues without any degree of extension through the muscular fascia or into underlying muscle. \n\n**Note 2:** Deep lesions are located partly or completely within one or more muscle groups within the extremity. Deep tumors may extend through the muscular fascia into the subcutaneous tissues or even to the skin but the critical criterion is location of any portion of the tumor within the muscular components of the extremity. \n* Deep lesions include retroperitoneal and intrathoracic lesions, and the majority of head and neck tumors\n\n**Note 3:** For tumors of the extremities and trunk ONLY.\n* Superficial lesions are defined as those not involving the superficial muscular fascia\n* Deep lesions are those that involve or are beneath the superficial fascia\n\n**Note 4:** Adjacent connective tissue is defined as the unnamed tissues that immediately surround an organ or structure containing a primary cancer. \n* Assign T1b or T2b (deep tumor) when a tumor has invaded past the outer border (capsule, serosa, or other edge) of the primary organ into the organ's surrounding supportive structures but has not invaded into larger structures or adjacent organs\n* Blood, cartilage, and bone are coded as connective tissues, but they are coded separately\n\n**Note 5:** If a vessel has a name, for example brachial artery or recurrent laryngeal nerve, code it as a structure.\n\n**Note 6:** Tumor size must be known to assign a value of T1 or T2. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1 or T2 categories, but no size or category is specified, assign TX\n\n**Note 7:** Assign the appropriate T category (T1, T2) based on the tumor size for the following descriptions\n\n**Superficial tumors (T1a or T2a)**\n\n Invasive tumor confined to site/tissue of origin (Lesion does not involve superficial fascia)\n Tumor involves adjacent connective tissue\n \n**Deep tumors (T1b or T2b)**\n\n Confined to site/tissue of origin\n Tumor involves adjacent connective tissue\n Deep tumor involving adjacent organs/structures including bone/cartilage (including major vessel invasion)\n Further contiguous extension", - "last_modified" : "2018-05-14T21:29:04.584Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 5 cm or less in greatest dimension", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nLocalized, NOS\n\nStated T1 [NOS]" ], [ "p1A", "pT1a", "Tumor 5 cm or less in greatest dimension:\nSuperficial tumor", "Superficial: Localized, NOS\n\nStated as T1a" ], [ "p1B", "pT1b", "Tumor 5 cm or less in greatest dimension:\nDeep tumor", "Deep: Localized, NOS\n\nStated as T1b" ], [ "p2", "pT2", "Tumor more than 5 cm in greatest dimension", "Note: T2 has subcategories of T2a and T2b. Assign T2 only when there is no information available to assign one of the subcategories\n\nStated as T2 [NOS]" ], [ "p2A", "pT2a", "Tumor more than 5 cm in greatest dimension:\nSuperficial tumor", "Stated as T2a" ], [ "p2B", "pT2b", "Tumor more than 5 cm in greatest dimension:\nDeep tumor", "Stated as T2b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_path_stage_group_selection_48445.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_path_stage_group_selection_48445.json deleted file mode 100644 index 4c3d6f4ad..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_path_stage_group_selection_48445.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ssf10_path_stage_group_selection_48445", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10 Path Stage Group Selection", - "title" : "SSF10 Path Stage Group Selection", - "description" : "This table uses SSF10 to determine which Path Stage Group calculation table will be used.", - "notes" : "**Note:** Since both omental and peritoneal gastrointestinal stromal tumors (GIST) are coded with the same ICD-O-3 topography code (C48.1), this Site-Specific Factor must be used to identify the appropriate TNM stage table.", - "last_modified" : "2018-05-14T21:29:01.397Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "stage_table", - "name" : "Stage Table", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "Mesentery\nMesoappendix\nMesocolon", "JUMP:tnm7_path_stage_gist_small_intestine_upy" ], [ "020", "Omentum", "JUMP:tnm7_path_stage_group_gist_stomach_36358" ], [ "030", "Pelvic Peritoneum", "JUMP:tnm7_path_stage_gist_small_intestine_upy" ], [ "040", "Rectouterine pouch\n Cul de sac\n Pouch of Douglas", "JUMP:tnm7_path_stage_gist_small_intestine_upy" ], [ "988", "Not applicable: Information not collected for this case", "ERROR:" ], [ "998", "Other specified peritoneal site", "JUMP:tnm7_path_stage_gist_small_intestine_upy" ], [ "999", "Unknown or no information\nNot documented in patient record", "JUMP:tnm7_path_stage_gist_small_intestine_upy" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sad.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sad.json deleted file mode 100644 index ee34fb3f5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sad.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_sad", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10", - "title" : "Site-Specific Factor 10", - "subtitle" : "HER2: Fluorescence In Situ Hybridization (FISH) Lab Value", - "notes" : "**Note 1:** Record the results of only the Fluorescence In Situ Hybridization (FISH) test for Human Epidermal Growth Factor Receptor 2 (HER2) in this field. The test determines if there are additional copies of the HER2/neu gene in the tumor cells compared to the normal number. The results are reported as a ratio between the number of copies of the HER2/neu gene and the number of copies of chromosome 17, on which the gene resides.\n\n**Note 2:** Record the actual ratio if given. Enter the stated ratio to two decimal places. Use a trailing zero if needed.\n\n**Note 3:** The same laboratory test should be used to record information in **Site-Specific Factor 10, HER2: Fluorescence In Situ Hybridization (FISH) Lab Value** and **Site-Specific Factor 11, HER2: Fluorescence In Situ Hybridization (FISH) Test Interpretation**.\n\n**Note 4:** If the test is done but the actual ratio is not stated, use code 997.\n\n**Note 5:** If the test is not mentioned in the medical record, code to 999 unless there are circumstances under which the test isn't performed, for example, no histologic specimen.", - "last_modified" : "2018-05-14T21:29:01.213Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100-979", "Ratio of 1.00 - 9.79 \n(Enter exact ratio to two decimal places)\n\nExamples:\n 100 1.0\n 120 1.2\n 564 5.64" ], [ "980", "Ratio of 9.80 or greater" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Ratio of less than 1.00" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sat.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sat.json deleted file mode 100644 index e80835a92..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sat.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_sat", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10", - "title" : "Site-Specific Factor 10", - "subtitle" : "Sicca Syndrome", - "notes" : "**Note:** Code any history of Sicca syndrome as documented by the physician or coded in the medical record. Sicca syndrome is an eye condition in which there is decreased tear production and inflammation of the cornea and conjunctiva that may be associated with connective tissue diseases.", - "last_modified" : "2018-05-14T21:29:01.350Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of Sicca syndrome" ], [ "010", "History of Sicca syndrome" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_saz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_saz.json deleted file mode 100644 index 0b733900a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_saz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_saz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10", - "title" : "Site-Specific Factor 10", - "subtitle" : "Gleason's Score on Prostatectomy/Autopsy", - "notes" : "**Note 1:** Code the Gleason's score from prostatectomy or autopsy only in this field.\n\n**Note 2:** Code the Gleason's score prior to neoadjuvant treatment.\n\n**Note 3:** Usually prostate cancers are graded using Gleason's score or pattern. Gleason's grading for prostate primaries is based on a 5-component system (5 histologic patterns). Prostatic cancer generally shows two main histologic patterns. \n* The primary pattern, the pattern occupying greater than 50% of the cancer, is usually indicated by the first number of the Gleason's grade\n* The secondary pattern is usually indicated by the second number. These two numbers are added together to create a pattern score, ranging from 2 to 10\n\n**A.** If there are two numbers, assume that they refer to two patterns (the first number being the primary pattern and the second number being the secondary pattern), and sum them to obtain the score.\n**B.** If only one number is given and it is less than or equal to 5, code the total score to 999, unknown or no information. \n**C.** If only one number is given and it is greater than 5, assume that it is a score and code as stated. \n**D.** If the pathology report specifies a specific number out of a total of 10, the first number given is the score. \n\n* Example: The pathology report says Gleason's 3/10. The Gleason's score would be 3, and coded as 003\n\n**Note 4:** Record the Gleason's score based on the addition of the primary and secondary patterns coded in **Site-Specific Factor 9, Gleason's Primary Pattern and Secondary Pattern Values on Prostatectomy/Autopsy**.\n\n**Note 5:** If prostatectomy and autopsy are not performed, assign code 998. \n* If the Gleason's pattern and score are not documented on prostatectomy or autopsy, assign code 999\n\n**Note 6:** If a tertiary pattern is documented on prostatectomy or autopsy, do not code in either **Site-Specific Factor 9, Gleason's Primary Pattern and Secondary Pattern Values on Prostatectomy/Autopsy** or **Site-Specific Factor 10, Gleason's Score on Prostatectomy/Autopsy**. \n* Record the tertiary pattern in **Site-Specific Factor 11, Gleason's Tertiary Pattern Value on Prostatectomy/Autopsy**", - "last_modified" : "2018-05-14T21:29:00.648Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "002-010", "Gleason's Score \n(See Notes 1-5) " ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No prostatectomy/autopsy performed" ], [ "999", "No Gleason's score documented on prostatectomy/autopsy\nNo residual disease on prostatectomy/autopsy\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_scm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_scm.json deleted file mode 100644 index 7b0396b56..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_scm.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_scm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10", - "title" : "Site-Specific Factor 10", - "subtitle" : "Prior Radiation", - "notes" : "**Note:** Code history of prior radiation to the tumor field as documented by the physician in the medical record.", - "last_modified" : "2018-05-14T21:29:01.730Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of prior radiation to tumor field " ], [ "010", "History of prior radiation to tumor field" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sek.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sek.json deleted file mode 100644 index ef630bf94..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sek.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_sek", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10", - "title" : "Site-Specific Factor 10", - "subtitle" : "Pre-Orchiectomy Lactate Dehydrogenase (LDH) Range", - "notes" : "**Note 1:** Of the three tumor markers, lactate dehydrogenase (LDH) is the least specific for testicular cancer and is more of a determinant of bulky or disseminated disease. Although recommended to be tested, LDH may not be routinely performed, especially if the primary is localized.\n\n**Note 2:** Record the range of the LDH test as documented in the patient record prior to orchiectomy and other treatment. \n\n**Note 3:** If the pre-orchiectomy LDH test is unavailable but a physician's statement of the result is documented, use codes 991-993.\n\n**Note 4:** For rare cases that are treated prior to orchiectomy, use code 995 in this field and record the initial LDH range in **Site-Specific Factor 16, Post-Orchiectomy Lactate Dehydrogenase (LDH) Range**.\n\n**Note 5:** For rare cases that an orchiectomy is not performed, use code 996 in this field and record the initial LDH range in **Site-Specific Factor 16, Post-Orchiectomy Lactate Dehydrogenase (LDH) Range**.", - "last_modified" : "2018-05-14T21:28:58.377Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Within normal limits (S0)" ], [ "010", "Range 1 (S1) less than 1.5 x N \n(Less than 1.5 times the upper limit of normal for LDH)" ], [ "020", "Range 2 (S2) 1.5 to 10 x N \n(Between 1.5 and 10 times the upper limit of normal for LDH)" ], [ "030", "Range 3 (S3) greater than 10 x N \n(Greater than 10 times the upper limit of normal for LDH)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Pre-orchiectomy LDH stated to be elevated" ], [ "992", "Pre-orchiectomy LDH unknown but preorchiectomy serum tumor markers NOS stated to be normal" ], [ "993", "Pre-orchiectomy LDH unknown but preorchiectomy serum tumor markers NOS stated to be elevated" ], [ "995", "Pretreated case, initial LDH range recorded in Site-Specific Factor 16" ], [ "996", "No orchiectomy performed, initial LDH range recorded in Site-Specific Factor 16" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_seq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_seq.json deleted file mode 100644 index 76240c3c1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_seq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_seq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10", - "title" : "Site-Specific Factor 10", - "subtitle" : "Involvement of Corpus Spongiosum/Corpus Cavernosum", - "notes" : "**Note 1:** Information about involvement of the corpus spongiosum and corpus cavernosum is collected in Clinical T and Path T as an element in anatomic staging. This information is also collected in this field as it may have an independent effect on prognosis.\n\n**Note 2:** Record the involvement of the corpus spongiosum and corpus cavernosum as documented in the pathology report. \n* Assign code 000 if surgical resection of the primary site is performed and includes corpus spongiosum and/or corpus cavernosum, the pathology report is available for review, and corpus spongiosum and/or corpus cavernosum involvement is not mentioned\n* If surgical resection of the primary site is performed without corpus spongiosum and/or corpus cavernosum included in the specimen, assign code 998", - "last_modified" : "2018-05-14T21:29:00.808Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Involvement of corpus spongiosum and/or corpus cavernosum not present/not identified" ], [ "010", "Involvement of corpus spongiosum only" ], [ "020", "Involvement of corpus cavernosum only" ], [ "030", "020 + 010\n\nInvolvement of corpus cavernosum and corpus spongiosum" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No surgical resection of primary site\nSurgical resection of primary site but corpus spongiosum/corpus cavernosum not part of specimen" ], [ "999", "Unknown \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sex.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sex.json deleted file mode 100644 index 176464871..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sex.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_sex", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10", - "title" : "Site-Specific Factor 10", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1:** The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis) for vulvar cancer. \n* Use code 987 for in situ cases\n\n**Note 2:** Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T\n* If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it\n* Do not attempt to code FIGO stage based only on T, N, and M\n* If you cannot make a determination of stage based on the previous information, use code 999, stage unknown", - "last_modified" : "2018-05-14T21:29:01.167Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage I [NOS]" ], [ "110", "FIGO Stage IA" ], [ "120", "FIGO Stage IB" ], [ "200", "FIGO Stage II" ], [ "300", "FIGO Stage III [NOS]" ], [ "310", "FIGO Stage IIIA" ], [ "320", "FIGO Stage IIIB" ], [ "330", "FIGO Stage IIIC" ], [ "400", "FIGO Stage IV [NOS]" ], [ "410", "FIGO Stage IVA" ], [ "420", "FIGO Stage IVB" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sfi.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sfi.json deleted file mode 100644 index bc1e206af..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sfi.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_sfi", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10", - "title" : "Site-Specific Factor 10", - "subtitle" : "Tumor Growth Pattern", - "notes" : "**Note 1:** Cholangiocarcinoma may be classified by growth pattern. The tumor growth patterns of intrahepatic cholangiocarcinoma include the mass forming type, the periductal infiltrating type, and a mixed type. The periductal infiltrating type of cholangiocarcinoma demonstrates a diffuse longitudinal growth pattern along the bile duct. Limited analyses suggest that the diffuse periductal infiltrating type is associated with a poor prognosis.\n\n**Note 2:** Record the presence or absence of an infiltrating periductal component. This information may be obtained from radiology, surgery, or pathology reports. \n\n**Note 3:** Only code absence of periductal component if a physician states that periductal component is not present or if the tumor is described as mass-forming only. \n* If diagnostic and/or treatment records are not available, record 999 for unknown", - "last_modified" : "2018-05-14T21:29:02.681Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Absence of periductal component" ], [ "010", "Presence of periductal component" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_spd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_spd.json deleted file mode 100644 index fc29274a6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_spd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_spd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10", - "title" : "Site-Specific Factor 10", - "subtitle" : "Human Papilloma Virus (HPV) Status", - "notes" : "**Note 1:** There is evidence that human papilloma virus (HPV) plays a role in the pathogenesis of some cancers. HPV testing may be performed for prognostic purposes; testing may also be performed on metastatic sites to aid in determination of the primary site.\n\n**Note 2:** Record the results of any HPV testing performed on pathologic specimens from the primary tumor or a metastatic site, including lymph nodes. Do not record the results of blood tests or serology.\n\n**Note 3:** HPVs are divided into high-risk and low-risk types. \n* The highest risk HPV types are types 16 and 18. Other high-risk types are 26, 31, 33, 35, 36, 45, 51, 52, 53, 56, 58, 59, 66, 67, 68, 69, 70, 73, 82, and 85. The HPV vaccine is designed to protect against types 16 and 18 (associated with cervical cancer) and types 6 and 11 (associated with genital warts) \n* Low-risk types are 6, 11, 32, 34, 40, 42, 44, 54, 61, 62, 64, 71, 72, 74, 81, 83, 84, 87, and 89\n\n**Note 4:** High-risk may be abbreviated hrHPV or HR-HPV.\n\n**Note 5:** Some tests for HPV, such as a hybrid capture test, may only report negative or positive results for high-risk HPV without identifying types. Use codes 000 or 060, respectively, to report those test results.\n\n**Note 6:** Codes 010-050 are hierarchical; use the highest code that applies.", - "last_modified" : "2018-05-14T21:29:03.682Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Human papilloma virus (HPV) negative for high-risk and low-risk types\nHPV negative for high-risk types with no mention of low-risk types\nHPV Negative, NOS" ], [ "010", "HPV positive for low-risk types only " ], [ "020", "HPV positive for specified high risk type(s) other than types 16 or 18" ], [ "030", "HPV positive for high-risk type 16 \nWITHOUT positive results for high-risk type 18 or positivity of high-risk type 18 unknown" ], [ "040", "HPV positive for high-risk type 18 \nWITHOUT positive results for high-risk type 16 or positivity of high-risk type 16 unknown" ], [ "050", "HPV positive for high-risk types 16 AND 18" ], [ "060", "HPV positive for high-risk type(s), NOS, high-risk type(s) not stated" ], [ "070", "HPV positive, NOS, risk and type(s) not stated" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test was not ordered and was not performed), including no pathologic specimen available for HPV testing" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_spi.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_spi.json deleted file mode 100644 index 8cb96ab04..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_spi.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_spi", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10", - "title" : "Site-Specific Factor 10", - "subtitle" : "18q Loss of Heterozygosity (LOH)", - "notes" : "**Note 1:** This is a special molecular diagnostic test performed on tumor tissue to identify loss of genetic material normally found on the long arm of one of the patient's two copies of chromosome 18. A normal cell will contain two complete copies of each chromosome, one from each parent, and this normal state is termed heterozygous. Loss of heterozygosity (LOH) is an abnormal state reflecting damage to the chromosome that may mean that normal tumor suppression functions cannot take place.\n\n**Note 2:** Other terms for LOH include gene deletion and allelic loss.", - "last_modified" : "2018-05-14T21:29:02.850Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Test positive for loss of heterozygosity (LOH)" ], [ "020", "Test negative for LOH; normal heterozygous state" ], [ "030", "Undetermined if LOH positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_spz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_spz.json deleted file mode 100644 index e318a0383..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_spz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_spz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10", - "title" : "Site-Specific Factor 10", - "subtitle" : "Mean Diameter Nucleoli (MLN)", - "notes" : "**Note 1:** Record the mean diameter of the 10 largest nucleoli (MLN) measured on a tissue sample. The absolute values depend on the staining and imaging methods used. Larger values are associated with shorter survival.\n\n**Note 2:** Record the value as expressed in tenths of micrometers. Record the information based on quartiles for laboratory standards if this is the only expression of results.", - "last_modified" : "2018-05-14T21:29:00.117Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-050", "Mean diameter of 10 largest nucleoli in tenths of micrometers" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Lowest quartile for laboratory " ], [ "992", "Second quartile for laboratory" ], [ "993", "Third quartile for laboratory" ], [ "994", "Highest quartile for laboratory" ], [ "997", "Test performed, unknown results" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sqj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sqj.json deleted file mode 100644 index 8cef523a2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sqj.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ssf10_sqj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10", - "title" : "Site-Specific Factor 10", - "subtitle" : "Location of Primary Tumor", - "notes" : "**Note:** Since both omental and peritoneal gastrointestinal stromal tumors (GIST) are coded with the same ICD-O-3 topography code (C481), this Site-Specific Factor must be used to identify the appropriate TNM stage table.", - "last_modified" : "2018-05-14T21:29:01.297Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "stage_table", - "name" : "Stage Table", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Mesentery\nMesoappendix\nMesocolon", "GIST Small Intestine" ], [ "020", "Omentum", "GIST Stomach" ], [ "030", "Pelvic Peritoneum", "GIST Small Intestine" ], [ "040", "Rectouterine pouch\n Cul de sac\n Pouch of Douglas", "GIST Small Intestine" ], [ "988", "Not applicable: Information not collected for this case", "ERROR" ], [ "998", "Other specified peritoneal site", "GIST Small Intestine" ], [ "999", "Unknown or no information\nNot documented in patient record", "GIST Small Intestine" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sqs.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sqs.json deleted file mode 100644 index 02a9eefe0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_sqs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_sqs", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10", - "title" : "Site-Specific Factor 10", - "subtitle" : "Clark Level", - "notes" : "**Note:** Code the Clark level as documented in the pathology report.", - "last_modified" : "2018-05-14T21:29:01.760Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Clark level I\nIn situ, intraepidermal, intraepithelial, noninvasive \nBasement membrane of epidermis is intact" ], [ "020", "Clark level II\nPapillary dermis invaded" ], [ "030", "Clark level III\nPapillary-reticular dermal interface invaded" ], [ "040", "Clark level IV\nReticular dermis invaded" ], [ "050", "Clark level V\nSubcutaneous tissue invaded (through entire dermis)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown Clark level or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_srh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_srh.json deleted file mode 100644 index 94c914dd0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_srh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf10_srh", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10", - "title" : "Site-Specific Factor 10", - "subtitle" : "Tumor Multiplicity", - "notes" : "**Note:** When a patient has more than one area of gastrointestinal stromal tumor (GIST), it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. Code this form of metastasis in Clinical M and Path M.\n\nTumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in **Site-Specific Factor 10, Tumor Multiplicity.**\n\nWhen a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in **Site-Specific Factor 10, Tumor Multiplicity.**\n\nWhen multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, code this site-specific factor as 010 (Multiple GIST tumors are present).", - "last_modified" : "2018-05-14T21:29:03.142Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Multiple gastrointestinal stromal tumors (GIST) not present in the surgical specimen; single GIST; unifocal GIST" ], [ "010", "Multiple GIST tumors present in the surgical specimen; multifocal GIST" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if one tumor or multiple tumors \nNo information on tumor multiplicity\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_stage_group_selection_87171.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf10_stage_group_selection_87171.json deleted file mode 100644 index ab0696f4d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf10_stage_group_selection_87171.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ssf10_stage_group_selection_87171", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF10 Stage Group Selection", - "title" : "SSF10 Stage Group Selection", - "description" : "This table uses SSF10 to determine which Stage Group calculation table will be used.", - "notes" : "**Note:** Since both omental and peritoneal gastrointestinal stromal tumors (GIST) are coded with the same ICD-O-3 topography code (C48.1), this Site-Specific Factor must be used to identify the appropriate TNM stage table.", - "last_modified" : "2018-05-14T21:29:01.383Z", - "definition" : [ { - "key" : "ssf10", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "stage_table", - "name" : "Stage Table", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "Mesentery\nMesoappendix\nMesocolon", "JUMP:tnm7_stage_gist_small_intestine_upy" ], [ "020", "Omentum", "JUMP:tnm_7_stage_group_gist_stomach_36358" ], [ "030", "Pelvic Peritoneum", "JUMP:tnm7_stage_gist_small_intestine_upy" ], [ "040", "Rectouterine pouch\n Cul de sac\n Pouch of Douglas", "JUMP:tnm7_stage_gist_small_intestine_upy" ], [ "988", "Not applicable: Information not collected for this case", "ERROR:" ], [ "998", "Other specified peritoneal site", "JUMP:tnm7_stage_gist_small_intestine_upy" ], [ "999", "Unknown or no information\nNot documented in patient record", "JUMP:tnm7_stage_gist_small_intestine_upy" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sae.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sae.json deleted file mode 100644 index 037a0c651..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sae.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sae", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF11", - "title" : "Site-Specific Factor 11", - "subtitle" : "HER2: Fluorescence In Situ Hybridization (FISH) Test Interpretation", - "notes" : "**Note 1:** Record the interpretation of only the Fluorescence In Situ Hybridization (FISH) test for Human Epidermal Growth Factor Receptor 2 (HER2) in this field.\n\n**Note 2:** The same laboratory test should be used to record information in **Site-Specific Factor 10, HER2: Fluorescence In Situ Hybridization (FISH) Lab Value** and **Site-Specific Factor 11, HER2: Fluorescence In Situ Hybridization (FISH) Test Interpretation**.\n\n**Note 3:** If the test is not mentioned in the medical record, code to 999 unless there are circumstances under which the test isn't performed, for example, no histologic specimen.", - "last_modified" : "2018-05-14T21:29:01.745Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated; amplified" ], [ "020", "Negative/normal; within normal limits; not amplified" ], [ "030", "Borderline; equivocal; indeterminate; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sba.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sba.json deleted file mode 100644 index 59deca812..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sba.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sba", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF11", - "title" : "Site-Specific Factor 11", - "subtitle" : "Gleason's Tertiary Pattern Value on Prostatectomy/Autopsy", - "notes" : "**Note 1:** If present, a high tertiary Gleason's pattern appears to be an indication for a worse outcome.\n\n**Note 2:** Record the tertiary pattern documented on prostatectomy or autopsy only. Record the tertiary pattern prior to neoadjuvant treatment. \n* If a tertiary pattern is documented on needle core biopsy or transurethral resection of prostate (TURP), it should be disregarded\n* Do not code the tertiary pattern on prostatectomy or autopsy in **Site-Specific Factor 9, Gleason's Primary Pattern and Secondary Pattern Values on Prostatectomy/Autopsy** or **Site-Specific Factor 10, Gleason's Score on Prostatectomy/Autopsy**", - "last_modified" : "2018-05-14T21:28:58.350Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Tertiary pattern 1" ], [ "020", "Tertiary pattern 2" ], [ "030", "Tertiary pattern 3" ], [ "040", "Tertiary pattern 4" ], [ "050", "Tertiary pattern 5" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No prostatectomy/autopsy performed" ], [ "999", "No Gleason's tertiary pattern documented on prostatectomy/autopsy\nNo residual disease on prostatectomy/autopsy\nUnknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sbt.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sbt.json deleted file mode 100644 index f4316ff4c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sbt.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sbt", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF11", - "title" : "Site-Specific Factor 11", - "subtitle" : "Histopathologic Grading", - "notes" : "**Note 1:** Histologic grading is used to distinguish between IVA and IVB anatomic stage/prognostic groups. It is of particular importance for mucinous carcinomas (morphology codes 8480, 8481, and 8490).\n\n**Note 2:** Select the code for the highest grade from the primary tumor tissue as described on the pathology report prior to neoadjuvant treatment.\n\n**Note 3:** The term \"undifferentiated\" should not apply to mucinous tumors because a tumor that makes mucin is, by definition, differentiated into mucin-producing tumor cells.", - "last_modified" : "2018-05-14T21:29:02.843Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "For NON-MUCINOUS tumors:\n Well differentiated\n Grade 1/4" ], [ "011", "For MUCINOUS tumors:\n Grade 1/2\n Grade 1/3\n Grade 1/4\n Low grade\n Well differentiated\n\nStated as Grade 1 with no information on the total number of codes in the grading system" ], [ "020", "For NON-MUCINOUS tumors:\n Moderately differentiated\n Grade 2/4" ], [ "021", "For MUCINOUS tumors:\n Grade 2/2\n Grade 2/3\n Grade 2/4\n Grade 3/3\n Grade 3/4\n High grade\n Moderately differentiated\n Poorly differentiated\n\n Stated as Grade 2 or Grade 3 with no information on the total number of codes in the grading system" ], [ "030", "For NON-MUCINOUS tumors:\n Poorly differentiated\n Grade 3/4" ], [ "040", "For NON-MUCINOUS tumors:\n Undifferentiated\n Grade 4/4" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No pathologic confirmation of primary site tumor" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_scj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_scj.json deleted file mode 100644 index 9a3099699..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_scj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_scj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF11", - "title" : "Site-Specific Factor 11", - "subtitle" : "Human Immunodeficiency Virus (HIV) Status", - "notes" : "**Note 1:** Human Immunodeficiency Virus (HIV) includes types I and II. Older terminology includes Human T-Lymphotropic Virus (HTLV-3) and Lymphadenopathy Associated Virus (LAV).\n\n**Note 2:** Code HIV status as identified in the medical record.", - "last_modified" : "2018-05-14T21:29:01.711Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative Human Immunodeficiency Virus (HIV) status" ], [ "010", "Positive HIV status" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_ser.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_ser.json deleted file mode 100644 index a03cb26ec..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_ser.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_ser", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF11", - "title" : "Site-Specific Factor 11", - "subtitle" : "Poorly Differentiated Tumor Percentage", - "notes" : "**Note 1:** Record the exact percentage of the primary tumor that is poorly differentiated as documented in the pathology report.\n\n**Note 2:** For values greater than zero and less than 1%, round to 001. \n* For codes 001 to 100, round values to the nearest percent", - "last_modified" : "2018-05-14T21:29:00.284Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Poorly differentiated tumor not present/not identified" ], [ "001-100", "1 - 100 percent\n(Exact percentage of poorly differentiated tumor to nearest percent)\n\nExamples:\n 001 0.1 to 0.9%\n 005 5% \n 010 10% \n 099 99%" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Poorly differentiated tumor present, percent not stated" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_spe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_spe.json deleted file mode 100644 index 05eff42a8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_spe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_spe", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF11", - "title" : "Site-Specific Factor 11", - "subtitle" : "Measured Thickness (Depth)", - "notes" : "**Note 1:** Code measured thickness (depth) of the invasive tumor only, not size, diameter, or any other measurement. Record the actual measurement in tenths of millimeters (mm) as stated on the pathology report. Do not record the measurement from a radiographic report.\n\n**Note 2:** Record the measurement labeled specifically as thickness or depth of tumor. In the absence of a label, use the \"cut surface\" dimension, or the third dimension from a description of 3 dimensions (N1 x N2 x N3). For example, for a tumor size recorded as 2 centimeters (cm) x 1cm x 0.5 cm, record 050.", - "last_modified" : "2018-05-14T21:29:03.676Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "00.1 - 97.9 millimeters (mm)\n(Exact thickness in tenths of mm)\n \nExamples: \n 001 0.1 mm \n 010 1 mm\n 042 4.2 mm \n 100 10 mm, 1 cm \n 103 10.3 mm" ], [ "980", "98.0 mm or larger" ], [ "987", "Not applicable: In situ carcinoma" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microinvasion \nMicroscopic focus or foci only and no depth given" ], [ "998", "No surgical specimen from primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_spk.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_spk.json deleted file mode 100644 index 00b3dd294..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_spk.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf11_spk", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF11", - "title" : "Site-Specific Factor 11", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1:** The mitotic rate, the count of mitoses (also termed \"mitotic figures\") per 50 high-power fields (HPF), reflects the potential aggressiveness or prognosis of gastrointestinal stromal tumors (GIST) and is used alone to determine their histologic grade (low or high). The mitotic rate is also a factor in assigning the AJCC 7th anatomic stage/prognostic group. This site-specific factor presumes the denominator of 50 HPF or its equivalent, so just the numerator (the mitotic count) is coded here. For other schemas in which mitotic count is collected, the denominator may vary. (1)\n\n**Note 2:** A HPF usually has a magnification objective of 40 (a 40x field). As described in the AJCC chapter on GIST, 50 HPF are equivalent to viewing a total area of 5 square millimeters (mm) at 40x magnification. (1)\n\n**Note 3:** Record mitotic count, to the nearest tenth of a mitosis, as documented in the pathology report. For example, a mitotic count of 6/50 HPF, or 6 per 5 square mm, would be coded 060.\n\n**Note 4:** Code the specific mitotic count only per 50 HPF or 5 square mm; assume the denominator is 50 HPF or 5 square mm if not specified. \n\n**Note 5:** Use code 996 for a description of mitoses, NOS, or if the mitotic count is expressed with a specific denominator other than 50 HPF or 5 square mm.", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) *AJCC Cancer Staging Manual (7th ed.)*. New York; London: Springer, pg. 176", - "last_modified" : "2018-05-14T21:29:01.267Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 mitoses per 50 HPF (40x fields)\n0.0 mitoses per 5 square mm\nMitoses absent\nNo mitoses present" ], [ "001-008", "0.1 - 0.8 mitoses per 50 HPF (40x fields)\n0.1 - 0.8 mitoses per 5 square mm" ], [ "009", "0.9 mitoses per 50 HPF (40x fields)\n0.9 mitoses per 5 square mm\n\nStated as less than 1 mitosis per 50 HPF (40x fields)\nStated as less than 1 mitosis per 5 square mm" ], [ "010-100", "1 - 10 mitoses per 50 HPF (40x fields)\n1 - 10 mitoses per 5 square mm" ], [ "110", "11 or more mitoses per 50 HPF (40x fields)\n11 or more mitoses per 5 square mm" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "990", "Specific number not stated, described as less than or equal to 5 mitoses per 50 HPF (40x fields)\nSpecific number not stated, described as less than or equal to 5 mitoses per 5 square mm\n\nStated as low mitotic count or rate with no specific number" ], [ "991", "Specific number not stated, described as more than 5 mitoses per 50 HPF (40x fields)\nSpecific number not stated, described as more than 5 mitoses per 5 square mm\n\nStated as high mitotic count or rate with no specific number" ], [ "996", "Mitotic count described with denominator other than 50 HPF (40x field)/5 square mm\nMitoses present, NOS" ], [ "998", "No histologic specimen from primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sps.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sps.json deleted file mode 100644 index 1ed607fee..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sps.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf11_sps", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF11", - "title" : "Site-Specific Factor 11", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1:** The mitotic count, the number of mitoses per 10 high-power fields (HPF), is an element in a proposed grading scheme for neuroendocrine tumors (NETs) of the gastrointestinal system. This site-specific factor presumes the denominator of 10 HPF, so just the numerator (the mitotic count) is coded here. For other schemas in which mitotic count is collected, the denominator may vary.\n\n**Note 2:** As described in the AJCC chapter on NETs, 10 HPF at a magnification objective of 40 (40x) are equivalent to 2 square millimeters (mm). (1)\n\n**Note 3:** Record mitotic count to the nearest tenth as documented in the pathology report. For example, a mitotic count of 3/10 HPF would be coded 030.\n\n**Note 4:** Code the specific mitotic count only per 10 HPF or 2 square mm; assume the denominator is 10 HPF or 2 square mm if not specified. Use code 996 only if the mitotic count is expressed with a specific denominator other than 10 HPF or 2 square mm.", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) *AJCC Cancer Staging Manual (7th ed.)*. New York; London: Springer, pg. 184", - "last_modified" : "2018-05-14T21:29:02.706Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 mitoses per 10 high-power fields (40x field)\n0 mitoses per 2 square millimeters \nMitoses absent\nNo mitoses present" ], [ "001-008", "0.1 - 0.8 mitosis per 10 HPF (40x field)\n0.1 - 0.8 mitosis per 2 square mm" ], [ "009", "0.9 mitosis per 10 HPF (40x field)\n0.9 mitosis per 2 square mm \nStated as less than 1 mitosis per 10 HPF (40x field)\nStated as less than 1 mitosis per 2 square mm" ], [ "010-500", "1-50 mitoses per 10 HPF (40x field)\n1-50 mitoses per 2 square mm" ], [ "510", "51 or more mitoses per 10 HPF (40x field)\n51 or more mitoses per 2 square mm" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Specific number not stated, described as less than 2 mitoses per 10 HPF (40x field)\nSpecific number not stated, described less than 2 mitoses per 2 square mm\n\nStated as low mitotic count or rate with no specific number" ], [ "991", "Specific number not stated, described as between 2 and 20 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as between 2 and 20 mitoses per 2 square mm" ], [ "992", "Specific number not stated, described as more than 20 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as more than 20 mitoses per 2 square mm\n\nStated as high mitotic count or rate with no specific number" ], [ "996", "Mitotic count described with denominator other than 10 HPF (40x field) or 2 square mm" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqa.json deleted file mode 100644 index 92ab28c7b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sqa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF11", - "title" : "Site-Specific Factor 11", - "subtitle" : "Extravascular Matrix Patterns, Loops", - "notes" : "**Note:** Record results as reported on clinical examination with confocal indocyanine green angiography, or on pathologic examination of tissue if resection performed.", - "last_modified" : "2018-05-14T21:29:00.289Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Loops identified on clinical examination, no pathologic assessment " ], [ "020", "Loops not identified on clinical examination, no pathologic assessment" ], [ "030", "Loops not identified on clinical examination, identified on pathologic assessment" ], [ "040", "Loops not identified on clinical examination, not identified on pathologic assessment" ], [ "050", "Loops identified on pathologic assessment, no clinical examination" ], [ "060", "Loops not identified on pathologic assessment, no clinical examination" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Extravascular matrix patterns assessed, results not available" ], [ "998", "Extravascular matrix patterns not assessed clinically or pathologically" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqe.json deleted file mode 100644 index ccca44497..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sqe", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF11", - "title" : "Site-Specific Factor 11", - "subtitle" : "Primary Sclerosing Cholangitis (PSC)", - "notes" : "**Note 1:** Primary Sclerosing Cholangitis (PSC) is a disease that damages and blocks bile ducts inside and outside the liver. In PSC, inflammation of the bile ducts leads to scar formation and narrowing of the ducts over time. As scarring increases, the ducts become blocked. As a result, bile builds up in the liver and damages liver cells. Eventually, scar tissue can spread throughout the liver, causing cirrhosis and liver failure.\n\n**Note 2:** Code stated diagnosis of PSC either clinically or pathologically as documented in the medical record. This may be by history.\n\n**Note 3:** If a medical history and/or pathology report is available and PSC is not mentioned, record 000 as absence of PSC. \n* If the medical history and pathology report are not documented in the record or the record is not available, record 999 for unknown", - "last_modified" : "2018-05-14T21:29:02.792Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Absence of primary sclerosing cholangitis (PSC)" ], [ "010", "Presence of PSC" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqt.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqt.json deleted file mode 100644 index 0a8fa8842..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sqt.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sqt", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF11", - "title" : "Site-Specific Factor 11", - "subtitle" : "Perineural Invasion", - "notes" : "**Note:** Code the presence or absence of perineural invasion as documented in the pathology report. \n* Assign code 000 if histologic examination of primary site was performed, the pathology report is available for review, and perineural invasion is not mentioned", - "last_modified" : "2018-05-14T21:29:01.759Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Perineural invasion not present/not identified" ], [ "010", "Perineural invasion present/identified" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_srd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_srd.json deleted file mode 100644 index dad356fe1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_srd.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ssf11_srd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF11", - "title" : "Site-Specific Factor 11", - "subtitle" : "Regional Lymph Node - Laterality", - "last_modified" : "2018-05-14T21:29:01.303Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All regional lymph nodes negative" ], [ "010", "Unilateral - all positive regional nodes with same laterality\nOR only one regional node positive" ], [ "020", "Bilateral - positive bilateral regional lymph nodes" ], [ "030", "Laterality unknown - positive regional lymph nodes with unknown laterality" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sri.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sri.json deleted file mode 100644 index d65834a41..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf11_sri.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf11_sri", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF11", - "title" : "Site-Specific Factor 11", - "subtitle" : "Serum Chromogranin A (CgA) Lab Value", - "notes" : "**Note 1:** Chromoganins are a family of proteins in secretory granules found throughout the neuroendocrine system. Serum Chromagranin A (CgA) has shown to be a useful marker for neuroendocrine tumors.\n\n**Note 2:** Record the nearest nanogram/milliliter (ng/ml) the highest CgA lab value recorded in the medical record prior to treatment. \n* For example, code a pretreatment CgA of 400 ng/ml as 400\n\n**Note 3:** Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of CgA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 ng/ml should be coded 001. \n* For code 001, also round 1.1 - 1.4 ng/ml down to 1 ng/ml\n* For codes 002-979, round values to the nearest ng/ml\n\n**Note 4:** For an uncertain value, record the stated closest value. \n* For example, code a value stated as \"less than 5 ng/ml\" as 005", - "last_modified" : "2018-05-14T21:29:02.955Z", - "definition" : [ { - "key" : "ssf11", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 nanogram/milliliter (ng/ml)" ], [ "001", "1 or less ng/ml" ], [ "002-979", "002-979 ng/ml" ], [ "980", "980 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_saf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_saf.json deleted file mode 100644 index 03ef17432..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_saf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_saf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF12", - "title" : "Site-Specific Factor 12", - "subtitle" : "HER2: Chromogenic In Situ Hybridization (CISH) Lab Value", - "notes" : "**Note 1:** Record the results of only the Chromogenic In Situ Hybridization (CISH) test for Human Epidermal Growth Factor Receptor 2 (HER2) in this field. The test determines whether there are additional copies of the HER2/neu gene in the tumor cells. The results are reported as the mean number of copies of the HER2/neu gene on either 30 or 60 tumor cells.\n\n**Note 2:** Record the actual mean if given. Enter the stated mean to two decimal places. Use a trailing zero if needed.\n\n**Note 3:** The same laboratory test should be used to record information in **Site-Specific Factor 12, HER2: Chromogenic In Situ Hybridization (CISH) Lab Value** and **Site-Specific Factor 13, HER2: Chromogenic In Situ Hybridization (CISH) Test Interpretation**.\n\n**Note 4:** If the test is done but the actual mean is not stated, use code 997.\n\n**Note 5:** If the test is not mentioned in the medical record, code to 999 unless there are circumstances under which the test isn't performed, for example, no histologic specimen.", - "last_modified" : "2018-05-14T21:29:01.205Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100-979", "Mean of 1.00 - 9.79\n(Enter exact mean to two decimal places)\n\nExamples:\n 100 1.0\n 120 1.2\n 564 5.64" ], [ "980", "Mean of 9.80 or greater" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Mean of less than 1.00" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sbb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sbb.json deleted file mode 100644 index 322b0ca10..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sbb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sbb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF12", - "title" : "Site-Specific Factor 12", - "subtitle" : "Number of Cores Positive", - "notes" : "**Note 1:** Record the number of prostate core biopsies positive for cancer documented in the pathology report. Do not make assumptions on the number of cores positive based on the number of anatomic locations biopsied because often several cores are submitted per site. Fragments are not synonymous with cores and are not counted as cores unless the pathologist has included the fragments in the core count. \n* If the number of cores positive is not specifically documented, code 991\n\n**Note 2:** If multiple needle core biopsy procedures are performed during the initial diagnostic workup, do not add together the positive cores from the separate procedures. \n* Record the number of cores positive for cancer from the procedure with the highest number of cores positive\n\n**Note 3:** Transperineal template-guided saturation biopsy (TTSB) is a stereotactic prostate biopsy technique that typically produces 30 to 80 core biopsies. This is an alternative biopsy technique used for some high risk patients including men with persistently elevated PSA, those who have atypia on prior prostate biopsies, or men with biopsies showing high grade prostatic intraepithelial neoplasia (PIN).", - "last_modified" : "2018-05-14T21:29:00.437Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All examined cores negative " ], [ "001-024", "1 - 24 cores positive \n(Exact number of cores positive)" ], [ "025", "25 cores positive" ], [ "026-100", "26 - 100 cores positive\n(Exact number of cores positive)" ], [ "101", "101 or more cores positive" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Biopsy cores positive, number unknown" ], [ "998", "No needle core biopsy performed" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sbu.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sbu.json deleted file mode 100644 index 263768cf0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sbu.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sbu", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF12", - "title" : "Site-Specific Factor 12", - "subtitle" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "notes" : "**Note 1:** Carbohydrate Antigen 19-9 (CA 19-9) is a tumor marker that has value in the management of epithelial appendiceal malignancies with peritoneal dissemination.\n\n**Note 2:** Record to the nearest tenth in Unit/milliliter (U/mL) the highest CA 19-9 lab value documented in the medical record prior to treatment. \n\n* For example, code a pre-treatment CA 19-9 value of 60 U/mL as 600\n\n**Note 3:** Code 000 is reserved for exactly 0.0 U/mL (no measurable amount of CA 19-9). Do not round tiny values down to 0.0 U/mL; any measured value less than or equal to 0.1 U/mL should be coded 001. \n\n* For code 001, also round 0.11-0.14 U/mL down to 0.1 U/mL \n* For codes 002-980, round values to the nearest tenth of a U/ml\n\n**Note 4:** Use code 997 if an interpretation is documented but the actual lab value is not available in the record.", - "last_modified" : "2018-05-14T21:29:02.841Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 Unit/milliliter (U/mL) exactly" ], [ "001", "0.1 or less U/mL \nStated as less than 0.1 U/mL with no exact value" ], [ "002-979", "0.2-97.9 U/mL\n(Exact value to nearest tenth in U/mL)" ], [ "980", "98.0 or greater U/mL" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sck.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sck.json deleted file mode 100644 index 89c1e7997..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sck.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sck", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF12", - "title" : "Site-Specific Factor 12", - "subtitle" : "Solid Organ Transplant", - "notes" : "**Note:** Code history of any solid organ transplant as identified in the medical record. Transplanted organs may include heart, lungs, kidney, pancreas, liver.", - "last_modified" : "2018-05-14T21:29:01.708Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of solid organ transplant" ], [ "010", "History of solid organ transplant" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_ses.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_ses.json deleted file mode 100644 index 28ee6eceb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_ses.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_ses", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF12", - "title" : "Site-Specific Factor 12", - "subtitle" : "Human Papilloma Virus (HPV) Status", - "notes" : "**Note 1:** There is evidence that HPV plays a role in the pathogenesis of some cancers. HPV testing may be performed for prognostic purposes; testing may also be performed on metastatic sites to aid in determination of the primary site.\n\n**Note 2:** Record the results of any HPV testing performed on pathologic specimens from the primary tumor or a metastatic site, including lymph nodes. Do not record the results of blood tests or serology.\n\n**Note 3:** HPVs are divided into high-risk and low-risk types. \n* The highest risk HPV types are types 16 and 18. Other high-risk types are 26, 31, 33, 35, 36, 45, 51, 52, 53, 56, 58, 59, 66, 67, 68, 69, 70, 73, 82, and 85. The HPV vaccine is designed to protect against types 16 and 18 (associated with cervical cancer) and types 6 and 11 (associated with genital warts)\n* Low-risk types are 6, 11, 32, 34, 40, 42, 44, 54, 61, 62, 64, 71, 72, 74, 81, 83, 84, 87, and 89\n\n**Note 4:** High-risk may be abbreviated hrHPV or HR-HPV.\n\n**Note 5:** Some tests for HPV, such as a hybrid capture test, may only report negative or positive results for high-risk HPV without identifying types. Use codes 000 or 060, respectively, to report those test results.\n\n**Note 6:** Codes 010-050 are hierarchical; use the highest code that applies.", - "last_modified" : "2018-05-14T21:29:00.804Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "HPV negative for high-risk and low-risk types\nHPV negative for high-risk types with no mention of low-risk types\nHPV negative, NOS" ], [ "010", "HPV positive for low-risk types only " ], [ "020", "HPV positive for specified high risk type(s) other than types 16 or 18" ], [ "030", "HPV positive for high-risk type 16 \nWITHOUT positive results for high-risk type18 or positivity of high-risk type 18 unknown" ], [ "040", "HPV positive for high-risk type18 \nWITHOUT positive results for high-risk type 16 or positivity of high-risk type 16 unknown" ], [ "050", "HPV positive for high-risk types16 AND 18" ], [ "060", "HPV positive for high-risk type(s), NOS, high-risk type(s) not stated " ], [ "070", "HPV positive, NOS, risk and type(s) not stated" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed) No pathologic specimen available for HPV testing" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sev.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sev.json deleted file mode 100644 index f8e91123c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sev.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sev", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF12", - "title" : "Site-Specific Factor 12", - "subtitle" : "High Risk Features", - "notes" : "**Note 1:** For TNM 7th staging, the T category is not only dependent on tumor size but also on several high-risk features that can upgrade the T category.\n\n**Note 2:** Based on the information in the medical record, the registrar is required to count and code the number of high risk features (each feature equals 1 risk factor). If specific information is available about some but not all of the high risk features, count the number of features documented in the record.\n\n* Poorly differentiated/Undifferentiated (grade 3 or 4)\n* Depth greater than 2 millimeters (mm) thickness\n* Clark level IV or V\n* Perineural invasion\n\n**Note 3:** Use codes 991, 992, and 993 only if no specific information is available about the high risk features, but the record contains a general statement about the presence of high risk features.", - "last_modified" : "2018-05-14T21:29:00.027Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No high risk features " ], [ "001", "1 high risk feature" ], [ "002", "2 high risk features" ], [ "003", "3 high risk features" ], [ "004", "4 high risk features" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Stated as less than 2 high risk features" ], [ "992", "Stated as 2 or more high risk features" ], [ "993", "Stated as high risk features, NOS" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sew.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sew.json deleted file mode 100644 index b0e7d010e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sew.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sew", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF12", - "title" : "Site-Specific Factor 12", - "subtitle" : "High Risk Features", - "notes" : "**Note 1:** For TNM 7 staging, the T category is not only dependent on tumor size but also on several high risk features that can upgrade the T assignment.\n\n**Note 2:** Based on the information in the medical record, the registrar is required to count and code the number of high risk features (each feature equals 1 risk factor). If specific information is available about some but not all of the high risk features, count the number of features documented in the record.\n\n* Poorly differentiated/Undifferentiated (grade 3 or 4)\n* Depth greater than 2 millimeter (mm) thickness \n* Clark level IV or V\n* Perineural invasion\n* Primary site: skin of external ear (C442) OR skin of lip (hair-bearing, also called non-glabrous lip) (C440)\n\n**Note 3:** Use codes 991, 992, and 993 only if no specific information is available about the high risk features (other than primary site), but the record contains a general statement about the presence of high risk features.", - "last_modified" : "2018-05-14T21:29:01.460Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No high risk features" ], [ "001", "1 high risk feature" ], [ "002", "2 high risk features" ], [ "003", "3 high risk features" ], [ "004", "4 high risk features" ], [ "005", "5 high risk features" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Stated as less than 2 high risk features" ], [ "992", "Stated as 2 or more high risk features" ], [ "993", "Stated as high risk features, NOS" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sez.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sez.json deleted file mode 100644 index 35c0a3485..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sez.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sez", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF12", - "title" : "Site-Specific Factor 12", - "subtitle" : "Pelvic Nodal Status", - "notes" : "**Note:** The pelvic nodal status corresponds to the assessment method recorded in **Site-Specific Factor 13, Assessment Method of Pelvic Nodal Status**.", - "last_modified" : "2018-05-14T21:29:01.301Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative pelvic lymph nodes" ], [ "010", "Positive pelvic lymph nodes" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "Pelvic lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sfd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sfd.json deleted file mode 100644 index 908418cde..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sfd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sfd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF12", - "title" : "Site-Specific Factor 12", - "subtitle" : "Post-Orchiectomy Alpha Fetoprotein (AFP) Lab Value", - "notes" : "**Note 1:** Record the value of the alpha fetoprotein (AFP) test as documented in the patient record after orchiectomy and prior to further treatment.\n\n**Note 2:** Use the same laboratory test to record values in **Site-Specific Factor 12, Post-Orchiectomy Alpha Fetoprotein (AFP) Lab Value** and **Site-Specific Factor 13, Post-Orchiectomy Alpha Fetoprotein (AFP) Range**.\n\n**Note 3:** Record a post-orchiectomy AFP of 20 nanograms/milliliter (ng/ml) as 002; record a post-orchiectomy AFP of 11,000 ng/ml as 200.\n\n**Note 4:** Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of AFP). Do not round tiny values down to 0.0 ng/ml; any measured value less than or equal to 0.1 ng/ml should be coded 001. \n* For values greater than 001 ng/ml, round values to the nearest ng/ml\n\n**Note 5:** A lab value expressed in micrograms/liter (ug/L) is equivalent to the same value expressed in ng/ml.\n\n**Note 6:** If the initial post-orchiectomy AFP test remains elevated, review the subsequent tests until normalization or plateau occurs and use that test to code this field. \n\n**Note 7:** If the post-orchiectomy AFP test is done but the actual value is not stated, use code 997.\n\n**Note 8:** For rare cases that are treated prior to orchiectomy or an orchiectomy is not performed, code the initial AFP lab value in this field and not in **Site-Specific Factor 6, Pre-Orchiectomy Alpha Fetoprotein (AFP) Lab Value**.", - "last_modified" : "2018-05-14T21:29:01.782Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 nanograms/milliliter (ng/ml)" ], [ "001", "1 - 19 ng/ml" ], [ "002", "20 - 29 ng/ml" ], [ "003", "30 - 39 ng/ml" ], [ "004", "40 - 49 ng/ml" ], [ "005", "50 - 59 ng/ml" ], [ "006", "60 - 69 ng/ml" ], [ "007", "70 - 79 ng/ml" ], [ "008", "80 - 89 ng/ml" ], [ "009", "90 - 99 ng/ml" ], [ "010", "100 - 199 ng/ml" ], [ "020", "200 - 299 ng/ml" ], [ "030", "300 - 399 ng/ml" ], [ "040", "400 - 499 ng/ml" ], [ "050", "500 - 599 ng/ml" ], [ "060", "600 - 699 ng/ml" ], [ "070", "700 - 799 ng/ml" ], [ "080", "800 - 899 ng/ml" ], [ "090", "900 - 999 ng/ml" ], [ "100", "1000 - 1999 ng/ml" ], [ "120", "2000 - 2999 ng/ml" ], [ "130", "3000 - 3999 ng/ml" ], [ "140", "4000 - 4999 ng/ml" ], [ "150", "5000 - 5999 ng/ml" ], [ "160", "6000 - 6999 ng/ml" ], [ "170", "7000 - 7999 ng/ml" ], [ "180", "8000 - 8999 ng/ml" ], [ "190", "9000 - 9999 ng/ml" ], [ "200", "Greater than or equal to 10, 000 ng/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_spl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_spl.json deleted file mode 100644 index edad3d323..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_spl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_spl", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF12", - "title" : "Site-Specific Factor 12", - "subtitle" : "KIT Gene Immunohistochemistry (IHC)", - "notes" : "**Note 1:** Most gastrointestinal stromal tumors (GISTs) have oncogenic mutations of the KIT gene, which is located on chromosome 4q. KIT is a cytokine receptor which binds to stem cell factor, which causes certain types of cells to grow; altered forms of KIT may be associated with some types of cancer. This test detects expression of the KIT gene in tumor tissue sections using immunohistochemical (IHC) stains. Test results are available in the pathology report. A positive test helps to establish the diagnosis of GIST and to identify patients for whom treatment with agents such as imatinib mesylate (Gleevec) or sunitinib malate (Sutent) is appropriate. Do not record secondary or acquired mutations that may have developed because of long-term imatinib treatment.\n\n**Note 2:** Another name for KIT is CD117.\n\n**Note 3:** See **Site-Specific Factor 13, KIT Gene Mutations** for coding information about specific mutations of the KIT gene detectable with molecular testing.  \n\n**Note 4:** See **Site-Specific Factor 14, PDGFRA Gene Mutation** for coding information about mutations of the PDGFRA gene.\n.", - "last_modified" : "2018-05-14T21:29:02.823Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sqb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sqb.json deleted file mode 100644 index 095370397..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sqb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sqb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF12", - "title" : "Site-Specific Factor 12", - "subtitle" : "Extravascular Matrix Patterns, Networks", - "notes" : "**Note:** Record results as reported on clinical examination with confocal indocyanine green angiography, or on pathologic examination of tissue if resection performed.", - "last_modified" : "2018-05-14T21:28:58.378Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Networks not identified on clinical examination, not identified on pathologic assessment" ], [ "010", "Networks not identified on clinical examination, no pathologic assessment or pathologic assessment unknown" ], [ "020", "Networks identified on clinical examination, no pathologic assessment or pathologic assessment unknown" ], [ "030", "Networks not identified on pathologic assessment, no clinical examination or clinical examination unknown" ], [ "040", "Networks identified on pathologic assessment, no clinical examination or clinical examination unknown" ], [ "050", "Networks identified on clinical examination and pathologic assessment" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Extravascular matrix patterns assessed, results not available" ], [ "998", "Extravascular matrix patterns not assessed clinically or pathologically" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sqf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sqf.json deleted file mode 100644 index f5be35981..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_sqf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_sqf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF12", - "title" : "Site-Specific Factor 12", - "subtitle" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "notes" : "**Note 1:** Carbohydrate Antigen 19-9 (CA 19-9) is a tumor marker that has value in the management of certain malignancies.\n\n**Note 2:** Record to the nearest tenth in Units/milliliter (U/ml) the highest CA 19-9 lab value documented in the medical record prior to treatment. \n\n* For example, a pretreatment CA 19-9 of 60 U/ml would be recorded as 600\n\n**Note 3:** Code 000 is reserved for exactly 0.0 U/ml (no measurable amount of CA 19 9). Do not round tiny values down to 0.0 U/ml; any measured value less than or equal to 0.1 U/ml should be coded 001. \n\n* For code 001, also round 0.11-0.14 U/ml down to 0.1 U/ml\n* For codes 002-980, round values to the nearest tenth of U/ml\n\n**Note 4:** For an uncertain value, record the stated closest value. \n\n* For example, code a value stated as \"less than 0.5 U/mL\" as 005\n\n**Note 5:** Use code 997 if there is no actual pre-treatment CA 19-9 lab value available but an interpretation of the test result is stated.", - "last_modified" : "2018-05-14T21:29:02.516Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 Units/milliliter (U/ml) exactly" ], [ "001", "0.1 or less U/ml\nStated as less than 0.1 U/ml with no exact value" ], [ "002-979", "0.2-97.9 U/ml\n(Exact value to nearest tenth in U/ml)" ], [ "980", "98.0 or greater U/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_srj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf12_srj.json deleted file mode 100644 index 358fdc75a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf12_srj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf12_srj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF12", - "title" : "Site-Specific Factor 12", - "subtitle" : "Urinary 5-HIAA Lab Value", - "notes" : "**Note 1:** Carcinoid tumors can release large amounts of serotonin. 5-Hydroxyindoleacetic acid (5-HIAA) is a breakdown product of the hormone serotonin. The 5-HIAA test measures the amount of acid secreted in the urine over a 24-hour period.\n\n**Note 2:** Record to the nearest milligram (mg) the highest 5-HIAA lab value documented in the medical record prior to treatment. \n* For example, code a pre-treatment 5-HIAA of 550 mg over 24 hours as 550\n\n**Note 3:** Code 000 is reserved for exactly 0 mg (no measurable amount of 5-HIAA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 mg should be coded 001. \n* For code 001, also round 1.1 - 1.4 mg down to 1 ng/ml\n* For codes 002-979, round values to the nearest mg\n\n**Note 4:** For an uncertain value, record the stated closest value. \n* For example, code a value stated as \"less than 5 mg\" as 005", - "last_modified" : "2018-05-14T21:29:02.953Z", - "definition" : [ { - "key" : "ssf12", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 milligrams/24hours (mg/24 hours)" ], [ "001", "1 or less mg/24hours" ], [ "002-979", "2 - 979 mg/24hours" ], [ "980", "980 or greater mg/24hours" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sag.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sag.json deleted file mode 100644 index 685733097..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sag.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sag", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF13", - "title" : "Site-Specific Factor 13", - "subtitle" : "HER2: Chromogenic In Situ Hybridization (CISH) Test Interpretation", - "notes" : "**Note 1:** Record the interpretation of only the Chromogenic In Situ Hybridization (CISH) test for Human Epidermal Growth Factor Receptor 2 (HER2) in this field.\n\n**Note 2:** The same laboratory test should be used to record information in **Site-Specific Factor 12, HER2: Chromogenic In Situ Hybridization (CISH) Lab Value** and **Site-Specific Factor 13, HER2: Chromogenic In Situ Hybridization (CISH) Test Interpretation**.\n\n**Note 3:** If the test is not mentioned in the medical record, code to 999 unless there are circumstances under which the test isn't performed, for example, no histologic specimen.", - "last_modified" : "2018-05-14T21:29:01.646Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated; amplified" ], [ "020", "Negative/normal; within normal limits; not amplified" ], [ "030", "Borderline; equivocal; indeterminate; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sbc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sbc.json deleted file mode 100644 index 772dd7e10..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sbc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sbc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF13", - "title" : "Site-Specific Factor 13", - "subtitle" : "Number of Cores Examined", - "notes" : "**Note 1:** Record the number of prostate core biopsies examined for cancer documented in the pathology report. Do not make assumptions on the number of cores examined based on the number of anatomic locations biopsied because often several cores are submitted per site. Fragments are not synonymous with cores and are not counted as cores unless the pathologist has included the fragments in the core count. \n* If the number of cores examined is not specifically documented, code 991\n\n**Note 2:** If multiple needle core biopsy procedures are performed during the initial diagnostic workup, do not add together the cores examined from the separate procedures. \n* Record the number of cores examined from the procedure with the highest number of cores positive, the same procedure used to record **Site-Specific Factor 12, Number of Cores Positive**\n\n**Note 3:** Transperineal template-guided saturation biopsy (TTSB) is a stereotactic prostate biopsy technique that typically produces 30 to 80 core biopsies. This is an alternative biopsy technique used for some high risk patients including men with persistently elevated PSA, those who have atypia on prior prostate biopsies, or men with biopsies showing high grade prostatic intraepithelial neoplasia (PIN).", - "last_modified" : "2018-05-14T21:29:00.435Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-024", "1 - 24 cores examined \n(Exact number of cores examined) " ], [ "025", "25 cores examined" ], [ "026-100", "26 - 100 cores examined\n(Exact number of cores examined)" ], [ "101", "101 or more cores examined" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Biopsy cores examined, number unknown" ], [ "998", "No needle core biopsy performed" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sca.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sca.json deleted file mode 100644 index 76d3e8a7f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sca.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sca", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF13", - "title" : "Site-Specific Factor 13", - "subtitle" : "Serum Chromogranin A (CgA) Lab Value", - "notes" : "**Note 1:** Chromogranins are a family of proteins in secretory granules found throughout the neuroendocrine system. Serum Chromagranin A (CgA) has been shown to be a useful marker for neuroendocrine tumors.\n\n**Note 2:** Record, to the nearest nanogram/milliliter (ng/ml), the highest CgA lab value documented in the medical record prior to treatment. \n* For example, a pretreatment CgA of 400 ng/ml would be recorded as 400\n\n**Note 3:** Code 000 is reserved for exactly 0 ng/ml (no measurable amount of CgA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 ng/ml should be coded 001. \n* For code 001, also round 1.1 - 1.4 ng/ml down to 1 ng/ml\n* For codes 002-980, round values to the nearest nanogram/milliliter\n\n**Note 4:** Use code 997 if there is no actual pre-treatment CgA lab value available but an interpretation of the test result is stated.", - "last_modified" : "2018-05-14T21:29:02.829Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 nanogram/milliliter (ng/ml), exactly" ], [ "001", "1 or less ng/ml; \nStated as less than 1 ng/ml with no exact value" ], [ "002-979", "2 - 979 ng/mL\n(Exact value in ng/ml)" ], [ "980", "980 or greater ng/mL" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test was not ordered and was not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_scl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_scl.json deleted file mode 100644 index 3d8b4436f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_scl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_scl", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF13", - "title" : "Site-Specific Factor 13", - "subtitle" : "Leukemia", - "notes" : "**Note:** Code history of leukemia as documented by the physician in the medical record. Do not code from results of complete blood count (CBC) or white blood count (WBC).", - "last_modified" : "2018-05-14T21:29:01.698Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of leukemia" ], [ "010", "History of leukemia" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sdg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sdg.json deleted file mode 100644 index 9aaf25c0f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sdg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sdg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF13", - "title" : "Site-Specific Factor 13", - "subtitle" : "Microvascular density (MVD)", - "notes" : "**Note 1:** Microvascular density (MVD) is the number of immunopositive elements labeled with markers for vascular endothelial cells in areas of densest vascularization. The value is expressed as an integer, number of vessels per 0.3 square millimeters (mm). \n\n**Note 2:** Record the results as expressed on the laboratory test. Record the information based on quartiles for laboratory standards if this is the only expression of results.", - "last_modified" : "2018-05-14T21:29:00.103Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000-500", "Number of vessels per 0.3 square millimeter (mm)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Lowest quartile for laboratory" ], [ "992", "Second quartile for laboratory" ], [ "993", "Third quartile for laboratory" ], [ "994", "Highest quartile for laboratory" ], [ "997", "Test ordered, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sdr.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sdr.json deleted file mode 100644 index 86f9c4b3d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sdr.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sdr", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF13", - "title" : "Site-Specific Factor 13", - "subtitle" : "Carcinoembryonic Antigen (CEA)", - "notes" : "**Note:** Record the interpretation of the highest CEA test results documented in the medical record prior to treatment. The interpretation should be for the same laboratory test recorded in **Site-Specific Factor 14, Carcinoembryonic Antigen (CEA) Lab Value.**", - "last_modified" : "2018-05-14T21:29:03.249Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sfa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sfa.json deleted file mode 100644 index 9d12780b7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sfa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sfa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF13", - "title" : "Site-Specific Factor 13", - "subtitle" : "Assessment Method of Pelvic Nodal Status", - "notes" : "**Note 1:** The assessment results are recorded in **Site-Specific Factor 12, Pelvic Nodal Status**.\n\n**Note 2:** Use the highest applicable code.", - "last_modified" : "2018-05-14T21:29:01.299Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Clinical assessment" ], [ "020", "Radiography, imaging \n(Ultrasound (US), CT Scan (CT), magnetic resonance imaging (MRI), PET Scan (PET))" ], [ "030", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "040", "Lymphadenectomy\nExcisional biopsy or resection with microscopic confirmation" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sfe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sfe.json deleted file mode 100644 index fd2f43362..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sfe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sfe", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF13", - "title" : "Site-Specific Factor 13", - "subtitle" : "Post-Orchiectomy Alpha Fetoprotein (AFP) Range", - "notes" : "**Note 1:** Record the range of the alpha fetoprotein (AFP) test as documented in the patient record after orchiectomy and prior to further treatment.\n\n**Note 2:**  Use the same laboratory test to record values in **Site-Specific Factor 12, Post-Orchiectomy Alpha Fetoprotein (AFP) Lab Value** and **Site-Specific Factor 13, Post-Orchiectomy Alpha Fetoprotein (AFP) Range**.\n\n**Note 3:** A lab value expressed in micrograms/liter (ug/L) is equivalent to the same value expressed in nanograms/milliliter (ng/ml).\n\n**Note 4:** If the initial post-orchiectomy AFP test remains elevated, review the subsequent tests until normalization or plateau occurs and use that test to code this field. \n\n**Note 5:** If the post-orchiectomy AFP test is unknown but the preorchiectomy AFP test was normal, use code 990.\n\n**Note 6:** If the post-orchiectomy AFP test is unavailable but a physician's statement of the result is documented, use codes 991-993.\n\n**Note 7:** For rare cases that are treated prior to orchiectomy or an orchiectomy is not performed, code the initial AFP range in this field and not in **Site-Specific Factor 7, Pre-Orchiectomy Alpha Fetoprotein (AFP) Range**.", - "last_modified" : "2018-05-14T21:28:58.486Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Within normal limits (S0)" ], [ "010", "Range 1 (S1) above normal and less than 1,000 nanograms/milliliter (ng/ml)" ], [ "020", "Range 2 (S2) 1,000 -10,000 ng/ml" ], [ "030", "Range 3 (S3) greater than 10,000 ng/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Post-orchiectomy alpha fetoprotein (AFP) unknown but preorchiectomy AFP was normal" ], [ "991", "Post-orchiectomy AFP stated to be still elevated" ], [ "992", "Post-orchiectomy AFP unknown but post-orchiectomy serum tumor markers NOS stated to be normal" ], [ "993", "Post-orchiectomy AFP unknown but post-orchiectomy serum tumor markers NOS stated to be still elevated\n\nStated as Stage IS" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_spm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_spm.json deleted file mode 100644 index 57d46fe4f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_spm.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_spm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF13", - "title" : "Site-Specific Factor 13", - "subtitle" : "KIT Gene Mutations", - "notes" : "**Note 1:** This is a special molecular diagnostic test performed on tumor tissue to identify mutations in specific parts (called exons) of the KIT gene. Certain patterns of mutations correlate with the anatomic site and morphology of gastrointestinal stromal tumors (GIST) tumors and can predict response to treatment with agents such as imatinib mesylate (Gleevec) and sunitinib malate (Sutent). Some mutations are associated with acquired resistance to imatinib treatment; do not record secondary or acquired mutations that may have been caused by long-term imatinib treatment.\n\n**Note 2:** Code the mutation locations found from the KIT gene test. Another name for KIT is CD117.\n\n**Note 3:** See **Site-Specific Factor 12, KIT Gene Immunohistochemistry (IHC)** for coding information about KIT expression detected with immunohistochemistry (IHC).  \n\n**Note 4:** See **Site-Specific Factor 14, PDGFRA Gene Mutation** for coding information about mutations of the PDGFRA gene.", - "last_modified" : "2018-05-14T21:29:02.820Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "KIT gene test negative for mutations; no mutations; normal or wild-type gene" ], [ "010", "KIT gene test positive for mutation of exon 9 only" ], [ "020", "KIT gene test positive for mutation of exon 11 only" ], [ "030", "KIT gene test positive for mutation of exon 13 only" ], [ "040", "KIT gene test positive for mutation of exon 17 only" ], [ "800", "KIT gene test positive for one other specified mutation" ], [ "810", "KIT gene test positive for more than one specific mutation" ], [ "850", "KIT gene test positive, NOS; mutation(s) found but the specific mutation(s) are not stated" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sqg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sqg.json deleted file mode 100644 index caa0418d4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sqg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sqg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF13", - "title" : "Site-Specific Factor 13", - "subtitle" : "Carcinoembryonic Antigen (CEA)", - "notes" : "**Note 1:** Record the interpretation of the highest CEA test results documented in the medical record based on information prior to treatment. The interpretation should be for the same laboratory test recorded in **Site-Specific Factor 14, Carcinoembryonic Antigen (CEA) Lab Value**.\n\n**Note 2:** If the test was done but the actual value is not stated, use code 997.", - "last_modified" : "2018-05-14T21:29:02.670Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sqq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sqq.json deleted file mode 100644 index 211c882ef..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf13_sqq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf13_sqq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF13", - "title" : "Site-Specific Factor 13", - "subtitle" : "Microvascular Density (MVD)", - "notes" : "**Note 1:** Microvascular density (MVD) is the number of immunopositive elements labeled with markers for vascular endothelial cells in areas of densest vascularization. The value is expressed as an integer, number of vessels per 0.3 square millimeter (mm).\n\n**Note 2:** Record the results as expressed on the laboratory test. Record the information based on quartiles for laboratory standards if this is the only expression of results.", - "last_modified" : "2018-05-14T21:28:59.997Z", - "definition" : [ { - "key" : "ssf13", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000-500", "Number of vessels per 0.3 square millimeter (mm)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Lowest quartile for laboratory " ], [ "992", "Second quartile for laboratory" ], [ "993", "Third quartile for laboratory" ], [ "994", "Highest quartile for laboratory" ], [ "997", "Test performed, unknown results" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sbd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sbd.json deleted file mode 100644 index 8917e1a6a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sbd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sbd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF14", - "title" : "Site-Specific Factor 14", - "subtitle" : "Needle Core Biopsy Findings", - "notes" : "**Note 1:** Record the findings of needle core biopsy as documented in the medical record.\n\n**Note 2:** If multiple needle core biopsy procedures are performed during the initial diagnostic workup, record the most extensive findings from all biopsy procedures. \n* Code 050 takes precedence over codes 010, 020, and 030", - "last_modified" : "2018-05-14T21:29:00.052Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative needle core biopsy findings" ], [ "010", "Positive needle core biopsy findings in one lobe/side" ], [ "020", "Positive needle core biopsy findings in both lobes/sides" ], [ "030", "Positive needle core biopsy findings, location (lobes/sides) not stated" ], [ "050", "Positive needle core biopsy findings beyond prostate" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No needle core biopsy performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sbf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sbf.json deleted file mode 100644 index 8b68dcd40..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sbf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sbf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF14", - "title" : "Site-Specific Factor 14", - "subtitle" : "HER2: Result of Other or Unknown Test", - "notes" : "**Note 1:** If another type of in situ hybridization test was performed for Human Epidermal Growth Factor Receptor 2 (HER2), other than fluorescent (FISH) or chromogenic (CISH), record the results here.\n\n**Note 2:** If it is unknown which type of HER2 test was performed, record the results here.\n\n**Note 3:** If no unnamed HER2 test is mentioned in the medical record, code to 999 unless there are circumstances under which the test isn't performed, for example, no histologic specimen.", - "last_modified" : "2018-05-14T21:29:01.332Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated; amplified" ], [ "020", "Negative/normal; within normal limits; not amplified" ], [ "030", "Borderline; equivocal; indeterminate; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_scn.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_scn.json deleted file mode 100644 index dd964ac27..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_scn.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_scn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF14", - "title" : "Site-Specific Factor 14", - "subtitle" : "Multiple Carcinomas", - "notes" : "**Note:** Code a history of two or more carcinomas as documented by the physician or as found in the medical record or registry database. Include in the identification of \"carcinoma\" any tumor with a histology code between 8010 and 8589, excluding all carcinomas of skin coded to site C440-C449.", - "last_modified" : "2018-05-14T21:29:01.697Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of two or more carcinomas excluding skin carcinoma" ], [ "010", "History of two or more carcinomas excluding skin carcinoma" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sdh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sdh.json deleted file mode 100644 index 080af03a5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sdh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sdh", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF14", - "title" : "Site-Specific Factor 14", - "subtitle" : "PET Standardized Uptake Values (SUV)", - "notes" : "**Note 1:** Cancer cells require sugar (glucose) for metabolism and growth. Positron emission tomography/computed tomography (PET/CT) scanning utilizes a radioactive form of glucose, called 18-fluoro-2-deoxyglucose (FDG) that accumulates within malignant cells because of their high rate of metabolism.\n\n**Note 2:** The value is expressed as a ratio of tissue radioactivity at the time of measurement to the injected dose at time of injection divided by body weight. Record the value for the standardized uptake value (SUV) as reported in the medical record to one decimal place.", - "last_modified" : "2018-05-14T21:28:58.371Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-500", "Positron emission tomography (PET) Standardized uptake value (SUV) to one decimal place\n\nExamples:\n 015 SUV 01.5 \n 100 SUV 10.0" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sds.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sds.json deleted file mode 100644 index 62cb1193c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sds.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sds", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF14", - "title" : "Site-Specific Factor 14", - "subtitle" : "Carcinoembryonic Antigen (CEA) Lab Value", - "notes" : "**Note 1:** Carcinoembryonic antigen (CEA) is a tumor marker that has value in the management of certain malignancies.\n\n**Note 2:** The same laboratory test should be used to record information in **Site-Specific Factor 13, Carcinoembryonic Antigen (CEA)** and **Site Specific Factor 14, Carcinoembryonic Antigen (CEA) Lab Value.**\n\n**Note 3:** Record, to the nearest tenth of a nanogram/milliliter (ng/ml), the highest CEA lab value documented in the medical record prior to treatment. \n\n* For example, a pretreatment CEA of 7 ng/ml would be recorded as 070\n\n**Note 4:** Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of CEA). Do not round tiny values down to 0.0 ng/ml; any measured value less than or equal to 0.1 ng/ml should be coded 001. \n\n* For code 001, also round 0.11 - 0.14 ng/ml down to 0.1 ng/ml \n* For codes 002-980, round values to the nearest tenth of a ng/ml\n\n**Note 5:** For an uncertain value, record the stated closest value. \n* For example, code a value stated as \"less than 0.5 ng/ml\" as 005", - "last_modified" : "2018-05-14T21:29:03.114Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 nanograms/milliliter (ng/ml) exactly" ], [ "001", "0.1 or less ng/ml\nStated as less than 0.1 ng/ml with no exact value" ], [ "002-979", "0.2 - 97.9 ng/ml\n(Exact value to nearest tenth in ng/ml)" ], [ "980", "98.0 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Tests ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sfb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sfb.json deleted file mode 100644 index f4175c363..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sfb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sfb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF14", - "title" : "Site-Specific Factor 14", - "subtitle" : "Femoral Inguinal Nodal Status", - "notes" : "**Note:** The femoral-inguinal nodal status corresponds to the assessment method recorded in **Site-Specific Factor 15, Assessment Method of Femoral Inguinal Nodal Status**.", - "last_modified" : "2018-05-14T21:29:01.298Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative femoral-inguinal lymph nodes" ], [ "010", "Positive femoral-inguinal lymph nodes" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "Femoral-inguinal lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sff.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sff.json deleted file mode 100644 index c999c1122..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sff.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sff", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF14", - "title" : "Site-Specific Factor 14", - "subtitle" : "Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Lab Value", - "notes" : "**Note 1:** Record the value of the human chorionic gonadotropin (hCG) test as documented in the patient record after orchiectomy and prior to further treatment.\n\n**Note 2:** Use the same laboratory test to record values in **Site-Specific Factor 14, Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Lab Value** and **Site-Specific Factor 15, Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Range**.\n\n**Note 3:** Record a post-orchiectomy hCG of 20 milli-International Units (mIU/ml) as 002; record a post-orchiectomy hCG of 11,000 mIU/ml as 200.\n\n**Note 4:** Code 000 is reserved for exactly 0.0 mIU/ml (no measurable amount of hCG). Do not round tiny values down to 0.0 mIU/ml; any measured value less than or equal to 0.1 mIU/ml should be coded 001. \n* For values greater than 001 mIU/ml, round values to the nearest mIU/ml\n\n**Note 5:** A lab value expressed in International Units/liter (IU/L) is equivalent to the same value expressed in milli-International Units/milliliter (mIU/ml).\n\n**Note 6:** If the initial post-orchiectomy hCG test remains elevated, review the subsequent tests until normalization or plateau occurs and use that test to code this field. \n\n**Note 7:** If the post-orchiectomy hCG test is done but the actual value is not stated, use code 997.\n\n**Note 8:** For rare cases that are treated prior to orchiectomy or an orchiectomy is not performed, code the initial hCG lab value in this field and not in **Site-Specific Factor 8, Pre-Orchiectomy Human Chorionic Gonadotropin (hCG) Lab Value**.", - "last_modified" : "2018-05-14T21:29:01.726Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 milli-International Units (mIU/ml)" ], [ "001", "1 - 19 mIU/ml" ], [ "002", "20 - 29 mIU/ml" ], [ "003", "30 - 39 mIU/ml" ], [ "004", "40 - 49 mIU/ml" ], [ "005", "50 - 59 mIU/ml" ], [ "006", "60 - 69 mIU/ml" ], [ "007", "70 - 79 mIU/ml" ], [ "008", "80 - 89 mIU/ml" ], [ "009", "90 - 99 mIU/ml" ], [ "010", "100 - 199 mIU/ml" ], [ "020", "200 - 299 mIU/ml" ], [ "030", "300 - 399 mIU/ml" ], [ "040", "400 - 499 mIU/ml" ], [ "050", "500 - 599 mIU/ml" ], [ "060", "600 - 699 mIU/ml" ], [ "070", "700 - 799 mIU/ml" ], [ "080", "800 - 899 mIU/ml" ], [ "090", "900 - 999 mIU/ml" ], [ "100", "1000 - 1999 mIU/ml" ], [ "120", "2000 - 2999 mIU/ml" ], [ "130", "3000 - 3999 mIU/ml" ], [ "140", "4000 - 4999 mIU/ml" ], [ "150", "5000 - 5999 mIU/ml" ], [ "160", "6000 - 6999 mIU/ml" ], [ "170", "7000 - 7999 mIU/ml" ], [ "180", "8000 - 8999 mIU/ml" ], [ "190", "9000 - 9999 mIU/ml" ], [ "200", "10, 000 - 19, 999 mIU/ml" ], [ "220", "20, 000 - 29, 999 mIU/ml" ], [ "230", "30, 000 - 39, 999 mIU/ml" ], [ "240", "40, 000 - 49, 999 mIU/ml" ], [ "250", "Greater than or equal to 50,000 mIU/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_spn.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_spn.json deleted file mode 100644 index 009aa5581..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_spn.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_spn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF14", - "title" : "Site-Specific Factor 14", - "subtitle" : "PDGFRA Gene Mutation", - "notes" : "**Note 1:** Some gastrointestinal stromal tumors (GIST) have oncogenic mutations of the platelet-derived growth factor receptor alpha (PDGFRA) gene, located on chromosome 4q. This test is a special molecular diagnostic test performed on tumor tissue to identify PDGFRA mutations. Some GISTs that are negative for KIT mutations are positive for PDGFRA mutation.\n\n**Note 2:** Code the result of the PDGFRA gene test. Another name for PDGFRA is CD140A.\n\n**Note 3:** See **Site-Specific Factor 12, KIT Gene Immunohistochemistry (IHC) and Site Specific Factor 13, KIT Gene Mutations** for coding information about KIT gene expression and mutations.", - "last_modified" : "2018-05-14T21:29:03.137Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "PDGFRA gene test positive for mutations" ], [ "020", "PDGFRA gene test negative for mutations; no mutations; normal or wild-type gene" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sqh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sqh.json deleted file mode 100644 index eeb8fabeb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sqh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sqh", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF14", - "title" : "Site-Specific Factor 14", - "subtitle" : "Carcinoembryonic Antigen (CEA) Lab Value", - "notes" : "**Note 1:** Carcinoembryonic Antigen (CEA) is a tumor marker that has value in the management of certain malignancies.\n\n**Note 2:** The same laboratory test should be used to record information in **Site-Specific Factor 13, Carcinoembryonic Antigen (CEA)** and **Site Specific Factor 14, Carcinoembryonic Antigen (CEA) Lab Value.**\n\n**Note 3:** Record to the nearest tenth in nanograms/milliliter (ng/ml) the highest CEA lab value documented in the medical record prior to treatment. \n\n* For example, a pretreatment CEA of 7.34 ng/ml would be recorded as 073\n\n**Note 4:** Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of CEA). Do not round tiny values down to 0.0 ng/ml; any measured value less than or equal to 0.1 ng/ml should be coded 001. \n\n* For code 001, also round 0.11-0.14 ng/ml down to 0.1 ng/ml \n* For codes 002-980, round values to the nearest tenth of a ng/ml\n\n**Note 5:** For an uncertain value, record the stated closest value. \n\n* For example, code a value stated as \"less than 0.5 ng/ml\" as 005", - "last_modified" : "2018-05-14T21:29:02.505Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 nanograms/milliliter (ng/ml) exactly" ], [ "001", "0.1 or less ng/ml \nStated as less than 0.1 ng/ml with no exact value" ], [ "002-979", "0.2-97.9 ng/ml\n(Exact value to nearest tenth in ng/ml)" ], [ "980", "98.0 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sqr.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sqr.json deleted file mode 100644 index 9e726b959..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf14_sqr.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf14_sqr", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF14", - "title" : "Site-Specific Factor 14", - "subtitle" : "PET Standardized Uptake Values (SUV)", - "notes" : "**Note 1:** Cancer cells require sugar (glucose) for metabolism and growth. Positron emission tomography/computed tomography (PET/CT) scanning utilizes a radioactive form of glucose, called 18-fluoro-2-deoxyglucose (FDG) that accumulates within malignant cells because of their high rate of metabolism.\n\n**Note 2:** The value is expressed as a ratio of tissue radioactivity at the time of measurement to the injected dose at time of injection divided by body weight. Record the value for the SUV as reported in the medical record to one decimal place.", - "last_modified" : "2018-05-14T21:28:58.404Z", - "definition" : [ { - "key" : "ssf14", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-500", "PET Standardized uptake value (SUV) \n(Exact value to nearest single decimal place)\n\nExamples:\n 015 SUV 01.5 \n 100 SUV 10.0" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test performed, unknown results" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nInformation cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sbe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sbe.json deleted file mode 100644 index 322046bc8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sbe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_sbe", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF15", - "title" : "Site-Specific Factor 15", - "subtitle" : "Clinical Staging Procedures Performed", - "notes" : "**Note 1:** Investigators are interested in determining the clinical staging procedures used to assign tumors to the T1c category. Procedures used in clinical staging include\n* Digital rectal examination (DRE) \n* Imaging techniques of the prostate T\n * Transrectal ultrasound (TRUS) E\n * Endorectal coil magnetic resonance imaging (erMRI)\n\n**Note 2:** Record the procedure(s) used in clinical staging for all T categories regardless of positive or negative findings. \n* Record TRUS-guided biopsy as imaging\n\n**Note 3:** Clinical procedures performed after needle core biopsy or any surgical procedure of the prostate are not included in this field.", - "last_modified" : "2018-05-14T21:28:59.991Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No DRE and no imaging performed" ], [ "010", "DRE only performed, imaging not performed or unknown if performed" ], [ "020", "Imaging only performed, DRE not performed or unknown if performed" ], [ "030", "Imaging and DRE performed" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sbg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sbg.json deleted file mode 100644 index b39746331..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sbg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_sbg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF15", - "title" : "Site-Specific Factor 15", - "subtitle" : "HER2: Summary Result of Testing", - "notes" : "**Note 1:** The summary of the results of the Immunohistochemistry (IHC), Fluorescent In Situ Hybridization (FISH), Chromogenic In Situ Hybridization (CISH), or other/unknown Human Epidermal Growth Factor Receptor 2 (HER2) test is recorded here. This variable is based on **Site-Specific Factors 9, 11, 13, and 14**.\n\n**Note 2:** If both an IHC and a gene-amplification test (FISH or CISH) are performed, record the result of the gene-amplification test in this field. However, if the gene-amplification test is given first and the result is borderline or equivocal and an IHC test is done to clarify these equivocal results, code the result of the IHC test.\n\n**Note 3:** If the results of one test are available, and it is known that a second test is performed but the results are not available, use code 997.", - "last_modified" : "2018-05-14T21:29:01.204Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated; amplified" ], [ "020", "Negative/normal; within normal limits; not amplified" ], [ "030", "Borderline; equivocal; indeterminate; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test(s) ordered, results not in chart" ], [ "998", "Test(s) not done (test(s) not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sco.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sco.json deleted file mode 100644 index d4d552f7e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sco.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_sco", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF15", - "title" : "Site-Specific Factor 15", - "subtitle" : "Muir-Torre Syndrome", - "notes" : "**Note 1:** Muir-Torre syndrome is a rare autosomal dominant condition in which multiple primary malignancies occur together with a sebaceous gland tumor. It is defined by the combination of at least one sebaceous adenoma, epithelioma, or carcinoma, and at least one visceral carcinoma occurring in the same individual in the absence of other precipitating factors such as radiotherapy or Autoimmune Immunodeficiency Syndrome (AIDS).\n\n**Note 2:** Code history of Muir-Torre Syndrome as documented by the physician in the medical record.", - "last_modified" : "2018-05-14T21:29:01.696Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of Muir-Torre Syndrome" ], [ "010", "History of Muir-Torre Syndrome" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sdm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sdm.json deleted file mode 100644 index 645309126..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sdm.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_sdm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF15", - "title" : "Site-Specific Factor 15", - "subtitle" : "Extent of Liver Resection", - "notes" : "**Note:** Since there is no serosa on the gallbladder on the side attached to the liver, a simple cholecystectomy may not completely remove a T2 tumor, even though such tumors are usually confined to the gallbladder. An important anatomic evaluation is that the serosa along the liver edge is more densely adherent to the liver (cystic plate) and much of this is often left behind at time of cholecystectomy. For this reason, partial hepatic resection incorporating portions of segments IVb and V is advocated for some cases.", - "last_modified" : "2018-05-14T21:29:02.510Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Partial hepatectomy (one or more liver segments)" ], [ "020", "Wedge resection" ], [ "030", "Right or left hepatectomy (formal lobectomy)" ], [ "040", "Extended hepatectomy (right or left trisectionectomy or trisegmentectomy)" ], [ "050", "Liver resection, NOS" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No resection of liver" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sdt.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sdt.json deleted file mode 100644 index febf9143d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sdt.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_sdt", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF15", - "title" : "Site-Specific Factor 15", - "subtitle" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "notes" : "**Note 1:** Carbohydrate Antigen 19-9 (CA 19-9) is a tumor marker that has value in the management of certain malignancies.\n\n**Note 2:** Record, to the nearest tenth of in Unit/milliliter (U/ml), the highest CA 19-9 lab value recorded in the medical record prior to treatment. \n* For example: A pretreatment CA 19-9 of 60.0 U/mL would be recorded as 600\n\n**Note 3:** Code 000 is reserved for exactly 0.0 U/mL (no measurable amount of CA 19 9). Do not round tiny values down to 0.0 U/mL; any measured value less than or equal to 0.1 U/mL should be coded 001. \n* For code 001, also round 0.11 - 0.14 U/mL down to 0.1 U/mL\n* For codes 002-980, round values to the nearest tenth of a U/ml\n\n**Note 4:** Use code 997 if an interpretation is documented but the actual lab value is not available in the record.", - "last_modified" : "2018-05-14T21:29:03.113Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 Units/milliter (U/ml) exactly" ], [ "001", "0.1 or less U/mL\nStated as less than 1 U/ml with no exact value" ], [ "002-979", "0.2 - 97.9 U/mL\n(Exact value to nearest tenth in U/ml)" ], [ "980", "98.0 or greater U/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sfc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sfc.json deleted file mode 100644 index 01f141162..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sfc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_sfc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF15", - "title" : "Site-Specific Factor 15", - "subtitle" : "Assessment Method of Femoral Inguinal Nodal Status", - "notes" : "**Note 1:** The assessment results are recorded in **Site Specific Factor 14, Femoral Inguinal Nodal Status**.\n\n**Note 2:** Use the highest applicable code.", - "last_modified" : "2018-05-14T21:29:01.291Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Clinical assessment" ], [ "020", "Radiography, imaging \n(Ultrasound (US), CT Scan (CT), magnetic resonance imaging (MRI), PET Scan (PET))" ], [ "030", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "040", "Lymphadenectomy\nExcisional biopsy or resection with microscopic confirmation" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sfg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sfg.json deleted file mode 100644 index f6bcf2164..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_sfg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_sfg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF15", - "title" : "Site-Specific Factor 15", - "subtitle" : "Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Range", - "notes" : "**Note 1:** Record the range of the human chorionic gonadotropin (hCG) test as documented in the patient record after orchiectomy and prior to further treatment.\n\n**Note 2:** Use the same laboratory test to record values in **Site-Specific Factor 14, Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Lab Value** and **Site-Specific Factor 15, Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Range**.\n\n**Note 3:** A lab value expressed in International Units/liter (IU/L) is equivalent to the same value expressed in milli-International Units/milliliter (mIU/ml).\n\n**Note 4:** If the initial post-orchiectomy hCG test remains elevated, review the subsequent tests until normalization or plateau occurs and use that test to code this field. \n\n**Note 5:** If the post-orchiectomy hCG test is unknown but the preorchiectomy hCG test was normal, use code 990.\n\n**Note 6:** If the post-orchiectomy hCG test is unavailable but a physician's statement of the result is documented, use codes 991-993.\n\n**Note 7:** For rare cases that are treated prior to orchiectomy or an orchiectomy is not performed, code the initial hCG range in this field and not in **Site-Specific Factor 9, Pre-Orchiectomy Human Chorionic Gonadotropin (hCG) Range**.", - "last_modified" : "2018-05-14T21:28:59.990Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Within normal limits (S0)" ], [ "010", "Range 1 (S1) above normal and less than 5,000 milli-International Units/milliliter (mIU/ml)" ], [ "020", "Range 2 (S2) 5,000 - 50,000 mIU/ml" ], [ "030", "Range 3 (S3) greater than 50,000 mIU/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Post-orchiectomy human chorionic gonadotropic (hCG) unknown but preorchiectomy hCG was normal" ], [ "991", "Post-orchiectomy hCG stated to be still elevated" ], [ "992", "Post-orchiectomy hCG unknown but post-orchiectomy serum tumor markers NOS stated to be normal" ], [ "993", "Post-orchiectomy hCG unknown but post-orchiectomy serum tumor markers NOS stated to be still elevated\n\nStated as Stage IS" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_spo.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf15_spo.json deleted file mode 100644 index ccfa8a5dc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf15_spo.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf15_spo", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF15", - "title" : "Site-Specific Factor 15", - "subtitle" : "Tumor Multiplicity", - "notes" : "**Note:** When a patient has more than one area of gastrointestinal stromal tumor (GIST), it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. Code this form of metastasis in Mets (M).\n\nTumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in **Site-Specific Factor 15, Tumor Multiplicity**.\n\nWhen a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in **Site-Specific Factor 15, Tumor Multiplicity**.\n\nWhen multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. \n* If a decision cannot be made, code this site-specific factor as 010 (Multiple GIST tumors are present)", - "last_modified" : "2018-05-14T21:29:02.818Z", - "definition" : [ { - "key" : "ssf15", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Multiple gastrointestinal stromal tumors (GIST) not present in the surgical specimen; single GIST; unifocal GIST" ], [ "010", "Multiple GIST tumors present in the surgical specimen; multifocal GIST" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if one tumor or multiple tumors \nNo information on tumor multiplicity\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sah.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sah.json deleted file mode 100644 index 16ea174ba..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sah.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_sah", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF16", - "title" : "Site-Specific Factor 16", - "subtitle" : "Combinations of ER, PR, and HER2 Results", - "notes" : "**Note 1:** There is a clinical interest in triple negative breast cancer, or breast cancer that is negative for estrogen receptors (ER), progesterone receptors (PR), and Human Epidermal Growth Factor Receptor 2 (HER2) amplification or overexpression.\n\n**Note 2:** This field is based on **Site-Specific Factors 1, 2 and 15**.\n\n**Note 3:** ER results are coded in the first digit: 0 for negative and 1 for positive.\n\n**Note 4:** PR results are coded in the second digit: 0 for negative and 1 for positive.\n\n**Note 5:** HER2 results are coded in the third digit: 0 for negative and 1 for positive.\n\n**Note 6:** If information is unknown or not available for one or more of the three types of tests, or if one or more of the three types of tests was not performed, code 999.", - "last_modified" : "2018-05-14T21:29:01.202Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "ER Negative, PR Negative, HER2 Negative (Triple Negative)" ], [ "001", "ER Negative, PR Negative, HER2 Positive" ], [ "010", "ER Negative, PR Positive, HER2 Negative" ], [ "011", "ER Negative, PR Positive, HER2 Positive " ], [ "100", "ER Positive, PR Negative, HER2 Negative" ], [ "101", "ER Positive, PR Negative, HER2 Positive" ], [ "110", "ER Positive, PR Positive, HER2 Negative " ], [ "111", "ER Positive, PR Positive, HER2 Positive " ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "One or more tests not performed\nOne or more tests unknown if performed\nOne or more tests with unknown or borderline results\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_scp.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_scp.json deleted file mode 100644 index 563607945..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_scp.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_scp", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF16", - "title" : "Site-Specific Factor 16", - "subtitle" : "Xeroderma Pigmentosa", - "notes" : "**Note 1:** Xeroderma pigmentosa is a very rare hereditary condition characterized by extreme sensitivity to ultraviolet radiation in sunlight, with a very high risk for skin cancer and eye problems especially of the eyelids.\n\n**Note 2:** Code xeroderma pigmentosa as documented by the physician in the medical record.", - "last_modified" : "2018-05-14T21:29:01.681Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of xeroderma pigmentosa" ], [ "010", "History of xeroderma pigmentosa" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sdn.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sdn.json deleted file mode 100644 index da64c1f05..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sdn.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_sdn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF16", - "title" : "Site-Specific Factor 16", - "subtitle" : "Primary Tumor Location within Gallbladder", - "notes" : "**Note 1:** There is no serosa on the gallbladder on the side attached to the liver; therefore, a simple cholecystectomy may not completely remove a T2 tumor, even though such tumors are usually confined to the gallbladder. It is important to know if the primary tumor was located on the free peritoneal or the hepatic side of the gallbladder at cholecystectomy.\n\n**Note 2:** Record a statement of primary tumor location within the gallbladder recorded at the time of cholecystectomy.", - "last_modified" : "2018-05-14T21:29:02.692Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Tumor located on free peritoneal side of gallbladder" ], [ "020", "Tumor located on hepatic side of gallbladder" ], [ "030", "Tumor involves both sides of gallbladder" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No primary tumor resected \nNo cholecystectomy performed" ], [ "999", "Unknown or no information\n Not documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sfh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sfh.json deleted file mode 100644 index bb9899afe..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sfh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_sfh", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF16", - "title" : "Site-Specific Factor 16", - "subtitle" : "Post-Orchiectomy Lactate Dehydrogenase (LDH) Range", - "notes" : "**Note 1:** Of the three tumor markers, lactate dehydrogenase (LDH) is the least specific for testicular cancer and is more of a determinant of bulky or disseminated disease. Although recommended to be tested, LDH may not be routinely performed, especially if the primary is localized.\n\n**Note 2:** Record the range of the LDH test as documented in the patient record after orchiectomy and prior to further treatment.\n\n**Note 3:** If the initial post-orchiectomy LDH test remains elevated, review the subsequent tests until normalization or plateau occurs and use that test to code this field. \n\n**Note 4:** If the post-orchiectomy LDH test is unknown but the preorchiectomy LDH test was normal, use code 990.\n\n**Note 5:** If the post-orchiectomy LDH test is unavailable but a physician's statement of the result is documented, use codes 991-993.\n\n**Note 6:** For rare cases that are treated prior to orchiectomy or an orchiectomy is not performed, code the initial LDH range in this field and not in **Site-Specific Factor 10, Pre-Orchiectomy Lactate Dehydrogenase (LDH) Range**.", - "last_modified" : "2018-05-14T21:28:58.490Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Within normal limits (S0)" ], [ "010", "Range 1 (S1) less than 1.5 x N \n(Less than 1.5 times the upper limit of normal for LDH)" ], [ "020", "Range 2 (S2) 1.5 to 10 x N \n(Between 1.5 and 10 times the upper limit of normal for LDH)" ], [ "030", "Range 3 (S3) greater than 10 x N \n(Greater than 10 times the upper limit of normal for LDH)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Postorchiectomy LDH unknown but preorchiectomy LDH was normal" ], [ "991", "Postorchiectomy LDH stated to be still elevated" ], [ "992", "Postorchiectomy LDH unknown but post-orchiectomy serum tumor markers NOS stated to be normal" ], [ "993", "Postorchiectomy LDH unknown but postorchiectomy serum tumor markers NOS stated to be still elevated\n\nStated as Stage IS" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_spt.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_spt.json deleted file mode 100644 index 204acafda..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_spt.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_spt", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF16", - "title" : "Site-Specific Factor 16", - "subtitle" : "Serum Chromogranin A (CgA) Lab Value", - "notes" : "**Note 1:** Chromoganins are a family of proteins in secretory granules found throughout the neuroendocrine system. Serum Chromogranin A (CgA) has been shown to be a useful marker for neuroendocrine tumors.\n\n**Note 2:** Record to the nearest nanogram/milliliter (ng/ml) the highest CgA lab value documented in the medical record prior to treatment. \n* For example, code a pretreatment CgA of 400 ng/ml as 400\n\n**Note 3:** Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of CgA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 ng/ml should be coded 001. \n* For code 001, also round 1.1 - 1.4 ng/ml down to 1 ng/ml\n* For codes 002-979, round values to the nearest ng/ml\n\n**Note 4:** For an uncertain value, record the stated closest value. \n* For example, code a value stated as \"less than 5 ng/ml\" as 005", - "last_modified" : "2018-05-14T21:29:02.697Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 nanogram/milliliter (ng/ml)" ], [ "001", "1 or less ng/ml" ], [ "002-979", "002-979 ng/ml" ], [ "980", "980 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test was not ordered and was not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_squ.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_squ.json deleted file mode 100644 index 49fab5fa0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_squ.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_squ", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF16", - "title" : "Site-Specific Factor 16", - "subtitle" : "Size of Lymph Nodes", - "notes" : "**Note:** Code the largest diameter, whether measured clinically or pathologically, of any involved regional lymph node(s). Do not code the size of any distant lymph node(s).", - "last_modified" : "2018-05-14T21:29:01.452Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involved regional lymph nodes " ], [ "001-979", "001 - 979 millimeters (mm)\n(Exact size to nearest mm)" ], [ "980", "980 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm\" or \"greater than 1 cm\" or between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm\" or \"greater than 2 cm\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm\" or \"greater than 3 cm\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm\" or \"greater than 4 cm\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 6 cm\" or \"greater than 5 cm\" or \"between 5 cm and 6 cm\"" ], [ "997", "Described as \"more than 6 cm\"" ], [ "999", "Regional lymph node(s) involved, size not stated\nUnknown if regional lymph node(s) involved\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sqv.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sqv.json deleted file mode 100644 index 7d741d4e5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sqv.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_sqv", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF16", - "title" : "Site-Specific Factor 16", - "subtitle" : "Size of Metastasis in Lymph Nodes", - "notes" : "**Note:** Code the size of the largest metastasis in a lymph node as documented in the pathology report, not the size of the lymph node. If the size of the metastasis is not documented, code the size of the largest involved lymph node as documented pathologically or clinically with pathology taking priority. \n* Do not code the size of any distant lymph node(s)", - "last_modified" : "2018-05-14T21:29:00.801Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph node(s) involved" ], [ "001-979", "1 - 979 millimeters (mm)\n(Exact size of lymph node metastasis to nearest mm)" ], [ "980", "980 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 cm\"" ], [ "992", "Described as \"less than 2 cm\" or \"greater than 1 cm\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm\" or \"greater than 2 cm\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm\" or \"greater than 3 cm\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm\" or \"greater than 4 cm\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 6 cm\" or \"greater than 5 cm\" or \"between 5 cm and 6 cm\"" ], [ "997", "Described as \"more than 6 cm\"" ], [ "999", "Regional lymph node(s) involved, size not stated\nUnknown if regional lymph node metastasis\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sqw.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sqw.json deleted file mode 100644 index 3fd99f6de..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf16_sqw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf16_sqw", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF16", - "title" : "Site-Specific Factor 16", - "subtitle" : "Size of Metastasis in Lymph Nodes", - "notes" : "**Note:** Code size of metastasis or tumor nests in regional lymph nodes (not the size of the lymph node). Record the actual measurement in hundredths of millimeters (mm) from the pathology report. \n* Do not code the size of any distant lymph node(s)", - "last_modified" : "2018-05-14T21:29:01.662Z", - "definition" : [ { - "key" : "ssf16", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph node involvement" ], [ "001-979", "0.01 - 9.79 millimeters (mm) \n(Exact size of largest described metastasis or tumor nest to nearest HUNDREDTH of mm) \n \nExamples: \n 001 0.01 mm \n 002 0.02 mm \n 010 0.1 mm \n 074 0.74 mm \n 100 1 mm \n 105 1.05 mm \n 979 9.79 mm" ], [ "980", "9.80 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Metastasis or tumor nests in regional lymph nodes, size cannot be assessed" ], [ "998", "No histologic examination of regional lymph nodes" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf17_sai.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf17_sai.json deleted file mode 100644 index 02717af52..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf17_sai.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf17_sai", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF17", - "title" : "Site-Specific Factor 17", - "subtitle" : "Circulating Tumor Cells (CTC) and Method of Detection", - "notes" : "**Note 1:** Circulating tumor cells (CTCs) are isolated tumor cells (ITCs) found in the blood distant from the breast.\n\n**Note 2:** Immunomagnetic separation (IMS) and reverse transcription polymerase chain reaction (RT-PCR) are two components of a laboratory process for identifying very small amounts of tumor cells in tissue. In the IMS process, paramagnetic beads coated with antibodies bind to antigens on tumor cells, which are removed and concentrated by being passed through a magnetic field. RT-PCR is then used to amplify the genetic material to a detectable level.\n\n**Note 3:** Code the results to the test type as expressed in the medical record. Give priority to \"IMS\" if the report uses both expressions for test type.", - "last_modified" : "2018-05-14T21:29:01.200Z", - "definition" : [ { - "key" : "ssf17", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive, Reverse Transcription Polymerase Chain Reaction (RT-PCR) test" ], [ "020", "Positive, immunomagnetic separation (IMS) test" ], [ "030", "Positive, other test type" ], [ "040", "Positive, unknown test type" ], [ "110", "Negative/normal, RT-PCR test" ], [ "120", "Negative/normal, IMS test" ], [ "130", "Negative/normal, other test type" ], [ "140", "Negative/normal, unknown test type" ], [ "210", "Borderline; equivocal; indeterminate; undetermined if positive or negative, RT-PCR test" ], [ "220", "Borderline; equivocal; indeterminate; undetermined if positive or negative, IMS test" ], [ "230", "Borderline; equivocal; indeterminate; undetermined if positive or negative, other test type" ], [ "240", "Borderline equivocal; indeterminate; undetermined if positive or negative, unknown test type" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf17_seu.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf17_seu.json deleted file mode 100644 index 72571850a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf17_seu.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf17_seu", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF17", - "title" : "Site-Specific Factor 17", - "subtitle" : "Extranodal Extension of Regional Lymph Nodes", - "notes" : "**Note 1:** Code the status of extranodal extension whether assessed clinically or pathologically of any involved regional lymph node(s). \n* Do not code extranodal extension for any distant lymph node(s)\n\n**Note 2:** A statement of the presence or absence of extranodal extension in a pathology report takes priority over clinical assessment. \n\n**Note 3:** If nodes are involved but the clinical documentation and/or pathologic documentation does not indicate extranodal extension, assign code 010 (no extranodal extension documented on available reports).\n\n**Note 4:** If the only documentation is a reference to clinically or pathologically involved nodes with no reference to extranodal extension, assign code 030 (no physical examination/imaging report and/or no pathology report available).", - "last_modified" : "2018-05-14T21:29:00.800Z", - "definition" : [ { - "key" : "ssf17", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph nodes involved" ], [ "010", "Extranodal extension not present\nRegional nodes described as mobile" ], [ "020", "Extranodal extension present\nRegional nodes described as fixed or matted" ], [ "030", "Regional nodes involved, unknown if extranodal extension" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf17_spu.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf17_spu.json deleted file mode 100644 index 066412967..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf17_spu.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf17_spu", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF17", - "title" : "Site-Specific Factor 17", - "subtitle" : "Urinary 5-Hydroxyindoleacetic Acid (5-HIAA) Lab Value", - "notes" : "**Note 1:** Carcinoid tumors can release large amounts of serotonin. 5-Hydroxyindoleacetic acid (5-HIAA) is a breakdown product of the hormone serotonin. The 5-HIAA test measures the amount of acid secreted in the urine over a 24-hour period.\n\n**Note 2:** Record to the nearest milligram (mg) the highest 5-HIAA lab value documented in the medical record prior to treatment. \n* For example, code a pre-treatment 5-HIAA of 550 mg over 24 hours as 550\n\n**Note 3:** Code 000 is reserved for exactly 0 mg (no measurable amount of 5-HIAA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 mg should be coded 001. \n* For code 001, also round 1.1 - 1.4 mg down to 1 ng/ml\n* For codes 002-979, round values to the nearest mg\n\n**Note 4:** For an uncertain value, record the stated closest value. \n* For example, code a value stated as \"less than 5 mg\" as 005", - "last_modified" : "2018-05-14T21:29:02.696Z", - "definition" : [ { - "key" : "ssf17", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 milligrams/24 hours (mg)/24hours" ], [ "001", "1 or less milligrams/24hours" ], [ "002-979", "2-979 milligrams/24hours" ], [ "980", "980 or greater milligrams/24hours" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test was not ordered and was not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf17_sqx.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf17_sqx.json deleted file mode 100644 index 2c086ca1a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf17_sqx.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf17_sqx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF17", - "title" : "Site-Specific Factor 17", - "subtitle" : "Extracapsular Extension of Regional Lymph Nodes", - "notes" : "**Note 1:** Code the status of extracapsular extension clinically and pathologically of any involved regional lymph node(s). \n* Do not code extracapsular extension for any distant lymph node(s).\n\n**Note 2:** Clinical extracapsular extension is coded when involved regional lymph node(s) are described as \"fixed\" or \"matted\"", - "last_modified" : "2018-05-14T21:29:01.406Z", - "definition" : [ { - "key" : "ssf17", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No lymph nodes involved" ], [ "010", "No extracapsular extension clinically AND extracapsular extension present on pathology" ], [ "020", "No extracapsular extension clinically AND extracapsular extension not present or not stated on pathology" ], [ "030", "No extracapsular extension clinically AND nodes not assessed pathologically" ], [ "040", "Extracapsular extension clinically AND extracapsular extension present on pathology" ], [ "050", "Extracapsular extension clinically AND extracapsular extension not present or not stated on pathology" ], [ "060", "Extracapsular extension clinically AND nodes not assessed pathologically" ], [ "070", "Extracapsular extension clinically unknown AND extracapsular extension present on pathology" ], [ "080", "Extracapsular extension clinically unknown AND extracapsular extension not present or not stated on pathology" ], [ "090", "Extracapsular extension clinically unknown AND nodes not assessed pathologically" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if regional lymph node(s) involved, not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf18_saj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf18_saj.json deleted file mode 100644 index daf6cd5ce..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf18_saj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf18_saj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF18", - "title" : "Site-Specific Factor 18", - "subtitle" : "Disseminated Tumor Cells (DTC) and Method of Detection", - "notes" : "**Note 1:** Disseminated tumor cells (DTCs) are isolated tumor cells (ITCs) (micrometastases less than or equal to 0.2 mm) found in the bone marrow or other nonregional nodal tissues or organs.\n\n**Note 2:** Immunohistochemistry (IHC) with cytokeratin stains and Reverse Transcription Polymerase Chain Reaction (RT-PCR) are laboratory methods for identifying very small amounts of tumor cells in tissue. RT-PCR amplifies genetic material identified by probes for tumor genes to a detectable level.\n\n**Note 3:** Any positive test takes precedence over a negative or borderline test. Information about a known test takes precedence over no information about other tests.", - "last_modified" : "2018-05-14T21:29:01.198Z", - "definition" : [ { - "key" : "ssf18", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive, Reverse Transcriptase Polymerase Chain Reaction (RT-PCR) test" ], [ "020", "Positive, immunohistochemistry (IHC) test" ], [ "025", "Positive on RT-PCR and IHC" ], [ "030", "Positive, other test type" ], [ "040", "Positive, unknown test type" ], [ "110", "Negative/normal, RT-PCR test" ], [ "120", "Negative/normal IHC test" ], [ "130", "Negative/normal, other test type" ], [ "140", "Negative/normal, unknown test type" ], [ "210", "Borderline; equivocal; indeterminate; undetermined if positive or negative, RT-PCR test" ], [ "220", "Borderline; equivocal; indeterminate; undetermined if positive or negative, IHC test" ], [ "230", "Borderline; equivocal; indeterminate; undetermined if positive or negative, other test type" ], [ "240", "Borderline; equivocal; indeterminate; undetermined if positive or negative, unknown test type" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf18_sqy.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf18_sqy.json deleted file mode 100644 index 477a027e5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf18_sqy.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf18_sqy", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF18", - "title" : "Site-Specific Factor 18", - "subtitle" : "Isolated Tumor Cells (ITC) in Regional Lymph Node(s)", - "notes" : "**Note 1:** Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) methods such as Cytokeratin 20 (CK20) or CAM 5.2 or pancytokeratins. \n* For Merkel cell carcinoma, the presence of ITCs in regional lymph node(s) is coded as positive nodal involvement\n\n**Note 2:** Record the status of ITCs as documented by the pathologist.\n\n**Note 3:** If regional lymph nodes are removed and are pathologically negative with no mention of ITC status, assume there are no ITCs and assign code 000.\n\n**Note 4:** Use code 999 if nodes are clinically involved but no pathologic examination of regional nodes is performed.", - "last_modified" : "2018-05-14T21:29:01.405Z", - "definition" : [ { - "key" : "ssf18", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Regional lymph nodes negative on routine hematoxylin and eosin (H and E) stains, no immunohistochemical (IHC) studies for isolated tumor cells (ITC) done (CK20, CAM 5.2, pancytokeratins) or unknown if IHC studies done \nNodes clinically negative, not examined pathologically" ], [ "010", "Regional lymph nodes negative on routine H and E, IHC studies done (CK20, CAM5.2, pancytokeratins) and ITCs NOT PRESENT" ], [ "020", "Regional lymph nodes negative on routine H and E, IHC studies done (CK20, CAM 5.2, pancytokeratins) and ITCs PRESENT" ], [ "090", "Regional lymph nodes negative on routine H and E, positive for tumor detected by IHC, size of tumor cell clusters or metastases not stated" ], [ "100", "Regional lymph nodes positive with ITCs on routine H and E" ], [ "200", "Regional lymph nodes positive with ITCs, NOS, method of detection not stated" ], [ "300", "Regional lymph nodes positive other than ITCs \n(Tumor cells greater than 0.2 millimeter (mm))" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in pathology report or patient record\nClinical assessment of nodal involvement only" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf19_sak.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf19_sak.json deleted file mode 100644 index dc8825c78..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf19_sak.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf19_sak", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF19", - "title" : "Site-Specific Factor 19", - "subtitle" : "Assessment of Positive Ipsilateral Axillary Lymph Nodes", - "notes" : "**Note:** Code the assessment method used for the number of positive axillary and intramammary lymph nodes coded in **Site-Specific Factor 3, Number of Positive Ipsilateral Level I-II Axillary Lymph Nodes**.  \n* Do not code the assessment method used for Level III axillary nodes or internal mammary nodes", - "last_modified" : "2018-05-14T21:29:00.111Z", - "definition" : [ { - "key" : "ssf19", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No ipsilateral axillary lymph nodes positive" ], [ "010", "No nodes examined pathologically: positive nodes on clinical assessment only" ], [ "015", "No nodes examined pathologically: negative nodes on clinical assessment or no clinical assessment" ], [ "020", "Positive fine needle aspiration (FNA) only" ], [ "025", "Positive fine needle aspiration (FNA) \nAND negative lymph node dissection" ], [ "027", "Positive fine needle aspiration (FNA) \nAND positive lymph node dissection" ], [ "030", "Positive core biopsy, incisional only" ], [ "040", "Positive core biopsy, excisional only" ], [ "050", "Positive core biopsy, type not specified only" ], [ "060", "Positive core biopsy(ies) (incisional, excisional, NOS)\nAND negative lymph node dissection" ], [ "070", "Positive core biopsy(ies) (incisional, excisional, NOS)\nAND positive lymph node dissection" ], [ "100", "Positive sentinel lymph node biopsy(ies) only \n(no lymph node dissection)" ], [ "110", "Positive sentinel lymph node biopsy(ies)\nAND negative lymph node dissection" ], [ "120", "Positive sentinel lymph node biopsy(ies)\nAND positive lymph node dissection" ], [ "123", "Positive lymph node dissection only\n(No sentinel node biopsy or FNA or core biopsy)" ], [ "125", "Positive lymph node dissection\nAND negative FNA" ], [ "127", "Positive lymph node dissection\nAND negative core biopsy(ies) (incisional, excisional, NOS)" ], [ "130", "Positive lymph node dissection\nAND negative sentinel node biospsy(ies)" ], [ "150", "Nodes positive, but method of assessment unknown" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf19_sqz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf19_sqz.json deleted file mode 100644 index e96e11de4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf19_sqz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf19_sqz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF19", - "title" : "Site-Specific Factor 19", - "subtitle" : "Tumor Base Transection Status", - "notes" : "**Note 1:** Record transection of the tumor base from documentation in pathology reports. If the whole depth of tumor cannot be seen on a single specimen, the tumor base is assumed to be transected. Multiple specimens (two or more) may be taken from a combination of biopsy and resection procedures.\n\n**Note 2:** Use code 010\n\n* If tumor depth is noted on multiple specimens (two or more)\n* If only one specimen is taken and has positive deep margins\n* If the pathologist indicates the tumor base is transected\n\n**Note 3:** If a single specimen removes the entire depth of tumor and deep margins are not involved, assign code 020.", - "last_modified" : "2018-05-14T21:29:01.660Z", - "definition" : [ { - "key" : "ssf19", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "010", "Tumor base transected" ], [ "020", "Tumor base not transected" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jae.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jae.json deleted file mode 100644 index f6761411b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jae.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jae", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Carbohydrate Antigen 125 (CA-125)", - "notes" : "**Note 1:** Carbohydrate Antigen 125 (CA-125), also known as cancer antigen 125, mucin 16, or MUC16, is a protein which in humans is encoded by the MUC16 gene. CA-125 is a tumor marker or biomarker that may be elevated in the blood of some patients with ovarian cancer. \n\n**Note 2:** Record only the blood or serum CA-125 value for this data item. Do not record CA-125 test results based on fluid from the chest or abdominal cavity. \n\n**Note 3:** Record the CA-125 status prior to treatment. \n\n**Note 4:** Normal values may vary with patient age and from lab to lab. The typical human reference ranges are 0 to 35 micrograms per milliliter (ug/ml).", - "last_modified" : "2018-05-14T21:29:00.092Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jag.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jag.json deleted file mode 100644 index 4cf539e7f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jag.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jag", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Estrogen Receptor (ER) Assay", - "notes" : "**Note 1:**\n\n**A.** In cases where ER is reported on more than one tumor specimen (except as noted in B, D, and E), record the highest value. \n* If any sample is positive, record as positive\n\n**B.** If neoadjuvant therapy is given, record the assay from tumor specimens prior to neoadjuvant therapy.\n**C.** If neoadjuvant therapy is given and there are no ER results from pre-treatment specimens, report the findings from post-treatment specimens. \n**D:** If the patient is ER positive and node negative, a multigene test such as OncotypeDX may be performed, in which case another ER test will be performed. \n* Do not record the results of that test in this field. Record only the results of the test which made the patient eligible to be given the multigene test\n\n**E:** If ER is positive on an in situ specimen and ER is negative on all tested invasive specimens, code ER as negative (code 020).\n\n**Note 2:** In general, estrogen receptor (ER) assay is only performed on one sample. In cases where the assay is performed on more than one sample, there is not necessarily any reason to think that the most accurate is the test done on the \"largest\" tumor specimen. Clinically, treatment will be based on any positive test; with the benefit and minimal toxicity of hormonal therapy, most patients will be given the \"benefit of the doubt\" and treated with hormonal therapy if any ER test is positive. See exception in Note 1E.\n\n**Note 3:** The most recent interpretation guidelines for ER do not allow for a borderline result. Therefore, code 030 will rarely be used. If 1% or greater cells stain positive, the test results are classified as positive. If less than 1% of cells stain positive, the results are classified as negative.", - "last_modified" : "2018-05-14T21:29:01.249Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "996", "Test ordered, results not interpretable" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jaj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jaj.json deleted file mode 100644 index 74c9a82ff..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jaj.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ssf1_jaj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Peripheral Blood Involvement", - "notes" : "**Note 1:** Sezary cells are circulating atypical, malignant T lymphocytes with hyperconvoluted cerebriform nuclei, with a mature memory T-cell phenotype (CD3+, CD4+) with loss of CD 7 and CD26.\n\n**Note 2:** Assessment of blood tumor burden is performed using two types of tests\n* Using the microscope to count neoplastic (Sezary) cells. The results can be given as counts per cubic millimeter (mm3) or as a percentage of the total lymphocytes that are abnormal (Sezary cells) \n* Flow cytometry to characterize the cell surface markers on the neoplastic cells, where the neoplastic cells show the loss of some specific markers (CD26, for example.) Interpretation of the test results is complicated and may vary. In addition, clonality may be assessed as explained in **Note 4**.\n\n**Note 3:** The categories for peripheral blood involvement are\n\n* B0: No significant blood involvement \n* B1: Low blood tumor burden \n* B2: High blood tumor burden \n\n**Note 4:** Clonality may be assessed on tissue and blood samples for this disease. The tests look for what is called \"TCR gene rearrangement\" a detectable genetic pattern of the T-cell receptors on the neoplastic T-cells. \n* A finding of \"monoclonal\" means the cells have derived from a single ancestor cell. In this staging system, \"monoclonal\" is termed \"clone +\" or \"clone positive,\" and this generally indicates a worse prognosis\n* \"Polyclonal\" means the cells in question have not derived from a single ancestor cell, and this finding is termed \"clone -\" or \"clone negative.\" This may indicate a better prognosis\n* Test methods for clonality include Southern blot and polymerase chain reaction (PCR)\n* If clonality is given but a B rating is not stated by the physician, use code 090\n\n**Note 5:** Record the B rating as stated by the physician. \n* If counts or percentages of neoplastic cells, flow cytometry test results, and/or clonality test results are performed but a B rating is not stated by the physician, use code 090\n\n**Note 6:** If there is no peripheral blood involvement or Sezary cell count is less than 1000, code 030.", - "last_modified" : "2018-05-14T21:29:00.132Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "b_map", - "name" : "B Map", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "Absence of significant blood involvement: \n 5% or less of peripheral blood lymphocytes are atypical (Sezary) cells \n Clone negative\n\nStated as B0a", "VALUE:B0a" ], [ "020", "Absence of significant blood involvement: \n 5% or less of peripheral blood lymphocytes are atypical (Sezary) cells \n Clone positive\n\nStated as B0b", "VALUE:B0b" ], [ "030", "Absence of significant blood involvement: \n 5% or less of peripheral blood lymphocytes are atypical (Sezary) cells \n Clone unknown\n\nStated as B0 [NOS]", "VALUE:B0" ], [ "040", "Low blood tumor burden: \n More than 5% of peripheral blood lymphocytes are atypical (Sezary) cells but does not meet the criteria of B2 \n Clone negative\n\nStated as B1a", "VALUE:B1a" ], [ "050", "Low blood tumor burden: \n More than 5% of peripheral blood lymphocytes are atypical (Sezary) cells but does not meet the criteria of B2 \n Clone positive\n\nStated as B1b", "VALUE:B1b" ], [ "060", "Low blood tumor burden: \n More than 5% of peripheral blood lymphocytes are atypical (Sezary) cells but does not meet the criteria of B2 \n Clone unknown\n\nStated as B1 [NOS]", "VALUE:B1" ], [ "070", "High blood tumor burden: \n 1000 microliter (uL) Sezary cells or more\n Clone positive\n \nStated as B2", "VALUE:B2" ], [ "080", "% of atypical peripheral blood lymphocytes not stated and B rating not stated", "VALUE:BX" ], [ "090", "Sezary cell counts, blood flow cytometry, and/or clonality results in chart, B rating not stated", "VALUE:BX" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)", "VALUE:BX" ], [ "997", "Sezary cell counts, blood flow cytometry, and/or clonality tests ordered, test results not in chart , \nB rating not stated", "VALUE:BX" ], [ "999", "Unknown or no information\nNot documented in patient record", "VALUE:BX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jam.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jam.json deleted file mode 100644 index a578999d9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jam.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jam", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Pleural Effusion", - "notes" : "**Note 1:** One of the most common symptoms of mesothelioma is a pleural effusion, or an accumulation of fluid between the parietal pleura (the pleura covering the chest wall and diaphragm) and the visceral pleura (the pleura covering the lungs). Record the absence or presence of pleural effusion and specifically, if present, whether the pleural effusion is non-malignant, malignant, or NOS.\n\n**Note 2:** If imaging indicates a pleural effusion but pleural fluid cytology is described as negative for malignant cells, assign code 010.\n\n**Note 3:** If pleural fluid cytology is described as suspicious/suspicious for mesothelioma, assign code 020.\n\n**Note 4:** If pleural fluid cytology is described as atypical/atypical mesothelial cells (not specifically non-malignant or malignant), assign code 030.", - "last_modified" : "2018-05-14T21:29:01.574Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No pleural effusion" ], [ "010", "Pleural effusion, non-malignant (negative)" ], [ "020", "Pleural effusion, malignant (positive)" ], [ "030", "Pleural effusion, NOS" ], [ "988", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 988 will result in an edit error.)" ], [ "999", "Unknown if pleural effusion; Not documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jap.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jap.json deleted file mode 100644 index 8ae0c3ea0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jap.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jap", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Solitary vs Multifocal Tumor", - "notes" : "**Note:** Use code 020 for any tumor with multiple foci, even if foci are not measured.", - "last_modified" : "2018-05-14T21:29:01.223Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No evidence of primary tumor (T0)\nPrimary tumor in ectopic thyroid tissue" ], [ "010", "Solitary tumor (s)" ], [ "020", "Multifocal tumor (m)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jaq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jaq.json deleted file mode 100644 index 75c24ced0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jaq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jaq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Prognostic Scoring Index", - "notes" : "**Note 1:** Stage for gestational trophoblastic tumors is anatomically defined, but the Prognostic Scoring Index is used to substage patients. Substage A (low risk) and Substage B (high risk) are assigned on the basis of a non-anatomic risk factor scoring system: \n\n\n**Age**\n* Score 0: Age less than 40 \n* Score 1: Age equal to or greater than 40 \n \n**Antecedent Pregnancy**\n* Score 0: Hydatidiform mole \n* Score 1: Abortion \n* Score 2: Term pregnancy \n \n**Interval Months from Index Pregnancy**\n* Score 0: Less than 4 months\n* Score 1: 4-6 months \n* Score 2: 7-12 months \n* Score 4: More than 12 months \n \n**Pretreatment Serum human chorionic gonadotropin (hCG) (IU/ml)**\n* Score 0: Less than 10 to 3rd power (1,000)\n* Score 1: 10 to 3rd power to less than 10 to 4th power (1,000 to less than 10,000) \n* Score 2: 10 to 4th power to less than 10 to 5th power (10,000 to less than 100,000) \n* Score 4: Equal to or greater than 10 to 5th power (100,000 or greater) \n \n**Largest Tumor Size, Including Uterus**\n* Score 0: Less than 3 cm\n* Score 1: 3 cm to 5 cm\n* Score 2: Equal to or greater than 5 cm\n \n**Sites of Metastases**\n* Score 0: Lung only or none\n* Score 1: Spleen, kidney\n* Score 2: Gastrointestinal tract\n* Score 4: Liver, brain \n \n**Number of Metastases Identified**\n* Score 0: 0\n* Score 1: 1-4\n* Score 2: 5-8\n* Score 4: Greater than 8 \n \n**Previous Failed Chemotherapy**\n* Score 2: Single drug\n* Score 4: 2 or more drugs\n\n**Note 2:** Clinician scoring is recommended, but the score may be assigned if clinician scoring is unavailable.\n\n**Note 3:** Sum the score of the prognostic risk factors to determine the final Prognostic Scoring Index. If any one of the factors is unknown, do not assign score, unless low risk or high risk can be determined with the information available.", - "last_modified" : "2018-05-14T21:29:00.825Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Clinician stated no risk factors" ], [ "010", "Clinician stated low risk \n(Prognostic score of 6 or less)" ], [ "050", "Stated to be substage A, but score not specified" ], [ "110", "Clinician stated high risk \n(Prognostic score of 7 or greater or NOS)" ], [ "150", "Stated to be substage B, but score not specified" ], [ "200", "Clinician stated risk factors present, but unknown whether low or high risk" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jav.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jav.json deleted file mode 100644 index 5a50528f7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jav.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jav", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Prostatic Specific Antigen (PSA) Lab Value", - "notes" : "**Note 1:** PSA is used in conjunction with anatomic extent of disease and Gleason score to distinguish among stage I, stage IIA, and stage IIB for TNM 7th edition staging.\n\n**Note 2:** The same laboratory test should be used to record information in **Site-Specific Factor 1, Prostatic Specific Antigen (PSA) Lab Value** and **Site-Specific Factor 2, Prostatic Specific Antigen (PSA) Interpretation**.\n\n**Note 3:** Record to the nearest tenth in nanograms/milliliter (ng/ml) the highest PSA lab value documented in the medical record prior to diagnostic biopsy of prostate and treatment. The lab value may be recorded in the lab report, history and physical, or clinical statement in the pathology report, etc. \n* For example, code a PSA of 20.0 ng/ml as 200. A lab value expressed in micrograms per liter (ug/L) is equivalent to the same value expressed in nanograms per milliliter (ng/ml)\n\n**Note 4:** A discrepancy between the PSA documented in the lab report and the PSA documented by the clinician may arise due the clinician adjusting the PSA value. Certain medications for benign prostatic hypertrophy (BPH) decrease the PSA. \n* Therefore, ONLY if there is documentation by a clinician within the medical record of an adjusted PSA value, record the adjusted value. The registrar does not adjust the PSA value based on BPH medication use \n* If there is no documentation by a clinician within the medical record of an adjusted PSA value, record the PSA value provided. The fact that an adjusted PSA value is being recorded should be documented in a text field", - "last_modified" : "2018-05-14T21:29:00.657Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001", "0.1 or less nanograms/milliliter (ng/ml)\n(Exact value to nearest tenth of ng/ml)" ], [ "002-979", "0.2 - 97.9 ng/ml\n(Exact value to nearest tenth of ng/ml)" ], [ "980", "98.0 ng/ml or greater" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbd.json deleted file mode 100644 index ec0130c73..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Invasion Beyond Capsule", - "notes" : "**Note 1:** Information about invasion beyond the capsule is collected in T as an element in anatomic staging. It is also collected in this field as it may have an independent effect on prognosis.\n\n**Note 2:** Record the location of invasion beyond capsule as documented in the pathology report. \n* Assign code 000 if surgical resection of the primary site is performed, the pathology report is available for review, and invasion beyond capsule is not mentioned", - "last_modified" : "2018-05-14T21:29:00.328Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Invasion beyond capsule not present/not identified" ], [ "010", "Lateral invasion: \n Perinephric fat" ], [ "020", "Medial invasion: \n Renal sinus \n Perisinus fat" ], [ "030", "020 + 010\n \nMedial invasion plus lateral invasion \nRenal sinus/perisinus fat invasion plus perinephric fat invasion" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Invasion beyond capsule, NOS" ], [ "998", "No surgical resection of primary site" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbh.json deleted file mode 100644 index 26e46c410..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbh", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1:** The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis). \n* Use code 987 for any in situ case.\n\n**Note 2:** Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. \n* If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it. \n* Do not attempt to code FIGO stage based only on T, N, and M. \n* If you cannot make a determination of stage based on the previous information, use code 999.", - "last_modified" : "2018-05-14T21:29:00.930Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage l [NOS]" ], [ "110", "FIGO Stage lA" ], [ "120", "FIGO Stage 1B" ], [ "200", "FIGO Stage ll [NOS]" ], [ "210", "FIGO Stage IIA" ], [ "220", "FIGO Stage IIB" ], [ "300", "FIGO Stage III [NOS]" ], [ "310", "FIGO Stage IIIA" ], [ "320", "FIGO Stage IIIB" ], [ "330", "FIGO Stage IIIC" ], [ "402", "FIGO Stage IV [NOS]" ], [ "406", "FIGO Stage IVA" ], [ "410", "FIGO Stage IVB" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbj.json deleted file mode 100644 index ef36da604..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Ki-67/MIB-1 Labeling Index (LI): Ophthalmic", - "notes" : "**Note 1:** Ki-67 antigen is a nuclear protein, expressed by cells in all phases of the active cell cycle (G1, S, G2, and M phase) and absent in resting cells (G0 phase). Tumor cells with positive staining for Ki-67 antibodies are actively growing or proliferating. The fraction of Ki-67-positive tumor cells (the Ki-67 labeling index, or LI) may correlate with the clinical course of cancer. The value is expressed as the percentage of carcinoma cells in the tissue sample with positive immunohistochemical staining for the Ki-67 protein. The staining may be performed with the MIB-1 monoclonal antibody, so the test may be referred to as either Ki-67 or MIB-1\n\n**Note 2:** Code the LI fraction percentage using Ki-67 or MIB-1 when it is available in the pathology report for the primary tumor. The Ki-67 or MIB-1 LI may also be called the growth fraction or proliferative fraction.\n\n**Note 3:** Record the LI as an exact whole number (000-100). For example\n\n* If the LI level is recorded by the pathologist as 15%, assign code 015\n* If the percentage is documented as 13.7%, round up to 14% and assign code 014\n* If the percentage is documented as 13.2%, round down to 13% and assign code 013 \n* If the percentage is documented as less than 0.5%, round down to 0% and code 000 \n* If the percentage is documented as greater than 0.5% and less than 1%, round up to 1% and code as 001\n\n**Note 4:** In the absence of a specific percentage value, use codes 110-140 for a stated range of the LI, or codes 991-993 for an interpretation of the LI.", - "last_modified" : "2018-05-14T21:29:01.440Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000-100", "Percentage of Ki-67 growth fraction\n(Exact labeling index (LI) rounded to nearest percent)\n\nExamples:\n 000 0.2%\n 001 1%\n 010 10%\n 014 13.7%\n 055 55.2%" ], [ "110", "Stated as Ki-67 growth fraction less than or equal to 5%" ], [ "120", "Stated as Ki-67 growth fraction greater than 5% or less than or equal to 10%" ], [ "130", "Stated as Ki-67 growth fraction greater than 10%,or less than or equal to 20%" ], [ "140", "Stated as Ki-67 growth fraction greater than 20% or less than or equal to 50%" ], [ "150", "Stated as Ki-67 growth fraction greater than 50%" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Stated as low proliferation rate" ], [ "992", "Stated as increased proliferation rate" ], [ "993", "Stated as high proliferation rate" ], [ "997", "Ki-67 growth fraction study performed, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbk.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbk.json deleted file mode 100644 index 092660450..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbk", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Tumor Size", - "notes" : "**Note 1:** Code the largest dimension of the tumor. Record the actual measurement in tenths of millimeters. \n\n**Note 2:** Code the specific tumor size as stated in the medical record. Use code 991 or 992 if the physician's statement about T value is the only information available about the size of the tumor.", - "last_modified" : "2018-05-14T21:29:00.049Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "00.1 - 97.9 millimeters (mm) \n(Largest tumor dimension to nearest tenth of mm)\n\nExamples:\n 001 0.1 mm \n 010 1 mm\n 042 4.2 mm\n 100 10 mm, 1 centimeter (cm)\n 103 10.3 mm" ], [ "980", "98.0 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microinvasion\nMicroscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 5 mm\"\n\nStated as T1 with no other information on size" ], [ "992", "Described as \"greater than 5 mm\"\n\nStated as T2 with no other information on size" ], [ "999", "Unknown; size not stated\nSize of tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbl.json deleted file mode 100644 index 3548ad6c4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbl", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Measured Thickness (Depth) for Squamous Cell Carcinoma", - "notes" : "**Note 1:** Code measured thickness (depth) of tumor, not size, diameter, or any other measurement. Record actual measurement to nearest hundredth of millimeter (mm) from pathology report.\n\n**Note 2:** Record only for squamous cell carcinoma of skin of eyelid. \n* For other histologies use code 987, not applicable", - "last_modified" : "2018-05-14T21:29:01.450Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "0.01 - 9.79 millimeters (mm)\n(Exact depth to nearest hundredth of mm)\n\nExamples:\n 001 0.01 mm\n 002 0.02 mm\n 010 0.1 mm\n 074 0.74 mm\n 100 1 mm\n 105 1.05 mm\n 979 9.79 mm" ], [ "980", "9.80 mm or larger" ], [ "987", "Not applicable, not squamous cell carcinoma of skin of eyelid" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microinvasion\nMicroscopic focus or foci only and no depth given" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbp.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbp.json deleted file mode 100644 index b19cd9548..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbp.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbp", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1:** The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis) for the fallopian tube. \n* Use code 987 for any in situ case\n\n**Note 2:** Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. \n* If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it \n* Do not attempt to code FIGO stage based only on T, N, and M\n* If you cannot make a determination of stage based on the previous information, use code 999, stage unknown", - "last_modified" : "2018-05-14T21:29:00.864Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage I [NOS]" ], [ "120", "FIGO Stage IA" ], [ "150", "FIGO Stage IB" ], [ "170", "FIGO Stage IC" ], [ "200", "FIGO Stage II [NOS]" ], [ "220", "FIGO Stage IIA" ], [ "250", "FIGO Stage IIB" ], [ "270", "FIGO Stage IIC" ], [ "300", "FIGO Stage III [NOS]" ], [ "320", "FIGO Stage IIIA" ], [ "350", "FIGO Stage IIIB" ], [ "370", "FIGO Stage IIIC" ], [ "400", "FIGO Stage IV" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbq.json deleted file mode 100644 index 08cc52c80..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1:** The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis) for vulvar cancer. \n* Use code 987 for in situ cases\n\n**Note 2:** Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. \n* If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it\n* Do not attempt to code FIGO stage based only on T, N, and M\n* If you cannot make a determination of stage based on the previous information, use code 999, stage unknown", - "last_modified" : "2018-05-14T21:29:01.112Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage I" ], [ "200", "FIGO Stage II" ], [ "300", "FIGO Stage III" ], [ "400", "FIGO Stage IV [NOS]" ], [ "410", "FIGO Stage IVA" ], [ "420", "FIGO Stage IVB" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive, noninvasive)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbt.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbt.json deleted file mode 100644 index 03bf73a77..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbt.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbt", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "JAK2 (also known as Janus Kinase 2 and JAK2 Exon 12)", - "notes" : "**Note 1:** Janus Kinase 2 (JAK2, JAK 2)is a gene mutation that increases susceptibility to several myeloproliferative neoplasms (MPNs). Testing for the JAK2 mutation is done on whole blood. Nearly all people with polycythemia vera and about half of those with essential thrombocythemia and primary myelofibrosis have the mutation.\n\n**Note 2:** JAK2 is used primarily for the following histologies: Polycythemia Vera, Essential Thrombocytopenia, and Primary Myelofibrosis. Its usage continues to increase and may be used for other histologies in the future. Record JAK2 for any hematopoietic/reticuloendothelial disease even if it is not one of these three specific histologies.\n\n**Note 3:** If JAK2 test result is positive, NOS, use code 850.", - "last_modified" : "2018-05-14T21:29:01.054Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "JAK-2 result stated as negative" ], [ "010", "JAK2 positive for mutation V617F in exon 14" ], [ "020", "JAK2 positive for mutation of exon 12" ], [ "800", "JAK2 positive for other specified mutation" ], [ "810", "JAK2 positive for more than one mutation" ], [ "850", "JAK2 positive NOS; specific mutation(s) not stated" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbv.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbv.json deleted file mode 100644 index 76ba8eb7e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbv.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbv", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1:** The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis) for cervix cancer. \n* Use code 987 for Cervical intraepithelial neoplasia (CIN) Grade III or In situ cases\n\n**Note 2:** Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. \n* If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it\n* Do not attempt to code FIGO stage based only on T, N, and M\n* If you cannot make a determination of stage based on the previous information, use code 999, stage unknown", - "last_modified" : "2018-05-14T21:29:01.099Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage I [NOS]" ], [ "110", "FIGO Stage IA [NOS]" ], [ "111", "FIGO Stage IA1" ], [ "112", "FIGO Stage IA2" ], [ "120", "FIGO Stage IB [NOS]" ], [ "121", "FIGO Stage IB1" ], [ "122", "FIGO Stage IB2" ], [ "200", "FIGO Stage II [NOS]" ], [ "210", "FIGO Stage IIA [NOS]" ], [ "211", "FIGO Stage IIA1" ], [ "212", "FIGO Stage IIA2" ], [ "220", "FIGO Stage IIB" ], [ "300", "FIGO Stage III [NOS]" ], [ "310", "FIGO Stage IIIA" ], [ "320", "FIGO Stage IIIB" ], [ "400", "FIGO Stage IV [NOS]" ], [ "410", "FIGO Stage IVA" ], [ "420", "FIGO Stage IVB" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive)\nCervical intraepithelial neoplasia (CIN) Grade III" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbx.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbx.json deleted file mode 100644 index 559bd2440..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbx.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf1_jbx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Tumor Size - Second Largest Dimension", - "notes" : "**Note 1:**  According to AJCC tumor size is an important prognostic factor.  The three dimensions of tumor size (length, width and height) are also important to collect if documented in the patient record.  Record the largest dimension of tumor size in the field Tumor Size.  Record the second largest dimension of tumor size in Site-Specific Factor 1 and the smallest dimension of tumor size in Site-Specific Factor 2. (1)\n\n**Note 2:** Tumor size expressed as 4.0 centimeter (cm) x 3.0 cm x 2.0 cm is recorded as follows:\n\n* Tumor Size: 040\n* Site-Specific Factor 1: 030 \n* Site-Specific Factor 2: 020 \n\nTumor size expressed as \"greater than 8 cm\" is recorded as follows: \n\n* Tumor Size: 997\n* Site-Specific Factor 1: 999\n* Site-Specific Factor 2: 999", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) *AJCC Cancer Staging Manual (7th ed.)*. New York; London: Springer, pg. 289", - "last_modified" : "2018-05-14T21:29:01.521Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "001 - 979 millimeters (mm) \n(Exact size to nearest millimeter mm)" ], [ "980", "980 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 8 cm\" or \"between 5 cm and 8 cm\"" ], [ "997", "Described as \"greater than 8 cm\"" ], [ "999", "Unknown; second dimension of size not stated\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jby.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jby.json deleted file mode 100644 index baed12863..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jby.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jby", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Measured Thickness (Depth)", - "notes" : "**Note 1:** Code measured thickness (depth) of tumor, not size or diameter. Record actual measurement in hundredths of millimeter (mm) from the pathology report.\n\n**Note 2:** Use code 991, 993, or 996 if the tumor is resected and the only information about depth is the physician's assignment of a stage value.\n\n**Note 3:** Use code 998 if there is no resection of the primary site tumor.", - "last_modified" : "2018-05-14T21:29:00.054Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "0.01 - 9.79 millimeters (mm)\n(Exact measurement to nearest hundredth of mm)\n\nExamples:\n 001 0.01 mm\n 002 0.02 mm\n 010 0.10 mm\n 074 0.74 mm\n 100 1.00 mm\n 105 1.05 mm\n 979 9.79 mm" ], [ "980", "9.80 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Less than 0.5 mm\nMicroinvasion; microscopic focus or foci only\n\nStated as pathologic T1a with no other information on size, tumor resected \nStated as pathologic T2a with no other information on size, tumor resected" ], [ "992", "Described as \"less than 0.8 mm\"" ], [ "993", "Described as \"greater than 0.5 mm\"\n\nStated as pathologic T1b with no other information on size, tumor resected\nStated as pathologic T2b with no other information on size, tumor resected" ], [ "994", "Described as \"greater than 0.8 mm\"" ], [ "995", "Described as \"less than 1.5 mm\"" ], [ "996", "Described as \"greater than 1.5 mm\"\nStated as pathologic T1c with no other information on size, tumor resected\nStated as pathologic T2c with no other information on size, tumor resected" ], [ "998", "No resection of primary site tumor" ], [ "999", "Unknown; size not stated; Not documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbz.json deleted file mode 100644 index bf7450884..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jbz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jbz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1:** The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis). \n* Use code 987 for any in situ case\n\n**Note 2:** Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. \n* If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it\n* Do not attempt to code FIGO stage based only on T, N, and M\n* If you cannot make a determination of stage based on the previous information, use code 999, stage unknown", - "last_modified" : "2018-05-14T21:29:01.079Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage l [NOS]" ], [ "110", "FIGO Stage lA" ], [ "120", "FIGO Stage IB" ], [ "200", "FIGO Stage ll" ], [ "300", "FIGO Stage lll [NOS]" ], [ "310", "FIGO Stage IIIA" ], [ "320", "FIGO Stage IIIB" ], [ "330", "FIGO Stage IIIC [NOS]" ], [ "331", "FIGO Stage IIIC1" ], [ "332", "FIGO Stage IIIC2" ], [ "400", "FIGO Stage IV [NOS]" ], [ "410", "FIGO Stage IVA" ], [ "420", "FIGO Stage IVB" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jca.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jca.json deleted file mode 100644 index 5145a0ff1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jca.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jca", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1:** The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis). \n* Use code 987 for any in situ case\n\n**Note 2:** Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. \n* If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it\n* Do not attempt to code FIGO stage based only on T, N, and M\n* If you cannot make a determination of stage based on the previous information, use code 999, stage unknown", - "last_modified" : "2018-05-14T21:29:01.024Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage l [NOS]" ], [ "120", "FIGO Stage lA" ], [ "130", "FIGO Stage 1B" ], [ "140", "FIGO Stage 1C" ], [ "200", "FIGO Stage ll [NOS]" ], [ "210", "FIGO Stage IIA" ], [ "220", "FIGO Stage IIB" ], [ "300", "FIGO Stage III [NOS]" ], [ "310", "FIGO Stage IIIA" ], [ "320", "FIGO Stage IIIB" ], [ "330", "FIGO Stage IIIC" ], [ "402", "FIGO IV [NOS]" ], [ "405", "FIGO Stage IVA" ], [ "410", "FIGO Stage IVB" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jce.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jce.json deleted file mode 100644 index 8b298aa1a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jce.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jce", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Human Papilloma Virus (HPV) Status", - "notes" : "**Note 1:** There is evidence that HPV plays a role in the pathogenesis of some cancers. HPV testing may be performed for prognostic purposes; testing may also be performed on metastatic sites to aid in determination of the primary site.\n\n**Note 2:** Record the results of any HPV testing performed on pathologic specimens from the primary tumor or a metastatic site, including lymph nodes. Do not record the results of blood tests or serology.\n\n**Note 3:** HPVs are divided into high-risk and low-risk types. \n\n**A.** The highest risk HPV types are types 16 and 18. Other high-risk types are 26, 31, 33, 35, 36, 45, 51, 52, 53, 56, 58, 59, 66, 67, 68, 69, 70, 73, 82, and 85. The HPV vaccine is designed to protect against types 16 and 18 (associated with cervical cancer) and types 6 and 11 (associated with genital warts)\n**B.** Low-risk types are 6, 11, 32, 34, 40, 42, 44, 54, 61, 62, 64, 71, 72, 74, 81, 83, 84, 87, and 89\n\n**Note 4:** High-risk may be abbreviated hrHPV or HR-HPV.\n\n**Note 5:** Some tests for HPV, such as a hybrid capture test, may only report negative or positive results for high-risk HPV without identifying types. Use codes 000 or 060, respectively, to report those test results.\n\n**Note 6:** Codes 010-050 are hierarchical; use the highest code that applies.", - "last_modified" : "2018-05-14T21:29:02.638Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "HPV negative for high-risk and low-risk types\nHPV negative for high-risk types with no mention of low-risk types\nNegative, NOS" ], [ "010", "HPV positive for low-risk types only" ], [ "020", "HPV positive for specified high risk type(s) other than types 16 or 18" ], [ "030", "HPV positive for high-risk type 16 \nWITHOUT positive results for high-risk type 18 or positivity of high-risk type 18 unknown" ], [ "040", "HPV positive for high-risk type 18 \nWITHOUT positive results for high-risk type 16 or positivity of high-risk type 16 unknown" ], [ "050", "HPV positive for high-risk types 16 AND 18" ], [ "060", "HPV positive for high-risk type(s), NOS, high-risk type(s) not stated" ], [ "070", "HPV positive, NOS, risk and type(s) not stated" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)\nNo pathologic specimen available for HPV testing" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jcg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jcg.json deleted file mode 100644 index 6804629bf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jcg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jcg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Carcinoembryonic Antigen (CEA)", - "notes" : "**Note:** Record the interpretation of the highest CEA test results obtained prior to treatment.  Use the interpretation for the lab value recorded in Site-Specific Factor 3.", - "last_modified" : "2018-05-14T21:29:03.243Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined if positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpa.json deleted file mode 100644 index 010b98475..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Size of Lymph Nodes", - "notes" : "**Note:** Code the largest diameter, whether measured clinically or pathologically, of any involved regional lymph node(s). \n* Do not code the size of any distant lymph node(s)", - "last_modified" : "2018-05-14T21:29:03.720Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involved regional nodes" ], [ "001-979", "001 - 979 millimeters (mm)\n(Exact size of lymph node to nearest mm)" ], [ "980", "980 mms or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm\" or \"greater than 1 cm\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm\" or \"greater than 2 cm\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm\" or \"greater than 3 cm\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm\" or \"greater than 4 cm\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 6 cm\" or \"greater than 5 cm\" or \"between 5 cm and 6 cm\"" ], [ "997", "Described as \"more than 6 cm\"" ], [ "999", "Regional lymph node(s) involved, size not stated\nUnknown if regional lymph nodes involved\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpd.json deleted file mode 100644 index 04947d29c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "WHO/ISUP Grade", - "notes" : "**Note 1:** Code the applicable World Health Organization (WHO) or International Society of Urological Pathology (ISUP) grade as documented in the pathology report for urothelial carcinomas only. Information about urothelial histology and grade may be taken from any section of the pathology report where documented, such as a microscopic description, synoptic template, or final diagnosis. \n* If the tumor is of mixed histology including urothelial carcinoma, code grade as specified for the urothelial component\n\n**Note 2:** Code the WHO/ISUP grade documented in the pathology report prior to neoadjuvant treatment.\n\n**Note 3:** If the term low grade (LG) or high grade (HG) is indicated for a urothelial primary, assume it is a WHO/ISUP grade.\n\n**Note 4:** If the tumor morphology does not include a urothelial component, use code 987.\n\n**Note 5:** If a grade system other than WHO/ISUP is documented for a urothelial primary, code 999.", - "last_modified" : "2018-05-14T21:28:58.491Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Low grade urothelial carcinoma" ], [ "020", "High grade urothelial carcinoma" ], [ "987", "Not applicable: Not a urothelial morphology" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No pathologic examination of primary site" ], [ "999", "Unknown WHO/ISUP grade\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpe.json deleted file mode 100644 index 8462690df..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpe", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Carbohydrate Antigen 19-9 (CA 19-9) Lab Value", - "notes" : "**Note 1:** Carbohydrate Antigen 19-9 (CA 19-9) is a tumor marker that has value in the management of certain malignancies.\n\n**Note 2:** Record to the nearest tenth in Units/milliliter (U/ml), the highest CA 19-9 lab value documented in the medical record prior to treatment. \n\n* For example, code a pretreatment CA 19-9 value of 60 U/ml as 600\n\n**Note 3:** Code 000 is reserved for exactly 0.0 U/ml (no measurable amount of CA 19 9). Do not round tiny values down to 0.0 U/ml; any measured value less than or equal to 0.1 U/ml should be coded 001. \n\n* For code 001, also round 0.11 - 0.14 U/ml down to 0.1 U/ml\n* For codes 002-979, round values to the nearest tenth of a U/ml\n\n**Note 4:** For an uncertain value, record the stated closest value. \n\n* For example, code a value stated as \"less than 0.5 U/ml\" as 005", - "last_modified" : "2018-05-14T21:29:02.447Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 Units/milliliter (U/ml) exactly" ], [ "001", "0.1 or less U/ml\nStated as less than 0.1 U/ml with no exact value" ], [ "002-979", "0.2 - 97.9 U/ml\n(Exact value to nearest tenth in U/ml)" ], [ "980", "98.0 or greater U/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information Not documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpf.json deleted file mode 100644 index b3e627ceb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Carcinoembryonic Antigen (CEA)", - "notes" : "**Note:** Record the interpretation of the highest CEA test results documented in the medical record based on information prior to treatment. The interpretation should be for the same laboratory test recorded in **Site-Specific Factor 3, Carcinoembryonic Antigen (CEA) Lab Value**.", - "last_modified" : "2018-05-14T21:29:03.149Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined if positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpj.json deleted file mode 100644 index 4f7310109..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Associated with HIV/AIDS", - "notes" : "**Note 1:** Autoimmune Deficiency Syndrome (AIDS) lymphomas are a late manifestation of Human Immunodeficiency Virus (HIV) infection and have unique clinical and pathologic features that differ from lymphomas in the general population. They have a preponderance for extranodal involvement, with central nervous system being the most common site.\n\n**Note 2:** HIV includes types I and II. Older terminology includes Human T Lymphotropic Virus -3 (HTLV-3) and Lymphadenopathy Associated Virus (LAV).", - "last_modified" : "2018-05-14T21:29:00.065Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Not associated with Human Immunodeficiency Virus (HIV)/Autoimmune Disease (AIDS)\nHIV negative" ], [ "010", "Associated with HIV/AIDS\nHIV positive" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpl.json deleted file mode 100644 index f9e94aca8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpl", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Measured Thickness (Depth), Breslow Measurement", - "notes" : "**Note 1:** Code MEASURED THICKNESS (Depth) of tumor (Breslow measurement), not size. Record actual measurement in hundredths of millimeters from the pathology report.\n\n**Note 2:** Code the greatest measured thickness from any procedure performed on the lesion, whether it is described as a biopsy or an excision. \n* For example, if a punch biopsy with a thickness of 0.50 mm is followed by a re-excision with a thickness of residual tumor of 0.20 mm, code 050\n* Do not add measurements together from different procedures", - "last_modified" : "2018-05-14T21:29:01.373Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "0.01 - 9.79 millimeters\n(Code exact measurement in HUNDREDTHS of millimeter) \n\nExamples:\n 001 0.01 millimeter\n 002 0.02 millimeters\n 010 0.1 millimeter\n 074 0.74 millimeters\n 100 1 millimeter\n 105 1.05 millimeters\n 979 9.79 millimeters" ], [ "980", "9.80 millimeters or larger \n" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Microinvasion; microscopic focus or foci only and no depth given\nNot documented in patient record\nUnknown; depth not stated" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpm.json deleted file mode 100644 index 78b0b4560..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpm.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ssf1_jpm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Grade for Sarcomas", - "notes" : "**Note 1:** Comprehensive grading of soft tissue sarcomas is strongly correlated with disease specific survival and incorporates differentiation, mitotic rate, and extent of necrosis. The grading system of the French Federation of Cancer Centers Sarcoma Group (FNCLCC) is preferred system.\n\n**Note 2:** Record the grade from any three-grade sarcoma grading system the pathologist uses prior to neoadjuvant treatment. \n* Do not code terms such as \"well differentiated\" or \"poorly differentiated\" in this field\n\n**Note 3:** In some cases, especially for needle biopsies, grade may be specified only as \"low grade\" or \"high grade\". Use code 100, which maps to G1, or 200, which maps to G3. \n* Codes 010-030 take priority over codes 100 and 200\n\n**Note 4:** The mapping of grade as shown in this table is used in the derivation of TNM 7th edition staging.", - "last_modified" : "2018-05-14T21:29:01.602Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "mapping_of_grade", - "name" : "Mapping of Grade", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "010", "Specified as Grade 1 [of 3]", "VALUE:1" ], [ "020", "Specified as Grade 2 [of 3]", "VALUE:2" ], [ "030", "Specified as Grade 3 [of 3]", "VALUE:3" ], [ "100", "Grade stated as low grade, NOS", "VALUE:1" ], [ "200", "Grade stated as high grade, NOS", "VALUE:3" ], [ "988", "Not applicable: Information not collected for this case", "VALUE:9" ], [ "998", "No histologic examination of primary site", "VALUE:9" ], [ "999", "Unknown or no information\nNot documented in patient record", "VALUE:9" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpo.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpo.json deleted file mode 100644 index 3f14497ed..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpo.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf1_jpo", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "World Health Organization (WHO) Grade Classification", - "notes" : "**Note 1:** The World Health Organization (WHO) classification system for tumors of the central nervous system combines tumor nomenclature with an associated grading system, so the actual histologic diagnosis directly correlates with the histologic grade of the tumor. \n* The histologic grade used for staging purposes is not the same code that is assigned as the differentiation code in the sixth digit of the ICD-O morphology code and recorded in the traditional registry Grade field.\n\n**Note 2:** Code the WHO grade classification as documented in the medical record. If a WHO grade is not documented, refer to the WHO grade instructions in Part I, Section II. For specific histologies, a WHO grade is automatically assigned. \n* See AJCC 7th edition Table 56.3 or MPH rules Brain Section Equivalent Terms and Definitions. (1), (2)\n\n**Note 3:** A WHO grade can only be assigned from a pathology report. \n* If the only diagnosis is clinical (imaging), code to 998 for no histologic examination of primary site done.", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) AJCC Cancer Staging Manual (7th ed.). New York; London: Springer, pg. 596\n\n(2) Johnson CH, Peace S, Adamo P, Fritz A, Percy-Laurry A, Edwards BK. The 2007 Multiple Primary and Histology Coding Rules. National Cancer Institute, Surveillance, Epidemiology and End Results Program. Bethesda, MD, 2007, , pgs. 69-76", - "last_modified" : "2018-05-14T21:29:01.324Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Grade I" ], [ "020", "Grade II" ], [ "030", "Grade III" ], [ "040", "Grade IV" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of primary site" ], [ "999", "Not documented in medical record\nUnknown; WHO grade not stated" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpp.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpp.json deleted file mode 100644 index 7e1928708..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpp.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpp", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Measured Thickness (Depth)", - "notes" : "**Note:** Code measured thickness (depth) of tumor (Breslow measurement), not size. Record the actual measurement in hundredths of millimeters (mm) from the pathology report.", - "last_modified" : "2018-05-14T21:29:01.761Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "0.01 - 9.79 millimeters (mm)\n(Exact measurement to nearest HUNDREDTH of mm) \n\nExamples:\n 001 0.01 mm\n 002 0.02 mm\n 010 0.1 mm\n 074 0.74 mm\n 100 1 mm\n 105 1.05 mm\n 979 9.79 mm" ], [ "980", "9.80 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microinvasion; microscopic focus or foci only and no depth given" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpr.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpr.json deleted file mode 100644 index 01faff0e3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpr.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpr", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Carbohydrate Antigen 125 (CA-125)", - "notes" : "**Note 1:** Carbohydrate Antigen 125 (CA-125), also known as cancer antigen 125, mucin 16, or MUC16, is a protein which in humans is encoded by the MUC16 gene. CA-125 is a tumor marker or biomarker that may be elevated in the blood of some patients with primary peritoneal carcinoma.\n\n**Note 2:** Record only the blood or serum CA-125 value for this data item. Do not record CA-125 test results based on fluid from the chest or abdominal cavity.\n\n**Note 3:** Record the CA-125 status prior to treatment.\n\n**Note 4:** Normal values may vary with patient age and from lab to lab. The typical human reference ranges are 0 to 35 micrograms per milliliter (ug/ml).", - "last_modified" : "2018-05-14T21:29:01.276Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpt.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpt.json deleted file mode 100644 index fc36b04a7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpt.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpt", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Measured Thickness (Depth)", - "notes" : "**Note 1:** Code measured thickness (depth) of tumor, not size. Depth for Merkel cell carcinoma of skin is similar to Breslow tumor depth in melanoma of the skin. \n* Record the actual measurement in tenths of millimeters (mm) from the pathology report\n\n**Note 2:** If tumor depth is noted on multiple specimens (two or more), record the greatest vertical or depth measurement noted on a single specimen; do not add measurements together. \n* Record in **Site-Specific Factor 19, Tumor Base Transection Status** that the tumor was transected \n\n**Note 3:** If tumor is in situ (pTis), code measured thickness as 999.", - "last_modified" : "2018-05-14T21:29:01.414Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "00.1 - 97.9 millimeters (mm) \n(Exact measurement to nearest TENTH of mm) \n\nExamples: \n 001 0.1 mm \n 002 0.2 mm \n 010 1 mm \n 074 7.4 mm \n 100 10 mm, 1 centimeter (cm) \n 105 10.5 mm \n 979 97.9 mm" ], [ "980", "98.0 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microinvasion Microscopic focus or foci only and no size given" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpu.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpu.json deleted file mode 100644 index 5c064010c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpu.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpu", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Size of Lymph Nodes", - "notes" : "**Note:** Code the largest diameter, whether measured clinically or pathologically, of any involved regional lymph node(s). Do not code the size of any distant lymph node(s).", - "last_modified" : "2018-05-14T21:29:03.668Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involved regional nodes" ], [ "001-979", "001 - 979 millimeters (mm)\n(Exact size of lymph node to nearest mm)" ], [ "980", "980 mms or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm\" or \"greater than 1 cm\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm\" or \"greater than 2 cm\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm\" or \"greater than 3 cm\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm\" or \"greater than 4 cm\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 6 cm\" or \"greater than 5 cm\" or \"between 5 cm and 6 cm\"" ], [ "997", "Described as \"more than 6 cm\"" ], [ "999", "Regional lymph node(s) involved, size not stated\nUnknown if regional lymph nodes involved\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpw.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpw.json deleted file mode 100644 index 2e14ebc0c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_jpw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_jpw", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Alpha Fetoprotein (AFP) Interpretation", - "notes" : "**Note:** Record the interpretation of the highest AFP test results documented in the medical record prior to treatment.  The interpretation should be for the same laboratory test recorded in **Site Specific Factor 3, Alpha Fetoprotein (AFP) Lab Value**.", - "last_modified" : "2018-05-14T21:29:02.794Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined if positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_sbh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf1_sbh.json deleted file mode 100644 index 287b12ec3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf1_sbh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf1_sbh", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF1", - "title" : "Site-Specific Factor 1", - "subtitle" : "Separate Tumor Nodules - Ipsilateral Lung", - "notes" : "**Note 1:** Information about separate tumor nodules in the ipsilateral lung (same lung) are collected in T as an element in anatomic staging. It is also collected in this field as it may have an independent effect on prognosis. See distant metastasis for separate tumor nodules in the contralateral lung.\n\n**Note 2:** Separate tumor nodules can be defined clinically (by imaging) and/or pathologically.\n\n**Note 3:** If separate tumor nodules are not mentioned in imaging and/or pathologic reports, use code 000.\n\n**Note 4:** For in situ tumors, code Site-Specific Factor 1 to 000.", - "last_modified" : "2018-05-14T21:29:01.641Z", - "definition" : [ { - "key" : "ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No separate tumor nodules noted" ], [ "010", "Separate tumor nodules in ipsilateral lung, same lobe" ], [ "020", "Separate tumor nodules in ipsilateral lung, different lobe" ], [ "030", "020 + 010\n\nSeparate tumor nodules, ipsilateral lung, same and different lobe" ], [ "040", "Separate tumor nodules, ipsilateral lung, unknown if same or different lobe" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if separate tumor nodules \nSeparate tumor nodules cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf20_sal.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf20_sal.json deleted file mode 100644 index 5e3da56ab..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf20_sal.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf20_sal", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF20", - "title" : "Site-Specific Factor 20", - "subtitle" : "Assessment of Positive Distant Metastases", - "notes" : "**Note 1:** Code the assessment method used for determining the presence of metastasis as coded in the Clinical M and Path M fields. \n* If there are no mets (cM0), this field must be coded 000\n\n**Note 2:** If multiple methods of assessments determined positive metastases, use the highest code that applies.", - "last_modified" : "2018-05-14T21:29:01.192Z", - "definition" : [ { - "key" : "ssf20", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No positive metastases identified" ], [ "005", "No clinical or radiographic evidence of distant metastasis, but deposits of molecularly or microscopically detected tumor cells in circulating blood, bone marrow or other non-regional nodal tissue that are 0.2 millimeters (mm) or less in a patient without symptoms or signs of metastasis" ], [ "010", "Physical examination or laboratory tests only" ], [ "020", "Radiography,imaging:\n Ultrasound (US)\n Computed tomography scan (CT)\n Magnetic resonance imaging (MRI)\n Positron emission tomography scan (PET)" ], [ "030", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "040", "Excisional biopsy or resection with microscopic confirmation" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf20_sra.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf20_sra.json deleted file mode 100644 index f4b5a735a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf20_sra.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf20_sra", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF20", - "title" : "Site-Specific Factor 20", - "subtitle" : "Tumor Infiltrating Lymphocytes (TIL)", - "notes" : "**Note 1:** Tumor infiltrating lymphocytes (TILs) are white blood cells that have migrated into a tumor from the bloodstream. They are believed to represent an immune reaction/response to the tumor cells. A brisk response may indicate a favorable prognosis.\n\n**Note 2:** Code the status of tumor infiltrating lymphocytes (TIL) in the primary tumor as documented in the pathology report.", - "last_modified" : "2018-05-14T21:29:01.659Z", - "definition" : [ { - "key" : "ssf20", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No tumor infiltrating lymphocytes (TIL) present" ], [ "010", "TIL present, non-brisk" ], [ "020", "TIL present, brisk" ], [ "030", "TIL present, NOS" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf21_sam.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf21_sam.json deleted file mode 100644 index 1f699baa8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf21_sam.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf21_sam", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF21", - "title" : "Site-Specific Factor 21", - "subtitle" : "Response to Neoadjuvant Therapy", - "notes" : "**Note:** Review the medical record for a specific statement by a physician about the response to neoadjuvant therapy. Do not try to interpret or infer a response based on other documentation in the medical record such as a description of residual tumor on the pathology report. \n\nUse code 999 if it is unknown if neoadjuvant therapy was given.", - "last_modified" : "2018-05-14T21:29:01.331Z", - "definition" : [ { - "key" : "ssf21", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Complete response (CR)" ], [ "020", "Partial response (PR)" ], [ "025", "Response noted but no mention if it was complete or partial" ], [ "030", "No response (NR)" ], [ "987", "Not applicable: Neoadjuvant therapy not given" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf21_srb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf21_srb.json deleted file mode 100644 index e923fcabf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf21_srb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf21_srb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF21", - "title" : "Site-Specific Factor 21", - "subtitle" : "Growth Pattern of Primary Tumor", - "notes" : "**Note:** Code the growth pattern of the primary tumor as documented by the pathologist.", - "last_modified" : "2018-05-14T21:29:01.658Z", - "definition" : [ { - "key" : "ssf21", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Circumscribed/nodular" ], [ "020", "Diffusely infiltrative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test performed, results not in chart\nTest performed, results not able to be interpreted" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf22_san.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf22_san.json deleted file mode 100644 index 20666459e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf22_san.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf22_san", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF22", - "title" : "Site-Specific Factor 22", - "subtitle" : "Multigene Signature Method", - "notes" : "**Note 1:** Multigene signatures or classifiers are assays of a panel of genes from a tumor specimen, intended to provide a quantitative assessment of the likelihood of response to chemotherapy and to evaluate prognosis or distant recurrence. \n* Oncotype DX and MammaPrint (also called MammoPrint) are two commercially available genomic tests\n\n**Note 2:** Code the type of test performed. The same test should be used to record information in **Site-Specific Factor 22, Multigene Signature Method** and **Site-Specific Factor 23, Multigene Signature Results**.\n\n**Note 3:** This information may not be available at diagnosis and may require follow-up with the physician.", - "last_modified" : "2018-05-14T21:29:01.329Z", - "definition" : [ { - "key" : "ssf22", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Oncotype DX" ], [ "020", "MammaPrint (MammoPrint)" ], [ "030", "Other" ], [ "040", "Test performed, type of test unknown" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf22_src.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf22_src.json deleted file mode 100644 index 717dc79b3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf22_src.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf22_src", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF22", - "title" : "Site-Specific Factor 22", - "subtitle" : "Profound Immune Suppression", - "notes" : "**Note 1:** Profound immune suppression may greatly increase the risk of developing Merkel cell carcinoma. Immune suppression is suppression of the body's immune system and its ability to fight infections and other diseases. Immune suppression may be deliberately induced with drugs, as in preparation for bone marrow or other organ transplantation, to prevent rejection of the donor tissue. It may also result from certain diseases such as Acquired Immune Deficiency Syndrome (AIDS) or lymphoma, and from the use of anti-cancer drugs.\n\n**Note 2:** Code the patient's history of profound immune suppression condition(s) as documented by the physician.", - "last_modified" : "2018-05-14T21:29:01.402Z", - "definition" : [ { - "key" : "ssf22", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No immune suppression condition(s)" ], [ "010", "Human Immunodeficiency Virus (HIV)/Acquired Immunodeficiency Syndrome (AIDS)" ], [ "020", "Solid organ transplant recipient" ], [ "030", "Chronic lymphocytic leukemia" ], [ "040", "Non-Hodgkin lymphoma" ], [ "050", "More than one of the above conditions" ], [ "060", "Other specified diagnosis resulting in profound immune suppression" ], [ "070", "Profound immune suppression present, diagnosis not recorded" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf23_sao.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf23_sao.json deleted file mode 100644 index fe243fe0e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf23_sao.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf23_sao", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF23", - "title" : "Site-Specific Factor 23", - "subtitle" : "Multigene Signature Results", - "notes" : "**Note 1:** The results for the Oncotype DX test are expressed as a percentage Recurrence Score ranging from 0 to 100, with risk assessment in the categories of low, intermediate, and high. \n\n* Record the score which can be found in the orange circle\n\n**Note 2:** The results for the MammaPrint test are expressed as low risk for distant recurrence and high risk for distant recurrence.\n\n**Note 3:** Code the score or results of the multigene signature assay recorded in **Site-Specific Factor 22, Multigene Signature Method**.  \n\n* Code the percentage score for Oncotype DX, if available, in preference to the risk assessment\n\n* Code the risk assessment for MammaPrint\n\n**Note 4:** This information may not be available at diagnosis and may require follow-up with the physician.", - "last_modified" : "2018-05-14T21:29:01.191Z", - "definition" : [ { - "key" : "ssf23", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000-100", "Score of 000 - 100\n(Actual score with leading zeroes to nearest whole percentage)" ], [ "200", "Low risk of recurrence (good prognosis)" ], [ "300", "Intermediate risk of recurrence" ], [ "400", "High risk of recurrence (poor prognosis)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf24_sap.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf24_sap.json deleted file mode 100644 index 11d417e63..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf24_sap.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf24_sap", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF24", - "title" : "Site-Specific Factor 24", - "subtitle" : "Paget Disease", - "notes" : "**Note 1:** Record any mention of Paget disease, whether clinical or pathologic, giving priority to the pathologic assessment. Information may be taken from the gross or microscopic section of the pathology report. Interpret a negative exam of the nipple as Paget disease not present.\n\n**Note 2:** Use code 020 when pathology report states pagetoid involvement of the nipple. \n* Do not use code 020 if report states pagetoid involvement of ducts or lobules\n\n**Note 3:** Use code 999 (Unknown) when no examination of the nipple, clinical or pathologic, is available in the medical record.", - "last_modified" : "2018-05-14T21:29:01.321Z", - "definition" : [ { - "key" : "ssf24", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Paget disease absent" ], [ "010", "Paget disease present" ], [ "020", "Stated as pagetoid involvement of nipple" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaa.json deleted file mode 100644 index 803e6aeac..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kaa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Ulceration", - "notes" : "**Note 1:** Melanoma ulceration is the absence of an intact epidermis overlying the primary melanoma based upon histopathological examination.\n\n**Note 2:** If there is no documentation or no mention of ulceration in the pathology report, assume ulceration is not present and code 000.", - "last_modified" : "2018-05-14T21:29:01.647Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No ulceration present" ], [ "010", "Ulceration present" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kab.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kab.json deleted file mode 100644 index 8bc34d79d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kab.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kab", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Prostatic Specific Antigen (PSA) Interpretation", - "notes" : "**Note 1:** Record the interpretation for the highest PSA lab value recorded in the medical record prior to diagnostic biopsy of prostate and treatment. This lab value may be recorded in the lab report, history and physical, or clinical statement in the pathology report. \n\n**Note 2:** The interpretation should be for the same laboratory test recorded in **Site-Specific Factor 1, Prostatic Specific Antigen (PSA) Lab Value**.", - "last_modified" : "2018-05-14T21:29:00.062Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kac.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kac.json deleted file mode 100644 index 6ae38c785..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kac.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kac", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Progesterone Receptor (PR) Assay", - "notes" : "**Note 1:**\n\n**A.** In cases where PR is reported on more than one tumor specimen (except as noted in B, D, and E), record the highest value. \n* If any sample is positive, record as positive\n\n**B.** If neoadjuvant therapy is given, record the assay from tumor specimens prior to neoadjuvant therapy.\n**C.** If neoadjuvant therapy is given and there are no PR results from pre-treatment specimens, report the findings from post-treatment specimens.\n**D:** If the patient is PR positive and node negative, a multigene test such as OncotypeDX may be performed, in which case another PR test will be performed. \n* Do not record the results of that test in this field. Record only the results of the test which made the patient eligible to be given the multigene test\n\n**E:** If PR is positive on an in situ specimen and PR is negative on all tested invasive specimens, code PR as negative (code 020).\n\n**Note 2:** In general, progesterone receptor (PR) assay is only performed on one sample. In cases where the assay is performed on more than one sample, there is not necessarily any reason to think that the most accurate is the test done on the \"largest\" tumor specimen. Clinically, treatment will be based on any positive test; with the benefit and minimal toxicity of hormonal therapy, most patients will be given the \"benefit of the doubt\" and treated with hormonal therapy if any PR test is positive. See exception in Note 1E.\n\n**Note 3:** The most recent interpretation guidelines for PR do not allow for a borderline result. Therefore, code 030 will rarely be used. If 1% or greater cells stain positive, the test results are classified as positive. If less than 1% of cells stain positive, the results are classified as negative.", - "last_modified" : "2018-05-14T21:29:01.243Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "996", "Test ordered, results not interpretable" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaj.json deleted file mode 100644 index 1fe90dc0d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kaj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Depth of Renal Parenchymal Invasion", - "notes" : "**Note:** Record the depth of invasion into the renal parenchyma as documented in the pathology report. \n* Assign code 000 if surgical resection of the primary site (renal pelvis or ureter) is performed, the pathology report is available for review, and renal parenchymal invasion is not mentioned", - "last_modified" : "2018-05-14T21:29:00.295Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Renal parenchymal invasion not present/not identified " ], [ "001-979", "1 - 979 millimeters (mm) \n(Exact depth of renal parenchymal invasion to nearest mm)" ], [ "980", "980 mm or greater" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Renal parenchymal invasion present, depth unknown" ], [ "998", "No surgical resection of primary site" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kak.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kak.json deleted file mode 100644 index f32449a87..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kak.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf2_kak", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Tumor Weight", - "notes" : "**Note 1:** As stated in the College of American Pathologists (CAP) protocol for adrenal gland, \"Accurate weights of adrenal cortical neoplasms are important. Although tumor mass cannot be used as the sole criterion for malignancy, adrenal cortical neoplasms weighing less than 50 grams are almost always benign, whereas the weight of malignant tumors is usually greater than 100 grams. Weight is a reflection of gland weight rather than tumor weight because, in actuality, following surgical excision, the tumor is not dissected from the gland proper and weighed separately.\"\n\n**Note 2:** Record the tumor weight (gland weight) to the nearest gram as documented in the pathology report.", - "footnotes" : "(1) College of American Pathologists (2012). Protocol for the Examination of Specimens From Patients With Carcinoma of the Adrenal Gland, ", - "last_modified" : "2018-05-14T21:29:01.187Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "1 - 979 grams \n(Exact tumor weight (gland weight) to nearest gram)" ], [ "980", "980 grams or greater" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No surgical resection of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kal.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kal.json deleted file mode 100644 index fbf532938..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kal.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ssf2_kal", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Specific Location of Tumor", - "last_modified" : "2018-05-14T21:29:03.116Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Fundus - Anterior Wall" ], [ "020", "Fundus - Posterior Wall" ], [ "030", "Fundus, NOS" ], [ "040", "Body - Anterior Wall" ], [ "050", "Body - Posterior Wall" ], [ "060", "Body - Lesser Curvature" ], [ "070", "Body - Greater Curvature" ], [ "080", "Body, NOS" ], [ "090", "Antrum - Anterior Wall" ], [ "100", "Antrum - Posterior Wall" ], [ "110", "Antrum - Lesser Curvature" ], [ "120", "Antrum - Greater Curvature" ], [ "130", "Antrum, NOS" ], [ "140", "Pylorus" ], [ "150", "Overlapping Lesion Anterior wall of stomach, NOS Posterior wall of stomach, NOS" ], [ "160", "Lesser curvature, NOS Medial curvature, NOS" ], [ "170", "Greater curvature, NOS Lateral curvature, NOS" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\n Stomach, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kao.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kao.json deleted file mode 100644 index 73e011ef1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kao.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kao", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Size of Metastasis in Lymph Nodes", - "notes" : "**Note:** Code the size of the largest metastasis in a lymph node as documented in the pathology report, not the size of the lymph node. If the size of the metastasis is not documented, code the size of the largest involved node as documented pathologically or clinically, with pathology taking priority. \n\n* Do not code the size of any node(s) coded in distant metastasis", - "last_modified" : "2018-05-14T21:28:59.999Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph nodes involved" ], [ "001-979", "1 - 979 millimeter (mm) \n(Exact size of lymph node metastasis to nearest mm)" ], [ "980", "980 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm\" or \"greater than 1 cm\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm\" or \"greater than 2 cm\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm\" or \"greater than 3 cm\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm\" or \"greater than 4 cm\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 6 cm\" or \"greater than 5 cm\" or \"between 5 cm and 6 cm\"" ], [ "997", "Described as \"more than 6 cm\"" ], [ "999", "Regional lymph node(s) involved, size not stated\nCommon iliac node involvement only\nUnknown if regional lymph node(s) involved\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kar.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kar.json deleted file mode 100644 index eddbae951..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kar.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kar", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Vein Involvement", - "notes" : "**Note 1:** Information about vein involvement is collected in T as an element in anatomic staging.  It is also collected in this field as it may have an independent effect on prognosis.\n\n**Note 2:** Record the involvement of specific named veins as documented in the pathology report. Do not code invasion of small unnamed vein(s) of the type collected as lymph-vascular invasion. Lymph-vascular invasion is usually only seen microscopically. \n* Assign code 000 if surgical resection of the primary site is performed, the pathology report is available for review, and involvement of these specified veins is not mentioned", - "last_modified" : "2018-05-14T21:29:00.348Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Vein involvement not present/not identified" ], [ "010", "Involvement of renal vein only" ], [ "020", "Involvement of inferior vena cava (IVC) below the diaphragm only" ], [ "030", "Involvement of IVC above the diaphragm only" ], [ "040", "Involvement of IVC, NOS only" ], [ "050", "020 + 010 \n\nInvolvement of IVC below the diaphragm plus involvement of renal vein" ], [ "060", "030 + 010 \n \nInvolvement of IVC above the diaphragm plus involvement of renal vein" ], [ "070", "040 + 010\n\nInvolvement of IVC, NOS plus involvement of renal vein" ], [ "080", "030 + 020 \n\nInvolvement of IVC above the diaphragm plus involvement of IVC below the diaphragm" ], [ "090", "030 + 020 + 010 \n\nInvolvement of IVC above the diaphragm plus involvement of IVC below the diaphragm plus involvement of renal vein" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No surgical resection of primary site" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kas.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kas.json deleted file mode 100644 index 12daf91c8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kas.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf2_kas", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Specific Location of Tumor", - "notes" : "**Note 1:** The location of a primary squamous cell carcinoma of the esophagus is a staging element for AJCC 7 staging. The location of the primary cancer site is defined as the position of the upper (proximal) edge of the tumor in the esophagus. The location of the tumor in the esophagus provides important information about the tumor's relation to adjacent structures. The location of the proximal edge of the tumor within the esophagus may be described based on imaging, esophagoscopy, or surgical results. (1)\n\n**Note 2:** As described in the TNM 7th Edition and used in this Site-Specific Factor, the cervical esophagus is bordered superiorly by the hypopharynx and inferiorly by the thoracic inlet at the level of the sternal notch. The upper thoracic esophagus is bordered inferiorly by the lower border of the azygos vein. The middle thoracic esophagus is bordered inferiorly by the inferior pulmonary veins. The lower thoracic esophagus is bordered inferiorly by the stomach. The abdominal esophagus extends from the esophagogastric junction to 5 centimeters (cm) below the junction in the proximal stomach. (1) \n\n**Note 3:** Code the specific location of the primary tumor according to the term(s) found in the medical record. If multiple terms are used, give priority to codes 010-060 over 070-090.", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) *AJCC Cancer Staging Manual (7th ed.)*. New York; London: Springer, pgs. 104-105", - "last_modified" : "2018-05-14T21:29:03.167Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Stated as cervical esophagus " ], [ "020", "Stated as upper thoracic esophagus" ], [ "030", "Stated as middle thoracic esophagus" ], [ "050", "Stated as lower thoracic esophagus" ], [ "060", "Stated as abdominal esophagus" ], [ "070", "Stated as upper third " ], [ "080", "Stated as middle third" ], [ "090", "Stated as lower third" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown; Esophagus, NOS" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaw.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaw.json deleted file mode 100644 index 3a6f133b0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kaw", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1:** Code the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage as stated in the medical record. \n\n**Note 2:** Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. \n* If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it\n* Do not attempt to code FIGO stage based only on T, N, and M\n* If you cannot make a determination of stage based on the previous information, use code 999, stage unknown", - "last_modified" : "2018-05-14T21:29:00.824Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage I [NOS]" ], [ "120", "FIGO Stage IA" ], [ "150", "FIGO Stage IB" ], [ "200", "FIGO Stage II [NOS]" ], [ "220", "FIGO Stage IIA" ], [ "250", "FIGO Stage IIB" ], [ "298", "FIGO III [NOS]" ], [ "300", "FIGO Stage IIIA" ], [ "350", "FIGO Stage IIIB" ], [ "400", "FIGO Stage IV [NOS]" ], [ "420", "FIGO Stage IVA" ], [ "450", "FIGO Stage IVB" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kax.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kax.json deleted file mode 100644 index a8b135008..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kax.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kax", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Nuclear NM23 Staining", - "notes" : "**Note 1:** The NM23 gene located on chromosome 17 encodes the protein nucleoside diphosphate kinase. The presence of nuclear NM23 protein may be a good marker for predicting the metastatic potential of certain tumors. The value is expressed as the percentage of carcinoma cells in the tissue sample with positive nuclear staining for the NM23 protein.\n\n**Note 2:** Record whether nuclear NM23 staining is present as stated on the test report.", - "last_modified" : "2018-05-14T21:29:00.046Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive for NM23 staining" ], [ "020", "Negative for NM23 staining" ], [ "030", "Borderline; undetermined if positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test performed, results not available" ], [ "998", "Test not done (test not ordered and not performed) No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kay.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kay.json deleted file mode 100644 index 3ad5b1839..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kay.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kay", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Ki-67/MIB Labeling Index (LI): Ophthalmic", - "notes" : "**Note 1:** Ki-67 antigen is a nuclear protein, expressed by cells in all phases of the active cell cycle (G1, S, G2, and M phase) and absent in resting cells (G0 phase). Tumor cells with positive staining for Ki-67 antibodies are actively growing or proliferating. The fraction of Ki-67-positive tumor cells (the Ki-67 labeling index, or LI) may correlate with the clinical course of cancer. The value is expressed as the percentage of carcinoma cells in the tissue sample with positive immunohistochemical staining for the Ki-67 protein. The staining may be performed with the MIB-1 monoclonal antibody, so the test may be referred to as either Ki-67 or MIB-1.\n\n**Note 2:** Code the LI fraction percentage using Ki-67 or MIB-1 (monoclonal antibody) when it is available on the pathology report of the primary tumor. The Ki-67 or MIB-1 LI may also be called the growth fraction or proliferative fraction.\n\n**Note 3:** Record the LI as an exact whole number (000-100). For example\n\n* If the LI level is recorded by the pathologist as 15%, assign code 015\n* If the percentage is documented as 13.7%, round up to 14% and assign code 014 \n* If the percentage is documented as 13.2%, round down to 13% and assign code 013 \n* If the percentage is documented as less than 0.5%, round down to 0% and code 000 \n* If the percentage is documented as greater than 0.5% and less than 1%, round up to 1% and code as 001\n\n**Note 4:** In the absence of a specific percentage value, use codes 110-140 for a stated range of the LI, or codes 991-993 for an interpretation of the LI.", - "last_modified" : "2018-05-14T21:29:01.555Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000-100", "Percentage of Ki-67 growth fraction\n(Exact labeling index (LI) rounded to nearest percent)\n\nExamples:\n 000 0.2%\n 001 1%\n 010 10%\n 014 13.7%\n 055 55.2%" ], [ "110", "Stated as Ki-67 growth fraction less than or equal to 5%" ], [ "120", "Stated as Ki-67 growth fraction greater than 5% and less than or equal to 10%" ], [ "130", "Stated as Ki-67 growth fraction greater than 10% and less than or equal to 20%" ], [ "140", "Stated as Ki-67 growth fraction greater than 20% and less than or equal to 50%" ], [ "150", "Stated as Ki-67 growth fraction greater than 50%" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Stated as low proliferation rate" ], [ "992", "Stated as increased proliferation rate" ], [ "993", "Stated as high proliferation rate" ], [ "997", "Ki-67 growth fraction study performed, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaz.json deleted file mode 100644 index 5fe7f9a0e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kaz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kaz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Clark Level", - "notes" : "**Note 1:** Code the Clark level as documented in the pathology report.\n\n**Note 2:** Record only for squamous cell carcinoma of skin of eyelid. \n* For other histologies, use code 987, not applicable", - "last_modified" : "2018-05-14T21:29:01.449Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Clark level I\nIn situ, intraepidermal, intraepithelial, noninvasive \nBasement membrane of epidermis is intact" ], [ "020", "Clark level II\nPapillary dermis invaded" ], [ "030", "Clark level III\nPapillary-reticular dermal interface invaded" ], [ "040", "Clark level IV\nReticular dermis invaded" ], [ "050", "Clark level V\nSubcutaneous tissue invaded (through entire dermis)" ], [ "987", "Not applicable, not squamous cell carcinoma of skin of eyelid" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbb.json deleted file mode 100644 index 0ca86374c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Retinoblastoma (RB) Gene Mutation", - "notes" : "**Note:** Information is collected on the germline mutation of the retinoblastoma (RB) gene. Typically tumor tissue is tested to identify the presence of the mutation. Peripheral blood lymphocytes are tested to determine if the RB gene is a germline mutation (inherited). \n* Code the results of testing as reported in the medical record", - "last_modified" : "2018-05-14T21:28:58.358Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Germline retinoblastoma (RB) gene mutation not present" ], [ "010", "Germline RB gene mutation present" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbc.json deleted file mode 100644 index df162ab35..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbc.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ssf2_kbc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Biopsy of Metastatic Site", - "last_modified" : "2018-05-14T21:29:01.151Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "Pathologic examination of metastatic tissue performed, NOS" ], [ "110", "Biopsy of omentum performed" ], [ "120", "Biopsy of small intestine performed" ], [ "130", "Biopsy of liver parenchymal tissue performed" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No pathologic examination of metastatic tissue" ], [ "999", "Unknown or no information\nNot documented in the patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbf.json deleted file mode 100644 index 812d64ecf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Histologic Subtype", - "notes" : "**Note:** Histologic subtype has prognostic significance in pleural mesothelioma. The pure epithelioid tumors are associated with a better prognosis then the biphasic or sarcomatoid tumors. Desmoplastic tumors appear to have the worst prognosis.", - "last_modified" : "2018-05-14T21:29:02.428Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No histologic subtype stated" ], [ "010", "Epithelioid (9052)" ], [ "020", "Biphasic (9053)\n(At least 10% of both epithelioid and sarcomatoid components)" ], [ "030", "Sarcomatoid (9051)" ], [ "040", "Desmoplastic (9051)" ], [ "050", "Other histologic subtype" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No pathologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbi.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbi.json deleted file mode 100644 index 2edf84290..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbi.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbi", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Quadrants", - "notes" : "**Note 1:** Code the number of quadrants clinically involved with melanoma of the conjunctiva as stated in the medical record. \n* If the stated number of quadrants involved conflicts with the T category assigned by the physician, code the stated number of quadrants\n\n**Note 2:** If the number of involved quadrants is not stated but a clinical stage is assigned, use the code that matches the clinical T category as indicated in the code descriptions in the table.", - "last_modified" : "2018-05-14T21:29:00.067Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Less than or equal to one quadrant involved" ], [ "015", "Stated as clinical T1a with no other information on quadrants\nStated as clinical T2a with no other information on quadrants\nStated as clinical T2c with no other information on quadrants" ], [ "020", "More than one but less than or equal to two quadrants involved" ], [ "025", "Stated as clinical T1b with no other information on quadrants\nStated as clinical T2b with no other information on quadrants\nStated as clinical T2d with no other information on quadrants" ], [ "030", "More than two but less than or equal to three quadrants involved" ], [ "035", "Stated as clinical T1c with no other information on quadrants" ], [ "040", "Greater than three quadrants involved" ], [ "045", "Stated as clinical T1d with no other information on quadrants" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbl.json deleted file mode 100644 index b93870370..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbl.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf2_kbl", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Tumor Size - Third Largest Dimension", - "notes" : "**Note 1:** According to AJCC tumor size is an important prognostic factor. The three dimensions of tumor size (length, width and height) are also important to collect if documented in the patient record. Record the largest dimension of tumor size in the field Tumor Size. Record the second largest dimension of tumor size in Site-Specific Factor 1 and the smallest dimension of tumor size in Site-Specific Factor 2. (1)\n\n**Note 2:** Tumor size expressed as 4.0 centimeter (cm) x 3.0 cm x 2.0 cm is recorded as follows:\n\n* Tumor Size: 040\n* Site-Specific Factor 1: 030 \n* Site-Specific Factor 2: 020 \n\nTumor size expressed as \"greater than 8 cm\" is recorded as follows: \n\n* Tumor Size: 997\n* Site-Specific Factor 1: 999\n* Site-Specific Factor 2: 999", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) *AJCC Cancer Staging Manual (7th ed.)*. New York; London: Springer, pg. 289", - "last_modified" : "2018-05-14T21:29:01.520Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "001 - 979 millimeters (mm)\n(Exact size to nearest mm)" ], [ "980", "980 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm,\" or \"greater than 1 cm,\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm,\" or \"greater than 2 cm,\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm,\" or \"greater than 4 cm,\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 8 cm\" or \"between 5 cm and 8 cm\"" ], [ "997", "Described as \"greater than 8 cm\"" ], [ "999", "Unknown, third dimension of size not stated\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbm.json deleted file mode 100644 index 086298e17..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbm.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Measured Basal Diameter", - "notes" : "**Note:** Code measured basal diameter of tumor, not size. Record actual measurement in tenths of millimeters (mm) from clinical documentation, or from a pathology report if surgery performed.", - "last_modified" : "2018-05-14T21:29:00.073Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "00.1 - 97.9 millimeters (mm)\n(Exact measurement to nearest tenth of mm) \n\nExamples:\n 001 00.1 mm\n 002 00.2 mm\n 010 01.0 mm\n 074 07.4 mm\n 100 10.0 mm\n 105 10.5 mm\n 979 97.9 mm" ], [ "980", "98.0 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Described as \"less than 3 mm\"" ], [ "992", "Described as \"greater than 3 mm\" or \"less than or equal to 6 mm\"" ], [ "993", "Described as \"greater than 6 mm\" or \"less than or equal to 9 mm\"" ], [ "994", "Described as \"greater than 9 mm\" or \"less than or equal to 12 mm\"" ], [ "995", "Described as \"greater than 12 mm\" or \"less than or equal to 15 mm\"" ], [ "996", "Described as \"greater than 15 mm\" or \"less than 18 mm\"" ], [ "997", "Described as \"greater than 18 mm\"" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbu.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbu.json deleted file mode 100644 index 04813cdad..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbu.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbu", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1:** The Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage definitions do not include Stage 0 (Tis) for ovarian cancer. \n* Use code 987 for any case where T is coded Tis\n\n**Note 2:** Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. \n* If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it\n* Do not attempt to code FIGO stage based only on T, N, and M\n* If you cannot make a determination of stage based on the previous information, use code 999, stage unknown", - "last_modified" : "2018-05-14T21:29:00.896Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage I [NOS]" ], [ "110", "FIGO Stage IA" ], [ "120", "FIGO Stage IB" ], [ "130", "FIGO Stage IC" ], [ "200", "FIGO Stage II [NOS]" ], [ "210", "FIGO Stage IIA" ], [ "220", "FIGO Stage IIB" ], [ "230", "FIGO Stage IIC" ], [ "300", "FIGO Stage III [NOS]" ], [ "310", "FIGO Stage IIIA" ], [ "320", "FIGO Stage IIIB" ], [ "330", "FIGO Stage IIIC" ], [ "400", "FIGO Stage IV" ], [ "987", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbv.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbv.json deleted file mode 100644 index bbf70d603..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbv.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbv", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Systemic Symptoms at Diagnosis", - "notes" : "**Note 1:** The constitutional symptoms (B symptoms) for Kaposi Sarcoma are:\n* Fevers: Unexplained fever with temperature above 38 degrees C\n* Night sweats: Drenching sweats that require change of bedclothes\n* Weight loss: Unexplained weight loss of more than 10% of the usual body weight in the six months prior to diagnosis\n* Diarrhea: Persistent diarrhea lasting longer than two weeks\n\n**Note 2:** The presence of these constitutional symptoms for Kaposi Sarcoma does not modify the stage.\n\n**Note 3:** Assign code 000 if the History and Physical, progress notes, and consultations make no mention of B symptoms.", - "last_modified" : "2018-05-14T21:29:01.129Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No B symptoms (asymptomatic)" ], [ "010", "Any B symptoms:\n Unexplained fever (above 38 degrees C)\n Night sweats\n Unexplained weight loss (generally greater than 10% of body weight in the six months before admission)\nB symptoms, NOS" ], [ "020", "Persistent diarrhea lasting longer than two weeks" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbx.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbx.json deleted file mode 100644 index f3a52a3da..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kbx.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kbx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Durie-Salmon Staging System", - "notes" : "**Note 1:** Durie-Salmon staging applies to multiple myeloma (9732) only. For plasmacytomas, (9731 and 9734), use code 987 for not applicable. \n\n**Note 2:** The A and B subclassifications reflect the serum creatinine levels at diagnosis. If the A or B subclassification is not noted, use the NOS codes.\n\n**Note 3:** Only code the Durie-Salmon stage when the stage is documented in the medical record. \n\n**Note 4:** Code the stage as Durie-Salmon when the record states the stage, but does not identify the staging system.", - "last_modified" : "2018-05-14T21:29:01.055Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Durie Salmon Stage IA" ], [ "020", "Durie Salmon Stage IB" ], [ "030", "Durie Salmon Stage INOS" ], [ "040", "Durie Salmon Stage IIA" ], [ "050", "Durie Salmon Stage IIB" ], [ "060", "Durie Salmon Stage IINOS" ], [ "070", "Durie Salmon Stage IIIA" ], [ "080", "Durie Salmon Stage IIIB" ], [ "090", "Durie Salmon Stage IIINOS" ], [ "987", "Not applicable: Use for codes 9731 (Plasmacytoma, NOS) and 9734 (Plasmacytoma, extramedullary) \nNot multiple myeloma or plasma cell myeloma (9732)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpc.json deleted file mode 100644 index d94307ffb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Carcinoembryonic Antigen (CEA)", - "notes" : "**Note:** Record the interpretation of the highest CEA test results documented in the medical record based on information prior to treatment. The interpretation should be for the same laboratory test recorded in **Site-Specific Factor 3, Carcinoembryonic Antigen (CEA) Lab Value**.", - "last_modified" : "2018-05-14T21:29:02.615Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined if positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information; Not documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpd.json deleted file mode 100644 index 1fa7d984d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Serum Chromogranin A (CgA) Lab Value", - "notes" : "**Note 1:** Chromogranins are a family of proteins in secretory granules found throughout the neuroendocrine system. Serum Chromogranin A (CgA) has been shown to be a useful marker for neuroendocrine tumors.\n\n**Note 2:** Record, to the nearest nanogram/milliliter (ng/ml), the highest CgA lab value documented in the medical record prior to treatment. \n* For example, a pretreatment CgA of 400 ng/ml would be recorded as 400\n\n**Note 3:** Code 000 is reserved for exactly 0 ng/ml (no measurable amount of CgA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 ng/ml should be coded 001. \n* For code 001, also round 1.1 - 1.4 ng/ml down to 1 ng/ml \n* For codes 002-980, round values to the nearest ng/ml\n\n**Note 4:** Use code 997 if there is no actual pretreatment CgA lab value available but an interpretation of the test result is stated.\n\n**Note 5:** Although CgA is generally a marker for neuroendocrine tumors, if a pretreatment CgA lab value is available for a non-endocrine tumor, code the value. \n* If a pretreament CgA lab value is not available (endocrine or non-endocrine tumor), code 999", - "last_modified" : "2018-05-14T21:29:02.426Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 nanogram/milliliter (ng/ml)" ], [ "001", "1 or less ng/ml \nStated as less than 1 ng/ml with no exact value" ], [ "002-979", "002-979 ng/ml\n(Exact value to nearest ng/ml)" ], [ "980", "980 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpg.json deleted file mode 100644 index d32a2a0c0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpg.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ssf2_kpg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Systemic Symptoms at Diagnosis", - "notes" : "**Note 1:** Each stage should be classified as either A or B according to the absence or presence of defined constitutional symptoms, such as\n\n* Fevers: Unexplained fever with temperature above 38 degrees C\n* Night sweats: Drenching sweats that require change of bedclothes \n* Weight loss: Unexplained weight loss of more than 10% of the usual body weight in the 6 months prior to diagnosis\n\n**Note 2:** Pruritus alone does not qualify for B classification, nor does alcohol intolerance, fatigue, or a short, febrile illness associated with suspected infections.\n\n**Note 3:** Use code 000 if the History and Physical, progress notes, or consultations make no mention of B symptoms.", - "last_modified" : "2018-05-14T21:29:00.020Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "stage_classification", - "name" : "Stage Classification", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No B symptoms (asymptomatic)", "A" ], [ "010", "Any B symptom(s):\n Night sweats\n Unexplained fever (above 38 degrees C)\n Unexplained weight loss (generally greater than 10% of body weight\n in the six months before admission)\nB symptoms, NOS", "B" ], [ "020", "Pruritis (recurrent and unexplained)", "A" ], [ "030", "020 + 010\n\nPruritis plus any B symptom(s)", "B" ], [ "988", "Not applicable: Information not collected for this case", "ERROR" ], [ "999", "Unknown or no information\nNot documented in patient record", "BLANK" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpj.json deleted file mode 100644 index 653b2da80..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Measured Basal Diameter", - "notes" : "**Note:** Code **Measured Basal Diameter** of tumor, not size. Record actual measurement in tenths of millimeters (mm) from clinical documentation, or from a pathology report if surgery performed.", - "last_modified" : "2018-05-14T21:29:00.325Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "00.1 - 97.9 millimeters (mm)\n(Exact measurement to nearest tenth of mm) \n\nExamples:\n 001 00.1 mm\n 002 00.2 mm\n 010 01.0 mm\n 074 07.4 mm\n 100 10.0 mm\n 105 10.5 mm\n 979 97.9 mm" ], [ "980", "98.0 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Described as \"less than 3 mm\"" ], [ "992", "Described as \"greater than 3 mm\" or \"less than or equal to 6 mm\"" ], [ "993", "Described as \"greater than 6 mm\" or \"less than or equal to 9 mm\"" ], [ "994", "Described as \"greater than 9 mm\" or \"less than or equal to 12 mm\"" ], [ "995", "Described as \"greater than 12 mm\" or \"less than or equal to 15 mm\"" ], [ "996", "Described as \"greater than 15 mm\" or \"less than 18 mm\"" ], [ "997", "Described as \"greater than 18 mm\"" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpk.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpk.json deleted file mode 100644 index 43d8f06f4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpk", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Neurovascular Invasion", - "notes" : "**Note 1:** Nerves, veins, and arteries tend to travel together in neurovascular bundles. Neurovascular invasion may be defined as involving the nerve structures and/or vascular structures within these bundles.\n\n**Note 2:** Neurovascular invasion is based on histologic examination of the primary tumor and should be reported where possible. Code as stated in the pathology report.", - "last_modified" : "2018-05-14T21:29:02.441Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Neurovascular invasion not present/not identified" ], [ "010", "Neurovascular invasion present/identified" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpl.json deleted file mode 100644 index 2bfad8fe3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpl", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Ki-67/MIB-1 Labeling Index (LI): Brain", - "notes" : "**Note 1:** Ki-67 antigen is a nuclear protein, expressed by cells in all phases of the active cell cycle (G1,S, G2, and M phase) and absent in resting cells (G0 phase). Tumor cells with positive staining for Ki-67 antibodies are actively growing or proliferating. The fraction of Ki-67-positive tumor cells (the Ki-67 labeling index, or LI) may correlate with the clinical course of cancer. The value is expressed as the percentage of carcinoma cells in the tissue sample with positive immunohistochemical staining for the Ki-67 protein. The staining may be performed with the MIB-1 monoclonal antibody, so the test may be referred to as either Ki-67 or MIB-1.\n\n**Note 2:** Code the LI fraction percentage using Ki-67 or MIB-1 (monoclonal antibody) when it is available on the pathology report of the primary tumor. The Ki-67 or MIB-1 LI may also be called the growth fraction or proliferative fraction.\n\n**Note 3:** Record the LI as an exact whole number (000-100). For example:\n\n* If the LI level is recorded by the pathologist as 15%, assign code 015. \n* If the percentage is documented as 13.7%, round up to 14% and assign code 014. \n* If the percentage is documented as 13.2%, round down to 13% and assign code 013. \n* If the percentage is documented as less than 0.5%, round down to 0% and code 000. \n* If the percentage is documented as greater than 0.5% and less than 1%, round up to 1% and code as 001.\n\n**Note 4:** In the absence of a specific percentage value, use codes 200-400 for an interpretation of the LI.", - "last_modified" : "2018-05-14T21:29:01.326Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0% Labeling index (LI) \nLI stated as \"0%\"\nLI stated as \"less than 0.5%\"" ], [ "001-100", "1-100% \n(Exact labeling index (LI) rounded to nearest percent) \n\nExamples:\n 000 0.2%\n 001 1%\n 010 10%\n 014 13.7%\n 055 55.2%" ], [ "200", "LI stated as normal and no percentage provided" ], [ "300", "LI stated as slightly elevated and no percentage provided" ], [ "400", "LI stated as elevated and no percentage provided" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart\nTest performed, interpretation not recorded" ], [ "998", "No histologic examination of primary site\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record " ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpn.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpn.json deleted file mode 100644 index c1d9e4c32..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpn.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "FIGO Stage", - "notes" : "**Note 1:** Most female primary peritoneal tumors have clinical course and treatment options similar to ovarian tumors.\n\n**Note 2:** It is very unlikely for this disease to have a FIGO Stage II or lower.\n\n**Note 3:** Code the FIGO stage as stated in the medical record. When lymph node(s) is/are clinically or pathologically positive or metastasis is present, make sure that the FIGO stage reflects the combination of T, N, and M and NOT just the T. \n* If a stage group is stated but it does not specify that it is a FIGO stage, assume that it is a FIGO stage and code it\n* Do not attempt to code FIGO stage based only on T, N, and M\n* If you cannot make a determination of stage based on the previous information, use code 999, stage unknown", - "last_modified" : "2018-05-14T21:29:01.275Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "100", "FIGO Stage I [NOS]" ], [ "110", "FIGO Stage IA" ], [ "120", "FIGO Stage IB" ], [ "130", "FIGO Stage IC" ], [ "200", "FIGO Stage II [NOS]" ], [ "210", "FIGO Stage IIA" ], [ "220", "FIGO Stage IIB" ], [ "230", "FIGO Stage IIC" ], [ "300", "FIGO Stage III [NOS]" ], [ "310", "FIGO Stage IIIA" ], [ "320", "FIGO Stage IIIB" ], [ "330", "FIGO Stage IIIC" ], [ "400", "FIGO Stage IV" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "FIGO stage unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpo.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpo.json deleted file mode 100644 index bedbad3a7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpo.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpo", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Peritoneal Cytology", - "notes" : "**Note:** Cytologic examination for malignant cells may be performed on ascites (fluid that has accumulated in the peritoneal cavity in excess amount) or the fluid (saline) that is introduced into the peritoneal cavity, and then removed by suction. The introduction of fluid may be termedperitoneal washing or peritoneal lavage.", - "last_modified" : "2018-05-14T21:29:01.185Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative" ], [ "010", "Positive, malignant cells positive" ], [ "020", "Test done, results suspicious or undetermined if negative or positive" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in patient record" ], [ "998", "Test not done (test not ordered and not performed)\nNo pathologic specimen available" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpq.json deleted file mode 100644 index d54050a13..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpq.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf2_kpq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Fibrosis Score", - "notes" : "**Note:** AJCC classifies fibrosis scores 0-4 (none to moderate fibrosis) as F0, and fibrosis scoares 5-6 (severe fibrosis or cirrhosis) as F1. Fibrosis score is also called Ishak score. (1)", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) *AJCC Cancer Staging Manual (7th ed.)*. New York; London: Springer, pg. 194", - "last_modified" : "2018-05-14T21:29:02.793Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "F0: Fibrosis score 0-4 \n(None to moderate fibrosis)" ], [ "001", "F1: Fibrosis score 5-6 \n(Severe fibrosis or cirrhosis)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpr.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpr.json deleted file mode 100644 index 99711ecd5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_kpr.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf2_kpr", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Pelvic Nodal Status", - "notes" : "**Note:** The pelvic nodal status corresponds to the assessment method recorded in **Site-Specific Factor 3, Assessment Method of Pelvic Nodal Status**.", - "last_modified" : "2018-05-14T21:29:01.285Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative pelvic lymph nodes" ], [ "010", "Positive pelvic lymph nodes" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "Pelvic lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_sbi.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf2_sbi.json deleted file mode 100644 index d35f3f7fd..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf2_sbi.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf2_sbi", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF2", - "title" : "Site-Specific Factor 2", - "subtitle" : "Pleural/Elastic Layer Invasion (PL) by H and E or Elastic Stain", - "notes" : "**Note 1:** AJCC Staging Manual 7th Edition includes a standardized and precise definition of pleural/elastic layer invasion (PL). There are four categories (1)\n\n* **PL0** - Tumor that is surrounded by lung parenchyma or invades superficially into the pleural connective tissue beneath the elastic layer but falls short of completely traversing the elastic layer of the pleura\n* **PL1** - Tumor that invades beyond the elastic layer\n* **PL2** - Tumor that extends to the surface of the visceral pleura\n* **PL3** - Tumor that invades the parietal pleura\n\nCategories PL1 and PL2 are classified as pleural invasion for staging and are classified as at least a T2. PL3 is classified as at least a T3. PL0 is not pleural invasion for TNM staging, and the T category is assigned based on other criteria. Other criteria can also raise the T category for PL1-3 tumors. \n\nWhen pathologists have difficulty assessing the relationship of the tumor to the elastic layer on routine hematoxylin and eosin (H and E) stains, they may perform a special elastic stain to make the determination.\n\n**Note 2:** Code results as stated on the pathology report. \n* Code 998 if no histologic examination of pleura to assess pleural layer invasion\n\n**Note 3:** If pleural/elastic layer invasion (PL) is not mentioned on the pathology report, code 999. \n\n**Note 4:** An FNA is not a histologic specimen and is not adequate to assess pleural layer invasion. \n* If only an FNA is available, use code 998\n\n**Note 5:** Metastasis to the pleural, that is pleura tumor foci or nodules separate from direct invasion, are coded in distant metastasis.", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) *AJCC Cancer Staging Manual (7th ed.)*. New York; London: Springer, pg. 264", - "last_modified" : "2018-05-14T21:29:01.639Z", - "definition" : [ { - "key" : "ssf2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "PL 0\nNo evidence of visceral pleural invasion (PL)\nTumor does not completely traverse the elastic layer" ], [ "010", "PL 1\nInvasion beyond the visceral elastic pleura, but limited to the pulmonary pleura\nTumor extends through the elastic layer" ], [ "020", "PL 2\nInvasion to the surface of the pulmonary pleura\nTumor extends to the surface of the visceral pleura" ], [ "030", "PL 3\nTumor extends to the parietal pleura" ], [ "040", "Invasion of pleura, NOS" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of pleura to assess pleural layer invasion" ], [ "999", "Unknown if PL present\nPL/elastic layer cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lac.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lac.json deleted file mode 100644 index f3394182f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lac.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lac", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Number of Positive Ipsilateral Level I-II Axillary Lymph Nodes", - "notes" : "**Note 1:** Include only the number of positive ipsilateral level I and II axillary lymph nodes and intramammary lymph nodes in this field. \n* Intramammary nodes, located within the breast, are not the same as internal mammary nodes, located along the sternum\n\n**Note 2:** Record this field even if there has been preoperative treatment.\n\n**Note 3:** Lymph nodes with only isolated tumor cells (ITCs) are not counted as positive lymph nodes. Only lymph nodes with metastases greater than 0.2 mm (micrometastases or larger) should be counted as positive. \n* If the pathology report indicates that axillary nodes are positive but size of the metastases is not stated, assume the metastases are greater than 0.2 mm and code the lymph nodes as positive in this field\n\n**Note 4:** This field is based on pathologic information only. If no ipsilateral axillary nodes are removed for examination, or if an ipsilateral axillary lymph node drainage area is removed but no lymph nodes are found, code 098.\n\n**Note 5:** Instructions for Regional Nodes Positive also apply to this field (although the codes in Regional Nodes Positive are 2 digits rather than 3). When positive ipsilateral axillary lymph nodes are coded in this field, the number of positive ipsilateral axillary lymph nodes must be less than or equal to the number coded in Regional Nodes Positive (i.e., the number of positive ipsilateral axillary nodes will always be a subset of the number of positive regional nodes).", - "last_modified" : "2018-05-14T21:29:01.242Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All ipsilateral axillary nodes examined negative" ], [ "001-089", "1 - 89 nodes positive \n(Exact number of nodes positive)" ], [ "090", "90 or more nodes positive" ], [ "095", "Positive aspiration of lymph node(s)" ], [ "097", "Positive nodes, number unspecified" ], [ "098", "No axillary nodes examined" ], [ "099", "Unknown if axillary nodes are positive\nNot documented in patient record" ], [ "988", "Not applicable: Information not collected for this case" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_laf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_laf.json deleted file mode 100644 index 75141d6c4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_laf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_laf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Vascular Invasion", - "notes" : "**Note 1:** Large vessel (venous) invasion may have a worse prognosis than small vessel (capillary/lymphatic) invasion.\n\n**Note 2:** Record large vessel (venous) invasion as documented in the pathology report. \n* Assign code 000 if surgical resection of the primary site is performed, the pathology report is available for review, and invasion of adrenal vein, renal vein, inferior vena cava (IVC), or large vessel, NOS is not mentioned", - "last_modified" : "2018-05-14T21:29:01.189Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Vascular invasion not present/not identified" ], [ "010", "Invasion of adrenal vein only" ], [ "020", "Invasion of renal vein only" ], [ "030", "Invasion of inferior vena cava (IVC) only" ], [ "040", "020 + 010\n\nInvasion of renal vein and adrenal vein" ], [ "050", "030 + 010\n\nInvasion of IVC and adrenal vein" ], [ "060", "030 + 020\n\nInvasion of IVC and renal vein" ], [ "070", "030 + 020 + 010\n\nInvasion of IVC, renal vein, and adrenal vein" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Large vessel venous invasion, vein not specified" ], [ "998", "No surgical resection of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lah.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lah.json deleted file mode 100644 index b9f2849c4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lah.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lah", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Ipsilateral Adrenal Gland Involvement", - "notes" : "**Note 1:** Information about contiguous ipsilateral adrenal gland involvement is collected in T, and noncontiguous ipsilateral adrenal gland involvement is collected in mets (M), as elements in anatomic staging. This information is also collected in this field as it may have an independent effect on prognosis.\n\n**Note 2:** Record ipsilateral adrenal gland involvement as documented in the pathology report. \n* Assign code 000 if histologic examination of a specimen including tissue from the adrenal gland is performed, the pathology report is available for review, and involvement of the adrenal gland is not mentioned", - "last_modified" : "2018-05-14T21:29:00.350Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Ipsilateral adrenal gland involvement not present/not identified" ], [ "010", "Contiguous involvement of ipsilateral adrenal gland" ], [ "020", "Noncontiguous involvement of ipsilateral adrenal gland" ], [ "030", "020 + 010\n\nNoncontiguous plus contiguous involvement of ipsilateral adrenal gland" ], [ "040", "Involvement of ipsilateral adrenal gland, not stated whether contiguous or noncontiguous" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination to determine ipsilateral adrenal gland involvement" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lai.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lai.json deleted file mode 100644 index 232b8a775..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lai.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lai", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Extranodal Extension of Regional Lymph Nodes", - "notes" : "**Note 1:** Code the status of extranodal extension, whether assessed clinically or pathologically, of any involved regional lymph node(s). \n\n* Do not code extranodal extension for any distant lymph node(s)\n\n**Note 2:** A statement of the presence or absence of extranodal extension in a pathology report takes priority over clinical assessment.\n\n**Note 3:** If nodes are involved but the clinical documentation and/or pathologic documentation does not indicate extranodal extension, assign code 010 (no extranodal extension documented on the available reports).\n\n**Note 4:** If the only documentation is a reference to clinically or pathologically involved nodes with no reference to extranodal extension, assign code 030 (no physical examination/imaging report and/or no pathology report available).", - "last_modified" : "2018-05-14T21:28:59.996Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph nodes involved" ], [ "010", "Extranodal extension not present\nRegional nodes described as mobile" ], [ "020", "Extranodal extension present\nRegional nodes described as fixed or matted" ], [ "030", "Regional nodes involved, unknown if extranodal extension" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lao.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lao.json deleted file mode 100644 index b763d56bf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lao.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lao", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Family History of Retinoblastoma", - "notes" : "**Note:** Record any mention of positive family history of retinoblastoma in the medical record.", - "last_modified" : "2018-05-14T21:28:58.341Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No family history of retinoblastoma" ], [ "010", "Positive family history of retinoblastoma" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_laq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_laq.json deleted file mode 100644 index ca26c446f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_laq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_laq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Primary Tumor Location", - "notes" : "**Note 1:** The fimbria is the fringe of tissue around the ostium of the fallopian tube, in the direction of the ovary. The infundibulum is a funnel-shaped expansion of the tube which opens in the fimbria. Medial to the infundibulum is the ampulla, which forms over half the length of the tube. Medial to the ampulla is the isthmus, which forms one-third of the tube. The interstitial segment continues from the isthmus through the uterine wall to empty into the uterine cavity.\n\n**Note 2:** Use code 999 if primary site is described as fallopian tube but no information is available about the segment in which the tumor arose.", - "last_modified" : "2018-05-14T21:29:00.858Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Tumor located in fimbrial segment" ], [ "020", "Tumor located in interstitial segment" ], [ "030", "Tumor located in isthmic segment" ], [ "040", "Tumor located in ampullary segment" ], [ "050", "Tumor located in infundibular segment" ], [ "060", "Tumor in tubal location other than fimbrial segment, NOS" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Tumor location cannot be assessed\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lat.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lat.json deleted file mode 100644 index ce905cc42..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lat.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lat", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "History of Asbestos Exposure", - "notes" : "**Note 1:** The most common risk factor for malignant mesotheliomas is previous exposure to asbestos. The latency period between asbestos exposure and the development of mesothelioma is generally 20 years or more.\n\n**Note 2:** Document any stated asbestos exposure based on documentation from medical record.", - "last_modified" : "2018-05-14T21:29:01.886Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of asbestos exposure/negative" ], [ "010", "History of asbestos exposure/positive " ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_law.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_law.json deleted file mode 100644 index b1b7d7432..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_law.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_law", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Grade - Melanoma Origin", - "notes" : "**Note 1:** Grade coded in this field describes whether the melanoma arises from a pre-existing lesion (primary acquired melanosis, PAM) or appears \"de novo\", without any pre-existing lesion. This is not the same as the histologic grade defined in the ICD-O, designating degrees of differentiation from normal tissue such as \"well differentiated\" or \"poorly differentiated\", which is coded in the traditional grade field.\n\n**Note 2:** Tumors of Grade 0, Primary acquired melanosis without cellular atypia, and Grade 1, Conjunctival nevus, are not reportable to the cancer registry. Tumors of Grade 2, Primary acquired melanosis with cellular atypia (epithelial disease only) are reportable and may be coded as 8741/2.\n\n**Note 3:** Code this field only from a statement of grade describing PAM with atypia or de novo melanoma, documented by the managing physician or the pathologist in the record. \n* Do not interpret or attempt to assign grade based on the histologic diagnosis of the tumor", - "last_modified" : "2018-05-14T21:29:00.074Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "020", "Grade 2 \nPrimary acquired melanosis (PAM) with cellular atypia (epithelial disease only)\nConfined to epithelium" ], [ "030", "Grade 3 \nPAM with epithelial cellular atypia and invasive melanoma" ], [ "040", "Grade 4 \nDe novo malignant melanoma" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No pathologic examination of primary site tumor" ], [ "999", "Grade X\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lay.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lay.json deleted file mode 100644 index 986768bea..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lay.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lay", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Percent Necrosis Post Neoadjuvant Chemotherapy", - "notes" : "**Note:** Record exact percentage value of the tumor necrosis post neo-adjuvant chemotherapy as recorded in the pathology report.", - "last_modified" : "2018-05-14T21:29:01.792Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No tumor necrosis" ], [ "001-100", "1 - 100 percent\n(Exact percentage of tumor necrosis to nearest percent)\n\nExamples:\n 001 0.1 to 0.9%\n 005 5% \n 010 10% \n 099 99%" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Tumor necrosis present, percent not stated" ], [ "998", "No histologic examination of primary site\nAND/OR\nNo neoadjuvant chemotherapy" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_laz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_laz.json deleted file mode 100644 index 57454a093..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_laz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_laz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Ulceration and Edema", - "notes" : "**Note 1:** Tumor associated edema or ulceration is a poor risk.\n\n**Note 2:** Tumor associated edema or ulceration is usually histologically confirmed and documented in the pathology report. If tumor associated edema or ulceration is diagnosed clinically without pathologic confirmation, use code 040.\n\n**Note 3:** If there is no documentation or no mention of ulceration or edema in the pathology report or clinical examination, assume ulceration and edema are not present and use code 000.", - "last_modified" : "2018-05-14T21:29:01.114Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No ulceration or edema present" ], [ "010", "Ulceration present" ], [ "020", "Edema present" ], [ "030", "Ulceration and edema present" ], [ "040", "Clinical diagnosis of edema and/or ulceration" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lbb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lbb.json deleted file mode 100644 index 357ddb3a4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lbb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lbb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Multiple Myeloma Terminology", - "notes" : "**Note 1:** Descriptors for multiple myeloma (9732) only are collected. Code 987, not applicable, for histologies 9731 and 9734. \n\n**Note 2:** A number of terms are used to characterize early multiple myeloma at time of diagnosis. All these terms are reportable according to the new Hematopoietic and Lymphoid Neoplasms rules effective for cases diagnosed January 1, 2010 and later. \n\n**Note 3:** Code the terminology used by a physician at the time of diagnosis. The terminology may be taken from sections of the record other than a pathology report. Do not change the code in this Site-Specific Factor if a term used at a later time indicates progression to a more aggressive disease course..", - "last_modified" : "2018-05-14T21:29:01.026Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Multiple myeloma/Plasma cell myeloma with no other modifiers\nMultiple myeloma, NOS; Myeloma, NOS" ], [ "010", "Asymptomatic myeloma" ], [ "020", "Early or evolving myeloma" ], [ "030", "Inactive, indolent, or smoldering myeloma " ], [ "080", "Other terminology describing myeloma" ], [ "100", "Any combination of terms in codes 010-080" ], [ "987", "Not applicable: Use for codes 9731 (Plasmacytoma, NOS) and 9734 (Plasmacytoma, extramedullary) \nNot multiple myeloma or plasma cell myeloma (9732)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lbc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lbc.json deleted file mode 100644 index d28b0d84f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lbc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lbc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "International Prognostic Index (IPI)", - "notes" : "**Note 1:** The International Prognostic Index ( IPI) has been developed for lymphomas and predicts outcome based on the following adverse factors\n\n* Age more than 60 years \n* Ann Arbor Stage III or IV\n* More than 1 extranodal site involved \n* Patient's performance status (Eastern Cooperative Oncology Group, ECOG) 2, 3, or 4\n* Elevated serum lactate dehydrogenase (LDH) level\n\n**Note 2:** Record the IPI as stated in the medical record. Do not calculate points or assign risk. Only record points or risk if a physician has documented them. Use points over risk if both are available.\n\n**Note 3:** There are now two indices/scores associated with lymphoma \n* The International Prognostic Index (IPI) (**Site-Specific Factor 3**) \n* The Follicular Lymphoma International Prognostic Index (FLIPI) (**Site-Specific Factor 4**). \n\nPhysicians may use these indices/scores interchangeably. For coding\n* Score identified: Value in appropriate SSF, 999 in other SSF\n* Score not identified, point value 5 or less: 999 in both SSF", - "last_modified" : "2018-05-14T21:28:58.364Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 points" ], [ "001", "1 point" ], [ "002", "2 points" ], [ "003", "3 points" ], [ "004", "4 points" ], [ "005", "5 points" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Stated as low risk (0-1 point)" ], [ "991", "Stated as low intermediate risk (2 points)" ], [ "992", "Stated as intermediate risk (3 points)" ], [ "993", "Stated as high risk (4-5 points)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpa.json deleted file mode 100644 index dacaa9a92..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Levels I-III, Lymph Nodes for Head and Neck", - "notes" : "**Note 1:** **Site-Specific Factors 3-6** are used to code the presence or absence of lymph node involvement in each of 7 different levels and other groups defined by TNM. The definitions of the levels are the same for all applicable head and neck sites. One digit is used to represent lymph nodes of a single level, with the digits of **Site-Specific Factor 3** representing lymph nodes of Levels I-III; the digits of **Site-Specific Factor 4** representing lymph nodes of Levels IV and V and the retropharyngeal nodes; the digits of **Site-Specific Factor 5** representing lymph nodes of Levels VI and VII and the facial nodes; and the digits of **Site-Specific Factor 6** representing the remaining Other groups as defined by TNM. In each digit, a code 1 means yes, the nodes are involved.\n\n**Note 2:** If involved regional node levels are documented as a range, or if the involved nodes overlap multiple levels, code all levels specified.\n\n**Note 3:** If regional node(s) are known to be positive but the level of node(s) involved is unknown, use code 000.\n\n**Note 4:** Levels I - III are also referred to as\n \n* Level I - Submental group (IA) & Submandibular group (IB)\n* Level II - Upper jugular group \n* Level III - Middle jugular group", - "last_modified" : "2018-05-14T21:29:03.718Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involvement in Levels I, II, or III lymph nodes" ], [ "100", "Level I lymph node(s) involved" ], [ "010", "Level II lymph node(s) involved" ], [ "001", "Level III lymph node(s) involved" ], [ "110", "Levels I and II lymph nodes involved" ], [ "101", "Levels I and III lymph nodes involved" ], [ "011", "Levels II and III lymph nodes involved" ], [ "111", "Levels I, II and III lymph nodes involved" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if regional lymph nodes involved, not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpc.json deleted file mode 100644 index 0bbb30808..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Carcinoembryonic Antigen (CEA) Lab Value", - "notes" : "**Note 1:** CEA is a tumor marker that has value in the management of certain malignancies.\n\n**Note 2:** The same laboratory test should be used to record information in **Site-Specific Factor 2, Carcinoembryonic Antigen (CEA)** and **Site Specific Factor 3, Carcinoembryonic Antigen (CEA) Lab Value**.\n\n**Note 3:** Record to the nearest tenth in nanograms/milliliter (ng/ml) the highest CEA lab value documented in the medical record prior to treatment. \n\n* For example, code a pretreatment CEA of 7 ng/ml as 070\n\n**Note 4:** Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of CEA). Do not round tiny values down to 0.0 ng/ml; any measured value less than or equal to 0.1 ng/ml should be coded 001. \n\n* For code 001, also round 0.11-0.14 ng/ml down to 0.1 ng/ml \n* For codes 002-979, round values to the nearest tenth of a ng/ml\n\n**Note 5:** For an uncertain value, record the stated closest value. \n\n* For example, code a value stated as \"less than 0.5 ng/ml\" as 005", - "last_modified" : "2018-05-14T21:29:02.445Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 nanograms/milliliter (ng/ml) exactly" ], [ "001", "0.1 or less ng/ml\nStated as less than 0.1 ng/ml with no exact value" ], [ "002-979", "0.2 - 97 .9 ng/ml\n(Exact value to nearest tenth in ng/ml)" ], [ "980", "98.0 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpd.json deleted file mode 100644 index e2735ddfa..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1:** The mitotic count reflects the potential aggressiveness or prognosis of endocrine pancreatic tumors. This site-specific factor presumes the denominator of 10 high power fields (HPF) or its equivalent, so just the numerator (the mitotic count) is coded here. \n* For other schemas in which mitotic count is collected, the denominator may vary. An HPF usually has a magnification objective of 40 (a 40x field)\n\n**Note 2:** Record mitotic count, to the nearest tenth of a mitosis, as documented in the pathology report. \n* For example, a mitotic count of 6/10 HPF\n\n**Note 3:** Code the specific mitotic count only per 10 HPF; assume the denominator is 10 HPF if not specified. \n* Use code 996 only if the mitotic count is expressed with a specific denominator other than 10 HPF\n\n**Note 4:** Although mitotic count is generally documented for neuroendocrine tumors, if the mitotic count is available for a non-endocrine tumor, code the count. \n* If it is not available (endocrine or non-endocrine tumor), code 999", - "last_modified" : "2018-05-14T21:29:02.322Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 mitoses per 10 high-power fields (HPF) (40x field)\nMitoses absent, no mitoses present, no mitotic activity" ], [ "001-008", "0.1 - 0.8 mitosis per 10 HPF (40x field)\n0.1 - 0.8 mitosis per " ], [ "009", "0.9 mitosis per 10 HPF (40x field)\n\nStated as less than 1 mitosis per 10 HPF (40x field)" ], [ "010-100", "1-10 mitoses per 10 HPF (40x field)" ], [ "110", "11 or more mitoses per 10 HPF (40x field)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Specific number not stated, described less than or equal to 4 \n mitoses per 10 HPF (40x field)\n\nStated as low mitotic count or rate with no specific number" ], [ "992", "Specific number not stated, described as more than 4 mitoses per 10 HPF (40x field)\n\nStated as high mitotic count or rate with no specific number" ], [ "996", "Mitotic count described with denominator other than 10 HPF (40x field) " ], [ "998", "No histologic specimen from primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpe.json deleted file mode 100644 index 4704a660e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpe", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Carcinoembryonic Antigen (CEA) Lab Value", - "notes" : "**Note 1:** CEA is a tumor marker that has value in the management of certain malignancies.\n\n**Note 2:** The same laboratory test should be used to record information in **Site-Specific Factor 1, Carcinoembryonic Antigen (CEA)** and **Site Specific Factor 3, Carcinoembryonic Antigen (CEA) Lab Value**.\n\n**Note 3:** Record to the nearest tenth in nanograms/milliliter (ng/ml) the highest CEA lab value documented in the medical record prior to treatment.\n \n* For example, code a pretreatment CEA of 7 ng/ml as 070\n\n**Note 4:** Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of CEA). Do not round tiny values down to 0.0 ng/ml; any measured value less than or equal to 0.1 ng/ml should be coded 001. \n\n* For code 001, also round 0.11-0.14 ng/ml down to 0.1 ng/ml\n* For codes 002-980, round values to the nearest tenth of a ng/ml\n\n**Note 5:** For an uncertain value, record the stated closest value. \n\n* For example, code a value stated as \"less than 0.5 ng/ml\" as 005", - "last_modified" : "2018-05-14T21:29:02.903Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 nanograms/milliliter (ng/ml) exactly" ], [ "001", "0.1 or less ng/ml\nStated as less than 0.1 ng/ml with no exact value" ], [ "002-979", "0.2-97.9 ng/ml\n(Exact value to nearest tenth in ng/ml)" ], [ "980", "98.0 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lph.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lph.json deleted file mode 100644 index 6cfd0bc57..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lph.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lph", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "International Prognostic Index (IPI)", - "notes" : "**Note 1:** The International Prognostic Index (IPI) has been developed for lymphomas and predicts outcome based on the following adverse factors\n\n* Age greater than or equal to 60 years \n* Ann Arbor Stage III or IV\n* More than 1 extranodal site involved \n* Patient's performance status (Eastern Cooperative Oncology Group, ECOG) 2, 3, or 4\n* Elevated serum lactate dehydrogenase (LDH) level\n\n**Note 2:** Record the IPI as stated in the medical record. Do not calculate points or assign risk. Only record points or risk if a physician has documented them. Use points over risk if both are available.\n\n**Note 3:** There are now three indices/scores associated with lymphoma\n* The International Prognostic Index (IPI) (**Site-Specific Factor 3**) \n* The Follicular Lymphoma International Prognostic Index (FLIPI) (**Site-Specific Factor 4**) \n* The International Prognostic Score (IPS- for Hodgkin lymphomas) (**Site-Specific Factor 5**)\n\nPhysicians may use these indices/scores interchangeably. For coding\n\n* Score identified: Value in appropriate SSF, 999 in other two SSFs\n* Score not identified, point value 5 or less: 999 in all three SSFs\n* Score not identified, point value 6 or 7: Value in SSF 5 (IPS), 999 in other two SSFs", - "last_modified" : "2018-05-14T21:29:01.108Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 points" ], [ "001", "1 point" ], [ "002", "2 points" ], [ "003", "3 points" ], [ "004", "4 points" ], [ "005", "5 points" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Stated as low risk (0-1 point)" ], [ "991", "Stated as low intermediate risk (2 points)" ], [ "992", "Stated as intermediate risk (3 points)" ], [ "993", "Stated as high risk (4-5 points)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpj.json deleted file mode 100644 index 6476cf78a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Measured Thickness (Depth)", - "notes" : "**Note:** Code **Measured Thickness (Depth)** of tumor, not size. Record actual measurement in tenths of millimeters (mm) from clinical documentation, or from a pathology report if surgery performed.", - "last_modified" : "2018-05-14T21:29:00.360Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "00.1 - 97.9 millimeters (mm)\n(Exact measurement to nearest tenth of mm) \n\nExamples:\n 001 00.1 mm\n 002 00.2 mm\n 010 01.0 mm\n 074 07.4 mm\n 100 10.0 mm\n 105 10.5 mm\n 979 97.9 millimeters" ], [ "980", "98.0 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microinvasion; microscopic focus or foci only and no size given" ], [ "991", "Described as \"less than 3 mm\"" ], [ "992", "Described as \"greater than 3 mm\" or \"less than or equal to 6 mm\"" ], [ "993", "Described as \"greater than 6 mm\" or \"less than or equal to 9 mm\"" ], [ "994", "Described as \"greater than 9 mm\" or \"less than or equal to 12 mm\"" ], [ "995", "Described as \"greater than 12 mm\" or \"less than or equal to 15 mm\"" ], [ "996", "Described as \"greater than 15 mm\"" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpk.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpk.json deleted file mode 100644 index f9ecc5ffb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpk", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Bone Invasion", - "notes" : "**Note:** Record bone invasion as determined by imaging only for the primary tumor. Imaging methodologies include computed tomography (CT) scans and magnetic resonance imaging (MRI)", - "last_modified" : "2018-05-14T21:29:02.437Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Bone invasion not present/not identified on imaging" ], [ "010", "Bone invasion present/identified on imaging" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No imaging done for bone invasion" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpl.json deleted file mode 100644 index 47fac4dc6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpl", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Number of Regional Lymph Nodes with Extracapsular Tumor", - "notes" : "**Note:** Record the information from the pathology report. If no nodes are removed, code 998. If the pathology report is unavailable, use code 997.", - "last_modified" : "2018-05-14T21:29:03.160Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All nodes examined negative for cancer involvement\nAll nodes examined negative for extracapsular tumor" ], [ "001-089", "1 - 89 nodes positive for extracapsular tumor \n(Exact number of nodes with extracapsular tumor.)" ], [ "090", "Nodes positive for extracapsular tumor, number unknown or not stated" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Positive nodes, not stated if extracapsular tumor present" ], [ "997", "Histopathologic examination of lymph nodes performed, results not available" ], [ "998", "No histopathologic examination of lymph nodes" ], [ "999", "Unknown if regional lymph node(s) involved pathologically \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpm.json deleted file mode 100644 index 9509292f0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpm.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Functional Neurologic Status - Karnofsky Performance Scale (KPS)", - "notes" : "**Note 1:** The Karnofsky Performance Scale (KPS) allows patients to be classified according to their functional impairment. This classification can be used to compare effectiveness of different therapies and to assess prognosis for individual patients. \n\n* The lower the Karnofsky scale value, the worse the predicted survival for most serious illnesses.\n\n**Note 2:** Record the KPS only as specifically documented in the patient's record by the physician. Do not attempt to determine the KPS from other information in the record. \n\n* If the KPS value is expressed in terms of a range, use the higher value. For example, use code 080 if the physician states \"The patient's Karnofsky score is between 70 and 80.\n\n**Note 3:** For reference only, the classification scale is listed here:\n\n* ** 0** Dead\n* **10** Moribund, fatal processes progressing rapidly\n* **20** Very sick, hospitalization necessary; active supportive treatment necessary\n* **30** Severely disabled; hospitalization is indicated although death not imminent\n* **40** Disabled; requires special care and assistance\n* **50** Requires considerable assistance and frequent medical care\n* **60** Requires occasional assistance, but is able to care for most personal needs\n* **70** Cares for self; unable to carry on normal activity or do active work\n* **80** Normal activity with effort; some signs or symptoms of disease\n* **90** Able to carry on normal activity; minor signs or symptoms of disease.\n* **100** Normal;no complaints; no evidence of disease", - "last_modified" : "2018-05-14T21:29:01.307Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Karnofsky Performance Scale (KPS) 0" ], [ "010", "KPS 10" ], [ "020", "KPS 20" ], [ "030", "KPS 30" ], [ "040", "KPS 40" ], [ "050", "KPS 50" ], [ "060", "KPS 60" ], [ "070", "KPS 70" ], [ "080", "KPS 80" ], [ "090", "KPS 90" ], [ "100", "KPS 100" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpp.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpp.json deleted file mode 100644 index 272ba442d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpp.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpp", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Number of Positive Pelvic Nodes", - "notes" : "**Note:** Record the number of positive pelvic lymph nodes documented in the patient record. Apply the same instructions for coding Regional Nodes Positive to this data item.", - "last_modified" : "2018-05-14T21:29:01.184Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All pelvic nodes examined negative" ], [ "001-089", "1 - 89 pelvic nodes positive \n(Exact number of nodes positive)" ], [ "090", "90 or more pelvic nodes positive" ], [ "095", "Positive aspiration or core biopsy of pelvic lymph node(s)" ], [ "097", "Positive pelvic nodes, number not specified" ], [ "098", "No pelvic nodes examined" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if pelvic nodes are positive \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpr.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpr.json deleted file mode 100644 index 29aa73757..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpr.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpr", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Measured Thickness (Depth)", - "notes" : "**Note:** Code measured thickness (depth) of tumor not size. Record actual measurement in tenths of millimeters (mm) from clinical documentation, or from a pathology report if surgery performed.", - "last_modified" : "2018-05-14T21:29:00.057Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001-979", "00.1 - 97.9 millimeters (mm)\n(Exact measurement to nearest tenth of mm)\n \nExamples:\n 001 00.1 mm \n 002 00.2 mm\n 010 01.0 mm \n 074 07.4 mm\n 100 10.0 mm\n 105 10.5 mm \n 979 97.9 mm" ], [ "980", "98.0 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microinvasion; microscopic focus or foci only and no size given" ], [ "991", "Described as \"less than 3 mm\"" ], [ "992", "Described as \"greater than 3 mm\" or \"less than or equal to 6 mm\"" ], [ "993", "Described as \"greater than 6 mm\" or \"less than or equal to 9 mm\"" ], [ "994", "Described as \"greater than 9 mm\" or \"less than or equal to 12 mm\"" ], [ "995", "Described as \"greater than 12 mm\" or \"less than or equal to 15 mm\"" ], [ "996", "Described as \"greater than 15 mm\"" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lps.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lps.json deleted file mode 100644 index 37b12c22d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lps.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lps", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Alpha Fetoprotein (AFP) Lab Value", - "notes" : "**Note 1:** The same laboratory test should be used to record information in **Site Specific Factor 1, Alpha Fetoprotein (AFP) Interpretation** and **Site Specific Factor 3, Alpha Fetoprotein (AFP) Lab Value**.\n\n**Note 2:** Record the range for the highest alpha fetoprotein (AFP) lab value in nanograms/milliliter (ng/ml) as documented in the patient record prior to treatment. The lab value may be recorded in a lab report, history and physical, or clinical statement in the pathology report. \n\n* For example, code a pretreatment AFP of 20 ng/ml as 002; code pretreatment AFP of 11,000 ng/ml as 200\n\n**Note 3:** A lab value expressed in micrograms per liter (ug/l) is equivalent to the same value expressed in ng/ml.\n\n**Note 4:** Code any measured value less than or equal to 1.0 ng/ml as 001.\n\n**Note 5:** If the test was done but the actual value is not stated, code 997.", - "last_modified" : "2018-05-14T21:29:00.431Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 nanograms/milliliter (ng/ml)" ], [ "001", "1 - 19 ng/ml" ], [ "002", "20 - 29 ng/ml" ], [ "003", "30 - 39 ng/ml " ], [ "004", "40 - 49 ng/ml" ], [ "005", "50 - 59 ng/ml" ], [ "006", "60 - 69 ng/ml" ], [ "007", "70 - 79 ng/ml" ], [ "008", "80 - 89 ng/ml" ], [ "009", "90 - 99 ng/ml" ], [ "010", "100 - 199 ng/ml" ], [ "020", "200 - 299 ng/ml" ], [ "030", "300 - 399 ng/ml" ], [ "040", "400 - 499 ng/ml" ], [ "050", "500 - 599 ng/ml" ], [ "060", "600 - 699 ng/ml" ], [ "070", "700 - 799 ng/ml" ], [ "080", "800 - 899 ng/ml" ], [ "090", "900 - 999 ng/ml" ], [ "100", "1000 - 1999 ng/ml" ], [ "120", "2000 - 2999 ng/ml" ], [ "130", "3000 - 3999 ng/ml" ], [ "140", "4000 - 4999 ng/ml" ], [ "150", "5000 - 5999 ng/ml" ], [ "160", "6000 - 6999 ng/ml" ], [ "170", "7000 - 7999 ng/ml" ], [ "180", "8000 - 8999 ng/ml" ], [ "190", "9000 - 9999 ng/ml" ], [ "200", "Greater than or equal to 10,000 ng/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpt.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpt.json deleted file mode 100644 index 7d282f148..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpt.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf3_lpt", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Residual Tumor Status and Size After Primary Cytoreduction Surgery", - "notes" : "**Note 1:** The surgery to remove as much cancer in the pelvis and/or abdomen as possible, reducing the \"bulk\" of the cancer, is called \"debulking\" or \"cytoreductive\" surgery. It is performed when there is widespread evidence of advanced stage of ovarian cancer with obvious spread to other organs outside the ovary, typically in the upper abdomen, intestines, the omentum (the fat pad suspended from the transverse colon like an apron), the diaphragm, or liver. \n\n**Note 2:** Optimal debulking is described as removal of all tumor except for residual nodules that measure no more than 1 centimeter (cm) in maximum diameter.\n\n**Note 3:** According to the AJCC, \"In advanced disease, the most important prognostic factor is the residual disease after the initial surgical management.\" Neoadjuvant chemotherapy may be given to obtain optimum cytoreduction with less aggressive surgery; recording whether the patient received chemotherapy prior to this procedure provides necessary data for treatment and survival analysis. (1)\n\n**Note 4:** Record the largest residual tumor nodule(s) remaining after primary cytoreductive surgery, as described by the surgeon in the operative report.", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) AJCC Cancer Staging Manual (7th ed.). New York; London: Springer, pg. 420", - "last_modified" : "2018-05-14T21:29:01.270Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No gross residual tumor nodules" ], [ "010", "Residual tumor nodule(s) 1 centimeter (cm) or less\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "020", "Residual tumor nodule(s) 1 cm or less\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "030", "Residual tumor nodule(s) greater than 1 cm\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "040", "Residual tumor nodule(s) greater than 1 cm\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Macroscopic residual tumor, size not stated\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "991", "Macroscopic residual tumor nodule(s), size not stated\nAND neoadjuvantchemotherapy given (before surgery)" ], [ "992", "Procedure described as optimal debulking and size of residual tumor nodule(s) not given \nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "993", "Procedure described as optimal debulking and size of residual tumor nodule(s) not given \nAND neoadjuvant chemotherapy given (before surgery)" ], [ "998", "No cytoreductive surgery performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpu.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpu.json deleted file mode 100644 index 9df2a5e9c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf3_lpu.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf3_lpu", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF3", - "title" : "Site-Specific Factor 3", - "subtitle" : "Assessment Method of Pelvic Nodal Status", - "notes" : "**Note 1:** The assessment results are recorded in **Site-Specific Factor 2, Pelvic Nodal Status**.\n\n**Note 2:** Use the highest applicable code.", - "last_modified" : "2018-05-14T21:29:01.273Z", - "definition" : [ { - "key" : "ssf3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Clinical assessment" ], [ "020", "Radiography, imaging \n(Ultrasound (US), Computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))" ], [ "030", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "040", "Lymphadenectomy\nExcisional biopsy or resection with microscopic confirmation" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_maa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_maa.json deleted file mode 100644 index 8fc5a1423..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_maa.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf4_maa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Serum Lactate Dehydrogenase (LDH)", - "notes" : "**Note 1:** Per AJCC, \"To confirm the elevated serum [lactate dehydrogenase] LDH for staging purposes, it is recommended to obtain two or more determinations obtained more than 24 [hours] apart, since an elevated serum LDH on a single determination can be falsely positive as a result of hemolysis or other factors unrelated to melanoma metastases.\" (1)\n\n**Note 2:** Positive results from two laboratory tests are required to code a positive value in this field. If the first test is positive and the second test is negative, code the results as negative or within normal limits, unless an additional test with positive results is performed. \n* If the first test is positive and there is no second test, record 998 if it is known that a second test was not performed; code 999 if there is no information about a second test\n* If the only test is negative or within normal limits, code the results from the single test\n\n**Note 3:** Record the range for the positive LDH value prior to treatment or within six weeks of diagnosis.  Give priority to the first positive test performed.  \n* The information should be taken from the same test used to code **Site-Specific Factor 5, Serum Lactate Dehydrogenase (LDH) Lab Value** and **Site-Specific Factor 6, LDH Upper Limits of Normal.**", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) *AJCC Cancer Staging Manual (7th ed.)*. New York; London: Springer, pg. 334", - "last_modified" : "2018-05-14T21:29:01.370Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Within normal limits" ], [ "010", "Range 1: Less than 1.5 x upper limit of normal for lactate dehydrogenase (LDH) assay\n\nStated as elevated, NOS" ], [ "020", "Range 2: 1.5 - 10 x upper limit of normal for LDH assay" ], [ "030", "Range 3: More than 10 x upper limit of normal for LDH assay" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mab.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mab.json deleted file mode 100644 index 93fd9ac59..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mab.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mab", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Immunohistochemistry (IHC) of Regional Lymph Nodes", - "notes" : "**Note 1:** Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 millimeter (mm), usually detected by immunohistochemistry (IHC), hematoxylin and eosin stains (H and E) (see pN0 (i+)), or molecular (MOL) methods (Reverse Transcription Polymerase Chain Reaction, RT-PCR) (see **Site-Specific Factor 5, Molecular (MOL) Studies of Regional Lymph nodes**). \n\n* ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction)\n\n**Note 2:**  When N is coded N0, use codes 000-009 only to report results of IHC. Otherwise code 987 in this field.\n\n**Note 3:** If it is unstated whether or not tests are done for IHC, assume they are not done.\n\n**Note 4:** If the record states N0(i+) and no other information, code to 009.", - "last_modified" : "2018-05-14T21:29:01.235Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Regional lymph nodes negative on routine hematoxylin and eosin (H and E), no immunohistochemistry (IHC) \nOR unknown if tested for isolated tumor cells (ITCs) by IHC studies \nNodes clinically negative, not examined pathologically" ], [ "001", "Regional lymph nodes negative on routine H and E, IHC studies done, negative for tumor" ], [ "002", "Regional lymph nodes negative on routine H and E, IHC studies done, positive for ITCs \n(Tumor cell clusters not greater than 0.2 millimeter (mm))" ], [ "009", "Regional lymph nodes negative on routine H and E, positive for tumor detected by IHC, size of tumor cell clusters or metastases not stated\n\nStated as N0(i+) with no further information on regional lymph nodes" ], [ "987", "Not applicable: Regional Lymph Nodes not assigned pN0" ], [ "988", "Not applicable: Information not collected for this case" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mac.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mac.json deleted file mode 100644 index 9862cd2aa..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mac.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ssf4_mac", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Radical Orchiectomy Performed", - "last_modified" : "2018-05-14T21:28:59.992Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Radical orchiectomy not performed " ], [ "010", "Radical orchiectomy performed" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if radical orchiectomy performed" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_maj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_maj.json deleted file mode 100644 index 8fcc8046b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_maj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_maj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Perineural Invasion", - "notes" : "**Note:** Code the presence or absence of perineural invasion as documented in the pathology report. \n* Assign code 999 if histologic examination of the primary site is performed and perineural invasion is not mentioned", - "last_modified" : "2018-05-14T21:28:58.388Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Perineural invasion not present/not identified" ], [ "010", "Perineural Invasion present/identified" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mal.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mal.json deleted file mode 100644 index 9f8ed769e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mal.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mal", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Creatinine Value", - "notes" : "**Note 1:** *The Model for End-Stage Liver Disease (MELD)* is a numerical scale used to determine how urgently a patient with liver disease needs a liver transplant within the next three months. Results from three routine lab tests are used to calculate the MELD score. Creatinine, one of the tests, measures kidney function; impaired kidney function is often associated with severe liver disease.\n\n**Note 2:** Normal values may vary from lab to lab. The typical human reference ranges are 0.5 to 1.0 milligrams/deciliter (mg/dl) (about 45-90 micromoles/liter (umol/l) for women and 0.7 to 1.2 mg/dl (60-110 umol/l) for men.\n\n**Note 3:** Record the blood or serum creatinine value for this data item.\n\n**Note 4:** Record to the nearest tenth in mg/dl or umol/l the highest creatinine value prior to treatment. \n* Record a creatinine value of 0.53 mg/dL as 005\n* Record a value of 60 umol/l as 600\n* Record a value of 110 umol/l as 980\n\n**Note 5:**  Record the creatinine unit of measure for the same laboratory test in **Site-Specific Factor 5, Creatinine Unit of Measure**.\n\n**Note 6:** Use code 997 if the test was done but the actual value is not stated. Use code 997 if the test was done but the unit is not in mg/dl or umol/l.", - "last_modified" : "2018-05-14T21:29:02.614Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001", "0.1 or less milligram/deciliter (mg/dl)\n0.1 or less micromole/liter (umol/l) \n(Exact value to nearest tenth in mg/dl or umol/l)" ], [ "002-979", "0.2 - 97.9 mg/dl \n0.2 - 97.9 umol/l\n(Exact value to nearest tenth of mg/dl or umol/l)" ], [ "980", "98.0 mg/dl or greater\n98.0 umol/l or greater" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mam.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mam.json deleted file mode 100644 index 0827f267b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mam.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mam", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Sarcomatoid Features", - "notes" : "**Note 1:** Sarcomatoid morphology may be manifested by any renal cell carcinoma. The presence of sarcomatoid component in a renal cell carcinoma may be prognostically important. \n\n**Note 2:** Record the presence or absence of sarcomatoid features as documented anywhere in the pathology report. \n* Assign code 000 if pathologic examination of the primary site is performed, the pathology report is available for review, and sarcomatoid features are not mentioned", - "last_modified" : "2018-05-14T21:29:00.075Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Sarcomatoid features not present/not identified " ], [ "010", "Sarcomatoid features present/identified" ], [ "987", "Not applicable: Not a renal cell carcinoma morphology" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No pathologic examination of primary site" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mas.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mas.json deleted file mode 100644 index a4ae72280..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mas.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf4_mas", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1:** The mitotic count, the number of mitoses per 10 high-power fields (HPF), is an element in a proposed grading scheme for neuroendocrine tumors (NETs) of the gastrointestinal system. This site-specific factor presumes the denominator of 10 HPF, so just the numberator (the mitotic count) is coded here. For other schemas in which mitotic count is collected, the denominator may vary.\n\n**Note 2:** As described in the AJCC chapter on NETs, 10 HPF at a magnification objective of 40 (40x) are equivalent to 2 square millimeters (mm). (1)\n\n**Note 3:** Record mitotic count to the nearest tenth as documented in the pathology report. For example, a mitotic count of 3/10 HPF would be coded as 030.\n\n**Note 4:** Code the specific mitotic count only per 10 HPF or 2 square mm; assume the denominator is 10 HPF or 2 square mm if not specified. Use code 996 only if the mitotic count is expressed with a specific denominator other than 10 HPF or 2 square mm.", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) *AJCC Cancer Staging Manual (7th ed.)*. New York; London: Springer, pg. 184", - "last_modified" : "2018-05-14T21:29:02.439Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 mitoses per 10 high-power fields (HPF) (40x field)\n0.0 mitoses per 2 square millimeters (mm)\nMitoses absent\nNo mitoses present" ], [ "001-008", "01 - 0.8 mitosis per 10 HPF (40x field)\n0.1 - 0.8 mitosis per 2 square mm" ], [ "009", "0.9 mitosis per 10 HPF (40x field)\n0.9 mitosis per 2 square mm \n\nStated as less than 1 mitosis per 10 HPF (40x field)\nStated as less than 1 mitosis per 2 square mm" ], [ "010-500", "1-50 mitoses per 10 HPF (40x field)\n1-50 mitoses per 2 square mm" ], [ "510", "51 or more mitoses per 10 HPF (40x field)\n51 or more mitoses per 2 square mm" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Specific number not stated, described as less than 2 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as less than 2 mitoses per square mm\n\nStated as low mitotic count or rate with no specific number" ], [ "991", "Specific number not stated, described as between 2 and 20 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as between 2 and 20 mitoses per 2 square mm" ], [ "992", "Specific number not stated, described as more than 20 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as more than 20 mitoses per 2 square mm\n\nStated as high mitotic count or rate with no specific number" ], [ "996", "Mitotic count described with denominator other than 10 HPF (40x field) or 2 square mm" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mat.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mat.json deleted file mode 100644 index 0b125de7a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mat.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mat", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Primary Globe-Sparing Treatment Failure", - "notes" : "**Note 1:** This is a unique site-specific factor that collects information from recurrence after the initial diagnosis. The initial code is updated at the time of recurrence after the first course of globe-sparing treatment.\n\n**Note 2:** Record 000 or 987 at initial diagnosis and treatment, depending on whether the initial treatment was globe-sparing or surgical enucleation.\n\n**Note 3:** Change the recorded value of 000 to 010, 020, or 030 at the first recurrence in a treated eye after globe-sparing treatment. \n* Use code 999 if recurrence is known but there is no more specific information available", - "last_modified" : "2018-05-14T21:29:00.123Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Initial diagnosis with primary globe-sparing treatment of retinoblastoma" ], [ "010", "Failure of primary globe-sparing treatment in unilateral retinoblastoma " ], [ "020", "Failure of primary globe-sparing treatment in bilateral retinoblastoma, neither eye enucleated at initial diagnosis" ], [ "030", "Failure of primary globe-sparing treatment in bilateral retinoblastoma, one eye only enucleated at initial diagnosis" ], [ "987", "Initial course of treatment was not globe-sparing for unilateral or bilateral retinoblastoma" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mav.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mav.json deleted file mode 100644 index 4cefc40ec..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mav.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mav", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Number of Positive Pelvic Nodes", - "notes" : "**Note:** Record the number of positive pelvic lymph nodes documented in the patient record. Apply the same instructions for coding Regional Nodes Positive to this data item.", - "last_modified" : "2018-05-14T21:29:01.144Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All pelvic nodes examined negative" ], [ "001-089", "1 - 89 pelvic nodes positive (Exact number of nodes positive)" ], [ "090", "90 or more pelvic nodes positive" ], [ "095", "Positive aspiration or core biopsy of pelvic lymph node(s)" ], [ "097", "Positive pelvic nodes, number not specified" ], [ "098", "No pelvic nodes examined" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if pelvic nodes are positive \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_maz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_maz.json deleted file mode 100644 index a2da95ce1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_maz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_maz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Presence of Chest Pain", - "notes" : "**Note 1:** The presence of chest pain which results in work up or diagnosis is a prognostic factor for pleura mesothelioma (code 010). \n\n**Note 2:** Record any stated chest pain based on documentation from medical record. If chest pain is present but is not documented as the presenting symptom which led the patient to seek medical care, use code 020.", - "last_modified" : "2018-05-14T21:29:01.882Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of chest pain" ], [ "010", "History of chest pain which resulted in work up or diagnosis " ], [ "020", "History of chest pain positive, NOS " ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbd.json deleted file mode 100644 index 46ee0d1cd..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mbd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Resected Pulmonary Metastasis", - "notes" : "**Note:** Record exact number of pulmonary metastasis identified during initial diagnosis and resected, as documented in the pathology report.", - "last_modified" : "2018-05-14T21:29:01.765Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No lung metastasis resected" ], [ "001-050", "Number of pulmonary metastases resected" ], [ "099", "Lung metastasis resected, number unknown" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbg.json deleted file mode 100644 index 2e596760f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mbg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Size of Lymph Nodes", - "notes" : "**Note 1:** Code the largest diameter, whether measured clinically or pathologically, of any involved regional lymph node(s). \n* Do not code the size of any distant lymph node(s)\n\n**Note 2:** Record only for squamous cell carcinoma of skin of eyelid. \n* For other histologies, code 987, not applicable", - "last_modified" : "2018-05-14T21:29:01.447Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involved regional lymph nodes" ], [ "001-979", "001-979 millimeters (mm)\n(Exact size in mm)" ], [ "980", "980 mm or larger" ], [ "987", "Not applicable, not squamous cell carcinoma of skin of eyelid" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm\" or \"greater than 1 cm\" or between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm\" or \"greater than 2 cm\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm\" or \"greater than 3 cm\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm\" or \"greater than 4 cm\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 6 cm\" or \"greater than 5 cm\" or \"between 5 cm and 6 cm\"" ], [ "997", "Described as \"more than 6 cm\"" ], [ "999", "Regional lymph node(s) involved, size not stated\nUnknown if regional lymph node(s) involved\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbh.json deleted file mode 100644 index 6a5b5a6a6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mbh", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "CD4 Cell Count", - "notes" : "**Note 1:** The CD4 cell count is used to monitor how well the immune system is working in a patient who is Human Immunodeficiency Virus (HIV) positive. A blood test measures the number of CD4 T-cells in each microliter (ul) of blood. The measurement may also be in CD4 cells per cubic millimeter of blood. One microliter (ul) is equivalent to 1 cubic millimeter of fluid. A low CD4 count (less than 200) indicates a weakened immune system. For Kaposi Sarcoma patients, a CD4 count lower than 200 is a poor risk factor.\n\n**Note 2:** Record the CD4 count at the time of the Kaposi Sarcoma diagnosis as documented in the patient record. If the CD4+ count is 980 or greater use code 980. If the test is done but the actual value is not available or not stated, use code 997.\n\n**Note 3:** If the patient is HIV negative, use code 987.\n\n**Note 4:** Record the actual value of the CD4 count as documented in the patient record. If the actual CD4+ count is 980 or greater, use code 980.", - "last_modified" : "2018-05-14T21:29:01.116Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-979", "CD4 count 001-979/cubic millimeter or microliter (ul) of blood\n(Exact count of CD4 cells)" ], [ "980", "CD4 count 980 or greater/cubic millimeter or microliter (ul) of blood" ], [ "987", "Not applicable: Patient is HIV negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "CD4 count less than 200, NOS\nCD4 count stated to be low\nCD4 count stated to be poor risk" ], [ "991", "CD4 count greater than or equal to 200, NOS\nCD4 count stated to be normal\nCD4 count stated to good risk" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbi.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbi.json deleted file mode 100644 index fd2dbf417..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbi.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mbi", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Crohn Disease", - "notes" : "**Note 1:** Crohn disease is an inflammatory bowel disease associated with an increased risk for small intestinal carcinomas. Crohn disease is also known as ileitis or enteritis. It is not the same as irritable bowel syndrome.\n\n**Note 2:** Code the absence or presence of Crohn disease, including a history of Crohn disease.", - "last_modified" : "2018-05-14T21:29:03.223Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of Crohn disease" ], [ "010", "History of Crohn disease" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbj.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbj.json deleted file mode 100644 index c5c92c0fb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mbj.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mbj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Follicular Lymphoma Prognostic Index (FLIPI)", - "notes" : "**Note 1:** The Follicular Lymphoma Prognostic Index (FLIPI) has been developed for follicular lymphomas and predicts outcome based on the following adverse factors\n* Age more than 60 years \n* Ann Arbor Stage III or IV\n* More than 4 nodal areas involved\n* Elevated serum lactate dehydrogenase LDH level\n* Serum hemoglobin concentration less than 12 grams/deciliter (g/dl)\n\n**Note 2:** Record the FLIPI as documented in the medical record. Do not calculate points or assign risk. Only record points or risk if a physician has documented them. Use points over risk if both are available.\n\n**Note 3:** There are now two indices/scores associated with lymphoma \n* The International Prognostic Index (IPI) (**Site-Specific Factor 3**) \n* The Follicular Lymphoma International Prognostic Index (FLIPI) (**Site-Specific Factor 4**) \n\nPhysicians may use these indices/scores interchangeably. For coding\n* Score identified: Value in appropriate SSF, 999 in other SSF\n* Score not identified, point value 5 or less: 999 in both SSF", - "last_modified" : "2018-05-14T21:29:00.291Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 points" ], [ "001", "1 point" ], [ "002", "2 points" ], [ "003", "3 points" ], [ "004", "4 points" ], [ "005", "5 points" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Stated as low risk (0-1 point)" ], [ "991", "Stated as intermediate risk (2 points)" ], [ "992", "Stated as high risk (3-5 points)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpa.json deleted file mode 100644 index 3843f08e5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Levels IV-V and Retropharyngeal Lymph Nodes for Head and Neck", - "notes" : "**Note 1:** **Site-Specific Factors 3-6** are used to code the presence or absence of lymph node involvement in each of 7 different levels and other groups defined by TNM. The definitions of the levels are the same for all applicable head and neck sites. One digit is used to represent lymph nodes of a single level, with the digits of **Site-Specific Factor 3** representing lymph nodes of Levels I-III; the digits of **Site-Specific Factor 4** representing lymph nodes of Levels IV and V and the retropharyngeal nodes; the digits of **Site-Specific Factor 5** representing lymph nodes of Levels VI and VII and the facial nodes; and the digits of **Site-Specific Factor 6** representing the remaining Other groups as defined by TNM. In each digit, a code 1 means yes, the nodes are involved.\n\n**Note 2:** If involved regional node levels are documented as a range, or if the involved nodes overlap multiple levels, code all levels specified.\n\n**Note 3:** If regional node(s) are known to be positive but the level of node(s) involved is unknown, use code 000.\n\n**Note 4:** Levels IV - V are also referred to as\n\n* Level IV - Lower jugular group \n* Level V - Dorsal cervical nodes along the spinal accessory nerve and supraclavicular nodes (mostly Level IV)", - "last_modified" : "2018-05-14T21:29:03.712Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involvement in Levels IV or V or retropharyngeal lymph nodes" ], [ "100", "Level IV lymph node(s) involved" ], [ "010", "Level V lymph node(s) involved" ], [ "001", "Retropharyngeal nodes involved" ], [ "110", "Levels IV and V lymph nodes involved" ], [ "101", "Levels IV and retropharyngeal lymph nodes involved" ], [ "011", "Levels V and retropharyngeal lymph nodes involved" ], [ "111", "Levels IV and V and retropharyngeal lymph nodes involved" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if regional lymph nodes involved, not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpb.json deleted file mode 100644 index aa1b4c74b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Tumor Deposits", - "notes" : "**Note 1:** Tumor deposits (TD) are defined as one or more satellite peritumoral nodules in the pericolorectal adipose tissue of a primary carcinoma without histologic evidence of residual lymph node in the nodule. Such TD may represent discontinuous spread, venous invasion with extravascular spread, or a totally replaced lymph node.\n\n**Note 2:** Record the number of TD whether or not there are positive lymph nodes.\n\n**Note 3:** Assign code 000 if surgical resection of the primary site is performed, the pathology report is available for review, and tumor deposits are not mentioned.", - "last_modified" : "2018-05-14T21:29:02.865Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "None" ], [ "001-080", "1-80 Tumor deposits (TD) \n(Exact number of TD)" ], [ "081", "81 or more TD" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "TD identified, number unknown" ], [ "998", "No surgical resection of primary site" ], [ "999", "Unknown or no information\nInsufficient information; indeterminiate if TD present\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpd.json deleted file mode 100644 index f2198de01..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Follicular Lymphoma Prognostic Index (FLIPI)", - "notes" : "**Note 1:** The Follicular Lymphoma Prognostic Index (FLIPI) has been developed for follicular lymphomas and predicts outcome based on the following adverse factors\n\n* Age greater than or equal to 60 years \n* Ann Arbor Stage III or IV\n* More than 4 nodal areas involved\n* Elevated serum lactate dehydrogenase LDH level\n* Serum hemoglobin concentration less than 12 grams/deciliter (g/dl)\n\n**Note 2:** Record the FLIPI as documented in the medical record. Do not calculate points or assign risk. Only record points or risk if a physician has documented them. Use points over risk if both are available.\n\n**Note 3:** There are now three indices/scores associated with lymphoma\n* The International Prognostic Index (IPI) (**Site-Specific Factor 3**) \n* The Follicular Lymphoma International Prognostic Index (FLIPI) (**Site-Specific Factor 4**) \n* The International Prognostic Score (IPS- for Hodgkin lymphomas) (**Site-Specific Factor 5**)\n\nPhysicians may use these indices/scores interchangeably. For coding\n\n* Score identified: Value in appropriate SSF, 999 in other two SSFs\n* Score not identified, point value 5 or less: 999 in all three SSFs\n* Score not identified, point value 6 or 7: Value in SSF 5 (IPS), 999 in other two SSFs", - "last_modified" : "2018-05-14T21:29:01.100Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 points" ], [ "001", "1 point" ], [ "002", "2 points" ], [ "003", "3 points" ], [ "004", "4 points" ], [ "005", "5 points" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Stated as low risk (0-1 point)" ], [ "991", "Stated as intermediate risk (2 points)" ], [ "992", "Stated as high risk (3-5 points)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpe.json deleted file mode 100644 index 7b252d716..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpe", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Size of Largest Metastasis", - "notes" : "**Note 1:** Record the size of the largest diameter of the largest metastasis in any site, including distant lymph node or distant organ. \n* Do not record the size of the metastasis in a regional lymph node\n\n**Note 2:** The metastasis may be measured either clinically or pathologically.", - "last_modified" : "2018-05-14T21:29:00.345Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No metastatic disease " ], [ "001-979", "001 - 979 millimeters (mm) (Exact size to nearest mm)" ], [ "980", "980 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Described as \"less than 3 cm\"" ], [ "992", "Described as \"less than 8 cm,\" or \"greater than 3 cm,\" or \"between 3 cm and 8 cm\"" ], [ "993", "Described as \"greater than 8 cm\" " ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpf.json deleted file mode 100644 index b3a6385a6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Pathologic M1: Source of Pathologic Metastatic Specimen", - "notes" : "**Note:** Record only metastases present at the time of initial diagnosis and verified by pathologic examination of the metastatic site. Record metastases determined by clinical examination only in code 998. \n* Do not record metastases that represent progression of disease after diagnosis, whether determined clinically or pathologically", - "last_modified" : "2018-05-14T21:29:01.597Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No pathologic metastasis identified at diagnosis\nMicroscopic exam of distant specimen negative for metastasis " ], [ "010", "Liver metastasis on pathologic examination at diagnosis" ], [ "020", "Lung metastasis on pathologic examination at diagnosis" ], [ "030", "Brain metastasis on pathologic examination at diagnosis" ], [ "040", "Bone metastasis on pathologic examination at diagnosis" ], [ "050", "Other metastasis on pathologic examination at diagnosis" ], [ "060", "010-050\nMetastases from multiple sites in codes 010-050 on pathologic examination at diagnosis" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No microscopic examination of metastatic site/no clinical evidence of metastasis and/or only clinical evidence of metastasis " ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpg.json deleted file mode 100644 index 39a46e511..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Distance to Proximal Edge of Tumor from Incisors", - "notes" : "**Note 1:** The location of the primary cancer site is defined by the position of the upper (proximal) edge of the tumor in the esophagus. The distance from the incisors to the proximal edge of the tumor is collected in this Site-Specific Factor. The location of the tumor's proximal edge within the esophagus may be described based on imaging, esophagoscopy, or surgical results.\n\n**Note 2:** Record the distance from the incisors to the proximal edge of tumor to the nearest centimeter (cm).\n\n**Note 3:** Calculate the distance to the proximal edge of tumor if the distance to the distal edge and the length of the tumor is known.", - "last_modified" : "2018-05-14T21:29:03.157Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-060", "1 - 60 centimeters (cm)\n(Exact distance from incisors to proximal edge of tumor to the nearest cm)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Described as \"less than 20 cm\" or \"greater than 15 cm\" or \"between 15 and 20 cm\"" ], [ "992", "Described as \"less than 25 cm\" or \"greater than 20 cm\" or \"between 20 and 25 cm\"" ], [ "993", "Described as \"less than 30 cm\" or \"greater than 25 cm\" or \"between 25 and 30 cm\"" ], [ "994", "Described as \"less than 40 cm\" or \"greater than 30 cm\" or \"between 30 and 40 cm\"" ], [ "995", "Described as \"less than 45 cm\" or \"greater than 40 cm\" or \"between 40 and 45 cm\"" ], [ "996", "Described as \"less than 60 cm\" or \"greater than 45 cm\" or \"between 45 and 60 cm\"" ], [ "997", "Described as \"greater than 60 cm\"" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpn.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpn.json deleted file mode 100644 index c884795b3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpn.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Methylation of O6-Methylguanine-Methyltransferase (MGMT)", - "notes" : "**Note 1:** O6-methylguanine-methyltransferase (MGMT) is an enzyme in cells that repairs DNA. DNA repair is undesirable in tumors, because they may be able to overcome the DNA damage done by chemotherapy. With methylation, less MGMT enzyme is produced, which may lead to prolonged survival compared to unmethylated MGMT.\n\n**Note 2:** Code the methylation status of the MGMT gene (also termed MGMT promoter) as stated in the medical record. A positive test result may be termed \"methylated,\" \"hypermethylated,\" or \"high.\" A negative result may be termed \"unmethylated\" or \"low.\" This molecular test is not part of a routine pathology report.", - "last_modified" : "2018-05-14T21:29:01.308Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Gene status methylated\nHypermethylated\nHigh levels of methylation" ], [ "020", "Gene status unmethylated\nLow levels of methylation" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of primary site\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpq.json deleted file mode 100644 index 5f65e1c22..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mpq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Number of Examined Pelvic Nodes", - "notes" : "**Note:** Record the number of examined pelvic lymph nodes documented in the patient record. Apply the same instructions for coding Regional Nodes Examined to this data item.", - "last_modified" : "2018-05-14T21:29:01.062Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No pelvic lymph nodes examined" ], [ "001-089", "1 - 89 pelvic lymph nodes examined \n(Exact number of pelvic lymph nodes examined)" ], [ "090", "90 or more pelvic lymph nodes examined" ], [ "095", "No pelvic lymph nodes removed, but aspiration or core biopsy of pelvic lymph nodes performed" ], [ "096", "Pelvic lymph node removal documented as a sampling, but number of nodes unknown/not stated" ], [ "097", "Pelvic lymph node removal documented as a dissection, but number of nodes unknown/not stated" ], [ "098", "Pelvic lymph nodes surgically removed, but number of nodes unknown/not stated and not documented as a sampling or dissection" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if pelvic nodes examined; \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpr.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpr.json deleted file mode 100644 index 4f381cc2b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mpr.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf4_mpr", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Tumor Location after Primary Cytoreduction (Debulking) Surgery", - "notes" : "**Note 1:** The surgery to remove as much of the cancer in the pelvis and/or abdomen as possible, reducing the \"bulk\" of the cancer is called \"debulking\" or \"cytoreduction\" surgery. It is performed when there is widespread evidence of advanced stage of ovarian cancer with obvious spread to other organs outside the ovary, typically in the upper abdomen, intestines, the omentum (the fat pad suspended from the transverse colon like an apron), the diaphragm, or liver.\n\n**Note 2:** Optimal debulking is described as removal of all tumor except for residual nodules that measure no more than 1 cm in maximum diameter.\n\n**Note 3:** According to the AJCC, \"In advanced disease, the most important prognostic factor is the residual disease after the initial surgical management. . . . Not only is the size of the residual important, but the number of sites of residual tumor also appears to be important.\" Neoadjuvant chemotherapy may be given to obtain optimum cytoreduction with less aggressive surgery; thus recording whether the patient received chemotherapy prior to this procedure provides necessary data for treatment and survival analysis.", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) AJCC Cancer Staging Manual (7th ed.). New York; London: Springer, pg. 420", - "last_modified" : "2018-05-14T21:29:02.686Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Residual tumor in ovary, ipsilateral, contralateral, or NOS\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "015", "010\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "020", "Residual tumor in:\n Fallopian tube, ipsilateral, contralateral, or NOS\n Uterus \nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "025", "020\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "030", "020 + 010\n\nResidual tumor in fallopian tube(s) and/or uterus plus ovary(ies)\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "040", "030\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "050", "Residual tumor in pelvis:\n Pelvic peritoneum\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "055", "050\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "060", "050 + (010 or 020) \n\nResidual tumor in pelvis plus any structures in lower codes\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "070", "060\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "080", "Residual tumor in omentum\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "085", "080\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "090", "080 + (010 or 020 or 050)\n\nResidual tumor in omentum plus any structures in lower codes\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "100", "090\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "110", "Residual tumor in abdomen (excluding colon and small intestine):\n Abdominal peritoneum\n Retroperitoneum\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "115", "110\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "120", "110 + (010 or 020 or 050 or 080)\n\nResidual tumor in abdomen plus any structures in lower codes\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "130", "120\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "140", "Residual tumor in colon and/or small intestine\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "145", "140\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "150", "140 + (010 or 020 or 050 or 080 or 110)\n\nResidual tumor in colon and/or small intestine plus any structures in lower codes\nAND neoadjuvant chemotherapy not given or unknown if given " ], [ "160", "150\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "170", "Residual tumor in diaphragm and/or stomach\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "180", "170 + (010 or 020 or 050 or 080 or 110 or 140)\n\nResidual tumor in diaphragm plus any structures in lower codes\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "190", "180 \nAND neoadjuvant chemotherapy given (before surgery)" ], [ "200", "Residual tumor in liver (peritoneal surface) AND neoadjuvant chemotherapy not given or unknown if given" ], [ "210", "200 + (010 or 020 or 050 or 080 or 110 or 140 or 170) \n\nResidual tumor in liver plus any structures in lower codes AND neoadjuvant chemotherapy not given or unknown if given" ], [ "220", "210 \nAND neoadjuvant chemotherapy given (before surgery)" ], [ "300", "Residual tumor in other structures not listed above\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "310", "Residual tumor in other structures not listed above\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Residual tumor, location not stated\nAND neoadjuvant chemotherapy not given or unknown if given" ], [ "991", "Residual tumor, location not stated\nAND neoadjuvant chemotherapy given (before surgery)" ], [ "992", "No residual tumor found AND neoadjuvant chemotherapy not given or unknown if given" ], [ "993", "No residual tumor found AND neoadjuvant chemotherapy given (before surgery)" ], [ "998", "No Debulking surgery performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mps.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mps.json deleted file mode 100644 index 1f37211d2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf4_mps.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf4_mps", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF4", - "title" : "Site-Specific Factor 4", - "subtitle" : "Para-Aortic Nodal Status", - "notes" : "**Note:** The para-aortic nodal status corresponds to the assessment method recorded in **Site-Specific Factor 5, Assessment Method of Para-Aortic Nodal Status**.", - "last_modified" : "2018-05-14T21:29:01.272Z", - "definition" : [ { - "key" : "ssf4", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative para-aortic lymph nodes" ], [ "010", "Positive para-aortic lymph nodes" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "Para-aortic lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_naa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_naa.json deleted file mode 100644 index 11fbe88ef..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_naa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_naa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Molecular (MOL) Studies of Regional Lymph Nodes", - "notes" : "**Note 1:** Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemistry (IHC) (see **Site-Specific Factor 4), Hematoxylin and Eosin (H and E)** (see pN0(i+)), or molecular (MOL) methods (Reverse Transcription Polymerase Chain Reaction, RT-PCR). \n\n* ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction)\n\n**Note 2:** Use codes 000-002 only to report results of MOL studies (RT-PCR) when Regional Lymph nodes are negative (N0). \n\n* If there are positive nodes, code 987 in this field\n\n**Note 3:** If it is not stated whether molecular tests are done, assume they are not done.", - "last_modified" : "2018-05-14T21:29:01.233Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Regional lymph nodes negative on routine hematoxylin and eosin (H and E), no RT-PCR molecular (MOL) studies done \nOR unknown if RT-PCR studies done\nNodes clinically negative, not examined pathologically" ], [ "001", "Regional lymph nodes negative on routine H and E, RT-PCR MOL studies done, negative for tumor" ], [ "002", "Regional lymph nodes negative on routine H and E, RT-PCR MOL studies done, positive for tumor" ], [ "987", "Not applicable: Regional Lymph Nodes not assigned pN0" ], [ "988", "Not applicable: Information not collected for this case" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nab.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nab.json deleted file mode 100644 index d304b8239..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nab.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nab", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Size of Metastasis in Lymph Nodes", - "notes" : "**Note 1:** If the only information on the size of the metastatic lymph node mass is the physician's assignment of the N category, assign code 010 for N1, 020 for N2, or 030 for N3.\n\n**Note 2:** If extranodal extension is not described on the pathology report or pathologic assessment of regional lymph nodes is not performed, assume extranodal extension is not present.\n\n**Note 3:** Do not code the size of any distant lymph node(s).", - "last_modified" : "2018-05-14T21:29:00.297Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No lymph node metastasis" ], [ "010", "Lymph node metastasis mass 2 centimeter (cm) or less in greatest dimension\nWITHOUT pathologic extranodal extension of tumor \n(See Note 2)\n\nStated as N1 with no other information on regional lymph nodes" ], [ "020", "Lymph node metastasis mass more than 2 cm but not more than 5 cm in greatest dimension\nOR pathologic extranodal extension of tumor\n\nStated as N2 with no other information on regional lymph nodes" ], [ "030", "Lymph node metastasis mass more than 5 cm in greatest dimension\n\nStated as N3 with no other information on regional lymph nodes" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Regional lymph nodes involved, size of lymph node mass not stated\nUnknown if regional nodes involved\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nac.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nac.json deleted file mode 100644 index b584f5292..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nac.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nac", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Ki-67/MIB-1 Labeling Index (LI): Ophthalmic", - "notes" : "**Note 1:** Ki-67 antigen is a nuclear protein, expressed by cells in all phases of the active cell cycle (G1, S, G2, and M phase) and absent in resting cells (G0 phase). Tumor cells with positive staining for Ki-67 antibodies are actively growing or proliferating. The fraction of Ki-67-positive tumor cells (the Ki-67 labeling index, or LI) may correlate with the clinical course of cancer. The value is expressed as the percentage of carcinoma cells in the tissue sample with positive immunohistochemical staining for the Ki-67 protein. The staining may be performed with the MIB-1 monoclonal antibody, so the test may be referred to as either Ki-67 or MIB-1.\n\n**Note 2:** Code the LI fraction percentage using Ki-67 or MIB-1 (monoclonal antibody) when it is available on the pathology report of the primary tumor. The Ki-67 or MIB-1 LI may also be called the growth fraction or proliferative fraction.\n\n**Note 3:** Record the LI as an exact whole number (000-100). For example\n\n* If the LI level is recorded by the pathologist as 15%, assign code 015 \n* If the percentage is documented as 13.7%, round up to 14% and assign code 014\n* If the percentage is documented as 13.2%, round down to 13% and assign code 013 \n* If the percentage is documented as less than 0.5%, round down to 0% and code 000 \n* If the percentage is documented as greater than 0.5% and less than 1%, round up to 1% and code as 001\n\n**Note 4:** In the absence of a specific percentage value, use codes 110-140 for a stated range of the LI, or codes 991-993 for an interpretation of the LI.", - "last_modified" : "2018-05-14T21:29:01.357Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000-100", "Percentage of Ki-67 growth fraction\n(Exact labeling index (LI) rounded to nearest percent)\n\nExamples:\n 000 0.2%\n 001 1%\n 010 10%\n 014 13.7%\n 055 55.2%" ], [ "110", "Stated as Ki-67 growth fraction less than or equal to 5%" ], [ "120", "Stated as Ki-67 growth fraction greater than 5% and less than or equal to 10%" ], [ "130", "Stated as Ki-67 growth fraction greater than 10% and less than or equal to 20%" ], [ "140", "Stated as Ki-67 growth fraction greater than 20% and less than or equal to 50%" ], [ "150", "Stated as Ki-67 growth fraction greater than 50%" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Stated as low proliferation rate" ], [ "992", "Stated as increased proliferation rate" ], [ "993", "Stated as high proliferation rate" ], [ "997", "Ki-67 growth fraction study performed, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nah.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nah.json deleted file mode 100644 index 678238ef0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nah.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nah", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Carcinoma ex Pleomorphic Adenoma, Invasion Beyond Capsule", - "notes" : "**Note 1:** Code only for cases described as arising from a benign pleomorphic adenoma. The diagnosis may be stated as carcinoma ex pleomorphic adenoma or carcinoma arising from a mixed tumor or mixed tumor of salivary gland type. The histology code assigned to the case may be 8941/3, or other codes for carcinoma. Extent of invasion beyond capsule is a prognostic factor for these glandular tumors. \n\n**Note 2:** Use code 000 for no invasion beyond capsule. Use codes 001-979 if specific measurement is given for invasion beyond capsule. Use code 990 if invasion is only described as \"minimally invasive\" or \"less than 1.5mm\" or \"less than or equal to 1.5 mm\".\n\n**Note 3:** Use code 987 for all cases with pathologic examination of primary site not described as arising from a benign adenoma. Use code 998 if no pathologic examination of primary site.", - "last_modified" : "2018-05-14T21:29:00.359Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Noninvasive, confined within the capsule" ], [ "001", "00.1 millimeter (mm) of invasion beyond capsule of pleomorphic adenoma into adjacent tissue" ], [ "002", "0.2 mm invasion beyond capsule of pleomorphic adenoma into adjacent tissue" ], [ "003-979", "0.3 - 97.9 mm of invasion beyond capsule of pleomorphic adenoma into adjacent tissue\n(Exact measurement to nearest tenth of mm) \n\nExamples:\n 015 1.5 mm\n 020 2.0 mm\n 100 10 mm\n 150 15 mm, 1.5 centimeters (cm)" ], [ "980", "98.0 mm or greater invasion beyond capsule" ], [ "987", "Not applicable: Histology not carcinoma ex pleomorphic adenoma" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Minimally invasive Stated as \"less than 1.5 mm invasion beyond capsule\" Stated as \"less than or equal to 1.5 mm invasion beyond capsule\"" ], [ "991", "Stated as \"greater than 1.5 mm invasion beyond capsule\"" ], [ "998", "No pathologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nai.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nai.json deleted file mode 100644 index 867695e42..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nai.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nai", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Histologic Tumor Necrosis", - "notes" : "**Note 1:** Tumor necrosis is an independent predictor of outcome for renal cell carcinoma. \n\n**Note 2:** Record the presence or absence of tumor necrosis as documented in the pathology report. \n* Assign code 000 if histologic examination of primary site is performed, the pathology report is available for review, and histologic tumor necrosis is not mentioned", - "last_modified" : "2018-05-14T21:28:58.335Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Histologic tumor necrosis not present/not identified" ], [ "010", "Histologic tumor necrosis present/identified" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nak.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nak.json deleted file mode 100644 index d4a50b83b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nak.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nak", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Creatinine Unit of Measure", - "notes" : "**Note 1:** There are two main methods of describing concentrations: by weight, and by molecular count. Weights are recorded in grams, and molecular counts are recorded in moles. Milligrams/deciliter (mg/dl) is the unit of measure commonly used in the United States, and micromoles/liter (umol/l) is the designated Systeme Internationale (SI) unit of measure commonly used in Canada and Europe. 1 mg/dl of creatinine is 88.4 umol/l.\n\n**Note 2:** The same laboratory test should be used to record information in **Site-Specific Factor 4, Creatinine Value** and **Site Specific Factor 5, Creatinine Unit of Measure**.", - "last_modified" : "2018-05-14T21:29:02.612Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Milligrams/deciliter (mg/dl)" ], [ "020", "Micromoles/liter (umol/l)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart \nTest performed, unit of measure not specified\nTest performed, different unit of measure used or unit not specified" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nap.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nap.json deleted file mode 100644 index c15bbd930..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nap.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nap", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Serum Chromogranin A (CgA) Lab Value", - "notes" : "**Note 1:** Chromoganins are a family of proteins in secretory granules found throughout the neuroendocrine system. Serum Chromogranin A (CgA) has been shown to be a useful marker for neuroendocrine tumors.\n\n**Note 2:** Record to the nearest nanogram/milliliter the highest CgA lab value documented in the medical record prior to treatment. \n* For example, code a pretreatment CgA of 400 ng/ml as 400\n\n**Note 3:** Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of CgA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 ng/ml should be coded 001. \n* For code 001, also round 1.1 - 1.4 ng/ml down to 1 ng/ml\n* For codes 002-979, round values to the nearest ng/ml\n\n**Note 4:** For an uncertain value, record the stated closest value. \n* For example, code a value stated as \"less than 5 ng/ml\" as 005", - "last_modified" : "2018-05-14T21:29:02.436Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 ng/ml" ], [ "001", "1 or less ng/ml" ], [ "002-979", "002-979 ng/ml" ], [ "980", "980 or greater ng/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_naq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_naq.json deleted file mode 100644 index 5aded9367..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_naq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_naq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Linear Choroidal Invasion", - "notes" : "**Note:** Record the greatest linear extent of tumor involvement in the choroid in tenths of millimeters (mm). Use code 030 if stated as 3 mm. \n* Code information from clinical documentation in the medical record or from the pathology report, if resection of the primary tumor is performed", - "last_modified" : "2018-05-14T21:28:58.340Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involvement of choroid" ], [ "001-979", "00.1 - 97.9 millimeters (mm) \n(Exact length of choroidal involvement to nearest tenth of mm)\n\nExamples: \n 001 0.1 mm\n 010 1 mm\n 042 4.2 mm\n 100 10 mm OR 1 centimeter (cm)\n 103 10.3 mm" ], [ "980", "98.0 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "993", "Choroidal linear involvement stated as less than 3 mm" ], [ "994", "Choroidal linear involvement stated as greater than 3 mm" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nar.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nar.json deleted file mode 100644 index b972562eb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nar.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ssf5_nar", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Sentinel Lymph Node Biopsy", - "last_modified" : "2018-05-14T21:29:01.748Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative sentinel lymph node biopsy" ], [ "010", "Positive sentinel lymph node biopsy" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Sentinel node biopsy performed, unknown results" ], [ "998", "No sentinel node biopsy performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nas.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nas.json deleted file mode 100644 index e022169e2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nas.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nas", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Number of Examined Pelvic Nodes", - "notes" : "**Note:** Record the number of examined pelvic nodes documented in the patient record.  Apply the same instructions for coding Regional Nodes Examined to this data item.", - "last_modified" : "2018-05-14T21:29:00.856Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No pelvic lymph nodes examined" ], [ "001-089", "1 - 89 pelvic lymph nodes examined (Exact number of pelvic lymph nodes examined)" ], [ "090", "90 or more pelvic lymph nodes examined" ], [ "095", "No pelvic lymph nodes removed, but aspiration or core biopsy of pelvic lymph nodes performed" ], [ "096", "Pelvic lymph node removal documented as a sampling, but number of nodes unknown/not stated" ], [ "097", "Pelvic lymph node removal documented as a dissection, but number of nodes unknown/not stated" ], [ "098", "Pelvic lymph nodes surgically removed, but number of nodes unknown/not stated and not documented as a sampling or dissection" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if pelvic nodes examined\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nav.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nav.json deleted file mode 100644 index f11b71e98..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nav.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nav", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1:** The mitotic rate, the count of mitoses (also termed \"mitotic figures\") per 50 high-power fields (HPF), reflects the potential aggressiveness or prognosis of gastrointestinal stromal tumors (GIST) and is used alone to determine their histologic grade (low or high). The mitotic rate is also a factor in assigning the AJCC 7 anatomic stage/prognostic group. This site-specific factor presumes the denominator of 50 HPF or its equivalent, so just the numerator (the mitotic count) is coded here. For other schemas in which mitotic count is collected, the denominator may vary. (1)\n\n**Note 2:** A HPF usually has a magnification objective of 40 (a 40x field). As described in the AJCC chapter on GIST, 50 HPF are equivalent to viewing a total area of 5 square millimeters (mm) at 40x magnification. (1)\n\n**Note 3:** Record mitotic count, to the nearest tenth of a mitosis, as documented in the pathology report. For example, a mitotic count of 6/50 HPF, or 6 per 5 square mm, would be coded 060.\n\n**Note 4:** Code the specific mitotic count only per 50 HPF or 5 square mm; assume the denominator is 50 HPF or 5 square mm if not specified. \n\n**Note 5:** Use code 996 for a description of mitoses, NOS, or if the mitotic count is expressed with a specific denominator other than 50 HPF or 5 square mm.", - "last_modified" : "2018-05-14T21:29:01.312Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 mitoses per 50 HPF (40x fields)\n0.0 mitoses per 5 square mm\nMitoses absent\nNo mitoses present" ], [ "001-008", "0.1 - 0.8 mitoses per 50 HPF (40x fields)\n0.1 - 0.8 mitoses per 5 square mm" ], [ "009", "0.9 mitoses per 50 HPF (40x fields)\n0.9 mitoses per 5 square mm\n\nStated as less than 1 mitosis per 50 HPF (40x fields)\nStated as less than 1 mitosis per 5 square mm" ], [ "010-100", "1 - 10 mitoses per 50 HPF (40x fields)\n1 - 10 mitoses per 5 square mm" ], [ "110", "11 or more mitoses per 50 HPF (40x fields)\n11 or more mitoses per 5 square mm" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Specific number not stated, described less than or equal to 5 mitoses per 50 high-power fields (40x field)\nSpecific number not stated, described less than or equal to 5 mitoses per 5 square millimeters" ], [ "991", "Specific number not stated, described as more than 5 mitoses per 50 HPF (40x fields)\nSpecific number not stated, described as more than 5 mitoses per 5 square mm\n\nStated as high mitotic count or rate with no specific number" ], [ "996", "Mitotic count described with denominator other than 50 HPF (40x field)/5 square mm\nMitoses present, NOS" ], [ "998", "No histologic specimen from primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_naw.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_naw.json deleted file mode 100644 index a4210cdfa..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_naw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_naw", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Positron Emission Tomography (PET) Standardized Uptake Values (SUV)", - "notes" : "**Note 1:** Cancer cells require sugar (glucose) for metabolism and growth. Positron emission tomography/computed tomography (PET/CT) scanning utilizes a radioactive form of glucose, called 18-fluoro-2-deoxyglucose (FDG) that accumulates within malignant cells because of their high rate of metabolism. \n\n**Note 2:** The value is expressed as a ratio of tissue radioactivity at the time of measurement to the injected dose at time of injection divided by body weight. Record the value for the Standardized Uptake Values (SUV) as reported in the medical record to one decimal place.", - "last_modified" : "2018-05-14T21:29:01.873Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-500", "Positron emission tomography (PET) Standardized Uptake Value (SUV) to nearest single decimal place\n\nExamples:\n 015 SUV 01.5\n 100 SUV 10.0" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test performed, unknown results" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nba.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nba.json deleted file mode 100644 index 1ce6ea624..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nba.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nba", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Serum Lactate Dehydrogenase (LDH) Lab Value", - "notes" : "**Note 1:** Code the serum lactate dehydrogenase (LDH) value prior to treatment or within 6 weeks of diagnosis. Give priority to the first test performed. LDH values are expressed in Units/liter (U/l).\n\n**Note 2:** Record the value of the LDH test for values 001 through 800.\n\n**Note 3:** Record the range of the LDH test for values 801 and greater. \n\n* Codes 801 - 825 are ranges of 20 \n* Codes 826 - 863 are ranges of 50 \n* Codes 864 - 931 are ranges of 100 \n* Code 932 is for a value of 10001 or greater\n\n**Note 4:** The information should be taken from the same test used to code **Site-Specific Factor 4, Serum Lactate Dehydrogenase (LDH)** and **Site Specific Factor 6, LDH Upper Limits of Normal**.", - "last_modified" : "2018-05-14T21:29:01.701Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-800", "Value is 001 - 800 Units/liter (U/l) \n(Exact value in whole U/l)" ], [ "801", "Range of values is 801 - 820" ], [ "802", "Range of values is 821 - 840" ], [ "803", "Range of values is 841 - 860" ], [ "804", "Range of values is 861 - 880" ], [ "805", "Range of values is 881 - 900" ], [ "806", "Range of values is 901 - 920" ], [ "807", "Range of values is 921 - 940" ], [ "808", "Range of values is 941 - 960" ], [ "809", "Range of values is 961 - 980" ], [ "810", "Range of values is 981 - 1000" ], [ "811", "Range of values is 1001 - 1020" ], [ "812", "Range of values is 1021 - 1040" ], [ "813", "Range of values is 1041 - 1060" ], [ "814", "Range of values is 1061 - 1080" ], [ "815", "Range of values is 1081 - 1100" ], [ "816", "Range of values is 1101 - 1120" ], [ "817", "Range of values is 1121 - 1140" ], [ "818", "Range of values is 1141 - 1160" ], [ "819", "Range of values is 1161 - 1180" ], [ "820", "Range of values is 1181 - 1200" ], [ "821", "Range of values is 1201 - 1220" ], [ "822", "Range of values is 1221 - 1240" ], [ "823", "Range of values is 1241 - 1260" ], [ "824", "Range of values is 1261 - 1280" ], [ "825", "Range of values is 1281 - 1300" ], [ "826", "Range of values is 1301 - 1350" ], [ "827", "Range of values is 1351 - 1400" ], [ "828", "Range of values is 1401 - 1450" ], [ "829", "Range of values is 1451 - 1500" ], [ "830", "Range of values is 1501 - 1550" ], [ "831", "Range of values is 1551 - 1600" ], [ "832", "Range of values is 1601 - 1650" ], [ "833", "Range of values is 1651 - 1700" ], [ "834", "Range of values is 1701 - 1750" ], [ "835", "Range of values is 1751 - 1800" ], [ "836", "Range of values is 1801 - 1850" ], [ "837", "Range of values is 1851 - 1900" ], [ "838", "Range of values is 1901 - 1950" ], [ "839", "Range of values is 1951 - 2000" ], [ "840", "Range of values is 2001 - 2050" ], [ "841", "Range of values is 2051 - 2100" ], [ "842", "Range of values is 2101 - 2150" ], [ "843", "Range of values is 2151 - 2200" ], [ "844", "Range of values is 2201 - 2250" ], [ "845", "Range of values is 2251 - 2300" ], [ "846", "Range of values is 2301 - 2350" ], [ "847", "Range of values is 2351 - 2400" ], [ "848", "Range of values is 2401 - 2450" ], [ "849", "Range of values is 2451 - 2500" ], [ "850", "Range of values is 2501 - 2550" ], [ "851", "Range of values is 2551 - 2600" ], [ "852", "Range of values is 2601 - 2650" ], [ "853", "Range of values is 2651 - 2700" ], [ "854", "Range of values is 2701 - 2750" ], [ "855", "Range of values is 2751 - 2800" ], [ "856", "Range of values is 2801 - 2850" ], [ "857", "Range of values is 2851 - 2900" ], [ "858", "Range of values is 2901 - 2950" ], [ "859", "Range of values is 2951 - 3000" ], [ "860", "Range of values is 3001 - 3050" ], [ "861", "Range of values is 3051 - 3100" ], [ "862", "Range of values is 3101 - 3150" ], [ "863", "Range of values is 3151 - 3200" ], [ "864", "Range of values is 3201 - 3300" ], [ "865", "Range of values is 3301 - 3400" ], [ "866", "Range of values is 3401 - 3500" ], [ "867", "Range of values is 3501 - 3600" ], [ "868", "Range of values is 3601 - 3700" ], [ "869", "Range of values is 3701 - 3800" ], [ "870", "Range of values is 3801 - 3900" ], [ "871", "Range of values is 3901 - 4000" ], [ "872", "Range of values is 4001 - 4100" ], [ "873", "Range of values is 4101 - 4200" ], [ "874", "Range of values is 4201 - 4300" ], [ "875", "Range of values is 4301 - 4400" ], [ "876", "Range of values is 4401 - 4500" ], [ "877", "Range of values is 4501 - 4600" ], [ "878", "Range of values is 4601 - 4700" ], [ "879", "Range of values is 4701 - 4800" ], [ "880", "Range of values is 4801 - 4900" ], [ "881", "Range of values is 4901 - 5000" ], [ "882", "Range of values is 5001 - 5100" ], [ "883", "Range of values is 5101 - 5200" ], [ "884", "Range of values is 5201 - 5300" ], [ "885", "Range of values is 5301 - 5400" ], [ "886", "Range of values is 5401 - 5500" ], [ "887", "Range of values is 5501 - 5600" ], [ "888", "Range of values is 5601 - 5700" ], [ "889", "Range of values is 5701 - 5800" ], [ "890", "Range of values is 5801 - 5900" ], [ "891", "Range of values is 5901 - 6000" ], [ "892", "Range of values is 6001 - 6100" ], [ "893", "Range of values is 6101 - 6200" ], [ "894", "Range of values is 6201 - 6300" ], [ "895", "Range of values is 6301 - 6400" ], [ "896", "Range of values is 6401 - 6500" ], [ "897", "Range of values is 6501 - 6600" ], [ "898", "Range of values is 6601 - 6700" ], [ "899", "Range of values is 6701 - 6800" ], [ "900", "Range of values is 6801 - 6900" ], [ "901", "Range of values is 6901 - 7000" ], [ "902", "Range of values is 7001 - 7100" ], [ "903", "Range of values is 7101 - 7200" ], [ "904", "Range of values is 7201 - 7300" ], [ "905", "Range of values is 7301 - 7400" ], [ "906", "Range of values is 7401 - 7500" ], [ "907", "Range of values is 7501 - 7600" ], [ "908", "Range of values is 7601 - 7700" ], [ "909", "Range of values is 7701 - 7800" ], [ "910", "Range of values is 7801 - 7900" ], [ "911", "Range of values is 7901 - 8000" ], [ "912", "Range of values is 8001 - 8100" ], [ "913", "Range of values is 8101 - 8200" ], [ "914", "Range of values is 8201 - 8300" ], [ "915", "Range of values is 8301 - 8400" ], [ "916", "Range of values is 8401 - 8500" ], [ "917", "Range of values is 8501 - 8600" ], [ "918", "Range of values is 8601 - 8700" ], [ "919", "Range of values is 8701 - 8800" ], [ "920", "Range of values is 8801 - 8900" ], [ "921", "Range of values is 8901 - 9000" ], [ "922", "Range of values is 9001 - 9100" ], [ "923", "Range of values is 9101 - 9200" ], [ "924", "Range of values is 9201 - 9300" ], [ "925", "Range of values is 9301 - 9400" ], [ "926", "Range of values is 9401 - 9500" ], [ "927", "Range of values is 9501 - 9600" ], [ "928", "Range of values is 9601 - 9700" ], [ "929", "Range of values is 9701 - 9800" ], [ "930", "Range of values is 9801 - 9900" ], [ "931", "Range of values is 9901 - 10000" ], [ "932", "Value is 10001 or greater" ], [ "988", "Not applicable: Information not collected for this case" ], [ "995", "Stated as within normal limits, no further information in the chart" ], [ "996", "Stated as elevated, no further information in the chart" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nbb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nbb.json deleted file mode 100644 index 212899def..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nbb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nbb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Microsatellite Instability", - "notes" : "**Note:** The microsatellite instability (MSI) test is a genetic test performed on tumor tissue to look for differences in length of certain non-functioning sections of deoxyribonucleic acid (DNA). The differences are caused by problems with the genes that normally repair DNA. \n* A high-positive MSI (MSI-H) result may indicate that the gene repair problem is related to the development of the cancer, and that the patient may have hereditary nonpolyposis colorectal cancer (HNPCC), also known as Lynch syndrome\n* A low-positive or stable MSI result (stable meaning that there are no differences in the lengths) means it is unlikely that the cancer is related to a hereditary condition", - "last_modified" : "2018-05-14T21:29:02.900Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "020", "Microsatellite instability (MSI) stable; no MSI" ], [ "040", "MSI unstable low; positive, low" ], [ "050", "MSI unstable high; positive, high" ], [ "060", "MSI unstable, NOS; positive, NOS" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npa.json deleted file mode 100644 index f23abd87d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Levels VI-VII and Facial Lymph Nodes for Head and Neck", - "notes" : "**Note 1:** **Site-Specific Factors 3-6** are used to code the presence or absence of lymph node involvement in each of 7 different levels and other groups defined by TNM. The definitions of the levels are the same for all applicable head and neck sites. One digit is used to represent lymph nodes of a single level, with the digits of **Site-Specific Factor 3** representing lymph nodes of Levels I-III; the digits of **Site-Specific Factor 4** representing lymph nodes of Levels IV and V and the retropharyngeal nodes; the digits of **Site-Specific Factor 5** representing lymph nodes of Levels VI and VII and the facial nodes; and the digits of **Site-Specific Factor 6** representing the remaining Other groups as defined by TNM. In each digit, a code 1 means yes, the nodes are involved.\n\n**Note 2:** Facial nodes include buccinator, mandibular, and nasolabial lymph nodes.\n\n**Note 3:** If involved regional node levels are documented as a range, or if the involved nodes overlap multiple levels, code all levels specified.\n\n**Note 4:** If regional node(s) are known to be positive but the level of node(s) involved is unknown, use code 000.\n\n**Note 5:** Level VI is also referred to as\n \n* Level VI - Anterior compartment group", - "last_modified" : "2018-05-14T21:29:03.710Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involvement in Levels VI or VII or facial lymph nodes" ], [ "100", "Level VI lymph node(s) involved" ], [ "010", "Level VII lymph node(s) involved" ], [ "001", "Facial lymph node(s) involved" ], [ "110", "Levels VI and VII lymph nodes involved" ], [ "101", "Levels VI and facial lymph nodes involved" ], [ "011", "Levels VII and facial lymph nodes involved" ], [ "111", "Levels VI and VII and facial lymph nodes involved" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if regional lymph node(s) involved, not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npb.json deleted file mode 100644 index 19e9de6e2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Tumor Regression Grade", - "notes" : "**Note 1:** Record the pathologic response to preoperative adjuvant treatment as documented in the pathology report. The response may be called \"treatment effect\" and will often be stated in terms of a Tumor Regression Grade of 0 to 3. The response may also be characterized in descriptive terms. Consult the pathologist if a different grading system is used.\n\n**Note 2:** Tumor regression grade or treatment effect should only be assessed on the primary tumor.\n\n**Note 3:** If a response is stated to be present or found but is not described further, use code 990.", - "last_modified" : "2018-05-14T21:29:02.805Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Tumor Regression Grade 0\nComplete response: No viable cancer cells\nNo residual tumor" ], [ "010", "Tumor Regression Grade 1\nModerate response: Single cells or small groups of cancer cells" ], [ "020", "Tumor Regression Grade 2\nMinimal response: Residual cancer outgrown by fibrosis" ], [ "030", "Tumor Regression Grade 3\nPoor response: Minimal or no tumor kill; extensive residual cancer" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Response present, but degree of response not further described" ], [ "998", "No preoperative treatment or no resection of primary site after preoperative treatment" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npe.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npe.json deleted file mode 100644 index 4a96a53ed..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npe", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "International Prognostic Score (IPS)", - "notes" : "**Note 1:** The International Prognostic Score (IPS) has been developed for Hodgkin lymphoma and predicts outcome based on the following adverse factors \n\n* Male sex\n* Age 45 years or greater\n* Ann Arbor Stage IV \n* Serum albumin less than 4 grams/deciliter (g/dl)\n* Hemoglobin concentration less than 10.5 g/dl\n* White blood cell count greater than or equal to 15,000/cubic millimeter (mm)\n* Lymphocytopenia, lymphocyte count less than 600/cubic mm or less than 8% of white cell count\n\n**Note 2:** Record the IPS score as documented in the medical record. Do not calculate points. Only record points if a physician has documented them.\n\n**Note 3:** There are now three indices/scores associated with lymphoma\n* The International Prognostic Index (IPI) (**Site-Specific Factor 3**) \n* The Follicular Lymphoma International Prognostic Index (FLIPI) (**Site-Specific Factor 4**) \n* The International Prognostic Score (IPS- for Hodgkin lymphomas) (**Site-Specific Factor 5**)\n\nPhysicians may use these indices/scores interchangeably. For coding\n\n* Score identified: Value in appropriate SSF, 999 in other two SSFs\n* Score not identified, point value 5 or less: 999 in all three SSFs\n* Score not identified, point value 6 or 7: Value in SSF 5 (IPS), 999 in other two SSFs", - "last_modified" : "2018-05-14T21:29:01.102Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 points" ], [ "001", "1 point" ], [ "002", "2 points" ], [ "003", "3 points" ], [ "004", "4 points" ], [ "005", "5 points" ], [ "006", "6 points" ], [ "007", "7 points" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npf.json deleted file mode 100644 index e8ce2445a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Chromosome 3 Status", - "notes" : "**Note:** The loss of chromosome 3 (also termed loss of heterozygosity (LOH) in chromosome 3) is a common genetic abnormality in ocular melanoma. Monosomy 3 (i.e., only one copy of chromosome 3) has consistently been associated with death from metastasis in choroidal and ciliary body melanoma.", - "last_modified" : "2018-05-14T21:28:58.322Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No loss of chromosome 3" ], [ "010", "Partial loss of chromosome 3" ], [ "020", "Complete loss of chromosome 3" ], [ "030", "Loss of chromosome 3, NOS" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npg.json deleted file mode 100644 index d44d5ad40..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Distance to Distal Edge of Tumor from Incisors", - "notes" : "**Note 1:** The distance from the incisors to the distal edge of the tumor is collected in this Site-Specific Factor. The location of the tumor's distal edge within the esophagus may be described based on imaging, esophagoscopy, or surgical results.\n\n**Note 2:** Record the distance from the incisors to the distal edge of tumor to the nearest centimeter (cm).\n\n**Note 3:** Calculate the distance to the distal edge of tumor if the distance to the proximal edge and the length of the tumor is known.", - "last_modified" : "2018-05-14T21:29:03.152Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-060", "1 - 60 centimeters (cm)\n(Exact distance from incisors to distal edge of tumor to the nearest centimeter.)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Described as \"less than 20 cm\" or \"greater than 15 cm\" or \"between 15 and 20 cm\"" ], [ "992", "Described as \"less than 25 cm\" or \"greater than 20 cm\" or \"between 20 and 25 cm\"" ], [ "993", "Described as \"less than 30 cm\" or \"greater than 25 cm\" or \"between 25 and 30 cm\"" ], [ "994", "Described as \"less than 40 cm\" or \"greater than 30 cm\" or \"between 30 and 40 cm\"" ], [ "995", "Described as \"less than 45 cm\" or \"greater than 40 cm\" or \"between 40 and 45 cm\"" ], [ "996", "Described as \"less than 60 cm\" or \"greater than 45 cm\" or \"between 45 and 60 cm\"" ], [ "997", "Described as \"greater than 60 cm\"" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nph.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nph.json deleted file mode 100644 index 96044ebc3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_nph.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_nph", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Chromosome 1p: Loss of Heterozygosity (LOH)", - "notes" : "**Note 1:** This is a special molecular diagnostic test performed on tumor tissue to identify loss of genetic material normally found on the short arm of one of the patient's two copies of chromosome 1. A normal cell will contain two complete copies of each chromosome, one from each parent, and this normal state is termed heterozygous. Loss of heterozygosity (LOH) is an abnormal state reflecting damage to the chromosome.\n\n**Note 2:** Other terms for LOH include gene deletion and allelic loss.\n\n**Note 3:** For brain tumors, tests for LOH of chromosomes 1p and 19q may be performed at the same time and reported on a single report. See also Site-Specific Factor 6.", - "last_modified" : "2018-05-14T21:29:01.309Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Test positive for loss of heterozygosity (LOH)" ], [ "020", "Test negative for LOH" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "No histologic examination of primary site\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npk.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npk.json deleted file mode 100644 index 71b029008..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npk", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Number of Positive Para-Aortic Nodes", - "notes" : "**Note:** Record the number of positive para-aortic lymph nodes documented in the patient record. Apply the same instructions for coding Regional Nodes Positive to this data item.", - "last_modified" : "2018-05-14T21:29:01.182Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All para-aortic lymph nodes examined negative" ], [ "001-089", "1-89 para-aortic lymph nodes positive\n(Exact number of nodes positive)" ], [ "090", "90 or more para-aortic lymph nodes positive" ], [ "095", "Positive aspiration or core biopsy of para-aortic lymph node(s)" ], [ "097", "Positive para-aortic lymph nodes, number not specified" ], [ "098", "No para-aortic lymph nodes examined" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if para-aortic lymph nodes are positive\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npl.json deleted file mode 100644 index 7779fbf10..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npl", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Malignant Ascites", - "notes" : "**Note 1:** Record the volume of malignant ascites in milliliters (ml).\n\n**Note 2:** For an estimated volume, record the estimated value. For an uncertain volume, record the approximate value. \n* For example, volume of malignant ascites is less than 500 ml, record as 500 ml", - "last_modified" : "2018-05-14T21:29:01.269Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-979", "1-979 milliliters (ml)\n(Exact volume in ml)" ], [ "980", "980 ml or greater" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Malignant ascites present, volume not stated" ], [ "991", "Ascites present, determined to be non-malignant" ], [ "992", "Ascites present, no information whether malignant or non-malignant" ], [ "995", "No ascites present" ], [ "998", "Ascites not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npm.json deleted file mode 100644 index fc10bd8f9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf5_npm.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf5_npm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF5", - "title" : "Site-Specific Factor 5", - "subtitle" : "Assessment Method of Para-Aortic Nodal Status", - "notes" : "**Note 1:** The assessment results are recorded in **Site-Specific Factor 4, Para-Aortic Nodal Status**.\n\n**Note 2:** Use the highest applicable code.", - "last_modified" : "2018-05-14T21:29:01.265Z", - "definition" : [ { - "key" : "ssf5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Clinical assessment" ], [ "020", "Radiography, imaging \n(Ultrasound (US), computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))" ], [ "030", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "040", "Lymphadenectomy\nExcisional biopsy or resection with microscopic confirmation" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaa.json deleted file mode 100644 index 0e386fb20..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oaa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Size of Tumor-Invasive Component", - "notes" : "**Note 1:** Record the code that indicates how the pathologic tumor size was coded in the Tumor Size field. \n\n* [**SEER NOTE**: For cases with neoadjuvant therapy, code the SSF based on Tumor Size - Clinical, code 987] \n\n**Note 2:** For this field, \"mixed\" indicates a tumor with both invasive and in situ components. The tumor may be a single histologic type such as mixed infiltrating ductal and ductal carcinoma in situ or a combined histologic type such as mixed infiltrating ductal and lobular carcinoma in situ. \n* \"Pure\" indicates a tumor that is only invasive or only in situ\n\n**Note 3:** If size of tumor is given and it is described as an invasive tumor with focal areas of in situ, regard the in situ component as minimal and use code 030.\n\n**Note 4:** This information is collected for analytic purposes and does not affect the stage grouping algorithm. Different codes in this field may explain differences in outcome for patients in the same T category or stage group.\n\n**Examples:**\n\n**1.** Patient 1 has a \"mixed\" tumor measuring 2.5 cm with extensive areas of in situ tumor, and the size of the invasive component is not stated. Code to 025 in Tumor Size, and it will be classified as T2. \n* Code to 040 in **Site-Specific Factor 6**\n\n**2.** Patient 2 has a purely invasive tumor measuring 2.5 cm. Code to 025 in Tumor Size and it will be classified as T2. \n* However, code to 000 in **Site-Specific Factor 6**\n\nPatient 1's tumor would probably have a better survival than Patient 2's tumor, since it would more likely be a T1 lesion if the true dimensions of the invasive component were known.\n\n**3.** Patient 3 has a 2.5 cm tumor which is invasive with focal areas of in situ. \n* Code **Site-Specific Factor 6** to 030 for in situ described as minimal", - "last_modified" : "2018-05-14T21:29:01.219Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Entire tumor reported as invasive \n(No in situ component reported)" ], [ "010", "Entire tumor reported as in situ \n(No invasive component reported)" ], [ "020", "Invasive and in situ components present, size of invasive component stated and coded in Tumor Size" ], [ "030", "Invasive and in situ components present, size of entire tumor coded in Tumor Size because size of invasive component not stated AND in situ described as minimal (less than 25%)" ], [ "040", "Invasive and in situ components present, size of entire tumor coded in Tumor Size because size of invasive component not stated AND in situ described as extensive (25% or more)" ], [ "050", "Invasive and in situ components present, size of entire tumor coded in Tumor Size because size of invasive component not stated AND proportions of in situ and invasive not known" ], [ "060", "Invasive and in situ components present, unknown size of tumor (Tumor Size coded 999)" ], [ "987", "Unknown if invasive and in situ components present, unknown if tumor size represents mixed tumor or a \"pure\" tumor (See Note 2)\nClinical tumor size coded" ], [ "988", "Not applicable: Information not collected for this case" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oae.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oae.json deleted file mode 100644 index f88a84a65..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oae.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oae", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Adenoid Cystic Carcinoma - Presence of Basaloid Pattern", - "notes" : "**Note 1:** Code only for cases diagnosed as adenoid cystic carcinoma, histology code 8200/3. \n\n**Note 2:** Use code 987 for all other histologies. Use code 998 if no pathologic examination of primary site.", - "last_modified" : "2018-05-14T21:28:58.357Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Basaloid pattern not present in adenoid cystic carcinoma" ], [ "010", "Basaloid pattern present in adenoid cystic carcinoma" ], [ "987", "Not applicable, histology not adenoid cystic carcinoma" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No pathologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaf.json deleted file mode 100644 index 78df52bba..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oaf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Fuhrman Nuclear Grade", - "notes" : "**Note 1:** Fuhrman nuclear grade is a four-grade system based on nuclear diameter and shape, the prominence of nucleoli, and the presence of chromatin clumping in the highest grade. \n\n**Note 2:** Record the Fuhrman nuclear grade as documented in the pathology report prior to neoadjuvant treatment.", - "last_modified" : "2018-05-14T21:29:00.085Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Grade 1" ], [ "020", "Grade 2" ], [ "030", "Grade 3" ], [ "040", "Grade 4" ], [ "987", "Not applicable: Not a renal cell carcinoma morphology" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oag.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oag.json deleted file mode 100644 index ee27c32bc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oag.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oag", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Total Bilirubin Value", - "notes" : "**Note 1:** *The Model for End-Stage Liver Disease (MELD)* is a numerical scale used to determine how urgently a patient with liver disease needs a liver transplant within the next three months. Results from three routine lab tests are used to calculate the MELD score. Bilirubin, one of the tests, measures how effectively the liver excretes bile.\n\n**Note 2:** Assay of total bilirubin includes conjugated (direct) and unconjugated (indirect) bilirubin. Record the total bilirubin value for this data item.\n\n**Note 3:** Normal values may vary from lab to lab. The typical human reference ranges are 0.5 to 1.0 milligrams/deciliter (mg/dl) (about 45-90 micromoles/liter (umol/l) for women and 0.7 to 1.2 mg/dl (60-110 umol/l) for men.\n\n**Note 4:** Record to the nearest tenth of mg/dl or umol/l the highest total bilirubin value prior to treatment. \n* Record a total bilirubin value of 0.53 mg/dl as 005\n* Record a value of 5.3 umol/l as 053\n\n**Note 5:** Record the total bilirubin unit of measure for the same laboratory test in **Site-Specific Factor 7, Total Bilirubin Unit of Measure**.\n\n**Note 6:** Use code 997 if the test was done but the actual value is not stated. Use code 997 if the test was done but the unit is not in mg/dl or umol/l.", - "last_modified" : "2018-05-14T21:29:02.608Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001", "0.1 milligram/deciliter (mg/dl) or less \n0.1 micromole per liter (umol/l)\n(Exact value to nearest tenth in mg/dl or umol/l)" ], [ "002-979", "0.1 - 97.9 mg/dl\n0.2 - 97.9 umol/l\n(Exact value to nearest tenth in mg/dl or umol/l)" ], [ "980", "98.0 mg/dl or greater\n98.0 umol/l or greater" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oak.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oak.json deleted file mode 100644 index d185cec56..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oak.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oak", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Perineural Invasion", - "notes" : "**Note:** Code the presence or absence of perineural invasion as documented in the pathology report. \n* Use code 000 if histologic examination of primary site was performed, the pathology report is available for review, and perineural invasion is not mentioned", - "last_modified" : "2018-05-14T21:29:01.746Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Perineural invasion not present/not identified " ], [ "010", "Perineural invasion present/identified" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Histologic examination of primary site performed, unknown results" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oam.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oam.json deleted file mode 100644 index da1965eeb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oam.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oam", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Urinary 5-HIAA Lab Value", - "notes" : "**Note 1:** Carcinoid tumors can release large amounts of serotonin. 5-Hydroxyindoleacetic acid (5-HIAA) is-a breakdown product of the hormone serotonin. The 5-HIAA test measures the amount of acid secreted in the urine over a 24-hour period.\n\n**Note 2:** Record to the nearest milligram (mg) the highest 5-HIAA lab value documented in the medical record prior to treatment. \n* For example, code a pretreatment 5-HIAA of 550 mg over 24 hours as 550\n\n**Note 3:** Code 000 is reserved for exactly 0 mg (no measurable amount of 5-HIAA). Do not round tiny values down to 0 ng/ml; any measured value less than or equal to 1 mg should be coded 001. \n* For code 001, also round 1.1 - 1.4 mg down to 1 ng/ml\n* For codes 002-979, round values to the nearest mg\n\n**Note 4:** For an uncertain value, record the stated closest value. \n* For example, code a value stated as \"less than 5 mg\" as 005", - "last_modified" : "2018-05-14T21:29:02.435Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 milligrams (mg)/24hours" ], [ "001", "1 or less mg/24hours" ], [ "002-979", "2-979 mg/24hours" ], [ "980", "980 or greater mg/24hours" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oao.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oao.json deleted file mode 100644 index bf7d59b12..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oao.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oao", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Clinical Extension for Second Eye", - "notes" : "**Note:** If bilateral involvement, code clinical extension for lesser, second eye at the time of initial diagnosis of tumor in the second eye.", - "last_modified" : "2018-05-14T21:29:01.391Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No evidence of tumor in second eye" ], [ "120", "Volume no more than two-thirds of eye\nAND\nLargest dimension not greater than 3 mm\nAND\nLocation not closer than 1.5 mm to optic nerve or fovea\nAND\nTumor formation: No vitreous or subretinal seeding and no subretinal fluid beyond 5 mm from base of tumor\nAND\nRetinal detachment not present\n\nStated as T1a with no other information on extension" ], [ "140", "Volume no more than two-thirds of eye\nAND\n(Largest dimension greater than 3 mm OR\nLocation closer than 1.5 mm to optic nerve or fovea)\nAND\nTumor formation: No vitreous or subretinal seeding and no subretinal fluid beyond 5 mm from base of tumor\nAND\nRetinal detachment not present\n\nStated as T1b with no other information on extension" ], [ "160", "Volume no more than two-thirds of eye\nAND\n(Largest dimension greater than 3 mm OR\nLocation closer than 1.5 mm to optic nerve or fovea)\nAND\n(Tumor formation: Subretinal fluid beyond 5 mm from base of tumor OR\nRetinal detachment present)\n\nStated as T1c with no other information on extension" ], [ "180", "Volume no more than two-thirds of eye\nAND\nTumor formation: No vitreous or subretinal seeding\n\nStated as T1 [NOS] with no other information on extension" ], [ "420", "Volume no more than two-thirds of eye\nAND\nTumor Formation: Focal vitreous and/or subretinal seeding of fine aggregates of tumor cells but no large clumps or \"snowballs\" of tumor cells\nAND\nRetinal detachment may be present \n\nStated as T2a with no other information on extension" ], [ "440", "Volume no more than two-thirds of eye\nAND\nTumor formation: Massive vitreous and/or subretinal seeding defined as diffuse clumps or \"snowballs\" of tumor cells\nAND\nRetinal detachment may be present \n\nStated as T2b with no other information on extension" ], [ "460", "Volume no more than two-thirds of eye\nAND\nTumor formation: Vitreous and/or subretinal seeding\nAND\nRetinal detachment may be present \n\nStated as T2 [NOS] with no other information on extension" ], [ "500", "Severe intraocular disease in second eye:\n Tumor occupies more than two-thirds volume of eye\n\nStated as T3a with no other information on extension" ], [ "520", "Severe intraocular disease in second eye:\n One or more complications present including:\n Tumor-associated neovascular or angle closure glaucoma \n Tumor extension into anterior segment\n Hyphema (blood in anterior chamber)\n Vitreous hemorrhage\n Orbital cellulitis\n\nStated as T3b with no other information on extension" ], [ "540", "Severe intraocular disease in second eye, NOS\n\nStated as T3 [NOS] with no other information on extension" ], [ "680", "Extraocular disease in second eye detected by imaging studies:\n Invasion of optic nerve \n\nStated as T4a with no other information on extension" ], [ "700", "Extraocular disease in second eye detected by imaging studies:\n Invasion into orbit\n\nStated as T4b with no other information on extension" ], [ "720", "Extraocular disease in second eye detected by imaging studies:\n Intracranial extension not past chiasm\n\nStated as T4c with on other information on extension" ], [ "740", "Extraocular disease in second eye detected by imaging studies:\n Intracranial extension past chiasm\n\nStated as T4d with no other information on extension" ], [ "760", "Extraocular disease in second eye, NOS\n\nStated as T4 [NOS] with no other information on extension" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown extension\nPrimary tumor cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oap.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oap.json deleted file mode 100644 index 143870ffe..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oap.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oap", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Number of Positive Para-Aortic Nodes", - "notes" : "**Note:** Record the number of positive para-aortic lymph nodes documented in the patient record.  Apply the same instructions for coding Regional Nodes Positive to this data item.", - "last_modified" : "2018-05-14T21:29:01.103Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "All para-aortic lymph nodes examined negative" ], [ "001-089", "1 - 89 para-aortic lymph nodes are positive. \n(Exact number of nodes positive)" ], [ "090", "90 or more para-aortic lymph nodes positive" ], [ "095", "Positive aspiration or core biopsy of para-aortic lymph node(s)" ], [ "097", "Positive para-aortic lymph nodes are documented, number not specified" ], [ "098", "No para-aortic lymph nodes examined" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if para-aortic lymph nodes positive Not documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaq.json deleted file mode 100644 index 7284cdc7b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oaq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Distant (Mediastinal, Scalene) Nodal Status", - "notes" : "**Note:** The distant nodal status corresponds to the assessment method recorded in **Site Specific Factor 7, Assessment Method of Distant (Mediastinal, Scalene) Nodal Status**.", - "last_modified" : "2018-05-14T21:29:01.260Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative mediastinal, scalene lymph nodes" ], [ "010", "Positive mediastinal, scalene lymph nodes" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "Mediastinal, scalene lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oas.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oas.json deleted file mode 100644 index f0a34b410..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oas.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oas", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "KIT Gene Immunohistochemistry (IHC)", - "notes" : "**Note 1:** Most gastrointestinal stromal tumors (GISTs) have oncogenic mutations of the KIT gene, which is located on chromosome 4q. KIT is a cytokine receptor which binds to stem cell factor, which causes certain types of cells to grow; altered forms of KIT may be associated with some types of cancer. This test detects expression of the KIT gene in tumor tissue sections using immunohistochemical (IHC) stains. Test results are available in the pathology report. A positive test helps to establish the diagnosis of GIST and to identify patients for whom treatment with agents such as imatinib mesylate (Gleevec) or sunitinib malate (Sutent) is appropriate. Do not record secondary or acquired mutations that may have developed because of long-term imatinib treatment.\n\n**Note 2:** Another name for KIT is CD117.\n\n**Note 3:** See **Site-Specific Factor 7, KIT Gene Mutations** for coding information about specific mutations of the KIT gene detectable with molecular testing.  See **Site-Specific Factor 8, PDGFRA Gene Mutation** for coding information about mutations of the PDGFRA gene.", - "last_modified" : "2018-05-14T21:29:01.305Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oat.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oat.json deleted file mode 100644 index 06b3761b1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oat.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oat", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Lactate Dehydrogenase (LDH)", - "notes" : "**Note 1:** Lactate dehydrogenase (LDH) is an enzyme that is released into the bloodstream when cells are damaged or destroyed. Cancer cells have a high rate of turnover, leading to an elevated LDH. An elevated LDH is a generic marker of injury to cells and not specific to cancer.\n\n**Note 2:** Record the range of LDH value as documented in the patient record at the time of diagnosis.", - "last_modified" : "2018-05-14T21:29:00.287Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Within normal limits " ], [ "010", "Less than 1.5 x N\n(Less than 1.5 times the upper limit of normal for lactate dehydrogenase (LDH))" ], [ "020", "1.5 to 5 x N\n(Between 1.5 and 5 times the upper limit of normal for LDH)" ], [ "025", "5.1 to 10 x N\n(Between 5.1 and 10 times the upper limit of normal for LDH)" ], [ "030", "Greater than 10 x N\n(Greater than 10 times the upper limit of normal for LDH)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaw.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaw.json deleted file mode 100644 index 202b642d4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oaw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oaw", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Mediastinal Nodal Status", - "notes" : "**Note:** The mediastinal nodal status corresponds to the assessment method recorded in Site-Specific Factor 7.", - "last_modified" : "2018-05-14T21:29:01.234Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative lymph nodes" ], [ "010", "Positive lymph nodes" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oax.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oax.json deleted file mode 100644 index 6e1829ac7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oax.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oax", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "LDH Upper Limits of Normal", - "notes" : "**Note 1:** Upper limits of normal for Lactate dehydrogenase (LDH) vary widely depending on the lab.  Common upper limits can be 200, 250, 618, or other values.  \n* The upper limit of normal is needed to evaluate the LDH value record in **Site-Specific Factor 5, Serum Lactate Dehydrogenase (LDH) Lab Value.**\n\n**Note 2:** Record upper limit of normal used for the LDH test as listed on the laboratory report or in the medical record. \n* The information should be taken from the same test used to **Site-Specific Factor 4, Serum Lactate Dehydrogenase (LDH)** and **Site-Specific Factor 5, Serum Lactate Dehydrogenase (LDH) Lab Value.**", - "last_modified" : "2018-05-14T21:29:01.643Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-979", "001 - 979 upper limit of normal \n(Exact upper limit of normal)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Upper limit of normal not in chart " ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oay.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oay.json deleted file mode 100644 index a633c2696..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oay.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_oay", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Pre-Orchiectomy Alpha Fetoprotein (AFP) Lab Value", - "notes" : "**Note 1:** Record the value of the alpha fetoprotein (AFP) test as documented in the patient record prior to orchiectomy and other treatment.\n\n**Note 2:** Use the same laboratory test to record values in **Site-Specific Factor 6, Pre-Orchiectomy Alpha Fetoprotein (AFP) Lab Value** and **Site-Specific Factor 7, Pre-Orchiectomy Alpha Fetoprotein (AFP) Range**.\n\n**Note 3:** Record a pretreatment AFP of 20 nanograms/milliliter (ng/ml) as 002; record a pretreatment AFP of 11,000 ng/ml as 200.\n\n**Note 4:** Code 000 is reserved for exactly 0.0 ng/ml (no measurable amount of AFP). Do not round tiny values down to 0.0 ng/ml; any measured value less than or equal to 0.1 ng/ml should be coded 001. \n* For values greater than 001 ng/ml, round values to the nearest ng/ml\n\n**Note 5:** A lab value expressed in micrograms/liter (ug/l) is equivalent to the same value expressed in ng/ml.\n\n**Note 6:** If the pre-orchiectomy AFP test is done but the actual value is not stated, use code 997.\n\n**Note 7:** For rare cases that are treated prior to orchiectomy, use code 995 in this field and record the initial AFP lab value in **Site-Specific Factor 12, Post-Orchiectomy Alpha Fetoprotein (AFP) Lab Value**.\n\n**Note 8:** For rare cases that an orchiectomy is not performed, use code 996 in this field and record the initial AFP lab value in **Site-Specific Factor 12, Post-Orchiectomy Alpha Fetoprotein (AFP) Lab Value**.", - "last_modified" : "2018-05-14T21:29:00.306Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 nanograms/milliliter (ng/ml)" ], [ "001", "1 - 19 ng/ml" ], [ "002", "20 - 29 ng/ml" ], [ "003", "30 - 39 ng/ml" ], [ "004", "40 - 49 ng/ml" ], [ "005", "50 - 59 ng/ml" ], [ "006", "60 - 69 ng/ml" ], [ "007", "70 - 79 ng/ml" ], [ "008", "80 - 89 ng/ml" ], [ "009", "90 - 99 ng/ml" ], [ "010", "100 - 199 ng/ml" ], [ "020", "200 - 299 ng/ml" ], [ "030", "300 - 399 ng/ml" ], [ "040", "400 - 499 ng/ml" ], [ "050", "500 - 599 ng/ml" ], [ "060", "600 - 699 ng/ml" ], [ "070", "700 - 799 ng/ml" ], [ "080", "800 - 899 ng/ml" ], [ "090", "900 - 999 ng/ml" ], [ "100", "1000 - 1999 ng/ml" ], [ "120", "2000 - 2999 ng/ml" ], [ "130", "3000 - 3999 ng/ml" ], [ "140", "4000 - 4999 ng/ml" ], [ "150", "5000 - 5999 ng/ml" ], [ "160", "6000 - 6999 ng/ml" ], [ "170", "7000 - 7999 ng/ml" ], [ "180", "8000 - 8999 ng/ml" ], [ "190", "9000 - 9999 ng/ml" ], [ "200", "Greater than or equal to 10, 000 ng/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "995", "Pretreated case, initial alpha fetoprotein (AFP) lab value recorded in Site-Specific Factor 12" ], [ "996", "No orchiectomy performed, initial AFP lab value recorded in Site-Specific Factor 12" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opa.json deleted file mode 100644 index b0f79611b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_opa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Parapharyngeal, Parotid, and Suboccipital/Retroauricular Lymph Nodes for Head and Neck", - "notes" : "**Note 1:** **Site-Specific Factors 3-6** are used to code the presence or absence of lymph node involvement in each of 7 different levels and other groups defined by TNM. The definitions of the levels are the same for all applicable head and neck sites. One digit is used to represent lymph nodes of a single level, with the digits of **Site-Specific Factor 3** representing lymph nodes of Levels I-III; the digits of **Site-Specific Factor 4** representing lymph nodes of Levels IV and V and the retropharyngeal nodes; the digits of **Site-Specific Factor 5** representing lymph nodes of Levels VI and VII and the facial nodes; and the digits of **Site-Specific Factor 6** representing the remaining Other groups as defined by TNM. In each digit, a code 1 means yes, the nodes are involved.\n\n**Note 2:** If involved regional node levels are documented as a range, or if the involved nodes overlap multiple levels, code all levels specified.\n\n**Note 3:** If regional node(s) are known to be positive but the level of node(s) involved is unknown, use code 000.", - "last_modified" : "2018-05-14T21:29:03.709Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No involvement of any group: \n Parapharyngeal lymph nodes \n Parotid (preauricular, periparotid, and/or intraparotid) lymph nodes\n Suboccipital/retroauricular lymph nodes" ], [ "100", "Parapharyngeal lymph node(s) involved" ], [ "010", "Parotid (preauricular, periparotid, and/or intraparotid) lymph node(s) involved" ], [ "001", "Suboccipital/retroauricular lymph node(s) involved" ], [ "110", "Involvement of two groups:\n Parapharyngeal lymph nodes \n Parotid (preauricular, periparotid, and/or intraparotid) lymph nodes" ], [ "101", "Involvement of two groups:\n Parapharyngeal lymph nodes \n Suboccipital/retroauricular lymph nodes" ], [ "011", "Involvement of two groups:\n Parotid (preauricular, periparotid, and/or intraparotid) lymph nodes\n Suboccipital lymph nodes" ], [ "111", "Involvement of three groups:\n Parapharyngeal lymph nodes\n Parotid (preauricular, periparotid, and/or intraparotid) lymph nodes\n Suboccipital/retroauricular lymph nodes" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if regional lymph node involved, not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opb.json deleted file mode 100644 index fd20cf16a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opb.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf6_opb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Circumferential Resection Margin (CRM)", - "notes" : "**Note 1:** Tumor involvement of the circumferential resection margin (CRM) appears to be a strong prognostic factor for local or systemic recurrences and survival after surgery.\n\n**Note 2:** The CRM may also be referred to as the circumferential radial margin or mesenteric margin.\n\n**Note 3:** According to AJCC 7th Edition Cancer Staging Manual, \"The CRM is the surgically dissected nonperitonealized surface of the specimen. It corresponds to any aspect of the colorectum that is not covered by a serosal layer of mesothelial cells and must be dissected from the retroperitoneum or subperitoneum in order to remove the viscus. In contradistinction, serosalized surfaces of the colorectum are not dissected; they are naturally occurring anatomic structures and are not pathologic surgical margins. The circumferential surface of surgical resection specimens of ascending colon, descending colon, or upper rectum is only partially peritonealized, and the demarcation between the peritonealized surface and the nonperitonealized surface (corresponding to the CRM) of such specimens is not always easily appreciated on pathologic examination.\" (1)\n\n**Note 4:** Record to the nearest tenth in millimeters (mm) the distance between the leading edge of the tumor and the nearest edge of surgically dissected margin as recorded in the pathology report. \n* For example, if the CRM is 2 mm, code 020 \n* If the margin is involved (positive), use code 000 \n* If the margin is described as less than 1 mm with no more specific measurement, use code 000; margins of 0-1 mm are recorded by the pathologist as involved\n\n**Note 5:** Codes 001-980 record exact measurements. Codes 992-996 are used for margin descriptions lacking specific measurements.\n\n**Note 6:** Use code 999 (CRM not mentioned) if the pathology report describes only distal and proximal margins, or margins, NOS. Only specific statements about the CRM are collected in this data item.", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) *AJCC Cancer Staging Manual (7th ed.)*. New York; London: Springer, pg. 152", - "last_modified" : "2018-05-14T21:29:00.852Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Margin IS involved with tumor\nCircumferential resection margin (CRM) positive\nDescribed as \"less than 1 millimeter (mm)\"" ], [ "001-980", "0.1- 98.0 millimeter (mm)\n(Exact size to nearest tenth of millimeter)" ], [ "981", "98.1 mm or greater" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "No residual tumor identified on specimen" ], [ "991", "Margins clear, distance from tumor not stated\nCRM negative, NOS" ], [ "992", "Described as \"less than 2 mm,\" or \"greater than 1 mm,\" or \"between 1 mm and 2 mm\"" ], [ "993", "Described as \"less than 3 mm,\" or \"greater than 2 mm,\" or \"between 2 mm and 3 mm\"" ], [ "994", "Described as \"less than 4 mm,\" or \"greater than 3 mm,\" or \"between 3 mm and 4 mm\"" ], [ "995", "Described as \"less than 5 mm,\" or \"greater than 4 mm,\" or \"between 4 mm and 5 mm\"" ], [ "996", "Described as \"greater than 5 mm\"" ], [ "998", "No resection of primary site \nSurgical procedure did not remove enough tissue to measure the CRM\n(Examples include: polypectomy only, excision of tumor only or excisional biopsy only)" ], [ "999", "Unknown or no information\nCRM not mentioned\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opd.json deleted file mode 100644 index 9b5b58ee0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_opd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Chromosome 6p Status", - "notes" : "**Note 1:** A central part of the short arm of chromosome 6 (6p) may contain one or more oncogenes directly involved in tumor progression.\n\n**Note 2:** A gain in chromosomes may also be termed \"multiple copies\" or \"greater than normal.\"", - "last_modified" : "2018-05-14T21:28:58.329Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No gain in chromosome 6p" ], [ "010", "Gain in chromosome 6p" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opf.json deleted file mode 100644 index 74ec6e846..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_opf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Chromosome 19q: Loss of Heterozygosity (LOH)", - "notes" : "**Note 1:** This is a special molecular diagnostic test performed on tumor tissue to identify loss of genetic material normally found on the long arm of one of the patient's two copies of chromosome 19. A normal cell will contain two complete copies of each chromosome, one from each parent, and this normal state is termed heterozygous. Loss of heterozygosity (LOH) is an abnormal state reflecting damage to the chromosome.\n\n**Note 2:** Other terms for LOH include gene deletion and allelic loss.\n\n**Note 3:** For brain tumors, tests for LOH of chromosomes 1p and 19q may be performed at the same time and reported on a single report. See also Site-Specific Factor 5.", - "last_modified" : "2018-05-14T21:29:01.311Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Test positive for loss of heterozygosity (LOH)" ], [ "020", "Test negative for LOH" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "No histologic examination of primary site\nTest not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opg.json deleted file mode 100644 index 55c13504c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf6_opg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Number of Examined Para-Aortic Nodes", - "notes" : "**Note:** Record the number of examined para-aortic nodes documented in the patient record. Apply the same instructions for coding Regional Nodes Examined.", - "last_modified" : "2018-05-14T21:29:01.061Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No para-aortic nodes examined" ], [ "001-089", "1 - 89 para-aortic nodes examined \n(Exact number of para-aortic lymph nodes examined)" ], [ "090", "90 or more para-aortic nodes examined" ], [ "095", "No para-aortic nodes removed, but aspiration or core biopsy of para-aortic nodes performed" ], [ "096", "Para-aortic lymph node removal documented as a sampling, but number of nodes unknown/not stated" ], [ "097", "Para-aortic lymph node removal documented as a dissection, but number of nodes unknown/not stated" ], [ "098", "Para-aortic lymph nodes surgically removed, but the number of lymph nodes unknown/not stated and not documented as a sampling or dissection" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if nodes examined; \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oph.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oph.json deleted file mode 100644 index 580b3ccd6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_oph.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf6_oph", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1:** The mitotic rate, the count of mitoses (also termed \"mitotic figures\") per 50 high-power fields (HPF), reflects the potential aggressiveness or prognosis of gastrointestinal stromal tumors (GIST) and is used alone to determine their histologic grade (low or high). The mitotic rate is also a factor in assigning the AJCC 7 anatomic stage/prognostic group. This site-specific factor presumes the denominator of 50 HPF or its equivalent, so just the numerator (the mitotic count) is coded here. For other schemas in which mitotic count is collected, the denominator may vary. (1)\n\n**Note 2:** A HPF usually has a magnification objective of 40 (a 40x field). As described in the AJCC chapter on GIST, 50 HPF are equivalent to viewing a total area of 5 square millimeters (mm) at 40x magnification. (1)\n\n**Note 3:** Record mitotic count, to the nearest tenth of a mitosis, as documented in the pathology report. For example, a mitotic count of 6/50 HPF, or 6 per 5 square mm, would be coded 060.\n\n**Note 4:** Code the specific mitotic count only per 50 HPF or 5 square mm; assume the denominator is 50 HPF or 5 square mm if not specified. \n\n**Note 5:** Use code 996 for a description of mitoses, NOS, or if the mitotic count is expressed with a specific denominator other than 50 HPF or 5 square mm.", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) *AJCC Cancer Staging Manual (7th ed.)*. New York; London: Springer, pg. 176", - "last_modified" : "2018-05-14T21:29:01.231Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 mitoses per 50 high-power fields (HPF) (40x fields)\n0.0 mitoses per 5 square millimeters (mm)\nMitoses absent\nNo mitoses present" ], [ "001-008", "0.1-0.8 mitoses per 50 HPF (40x field)\n0.1-0.8 mitoses per 5 square mm" ], [ "009", "0.9 mitoses per 50 HPF (40x fields)\n0.9 mitoses per 5 square mm\n\nStated as less than 1 mitosis per 50 HPF (40x fields)\nStated as less than 1 mitosis per 5 square mm" ], [ "010-100", "1 - 10 mitoses per 50 HPF (40x fields)\n1 - 10 mitoses per 5 square mm" ], [ "110", "11 or more mitoses per 50 HPF (40x fields)\n11 or more mitoses per 5 square mm" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Specific number not stated, described as less than or equal to 5 mitoses per 50 HPF (40x fields)\nSpecific number not stated, described as less than or equal to 5 mitoses per 5 square mm\n\nStated as low mitotic count or rate with no specific number" ], [ "991", "Specific number not stated, described as more than 5 mitoses per 50 HPF (40x fields)\nSpecific number not stated, described as more than 5 mitoses per 5 square mm\n\nStated as high mitotic count or rate with no specific number" ], [ "996", "Mitotic count described with denominator other than 50 HPF (40x field)/5 square mm\nMItoses present, NOS" ], [ "998", "No histologic specimen from primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opi.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opi.json deleted file mode 100644 index eda92c582..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf6_opi.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf6_opi", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF6", - "title" : "Site-Specific Factor 6", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1:** The mitotic count, the number of mitoses per 10 high-power fields (HPF), is an element in a proposed grading scheme for neuroendocrine tumors (NET) of the gastrointestinal system. This site-specific factor presumes the denominator of 10 HPF, so just the numerator (the mitotic count) is coded here. For other schemas in which mitotic count is collected, the denominator may vary.\n\n**Note 2:** As described in the AJCC chapter on NETs, 10 HPF at a magnficiation objective of 40 (40x) are equivalent to 2 square millimeters (mm). (1)\n\n**Note 3:** Record mitotic count to the nearest tenth as documented in the pathology report. For example, a mitotic count of 3/10 HPF would be coded 030.\n\n**Note 4:** Code the specific mitotic count only per 10 HPF or 2 square mm; assume the denominator is 10 HPF or 2 square mm if not specified. Use code 996 only if the mitotic count is expressed with a specific denominator other than 10 HPF or 2 square mm.", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) *AJCC Cancer Staging Manual (7th ed.)*. New York; London: Springer, pg. 184", - "last_modified" : "2018-05-14T21:29:02.956Z", - "definition" : [ { - "key" : "ssf6", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0.0 mitoses per 10 high-power fields (HPF) (40x field)\n0.0 mitoses per 2 square millimeters (mm)\nMitoses absent\nNo mitoses present" ], [ "001-008", "0.1 - 0.8 mitosis per 10 HPF (40x field)\n0.1 - 0.8 mitosis per 2 square mm" ], [ "009", "0.9 mitosis per 10 HPF (40x field)\n0.9 mitosis per 2 square mm\n\nStated as less than 1 mitosis per 10 HPF (40x field)\nStated as less than 1 mitosis per 2 square mm" ], [ "010-500", "1 - 50 mitoses per 10 HPF (40x field)\n1 - 50 mitoses per 2 square mm" ], [ "510", "51 or more mitoses per 10 HPF (40x field)\n51 or more mitoses per 2 square mm" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Specific number not stated, described as less than 2 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as less than 2 mitoses per 2 square mm\n\nStated as low mitotic count or rate with no specific number" ], [ "991", "Specific number not stated, described as between 2 and 20 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as between 2 and 20 mitoses per 2 square mm" ], [ "992", "Specific number not stated, described as more than 20 mitoses per 10 HPF (40x field)\nSpecific number not stated, described as more than 20 mitoses per 2 square mm\n\nStated as high mitotic count or rate with no specific number" ], [ "996", "Mitotic count described with denominator other than 10 HPF (40x field) or 2 square mm" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_saa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_saa.json deleted file mode 100644 index b7981fa7a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_saa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_saa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Nottingham or Bloom-Richardson (BR) Score/Grade", - "notes" : "**Note 1:** TNM recommends the Nottingham combined histologic grade (Elston-Ellis modification of the Scarff-Bloom-Richardson grading system). Terms seen on pathology reports may include\n* Bloom-Richardson (BR) \n* Modified Bloom-Richardson, BR \n* BR grading \n* Scarff-Bloom-Richardson \n* SBR grading \n* Elston-Ellis modification of Bloom-Richardson score \n* Nottingham modification of Bloom-Richardson score\n* Nottingham modification of Scarff-Bloom-Richardson\n* Nottingham-Tenovus grade\n* Nottingham grade\n\n**Note 2:** Code the highest score prior to neoadjuvant treatment.\n\n**Note 3:** Code the tumor grade using the following priority order\n* BR scores 3-9 \n* BR grade (low, intermediate, high).\n\n**Note 4:** BR score may be expressed as a range, 3-9. The score is based on three morphologic features of \"invasive no-special-type\" breast cancers \n* Degree of tubule formation/histologic grade\n* Mitotic activity \n* Nuclear pleomorphism/nuclear grade of tumor cells). \n\nIf a report describes any of the factors with words (low, intermediate, high) rather than numbers, do not attempt to translate these words into a score or number; use codes 110-130.\n\n**Note 5:** If only a grade of 1 through 4 is given with no information on the score and it is unclear if it is a Nottingham or BR Grade, code 999.\n\n**Note 6:** Code the highest score prior to neoadjuvant treatment if multiple scores are reported. \n* For examples, different scores may be reported on multiple pathology reports for the same primary cancer; different scores may be reported for multiple tumors assigned to the same primary cancer", - "last_modified" : "2018-05-14T21:29:01.218Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "030", "Score of 3" ], [ "040", "Score of 4" ], [ "050", "Score of 5" ], [ "060", "Score of 6" ], [ "070", "Score of 7" ], [ "080", "Score of 8" ], [ "090", "Score of 9" ], [ "110", "Low Grade, Bloom-Richardson (BR) grade 1, score not given" ], [ "120", "Medium (Intermediate) Grade, BR grade 2, score not given" ], [ "130", "High Grade, BR grade 3, score not given" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of primary site" ], [ "999", "Neither BR grade nor BR score given\nUnknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_saq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_saq.json deleted file mode 100644 index dbb1fadee..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_saq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_saq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Rheumatoid Arthritis", - "notes" : "**Note:** Code history of rheumatoid arthritis as documented by the physician or coded in the medical record.", - "last_modified" : "2018-05-14T21:28:58.484Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of rheumatoid arthritis" ], [ "010", "History of rheumatoid arthritis" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_saw.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_saw.json deleted file mode 100644 index 4cf9a457f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_saw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_saw", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Gleason's Primary Pattern and Secondary Pattern Values on Needle Core Biopsy/Transurethral Resection of Prostate (TURP)", - "notes" : "**Note 1:** Code the Gleason's primary and secondary patterns from needle core biopsy or TURP only in this field. Gleason's primary and secondary patterns provided on prostate tissue on a transurethral resection of bladder (TURB) specimen can also be used in this field.\n\n**Note 2:** Code the Gleason's primary and secondary patterns prior to neoadjuvant treatment.\n\n**Note 3:** Usually prostate cancers are graded using Gleason's score or pattern. Gleason's grading for prostate primaries is based on a 5-component system (5 histologic patterns). Prostatic cancer generally shows two main histologic patterns. \n* The primary pattern, the pattern occupying greater than 50% of the cancer, is usually indicated by the first number of the Gleason's grade\n* The secondary pattern is usually indicated by the second number. These two numbers are added together to create a pattern score, ranging from 2 to 10\n\n**A.** If there are two numbers, assume that they refer to two patterns (the first number being the primary pattern and the second number the secondary pattern), and sum them to obtain the score.\n **B.** If only one number is given and it is less than or equal to 5, assume that it describes a pattern. Code the number as the primary pattern and code the secondary pattern as 9. \n **C.** If only one number is given and it is greater than 5, assume that it is a score. Code 099. \n**D.** If the pathology report specifies a specific number out of a total of 10, the first number given is the score. \n\n* Example: The pathology report says Gleason's 3/10. The Gleason's score would be 3, and coded as 099\n\n**Note 4:** If different patterns are documented on multiple needle core biopsies code the pattern that reflects the highest or most aggressive score regardless if the pathologist provides an overall pattern in a final summary. \n* If different patterns equal the same high score, give priority to the highest primary pattern and then the highest secondary pattern\n\n* For example, both Gleason's 3, 4 and Gleason's 4, 3 equal Gleason's score 7; code 043\n\n* Do not mix patterns from multiple specimens\n\n**Note 5:** If needle core biopsy and TURP are both performed, code the pattern that reflects the highest score.\n\n**Note 6:** If needle core biopsy and TURP are not performed, use code 998. \n* If the Gleason's pattern and score are not documented on needle core biopsy or TURP, use code 999.", - "last_modified" : "2018-05-14T21:29:00.100Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "011", "Primary pattern 1, secondary pattern 1 " ], [ "012", "Primary pattern 1, secondary pattern 2" ], [ "013", "Primary pattern 1, secondary pattern 3" ], [ "014", "Primary pattern 1, secondary pattern 4" ], [ "015", "Primary pattern 1, secondary pattern 5" ], [ "019", "Primary pattern 1, secondary pattern unknown" ], [ "021", "Primary pattern 2, secondary pattern 1" ], [ "022", "Primary pattern 2, secondary pattern 2" ], [ "023", "Primary pattern 2, secondary pattern 3" ], [ "024", "Primary pattern 2, secondary pattern 4" ], [ "025", "Primary pattern 2, secondary pattern 5" ], [ "029", "Primary pattern 2, secondary pattern unknown" ], [ "031", "Primary pattern 3, secondary pattern 1" ], [ "032", "Primary pattern 3, secondary pattern 2" ], [ "033", "Primary pattern 3, secondary pattern 3" ], [ "034", "Primary pattern 3, secondary pattern 4" ], [ "035", "Primary pattern 3, secondary pattern 5" ], [ "039", "Primary pattern 3, secondary pattern unknown" ], [ "041", "Primary pattern 4, secondary pattern 1" ], [ "042", "Primary pattern 4, secondary pattern 2" ], [ "043", "Primary pattern 4, secondary pattern 3" ], [ "044", "Primary pattern 4, secondary pattern 4" ], [ "045", "Primary pattern 4, secondary pattern 5" ], [ "049", "Primary pattern 4, secondary pattern unknown" ], [ "051", "Primary pattern 5, secondary pattern 1" ], [ "052", "Primary pattern 5, secondary pattern 2" ], [ "053", "Primary pattern 5, secondary pattern 3" ], [ "054", "Primary pattern 5, secondary pattern 4" ], [ "055", "Primary pattern 5, secondary pattern 5" ], [ "059", "Primary pattern 5, secondary pattern unknown" ], [ "099", "Primary pattern unknown, secondary pattern unknown" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No needle core biopsy/TURP performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sbv.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sbv.json deleted file mode 100644 index fdfe54885..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sbv.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sbv", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Mucoepidermoid Carcinoma - Grade", - "notes" : "**Note 1:** Code only for cases diagnosed as mucoepidermoid carcinoma, histology code 8430/3. \n\n**Note 2:** Use code 987 for all other histologies. Use code 998 if no pathologic examination of primary site. Use code 999 if grade not stated on pathologic examination.", - "last_modified" : "2018-05-14T21:29:00.056Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Low grade" ], [ "020", "High grade" ], [ "987", "Not applicable: Histology not mucoepidermoid carcinoma" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "No pathologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sbx.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sbx.json deleted file mode 100644 index ee0fab312..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sbx.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sbx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Size of Metastasis in Lymph Nodes", - "notes" : "**Note:** Code the size of the largest metastasis in a lymph node as documented in the pathology report, not the size of the lymph node. If the size of the metastasis is not documented in the pathology report, code the size of the largest involved lymph node as documented pathologically or clinically with pathology taking priority. \n* Do not code the size of any distant lymph node(s)", - "last_modified" : "2018-05-14T21:28:58.337Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph node(s) involved" ], [ "001-979", "1 - 979 millimeter (mm) \n(Exact size of lymph node metastasis to nearest mm)" ], [ "980", "980 mm or larger" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Microscopic focus or foci only and no size of focus given" ], [ "991", "Described as \"less than 1 centimeter (cm)\"" ], [ "992", "Described as \"less than 2 cm\" or \"greater than 1 cm\" or \"between 1 cm and 2 cm\"" ], [ "993", "Described as \"less than 3 cm\" or \"greater than 2 cm\" or \"between 2 cm and 3 cm\"" ], [ "994", "Described as \"less than 4 cm\" or \"greater than 3 cm\" or \"between 3 cm and 4 cm\"" ], [ "995", "Described as \"less than 5 cm\" or \"greater than 4 cm\" or \"between 4 cm and 5 cm\"" ], [ "996", "Described as \"less than 6 cm\" or \"greater than 5 cm\" or \"between 5 cm and 6 cm\"" ], [ "997", "Described as \"more than 6 cm\"" ], [ "999", "Regional lymph node(s) involved, size not stated\nUnknown if regional lymph node(s) involved\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_scb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_scb.json deleted file mode 100644 index f7ded1030..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_scb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_scb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Total Bilirubin Unit of Measure", - "notes" : "**Note 1:** There are two main methods of describing concentrations: by weight, and by molecular count. Weights are recorded in grams, and molecular counts are recorded in moles. Milligrams/deciliter (mg/dl) is the unit of measure commonly used in the United States. Micromoles/liter (umol/l) is the designated Systeme International (SI) unit of measure commonly used in Canada and Europe.\n\n**Note 2:** If the test was done but the total bilirubin unit of measure is not stated, code 997.\n\n**Note 3:** The same laboratory test should be used to record information in **Site-Specific Factor 6, Total Bilirubin Value** and **Site Specific Factor 7, Total Bilirubin Unit of Measure**.", - "last_modified" : "2018-05-14T21:29:02.607Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Milligrams per deciliter (mg/dL)" ], [ "020", "Micromoles/liter (umol/L)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart\nTest performed, unit of measure not specified\nTest performed, different unit of measure used, unit not specified" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_scq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_scq.json deleted file mode 100644 index a88398044..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_scq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_scq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Tumor Necrosis", - "notes" : "**Note:** Code the presence or absence of tumor necrosis as documented in the pathology report. \n* Assign code 000 if histologic examination of primary site was performed, the pathology report is available for review, and tumor necrosis is not mentioned", - "last_modified" : "2018-05-14T21:29:01.733Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Tumor necrosis not present/not identified " ], [ "010", "Tumor necrosis present/identified" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Histologic examination of primary site performed, unknown results" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sde.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sde.json deleted file mode 100644 index 0a665e47a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sde.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sde", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Number of Examined Para-Aortic Nodes", - "notes" : "**Note:** Record the number of examined para-aortic nodes documented in the patient record.  Apply the same instructions for coding Regional Nodes Examined to this data item.", - "last_modified" : "2018-05-14T21:29:00.855Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No para-aortic nodes examined" ], [ "001-089", "1 - 89 para-aortic nodes examined \n(Exact number of para-aortic lymph nodes examined)" ], [ "090", "90 or more para-aortic nodes examined" ], [ "095", "No para-aortic nodes removed, but aspiration or core biopsy of para-aortic nodes performed" ], [ "096", "Para-aortic lymph node removal documented as a sampling, but number of nodes unknown/not stated" ], [ "097", "Para-aortic lymph node removal documented as a dissection, but number of nodes unknown/not stated" ], [ "098", "Para-aortic lymph nodes surgically removed, but number of nodes unknown/not stated and not documented as a sampling or dissection" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if para-aortic nodes examined\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdf.json deleted file mode 100644 index c4334d376..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sdf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Assessment Method of Distant (Mediastinal, Scalene) Nodal Status", - "notes" : "**Note 1:** The assessment results are recorded in **Site-Specific Factor 6, Distant (Mediastinal, Scalene) Nodal Status**.\n\n**Note 2:** Use the highest applicable code.", - "last_modified" : "2018-05-14T21:29:01.251Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Clinical assessment" ], [ "020", "Radiography, imaging \n(Ultrasound (US), Computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))" ], [ "030", "Incisional biopsy; FNA" ], [ "040", "Lymphadenectomy\nExcisional biopsy or resection with microscopic confirmation" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdo.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdo.json deleted file mode 100644 index 7eae5cc8f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdo.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sdo", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "KIT Gene Mutations", - "notes" : "**Note 1:** This is a special molecular diagnostic test performed on tumor tissue to identify mutations in specific parts (called exons) of the KIT gene. Certain patterns of mutations correlate with the anatomic site and morphology of gastrointestinal stromal tumors (GISTs) tumors and can predict response to treatment with agents such as imatinib mesylate (Gleevec) and sunitinib malate (Sutent). Some mutations are associated with acquired resisteance to imatinib treatment; do not record secondary or acquired mutations that may have been caused by long-term imatinib treatment.\n\n**Note 2:** Code the mutation locations found from the KIT gene test. Another name for KIT is CD117.\n\n**Note 3:** See **Site-Specific Factor 6, KIT Gene Immunohistochemistry (IHC)** for coding information about KIT expression detected with immunohistochemistry (IHC).  See **Site-Specific Factor 8, PDGFRA Gene Mutation** for coding information about mutations of the PDGFRA gene.", - "last_modified" : "2018-05-14T21:29:01.304Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "KIT gene test negative for mutations; no mutations; normal or wild-type gene" ], [ "010", "KIT gene test positive for mutation of exon 9 only" ], [ "020", "KIT gene test positive for mutation of exon 11 only" ], [ "030", "KIT gene test positive for mutation of exon 13 only" ], [ "040", "KIT gene test positive for mutation of exon 17 only" ], [ "800", "KIT gene test positive for one other specified mutation" ], [ "810", "KIT gene test performed, positive for more than one specific mutation" ], [ "850", "KIT gene test positive, NOS; mutation(s) found but the specific mutation(s) are not stated" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdx.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdx.json deleted file mode 100644 index 4938f2717..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sdx.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sdx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Assessment Method of Mediastinal Nodal Status", - "notes" : "**Note 1:** The assessment results are recorded in Site-Specific Factor 6.\n\n**Note 2:** Use the highest applicable code 010-040.", - "last_modified" : "2018-05-14T21:29:01.195Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Clinical assessment" ], [ "020", "Radiography; imaging \n(Ultrasound (US), computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))" ], [ "030", "Incisional biopsy; fine needle aspirate (FNA)" ], [ "040", "Lymphadenectomy\nExcisional biopsy or resection with microscopic confirmation" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_seb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_seb.json deleted file mode 100644 index 35d67f559..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_seb.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_seb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Primary Tumor Mitotic Count/Rate", - "notes" : "**Note 1:** Mitotic rate/count is assessed on primary melanomas, based on the number of mitotic figures in one square millimeter (mm) surrounding either a \"hot spot\" with the most mitotic figures or a field with a representative mitosis.\n\n**Note 2:** Record the mitotic rate/count as documented in the pathology report. \n* If there is more than one pathology report for the same melanoma at initial diagnosis and different mitotic counts are documented, code the highest mitotic count from any of the pathology reports \n* Use code 999 if there is no documentation or no mention of mitotic rate in any pathology report for the same melanoma", - "last_modified" : "2018-05-14T21:29:01.368Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 mitoses per square millimeter (mm)\nMitoses absent\nNo mitoses present" ], [ "001-010", "1 - 10 mitoses/square mm\n(Exact measurement in mitoses/square mm) \n\nExamples:\n 001 1 mitosis per square mm\n 002 2 mitoses per square mm\n 010 10 mitoses per square mm" ], [ "011", "11 or more mitoses per square mm" ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Stated as \"less than 1 mitosis/square mm\"\nStated as \"nonmitogenic\" " ], [ "991", "Stated as \"at least 1 mitosis/square mm\"\nStated as \"mitogenic\"" ], [ "996", "Mitotic rate described with denominator other than square millimeter (mm)" ], [ "997", "Test performed, results not in chart\nTest performed, quantitative results not stated" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_seh.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_seh.json deleted file mode 100644 index bee529f04..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_seh.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_seh", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Pre-Orchiectomy Alpha Fetoprotein (AFP) Range", - "notes" : "**Note 1:** Record the range of the alpha fetoprotein (AFP) test as documented in the patient record prior to orchiectomy and other treatment.\n\n**Note 2:** Use the same laboratory test to record values in **Site-Specific Factor 6, Pre-Orchiectomy Alpha Fetoprotein (AFP) Lab Value** and **Site-Specific Factor 7, Pre-Orchiectomy Alpha Fetoprotein (AFP) Range**.\n\n**Note 3:** A lab value expressed in micrograms/liter (ug/L) is equivalent to the same value expressed in nanograms/milliliter (ng/ml).\n\n**Note 4:** If the pre-orchiectomy AFP test is unavailable but a physician's statement of the result is documented, use codes 991-993.\n\n**Note 5:** For rare cases that are treated prior to orchiectomy, use code 995 in this field and record the initial AFP range in **Site-Specific Factor 13, Post-Orchiectomy Alpha Fetoprotein (AFP) Range**.\n\n**Note 6:** For rare cases that an orchiectomy is not performed, use code 996 in this field and record the initial AFP range in **Site-Specific Factor 13, Post-Orchiectomy Alpha Fetoprotein (AFP) Range**.", - "last_modified" : "2018-05-14T21:29:00.347Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Within normal limits (S0)" ], [ "010", "Range 1 (S1) above normal and less than 1,000 nanograms/milliliter (ng/ml)" ], [ "020", "Range 2 (S2) 1,000 -10,000 ng/ml" ], [ "030", "Range 3 (S3) greater than 10,000 ng/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Pre-orchiectomy alpha fetoprotein (AFP) stated to be elevated" ], [ "992", "Pre-orchiectomy AFP unknown but preorchiectomy serum tumor markers NOS stated to be normal" ], [ "993", "Pre-orchiectomy AFP unknown but preorchiectomy serum tumor markers NOS stated to be elevated" ], [ "995", "Pretreated case, initial AFP range recorded in Site-Specific Factor 13" ], [ "996", "No orchiectomy performed, initial AFP range recorded in Site-Specific Factor 13" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sfl.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sfl.json deleted file mode 100644 index 777a4fd59..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sfl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sfl", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Surgical Resection", - "notes" : "**Note 1:** Record the details of surgical resection here even if previously recorded within the abstract.\n\n**Note 2:** If the case is clinically diagnosed and no surgical resection is performed, use code 000.\n\n**Note 3:** Do not record stereotactic radiosurgery as tumor destruction. It should be recorded in the radiation treatment items.", - "last_modified" : "2018-05-14T21:29:01.266Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No surgery of primary site; autopsy only" ], [ "010", "Tumor destruction, NOS \nNo specimen sent to pathology" ], [ "020", "Local excision (biopsy) of tumor, lesion or mass\nSpecimen sent to pathology" ], [ "021", "Subtotal resection of tumor, lesion, or mass of brain\n(Less than half of lobe involved with tumor)\nSpecimen sent to pathology" ], [ "022", "Resection of tumor of spinal cord or nerve" ], [ "030", "Radical, total, gross resection of tumor, lesion or mass in brain\n(Less than half of lobe involved with tumor)\n(Not applicable for spinal cord or spinal nerve primary)" ], [ "040", "Partial resection of lobe of brain\n(Tumor involves more than half of lobe)\n(Not applicable for spinal cord or spinal nerve primary)" ], [ "055", "Gross total resection of lobe of brain (lobectomy) \n(Tumor involves more than half of lobe)\n(Not applicable for spinal cord or spinal nerve primary)" ], [ "090", "Surgery, NOS" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if surgery performed; death certificate only\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_spa.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_spa.json deleted file mode 100644 index c9bdc4d14..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_spa.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_spa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Upper and Lower Cervical Node Levels", - "notes" : "**Note 1:** TNM requires that nodes be designated as involving upper or lower levels within the neck. The boundary between upper and lower levels is the lower border of the cricoid cartilage.\n\n**Note 2:** Nodes in Levels I, II, and III are upper level nodes. Nodes in Levels IV and VII are lower level nodes. Nodes in Level VA are upper level nodes, and nodes in Level VB are lower level nodes. Level VI nodes span both upper and lower levels. Nodes included in Other groups (Facial, Parotid, Parapharyngeal, Retropharyngeal, Retroauricular, and Suboccipital) are all upper level nodes.\n\n**Note 3:** Code the location of nodal involvement in relation to the lower border of the cricoid cartilage of all involved nodes, whether assessed clinically or pathologically, as stated by a physician.\n\n**Note 4:** If there is no physician statement of upper and/or lower level nodal involvement, assign nodes in Levels I, II, III, and VA nodes to upper level. Assign nodes in Levels IV, VB, and VII to lower level. If Level V (A and B not specified) and/or Level VI nodes are involved with no further information about location, use code 040.\n\n**Note 5:** A description of \"mid neck\" requires clarification with the physician. Code 040, unknown level, if \"mid neck\" is the only information available.", - "last_modified" : "2018-05-14T21:29:03.699Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph nodes involved" ], [ "010", "Upper level lymph node(s) involved \n(All involved nodes above the lower border of the cricoid cartilage)" ], [ "020", "Lower level lymph node(s) involved \n(All involved nodes below the lower border of the cricoid cartilage)" ], [ "030", "Upper and lower level lymph nodes involved \n(All involved nodes both above and below the lower border of the cricoid cartilage)" ], [ "040", "Unknown level lymph node(s) involved \n(Unable to determine if involved nodes above or below the lower border of the cricoid cartilage)" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if regional lymph nodes involved, not stated \nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_spf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_spf.json deleted file mode 100644 index e8845bea6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_spf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_spf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Microsatellite Instability (MSI)", - "notes" : "**Note 1:** The microsatellite instability (MSI) test is a genetic test performed on tumor tissue to look for differences in length of certain non-functioning sections of DNA. The differences are caused by problems with the genes that normally repair DNA. \n* A high-positive MSI (MSI-H) result may indicate that the gene repair problem is related to the development of the cancer, and that the patient may have hereditary nonpolyposis colorectal cancer (HNPCC), also known as Lynch syndrome) \n* A low-positive or stable MSI result (stable meaning that there are no differences in the lengths) means it is unlikely that the cancer is related to a hereditary condition\n\n**Note 2:** Testing for MSI may be done by immunology or genetic testing. Some laboratories only test for MSI via immunology. Results from immunology will only provide you with positive or negative results and will not specify whether the MSI is low or high. \n\n* If the testing was done via immunology, do not use codes 040 or 050 \n* Only genetic testing results will specify whether the MSI is low or high", - "last_modified" : "2018-05-14T21:29:02.851Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "020", "Microsatellite instability (MSI) stable; no MSI; negative, NOS" ], [ "040", "MSI unstable low; positive, low" ], [ "050", "MSI unstable high; positive, high" ], [ "060", "MSI unstable, NOS; positive, NOS" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_spw.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_spw.json deleted file mode 100644 index a73fac7ce..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_spw.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_spw", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Chromosome 8q Status", - "notes" : "**Note 1:** Genetic abnormalities in the long arm of chromosome 8 (8q) are associated with ocular melanomas.\n\n**Note 2:** A gain in chromosomes may also be termed \"multiple copies\" or \"greater than normal.\"", - "last_modified" : "2018-05-14T21:28:58.374Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No gain in chromosome 8q" ], [ "010", "Gain in chromosome 8q" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not available" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sqk.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sqk.json deleted file mode 100644 index 753ea4ea6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sqk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sqk", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Surgical Resection", - "notes" : "**Note 1:** Record the details of surgical resection here even if previously recorded within the abstract.\n\n**Note 2:** If the case is clinically diagnosed and no surgical resection is performed, use code 000.\n\n**Note 3:** Do not record stereotactic radiosurgery as tumor destruction. It should be recorded in the radiation treatment items.", - "last_modified" : "2018-05-14T21:29:01.292Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No surgery of primary site; autopsy only" ], [ "010", "Tumor destruction, NOS \nNo specimen sent to pathology" ], [ "020", "Local excision (biopsy) of tumor, lesion or mass\nSpecimen sent to pathology" ], [ "021", "Subtotal resection of tumor, lesion, or mass of brain\n(Less than half of lobe involved with tumor)\nSpecimen sent to pathology" ], [ "030", "Radical, total, gross resection of tumor, lesion or mass in brain\n(Less than half of lobe involved with tumor)" ], [ "040", "Partial resection of lobe of brain\n(Tumor involves more than half of lobe)" ], [ "055", "Gross total resection of lobe of brain (lobectomy) \n(Tumor involves more than half of lobe)" ], [ "090", "Surgery, NOS" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if surgery performed; death certificate only\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sqn.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sqn.json deleted file mode 100644 index 3f2f7732b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sqn.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sqn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "Percentage of Non-Endometrioid Cell Type in Mixed Histology Tumors", - "notes" : "**Note 1:** Adenocarcinomas with mixed histology are graded according to the percentage of non-squamous or non-morular solid growth pattern. Morular growth pattern refers to well-defined, circumscribed, solid round nests of cells that fill and expand endometrial glands.\n\n**Note 2:** Code based on the percentage of non-endometrioid cell type as stated on the pathology report. Only use a statement of Grade 1, Grade 2, or Grade 3 if it is based on the growth pattern. \n* If grade based on growth pattern is not specified, use code 999", - "last_modified" : "2018-05-14T21:29:00.026Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001", "5% or less of a non-squamous or non-morular solid growth pattern (Grade 1)" ], [ "002", "6% to 50% of a non-squamous or non-morular solid growth pattern (Grade 2)" ], [ "003", "More than 50% of a non-squamous or non-morular solid growth pattern (Grade 3)" ], [ "987", "Not applicable: Not an adenocarcinoma morphology\n\nUse this code for CorpusSarcoma and CorpusAdenosarcoma schemas" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sre.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sre.json deleted file mode 100644 index 1b942eae5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf7_sre.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf7_sre", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF7", - "title" : "Site-Specific Factor 7", - "subtitle" : "KIT Gene Immunohistochemistry (IHC)", - "notes" : "**Note 1:** Most gastrointestinal stromal tumors (GISTs) have oncogenic mutations of the KIT gene, which is located on chromosome 4q. KIT is a cytokine receptor which binds to stem cell factor, which causes certain types of cells to grow; altered forms of KIT may be associated with some types of cancer. This test detects expression of the KIT gene in tumor tissue sections using immunohistochemical (IHC) stains. Test results are available in the pathology report. A positive test helps to establish the diagnosis of GIST and to identify patients for whom treatment with agents such as imatinib mesylate (Gleevec) or sunitinib malate (Sutent) is appropriate. Do not record secondary or acquired mutations that may have developed because of long-term imatinib treatment.\n\n**Note 2:** Another name for KIT is CD117.\n\n**Note 3:** See **Site-Specific Factor 8, KIT Gene Mutations** for coding information about specific mutations of the KIT gene detectable with molecular testing.  See **Site-Specific Factor 9, PDGFRA Gene Mutation** for coding information about mutations of the PDGFRA gene.", - "last_modified" : "2018-05-14T21:29:03.145Z", - "definition" : [ { - "key" : "ssf7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sab.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sab.json deleted file mode 100644 index e5898fe7f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sab.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sab", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "HER2: Immunohistochemistry (IHC) Lab Value", - "notes" : "**Note 1:** Record the results of only the immunohistochemistry (IHC) lab value for Human Epidermal Growth Factor Receptor 2 (HER2) in this field. The test determines if there is HER2 overexpression, or an excess amount of HER2 protein on the cell surface. The score is assigned by the pathologist based on the percentage and intensity of cell membrane staining.\n\n**Note 2:** The same laboratory test should be used to record information in **Site-Specific Factor 8, HER2: Immunohistochemistry (IHC) Lab Value** and **Site-Specific Factor 9, Immunohistochemistry (IHC) Test Interpretation**. \n\n**Note 3:** If the test is done but the actual score is not stated, code 997.\n\n**Note 4:** If the test is not mentioned in the medical record, code to 999 unless there are circumstances under which the test isn't performed, for example, no histologic specimen.", - "last_modified" : "2018-05-14T21:29:01.215Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Score 0" ], [ "010", "Score of 1+" ], [ "020", "Score of 2+" ], [ "030", "Score of 3+" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sar.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sar.json deleted file mode 100644 index 71ec0b694..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sar.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sar", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "Sjogren Syndrome", - "notes" : "**Note:** Code history of Sjogren syndrome as documented by the physician or coded in the medical record. Sjogren syndrome is an autoimmune inflammatory disorder of lacrimal and salivary exocrine glands. The syndrome may be associated with another connective tissue disorder such as systemic lupus erythematosus or rheumatoid arthritis.", - "last_modified" : "2018-05-14T21:28:58.342Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of Sjogren syndrome" ], [ "010", "History of Sjogren syndrome" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sax.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sax.json deleted file mode 100644 index 1128cd9c1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sax.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sax", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "Gleason's Score on Needle Core Biopsy/Transurethral Resection of Prostate (TURP)", - "notes" : "**Note 1:** Code the Gleason's score from needle core biopsy or TURP only in this field. Gleason's score provided on prostate tissue on a transurethral resection of bladder (TURB) can also be used in this field.\n\n**Note 2:** Code the Gleason's score prior to neoadjuvant treatment.\n\n**Note 3:** Usually prostate cancers are graded using Gleason's score or pattern. Gleason's grading for prostate primaries is based on a 5-component system (5 histologic patterns). Prostatic cancer generally shows two main histologic patterns. \n* The primary pattern, the pattern occupying greater than 50% of the cancer, is usually indicated by the first number of the Gleason's grade\n* The secondary pattern is usually indicated by the second number. These two numbers are added together to create a pattern score, ranging from 2 to 10\n\n**A.** If there are two numbers, assume that they refer to two patterns (the first number being the primary pattern and the second number the secondary pattern), and sum them to obtain the score.\n**B.** If only one number is given and it is less than or equal to 5, code the total score to 999, unknown or no information. \n**C.** If only one number is given and it is greater than 5, assume that it is a score and code as stated. \n**D.** If the pathology report specifies a specific number out of a total of 10, the first number given is the score. \n\n* Example: The pathology report says Gleason's 3/10. The Gleason's score would be 3, and coded as 003\n\n**Note 4:** Record the Gleason's score based on the addition of the primary and secondary patterns coded in **Site-Specific Factor 7, Gleason's Primary Pattern and Secondary Pattern Values on Needle Core Biopsy/Transurethral Resection of Prostate (TURP)**.\n\n**Note 5:** If needle core biopsy and TURP are not performed, assign code 998. \n* If the Gleason's pattern and score are not documented on needle core biopsy or TURP, assign code 999", - "last_modified" : "2018-05-14T21:29:00.652Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "002-010", "Gleason's score" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No needle core biopsy/TURP performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sby.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sby.json deleted file mode 100644 index 9d12edc75..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sby.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sby", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "Extranodal Extension of Regional Lymph Nodes", - "notes" : "**Note 1:** Code the status of extranodal extension whether assessed clinically or pathologically of any involved regional lymph node(s). \n* Do not code extranodal extension for any distant lymph node(s)\n\n**Note 2:** A statement of the presence or absence of extranodal extension in a pathology report takes priority over clinical assessment.\n\n**Note 3:** If nodes are involved but the clinical documentation and/or pathologic assessment does not indicate extranodal extension, assign code 010 (no extranodal extension documented on the available reports).\n\n**Note 4:** If the only documentation is a reference to clinically or pathologically involved nodes with no reference to extranodal extension, assign code 030 (no physical exam/imaging report and/or no pathology report available).", - "last_modified" : "2018-05-14T21:28:58.345Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph nodes involved" ], [ "010", "Extranodal extension not present \nRegional nodes described as mobile" ], [ "020", "Extranodal extension present \nRegional nodes described as fixed or matted" ], [ "030", "Regional nodes involved, unknown if extranodal extension " ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown; regional lymph nodes not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_scc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_scc.json deleted file mode 100644 index 886fea714..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_scc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_scc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "International Normalized Ratio for Prothrombin Time (INR)", - "notes" : "**Note 1:** *The Model for End-Stage Liver Disease (MELD)* is a numerical scale used to determine how urgently a patient with liver disease needs a liver transplant within the next three months. Results from three routine lab tests are used to calculate the MELD score. International normalized ratio for prothrombin time (INR), one of the tests, measures the liver's ability to make blood clotting factors.\n\n**Note 2:** The normal range for a healthy person is 0.9-1.3. A high INR level such as INR=5 indicates that there is a high chance of bleeding. A low level such as INR = 0.5 indicates a high chance of abnormal clotting. Normal values may vary from lab to lab. Record the highest INR value prior to treatment.\n\n**Note 3:** Record INR of 0.5 as 005; record INR of 5 as 050.\n\n**Note 4:** If the test was done but the actual value is not stated, code 997.", - "last_modified" : "2018-05-14T21:29:02.606Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001", "0.1 or less" ], [ "002-099", "0.2 - 9.9 \n(Exact ratio to nearest tenth)" ], [ "100", "INR 10.0 or greater" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdd.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdd.json deleted file mode 100644 index ec6412aa1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdd.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sdd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "Pagetoid Spread", - "notes" : "**Note:** Code the presence or absence of Pagetoid spread as documented in the pathology report. \n* Assign code 000 if histologic examination was performed, the pathology report is available for review, and Pagetoid spread is not mentioned", - "last_modified" : "2018-05-14T21:29:01.732Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Pagetoid spread not present/not identified " ], [ "010", "Pagetoid spread present/identified" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Histologic examination of primary site performed, results not available" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdp.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdp.json deleted file mode 100644 index 70fa41338..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdp.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sdp", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "PDGFRA Gene Mutation", - "notes" : "**Note 1:** Some gastrointestinal stromal tumors (GISTs) have oncogenic mutations of the platelet-derived growth factor receptor alpha (PDGFRA) gene, located on chromosome 4q. This test is a special molecular diagnostic test performed on tumor tissue to identify PDGFRA mutations. Some GISTs that are negative for KIT mutations are positive for PDGFRA mutation.\n\n**Note 2:** Code the result of the PDGFRA gene test. Another name for PDGFRA is CD140A.\n\n**Note 3:** See **Site-Specific Factor 6, KIT Gene Immunohistochemistry (IHC)** and **Site Specific Factor 7, KIT Gene Mutations** for coding information about KIT gene expression and mutations.", - "last_modified" : "2018-05-14T21:29:01.375Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "PDGFRA gene test positive for mutations" ], [ "020", "PDGFRA gene test negative for mutations; no mutations; normal or wild-type gene" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdy.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdy.json deleted file mode 100644 index a2255e784..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sdy.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sdy", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "Scalene Nodal Status", - "notes" : "**Note:** The scalene nodal status corresponds to the assessment method recorded in Site-Specific Factor 9.", - "last_modified" : "2018-05-14T21:29:01.194Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Negative lymph nodes" ], [ "010", "Positive lymph nodes" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sec.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sec.json deleted file mode 100644 index 360eef746..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sec.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sec", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "Primary Tumor Regression", - "notes" : "**Note 1:** Regression is most often recognized in relation to the radial growth phase (RGP). Characteristic features include segmental absence of in-situ melanoma cells or melanoma cells with microinvasion into the papillary dermis. The papillary dermis shows patchy lymphocytic inflammation, diffuse coarse fibrosis, and collections of melanophages. Intact melanoma is usually evident on one or both sides of the area of regression. Regressive changes may be seen without residual flanking melanoma cells and (after scrutiny of multiple tissue levels) may be viewed as constituting putative complete regression of the lesion. Vertical growth phase (VGP) regression is less common and is usually seen as an area within a tumorigenic compartment that is replaced by lymphocytes and fibrosis and often also by melanophages constituting \"tumoral melanosis\".\n\n**Note 2:** Record the primary tumor regression as documented in the pathology report. If the primary tumor regression is not identified, code regression as absent.", - "last_modified" : "2018-05-14T21:29:01.363Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regression present\nRegression not identified\nRegression absent" ], [ "010", "Regression present" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sei.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sei.json deleted file mode 100644 index 205255281..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sei.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sei", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "Pre-Orchiectomy Human Chorionic Gonadotropin (hCG) Lab Value", - "notes" : "**Note 1:** Record the value of the human chorionic gonadotropin (hCG) test as documented in the patient record prior to orchiectomy and other treatment.\n\n**Note 2:** Use the same laboratory test to record values in **Site-Specific Factor 8, re-Orchiectomy Human Chorionic Gonadotropin (hCG) Lab Value** and **Site-Specific Factor 9, Pre-Orchiectomy Human Chorionic Gonadotropin (hCG) Range**.\n\n**Note 3:** Record a pretreatment hCG of 20 milli-International Units/milliliter (mIU/ml) as 002; record a pretreatment hCG of 11,000 mIU/ml as 200\n\n**Note 4:** Code 000 is reserved for exactly 0.0 mIU/ml (no measurable amount of hCG). Do not round tiny values down to 0.0 mIU/ml; any measured value less than or equal to 0.1 mIU/ml should be coded 001. \n* For values greater than 001 mIU/ml, round values to the nearest mIU/ml.\n\n**Note 5:** A lab value expressed in International Units/liter (IU/L) is equivalent to the same value expressed in milli-International Units/milliliter (mIU/ml).\n\n**Note 6:** If the preorchiectomy hCG test is done but the actual value is not stated, use code 997.\n\n**Note 7:** For rare cases that are treated prior to orchiectomy, use code 995 in this field and record the initial hCG lab value in **Site-Specific Factor 14, Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Lab Value**.\n\n**Note 8:** For rare cases that an orchiectomy is not performed, use code 996 in this field and record the initial hCG lab value in **Site-Specific Factor 14, Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Lab Value**.", - "last_modified" : "2018-05-14T21:29:01.775Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 milli-International Units/milliliter (mIU/ml)" ], [ "001", "1 - 19 mIU/ml" ], [ "002", "20 - 29 mIU/ml" ], [ "003", "30 - 39 mIU/ml" ], [ "004", "40 - 49 mIU/ml" ], [ "005", "50 - 59 mIU/ml" ], [ "006", "60 - 69 mIU/ml" ], [ "007", "70 - 79 mIU/ml" ], [ "008", "80 - 89 mIU/ml" ], [ "009", "90 - 99 mIU/ml" ], [ "010", "100 - 199 mIU/ml" ], [ "020", "200 - 299 mIU/ml" ], [ "030", "300 - 399 mIU/ml" ], [ "040", "400 - 499 mIU/ml" ], [ "050", "500 - 599 mIU/ml" ], [ "060", "600 - 699 mIU/ml" ], [ "070", "700 - 799 mIU/ml" ], [ "080", "800 - 899 mIU/ml" ], [ "090", "900 - 999 mIU/ml" ], [ "100", "1000 - 1999 mIU/ml" ], [ "120", "2000 - 2999 mIU/ml" ], [ "130", "3000 - 3999 mIU/ml" ], [ "140", "4000 - 4999 mIU/ml" ], [ "150", "5000 - 5999 mIU/ml" ], [ "160", "6000 - 6999 mIU/ml" ], [ "170", "7000 - 7999 mIU/ml" ], [ "180", "8000 - 8999 mIU/ml" ], [ "190", "9000 - 9999 mIU/ml" ], [ "200", "10, 000 - 19, 999 mIU/ml" ], [ "220", "20, 000 - 29, 999 mIU/ml" ], [ "230", "30, 000 - 39, 999 mIU/ml" ], [ "240", "40, 000 - 49, 999 mIU/ml" ], [ "250", "Greater than or equal to 50,000 mIU/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "995", "Pretreated case, initial human chorionic gonadotropin (hCG) lab value recorded in Site-Specific Factor 14" ], [ "996", "No orchiectomy performed, initial hCG lab value recorded in Site-Specific Factor 14" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sfk.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sfk.json deleted file mode 100644 index a51aa9c99..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sfk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sfk", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "Orbital Bone", - "notes" : "**Note:** Code removal of orbital bone during surgery of primary site.", - "last_modified" : "2018-05-14T21:29:00.041Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Orbital bone not removed in surgery of primary site" ], [ "010", "Orbital bone removed in surgery of primary site" ], [ "988", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 988 may result in an edit error.)" ], [ "990", "Surgery of primary site, unknown if orbital bone removed" ], [ "998", "No surgery of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_spb.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_spb.json deleted file mode 100644 index f5bb9064c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_spb.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf8_spb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "Extracapsular Extension Clinically, Lymph Nodes for Head and Neck", - "notes" : "**Note 1:** Clinical assessment can be by physical examination or imaging. According to AJCC, \"ECS [extracapsular spread] can be diagnosed clinically by a matted mass of nodes adherent to overlying skin, adjacent soft tissue, or clinical evidence of cranial nerve invasion. Radiologic signs of ECS include amorphous, spiculated margins of a metastatic node and stranding of the perinodal soft tissue in previously untreated patients.\" (1)\n\n**Note 2:** Code the status of extracapsular extension assessed clinically for any involved regional lymph node(s) coded in Clinical N. Do not code extracapsular extension for any distant lymph node(s).\n\n**Note 3:** If nodes are involved clinically, and documentation of physical examination or imaging is available without a statement of extracapsular extension, use code 010.\n\n**Note 4:** If the only documentation is a reference to clinically involved nodes with no reference to extracapsular extension, use code 030.\n\n**Note 5:** If there is no information about clinical assessment of nodes, use code 999.", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) *AJCC Cancer Staging Manual (7th ed.)*. New York; London: Springer, pg. 22", - "last_modified" : "2018-05-14T21:29:03.692Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph nodes involved clinically" ], [ "010", "Regional lymph node(s) involved clinically, no extracapsular extension clinically" ], [ "020", "Regional lymph node(s) involved clinically, extracapsular extension clinically (nodes described as fixed or matted)" ], [ "030", "Regional lymph node(s) involved clinically, unknown if extracapsular extension" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Clinical examination of regional lymph nodes performed, unknown results" ], [ "998", "No clinical examination of regional lymph nodes" ], [ "999", "Unknown if regional lymph nodes involved clinically, not stated \nRegional lymph nodes cannot be assessed \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_spg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_spg.json deleted file mode 100644 index d929f3c66..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_spg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_spg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "Perineural Invasion", - "notes" : "**Note:** Code the presence or absence of perineural invasion as documented in the pathology report. Assign code 000 if histologic examination of primary site was performed, the pathology report is available for review, and perineural invasion is not mentioned.", - "last_modified" : "2018-05-14T21:29:03.112Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "None; no perineural invasion present" ], [ "010", "Perineural invasion present" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_spx.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_spx.json deleted file mode 100644 index dda424b43..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_spx.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_spx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "Gene Expression Profile", - "notes" : "**Note:** Primary uveal melanomas cluster into two distinct molecular classes based on gene expression profile, class 1 (low-grade) and class 2 (high-grade). Record the information as stated in the medical record.", - "last_modified" : "2018-05-14T21:28:58.383Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Class 1 gene expression profile " ], [ "020", "Class 2 gene expression profile " ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Gene expression profile performed, unknown results" ], [ "998", "No assessment of gene expression profile" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sql.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sql.json deleted file mode 100644 index fc260cad3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sql.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sql", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "Unifocal vs Multifocal Tumor", - "notes" : "**Note 1:** Record whether the tumor is unifocal or multifocal at initial diagnosis, for both resectable and unresectable cases. For unresectable cases, the information can be determined from radiological imaging studies or physician documentation).\n\n**Note 2:** Use code 001 when tumor is described as unifocal; arising from or occurring in a single focus or location.\n\n**Note 3:** The TNM definition for multifocal tumor differs from the MP/H definition for Multiplicity Counter. Use code 002 for any tumor with multiple foci, even if foci are not measured.", - "last_modified" : "2018-05-14T21:29:01.293Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001", "Unifocal/solitary tumor" ], [ "002", "Multifocal tumor \nTumor described as multifocal or multicentric" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sqo.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sqo.json deleted file mode 100644 index 08c3eab38..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_sqo.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_sqo", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "Omentectomy", - "notes" : "**Note:** Record if an omentectomy was performed during the first course of treatment. \n* Use code 998 if patient had no surgical procedure as part of first course of treatment", - "last_modified" : "2018-05-14T21:29:01.174Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Omentectomy not performed during first course surgery" ], [ "010", "Omentectomy performed during first course surgery" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No surgery performed as part of the first course of treatment\n" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_srf.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf8_srf.json deleted file mode 100644 index f6716a41e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf8_srf.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf8_srf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF8", - "title" : "Site-Specific Factor 8", - "subtitle" : "KIT Gene Mutations", - "notes" : "**Note 1:** This is a special molecular diagnostic test performed on tumor tissue to identify mutations in specific parts (called exons) of the KIT gene. Certain patterns of mutations correlate with the anatomic site and morphology of gastrointestinal stromal tumors (GISTs) tumors and can predict response to treatment with agents such as imatinib mesylate (Gleevec) and sunitinib malate (Sutent). Some mutations are associated with acquired resistance to imatinib treatment; do not record secondary or acquired mutations that may have been caused by long-term imatinib treatment.\n\n**Note 2:** Code the mutation locations found from the KIT gene test. Another name for KIT is CD117.\n\n**Note 3:** See **Site-Specific Factor 7, KIT Gene Immunohistochemistry (IHC)** for coding information about KIT expression detected with immunohistochemistry (IHC).  See **Site-Specific Factor 9, PDGFRA Gene Mutation** for coding information about mutations of the PDGFRA gene.", - "last_modified" : "2018-05-14T21:29:03.144Z", - "definition" : [ { - "key" : "ssf8", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "KIT gene test negative for mutations; no mutations; normal or wild-type gene" ], [ "010", "KIT gene test positive for mutation of exon 9 only" ], [ "020", "KIT gene test positive for mutation of exon 11 only" ], [ "030", "KIT gene test positive for mutation of exon 13 only" ], [ "040", "KIT gene test positive for mutation of exon 17 only" ], [ "800", "KIT gene test positive for one other specified mutation" ], [ "810", "KIT gene test positive for more than one specific mutation" ], [ "850", "KIT gene test positive, NOS; mutation(s) found but the specific mutation(s) are not stated" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sac.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sac.json deleted file mode 100644 index 1b6671048..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sac.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sac", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF9", - "title" : "Site-Specific Factor 9", - "subtitle" : "HER2: Immunohistochemistry (IHC) Test Interpretation", - "notes" : "**Note 1:** Record the results of only the immunohistochemical (IHC) test for Human Epidermal Growth Factor Receptor 2 (HER2) in this field.\n\n**Note 2:** The same laboratory test should be used to record information in **Site-Specific Factor 8, HER2: Immunohistochemistry (IHC) Lab Value** and **Site-Specific Factor 9, Immunohistochemistry (IHC) Test Interpretation**. \n\n**Note 3:** If the test is not mentioned in the medical record, code to 999 unless there are circumstances under which the test isn't performed, for example, no histologic specimen.", - "last_modified" : "2018-05-14T21:29:01.344Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Positive/elevated" ], [ "020", "Negative/normal; within normal limits" ], [ "030", "Borderline; equivocal; indeterminate; undetermined whether positive or negative" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sas.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sas.json deleted file mode 100644 index b290ed856..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sas.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sas", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF9", - "title" : "Site-Specific Factor 9", - "subtitle" : "Other Connective Tissue Disease", - "notes" : "**Note:** Code history of connective tissue disease other than rheumatoid arthritis, Sjogren syndrome, and sicca syndrome as documented by the physician or coded in the medical record. Connective tissue diseases fall within **Chapter 13 of ICD-10-CM, \"Diseases of the musculoskeletal system and connective tissue (M00-M99), pgs. 574-771**\". \n* Examples include: systemic lupus erythematosus, scleroderma, dermatomyositis, and polymyositis", - "last_modified" : "2018-05-14T21:28:58.385Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No history of connective tissue disease" ], [ "010", "History of connective tissue disease" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_say.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_say.json deleted file mode 100644 index c42d4dbf7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_say.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_say", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF9", - "title" : "Site-Specific Factor 9", - "subtitle" : "Gleason's Primary Pattern and Secondary Pattern Values on Prostatectomy/Autopsy", - "notes" : "**Note 1:** Code the Gleason's primary and secondary patterns from prostatectomy or autopsy only in this field.\n\n**Note 2:** Code the Gleason's primary and secondary patterns prior to neoadjuvant treatment.\n\n**Note 3:** Usually prostate cancers are graded using Gleason's score or pattern. Gleason's grading for prostate primaries is based on a 5-component system (5 histologic patterns). Prostatic cancer generally shows two main histologic patterns. \n* The primary pattern, the pattern occupying greater than 50% of the cancer, is usually indicated by the first number of the Gleason's grade \n* The secondary pattern is usually indicated by the second number. These two numbers are added together to create a pattern score, ranging from 2 to 10\n\n**A.** If there are two numbers, assume that they refer to two patterns (the first number being the primary pattern and the second number the secondary pattern) and sum them to obtain the score. \n**B.** If only one number is given and it is less than or equal to 5, assume that it describes a pattern. Code the number as the primary pattern and code the secondary pattern as 9.\n**C.** If only one number is given and it is greater than 5, assume that it is a score. Code 099. \n**D.** If the pathology report specifies a specific number out of a total of 10, the first number given is the score. \n\n* Example: The pathology report says Gleason's 3/10. The Gleason's score would be 3, and coded as 099\n\n**Note 4:** If prostatectomy and autopsy are not performed, assign code 998. \n* If the Gleason's pattern and score are not documented on prostatectomy or autopsy, assign code 999\n\n**Note 5:** If a tertiary pattern is documented on prostatectomy or autopsy, do not code in either **Site-Specific Factor 9, Gleason's Primary Pattern and Secondary Pattern Values on Prostatectomy/Autopsy** or **Site-Specific Factor 10, Gleason's Score on Prostatectomy/Autopsy**. \n* Record the tertiary pattern in **Site-Specific Factor 11, Gleason's Tertiary Pattern Value on Prostatectomy/Autopsy**", - "last_modified" : "2018-05-14T21:29:00.303Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "011", "Primary pattern 1, secondary pattern 1" ], [ "012", "Primary pattern 1, secondary pattern 2" ], [ "013", "Primary pattern 1, secondary pattern 3" ], [ "014", "Primary pattern 1, secondary pattern 4" ], [ "015", "Primary pattern 1, secondary pattern 5" ], [ "019", "Primary pattern 1, secondary pattern unknown" ], [ "021", "Primary pattern 2, secondary pattern 1" ], [ "022", "Primary pattern 2, secondary pattern 2" ], [ "023", "Primary pattern 2, secondary pattern 3" ], [ "024", "Primary pattern 2, secondary pattern 4" ], [ "025", "Primary pattern 2, secondary pattern 5" ], [ "029", "Primary pattern 2, secondary pattern unknown" ], [ "031", "Primary pattern 3, secondary pattern 1" ], [ "032", "Primary pattern 3, secondary pattern 2" ], [ "033", "Primary pattern 3, secondary pattern 3" ], [ "034", "Primary pattern 3, secondary pattern 4" ], [ "035", "Primary pattern 3, secondary pattern 5" ], [ "039", "Primary pattern 3, secondary pattern unknown" ], [ "041", "Primary pattern 4, secondary pattern 1" ], [ "042", "Primary pattern 4, secondary pattern 2" ], [ "043", "Primary pattern 4, secondary pattern 3" ], [ "044", "Primary pattern 4, secondary pattern 4" ], [ "045", "Primary pattern 4, secondary pattern 5" ], [ "049", "Primary pattern 4, secondary pattern unknown" ], [ "051", "Primary pattern 5, secondary pattern 1" ], [ "052", "Primary pattern 5, secondary pattern 2" ], [ "053", "Primary pattern 5, secondary pattern 3" ], [ "054", "Primary pattern 5, secondary pattern 4" ], [ "055", "Primary pattern 5, secondary pattern 5" ], [ "059", "Primary pattern 5, secondary pattern unknown" ], [ "099", "Primary pattern unknown, secondary pattern unknown" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No prostatectomy/autopsy performed" ], [ "999", "No residual disease on prostatectomy/autopsy\nUnknown or no information \nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdi.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdi.json deleted file mode 100644 index 06566b191..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdi.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sdi", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF9", - "title" : "Site-Specific Factor 9", - "subtitle" : "Mohs Layers", - "notes" : "**Note 1:** Code the number of Mohs micrographic surgical layers required to clear the tumor, as stated on the operative report.\n\n**Note 2:** Use codes 991, 992, and 997 only if the specific number of Mohs layers is not documented.", - "last_modified" : "2018-05-14T21:29:01.731Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-010", "1-10 Mohs micrographic surgical layers required to clear tumor\n(Exact number of Mohs micrographic surgical layers required to clear tumor)" ], [ "011", "11 or more Mohs micrographic surgical layers required to clear tumor" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Less than 3 Mohs micrographic surgical layers required to clear tumor" ], [ "992", "Greater than 3 Mohs micrographic surgical layers required to clear tumor" ], [ "997", "Mohs surgery performed, unknown number of micrographic surgical layers required to clear tumor" ], [ "998", "Mohs surgery not performed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdq.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdq.json deleted file mode 100644 index 45a7a295f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdq.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sdq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF9", - "title" : "Site-Specific Factor 9", - "subtitle" : "Tumor Multiplicity", - "notes" : "**Note:** When a patient has more than one area of gastrointestinal stromal tumor (GIST), it is important to try to distinguish between intra-abdominal metastasis and tumor multiplicity. Distant metastases are relatively rare in GISTs, but they are increasingly detected with sophisticated radiological studies. Intra-abdominal metastasis will present as tumor involvement in the abdominal cavity outside the main tumor mass, in the peritoneum, omentum, serosae of organs, and the cul-de-sac, among other areas. Code this form of metastasis in mets (M).\n\nTumor multiplicity, in contrast, will present with anatomically separate, multiple tumors of different sizes arising independently in the GI tract. This form of tumor multiplicity usually will be seen in patients with neurofibromatosis type 1 or familial GIST syndrome, but in rare instances may be seen in patients without these conditions. This form of multiplicity should not be coded as metastasis, but the presence of multiple tumors should be coded in **Site-Specific Factor 9, Tumor Multiplicity.**\n\nWhen a solitary omental or mesenteric tumor mass is found with a primary GIST elsewhere, do not code this as a metastasis. Code it as multiple tumors in **Site-Specific Factor 9, Tumor Multiplicity.**\n\nWhen multiple tumor areas are present and it is not stated whether these are metastases or independent tumors, consult with a physician if possible to determine how to code them. If a decision cannot be made, code this site-specific factor as 010 (Multiple GIST tumors are present).", - "last_modified" : "2018-05-14T21:29:01.300Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Multiple gastrointestinal stromal tumors (GIST) not present in the surgical specimen; single GIST; unifocal GIST" ], [ "010", "Multiple GIST tumors present in the surgical specimen; multifocal GIST" ], [ "988", "Not applicable: Information not collected for this case" ], [ "999", "Unknown if one tumor or multiple tumors \nNo information on tumor multiplicity\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdz.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdz.json deleted file mode 100644 index 10c0ba675..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sdz.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sdz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF9", - "title" : "Site-Specific Factor 9", - "subtitle" : "Assessment Method of Scalene Nodal Status", - "notes" : "**Note 1:** The assessment results are recorded in Site-Specific Factor 8.\n\n**Note 2:** Use the highest applicable code 010-040.", - "last_modified" : "2018-05-14T21:29:01.186Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Clinical assessment" ], [ "020", "Radiography; Imaging \n(Ultrasound (US), computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))" ], [ "030", "Incisional biopsy; fine needle aspirate (FNA)" ], [ "040", "Lymphadenectomy\nExcisional biopsy or resection with microscopic confirmation" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "Lymph nodes not assessed" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sed.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sed.json deleted file mode 100644 index f82bf4fc3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sed.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf9_sed", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF9", - "title" : "Site-Specific Factor 9", - "subtitle" : "Vertical Growth Phase (VGP)", - "notes" : "**Note 1:** According to the College of American Pathologists (CAP) protocol for melanoma of skin, the growth patterns and depth of infiltration of melanomas are prognostically significant. Vertical growth phase (VGP) is an adverse factor. Nodular melanomas by definition are VGP tumors. VGP pattern in superficial spreading melanoma is defined as the presence of one or more dermal clusters of melanocytic cells larger than the largest epidermal cluster, and/or the presence of any mitotic activity in the dermis. Superficial spreading melanomas in radial growth phase (RGP) in contrast are generally wider than deep; one criterion for RGP is that melanoma in situ is present 3 or more rete ridges beyond the invasive component. (1)\n\n**Note 2:** Record the VGP as recorded in the pathology report. When the VGP is not identified, code as absent.", - "footnotes" : "(1) College of American Pathologists (2016). *Protocol for the Examination of Specimens From Patients With Melanoma of the Skin.* ", - "last_modified" : "2018-05-14T21:29:02.824Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No vertical growth phase (VGP) present\nVGP not identified\nVGP absent" ], [ "010", "VGP present" ], [ "988", "Not applicable: Information not collected for this case" ], [ "998", "No histologic examination of primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sej.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sej.json deleted file mode 100644 index 3ef2787c1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sej.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sej", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF9", - "title" : "Site-Specific Factor 9", - "subtitle" : "Pre-Orchiectomy Human Chorionic Gonadotropin (hCG) Range", - "notes" : "**Note 1:** Record the range of the human chorionic gonadotropin (hCG) test as documented in the patient record prior to orchiectomy and other treatment.\n\n**Note 2:** Use the same laboratory test to record values in **Site-Specific Factor 8, Pre-Orchiectomy Human Chorionic Gonadotropin (hCG) Lab Value** and **Site-Specific Factor 9, Pre-Orchiectomy Human Chorionic Gonadotropin (hCG) Range**.\n\n**Note 3:** A lab value expressed in International Units/liter (IU/L) is equivalent to the same value expressed in milli-International Units/milliliter (mIU/ml).\n\n**Note 4:** If the pre-orchiectomy hCG test is unavailable but a physician's statement of the result is documented, use codes 991-993.\n\n**Note 5:** For rare cases that are treated prior to orchiectomy, use code 995 in this field and record the initial hCG range in **Site-Specific Factor 15, Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Range**.\n\n**Note 6:** For rare cases that an orchiectomy is not performed, use code 996 in this field and record the initial hCG range in **Site-Specific Factor 15, Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Range**.", - "last_modified" : "2018-05-14T21:28:58.488Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Within normal limits (S0)" ], [ "010", "Range 1 (S1) above normal and less than 5,000 milli-International Units/milliliter (mIU/ml)" ], [ "020", "Range 2 (S2) 5,000 - 50,000 mIU/ml" ], [ "030", "Range 3 (S3) greater than 50,000 mIU/ml" ], [ "988", "Not applicable: Information not collected for this case" ], [ "991", "Pre-orchiectomy human chorionic gonadotropin (hCG) stated to be elevated" ], [ "992", "Pre-orchiectomy hCG unknown but preorchiectomy serum tumor markers NOS stated to be normal" ], [ "993", "Pre-orchiectomy hCG unknown but preorchiectomy serum tumor markers NOS stated to be elevated" ], [ "995", "Pretreated case, initial hCG range recorded in Site-Specific Factor 15" ], [ "996", "No orchiectomy performed, initial hCG range recorded in Site-Specific Factor 15" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_spc.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_spc.json deleted file mode 100644 index f1d6e60f0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_spc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_spc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF9", - "title" : "Site-Specific Factor 9", - "subtitle" : "Extracapsular Extension Pathologically, Lymph Nodes for Head and Neck", - "notes" : "**Note 1:** Extracapsular extension is assessed on histopathologic examination of surgically resected involved regional nodes.\n\n**Note 2:**  Code the status of extracapsular extension assessed on histopathologic examination of any involved regional lymph node(s) coded in Pathologic N. Do not code extracapsular extension for any distant lymph node(s).\n\n**Note 3:** If nodes are involved pathologically but there is no statement of extranodal extension in the pathology report, use code 010.\n\n**Note 4:** Code microscopic or macroscropic extranodal extension as stated in the final diagnosis of the pathology report. If not stated in the final diagnosis, code microscopic if extranodal extension is described only in the microscopic section of the pathology report and macroscopic if extranodal extension is described in the gross section of the pathology report. Macroscopic extension takes priority over microscopic extension.\n\n**Note 5:** Use code 040 if pathologic extracapsular extension is described with no further information and the pathology report is not available for review.", - "last_modified" : "2018-05-14T21:29:03.688Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No regional lymph nodes involved pathologically" ], [ "010", "Regional lymph node(s) involved pathologically, no extracapsular extension pathologically" ], [ "020", "Regional lymph node(s) involved pathologically\nMICROSCOPIC extracapsular extension pathologically" ], [ "030", "Regional lymph node(s) involved pathologically\nMACROSCOPIC extracapsular extension pathologically" ], [ "040", "Regional lymph node(s) involved pathologically, extracapsular extension pathologically, unknown if microscopic or macroscopic" ], [ "050", "Regional lymph node(s) involved pathologically, unknown if extracapsular extension" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Histopathologic examination of regional lymph nodes performed, results not available" ], [ "998", "No histopathologic examination of regional lymph nodes OR\nFine needle aspiration or needle biopsy only of regional nodes" ], [ "999", "Unknown if regional lymph nodes involved pathologically, not stated\nRegional lymph nodes cannot be assessed\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sph.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sph.json deleted file mode 100644 index 564259f0e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sph.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_sph", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF9", - "title" : "Site-Specific Factor 9", - "subtitle" : "KRAS", - "notes" : "**Note:** KRAS is a gene which belongs to a class of genes known as oncogenes. When mutated, oncogenes have the potential to cause normal cells to become cancerous. Studies suggest that KRAS gene mutations are often present in colorectal cancer.", - "last_modified" : "2018-05-14T21:29:02.907Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "Abnormal (mutated)\nPositive for mutations" ], [ "020", "Normal (wild type)\nNegative for mutations" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart" ], [ "998", "Test not done (test was not ordered and was not performed)" ], [ "999", "Unknown\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sqm.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sqm.json deleted file mode 100644 index 3ba28aefa..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_sqm.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ssf9_sqm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF9", - "title" : "Site-Specific Factor 9", - "subtitle" : "Mitotic Count", - "notes" : "**Note 1:** The mitotic count, the number of mitoses per 40 high-power fields (HPF), reflects the potential aggressiveness or prognosis of uveal melanomas. This site-specific factor presumes the denominator of 40 HPF, so just the numerator (the mitotic count) is coded here. \n* For other schemas in which mitotic count is collected, the denominator may vary\n\n**Note 2:** An HPF usually has a magnification objective of 40 (a 40x field). As described in the AJCC chapter on uveal melanomas, the typical field area is 0.15 - 0.19 square millimeters (mm). (1)\n\n**Note 3:** Record mitotic count to the nearest tenth as documented in the pathology report. \n* For example, a mitotic count of 6/40 HPF would be coded 060\n\n**Note 4:** Code the specific mitotic count only per 40 HPF; assume the denominator is 40 HPF if not specified. \n* Use code 996 only if the mitotic count is expressed with a specific denominator other than 40 HPF", - "footnotes" : "(1) American Joint Committee on Cancer., & Edge, S.B. (2010) AJCC Cancer Staging Manual (7th ed.). New York; London: Springer, pg. 550", - "last_modified" : "2018-05-14T21:29:00.357Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "0 mitoses per 40 high-power fields (HPF) (40x field) \nMitoses absent, no mitoses present, no mitotic activity" ], [ "001-008", "0.1 - 0.8 mitosis per 40 HPF (40x field)" ], [ "009", "0.9 mitosis per 40 HPF (40x field)\n\nStated as less than 1 mitosis per 40 HPF (40x field)" ], [ "010-100", "1 - 10 mitoses per 40 HPF (40x field)" ], [ "110", "11 or more mitoses per 40 HPF (40x field) " ], [ "988", "Not applicable: Information not collected for this case" ], [ "990", "Stated as low mitotic count or rate with no specific number" ], [ "991", "Stated as high mitotic count or rate with no specific number" ], [ "996", "Mitotic count described with denominator other than 40 HPF (40x field)" ], [ "998", "No histologic specimen from primary site" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_srg.json b/src/test/resources/algorithms/tnm/2.0/tables/ssf9_srg.json deleted file mode 100644 index 902b020ab..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/ssf9_srg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "ssf9_srg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "SSF9", - "title" : "Site-Specific Factor 9", - "subtitle" : "PDGFRA Gene Mutation", - "notes" : "**Note 1:** Some gastrointestinal stromal tumors (GISTs) have oncogenic mutations of the platelet-derived growth factor receptor alpha (PDGFRA) gene, located on chromosome 4q. This test is a special molecular diagnostic test performed on tumor tissue to identify PDGFRA mutations. Some GISTs that are negative for KIT mutations are positive for PDGFRA mutation. \n\n**Note 2:** Code the result of the PDGFRA gene test. Another name for PDGFRA is CD140A.\n\n**Note 3:** See **Site-Specific Factor 7, KIT Gene Immunohistochemistry (IHC)** and **Site Specific Factor 8, KIT Gene Mutations** for coding information about KIT gene expression and mutations.", - "last_modified" : "2018-05-14T21:29:03.421Z", - "definition" : [ { - "key" : "ssf9", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "010", "PDGFRA gene test positive for mutations" ], [ "020", "PDGFRA gene test negative for mutations; no mutations; normal or wild-type gene" ], [ "988", "Not applicable: Information not collected for this case" ], [ "997", "Test ordered, results not in chart; results pending" ], [ "998", "Test not done (test not ordered and not performed)" ], [ "999", "Unknown or no information\nNot documented in patient record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_94596.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_94596.json deleted file mode 100644 index 8685da705..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_94596.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_94596", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The stage group below is valid in UICC 7th edition, but not AJCC 7th edition.\n* Stage Group IV - T4, NX, M0\n\n**Note 3:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group III - T0, N1, M0 - T0 is not included in the stage group definition\n\n**Note 4:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:01.680Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1", "N0", "M0" ], [ "2", "II", "T2", "N0", "M0" ], [ "3", "III", "T0-2\nT3", "N1\nN0", "M0\nM0" ], [ "4", "IV", "T3\nT4\nAny T", "N1\nAny N\nAny N", "M0\nM0\nM1" ], [ "99", "Unknown", "T0-3\nTX", "NX\nAny N", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_1171.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_1171.json deleted file mode 100644 index f59326559..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_1171.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_1171", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage IV - (T0, TX), N3, M0\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group III - T0, N1, M0 - T0 is not included in the stage group definition\n* Stage Group IV - (T0, TX), N2, M0 - T0 and TX are not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:06.742Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X", "M0" ], [ "1", "I", "T1", "N0", "M0" ], [ "2", "II", "T2", "N0", "M0" ], [ "3", "III", "T3 \nT0-3", "N0\nN1", "M0\nM0" ], [ "4", "IV", "T0-3,X\nT4 \nT0-4,X", "N2,3 \nAny N\nAny N", "M0\nM0\nM1" ], [ "99", "Unknown", "T0-3\nTX", "NX \nN0,1,X", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_13226.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_13226.json deleted file mode 100644 index 54add0b27..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_13226.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_13226", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group III - (T3, T3a), NX, M0 - NX is not included in the stage group definition\n* Stage Group IIIB - T0, N1, M0 - T0 is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:36.761Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0" ], [ "1", "I ", "T1 ", "N0 ", "M0" ], [ "1A", "IA ", "T1a ", "N0 ", "M0" ], [ "1A1", "IA1 ", "T1a1", "N0 ", "M0" ], [ "1A2", "IA2 ", "T1a2", "N0 ", "M0" ], [ "1B", "IB ", "T1b ", "N0 ", "M0" ], [ "1B1", "IB1 ", "T1b1", "N0 ", "M0" ], [ "1B2", "IB2 ", "T1b2", "N0 ", "M0" ], [ "2", "II ", "T2 ", "N0 ", "M0" ], [ "2A", "IIA ", "T2a ", "N0 ", "M0" ], [ "2A1", "IIA1", "T2a1", "N0 ", "M0" ], [ "2A2", "IIA2", "T2a2", "N0 ", "M0" ], [ "2B", "IIB ", "T2b ", "N0 ", "M0" ], [ "3", "III ", "T3 \nT3,3a", "N0\nNX", "M0\nM0" ], [ "3A", "IIIA", "T3a", "N0 ", "M0" ], [ "3B", "IIIB", "T0,1,1a-1b2,2,2a-2b,3,3a,3b\nT3b", "N1 \nN0,X", "M0\nM0" ], [ "4A", "IVA ", "T4 ", "Any N", "M0" ], [ "4B", "IVB ", "T0,1,1a-1b2,2,2a-2b,3,3a,3b,4,X", "Any N", "M1" ], [ "99", "Unknown", "T0,1,1a-1b2,2,2a-2b\nTX", "NX \nAny N", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_14599.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_14599.json deleted file mode 100644 index 081a22e73..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_14599.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id" : "stage_group_c_14599", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The stage group below is valid in UICC 7th edition, but not AJCC 7th edition.\n* Stage Group III - (T3, T3a, T3b), NX, M0 \n\n**Note 3:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group III - T0, N1, M0 - T0 is not included in the stage group definition\n\n**Note 4:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "footnotes" : "^ \"Any T, N2, M0\" removed from stage grouping table based on [TNM Classification of Malignant Tumours, Seventh edition](http://www.wileyanduicc.com/pdf/Corrected_pages.pdf)", - "last_modified" : "2018-05-14T21:29:02.642Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1,1a,1b", "N0", "M0" ], [ "2", "II", "T2,2a,2b", "N0", "M0" ], [ "3", "III", "T3,3a-3c \nT0,1,1a,1b,2,2a,2b,3,3a-3c", "N0,X\nN1", "M0\nM0" ], [ "4", "IV", "T4\nAny T", "Any N\nAny N", "M0\nM1" ], [ "99", "Unknown", "T0,1,1a,1b,2,2a,2b \nTX", "NX\nAny N", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_15811.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_15811.json deleted file mode 100644 index e4e8363e5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_15811.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_15811", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)", - "last_modified" : "2022-07-13T21:21:39.645Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "T1 ", "N0 ", "M0" ], [ "2", "II ", "T2 ", "N0 ", "M0" ], [ "3", "III ", "T3 ", "N0 ", "M0" ], [ "3A", "IIIA ", "T3a ", "N0 ", "M0" ], [ "3B", "IIIB ", "T3b ", "N0 ", "M0" ], [ "3C", "IIIC ", "T4 ", "N0 ", "M0" ], [ "4A", "IVA ", "Any T", "N1 ", "M0" ], [ "4B", "IVB ", "Any T", "Any N", "M1" ], [ "99", "Unknown", "Any T\nTX", "NX\nN0", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_19537.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_19537.json deleted file mode 100644 index 55e210c7a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_19537.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_19537", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.\n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage IIIB - Any T, N1, M0", - "last_modified" : "2022-07-13T21:21:41.597Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X", "M0" ], [ "1B", "IB ", "T1 ", "N0 ", "M0" ], [ "2B", "IIB", "T2,3 ", "N0 ", "M0" ], [ "2C", "IIC", "T4 ", "N0 ", "M0" ], [ "3B", "IIIB", "T0-4,X\nT0-4,X", "N1\nN2", "M0 \nM0" ], [ "4", "IV", "T0-4,X", "Any N", "M1,1a-1c" ], [ "99", "Unknown", "T0-4\nTX", "NX \nN0,X", "M0\nM0" ], [ "88", "Not applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_20505.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_20505.json deleted file mode 100644 index 65dab344b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_20505.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_20505", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.", - "last_modified" : "2022-07-13T21:21:25.047Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "ssf1", - "name" : "Prognostic Scoring Index (SSF1)", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "T1 ", "M0 ", "988,999" ], [ "1A", "IA ", "T1 ", "M0 ", "000-050,200" ], [ "1B", "IB ", "T1 ", "M0 ", "110,150" ], [ "2", "II ", "T2 ", "M0 ", "988,999" ], [ "2A", "IIA ", "T2 ", "M0 ", "000-050,200" ], [ "2B", "IIB ", "T2 ", "M0 ", "110,150" ], [ "3", "III ", "Any T", "M1a", "988,999" ], [ "3A", "IIIA", "Any T", "M1a", "000-050,200" ], [ "3B", "IIIB", "Any T", "M1a", "110,150" ], [ "4", "IV ", "Any T", "M1b", "988,999" ], [ "4A", "IVA ", "Any T", "M1b", "000-050,200" ], [ "4B", "IVB ", "Any T", "M1b", "110,150" ], [ "99", "Unknown", "TX \nAny T", "M0\nM1", "Any\nAny" ], [ "88", "Not Applicable", "88", "88", "Any" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_22295.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_22295.json deleted file mode 100644 index fe8c225e5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_22295.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_22295", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group II (as defined in the table)", - "last_modified" : "2022-07-13T21:21:36.294Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0 " ], [ "1A", "IA ", "T1 ", "N0 ", "M0 " ], [ "1B", "IB ", "T2 ", "N0 ", "M0 " ], [ "2", "II ", "T3 ", "NX ", "M0 " ], [ "2A", "IIA ", "T3 ", "N0 ", "M0 " ], [ "2B", "IIB ", "T1-3 ", "N1 ", "M0 " ], [ "3", "III ", "T4 ", "Any N", "M0 " ], [ "4", "IV ", "T0-4,X", "Any N", "M1 " ], [ "99", "Unknown", "T0 \nT1,2\nTX", "N1,X \nNX \nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_2328.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_2328.json deleted file mode 100644 index caed5ffb1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_2328.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_2328", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group II (as defined in this table)\n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group IIB - T0, N1, M0 - T0 is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:29.076Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0" ], [ "1A", "IA ", "T1 ", "N0 ", "M0" ], [ "1B", "IB ", "T2 ", "N0 ", "M0" ], [ "2", "II ", "T3 ", "NX ", "M0" ], [ "2A", "IIA", "T3 ", "N0 ", "M0" ], [ "2B", "IIB", "T0-3 ", "N1 ", "M0" ], [ "3", "III", "T4 ", "Any N", "M0" ], [ "4", "IV", "T0-4,X", "Any N", "M1" ], [ "99", "Unknown", "T0-2\nTX", "NX\nAny N", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_26613.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_26613.json deleted file mode 100644 index 2f3ff3a9c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_26613.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_26613", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IV (as defined in this table)\n\n**Note 2:** The following stage groups are defined in UICC, but not AJCC\n* Stage Group II (as defined in this table)\n* Stage Group III (as defined in this table)\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IIIA - T0, (N1 [NOS], N1a, N1b, N1c, N2a), M0 - T0 is not included in the stage group definition\n* Stage Group IIIB - T0, N2b, M0 - T0 is not included in the stage group definition\n* Stage Group IIIB - T2, N2, M0 - N2 is not included in the stage group definition\n* Stage Group IIIB - T4 [NOS], (N1 [NOS], N1a-N1c), M0 - T4 not included in the stage group definition\n* Stage Group IIIC - (T4 [NOS], T4a), N2, M0 - N2 is not included in the stage group definition\n* Stage Group IIIC - T4 [NOS], (N2a, N2b), M0 - T4 not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:38.738Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X", "M0" ], [ "1", "I ", "T1,2", "N0 ", "M0" ], [ "2", "II ", "T4 ", "N0 ", "M0" ], [ "2A", "IIA", "T3 ", "N0 ", "M0" ], [ "2B", "IIB", "T4a ", "N0 ", "M0" ], [ "2C", "IIC", "T4b ", "N0 ", "M0" ], [ "3", "III", "T0,1,3\nTX", "N2 \nN1,1a-1c,2,2a,2b", "M0\nM0" ], [ "3A", "IIIA", "T0-2\nT0,1", "N1,1a-1c\nN2a", "M0\nM0" ], [ "3B", "IIIB", "T3,4,4a\nT2 \nT2,3 \nT0-2", "N1,1a-1c \nN2 \nN2a \nN2b", "M0\nM0\nM0\nM0" ], [ "3C", "IIIC", "T4,4a \nT3,4,4a\nT4b", "N2,2a \nN2b \nN1,1a-1c,2,2a,2b", "M0\nM0\nM0" ], [ "4", "IV ", "T0-3,4,4a,4b,X ", "Any N", "M1 " ], [ "4A", "IVA ", "T0-3,4,4a,4b,X ", "Any N", "M1a" ], [ "4B", "IVB ", "T0-3,4,4a,4b,X ", "Any N", "M1b" ], [ "99", "Unknown", "T0-3,4,4a,4b\nTX", "NX \nN0,X", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_29799.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_29799.json deleted file mode 100644 index bba717623..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_29799.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_29799", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IIA (as defined in the table)\n* Stage Group IIB (as defined in the table)\n* Stage Group III (as defined in the table)\n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group IIIC - T0, N1, M0 - T0 is not included in the stage group definition\n\n**Note 3:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2022-07-13T21:21:41.033Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "T1 ", "N0", "M0" ], [ "1A", "IA ", "T1a", "N0", "M0" ], [ "1B", "IB ", "T1b", "N0", "M0" ], [ "2", "II ", "T2 ", "N0", "M0" ], [ "2A", "IIA", "T2a", "N0", "M0" ], [ "2B", "IIB", "T2b", "N0", "M0" ], [ "3", "III", "T3 \nT3,3a,3b", "N0\nNX", "M0\nM0" ], [ "3A", "IIIA ", "T3a ", "N0 ", "M0" ], [ "3B", "IIIB ", "T3b ", "N0 ", "M0" ], [ "3C", "IIIC ", "T0,1,1a,1b,2,2a,2b,3,3a,3b", "N1 ", "M0" ], [ "4A", "IVA ", "T4 ", "Any N", "M0" ], [ "4B", "IVB ", "Any T ", "Any N", "M1" ], [ "99", "Unknown", "T0,1,1a,1b,2,2a,2b\nTX", "NX \nAny N", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_30166.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_30166.json deleted file mode 100644 index 78ced5b8c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_30166.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_c_30166", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IV (as defined below in the table)\n\n**Note 2:** The stage group below is valid in AJCC 7th edition, but not UICC. Approved by UICC.\n* Stage I - T1, N0, M0, Pap>=45, Med\n\n**Note 3:** The stage group below is valid in UICC 7th edition, but not AJCC 7th edition.\n* Stage Group IVA - T4a, N1, M0, Pap >=45, Med\n* Stage Group IVA - T4a, NX, M0, Med\n\n**Note 4:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IVA - T0, N1b, M0, Pap>=45, Med -T0 is not included in the stage group definition\n* Stage Group IVA - T4a, NX, M0, Pap>=45 - NX is not included in the stage group definition \n\n**Note 5:** The Histopathologic Types are set as follows \n* ANA: Anaplastic - 8020,8021,8030-8032 OR Grade = 4 with any Histology \n* MED: Medullary - 8345-8347,8430,8510, 8512,8513; grade is not 4 \n* PAP<45: Papillary/Follicular, Age<45 - Any other histology, grade is not 4, Age at diagnosis 0-44 \n* PAP>=45: Papillary/Follicular, Age>=45 - Any other histology, grade is not 4, Age at diagnosis 45 or older \n* PAP=999: Papillary/Follicular, Age Unknown - Any other histology, grade is not 4, Age at diagnosis is unknown\n\n**Note 6:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:01.871Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "hist_type", - "name" : "Histopathological Type", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "Any T \nT1,1a,1b", "Any N\nN0", "M0\nM0", "PAP<45\nPAP>=45, MED" ], [ "2", "II", "Any T\nT2 \nT2,3", "Any N\nN0 \nN0", "M1\nM0\nM0", "PAP<45\nPAP>=45\nMED" ], [ "3", "III", "T3 \nT1,1a,1b,2,3", "N0 \nN1a", "M0\nM0", "PAP>=45\nPAP>=45, MED" ], [ "4", "IV", "TX\nT4", "N1b \nAny N", "M0\nM0", "PAP>=45, MED\nPAP>=45, MED, ANA" ], [ "4A", "IVA", "T0,1,1a,1b,2,3\nT4a", "N1b \nAny N", "M0\nM0", "PAP>=45, MED\nPAP>=45, MED, ANA" ], [ "4B", "IVB", "T4b", "Any N", "M0", "PAP>=45, MED, ANA" ], [ "4C", "IVC", "Any T \nT4,4a,4b", "Any N\nAny N", "M1\nM1", "PAP>=45, MED\nANA" ], [ "99", "Unknown", "Any T \nT0 \nT1,1a,1b,2,3\nTX", "Any N \nN1,1a,X \nN1,X \nN0,1,1a,X", "Any M\nM0 \nM0 \nM0", "PAP=999\nPAP>=45, MED\nPAP>=45, MED\nPAP>=45, MED" ], [ "88", "Not Applicable", "88", "88", "88", "Any" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32452.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32452.json deleted file mode 100644 index d0861f1b4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32452.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_32452", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.\n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage 0 - pTis, (N0, NX), M0", - "last_modified" : "2018-05-14T21:29:01.570Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X", "M0" ], [ "1", "I", "T1 ", "N0 ", "M0" ], [ "2A", "IIA ", "T2 ", "N0 ", "M0" ], [ "2B", "IIB ", "T3 ", "N0 ", "M0" ], [ "3A", "IIIA", "T4 ", "N0 ", "M0" ], [ "3B", "IIIB", "T0-4,X", "N1 ", "M0" ], [ "4", "IV", "T0-4,X", "Any N", "M1" ], [ "99", "Unknown", "T0-4\nTX", "NX \nN0,X", "M0\nM0" ], [ "88", "Not applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32628.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32628.json deleted file mode 100644 index 3cbf06d13..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32628.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_32628", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)\n\n**Note 2:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2022-07-13T21:21:54.527Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "T1a ", "N0", "M0" ], [ "2A", "IIA ", "T1b-1d,2a", "N0", "M0" ], [ "2B", "IIB ", "T2b,3a ", "N0", "M0" ], [ "3", "III ", "T4 ", "N0", "M0" ], [ "3A", "IIIA", "T2c,2d\nT3b,3c\nT4a", "N0\nN0\nN0", "M0\nM0\nM0" ], [ "3B", "IIIB", "T3d \nT4b,4c", "N0\nN0", "M0\nM0" ], [ "3C", "IIIC", "T4d,4e", "N0", "M0" ], [ "4", "IV", "Any T\nAny T", "N1 \nAny N", "M0 \nM1,1a-1c" ], [ "99", "Unknown", "T1-3,X\nAny T", "N0\nNX", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32742.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32742.json deleted file mode 100644 index a6f0b8ee8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_32742.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_c_32742", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.\n\n**Note 2:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2022-07-13T21:21:32.526Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1A", "IA", "T1,2", "N0,X", "M0", "000-050,988,990" ], [ "1B", "IB", "T3 ", "N0,X", "M0", "000-050,988,990" ], [ "2", "II", "T1,2\nT4", "N0,X\nN0,X", "M0\nM0", "051-110,991 \n000-050,988,990" ], [ "3A", "IIIA", "T3", "N0,X", "M0", "051-110,991" ], [ "3B", "IIIB", "T4", "N0,X", "M0", "051-110,991 " ], [ "4", "IV", "Any T\nAny T", "N1 \nAny N", "M0\nM1", "Any Rate\nAny Rate" ], [ "99", "Unknown", "T1-4\nTX", "N0,X\nN0,X", "M0\nM0", "996,998,999\nAny Rate" ], [ "88", "Not Applicable", "88", "88", "88", "Any Rate " ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_34250.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_34250.json deleted file mode 100644 index 7cd089261..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_34250.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_34250", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage IV - (T0, TX), N3, M0\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group III - (T0, TX), N1, M0 - T0 and TX are not included in the stage group definition\n* Stage Group IV - (T0, TX), N2, M0 - T0 and TX are not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:06.745Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X", "M0" ], [ "1", "I", "T1", "N0", "M0" ], [ "2", "II", "T2", "N0", "M0" ], [ "3", "III", "T0-2,X", "N1", "M0" ], [ "4", "IV", "T0-2,X \nT4 \nT0-2,4,X", "N2,3 \nAny N\nAny N", "M0\nM0\nM1" ], [ "99", "Unknown", "T0-2\nTX", "NX \nN0,X", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_34977.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_34977.json deleted file mode 100644 index da847730a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_34977.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_34977", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)", - "last_modified" : "2022-07-13T21:21:57.221Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X", "M0,0i+" ], [ "1A", "IA ", "T1,1mi,1a-1c ", "N0", "M0,0i+" ], [ "2A", "IIA", "T0,1,1mi,1a-1c\nT2", "N1 \nN0", "M0,0i+\nM0,0i+" ], [ "2B", "IIB", "T2\nT3", "N1 \nN0", "M0,0i+\nM0,0i+" ], [ "3", "III", "T4,4a-4d\nTX", "NX \nN2,2a,2b", "M0,0i+\nM0,0i+" ], [ "3A", "IIIA", "T0,1,1mi,1a-1c,2\nT3", "N2,2a,2b \nN1,2,2a,2b", "M0,0i+\nM0,0i+" ], [ "3B", "IIIB", "T4,4a-4d ", "N0,1,2,2a,2b", "M0,0i+" ], [ "3C", "IIIC", "T0,1,1mi,1a-1c,2,3,4,4a-4d,X", "N3,3a-3c ", "M0,0i+" ], [ "4", "IV", "T0,1,1mi,1a-1c,2,3,4,4a-4d,X", "Any N ", "M1" ], [ "99", "Unknown", "T0,1,1mi,1a-1c,2,3\nTX", "NX \nN0,1,X", "M0,0i+\nM0,0i+" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_37137.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_37137.json deleted file mode 100644 index 3b215f153..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_37137.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_c_37137", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group II (as defined in the table)\n* Stage Group III (as defined in the table)\n* Stage Group IV (as defined in the table)\n\n**Note 2:** The stage group below is valid in UICC 7th edition ERRATA, but not AJCC 7th edition.\n* Stage Group IVB - Any T, N0, M1a, Grade 4\n\n**Note 3:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group IVA - Any T, N0, M1a, Grade X - Grade X is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:35.882Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X", "M0", "Any Grade" ], [ "1", "I ", "T1,2 ", "N0 ", "M0", "Any Grade" ], [ "2", "II ", "T4 ", "N0 ", "M0", "Any Grade" ], [ "2A", "IIA ", "T3 ", "N0 ", "M0", "Any Grade" ], [ "2B", "IIB ", "T4a ", "N0 ", "M0", "Any Grade" ], [ "2C", "IIC ", "T4b ", "N0 ", "M0", "Any Grade" ], [ "3", "III", "T0,X ", "N1 ", "M0", "Any Grade" ], [ "3A", "IIIA", "T1,2 ", "N1 ", "M0", "Any Grade" ], [ "3B", "IIIB", "T3,4,4a,4b ", "N1 ", "M0", "Any Grade" ], [ "3C", "IIIC", "T0-3,4,4a,4b,X", "N2 ", "M0", "Any Grade" ], [ "4", "IV ", "T0-3,4,4a,4b,X\nT0-3,4,4a,4b,X", "Any N \nNX", "M1 \nM1a", "Any Grade\nAny Grade" ], [ "4A", "IVA", "T0-3,4,4a,4b,X", "N0", "M1a", "1,9" ], [ "4B", "IVB", "T0-3,4,4a,4b,X\nT0-3,4,4a,4b,X", "N0 \nN1,2", "M1a\nM1a", "2-4 \nAny Grade" ], [ "4C", "IVC", "T0-3,4,4a,4b,X", "Any N", "M1b", "Any Grade" ], [ "99", "Unknown", "T0-3,4,4a,4b\nTX", "NX \nN0,X", "M0\nM0", "Any Grade\nAny Grade" ], [ "88", "Not Applicable", "88", "88", "88", "Any Grade" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_40902.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_40902.json deleted file mode 100644 index d77490c08..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_40902.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_40902", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group III - T0, N1, M0 - T0 is not included in the stage group definition\n* Stage Group IV - T4, NX, M0 - NX is not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:00.355Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0A", "0A", "Ta ", "N0,X", "M0" ], [ "0IS", "0IS", "Tis,ispu,ispd", "N0,X", "M0" ], [ "1", "I", "T1 ", "N0 ", "M0" ], [ "2", "II", "T2 ", "N0 ", "M0" ], [ "3", "III", "T0-2\nT3", "N1 \nN0,1", "M0\nM0" ], [ "4", "IV", "T4 \nT0-4,X\nT0-4,X", "Any N\nN2 \nAny N", "M0\nM0\nM1" ], [ "99", "Unknown", "TX \nT0-3", "N0,1,X\nNX", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_4134.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_4134.json deleted file mode 100644 index 9bd879d69..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_4134.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_4134", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage I - T1, N0, M0 \n\n**Note 3:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group III - (T0, TX), (N1, N2), M0 - T0 and TX are not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:06.739Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1 ", "N0", "M0" ], [ "1A", "IA", "T1a", "N0", "M0" ], [ "1B", "IB", "T1b", "N0", "M0" ], [ "2", "II", "T2 ", "N0", "M0" ], [ "3", "III", "T0,1,1a,1b,2,X\nT3", "N1,2\nN0-2", "M0\nM0" ], [ "4", "IV", "T4 \nAny T\nAny T", "Any N\nN3 \nAny N", "M0\nM0\nM1" ], [ "99", "Unknown", "T0,1,1a,1b,2,3\nTX", "NX \nN0,X", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_41802.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_41802.json deleted file mode 100644 index f0e5cd9a9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_41802.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_41802", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** The Stage Groups displayed are the enhanced UICC groups. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC manual to ensure you are using the appropriate logic.\n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group IV - T4, NX, M0 - NX is not included in the stage group definition", - "last_modified" : "2018-05-14T21:28:58.485Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X", "M0" ], [ "1", "I", "T1 ", "N0 ", "M0" ], [ "2", "II", "T1\nT2", "N1 \nN0,1", "M0\nM0" ], [ "3", "III", "T1,2 \nT3", "N2 \nN0-2", "M0\nM0" ], [ "4", "IV", "T4 ", "NX ", "M0" ], [ "4A", "IVA", "T4 ", "N0-2 ", "M0" ], [ "4B", "IVB", "T0-4,X", "N3,3a,3b", "M0" ], [ "4C", "IVC", "T0-4,X", "Any N ", "M1" ], [ "99", "Unknown", "T0 \nT1-3 \nTX", "N1,2,X\nNX \nN0,1,2,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_42709.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_42709.json deleted file mode 100644 index 457b70ef9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_42709.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_42709", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)", - "last_modified" : "2018-05-14T21:29:01.206Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X", "M0" ], [ "1", "I ", "T1 ", "N0 ", "M0" ], [ "2", "II ", "T2,3", "N0 ", "M0" ], [ "3", "III", "T0,X\nT4", "N1\nNX", "M0\nM0" ], [ "3A", "IIIA", "T1-3\nT4", "N1\nN0", "M0\nM0" ], [ "3B", "IIIB", "T4 \nT0-4,X", "N1 \nN2,3", "M0\nM0" ], [ "4", "IV", "T0-4,X", "Any N", "M1" ], [ "99", "Unknown", "T0-3\nTX", "NX \nN0,X", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_42843.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_42843.json deleted file mode 100644 index 4374218ef..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_42843.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_42843", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The stage group below is valid in AJCC 7th edition, but not UICC. Approved by UICC.\n* Stage Group III\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA:\n* Stage Group III - (T3, T3a, T3b), NX, M0 - NX is not included in the stage group definition\n* Stage Group IIIC - T3c, NX, M0 - NX is not included in the stage group definition\n\n**Note 4:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:01.409Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "3", "III", "T3 ", "N0,X", "M0" ], [ "3A", "IIIA", "T3a", "N0 ", "M0" ], [ "3B", "IIIB", "T3b", "N0 ", "M0" ], [ "3C", "IIIC", "T3c \nAny T", "N0,X\nN1", "M0\nM0" ], [ "4", "IV", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0,3a,3b\nTX", "NX \nN0,X", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_46351.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_46351.json deleted file mode 100644 index fa7ac0d15..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_46351.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_46351", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group IV - T4, NX, M0 - NX is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:27.336Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0A", "0A ", "Ta ", "N0,X", "M0" ], [ "0IS", "0IS", "Tis", "N0,X", "M0" ], [ "1", "I", "T1", "N0", "M0" ], [ "2", "II", "T2", "N0", "M0" ], [ "3", "III", "T3", "N0", "M0" ], [ "4", "IV", "T4 \nAny T\nAny T", "N0,X \nN1-3 \nAny N", "M0\nM0\nM1" ], [ "99", "Unknown", "T0-3\nTX", "NX\nN0,X", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_46455.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_46455.json deleted file mode 100644 index e2a474e49..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_46455.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_46455", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* T1 (Stage Group I is defined by AJCC as T1, N0, M0)", - "last_modified" : "2022-07-13T21:21:31.148Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0" ], [ "1", "I ", "T1,1a,1b,2 ", "N0 ", "M0" ], [ "2A", "IIA ", "T3 ", "N0 ", "M0" ], [ "2B", "IIB ", "T4 ", "N0 ", "M0" ], [ "3A", "IIIA", "T0,1,1a,1b,2-4,X", "N1 ", "M0" ], [ "3B", "IIIB", "T0,1,1a,1b,2-4,X", "N2 ", "M0" ], [ "4", "IV ", "T0,1,1a,1b,2-4,X", "Any N", "M1" ], [ "99", "Unknown", "T0,1,1a,1b,2-4\nTX", "NX \nN0,X", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_47235.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_47235.json deleted file mode 100644 index 0389e6b82..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_47235.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_47235", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group III - T4, NX, M0 - NX is not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:02.513Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1,1a,1b", "N0 ", "M0" ], [ "2", "II", "T2,3 ", "N0 ", "M0" ], [ "3", "III", "T4 \nAny T", "N0,X\nN1", "M0\nM0" ], [ "4", "IV", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0,1,1a,1b,2,3\nTX", "NX \nN0,X", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_47728.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_47728.json deleted file mode 100644 index 7b4e2fe46..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_47728.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_c_47728", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group I - as defined in this table\n* Stage Group II - as defined in this table\n\n**Note 2:** The TNM combinations are valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage IA - (T1a, T1b), N0, M0, Grade (988, 998, 999)\n* Stage IB - (T2a, T2b), N0, M0, Grade (988, 998, 999)\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IA - T1, N0, M0, Grade (010, 100, 988, 998, 999) - T1 is not included in the stage group definition\n* Stage Group IB - T2, N0, M0, Grade (010, 100, 988, 998, 999) - T2 is not included in the stage group definition\n* Stage Group IIA - T1, N0, M0, Grade (020, 030, 200) - T1 is not included in the stage group definition\n* Stage Group IIB - T2, N0, M0, Grade (020) - T2 is not included in the stage group definition\n* Stage Group III - T2, N0, M0, Grade (030, 200) - T2 is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:31.385Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "ssf1", - "name" : "Grade (SSF1)", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "TX ", "N0", "M0", "010,100,988,998,999" ], [ "1A", "IA ", "T1,1a,1b", "N0", "M0", "010,100,988,998,999" ], [ "1B", "IB ", "T2,2a,2b", "N0", "M0", "010,100,988,998,999" ], [ "2", "II ", "TX ", "N0", "M0", "020" ], [ "2A", "IIA", "T1,1a,1b", "N0", "M0", "020,030,200" ], [ "2B", "IIB", "T2,2a,2b", "N0", "M0", "020" ], [ "3", "III", "T2,2a,2b\nAny T", "N0\nN1", "M0\nM0", "030,200\nAny" ], [ "4", "IV", "Any T", "Any N", "M1", "Any" ], [ "99", "Unknown", "Any T\nTX", "NX\nN0", "M0\nM0", "Any\n030,200" ], [ "88", "Not Applicable", "88", "88", "88", "Any" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_478.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_478.json deleted file mode 100644 index c566af04b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_478.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_478", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* T3 (Stage Group III is defined as T3, N0, M0)\n\n**Note 2:** The stage groups below are valid in AJCC 7th edition, but not UICC. Approved by UICC.\n* Stage Group 0 (as defined in the table)\n* Stage Group I (as defined in the table)\n* Stage Group III (as defined in the table)\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group III - (T3 [NOS], T3b), NX, M0 - NX is not included in the stage group definition\n* Stage Group IIIA - T3a, NX, M0 - NX is not included in the stage group definition\n* Stage Group IIIC1 - T0, N1, M0 - T0 is not included in the stage group definition\n* Stage Group IIIC2 - T0, N2, M0 - T0 is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:53.970Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X", "M0" ], [ "1", "I ", "T1 ", "N0 ", "M0" ], [ "1A", "IA ", "T1a ", "N0 ", "M0" ], [ "1B", "IB ", "T1b ", "N0 ", "M0" ], [ "2", "II ", "T2 ", "N0 ", "M0" ], [ "3", "III ", "T3 \nT3,3b", "N0\nNX", "M0\nM0" ], [ "3A", "IIIA ", "T3a ", "N0,X ", "M0" ], [ "3B", "IIIB ", "T3b ", "N0 ", "M0" ], [ "3C1", "IIIC1 ", "T0,1,1a,1b,2,3,3a,3b", "N1 ", "M0" ], [ "3C2", "IIIC2 ", "T0,1,1a,1b,2,3,3a,3b", "N2 ", "M0" ], [ "4A", "IVA ", "T4 ", "Any N ", "M0" ], [ "4B", "IVB ", "Any T ", "Any N ", "M1" ], [ "99", "Unknown", "T0,1,1a,1b,2 \nTX", "NX \nAny N", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_49193.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_49193.json deleted file mode 100644 index 6cab92c73..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_49193.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_49193", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group I - T1 [NOS], N0, M0 - T1 is not included in the stage group definition \n* Stage Group IIIA - T0, N1, M0 - T0 is not included in the stage group definition\n* Stage Group IIIB - T0, N2, M0 - T0 is not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:00.136Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Ta,Tis", "N0,X", "M0" ], [ "1", "I", "T1,1a", "N0", "M0" ], [ "2", "II", "T1b \nT2,3", "N0\nN0", "M0\nM0" ], [ "3A", "IIIA", "T0,1,1a,1b,2,3", "N1", "M0" ], [ "3B", "IIIB", "T0,1,1a,1b,2,3", "N2", "M0" ], [ "4", "IV", "T4 \nT0,1,1a,1b,2,3,X\nT0,1,1a,1b,2-4,X", "Any N\nN3 \nAny N", "M0\nM0\nM1" ], [ "99", "Unknown", "T0,1,1a,1b,2,3\nTX", "NX \nN0-2,X", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_49395.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_49395.json deleted file mode 100644 index 95ce1ad6f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_49395.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_c_49395", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.\n* Stage Group I (as defined in this table)\n* Stage Group II (as defined in this table)\n\n**Note 2:** The TNM combinations are valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage IA - T1b, N0, M0, Grade (988, 998, 999)\n* Stage IB - T2b, N0, M0, Grade (988, 998, 999)", - "last_modified" : "2022-07-13T21:21:29.939Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "ssf1", - "name" : "Grade (SSF1)", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "TX ", "N0", "M0", "010,100,988,998,999" ], [ "1A", "IA ", "T1b", "N0", "M0", "010,100,988,998,999" ], [ "1B", "IB ", "T2b", "N0", "M0", "010,100,988,998,999" ], [ "2", "II ", "TX ", "N0", "M0", "020 " ], [ "2A", "IIA", "T1b", "N0", "M0", "020,030,200 " ], [ "2B", "IIB", "T2b", "N0", "M0", "020 " ], [ "3", "III", "T2b\nAny T", "N0\nN1", "M0\nM0", "030,200 \nAny" ], [ "4", "IV", "Any T", "Any N", "M1", "Any" ], [ "99", "Unknown", "Any T\nTX", "NX\nN0", "M0\nM0", "Any \n030,200" ], [ "88", "Not Applicable", "88", "88", "88", "Any" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_51542.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_51542.json deleted file mode 100644 index 2be14c0ec..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_51542.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_51542", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IV (as defined in this table)\n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n * Stage Group IVA -T0, (N2 [NOS], N2a-N2c), M0 - T0 is not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:01.489Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X", "M0" ], [ "1", "I", "T1 ", "N0 ", "M0" ], [ "2", "II", "T2 ", "N0 ", "M0" ], [ "3", "III", "T3 \nT1-3", "N0\nN1", "M0\nM0" ], [ "4", "IV", "T4,4a\nT4 \nTX", "NX \nN0,1,2,2a-2c\nN2,2a-2c", "M0\nM0\nM0" ], [ "4A", "IVA", "T0-3\nT4a", "N2,2a-2c \nN0,1,2,2a-2c", "M0\nM0" ], [ "4B", "IVB", "T0-3,4,4a,4b,X\nT4b", "N3 \nAny N", "M0\nM0" ], [ "4C", "IVC", "T0-3,4,4a,4b,X", "Any N", "M1" ], [ "99", "Unknown", "T0 \nT1-3\nTX", "N1,X \nNX \nN0,1,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_52010.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_52010.json deleted file mode 100644 index 86af10ae3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_52010.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_52010", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.\n\n**Note 2:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:00.660Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1,1a,1b", "N0 ", "M0" ], [ "2A", "IIA ", "T2 ", "N0 ", "M0" ], [ "2B", "IIB ", "T3 ", "N0 ", "M0" ], [ "3A", "IIIA", "T4 ", "N0 ", "M0" ], [ "3B", "IIIB", "Any T", "N1 ", "M0" ], [ "4", "IV", "Any T", "Any N", "M1" ], [ "99", "Unknown", "Any T\nTX", "NX\nN0", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_55797.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_55797.json deleted file mode 100644 index 4f3dd5c7c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_55797.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_55797", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The stage groups below are valid in AJCC 7th edition, but not UICC. Approved by UICC.\n* Stage Group I\n* Stage Group II\n* Stage Group III\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group III - (T3, T3a, T3b), NX, M0 - NX is not included in the stage group definition\n* Stage Group IIIC - T3c, NX, M0 - NX is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:41.337Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis", "N0,X", "M0" ], [ "1", "I ", "T1 ", "N0 ", "M0" ], [ "1A", "IA ", "T1a", "N0 ", "M0" ], [ "1B", "IB ", "T1b", "N0 ", "M0" ], [ "1C", "IC ", "T1c", "N0 ", "M0" ], [ "2", "II ", "T2 ", "N0 ", "M0" ], [ "2A", "IIA", "T2a", "N0 ", "M0" ], [ "2B", "IIB", "T2b", "N0 ", "M0" ], [ "2C", "IIC", "T2c", "N0 ", "M0" ], [ "3", "III", "T3 \nT3,3a,3b", "N0\nNX", "M0\nM0" ], [ "3A", "IIIA", "T3a ", "N0", "M0" ], [ "3B", "IIIB", "T3b ", "N0", "M0" ], [ "3C", "IIIC", "T0,1,1a-1c,2,2a-2c,3,3a,3b,X\nT3c", "N1 \nAny N", "M0\nM0" ], [ "4", "IV", "T0,1,1a-1c,2,2a-2c,3,3a-3c,X", "Any N", "M1" ], [ "99", "Unknown", "T0,1,1a-1c,2,2a-2c\nTX", "NX \nN0,X", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_56577.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_56577.json deleted file mode 100644 index 57371db7f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_56577.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_56577", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* T2 (Stage Group II is defined by AJCC as T2, N0, M0)\n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage 0 - pTis, (N0, NX), M0\n\n**Note 3:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group IVA - T4, NX, M0 - NX is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:35.386Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0" ], [ "1", "I ", "T1 ", "N0 ", "M0" ], [ "2", "II ", "T2,2a,2b ", "N0 ", "M0" ], [ "3", "III", "T3 ", "N0 ", "M0" ], [ "4A", "IVA", "T4 \nT0,1,2,2a,2b,3,4,X", "N0,X\nN1", "M0\nM0" ], [ "4B", "IVB", "T0,1,2,2a,2b,3,4,X", "Any N", "M1" ], [ "99", "Unknown", "T0,1,2,2a,2b,3\nTX", "NX \nN0,X", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_57716.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_57716.json deleted file mode 100644 index bd7e4a5a3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_57716.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_57716", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group I (as defined in the table)\n* Stage Group III (as defined in the table)", - "last_modified" : "2022-07-13T21:21:50.358Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X ", "M0" ], [ "1", "I", "T2 ", "N0 ", "M0" ], [ "1A", "IA ", "T1 ", "N0 ", "M0" ], [ "1B", "IB ", "T2a ", "N0 ", "M0" ], [ "1C", "IC ", "T2b ", "N0 ", "M0" ], [ "2", "II ", "T3a ", "N0 ", "M0" ], [ "3", "III ", "T3b ", "NX ", "M0" ], [ "3A", "IIIA", "T3b ", "N0 ", "M0" ], [ "3B", "IIIB", "T0,1,2,2a,2b,3,3a,3b,X", "N1 ", "M0" ], [ "3C", "IIIC", "T4 ", "Any N", "M0" ], [ "4", "IV", "T0,1,2,2a,2b,3,3a,3b,4,X", "Any N", "M1" ], [ "99", "Unknown", "T0,1,2,2a,2b,3,3a,X\nT3,X", "NX\nN0", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59028.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59028.json deleted file mode 100644 index 9bb7e7066..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59028.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_59028", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IIA (as defined in the table)\n* Stage Group IIB (as defined in the table)\n* Stage Group III (as defined in the table)\n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group IIIC - T0, N1, M0 - T0 is not included in the stage group definition\n\n**Note 3:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2022-07-13T21:21:54.253Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "T1 ", "N0", "M0" ], [ "1A", "IA ", "T1a", "N0", "M0" ], [ "1B", "IB ", "T1b", "N0", "M0" ], [ "1C", "IC ", "T1c", "N0", "M0" ], [ "2", "II ", "T2 ", "N0", "M0" ], [ "2A", "IIA", "T2a", "N0", "M0" ], [ "2B", "IIB", "T2b", "N0", "M0" ], [ "3", "III", "T3 \nT3,3a,3b", "N0\nNX", "M0\nM0" ], [ "3A", "IIIA ", "T3a ", "N0 ", "M0" ], [ "3B", "IIIB ", "T3b ", "N0 ", "M0" ], [ "3C", "IIIC ", "T0,1,1a-1c,2,2a,2b,3,3a,3b", "N1 ", "M0" ], [ "4A", "IVA ", "T4 ", "Any N ", "M0" ], [ "4B", "IVB ", "Any T ", "Any N ", "M1" ], [ "99", "Unknown", "T0,1,1a-1c,2,2a,2b\nTX", "NX \nAny N", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59520.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59520.json deleted file mode 100644 index 5d0c60b4c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59520.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_59520", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage Group IVB - Any T, N2, M0\n\n**Note 3:** The TNM combination is valid in UICC 7th, but not AJCC 7th.\n* Stage Group IVA - T4, NX, M0", - "last_modified" : "2022-07-13T21:21:34.076Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0" ], [ "1", "I ", "T1,1a,1b ", "N0 ", "M0" ], [ "2", "II ", "T2 ", "N0 ", "M0" ], [ "3A", "IIIA", "T3 ", "N0 ", "M0" ], [ "3B", "IIIB", "T1,1a,1b,2,3", "N1 ", "M0" ], [ "4A", "IVA ", "T4 ", "N0,1,X", "M0" ], [ "4B", "IVB ", "T0,1,1a,1b,2-4,X\nT0,1,1a,1b,2-4,X", "N2 \nAny N", "M0\nM1" ], [ "99", "Unknown", "T0 \nT1,1a,1b,2,3\nTX", "N1,X \nNX \nN0,1,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59832.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59832.json deleted file mode 100644 index 10a350dee..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_59832.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "id" : "stage_group_c_59832", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage Group IIA - T2b, N0, M0, PSA unknown, Gleason unknown\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Groups I or IIA (depending on PSA/Gleason) - cT1, N0, M0 - cT1 is not included in the stage group definition\n* Stage Groups I or IIA (depending on PSA/Gleason) - T2, N0, M0 - T2 is not included in the stage group definition \n* Stages Groups IIA or IIB (depending on PSA/Gleason) - T2, N0, M0 - T2 is not included in the stage group definition\n* Stage Group III - T3, N0, M0 - T3 is not included in the stage group definition\n* Stage Group IV - T4, NX, M0, Any PSA, Any Gleason - NX is not included in the stage group definition\n\n**Note 4:** For Gleason, use SSF8 for Clinical.\n\n**Note 5:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:04.449Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "ssf1", - "name" : "PSA (SSF1)", - "type" : "DESCRIPTION" - }, { - "key" : "gleason", - "name" : "Gleason (SSF8)", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1,1a-1c,2,2a", "N0", "M0", "001-099,988,997-999", "002-006,988,998,999" ], [ "2A", "IIA", "T1,1a-1c,2,2a\nT1,1a-1c,2,2a\nT2b", "N0\nN0\nN0", "M0\nM0\nM0", "001-199,988,997-999\n100-199 \n001-199,988,997-999", "007\n002-006,988,998,999\n002-006,007,988,998,999" ], [ "2B", "IIB", "T2c \nT1,1a-1c,2,2a,2b\nT1,1a-1c,2,2a,2b", "N0\nN0\nN0", "M0\nM0\nM0", "Any PSA\n200-980\nAny PSA", "Any Gleason\nAny Gleason\n008-010" ], [ "3", "III", "T3,3a,3b", "N0", "M0", "Any PSA", "Any Gleason" ], [ "4", "IV", "T4 \nAny T\nAny T", "Any N\nN1 \nAny N", "M0 \nM0 \nM1,1a-1c", "Any PSA\nAny PSA\nAny PSA", "Any Gleason\nAny Gleason\nAny Gleason" ], [ "99", "Unknown", "T0,1,1a-1c,2,2a-2c,3,3a,3b\nTX", "NX \nN0,X", "M0\nM0", "Any PSA \nAny PSA", "Any Gleason\nAny Gleason" ], [ "88", "Not Applicable", "88", "88", "88", "Any PSA", "Any Gleason" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_61951.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_61951.json deleted file mode 100644 index 9f4ec04d4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_61951.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_c_61951", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** The Stage Groups displayed are the Mycosis Fungoides and Sezary Syndrome staging system proposed by the *International Society for Cutaneous lymphomas* and *EORTC*.\n* Stage Group IVA (as defined in the table)\n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations, when B (SSF1) is unknown (080, 090, 988, 997, 999), are only included in SEER*RSA.\n* Stage Group IA - (T1 [NOS], T1a, 1b), N0, M0 \n* Stage Group IB - (T2 [NOS], T2a-T2b), N0, M0\n* Stage Group IIA - (T1 [NOS], T1a, T1b, T2 [NOS], T2a, 2b), (N1-N2b), M0\n* Stage Group IIB - T3, (N0-2b), M0\n* Stage Group IIIA - T4, (N0-2b), M0\n* Stage Group IVA2 - Any T, N3, M0\n* Stage Group IVB - Any T, Any N, M1\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IVA1 - TX, (N0-N2b), M0, SSF1 (070) - TX is not included in the stage group definition\n* Stage Group IVA1 - T0, (N1-N2b), M0, SSF1 (070) - T0 is not included in the stage group definition\n* Stage Group IVA2 - (T0, TX), N3, M0, Any SSF1 - TX, T0 not included in the stage group definition\n* Stage Group IVB - (T0, TX), Any N, M1, Any SSF1 - TX, T0, not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:27.592Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "ssf1", - "name" : "Peripheral Blood Involvement (SSF1)", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1A", "IA ", "T1,1a,1b ", "N0 ", "M0", "010-060,080,090,988,997,999" ], [ "1B", "IB ", "T2,2a,2b ", "N0 ", "M0", "010-060,080,090,988,997,999" ], [ "2A", "IIA ", "T1,1a,1b,2,2a,2b", "N1,1a,1b,2,2a,2b ", "M0", "010-060,080,090,988,997,999" ], [ "2B", "IIB ", "T3 ", "N0,1,1a,1b,2,2a,2b", "M0", "010-060,080,090,988,997,999" ], [ "3A", "IIIA", "T4 ", "N0,1,1a,1b,2,2a,2b", "M0", "010-030,080,090,988,997,999" ], [ "3B", "IIIB", "T4 ", "N0,1,1a,1b,2,2a,2b", "M0", "040-060 " ], [ "4A", "IVA ", "Any T ", "NX ", "M0", "070 " ], [ "4A1", "IVA1", "T0 \nT1,1a,1b,2,2a,2b,3,4,X", "N1,1a,1b,2,2a,2b \nN0,1,1a,1b,2,2a,2b", "M0\nM0", "070\n070" ], [ "4A2", "IVA2", "Any T", "N3 ", "M0", "Any" ], [ "4B", "IVB ", "Any T", "Any N ", "M1", "Any" ], [ "99", "Unknown", "T0 \nT1,1a,1b,2,2a,2b,3,4\nTX", "N1,1a,1b,2,2a,2b,X \nNX \nN0,1,1a,1b,2,2a,2b,X", "M0\nM0\nM0", "010-060,080,090,988,997,999\n010-060,080,090,988,997,999\n010-060,080,090,988,997,999" ], [ "88", "Not Applicable", "88", "88", "88", "Any" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_62342.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_62342.json deleted file mode 100644 index 44b9be3c5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_62342.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_62342", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic\n* Stage Group III (as defined in the table)\n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IIB - T4, N0, M0 - T4 is not included in the stage group definition\n* Stage Group IIIA - T4, N1, M0 - T4 is not included in the stage group definition\n* Stage Group IIIB - T4, N2, M0 - T4 is not included in the stage group definition\n* Stage Group IIIC - T4, (N3 [NOS], N3a, N3b), M0 - T4 is not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:01.756Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis ", "N0,X", "M0" ], [ "1A", "IA", "T1,1a,1b", "N0", "M0" ], [ "1B", "IB", "T2 \nT1,1a,1b", "N0\nN1", "M0\nM0" ], [ "2A", "IIA", "T3 \nT2 \nT1,1a,1b", "N0\nN1\nN2", "M0\nM0\nM0" ], [ "2B", "IIB", "T4,4a \nT3 \nT2 \nT1,1a,1b", "N0 \nN1 \nN2 \nN3,3a,3b", "M0\nM0\nM0\nM0" ], [ "3", "III", "T4b", "NX", "M0" ], [ "3A", "IIIA", "T4,4a\nT3 \nT2", "N1 \nN2 \nN3,3a,3b", "M0\nM0\nM0" ], [ "3B", "IIIB", "T4b \nT4,4a\nT3", "N0,1 \nN2 \nN3,3a,3b", "M0\nM0\nM0" ], [ "3C", "IIIC", "T4,4a\nT4b", "N3,3a,3b \nN2,3,3a,3b", "M0\nM0" ], [ "4", "IV", "T0,1,1a,1b,2,3,4,4a,4b,X", "Any N", "M1" ], [ "99", "Unknown", "T0 \nT1,1a,1b,2,3,4,4a\nTX", "N1,2,3,3a,3b,X\nNX \nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_63552.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_63552.json deleted file mode 100644 index 8203fb524..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_63552.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_63552", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IV (as defined in this table)\n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IVA - T4, N0, M0 - T4 is not included in the stage group definition\n* Stage Group IVA - T4, N1, M0 - T4 is not included in the stage group definition\n* Stage Group IVA - T4a, NX, M0 - NX is not included in the stage group definition\n\n**Note 3:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:06.737Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "3", "III", "T3", "N0", "M0" ], [ "4", "IV", "T4", "NX", "M0" ], [ "4A", "IVA", "T4 \nT4a \nT3,4,4a", "N0 \nN0,X\nN1", "M0\nM0\nM0" ], [ "4B", "IVB", "T4b ", "Any N", "M0" ], [ "4C", "IVC", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nT3 \nTX", "N1,X\nNX \nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_64282.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_64282.json deleted file mode 100644 index 08b0ef85e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_64282.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "stage_group_c_64282", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)\n\n**Note 2:** The stage group below is not defined in UICC 7th edition, defined in AJCC 7th edition, approved by UICC.\n* Stage 0 - pTis, N0, M0, Grade X, Any Histology\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IIIA - T4 [NOS], N0, M0, Any Grade, Any Histology - T4 [NOS] is not included in the stage group definition\n* Stage Group IIIC - T4 [NOS], (N1, N2), M0, Any Grade, Any Histology - T4 [NOS] is not included in the stage group definition\n\n**Note 4:** Stage groups are based on histology, which is divided as follows \n* Squamous 8000-8046,8051-8131,8148-8157,8230-8249,8508,8510-8513,8560-8570,8575,8950,8980-8981 \n* Adenocarcinoma 8050,8140-8147,8160-8162,8170-8175,8180-8221,8250-8507,8514-8551,8571-8574,8576,8940-8941", - "last_modified" : "2018-05-14T21:29:02.288Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "DESCRIPTION" - }, { - "key" : "histology", - "name" : "Histology", - "type" : "DESCRIPTION" - }, { - "key" : "site", - "name" : "Primary Site", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X", "M0", "1,9", "Any Histology", "" ], [ "1A", "IA", "T1,1a,1b\nT1,1a,1b", "N0\nN0", "M0\nM0", "1,9\n2", "Any Histology \nAdenocarcinoma", "" ], [ "1B", "IB", "T1,1a,1b\nT1,1a,1b\nT2 \nT2,3", "N0\nN0\nN0\nN0", "M0\nM0\nM0\nM0", "2 \n3,4 \n1,2,9\n1,9", "Squamous \nAny Histology \nAdenocarcinoma\nSquamous", "Any Site \nAny Site \nAny Site \nC152,C155,C158,C159" ], [ "2A", "IIA", "T2 \nT2,3\nT2,3", "N0\nN0\nN0", "M0\nM0\nM0", "3,4\n1,9\n2-4", "Adenocarcinoma\nSquamous \nSquamous", "Any Site \nC150,C151,C153,C154 \nC152,C155,C158,C159" ], [ "2B", "IIB", "T3 \nT2,3 \nT1,1a,1b,2", "N0\nN0\nN1", "M0\nM0\nM0", "Any Grade\n2-4 \nAny Grade", "Adenocarcinoma\nSquamous \nAny Histology", "Any Site \nC150,C151,C153,C154\nAny Site" ], [ "3", "III", "T0,X \nT4,4a", "N2\nNX", "M0\nM0", "Any Grade\nAny Grade", "Any Histology\nAny Histology", "" ], [ "3A", "IIIA", "T1,1a,1b,2\nT3 \nT4,4a", "N2\nN1\nN0", "M0\nM0\nM0", "Any Grade\nAny Grade\nAny Grade", "Any Histology\nAny Histology\nAny Histology", "" ], [ "3B", "IIIB", "T3", "N2", "M0", "Any Grade", "Any Histology", "" ], [ "3C", "IIIC", "T4,4a \nT4b \nT0,1,1a,1b,2,3,4,4a,4b,X", "N1,2 \nAny N\nN3", "M0\nM0\nM0", "Any Grade\nAny Grade\nAny Grade", "Any Histology\nAny Histology\nAny Histology", "" ], [ "4", "IV", "T0,1,1a,1b,2,3,4,4a,4b,X", "Any N", "M1", "Any Grade", "Any Histology", "" ], [ "99", "Unknown", "T0 \nT1,1a,1b,2,3\nTX", "N1,X \nNX \nN0,1,X", "M0\nM0\nM0", "Any Grade\nAny Grade\nAny Grade", "Any Histology\nAny Histology\nAny Histology", "" ], [ "88", "Not Applicable", "88", "88", "88", "Any Grade", "Any Histology", "" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_65478.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_65478.json deleted file mode 100644 index 005425cb9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_65478.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_65478", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n* T1 (Stage Group I **is** defined by AJCC as T1, N0, M0)\n* Stage Group III (as defined below in the table)\n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA\n* Stage Group IIIA - (T0,1,1a,1b,2), N1, M0 --- N1 is not included in the stage group definition\n* Stage Group IIIA - T0, (N1a-N1b), M0 --- T0 is not included in the stage group definition\n* Stage Group IIIB - T0, (N2a-N2b), M0 --- T0 is not included in the stage group definition\n* Stage Group IIIC - T0, N2c, M0 --- T0 is not included in the stage group definition\n* Stage Group IVA - (T0, TX), N3, M0 --- T0 and TX are not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:31.837Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0" ], [ "1", "I", "T1", "N0 ", "M0" ], [ "1A", "IA ", "T1a ", "N0 ", "M0" ], [ "1B", "IB ", "T1b ", "N0 ", "M0" ], [ "2", "II ", "T2 ", "N0 ", "M0" ], [ "3", "III", "T0,1,1a,1b,2", "N2 ", "M0" ], [ "3A", "IIIA", "T0,1,1a,1b,2", "N1,1a,1b", "M0" ], [ "3B", "IIIB", "T0,1,1a,1b,2", "N2a,2b ", "M0" ], [ "3C", "IIIC", "T0,1,1a,1b,2", "N2c ", "M0" ], [ "4A", "IVA", "T0,1,1a,1b,2,3,X\nT3", "N3 \nAny N", "M0\nM0" ], [ "4B", "IVB", "T0,1,1a,1b,2,3,X", "Any N", "M1" ], [ "99", "Unknown", "T0,1,1a,1b,2\nTX", "NX \nN0,1,1a,1b,2,2a-2c,X", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_65801.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_65801.json deleted file mode 100644 index 24adb3d20..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_65801.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_65801", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The stage groups below are valid in AJCC 7th edition, but not UICC. Approved by UICC.\n* Stage Group I\n* Stage Group II \n* Stage Group III \n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA:\n* Stage Group III - (T3, T3a, T3b), NX, M0 - NX is not included in the stage group definition\n* Stage Group IIIC - T3c, NX, M0 - NX is not included in the stage group definition\n\n**Note 4:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2022-07-13T21:21:28.786Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "T1 ", "N0", "M0" ], [ "1A", "IA ", "T1a ", "N0", "M0" ], [ "1B", "IB ", "T1b ", "N0", "M0" ], [ "1C", "IC ", "T1c ", "N0", "M0" ], [ "2", "II ", "T2 ", "N0", "M0" ], [ "2A", "IIA", "T2a ", "N0", "M0" ], [ "2B", "IIB", "T2b ", "N0", "M0" ], [ "2C", "IIC", "T2c ", "N0", "M0" ], [ "3", "III", "T3 \nT3,3a,3b", "N0\nNX", "M0\nM0" ], [ "3A", "IIIA", "T3a", "N0", "M0" ], [ "3B", "IIIB", "T3b", "N0", "M0" ], [ "3C", "IIIC", "T3c \nAny T", "N0,X\nN1", "M0\nM0" ], [ "4", "IV", "Any T", "Any N ", "M1" ], [ "99", "Unknown", "T0,1,1a-1c,2,2a-2c\nTX", "NX \nN0,X", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_66879.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_66879.json deleted file mode 100644 index 3f9e9cd33..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_66879.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_66879", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group II (as defined in this table)\n\n**Note 2:** The following stage group is defined in UICC, but not AJCC\n* Stage Group I (as defined in this table)", - "last_modified" : "2022-07-13T21:21:53.625Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X", "M0" ], [ "1", "I ", "T1 ", "N0 ", "M0" ], [ "1A", "IA", "T1a ", "N0 ", "M0" ], [ "1B", "IB", "T1b,2a", "N0 ", "M0" ], [ "2", "II", "T3\nT4", "N0\nN0", "M0\nM0" ], [ "2A", "IIA", "T2b,3a ", "N0", "M0" ], [ "2B", "IIB", "T3b,4a ", "N0", "M0" ], [ "2C", "IIC", "T4b ", "N0", "M0" ], [ "3", "III", "T0,1,1a,1b,2,2a,2b,3,3a,3b,4,4a,4b,X", "N1,2,2c,3", "M0" ], [ "4", "IV", "T0,1,1a,1b,2,2a,2b,3,3a,3b,4,4a,4b,X", "Any N", "M1,1a-1c" ], [ "99", "Unknown", "T0,1,1a,1b,2,2a,2b,3,3a,3b,4,4a,4b,X\nT2,X", "NX \nN0", "M0\nM0" ], [ "88", "Not applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_73800.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_73800.json deleted file mode 100644 index 9777e2968..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_73800.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_73800", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IV (as defined in the table).\n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage IVB - Any T, N2, M0\n\n**Note 3:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group II - T2, N0, M0 - T2 is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:35.030Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0 " ], [ "1", "I ", "T1 ", "N0 ", "M0 " ], [ "2", "II ", "T2,2a,2b ", "N0 ", "M0 " ], [ "3A", "IIIA", "T3 ", "N0 ", "M0 " ], [ "3B", "IIIB", "T1,2,2a,2b,3", "N1 ", "M0 " ], [ "4", "IV ", "T4 ", "NX ", "M0 " ], [ "4A", "IVA ", "T4 ", "N0,1 ", "M0 " ], [ "4B", "IVB ", "T0,1,2,2a,2b,3,4,X\nT0,1,2,2a,2b,3,4,X", "N2 \nAny N", "M0\nM1" ], [ "99", "Unknown", "T0 \nT1,2,2a,2b,3 \nTX", "N1,X \nNX \nN0,1,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_75034.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_75034.json deleted file mode 100644 index f62990e7e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_75034.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "id" : "stage_group_c_75034", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)\n\n**Note 2:** The stage group below is not defined in UICC 7th edition, defined in AJCC 7th edition, approved by UICC.\n* Stage 0 - pTis, N0, M0, Grade X, Any Histology\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group 0 - Tis, NX, M0, Grade 2-4, Adenocarcinoma - NX is not included in the stage group definition\n* Stage Group IIB - T0, N1, M0, Any Grade, Adenocarcinoma - T0 is not included in the stage group definition\n* Stage Group IIIA - T0, N2, M0, Any Grade, Adenocarcinoma - T0 is not included in the stage group definition\n* Stage Group IIIA - T4 [NOS], N0, M0, Any Grade, Any Histology - T4 [NOS] is not included in the stage group definition\n* Stage Group IIIC - T4 [NOS], (N1, N2), M0, Any Grade, Any Histology - T4 [NOS] is not included in the stage group definition\n\n**Note 4:** Stage groups are based on histology, which is divided as follows \n* Squamous 8000-8046,8051-8131,8148-8157,8230-8249,8508,8510-8513,8560-8570,8575,8950,8980-8981 \n* Adenocarcinoma 8050,8140-8147,8160-8162,8170-8175,8180-8221,8250-8507,8514-8551,8571-8574,8576,8940-8941", - "last_modified" : "2018-05-14T21:29:02.281Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "DESCRIPTION" - }, { - "key" : "histology", - "name" : "Histology", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis\nTis", "N0,X\nNX", "M0\nM0", "1,9\n2-4", "Any Histology\nAdenocarcinoma" ], [ "1A", "IA", "T1,1a,1b\nT1,1a,1b", "N0\nN0", "M0\nM0", "1,9\n2", "Any Histology \nAdenocarcinoma" ], [ "1B", "IB", "T1,1a,1b\nT1,1a,1b\nT2 \nT2,3", "N0\nN0\nN0\nN0", "M0\nM0\nM0\nM0", "2 \n3,4 \n1,2,9\n1,9", "Squamous \nAny Histology \nAdenocarcinoma\nSquamous" ], [ "2A", "IIA", "T2 \nT2,3", "N0\nN0", "M0\nM0", "3,4\n2-4", "Adenocarcinoma\nSquamous" ], [ "2B", "IIB", "T3 \nT0 \nT1,1a,1b,2", "N0\nN1\nN1", "M0\nM0\nM0", "Any Grade\nAny Grade \nAny Grade", "Adenocarcinoma \nAdenocarcinoma \nAny Histology" ], [ "3", "III", "T0,X \nT4,4a", "N2\nNX", "M0\nM0", "Any Grade\nAny Grade", "Squamous \nSquamous" ], [ "3A", "IIIA", "T0 \nT1,1a,1b,2\nT3 \nT4,4a", "N2\nN2\nN1\nN0", "M0\nM0\nM0\nM0", "Any Grade\nAny Grade\nAny Grade\nAny Grade", "Adenocarcinoma\nAny Histology \nAny Histology \nAny Histology" ], [ "3B", "IIIB", "T3", "N2", "M0", "Any Grade", "Any Histology" ], [ "3C", "IIIC", "T4,4a \nT4b \nT0,1,1a,1b,2,3,4,4a,4b,X", "N1,2 \nAny N \nN3", "M0\nM0\nM0", "Any Grade\nAny Grade\nAny Grade", "Any Histology\nAny Histology\nAny Histology" ], [ "4", "IV", "T0,1,1a,1b,2,3,4,4a,4b,X", "Any N", "M1", "Any Grade", "Any Histology" ], [ "99", "Unknown", "T0 \nT0,1,1a,1b,2,3\nT4,4a \nTX \nTX", "N1 \nNX \nNX \nN0,1,X\nN2", "M0\nM0\nM0\nM0\nM0", "Any Grade\nAny Grade\nAny Grade\nAny Grade\nAny Grade", "Squamous \nAny Histology \nAdenocarcinoma \nAny Histology \nAdenocarcinoma" ], [ "88", "Not Applicable", "88", "88", "88", "Any Grade", "Any Histology" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_76410.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_76410.json deleted file mode 100644 index 8c071b7b8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_76410.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_76410", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group II - T2, N0, M0 - T2 is not included in the stage group definition\n* Stage Group III - T3, N0, M0 - T3 is not included in the stage group definition\n* Stage Group IV - T4b, NX, M0 - NX is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:34.693Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0A", "0a ", "Ta ", "N0,X ", "M0 " ], [ "0IS", "0is", "Tis ", "N0,X ", "M0 " ], [ "1", "I ", "T1 ", "N0 ", "M0 " ], [ "2", "II ", "T2", "N0 ", "M0 " ], [ "3", "III", "T3\nT4a", "N0\nN0", "M0\nM0" ], [ "4", "IV", "T4b \nT0,1,2,3,4,4a,4b,X\nT0,1,2,3,4,4a,4b,X", "N0,X \nN1-3 \nAny N", "M0 \nM0 \nM1" ], [ "99", "Unknown", "T0,1,2,3,4,4a,X\nT4,X", "NX\nN0", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_76779.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_76779.json deleted file mode 100644 index d7c122adf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_76779.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "id" : "stage_group_c_76779", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IV (as defined in the table)\n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IIA - T1, NX, M0 (Grade 3,4) - NX is not included in the stage group definition\n* Stage Group IIB - T2, NX, M0 (Grade 3,4) - NX is not included in the stage group definition \n* Stage Group III - T3, NX, M0 (Grade 3, 4) - NX is not included in the stage group definition\n* Stage Group IVA - Any T, NX, M1a, Any Grade - NX is not included in the stage group definition\n\n**Note 3:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA for non-Ewing histologies.\n* Stage Group IA - T1, NX, M0, Grade (1, 2, 9) - NX is not included in the stage group definition\n* Stage Group IB - (T2, T3), NX, M0, Grade (1, 2, 9) - NX is not included in the stage group definition \n\n**Note 4:** Ewing sarcoma (ICD-O-3 Histology 9260, 9364) is always classified as High Grade (3 or 4). Ewing sarcoma should NOT be assigned Stage group IA or IB.", - "last_modified" : "2022-07-13T21:21:37.395Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "DESCRIPTION" - }, { - "key" : "histology", - "name" : "Histology", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1A", "IA ", "T1 ", "N0,X", "M0 ", "1,2,9 ", "NOT 9260, 9364 (Not Ewing)" ], [ "1B", "IB ", "T2,3 ", "N0,X", "M0 ", "1,2,9 ", "NOT 9260, 9364 (Not Ewing)" ], [ "2A", "IIA", "T1 ", "N0,X", "M0 ", "3,4 ", "Any Histology " ], [ "2B", "IIB", "T2 ", "N0,X", "M0 ", "3,4 ", "Any Histology " ], [ "3", "III", "T3 ", "N0,X", "M0 ", "3,4 ", "Any Histology " ], [ "4", "IV ", "Any T", "N0,X", "M1 ", "Any Grade", "Any Histology " ], [ "4A", "IVA", "Any T", "N0,X", "M1a", "Any Grade", "Any Histology " ], [ "4B", "IVB", "Any T\nAny T", "N1 \nAny N", "M0,1,1a \nM1b", "Any Grade\nAny Grade", "Any Histology\nAny Histology" ], [ "99", "Unknown", "TX", "N0,X", "M0", "Any Grade", "Any Histology " ], [ "88", "Not Applicable", "88", "88", "88", "Any Grade", "Any Histology " ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_79525.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_79525.json deleted file mode 100644 index 8c8f5edde..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_79525.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_79525", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:04.399Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1 ", "N0 ", "M0" ], [ "2A", "IIA ", "T2 ", "N0 ", "M0" ], [ "2B", "IIB ", "T3 ", "N0 ", "M0" ], [ "3A", "IIIA", "T4 ", "N0 ", "M0" ], [ "3B", "IIIB", "Any T", "N1 ", "M0" ], [ "4", "IV", "Any T", "Any N", "M1" ], [ "99", "Unknown", "Any T\nTX", "NX\nN0", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_82556.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_82556.json deleted file mode 100644 index 04e17d17d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_82556.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_82556", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group II (as defined in the table)", - "last_modified" : "2022-07-13T21:21:35.637Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0" ], [ "1A", "IA ", "T1 ", "N0 ", "M0" ], [ "1B", "IB ", "T2 ", "N0 ", "M0" ], [ "2", "II ", "T3 ", "NX ", "M0" ], [ "2A", "IIA ", "T3 ", "N0 ", "M0" ], [ "2B", "IIB ", "T1-3 ", "N1 ", "M0" ], [ "3", "III ", "T4 ", "Any N", "M0" ], [ "4", "IV ", "T0-4,X", "Any N", "M1" ], [ "99", "Unknown", "T0 \nT0-2\nTX", "N1 \nNX \nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_83264.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_83264.json deleted file mode 100644 index 67357c617..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_83264.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_c_83264", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The stage group below is valid in AJCC 7th edition, but not UICC. Approved by UICC.\n* Stage III - Any T, Any N, M1, SX\n\n**Note 3:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group III - Any T, Any N, M1, S0-S3 - M1 is not included in the stage group definition\n\n**Note 4:** Serum Tumor Markers are used to calculate S Stage. They can be found in the following site-specific factors\n* **SSF 13: Post-Orchiectomy Alpha Fetoprotein (AFP) Range** \n* **SSF 15: Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Range** \n* **SSF 16: Post-Orchiectomy Lactate Dehydrogenase (LDH) Range** \n \nThe S Stage is set using the following logic\n* SX - Serum marker studies not available \n* S0 - Serum marker study levels within normal limits \n* S1 - LDH: < 1.5 x N AND hCG: < 5000 AND AFP < 1000 \n* S2 - LDH: 1.5 to 10 x N OR hCG: 5000 to 50,000 OR AFP: 1000 to 10,000 \n* S3 - LDH: > 10 x N OR hCG: > 50,000 OR AFP: > 10,000", - "last_modified" : "2022-07-13T21:21:56.779Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "s_stage", - "name" : "S Stage", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "T4", "N0 ", "M0", "SX" ], [ "1B", "IB ", "T4", "N0 ", "M0", "S0" ], [ "1S", "IS ", "T4,X", "N0 ", "M0", "S1-S3" ], [ "2", "II ", "T4,X", "N1-3", "M0", "SX" ], [ "2A", "IIA", "T4,X", "N1 ", "M0", "S0,S1" ], [ "2B", "IIB", "T4,X", "N2 ", "M0", "S0,S1" ], [ "2C", "IIC", "T4,X", "N3 ", "M0", "S0,S1" ], [ "3", "III", "T4,X\nT4,X", "Any N\nAny N", "M1 \nM1a", "Any\nSX" ], [ "3A", "IIIA", "T4,X", "Any N", "M1a", "S0,S1" ], [ "3B", "IIIB", "T4,X\nT4,X", "N1-3 \nAny N", "M0 \nM1a", "S2\nS2" ], [ "3C", "IIIC", "T4,X\nT4,X\nT4,X", "N1-3 \nAny N\nAny N", "M0 \nM1a\nM1b", "S3\nS3\nAny" ], [ "99", "Unknown", "T4,X\nTX", "NX \nN0", "M0\nM0", "Any\nS0,SX" ], [ "88", "Not Applicable", "88", "88", "88", "Any" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_85588.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_85588.json deleted file mode 100644 index 4ccf9b14c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_85588.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_85588", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IV (as defined in the table)\n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n * Stage Group IVA -T0, (N2 [NOS], N2a-N2c), M0 - T0 is not included in the stage group definition\n\n**Note 3:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:00.137Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1", "N0", "M0" ], [ "2", "II", "T2", "N0", "M0" ], [ "3", "III", "T3 \nT1-3", "N0\nN1", "M0\nM0" ], [ "4", "IV", "T4,4a\nT4 \nTX", "NX \nN0,1,2,2a-2c\nN2,2a-2c", "M0\nM0\nM0" ], [ "4A", "IVA", "T4a \nT0-3,4a", "N0,1 \nN2,2a-2c", "M0\nM0" ], [ "4B", "IVB", "T4b \nAny T", "Any N\nN3", "M0\nM0" ], [ "4C", "IVC", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0 \nT1-3\nTX", "N1,X \nNX \nN0,1,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_86666.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_86666.json deleted file mode 100644 index 3478ced12..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_86666.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_c_86666", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III\n\n**Note 2:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:01.123Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1,2", "N0,X", "M0", "000-050,988,990" ], [ "2", "II", "T3 ", "N0,X", "M0", "000-050,988,990" ], [ "3", "III", "T4 ", "N0,X", "M0", "996,998,999 " ], [ "3A", "IIIA", "T1\nT4", "N0,X\nN0,X", "M0\nM0", "051-110,991 \n000-050,988,990" ], [ "3B", "IIIB", "T2-4", "N0,X", "M0", "051-110,991 " ], [ "4", "IV", "Any T\nAny T", "N1 \nAny N", "M0\nM1", "Any Rate\nAny Rate" ], [ "99", "Unknown", "T1-3\nTX", "N0,X\nN0,X", "M0\nM0", "996,998,999\nAny Rate" ], [ "88", "Not Applicable", "88", "88", "88", "Any Rate " ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_89731.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_89731.json deleted file mode 100644 index b69cd0785..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_89731.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_89731", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)\n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IIA - T2, N0, M0 - T2 is not included in the stage group definition\n* Stage Group IIB - T3, N0, M0 - T3 is not included in the stage group definition\n\n**Note 3:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2022-07-13T21:21:55.037Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "T1a ", "N0", "M0" ], [ "2A", "IIA ", "T1b,1c,2,2a", "N0", "M0" ], [ "2B", "IIB ", "T3,3a ", "N0", "M0" ], [ "3", "III ", "T4 ", "N0", "M0" ], [ "3A", "IIIA", "T4a ", "N0", "M0" ], [ "3B", "IIIB", "T4b ", "N0", "M0" ], [ "4", "IV", "Any T \nAny T", "N1 \nAny N", "M0 \nM1,1a-1c" ], [ "99", "Unknown", "T1,X\nAny T", "N0\nNX", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_90191.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_90191.json deleted file mode 100644 index 71f709e7d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_90191.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_90191", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group III - T0, N1, M0 - T0 is not included in the stage group definition.\n* Stage Group III - T3, NX, M0 - NX is not included in the stage group definition.", - "last_modified" : "2018-05-14T21:29:06.748Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X", "M0" ], [ "1", "I", "T1", "N0 ", "M0" ], [ "2", "II", "T2", "N0 ", "M0" ], [ "3", "III", "T3 \nT0-2", "Any N\nN1", "M0\nM0" ], [ "4A", "IVA", "T4 ", "Any N", "M0" ], [ "4B", "IVB", "T0-4,X", "Any N", "M1" ], [ "99", "Unknown", "T0-2\nTX", "NX\nAny N", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_92535.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_92535.json deleted file mode 100644 index 4c2e869fe..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_92535.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_92535", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group II (as defined in the table)\n* Stage Group III (as defined in the table)\n\n**Note 2:** The TNM combinations below are valid in UICC 7th edition, but not AJCC 7th edition.\n* Stage Group IIIB - (TX, T0, T1, T2), N3, M0\n* Stage Group IV - Any T, Any N, M1 \n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IA - T1, N0, M0 - T1 is not included in the stage group definition\n* Stage Group IIA - T1, N1, M0 - T1 is not included in the stage group definition\n* Stage Group IIIA - (T1, T2), N2, M0 - T1 and T2 are not included in the stage group definition\n\n**Note 4:** The combination TX, N0, M0 can either be Occult (OC) or Unknown (99), depending on the reason for TX. You must select a value for Stage Group if you have this combination in Lung.", - "last_modified" : "2018-05-14T21:29:00.836Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "OC", "Occult", "TX ", "N0 ", "M0" ], [ "0", "0", "Tis ", "N0,X", "M0" ], [ "1A", "IA", "T1,1a,1b", "N0 ", "M0" ], [ "1B", "IB", "T2a ", "N0 ", "M0" ], [ "2", "II", "T2 ", "N1 ", "M0" ], [ "2A", "IIA", "T2b \nT1,1a,1b,2a", "N0\nN1", "M0\nM0" ], [ "2B", "IIB", "T2b\nT3", "N1\nN0", "M0\nM0" ], [ "3", "III", "T0,X\nT4", "N2\nNX", "M0\nM0" ], [ "3A", "IIIA", "T1,1a,1b,2,2a,2b \nT3 \nT4", "N2 \nN1,2\nN0,1", "M0\nM0\nM0" ], [ "3B", "IIIB", "T4 \nT0,1,1a,1b,2,2a,2b,3,4,X", "N2\nN3", "M0\nM0" ], [ "4", "IV", "T0,1,1a,1b,2,2a,2b,3,4,X", "Any N", "M1,1a,1b " ], [ "99", "Unknown", "T0 \nT1,1a,1b,2,2a,2b,3\nT2 \nTX\nTX", "N1,X\nNX \nN0 \nN1,X\nN0", "M0\nM0\nM0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_93818.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_93818.json deleted file mode 100644 index 5ba8e275a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_93818.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_93818", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)\n\n**Note 2:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:00.096Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1a ", "N0", "M0" ], [ "2A", "IIA", "T1b-1d,2a ", "N0", "M0" ], [ "2B", "IIB", "T2b,3a ", "N0", "M0" ], [ "3", "III", "T4 ", "N0", "M0" ], [ "3A", "IIIA", "T2c,2d\nT3b,3c\nT4a", "N0\nN0\nN0", "M0\nM0\nM0" ], [ "3B", "IIIB", "T3d \nT4b,4c", "N0\nN0", "M0\nM0" ], [ "3C", "IIIC", "T4d,4e", "N0", "M0" ], [ "4", "IV", "Any T \nAny T", "N1 \nAny N", "M0 \nM1,1a-1c" ], [ "99", "Unknown", "T1-3,X\nAny T", "N0\nNX", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_95471.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_95471.json deleted file mode 100644 index 03b1ada39..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_95471.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_c_95471", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.\n* Stage Group IV (as defined in this table)\n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group IVA -T0, (N2 [NOS], N2a-N2c), M0 - T0 is not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:01.018Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis ", "N0,X", "M0" ], [ "1", "I", "T1,1a,1b", "N0", "M0" ], [ "2", "II", "T2 ", "N0", "M0" ], [ "3", "III", "T1,1a,1b,2,3\nT3", "N1\nN0", "M0\nM0" ], [ "4", "IV", "T4,4a\nT4 \nTX", "NX \nN0,1,2,2a-2c \nN2,2a-2c", "M0\nM0\nM0" ], [ "4A", "IVA", "T0,1,1a,1b,2,3\nT4a", "N2,2a-2c \nN0,1,2,2a-2c", "M0\nM0" ], [ "4B", "IVB", "T4b \nT0,1,1a,1b,2,3,4,4a,4b,X", "Any N \nN3", "M0\nM0" ], [ "4C", "IVC", "T0,1,1a,1b,2,3,4,4a,4b,X", "Any N", "M1" ], [ "99", "Unknown", "T0 \nT0,1,1a,1b,2,3\nTX", "N1 \nNX \nN0,1,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_96502.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_96502.json deleted file mode 100644 index 4d4f5a6df..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_c_96502.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "id" : "stage_group_c_96502", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (c)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.\n* Stage Group III\n\n**Note 2:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:01.039Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "DESCRIPTION" - }, { - "key" : "ssf10", - "name" : "Location (SSF10)", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1,2", "N0,X", "M0", "000-050,988,990", "010,030,040,998,999" ], [ "1A", "IA", "T1,2", "N0,X", "M0", "000-050,988,990", "020 " ], [ "1B", "IB", "T3 ", "N0,X", "M0", "000-050,988,990", "020 " ], [ "2", "II", "T3 \nT4 \nT1,2", "N0,X\nN0,X\nN0,X", "M0\nM0\nM0", "000-050,988,990\n000-050,988,990\n051-110,991", "010,030,040,998,999\n020 \n020" ], [ "3", "III", "T4 ", "N0,X", "M0", "996,998,999 ", "010,030,040,998,999" ], [ "3A", "IIIA", "T4\nT1\nT3", "N0,X\nN0,X\nN0,X", "M0\nM0\nM0", "000-050,988,990\n051-110,991 \n051-110,991", "010,030,040,998,999\n010,030,040,998,999\n020" ], [ "3B", "IIIB", "T2-4\nT4", "N0,X\nN0,X", "M0\nM0", "051-110,991\n051-110,991", "010,030,040,998,999\n020" ], [ "4", "IV", "Any T\nAny T", "N1 \nAny N", "M0\nM1", "Any Rate\nAny Rate", "Any\nAny" ], [ "99", "Unknown", "T1-3\nT4 \nTX", "N0,X\nN0,X\nN0,X", "M0\nM0\nM0", "996,998,999\n996,998,999\nAny Rate", "Any\n020\nAny" ], [ "88", "Not Applicable", "88", "88", "88", "Any Rate ", "Any" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_c_60180.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_c_60180.json deleted file mode 100644 index a236830be..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_c_60180.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "stage_group_lymphoma_c_60180", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group Lymphoma (c)", - "title" : "Stage Group Lymphoma (c)", - "notes" : "**Note 1:** Clinical stage describes the anatomic extent of Hodgkin and non-Hodgkin lymphoma and forms the basis for treatment decision. It is determined by history, clinical examination, imaging, and blood analysis. (1)\n* Bone marrow biopsy is indicated in selected cases and must be taken from a clinically or radiologically or non-involved area of bone\n\n**Note 2:** The lymphatic structures are as follows\n* Lymph nodes (C770-C779)\n* Waldeyer's ring (tonsils) (C024, C090-C099, C111, C142)\n* Spleen (C422)\n* Thymus (C379)\n \n**Note 3:** Spleen involvement only (C422) is a lymphatic site (structure); however, it is noted differently. \n* If only the spleen is involved, assign 2: S (Spleen, lymphomas, only) in the **Clinical Stage (Prefix/Suffix) Descriptor**\n\n**Note 4:** Spleen involvement with a lymphatic or extralymphatic primary site is accepted if there is palpable enlargement of the spleen confirmed by imaging.(1)\n\n**Note 5:** Extralymphatic sites include all other sites (e.g., stomach, colon, breast, nasopharynx). \n* If an extralymphatic site is involved, assign 1: E (Extranodal, lymphomas, only) in the **Clinical Stage (Prefix/Suffix) Descriptor**\n\n**Note 6:** If there is an extralymphatic site that also has Spleen involvement, assign 5: E (Extranodal and spleen, lymphomas, only) in the **Clinical Stage (Prefix/Suffix) Descriptor**.\n\n**Note 7:** Lung involvement limited to one lobe, or perihilar extension associated with ipsilateral lymphadenopathy, or unilateral pleural effusion with or without lung involvement but with hilar lymphadenopathy is classified as localized extralymphatic disease.(1)\n\n**Note 8:** Any mention of the terms including fixed, matted, mass in the hilum, mediastinum, retroperitoneum, and/or mesentery, palpable, enlarged, shotty, lymphadenopathy are all regarded as involvement for lymphomas when assigning stage.\n\n**Note 9:** Clinical evidence of liver involvement must include either enlargement of the liver and at least an abnormal serum alkaline phosphatase level and two different liver function test abnormalities, or an abnormal liver demonstrated by imaging and one abnormal liver function test. (1)\n\n**Note 10:** Each stage should be divided into A and B according to the absence or presence of defined general symptoms. These are\n* Unexplained weight loss of more than 10% of the usual body weight in the 6 months prior to first attendance\n* Unexplained fever with temperature above 38 degree C\n * Night sweats\n\n**Note 11:**: Pruritus alone does not qualify for B classification nor does a short, febrile illness associated with a known infection.\n\n**Note 12:** See **Site-Specific Factor #2, Systemic Symptoms at Diagnosis** to code the presence or absence of B symptoms.", - "last_modified" : "2018-05-14T21:29:01.598Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Stage I", "Involvement of a single lymphatic site (i.e., nodal region, Waldeyer’s ring, thymus or spleen) (I) OR\n\nLocalized involvement of a single extralymphatic organ or site in the absence of any lymph node involvement (IE) (rare in Hodgkin lymphoma)", "Presence of B symptoms unknown AND stated as Stage I, IE or IS" ], [ "1A", "Stage IA", "Involvement of a single lymphatic site (i.e., nodal region, Waldeyer’s ring, thymus or spleen) (I) OR\n\nLocalized involvement of a single extralymphatic organ or site in the absence of any lymph node involvement (IE) (rare in Hodgkin lymphoma)\n\nWITHOUT B symptoms", "Stated as Stage IA, IEA or ISA" ], [ "1B", "Stage IB", "Involvement of a single lymphatic site (i.e., nodal region, Waldeyer’s ring, thymus or spleen) (I) OR\n\nLocalized involvement of a single extralymphatic organ or site in the absence of any lymph node involvement (IE) (rare in Hodgkin lymphoma)\n\nWITH B symptoms", "Stated as Stage IB, IEB or ISB" ], [ "2", "Stage II", "Involvement of two or more lymph node regions on the same side of the diaphragm (II) OR\n\nLocalized involvement of a single extralymphatic organ or site in association with regional lymph node involvement WITH or WITHOUT involvement of other lymph node regions on the same side of the diaphragm (IIE)", "Note: The number of lymph node regions involvement may be indicated by a subscript. The number of involved regions is not coded by cancer registries.\n\nPresence of B symptoms unknown AND stated as Stage II, IIE, IIS, or IIES" ], [ "2A", "Stage IIA", "Involvement of two or more lymph node regions on the same side of the diaphragm (II) OR\n\nLocalized involvement of a single extralymphatic organ or site in association with regional lymph node involvement WITH or WITHOUT involvement of other lymph node regions on the same side of the diaphragm (IIE)\n\nWITHOUT B symptoms", "IIA, IIEA, IISA, or IIESA" ], [ "2B", "Stage IIB", "Involvement of two or more lymph node regions on the same side of the diaphragm (II) OR\n\nLocalized involvement of a single extralymphatic organ or site in association with regional lymph node involvement WITH or WITHOUT involvement of other lymph node regions on the same side of the diaphragm (IIE)\n\nWITH B symptoms", "IIB, IIEB, IISB, or IIESB" ], [ "3", "Stage III", "Involvement of lymph node regions on both sides of the diaphragm (III), which also may be accompanied by extralymphatic extension in association with adjacent lymph node involvement (IIIE) or by involvement of the spleen (IIIS) or both (IIIE,S). Splenic involvement is designated by the letter S", "Presence of B symptoms unknown AND stated as Stage III, IIIE, IIIS or IIIES" ], [ "3A", "Stage IIIA", "Involvement of lymph node regions on both sides of the diaphragm (III), which also may be accompanied by extralymphatic extension in association with adjacent lymph node involvement (IIIE) or by involvement of the spleen (IIIS) or both (IIIE,S). Splenic involvement is designated by the letter S\n\nWITHOUT B symptoms", "Stated as Stage IIIA, IIIEA, IIISA or IIIESA" ], [ "3B", "Stage IIIB", "Involvement of lymph node regions on both sides of the diaphragm (III), which also may be accompanied by extralymphatic extension in association with adjacent lymph node involvement (IIIE) or by involvement of the spleen (IIIS) or both (IIIE,S). Splenic involvement is designated by the letter S\n\nWITH B Symptoms", "Stated as Stage IIIB, IIIEB, IIISB or IIIESB" ], [ "4", "Stage IV", "Diffuse or disseminated involvement of one or more extralymphatic organs, WITH or WITHOUT associated lymph node involvement OR\n\nStage IV includes any involvement of the liver or bone marrow, lungs (other than by direct extension from another site), or cerebrospinal fluid", "Presence of B symptoms unknown AND stated as Stage IV" ], [ "4A", "Stage IVA", "Diffuse or disseminated involvement of one or more extralymphatic organs, WITH or WITHOUT associated lymph node involvement OR\n\nStage IV includes any involvement of the liver or bone marrow, lungs (other than by direct extension from another site), or cerebrospinal fluid\n\nWITHOUT B symptoms", "Stated as Stage IVA" ], [ "4B", "Stage IVB", "Diffuse or disseminated involvement of one or more extralymphatic organs, WITH or WITHOUT associated lymph node involvement OR\n\nStage IV includes any involvement of the liver or bone marrow, lungs (other than by direct extension from another site), or cerebrospinal fluid\n\nWITH B symptoms", "Stated as Stage IVB" ], [ "99", "Stage Unknown", "Unknown, stage group not stated\nNot documented in patient record", "No staging laparotomy done" ], [ "88", "Not applicable", "Not applicable", "Death certificate only (DCO) case" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_c_86297.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_c_86297.json deleted file mode 100644 index 65454bb37..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_c_86297.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "stage_group_lymphoma_ocular_adnexa_c_86297", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group Lymphoma Ocular Adnexa (c)", - "title" : "Stage Group Lymphoma (c)", - "notes" : "**Note 1:** Clinical stage describes the anatomic extent of Hodgkin and non-Hodgkin lymphoma and forms the basis for treatment decision. It is determined by history, clinical examination, imaging, and blood analysis. \n* Bone marrow biopsy is indicated in selected cases and must be taken from a clinically or radiologically or non-involved area of bone(1)\n\n**Note 2:** The lymphatic structures are as follows\n* Lymph nodes (C770-C779)\n* Waldeyer's ring (tonsils) (C024, C090-C099, C111, C142)\n* Spleen (C422)\n* Thymus (C379)\n \n**Note 3:** Spleen involvement only (C422) is a lymphatic site (structure); however, it is noted differently. \n* If only the spleen is involved, assign 2: S (Spleen, lymphomas, only) in the **Clinical Stage (Prefix/Suffix) Descriptor**\n\n**Note 4:** Spleen involvement with a lymphatic or extralymphatic primary site is accepted if there is palpable enlargement of the spleen confirmed by imaging. (1)\n\n**Note 5:** Extralymphatic sites include all other sites (e.g., stomach, colon, breast, nasopharynx). \n* If an extralymphatic site is involved, assign 1: E (Extranodal, lymphomas, only) in the **Clinical Stage (Prefix/Suffix) Descriptor**\n\n**Note 6:** If there is an extralymphatic site that also has Spleen involvement, assign 5: E (Extranodal and spleen, lymphomas, only) in the **Clinical Stage (Prefix/Suffix) Descriptor**. \n\n**Note 7:** Lung involvement limited to one lobe, or perihilar extension associated with ipsilateral lymphadenopathy, or unilateral pleural effusion with or without lung involvement but with hilar lymphadenopathy is classified as localized extralymphatic disease. (1)\n\n**Note 8:** Any mention of the terms including fixed, matted, mass in the hilum, mediastinum, retroperitoneum, and/or mesentery, palpable, enlarged, shotty, lymphadenopathy are all regarded as involvement for lymphomas when assigning stage.\n\n**Note 9:** Clinical evidence of liver involvement must include either enlargement of the liver and at least an abnormal serum alkaline phosphatase level and two different liver function test abnormalities, or an abnormal liver demonstrated by imaging and one abnormal liver function test. (1)\n\n**Note 10:** Each stage should be divided into A and B according to the absence or presence of defined general symptoms. These are\n* Unexplained weight loss of more than 10% of the usual body weight in the 6 months prior to first attendance\n* Unexplained fever with temperature above 38 degree C\n* Night sweats\n\n**Note 11:** Pruritus alone does not qualify for B classification nor does a short, febrile illness associated with a known infection.\n\n**Note 12:** See **Site-Specific Factor #2, Systemic Symptoms at Diagnosis** to code the presence or absence of B symptoms.", - "last_modified" : "2018-05-14T21:29:01.389Z", - "definition" : [ { - "key" : "clin_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Stage I", "Involvement of a single lymphatic site (i.e., nodal region, Waldeyer’s ring, thymus or spleen) (I) OR\n\nLocalized involvement of a single extralymphatic organ or site in the absence of any lymph node involvement (IE) (rare in Hodgkin lymphoma)", "Presence of B symptoms unknown AND stated as Stage I, IE or IS" ], [ "1A", "Stage IA", "Involvement of a single lymphatic site (i.e., nodal region, Waldeyer’s ring, thymus or spleen) (I) OR\n\nLocalized involvement of a single extralymphatic organ or site in the absence of any lymph node involvement (IE) (rare in Hodgkin lymphoma)\n\nWITHOUT B symptoms", "Stated as Stage IA, IEA or ISA" ], [ "1B", "Stage IB", "Involvement of a single lymphatic site (i.e., nodal region, Waldeyer’s ring, thymus or spleen) (I) OR\n\nLocalized involvement of a single extralymphatic organ or site in the absence of any lymph node involvement (IE) (rare in Hodgkin lymphoma)\n\nWITH B symptoms", "Stated as Stage IB, IEB or ISB" ], [ "2", "Stage II", "Involvement of two or more lymph node regions on the same side of the diaphragm (II) OR\n\nLocalized involvement of a single extralymphatic organ or site in association with regional lymph node involvement WITH or WITHOUT involvement of other lymph node regions on the same side of the diaphragm (IIE)", "Note: The number of lymph node regions involvement may be indicated by a subscript. The number of involved regions is not coded by cancer registries\n\nPresence of B symptoms unknown AND stated as Stage II, IIE, IIS, or IIES" ], [ "2A", "Stage IIA", "Involvement of two or more lymph node regions on the same side of the diaphragm (II) OR\n\nLocalized involvement of a single extralymphatic organ or site in association with regional lymph node involvement WITH or WITHOUT involvement of other lymph node regions on the same side of the diaphragm (IIE)\n\nWITHOUT B symptoms", "IIA, IIEA, IISA, or IIESA" ], [ "2B", "Stage IIB", "Involvement of two or more lymph node regions on the same side of the diaphragm (II) OR\n\nLocalized involvement of a single extralymphatic organ or site in association with regional lymph node involvement WITH or WITHOUT involvement of other lymph node regions on the same side of the diaphragm (IIE)\n\nWITH B symptoms", "IIB, IIEB, IISB, or IIESB" ], [ "3", "Stage III", "Involvement of lymph node regions on both sides of the diaphragm (III), which also may be accompanied by extralymphatic extension in association with adjacent lymph node involvement (IIIE) or by involvement of the spleen (IIIS) or both (IIIE,S). Splenic involvement is designated by the letter S", "Presence of B symptoms unknown AND stated as Stage III, IIIE, IIIS or IIIES" ], [ "3A", "Stage IIIA", "Involvement of lymph node regions on both sides of the diaphragm (III), which also may be accompanied by extralymphatic extension in association with adjacent lymph node involvement (IIIE) or by involvement of the spleen (IIIS) or both (IIIE,S). Splenic involvement is designated by the letter S\n\nWITHOUT B symptoms", "Stated as Stage IIIA, IIIEA, IIISA or IIIESA" ], [ "3B", "Stage IIIB", "Involvement of lymph node regions on both sides of the diaphragm (III), which also may be accompanied by extralymphatic extension in association with adjacent lymph node involvement (IIIE) or by involvement of the spleen (IIIS) or both (IIIE,S). Splenic involvement is designated by the letter S\n\nWITH B Symptoms", "Stated as Stage IIIB, IIIEB, IIISB or IIIESB" ], [ "4", "Stage IV", "Diffuse or disseminated involvement of one or more extralymphatic organs, WITH or WITHOUT associated lymph node involvement OR\n\nStage IV includes any involvement of the liver or bone marrow, lungs (other than by direct extension from another site), or cerebrospinal fluid", "Presence of B symptoms unknown AND stated as Stage IV" ], [ "4A", "Stage IVA", "Diffuse or disseminated involvement of one or more extralymphatic organs, WITH or WITHOUT associated lymph node involvement OR\n\nStage IV includes any involvement of the liver or bone marrow, lungs (other than by direct extension from another site), or cerebrospinal fluid\n\nWITHOUT B symptoms", "Stated as Stage IVA" ], [ "4B", "Stage IVB", "Diffuse or disseminated involvement of one or more extralymphatic organs, WITH or WITHOUT associated lymph node involvement OR\n\nStage IV includes any involvement of the liver or bone marrow, lungs (other than by direct extension from another site), or cerebrospinal fluid\n\nWITH B symptoms", "Stated as Stage IVB" ], [ "99", "Stage Unknown", "Unknown, stage group not stated\nNot documented in patient record", "No staging laparotomy done" ], [ "88", "Not applicable", "Not applicable", "Death certificate only (DCO) case" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_p_45342.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_p_45342.json deleted file mode 100644 index 1ccfc4b64..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_ocular_adnexa_p_45342.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "stage_group_lymphoma_ocular_adnexa_p_45342", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group Lymphoma Ocular Adnexa (p)", - "title" : "Stage Group Lymphoma (p)", - "notes" : "**Note 1:** Pathologic stage follows clinical stage with clinical information supplemented by the information obtained from staging laparotomy and splenectomy. Since the current approach to treatment almost always includes systemic treatment, staging laparotomy is no longer performed and pathologic staging is usually not available. (1)\n* Staging laparotomies include: laparotomy/laparoscopy, splenectomy, liver, lymph node & bone marrow biopsies. All of these must be done to qualify as a staging laparotomy\n* If a staging laparotomy is not performed, pathologic stage group is coded as 99\n\n**Note 2:** The lymphatic structures are as follows\n* Lymph nodes (C770-C779)\n* Waldeyer's ring (tonsils) (C024, C090-C099, C111, C142)\n* Spleen (C422)\n* Thymus (C379)\n \n**Note 3:** Spleen involvement only (C422) is a lymphatic site (structure); however, it is noted differently. \n* If only the spleen is involved, assign 2: S (Spleen, lymphomas, only) in the **Pathologic Stage (Prefix/Suffix) Descriptor**\n\n**Note 4:** Spleen involvement with a lymphatic or extralymphatic primary site is accepted if there is palpable enlargement of the spleen confirmed by imaging. (1)\n\n**Note 5:** Extralymphatic sites include all other sites (e.g., stomach, colon, breast, nasopharynx). \n* If an extralymphatic site is involved, assign 1: E (Extranodal, lymphomas, only) in the **Pathologic Stage (Prefix/Suffix) Descriptor**\n\n**Note 6:** If there is an extralymphatic site that also has Spleen involvement, assign 5: E (Extranodal and spleen, lymphomas, only) in the **Pathologic Stage (Prefix/Suffix) Descriptor**. \n\n**Note 7:** Lung involvement limited to one lobe, or perihilar extension associated with ipsilateral lymphadenopathy, or unilateral pleural effusion with or without lung involvement but with hilar lymphadenopathy is classified as localized extralymphatic disease. (1)\n\n**Note 8:** Any mention of the terms including fixed, matted, mass in the hilum, mediastinum, retroperitoneum, and/or mesentery, palpable, enlarged, shotty, lymphadenopathy are all regarded as involvement for lymphomas when assigning stage.\n\n**Note 9:** Clinical evidence of liver involvement must include either enlargement of the liver and at least an abnormal serum alkaline phosphatase level and two different liver function test abnormalities, or an abnormal liver demonstrated by imaging and one abnormal liver function test. (1)\n\n**Note 10:** Each stage should be divided into A and B according to the absence or presence of defined general symptoms. These are\n* Unexplained weight loss of more than 10% of the usual body weight in the 6 months prior to first attendance\n* Unexplained fever with temperature above 38 degree C\n* Night sweats\n\n**Note 11:** Pruritus alone does not qualify for B classification nor does a short, febrile illness associated with a known infection.\n\n**Note 12:** See **Site-Specific Factor #2, Systemic Symptoms at Diagnosis** to code the presence or absence of B symptoms.", - "footnotes" : "(1) International Union Against Cancer (UICC) TNM Classification of Malignant Tumors, 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pgs., 184, 185", - "last_modified" : "2018-05-14T21:29:01.137Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Stage I", "Involvement of a single lymphatic site (i.e., nodal region, Waldeyer’s ring, thymus or spleen) (I) OR\n\nLocalized involvement of a single extralymphatic organ or site in the absence of any lymph node involvement (IE) (rare in Hodgkin lymphoma)", "Presence of B symptoms unknown AND stated as Stage I, IE or IS" ], [ "1A", "Stage IA", "Involvement of a single lymphatic site (i.e., nodal region, Waldeyer’s ring, thymus or spleen) (I) OR\n\nLocalized involvement of a single extralymphatic organ or site in the absence of any lymph node involvement (IE) (rare in Hodgkin lymphoma)\n\nWITHOUT B symptoms", "Stated as Stage IA, IEA or ISA" ], [ "1B", "Stage IB", "Involvement of a single lymphatic site (i.e., nodal region, Waldeyer’s ring, thymus or spleen) (I) OR\n\nLocalized involvement of a single extralymphatic organ or site in the absence of any lymph node involvement (IE) (rare in Hodgkin lymphoma)\n\nWITH B symptoms", "Stated as Stage IB, IEB or ISB" ], [ "2", "Stage II", "Involvement of two or more lymph node regions on the same side of the diaphragm (II) OR\n\nLocalized involvement of a single extralymphatic organ or site in association with regional lymph node involvement WITH or WITHOUT involvement of other lymph node regions on the same side of the diaphragm (IIE)", "Note: The number of lymph node regions involvement may be indicated by a subscript. The number of involved regions is not coded by cancer registries\n\nPresence of B symptoms unknown AND stated as Stage II, IIE, IIS, or IIES" ], [ "2A", "Stage IIA", "Involvement of two or more lymph node regions on the same side of the diaphragm (II) OR\n\nLocalized involvement of a single extralymphatic organ or site in association with regional lymph node involvement WITH or WITHOUT involvement of other lymph node regions on the same side of the diaphragm (IIE)\n\nWITHOUT B symptoms", "IIA, IIEA, IISA, or IIESA" ], [ "2B", "Stage IIB", "Involvement of two or more lymph node regions on the same side of the diaphragm (II) OR\n\nLocalized involvement of a single extralymphatic organ or site in association with regional lymph node involvement WITH or WITHOUT involvement of other lymph node regions on the same side of the diaphragm (IIE)\n\nWITH B symptoms", "IIB, IIEB, IISB, or IIESB" ], [ "3", "Stage III", "Involvement of lymph node regions on both sides of the diaphragm (III), which also may be accompanied by extralymphatic extension in association with adjacent lymph node involvement (IIIE) or by involvement of the spleen (IIIS) or both (IIIE,S). Splenic involvement is designated by the letter S", "Presence of B symptoms unknown AND stated as Stage III, IIIE, IIIS or IIIES" ], [ "3A", "Stage IIIA", "Involvement of lymph node regions on both sides of the diaphragm (III), which also may be accompanied by extralymphatic extension in association with adjacent lymph node involvement (IIIE) or by involvement of the spleen (IIIS) or both (IIIE,S). Splenic involvement is designated by the letter S\n\nWITHOUT B symptoms", "Stated as Stage IIIA, IIIEA, IIISA or IIIESA" ], [ "3B", "Stage IIIB", "Involvement of lymph node regions on both sides of the diaphragm (III), which also may be accompanied by extralymphatic extension in association with adjacent lymph node involvement (IIIE) or by involvement of the spleen (IIIS) or both (IIIE,S). Splenic involvement is designated by the letter S\n\nWITH B Symptoms", "Stated as Stage IIIB, IIIEB, IIISB or IIIESB" ], [ "4", "Stage IV", "Diffuse or disseminated involvement of one or more extralymphatic organs, WITH or WITHOUT associated lymph node involvement OR\n\nStage IV includes any involvement of the liver or bone marrow, lungs (other than by direct extension from another site), or cerebrospinal fluid", "Presence of B symptoms unknown AND stated as Stage IV" ], [ "4A", "Stage IVA", "Diffuse or disseminated involvement of one or more extralymphatic organs, WITH or WITHOUT associated lymph node involvement OR\n\nStage IV includes any involvement of the liver or bone marrow, lungs (other than by direct extension from another site), or cerebrospinal fluid\n\nWITHOUT B symptoms", "Stated as Stage IVA" ], [ "4B", "Stage IVB", "Diffuse or disseminated involvement of one or more extralymphatic organs, WITH or WITHOUT associated lymph node involvement OR\n\nStage IV includes any involvement of the liver or bone marrow, lungs (other than by direct extension from another site), or cerebrospinal fluid\n\nWITH B symptoms", "Stated as Stage IVB" ], [ "99", "Stage Unknown", "Unknown, stage group not stated\nNot documented in patient record", "No staging laparotomy done" ], [ "88", "Not applicable", "Not applicable", "Death certificate only (DCO) case" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_p_48657.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_p_48657.json deleted file mode 100644 index 8ecb8f9a1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_lymphoma_p_48657.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "stage_group_lymphoma_p_48657", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group Lymphoma (p)", - "title" : "Stage Group Lymphoma (p)", - "notes" : "**Note 1:** Pathologic stage follows clinical stage with clinical information supplemented by the information obtained from staging laparotomy and splenectomy. Since the current approach to treatment almost always includes systemic treatment, staging laparotomy is no longer performed and pathologic staging is usually not available. (1)\n* Staging laparotomies include: laparotomy/laparoscopy, splenectomy, liver, lymph node & bone marrow biopsies. All of these must be done to qualify as a staging laparotomy\n* If a staging laparotomy is not performed, pathologic stage group is coded as 99\n\n**Note 2:** The lymphatic structures are as follows\n* Lymph nodes (C770-C779)\n* Waldeyer's ring (tonsils) (C024, C090-C099, C111, C142)\n* Spleen (C422)\n* Thymus (C379)\n \n**Note 3:** Spleen involvement only (C422) is a lymphatic site (structure); however, it is noted differently. \n* If only the spleen is involved, assign 2: S (Spleen, lymphomas, only) in the **Pathologic Stage (Prefix/Suffix) Descriptor**\n\n**Note 4:** Spleen involvement with a lymphatic or extralymphatic primary site is accepted if there is palpable enlargement of the spleen confirmed by imaging. (1)\n\n**Note 5:** Extralymphatic sites include all other sites (e.g., stomach, colon, breast, nasopharynx). \n* If an extralymphatic site is involved, assign 1: E (Extranodal, lymphomas, only) in the **Pathologic Stage (Prefix/Suffix) Descriptor**\n\n**Note 6:** If there is an extralymphatic site that also has Spleen involvement, assign 5: E (Extranodal and spleen, lymphomas, only) in the **Pathologic Stage (Prefix/Suffix) Descriptor**. \n\n**Note 7:** Lung involvement limited to one lobe, or perihilar extension associated with ipsilateral lymphadenopathy, or unilateral pleural effusion with or without lung involvement but with hilar lymphadenopathy is classified as localized extralymphatic disease. (1)\n\n**Note 8:** Any mention of the terms including fixed, matted, mass in the hilum, mediastinum, retroperitoneum, and/or mesentery, palpable, enlarged, shotty, lymphadenopathy are all regarded as involvement for lymphomas when assigning stage.\n\n**Note 9:** Clinical evidence of liver involvement must include either enlargement of the liver and at least an abnormal serum alkaline phosphatase level and two different liver function test abnormalities, or an abnormal liver demonstrated by imaging and one abnormal liver function test. (1)\n\n**Note 10:** Each stage should be divided into A and B according to the absence or presence of defined general symptoms. These are\n* Unexplained weight loss of more than 10% of the usual body weight in the 6 months prior to first attendance\n* Unexplained fever with temperature above 38 degree C\n * Night sweats\n\n**Note 11:**: Pruritus alone does not qualify for B classification nor does a short, febrile illness associated with a known infection.\n\n**Note 12:** See **Site-Specific Factor #2, Systemic Symptoms at Diagnosis** to code the presence or absence of B symptoms.", - "footnotes" : "(1) International Union Against Cancer (UICC) TNM Classification of Malignant Tumors, 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg. 306", - "last_modified" : "2018-05-14T21:29:01.594Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Stage I", "Involvement of a single lymphatic site (i.e., nodal region, Waldeyer’s ring, thymus or spleen) (I) OR\n\nLocalized involvement of a single extralymphatic organ or site in the absence of any lymph node involvement (IE) (rare in Hodgkin lymphoma)", "Presence of B symptoms unknown AND stated as Stage I, IE or IS" ], [ "1A", "Stage IA", "Involvement of a single lymphatic site (i.e., nodal region, Waldeyer’s ring, thymus or spleen) (I) OR\n\nLocalized involvement of a single extralymphatic organ or site in the absence of any lymph node involvement (IE) (rare in Hodgkin lymphoma)\n\nWITHOUT B symptoms", "Stated as Stage IA, IEA or ISA" ], [ "1B", "Stage IB", "Involvement of a single lymphatic site (i.e., nodal region, Waldeyer’s ring, thymus or spleen) (I) OR\n\nLocalized involvement of a single extralymphatic organ or site in the absence of any lymph node involvement (IE) (rare in Hodgkin lymphoma)\n\nWITH B symptoms", "Stated as Stage IB, IEB or ISB" ], [ "2", "Stage II", "Involvement of two or more lymph node regions on the same side of the diaphragm (II) OR\n\nLocalized involvement of a single extralymphatic organ or site in association with regional lymph node involvement WITH or WITHOUT involvement of other lymph node regions on the same side of the diaphragm (IIE)", "Note: The number of lymph node regions involvement may be indicated by a subscript. The number of involved regions is not coded by cancer registries\n\nPresence of B symptoms unknown AND stated as Stage II, IIE, IIS, or IIES" ], [ "2A", "Stage IIA", "Involvement of two or more lymph node regions on the same side of the diaphragm (II) OR\n\nLocalized involvement of a single extralymphatic organ or site in association with regional lymph node involvement WITH or WITHOUT involvement of other lymph node regions on the same side of the diaphragm (IIE)\n\nWITHOUT B symptoms", "IIA, IIEA, IISA, or IIESA" ], [ "2B", "Stage IIB", "Involvement of two or more lymph node regions on the same side of the diaphragm (II) OR\n\nLocalized involvement of a single extralymphatic organ or site in association with regional lymph node involvement WITH or WITHOUT involvement of other lymph node regions on the same side of the diaphragm (IIE)\n\nWITH B symptoms", "IIB, IIEB, IISB, or IIESB" ], [ "3", "Stage III", "Involvement of lymph node regions on both sides of the diaphragm (III), which also may be accompanied by extralymphatic extension in association with adjacent lymph node involvement (IIIE) or by involvement of the spleen (IIIS) or both (IIIE,S). Splenic involvement is designated by the letter S", "Presence of B symptoms unknown AND stated as Stage III, IIIE, IIIS or IIIES" ], [ "3A", "Stage IIIA", "Involvement of lymph node regions on both sides of the diaphragm (III), which also may be accompanied by extralymphatic extension in association with adjacent lymph node involvement (IIIE) or by involvement of the spleen (IIIS) or both (IIIE,S). Splenic involvement is designated by the letter S\n\nWITHOUT B symptoms", "Stated as Stage IIIA, IIIEA, IIISA or IIIESA" ], [ "3B", "Stage IIIB", "Involvement of lymph node regions on both sides of the diaphragm (III), which also may be accompanied by extralymphatic extension in association with adjacent lymph node involvement (IIIE) or by involvement of the spleen (IIIS) or both (IIIE,S). Splenic involvement is designated by the letter S\n\nWITH B Symptoms", "Stated as Stage IIIB, IIIEB, IIISB or IIIESB" ], [ "4", "Stage IV", "Diffuse or disseminated involvement of one or more extralymphatic organs, WITH or WITHOUT associated lymph node involvement OR\n\nStage IV includes any involvement of the liver or bone marrow, lungs (other than by direct extension from another site), or cerebrospinal fluid", "Presence of B symptoms unknown AND stated as Stage IV" ], [ "4A", "Stage IVA", "Diffuse or disseminated involvement of one or more extralymphatic organs, WITH or WITHOUT associated lymph node involvement OR\n\nStage IV includes any involvement of the liver or bone marrow, lungs (other than by direct extension from another site), or cerebrospinal fluid\n\nWITHOUT B symptoms", "Stated as Stage IVA" ], [ "4B", "Stage IVB", "Diffuse or disseminated involvement of one or more extralymphatic organs, WITH or WITHOUT associated lymph node involvement OR\n\nStage IV includes any involvement of the liver or bone marrow, lungs (other than by direct extension from another site), or cerebrospinal fluid\n\nWITH B symptoms", "Stated as Stage IVB" ], [ "99", "Stage Unknown", "Unknown, stage group not stated\nNot documented in patient record", "No staging laparotomy done" ], [ "88", "Not applicable", "Not applicable", "Death certificate only (DCO) case" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_11962.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_11962.json deleted file mode 100644 index c33be28d7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_11962.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_11962", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage IV - (T0, TX), N3, M0\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group III - T0, N1, M0 - T0 is not included in the stage group definition\n* Stage Group IV - (T0, TX), N2, M0 - T0 and TX are not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:06.744Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X", "M0" ], [ "1", "I", "T1", "N0", "M0" ], [ "2", "II", "T2", "N0", "M0" ], [ "3", "III", "T3 \nTis,T0-3", "N0\nN1", "M0\nM0" ], [ "4", "IV", "Tis,T0-3,X\nT4 \nAny T", "N2,3 \nAny N\nAny N", "M0\nM0\nM1" ], [ "99", "Unknown", "T0\nT0-3\nTX", "N0\nNX \nN0,1,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_12670.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_12670.json deleted file mode 100644 index 9b42ddcbf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_12670.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_12670", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n* T1 (Stage Group I **is** defined by AJCC as T1, N0, M0)\n* Stage Group III (as defined below in the table)\n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IIIA - (T0,1,1a,1b,2), N1, M0 --- N1 is not included in the stage group definition\n* Stage Group IIIA - T0, (N1a-N1b), M0 --- T0 is not included in the stage group definition\n* Stage Group IIIB - T0, (N2a-N2b), M0 --- T0 is not included in the stage group definition\n* Stage Group IIIC - T0, N2c, M0 --- T0 is not included in the stage group definition\n* Stage Group IVA - (T0, TX), N3, M0 --- T0 and TX are not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:31.880Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0" ], [ "1", "I ", "T1 ", "N0 ", "M0" ], [ "1A", "IA ", "T1a", "N0 ", "M0" ], [ "1B", "IB", "T1b ", "N0 ", "M0" ], [ "2", "II ", "T2 ", "N0 ", "M0" ], [ "3", "III ", "Tis,T0,1,1a,1b,2", "N2 ", "M0" ], [ "3A", "IIIA", "Tis,T0,1,1a,1b,2", "N1,1a,1b", "M0" ], [ "3B", "IIIB", "Tis,T0,1,1a,1b,2", "N2a,2b ", "M0" ], [ "3C", "IIIC", "Tis,T0,1,1a,1b,2", "N2c ", "M0" ], [ "4A", "IVA ", "Any T\nT3", "N3 \nAny N", "M0\nM0" ], [ "4B", "IVB", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nT0,1,1a,1b,2\nTX", "N0\nNX \nN0,1,1a,1b,2,2a-2c,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_15208.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_15208.json deleted file mode 100644 index ff94e8ba0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_15208.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_15208", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group III - T4, NX, M0 - NX is not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:02.527Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1,1a,1b", "N0 ", "M0" ], [ "2", "II", "T2,3 ", "N0 ", "M0" ], [ "3", "III", "T4 \nAny T", "N0,X\nN1", "M0\nM0" ], [ "4", "IV", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nT0,1,1a,1b,2,3\nTX", "N0\nNX \nN0,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_18837.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_18837.json deleted file mode 100644 index 988914ef9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_18837.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_18837", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group II (as defined in the table)\n* Stage Group III (as defined in the table)\n\n**Note 2:** The TNM combinations below are valid in UICC 7th edition, but not AJCC 7th edition.\n* Stage Group IIIB - (TX, T0, T1, T2), N3, M0\n* Stage Group IV - Any T, Any N, M1 \n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IA - T1, N0, M0 - T1 is not included in the stage group definition\n* Stage Group IIA - T1, N1, M0 - T1 is not included in the stage group definition\n* Stage Group IIIA - (T1, T2), N2, M0 - T1 and T2 are not included in the stage group definition\n\n**Note 4:** The combination TX, N0, M0 can either be Occult (OC) or Unknown (99), depending on the reason for TX. You must select a value for Stage Group if you have this combination in Lung.", - "last_modified" : "2018-05-14T21:29:00.793Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "OC", "Occult", "TX ", "N0 ", "M0" ], [ "0", "0", "Tis ", "N0,X", "M0" ], [ "1A", "IA", "T1,1a,1b", "N0 ", "M0" ], [ "1B", "IB", "T2a ", "N0 ", "M0" ], [ "2", "II", "T2 ", "N1 ", "M0" ], [ "2A", "IIA", "T2b \nTis,T1,1a,1b,2a", "N0\nN1", "M0\nM0" ], [ "2B", "IIB", "T2b\nT3", "N1\nN0", "M0\nM0" ], [ "3", "III", "T0,X\nT4", "N2\nNX", "M0\nM0" ], [ "3A", "IIIA", "Tis,T1,1a,1b,2,2a,2b \nT3 \nT4", "N2 \nN1,2\nN0,1", "M0\nM0\nM0" ], [ "3B", "IIIB", "T4 \nAny T", "N2\nN3", "M0\nM0" ], [ "4", "IV", "Any T", "Any N", "M1,1a,1b " ], [ "99", "Unknown", "T0 \nT1,1a,1b,2,2a,2b,3\nT2 \nTX\nTX", "N0,1,X\nNX \nN0 \nN1,X\nN0", "M0\nM0\nM0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_21201.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_21201.json deleted file mode 100644 index cd8dfeaa2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_21201.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_21201", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IV (as defined in this table)\n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IVA - T4, N0, M0 - T4 is not included in the stage group definition\n* Stage Group IVA - T4, N1, M0 - T4 is not included in the stage group definition\n* Stage Group IVA - T4a, NX, M0 - NX is not included in the stage group definition\n\n**Note 3:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:06.738Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "3", "III", "T3", "N0", "M0" ], [ "4", "IV", "T4", "NX", "M0" ], [ "4A", "IVA", "T4 \nT4a \nT3,4,4a", "N0 \nN0,X\nN1", "M0\nM0\nM0" ], [ "4B", "IVB", "T4b ", "Any N", "M0" ], [ "4C", "IVC", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nT3 \nTX", "Any N\nNX \nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_24418.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_24418.json deleted file mode 100644 index 6d1f63737..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_24418.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_24418", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage Group IVB - Any T, N2, M0\n\n**Note 3:** The TNM combination is valid in UICC 7th, but not AJCC 7th.\n* Stage Group IVA - T4, NX, M0", - "last_modified" : "2022-07-13T21:21:34.139Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0" ], [ "1", "I ", "T1,1a,1b ", "N0 ", "M0" ], [ "2", "II ", "T2 ", "N0 ", "M0" ], [ "3A", "IIIA", "T3 ", "N0 ", "M0" ], [ "3B", "IIIB", "Tis,T1,1a,1b,2,3", "N1 ", "M0" ], [ "4A", "IVA ", "T4 ", "N0,1,X", "M0" ], [ "4B", "IVB ", "Any T\nAny T", "N2 \nAny N", "M0\nM1" ], [ "99", "Unknown", "T0 \nT1,1a,1b,2,3\nTX", "N0,1,X \nNX \nN0,1,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_25104.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_25104.json deleted file mode 100644 index 7797d8a02..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_25104.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_25104", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage IV - (T0, TX), N3, M0\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group III - (T0, TX), N1, M0 - T0 and TX are not included in the stage group definition\n* Stage Group IV - (T0, TX), N2, M0 - T0 and TX are not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:06.746Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X", "M0" ], [ "1", "I", "T1", "N0", "M0" ], [ "2", "II", "T2", "N0", "M0" ], [ "3", "III", "Tis,T0-2,X", "N1", "M0" ], [ "4", "IV", "Tis,T0-2,X \nT4 \nAny T", "N2,3 \nAny N\nAny N", "M0\nM0\nM1" ], [ "99", "Unknown", "T0\nT0-2\nTX", "N0\nNX \nN0,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_27096.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_27096.json deleted file mode 100644 index d960f2139..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_27096.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_27096", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic\n* Stage Group III (as defined in the table)\n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IIB - T4, N0, M0 - T4 is not included in the stage group definition\n* Stage Group IIIA - T4, N1, M0 - T4 is not included in the stage group definition\n* Stage Group IIIB - T4, N2, M0 - T4 is not included in the stage group definition\n* Stage Group IIIC - T4, (N3 [NOS], N3a, N3b), M0 - T4 is not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:01.240Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis ", "N0,X", "M0" ], [ "1A", "IA", "T1,1a,1b", "N0", "M0" ], [ "1B", "IB", "T2 \nTis,T1,1a,1b", "N0\nN1", "M0\nM0" ], [ "2A", "IIA", "T3 \nT2 \nTis,T1,1a,1b", "N0\nN1\nN2", "M0\nM0\nM0" ], [ "2B", "IIB", "T4,4a \nT3 \nT2 \nTis,T1,1a,1b", "N0 \nN1 \nN2 \nN3,3a,3b", "M0\nM0\nM0\nM0" ], [ "3", "III", "T4b", "NX", "M0" ], [ "3A", "IIIA", "T4,4a\nT3 \nT2", "N1 \nN2 \nN3,3a,3b", "M0\nM0\nM0" ], [ "3B", "IIIB", "T4b \nT4,4a\nT3", "N0,1 \nN2 \nN3,3a,3b", "M0\nM0\nM0" ], [ "3C", "IIIC", "T4,4a\nT4b", "N3,3a,3b \nN2,3,3a,3b", "M0\nM0" ], [ "4", "IV", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0 \nT1,1a,1b,2,3,4,4a\nTX", "Any N\nNX \nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_31599.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_31599.json deleted file mode 100644 index 8de401385..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_31599.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_31599", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)", - "last_modified" : "2022-07-13T21:21:57.264Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,0i-,0i+,0m-,0m+,X", "M0,0i+" ], [ "1A", "IA ", "T1,1mi,1a-1c ", "N0,0i-,0i+,0m-,0m+ ", "M0,0i+" ], [ "1B", "IB ", "Tis,T0,1,1mi,1a-1c", "N1mi ", "M0,0i+" ], [ "2A", "IIA", "Tis,T0,1,1mi,1a-1c\nT2", "N1,1a-1c \nN0,0i-,0i+,0m-,0m+", "M0,0i+\nM0,0i+" ], [ "2B", "IIB", "T2\nT3", "N1,1mi,1a-1c \nN0,0i-,0i+,0m-,0m+", "M0,0i+\nM0,0i+" ], [ "3", "III", "T4,4a-4d\nTX", "NX \nN2,2a,2b", "M0,0i+\nM0,0i+" ], [ "3A", "IIIA", "Tis,T0,1,1mi,1a-1c,2\nT3", "N2,2a,2b \nN1,1mi,1a-1c,2,2a,2b", "M0,0i+\nM0,0i+" ], [ "3B", "IIIB", "T4,4a-4d ", "N0,0i-,0i+,0m-,0m+,1,1mi, 1a-1c,2,2a,2b", "M0,0i+" ], [ "3C", "IIIC", "Any T", "N3,3a-3c ", "M0,0i+" ], [ "4", "IV", "Any T", "Any N ", "M1" ], [ "99", "Unknown", "T0\nT0,1,1mi,1a-1c,2,3\nTX", "N0,0i-,0i+,0m-,0m+\nNX \nN0,0i-,0i+,0m-,0m+,1,1mi,1a-1c,X", "M0,0i+\nM0,0i+\nM0,0i+" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_3409.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_3409.json deleted file mode 100644 index cb15f4f33..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_3409.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "stage_group_p_3409", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)\n\n**Note 2:** The stage group below is not defined in UICC 7th edition, defined in AJCC 7th edition, approved by UICC.\n* Stage 0 - pTis, N0, M0, Grade X, Any Histology\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IIIA - T4 [NOS], N0, M0, Any Grade, Any Histology - T4 [NOS] is not included in the stage group definition\n* Stage Group IIIC - T4 [NOS], (N1, N2), M0, Any Grade, Any Histology - T4 [NOS] is not included in the stage group definition\n\n**Note 4:** Stage groups are based on histology, which is divided as follows \n* Squamous 8000-8046,8051-8131,8148-8157,8230-8249,8508,8510-8513,8560-8570,8575,8950,8980-8981 \n* Adenocarcinoma 8050,8140-8147,8160-8162,8170-8175,8180-8221,8250-8507,8514-8551,8571-8574,8576,8940-8941", - "last_modified" : "2018-05-14T21:29:02.283Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "DESCRIPTION" - }, { - "key" : "histology", - "name" : "Histology", - "type" : "DESCRIPTION" - }, { - "key" : "site", - "name" : "Primary Site", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X", "M0", "1,9", "Any Histology", "" ], [ "1A", "IA", "T1,1a,1b\nT1,1a,1b", "N0\nN0", "M0\nM0", "1,9\n2", "Any Histology \nAdenocarcinoma", "" ], [ "1B", "IB", "T1,1a,1b\nT1,1a,1b\nT2 \nT2,3", "N0\nN0\nN0\nN0", "M0\nM0\nM0\nM0", "2 \n3,4 \n1,2,9\n1,9", "Squamous \nAny Histology \nAdenocarcinoma\nSquamous", "Any Site \nAny Site \nAny Site \nC152,C155,C158,C159" ], [ "2A", "IIA", "T2 \nT2,3\nT2,3", "N0\nN0\nN0", "M0\nM0\nM0", "3,4\n1,9\n2-4", "Adenocarcinoma\nSquamous \nSquamous", "Any Site \nC150,C151,C153,C154 \nC152,C155,C158,C159" ], [ "2B", "IIB", "T3 \nT2,3 \nTis,T1,1a,1b,2", "N0\nN0\nN1", "M0\nM0\nM0", "Any Grade\n2-4 \nAny Grade", "Adenocarcinoma\nSquamous \nAny Histology", "Any Site \nC150,C151,C153,C154\nAny Site" ], [ "3", "III", "T0,X \nT4,4a", "N2\nNX", "M0\nM0", "Any Grade\nAny Grade", "Any Histology\nAny Histology", "" ], [ "3A", "IIIA", "Tis,T1,1a,1b,2\nT3 \nT4,4a", "N2\nN1\nN0", "M0\nM0\nM0", "Any Grade\nAny Grade\nAny Grade", "Any Histology\nAny Histology\nAny Histology", "" ], [ "3B", "IIIB", "T3", "N2", "M0", "Any Grade", "Any Histology", "" ], [ "3C", "IIIC", "T4,4a \nT4b \nAny T", "N1,2 \nAny N\nN3", "M0\nM0\nM0", "Any Grade\nAny Grade\nAny Grade", "Any Histology\nAny Histology\nAny Histology", "" ], [ "4", "IV", "Any T", "Any N", "M1", "Any Grade", "Any Histology", "" ], [ "99", "Unknown", "Tis\nT0 \nT1,1a,1b,2,3\nTX", "N0,X\nN0,1,X \nNX \nN0,1,X", "M0\nM0\nM0\nM0", "2-4\nAny Grade\nAny Grade\nAny Grade", "Any Histology\nAny Histology\nAny Histology\nAny Histology", "" ], [ "88", "Not Applicable", "88", "88", "88", "Any Grade", "Any Histology", "" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_35702.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_35702.json deleted file mode 100644 index 540ea8ee9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_35702.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_35702", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IV (as defined in this table)\n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n * Stage Group III - Tis, N1, M0 - Tis is not included in the stage group definition\n * Stage Group IVA - (T0,Tis), (N2 [NOS], N2a-N2c), M0 - Neither T0 nor Tis are included in the stage group definition", - "last_modified" : "2018-05-14T21:29:01.444Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X", "M0" ], [ "1", "I", "T1 ", "N0 ", "M0" ], [ "2", "II", "T2 ", "N0 ", "M0" ], [ "3", "III", "T3 \nTis,T1-3", "N0\nN1", "M0\nM0" ], [ "4", "IV", "T4,4a\nT4 \nTX", "NX \nN0,1,2,2a-2c\nN2,2a-2c", "M0\nM0\nM0" ], [ "4A", "IVA", "Tis,T0-3\nT4a", "N2,2a-2c \nN0,1,2,2a-2c", "M0\nM0" ], [ "4B", "IVB", "Any T\nT4b", "N3 \nAny N", "M0\nM0" ], [ "4C", "IVC", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0 \nT1-3\nTX", "N0,1,X \nNX \nN0,1,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_39380.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_39380.json deleted file mode 100644 index b89d145c4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_39380.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_p_39380", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IV (as defined below in the table)\n\n**Note 2:** The stage group below is valid in AJCC 7th edition, but not UICC. Approved by UICC.\n* Stage I - T1, N0, M0, Pap>=45, Med\n\n**Note 3:** The stage group below is valid in UICC 7th edition, but not AJCC 7th edition.\n* Stage Group IVA - T4a, N1, M0, Pap >=45, Med\n* Stage Group IVA - T4a, NX, M0, Med\n\n**Note 4:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IVA - T0, N1b, M0, Pap>=45, Med -T0 is not included in the stage group definition\n* Stage Group IVA - T4a, NX, M0, Pap>=45 - NX is not included in the stage group definition \n\n**Note 5:** The Histopathologic Types are set as follows \n* ANA: Anaplastic - 8020,8021,8030-8032 OR Grade = 4 with any Histology \n* MED: Medullary - 8345-8347,8430,8510, 8512,8513; grade is not 4 \n* PAP<45: Papillary/Follicular, Age<45 - Any other histology, grade is not 4, Age at diagnosis 0-44 \n* PAP>=45: Papillary/Follicular, Age>=45 - Any other histology, grade is not 4, Age at diagnosis 45 or older \n* PAP=999: Papillary/Follicular, Age Unknown - Any other histology, grade is not 4, Age at diagnosis is unknown\n\n**Note 6:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:01.884Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "hist_type", - "name" : "Histopathological Type", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "Any T \nT1,1a,1b", "Any N\nN0", "M0\nM0", "PAP<45\nPAP>=45, MED" ], [ "2", "II", "Any T\nT2 \nT2,3", "Any N\nN0 \nN0", "M1\nM0\nM0", "PAP<45\nPAP>=45\nMED" ], [ "3", "III", "T3 \nT1,1a,1b,2,3", "N0 \nN1a", "M0\nM0", "PAP>=45\nPAP>=45, MED" ], [ "4", "IV", "TX\nT4", "N1b \nAny N", "M0\nM0", "PAP>=45, MED\nPAP>=45, MED, ANA" ], [ "4A", "IVA", "T0,1,1a,1b,2,3\nT4a", "N1b \nAny N", "M0\nM0", "PAP>=45, MED\nPAP>=45, MED, ANA" ], [ "4B", "IVB", "T4b", "Any N", "M0", "PAP>=45, MED, ANA" ], [ "4C", "IVC", "Any T \nT4,4a,4b", "Any N\nAny N", "M1\nM1", "PAP>=45, MED\nANA" ], [ "99", "Unknown", "Any T \nT0\nT0 \nT1,1a,1b,2,3\nTX", "Any N \nN0 \nN1,1a,X \nN1,X \nN0,1,1a,X", "Any M\nM0\nM0 \nM0 \nM0", "PAP=999\nPAP>=45, MED\nPAP>=45, MED\nPAP>=45, MED\nPAP>=45, MED" ], [ "88", "Not Applicable", "88", "88", "88", "Any" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_40037.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_40037.json deleted file mode 100644 index a661750f7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_40037.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_p_40037", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** The Stage Groups displayed are the Mycosis Fungoides and Sezary Syndrome staging system proposed by the *International Society for Cutaneous lymphomas* and *EORTC*.\n* Stage Group IVA (as defined in the table)\n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations, when B (SSF1) is unknown (080, 090, 988, 997, 999), are only included in SEER*RSA.\n* Stage Group IA - (T1 [NOS], T1a, 1b), N0, M0 \n* Stage Group IB - (T2 [NOS], T2a-T2b), N0, M0\n* Stage Group IIA - (T1 [NOS], T1a, T1b, T2 [NOS], T2a, 2b), (N1-N2b), M0\n* Stage Group IIB - T3, (N0-2b), M0\n* Stage Group IIIA - T4, (N0-2b), M0\n* Stage Group IVA2 - Any T, N3, M0\n* Stage Group IVB - Any T, Any N, M1\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IVA1 - TX, (N0-N2b), M0, SSF1 (070) - TX is not included in the stage group definition.\n* Stage Group IVA1 - T0, (N1-N2b), M0, SSF1 (070) - T0 is not included in the stage group definition.\n* Stage Group IVA2 - (T0, TX), N3, M0, Any SSF1 - TX, T0 not included in the stage group definition\n* Stage Group IVB - (T0, TX), Any N, M1, Any SSF1 - TX, T0, not included in the stage group definition.", - "last_modified" : "2022-07-13T21:21:27.639Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "ssf1", - "name" : "Peripheral Blood Involvement (SSF1)", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1A", "IA ", "T1,1a,1b ", "N0 ", "M0", "010-060,080,090,988,997,999" ], [ "1B", "IB ", "T2,2a,2b ", "N0 ", "M0", "010-060,080,090,988,997,999" ], [ "2A", "IIA ", "T1,1a,1b,2,2a,2b", "N1,1a,1b,2,2a,2b ", "M0", "010-060,080,090,988,997,999" ], [ "2B", "IIB ", "T3 ", "N0,1,1a,1b,2,2a,2b", "M0", "010-060,080,090,988,997,999" ], [ "3A", "IIIA", "T4 ", "N0,1,1a,1b,2,2a,2b", "M0", "010-030,080,090,988,997,999" ], [ "3B", "IIIB", "T4 ", "N0,1,1a,1b,2,2a,2b", "M0", "040-060 " ], [ "4A", "IVA ", "Any T ", "NX ", "M0", "070 " ], [ "4A1", "IVA1", "T0 \nT1,1a,1b,2,2a,2b,3,4,X", "N1,1a,1b,2,2a,2b \nN0,1,1a,1b,2,2a,2b", "M0\nM0", "070\n070" ], [ "4A2", "IVA2", "Any T", "N3 ", "M0", "Any" ], [ "4B", "IVB ", "Any T", "Any N ", "M1", "Any" ], [ "99", "Unknown", "T0\nT0 \nT1,1a,1b,2,2a,2b,3,4\nTX", "N0\nN1,1a,1b,2,2a,2b,X \nNX \nN0,1,1a,1b,2,2a,2b,X", "M0\nM0\nM0\nM0", "Any\n010-060,080,090,988,997,999\n010-060,080,090,988,997,999\n010-060,080,090,988,997,999" ], [ "88", "Not Applicable", "88", "88", "88", "Any" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42277.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42277.json deleted file mode 100644 index f5eab74fe..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42277.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_42277", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group I - T1 [NOS], N0, M0 - T1 is not included in the stage group definition \n* Stage Group IIIA - T0, N1, M0 - T0 is not included in the stage group definition\n* Stage Group IIIB - T0, N2, M0 - T0 is not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:00.331Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Ta,Tis", "N0,X", "M0" ], [ "1", "I", "T1,1a", "N0", "M0" ], [ "2", "II", "T1b \nT2,3", "N0\nN0", "M0\nM0" ], [ "3A", "IIIA", "Ta,Tis,T0,1,1a,1b,2,3", "N1", "M0" ], [ "3B", "IIIB", "Ta,Tis,T0,1,1a,1b,2,3", "N2", "M0" ], [ "4", "IV", "T4 \nAny T\nAny T", "Any N\nN3 \nAny N", "M0\nM0\nM1" ], [ "99", "Unknown", "T0\nT0,1,1a,1b,2,3\nTX", "N0\nNX \nN0-2,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42915.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42915.json deleted file mode 100644 index bcef0280c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42915.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_42915", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage I - T1, N0, M0 \n\n**Note 3:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group III - (T0, TX), (N1, N2), M0 - T0 and TX are not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:06.741Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1 ", "N0", "M0" ], [ "1A", "IA", "T1a", "N0", "M0" ], [ "1B", "IB", "T1b", "N0", "M0" ], [ "2", "II", "T2 ", "N0", "M0" ], [ "3", "III", "T0,1,1a,1b,2,X\nT3", "N1,2\nN0-2", "M0\nM0" ], [ "4", "IV", "T4 \nAny T\nAny T", "Any N\nN3 \nAny N", "M0\nM0\nM1" ], [ "99", "Unknown", "T0\nT0,1,1a,1b,2,3\nTX", "N0\nNX \nN0,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42930.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42930.json deleted file mode 100644 index dc893eb7a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_42930.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_42930", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:00.661Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1 ", "N0 ", "M0" ], [ "2A", "IIA ", "T2 ", "N0 ", "M0" ], [ "2B", "IIB ", "T3 ", "N0 ", "M0" ], [ "3A", "IIIA", "T4 ", "N0 ", "M0" ], [ "3B", "IIIB", "Any T", "N1 ", "M0" ], [ "4", "IV", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nAny T\nTX", "N0\nNX\nN0", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_44218.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_44218.json deleted file mode 100644 index e9da74eed..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_44218.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "id" : "stage_group_p_44218", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.\n* Stage Group III\n\n**Note 2:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:01.034Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "DESCRIPTION" - }, { - "key" : "ssf10", - "name" : "Location (SSF10)", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1,2", "N0,X", "M0", "000-050,988,990", "010,030,040,998,999" ], [ "1A", "IA", "T1,2", "N0,X", "M0", "000-050,988,990", "020 " ], [ "1B", "IB", "T3 ", "N0,X", "M0", "000-050,988,990", "020 " ], [ "2", "II", "T3 \nT4 \nT1,2", "N0,X\nN0,X\nN0,X", "M0\nM0\nM0", "000-050,988,990\n000-050,988,990\n051-110,991", "010,030,040,998,999\n020 \n020" ], [ "3", "III", "T4 ", "N0,X", "M0", "996,998,999 ", "010,030,040,998,999" ], [ "3A", "IIIA", "T4\nT1\nT3", "N0,X\nN0,X\nN0,X", "M0\nM0\nM0", "000-050,988,990\n051-110,991 \n051-110,991", "010,030,040,998,999\n010,030,040,998,999\n020" ], [ "3B", "IIIB", "T2-4\nT4", "N0,X\nN0,X", "M0\nM0", "051-110,991\n051-110,991", "010,030,040,998,999\n020" ], [ "4", "IV", "Any T\nAny T", "N1 \nAny N", "M0\nM1", "Any Rate\nAny Rate", "Any\nAny" ], [ "99", "Unknown", "T0\nT1-3\nT4 \nTX", "N0,X\nN0,X\nN0,X\nN0,X", "M0\nM0\nM0\nM0", "Any Rate\n996,998,999\n996,998,999\nAny Rate", "Any\nAny\n020\nAny" ], [ "88", "Not Applicable", "88", "88", "88", "Any Rate ", "Any" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_44348.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_44348.json deleted file mode 100644 index 5dca5f9e8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_44348.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_44348", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The stage group below is valid in UICC 7th edition, but not AJCC 7th edition.\n* Stage Group IV - T4, NX, M0\n\n**Note 3:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group III - T0, N1, M0 - T0 is not included in the stage group definition\n\n**Note 4:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:28:58.380Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1", "N0", "M0" ], [ "2", "II", "T2", "N0", "M0" ], [ "3", "III", "T0-2\nT3", "N1\nN0", "M0\nM0" ], [ "4", "IV", "T3\nT4\nAny T", "N1\nAny N\nAny N", "M0\nM0\nM1" ], [ "99", "Unknown", "T0\nT0-3\nTX", "N0\nNX\nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4518.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4518.json deleted file mode 100644 index 97a3b7002..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4518.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_4518", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.\n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage 0 - pTis, (N0, NX), M0", - "last_modified" : "2018-05-14T21:29:01.371Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X", "M0" ], [ "1", "I", "T1 ", "N0 ", "M0" ], [ "2A", "IIA ", "T2 ", "N0 ", "M0" ], [ "2B", "IIB ", "T3 ", "N0 ", "M0" ], [ "3A", "IIIA", "T4 ", "N0 ", "M0" ], [ "3B", "IIIB", "Any T", "N1 ", "M0" ], [ "4", "IV", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nT0-4\nTX", "N0\nNX \nN0,X", "M0\nM0\nM0" ], [ "88", "Not applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_45269.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_45269.json deleted file mode 100644 index d9269fb74..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_45269.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id" : "stage_group_p_45269", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The stage group below is valid in UICC 7th edition, but not AJCC 7th edition.\n* Stage Group III - (T3, T3a, T3b), NX, M0 \n\n**Note 3:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group III - T0, N1, M0 - T0 is not included in the stage group definition\n\n**Note 4:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "footnotes" : "^ \"Any T, N2, M0\" removed from stage grouping table based on [TNM Classification of Malignant Tumours, Seventh edition](http://www.wileyanduicc.com/pdf/Corrected_pages.pdf)", - "last_modified" : "2018-05-14T21:29:02.694Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1,1a,1b", "N0", "M0" ], [ "2", "II", "T2,2a,2b", "N0", "M0" ], [ "3", "III", "T3,3a-3c \nT0,1,1a,1b,2,2a,2b,3,3a-3c", "N0,X\nN1", "M0\nM0" ], [ "4", "IV", "T4\nAny T", "Any N\nAny N", "M0\nM1" ], [ "99", "Unknown", "T0\nT0,1,1a,1b,2,2a,2b \nTX", "N0\nNX\nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_45729.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_45729.json deleted file mode 100644 index ba4827b0c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_45729.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_45729", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group II (as defined in the table)", - "last_modified" : "2022-07-13T21:21:36.338Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0 " ], [ "1A", "IA ", "T1 ", "N0 ", "M0 " ], [ "1B", "IB ", "T2 ", "N0 ", "M0 " ], [ "2", "II ", "T3 ", "NX ", "M0 " ], [ "2A", "IIA ", "T3 ", "N0 ", "M0 " ], [ "2B", "IIB ", "Tis,T1-3", "N1 ", "M0 " ], [ "3", "III ", "T4 ", "Any N", "M0 " ], [ "4", "IV ", "Any T", "Any N", "M1 " ], [ "99", "Unknown", "T0 \nT1,2\nTX", "N0,1,X \nNX \nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4750.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4750.json deleted file mode 100644 index 49b42946b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4750.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_4750", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group II (as defined in this table)\n* Stage Group III (as defined in this table)\n\n**Note 2:** The following stage group is defined in UICC, but not AJCC\n* Stage Group I (as defined in this table)", - "last_modified" : "2022-07-13T21:21:53.671Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis", "N0,X", "M0" ], [ "1", "I ", "T1 ", "N0 ", "M0" ], [ "1A", "IA", "T1a ", "N0 ", "M0" ], [ "1B", "IB", "T1b,2a", "N0 ", "M0" ], [ "2", "II", "T3\nT4", "N0\nN0", "M0\nM0" ], [ "2A", "IIA", "T2b,3a ", "N0", "M0" ], [ "2B", "IIB", "T3b,4a ", "N0", "M0" ], [ "2C", "IIC", "T4b ", "N0", "M0" ], [ "3", "III", "T0,1,2,3,4,X \nTis,T1a,1b,2a,2b,3a,3b,4a,4b", "N1,1a,1b,2,2a-2c\nN1,2", "M0\nM0" ], [ "3A", "IIIA", "Tis,T1a,2a,3a,4a", "N1a,2a", "M0" ], [ "3B", "IIIB", "Tis,T1a,2a,3a,4a \nT1b,2b,3b,4b", "N1b,2b,2c\nN1a,2a", "M0\nM0" ], [ "3C", "IIIC", "T1b,2b,3b,4b \nAny T", "N1b,2b,2c\nN3", "M0\nM0" ], [ "4", "IV", "Any T", "Any N", "M1,1a-1c" ], [ "99", "Unknown", "T0,1,1a,1b,2,2a,2b,3,3a,3b,4,4a,4b,X\nT0,2,X", "NX \nN0", "M0\nM0" ], [ "88", "Not applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4759.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4759.json deleted file mode 100644 index bff2d3221..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_4759.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_4759", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.\n\n**Note 2:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:04.468Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1,1a,1b", "N0 ", "M0" ], [ "2A", "IIA ", "T2 ", "N0 ", "M0" ], [ "2B", "IIB ", "T3 ", "N0 ", "M0" ], [ "3A", "IIIA", "T4 ", "N0 ", "M0" ], [ "3B", "IIIB", "Any T", "N1 ", "M0" ], [ "4", "IV", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nAny T\nTX", "N0\nNX\nN0", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_48023.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_48023.json deleted file mode 100644 index 57a5d466b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_48023.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_48023", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)\n\n**Note 2:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2022-07-13T21:21:54.567Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "T1a ", "N0", "M0" ], [ "2A", "IIA ", "T1b-1d,2a", "N0", "M0" ], [ "2B", "IIB ", "T2b,3a ", "N0", "M0" ], [ "3", "III ", "T4 ", "N0", "M0" ], [ "3A", "IIIA", "T2c,2d\nT3b,3c\nT4a", "N0\nN0\nN0", "M0\nM0\nM0" ], [ "3B", "IIIB", "T3d \nT4b,4c", "N0\nN0", "M0\nM0" ], [ "3C", "IIIC", "T4d,4e", "N0", "M0" ], [ "4", "IV", "Any T\nAny T", "N1 \nAny N", "M0 \nM1,1a-1c" ], [ "99", "Unknown", "T0,1-3,X\nAny T", "N0\nNX", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_48545.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_48545.json deleted file mode 100644 index 4d8533ff0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_48545.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "id" : "stage_group_p_48545", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage Group IIA - T2b, N0, M0, PSA unknown, Gleason unknown\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Groups I or IIA (depending on PSA/Gleason) - T2, N0, M0 - T2 is not included in the stage group definition \n* Stages Groups IIA or IIB (depending on PSA/Gleason) - T2, N0, M0 - T2 is not included in the stage group definition\n* Stage Group III - T3, N0, M0 - T3 is not included in the stage group definition\n* Stage Group IV - T4, NX, M0, Any PSA, Any Gleason - NX is not included in the stage group definition\n\n**Note 4:** For Gleason, use SSF10 for Pathologic.\n\n**Note 5:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:04.403Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "ssf1", - "name" : "PSA (SSF1)", - "type" : "DESCRIPTION" - }, { - "key" : "gleason", - "name" : "Gleason (SSF10)", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T2,2a", "N0", "M0", "001-099,988,997-999", "002-006,988,998,999" ], [ "2A", "IIA", "T2,2a\nT2,2a\nT2b", "N0\nN0\nN0", "M0\nM0\nM0", "001-199,988,997-999\n100-199 \n001-199,988,997-999", "007\n002-006,988,998,999\n002-006,007,988,998,999" ], [ "2B", "IIB", "T2c \nT2,2a,2b\nT2,2a,2b", "N0\nN0\nN0", "M0\nM0\nM0", "Any PSA\n200-980\nAny PSA", "Any Gleason\nAny Gleason\n008-010" ], [ "3", "III", "T3,3a,3b", "N0", "M0", "Any PSA", "Any Gleason" ], [ "4", "IV", "T4 \nAny T\nAny T", "Any N\nN1 \nAny N", "M0 \nM0 \nM1,1a-1c", "Any PSA\nAny PSA\nAny PSA", "Any Gleason\nAny Gleason\nAny Gleason" ], [ "99", "Unknown", "T0\nT0,2,2a-2c,3,3a,3b\nTX", "N0\nNX \nN0,X", "M0\nM0\nM0", "Any PSA \nAny PSA\nAny PSA", "Any Gleason\nAny Gleason\nAny Gleason" ], [ "88", "Not Applicable", "88", "88", "88", "Any PSA", "Any Gleason" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_5079.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_5079.json deleted file mode 100644 index f8b57dcf1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_5079.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_5079", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.", - "last_modified" : "2022-07-13T21:21:25.136Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "ssf1", - "name" : "Prognostic Scoring Index (SSF1)", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "T1 ", "M0 ", "988,999" ], [ "1A", "IA ", "T1 ", "M0 ", "000-050,200" ], [ "1B", "IB ", "T1 ", "M0 ", "110,150" ], [ "2", "II ", "T2 ", "M0 ", "988,999" ], [ "2A", "IIA ", "T2 ", "M0 ", "000-050,200" ], [ "2B", "IIB ", "T2 ", "M0 ", "110,150" ], [ "3", "III ", "Any T", "M1a", "988,999" ], [ "3A", "IIIA", "Any T", "M1a", "000-050,200" ], [ "3B", "IIIB", "Any T", "M1a", "110,150" ], [ "4", "IV ", "Any T", "M1b", "988,999" ], [ "4A", "IVA ", "Any T", "M1b", "000-050,200" ], [ "4B", "IVB ", "Any T", "M1b", "110,150" ], [ "99", "Unknown", "T0\nTX \nAny T", "M0\nM0\nM1", "Any\nAny\nAny" ], [ "88", "Not Applicable", "88", "88", "Any" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_53847.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_53847.json deleted file mode 100644 index c0deb30db..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_53847.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_p_53847", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The stage group below is valid in UICC 7th edition, but not AJCC 7th edition.\n* Path Stage Group 0 - pTis, N0, M0, SX\n\n**Note 3:** The stage group below is valid in AJCC 7th edition, but not UICC. Approved by UICC.\n* Stage III - Any T, Any N, M1, SX\n\n**Note 4:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group III - Any T, Any N, M1, S0-S3 - M1 is not included in the stage group definition\n\n**Note 5:** Serum Tumor Markers are used to calculate S Stage. They can be found in the following site-specific factors\n* **SSF 13: Post-Orchiectomy Alpha Fetoprotein (AFP) Range** \n* **SSF 15: Post-Orchiectomy Human Chorionic Gonadotropin (hCG) Range** \n* **SSF 16: Post-Orchiectomy Lactate Dehydrogenase (LDH) Range** \n \nThe S Stage is set using the following logic\n* SX - Serum marker studies not available \n* S0 - Serum marker study levels within normal limits \n* S1 - LDH: < 1.5 x N AND hCG: < 5000 AND AFP < 1000 \n* S2 - LDH: 1.5 to 10 x N OR hCG: 5000 to 50,000 OR AFP: 1000 to 10,000 \n* S3 - LDH: > 10 x N OR hCG: > 50,000 OR AFP: > 10,000", - "last_modified" : "2022-07-13T21:21:56.824Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "s_stage", - "name" : "S Stage", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X", "M0", "S0,SX" ], [ "1", "I ", "T1-4 ", "N0 ", "M0", "SX" ], [ "1A", "IA ", "T1 ", "N0 ", "M0", "S0" ], [ "1B", "IB ", "T2-4 ", "N0 ", "M0", "S0" ], [ "1S", "IS ", "T0-4,X", "N0 ", "M0", "S1-S3" ], [ "2", "II ", "Any T", "N1-3", "M0", "SX" ], [ "2A", "IIA", "Any T", "N1 ", "M0", "S0,S1" ], [ "2B", "IIB", "Any T", "N2 ", "M0", "S0,S1" ], [ "2C", "IIC", "Any T", "N3 ", "M0", "S0,S1" ], [ "3", "III", "Any T\nAny T", "Any N\nAny N", "M1 \nM1a", "Any\nSX" ], [ "3A", "IIIA", "Any T", "Any N", "M1a", "S0,S1" ], [ "3B", "IIIB", "Any T\nAny T", "N1-3 \nAny N", "M0 \nM1a", "S2\nS2" ], [ "3C", "IIIC", "Any T\nAny T\nAny T", "N1-3 \nAny N\nAny N", "M0 \nM1a\nM1b", "S3\nS3\nAny" ], [ "99", "Unknown", "Tis\nT0\nT0-4,X\nTX", "NX\nN0\nNX \nN0", "M0\nM0\nM0\nM0", "S1-3\nS0,SX\nAny\nS0,SX" ], [ "88", "Not Applicable", "88", "88", "88", "Any" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_54450.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_54450.json deleted file mode 100644 index a245695d7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_54450.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_54450", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IV (as defined in the table)\n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n * Stage Group IVA -T0, (N2 [NOS], N2a-N2c), M0 - T0 is not included in the stage group definition\n\n**Note 3:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:00.102Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1", "N0", "M0" ], [ "2", "II", "T2", "N0", "M0" ], [ "3", "III", "T3 \nT1-3", "N0\nN1", "M0\nM0" ], [ "4", "IV", "T4,4a\nT4 \nTX", "NX \nN0,1,2,2a-2c\nN2,2a-2c", "M0\nM0\nM0" ], [ "4A", "IVA", "T4a \nT0-3,4a", "N0,1 \nN2,2a-2c", "M0\nM0" ], [ "4B", "IVB", "T4b \nAny T", "Any N\nN3", "M0\nM0" ], [ "4C", "IVC", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0 \nT1-3\nTX", "N0,1,X \nNX \nN0,1,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_54695.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_54695.json deleted file mode 100644 index f00204974..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_54695.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_p_54695", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.\n* Stage Group III (as defined in the table) (pathologic only)\n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage IIIB - Any T, N1, M0", - "last_modified" : "2022-07-13T21:21:41.640Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "clin_path", - "name" : "N Prefix (c or p)", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X", "M0", "" ], [ "1A", "IA", "T1 ", "N0 ", "M0", "Pathologic" ], [ "1B", "IB ", "T1 ", "N0 ", "M0", "Clinical " ], [ "2A", "IIA", "T2,3 ", "N0 ", "M0", "Pathologic" ], [ "2B", "IIB", "T2,3 ", "N0 ", "M0", "Clinical " ], [ "2C", "IIC", "T4", "N0 ", "M0", "" ], [ "3", "III", "Any T", "N1", "M0\n", "" ], [ "3A", "IIIA", "Any T", "N1a ", "M0 ", "" ], [ "3B", "IIIB", "Any T", "N1b,2", "M0", "" ], [ "4", "IV", "Any T", "Any N", "M1,1a-1c", "" ], [ "99", "Unknown", "T0\nT0-4\nTX", "N0\nNX \nN0,X", "M0\nM0\nM0", "" ], [ "88", "Not applicable", "88", "88", "88", "" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_56445.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_56445.json deleted file mode 100644 index d5a01a24c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_56445.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_56445", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* T1 (Stage Group I is defined by AJCC as T1, N0, M0)", - "last_modified" : "2022-07-13T21:21:31.193Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0" ], [ "1", "I ", "T1,1a,1b,2 ", "N0 ", "M0" ], [ "2A", "IIA ", "T3 ", "N0 ", "M0" ], [ "2B", "IIB ", "T4 ", "N0 ", "M0" ], [ "3A", "IIIA", "Any T", "N1 ", "M0" ], [ "3B", "IIIB", "Any T", "N2 ", "M0" ], [ "4", "IV ", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nT0,1,1a,1b,2-4\nTX", "N0\nNX \nN0,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_60572.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_60572.json deleted file mode 100644 index 0bf22d36a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_60572.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_60572", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)\n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IIA - T2, N0, M0 - T2 is not included in the stage group definition\n* Stage Group IIB - T3, N0, M0 - T3 is not included in the stage group definition\n\n**Note 3:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2022-07-13T21:21:55.079Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "T1a ", "N0", "M0" ], [ "2A", "IIA ", "T1b,1c,2,2a", "N0", "M0" ], [ "2B", "IIB ", "T3,3a ", "N0", "M0" ], [ "3", "III ", "T4 ", "N0", "M0" ], [ "3A", "IIIA", "T4a ", "N0", "M0" ], [ "3B", "IIIB", "T4b ", "N0", "M0" ], [ "4", "IV", "Any T \nAny T", "N1 \nAny N", "M0 \nM1,1a-1c" ], [ "99", "Unknown", "T0,1,X\nAny T", "N0\nNX", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_61212.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_61212.json deleted file mode 100644 index aaaa13ae8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_61212.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_61212", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.\n* Stage Group IV (as defined in this table)\n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n * Stage Group III - Tis, N1, M0 - Tis is not included in the stage group definition\n * Stage Group IVA - (T0,Tis), (N2 [NOS], N2a-N2c), M0 - Neither T0 nor Tis are included in the stage group definition", - "last_modified" : "2018-05-14T21:29:00.928Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis ", "N0,X", "M0" ], [ "1", "I", "T1,1a,1b", "N0", "M0" ], [ "2", "II", "T2 ", "N0", "M0" ], [ "3", "III", "T3\nTis,T1,1a,1b,2,3", "N0\nN1", "M0\nM0" ], [ "4", "IV", "T4,4a\nT4 \nTX", "NX \nN0,1,2,2a-2c \nN2,2a-2c", "M0\nM0\nM0" ], [ "4A", "IVA", "Tis,T0,1,1a,1b,2,3\nT4a", "N2,2a-2c \nN0,1,2,2a-2c", "M0\nM0" ], [ "4B", "IVB", "Any T\nT4b", "N3\nAny N", "M0\nM0" ], [ "4C", "IVC", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0 \nT1,1a,1b,2,3\nTX", "N0,1,X \nNX \nN0,1,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_63631.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_63631.json deleted file mode 100644 index 8d66666ab..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_63631.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "id" : "stage_group_p_63631", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)\n\n**Note 2:** The stage group below is not defined in UICC 7th edition, defined in AJCC 7th edition, approved by UICC.\n* Stage 0 - pTis, N0, M0, Grade X, Any Histology\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group 0 - Tis, NX, M0, Grade 2-4, Adenocarcinoma - NX is not included in the stage group definition\n* Stage Group IIB - T0, N1, M0, Any Grade, Adenocarcinoma - T0 is not included in the stage group definition\n* Stage Group IIIA - T0, N2, M0, Any Grade, Adenocarcinoma - T0 is not included in the stage group definition\n* Stage Group IIIA - T4 [NOS], N0, M0, Any Grade, Any Histology - T4 [NOS] is not included in the stage group definition\n* Stage Group IIIC - T4 [NOS], (N1, N2), M0, Any Grade, Any Histology - T4 [NOS] is not included in the stage group definition\n\n**Note 4:** Stage groups are based on histology, which is divided as follows \n* Squamous 8000-8046,8051-8131,8148-8157,8230-8249,8508,8510-8513,8560-8570,8575,8950,8980-8981 \n* Adenocarcinoma 8050,8140-8147,8160-8162,8170-8175,8180-8221,8250-8507,8514-8551,8571-8574,8576,8940-8941", - "last_modified" : "2018-05-14T21:29:01.869Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "DESCRIPTION" - }, { - "key" : "histology", - "name" : "Histology", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis\nTis", "N0,X\nNX", "M0\nM0", "1,9\n2-4", "Any Histology\nAdenocarcinoma" ], [ "1A", "IA", "T1,1a,1b\nT1,1a,1b", "N0\nN0", "M0\nM0", "1,9\n2", "Any Histology \nAdenocarcinoma" ], [ "1B", "IB", "T1,1a,1b\nT1,1a,1b\nT2 \nT2,3", "N0\nN0\nN0\nN0", "M0\nM0\nM0\nM0", "2 \n3,4 \n1,2,9\n1,9", "Squamous \nAny Histology \nAdenocarcinoma\nSquamous" ], [ "2A", "IIA", "T2 \nT2,3", "N0\nN0", "M0\nM0", "3,4\n2-4", "Adenocarcinoma\nSquamous" ], [ "2B", "IIB", "T3 \nT0 \nTis,T1,1a,1b,2", "N0\nN1\nN1", "M0\nM0\nM0", "Any Grade\nAny Grade \nAny Grade", "Adenocarcinoma \nAdenocarcinoma \nAny Histology" ], [ "3", "III", "T0,X \nT4,4a", "N2\nNX", "M0\nM0", "Any Grade\nAny Grade", "Squamous \nSquamous" ], [ "3A", "IIIA", "T0 \nTis,T1,1a,1b,2\nT3 \nT4,4a", "N2\nN2\nN1\nN0", "M0\nM0\nM0\nM0", "Any Grade\nAny Grade\nAny Grade\nAny Grade", "Adenocarcinoma\nAny Histology \nAny Histology \nAny Histology" ], [ "3B", "IIIB", "T3", "N2", "M0", "Any Grade", "Any Histology" ], [ "3C", "IIIC", "T4,4a \nT4b \nAny T", "N1,2 \nAny N \nN3", "M0\nM0\nM0", "Any Grade\nAny Grade\nAny Grade", "Any Histology\nAny Histology\nAny Histology" ], [ "4", "IV", "Any T", "Any N", "M1", "Any Grade", "Any Histology" ], [ "99", "Unknown", "Tis\nTis\nT0\nT0 \nT0,1,1a,1b,2,3\nT4,4a \nTX \nTX", "N0\nNX\nN0\nN1 \nNX \nNX \nN0,1,X\nN2", "M0\nM0\nM0\nM0\nM0\nM0\nM0\nM0", "2-4\n2-4\nAny Grade\nAny Grade\nAny Grade\nAny Grade\nAny Grade\nAny Grade", "Any Histology\nSquamous \nAny Histology\nSquamous \nAny Histology \nAdenocarcinoma \nAny Histology \nAdenocarcinoma" ], [ "88", "Not Applicable", "88", "88", "88", "Any Grade", "Any Histology" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_65545.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_65545.json deleted file mode 100644 index ba1daedbd..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_65545.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_65545", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IIA (as defined in the table)\n* Stage Group IIB (as defined in the table)\n* Stage Group III (as defined in the table)\n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group IIIC - T0, N1, M0 - T0 is not included in the stage group definition\n\n**Note 3:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2022-07-13T21:21:41.075Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "T1 ", "N0", "M0" ], [ "1A", "IA ", "T1a", "N0", "M0" ], [ "1B", "IB ", "T1b", "N0", "M0" ], [ "2", "II ", "T2 ", "N0", "M0" ], [ "2A", "IIA", "T2a", "N0", "M0" ], [ "2B", "IIB", "T2b", "N0", "M0" ], [ "3", "III", "T3 \nT3,3a,3b", "N0\nNX", "M0\nM0" ], [ "3A", "IIIA ", "T3a ", "N0 ", "M0" ], [ "3B", "IIIB ", "T3b ", "N0 ", "M0" ], [ "3C", "IIIC ", "T0,1,1a,1b,2,2a,2b,3,3a,3b", "N1 ", "M0" ], [ "4A", "IVA ", "T4 ", "Any N", "M0" ], [ "4B", "IVB ", "Any T ", "Any N", "M1" ], [ "99", "Unknown", "T0\nT0,1,1a,1b,2,2a,2b\nTX", "N0\nNX \nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_66747.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_66747.json deleted file mode 100644 index c78f01e47..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_66747.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_66747", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group II (as defined in this table)\n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group IIB - T0, N1, M0 - T0 is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:29.119Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0" ], [ "1A", "IA ", "T1 ", "N0 ", "M0" ], [ "1B", "IB ", "T2 ", "N0 ", "M0" ], [ "2", "II ", "T3 ", "NX ", "M0" ], [ "2A", "IIA", "T3 ", "N0 ", "M0" ], [ "2B", "IIB", "Tis,T0-3", "N1 ", "M0" ], [ "3", "III", "T4 ", "Any N", "M0" ], [ "4", "IV", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nT0-2\nTX", "N0\nNX\nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_66915.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_66915.json deleted file mode 100644 index 3f6d8d117..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_66915.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_66915", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group I (as defined in the table)\n* Stage Group III (as defined in the table)", - "last_modified" : "2022-07-13T21:21:50.403Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X ", "M0" ], [ "1", "I", "T2 ", "N0 ", "M0" ], [ "1A", "IA ", "T1 ", "N0 ", "M0" ], [ "1B", "IB ", "T2a ", "N0 ", "M0" ], [ "1C", "IC ", "T2b ", "N0 ", "M0" ], [ "2", "II ", "T3a ", "N0 ", "M0" ], [ "3", "III ", "T3b ", "NX ", "M0" ], [ "3A", "IIIA", "T3b ", "N0 ", "M0" ], [ "3B", "IIIB", "Tis,T0,1,2,2a,2b,3,3a,3b,X", "N1 ", "M0" ], [ "3C", "IIIC", "T4 ", "Any N", "M0" ], [ "4", "IV", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nT0,1,2,2a,2b,3,3a,X\nT3,X", "N0\nNX\nN0", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_67704.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_67704.json deleted file mode 100644 index c516c7e8a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_67704.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_67704", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IV (as defined in this table)\n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n * Stage Group II - Tis, N1, M0 - Tis is not included in the stage group definition\n * Stage Group III - Tis, N2, M0 - Tis is not included in the stage group definition", - "last_modified" : "2018-05-14T21:28:59.988Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X", "M0" ], [ "1", "I", "T1 ", "N0 ", "M0" ], [ "2", "II", "Tis,T1\nT2", "N1 \nN0,1", "M0\nM0" ], [ "3", "III", "Tis,T1,2 \nT3", "N2 \nN0-2", "M0\nM0" ], [ "4", "IV", "T4 ", "NX ", "M0" ], [ "4A", "IVA", "T4 ", "N0-2 ", "M0" ], [ "4B", "IVB", "Any T", "N3,3a,3b", "M0" ], [ "4C", "IVC", "Any T", "Any N ", "M1" ], [ "99", "Unknown", "T0 \nT1-3 \nTX", "N0,1,2,X\nNX \nN0,1,2,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_71358.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_71358.json deleted file mode 100644 index 33575d3bc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_71358.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_p_71358", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.\n\n**Note 2:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2022-07-13T21:21:32.572Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1A", "IA", "T1,2", "N0,X", "M0", "000-050,988,990" ], [ "1B", "IB", "T3 ", "N0,X", "M0", "000-050,988,990" ], [ "2", "II", "T1,2\nT4", "N0,X\nN0,X", "M0\nM0", "051-110,991 \n000-050,988,990" ], [ "3A", "IIIA", "T3", "N0,X", "M0", "051-110,991" ], [ "3B", "IIIB", "T4", "N0,X", "M0", "051-110,991 " ], [ "4", "IV", "Any T\nAny T", "N1 \nAny N", "M0\nM1", "Any Rate\nAny Rate" ], [ "99", "Unknown", "T0\nT1-4\nTX", "N0,X\nN0,X\nN0,X", "M0\nM0\nM0", "Any Rate\n996,998,999\nAny Rate" ], [ "88", "Not Applicable", "88", "88", "88", "Any Rate " ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_72316.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_72316.json deleted file mode 100644 index e1fa192d4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_72316.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_72316", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group III - T0, N1, M0 - T0 is not included in the stage group definition\n* Stage Group III - T3, NX, M0 - NX is not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:06.749Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Tis", "N0,X", "M0" ], [ "1", "I", "T1", "N0 ", "M0" ], [ "2", "II", "T2", "N0 ", "M0" ], [ "3", "III", "T3 \nTis,T0-2", "Any N\nN1", "M0\nM0" ], [ "4A", "IVA", "T4 ", "Any N", "M0" ], [ "4B", "IVB", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nT0-2\nTX", "N0\nNX\nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_74045.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_74045.json deleted file mode 100644 index 7eeb5a783..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_74045.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_74045", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group IV - T4, NX, M0 - NX is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:27.400Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0A", "0A ", "Ta ", "N0,X", "M0" ], [ "0IS", "0IS", "Tis", "N0,X", "M0" ], [ "1", "I", "T1", "N0", "M0" ], [ "2", "II", "T2", "N0", "M0" ], [ "3", "III", "T3", "N0", "M0" ], [ "4", "IV", "T4 \nAny T\nAny T", "N0,X \nN1-3 \nAny N", "M0\nM0\nM1" ], [ "99", "Unknown", "T0\nT0-3\nTX", "N0\nNX\nN0,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_75705.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_75705.json deleted file mode 100644 index 9fa624dcf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_75705.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_75705", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group III - T0, N1, M0 - T0 is not included in the stage group definition\n* Stage Group IV - T4, NX, M0 - NX is not included in the stage group definition", - "last_modified" : "2018-05-14T21:29:02.669Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0A", "0A", "Ta ", "N0,X", "M0" ], [ "0IS", "0IS", "Tis,ispu,ispd", "N0,X", "M0" ], [ "1", "I", "T1 ", "N0 ", "M0" ], [ "2", "II", "T2 ", "N0 ", "M0" ], [ "3", "III", "Ta,Tis,ispu,ispd,T0-2\nT3", "N1 \nN0,1", "M0\nM0" ], [ "4", "IV", "T4 \nAny T\nAny T", "Any N\nN2 \nAny N", "M0\nM0\nM1" ], [ "99", "Unknown", "T0\nTX \nT0-3", "N0\nN0,1,X\nNX", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_78345.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_78345.json deleted file mode 100644 index 5e2dd46d5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_78345.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_78345", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* T2 (Stage Group II is defined by AJCC as T2, N0, M0)\n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage 0 - pTis, (N0, NX), M0\n\n**Note 3:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group IVA - T4, NX, M0 - NX is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:35.440Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0" ], [ "1", "I ", "T1 ", "N0 ", "M0" ], [ "2", "II ", "T2,2a,2b ", "N0 ", "M0" ], [ "3", "III", "T3 ", "N0 ", "M0" ], [ "4A", "IVA", "T4 \nAny T", "N0,X\nN1", "M0\nM0" ], [ "4B", "IVB", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nT0,1,2,2a,2b,3\nTX", "N0\nNX \nN0,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_78368.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_78368.json deleted file mode 100644 index 3dc6659d5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_78368.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_78368", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IV (as defined in this table)\n\n**Note 2:** The following stage groups are defined in UICC, but not AJCC\n* Stage Group II (as defined in this table)\n* Stage Group III (as defined in this table)\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IIIA - T0, (N1 [NOS], N1a, N1b, N1c, N2a), M0 - T0 is not included in the stage group definition\n* Stage Group IIIB - T0, N2b, M0 - T0 is not included in the stage group definition\n* Stage Group IIIB - T2, N2, M0 - N2 is not included in the stage group definition\n* Stage Group IIIB - T4 [NOS], (N1 [NOS], N1a-N1c), M0 - T4 not included in the stage group definition\n* Stage Group IIIC - (T4 [NOS], T4a), N2, M0 - N2 is not included in the stage group definition\n* Stage Group IIIC - T4 [NOS], (N2a, N2b), M0 - T4 not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:38.781Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X", "M0" ], [ "1", "I ", "T1,2", "N0 ", "M0" ], [ "2", "II ", "T4 ", "N0 ", "M0" ], [ "2A", "IIA", "T3 ", "N0 ", "M0" ], [ "2B", "IIB", "T4a ", "N0 ", "M0" ], [ "2C", "IIC", "T4b ", "N0 ", "M0" ], [ "3", "III", "Tis,T0,1,3\nTX", "N2 \nN1,1a-1c,2,2a,2b", "M0\nM0" ], [ "3A", "IIIA", "Tis,T0-2\nTis,T0,1", "N1,1a-1c\nN2a", "M0\nM0" ], [ "3B", "IIIB", "T3,4,4a\nT2 \nT2,3 \nTis,T0-2", "N1,1a-1c \nN2 \nN2a \nN2b", "M0\nM0\nM0\nM0" ], [ "3C", "IIIC", "T4,4a \nT3,4,4a\nT4b", "N2,2a \nN2b \nN1,1a-1c,2,2a,2b", "M0\nM0\nM0" ], [ "4", "IV ", "Any T", "Any N", "M1 " ], [ "4A", "IVA ", "Any T", "Any N", "M1a" ], [ "4B", "IVB ", "Any T", "Any N", "M1b" ], [ "99", "Unknown", "T0\nT0-3,4,4a,4b\nTX", "N0\nNX \nN0,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79654.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79654.json deleted file mode 100644 index 93a9a5333..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79654.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_p_79654", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic.\n* Stage Group I (as defined in this table)\n* Stage Group II (as defined in this table)\n\n**Note 2:** The TNM combinations are valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage IA - T1b, N0, M0, Grade (988, 998, 999)\n* Stage IB - T2b, N0, M0, Grade (988, 998, 999)", - "last_modified" : "2022-07-13T21:21:29.988Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "ssf1", - "name" : "Grade (SSF1)", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "TX ", "N0", "M0", "010,100,988,998,999" ], [ "1A", "IA ", "T1b", "N0", "M0", "010,100,988,998,999" ], [ "1B", "IB ", "T2b", "N0", "M0", "010,100,988,998,999" ], [ "2", "II ", "TX ", "N0", "M0", "020 " ], [ "2A", "IIA", "T1b", "N0", "M0", "020,030,200 " ], [ "2B", "IIB", "T2b", "N0", "M0", "020 " ], [ "3", "III", "T2b\nAny T", "N0\nN1", "M0\nM0", "030,200 \nAny" ], [ "4", "IV", "Any T", "Any N", "M1", "Any" ], [ "99", "Unknown", "T0\nAny T\nTX", "N0\nNX\nN0", "M0\nM0\nM0", "Any\nAny \n030,200" ], [ "88", "Not Applicable", "88", "88", "88", "Any" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79934.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79934.json deleted file mode 100644 index 2bcd795f9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79934.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_79934", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IIA (as defined in the table)\n* Stage Group IIB (as defined in the table)\n* Stage Group III (as defined in the table)\n\n**Note 2:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group IIIC - T0, N1, M0 - T0 is not included in the stage group definition\n\n**Note 3:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2022-07-13T21:21:54.294Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "T1 ", "N0", "M0" ], [ "1A", "IA ", "T1a", "N0", "M0" ], [ "1B", "IB ", "T1b", "N0", "M0" ], [ "1C", "IC ", "T1c", "N0", "M0" ], [ "2", "II ", "T2 ", "N0", "M0" ], [ "2A", "IIA", "T2a", "N0", "M0" ], [ "2B", "IIB", "T2b", "N0", "M0" ], [ "3", "III", "T3 \nT3,3a,3b", "N0\nNX", "M0\nM0" ], [ "3A", "IIIA ", "T3a ", "N0 ", "M0" ], [ "3B", "IIIB ", "T3b ", "N0 ", "M0" ], [ "3C", "IIIC ", "T0,1,1a-1c,2,2a,2b,3,3a,3b", "N1 ", "M0" ], [ "4A", "IVA ", "T4 ", "Any N ", "M0" ], [ "4B", "IVB ", "Any T ", "Any N ", "M1" ], [ "99", "Unknown", "T0\nT0,1,1a-1c,2,2a,2b\nTX", "N0\nNX \nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79956.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79956.json deleted file mode 100644 index 0f6d8963e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_79956.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_p_79956", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group I - as defined in this table\n* Stage Group II - as defined in this table\n\n**Note 2:** The TNM combinations are valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage IA - (T1a, T1b), N0, M0, Grade (988, 998, 999)\n* Stage IB - (T2a, T2b), N0, M0, Grade (988, 998, 999)\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IA - T1, N0, M0, Grade (010, 100, 988, 998, 999) - T1 is not included in the stage group definition\n* Stage Group IB - T2, N0, M0, Grade (010, 100, 988, 998, 999) - T2 is not included in the stage group definition\n* Stage Group IIA - T1, N0, M0, Grade (020, 030, 200) - T1 is not included in the stage group definition\n* Stage Group IIB - T2, N0, M0, Grade (020) - T2 is not included in the stage group definition\n* Stage Group III - T2, N0, M0, Grade (030, 200) - T2 is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:31.432Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "ssf1", - "name" : "Grade (SSF1)", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "TX ", "N0", "M0", "010,100,988,998,999" ], [ "1A", "IA ", "T1,1a,1b", "N0", "M0", "010,100,988,998,999" ], [ "1B", "IB ", "T2,2a,2b", "N0", "M0", "010,100,988,998,999" ], [ "2", "II ", "TX ", "N0", "M0", "020" ], [ "2A", "IIA", "T1,1a,1b", "N0", "M0", "020,030,200" ], [ "2B", "IIB", "T2,2a,2b", "N0", "M0", "020" ], [ "3", "III", "T2,2a,2b\nAny T", "N0\nN1", "M0\nM0", "030,200\nAny" ], [ "4", "IV", "Any T", "Any N", "M1", "Any" ], [ "99", "Unknown", "T0\nAny T\nTX", "N0\nNX\nN0", "M0\nM0\nM0", "Any\nAny\n030,200" ], [ "88", "Not Applicable", "88", "88", "88", "Any" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_81228.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_81228.json deleted file mode 100644 index 3e2f178ca..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_81228.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_81228", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)", - "last_modified" : "2022-07-13T21:21:39.691Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "T1 ", "N0 ", "M0" ], [ "2", "II ", "T2 ", "N0 ", "M0" ], [ "3", "III ", "T3 ", "N0 ", "M0" ], [ "3A", "IIIA ", "T3a ", "N0 ", "M0" ], [ "3B", "IIIB ", "T3b ", "N0 ", "M0" ], [ "3C", "IIIC ", "T4 ", "N0 ", "M0" ], [ "4A", "IVA ", "Any T", "N1 ", "M0" ], [ "4B", "IVB ", "Any T", "Any N", "M1" ], [ "99", "Unknown", "Any T\nT0,X", "NX\nN0", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_82326.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_82326.json deleted file mode 100644 index 3332acae5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_82326.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_82326", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* T3 (Stage Group III is defined as T3, N0, M0)\n\n**Note 2:** The stage groups below are valid in AJCC 7th edition, but not UICC. Approved by UICC.\n* Stage Group 0 (as defined in the table)\n* Stage Group I (as defined in the table)\n* Stage Group III (as defined in the table)\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group III - (T3 [NOS], T3b), NX, M0 - NX is not included in the stage group definition\n* Stage Group IIIA - T3a, NX, M0 - NX is not included in the stage group definition\n* Stage Group IIIC1 - T0, N1, M0 - T0 is not included in the stage group definition\n* Stage Group IIIC2 - T0, N2, M0 - T0 is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:54.020Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X", "M0" ], [ "1", "I ", "T1 ", "N0 ", "M0" ], [ "1A", "IA ", "T1a ", "N0 ", "M0" ], [ "1B", "IB ", "T1b ", "N0 ", "M0" ], [ "2", "II ", "T2 ", "N0 ", "M0" ], [ "3", "III ", "T3 \nT3,3b", "N0\nNX", "M0\nM0" ], [ "3A", "IIIA ", "T3a ", "N0,X ", "M0" ], [ "3B", "IIIB ", "T3b ", "N0 ", "M0" ], [ "3C1", "IIIC1 ", "Tis,T0,1,1a,1b,2,3,3a,3b", "N1 ", "M0" ], [ "3C2", "IIIC2 ", "Tis,T0,1,1a,1b,2,3,3a,3b", "N2 ", "M0" ], [ "4A", "IVA ", "T4 ", "Any N ", "M0" ], [ "4B", "IVB ", "Any T ", "Any N ", "M1" ], [ "99", "Unknown", "T0\nT0,1,1a,1b,2 \nTX", "N0\nNX \nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_82525.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_82525.json deleted file mode 100644 index 6b2863483..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_82525.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_p_82525", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III\n\n**Note 2:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:28:59.995Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1,2", "N0,X", "M0", "000-050,988,990" ], [ "2", "II", "T3 ", "N0,X", "M0", "000-050,988,990" ], [ "3", "III", "T4 ", "N0,X", "M0", "996,998,999 " ], [ "3A", "IIIA", "T1\nT4", "N0,X\nN0,X", "M0\nM0", "051-110,991 \n000-050,988,990" ], [ "3B", "IIIB", "T2-4", "N0,X", "M0", "051-110,991 " ], [ "4", "IV", "Any T\nAny T", "N1 \nAny N", "M0\nM1", "Any Rate\nAny Rate" ], [ "99", "Unknown", "T0\nT1-3\nTX", "N0,X\nN0,X\nN0,X", "M0\nM0\nM0", "Any Rate\n996,998,999\nAny Rate" ], [ "88", "Not Applicable", "88", "88", "88", "Any Rate " ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_83975.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_83975.json deleted file mode 100644 index 55f6a5fee..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_83975.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_83975", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group II - T2, N0, M0 - T2 is not included in the stage group definition\n* Stage Group III - T3, N0, M0 - T3 is not included in the stage group definition\n* Stage Group IV - T4b, NX, M0 - NX is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:34.748Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0A", "0a ", "Ta ", "N0,X ", "M0 " ], [ "0IS", "0is", "Tis ", "N0,X ", "M0 " ], [ "1", "I ", "T1 ", "N0 ", "M0 " ], [ "2", "II ", "T2,2a,2b", "N0 ", "M0 " ], [ "3", "III", "T3,3a,3b\nT4a", "N0\nN0", "M0\nM0" ], [ "4", "IV", "T4b \nAny T\nAny T", "N0,X \nN1-3 \nAny N", "M0 \nM0 \nM1" ], [ "99", "Unknown", "T0,1,2,2a,2b,3,3a,3b,4,4a,X\nT0,4,X", "NX\nN0", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_84556.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_84556.json deleted file mode 100644 index 2d5c056a8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_84556.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "id" : "stage_group_p_84556", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IV (as defined in the table)\n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group IIA - T1, NX, M0 (Grade 3,4) - NX is not included in the stage group definition\n* Stage Group IIB - T2, NX, M0 (Grade 3,4) - NX is not included in the stage group definition \n* Stage Group III - T3, NX, M0 (Grade 3, 4) - NX is not included in the stage group definition\n* Stage Group IVA - Any T, NX, M1a, Any Grade - NX is not included in the stage group definition\n\n**Note 3:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA for non-Ewing histologies.\n* Stage Group IA - T1, NX, M0, Grade (1, 2, 9) - NX is not included in the stage group definition\n* Stage Group IB - (T2, T3), NX, M0, Grade (1, 2, 9) - NX is not included in the stage group definition \n\n**Note 4:** Ewing sarcoma (ICD-O-3 Histology 9260, 9364) is always classified as High Grade (3 or 4). Ewing sarcoma should NOT be assigned Stage group IA or IB.", - "last_modified" : "2022-07-13T21:21:37.441Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "DESCRIPTION" - }, { - "key" : "histology", - "name" : "Histology", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1A", "IA ", "T1 ", "N0,X", "M0 ", "1,2,9 ", "NOT 9260, 9364 (Not Ewing)" ], [ "1B", "IB ", "T2,3 ", "N0,X", "M0 ", "1,2,9 ", "NOT 9260, 9364 (Not Ewing)" ], [ "2A", "IIA", "T1 ", "N0,X", "M0 ", "3,4 ", "Any Histology " ], [ "2B", "IIB", "T2 ", "N0,X", "M0 ", "3,4 ", "Any Histology " ], [ "3", "III", "T3 ", "N0,X", "M0 ", "3,4 ", "Any Histology " ], [ "4", "IV ", "Any T", "N0,X", "M1 ", "Any Grade", "Any Histology " ], [ "4A", "IVA", "Any T", "N0,X", "M1a", "Any Grade", "Any Histology " ], [ "4B", "IVB", "Any T\nAny T", "N1 \nAny N", "M0,1,1a \nM1b", "Any Grade\nAny Grade", "Any Histology\nAny Histology" ], [ "99", "Unknown", "T0\nTX", "N0\nN0,X", "M0\nM0", "Any Grade\nAny Grade", "Any Histology \nAny Histology" ], [ "88", "Not Applicable", "88", "88", "88", "Any Grade", "Any Histology " ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_8501.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_8501.json deleted file mode 100644 index b041d785d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_8501.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_8501", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)\n\n**Note 2:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:00.329Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I", "T1a ", "N0", "M0" ], [ "2A", "IIA", "T1b-1d,2a ", "N0", "M0" ], [ "2B", "IIB", "T2b,3a ", "N0", "M0" ], [ "3", "III", "T4 ", "N0", "M0" ], [ "3A", "IIIA", "T2c,2d\nT3b,3c\nT4a", "N0\nN0\nN0", "M0\nM0\nM0" ], [ "3B", "IIIB", "T3d \nT4b,4c", "N0\nN0", "M0\nM0" ], [ "3C", "IIIC", "T4d,4e", "N0", "M0" ], [ "4", "IV", "Any T \nAny T", "N1 \nAny N", "M0 \nM1,1a-1c" ], [ "99", "Unknown", "T0,1-3,X\nAny T", "N0\nNX", "M0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_8706.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_8706.json deleted file mode 100644 index 774ff3815..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_8706.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_8706", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The stage group below is valid in AJCC 7th edition, but not UICC. Approved by UICC.\n* Stage Group III\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA:\n* Stage Group III - (T3, T3a, T3b), NX, M0 - NX is not included in the stage group definition\n* Stage Group IIIC - T3c, NX, M0 - NX is not included in the stage group definition\n\n**Note 4:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2018-05-14T21:29:01.434Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "3", "III", "T3 ", "N0,X", "M0" ], [ "3A", "IIIA", "T3a", "N0 ", "M0" ], [ "3B", "IIIB", "T3b", "N0 ", "M0" ], [ "3C", "IIIC", "T3c \nAny T", "N0,X\nN1", "M0\nM0" ], [ "4", "IV", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nT0,3a,3b\nTX", "N0\nNX \nN0,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_89660.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_89660.json deleted file mode 100644 index 36f77e138..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_89660.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_89660", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group II (as defined in the table)", - "last_modified" : "2022-07-13T21:21:35.677Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0" ], [ "1A", "IA ", "T1 ", "N0 ", "M0" ], [ "1B", "IB ", "T2 ", "N0 ", "M0" ], [ "2", "II ", "T3 ", "NX ", "M0" ], [ "2A", "IIA ", "T3 ", "N0 ", "M0" ], [ "2B", "IIB ", "Tis,T1-3", "N1 ", "M0" ], [ "3", "III ", "T4 ", "Any N", "M0" ], [ "4", "IV ", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0 \nT0-2\nTX", "N0,1 \nNX \nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_90233.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_90233.json deleted file mode 100644 index 30dd17a20..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_90233.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_90233", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The stage groups below are valid in AJCC 7th edition, but not UICC. Approved by UICC.\n* Stage Group I \n* Stage Group II \n* Stage Group III\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA:\n* Stage Group III - (T3, T3a, T3b), NX, M0 - NX is not included in the stage group definition\n* Stage Group IIIC - T3c, NX, M0 - NX is not included in the stage group definition\n\n**Note 4:** TNM does not include an in situ category for this schema. Assign 88 to stage group for in situ cases.", - "last_modified" : "2022-07-13T21:21:28.832Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "I ", "T1 ", "N0", "M0" ], [ "1A", "IA ", "T1a ", "N0", "M0" ], [ "1B", "IB ", "T1b ", "N0", "M0" ], [ "1C", "IC ", "T1c ", "N0", "M0" ], [ "2", "II ", "T2 ", "N0", "M0" ], [ "2A", "IIA", "T2a ", "N0", "M0" ], [ "2B", "IIB", "T2b ", "N0", "M0" ], [ "2C", "IIC", "T2c ", "N0", "M0" ], [ "3", "III", "T3 \nT3,3a,3b", "N0\nNX", "M0\nM0" ], [ "3A", "IIIA", "T3a", "N0", "M0" ], [ "3B", "IIIB", "T3b", "N0", "M0" ], [ "3C", "IIIC", "T3c \nAny T", "N0,X\nN1", "M0\nM0" ], [ "4", "IV", "Any T", "Any N ", "M1" ], [ "99", "Unknown", "T0\nT0,1,1a-1c,2,2a-2c\nTX", "N0\nNX \nN0,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_92581.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_92581.json deleted file mode 100644 index d78ddeafb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_92581.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_92581", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group III (as defined in the table)", - "last_modified" : "2018-05-14T21:29:01.150Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X", "M0" ], [ "1", "I ", "T1 ", "N0 ", "M0" ], [ "2", "II ", "T2,3", "N0 ", "M0" ], [ "3", "III", "T0,X\nT4", "N1\nNX", "M0\nM0" ], [ "3A", "IIIA", "Tis,T1-3\nT4", "N1\nN0", "M0\nM0" ], [ "3B", "IIIB", "T4 \nAny T", "N1 \nN2,3", "M0\nM0" ], [ "4", "IV", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nT0-3\nTX", "N0\nNX \nN0,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_93370.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_93370.json deleted file mode 100644 index 7d041b910..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_93370.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_93370", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group IV (as defined in the table).\n\n**Note 2:** The TNM combination is valid in AJCC 7th, but not UICC 7th, approved by UICC.\n* Stage IVB - Any T, N2, M0\n\n**Note 3:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group II - T2, N0, M0 - T2 is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:35.086Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0 " ], [ "1", "I ", "T1 ", "N0 ", "M0 " ], [ "2", "II ", "T2,2a,2b ", "N0 ", "M0 " ], [ "3A", "IIIA", "T3 ", "N0 ", "M0 " ], [ "3B", "IIIB", "Tis,T1,2,2a,2b,3", "N1 ", "M0 " ], [ "4", "IV ", "T4", "NX ", "M0 " ], [ "4A", "IVA ", "T4 ", "N0,1 ", "M0 " ], [ "4B", "IVB ", "Any T\nAny T", "N2 \nAny N", "M0\nM1" ], [ "99", "Unknown", "T0 \nT1,2,2a,2b,3 \nTX", "N0,1,X \nNX \nN0,1,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_94665.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_94665.json deleted file mode 100644 index 34425ee8b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_94665.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_94665", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** The stage groups below are valid in AJCC 7th edition, but not UICC. Approved by UICC.\n* Stage Group I\n* Stage Group II\n* Stage Group III\n\n**Note 3:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group III - (T3, T3a, T3b), NX, M0 - NX is not included in the stage group definition\n* Stage Group IIIC - T3c, NX, M0 - NX is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:41.383Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis", "N0,X", "M0" ], [ "1", "I ", "T1 ", "N0 ", "M0" ], [ "1A", "IA ", "T1a", "N0 ", "M0" ], [ "1B", "IB ", "T1b", "N0 ", "M0" ], [ "1C", "IC ", "T1c", "N0 ", "M0" ], [ "2", "II ", "T2 ", "N0 ", "M0" ], [ "2A", "IIA", "T2a", "N0 ", "M0" ], [ "2B", "IIB", "T2b", "N0 ", "M0" ], [ "2C", "IIC", "T2c", "N0 ", "M0" ], [ "3", "III", "T3 \nT3,3a,3b", "N0\nNX", "M0\nM0" ], [ "3A", "IIIA", "T3a ", "N0", "M0" ], [ "3B", "IIIB", "T3b ", "N0", "M0" ], [ "3C", "IIIC", "Any T\nT3c", "N1 \nAny N", "M0\nM0" ], [ "4", "IV", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nT0,1,1a-1c,2,2a-2c\nTX", "N0\nNX \nN0,X", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_95243.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_95243.json deleted file mode 100644 index 82748c26b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_95243.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id" : "stage_group_p_95243", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n\n**Note 2:** While the stage groups below are valid, the specified TNM combinations are only included in SEER*RSA.\n* Stage Group III - (T3, T3a), NX, M0 - NX is not included in the stage group definition\n* Stage Group IIIB - T0, N1, M0 - T0 is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:36.808Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X ", "M0" ], [ "1", "I ", "T1 ", "N0 ", "M0" ], [ "1A", "IA ", "T1a", "N0 ", "M0" ], [ "1A1", "IA1 ", "T1a1", "N0 ", "M0" ], [ "1A2", "IA2 ", "T1a2", "N0 ", "M0" ], [ "1B", "IB ", "T1b ", "N0 ", "M0" ], [ "1B1", "IB1 ", "T1b1", "N0 ", "M0" ], [ "1B2", "IB2 ", "T1b2", "N0 ", "M0" ], [ "2", "II ", "T2 ", "N0 ", "M0" ], [ "2A", "IIA ", "T2a ", "N0 ", "M0" ], [ "2A1", "IIA1", "T2a1", "N0 ", "M0" ], [ "2A2", "IIA2", "T2a2", "N0 ", "M0" ], [ "2B", "IIB ", "T2b ", "N0 ", "M0" ], [ "3", "III ", "T3 \nT3,3a", "N0\nNX", "M0\nM0" ], [ "3A", "IIIA", "T3a", "N0 ", "M0" ], [ "3B", "IIIB", "Tis,T0,1,1a-1b2,2,2a-2b,3,3a,3b\nT3b", "N1 \nN0,X", "M0\nM0" ], [ "4A", "IVA ", "T4 ", "Any N", "M0" ], [ "4B", "IVB ", "Any T", "Any N", "M1" ], [ "99", "Unknown", "T0\nT0,1,1a-1b2,2,2a-2b\nTX", "N0\nNX \nAny N", "M0\nM0\nM0" ], [ "88", "Not Applicable", "88", "88", "88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_96481.json b/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_96481.json deleted file mode 100644 index 9155193d4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stage_group_p_96481.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "stage_group_p_96481", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stage Group (p)", - "title" : "TNM 7 Stage Group", - "notes" : "**Note 1:** SEER*RSA added additional information to UICC 7th edition stages with UICC approval. If your registry submits the directly assigned Stage Groups to agencies other than SEER, please check the AJCC 7th edition manual to ensure you are using the appropriate logic. \n* Stage Group II (as defined in the table)\n* Stage Group III (as defined in the table)\n* Stage Group IV (as defined in the table)\n\n**Note 2:** The stage group below is valid in UICC 7th edition ERRATA, but not AJCC 7th edition.\n* Stage Group IVB - Any T, N0, M1a, Grade 4\n\n**Note 3:** While the stage group below is valid, the specified TNM combination is only included in SEER*RSA.\n* Stage Group IVA - Any T, N0, M1a, Grade X - Grade X is not included in the stage group definition", - "last_modified" : "2022-07-13T21:21:35.925Z", - "definition" : [ { - "key" : "path_stage_group_direct", - "name" : "Stage", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct_display", - "name" : "Stage Display", - "type" : "DESCRIPTION" - }, { - "key" : "t", - "name" : "T", - "type" : "DESCRIPTION" - }, { - "key" : "n", - "name" : "N", - "type" : "DESCRIPTION" - }, { - "key" : "m", - "name" : "M", - "type" : "DESCRIPTION" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0 ", "Tis ", "N0,X", "M0", "Any Grade" ], [ "1", "I ", "T1,2 ", "N0 ", "M0", "Any Grade" ], [ "2", "II ", "T4 ", "N0 ", "M0", "Any Grade" ], [ "2A", "IIA ", "T3 ", "N0 ", "M0", "Any Grade" ], [ "2B", "IIB ", "T4a ", "N0 ", "M0", "Any Grade" ], [ "2C", "IIC ", "T4b ", "N0 ", "M0", "Any Grade" ], [ "3", "III", "T0,X ", "N1 ", "M0", "Any Grade" ], [ "3A", "IIIA", "Tis,T1,2", "N1 ", "M0", "Any Grade" ], [ "3B", "IIIB", "T3,4,4a,4b ", "N1 ", "M0", "Any Grade" ], [ "3C", "IIIC", "Any T", "N2 ", "M0", "Any Grade" ], [ "4", "IV ", "Any T\nAny T", "Any N \nNX", "M1 \nM1a", "Any Grade\nAny Grade" ], [ "4A", "IVA", "Any T", "N0", "M1a", "1,9" ], [ "4B", "IVB", "Any T\nAny T", "N0 \nN1,2", "M1a\nM1a", "2-4 \nAny Grade" ], [ "4C", "IVC", "Any T", "Any N", "M1b", "Any Grade" ], [ "99", "Unknown", "T0\nT0-3,4,4a,4b \nTX", "N0\nNX \nN0,X", "M0\nM0\nM0", "Any Grade\nAny Grade\nAny Grade" ], [ "88", "Not Applicable", "88", "88", "88", "Any Grade" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stomach_t_57787.json b/src/test/resources/algorithms/tnm/2.0/tables/stomach_t_57787.json deleted file mode 100644 index fd3666b06..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stomach_t_57787.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "stomach_t_57787", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Stomach", - "title" : "Pathologic T", - "notes" : "**Note 1:** Intraluminal or intramural extension to esophagus and duodenum is classified by the depth of greatest invasion in any of these sites, including stomach. \n* For extension to esophagus or duodenum via serosa, assign T4b\n\n**Note 2:** Assign T2 If the diagnosis states linitis plastica and no other information regarding extension is available. \n* Linitis plastica is defined as diffuse involvement of the entire thickness of the stomach wall\n\n**Note 3:** Assign T4b for contiguous extension from the site of origin. Discontinuous involvement is coded in M (distant metastasis). \n* *Exception*: Assign T1 for implants within the stomach", - "last_modified" : "2018-05-14T21:29:04.328Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ: intraepithelial tumor without invasion of the lamina propria\n\nHigh grade dysplasia", "Noninvasive\n(Adeno)carcinoma, noninvasive, in a polyp\n\nStated as Tis" ], [ "p1", "pT1", "Tumor invades lamina propria, muscularis mucosae, or submucosa", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nConfined to: \n Head of polyp, NOS\n Stalk of polyp, NOS\n\nInvasive tumor in polyp, NOS\n\nImplants inside stomach\n\nLocalized, NOS\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor invades lamina propria or muscularis mucosae", "Invasive tumor confined to mucosa, NOS, including intramucosal, NOS\n\nMucosal tumor with intraluminal extension to esophagus or duodenum\n\nStated as T1a" ], [ "p1B", "pT1b", "Tumor invades submucosa", "Superficial invasion of submucosa\n\nSubmucosal tumor with intraluminal extension to esophagus or duodenum\n\nStated as T1b" ], [ "p2", "pT2", "Tumor invades muscularis propria", "Invades into but not through muscularis propria\n\nLinitis plastica and no other information regarding extension available \n\nInvasion of muscularis propria with intraluminal extension to esophagus or duodenum\n\nStated as T2" ], [ "p3", "pT3", "Tumor invades subserosa", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded\n\nInvasion through muscularis propria with intraluminal extension to esophagus or duodenum\n\nExtension to adjacent (connective) tissue WITHOUT perforation of visceral peritoneum covering these structures:\n Gastric artery\n Ligaments: \n Gastrocolic\n Gastrohepatic\n Gastrosplenic\n Omentum, NOS :\n Greater\n Lesser\n Perigastric fat\n\nStated as T3" ], [ "p4", "pT4", "Tumor perforates serosa OR \n\nInvades adjacent structures", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nStated as T4 [NOS]" ], [ "p4A", "pT4a", "Tumor perforates serosa", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum), including perforation of visceral peritoneum covering the gastric ligaments or the omentum \n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades adjacent structures", "Adjacent structures include:\n Abdominal wall\n Adrenal (suprarenal) gland\n Aorta\n Celiac axis\n Diaphragm\n Duodenum via serosa\n Duodenum, NOS\n Esophagus via serosa\n Ileum\n Jejunum\n Kidney\n Liver\n Pancreas\n Retroperitoneum\n Small intestine, NOS\n Spleen\n Transverse colon/mesocolon (including flexures)\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_24035.json b/src/test/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_24035.json deleted file mode 100644 index 664e5e93b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_24035.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "id" : "stop_if_no_clin_and_no_path_24035", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stop if No Clin and No Path", - "title" : "Stop if neither Clin nor Path were Captured", - "notes" : "**Note:** We do not currently plan to accept records where Clin T, N, M, Stage Group, Path T, N M and Stage Group are all blank. All Derived fields will be left blank.", - "last_modified" : "2018-05-14T21:29:06.671Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_n", - "name" : "Clinical N", - "type" : "INPUT" - }, { - "key" : "clin_m", - "name" : "Clinical M", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct", - "name" : "Directly Assigned Clin Stage", - "type" : "INPUT" - }, { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_m", - "name" : "Patholgic M", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct", - "name" : "Directly Assigned Path Stage", - "type" : "INPUT" - }, { - "key" : "combined_t", - "name" : "Combined T", - "type" : "ENDPOINT" - }, { - "key" : "source_t", - "name" : "Source of Combined T", - "type" : "ENDPOINT" - }, { - "key" : "combined_n", - "name" : "Combined N", - "type" : "ENDPOINT" - }, { - "key" : "source_n", - "name" : "Source of Combined N", - "type" : "ENDPOINT" - }, { - "key" : "combined_m", - "name" : "Combined M", - "type" : "ENDPOINT" - }, { - "key" : "source_m", - "name" : "Source of Combined M", - "type" : "ENDPOINT" - }, { - "key" : "combined_stage_group", - "name" : "Combined Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "tmp_continue", - "name" : "Continue?", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "clin_stage_group_direct", "path_stage_group_direct" ], - "rows" : [ [ "", "", "", "", "", "", "", "", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "STOP" ], [ "", "", "", "*", "", "", "", "", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE: {{clin_stage_group_direct}}", "STOP" ], [ "", "", "", "", "", "", "", "*", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE: {{path_stage_group_direct}}", "STOP" ], [ "", "", "", "99", "", "", "", "*", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE: {{path_stage_group_direct}}", "STOP" ], [ "", "", "", "*", "", "", "", "99", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE: {{clin_stage_group_direct}}", "STOP" ], [ "", "", "", "*", "", "", "", "*", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE: {{path_stage_group_direct}}", "STOP" ], [ "88", "88", "88", "88", "88", "88", "88", "88", "VALUE:88", "VALUE:9", "VALUE:88", "VALUE:9", "VALUE:88", "VALUE:9", "VALUE:88", "STOP" ], [ "*", "*", "*", "*", "*", "*", "*", "*", "MATCH", "MATCH", "MATCH", "MATCH", "MATCH", "MATCH", "MATCH", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_placenta_53933.json b/src/test/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_placenta_53933.json deleted file mode 100644 index 7d93f184f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/stop_if_no_clin_and_no_path_placenta_53933.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "id" : "stop_if_no_clin_and_no_path_placenta_53933", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Stop if No Clin and No Path - Placenta", - "title" : "Stop if neither Clin nor Path were Captured", - "notes" : "**Note:** We do not currently plan to accept records where Clin T, N, M, Stage Group, Path T, N M and Stage Group are all blank. All Derived fields will be left blank.", - "last_modified" : "2018-05-14T21:29:01.610Z", - "definition" : [ { - "key" : "clin_t", - "name" : "Clinical T", - "type" : "INPUT" - }, { - "key" : "clin_m", - "name" : "Clinical M", - "type" : "INPUT" - }, { - "key" : "clin_stage_group_direct", - "name" : "Directly Assigned Clin Stage", - "type" : "INPUT" - }, { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_m", - "name" : "Patholgic M", - "type" : "INPUT" - }, { - "key" : "path_stage_group_direct", - "name" : "Directly Assigned Path Stage", - "type" : "INPUT" - }, { - "key" : "combined_t", - "name" : "Combined T", - "type" : "ENDPOINT" - }, { - "key" : "source_t", - "name" : "Source of Combined T", - "type" : "ENDPOINT" - }, { - "key" : "combined_n", - "name" : "Combined N", - "type" : "ENDPOINT" - }, { - "key" : "source_n", - "name" : "Source of Combined N", - "type" : "ENDPOINT" - }, { - "key" : "combined_m", - "name" : "Combined M", - "type" : "ENDPOINT" - }, { - "key" : "source_m", - "name" : "Source of Combined M", - "type" : "ENDPOINT" - }, { - "key" : "combined_stage_group", - "name" : "Combined Stage Group", - "type" : "ENDPOINT" - }, { - "key" : "tmp_continue", - "name" : "Continue?", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "clin_stage_group_direct", "path_stage_group_direct" ], - "rows" : [ [ "", "", "", "", "", "", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "STOP" ], [ "", "", "*", "", "", "", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE: {{clin_stage_group_direct}}", "STOP" ], [ "", "", "", "", "", "*", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE: {{path_stage_group_direct}}", "STOP" ], [ "", "", "*", "", "", "*", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE:", "VALUE: {{path_stage_group_direct}}", "STOP" ], [ "88", "88", "88", "88", "88", "88", "VALUE:88", "VALUE:9", "VALUE:88", "VALUE:9", "VALUE:88", "VALUE:9", "VALUE:88", "STOP" ], [ "*", "*", "*", "*", "*", "*", "MATCH", "MATCH", "MATCH", "MATCH", "MATCH", "MATCH", "MATCH", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/submandibular_gland_t_42810.json b/src/test/resources/algorithms/tnm/2.0/tables/submandibular_gland_t_42810.json deleted file mode 100644 index f53e7299a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/submandibular_gland_t_42810.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "submandibular_gland_t_42810", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Submandibular Gland", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for submandibular gland tumors.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1, T2 or T3) based on the tumor size for the following descriptions\n\n Invasive tumor confined to gland/duct of origin\n Microscopic extraparenchymal extension ONLY to periglandular soft/connective tissue\n\n Confined to submandibular gland\n Localized, NOS\n \n**Note 4:** Extraparenchymal extension is clinical or macroscopic evidence of invasion of soft tissues or nerve, except those listed under T4a and T4b. Microscopic evidence alone does not constitute extraparenchymal extension for classification purposes.\n\n**Note 5:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Mucoperiosteum is a compound structure of mucous membrane and periosteum. Cortical bone is the dense compact outer layer of bone.", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.320Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension \nWITHOUT extraparenchymal extension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension \nWITHOUT extraparenchymal extension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm and/or tumor \nWITH extraparenchymal extension", "Macroscopic extraparenchymal extension to:\n Periglandular soft/connective tissue\n Another major salivary gland (parotid, sublingual)\nSkeletal muscle:\n Digastric \n Genioglossus\n Geniohyoid\n Hyoglossus\n Mylohyoid \n Pterygoid\n Styloglossus\n Stylohyoid\n\nOther extension:\n Facial artery or vein\n Maxillary artery\n Spinal accessory nerve\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories.\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades: \n Skin\n Mandible\n Ear canal\n Facial nerve", "External auditory meatus\nNerves: \n Facial (7th) nerve\n Lingual nerve\nPeriosteum of mandible\nSkin overlying gland\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades: \n Base of skull\n Pterygoid plates\n\nOR encases carotid artery", "Blood vessels:\n Carotid artery (encased)\nSkull, NOS\n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/systemic_surg_seq.json b/src/test/resources/algorithms/tnm/2.0/tables/systemic_surg_seq.json deleted file mode 100644 index 76d46b1e3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/systemic_surg_seq.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "systemic_surg_seq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Systemic Surg Seq", - "title" : "RX Summ Systemic/Surgery Sequence", - "last_modified" : "2018-05-14T21:29:03.700Z", - "definition" : [ { - "key" : "systemic_surg_seq", - "name" : "RX Summ Systemic/Surgery Sequence", - "type" : "INPUT" - }, { - "key" : "desc", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No systemic therapy and/or surgical procedures; unknown if surgery and/or systemic therapy given" ], [ "2", "Systemic therapy before surgery" ], [ "3", "Systemic therapy after surgery" ], [ "4", "Systemic therapy both before and after surgery" ], [ "5", "Intraoperative systemic therapy" ], [ "6", "Intraoperative systemic therapy with other therapy administered before and/or after surgery" ], [ "7", "Surgery both before and after systemic therapy" ], [ "9", "Sequence unknown, but both surgery and systemic therapy given" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/testis_n_51427.json b/src/test/resources/algorithms/tnm/2.0/tables/testis_n_51427.json deleted file mode 100644 index f0313a1b1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/testis_n_51427.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "testis_n_51427", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Testis", - "title" : "Pathologic N", - "notes" : "**Note 1:** Involvement of inguinal, pelvic, or external iliac lymph nodes **WITHOUT** previous scrotal or inguinal surgery prior to presentation of the testis tumor is coded in M (distant metastasis), as distant lymph node involvement.\n\n**Note 2:** Size of the largest metastasis in a lymph node must be known to assign N. You may use a physician’s statement of the N category if this is the only information in the medical record. \n* If the size of the metastasis is not documented, determine the size of the largest involved lymph node as documented pathologically\n* If the size of the lymph node(s) cannot be determined, assign N1\n* Do **not** code the size of any node(s) assigned in M (distant metastasis)\n\n**Regional lymph nodes**\n \n Aortic, NOS\n Lateral (lumbar)\n Para-aortic\n Periaortic\n Preaortic \n Retroaortic\n Pericaval, NOS\n Interaortocaval\n Paracaval\n Precaval\n Retrocaval\n Retroperitoneal, NOS\n Spermatic vein\n\n Regional lymph nodes, NOS\n Lymph nodes, NOS\n \n**Regional lymph nodes WITH previous scrotal or inguinal surgery** \n \n External iliac\n Inguinal nodes, NOS\n Deep, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial (femoral)\n Pelvic, NOS", - "last_modified" : "2018-05-14T21:29:01.333Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Metastasis with a lymph node mass 2 or less in greatest dimension OR \n\n5 or fewer positive nodes, none more than 2 cm in greatest dimension", "Single or multiple nodes not stated, size not stated\n\nStated as N1" ], [ "p2", "pN2", "Metastasis with a lymph node mass more than 2 cm but not more than 5 cm in greatest dimension OR \n\nMore than 5 nodes positive, none more than 5 cm in greatest dimension OR\n\nEvidence of extranodal extension of tumor", "Single or multiple nodes not stated, size stated and greater than 2 cm but less than or equal to 5 cm\n\nStated as N2" ], [ "p3", "pN3", "Metastasis with a lymph node mass more than 5 cm in greatest dimension", "Stated as N3" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/testis_path_t_76829.json b/src/test/resources/algorithms/tnm/2.0/tables/testis_path_t_76829.json deleted file mode 100644 index dba371e3d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/testis_path_t_76829.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "testis_path_t_76829", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Testis", - "title" : "Pathologic T", - "last_modified" : "2018-05-14T21:29:03.432Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor (e.g., histological scar in testis)", "" ], [ "pIS", "pTis", "Intratubular germ cell neoplasia (carcinoma in situ)", "In situ, intraepithelial, noninvasive" ], [ "p1", "pT1", "Tumor limited to testis and epididymis \nWITHOUT vascular/lymphatic invasion; \n Tumor may invade tunica albuginea but not tunica vaginalis", "Body of testis\nRete testis\nTunica albuginea\n\nNo lymphatic vascular invasion or unknown if \nlymphatic vascular invasion\n\nConfined to testis, NOS\n\nLocalized, NOS" ], [ "p2", "pT2", "Tumor limited to testis and epididymis \nWITH vascular/lymphatic invasion, OR\n\nTumor extending through tunica albuginea \nWITH involvement of tunica vaginalis", "Structures in T1 WITH lymphatic vascular invasion\n\nSurface implants (surface of tunica vaginalis)\nTunica, NOS" ], [ "p3", "pT3", "Tumor invades spermatic cord \nWITH or WITHOUT vascular/lymphatic invasion", "Spermatic cord, ipsilateral\nVas deferens" ], [ "p4", "pT4", "Tumor invades scrotum \nWITH or WITHOUT vascular lymphatic invasion", "Dartos muscle, ipsilateral\nScrotum, ipsilateral\n\nExtension to scrotum, contralateral\nUlceration of scrotum\n\nPenis\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/testis_postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516.json b/src/test/resources/algorithms/tnm/2.0/tables/testis_postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516.json deleted file mode 100644 index e45fc86b3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/testis_postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "testis_postorchiectomy_serum_tumor_marker_svalue_table_basedon_ssf131516", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Postorchiectomy Serum Tumor Marker S Value Table Based on SSF 13 15 16", - "title" : "Post-orchiectomy Serum Tumor Marker S Value Table Based on SSF 13, 15, 16", - "notes" : "**Note 1:** This table calculates an intermediary value for S based on the serum tumor markers coded in Site-Specific Factors 13, 15, and 16, as shown in the following table. The S value can be calculated even if SSF16 (LDH) is unknown for TNM 7th Edition.\n\n**Note 2:** This table sets S value to \"ERROR\" - not to a result type Error. This is intentional.", - "last_modified" : "2018-05-14T21:29:00.700Z", - "definition" : [ { - "key" : "ssf13", - "name" : "SSF13", - "type" : "INPUT" - }, { - "key" : "ssf15", - "name" : "SSF15", - "type" : "INPUT" - }, { - "key" : "ssf16", - "name" : "SSF16", - "type" : "INPUT" - }, { - "key" : "s", - "name" : "S Value", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "000", "000", "VALUE:S0" ], [ "000", "000", "010", "VALUE:S1" ], [ "000", "000", "020", "VALUE:S2" ], [ "000", "000", "030", "VALUE:S3" ], [ "000", "000", "988", "VALUE:ERROR" ], [ "000", "000", "990", "VALUE:S0" ], [ "000", "000", "991", "VALUE:S1" ], [ "000", "000", "992", "VALUE:S0" ], [ "000", "000", "993", "VALUE:S1" ], [ "000", "000", "997", "VALUE:S0" ], [ "000", "000", "998", "VALUE:S0" ], [ "000", "000", "999", "VALUE:S0" ], [ "000", "010", "000", "VALUE:S1" ], [ "000", "010", "010", "VALUE:S1" ], [ "000", "010", "020", "VALUE:S2" ], [ "000", "010", "030", "VALUE:S3" ], [ "000", "010", "988", "VALUE:ERROR" ], [ "000", "010", "990-993,997-999", "VALUE:S1" ], [ "000", "020", "000", "VALUE:S2" ], [ "000", "020", "010", "VALUE:S2" ], [ "000", "020", "020", "VALUE:S2" ], [ "000", "020", "030", "VALUE:S3" ], [ "000", "020", "988", "VALUE:ERROR" ], [ "000", "020", "990-993,997-999", "VALUE:S2" ], [ "000", "030", "000", "VALUE:S3" ], [ "000", "030", "010", "VALUE:S3" ], [ "000", "030", "020", "VALUE:S3" ], [ "000", "030", "030", "VALUE:S3" ], [ "000", "030", "988", "VALUE:ERROR" ], [ "000", "030", "990-993,997-999", "VALUE:S3" ], [ "000", "988", "*", "VALUE:ERROR" ], [ "000", "990", "000", "VALUE:S0" ], [ "000", "990", "010", "VALUE:S1" ], [ "000", "990", "020", "VALUE:S2" ], [ "000", "990", "030", "VALUE:S3" ], [ "000", "990", "988", "VALUE:ERROR" ], [ "000", "990", "990", "VALUE:S0" ], [ "000", "990", "991", "VALUE:S1" ], [ "000", "990", "992", "VALUE:S0" ], [ "000", "990", "993", "VALUE:S1" ], [ "000", "990", "997", "VALUE:S0" ], [ "000", "990", "998", "VALUE:S0" ], [ "000", "990", "999", "VALUE:S0" ], [ "000", "991", "000", "VALUE:S1" ], [ "000", "991", "010", "VALUE:S1" ], [ "000", "991", "020", "VALUE:S2" ], [ "000", "991", "030", "VALUE:S3" ], [ "000", "991", "988", "VALUE:ERROR" ], [ "000", "991", "990-993,997-999", "VALUE:S1" ], [ "000", "992", "000", "VALUE:S0" ], [ "000", "992", "010", "VALUE:S1" ], [ "000", "992", "020", "VALUE:S2" ], [ "000", "992", "030", "VALUE:S3" ], [ "000", "992", "988", "VALUE:ERROR" ], [ "000", "992", "990", "VALUE:S0" ], [ "000", "992", "991", "VALUE:S1" ], [ "000", "992", "992", "VALUE:S0" ], [ "000", "992", "993", "VALUE:S1" ], [ "000", "992", "997", "VALUE:S0" ], [ "000", "992", "998", "VALUE:S0" ], [ "000", "992", "999", "VALUE:S0" ], [ "000", "993", "000", "VALUE:S1" ], [ "000", "993", "010", "VALUE:S1" ], [ "000", "993", "020", "VALUE:S2" ], [ "000", "993", "030", "VALUE:S3" ], [ "000", "993", "988", "VALUE:ERROR" ], [ "000", "993", "990-993,997-999", "VALUE:S1" ], [ "000", "997", "000", "VALUE:SX" ], [ "000", "997", "010", "VALUE:SX" ], [ "000", "997", "020", "VALUE:S2" ], [ "000", "997", "030", "VALUE:S3" ], [ "000", "997", "988", "VALUE:ERROR" ], [ "000", "997", "990-993,997-999", "VALUE:SX" ], [ "000", "998", "000", "VALUE:SX" ], [ "000", "998", "010", "VALUE:SX" ], [ "000", "998", "020", "VALUE:S2" ], [ "000", "998", "030", "VALUE:S3" ], [ "000", "998", "988", "VALUE:ERROR" ], [ "000", "998", "990-993,997-999", "VALUE:SX" ], [ "000", "999", "000", "VALUE:SX" ], [ "000", "999", "010", "VALUE:SX" ], [ "000", "999", "020", "VALUE:S2" ], [ "000", "999", "030", "VALUE:S3" ], [ "000", "999", "988", "VALUE:ERROR" ], [ "000", "999", "990-993,997-999", "VALUE:SX" ], [ "010", "000", "000", "VALUE:S1" ], [ "010", "000", "010", "VALUE:S1" ], [ "010", "000", "020", "VALUE:S2" ], [ "010", "000", "030", "VALUE:S3" ], [ "010", "000", "988", "VALUE:ERROR" ], [ "010", "000", "990-993,997-999", "VALUE:S1" ], [ "010", "010", "000", "VALUE:S1" ], [ "010", "010", "010", "VALUE:S1" ], [ "010", "010", "020", "VALUE:S2" ], [ "010", "010", "030", "VALUE:S3" ], [ "010", "010", "988", "VALUE:ERROR" ], [ "010", "010", "990-993,997-999", "VALUE:S1" ], [ "010", "020", "000", "VALUE:S2" ], [ "010", "020", "010", "VALUE:S2" ], [ "010", "020", "020", "VALUE:S2" ], [ "010", "020", "030", "VALUE:S3" ], [ "010", "020", "988", "VALUE:ERROR" ], [ "010", "020", "990-993,997-999", "VALUE:S2" ], [ "010", "030", "000", "VALUE:S3" ], [ "010", "030", "010", "VALUE:S3" ], [ "010", "030", "020", "VALUE:S3" ], [ "010", "030", "030", "VALUE:S3" ], [ "010", "030", "988", "VALUE:ERROR" ], [ "010", "030", "990-993,997-999", "VALUE:S3" ], [ "010", "988", "*", "VALUE:ERROR" ], [ "010", "990", "000", "VALUE:S1" ], [ "010", "990", "010", "VALUE:S1" ], [ "010", "990", "020", "VALUE:S2" ], [ "010", "990", "030", "VALUE:S3" ], [ "010", "990", "988", "VALUE:ERROR" ], [ "010", "990", "990-993,997-999", "VALUE:S1" ], [ "010", "991", "000", "VALUE:S1" ], [ "010", "991", "010", "VALUE:S1" ], [ "010", "991", "020", "VALUE:S2" ], [ "010", "991", "030", "VALUE:S3" ], [ "010", "991", "988", "VALUE:ERROR" ], [ "010", "991", "990-993,997-999", "VALUE:S1" ], [ "010", "992", "000", "VALUE:S1" ], [ "010", "992", "010", "VALUE:S1" ], [ "010", "992", "020", "VALUE:S2" ], [ "010", "992", "030", "VALUE:S3" ], [ "010", "992", "988", "VALUE:ERROR" ], [ "010", "992", "990-993,997-999", "VALUE:S1" ], [ "010", "993", "000", "VALUE:S1" ], [ "010", "993", "010", "VALUE:S1" ], [ "010", "993", "020", "VALUE:S2" ], [ "010", "993", "030", "VALUE:S3" ], [ "010", "993", "988", "VALUE:ERROR" ], [ "010", "993", "990-993,997-999", "VALUE:S1" ], [ "010", "997", "000", "VALUE:SX" ], [ "010", "997", "010", "VALUE:SX" ], [ "010", "997", "020", "VALUE:S2" ], [ "010", "997", "030", "VALUE:S3" ], [ "010", "997", "988", "VALUE:ERROR" ], [ "010", "997", "990-993,997-999", "VALUE:SX" ], [ "010", "998", "000", "VALUE:SX" ], [ "010", "998", "010", "VALUE:SX" ], [ "010", "998", "020", "VALUE:S2" ], [ "010", "998", "030", "VALUE:S3" ], [ "010", "998", "988", "VALUE:ERROR" ], [ "010", "998", "990-993,997-999", "VALUE:SX" ], [ "010", "999", "000", "VALUE:SX" ], [ "010", "999", "010", "VALUE:SX" ], [ "010", "999", "020", "VALUE:S2" ], [ "010", "999", "030", "VALUE:S3" ], [ "010", "999", "988", "VALUE:ERROR" ], [ "010", "999", "990-993,997-999", "VALUE:SX" ], [ "020", "000", "000", "VALUE:S2" ], [ "020", "000", "010", "VALUE:S2" ], [ "020", "000", "020", "VALUE:S2" ], [ "020", "000", "030", "VALUE:S3" ], [ "020", "000", "988", "VALUE:ERROR" ], [ "020", "000", "990-993,997-999", "VALUE:S2" ], [ "020", "010", "000", "VALUE:S2" ], [ "020", "010", "010", "VALUE:S2" ], [ "020", "010", "020", "VALUE:S2" ], [ "020", "010", "030", "VALUE:S3" ], [ "020", "010", "988", "VALUE:ERROR" ], [ "020", "010", "990-993,997-999", "VALUE:S2" ], [ "020", "020", "000", "VALUE:S2" ], [ "020", "020", "010", "VALUE:S2" ], [ "020", "020", "020", "VALUE:S2" ], [ "020", "020", "030", "VALUE:S3" ], [ "020", "020", "988", "VALUE:ERROR" ], [ "020", "020", "990-993,997-999", "VALUE:S2" ], [ "020", "030", "000", "VALUE:S3" ], [ "020", "030", "010", "VALUE:S3" ], [ "020", "030", "020", "VALUE:S3" ], [ "020", "030", "030", "VALUE:S3" ], [ "020", "030", "988", "VALUE:ERROR" ], [ "020", "030", "990-993,997-999", "VALUE:S3" ], [ "020", "988", "*", "VALUE:ERROR" ], [ "020", "990", "000", "VALUE:S2" ], [ "020", "990", "010", "VALUE:S2" ], [ "020", "990", "020", "VALUE:S2" ], [ "020", "990", "030", "VALUE:S3" ], [ "020", "990", "988", "VALUE:ERROR" ], [ "020", "990", "990-993,997-999", "VALUE:S2" ], [ "020", "991", "000", "VALUE:S2" ], [ "020", "991", "010", "VALUE:S2" ], [ "020", "991", "020", "VALUE:S2" ], [ "020", "991", "030", "VALUE:S3" ], [ "020", "991", "988", "VALUE:ERROR" ], [ "020", "991", "990-993,997-999", "VALUE:S2" ], [ "020", "992", "000", "VALUE:S2" ], [ "020", "992", "010", "VALUE:S2" ], [ "020", "992", "020", "VALUE:S2" ], [ "020", "992", "030", "VALUE:S3" ], [ "020", "992", "988", "VALUE:ERROR" ], [ "020", "992", "990-993,997-999", "VALUE:S2" ], [ "020", "993", "000", "VALUE:S2" ], [ "020", "993", "010", "VALUE:S2" ], [ "020", "993", "020", "VALUE:S2" ], [ "020", "993", "030", "VALUE:S3" ], [ "020", "993", "988", "VALUE:ERROR" ], [ "020", "993", "990-993,997-999", "VALUE:S2" ], [ "020", "997", "000", "VALUE:S2" ], [ "020", "997", "010", "VALUE:S2" ], [ "020", "997", "020", "VALUE:S2" ], [ "020", "997", "030", "VALUE:S3" ], [ "020", "997", "988", "VALUE:ERROR" ], [ "020", "997", "990-993,997-999", "VALUE:S2" ], [ "020", "998", "000", "VALUE:S2" ], [ "020", "998", "010", "VALUE:S2" ], [ "020", "998", "020", "VALUE:S2" ], [ "020", "998", "030", "VALUE:S3" ], [ "020", "998", "988", "VALUE:ERROR" ], [ "020", "998", "990-993,997-999", "VALUE:S2" ], [ "020", "999", "000", "VALUE:S2" ], [ "020", "999", "010", "VALUE:S2" ], [ "020", "999", "020", "VALUE:S2" ], [ "020", "999", "030", "VALUE:S3" ], [ "020", "999", "988", "VALUE:ERROR" ], [ "020", "999", "990-993,997-999", "VALUE:S2" ], [ "030", "000", "000", "VALUE:S3" ], [ "030", "000", "010", "VALUE:S3" ], [ "030", "000", "020", "VALUE:S3" ], [ "030", "000", "030", "VALUE:S3" ], [ "030", "000", "988", "VALUE:ERROR" ], [ "030", "000", "990-993,997-999", "VALUE:S3" ], [ "030", "010", "000", "VALUE:S3" ], [ "030", "010", "010", "VALUE:S3" ], [ "030", "010", "020", "VALUE:S3" ], [ "030", "010", "030", "VALUE:S3" ], [ "030", "010", "988", "VALUE:ERROR" ], [ "030", "010", "990-993,997-999", "VALUE:S3" ], [ "030", "020", "000", "VALUE:S3" ], [ "030", "020", "010", "VALUE:S3" ], [ "030", "020", "020", "VALUE:S3" ], [ "030", "020", "030", "VALUE:S3" ], [ "030", "020", "988", "VALUE:ERROR" ], [ "030", "020", "990-993,997-999", "VALUE:S3" ], [ "030", "030", "000", "VALUE:S3" ], [ "030", "030", "010", "VALUE:S3" ], [ "030", "030", "020", "VALUE:S3" ], [ "030", "030", "030", "VALUE:S3" ], [ "030", "030", "988", "VALUE:ERROR" ], [ "030", "030", "990-993,997-999", "VALUE:S3" ], [ "030", "988", "*", "VALUE:ERROR" ], [ "030", "990", "000", "VALUE:S3" ], [ "030", "990", "010", "VALUE:S3" ], [ "030", "990", "020", "VALUE:S3" ], [ "030", "990", "030", "VALUE:S3" ], [ "030", "990", "988", "VALUE:ERROR" ], [ "030", "990", "990-993,997-999", "VALUE:S3" ], [ "030", "991", "000", "VALUE:S3" ], [ "030", "991", "010", "VALUE:S3" ], [ "030", "991", "020", "VALUE:S3" ], [ "030", "991", "030", "VALUE:S3" ], [ "030", "991", "988", "VALUE:ERROR" ], [ "030", "991", "990-993,997-999", "VALUE:S3" ], [ "030", "992", "000", "VALUE:S3" ], [ "030", "992", "010", "VALUE:S3" ], [ "030", "992", "020", "VALUE:S3" ], [ "030", "992", "030", "VALUE:S3" ], [ "030", "992", "988", "VALUE:ERROR" ], [ "030", "992", "990-993,997-999", "VALUE:S3" ], [ "030", "993", "000", "VALUE:S3" ], [ "030", "993", "010", "VALUE:S3" ], [ "030", "993", "020", "VALUE:S3" ], [ "030", "993", "030", "VALUE:S3" ], [ "030", "993", "988", "VALUE:ERROR" ], [ "030", "993", "990-993,997-999", "VALUE:S3" ], [ "030", "997", "000", "VALUE:S3" ], [ "030", "997", "010", "VALUE:S3" ], [ "030", "997", "020", "VALUE:S3" ], [ "030", "997", "030", "VALUE:S3" ], [ "030", "997", "988", "VALUE:ERROR" ], [ "030", "997", "990-993,997-999", "VALUE:S3" ], [ "030", "998", "000", "VALUE:S3" ], [ "030", "998", "010", "VALUE:S3" ], [ "030", "998", "020", "VALUE:S3" ], [ "030", "998", "030", "VALUE:S3" ], [ "030", "998", "988", "VALUE:ERROR" ], [ "030", "998", "990-993,997-999", "VALUE:S3" ], [ "030", "999", "000", "VALUE:S3" ], [ "030", "999", "010", "VALUE:S3" ], [ "030", "999", "020", "VALUE:S3" ], [ "030", "999", "030", "VALUE:S3" ], [ "030", "999", "988", "VALUE:ERROR" ], [ "030", "999", "990-993,997-999", "VALUE:S3" ], [ "988", "*", "*", "VALUE:ERROR" ], [ "990", "000", "000", "VALUE:S0" ], [ "990", "000", "010", "VALUE:S1" ], [ "990", "000", "020", "VALUE:S2" ], [ "990", "000", "030", "VALUE:S3" ], [ "990", "000", "988", "VALUE:ERROR" ], [ "990", "000", "990", "VALUE:S0" ], [ "990", "000", "991", "VALUE:S1" ], [ "990", "000", "992", "VALUE:S0" ], [ "990", "000", "993", "VALUE:S1" ], [ "990", "000", "997", "VALUE:S0" ], [ "990", "000", "998", "VALUE:S0" ], [ "990", "000", "999", "VALUE:S0" ], [ "990", "010", "000", "VALUE:S1" ], [ "990", "010", "010", "VALUE:S1" ], [ "990", "010", "020", "VALUE:S2" ], [ "990", "010", "030", "VALUE:S3" ], [ "990", "010", "988", "VALUE:ERROR" ], [ "990", "010", "990-993,997-999", "VALUE:S1" ], [ "990", "020", "000", "VALUE:S2" ], [ "990", "020", "010", "VALUE:S2" ], [ "990", "020", "020", "VALUE:S2" ], [ "990", "020", "030", "VALUE:S3" ], [ "990", "020", "988", "VALUE:ERROR" ], [ "990", "020", "990-993,997-999", "VALUE:S2" ], [ "990", "030", "000", "VALUE:S3" ], [ "990", "030", "010", "VALUE:S3" ], [ "990", "030", "020", "VALUE:S3" ], [ "990", "030", "030", "VALUE:S3" ], [ "990", "030", "988", "VALUE:ERROR" ], [ "990", "030", "990-993,997-999", "VALUE:S3" ], [ "990", "988", "*", "VALUE:ERROR" ], [ "990", "990", "000", "VALUE:S0" ], [ "990", "990", "010", "VALUE:S1" ], [ "990", "990", "020", "VALUE:S2" ], [ "990", "990", "030", "VALUE:S3" ], [ "990", "990", "988", "VALUE:ERROR" ], [ "990", "990", "990", "VALUE:S0" ], [ "990", "990", "991", "VALUE:S1" ], [ "990", "990", "992", "VALUE:S0" ], [ "990", "990", "993", "VALUE:S1" ], [ "990", "990", "997", "VALUE:S0" ], [ "990", "990", "998", "VALUE:S0" ], [ "990", "990", "999", "VALUE:S0" ], [ "990", "991", "000", "VALUE:S1" ], [ "990", "991", "010", "VALUE:S1" ], [ "990", "991", "020", "VALUE:S2" ], [ "990", "991", "030", "VALUE:S3" ], [ "990", "991", "988", "VALUE:ERROR" ], [ "990", "991", "990-993,997-999", "VALUE:S1" ], [ "990", "992", "000", "VALUE:S0" ], [ "990", "992", "010", "VALUE:S1" ], [ "990", "992", "020", "VALUE:S2" ], [ "990", "992", "030", "VALUE:S3" ], [ "990", "992", "988", "VALUE:ERROR" ], [ "990", "992", "990", "VALUE:S0" ], [ "990", "992", "991", "VALUE:S1" ], [ "990", "992", "992", "VALUE:S0" ], [ "990", "992", "993", "VALUE:S1" ], [ "990", "992", "997", "VALUE:S0" ], [ "990", "992", "998", "VALUE:S0" ], [ "990", "992", "999", "VALUE:S0" ], [ "990", "993", "000", "VALUE:S1" ], [ "990", "993", "010", "VALUE:S1" ], [ "990", "993", "020", "VALUE:S2" ], [ "990", "993", "030", "VALUE:S3" ], [ "990", "993", "988", "VALUE:ERROR" ], [ "990", "993", "990-993,997-999", "VALUE:S1" ], [ "990", "997", "000", "VALUE:SX" ], [ "990", "997", "010", "VALUE:SX" ], [ "990", "997", "020", "VALUE:S2" ], [ "990", "997", "030", "VALUE:S3" ], [ "990", "997", "988", "VALUE:ERROR" ], [ "990", "997", "990-993,997-999", "VALUE:SX" ], [ "990", "998", "000", "VALUE:SX" ], [ "990", "998", "010", "VALUE:SX" ], [ "990", "998", "020", "VALUE:S2" ], [ "990", "998", "030", "VALUE:S3" ], [ "990", "998", "988", "VALUE:ERROR" ], [ "990", "998", "990-993,997-999", "VALUE:SX" ], [ "990", "999", "000", "VALUE:SX" ], [ "990", "999", "010", "VALUE:SX" ], [ "990", "999", "020", "VALUE:S2" ], [ "990", "999", "030", "VALUE:S3" ], [ "990", "999", "988", "VALUE:ERROR" ], [ "990", "999", "990-993,997-999", "VALUE:SX" ], [ "991", "000", "000", "VALUE:S1" ], [ "991", "000", "010", "VALUE:S1" ], [ "991", "000", "020", "VALUE:S2" ], [ "991", "000", "030", "VALUE:S3" ], [ "991", "000", "988", "VALUE:ERROR" ], [ "991", "000", "990-993,997-999", "VALUE:S1" ], [ "991", "010", "000", "VALUE:S1" ], [ "991", "010", "010", "VALUE:S1" ], [ "991", "010", "020", "VALUE:S2" ], [ "991", "010", "030", "VALUE:S3" ], [ "991", "010", "988", "VALUE:ERROR" ], [ "991", "010", "990-993,997-999", "VALUE:S1" ], [ "991", "020", "000", "VALUE:S2" ], [ "991", "020", "010", "VALUE:S2" ], [ "991", "020", "020", "VALUE:S2" ], [ "991", "020", "030", "VALUE:S3" ], [ "991", "020", "988", "VALUE:ERROR" ], [ "991", "020", "990-993,997-999", "VALUE:S2" ], [ "991", "030", "000", "VALUE:S3" ], [ "991", "030", "010", "VALUE:S3" ], [ "991", "030", "020", "VALUE:S3" ], [ "991", "030", "030", "VALUE:S3" ], [ "991", "030", "988", "VALUE:ERROR" ], [ "991", "030", "990-993,997-999", "VALUE:S3" ], [ "991", "988", "*", "VALUE:ERROR" ], [ "991", "990", "000", "VALUE:S1" ], [ "991", "990", "010", "VALUE:S1" ], [ "991", "990", "020", "VALUE:S2" ], [ "991", "990", "030", "VALUE:S3" ], [ "991", "990", "988", "VALUE:ERROR" ], [ "991", "990", "990-993,997-999", "VALUE:S1" ], [ "991", "991", "000", "VALUE:S1" ], [ "991", "991", "010", "VALUE:S1" ], [ "991", "991", "020", "VALUE:S2" ], [ "991", "991", "030", "VALUE:S3" ], [ "991", "991", "988", "VALUE:ERROR" ], [ "991", "991", "990-993,997-999", "VALUE:S1" ], [ "991", "992", "000", "VALUE:S1" ], [ "991", "992", "010", "VALUE:S1" ], [ "991", "992", "020", "VALUE:S2" ], [ "991", "992", "030", "VALUE:S3" ], [ "991", "992", "988", "VALUE:ERROR" ], [ "991", "992", "990-993,997-999", "VALUE:S1" ], [ "991", "993", "000", "VALUE:S1" ], [ "991", "993", "010", "VALUE:S1" ], [ "991", "993", "020", "VALUE:S2" ], [ "991", "993", "030", "VALUE:S3" ], [ "991", "993", "988", "VALUE:ERROR" ], [ "991", "993", "990-993,997-999", "VALUE:S1" ], [ "991", "997", "000", "VALUE:SX" ], [ "991", "997", "010", "VALUE:SX" ], [ "991", "997", "020", "VALUE:S2" ], [ "991", "997", "030", "VALUE:S3" ], [ "991", "997", "988", "VALUE:ERROR" ], [ "991", "997", "990-993,997-999", "VALUE:SX" ], [ "991", "998", "000", "VALUE:SX" ], [ "991", "998", "010", "VALUE:SX" ], [ "991", "998", "020", "VALUE:S2" ], [ "991", "998", "030", "VALUE:S3" ], [ "991", "998", "988", "VALUE:ERROR" ], [ "991", "998", "990-993,997-999", "VALUE:SX" ], [ "991", "999", "000", "VALUE:SX" ], [ "991", "999", "010", "VALUE:SX" ], [ "991", "999", "020", "VALUE:S2" ], [ "991", "999", "030", "VALUE:S3" ], [ "991", "999", "988", "VALUE:ERROR" ], [ "991", "999", "990-993,997-999", "VALUE:SX" ], [ "992", "000", "000", "VALUE:S0" ], [ "992", "000", "010", "VALUE:S1" ], [ "992", "000", "020", "VALUE:S2" ], [ "992", "000", "030", "VALUE:S3" ], [ "992", "000", "988", "VALUE:ERROR" ], [ "992", "000", "990", "VALUE:S0" ], [ "992", "000", "991", "VALUE:S1" ], [ "992", "000", "992", "VALUE:S0" ], [ "992", "000", "993", "VALUE:S1" ], [ "992", "000", "997", "VALUE:S0" ], [ "992", "000", "998", "VALUE:S0" ], [ "992", "000", "999", "VALUE:S0" ], [ "992", "010", "000", "VALUE:S1" ], [ "992", "010", "010", "VALUE:S1" ], [ "992", "010", "020", "VALUE:S2" ], [ "992", "010", "030", "VALUE:S3" ], [ "992", "010", "988", "VALUE:ERROR" ], [ "992", "010", "990-993,997-999", "VALUE:S1" ], [ "992", "020", "000", "VALUE:S2" ], [ "992", "020", "010", "VALUE:S2" ], [ "992", "020", "020", "VALUE:S2" ], [ "992", "020", "030", "VALUE:S3" ], [ "992", "020", "988", "VALUE:ERROR" ], [ "992", "020", "990-993,997-999", "VALUE:S2" ], [ "992", "030", "000", "VALUE:S3" ], [ "992", "030", "010", "VALUE:S3" ], [ "992", "030", "020", "VALUE:S3" ], [ "992", "030", "030", "VALUE:S3" ], [ "992", "030", "988", "VALUE:ERROR" ], [ "992", "030", "990-993,997-999", "VALUE:S3" ], [ "992", "988", "*", "VALUE:ERROR" ], [ "992", "990", "000", "VALUE:S0" ], [ "992", "990", "010", "VALUE:S1" ], [ "992", "990", "020", "VALUE:S2" ], [ "992", "990", "030", "VALUE:S3" ], [ "992", "990", "988", "VALUE:ERROR" ], [ "992", "990", "990", "VALUE:S0" ], [ "992", "990", "991", "VALUE:S1" ], [ "992", "990", "992", "VALUE:S0" ], [ "992", "990", "993", "VALUE:S1" ], [ "992", "990", "997", "VALUE:S0" ], [ "992", "990", "998", "VALUE:S0" ], [ "992", "990", "999", "VALUE:S0" ], [ "992", "991", "000", "VALUE:S1" ], [ "992", "991", "010", "VALUE:S1" ], [ "992", "991", "020", "VALUE:S2" ], [ "992", "991", "030", "VALUE:S3" ], [ "992", "991", "988", "VALUE:ERROR" ], [ "992", "991", "990-993,997-999", "VALUE:S1" ], [ "992", "992", "000", "VALUE:S0" ], [ "992", "992", "010", "VALUE:S1" ], [ "992", "992", "020", "VALUE:S2" ], [ "992", "992", "030", "VALUE:S3" ], [ "992", "992", "988", "VALUE:ERROR" ], [ "992", "992", "990", "VALUE:S0" ], [ "992", "992", "991", "VALUE:S1" ], [ "992", "992", "992", "VALUE:S0" ], [ "992", "992", "993", "VALUE:S1" ], [ "992", "992", "997", "VALUE:S0" ], [ "992", "992", "998", "VALUE:S0" ], [ "992", "992", "999", "VALUE:S0" ], [ "992", "993", "000", "VALUE:S1" ], [ "992", "993", "010", "VALUE:S1" ], [ "992", "993", "020", "VALUE:S2" ], [ "992", "993", "030", "VALUE:S3" ], [ "992", "993", "988", "VALUE:ERROR" ], [ "992", "993", "990-993,997-999", "VALUE:S1" ], [ "992", "997", "000", "VALUE:SX" ], [ "992", "997", "010", "VALUE:SX" ], [ "992", "997", "020", "VALUE:S2" ], [ "992", "997", "030", "VALUE:S3" ], [ "992", "997", "988", "VALUE:ERROR" ], [ "992", "997", "990-993,997-999", "VALUE:SX" ], [ "992", "998", "000", "VALUE:SX" ], [ "992", "998", "010", "VALUE:SX" ], [ "992", "998", "020", "VALUE:S2" ], [ "992", "998", "030", "VALUE:S3" ], [ "992", "998", "988", "VALUE:ERROR" ], [ "992", "998", "990-993,997-999", "VALUE:SX" ], [ "992", "999", "000", "VALUE:SX" ], [ "992", "999", "010", "VALUE:SX" ], [ "992", "999", "020", "VALUE:S2" ], [ "992", "999", "030", "VALUE:S3" ], [ "992", "999", "988", "VALUE:ERROR" ], [ "992", "999", "990-993,997-999", "VALUE:SX" ], [ "993", "000", "000", "VALUE:S1" ], [ "993", "000", "010", "VALUE:S1" ], [ "993", "000", "020", "VALUE:S2" ], [ "993", "000", "030", "VALUE:S3" ], [ "993", "000", "988", "VALUE:ERROR" ], [ "993", "000", "990-993,997-999", "VALUE:S1" ], [ "993", "010", "000", "VALUE:S1" ], [ "993", "010", "010", "VALUE:S1" ], [ "993", "010", "020", "VALUE:S2" ], [ "993", "010", "030", "VALUE:S3" ], [ "993", "010", "988", "VALUE:ERROR" ], [ "993", "010", "990-993,997-999", "VALUE:S1" ], [ "993", "020", "000", "VALUE:S2" ], [ "993", "020", "010", "VALUE:S2" ], [ "993", "020", "020", "VALUE:S2" ], [ "993", "020", "030", "VALUE:S3" ], [ "993", "020", "988", "VALUE:ERROR" ], [ "993", "020", "990-993,997-999", "VALUE:S2" ], [ "993", "030", "000", "VALUE:S3" ], [ "993", "030", "010", "VALUE:S3" ], [ "993", "030", "020", "VALUE:S3" ], [ "993", "030", "030", "VALUE:S3" ], [ "993", "030", "988", "VALUE:ERROR" ], [ "993", "030", "990-993,997-999", "VALUE:S3" ], [ "993", "988", "*", "VALUE:ERROR" ], [ "993", "990", "000", "VALUE:S1" ], [ "993", "990", "010", "VALUE:S1" ], [ "993", "990", "020", "VALUE:S2" ], [ "993", "990", "030", "VALUE:S3" ], [ "993", "990", "988", "VALUE:ERROR" ], [ "993", "990", "990-993,997-999", "VALUE:S1" ], [ "993", "991", "000", "VALUE:S1" ], [ "993", "991", "010", "VALUE:S1" ], [ "993", "991", "020", "VALUE:S2" ], [ "993", "991", "030", "VALUE:S3" ], [ "993", "991", "988", "VALUE:ERROR" ], [ "993", "991", "990-993,997-999", "VALUE:S1" ], [ "993", "992", "000", "VALUE:S1" ], [ "993", "992", "010", "VALUE:S1" ], [ "993", "992", "020", "VALUE:S2" ], [ "993", "992", "030", "VALUE:S3" ], [ "993", "992", "988", "VALUE:ERROR" ], [ "993", "992", "990-993,997-999", "VALUE:S1" ], [ "993", "993", "000", "VALUE:S1" ], [ "993", "993", "010", "VALUE:S1" ], [ "993", "993", "020", "VALUE:S2" ], [ "993", "993", "030", "VALUE:S3" ], [ "993", "993", "988", "VALUE:ERROR" ], [ "993", "993", "990-993,997-999", "VALUE:S1" ], [ "993", "997", "000", "VALUE:SX" ], [ "993", "997", "010", "VALUE:SX" ], [ "993", "997", "020", "VALUE:S2" ], [ "993", "997", "030", "VALUE:S3" ], [ "993", "997", "988", "VALUE:ERROR" ], [ "993", "997", "990-993,997-999", "VALUE:SX" ], [ "993", "998", "000", "VALUE:SX" ], [ "993", "998", "010", "VALUE:SX" ], [ "993", "998", "020", "VALUE:S2" ], [ "993", "998", "030", "VALUE:S3" ], [ "993", "998", "988", "VALUE:ERROR" ], [ "993", "998", "990-993,997-999", "VALUE:SX" ], [ "993", "999", "000", "VALUE:SX" ], [ "993", "999", "010", "VALUE:SX" ], [ "993", "999", "020", "VALUE:S2" ], [ "993", "999", "030", "VALUE:S3" ], [ "993", "999", "988", "VALUE:ERROR" ], [ "993", "999", "990-993,997-999", "VALUE:SX" ], [ "997", "000", "000", "VALUE:SX" ], [ "997", "000", "010", "VALUE:SX" ], [ "997", "000", "020", "VALUE:S2" ], [ "997", "000", "030", "VALUE:S3" ], [ "997", "000", "988", "VALUE:ERROR" ], [ "997", "000", "990-993,997-999", "VALUE:SX" ], [ "997", "010", "000", "VALUE:SX" ], [ "997", "010", "010", "VALUE:SX" ], [ "997", "010", "020", "VALUE:S2" ], [ "997", "010", "030", "VALUE:S3" ], [ "997", "010", "988", "VALUE:ERROR" ], [ "997", "010", "990-993,997-999", "VALUE:SX" ], [ "997", "020", "000", "VALUE:S2" ], [ "997", "020", "010", "VALUE:S2" ], [ "997", "020", "020", "VALUE:S2" ], [ "997", "020", "030", "VALUE:S3" ], [ "997", "020", "988", "VALUE:ERROR" ], [ "997", "020", "990-993,997-999", "VALUE:S2" ], [ "997", "030", "000", "VALUE:S3" ], [ "997", "030", "010", "VALUE:S3" ], [ "997", "030", "020", "VALUE:S3" ], [ "997", "030", "030", "VALUE:S3" ], [ "997", "030", "988", "VALUE:ERROR" ], [ "997", "030", "990-993,997-999", "VALUE:S3" ], [ "997", "988", "*", "VALUE:ERROR" ], [ "997", "990", "000", "VALUE:SX" ], [ "997", "990", "010", "VALUE:SX" ], [ "997", "990", "020", "VALUE:S2" ], [ "997", "990", "030", "VALUE:S3" ], [ "997", "990", "988", "VALUE:ERROR" ], [ "997", "990", "990-993,997-999", "VALUE:SX" ], [ "997", "991", "000", "VALUE:SX" ], [ "997", "991", "010", "VALUE:SX" ], [ "997", "991", "020", "VALUE:S2" ], [ "997", "991", "030", "VALUE:S3" ], [ "997", "991", "988", "VALUE:ERROR" ], [ "997", "991", "990-993,997-999", "VALUE:SX" ], [ "997", "992", "000", "VALUE:SX" ], [ "997", "992", "010", "VALUE:SX" ], [ "997", "992", "020", "VALUE:S2" ], [ "997", "992", "030", "VALUE:S3" ], [ "997", "992", "988", "VALUE:ERROR" ], [ "997", "992", "990-993,997-999", "VALUE:SX" ], [ "997", "993", "000", "VALUE:SX" ], [ "997", "993", "010", "VALUE:SX" ], [ "997", "993", "020", "VALUE:S2" ], [ "997", "993", "030", "VALUE:S3" ], [ "997", "993", "988", "VALUE:ERROR" ], [ "997", "993", "990-993,997-999", "VALUE:SX" ], [ "997", "997", "000", "VALUE:SX" ], [ "997", "997", "010", "VALUE:SX" ], [ "997", "997", "020", "VALUE:S2" ], [ "997", "997", "030", "VALUE:S3" ], [ "997", "997", "988", "VALUE:ERROR" ], [ "997", "997", "990-993,997-999", "VALUE:SX" ], [ "997", "998", "000", "VALUE:SX" ], [ "997", "998", "010", "VALUE:SX" ], [ "997", "998", "020", "VALUE:S2" ], [ "997", "998", "030", "VALUE:S3" ], [ "997", "998", "988", "VALUE:ERROR" ], [ "997", "998", "990-993,997-999", "VALUE:SX" ], [ "997", "999", "000", "VALUE:SX" ], [ "997", "999", "010", "VALUE:SX" ], [ "997", "999", "020", "VALUE:S2" ], [ "997", "999", "030", "VALUE:S3" ], [ "997", "999", "988", "VALUE:ERROR" ], [ "997", "999", "990-993,997-999", "VALUE:SX" ], [ "998", "000", "000", "VALUE:SX" ], [ "998", "000", "010", "VALUE:SX" ], [ "998", "000", "020", "VALUE:S2" ], [ "998", "000", "030", "VALUE:S3" ], [ "998", "000", "988", "VALUE:ERROR" ], [ "998", "000", "990-993,997-999", "VALUE:SX" ], [ "998", "010", "000", "VALUE:SX" ], [ "998", "010", "010", "VALUE:SX" ], [ "998", "010", "020", "VALUE:S2" ], [ "998", "010", "030", "VALUE:S3" ], [ "998", "010", "988", "VALUE:ERROR" ], [ "998", "010", "990-993,997-999", "VALUE:SX" ], [ "998", "020", "000", "VALUE:S2" ], [ "998", "020", "010", "VALUE:S2" ], [ "998", "020", "020", "VALUE:S2" ], [ "998", "020", "030", "VALUE:S3" ], [ "998", "020", "988", "VALUE:ERROR" ], [ "998", "020", "990-993,997-999", "VALUE:S2" ], [ "998", "030", "000", "VALUE:S3" ], [ "998", "030", "010", "VALUE:S3" ], [ "998", "030", "020", "VALUE:S3" ], [ "998", "030", "030", "VALUE:S3" ], [ "998", "030", "988", "VALUE:ERROR" ], [ "998", "030", "990-993,997-999", "VALUE:S3" ], [ "998", "988", "*", "VALUE:ERROR" ], [ "998", "990", "000", "VALUE:SX" ], [ "998", "990", "010", "VALUE:SX" ], [ "998", "990", "020", "VALUE:S2" ], [ "998", "990", "030", "VALUE:S3" ], [ "998", "990", "988", "VALUE:ERROR" ], [ "998", "990", "990-993,997-999", "VALUE:SX" ], [ "998", "991", "000", "VALUE:SX" ], [ "998", "991", "010", "VALUE:SX" ], [ "998", "991", "020", "VALUE:S2" ], [ "998", "991", "030", "VALUE:S3" ], [ "998", "991", "988", "VALUE:ERROR" ], [ "998", "991", "990-993,997-999", "VALUE:SX" ], [ "998", "992", "000", "VALUE:SX" ], [ "998", "992", "010", "VALUE:SX" ], [ "998", "992", "020", "VALUE:S2" ], [ "998", "992", "030", "VALUE:S3" ], [ "998", "992", "988", "VALUE:ERROR" ], [ "998", "992", "990-993,997-999", "VALUE:SX" ], [ "998", "993", "000", "VALUE:SX" ], [ "998", "993", "010", "VALUE:SX" ], [ "998", "993", "020", "VALUE:S2" ], [ "998", "993", "030", "VALUE:S3" ], [ "998", "993", "988", "VALUE:ERROR" ], [ "998", "993", "990-993,997-999", "VALUE:SX" ], [ "998", "997", "000", "VALUE:SX" ], [ "998", "997", "010", "VALUE:SX" ], [ "998", "997", "020", "VALUE:S2" ], [ "998", "997", "030", "VALUE:S3" ], [ "998", "997", "988", "VALUE:ERROR" ], [ "998", "997", "990-993,997-999", "VALUE:SX" ], [ "998", "998", "000", "VALUE:SX" ], [ "998", "998", "010", "VALUE:SX" ], [ "998", "998", "020", "VALUE:S2" ], [ "998", "998", "030", "VALUE:S3" ], [ "998", "998", "988", "VALUE:ERROR" ], [ "998", "998", "990-993,997-999", "VALUE:SX" ], [ "998", "999", "000", "VALUE:SX" ], [ "998", "999", "010", "VALUE:SX" ], [ "998", "999", "020", "VALUE:S2" ], [ "998", "999", "030", "VALUE:S3" ], [ "998", "999", "988", "VALUE:ERROR" ], [ "998", "999", "990-993,997-999", "VALUE:SX" ], [ "999", "000", "000", "VALUE:SX" ], [ "999", "000", "010", "VALUE:SX" ], [ "999", "000", "020", "VALUE:S2" ], [ "999", "000", "030", "VALUE:S3" ], [ "999", "000", "988", "VALUE:ERROR" ], [ "999", "000", "990-993,997-999", "VALUE:SX" ], [ "999", "010", "000", "VALUE:SX" ], [ "999", "010", "010", "VALUE:SX" ], [ "999", "010", "020", "VALUE:S2" ], [ "999", "010", "030", "VALUE:S3" ], [ "999", "010", "988", "VALUE:ERROR" ], [ "999", "010", "990-993,997-999", "VALUE:SX" ], [ "999", "020", "000", "VALUE:S2" ], [ "999", "020", "010", "VALUE:S2" ], [ "999", "020", "020", "VALUE:S2" ], [ "999", "020", "030", "VALUE:S3" ], [ "999", "020", "988", "VALUE:ERROR" ], [ "999", "020", "990-993,997-999", "VALUE:S2" ], [ "999", "030", "000", "VALUE:S3" ], [ "999", "030", "010", "VALUE:S3" ], [ "999", "030", "020", "VALUE:S3" ], [ "999", "030", "030", "VALUE:S3" ], [ "999", "030", "988", "VALUE:ERROR" ], [ "999", "030", "990-993,997-999", "VALUE:S3" ], [ "999", "988", "*", "VALUE:ERROR" ], [ "999", "990", "000", "VALUE:SX" ], [ "999", "990", "010", "VALUE:SX" ], [ "999", "990", "020", "VALUE:S2" ], [ "999", "990", "030", "VALUE:S3" ], [ "999", "990", "988", "VALUE:ERROR" ], [ "999", "990", "990-993,997-999", "VALUE:SX" ], [ "999", "991", "000", "VALUE:SX" ], [ "999", "991", "010", "VALUE:SX" ], [ "999", "991", "020", "VALUE:S2" ], [ "999", "991", "030", "VALUE:S3" ], [ "999", "991", "988", "VALUE:ERROR" ], [ "999", "991", "990-993,997-999", "VALUE:SX" ], [ "999", "992", "000", "VALUE:SX" ], [ "999", "992", "010", "VALUE:SX" ], [ "999", "992", "020", "VALUE:S2" ], [ "999", "992", "030", "VALUE:S3" ], [ "999", "992", "988", "VALUE:ERROR" ], [ "999", "992", "990-993,997-999", "VALUE:SX" ], [ "999", "993", "000", "VALUE:SX" ], [ "999", "993", "010", "VALUE:SX" ], [ "999", "993", "020", "VALUE:S2" ], [ "999", "993", "030", "VALUE:S3" ], [ "999", "993", "988", "VALUE:ERROR" ], [ "999", "993", "990-993,997-999", "VALUE:SX" ], [ "999", "997", "000", "VALUE:SX" ], [ "999", "997", "010", "VALUE:SX" ], [ "999", "997", "020", "VALUE:S2" ], [ "999", "997", "030", "VALUE:S3" ], [ "999", "997", "988", "VALUE:ERROR" ], [ "999", "997", "990-993,997-999", "VALUE:SX" ], [ "999", "998", "000", "VALUE:SX" ], [ "999", "998", "010", "VALUE:SX" ], [ "999", "998", "020", "VALUE:S2" ], [ "999", "998", "030", "VALUE:S3" ], [ "999", "998", "988", "VALUE:ERROR" ], [ "999", "998", "990-993,997-999", "VALUE:SX" ], [ "999", "999", "000", "VALUE:SX" ], [ "999", "999", "010", "VALUE:SX" ], [ "999", "999", "020", "VALUE:S2" ], [ "999", "999", "030", "VALUE:S3" ], [ "999", "999", "988", "VALUE:ERROR" ], [ "999", "999", "990-993,997-999", "VALUE:SX" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_anaplastic.json b/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_anaplastic.json deleted file mode 100644 index 0b087a1ef..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_anaplastic.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "thyroid_ajcctnm7_stage_thyroid_anaplastic", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Thyroid Anaplastic", - "title" : "TNM 7 Stage-Thyroid: Anaplastic", - "last_modified" : "2018-05-14T21:29:00.362Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "4A", "0", "0", "VALUE:4A" ], [ "4A", "1A", "0", "VALUE:4A" ], [ "4A", "1B", "0", "VALUE:4A" ], [ "4A", "1", "0", "VALUE:4A" ], [ "4A", "X", "0", "VALUE:4A" ], [ "4B", "0", "0", "VALUE:4B" ], [ "4B", "1A", "0", "VALUE:4B" ], [ "4B", "1B", "0", "VALUE:4B" ], [ "4B", "1", "0", "VALUE:4B" ], [ "4B", "X", "0", "VALUE:4B" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1A", "0", "VALUE:4" ], [ "4", "1B", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "4A", "0", "1", "VALUE:4C" ], [ "4A", "1A", "1", "VALUE:4C" ], [ "4A", "1B", "1", "VALUE:4C" ], [ "4A", "1", "1", "VALUE:4C" ], [ "4A", "X", "1", "VALUE:4C" ], [ "4B", "0", "1", "VALUE:4C" ], [ "4B", "1A", "1", "VALUE:4C" ], [ "4B", "1B", "1", "VALUE:4C" ], [ "4B", "1", "1", "VALUE:4C" ], [ "4B", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1A", "1", "VALUE:4C" ], [ "4", "1B", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_medullary.json b/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_medullary.json deleted file mode 100644 index 253bc4f59..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_medullary.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "thyroid_ajcctnm7_stage_thyroid_medullary", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Thyroid Medullary", - "title" : "TNM 7 Stage-Thyroid: Medullary", - "last_modified" : "2018-05-14T21:29:01.066Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1A", "0", "VALUE:99" ], [ "0", "1B", "0", "VALUE:4A" ], [ "0", "1", "0", "VALUE:99" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1A", "0", "VALUE:3" ], [ "1A", "1B", "0", "VALUE:4A" ], [ "1A", "1", "0", "VALUE:99" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1A", "0", "VALUE:3" ], [ "1B", "1B", "0", "VALUE:4A" ], [ "1B", "1", "0", "VALUE:99" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1A", "0", "VALUE:3" ], [ "1", "1B", "0", "VALUE:4A" ], [ "1", "1", "0", "VALUE:99" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1A", "0", "VALUE:3" ], [ "2", "1B", "0", "VALUE:4A" ], [ "2", "1", "0", "VALUE:99" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2" ], [ "3", "1A", "0", "VALUE:3" ], [ "3", "1B", "0", "VALUE:4A" ], [ "3", "1", "0", "VALUE:99" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:4A" ], [ "4A", "1A", "0", "VALUE:4A" ], [ "4A", "1B", "0", "VALUE:4A" ], [ "4A", "1", "0", "VALUE:4A" ], [ "4A", "X", "0", "VALUE:4A" ], [ "4B", "0", "0", "VALUE:4B" ], [ "4B", "1A", "0", "VALUE:4B" ], [ "4B", "1B", "0", "VALUE:4B" ], [ "4B", "1", "0", "VALUE:4B" ], [ "4B", "X", "0", "VALUE:4B" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1A", "0", "VALUE:4" ], [ "4", "1B", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1A", "0", "VALUE:99" ], [ "X", "1B", "0", "VALUE:4" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4C" ], [ "0", "1A", "1", "VALUE:4C" ], [ "0", "1B", "1", "VALUE:4C" ], [ "0", "1", "1", "VALUE:4C" ], [ "0", "X", "1", "VALUE:4C" ], [ "1A", "0", "1", "VALUE:4C" ], [ "1A", "1A", "1", "VALUE:4C" ], [ "1A", "1B", "1", "VALUE:4C" ], [ "1A", "1", "1", "VALUE:4C" ], [ "1A", "X", "1", "VALUE:4C" ], [ "1B", "0", "1", "VALUE:4C" ], [ "1B", "1A", "1", "VALUE:4C" ], [ "1B", "1B", "1", "VALUE:4C" ], [ "1B", "1", "1", "VALUE:4C" ], [ "1B", "X", "1", "VALUE:4C" ], [ "1", "0", "1", "VALUE:4C" ], [ "1", "1A", "1", "VALUE:4C" ], [ "1", "1B", "1", "VALUE:4C" ], [ "1", "1", "1", "VALUE:4C" ], [ "1", "X", "1", "VALUE:4C" ], [ "2", "0", "1", "VALUE:4C" ], [ "2", "1A", "1", "VALUE:4C" ], [ "2", "1B", "1", "VALUE:4C" ], [ "2", "1", "1", "VALUE:4C" ], [ "2", "X", "1", "VALUE:4C" ], [ "3", "0", "1", "VALUE:4C" ], [ "3", "1A", "1", "VALUE:4C" ], [ "3", "1B", "1", "VALUE:4C" ], [ "3", "1", "1", "VALUE:4C" ], [ "3", "X", "1", "VALUE:4C" ], [ "4A", "0", "1", "VALUE:4C" ], [ "4A", "1A", "1", "VALUE:4C" ], [ "4A", "1B", "1", "VALUE:4C" ], [ "4A", "1", "1", "VALUE:4C" ], [ "4A", "X", "1", "VALUE:4C" ], [ "4B", "0", "1", "VALUE:4C" ], [ "4B", "1A", "1", "VALUE:4C" ], [ "4B", "1B", "1", "VALUE:4C" ], [ "4B", "1", "1", "VALUE:4C" ], [ "4B", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1A", "1", "VALUE:4C" ], [ "4", "1B", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "X", "0", "1", "VALUE:4C" ], [ "X", "1A", "1", "VALUE:4C" ], [ "X", "1B", "1", "VALUE:4C" ], [ "X", "1", "1", "VALUE:4C" ], [ "X", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older.json b/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older.json deleted file mode 100644 index 0c6480192..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_age45and_older", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Thyroid Papillary and Follicular Age 45 and Older", - "title" : "TNM 7 Stage-Thyroid: Papillary and Follicular Age 45 and Older", - "last_modified" : "2018-05-14T21:29:01.715Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1A", "0", "VALUE:99" ], [ "0", "1B", "0", "VALUE:4A" ], [ "0", "1", "0", "VALUE:99" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1A", "0", "VALUE:3" ], [ "1A", "1B", "0", "VALUE:4A" ], [ "1A", "1", "0", "VALUE:99" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1A", "0", "VALUE:3" ], [ "1B", "1B", "0", "VALUE:4A" ], [ "1B", "1", "0", "VALUE:99" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1A", "0", "VALUE:3" ], [ "1", "1B", "0", "VALUE:4A" ], [ "1", "1", "0", "VALUE:99" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1A", "0", "VALUE:3" ], [ "2", "1B", "0", "VALUE:4A" ], [ "2", "1", "0", "VALUE:99" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1A", "0", "VALUE:3" ], [ "3", "1B", "0", "VALUE:4A" ], [ "3", "1", "0", "VALUE:99" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:4A" ], [ "4A", "1A", "0", "VALUE:4A" ], [ "4A", "1B", "0", "VALUE:4A" ], [ "4A", "1", "0", "VALUE:4A" ], [ "4A", "X", "0", "VALUE:4A" ], [ "4B", "0", "0", "VALUE:4B" ], [ "4B", "1A", "0", "VALUE:4B" ], [ "4B", "1B", "0", "VALUE:4B" ], [ "4B", "1", "0", "VALUE:4B" ], [ "4B", "X", "0", "VALUE:4B" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1A", "0", "VALUE:4" ], [ "4", "1B", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1A", "0", "VALUE:99" ], [ "X", "1B", "0", "VALUE:4" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4C" ], [ "0", "1A", "1", "VALUE:4C" ], [ "0", "1B", "1", "VALUE:4C" ], [ "0", "1", "1", "VALUE:4C" ], [ "0", "X", "1", "VALUE:4C" ], [ "1A", "0", "1", "VALUE:4C" ], [ "1A", "1A", "1", "VALUE:4C" ], [ "1A", "1B", "1", "VALUE:4C" ], [ "1A", "1", "1", "VALUE:4C" ], [ "1A", "X", "1", "VALUE:4C" ], [ "1B", "0", "1", "VALUE:4C" ], [ "1B", "1A", "1", "VALUE:4C" ], [ "1B", "1B", "1", "VALUE:4C" ], [ "1B", "1", "1", "VALUE:4C" ], [ "1B", "X", "1", "VALUE:4C" ], [ "1", "0", "1", "VALUE:4C" ], [ "1", "1A", "1", "VALUE:4C" ], [ "1", "1B", "1", "VALUE:4C" ], [ "1", "1", "1", "VALUE:4C" ], [ "1", "X", "1", "VALUE:4C" ], [ "2", "0", "1", "VALUE:4C" ], [ "2", "1A", "1", "VALUE:4C" ], [ "2", "1B", "1", "VALUE:4C" ], [ "2", "1", "1", "VALUE:4C" ], [ "2", "X", "1", "VALUE:4C" ], [ "3", "0", "1", "VALUE:4C" ], [ "3", "1A", "1", "VALUE:4C" ], [ "3", "1B", "1", "VALUE:4C" ], [ "3", "1", "1", "VALUE:4C" ], [ "3", "X", "1", "VALUE:4C" ], [ "4A", "0", "1", "VALUE:4C" ], [ "4A", "1A", "1", "VALUE:4C" ], [ "4A", "1B", "1", "VALUE:4C" ], [ "4A", "1", "1", "VALUE:4C" ], [ "4A", "X", "1", "VALUE:4C" ], [ "4B", "0", "1", "VALUE:4C" ], [ "4B", "1A", "1", "VALUE:4C" ], [ "4B", "1B", "1", "VALUE:4C" ], [ "4B", "1", "1", "VALUE:4C" ], [ "4B", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1A", "1", "VALUE:4C" ], [ "4", "1B", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "X", "0", "1", "VALUE:4C" ], [ "X", "1A", "1", "VALUE:4C" ], [ "X", "1B", "1", "VALUE:4C" ], [ "X", "1", "1", "VALUE:4C" ], [ "X", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_lessthan_45.json b/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_lessthan_45.json deleted file mode 100644 index 84bd7a5a3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_lessthan_45.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "thyroid_ajcctnm7_stage_thyroid_papillaryand_follicular_lessthan_45", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Thyroid Papillary and Follicular Age less than 45", - "title" : "TNM 7 Stage-Thyroid: Papillary and Follicular Age less than 45", - "last_modified" : "2018-05-14T21:28:58.450Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:1" ], [ "0", "1A", "0", "VALUE:1" ], [ "0", "1B", "0", "VALUE:1" ], [ "0", "1", "0", "VALUE:1" ], [ "0", "X", "0", "VALUE:1" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1A", "0", "VALUE:1" ], [ "1A", "1B", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:1" ], [ "1A", "X", "0", "VALUE:1" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1A", "0", "VALUE:1" ], [ "1B", "1B", "0", "VALUE:1" ], [ "1B", "1", "0", "VALUE:1" ], [ "1B", "X", "0", "VALUE:1" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1A", "0", "VALUE:1" ], [ "1", "1B", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:1" ], [ "1", "X", "0", "VALUE:1" ], [ "2", "0", "0", "VALUE:1" ], [ "2", "1A", "0", "VALUE:1" ], [ "2", "1B", "0", "VALUE:1" ], [ "2", "1", "0", "VALUE:1" ], [ "2", "X", "0", "VALUE:1" ], [ "3", "0", "0", "VALUE:1" ], [ "3", "1A", "0", "VALUE:1" ], [ "3", "1B", "0", "VALUE:1" ], [ "3", "1", "0", "VALUE:1" ], [ "3", "X", "0", "VALUE:1" ], [ "4A", "0", "0", "VALUE:1" ], [ "4A", "1A", "0", "VALUE:1" ], [ "4A", "1B", "0", "VALUE:1" ], [ "4A", "1", "0", "VALUE:1" ], [ "4A", "X", "0", "VALUE:1" ], [ "4B", "0", "0", "VALUE:1" ], [ "4B", "1A", "0", "VALUE:1" ], [ "4B", "1B", "0", "VALUE:1" ], [ "4B", "1", "0", "VALUE:1" ], [ "4B", "X", "0", "VALUE:1" ], [ "4", "0", "0", "VALUE:1" ], [ "4", "1A", "0", "VALUE:1" ], [ "4", "1B", "0", "VALUE:1" ], [ "4", "1", "0", "VALUE:1" ], [ "4", "X", "0", "VALUE:1" ], [ "X", "0", "0", "VALUE:1" ], [ "X", "1A", "0", "VALUE:1" ], [ "X", "1B", "0", "VALUE:1" ], [ "X", "1", "0", "VALUE:1" ], [ "X", "X", "0", "VALUE:1" ], [ "0", "0", "1", "VALUE:2" ], [ "0", "1A", "1", "VALUE:2" ], [ "0", "1B", "1", "VALUE:2" ], [ "0", "1", "1", "VALUE:2" ], [ "0", "X", "1", "VALUE:2" ], [ "1A", "0", "1", "VALUE:2" ], [ "1A", "1A", "1", "VALUE:2" ], [ "1A", "1B", "1", "VALUE:2" ], [ "1A", "1", "1", "VALUE:2" ], [ "1A", "X", "1", "VALUE:2" ], [ "1B", "0", "1", "VALUE:2" ], [ "1B", "1A", "1", "VALUE:2" ], [ "1B", "1B", "1", "VALUE:2" ], [ "1B", "1", "1", "VALUE:2" ], [ "1B", "X", "1", "VALUE:2" ], [ "1", "0", "1", "VALUE:2" ], [ "1", "1A", "1", "VALUE:2" ], [ "1", "1B", "1", "VALUE:2" ], [ "1", "1", "1", "VALUE:2" ], [ "1", "X", "1", "VALUE:2" ], [ "2", "0", "1", "VALUE:2" ], [ "2", "1A", "1", "VALUE:2" ], [ "2", "1B", "1", "VALUE:2" ], [ "2", "1", "1", "VALUE:2" ], [ "2", "X", "1", "VALUE:2" ], [ "3", "0", "1", "VALUE:2" ], [ "3", "1A", "1", "VALUE:2" ], [ "3", "1B", "1", "VALUE:2" ], [ "3", "1", "1", "VALUE:2" ], [ "3", "X", "1", "VALUE:2" ], [ "4A", "0", "1", "VALUE:2" ], [ "4A", "1A", "1", "VALUE:2" ], [ "4A", "1B", "1", "VALUE:2" ], [ "4A", "1", "1", "VALUE:2" ], [ "4A", "X", "1", "VALUE:2" ], [ "4B", "0", "1", "VALUE:2" ], [ "4B", "1A", "1", "VALUE:2" ], [ "4B", "1B", "1", "VALUE:2" ], [ "4B", "1", "1", "VALUE:2" ], [ "4B", "X", "1", "VALUE:2" ], [ "4", "0", "1", "VALUE:2" ], [ "4", "1A", "1", "VALUE:2" ], [ "4", "1B", "1", "VALUE:2" ], [ "4", "1", "1", "VALUE:2" ], [ "4", "X", "1", "VALUE:2" ], [ "X", "0", "1", "VALUE:2" ], [ "X", "1A", "1", "VALUE:2" ], [ "X", "1B", "1", "VALUE:2" ], [ "X", "1", "1", "VALUE:2" ], [ "X", "X", "1", "VALUE:2" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/thyroid_anaplastic_74409.json b/src/test/resources/algorithms/tnm/2.0/tables/thyroid_anaplastic_74409.json deleted file mode 100644 index fedbcaf49..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/thyroid_anaplastic_74409.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "thyroid_anaplastic_74409", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Thyroid Anaplastic", - "title" : "Thyroid Anaplastic for the Default T determination", - "last_modified" : "2018-05-14T21:29:03.248Z", - "definition" : [ { - "key" : "hist", - "name" : "ICD-O-3 Histology", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Type", - "type" : "DESCRIPTION" - }, { - "key" : "default_t_table", - "name" : "Default T Table", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "8020,8021,8030,8031,8032", "1,2,3,4,9", "Anaplastic", "JUMP:determine_default_t_anaplastic_77806" ], [ "*", "4", "Anaplastic", "JUMP:determine_default_t_anaplastic_77806" ], [ "*", "*", "All others", "JUMP:determine_default_t" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/thyroid_t_6166.json b/src/test/resources/algorithms/tnm/2.0/tables/thyroid_t_6166.json deleted file mode 100644 index 516b2970e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/thyroid_t_6166.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "thyroid_t_6166", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Thyroid", - "title" : "Pathologic T", - "notes" : "**Note 1:** Assign 88 for in situ cases (behavior code /2). TNM does not include an in situ category for thyroid tumors.\n\n**Note 2:** Per TNM, anaplastic carcinomas are assigned T4.\n\n**Note 3:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 4:** Assign the appropriate T category (T1, T2 or T3) based on the tumor size for the following descriptions\n\n Single invasive tumor confined to thyroid\n Extension into thyroid capsule, but not beyond\n Multiple foci confined to thyroid\n\n Confined to thyroid, NOS \n Localized, NOS\n\n**Note 5:** Multifocal tumors of all histological types should be designated (m) (the largest determines the classification), e.g, T2. \n* Record the information regarding solitary vs. multifocal tumors in **Site-Specific Factor 1, Solitary vs Multifocal Tumor**", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.412Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Note: Anaplastic tumors: Do not assign TX. See T4\n\nPathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T\n\nConfined to thyroid, histology not anaplastic, and size not known" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension, \nLIMITED to the thyroid", "Note 1: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nNote 2: T1 is not applicable for anaplastic tumors.\n\nStated as T1[NOS]" ], [ "p1A", "pT1a", "Tumor 1 cm or less in greatest dimension, \nLIMITED to the thyroid", "Stated as T1a\n\nNote: T1a is not applicable for anaplastic tumors." ], [ "p1B", "pT1b", "Tumor more than 1 cm but not more than 2 cm in greatest dimension, \nLIMITED to the thyroid", "Stated as T1b\n\nNote: T1b is not applicable for anaplastic tumors." ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension, \nLIMITED to the thyroid", "Stated as T2\n\nNote: T2 is not applicable for anaplastic tumors." ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension \nLimited to the thyroid \n\nAny tumor with minimal extrathyroid extension \n (e.g., extension to sternothyroid muscle or perithyroid soft tissues)", "Stated as T3\n\nNote: T3 is not applicable for anaplastic tumors.\n\nMinimal extrathyroid extension including:\n Strap muscle(s):\n Omohyoid\n Sternohyoid\n Sternothyroid\n Thyrohyoid\n\nPericapsular soft tissue/connective tissue" ], [ "p4", "pT4", "Not defined by UICC*#", "Note 1: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nNote 2: Anaplastic tumors: Assign T4, or one of its subcategories. Assign T4 [NOS] if no information available to assign T4a or T4b.\n\nTumor invades, bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor extends beyond the thyroid capsule and invades any of the following: \n Subcutaneous soft tissues\n Larynx\n Trachea\n Esophagus\n Recurrent laryngeal nerve \n\n(anaplastic carcinoma only) Tumor (any size) limited to the thyroid", "Cricoid cartilage\nEsophagus\nLarynx\nNerves:\n Recurrent laryngeal \n Vagus\nParathyroid\nSternocleidomastoid muscle\nTrachea\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades: \n Prevertebral fascia\n Mediastinal vessels \n\nOr encases carotid artery\n\n(anaplastic carcinoma only) Tumor (any size) extends beyond the thyroid capsules", "Bone\nBlood vessel(s) (major):\n Carotid artery (encased)\n Jugular vein\n Thyroid artery or vein\nSkeletal muscle, other than strap or sternocleidomastoid muscle\nThyroid cartilage\nTumor described as \"\"FIXED to adjacent tissues\"\"\n\nFurther contiguous extension including:\n Mediastinal tissues\n Prevertebral fascia\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined \nIn situ case but no pTis is defined by TNM\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tab.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tab.json deleted file mode 100644 index feb7cc2c5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tab.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tab", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:28:58.387Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8800-8820" ], [ "8823-8934" ], [ "8940-9136" ], [ "9142-9582" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tae.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tae.json deleted file mode 100644 index 03ef64496..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tae.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tae", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.680Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8940-8950" ], [ "8971" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpa.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpa.json deleted file mode 100644 index cf65c04b1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpa.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:02.324Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8720-8790" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpb.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpb.json deleted file mode 100644 index cbad6f1b4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpb.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.066Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8940-8950" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpc.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpc.json deleted file mode 100644 index 0c6db67e3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpc.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:03.419Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8152" ], [ "8154-8231" ], [ "8243-8245" ], [ "8247" ], [ "8248" ], [ "8250-8576" ], [ "8940-8950" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpe.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpe.json deleted file mode 100644 index 497a97310..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpe.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpe", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.105Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8152" ], [ "8154-8231" ], [ "8243-8245" ], [ "8250-8576" ], [ "8940-8950" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpf.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpf.json deleted file mode 100644 index 2a9a0d6d7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpf.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:28:58.333Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "9050-9053" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpg.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpg.json deleted file mode 100644 index 606f2b9a4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpg.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.031Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8940-8950" ], [ "8980-8981" ], [ "9020" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tph.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tph.json deleted file mode 100644 index d9f5fe389..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tph.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tph", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.079Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8800-8801" ], [ "8940-8950" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpi.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpi.json deleted file mode 100644 index f8809f5bf..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpi.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpi", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:28:58.366Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "9100-9105" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpj.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpj.json deleted file mode 100644 index c7323d5a2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpj.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:28:58.405Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8590-8670" ], [ "8940-8950" ], [ "8980-8981" ], [ "9060-9090" ], [ "9100-9105" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpk.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpk.json deleted file mode 100644 index 5fd2edf3c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpk.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpk", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.083Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "C692", "9510-9514" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpl.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpl.json deleted file mode 100644 index 6fd3362d1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpl.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpl", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.035Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "9590-9699" ], [ "9702-9738" ], [ "9811-9818" ], [ "9820-9837" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpm.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpm.json deleted file mode 100644 index 51fa13f20..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpm.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.107Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8153" ], [ "8240-8242" ], [ "8246" ], [ "8249" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpn.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpn.json deleted file mode 100644 index 8821d0bf6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpn.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.106Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "C220", "8170-8175" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpo.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpo.json deleted file mode 100644 index 47bc97a3f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpo.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpo", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:01.712Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8935-8936" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpp.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpp.json deleted file mode 100644 index 0be903fa5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpp.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpp", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.069Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8800-8936" ], [ "8940-9136" ], [ "9141-9508" ], [ "9520-9582" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpq.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpq.json deleted file mode 100644 index bbdbcb3f4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpq.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:28:58.382Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8246" ], [ "8248-8576" ], [ "8940-8950" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpr.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpr.json deleted file mode 100644 index 03b5d5f7a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpr.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpr", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:01.118Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "9590-9699" ], [ "9702-9727" ], [ "9735" ], [ "9737" ], [ "9738" ], [ "9811-9818" ], [ "9823" ], [ "9827" ], [ "9837" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tps.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tps.json deleted file mode 100644 index 5ccd303f0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tps.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tps", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.042Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8800-8820" ], [ "8823-8935" ], [ "8940-9136" ], [ "9142-9582" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpt.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpt.json deleted file mode 100644 index 75f916025..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpt.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpt", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.679Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "C221", "8160" ], [ "C221", "8161" ], [ "C221", "8180" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpv.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpv.json deleted file mode 100644 index 2706a2bf0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpv.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpv", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:28:58.408Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8110" ], [ "8140-8576" ], [ "8940-8950" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpw.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpw.json deleted file mode 100644 index 6f2e9f5ee..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpw.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpw", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:28:58.365Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "9700-9701" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpx.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpx.json deleted file mode 100644 index c473c036c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpx.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.071Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8590-8671" ], [ "8930-9110" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpy.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpy.json deleted file mode 100644 index 2a37ebf61..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpy.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpy", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.106Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8800-9136" ], [ "9142-9582" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpz.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpz.json deleted file mode 100644 index 35f50397b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tpz.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "id" : "tnm7_inclusions_tpz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "notes" : "**Note:** For Peritoneum, this table is for males only. For females and site C481-C482, C488, the histologies are 8800-8820,8823-8921,9120-9136,9142-9582 because the other histologies are in PeritoneumFemaleGen.", - "last_modified" : "2018-05-14T21:28:58.355Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8800-8820" ], [ "8823-8934" ], [ "8940-9136" ], [ "9142-9582" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqa.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqa.json deleted file mode 100644 index 69529a469..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqa.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tqa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:28:58.381Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8590-8671" ], [ "8930-8934" ], [ "8940-9110" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqb.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqb.json deleted file mode 100644 index 0cc47c4d1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqb.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tqb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.108Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8247" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqc.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqc.json deleted file mode 100644 index dbf742ce2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqc.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "tnm7_inclusions_tqc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.084Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "C740", "8010" ], [ "C740", "8140" ], [ "C740", "8370" ], [ "C749", "8370" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqg.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqg.json deleted file mode 100644 index 401d5e246..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqg.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tqg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:28:58.498Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8790" ], [ "8950" ], [ "8951" ], [ "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqh.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqh.json deleted file mode 100644 index 8b98d1a1b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqh.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tqh", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.109Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8933" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqi.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqi.json deleted file mode 100644 index 619950a2f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqi.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tqi", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.070Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8800" ], [ "8890-8898" ], [ "8900-8921" ], [ "8930-8931" ], [ "8935" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqj.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqj.json deleted file mode 100644 index 937f09130..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqj.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tqj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:03.416Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8152" ], [ "8154-8231" ], [ "8243-8245" ], [ "8247" ], [ "8248" ], [ "8250-8576" ], [ "8940-8950" ], [ "8980-8990" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqk.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqk.json deleted file mode 100644 index e7ef4bc5b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqk.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "tnm7_inclusions_tqk", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:02.952Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "C170,C171,C172,C178,C179", "8000-8152" ], [ "C170,C171,C172,C178,C179", "8154-8231" ], [ "C170,C171,C172,C178,C179", "8243-8245" ], [ "C170,C171,C172,C178,C179", "8247" ], [ "C170,C171,C172,C178,C179", "8248" ], [ "C170,C171,C172,C178,C179", "8250-8576" ], [ "C170,C171,C172,C178,C179", "8940-8950" ], [ "C170,C171,C172,C178,C179", "8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tql.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tql.json deleted file mode 100644 index 7a836efa3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tql.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "tnm7_inclusions_tql", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.110Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "C170,C171,C172,C178,C179", "8935-8936" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqm.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqm.json deleted file mode 100644 index 76f30c6d8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqm.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "tnm7_inclusions_tqm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed.", - "last_modified" : "2018-05-14T21:29:00.043Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "C328, C329", "8000-8576,8940-8950,8980-8981" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqn.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqn.json deleted file mode 100644 index 67f249daa..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_inclusions_tqn.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "id" : "tnm7_inclusions_tqn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM7 Inclusions", - "title" : "Histology Inclusion Table TNM 7th ed. new", - "last_modified" : "2018-05-14T21:28:58.483Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8576" ], [ "8940-8950" ], [ "8980-8982" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_gist_small_intestine_upy.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_gist_small_intestine_upy.json deleted file mode 100644 index 26a6cd954..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_gist_small_intestine_upy.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm7_path_stage_gist_small_intestine_upy", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group GIST Small Intestine", - "title" : "TNM 7 Path Stage Group GIST Small Intestine", - "last_modified" : "2018-05-14T21:29:03.015Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0,X", "0", "High", "VALUE:99" ], [ "0", "0,X", "0", "Low", "VALUE:99" ], [ "0", "0,X", "0", "Unknown", "VALUE:99" ], [ "0", "1", "0", "High", "VALUE:4" ], [ "0", "1", "0", "Low", "VALUE:4" ], [ "0", "1", "0", "Unknown", "VALUE:4" ], [ "1", "0,X", "0", "High", "VALUE:3A" ], [ "1", "0,X", "0", "Low", "VALUE:1" ], [ "1", "0,X", "0", "Unknown", "VALUE:99" ], [ "1", "1", "0", "High", "VALUE:4" ], [ "1", "1", "0", "Low", "VALUE:4" ], [ "1", "1", "0", "Unknown", "VALUE:4" ], [ "2", "0,X", "0", "High", "VALUE:3B" ], [ "2", "0,X", "0", "Low", "VALUE:1" ], [ "2", "0,X", "0", "Unknown", "VALUE:99" ], [ "2", "1", "0", "High", "VALUE:4" ], [ "2", "1", "0", "Low", "VALUE:4" ], [ "2", "1", "0", "Unknown", "VALUE:4" ], [ "3", "0,X", "0", "High", "VALUE:3B" ], [ "3", "0,X", "0", "Low", "VALUE:2" ], [ "3", "0,X", "0", "Unknown", "VALUE:99" ], [ "3", "1", "0", "High", "VALUE:4" ], [ "3", "1", "0", "Low", "VALUE:4" ], [ "3", "1", "0", "Unknown", "VALUE:4" ], [ "4", "0,X", "0", "High", "VALUE:3B" ], [ "4", "0,X", "0", "Low", "VALUE:3A" ], [ "4", "0,X", "0", "Unknown", "VALUE:3" ], [ "4", "1", "0", "High", "VALUE:4" ], [ "4", "1", "0", "Low", "VALUE:4" ], [ "4", "1", "0", "Unknown", "VALUE:4" ], [ "X", "0,X", "0", "High", "VALUE:99" ], [ "X", "0,X", "0", "Low", "VALUE:99" ], [ "X", "0,X", "0", "Unknown", "VALUE:99" ], [ "X", "1", "0", "High", "VALUE:4" ], [ "X", "1", "0", "Low", "VALUE:4" ], [ "X", "1", "0", "Unknown", "VALUE:4" ], [ "0", "0,X", "1", "High", "VALUE:4" ], [ "0", "0,X", "1", "Low", "VALUE:4" ], [ "0", "0,X", "1", "Unknown", "VALUE:4" ], [ "0", "1", "1", "High", "VALUE:4" ], [ "0", "1", "1", "Low", "VALUE:4" ], [ "0", "1", "1", "Unknown", "VALUE:4" ], [ "1", "0,X", "1", "High", "VALUE:4" ], [ "1", "0,X", "1", "Low", "VALUE:4" ], [ "1", "0,X", "1", "Unknown", "VALUE:4" ], [ "1", "1", "1", "High", "VALUE:4" ], [ "1", "1", "1", "Low", "VALUE:4" ], [ "1", "1", "1", "Unknown", "VALUE:4" ], [ "2", "0,X", "1", "High", "VALUE:4" ], [ "2", "0,X", "1", "Low", "VALUE:4" ], [ "2", "0,X", "1", "Unknown", "VALUE:4" ], [ "2", "1", "1", "High", "VALUE:4" ], [ "2", "1", "1", "Low", "VALUE:4" ], [ "2", "1", "1", "Unknown", "VALUE:4" ], [ "3", "0,X", "1", "High", "VALUE:4" ], [ "3", "0,X", "1", "Low", "VALUE:4" ], [ "3", "0,X", "1", "Unknown", "VALUE:4" ], [ "3", "1", "1", "High", "VALUE:4" ], [ "3", "1", "1", "Low", "VALUE:4" ], [ "3", "1", "1", "Unknown", "VALUE:4" ], [ "4", "0,X", "1", "High", "VALUE:4" ], [ "4", "0,X", "1", "Low", "VALUE:4" ], [ "4", "0,X", "1", "Unknown", "VALUE:4" ], [ "4", "1", "1", "High", "VALUE:4" ], [ "4", "1", "1", "Low", "VALUE:4" ], [ "4", "1", "1", "Unknown", "VALUE:4" ], [ "X", "0,X", "1", "High", "VALUE:4" ], [ "X", "0,X", "1", "Low", "VALUE:4" ], [ "X", "0,X", "1", "Unknown", "VALUE:4" ], [ "X", "1", "1", "High", "VALUE:4" ], [ "X", "1", "1", "Low", "VALUE:4" ], [ "X", "1", "1", "Unknown", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_group_gist_stomach_36358.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_group_gist_stomach_36358.json deleted file mode 100644 index 47b5f6d34..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_group_gist_stomach_36358.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm7_path_stage_group_gist_stomach_36358", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group GIST Stomach", - "title" : "TNM 7 Path Stage Group GIST Stomach", - "last_modified" : "2018-05-14T21:29:03.005Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0,X", "0", "High", "VALUE:99" ], [ "0", "0,X", "0", "Low", "VALUE:99" ], [ "0", "0,X", "0", "Unknown", "VALUE:99" ], [ "0", "1", "0", "High", "VALUE:4" ], [ "0", "1", "0", "Low", "VALUE:4" ], [ "0", "1", "0", "Unknown", "VALUE:4" ], [ "1", "0,X", "0", "High", "VALUE:2" ], [ "1", "0,X", "0", "Low", "VALUE:1A" ], [ "1", "0,X", "0", "Unknown", "VALUE:99" ], [ "1", "1", "0", "High", "VALUE:4" ], [ "1", "1", "0", "Low", "VALUE:4" ], [ "1", "1", "0", "Unknown", "VALUE:4" ], [ "2", "0,X", "0", "High", "VALUE:2" ], [ "2", "0,X", "0", "Low", "VALUE:1A" ], [ "2", "0,X", "0", "Unknown", "VALUE:99" ], [ "2", "1", "0", "High", "VALUE:4" ], [ "2", "1", "0", "Low", "VALUE:4" ], [ "2", "1", "0", "Unknown", "VALUE:4" ], [ "3", "0,X", "0", "High", "VALUE:3A" ], [ "3", "0,X", "0", "Low", "VALUE:1B" ], [ "3", "0,X", "0", "Unknown", "VALUE:99" ], [ "3", "1", "0", "High", "VALUE:4" ], [ "3", "1", "0", "Low", "VALUE:4" ], [ "3", "1", "0", "Unknown", "VALUE:4" ], [ "4", "0,X", "0", "High", "VALUE:3B" ], [ "4", "0,X", "0", "Low", "VALUE:2" ], [ "4", "0,X", "0", "Unknown", "VALUE:99" ], [ "4", "1", "0", "High", "VALUE:4" ], [ "4", "1", "0", "Low", "VALUE:4" ], [ "4", "1", "0", "Unknown", "VALUE:4" ], [ "X", "0,X", "0", "High", "VALUE:99" ], [ "X", "0,X", "0", "Low", "VALUE:99" ], [ "X", "0,X", "0", "Unknown", "VALUE:99" ], [ "X", "1", "0", "High", "VALUE:4" ], [ "X", "1", "0", "Low", "VALUE:4" ], [ "X", "1", "0", "Unknown", "VALUE:4" ], [ "0", "0,X", "1", "High", "VALUE:4" ], [ "0", "0,X", "1", "Low", "VALUE:4" ], [ "0", "0,X", "1", "Unknown", "VALUE:4" ], [ "0", "1", "1", "High", "VALUE:4" ], [ "0", "1", "1", "Low", "VALUE:4" ], [ "0", "1", "1", "Unknown", "VALUE:4" ], [ "1", "0,X", "1", "High", "VALUE:4" ], [ "1", "0,X", "1", "Low", "VALUE:4" ], [ "1", "0,X", "1", "Unknown", "VALUE:4" ], [ "1", "1", "1", "High", "VALUE:4" ], [ "1", "1", "1", "Low", "VALUE:4" ], [ "1", "1", "1", "Unknown", "VALUE:4" ], [ "2", "0,X", "1", "High", "VALUE:4" ], [ "2", "0,X", "1", "Low", "VALUE:4" ], [ "2", "0,X", "1", "Unknown", "VALUE:4" ], [ "2", "1", "1", "High", "VALUE:4" ], [ "2", "1", "1", "Low", "VALUE:4" ], [ "2", "1", "1", "Unknown", "VALUE:4" ], [ "3", "0,X", "1", "High", "VALUE:4" ], [ "3", "0,X", "1", "Low", "VALUE:4" ], [ "3", "0,X", "1", "Unknown", "VALUE:4" ], [ "3", "1", "1", "High", "VALUE:4" ], [ "3", "1", "1", "Low", "VALUE:4" ], [ "3", "1", "1", "Unknown", "VALUE:4" ], [ "4", "0,X", "1", "High", "VALUE:4" ], [ "4", "0,X", "1", "Low", "VALUE:4" ], [ "4", "0,X", "1", "Unknown", "VALUE:4" ], [ "4", "1", "1", "High", "VALUE:4" ], [ "4", "1", "1", "Low", "VALUE:4" ], [ "4", "1", "1", "Unknown", "VALUE:4" ], [ "X", "0,X", "1", "High", "VALUE:4" ], [ "X", "0,X", "1", "Low", "VALUE:4" ], [ "X", "0,X", "1", "Unknown", "VALUE:4" ], [ "X", "1", "1", "High", "VALUE:4" ], [ "X", "1", "1", "Low", "VALUE:4" ], [ "X", "1", "1", "Unknown", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaa.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaa.json deleted file mode 100644 index 79fba20fa..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaa.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uaa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:02.561Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:99" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:2B" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1A" ], [ "1", "1", "0", "VALUE:2B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:1B" ], [ "2", "1", "0", "VALUE:2B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2A" ], [ "3", "1", "0", "VALUE:2B" ], [ "3", "X", "0", "VALUE:2" ], [ "4", "0", "0", "VALUE:3" ], [ "4", "1", "0", "VALUE:3" ], [ "4", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uab.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uab.json deleted file mode 100644 index 9d9847cd1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uab.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uab", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:02.554Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3" ], [ "0", "2", "0", "VALUE:3B" ], [ "0", "3", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3A" ], [ "IS", "2", "0", "VALUE:3B" ], [ "IS", "3", "0", "VALUE:3B" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3A" ], [ "1", "2", "0", "VALUE:3B" ], [ "1", "3", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3A" ], [ "2", "2", "0", "VALUE:3B" ], [ "2", "3", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2" ], [ "3", "1", "0", "VALUE:3A" ], [ "3", "2", "0", "VALUE:3B" ], [ "3", "3", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3A" ], [ "4", "1", "0", "VALUE:3B" ], [ "4", "2", "0", "VALUE:3B" ], [ "4", "3", "0", "VALUE:3B" ], [ "4", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3" ], [ "X", "2", "0", "VALUE:3B" ], [ "X", "3", "0", "VALUE:3B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "2", "1", "VALUE:4" ], [ "IS", "3", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uac.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uac.json deleted file mode 100644 index 5ae06b9c1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uac.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uac", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:05.238Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0,0I-,0I+,0M-,0M+", "0,0I+", "VALUE:99" ], [ "0", "1", "0,0I+", "VALUE:2A" ], [ "0", "1A", "0,0I+", "VALUE:2A" ], [ "0", "1B", "0,0I+", "VALUE:2A" ], [ "0", "1C", "0,0I+", "VALUE:2A" ], [ "0", "1MI", "0,0I+", "VALUE:1B" ], [ "0", "2A", "0,0I+", "VALUE:3A" ], [ "0", "2B", "0,0I+", "VALUE:3A" ], [ "0", "2", "0,0I+", "VALUE:3A" ], [ "0", "3A", "0,0I+", "VALUE:3C" ], [ "0", "3B", "0,0I+", "VALUE:3C" ], [ "0", "3C", "0,0I+", "VALUE:3C" ], [ "0", "3", "0,0I+", "VALUE:3C" ], [ "0", "X", "0,0I+", "VALUE:99" ], [ "IS", "0,0I-,0I+,0M-,0M+", "0,0I+", "VALUE:0" ], [ "IS", "1", "0,0I+", "VALUE:2A" ], [ "IS", "1A", "0,0I+", "VALUE:2A" ], [ "IS", "1B", "0,0I+", "VALUE:2A" ], [ "IS", "1C", "0,0I+", "VALUE:2A" ], [ "IS", "1MI", "0,0I+", "VALUE:1B" ], [ "IS", "2A", "0,0I+", "VALUE:3A" ], [ "IS", "2B", "0,0I+", "VALUE:3A" ], [ "IS", "2", "0,0I+", "VALUE:3A" ], [ "IS", "3A", "0,0I+", "VALUE:3C" ], [ "IS", "3B", "0,0I+", "VALUE:3C" ], [ "IS", "3C", "0,0I+", "VALUE:3C" ], [ "IS", "3", "0,0I+", "VALUE:3C" ], [ "IS", "X", "0,0I+", "VALUE:0" ], [ "1MI", "0,0I-,0I+,0M-,0M+", "0,0I+", "VALUE:1A" ], [ "1MI", "1", "0,0I+", "VALUE:2A" ], [ "1MI", "1A", "0,0I+", "VALUE:2A" ], [ "1MI", "1B", "0,0I+", "VALUE:2A" ], [ "1MI", "1C", "0,0I+", "VALUE:2A" ], [ "1MI", "1MI", "0,0I+", "VALUE:1B" ], [ "1MI", "2A", "0,0I+", "VALUE:3A" ], [ "1MI", "2B", "0,0I+", "VALUE:3A" ], [ "1MI", "2", "0,0I+", "VALUE:3A" ], [ "1MI", "3A", "0,0I+", "VALUE:3C" ], [ "1MI", "3B", "0,0I+", "VALUE:3C" ], [ "1MI", "3C", "0,0I+", "VALUE:3C" ], [ "1MI", "3", "0,0I+", "VALUE:3C" ], [ "1MI", "X", "0,0I+", "VALUE:99" ], [ "1A", "0,0I-,0I+,0M-,0M+", "0,0I+", "VALUE:1A" ], [ "1A", "1", "0,0I+", "VALUE:2A" ], [ "1A", "1A", "0,0I+", "VALUE:2A" ], [ "1A", "1B", "0,0I+", "VALUE:2A" ], [ "1A", "1C", "0,0I+", "VALUE:2A" ], [ "1A", "1MI", "0,0I+", "VALUE:1B" ], [ "1A", "2A", "0,0I+", "VALUE:3A" ], [ "1A", "2B", "0,0I+", "VALUE:3A" ], [ "1A", "2", "0,0I+", "VALUE:3A" ], [ "1A", "3A", "0,0I+", "VALUE:3C" ], [ "1A", "3B", "0,0I+", "VALUE:3C" ], [ "1A", "3C", "0,0I+", "VALUE:3C" ], [ "1A", "3", "0,0I+", "VALUE:3C" ], [ "1A", "X", "0,0I+", "VALUE:99" ], [ "1B", "0,0I-,0I+,0M-,0M+", "0,0I+", "VALUE:1A" ], [ "1B", "1", "0,0I+", "VALUE:2A" ], [ "1B", "1A", "0,0I+", "VALUE:2A" ], [ "1B", "1B", "0,0I+", "VALUE:2A" ], [ "1B", "1C", "0,0I+", "VALUE:2A" ], [ "1B", "1MI", "0,0I+", "VALUE:1B" ], [ "1B", "2A", "0,0I+", "VALUE:3A" ], [ "1B", "2B", "0,0I+", "VALUE:3A" ], [ "1B", "2", "0,0I+", "VALUE:3A" ], [ "1B", "3A", "0,0I+", "VALUE:3C" ], [ "1B", "3B", "0,0I+", "VALUE:3C" ], [ "1B", "3C", "0,0I+", "VALUE:3C" ], [ "1B", "3", "0,0I+", "VALUE:3C" ], [ "1B", "X", "0,0I+", "VALUE:99" ], [ "1C", "0,0I-,0I+,0M-,0M+", "0,0I+", "VALUE:1A" ], [ "1C", "1", "0,0I+", "VALUE:2A" ], [ "1C", "1A", "0,0I+", "VALUE:2A" ], [ "1C", "1B", "0,0I+", "VALUE:2A" ], [ "1C", "1C", "0,0I+", "VALUE:2A" ], [ "1C", "1MI", "0,0I+", "VALUE:1B" ], [ "1C", "2A", "0,0I+", "VALUE:3A" ], [ "1C", "2B", "0,0I+", "VALUE:3A" ], [ "1C", "2", "0,0I+", "VALUE:3A" ], [ "1C", "3A", "0,0I+", "VALUE:3C" ], [ "1C", "3B", "0,0I+", "VALUE:3C" ], [ "1C", "3C", "0,0I+", "VALUE:3C" ], [ "1C", "3", "0,0I+", "VALUE:3C" ], [ "1C", "X", "0,0I+", "VALUE:99" ], [ "1", "0,0I-,0I+,0M-,0M+", "0,0I+", "VALUE:1A" ], [ "1", "1", "0,0I+", "VALUE:2A" ], [ "1", "1A", "0,0I+", "VALUE:2A" ], [ "1", "1B", "0,0I+", "VALUE:2A" ], [ "1", "1C", "0,0I+", "VALUE:2A" ], [ "1", "1MI", "0,0I+", "VALUE:1B" ], [ "1", "2A", "0,0I+", "VALUE:3A" ], [ "1", "2B", "0,0I+", "VALUE:3A" ], [ "1", "2", "0,0I+", "VALUE:3A" ], [ "1", "3A", "0,0I+", "VALUE:3C" ], [ "1", "3B", "0,0I+", "VALUE:3C" ], [ "1", "3C", "0,0I+", "VALUE:3C" ], [ "1", "3", "0,0I+", "VALUE:3C" ], [ "1", "X", "0,0I+", "VALUE:99" ], [ "2", "0,0I-,0I+,0M-,0M+", "0,0I+", "VALUE:2A" ], [ "2", "1", "0,0I+", "VALUE:2B" ], [ "2", "1A", "0,0I+", "VALUE:2B" ], [ "2", "1B", "0,0I+", "VALUE:2B" ], [ "2", "1C", "0,0I+", "VALUE:2B" ], [ "2", "1MI", "0,0I+", "VALUE:2B" ], [ "2", "2A", "0,0I+", "VALUE:3A" ], [ "2", "2B", "0,0I+", "VALUE:3A" ], [ "2", "2", "0,0I+", "VALUE:3A" ], [ "2", "3A", "0,0I+", "VALUE:3C" ], [ "2", "3B", "0,0I+", "VALUE:3C" ], [ "2", "3C", "0,0I+", "VALUE:3C" ], [ "2", "3", "0,0I+", "VALUE:3C" ], [ "2", "X", "0,0I+", "VALUE:99" ], [ "3", "0,0I-,0I+,0M-,0M+", "0,0I+", "VALUE:2B" ], [ "3", "1", "0,0I+", "VALUE:3A" ], [ "3", "1A", "0,0I+", "VALUE:3A" ], [ "3", "1B", "0,0I+", "VALUE:3A" ], [ "3", "1C", "0,0I+", "VALUE:3A" ], [ "3", "1MI", "0,0I+", "VALUE:3A" ], [ "3", "2A", "0,0I+", "VALUE:3A" ], [ "3", "2B", "0,0I+", "VALUE:3A" ], [ "3", "2", "0,0I+", "VALUE:3A" ], [ "3", "3A", "0,0I+", "VALUE:3C" ], [ "3", "3B", "0,0I+", "VALUE:3C" ], [ "3", "3C", "0,0I+", "VALUE:3C" ], [ "3", "3", "0,0I+", "VALUE:3C" ], [ "3", "X", "0,0I+", "VALUE:99" ], [ "4A", "0,0I-,0I+,0M-,0M+", "0,0I+", "VALUE:3B" ], [ "4A", "1", "0,0I+", "VALUE:3B" ], [ "4A", "1A", "0,0I+", "VALUE:3B" ], [ "4A", "1B", "0,0I+", "VALUE:3B" ], [ "4A", "1C", "0,0I+", "VALUE:3B" ], [ "4A", "1MI", "0,0I+", "VALUE:3B" ], [ "4A", "2A", "0,0I+", "VALUE:3B" ], [ "4A", "2B", "0,0I+", "VALUE:3B" ], [ "4A", "2", "0,0I+", "VALUE:3B" ], [ "4A", "3A", "0,0I+", "VALUE:3C" ], [ "4A", "3B", "0,0I+", "VALUE:3C" ], [ "4A", "3C", "0,0I+", "VALUE:3C" ], [ "4A", "3", "0,0I+", "VALUE:3C" ], [ "4A", "X", "0,0I+", "VALUE:3" ], [ "4B", "0,0I-,0I+,0M-,0M+", "0,0I+", "VALUE:3B" ], [ "4B", "1", "0,0I+", "VALUE:3B" ], [ "4B", "1A", "0,0I+", "VALUE:3B" ], [ "4B", "1B", "0,0I+", "VALUE:3B" ], [ "4B", "1C", "0,0I+", "VALUE:3B" ], [ "4B", "1MI", "0,0I+", "VALUE:3B" ], [ "4B", "2A", "0,0I+", "VALUE:3B" ], [ "4B", "2B", "0,0I+", "VALUE:3B" ], [ "4B", "2", "0,0I+", "VALUE:3B" ], [ "4B", "3A", "0,0I+", "VALUE:3C" ], [ "4B", "3B", "0,0I+", "VALUE:3C" ], [ "4B", "3C", "0,0I+", "VALUE:3C" ], [ "4B", "3", "0,0I+", "VALUE:3C" ], [ "4B", "X", "0,0I+", "VALUE:3" ], [ "4C", "0,0I-,0I+,0M-,0M+", "0,0I+", "VALUE:3B" ], [ "4C", "1", "0,0I+", "VALUE:3B" ], [ "4C", "1A", "0,0I+", "VALUE:3B" ], [ "4C", "1B", "0,0I+", "VALUE:3B" ], [ "4C", "1C", "0,0I+", "VALUE:3B" ], [ "4C", "1MI", "0,0I+", "VALUE:3B" ], [ "4C", "2A", "0,0I+", "VALUE:3B" ], [ "4C", "2B", "0,0I+", "VALUE:3B" ], [ "4C", "2", "0,0I+", "VALUE:3B" ], [ "4C", "3A", "0,0I+", "VALUE:3C" ], [ "4C", "3B", "0,0I+", "VALUE:3C" ], [ "4C", "3C", "0,0I+", "VALUE:3C" ], [ "4C", "3", "0,0I+", "VALUE:3C" ], [ "4C", "X", "0,0I+", "VALUE:3" ], [ "4D", "0,0I-,0I+,0M-,0M+", "0,0I+", "VALUE:3B" ], [ "4D", "1", "0,0I+", "VALUE:3B" ], [ "4D", "1A", "0,0I+", "VALUE:3B" ], [ "4D", "1B", "0,0I+", "VALUE:3B" ], [ "4D", "1C", "0,0I+", "VALUE:3B" ], [ "4D", "1MI", "0,0I+", "VALUE:3B" ], [ "4D", "2A", "0,0I+", "VALUE:3B" ], [ "4D", "2B", "0,0I+", "VALUE:3B" ], [ "4D", "2", "0,0I+", "VALUE:3B" ], [ "4D", "3A", "0,0I+", "VALUE:3C" ], [ "4D", "3B", "0,0I+", "VALUE:3C" ], [ "4D", "3C", "0,0I+", "VALUE:3C" ], [ "4D", "3", "0,0I+", "VALUE:3C" ], [ "4D", "X", "0,0I+", "VALUE:3" ], [ "4", "0,0I-,0I+,0M-,0M+", "0,0I+", "VALUE:3B" ], [ "4", "1", "0,0I+", "VALUE:3B" ], [ "4", "1A", "0,0I+", "VALUE:3B" ], [ "4", "1B", "0,0I+", "VALUE:3B" ], [ "4", "1C", "0,0I+", "VALUE:3B" ], [ "4", "1MI", "0,0I+", "VALUE:3B" ], [ "4", "2A", "0,0I+", "VALUE:3B" ], [ "4", "2B", "0,0I+", "VALUE:3B" ], [ "4", "2", "0,0I+", "VALUE:3B" ], [ "4", "3A", "0,0I+", "VALUE:3C" ], [ "4", "3B", "0,0I+", "VALUE:3C" ], [ "4", "3C", "0,0I+", "VALUE:3C" ], [ "4", "3", "0,0I+", "VALUE:3C" ], [ "4", "X", "0,0I+", "VALUE:3" ], [ "X", "0,0I-,0I+,0M-,0M+", "0,0I+", "VALUE:99" ], [ "X", "1", "0,0I+", "VALUE:99" ], [ "X", "1A", "0,0I+", "VALUE:99" ], [ "X", "1B", "0,0I+", "VALUE:99" ], [ "X", "1C", "0,0I+", "VALUE:99" ], [ "X", "1MI", "0,0I+", "VALUE:99" ], [ "X", "2A", "0,0I+", "VALUE:3" ], [ "X", "2B", "0,0I+", "VALUE:3" ], [ "X", "2", "0,0I+", "VALUE:3" ], [ "X", "3A", "0,0I+", "VALUE:3C" ], [ "X", "3B", "0,0I+", "VALUE:3C" ], [ "X", "3C", "0,0I+", "VALUE:3C" ], [ "X", "3", "0,0I+", "VALUE:3C" ], [ "X", "X", "0,0I+", "VALUE:99" ], [ "0", "0,0I-,0I+,0M-,0M+", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "1A", "1", "VALUE:4" ], [ "0", "1B", "1", "VALUE:4" ], [ "0", "1C", "1", "VALUE:4" ], [ "0", "1MI", "1", "VALUE:4" ], [ "0", "2A", "1", "VALUE:4" ], [ "0", "2B", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3A", "1", "VALUE:4" ], [ "0", "3B", "1", "VALUE:4" ], [ "0", "3C", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0,0I-,0I+,0M-,0M+", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "1A", "1", "VALUE:4" ], [ "IS", "1B", "1", "VALUE:4" ], [ "IS", "1C", "1", "VALUE:4" ], [ "IS", "1MI", "1", "VALUE:4" ], [ "IS", "2A", "1", "VALUE:4" ], [ "IS", "2B", "1", "VALUE:4" ], [ "IS", "2", "1", "VALUE:4" ], [ "IS", "3A", "1", "VALUE:4" ], [ "IS", "3B", "1", "VALUE:4" ], [ "IS", "3C", "1", "VALUE:4" ], [ "IS", "3", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1MI", "0,0I-,0I+,0M-,0M+", "1", "VALUE:4" ], [ "1MI", "1", "1", "VALUE:4" ], [ "1MI", "1A", "1", "VALUE:4" ], [ "1MI", "1B", "1", "VALUE:4" ], [ "1MI", "1C", "1", "VALUE:4" ], [ "1MI", "1MI", "1", "VALUE:4" ], [ "1MI", "2A", "1", "VALUE:4" ], [ "1MI", "2B", "1", "VALUE:4" ], [ "1MI", "2", "1", "VALUE:4" ], [ "1MI", "3A", "1", "VALUE:4" ], [ "1MI", "3B", "1", "VALUE:4" ], [ "1MI", "3C", "1", "VALUE:4" ], [ "1MI", "3", "1", "VALUE:4" ], [ "1MI", "X", "1", "VALUE:4" ], [ "1A", "0,0I-,0I+,0M-,0M+", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "1A", "1", "VALUE:4" ], [ "1A", "1B", "1", "VALUE:4" ], [ "1A", "1C", "1", "VALUE:4" ], [ "1A", "1MI", "1", "VALUE:4" ], [ "1A", "2A", "1", "VALUE:4" ], [ "1A", "2B", "1", "VALUE:4" ], [ "1A", "2", "1", "VALUE:4" ], [ "1A", "3A", "1", "VALUE:4" ], [ "1A", "3B", "1", "VALUE:4" ], [ "1A", "3C", "1", "VALUE:4" ], [ "1A", "3", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0,0I-,0I+,0M-,0M+", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "1A", "1", "VALUE:4" ], [ "1B", "1B", "1", "VALUE:4" ], [ "1B", "1C", "1", "VALUE:4" ], [ "1B", "1MI", "1", "VALUE:4" ], [ "1B", "2A", "1", "VALUE:4" ], [ "1B", "2B", "1", "VALUE:4" ], [ "1B", "2", "1", "VALUE:4" ], [ "1B", "3A", "1", "VALUE:4" ], [ "1B", "3B", "1", "VALUE:4" ], [ "1B", "3C", "1", "VALUE:4" ], [ "1B", "3", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1C", "0,0I-,0I+,0M-,0M+", "1", "VALUE:4" ], [ "1C", "1", "1", "VALUE:4" ], [ "1C", "1A", "1", "VALUE:4" ], [ "1C", "1B", "1", "VALUE:4" ], [ "1C", "1C", "1", "VALUE:4" ], [ "1C", "1MI", "1", "VALUE:4" ], [ "1C", "2A", "1", "VALUE:4" ], [ "1C", "2B", "1", "VALUE:4" ], [ "1C", "2", "1", "VALUE:4" ], [ "1C", "3A", "1", "VALUE:4" ], [ "1C", "3B", "1", "VALUE:4" ], [ "1C", "3C", "1", "VALUE:4" ], [ "1C", "3", "1", "VALUE:4" ], [ "1C", "X", "1", "VALUE:4" ], [ "1", "0,0I-,0I+,0M-,0M+", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "1A", "1", "VALUE:4" ], [ "1", "1B", "1", "VALUE:4" ], [ "1", "1C", "1", "VALUE:4" ], [ "1", "1MI", "1", "VALUE:4" ], [ "1", "2A", "1", "VALUE:4" ], [ "1", "2B", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3A", "1", "VALUE:4" ], [ "1", "3B", "1", "VALUE:4" ], [ "1", "3C", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0,0I-,0I+,0M-,0M+", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "1A", "1", "VALUE:4" ], [ "2", "1B", "1", "VALUE:4" ], [ "2", "1C", "1", "VALUE:4" ], [ "2", "1MI", "1", "VALUE:4" ], [ "2", "2A", "1", "VALUE:4" ], [ "2", "2B", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3A", "1", "VALUE:4" ], [ "2", "3B", "1", "VALUE:4" ], [ "2", "3C", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0,0I-,0I+,0M-,0M+", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "1A", "1", "VALUE:4" ], [ "3", "1B", "1", "VALUE:4" ], [ "3", "1C", "1", "VALUE:4" ], [ "3", "1MI", "1", "VALUE:4" ], [ "3", "2A", "1", "VALUE:4" ], [ "3", "2B", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3A", "1", "VALUE:4" ], [ "3", "3B", "1", "VALUE:4" ], [ "3", "3C", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4A", "0,0I-,0I+,0M-,0M+", "1", "VALUE:4" ], [ "4A", "1", "1", "VALUE:4" ], [ "4A", "1A", "1", "VALUE:4" ], [ "4A", "1B", "1", "VALUE:4" ], [ "4A", "1C", "1", "VALUE:4" ], [ "4A", "1MI", "1", "VALUE:4" ], [ "4A", "2A", "1", "VALUE:4" ], [ "4A", "2B", "1", "VALUE:4" ], [ "4A", "2", "1", "VALUE:4" ], [ "4A", "3A", "1", "VALUE:4" ], [ "4A", "3B", "1", "VALUE:4" ], [ "4A", "3C", "1", "VALUE:4" ], [ "4A", "3", "1", "VALUE:4" ], [ "4A", "X", "1", "VALUE:4" ], [ "4B", "0,0I-,0I+,0M-,0M+", "1", "VALUE:4" ], [ "4B", "1", "1", "VALUE:4" ], [ "4B", "1A", "1", "VALUE:4" ], [ "4B", "1B", "1", "VALUE:4" ], [ "4B", "1C", "1", "VALUE:4" ], [ "4B", "1MI", "1", "VALUE:4" ], [ "4B", "2A", "1", "VALUE:4" ], [ "4B", "2B", "1", "VALUE:4" ], [ "4B", "2", "1", "VALUE:4" ], [ "4B", "3A", "1", "VALUE:4" ], [ "4B", "3B", "1", "VALUE:4" ], [ "4B", "3C", "1", "VALUE:4" ], [ "4B", "3", "1", "VALUE:4" ], [ "4B", "X", "1", "VALUE:4" ], [ "4C", "0,0I-,0I+,0M-,0M+", "1", "VALUE:4" ], [ "4C", "1", "1", "VALUE:4" ], [ "4C", "1A", "1", "VALUE:4" ], [ "4C", "1B", "1", "VALUE:4" ], [ "4C", "1C", "1", "VALUE:4" ], [ "4C", "1MI", "1", "VALUE:4" ], [ "4C", "2A", "1", "VALUE:4" ], [ "4C", "2B", "1", "VALUE:4" ], [ "4C", "2", "1", "VALUE:4" ], [ "4C", "3A", "1", "VALUE:4" ], [ "4C", "3B", "1", "VALUE:4" ], [ "4C", "3C", "1", "VALUE:4" ], [ "4C", "3", "1", "VALUE:4" ], [ "4C", "X", "1", "VALUE:4" ], [ "4D", "0,0I-,0I+,0M-,0M+", "1", "VALUE:4" ], [ "4D", "1", "1", "VALUE:4" ], [ "4D", "1A", "1", "VALUE:4" ], [ "4D", "1B", "1", "VALUE:4" ], [ "4D", "1C", "1", "VALUE:4" ], [ "4D", "1MI", "1", "VALUE:4" ], [ "4D", "2A", "1", "VALUE:4" ], [ "4D", "2B", "1", "VALUE:4" ], [ "4D", "2", "1", "VALUE:4" ], [ "4D", "3A", "1", "VALUE:4" ], [ "4D", "3B", "1", "VALUE:4" ], [ "4D", "3C", "1", "VALUE:4" ], [ "4D", "3", "1", "VALUE:4" ], [ "4D", "X", "1", "VALUE:4" ], [ "4", "0,0I-,0I+,0M-,0M+", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "1A", "1", "VALUE:4" ], [ "4", "1B", "1", "VALUE:4" ], [ "4", "1C", "1", "VALUE:4" ], [ "4", "1MI", "1", "VALUE:4" ], [ "4", "2A", "1", "VALUE:4" ], [ "4", "2B", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3A", "1", "VALUE:4" ], [ "4", "3B", "1", "VALUE:4" ], [ "4", "3C", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0,0I-,0I+,0M-,0M+", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "1A", "1", "VALUE:4" ], [ "X", "1B", "1", "VALUE:4" ], [ "X", "1C", "1", "VALUE:4" ], [ "X", "1MI", "1", "VALUE:4" ], [ "X", "2A", "1", "VALUE:4" ], [ "X", "2B", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3A", "1", "VALUE:4" ], [ "X", "3B", "1", "VALUE:4" ], [ "X", "3C", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uad.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uad.json deleted file mode 100644 index f8ee74e12..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uad.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uad", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:05.113Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:4" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:2A" ], [ "1B", "1", "0", "VALUE:4" ], [ "1B", "X", "0", "VALUE:99" ], [ "1C", "0", "0", "VALUE:2A" ], [ "1C", "1", "0", "VALUE:4" ], [ "1C", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:99" ], [ "1", "1", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2A" ], [ "2A", "1", "0", "VALUE:4" ], [ "2A", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2A" ], [ "2", "1", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:2B" ], [ "3A", "1", "0", "VALUE:4" ], [ "3A", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2B" ], [ "3", "1", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:3A" ], [ "4A", "1", "0", "VALUE:4" ], [ "4A", "X", "0", "VALUE:99" ], [ "4B", "0", "0", "VALUE:3B" ], [ "4B", "1", "0", "VALUE:4" ], [ "4B", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1A", "VALUE:4" ], [ "0", "1", "1A", "VALUE:4" ], [ "0", "X", "1A", "VALUE:4" ], [ "1A", "0", "1A", "VALUE:4" ], [ "1A", "1", "1A", "VALUE:4" ], [ "1A", "X", "1A", "VALUE:4" ], [ "1B", "0", "1A", "VALUE:4" ], [ "1B", "1", "1A", "VALUE:4" ], [ "1B", "X", "1A", "VALUE:4" ], [ "1C", "0", "1A", "VALUE:4" ], [ "1C", "1", "1A", "VALUE:4" ], [ "1C", "X", "1A", "VALUE:4" ], [ "1", "0", "1A", "VALUE:4" ], [ "1", "1", "1A", "VALUE:4" ], [ "1", "X", "1A", "VALUE:4" ], [ "2A", "0", "1A", "VALUE:4" ], [ "2A", "1", "1A", "VALUE:4" ], [ "2A", "X", "1A", "VALUE:4" ], [ "2", "0", "1A", "VALUE:4" ], [ "2", "1", "1A", "VALUE:4" ], [ "2", "X", "1A", "VALUE:4" ], [ "3A", "0", "1A", "VALUE:4" ], [ "3A", "1", "1A", "VALUE:4" ], [ "3A", "X", "1A", "VALUE:4" ], [ "3", "0", "1A", "VALUE:4" ], [ "3", "1", "1A", "VALUE:4" ], [ "3", "X", "1A", "VALUE:4" ], [ "4A", "0", "1A", "VALUE:4" ], [ "4A", "1", "1A", "VALUE:4" ], [ "4A", "X", "1A", "VALUE:4" ], [ "4B", "0", "1A", "VALUE:4" ], [ "4B", "1", "1A", "VALUE:4" ], [ "4B", "X", "1A", "VALUE:4" ], [ "4", "0", "1A", "VALUE:4" ], [ "4", "1", "1A", "VALUE:4" ], [ "4", "X", "1A", "VALUE:4" ], [ "X", "0", "1A", "VALUE:4" ], [ "X", "1", "1A", "VALUE:4" ], [ "X", "X", "1A", "VALUE:4" ], [ "0", "0", "1B", "VALUE:4" ], [ "0", "1", "1B", "VALUE:4" ], [ "0", "X", "1B", "VALUE:4" ], [ "1A", "0", "1B", "VALUE:4" ], [ "1A", "1", "1B", "VALUE:4" ], [ "1A", "X", "1B", "VALUE:4" ], [ "1B", "0", "1B", "VALUE:4" ], [ "1B", "1", "1B", "VALUE:4" ], [ "1B", "X", "1B", "VALUE:4" ], [ "1C", "0", "1B", "VALUE:4" ], [ "1C", "1", "1B", "VALUE:4" ], [ "1C", "X", "1B", "VALUE:4" ], [ "1", "0", "1B", "VALUE:4" ], [ "1", "1", "1B", "VALUE:4" ], [ "1", "X", "1B", "VALUE:4" ], [ "2A", "0", "1B", "VALUE:4" ], [ "2A", "1", "1B", "VALUE:4" ], [ "2A", "X", "1B", "VALUE:4" ], [ "2", "0", "1B", "VALUE:4" ], [ "2", "1", "1B", "VALUE:4" ], [ "2", "X", "1B", "VALUE:4" ], [ "3A", "0", "1B", "VALUE:4" ], [ "3A", "1", "1B", "VALUE:4" ], [ "3A", "X", "1B", "VALUE:4" ], [ "3", "0", "1B", "VALUE:4" ], [ "3", "1", "1B", "VALUE:4" ], [ "3", "X", "1B", "VALUE:4" ], [ "4A", "0", "1B", "VALUE:4" ], [ "4A", "1", "1B", "VALUE:4" ], [ "4A", "X", "1B", "VALUE:4" ], [ "4B", "0", "1B", "VALUE:4" ], [ "4B", "1", "1B", "VALUE:4" ], [ "4B", "X", "1B", "VALUE:4" ], [ "4", "0", "1B", "VALUE:4" ], [ "4", "1", "1B", "VALUE:4" ], [ "4", "X", "1B", "VALUE:4" ], [ "X", "0", "1B", "VALUE:4" ], [ "X", "1", "1B", "VALUE:4" ], [ "X", "X", "1B", "VALUE:4" ], [ "0", "0", "1C", "VALUE:4" ], [ "0", "1", "1C", "VALUE:4" ], [ "0", "X", "1C", "VALUE:4" ], [ "1A", "0", "1C", "VALUE:4" ], [ "1A", "1", "1C", "VALUE:4" ], [ "1A", "X", "1C", "VALUE:4" ], [ "1B", "0", "1C", "VALUE:4" ], [ "1B", "1", "1C", "VALUE:4" ], [ "1B", "X", "1C", "VALUE:4" ], [ "1C", "0", "1C", "VALUE:4" ], [ "1C", "1", "1C", "VALUE:4" ], [ "1C", "X", "1C", "VALUE:4" ], [ "1", "0", "1C", "VALUE:4" ], [ "1", "1", "1C", "VALUE:4" ], [ "1", "X", "1C", "VALUE:4" ], [ "2A", "0", "1C", "VALUE:4" ], [ "2A", "1", "1C", "VALUE:4" ], [ "2A", "X", "1C", "VALUE:4" ], [ "2", "0", "1C", "VALUE:4" ], [ "2", "1", "1C", "VALUE:4" ], [ "2", "X", "1C", "VALUE:4" ], [ "3A", "0", "1C", "VALUE:4" ], [ "3A", "1", "1C", "VALUE:4" ], [ "3A", "X", "1C", "VALUE:4" ], [ "3", "0", "1C", "VALUE:4" ], [ "3", "1", "1C", "VALUE:4" ], [ "3", "X", "1C", "VALUE:4" ], [ "4A", "0", "1C", "VALUE:4" ], [ "4A", "1", "1C", "VALUE:4" ], [ "4A", "X", "1C", "VALUE:4" ], [ "4B", "0", "1C", "VALUE:4" ], [ "4B", "1", "1C", "VALUE:4" ], [ "4B", "X", "1C", "VALUE:4" ], [ "4", "0", "1C", "VALUE:4" ], [ "4", "1", "1C", "VALUE:4" ], [ "4", "X", "1C", "VALUE:4" ], [ "X", "0", "1C", "VALUE:4" ], [ "X", "1", "1C", "VALUE:4" ], [ "X", "X", "1C", "VALUE:4" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1C", "0", "1", "VALUE:4" ], [ "1C", "1", "1", "VALUE:4" ], [ "1C", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4A", "0", "1", "VALUE:4" ], [ "4A", "1", "1", "VALUE:4" ], [ "4A", "X", "1", "VALUE:4" ], [ "4B", "0", "1", "VALUE:4" ], [ "4B", "1", "1", "VALUE:4" ], [ "4B", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uae.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uae.json deleted file mode 100644 index 9876a4e0a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uae.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uae", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:05.129Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2", "0", "VALUE:99" ], [ "0", "3A", "0", "VALUE:4B" ], [ "0", "3B", "0", "VALUE:4B" ], [ "0", "3", "0", "VALUE:4B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:2" ], [ "IS", "2", "0", "VALUE:3" ], [ "IS", "3A", "0", "VALUE:4B" ], [ "IS", "3B", "0", "VALUE:4B" ], [ "IS", "3", "0", "VALUE:4B" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:2" ], [ "1", "2", "0", "VALUE:3" ], [ "1", "3A", "0", "VALUE:4B" ], [ "1", "3B", "0", "VALUE:4B" ], [ "1", "3", "0", "VALUE:4B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:2" ], [ "2", "2", "0", "VALUE:3" ], [ "2", "3A", "0", "VALUE:4B" ], [ "2", "3B", "0", "VALUE:4B" ], [ "2", "3", "0", "VALUE:4B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "2", "0", "VALUE:3" ], [ "3", "3A", "0", "VALUE:4B" ], [ "3", "3B", "0", "VALUE:4B" ], [ "3", "3", "0", "VALUE:4B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "2", "0", "VALUE:4A" ], [ "4", "3A", "0", "VALUE:4B" ], [ "4", "3B", "0", "VALUE:4B" ], [ "4", "3", "0", "VALUE:4B" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:99" ], [ "X", "3A", "0", "VALUE:4B" ], [ "X", "3B", "0", "VALUE:4B" ], [ "X", "3", "0", "VALUE:4B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4C" ], [ "0", "1", "1", "VALUE:4C" ], [ "0", "2", "1", "VALUE:4C" ], [ "0", "3A", "1", "VALUE:4C" ], [ "0", "3B", "1", "VALUE:4C" ], [ "0", "3", "1", "VALUE:4C" ], [ "0", "X", "1", "VALUE:4C" ], [ "IS", "0", "1", "VALUE:4C" ], [ "IS", "1", "1", "VALUE:4C" ], [ "IS", "2", "1", "VALUE:4C" ], [ "IS", "3A", "1", "VALUE:4C" ], [ "IS", "3B", "1", "VALUE:4C" ], [ "IS", "3", "1", "VALUE:4C" ], [ "IS", "X", "1", "VALUE:4C" ], [ "1", "0", "1", "VALUE:4C" ], [ "1", "1", "1", "VALUE:4C" ], [ "1", "2", "1", "VALUE:4C" ], [ "1", "3A", "1", "VALUE:4C" ], [ "1", "3B", "1", "VALUE:4C" ], [ "1", "3", "1", "VALUE:4C" ], [ "1", "X", "1", "VALUE:4C" ], [ "2", "0", "1", "VALUE:4C" ], [ "2", "1", "1", "VALUE:4C" ], [ "2", "2", "1", "VALUE:4C" ], [ "2", "3A", "1", "VALUE:4C" ], [ "2", "3B", "1", "VALUE:4C" ], [ "2", "3", "1", "VALUE:4C" ], [ "2", "X", "1", "VALUE:4C" ], [ "3", "0", "1", "VALUE:4C" ], [ "3", "1", "1", "VALUE:4C" ], [ "3", "2", "1", "VALUE:4C" ], [ "3", "3A", "1", "VALUE:4C" ], [ "3", "3B", "1", "VALUE:4C" ], [ "3", "3", "1", "VALUE:4C" ], [ "3", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "2", "1", "VALUE:4C" ], [ "4", "3A", "1", "VALUE:4C" ], [ "4", "3B", "1", "VALUE:4C" ], [ "4", "3", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "X", "0", "1", "VALUE:4C" ], [ "X", "1", "1", "VALUE:4C" ], [ "X", "2", "1", "VALUE:4C" ], [ "X", "3A", "1", "VALUE:4C" ], [ "X", "3B", "1", "VALUE:4C" ], [ "X", "3", "1", "VALUE:4C" ], [ "X", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaf.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaf.json deleted file mode 100644 index 3dde1442e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaf.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uaf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:00.216Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3B" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1A" ], [ "1", "1", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:1B" ], [ "2A", "1", "0", "VALUE:3B" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:1C" ], [ "2B", "1", "0", "VALUE:3B" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:1" ], [ "2", "1", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:2" ], [ "3A", "1", "0", "VALUE:3B" ], [ "3A", "X", "0", "VALUE:99" ], [ "3B", "0", "0", "VALUE:3A" ], [ "3B", "1", "0", "VALUE:3B" ], [ "3B", "X", "0", "VALUE:3" ], [ "3", "0", "0", "VALUE:99" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3C" ], [ "4", "1", "0", "VALUE:3C" ], [ "4", "X", "0", "VALUE:3C" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uak.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uak.json deleted file mode 100644 index 49bdbc24e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uak.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uak", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:03.031Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:3" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1", "0", "VALUE:3" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3" ], [ "4", "1", "0", "VALUE:3" ], [ "4", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ual.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ual.json deleted file mode 100644 index 675d50da2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ual.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ual", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:00.635Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3A" ], [ "0", "2", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3A" ], [ "IS", "2", "0", "VALUE:3B" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:3A" ], [ "1A", "2", "0", "VALUE:3B" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1", "0", "VALUE:3A" ], [ "1B", "2", "0", "VALUE:3B" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3A" ], [ "1", "2", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:1" ], [ "2", "1", "0", "VALUE:3A" ], [ "2", "2", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2A" ], [ "3", "1", "0", "VALUE:3A" ], [ "3", "2", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:2B" ], [ "4", "1", "0", "VALUE:3A" ], [ "4", "2", "0", "VALUE:3B" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3A" ], [ "X", "2", "0", "VALUE:3B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "2", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uam.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uam.json deleted file mode 100644 index b1a3d6176..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uam.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uam", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:00.224Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2", "0", "VALUE:99" ], [ "0", "3A", "0", "VALUE:99" ], [ "0", "3B", "0", "VALUE:99" ], [ "0", "3", "0", "VALUE:99" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:1B" ], [ "IS", "2", "0", "VALUE:2A" ], [ "IS", "3A", "0", "VALUE:2B" ], [ "IS", "3B", "0", "VALUE:2B" ], [ "IS", "3", "0", "VALUE:2B" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:1B" ], [ "1A", "2", "0", "VALUE:2A" ], [ "1A", "3A", "0", "VALUE:2B" ], [ "1A", "3B", "0", "VALUE:2B" ], [ "1A", "3", "0", "VALUE:2B" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1A" ], [ "1B", "1", "0", "VALUE:1B" ], [ "1B", "2", "0", "VALUE:2A" ], [ "1B", "3A", "0", "VALUE:2B" ], [ "1B", "3B", "0", "VALUE:2B" ], [ "1B", "3", "0", "VALUE:2B" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1A" ], [ "1", "1", "0", "VALUE:1B" ], [ "1", "2", "0", "VALUE:2A" ], [ "1", "3A", "0", "VALUE:2B" ], [ "1", "3B", "0", "VALUE:2B" ], [ "1", "3", "0", "VALUE:2B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:1B" ], [ "2", "1", "0", "VALUE:2A" ], [ "2", "2", "0", "VALUE:2B" ], [ "2", "3A", "0", "VALUE:3A" ], [ "2", "3B", "0", "VALUE:3A" ], [ "2", "3", "0", "VALUE:3A" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2A" ], [ "3", "1", "0", "VALUE:2B" ], [ "3", "2", "0", "VALUE:3A" ], [ "3", "3A", "0", "VALUE:3B" ], [ "3", "3B", "0", "VALUE:3B" ], [ "3", "3", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:2B" ], [ "4A", "1", "0", "VALUE:3A" ], [ "4A", "2", "0", "VALUE:3B" ], [ "4A", "3A", "0", "VALUE:3C" ], [ "4A", "3B", "0", "VALUE:3C" ], [ "4A", "3", "0", "VALUE:3C" ], [ "4A", "X", "0", "VALUE:99" ], [ "4B", "0", "0", "VALUE:3B" ], [ "4B", "1", "0", "VALUE:3B" ], [ "4B", "2", "0", "VALUE:3C" ], [ "4B", "3A", "0", "VALUE:3C" ], [ "4B", "3B", "0", "VALUE:3C" ], [ "4B", "3", "0", "VALUE:3C" ], [ "4B", "X", "0", "VALUE:3" ], [ "4", "0", "0", "VALUE:2B" ], [ "4", "1", "0", "VALUE:3A" ], [ "4", "2", "0", "VALUE:3B" ], [ "4", "3A", "0", "VALUE:3C" ], [ "4", "3B", "0", "VALUE:3C" ], [ "4", "3", "0", "VALUE:3C" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:99" ], [ "X", "3A", "0", "VALUE:99" ], [ "X", "3B", "0", "VALUE:99" ], [ "X", "3", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3A", "1", "VALUE:4" ], [ "0", "3B", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "2", "1", "VALUE:4" ], [ "IS", "3A", "1", "VALUE:4" ], [ "IS", "3B", "1", "VALUE:4" ], [ "IS", "3", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "VALUE:4" ], [ "1A", "3A", "1", "VALUE:4" ], [ "1A", "3B", "1", "VALUE:4" ], [ "1A", "3", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "VALUE:4" ], [ "1B", "3A", "1", "VALUE:4" ], [ "1B", "3B", "1", "VALUE:4" ], [ "1B", "3", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3A", "1", "VALUE:4" ], [ "1", "3B", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3A", "1", "VALUE:4" ], [ "2", "3B", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3A", "1", "VALUE:4" ], [ "3", "3B", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4A", "0", "1", "VALUE:4" ], [ "4A", "1", "1", "VALUE:4" ], [ "4A", "2", "1", "VALUE:4" ], [ "4A", "3A", "1", "VALUE:4" ], [ "4A", "3B", "1", "VALUE:4" ], [ "4A", "3", "1", "VALUE:4" ], [ "4A", "X", "1", "VALUE:4" ], [ "4B", "0", "1", "VALUE:4" ], [ "4B", "1", "1", "VALUE:4" ], [ "4B", "2", "1", "VALUE:4" ], [ "4B", "3A", "1", "VALUE:4" ], [ "4B", "3B", "1", "VALUE:4" ], [ "4B", "3", "1", "VALUE:4" ], [ "4B", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3A", "1", "VALUE:4" ], [ "4", "3B", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3A", "1", "VALUE:4" ], [ "X", "3B", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uao.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uao.json deleted file mode 100644 index 7071cad51..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uao.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uao", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:00.402Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3B" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2A" ], [ "2", "1", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2B" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3A" ], [ "4", "1", "0", "VALUE:3B" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaq.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaq.json deleted file mode 100644 index 9a3908bd3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaq.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uaq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:02.410Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3" ], [ "0", "2", "0", "VALUE:3" ], [ "0", "3", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3" ], [ "1A", "2", "0", "VALUE:3" ], [ "1A", "3", "0", "VALUE:4" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3" ], [ "1B", "2", "0", "VALUE:3" ], [ "1B", "3", "0", "VALUE:4" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "2", "0", "VALUE:3" ], [ "1", "3", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "2", "0", "VALUE:3" ], [ "2", "3", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "2", "0", "VALUE:3" ], [ "3", "3", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3" ], [ "X", "2", "0", "VALUE:3" ], [ "X", "3", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "VALUE:4" ], [ "1A", "3", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "VALUE:4" ], [ "1B", "3", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uar.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uar.json deleted file mode 100644 index e8622cc3d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uar.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm7_path_stage_uar", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:01.904Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "c", - "name" : "C", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "C1", "VALUE:99" ], [ "0", "0", "0", "C2", "VALUE:99" ], [ "0", "0", "0", "C3", "VALUE:99" ], [ "0", "0", "0", "C4", "VALUE:99" ], [ "0", "0", "0", "CX", "VALUE:99" ], [ "0", "1", "0", "C1", "VALUE:3" ], [ "0", "1", "0", "C2", "VALUE:3" ], [ "0", "1", "0", "C3", "VALUE:3" ], [ "0", "1", "0", "C4", "VALUE:3" ], [ "0", "1", "0", "CX", "VALUE:3" ], [ "0", "2", "0", "C1", "VALUE:3C" ], [ "0", "2", "0", "C2", "VALUE:3C" ], [ "0", "2", "0", "C3", "VALUE:3C" ], [ "0", "2", "0", "C4", "VALUE:3C" ], [ "0", "2", "0", "CX", "VALUE:3C" ], [ "0", "X", "0", "C1", "VALUE:99" ], [ "0", "X", "0", "C2", "VALUE:99" ], [ "0", "X", "0", "C3", "VALUE:99" ], [ "0", "X", "0", "C4", "VALUE:99" ], [ "0", "X", "0", "CX", "VALUE:99" ], [ "IS", "0", "0", "C1", "VALUE:0" ], [ "IS", "0", "0", "C2", "VALUE:0" ], [ "IS", "0", "0", "C3", "VALUE:0" ], [ "IS", "0", "0", "C4", "VALUE:0" ], [ "IS", "0", "0", "CX", "VALUE:0" ], [ "IS", "1", "0", "C1", "VALUE:3A" ], [ "IS", "1", "0", "C2", "VALUE:3A" ], [ "IS", "1", "0", "C3", "VALUE:3A" ], [ "IS", "1", "0", "C4", "VALUE:3A" ], [ "IS", "1", "0", "CX", "VALUE:3A" ], [ "IS", "2", "0", "C1", "VALUE:3C" ], [ "IS", "2", "0", "C2", "VALUE:3C" ], [ "IS", "2", "0", "C3", "VALUE:3C" ], [ "IS", "2", "0", "C4", "VALUE:3C" ], [ "IS", "2", "0", "CX", "VALUE:3C" ], [ "IS", "X", "0", "C1", "VALUE:0" ], [ "IS", "X", "0", "C2", "VALUE:0" ], [ "IS", "X", "0", "C3", "VALUE:0" ], [ "IS", "X", "0", "C4", "VALUE:0" ], [ "IS", "X", "0", "CX", "VALUE:0" ], [ "1", "0", "0", "C1", "VALUE:1" ], [ "1", "0", "0", "C2", "VALUE:1" ], [ "1", "0", "0", "C3", "VALUE:1" ], [ "1", "0", "0", "C4", "VALUE:1" ], [ "1", "0", "0", "CX", "VALUE:1" ], [ "1", "1", "0", "C1", "VALUE:3A" ], [ "1", "1", "0", "C2", "VALUE:3A" ], [ "1", "1", "0", "C3", "VALUE:3A" ], [ "1", "1", "0", "C4", "VALUE:3A" ], [ "1", "1", "0", "CX", "VALUE:3A" ], [ "1", "2", "0", "C1", "VALUE:3C" ], [ "1", "2", "0", "C2", "VALUE:3C" ], [ "1", "2", "0", "C3", "VALUE:3C" ], [ "1", "2", "0", "C4", "VALUE:3C" ], [ "1", "2", "0", "CX", "VALUE:3C" ], [ "1", "X", "0", "C1", "VALUE:99" ], [ "1", "X", "0", "C2", "VALUE:99" ], [ "1", "X", "0", "C3", "VALUE:99" ], [ "1", "X", "0", "C4", "VALUE:99" ], [ "1", "X", "0", "CX", "VALUE:99" ], [ "2", "0", "0", "C1", "VALUE:1" ], [ "2", "0", "0", "C2", "VALUE:1" ], [ "2", "0", "0", "C3", "VALUE:1" ], [ "2", "0", "0", "C4", "VALUE:1" ], [ "2", "0", "0", "CX", "VALUE:1" ], [ "2", "1", "0", "C1", "VALUE:3A" ], [ "2", "1", "0", "C2", "VALUE:3A" ], [ "2", "1", "0", "C3", "VALUE:3A" ], [ "2", "1", "0", "C4", "VALUE:3A" ], [ "2", "1", "0", "CX", "VALUE:3A" ], [ "2", "2", "0", "C1", "VALUE:3C" ], [ "2", "2", "0", "C2", "VALUE:3C" ], [ "2", "2", "0", "C3", "VALUE:3C" ], [ "2", "2", "0", "C4", "VALUE:3C" ], [ "2", "2", "0", "CX", "VALUE:3C" ], [ "2", "X", "0", "C1", "VALUE:99" ], [ "2", "X", "0", "C2", "VALUE:99" ], [ "2", "X", "0", "C3", "VALUE:99" ], [ "2", "X", "0", "C4", "VALUE:99" ], [ "2", "X", "0", "CX", "VALUE:99" ], [ "3", "0", "0", "C1", "VALUE:2A" ], [ "3", "0", "0", "C2", "VALUE:2A" ], [ "3", "0", "0", "C3", "VALUE:2A" ], [ "3", "0", "0", "C4", "VALUE:2A" ], [ "3", "0", "0", "CX", "VALUE:2A" ], [ "3", "1", "0", "C1", "VALUE:3B" ], [ "3", "1", "0", "C2", "VALUE:3B" ], [ "3", "1", "0", "C3", "VALUE:3B" ], [ "3", "1", "0", "C4", "VALUE:3B" ], [ "3", "1", "0", "CX", "VALUE:3B" ], [ "3", "2", "0", "C1", "VALUE:3C" ], [ "3", "2", "0", "C2", "VALUE:3C" ], [ "3", "2", "0", "C3", "VALUE:3C" ], [ "3", "2", "0", "C4", "VALUE:3C" ], [ "3", "2", "0", "CX", "VALUE:3C" ], [ "3", "X", "0", "C1", "VALUE:99" ], [ "3", "X", "0", "C2", "VALUE:99" ], [ "3", "X", "0", "C3", "VALUE:99" ], [ "3", "X", "0", "C4", "VALUE:99" ], [ "3", "X", "0", "CX", "VALUE:99" ], [ "4A", "0", "0", "C1", "VALUE:2B" ], [ "4A", "0", "0", "C2", "VALUE:2B" ], [ "4A", "0", "0", "C3", "VALUE:2B" ], [ "4A", "0", "0", "C4", "VALUE:2B" ], [ "4A", "0", "0", "CX", "VALUE:2B" ], [ "4A", "1", "0", "C1", "VALUE:3B" ], [ "4A", "1", "0", "C2", "VALUE:3B" ], [ "4A", "1", "0", "C3", "VALUE:3B" ], [ "4A", "1", "0", "C4", "VALUE:3B" ], [ "4A", "1", "0", "CX", "VALUE:3B" ], [ "4A", "2", "0", "C1", "VALUE:3C" ], [ "4A", "2", "0", "C2", "VALUE:3C" ], [ "4A", "2", "0", "C3", "VALUE:3C" ], [ "4A", "2", "0", "C4", "VALUE:3C" ], [ "4A", "2", "0", "CX", "VALUE:3C" ], [ "4A", "X", "0", "C1", "VALUE:99" ], [ "4A", "X", "0", "C2", "VALUE:99" ], [ "4A", "X", "0", "C3", "VALUE:99" ], [ "4A", "X", "0", "C4", "VALUE:99" ], [ "4A", "X", "0", "CX", "VALUE:99" ], [ "4B", "0", "0", "C1", "VALUE:2C" ], [ "4B", "0", "0", "C2", "VALUE:2C" ], [ "4B", "0", "0", "C3", "VALUE:2C" ], [ "4B", "0", "0", "C4", "VALUE:2C" ], [ "4B", "0", "0", "CX", "VALUE:2C" ], [ "4B", "1", "0", "C1", "VALUE:3B" ], [ "4B", "1", "0", "C2", "VALUE:3B" ], [ "4B", "1", "0", "C3", "VALUE:3B" ], [ "4B", "1", "0", "C4", "VALUE:3B" ], [ "4B", "1", "0", "CX", "VALUE:3B" ], [ "4B", "2", "0", "C1", "VALUE:3C" ], [ "4B", "2", "0", "C2", "VALUE:3C" ], [ "4B", "2", "0", "C3", "VALUE:3C" ], [ "4B", "2", "0", "C4", "VALUE:3C" ], [ "4B", "2", "0", "CX", "VALUE:3C" ], [ "4B", "X", "0", "C1", "VALUE:99" ], [ "4B", "X", "0", "C2", "VALUE:99" ], [ "4B", "X", "0", "C3", "VALUE:99" ], [ "4B", "X", "0", "C4", "VALUE:99" ], [ "4B", "X", "0", "CX", "VALUE:99" ], [ "4", "0", "0", "C1", "VALUE:2" ], [ "4", "0", "0", "C2", "VALUE:2" ], [ "4", "0", "0", "C3", "VALUE:2" ], [ "4", "0", "0", "C4", "VALUE:2" ], [ "4", "0", "0", "CX", "VALUE:2" ], [ "4", "1", "0", "C1", "VALUE:3B" ], [ "4", "1", "0", "C2", "VALUE:3B" ], [ "4", "1", "0", "C3", "VALUE:3B" ], [ "4", "1", "0", "C4", "VALUE:3B" ], [ "4", "1", "0", "CX", "VALUE:3B" ], [ "4", "2", "0", "C1", "VALUE:3C" ], [ "4", "2", "0", "C2", "VALUE:3C" ], [ "4", "2", "0", "C3", "VALUE:3C" ], [ "4", "2", "0", "C4", "VALUE:3C" ], [ "4", "2", "0", "CX", "VALUE:3C" ], [ "4", "X", "0", "C1", "VALUE:99" ], [ "4", "X", "0", "C2", "VALUE:99" ], [ "4", "X", "0", "C3", "VALUE:99" ], [ "4", "X", "0", "C4", "VALUE:99" ], [ "4", "X", "0", "CX", "VALUE:99" ], [ "X", "0", "0", "C1", "VALUE:99" ], [ "X", "0", "0", "C2", "VALUE:99" ], [ "X", "0", "0", "C3", "VALUE:99" ], [ "X", "0", "0", "C4", "VALUE:99" ], [ "X", "0", "0", "CX", "VALUE:99" ], [ "X", "1", "0", "C1", "VALUE:3" ], [ "X", "1", "0", "C2", "VALUE:3" ], [ "X", "1", "0", "C3", "VALUE:3" ], [ "X", "1", "0", "C4", "VALUE:3" ], [ "X", "1", "0", "CX", "VALUE:3" ], [ "X", "2", "0", "C1", "VALUE:3C" ], [ "X", "2", "0", "C2", "VALUE:3C" ], [ "X", "2", "0", "C3", "VALUE:3C" ], [ "X", "2", "0", "C4", "VALUE:3C" ], [ "X", "2", "0", "CX", "VALUE:3C" ], [ "X", "X", "0", "C1", "VALUE:99" ], [ "X", "X", "0", "C2", "VALUE:99" ], [ "X", "X", "0", "C3", "VALUE:99" ], [ "X", "X", "0", "C4", "VALUE:99" ], [ "X", "X", "0", "CX", "VALUE:99" ], [ "0", "0", "1A", "C1", "VALUE:4A" ], [ "0", "0", "1A", "C2", "VALUE:4B" ], [ "0", "0", "1A", "C3", "VALUE:4B" ], [ "0", "0", "1A", "C4", "VALUE:4B" ], [ "0", "0", "1A", "CX", "VALUE:4A" ], [ "0", "1", "1A", "C1", "VALUE:4B" ], [ "0", "1", "1A", "C2", "VALUE:4B" ], [ "0", "1", "1A", "C3", "VALUE:4B" ], [ "0", "1", "1A", "C4", "VALUE:4B" ], [ "0", "1", "1A", "CX", "VALUE:4B" ], [ "0", "2", "1A", "C1", "VALUE:4B" ], [ "0", "2", "1A", "C2", "VALUE:4B" ], [ "0", "2", "1A", "C3", "VALUE:4B" ], [ "0", "2", "1A", "C4", "VALUE:4B" ], [ "0", "2", "1A", "CX", "VALUE:4B" ], [ "0", "X", "1A", "C1", "VALUE:4" ], [ "0", "X", "1A", "C2", "VALUE:4" ], [ "0", "X", "1A", "C3", "VALUE:4" ], [ "0", "X", "1A", "C4", "VALUE:4" ], [ "0", "X", "1A", "CX", "VALUE:4" ], [ "IS", "0", "1A", "C1", "VALUE:4A" ], [ "IS", "0", "1A", "C2", "VALUE:4B" ], [ "IS", "0", "1A", "C3", "VALUE:4B" ], [ "IS", "0", "1A", "C4", "VALUE:4B" ], [ "IS", "0", "1A", "CX", "VALUE:4A" ], [ "IS", "1", "1A", "C1", "VALUE:4B" ], [ "IS", "1", "1A", "C2", "VALUE:4B" ], [ "IS", "1", "1A", "C3", "VALUE:4B" ], [ "IS", "1", "1A", "C4", "VALUE:4B" ], [ "IS", "1", "1A", "CX", "VALUE:4B" ], [ "IS", "2", "1A", "C1", "VALUE:4B" ], [ "IS", "2", "1A", "C2", "VALUE:4B" ], [ "IS", "2", "1A", "C3", "VALUE:4B" ], [ "IS", "2", "1A", "C4", "VALUE:4B" ], [ "IS", "2", "1A", "CX", "VALUE:4B" ], [ "IS", "X", "1A", "C1", "VALUE:4" ], [ "IS", "X", "1A", "C2", "VALUE:4" ], [ "IS", "X", "1A", "C3", "VALUE:4" ], [ "IS", "X", "1A", "C4", "VALUE:4" ], [ "IS", "X", "1A", "CX", "VALUE:4" ], [ "1", "0", "1A", "C1", "VALUE:4A" ], [ "1", "0", "1A", "C2", "VALUE:4B" ], [ "1", "0", "1A", "C3", "VALUE:4B" ], [ "1", "0", "1A", "C4", "VALUE:4B" ], [ "1", "0", "1A", "CX", "VALUE:4A" ], [ "1", "1", "1A", "C1", "VALUE:4B" ], [ "1", "1", "1A", "C2", "VALUE:4B" ], [ "1", "1", "1A", "C3", "VALUE:4B" ], [ "1", "1", "1A", "C4", "VALUE:4B" ], [ "1", "1", "1A", "CX", "VALUE:4B" ], [ "1", "2", "1A", "C1", "VALUE:4B" ], [ "1", "2", "1A", "C2", "VALUE:4B" ], [ "1", "2", "1A", "C3", "VALUE:4B" ], [ "1", "2", "1A", "C4", "VALUE:4B" ], [ "1", "2", "1A", "CX", "VALUE:4B" ], [ "1", "X", "1A", "C1", "VALUE:4" ], [ "1", "X", "1A", "C2", "VALUE:4" ], [ "1", "X", "1A", "C3", "VALUE:4" ], [ "1", "X", "1A", "C4", "VALUE:4" ], [ "1", "X", "1A", "CX", "VALUE:4" ], [ "2", "0", "1A", "C1", "VALUE:4A" ], [ "2", "0", "1A", "C2", "VALUE:4B" ], [ "2", "0", "1A", "C3", "VALUE:4B" ], [ "2", "0", "1A", "C4", "VALUE:4B" ], [ "2", "0", "1A", "CX", "VALUE:4A" ], [ "2", "1", "1A", "C1", "VALUE:4B" ], [ "2", "1", "1A", "C2", "VALUE:4B" ], [ "2", "1", "1A", "C3", "VALUE:4B" ], [ "2", "1", "1A", "C4", "VALUE:4B" ], [ "2", "1", "1A", "CX", "VALUE:4B" ], [ "2", "2", "1A", "C1", "VALUE:4B" ], [ "2", "2", "1A", "C2", "VALUE:4B" ], [ "2", "2", "1A", "C3", "VALUE:4B" ], [ "2", "2", "1A", "C4", "VALUE:4B" ], [ "2", "2", "1A", "CX", "VALUE:4B" ], [ "2", "X", "1A", "C1", "VALUE:4" ], [ "2", "X", "1A", "C2", "VALUE:4" ], [ "2", "X", "1A", "C3", "VALUE:4" ], [ "2", "X", "1A", "C4", "VALUE:4" ], [ "2", "X", "1A", "CX", "VALUE:4" ], [ "3", "0", "1A", "C1", "VALUE:4A" ], [ "3", "0", "1A", "C2", "VALUE:4B" ], [ "3", "0", "1A", "C3", "VALUE:4B" ], [ "3", "0", "1A", "C4", "VALUE:4B" ], [ "3", "0", "1A", "CX", "VALUE:4A" ], [ "3", "1", "1A", "C1", "VALUE:4B" ], [ "3", "1", "1A", "C2", "VALUE:4B" ], [ "3", "1", "1A", "C3", "VALUE:4B" ], [ "3", "1", "1A", "C4", "VALUE:4B" ], [ "3", "1", "1A", "CX", "VALUE:4B" ], [ "3", "2", "1A", "C1", "VALUE:4B" ], [ "3", "2", "1A", "C2", "VALUE:4B" ], [ "3", "2", "1A", "C3", "VALUE:4B" ], [ "3", "2", "1A", "C4", "VALUE:4B" ], [ "3", "2", "1A", "CX", "VALUE:4B" ], [ "3", "X", "1A", "C1", "VALUE:4" ], [ "3", "X", "1A", "C2", "VALUE:4" ], [ "3", "X", "1A", "C3", "VALUE:4" ], [ "3", "X", "1A", "C4", "VALUE:4" ], [ "3", "X", "1A", "CX", "VALUE:4" ], [ "4A", "0", "1A", "C1", "VALUE:4A" ], [ "4A", "0", "1A", "C2", "VALUE:4B" ], [ "4A", "0", "1A", "C3", "VALUE:4B" ], [ "4A", "0", "1A", "C4", "VALUE:4B" ], [ "4A", "0", "1A", "CX", "VALUE:4A" ], [ "4A", "1", "1A", "C1", "VALUE:4B" ], [ "4A", "1", "1A", "C2", "VALUE:4B" ], [ "4A", "1", "1A", "C3", "VALUE:4B" ], [ "4A", "1", "1A", "C4", "VALUE:4B" ], [ "4A", "1", "1A", "CX", "VALUE:4B" ], [ "4A", "2", "1A", "C1", "VALUE:4B" ], [ "4A", "2", "1A", "C2", "VALUE:4B" ], [ "4A", "2", "1A", "C3", "VALUE:4B" ], [ "4A", "2", "1A", "C4", "VALUE:4B" ], [ "4A", "2", "1A", "CX", "VALUE:4B" ], [ "4A", "X", "1A", "C1", "VALUE:4" ], [ "4A", "X", "1A", "C2", "VALUE:4" ], [ "4A", "X", "1A", "C3", "VALUE:4" ], [ "4A", "X", "1A", "C4", "VALUE:4" ], [ "4A", "X", "1A", "CX", "VALUE:4" ], [ "4B", "0", "1A", "C1", "VALUE:4A" ], [ "4B", "0", "1A", "C2", "VALUE:4B" ], [ "4B", "0", "1A", "C3", "VALUE:4B" ], [ "4B", "0", "1A", "C4", "VALUE:4B" ], [ "4B", "0", "1A", "CX", "VALUE:4A" ], [ "4B", "1", "1A", "C1", "VALUE:4B" ], [ "4B", "1", "1A", "C2", "VALUE:4B" ], [ "4B", "1", "1A", "C3", "VALUE:4B" ], [ "4B", "1", "1A", "C4", "VALUE:4B" ], [ "4B", "1", "1A", "CX", "VALUE:4B" ], [ "4B", "2", "1A", "C1", "VALUE:4B" ], [ "4B", "2", "1A", "C2", "VALUE:4B" ], [ "4B", "2", "1A", "C3", "VALUE:4B" ], [ "4B", "2", "1A", "C4", "VALUE:4B" ], [ "4B", "2", "1A", "CX", "VALUE:4B" ], [ "4B", "X", "1A", "C1", "VALUE:4" ], [ "4B", "X", "1A", "C2", "VALUE:4" ], [ "4B", "X", "1A", "C3", "VALUE:4" ], [ "4B", "X", "1A", "C4", "VALUE:4" ], [ "4B", "X", "1A", "CX", "VALUE:4" ], [ "4", "0", "1A", "C1", "VALUE:4A" ], [ "4", "0", "1A", "C2", "VALUE:4B" ], [ "4", "0", "1A", "C3", "VALUE:4B" ], [ "4", "0", "1A", "C4", "VALUE:4B" ], [ "4", "0", "1A", "CX", "VALUE:4A" ], [ "4", "1", "1A", "C1", "VALUE:4B" ], [ "4", "1", "1A", "C2", "VALUE:4B" ], [ "4", "1", "1A", "C3", "VALUE:4B" ], [ "4", "1", "1A", "C4", "VALUE:4B" ], [ "4", "1", "1A", "CX", "VALUE:4B" ], [ "4", "2", "1A", "C1", "VALUE:4B" ], [ "4", "2", "1A", "C2", "VALUE:4B" ], [ "4", "2", "1A", "C3", "VALUE:4B" ], [ "4", "2", "1A", "C4", "VALUE:4B" ], [ "4", "2", "1A", "CX", "VALUE:4B" ], [ "4", "X", "1A", "C1", "VALUE:4" ], [ "4", "X", "1A", "C2", "VALUE:4" ], [ "4", "X", "1A", "C3", "VALUE:4" ], [ "4", "X", "1A", "C4", "VALUE:4" ], [ "4", "X", "1A", "CX", "VALUE:4" ], [ "X", "0", "1A", "C1", "VALUE:4A" ], [ "X", "0", "1A", "C2", "VALUE:4B" ], [ "X", "0", "1A", "C3", "VALUE:4B" ], [ "X", "0", "1A", "C4", "VALUE:4B" ], [ "X", "0", "1A", "CX", "VALUE:4A" ], [ "X", "1", "1A", "C1", "VALUE:4B" ], [ "X", "1", "1A", "C2", "VALUE:4B" ], [ "X", "1", "1A", "C3", "VALUE:4B" ], [ "X", "1", "1A", "C4", "VALUE:4B" ], [ "X", "1", "1A", "CX", "VALUE:4B" ], [ "X", "2", "1A", "C1", "VALUE:4B" ], [ "X", "2", "1A", "C2", "VALUE:4B" ], [ "X", "2", "1A", "C3", "VALUE:4B" ], [ "X", "2", "1A", "C4", "VALUE:4B" ], [ "X", "2", "1A", "CX", "VALUE:4B" ], [ "X", "X", "1A", "C1", "VALUE:4" ], [ "X", "X", "1A", "C2", "VALUE:4" ], [ "X", "X", "1A", "C3", "VALUE:4" ], [ "X", "X", "1A", "C4", "VALUE:4" ], [ "X", "X", "1A", "CX", "VALUE:4" ], [ "0", "0", "1B", "C1", "VALUE:4C" ], [ "0", "0", "1B", "C2", "VALUE:4C" ], [ "0", "0", "1B", "C3", "VALUE:4C" ], [ "0", "0", "1B", "C4", "VALUE:4C" ], [ "0", "0", "1B", "CX", "VALUE:4C" ], [ "0", "1", "1B", "C1", "VALUE:4C" ], [ "0", "1", "1B", "C2", "VALUE:4C" ], [ "0", "1", "1B", "C3", "VALUE:4C" ], [ "0", "1", "1B", "C4", "VALUE:4C" ], [ "0", "1", "1B", "CX", "VALUE:4C" ], [ "0", "2", "1B", "C1", "VALUE:4C" ], [ "0", "2", "1B", "C2", "VALUE:4C" ], [ "0", "2", "1B", "C3", "VALUE:4C" ], [ "0", "2", "1B", "C4", "VALUE:4C" ], [ "0", "2", "1B", "CX", "VALUE:4C" ], [ "0", "X", "1B", "C1", "VALUE:4C" ], [ "0", "X", "1B", "C2", "VALUE:4C" ], [ "0", "X", "1B", "C3", "VALUE:4C" ], [ "0", "X", "1B", "C4", "VALUE:4C" ], [ "0", "X", "1B", "CX", "VALUE:4C" ], [ "IS", "0", "1B", "C1", "VALUE:4C" ], [ "IS", "0", "1B", "C2", "VALUE:4C" ], [ "IS", "0", "1B", "C3", "VALUE:4C" ], [ "IS", "0", "1B", "C4", "VALUE:4C" ], [ "IS", "0", "1B", "CX", "VALUE:4C" ], [ "IS", "1", "1B", "C1", "VALUE:4C" ], [ "IS", "1", "1B", "C2", "VALUE:4C" ], [ "IS", "1", "1B", "C3", "VALUE:4C" ], [ "IS", "1", "1B", "C4", "VALUE:4C" ], [ "IS", "1", "1B", "CX", "VALUE:4C" ], [ "IS", "2", "1B", "C1", "VALUE:4C" ], [ "IS", "2", "1B", "C2", "VALUE:4C" ], [ "IS", "2", "1B", "C3", "VALUE:4C" ], [ "IS", "2", "1B", "C4", "VALUE:4C" ], [ "IS", "2", "1B", "CX", "VALUE:4C" ], [ "IS", "X", "1B", "C1", "VALUE:4C" ], [ "IS", "X", "1B", "C2", "VALUE:4C" ], [ "IS", "X", "1B", "C3", "VALUE:4C" ], [ "IS", "X", "1B", "C4", "VALUE:4C" ], [ "IS", "X", "1B", "CX", "VALUE:4C" ], [ "1", "0", "1B", "C1", "VALUE:4C" ], [ "1", "0", "1B", "C2", "VALUE:4C" ], [ "1", "0", "1B", "C3", "VALUE:4C" ], [ "1", "0", "1B", "C4", "VALUE:4C" ], [ "1", "0", "1B", "CX", "VALUE:4C" ], [ "1", "1", "1B", "C1", "VALUE:4C" ], [ "1", "1", "1B", "C2", "VALUE:4C" ], [ "1", "1", "1B", "C3", "VALUE:4C" ], [ "1", "1", "1B", "C4", "VALUE:4C" ], [ "1", "1", "1B", "CX", "VALUE:4C" ], [ "1", "2", "1B", "C1", "VALUE:4C" ], [ "1", "2", "1B", "C2", "VALUE:4C" ], [ "1", "2", "1B", "C3", "VALUE:4C" ], [ "1", "2", "1B", "C4", "VALUE:4C" ], [ "1", "2", "1B", "CX", "VALUE:4C" ], [ "1", "X", "1B", "C1", "VALUE:4C" ], [ "1", "X", "1B", "C2", "VALUE:4C" ], [ "1", "X", "1B", "C3", "VALUE:4C" ], [ "1", "X", "1B", "C4", "VALUE:4C" ], [ "1", "X", "1B", "CX", "VALUE:4C" ], [ "2", "0", "1B", "C1", "VALUE:4C" ], [ "2", "0", "1B", "C2", "VALUE:4C" ], [ "2", "0", "1B", "C3", "VALUE:4C" ], [ "2", "0", "1B", "C4", "VALUE:4C" ], [ "2", "0", "1B", "CX", "VALUE:4C" ], [ "2", "1", "1B", "C1", "VALUE:4C" ], [ "2", "1", "1B", "C2", "VALUE:4C" ], [ "2", "1", "1B", "C3", "VALUE:4C" ], [ "2", "1", "1B", "C4", "VALUE:4C" ], [ "2", "1", "1B", "CX", "VALUE:4C" ], [ "2", "2", "1B", "C1", "VALUE:4C" ], [ "2", "2", "1B", "C2", "VALUE:4C" ], [ "2", "2", "1B", "C3", "VALUE:4C" ], [ "2", "2", "1B", "C4", "VALUE:4C" ], [ "2", "2", "1B", "CX", "VALUE:4C" ], [ "2", "X", "1B", "C1", "VALUE:4C" ], [ "2", "X", "1B", "C2", "VALUE:4C" ], [ "2", "X", "1B", "C3", "VALUE:4C" ], [ "2", "X", "1B", "C4", "VALUE:4C" ], [ "2", "X", "1B", "CX", "VALUE:4C" ], [ "3", "0", "1B", "C1", "VALUE:4C" ], [ "3", "0", "1B", "C2", "VALUE:4C" ], [ "3", "0", "1B", "C3", "VALUE:4C" ], [ "3", "0", "1B", "C4", "VALUE:4C" ], [ "3", "0", "1B", "CX", "VALUE:4C" ], [ "3", "1", "1B", "C1", "VALUE:4C" ], [ "3", "1", "1B", "C2", "VALUE:4C" ], [ "3", "1", "1B", "C3", "VALUE:4C" ], [ "3", "1", "1B", "C4", "VALUE:4C" ], [ "3", "1", "1B", "CX", "VALUE:4C" ], [ "3", "2", "1B", "C1", "VALUE:4C" ], [ "3", "2", "1B", "C2", "VALUE:4C" ], [ "3", "2", "1B", "C3", "VALUE:4C" ], [ "3", "2", "1B", "C4", "VALUE:4C" ], [ "3", "2", "1B", "CX", "VALUE:4C" ], [ "3", "X", "1B", "C1", "VALUE:4C" ], [ "3", "X", "1B", "C2", "VALUE:4C" ], [ "3", "X", "1B", "C3", "VALUE:4C" ], [ "3", "X", "1B", "C4", "VALUE:4C" ], [ "3", "X", "1B", "CX", "VALUE:4C" ], [ "4A", "0", "1B", "C1", "VALUE:4C" ], [ "4A", "0", "1B", "C2", "VALUE:4C" ], [ "4A", "0", "1B", "C3", "VALUE:4C" ], [ "4A", "0", "1B", "C4", "VALUE:4C" ], [ "4A", "0", "1B", "CX", "VALUE:4C" ], [ "4A", "1", "1B", "C1", "VALUE:4C" ], [ "4A", "1", "1B", "C2", "VALUE:4C" ], [ "4A", "1", "1B", "C3", "VALUE:4C" ], [ "4A", "1", "1B", "C4", "VALUE:4C" ], [ "4A", "1", "1B", "CX", "VALUE:4C" ], [ "4A", "2", "1B", "C1", "VALUE:4C" ], [ "4A", "2", "1B", "C2", "VALUE:4C" ], [ "4A", "2", "1B", "C3", "VALUE:4C" ], [ "4A", "2", "1B", "C4", "VALUE:4C" ], [ "4A", "2", "1B", "CX", "VALUE:4C" ], [ "4A", "X", "1B", "C1", "VALUE:4C" ], [ "4A", "X", "1B", "C2", "VALUE:4C" ], [ "4A", "X", "1B", "C3", "VALUE:4C" ], [ "4A", "X", "1B", "C4", "VALUE:4C" ], [ "4A", "X", "1B", "CX", "VALUE:4C" ], [ "4B", "0", "1B", "C1", "VALUE:4C" ], [ "4B", "0", "1B", "C2", "VALUE:4C" ], [ "4B", "0", "1B", "C3", "VALUE:4C" ], [ "4B", "0", "1B", "C4", "VALUE:4C" ], [ "4B", "0", "1B", "CX", "VALUE:4C" ], [ "4B", "1", "1B", "C1", "VALUE:4C" ], [ "4B", "1", "1B", "C2", "VALUE:4C" ], [ "4B", "1", "1B", "C3", "VALUE:4C" ], [ "4B", "1", "1B", "C4", "VALUE:4C" ], [ "4B", "1", "1B", "CX", "VALUE:4C" ], [ "4B", "2", "1B", "C1", "VALUE:4C" ], [ "4B", "2", "1B", "C2", "VALUE:4C" ], [ "4B", "2", "1B", "C3", "VALUE:4C" ], [ "4B", "2", "1B", "C4", "VALUE:4C" ], [ "4B", "2", "1B", "CX", "VALUE:4C" ], [ "4B", "X", "1B", "C1", "VALUE:4C" ], [ "4B", "X", "1B", "C2", "VALUE:4C" ], [ "4B", "X", "1B", "C3", "VALUE:4C" ], [ "4B", "X", "1B", "C4", "VALUE:4C" ], [ "4B", "X", "1B", "CX", "VALUE:4C" ], [ "4", "0", "1B", "C1", "VALUE:4C" ], [ "4", "0", "1B", "C2", "VALUE:4C" ], [ "4", "0", "1B", "C3", "VALUE:4C" ], [ "4", "0", "1B", "C4", "VALUE:4C" ], [ "4", "0", "1B", "CX", "VALUE:4C" ], [ "4", "1", "1B", "C1", "VALUE:4C" ], [ "4", "1", "1B", "C2", "VALUE:4C" ], [ "4", "1", "1B", "C3", "VALUE:4C" ], [ "4", "1", "1B", "C4", "VALUE:4C" ], [ "4", "1", "1B", "CX", "VALUE:4C" ], [ "4", "2", "1B", "C1", "VALUE:4C" ], [ "4", "2", "1B", "C2", "VALUE:4C" ], [ "4", "2", "1B", "C3", "VALUE:4C" ], [ "4", "2", "1B", "C4", "VALUE:4C" ], [ "4", "2", "1B", "CX", "VALUE:4C" ], [ "4", "X", "1B", "C1", "VALUE:4C" ], [ "4", "X", "1B", "C2", "VALUE:4C" ], [ "4", "X", "1B", "C3", "VALUE:4C" ], [ "4", "X", "1B", "C4", "VALUE:4C" ], [ "4", "X", "1B", "CX", "VALUE:4C" ], [ "X", "0", "1B", "C1", "VALUE:4C" ], [ "X", "0", "1B", "C2", "VALUE:4C" ], [ "X", "0", "1B", "C3", "VALUE:4C" ], [ "X", "0", "1B", "C4", "VALUE:4C" ], [ "X", "0", "1B", "CX", "VALUE:4C" ], [ "X", "1", "1B", "C1", "VALUE:4C" ], [ "X", "1", "1B", "C2", "VALUE:4C" ], [ "X", "1", "1B", "C3", "VALUE:4C" ], [ "X", "1", "1B", "C4", "VALUE:4C" ], [ "X", "1", "1B", "CX", "VALUE:4C" ], [ "X", "2", "1B", "C1", "VALUE:4C" ], [ "X", "2", "1B", "C2", "VALUE:4C" ], [ "X", "2", "1B", "C3", "VALUE:4C" ], [ "X", "2", "1B", "C4", "VALUE:4C" ], [ "X", "2", "1B", "CX", "VALUE:4C" ], [ "X", "X", "1B", "C1", "VALUE:4C" ], [ "X", "X", "1B", "C2", "VALUE:4C" ], [ "X", "X", "1B", "C3", "VALUE:4C" ], [ "X", "X", "1B", "C4", "VALUE:4C" ], [ "X", "X", "1B", "CX", "VALUE:4C" ], [ "0", "0", "1", "C1", "VALUE:4" ], [ "0", "0", "1", "C2", "VALUE:4" ], [ "0", "0", "1", "C3", "VALUE:4" ], [ "0", "0", "1", "C4", "VALUE:4" ], [ "0", "0", "1", "CX", "VALUE:4" ], [ "0", "1", "1", "C1", "VALUE:4" ], [ "0", "1", "1", "C2", "VALUE:4" ], [ "0", "1", "1", "C3", "VALUE:4" ], [ "0", "1", "1", "C4", "VALUE:4" ], [ "0", "1", "1", "CX", "VALUE:4" ], [ "0", "2", "1", "C1", "VALUE:4" ], [ "0", "2", "1", "C2", "VALUE:4" ], [ "0", "2", "1", "C3", "VALUE:4" ], [ "0", "2", "1", "C4", "VALUE:4" ], [ "0", "2", "1", "CX", "VALUE:4" ], [ "0", "X", "1", "C1", "VALUE:4" ], [ "0", "X", "1", "C2", "VALUE:4" ], [ "0", "X", "1", "C3", "VALUE:4" ], [ "0", "X", "1", "C4", "VALUE:4" ], [ "0", "X", "1", "CX", "VALUE:4" ], [ "IS", "0", "1", "C1", "VALUE:4" ], [ "IS", "0", "1", "C2", "VALUE:4" ], [ "IS", "0", "1", "C3", "VALUE:4" ], [ "IS", "0", "1", "C4", "VALUE:4" ], [ "IS", "0", "1", "CX", "VALUE:4" ], [ "IS", "1", "1", "C1", "VALUE:4" ], [ "IS", "1", "1", "C2", "VALUE:4" ], [ "IS", "1", "1", "C3", "VALUE:4" ], [ "IS", "1", "1", "C4", "VALUE:4" ], [ "IS", "1", "1", "CX", "VALUE:4" ], [ "IS", "2", "1", "C1", "VALUE:4" ], [ "IS", "2", "1", "C2", "VALUE:4" ], [ "IS", "2", "1", "C3", "VALUE:4" ], [ "IS", "2", "1", "C4", "VALUE:4" ], [ "IS", "2", "1", "CX", "VALUE:4" ], [ "IS", "X", "1", "C1", "VALUE:4" ], [ "IS", "X", "1", "C2", "VALUE:4" ], [ "IS", "X", "1", "C3", "VALUE:4" ], [ "IS", "X", "1", "C4", "VALUE:4" ], [ "IS", "X", "1", "CX", "VALUE:4" ], [ "1", "0", "1", "C1", "VALUE:4" ], [ "1", "0", "1", "C2", "VALUE:4" ], [ "1", "0", "1", "C3", "VALUE:4" ], [ "1", "0", "1", "C4", "VALUE:4" ], [ "1", "0", "1", "CX", "VALUE:4" ], [ "1", "1", "1", "C1", "VALUE:4" ], [ "1", "1", "1", "C2", "VALUE:4" ], [ "1", "1", "1", "C3", "VALUE:4" ], [ "1", "1", "1", "C4", "VALUE:4" ], [ "1", "1", "1", "CX", "VALUE:4" ], [ "1", "2", "1", "C1", "VALUE:4" ], [ "1", "2", "1", "C2", "VALUE:4" ], [ "1", "2", "1", "C3", "VALUE:4" ], [ "1", "2", "1", "C4", "VALUE:4" ], [ "1", "2", "1", "CX", "VALUE:4" ], [ "1", "X", "1", "C1", "VALUE:4" ], [ "1", "X", "1", "C2", "VALUE:4" ], [ "1", "X", "1", "C3", "VALUE:4" ], [ "1", "X", "1", "C4", "VALUE:4" ], [ "1", "X", "1", "CX", "VALUE:4" ], [ "2", "0", "1", "C1", "VALUE:4" ], [ "2", "0", "1", "C2", "VALUE:4" ], [ "2", "0", "1", "C3", "VALUE:4" ], [ "2", "0", "1", "C4", "VALUE:4" ], [ "2", "0", "1", "CX", "VALUE:4" ], [ "2", "1", "1", "C1", "VALUE:4" ], [ "2", "1", "1", "C2", "VALUE:4" ], [ "2", "1", "1", "C3", "VALUE:4" ], [ "2", "1", "1", "C4", "VALUE:4" ], [ "2", "1", "1", "CX", "VALUE:4" ], [ "2", "2", "1", "C1", "VALUE:4" ], [ "2", "2", "1", "C2", "VALUE:4" ], [ "2", "2", "1", "C3", "VALUE:4" ], [ "2", "2", "1", "C4", "VALUE:4" ], [ "2", "2", "1", "CX", "VALUE:4" ], [ "2", "X", "1", "C1", "VALUE:4" ], [ "2", "X", "1", "C2", "VALUE:4" ], [ "2", "X", "1", "C3", "VALUE:4" ], [ "2", "X", "1", "C4", "VALUE:4" ], [ "2", "X", "1", "CX", "VALUE:4" ], [ "3", "0", "1", "C1", "VALUE:4" ], [ "3", "0", "1", "C2", "VALUE:4" ], [ "3", "0", "1", "C3", "VALUE:4" ], [ "3", "0", "1", "C4", "VALUE:4" ], [ "3", "0", "1", "CX", "VALUE:4" ], [ "3", "1", "1", "C1", "VALUE:4" ], [ "3", "1", "1", "C2", "VALUE:4" ], [ "3", "1", "1", "C3", "VALUE:4" ], [ "3", "1", "1", "C4", "VALUE:4" ], [ "3", "1", "1", "CX", "VALUE:4" ], [ "3", "2", "1", "C1", "VALUE:4" ], [ "3", "2", "1", "C2", "VALUE:4" ], [ "3", "2", "1", "C3", "VALUE:4" ], [ "3", "2", "1", "C4", "VALUE:4" ], [ "3", "2", "1", "CX", "VALUE:4" ], [ "3", "X", "1", "C1", "VALUE:4" ], [ "3", "X", "1", "C2", "VALUE:4" ], [ "3", "X", "1", "C3", "VALUE:4" ], [ "3", "X", "1", "C4", "VALUE:4" ], [ "3", "X", "1", "CX", "VALUE:4" ], [ "4A", "0", "1", "C1", "VALUE:4" ], [ "4A", "0", "1", "C2", "VALUE:4" ], [ "4A", "0", "1", "C3", "VALUE:4" ], [ "4A", "0", "1", "C4", "VALUE:4" ], [ "4A", "0", "1", "CX", "VALUE:4" ], [ "4A", "1", "1", "C1", "VALUE:4" ], [ "4A", "1", "1", "C2", "VALUE:4" ], [ "4A", "1", "1", "C3", "VALUE:4" ], [ "4A", "1", "1", "C4", "VALUE:4" ], [ "4A", "1", "1", "CX", "VALUE:4" ], [ "4A", "2", "1", "C1", "VALUE:4" ], [ "4A", "2", "1", "C2", "VALUE:4" ], [ "4A", "2", "1", "C3", "VALUE:4" ], [ "4A", "2", "1", "C4", "VALUE:4" ], [ "4A", "2", "1", "CX", "VALUE:4" ], [ "4A", "X", "1", "C1", "VALUE:4" ], [ "4A", "X", "1", "C2", "VALUE:4" ], [ "4A", "X", "1", "C3", "VALUE:4" ], [ "4A", "X", "1", "C4", "VALUE:4" ], [ "4A", "X", "1", "CX", "VALUE:4" ], [ "4B", "0", "1", "C1", "VALUE:4" ], [ "4B", "0", "1", "C2", "VALUE:4" ], [ "4B", "0", "1", "C3", "VALUE:4" ], [ "4B", "0", "1", "C4", "VALUE:4" ], [ "4B", "0", "1", "CX", "VALUE:4" ], [ "4B", "1", "1", "C1", "VALUE:4" ], [ "4B", "1", "1", "C2", "VALUE:4" ], [ "4B", "1", "1", "C3", "VALUE:4" ], [ "4B", "1", "1", "C4", "VALUE:4" ], [ "4B", "1", "1", "CX", "VALUE:4" ], [ "4B", "2", "1", "C1", "VALUE:4" ], [ "4B", "2", "1", "C2", "VALUE:4" ], [ "4B", "2", "1", "C3", "VALUE:4" ], [ "4B", "2", "1", "C4", "VALUE:4" ], [ "4B", "2", "1", "CX", "VALUE:4" ], [ "4B", "X", "1", "C1", "VALUE:4" ], [ "4B", "X", "1", "C2", "VALUE:4" ], [ "4B", "X", "1", "C3", "VALUE:4" ], [ "4B", "X", "1", "C4", "VALUE:4" ], [ "4B", "X", "1", "CX", "VALUE:4" ], [ "4", "0", "1", "C1", "VALUE:4" ], [ "4", "0", "1", "C2", "VALUE:4" ], [ "4", "0", "1", "C3", "VALUE:4" ], [ "4", "0", "1", "C4", "VALUE:4" ], [ "4", "0", "1", "CX", "VALUE:4" ], [ "4", "1", "1", "C1", "VALUE:4" ], [ "4", "1", "1", "C2", "VALUE:4" ], [ "4", "1", "1", "C3", "VALUE:4" ], [ "4", "1", "1", "C4", "VALUE:4" ], [ "4", "1", "1", "CX", "VALUE:4" ], [ "4", "2", "1", "C1", "VALUE:4" ], [ "4", "2", "1", "C2", "VALUE:4" ], [ "4", "2", "1", "C3", "VALUE:4" ], [ "4", "2", "1", "C4", "VALUE:4" ], [ "4", "2", "1", "CX", "VALUE:4" ], [ "4", "X", "1", "C1", "VALUE:4" ], [ "4", "X", "1", "C2", "VALUE:4" ], [ "4", "X", "1", "C3", "VALUE:4" ], [ "4", "X", "1", "C4", "VALUE:4" ], [ "4", "X", "1", "CX", "VALUE:4" ], [ "X", "0", "1", "C1", "VALUE:4" ], [ "X", "0", "1", "C2", "VALUE:4" ], [ "X", "0", "1", "C3", "VALUE:4" ], [ "X", "0", "1", "C4", "VALUE:4" ], [ "X", "0", "1", "CX", "VALUE:4" ], [ "X", "1", "1", "C1", "VALUE:4" ], [ "X", "1", "1", "C2", "VALUE:4" ], [ "X", "1", "1", "C3", "VALUE:4" ], [ "X", "1", "1", "C4", "VALUE:4" ], [ "X", "1", "1", "CX", "VALUE:4" ], [ "X", "2", "1", "C1", "VALUE:4" ], [ "X", "2", "1", "C2", "VALUE:4" ], [ "X", "2", "1", "C3", "VALUE:4" ], [ "X", "2", "1", "C4", "VALUE:4" ], [ "X", "2", "1", "CX", "VALUE:4" ], [ "X", "X", "1", "C1", "VALUE:4" ], [ "X", "X", "1", "C2", "VALUE:4" ], [ "X", "X", "1", "C3", "VALUE:4" ], [ "X", "X", "1", "C4", "VALUE:4" ], [ "X", "X", "1", "CX", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uau.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uau.json deleted file mode 100644 index 0c64e4bfd..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uau.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uau", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:02.531Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:4" ], [ "0", "2", "0", "VALUE:4" ], [ "0", "3", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "A", "0", "0", "VALUE:0A" ], [ "A", "1", "0", "VALUE:4" ], [ "A", "2", "0", "VALUE:4" ], [ "A", "3", "0", "VALUE:4" ], [ "A", "X", "0", "VALUE:0A" ], [ "IS", "0", "0", "VALUE:0IS" ], [ "IS", "1", "0", "VALUE:4" ], [ "IS", "2", "0", "VALUE:4" ], [ "IS", "3", "0", "VALUE:4" ], [ "IS", "X", "0", "VALUE:0IS" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:4" ], [ "1", "2", "0", "VALUE:4" ], [ "1", "3", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2" ], [ "2A", "1", "0", "VALUE:4" ], [ "2A", "2", "0", "VALUE:4" ], [ "2A", "3", "0", "VALUE:4" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2" ], [ "2B", "1", "0", "VALUE:4" ], [ "2B", "2", "0", "VALUE:4" ], [ "2B", "3", "0", "VALUE:4" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:4" ], [ "2", "2", "0", "VALUE:4" ], [ "2", "3", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3" ], [ "3A", "1", "0", "VALUE:4" ], [ "3A", "2", "0", "VALUE:4" ], [ "3A", "3", "0", "VALUE:4" ], [ "3A", "X", "0", "VALUE:99" ], [ "3B", "0", "0", "VALUE:3" ], [ "3B", "1", "0", "VALUE:4" ], [ "3B", "2", "0", "VALUE:4" ], [ "3B", "3", "0", "VALUE:4" ], [ "3B", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:4" ], [ "3", "2", "0", "VALUE:4" ], [ "3", "3", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:3" ], [ "4A", "1", "0", "VALUE:4" ], [ "4A", "2", "0", "VALUE:4" ], [ "4A", "3", "0", "VALUE:4" ], [ "4A", "X", "0", "VALUE:99" ], [ "4B", "0", "0", "VALUE:4" ], [ "4B", "1", "0", "VALUE:4" ], [ "4B", "2", "0", "VALUE:4" ], [ "4B", "3", "0", "VALUE:4" ], [ "4B", "X", "0", "VALUE:4" ], [ "4", "0", "0", "VALUE:99" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:4" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "3", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "A", "0", "1", "VALUE:4" ], [ "A", "1", "1", "VALUE:4" ], [ "A", "2", "1", "VALUE:4" ], [ "A", "3", "1", "VALUE:4" ], [ "A", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "2", "1", "VALUE:4" ], [ "IS", "3", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "2", "1", "VALUE:4" ], [ "2A", "3", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "2", "1", "VALUE:4" ], [ "2B", "3", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "2", "1", "VALUE:4" ], [ "3A", "3", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "2", "1", "VALUE:4" ], [ "3B", "3", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4A", "0", "1", "VALUE:4" ], [ "4A", "1", "1", "VALUE:4" ], [ "4A", "2", "1", "VALUE:4" ], [ "4A", "3", "1", "VALUE:4" ], [ "4A", "X", "1", "VALUE:4" ], [ "4B", "0", "1", "VALUE:4" ], [ "4B", "1", "1", "VALUE:4" ], [ "4B", "2", "1", "VALUE:4" ], [ "4B", "3", "1", "VALUE:4" ], [ "4B", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uav.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uav.json deleted file mode 100644 index 80937f916..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uav.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uav", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:02.418Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3A" ], [ "0", "2", "0", "VALUE:3B" ], [ "0", "3", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "A", "0", "0", "VALUE:0" ], [ "A", "1", "0", "VALUE:3A" ], [ "A", "2", "0", "VALUE:3B" ], [ "A", "3", "0", "VALUE:4" ], [ "A", "X", "0", "VALUE:0" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3A" ], [ "IS", "2", "0", "VALUE:3B" ], [ "IS", "3", "0", "VALUE:4" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:3A" ], [ "1A", "2", "0", "VALUE:3B" ], [ "1A", "3", "0", "VALUE:4" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:2" ], [ "1B", "1", "0", "VALUE:3A" ], [ "1B", "2", "0", "VALUE:3B" ], [ "1B", "3", "0", "VALUE:4" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3A" ], [ "1", "2", "0", "VALUE:3B" ], [ "1", "3", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3A" ], [ "2", "2", "0", "VALUE:3B" ], [ "2", "3", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2" ], [ "3", "1", "0", "VALUE:3A" ], [ "3", "2", "0", "VALUE:3B" ], [ "3", "3", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:99" ], [ "X", "3", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "A", "0", "1", "VALUE:4" ], [ "A", "1", "1", "VALUE:4" ], [ "A", "2", "1", "VALUE:4" ], [ "A", "3", "1", "VALUE:4" ], [ "A", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "2", "1", "VALUE:4" ], [ "IS", "3", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "VALUE:4" ], [ "1A", "3", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "VALUE:4" ], [ "1B", "3", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaw.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaw.json deleted file mode 100644 index 597f5282d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaw.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uaw", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:02.996Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:3" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1", "0", "VALUE:3" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2" ], [ "2A", "1", "0", "VALUE:3" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2" ], [ "2B", "1", "0", "VALUE:3" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3" ], [ "3A", "1", "0", "VALUE:3" ], [ "3A", "X", "0", "VALUE:3" ], [ "3B", "0", "0", "VALUE:3" ], [ "3B", "1", "0", "VALUE:3" ], [ "3B", "X", "0", "VALUE:3" ], [ "3C", "0", "0", "VALUE:3" ], [ "3C", "1", "0", "VALUE:3" ], [ "3C", "X", "0", "VALUE:3" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "X", "0", "VALUE:3" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3C", "0", "1", "VALUE:4" ], [ "3C", "1", "1", "VALUE:4" ], [ "3C", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uax.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uax.json deleted file mode 100644 index 91a7cf107..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uax.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uax", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:00.934Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "SSF1", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "000", "VALUE:99" ], [ "0", "0", "010", "VALUE:99" ], [ "0", "0", "050", "VALUE:99" ], [ "0", "0", "110", "VALUE:99" ], [ "0", "0", "150", "VALUE:99" ], [ "0", "0", "200", "VALUE:99" ], [ "0", "0", "988", "VALUE:99" ], [ "0", "0", "999", "VALUE:99" ], [ "1", "0", "000", "VALUE:1A" ], [ "1", "0", "010", "VALUE:1A" ], [ "1", "0", "050", "VALUE:1A" ], [ "1", "0", "110", "VALUE:1B" ], [ "1", "0", "150", "VALUE:1B" ], [ "1", "0", "200", "VALUE:1A" ], [ "1", "0", "988", "VALUE:1" ], [ "1", "0", "999", "VALUE:1" ], [ "2", "0", "000", "VALUE:2A" ], [ "2", "0", "010", "VALUE:2A" ], [ "2", "0", "050", "VALUE:2A" ], [ "2", "0", "110", "VALUE:2B" ], [ "2", "0", "150", "VALUE:2B" ], [ "2", "0", "200", "VALUE:2A" ], [ "2", "0", "988", "VALUE:2" ], [ "2", "0", "999", "VALUE:2" ], [ "X", "0", "000", "VALUE:99" ], [ "X", "0", "010", "VALUE:99" ], [ "X", "0", "050", "VALUE:99" ], [ "X", "0", "110", "VALUE:99" ], [ "X", "0", "150", "VALUE:99" ], [ "X", "0", "200", "VALUE:99" ], [ "X", "0", "988", "VALUE:99" ], [ "X", "0", "999", "VALUE:99" ], [ "0", "1A", "000", "VALUE:3A" ], [ "0", "1A", "010", "VALUE:3A" ], [ "0", "1A", "050", "VALUE:3A" ], [ "0", "1A", "110", "VALUE:3B" ], [ "0", "1A", "150", "VALUE:3B" ], [ "0", "1A", "200", "VALUE:3A" ], [ "0", "1A", "988", "VALUE:3" ], [ "0", "1A", "999", "VALUE:3" ], [ "1", "1A", "000", "VALUE:3A" ], [ "1", "1A", "010", "VALUE:3A" ], [ "1", "1A", "050", "VALUE:3A" ], [ "1", "1A", "110", "VALUE:3B" ], [ "1", "1A", "150", "VALUE:3B" ], [ "1", "1A", "200", "VALUE:3A" ], [ "1", "1A", "988", "VALUE:3" ], [ "1", "1A", "999", "VALUE:3" ], [ "2", "1A", "000", "VALUE:3A" ], [ "2", "1A", "010", "VALUE:3A" ], [ "2", "1A", "050", "VALUE:3A" ], [ "2", "1A", "110", "VALUE:3B" ], [ "2", "1A", "150", "VALUE:3B" ], [ "2", "1A", "200", "VALUE:3A" ], [ "2", "1A", "988", "VALUE:3" ], [ "2", "1A", "999", "VALUE:3" ], [ "X", "1A", "000", "VALUE:3A" ], [ "X", "1A", "010", "VALUE:3A" ], [ "X", "1A", "050", "VALUE:3A" ], [ "X", "1A", "110", "VALUE:3B" ], [ "X", "1A", "150", "VALUE:3B" ], [ "X", "1A", "200", "VALUE:3A" ], [ "X", "1A", "988", "VALUE:3" ], [ "X", "1A", "999", "VALUE:3" ], [ "0", "1B", "000", "VALUE:4A" ], [ "0", "1B", "010", "VALUE:4A" ], [ "0", "1B", "050", "VALUE:4A" ], [ "0", "1B", "110", "VALUE:4B" ], [ "0", "1B", "150", "VALUE:4B" ], [ "0", "1B", "200", "VALUE:4A" ], [ "0", "1B", "988", "VALUE:4" ], [ "0", "1B", "999", "VALUE:4" ], [ "1", "1B", "000", "VALUE:4A" ], [ "1", "1B", "010", "VALUE:4A" ], [ "1", "1B", "050", "VALUE:4A" ], [ "1", "1B", "110", "VALUE:4B" ], [ "1", "1B", "150", "VALUE:4B" ], [ "1", "1B", "200", "VALUE:4A" ], [ "1", "1B", "988", "VALUE:4" ], [ "1", "1B", "999", "VALUE:4" ], [ "2", "1B", "000", "VALUE:4A" ], [ "2", "1B", "010", "VALUE:4A" ], [ "2", "1B", "050", "VALUE:4A" ], [ "2", "1B", "110", "VALUE:4B" ], [ "2", "1B", "150", "VALUE:4B" ], [ "2", "1B", "200", "VALUE:4A" ], [ "2", "1B", "988", "VALUE:4" ], [ "2", "1B", "999", "VALUE:4" ], [ "X", "1B", "000", "VALUE:4A" ], [ "X", "1B", "010", "VALUE:4A" ], [ "X", "1B", "050", "VALUE:4A" ], [ "X", "1B", "110", "VALUE:4B" ], [ "X", "1B", "150", "VALUE:4B" ], [ "X", "1B", "200", "VALUE:4A" ], [ "X", "1B", "988", "VALUE:4" ], [ "X", "1B", "999", "VALUE:4" ], [ "0", "1", "000", "VALUE:99" ], [ "0", "1", "010", "VALUE:99" ], [ "0", "1", "050", "VALUE:99" ], [ "0", "1", "110", "VALUE:99" ], [ "0", "1", "150", "VALUE:99" ], [ "0", "1", "200", "VALUE:99" ], [ "0", "1", "988", "VALUE:99" ], [ "0", "1", "999", "VALUE:99" ], [ "1", "1", "000", "VALUE:99" ], [ "1", "1", "010", "VALUE:99" ], [ "1", "1", "050", "VALUE:99" ], [ "1", "1", "110", "VALUE:99" ], [ "1", "1", "150", "VALUE:99" ], [ "1", "1", "200", "VALUE:99" ], [ "1", "1", "988", "VALUE:99" ], [ "1", "1", "999", "VALUE:99" ], [ "2", "1", "000", "VALUE:99" ], [ "2", "1", "010", "VALUE:99" ], [ "2", "1", "050", "VALUE:99" ], [ "2", "1", "110", "VALUE:99" ], [ "2", "1", "150", "VALUE:99" ], [ "2", "1", "200", "VALUE:99" ], [ "2", "1", "988", "VALUE:99" ], [ "2", "1", "999", "VALUE:99" ], [ "X", "1", "000", "VALUE:99" ], [ "X", "1", "010", "VALUE:99" ], [ "X", "1", "050", "VALUE:99" ], [ "X", "1", "110", "VALUE:99" ], [ "X", "1", "150", "VALUE:99" ], [ "X", "1", "200", "VALUE:99" ], [ "X", "1", "988", "VALUE:99" ], [ "X", "1", "999", "VALUE:99" ], [ "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uay.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uay.json deleted file mode 100644 index 6990d854b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uay.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uay", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:03.383Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3" ], [ "0", "2", "0", "VALUE:4" ], [ "0", "3", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3" ], [ "IS", "2", "0", "VALUE:4" ], [ "IS", "3", "0", "VALUE:4" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "2", "0", "VALUE:4" ], [ "1", "3", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "2", "0", "VALUE:4" ], [ "2", "3", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "3", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "2", "1", "VALUE:4" ], [ "IS", "3", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaz.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaz.json deleted file mode 100644 index d56e2be82..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uaz.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uaz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:00.949Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3" ], [ "0", "2", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "A", "0", "0", "VALUE:0A" ], [ "A", "1", "0", "VALUE:3" ], [ "A", "2", "0", "VALUE:4" ], [ "A", "X", "0", "VALUE:0A" ], [ "IS", "0", "0", "VALUE:0IS" ], [ "IS", "1", "0", "VALUE:3" ], [ "IS", "2", "0", "VALUE:4" ], [ "IS", "X", "0", "VALUE:0IS" ], [ "ISPU", "0", "0", "VALUE:0IS" ], [ "ISPU", "1", "0", "VALUE:3" ], [ "ISPU", "2", "0", "VALUE:4" ], [ "ISPU", "X", "0", "VALUE:0IS" ], [ "ISPD", "0", "0", "VALUE:0IS" ], [ "ISPD", "1", "0", "VALUE:3" ], [ "ISPD", "2", "0", "VALUE:4" ], [ "ISPD", "X", "0", "VALUE:0IS" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "2", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "2", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "2", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "A", "0", "1", "VALUE:4" ], [ "A", "1", "1", "VALUE:4" ], [ "A", "2", "1", "VALUE:4" ], [ "A", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "2", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "ISPU", "0", "1", "VALUE:4" ], [ "ISPU", "1", "1", "VALUE:4" ], [ "ISPU", "2", "1", "VALUE:4" ], [ "ISPU", "X", "1", "VALUE:4" ], [ "ISPD", "0", "1", "VALUE:4" ], [ "ISPD", "1", "1", "VALUE:4" ], [ "ISPD", "2", "1", "VALUE:4" ], [ "ISPD", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uba.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uba.json deleted file mode 100644 index e8a7e56c0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uba.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uba", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:02.600Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3" ], [ "0", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubb.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubb.json deleted file mode 100644 index e230155ce..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubb.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:00.193Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3C" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3C" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3C" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3C" ], [ "1B", "X", "0", "VALUE:99" ], [ "1C", "0", "0", "VALUE:1C" ], [ "1C", "1", "0", "VALUE:3C" ], [ "1C", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3C" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2A" ], [ "2A", "1", "0", "VALUE:3C" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2B" ], [ "2B", "1", "0", "VALUE:3C" ], [ "2B", "X", "0", "VALUE:99" ], [ "2C", "0", "0", "VALUE:2C" ], [ "2C", "1", "0", "VALUE:3C" ], [ "2C", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3C" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:3C" ], [ "3A", "X", "0", "VALUE:3" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:3C" ], [ "3B", "X", "0", "VALUE:3" ], [ "3C", "0", "0", "VALUE:3C" ], [ "3C", "1", "0", "VALUE:3C" ], [ "3C", "X", "0", "VALUE:3C" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3C" ], [ "3", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3C" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1C", "0", "1", "VALUE:4" ], [ "1C", "1", "1", "VALUE:4" ], [ "1C", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2C", "0", "1", "VALUE:4" ], [ "2C", "1", "1", "VALUE:4" ], [ "2C", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3C", "0", "1", "VALUE:4" ], [ "3C", "1", "1", "VALUE:4" ], [ "3C", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubc.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubc.json deleted file mode 100644 index f5661c144..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubc.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:00.994Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "X", "0", "VALUE:3" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:4A" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "IS", "0", "1", "VALUE:4B" ], [ "IS", "1", "1", "VALUE:4B" ], [ "IS", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubd.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubd.json deleted file mode 100644 index ee1acb7ab..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubd.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:28:58.461Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1A", "0", "VALUE:3A" ], [ "0", "1B", "0", "VALUE:3A" ], [ "0", "1", "0", "VALUE:3A" ], [ "0", "2A", "0", "VALUE:3B" ], [ "0", "2B", "0", "VALUE:3B" ], [ "0", "2C", "0", "VALUE:3C" ], [ "0", "2", "0", "VALUE:3" ], [ "0", "3", "0", "VALUE:4A" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1A", "0", "VALUE:3A" ], [ "IS", "1B", "0", "VALUE:3A" ], [ "IS", "1", "0", "VALUE:3A" ], [ "IS", "2A", "0", "VALUE:3B" ], [ "IS", "2B", "0", "VALUE:3B" ], [ "IS", "2C", "0", "VALUE:3C" ], [ "IS", "2", "0", "VALUE:3" ], [ "IS", "3", "0", "VALUE:4A" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1A", "0", "VALUE:3A" ], [ "1A", "1B", "0", "VALUE:3A" ], [ "1A", "1", "0", "VALUE:3A" ], [ "1A", "2A", "0", "VALUE:3B" ], [ "1A", "2B", "0", "VALUE:3B" ], [ "1A", "2C", "0", "VALUE:3C" ], [ "1A", "2", "0", "VALUE:3" ], [ "1A", "3", "0", "VALUE:4A" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1A", "0", "VALUE:3A" ], [ "1B", "1B", "0", "VALUE:3A" ], [ "1B", "1", "0", "VALUE:3A" ], [ "1B", "2A", "0", "VALUE:3B" ], [ "1B", "2B", "0", "VALUE:3B" ], [ "1B", "2C", "0", "VALUE:3C" ], [ "1B", "2", "0", "VALUE:3" ], [ "1B", "3", "0", "VALUE:4A" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1A", "0", "VALUE:3A" ], [ "1", "1B", "0", "VALUE:3A" ], [ "1", "1", "0", "VALUE:3A" ], [ "1", "2A", "0", "VALUE:3B" ], [ "1", "2B", "0", "VALUE:3B" ], [ "1", "2C", "0", "VALUE:3C" ], [ "1", "2", "0", "VALUE:3" ], [ "1", "3", "0", "VALUE:4A" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1A", "0", "VALUE:3A" ], [ "2", "1B", "0", "VALUE:3A" ], [ "2", "1", "0", "VALUE:3A" ], [ "2", "2A", "0", "VALUE:3B" ], [ "2", "2B", "0", "VALUE:3B" ], [ "2", "2C", "0", "VALUE:3C" ], [ "2", "2", "0", "VALUE:3" ], [ "2", "3", "0", "VALUE:4A" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:4A" ], [ "3", "1A", "0", "VALUE:4A" ], [ "3", "1B", "0", "VALUE:4A" ], [ "3", "1", "0", "VALUE:4A" ], [ "3", "2A", "0", "VALUE:4A" ], [ "3", "2B", "0", "VALUE:4A" ], [ "3", "2C", "0", "VALUE:4A" ], [ "3", "2", "0", "VALUE:4A" ], [ "3", "3", "0", "VALUE:4A" ], [ "3", "X", "0", "VALUE:4A" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1A", "0", "VALUE:99" ], [ "X", "1B", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2A", "0", "VALUE:99" ], [ "X", "2B", "0", "VALUE:99" ], [ "X", "2C", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:99" ], [ "X", "3", "0", "VALUE:4A" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1A", "1", "VALUE:4B" ], [ "0", "1B", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "2A", "1", "VALUE:4B" ], [ "0", "2B", "1", "VALUE:4B" ], [ "0", "2C", "1", "VALUE:4B" ], [ "0", "2", "1", "VALUE:4B" ], [ "0", "3", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "IS", "0", "1", "VALUE:4B" ], [ "IS", "1A", "1", "VALUE:4B" ], [ "IS", "1B", "1", "VALUE:4B" ], [ "IS", "1", "1", "VALUE:4B" ], [ "IS", "2A", "1", "VALUE:4B" ], [ "IS", "2B", "1", "VALUE:4B" ], [ "IS", "2C", "1", "VALUE:4B" ], [ "IS", "2", "1", "VALUE:4B" ], [ "IS", "3", "1", "VALUE:4B" ], [ "IS", "X", "1", "VALUE:4B" ], [ "1A", "0", "1", "VALUE:4B" ], [ "1A", "1A", "1", "VALUE:4B" ], [ "1A", "1B", "1", "VALUE:4B" ], [ "1A", "1", "1", "VALUE:4B" ], [ "1A", "2A", "1", "VALUE:4B" ], [ "1A", "2B", "1", "VALUE:4B" ], [ "1A", "2C", "1", "VALUE:4B" ], [ "1A", "2", "1", "VALUE:4B" ], [ "1A", "3", "1", "VALUE:4B" ], [ "1A", "X", "1", "VALUE:4B" ], [ "1B", "0", "1", "VALUE:4B" ], [ "1B", "1A", "1", "VALUE:4B" ], [ "1B", "1B", "1", "VALUE:4B" ], [ "1B", "1", "1", "VALUE:4B" ], [ "1B", "2A", "1", "VALUE:4B" ], [ "1B", "2B", "1", "VALUE:4B" ], [ "1B", "2C", "1", "VALUE:4B" ], [ "1B", "2", "1", "VALUE:4B" ], [ "1B", "3", "1", "VALUE:4B" ], [ "1B", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1A", "1", "VALUE:4B" ], [ "1", "1B", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "2A", "1", "VALUE:4B" ], [ "1", "2B", "1", "VALUE:4B" ], [ "1", "2C", "1", "VALUE:4B" ], [ "1", "2", "1", "VALUE:4B" ], [ "1", "3", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1A", "1", "VALUE:4B" ], [ "2", "1B", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "2A", "1", "VALUE:4B" ], [ "2", "2B", "1", "VALUE:4B" ], [ "2", "2C", "1", "VALUE:4B" ], [ "2", "2", "1", "VALUE:4B" ], [ "2", "3", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1A", "1", "VALUE:4B" ], [ "3", "1B", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "2A", "1", "VALUE:4B" ], [ "3", "2B", "1", "VALUE:4B" ], [ "3", "2C", "1", "VALUE:4B" ], [ "3", "2", "1", "VALUE:4B" ], [ "3", "3", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1A", "1", "VALUE:4B" ], [ "X", "1B", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "2A", "1", "VALUE:4B" ], [ "X", "2B", "1", "VALUE:4B" ], [ "X", "2C", "1", "VALUE:4B" ], [ "X", "2", "1", "VALUE:4B" ], [ "X", "3", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubf.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubf.json deleted file mode 100644 index ac3e8aca2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubf.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:02.975Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3C" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3C" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3C" ], [ "1B", "X", "0", "VALUE:99" ], [ "1C", "0", "0", "VALUE:1C" ], [ "1C", "1", "0", "VALUE:3C" ], [ "1C", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3C" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2A" ], [ "2A", "1", "0", "VALUE:3C" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2B" ], [ "2B", "1", "0", "VALUE:3C" ], [ "2B", "X", "0", "VALUE:99" ], [ "2C", "0", "0", "VALUE:2C" ], [ "2C", "1", "0", "VALUE:3C" ], [ "2C", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3C" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:3C" ], [ "3A", "X", "0", "VALUE:3" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:3C" ], [ "3B", "X", "0", "VALUE:3" ], [ "3C", "0", "0", "VALUE:3C" ], [ "3C", "1", "0", "VALUE:3C" ], [ "3C", "X", "0", "VALUE:3C" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3C" ], [ "3", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3C" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1C", "0", "1", "VALUE:4" ], [ "1C", "1", "1", "VALUE:4" ], [ "1C", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2C", "0", "1", "VALUE:4" ], [ "2C", "1", "1", "VALUE:4" ], [ "2C", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3C", "0", "1", "VALUE:4" ], [ "3C", "1", "1", "VALUE:4" ], [ "3C", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubg.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubg.json deleted file mode 100644 index 61c1cfd28..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubg.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:03.319Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3" ], [ "0", "2", "0", "VALUE:4" ], [ "0", "3", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3" ], [ "IS", "2", "0", "VALUE:4" ], [ "IS", "3", "0", "VALUE:4" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "2", "0", "VALUE:4" ], [ "1", "3", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "2", "0", "VALUE:4" ], [ "2", "3", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "2", "0", "VALUE:4" ], [ "3", "3", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "3", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "2", "1", "VALUE:4" ], [ "IS", "3", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubh.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubh.json deleted file mode 100644 index 3e0d1ed18..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubh.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubh", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:02.568Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3B" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A1", "0", "0", "VALUE:1A1" ], [ "1A1", "1", "0", "VALUE:3B" ], [ "1A1", "X", "0", "VALUE:99" ], [ "1A2", "0", "0", "VALUE:1A2" ], [ "1A2", "1", "0", "VALUE:3B" ], [ "1A2", "X", "0", "VALUE:99" ], [ "1B1", "0", "0", "VALUE:1B1" ], [ "1B1", "1", "0", "VALUE:3B" ], [ "1B1", "X", "0", "VALUE:99" ], [ "1B2", "0", "0", "VALUE:1B2" ], [ "1B2", "1", "0", "VALUE:3B" ], [ "1B2", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2A1", "0", "0", "VALUE:2A1" ], [ "2A1", "1", "0", "VALUE:3B" ], [ "2A1", "X", "0", "VALUE:99" ], [ "2A2", "0", "0", "VALUE:2A2" ], [ "2A2", "1", "0", "VALUE:3B" ], [ "2A2", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2A" ], [ "2A", "1", "0", "VALUE:3B" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2B" ], [ "2B", "1", "0", "VALUE:3B" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:3B" ], [ "3A", "X", "0", "VALUE:3" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:3B" ], [ "3B", "X", "0", "VALUE:3B" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:3" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:4A" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3B" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3B" ], [ "1B", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "IS", "0", "1", "VALUE:4B" ], [ "IS", "1", "1", "VALUE:4B" ], [ "IS", "X", "1", "VALUE:4B" ], [ "1A1", "0", "1", "VALUE:4B" ], [ "1A1", "1", "1", "VALUE:4B" ], [ "1A1", "X", "1", "VALUE:4B" ], [ "1A2", "0", "1", "VALUE:4B" ], [ "1A2", "1", "1", "VALUE:4B" ], [ "1A2", "X", "1", "VALUE:4B" ], [ "1B1", "0", "1", "VALUE:4B" ], [ "1B1", "1", "1", "VALUE:4B" ], [ "1B1", "X", "1", "VALUE:4B" ], [ "1B2", "0", "1", "VALUE:4B" ], [ "1B2", "1", "1", "VALUE:4B" ], [ "1B2", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2A1", "0", "1", "VALUE:4B" ], [ "2A1", "1", "1", "VALUE:4B" ], [ "2A1", "X", "1", "VALUE:4B" ], [ "2A2", "0", "1", "VALUE:4B" ], [ "2A2", "1", "1", "VALUE:4B" ], [ "2A2", "X", "1", "VALUE:4B" ], [ "2A", "0", "1", "VALUE:4B" ], [ "2A", "1", "1", "VALUE:4B" ], [ "2A", "X", "1", "VALUE:4B" ], [ "2B", "0", "1", "VALUE:4B" ], [ "2B", "1", "1", "VALUE:4B" ], [ "2B", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3A", "0", "1", "VALUE:4B" ], [ "3A", "1", "1", "VALUE:4B" ], [ "3A", "X", "1", "VALUE:4B" ], [ "3B", "0", "1", "VALUE:4B" ], [ "3B", "1", "1", "VALUE:4B" ], [ "3B", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "1A", "0", "1", "VALUE:4B" ], [ "1A", "1", "1", "VALUE:4B" ], [ "1A", "X", "1", "VALUE:4B" ], [ "1B", "0", "1", "VALUE:4B" ], [ "1B", "1", "1", "VALUE:4B" ], [ "1B", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubi.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubi.json deleted file mode 100644 index 7b8546fc7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubi.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubi", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:02.543Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:4A" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:4A" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:4A" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2" ], [ "2A", "1", "0", "VALUE:4A" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2" ], [ "2B", "1", "0", "VALUE:4A" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:4A" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:4A" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:4A" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:4A" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "IS", "0", "1", "VALUE:4B" ], [ "IS", "1", "1", "VALUE:4B" ], [ "IS", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2A", "0", "1", "VALUE:4B" ], [ "2A", "1", "1", "VALUE:4B" ], [ "2A", "X", "1", "VALUE:4B" ], [ "2B", "0", "1", "VALUE:4B" ], [ "2B", "1", "1", "VALUE:4B" ], [ "2B", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubj.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubj.json deleted file mode 100644 index bcf8771e1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubj.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:03.301Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade_based_on_ssf1", - "name" : "Grade based on SSF1", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "1", "VALUE:99" ], [ "0", "0", "0", "2", "VALUE:99" ], [ "0", "0", "0", "3", "VALUE:99" ], [ "0", "0", "0", "9", "VALUE:99" ], [ "0", "1", "0", "1", "VALUE:3" ], [ "0", "1", "0", "2", "VALUE:3" ], [ "0", "1", "0", "3", "VALUE:3" ], [ "0", "1", "0", "9", "VALUE:3" ], [ "0", "X", "0", "1", "VALUE:99" ], [ "0", "X", "0", "2", "VALUE:99" ], [ "0", "X", "0", "3", "VALUE:99" ], [ "0", "X", "0", "9", "VALUE:99" ], [ "1A", "0", "0", "1", "VALUE:1A" ], [ "1A", "0", "0", "2", "VALUE:2A" ], [ "1A", "0", "0", "3", "VALUE:2A" ], [ "1A", "0", "0", "9", "VALUE:1A" ], [ "1A", "1", "0", "1", "VALUE:3" ], [ "1A", "1", "0", "2", "VALUE:3" ], [ "1A", "1", "0", "3", "VALUE:3" ], [ "1A", "1", "0", "9", "VALUE:3" ], [ "1A", "X", "0", "1", "VALUE:99" ], [ "1A", "X", "0", "2", "VALUE:99" ], [ "1A", "X", "0", "3", "VALUE:99" ], [ "1A", "X", "0", "9", "VALUE:99" ], [ "1B", "0", "0", "1", "VALUE:1A" ], [ "1B", "0", "0", "2", "VALUE:2A" ], [ "1B", "0", "0", "3", "VALUE:2A" ], [ "1B", "0", "0", "9", "VALUE:1A" ], [ "1B", "1", "0", "1", "VALUE:3" ], [ "1B", "1", "0", "2", "VALUE:3" ], [ "1B", "1", "0", "3", "VALUE:3" ], [ "1B", "1", "0", "9", "VALUE:3" ], [ "1B", "X", "0", "1", "VALUE:99" ], [ "1B", "X", "0", "2", "VALUE:99" ], [ "1B", "X", "0", "3", "VALUE:99" ], [ "1B", "X", "0", "9", "VALUE:99" ], [ "1", "0", "0", "1", "VALUE:1A" ], [ "1", "0", "0", "2", "VALUE:2A" ], [ "1", "0", "0", "3", "VALUE:2A" ], [ "1", "0", "0", "9", "VALUE:1A" ], [ "1", "1", "0", "1", "VALUE:3" ], [ "1", "1", "0", "2", "VALUE:3" ], [ "1", "1", "0", "3", "VALUE:3" ], [ "1", "1", "0", "9", "VALUE:3" ], [ "1", "X", "0", "1", "VALUE:99" ], [ "1", "X", "0", "2", "VALUE:99" ], [ "1", "X", "0", "3", "VALUE:99" ], [ "1", "X", "0", "9", "VALUE:99" ], [ "2A", "0", "0", "1", "VALUE:1B" ], [ "2A", "0", "0", "2", "VALUE:2B" ], [ "2A", "0", "0", "3", "VALUE:3" ], [ "2A", "0", "0", "9", "VALUE:1B" ], [ "2A", "1", "0", "1", "VALUE:3" ], [ "2A", "1", "0", "2", "VALUE:3" ], [ "2A", "1", "0", "3", "VALUE:3" ], [ "2A", "1", "0", "9", "VALUE:3" ], [ "2A", "X", "0", "1", "VALUE:99" ], [ "2A", "X", "0", "2", "VALUE:99" ], [ "2A", "X", "0", "3", "VALUE:99" ], [ "2A", "X", "0", "9", "VALUE:99" ], [ "2B", "0", "0", "1", "VALUE:1B" ], [ "2B", "0", "0", "2", "VALUE:2B" ], [ "2B", "0", "0", "3", "VALUE:3" ], [ "2B", "0", "0", "9", "VALUE:1B" ], [ "2B", "1", "0", "1", "VALUE:3" ], [ "2B", "1", "0", "2", "VALUE:3" ], [ "2B", "1", "0", "3", "VALUE:3" ], [ "2B", "1", "0", "9", "VALUE:3" ], [ "2B", "X", "0", "1", "VALUE:99" ], [ "2B", "X", "0", "2", "VALUE:99" ], [ "2B", "X", "0", "3", "VALUE:99" ], [ "2B", "X", "0", "9", "VALUE:99" ], [ "2", "0", "0", "1", "VALUE:1B" ], [ "2", "0", "0", "2", "VALUE:2B" ], [ "2", "0", "0", "3", "VALUE:3" ], [ "2", "0", "0", "9", "VALUE:1B" ], [ "2", "1", "0", "1", "VALUE:3" ], [ "2", "1", "0", "2", "VALUE:3" ], [ "2", "1", "0", "3", "VALUE:3" ], [ "2", "1", "0", "9", "VALUE:3" ], [ "2", "X", "0", "1", "VALUE:99" ], [ "2", "X", "0", "2", "VALUE:99" ], [ "2", "X", "0", "3", "VALUE:99" ], [ "2", "X", "0", "9", "VALUE:99" ], [ "X", "0", "0", "1", "VALUE:1" ], [ "X", "0", "0", "2", "VALUE:2" ], [ "X", "0", "0", "3", "VALUE:99" ], [ "X", "0", "0", "9", "VALUE:1" ], [ "X", "1", "0", "1", "VALUE:3" ], [ "X", "1", "0", "2", "VALUE:3" ], [ "X", "1", "0", "3", "VALUE:3" ], [ "X", "1", "0", "9", "VALUE:3" ], [ "X", "X", "0", "1", "VALUE:99" ], [ "X", "X", "0", "2", "VALUE:99" ], [ "X", "X", "0", "3", "VALUE:99" ], [ "X", "X", "0", "9", "VALUE:99" ], [ "0", "0", "1", "1", "VALUE:4" ], [ "0", "0", "1", "2", "VALUE:4" ], [ "0", "0", "1", "3", "VALUE:4" ], [ "0", "0", "1", "9", "VALUE:4" ], [ "0", "1", "1", "1", "VALUE:4" ], [ "0", "1", "1", "2", "VALUE:4" ], [ "0", "1", "1", "3", "VALUE:4" ], [ "0", "1", "1", "9", "VALUE:4" ], [ "0", "X", "1", "1", "VALUE:4" ], [ "0", "X", "1", "2", "VALUE:4" ], [ "0", "X", "1", "3", "VALUE:4" ], [ "0", "X", "1", "9", "VALUE:4" ], [ "1A", "0", "1", "1", "VALUE:4" ], [ "1A", "0", "1", "2", "VALUE:4" ], [ "1A", "0", "1", "3", "VALUE:4" ], [ "1A", "0", "1", "9", "VALUE:4" ], [ "1A", "1", "1", "1", "VALUE:4" ], [ "1A", "1", "1", "2", "VALUE:4" ], [ "1A", "1", "1", "3", "VALUE:4" ], [ "1A", "1", "1", "9", "VALUE:4" ], [ "1A", "X", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "2", "VALUE:4" ], [ "1A", "X", "1", "3", "VALUE:4" ], [ "1A", "X", "1", "9", "VALUE:4" ], [ "1B", "0", "1", "1", "VALUE:4" ], [ "1B", "0", "1", "2", "VALUE:4" ], [ "1B", "0", "1", "3", "VALUE:4" ], [ "1B", "0", "1", "9", "VALUE:4" ], [ "1B", "1", "1", "1", "VALUE:4" ], [ "1B", "1", "1", "2", "VALUE:4" ], [ "1B", "1", "1", "3", "VALUE:4" ], [ "1B", "1", "1", "9", "VALUE:4" ], [ "1B", "X", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "2", "VALUE:4" ], [ "1B", "X", "1", "3", "VALUE:4" ], [ "1B", "X", "1", "9", "VALUE:4" ], [ "1", "0", "1", "1", "VALUE:4" ], [ "1", "0", "1", "2", "VALUE:4" ], [ "1", "0", "1", "3", "VALUE:4" ], [ "1", "0", "1", "9", "VALUE:4" ], [ "1", "1", "1", "1", "VALUE:4" ], [ "1", "1", "1", "2", "VALUE:4" ], [ "1", "1", "1", "3", "VALUE:4" ], [ "1", "1", "1", "9", "VALUE:4" ], [ "1", "X", "1", "1", "VALUE:4" ], [ "1", "X", "1", "2", "VALUE:4" ], [ "1", "X", "1", "3", "VALUE:4" ], [ "1", "X", "1", "9", "VALUE:4" ], [ "2A", "0", "1", "1", "VALUE:4" ], [ "2A", "0", "1", "2", "VALUE:4" ], [ "2A", "0", "1", "3", "VALUE:4" ], [ "2A", "0", "1", "9", "VALUE:4" ], [ "2A", "1", "1", "1", "VALUE:4" ], [ "2A", "1", "1", "2", "VALUE:4" ], [ "2A", "1", "1", "3", "VALUE:4" ], [ "2A", "1", "1", "9", "VALUE:4" ], [ "2A", "X", "1", "1", "VALUE:4" ], [ "2A", "X", "1", "2", "VALUE:4" ], [ "2A", "X", "1", "3", "VALUE:4" ], [ "2A", "X", "1", "9", "VALUE:4" ], [ "2B", "0", "1", "1", "VALUE:4" ], [ "2B", "0", "1", "2", "VALUE:4" ], [ "2B", "0", "1", "3", "VALUE:4" ], [ "2B", "0", "1", "9", "VALUE:4" ], [ "2B", "1", "1", "1", "VALUE:4" ], [ "2B", "1", "1", "2", "VALUE:4" ], [ "2B", "1", "1", "3", "VALUE:4" ], [ "2B", "1", "1", "9", "VALUE:4" ], [ "2B", "X", "1", "1", "VALUE:4" ], [ "2B", "X", "1", "2", "VALUE:4" ], [ "2B", "X", "1", "3", "VALUE:4" ], [ "2B", "X", "1", "9", "VALUE:4" ], [ "2", "0", "1", "1", "VALUE:4" ], [ "2", "0", "1", "2", "VALUE:4" ], [ "2", "0", "1", "3", "VALUE:4" ], [ "2", "0", "1", "9", "VALUE:4" ], [ "2", "1", "1", "1", "VALUE:4" ], [ "2", "1", "1", "2", "VALUE:4" ], [ "2", "1", "1", "3", "VALUE:4" ], [ "2", "1", "1", "9", "VALUE:4" ], [ "2", "X", "1", "1", "VALUE:4" ], [ "2", "X", "1", "2", "VALUE:4" ], [ "2", "X", "1", "3", "VALUE:4" ], [ "2", "X", "1", "9", "VALUE:4" ], [ "X", "0", "1", "1", "VALUE:4" ], [ "X", "0", "1", "2", "VALUE:4" ], [ "X", "0", "1", "3", "VALUE:4" ], [ "X", "0", "1", "9", "VALUE:4" ], [ "X", "1", "1", "1", "VALUE:4" ], [ "X", "1", "1", "2", "VALUE:4" ], [ "X", "1", "1", "3", "VALUE:4" ], [ "X", "1", "1", "9", "VALUE:4" ], [ "X", "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "2", "VALUE:4" ], [ "X", "X", "1", "3", "VALUE:4" ], [ "X", "X", "1", "9", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubk.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubk.json deleted file mode 100644 index 4b9d08a8f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubk.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubk", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:04.690Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2A", "0", "VALUE:4A" ], [ "0", "2B", "0", "VALUE:4A" ], [ "0", "2C", "0", "VALUE:4A" ], [ "0", "2", "0", "VALUE:4A" ], [ "0", "3", "0", "VALUE:4B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3" ], [ "IS", "2A", "0", "VALUE:4A" ], [ "IS", "2B", "0", "VALUE:4A" ], [ "IS", "2C", "0", "VALUE:4A" ], [ "IS", "2", "0", "VALUE:4A" ], [ "IS", "3", "0", "VALUE:4B" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:3" ], [ "1A", "2A", "0", "VALUE:4A" ], [ "1A", "2B", "0", "VALUE:4A" ], [ "1A", "2C", "0", "VALUE:4A" ], [ "1A", "2", "0", "VALUE:4A" ], [ "1A", "3", "0", "VALUE:4B" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1", "0", "VALUE:3" ], [ "1B", "2A", "0", "VALUE:4A" ], [ "1B", "2B", "0", "VALUE:4A" ], [ "1B", "2C", "0", "VALUE:4A" ], [ "1B", "2", "0", "VALUE:4A" ], [ "1B", "3", "0", "VALUE:4B" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "2A", "0", "VALUE:4A" ], [ "1", "2B", "0", "VALUE:4A" ], [ "1", "2C", "0", "VALUE:4A" ], [ "1", "2", "0", "VALUE:4A" ], [ "1", "3", "0", "VALUE:4B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "2A", "0", "VALUE:4A" ], [ "2", "2B", "0", "VALUE:4A" ], [ "2", "2C", "0", "VALUE:4A" ], [ "2", "2", "0", "VALUE:4A" ], [ "2", "3", "0", "VALUE:4B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "2A", "0", "VALUE:4A" ], [ "3", "2B", "0", "VALUE:4A" ], [ "3", "2C", "0", "VALUE:4A" ], [ "3", "2", "0", "VALUE:4A" ], [ "3", "3", "0", "VALUE:4B" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:4A" ], [ "4A", "1", "0", "VALUE:4A" ], [ "4A", "2A", "0", "VALUE:4A" ], [ "4A", "2B", "0", "VALUE:4A" ], [ "4A", "2C", "0", "VALUE:4A" ], [ "4A", "2", "0", "VALUE:4A" ], [ "4A", "3", "0", "VALUE:4B" ], [ "4A", "X", "0", "VALUE:4" ], [ "4B", "0", "0", "VALUE:4B" ], [ "4B", "1", "0", "VALUE:4B" ], [ "4B", "2A", "0", "VALUE:4B" ], [ "4B", "2B", "0", "VALUE:4B" ], [ "4B", "2C", "0", "VALUE:4B" ], [ "4B", "2", "0", "VALUE:4B" ], [ "4B", "3", "0", "VALUE:4B" ], [ "4B", "X", "0", "VALUE:4B" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2A", "0", "VALUE:4" ], [ "4", "2B", "0", "VALUE:4" ], [ "4", "2C", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4B" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2A", "0", "VALUE:4" ], [ "X", "2B", "0", "VALUE:4" ], [ "X", "2C", "0", "VALUE:4" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "3", "0", "VALUE:4B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4C" ], [ "0", "1", "1", "VALUE:4C" ], [ "0", "2A", "1", "VALUE:4C" ], [ "0", "2B", "1", "VALUE:4C" ], [ "0", "2C", "1", "VALUE:4C" ], [ "0", "2", "1", "VALUE:4C" ], [ "0", "3", "1", "VALUE:4C" ], [ "0", "X", "1", "VALUE:4C" ], [ "IS", "0", "1", "VALUE:4C" ], [ "IS", "1", "1", "VALUE:4C" ], [ "IS", "2A", "1", "VALUE:4C" ], [ "IS", "2B", "1", "VALUE:4C" ], [ "IS", "2C", "1", "VALUE:4C" ], [ "IS", "2", "1", "VALUE:4C" ], [ "IS", "3", "1", "VALUE:4C" ], [ "IS", "X", "1", "VALUE:4C" ], [ "1A", "0", "1", "VALUE:4C" ], [ "1A", "1", "1", "VALUE:4C" ], [ "1A", "2A", "1", "VALUE:4C" ], [ "1A", "2B", "1", "VALUE:4C" ], [ "1A", "2C", "1", "VALUE:4C" ], [ "1A", "2", "1", "VALUE:4C" ], [ "1A", "3", "1", "VALUE:4C" ], [ "1A", "X", "1", "VALUE:4C" ], [ "1B", "0", "1", "VALUE:4C" ], [ "1B", "1", "1", "VALUE:4C" ], [ "1B", "2A", "1", "VALUE:4C" ], [ "1B", "2B", "1", "VALUE:4C" ], [ "1B", "2C", "1", "VALUE:4C" ], [ "1B", "2", "1", "VALUE:4C" ], [ "1B", "3", "1", "VALUE:4C" ], [ "1B", "X", "1", "VALUE:4C" ], [ "1", "0", "1", "VALUE:4C" ], [ "1", "1", "1", "VALUE:4C" ], [ "1", "2A", "1", "VALUE:4C" ], [ "1", "2B", "1", "VALUE:4C" ], [ "1", "2C", "1", "VALUE:4C" ], [ "1", "2", "1", "VALUE:4C" ], [ "1", "3", "1", "VALUE:4C" ], [ "1", "X", "1", "VALUE:4C" ], [ "2", "0", "1", "VALUE:4C" ], [ "2", "1", "1", "VALUE:4C" ], [ "2", "2A", "1", "VALUE:4C" ], [ "2", "2B", "1", "VALUE:4C" ], [ "2", "2C", "1", "VALUE:4C" ], [ "2", "2", "1", "VALUE:4C" ], [ "2", "3", "1", "VALUE:4C" ], [ "2", "X", "1", "VALUE:4C" ], [ "3", "0", "1", "VALUE:4C" ], [ "3", "1", "1", "VALUE:4C" ], [ "3", "2A", "1", "VALUE:4C" ], [ "3", "2B", "1", "VALUE:4C" ], [ "3", "2C", "1", "VALUE:4C" ], [ "3", "2", "1", "VALUE:4C" ], [ "3", "3", "1", "VALUE:4C" ], [ "3", "X", "1", "VALUE:4C" ], [ "4A", "0", "1", "VALUE:4C" ], [ "4A", "1", "1", "VALUE:4C" ], [ "4A", "2A", "1", "VALUE:4C" ], [ "4A", "2B", "1", "VALUE:4C" ], [ "4A", "2C", "1", "VALUE:4C" ], [ "4A", "2", "1", "VALUE:4C" ], [ "4A", "3", "1", "VALUE:4C" ], [ "4A", "X", "1", "VALUE:4C" ], [ "4B", "0", "1", "VALUE:4C" ], [ "4B", "1", "1", "VALUE:4C" ], [ "4B", "2A", "1", "VALUE:4C" ], [ "4B", "2B", "1", "VALUE:4C" ], [ "4B", "2C", "1", "VALUE:4C" ], [ "4B", "2", "1", "VALUE:4C" ], [ "4B", "3", "1", "VALUE:4C" ], [ "4B", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "2A", "1", "VALUE:4C" ], [ "4", "2B", "1", "VALUE:4C" ], [ "4", "2C", "1", "VALUE:4C" ], [ "4", "2", "1", "VALUE:4C" ], [ "4", "3", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "X", "0", "1", "VALUE:4C" ], [ "X", "1", "1", "VALUE:4C" ], [ "X", "2A", "1", "VALUE:4C" ], [ "X", "2B", "1", "VALUE:4C" ], [ "X", "2C", "1", "VALUE:4C" ], [ "X", "2", "1", "VALUE:4C" ], [ "X", "3", "1", "VALUE:4C" ], [ "X", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubl.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubl.json deleted file mode 100644 index 4544788f1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubl.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubl", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:01.000Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:4A" ], [ "0", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:4A" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:4A" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:4A" ], [ "3A", "X", "0", "VALUE:99" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:4A" ], [ "3B", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:4A" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3C" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:4A" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3A", "0", "1", "VALUE:4B" ], [ "3A", "1", "1", "VALUE:4B" ], [ "3A", "X", "1", "VALUE:4B" ], [ "3B", "0", "1", "VALUE:4B" ], [ "3B", "1", "1", "VALUE:4B" ], [ "3B", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubm.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubm.json deleted file mode 100644 index f2058f433..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubm.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:02.548Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:99" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:2B" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1A" ], [ "1", "1", "0", "VALUE:2B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:1B" ], [ "2", "1", "0", "VALUE:2B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2A" ], [ "3", "1", "0", "VALUE:2B" ], [ "3", "X", "0", "VALUE:2" ], [ "4", "0", "0", "VALUE:3" ], [ "4", "1", "0", "VALUE:3" ], [ "4", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubn.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubn.json deleted file mode 100644 index 137665edb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubn.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:03.037Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2", "0", "VALUE:4B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3B" ], [ "IS", "2", "0", "VALUE:4B" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3B" ], [ "1", "2", "0", "VALUE:4B" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2" ], [ "2A", "1", "0", "VALUE:3B" ], [ "2A", "2", "0", "VALUE:4B" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2" ], [ "2B", "1", "0", "VALUE:3B" ], [ "2B", "2", "0", "VALUE:4B" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3B" ], [ "2", "2", "0", "VALUE:4B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3A" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "2", "0", "VALUE:4B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "2", "0", "VALUE:4B" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:4B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "2", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "IS", "0", "1", "VALUE:4B" ], [ "IS", "1", "1", "VALUE:4B" ], [ "IS", "2", "1", "VALUE:4B" ], [ "IS", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "2", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2A", "0", "1", "VALUE:4B" ], [ "2A", "1", "1", "VALUE:4B" ], [ "2A", "2", "1", "VALUE:4B" ], [ "2A", "X", "1", "VALUE:4B" ], [ "2B", "0", "1", "VALUE:4B" ], [ "2B", "1", "1", "VALUE:4B" ], [ "2B", "2", "1", "VALUE:4B" ], [ "2B", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "2", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "2", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "2", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "2", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubp.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubp.json deleted file mode 100644 index 8e7fbf14e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubp.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubp", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:05.382Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "psa", - "name" : "PSA", - "type" : "INPUT" - }, { - "key" : "gleason", - "name" : "Gleason", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "001-099", "002-006", "VALUE:99" ], [ "0", "0", "0", "001-099", "007", "VALUE:99" ], [ "0", "0", "0", "001-099", "008-010", "VALUE:99" ], [ "0", "0", "0", "001-099", "988,998,999", "VALUE:99" ], [ "0", "0", "0", "100-199", "002-006", "VALUE:99" ], [ "0", "0", "0", "100-199", "007", "VALUE:99" ], [ "0", "0", "0", "100-199", "008-010", "VALUE:99" ], [ "0", "0", "0", "100-199", "988,998,999", "VALUE:99" ], [ "0", "0", "0", "200-980", "002-006", "VALUE:99" ], [ "0", "0", "0", "200-980", "007", "VALUE:99" ], [ "0", "0", "0", "200-980", "008-010", "VALUE:99" ], [ "0", "0", "0", "200-980", "988,998,999", "VALUE:99" ], [ "0", "0", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "0", "0", "0", "988,997,998,999", "007", "VALUE:99" ], [ "0", "0", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "0", "0", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "0", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "0", "1", "0", "001-099", "007", "VALUE:4" ], [ "0", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "0", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "0", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "0", "1", "0", "100-199", "007", "VALUE:4" ], [ "0", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "0", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "0", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "0", "1", "0", "200-980", "007", "VALUE:4" ], [ "0", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "0", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "0", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "0", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "0", "X", "0", "001-099", "007", "VALUE:99" ], [ "0", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "0", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "0", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "0", "X", "0", "100-199", "007", "VALUE:99" ], [ "0", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "0", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "0", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "0", "X", "0", "200-980", "007", "VALUE:99" ], [ "0", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "0", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "0", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "0", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "0", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "0", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "2A", "0", "0", "001-099", "002-006", "VALUE:1" ], [ "2A", "0", "0", "001-099", "007", "VALUE:2A" ], [ "2A", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "2A", "0", "0", "001-099", "988,998,999", "VALUE:1" ], [ "2A", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "2A", "0", "0", "100-199", "007", "VALUE:2A" ], [ "2A", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "2A", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "2A", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "2A", "0", "0", "200-980", "007", "VALUE:2B" ], [ "2A", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "2A", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "2A", "0", "0", "988,997,998,999", "002-006", "VALUE:1" ], [ "2A", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "2A", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "2A", "0", "0", "988,997,998,999", "988,998,999", "VALUE:1" ], [ "2A", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "2A", "1", "0", "001-099", "007", "VALUE:4" ], [ "2A", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "2A", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "2A", "1", "0", "100-199", "007", "VALUE:4" ], [ "2A", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "2A", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "2A", "1", "0", "200-980", "007", "VALUE:4" ], [ "2A", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "2A", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "2A", "X", "0", "001-099", "007", "VALUE:99" ], [ "2A", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "2A", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "2A", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "2A", "X", "0", "100-199", "007", "VALUE:99" ], [ "2A", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "2A", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "2A", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "2A", "X", "0", "200-980", "007", "VALUE:99" ], [ "2A", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "2A", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "2A", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "2A", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "2A", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "2A", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "2B", "0", "0", "001-099", "002-006", "VALUE:2A" ], [ "2B", "0", "0", "001-099", "007", "VALUE:2A" ], [ "2B", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "2B", "0", "0", "001-099", "988,998,999", "VALUE:2A" ], [ "2B", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "2B", "0", "0", "100-199", "007", "VALUE:2A" ], [ "2B", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "2B", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "2B", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "2B", "0", "0", "200-980", "007", "VALUE:2B" ], [ "2B", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "2B", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "2B", "0", "0", "988,997,998,999", "002-006", "VALUE:2A" ], [ "2B", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "2B", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "2B", "0", "0", "988,997,998,999", "988,998,999", "VALUE:2A" ], [ "2B", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "2B", "1", "0", "001-099", "007", "VALUE:4" ], [ "2B", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "2B", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "2B", "1", "0", "100-199", "007", "VALUE:4" ], [ "2B", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "2B", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "2B", "1", "0", "200-980", "007", "VALUE:4" ], [ "2B", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "2B", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "2B", "X", "0", "001-099", "007", "VALUE:99" ], [ "2B", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "2B", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "2B", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "2B", "X", "0", "100-199", "007", "VALUE:99" ], [ "2B", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "2B", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "2B", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "2B", "X", "0", "200-980", "007", "VALUE:99" ], [ "2B", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "2B", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "2B", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "2B", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "2B", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "2B", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "2C", "0", "0", "001-099", "002-006", "VALUE:2B" ], [ "2C", "0", "0", "001-099", "007", "VALUE:2B" ], [ "2C", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "2C", "0", "0", "001-099", "988,998,999", "VALUE:2B" ], [ "2C", "0", "0", "100-199", "002-006", "VALUE:2B" ], [ "2C", "0", "0", "100-199", "007", "VALUE:2B" ], [ "2C", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "2C", "0", "0", "100-199", "988,998,999", "VALUE:2B" ], [ "2C", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "2C", "0", "0", "200-980", "007", "VALUE:2B" ], [ "2C", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "2C", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "2C", "0", "0", "988,997,998,999", "002-006", "VALUE:2B" ], [ "2C", "0", "0", "988,997,998,999", "007", "VALUE:2B" ], [ "2C", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "2C", "0", "0", "988,997,998,999", "988,998,999", "VALUE:2B" ], [ "2C", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "2C", "1", "0", "001-099", "007", "VALUE:4" ], [ "2C", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "2C", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "2C", "1", "0", "100-199", "007", "VALUE:4" ], [ "2C", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "2C", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "2C", "1", "0", "200-980", "007", "VALUE:4" ], [ "2C", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "2C", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "2C", "X", "0", "001-099", "007", "VALUE:99" ], [ "2C", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "2C", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "2C", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "2C", "X", "0", "100-199", "007", "VALUE:99" ], [ "2C", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "2C", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "2C", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "2C", "X", "0", "200-980", "007", "VALUE:99" ], [ "2C", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "2C", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "2C", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "2C", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "2C", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "2C", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "2", "0", "0", "001-099", "002-006", "VALUE:1" ], [ "2", "0", "0", "001-099", "007", "VALUE:2A" ], [ "2", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "2", "0", "0", "001-099", "988,998,999", "VALUE:1" ], [ "2", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "2", "0", "0", "100-199", "007", "VALUE:2A" ], [ "2", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "2", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "2", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "2", "0", "0", "200-980", "007", "VALUE:2B" ], [ "2", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "2", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "2", "0", "0", "988,997,998,999", "002-006", "VALUE:1" ], [ "2", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "2", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "2", "0", "0", "988,997,998,999", "988,998,999", "VALUE:1" ], [ "2", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "2", "1", "0", "001-099", "007", "VALUE:4" ], [ "2", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "2", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "2", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "2", "1", "0", "100-199", "007", "VALUE:4" ], [ "2", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "2", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "2", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "2", "1", "0", "200-980", "007", "VALUE:4" ], [ "2", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "2", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "2", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "2", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "2", "X", "0", "001-099", "007", "VALUE:99" ], [ "2", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "2", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "2", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "2", "X", "0", "100-199", "007", "VALUE:99" ], [ "2", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "2", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "2", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "2", "X", "0", "200-980", "007", "VALUE:99" ], [ "2", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "2", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "2", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "2", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "2", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "2", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "3A", "0", "0", "001-099", "002-006", "VALUE:3" ], [ "3A", "0", "0", "001-099", "007", "VALUE:3" ], [ "3A", "0", "0", "001-099", "008-010", "VALUE:3" ], [ "3A", "0", "0", "001-099", "988,998,999", "VALUE:3" ], [ "3A", "0", "0", "100-199", "002-006", "VALUE:3" ], [ "3A", "0", "0", "100-199", "007", "VALUE:3" ], [ "3A", "0", "0", "100-199", "008-010", "VALUE:3" ], [ "3A", "0", "0", "100-199", "988,998,999", "VALUE:3" ], [ "3A", "0", "0", "200-980", "002-006", "VALUE:3" ], [ "3A", "0", "0", "200-980", "007", "VALUE:3" ], [ "3A", "0", "0", "200-980", "008-010", "VALUE:3" ], [ "3A", "0", "0", "200-980", "988,998,999", "VALUE:3" ], [ "3A", "0", "0", "988,997,998,999", "002-006", "VALUE:3" ], [ "3A", "0", "0", "988,997,998,999", "007", "VALUE:3" ], [ "3A", "0", "0", "988,997,998,999", "008-010", "VALUE:3" ], [ "3A", "0", "0", "988,997,998,999", "988,998,999", "VALUE:3" ], [ "3A", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "3A", "1", "0", "001-099", "007", "VALUE:4" ], [ "3A", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "3A", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "3A", "1", "0", "100-199", "007", "VALUE:4" ], [ "3A", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "3A", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "3A", "1", "0", "200-980", "007", "VALUE:4" ], [ "3A", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "3A", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "3A", "X", "0", "001-099", "007", "VALUE:99" ], [ "3A", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "3A", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "3A", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "3A", "X", "0", "100-199", "007", "VALUE:99" ], [ "3A", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "3A", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "3A", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "3A", "X", "0", "200-980", "007", "VALUE:99" ], [ "3A", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "3A", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "3A", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "3A", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "3A", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "3A", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "3B", "0", "0", "001-099", "002-006", "VALUE:3" ], [ "3B", "0", "0", "001-099", "007", "VALUE:3" ], [ "3B", "0", "0", "001-099", "008-010", "VALUE:3" ], [ "3B", "0", "0", "001-099", "988,998,999", "VALUE:3" ], [ "3B", "0", "0", "100-199", "002-006", "VALUE:3" ], [ "3B", "0", "0", "100-199", "007", "VALUE:3" ], [ "3B", "0", "0", "100-199", "008-010", "VALUE:3" ], [ "3B", "0", "0", "100-199", "988,998,999", "VALUE:3" ], [ "3B", "0", "0", "200-980", "002-006", "VALUE:3" ], [ "3B", "0", "0", "200-980", "007", "VALUE:3" ], [ "3B", "0", "0", "200-980", "008-010", "VALUE:3" ], [ "3B", "0", "0", "200-980", "988,998,999", "VALUE:3" ], [ "3B", "0", "0", "988,997,998,999", "002-006", "VALUE:3" ], [ "3B", "0", "0", "988,997,998,999", "007", "VALUE:3" ], [ "3B", "0", "0", "988,997,998,999", "008-010", "VALUE:3" ], [ "3B", "0", "0", "988,997,998,999", "988,998,999", "VALUE:3" ], [ "3B", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "3B", "1", "0", "001-099", "007", "VALUE:4" ], [ "3B", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "3B", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "3B", "1", "0", "100-199", "007", "VALUE:4" ], [ "3B", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "3B", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "3B", "1", "0", "200-980", "007", "VALUE:4" ], [ "3B", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "3B", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "3B", "X", "0", "001-099", "007", "VALUE:99" ], [ "3B", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "3B", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "3B", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "3B", "X", "0", "100-199", "007", "VALUE:99" ], [ "3B", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "3B", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "3B", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "3B", "X", "0", "200-980", "007", "VALUE:99" ], [ "3B", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "3B", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "3B", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "3B", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "3B", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "3B", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "3", "0", "0", "001-099", "002-006", "VALUE:3" ], [ "3", "0", "0", "001-099", "007", "VALUE:3" ], [ "3", "0", "0", "001-099", "008-010", "VALUE:3" ], [ "3", "0", "0", "001-099", "988,998,999", "VALUE:3" ], [ "3", "0", "0", "100-199", "002-006", "VALUE:3" ], [ "3", "0", "0", "100-199", "007", "VALUE:3" ], [ "3", "0", "0", "100-199", "008-010", "VALUE:3" ], [ "3", "0", "0", "100-199", "988,998,999", "VALUE:3" ], [ "3", "0", "0", "200-980", "002-006", "VALUE:3" ], [ "3", "0", "0", "200-980", "007", "VALUE:3" ], [ "3", "0", "0", "200-980", "008-010", "VALUE:3" ], [ "3", "0", "0", "200-980", "988,998,999", "VALUE:3" ], [ "3", "0", "0", "988,997,998,999", "002-006", "VALUE:3" ], [ "3", "0", "0", "988,997,998,999", "007", "VALUE:3" ], [ "3", "0", "0", "988,997,998,999", "008-010", "VALUE:3" ], [ "3", "0", "0", "988,997,998,999", "988,998,999", "VALUE:3" ], [ "3", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "3", "1", "0", "001-099", "007", "VALUE:4" ], [ "3", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "3", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "3", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "3", "1", "0", "100-199", "007", "VALUE:4" ], [ "3", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "3", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "3", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "3", "1", "0", "200-980", "007", "VALUE:4" ], [ "3", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "3", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "3", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "3", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "3", "X", "0", "001-099", "007", "VALUE:99" ], [ "3", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "3", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "3", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "3", "X", "0", "100-199", "007", "VALUE:99" ], [ "3", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "3", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "3", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "3", "X", "0", "200-980", "007", "VALUE:99" ], [ "3", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "3", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "3", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "3", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "3", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "3", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "4", "0", "0", "001-099", "002-006", "VALUE:4" ], [ "4", "0", "0", "001-099", "007", "VALUE:4" ], [ "4", "0", "0", "001-099", "008-010", "VALUE:4" ], [ "4", "0", "0", "001-099", "988,998,999", "VALUE:4" ], [ "4", "0", "0", "100-199", "002-006", "VALUE:4" ], [ "4", "0", "0", "100-199", "007", "VALUE:4" ], [ "4", "0", "0", "100-199", "008-010", "VALUE:4" ], [ "4", "0", "0", "100-199", "988,998,999", "VALUE:4" ], [ "4", "0", "0", "200-980", "002-006", "VALUE:4" ], [ "4", "0", "0", "200-980", "007", "VALUE:4" ], [ "4", "0", "0", "200-980", "008-010", "VALUE:4" ], [ "4", "0", "0", "200-980", "988,998,999", "VALUE:4" ], [ "4", "0", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "0", "0", "988,997,998,999", "007", "VALUE:4" ], [ "4", "0", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "0", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "4", "1", "0", "001-099", "007", "VALUE:4" ], [ "4", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "4", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "4", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "4", "1", "0", "100-199", "007", "VALUE:4" ], [ "4", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "4", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "4", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "4", "1", "0", "200-980", "007", "VALUE:4" ], [ "4", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "4", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "4", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "4", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "X", "0", "001-099", "002-006", "VALUE:4" ], [ "4", "X", "0", "001-099", "007", "VALUE:4" ], [ "4", "X", "0", "001-099", "008-010", "VALUE:4" ], [ "4", "X", "0", "001-099", "988,998,999", "VALUE:4" ], [ "4", "X", "0", "100-199", "002-006", "VALUE:4" ], [ "4", "X", "0", "100-199", "007", "VALUE:4" ], [ "4", "X", "0", "100-199", "008-010", "VALUE:4" ], [ "4", "X", "0", "100-199", "988,998,999", "VALUE:4" ], [ "4", "X", "0", "200-980", "002-006", "VALUE:4" ], [ "4", "X", "0", "200-980", "007", "VALUE:4" ], [ "4", "X", "0", "200-980", "008-010", "VALUE:4" ], [ "4", "X", "0", "200-980", "988,998,999", "VALUE:4" ], [ "4", "X", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "X", "0", "988,997,998,999", "007", "VALUE:4" ], [ "4", "X", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "X", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "0", "0", "001-099", "002-006", "VALUE:99" ], [ "X", "0", "0", "001-099", "007", "VALUE:99" ], [ "X", "0", "0", "001-099", "008-010", "VALUE:99" ], [ "X", "0", "0", "001-099", "988,998,999", "VALUE:99" ], [ "X", "0", "0", "100-199", "002-006", "VALUE:99" ], [ "X", "0", "0", "100-199", "007", "VALUE:99" ], [ "X", "0", "0", "100-199", "008-010", "VALUE:99" ], [ "X", "0", "0", "100-199", "988,998,999", "VALUE:99" ], [ "X", "0", "0", "200-980", "002-006", "VALUE:99" ], [ "X", "0", "0", "200-980", "007", "VALUE:99" ], [ "X", "0", "0", "200-980", "008-010", "VALUE:99" ], [ "X", "0", "0", "200-980", "988,998,999", "VALUE:99" ], [ "X", "0", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "X", "0", "0", "988,997,998,999", "007", "VALUE:99" ], [ "X", "0", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "X", "0", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "X", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "X", "1", "0", "001-099", "007", "VALUE:4" ], [ "X", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "X", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "X", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "X", "1", "0", "100-199", "007", "VALUE:4" ], [ "X", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "X", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "X", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "X", "1", "0", "200-980", "007", "VALUE:4" ], [ "X", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "X", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "X", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "X", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "X", "X", "0", "001-099", "007", "VALUE:99" ], [ "X", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "X", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "X", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "X", "X", "0", "100-199", "007", "VALUE:99" ], [ "X", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "X", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "X", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "X", "X", "0", "200-980", "007", "VALUE:99" ], [ "X", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "X", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "X", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "X", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "X", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "X", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "0", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "0", "0", "1A", "001-099", "007", "VALUE:4" ], [ "0", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "0", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "0", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "0", "0", "1A", "100-199", "007", "VALUE:4" ], [ "0", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "0", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "0", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "0", "0", "1A", "200-980", "007", "VALUE:4" ], [ "0", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "0", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "0", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "0", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "0", "1", "1A", "001-099", "007", "VALUE:4" ], [ "0", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "0", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "0", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "0", "1", "1A", "100-199", "007", "VALUE:4" ], [ "0", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "0", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "0", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "0", "1", "1A", "200-980", "007", "VALUE:4" ], [ "0", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "0", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "0", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "0", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "0", "X", "1A", "001-099", "007", "VALUE:4" ], [ "0", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "0", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "0", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "0", "X", "1A", "100-199", "007", "VALUE:4" ], [ "0", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "0", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "0", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "0", "X", "1A", "200-980", "007", "VALUE:4" ], [ "0", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "0", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "0", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "0", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "2A", "0", "1A", "001-099", "007", "VALUE:4" ], [ "2A", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "2A", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "2A", "0", "1A", "100-199", "007", "VALUE:4" ], [ "2A", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "2A", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "2A", "0", "1A", "200-980", "007", "VALUE:4" ], [ "2A", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "2A", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "2A", "1", "1A", "001-099", "007", "VALUE:4" ], [ "2A", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "2A", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "2A", "1", "1A", "100-199", "007", "VALUE:4" ], [ "2A", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "2A", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "2A", "1", "1A", "200-980", "007", "VALUE:4" ], [ "2A", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "2A", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "2A", "X", "1A", "001-099", "007", "VALUE:4" ], [ "2A", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "2A", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "2A", "X", "1A", "100-199", "007", "VALUE:4" ], [ "2A", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "2A", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "2A", "X", "1A", "200-980", "007", "VALUE:4" ], [ "2A", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "2A", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "2B", "0", "1A", "001-099", "007", "VALUE:4" ], [ "2B", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "2B", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "2B", "0", "1A", "100-199", "007", "VALUE:4" ], [ "2B", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "2B", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "2B", "0", "1A", "200-980", "007", "VALUE:4" ], [ "2B", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "2B", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "2B", "1", "1A", "001-099", "007", "VALUE:4" ], [ "2B", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "2B", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "2B", "1", "1A", "100-199", "007", "VALUE:4" ], [ "2B", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "2B", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "2B", "1", "1A", "200-980", "007", "VALUE:4" ], [ "2B", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "2B", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "2B", "X", "1A", "001-099", "007", "VALUE:4" ], [ "2B", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "2B", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "2B", "X", "1A", "100-199", "007", "VALUE:4" ], [ "2B", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "2B", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "2B", "X", "1A", "200-980", "007", "VALUE:4" ], [ "2B", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "2B", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "2C", "0", "1A", "001-099", "007", "VALUE:4" ], [ "2C", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "2C", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "2C", "0", "1A", "100-199", "007", "VALUE:4" ], [ "2C", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "2C", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "2C", "0", "1A", "200-980", "007", "VALUE:4" ], [ "2C", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "2C", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "2C", "1", "1A", "001-099", "007", "VALUE:4" ], [ "2C", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "2C", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "2C", "1", "1A", "100-199", "007", "VALUE:4" ], [ "2C", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "2C", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "2C", "1", "1A", "200-980", "007", "VALUE:4" ], [ "2C", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "2C", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "2C", "X", "1A", "001-099", "007", "VALUE:4" ], [ "2C", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "2C", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "2C", "X", "1A", "100-199", "007", "VALUE:4" ], [ "2C", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "2C", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "2C", "X", "1A", "200-980", "007", "VALUE:4" ], [ "2C", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "2C", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "2", "0", "1A", "001-099", "007", "VALUE:4" ], [ "2", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "2", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "2", "0", "1A", "100-199", "007", "VALUE:4" ], [ "2", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "2", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "2", "0", "1A", "200-980", "007", "VALUE:4" ], [ "2", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "2", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "2", "1", "1A", "001-099", "007", "VALUE:4" ], [ "2", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "2", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "2", "1", "1A", "100-199", "007", "VALUE:4" ], [ "2", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "2", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "2", "1", "1A", "200-980", "007", "VALUE:4" ], [ "2", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "2", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "2", "X", "1A", "001-099", "007", "VALUE:4" ], [ "2", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "2", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "2", "X", "1A", "100-199", "007", "VALUE:4" ], [ "2", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "2", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "2", "X", "1A", "200-980", "007", "VALUE:4" ], [ "2", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "2", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "3A", "0", "1A", "001-099", "007", "VALUE:4" ], [ "3A", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "3A", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "3A", "0", "1A", "100-199", "007", "VALUE:4" ], [ "3A", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "3A", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "3A", "0", "1A", "200-980", "007", "VALUE:4" ], [ "3A", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "3A", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "3A", "1", "1A", "001-099", "007", "VALUE:4" ], [ "3A", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "3A", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "3A", "1", "1A", "100-199", "007", "VALUE:4" ], [ "3A", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "3A", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "3A", "1", "1A", "200-980", "007", "VALUE:4" ], [ "3A", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "3A", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "3A", "X", "1A", "001-099", "007", "VALUE:4" ], [ "3A", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "3A", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "3A", "X", "1A", "100-199", "007", "VALUE:4" ], [ "3A", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "3A", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "3A", "X", "1A", "200-980", "007", "VALUE:4" ], [ "3A", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "3A", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "3B", "0", "1A", "001-099", "007", "VALUE:4" ], [ "3B", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "3B", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "3B", "0", "1A", "100-199", "007", "VALUE:4" ], [ "3B", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "3B", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "3B", "0", "1A", "200-980", "007", "VALUE:4" ], [ "3B", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "3B", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "3B", "1", "1A", "001-099", "007", "VALUE:4" ], [ "3B", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "3B", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "3B", "1", "1A", "100-199", "007", "VALUE:4" ], [ "3B", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "3B", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "3B", "1", "1A", "200-980", "007", "VALUE:4" ], [ "3B", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "3B", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "3B", "X", "1A", "001-099", "007", "VALUE:4" ], [ "3B", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "3B", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "3B", "X", "1A", "100-199", "007", "VALUE:4" ], [ "3B", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "3B", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "3B", "X", "1A", "200-980", "007", "VALUE:4" ], [ "3B", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "3B", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "3", "0", "1A", "001-099", "007", "VALUE:4" ], [ "3", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "3", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "3", "0", "1A", "100-199", "007", "VALUE:4" ], [ "3", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "3", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "3", "0", "1A", "200-980", "007", "VALUE:4" ], [ "3", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "3", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "3", "1", "1A", "001-099", "007", "VALUE:4" ], [ "3", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "3", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "3", "1", "1A", "100-199", "007", "VALUE:4" ], [ "3", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "3", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "3", "1", "1A", "200-980", "007", "VALUE:4" ], [ "3", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "3", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "3", "X", "1A", "001-099", "007", "VALUE:4" ], [ "3", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "3", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "3", "X", "1A", "100-199", "007", "VALUE:4" ], [ "3", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "3", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "3", "X", "1A", "200-980", "007", "VALUE:4" ], [ "3", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "3", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "4", "0", "1A", "001-099", "007", "VALUE:4" ], [ "4", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "4", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "4", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "4", "0", "1A", "100-199", "007", "VALUE:4" ], [ "4", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "4", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "4", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "4", "0", "1A", "200-980", "007", "VALUE:4" ], [ "4", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "4", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "4", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "4", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "4", "1", "1A", "001-099", "007", "VALUE:4" ], [ "4", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "4", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "4", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "4", "1", "1A", "100-199", "007", "VALUE:4" ], [ "4", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "4", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "4", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "4", "1", "1A", "200-980", "007", "VALUE:4" ], [ "4", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "4", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "4", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "4", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "4", "X", "1A", "001-099", "007", "VALUE:4" ], [ "4", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "4", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "4", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "4", "X", "1A", "100-199", "007", "VALUE:4" ], [ "4", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "4", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "4", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "4", "X", "1A", "200-980", "007", "VALUE:4" ], [ "4", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "4", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "4", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "4", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "X", "0", "1A", "001-099", "007", "VALUE:4" ], [ "X", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "X", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "X", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "X", "0", "1A", "100-199", "007", "VALUE:4" ], [ "X", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "X", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "X", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "X", "0", "1A", "200-980", "007", "VALUE:4" ], [ "X", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "X", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "X", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "X", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "X", "1", "1A", "001-099", "007", "VALUE:4" ], [ "X", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "X", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "X", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "X", "1", "1A", "100-199", "007", "VALUE:4" ], [ "X", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "X", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "X", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "X", "1", "1A", "200-980", "007", "VALUE:4" ], [ "X", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "X", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "X", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "X", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "X", "X", "1A", "001-099", "007", "VALUE:4" ], [ "X", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "X", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "X", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "X", "X", "1A", "100-199", "007", "VALUE:4" ], [ "X", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "X", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "X", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "X", "X", "1A", "200-980", "007", "VALUE:4" ], [ "X", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "X", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "X", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "X", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "0", "0", "1B", "001-099", "007", "VALUE:4" ], [ "0", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "0", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "0", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "0", "0", "1B", "100-199", "007", "VALUE:4" ], [ "0", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "0", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "0", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "0", "0", "1B", "200-980", "007", "VALUE:4" ], [ "0", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "0", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "0", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "0", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "0", "1", "1B", "001-099", "007", "VALUE:4" ], [ "0", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "0", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "0", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "0", "1", "1B", "100-199", "007", "VALUE:4" ], [ "0", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "0", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "0", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "0", "1", "1B", "200-980", "007", "VALUE:4" ], [ "0", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "0", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "0", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "0", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "0", "X", "1B", "001-099", "007", "VALUE:4" ], [ "0", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "0", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "0", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "0", "X", "1B", "100-199", "007", "VALUE:4" ], [ "0", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "0", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "0", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "0", "X", "1B", "200-980", "007", "VALUE:4" ], [ "0", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "0", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "0", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "0", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "2A", "0", "1B", "001-099", "007", "VALUE:4" ], [ "2A", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "2A", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "2A", "0", "1B", "100-199", "007", "VALUE:4" ], [ "2A", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "2A", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "2A", "0", "1B", "200-980", "007", "VALUE:4" ], [ "2A", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "2A", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "2A", "1", "1B", "001-099", "007", "VALUE:4" ], [ "2A", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "2A", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "2A", "1", "1B", "100-199", "007", "VALUE:4" ], [ "2A", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "2A", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "2A", "1", "1B", "200-980", "007", "VALUE:4" ], [ "2A", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "2A", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "2A", "X", "1B", "001-099", "007", "VALUE:4" ], [ "2A", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "2A", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "2A", "X", "1B", "100-199", "007", "VALUE:4" ], [ "2A", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "2A", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "2A", "X", "1B", "200-980", "007", "VALUE:4" ], [ "2A", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "2A", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "2B", "0", "1B", "001-099", "007", "VALUE:4" ], [ "2B", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "2B", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "2B", "0", "1B", "100-199", "007", "VALUE:4" ], [ "2B", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "2B", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "2B", "0", "1B", "200-980", "007", "VALUE:4" ], [ "2B", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "2B", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "2B", "1", "1B", "001-099", "007", "VALUE:4" ], [ "2B", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "2B", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "2B", "1", "1B", "100-199", "007", "VALUE:4" ], [ "2B", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "2B", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "2B", "1", "1B", "200-980", "007", "VALUE:4" ], [ "2B", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "2B", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "2B", "X", "1B", "001-099", "007", "VALUE:4" ], [ "2B", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "2B", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "2B", "X", "1B", "100-199", "007", "VALUE:4" ], [ "2B", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "2B", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "2B", "X", "1B", "200-980", "007", "VALUE:4" ], [ "2B", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "2B", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "2C", "0", "1B", "001-099", "007", "VALUE:4" ], [ "2C", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "2C", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "2C", "0", "1B", "100-199", "007", "VALUE:4" ], [ "2C", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "2C", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "2C", "0", "1B", "200-980", "007", "VALUE:4" ], [ "2C", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "2C", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "2C", "1", "1B", "001-099", "007", "VALUE:4" ], [ "2C", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "2C", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "2C", "1", "1B", "100-199", "007", "VALUE:4" ], [ "2C", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "2C", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "2C", "1", "1B", "200-980", "007", "VALUE:4" ], [ "2C", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "2C", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "2C", "X", "1B", "001-099", "007", "VALUE:4" ], [ "2C", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "2C", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "2C", "X", "1B", "100-199", "007", "VALUE:4" ], [ "2C", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "2C", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "2C", "X", "1B", "200-980", "007", "VALUE:4" ], [ "2C", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "2C", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "2", "0", "1B", "001-099", "007", "VALUE:4" ], [ "2", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "2", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "2", "0", "1B", "100-199", "007", "VALUE:4" ], [ "2", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "2", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "2", "0", "1B", "200-980", "007", "VALUE:4" ], [ "2", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "2", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "2", "1", "1B", "001-099", "007", "VALUE:4" ], [ "2", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "2", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "2", "1", "1B", "100-199", "007", "VALUE:4" ], [ "2", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "2", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "2", "1", "1B", "200-980", "007", "VALUE:4" ], [ "2", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "2", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "2", "X", "1B", "001-099", "007", "VALUE:4" ], [ "2", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "2", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "2", "X", "1B", "100-199", "007", "VALUE:4" ], [ "2", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "2", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "2", "X", "1B", "200-980", "007", "VALUE:4" ], [ "2", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "2", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "3A", "0", "1B", "001-099", "007", "VALUE:4" ], [ "3A", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "3A", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "3A", "0", "1B", "100-199", "007", "VALUE:4" ], [ "3A", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "3A", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "3A", "0", "1B", "200-980", "007", "VALUE:4" ], [ "3A", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "3A", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "3A", "1", "1B", "001-099", "007", "VALUE:4" ], [ "3A", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "3A", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "3A", "1", "1B", "100-199", "007", "VALUE:4" ], [ "3A", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "3A", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "3A", "1", "1B", "200-980", "007", "VALUE:4" ], [ "3A", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "3A", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "3A", "X", "1B", "001-099", "007", "VALUE:4" ], [ "3A", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "3A", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "3A", "X", "1B", "100-199", "007", "VALUE:4" ], [ "3A", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "3A", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "3A", "X", "1B", "200-980", "007", "VALUE:4" ], [ "3A", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "3A", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "3B", "0", "1B", "001-099", "007", "VALUE:4" ], [ "3B", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "3B", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "3B", "0", "1B", "100-199", "007", "VALUE:4" ], [ "3B", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "3B", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "3B", "0", "1B", "200-980", "007", "VALUE:4" ], [ "3B", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "3B", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "3B", "1", "1B", "001-099", "007", "VALUE:4" ], [ "3B", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "3B", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "3B", "1", "1B", "100-199", "007", "VALUE:4" ], [ "3B", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "3B", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "3B", "1", "1B", "200-980", "007", "VALUE:4" ], [ "3B", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "3B", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "3B", "X", "1B", "001-099", "007", "VALUE:4" ], [ "3B", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "3B", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "3B", "X", "1B", "100-199", "007", "VALUE:4" ], [ "3B", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "3B", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "3B", "X", "1B", "200-980", "007", "VALUE:4" ], [ "3B", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "3B", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "3", "0", "1B", "001-099", "007", "VALUE:4" ], [ "3", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "3", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "3", "0", "1B", "100-199", "007", "VALUE:4" ], [ "3", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "3", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "3", "0", "1B", "200-980", "007", "VALUE:4" ], [ "3", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "3", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "3", "1", "1B", "001-099", "007", "VALUE:4" ], [ "3", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "3", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "3", "1", "1B", "100-199", "007", "VALUE:4" ], [ "3", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "3", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "3", "1", "1B", "200-980", "007", "VALUE:4" ], [ "3", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "3", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "3", "X", "1B", "001-099", "007", "VALUE:4" ], [ "3", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "3", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "3", "X", "1B", "100-199", "007", "VALUE:4" ], [ "3", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "3", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "3", "X", "1B", "200-980", "007", "VALUE:4" ], [ "3", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "3", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "4", "0", "1B", "001-099", "007", "VALUE:4" ], [ "4", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "4", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "4", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "4", "0", "1B", "100-199", "007", "VALUE:4" ], [ "4", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "4", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "4", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "4", "0", "1B", "200-980", "007", "VALUE:4" ], [ "4", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "4", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "4", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "4", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "4", "1", "1B", "001-099", "007", "VALUE:4" ], [ "4", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "4", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "4", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "4", "1", "1B", "100-199", "007", "VALUE:4" ], [ "4", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "4", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "4", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "4", "1", "1B", "200-980", "007", "VALUE:4" ], [ "4", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "4", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "4", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "4", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "4", "X", "1B", "001-099", "007", "VALUE:4" ], [ "4", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "4", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "4", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "4", "X", "1B", "100-199", "007", "VALUE:4" ], [ "4", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "4", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "4", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "4", "X", "1B", "200-980", "007", "VALUE:4" ], [ "4", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "4", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "4", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "4", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "X", "0", "1B", "001-099", "007", "VALUE:4" ], [ "X", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "X", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "X", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "X", "0", "1B", "100-199", "007", "VALUE:4" ], [ "X", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "X", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "X", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "X", "0", "1B", "200-980", "007", "VALUE:4" ], [ "X", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "X", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "X", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "X", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "X", "1", "1B", "001-099", "007", "VALUE:4" ], [ "X", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "X", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "X", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "X", "1", "1B", "100-199", "007", "VALUE:4" ], [ "X", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "X", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "X", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "X", "1", "1B", "200-980", "007", "VALUE:4" ], [ "X", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "X", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "X", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "X", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "X", "X", "1B", "001-099", "007", "VALUE:4" ], [ "X", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "X", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "X", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "X", "X", "1B", "100-199", "007", "VALUE:4" ], [ "X", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "X", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "X", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "X", "X", "1B", "200-980", "007", "VALUE:4" ], [ "X", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "X", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "X", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "X", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "0", "0", "1C", "001-099", "007", "VALUE:4" ], [ "0", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "0", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "0", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "0", "0", "1C", "100-199", "007", "VALUE:4" ], [ "0", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "0", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "0", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "0", "0", "1C", "200-980", "007", "VALUE:4" ], [ "0", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "0", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "0", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "0", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "0", "1", "1C", "001-099", "007", "VALUE:4" ], [ "0", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "0", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "0", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "0", "1", "1C", "100-199", "007", "VALUE:4" ], [ "0", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "0", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "0", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "0", "1", "1C", "200-980", "007", "VALUE:4" ], [ "0", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "0", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "0", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "0", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "0", "X", "1C", "001-099", "007", "VALUE:4" ], [ "0", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "0", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "0", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "0", "X", "1C", "100-199", "007", "VALUE:4" ], [ "0", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "0", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "0", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "0", "X", "1C", "200-980", "007", "VALUE:4" ], [ "0", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "0", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "0", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "0", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "2A", "0", "1C", "001-099", "007", "VALUE:4" ], [ "2A", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "2A", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "2A", "0", "1C", "100-199", "007", "VALUE:4" ], [ "2A", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "2A", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "2A", "0", "1C", "200-980", "007", "VALUE:4" ], [ "2A", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "2A", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "2A", "1", "1C", "001-099", "007", "VALUE:4" ], [ "2A", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "2A", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "2A", "1", "1C", "100-199", "007", "VALUE:4" ], [ "2A", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "2A", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "2A", "1", "1C", "200-980", "007", "VALUE:4" ], [ "2A", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "2A", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "2A", "X", "1C", "001-099", "007", "VALUE:4" ], [ "2A", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "2A", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "2A", "X", "1C", "100-199", "007", "VALUE:4" ], [ "2A", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "2A", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "2A", "X", "1C", "200-980", "007", "VALUE:4" ], [ "2A", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "2A", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "2B", "0", "1C", "001-099", "007", "VALUE:4" ], [ "2B", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "2B", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "2B", "0", "1C", "100-199", "007", "VALUE:4" ], [ "2B", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "2B", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "2B", "0", "1C", "200-980", "007", "VALUE:4" ], [ "2B", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "2B", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "2B", "1", "1C", "001-099", "007", "VALUE:4" ], [ "2B", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "2B", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "2B", "1", "1C", "100-199", "007", "VALUE:4" ], [ "2B", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "2B", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "2B", "1", "1C", "200-980", "007", "VALUE:4" ], [ "2B", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "2B", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "2B", "X", "1C", "001-099", "007", "VALUE:4" ], [ "2B", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "2B", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "2B", "X", "1C", "100-199", "007", "VALUE:4" ], [ "2B", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "2B", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "2B", "X", "1C", "200-980", "007", "VALUE:4" ], [ "2B", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "2B", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "2C", "0", "1C", "001-099", "007", "VALUE:4" ], [ "2C", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "2C", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "2C", "0", "1C", "100-199", "007", "VALUE:4" ], [ "2C", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "2C", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "2C", "0", "1C", "200-980", "007", "VALUE:4" ], [ "2C", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "2C", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "2C", "1", "1C", "001-099", "007", "VALUE:4" ], [ "2C", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "2C", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "2C", "1", "1C", "100-199", "007", "VALUE:4" ], [ "2C", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "2C", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "2C", "1", "1C", "200-980", "007", "VALUE:4" ], [ "2C", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "2C", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "2C", "X", "1C", "001-099", "007", "VALUE:4" ], [ "2C", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "2C", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "2C", "X", "1C", "100-199", "007", "VALUE:4" ], [ "2C", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "2C", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "2C", "X", "1C", "200-980", "007", "VALUE:4" ], [ "2C", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "2C", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "2", "0", "1C", "001-099", "007", "VALUE:4" ], [ "2", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "2", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "2", "0", "1C", "100-199", "007", "VALUE:4" ], [ "2", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "2", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "2", "0", "1C", "200-980", "007", "VALUE:4" ], [ "2", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "2", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "2", "1", "1C", "001-099", "007", "VALUE:4" ], [ "2", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "2", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "2", "1", "1C", "100-199", "007", "VALUE:4" ], [ "2", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "2", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "2", "1", "1C", "200-980", "007", "VALUE:4" ], [ "2", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "2", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "2", "X", "1C", "001-099", "007", "VALUE:4" ], [ "2", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "2", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "2", "X", "1C", "100-199", "007", "VALUE:4" ], [ "2", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "2", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "2", "X", "1C", "200-980", "007", "VALUE:4" ], [ "2", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "2", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "3A", "0", "1C", "001-099", "007", "VALUE:4" ], [ "3A", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "3A", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "3A", "0", "1C", "100-199", "007", "VALUE:4" ], [ "3A", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "3A", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "3A", "0", "1C", "200-980", "007", "VALUE:4" ], [ "3A", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "3A", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "3A", "1", "1C", "001-099", "007", "VALUE:4" ], [ "3A", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "3A", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "3A", "1", "1C", "100-199", "007", "VALUE:4" ], [ "3A", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "3A", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "3A", "1", "1C", "200-980", "007", "VALUE:4" ], [ "3A", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "3A", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "3A", "X", "1C", "001-099", "007", "VALUE:4" ], [ "3A", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "3A", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "3A", "X", "1C", "100-199", "007", "VALUE:4" ], [ "3A", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "3A", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "3A", "X", "1C", "200-980", "007", "VALUE:4" ], [ "3A", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "3A", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "3B", "0", "1C", "001-099", "007", "VALUE:4" ], [ "3B", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "3B", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "3B", "0", "1C", "100-199", "007", "VALUE:4" ], [ "3B", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "3B", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "3B", "0", "1C", "200-980", "007", "VALUE:4" ], [ "3B", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "3B", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "3B", "1", "1C", "001-099", "007", "VALUE:4" ], [ "3B", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "3B", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "3B", "1", "1C", "100-199", "007", "VALUE:4" ], [ "3B", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "3B", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "3B", "1", "1C", "200-980", "007", "VALUE:4" ], [ "3B", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "3B", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "3B", "X", "1C", "001-099", "007", "VALUE:4" ], [ "3B", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "3B", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "3B", "X", "1C", "100-199", "007", "VALUE:4" ], [ "3B", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "3B", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "3B", "X", "1C", "200-980", "007", "VALUE:4" ], [ "3B", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "3B", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "3", "0", "1C", "001-099", "007", "VALUE:4" ], [ "3", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "3", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "3", "0", "1C", "100-199", "007", "VALUE:4" ], [ "3", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "3", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "3", "0", "1C", "200-980", "007", "VALUE:4" ], [ "3", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "3", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "3", "1", "1C", "001-099", "007", "VALUE:4" ], [ "3", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "3", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "3", "1", "1C", "100-199", "007", "VALUE:4" ], [ "3", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "3", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "3", "1", "1C", "200-980", "007", "VALUE:4" ], [ "3", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "3", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "3", "X", "1C", "001-099", "007", "VALUE:4" ], [ "3", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "3", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "3", "X", "1C", "100-199", "007", "VALUE:4" ], [ "3", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "3", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "3", "X", "1C", "200-980", "007", "VALUE:4" ], [ "3", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "3", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "4", "0", "1C", "001-099", "007", "VALUE:4" ], [ "4", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "4", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "4", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "4", "0", "1C", "100-199", "007", "VALUE:4" ], [ "4", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "4", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "4", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "4", "0", "1C", "200-980", "007", "VALUE:4" ], [ "4", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "4", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "4", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "4", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "4", "1", "1C", "001-099", "007", "VALUE:4" ], [ "4", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "4", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "4", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "4", "1", "1C", "100-199", "007", "VALUE:4" ], [ "4", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "4", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "4", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "4", "1", "1C", "200-980", "007", "VALUE:4" ], [ "4", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "4", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "4", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "4", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "4", "X", "1C", "001-099", "007", "VALUE:4" ], [ "4", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "4", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "4", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "4", "X", "1C", "100-199", "007", "VALUE:4" ], [ "4", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "4", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "4", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "4", "X", "1C", "200-980", "007", "VALUE:4" ], [ "4", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "4", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "4", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "4", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "X", "0", "1C", "001-099", "007", "VALUE:4" ], [ "X", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "X", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "X", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "X", "0", "1C", "100-199", "007", "VALUE:4" ], [ "X", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "X", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "X", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "X", "0", "1C", "200-980", "007", "VALUE:4" ], [ "X", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "X", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "X", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "X", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "X", "1", "1C", "001-099", "007", "VALUE:4" ], [ "X", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "X", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "X", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "X", "1", "1C", "100-199", "007", "VALUE:4" ], [ "X", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "X", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "X", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "X", "1", "1C", "200-980", "007", "VALUE:4" ], [ "X", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "X", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "X", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "X", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "X", "X", "1C", "001-099", "007", "VALUE:4" ], [ "X", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "X", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "X", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "X", "X", "1C", "100-199", "007", "VALUE:4" ], [ "X", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "X", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "X", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "X", "X", "1C", "200-980", "007", "VALUE:4" ], [ "X", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "X", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "X", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "X", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "0", "0", "1", "001-099", "007", "VALUE:4" ], [ "0", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "0", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "0", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "0", "0", "1", "100-199", "007", "VALUE:4" ], [ "0", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "0", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "0", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "0", "0", "1", "200-980", "007", "VALUE:4" ], [ "0", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "0", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "0", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "0", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "0", "1", "1", "001-099", "007", "VALUE:4" ], [ "0", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "0", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "0", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "0", "1", "1", "100-199", "007", "VALUE:4" ], [ "0", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "0", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "0", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "0", "1", "1", "200-980", "007", "VALUE:4" ], [ "0", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "0", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "0", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "0", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "0", "X", "1", "001-099", "007", "VALUE:4" ], [ "0", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "0", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "0", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "0", "X", "1", "100-199", "007", "VALUE:4" ], [ "0", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "0", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "0", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "0", "X", "1", "200-980", "007", "VALUE:4" ], [ "0", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "0", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "0", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "0", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "2A", "0", "1", "001-099", "007", "VALUE:4" ], [ "2A", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "2A", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "2A", "0", "1", "100-199", "007", "VALUE:4" ], [ "2A", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "2A", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "2A", "0", "1", "200-980", "007", "VALUE:4" ], [ "2A", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "2A", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "2A", "1", "1", "001-099", "007", "VALUE:4" ], [ "2A", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "2A", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "2A", "1", "1", "100-199", "007", "VALUE:4" ], [ "2A", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "2A", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "2A", "1", "1", "200-980", "007", "VALUE:4" ], [ "2A", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "2A", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "2A", "X", "1", "001-099", "007", "VALUE:4" ], [ "2A", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "2A", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "2A", "X", "1", "100-199", "007", "VALUE:4" ], [ "2A", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "2A", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "2A", "X", "1", "200-980", "007", "VALUE:4" ], [ "2A", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "2A", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "2B", "0", "1", "001-099", "007", "VALUE:4" ], [ "2B", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "2B", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "2B", "0", "1", "100-199", "007", "VALUE:4" ], [ "2B", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "2B", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "2B", "0", "1", "200-980", "007", "VALUE:4" ], [ "2B", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "2B", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "2B", "1", "1", "001-099", "007", "VALUE:4" ], [ "2B", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "2B", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "2B", "1", "1", "100-199", "007", "VALUE:4" ], [ "2B", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "2B", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "2B", "1", "1", "200-980", "007", "VALUE:4" ], [ "2B", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "2B", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "2B", "X", "1", "001-099", "007", "VALUE:4" ], [ "2B", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "2B", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "2B", "X", "1", "100-199", "007", "VALUE:4" ], [ "2B", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "2B", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "2B", "X", "1", "200-980", "007", "VALUE:4" ], [ "2B", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "2B", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "2C", "0", "1", "001-099", "007", "VALUE:4" ], [ "2C", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "2C", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "2C", "0", "1", "100-199", "007", "VALUE:4" ], [ "2C", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "2C", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "2C", "0", "1", "200-980", "007", "VALUE:4" ], [ "2C", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "2C", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "2C", "1", "1", "001-099", "007", "VALUE:4" ], [ "2C", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "2C", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "2C", "1", "1", "100-199", "007", "VALUE:4" ], [ "2C", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "2C", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "2C", "1", "1", "200-980", "007", "VALUE:4" ], [ "2C", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "2C", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "2C", "X", "1", "001-099", "007", "VALUE:4" ], [ "2C", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "2C", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "2C", "X", "1", "100-199", "007", "VALUE:4" ], [ "2C", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "2C", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "2C", "X", "1", "200-980", "007", "VALUE:4" ], [ "2C", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "2C", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "2", "0", "1", "001-099", "007", "VALUE:4" ], [ "2", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "2", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "2", "0", "1", "100-199", "007", "VALUE:4" ], [ "2", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "2", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "2", "0", "1", "200-980", "007", "VALUE:4" ], [ "2", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "2", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "2", "1", "1", "001-099", "007", "VALUE:4" ], [ "2", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "2", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "2", "1", "1", "100-199", "007", "VALUE:4" ], [ "2", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "2", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "2", "1", "1", "200-980", "007", "VALUE:4" ], [ "2", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "2", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "2", "X", "1", "001-099", "007", "VALUE:4" ], [ "2", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "2", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "2", "X", "1", "100-199", "007", "VALUE:4" ], [ "2", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "2", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "2", "X", "1", "200-980", "007", "VALUE:4" ], [ "2", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "2", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "3A", "0", "1", "001-099", "007", "VALUE:4" ], [ "3A", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "3A", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "3A", "0", "1", "100-199", "007", "VALUE:4" ], [ "3A", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "3A", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "3A", "0", "1", "200-980", "007", "VALUE:4" ], [ "3A", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "3A", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "3A", "1", "1", "001-099", "007", "VALUE:4" ], [ "3A", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "3A", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "3A", "1", "1", "100-199", "007", "VALUE:4" ], [ "3A", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "3A", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "3A", "1", "1", "200-980", "007", "VALUE:4" ], [ "3A", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "3A", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "3A", "X", "1", "001-099", "007", "VALUE:4" ], [ "3A", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "3A", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "3A", "X", "1", "100-199", "007", "VALUE:4" ], [ "3A", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "3A", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "3A", "X", "1", "200-980", "007", "VALUE:4" ], [ "3A", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "3A", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "3B", "0", "1", "001-099", "007", "VALUE:4" ], [ "3B", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "3B", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "3B", "0", "1", "100-199", "007", "VALUE:4" ], [ "3B", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "3B", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "3B", "0", "1", "200-980", "007", "VALUE:4" ], [ "3B", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "3B", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "3B", "1", "1", "001-099", "007", "VALUE:4" ], [ "3B", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "3B", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "3B", "1", "1", "100-199", "007", "VALUE:4" ], [ "3B", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "3B", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "3B", "1", "1", "200-980", "007", "VALUE:4" ], [ "3B", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "3B", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "3B", "X", "1", "001-099", "007", "VALUE:4" ], [ "3B", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "3B", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "3B", "X", "1", "100-199", "007", "VALUE:4" ], [ "3B", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "3B", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "3B", "X", "1", "200-980", "007", "VALUE:4" ], [ "3B", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "3B", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "3", "0", "1", "001-099", "007", "VALUE:4" ], [ "3", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "3", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "3", "0", "1", "100-199", "007", "VALUE:4" ], [ "3", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "3", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "3", "0", "1", "200-980", "007", "VALUE:4" ], [ "3", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "3", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "3", "1", "1", "001-099", "007", "VALUE:4" ], [ "3", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "3", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "3", "1", "1", "100-199", "007", "VALUE:4" ], [ "3", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "3", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "3", "1", "1", "200-980", "007", "VALUE:4" ], [ "3", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "3", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "3", "X", "1", "001-099", "007", "VALUE:4" ], [ "3", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "3", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "3", "X", "1", "100-199", "007", "VALUE:4" ], [ "3", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "3", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "3", "X", "1", "200-980", "007", "VALUE:4" ], [ "3", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "3", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "4", "0", "1", "001-099", "007", "VALUE:4" ], [ "4", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "4", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "4", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "4", "0", "1", "100-199", "007", "VALUE:4" ], [ "4", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "4", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "4", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "4", "0", "1", "200-980", "007", "VALUE:4" ], [ "4", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "4", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "4", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "4", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "4", "1", "1", "001-099", "007", "VALUE:4" ], [ "4", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "4", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "4", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "4", "1", "1", "100-199", "007", "VALUE:4" ], [ "4", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "4", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "4", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "4", "1", "1", "200-980", "007", "VALUE:4" ], [ "4", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "4", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "4", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "4", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "4", "X", "1", "001-099", "007", "VALUE:4" ], [ "4", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "4", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "4", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "4", "X", "1", "100-199", "007", "VALUE:4" ], [ "4", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "4", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "4", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "4", "X", "1", "200-980", "007", "VALUE:4" ], [ "4", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "4", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "4", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "4", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "X", "0", "1", "001-099", "007", "VALUE:4" ], [ "X", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "X", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "X", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "X", "0", "1", "100-199", "007", "VALUE:4" ], [ "X", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "X", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "X", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "X", "0", "1", "200-980", "007", "VALUE:4" ], [ "X", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "X", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "X", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "X", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "X", "1", "1", "001-099", "007", "VALUE:4" ], [ "X", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "X", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "X", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "X", "1", "1", "100-199", "007", "VALUE:4" ], [ "X", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "X", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "X", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "X", "1", "1", "200-980", "007", "VALUE:4" ], [ "X", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "X", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "X", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "X", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "X", "X", "1", "001-099", "007", "VALUE:4" ], [ "X", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "X", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "X", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "X", "X", "1", "100-199", "007", "VALUE:4" ], [ "X", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "X", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "X", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "X", "X", "1", "200-980", "007", "VALUE:4" ], [ "X", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "X", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "X", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "X", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "88", "88", "88", "*", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubq.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubq.json deleted file mode 100644 index 2bf244072..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubq.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:02.582Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2", "0", "VALUE:3" ], [ "0", "3", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:2A" ], [ "IS", "2", "0", "VALUE:3A" ], [ "IS", "3", "0", "VALUE:3B" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:2A" ], [ "1A", "2", "0", "VALUE:3A" ], [ "1A", "3", "0", "VALUE:3B" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1A" ], [ "1B", "1", "0", "VALUE:2A" ], [ "1B", "2", "0", "VALUE:3A" ], [ "1B", "3", "0", "VALUE:3B" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1A" ], [ "1", "1", "0", "VALUE:2A" ], [ "1", "2", "0", "VALUE:3A" ], [ "1", "3", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:1B" ], [ "2A", "1", "0", "VALUE:2A" ], [ "2A", "2", "0", "VALUE:3A" ], [ "2A", "3", "0", "VALUE:3B" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2A" ], [ "2B", "1", "0", "VALUE:2B" ], [ "2B", "2", "0", "VALUE:3A" ], [ "2B", "3", "0", "VALUE:3B" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:99" ], [ "2", "1", "0", "VALUE:2" ], [ "2", "2", "0", "VALUE:3A" ], [ "2", "3", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2B" ], [ "3", "1", "0", "VALUE:3A" ], [ "3", "2", "0", "VALUE:3A" ], [ "3", "3", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3A" ], [ "4", "1", "0", "VALUE:3A" ], [ "4", "2", "0", "VALUE:3B" ], [ "4", "3", "0", "VALUE:3B" ], [ "4", "X", "0", "VALUE:3" ], [ "X", "0", "0", "JUMP:lung_occult_stage_11131" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:3" ], [ "X", "3", "0", "VALUE:3B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1A", "VALUE:4" ], [ "0", "1", "1A", "VALUE:4" ], [ "0", "2", "1A", "VALUE:4" ], [ "0", "3", "1A", "VALUE:4" ], [ "0", "X", "1A", "VALUE:4" ], [ "IS", "0", "1A", "VALUE:4" ], [ "IS", "1", "1A", "VALUE:4" ], [ "IS", "2", "1A", "VALUE:4" ], [ "IS", "3", "1A", "VALUE:4" ], [ "IS", "X", "1A", "VALUE:4" ], [ "1A", "0", "1A", "VALUE:4" ], [ "1A", "1", "1A", "VALUE:4" ], [ "1A", "2", "1A", "VALUE:4" ], [ "1A", "3", "1A", "VALUE:4" ], [ "1A", "X", "1A", "VALUE:4" ], [ "1B", "0", "1A", "VALUE:4" ], [ "1B", "1", "1A", "VALUE:4" ], [ "1B", "2", "1A", "VALUE:4" ], [ "1B", "3", "1A", "VALUE:4" ], [ "1B", "X", "1A", "VALUE:4" ], [ "1", "0", "1A", "VALUE:4" ], [ "1", "1", "1A", "VALUE:4" ], [ "1", "2", "1A", "VALUE:4" ], [ "1", "3", "1A", "VALUE:4" ], [ "1", "X", "1A", "VALUE:4" ], [ "2A", "0", "1A", "VALUE:4" ], [ "2A", "1", "1A", "VALUE:4" ], [ "2A", "2", "1A", "VALUE:4" ], [ "2A", "3", "1A", "VALUE:4" ], [ "2A", "X", "1A", "VALUE:4" ], [ "2B", "0", "1A", "VALUE:4" ], [ "2B", "1", "1A", "VALUE:4" ], [ "2B", "2", "1A", "VALUE:4" ], [ "2B", "3", "1A", "VALUE:4" ], [ "2B", "X", "1A", "VALUE:4" ], [ "2", "0", "1A", "VALUE:4" ], [ "2", "1", "1A", "VALUE:4" ], [ "2", "2", "1A", "VALUE:4" ], [ "2", "3", "1A", "VALUE:4" ], [ "2", "X", "1A", "VALUE:4" ], [ "3", "0", "1A", "VALUE:4" ], [ "3", "1", "1A", "VALUE:4" ], [ "3", "2", "1A", "VALUE:4" ], [ "3", "3", "1A", "VALUE:4" ], [ "3", "X", "1A", "VALUE:4" ], [ "4", "0", "1A", "VALUE:4" ], [ "4", "1", "1A", "VALUE:4" ], [ "4", "2", "1A", "VALUE:4" ], [ "4", "3", "1A", "VALUE:4" ], [ "4", "X", "1A", "VALUE:4" ], [ "X", "0", "1A", "VALUE:4" ], [ "X", "1", "1A", "VALUE:4" ], [ "X", "2", "1A", "VALUE:4" ], [ "X", "3", "1A", "VALUE:4" ], [ "X", "X", "1A", "VALUE:4" ], [ "0", "0", "1B", "VALUE:4" ], [ "0", "1", "1B", "VALUE:4" ], [ "0", "2", "1B", "VALUE:4" ], [ "0", "3", "1B", "VALUE:4" ], [ "0", "X", "1B", "VALUE:4" ], [ "IS", "0", "1B", "VALUE:4" ], [ "IS", "1", "1B", "VALUE:4" ], [ "IS", "2", "1B", "VALUE:4" ], [ "IS", "3", "1B", "VALUE:4" ], [ "IS", "X", "1B", "VALUE:4" ], [ "1A", "0", "1B", "VALUE:4" ], [ "1A", "1", "1B", "VALUE:4" ], [ "1A", "2", "1B", "VALUE:4" ], [ "1A", "3", "1B", "VALUE:4" ], [ "1A", "X", "1B", "VALUE:4" ], [ "1B", "0", "1B", "VALUE:4" ], [ "1B", "1", "1B", "VALUE:4" ], [ "1B", "2", "1B", "VALUE:4" ], [ "1B", "3", "1B", "VALUE:4" ], [ "1B", "X", "1B", "VALUE:4" ], [ "1", "0", "1B", "VALUE:4" ], [ "1", "1", "1B", "VALUE:4" ], [ "1", "2", "1B", "VALUE:4" ], [ "1", "3", "1B", "VALUE:4" ], [ "1", "X", "1B", "VALUE:4" ], [ "2A", "0", "1B", "VALUE:4" ], [ "2A", "1", "1B", "VALUE:4" ], [ "2A", "2", "1B", "VALUE:4" ], [ "2A", "3", "1B", "VALUE:4" ], [ "2A", "X", "1B", "VALUE:4" ], [ "2B", "0", "1B", "VALUE:4" ], [ "2B", "1", "1B", "VALUE:4" ], [ "2B", "2", "1B", "VALUE:4" ], [ "2B", "3", "1B", "VALUE:4" ], [ "2B", "X", "1B", "VALUE:4" ], [ "2", "0", "1B", "VALUE:4" ], [ "2", "1", "1B", "VALUE:4" ], [ "2", "2", "1B", "VALUE:4" ], [ "2", "3", "1B", "VALUE:4" ], [ "2", "X", "1B", "VALUE:4" ], [ "3", "0", "1B", "VALUE:4" ], [ "3", "1", "1B", "VALUE:4" ], [ "3", "2", "1B", "VALUE:4" ], [ "3", "3", "1B", "VALUE:4" ], [ "3", "X", "1B", "VALUE:4" ], [ "4", "0", "1B", "VALUE:4" ], [ "4", "1", "1B", "VALUE:4" ], [ "4", "2", "1B", "VALUE:4" ], [ "4", "3", "1B", "VALUE:4" ], [ "4", "X", "1B", "VALUE:4" ], [ "X", "0", "1B", "VALUE:4" ], [ "X", "1", "1B", "VALUE:4" ], [ "X", "2", "1B", "VALUE:4" ], [ "X", "3", "1B", "VALUE:4" ], [ "X", "X", "1B", "VALUE:4" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "2", "1", "VALUE:4" ], [ "IS", "3", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "VALUE:4" ], [ "1A", "3", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "VALUE:4" ], [ "1B", "3", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "2", "1", "VALUE:4" ], [ "2A", "3", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "2", "1", "VALUE:4" ], [ "2B", "3", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubs.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubs.json deleted file mode 100644 index 05a828eb0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubs.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubs", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:04.706Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3C1" ], [ "0", "2", "0", "VALUE:3C2" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3C1" ], [ "IS", "2", "0", "VALUE:3C2" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3C1" ], [ "1A", "2", "0", "VALUE:3C2" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3C1" ], [ "1B", "2", "0", "VALUE:3C2" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3C1" ], [ "1", "2", "0", "VALUE:3C2" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3C1" ], [ "2", "2", "0", "VALUE:3C2" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:3C1" ], [ "3A", "2", "0", "VALUE:3C2" ], [ "3A", "X", "0", "VALUE:3A" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:3C1" ], [ "3B", "2", "0", "VALUE:3C2" ], [ "3B", "X", "0", "VALUE:3" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3C1" ], [ "3", "2", "0", "VALUE:3C2" ], [ "3", "X", "0", "VALUE:3" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "2", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:4A" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "2", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "IS", "0", "1", "VALUE:4B" ], [ "IS", "1", "1", "VALUE:4B" ], [ "IS", "2", "1", "VALUE:4B" ], [ "IS", "X", "1", "VALUE:4B" ], [ "1A", "0", "1", "VALUE:4B" ], [ "1A", "1", "1", "VALUE:4B" ], [ "1A", "2", "1", "VALUE:4B" ], [ "1A", "X", "1", "VALUE:4B" ], [ "1B", "0", "1", "VALUE:4B" ], [ "1B", "1", "1", "VALUE:4B" ], [ "1B", "2", "1", "VALUE:4B" ], [ "1B", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "2", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "2", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3A", "0", "1", "VALUE:4B" ], [ "3A", "1", "1", "VALUE:4B" ], [ "3A", "2", "1", "VALUE:4B" ], [ "3A", "X", "1", "VALUE:4B" ], [ "3B", "0", "1", "VALUE:4B" ], [ "3B", "1", "1", "VALUE:4B" ], [ "3B", "2", "1", "VALUE:4B" ], [ "3B", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "2", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "2", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "2", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubt.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubt.json deleted file mode 100644 index 0718c2d34..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubt.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubt", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:05.071Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3C" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3C" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3C" ], [ "1B", "X", "0", "VALUE:99" ], [ "1C", "0", "0", "VALUE:1C" ], [ "1C", "1", "0", "VALUE:3C" ], [ "1C", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3C" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2A" ], [ "2A", "1", "0", "VALUE:3C" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2B" ], [ "2B", "1", "0", "VALUE:3C" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3C" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:3C" ], [ "3A", "X", "0", "VALUE:3" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:3C" ], [ "3B", "X", "0", "VALUE:3" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3C" ], [ "3", "X", "0", "VALUE:3" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:4A" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "1A", "0", "1", "VALUE:4B" ], [ "1A", "1", "1", "VALUE:4B" ], [ "1A", "X", "1", "VALUE:4B" ], [ "1B", "0", "1", "VALUE:4B" ], [ "1B", "1", "1", "VALUE:4B" ], [ "1B", "X", "1", "VALUE:4B" ], [ "1C", "0", "1", "VALUE:4B" ], [ "1C", "1", "1", "VALUE:4B" ], [ "1C", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2A", "0", "1", "VALUE:4B" ], [ "2A", "1", "1", "VALUE:4B" ], [ "2A", "X", "1", "VALUE:4B" ], [ "2B", "0", "1", "VALUE:4B" ], [ "2B", "1", "1", "VALUE:4B" ], [ "2B", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3A", "0", "1", "VALUE:4B" ], [ "3A", "1", "1", "VALUE:4B" ], [ "3A", "X", "1", "VALUE:4B" ], [ "3B", "0", "1", "VALUE:4B" ], [ "3B", "1", "1", "VALUE:4B" ], [ "3B", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubu.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubu.json deleted file mode 100644 index 7fff34bf3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubu.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubu", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:00.182Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3C" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3C" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3C" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3C" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2A" ], [ "2A", "1", "0", "VALUE:3C" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2B" ], [ "2B", "1", "0", "VALUE:3C" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3C" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:3C" ], [ "3A", "X", "0", "VALUE:3" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:3C" ], [ "3B", "X", "0", "VALUE:3" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3C" ], [ "3", "X", "0", "VALUE:3" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:4A" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "1A", "0", "1", "VALUE:4B" ], [ "1A", "1", "1", "VALUE:4B" ], [ "1A", "X", "1", "VALUE:4B" ], [ "1B", "0", "1", "VALUE:4B" ], [ "1B", "1", "1", "VALUE:4B" ], [ "1B", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2A", "0", "1", "VALUE:4B" ], [ "2A", "1", "1", "VALUE:4B" ], [ "2A", "X", "1", "VALUE:4B" ], [ "2B", "0", "1", "VALUE:4B" ], [ "2B", "1", "1", "VALUE:4B" ], [ "2B", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3A", "0", "1", "VALUE:4B" ], [ "3A", "1", "1", "VALUE:4B" ], [ "3A", "X", "1", "VALUE:4B" ], [ "3B", "0", "1", "VALUE:4B" ], [ "3B", "1", "1", "VALUE:4B" ], [ "3B", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubv.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubv.json deleted file mode 100644 index b2f0f8cd8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubv.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubv", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:05.005Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3" ], [ "0", "1A", "0", "VALUE:3" ], [ "0", "1B", "0", "VALUE:3" ], [ "0", "2", "0", "VALUE:3" ], [ "0", "2A", "0", "VALUE:3" ], [ "0", "2B", "0", "VALUE:3" ], [ "0", "2C", "0", "VALUE:3" ], [ "0", "3", "0", "VALUE:3C" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3" ], [ "IS", "1A", "0", "VALUE:3A" ], [ "IS", "1B", "0", "VALUE:3B" ], [ "IS", "2", "0", "VALUE:3" ], [ "IS", "2A", "0", "VALUE:3A" ], [ "IS", "2B", "0", "VALUE:3B" ], [ "IS", "2C", "0", "VALUE:3B" ], [ "IS", "3", "0", "VALUE:3C" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3" ], [ "1A", "1A", "0", "VALUE:3A" ], [ "1A", "1B", "0", "VALUE:3B" ], [ "1A", "2", "0", "VALUE:3" ], [ "1A", "2A", "0", "VALUE:3A" ], [ "1A", "2B", "0", "VALUE:3B" ], [ "1A", "2C", "0", "VALUE:3B" ], [ "1A", "3", "0", "VALUE:3C" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3" ], [ "1B", "1A", "0", "VALUE:3B" ], [ "1B", "1B", "0", "VALUE:3C" ], [ "1B", "2", "0", "VALUE:3" ], [ "1B", "2A", "0", "VALUE:3B" ], [ "1B", "2B", "0", "VALUE:3C" ], [ "1B", "2C", "0", "VALUE:3C" ], [ "1B", "3", "0", "VALUE:3C" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "1A", "0", "VALUE:3" ], [ "1", "1B", "0", "VALUE:3" ], [ "1", "2", "0", "VALUE:3" ], [ "1", "2A", "0", "VALUE:3" ], [ "1", "2B", "0", "VALUE:3" ], [ "1", "2C", "0", "VALUE:3" ], [ "1", "3", "0", "VALUE:3C" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:1B" ], [ "2A", "1", "0", "VALUE:3" ], [ "2A", "1A", "0", "VALUE:3A" ], [ "2A", "1B", "0", "VALUE:3B" ], [ "2A", "2", "0", "VALUE:3" ], [ "2A", "2A", "0", "VALUE:3A" ], [ "2A", "2B", "0", "VALUE:3B" ], [ "2A", "2C", "0", "VALUE:3B" ], [ "2A", "3", "0", "VALUE:3C" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2A" ], [ "2B", "1", "0", "VALUE:3" ], [ "2B", "1A", "0", "VALUE:3B" ], [ "2B", "1B", "0", "VALUE:3C" ], [ "2B", "2", "0", "VALUE:3" ], [ "2B", "2A", "0", "VALUE:3B" ], [ "2B", "2B", "0", "VALUE:3C" ], [ "2B", "2C", "0", "VALUE:3C" ], [ "2B", "3", "0", "VALUE:3C" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:99" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "1A", "0", "VALUE:3" ], [ "2", "1B", "0", "VALUE:3" ], [ "2", "2", "0", "VALUE:3" ], [ "2", "2A", "0", "VALUE:3" ], [ "2", "2B", "0", "VALUE:3" ], [ "2", "2C", "0", "VALUE:3" ], [ "2", "3", "0", "VALUE:3C" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:2A" ], [ "3A", "1", "0", "VALUE:3" ], [ "3A", "1A", "0", "VALUE:3A" ], [ "3A", "1B", "0", "VALUE:3B" ], [ "3A", "2", "0", "VALUE:3" ], [ "3A", "2A", "0", "VALUE:3A" ], [ "3A", "2B", "0", "VALUE:3B" ], [ "3A", "2C", "0", "VALUE:3B" ], [ "3A", "3", "0", "VALUE:3C" ], [ "3A", "X", "0", "VALUE:99" ], [ "3B", "0", "0", "VALUE:2B" ], [ "3B", "1", "0", "VALUE:3" ], [ "3B", "1A", "0", "VALUE:3B" ], [ "3B", "1B", "0", "VALUE:3C" ], [ "3B", "2", "0", "VALUE:3" ], [ "3B", "2A", "0", "VALUE:3B" ], [ "3B", "2B", "0", "VALUE:3C" ], [ "3B", "2C", "0", "VALUE:3C" ], [ "3B", "3", "0", "VALUE:3C" ], [ "3B", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "1A", "0", "VALUE:3" ], [ "3", "1B", "0", "VALUE:3" ], [ "3", "2", "0", "VALUE:3" ], [ "3", "2A", "0", "VALUE:3" ], [ "3", "2B", "0", "VALUE:3" ], [ "3", "2C", "0", "VALUE:3" ], [ "3", "3", "0", "VALUE:3C" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:2B" ], [ "4A", "1", "0", "VALUE:3" ], [ "4A", "1A", "0", "VALUE:3A" ], [ "4A", "1B", "0", "VALUE:3B" ], [ "4A", "2", "0", "VALUE:3" ], [ "4A", "2A", "0", "VALUE:3A" ], [ "4A", "2B", "0", "VALUE:3B" ], [ "4A", "2C", "0", "VALUE:3B" ], [ "4A", "3", "0", "VALUE:3C" ], [ "4A", "X", "0", "VALUE:99" ], [ "4B", "0", "0", "VALUE:2C" ], [ "4B", "1", "0", "VALUE:3" ], [ "4B", "1A", "0", "VALUE:3B" ], [ "4B", "1B", "0", "VALUE:3C" ], [ "4B", "2", "0", "VALUE:3" ], [ "4B", "2A", "0", "VALUE:3B" ], [ "4B", "2B", "0", "VALUE:3C" ], [ "4B", "2C", "0", "VALUE:3C" ], [ "4B", "3", "0", "VALUE:3C" ], [ "4B", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:2" ], [ "4", "1", "0", "VALUE:3" ], [ "4", "1A", "0", "VALUE:3" ], [ "4", "1B", "0", "VALUE:3" ], [ "4", "2", "0", "VALUE:3" ], [ "4", "2A", "0", "VALUE:3" ], [ "4", "2B", "0", "VALUE:3" ], [ "4", "2C", "0", "VALUE:3" ], [ "4", "3", "0", "VALUE:3C" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3" ], [ "X", "1A", "0", "VALUE:3" ], [ "X", "1B", "0", "VALUE:3" ], [ "X", "2", "0", "VALUE:3" ], [ "X", "2A", "0", "VALUE:3" ], [ "X", "2B", "0", "VALUE:3" ], [ "X", "2C", "0", "VALUE:3" ], [ "X", "3", "0", "VALUE:3C" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1A", "VALUE:4" ], [ "0", "1", "1A", "VALUE:4" ], [ "0", "1A", "1A", "VALUE:4" ], [ "0", "1B", "1A", "VALUE:4" ], [ "0", "2", "1A", "VALUE:4" ], [ "0", "2A", "1A", "VALUE:4" ], [ "0", "2B", "1A", "VALUE:4" ], [ "0", "2C", "1A", "VALUE:4" ], [ "0", "3", "1A", "VALUE:4" ], [ "0", "X", "1A", "VALUE:4" ], [ "IS", "0", "1A", "VALUE:4" ], [ "IS", "1", "1A", "VALUE:4" ], [ "IS", "1A", "1A", "VALUE:4" ], [ "IS", "1B", "1A", "VALUE:4" ], [ "IS", "2", "1A", "VALUE:4" ], [ "IS", "2A", "1A", "VALUE:4" ], [ "IS", "2B", "1A", "VALUE:4" ], [ "IS", "2C", "1A", "VALUE:4" ], [ "IS", "3", "1A", "VALUE:4" ], [ "IS", "X", "1A", "VALUE:4" ], [ "1A", "0", "1A", "VALUE:4" ], [ "1A", "1", "1A", "VALUE:4" ], [ "1A", "1A", "1A", "VALUE:4" ], [ "1A", "1B", "1A", "VALUE:4" ], [ "1A", "2", "1A", "VALUE:4" ], [ "1A", "2A", "1A", "VALUE:4" ], [ "1A", "2B", "1A", "VALUE:4" ], [ "1A", "2C", "1A", "VALUE:4" ], [ "1A", "3", "1A", "VALUE:4" ], [ "1A", "X", "1A", "VALUE:4" ], [ "1B", "0", "1A", "VALUE:4" ], [ "1B", "1", "1A", "VALUE:4" ], [ "1B", "1A", "1A", "VALUE:4" ], [ "1B", "1B", "1A", "VALUE:4" ], [ "1B", "2", "1A", "VALUE:4" ], [ "1B", "2A", "1A", "VALUE:4" ], [ "1B", "2B", "1A", "VALUE:4" ], [ "1B", "2C", "1A", "VALUE:4" ], [ "1B", "3", "1A", "VALUE:4" ], [ "1B", "X", "1A", "VALUE:4" ], [ "1", "0", "1A", "VALUE:4" ], [ "1", "1", "1A", "VALUE:4" ], [ "1", "1A", "1A", "VALUE:4" ], [ "1", "1B", "1A", "VALUE:4" ], [ "1", "2", "1A", "VALUE:4" ], [ "1", "2A", "1A", "VALUE:4" ], [ "1", "2B", "1A", "VALUE:4" ], [ "1", "2C", "1A", "VALUE:4" ], [ "1", "3", "1A", "VALUE:4" ], [ "1", "X", "1A", "VALUE:4" ], [ "2A", "0", "1A", "VALUE:4" ], [ "2A", "1", "1A", "VALUE:4" ], [ "2A", "1A", "1A", "VALUE:4" ], [ "2A", "1B", "1A", "VALUE:4" ], [ "2A", "2", "1A", "VALUE:4" ], [ "2A", "2A", "1A", "VALUE:4" ], [ "2A", "2B", "1A", "VALUE:4" ], [ "2A", "2C", "1A", "VALUE:4" ], [ "2A", "3", "1A", "VALUE:4" ], [ "2A", "X", "1A", "VALUE:4" ], [ "2B", "0", "1A", "VALUE:4" ], [ "2B", "1", "1A", "VALUE:4" ], [ "2B", "1A", "1A", "VALUE:4" ], [ "2B", "1B", "1A", "VALUE:4" ], [ "2B", "2", "1A", "VALUE:4" ], [ "2B", "2A", "1A", "VALUE:4" ], [ "2B", "2B", "1A", "VALUE:4" ], [ "2B", "2C", "1A", "VALUE:4" ], [ "2B", "3", "1A", "VALUE:4" ], [ "2B", "X", "1A", "VALUE:4" ], [ "2", "0", "1A", "VALUE:4" ], [ "2", "1", "1A", "VALUE:4" ], [ "2", "1A", "1A", "VALUE:4" ], [ "2", "1B", "1A", "VALUE:4" ], [ "2", "2", "1A", "VALUE:4" ], [ "2", "2A", "1A", "VALUE:4" ], [ "2", "2B", "1A", "VALUE:4" ], [ "2", "2C", "1A", "VALUE:4" ], [ "2", "3", "1A", "VALUE:4" ], [ "2", "X", "1A", "VALUE:4" ], [ "3A", "0", "1A", "VALUE:4" ], [ "3A", "1", "1A", "VALUE:4" ], [ "3A", "1A", "1A", "VALUE:4" ], [ "3A", "1B", "1A", "VALUE:4" ], [ "3A", "2", "1A", "VALUE:4" ], [ "3A", "2A", "1A", "VALUE:4" ], [ "3A", "2B", "1A", "VALUE:4" ], [ "3A", "2C", "1A", "VALUE:4" ], [ "3A", "3", "1A", "VALUE:4" ], [ "3A", "X", "1A", "VALUE:4" ], [ "3B", "0", "1A", "VALUE:4" ], [ "3B", "1", "1A", "VALUE:4" ], [ "3B", "1A", "1A", "VALUE:4" ], [ "3B", "1B", "1A", "VALUE:4" ], [ "3B", "2", "1A", "VALUE:4" ], [ "3B", "2A", "1A", "VALUE:4" ], [ "3B", "2B", "1A", "VALUE:4" ], [ "3B", "2C", "1A", "VALUE:4" ], [ "3B", "3", "1A", "VALUE:4" ], [ "3B", "X", "1A", "VALUE:4" ], [ "3", "0", "1A", "VALUE:4" ], [ "3", "1", "1A", "VALUE:4" ], [ "3", "1A", "1A", "VALUE:4" ], [ "3", "1B", "1A", "VALUE:4" ], [ "3", "2", "1A", "VALUE:4" ], [ "3", "2A", "1A", "VALUE:4" ], [ "3", "2B", "1A", "VALUE:4" ], [ "3", "2C", "1A", "VALUE:4" ], [ "3", "3", "1A", "VALUE:4" ], [ "3", "X", "1A", "VALUE:4" ], [ "4A", "0", "1A", "VALUE:4" ], [ "4A", "1", "1A", "VALUE:4" ], [ "4A", "1A", "1A", "VALUE:4" ], [ "4A", "1B", "1A", "VALUE:4" ], [ "4A", "2", "1A", "VALUE:4" ], [ "4A", "2A", "1A", "VALUE:4" ], [ "4A", "2B", "1A", "VALUE:4" ], [ "4A", "2C", "1A", "VALUE:4" ], [ "4A", "3", "1A", "VALUE:4" ], [ "4A", "X", "1A", "VALUE:4" ], [ "4B", "0", "1A", "VALUE:4" ], [ "4B", "1", "1A", "VALUE:4" ], [ "4B", "1A", "1A", "VALUE:4" ], [ "4B", "1B", "1A", "VALUE:4" ], [ "4B", "2", "1A", "VALUE:4" ], [ "4B", "2A", "1A", "VALUE:4" ], [ "4B", "2B", "1A", "VALUE:4" ], [ "4B", "2C", "1A", "VALUE:4" ], [ "4B", "3", "1A", "VALUE:4" ], [ "4B", "X", "1A", "VALUE:4" ], [ "4", "0", "1A", "VALUE:4" ], [ "4", "1", "1A", "VALUE:4" ], [ "4", "1A", "1A", "VALUE:4" ], [ "4", "1B", "1A", "VALUE:4" ], [ "4", "2", "1A", "VALUE:4" ], [ "4", "2A", "1A", "VALUE:4" ], [ "4", "2B", "1A", "VALUE:4" ], [ "4", "2C", "1A", "VALUE:4" ], [ "4", "3", "1A", "VALUE:4" ], [ "4", "X", "1A", "VALUE:4" ], [ "X", "0", "1A", "VALUE:4" ], [ "X", "1", "1A", "VALUE:4" ], [ "X", "1A", "1A", "VALUE:4" ], [ "X", "1B", "1A", "VALUE:4" ], [ "X", "2", "1A", "VALUE:4" ], [ "X", "2A", "1A", "VALUE:4" ], [ "X", "2B", "1A", "VALUE:4" ], [ "X", "2C", "1A", "VALUE:4" ], [ "X", "3", "1A", "VALUE:4" ], [ "X", "X", "1A", "VALUE:4" ], [ "0", "0", "1B", "VALUE:4" ], [ "0", "1", "1B", "VALUE:4" ], [ "0", "1A", "1B", "VALUE:4" ], [ "0", "1B", "1B", "VALUE:4" ], [ "0", "2", "1B", "VALUE:4" ], [ "0", "2A", "1B", "VALUE:4" ], [ "0", "2B", "1B", "VALUE:4" ], [ "0", "2C", "1B", "VALUE:4" ], [ "0", "3", "1B", "VALUE:4" ], [ "0", "X", "1B", "VALUE:4" ], [ "IS", "0", "1B", "VALUE:4" ], [ "IS", "1", "1B", "VALUE:4" ], [ "IS", "1A", "1B", "VALUE:4" ], [ "IS", "1B", "1B", "VALUE:4" ], [ "IS", "2", "1B", "VALUE:4" ], [ "IS", "2A", "1B", "VALUE:4" ], [ "IS", "2B", "1B", "VALUE:4" ], [ "IS", "2C", "1B", "VALUE:4" ], [ "IS", "3", "1B", "VALUE:4" ], [ "IS", "X", "1B", "VALUE:4" ], [ "1A", "0", "1B", "VALUE:4" ], [ "1A", "1", "1B", "VALUE:4" ], [ "1A", "1A", "1B", "VALUE:4" ], [ "1A", "1B", "1B", "VALUE:4" ], [ "1A", "2", "1B", "VALUE:4" ], [ "1A", "2A", "1B", "VALUE:4" ], [ "1A", "2B", "1B", "VALUE:4" ], [ "1A", "2C", "1B", "VALUE:4" ], [ "1A", "3", "1B", "VALUE:4" ], [ "1A", "X", "1B", "VALUE:4" ], [ "1B", "0", "1B", "VALUE:4" ], [ "1B", "1", "1B", "VALUE:4" ], [ "1B", "1A", "1B", "VALUE:4" ], [ "1B", "1B", "1B", "VALUE:4" ], [ "1B", "2", "1B", "VALUE:4" ], [ "1B", "2A", "1B", "VALUE:4" ], [ "1B", "2B", "1B", "VALUE:4" ], [ "1B", "2C", "1B", "VALUE:4" ], [ "1B", "3", "1B", "VALUE:4" ], [ "1B", "X", "1B", "VALUE:4" ], [ "1", "0", "1B", "VALUE:4" ], [ "1", "1", "1B", "VALUE:4" ], [ "1", "1A", "1B", "VALUE:4" ], [ "1", "1B", "1B", "VALUE:4" ], [ "1", "2", "1B", "VALUE:4" ], [ "1", "2A", "1B", "VALUE:4" ], [ "1", "2B", "1B", "VALUE:4" ], [ "1", "2C", "1B", "VALUE:4" ], [ "1", "3", "1B", "VALUE:4" ], [ "1", "X", "1B", "VALUE:4" ], [ "2A", "0", "1B", "VALUE:4" ], [ "2A", "1", "1B", "VALUE:4" ], [ "2A", "1A", "1B", "VALUE:4" ], [ "2A", "1B", "1B", "VALUE:4" ], [ "2A", "2", "1B", "VALUE:4" ], [ "2A", "2A", "1B", "VALUE:4" ], [ "2A", "2B", "1B", "VALUE:4" ], [ "2A", "2C", "1B", "VALUE:4" ], [ "2A", "3", "1B", "VALUE:4" ], [ "2A", "X", "1B", "VALUE:4" ], [ "2B", "0", "1B", "VALUE:4" ], [ "2B", "1", "1B", "VALUE:4" ], [ "2B", "1A", "1B", "VALUE:4" ], [ "2B", "1B", "1B", "VALUE:4" ], [ "2B", "2", "1B", "VALUE:4" ], [ "2B", "2A", "1B", "VALUE:4" ], [ "2B", "2B", "1B", "VALUE:4" ], [ "2B", "2C", "1B", "VALUE:4" ], [ "2B", "3", "1B", "VALUE:4" ], [ "2B", "X", "1B", "VALUE:4" ], [ "2", "0", "1B", "VALUE:4" ], [ "2", "1", "1B", "VALUE:4" ], [ "2", "1A", "1B", "VALUE:4" ], [ "2", "1B", "1B", "VALUE:4" ], [ "2", "2", "1B", "VALUE:4" ], [ "2", "2A", "1B", "VALUE:4" ], [ "2", "2B", "1B", "VALUE:4" ], [ "2", "2C", "1B", "VALUE:4" ], [ "2", "3", "1B", "VALUE:4" ], [ "2", "X", "1B", "VALUE:4" ], [ "3A", "0", "1B", "VALUE:4" ], [ "3A", "1", "1B", "VALUE:4" ], [ "3A", "1A", "1B", "VALUE:4" ], [ "3A", "1B", "1B", "VALUE:4" ], [ "3A", "2", "1B", "VALUE:4" ], [ "3A", "2A", "1B", "VALUE:4" ], [ "3A", "2B", "1B", "VALUE:4" ], [ "3A", "2C", "1B", "VALUE:4" ], [ "3A", "3", "1B", "VALUE:4" ], [ "3A", "X", "1B", "VALUE:4" ], [ "3B", "0", "1B", "VALUE:4" ], [ "3B", "1", "1B", "VALUE:4" ], [ "3B", "1A", "1B", "VALUE:4" ], [ "3B", "1B", "1B", "VALUE:4" ], [ "3B", "2", "1B", "VALUE:4" ], [ "3B", "2A", "1B", "VALUE:4" ], [ "3B", "2B", "1B", "VALUE:4" ], [ "3B", "2C", "1B", "VALUE:4" ], [ "3B", "3", "1B", "VALUE:4" ], [ "3B", "X", "1B", "VALUE:4" ], [ "3", "0", "1B", "VALUE:4" ], [ "3", "1", "1B", "VALUE:4" ], [ "3", "1A", "1B", "VALUE:4" ], [ "3", "1B", "1B", "VALUE:4" ], [ "3", "2", "1B", "VALUE:4" ], [ "3", "2A", "1B", "VALUE:4" ], [ "3", "2B", "1B", "VALUE:4" ], [ "3", "2C", "1B", "VALUE:4" ], [ "3", "3", "1B", "VALUE:4" ], [ "3", "X", "1B", "VALUE:4" ], [ "4A", "0", "1B", "VALUE:4" ], [ "4A", "1", "1B", "VALUE:4" ], [ "4A", "1A", "1B", "VALUE:4" ], [ "4A", "1B", "1B", "VALUE:4" ], [ "4A", "2", "1B", "VALUE:4" ], [ "4A", "2A", "1B", "VALUE:4" ], [ "4A", "2B", "1B", "VALUE:4" ], [ "4A", "2C", "1B", "VALUE:4" ], [ "4A", "3", "1B", "VALUE:4" ], [ "4A", "X", "1B", "VALUE:4" ], [ "4B", "0", "1B", "VALUE:4" ], [ "4B", "1", "1B", "VALUE:4" ], [ "4B", "1A", "1B", "VALUE:4" ], [ "4B", "1B", "1B", "VALUE:4" ], [ "4B", "2", "1B", "VALUE:4" ], [ "4B", "2A", "1B", "VALUE:4" ], [ "4B", "2B", "1B", "VALUE:4" ], [ "4B", "2C", "1B", "VALUE:4" ], [ "4B", "3", "1B", "VALUE:4" ], [ "4B", "X", "1B", "VALUE:4" ], [ "4", "0", "1B", "VALUE:4" ], [ "4", "1", "1B", "VALUE:4" ], [ "4", "1A", "1B", "VALUE:4" ], [ "4", "1B", "1B", "VALUE:4" ], [ "4", "2", "1B", "VALUE:4" ], [ "4", "2A", "1B", "VALUE:4" ], [ "4", "2B", "1B", "VALUE:4" ], [ "4", "2C", "1B", "VALUE:4" ], [ "4", "3", "1B", "VALUE:4" ], [ "4", "X", "1B", "VALUE:4" ], [ "X", "0", "1B", "VALUE:4" ], [ "X", "1", "1B", "VALUE:4" ], [ "X", "1A", "1B", "VALUE:4" ], [ "X", "1B", "1B", "VALUE:4" ], [ "X", "2", "1B", "VALUE:4" ], [ "X", "2A", "1B", "VALUE:4" ], [ "X", "2B", "1B", "VALUE:4" ], [ "X", "2C", "1B", "VALUE:4" ], [ "X", "3", "1B", "VALUE:4" ], [ "X", "X", "1B", "VALUE:4" ], [ "0", "0", "1C", "VALUE:4" ], [ "0", "1", "1C", "VALUE:4" ], [ "0", "1A", "1C", "VALUE:4" ], [ "0", "1B", "1C", "VALUE:4" ], [ "0", "2", "1C", "VALUE:4" ], [ "0", "2A", "1C", "VALUE:4" ], [ "0", "2B", "1C", "VALUE:4" ], [ "0", "2C", "1C", "VALUE:4" ], [ "0", "3", "1C", "VALUE:4" ], [ "0", "X", "1C", "VALUE:4" ], [ "IS", "0", "1C", "VALUE:4" ], [ "IS", "1", "1C", "VALUE:4" ], [ "IS", "1A", "1C", "VALUE:4" ], [ "IS", "1B", "1C", "VALUE:4" ], [ "IS", "2", "1C", "VALUE:4" ], [ "IS", "2A", "1C", "VALUE:4" ], [ "IS", "2B", "1C", "VALUE:4" ], [ "IS", "2C", "1C", "VALUE:4" ], [ "IS", "3", "1C", "VALUE:4" ], [ "IS", "X", "1C", "VALUE:4" ], [ "1A", "0", "1C", "VALUE:4" ], [ "1A", "1", "1C", "VALUE:4" ], [ "1A", "1A", "1C", "VALUE:4" ], [ "1A", "1B", "1C", "VALUE:4" ], [ "1A", "2", "1C", "VALUE:4" ], [ "1A", "2A", "1C", "VALUE:4" ], [ "1A", "2B", "1C", "VALUE:4" ], [ "1A", "2C", "1C", "VALUE:4" ], [ "1A", "3", "1C", "VALUE:4" ], [ "1A", "X", "1C", "VALUE:4" ], [ "1B", "0", "1C", "VALUE:4" ], [ "1B", "1", "1C", "VALUE:4" ], [ "1B", "1A", "1C", "VALUE:4" ], [ "1B", "1B", "1C", "VALUE:4" ], [ "1B", "2", "1C", "VALUE:4" ], [ "1B", "2A", "1C", "VALUE:4" ], [ "1B", "2B", "1C", "VALUE:4" ], [ "1B", "2C", "1C", "VALUE:4" ], [ "1B", "3", "1C", "VALUE:4" ], [ "1B", "X", "1C", "VALUE:4" ], [ "1", "0", "1C", "VALUE:4" ], [ "1", "1", "1C", "VALUE:4" ], [ "1", "1A", "1C", "VALUE:4" ], [ "1", "1B", "1C", "VALUE:4" ], [ "1", "2", "1C", "VALUE:4" ], [ "1", "2A", "1C", "VALUE:4" ], [ "1", "2B", "1C", "VALUE:4" ], [ "1", "2C", "1C", "VALUE:4" ], [ "1", "3", "1C", "VALUE:4" ], [ "1", "X", "1C", "VALUE:4" ], [ "2A", "0", "1C", "VALUE:4" ], [ "2A", "1", "1C", "VALUE:4" ], [ "2A", "1A", "1C", "VALUE:4" ], [ "2A", "1B", "1C", "VALUE:4" ], [ "2A", "2", "1C", "VALUE:4" ], [ "2A", "2A", "1C", "VALUE:4" ], [ "2A", "2B", "1C", "VALUE:4" ], [ "2A", "2C", "1C", "VALUE:4" ], [ "2A", "3", "1C", "VALUE:4" ], [ "2A", "X", "1C", "VALUE:4" ], [ "2B", "0", "1C", "VALUE:4" ], [ "2B", "1", "1C", "VALUE:4" ], [ "2B", "1A", "1C", "VALUE:4" ], [ "2B", "1B", "1C", "VALUE:4" ], [ "2B", "2", "1C", "VALUE:4" ], [ "2B", "2A", "1C", "VALUE:4" ], [ "2B", "2B", "1C", "VALUE:4" ], [ "2B", "2C", "1C", "VALUE:4" ], [ "2B", "3", "1C", "VALUE:4" ], [ "2B", "X", "1C", "VALUE:4" ], [ "2", "0", "1C", "VALUE:4" ], [ "2", "1", "1C", "VALUE:4" ], [ "2", "1A", "1C", "VALUE:4" ], [ "2", "1B", "1C", "VALUE:4" ], [ "2", "2", "1C", "VALUE:4" ], [ "2", "2A", "1C", "VALUE:4" ], [ "2", "2B", "1C", "VALUE:4" ], [ "2", "2C", "1C", "VALUE:4" ], [ "2", "3", "1C", "VALUE:4" ], [ "2", "X", "1C", "VALUE:4" ], [ "3A", "0", "1C", "VALUE:4" ], [ "3A", "1", "1C", "VALUE:4" ], [ "3A", "1A", "1C", "VALUE:4" ], [ "3A", "1B", "1C", "VALUE:4" ], [ "3A", "2", "1C", "VALUE:4" ], [ "3A", "2A", "1C", "VALUE:4" ], [ "3A", "2B", "1C", "VALUE:4" ], [ "3A", "2C", "1C", "VALUE:4" ], [ "3A", "3", "1C", "VALUE:4" ], [ "3A", "X", "1C", "VALUE:4" ], [ "3B", "0", "1C", "VALUE:4" ], [ "3B", "1", "1C", "VALUE:4" ], [ "3B", "1A", "1C", "VALUE:4" ], [ "3B", "1B", "1C", "VALUE:4" ], [ "3B", "2", "1C", "VALUE:4" ], [ "3B", "2A", "1C", "VALUE:4" ], [ "3B", "2B", "1C", "VALUE:4" ], [ "3B", "2C", "1C", "VALUE:4" ], [ "3B", "3", "1C", "VALUE:4" ], [ "3B", "X", "1C", "VALUE:4" ], [ "3", "0", "1C", "VALUE:4" ], [ "3", "1", "1C", "VALUE:4" ], [ "3", "1A", "1C", "VALUE:4" ], [ "3", "1B", "1C", "VALUE:4" ], [ "3", "2", "1C", "VALUE:4" ], [ "3", "2A", "1C", "VALUE:4" ], [ "3", "2B", "1C", "VALUE:4" ], [ "3", "2C", "1C", "VALUE:4" ], [ "3", "3", "1C", "VALUE:4" ], [ "3", "X", "1C", "VALUE:4" ], [ "4A", "0", "1C", "VALUE:4" ], [ "4A", "1", "1C", "VALUE:4" ], [ "4A", "1A", "1C", "VALUE:4" ], [ "4A", "1B", "1C", "VALUE:4" ], [ "4A", "2", "1C", "VALUE:4" ], [ "4A", "2A", "1C", "VALUE:4" ], [ "4A", "2B", "1C", "VALUE:4" ], [ "4A", "2C", "1C", "VALUE:4" ], [ "4A", "3", "1C", "VALUE:4" ], [ "4A", "X", "1C", "VALUE:4" ], [ "4B", "0", "1C", "VALUE:4" ], [ "4B", "1", "1C", "VALUE:4" ], [ "4B", "1A", "1C", "VALUE:4" ], [ "4B", "1B", "1C", "VALUE:4" ], [ "4B", "2", "1C", "VALUE:4" ], [ "4B", "2A", "1C", "VALUE:4" ], [ "4B", "2B", "1C", "VALUE:4" ], [ "4B", "2C", "1C", "VALUE:4" ], [ "4B", "3", "1C", "VALUE:4" ], [ "4B", "X", "1C", "VALUE:4" ], [ "4", "0", "1C", "VALUE:4" ], [ "4", "1", "1C", "VALUE:4" ], [ "4", "1A", "1C", "VALUE:4" ], [ "4", "1B", "1C", "VALUE:4" ], [ "4", "2", "1C", "VALUE:4" ], [ "4", "2A", "1C", "VALUE:4" ], [ "4", "2B", "1C", "VALUE:4" ], [ "4", "2C", "1C", "VALUE:4" ], [ "4", "3", "1C", "VALUE:4" ], [ "4", "X", "1C", "VALUE:4" ], [ "X", "0", "1C", "VALUE:4" ], [ "X", "1", "1C", "VALUE:4" ], [ "X", "1A", "1C", "VALUE:4" ], [ "X", "1B", "1C", "VALUE:4" ], [ "X", "2", "1C", "VALUE:4" ], [ "X", "2A", "1C", "VALUE:4" ], [ "X", "2B", "1C", "VALUE:4" ], [ "X", "2C", "1C", "VALUE:4" ], [ "X", "3", "1C", "VALUE:4" ], [ "X", "X", "1C", "VALUE:4" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "1A", "1", "VALUE:4" ], [ "0", "1B", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "2A", "1", "VALUE:4" ], [ "0", "2B", "1", "VALUE:4" ], [ "0", "2C", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "1A", "1", "VALUE:4" ], [ "IS", "1B", "1", "VALUE:4" ], [ "IS", "2", "1", "VALUE:4" ], [ "IS", "2A", "1", "VALUE:4" ], [ "IS", "2B", "1", "VALUE:4" ], [ "IS", "2C", "1", "VALUE:4" ], [ "IS", "3", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "1A", "1", "VALUE:4" ], [ "1A", "1B", "1", "VALUE:4" ], [ "1A", "2", "1", "VALUE:4" ], [ "1A", "2A", "1", "VALUE:4" ], [ "1A", "2B", "1", "VALUE:4" ], [ "1A", "2C", "1", "VALUE:4" ], [ "1A", "3", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "1A", "1", "VALUE:4" ], [ "1B", "1B", "1", "VALUE:4" ], [ "1B", "2", "1", "VALUE:4" ], [ "1B", "2A", "1", "VALUE:4" ], [ "1B", "2B", "1", "VALUE:4" ], [ "1B", "2C", "1", "VALUE:4" ], [ "1B", "3", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "1A", "1", "VALUE:4" ], [ "1", "1B", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "2A", "1", "VALUE:4" ], [ "1", "2B", "1", "VALUE:4" ], [ "1", "2C", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "1A", "1", "VALUE:4" ], [ "2A", "1B", "1", "VALUE:4" ], [ "2A", "2", "1", "VALUE:4" ], [ "2A", "2A", "1", "VALUE:4" ], [ "2A", "2B", "1", "VALUE:4" ], [ "2A", "2C", "1", "VALUE:4" ], [ "2A", "3", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "1A", "1", "VALUE:4" ], [ "2B", "1B", "1", "VALUE:4" ], [ "2B", "2", "1", "VALUE:4" ], [ "2B", "2A", "1", "VALUE:4" ], [ "2B", "2B", "1", "VALUE:4" ], [ "2B", "2C", "1", "VALUE:4" ], [ "2B", "3", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "1A", "1", "VALUE:4" ], [ "2", "1B", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "2A", "1", "VALUE:4" ], [ "2", "2B", "1", "VALUE:4" ], [ "2", "2C", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "1A", "1", "VALUE:4" ], [ "3A", "1B", "1", "VALUE:4" ], [ "3A", "2", "1", "VALUE:4" ], [ "3A", "2A", "1", "VALUE:4" ], [ "3A", "2B", "1", "VALUE:4" ], [ "3A", "2C", "1", "VALUE:4" ], [ "3A", "3", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "1A", "1", "VALUE:4" ], [ "3B", "1B", "1", "VALUE:4" ], [ "3B", "2", "1", "VALUE:4" ], [ "3B", "2A", "1", "VALUE:4" ], [ "3B", "2B", "1", "VALUE:4" ], [ "3B", "2C", "1", "VALUE:4" ], [ "3B", "3", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "1A", "1", "VALUE:4" ], [ "3", "1B", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "2A", "1", "VALUE:4" ], [ "3", "2B", "1", "VALUE:4" ], [ "3", "2C", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4A", "0", "1", "VALUE:4" ], [ "4A", "1", "1", "VALUE:4" ], [ "4A", "1A", "1", "VALUE:4" ], [ "4A", "1B", "1", "VALUE:4" ], [ "4A", "2", "1", "VALUE:4" ], [ "4A", "2A", "1", "VALUE:4" ], [ "4A", "2B", "1", "VALUE:4" ], [ "4A", "2C", "1", "VALUE:4" ], [ "4A", "3", "1", "VALUE:4" ], [ "4A", "X", "1", "VALUE:4" ], [ "4B", "0", "1", "VALUE:4" ], [ "4B", "1", "1", "VALUE:4" ], [ "4B", "1A", "1", "VALUE:4" ], [ "4B", "1B", "1", "VALUE:4" ], [ "4B", "2", "1", "VALUE:4" ], [ "4B", "2A", "1", "VALUE:4" ], [ "4B", "2B", "1", "VALUE:4" ], [ "4B", "2C", "1", "VALUE:4" ], [ "4B", "3", "1", "VALUE:4" ], [ "4B", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "1A", "1", "VALUE:4" ], [ "4", "1B", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "2A", "1", "VALUE:4" ], [ "4", "2B", "1", "VALUE:4" ], [ "4", "2C", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "1A", "1", "VALUE:4" ], [ "X", "1B", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "2A", "1", "VALUE:4" ], [ "X", "2B", "1", "VALUE:4" ], [ "X", "2C", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubx.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubx.json deleted file mode 100644 index 989e9bae4..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ubx.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm7_path_stage_ubx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:04.807Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "peripheral_blood_involvement", - "name" : "Peripheral Blood Involvement", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "B0", "VALUE:99" ], [ "0", "0", "0", "B0a", "VALUE:99" ], [ "0", "0", "0", "B0b", "VALUE:99" ], [ "0", "0", "0", "B1", "VALUE:99" ], [ "0", "0", "0", "B1a", "VALUE:99" ], [ "0", "0", "0", "B1b", "VALUE:99" ], [ "0", "0", "0", "B2", "VALUE:99" ], [ "0", "0", "0", "BX", "VALUE:99" ], [ "0", "1A", "0", "B0", "VALUE:99" ], [ "0", "1A", "0", "B0a", "VALUE:99" ], [ "0", "1A", "0", "B0b", "VALUE:99" ], [ "0", "1A", "0", "B1", "VALUE:99" ], [ "0", "1A", "0", "B1a", "VALUE:99" ], [ "0", "1A", "0", "B1b", "VALUE:99" ], [ "0", "1A", "0", "B2", "VALUE:4A1" ], [ "0", "1A", "0", "BX", "VALUE:99" ], [ "0", "1B", "0", "B0", "VALUE:99" ], [ "0", "1B", "0", "B0a", "VALUE:99" ], [ "0", "1B", "0", "B0b", "VALUE:99" ], [ "0", "1B", "0", "B1", "VALUE:99" ], [ "0", "1B", "0", "B1a", "VALUE:99" ], [ "0", "1B", "0", "B1b", "VALUE:99" ], [ "0", "1B", "0", "B2", "VALUE:4A1" ], [ "0", "1B", "0", "BX", "VALUE:99" ], [ "0", "1", "0", "B0", "VALUE:99" ], [ "0", "1", "0", "B0a", "VALUE:99" ], [ "0", "1", "0", "B0b", "VALUE:99" ], [ "0", "1", "0", "B1", "VALUE:99" ], [ "0", "1", "0", "B1a", "VALUE:99" ], [ "0", "1", "0", "B1b", "VALUE:99" ], [ "0", "1", "0", "B2", "VALUE:4A1" ], [ "0", "1", "0", "BX", "VALUE:99" ], [ "0", "2A", "0", "B0", "VALUE:99" ], [ "0", "2A", "0", "B0a", "VALUE:99" ], [ "0", "2A", "0", "B0b", "VALUE:99" ], [ "0", "2A", "0", "B1", "VALUE:99" ], [ "0", "2A", "0", "B1a", "VALUE:99" ], [ "0", "2A", "0", "B1b", "VALUE:99" ], [ "0", "2A", "0", "B2", "VALUE:4A1" ], [ "0", "2A", "0", "BX", "VALUE:99" ], [ "0", "2B", "0", "B0", "VALUE:99" ], [ "0", "2B", "0", "B0a", "VALUE:99" ], [ "0", "2B", "0", "B0b", "VALUE:99" ], [ "0", "2B", "0", "B1", "VALUE:99" ], [ "0", "2B", "0", "B1a", "VALUE:99" ], [ "0", "2B", "0", "B1b", "VALUE:99" ], [ "0", "2B", "0", "B2", "VALUE:4A1" ], [ "0", "2B", "0", "BX", "VALUE:99" ], [ "0", "2", "0", "B0", "VALUE:99" ], [ "0", "2", "0", "B0a", "VALUE:99" ], [ "0", "2", "0", "B0b", "VALUE:99" ], [ "0", "2", "0", "B1", "VALUE:99" ], [ "0", "2", "0", "B1a", "VALUE:99" ], [ "0", "2", "0", "B1b", "VALUE:99" ], [ "0", "2", "0", "B2", "VALUE:4A1" ], [ "0", "2", "0", "BX", "VALUE:99" ], [ "0", "3", "0", "B0", "VALUE:4A2" ], [ "0", "3", "0", "B0a", "VALUE:4A2" ], [ "0", "3", "0", "B0b", "VALUE:4A2" ], [ "0", "3", "0", "B1", "VALUE:4A2" ], [ "0", "3", "0", "B1a", "VALUE:4A2" ], [ "0", "3", "0", "B1b", "VALUE:4A2" ], [ "0", "3", "0", "B2", "VALUE:4A2" ], [ "0", "3", "0", "BX", "VALUE:4A2" ], [ "0", "X", "0", "B0", "VALUE:99" ], [ "0", "X", "0", "B0a", "VALUE:99" ], [ "0", "X", "0", "B0b", "VALUE:99" ], [ "0", "X", "0", "B1", "VALUE:99" ], [ "0", "X", "0", "B1a", "VALUE:99" ], [ "0", "X", "0", "B1b", "VALUE:99" ], [ "0", "X", "0", "B2", "VALUE:4A" ], [ "0", "X", "0", "BX", "VALUE:99" ], [ "1A", "0", "0", "B0", "VALUE:1A" ], [ "1A", "0", "0", "B0a", "VALUE:1A" ], [ "1A", "0", "0", "B0b", "VALUE:1A" ], [ "1A", "0", "0", "B1", "VALUE:1A" ], [ "1A", "0", "0", "B1a", "VALUE:1A" ], [ "1A", "0", "0", "B1b", "VALUE:1A" ], [ "1A", "0", "0", "B2", "VALUE:4A1" ], [ "1A", "0", "0", "BX", "VALUE:1A" ], [ "1A", "1A", "0", "B0", "VALUE:2A" ], [ "1A", "1A", "0", "B0a", "VALUE:2A" ], [ "1A", "1A", "0", "B0b", "VALUE:2A" ], [ "1A", "1A", "0", "B1", "VALUE:2A" ], [ "1A", "1A", "0", "B1a", "VALUE:2A" ], [ "1A", "1A", "0", "B1b", "VALUE:2A" ], [ "1A", "1A", "0", "B2", "VALUE:4A1" ], [ "1A", "1A", "0", "BX", "VALUE:2A" ], [ "1A", "1B", "0", "B0", "VALUE:2A" ], [ "1A", "1B", "0", "B0a", "VALUE:2A" ], [ "1A", "1B", "0", "B0b", "VALUE:2A" ], [ "1A", "1B", "0", "B1", "VALUE:2A" ], [ "1A", "1B", "0", "B1a", "VALUE:2A" ], [ "1A", "1B", "0", "B1b", "VALUE:2A" ], [ "1A", "1B", "0", "B2", "VALUE:4A1" ], [ "1A", "1B", "0", "BX", "VALUE:2A" ], [ "1A", "1", "0", "B0", "VALUE:2A" ], [ "1A", "1", "0", "B0a", "VALUE:2A" ], [ "1A", "1", "0", "B0b", "VALUE:2A" ], [ "1A", "1", "0", "B1", "VALUE:2A" ], [ "1A", "1", "0", "B1a", "VALUE:2A" ], [ "1A", "1", "0", "B1b", "VALUE:2A" ], [ "1A", "1", "0", "B2", "VALUE:4A1" ], [ "1A", "1", "0", "BX", "VALUE:2A" ], [ "1A", "2A", "0", "B0", "VALUE:2A" ], [ "1A", "2A", "0", "B0a", "VALUE:2A" ], [ "1A", "2A", "0", "B0b", "VALUE:2A" ], [ "1A", "2A", "0", "B1", "VALUE:2A" ], [ "1A", "2A", "0", "B1a", "VALUE:2A" ], [ "1A", "2A", "0", "B1b", "VALUE:2A" ], [ "1A", "2A", "0", "B2", "VALUE:4A1" ], [ "1A", "2A", "0", "BX", "VALUE:2A" ], [ "1A", "2B", "0", "B0", "VALUE:2A" ], [ "1A", "2B", "0", "B0a", "VALUE:2A" ], [ "1A", "2B", "0", "B0b", "VALUE:2A" ], [ "1A", "2B", "0", "B1", "VALUE:2A" ], [ "1A", "2B", "0", "B1a", "VALUE:2A" ], [ "1A", "2B", "0", "B1b", "VALUE:2A" ], [ "1A", "2B", "0", "B2", "VALUE:4A1" ], [ "1A", "2B", "0", "BX", "VALUE:2A" ], [ "1A", "2", "0", "B0", "VALUE:2A" ], [ "1A", "2", "0", "B0a", "VALUE:2A" ], [ "1A", "2", "0", "B0b", "VALUE:2A" ], [ "1A", "2", "0", "B1", "VALUE:2A" ], [ "1A", "2", "0", "B1a", "VALUE:2A" ], [ "1A", "2", "0", "B1b", "VALUE:2A" ], [ "1A", "2", "0", "B2", "VALUE:4A1" ], [ "1A", "2", "0", "BX", "VALUE:2A" ], [ "1A", "3", "0", "B0", "VALUE:4A2" ], [ "1A", "3", "0", "B0a", "VALUE:4A2" ], [ "1A", "3", "0", "B0b", "VALUE:4A2" ], [ "1A", "3", "0", "B1", "VALUE:4A2" ], [ "1A", "3", "0", "B1a", "VALUE:4A2" ], [ "1A", "3", "0", "B1b", "VALUE:4A2" ], [ "1A", "3", "0", "B2", "VALUE:4A2" ], [ "1A", "3", "0", "BX", "VALUE:4A2" ], [ "1A", "X", "0", "B0", "VALUE:99" ], [ "1A", "X", "0", "B0a", "VALUE:99" ], [ "1A", "X", "0", "B0b", "VALUE:99" ], [ "1A", "X", "0", "B1", "VALUE:99" ], [ "1A", "X", "0", "B1a", "VALUE:99" ], [ "1A", "X", "0", "B1b", "VALUE:99" ], [ "1A", "X", "0", "B2", "VALUE:4A" ], [ "1A", "X", "0", "BX", "VALUE:99" ], [ "1B", "0", "0", "B0", "VALUE:1A" ], [ "1B", "0", "0", "B0a", "VALUE:1A" ], [ "1B", "0", "0", "B0b", "VALUE:1A" ], [ "1B", "0", "0", "B1", "VALUE:1A" ], [ "1B", "0", "0", "B1a", "VALUE:1A" ], [ "1B", "0", "0", "B1b", "VALUE:1A" ], [ "1B", "0", "0", "B2", "VALUE:4A1" ], [ "1B", "0", "0", "BX", "VALUE:1A" ], [ "1B", "1A", "0", "B0", "VALUE:2A" ], [ "1B", "1A", "0", "B0a", "VALUE:2A" ], [ "1B", "1A", "0", "B0b", "VALUE:2A" ], [ "1B", "1A", "0", "B1", "VALUE:2A" ], [ "1B", "1A", "0", "B1a", "VALUE:2A" ], [ "1B", "1A", "0", "B1b", "VALUE:2A" ], [ "1B", "1A", "0", "B2", "VALUE:4A1" ], [ "1B", "1A", "0", "BX", "VALUE:2A" ], [ "1B", "1B", "0", "B0", "VALUE:2A" ], [ "1B", "1B", "0", "B0a", "VALUE:2A" ], [ "1B", "1B", "0", "B0b", "VALUE:2A" ], [ "1B", "1B", "0", "B1", "VALUE:2A" ], [ "1B", "1B", "0", "B1a", "VALUE:2A" ], [ "1B", "1B", "0", "B1b", "VALUE:2A" ], [ "1B", "1B", "0", "B2", "VALUE:4A1" ], [ "1B", "1B", "0", "BX", "VALUE:2A" ], [ "1B", "1", "0", "B0", "VALUE:2A" ], [ "1B", "1", "0", "B0a", "VALUE:2A" ], [ "1B", "1", "0", "B0b", "VALUE:2A" ], [ "1B", "1", "0", "B1", "VALUE:2A" ], [ "1B", "1", "0", "B1a", "VALUE:2A" ], [ "1B", "1", "0", "B1b", "VALUE:2A" ], [ "1B", "1", "0", "B2", "VALUE:4A1" ], [ "1B", "1", "0", "BX", "VALUE:2A" ], [ "1B", "2A", "0", "B0", "VALUE:2A" ], [ "1B", "2A", "0", "B0a", "VALUE:2A" ], [ "1B", "2A", "0", "B0b", "VALUE:2A" ], [ "1B", "2A", "0", "B1", "VALUE:2A" ], [ "1B", "2A", "0", "B1a", "VALUE:2A" ], [ "1B", "2A", "0", "B1b", "VALUE:2A" ], [ "1B", "2A", "0", "B2", "VALUE:4A1" ], [ "1B", "2A", "0", "BX", "VALUE:2A" ], [ "1B", "2B", "0", "B0", "VALUE:2A" ], [ "1B", "2B", "0", "B0a", "VALUE:2A" ], [ "1B", "2B", "0", "B0b", "VALUE:2A" ], [ "1B", "2B", "0", "B1", "VALUE:2A" ], [ "1B", "2B", "0", "B1a", "VALUE:2A" ], [ "1B", "2B", "0", "B1b", "VALUE:2A" ], [ "1B", "2B", "0", "B2", "VALUE:4A1" ], [ "1B", "2B", "0", "BX", "VALUE:2A" ], [ "1B", "2", "0", "B0", "VALUE:2A" ], [ "1B", "2", "0", "B0a", "VALUE:2A" ], [ "1B", "2", "0", "B0b", "VALUE:2A" ], [ "1B", "2", "0", "B1", "VALUE:2A" ], [ "1B", "2", "0", "B1a", "VALUE:2A" ], [ "1B", "2", "0", "B1b", "VALUE:2A" ], [ "1B", "2", "0", "B2", "VALUE:4A1" ], [ "1B", "2", "0", "BX", "VALUE:2A" ], [ "1B", "3", "0", "B0", "VALUE:4A2" ], [ "1B", "3", "0", "B0a", "VALUE:4A2" ], [ "1B", "3", "0", "B0b", "VALUE:4A2" ], [ "1B", "3", "0", "B1", "VALUE:4A2" ], [ "1B", "3", "0", "B1a", "VALUE:4A2" ], [ "1B", "3", "0", "B1b", "VALUE:4A2" ], [ "1B", "3", "0", "B2", "VALUE:4A2" ], [ "1B", "3", "0", "BX", "VALUE:4A2" ], [ "1B", "X", "0", "B0", "VALUE:99" ], [ "1B", "X", "0", "B0a", "VALUE:99" ], [ "1B", "X", "0", "B0b", "VALUE:99" ], [ "1B", "X", "0", "B1", "VALUE:99" ], [ "1B", "X", "0", "B1a", "VALUE:99" ], [ "1B", "X", "0", "B1b", "VALUE:99" ], [ "1B", "X", "0", "B2", "VALUE:4A" ], [ "1B", "X", "0", "BX", "VALUE:99" ], [ "1", "0", "0", "B0", "VALUE:1A" ], [ "1", "0", "0", "B0a", "VALUE:1A" ], [ "1", "0", "0", "B0b", "VALUE:1A" ], [ "1", "0", "0", "B1", "VALUE:1A" ], [ "1", "0", "0", "B1a", "VALUE:1A" ], [ "1", "0", "0", "B1b", "VALUE:1A" ], [ "1", "0", "0", "B2", "VALUE:4A1" ], [ "1", "0", "0", "BX", "VALUE:1A" ], [ "1", "1A", "0", "B0", "VALUE:2A" ], [ "1", "1A", "0", "B0a", "VALUE:2A" ], [ "1", "1A", "0", "B0b", "VALUE:2A" ], [ "1", "1A", "0", "B1", "VALUE:2A" ], [ "1", "1A", "0", "B1a", "VALUE:2A" ], [ "1", "1A", "0", "B1b", "VALUE:2A" ], [ "1", "1A", "0", "B2", "VALUE:4A1" ], [ "1", "1A", "0", "BX", "VALUE:2A" ], [ "1", "1B", "0", "B0", "VALUE:2A" ], [ "1", "1B", "0", "B0a", "VALUE:2A" ], [ "1", "1B", "0", "B0b", "VALUE:2A" ], [ "1", "1B", "0", "B1", "VALUE:2A" ], [ "1", "1B", "0", "B1a", "VALUE:2A" ], [ "1", "1B", "0", "B1b", "VALUE:2A" ], [ "1", "1B", "0", "B2", "VALUE:4A1" ], [ "1", "1B", "0", "BX", "VALUE:2A" ], [ "1", "1", "0", "B0", "VALUE:2A" ], [ "1", "1", "0", "B0a", "VALUE:2A" ], [ "1", "1", "0", "B0b", "VALUE:2A" ], [ "1", "1", "0", "B1", "VALUE:2A" ], [ "1", "1", "0", "B1a", "VALUE:2A" ], [ "1", "1", "0", "B1b", "VALUE:2A" ], [ "1", "1", "0", "B2", "VALUE:4A1" ], [ "1", "1", "0", "BX", "VALUE:2A" ], [ "1", "2A", "0", "B0", "VALUE:2A" ], [ "1", "2A", "0", "B0a", "VALUE:2A" ], [ "1", "2A", "0", "B0b", "VALUE:2A" ], [ "1", "2A", "0", "B1", "VALUE:2A" ], [ "1", "2A", "0", "B1a", "VALUE:2A" ], [ "1", "2A", "0", "B1b", "VALUE:2A" ], [ "1", "2A", "0", "B2", "VALUE:4A1" ], [ "1", "2A", "0", "BX", "VALUE:2A" ], [ "1", "2B", "0", "B0", "VALUE:2A" ], [ "1", "2B", "0", "B0a", "VALUE:2A" ], [ "1", "2B", "0", "B0b", "VALUE:2A" ], [ "1", "2B", "0", "B1", "VALUE:2A" ], [ "1", "2B", "0", "B1a", "VALUE:2A" ], [ "1", "2B", "0", "B1b", "VALUE:2A" ], [ "1", "2B", "0", "B2", "VALUE:4A1" ], [ "1", "2B", "0", "BX", "VALUE:2A" ], [ "1", "2", "0", "B0", "VALUE:2A" ], [ "1", "2", "0", "B0a", "VALUE:2A" ], [ "1", "2", "0", "B0b", "VALUE:2A" ], [ "1", "2", "0", "B1", "VALUE:2A" ], [ "1", "2", "0", "B1a", "VALUE:2A" ], [ "1", "2", "0", "B1b", "VALUE:2A" ], [ "1", "2", "0", "B2", "VALUE:4A1" ], [ "1", "2", "0", "BX", "VALUE:2A" ], [ "1", "3", "0", "B0", "VALUE:4A2" ], [ "1", "3", "0", "B0a", "VALUE:4A2" ], [ "1", "3", "0", "B0b", "VALUE:4A2" ], [ "1", "3", "0", "B1", "VALUE:4A2" ], [ "1", "3", "0", "B1a", "VALUE:4A2" ], [ "1", "3", "0", "B1b", "VALUE:4A2" ], [ "1", "3", "0", "B2", "VALUE:4A2" ], [ "1", "3", "0", "BX", "VALUE:4A2" ], [ "1", "X", "0", "B0", "VALUE:99" ], [ "1", "X", "0", "B0a", "VALUE:99" ], [ "1", "X", "0", "B0b", "VALUE:99" ], [ "1", "X", "0", "B1", "VALUE:99" ], [ "1", "X", "0", "B1a", "VALUE:99" ], [ "1", "X", "0", "B1b", "VALUE:99" ], [ "1", "X", "0", "B2", "VALUE:4A" ], [ "1", "X", "0", "BX", "VALUE:99" ], [ "2A", "0", "0", "B0", "VALUE:1B" ], [ "2A", "0", "0", "B0a", "VALUE:1B" ], [ "2A", "0", "0", "B0b", "VALUE:1B" ], [ "2A", "0", "0", "B1", "VALUE:1B" ], [ "2A", "0", "0", "B1a", "VALUE:1B" ], [ "2A", "0", "0", "B1b", "VALUE:1B" ], [ "2A", "0", "0", "B2", "VALUE:4A1" ], [ "2A", "0", "0", "BX", "VALUE:1B" ], [ "2A", "1A", "0", "B0", "VALUE:2A" ], [ "2A", "1A", "0", "B0a", "VALUE:2A" ], [ "2A", "1A", "0", "B0b", "VALUE:2A" ], [ "2A", "1A", "0", "B1", "VALUE:2A" ], [ "2A", "1A", "0", "B1a", "VALUE:2A" ], [ "2A", "1A", "0", "B1b", "VALUE:2A" ], [ "2A", "1A", "0", "B2", "VALUE:4A1" ], [ "2A", "1A", "0", "BX", "VALUE:2A" ], [ "2A", "1B", "0", "B0", "VALUE:2A" ], [ "2A", "1B", "0", "B0a", "VALUE:2A" ], [ "2A", "1B", "0", "B0b", "VALUE:2A" ], [ "2A", "1B", "0", "B1", "VALUE:2A" ], [ "2A", "1B", "0", "B1a", "VALUE:2A" ], [ "2A", "1B", "0", "B1b", "VALUE:2A" ], [ "2A", "1B", "0", "B2", "VALUE:4A1" ], [ "2A", "1B", "0", "BX", "VALUE:2A" ], [ "2A", "1", "0", "B0", "VALUE:2A" ], [ "2A", "1", "0", "B0a", "VALUE:2A" ], [ "2A", "1", "0", "B0b", "VALUE:2A" ], [ "2A", "1", "0", "B1", "VALUE:2A" ], [ "2A", "1", "0", "B1a", "VALUE:2A" ], [ "2A", "1", "0", "B1b", "VALUE:2A" ], [ "2A", "1", "0", "B2", "VALUE:4A1" ], [ "2A", "1", "0", "BX", "VALUE:2A" ], [ "2A", "2A", "0", "B0", "VALUE:2A" ], [ "2A", "2A", "0", "B0a", "VALUE:2A" ], [ "2A", "2A", "0", "B0b", "VALUE:2A" ], [ "2A", "2A", "0", "B1", "VALUE:2A" ], [ "2A", "2A", "0", "B1a", "VALUE:2A" ], [ "2A", "2A", "0", "B1b", "VALUE:2A" ], [ "2A", "2A", "0", "B2", "VALUE:4A1" ], [ "2A", "2A", "0", "BX", "VALUE:2A" ], [ "2A", "2B", "0", "B0", "VALUE:2A" ], [ "2A", "2B", "0", "B0a", "VALUE:2A" ], [ "2A", "2B", "0", "B0b", "VALUE:2A" ], [ "2A", "2B", "0", "B1", "VALUE:2A" ], [ "2A", "2B", "0", "B1a", "VALUE:2A" ], [ "2A", "2B", "0", "B1b", "VALUE:2A" ], [ "2A", "2B", "0", "B2", "VALUE:4A1" ], [ "2A", "2B", "0", "BX", "VALUE:2A" ], [ "2A", "2", "0", "B0", "VALUE:2A" ], [ "2A", "2", "0", "B0a", "VALUE:2A" ], [ "2A", "2", "0", "B0b", "VALUE:2A" ], [ "2A", "2", "0", "B1", "VALUE:2A" ], [ "2A", "2", "0", "B1a", "VALUE:2A" ], [ "2A", "2", "0", "B1b", "VALUE:2A" ], [ "2A", "2", "0", "B2", "VALUE:4A1" ], [ "2A", "2", "0", "BX", "VALUE:2A" ], [ "2A", "3", "0", "B0", "VALUE:4A2" ], [ "2A", "3", "0", "B0a", "VALUE:4A2" ], [ "2A", "3", "0", "B0b", "VALUE:4A2" ], [ "2A", "3", "0", "B1", "VALUE:4A2" ], [ "2A", "3", "0", "B1a", "VALUE:4A2" ], [ "2A", "3", "0", "B1b", "VALUE:4A2" ], [ "2A", "3", "0", "B2", "VALUE:4A2" ], [ "2A", "3", "0", "BX", "VALUE:4A2" ], [ "2A", "X", "0", "B0", "VALUE:99" ], [ "2A", "X", "0", "B0a", "VALUE:99" ], [ "2A", "X", "0", "B0b", "VALUE:99" ], [ "2A", "X", "0", "B1", "VALUE:99" ], [ "2A", "X", "0", "B1a", "VALUE:99" ], [ "2A", "X", "0", "B1b", "VALUE:99" ], [ "2A", "X", "0", "B2", "VALUE:4A" ], [ "2A", "X", "0", "BX", "VALUE:99" ], [ "2B", "0", "0", "B0", "VALUE:1B" ], [ "2B", "0", "0", "B0a", "VALUE:1B" ], [ "2B", "0", "0", "B0b", "VALUE:1B" ], [ "2B", "0", "0", "B1", "VALUE:1B" ], [ "2B", "0", "0", "B1a", "VALUE:1B" ], [ "2B", "0", "0", "B1b", "VALUE:1B" ], [ "2B", "0", "0", "B2", "VALUE:4A1" ], [ "2B", "0", "0", "BX", "VALUE:1B" ], [ "2B", "1A", "0", "B0", "VALUE:2A" ], [ "2B", "1A", "0", "B0a", "VALUE:2A" ], [ "2B", "1A", "0", "B0b", "VALUE:2A" ], [ "2B", "1A", "0", "B1", "VALUE:2A" ], [ "2B", "1A", "0", "B1a", "VALUE:2A" ], [ "2B", "1A", "0", "B1b", "VALUE:2A" ], [ "2B", "1A", "0", "B2", "VALUE:4A1" ], [ "2B", "1A", "0", "BX", "VALUE:2A" ], [ "2B", "1B", "0", "B0", "VALUE:2A" ], [ "2B", "1B", "0", "B0a", "VALUE:2A" ], [ "2B", "1B", "0", "B0b", "VALUE:2A" ], [ "2B", "1B", "0", "B1", "VALUE:2A" ], [ "2B", "1B", "0", "B1a", "VALUE:2A" ], [ "2B", "1B", "0", "B1b", "VALUE:2A" ], [ "2B", "1B", "0", "B2", "VALUE:4A1" ], [ "2B", "1B", "0", "BX", "VALUE:2A" ], [ "2B", "1", "0", "B0", "VALUE:2A" ], [ "2B", "1", "0", "B0a", "VALUE:2A" ], [ "2B", "1", "0", "B0b", "VALUE:2A" ], [ "2B", "1", "0", "B1", "VALUE:2A" ], [ "2B", "1", "0", "B1a", "VALUE:2A" ], [ "2B", "1", "0", "B1b", "VALUE:2A" ], [ "2B", "1", "0", "B2", "VALUE:4A1" ], [ "2B", "1", "0", "BX", "VALUE:2A" ], [ "2B", "2A", "0", "B0", "VALUE:2A" ], [ "2B", "2A", "0", "B0a", "VALUE:2A" ], [ "2B", "2A", "0", "B0b", "VALUE:2A" ], [ "2B", "2A", "0", "B1", "VALUE:2A" ], [ "2B", "2A", "0", "B1a", "VALUE:2A" ], [ "2B", "2A", "0", "B1b", "VALUE:2A" ], [ "2B", "2A", "0", "B2", "VALUE:4A1" ], [ "2B", "2A", "0", "BX", "VALUE:2A" ], [ "2B", "2B", "0", "B0", "VALUE:2A" ], [ "2B", "2B", "0", "B0a", "VALUE:2A" ], [ "2B", "2B", "0", "B0b", "VALUE:2A" ], [ "2B", "2B", "0", "B1", "VALUE:2A" ], [ "2B", "2B", "0", "B1a", "VALUE:2A" ], [ "2B", "2B", "0", "B1b", "VALUE:2A" ], [ "2B", "2B", "0", "B2", "VALUE:4A1" ], [ "2B", "2B", "0", "BX", "VALUE:2A" ], [ "2B", "2", "0", "B0", "VALUE:2A" ], [ "2B", "2", "0", "B0a", "VALUE:2A" ], [ "2B", "2", "0", "B0b", "VALUE:2A" ], [ "2B", "2", "0", "B1", "VALUE:2A" ], [ "2B", "2", "0", "B1a", "VALUE:2A" ], [ "2B", "2", "0", "B1b", "VALUE:2A" ], [ "2B", "2", "0", "B2", "VALUE:4A1" ], [ "2B", "2", "0", "BX", "VALUE:2A" ], [ "2B", "3", "0", "B0", "VALUE:4A2" ], [ "2B", "3", "0", "B0a", "VALUE:4A2" ], [ "2B", "3", "0", "B0b", "VALUE:4A2" ], [ "2B", "3", "0", "B1", "VALUE:4A2" ], [ "2B", "3", "0", "B1a", "VALUE:4A2" ], [ "2B", "3", "0", "B1b", "VALUE:4A2" ], [ "2B", "3", "0", "B2", "VALUE:4A2" ], [ "2B", "3", "0", "BX", "VALUE:4A2" ], [ "2B", "X", "0", "B0", "VALUE:99" ], [ "2B", "X", "0", "B0a", "VALUE:99" ], [ "2B", "X", "0", "B0b", "VALUE:99" ], [ "2B", "X", "0", "B1", "VALUE:99" ], [ "2B", "X", "0", "B1a", "VALUE:99" ], [ "2B", "X", "0", "B1b", "VALUE:99" ], [ "2B", "X", "0", "B2", "VALUE:4A" ], [ "2B", "X", "0", "BX", "VALUE:99" ], [ "2", "0", "0", "B0", "VALUE:1B" ], [ "2", "0", "0", "B0a", "VALUE:1B" ], [ "2", "0", "0", "B0b", "VALUE:1B" ], [ "2", "0", "0", "B1", "VALUE:1B" ], [ "2", "0", "0", "B1a", "VALUE:1B" ], [ "2", "0", "0", "B1b", "VALUE:1B" ], [ "2", "0", "0", "B2", "VALUE:4A1" ], [ "2", "0", "0", "BX", "VALUE:1B" ], [ "2", "1A", "0", "B0", "VALUE:2A" ], [ "2", "1A", "0", "B0a", "VALUE:2A" ], [ "2", "1A", "0", "B0b", "VALUE:2A" ], [ "2", "1A", "0", "B1", "VALUE:2A" ], [ "2", "1A", "0", "B1a", "VALUE:2A" ], [ "2", "1A", "0", "B1b", "VALUE:2A" ], [ "2", "1A", "0", "B2", "VALUE:4A1" ], [ "2", "1A", "0", "BX", "VALUE:2A" ], [ "2", "1B", "0", "B0", "VALUE:2A" ], [ "2", "1B", "0", "B0a", "VALUE:2A" ], [ "2", "1B", "0", "B0b", "VALUE:2A" ], [ "2", "1B", "0", "B1", "VALUE:2A" ], [ "2", "1B", "0", "B1a", "VALUE:2A" ], [ "2", "1B", "0", "B1b", "VALUE:2A" ], [ "2", "1B", "0", "B2", "VALUE:4A1" ], [ "2", "1B", "0", "BX", "VALUE:2A" ], [ "2", "1", "0", "B0", "VALUE:2A" ], [ "2", "1", "0", "B0a", "VALUE:2A" ], [ "2", "1", "0", "B0b", "VALUE:2A" ], [ "2", "1", "0", "B1", "VALUE:2A" ], [ "2", "1", "0", "B1a", "VALUE:2A" ], [ "2", "1", "0", "B1b", "VALUE:2A" ], [ "2", "1", "0", "B2", "VALUE:4A1" ], [ "2", "1", "0", "BX", "VALUE:2A" ], [ "2", "2A", "0", "B0", "VALUE:2A" ], [ "2", "2A", "0", "B0a", "VALUE:2A" ], [ "2", "2A", "0", "B0b", "VALUE:2A" ], [ "2", "2A", "0", "B1", "VALUE:2A" ], [ "2", "2A", "0", "B1a", "VALUE:2A" ], [ "2", "2A", "0", "B1b", "VALUE:2A" ], [ "2", "2A", "0", "B2", "VALUE:4A1" ], [ "2", "2A", "0", "BX", "VALUE:2A" ], [ "2", "2B", "0", "B0", "VALUE:2A" ], [ "2", "2B", "0", "B0a", "VALUE:2A" ], [ "2", "2B", "0", "B0b", "VALUE:2A" ], [ "2", "2B", "0", "B1", "VALUE:2A" ], [ "2", "2B", "0", "B1a", "VALUE:2A" ], [ "2", "2B", "0", "B1b", "VALUE:2A" ], [ "2", "2B", "0", "B2", "VALUE:4A1" ], [ "2", "2B", "0", "BX", "VALUE:2A" ], [ "2", "2", "0", "B0", "VALUE:2A" ], [ "2", "2", "0", "B0a", "VALUE:2A" ], [ "2", "2", "0", "B0b", "VALUE:2A" ], [ "2", "2", "0", "B1", "VALUE:2A" ], [ "2", "2", "0", "B1a", "VALUE:2A" ], [ "2", "2", "0", "B1b", "VALUE:2A" ], [ "2", "2", "0", "B2", "VALUE:4A1" ], [ "2", "2", "0", "BX", "VALUE:2A" ], [ "2", "3", "0", "B0", "VALUE:4A2" ], [ "2", "3", "0", "B0a", "VALUE:4A2" ], [ "2", "3", "0", "B0b", "VALUE:4A2" ], [ "2", "3", "0", "B1", "VALUE:4A2" ], [ "2", "3", "0", "B1a", "VALUE:4A2" ], [ "2", "3", "0", "B1b", "VALUE:4A2" ], [ "2", "3", "0", "B2", "VALUE:4A2" ], [ "2", "3", "0", "BX", "VALUE:4A2" ], [ "2", "X", "0", "B0", "VALUE:99" ], [ "2", "X", "0", "B0a", "VALUE:99" ], [ "2", "X", "0", "B0b", "VALUE:99" ], [ "2", "X", "0", "B1", "VALUE:99" ], [ "2", "X", "0", "B1a", "VALUE:99" ], [ "2", "X", "0", "B1b", "VALUE:99" ], [ "2", "X", "0", "B2", "VALUE:4A" ], [ "2", "X", "0", "BX", "VALUE:99" ], [ "3", "0", "0", "B0", "VALUE:2B" ], [ "3", "0", "0", "B0a", "VALUE:2B" ], [ "3", "0", "0", "B0b", "VALUE:2B" ], [ "3", "0", "0", "B1", "VALUE:2B" ], [ "3", "0", "0", "B1a", "VALUE:2B" ], [ "3", "0", "0", "B1b", "VALUE:2B" ], [ "3", "0", "0", "B2", "VALUE:4A1" ], [ "3", "0", "0", "BX", "VALUE:2B" ], [ "3", "1A", "0", "B0", "VALUE:2B" ], [ "3", "1A", "0", "B0a", "VALUE:2B" ], [ "3", "1A", "0", "B0b", "VALUE:2B" ], [ "3", "1A", "0", "B1", "VALUE:2B" ], [ "3", "1A", "0", "B1a", "VALUE:2B" ], [ "3", "1A", "0", "B1b", "VALUE:2B" ], [ "3", "1A", "0", "B2", "VALUE:4A1" ], [ "3", "1A", "0", "BX", "VALUE:2B" ], [ "3", "1B", "0", "B0", "VALUE:2B" ], [ "3", "1B", "0", "B0a", "VALUE:2B" ], [ "3", "1B", "0", "B0b", "VALUE:2B" ], [ "3", "1B", "0", "B1", "VALUE:2B" ], [ "3", "1B", "0", "B1a", "VALUE:2B" ], [ "3", "1B", "0", "B1b", "VALUE:2B" ], [ "3", "1B", "0", "B2", "VALUE:4A1" ], [ "3", "1B", "0", "BX", "VALUE:2B" ], [ "3", "1", "0", "B0", "VALUE:2B" ], [ "3", "1", "0", "B0a", "VALUE:2B" ], [ "3", "1", "0", "B0b", "VALUE:2B" ], [ "3", "1", "0", "B1", "VALUE:2B" ], [ "3", "1", "0", "B1a", "VALUE:2B" ], [ "3", "1", "0", "B1b", "VALUE:2B" ], [ "3", "1", "0", "B2", "VALUE:4A1" ], [ "3", "1", "0", "BX", "VALUE:2B" ], [ "3", "2A", "0", "B0", "VALUE:2B" ], [ "3", "2A", "0", "B0a", "VALUE:2B" ], [ "3", "2A", "0", "B0b", "VALUE:2B" ], [ "3", "2A", "0", "B1", "VALUE:2B" ], [ "3", "2A", "0", "B1a", "VALUE:2B" ], [ "3", "2A", "0", "B1b", "VALUE:2B" ], [ "3", "2A", "0", "B2", "VALUE:4A1" ], [ "3", "2A", "0", "BX", "VALUE:2B" ], [ "3", "2B", "0", "B0", "VALUE:2B" ], [ "3", "2B", "0", "B0a", "VALUE:2B" ], [ "3", "2B", "0", "B0b", "VALUE:2B" ], [ "3", "2B", "0", "B1", "VALUE:2B" ], [ "3", "2B", "0", "B1a", "VALUE:2B" ], [ "3", "2B", "0", "B1b", "VALUE:2B" ], [ "3", "2B", "0", "B2", "VALUE:4A1" ], [ "3", "2B", "0", "BX", "VALUE:2B" ], [ "3", "2", "0", "B0", "VALUE:2B" ], [ "3", "2", "0", "B0a", "VALUE:2B" ], [ "3", "2", "0", "B0b", "VALUE:2B" ], [ "3", "2", "0", "B1", "VALUE:2B" ], [ "3", "2", "0", "B1a", "VALUE:2B" ], [ "3", "2", "0", "B1b", "VALUE:2B" ], [ "3", "2", "0", "B2", "VALUE:4A1" ], [ "3", "2", "0", "BX", "VALUE:2B" ], [ "3", "3", "0", "B0", "VALUE:4A2" ], [ "3", "3", "0", "B0a", "VALUE:4A2" ], [ "3", "3", "0", "B0b", "VALUE:4A2" ], [ "3", "3", "0", "B1", "VALUE:4A2" ], [ "3", "3", "0", "B1a", "VALUE:4A2" ], [ "3", "3", "0", "B1b", "VALUE:4A2" ], [ "3", "3", "0", "B2", "VALUE:4A2" ], [ "3", "3", "0", "BX", "VALUE:4A2" ], [ "3", "X", "0", "B0", "VALUE:99" ], [ "3", "X", "0", "B0a", "VALUE:99" ], [ "3", "X", "0", "B0b", "VALUE:99" ], [ "3", "X", "0", "B1", "VALUE:99" ], [ "3", "X", "0", "B1a", "VALUE:99" ], [ "3", "X", "0", "B1b", "VALUE:99" ], [ "3", "X", "0", "B2", "VALUE:4A" ], [ "3", "X", "0", "BX", "VALUE:99" ], [ "4", "0", "0", "B0", "VALUE:3A" ], [ "4", "0", "0", "B0a", "VALUE:3A" ], [ "4", "0", "0", "B0b", "VALUE:3A" ], [ "4", "0", "0", "B1", "VALUE:3B" ], [ "4", "0", "0", "B1a", "VALUE:3B" ], [ "4", "0", "0", "B1b", "VALUE:3B" ], [ "4", "0", "0", "B2", "VALUE:4A1" ], [ "4", "0", "0", "BX", "VALUE:3A" ], [ "4", "1A", "0", "B0", "VALUE:3A" ], [ "4", "1A", "0", "B0a", "VALUE:3A" ], [ "4", "1A", "0", "B0b", "VALUE:3A" ], [ "4", "1A", "0", "B1", "VALUE:3B" ], [ "4", "1A", "0", "B1a", "VALUE:3B" ], [ "4", "1A", "0", "B1b", "VALUE:3B" ], [ "4", "1A", "0", "B2", "VALUE:4A1" ], [ "4", "1A", "0", "BX", "VALUE:3A" ], [ "4", "1B", "0", "B0", "VALUE:3A" ], [ "4", "1B", "0", "B0a", "VALUE:3A" ], [ "4", "1B", "0", "B0b", "VALUE:3A" ], [ "4", "1B", "0", "B1", "VALUE:3B" ], [ "4", "1B", "0", "B1a", "VALUE:3B" ], [ "4", "1B", "0", "B1b", "VALUE:3B" ], [ "4", "1B", "0", "B2", "VALUE:4A1" ], [ "4", "1B", "0", "BX", "VALUE:3A" ], [ "4", "1", "0", "B0", "VALUE:3A" ], [ "4", "1", "0", "B0a", "VALUE:3A" ], [ "4", "1", "0", "B0b", "VALUE:3A" ], [ "4", "1", "0", "B1", "VALUE:3B" ], [ "4", "1", "0", "B1a", "VALUE:3B" ], [ "4", "1", "0", "B1b", "VALUE:3B" ], [ "4", "1", "0", "B2", "VALUE:4A1" ], [ "4", "1", "0", "BX", "VALUE:3A" ], [ "4", "2A", "0", "B0", "VALUE:3A" ], [ "4", "2A", "0", "B0a", "VALUE:3A" ], [ "4", "2A", "0", "B0b", "VALUE:3A" ], [ "4", "2A", "0", "B1", "VALUE:3B" ], [ "4", "2A", "0", "B1a", "VALUE:3B" ], [ "4", "2A", "0", "B1b", "VALUE:3B" ], [ "4", "2A", "0", "B2", "VALUE:4A1" ], [ "4", "2A", "0", "BX", "VALUE:3A" ], [ "4", "2B", "0", "B0", "VALUE:3A" ], [ "4", "2B", "0", "B0a", "VALUE:3A" ], [ "4", "2B", "0", "B0b", "VALUE:3A" ], [ "4", "2B", "0", "B1", "VALUE:3B" ], [ "4", "2B", "0", "B1a", "VALUE:3B" ], [ "4", "2B", "0", "B1b", "VALUE:3B" ], [ "4", "2B", "0", "B2", "VALUE:4A1" ], [ "4", "2B", "0", "BX", "VALUE:3A" ], [ "4", "2", "0", "B0", "VALUE:3A" ], [ "4", "2", "0", "B0a", "VALUE:3A" ], [ "4", "2", "0", "B0b", "VALUE:3A" ], [ "4", "2", "0", "B1", "VALUE:3B" ], [ "4", "2", "0", "B1a", "VALUE:3B" ], [ "4", "2", "0", "B1b", "VALUE:3B" ], [ "4", "2", "0", "B2", "VALUE:4A1" ], [ "4", "2", "0", "BX", "VALUE:3A" ], [ "4", "3", "0", "B0", "VALUE:4A2" ], [ "4", "3", "0", "B0a", "VALUE:4A2" ], [ "4", "3", "0", "B0b", "VALUE:4A2" ], [ "4", "3", "0", "B1", "VALUE:4A2" ], [ "4", "3", "0", "B1a", "VALUE:4A2" ], [ "4", "3", "0", "B1b", "VALUE:4A2" ], [ "4", "3", "0", "B2", "VALUE:4A2" ], [ "4", "3", "0", "BX", "VALUE:4A2" ], [ "4", "X", "0", "B0", "VALUE:99" ], [ "4", "X", "0", "B0a", "VALUE:99" ], [ "4", "X", "0", "B0b", "VALUE:99" ], [ "4", "X", "0", "B1", "VALUE:99" ], [ "4", "X", "0", "B1a", "VALUE:99" ], [ "4", "X", "0", "B1b", "VALUE:99" ], [ "4", "X", "0", "B2", "VALUE:4A" ], [ "4", "X", "0", "BX", "VALUE:99" ], [ "X", "0", "0", "B0", "VALUE:99" ], [ "X", "0", "0", "B0a", "VALUE:99" ], [ "X", "0", "0", "B0b", "VALUE:99" ], [ "X", "0", "0", "B1", "VALUE:99" ], [ "X", "0", "0", "B1a", "VALUE:99" ], [ "X", "0", "0", "B1b", "VALUE:99" ], [ "X", "0", "0", "B2", "VALUE:4A1" ], [ "X", "0", "0", "BX", "VALUE:99" ], [ "X", "1A", "0", "B0", "VALUE:99" ], [ "X", "1A", "0", "B0a", "VALUE:99" ], [ "X", "1A", "0", "B0b", "VALUE:99" ], [ "X", "1A", "0", "B1", "VALUE:99" ], [ "X", "1A", "0", "B1a", "VALUE:99" ], [ "X", "1A", "0", "B1b", "VALUE:99" ], [ "X", "1A", "0", "B2", "VALUE:4A1" ], [ "X", "1A", "0", "BX", "VALUE:99" ], [ "X", "1B", "0", "B0", "VALUE:99" ], [ "X", "1B", "0", "B0a", "VALUE:99" ], [ "X", "1B", "0", "B0b", "VALUE:99" ], [ "X", "1B", "0", "B1", "VALUE:99" ], [ "X", "1B", "0", "B1a", "VALUE:99" ], [ "X", "1B", "0", "B1b", "VALUE:99" ], [ "X", "1B", "0", "B2", "VALUE:4A1" ], [ "X", "1B", "0", "BX", "VALUE:99" ], [ "X", "1", "0", "B0", "VALUE:99" ], [ "X", "1", "0", "B0a", "VALUE:99" ], [ "X", "1", "0", "B0b", "VALUE:99" ], [ "X", "1", "0", "B1", "VALUE:99" ], [ "X", "1", "0", "B1a", "VALUE:99" ], [ "X", "1", "0", "B1b", "VALUE:99" ], [ "X", "1", "0", "B2", "VALUE:4A1" ], [ "X", "1", "0", "BX", "VALUE:99" ], [ "X", "2A", "0", "B0", "VALUE:99" ], [ "X", "2A", "0", "B0a", "VALUE:99" ], [ "X", "2A", "0", "B0b", "VALUE:99" ], [ "X", "2A", "0", "B1", "VALUE:99" ], [ "X", "2A", "0", "B1a", "VALUE:99" ], [ "X", "2A", "0", "B1b", "VALUE:99" ], [ "X", "2A", "0", "B2", "VALUE:4A1" ], [ "X", "2A", "0", "BX", "VALUE:99" ], [ "X", "2B", "0", "B0", "VALUE:99" ], [ "X", "2B", "0", "B0a", "VALUE:99" ], [ "X", "2B", "0", "B0b", "VALUE:99" ], [ "X", "2B", "0", "B1", "VALUE:99" ], [ "X", "2B", "0", "B1a", "VALUE:99" ], [ "X", "2B", "0", "B1b", "VALUE:99" ], [ "X", "2B", "0", "B2", "VALUE:4A1" ], [ "X", "2B", "0", "BX", "VALUE:99" ], [ "X", "2", "0", "B0", "VALUE:99" ], [ "X", "2", "0", "B0a", "VALUE:99" ], [ "X", "2", "0", "B0b", "VALUE:99" ], [ "X", "2", "0", "B1", "VALUE:99" ], [ "X", "2", "0", "B1a", "VALUE:99" ], [ "X", "2", "0", "B1b", "VALUE:99" ], [ "X", "2", "0", "B2", "VALUE:4A1" ], [ "X", "2", "0", "BX", "VALUE:99" ], [ "X", "3", "0", "B0", "VALUE:4A2" ], [ "X", "3", "0", "B0a", "VALUE:4A2" ], [ "X", "3", "0", "B0b", "VALUE:4A2" ], [ "X", "3", "0", "B1", "VALUE:4A2" ], [ "X", "3", "0", "B1a", "VALUE:4A2" ], [ "X", "3", "0", "B1b", "VALUE:4A2" ], [ "X", "3", "0", "B2", "VALUE:4A2" ], [ "X", "3", "0", "BX", "VALUE:4A2" ], [ "X", "X", "0", "B0", "VALUE:99" ], [ "X", "X", "0", "B0a", "VALUE:99" ], [ "X", "X", "0", "B0b", "VALUE:99" ], [ "X", "X", "0", "B1", "VALUE:99" ], [ "X", "X", "0", "B1a", "VALUE:99" ], [ "X", "X", "0", "B1b", "VALUE:99" ], [ "X", "X", "0", "B2", "VALUE:4A" ], [ "X", "X", "0", "BX", "VALUE:99" ], [ "0", "0", "1", "B0", "VALUE:4B" ], [ "0", "0", "1", "B0a", "VALUE:4B" ], [ "0", "0", "1", "B0b", "VALUE:4B" ], [ "0", "0", "1", "B1", "VALUE:4B" ], [ "0", "0", "1", "B1a", "VALUE:4B" ], [ "0", "0", "1", "B1b", "VALUE:4B" ], [ "0", "0", "1", "B2", "VALUE:4B" ], [ "0", "0", "1", "BX", "VALUE:4B" ], [ "0", "1A", "1", "B0", "VALUE:4B" ], [ "0", "1A", "1", "B0a", "VALUE:4B" ], [ "0", "1A", "1", "B0b", "VALUE:4B" ], [ "0", "1A", "1", "B1", "VALUE:4B" ], [ "0", "1A", "1", "B1a", "VALUE:4B" ], [ "0", "1A", "1", "B1b", "VALUE:4B" ], [ "0", "1A", "1", "B2", "VALUE:4B" ], [ "0", "1A", "1", "BX", "VALUE:4B" ], [ "0", "1B", "1", "B0", "VALUE:4B" ], [ "0", "1B", "1", "B0a", "VALUE:4B" ], [ "0", "1B", "1", "B0b", "VALUE:4B" ], [ "0", "1B", "1", "B1", "VALUE:4B" ], [ "0", "1B", "1", "B1a", "VALUE:4B" ], [ "0", "1B", "1", "B1b", "VALUE:4B" ], [ "0", "1B", "1", "B2", "VALUE:4B" ], [ "0", "1B", "1", "BX", "VALUE:4B" ], [ "0", "1", "1", "B0", "VALUE:4B" ], [ "0", "1", "1", "B0a", "VALUE:4B" ], [ "0", "1", "1", "B0b", "VALUE:4B" ], [ "0", "1", "1", "B1", "VALUE:4B" ], [ "0", "1", "1", "B1a", "VALUE:4B" ], [ "0", "1", "1", "B1b", "VALUE:4B" ], [ "0", "1", "1", "B2", "VALUE:4B" ], [ "0", "1", "1", "BX", "VALUE:4B" ], [ "0", "2A", "1", "B0", "VALUE:4B" ], [ "0", "2A", "1", "B0a", "VALUE:4B" ], [ "0", "2A", "1", "B0b", "VALUE:4B" ], [ "0", "2A", "1", "B1", "VALUE:4B" ], [ "0", "2A", "1", "B1a", "VALUE:4B" ], [ "0", "2A", "1", "B1b", "VALUE:4B" ], [ "0", "2A", "1", "B2", "VALUE:4B" ], [ "0", "2A", "1", "BX", "VALUE:4B" ], [ "0", "2B", "1", "B0", "VALUE:4B" ], [ "0", "2B", "1", "B0a", "VALUE:4B" ], [ "0", "2B", "1", "B0b", "VALUE:4B" ], [ "0", "2B", "1", "B1", "VALUE:4B" ], [ "0", "2B", "1", "B1a", "VALUE:4B" ], [ "0", "2B", "1", "B1b", "VALUE:4B" ], [ "0", "2B", "1", "B2", "VALUE:4B" ], [ "0", "2B", "1", "BX", "VALUE:4B" ], [ "0", "2", "1", "B0", "VALUE:4B" ], [ "0", "2", "1", "B0a", "VALUE:4B" ], [ "0", "2", "1", "B0b", "VALUE:4B" ], [ "0", "2", "1", "B1", "VALUE:4B" ], [ "0", "2", "1", "B1a", "VALUE:4B" ], [ "0", "2", "1", "B1b", "VALUE:4B" ], [ "0", "2", "1", "B2", "VALUE:4B" ], [ "0", "2", "1", "BX", "VALUE:4B" ], [ "0", "3", "1", "B0", "VALUE:4B" ], [ "0", "3", "1", "B0a", "VALUE:4B" ], [ "0", "3", "1", "B0b", "VALUE:4B" ], [ "0", "3", "1", "B1", "VALUE:4B" ], [ "0", "3", "1", "B1a", "VALUE:4B" ], [ "0", "3", "1", "B1b", "VALUE:4B" ], [ "0", "3", "1", "B2", "VALUE:4B" ], [ "0", "3", "1", "BX", "VALUE:4B" ], [ "0", "X", "1", "B0", "VALUE:4B" ], [ "0", "X", "1", "B0a", "VALUE:4B" ], [ "0", "X", "1", "B0b", "VALUE:4B" ], [ "0", "X", "1", "B1", "VALUE:4B" ], [ "0", "X", "1", "B1a", "VALUE:4B" ], [ "0", "X", "1", "B1b", "VALUE:4B" ], [ "0", "X", "1", "B2", "VALUE:4B" ], [ "0", "X", "1", "BX", "VALUE:4B" ], [ "1A", "0", "1", "B0", "VALUE:4B" ], [ "1A", "0", "1", "B0a", "VALUE:4B" ], [ "1A", "0", "1", "B0b", "VALUE:4B" ], [ "1A", "0", "1", "B1", "VALUE:4B" ], [ "1A", "0", "1", "B1a", "VALUE:4B" ], [ "1A", "0", "1", "B1b", "VALUE:4B" ], [ "1A", "0", "1", "B2", "VALUE:4B" ], [ "1A", "0", "1", "BX", "VALUE:4B" ], [ "1A", "1A", "1", "B0", "VALUE:4B" ], [ "1A", "1A", "1", "B0a", "VALUE:4B" ], [ "1A", "1A", "1", "B0b", "VALUE:4B" ], [ "1A", "1A", "1", "B1", "VALUE:4B" ], [ "1A", "1A", "1", "B1a", "VALUE:4B" ], [ "1A", "1A", "1", "B1b", "VALUE:4B" ], [ "1A", "1A", "1", "B2", "VALUE:4B" ], [ "1A", "1A", "1", "BX", "VALUE:4B" ], [ "1A", "1B", "1", "B0", "VALUE:4B" ], [ "1A", "1B", "1", "B0a", "VALUE:4B" ], [ "1A", "1B", "1", "B0b", "VALUE:4B" ], [ "1A", "1B", "1", "B1", "VALUE:4B" ], [ "1A", "1B", "1", "B1a", "VALUE:4B" ], [ "1A", "1B", "1", "B1b", "VALUE:4B" ], [ "1A", "1B", "1", "B2", "VALUE:4B" ], [ "1A", "1B", "1", "BX", "VALUE:4B" ], [ "1A", "1", "1", "B0", "VALUE:4B" ], [ "1A", "1", "1", "B0a", "VALUE:4B" ], [ "1A", "1", "1", "B0b", "VALUE:4B" ], [ "1A", "1", "1", "B1", "VALUE:4B" ], [ "1A", "1", "1", "B1a", "VALUE:4B" ], [ "1A", "1", "1", "B1b", "VALUE:4B" ], [ "1A", "1", "1", "B2", "VALUE:4B" ], [ "1A", "1", "1", "BX", "VALUE:4B" ], [ "1A", "2A", "1", "B0", "VALUE:4B" ], [ "1A", "2A", "1", "B0a", "VALUE:4B" ], [ "1A", "2A", "1", "B0b", "VALUE:4B" ], [ "1A", "2A", "1", "B1", "VALUE:4B" ], [ "1A", "2A", "1", "B1a", "VALUE:4B" ], [ "1A", "2A", "1", "B1b", "VALUE:4B" ], [ "1A", "2A", "1", "B2", "VALUE:4B" ], [ "1A", "2A", "1", "BX", "VALUE:4B" ], [ "1A", "2B", "1", "B0", "VALUE:4B" ], [ "1A", "2B", "1", "B0a", "VALUE:4B" ], [ "1A", "2B", "1", "B0b", "VALUE:4B" ], [ "1A", "2B", "1", "B1", "VALUE:4B" ], [ "1A", "2B", "1", "B1a", "VALUE:4B" ], [ "1A", "2B", "1", "B1b", "VALUE:4B" ], [ "1A", "2B", "1", "B2", "VALUE:4B" ], [ "1A", "2B", "1", "BX", "VALUE:4B" ], [ "1A", "2", "1", "B0", "VALUE:4B" ], [ "1A", "2", "1", "B0a", "VALUE:4B" ], [ "1A", "2", "1", "B0b", "VALUE:4B" ], [ "1A", "2", "1", "B1", "VALUE:4B" ], [ "1A", "2", "1", "B1a", "VALUE:4B" ], [ "1A", "2", "1", "B1b", "VALUE:4B" ], [ "1A", "2", "1", "B2", "VALUE:4B" ], [ "1A", "2", "1", "BX", "VALUE:4B" ], [ "1A", "3", "1", "B0", "VALUE:4B" ], [ "1A", "3", "1", "B0a", "VALUE:4B" ], [ "1A", "3", "1", "B0b", "VALUE:4B" ], [ "1A", "3", "1", "B1", "VALUE:4B" ], [ "1A", "3", "1", "B1a", "VALUE:4B" ], [ "1A", "3", "1", "B1b", "VALUE:4B" ], [ "1A", "3", "1", "B2", "VALUE:4B" ], [ "1A", "3", "1", "BX", "VALUE:4B" ], [ "1A", "X", "1", "B0", "VALUE:4B" ], [ "1A", "X", "1", "B0a", "VALUE:4B" ], [ "1A", "X", "1", "B0b", "VALUE:4B" ], [ "1A", "X", "1", "B1", "VALUE:4B" ], [ "1A", "X", "1", "B1a", "VALUE:4B" ], [ "1A", "X", "1", "B1b", "VALUE:4B" ], [ "1A", "X", "1", "B2", "VALUE:4B" ], [ "1A", "X", "1", "BX", "VALUE:4B" ], [ "1B", "0", "1", "B0", "VALUE:4B" ], [ "1B", "0", "1", "B0a", "VALUE:4B" ], [ "1B", "0", "1", "B0b", "VALUE:4B" ], [ "1B", "0", "1", "B1", "VALUE:4B" ], [ "1B", "0", "1", "B1a", "VALUE:4B" ], [ "1B", "0", "1", "B1b", "VALUE:4B" ], [ "1B", "0", "1", "B2", "VALUE:4B" ], [ "1B", "0", "1", "BX", "VALUE:4B" ], [ "1B", "1A", "1", "B0", "VALUE:4B" ], [ "1B", "1A", "1", "B0a", "VALUE:4B" ], [ "1B", "1A", "1", "B0b", "VALUE:4B" ], [ "1B", "1A", "1", "B1", "VALUE:4B" ], [ "1B", "1A", "1", "B1a", "VALUE:4B" ], [ "1B", "1A", "1", "B1b", "VALUE:4B" ], [ "1B", "1A", "1", "B2", "VALUE:4B" ], [ "1B", "1A", "1", "BX", "VALUE:4B" ], [ "1B", "1B", "1", "B0", "VALUE:4B" ], [ "1B", "1B", "1", "B0a", "VALUE:4B" ], [ "1B", "1B", "1", "B0b", "VALUE:4B" ], [ "1B", "1B", "1", "B1", "VALUE:4B" ], [ "1B", "1B", "1", "B1a", "VALUE:4B" ], [ "1B", "1B", "1", "B1b", "VALUE:4B" ], [ "1B", "1B", "1", "B2", "VALUE:4B" ], [ "1B", "1B", "1", "BX", "VALUE:4B" ], [ "1B", "1", "1", "B0", "VALUE:4B" ], [ "1B", "1", "1", "B0a", "VALUE:4B" ], [ "1B", "1", "1", "B0b", "VALUE:4B" ], [ "1B", "1", "1", "B1", "VALUE:4B" ], [ "1B", "1", "1", "B1a", "VALUE:4B" ], [ "1B", "1", "1", "B1b", "VALUE:4B" ], [ "1B", "1", "1", "B2", "VALUE:4B" ], [ "1B", "1", "1", "BX", "VALUE:4B" ], [ "1B", "2A", "1", "B0", "VALUE:4B" ], [ "1B", "2A", "1", "B0a", "VALUE:4B" ], [ "1B", "2A", "1", "B0b", "VALUE:4B" ], [ "1B", "2A", "1", "B1", "VALUE:4B" ], [ "1B", "2A", "1", "B1a", "VALUE:4B" ], [ "1B", "2A", "1", "B1b", "VALUE:4B" ], [ "1B", "2A", "1", "B2", "VALUE:4B" ], [ "1B", "2A", "1", "BX", "VALUE:4B" ], [ "1B", "2B", "1", "B0", "VALUE:4B" ], [ "1B", "2B", "1", "B0a", "VALUE:4B" ], [ "1B", "2B", "1", "B0b", "VALUE:4B" ], [ "1B", "2B", "1", "B1", "VALUE:4B" ], [ "1B", "2B", "1", "B1a", "VALUE:4B" ], [ "1B", "2B", "1", "B1b", "VALUE:4B" ], [ "1B", "2B", "1", "B2", "VALUE:4B" ], [ "1B", "2B", "1", "BX", "VALUE:4B" ], [ "1B", "2", "1", "B0", "VALUE:4B" ], [ "1B", "2", "1", "B0a", "VALUE:4B" ], [ "1B", "2", "1", "B0b", "VALUE:4B" ], [ "1B", "2", "1", "B1", "VALUE:4B" ], [ "1B", "2", "1", "B1a", "VALUE:4B" ], [ "1B", "2", "1", "B1b", "VALUE:4B" ], [ "1B", "2", "1", "B2", "VALUE:4B" ], [ "1B", "2", "1", "BX", "VALUE:4B" ], [ "1B", "3", "1", "B0", "VALUE:4B" ], [ "1B", "3", "1", "B0a", "VALUE:4B" ], [ "1B", "3", "1", "B0b", "VALUE:4B" ], [ "1B", "3", "1", "B1", "VALUE:4B" ], [ "1B", "3", "1", "B1a", "VALUE:4B" ], [ "1B", "3", "1", "B1b", "VALUE:4B" ], [ "1B", "3", "1", "B2", "VALUE:4B" ], [ "1B", "3", "1", "BX", "VALUE:4B" ], [ "1B", "X", "1", "B0", "VALUE:4B" ], [ "1B", "X", "1", "B0a", "VALUE:4B" ], [ "1B", "X", "1", "B0b", "VALUE:4B" ], [ "1B", "X", "1", "B1", "VALUE:4B" ], [ "1B", "X", "1", "B1a", "VALUE:4B" ], [ "1B", "X", "1", "B1b", "VALUE:4B" ], [ "1B", "X", "1", "B2", "VALUE:4B" ], [ "1B", "X", "1", "BX", "VALUE:4B" ], [ "1", "0", "1", "B0", "VALUE:4B" ], [ "1", "0", "1", "B0a", "VALUE:4B" ], [ "1", "0", "1", "B0b", "VALUE:4B" ], [ "1", "0", "1", "B1", "VALUE:4B" ], [ "1", "0", "1", "B1a", "VALUE:4B" ], [ "1", "0", "1", "B1b", "VALUE:4B" ], [ "1", "0", "1", "B2", "VALUE:4B" ], [ "1", "0", "1", "BX", "VALUE:4B" ], [ "1", "1A", "1", "B0", "VALUE:4B" ], [ "1", "1A", "1", "B0a", "VALUE:4B" ], [ "1", "1A", "1", "B0b", "VALUE:4B" ], [ "1", "1A", "1", "B1", "VALUE:4B" ], [ "1", "1A", "1", "B1a", "VALUE:4B" ], [ "1", "1A", "1", "B1b", "VALUE:4B" ], [ "1", "1A", "1", "B2", "VALUE:4B" ], [ "1", "1A", "1", "BX", "VALUE:4B" ], [ "1", "1B", "1", "B0", "VALUE:4B" ], [ "1", "1B", "1", "B0a", "VALUE:4B" ], [ "1", "1B", "1", "B0b", "VALUE:4B" ], [ "1", "1B", "1", "B1", "VALUE:4B" ], [ "1", "1B", "1", "B1a", "VALUE:4B" ], [ "1", "1B", "1", "B1b", "VALUE:4B" ], [ "1", "1B", "1", "B2", "VALUE:4B" ], [ "1", "1B", "1", "BX", "VALUE:4B" ], [ "1", "1", "1", "B0", "VALUE:4B" ], [ "1", "1", "1", "B0a", "VALUE:4B" ], [ "1", "1", "1", "B0b", "VALUE:4B" ], [ "1", "1", "1", "B1", "VALUE:4B" ], [ "1", "1", "1", "B1a", "VALUE:4B" ], [ "1", "1", "1", "B1b", "VALUE:4B" ], [ "1", "1", "1", "B2", "VALUE:4B" ], [ "1", "1", "1", "BX", "VALUE:4B" ], [ "1", "2A", "1", "B0", "VALUE:4B" ], [ "1", "2A", "1", "B0a", "VALUE:4B" ], [ "1", "2A", "1", "B0b", "VALUE:4B" ], [ "1", "2A", "1", "B1", "VALUE:4B" ], [ "1", "2A", "1", "B1a", "VALUE:4B" ], [ "1", "2A", "1", "B1b", "VALUE:4B" ], [ "1", "2A", "1", "B2", "VALUE:4B" ], [ "1", "2A", "1", "BX", "VALUE:4B" ], [ "1", "2B", "1", "B0", "VALUE:4B" ], [ "1", "2B", "1", "B0a", "VALUE:4B" ], [ "1", "2B", "1", "B0b", "VALUE:4B" ], [ "1", "2B", "1", "B1", "VALUE:4B" ], [ "1", "2B", "1", "B1a", "VALUE:4B" ], [ "1", "2B", "1", "B1b", "VALUE:4B" ], [ "1", "2B", "1", "B2", "VALUE:4B" ], [ "1", "2B", "1", "BX", "VALUE:4B" ], [ "1", "2", "1", "B0", "VALUE:4B" ], [ "1", "2", "1", "B0a", "VALUE:4B" ], [ "1", "2", "1", "B0b", "VALUE:4B" ], [ "1", "2", "1", "B1", "VALUE:4B" ], [ "1", "2", "1", "B1a", "VALUE:4B" ], [ "1", "2", "1", "B1b", "VALUE:4B" ], [ "1", "2", "1", "B2", "VALUE:4B" ], [ "1", "2", "1", "BX", "VALUE:4B" ], [ "1", "3", "1", "B0", "VALUE:4B" ], [ "1", "3", "1", "B0a", "VALUE:4B" ], [ "1", "3", "1", "B0b", "VALUE:4B" ], [ "1", "3", "1", "B1", "VALUE:4B" ], [ "1", "3", "1", "B1a", "VALUE:4B" ], [ "1", "3", "1", "B1b", "VALUE:4B" ], [ "1", "3", "1", "B2", "VALUE:4B" ], [ "1", "3", "1", "BX", "VALUE:4B" ], [ "1", "X", "1", "B0", "VALUE:4B" ], [ "1", "X", "1", "B0a", "VALUE:4B" ], [ "1", "X", "1", "B0b", "VALUE:4B" ], [ "1", "X", "1", "B1", "VALUE:4B" ], [ "1", "X", "1", "B1a", "VALUE:4B" ], [ "1", "X", "1", "B1b", "VALUE:4B" ], [ "1", "X", "1", "B2", "VALUE:4B" ], [ "1", "X", "1", "BX", "VALUE:4B" ], [ "2A", "0", "1", "B0", "VALUE:4B" ], [ "2A", "0", "1", "B0a", "VALUE:4B" ], [ "2A", "0", "1", "B0b", "VALUE:4B" ], [ "2A", "0", "1", "B1", "VALUE:4B" ], [ "2A", "0", "1", "B1a", "VALUE:4B" ], [ "2A", "0", "1", "B1b", "VALUE:4B" ], [ "2A", "0", "1", "B2", "VALUE:4B" ], [ "2A", "0", "1", "BX", "VALUE:4B" ], [ "2A", "1A", "1", "B0", "VALUE:4B" ], [ "2A", "1A", "1", "B0a", "VALUE:4B" ], [ "2A", "1A", "1", "B0b", "VALUE:4B" ], [ "2A", "1A", "1", "B1", "VALUE:4B" ], [ "2A", "1A", "1", "B1a", "VALUE:4B" ], [ "2A", "1A", "1", "B1b", "VALUE:4B" ], [ "2A", "1A", "1", "B2", "VALUE:4B" ], [ "2A", "1A", "1", "BX", "VALUE:4B" ], [ "2A", "1B", "1", "B0", "VALUE:4B" ], [ "2A", "1B", "1", "B0a", "VALUE:4B" ], [ "2A", "1B", "1", "B0b", "VALUE:4B" ], [ "2A", "1B", "1", "B1", "VALUE:4B" ], [ "2A", "1B", "1", "B1a", "VALUE:4B" ], [ "2A", "1B", "1", "B1b", "VALUE:4B" ], [ "2A", "1B", "1", "B2", "VALUE:4B" ], [ "2A", "1B", "1", "BX", "VALUE:4B" ], [ "2A", "1", "1", "B0", "VALUE:4B" ], [ "2A", "1", "1", "B0a", "VALUE:4B" ], [ "2A", "1", "1", "B0b", "VALUE:4B" ], [ "2A", "1", "1", "B1", "VALUE:4B" ], [ "2A", "1", "1", "B1a", "VALUE:4B" ], [ "2A", "1", "1", "B1b", "VALUE:4B" ], [ "2A", "1", "1", "B2", "VALUE:4B" ], [ "2A", "1", "1", "BX", "VALUE:4B" ], [ "2A", "2A", "1", "B0", "VALUE:4B" ], [ "2A", "2A", "1", "B0a", "VALUE:4B" ], [ "2A", "2A", "1", "B0b", "VALUE:4B" ], [ "2A", "2A", "1", "B1", "VALUE:4B" ], [ "2A", "2A", "1", "B1a", "VALUE:4B" ], [ "2A", "2A", "1", "B1b", "VALUE:4B" ], [ "2A", "2A", "1", "B2", "VALUE:4B" ], [ "2A", "2A", "1", "BX", "VALUE:4B" ], [ "2A", "2B", "1", "B0", "VALUE:4B" ], [ "2A", "2B", "1", "B0a", "VALUE:4B" ], [ "2A", "2B", "1", "B0b", "VALUE:4B" ], [ "2A", "2B", "1", "B1", "VALUE:4B" ], [ "2A", "2B", "1", "B1a", "VALUE:4B" ], [ "2A", "2B", "1", "B1b", "VALUE:4B" ], [ "2A", "2B", "1", "B2", "VALUE:4B" ], [ "2A", "2B", "1", "BX", "VALUE:4B" ], [ "2A", "2", "1", "B0", "VALUE:4B" ], [ "2A", "2", "1", "B0a", "VALUE:4B" ], [ "2A", "2", "1", "B0b", "VALUE:4B" ], [ "2A", "2", "1", "B1", "VALUE:4B" ], [ "2A", "2", "1", "B1a", "VALUE:4B" ], [ "2A", "2", "1", "B1b", "VALUE:4B" ], [ "2A", "2", "1", "B2", "VALUE:4B" ], [ "2A", "2", "1", "BX", "VALUE:4B" ], [ "2A", "3", "1", "B0", "VALUE:4B" ], [ "2A", "3", "1", "B0a", "VALUE:4B" ], [ "2A", "3", "1", "B0b", "VALUE:4B" ], [ "2A", "3", "1", "B1", "VALUE:4B" ], [ "2A", "3", "1", "B1a", "VALUE:4B" ], [ "2A", "3", "1", "B1b", "VALUE:4B" ], [ "2A", "3", "1", "B2", "VALUE:4B" ], [ "2A", "3", "1", "BX", "VALUE:4B" ], [ "2A", "X", "1", "B0", "VALUE:4B" ], [ "2A", "X", "1", "B0a", "VALUE:4B" ], [ "2A", "X", "1", "B0b", "VALUE:4B" ], [ "2A", "X", "1", "B1", "VALUE:4B" ], [ "2A", "X", "1", "B1a", "VALUE:4B" ], [ "2A", "X", "1", "B1b", "VALUE:4B" ], [ "2A", "X", "1", "B2", "VALUE:4B" ], [ "2A", "X", "1", "BX", "VALUE:4B" ], [ "2B", "0", "1", "B0", "VALUE:4B" ], [ "2B", "0", "1", "B0a", "VALUE:4B" ], [ "2B", "0", "1", "B0b", "VALUE:4B" ], [ "2B", "0", "1", "B1", "VALUE:4B" ], [ "2B", "0", "1", "B1a", "VALUE:4B" ], [ "2B", "0", "1", "B1b", "VALUE:4B" ], [ "2B", "0", "1", "B2", "VALUE:4B" ], [ "2B", "0", "1", "BX", "VALUE:4B" ], [ "2B", "1A", "1", "B0", "VALUE:4B" ], [ "2B", "1A", "1", "B0a", "VALUE:4B" ], [ "2B", "1A", "1", "B0b", "VALUE:4B" ], [ "2B", "1A", "1", "B1", "VALUE:4B" ], [ "2B", "1A", "1", "B1a", "VALUE:4B" ], [ "2B", "1A", "1", "B1b", "VALUE:4B" ], [ "2B", "1A", "1", "B2", "VALUE:4B" ], [ "2B", "1A", "1", "BX", "VALUE:4B" ], [ "2B", "1B", "1", "B0", "VALUE:4B" ], [ "2B", "1B", "1", "B0a", "VALUE:4B" ], [ "2B", "1B", "1", "B0b", "VALUE:4B" ], [ "2B", "1B", "1", "B1", "VALUE:4B" ], [ "2B", "1B", "1", "B1a", "VALUE:4B" ], [ "2B", "1B", "1", "B1b", "VALUE:4B" ], [ "2B", "1B", "1", "B2", "VALUE:4B" ], [ "2B", "1B", "1", "BX", "VALUE:4B" ], [ "2B", "1", "1", "B0", "VALUE:4B" ], [ "2B", "1", "1", "B0a", "VALUE:4B" ], [ "2B", "1", "1", "B0b", "VALUE:4B" ], [ "2B", "1", "1", "B1", "VALUE:4B" ], [ "2B", "1", "1", "B1a", "VALUE:4B" ], [ "2B", "1", "1", "B1b", "VALUE:4B" ], [ "2B", "1", "1", "B2", "VALUE:4B" ], [ "2B", "1", "1", "BX", "VALUE:4B" ], [ "2B", "2A", "1", "B0", "VALUE:4B" ], [ "2B", "2A", "1", "B0a", "VALUE:4B" ], [ "2B", "2A", "1", "B0b", "VALUE:4B" ], [ "2B", "2A", "1", "B1", "VALUE:4B" ], [ "2B", "2A", "1", "B1a", "VALUE:4B" ], [ "2B", "2A", "1", "B1b", "VALUE:4B" ], [ "2B", "2A", "1", "B2", "VALUE:4B" ], [ "2B", "2A", "1", "BX", "VALUE:4B" ], [ "2B", "2B", "1", "B0", "VALUE:4B" ], [ "2B", "2B", "1", "B0a", "VALUE:4B" ], [ "2B", "2B", "1", "B0b", "VALUE:4B" ], [ "2B", "2B", "1", "B1", "VALUE:4B" ], [ "2B", "2B", "1", "B1a", "VALUE:4B" ], [ "2B", "2B", "1", "B1b", "VALUE:4B" ], [ "2B", "2B", "1", "B2", "VALUE:4B" ], [ "2B", "2B", "1", "BX", "VALUE:4B" ], [ "2B", "2", "1", "B0", "VALUE:4B" ], [ "2B", "2", "1", "B0a", "VALUE:4B" ], [ "2B", "2", "1", "B0b", "VALUE:4B" ], [ "2B", "2", "1", "B1", "VALUE:4B" ], [ "2B", "2", "1", "B1a", "VALUE:4B" ], [ "2B", "2", "1", "B1b", "VALUE:4B" ], [ "2B", "2", "1", "B2", "VALUE:4B" ], [ "2B", "2", "1", "BX", "VALUE:4B" ], [ "2B", "3", "1", "B0", "VALUE:4B" ], [ "2B", "3", "1", "B0a", "VALUE:4B" ], [ "2B", "3", "1", "B0b", "VALUE:4B" ], [ "2B", "3", "1", "B1", "VALUE:4B" ], [ "2B", "3", "1", "B1a", "VALUE:4B" ], [ "2B", "3", "1", "B1b", "VALUE:4B" ], [ "2B", "3", "1", "B2", "VALUE:4B" ], [ "2B", "3", "1", "BX", "VALUE:4B" ], [ "2B", "X", "1", "B0", "VALUE:4B" ], [ "2B", "X", "1", "B0a", "VALUE:4B" ], [ "2B", "X", "1", "B0b", "VALUE:4B" ], [ "2B", "X", "1", "B1", "VALUE:4B" ], [ "2B", "X", "1", "B1a", "VALUE:4B" ], [ "2B", "X", "1", "B1b", "VALUE:4B" ], [ "2B", "X", "1", "B2", "VALUE:4B" ], [ "2B", "X", "1", "BX", "VALUE:4B" ], [ "2", "0", "1", "B0", "VALUE:4B" ], [ "2", "0", "1", "B0a", "VALUE:4B" ], [ "2", "0", "1", "B0b", "VALUE:4B" ], [ "2", "0", "1", "B1", "VALUE:4B" ], [ "2", "0", "1", "B1a", "VALUE:4B" ], [ "2", "0", "1", "B1b", "VALUE:4B" ], [ "2", "0", "1", "B2", "VALUE:4B" ], [ "2", "0", "1", "BX", "VALUE:4B" ], [ "2", "1A", "1", "B0", "VALUE:4B" ], [ "2", "1A", "1", "B0a", "VALUE:4B" ], [ "2", "1A", "1", "B0b", "VALUE:4B" ], [ "2", "1A", "1", "B1", "VALUE:4B" ], [ "2", "1A", "1", "B1a", "VALUE:4B" ], [ "2", "1A", "1", "B1b", "VALUE:4B" ], [ "2", "1A", "1", "B2", "VALUE:4B" ], [ "2", "1A", "1", "BX", "VALUE:4B" ], [ "2", "1B", "1", "B0", "VALUE:4B" ], [ "2", "1B", "1", "B0a", "VALUE:4B" ], [ "2", "1B", "1", "B0b", "VALUE:4B" ], [ "2", "1B", "1", "B1", "VALUE:4B" ], [ "2", "1B", "1", "B1a", "VALUE:4B" ], [ "2", "1B", "1", "B1b", "VALUE:4B" ], [ "2", "1B", "1", "B2", "VALUE:4B" ], [ "2", "1B", "1", "BX", "VALUE:4B" ], [ "2", "1", "1", "B0", "VALUE:4B" ], [ "2", "1", "1", "B0a", "VALUE:4B" ], [ "2", "1", "1", "B0b", "VALUE:4B" ], [ "2", "1", "1", "B1", "VALUE:4B" ], [ "2", "1", "1", "B1a", "VALUE:4B" ], [ "2", "1", "1", "B1b", "VALUE:4B" ], [ "2", "1", "1", "B2", "VALUE:4B" ], [ "2", "1", "1", "BX", "VALUE:4B" ], [ "2", "2A", "1", "B0", "VALUE:4B" ], [ "2", "2A", "1", "B0a", "VALUE:4B" ], [ "2", "2A", "1", "B0b", "VALUE:4B" ], [ "2", "2A", "1", "B1", "VALUE:4B" ], [ "2", "2A", "1", "B1a", "VALUE:4B" ], [ "2", "2A", "1", "B1b", "VALUE:4B" ], [ "2", "2A", "1", "B2", "VALUE:4B" ], [ "2", "2A", "1", "BX", "VALUE:4B" ], [ "2", "2B", "1", "B0", "VALUE:4B" ], [ "2", "2B", "1", "B0a", "VALUE:4B" ], [ "2", "2B", "1", "B0b", "VALUE:4B" ], [ "2", "2B", "1", "B1", "VALUE:4B" ], [ "2", "2B", "1", "B1a", "VALUE:4B" ], [ "2", "2B", "1", "B1b", "VALUE:4B" ], [ "2", "2B", "1", "B2", "VALUE:4B" ], [ "2", "2B", "1", "BX", "VALUE:4B" ], [ "2", "2", "1", "B0", "VALUE:4B" ], [ "2", "2", "1", "B0a", "VALUE:4B" ], [ "2", "2", "1", "B0b", "VALUE:4B" ], [ "2", "2", "1", "B1", "VALUE:4B" ], [ "2", "2", "1", "B1a", "VALUE:4B" ], [ "2", "2", "1", "B1b", "VALUE:4B" ], [ "2", "2", "1", "B2", "VALUE:4B" ], [ "2", "2", "1", "BX", "VALUE:4B" ], [ "2", "3", "1", "B0", "VALUE:4B" ], [ "2", "3", "1", "B0a", "VALUE:4B" ], [ "2", "3", "1", "B0b", "VALUE:4B" ], [ "2", "3", "1", "B1", "VALUE:4B" ], [ "2", "3", "1", "B1a", "VALUE:4B" ], [ "2", "3", "1", "B1b", "VALUE:4B" ], [ "2", "3", "1", "B2", "VALUE:4B" ], [ "2", "3", "1", "BX", "VALUE:4B" ], [ "2", "X", "1", "B0", "VALUE:4B" ], [ "2", "X", "1", "B0a", "VALUE:4B" ], [ "2", "X", "1", "B0b", "VALUE:4B" ], [ "2", "X", "1", "B1", "VALUE:4B" ], [ "2", "X", "1", "B1a", "VALUE:4B" ], [ "2", "X", "1", "B1b", "VALUE:4B" ], [ "2", "X", "1", "B2", "VALUE:4B" ], [ "2", "X", "1", "BX", "VALUE:4B" ], [ "3", "0", "1", "B0", "VALUE:4B" ], [ "3", "0", "1", "B0a", "VALUE:4B" ], [ "3", "0", "1", "B0b", "VALUE:4B" ], [ "3", "0", "1", "B1", "VALUE:4B" ], [ "3", "0", "1", "B1a", "VALUE:4B" ], [ "3", "0", "1", "B1b", "VALUE:4B" ], [ "3", "0", "1", "B2", "VALUE:4B" ], [ "3", "0", "1", "BX", "VALUE:4B" ], [ "3", "1A", "1", "B0", "VALUE:4B" ], [ "3", "1A", "1", "B0a", "VALUE:4B" ], [ "3", "1A", "1", "B0b", "VALUE:4B" ], [ "3", "1A", "1", "B1", "VALUE:4B" ], [ "3", "1A", "1", "B1a", "VALUE:4B" ], [ "3", "1A", "1", "B1b", "VALUE:4B" ], [ "3", "1A", "1", "B2", "VALUE:4B" ], [ "3", "1A", "1", "BX", "VALUE:4B" ], [ "3", "1B", "1", "B0", "VALUE:4B" ], [ "3", "1B", "1", "B0a", "VALUE:4B" ], [ "3", "1B", "1", "B0b", "VALUE:4B" ], [ "3", "1B", "1", "B1", "VALUE:4B" ], [ "3", "1B", "1", "B1a", "VALUE:4B" ], [ "3", "1B", "1", "B1b", "VALUE:4B" ], [ "3", "1B", "1", "B2", "VALUE:4B" ], [ "3", "1B", "1", "BX", "VALUE:4B" ], [ "3", "1", "1", "B0", "VALUE:4B" ], [ "3", "1", "1", "B0a", "VALUE:4B" ], [ "3", "1", "1", "B0b", "VALUE:4B" ], [ "3", "1", "1", "B1", "VALUE:4B" ], [ "3", "1", "1", "B1a", "VALUE:4B" ], [ "3", "1", "1", "B1b", "VALUE:4B" ], [ "3", "1", "1", "B2", "VALUE:4B" ], [ "3", "1", "1", "BX", "VALUE:4B" ], [ "3", "2A", "1", "B0", "VALUE:4B" ], [ "3", "2A", "1", "B0a", "VALUE:4B" ], [ "3", "2A", "1", "B0b", "VALUE:4B" ], [ "3", "2A", "1", "B1", "VALUE:4B" ], [ "3", "2A", "1", "B1a", "VALUE:4B" ], [ "3", "2A", "1", "B1b", "VALUE:4B" ], [ "3", "2A", "1", "B2", "VALUE:4B" ], [ "3", "2A", "1", "BX", "VALUE:4B" ], [ "3", "2B", "1", "B0", "VALUE:4B" ], [ "3", "2B", "1", "B0a", "VALUE:4B" ], [ "3", "2B", "1", "B0b", "VALUE:4B" ], [ "3", "2B", "1", "B1", "VALUE:4B" ], [ "3", "2B", "1", "B1a", "VALUE:4B" ], [ "3", "2B", "1", "B1b", "VALUE:4B" ], [ "3", "2B", "1", "B2", "VALUE:4B" ], [ "3", "2B", "1", "BX", "VALUE:4B" ], [ "3", "2", "1", "B0", "VALUE:4B" ], [ "3", "2", "1", "B0a", "VALUE:4B" ], [ "3", "2", "1", "B0b", "VALUE:4B" ], [ "3", "2", "1", "B1", "VALUE:4B" ], [ "3", "2", "1", "B1a", "VALUE:4B" ], [ "3", "2", "1", "B1b", "VALUE:4B" ], [ "3", "2", "1", "B2", "VALUE:4B" ], [ "3", "2", "1", "BX", "VALUE:4B" ], [ "3", "3", "1", "B0", "VALUE:4B" ], [ "3", "3", "1", "B0a", "VALUE:4B" ], [ "3", "3", "1", "B0b", "VALUE:4B" ], [ "3", "3", "1", "B1", "VALUE:4B" ], [ "3", "3", "1", "B1a", "VALUE:4B" ], [ "3", "3", "1", "B1b", "VALUE:4B" ], [ "3", "3", "1", "B2", "VALUE:4B" ], [ "3", "3", "1", "BX", "VALUE:4B" ], [ "3", "X", "1", "B0", "VALUE:4B" ], [ "3", "X", "1", "B0a", "VALUE:4B" ], [ "3", "X", "1", "B0b", "VALUE:4B" ], [ "3", "X", "1", "B1", "VALUE:4B" ], [ "3", "X", "1", "B1a", "VALUE:4B" ], [ "3", "X", "1", "B1b", "VALUE:4B" ], [ "3", "X", "1", "B2", "VALUE:4B" ], [ "3", "X", "1", "BX", "VALUE:4B" ], [ "4", "0", "1", "B0", "VALUE:4B" ], [ "4", "0", "1", "B0a", "VALUE:4B" ], [ "4", "0", "1", "B0b", "VALUE:4B" ], [ "4", "0", "1", "B1", "VALUE:4B" ], [ "4", "0", "1", "B1a", "VALUE:4B" ], [ "4", "0", "1", "B1b", "VALUE:4B" ], [ "4", "0", "1", "B2", "VALUE:4B" ], [ "4", "0", "1", "BX", "VALUE:4B" ], [ "4", "1A", "1", "B0", "VALUE:4B" ], [ "4", "1A", "1", "B0a", "VALUE:4B" ], [ "4", "1A", "1", "B0b", "VALUE:4B" ], [ "4", "1A", "1", "B1", "VALUE:4B" ], [ "4", "1A", "1", "B1a", "VALUE:4B" ], [ "4", "1A", "1", "B1b", "VALUE:4B" ], [ "4", "1A", "1", "B2", "VALUE:4B" ], [ "4", "1A", "1", "BX", "VALUE:4B" ], [ "4", "1B", "1", "B0", "VALUE:4B" ], [ "4", "1B", "1", "B0a", "VALUE:4B" ], [ "4", "1B", "1", "B0b", "VALUE:4B" ], [ "4", "1B", "1", "B1", "VALUE:4B" ], [ "4", "1B", "1", "B1a", "VALUE:4B" ], [ "4", "1B", "1", "B1b", "VALUE:4B" ], [ "4", "1B", "1", "B2", "VALUE:4B" ], [ "4", "1B", "1", "BX", "VALUE:4B" ], [ "4", "1", "1", "B0", "VALUE:4B" ], [ "4", "1", "1", "B0a", "VALUE:4B" ], [ "4", "1", "1", "B0b", "VALUE:4B" ], [ "4", "1", "1", "B1", "VALUE:4B" ], [ "4", "1", "1", "B1a", "VALUE:4B" ], [ "4", "1", "1", "B1b", "VALUE:4B" ], [ "4", "1", "1", "B2", "VALUE:4B" ], [ "4", "1", "1", "BX", "VALUE:4B" ], [ "4", "2A", "1", "B0", "VALUE:4B" ], [ "4", "2A", "1", "B0a", "VALUE:4B" ], [ "4", "2A", "1", "B0b", "VALUE:4B" ], [ "4", "2A", "1", "B1", "VALUE:4B" ], [ "4", "2A", "1", "B1a", "VALUE:4B" ], [ "4", "2A", "1", "B1b", "VALUE:4B" ], [ "4", "2A", "1", "B2", "VALUE:4B" ], [ "4", "2A", "1", "BX", "VALUE:4B" ], [ "4", "2B", "1", "B0", "VALUE:4B" ], [ "4", "2B", "1", "B0a", "VALUE:4B" ], [ "4", "2B", "1", "B0b", "VALUE:4B" ], [ "4", "2B", "1", "B1", "VALUE:4B" ], [ "4", "2B", "1", "B1a", "VALUE:4B" ], [ "4", "2B", "1", "B1b", "VALUE:4B" ], [ "4", "2B", "1", "B2", "VALUE:4B" ], [ "4", "2B", "1", "BX", "VALUE:4B" ], [ "4", "2", "1", "B0", "VALUE:4B" ], [ "4", "2", "1", "B0a", "VALUE:4B" ], [ "4", "2", "1", "B0b", "VALUE:4B" ], [ "4", "2", "1", "B1", "VALUE:4B" ], [ "4", "2", "1", "B1a", "VALUE:4B" ], [ "4", "2", "1", "B1b", "VALUE:4B" ], [ "4", "2", "1", "B2", "VALUE:4B" ], [ "4", "2", "1", "BX", "VALUE:4B" ], [ "4", "3", "1", "B0", "VALUE:4B" ], [ "4", "3", "1", "B0a", "VALUE:4B" ], [ "4", "3", "1", "B0b", "VALUE:4B" ], [ "4", "3", "1", "B1", "VALUE:4B" ], [ "4", "3", "1", "B1a", "VALUE:4B" ], [ "4", "3", "1", "B1b", "VALUE:4B" ], [ "4", "3", "1", "B2", "VALUE:4B" ], [ "4", "3", "1", "BX", "VALUE:4B" ], [ "4", "X", "1", "B0", "VALUE:4B" ], [ "4", "X", "1", "B0a", "VALUE:4B" ], [ "4", "X", "1", "B0b", "VALUE:4B" ], [ "4", "X", "1", "B1", "VALUE:4B" ], [ "4", "X", "1", "B1a", "VALUE:4B" ], [ "4", "X", "1", "B1b", "VALUE:4B" ], [ "4", "X", "1", "B2", "VALUE:4B" ], [ "4", "X", "1", "BX", "VALUE:4B" ], [ "X", "0", "1", "B0", "VALUE:4B" ], [ "X", "0", "1", "B0a", "VALUE:4B" ], [ "X", "0", "1", "B0b", "VALUE:4B" ], [ "X", "0", "1", "B1", "VALUE:4B" ], [ "X", "0", "1", "B1a", "VALUE:4B" ], [ "X", "0", "1", "B1b", "VALUE:4B" ], [ "X", "0", "1", "B2", "VALUE:4B" ], [ "X", "0", "1", "BX", "VALUE:4B" ], [ "X", "1A", "1", "B0", "VALUE:4B" ], [ "X", "1A", "1", "B0a", "VALUE:4B" ], [ "X", "1A", "1", "B0b", "VALUE:4B" ], [ "X", "1A", "1", "B1", "VALUE:4B" ], [ "X", "1A", "1", "B1a", "VALUE:4B" ], [ "X", "1A", "1", "B1b", "VALUE:4B" ], [ "X", "1A", "1", "B2", "VALUE:4B" ], [ "X", "1A", "1", "BX", "VALUE:4B" ], [ "X", "1B", "1", "B0", "VALUE:4B" ], [ "X", "1B", "1", "B0a", "VALUE:4B" ], [ "X", "1B", "1", "B0b", "VALUE:4B" ], [ "X", "1B", "1", "B1", "VALUE:4B" ], [ "X", "1B", "1", "B1a", "VALUE:4B" ], [ "X", "1B", "1", "B1b", "VALUE:4B" ], [ "X", "1B", "1", "B2", "VALUE:4B" ], [ "X", "1B", "1", "BX", "VALUE:4B" ], [ "X", "1", "1", "B0", "VALUE:4B" ], [ "X", "1", "1", "B0a", "VALUE:4B" ], [ "X", "1", "1", "B0b", "VALUE:4B" ], [ "X", "1", "1", "B1", "VALUE:4B" ], [ "X", "1", "1", "B1a", "VALUE:4B" ], [ "X", "1", "1", "B1b", "VALUE:4B" ], [ "X", "1", "1", "B2", "VALUE:4B" ], [ "X", "1", "1", "BX", "VALUE:4B" ], [ "X", "2A", "1", "B0", "VALUE:4B" ], [ "X", "2A", "1", "B0a", "VALUE:4B" ], [ "X", "2A", "1", "B0b", "VALUE:4B" ], [ "X", "2A", "1", "B1", "VALUE:4B" ], [ "X", "2A", "1", "B1a", "VALUE:4B" ], [ "X", "2A", "1", "B1b", "VALUE:4B" ], [ "X", "2A", "1", "B2", "VALUE:4B" ], [ "X", "2A", "1", "BX", "VALUE:4B" ], [ "X", "2B", "1", "B0", "VALUE:4B" ], [ "X", "2B", "1", "B0a", "VALUE:4B" ], [ "X", "2B", "1", "B0b", "VALUE:4B" ], [ "X", "2B", "1", "B1", "VALUE:4B" ], [ "X", "2B", "1", "B1a", "VALUE:4B" ], [ "X", "2B", "1", "B1b", "VALUE:4B" ], [ "X", "2B", "1", "B2", "VALUE:4B" ], [ "X", "2B", "1", "BX", "VALUE:4B" ], [ "X", "2", "1", "B0", "VALUE:4B" ], [ "X", "2", "1", "B0a", "VALUE:4B" ], [ "X", "2", "1", "B0b", "VALUE:4B" ], [ "X", "2", "1", "B1", "VALUE:4B" ], [ "X", "2", "1", "B1a", "VALUE:4B" ], [ "X", "2", "1", "B1b", "VALUE:4B" ], [ "X", "2", "1", "B2", "VALUE:4B" ], [ "X", "2", "1", "BX", "VALUE:4B" ], [ "X", "3", "1", "B0", "VALUE:4B" ], [ "X", "3", "1", "B0a", "VALUE:4B" ], [ "X", "3", "1", "B0b", "VALUE:4B" ], [ "X", "3", "1", "B1", "VALUE:4B" ], [ "X", "3", "1", "B1a", "VALUE:4B" ], [ "X", "3", "1", "B1b", "VALUE:4B" ], [ "X", "3", "1", "B2", "VALUE:4B" ], [ "X", "3", "1", "BX", "VALUE:4B" ], [ "X", "X", "1", "B0", "VALUE:4B" ], [ "X", "X", "1", "B0a", "VALUE:4B" ], [ "X", "X", "1", "B0b", "VALUE:4B" ], [ "X", "X", "1", "B1", "VALUE:4B" ], [ "X", "X", "1", "B1a", "VALUE:4B" ], [ "X", "X", "1", "B1b", "VALUE:4B" ], [ "X", "X", "1", "B2", "VALUE:4B" ], [ "X", "X", "1", "BX", "VALUE:4B" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uby.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uby.json deleted file mode 100644 index 5fe65456b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uby.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uby", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:00.411Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3C" ], [ "0", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:3C" ], [ "3A", "X", "0", "VALUE:99" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:3C" ], [ "3B", "X", "0", "VALUE:99" ], [ "3C", "0", "0", "VALUE:3C" ], [ "3C", "1", "0", "VALUE:3C" ], [ "3C", "X", "0", "VALUE:3C" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3C" ], [ "3", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3C" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3C", "0", "1", "VALUE:4" ], [ "3C", "1", "1", "VALUE:4" ], [ "3C", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upm.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upm.json deleted file mode 100644 index 167b68354..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upm.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm7_path_stage_upm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:02.400Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade_based_on_ssf1", - "name" : "Grade based on SSF1", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "1", "VALUE:99" ], [ "0", "0", "0", "2", "VALUE:99" ], [ "0", "0", "0", "3", "VALUE:99" ], [ "0", "0", "0", "9", "VALUE:99" ], [ "0", "1", "0", "1", "VALUE:3" ], [ "0", "1", "0", "2", "VALUE:3" ], [ "0", "1", "0", "3", "VALUE:3" ], [ "0", "1", "0", "9", "VALUE:3" ], [ "0", "X", "0", "1", "VALUE:99" ], [ "0", "X", "0", "2", "VALUE:99" ], [ "0", "X", "0", "3", "VALUE:99" ], [ "0", "X", "0", "9", "VALUE:99" ], [ "1B", "0", "0", "1", "VALUE:1A" ], [ "1B", "0", "0", "2", "VALUE:2A" ], [ "1B", "0", "0", "3", "VALUE:2A" ], [ "1B", "0", "0", "9", "VALUE:1A" ], [ "1B", "1", "0", "1", "VALUE:3" ], [ "1B", "1", "0", "2", "VALUE:3" ], [ "1B", "1", "0", "3", "VALUE:3" ], [ "1B", "1", "0", "9", "VALUE:3" ], [ "1B", "X", "0", "1", "VALUE:99" ], [ "1B", "X", "0", "2", "VALUE:99" ], [ "1B", "X", "0", "3", "VALUE:99" ], [ "1B", "X", "0", "9", "VALUE:99" ], [ "2B", "0", "0", "1", "VALUE:1B" ], [ "2B", "0", "0", "2", "VALUE:2B" ], [ "2B", "0", "0", "3", "VALUE:3" ], [ "2B", "0", "0", "9", "VALUE:1B" ], [ "2B", "1", "0", "1", "VALUE:3" ], [ "2B", "1", "0", "2", "VALUE:3" ], [ "2B", "1", "0", "3", "VALUE:3" ], [ "2B", "1", "0", "9", "VALUE:3" ], [ "2B", "X", "0", "1", "VALUE:99" ], [ "2B", "X", "0", "2", "VALUE:99" ], [ "2B", "X", "0", "3", "VALUE:99" ], [ "2B", "X", "0", "9", "VALUE:99" ], [ "X", "0", "0", "1", "VALUE:1" ], [ "X", "0", "0", "2", "VALUE:2" ], [ "X", "0", "0", "3", "VALUE:99" ], [ "X", "0", "0", "9", "VALUE:1" ], [ "X", "1", "0", "1", "VALUE:3" ], [ "X", "1", "0", "2", "VALUE:3" ], [ "X", "1", "0", "3", "VALUE:3" ], [ "X", "1", "0", "9", "VALUE:3" ], [ "X", "X", "0", "1", "VALUE:99" ], [ "X", "X", "0", "2", "VALUE:99" ], [ "X", "X", "0", "3", "VALUE:99" ], [ "X", "X", "0", "9", "VALUE:99" ], [ "0", "0", "1", "1", "VALUE:4" ], [ "0", "0", "1", "2", "VALUE:4" ], [ "0", "0", "1", "3", "VALUE:4" ], [ "0", "0", "1", "9", "VALUE:4" ], [ "0", "1", "1", "1", "VALUE:4" ], [ "0", "1", "1", "2", "VALUE:4" ], [ "0", "1", "1", "3", "VALUE:4" ], [ "0", "1", "1", "9", "VALUE:4" ], [ "0", "X", "1", "1", "VALUE:4" ], [ "0", "X", "1", "2", "VALUE:4" ], [ "0", "X", "1", "3", "VALUE:4" ], [ "0", "X", "1", "9", "VALUE:4" ], [ "1B", "0", "1", "1", "VALUE:4" ], [ "1B", "0", "1", "2", "VALUE:4" ], [ "1B", "0", "1", "3", "VALUE:4" ], [ "1B", "0", "1", "9", "VALUE:4" ], [ "1B", "1", "1", "1", "VALUE:4" ], [ "1B", "1", "1", "2", "VALUE:4" ], [ "1B", "1", "1", "3", "VALUE:4" ], [ "1B", "1", "1", "9", "VALUE:4" ], [ "1B", "X", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "2", "VALUE:4" ], [ "1B", "X", "1", "3", "VALUE:4" ], [ "1B", "X", "1", "9", "VALUE:4" ], [ "2B", "0", "1", "1", "VALUE:4" ], [ "2B", "0", "1", "2", "VALUE:4" ], [ "2B", "0", "1", "3", "VALUE:4" ], [ "2B", "0", "1", "9", "VALUE:4" ], [ "2B", "1", "1", "1", "VALUE:4" ], [ "2B", "1", "1", "2", "VALUE:4" ], [ "2B", "1", "1", "3", "VALUE:4" ], [ "2B", "1", "1", "9", "VALUE:4" ], [ "2B", "X", "1", "1", "VALUE:4" ], [ "2B", "X", "1", "2", "VALUE:4" ], [ "2B", "X", "1", "3", "VALUE:4" ], [ "2B", "X", "1", "9", "VALUE:4" ], [ "X", "0", "1", "1", "VALUE:4" ], [ "X", "0", "1", "2", "VALUE:4" ], [ "X", "0", "1", "3", "VALUE:4" ], [ "X", "0", "1", "9", "VALUE:4" ], [ "X", "1", "1", "1", "VALUE:4" ], [ "X", "1", "1", "2", "VALUE:4" ], [ "X", "1", "1", "3", "VALUE:4" ], [ "X", "1", "1", "9", "VALUE:4" ], [ "X", "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "2", "VALUE:4" ], [ "X", "X", "1", "3", "VALUE:4" ], [ "X", "X", "1", "9", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ups.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ups.json deleted file mode 100644 index d34221109..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_ups.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_ups", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:00.407Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:2B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:2B" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1A" ], [ "1", "1", "0", "VALUE:2B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:1B" ], [ "2", "1", "0", "VALUE:2B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2A" ], [ "3", "1", "0", "VALUE:2B" ], [ "3", "X", "0", "VALUE:2" ], [ "4", "0", "0", "VALUE:3" ], [ "4", "1", "0", "VALUE:3" ], [ "4", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upt.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upt.json deleted file mode 100644 index 63acf41ae..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upt.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_upt", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:00.203Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2A", "0", "VALUE:4A" ], [ "0", "2B", "0", "VALUE:4A" ], [ "0", "2C", "0", "VALUE:4A" ], [ "0", "2", "0", "VALUE:4A" ], [ "0", "3", "0", "VALUE:4B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3" ], [ "IS", "2A", "0", "VALUE:4A" ], [ "IS", "2B", "0", "VALUE:4A" ], [ "IS", "2C", "0", "VALUE:4A" ], [ "IS", "2", "0", "VALUE:4A" ], [ "IS", "3", "0", "VALUE:4B" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "2A", "0", "VALUE:4A" ], [ "1", "2B", "0", "VALUE:4A" ], [ "1", "2C", "0", "VALUE:4A" ], [ "1", "2", "0", "VALUE:4A" ], [ "1", "3", "0", "VALUE:4B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "2A", "0", "VALUE:4A" ], [ "2", "2B", "0", "VALUE:4A" ], [ "2", "2C", "0", "VALUE:4A" ], [ "2", "2", "0", "VALUE:4A" ], [ "2", "3", "0", "VALUE:4B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "2A", "0", "VALUE:4A" ], [ "3", "2B", "0", "VALUE:4A" ], [ "3", "2C", "0", "VALUE:4A" ], [ "3", "2", "0", "VALUE:4A" ], [ "3", "3", "0", "VALUE:4B" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:4A" ], [ "4A", "1", "0", "VALUE:4A" ], [ "4A", "2A", "0", "VALUE:4A" ], [ "4A", "2B", "0", "VALUE:4A" ], [ "4A", "2C", "0", "VALUE:4A" ], [ "4A", "2", "0", "VALUE:4A" ], [ "4A", "3", "0", "VALUE:4B" ], [ "4A", "X", "0", "VALUE:4" ], [ "4B", "0", "0", "VALUE:4B" ], [ "4B", "1", "0", "VALUE:4B" ], [ "4B", "2A", "0", "VALUE:4B" ], [ "4B", "2B", "0", "VALUE:4B" ], [ "4B", "2C", "0", "VALUE:4B" ], [ "4B", "2", "0", "VALUE:4B" ], [ "4B", "3", "0", "VALUE:4B" ], [ "4B", "X", "0", "VALUE:4B" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2A", "0", "VALUE:4" ], [ "4", "2B", "0", "VALUE:4" ], [ "4", "2C", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4B" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2A", "0", "VALUE:4" ], [ "X", "2B", "0", "VALUE:4" ], [ "X", "2C", "0", "VALUE:4" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "3", "0", "VALUE:4B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4C" ], [ "0", "1", "1", "VALUE:4C" ], [ "0", "2A", "1", "VALUE:4C" ], [ "0", "2B", "1", "VALUE:4C" ], [ "0", "2C", "1", "VALUE:4C" ], [ "0", "2", "1", "VALUE:4C" ], [ "0", "3", "1", "VALUE:4C" ], [ "0", "X", "1", "VALUE:4C" ], [ "IS", "0", "1", "VALUE:4C" ], [ "IS", "1", "1", "VALUE:4C" ], [ "IS", "2A", "1", "VALUE:4C" ], [ "IS", "2B", "1", "VALUE:4C" ], [ "IS", "2C", "1", "VALUE:4C" ], [ "IS", "2", "1", "VALUE:4C" ], [ "IS", "3", "1", "VALUE:4C" ], [ "IS", "X", "1", "VALUE:4C" ], [ "1", "0", "1", "VALUE:4C" ], [ "1", "1", "1", "VALUE:4C" ], [ "1", "2A", "1", "VALUE:4C" ], [ "1", "2B", "1", "VALUE:4C" ], [ "1", "2C", "1", "VALUE:4C" ], [ "1", "2", "1", "VALUE:4C" ], [ "1", "3", "1", "VALUE:4C" ], [ "1", "X", "1", "VALUE:4C" ], [ "2", "0", "1", "VALUE:4C" ], [ "2", "1", "1", "VALUE:4C" ], [ "2", "2A", "1", "VALUE:4C" ], [ "2", "2B", "1", "VALUE:4C" ], [ "2", "2C", "1", "VALUE:4C" ], [ "2", "2", "1", "VALUE:4C" ], [ "2", "3", "1", "VALUE:4C" ], [ "2", "X", "1", "VALUE:4C" ], [ "3", "0", "1", "VALUE:4C" ], [ "3", "1", "1", "VALUE:4C" ], [ "3", "2A", "1", "VALUE:4C" ], [ "3", "2B", "1", "VALUE:4C" ], [ "3", "2C", "1", "VALUE:4C" ], [ "3", "2", "1", "VALUE:4C" ], [ "3", "3", "1", "VALUE:4C" ], [ "3", "X", "1", "VALUE:4C" ], [ "4A", "0", "1", "VALUE:4C" ], [ "4A", "1", "1", "VALUE:4C" ], [ "4A", "2A", "1", "VALUE:4C" ], [ "4A", "2B", "1", "VALUE:4C" ], [ "4A", "2C", "1", "VALUE:4C" ], [ "4A", "2", "1", "VALUE:4C" ], [ "4A", "3", "1", "VALUE:4C" ], [ "4A", "X", "1", "VALUE:4C" ], [ "4B", "0", "1", "VALUE:4C" ], [ "4B", "1", "1", "VALUE:4C" ], [ "4B", "2A", "1", "VALUE:4C" ], [ "4B", "2B", "1", "VALUE:4C" ], [ "4B", "2C", "1", "VALUE:4C" ], [ "4B", "2", "1", "VALUE:4C" ], [ "4B", "3", "1", "VALUE:4C" ], [ "4B", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "2A", "1", "VALUE:4C" ], [ "4", "2B", "1", "VALUE:4C" ], [ "4", "2C", "1", "VALUE:4C" ], [ "4", "2", "1", "VALUE:4C" ], [ "4", "3", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "X", "0", "1", "VALUE:4C" ], [ "X", "1", "1", "VALUE:4C" ], [ "X", "2A", "1", "VALUE:4C" ], [ "X", "2B", "1", "VALUE:4C" ], [ "X", "2C", "1", "VALUE:4C" ], [ "X", "2", "1", "VALUE:4C" ], [ "X", "3", "1", "VALUE:4C" ], [ "X", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upu.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upu.json deleted file mode 100644 index 69b11c5b3..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upu.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_upu", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:00.309Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:99" ], [ "0", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:4A" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:4A" ], [ "4A", "1", "0", "VALUE:4A" ], [ "4A", "X", "0", "VALUE:4A" ], [ "4B", "0", "0", "VALUE:4B" ], [ "4B", "1", "0", "VALUE:4B" ], [ "4B", "X", "0", "VALUE:4B" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4C" ], [ "0", "1", "1", "VALUE:4C" ], [ "0", "X", "1", "VALUE:4C" ], [ "3", "0", "1", "VALUE:4C" ], [ "3", "1", "1", "VALUE:4C" ], [ "3", "X", "1", "VALUE:4C" ], [ "4A", "0", "1", "VALUE:4C" ], [ "4A", "1", "1", "VALUE:4C" ], [ "4A", "X", "1", "VALUE:4C" ], [ "4B", "0", "1", "VALUE:4C" ], [ "4B", "1", "1", "VALUE:4C" ], [ "4B", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "X", "0", "1", "VALUE:4C" ], [ "X", "1", "1", "VALUE:4C" ], [ "X", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upv.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upv.json deleted file mode 100644 index 7fa080702..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upv.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_upv", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:05.084Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:4" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:2A" ], [ "1B", "1", "0", "VALUE:4" ], [ "1B", "X", "0", "VALUE:99" ], [ "1C", "0", "0", "VALUE:2A" ], [ "1C", "1", "0", "VALUE:4" ], [ "1C", "X", "0", "VALUE:99" ], [ "1D", "0", "0", "VALUE:2A" ], [ "1D", "1", "0", "VALUE:4" ], [ "1D", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:99" ], [ "1", "1", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2A" ], [ "2A", "1", "0", "VALUE:4" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2B" ], [ "2B", "1", "0", "VALUE:4" ], [ "2B", "X", "0", "VALUE:99" ], [ "2C", "0", "0", "VALUE:3A" ], [ "2C", "1", "0", "VALUE:4" ], [ "2C", "X", "0", "VALUE:99" ], [ "2D", "0", "0", "VALUE:3A" ], [ "2D", "1", "0", "VALUE:4" ], [ "2D", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:99" ], [ "2", "1", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:2B" ], [ "3A", "1", "0", "VALUE:4" ], [ "3A", "X", "0", "VALUE:99" ], [ "3B", "0", "0", "VALUE:3A" ], [ "3B", "1", "0", "VALUE:4" ], [ "3B", "X", "0", "VALUE:99" ], [ "3C", "0", "0", "VALUE:3A" ], [ "3C", "1", "0", "VALUE:4" ], [ "3C", "X", "0", "VALUE:99" ], [ "3D", "0", "0", "VALUE:3B" ], [ "3D", "1", "0", "VALUE:4" ], [ "3D", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:99" ], [ "3", "1", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:3A" ], [ "4A", "1", "0", "VALUE:4" ], [ "4A", "X", "0", "VALUE:99" ], [ "4B", "0", "0", "VALUE:3B" ], [ "4B", "1", "0", "VALUE:4" ], [ "4B", "X", "0", "VALUE:99" ], [ "4C", "0", "0", "VALUE:3B" ], [ "4C", "1", "0", "VALUE:4" ], [ "4C", "X", "0", "VALUE:99" ], [ "4D", "0", "0", "VALUE:3C" ], [ "4D", "1", "0", "VALUE:4" ], [ "4D", "X", "0", "VALUE:99" ], [ "4E", "0", "0", "VALUE:3C" ], [ "4E", "1", "0", "VALUE:4" ], [ "4E", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1A", "VALUE:4" ], [ "0", "1", "1A", "VALUE:4" ], [ "0", "X", "1A", "VALUE:4" ], [ "1A", "0", "1A", "VALUE:4" ], [ "1A", "1", "1A", "VALUE:4" ], [ "1A", "X", "1A", "VALUE:4" ], [ "1B", "0", "1A", "VALUE:4" ], [ "1B", "1", "1A", "VALUE:4" ], [ "1B", "X", "1A", "VALUE:4" ], [ "1C", "0", "1A", "VALUE:4" ], [ "1C", "1", "1A", "VALUE:4" ], [ "1C", "X", "1A", "VALUE:4" ], [ "1D", "0", "1A", "VALUE:4" ], [ "1D", "1", "1A", "VALUE:4" ], [ "1D", "X", "1A", "VALUE:4" ], [ "1", "0", "1A", "VALUE:4" ], [ "1", "1", "1A", "VALUE:4" ], [ "1", "X", "1A", "VALUE:4" ], [ "2A", "0", "1A", "VALUE:4" ], [ "2A", "1", "1A", "VALUE:4" ], [ "2A", "X", "1A", "VALUE:4" ], [ "2B", "0", "1A", "VALUE:4" ], [ "2B", "1", "1A", "VALUE:4" ], [ "2B", "X", "1A", "VALUE:4" ], [ "2C", "0", "1A", "VALUE:4" ], [ "2C", "1", "1A", "VALUE:4" ], [ "2C", "X", "1A", "VALUE:4" ], [ "2D", "0", "1A", "VALUE:4" ], [ "2D", "1", "1A", "VALUE:4" ], [ "2D", "X", "1A", "VALUE:4" ], [ "2", "0", "1A", "VALUE:4" ], [ "2", "1", "1A", "VALUE:4" ], [ "2", "X", "1A", "VALUE:4" ], [ "3A", "0", "1A", "VALUE:4" ], [ "3A", "1", "1A", "VALUE:4" ], [ "3A", "X", "1A", "VALUE:4" ], [ "3B", "0", "1A", "VALUE:4" ], [ "3B", "1", "1A", "VALUE:4" ], [ "3B", "X", "1A", "VALUE:4" ], [ "3C", "0", "1A", "VALUE:4" ], [ "3C", "1", "1A", "VALUE:4" ], [ "3C", "X", "1A", "VALUE:4" ], [ "3D", "0", "1A", "VALUE:4" ], [ "3D", "1", "1A", "VALUE:4" ], [ "3D", "X", "1A", "VALUE:4" ], [ "3", "0", "1A", "VALUE:4" ], [ "3", "1", "1A", "VALUE:4" ], [ "3", "X", "1A", "VALUE:4" ], [ "4A", "0", "1A", "VALUE:4" ], [ "4A", "1", "1A", "VALUE:4" ], [ "4A", "X", "1A", "VALUE:4" ], [ "4B", "0", "1A", "VALUE:4" ], [ "4B", "1", "1A", "VALUE:4" ], [ "4B", "X", "1A", "VALUE:4" ], [ "4C", "0", "1A", "VALUE:4" ], [ "4C", "1", "1A", "VALUE:4" ], [ "4C", "X", "1A", "VALUE:4" ], [ "4D", "0", "1A", "VALUE:4" ], [ "4D", "1", "1A", "VALUE:4" ], [ "4D", "X", "1A", "VALUE:4" ], [ "4E", "0", "1A", "VALUE:4" ], [ "4E", "1", "1A", "VALUE:4" ], [ "4E", "X", "1A", "VALUE:4" ], [ "4", "0", "1A", "VALUE:4" ], [ "4", "1", "1A", "VALUE:4" ], [ "4", "X", "1A", "VALUE:4" ], [ "X", "0", "1A", "VALUE:4" ], [ "X", "1", "1A", "VALUE:4" ], [ "X", "X", "1A", "VALUE:4" ], [ "0", "0", "1B", "VALUE:4" ], [ "0", "1", "1B", "VALUE:4" ], [ "0", "X", "1B", "VALUE:4" ], [ "1A", "0", "1B", "VALUE:4" ], [ "1A", "1", "1B", "VALUE:4" ], [ "1A", "X", "1B", "VALUE:4" ], [ "1B", "0", "1B", "VALUE:4" ], [ "1B", "1", "1B", "VALUE:4" ], [ "1B", "X", "1B", "VALUE:4" ], [ "1C", "0", "1B", "VALUE:4" ], [ "1C", "1", "1B", "VALUE:4" ], [ "1C", "X", "1B", "VALUE:4" ], [ "1D", "0", "1B", "VALUE:4" ], [ "1D", "1", "1B", "VALUE:4" ], [ "1D", "X", "1B", "VALUE:4" ], [ "1", "0", "1B", "VALUE:4" ], [ "1", "1", "1B", "VALUE:4" ], [ "1", "X", "1B", "VALUE:4" ], [ "2A", "0", "1B", "VALUE:4" ], [ "2A", "1", "1B", "VALUE:4" ], [ "2A", "X", "1B", "VALUE:4" ], [ "2B", "0", "1B", "VALUE:4" ], [ "2B", "1", "1B", "VALUE:4" ], [ "2B", "X", "1B", "VALUE:4" ], [ "2C", "0", "1B", "VALUE:4" ], [ "2C", "1", "1B", "VALUE:4" ], [ "2C", "X", "1B", "VALUE:4" ], [ "2D", "0", "1B", "VALUE:4" ], [ "2D", "1", "1B", "VALUE:4" ], [ "2D", "X", "1B", "VALUE:4" ], [ "2", "0", "1B", "VALUE:4" ], [ "2", "1", "1B", "VALUE:4" ], [ "2", "X", "1B", "VALUE:4" ], [ "3A", "0", "1B", "VALUE:4" ], [ "3A", "1", "1B", "VALUE:4" ], [ "3A", "X", "1B", "VALUE:4" ], [ "3B", "0", "1B", "VALUE:4" ], [ "3B", "1", "1B", "VALUE:4" ], [ "3B", "X", "1B", "VALUE:4" ], [ "3C", "0", "1B", "VALUE:4" ], [ "3C", "1", "1B", "VALUE:4" ], [ "3C", "X", "1B", "VALUE:4" ], [ "3D", "0", "1B", "VALUE:4" ], [ "3D", "1", "1B", "VALUE:4" ], [ "3D", "X", "1B", "VALUE:4" ], [ "3", "0", "1B", "VALUE:4" ], [ "3", "1", "1B", "VALUE:4" ], [ "3", "X", "1B", "VALUE:4" ], [ "4A", "0", "1B", "VALUE:4" ], [ "4A", "1", "1B", "VALUE:4" ], [ "4A", "X", "1B", "VALUE:4" ], [ "4B", "0", "1B", "VALUE:4" ], [ "4B", "1", "1B", "VALUE:4" ], [ "4B", "X", "1B", "VALUE:4" ], [ "4C", "0", "1B", "VALUE:4" ], [ "4C", "1", "1B", "VALUE:4" ], [ "4C", "X", "1B", "VALUE:4" ], [ "4D", "0", "1B", "VALUE:4" ], [ "4D", "1", "1B", "VALUE:4" ], [ "4D", "X", "1B", "VALUE:4" ], [ "4E", "0", "1B", "VALUE:4" ], [ "4E", "1", "1B", "VALUE:4" ], [ "4E", "X", "1B", "VALUE:4" ], [ "4", "0", "1B", "VALUE:4" ], [ "4", "1", "1B", "VALUE:4" ], [ "4", "X", "1B", "VALUE:4" ], [ "X", "0", "1B", "VALUE:4" ], [ "X", "1", "1B", "VALUE:4" ], [ "X", "X", "1B", "VALUE:4" ], [ "0", "0", "1C", "VALUE:4" ], [ "0", "1", "1C", "VALUE:4" ], [ "0", "X", "1C", "VALUE:4" ], [ "1A", "0", "1C", "VALUE:4" ], [ "1A", "1", "1C", "VALUE:4" ], [ "1A", "X", "1C", "VALUE:4" ], [ "1B", "0", "1C", "VALUE:4" ], [ "1B", "1", "1C", "VALUE:4" ], [ "1B", "X", "1C", "VALUE:4" ], [ "1C", "0", "1C", "VALUE:4" ], [ "1C", "1", "1C", "VALUE:4" ], [ "1C", "X", "1C", "VALUE:4" ], [ "1D", "0", "1C", "VALUE:4" ], [ "1D", "1", "1C", "VALUE:4" ], [ "1D", "X", "1C", "VALUE:4" ], [ "1", "0", "1C", "VALUE:4" ], [ "1", "1", "1C", "VALUE:4" ], [ "1", "X", "1C", "VALUE:4" ], [ "2A", "0", "1C", "VALUE:4" ], [ "2A", "1", "1C", "VALUE:4" ], [ "2A", "X", "1C", "VALUE:4" ], [ "2B", "0", "1C", "VALUE:4" ], [ "2B", "1", "1C", "VALUE:4" ], [ "2B", "X", "1C", "VALUE:4" ], [ "2C", "0", "1C", "VALUE:4" ], [ "2C", "1", "1C", "VALUE:4" ], [ "2C", "X", "1C", "VALUE:4" ], [ "2D", "0", "1C", "VALUE:4" ], [ "2D", "1", "1C", "VALUE:4" ], [ "2D", "X", "1C", "VALUE:4" ], [ "2", "0", "1C", "VALUE:4" ], [ "2", "1", "1C", "VALUE:4" ], [ "2", "X", "1C", "VALUE:4" ], [ "3A", "0", "1C", "VALUE:4" ], [ "3A", "1", "1C", "VALUE:4" ], [ "3A", "X", "1C", "VALUE:4" ], [ "3B", "0", "1C", "VALUE:4" ], [ "3B", "1", "1C", "VALUE:4" ], [ "3B", "X", "1C", "VALUE:4" ], [ "3C", "0", "1C", "VALUE:4" ], [ "3C", "1", "1C", "VALUE:4" ], [ "3C", "X", "1C", "VALUE:4" ], [ "3D", "0", "1C", "VALUE:4" ], [ "3D", "1", "1C", "VALUE:4" ], [ "3D", "X", "1C", "VALUE:4" ], [ "3", "0", "1C", "VALUE:4" ], [ "3", "1", "1C", "VALUE:4" ], [ "3", "X", "1C", "VALUE:4" ], [ "4A", "0", "1C", "VALUE:4" ], [ "4A", "1", "1C", "VALUE:4" ], [ "4A", "X", "1C", "VALUE:4" ], [ "4B", "0", "1C", "VALUE:4" ], [ "4B", "1", "1C", "VALUE:4" ], [ "4B", "X", "1C", "VALUE:4" ], [ "4C", "0", "1C", "VALUE:4" ], [ "4C", "1", "1C", "VALUE:4" ], [ "4C", "X", "1C", "VALUE:4" ], [ "4D", "0", "1C", "VALUE:4" ], [ "4D", "1", "1C", "VALUE:4" ], [ "4D", "X", "1C", "VALUE:4" ], [ "4E", "0", "1C", "VALUE:4" ], [ "4E", "1", "1C", "VALUE:4" ], [ "4E", "X", "1C", "VALUE:4" ], [ "4", "0", "1C", "VALUE:4" ], [ "4", "1", "1C", "VALUE:4" ], [ "4", "X", "1C", "VALUE:4" ], [ "X", "0", "1C", "VALUE:4" ], [ "X", "1", "1C", "VALUE:4" ], [ "X", "X", "1C", "VALUE:4" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1C", "0", "1", "VALUE:4" ], [ "1C", "1", "1", "VALUE:4" ], [ "1C", "X", "1", "VALUE:4" ], [ "1D", "0", "1", "VALUE:4" ], [ "1D", "1", "1", "VALUE:4" ], [ "1D", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2C", "0", "1", "VALUE:4" ], [ "2C", "1", "1", "VALUE:4" ], [ "2C", "X", "1", "VALUE:4" ], [ "2D", "0", "1", "VALUE:4" ], [ "2D", "1", "1", "VALUE:4" ], [ "2D", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3C", "0", "1", "VALUE:4" ], [ "3C", "1", "1", "VALUE:4" ], [ "3C", "X", "1", "VALUE:4" ], [ "3D", "0", "1", "VALUE:4" ], [ "3D", "1", "1", "VALUE:4" ], [ "3D", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4A", "0", "1", "VALUE:4" ], [ "4A", "1", "1", "VALUE:4" ], [ "4A", "X", "1", "VALUE:4" ], [ "4B", "0", "1", "VALUE:4" ], [ "4B", "1", "1", "VALUE:4" ], [ "4B", "X", "1", "VALUE:4" ], [ "4C", "0", "1", "VALUE:4" ], [ "4C", "1", "1", "VALUE:4" ], [ "4C", "X", "1", "VALUE:4" ], [ "4D", "0", "1", "VALUE:4" ], [ "4D", "1", "1", "VALUE:4" ], [ "4D", "X", "1", "VALUE:4" ], [ "4E", "0", "1", "VALUE:4" ], [ "4E", "1", "1", "VALUE:4" ], [ "4E", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upw.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upw.json deleted file mode 100644 index 5f0d6c4e5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upw.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_upw", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:00.967Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1A", "0", "VALUE:3A" ], [ "0", "1B", "0", "VALUE:3A" ], [ "0", "1C", "0", "VALUE:3A" ], [ "0", "1", "0", "VALUE:3A" ], [ "0", "2A", "0", "VALUE:3A" ], [ "0", "2B", "0", "VALUE:3B" ], [ "0", "2", "0", "VALUE:3" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1A", "0", "VALUE:3A" ], [ "IS", "1B", "0", "VALUE:3A" ], [ "IS", "1C", "0", "VALUE:3A" ], [ "IS", "1", "0", "VALUE:3A" ], [ "IS", "2A", "0", "VALUE:3A" ], [ "IS", "2B", "0", "VALUE:3B" ], [ "IS", "2", "0", "VALUE:3" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1A", "0", "VALUE:3A" ], [ "1", "1B", "0", "VALUE:3A" ], [ "1", "1C", "0", "VALUE:3A" ], [ "1", "1", "0", "VALUE:3A" ], [ "1", "2A", "0", "VALUE:3A" ], [ "1", "2B", "0", "VALUE:3B" ], [ "1", "2", "0", "VALUE:3" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:1" ], [ "2", "1A", "0", "VALUE:3A" ], [ "2", "1B", "0", "VALUE:3A" ], [ "2", "1C", "0", "VALUE:3A" ], [ "2", "1", "0", "VALUE:3A" ], [ "2", "2A", "0", "VALUE:3B" ], [ "2", "2B", "0", "VALUE:3B" ], [ "2", "2", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2A" ], [ "3", "1A", "0", "VALUE:3B" ], [ "3", "1B", "0", "VALUE:3B" ], [ "3", "1C", "0", "VALUE:3B" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "2A", "0", "VALUE:3B" ], [ "3", "2B", "0", "VALUE:3C" ], [ "3", "2", "0", "VALUE:3" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:2B" ], [ "4A", "1A", "0", "VALUE:3B" ], [ "4A", "1B", "0", "VALUE:3B" ], [ "4A", "1C", "0", "VALUE:3B" ], [ "4A", "1", "0", "VALUE:3B" ], [ "4A", "2A", "0", "VALUE:3C" ], [ "4A", "2B", "0", "VALUE:3C" ], [ "4A", "2", "0", "VALUE:3C" ], [ "4A", "X", "0", "VALUE:99" ], [ "4B", "0", "0", "VALUE:2C" ], [ "4B", "1A", "0", "VALUE:3C" ], [ "4B", "1B", "0", "VALUE:3C" ], [ "4B", "1C", "0", "VALUE:3C" ], [ "4B", "1", "0", "VALUE:3C" ], [ "4B", "2A", "0", "VALUE:3C" ], [ "4B", "2B", "0", "VALUE:3C" ], [ "4B", "2", "0", "VALUE:3C" ], [ "4B", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:2" ], [ "4", "1A", "0", "VALUE:3B" ], [ "4", "1B", "0", "VALUE:3B" ], [ "4", "1C", "0", "VALUE:3B" ], [ "4", "1", "0", "VALUE:3B" ], [ "4", "2A", "0", "VALUE:3C" ], [ "4", "2B", "0", "VALUE:3C" ], [ "4", "2", "0", "VALUE:3C" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1A", "0", "VALUE:3" ], [ "X", "1B", "0", "VALUE:3" ], [ "X", "1C", "0", "VALUE:3" ], [ "X", "1", "0", "VALUE:3" ], [ "X", "2A", "0", "VALUE:3" ], [ "X", "2B", "0", "VALUE:3" ], [ "X", "2", "0", "VALUE:3" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1A", "VALUE:4A" ], [ "0", "1A", "1A", "VALUE:4A" ], [ "0", "1B", "1A", "VALUE:4A" ], [ "0", "1C", "1A", "VALUE:4A" ], [ "0", "1", "1A", "VALUE:4A" ], [ "0", "2A", "1A", "VALUE:4A" ], [ "0", "2B", "1A", "VALUE:4A" ], [ "0", "2", "1A", "VALUE:4A" ], [ "0", "X", "1A", "VALUE:4A" ], [ "IS", "0", "1A", "VALUE:4A" ], [ "IS", "1A", "1A", "VALUE:4A" ], [ "IS", "1B", "1A", "VALUE:4A" ], [ "IS", "1C", "1A", "VALUE:4A" ], [ "IS", "1", "1A", "VALUE:4A" ], [ "IS", "2A", "1A", "VALUE:4A" ], [ "IS", "2B", "1A", "VALUE:4A" ], [ "IS", "2", "1A", "VALUE:4A" ], [ "IS", "X", "1A", "VALUE:4A" ], [ "1", "0", "1A", "VALUE:4A" ], [ "1", "1A", "1A", "VALUE:4A" ], [ "1", "1B", "1A", "VALUE:4A" ], [ "1", "1C", "1A", "VALUE:4A" ], [ "1", "1", "1A", "VALUE:4A" ], [ "1", "2A", "1A", "VALUE:4A" ], [ "1", "2B", "1A", "VALUE:4A" ], [ "1", "2", "1A", "VALUE:4A" ], [ "1", "X", "1A", "VALUE:4A" ], [ "2", "0", "1A", "VALUE:4A" ], [ "2", "1A", "1A", "VALUE:4A" ], [ "2", "1B", "1A", "VALUE:4A" ], [ "2", "1C", "1A", "VALUE:4A" ], [ "2", "1", "1A", "VALUE:4A" ], [ "2", "2A", "1A", "VALUE:4A" ], [ "2", "2B", "1A", "VALUE:4A" ], [ "2", "2", "1A", "VALUE:4A" ], [ "2", "X", "1A", "VALUE:4A" ], [ "3", "0", "1A", "VALUE:4A" ], [ "3", "1A", "1A", "VALUE:4A" ], [ "3", "1B", "1A", "VALUE:4A" ], [ "3", "1C", "1A", "VALUE:4A" ], [ "3", "1", "1A", "VALUE:4A" ], [ "3", "2A", "1A", "VALUE:4A" ], [ "3", "2B", "1A", "VALUE:4A" ], [ "3", "2", "1A", "VALUE:4A" ], [ "3", "X", "1A", "VALUE:4A" ], [ "4A", "0", "1A", "VALUE:4A" ], [ "4A", "1A", "1A", "VALUE:4A" ], [ "4A", "1B", "1A", "VALUE:4A" ], [ "4A", "1C", "1A", "VALUE:4A" ], [ "4A", "1", "1A", "VALUE:4A" ], [ "4A", "2A", "1A", "VALUE:4A" ], [ "4A", "2B", "1A", "VALUE:4A" ], [ "4A", "2", "1A", "VALUE:4A" ], [ "4A", "X", "1A", "VALUE:4A" ], [ "4B", "0", "1A", "VALUE:4A" ], [ "4B", "1A", "1A", "VALUE:4A" ], [ "4B", "1B", "1A", "VALUE:4A" ], [ "4B", "1C", "1A", "VALUE:4A" ], [ "4B", "1", "1A", "VALUE:4A" ], [ "4B", "2A", "1A", "VALUE:4A" ], [ "4B", "2B", "1A", "VALUE:4A" ], [ "4B", "2", "1A", "VALUE:4A" ], [ "4B", "X", "1A", "VALUE:4A" ], [ "4", "0", "1A", "VALUE:4A" ], [ "4", "1A", "1A", "VALUE:4A" ], [ "4", "1B", "1A", "VALUE:4A" ], [ "4", "1C", "1A", "VALUE:4A" ], [ "4", "1", "1A", "VALUE:4A" ], [ "4", "2A", "1A", "VALUE:4A" ], [ "4", "2B", "1A", "VALUE:4A" ], [ "4", "2", "1A", "VALUE:4A" ], [ "4", "X", "1A", "VALUE:4A" ], [ "X", "0", "1A", "VALUE:4A" ], [ "X", "1A", "1A", "VALUE:4A" ], [ "X", "1B", "1A", "VALUE:4A" ], [ "X", "1C", "1A", "VALUE:4A" ], [ "X", "1", "1A", "VALUE:4A" ], [ "X", "2A", "1A", "VALUE:4A" ], [ "X", "2B", "1A", "VALUE:4A" ], [ "X", "2", "1A", "VALUE:4A" ], [ "X", "X", "1A", "VALUE:4A" ], [ "0", "0", "1B", "VALUE:4B" ], [ "0", "1A", "1B", "VALUE:4B" ], [ "0", "1B", "1B", "VALUE:4B" ], [ "0", "1C", "1B", "VALUE:4B" ], [ "0", "1", "1B", "VALUE:4B" ], [ "0", "2A", "1B", "VALUE:4B" ], [ "0", "2B", "1B", "VALUE:4B" ], [ "0", "2", "1B", "VALUE:4B" ], [ "0", "X", "1B", "VALUE:4B" ], [ "IS", "0", "1B", "VALUE:4B" ], [ "IS", "1A", "1B", "VALUE:4B" ], [ "IS", "1B", "1B", "VALUE:4B" ], [ "IS", "1C", "1B", "VALUE:4B" ], [ "IS", "1", "1B", "VALUE:4B" ], [ "IS", "2A", "1B", "VALUE:4B" ], [ "IS", "2B", "1B", "VALUE:4B" ], [ "IS", "2", "1B", "VALUE:4B" ], [ "IS", "X", "1B", "VALUE:4B" ], [ "1", "0", "1B", "VALUE:4B" ], [ "1", "1A", "1B", "VALUE:4B" ], [ "1", "1B", "1B", "VALUE:4B" ], [ "1", "1C", "1B", "VALUE:4B" ], [ "1", "1", "1B", "VALUE:4B" ], [ "1", "2A", "1B", "VALUE:4B" ], [ "1", "2B", "1B", "VALUE:4B" ], [ "1", "2", "1B", "VALUE:4B" ], [ "1", "X", "1B", "VALUE:4B" ], [ "2", "0", "1B", "VALUE:4B" ], [ "2", "1A", "1B", "VALUE:4B" ], [ "2", "1B", "1B", "VALUE:4B" ], [ "2", "1C", "1B", "VALUE:4B" ], [ "2", "1", "1B", "VALUE:4B" ], [ "2", "2A", "1B", "VALUE:4B" ], [ "2", "2B", "1B", "VALUE:4B" ], [ "2", "2", "1B", "VALUE:4B" ], [ "2", "X", "1B", "VALUE:4B" ], [ "3", "0", "1B", "VALUE:4B" ], [ "3", "1A", "1B", "VALUE:4B" ], [ "3", "1B", "1B", "VALUE:4B" ], [ "3", "1C", "1B", "VALUE:4B" ], [ "3", "1", "1B", "VALUE:4B" ], [ "3", "2A", "1B", "VALUE:4B" ], [ "3", "2B", "1B", "VALUE:4B" ], [ "3", "2", "1B", "VALUE:4B" ], [ "3", "X", "1B", "VALUE:4B" ], [ "4A", "0", "1B", "VALUE:4B" ], [ "4A", "1A", "1B", "VALUE:4B" ], [ "4A", "1B", "1B", "VALUE:4B" ], [ "4A", "1C", "1B", "VALUE:4B" ], [ "4A", "1", "1B", "VALUE:4B" ], [ "4A", "2A", "1B", "VALUE:4B" ], [ "4A", "2B", "1B", "VALUE:4B" ], [ "4A", "2", "1B", "VALUE:4B" ], [ "4A", "X", "1B", "VALUE:4B" ], [ "4B", "0", "1B", "VALUE:4B" ], [ "4B", "1A", "1B", "VALUE:4B" ], [ "4B", "1B", "1B", "VALUE:4B" ], [ "4B", "1C", "1B", "VALUE:4B" ], [ "4B", "1", "1B", "VALUE:4B" ], [ "4B", "2A", "1B", "VALUE:4B" ], [ "4B", "2B", "1B", "VALUE:4B" ], [ "4B", "2", "1B", "VALUE:4B" ], [ "4B", "X", "1B", "VALUE:4B" ], [ "4", "0", "1B", "VALUE:4B" ], [ "4", "1A", "1B", "VALUE:4B" ], [ "4", "1B", "1B", "VALUE:4B" ], [ "4", "1C", "1B", "VALUE:4B" ], [ "4", "1", "1B", "VALUE:4B" ], [ "4", "2A", "1B", "VALUE:4B" ], [ "4", "2B", "1B", "VALUE:4B" ], [ "4", "2", "1B", "VALUE:4B" ], [ "4", "X", "1B", "VALUE:4B" ], [ "X", "0", "1B", "VALUE:4B" ], [ "X", "1A", "1B", "VALUE:4B" ], [ "X", "1B", "1B", "VALUE:4B" ], [ "X", "1C", "1B", "VALUE:4B" ], [ "X", "1", "1B", "VALUE:4B" ], [ "X", "2A", "1B", "VALUE:4B" ], [ "X", "2B", "1B", "VALUE:4B" ], [ "X", "2", "1B", "VALUE:4B" ], [ "X", "X", "1B", "VALUE:4B" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1A", "1", "VALUE:4" ], [ "0", "1B", "1", "VALUE:4" ], [ "0", "1C", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2A", "1", "VALUE:4" ], [ "0", "2B", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1A", "1", "VALUE:4" ], [ "IS", "1B", "1", "VALUE:4" ], [ "IS", "1C", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "2A", "1", "VALUE:4" ], [ "IS", "2B", "1", "VALUE:4" ], [ "IS", "2", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1A", "1", "VALUE:4" ], [ "1", "1B", "1", "VALUE:4" ], [ "1", "1C", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2A", "1", "VALUE:4" ], [ "1", "2B", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1A", "1", "VALUE:4" ], [ "2", "1B", "1", "VALUE:4" ], [ "2", "1C", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2A", "1", "VALUE:4" ], [ "2", "2B", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1A", "1", "VALUE:4" ], [ "3", "1B", "1", "VALUE:4" ], [ "3", "1C", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2A", "1", "VALUE:4" ], [ "3", "2B", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4A", "0", "1", "VALUE:4" ], [ "4A", "1A", "1", "VALUE:4" ], [ "4A", "1B", "1", "VALUE:4" ], [ "4A", "1C", "1", "VALUE:4" ], [ "4A", "1", "1", "VALUE:4" ], [ "4A", "2A", "1", "VALUE:4" ], [ "4A", "2B", "1", "VALUE:4" ], [ "4A", "2", "1", "VALUE:4" ], [ "4A", "X", "1", "VALUE:4" ], [ "4B", "0", "1", "VALUE:4" ], [ "4B", "1A", "1", "VALUE:4" ], [ "4B", "1B", "1", "VALUE:4" ], [ "4B", "1C", "1", "VALUE:4" ], [ "4B", "1", "1", "VALUE:4" ], [ "4B", "2A", "1", "VALUE:4" ], [ "4B", "2B", "1", "VALUE:4" ], [ "4B", "2", "1", "VALUE:4" ], [ "4B", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1A", "1", "VALUE:4" ], [ "4", "1B", "1", "VALUE:4" ], [ "4", "1C", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2A", "1", "VALUE:4" ], [ "4", "2B", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1A", "1", "VALUE:4" ], [ "X", "1B", "1", "VALUE:4" ], [ "X", "1C", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2A", "1", "VALUE:4" ], [ "X", "2B", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upx.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upx.json deleted file mode 100644 index 69539ac95..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upx.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_upx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:02.982Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:3B" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1", "0", "VALUE:3B" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2A" ], [ "2", "1", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2B" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3A" ], [ "4", "1", "0", "VALUE:3B" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upz.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upz.json deleted file mode 100644 index 4eef48258..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_upz.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_upz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:02.988Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:4" ], [ "0", "2", "0", "VALUE:4" ], [ "0", "3", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "A", "0", "0", "VALUE:0A" ], [ "A", "1", "0", "VALUE:4" ], [ "A", "2", "0", "VALUE:4" ], [ "A", "3", "0", "VALUE:4" ], [ "A", "X", "0", "VALUE:0A" ], [ "IS", "0", "0", "VALUE:0IS" ], [ "IS", "1", "0", "VALUE:4" ], [ "IS", "2", "0", "VALUE:4" ], [ "IS", "3", "0", "VALUE:4" ], [ "IS", "X", "0", "VALUE:0IS" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:4" ], [ "1", "2", "0", "VALUE:4" ], [ "1", "3", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:4" ], [ "2", "2", "0", "VALUE:4" ], [ "2", "3", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:4" ], [ "3", "2", "0", "VALUE:4" ], [ "3", "3", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:4" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "3", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "A", "0", "1", "VALUE:4" ], [ "A", "1", "1", "VALUE:4" ], [ "A", "2", "1", "VALUE:4" ], [ "A", "3", "1", "VALUE:4" ], [ "A", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "2", "1", "VALUE:4" ], [ "IS", "3", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqa.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqa.json deleted file mode 100644 index d1e31f162..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqa.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uqa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:28:58.475Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2A" ], [ "2", "1", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2B" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3A" ], [ "4", "1", "0", "VALUE:3B" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqb.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqb.json deleted file mode 100644 index f445df76d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqb.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uqb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:03.024Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2", "0", "VALUE:4B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3B" ], [ "IS", "2", "0", "VALUE:4B" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:3B" ], [ "1A", "2", "0", "VALUE:4B" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1", "0", "VALUE:3B" ], [ "1B", "2", "0", "VALUE:4B" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3B" ], [ "1", "2", "0", "VALUE:4B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3B" ], [ "2", "2", "0", "VALUE:4B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3A" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "2", "0", "VALUE:4B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "2", "0", "VALUE:4B" ], [ "4", "X", "0", "VALUE:4A" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:4B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "2", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "IS", "0", "1", "VALUE:4B" ], [ "IS", "1", "1", "VALUE:4B" ], [ "IS", "2", "1", "VALUE:4B" ], [ "IS", "X", "1", "VALUE:4B" ], [ "1A", "0", "1", "VALUE:4B" ], [ "1A", "1", "1", "VALUE:4B" ], [ "1A", "2", "1", "VALUE:4B" ], [ "1A", "X", "1", "VALUE:4B" ], [ "1B", "0", "1", "VALUE:4B" ], [ "1B", "1", "1", "VALUE:4B" ], [ "1B", "2", "1", "VALUE:4B" ], [ "1B", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "2", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "2", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "2", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "2", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "2", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqc.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqc.json deleted file mode 100644 index 840a378bb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqc.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_path_stage_uqc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:00.170Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2A", "0", "VALUE:4A" ], [ "0", "2B", "0", "VALUE:4A" ], [ "0", "2C", "0", "VALUE:4A" ], [ "0", "2", "0", "VALUE:4A" ], [ "0", "3", "0", "VALUE:4B" ], [ "0", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "2A", "0", "VALUE:4A" ], [ "1", "2B", "0", "VALUE:4A" ], [ "1", "2C", "0", "VALUE:4A" ], [ "1", "2", "0", "VALUE:4A" ], [ "1", "3", "0", "VALUE:4B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "2A", "0", "VALUE:4A" ], [ "2", "2B", "0", "VALUE:4A" ], [ "2", "2C", "0", "VALUE:4A" ], [ "2", "2", "0", "VALUE:4A" ], [ "2", "3", "0", "VALUE:4B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "2A", "0", "VALUE:4A" ], [ "3", "2B", "0", "VALUE:4A" ], [ "3", "2C", "0", "VALUE:4A" ], [ "3", "2", "0", "VALUE:4A" ], [ "3", "3", "0", "VALUE:4B" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:4A" ], [ "4A", "1", "0", "VALUE:4A" ], [ "4A", "2A", "0", "VALUE:4A" ], [ "4A", "2B", "0", "VALUE:4A" ], [ "4A", "2C", "0", "VALUE:4A" ], [ "4A", "2", "0", "VALUE:4A" ], [ "4A", "3", "0", "VALUE:4B" ], [ "4A", "X", "0", "VALUE:4" ], [ "4B", "0", "0", "VALUE:4B" ], [ "4B", "1", "0", "VALUE:4B" ], [ "4B", "2A", "0", "VALUE:4B" ], [ "4B", "2B", "0", "VALUE:4B" ], [ "4B", "2C", "0", "VALUE:4B" ], [ "4B", "2", "0", "VALUE:4B" ], [ "4B", "3", "0", "VALUE:4B" ], [ "4B", "X", "0", "VALUE:4B" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2A", "0", "VALUE:4" ], [ "4", "2B", "0", "VALUE:4" ], [ "4", "2C", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4B" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2A", "0", "VALUE:4" ], [ "X", "2B", "0", "VALUE:4" ], [ "X", "2C", "0", "VALUE:4" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "3", "0", "VALUE:4B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4C" ], [ "0", "1", "1", "VALUE:4C" ], [ "0", "2A", "1", "VALUE:4C" ], [ "0", "2B", "1", "VALUE:4C" ], [ "0", "2C", "1", "VALUE:4C" ], [ "0", "2", "1", "VALUE:4C" ], [ "0", "3", "1", "VALUE:4C" ], [ "0", "X", "1", "VALUE:4C" ], [ "1", "0", "1", "VALUE:4C" ], [ "1", "1", "1", "VALUE:4C" ], [ "1", "2A", "1", "VALUE:4C" ], [ "1", "2B", "1", "VALUE:4C" ], [ "1", "2C", "1", "VALUE:4C" ], [ "1", "2", "1", "VALUE:4C" ], [ "1", "3", "1", "VALUE:4C" ], [ "1", "X", "1", "VALUE:4C" ], [ "2", "0", "1", "VALUE:4C" ], [ "2", "1", "1", "VALUE:4C" ], [ "2", "2A", "1", "VALUE:4C" ], [ "2", "2B", "1", "VALUE:4C" ], [ "2", "2C", "1", "VALUE:4C" ], [ "2", "2", "1", "VALUE:4C" ], [ "2", "3", "1", "VALUE:4C" ], [ "2", "X", "1", "VALUE:4C" ], [ "3", "0", "1", "VALUE:4C" ], [ "3", "1", "1", "VALUE:4C" ], [ "3", "2A", "1", "VALUE:4C" ], [ "3", "2B", "1", "VALUE:4C" ], [ "3", "2C", "1", "VALUE:4C" ], [ "3", "2", "1", "VALUE:4C" ], [ "3", "3", "1", "VALUE:4C" ], [ "3", "X", "1", "VALUE:4C" ], [ "4A", "0", "1", "VALUE:4C" ], [ "4A", "1", "1", "VALUE:4C" ], [ "4A", "2A", "1", "VALUE:4C" ], [ "4A", "2B", "1", "VALUE:4C" ], [ "4A", "2C", "1", "VALUE:4C" ], [ "4A", "2", "1", "VALUE:4C" ], [ "4A", "3", "1", "VALUE:4C" ], [ "4A", "X", "1", "VALUE:4C" ], [ "4B", "0", "1", "VALUE:4C" ], [ "4B", "1", "1", "VALUE:4C" ], [ "4B", "2A", "1", "VALUE:4C" ], [ "4B", "2B", "1", "VALUE:4C" ], [ "4B", "2C", "1", "VALUE:4C" ], [ "4B", "2", "1", "VALUE:4C" ], [ "4B", "3", "1", "VALUE:4C" ], [ "4B", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "2A", "1", "VALUE:4C" ], [ "4", "2B", "1", "VALUE:4C" ], [ "4", "2C", "1", "VALUE:4C" ], [ "4", "2", "1", "VALUE:4C" ], [ "4", "3", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "X", "0", "1", "VALUE:4C" ], [ "X", "1", "1", "VALUE:4C" ], [ "X", "2A", "1", "VALUE:4C" ], [ "X", "2B", "1", "VALUE:4C" ], [ "X", "2C", "1", "VALUE:4C" ], [ "X", "2", "1", "VALUE:4C" ], [ "X", "3", "1", "VALUE:4C" ], [ "X", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqd.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqd.json deleted file mode 100644 index 0134aa6c8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqd.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm7_path_stage_uqd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:05.155Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "s", - "name" : "S", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "0", "0", "S0", "VALUE:99" ], [ "0", "0", "0", "S1", "VALUE:1S" ], [ "0", "0", "0", "S2", "VALUE:1S" ], [ "0", "0", "0", "S3", "VALUE:1S" ], [ "0", "0", "0", "SX", "VALUE:99" ], [ "0", "1", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "1", "0", "S0", "VALUE:2A" ], [ "0", "1", "0", "S1", "VALUE:2A" ], [ "0", "1", "0", "S2", "VALUE:3B" ], [ "0", "1", "0", "S3", "VALUE:3C" ], [ "0", "1", "0", "SX", "VALUE:2" ], [ "0", "2", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "2", "0", "S0", "VALUE:2B" ], [ "0", "2", "0", "S1", "VALUE:2B" ], [ "0", "2", "0", "S2", "VALUE:3B" ], [ "0", "2", "0", "S3", "VALUE:3C" ], [ "0", "2", "0", "SX", "VALUE:2" ], [ "0", "3", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "3", "0", "S0", "VALUE:2C" ], [ "0", "3", "0", "S1", "VALUE:2C" ], [ "0", "3", "0", "S2", "VALUE:3B" ], [ "0", "3", "0", "S3", "VALUE:3C" ], [ "0", "3", "0", "SX", "VALUE:2" ], [ "0", "X", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "X", "0", "S0", "VALUE:99" ], [ "0", "X", "0", "S1", "VALUE:99" ], [ "0", "X", "0", "S2", "VALUE:99" ], [ "0", "X", "0", "S3", "VALUE:99" ], [ "0", "X", "0", "SX", "VALUE:99" ], [ "IS", "0", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "0", "0", "S0", "VALUE:0" ], [ "IS", "0", "0", "S1", "ERROR:Tis with S1-3 is unexpected" ], [ "IS", "0", "0", "S2", "ERROR:Tis with S1-3 is unexpected" ], [ "IS", "0", "0", "S3", "ERROR:Tis with S1-3 is unexpected" ], [ "IS", "0", "0", "SX", "VALUE:0" ], [ "IS", "1", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "1", "0", "S0", "VALUE:2A" ], [ "IS", "1", "0", "S1", "VALUE:2A" ], [ "IS", "1", "0", "S2", "VALUE:3B" ], [ "IS", "1", "0", "S3", "VALUE:3C" ], [ "IS", "1", "0", "SX", "VALUE:2" ], [ "IS", "2", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "2", "0", "S0", "VALUE:2B" ], [ "IS", "2", "0", "S1", "VALUE:2B" ], [ "IS", "2", "0", "S2", "VALUE:3B" ], [ "IS", "2", "0", "S3", "VALUE:3C" ], [ "IS", "2", "0", "SX", "VALUE:2" ], [ "IS", "3", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "3", "0", "S0", "VALUE:2C" ], [ "IS", "3", "0", "S1", "VALUE:2C" ], [ "IS", "3", "0", "S2", "VALUE:3B" ], [ "IS", "3", "0", "S3", "VALUE:3C" ], [ "IS", "3", "0", "SX", "VALUE:2" ], [ "IS", "X", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "X", "0", "S0", "VALUE:0" ], [ "IS", "X", "0", "S1", "VALUE:99" ], [ "IS", "X", "0", "S2", "VALUE:99" ], [ "IS", "X", "0", "S3", "VALUE:99" ], [ "IS", "X", "0", "SX", "VALUE:0" ], [ "1", "0", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "0", "0", "S0", "VALUE:1A" ], [ "1", "0", "0", "S1", "VALUE:1S" ], [ "1", "0", "0", "S2", "VALUE:1S" ], [ "1", "0", "0", "S3", "VALUE:1S" ], [ "1", "0", "0", "SX", "VALUE:1" ], [ "1", "1", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "1", "0", "S0", "VALUE:2A" ], [ "1", "1", "0", "S1", "VALUE:2A" ], [ "1", "1", "0", "S2", "VALUE:3B" ], [ "1", "1", "0", "S3", "VALUE:3C" ], [ "1", "1", "0", "SX", "VALUE:2" ], [ "1", "2", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "2", "0", "S0", "VALUE:2B" ], [ "1", "2", "0", "S1", "VALUE:2B" ], [ "1", "2", "0", "S2", "VALUE:3B" ], [ "1", "2", "0", "S3", "VALUE:3C" ], [ "1", "2", "0", "SX", "VALUE:2" ], [ "1", "3", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "3", "0", "S0", "VALUE:2C" ], [ "1", "3", "0", "S1", "VALUE:2C" ], [ "1", "3", "0", "S2", "VALUE:3B" ], [ "1", "3", "0", "S3", "VALUE:3C" ], [ "1", "3", "0", "SX", "VALUE:2" ], [ "1", "X", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "X", "0", "S0", "VALUE:99" ], [ "1", "X", "0", "S1", "VALUE:99" ], [ "1", "X", "0", "S2", "VALUE:99" ], [ "1", "X", "0", "S3", "VALUE:99" ], [ "1", "X", "0", "SX", "VALUE:99" ], [ "2", "0", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "0", "0", "S0", "VALUE:1B" ], [ "2", "0", "0", "S1", "VALUE:1S" ], [ "2", "0", "0", "S2", "VALUE:1S" ], [ "2", "0", "0", "S3", "VALUE:1S" ], [ "2", "0", "0", "SX", "VALUE:1" ], [ "2", "1", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "1", "0", "S0", "VALUE:2A" ], [ "2", "1", "0", "S1", "VALUE:2A" ], [ "2", "1", "0", "S2", "VALUE:3B" ], [ "2", "1", "0", "S3", "VALUE:3C" ], [ "2", "1", "0", "SX", "VALUE:2" ], [ "2", "2", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "2", "0", "S0", "VALUE:2B" ], [ "2", "2", "0", "S1", "VALUE:2B" ], [ "2", "2", "0", "S2", "VALUE:3B" ], [ "2", "2", "0", "S3", "VALUE:3C" ], [ "2", "2", "0", "SX", "VALUE:2" ], [ "2", "3", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "3", "0", "S0", "VALUE:2C" ], [ "2", "3", "0", "S1", "VALUE:2C" ], [ "2", "3", "0", "S2", "VALUE:3B" ], [ "2", "3", "0", "S3", "VALUE:3C" ], [ "2", "3", "0", "SX", "VALUE:2" ], [ "2", "X", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "X", "0", "S0", "VALUE:99" ], [ "2", "X", "0", "S1", "VALUE:99" ], [ "2", "X", "0", "S2", "VALUE:99" ], [ "2", "X", "0", "S3", "VALUE:99" ], [ "2", "X", "0", "SX", "VALUE:99" ], [ "3", "0", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "0", "0", "S0", "VALUE:1B" ], [ "3", "0", "0", "S1", "VALUE:1S" ], [ "3", "0", "0", "S2", "VALUE:1S" ], [ "3", "0", "0", "S3", "VALUE:1S" ], [ "3", "0", "0", "SX", "VALUE:1" ], [ "3", "1", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "1", "0", "S0", "VALUE:2A" ], [ "3", "1", "0", "S1", "VALUE:2A" ], [ "3", "1", "0", "S2", "VALUE:3B" ], [ "3", "1", "0", "S3", "VALUE:3C" ], [ "3", "1", "0", "SX", "VALUE:2" ], [ "3", "2", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "2", "0", "S0", "VALUE:2B" ], [ "3", "2", "0", "S1", "VALUE:2B" ], [ "3", "2", "0", "S2", "VALUE:3B" ], [ "3", "2", "0", "S3", "VALUE:3C" ], [ "3", "2", "0", "SX", "VALUE:2" ], [ "3", "3", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "3", "0", "S0", "VALUE:2C" ], [ "3", "3", "0", "S1", "VALUE:2C" ], [ "3", "3", "0", "S2", "VALUE:3B" ], [ "3", "3", "0", "S3", "VALUE:3C" ], [ "3", "3", "0", "SX", "VALUE:2" ], [ "3", "X", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "X", "0", "S0", "VALUE:99" ], [ "3", "X", "0", "S1", "VALUE:99" ], [ "3", "X", "0", "S2", "VALUE:99" ], [ "3", "X", "0", "S3", "VALUE:99" ], [ "3", "X", "0", "SX", "VALUE:99" ], [ "4", "0", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "0", "0", "S0", "VALUE:1B" ], [ "4", "0", "0", "S1", "VALUE:1S" ], [ "4", "0", "0", "S2", "VALUE:1S" ], [ "4", "0", "0", "S3", "VALUE:1S" ], [ "4", "0", "0", "SX", "VALUE:1" ], [ "4", "1", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "1", "0", "S0", "VALUE:2A" ], [ "4", "1", "0", "S1", "VALUE:2A" ], [ "4", "1", "0", "S2", "VALUE:3B" ], [ "4", "1", "0", "S3", "VALUE:3C" ], [ "4", "1", "0", "SX", "VALUE:2" ], [ "4", "2", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "2", "0", "S0", "VALUE:2B" ], [ "4", "2", "0", "S1", "VALUE:2B" ], [ "4", "2", "0", "S2", "VALUE:3B" ], [ "4", "2", "0", "S3", "VALUE:3C" ], [ "4", "2", "0", "SX", "VALUE:2" ], [ "4", "3", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "3", "0", "S0", "VALUE:2C" ], [ "4", "3", "0", "S1", "VALUE:2C" ], [ "4", "3", "0", "S2", "VALUE:3B" ], [ "4", "3", "0", "S3", "VALUE:3C" ], [ "4", "3", "0", "SX", "VALUE:2" ], [ "4", "X", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "X", "0", "S0", "VALUE:99" ], [ "4", "X", "0", "S1", "VALUE:99" ], [ "4", "X", "0", "S2", "VALUE:99" ], [ "4", "X", "0", "S3", "VALUE:99" ], [ "4", "X", "0", "SX", "VALUE:99" ], [ "X", "0", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "0", "0", "S0", "VALUE:99" ], [ "X", "0", "0", "S1", "VALUE:1S" ], [ "X", "0", "0", "S2", "VALUE:1S" ], [ "X", "0", "0", "S3", "VALUE:1S" ], [ "X", "0", "0", "SX", "VALUE:99" ], [ "X", "1", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "1", "0", "S0", "VALUE:2A" ], [ "X", "1", "0", "S1", "VALUE:2A" ], [ "X", "1", "0", "S2", "VALUE:3B" ], [ "X", "1", "0", "S3", "VALUE:3C" ], [ "X", "1", "0", "SX", "VALUE:2" ], [ "X", "2", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "2", "0", "S0", "VALUE:2B" ], [ "X", "2", "0", "S1", "VALUE:2B" ], [ "X", "2", "0", "S2", "VALUE:3B" ], [ "X", "2", "0", "S3", "VALUE:3C" ], [ "X", "2", "0", "SX", "VALUE:2" ], [ "X", "3", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "3", "0", "S0", "VALUE:2C" ], [ "X", "3", "0", "S1", "VALUE:2C" ], [ "X", "3", "0", "S2", "VALUE:3B" ], [ "X", "3", "0", "S3", "VALUE:3C" ], [ "X", "3", "0", "SX", "VALUE:2" ], [ "X", "X", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "X", "0", "S0", "VALUE:99" ], [ "X", "X", "0", "S1", "VALUE:99" ], [ "X", "X", "0", "S2", "VALUE:99" ], [ "X", "X", "0", "S3", "VALUE:99" ], [ "X", "X", "0", "SX", "VALUE:99" ], [ "0", "0", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "0", "1A", "S0", "VALUE:3A" ], [ "0", "0", "1A", "S1", "VALUE:3A" ], [ "0", "0", "1A", "S2", "VALUE:3B" ], [ "0", "0", "1A", "S3", "VALUE:3C" ], [ "0", "0", "1A", "SX", "VALUE:3" ], [ "0", "1", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "1", "1A", "S0", "VALUE:3A" ], [ "0", "1", "1A", "S1", "VALUE:3A" ], [ "0", "1", "1A", "S2", "VALUE:3B" ], [ "0", "1", "1A", "S3", "VALUE:3C" ], [ "0", "1", "1A", "SX", "VALUE:3" ], [ "0", "2", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "2", "1A", "S0", "VALUE:3A" ], [ "0", "2", "1A", "S1", "VALUE:3A" ], [ "0", "2", "1A", "S2", "VALUE:3B" ], [ "0", "2", "1A", "S3", "VALUE:3C" ], [ "0", "2", "1A", "SX", "VALUE:3" ], [ "0", "3", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "3", "1A", "S0", "VALUE:3A" ], [ "0", "3", "1A", "S1", "VALUE:3A" ], [ "0", "3", "1A", "S2", "VALUE:3B" ], [ "0", "3", "1A", "S3", "VALUE:3C" ], [ "0", "3", "1A", "SX", "VALUE:3" ], [ "0", "X", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "X", "1A", "S0", "VALUE:3A" ], [ "0", "X", "1A", "S1", "VALUE:3A" ], [ "0", "X", "1A", "S2", "VALUE:3B" ], [ "0", "X", "1A", "S3", "VALUE:3C" ], [ "0", "X", "1A", "SX", "VALUE:3" ], [ "IS", "0", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "0", "1A", "S0", "VALUE:3A" ], [ "IS", "0", "1A", "S1", "VALUE:3A" ], [ "IS", "0", "1A", "S2", "VALUE:3B" ], [ "IS", "0", "1A", "S3", "VALUE:3C" ], [ "IS", "0", "1A", "SX", "VALUE:3" ], [ "IS", "1", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "1", "1A", "S0", "VALUE:3A" ], [ "IS", "1", "1A", "S1", "VALUE:3A" ], [ "IS", "1", "1A", "S2", "VALUE:3B" ], [ "IS", "1", "1A", "S3", "VALUE:3C" ], [ "IS", "1", "1A", "SX", "VALUE:3" ], [ "IS", "2", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "2", "1A", "S0", "VALUE:3A" ], [ "IS", "2", "1A", "S1", "VALUE:3A" ], [ "IS", "2", "1A", "S2", "VALUE:3B" ], [ "IS", "2", "1A", "S3", "VALUE:3C" ], [ "IS", "2", "1A", "SX", "VALUE:3" ], [ "IS", "3", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "3", "1A", "S0", "VALUE:3A" ], [ "IS", "3", "1A", "S1", "VALUE:3A" ], [ "IS", "3", "1A", "S2", "VALUE:3B" ], [ "IS", "3", "1A", "S3", "VALUE:3C" ], [ "IS", "3", "1A", "SX", "VALUE:3" ], [ "IS", "X", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "X", "1A", "S0", "VALUE:3A" ], [ "IS", "X", "1A", "S1", "VALUE:3A" ], [ "IS", "X", "1A", "S2", "VALUE:3B" ], [ "IS", "X", "1A", "S3", "VALUE:3C" ], [ "IS", "X", "1A", "SX", "VALUE:3" ], [ "1", "0", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "0", "1A", "S0", "VALUE:3A" ], [ "1", "0", "1A", "S1", "VALUE:3A" ], [ "1", "0", "1A", "S2", "VALUE:3B" ], [ "1", "0", "1A", "S3", "VALUE:3C" ], [ "1", "0", "1A", "SX", "VALUE:3" ], [ "1", "1", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "1", "1A", "S0", "VALUE:3A" ], [ "1", "1", "1A", "S1", "VALUE:3A" ], [ "1", "1", "1A", "S2", "VALUE:3B" ], [ "1", "1", "1A", "S3", "VALUE:3C" ], [ "1", "1", "1A", "SX", "VALUE:3" ], [ "1", "2", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "2", "1A", "S0", "VALUE:3A" ], [ "1", "2", "1A", "S1", "VALUE:3A" ], [ "1", "2", "1A", "S2", "VALUE:3B" ], [ "1", "2", "1A", "S3", "VALUE:3C" ], [ "1", "2", "1A", "SX", "VALUE:3" ], [ "1", "3", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "3", "1A", "S0", "VALUE:3A" ], [ "1", "3", "1A", "S1", "VALUE:3A" ], [ "1", "3", "1A", "S2", "VALUE:3B" ], [ "1", "3", "1A", "S3", "VALUE:3C" ], [ "1", "3", "1A", "SX", "VALUE:3" ], [ "1", "X", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "X", "1A", "S0", "VALUE:3A" ], [ "1", "X", "1A", "S1", "VALUE:3A" ], [ "1", "X", "1A", "S2", "VALUE:3B" ], [ "1", "X", "1A", "S3", "VALUE:3C" ], [ "1", "X", "1A", "SX", "VALUE:3" ], [ "2", "0", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "0", "1A", "S0", "VALUE:3A" ], [ "2", "0", "1A", "S1", "VALUE:3A" ], [ "2", "0", "1A", "S2", "VALUE:3B" ], [ "2", "0", "1A", "S3", "VALUE:3C" ], [ "2", "0", "1A", "SX", "VALUE:3" ], [ "2", "1", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "1", "1A", "S0", "VALUE:3A" ], [ "2", "1", "1A", "S1", "VALUE:3A" ], [ "2", "1", "1A", "S2", "VALUE:3B" ], [ "2", "1", "1A", "S3", "VALUE:3C" ], [ "2", "1", "1A", "SX", "VALUE:3" ], [ "2", "2", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "2", "1A", "S0", "VALUE:3A" ], [ "2", "2", "1A", "S1", "VALUE:3A" ], [ "2", "2", "1A", "S2", "VALUE:3B" ], [ "2", "2", "1A", "S3", "VALUE:3C" ], [ "2", "2", "1A", "SX", "VALUE:3" ], [ "2", "3", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "3", "1A", "S0", "VALUE:3A" ], [ "2", "3", "1A", "S1", "VALUE:3A" ], [ "2", "3", "1A", "S2", "VALUE:3B" ], [ "2", "3", "1A", "S3", "VALUE:3C" ], [ "2", "3", "1A", "SX", "VALUE:3" ], [ "2", "X", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "X", "1A", "S0", "VALUE:3A" ], [ "2", "X", "1A", "S1", "VALUE:3A" ], [ "2", "X", "1A", "S2", "VALUE:3B" ], [ "2", "X", "1A", "S3", "VALUE:3C" ], [ "2", "X", "1A", "SX", "VALUE:3" ], [ "3", "0", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "0", "1A", "S0", "VALUE:3A" ], [ "3", "0", "1A", "S1", "VALUE:3A" ], [ "3", "0", "1A", "S2", "VALUE:3B" ], [ "3", "0", "1A", "S3", "VALUE:3C" ], [ "3", "0", "1A", "SX", "VALUE:3" ], [ "3", "1", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "1", "1A", "S0", "VALUE:3A" ], [ "3", "1", "1A", "S1", "VALUE:3A" ], [ "3", "1", "1A", "S2", "VALUE:3B" ], [ "3", "1", "1A", "S3", "VALUE:3C" ], [ "3", "1", "1A", "SX", "VALUE:3" ], [ "3", "2", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "2", "1A", "S0", "VALUE:3A" ], [ "3", "2", "1A", "S1", "VALUE:3A" ], [ "3", "2", "1A", "S2", "VALUE:3B" ], [ "3", "2", "1A", "S3", "VALUE:3C" ], [ "3", "2", "1A", "SX", "VALUE:3" ], [ "3", "3", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "3", "1A", "S0", "VALUE:3A" ], [ "3", "3", "1A", "S1", "VALUE:3A" ], [ "3", "3", "1A", "S2", "VALUE:3B" ], [ "3", "3", "1A", "S3", "VALUE:3C" ], [ "3", "3", "1A", "SX", "VALUE:3" ], [ "3", "X", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "X", "1A", "S0", "VALUE:3A" ], [ "3", "X", "1A", "S1", "VALUE:3A" ], [ "3", "X", "1A", "S2", "VALUE:3B" ], [ "3", "X", "1A", "S3", "VALUE:3C" ], [ "3", "X", "1A", "SX", "VALUE:3" ], [ "4", "0", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "0", "1A", "S0", "VALUE:3A" ], [ "4", "0", "1A", "S1", "VALUE:3A" ], [ "4", "0", "1A", "S2", "VALUE:3B" ], [ "4", "0", "1A", "S3", "VALUE:3C" ], [ "4", "0", "1A", "SX", "VALUE:3" ], [ "4", "1", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "1", "1A", "S0", "VALUE:3A" ], [ "4", "1", "1A", "S1", "VALUE:3A" ], [ "4", "1", "1A", "S2", "VALUE:3B" ], [ "4", "1", "1A", "S3", "VALUE:3C" ], [ "4", "1", "1A", "SX", "VALUE:3" ], [ "4", "2", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "2", "1A", "S0", "VALUE:3A" ], [ "4", "2", "1A", "S1", "VALUE:3A" ], [ "4", "2", "1A", "S2", "VALUE:3B" ], [ "4", "2", "1A", "S3", "VALUE:3C" ], [ "4", "2", "1A", "SX", "VALUE:3" ], [ "4", "3", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "3", "1A", "S0", "VALUE:3A" ], [ "4", "3", "1A", "S1", "VALUE:3A" ], [ "4", "3", "1A", "S2", "VALUE:3B" ], [ "4", "3", "1A", "S3", "VALUE:3C" ], [ "4", "3", "1A", "SX", "VALUE:3" ], [ "4", "X", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "X", "1A", "S0", "VALUE:3A" ], [ "4", "X", "1A", "S1", "VALUE:3A" ], [ "4", "X", "1A", "S2", "VALUE:3B" ], [ "4", "X", "1A", "S3", "VALUE:3C" ], [ "4", "X", "1A", "SX", "VALUE:3" ], [ "X", "0", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "0", "1A", "S0", "VALUE:3A" ], [ "X", "0", "1A", "S1", "VALUE:3A" ], [ "X", "0", "1A", "S2", "VALUE:3B" ], [ "X", "0", "1A", "S3", "VALUE:3C" ], [ "X", "0", "1A", "SX", "VALUE:3" ], [ "X", "1", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "1", "1A", "S0", "VALUE:3A" ], [ "X", "1", "1A", "S1", "VALUE:3A" ], [ "X", "1", "1A", "S2", "VALUE:3B" ], [ "X", "1", "1A", "S3", "VALUE:3C" ], [ "X", "1", "1A", "SX", "VALUE:3" ], [ "X", "2", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "2", "1A", "S0", "VALUE:3A" ], [ "X", "2", "1A", "S1", "VALUE:3A" ], [ "X", "2", "1A", "S2", "VALUE:3B" ], [ "X", "2", "1A", "S3", "VALUE:3C" ], [ "X", "2", "1A", "SX", "VALUE:3" ], [ "X", "3", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "3", "1A", "S0", "VALUE:3A" ], [ "X", "3", "1A", "S1", "VALUE:3A" ], [ "X", "3", "1A", "S2", "VALUE:3B" ], [ "X", "3", "1A", "S3", "VALUE:3C" ], [ "X", "3", "1A", "SX", "VALUE:3" ], [ "X", "X", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "X", "1A", "S0", "VALUE:3A" ], [ "X", "X", "1A", "S1", "VALUE:3A" ], [ "X", "X", "1A", "S2", "VALUE:3B" ], [ "X", "X", "1A", "S3", "VALUE:3C" ], [ "X", "X", "1A", "SX", "VALUE:3" ], [ "0", "0", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "0", "1B", "S0", "VALUE:3C" ], [ "0", "0", "1B", "S1", "VALUE:3C" ], [ "0", "0", "1B", "S2", "VALUE:3C" ], [ "0", "0", "1B", "S3", "VALUE:3C" ], [ "0", "0", "1B", "SX", "VALUE:3C" ], [ "0", "1", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "1", "1B", "S0", "VALUE:3C" ], [ "0", "1", "1B", "S1", "VALUE:3C" ], [ "0", "1", "1B", "S2", "VALUE:3C" ], [ "0", "1", "1B", "S3", "VALUE:3C" ], [ "0", "1", "1B", "SX", "VALUE:3C" ], [ "0", "2", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "2", "1B", "S0", "VALUE:3C" ], [ "0", "2", "1B", "S1", "VALUE:3C" ], [ "0", "2", "1B", "S2", "VALUE:3C" ], [ "0", "2", "1B", "S3", "VALUE:3C" ], [ "0", "2", "1B", "SX", "VALUE:3C" ], [ "0", "3", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "3", "1B", "S0", "VALUE:3C" ], [ "0", "3", "1B", "S1", "VALUE:3C" ], [ "0", "3", "1B", "S2", "VALUE:3C" ], [ "0", "3", "1B", "S3", "VALUE:3C" ], [ "0", "3", "1B", "SX", "VALUE:3C" ], [ "0", "X", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "X", "1B", "S0", "VALUE:3C" ], [ "0", "X", "1B", "S1", "VALUE:3C" ], [ "0", "X", "1B", "S2", "VALUE:3C" ], [ "0", "X", "1B", "S3", "VALUE:3C" ], [ "0", "X", "1B", "SX", "VALUE:3C" ], [ "IS", "0", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "0", "1B", "S0", "VALUE:3C" ], [ "IS", "0", "1B", "S1", "VALUE:3C" ], [ "IS", "0", "1B", "S2", "VALUE:3C" ], [ "IS", "0", "1B", "S3", "VALUE:3C" ], [ "IS", "0", "1B", "SX", "VALUE:3C" ], [ "IS", "1", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "1", "1B", "S0", "VALUE:3C" ], [ "IS", "1", "1B", "S1", "VALUE:3C" ], [ "IS", "1", "1B", "S2", "VALUE:3C" ], [ "IS", "1", "1B", "S3", "VALUE:3C" ], [ "IS", "1", "1B", "SX", "VALUE:3C" ], [ "IS", "2", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "2", "1B", "S0", "VALUE:3C" ], [ "IS", "2", "1B", "S1", "VALUE:3C" ], [ "IS", "2", "1B", "S2", "VALUE:3C" ], [ "IS", "2", "1B", "S3", "VALUE:3C" ], [ "IS", "2", "1B", "SX", "VALUE:3C" ], [ "IS", "3", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "3", "1B", "S0", "VALUE:3C" ], [ "IS", "3", "1B", "S1", "VALUE:3C" ], [ "IS", "3", "1B", "S2", "VALUE:3C" ], [ "IS", "3", "1B", "S3", "VALUE:3C" ], [ "IS", "3", "1B", "SX", "VALUE:3C" ], [ "IS", "X", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "X", "1B", "S0", "VALUE:3C" ], [ "IS", "X", "1B", "S1", "VALUE:3C" ], [ "IS", "X", "1B", "S2", "VALUE:3C" ], [ "IS", "X", "1B", "S3", "VALUE:3C" ], [ "IS", "X", "1B", "SX", "VALUE:3C" ], [ "1", "0", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "0", "1B", "S0", "VALUE:3C" ], [ "1", "0", "1B", "S1", "VALUE:3C" ], [ "1", "0", "1B", "S2", "VALUE:3C" ], [ "1", "0", "1B", "S3", "VALUE:3C" ], [ "1", "0", "1B", "SX", "VALUE:3C" ], [ "1", "1", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "1", "1B", "S0", "VALUE:3C" ], [ "1", "1", "1B", "S1", "VALUE:3C" ], [ "1", "1", "1B", "S2", "VALUE:3C" ], [ "1", "1", "1B", "S3", "VALUE:3C" ], [ "1", "1", "1B", "SX", "VALUE:3C" ], [ "1", "2", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "2", "1B", "S0", "VALUE:3C" ], [ "1", "2", "1B", "S1", "VALUE:3C" ], [ "1", "2", "1B", "S2", "VALUE:3C" ], [ "1", "2", "1B", "S3", "VALUE:3C" ], [ "1", "2", "1B", "SX", "VALUE:3C" ], [ "1", "3", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "3", "1B", "S0", "VALUE:3C" ], [ "1", "3", "1B", "S1", "VALUE:3C" ], [ "1", "3", "1B", "S2", "VALUE:3C" ], [ "1", "3", "1B", "S3", "VALUE:3C" ], [ "1", "3", "1B", "SX", "VALUE:3C" ], [ "1", "X", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "X", "1B", "S0", "VALUE:3C" ], [ "1", "X", "1B", "S1", "VALUE:3C" ], [ "1", "X", "1B", "S2", "VALUE:3C" ], [ "1", "X", "1B", "S3", "VALUE:3C" ], [ "1", "X", "1B", "SX", "VALUE:3C" ], [ "2", "0", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "0", "1B", "S0", "VALUE:3C" ], [ "2", "0", "1B", "S1", "VALUE:3C" ], [ "2", "0", "1B", "S2", "VALUE:3C" ], [ "2", "0", "1B", "S3", "VALUE:3C" ], [ "2", "0", "1B", "SX", "VALUE:3C" ], [ "2", "1", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "1", "1B", "S0", "VALUE:3C" ], [ "2", "1", "1B", "S1", "VALUE:3C" ], [ "2", "1", "1B", "S2", "VALUE:3C" ], [ "2", "1", "1B", "S3", "VALUE:3C" ], [ "2", "1", "1B", "SX", "VALUE:3C" ], [ "2", "2", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "2", "1B", "S0", "VALUE:3C" ], [ "2", "2", "1B", "S1", "VALUE:3C" ], [ "2", "2", "1B", "S2", "VALUE:3C" ], [ "2", "2", "1B", "S3", "VALUE:3C" ], [ "2", "2", "1B", "SX", "VALUE:3C" ], [ "2", "3", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "3", "1B", "S0", "VALUE:3C" ], [ "2", "3", "1B", "S1", "VALUE:3C" ], [ "2", "3", "1B", "S2", "VALUE:3C" ], [ "2", "3", "1B", "S3", "VALUE:3C" ], [ "2", "3", "1B", "SX", "VALUE:3C" ], [ "2", "X", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "X", "1B", "S0", "VALUE:3C" ], [ "2", "X", "1B", "S1", "VALUE:3C" ], [ "2", "X", "1B", "S2", "VALUE:3C" ], [ "2", "X", "1B", "S3", "VALUE:3C" ], [ "2", "X", "1B", "SX", "VALUE:3C" ], [ "3", "0", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "0", "1B", "S0", "VALUE:3C" ], [ "3", "0", "1B", "S1", "VALUE:3C" ], [ "3", "0", "1B", "S2", "VALUE:3C" ], [ "3", "0", "1B", "S3", "VALUE:3C" ], [ "3", "0", "1B", "SX", "VALUE:3C" ], [ "3", "1", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "1", "1B", "S0", "VALUE:3C" ], [ "3", "1", "1B", "S1", "VALUE:3C" ], [ "3", "1", "1B", "S2", "VALUE:3C" ], [ "3", "1", "1B", "S3", "VALUE:3C" ], [ "3", "1", "1B", "SX", "VALUE:3C" ], [ "3", "2", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "2", "1B", "S0", "VALUE:3C" ], [ "3", "2", "1B", "S1", "VALUE:3C" ], [ "3", "2", "1B", "S2", "VALUE:3C" ], [ "3", "2", "1B", "S3", "VALUE:3C" ], [ "3", "2", "1B", "SX", "VALUE:3C" ], [ "3", "3", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "3", "1B", "S0", "VALUE:3C" ], [ "3", "3", "1B", "S1", "VALUE:3C" ], [ "3", "3", "1B", "S2", "VALUE:3C" ], [ "3", "3", "1B", "S3", "VALUE:3C" ], [ "3", "3", "1B", "SX", "VALUE:3C" ], [ "3", "X", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "X", "1B", "S0", "VALUE:3C" ], [ "3", "X", "1B", "S1", "VALUE:3C" ], [ "3", "X", "1B", "S2", "VALUE:3C" ], [ "3", "X", "1B", "S3", "VALUE:3C" ], [ "3", "X", "1B", "SX", "VALUE:3C" ], [ "4", "0", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "0", "1B", "S0", "VALUE:3C" ], [ "4", "0", "1B", "S1", "VALUE:3C" ], [ "4", "0", "1B", "S2", "VALUE:3C" ], [ "4", "0", "1B", "S3", "VALUE:3C" ], [ "4", "0", "1B", "SX", "VALUE:3C" ], [ "4", "1", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "1", "1B", "S0", "VALUE:3C" ], [ "4", "1", "1B", "S1", "VALUE:3C" ], [ "4", "1", "1B", "S2", "VALUE:3C" ], [ "4", "1", "1B", "S3", "VALUE:3C" ], [ "4", "1", "1B", "SX", "VALUE:3C" ], [ "4", "2", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "2", "1B", "S0", "VALUE:3C" ], [ "4", "2", "1B", "S1", "VALUE:3C" ], [ "4", "2", "1B", "S2", "VALUE:3C" ], [ "4", "2", "1B", "S3", "VALUE:3C" ], [ "4", "2", "1B", "SX", "VALUE:3C" ], [ "4", "3", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "3", "1B", "S0", "VALUE:3C" ], [ "4", "3", "1B", "S1", "VALUE:3C" ], [ "4", "3", "1B", "S2", "VALUE:3C" ], [ "4", "3", "1B", "S3", "VALUE:3C" ], [ "4", "3", "1B", "SX", "VALUE:3C" ], [ "4", "X", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "X", "1B", "S0", "VALUE:3C" ], [ "4", "X", "1B", "S1", "VALUE:3C" ], [ "4", "X", "1B", "S2", "VALUE:3C" ], [ "4", "X", "1B", "S3", "VALUE:3C" ], [ "4", "X", "1B", "SX", "VALUE:3C" ], [ "X", "0", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "0", "1B", "S0", "VALUE:3C" ], [ "X", "0", "1B", "S1", "VALUE:3C" ], [ "X", "0", "1B", "S2", "VALUE:3C" ], [ "X", "0", "1B", "S3", "VALUE:3C" ], [ "X", "0", "1B", "SX", "VALUE:3C" ], [ "X", "1", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "1", "1B", "S0", "VALUE:3C" ], [ "X", "1", "1B", "S1", "VALUE:3C" ], [ "X", "1", "1B", "S2", "VALUE:3C" ], [ "X", "1", "1B", "S3", "VALUE:3C" ], [ "X", "1", "1B", "SX", "VALUE:3C" ], [ "X", "2", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "2", "1B", "S0", "VALUE:3C" ], [ "X", "2", "1B", "S1", "VALUE:3C" ], [ "X", "2", "1B", "S2", "VALUE:3C" ], [ "X", "2", "1B", "S3", "VALUE:3C" ], [ "X", "2", "1B", "SX", "VALUE:3C" ], [ "X", "3", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "3", "1B", "S0", "VALUE:3C" ], [ "X", "3", "1B", "S1", "VALUE:3C" ], [ "X", "3", "1B", "S2", "VALUE:3C" ], [ "X", "3", "1B", "S3", "VALUE:3C" ], [ "X", "3", "1B", "SX", "VALUE:3C" ], [ "X", "X", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "X", "1B", "S0", "VALUE:3C" ], [ "X", "X", "1B", "S1", "VALUE:3C" ], [ "X", "X", "1B", "S2", "VALUE:3C" ], [ "X", "X", "1B", "S3", "VALUE:3C" ], [ "X", "X", "1B", "SX", "VALUE:3C" ], [ "0", "0", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "0", "1", "S0", "VALUE:3" ], [ "0", "0", "1", "S1", "VALUE:3" ], [ "0", "0", "1", "S2", "VALUE:3" ], [ "0", "0", "1", "S3", "VALUE:3" ], [ "0", "0", "1", "SX", "VALUE:3" ], [ "0", "1", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "1", "1", "S0", "VALUE:3" ], [ "0", "1", "1", "S1", "VALUE:3" ], [ "0", "1", "1", "S2", "VALUE:3" ], [ "0", "1", "1", "S3", "VALUE:3" ], [ "0", "1", "1", "SX", "VALUE:3" ], [ "0", "2", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "2", "1", "S0", "VALUE:3" ], [ "0", "2", "1", "S1", "VALUE:3" ], [ "0", "2", "1", "S2", "VALUE:3" ], [ "0", "2", "1", "S3", "VALUE:3" ], [ "0", "2", "1", "SX", "VALUE:3" ], [ "0", "3", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "3", "1", "S0", "VALUE:3" ], [ "0", "3", "1", "S1", "VALUE:3" ], [ "0", "3", "1", "S2", "VALUE:3" ], [ "0", "3", "1", "S3", "VALUE:3" ], [ "0", "3", "1", "SX", "VALUE:3" ], [ "0", "X", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "0", "X", "1", "S0", "VALUE:3" ], [ "0", "X", "1", "S1", "VALUE:3" ], [ "0", "X", "1", "S2", "VALUE:3" ], [ "0", "X", "1", "S3", "VALUE:3" ], [ "0", "X", "1", "SX", "VALUE:3" ], [ "IS", "0", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "0", "1", "S0", "VALUE:3" ], [ "IS", "0", "1", "S1", "VALUE:3" ], [ "IS", "0", "1", "S2", "VALUE:3" ], [ "IS", "0", "1", "S3", "VALUE:3" ], [ "IS", "0", "1", "SX", "VALUE:3" ], [ "IS", "1", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "1", "1", "S0", "VALUE:3" ], [ "IS", "1", "1", "S1", "VALUE:3" ], [ "IS", "1", "1", "S2", "VALUE:3" ], [ "IS", "1", "1", "S3", "VALUE:3" ], [ "IS", "1", "1", "SX", "VALUE:3" ], [ "IS", "2", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "2", "1", "S0", "VALUE:3" ], [ "IS", "2", "1", "S1", "VALUE:3" ], [ "IS", "2", "1", "S2", "VALUE:3" ], [ "IS", "2", "1", "S3", "VALUE:3" ], [ "IS", "2", "1", "SX", "VALUE:3" ], [ "IS", "3", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "3", "1", "S0", "VALUE:3" ], [ "IS", "3", "1", "S1", "VALUE:3" ], [ "IS", "3", "1", "S2", "VALUE:3" ], [ "IS", "3", "1", "S3", "VALUE:3" ], [ "IS", "3", "1", "SX", "VALUE:3" ], [ "IS", "X", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "IS", "X", "1", "S0", "VALUE:3" ], [ "IS", "X", "1", "S1", "VALUE:3" ], [ "IS", "X", "1", "S2", "VALUE:3" ], [ "IS", "X", "1", "S3", "VALUE:3" ], [ "IS", "X", "1", "SX", "VALUE:3" ], [ "1", "0", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "0", "1", "S0", "VALUE:3" ], [ "1", "0", "1", "S1", "VALUE:3" ], [ "1", "0", "1", "S2", "VALUE:3" ], [ "1", "0", "1", "S3", "VALUE:3" ], [ "1", "0", "1", "SX", "VALUE:3" ], [ "1", "1", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "1", "1", "S0", "VALUE:3" ], [ "1", "1", "1", "S1", "VALUE:3" ], [ "1", "1", "1", "S2", "VALUE:3" ], [ "1", "1", "1", "S3", "VALUE:3" ], [ "1", "1", "1", "SX", "VALUE:3" ], [ "1", "2", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "2", "1", "S0", "VALUE:3" ], [ "1", "2", "1", "S1", "VALUE:3" ], [ "1", "2", "1", "S2", "VALUE:3" ], [ "1", "2", "1", "S3", "VALUE:3" ], [ "1", "2", "1", "SX", "VALUE:3" ], [ "1", "3", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "3", "1", "S0", "VALUE:3" ], [ "1", "3", "1", "S1", "VALUE:3" ], [ "1", "3", "1", "S2", "VALUE:3" ], [ "1", "3", "1", "S3", "VALUE:3" ], [ "1", "3", "1", "SX", "VALUE:3" ], [ "1", "X", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "1", "X", "1", "S0", "VALUE:3" ], [ "1", "X", "1", "S1", "VALUE:3" ], [ "1", "X", "1", "S2", "VALUE:3" ], [ "1", "X", "1", "S3", "VALUE:3" ], [ "1", "X", "1", "SX", "VALUE:3" ], [ "2", "0", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "0", "1", "S0", "VALUE:3" ], [ "2", "0", "1", "S1", "VALUE:3" ], [ "2", "0", "1", "S2", "VALUE:3" ], [ "2", "0", "1", "S3", "VALUE:3" ], [ "2", "0", "1", "SX", "VALUE:3" ], [ "2", "1", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "1", "1", "S0", "VALUE:3" ], [ "2", "1", "1", "S1", "VALUE:3" ], [ "2", "1", "1", "S2", "VALUE:3" ], [ "2", "1", "1", "S3", "VALUE:3" ], [ "2", "1", "1", "SX", "VALUE:3" ], [ "2", "2", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "2", "1", "S0", "VALUE:3" ], [ "2", "2", "1", "S1", "VALUE:3" ], [ "2", "2", "1", "S2", "VALUE:3" ], [ "2", "2", "1", "S3", "VALUE:3" ], [ "2", "2", "1", "SX", "VALUE:3" ], [ "2", "3", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "3", "1", "S0", "VALUE:3" ], [ "2", "3", "1", "S1", "VALUE:3" ], [ "2", "3", "1", "S2", "VALUE:3" ], [ "2", "3", "1", "S3", "VALUE:3" ], [ "2", "3", "1", "SX", "VALUE:3" ], [ "2", "X", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "2", "X", "1", "S0", "VALUE:3" ], [ "2", "X", "1", "S1", "VALUE:3" ], [ "2", "X", "1", "S2", "VALUE:3" ], [ "2", "X", "1", "S3", "VALUE:3" ], [ "2", "X", "1", "SX", "VALUE:3" ], [ "3", "0", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "0", "1", "S0", "VALUE:3" ], [ "3", "0", "1", "S1", "VALUE:3" ], [ "3", "0", "1", "S2", "VALUE:3" ], [ "3", "0", "1", "S3", "VALUE:3" ], [ "3", "0", "1", "SX", "VALUE:3" ], [ "3", "1", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "1", "1", "S0", "VALUE:3" ], [ "3", "1", "1", "S1", "VALUE:3" ], [ "3", "1", "1", "S2", "VALUE:3" ], [ "3", "1", "1", "S3", "VALUE:3" ], [ "3", "1", "1", "SX", "VALUE:3" ], [ "3", "2", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "2", "1", "S0", "VALUE:3" ], [ "3", "2", "1", "S1", "VALUE:3" ], [ "3", "2", "1", "S2", "VALUE:3" ], [ "3", "2", "1", "S3", "VALUE:3" ], [ "3", "2", "1", "SX", "VALUE:3" ], [ "3", "3", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "3", "1", "S0", "VALUE:3" ], [ "3", "3", "1", "S1", "VALUE:3" ], [ "3", "3", "1", "S2", "VALUE:3" ], [ "3", "3", "1", "S3", "VALUE:3" ], [ "3", "3", "1", "SX", "VALUE:3" ], [ "3", "X", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "3", "X", "1", "S0", "VALUE:3" ], [ "3", "X", "1", "S1", "VALUE:3" ], [ "3", "X", "1", "S2", "VALUE:3" ], [ "3", "X", "1", "S3", "VALUE:3" ], [ "3", "X", "1", "SX", "VALUE:3" ], [ "4", "0", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "0", "1", "S0", "VALUE:3" ], [ "4", "0", "1", "S1", "VALUE:3" ], [ "4", "0", "1", "S2", "VALUE:3" ], [ "4", "0", "1", "S3", "VALUE:3" ], [ "4", "0", "1", "SX", "VALUE:3" ], [ "4", "1", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "1", "1", "S0", "VALUE:3" ], [ "4", "1", "1", "S1", "VALUE:3" ], [ "4", "1", "1", "S2", "VALUE:3" ], [ "4", "1", "1", "S3", "VALUE:3" ], [ "4", "1", "1", "SX", "VALUE:3" ], [ "4", "2", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "2", "1", "S0", "VALUE:3" ], [ "4", "2", "1", "S1", "VALUE:3" ], [ "4", "2", "1", "S2", "VALUE:3" ], [ "4", "2", "1", "S3", "VALUE:3" ], [ "4", "2", "1", "SX", "VALUE:3" ], [ "4", "3", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "3", "1", "S0", "VALUE:3" ], [ "4", "3", "1", "S1", "VALUE:3" ], [ "4", "3", "1", "S2", "VALUE:3" ], [ "4", "3", "1", "S3", "VALUE:3" ], [ "4", "3", "1", "SX", "VALUE:3" ], [ "4", "X", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "X", "1", "S0", "VALUE:3" ], [ "4", "X", "1", "S1", "VALUE:3" ], [ "4", "X", "1", "S2", "VALUE:3" ], [ "4", "X", "1", "S3", "VALUE:3" ], [ "4", "X", "1", "SX", "VALUE:3" ], [ "X", "0", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "0", "1", "S0", "VALUE:3" ], [ "X", "0", "1", "S1", "VALUE:3" ], [ "X", "0", "1", "S2", "VALUE:3" ], [ "X", "0", "1", "S3", "VALUE:3" ], [ "X", "0", "1", "SX", "VALUE:3" ], [ "X", "1", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "1", "1", "S0", "VALUE:3" ], [ "X", "1", "1", "S1", "VALUE:3" ], [ "X", "1", "1", "S2", "VALUE:3" ], [ "X", "1", "1", "S3", "VALUE:3" ], [ "X", "1", "1", "SX", "VALUE:3" ], [ "X", "2", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "2", "1", "S0", "VALUE:3" ], [ "X", "2", "1", "S1", "VALUE:3" ], [ "X", "2", "1", "S2", "VALUE:3" ], [ "X", "2", "1", "S3", "VALUE:3" ], [ "X", "2", "1", "SX", "VALUE:3" ], [ "X", "3", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "3", "1", "S0", "VALUE:3" ], [ "X", "3", "1", "S1", "VALUE:3" ], [ "X", "3", "1", "S2", "VALUE:3" ], [ "X", "3", "1", "S3", "VALUE:3" ], [ "X", "3", "1", "SX", "VALUE:3" ], [ "X", "X", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "X", "1", "S0", "VALUE:3" ], [ "X", "X", "1", "S1", "VALUE:3" ], [ "X", "X", "1", "S2", "VALUE:3" ], [ "X", "X", "1", "S3", "VALUE:3" ], [ "X", "X", "1", "SX", "VALUE:3" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqe.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqe.json deleted file mode 100644 index 808b8a281..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_path_stage_uqe.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm7_path_stage_uqe", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Group", - "title" : "TNM 7 Path Stage Group", - "last_modified" : "2018-05-14T21:29:04.966Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "prefix_n_in", - "name" : "Prefix N", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "c", "VALUE:99" ], [ "0", "0", "0", "p", "VALUE:99" ], [ "0", "1", "0", "p", "VALUE:3" ], [ "0", "1A", "0", "p", "VALUE:3A" ], [ "0", "1B", "0", "p", "VALUE:3B" ], [ "0", "2", "0", "p", "VALUE:3B" ], [ "0", "X", "0", "p", "VALUE:99" ], [ "IS", "0", "0", "c", "VALUE:0" ], [ "IS", "0", "0", "p", "VALUE:0" ], [ "IS", "1", "0", "p", "VALUE:3" ], [ "IS", "1A", "0", "p", "VALUE:3A" ], [ "IS", "1B", "0", "p", "VALUE:3B" ], [ "IS", "2", "0", "p", "VALUE:3B" ], [ "IS", "X", "0", "p", "VALUE:0" ], [ "1", "0", "0", "c", "VALUE:1B" ], [ "1", "0", "0", "p", "VALUE:1A" ], [ "1", "1", "0", "p", "VALUE:3" ], [ "1", "1A", "0", "p", "VALUE:3A" ], [ "1", "1B", "0", "p", "VALUE:3B" ], [ "1", "2", "0", "p", "VALUE:3B" ], [ "1", "X", "0", "p", "VALUE:99" ], [ "2", "0", "0", "c", "VALUE:2B" ], [ "2", "0", "0", "p", "VALUE:2A" ], [ "2", "1", "0", "p", "VALUE:3" ], [ "2", "1A", "0", "p", "VALUE:3A" ], [ "2", "1B", "0", "p", "VALUE:3B" ], [ "2", "2", "0", "p", "VALUE:3B" ], [ "2", "X", "0", "p", "VALUE:99" ], [ "3", "0", "0", "c", "VALUE:2B" ], [ "3", "0", "0", "p", "VALUE:2A" ], [ "3", "1", "0", "p", "VALUE:3" ], [ "3", "1A", "0", "p", "VALUE:3A" ], [ "3", "1B", "0", "p", "VALUE:3B" ], [ "3", "2", "0", "p", "VALUE:3B" ], [ "3", "X", "0", "p", "VALUE:99" ], [ "4", "0", "0", "c", "VALUE:2C" ], [ "4", "0", "0", "p", "VALUE:2C" ], [ "4", "1", "0", "p", "VALUE:3" ], [ "4", "1A", "0", "p", "VALUE:3A" ], [ "4", "1B", "0", "p", "VALUE:3B" ], [ "4", "2", "0", "p", "VALUE:3B" ], [ "4", "X", "0", "p", "VALUE:99" ], [ "X", "0", "0", "c", "VALUE:99" ], [ "X", "0", "0", "p", "VALUE:99" ], [ "X", "1", "0", "p", "VALUE:3" ], [ "X", "1A", "0", "p", "VALUE:3A" ], [ "X", "1B", "0", "p", "VALUE:3B" ], [ "X", "2", "0", "p", "VALUE:3B" ], [ "X", "X", "0", "p", "VALUE:99" ], [ "0", "0", "1A", "c", "VALUE:4" ], [ "0", "0", "1A", "p", "VALUE:4" ], [ "0", "1", "1A", "p", "VALUE:4" ], [ "0", "1A", "1A", "p", "VALUE:4" ], [ "0", "1B", "1A", "p", "VALUE:4" ], [ "0", "2", "1A", "p", "VALUE:4" ], [ "0", "X", "1A", "p", "VALUE:4" ], [ "IS", "0", "1A", "c", "VALUE:4" ], [ "IS", "0", "1A", "p", "VALUE:4" ], [ "IS", "1", "1A", "p", "VALUE:4" ], [ "IS", "1A", "1A", "p", "VALUE:4" ], [ "IS", "1B", "1A", "p", "VALUE:4" ], [ "IS", "2", "1A", "p", "VALUE:4" ], [ "IS", "X", "1A", "p", "VALUE:4" ], [ "1", "0", "1A", "c", "VALUE:4" ], [ "1", "0", "1A", "p", "VALUE:4" ], [ "1", "1", "1A", "p", "VALUE:4" ], [ "1", "1A", "1A", "p", "VALUE:4" ], [ "1", "1B", "1A", "p", "VALUE:4" ], [ "1", "2", "1A", "p", "VALUE:4" ], [ "1", "X", "1A", "p", "VALUE:4" ], [ "2", "0", "1A", "c", "VALUE:4" ], [ "2", "0", "1A", "p", "VALUE:4" ], [ "2", "1", "1A", "p", "VALUE:4" ], [ "2", "1A", "1A", "p", "VALUE:4" ], [ "2", "1B", "1A", "p", "VALUE:4" ], [ "2", "2", "1A", "p", "VALUE:4" ], [ "2", "X", "1A", "p", "VALUE:4" ], [ "3", "0", "1A", "c", "VALUE:4" ], [ "3", "0", "1A", "p", "VALUE:4" ], [ "3", "1", "1A", "p", "VALUE:4" ], [ "3", "1A", "1A", "p", "VALUE:4" ], [ "3", "1B", "1A", "p", "VALUE:4" ], [ "3", "2", "1A", "p", "VALUE:4" ], [ "3", "X", "1A", "p", "VALUE:4" ], [ "4", "0", "1A", "c", "VALUE:4" ], [ "4", "0", "1A", "p", "VALUE:4" ], [ "4", "1", "1A", "p", "VALUE:4" ], [ "4", "1A", "1A", "p", "VALUE:4" ], [ "4", "1B", "1A", "p", "VALUE:4" ], [ "4", "2", "1A", "p", "VALUE:4" ], [ "4", "X", "1A", "p", "VALUE:4" ], [ "X", "0", "1A", "c", "VALUE:4" ], [ "X", "0", "1A", "p", "VALUE:4" ], [ "X", "1", "1A", "p", "VALUE:4" ], [ "X", "1A", "1A", "p", "VALUE:4" ], [ "X", "1B", "1A", "p", "VALUE:4" ], [ "X", "2", "1A", "p", "VALUE:4" ], [ "X", "X", "1A", "p", "VALUE:4" ], [ "0", "0", "1B", "c", "VALUE:4" ], [ "0", "0", "1B", "p", "VALUE:4" ], [ "0", "1", "1B", "p", "VALUE:4" ], [ "0", "1A", "1B", "p", "VALUE:4" ], [ "0", "1B", "1B", "p", "VALUE:4" ], [ "0", "2", "1B", "p", "VALUE:4" ], [ "0", "X", "1B", "p", "VALUE:4" ], [ "IS", "0", "1B", "c", "VALUE:4" ], [ "IS", "0", "1B", "p", "VALUE:4" ], [ "IS", "1", "1B", "p", "VALUE:4" ], [ "IS", "1A", "1B", "p", "VALUE:4" ], [ "IS", "1B", "1B", "p", "VALUE:4" ], [ "IS", "2", "1B", "p", "VALUE:4" ], [ "IS", "X", "1B", "p", "VALUE:4" ], [ "1", "0", "1B", "c", "VALUE:4" ], [ "1", "0", "1B", "p", "VALUE:4" ], [ "1", "1", "1B", "p", "VALUE:4" ], [ "1", "1A", "1B", "p", "VALUE:4" ], [ "1", "1B", "1B", "p", "VALUE:4" ], [ "1", "2", "1B", "p", "VALUE:4" ], [ "1", "X", "1B", "p", "VALUE:4" ], [ "2", "0", "1B", "c", "VALUE:4" ], [ "2", "0", "1B", "p", "VALUE:4" ], [ "2", "1", "1B", "p", "VALUE:4" ], [ "2", "1A", "1B", "p", "VALUE:4" ], [ "2", "1B", "1B", "p", "VALUE:4" ], [ "2", "2", "1B", "p", "VALUE:4" ], [ "2", "X", "1B", "p", "VALUE:4" ], [ "3", "0", "1B", "c", "VALUE:4" ], [ "3", "0", "1B", "p", "VALUE:4" ], [ "3", "1", "1B", "p", "VALUE:4" ], [ "3", "1A", "1B", "p", "VALUE:4" ], [ "3", "1B", "1B", "p", "VALUE:4" ], [ "3", "2", "1B", "p", "VALUE:4" ], [ "3", "X", "1B", "p", "VALUE:4" ], [ "4", "0", "1B", "c", "VALUE:4" ], [ "4", "0", "1B", "p", "VALUE:4" ], [ "4", "1", "1B", "p", "VALUE:4" ], [ "4", "1A", "1B", "p", "VALUE:4" ], [ "4", "1B", "1B", "p", "VALUE:4" ], [ "4", "2", "1B", "p", "VALUE:4" ], [ "4", "X", "1B", "p", "VALUE:4" ], [ "X", "0", "1B", "c", "VALUE:4" ], [ "X", "0", "1B", "p", "VALUE:4" ], [ "X", "1", "1B", "p", "VALUE:4" ], [ "X", "1A", "1B", "p", "VALUE:4" ], [ "X", "1B", "1B", "p", "VALUE:4" ], [ "X", "2", "1B", "p", "VALUE:4" ], [ "X", "X", "1B", "p", "VALUE:4" ], [ "0", "0", "1C", "c", "VALUE:4" ], [ "0", "0", "1C", "p", "VALUE:4" ], [ "0", "1", "1C", "p", "VALUE:4" ], [ "0", "1A", "1C", "p", "VALUE:4" ], [ "0", "1B", "1C", "p", "VALUE:4" ], [ "0", "2", "1C", "p", "VALUE:4" ], [ "0", "X", "1C", "p", "VALUE:4" ], [ "IS", "0", "1C", "c", "VALUE:4" ], [ "IS", "0", "1C", "p", "VALUE:4" ], [ "IS", "1", "1C", "p", "VALUE:4" ], [ "IS", "1A", "1C", "p", "VALUE:4" ], [ "IS", "1B", "1C", "p", "VALUE:4" ], [ "IS", "2", "1C", "p", "VALUE:4" ], [ "IS", "X", "1C", "p", "VALUE:4" ], [ "1", "0", "1C", "c", "VALUE:4" ], [ "1", "0", "1C", "p", "VALUE:4" ], [ "1", "1", "1C", "p", "VALUE:4" ], [ "1", "1A", "1C", "p", "VALUE:4" ], [ "1", "1B", "1C", "p", "VALUE:4" ], [ "1", "2", "1C", "p", "VALUE:4" ], [ "1", "X", "1C", "p", "VALUE:4" ], [ "2", "0", "1C", "c", "VALUE:4" ], [ "2", "0", "1C", "p", "VALUE:4" ], [ "2", "1", "1C", "p", "VALUE:4" ], [ "2", "1A", "1C", "p", "VALUE:4" ], [ "2", "1B", "1C", "p", "VALUE:4" ], [ "2", "2", "1C", "p", "VALUE:4" ], [ "2", "X", "1C", "p", "VALUE:4" ], [ "3", "0", "1C", "c", "VALUE:4" ], [ "3", "0", "1C", "p", "VALUE:4" ], [ "3", "1", "1C", "p", "VALUE:4" ], [ "3", "1A", "1C", "p", "VALUE:4" ], [ "3", "1B", "1C", "p", "VALUE:4" ], [ "3", "2", "1C", "p", "VALUE:4" ], [ "3", "X", "1C", "p", "VALUE:4" ], [ "4", "0", "1C", "c", "VALUE:4" ], [ "4", "0", "1C", "p", "VALUE:4" ], [ "4", "1", "1C", "p", "VALUE:4" ], [ "4", "1A", "1C", "p", "VALUE:4" ], [ "4", "1B", "1C", "p", "VALUE:4" ], [ "4", "2", "1C", "p", "VALUE:4" ], [ "4", "X", "1C", "p", "VALUE:4" ], [ "X", "0", "1C", "c", "VALUE:4" ], [ "X", "0", "1C", "p", "VALUE:4" ], [ "X", "1", "1C", "p", "VALUE:4" ], [ "X", "1A", "1C", "p", "VALUE:4" ], [ "X", "1B", "1C", "p", "VALUE:4" ], [ "X", "2", "1C", "p", "VALUE:4" ], [ "X", "X", "1C", "p", "VALUE:4" ], [ "0", "0", "1", "c", "VALUE:4" ], [ "0", "0", "1", "p", "VALUE:4" ], [ "0", "1", "1", "p", "VALUE:4" ], [ "0", "1A", "1", "p", "VALUE:4" ], [ "0", "1B", "1", "p", "VALUE:4" ], [ "0", "2", "1", "p", "VALUE:4" ], [ "0", "X", "1", "p", "VALUE:4" ], [ "IS", "0", "1", "c", "VALUE:4" ], [ "IS", "0", "1", "p", "VALUE:4" ], [ "IS", "1", "1", "p", "VALUE:4" ], [ "IS", "1A", "1", "p", "VALUE:4" ], [ "IS", "1B", "1", "p", "VALUE:4" ], [ "IS", "2", "1", "p", "VALUE:4" ], [ "IS", "X", "1", "p", "VALUE:4" ], [ "1", "0", "1", "c", "VALUE:4" ], [ "1", "0", "1", "p", "VALUE:4" ], [ "1", "1", "1", "p", "VALUE:4" ], [ "1", "1A", "1", "p", "VALUE:4" ], [ "1", "1B", "1", "p", "VALUE:4" ], [ "1", "2", "1", "p", "VALUE:4" ], [ "1", "X", "1", "p", "VALUE:4" ], [ "2", "0", "1", "c", "VALUE:4" ], [ "2", "0", "1", "p", "VALUE:4" ], [ "2", "1", "1", "p", "VALUE:4" ], [ "2", "1A", "1", "p", "VALUE:4" ], [ "2", "1B", "1", "p", "VALUE:4" ], [ "2", "2", "1", "p", "VALUE:4" ], [ "2", "X", "1", "p", "VALUE:4" ], [ "3", "0", "1", "c", "VALUE:4" ], [ "3", "0", "1", "p", "VALUE:4" ], [ "3", "1", "1", "p", "VALUE:4" ], [ "3", "1A", "1", "p", "VALUE:4" ], [ "3", "1B", "1", "p", "VALUE:4" ], [ "3", "2", "1", "p", "VALUE:4" ], [ "3", "X", "1", "p", "VALUE:4" ], [ "4", "0", "1", "c", "VALUE:4" ], [ "4", "0", "1", "p", "VALUE:4" ], [ "4", "1", "1", "p", "VALUE:4" ], [ "4", "1A", "1", "p", "VALUE:4" ], [ "4", "1B", "1", "p", "VALUE:4" ], [ "4", "2", "1", "p", "VALUE:4" ], [ "4", "X", "1", "p", "VALUE:4" ], [ "X", "0", "1", "c", "VALUE:4" ], [ "X", "0", "1", "p", "VALUE:4" ], [ "X", "1", "1", "p", "VALUE:4" ], [ "X", "1A", "1", "p", "VALUE:4" ], [ "X", "1B", "1", "p", "VALUE:4" ], [ "X", "2", "1", "p", "VALUE:4" ], [ "X", "X", "1", "p", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_for_sites_with_no_stage_groupings_unb.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_for_sites_with_no_stage_groupings_unb.json deleted file mode 100644 index 2930cc8bc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_for_sites_with_no_stage_groupings_unb.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "tnm7_stage_for_sites_with_no_stage_groupings_unb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "notes" : "In the table below, \"ANY\" designates any valid (allowable) value.", - "last_modified" : "2018-05-14T21:29:00.283Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "*", "*", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_gist_small_intestine_upy.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_gist_small_intestine_upy.json deleted file mode 100644 index 31b885b7d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_gist_small_intestine_upy.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm7_stage_gist_small_intestine_upy", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group GIST Small Intestine", - "title" : "TNM 7 Stage Group GIST Small Intestine", - "last_modified" : "2018-05-14T21:29:01.479Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0,X", "0", "High", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0,X", "0", "Low", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0,X", "0", "Unknown", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "High", "VALUE:4" ], [ "0", "1", "0", "Low", "VALUE:4" ], [ "0", "1", "0", "Unknown", "VALUE:4" ], [ "1", "0,X", "0", "High", "VALUE:3A" ], [ "1", "0,X", "0", "Low", "VALUE:1" ], [ "1", "0,X", "0", "Unknown", "VALUE:99" ], [ "1", "1", "0", "High", "VALUE:4" ], [ "1", "1", "0", "Low", "VALUE:4" ], [ "1", "1", "0", "Unknown", "VALUE:4" ], [ "2", "0,X", "0", "High", "VALUE:3B" ], [ "2", "0,X", "0", "Low", "VALUE:1" ], [ "2", "0,X", "0", "Unknown", "VALUE:99" ], [ "2", "1", "0", "High", "VALUE:4" ], [ "2", "1", "0", "Low", "VALUE:4" ], [ "2", "1", "0", "Unknown", "VALUE:4" ], [ "3", "0,X", "0", "High", "VALUE:3B" ], [ "3", "0,X", "0", "Low", "VALUE:2" ], [ "3", "0,X", "0", "Unknown", "VALUE:99" ], [ "3", "1", "0", "High", "VALUE:4" ], [ "3", "1", "0", "Low", "VALUE:4" ], [ "3", "1", "0", "Unknown", "VALUE:4" ], [ "4", "0,X", "0", "High", "VALUE:3B" ], [ "4", "0,X", "0", "Low", "VALUE:3A" ], [ "4", "0,X", "0", "Unknown", "VALUE:3" ], [ "4", "1", "0", "High", "VALUE:4" ], [ "4", "1", "0", "Low", "VALUE:4" ], [ "4", "1", "0", "Unknown", "VALUE:4" ], [ "X", "0,X", "0", "High", "VALUE:99" ], [ "X", "0,X", "0", "Low", "VALUE:99" ], [ "X", "0,X", "0", "Unknown", "VALUE:99" ], [ "X", "1", "0", "High", "VALUE:4" ], [ "X", "1", "0", "Low", "VALUE:4" ], [ "X", "1", "0", "Unknown", "VALUE:4" ], [ "0", "0,X", "1", "High", "VALUE:4" ], [ "0", "0,X", "1", "Low", "VALUE:4" ], [ "0", "0,X", "1", "Unknown", "VALUE:4" ], [ "0", "1", "1", "High", "VALUE:4" ], [ "0", "1", "1", "Low", "VALUE:4" ], [ "0", "1", "1", "Unknown", "VALUE:4" ], [ "1", "0,X", "1", "High", "VALUE:4" ], [ "1", "0,X", "1", "Low", "VALUE:4" ], [ "1", "0,X", "1", "Unknown", "VALUE:4" ], [ "1", "1", "1", "High", "VALUE:4" ], [ "1", "1", "1", "Low", "VALUE:4" ], [ "1", "1", "1", "Unknown", "VALUE:4" ], [ "2", "0,X", "1", "High", "VALUE:4" ], [ "2", "0,X", "1", "Low", "VALUE:4" ], [ "2", "0,X", "1", "Unknown", "VALUE:4" ], [ "2", "1", "1", "High", "VALUE:4" ], [ "2", "1", "1", "Low", "VALUE:4" ], [ "2", "1", "1", "Unknown", "VALUE:4" ], [ "3", "0,X", "1", "High", "VALUE:4" ], [ "3", "0,X", "1", "Low", "VALUE:4" ], [ "3", "0,X", "1", "Unknown", "VALUE:4" ], [ "3", "1", "1", "High", "VALUE:4" ], [ "3", "1", "1", "Low", "VALUE:4" ], [ "3", "1", "1", "Unknown", "VALUE:4" ], [ "4", "0,X", "1", "High", "VALUE:4" ], [ "4", "0,X", "1", "Low", "VALUE:4" ], [ "4", "0,X", "1", "Unknown", "VALUE:4" ], [ "4", "1", "1", "High", "VALUE:4" ], [ "4", "1", "1", "Low", "VALUE:4" ], [ "4", "1", "1", "Unknown", "VALUE:4" ], [ "X", "0,X", "1", "High", "VALUE:4" ], [ "X", "0,X", "1", "Low", "VALUE:4" ], [ "X", "0,X", "1", "Unknown", "VALUE:4" ], [ "X", "1", "1", "High", "VALUE:4" ], [ "X", "1", "1", "Low", "VALUE:4" ], [ "X", "1", "1", "Unknown", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaa.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaa.json deleted file mode 100644 index 2ba0be354..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaa.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uaa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.460Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:99" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1A" ], [ "1", "1", "0", "VALUE:2B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:1B" ], [ "2", "1", "0", "VALUE:2B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2A" ], [ "3", "1", "0", "VALUE:2B" ], [ "3", "X", "0", "VALUE:2" ], [ "4", "0", "0", "VALUE:3" ], [ "4", "1", "0", "VALUE:3" ], [ "4", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uab.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uab.json deleted file mode 100644 index 880940b60..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uab.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uab", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:03.257Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3" ], [ "0", "2", "0", "VALUE:3B" ], [ "0", "3", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "3", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3A" ], [ "1", "2", "0", "VALUE:3B" ], [ "1", "3", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3A" ], [ "2", "2", "0", "VALUE:3B" ], [ "2", "3", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2" ], [ "3", "1", "0", "VALUE:3A" ], [ "3", "2", "0", "VALUE:3B" ], [ "3", "3", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3A" ], [ "4", "1", "0", "VALUE:3B" ], [ "4", "2", "0", "VALUE:3B" ], [ "4", "3", "0", "VALUE:3B" ], [ "4", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3" ], [ "X", "2", "0", "VALUE:3B" ], [ "X", "3", "0", "VALUE:3B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "3", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uac.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uac.json deleted file mode 100644 index afbec2d68..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uac.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uac", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:04.344Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0,0I+", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0,0I+", "VALUE:2A" ], [ "0", "2A", "0,0I+", "VALUE:3A" ], [ "0", "2B", "0,0I+", "VALUE:3A" ], [ "0", "2", "0,0I+", "VALUE:3A" ], [ "0", "3A", "0,0I+", "VALUE:3C" ], [ "0", "3B", "0,0I+", "VALUE:3C" ], [ "0", "3C", "0,0I+", "VALUE:3C" ], [ "0", "3", "0,0I+", "VALUE:3C" ], [ "0", "X", "0,0I+", "VALUE:99" ], [ "IS", "0", "0,0I+", "VALUE:0" ], [ "IS", "1", "0,0I+", "ERROR" ], [ "IS", "2A", "0,0I+", "ERROR" ], [ "IS", "2B", "0,0I+", "ERROR" ], [ "IS", "2", "0,0I+", "ERROR" ], [ "IS", "3A", "0,0I+", "ERROR" ], [ "IS", "3B", "0,0I+", "ERROR" ], [ "IS", "3C", "0,0I+", "ERROR" ], [ "IS", "3", "0,0I+", "ERROR" ], [ "IS", "X", "0,0I+", "VALUE:0" ], [ "1MI", "0", "0,0I+", "VALUE:1A" ], [ "1MI", "1", "0,0I+", "VALUE:2A" ], [ "1MI", "2A", "0,0I+", "VALUE:3A" ], [ "1MI", "2B", "0,0I+", "VALUE:3A" ], [ "1MI", "2", "0,0I+", "VALUE:3A" ], [ "1MI", "3A", "0,0I+", "VALUE:3C" ], [ "1MI", "3B", "0,0I+", "VALUE:3C" ], [ "1MI", "3C", "0,0I+", "VALUE:3C" ], [ "1MI", "3", "0,0I+", "VALUE:3C" ], [ "1MI", "X", "0,0I+", "VALUE:99" ], [ "1A", "0", "0,0I+", "VALUE:1A" ], [ "1A", "1", "0,0I+", "VALUE:2A" ], [ "1A", "2A", "0,0I+", "VALUE:3A" ], [ "1A", "2B", "0,0I+", "VALUE:3A" ], [ "1A", "2", "0,0I+", "VALUE:3A" ], [ "1A", "3A", "0,0I+", "VALUE:3C" ], [ "1A", "3B", "0,0I+", "VALUE:3C" ], [ "1A", "3C", "0,0I+", "VALUE:3C" ], [ "1A", "3", "0,0I+", "VALUE:3C" ], [ "1A", "X", "0,0I+", "VALUE:99" ], [ "1B", "0", "0,0I+", "VALUE:1A" ], [ "1B", "1", "0,0I+", "VALUE:2A" ], [ "1B", "2A", "0,0I+", "VALUE:3A" ], [ "1B", "2B", "0,0I+", "VALUE:3A" ], [ "1B", "2", "0,0I+", "VALUE:3A" ], [ "1B", "3A", "0,0I+", "VALUE:3C" ], [ "1B", "3B", "0,0I+", "VALUE:3C" ], [ "1B", "3C", "0,0I+", "VALUE:3C" ], [ "1B", "3", "0,0I+", "VALUE:3C" ], [ "1B", "X", "0,0I+", "VALUE:99" ], [ "1C", "0", "0,0I+", "VALUE:1A" ], [ "1C", "1", "0,0I+", "VALUE:2A" ], [ "1C", "2A", "0,0I+", "VALUE:3A" ], [ "1C", "2B", "0,0I+", "VALUE:3A" ], [ "1C", "2", "0,0I+", "VALUE:3A" ], [ "1C", "3A", "0,0I+", "VALUE:3C" ], [ "1C", "3B", "0,0I+", "VALUE:3C" ], [ "1C", "3C", "0,0I+", "VALUE:3C" ], [ "1C", "3", "0,0I+", "VALUE:3C" ], [ "1C", "X", "0,0I+", "VALUE:99" ], [ "1", "0", "0,0I+", "VALUE:1A" ], [ "1", "1", "0,0I+", "VALUE:2A" ], [ "1", "2A", "0,0I+", "VALUE:3A" ], [ "1", "2B", "0,0I+", "VALUE:3A" ], [ "1", "2", "0,0I+", "VALUE:3A" ], [ "1", "3A", "0,0I+", "VALUE:3C" ], [ "1", "3B", "0,0I+", "VALUE:3C" ], [ "1", "3C", "0,0I+", "VALUE:3C" ], [ "1", "3", "0,0I+", "VALUE:3C" ], [ "1", "X", "0,0I+", "VALUE:99" ], [ "2", "0", "0,0I+", "VALUE:2A" ], [ "2", "1", "0,0I+", "VALUE:2B" ], [ "2", "2A", "0,0I+", "VALUE:3A" ], [ "2", "2B", "0,0I+", "VALUE:3A" ], [ "2", "2", "0,0I+", "VALUE:3A" ], [ "2", "3A", "0,0I+", "VALUE:3C" ], [ "2", "3B", "0,0I+", "VALUE:3C" ], [ "2", "3C", "0,0I+", "VALUE:3C" ], [ "2", "3", "0,0I+", "VALUE:3C" ], [ "2", "X", "0,0I+", "VALUE:99" ], [ "3", "0", "0,0I+", "VALUE:2B" ], [ "3", "1", "0,0I+", "VALUE:3A" ], [ "3", "2A", "0,0I+", "VALUE:3A" ], [ "3", "2B", "0,0I+", "VALUE:3A" ], [ "3", "2", "0,0I+", "VALUE:3A" ], [ "3", "3A", "0,0I+", "VALUE:3C" ], [ "3", "3B", "0,0I+", "VALUE:3C" ], [ "3", "3C", "0,0I+", "VALUE:3C" ], [ "3", "3", "0,0I+", "VALUE:3C" ], [ "3", "X", "0,0I+", "VALUE:99" ], [ "4A", "0", "0,0I+", "VALUE:3B" ], [ "4A", "1", "0,0I+", "VALUE:3B" ], [ "4A", "2A", "0,0I+", "VALUE:3B" ], [ "4A", "2B", "0,0I+", "VALUE:3B" ], [ "4A", "2", "0,0I+", "VALUE:3B" ], [ "4A", "3A", "0,0I+", "VALUE:3C" ], [ "4A", "3B", "0,0I+", "VALUE:3C" ], [ "4A", "3C", "0,0I+", "VALUE:3C" ], [ "4A", "3", "0,0I+", "VALUE:3C" ], [ "4A", "X", "0,0I+", "VALUE:3" ], [ "4B", "0", "0,0I+", "VALUE:3B" ], [ "4B", "1", "0,0I+", "VALUE:3B" ], [ "4B", "2A", "0,0I+", "VALUE:3B" ], [ "4B", "2B", "0,0I+", "VALUE:3B" ], [ "4B", "2", "0,0I+", "VALUE:3B" ], [ "4B", "3A", "0,0I+", "VALUE:3C" ], [ "4B", "3B", "0,0I+", "VALUE:3C" ], [ "4B", "3C", "0,0I+", "VALUE:3C" ], [ "4B", "3", "0,0I+", "VALUE:3C" ], [ "4B", "X", "0,0I+", "VALUE:3" ], [ "4C", "0", "0,0I+", "VALUE:3B" ], [ "4C", "1", "0,0I+", "VALUE:3B" ], [ "4C", "2A", "0,0I+", "VALUE:3B" ], [ "4C", "2B", "0,0I+", "VALUE:3B" ], [ "4C", "2", "0,0I+", "VALUE:3B" ], [ "4C", "3A", "0,0I+", "VALUE:3C" ], [ "4C", "3B", "0,0I+", "VALUE:3C" ], [ "4C", "3C", "0,0I+", "VALUE:3C" ], [ "4C", "3", "0,0I+", "VALUE:3C" ], [ "4C", "X", "0,0I+", "VALUE:3" ], [ "4D", "0", "0,0I+", "VALUE:3B" ], [ "4D", "1", "0,0I+", "VALUE:3B" ], [ "4D", "2A", "0,0I+", "VALUE:3B" ], [ "4D", "2B", "0,0I+", "VALUE:3B" ], [ "4D", "2", "0,0I+", "VALUE:3B" ], [ "4D", "3A", "0,0I+", "VALUE:3C" ], [ "4D", "3B", "0,0I+", "VALUE:3C" ], [ "4D", "3C", "0,0I+", "VALUE:3C" ], [ "4D", "3", "0,0I+", "VALUE:3C" ], [ "4D", "X", "0,0I+", "VALUE:3" ], [ "4", "0", "0,0I+", "VALUE:3B" ], [ "4", "1", "0,0I+", "VALUE:3B" ], [ "4", "2A", "0,0I+", "VALUE:3B" ], [ "4", "2B", "0,0I+", "VALUE:3B" ], [ "4", "2", "0,0I+", "VALUE:3B" ], [ "4", "3A", "0,0I+", "VALUE:3C" ], [ "4", "3B", "0,0I+", "VALUE:3C" ], [ "4", "3C", "0,0I+", "VALUE:3C" ], [ "4", "3", "0,0I+", "VALUE:3C" ], [ "4", "X", "0,0I+", "VALUE:3" ], [ "X", "0", "0,0I+", "VALUE:99" ], [ "X", "1", "0,0I+", "VALUE:99" ], [ "X", "2A", "0,0I+", "VALUE:3" ], [ "X", "2B", "0,0I+", "VALUE:3" ], [ "X", "2", "0,0I+", "VALUE:3" ], [ "X", "3A", "0,0I+", "VALUE:3C" ], [ "X", "3B", "0,0I+", "VALUE:3C" ], [ "X", "3C", "0,0I+", "VALUE:3C" ], [ "X", "3", "0,0I+", "VALUE:3C" ], [ "X", "X", "0,0I+", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2A", "1", "VALUE:4" ], [ "0", "2B", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3A", "1", "VALUE:4" ], [ "0", "3B", "1", "VALUE:4" ], [ "0", "3C", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR" ], [ "IS", "1", "1", "ERROR" ], [ "IS", "2A", "1", "ERROR" ], [ "IS", "2B", "1", "ERROR" ], [ "IS", "2", "1", "ERROR" ], [ "IS", "3A", "1", "ERROR" ], [ "IS", "3B", "1", "ERROR" ], [ "IS", "3C", "1", "ERROR" ], [ "IS", "3", "1", "ERROR" ], [ "IS", "X", "1", "ERROR" ], [ "1MI", "0", "1", "VALUE:4" ], [ "1MI", "1", "1", "VALUE:4" ], [ "1MI", "2A", "1", "VALUE:4" ], [ "1MI", "2B", "1", "VALUE:4" ], [ "1MI", "2", "1", "VALUE:4" ], [ "1MI", "3A", "1", "VALUE:4" ], [ "1MI", "3B", "1", "VALUE:4" ], [ "1MI", "3C", "1", "VALUE:4" ], [ "1MI", "3", "1", "VALUE:4" ], [ "1MI", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "2A", "1", "VALUE:4" ], [ "1A", "2B", "1", "VALUE:4" ], [ "1A", "2", "1", "VALUE:4" ], [ "1A", "3A", "1", "VALUE:4" ], [ "1A", "3B", "1", "VALUE:4" ], [ "1A", "3C", "1", "VALUE:4" ], [ "1A", "3", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "2A", "1", "VALUE:4" ], [ "1B", "2B", "1", "VALUE:4" ], [ "1B", "2", "1", "VALUE:4" ], [ "1B", "3A", "1", "VALUE:4" ], [ "1B", "3B", "1", "VALUE:4" ], [ "1B", "3C", "1", "VALUE:4" ], [ "1B", "3", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1C", "0", "1", "VALUE:4" ], [ "1C", "1", "1", "VALUE:4" ], [ "1C", "2A", "1", "VALUE:4" ], [ "1C", "2B", "1", "VALUE:4" ], [ "1C", "2", "1", "VALUE:4" ], [ "1C", "3A", "1", "VALUE:4" ], [ "1C", "3B", "1", "VALUE:4" ], [ "1C", "3C", "1", "VALUE:4" ], [ "1C", "3", "1", "VALUE:4" ], [ "1C", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2A", "1", "VALUE:4" ], [ "1", "2B", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3A", "1", "VALUE:4" ], [ "1", "3B", "1", "VALUE:4" ], [ "1", "3C", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2A", "1", "VALUE:4" ], [ "2", "2B", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3A", "1", "VALUE:4" ], [ "2", "3B", "1", "VALUE:4" ], [ "2", "3C", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2A", "1", "VALUE:4" ], [ "3", "2B", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3A", "1", "VALUE:4" ], [ "3", "3B", "1", "VALUE:4" ], [ "3", "3C", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4A", "0", "1", "VALUE:4" ], [ "4A", "1", "1", "VALUE:4" ], [ "4A", "2A", "1", "VALUE:4" ], [ "4A", "2B", "1", "VALUE:4" ], [ "4A", "2", "1", "VALUE:4" ], [ "4A", "3A", "1", "VALUE:4" ], [ "4A", "3B", "1", "VALUE:4" ], [ "4A", "3C", "1", "VALUE:4" ], [ "4A", "3", "1", "VALUE:4" ], [ "4A", "X", "1", "VALUE:4" ], [ "4B", "0", "1", "VALUE:4" ], [ "4B", "1", "1", "VALUE:4" ], [ "4B", "2A", "1", "VALUE:4" ], [ "4B", "2B", "1", "VALUE:4" ], [ "4B", "2", "1", "VALUE:4" ], [ "4B", "3A", "1", "VALUE:4" ], [ "4B", "3B", "1", "VALUE:4" ], [ "4B", "3C", "1", "VALUE:4" ], [ "4B", "3", "1", "VALUE:4" ], [ "4B", "X", "1", "VALUE:4" ], [ "4C", "0", "1", "VALUE:4" ], [ "4C", "1", "1", "VALUE:4" ], [ "4C", "2A", "1", "VALUE:4" ], [ "4C", "2B", "1", "VALUE:4" ], [ "4C", "2", "1", "VALUE:4" ], [ "4C", "3A", "1", "VALUE:4" ], [ "4C", "3B", "1", "VALUE:4" ], [ "4C", "3C", "1", "VALUE:4" ], [ "4C", "3", "1", "VALUE:4" ], [ "4C", "X", "1", "VALUE:4" ], [ "4D", "0", "1", "VALUE:4" ], [ "4D", "1", "1", "VALUE:4" ], [ "4D", "2A", "1", "VALUE:4" ], [ "4D", "2B", "1", "VALUE:4" ], [ "4D", "2", "1", "VALUE:4" ], [ "4D", "3A", "1", "VALUE:4" ], [ "4D", "3B", "1", "VALUE:4" ], [ "4D", "3C", "1", "VALUE:4" ], [ "4D", "3", "1", "VALUE:4" ], [ "4D", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2A", "1", "VALUE:4" ], [ "4", "2B", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3A", "1", "VALUE:4" ], [ "4", "3B", "1", "VALUE:4" ], [ "4", "3C", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2A", "1", "VALUE:4" ], [ "X", "2B", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3A", "1", "VALUE:4" ], [ "X", "3B", "1", "VALUE:4" ], [ "X", "3C", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uad.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uad.json deleted file mode 100644 index 4d34b2a0f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uad.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uad", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:00.617Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:4" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:2A" ], [ "1B", "1", "0", "VALUE:4" ], [ "1B", "X", "0", "VALUE:99" ], [ "1C", "0", "0", "VALUE:2A" ], [ "1C", "1", "0", "VALUE:4" ], [ "1C", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:99" ], [ "1", "1", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2A" ], [ "2A", "1", "0", "VALUE:4" ], [ "2A", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2A" ], [ "2", "1", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:2B" ], [ "3A", "1", "0", "VALUE:4" ], [ "3A", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2B" ], [ "3", "1", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:3A" ], [ "4A", "1", "0", "VALUE:4" ], [ "4A", "X", "0", "VALUE:99" ], [ "4B", "0", "0", "VALUE:3B" ], [ "4B", "1", "0", "VALUE:4" ], [ "4B", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1A", "VALUE:4" ], [ "0", "1", "1A", "VALUE:4" ], [ "0", "X", "1A", "VALUE:4" ], [ "1A", "0", "1A", "VALUE:4" ], [ "1A", "1", "1A", "VALUE:4" ], [ "1A", "X", "1A", "VALUE:4" ], [ "1B", "0", "1A", "VALUE:4" ], [ "1B", "1", "1A", "VALUE:4" ], [ "1B", "X", "1A", "VALUE:4" ], [ "1C", "0", "1A", "VALUE:4" ], [ "1C", "1", "1A", "VALUE:4" ], [ "1C", "X", "1A", "VALUE:4" ], [ "1", "0", "1A", "VALUE:4" ], [ "1", "1", "1A", "VALUE:4" ], [ "1", "X", "1A", "VALUE:4" ], [ "2A", "0", "1A", "VALUE:4" ], [ "2A", "1", "1A", "VALUE:4" ], [ "2A", "X", "1A", "VALUE:4" ], [ "2", "0", "1A", "VALUE:4" ], [ "2", "1", "1A", "VALUE:4" ], [ "2", "X", "1A", "VALUE:4" ], [ "3A", "0", "1A", "VALUE:4" ], [ "3A", "1", "1A", "VALUE:4" ], [ "3A", "X", "1A", "VALUE:4" ], [ "3", "0", "1A", "VALUE:4" ], [ "3", "1", "1A", "VALUE:4" ], [ "3", "X", "1A", "VALUE:4" ], [ "4A", "0", "1A", "VALUE:4" ], [ "4A", "1", "1A", "VALUE:4" ], [ "4A", "X", "1A", "VALUE:4" ], [ "4B", "0", "1A", "VALUE:4" ], [ "4B", "1", "1A", "VALUE:4" ], [ "4B", "X", "1A", "VALUE:4" ], [ "4", "0", "1A", "VALUE:4" ], [ "4", "1", "1A", "VALUE:4" ], [ "4", "X", "1A", "VALUE:4" ], [ "X", "0", "1A", "VALUE:4" ], [ "X", "1", "1A", "VALUE:4" ], [ "X", "X", "1A", "VALUE:4" ], [ "0", "0", "1B", "VALUE:4" ], [ "0", "1", "1B", "VALUE:4" ], [ "0", "X", "1B", "VALUE:4" ], [ "1A", "0", "1B", "VALUE:4" ], [ "1A", "1", "1B", "VALUE:4" ], [ "1A", "X", "1B", "VALUE:4" ], [ "1B", "0", "1B", "VALUE:4" ], [ "1B", "1", "1B", "VALUE:4" ], [ "1B", "X", "1B", "VALUE:4" ], [ "1C", "0", "1B", "VALUE:4" ], [ "1C", "1", "1B", "VALUE:4" ], [ "1C", "X", "1B", "VALUE:4" ], [ "1", "0", "1B", "VALUE:4" ], [ "1", "1", "1B", "VALUE:4" ], [ "1", "X", "1B", "VALUE:4" ], [ "2A", "0", "1B", "VALUE:4" ], [ "2A", "1", "1B", "VALUE:4" ], [ "2A", "X", "1B", "VALUE:4" ], [ "2", "0", "1B", "VALUE:4" ], [ "2", "1", "1B", "VALUE:4" ], [ "2", "X", "1B", "VALUE:4" ], [ "3A", "0", "1B", "VALUE:4" ], [ "3A", "1", "1B", "VALUE:4" ], [ "3A", "X", "1B", "VALUE:4" ], [ "3", "0", "1B", "VALUE:4" ], [ "3", "1", "1B", "VALUE:4" ], [ "3", "X", "1B", "VALUE:4" ], [ "4A", "0", "1B", "VALUE:4" ], [ "4A", "1", "1B", "VALUE:4" ], [ "4A", "X", "1B", "VALUE:4" ], [ "4B", "0", "1B", "VALUE:4" ], [ "4B", "1", "1B", "VALUE:4" ], [ "4B", "X", "1B", "VALUE:4" ], [ "4", "0", "1B", "VALUE:4" ], [ "4", "1", "1B", "VALUE:4" ], [ "4", "X", "1B", "VALUE:4" ], [ "X", "0", "1B", "VALUE:4" ], [ "X", "1", "1B", "VALUE:4" ], [ "X", "X", "1B", "VALUE:4" ], [ "0", "0", "1C", "VALUE:4" ], [ "0", "1", "1C", "VALUE:4" ], [ "0", "X", "1C", "VALUE:4" ], [ "1A", "0", "1C", "VALUE:4" ], [ "1A", "1", "1C", "VALUE:4" ], [ "1A", "X", "1C", "VALUE:4" ], [ "1B", "0", "1C", "VALUE:4" ], [ "1B", "1", "1C", "VALUE:4" ], [ "1B", "X", "1C", "VALUE:4" ], [ "1C", "0", "1C", "VALUE:4" ], [ "1C", "1", "1C", "VALUE:4" ], [ "1C", "X", "1C", "VALUE:4" ], [ "1", "0", "1C", "VALUE:4" ], [ "1", "1", "1C", "VALUE:4" ], [ "1", "X", "1C", "VALUE:4" ], [ "2A", "0", "1C", "VALUE:4" ], [ "2A", "1", "1C", "VALUE:4" ], [ "2A", "X", "1C", "VALUE:4" ], [ "2", "0", "1C", "VALUE:4" ], [ "2", "1", "1C", "VALUE:4" ], [ "2", "X", "1C", "VALUE:4" ], [ "3A", "0", "1C", "VALUE:4" ], [ "3A", "1", "1C", "VALUE:4" ], [ "3A", "X", "1C", "VALUE:4" ], [ "3", "0", "1C", "VALUE:4" ], [ "3", "1", "1C", "VALUE:4" ], [ "3", "X", "1C", "VALUE:4" ], [ "4A", "0", "1C", "VALUE:4" ], [ "4A", "1", "1C", "VALUE:4" ], [ "4A", "X", "1C", "VALUE:4" ], [ "4B", "0", "1C", "VALUE:4" ], [ "4B", "1", "1C", "VALUE:4" ], [ "4B", "X", "1C", "VALUE:4" ], [ "4", "0", "1C", "VALUE:4" ], [ "4", "1", "1C", "VALUE:4" ], [ "4", "X", "1C", "VALUE:4" ], [ "X", "0", "1C", "VALUE:4" ], [ "X", "1", "1C", "VALUE:4" ], [ "X", "X", "1C", "VALUE:4" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1C", "0", "1", "VALUE:4" ], [ "1C", "1", "1", "VALUE:4" ], [ "1C", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4A", "0", "1", "VALUE:4" ], [ "4A", "1", "1", "VALUE:4" ], [ "4A", "X", "1", "VALUE:4" ], [ "4B", "0", "1", "VALUE:4" ], [ "4B", "1", "1", "VALUE:4" ], [ "4B", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uae.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uae.json deleted file mode 100644 index 117af25eb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uae.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uae", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.854Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2", "0", "VALUE:99" ], [ "0", "3A", "0", "VALUE:4B" ], [ "0", "3B", "0", "VALUE:4B" ], [ "0", "3", "0", "VALUE:4B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "3A", "0", "ERROR:" ], [ "IS", "3B", "0", "ERROR:" ], [ "IS", "3", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:2" ], [ "1", "2", "0", "VALUE:3" ], [ "1", "3A", "0", "VALUE:4B" ], [ "1", "3B", "0", "VALUE:4B" ], [ "1", "3", "0", "VALUE:4B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:2" ], [ "2", "2", "0", "VALUE:3" ], [ "2", "3A", "0", "VALUE:4B" ], [ "2", "3B", "0", "VALUE:4B" ], [ "2", "3", "0", "VALUE:4B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "2", "0", "VALUE:3" ], [ "3", "3A", "0", "VALUE:4B" ], [ "3", "3B", "0", "VALUE:4B" ], [ "3", "3", "0", "VALUE:4B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "2", "0", "VALUE:4A" ], [ "4", "3A", "0", "VALUE:4B" ], [ "4", "3B", "0", "VALUE:4B" ], [ "4", "3", "0", "VALUE:4B" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:99" ], [ "X", "3A", "0", "VALUE:4B" ], [ "X", "3B", "0", "VALUE:4B" ], [ "X", "3", "0", "VALUE:4B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4C" ], [ "0", "1", "1", "VALUE:4C" ], [ "0", "2", "1", "VALUE:4C" ], [ "0", "3A", "1", "VALUE:4C" ], [ "0", "3B", "1", "VALUE:4C" ], [ "0", "3", "1", "VALUE:4C" ], [ "0", "X", "1", "VALUE:4C" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "3A", "1", "ERROR:" ], [ "IS", "3B", "1", "ERROR:" ], [ "IS", "3", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4C" ], [ "1", "1", "1", "VALUE:4C" ], [ "1", "2", "1", "VALUE:4C" ], [ "1", "3A", "1", "VALUE:4C" ], [ "1", "3B", "1", "VALUE:4C" ], [ "1", "3", "1", "VALUE:4C" ], [ "1", "X", "1", "VALUE:4C" ], [ "2", "0", "1", "VALUE:4C" ], [ "2", "1", "1", "VALUE:4C" ], [ "2", "2", "1", "VALUE:4C" ], [ "2", "3A", "1", "VALUE:4C" ], [ "2", "3B", "1", "VALUE:4C" ], [ "2", "3", "1", "VALUE:4C" ], [ "2", "X", "1", "VALUE:4C" ], [ "3", "0", "1", "VALUE:4C" ], [ "3", "1", "1", "VALUE:4C" ], [ "3", "2", "1", "VALUE:4C" ], [ "3", "3A", "1", "VALUE:4C" ], [ "3", "3B", "1", "VALUE:4C" ], [ "3", "3", "1", "VALUE:4C" ], [ "3", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "2", "1", "VALUE:4C" ], [ "4", "3A", "1", "VALUE:4C" ], [ "4", "3B", "1", "VALUE:4C" ], [ "4", "3", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "X", "0", "1", "VALUE:4C" ], [ "X", "1", "1", "VALUE:4C" ], [ "X", "2", "1", "VALUE:4C" ], [ "X", "3A", "1", "VALUE:4C" ], [ "X", "3B", "1", "VALUE:4C" ], [ "X", "3", "1", "VALUE:4C" ], [ "X", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaf.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaf.json deleted file mode 100644 index 469810cb0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaf.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uaf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:01.739Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1A" ], [ "1", "1", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:1B" ], [ "2A", "1", "0", "VALUE:3B" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:1C" ], [ "2B", "1", "0", "VALUE:3B" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:1" ], [ "2", "1", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:2" ], [ "3A", "1", "0", "VALUE:3B" ], [ "3A", "X", "0", "VALUE:99" ], [ "3B", "0", "0", "VALUE:3A" ], [ "3B", "1", "0", "VALUE:3B" ], [ "3B", "X", "0", "VALUE:3" ], [ "3", "0", "0", "VALUE:99" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3C" ], [ "4", "1", "0", "VALUE:3C" ], [ "4", "X", "0", "VALUE:3C" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uak.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uak.json deleted file mode 100644 index c72b88ec2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uak.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uak", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:01.177Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:3" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1", "0", "VALUE:3" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3" ], [ "4", "1", "0", "VALUE:3" ], [ "4", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ual.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ual.json deleted file mode 100644 index ccebfb15e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ual.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ual", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.275Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3A" ], [ "0", "2", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:3A" ], [ "1A", "2", "0", "VALUE:3B" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1", "0", "VALUE:3A" ], [ "1B", "2", "0", "VALUE:3B" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3A" ], [ "1", "2", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:1" ], [ "2", "1", "0", "VALUE:3A" ], [ "2", "2", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2A" ], [ "3", "1", "0", "VALUE:3A" ], [ "3", "2", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:2B" ], [ "4", "1", "0", "VALUE:3A" ], [ "4", "2", "0", "VALUE:3B" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3A" ], [ "X", "2", "0", "VALUE:3B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uam.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uam.json deleted file mode 100644 index 9f08f53fb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uam.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uam", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:03.576Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2", "0", "VALUE:99" ], [ "0", "3A", "0", "VALUE:99" ], [ "0", "3B", "0", "VALUE:99" ], [ "0", "3", "0", "VALUE:99" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "3A", "0", "ERROR:" ], [ "IS", "3B", "0", "ERROR:" ], [ "IS", "3", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:1B" ], [ "1A", "2", "0", "VALUE:2A" ], [ "1A", "3A", "0", "VALUE:2B" ], [ "1A", "3B", "0", "VALUE:2B" ], [ "1A", "3", "0", "VALUE:2B" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1A" ], [ "1B", "1", "0", "VALUE:1B" ], [ "1B", "2", "0", "VALUE:2A" ], [ "1B", "3A", "0", "VALUE:2B" ], [ "1B", "3B", "0", "VALUE:2B" ], [ "1B", "3", "0", "VALUE:2B" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1A" ], [ "1", "1", "0", "VALUE:1B" ], [ "1", "2", "0", "VALUE:2A" ], [ "1", "3A", "0", "VALUE:2B" ], [ "1", "3B", "0", "VALUE:2B" ], [ "1", "3", "0", "VALUE:2B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:1B" ], [ "2", "1", "0", "VALUE:2A" ], [ "2", "2", "0", "VALUE:2B" ], [ "2", "3A", "0", "VALUE:3A" ], [ "2", "3B", "0", "VALUE:3A" ], [ "2", "3", "0", "VALUE:3A" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2A" ], [ "3", "1", "0", "VALUE:2B" ], [ "3", "2", "0", "VALUE:3A" ], [ "3", "3A", "0", "VALUE:3B" ], [ "3", "3B", "0", "VALUE:3B" ], [ "3", "3", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:2B" ], [ "4A", "1", "0", "VALUE:3A" ], [ "4A", "2", "0", "VALUE:3B" ], [ "4A", "3A", "0", "VALUE:3C" ], [ "4A", "3B", "0", "VALUE:3C" ], [ "4A", "3", "0", "VALUE:3C" ], [ "4A", "X", "0", "VALUE:99" ], [ "4B", "0", "0", "VALUE:3B" ], [ "4B", "1", "0", "VALUE:3B" ], [ "4B", "2", "0", "VALUE:3C" ], [ "4B", "3A", "0", "VALUE:3C" ], [ "4B", "3B", "0", "VALUE:3C" ], [ "4B", "3", "0", "VALUE:3C" ], [ "4B", "X", "0", "VALUE:3" ], [ "4", "0", "0", "VALUE:2B" ], [ "4", "1", "0", "VALUE:3A" ], [ "4", "2", "0", "VALUE:3B" ], [ "4", "3A", "0", "VALUE:3C" ], [ "4", "3B", "0", "VALUE:3C" ], [ "4", "3", "0", "VALUE:3C" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:99" ], [ "X", "3A", "0", "VALUE:99" ], [ "X", "3B", "0", "VALUE:99" ], [ "X", "3", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3A", "1", "VALUE:4" ], [ "0", "3B", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "3A", "1", "ERROR:" ], [ "IS", "3B", "1", "ERROR:" ], [ "IS", "3", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "VALUE:4" ], [ "1A", "3A", "1", "VALUE:4" ], [ "1A", "3B", "1", "VALUE:4" ], [ "1A", "3", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "VALUE:4" ], [ "1B", "3A", "1", "VALUE:4" ], [ "1B", "3B", "1", "VALUE:4" ], [ "1B", "3", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3A", "1", "VALUE:4" ], [ "1", "3B", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3A", "1", "VALUE:4" ], [ "2", "3B", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3A", "1", "VALUE:4" ], [ "3", "3B", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4A", "0", "1", "VALUE:4" ], [ "4A", "1", "1", "VALUE:4" ], [ "4A", "2", "1", "VALUE:4" ], [ "4A", "3A", "1", "VALUE:4" ], [ "4A", "3B", "1", "VALUE:4" ], [ "4A", "3", "1", "VALUE:4" ], [ "4A", "X", "1", "VALUE:4" ], [ "4B", "0", "1", "VALUE:4" ], [ "4B", "1", "1", "VALUE:4" ], [ "4B", "2", "1", "VALUE:4" ], [ "4B", "3A", "1", "VALUE:4" ], [ "4B", "3B", "1", "VALUE:4" ], [ "4B", "3", "1", "VALUE:4" ], [ "4B", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3A", "1", "VALUE:4" ], [ "4", "3B", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3A", "1", "VALUE:4" ], [ "X", "3B", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uao.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uao.json deleted file mode 100644 index af9d13ca2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uao.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uao", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:03.398Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2A" ], [ "2", "1", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2B" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3A" ], [ "4", "1", "0", "VALUE:3B" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaq.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaq.json deleted file mode 100644 index c15ec36ec..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaq.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uaq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:01.796Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3" ], [ "0", "2", "0", "VALUE:3" ], [ "0", "3", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3" ], [ "1A", "2", "0", "VALUE:3" ], [ "1A", "3", "0", "VALUE:4" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3" ], [ "1B", "2", "0", "VALUE:3" ], [ "1B", "3", "0", "VALUE:4" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "2", "0", "VALUE:3" ], [ "1", "3", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "2", "0", "VALUE:3" ], [ "2", "3", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "2", "0", "VALUE:3" ], [ "3", "3", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3" ], [ "X", "2", "0", "VALUE:3" ], [ "X", "3", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "VALUE:4" ], [ "1A", "3", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "VALUE:4" ], [ "1B", "3", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uar.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uar.json deleted file mode 100644 index 7f5b99293..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uar.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm7_stage_uar", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.214Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "c", - "name" : "C", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "C1", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "C2", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "C3", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "C4", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "CX", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "C1", "VALUE:3" ], [ "0", "1", "0", "C2", "VALUE:3" ], [ "0", "1", "0", "C3", "VALUE:3" ], [ "0", "1", "0", "C4", "VALUE:3" ], [ "0", "1", "0", "CX", "VALUE:3" ], [ "0", "2", "0", "C1", "VALUE:3C" ], [ "0", "2", "0", "C2", "VALUE:3C" ], [ "0", "2", "0", "C3", "VALUE:3C" ], [ "0", "2", "0", "C4", "VALUE:3C" ], [ "0", "2", "0", "CX", "VALUE:3C" ], [ "0", "X", "0", "C1", "VALUE:99" ], [ "0", "X", "0", "C2", "VALUE:99" ], [ "0", "X", "0", "C3", "VALUE:99" ], [ "0", "X", "0", "C4", "VALUE:99" ], [ "0", "X", "0", "CX", "VALUE:99" ], [ "IS", "0", "0", "C1", "VALUE:0" ], [ "IS", "0", "0", "C2", "VALUE:0" ], [ "IS", "0", "0", "C3", "VALUE:0" ], [ "IS", "0", "0", "C4", "VALUE:0" ], [ "IS", "0", "0", "CX", "VALUE:0" ], [ "IS", "1", "0", "C1", "ERROR:" ], [ "IS", "1", "0", "C2", "ERROR:" ], [ "IS", "1", "0", "C3", "ERROR:" ], [ "IS", "1", "0", "C4", "ERROR:" ], [ "IS", "1", "0", "CX", "ERROR:" ], [ "IS", "2", "0", "C1", "ERROR:" ], [ "IS", "2", "0", "C2", "ERROR:" ], [ "IS", "2", "0", "C3", "ERROR:" ], [ "IS", "2", "0", "C4", "ERROR:" ], [ "IS", "2", "0", "CX", "ERROR:" ], [ "IS", "X", "0", "C1", "VALUE:0" ], [ "IS", "X", "0", "C2", "VALUE:0" ], [ "IS", "X", "0", "C3", "VALUE:0" ], [ "IS", "X", "0", "C4", "VALUE:0" ], [ "IS", "X", "0", "CX", "VALUE:0" ], [ "1", "0", "0", "C1", "VALUE:1" ], [ "1", "0", "0", "C2", "VALUE:1" ], [ "1", "0", "0", "C3", "VALUE:1" ], [ "1", "0", "0", "C4", "VALUE:1" ], [ "1", "0", "0", "CX", "VALUE:1" ], [ "1", "1", "0", "C1", "VALUE:3A" ], [ "1", "1", "0", "C2", "VALUE:3A" ], [ "1", "1", "0", "C3", "VALUE:3A" ], [ "1", "1", "0", "C4", "VALUE:3A" ], [ "1", "1", "0", "CX", "VALUE:3A" ], [ "1", "2", "0", "C1", "VALUE:3C" ], [ "1", "2", "0", "C2", "VALUE:3C" ], [ "1", "2", "0", "C3", "VALUE:3C" ], [ "1", "2", "0", "C4", "VALUE:3C" ], [ "1", "2", "0", "CX", "VALUE:3C" ], [ "1", "X", "0", "C1", "VALUE:99" ], [ "1", "X", "0", "C2", "VALUE:99" ], [ "1", "X", "0", "C3", "VALUE:99" ], [ "1", "X", "0", "C4", "VALUE:99" ], [ "1", "X", "0", "CX", "VALUE:99" ], [ "2", "0", "0", "C1", "VALUE:1" ], [ "2", "0", "0", "C2", "VALUE:1" ], [ "2", "0", "0", "C3", "VALUE:1" ], [ "2", "0", "0", "C4", "VALUE:1" ], [ "2", "0", "0", "CX", "VALUE:1" ], [ "2", "1", "0", "C1", "VALUE:3A" ], [ "2", "1", "0", "C2", "VALUE:3A" ], [ "2", "1", "0", "C3", "VALUE:3A" ], [ "2", "1", "0", "C4", "VALUE:3A" ], [ "2", "1", "0", "CX", "VALUE:3A" ], [ "2", "2", "0", "C1", "VALUE:3C" ], [ "2", "2", "0", "C2", "VALUE:3C" ], [ "2", "2", "0", "C3", "VALUE:3C" ], [ "2", "2", "0", "C4", "VALUE:3C" ], [ "2", "2", "0", "CX", "VALUE:3C" ], [ "2", "X", "0", "C1", "VALUE:99" ], [ "2", "X", "0", "C2", "VALUE:99" ], [ "2", "X", "0", "C3", "VALUE:99" ], [ "2", "X", "0", "C4", "VALUE:99" ], [ "2", "X", "0", "CX", "VALUE:99" ], [ "3", "0", "0", "C1", "VALUE:2A" ], [ "3", "0", "0", "C2", "VALUE:2A" ], [ "3", "0", "0", "C3", "VALUE:2A" ], [ "3", "0", "0", "C4", "VALUE:2A" ], [ "3", "0", "0", "CX", "VALUE:2A" ], [ "3", "1", "0", "C1", "VALUE:3B" ], [ "3", "1", "0", "C2", "VALUE:3B" ], [ "3", "1", "0", "C3", "VALUE:3B" ], [ "3", "1", "0", "C4", "VALUE:3B" ], [ "3", "1", "0", "CX", "VALUE:3B" ], [ "3", "2", "0", "C1", "VALUE:3C" ], [ "3", "2", "0", "C2", "VALUE:3C" ], [ "3", "2", "0", "C3", "VALUE:3C" ], [ "3", "2", "0", "C4", "VALUE:3C" ], [ "3", "2", "0", "CX", "VALUE:3C" ], [ "3", "X", "0", "C1", "VALUE:99" ], [ "3", "X", "0", "C2", "VALUE:99" ], [ "3", "X", "0", "C3", "VALUE:99" ], [ "3", "X", "0", "C4", "VALUE:99" ], [ "3", "X", "0", "CX", "VALUE:99" ], [ "4A", "0", "0", "C1", "VALUE:2B" ], [ "4A", "0", "0", "C2", "VALUE:2B" ], [ "4A", "0", "0", "C3", "VALUE:2B" ], [ "4A", "0", "0", "C4", "VALUE:2B" ], [ "4A", "0", "0", "CX", "VALUE:2B" ], [ "4A", "1", "0", "C1", "VALUE:3B" ], [ "4A", "1", "0", "C2", "VALUE:3B" ], [ "4A", "1", "0", "C3", "VALUE:3B" ], [ "4A", "1", "0", "C4", "VALUE:3B" ], [ "4A", "1", "0", "CX", "VALUE:3B" ], [ "4A", "2", "0", "C1", "VALUE:3C" ], [ "4A", "2", "0", "C2", "VALUE:3C" ], [ "4A", "2", "0", "C3", "VALUE:3C" ], [ "4A", "2", "0", "C4", "VALUE:3C" ], [ "4A", "2", "0", "CX", "VALUE:3C" ], [ "4A", "X", "0", "C1", "VALUE:99" ], [ "4A", "X", "0", "C2", "VALUE:99" ], [ "4A", "X", "0", "C3", "VALUE:99" ], [ "4A", "X", "0", "C4", "VALUE:99" ], [ "4A", "X", "0", "CX", "VALUE:99" ], [ "4B", "0", "0", "C1", "VALUE:2C" ], [ "4B", "0", "0", "C2", "VALUE:2C" ], [ "4B", "0", "0", "C3", "VALUE:2C" ], [ "4B", "0", "0", "C4", "VALUE:2C" ], [ "4B", "0", "0", "CX", "VALUE:2C" ], [ "4B", "1", "0", "C1", "VALUE:3B" ], [ "4B", "1", "0", "C2", "VALUE:3B" ], [ "4B", "1", "0", "C3", "VALUE:3B" ], [ "4B", "1", "0", "C4", "VALUE:3B" ], [ "4B", "1", "0", "CX", "VALUE:3B" ], [ "4B", "2", "0", "C1", "VALUE:3C" ], [ "4B", "2", "0", "C2", "VALUE:3C" ], [ "4B", "2", "0", "C3", "VALUE:3C" ], [ "4B", "2", "0", "C4", "VALUE:3C" ], [ "4B", "2", "0", "CX", "VALUE:3C" ], [ "4B", "X", "0", "C1", "VALUE:99" ], [ "4B", "X", "0", "C2", "VALUE:99" ], [ "4B", "X", "0", "C3", "VALUE:99" ], [ "4B", "X", "0", "C4", "VALUE:99" ], [ "4B", "X", "0", "CX", "VALUE:99" ], [ "4", "0", "0", "C1", "VALUE:2" ], [ "4", "0", "0", "C2", "VALUE:2" ], [ "4", "0", "0", "C3", "VALUE:2" ], [ "4", "0", "0", "C4", "VALUE:2" ], [ "4", "0", "0", "CX", "VALUE:2" ], [ "4", "1", "0", "C1", "VALUE:3B" ], [ "4", "1", "0", "C2", "VALUE:3B" ], [ "4", "1", "0", "C3", "VALUE:3B" ], [ "4", "1", "0", "C4", "VALUE:3B" ], [ "4", "1", "0", "CX", "VALUE:3B" ], [ "4", "2", "0", "C1", "VALUE:3C" ], [ "4", "2", "0", "C2", "VALUE:3C" ], [ "4", "2", "0", "C3", "VALUE:3C" ], [ "4", "2", "0", "C4", "VALUE:3C" ], [ "4", "2", "0", "CX", "VALUE:3C" ], [ "4", "X", "0", "C1", "VALUE:99" ], [ "4", "X", "0", "C2", "VALUE:99" ], [ "4", "X", "0", "C3", "VALUE:99" ], [ "4", "X", "0", "C4", "VALUE:99" ], [ "4", "X", "0", "CX", "VALUE:99" ], [ "X", "0", "0", "C1", "VALUE:99" ], [ "X", "0", "0", "C2", "VALUE:99" ], [ "X", "0", "0", "C3", "VALUE:99" ], [ "X", "0", "0", "C4", "VALUE:99" ], [ "X", "0", "0", "CX", "VALUE:99" ], [ "X", "1", "0", "C1", "VALUE:3" ], [ "X", "1", "0", "C2", "VALUE:3" ], [ "X", "1", "0", "C3", "VALUE:3" ], [ "X", "1", "0", "C4", "VALUE:3" ], [ "X", "1", "0", "CX", "VALUE:3" ], [ "X", "2", "0", "C1", "VALUE:3C" ], [ "X", "2", "0", "C2", "VALUE:3C" ], [ "X", "2", "0", "C3", "VALUE:3C" ], [ "X", "2", "0", "C4", "VALUE:3C" ], [ "X", "2", "0", "CX", "VALUE:3C" ], [ "X", "X", "0", "C1", "VALUE:99" ], [ "X", "X", "0", "C2", "VALUE:99" ], [ "X", "X", "0", "C3", "VALUE:99" ], [ "X", "X", "0", "C4", "VALUE:99" ], [ "X", "X", "0", "CX", "VALUE:99" ], [ "0", "0", "1A", "C1", "VALUE:4A" ], [ "0", "0", "1A", "C2", "VALUE:4B" ], [ "0", "0", "1A", "C3", "VALUE:4B" ], [ "0", "0", "1A", "C4", "VALUE:4B" ], [ "0", "0", "1A", "CX", "VALUE:4A" ], [ "0", "1", "1A", "C1", "VALUE:4B" ], [ "0", "1", "1A", "C2", "VALUE:4B" ], [ "0", "1", "1A", "C3", "VALUE:4B" ], [ "0", "1", "1A", "C4", "VALUE:4B" ], [ "0", "1", "1A", "CX", "VALUE:4B" ], [ "0", "2", "1A", "C1", "VALUE:4B" ], [ "0", "2", "1A", "C2", "VALUE:4B" ], [ "0", "2", "1A", "C3", "VALUE:4B" ], [ "0", "2", "1A", "C4", "VALUE:4B" ], [ "0", "2", "1A", "CX", "VALUE:4B" ], [ "0", "X", "1A", "C1", "VALUE:4" ], [ "0", "X", "1A", "C2", "VALUE:4" ], [ "0", "X", "1A", "C3", "VALUE:4" ], [ "0", "X", "1A", "C4", "VALUE:4" ], [ "0", "X", "1A", "CX", "VALUE:4" ], [ "IS", "0", "1A", "C1", "ERROR:" ], [ "IS", "0", "1A", "C2", "ERROR:" ], [ "IS", "0", "1A", "C3", "ERROR:" ], [ "IS", "0", "1A", "C4", "ERROR:" ], [ "IS", "0", "1A", "CX", "ERROR:" ], [ "IS", "1", "1A", "C1", "ERROR:" ], [ "IS", "1", "1A", "C2", "ERROR:" ], [ "IS", "1", "1A", "C3", "ERROR:" ], [ "IS", "1", "1A", "C4", "ERROR:" ], [ "IS", "1", "1A", "CX", "ERROR:" ], [ "IS", "2", "1A", "C1", "ERROR:" ], [ "IS", "2", "1A", "C2", "ERROR:" ], [ "IS", "2", "1A", "C3", "ERROR:" ], [ "IS", "2", "1A", "C4", "ERROR:" ], [ "IS", "2", "1A", "CX", "ERROR:" ], [ "IS", "X", "1A", "C1", "ERROR:" ], [ "IS", "X", "1A", "C2", "ERROR:" ], [ "IS", "X", "1A", "C3", "ERROR:" ], [ "IS", "X", "1A", "C4", "ERROR:" ], [ "IS", "X", "1A", "CX", "ERROR:" ], [ "1", "0", "1A", "C1", "VALUE:4A" ], [ "1", "0", "1A", "C2", "VALUE:4B" ], [ "1", "0", "1A", "C3", "VALUE:4B" ], [ "1", "0", "1A", "C4", "VALUE:4B" ], [ "1", "0", "1A", "CX", "VALUE:4A" ], [ "1", "1", "1A", "C1", "VALUE:4B" ], [ "1", "1", "1A", "C2", "VALUE:4B" ], [ "1", "1", "1A", "C3", "VALUE:4B" ], [ "1", "1", "1A", "C4", "VALUE:4B" ], [ "1", "1", "1A", "CX", "VALUE:4B" ], [ "1", "2", "1A", "C1", "VALUE:4B" ], [ "1", "2", "1A", "C2", "VALUE:4B" ], [ "1", "2", "1A", "C3", "VALUE:4B" ], [ "1", "2", "1A", "C4", "VALUE:4B" ], [ "1", "2", "1A", "CX", "VALUE:4B" ], [ "1", "X", "1A", "C1", "VALUE:4" ], [ "1", "X", "1A", "C2", "VALUE:4" ], [ "1", "X", "1A", "C3", "VALUE:4" ], [ "1", "X", "1A", "C4", "VALUE:4" ], [ "1", "X", "1A", "CX", "VALUE:4" ], [ "2", "0", "1A", "C1", "VALUE:4A" ], [ "2", "0", "1A", "C2", "VALUE:4B" ], [ "2", "0", "1A", "C3", "VALUE:4B" ], [ "2", "0", "1A", "C4", "VALUE:4B" ], [ "2", "0", "1A", "CX", "VALUE:4A" ], [ "2", "1", "1A", "C1", "VALUE:4B" ], [ "2", "1", "1A", "C2", "VALUE:4B" ], [ "2", "1", "1A", "C3", "VALUE:4B" ], [ "2", "1", "1A", "C4", "VALUE:4B" ], [ "2", "1", "1A", "CX", "VALUE:4B" ], [ "2", "2", "1A", "C1", "VALUE:4B" ], [ "2", "2", "1A", "C2", "VALUE:4B" ], [ "2", "2", "1A", "C3", "VALUE:4B" ], [ "2", "2", "1A", "C4", "VALUE:4B" ], [ "2", "2", "1A", "CX", "VALUE:4B" ], [ "2", "X", "1A", "C1", "VALUE:4" ], [ "2", "X", "1A", "C2", "VALUE:4" ], [ "2", "X", "1A", "C3", "VALUE:4" ], [ "2", "X", "1A", "C4", "VALUE:4" ], [ "2", "X", "1A", "CX", "VALUE:4" ], [ "3", "0", "1A", "C1", "VALUE:4A" ], [ "3", "0", "1A", "C2", "VALUE:4B" ], [ "3", "0", "1A", "C3", "VALUE:4B" ], [ "3", "0", "1A", "C4", "VALUE:4B" ], [ "3", "0", "1A", "CX", "VALUE:4A" ], [ "3", "1", "1A", "C1", "VALUE:4B" ], [ "3", "1", "1A", "C2", "VALUE:4B" ], [ "3", "1", "1A", "C3", "VALUE:4B" ], [ "3", "1", "1A", "C4", "VALUE:4B" ], [ "3", "1", "1A", "CX", "VALUE:4B" ], [ "3", "2", "1A", "C1", "VALUE:4B" ], [ "3", "2", "1A", "C2", "VALUE:4B" ], [ "3", "2", "1A", "C3", "VALUE:4B" ], [ "3", "2", "1A", "C4", "VALUE:4B" ], [ "3", "2", "1A", "CX", "VALUE:4B" ], [ "3", "X", "1A", "C1", "VALUE:4" ], [ "3", "X", "1A", "C2", "VALUE:4" ], [ "3", "X", "1A", "C3", "VALUE:4" ], [ "3", "X", "1A", "C4", "VALUE:4" ], [ "3", "X", "1A", "CX", "VALUE:4" ], [ "4A", "0", "1A", "C1", "VALUE:4A" ], [ "4A", "0", "1A", "C2", "VALUE:4B" ], [ "4A", "0", "1A", "C3", "VALUE:4B" ], [ "4A", "0", "1A", "C4", "VALUE:4B" ], [ "4A", "0", "1A", "CX", "VALUE:4A" ], [ "4A", "1", "1A", "C1", "VALUE:4B" ], [ "4A", "1", "1A", "C2", "VALUE:4B" ], [ "4A", "1", "1A", "C3", "VALUE:4B" ], [ "4A", "1", "1A", "C4", "VALUE:4B" ], [ "4A", "1", "1A", "CX", "VALUE:4B" ], [ "4A", "2", "1A", "C1", "VALUE:4B" ], [ "4A", "2", "1A", "C2", "VALUE:4B" ], [ "4A", "2", "1A", "C3", "VALUE:4B" ], [ "4A", "2", "1A", "C4", "VALUE:4B" ], [ "4A", "2", "1A", "CX", "VALUE:4B" ], [ "4A", "X", "1A", "C1", "VALUE:4" ], [ "4A", "X", "1A", "C2", "VALUE:4" ], [ "4A", "X", "1A", "C3", "VALUE:4" ], [ "4A", "X", "1A", "C4", "VALUE:4" ], [ "4A", "X", "1A", "CX", "VALUE:4" ], [ "4B", "0", "1A", "C1", "VALUE:4A" ], [ "4B", "0", "1A", "C2", "VALUE:4B" ], [ "4B", "0", "1A", "C3", "VALUE:4B" ], [ "4B", "0", "1A", "C4", "VALUE:4B" ], [ "4B", "0", "1A", "CX", "VALUE:4A" ], [ "4B", "1", "1A", "C1", "VALUE:4B" ], [ "4B", "1", "1A", "C2", "VALUE:4B" ], [ "4B", "1", "1A", "C3", "VALUE:4B" ], [ "4B", "1", "1A", "C4", "VALUE:4B" ], [ "4B", "1", "1A", "CX", "VALUE:4B" ], [ "4B", "2", "1A", "C1", "VALUE:4B" ], [ "4B", "2", "1A", "C2", "VALUE:4B" ], [ "4B", "2", "1A", "C3", "VALUE:4B" ], [ "4B", "2", "1A", "C4", "VALUE:4B" ], [ "4B", "2", "1A", "CX", "VALUE:4B" ], [ "4B", "X", "1A", "C1", "VALUE:4" ], [ "4B", "X", "1A", "C2", "VALUE:4" ], [ "4B", "X", "1A", "C3", "VALUE:4" ], [ "4B", "X", "1A", "C4", "VALUE:4" ], [ "4B", "X", "1A", "CX", "VALUE:4" ], [ "4", "0", "1A", "C1", "VALUE:4A" ], [ "4", "0", "1A", "C2", "VALUE:4B" ], [ "4", "0", "1A", "C3", "VALUE:4B" ], [ "4", "0", "1A", "C4", "VALUE:4B" ], [ "4", "0", "1A", "CX", "VALUE:4A" ], [ "4", "1", "1A", "C1", "VALUE:4B" ], [ "4", "1", "1A", "C2", "VALUE:4B" ], [ "4", "1", "1A", "C3", "VALUE:4B" ], [ "4", "1", "1A", "C4", "VALUE:4B" ], [ "4", "1", "1A", "CX", "VALUE:4B" ], [ "4", "2", "1A", "C1", "VALUE:4B" ], [ "4", "2", "1A", "C2", "VALUE:4B" ], [ "4", "2", "1A", "C3", "VALUE:4B" ], [ "4", "2", "1A", "C4", "VALUE:4B" ], [ "4", "2", "1A", "CX", "VALUE:4B" ], [ "4", "X", "1A", "C1", "VALUE:4" ], [ "4", "X", "1A", "C2", "VALUE:4" ], [ "4", "X", "1A", "C3", "VALUE:4" ], [ "4", "X", "1A", "C4", "VALUE:4" ], [ "4", "X", "1A", "CX", "VALUE:4" ], [ "X", "0", "1A", "C1", "VALUE:4A" ], [ "X", "0", "1A", "C2", "VALUE:4B" ], [ "X", "0", "1A", "C3", "VALUE:4B" ], [ "X", "0", "1A", "C4", "VALUE:4B" ], [ "X", "0", "1A", "CX", "VALUE:4A" ], [ "X", "1", "1A", "C1", "VALUE:4B" ], [ "X", "1", "1A", "C2", "VALUE:4B" ], [ "X", "1", "1A", "C3", "VALUE:4B" ], [ "X", "1", "1A", "C4", "VALUE:4B" ], [ "X", "1", "1A", "CX", "VALUE:4B" ], [ "X", "2", "1A", "C1", "VALUE:4B" ], [ "X", "2", "1A", "C2", "VALUE:4B" ], [ "X", "2", "1A", "C3", "VALUE:4B" ], [ "X", "2", "1A", "C4", "VALUE:4B" ], [ "X", "2", "1A", "CX", "VALUE:4B" ], [ "X", "X", "1A", "C1", "VALUE:4" ], [ "X", "X", "1A", "C2", "VALUE:4" ], [ "X", "X", "1A", "C3", "VALUE:4" ], [ "X", "X", "1A", "C4", "VALUE:4" ], [ "X", "X", "1A", "CX", "VALUE:4" ], [ "0", "0", "1B", "C1", "VALUE:4C" ], [ "0", "0", "1B", "C2", "VALUE:4C" ], [ "0", "0", "1B", "C3", "VALUE:4C" ], [ "0", "0", "1B", "C4", "VALUE:4C" ], [ "0", "0", "1B", "CX", "VALUE:4C" ], [ "0", "1", "1B", "C1", "VALUE:4C" ], [ "0", "1", "1B", "C2", "VALUE:4C" ], [ "0", "1", "1B", "C3", "VALUE:4C" ], [ "0", "1", "1B", "C4", "VALUE:4C" ], [ "0", "1", "1B", "CX", "VALUE:4C" ], [ "0", "2", "1B", "C1", "VALUE:4C" ], [ "0", "2", "1B", "C2", "VALUE:4C" ], [ "0", "2", "1B", "C3", "VALUE:4C" ], [ "0", "2", "1B", "C4", "VALUE:4C" ], [ "0", "2", "1B", "CX", "VALUE:4C" ], [ "0", "X", "1B", "C1", "VALUE:4C" ], [ "0", "X", "1B", "C2", "VALUE:4C" ], [ "0", "X", "1B", "C3", "VALUE:4C" ], [ "0", "X", "1B", "C4", "VALUE:4C" ], [ "0", "X", "1B", "CX", "VALUE:4C" ], [ "IS", "0", "1B", "C1", "ERROR:" ], [ "IS", "0", "1B", "C2", "ERROR:" ], [ "IS", "0", "1B", "C3", "ERROR:" ], [ "IS", "0", "1B", "C4", "ERROR:" ], [ "IS", "0", "1B", "CX", "ERROR:" ], [ "IS", "1", "1B", "C1", "ERROR:" ], [ "IS", "1", "1B", "C2", "ERROR:" ], [ "IS", "1", "1B", "C3", "ERROR:" ], [ "IS", "1", "1B", "C4", "ERROR:" ], [ "IS", "1", "1B", "CX", "ERROR:" ], [ "IS", "2", "1B", "C1", "ERROR:" ], [ "IS", "2", "1B", "C2", "ERROR:" ], [ "IS", "2", "1B", "C3", "ERROR:" ], [ "IS", "2", "1B", "C4", "ERROR:" ], [ "IS", "2", "1B", "CX", "ERROR:" ], [ "IS", "X", "1B", "C1", "ERROR:" ], [ "IS", "X", "1B", "C2", "ERROR:" ], [ "IS", "X", "1B", "C3", "ERROR:" ], [ "IS", "X", "1B", "C4", "ERROR:" ], [ "IS", "X", "1B", "CX", "ERROR:" ], [ "1", "0", "1B", "C1", "VALUE:4C" ], [ "1", "0", "1B", "C2", "VALUE:4C" ], [ "1", "0", "1B", "C3", "VALUE:4C" ], [ "1", "0", "1B", "C4", "VALUE:4C" ], [ "1", "0", "1B", "CX", "VALUE:4C" ], [ "1", "1", "1B", "C1", "VALUE:4C" ], [ "1", "1", "1B", "C2", "VALUE:4C" ], [ "1", "1", "1B", "C3", "VALUE:4C" ], [ "1", "1", "1B", "C4", "VALUE:4C" ], [ "1", "1", "1B", "CX", "VALUE:4C" ], [ "1", "2", "1B", "C1", "VALUE:4C" ], [ "1", "2", "1B", "C2", "VALUE:4C" ], [ "1", "2", "1B", "C3", "VALUE:4C" ], [ "1", "2", "1B", "C4", "VALUE:4C" ], [ "1", "2", "1B", "CX", "VALUE:4C" ], [ "1", "X", "1B", "C1", "VALUE:4C" ], [ "1", "X", "1B", "C2", "VALUE:4C" ], [ "1", "X", "1B", "C3", "VALUE:4C" ], [ "1", "X", "1B", "C4", "VALUE:4C" ], [ "1", "X", "1B", "CX", "VALUE:4C" ], [ "2", "0", "1B", "C1", "VALUE:4C" ], [ "2", "0", "1B", "C2", "VALUE:4C" ], [ "2", "0", "1B", "C3", "VALUE:4C" ], [ "2", "0", "1B", "C4", "VALUE:4C" ], [ "2", "0", "1B", "CX", "VALUE:4C" ], [ "2", "1", "1B", "C1", "VALUE:4C" ], [ "2", "1", "1B", "C2", "VALUE:4C" ], [ "2", "1", "1B", "C3", "VALUE:4C" ], [ "2", "1", "1B", "C4", "VALUE:4C" ], [ "2", "1", "1B", "CX", "VALUE:4C" ], [ "2", "2", "1B", "C1", "VALUE:4C" ], [ "2", "2", "1B", "C2", "VALUE:4C" ], [ "2", "2", "1B", "C3", "VALUE:4C" ], [ "2", "2", "1B", "C4", "VALUE:4C" ], [ "2", "2", "1B", "CX", "VALUE:4C" ], [ "2", "X", "1B", "C1", "VALUE:4C" ], [ "2", "X", "1B", "C2", "VALUE:4C" ], [ "2", "X", "1B", "C3", "VALUE:4C" ], [ "2", "X", "1B", "C4", "VALUE:4C" ], [ "2", "X", "1B", "CX", "VALUE:4C" ], [ "3", "0", "1B", "C1", "VALUE:4C" ], [ "3", "0", "1B", "C2", "VALUE:4C" ], [ "3", "0", "1B", "C3", "VALUE:4C" ], [ "3", "0", "1B", "C4", "VALUE:4C" ], [ "3", "0", "1B", "CX", "VALUE:4C" ], [ "3", "1", "1B", "C1", "VALUE:4C" ], [ "3", "1", "1B", "C2", "VALUE:4C" ], [ "3", "1", "1B", "C3", "VALUE:4C" ], [ "3", "1", "1B", "C4", "VALUE:4C" ], [ "3", "1", "1B", "CX", "VALUE:4C" ], [ "3", "2", "1B", "C1", "VALUE:4C" ], [ "3", "2", "1B", "C2", "VALUE:4C" ], [ "3", "2", "1B", "C3", "VALUE:4C" ], [ "3", "2", "1B", "C4", "VALUE:4C" ], [ "3", "2", "1B", "CX", "VALUE:4C" ], [ "3", "X", "1B", "C1", "VALUE:4C" ], [ "3", "X", "1B", "C2", "VALUE:4C" ], [ "3", "X", "1B", "C3", "VALUE:4C" ], [ "3", "X", "1B", "C4", "VALUE:4C" ], [ "3", "X", "1B", "CX", "VALUE:4C" ], [ "4A", "0", "1B", "C1", "VALUE:4C" ], [ "4A", "0", "1B", "C2", "VALUE:4C" ], [ "4A", "0", "1B", "C3", "VALUE:4C" ], [ "4A", "0", "1B", "C4", "VALUE:4C" ], [ "4A", "0", "1B", "CX", "VALUE:4C" ], [ "4A", "1", "1B", "C1", "VALUE:4C" ], [ "4A", "1", "1B", "C2", "VALUE:4C" ], [ "4A", "1", "1B", "C3", "VALUE:4C" ], [ "4A", "1", "1B", "C4", "VALUE:4C" ], [ "4A", "1", "1B", "CX", "VALUE:4C" ], [ "4A", "2", "1B", "C1", "VALUE:4C" ], [ "4A", "2", "1B", "C2", "VALUE:4C" ], [ "4A", "2", "1B", "C3", "VALUE:4C" ], [ "4A", "2", "1B", "C4", "VALUE:4C" ], [ "4A", "2", "1B", "CX", "VALUE:4C" ], [ "4A", "X", "1B", "C1", "VALUE:4C" ], [ "4A", "X", "1B", "C2", "VALUE:4C" ], [ "4A", "X", "1B", "C3", "VALUE:4C" ], [ "4A", "X", "1B", "C4", "VALUE:4C" ], [ "4A", "X", "1B", "CX", "VALUE:4C" ], [ "4B", "0", "1B", "C1", "VALUE:4C" ], [ "4B", "0", "1B", "C2", "VALUE:4C" ], [ "4B", "0", "1B", "C3", "VALUE:4C" ], [ "4B", "0", "1B", "C4", "VALUE:4C" ], [ "4B", "0", "1B", "CX", "VALUE:4C" ], [ "4B", "1", "1B", "C1", "VALUE:4C" ], [ "4B", "1", "1B", "C2", "VALUE:4C" ], [ "4B", "1", "1B", "C3", "VALUE:4C" ], [ "4B", "1", "1B", "C4", "VALUE:4C" ], [ "4B", "1", "1B", "CX", "VALUE:4C" ], [ "4B", "2", "1B", "C1", "VALUE:4C" ], [ "4B", "2", "1B", "C2", "VALUE:4C" ], [ "4B", "2", "1B", "C3", "VALUE:4C" ], [ "4B", "2", "1B", "C4", "VALUE:4C" ], [ "4B", "2", "1B", "CX", "VALUE:4C" ], [ "4B", "X", "1B", "C1", "VALUE:4C" ], [ "4B", "X", "1B", "C2", "VALUE:4C" ], [ "4B", "X", "1B", "C3", "VALUE:4C" ], [ "4B", "X", "1B", "C4", "VALUE:4C" ], [ "4B", "X", "1B", "CX", "VALUE:4C" ], [ "4", "0", "1B", "C1", "VALUE:4C" ], [ "4", "0", "1B", "C2", "VALUE:4C" ], [ "4", "0", "1B", "C3", "VALUE:4C" ], [ "4", "0", "1B", "C4", "VALUE:4C" ], [ "4", "0", "1B", "CX", "VALUE:4C" ], [ "4", "1", "1B", "C1", "VALUE:4C" ], [ "4", "1", "1B", "C2", "VALUE:4C" ], [ "4", "1", "1B", "C3", "VALUE:4C" ], [ "4", "1", "1B", "C4", "VALUE:4C" ], [ "4", "1", "1B", "CX", "VALUE:4C" ], [ "4", "2", "1B", "C1", "VALUE:4C" ], [ "4", "2", "1B", "C2", "VALUE:4C" ], [ "4", "2", "1B", "C3", "VALUE:4C" ], [ "4", "2", "1B", "C4", "VALUE:4C" ], [ "4", "2", "1B", "CX", "VALUE:4C" ], [ "4", "X", "1B", "C1", "VALUE:4C" ], [ "4", "X", "1B", "C2", "VALUE:4C" ], [ "4", "X", "1B", "C3", "VALUE:4C" ], [ "4", "X", "1B", "C4", "VALUE:4C" ], [ "4", "X", "1B", "CX", "VALUE:4C" ], [ "X", "0", "1B", "C1", "VALUE:4C" ], [ "X", "0", "1B", "C2", "VALUE:4C" ], [ "X", "0", "1B", "C3", "VALUE:4C" ], [ "X", "0", "1B", "C4", "VALUE:4C" ], [ "X", "0", "1B", "CX", "VALUE:4C" ], [ "X", "1", "1B", "C1", "VALUE:4C" ], [ "X", "1", "1B", "C2", "VALUE:4C" ], [ "X", "1", "1B", "C3", "VALUE:4C" ], [ "X", "1", "1B", "C4", "VALUE:4C" ], [ "X", "1", "1B", "CX", "VALUE:4C" ], [ "X", "2", "1B", "C1", "VALUE:4C" ], [ "X", "2", "1B", "C2", "VALUE:4C" ], [ "X", "2", "1B", "C3", "VALUE:4C" ], [ "X", "2", "1B", "C4", "VALUE:4C" ], [ "X", "2", "1B", "CX", "VALUE:4C" ], [ "X", "X", "1B", "C1", "VALUE:4C" ], [ "X", "X", "1B", "C2", "VALUE:4C" ], [ "X", "X", "1B", "C3", "VALUE:4C" ], [ "X", "X", "1B", "C4", "VALUE:4C" ], [ "X", "X", "1B", "CX", "VALUE:4C" ], [ "0", "0", "1", "C1", "VALUE:4" ], [ "0", "0", "1", "C2", "VALUE:4" ], [ "0", "0", "1", "C3", "VALUE:4" ], [ "0", "0", "1", "C4", "VALUE:4" ], [ "0", "0", "1", "CX", "VALUE:4" ], [ "0", "1", "1", "C1", "VALUE:4" ], [ "0", "1", "1", "C2", "VALUE:4" ], [ "0", "1", "1", "C3", "VALUE:4" ], [ "0", "1", "1", "C4", "VALUE:4" ], [ "0", "1", "1", "CX", "VALUE:4" ], [ "0", "2", "1", "C1", "VALUE:4" ], [ "0", "2", "1", "C2", "VALUE:4" ], [ "0", "2", "1", "C3", "VALUE:4" ], [ "0", "2", "1", "C4", "VALUE:4" ], [ "0", "2", "1", "CX", "VALUE:4" ], [ "0", "X", "1", "C1", "VALUE:4" ], [ "0", "X", "1", "C2", "VALUE:4" ], [ "0", "X", "1", "C3", "VALUE:4" ], [ "0", "X", "1", "C4", "VALUE:4" ], [ "0", "X", "1", "CX", "VALUE:4" ], [ "IS", "0", "1", "C1", "ERROR:" ], [ "IS", "0", "1", "C2", "ERROR:" ], [ "IS", "0", "1", "C3", "ERROR:" ], [ "IS", "0", "1", "C4", "ERROR:" ], [ "IS", "0", "1", "CX", "ERROR:" ], [ "IS", "1", "1", "C1", "ERROR:" ], [ "IS", "1", "1", "C2", "ERROR:" ], [ "IS", "1", "1", "C3", "ERROR:" ], [ "IS", "1", "1", "C4", "ERROR:" ], [ "IS", "1", "1", "CX", "ERROR:" ], [ "IS", "2", "1", "C1", "ERROR:" ], [ "IS", "2", "1", "C2", "ERROR:" ], [ "IS", "2", "1", "C3", "ERROR:" ], [ "IS", "2", "1", "C4", "ERROR:" ], [ "IS", "2", "1", "CX", "ERROR:" ], [ "IS", "X", "1", "C1", "ERROR:" ], [ "IS", "X", "1", "C2", "ERROR:" ], [ "IS", "X", "1", "C3", "ERROR:" ], [ "IS", "X", "1", "C4", "ERROR:" ], [ "IS", "X", "1", "CX", "ERROR:" ], [ "1", "0", "1", "C1", "VALUE:4" ], [ "1", "0", "1", "C2", "VALUE:4" ], [ "1", "0", "1", "C3", "VALUE:4" ], [ "1", "0", "1", "C4", "VALUE:4" ], [ "1", "0", "1", "CX", "VALUE:4" ], [ "1", "1", "1", "C1", "VALUE:4" ], [ "1", "1", "1", "C2", "VALUE:4" ], [ "1", "1", "1", "C3", "VALUE:4" ], [ "1", "1", "1", "C4", "VALUE:4" ], [ "1", "1", "1", "CX", "VALUE:4" ], [ "1", "2", "1", "C1", "VALUE:4" ], [ "1", "2", "1", "C2", "VALUE:4" ], [ "1", "2", "1", "C3", "VALUE:4" ], [ "1", "2", "1", "C4", "VALUE:4" ], [ "1", "2", "1", "CX", "VALUE:4" ], [ "1", "X", "1", "C1", "VALUE:4" ], [ "1", "X", "1", "C2", "VALUE:4" ], [ "1", "X", "1", "C3", "VALUE:4" ], [ "1", "X", "1", "C4", "VALUE:4" ], [ "1", "X", "1", "CX", "VALUE:4" ], [ "2", "0", "1", "C1", "VALUE:4" ], [ "2", "0", "1", "C2", "VALUE:4" ], [ "2", "0", "1", "C3", "VALUE:4" ], [ "2", "0", "1", "C4", "VALUE:4" ], [ "2", "0", "1", "CX", "VALUE:4" ], [ "2", "1", "1", "C1", "VALUE:4" ], [ "2", "1", "1", "C2", "VALUE:4" ], [ "2", "1", "1", "C3", "VALUE:4" ], [ "2", "1", "1", "C4", "VALUE:4" ], [ "2", "1", "1", "CX", "VALUE:4" ], [ "2", "2", "1", "C1", "VALUE:4" ], [ "2", "2", "1", "C2", "VALUE:4" ], [ "2", "2", "1", "C3", "VALUE:4" ], [ "2", "2", "1", "C4", "VALUE:4" ], [ "2", "2", "1", "CX", "VALUE:4" ], [ "2", "X", "1", "C1", "VALUE:4" ], [ "2", "X", "1", "C2", "VALUE:4" ], [ "2", "X", "1", "C3", "VALUE:4" ], [ "2", "X", "1", "C4", "VALUE:4" ], [ "2", "X", "1", "CX", "VALUE:4" ], [ "3", "0", "1", "C1", "VALUE:4" ], [ "3", "0", "1", "C2", "VALUE:4" ], [ "3", "0", "1", "C3", "VALUE:4" ], [ "3", "0", "1", "C4", "VALUE:4" ], [ "3", "0", "1", "CX", "VALUE:4" ], [ "3", "1", "1", "C1", "VALUE:4" ], [ "3", "1", "1", "C2", "VALUE:4" ], [ "3", "1", "1", "C3", "VALUE:4" ], [ "3", "1", "1", "C4", "VALUE:4" ], [ "3", "1", "1", "CX", "VALUE:4" ], [ "3", "2", "1", "C1", "VALUE:4" ], [ "3", "2", "1", "C2", "VALUE:4" ], [ "3", "2", "1", "C3", "VALUE:4" ], [ "3", "2", "1", "C4", "VALUE:4" ], [ "3", "2", "1", "CX", "VALUE:4" ], [ "3", "X", "1", "C1", "VALUE:4" ], [ "3", "X", "1", "C2", "VALUE:4" ], [ "3", "X", "1", "C3", "VALUE:4" ], [ "3", "X", "1", "C4", "VALUE:4" ], [ "3", "X", "1", "CX", "VALUE:4" ], [ "4A", "0", "1", "C1", "VALUE:4" ], [ "4A", "0", "1", "C2", "VALUE:4" ], [ "4A", "0", "1", "C3", "VALUE:4" ], [ "4A", "0", "1", "C4", "VALUE:4" ], [ "4A", "0", "1", "CX", "VALUE:4" ], [ "4A", "1", "1", "C1", "VALUE:4" ], [ "4A", "1", "1", "C2", "VALUE:4" ], [ "4A", "1", "1", "C3", "VALUE:4" ], [ "4A", "1", "1", "C4", "VALUE:4" ], [ "4A", "1", "1", "CX", "VALUE:4" ], [ "4A", "2", "1", "C1", "VALUE:4" ], [ "4A", "2", "1", "C2", "VALUE:4" ], [ "4A", "2", "1", "C3", "VALUE:4" ], [ "4A", "2", "1", "C4", "VALUE:4" ], [ "4A", "2", "1", "CX", "VALUE:4" ], [ "4A", "X", "1", "C1", "VALUE:4" ], [ "4A", "X", "1", "C2", "VALUE:4" ], [ "4A", "X", "1", "C3", "VALUE:4" ], [ "4A", "X", "1", "C4", "VALUE:4" ], [ "4A", "X", "1", "CX", "VALUE:4" ], [ "4B", "0", "1", "C1", "VALUE:4" ], [ "4B", "0", "1", "C2", "VALUE:4" ], [ "4B", "0", "1", "C3", "VALUE:4" ], [ "4B", "0", "1", "C4", "VALUE:4" ], [ "4B", "0", "1", "CX", "VALUE:4" ], [ "4B", "1", "1", "C1", "VALUE:4" ], [ "4B", "1", "1", "C2", "VALUE:4" ], [ "4B", "1", "1", "C3", "VALUE:4" ], [ "4B", "1", "1", "C4", "VALUE:4" ], [ "4B", "1", "1", "CX", "VALUE:4" ], [ "4B", "2", "1", "C1", "VALUE:4" ], [ "4B", "2", "1", "C2", "VALUE:4" ], [ "4B", "2", "1", "C3", "VALUE:4" ], [ "4B", "2", "1", "C4", "VALUE:4" ], [ "4B", "2", "1", "CX", "VALUE:4" ], [ "4B", "X", "1", "C1", "VALUE:4" ], [ "4B", "X", "1", "C2", "VALUE:4" ], [ "4B", "X", "1", "C3", "VALUE:4" ], [ "4B", "X", "1", "C4", "VALUE:4" ], [ "4B", "X", "1", "CX", "VALUE:4" ], [ "4", "0", "1", "C1", "VALUE:4" ], [ "4", "0", "1", "C2", "VALUE:4" ], [ "4", "0", "1", "C3", "VALUE:4" ], [ "4", "0", "1", "C4", "VALUE:4" ], [ "4", "0", "1", "CX", "VALUE:4" ], [ "4", "1", "1", "C1", "VALUE:4" ], [ "4", "1", "1", "C2", "VALUE:4" ], [ "4", "1", "1", "C3", "VALUE:4" ], [ "4", "1", "1", "C4", "VALUE:4" ], [ "4", "1", "1", "CX", "VALUE:4" ], [ "4", "2", "1", "C1", "VALUE:4" ], [ "4", "2", "1", "C2", "VALUE:4" ], [ "4", "2", "1", "C3", "VALUE:4" ], [ "4", "2", "1", "C4", "VALUE:4" ], [ "4", "2", "1", "CX", "VALUE:4" ], [ "4", "X", "1", "C1", "VALUE:4" ], [ "4", "X", "1", "C2", "VALUE:4" ], [ "4", "X", "1", "C3", "VALUE:4" ], [ "4", "X", "1", "C4", "VALUE:4" ], [ "4", "X", "1", "CX", "VALUE:4" ], [ "X", "0", "1", "C1", "VALUE:4" ], [ "X", "0", "1", "C2", "VALUE:4" ], [ "X", "0", "1", "C3", "VALUE:4" ], [ "X", "0", "1", "C4", "VALUE:4" ], [ "X", "0", "1", "CX", "VALUE:4" ], [ "X", "1", "1", "C1", "VALUE:4" ], [ "X", "1", "1", "C2", "VALUE:4" ], [ "X", "1", "1", "C3", "VALUE:4" ], [ "X", "1", "1", "C4", "VALUE:4" ], [ "X", "1", "1", "CX", "VALUE:4" ], [ "X", "2", "1", "C1", "VALUE:4" ], [ "X", "2", "1", "C2", "VALUE:4" ], [ "X", "2", "1", "C3", "VALUE:4" ], [ "X", "2", "1", "C4", "VALUE:4" ], [ "X", "2", "1", "CX", "VALUE:4" ], [ "X", "X", "1", "C1", "VALUE:4" ], [ "X", "X", "1", "C2", "VALUE:4" ], [ "X", "X", "1", "C3", "VALUE:4" ], [ "X", "X", "1", "C4", "VALUE:4" ], [ "X", "X", "1", "CX", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uau.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uau.json deleted file mode 100644 index 0ea39186d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uau.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uau", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:00.421Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:4" ], [ "0", "2", "0", "VALUE:4" ], [ "0", "3", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "A", "0", "0", "VALUE:0A" ], [ "A", "1", "0", "ERROR:" ], [ "A", "2", "0", "ERROR:" ], [ "A", "3", "0", "ERROR:" ], [ "A", "X", "0", "VALUE:0A" ], [ "IS", "0", "0", "VALUE:0IS" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "3", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0IS" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:4" ], [ "1", "2", "0", "VALUE:4" ], [ "1", "3", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:4" ], [ "2", "2", "0", "VALUE:4" ], [ "2", "3", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:4" ], [ "3", "2", "0", "VALUE:4" ], [ "3", "3", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:3" ], [ "4A", "1", "0", "VALUE:4" ], [ "4A", "2", "0", "VALUE:4" ], [ "4A", "3", "0", "VALUE:4" ], [ "4A", "X", "0", "VALUE:99" ], [ "4B", "0", "0", "VALUE:4" ], [ "4B", "1", "0", "VALUE:4" ], [ "4B", "2", "0", "VALUE:4" ], [ "4B", "3", "0", "VALUE:4" ], [ "4B", "X", "0", "VALUE:4" ], [ "4", "0", "0", "VALUE:99" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:4" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "3", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "A", "0", "1", "ERROR:" ], [ "A", "1", "1", "ERROR:" ], [ "A", "2", "1", "ERROR:" ], [ "A", "3", "1", "ERROR:" ], [ "A", "X", "1", "ERROR:" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "3", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4A", "0", "1", "VALUE:4" ], [ "4A", "1", "1", "VALUE:4" ], [ "4A", "2", "1", "VALUE:4" ], [ "4A", "3", "1", "VALUE:4" ], [ "4A", "X", "1", "VALUE:4" ], [ "4B", "0", "1", "VALUE:4" ], [ "4B", "1", "1", "VALUE:4" ], [ "4B", "2", "1", "VALUE:4" ], [ "4B", "3", "1", "VALUE:4" ], [ "4B", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uav.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uav.json deleted file mode 100644 index 5e2587e94..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uav.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uav", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.309Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3A" ], [ "0", "2", "0", "VALUE:3B" ], [ "0", "3", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "A", "0", "0", "VALUE:0" ], [ "A", "1", "0", "ERROR:" ], [ "A", "2", "0", "ERROR:" ], [ "A", "3", "0", "ERROR:" ], [ "A", "X", "0", "VALUE:0" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "3", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:3A" ], [ "1A", "2", "0", "VALUE:3B" ], [ "1A", "3", "0", "VALUE:4" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:2" ], [ "1B", "1", "0", "VALUE:3A" ], [ "1B", "2", "0", "VALUE:3B" ], [ "1B", "3", "0", "VALUE:4" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3A" ], [ "1", "2", "0", "VALUE:3B" ], [ "1", "3", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3A" ], [ "2", "2", "0", "VALUE:3B" ], [ "2", "3", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2" ], [ "3", "1", "0", "VALUE:3A" ], [ "3", "2", "0", "VALUE:3B" ], [ "3", "3", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:99" ], [ "X", "3", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "A", "0", "1", "ERROR:" ], [ "A", "1", "1", "ERROR:" ], [ "A", "2", "1", "ERROR:" ], [ "A", "3", "1", "ERROR:" ], [ "A", "X", "1", "ERROR:" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "3", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "VALUE:4" ], [ "1A", "3", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "VALUE:4" ], [ "1B", "3", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaw.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaw.json deleted file mode 100644 index 2995c9d37..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaw.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uaw", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.295Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:3" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1", "0", "VALUE:3" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2" ], [ "2A", "1", "0", "VALUE:3" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2" ], [ "2B", "1", "0", "VALUE:3" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3" ], [ "3A", "1", "0", "VALUE:3" ], [ "3A", "X", "0", "VALUE:3" ], [ "3B", "0", "0", "VALUE:3" ], [ "3B", "1", "0", "VALUE:3" ], [ "3B", "X", "0", "VALUE:3" ], [ "3C", "0", "0", "VALUE:3" ], [ "3C", "1", "0", "VALUE:3" ], [ "3C", "X", "0", "VALUE:3" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "X", "0", "VALUE:3" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3C", "0", "1", "VALUE:4" ], [ "3C", "1", "1", "VALUE:4" ], [ "3C", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uax.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uax.json deleted file mode 100644 index b3bca229d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uax.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uax", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.328Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ssf1", - "name" : "SSF1", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "000", "ERROR:Clinical T0M0 is not a valid combination." ], [ "0", "0", "010", "ERROR:Clinical T0M0 is not a valid combination." ], [ "0", "0", "050", "ERROR:Clinical T0M0 is not a valid combination." ], [ "0", "0", "110", "ERROR:Clinical T0M0 is not a valid combination." ], [ "0", "0", "150", "ERROR:Clinical T0M0 is not a valid combination." ], [ "0", "0", "200", "ERROR:Clinical T0M0 is not a valid combination." ], [ "0", "0", "988", "ERROR:Clinical T0M0 is not a valid combination." ], [ "0", "0", "999", "ERROR:Clinical T0M0 is not a valid combination." ], [ "1", "0", "000", "VALUE:1A" ], [ "1", "0", "010", "VALUE:1A" ], [ "1", "0", "050", "VALUE:1A" ], [ "1", "0", "110", "VALUE:1B" ], [ "1", "0", "150", "VALUE:1B" ], [ "1", "0", "200", "VALUE:1A" ], [ "1", "0", "988", "VALUE:1" ], [ "1", "0", "999", "VALUE:1" ], [ "2", "0", "000", "VALUE:2A" ], [ "2", "0", "010", "VALUE:2A" ], [ "2", "0", "050", "VALUE:2A" ], [ "2", "0", "110", "VALUE:2B" ], [ "2", "0", "150", "VALUE:2B" ], [ "2", "0", "200", "VALUE:2A" ], [ "2", "0", "988", "VALUE:2" ], [ "2", "0", "999", "VALUE:2" ], [ "X", "0", "000", "VALUE:99" ], [ "X", "0", "010", "VALUE:99" ], [ "X", "0", "050", "VALUE:99" ], [ "X", "0", "110", "VALUE:99" ], [ "X", "0", "150", "VALUE:99" ], [ "X", "0", "200", "VALUE:99" ], [ "X", "0", "988", "VALUE:99" ], [ "X", "0", "999", "VALUE:99" ], [ "0", "1A", "000", "VALUE:3A" ], [ "0", "1A", "010", "VALUE:3A" ], [ "0", "1A", "050", "VALUE:3A" ], [ "0", "1A", "110", "VALUE:3B" ], [ "0", "1A", "150", "VALUE:3B" ], [ "0", "1A", "200", "VALUE:3A" ], [ "0", "1A", "988", "VALUE:3" ], [ "0", "1A", "999", "VALUE:3" ], [ "1", "1A", "000", "VALUE:3A" ], [ "1", "1A", "010", "VALUE:3A" ], [ "1", "1A", "050", "VALUE:3A" ], [ "1", "1A", "110", "VALUE:3B" ], [ "1", "1A", "150", "VALUE:3B" ], [ "1", "1A", "200", "VALUE:3A" ], [ "1", "1A", "988", "VALUE:3" ], [ "1", "1A", "999", "VALUE:3" ], [ "2", "1A", "000", "VALUE:3A" ], [ "2", "1A", "010", "VALUE:3A" ], [ "2", "1A", "050", "VALUE:3A" ], [ "2", "1A", "110", "VALUE:3B" ], [ "2", "1A", "150", "VALUE:3B" ], [ "2", "1A", "200", "VALUE:3A" ], [ "2", "1A", "988", "VALUE:3" ], [ "2", "1A", "999", "VALUE:3" ], [ "X", "1A", "000", "VALUE:3A" ], [ "X", "1A", "010", "VALUE:3A" ], [ "X", "1A", "050", "VALUE:3A" ], [ "X", "1A", "110", "VALUE:3B" ], [ "X", "1A", "150", "VALUE:3B" ], [ "X", "1A", "200", "VALUE:3A" ], [ "X", "1A", "988", "VALUE:3" ], [ "X", "1A", "999", "VALUE:3" ], [ "0", "1B", "000", "VALUE:4A" ], [ "0", "1B", "010", "VALUE:4A" ], [ "0", "1B", "050", "VALUE:4A" ], [ "0", "1B", "110", "VALUE:4B" ], [ "0", "1B", "150", "VALUE:4B" ], [ "0", "1B", "200", "VALUE:4A" ], [ "0", "1B", "988", "VALUE:4" ], [ "0", "1B", "999", "VALUE:4" ], [ "1", "1B", "000", "VALUE:4A" ], [ "1", "1B", "010", "VALUE:4A" ], [ "1", "1B", "050", "VALUE:4A" ], [ "1", "1B", "110", "VALUE:4B" ], [ "1", "1B", "150", "VALUE:4B" ], [ "1", "1B", "200", "VALUE:4A" ], [ "1", "1B", "988", "VALUE:4" ], [ "1", "1B", "999", "VALUE:4" ], [ "2", "1B", "000", "VALUE:4A" ], [ "2", "1B", "010", "VALUE:4A" ], [ "2", "1B", "050", "VALUE:4A" ], [ "2", "1B", "110", "VALUE:4B" ], [ "2", "1B", "150", "VALUE:4B" ], [ "2", "1B", "200", "VALUE:4A" ], [ "2", "1B", "988", "VALUE:4" ], [ "2", "1B", "999", "VALUE:4" ], [ "X", "1B", "000", "VALUE:4A" ], [ "X", "1B", "010", "VALUE:4A" ], [ "X", "1B", "050", "VALUE:4A" ], [ "X", "1B", "110", "VALUE:4B" ], [ "X", "1B", "150", "VALUE:4B" ], [ "X", "1B", "200", "VALUE:4A" ], [ "X", "1B", "988", "VALUE:4" ], [ "X", "1B", "999", "VALUE:4" ], [ "0", "1", "000", "VALUE:99" ], [ "0", "1", "010", "VALUE:99" ], [ "0", "1", "050", "VALUE:99" ], [ "0", "1", "110", "VALUE:99" ], [ "0", "1", "150", "VALUE:99" ], [ "0", "1", "200", "VALUE:99" ], [ "0", "1", "988", "VALUE:99" ], [ "0", "1", "999", "VALUE:99" ], [ "1", "1", "000", "VALUE:99" ], [ "1", "1", "010", "VALUE:99" ], [ "1", "1", "050", "VALUE:99" ], [ "1", "1", "110", "VALUE:99" ], [ "1", "1", "150", "VALUE:99" ], [ "1", "1", "200", "VALUE:99" ], [ "1", "1", "988", "VALUE:99" ], [ "1", "1", "999", "VALUE:99" ], [ "2", "1", "000", "VALUE:99" ], [ "2", "1", "010", "VALUE:99" ], [ "2", "1", "050", "VALUE:99" ], [ "2", "1", "110", "VALUE:99" ], [ "2", "1", "150", "VALUE:99" ], [ "2", "1", "200", "VALUE:99" ], [ "2", "1", "988", "VALUE:99" ], [ "2", "1", "999", "VALUE:99" ], [ "X", "1", "000", "VALUE:99" ], [ "X", "1", "010", "VALUE:99" ], [ "X", "1", "050", "VALUE:99" ], [ "X", "1", "110", "VALUE:99" ], [ "X", "1", "150", "VALUE:99" ], [ "X", "1", "200", "VALUE:99" ], [ "X", "1", "988", "VALUE:99" ], [ "X", "1", "999", "VALUE:99" ], [ "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uay.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uay.json deleted file mode 100644 index a1f827d87..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uay.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uay", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.302Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3" ], [ "0", "2", "0", "VALUE:4" ], [ "0", "3", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "3", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "2", "0", "VALUE:4" ], [ "1", "3", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "2", "0", "VALUE:4" ], [ "2", "3", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "3", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "3", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaz.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaz.json deleted file mode 100644 index dbfa497ac..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uaz.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uaz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:00.314Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3" ], [ "0", "2", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "A", "0", "0", "VALUE:0A" ], [ "A", "1", "0", "ERROR:" ], [ "A", "2", "0", "ERROR:" ], [ "A", "X", "0", "VALUE:0A" ], [ "IS", "0", "0", "VALUE:0IS" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0IS" ], [ "ISPU", "0", "0", "VALUE:0IS" ], [ "ISPU", "1", "0", "ERROR:" ], [ "ISPU", "2", "0", "ERROR:" ], [ "ISPU", "X", "0", "VALUE:0IS" ], [ "ISPD", "0", "0", "VALUE:0IS" ], [ "ISPD", "1", "0", "ERROR:" ], [ "ISPD", "2", "0", "ERROR:" ], [ "ISPD", "X", "0", "VALUE:0IS" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "2", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "2", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "2", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "A", "0", "1", "ERROR:" ], [ "A", "1", "1", "ERROR:" ], [ "A", "2", "1", "ERROR:" ], [ "A", "X", "1", "ERROR:" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "ISPU", "0", "1", "ERROR:" ], [ "ISPU", "1", "1", "ERROR:" ], [ "ISPU", "2", "1", "ERROR:" ], [ "ISPU", "X", "1", "ERROR:" ], [ "ISPD", "0", "1", "ERROR:" ], [ "ISPD", "1", "1", "ERROR:" ], [ "ISPD", "2", "1", "ERROR:" ], [ "ISPD", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uba.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uba.json deleted file mode 100644 index 186ba6596..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uba.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uba", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:01.153Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3" ], [ "0", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubb.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubb.json deleted file mode 100644 index 1795c50e8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubb.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:00.663Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3C" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3C" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3C" ], [ "1B", "X", "0", "VALUE:99" ], [ "1C", "0", "0", "VALUE:1C" ], [ "1C", "1", "0", "VALUE:3C" ], [ "1C", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3C" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2A" ], [ "2A", "1", "0", "VALUE:3C" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2B" ], [ "2B", "1", "0", "VALUE:3C" ], [ "2B", "X", "0", "VALUE:99" ], [ "2C", "0", "0", "VALUE:2C" ], [ "2C", "1", "0", "VALUE:3C" ], [ "2C", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3C" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:3C" ], [ "3A", "X", "0", "VALUE:3" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:3C" ], [ "3B", "X", "0", "VALUE:3" ], [ "3C", "0", "0", "VALUE:3C" ], [ "3C", "1", "0", "VALUE:3C" ], [ "3C", "X", "0", "VALUE:3C" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3C" ], [ "3", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3C" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1C", "0", "1", "VALUE:4" ], [ "1C", "1", "1", "VALUE:4" ], [ "1C", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2C", "0", "1", "VALUE:4" ], [ "2C", "1", "1", "VALUE:4" ], [ "2C", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3C", "0", "1", "VALUE:4" ], [ "3C", "1", "1", "VALUE:4" ], [ "3C", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubc.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubc.json deleted file mode 100644 index 61188aa28..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubc.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.486Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "X", "0", "VALUE:3" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:4A" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubd.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubd.json deleted file mode 100644 index 1caeaf405..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubd.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.386Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1A", "0", "VALUE:3A" ], [ "0", "1B", "0", "VALUE:3A" ], [ "0", "1", "0", "VALUE:3A" ], [ "0", "2A", "0", "VALUE:3B" ], [ "0", "2B", "0", "VALUE:3B" ], [ "0", "2C", "0", "VALUE:3C" ], [ "0", "2", "0", "VALUE:3" ], [ "0", "3", "0", "VALUE:4A" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1A", "0", "ERROR:" ], [ "IS", "1B", "0", "ERROR:" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2A", "0", "ERROR:" ], [ "IS", "2B", "0", "ERROR:" ], [ "IS", "2C", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "3", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1A", "0", "VALUE:3A" ], [ "1A", "1B", "0", "VALUE:3A" ], [ "1A", "1", "0", "VALUE:3A" ], [ "1A", "2A", "0", "VALUE:3B" ], [ "1A", "2B", "0", "VALUE:3B" ], [ "1A", "2C", "0", "VALUE:3C" ], [ "1A", "2", "0", "VALUE:3" ], [ "1A", "3", "0", "VALUE:4A" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1A", "0", "VALUE:3A" ], [ "1B", "1B", "0", "VALUE:3A" ], [ "1B", "1", "0", "VALUE:3A" ], [ "1B", "2A", "0", "VALUE:3B" ], [ "1B", "2B", "0", "VALUE:3B" ], [ "1B", "2C", "0", "VALUE:3C" ], [ "1B", "2", "0", "VALUE:3" ], [ "1B", "3", "0", "VALUE:4A" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1A", "0", "VALUE:3A" ], [ "1", "1B", "0", "VALUE:3A" ], [ "1", "1", "0", "VALUE:3A" ], [ "1", "2A", "0", "VALUE:3B" ], [ "1", "2B", "0", "VALUE:3B" ], [ "1", "2C", "0", "VALUE:3C" ], [ "1", "2", "0", "VALUE:3" ], [ "1", "3", "0", "VALUE:4A" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1A", "0", "VALUE:3A" ], [ "2", "1B", "0", "VALUE:3A" ], [ "2", "1", "0", "VALUE:3A" ], [ "2", "2A", "0", "VALUE:3B" ], [ "2", "2B", "0", "VALUE:3B" ], [ "2", "2C", "0", "VALUE:3C" ], [ "2", "2", "0", "VALUE:3" ], [ "2", "3", "0", "VALUE:4A" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:4A" ], [ "3", "1A", "0", "VALUE:4A" ], [ "3", "1B", "0", "VALUE:4A" ], [ "3", "1", "0", "VALUE:4A" ], [ "3", "2A", "0", "VALUE:4A" ], [ "3", "2B", "0", "VALUE:4A" ], [ "3", "2C", "0", "VALUE:4A" ], [ "3", "2", "0", "VALUE:4A" ], [ "3", "3", "0", "VALUE:4A" ], [ "3", "X", "0", "VALUE:4A" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1A", "0", "VALUE:99" ], [ "X", "1B", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2A", "0", "VALUE:99" ], [ "X", "2B", "0", "VALUE:99" ], [ "X", "2C", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:99" ], [ "X", "3", "0", "VALUE:4A" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1A", "1", "VALUE:4B" ], [ "0", "1B", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "2A", "1", "VALUE:4B" ], [ "0", "2B", "1", "VALUE:4B" ], [ "0", "2C", "1", "VALUE:4B" ], [ "0", "2", "1", "VALUE:4B" ], [ "0", "3", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1A", "1", "ERROR:" ], [ "IS", "1B", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2A", "1", "ERROR:" ], [ "IS", "2B", "1", "ERROR:" ], [ "IS", "2C", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "3", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1A", "0", "1", "VALUE:4B" ], [ "1A", "1A", "1", "VALUE:4B" ], [ "1A", "1B", "1", "VALUE:4B" ], [ "1A", "1", "1", "VALUE:4B" ], [ "1A", "2A", "1", "VALUE:4B" ], [ "1A", "2B", "1", "VALUE:4B" ], [ "1A", "2C", "1", "VALUE:4B" ], [ "1A", "2", "1", "VALUE:4B" ], [ "1A", "3", "1", "VALUE:4B" ], [ "1A", "X", "1", "VALUE:4B" ], [ "1B", "0", "1", "VALUE:4B" ], [ "1B", "1A", "1", "VALUE:4B" ], [ "1B", "1B", "1", "VALUE:4B" ], [ "1B", "1", "1", "VALUE:4B" ], [ "1B", "2A", "1", "VALUE:4B" ], [ "1B", "2B", "1", "VALUE:4B" ], [ "1B", "2C", "1", "VALUE:4B" ], [ "1B", "2", "1", "VALUE:4B" ], [ "1B", "3", "1", "VALUE:4B" ], [ "1B", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1A", "1", "VALUE:4B" ], [ "1", "1B", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "2A", "1", "VALUE:4B" ], [ "1", "2B", "1", "VALUE:4B" ], [ "1", "2C", "1", "VALUE:4B" ], [ "1", "2", "1", "VALUE:4B" ], [ "1", "3", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1A", "1", "VALUE:4B" ], [ "2", "1B", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "2A", "1", "VALUE:4B" ], [ "2", "2B", "1", "VALUE:4B" ], [ "2", "2C", "1", "VALUE:4B" ], [ "2", "2", "1", "VALUE:4B" ], [ "2", "3", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1A", "1", "VALUE:4B" ], [ "3", "1B", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "2A", "1", "VALUE:4B" ], [ "3", "2B", "1", "VALUE:4B" ], [ "3", "2C", "1", "VALUE:4B" ], [ "3", "2", "1", "VALUE:4B" ], [ "3", "3", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1A", "1", "VALUE:4B" ], [ "X", "1B", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "2A", "1", "VALUE:4B" ], [ "X", "2B", "1", "VALUE:4B" ], [ "X", "2C", "1", "VALUE:4B" ], [ "X", "2", "1", "VALUE:4B" ], [ "X", "3", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubf.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubf.json deleted file mode 100644 index dea09405b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubf.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubf", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.340Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3C" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3C" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3C" ], [ "1B", "X", "0", "VALUE:99" ], [ "1C", "0", "0", "VALUE:1C" ], [ "1C", "1", "0", "VALUE:3C" ], [ "1C", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3C" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2A" ], [ "2A", "1", "0", "VALUE:3C" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2B" ], [ "2B", "1", "0", "VALUE:3C" ], [ "2B", "X", "0", "VALUE:99" ], [ "2C", "0", "0", "VALUE:2C" ], [ "2C", "1", "0", "VALUE:3C" ], [ "2C", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3C" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:3C" ], [ "3A", "X", "0", "VALUE:3" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:3C" ], [ "3B", "X", "0", "VALUE:3" ], [ "3C", "0", "0", "VALUE:3C" ], [ "3C", "1", "0", "VALUE:3C" ], [ "3C", "X", "0", "VALUE:3C" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3C" ], [ "3", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3C" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1C", "0", "1", "VALUE:4" ], [ "1C", "1", "1", "VALUE:4" ], [ "1C", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2C", "0", "1", "VALUE:4" ], [ "2C", "1", "1", "VALUE:4" ], [ "2C", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3C", "0", "1", "VALUE:4" ], [ "3C", "1", "1", "VALUE:4" ], [ "3C", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubg.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubg.json deleted file mode 100644 index d275e2df7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubg.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubg", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:01.619Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3" ], [ "0", "2", "0", "VALUE:4" ], [ "0", "3", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "3", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "2", "0", "VALUE:4" ], [ "1", "3", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "2", "0", "VALUE:4" ], [ "2", "3", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "2", "0", "VALUE:4" ], [ "3", "3", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "3", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "3", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubh.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubh.json deleted file mode 100644 index be71e438b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubh.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubh", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.373Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A1", "0", "0", "VALUE:1A1" ], [ "1A1", "1", "0", "VALUE:3B" ], [ "1A1", "X", "0", "VALUE:99" ], [ "1A2", "0", "0", "VALUE:1A2" ], [ "1A2", "1", "0", "VALUE:3B" ], [ "1A2", "X", "0", "VALUE:99" ], [ "1B1", "0", "0", "VALUE:1B1" ], [ "1B1", "1", "0", "VALUE:3B" ], [ "1B1", "X", "0", "VALUE:99" ], [ "1B2", "0", "0", "VALUE:1B2" ], [ "1B2", "1", "0", "VALUE:3B" ], [ "1B2", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2A1", "0", "0", "VALUE:2A1" ], [ "2A1", "1", "0", "VALUE:3B" ], [ "2A1", "X", "0", "VALUE:99" ], [ "2A2", "0", "0", "VALUE:2A2" ], [ "2A2", "1", "0", "VALUE:3B" ], [ "2A2", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2A" ], [ "2A", "1", "0", "VALUE:3B" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2B" ], [ "2B", "1", "0", "VALUE:3B" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:3B" ], [ "3A", "X", "0", "VALUE:3" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:3B" ], [ "3B", "X", "0", "VALUE:3B" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:3" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:4A" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3B" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3B" ], [ "1B", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1A1", "0", "1", "VALUE:4B" ], [ "1A1", "1", "1", "VALUE:4B" ], [ "1A1", "X", "1", "VALUE:4B" ], [ "1A2", "0", "1", "VALUE:4B" ], [ "1A2", "1", "1", "VALUE:4B" ], [ "1A2", "X", "1", "VALUE:4B" ], [ "1B1", "0", "1", "VALUE:4B" ], [ "1B1", "1", "1", "VALUE:4B" ], [ "1B1", "X", "1", "VALUE:4B" ], [ "1B2", "0", "1", "VALUE:4B" ], [ "1B2", "1", "1", "VALUE:4B" ], [ "1B2", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2A1", "0", "1", "VALUE:4B" ], [ "2A1", "1", "1", "VALUE:4B" ], [ "2A1", "X", "1", "VALUE:4B" ], [ "2A2", "0", "1", "VALUE:4B" ], [ "2A2", "1", "1", "VALUE:4B" ], [ "2A2", "X", "1", "VALUE:4B" ], [ "2A", "0", "1", "VALUE:4B" ], [ "2A", "1", "1", "VALUE:4B" ], [ "2A", "X", "1", "VALUE:4B" ], [ "2B", "0", "1", "VALUE:4B" ], [ "2B", "1", "1", "VALUE:4B" ], [ "2B", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3A", "0", "1", "VALUE:4B" ], [ "3A", "1", "1", "VALUE:4B" ], [ "3A", "X", "1", "VALUE:4B" ], [ "3B", "0", "1", "VALUE:4B" ], [ "3B", "1", "1", "VALUE:4B" ], [ "3B", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "1A", "0", "1", "VALUE:4B" ], [ "1A", "1", "1", "VALUE:4B" ], [ "1A", "X", "1", "VALUE:4B" ], [ "1B", "0", "1", "VALUE:4B" ], [ "1B", "1", "1", "VALUE:4B" ], [ "1B", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubi.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubi.json deleted file mode 100644 index 3dfa78ebd..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubi.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubi", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.497Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:4A" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:4A" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2" ], [ "2A", "1", "0", "VALUE:4A" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2" ], [ "2B", "1", "0", "VALUE:4A" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:4A" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:4A" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:4A" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:4A" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2A", "0", "1", "VALUE:4B" ], [ "2A", "1", "1", "VALUE:4B" ], [ "2A", "X", "1", "VALUE:4B" ], [ "2B", "0", "1", "VALUE:4B" ], [ "2B", "1", "1", "VALUE:4B" ], [ "2B", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubj.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubj.json deleted file mode 100644 index 5a89ba1d2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubj.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm7_stage_ubj", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:01.973Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade_based_on_ssf1", - "name" : "Grade based on SSF1", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "1", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "2", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "3", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "9", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "1", "VALUE:3" ], [ "0", "1", "0", "2", "VALUE:3" ], [ "0", "1", "0", "3", "VALUE:3" ], [ "0", "1", "0", "9", "VALUE:3" ], [ "0", "X", "0", "1", "VALUE:99" ], [ "0", "X", "0", "2", "VALUE:99" ], [ "0", "X", "0", "3", "VALUE:99" ], [ "0", "X", "0", "9", "VALUE:99" ], [ "1A", "0", "0", "1", "VALUE:1A" ], [ "1A", "0", "0", "2", "VALUE:2A" ], [ "1A", "0", "0", "3", "VALUE:2A" ], [ "1A", "0", "0", "9", "VALUE:1A" ], [ "1A", "1", "0", "1", "VALUE:3" ], [ "1A", "1", "0", "2", "VALUE:3" ], [ "1A", "1", "0", "3", "VALUE:3" ], [ "1A", "1", "0", "9", "VALUE:3" ], [ "1A", "X", "0", "1", "VALUE:99" ], [ "1A", "X", "0", "2", "VALUE:99" ], [ "1A", "X", "0", "3", "VALUE:99" ], [ "1A", "X", "0", "9", "VALUE:99" ], [ "1B", "0", "0", "1", "VALUE:1A" ], [ "1B", "0", "0", "2", "VALUE:2A" ], [ "1B", "0", "0", "3", "VALUE:2A" ], [ "1B", "0", "0", "9", "VALUE:1A" ], [ "1B", "1", "0", "1", "VALUE:3" ], [ "1B", "1", "0", "2", "VALUE:3" ], [ "1B", "1", "0", "3", "VALUE:3" ], [ "1B", "1", "0", "9", "VALUE:3" ], [ "1B", "X", "0", "1", "VALUE:99" ], [ "1B", "X", "0", "2", "VALUE:99" ], [ "1B", "X", "0", "3", "VALUE:99" ], [ "1B", "X", "0", "9", "VALUE:99" ], [ "1", "0", "0", "1", "VALUE:1A" ], [ "1", "0", "0", "2", "VALUE:2A" ], [ "1", "0", "0", "3", "VALUE:2A" ], [ "1", "0", "0", "9", "VALUE:1A" ], [ "1", "1", "0", "1", "VALUE:3" ], [ "1", "1", "0", "2", "VALUE:3" ], [ "1", "1", "0", "3", "VALUE:3" ], [ "1", "1", "0", "9", "VALUE:3" ], [ "1", "X", "0", "1", "VALUE:99" ], [ "1", "X", "0", "2", "VALUE:99" ], [ "1", "X", "0", "3", "VALUE:99" ], [ "1", "X", "0", "9", "VALUE:99" ], [ "2A", "0", "0", "1", "VALUE:1B" ], [ "2A", "0", "0", "2", "VALUE:2B" ], [ "2A", "0", "0", "3", "VALUE:3" ], [ "2A", "0", "0", "9", "VALUE:1B" ], [ "2A", "1", "0", "1", "VALUE:3" ], [ "2A", "1", "0", "2", "VALUE:3" ], [ "2A", "1", "0", "3", "VALUE:3" ], [ "2A", "1", "0", "9", "VALUE:3" ], [ "2A", "X", "0", "1", "VALUE:99" ], [ "2A", "X", "0", "2", "VALUE:99" ], [ "2A", "X", "0", "3", "VALUE:99" ], [ "2A", "X", "0", "9", "VALUE:99" ], [ "2B", "0", "0", "1", "VALUE:1B" ], [ "2B", "0", "0", "2", "VALUE:2B" ], [ "2B", "0", "0", "3", "VALUE:3" ], [ "2B", "0", "0", "9", "VALUE:1B" ], [ "2B", "1", "0", "1", "VALUE:3" ], [ "2B", "1", "0", "2", "VALUE:3" ], [ "2B", "1", "0", "3", "VALUE:3" ], [ "2B", "1", "0", "9", "VALUE:3" ], [ "2B", "X", "0", "1", "VALUE:99" ], [ "2B", "X", "0", "2", "VALUE:99" ], [ "2B", "X", "0", "3", "VALUE:99" ], [ "2B", "X", "0", "9", "VALUE:99" ], [ "2", "0", "0", "1", "VALUE:1B" ], [ "2", "0", "0", "2", "VALUE:2B" ], [ "2", "0", "0", "3", "VALUE:3" ], [ "2", "0", "0", "9", "VALUE:1B" ], [ "2", "1", "0", "1", "VALUE:3" ], [ "2", "1", "0", "2", "VALUE:3" ], [ "2", "1", "0", "3", "VALUE:3" ], [ "2", "1", "0", "9", "VALUE:3" ], [ "2", "X", "0", "1", "VALUE:99" ], [ "2", "X", "0", "2", "VALUE:99" ], [ "2", "X", "0", "3", "VALUE:99" ], [ "2", "X", "0", "9", "VALUE:99" ], [ "X", "0", "0", "1", "VALUE:1" ], [ "X", "0", "0", "2", "VALUE:2" ], [ "X", "0", "0", "3", "VALUE:99" ], [ "X", "0", "0", "9", "VALUE:1" ], [ "X", "1", "0", "1", "VALUE:3" ], [ "X", "1", "0", "2", "VALUE:3" ], [ "X", "1", "0", "3", "VALUE:3" ], [ "X", "1", "0", "9", "VALUE:3" ], [ "X", "X", "0", "1", "VALUE:99" ], [ "X", "X", "0", "2", "VALUE:99" ], [ "X", "X", "0", "3", "VALUE:99" ], [ "X", "X", "0", "9", "VALUE:99" ], [ "0", "0", "1", "1", "VALUE:4" ], [ "0", "0", "1", "2", "VALUE:4" ], [ "0", "0", "1", "3", "VALUE:4" ], [ "0", "0", "1", "9", "VALUE:4" ], [ "0", "1", "1", "1", "VALUE:4" ], [ "0", "1", "1", "2", "VALUE:4" ], [ "0", "1", "1", "3", "VALUE:4" ], [ "0", "1", "1", "9", "VALUE:4" ], [ "0", "X", "1", "1", "VALUE:4" ], [ "0", "X", "1", "2", "VALUE:4" ], [ "0", "X", "1", "3", "VALUE:4" ], [ "0", "X", "1", "9", "VALUE:4" ], [ "1A", "0", "1", "1", "VALUE:4" ], [ "1A", "0", "1", "2", "VALUE:4" ], [ "1A", "0", "1", "3", "VALUE:4" ], [ "1A", "0", "1", "9", "VALUE:4" ], [ "1A", "1", "1", "1", "VALUE:4" ], [ "1A", "1", "1", "2", "VALUE:4" ], [ "1A", "1", "1", "3", "VALUE:4" ], [ "1A", "1", "1", "9", "VALUE:4" ], [ "1A", "X", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "2", "VALUE:4" ], [ "1A", "X", "1", "3", "VALUE:4" ], [ "1A", "X", "1", "9", "VALUE:4" ], [ "1B", "0", "1", "1", "VALUE:4" ], [ "1B", "0", "1", "2", "VALUE:4" ], [ "1B", "0", "1", "3", "VALUE:4" ], [ "1B", "0", "1", "9", "VALUE:4" ], [ "1B", "1", "1", "1", "VALUE:4" ], [ "1B", "1", "1", "2", "VALUE:4" ], [ "1B", "1", "1", "3", "VALUE:4" ], [ "1B", "1", "1", "9", "VALUE:4" ], [ "1B", "X", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "2", "VALUE:4" ], [ "1B", "X", "1", "3", "VALUE:4" ], [ "1B", "X", "1", "9", "VALUE:4" ], [ "1", "0", "1", "1", "VALUE:4" ], [ "1", "0", "1", "2", "VALUE:4" ], [ "1", "0", "1", "3", "VALUE:4" ], [ "1", "0", "1", "9", "VALUE:4" ], [ "1", "1", "1", "1", "VALUE:4" ], [ "1", "1", "1", "2", "VALUE:4" ], [ "1", "1", "1", "3", "VALUE:4" ], [ "1", "1", "1", "9", "VALUE:4" ], [ "1", "X", "1", "1", "VALUE:4" ], [ "1", "X", "1", "2", "VALUE:4" ], [ "1", "X", "1", "3", "VALUE:4" ], [ "1", "X", "1", "9", "VALUE:4" ], [ "2A", "0", "1", "1", "VALUE:4" ], [ "2A", "0", "1", "2", "VALUE:4" ], [ "2A", "0", "1", "3", "VALUE:4" ], [ "2A", "0", "1", "9", "VALUE:4" ], [ "2A", "1", "1", "1", "VALUE:4" ], [ "2A", "1", "1", "2", "VALUE:4" ], [ "2A", "1", "1", "3", "VALUE:4" ], [ "2A", "1", "1", "9", "VALUE:4" ], [ "2A", "X", "1", "1", "VALUE:4" ], [ "2A", "X", "1", "2", "VALUE:4" ], [ "2A", "X", "1", "3", "VALUE:4" ], [ "2A", "X", "1", "9", "VALUE:4" ], [ "2B", "0", "1", "1", "VALUE:4" ], [ "2B", "0", "1", "2", "VALUE:4" ], [ "2B", "0", "1", "3", "VALUE:4" ], [ "2B", "0", "1", "9", "VALUE:4" ], [ "2B", "1", "1", "1", "VALUE:4" ], [ "2B", "1", "1", "2", "VALUE:4" ], [ "2B", "1", "1", "3", "VALUE:4" ], [ "2B", "1", "1", "9", "VALUE:4" ], [ "2B", "X", "1", "1", "VALUE:4" ], [ "2B", "X", "1", "2", "VALUE:4" ], [ "2B", "X", "1", "3", "VALUE:4" ], [ "2B", "X", "1", "9", "VALUE:4" ], [ "2", "0", "1", "1", "VALUE:4" ], [ "2", "0", "1", "2", "VALUE:4" ], [ "2", "0", "1", "3", "VALUE:4" ], [ "2", "0", "1", "9", "VALUE:4" ], [ "2", "1", "1", "1", "VALUE:4" ], [ "2", "1", "1", "2", "VALUE:4" ], [ "2", "1", "1", "3", "VALUE:4" ], [ "2", "1", "1", "9", "VALUE:4" ], [ "2", "X", "1", "1", "VALUE:4" ], [ "2", "X", "1", "2", "VALUE:4" ], [ "2", "X", "1", "3", "VALUE:4" ], [ "2", "X", "1", "9", "VALUE:4" ], [ "X", "0", "1", "1", "VALUE:4" ], [ "X", "0", "1", "2", "VALUE:4" ], [ "X", "0", "1", "3", "VALUE:4" ], [ "X", "0", "1", "9", "VALUE:4" ], [ "X", "1", "1", "1", "VALUE:4" ], [ "X", "1", "1", "2", "VALUE:4" ], [ "X", "1", "1", "3", "VALUE:4" ], [ "X", "1", "1", "9", "VALUE:4" ], [ "X", "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "2", "VALUE:4" ], [ "X", "X", "1", "3", "VALUE:4" ], [ "X", "X", "1", "9", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubk.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubk.json deleted file mode 100644 index 79485e7b1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubk.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubk", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:01.842Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2A", "0", "VALUE:4A" ], [ "0", "2B", "0", "VALUE:4A" ], [ "0", "2C", "0", "VALUE:4A" ], [ "0", "2", "0", "VALUE:4A" ], [ "0", "3", "0", "VALUE:4B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2A", "0", "ERROR:" ], [ "IS", "2B", "0", "ERROR:" ], [ "IS", "2C", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "3", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:3" ], [ "1A", "2A", "0", "VALUE:4A" ], [ "1A", "2B", "0", "VALUE:4A" ], [ "1A", "2C", "0", "VALUE:4A" ], [ "1A", "2", "0", "VALUE:4A" ], [ "1A", "3", "0", "VALUE:4B" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1", "0", "VALUE:3" ], [ "1B", "2A", "0", "VALUE:4A" ], [ "1B", "2B", "0", "VALUE:4A" ], [ "1B", "2C", "0", "VALUE:4A" ], [ "1B", "2", "0", "VALUE:4A" ], [ "1B", "3", "0", "VALUE:4B" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "2A", "0", "VALUE:4A" ], [ "1", "2B", "0", "VALUE:4A" ], [ "1", "2C", "0", "VALUE:4A" ], [ "1", "2", "0", "VALUE:4A" ], [ "1", "3", "0", "VALUE:4B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "2A", "0", "VALUE:4A" ], [ "2", "2B", "0", "VALUE:4A" ], [ "2", "2C", "0", "VALUE:4A" ], [ "2", "2", "0", "VALUE:4A" ], [ "2", "3", "0", "VALUE:4B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "2A", "0", "VALUE:4A" ], [ "3", "2B", "0", "VALUE:4A" ], [ "3", "2C", "0", "VALUE:4A" ], [ "3", "2", "0", "VALUE:4A" ], [ "3", "3", "0", "VALUE:4B" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:4A" ], [ "4A", "1", "0", "VALUE:4A" ], [ "4A", "2A", "0", "VALUE:4A" ], [ "4A", "2B", "0", "VALUE:4A" ], [ "4A", "2C", "0", "VALUE:4A" ], [ "4A", "2", "0", "VALUE:4A" ], [ "4A", "3", "0", "VALUE:4B" ], [ "4A", "X", "0", "VALUE:4" ], [ "4B", "0", "0", "VALUE:4B" ], [ "4B", "1", "0", "VALUE:4B" ], [ "4B", "2A", "0", "VALUE:4B" ], [ "4B", "2B", "0", "VALUE:4B" ], [ "4B", "2C", "0", "VALUE:4B" ], [ "4B", "2", "0", "VALUE:4B" ], [ "4B", "3", "0", "VALUE:4B" ], [ "4B", "X", "0", "VALUE:4B" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2A", "0", "VALUE:4" ], [ "4", "2B", "0", "VALUE:4" ], [ "4", "2C", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4B" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2A", "0", "VALUE:4" ], [ "X", "2B", "0", "VALUE:4" ], [ "X", "2C", "0", "VALUE:4" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "3", "0", "VALUE:4B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4C" ], [ "0", "1", "1", "VALUE:4C" ], [ "0", "2A", "1", "VALUE:4C" ], [ "0", "2B", "1", "VALUE:4C" ], [ "0", "2C", "1", "VALUE:4C" ], [ "0", "2", "1", "VALUE:4C" ], [ "0", "3", "1", "VALUE:4C" ], [ "0", "X", "1", "VALUE:4C" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2A", "1", "ERROR:" ], [ "IS", "2B", "1", "ERROR:" ], [ "IS", "2C", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "3", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1A", "0", "1", "VALUE:4C" ], [ "1A", "1", "1", "VALUE:4C" ], [ "1A", "2A", "1", "VALUE:4C" ], [ "1A", "2B", "1", "VALUE:4C" ], [ "1A", "2C", "1", "VALUE:4C" ], [ "1A", "2", "1", "VALUE:4C" ], [ "1A", "3", "1", "VALUE:4C" ], [ "1A", "X", "1", "VALUE:4C" ], [ "1B", "0", "1", "VALUE:4C" ], [ "1B", "1", "1", "VALUE:4C" ], [ "1B", "2A", "1", "VALUE:4C" ], [ "1B", "2B", "1", "VALUE:4C" ], [ "1B", "2C", "1", "VALUE:4C" ], [ "1B", "2", "1", "VALUE:4C" ], [ "1B", "3", "1", "VALUE:4C" ], [ "1B", "X", "1", "VALUE:4C" ], [ "1", "0", "1", "VALUE:4C" ], [ "1", "1", "1", "VALUE:4C" ], [ "1", "2A", "1", "VALUE:4C" ], [ "1", "2B", "1", "VALUE:4C" ], [ "1", "2C", "1", "VALUE:4C" ], [ "1", "2", "1", "VALUE:4C" ], [ "1", "3", "1", "VALUE:4C" ], [ "1", "X", "1", "VALUE:4C" ], [ "2", "0", "1", "VALUE:4C" ], [ "2", "1", "1", "VALUE:4C" ], [ "2", "2A", "1", "VALUE:4C" ], [ "2", "2B", "1", "VALUE:4C" ], [ "2", "2C", "1", "VALUE:4C" ], [ "2", "2", "1", "VALUE:4C" ], [ "2", "3", "1", "VALUE:4C" ], [ "2", "X", "1", "VALUE:4C" ], [ "3", "0", "1", "VALUE:4C" ], [ "3", "1", "1", "VALUE:4C" ], [ "3", "2A", "1", "VALUE:4C" ], [ "3", "2B", "1", "VALUE:4C" ], [ "3", "2C", "1", "VALUE:4C" ], [ "3", "2", "1", "VALUE:4C" ], [ "3", "3", "1", "VALUE:4C" ], [ "3", "X", "1", "VALUE:4C" ], [ "4A", "0", "1", "VALUE:4C" ], [ "4A", "1", "1", "VALUE:4C" ], [ "4A", "2A", "1", "VALUE:4C" ], [ "4A", "2B", "1", "VALUE:4C" ], [ "4A", "2C", "1", "VALUE:4C" ], [ "4A", "2", "1", "VALUE:4C" ], [ "4A", "3", "1", "VALUE:4C" ], [ "4A", "X", "1", "VALUE:4C" ], [ "4B", "0", "1", "VALUE:4C" ], [ "4B", "1", "1", "VALUE:4C" ], [ "4B", "2A", "1", "VALUE:4C" ], [ "4B", "2B", "1", "VALUE:4C" ], [ "4B", "2C", "1", "VALUE:4C" ], [ "4B", "2", "1", "VALUE:4C" ], [ "4B", "3", "1", "VALUE:4C" ], [ "4B", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "2A", "1", "VALUE:4C" ], [ "4", "2B", "1", "VALUE:4C" ], [ "4", "2C", "1", "VALUE:4C" ], [ "4", "2", "1", "VALUE:4C" ], [ "4", "3", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "X", "0", "1", "VALUE:4C" ], [ "X", "1", "1", "VALUE:4C" ], [ "X", "2A", "1", "VALUE:4C" ], [ "X", "2B", "1", "VALUE:4C" ], [ "X", "2C", "1", "VALUE:4C" ], [ "X", "2", "1", "VALUE:4C" ], [ "X", "3", "1", "VALUE:4C" ], [ "X", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubl.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubl.json deleted file mode 100644 index 94cd3db95..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubl.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubl", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.672Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:4A" ], [ "0", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:4A" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:4A" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:4A" ], [ "3A", "X", "0", "VALUE:99" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:4A" ], [ "3B", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:4A" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3C" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:4A" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3A", "0", "1", "VALUE:4B" ], [ "3A", "1", "1", "VALUE:4B" ], [ "3A", "X", "1", "VALUE:4B" ], [ "3B", "0", "1", "VALUE:4B" ], [ "3B", "1", "1", "VALUE:4B" ], [ "3B", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubm.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubm.json deleted file mode 100644 index 32093f5db..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubm.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.893Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:99" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1A" ], [ "1", "1", "0", "VALUE:2B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:1B" ], [ "2", "1", "0", "VALUE:2B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2A" ], [ "3", "1", "0", "VALUE:2B" ], [ "3", "X", "0", "VALUE:2" ], [ "4", "0", "0", "VALUE:3" ], [ "4", "1", "0", "VALUE:3" ], [ "4", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubn.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubn.json deleted file mode 100644 index f3791f6f2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubn.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubn", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:01.856Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2", "0", "VALUE:4B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3B" ], [ "1", "2", "0", "VALUE:4B" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2" ], [ "2A", "1", "0", "VALUE:3B" ], [ "2A", "2", "0", "VALUE:4B" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2" ], [ "2B", "1", "0", "VALUE:3B" ], [ "2B", "2", "0", "VALUE:4B" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3B" ], [ "2", "2", "0", "VALUE:4B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3A" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "2", "0", "VALUE:4B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "2", "0", "VALUE:4B" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:4B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "2", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "2", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2A", "0", "1", "VALUE:4B" ], [ "2A", "1", "1", "VALUE:4B" ], [ "2A", "2", "1", "VALUE:4B" ], [ "2A", "X", "1", "VALUE:4B" ], [ "2B", "0", "1", "VALUE:4B" ], [ "2B", "1", "1", "VALUE:4B" ], [ "2B", "2", "1", "VALUE:4B" ], [ "2B", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "2", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "2", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "2", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "2", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubp.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubp.json deleted file mode 100644 index 84ff315a7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubp.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "tnm7_stage_ubp", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:03.841Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "psa", - "name" : "PSA", - "type" : "INPUT" - }, { - "key" : "gleason", - "name" : "Gleason", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "001-099", "002-006", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "001-099", "007", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "001-099", "008-010", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "001-099", "988,998,999", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "100-199", "002-006", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "100-199", "007", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "100-199", "008-010", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "100-199", "988,998,999", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "200-980", "002-006", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "200-980", "007", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "200-980", "008-010", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "200-980", "988,998,999", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "988,997,998,999", "002-006", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "988,997,998,999", "007", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "988,997,998,999", "008-010", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "988,997,998,999", "988,998,999", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "0", "1", "0", "001-099", "007", "VALUE:4" ], [ "0", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "0", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "0", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "0", "1", "0", "100-199", "007", "VALUE:4" ], [ "0", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "0", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "0", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "0", "1", "0", "200-980", "007", "VALUE:4" ], [ "0", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "0", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "0", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "0", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "0", "X", "0", "001-099", "007", "VALUE:99" ], [ "0", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "0", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "0", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "0", "X", "0", "100-199", "007", "VALUE:99" ], [ "0", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "0", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "0", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "0", "X", "0", "200-980", "007", "VALUE:99" ], [ "0", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "0", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "0", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "0", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "0", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "0", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "1A", "0", "0", "001-099", "002-006", "VALUE:1" ], [ "1A", "0", "0", "001-099", "007", "VALUE:2A" ], [ "1A", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "1A", "0", "0", "001-099", "988,998,999", "VALUE:1" ], [ "1A", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "1A", "0", "0", "100-199", "007", "VALUE:2A" ], [ "1A", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "1A", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "1A", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "1A", "0", "0", "200-980", "007", "VALUE:2B" ], [ "1A", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "1A", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "1A", "0", "0", "988,997,998,999", "002-006", "VALUE:1" ], [ "1A", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "1A", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "1A", "0", "0", "988,997,998,999", "988,998,999", "VALUE:1" ], [ "1A", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "1A", "1", "0", "001-099", "007", "VALUE:4" ], [ "1A", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "1A", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "1A", "1", "0", "100-199", "007", "VALUE:4" ], [ "1A", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "1A", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "1A", "1", "0", "200-980", "007", "VALUE:4" ], [ "1A", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "1A", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "1A", "X", "0", "001-099", "007", "VALUE:99" ], [ "1A", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "1A", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "1A", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "1A", "X", "0", "100-199", "007", "VALUE:99" ], [ "1A", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "1A", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "1A", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "1A", "X", "0", "200-980", "007", "VALUE:99" ], [ "1A", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "1A", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "1A", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "1A", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "1A", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "1A", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "1B", "0", "0", "001-099", "002-006", "VALUE:1" ], [ "1B", "0", "0", "001-099", "007", "VALUE:2A" ], [ "1B", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "1B", "0", "0", "001-099", "988,998,999", "VALUE:1" ], [ "1B", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "1B", "0", "0", "100-199", "007", "VALUE:2A" ], [ "1B", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "1B", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "1B", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "1B", "0", "0", "200-980", "007", "VALUE:2B" ], [ "1B", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "1B", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "1B", "0", "0", "988,997,998,999", "002-006", "VALUE:1" ], [ "1B", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "1B", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "1B", "0", "0", "988,997,998,999", "988,998,999", "VALUE:1" ], [ "1B", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "1B", "1", "0", "001-099", "007", "VALUE:4" ], [ "1B", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "1B", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "1B", "1", "0", "100-199", "007", "VALUE:4" ], [ "1B", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "1B", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "1B", "1", "0", "200-980", "007", "VALUE:4" ], [ "1B", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "1B", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "1B", "X", "0", "001-099", "007", "VALUE:99" ], [ "1B", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "1B", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "1B", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "1B", "X", "0", "100-199", "007", "VALUE:99" ], [ "1B", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "1B", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "1B", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "1B", "X", "0", "200-980", "007", "VALUE:99" ], [ "1B", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "1B", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "1B", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "1B", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "1B", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "1B", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "1C", "0", "0", "001-099", "002-006", "VALUE:1" ], [ "1C", "0", "0", "001-099", "007", "VALUE:2A" ], [ "1C", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "1C", "0", "0", "001-099", "988,998,999", "VALUE:1" ], [ "1C", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "1C", "0", "0", "100-199", "007", "VALUE:2A" ], [ "1C", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "1C", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "1C", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "1C", "0", "0", "200-980", "007", "VALUE:2B" ], [ "1C", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "1C", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "1C", "0", "0", "988,997,998,999", "002-006", "VALUE:1" ], [ "1C", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "1C", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "1C", "0", "0", "988,997,998,999", "988,998,999", "VALUE:1" ], [ "1C", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "1C", "1", "0", "001-099", "007", "VALUE:4" ], [ "1C", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "1C", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "1C", "1", "0", "100-199", "007", "VALUE:4" ], [ "1C", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "1C", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "1C", "1", "0", "200-980", "007", "VALUE:4" ], [ "1C", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "1C", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "1C", "X", "0", "001-099", "007", "VALUE:99" ], [ "1C", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "1C", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "1C", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "1C", "X", "0", "100-199", "007", "VALUE:99" ], [ "1C", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "1C", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "1C", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "1C", "X", "0", "200-980", "007", "VALUE:99" ], [ "1C", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "1C", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "1C", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "1C", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "1C", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "1C", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "1", "0", "0", "001-099", "002-006", "VALUE:1" ], [ "1", "0", "0", "001-099", "007", "VALUE:2A" ], [ "1", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "1", "0", "0", "001-099", "988,998,999", "VALUE:1" ], [ "1", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "1", "0", "0", "100-199", "007", "VALUE:2A" ], [ "1", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "1", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "1", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "1", "0", "0", "200-980", "007", "VALUE:2B" ], [ "1", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "1", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "1", "0", "0", "988,997,998,999", "002-006", "VALUE:1" ], [ "1", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "1", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "1", "0", "0", "988,997,998,999", "988,998,999", "VALUE:1" ], [ "1", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "1", "1", "0", "001-099", "007", "VALUE:4" ], [ "1", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "1", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "1", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "1", "1", "0", "100-199", "007", "VALUE:4" ], [ "1", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "1", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "1", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "1", "1", "0", "200-980", "007", "VALUE:4" ], [ "1", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "1", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "1", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "1", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "1", "X", "0", "001-099", "007", "VALUE:99" ], [ "1", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "1", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "1", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "1", "X", "0", "100-199", "007", "VALUE:99" ], [ "1", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "1", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "1", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "1", "X", "0", "200-980", "007", "VALUE:99" ], [ "1", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "1", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "1", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "1", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "1", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "1", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "2A", "0", "0", "001-099", "002-006", "VALUE:1" ], [ "2A", "0", "0", "001-099", "007", "VALUE:2A" ], [ "2A", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "2A", "0", "0", "001-099", "988,998,999", "VALUE:1" ], [ "2A", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "2A", "0", "0", "100-199", "007", "VALUE:2A" ], [ "2A", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "2A", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "2A", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "2A", "0", "0", "200-980", "007", "VALUE:2B" ], [ "2A", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "2A", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "2A", "0", "0", "988,997,998,999", "002-006", "VALUE:1" ], [ "2A", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "2A", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "2A", "0", "0", "988,997,998,999", "988,998,999", "VALUE:1" ], [ "2A", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "2A", "1", "0", "001-099", "007", "VALUE:4" ], [ "2A", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "2A", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "2A", "1", "0", "100-199", "007", "VALUE:4" ], [ "2A", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "2A", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "2A", "1", "0", "200-980", "007", "VALUE:4" ], [ "2A", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "2A", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "2A", "X", "0", "001-099", "007", "VALUE:99" ], [ "2A", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "2A", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "2A", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "2A", "X", "0", "100-199", "007", "VALUE:99" ], [ "2A", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "2A", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "2A", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "2A", "X", "0", "200-980", "007", "VALUE:99" ], [ "2A", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "2A", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "2A", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "2A", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "2A", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "2A", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "2B", "0", "0", "001-099", "002-006", "VALUE:2A" ], [ "2B", "0", "0", "001-099", "007", "VALUE:2A" ], [ "2B", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "2B", "0", "0", "001-099", "988,998,999", "VALUE:2A" ], [ "2B", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "2B", "0", "0", "100-199", "007", "VALUE:2A" ], [ "2B", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "2B", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "2B", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "2B", "0", "0", "200-980", "007", "VALUE:2B" ], [ "2B", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "2B", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "2B", "0", "0", "988,997,998,999", "002-006", "VALUE:2A" ], [ "2B", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "2B", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "2B", "0", "0", "988,997,998,999", "988,998,999", "VALUE:2A" ], [ "2B", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "2B", "1", "0", "001-099", "007", "VALUE:4" ], [ "2B", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "2B", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "2B", "1", "0", "100-199", "007", "VALUE:4" ], [ "2B", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "2B", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "2B", "1", "0", "200-980", "007", "VALUE:4" ], [ "2B", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "2B", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "2B", "X", "0", "001-099", "007", "VALUE:99" ], [ "2B", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "2B", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "2B", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "2B", "X", "0", "100-199", "007", "VALUE:99" ], [ "2B", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "2B", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "2B", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "2B", "X", "0", "200-980", "007", "VALUE:99" ], [ "2B", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "2B", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "2B", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "2B", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "2B", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "2B", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "2C", "0", "0", "001-099", "002-006", "VALUE:2B" ], [ "2C", "0", "0", "001-099", "007", "VALUE:2B" ], [ "2C", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "2C", "0", "0", "001-099", "988,998,999", "VALUE:2B" ], [ "2C", "0", "0", "100-199", "002-006", "VALUE:2B" ], [ "2C", "0", "0", "100-199", "007", "VALUE:2B" ], [ "2C", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "2C", "0", "0", "100-199", "988,998,999", "VALUE:2B" ], [ "2C", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "2C", "0", "0", "200-980", "007", "VALUE:2B" ], [ "2C", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "2C", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "2C", "0", "0", "988,997,998,999", "002-006", "VALUE:2B" ], [ "2C", "0", "0", "988,997,998,999", "007", "VALUE:2B" ], [ "2C", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "2C", "0", "0", "988,997,998,999", "988,998,999", "VALUE:2B" ], [ "2C", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "2C", "1", "0", "001-099", "007", "VALUE:4" ], [ "2C", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "2C", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "2C", "1", "0", "100-199", "007", "VALUE:4" ], [ "2C", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "2C", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "2C", "1", "0", "200-980", "007", "VALUE:4" ], [ "2C", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "2C", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "2C", "X", "0", "001-099", "007", "VALUE:99" ], [ "2C", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "2C", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "2C", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "2C", "X", "0", "100-199", "007", "VALUE:99" ], [ "2C", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "2C", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "2C", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "2C", "X", "0", "200-980", "007", "VALUE:99" ], [ "2C", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "2C", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "2C", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "2C", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "2C", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "2C", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "2", "0", "0", "001-099", "002-006", "VALUE:1" ], [ "2", "0", "0", "001-099", "007", "VALUE:2A" ], [ "2", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "2", "0", "0", "001-099", "988,998,999", "VALUE:1" ], [ "2", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "2", "0", "0", "100-199", "007", "VALUE:2A" ], [ "2", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "2", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "2", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "2", "0", "0", "200-980", "007", "VALUE:2B" ], [ "2", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "2", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "2", "0", "0", "988,997,998,999", "002-006", "VALUE:1" ], [ "2", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "2", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "2", "0", "0", "988,997,998,999", "988,998,999", "VALUE:1" ], [ "2", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "2", "1", "0", "001-099", "007", "VALUE:4" ], [ "2", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "2", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "2", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "2", "1", "0", "100-199", "007", "VALUE:4" ], [ "2", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "2", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "2", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "2", "1", "0", "200-980", "007", "VALUE:4" ], [ "2", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "2", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "2", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "2", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "2", "X", "0", "001-099", "007", "VALUE:99" ], [ "2", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "2", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "2", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "2", "X", "0", "100-199", "007", "VALUE:99" ], [ "2", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "2", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "2", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "2", "X", "0", "200-980", "007", "VALUE:99" ], [ "2", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "2", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "2", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "2", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "2", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "2", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "3A", "0", "0", "001-099", "002-006", "VALUE:3" ], [ "3A", "0", "0", "001-099", "007", "VALUE:3" ], [ "3A", "0", "0", "001-099", "008-010", "VALUE:3" ], [ "3A", "0", "0", "001-099", "988,998,999", "VALUE:3" ], [ "3A", "0", "0", "100-199", "002-006", "VALUE:3" ], [ "3A", "0", "0", "100-199", "007", "VALUE:3" ], [ "3A", "0", "0", "100-199", "008-010", "VALUE:3" ], [ "3A", "0", "0", "100-199", "988,998,999", "VALUE:3" ], [ "3A", "0", "0", "200-980", "002-006", "VALUE:3" ], [ "3A", "0", "0", "200-980", "007", "VALUE:3" ], [ "3A", "0", "0", "200-980", "008-010", "VALUE:3" ], [ "3A", "0", "0", "200-980", "988,998,999", "VALUE:3" ], [ "3A", "0", "0", "988,997,998,999", "002-006", "VALUE:3" ], [ "3A", "0", "0", "988,997,998,999", "007", "VALUE:3" ], [ "3A", "0", "0", "988,997,998,999", "008-010", "VALUE:3" ], [ "3A", "0", "0", "988,997,998,999", "988,998,999", "VALUE:3" ], [ "3A", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "3A", "1", "0", "001-099", "007", "VALUE:4" ], [ "3A", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "3A", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "3A", "1", "0", "100-199", "007", "VALUE:4" ], [ "3A", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "3A", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "3A", "1", "0", "200-980", "007", "VALUE:4" ], [ "3A", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "3A", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "3A", "X", "0", "001-099", "007", "VALUE:99" ], [ "3A", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "3A", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "3A", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "3A", "X", "0", "100-199", "007", "VALUE:99" ], [ "3A", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "3A", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "3A", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "3A", "X", "0", "200-980", "007", "VALUE:99" ], [ "3A", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "3A", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "3A", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "3A", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "3A", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "3A", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "3B", "0", "0", "001-099", "002-006", "VALUE:3" ], [ "3B", "0", "0", "001-099", "007", "VALUE:3" ], [ "3B", "0", "0", "001-099", "008-010", "VALUE:3" ], [ "3B", "0", "0", "001-099", "988,998,999", "VALUE:3" ], [ "3B", "0", "0", "100-199", "002-006", "VALUE:3" ], [ "3B", "0", "0", "100-199", "007", "VALUE:3" ], [ "3B", "0", "0", "100-199", "008-010", "VALUE:3" ], [ "3B", "0", "0", "100-199", "988,998,999", "VALUE:3" ], [ "3B", "0", "0", "200-980", "002-006", "VALUE:3" ], [ "3B", "0", "0", "200-980", "007", "VALUE:3" ], [ "3B", "0", "0", "200-980", "008-010", "VALUE:3" ], [ "3B", "0", "0", "200-980", "988,998,999", "VALUE:3" ], [ "3B", "0", "0", "988,997,998,999", "002-006", "VALUE:3" ], [ "3B", "0", "0", "988,997,998,999", "007", "VALUE:3" ], [ "3B", "0", "0", "988,997,998,999", "008-010", "VALUE:3" ], [ "3B", "0", "0", "988,997,998,999", "988,998,999", "VALUE:3" ], [ "3B", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "3B", "1", "0", "001-099", "007", "VALUE:4" ], [ "3B", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "3B", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "3B", "1", "0", "100-199", "007", "VALUE:4" ], [ "3B", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "3B", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "3B", "1", "0", "200-980", "007", "VALUE:4" ], [ "3B", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "3B", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "3B", "X", "0", "001-099", "007", "VALUE:99" ], [ "3B", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "3B", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "3B", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "3B", "X", "0", "100-199", "007", "VALUE:99" ], [ "3B", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "3B", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "3B", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "3B", "X", "0", "200-980", "007", "VALUE:99" ], [ "3B", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "3B", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "3B", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "3B", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "3B", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "3B", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "3", "0", "0", "001-099", "002-006", "VALUE:3" ], [ "3", "0", "0", "001-099", "007", "VALUE:3" ], [ "3", "0", "0", "001-099", "008-010", "VALUE:3" ], [ "3", "0", "0", "001-099", "988,998,999", "VALUE:3" ], [ "3", "0", "0", "100-199", "002-006", "VALUE:3" ], [ "3", "0", "0", "100-199", "007", "VALUE:3" ], [ "3", "0", "0", "100-199", "008-010", "VALUE:3" ], [ "3", "0", "0", "100-199", "988,998,999", "VALUE:3" ], [ "3", "0", "0", "200-980", "002-006", "VALUE:3" ], [ "3", "0", "0", "200-980", "007", "VALUE:3" ], [ "3", "0", "0", "200-980", "008-010", "VALUE:3" ], [ "3", "0", "0", "200-980", "988,998,999", "VALUE:3" ], [ "3", "0", "0", "988,997,998,999", "002-006", "VALUE:3" ], [ "3", "0", "0", "988,997,998,999", "007", "VALUE:3" ], [ "3", "0", "0", "988,997,998,999", "008-010", "VALUE:3" ], [ "3", "0", "0", "988,997,998,999", "988,998,999", "VALUE:3" ], [ "3", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "3", "1", "0", "001-099", "007", "VALUE:4" ], [ "3", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "3", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "3", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "3", "1", "0", "100-199", "007", "VALUE:4" ], [ "3", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "3", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "3", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "3", "1", "0", "200-980", "007", "VALUE:4" ], [ "3", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "3", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "3", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "3", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "3", "X", "0", "001-099", "007", "VALUE:99" ], [ "3", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "3", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "3", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "3", "X", "0", "100-199", "007", "VALUE:99" ], [ "3", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "3", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "3", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "3", "X", "0", "200-980", "007", "VALUE:99" ], [ "3", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "3", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "3", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "3", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "3", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "3", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "4", "0", "0", "001-099", "002-006", "VALUE:4" ], [ "4", "0", "0", "001-099", "007", "VALUE:4" ], [ "4", "0", "0", "001-099", "008-010", "VALUE:4" ], [ "4", "0", "0", "001-099", "988,998,999", "VALUE:4" ], [ "4", "0", "0", "100-199", "002-006", "VALUE:4" ], [ "4", "0", "0", "100-199", "007", "VALUE:4" ], [ "4", "0", "0", "100-199", "008-010", "VALUE:4" ], [ "4", "0", "0", "100-199", "988,998,999", "VALUE:4" ], [ "4", "0", "0", "200-980", "002-006", "VALUE:4" ], [ "4", "0", "0", "200-980", "007", "VALUE:4" ], [ "4", "0", "0", "200-980", "008-010", "VALUE:4" ], [ "4", "0", "0", "200-980", "988,998,999", "VALUE:4" ], [ "4", "0", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "0", "0", "988,997,998,999", "007", "VALUE:4" ], [ "4", "0", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "0", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "4", "1", "0", "001-099", "007", "VALUE:4" ], [ "4", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "4", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "4", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "4", "1", "0", "100-199", "007", "VALUE:4" ], [ "4", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "4", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "4", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "4", "1", "0", "200-980", "007", "VALUE:4" ], [ "4", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "4", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "4", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "4", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "X", "0", "001-099", "002-006", "VALUE:4" ], [ "4", "X", "0", "001-099", "007", "VALUE:4" ], [ "4", "X", "0", "001-099", "008-010", "VALUE:4" ], [ "4", "X", "0", "001-099", "988,998,999", "VALUE:4" ], [ "4", "X", "0", "100-199", "002-006", "VALUE:4" ], [ "4", "X", "0", "100-199", "007", "VALUE:4" ], [ "4", "X", "0", "100-199", "008-010", "VALUE:4" ], [ "4", "X", "0", "100-199", "988,998,999", "VALUE:4" ], [ "4", "X", "0", "200-980", "002-006", "VALUE:4" ], [ "4", "X", "0", "200-980", "007", "VALUE:4" ], [ "4", "X", "0", "200-980", "008-010", "VALUE:4" ], [ "4", "X", "0", "200-980", "988,998,999", "VALUE:4" ], [ "4", "X", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "X", "0", "988,997,998,999", "007", "VALUE:4" ], [ "4", "X", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "X", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "0", "0", "001-099", "002-006", "VALUE:99" ], [ "X", "0", "0", "001-099", "007", "VALUE:99" ], [ "X", "0", "0", "001-099", "008-010", "VALUE:99" ], [ "X", "0", "0", "001-099", "988,998,999", "VALUE:99" ], [ "X", "0", "0", "100-199", "002-006", "VALUE:99" ], [ "X", "0", "0", "100-199", "007", "VALUE:99" ], [ "X", "0", "0", "100-199", "008-010", "VALUE:99" ], [ "X", "0", "0", "100-199", "988,998,999", "VALUE:99" ], [ "X", "0", "0", "200-980", "002-006", "VALUE:99" ], [ "X", "0", "0", "200-980", "007", "VALUE:99" ], [ "X", "0", "0", "200-980", "008-010", "VALUE:99" ], [ "X", "0", "0", "200-980", "988,998,999", "VALUE:99" ], [ "X", "0", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "X", "0", "0", "988,997,998,999", "007", "VALUE:99" ], [ "X", "0", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "X", "0", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "X", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "X", "1", "0", "001-099", "007", "VALUE:4" ], [ "X", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "X", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "X", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "X", "1", "0", "100-199", "007", "VALUE:4" ], [ "X", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "X", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "X", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "X", "1", "0", "200-980", "007", "VALUE:4" ], [ "X", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "X", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "X", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "X", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "X", "X", "0", "001-099", "007", "VALUE:99" ], [ "X", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "X", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "X", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "X", "X", "0", "100-199", "007", "VALUE:99" ], [ "X", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "X", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "X", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "X", "X", "0", "200-980", "007", "VALUE:99" ], [ "X", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "X", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "X", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "X", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "X", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "X", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "0", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "0", "0", "1A", "001-099", "007", "VALUE:4" ], [ "0", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "0", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "0", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "0", "0", "1A", "100-199", "007", "VALUE:4" ], [ "0", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "0", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "0", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "0", "0", "1A", "200-980", "007", "VALUE:4" ], [ "0", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "0", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "0", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "0", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "0", "1", "1A", "001-099", "007", "VALUE:4" ], [ "0", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "0", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "0", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "0", "1", "1A", "100-199", "007", "VALUE:4" ], [ "0", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "0", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "0", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "0", "1", "1A", "200-980", "007", "VALUE:4" ], [ "0", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "0", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "0", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "0", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "0", "X", "1A", "001-099", "007", "VALUE:4" ], [ "0", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "0", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "0", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "0", "X", "1A", "100-199", "007", "VALUE:4" ], [ "0", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "0", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "0", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "0", "X", "1A", "200-980", "007", "VALUE:4" ], [ "0", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "0", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "0", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "0", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "1A", "0", "1A", "001-099", "007", "VALUE:4" ], [ "1A", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "1A", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "1A", "0", "1A", "100-199", "007", "VALUE:4" ], [ "1A", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "1A", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "1A", "0", "1A", "200-980", "007", "VALUE:4" ], [ "1A", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "1A", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "1A", "1", "1A", "001-099", "007", "VALUE:4" ], [ "1A", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "1A", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "1A", "1", "1A", "100-199", "007", "VALUE:4" ], [ "1A", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "1A", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "1A", "1", "1A", "200-980", "007", "VALUE:4" ], [ "1A", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "1A", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "1A", "X", "1A", "001-099", "007", "VALUE:4" ], [ "1A", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "1A", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "1A", "X", "1A", "100-199", "007", "VALUE:4" ], [ "1A", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "1A", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "1A", "X", "1A", "200-980", "007", "VALUE:4" ], [ "1A", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "1A", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "1B", "0", "1A", "001-099", "007", "VALUE:4" ], [ "1B", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "1B", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "1B", "0", "1A", "100-199", "007", "VALUE:4" ], [ "1B", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "1B", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "1B", "0", "1A", "200-980", "007", "VALUE:4" ], [ "1B", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "1B", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "1B", "1", "1A", "001-099", "007", "VALUE:4" ], [ "1B", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "1B", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "1B", "1", "1A", "100-199", "007", "VALUE:4" ], [ "1B", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "1B", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "1B", "1", "1A", "200-980", "007", "VALUE:4" ], [ "1B", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "1B", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "1B", "X", "1A", "001-099", "007", "VALUE:4" ], [ "1B", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "1B", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "1B", "X", "1A", "100-199", "007", "VALUE:4" ], [ "1B", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "1B", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "1B", "X", "1A", "200-980", "007", "VALUE:4" ], [ "1B", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "1B", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "1C", "0", "1A", "001-099", "007", "VALUE:4" ], [ "1C", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "1C", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "1C", "0", "1A", "100-199", "007", "VALUE:4" ], [ "1C", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "1C", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "1C", "0", "1A", "200-980", "007", "VALUE:4" ], [ "1C", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "1C", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "1C", "1", "1A", "001-099", "007", "VALUE:4" ], [ "1C", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "1C", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "1C", "1", "1A", "100-199", "007", "VALUE:4" ], [ "1C", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "1C", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "1C", "1", "1A", "200-980", "007", "VALUE:4" ], [ "1C", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "1C", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "1C", "X", "1A", "001-099", "007", "VALUE:4" ], [ "1C", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "1C", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "1C", "X", "1A", "100-199", "007", "VALUE:4" ], [ "1C", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "1C", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "1C", "X", "1A", "200-980", "007", "VALUE:4" ], [ "1C", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "1C", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "1", "0", "1A", "001-099", "007", "VALUE:4" ], [ "1", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "1", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "1", "0", "1A", "100-199", "007", "VALUE:4" ], [ "1", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "1", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "1", "0", "1A", "200-980", "007", "VALUE:4" ], [ "1", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "1", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "1", "1", "1A", "001-099", "007", "VALUE:4" ], [ "1", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "1", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "1", "1", "1A", "100-199", "007", "VALUE:4" ], [ "1", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "1", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "1", "1", "1A", "200-980", "007", "VALUE:4" ], [ "1", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "1", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "1", "X", "1A", "001-099", "007", "VALUE:4" ], [ "1", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "1", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "1", "X", "1A", "100-199", "007", "VALUE:4" ], [ "1", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "1", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "1", "X", "1A", "200-980", "007", "VALUE:4" ], [ "1", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "1", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "2A", "0", "1A", "001-099", "007", "VALUE:4" ], [ "2A", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "2A", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "2A", "0", "1A", "100-199", "007", "VALUE:4" ], [ "2A", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "2A", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "2A", "0", "1A", "200-980", "007", "VALUE:4" ], [ "2A", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "2A", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "2A", "1", "1A", "001-099", "007", "VALUE:4" ], [ "2A", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "2A", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "2A", "1", "1A", "100-199", "007", "VALUE:4" ], [ "2A", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "2A", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "2A", "1", "1A", "200-980", "007", "VALUE:4" ], [ "2A", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "2A", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "2A", "X", "1A", "001-099", "007", "VALUE:4" ], [ "2A", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "2A", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "2A", "X", "1A", "100-199", "007", "VALUE:4" ], [ "2A", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "2A", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "2A", "X", "1A", "200-980", "007", "VALUE:4" ], [ "2A", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "2A", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "2B", "0", "1A", "001-099", "007", "VALUE:4" ], [ "2B", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "2B", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "2B", "0", "1A", "100-199", "007", "VALUE:4" ], [ "2B", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "2B", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "2B", "0", "1A", "200-980", "007", "VALUE:4" ], [ "2B", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "2B", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "2B", "1", "1A", "001-099", "007", "VALUE:4" ], [ "2B", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "2B", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "2B", "1", "1A", "100-199", "007", "VALUE:4" ], [ "2B", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "2B", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "2B", "1", "1A", "200-980", "007", "VALUE:4" ], [ "2B", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "2B", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "2B", "X", "1A", "001-099", "007", "VALUE:4" ], [ "2B", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "2B", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "2B", "X", "1A", "100-199", "007", "VALUE:4" ], [ "2B", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "2B", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "2B", "X", "1A", "200-980", "007", "VALUE:4" ], [ "2B", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "2B", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "2C", "0", "1A", "001-099", "007", "VALUE:4" ], [ "2C", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "2C", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "2C", "0", "1A", "100-199", "007", "VALUE:4" ], [ "2C", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "2C", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "2C", "0", "1A", "200-980", "007", "VALUE:4" ], [ "2C", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "2C", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "2C", "1", "1A", "001-099", "007", "VALUE:4" ], [ "2C", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "2C", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "2C", "1", "1A", "100-199", "007", "VALUE:4" ], [ "2C", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "2C", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "2C", "1", "1A", "200-980", "007", "VALUE:4" ], [ "2C", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "2C", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "2C", "X", "1A", "001-099", "007", "VALUE:4" ], [ "2C", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "2C", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "2C", "X", "1A", "100-199", "007", "VALUE:4" ], [ "2C", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "2C", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "2C", "X", "1A", "200-980", "007", "VALUE:4" ], [ "2C", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "2C", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "2", "0", "1A", "001-099", "007", "VALUE:4" ], [ "2", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "2", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "2", "0", "1A", "100-199", "007", "VALUE:4" ], [ "2", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "2", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "2", "0", "1A", "200-980", "007", "VALUE:4" ], [ "2", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "2", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "2", "1", "1A", "001-099", "007", "VALUE:4" ], [ "2", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "2", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "2", "1", "1A", "100-199", "007", "VALUE:4" ], [ "2", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "2", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "2", "1", "1A", "200-980", "007", "VALUE:4" ], [ "2", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "2", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "2", "X", "1A", "001-099", "007", "VALUE:4" ], [ "2", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "2", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "2", "X", "1A", "100-199", "007", "VALUE:4" ], [ "2", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "2", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "2", "X", "1A", "200-980", "007", "VALUE:4" ], [ "2", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "2", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "3A", "0", "1A", "001-099", "007", "VALUE:4" ], [ "3A", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "3A", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "3A", "0", "1A", "100-199", "007", "VALUE:4" ], [ "3A", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "3A", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "3A", "0", "1A", "200-980", "007", "VALUE:4" ], [ "3A", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "3A", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "3A", "1", "1A", "001-099", "007", "VALUE:4" ], [ "3A", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "3A", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "3A", "1", "1A", "100-199", "007", "VALUE:4" ], [ "3A", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "3A", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "3A", "1", "1A", "200-980", "007", "VALUE:4" ], [ "3A", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "3A", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "3A", "X", "1A", "001-099", "007", "VALUE:4" ], [ "3A", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "3A", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "3A", "X", "1A", "100-199", "007", "VALUE:4" ], [ "3A", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "3A", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "3A", "X", "1A", "200-980", "007", "VALUE:4" ], [ "3A", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "3A", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "3B", "0", "1A", "001-099", "007", "VALUE:4" ], [ "3B", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "3B", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "3B", "0", "1A", "100-199", "007", "VALUE:4" ], [ "3B", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "3B", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "3B", "0", "1A", "200-980", "007", "VALUE:4" ], [ "3B", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "3B", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "3B", "1", "1A", "001-099", "007", "VALUE:4" ], [ "3B", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "3B", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "3B", "1", "1A", "100-199", "007", "VALUE:4" ], [ "3B", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "3B", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "3B", "1", "1A", "200-980", "007", "VALUE:4" ], [ "3B", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "3B", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "3B", "X", "1A", "001-099", "007", "VALUE:4" ], [ "3B", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "3B", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "3B", "X", "1A", "100-199", "007", "VALUE:4" ], [ "3B", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "3B", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "3B", "X", "1A", "200-980", "007", "VALUE:4" ], [ "3B", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "3B", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "3", "0", "1A", "001-099", "007", "VALUE:4" ], [ "3", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "3", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "3", "0", "1A", "100-199", "007", "VALUE:4" ], [ "3", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "3", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "3", "0", "1A", "200-980", "007", "VALUE:4" ], [ "3", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "3", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "3", "1", "1A", "001-099", "007", "VALUE:4" ], [ "3", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "3", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "3", "1", "1A", "100-199", "007", "VALUE:4" ], [ "3", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "3", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "3", "1", "1A", "200-980", "007", "VALUE:4" ], [ "3", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "3", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "3", "X", "1A", "001-099", "007", "VALUE:4" ], [ "3", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "3", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "3", "X", "1A", "100-199", "007", "VALUE:4" ], [ "3", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "3", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "3", "X", "1A", "200-980", "007", "VALUE:4" ], [ "3", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "3", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "4", "0", "1A", "001-099", "007", "VALUE:4" ], [ "4", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "4", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "4", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "4", "0", "1A", "100-199", "007", "VALUE:4" ], [ "4", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "4", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "4", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "4", "0", "1A", "200-980", "007", "VALUE:4" ], [ "4", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "4", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "4", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "4", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "4", "1", "1A", "001-099", "007", "VALUE:4" ], [ "4", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "4", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "4", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "4", "1", "1A", "100-199", "007", "VALUE:4" ], [ "4", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "4", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "4", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "4", "1", "1A", "200-980", "007", "VALUE:4" ], [ "4", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "4", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "4", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "4", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "4", "X", "1A", "001-099", "007", "VALUE:4" ], [ "4", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "4", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "4", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "4", "X", "1A", "100-199", "007", "VALUE:4" ], [ "4", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "4", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "4", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "4", "X", "1A", "200-980", "007", "VALUE:4" ], [ "4", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "4", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "4", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "4", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "X", "0", "1A", "001-099", "007", "VALUE:4" ], [ "X", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "X", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "X", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "X", "0", "1A", "100-199", "007", "VALUE:4" ], [ "X", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "X", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "X", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "X", "0", "1A", "200-980", "007", "VALUE:4" ], [ "X", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "X", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "X", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "X", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "X", "1", "1A", "001-099", "007", "VALUE:4" ], [ "X", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "X", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "X", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "X", "1", "1A", "100-199", "007", "VALUE:4" ], [ "X", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "X", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "X", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "X", "1", "1A", "200-980", "007", "VALUE:4" ], [ "X", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "X", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "X", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "X", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "X", "X", "1A", "001-099", "007", "VALUE:4" ], [ "X", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "X", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "X", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "X", "X", "1A", "100-199", "007", "VALUE:4" ], [ "X", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "X", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "X", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "X", "X", "1A", "200-980", "007", "VALUE:4" ], [ "X", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "X", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "X", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "X", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "0", "0", "1B", "001-099", "007", "VALUE:4" ], [ "0", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "0", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "0", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "0", "0", "1B", "100-199", "007", "VALUE:4" ], [ "0", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "0", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "0", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "0", "0", "1B", "200-980", "007", "VALUE:4" ], [ "0", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "0", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "0", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "0", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "0", "1", "1B", "001-099", "007", "VALUE:4" ], [ "0", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "0", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "0", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "0", "1", "1B", "100-199", "007", "VALUE:4" ], [ "0", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "0", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "0", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "0", "1", "1B", "200-980", "007", "VALUE:4" ], [ "0", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "0", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "0", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "0", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "0", "X", "1B", "001-099", "007", "VALUE:4" ], [ "0", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "0", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "0", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "0", "X", "1B", "100-199", "007", "VALUE:4" ], [ "0", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "0", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "0", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "0", "X", "1B", "200-980", "007", "VALUE:4" ], [ "0", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "0", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "0", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "0", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "1A", "0", "1B", "001-099", "007", "VALUE:4" ], [ "1A", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "1A", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "1A", "0", "1B", "100-199", "007", "VALUE:4" ], [ "1A", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "1A", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "1A", "0", "1B", "200-980", "007", "VALUE:4" ], [ "1A", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "1A", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "1A", "1", "1B", "001-099", "007", "VALUE:4" ], [ "1A", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "1A", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "1A", "1", "1B", "100-199", "007", "VALUE:4" ], [ "1A", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "1A", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "1A", "1", "1B", "200-980", "007", "VALUE:4" ], [ "1A", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "1A", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "1A", "X", "1B", "001-099", "007", "VALUE:4" ], [ "1A", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "1A", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "1A", "X", "1B", "100-199", "007", "VALUE:4" ], [ "1A", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "1A", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "1A", "X", "1B", "200-980", "007", "VALUE:4" ], [ "1A", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "1A", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "1B", "0", "1B", "001-099", "007", "VALUE:4" ], [ "1B", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "1B", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "1B", "0", "1B", "100-199", "007", "VALUE:4" ], [ "1B", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "1B", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "1B", "0", "1B", "200-980", "007", "VALUE:4" ], [ "1B", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "1B", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "1B", "1", "1B", "001-099", "007", "VALUE:4" ], [ "1B", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "1B", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "1B", "1", "1B", "100-199", "007", "VALUE:4" ], [ "1B", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "1B", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "1B", "1", "1B", "200-980", "007", "VALUE:4" ], [ "1B", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "1B", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "1B", "X", "1B", "001-099", "007", "VALUE:4" ], [ "1B", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "1B", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "1B", "X", "1B", "100-199", "007", "VALUE:4" ], [ "1B", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "1B", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "1B", "X", "1B", "200-980", "007", "VALUE:4" ], [ "1B", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "1B", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "1C", "0", "1B", "001-099", "007", "VALUE:4" ], [ "1C", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "1C", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "1C", "0", "1B", "100-199", "007", "VALUE:4" ], [ "1C", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "1C", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "1C", "0", "1B", "200-980", "007", "VALUE:4" ], [ "1C", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "1C", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "1C", "1", "1B", "001-099", "007", "VALUE:4" ], [ "1C", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "1C", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "1C", "1", "1B", "100-199", "007", "VALUE:4" ], [ "1C", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "1C", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "1C", "1", "1B", "200-980", "007", "VALUE:4" ], [ "1C", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "1C", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "1C", "X", "1B", "001-099", "007", "VALUE:4" ], [ "1C", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "1C", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "1C", "X", "1B", "100-199", "007", "VALUE:4" ], [ "1C", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "1C", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "1C", "X", "1B", "200-980", "007", "VALUE:4" ], [ "1C", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "1C", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "1", "0", "1B", "001-099", "007", "VALUE:4" ], [ "1", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "1", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "1", "0", "1B", "100-199", "007", "VALUE:4" ], [ "1", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "1", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "1", "0", "1B", "200-980", "007", "VALUE:4" ], [ "1", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "1", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "1", "1", "1B", "001-099", "007", "VALUE:4" ], [ "1", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "1", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "1", "1", "1B", "100-199", "007", "VALUE:4" ], [ "1", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "1", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "1", "1", "1B", "200-980", "007", "VALUE:4" ], [ "1", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "1", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "1", "X", "1B", "001-099", "007", "VALUE:4" ], [ "1", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "1", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "1", "X", "1B", "100-199", "007", "VALUE:4" ], [ "1", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "1", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "1", "X", "1B", "200-980", "007", "VALUE:4" ], [ "1", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "1", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "2A", "0", "1B", "001-099", "007", "VALUE:4" ], [ "2A", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "2A", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "2A", "0", "1B", "100-199", "007", "VALUE:4" ], [ "2A", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "2A", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "2A", "0", "1B", "200-980", "007", "VALUE:4" ], [ "2A", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "2A", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "2A", "1", "1B", "001-099", "007", "VALUE:4" ], [ "2A", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "2A", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "2A", "1", "1B", "100-199", "007", "VALUE:4" ], [ "2A", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "2A", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "2A", "1", "1B", "200-980", "007", "VALUE:4" ], [ "2A", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "2A", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "2A", "X", "1B", "001-099", "007", "VALUE:4" ], [ "2A", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "2A", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "2A", "X", "1B", "100-199", "007", "VALUE:4" ], [ "2A", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "2A", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "2A", "X", "1B", "200-980", "007", "VALUE:4" ], [ "2A", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "2A", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "2B", "0", "1B", "001-099", "007", "VALUE:4" ], [ "2B", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "2B", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "2B", "0", "1B", "100-199", "007", "VALUE:4" ], [ "2B", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "2B", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "2B", "0", "1B", "200-980", "007", "VALUE:4" ], [ "2B", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "2B", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "2B", "1", "1B", "001-099", "007", "VALUE:4" ], [ "2B", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "2B", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "2B", "1", "1B", "100-199", "007", "VALUE:4" ], [ "2B", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "2B", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "2B", "1", "1B", "200-980", "007", "VALUE:4" ], [ "2B", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "2B", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "2B", "X", "1B", "001-099", "007", "VALUE:4" ], [ "2B", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "2B", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "2B", "X", "1B", "100-199", "007", "VALUE:4" ], [ "2B", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "2B", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "2B", "X", "1B", "200-980", "007", "VALUE:4" ], [ "2B", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "2B", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "2C", "0", "1B", "001-099", "007", "VALUE:4" ], [ "2C", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "2C", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "2C", "0", "1B", "100-199", "007", "VALUE:4" ], [ "2C", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "2C", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "2C", "0", "1B", "200-980", "007", "VALUE:4" ], [ "2C", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "2C", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "2C", "1", "1B", "001-099", "007", "VALUE:4" ], [ "2C", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "2C", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "2C", "1", "1B", "100-199", "007", "VALUE:4" ], [ "2C", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "2C", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "2C", "1", "1B", "200-980", "007", "VALUE:4" ], [ "2C", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "2C", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "2C", "X", "1B", "001-099", "007", "VALUE:4" ], [ "2C", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "2C", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "2C", "X", "1B", "100-199", "007", "VALUE:4" ], [ "2C", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "2C", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "2C", "X", "1B", "200-980", "007", "VALUE:4" ], [ "2C", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "2C", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "2", "0", "1B", "001-099", "007", "VALUE:4" ], [ "2", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "2", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "2", "0", "1B", "100-199", "007", "VALUE:4" ], [ "2", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "2", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "2", "0", "1B", "200-980", "007", "VALUE:4" ], [ "2", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "2", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "2", "1", "1B", "001-099", "007", "VALUE:4" ], [ "2", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "2", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "2", "1", "1B", "100-199", "007", "VALUE:4" ], [ "2", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "2", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "2", "1", "1B", "200-980", "007", "VALUE:4" ], [ "2", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "2", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "2", "X", "1B", "001-099", "007", "VALUE:4" ], [ "2", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "2", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "2", "X", "1B", "100-199", "007", "VALUE:4" ], [ "2", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "2", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "2", "X", "1B", "200-980", "007", "VALUE:4" ], [ "2", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "2", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "3A", "0", "1B", "001-099", "007", "VALUE:4" ], [ "3A", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "3A", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "3A", "0", "1B", "100-199", "007", "VALUE:4" ], [ "3A", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "3A", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "3A", "0", "1B", "200-980", "007", "VALUE:4" ], [ "3A", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "3A", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "3A", "1", "1B", "001-099", "007", "VALUE:4" ], [ "3A", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "3A", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "3A", "1", "1B", "100-199", "007", "VALUE:4" ], [ "3A", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "3A", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "3A", "1", "1B", "200-980", "007", "VALUE:4" ], [ "3A", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "3A", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "3A", "X", "1B", "001-099", "007", "VALUE:4" ], [ "3A", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "3A", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "3A", "X", "1B", "100-199", "007", "VALUE:4" ], [ "3A", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "3A", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "3A", "X", "1B", "200-980", "007", "VALUE:4" ], [ "3A", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "3A", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "3B", "0", "1B", "001-099", "007", "VALUE:4" ], [ "3B", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "3B", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "3B", "0", "1B", "100-199", "007", "VALUE:4" ], [ "3B", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "3B", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "3B", "0", "1B", "200-980", "007", "VALUE:4" ], [ "3B", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "3B", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "3B", "1", "1B", "001-099", "007", "VALUE:4" ], [ "3B", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "3B", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "3B", "1", "1B", "100-199", "007", "VALUE:4" ], [ "3B", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "3B", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "3B", "1", "1B", "200-980", "007", "VALUE:4" ], [ "3B", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "3B", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "3B", "X", "1B", "001-099", "007", "VALUE:4" ], [ "3B", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "3B", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "3B", "X", "1B", "100-199", "007", "VALUE:4" ], [ "3B", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "3B", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "3B", "X", "1B", "200-980", "007", "VALUE:4" ], [ "3B", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "3B", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "3", "0", "1B", "001-099", "007", "VALUE:4" ], [ "3", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "3", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "3", "0", "1B", "100-199", "007", "VALUE:4" ], [ "3", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "3", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "3", "0", "1B", "200-980", "007", "VALUE:4" ], [ "3", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "3", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "3", "1", "1B", "001-099", "007", "VALUE:4" ], [ "3", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "3", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "3", "1", "1B", "100-199", "007", "VALUE:4" ], [ "3", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "3", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "3", "1", "1B", "200-980", "007", "VALUE:4" ], [ "3", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "3", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "3", "X", "1B", "001-099", "007", "VALUE:4" ], [ "3", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "3", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "3", "X", "1B", "100-199", "007", "VALUE:4" ], [ "3", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "3", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "3", "X", "1B", "200-980", "007", "VALUE:4" ], [ "3", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "3", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "4", "0", "1B", "001-099", "007", "VALUE:4" ], [ "4", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "4", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "4", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "4", "0", "1B", "100-199", "007", "VALUE:4" ], [ "4", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "4", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "4", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "4", "0", "1B", "200-980", "007", "VALUE:4" ], [ "4", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "4", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "4", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "4", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "4", "1", "1B", "001-099", "007", "VALUE:4" ], [ "4", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "4", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "4", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "4", "1", "1B", "100-199", "007", "VALUE:4" ], [ "4", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "4", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "4", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "4", "1", "1B", "200-980", "007", "VALUE:4" ], [ "4", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "4", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "4", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "4", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "4", "X", "1B", "001-099", "007", "VALUE:4" ], [ "4", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "4", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "4", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "4", "X", "1B", "100-199", "007", "VALUE:4" ], [ "4", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "4", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "4", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "4", "X", "1B", "200-980", "007", "VALUE:4" ], [ "4", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "4", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "4", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "4", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "X", "0", "1B", "001-099", "007", "VALUE:4" ], [ "X", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "X", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "X", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "X", "0", "1B", "100-199", "007", "VALUE:4" ], [ "X", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "X", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "X", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "X", "0", "1B", "200-980", "007", "VALUE:4" ], [ "X", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "X", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "X", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "X", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "X", "1", "1B", "001-099", "007", "VALUE:4" ], [ "X", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "X", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "X", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "X", "1", "1B", "100-199", "007", "VALUE:4" ], [ "X", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "X", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "X", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "X", "1", "1B", "200-980", "007", "VALUE:4" ], [ "X", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "X", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "X", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "X", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "X", "X", "1B", "001-099", "007", "VALUE:4" ], [ "X", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "X", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "X", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "X", "X", "1B", "100-199", "007", "VALUE:4" ], [ "X", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "X", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "X", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "X", "X", "1B", "200-980", "007", "VALUE:4" ], [ "X", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "X", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "X", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "X", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "0", "0", "1C", "001-099", "007", "VALUE:4" ], [ "0", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "0", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "0", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "0", "0", "1C", "100-199", "007", "VALUE:4" ], [ "0", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "0", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "0", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "0", "0", "1C", "200-980", "007", "VALUE:4" ], [ "0", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "0", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "0", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "0", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "0", "1", "1C", "001-099", "007", "VALUE:4" ], [ "0", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "0", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "0", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "0", "1", "1C", "100-199", "007", "VALUE:4" ], [ "0", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "0", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "0", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "0", "1", "1C", "200-980", "007", "VALUE:4" ], [ "0", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "0", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "0", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "0", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "0", "X", "1C", "001-099", "007", "VALUE:4" ], [ "0", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "0", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "0", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "0", "X", "1C", "100-199", "007", "VALUE:4" ], [ "0", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "0", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "0", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "0", "X", "1C", "200-980", "007", "VALUE:4" ], [ "0", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "0", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "0", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "0", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "1A", "0", "1C", "001-099", "007", "VALUE:4" ], [ "1A", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "1A", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "1A", "0", "1C", "100-199", "007", "VALUE:4" ], [ "1A", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "1A", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "1A", "0", "1C", "200-980", "007", "VALUE:4" ], [ "1A", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "1A", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "1A", "1", "1C", "001-099", "007", "VALUE:4" ], [ "1A", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "1A", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "1A", "1", "1C", "100-199", "007", "VALUE:4" ], [ "1A", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "1A", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "1A", "1", "1C", "200-980", "007", "VALUE:4" ], [ "1A", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "1A", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "1A", "X", "1C", "001-099", "007", "VALUE:4" ], [ "1A", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "1A", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "1A", "X", "1C", "100-199", "007", "VALUE:4" ], [ "1A", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "1A", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "1A", "X", "1C", "200-980", "007", "VALUE:4" ], [ "1A", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "1A", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "1B", "0", "1C", "001-099", "007", "VALUE:4" ], [ "1B", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "1B", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "1B", "0", "1C", "100-199", "007", "VALUE:4" ], [ "1B", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "1B", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "1B", "0", "1C", "200-980", "007", "VALUE:4" ], [ "1B", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "1B", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "1B", "1", "1C", "001-099", "007", "VALUE:4" ], [ "1B", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "1B", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "1B", "1", "1C", "100-199", "007", "VALUE:4" ], [ "1B", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "1B", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "1B", "1", "1C", "200-980", "007", "VALUE:4" ], [ "1B", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "1B", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "1B", "X", "1C", "001-099", "007", "VALUE:4" ], [ "1B", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "1B", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "1B", "X", "1C", "100-199", "007", "VALUE:4" ], [ "1B", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "1B", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "1B", "X", "1C", "200-980", "007", "VALUE:4" ], [ "1B", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "1B", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "1C", "0", "1C", "001-099", "007", "VALUE:4" ], [ "1C", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "1C", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "1C", "0", "1C", "100-199", "007", "VALUE:4" ], [ "1C", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "1C", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "1C", "0", "1C", "200-980", "007", "VALUE:4" ], [ "1C", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "1C", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "1C", "1", "1C", "001-099", "007", "VALUE:4" ], [ "1C", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "1C", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "1C", "1", "1C", "100-199", "007", "VALUE:4" ], [ "1C", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "1C", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "1C", "1", "1C", "200-980", "007", "VALUE:4" ], [ "1C", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "1C", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "1C", "X", "1C", "001-099", "007", "VALUE:4" ], [ "1C", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "1C", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "1C", "X", "1C", "100-199", "007", "VALUE:4" ], [ "1C", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "1C", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "1C", "X", "1C", "200-980", "007", "VALUE:4" ], [ "1C", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "1C", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "1", "0", "1C", "001-099", "007", "VALUE:4" ], [ "1", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "1", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "1", "0", "1C", "100-199", "007", "VALUE:4" ], [ "1", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "1", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "1", "0", "1C", "200-980", "007", "VALUE:4" ], [ "1", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "1", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "1", "1", "1C", "001-099", "007", "VALUE:4" ], [ "1", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "1", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "1", "1", "1C", "100-199", "007", "VALUE:4" ], [ "1", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "1", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "1", "1", "1C", "200-980", "007", "VALUE:4" ], [ "1", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "1", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "1", "X", "1C", "001-099", "007", "VALUE:4" ], [ "1", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "1", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "1", "X", "1C", "100-199", "007", "VALUE:4" ], [ "1", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "1", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "1", "X", "1C", "200-980", "007", "VALUE:4" ], [ "1", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "1", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "2A", "0", "1C", "001-099", "007", "VALUE:4" ], [ "2A", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "2A", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "2A", "0", "1C", "100-199", "007", "VALUE:4" ], [ "2A", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "2A", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "2A", "0", "1C", "200-980", "007", "VALUE:4" ], [ "2A", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "2A", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "2A", "1", "1C", "001-099", "007", "VALUE:4" ], [ "2A", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "2A", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "2A", "1", "1C", "100-199", "007", "VALUE:4" ], [ "2A", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "2A", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "2A", "1", "1C", "200-980", "007", "VALUE:4" ], [ "2A", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "2A", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "2A", "X", "1C", "001-099", "007", "VALUE:4" ], [ "2A", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "2A", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "2A", "X", "1C", "100-199", "007", "VALUE:4" ], [ "2A", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "2A", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "2A", "X", "1C", "200-980", "007", "VALUE:4" ], [ "2A", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "2A", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "2B", "0", "1C", "001-099", "007", "VALUE:4" ], [ "2B", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "2B", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "2B", "0", "1C", "100-199", "007", "VALUE:4" ], [ "2B", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "2B", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "2B", "0", "1C", "200-980", "007", "VALUE:4" ], [ "2B", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "2B", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "2B", "1", "1C", "001-099", "007", "VALUE:4" ], [ "2B", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "2B", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "2B", "1", "1C", "100-199", "007", "VALUE:4" ], [ "2B", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "2B", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "2B", "1", "1C", "200-980", "007", "VALUE:4" ], [ "2B", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "2B", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "2B", "X", "1C", "001-099", "007", "VALUE:4" ], [ "2B", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "2B", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "2B", "X", "1C", "100-199", "007", "VALUE:4" ], [ "2B", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "2B", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "2B", "X", "1C", "200-980", "007", "VALUE:4" ], [ "2B", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "2B", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "2C", "0", "1C", "001-099", "007", "VALUE:4" ], [ "2C", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "2C", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "2C", "0", "1C", "100-199", "007", "VALUE:4" ], [ "2C", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "2C", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "2C", "0", "1C", "200-980", "007", "VALUE:4" ], [ "2C", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "2C", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "2C", "1", "1C", "001-099", "007", "VALUE:4" ], [ "2C", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "2C", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "2C", "1", "1C", "100-199", "007", "VALUE:4" ], [ "2C", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "2C", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "2C", "1", "1C", "200-980", "007", "VALUE:4" ], [ "2C", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "2C", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "2C", "X", "1C", "001-099", "007", "VALUE:4" ], [ "2C", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "2C", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "2C", "X", "1C", "100-199", "007", "VALUE:4" ], [ "2C", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "2C", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "2C", "X", "1C", "200-980", "007", "VALUE:4" ], [ "2C", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "2C", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "2", "0", "1C", "001-099", "007", "VALUE:4" ], [ "2", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "2", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "2", "0", "1C", "100-199", "007", "VALUE:4" ], [ "2", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "2", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "2", "0", "1C", "200-980", "007", "VALUE:4" ], [ "2", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "2", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "2", "1", "1C", "001-099", "007", "VALUE:4" ], [ "2", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "2", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "2", "1", "1C", "100-199", "007", "VALUE:4" ], [ "2", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "2", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "2", "1", "1C", "200-980", "007", "VALUE:4" ], [ "2", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "2", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "2", "X", "1C", "001-099", "007", "VALUE:4" ], [ "2", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "2", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "2", "X", "1C", "100-199", "007", "VALUE:4" ], [ "2", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "2", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "2", "X", "1C", "200-980", "007", "VALUE:4" ], [ "2", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "2", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "3A", "0", "1C", "001-099", "007", "VALUE:4" ], [ "3A", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "3A", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "3A", "0", "1C", "100-199", "007", "VALUE:4" ], [ "3A", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "3A", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "3A", "0", "1C", "200-980", "007", "VALUE:4" ], [ "3A", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "3A", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "3A", "1", "1C", "001-099", "007", "VALUE:4" ], [ "3A", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "3A", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "3A", "1", "1C", "100-199", "007", "VALUE:4" ], [ "3A", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "3A", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "3A", "1", "1C", "200-980", "007", "VALUE:4" ], [ "3A", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "3A", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "3A", "X", "1C", "001-099", "007", "VALUE:4" ], [ "3A", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "3A", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "3A", "X", "1C", "100-199", "007", "VALUE:4" ], [ "3A", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "3A", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "3A", "X", "1C", "200-980", "007", "VALUE:4" ], [ "3A", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "3A", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "3B", "0", "1C", "001-099", "007", "VALUE:4" ], [ "3B", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "3B", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "3B", "0", "1C", "100-199", "007", "VALUE:4" ], [ "3B", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "3B", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "3B", "0", "1C", "200-980", "007", "VALUE:4" ], [ "3B", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "3B", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "3B", "1", "1C", "001-099", "007", "VALUE:4" ], [ "3B", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "3B", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "3B", "1", "1C", "100-199", "007", "VALUE:4" ], [ "3B", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "3B", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "3B", "1", "1C", "200-980", "007", "VALUE:4" ], [ "3B", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "3B", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "3B", "X", "1C", "001-099", "007", "VALUE:4" ], [ "3B", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "3B", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "3B", "X", "1C", "100-199", "007", "VALUE:4" ], [ "3B", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "3B", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "3B", "X", "1C", "200-980", "007", "VALUE:4" ], [ "3B", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "3B", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "3", "0", "1C", "001-099", "007", "VALUE:4" ], [ "3", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "3", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "3", "0", "1C", "100-199", "007", "VALUE:4" ], [ "3", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "3", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "3", "0", "1C", "200-980", "007", "VALUE:4" ], [ "3", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "3", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "3", "1", "1C", "001-099", "007", "VALUE:4" ], [ "3", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "3", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "3", "1", "1C", "100-199", "007", "VALUE:4" ], [ "3", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "3", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "3", "1", "1C", "200-980", "007", "VALUE:4" ], [ "3", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "3", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "3", "X", "1C", "001-099", "007", "VALUE:4" ], [ "3", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "3", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "3", "X", "1C", "100-199", "007", "VALUE:4" ], [ "3", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "3", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "3", "X", "1C", "200-980", "007", "VALUE:4" ], [ "3", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "3", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "4", "0", "1C", "001-099", "007", "VALUE:4" ], [ "4", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "4", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "4", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "4", "0", "1C", "100-199", "007", "VALUE:4" ], [ "4", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "4", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "4", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "4", "0", "1C", "200-980", "007", "VALUE:4" ], [ "4", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "4", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "4", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "4", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "4", "1", "1C", "001-099", "007", "VALUE:4" ], [ "4", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "4", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "4", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "4", "1", "1C", "100-199", "007", "VALUE:4" ], [ "4", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "4", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "4", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "4", "1", "1C", "200-980", "007", "VALUE:4" ], [ "4", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "4", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "4", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "4", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "4", "X", "1C", "001-099", "007", "VALUE:4" ], [ "4", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "4", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "4", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "4", "X", "1C", "100-199", "007", "VALUE:4" ], [ "4", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "4", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "4", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "4", "X", "1C", "200-980", "007", "VALUE:4" ], [ "4", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "4", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "4", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "4", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "X", "0", "1C", "001-099", "007", "VALUE:4" ], [ "X", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "X", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "X", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "X", "0", "1C", "100-199", "007", "VALUE:4" ], [ "X", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "X", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "X", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "X", "0", "1C", "200-980", "007", "VALUE:4" ], [ "X", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "X", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "X", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "X", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "X", "1", "1C", "001-099", "007", "VALUE:4" ], [ "X", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "X", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "X", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "X", "1", "1C", "100-199", "007", "VALUE:4" ], [ "X", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "X", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "X", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "X", "1", "1C", "200-980", "007", "VALUE:4" ], [ "X", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "X", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "X", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "X", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "X", "X", "1C", "001-099", "007", "VALUE:4" ], [ "X", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "X", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "X", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "X", "X", "1C", "100-199", "007", "VALUE:4" ], [ "X", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "X", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "X", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "X", "X", "1C", "200-980", "007", "VALUE:4" ], [ "X", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "X", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "X", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "X", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "0", "0", "1", "001-099", "007", "VALUE:4" ], [ "0", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "0", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "0", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "0", "0", "1", "100-199", "007", "VALUE:4" ], [ "0", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "0", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "0", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "0", "0", "1", "200-980", "007", "VALUE:4" ], [ "0", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "0", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "0", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "0", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "0", "1", "1", "001-099", "007", "VALUE:4" ], [ "0", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "0", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "0", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "0", "1", "1", "100-199", "007", "VALUE:4" ], [ "0", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "0", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "0", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "0", "1", "1", "200-980", "007", "VALUE:4" ], [ "0", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "0", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "0", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "0", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "0", "X", "1", "001-099", "007", "VALUE:4" ], [ "0", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "0", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "0", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "0", "X", "1", "100-199", "007", "VALUE:4" ], [ "0", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "0", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "0", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "0", "X", "1", "200-980", "007", "VALUE:4" ], [ "0", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "0", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "0", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "0", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "1A", "0", "1", "001-099", "007", "VALUE:4" ], [ "1A", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "1A", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "1A", "0", "1", "100-199", "007", "VALUE:4" ], [ "1A", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "1A", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "1A", "0", "1", "200-980", "007", "VALUE:4" ], [ "1A", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "1A", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "1A", "1", "1", "001-099", "007", "VALUE:4" ], [ "1A", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "1A", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "1A", "1", "1", "100-199", "007", "VALUE:4" ], [ "1A", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "1A", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "1A", "1", "1", "200-980", "007", "VALUE:4" ], [ "1A", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "1A", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "1A", "X", "1", "001-099", "007", "VALUE:4" ], [ "1A", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "1A", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "1A", "X", "1", "100-199", "007", "VALUE:4" ], [ "1A", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "1A", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "1A", "X", "1", "200-980", "007", "VALUE:4" ], [ "1A", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "1A", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "1B", "0", "1", "001-099", "007", "VALUE:4" ], [ "1B", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "1B", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "1B", "0", "1", "100-199", "007", "VALUE:4" ], [ "1B", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "1B", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "1B", "0", "1", "200-980", "007", "VALUE:4" ], [ "1B", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "1B", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "1B", "1", "1", "001-099", "007", "VALUE:4" ], [ "1B", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "1B", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "1B", "1", "1", "100-199", "007", "VALUE:4" ], [ "1B", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "1B", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "1B", "1", "1", "200-980", "007", "VALUE:4" ], [ "1B", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "1B", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "1B", "X", "1", "001-099", "007", "VALUE:4" ], [ "1B", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "1B", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "1B", "X", "1", "100-199", "007", "VALUE:4" ], [ "1B", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "1B", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "1B", "X", "1", "200-980", "007", "VALUE:4" ], [ "1B", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "1B", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "1C", "0", "1", "001-099", "007", "VALUE:4" ], [ "1C", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "1C", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "1C", "0", "1", "100-199", "007", "VALUE:4" ], [ "1C", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "1C", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "1C", "0", "1", "200-980", "007", "VALUE:4" ], [ "1C", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "1C", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "1C", "1", "1", "001-099", "007", "VALUE:4" ], [ "1C", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "1C", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "1C", "1", "1", "100-199", "007", "VALUE:4" ], [ "1C", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "1C", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "1C", "1", "1", "200-980", "007", "VALUE:4" ], [ "1C", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "1C", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "1C", "X", "1", "001-099", "007", "VALUE:4" ], [ "1C", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "1C", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "1C", "X", "1", "100-199", "007", "VALUE:4" ], [ "1C", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "1C", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "1C", "X", "1", "200-980", "007", "VALUE:4" ], [ "1C", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "1C", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "1", "0", "1", "001-099", "007", "VALUE:4" ], [ "1", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "1", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "1", "0", "1", "100-199", "007", "VALUE:4" ], [ "1", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "1", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "1", "0", "1", "200-980", "007", "VALUE:4" ], [ "1", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "1", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "1", "1", "1", "001-099", "007", "VALUE:4" ], [ "1", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "1", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "1", "1", "1", "100-199", "007", "VALUE:4" ], [ "1", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "1", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "1", "1", "1", "200-980", "007", "VALUE:4" ], [ "1", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "1", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "1", "X", "1", "001-099", "007", "VALUE:4" ], [ "1", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "1", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "1", "X", "1", "100-199", "007", "VALUE:4" ], [ "1", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "1", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "1", "X", "1", "200-980", "007", "VALUE:4" ], [ "1", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "1", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "2A", "0", "1", "001-099", "007", "VALUE:4" ], [ "2A", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "2A", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "2A", "0", "1", "100-199", "007", "VALUE:4" ], [ "2A", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "2A", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "2A", "0", "1", "200-980", "007", "VALUE:4" ], [ "2A", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "2A", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "2A", "1", "1", "001-099", "007", "VALUE:4" ], [ "2A", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "2A", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "2A", "1", "1", "100-199", "007", "VALUE:4" ], [ "2A", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "2A", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "2A", "1", "1", "200-980", "007", "VALUE:4" ], [ "2A", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "2A", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "2A", "X", "1", "001-099", "007", "VALUE:4" ], [ "2A", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "2A", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "2A", "X", "1", "100-199", "007", "VALUE:4" ], [ "2A", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "2A", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "2A", "X", "1", "200-980", "007", "VALUE:4" ], [ "2A", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "2A", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "2B", "0", "1", "001-099", "007", "VALUE:4" ], [ "2B", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "2B", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "2B", "0", "1", "100-199", "007", "VALUE:4" ], [ "2B", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "2B", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "2B", "0", "1", "200-980", "007", "VALUE:4" ], [ "2B", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "2B", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "2B", "1", "1", "001-099", "007", "VALUE:4" ], [ "2B", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "2B", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "2B", "1", "1", "100-199", "007", "VALUE:4" ], [ "2B", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "2B", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "2B", "1", "1", "200-980", "007", "VALUE:4" ], [ "2B", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "2B", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "2B", "X", "1", "001-099", "007", "VALUE:4" ], [ "2B", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "2B", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "2B", "X", "1", "100-199", "007", "VALUE:4" ], [ "2B", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "2B", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "2B", "X", "1", "200-980", "007", "VALUE:4" ], [ "2B", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "2B", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "2C", "0", "1", "001-099", "007", "VALUE:4" ], [ "2C", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "2C", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "2C", "0", "1", "100-199", "007", "VALUE:4" ], [ "2C", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "2C", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "2C", "0", "1", "200-980", "007", "VALUE:4" ], [ "2C", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "2C", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "2C", "1", "1", "001-099", "007", "VALUE:4" ], [ "2C", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "2C", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "2C", "1", "1", "100-199", "007", "VALUE:4" ], [ "2C", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "2C", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "2C", "1", "1", "200-980", "007", "VALUE:4" ], [ "2C", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "2C", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "2C", "X", "1", "001-099", "007", "VALUE:4" ], [ "2C", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "2C", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "2C", "X", "1", "100-199", "007", "VALUE:4" ], [ "2C", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "2C", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "2C", "X", "1", "200-980", "007", "VALUE:4" ], [ "2C", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "2C", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "2", "0", "1", "001-099", "007", "VALUE:4" ], [ "2", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "2", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "2", "0", "1", "100-199", "007", "VALUE:4" ], [ "2", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "2", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "2", "0", "1", "200-980", "007", "VALUE:4" ], [ "2", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "2", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "2", "1", "1", "001-099", "007", "VALUE:4" ], [ "2", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "2", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "2", "1", "1", "100-199", "007", "VALUE:4" ], [ "2", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "2", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "2", "1", "1", "200-980", "007", "VALUE:4" ], [ "2", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "2", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "2", "X", "1", "001-099", "007", "VALUE:4" ], [ "2", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "2", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "2", "X", "1", "100-199", "007", "VALUE:4" ], [ "2", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "2", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "2", "X", "1", "200-980", "007", "VALUE:4" ], [ "2", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "2", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "3A", "0", "1", "001-099", "007", "VALUE:4" ], [ "3A", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "3A", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "3A", "0", "1", "100-199", "007", "VALUE:4" ], [ "3A", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "3A", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "3A", "0", "1", "200-980", "007", "VALUE:4" ], [ "3A", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "3A", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "3A", "1", "1", "001-099", "007", "VALUE:4" ], [ "3A", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "3A", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "3A", "1", "1", "100-199", "007", "VALUE:4" ], [ "3A", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "3A", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "3A", "1", "1", "200-980", "007", "VALUE:4" ], [ "3A", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "3A", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "3A", "X", "1", "001-099", "007", "VALUE:4" ], [ "3A", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "3A", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "3A", "X", "1", "100-199", "007", "VALUE:4" ], [ "3A", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "3A", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "3A", "X", "1", "200-980", "007", "VALUE:4" ], [ "3A", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "3A", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "3B", "0", "1", "001-099", "007", "VALUE:4" ], [ "3B", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "3B", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "3B", "0", "1", "100-199", "007", "VALUE:4" ], [ "3B", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "3B", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "3B", "0", "1", "200-980", "007", "VALUE:4" ], [ "3B", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "3B", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "3B", "1", "1", "001-099", "007", "VALUE:4" ], [ "3B", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "3B", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "3B", "1", "1", "100-199", "007", "VALUE:4" ], [ "3B", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "3B", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "3B", "1", "1", "200-980", "007", "VALUE:4" ], [ "3B", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "3B", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "3B", "X", "1", "001-099", "007", "VALUE:4" ], [ "3B", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "3B", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "3B", "X", "1", "100-199", "007", "VALUE:4" ], [ "3B", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "3B", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "3B", "X", "1", "200-980", "007", "VALUE:4" ], [ "3B", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "3B", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "3", "0", "1", "001-099", "007", "VALUE:4" ], [ "3", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "3", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "3", "0", "1", "100-199", "007", "VALUE:4" ], [ "3", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "3", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "3", "0", "1", "200-980", "007", "VALUE:4" ], [ "3", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "3", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "3", "1", "1", "001-099", "007", "VALUE:4" ], [ "3", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "3", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "3", "1", "1", "100-199", "007", "VALUE:4" ], [ "3", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "3", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "3", "1", "1", "200-980", "007", "VALUE:4" ], [ "3", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "3", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "3", "X", "1", "001-099", "007", "VALUE:4" ], [ "3", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "3", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "3", "X", "1", "100-199", "007", "VALUE:4" ], [ "3", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "3", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "3", "X", "1", "200-980", "007", "VALUE:4" ], [ "3", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "3", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "4", "0", "1", "001-099", "007", "VALUE:4" ], [ "4", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "4", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "4", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "4", "0", "1", "100-199", "007", "VALUE:4" ], [ "4", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "4", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "4", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "4", "0", "1", "200-980", "007", "VALUE:4" ], [ "4", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "4", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "4", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "4", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "4", "1", "1", "001-099", "007", "VALUE:4" ], [ "4", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "4", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "4", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "4", "1", "1", "100-199", "007", "VALUE:4" ], [ "4", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "4", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "4", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "4", "1", "1", "200-980", "007", "VALUE:4" ], [ "4", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "4", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "4", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "4", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "4", "X", "1", "001-099", "007", "VALUE:4" ], [ "4", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "4", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "4", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "4", "X", "1", "100-199", "007", "VALUE:4" ], [ "4", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "4", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "4", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "4", "X", "1", "200-980", "007", "VALUE:4" ], [ "4", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "4", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "4", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "4", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "X", "0", "1", "001-099", "007", "VALUE:4" ], [ "X", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "X", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "X", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "X", "0", "1", "100-199", "007", "VALUE:4" ], [ "X", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "X", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "X", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "X", "0", "1", "200-980", "007", "VALUE:4" ], [ "X", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "X", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "X", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "X", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "X", "1", "1", "001-099", "007", "VALUE:4" ], [ "X", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "X", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "X", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "X", "1", "1", "100-199", "007", "VALUE:4" ], [ "X", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "X", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "X", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "X", "1", "1", "200-980", "007", "VALUE:4" ], [ "X", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "X", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "X", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "X", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "X", "X", "1", "001-099", "007", "VALUE:4" ], [ "X", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "X", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "X", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "X", "X", "1", "100-199", "007", "VALUE:4" ], [ "X", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "X", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "X", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "X", "X", "1", "200-980", "007", "VALUE:4" ], [ "X", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "X", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "X", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "X", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "88", "88", "88", "*", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubq.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubq.json deleted file mode 100644 index 0e4ab98aa..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubq.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubq", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:01.808Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2", "0", "VALUE:3" ], [ "0", "3", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "3", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:2A" ], [ "1A", "2", "0", "VALUE:3A" ], [ "1A", "3", "0", "VALUE:3B" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1A" ], [ "1B", "1", "0", "VALUE:2A" ], [ "1B", "2", "0", "VALUE:3A" ], [ "1B", "3", "0", "VALUE:3B" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1A" ], [ "1", "1", "0", "VALUE:2A" ], [ "1", "2", "0", "VALUE:3A" ], [ "1", "3", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:1B" ], [ "2A", "1", "0", "VALUE:2A" ], [ "2A", "2", "0", "VALUE:3A" ], [ "2A", "3", "0", "VALUE:3B" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2A" ], [ "2B", "1", "0", "VALUE:2B" ], [ "2B", "2", "0", "VALUE:3A" ], [ "2B", "3", "0", "VALUE:3B" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:99" ], [ "2", "1", "0", "VALUE:2" ], [ "2", "2", "0", "VALUE:3A" ], [ "2", "3", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2B" ], [ "3", "1", "0", "VALUE:3A" ], [ "3", "2", "0", "VALUE:3A" ], [ "3", "3", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3A" ], [ "4", "1", "0", "VALUE:3A" ], [ "4", "2", "0", "VALUE:3B" ], [ "4", "3", "0", "VALUE:3B" ], [ "4", "X", "0", "VALUE:3" ], [ "X", "0", "0", "JUMP:lung_occult_stage_11131" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:3" ], [ "X", "3", "0", "VALUE:3B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1A", "VALUE:4" ], [ "0", "1", "1A", "VALUE:4" ], [ "0", "2", "1A", "VALUE:4" ], [ "0", "3", "1A", "VALUE:4" ], [ "0", "X", "1A", "VALUE:4" ], [ "IS", "0", "1A", "ERROR:" ], [ "IS", "1", "1A", "ERROR:" ], [ "IS", "2", "1A", "ERROR:" ], [ "IS", "3", "1A", "ERROR:" ], [ "IS", "X", "1A", "ERROR:" ], [ "1A", "0", "1A", "VALUE:4" ], [ "1A", "1", "1A", "VALUE:4" ], [ "1A", "2", "1A", "VALUE:4" ], [ "1A", "3", "1A", "VALUE:4" ], [ "1A", "X", "1A", "VALUE:4" ], [ "1B", "0", "1A", "VALUE:4" ], [ "1B", "1", "1A", "VALUE:4" ], [ "1B", "2", "1A", "VALUE:4" ], [ "1B", "3", "1A", "VALUE:4" ], [ "1B", "X", "1A", "VALUE:4" ], [ "1", "0", "1A", "VALUE:4" ], [ "1", "1", "1A", "VALUE:4" ], [ "1", "2", "1A", "VALUE:4" ], [ "1", "3", "1A", "VALUE:4" ], [ "1", "X", "1A", "VALUE:4" ], [ "2A", "0", "1A", "VALUE:4" ], [ "2A", "1", "1A", "VALUE:4" ], [ "2A", "2", "1A", "VALUE:4" ], [ "2A", "3", "1A", "VALUE:4" ], [ "2A", "X", "1A", "VALUE:4" ], [ "2B", "0", "1A", "VALUE:4" ], [ "2B", "1", "1A", "VALUE:4" ], [ "2B", "2", "1A", "VALUE:4" ], [ "2B", "3", "1A", "VALUE:4" ], [ "2B", "X", "1A", "VALUE:4" ], [ "2", "0", "1A", "VALUE:4" ], [ "2", "1", "1A", "VALUE:4" ], [ "2", "2", "1A", "VALUE:4" ], [ "2", "3", "1A", "VALUE:4" ], [ "2", "X", "1A", "VALUE:4" ], [ "3", "0", "1A", "VALUE:4" ], [ "3", "1", "1A", "VALUE:4" ], [ "3", "2", "1A", "VALUE:4" ], [ "3", "3", "1A", "VALUE:4" ], [ "3", "X", "1A", "VALUE:4" ], [ "4", "0", "1A", "VALUE:4" ], [ "4", "1", "1A", "VALUE:4" ], [ "4", "2", "1A", "VALUE:4" ], [ "4", "3", "1A", "VALUE:4" ], [ "4", "X", "1A", "VALUE:4" ], [ "X", "0", "1A", "VALUE:4" ], [ "X", "1", "1A", "VALUE:4" ], [ "X", "2", "1A", "VALUE:4" ], [ "X", "3", "1A", "VALUE:4" ], [ "X", "X", "1A", "VALUE:4" ], [ "0", "0", "1B", "VALUE:4" ], [ "0", "1", "1B", "VALUE:4" ], [ "0", "2", "1B", "VALUE:4" ], [ "0", "3", "1B", "VALUE:4" ], [ "0", "X", "1B", "VALUE:4" ], [ "IS", "0", "1B", "ERROR:" ], [ "IS", "1", "1B", "ERROR:" ], [ "IS", "2", "1B", "ERROR:" ], [ "IS", "3", "1B", "ERROR:" ], [ "IS", "X", "1B", "ERROR:" ], [ "1A", "0", "1B", "VALUE:4" ], [ "1A", "1", "1B", "VALUE:4" ], [ "1A", "2", "1B", "VALUE:4" ], [ "1A", "3", "1B", "VALUE:4" ], [ "1A", "X", "1B", "VALUE:4" ], [ "1B", "0", "1B", "VALUE:4" ], [ "1B", "1", "1B", "VALUE:4" ], [ "1B", "2", "1B", "VALUE:4" ], [ "1B", "3", "1B", "VALUE:4" ], [ "1B", "X", "1B", "VALUE:4" ], [ "1", "0", "1B", "VALUE:4" ], [ "1", "1", "1B", "VALUE:4" ], [ "1", "2", "1B", "VALUE:4" ], [ "1", "3", "1B", "VALUE:4" ], [ "1", "X", "1B", "VALUE:4" ], [ "2A", "0", "1B", "VALUE:4" ], [ "2A", "1", "1B", "VALUE:4" ], [ "2A", "2", "1B", "VALUE:4" ], [ "2A", "3", "1B", "VALUE:4" ], [ "2A", "X", "1B", "VALUE:4" ], [ "2B", "0", "1B", "VALUE:4" ], [ "2B", "1", "1B", "VALUE:4" ], [ "2B", "2", "1B", "VALUE:4" ], [ "2B", "3", "1B", "VALUE:4" ], [ "2B", "X", "1B", "VALUE:4" ], [ "2", "0", "1B", "VALUE:4" ], [ "2", "1", "1B", "VALUE:4" ], [ "2", "2", "1B", "VALUE:4" ], [ "2", "3", "1B", "VALUE:4" ], [ "2", "X", "1B", "VALUE:4" ], [ "3", "0", "1B", "VALUE:4" ], [ "3", "1", "1B", "VALUE:4" ], [ "3", "2", "1B", "VALUE:4" ], [ "3", "3", "1B", "VALUE:4" ], [ "3", "X", "1B", "VALUE:4" ], [ "4", "0", "1B", "VALUE:4" ], [ "4", "1", "1B", "VALUE:4" ], [ "4", "2", "1B", "VALUE:4" ], [ "4", "3", "1B", "VALUE:4" ], [ "4", "X", "1B", "VALUE:4" ], [ "X", "0", "1B", "VALUE:4" ], [ "X", "1", "1B", "VALUE:4" ], [ "X", "2", "1B", "VALUE:4" ], [ "X", "3", "1B", "VALUE:4" ], [ "X", "X", "1B", "VALUE:4" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "3", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "VALUE:4" ], [ "1A", "3", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "VALUE:4" ], [ "1B", "3", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "2", "1", "VALUE:4" ], [ "2A", "3", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "2", "1", "VALUE:4" ], [ "2B", "3", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubs.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubs.json deleted file mode 100644 index d8ba270af..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubs.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubs", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.364Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3C1" ], [ "0", "2", "0", "VALUE:3C2" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3C1" ], [ "1A", "2", "0", "VALUE:3C2" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3C1" ], [ "1B", "2", "0", "VALUE:3C2" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3C1" ], [ "1", "2", "0", "VALUE:3C2" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3C1" ], [ "2", "2", "0", "VALUE:3C2" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:3C1" ], [ "3A", "2", "0", "VALUE:3C2" ], [ "3A", "X", "0", "VALUE:3A" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:3C1" ], [ "3B", "2", "0", "VALUE:3C2" ], [ "3B", "X", "0", "VALUE:3" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3C1" ], [ "3", "2", "0", "VALUE:3C2" ], [ "3", "X", "0", "VALUE:3" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "2", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:4A" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "2", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1A", "0", "1", "VALUE:4B" ], [ "1A", "1", "1", "VALUE:4B" ], [ "1A", "2", "1", "VALUE:4B" ], [ "1A", "X", "1", "VALUE:4B" ], [ "1B", "0", "1", "VALUE:4B" ], [ "1B", "1", "1", "VALUE:4B" ], [ "1B", "2", "1", "VALUE:4B" ], [ "1B", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "2", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "2", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3A", "0", "1", "VALUE:4B" ], [ "3A", "1", "1", "VALUE:4B" ], [ "3A", "2", "1", "VALUE:4B" ], [ "3A", "X", "1", "VALUE:4B" ], [ "3B", "0", "1", "VALUE:4B" ], [ "3B", "1", "1", "VALUE:4B" ], [ "3B", "2", "1", "VALUE:4B" ], [ "3B", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "2", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "2", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "2", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubt.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubt.json deleted file mode 100644 index 615dedda8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubt.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubt", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.355Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3C" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3C" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3C" ], [ "1B", "X", "0", "VALUE:99" ], [ "1C", "0", "0", "VALUE:1C" ], [ "1C", "1", "0", "VALUE:3C" ], [ "1C", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3C" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2A" ], [ "2A", "1", "0", "VALUE:3C" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2B" ], [ "2B", "1", "0", "VALUE:3C" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3C" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:3C" ], [ "3A", "X", "0", "VALUE:3" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:3C" ], [ "3B", "X", "0", "VALUE:3" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3C" ], [ "3", "X", "0", "VALUE:3" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:4A" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "1A", "0", "1", "VALUE:4B" ], [ "1A", "1", "1", "VALUE:4B" ], [ "1A", "X", "1", "VALUE:4B" ], [ "1B", "0", "1", "VALUE:4B" ], [ "1B", "1", "1", "VALUE:4B" ], [ "1B", "X", "1", "VALUE:4B" ], [ "1C", "0", "1", "VALUE:4B" ], [ "1C", "1", "1", "VALUE:4B" ], [ "1C", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2A", "0", "1", "VALUE:4B" ], [ "2A", "1", "1", "VALUE:4B" ], [ "2A", "X", "1", "VALUE:4B" ], [ "2B", "0", "1", "VALUE:4B" ], [ "2B", "1", "1", "VALUE:4B" ], [ "2B", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3A", "0", "1", "VALUE:4B" ], [ "3A", "1", "1", "VALUE:4B" ], [ "3A", "X", "1", "VALUE:4B" ], [ "3B", "0", "1", "VALUE:4B" ], [ "3B", "1", "1", "VALUE:4B" ], [ "3B", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubu.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubu.json deleted file mode 100644 index dec058344..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubu.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubu", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.348Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3C" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3C" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3C" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3C" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2A" ], [ "2A", "1", "0", "VALUE:3C" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2B" ], [ "2B", "1", "0", "VALUE:3C" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3C" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:3C" ], [ "3A", "X", "0", "VALUE:3" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:3C" ], [ "3B", "X", "0", "VALUE:3" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3C" ], [ "3", "X", "0", "VALUE:3" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:4A" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "1A", "0", "1", "VALUE:4B" ], [ "1A", "1", "1", "VALUE:4B" ], [ "1A", "X", "1", "VALUE:4B" ], [ "1B", "0", "1", "VALUE:4B" ], [ "1B", "1", "1", "VALUE:4B" ], [ "1B", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2A", "0", "1", "VALUE:4B" ], [ "2A", "1", "1", "VALUE:4B" ], [ "2A", "X", "1", "VALUE:4B" ], [ "2B", "0", "1", "VALUE:4B" ], [ "2B", "1", "1", "VALUE:4B" ], [ "2B", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3A", "0", "1", "VALUE:4B" ], [ "3A", "1", "1", "VALUE:4B" ], [ "3A", "X", "1", "VALUE:4B" ], [ "3B", "0", "1", "VALUE:4B" ], [ "3B", "1", "1", "VALUE:4B" ], [ "3B", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubv.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubv.json deleted file mode 100644 index 457d52b59..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubv.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ubv", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.917Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3" ], [ "0", "2", "0", "VALUE:3" ], [ "0", "2C", "0", "VALUE:3" ], [ "0", "3", "0", "VALUE:3" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "2C", "0", "ERROR:" ], [ "IS", "3", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3" ], [ "1A", "2", "0", "VALUE:3" ], [ "1A", "2C", "0", "VALUE:3" ], [ "1A", "3", "0", "VALUE:3" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3" ], [ "1B", "2", "0", "VALUE:3" ], [ "1B", "2C", "0", "VALUE:3" ], [ "1B", "3", "0", "VALUE:3" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "2", "0", "VALUE:3" ], [ "1", "2C", "0", "VALUE:3" ], [ "1", "3", "0", "VALUE:3" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:1B" ], [ "2A", "1", "0", "VALUE:3" ], [ "2A", "2", "0", "VALUE:3" ], [ "2A", "2C", "0", "VALUE:3" ], [ "2A", "3", "0", "VALUE:3" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2A" ], [ "2B", "1", "0", "VALUE:3" ], [ "2B", "2", "0", "VALUE:3" ], [ "2B", "2C", "0", "VALUE:3" ], [ "2B", "3", "0", "VALUE:3" ], [ "2B", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:99" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "2", "0", "VALUE:3" ], [ "2", "2C", "0", "VALUE:3" ], [ "2", "3", "0", "VALUE:3" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:2A" ], [ "3A", "1", "0", "VALUE:3" ], [ "3A", "2", "0", "VALUE:3" ], [ "3A", "2C", "0", "VALUE:3" ], [ "3A", "3", "0", "VALUE:3" ], [ "3A", "X", "0", "VALUE:99" ], [ "3B", "0", "0", "VALUE:2B" ], [ "3B", "1", "0", "VALUE:3" ], [ "3B", "2", "0", "VALUE:3" ], [ "3B", "2C", "0", "VALUE:3" ], [ "3B", "3", "0", "VALUE:3" ], [ "3B", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "2", "0", "VALUE:3" ], [ "3", "2C", "0", "VALUE:3" ], [ "3", "3", "0", "VALUE:3" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:2B" ], [ "4A", "1", "0", "VALUE:3" ], [ "4A", "2", "0", "VALUE:3" ], [ "4A", "2C", "0", "VALUE:3" ], [ "4A", "3", "0", "VALUE:3" ], [ "4A", "X", "0", "VALUE:99" ], [ "4B", "0", "0", "VALUE:2C" ], [ "4B", "1", "0", "VALUE:3" ], [ "4B", "2", "0", "VALUE:3" ], [ "4B", "2C", "0", "VALUE:3" ], [ "4B", "3", "0", "VALUE:3" ], [ "4B", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:2" ], [ "4", "1", "0", "VALUE:3" ], [ "4", "2", "0", "VALUE:3" ], [ "4", "2C", "0", "VALUE:3" ], [ "4", "3", "0", "VALUE:3" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3" ], [ "X", "2", "0", "VALUE:3" ], [ "X", "2C", "0", "VALUE:3" ], [ "X", "3", "0", "VALUE:3" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1A", "VALUE:4" ], [ "0", "1", "1A", "VALUE:4" ], [ "0", "2", "1A", "VALUE:4" ], [ "0", "2C", "1A", "VALUE:4" ], [ "0", "3", "1A", "VALUE:4" ], [ "0", "X", "1A", "VALUE:4" ], [ "IS", "0", "1A", "ERROR:" ], [ "IS", "1", "1A", "ERROR:" ], [ "IS", "2", "1A", "ERROR:" ], [ "IS", "2C", "1A", "ERROR:" ], [ "IS", "3", "1A", "ERROR:" ], [ "IS", "X", "1A", "ERROR:" ], [ "1A", "0", "1A", "VALUE:4" ], [ "1A", "1", "1A", "VALUE:4" ], [ "1A", "2", "1A", "VALUE:4" ], [ "1A", "2C", "1A", "VALUE:4" ], [ "1A", "3", "1A", "VALUE:4" ], [ "1A", "X", "1A", "VALUE:4" ], [ "1B", "0", "1A", "VALUE:4" ], [ "1B", "1", "1A", "VALUE:4" ], [ "1B", "2", "1A", "VALUE:4" ], [ "1B", "2C", "1A", "VALUE:4" ], [ "1B", "3", "1A", "VALUE:4" ], [ "1B", "X", "1A", "VALUE:4" ], [ "1", "0", "1A", "VALUE:4" ], [ "1", "1", "1A", "VALUE:4" ], [ "1", "2", "1A", "VALUE:4" ], [ "1", "2C", "1A", "VALUE:4" ], [ "1", "3", "1A", "VALUE:4" ], [ "1", "X", "1A", "VALUE:4" ], [ "2A", "0", "1A", "VALUE:4" ], [ "2A", "1", "1A", "VALUE:4" ], [ "2A", "2", "1A", "VALUE:4" ], [ "2A", "2C", "1A", "VALUE:4" ], [ "2A", "3", "1A", "VALUE:4" ], [ "2A", "X", "1A", "VALUE:4" ], [ "2B", "0", "1A", "VALUE:4" ], [ "2B", "1", "1A", "VALUE:4" ], [ "2B", "2", "1A", "VALUE:4" ], [ "2B", "2C", "1A", "VALUE:4" ], [ "2B", "3", "1A", "VALUE:4" ], [ "2B", "X", "1A", "VALUE:4" ], [ "2", "0", "1A", "VALUE:4" ], [ "2", "1", "1A", "VALUE:4" ], [ "2", "2", "1A", "VALUE:4" ], [ "2", "2C", "1A", "VALUE:4" ], [ "2", "3", "1A", "VALUE:4" ], [ "2", "X", "1A", "VALUE:4" ], [ "3A", "0", "1A", "VALUE:4" ], [ "3A", "1", "1A", "VALUE:4" ], [ "3A", "2", "1A", "VALUE:4" ], [ "3A", "2C", "1A", "VALUE:4" ], [ "3A", "3", "1A", "VALUE:4" ], [ "3A", "X", "1A", "VALUE:4" ], [ "3B", "0", "1A", "VALUE:4" ], [ "3B", "1", "1A", "VALUE:4" ], [ "3B", "2", "1A", "VALUE:4" ], [ "3B", "2C", "1A", "VALUE:4" ], [ "3B", "3", "1A", "VALUE:4" ], [ "3B", "X", "1A", "VALUE:4" ], [ "3", "0", "1A", "VALUE:4" ], [ "3", "1", "1A", "VALUE:4" ], [ "3", "2", "1A", "VALUE:4" ], [ "3", "2C", "1A", "VALUE:4" ], [ "3", "3", "1A", "VALUE:4" ], [ "3", "X", "1A", "VALUE:4" ], [ "4A", "0", "1A", "VALUE:4" ], [ "4A", "1", "1A", "VALUE:4" ], [ "4A", "2", "1A", "VALUE:4" ], [ "4A", "2C", "1A", "VALUE:4" ], [ "4A", "3", "1A", "VALUE:4" ], [ "4A", "X", "1A", "VALUE:4" ], [ "4B", "0", "1A", "VALUE:4" ], [ "4B", "1", "1A", "VALUE:4" ], [ "4B", "2", "1A", "VALUE:4" ], [ "4B", "2C", "1A", "VALUE:4" ], [ "4B", "3", "1A", "VALUE:4" ], [ "4B", "X", "1A", "VALUE:4" ], [ "4", "0", "1A", "VALUE:4" ], [ "4", "1", "1A", "VALUE:4" ], [ "4", "2", "1A", "VALUE:4" ], [ "4", "2C", "1A", "VALUE:4" ], [ "4", "3", "1A", "VALUE:4" ], [ "4", "X", "1A", "VALUE:4" ], [ "X", "0", "1A", "VALUE:4" ], [ "X", "1", "1A", "VALUE:4" ], [ "X", "2", "1A", "VALUE:4" ], [ "X", "2C", "1A", "VALUE:4" ], [ "X", "3", "1A", "VALUE:4" ], [ "X", "X", "1A", "VALUE:4" ], [ "0", "0", "1B", "VALUE:4" ], [ "0", "1", "1B", "VALUE:4" ], [ "0", "2", "1B", "VALUE:4" ], [ "0", "2C", "1B", "VALUE:4" ], [ "0", "3", "1B", "VALUE:4" ], [ "0", "X", "1B", "VALUE:4" ], [ "IS", "0", "1B", "ERROR:" ], [ "IS", "1", "1B", "ERROR:" ], [ "IS", "2", "1B", "ERROR:" ], [ "IS", "2C", "1B", "ERROR:" ], [ "IS", "3", "1B", "ERROR:" ], [ "IS", "X", "1B", "ERROR:" ], [ "1A", "0", "1B", "VALUE:4" ], [ "1A", "1", "1B", "VALUE:4" ], [ "1A", "2", "1B", "VALUE:4" ], [ "1A", "2C", "1B", "VALUE:4" ], [ "1A", "3", "1B", "VALUE:4" ], [ "1A", "X", "1B", "VALUE:4" ], [ "1B", "0", "1B", "VALUE:4" ], [ "1B", "1", "1B", "VALUE:4" ], [ "1B", "2", "1B", "VALUE:4" ], [ "1B", "2C", "1B", "VALUE:4" ], [ "1B", "3", "1B", "VALUE:4" ], [ "1B", "X", "1B", "VALUE:4" ], [ "1", "0", "1B", "VALUE:4" ], [ "1", "1", "1B", "VALUE:4" ], [ "1", "2", "1B", "VALUE:4" ], [ "1", "2C", "1B", "VALUE:4" ], [ "1", "3", "1B", "VALUE:4" ], [ "1", "X", "1B", "VALUE:4" ], [ "2A", "0", "1B", "VALUE:4" ], [ "2A", "1", "1B", "VALUE:4" ], [ "2A", "2", "1B", "VALUE:4" ], [ "2A", "2C", "1B", "VALUE:4" ], [ "2A", "3", "1B", "VALUE:4" ], [ "2A", "X", "1B", "VALUE:4" ], [ "2B", "0", "1B", "VALUE:4" ], [ "2B", "1", "1B", "VALUE:4" ], [ "2B", "2", "1B", "VALUE:4" ], [ "2B", "2C", "1B", "VALUE:4" ], [ "2B", "3", "1B", "VALUE:4" ], [ "2B", "X", "1B", "VALUE:4" ], [ "2", "0", "1B", "VALUE:4" ], [ "2", "1", "1B", "VALUE:4" ], [ "2", "2", "1B", "VALUE:4" ], [ "2", "2C", "1B", "VALUE:4" ], [ "2", "3", "1B", "VALUE:4" ], [ "2", "X", "1B", "VALUE:4" ], [ "3A", "0", "1B", "VALUE:4" ], [ "3A", "1", "1B", "VALUE:4" ], [ "3A", "2", "1B", "VALUE:4" ], [ "3A", "2C", "1B", "VALUE:4" ], [ "3A", "3", "1B", "VALUE:4" ], [ "3A", "X", "1B", "VALUE:4" ], [ "3B", "0", "1B", "VALUE:4" ], [ "3B", "1", "1B", "VALUE:4" ], [ "3B", "2", "1B", "VALUE:4" ], [ "3B", "2C", "1B", "VALUE:4" ], [ "3B", "3", "1B", "VALUE:4" ], [ "3B", "X", "1B", "VALUE:4" ], [ "3", "0", "1B", "VALUE:4" ], [ "3", "1", "1B", "VALUE:4" ], [ "3", "2", "1B", "VALUE:4" ], [ "3", "2C", "1B", "VALUE:4" ], [ "3", "3", "1B", "VALUE:4" ], [ "3", "X", "1B", "VALUE:4" ], [ "4A", "0", "1B", "VALUE:4" ], [ "4A", "1", "1B", "VALUE:4" ], [ "4A", "2", "1B", "VALUE:4" ], [ "4A", "2C", "1B", "VALUE:4" ], [ "4A", "3", "1B", "VALUE:4" ], [ "4A", "X", "1B", "VALUE:4" ], [ "4B", "0", "1B", "VALUE:4" ], [ "4B", "1", "1B", "VALUE:4" ], [ "4B", "2", "1B", "VALUE:4" ], [ "4B", "2C", "1B", "VALUE:4" ], [ "4B", "3", "1B", "VALUE:4" ], [ "4B", "X", "1B", "VALUE:4" ], [ "4", "0", "1B", "VALUE:4" ], [ "4", "1", "1B", "VALUE:4" ], [ "4", "2", "1B", "VALUE:4" ], [ "4", "2C", "1B", "VALUE:4" ], [ "4", "3", "1B", "VALUE:4" ], [ "4", "X", "1B", "VALUE:4" ], [ "X", "0", "1B", "VALUE:4" ], [ "X", "1", "1B", "VALUE:4" ], [ "X", "2", "1B", "VALUE:4" ], [ "X", "2C", "1B", "VALUE:4" ], [ "X", "3", "1B", "VALUE:4" ], [ "X", "X", "1B", "VALUE:4" ], [ "0", "0", "1C", "VALUE:4" ], [ "0", "1", "1C", "VALUE:4" ], [ "0", "2", "1C", "VALUE:4" ], [ "0", "2C", "1C", "VALUE:4" ], [ "0", "3", "1C", "VALUE:4" ], [ "0", "X", "1C", "VALUE:4" ], [ "IS", "0", "1C", "ERROR:" ], [ "IS", "1", "1C", "ERROR:" ], [ "IS", "2", "1C", "ERROR:" ], [ "IS", "2C", "1C", "ERROR:" ], [ "IS", "3", "1C", "ERROR:" ], [ "IS", "X", "1C", "ERROR:" ], [ "1A", "0", "1C", "VALUE:4" ], [ "1A", "1", "1C", "VALUE:4" ], [ "1A", "2", "1C", "VALUE:4" ], [ "1A", "2C", "1C", "VALUE:4" ], [ "1A", "3", "1C", "VALUE:4" ], [ "1A", "X", "1C", "VALUE:4" ], [ "1B", "0", "1C", "VALUE:4" ], [ "1B", "1", "1C", "VALUE:4" ], [ "1B", "2", "1C", "VALUE:4" ], [ "1B", "2C", "1C", "VALUE:4" ], [ "1B", "3", "1C", "VALUE:4" ], [ "1B", "X", "1C", "VALUE:4" ], [ "1", "0", "1C", "VALUE:4" ], [ "1", "1", "1C", "VALUE:4" ], [ "1", "2", "1C", "VALUE:4" ], [ "1", "2C", "1C", "VALUE:4" ], [ "1", "3", "1C", "VALUE:4" ], [ "1", "X", "1C", "VALUE:4" ], [ "2A", "0", "1C", "VALUE:4" ], [ "2A", "1", "1C", "VALUE:4" ], [ "2A", "2", "1C", "VALUE:4" ], [ "2A", "2C", "1C", "VALUE:4" ], [ "2A", "3", "1C", "VALUE:4" ], [ "2A", "X", "1C", "VALUE:4" ], [ "2B", "0", "1C", "VALUE:4" ], [ "2B", "1", "1C", "VALUE:4" ], [ "2B", "2", "1C", "VALUE:4" ], [ "2B", "2C", "1C", "VALUE:4" ], [ "2B", "3", "1C", "VALUE:4" ], [ "2B", "X", "1C", "VALUE:4" ], [ "2", "0", "1C", "VALUE:4" ], [ "2", "1", "1C", "VALUE:4" ], [ "2", "2", "1C", "VALUE:4" ], [ "2", "2C", "1C", "VALUE:4" ], [ "2", "3", "1C", "VALUE:4" ], [ "2", "X", "1C", "VALUE:4" ], [ "3A", "0", "1C", "VALUE:4" ], [ "3A", "1", "1C", "VALUE:4" ], [ "3A", "2", "1C", "VALUE:4" ], [ "3A", "2C", "1C", "VALUE:4" ], [ "3A", "3", "1C", "VALUE:4" ], [ "3A", "X", "1C", "VALUE:4" ], [ "3B", "0", "1C", "VALUE:4" ], [ "3B", "1", "1C", "VALUE:4" ], [ "3B", "2", "1C", "VALUE:4" ], [ "3B", "2C", "1C", "VALUE:4" ], [ "3B", "3", "1C", "VALUE:4" ], [ "3B", "X", "1C", "VALUE:4" ], [ "3", "0", "1C", "VALUE:4" ], [ "3", "1", "1C", "VALUE:4" ], [ "3", "2", "1C", "VALUE:4" ], [ "3", "2C", "1C", "VALUE:4" ], [ "3", "3", "1C", "VALUE:4" ], [ "3", "X", "1C", "VALUE:4" ], [ "4A", "0", "1C", "VALUE:4" ], [ "4A", "1", "1C", "VALUE:4" ], [ "4A", "2", "1C", "VALUE:4" ], [ "4A", "2C", "1C", "VALUE:4" ], [ "4A", "3", "1C", "VALUE:4" ], [ "4A", "X", "1C", "VALUE:4" ], [ "4B", "0", "1C", "VALUE:4" ], [ "4B", "1", "1C", "VALUE:4" ], [ "4B", "2", "1C", "VALUE:4" ], [ "4B", "2C", "1C", "VALUE:4" ], [ "4B", "3", "1C", "VALUE:4" ], [ "4B", "X", "1C", "VALUE:4" ], [ "4", "0", "1C", "VALUE:4" ], [ "4", "1", "1C", "VALUE:4" ], [ "4", "2", "1C", "VALUE:4" ], [ "4", "2C", "1C", "VALUE:4" ], [ "4", "3", "1C", "VALUE:4" ], [ "4", "X", "1C", "VALUE:4" ], [ "X", "0", "1C", "VALUE:4" ], [ "X", "1", "1C", "VALUE:4" ], [ "X", "2", "1C", "VALUE:4" ], [ "X", "2C", "1C", "VALUE:4" ], [ "X", "3", "1C", "VALUE:4" ], [ "X", "X", "1C", "VALUE:4" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "2C", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "2C", "1", "ERROR:" ], [ "IS", "3", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "VALUE:4" ], [ "1A", "2C", "1", "VALUE:4" ], [ "1A", "3", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "VALUE:4" ], [ "1B", "2C", "1", "VALUE:4" ], [ "1B", "3", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "2C", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "2", "1", "VALUE:4" ], [ "2A", "2C", "1", "VALUE:4" ], [ "2A", "3", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "2", "1", "VALUE:4" ], [ "2B", "2C", "1", "VALUE:4" ], [ "2B", "3", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "2C", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "2", "1", "VALUE:4" ], [ "3A", "2C", "1", "VALUE:4" ], [ "3A", "3", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "2", "1", "VALUE:4" ], [ "3B", "2C", "1", "VALUE:4" ], [ "3B", "3", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "2C", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4A", "0", "1", "VALUE:4" ], [ "4A", "1", "1", "VALUE:4" ], [ "4A", "2", "1", "VALUE:4" ], [ "4A", "2C", "1", "VALUE:4" ], [ "4A", "3", "1", "VALUE:4" ], [ "4A", "X", "1", "VALUE:4" ], [ "4B", "0", "1", "VALUE:4" ], [ "4B", "1", "1", "VALUE:4" ], [ "4B", "2", "1", "VALUE:4" ], [ "4B", "2C", "1", "VALUE:4" ], [ "4B", "3", "1", "VALUE:4" ], [ "4B", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "2C", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "2C", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubx.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubx.json deleted file mode 100644 index 35a48e4f8..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ubx.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm7_stage_ubx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.023Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "peripheral_blood_involvement", - "name" : "Peripheral Blood Involvement", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "B0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "B0a", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "B0b", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "B1", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "B1a", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "B1b", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "B2", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "BX", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1A", "0", "B0", "VALUE:99" ], [ "0", "1A", "0", "B0a", "VALUE:99" ], [ "0", "1A", "0", "B0b", "VALUE:99" ], [ "0", "1A", "0", "B1", "VALUE:99" ], [ "0", "1A", "0", "B1a", "VALUE:99" ], [ "0", "1A", "0", "B1b", "VALUE:99" ], [ "0", "1A", "0", "B2", "VALUE:4A1" ], [ "0", "1A", "0", "BX", "VALUE:99" ], [ "0", "1B", "0", "B0", "VALUE:99" ], [ "0", "1B", "0", "B0a", "VALUE:99" ], [ "0", "1B", "0", "B0b", "VALUE:99" ], [ "0", "1B", "0", "B1", "VALUE:99" ], [ "0", "1B", "0", "B1a", "VALUE:99" ], [ "0", "1B", "0", "B1b", "VALUE:99" ], [ "0", "1B", "0", "B2", "VALUE:4A1" ], [ "0", "1B", "0", "BX", "VALUE:99" ], [ "0", "1", "0", "B0", "VALUE:99" ], [ "0", "1", "0", "B0a", "VALUE:99" ], [ "0", "1", "0", "B0b", "VALUE:99" ], [ "0", "1", "0", "B1", "VALUE:99" ], [ "0", "1", "0", "B1a", "VALUE:99" ], [ "0", "1", "0", "B1b", "VALUE:99" ], [ "0", "1", "0", "B2", "VALUE:4A1" ], [ "0", "1", "0", "BX", "VALUE:99" ], [ "0", "2A", "0", "B0", "VALUE:99" ], [ "0", "2A", "0", "B0a", "VALUE:99" ], [ "0", "2A", "0", "B0b", "VALUE:99" ], [ "0", "2A", "0", "B1", "VALUE:99" ], [ "0", "2A", "0", "B1a", "VALUE:99" ], [ "0", "2A", "0", "B1b", "VALUE:99" ], [ "0", "2A", "0", "B2", "VALUE:4A1" ], [ "0", "2A", "0", "BX", "VALUE:99" ], [ "0", "2B", "0", "B0", "VALUE:99" ], [ "0", "2B", "0", "B0a", "VALUE:99" ], [ "0", "2B", "0", "B0b", "VALUE:99" ], [ "0", "2B", "0", "B1", "VALUE:99" ], [ "0", "2B", "0", "B1a", "VALUE:99" ], [ "0", "2B", "0", "B1b", "VALUE:99" ], [ "0", "2B", "0", "B2", "VALUE:4A1" ], [ "0", "2B", "0", "BX", "VALUE:99" ], [ "0", "2", "0", "B0", "VALUE:99" ], [ "0", "2", "0", "B0a", "VALUE:99" ], [ "0", "2", "0", "B0b", "VALUE:99" ], [ "0", "2", "0", "B1", "VALUE:99" ], [ "0", "2", "0", "B1a", "VALUE:99" ], [ "0", "2", "0", "B1b", "VALUE:99" ], [ "0", "2", "0", "B2", "VALUE:4A1" ], [ "0", "2", "0", "BX", "VALUE:99" ], [ "0", "3", "0", "B0", "VALUE:4A2" ], [ "0", "3", "0", "B0a", "VALUE:4A2" ], [ "0", "3", "0", "B0b", "VALUE:4A2" ], [ "0", "3", "0", "B1", "VALUE:4A2" ], [ "0", "3", "0", "B1a", "VALUE:4A2" ], [ "0", "3", "0", "B1b", "VALUE:4A2" ], [ "0", "3", "0", "B2", "VALUE:4A2" ], [ "0", "3", "0", "BX", "VALUE:4A2" ], [ "0", "X", "0", "B0", "VALUE:99" ], [ "0", "X", "0", "B0a", "VALUE:99" ], [ "0", "X", "0", "B0b", "VALUE:99" ], [ "0", "X", "0", "B1", "VALUE:99" ], [ "0", "X", "0", "B1a", "VALUE:99" ], [ "0", "X", "0", "B1b", "VALUE:99" ], [ "0", "X", "0", "B2", "VALUE:4A" ], [ "0", "X", "0", "BX", "VALUE:99" ], [ "1A", "0", "0", "B0", "VALUE:1A" ], [ "1A", "0", "0", "B0a", "VALUE:1A" ], [ "1A", "0", "0", "B0b", "VALUE:1A" ], [ "1A", "0", "0", "B1", "VALUE:1A" ], [ "1A", "0", "0", "B1a", "VALUE:1A" ], [ "1A", "0", "0", "B1b", "VALUE:1A" ], [ "1A", "0", "0", "B2", "VALUE:4A1" ], [ "1A", "0", "0", "BX", "VALUE:1A" ], [ "1A", "1A", "0", "B0", "VALUE:2A" ], [ "1A", "1A", "0", "B0a", "VALUE:2A" ], [ "1A", "1A", "0", "B0b", "VALUE:2A" ], [ "1A", "1A", "0", "B1", "VALUE:2A" ], [ "1A", "1A", "0", "B1a", "VALUE:2A" ], [ "1A", "1A", "0", "B1b", "VALUE:2A" ], [ "1A", "1A", "0", "B2", "VALUE:4A1" ], [ "1A", "1A", "0", "BX", "VALUE:2A" ], [ "1A", "1B", "0", "B0", "VALUE:2A" ], [ "1A", "1B", "0", "B0a", "VALUE:2A" ], [ "1A", "1B", "0", "B0b", "VALUE:2A" ], [ "1A", "1B", "0", "B1", "VALUE:2A" ], [ "1A", "1B", "0", "B1a", "VALUE:2A" ], [ "1A", "1B", "0", "B1b", "VALUE:2A" ], [ "1A", "1B", "0", "B2", "VALUE:4A1" ], [ "1A", "1B", "0", "BX", "VALUE:2A" ], [ "1A", "1", "0", "B0", "VALUE:2A" ], [ "1A", "1", "0", "B0a", "VALUE:2A" ], [ "1A", "1", "0", "B0b", "VALUE:2A" ], [ "1A", "1", "0", "B1", "VALUE:2A" ], [ "1A", "1", "0", "B1a", "VALUE:2A" ], [ "1A", "1", "0", "B1b", "VALUE:2A" ], [ "1A", "1", "0", "B2", "VALUE:4A1" ], [ "1A", "1", "0", "BX", "VALUE:2A" ], [ "1A", "2A", "0", "B0", "VALUE:2A" ], [ "1A", "2A", "0", "B0a", "VALUE:2A" ], [ "1A", "2A", "0", "B0b", "VALUE:2A" ], [ "1A", "2A", "0", "B1", "VALUE:2A" ], [ "1A", "2A", "0", "B1a", "VALUE:2A" ], [ "1A", "2A", "0", "B1b", "VALUE:2A" ], [ "1A", "2A", "0", "B2", "VALUE:4A1" ], [ "1A", "2A", "0", "BX", "VALUE:2A" ], [ "1A", "2B", "0", "B0", "VALUE:2A" ], [ "1A", "2B", "0", "B0a", "VALUE:2A" ], [ "1A", "2B", "0", "B0b", "VALUE:2A" ], [ "1A", "2B", "0", "B1", "VALUE:2A" ], [ "1A", "2B", "0", "B1a", "VALUE:2A" ], [ "1A", "2B", "0", "B1b", "VALUE:2A" ], [ "1A", "2B", "0", "B2", "VALUE:4A1" ], [ "1A", "2B", "0", "BX", "VALUE:2A" ], [ "1A", "2", "0", "B0", "VALUE:2A" ], [ "1A", "2", "0", "B0a", "VALUE:2A" ], [ "1A", "2", "0", "B0b", "VALUE:2A" ], [ "1A", "2", "0", "B1", "VALUE:2A" ], [ "1A", "2", "0", "B1a", "VALUE:2A" ], [ "1A", "2", "0", "B1b", "VALUE:2A" ], [ "1A", "2", "0", "B2", "VALUE:4A1" ], [ "1A", "2", "0", "BX", "VALUE:2A" ], [ "1A", "3", "0", "B0", "VALUE:4A2" ], [ "1A", "3", "0", "B0a", "VALUE:4A2" ], [ "1A", "3", "0", "B0b", "VALUE:4A2" ], [ "1A", "3", "0", "B1", "VALUE:4A2" ], [ "1A", "3", "0", "B1a", "VALUE:4A2" ], [ "1A", "3", "0", "B1b", "VALUE:4A2" ], [ "1A", "3", "0", "B2", "VALUE:4A2" ], [ "1A", "3", "0", "BX", "VALUE:4A2" ], [ "1A", "X", "0", "B0", "VALUE:99" ], [ "1A", "X", "0", "B0a", "VALUE:99" ], [ "1A", "X", "0", "B0b", "VALUE:99" ], [ "1A", "X", "0", "B1", "VALUE:99" ], [ "1A", "X", "0", "B1a", "VALUE:99" ], [ "1A", "X", "0", "B1b", "VALUE:99" ], [ "1A", "X", "0", "B2", "VALUE:4A" ], [ "1A", "X", "0", "BX", "VALUE:99" ], [ "1B", "0", "0", "B0", "VALUE:1A" ], [ "1B", "0", "0", "B0a", "VALUE:1A" ], [ "1B", "0", "0", "B0b", "VALUE:1A" ], [ "1B", "0", "0", "B1", "VALUE:1A" ], [ "1B", "0", "0", "B1a", "VALUE:1A" ], [ "1B", "0", "0", "B1b", "VALUE:1A" ], [ "1B", "0", "0", "B2", "VALUE:4A1" ], [ "1B", "0", "0", "BX", "VALUE:1A" ], [ "1B", "1A", "0", "B0", "VALUE:2A" ], [ "1B", "1A", "0", "B0a", "VALUE:2A" ], [ "1B", "1A", "0", "B0b", "VALUE:2A" ], [ "1B", "1A", "0", "B1", "VALUE:2A" ], [ "1B", "1A", "0", "B1a", "VALUE:2A" ], [ "1B", "1A", "0", "B1b", "VALUE:2A" ], [ "1B", "1A", "0", "B2", "VALUE:4A1" ], [ "1B", "1A", "0", "BX", "VALUE:2A" ], [ "1B", "1B", "0", "B0", "VALUE:2A" ], [ "1B", "1B", "0", "B0a", "VALUE:2A" ], [ "1B", "1B", "0", "B0b", "VALUE:2A" ], [ "1B", "1B", "0", "B1", "VALUE:2A" ], [ "1B", "1B", "0", "B1a", "VALUE:2A" ], [ "1B", "1B", "0", "B1b", "VALUE:2A" ], [ "1B", "1B", "0", "B2", "VALUE:4A1" ], [ "1B", "1B", "0", "BX", "VALUE:2A" ], [ "1B", "1", "0", "B0", "VALUE:2A" ], [ "1B", "1", "0", "B0a", "VALUE:2A" ], [ "1B", "1", "0", "B0b", "VALUE:2A" ], [ "1B", "1", "0", "B1", "VALUE:2A" ], [ "1B", "1", "0", "B1a", "VALUE:2A" ], [ "1B", "1", "0", "B1b", "VALUE:2A" ], [ "1B", "1", "0", "B2", "VALUE:4A1" ], [ "1B", "1", "0", "BX", "VALUE:2A" ], [ "1B", "2A", "0", "B0", "VALUE:2A" ], [ "1B", "2A", "0", "B0a", "VALUE:2A" ], [ "1B", "2A", "0", "B0b", "VALUE:2A" ], [ "1B", "2A", "0", "B1", "VALUE:2A" ], [ "1B", "2A", "0", "B1a", "VALUE:2A" ], [ "1B", "2A", "0", "B1b", "VALUE:2A" ], [ "1B", "2A", "0", "B2", "VALUE:4A1" ], [ "1B", "2A", "0", "BX", "VALUE:2A" ], [ "1B", "2B", "0", "B0", "VALUE:2A" ], [ "1B", "2B", "0", "B0a", "VALUE:2A" ], [ "1B", "2B", "0", "B0b", "VALUE:2A" ], [ "1B", "2B", "0", "B1", "VALUE:2A" ], [ "1B", "2B", "0", "B1a", "VALUE:2A" ], [ "1B", "2B", "0", "B1b", "VALUE:2A" ], [ "1B", "2B", "0", "B2", "VALUE:4A1" ], [ "1B", "2B", "0", "BX", "VALUE:2A" ], [ "1B", "2", "0", "B0", "VALUE:2A" ], [ "1B", "2", "0", "B0a", "VALUE:2A" ], [ "1B", "2", "0", "B0b", "VALUE:2A" ], [ "1B", "2", "0", "B1", "VALUE:2A" ], [ "1B", "2", "0", "B1a", "VALUE:2A" ], [ "1B", "2", "0", "B1b", "VALUE:2A" ], [ "1B", "2", "0", "B2", "VALUE:4A1" ], [ "1B", "2", "0", "BX", "VALUE:2A" ], [ "1B", "3", "0", "B0", "VALUE:4A2" ], [ "1B", "3", "0", "B0a", "VALUE:4A2" ], [ "1B", "3", "0", "B0b", "VALUE:4A2" ], [ "1B", "3", "0", "B1", "VALUE:4A2" ], [ "1B", "3", "0", "B1a", "VALUE:4A2" ], [ "1B", "3", "0", "B1b", "VALUE:4A2" ], [ "1B", "3", "0", "B2", "VALUE:4A2" ], [ "1B", "3", "0", "BX", "VALUE:4A2" ], [ "1B", "X", "0", "B0", "VALUE:99" ], [ "1B", "X", "0", "B0a", "VALUE:99" ], [ "1B", "X", "0", "B0b", "VALUE:99" ], [ "1B", "X", "0", "B1", "VALUE:99" ], [ "1B", "X", "0", "B1a", "VALUE:99" ], [ "1B", "X", "0", "B1b", "VALUE:99" ], [ "1B", "X", "0", "B2", "VALUE:4A" ], [ "1B", "X", "0", "BX", "VALUE:99" ], [ "1", "0", "0", "B0", "VALUE:1A" ], [ "1", "0", "0", "B0a", "VALUE:1A" ], [ "1", "0", "0", "B0b", "VALUE:1A" ], [ "1", "0", "0", "B1", "VALUE:1A" ], [ "1", "0", "0", "B1a", "VALUE:1A" ], [ "1", "0", "0", "B1b", "VALUE:1A" ], [ "1", "0", "0", "B2", "VALUE:4A1" ], [ "1", "0", "0", "BX", "VALUE:1A" ], [ "1", "1A", "0", "B0", "VALUE:2A" ], [ "1", "1A", "0", "B0a", "VALUE:2A" ], [ "1", "1A", "0", "B0b", "VALUE:2A" ], [ "1", "1A", "0", "B1", "VALUE:2A" ], [ "1", "1A", "0", "B1a", "VALUE:2A" ], [ "1", "1A", "0", "B1b", "VALUE:2A" ], [ "1", "1A", "0", "B2", "VALUE:4A1" ], [ "1", "1A", "0", "BX", "VALUE:2A" ], [ "1", "1B", "0", "B0", "VALUE:2A" ], [ "1", "1B", "0", "B0a", "VALUE:2A" ], [ "1", "1B", "0", "B0b", "VALUE:2A" ], [ "1", "1B", "0", "B1", "VALUE:2A" ], [ "1", "1B", "0", "B1a", "VALUE:2A" ], [ "1", "1B", "0", "B1b", "VALUE:2A" ], [ "1", "1B", "0", "B2", "VALUE:4A1" ], [ "1", "1B", "0", "BX", "VALUE:2A" ], [ "1", "1", "0", "B0", "VALUE:2A" ], [ "1", "1", "0", "B0a", "VALUE:2A" ], [ "1", "1", "0", "B0b", "VALUE:2A" ], [ "1", "1", "0", "B1", "VALUE:2A" ], [ "1", "1", "0", "B1a", "VALUE:2A" ], [ "1", "1", "0", "B1b", "VALUE:2A" ], [ "1", "1", "0", "B2", "VALUE:4A1" ], [ "1", "1", "0", "BX", "VALUE:2A" ], [ "1", "2A", "0", "B0", "VALUE:2A" ], [ "1", "2A", "0", "B0a", "VALUE:2A" ], [ "1", "2A", "0", "B0b", "VALUE:2A" ], [ "1", "2A", "0", "B1", "VALUE:2A" ], [ "1", "2A", "0", "B1a", "VALUE:2A" ], [ "1", "2A", "0", "B1b", "VALUE:2A" ], [ "1", "2A", "0", "B2", "VALUE:4A1" ], [ "1", "2A", "0", "BX", "VALUE:2A" ], [ "1", "2B", "0", "B0", "VALUE:2A" ], [ "1", "2B", "0", "B0a", "VALUE:2A" ], [ "1", "2B", "0", "B0b", "VALUE:2A" ], [ "1", "2B", "0", "B1", "VALUE:2A" ], [ "1", "2B", "0", "B1a", "VALUE:2A" ], [ "1", "2B", "0", "B1b", "VALUE:2A" ], [ "1", "2B", "0", "B2", "VALUE:4A1" ], [ "1", "2B", "0", "BX", "VALUE:2A" ], [ "1", "2", "0", "B0", "VALUE:2A" ], [ "1", "2", "0", "B0a", "VALUE:2A" ], [ "1", "2", "0", "B0b", "VALUE:2A" ], [ "1", "2", "0", "B1", "VALUE:2A" ], [ "1", "2", "0", "B1a", "VALUE:2A" ], [ "1", "2", "0", "B1b", "VALUE:2A" ], [ "1", "2", "0", "B2", "VALUE:4A1" ], [ "1", "2", "0", "BX", "VALUE:2A" ], [ "1", "3", "0", "B0", "VALUE:4A2" ], [ "1", "3", "0", "B0a", "VALUE:4A2" ], [ "1", "3", "0", "B0b", "VALUE:4A2" ], [ "1", "3", "0", "B1", "VALUE:4A2" ], [ "1", "3", "0", "B1a", "VALUE:4A2" ], [ "1", "3", "0", "B1b", "VALUE:4A2" ], [ "1", "3", "0", "B2", "VALUE:4A2" ], [ "1", "3", "0", "BX", "VALUE:4A2" ], [ "1", "X", "0", "B0", "VALUE:99" ], [ "1", "X", "0", "B0a", "VALUE:99" ], [ "1", "X", "0", "B0b", "VALUE:99" ], [ "1", "X", "0", "B1", "VALUE:99" ], [ "1", "X", "0", "B1a", "VALUE:99" ], [ "1", "X", "0", "B1b", "VALUE:99" ], [ "1", "X", "0", "B2", "VALUE:4A" ], [ "1", "X", "0", "BX", "VALUE:99" ], [ "2A", "0", "0", "B0", "VALUE:1B" ], [ "2A", "0", "0", "B0a", "VALUE:1B" ], [ "2A", "0", "0", "B0b", "VALUE:1B" ], [ "2A", "0", "0", "B1", "VALUE:1B" ], [ "2A", "0", "0", "B1a", "VALUE:1B" ], [ "2A", "0", "0", "B1b", "VALUE:1B" ], [ "2A", "0", "0", "B2", "VALUE:4A1" ], [ "2A", "0", "0", "BX", "VALUE:1B" ], [ "2A", "1A", "0", "B0", "VALUE:2A" ], [ "2A", "1A", "0", "B0a", "VALUE:2A" ], [ "2A", "1A", "0", "B0b", "VALUE:2A" ], [ "2A", "1A", "0", "B1", "VALUE:2A" ], [ "2A", "1A", "0", "B1a", "VALUE:2A" ], [ "2A", "1A", "0", "B1b", "VALUE:2A" ], [ "2A", "1A", "0", "B2", "VALUE:4A1" ], [ "2A", "1A", "0", "BX", "VALUE:2A" ], [ "2A", "1B", "0", "B0", "VALUE:2A" ], [ "2A", "1B", "0", "B0a", "VALUE:2A" ], [ "2A", "1B", "0", "B0b", "VALUE:2A" ], [ "2A", "1B", "0", "B1", "VALUE:2A" ], [ "2A", "1B", "0", "B1a", "VALUE:2A" ], [ "2A", "1B", "0", "B1b", "VALUE:2A" ], [ "2A", "1B", "0", "B2", "VALUE:4A1" ], [ "2A", "1B", "0", "BX", "VALUE:2A" ], [ "2A", "1", "0", "B0", "VALUE:2A" ], [ "2A", "1", "0", "B0a", "VALUE:2A" ], [ "2A", "1", "0", "B0b", "VALUE:2A" ], [ "2A", "1", "0", "B1", "VALUE:2A" ], [ "2A", "1", "0", "B1a", "VALUE:2A" ], [ "2A", "1", "0", "B1b", "VALUE:2A" ], [ "2A", "1", "0", "B2", "VALUE:4A1" ], [ "2A", "1", "0", "BX", "VALUE:2A" ], [ "2A", "2A", "0", "B0", "VALUE:2A" ], [ "2A", "2A", "0", "B0a", "VALUE:2A" ], [ "2A", "2A", "0", "B0b", "VALUE:2A" ], [ "2A", "2A", "0", "B1", "VALUE:2A" ], [ "2A", "2A", "0", "B1a", "VALUE:2A" ], [ "2A", "2A", "0", "B1b", "VALUE:2A" ], [ "2A", "2A", "0", "B2", "VALUE:4A1" ], [ "2A", "2A", "0", "BX", "VALUE:2A" ], [ "2A", "2B", "0", "B0", "VALUE:2A" ], [ "2A", "2B", "0", "B0a", "VALUE:2A" ], [ "2A", "2B", "0", "B0b", "VALUE:2A" ], [ "2A", "2B", "0", "B1", "VALUE:2A" ], [ "2A", "2B", "0", "B1a", "VALUE:2A" ], [ "2A", "2B", "0", "B1b", "VALUE:2A" ], [ "2A", "2B", "0", "B2", "VALUE:4A1" ], [ "2A", "2B", "0", "BX", "VALUE:2A" ], [ "2A", "2", "0", "B0", "VALUE:2A" ], [ "2A", "2", "0", "B0a", "VALUE:2A" ], [ "2A", "2", "0", "B0b", "VALUE:2A" ], [ "2A", "2", "0", "B1", "VALUE:2A" ], [ "2A", "2", "0", "B1a", "VALUE:2A" ], [ "2A", "2", "0", "B1b", "VALUE:2A" ], [ "2A", "2", "0", "B2", "VALUE:4A1" ], [ "2A", "2", "0", "BX", "VALUE:2A" ], [ "2A", "3", "0", "B0", "VALUE:4A2" ], [ "2A", "3", "0", "B0a", "VALUE:4A2" ], [ "2A", "3", "0", "B0b", "VALUE:4A2" ], [ "2A", "3", "0", "B1", "VALUE:4A2" ], [ "2A", "3", "0", "B1a", "VALUE:4A2" ], [ "2A", "3", "0", "B1b", "VALUE:4A2" ], [ "2A", "3", "0", "B2", "VALUE:4A2" ], [ "2A", "3", "0", "BX", "VALUE:4A2" ], [ "2A", "X", "0", "B0", "VALUE:99" ], [ "2A", "X", "0", "B0a", "VALUE:99" ], [ "2A", "X", "0", "B0b", "VALUE:99" ], [ "2A", "X", "0", "B1", "VALUE:99" ], [ "2A", "X", "0", "B1a", "VALUE:99" ], [ "2A", "X", "0", "B1b", "VALUE:99" ], [ "2A", "X", "0", "B2", "VALUE:4A" ], [ "2A", "X", "0", "BX", "VALUE:99" ], [ "2B", "0", "0", "B0", "VALUE:1B" ], [ "2B", "0", "0", "B0a", "VALUE:1B" ], [ "2B", "0", "0", "B0b", "VALUE:1B" ], [ "2B", "0", "0", "B1", "VALUE:1B" ], [ "2B", "0", "0", "B1a", "VALUE:1B" ], [ "2B", "0", "0", "B1b", "VALUE:1B" ], [ "2B", "0", "0", "B2", "VALUE:4A1" ], [ "2B", "0", "0", "BX", "VALUE:1B" ], [ "2B", "1A", "0", "B0", "VALUE:2A" ], [ "2B", "1A", "0", "B0a", "VALUE:2A" ], [ "2B", "1A", "0", "B0b", "VALUE:2A" ], [ "2B", "1A", "0", "B1", "VALUE:2A" ], [ "2B", "1A", "0", "B1a", "VALUE:2A" ], [ "2B", "1A", "0", "B1b", "VALUE:2A" ], [ "2B", "1A", "0", "B2", "VALUE:4A1" ], [ "2B", "1A", "0", "BX", "VALUE:2A" ], [ "2B", "1B", "0", "B0", "VALUE:2A" ], [ "2B", "1B", "0", "B0a", "VALUE:2A" ], [ "2B", "1B", "0", "B0b", "VALUE:2A" ], [ "2B", "1B", "0", "B1", "VALUE:2A" ], [ "2B", "1B", "0", "B1a", "VALUE:2A" ], [ "2B", "1B", "0", "B1b", "VALUE:2A" ], [ "2B", "1B", "0", "B2", "VALUE:4A1" ], [ "2B", "1B", "0", "BX", "VALUE:2A" ], [ "2B", "1", "0", "B0", "VALUE:2A" ], [ "2B", "1", "0", "B0a", "VALUE:2A" ], [ "2B", "1", "0", "B0b", "VALUE:2A" ], [ "2B", "1", "0", "B1", "VALUE:2A" ], [ "2B", "1", "0", "B1a", "VALUE:2A" ], [ "2B", "1", "0", "B1b", "VALUE:2A" ], [ "2B", "1", "0", "B2", "VALUE:4A1" ], [ "2B", "1", "0", "BX", "VALUE:2A" ], [ "2B", "2A", "0", "B0", "VALUE:2A" ], [ "2B", "2A", "0", "B0a", "VALUE:2A" ], [ "2B", "2A", "0", "B0b", "VALUE:2A" ], [ "2B", "2A", "0", "B1", "VALUE:2A" ], [ "2B", "2A", "0", "B1a", "VALUE:2A" ], [ "2B", "2A", "0", "B1b", "VALUE:2A" ], [ "2B", "2A", "0", "B2", "VALUE:4A1" ], [ "2B", "2A", "0", "BX", "VALUE:2A" ], [ "2B", "2B", "0", "B0", "VALUE:2A" ], [ "2B", "2B", "0", "B0a", "VALUE:2A" ], [ "2B", "2B", "0", "B0b", "VALUE:2A" ], [ "2B", "2B", "0", "B1", "VALUE:2A" ], [ "2B", "2B", "0", "B1a", "VALUE:2A" ], [ "2B", "2B", "0", "B1b", "VALUE:2A" ], [ "2B", "2B", "0", "B2", "VALUE:4A1" ], [ "2B", "2B", "0", "BX", "VALUE:2A" ], [ "2B", "2", "0", "B0", "VALUE:2A" ], [ "2B", "2", "0", "B0a", "VALUE:2A" ], [ "2B", "2", "0", "B0b", "VALUE:2A" ], [ "2B", "2", "0", "B1", "VALUE:2A" ], [ "2B", "2", "0", "B1a", "VALUE:2A" ], [ "2B", "2", "0", "B1b", "VALUE:2A" ], [ "2B", "2", "0", "B2", "VALUE:4A1" ], [ "2B", "2", "0", "BX", "VALUE:2A" ], [ "2B", "3", "0", "B0", "VALUE:4A2" ], [ "2B", "3", "0", "B0a", "VALUE:4A2" ], [ "2B", "3", "0", "B0b", "VALUE:4A2" ], [ "2B", "3", "0", "B1", "VALUE:4A2" ], [ "2B", "3", "0", "B1a", "VALUE:4A2" ], [ "2B", "3", "0", "B1b", "VALUE:4A2" ], [ "2B", "3", "0", "B2", "VALUE:4A2" ], [ "2B", "3", "0", "BX", "VALUE:4A2" ], [ "2B", "X", "0", "B0", "VALUE:99" ], [ "2B", "X", "0", "B0a", "VALUE:99" ], [ "2B", "X", "0", "B0b", "VALUE:99" ], [ "2B", "X", "0", "B1", "VALUE:99" ], [ "2B", "X", "0", "B1a", "VALUE:99" ], [ "2B", "X", "0", "B1b", "VALUE:99" ], [ "2B", "X", "0", "B2", "VALUE:4A" ], [ "2B", "X", "0", "BX", "VALUE:99" ], [ "2", "0", "0", "B0", "VALUE:1B" ], [ "2", "0", "0", "B0a", "VALUE:1B" ], [ "2", "0", "0", "B0b", "VALUE:1B" ], [ "2", "0", "0", "B1", "VALUE:1B" ], [ "2", "0", "0", "B1a", "VALUE:1B" ], [ "2", "0", "0", "B1b", "VALUE:1B" ], [ "2", "0", "0", "B2", "VALUE:4A1" ], [ "2", "0", "0", "BX", "VALUE:1B" ], [ "2", "1A", "0", "B0", "VALUE:2A" ], [ "2", "1A", "0", "B0a", "VALUE:2A" ], [ "2", "1A", "0", "B0b", "VALUE:2A" ], [ "2", "1A", "0", "B1", "VALUE:2A" ], [ "2", "1A", "0", "B1a", "VALUE:2A" ], [ "2", "1A", "0", "B1b", "VALUE:2A" ], [ "2", "1A", "0", "B2", "VALUE:4A1" ], [ "2", "1A", "0", "BX", "VALUE:2A" ], [ "2", "1B", "0", "B0", "VALUE:2A" ], [ "2", "1B", "0", "B0a", "VALUE:2A" ], [ "2", "1B", "0", "B0b", "VALUE:2A" ], [ "2", "1B", "0", "B1", "VALUE:2A" ], [ "2", "1B", "0", "B1a", "VALUE:2A" ], [ "2", "1B", "0", "B1b", "VALUE:2A" ], [ "2", "1B", "0", "B2", "VALUE:4A1" ], [ "2", "1B", "0", "BX", "VALUE:2A" ], [ "2", "1", "0", "B0", "VALUE:2A" ], [ "2", "1", "0", "B0a", "VALUE:2A" ], [ "2", "1", "0", "B0b", "VALUE:2A" ], [ "2", "1", "0", "B1", "VALUE:2A" ], [ "2", "1", "0", "B1a", "VALUE:2A" ], [ "2", "1", "0", "B1b", "VALUE:2A" ], [ "2", "1", "0", "B2", "VALUE:4A1" ], [ "2", "1", "0", "BX", "VALUE:2A" ], [ "2", "2A", "0", "B0", "VALUE:2A" ], [ "2", "2A", "0", "B0a", "VALUE:2A" ], [ "2", "2A", "0", "B0b", "VALUE:2A" ], [ "2", "2A", "0", "B1", "VALUE:2A" ], [ "2", "2A", "0", "B1a", "VALUE:2A" ], [ "2", "2A", "0", "B1b", "VALUE:2A" ], [ "2", "2A", "0", "B2", "VALUE:4A1" ], [ "2", "2A", "0", "BX", "VALUE:2A" ], [ "2", "2B", "0", "B0", "VALUE:2A" ], [ "2", "2B", "0", "B0a", "VALUE:2A" ], [ "2", "2B", "0", "B0b", "VALUE:2A" ], [ "2", "2B", "0", "B1", "VALUE:2A" ], [ "2", "2B", "0", "B1a", "VALUE:2A" ], [ "2", "2B", "0", "B1b", "VALUE:2A" ], [ "2", "2B", "0", "B2", "VALUE:4A1" ], [ "2", "2B", "0", "BX", "VALUE:2A" ], [ "2", "2", "0", "B0", "VALUE:2A" ], [ "2", "2", "0", "B0a", "VALUE:2A" ], [ "2", "2", "0", "B0b", "VALUE:2A" ], [ "2", "2", "0", "B1", "VALUE:2A" ], [ "2", "2", "0", "B1a", "VALUE:2A" ], [ "2", "2", "0", "B1b", "VALUE:2A" ], [ "2", "2", "0", "B2", "VALUE:4A1" ], [ "2", "2", "0", "BX", "VALUE:2A" ], [ "2", "3", "0", "B0", "VALUE:4A2" ], [ "2", "3", "0", "B0a", "VALUE:4A2" ], [ "2", "3", "0", "B0b", "VALUE:4A2" ], [ "2", "3", "0", "B1", "VALUE:4A2" ], [ "2", "3", "0", "B1a", "VALUE:4A2" ], [ "2", "3", "0", "B1b", "VALUE:4A2" ], [ "2", "3", "0", "B2", "VALUE:4A2" ], [ "2", "3", "0", "BX", "VALUE:4A2" ], [ "2", "X", "0", "B0", "VALUE:99" ], [ "2", "X", "0", "B0a", "VALUE:99" ], [ "2", "X", "0", "B0b", "VALUE:99" ], [ "2", "X", "0", "B1", "VALUE:99" ], [ "2", "X", "0", "B1a", "VALUE:99" ], [ "2", "X", "0", "B1b", "VALUE:99" ], [ "2", "X", "0", "B2", "VALUE:4A" ], [ "2", "X", "0", "BX", "VALUE:99" ], [ "3", "0", "0", "B0", "VALUE:2B" ], [ "3", "0", "0", "B0a", "VALUE:2B" ], [ "3", "0", "0", "B0b", "VALUE:2B" ], [ "3", "0", "0", "B1", "VALUE:2B" ], [ "3", "0", "0", "B1a", "VALUE:2B" ], [ "3", "0", "0", "B1b", "VALUE:2B" ], [ "3", "0", "0", "B2", "VALUE:4A1" ], [ "3", "0", "0", "BX", "VALUE:2B" ], [ "3", "1A", "0", "B0", "VALUE:2B" ], [ "3", "1A", "0", "B0a", "VALUE:2B" ], [ "3", "1A", "0", "B0b", "VALUE:2B" ], [ "3", "1A", "0", "B1", "VALUE:2B" ], [ "3", "1A", "0", "B1a", "VALUE:2B" ], [ "3", "1A", "0", "B1b", "VALUE:2B" ], [ "3", "1A", "0", "B2", "VALUE:4A1" ], [ "3", "1A", "0", "BX", "VALUE:2B" ], [ "3", "1B", "0", "B0", "VALUE:2B" ], [ "3", "1B", "0", "B0a", "VALUE:2B" ], [ "3", "1B", "0", "B0b", "VALUE:2B" ], [ "3", "1B", "0", "B1", "VALUE:2B" ], [ "3", "1B", "0", "B1a", "VALUE:2B" ], [ "3", "1B", "0", "B1b", "VALUE:2B" ], [ "3", "1B", "0", "B2", "VALUE:4A1" ], [ "3", "1B", "0", "BX", "VALUE:2B" ], [ "3", "1", "0", "B0", "VALUE:2B" ], [ "3", "1", "0", "B0a", "VALUE:2B" ], [ "3", "1", "0", "B0b", "VALUE:2B" ], [ "3", "1", "0", "B1", "VALUE:2B" ], [ "3", "1", "0", "B1a", "VALUE:2B" ], [ "3", "1", "0", "B1b", "VALUE:2B" ], [ "3", "1", "0", "B2", "VALUE:4A1" ], [ "3", "1", "0", "BX", "VALUE:2B" ], [ "3", "2A", "0", "B0", "VALUE:2B" ], [ "3", "2A", "0", "B0a", "VALUE:2B" ], [ "3", "2A", "0", "B0b", "VALUE:2B" ], [ "3", "2A", "0", "B1", "VALUE:2B" ], [ "3", "2A", "0", "B1a", "VALUE:2B" ], [ "3", "2A", "0", "B1b", "VALUE:2B" ], [ "3", "2A", "0", "B2", "VALUE:4A1" ], [ "3", "2A", "0", "BX", "VALUE:2B" ], [ "3", "2B", "0", "B0", "VALUE:2B" ], [ "3", "2B", "0", "B0a", "VALUE:2B" ], [ "3", "2B", "0", "B0b", "VALUE:2B" ], [ "3", "2B", "0", "B1", "VALUE:2B" ], [ "3", "2B", "0", "B1a", "VALUE:2B" ], [ "3", "2B", "0", "B1b", "VALUE:2B" ], [ "3", "2B", "0", "B2", "VALUE:4A1" ], [ "3", "2B", "0", "BX", "VALUE:2B" ], [ "3", "2", "0", "B0", "VALUE:2B" ], [ "3", "2", "0", "B0a", "VALUE:2B" ], [ "3", "2", "0", "B0b", "VALUE:2B" ], [ "3", "2", "0", "B1", "VALUE:2B" ], [ "3", "2", "0", "B1a", "VALUE:2B" ], [ "3", "2", "0", "B1b", "VALUE:2B" ], [ "3", "2", "0", "B2", "VALUE:4A1" ], [ "3", "2", "0", "BX", "VALUE:2B" ], [ "3", "3", "0", "B0", "VALUE:4A2" ], [ "3", "3", "0", "B0a", "VALUE:4A2" ], [ "3", "3", "0", "B0b", "VALUE:4A2" ], [ "3", "3", "0", "B1", "VALUE:4A2" ], [ "3", "3", "0", "B1a", "VALUE:4A2" ], [ "3", "3", "0", "B1b", "VALUE:4A2" ], [ "3", "3", "0", "B2", "VALUE:4A2" ], [ "3", "3", "0", "BX", "VALUE:4A2" ], [ "3", "X", "0", "B0", "VALUE:99" ], [ "3", "X", "0", "B0a", "VALUE:99" ], [ "3", "X", "0", "B0b", "VALUE:99" ], [ "3", "X", "0", "B1", "VALUE:99" ], [ "3", "X", "0", "B1a", "VALUE:99" ], [ "3", "X", "0", "B1b", "VALUE:99" ], [ "3", "X", "0", "B2", "VALUE:4A" ], [ "3", "X", "0", "BX", "VALUE:99" ], [ "4", "0", "0", "B0", "VALUE:3A" ], [ "4", "0", "0", "B0a", "VALUE:3A" ], [ "4", "0", "0", "B0b", "VALUE:3A" ], [ "4", "0", "0", "B1", "VALUE:3B" ], [ "4", "0", "0", "B1a", "VALUE:3B" ], [ "4", "0", "0", "B1b", "VALUE:3B" ], [ "4", "0", "0", "B2", "VALUE:4A1" ], [ "4", "0", "0", "BX", "VALUE:3A" ], [ "4", "1A", "0", "B0", "VALUE:3A" ], [ "4", "1A", "0", "B0a", "VALUE:3A" ], [ "4", "1A", "0", "B0b", "VALUE:3A" ], [ "4", "1A", "0", "B1", "VALUE:3B" ], [ "4", "1A", "0", "B1a", "VALUE:3B" ], [ "4", "1A", "0", "B1b", "VALUE:3B" ], [ "4", "1A", "0", "B2", "VALUE:4A1" ], [ "4", "1A", "0", "BX", "VALUE:3A" ], [ "4", "1B", "0", "B0", "VALUE:3A" ], [ "4", "1B", "0", "B0a", "VALUE:3A" ], [ "4", "1B", "0", "B0b", "VALUE:3A" ], [ "4", "1B", "0", "B1", "VALUE:3B" ], [ "4", "1B", "0", "B1a", "VALUE:3B" ], [ "4", "1B", "0", "B1b", "VALUE:3B" ], [ "4", "1B", "0", "B2", "VALUE:4A1" ], [ "4", "1B", "0", "BX", "VALUE:3A" ], [ "4", "1", "0", "B0", "VALUE:3A" ], [ "4", "1", "0", "B0a", "VALUE:3A" ], [ "4", "1", "0", "B0b", "VALUE:3A" ], [ "4", "1", "0", "B1", "VALUE:3B" ], [ "4", "1", "0", "B1a", "VALUE:3B" ], [ "4", "1", "0", "B1b", "VALUE:3B" ], [ "4", "1", "0", "B2", "VALUE:4A1" ], [ "4", "1", "0", "BX", "VALUE:3A" ], [ "4", "2A", "0", "B0", "VALUE:3A" ], [ "4", "2A", "0", "B0a", "VALUE:3A" ], [ "4", "2A", "0", "B0b", "VALUE:3A" ], [ "4", "2A", "0", "B1", "VALUE:3B" ], [ "4", "2A", "0", "B1a", "VALUE:3B" ], [ "4", "2A", "0", "B1b", "VALUE:3B" ], [ "4", "2A", "0", "B2", "VALUE:4A1" ], [ "4", "2A", "0", "BX", "VALUE:3A" ], [ "4", "2B", "0", "B0", "VALUE:3A" ], [ "4", "2B", "0", "B0a", "VALUE:3A" ], [ "4", "2B", "0", "B0b", "VALUE:3A" ], [ "4", "2B", "0", "B1", "VALUE:3B" ], [ "4", "2B", "0", "B1a", "VALUE:3B" ], [ "4", "2B", "0", "B1b", "VALUE:3B" ], [ "4", "2B", "0", "B2", "VALUE:4A1" ], [ "4", "2B", "0", "BX", "VALUE:3A" ], [ "4", "2", "0", "B0", "VALUE:3A" ], [ "4", "2", "0", "B0a", "VALUE:3A" ], [ "4", "2", "0", "B0b", "VALUE:3A" ], [ "4", "2", "0", "B1", "VALUE:3B" ], [ "4", "2", "0", "B1a", "VALUE:3B" ], [ "4", "2", "0", "B1b", "VALUE:3B" ], [ "4", "2", "0", "B2", "VALUE:4A1" ], [ "4", "2", "0", "BX", "VALUE:3A" ], [ "4", "3", "0", "B0", "VALUE:4A2" ], [ "4", "3", "0", "B0a", "VALUE:4A2" ], [ "4", "3", "0", "B0b", "VALUE:4A2" ], [ "4", "3", "0", "B1", "VALUE:4A2" ], [ "4", "3", "0", "B1a", "VALUE:4A2" ], [ "4", "3", "0", "B1b", "VALUE:4A2" ], [ "4", "3", "0", "B2", "VALUE:4A2" ], [ "4", "3", "0", "BX", "VALUE:4A2" ], [ "4", "X", "0", "B0", "VALUE:99" ], [ "4", "X", "0", "B0a", "VALUE:99" ], [ "4", "X", "0", "B0b", "VALUE:99" ], [ "4", "X", "0", "B1", "VALUE:99" ], [ "4", "X", "0", "B1a", "VALUE:99" ], [ "4", "X", "0", "B1b", "VALUE:99" ], [ "4", "X", "0", "B2", "VALUE:4A" ], [ "4", "X", "0", "BX", "VALUE:99" ], [ "X", "0", "0", "B0", "VALUE:99" ], [ "X", "0", "0", "B0a", "VALUE:99" ], [ "X", "0", "0", "B0b", "VALUE:99" ], [ "X", "0", "0", "B1", "VALUE:99" ], [ "X", "0", "0", "B1a", "VALUE:99" ], [ "X", "0", "0", "B1b", "VALUE:99" ], [ "X", "0", "0", "B2", "VALUE:4A1" ], [ "X", "0", "0", "BX", "VALUE:99" ], [ "X", "1A", "0", "B0", "VALUE:99" ], [ "X", "1A", "0", "B0a", "VALUE:99" ], [ "X", "1A", "0", "B0b", "VALUE:99" ], [ "X", "1A", "0", "B1", "VALUE:99" ], [ "X", "1A", "0", "B1a", "VALUE:99" ], [ "X", "1A", "0", "B1b", "VALUE:99" ], [ "X", "1A", "0", "B2", "VALUE:4A1" ], [ "X", "1A", "0", "BX", "VALUE:99" ], [ "X", "1B", "0", "B0", "VALUE:99" ], [ "X", "1B", "0", "B0a", "VALUE:99" ], [ "X", "1B", "0", "B0b", "VALUE:99" ], [ "X", "1B", "0", "B1", "VALUE:99" ], [ "X", "1B", "0", "B1a", "VALUE:99" ], [ "X", "1B", "0", "B1b", "VALUE:99" ], [ "X", "1B", "0", "B2", "VALUE:4A1" ], [ "X", "1B", "0", "BX", "VALUE:99" ], [ "X", "1", "0", "B0", "VALUE:99" ], [ "X", "1", "0", "B0a", "VALUE:99" ], [ "X", "1", "0", "B0b", "VALUE:99" ], [ "X", "1", "0", "B1", "VALUE:99" ], [ "X", "1", "0", "B1a", "VALUE:99" ], [ "X", "1", "0", "B1b", "VALUE:99" ], [ "X", "1", "0", "B2", "VALUE:4A1" ], [ "X", "1", "0", "BX", "VALUE:99" ], [ "X", "2A", "0", "B0", "VALUE:99" ], [ "X", "2A", "0", "B0a", "VALUE:99" ], [ "X", "2A", "0", "B0b", "VALUE:99" ], [ "X", "2A", "0", "B1", "VALUE:99" ], [ "X", "2A", "0", "B1a", "VALUE:99" ], [ "X", "2A", "0", "B1b", "VALUE:99" ], [ "X", "2A", "0", "B2", "VALUE:4A1" ], [ "X", "2A", "0", "BX", "VALUE:99" ], [ "X", "2B", "0", "B0", "VALUE:99" ], [ "X", "2B", "0", "B0a", "VALUE:99" ], [ "X", "2B", "0", "B0b", "VALUE:99" ], [ "X", "2B", "0", "B1", "VALUE:99" ], [ "X", "2B", "0", "B1a", "VALUE:99" ], [ "X", "2B", "0", "B1b", "VALUE:99" ], [ "X", "2B", "0", "B2", "VALUE:4A1" ], [ "X", "2B", "0", "BX", "VALUE:99" ], [ "X", "2", "0", "B0", "VALUE:99" ], [ "X", "2", "0", "B0a", "VALUE:99" ], [ "X", "2", "0", "B0b", "VALUE:99" ], [ "X", "2", "0", "B1", "VALUE:99" ], [ "X", "2", "0", "B1a", "VALUE:99" ], [ "X", "2", "0", "B1b", "VALUE:99" ], [ "X", "2", "0", "B2", "VALUE:4A1" ], [ "X", "2", "0", "BX", "VALUE:99" ], [ "X", "3", "0", "B0", "VALUE:4A2" ], [ "X", "3", "0", "B0a", "VALUE:4A2" ], [ "X", "3", "0", "B0b", "VALUE:4A2" ], [ "X", "3", "0", "B1", "VALUE:4A2" ], [ "X", "3", "0", "B1a", "VALUE:4A2" ], [ "X", "3", "0", "B1b", "VALUE:4A2" ], [ "X", "3", "0", "B2", "VALUE:4A2" ], [ "X", "3", "0", "BX", "VALUE:4A2" ], [ "X", "X", "0", "B0", "VALUE:99" ], [ "X", "X", "0", "B0a", "VALUE:99" ], [ "X", "X", "0", "B0b", "VALUE:99" ], [ "X", "X", "0", "B1", "VALUE:99" ], [ "X", "X", "0", "B1a", "VALUE:99" ], [ "X", "X", "0", "B1b", "VALUE:99" ], [ "X", "X", "0", "B2", "VALUE:4A" ], [ "X", "X", "0", "BX", "VALUE:99" ], [ "0", "0", "1", "B0", "VALUE:4B" ], [ "0", "0", "1", "B0a", "VALUE:4B" ], [ "0", "0", "1", "B0b", "VALUE:4B" ], [ "0", "0", "1", "B1", "VALUE:4B" ], [ "0", "0", "1", "B1a", "VALUE:4B" ], [ "0", "0", "1", "B1b", "VALUE:4B" ], [ "0", "0", "1", "B2", "VALUE:4B" ], [ "0", "0", "1", "BX", "VALUE:4B" ], [ "0", "1A", "1", "B0", "VALUE:4B" ], [ "0", "1A", "1", "B0a", "VALUE:4B" ], [ "0", "1A", "1", "B0b", "VALUE:4B" ], [ "0", "1A", "1", "B1", "VALUE:4B" ], [ "0", "1A", "1", "B1a", "VALUE:4B" ], [ "0", "1A", "1", "B1b", "VALUE:4B" ], [ "0", "1A", "1", "B2", "VALUE:4B" ], [ "0", "1A", "1", "BX", "VALUE:4B" ], [ "0", "1B", "1", "B0", "VALUE:4B" ], [ "0", "1B", "1", "B0a", "VALUE:4B" ], [ "0", "1B", "1", "B0b", "VALUE:4B" ], [ "0", "1B", "1", "B1", "VALUE:4B" ], [ "0", "1B", "1", "B1a", "VALUE:4B" ], [ "0", "1B", "1", "B1b", "VALUE:4B" ], [ "0", "1B", "1", "B2", "VALUE:4B" ], [ "0", "1B", "1", "BX", "VALUE:4B" ], [ "0", "1", "1", "B0", "VALUE:4B" ], [ "0", "1", "1", "B0a", "VALUE:4B" ], [ "0", "1", "1", "B0b", "VALUE:4B" ], [ "0", "1", "1", "B1", "VALUE:4B" ], [ "0", "1", "1", "B1a", "VALUE:4B" ], [ "0", "1", "1", "B1b", "VALUE:4B" ], [ "0", "1", "1", "B2", "VALUE:4B" ], [ "0", "1", "1", "BX", "VALUE:4B" ], [ "0", "2A", "1", "B0", "VALUE:4B" ], [ "0", "2A", "1", "B0a", "VALUE:4B" ], [ "0", "2A", "1", "B0b", "VALUE:4B" ], [ "0", "2A", "1", "B1", "VALUE:4B" ], [ "0", "2A", "1", "B1a", "VALUE:4B" ], [ "0", "2A", "1", "B1b", "VALUE:4B" ], [ "0", "2A", "1", "B2", "VALUE:4B" ], [ "0", "2A", "1", "BX", "VALUE:4B" ], [ "0", "2B", "1", "B0", "VALUE:4B" ], [ "0", "2B", "1", "B0a", "VALUE:4B" ], [ "0", "2B", "1", "B0b", "VALUE:4B" ], [ "0", "2B", "1", "B1", "VALUE:4B" ], [ "0", "2B", "1", "B1a", "VALUE:4B" ], [ "0", "2B", "1", "B1b", "VALUE:4B" ], [ "0", "2B", "1", "B2", "VALUE:4B" ], [ "0", "2B", "1", "BX", "VALUE:4B" ], [ "0", "2", "1", "B0", "VALUE:4B" ], [ "0", "2", "1", "B0a", "VALUE:4B" ], [ "0", "2", "1", "B0b", "VALUE:4B" ], [ "0", "2", "1", "B1", "VALUE:4B" ], [ "0", "2", "1", "B1a", "VALUE:4B" ], [ "0", "2", "1", "B1b", "VALUE:4B" ], [ "0", "2", "1", "B2", "VALUE:4B" ], [ "0", "2", "1", "BX", "VALUE:4B" ], [ "0", "3", "1", "B0", "VALUE:4B" ], [ "0", "3", "1", "B0a", "VALUE:4B" ], [ "0", "3", "1", "B0b", "VALUE:4B" ], [ "0", "3", "1", "B1", "VALUE:4B" ], [ "0", "3", "1", "B1a", "VALUE:4B" ], [ "0", "3", "1", "B1b", "VALUE:4B" ], [ "0", "3", "1", "B2", "VALUE:4B" ], [ "0", "3", "1", "BX", "VALUE:4B" ], [ "0", "X", "1", "B0", "VALUE:4B" ], [ "0", "X", "1", "B0a", "VALUE:4B" ], [ "0", "X", "1", "B0b", "VALUE:4B" ], [ "0", "X", "1", "B1", "VALUE:4B" ], [ "0", "X", "1", "B1a", "VALUE:4B" ], [ "0", "X", "1", "B1b", "VALUE:4B" ], [ "0", "X", "1", "B2", "VALUE:4B" ], [ "0", "X", "1", "BX", "VALUE:4B" ], [ "1A", "0", "1", "B0", "VALUE:4B" ], [ "1A", "0", "1", "B0a", "VALUE:4B" ], [ "1A", "0", "1", "B0b", "VALUE:4B" ], [ "1A", "0", "1", "B1", "VALUE:4B" ], [ "1A", "0", "1", "B1a", "VALUE:4B" ], [ "1A", "0", "1", "B1b", "VALUE:4B" ], [ "1A", "0", "1", "B2", "VALUE:4B" ], [ "1A", "0", "1", "BX", "VALUE:4B" ], [ "1A", "1A", "1", "B0", "VALUE:4B" ], [ "1A", "1A", "1", "B0a", "VALUE:4B" ], [ "1A", "1A", "1", "B0b", "VALUE:4B" ], [ "1A", "1A", "1", "B1", "VALUE:4B" ], [ "1A", "1A", "1", "B1a", "VALUE:4B" ], [ "1A", "1A", "1", "B1b", "VALUE:4B" ], [ "1A", "1A", "1", "B2", "VALUE:4B" ], [ "1A", "1A", "1", "BX", "VALUE:4B" ], [ "1A", "1B", "1", "B0", "VALUE:4B" ], [ "1A", "1B", "1", "B0a", "VALUE:4B" ], [ "1A", "1B", "1", "B0b", "VALUE:4B" ], [ "1A", "1B", "1", "B1", "VALUE:4B" ], [ "1A", "1B", "1", "B1a", "VALUE:4B" ], [ "1A", "1B", "1", "B1b", "VALUE:4B" ], [ "1A", "1B", "1", "B2", "VALUE:4B" ], [ "1A", "1B", "1", "BX", "VALUE:4B" ], [ "1A", "1", "1", "B0", "VALUE:4B" ], [ "1A", "1", "1", "B0a", "VALUE:4B" ], [ "1A", "1", "1", "B0b", "VALUE:4B" ], [ "1A", "1", "1", "B1", "VALUE:4B" ], [ "1A", "1", "1", "B1a", "VALUE:4B" ], [ "1A", "1", "1", "B1b", "VALUE:4B" ], [ "1A", "1", "1", "B2", "VALUE:4B" ], [ "1A", "1", "1", "BX", "VALUE:4B" ], [ "1A", "2A", "1", "B0", "VALUE:4B" ], [ "1A", "2A", "1", "B0a", "VALUE:4B" ], [ "1A", "2A", "1", "B0b", "VALUE:4B" ], [ "1A", "2A", "1", "B1", "VALUE:4B" ], [ "1A", "2A", "1", "B1a", "VALUE:4B" ], [ "1A", "2A", "1", "B1b", "VALUE:4B" ], [ "1A", "2A", "1", "B2", "VALUE:4B" ], [ "1A", "2A", "1", "BX", "VALUE:4B" ], [ "1A", "2B", "1", "B0", "VALUE:4B" ], [ "1A", "2B", "1", "B0a", "VALUE:4B" ], [ "1A", "2B", "1", "B0b", "VALUE:4B" ], [ "1A", "2B", "1", "B1", "VALUE:4B" ], [ "1A", "2B", "1", "B1a", "VALUE:4B" ], [ "1A", "2B", "1", "B1b", "VALUE:4B" ], [ "1A", "2B", "1", "B2", "VALUE:4B" ], [ "1A", "2B", "1", "BX", "VALUE:4B" ], [ "1A", "2", "1", "B0", "VALUE:4B" ], [ "1A", "2", "1", "B0a", "VALUE:4B" ], [ "1A", "2", "1", "B0b", "VALUE:4B" ], [ "1A", "2", "1", "B1", "VALUE:4B" ], [ "1A", "2", "1", "B1a", "VALUE:4B" ], [ "1A", "2", "1", "B1b", "VALUE:4B" ], [ "1A", "2", "1", "B2", "VALUE:4B" ], [ "1A", "2", "1", "BX", "VALUE:4B" ], [ "1A", "3", "1", "B0", "VALUE:4B" ], [ "1A", "3", "1", "B0a", "VALUE:4B" ], [ "1A", "3", "1", "B0b", "VALUE:4B" ], [ "1A", "3", "1", "B1", "VALUE:4B" ], [ "1A", "3", "1", "B1a", "VALUE:4B" ], [ "1A", "3", "1", "B1b", "VALUE:4B" ], [ "1A", "3", "1", "B2", "VALUE:4B" ], [ "1A", "3", "1", "BX", "VALUE:4B" ], [ "1A", "X", "1", "B0", "VALUE:4B" ], [ "1A", "X", "1", "B0a", "VALUE:4B" ], [ "1A", "X", "1", "B0b", "VALUE:4B" ], [ "1A", "X", "1", "B1", "VALUE:4B" ], [ "1A", "X", "1", "B1a", "VALUE:4B" ], [ "1A", "X", "1", "B1b", "VALUE:4B" ], [ "1A", "X", "1", "B2", "VALUE:4B" ], [ "1A", "X", "1", "BX", "VALUE:4B" ], [ "1B", "0", "1", "B0", "VALUE:4B" ], [ "1B", "0", "1", "B0a", "VALUE:4B" ], [ "1B", "0", "1", "B0b", "VALUE:4B" ], [ "1B", "0", "1", "B1", "VALUE:4B" ], [ "1B", "0", "1", "B1a", "VALUE:4B" ], [ "1B", "0", "1", "B1b", "VALUE:4B" ], [ "1B", "0", "1", "B2", "VALUE:4B" ], [ "1B", "0", "1", "BX", "VALUE:4B" ], [ "1B", "1A", "1", "B0", "VALUE:4B" ], [ "1B", "1A", "1", "B0a", "VALUE:4B" ], [ "1B", "1A", "1", "B0b", "VALUE:4B" ], [ "1B", "1A", "1", "B1", "VALUE:4B" ], [ "1B", "1A", "1", "B1a", "VALUE:4B" ], [ "1B", "1A", "1", "B1b", "VALUE:4B" ], [ "1B", "1A", "1", "B2", "VALUE:4B" ], [ "1B", "1A", "1", "BX", "VALUE:4B" ], [ "1B", "1B", "1", "B0", "VALUE:4B" ], [ "1B", "1B", "1", "B0a", "VALUE:4B" ], [ "1B", "1B", "1", "B0b", "VALUE:4B" ], [ "1B", "1B", "1", "B1", "VALUE:4B" ], [ "1B", "1B", "1", "B1a", "VALUE:4B" ], [ "1B", "1B", "1", "B1b", "VALUE:4B" ], [ "1B", "1B", "1", "B2", "VALUE:4B" ], [ "1B", "1B", "1", "BX", "VALUE:4B" ], [ "1B", "1", "1", "B0", "VALUE:4B" ], [ "1B", "1", "1", "B0a", "VALUE:4B" ], [ "1B", "1", "1", "B0b", "VALUE:4B" ], [ "1B", "1", "1", "B1", "VALUE:4B" ], [ "1B", "1", "1", "B1a", "VALUE:4B" ], [ "1B", "1", "1", "B1b", "VALUE:4B" ], [ "1B", "1", "1", "B2", "VALUE:4B" ], [ "1B", "1", "1", "BX", "VALUE:4B" ], [ "1B", "2A", "1", "B0", "VALUE:4B" ], [ "1B", "2A", "1", "B0a", "VALUE:4B" ], [ "1B", "2A", "1", "B0b", "VALUE:4B" ], [ "1B", "2A", "1", "B1", "VALUE:4B" ], [ "1B", "2A", "1", "B1a", "VALUE:4B" ], [ "1B", "2A", "1", "B1b", "VALUE:4B" ], [ "1B", "2A", "1", "B2", "VALUE:4B" ], [ "1B", "2A", "1", "BX", "VALUE:4B" ], [ "1B", "2B", "1", "B0", "VALUE:4B" ], [ "1B", "2B", "1", "B0a", "VALUE:4B" ], [ "1B", "2B", "1", "B0b", "VALUE:4B" ], [ "1B", "2B", "1", "B1", "VALUE:4B" ], [ "1B", "2B", "1", "B1a", "VALUE:4B" ], [ "1B", "2B", "1", "B1b", "VALUE:4B" ], [ "1B", "2B", "1", "B2", "VALUE:4B" ], [ "1B", "2B", "1", "BX", "VALUE:4B" ], [ "1B", "2", "1", "B0", "VALUE:4B" ], [ "1B", "2", "1", "B0a", "VALUE:4B" ], [ "1B", "2", "1", "B0b", "VALUE:4B" ], [ "1B", "2", "1", "B1", "VALUE:4B" ], [ "1B", "2", "1", "B1a", "VALUE:4B" ], [ "1B", "2", "1", "B1b", "VALUE:4B" ], [ "1B", "2", "1", "B2", "VALUE:4B" ], [ "1B", "2", "1", "BX", "VALUE:4B" ], [ "1B", "3", "1", "B0", "VALUE:4B" ], [ "1B", "3", "1", "B0a", "VALUE:4B" ], [ "1B", "3", "1", "B0b", "VALUE:4B" ], [ "1B", "3", "1", "B1", "VALUE:4B" ], [ "1B", "3", "1", "B1a", "VALUE:4B" ], [ "1B", "3", "1", "B1b", "VALUE:4B" ], [ "1B", "3", "1", "B2", "VALUE:4B" ], [ "1B", "3", "1", "BX", "VALUE:4B" ], [ "1B", "X", "1", "B0", "VALUE:4B" ], [ "1B", "X", "1", "B0a", "VALUE:4B" ], [ "1B", "X", "1", "B0b", "VALUE:4B" ], [ "1B", "X", "1", "B1", "VALUE:4B" ], [ "1B", "X", "1", "B1a", "VALUE:4B" ], [ "1B", "X", "1", "B1b", "VALUE:4B" ], [ "1B", "X", "1", "B2", "VALUE:4B" ], [ "1B", "X", "1", "BX", "VALUE:4B" ], [ "1", "0", "1", "B0", "VALUE:4B" ], [ "1", "0", "1", "B0a", "VALUE:4B" ], [ "1", "0", "1", "B0b", "VALUE:4B" ], [ "1", "0", "1", "B1", "VALUE:4B" ], [ "1", "0", "1", "B1a", "VALUE:4B" ], [ "1", "0", "1", "B1b", "VALUE:4B" ], [ "1", "0", "1", "B2", "VALUE:4B" ], [ "1", "0", "1", "BX", "VALUE:4B" ], [ "1", "1A", "1", "B0", "VALUE:4B" ], [ "1", "1A", "1", "B0a", "VALUE:4B" ], [ "1", "1A", "1", "B0b", "VALUE:4B" ], [ "1", "1A", "1", "B1", "VALUE:4B" ], [ "1", "1A", "1", "B1a", "VALUE:4B" ], [ "1", "1A", "1", "B1b", "VALUE:4B" ], [ "1", "1A", "1", "B2", "VALUE:4B" ], [ "1", "1A", "1", "BX", "VALUE:4B" ], [ "1", "1B", "1", "B0", "VALUE:4B" ], [ "1", "1B", "1", "B0a", "VALUE:4B" ], [ "1", "1B", "1", "B0b", "VALUE:4B" ], [ "1", "1B", "1", "B1", "VALUE:4B" ], [ "1", "1B", "1", "B1a", "VALUE:4B" ], [ "1", "1B", "1", "B1b", "VALUE:4B" ], [ "1", "1B", "1", "B2", "VALUE:4B" ], [ "1", "1B", "1", "BX", "VALUE:4B" ], [ "1", "1", "1", "B0", "VALUE:4B" ], [ "1", "1", "1", "B0a", "VALUE:4B" ], [ "1", "1", "1", "B0b", "VALUE:4B" ], [ "1", "1", "1", "B1", "VALUE:4B" ], [ "1", "1", "1", "B1a", "VALUE:4B" ], [ "1", "1", "1", "B1b", "VALUE:4B" ], [ "1", "1", "1", "B2", "VALUE:4B" ], [ "1", "1", "1", "BX", "VALUE:4B" ], [ "1", "2A", "1", "B0", "VALUE:4B" ], [ "1", "2A", "1", "B0a", "VALUE:4B" ], [ "1", "2A", "1", "B0b", "VALUE:4B" ], [ "1", "2A", "1", "B1", "VALUE:4B" ], [ "1", "2A", "1", "B1a", "VALUE:4B" ], [ "1", "2A", "1", "B1b", "VALUE:4B" ], [ "1", "2A", "1", "B2", "VALUE:4B" ], [ "1", "2A", "1", "BX", "VALUE:4B" ], [ "1", "2B", "1", "B0", "VALUE:4B" ], [ "1", "2B", "1", "B0a", "VALUE:4B" ], [ "1", "2B", "1", "B0b", "VALUE:4B" ], [ "1", "2B", "1", "B1", "VALUE:4B" ], [ "1", "2B", "1", "B1a", "VALUE:4B" ], [ "1", "2B", "1", "B1b", "VALUE:4B" ], [ "1", "2B", "1", "B2", "VALUE:4B" ], [ "1", "2B", "1", "BX", "VALUE:4B" ], [ "1", "2", "1", "B0", "VALUE:4B" ], [ "1", "2", "1", "B0a", "VALUE:4B" ], [ "1", "2", "1", "B0b", "VALUE:4B" ], [ "1", "2", "1", "B1", "VALUE:4B" ], [ "1", "2", "1", "B1a", "VALUE:4B" ], [ "1", "2", "1", "B1b", "VALUE:4B" ], [ "1", "2", "1", "B2", "VALUE:4B" ], [ "1", "2", "1", "BX", "VALUE:4B" ], [ "1", "3", "1", "B0", "VALUE:4B" ], [ "1", "3", "1", "B0a", "VALUE:4B" ], [ "1", "3", "1", "B0b", "VALUE:4B" ], [ "1", "3", "1", "B1", "VALUE:4B" ], [ "1", "3", "1", "B1a", "VALUE:4B" ], [ "1", "3", "1", "B1b", "VALUE:4B" ], [ "1", "3", "1", "B2", "VALUE:4B" ], [ "1", "3", "1", "BX", "VALUE:4B" ], [ "1", "X", "1", "B0", "VALUE:4B" ], [ "1", "X", "1", "B0a", "VALUE:4B" ], [ "1", "X", "1", "B0b", "VALUE:4B" ], [ "1", "X", "1", "B1", "VALUE:4B" ], [ "1", "X", "1", "B1a", "VALUE:4B" ], [ "1", "X", "1", "B1b", "VALUE:4B" ], [ "1", "X", "1", "B2", "VALUE:4B" ], [ "1", "X", "1", "BX", "VALUE:4B" ], [ "2A", "0", "1", "B0", "VALUE:4B" ], [ "2A", "0", "1", "B0a", "VALUE:4B" ], [ "2A", "0", "1", "B0b", "VALUE:4B" ], [ "2A", "0", "1", "B1", "VALUE:4B" ], [ "2A", "0", "1", "B1a", "VALUE:4B" ], [ "2A", "0", "1", "B1b", "VALUE:4B" ], [ "2A", "0", "1", "B2", "VALUE:4B" ], [ "2A", "0", "1", "BX", "VALUE:4B" ], [ "2A", "1A", "1", "B0", "VALUE:4B" ], [ "2A", "1A", "1", "B0a", "VALUE:4B" ], [ "2A", "1A", "1", "B0b", "VALUE:4B" ], [ "2A", "1A", "1", "B1", "VALUE:4B" ], [ "2A", "1A", "1", "B1a", "VALUE:4B" ], [ "2A", "1A", "1", "B1b", "VALUE:4B" ], [ "2A", "1A", "1", "B2", "VALUE:4B" ], [ "2A", "1A", "1", "BX", "VALUE:4B" ], [ "2A", "1B", "1", "B0", "VALUE:4B" ], [ "2A", "1B", "1", "B0a", "VALUE:4B" ], [ "2A", "1B", "1", "B0b", "VALUE:4B" ], [ "2A", "1B", "1", "B1", "VALUE:4B" ], [ "2A", "1B", "1", "B1a", "VALUE:4B" ], [ "2A", "1B", "1", "B1b", "VALUE:4B" ], [ "2A", "1B", "1", "B2", "VALUE:4B" ], [ "2A", "1B", "1", "BX", "VALUE:4B" ], [ "2A", "1", "1", "B0", "VALUE:4B" ], [ "2A", "1", "1", "B0a", "VALUE:4B" ], [ "2A", "1", "1", "B0b", "VALUE:4B" ], [ "2A", "1", "1", "B1", "VALUE:4B" ], [ "2A", "1", "1", "B1a", "VALUE:4B" ], [ "2A", "1", "1", "B1b", "VALUE:4B" ], [ "2A", "1", "1", "B2", "VALUE:4B" ], [ "2A", "1", "1", "BX", "VALUE:4B" ], [ "2A", "2A", "1", "B0", "VALUE:4B" ], [ "2A", "2A", "1", "B0a", "VALUE:4B" ], [ "2A", "2A", "1", "B0b", "VALUE:4B" ], [ "2A", "2A", "1", "B1", "VALUE:4B" ], [ "2A", "2A", "1", "B1a", "VALUE:4B" ], [ "2A", "2A", "1", "B1b", "VALUE:4B" ], [ "2A", "2A", "1", "B2", "VALUE:4B" ], [ "2A", "2A", "1", "BX", "VALUE:4B" ], [ "2A", "2B", "1", "B0", "VALUE:4B" ], [ "2A", "2B", "1", "B0a", "VALUE:4B" ], [ "2A", "2B", "1", "B0b", "VALUE:4B" ], [ "2A", "2B", "1", "B1", "VALUE:4B" ], [ "2A", "2B", "1", "B1a", "VALUE:4B" ], [ "2A", "2B", "1", "B1b", "VALUE:4B" ], [ "2A", "2B", "1", "B2", "VALUE:4B" ], [ "2A", "2B", "1", "BX", "VALUE:4B" ], [ "2A", "2", "1", "B0", "VALUE:4B" ], [ "2A", "2", "1", "B0a", "VALUE:4B" ], [ "2A", "2", "1", "B0b", "VALUE:4B" ], [ "2A", "2", "1", "B1", "VALUE:4B" ], [ "2A", "2", "1", "B1a", "VALUE:4B" ], [ "2A", "2", "1", "B1b", "VALUE:4B" ], [ "2A", "2", "1", "B2", "VALUE:4B" ], [ "2A", "2", "1", "BX", "VALUE:4B" ], [ "2A", "3", "1", "B0", "VALUE:4B" ], [ "2A", "3", "1", "B0a", "VALUE:4B" ], [ "2A", "3", "1", "B0b", "VALUE:4B" ], [ "2A", "3", "1", "B1", "VALUE:4B" ], [ "2A", "3", "1", "B1a", "VALUE:4B" ], [ "2A", "3", "1", "B1b", "VALUE:4B" ], [ "2A", "3", "1", "B2", "VALUE:4B" ], [ "2A", "3", "1", "BX", "VALUE:4B" ], [ "2A", "X", "1", "B0", "VALUE:4B" ], [ "2A", "X", "1", "B0a", "VALUE:4B" ], [ "2A", "X", "1", "B0b", "VALUE:4B" ], [ "2A", "X", "1", "B1", "VALUE:4B" ], [ "2A", "X", "1", "B1a", "VALUE:4B" ], [ "2A", "X", "1", "B1b", "VALUE:4B" ], [ "2A", "X", "1", "B2", "VALUE:4B" ], [ "2A", "X", "1", "BX", "VALUE:4B" ], [ "2B", "0", "1", "B0", "VALUE:4B" ], [ "2B", "0", "1", "B0a", "VALUE:4B" ], [ "2B", "0", "1", "B0b", "VALUE:4B" ], [ "2B", "0", "1", "B1", "VALUE:4B" ], [ "2B", "0", "1", "B1a", "VALUE:4B" ], [ "2B", "0", "1", "B1b", "VALUE:4B" ], [ "2B", "0", "1", "B2", "VALUE:4B" ], [ "2B", "0", "1", "BX", "VALUE:4B" ], [ "2B", "1A", "1", "B0", "VALUE:4B" ], [ "2B", "1A", "1", "B0a", "VALUE:4B" ], [ "2B", "1A", "1", "B0b", "VALUE:4B" ], [ "2B", "1A", "1", "B1", "VALUE:4B" ], [ "2B", "1A", "1", "B1a", "VALUE:4B" ], [ "2B", "1A", "1", "B1b", "VALUE:4B" ], [ "2B", "1A", "1", "B2", "VALUE:4B" ], [ "2B", "1A", "1", "BX", "VALUE:4B" ], [ "2B", "1B", "1", "B0", "VALUE:4B" ], [ "2B", "1B", "1", "B0a", "VALUE:4B" ], [ "2B", "1B", "1", "B0b", "VALUE:4B" ], [ "2B", "1B", "1", "B1", "VALUE:4B" ], [ "2B", "1B", "1", "B1a", "VALUE:4B" ], [ "2B", "1B", "1", "B1b", "VALUE:4B" ], [ "2B", "1B", "1", "B2", "VALUE:4B" ], [ "2B", "1B", "1", "BX", "VALUE:4B" ], [ "2B", "1", "1", "B0", "VALUE:4B" ], [ "2B", "1", "1", "B0a", "VALUE:4B" ], [ "2B", "1", "1", "B0b", "VALUE:4B" ], [ "2B", "1", "1", "B1", "VALUE:4B" ], [ "2B", "1", "1", "B1a", "VALUE:4B" ], [ "2B", "1", "1", "B1b", "VALUE:4B" ], [ "2B", "1", "1", "B2", "VALUE:4B" ], [ "2B", "1", "1", "BX", "VALUE:4B" ], [ "2B", "2A", "1", "B0", "VALUE:4B" ], [ "2B", "2A", "1", "B0a", "VALUE:4B" ], [ "2B", "2A", "1", "B0b", "VALUE:4B" ], [ "2B", "2A", "1", "B1", "VALUE:4B" ], [ "2B", "2A", "1", "B1a", "VALUE:4B" ], [ "2B", "2A", "1", "B1b", "VALUE:4B" ], [ "2B", "2A", "1", "B2", "VALUE:4B" ], [ "2B", "2A", "1", "BX", "VALUE:4B" ], [ "2B", "2B", "1", "B0", "VALUE:4B" ], [ "2B", "2B", "1", "B0a", "VALUE:4B" ], [ "2B", "2B", "1", "B0b", "VALUE:4B" ], [ "2B", "2B", "1", "B1", "VALUE:4B" ], [ "2B", "2B", "1", "B1a", "VALUE:4B" ], [ "2B", "2B", "1", "B1b", "VALUE:4B" ], [ "2B", "2B", "1", "B2", "VALUE:4B" ], [ "2B", "2B", "1", "BX", "VALUE:4B" ], [ "2B", "2", "1", "B0", "VALUE:4B" ], [ "2B", "2", "1", "B0a", "VALUE:4B" ], [ "2B", "2", "1", "B0b", "VALUE:4B" ], [ "2B", "2", "1", "B1", "VALUE:4B" ], [ "2B", "2", "1", "B1a", "VALUE:4B" ], [ "2B", "2", "1", "B1b", "VALUE:4B" ], [ "2B", "2", "1", "B2", "VALUE:4B" ], [ "2B", "2", "1", "BX", "VALUE:4B" ], [ "2B", "3", "1", "B0", "VALUE:4B" ], [ "2B", "3", "1", "B0a", "VALUE:4B" ], [ "2B", "3", "1", "B0b", "VALUE:4B" ], [ "2B", "3", "1", "B1", "VALUE:4B" ], [ "2B", "3", "1", "B1a", "VALUE:4B" ], [ "2B", "3", "1", "B1b", "VALUE:4B" ], [ "2B", "3", "1", "B2", "VALUE:4B" ], [ "2B", "3", "1", "BX", "VALUE:4B" ], [ "2B", "X", "1", "B0", "VALUE:4B" ], [ "2B", "X", "1", "B0a", "VALUE:4B" ], [ "2B", "X", "1", "B0b", "VALUE:4B" ], [ "2B", "X", "1", "B1", "VALUE:4B" ], [ "2B", "X", "1", "B1a", "VALUE:4B" ], [ "2B", "X", "1", "B1b", "VALUE:4B" ], [ "2B", "X", "1", "B2", "VALUE:4B" ], [ "2B", "X", "1", "BX", "VALUE:4B" ], [ "2", "0", "1", "B0", "VALUE:4B" ], [ "2", "0", "1", "B0a", "VALUE:4B" ], [ "2", "0", "1", "B0b", "VALUE:4B" ], [ "2", "0", "1", "B1", "VALUE:4B" ], [ "2", "0", "1", "B1a", "VALUE:4B" ], [ "2", "0", "1", "B1b", "VALUE:4B" ], [ "2", "0", "1", "B2", "VALUE:4B" ], [ "2", "0", "1", "BX", "VALUE:4B" ], [ "2", "1A", "1", "B0", "VALUE:4B" ], [ "2", "1A", "1", "B0a", "VALUE:4B" ], [ "2", "1A", "1", "B0b", "VALUE:4B" ], [ "2", "1A", "1", "B1", "VALUE:4B" ], [ "2", "1A", "1", "B1a", "VALUE:4B" ], [ "2", "1A", "1", "B1b", "VALUE:4B" ], [ "2", "1A", "1", "B2", "VALUE:4B" ], [ "2", "1A", "1", "BX", "VALUE:4B" ], [ "2", "1B", "1", "B0", "VALUE:4B" ], [ "2", "1B", "1", "B0a", "VALUE:4B" ], [ "2", "1B", "1", "B0b", "VALUE:4B" ], [ "2", "1B", "1", "B1", "VALUE:4B" ], [ "2", "1B", "1", "B1a", "VALUE:4B" ], [ "2", "1B", "1", "B1b", "VALUE:4B" ], [ "2", "1B", "1", "B2", "VALUE:4B" ], [ "2", "1B", "1", "BX", "VALUE:4B" ], [ "2", "1", "1", "B0", "VALUE:4B" ], [ "2", "1", "1", "B0a", "VALUE:4B" ], [ "2", "1", "1", "B0b", "VALUE:4B" ], [ "2", "1", "1", "B1", "VALUE:4B" ], [ "2", "1", "1", "B1a", "VALUE:4B" ], [ "2", "1", "1", "B1b", "VALUE:4B" ], [ "2", "1", "1", "B2", "VALUE:4B" ], [ "2", "1", "1", "BX", "VALUE:4B" ], [ "2", "2A", "1", "B0", "VALUE:4B" ], [ "2", "2A", "1", "B0a", "VALUE:4B" ], [ "2", "2A", "1", "B0b", "VALUE:4B" ], [ "2", "2A", "1", "B1", "VALUE:4B" ], [ "2", "2A", "1", "B1a", "VALUE:4B" ], [ "2", "2A", "1", "B1b", "VALUE:4B" ], [ "2", "2A", "1", "B2", "VALUE:4B" ], [ "2", "2A", "1", "BX", "VALUE:4B" ], [ "2", "2B", "1", "B0", "VALUE:4B" ], [ "2", "2B", "1", "B0a", "VALUE:4B" ], [ "2", "2B", "1", "B0b", "VALUE:4B" ], [ "2", "2B", "1", "B1", "VALUE:4B" ], [ "2", "2B", "1", "B1a", "VALUE:4B" ], [ "2", "2B", "1", "B1b", "VALUE:4B" ], [ "2", "2B", "1", "B2", "VALUE:4B" ], [ "2", "2B", "1", "BX", "VALUE:4B" ], [ "2", "2", "1", "B0", "VALUE:4B" ], [ "2", "2", "1", "B0a", "VALUE:4B" ], [ "2", "2", "1", "B0b", "VALUE:4B" ], [ "2", "2", "1", "B1", "VALUE:4B" ], [ "2", "2", "1", "B1a", "VALUE:4B" ], [ "2", "2", "1", "B1b", "VALUE:4B" ], [ "2", "2", "1", "B2", "VALUE:4B" ], [ "2", "2", "1", "BX", "VALUE:4B" ], [ "2", "3", "1", "B0", "VALUE:4B" ], [ "2", "3", "1", "B0a", "VALUE:4B" ], [ "2", "3", "1", "B0b", "VALUE:4B" ], [ "2", "3", "1", "B1", "VALUE:4B" ], [ "2", "3", "1", "B1a", "VALUE:4B" ], [ "2", "3", "1", "B1b", "VALUE:4B" ], [ "2", "3", "1", "B2", "VALUE:4B" ], [ "2", "3", "1", "BX", "VALUE:4B" ], [ "2", "X", "1", "B0", "VALUE:4B" ], [ "2", "X", "1", "B0a", "VALUE:4B" ], [ "2", "X", "1", "B0b", "VALUE:4B" ], [ "2", "X", "1", "B1", "VALUE:4B" ], [ "2", "X", "1", "B1a", "VALUE:4B" ], [ "2", "X", "1", "B1b", "VALUE:4B" ], [ "2", "X", "1", "B2", "VALUE:4B" ], [ "2", "X", "1", "BX", "VALUE:4B" ], [ "3", "0", "1", "B0", "VALUE:4B" ], [ "3", "0", "1", "B0a", "VALUE:4B" ], [ "3", "0", "1", "B0b", "VALUE:4B" ], [ "3", "0", "1", "B1", "VALUE:4B" ], [ "3", "0", "1", "B1a", "VALUE:4B" ], [ "3", "0", "1", "B1b", "VALUE:4B" ], [ "3", "0", "1", "B2", "VALUE:4B" ], [ "3", "0", "1", "BX", "VALUE:4B" ], [ "3", "1A", "1", "B0", "VALUE:4B" ], [ "3", "1A", "1", "B0a", "VALUE:4B" ], [ "3", "1A", "1", "B0b", "VALUE:4B" ], [ "3", "1A", "1", "B1", "VALUE:4B" ], [ "3", "1A", "1", "B1a", "VALUE:4B" ], [ "3", "1A", "1", "B1b", "VALUE:4B" ], [ "3", "1A", "1", "B2", "VALUE:4B" ], [ "3", "1A", "1", "BX", "VALUE:4B" ], [ "3", "1B", "1", "B0", "VALUE:4B" ], [ "3", "1B", "1", "B0a", "VALUE:4B" ], [ "3", "1B", "1", "B0b", "VALUE:4B" ], [ "3", "1B", "1", "B1", "VALUE:4B" ], [ "3", "1B", "1", "B1a", "VALUE:4B" ], [ "3", "1B", "1", "B1b", "VALUE:4B" ], [ "3", "1B", "1", "B2", "VALUE:4B" ], [ "3", "1B", "1", "BX", "VALUE:4B" ], [ "3", "1", "1", "B0", "VALUE:4B" ], [ "3", "1", "1", "B0a", "VALUE:4B" ], [ "3", "1", "1", "B0b", "VALUE:4B" ], [ "3", "1", "1", "B1", "VALUE:4B" ], [ "3", "1", "1", "B1a", "VALUE:4B" ], [ "3", "1", "1", "B1b", "VALUE:4B" ], [ "3", "1", "1", "B2", "VALUE:4B" ], [ "3", "1", "1", "BX", "VALUE:4B" ], [ "3", "2A", "1", "B0", "VALUE:4B" ], [ "3", "2A", "1", "B0a", "VALUE:4B" ], [ "3", "2A", "1", "B0b", "VALUE:4B" ], [ "3", "2A", "1", "B1", "VALUE:4B" ], [ "3", "2A", "1", "B1a", "VALUE:4B" ], [ "3", "2A", "1", "B1b", "VALUE:4B" ], [ "3", "2A", "1", "B2", "VALUE:4B" ], [ "3", "2A", "1", "BX", "VALUE:4B" ], [ "3", "2B", "1", "B0", "VALUE:4B" ], [ "3", "2B", "1", "B0a", "VALUE:4B" ], [ "3", "2B", "1", "B0b", "VALUE:4B" ], [ "3", "2B", "1", "B1", "VALUE:4B" ], [ "3", "2B", "1", "B1a", "VALUE:4B" ], [ "3", "2B", "1", "B1b", "VALUE:4B" ], [ "3", "2B", "1", "B2", "VALUE:4B" ], [ "3", "2B", "1", "BX", "VALUE:4B" ], [ "3", "2", "1", "B0", "VALUE:4B" ], [ "3", "2", "1", "B0a", "VALUE:4B" ], [ "3", "2", "1", "B0b", "VALUE:4B" ], [ "3", "2", "1", "B1", "VALUE:4B" ], [ "3", "2", "1", "B1a", "VALUE:4B" ], [ "3", "2", "1", "B1b", "VALUE:4B" ], [ "3", "2", "1", "B2", "VALUE:4B" ], [ "3", "2", "1", "BX", "VALUE:4B" ], [ "3", "3", "1", "B0", "VALUE:4B" ], [ "3", "3", "1", "B0a", "VALUE:4B" ], [ "3", "3", "1", "B0b", "VALUE:4B" ], [ "3", "3", "1", "B1", "VALUE:4B" ], [ "3", "3", "1", "B1a", "VALUE:4B" ], [ "3", "3", "1", "B1b", "VALUE:4B" ], [ "3", "3", "1", "B2", "VALUE:4B" ], [ "3", "3", "1", "BX", "VALUE:4B" ], [ "3", "X", "1", "B0", "VALUE:4B" ], [ "3", "X", "1", "B0a", "VALUE:4B" ], [ "3", "X", "1", "B0b", "VALUE:4B" ], [ "3", "X", "1", "B1", "VALUE:4B" ], [ "3", "X", "1", "B1a", "VALUE:4B" ], [ "3", "X", "1", "B1b", "VALUE:4B" ], [ "3", "X", "1", "B2", "VALUE:4B" ], [ "3", "X", "1", "BX", "VALUE:4B" ], [ "4", "0", "1", "B0", "VALUE:4B" ], [ "4", "0", "1", "B0a", "VALUE:4B" ], [ "4", "0", "1", "B0b", "VALUE:4B" ], [ "4", "0", "1", "B1", "VALUE:4B" ], [ "4", "0", "1", "B1a", "VALUE:4B" ], [ "4", "0", "1", "B1b", "VALUE:4B" ], [ "4", "0", "1", "B2", "VALUE:4B" ], [ "4", "0", "1", "BX", "VALUE:4B" ], [ "4", "1A", "1", "B0", "VALUE:4B" ], [ "4", "1A", "1", "B0a", "VALUE:4B" ], [ "4", "1A", "1", "B0b", "VALUE:4B" ], [ "4", "1A", "1", "B1", "VALUE:4B" ], [ "4", "1A", "1", "B1a", "VALUE:4B" ], [ "4", "1A", "1", "B1b", "VALUE:4B" ], [ "4", "1A", "1", "B2", "VALUE:4B" ], [ "4", "1A", "1", "BX", "VALUE:4B" ], [ "4", "1B", "1", "B0", "VALUE:4B" ], [ "4", "1B", "1", "B0a", "VALUE:4B" ], [ "4", "1B", "1", "B0b", "VALUE:4B" ], [ "4", "1B", "1", "B1", "VALUE:4B" ], [ "4", "1B", "1", "B1a", "VALUE:4B" ], [ "4", "1B", "1", "B1b", "VALUE:4B" ], [ "4", "1B", "1", "B2", "VALUE:4B" ], [ "4", "1B", "1", "BX", "VALUE:4B" ], [ "4", "1", "1", "B0", "VALUE:4B" ], [ "4", "1", "1", "B0a", "VALUE:4B" ], [ "4", "1", "1", "B0b", "VALUE:4B" ], [ "4", "1", "1", "B1", "VALUE:4B" ], [ "4", "1", "1", "B1a", "VALUE:4B" ], [ "4", "1", "1", "B1b", "VALUE:4B" ], [ "4", "1", "1", "B2", "VALUE:4B" ], [ "4", "1", "1", "BX", "VALUE:4B" ], [ "4", "2A", "1", "B0", "VALUE:4B" ], [ "4", "2A", "1", "B0a", "VALUE:4B" ], [ "4", "2A", "1", "B0b", "VALUE:4B" ], [ "4", "2A", "1", "B1", "VALUE:4B" ], [ "4", "2A", "1", "B1a", "VALUE:4B" ], [ "4", "2A", "1", "B1b", "VALUE:4B" ], [ "4", "2A", "1", "B2", "VALUE:4B" ], [ "4", "2A", "1", "BX", "VALUE:4B" ], [ "4", "2B", "1", "B0", "VALUE:4B" ], [ "4", "2B", "1", "B0a", "VALUE:4B" ], [ "4", "2B", "1", "B0b", "VALUE:4B" ], [ "4", "2B", "1", "B1", "VALUE:4B" ], [ "4", "2B", "1", "B1a", "VALUE:4B" ], [ "4", "2B", "1", "B1b", "VALUE:4B" ], [ "4", "2B", "1", "B2", "VALUE:4B" ], [ "4", "2B", "1", "BX", "VALUE:4B" ], [ "4", "2", "1", "B0", "VALUE:4B" ], [ "4", "2", "1", "B0a", "VALUE:4B" ], [ "4", "2", "1", "B0b", "VALUE:4B" ], [ "4", "2", "1", "B1", "VALUE:4B" ], [ "4", "2", "1", "B1a", "VALUE:4B" ], [ "4", "2", "1", "B1b", "VALUE:4B" ], [ "4", "2", "1", "B2", "VALUE:4B" ], [ "4", "2", "1", "BX", "VALUE:4B" ], [ "4", "3", "1", "B0", "VALUE:4B" ], [ "4", "3", "1", "B0a", "VALUE:4B" ], [ "4", "3", "1", "B0b", "VALUE:4B" ], [ "4", "3", "1", "B1", "VALUE:4B" ], [ "4", "3", "1", "B1a", "VALUE:4B" ], [ "4", "3", "1", "B1b", "VALUE:4B" ], [ "4", "3", "1", "B2", "VALUE:4B" ], [ "4", "3", "1", "BX", "VALUE:4B" ], [ "4", "X", "1", "B0", "VALUE:4B" ], [ "4", "X", "1", "B0a", "VALUE:4B" ], [ "4", "X", "1", "B0b", "VALUE:4B" ], [ "4", "X", "1", "B1", "VALUE:4B" ], [ "4", "X", "1", "B1a", "VALUE:4B" ], [ "4", "X", "1", "B1b", "VALUE:4B" ], [ "4", "X", "1", "B2", "VALUE:4B" ], [ "4", "X", "1", "BX", "VALUE:4B" ], [ "X", "0", "1", "B0", "VALUE:4B" ], [ "X", "0", "1", "B0a", "VALUE:4B" ], [ "X", "0", "1", "B0b", "VALUE:4B" ], [ "X", "0", "1", "B1", "VALUE:4B" ], [ "X", "0", "1", "B1a", "VALUE:4B" ], [ "X", "0", "1", "B1b", "VALUE:4B" ], [ "X", "0", "1", "B2", "VALUE:4B" ], [ "X", "0", "1", "BX", "VALUE:4B" ], [ "X", "1A", "1", "B0", "VALUE:4B" ], [ "X", "1A", "1", "B0a", "VALUE:4B" ], [ "X", "1A", "1", "B0b", "VALUE:4B" ], [ "X", "1A", "1", "B1", "VALUE:4B" ], [ "X", "1A", "1", "B1a", "VALUE:4B" ], [ "X", "1A", "1", "B1b", "VALUE:4B" ], [ "X", "1A", "1", "B2", "VALUE:4B" ], [ "X", "1A", "1", "BX", "VALUE:4B" ], [ "X", "1B", "1", "B0", "VALUE:4B" ], [ "X", "1B", "1", "B0a", "VALUE:4B" ], [ "X", "1B", "1", "B0b", "VALUE:4B" ], [ "X", "1B", "1", "B1", "VALUE:4B" ], [ "X", "1B", "1", "B1a", "VALUE:4B" ], [ "X", "1B", "1", "B1b", "VALUE:4B" ], [ "X", "1B", "1", "B2", "VALUE:4B" ], [ "X", "1B", "1", "BX", "VALUE:4B" ], [ "X", "1", "1", "B0", "VALUE:4B" ], [ "X", "1", "1", "B0a", "VALUE:4B" ], [ "X", "1", "1", "B0b", "VALUE:4B" ], [ "X", "1", "1", "B1", "VALUE:4B" ], [ "X", "1", "1", "B1a", "VALUE:4B" ], [ "X", "1", "1", "B1b", "VALUE:4B" ], [ "X", "1", "1", "B2", "VALUE:4B" ], [ "X", "1", "1", "BX", "VALUE:4B" ], [ "X", "2A", "1", "B0", "VALUE:4B" ], [ "X", "2A", "1", "B0a", "VALUE:4B" ], [ "X", "2A", "1", "B0b", "VALUE:4B" ], [ "X", "2A", "1", "B1", "VALUE:4B" ], [ "X", "2A", "1", "B1a", "VALUE:4B" ], [ "X", "2A", "1", "B1b", "VALUE:4B" ], [ "X", "2A", "1", "B2", "VALUE:4B" ], [ "X", "2A", "1", "BX", "VALUE:4B" ], [ "X", "2B", "1", "B0", "VALUE:4B" ], [ "X", "2B", "1", "B0a", "VALUE:4B" ], [ "X", "2B", "1", "B0b", "VALUE:4B" ], [ "X", "2B", "1", "B1", "VALUE:4B" ], [ "X", "2B", "1", "B1a", "VALUE:4B" ], [ "X", "2B", "1", "B1b", "VALUE:4B" ], [ "X", "2B", "1", "B2", "VALUE:4B" ], [ "X", "2B", "1", "BX", "VALUE:4B" ], [ "X", "2", "1", "B0", "VALUE:4B" ], [ "X", "2", "1", "B0a", "VALUE:4B" ], [ "X", "2", "1", "B0b", "VALUE:4B" ], [ "X", "2", "1", "B1", "VALUE:4B" ], [ "X", "2", "1", "B1a", "VALUE:4B" ], [ "X", "2", "1", "B1b", "VALUE:4B" ], [ "X", "2", "1", "B2", "VALUE:4B" ], [ "X", "2", "1", "BX", "VALUE:4B" ], [ "X", "3", "1", "B0", "VALUE:4B" ], [ "X", "3", "1", "B0a", "VALUE:4B" ], [ "X", "3", "1", "B0b", "VALUE:4B" ], [ "X", "3", "1", "B1", "VALUE:4B" ], [ "X", "3", "1", "B1a", "VALUE:4B" ], [ "X", "3", "1", "B1b", "VALUE:4B" ], [ "X", "3", "1", "B2", "VALUE:4B" ], [ "X", "3", "1", "BX", "VALUE:4B" ], [ "X", "X", "1", "B0", "VALUE:4B" ], [ "X", "X", "1", "B0a", "VALUE:4B" ], [ "X", "X", "1", "B0b", "VALUE:4B" ], [ "X", "X", "1", "B1", "VALUE:4B" ], [ "X", "X", "1", "B1a", "VALUE:4B" ], [ "X", "X", "1", "B1b", "VALUE:4B" ], [ "X", "X", "1", "B2", "VALUE:4B" ], [ "X", "X", "1", "BX", "VALUE:4B" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uby.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uby.json deleted file mode 100644 index e86cf8ad7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uby.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uby", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:01.253Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3C" ], [ "0", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:3C" ], [ "3A", "X", "0", "VALUE:99" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:3C" ], [ "3B", "X", "0", "VALUE:99" ], [ "3C", "0", "0", "VALUE:3C" ], [ "3C", "1", "0", "VALUE:3C" ], [ "3C", "X", "0", "VALUE:3C" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3C" ], [ "3", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3C" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3C", "0", "1", "VALUE:4" ], [ "3C", "1", "1", "VALUE:4" ], [ "3C", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upm.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upm.json deleted file mode 100644 index 691a0d69f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upm.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm7_stage_upm", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:06.830Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade_based_on_ssf1", - "name" : "Grade based on SSF1", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "1", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "2", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "3", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "9", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "1", "VALUE:3" ], [ "0", "1", "0", "2", "VALUE:3" ], [ "0", "1", "0", "3", "VALUE:3" ], [ "0", "1", "0", "9", "VALUE:3" ], [ "0", "X", "0", "1", "VALUE:99" ], [ "0", "X", "0", "2", "VALUE:99" ], [ "0", "X", "0", "3", "VALUE:99" ], [ "0", "X", "0", "9", "VALUE:99" ], [ "1B", "0", "0", "1", "VALUE:1A" ], [ "1B", "0", "0", "2", "VALUE:2A" ], [ "1B", "0", "0", "3", "VALUE:2A" ], [ "1B", "0", "0", "9", "VALUE:1A" ], [ "1B", "1", "0", "1", "VALUE:3" ], [ "1B", "1", "0", "2", "VALUE:3" ], [ "1B", "1", "0", "3", "VALUE:3" ], [ "1B", "1", "0", "9", "VALUE:3" ], [ "1B", "X", "0", "1", "VALUE:99" ], [ "1B", "X", "0", "2", "VALUE:99" ], [ "1B", "X", "0", "3", "VALUE:99" ], [ "1B", "X", "0", "9", "VALUE:99" ], [ "2B", "0", "0", "1", "VALUE:1B" ], [ "2B", "0", "0", "2", "VALUE:2B" ], [ "2B", "0", "0", "3", "VALUE:3" ], [ "2B", "0", "0", "9", "VALUE:1B" ], [ "2B", "1", "0", "1", "VALUE:3" ], [ "2B", "1", "0", "2", "VALUE:3" ], [ "2B", "1", "0", "3", "VALUE:3" ], [ "2B", "1", "0", "9", "VALUE:3" ], [ "2B", "X", "0", "1", "VALUE:99" ], [ "2B", "X", "0", "2", "VALUE:99" ], [ "2B", "X", "0", "3", "VALUE:99" ], [ "2B", "X", "0", "9", "VALUE:99" ], [ "X", "0", "0", "1", "VALUE:1" ], [ "X", "0", "0", "2", "VALUE:2" ], [ "X", "0", "0", "3", "VALUE:99" ], [ "X", "0", "0", "9", "VALUE:1" ], [ "X", "1", "0", "1", "VALUE:3" ], [ "X", "1", "0", "2", "VALUE:3" ], [ "X", "1", "0", "3", "VALUE:3" ], [ "X", "1", "0", "9", "VALUE:3" ], [ "X", "X", "0", "1", "VALUE:99" ], [ "X", "X", "0", "2", "VALUE:99" ], [ "X", "X", "0", "3", "VALUE:99" ], [ "X", "X", "0", "9", "VALUE:99" ], [ "0", "0", "1", "1", "VALUE:4" ], [ "0", "0", "1", "2", "VALUE:4" ], [ "0", "0", "1", "3", "VALUE:4" ], [ "0", "0", "1", "9", "VALUE:4" ], [ "0", "1", "1", "1", "VALUE:4" ], [ "0", "1", "1", "2", "VALUE:4" ], [ "0", "1", "1", "3", "VALUE:4" ], [ "0", "1", "1", "9", "VALUE:4" ], [ "0", "X", "1", "1", "VALUE:4" ], [ "0", "X", "1", "2", "VALUE:4" ], [ "0", "X", "1", "3", "VALUE:4" ], [ "0", "X", "1", "9", "VALUE:4" ], [ "1B", "0", "1", "1", "VALUE:4" ], [ "1B", "0", "1", "2", "VALUE:4" ], [ "1B", "0", "1", "3", "VALUE:4" ], [ "1B", "0", "1", "9", "VALUE:4" ], [ "1B", "1", "1", "1", "VALUE:4" ], [ "1B", "1", "1", "2", "VALUE:4" ], [ "1B", "1", "1", "3", "VALUE:4" ], [ "1B", "1", "1", "9", "VALUE:4" ], [ "1B", "X", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "2", "VALUE:4" ], [ "1B", "X", "1", "3", "VALUE:4" ], [ "1B", "X", "1", "9", "VALUE:4" ], [ "2B", "0", "1", "1", "VALUE:4" ], [ "2B", "0", "1", "2", "VALUE:4" ], [ "2B", "0", "1", "3", "VALUE:4" ], [ "2B", "0", "1", "9", "VALUE:4" ], [ "2B", "1", "1", "1", "VALUE:4" ], [ "2B", "1", "1", "2", "VALUE:4" ], [ "2B", "1", "1", "3", "VALUE:4" ], [ "2B", "1", "1", "9", "VALUE:4" ], [ "2B", "X", "1", "1", "VALUE:4" ], [ "2B", "X", "1", "2", "VALUE:4" ], [ "2B", "X", "1", "3", "VALUE:4" ], [ "2B", "X", "1", "9", "VALUE:4" ], [ "X", "0", "1", "1", "VALUE:4" ], [ "X", "0", "1", "2", "VALUE:4" ], [ "X", "0", "1", "3", "VALUE:4" ], [ "X", "0", "1", "9", "VALUE:4" ], [ "X", "1", "1", "1", "VALUE:4" ], [ "X", "1", "1", "2", "VALUE:4" ], [ "X", "1", "1", "3", "VALUE:4" ], [ "X", "1", "1", "9", "VALUE:4" ], [ "X", "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "2", "VALUE:4" ], [ "X", "X", "1", "3", "VALUE:4" ], [ "X", "X", "1", "9", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ups.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ups.json deleted file mode 100644 index fa70a8d06..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_ups.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_ups", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:01.766Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:2B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1A" ], [ "1", "1", "0", "VALUE:2B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:1B" ], [ "2", "1", "0", "VALUE:2B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2A" ], [ "3", "1", "0", "VALUE:2B" ], [ "3", "X", "0", "VALUE:2" ], [ "4", "0", "0", "VALUE:3" ], [ "4", "1", "0", "VALUE:3" ], [ "4", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upt.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upt.json deleted file mode 100644 index 197a0aa69..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upt.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_upt", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:01.827Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2A", "0", "VALUE:4A" ], [ "0", "2B", "0", "VALUE:4A" ], [ "0", "2C", "0", "VALUE:4A" ], [ "0", "2", "0", "VALUE:4A" ], [ "0", "3", "0", "VALUE:4B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2A", "0", "ERROR:" ], [ "IS", "2B", "0", "ERROR:" ], [ "IS", "2C", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "3", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "2A", "0", "VALUE:4A" ], [ "1", "2B", "0", "VALUE:4A" ], [ "1", "2C", "0", "VALUE:4A" ], [ "1", "2", "0", "VALUE:4A" ], [ "1", "3", "0", "VALUE:4B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "2A", "0", "VALUE:4A" ], [ "2", "2B", "0", "VALUE:4A" ], [ "2", "2C", "0", "VALUE:4A" ], [ "2", "2", "0", "VALUE:4A" ], [ "2", "3", "0", "VALUE:4B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "2A", "0", "VALUE:4A" ], [ "3", "2B", "0", "VALUE:4A" ], [ "3", "2C", "0", "VALUE:4A" ], [ "3", "2", "0", "VALUE:4A" ], [ "3", "3", "0", "VALUE:4B" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:4A" ], [ "4A", "1", "0", "VALUE:4A" ], [ "4A", "2A", "0", "VALUE:4A" ], [ "4A", "2B", "0", "VALUE:4A" ], [ "4A", "2C", "0", "VALUE:4A" ], [ "4A", "2", "0", "VALUE:4A" ], [ "4A", "3", "0", "VALUE:4B" ], [ "4A", "X", "0", "VALUE:4" ], [ "4B", "0", "0", "VALUE:4B" ], [ "4B", "1", "0", "VALUE:4B" ], [ "4B", "2A", "0", "VALUE:4B" ], [ "4B", "2B", "0", "VALUE:4B" ], [ "4B", "2C", "0", "VALUE:4B" ], [ "4B", "2", "0", "VALUE:4B" ], [ "4B", "3", "0", "VALUE:4B" ], [ "4B", "X", "0", "VALUE:4B" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2A", "0", "VALUE:4" ], [ "4", "2B", "0", "VALUE:4" ], [ "4", "2C", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4B" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2A", "0", "VALUE:4" ], [ "X", "2B", "0", "VALUE:4" ], [ "X", "2C", "0", "VALUE:4" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "3", "0", "VALUE:4B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4C" ], [ "0", "1", "1", "VALUE:4C" ], [ "0", "2A", "1", "VALUE:4C" ], [ "0", "2B", "1", "VALUE:4C" ], [ "0", "2C", "1", "VALUE:4C" ], [ "0", "2", "1", "VALUE:4C" ], [ "0", "3", "1", "VALUE:4C" ], [ "0", "X", "1", "VALUE:4C" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2A", "1", "ERROR:" ], [ "IS", "2B", "1", "ERROR:" ], [ "IS", "2C", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "3", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4C" ], [ "1", "1", "1", "VALUE:4C" ], [ "1", "2A", "1", "VALUE:4C" ], [ "1", "2B", "1", "VALUE:4C" ], [ "1", "2C", "1", "VALUE:4C" ], [ "1", "2", "1", "VALUE:4C" ], [ "1", "3", "1", "VALUE:4C" ], [ "1", "X", "1", "VALUE:4C" ], [ "2", "0", "1", "VALUE:4C" ], [ "2", "1", "1", "VALUE:4C" ], [ "2", "2A", "1", "VALUE:4C" ], [ "2", "2B", "1", "VALUE:4C" ], [ "2", "2C", "1", "VALUE:4C" ], [ "2", "2", "1", "VALUE:4C" ], [ "2", "3", "1", "VALUE:4C" ], [ "2", "X", "1", "VALUE:4C" ], [ "3", "0", "1", "VALUE:4C" ], [ "3", "1", "1", "VALUE:4C" ], [ "3", "2A", "1", "VALUE:4C" ], [ "3", "2B", "1", "VALUE:4C" ], [ "3", "2C", "1", "VALUE:4C" ], [ "3", "2", "1", "VALUE:4C" ], [ "3", "3", "1", "VALUE:4C" ], [ "3", "X", "1", "VALUE:4C" ], [ "4A", "0", "1", "VALUE:4C" ], [ "4A", "1", "1", "VALUE:4C" ], [ "4A", "2A", "1", "VALUE:4C" ], [ "4A", "2B", "1", "VALUE:4C" ], [ "4A", "2C", "1", "VALUE:4C" ], [ "4A", "2", "1", "VALUE:4C" ], [ "4A", "3", "1", "VALUE:4C" ], [ "4A", "X", "1", "VALUE:4C" ], [ "4B", "0", "1", "VALUE:4C" ], [ "4B", "1", "1", "VALUE:4C" ], [ "4B", "2A", "1", "VALUE:4C" ], [ "4B", "2B", "1", "VALUE:4C" ], [ "4B", "2C", "1", "VALUE:4C" ], [ "4B", "2", "1", "VALUE:4C" ], [ "4B", "3", "1", "VALUE:4C" ], [ "4B", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "2A", "1", "VALUE:4C" ], [ "4", "2B", "1", "VALUE:4C" ], [ "4", "2C", "1", "VALUE:4C" ], [ "4", "2", "1", "VALUE:4C" ], [ "4", "3", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "X", "0", "1", "VALUE:4C" ], [ "X", "1", "1", "VALUE:4C" ], [ "X", "2A", "1", "VALUE:4C" ], [ "X", "2B", "1", "VALUE:4C" ], [ "X", "2C", "1", "VALUE:4C" ], [ "X", "2", "1", "VALUE:4C" ], [ "X", "3", "1", "VALUE:4C" ], [ "X", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upu.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upu.json deleted file mode 100644 index 499139057..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upu.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_upu", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:03.679Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:99" ], [ "0", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:4A" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:4A" ], [ "4A", "1", "0", "VALUE:4A" ], [ "4A", "X", "0", "VALUE:4A" ], [ "4B", "0", "0", "VALUE:4B" ], [ "4B", "1", "0", "VALUE:4B" ], [ "4B", "X", "0", "VALUE:4B" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4C" ], [ "0", "1", "1", "VALUE:4C" ], [ "0", "X", "1", "VALUE:4C" ], [ "3", "0", "1", "VALUE:4C" ], [ "3", "1", "1", "VALUE:4C" ], [ "3", "X", "1", "VALUE:4C" ], [ "4A", "0", "1", "VALUE:4C" ], [ "4A", "1", "1", "VALUE:4C" ], [ "4A", "X", "1", "VALUE:4C" ], [ "4B", "0", "1", "VALUE:4C" ], [ "4B", "1", "1", "VALUE:4C" ], [ "4B", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "X", "0", "1", "VALUE:4C" ], [ "X", "1", "1", "VALUE:4C" ], [ "X", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upv.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upv.json deleted file mode 100644 index 1f6e72f6f..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upv.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_upv", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:00.764Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:4" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:2A" ], [ "1B", "1", "0", "VALUE:4" ], [ "1B", "X", "0", "VALUE:99" ], [ "1C", "0", "0", "VALUE:2A" ], [ "1C", "1", "0", "VALUE:4" ], [ "1C", "X", "0", "VALUE:99" ], [ "1D", "0", "0", "VALUE:2A" ], [ "1D", "1", "0", "VALUE:4" ], [ "1D", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:99" ], [ "1", "1", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2A" ], [ "2A", "1", "0", "VALUE:4" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2B" ], [ "2B", "1", "0", "VALUE:4" ], [ "2B", "X", "0", "VALUE:99" ], [ "2C", "0", "0", "VALUE:3A" ], [ "2C", "1", "0", "VALUE:4" ], [ "2C", "X", "0", "VALUE:99" ], [ "2D", "0", "0", "VALUE:3A" ], [ "2D", "1", "0", "VALUE:4" ], [ "2D", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:99" ], [ "2", "1", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:2B" ], [ "3A", "1", "0", "VALUE:4" ], [ "3A", "X", "0", "VALUE:99" ], [ "3B", "0", "0", "VALUE:3A" ], [ "3B", "1", "0", "VALUE:4" ], [ "3B", "X", "0", "VALUE:99" ], [ "3C", "0", "0", "VALUE:3A" ], [ "3C", "1", "0", "VALUE:4" ], [ "3C", "X", "0", "VALUE:99" ], [ "3D", "0", "0", "VALUE:3B" ], [ "3D", "1", "0", "VALUE:4" ], [ "3D", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:99" ], [ "3", "1", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:3A" ], [ "4A", "1", "0", "VALUE:4" ], [ "4A", "X", "0", "VALUE:99" ], [ "4B", "0", "0", "VALUE:3B" ], [ "4B", "1", "0", "VALUE:4" ], [ "4B", "X", "0", "VALUE:99" ], [ "4C", "0", "0", "VALUE:3B" ], [ "4C", "1", "0", "VALUE:4" ], [ "4C", "X", "0", "VALUE:99" ], [ "4D", "0", "0", "VALUE:3C" ], [ "4D", "1", "0", "VALUE:4" ], [ "4D", "X", "0", "VALUE:99" ], [ "4E", "0", "0", "VALUE:3C" ], [ "4E", "1", "0", "VALUE:4" ], [ "4E", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1A", "VALUE:4" ], [ "0", "1", "1A", "VALUE:4" ], [ "0", "X", "1A", "VALUE:4" ], [ "1A", "0", "1A", "VALUE:4" ], [ "1A", "1", "1A", "VALUE:4" ], [ "1A", "X", "1A", "VALUE:4" ], [ "1B", "0", "1A", "VALUE:4" ], [ "1B", "1", "1A", "VALUE:4" ], [ "1B", "X", "1A", "VALUE:4" ], [ "1C", "0", "1A", "VALUE:4" ], [ "1C", "1", "1A", "VALUE:4" ], [ "1C", "X", "1A", "VALUE:4" ], [ "1D", "0", "1A", "VALUE:4" ], [ "1D", "1", "1A", "VALUE:4" ], [ "1D", "X", "1A", "VALUE:4" ], [ "1", "0", "1A", "VALUE:4" ], [ "1", "1", "1A", "VALUE:4" ], [ "1", "X", "1A", "VALUE:4" ], [ "2A", "0", "1A", "VALUE:4" ], [ "2A", "1", "1A", "VALUE:4" ], [ "2A", "X", "1A", "VALUE:4" ], [ "2B", "0", "1A", "VALUE:4" ], [ "2B", "1", "1A", "VALUE:4" ], [ "2B", "X", "1A", "VALUE:4" ], [ "2C", "0", "1A", "VALUE:4" ], [ "2C", "1", "1A", "VALUE:4" ], [ "2C", "X", "1A", "VALUE:4" ], [ "2D", "0", "1A", "VALUE:4" ], [ "2D", "1", "1A", "VALUE:4" ], [ "2D", "X", "1A", "VALUE:4" ], [ "2", "0", "1A", "VALUE:4" ], [ "2", "1", "1A", "VALUE:4" ], [ "2", "X", "1A", "VALUE:4" ], [ "3A", "0", "1A", "VALUE:4" ], [ "3A", "1", "1A", "VALUE:4" ], [ "3A", "X", "1A", "VALUE:4" ], [ "3B", "0", "1A", "VALUE:4" ], [ "3B", "1", "1A", "VALUE:4" ], [ "3B", "X", "1A", "VALUE:4" ], [ "3C", "0", "1A", "VALUE:4" ], [ "3C", "1", "1A", "VALUE:4" ], [ "3C", "X", "1A", "VALUE:4" ], [ "3D", "0", "1A", "VALUE:4" ], [ "3D", "1", "1A", "VALUE:4" ], [ "3D", "X", "1A", "VALUE:4" ], [ "3", "0", "1A", "VALUE:4" ], [ "3", "1", "1A", "VALUE:4" ], [ "3", "X", "1A", "VALUE:4" ], [ "4A", "0", "1A", "VALUE:4" ], [ "4A", "1", "1A", "VALUE:4" ], [ "4A", "X", "1A", "VALUE:4" ], [ "4B", "0", "1A", "VALUE:4" ], [ "4B", "1", "1A", "VALUE:4" ], [ "4B", "X", "1A", "VALUE:4" ], [ "4C", "0", "1A", "VALUE:4" ], [ "4C", "1", "1A", "VALUE:4" ], [ "4C", "X", "1A", "VALUE:4" ], [ "4D", "0", "1A", "VALUE:4" ], [ "4D", "1", "1A", "VALUE:4" ], [ "4D", "X", "1A", "VALUE:4" ], [ "4E", "0", "1A", "VALUE:4" ], [ "4E", "1", "1A", "VALUE:4" ], [ "4E", "X", "1A", "VALUE:4" ], [ "4", "0", "1A", "VALUE:4" ], [ "4", "1", "1A", "VALUE:4" ], [ "4", "X", "1A", "VALUE:4" ], [ "X", "0", "1A", "VALUE:4" ], [ "X", "1", "1A", "VALUE:4" ], [ "X", "X", "1A", "VALUE:4" ], [ "0", "0", "1B", "VALUE:4" ], [ "0", "1", "1B", "VALUE:4" ], [ "0", "X", "1B", "VALUE:4" ], [ "1A", "0", "1B", "VALUE:4" ], [ "1A", "1", "1B", "VALUE:4" ], [ "1A", "X", "1B", "VALUE:4" ], [ "1B", "0", "1B", "VALUE:4" ], [ "1B", "1", "1B", "VALUE:4" ], [ "1B", "X", "1B", "VALUE:4" ], [ "1C", "0", "1B", "VALUE:4" ], [ "1C", "1", "1B", "VALUE:4" ], [ "1C", "X", "1B", "VALUE:4" ], [ "1D", "0", "1B", "VALUE:4" ], [ "1D", "1", "1B", "VALUE:4" ], [ "1D", "X", "1B", "VALUE:4" ], [ "1", "0", "1B", "VALUE:4" ], [ "1", "1", "1B", "VALUE:4" ], [ "1", "X", "1B", "VALUE:4" ], [ "2A", "0", "1B", "VALUE:4" ], [ "2A", "1", "1B", "VALUE:4" ], [ "2A", "X", "1B", "VALUE:4" ], [ "2B", "0", "1B", "VALUE:4" ], [ "2B", "1", "1B", "VALUE:4" ], [ "2B", "X", "1B", "VALUE:4" ], [ "2C", "0", "1B", "VALUE:4" ], [ "2C", "1", "1B", "VALUE:4" ], [ "2C", "X", "1B", "VALUE:4" ], [ "2D", "0", "1B", "VALUE:4" ], [ "2D", "1", "1B", "VALUE:4" ], [ "2D", "X", "1B", "VALUE:4" ], [ "2", "0", "1B", "VALUE:4" ], [ "2", "1", "1B", "VALUE:4" ], [ "2", "X", "1B", "VALUE:4" ], [ "3A", "0", "1B", "VALUE:4" ], [ "3A", "1", "1B", "VALUE:4" ], [ "3A", "X", "1B", "VALUE:4" ], [ "3B", "0", "1B", "VALUE:4" ], [ "3B", "1", "1B", "VALUE:4" ], [ "3B", "X", "1B", "VALUE:4" ], [ "3C", "0", "1B", "VALUE:4" ], [ "3C", "1", "1B", "VALUE:4" ], [ "3C", "X", "1B", "VALUE:4" ], [ "3D", "0", "1B", "VALUE:4" ], [ "3D", "1", "1B", "VALUE:4" ], [ "3D", "X", "1B", "VALUE:4" ], [ "3", "0", "1B", "VALUE:4" ], [ "3", "1", "1B", "VALUE:4" ], [ "3", "X", "1B", "VALUE:4" ], [ "4A", "0", "1B", "VALUE:4" ], [ "4A", "1", "1B", "VALUE:4" ], [ "4A", "X", "1B", "VALUE:4" ], [ "4B", "0", "1B", "VALUE:4" ], [ "4B", "1", "1B", "VALUE:4" ], [ "4B", "X", "1B", "VALUE:4" ], [ "4C", "0", "1B", "VALUE:4" ], [ "4C", "1", "1B", "VALUE:4" ], [ "4C", "X", "1B", "VALUE:4" ], [ "4D", "0", "1B", "VALUE:4" ], [ "4D", "1", "1B", "VALUE:4" ], [ "4D", "X", "1B", "VALUE:4" ], [ "4E", "0", "1B", "VALUE:4" ], [ "4E", "1", "1B", "VALUE:4" ], [ "4E", "X", "1B", "VALUE:4" ], [ "4", "0", "1B", "VALUE:4" ], [ "4", "1", "1B", "VALUE:4" ], [ "4", "X", "1B", "VALUE:4" ], [ "X", "0", "1B", "VALUE:4" ], [ "X", "1", "1B", "VALUE:4" ], [ "X", "X", "1B", "VALUE:4" ], [ "0", "0", "1C", "VALUE:4" ], [ "0", "1", "1C", "VALUE:4" ], [ "0", "X", "1C", "VALUE:4" ], [ "1A", "0", "1C", "VALUE:4" ], [ "1A", "1", "1C", "VALUE:4" ], [ "1A", "X", "1C", "VALUE:4" ], [ "1B", "0", "1C", "VALUE:4" ], [ "1B", "1", "1C", "VALUE:4" ], [ "1B", "X", "1C", "VALUE:4" ], [ "1C", "0", "1C", "VALUE:4" ], [ "1C", "1", "1C", "VALUE:4" ], [ "1C", "X", "1C", "VALUE:4" ], [ "1D", "0", "1C", "VALUE:4" ], [ "1D", "1", "1C", "VALUE:4" ], [ "1D", "X", "1C", "VALUE:4" ], [ "1", "0", "1C", "VALUE:4" ], [ "1", "1", "1C", "VALUE:4" ], [ "1", "X", "1C", "VALUE:4" ], [ "2A", "0", "1C", "VALUE:4" ], [ "2A", "1", "1C", "VALUE:4" ], [ "2A", "X", "1C", "VALUE:4" ], [ "2B", "0", "1C", "VALUE:4" ], [ "2B", "1", "1C", "VALUE:4" ], [ "2B", "X", "1C", "VALUE:4" ], [ "2C", "0", "1C", "VALUE:4" ], [ "2C", "1", "1C", "VALUE:4" ], [ "2C", "X", "1C", "VALUE:4" ], [ "2D", "0", "1C", "VALUE:4" ], [ "2D", "1", "1C", "VALUE:4" ], [ "2D", "X", "1C", "VALUE:4" ], [ "2", "0", "1C", "VALUE:4" ], [ "2", "1", "1C", "VALUE:4" ], [ "2", "X", "1C", "VALUE:4" ], [ "3A", "0", "1C", "VALUE:4" ], [ "3A", "1", "1C", "VALUE:4" ], [ "3A", "X", "1C", "VALUE:4" ], [ "3B", "0", "1C", "VALUE:4" ], [ "3B", "1", "1C", "VALUE:4" ], [ "3B", "X", "1C", "VALUE:4" ], [ "3C", "0", "1C", "VALUE:4" ], [ "3C", "1", "1C", "VALUE:4" ], [ "3C", "X", "1C", "VALUE:4" ], [ "3D", "0", "1C", "VALUE:4" ], [ "3D", "1", "1C", "VALUE:4" ], [ "3D", "X", "1C", "VALUE:4" ], [ "3", "0", "1C", "VALUE:4" ], [ "3", "1", "1C", "VALUE:4" ], [ "3", "X", "1C", "VALUE:4" ], [ "4A", "0", "1C", "VALUE:4" ], [ "4A", "1", "1C", "VALUE:4" ], [ "4A", "X", "1C", "VALUE:4" ], [ "4B", "0", "1C", "VALUE:4" ], [ "4B", "1", "1C", "VALUE:4" ], [ "4B", "X", "1C", "VALUE:4" ], [ "4C", "0", "1C", "VALUE:4" ], [ "4C", "1", "1C", "VALUE:4" ], [ "4C", "X", "1C", "VALUE:4" ], [ "4D", "0", "1C", "VALUE:4" ], [ "4D", "1", "1C", "VALUE:4" ], [ "4D", "X", "1C", "VALUE:4" ], [ "4E", "0", "1C", "VALUE:4" ], [ "4E", "1", "1C", "VALUE:4" ], [ "4E", "X", "1C", "VALUE:4" ], [ "4", "0", "1C", "VALUE:4" ], [ "4", "1", "1C", "VALUE:4" ], [ "4", "X", "1C", "VALUE:4" ], [ "X", "0", "1C", "VALUE:4" ], [ "X", "1", "1C", "VALUE:4" ], [ "X", "X", "1C", "VALUE:4" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1C", "0", "1", "VALUE:4" ], [ "1C", "1", "1", "VALUE:4" ], [ "1C", "X", "1", "VALUE:4" ], [ "1D", "0", "1", "VALUE:4" ], [ "1D", "1", "1", "VALUE:4" ], [ "1D", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2C", "0", "1", "VALUE:4" ], [ "2C", "1", "1", "VALUE:4" ], [ "2C", "X", "1", "VALUE:4" ], [ "2D", "0", "1", "VALUE:4" ], [ "2D", "1", "1", "VALUE:4" ], [ "2D", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3C", "0", "1", "VALUE:4" ], [ "3C", "1", "1", "VALUE:4" ], [ "3C", "X", "1", "VALUE:4" ], [ "3D", "0", "1", "VALUE:4" ], [ "3D", "1", "1", "VALUE:4" ], [ "3D", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4A", "0", "1", "VALUE:4" ], [ "4A", "1", "1", "VALUE:4" ], [ "4A", "X", "1", "VALUE:4" ], [ "4B", "0", "1", "VALUE:4" ], [ "4B", "1", "1", "VALUE:4" ], [ "4B", "X", "1", "VALUE:4" ], [ "4C", "0", "1", "VALUE:4" ], [ "4C", "1", "1", "VALUE:4" ], [ "4C", "X", "1", "VALUE:4" ], [ "4D", "0", "1", "VALUE:4" ], [ "4D", "1", "1", "VALUE:4" ], [ "4D", "X", "1", "VALUE:4" ], [ "4E", "0", "1", "VALUE:4" ], [ "4E", "1", "1", "VALUE:4" ], [ "4E", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upw.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upw.json deleted file mode 100644 index 148753650..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upw.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_upw", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.171Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1A", "0", "VALUE:3A" ], [ "0", "1B", "0", "VALUE:3A" ], [ "0", "1C", "0", "VALUE:3A" ], [ "0", "1", "0", "VALUE:3A" ], [ "0", "2A", "0", "VALUE:3A" ], [ "0", "2B", "0", "VALUE:3B" ], [ "0", "2", "0", "VALUE:3" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1A", "0", "ERROR:" ], [ "IS", "1B", "0", "ERROR:" ], [ "IS", "1C", "0", "ERROR:" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2A", "0", "ERROR:" ], [ "IS", "2B", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1A", "0", "VALUE:3A" ], [ "1", "1B", "0", "VALUE:3A" ], [ "1", "1C", "0", "VALUE:3A" ], [ "1", "1", "0", "VALUE:3A" ], [ "1", "2A", "0", "VALUE:3A" ], [ "1", "2B", "0", "VALUE:3B" ], [ "1", "2", "0", "VALUE:3" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:1" ], [ "2", "1A", "0", "VALUE:3A" ], [ "2", "1B", "0", "VALUE:3A" ], [ "2", "1C", "0", "VALUE:3A" ], [ "2", "1", "0", "VALUE:3A" ], [ "2", "2A", "0", "VALUE:3B" ], [ "2", "2B", "0", "VALUE:3B" ], [ "2", "2", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2A" ], [ "3", "1A", "0", "VALUE:3B" ], [ "3", "1B", "0", "VALUE:3B" ], [ "3", "1C", "0", "VALUE:3B" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "2A", "0", "VALUE:3B" ], [ "3", "2B", "0", "VALUE:3C" ], [ "3", "2", "0", "VALUE:3" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:2B" ], [ "4A", "1A", "0", "VALUE:3B" ], [ "4A", "1B", "0", "VALUE:3B" ], [ "4A", "1C", "0", "VALUE:3B" ], [ "4A", "1", "0", "VALUE:3B" ], [ "4A", "2A", "0", "VALUE:3C" ], [ "4A", "2B", "0", "VALUE:3C" ], [ "4A", "2", "0", "VALUE:3C" ], [ "4A", "X", "0", "VALUE:99" ], [ "4B", "0", "0", "VALUE:2C" ], [ "4B", "1A", "0", "VALUE:3C" ], [ "4B", "1B", "0", "VALUE:3C" ], [ "4B", "1C", "0", "VALUE:3C" ], [ "4B", "1", "0", "VALUE:3C" ], [ "4B", "2A", "0", "VALUE:3C" ], [ "4B", "2B", "0", "VALUE:3C" ], [ "4B", "2", "0", "VALUE:3C" ], [ "4B", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:2" ], [ "4", "1A", "0", "VALUE:3B" ], [ "4", "1B", "0", "VALUE:3B" ], [ "4", "1C", "0", "VALUE:3B" ], [ "4", "1", "0", "VALUE:3B" ], [ "4", "2A", "0", "VALUE:3C" ], [ "4", "2B", "0", "VALUE:3C" ], [ "4", "2", "0", "VALUE:3C" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1A", "0", "VALUE:3" ], [ "X", "1B", "0", "VALUE:3" ], [ "X", "1C", "0", "VALUE:3" ], [ "X", "1", "0", "VALUE:3" ], [ "X", "2A", "0", "VALUE:3" ], [ "X", "2B", "0", "VALUE:3" ], [ "X", "2", "0", "VALUE:3" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1A", "VALUE:4A" ], [ "0", "1A", "1A", "VALUE:4A" ], [ "0", "1B", "1A", "VALUE:4A" ], [ "0", "1C", "1A", "VALUE:4A" ], [ "0", "1", "1A", "VALUE:4A" ], [ "0", "2A", "1A", "VALUE:4A" ], [ "0", "2B", "1A", "VALUE:4A" ], [ "0", "2", "1A", "VALUE:4A" ], [ "0", "X", "1A", "VALUE:4A" ], [ "IS", "0", "1A", "ERROR:" ], [ "IS", "1A", "1A", "ERROR:" ], [ "IS", "1B", "1A", "ERROR:" ], [ "IS", "1C", "1A", "ERROR:" ], [ "IS", "1", "1A", "ERROR:" ], [ "IS", "2A", "1A", "ERROR:" ], [ "IS", "2B", "1A", "ERROR:" ], [ "IS", "2", "1A", "ERROR:" ], [ "IS", "X", "1A", "ERROR:" ], [ "1", "0", "1A", "VALUE:4A" ], [ "1", "1A", "1A", "VALUE:4A" ], [ "1", "1B", "1A", "VALUE:4A" ], [ "1", "1C", "1A", "VALUE:4A" ], [ "1", "1", "1A", "VALUE:4A" ], [ "1", "2A", "1A", "VALUE:4A" ], [ "1", "2B", "1A", "VALUE:4A" ], [ "1", "2", "1A", "VALUE:4A" ], [ "1", "X", "1A", "VALUE:4A" ], [ "2", "0", "1A", "VALUE:4A" ], [ "2", "1A", "1A", "VALUE:4A" ], [ "2", "1B", "1A", "VALUE:4A" ], [ "2", "1C", "1A", "VALUE:4A" ], [ "2", "1", "1A", "VALUE:4A" ], [ "2", "2A", "1A", "VALUE:4A" ], [ "2", "2B", "1A", "VALUE:4A" ], [ "2", "2", "1A", "VALUE:4A" ], [ "2", "X", "1A", "VALUE:4A" ], [ "3", "0", "1A", "VALUE:4A" ], [ "3", "1A", "1A", "VALUE:4A" ], [ "3", "1B", "1A", "VALUE:4A" ], [ "3", "1C", "1A", "VALUE:4A" ], [ "3", "1", "1A", "VALUE:4A" ], [ "3", "2A", "1A", "VALUE:4A" ], [ "3", "2B", "1A", "VALUE:4A" ], [ "3", "2", "1A", "VALUE:4A" ], [ "3", "X", "1A", "VALUE:4A" ], [ "4A", "0", "1A", "VALUE:4A" ], [ "4A", "1A", "1A", "VALUE:4A" ], [ "4A", "1B", "1A", "VALUE:4A" ], [ "4A", "1C", "1A", "VALUE:4A" ], [ "4A", "1", "1A", "VALUE:4A" ], [ "4A", "2A", "1A", "VALUE:4A" ], [ "4A", "2B", "1A", "VALUE:4A" ], [ "4A", "2", "1A", "VALUE:4A" ], [ "4A", "X", "1A", "VALUE:4A" ], [ "4B", "0", "1A", "VALUE:4A" ], [ "4B", "1A", "1A", "VALUE:4A" ], [ "4B", "1B", "1A", "VALUE:4A" ], [ "4B", "1C", "1A", "VALUE:4A" ], [ "4B", "1", "1A", "VALUE:4A" ], [ "4B", "2A", "1A", "VALUE:4A" ], [ "4B", "2B", "1A", "VALUE:4A" ], [ "4B", "2", "1A", "VALUE:4A" ], [ "4B", "X", "1A", "VALUE:4A" ], [ "4", "0", "1A", "VALUE:4A" ], [ "4", "1A", "1A", "VALUE:4A" ], [ "4", "1B", "1A", "VALUE:4A" ], [ "4", "1C", "1A", "VALUE:4A" ], [ "4", "1", "1A", "VALUE:4A" ], [ "4", "2A", "1A", "VALUE:4A" ], [ "4", "2B", "1A", "VALUE:4A" ], [ "4", "2", "1A", "VALUE:4A" ], [ "4", "X", "1A", "VALUE:4A" ], [ "X", "0", "1A", "VALUE:4A" ], [ "X", "1A", "1A", "VALUE:4A" ], [ "X", "1B", "1A", "VALUE:4A" ], [ "X", "1C", "1A", "VALUE:4A" ], [ "X", "1", "1A", "VALUE:4A" ], [ "X", "2A", "1A", "VALUE:4A" ], [ "X", "2B", "1A", "VALUE:4A" ], [ "X", "2", "1A", "VALUE:4A" ], [ "X", "X", "1A", "VALUE:4A" ], [ "0", "0", "1B", "VALUE:4B" ], [ "0", "1A", "1B", "VALUE:4B" ], [ "0", "1B", "1B", "VALUE:4B" ], [ "0", "1C", "1B", "VALUE:4B" ], [ "0", "1", "1B", "VALUE:4B" ], [ "0", "2A", "1B", "VALUE:4B" ], [ "0", "2B", "1B", "VALUE:4B" ], [ "0", "2", "1B", "VALUE:4B" ], [ "0", "X", "1B", "VALUE:4B" ], [ "IS", "0", "1B", "ERROR:" ], [ "IS", "1A", "1B", "ERROR:" ], [ "IS", "1B", "1B", "ERROR:" ], [ "IS", "1C", "1B", "ERROR:" ], [ "IS", "1", "1B", "ERROR:" ], [ "IS", "2A", "1B", "ERROR:" ], [ "IS", "2B", "1B", "ERROR:" ], [ "IS", "2", "1B", "ERROR:" ], [ "IS", "X", "1B", "ERROR:" ], [ "1", "0", "1B", "VALUE:4B" ], [ "1", "1A", "1B", "VALUE:4B" ], [ "1", "1B", "1B", "VALUE:4B" ], [ "1", "1C", "1B", "VALUE:4B" ], [ "1", "1", "1B", "VALUE:4B" ], [ "1", "2A", "1B", "VALUE:4B" ], [ "1", "2B", "1B", "VALUE:4B" ], [ "1", "2", "1B", "VALUE:4B" ], [ "1", "X", "1B", "VALUE:4B" ], [ "2", "0", "1B", "VALUE:4B" ], [ "2", "1A", "1B", "VALUE:4B" ], [ "2", "1B", "1B", "VALUE:4B" ], [ "2", "1C", "1B", "VALUE:4B" ], [ "2", "1", "1B", "VALUE:4B" ], [ "2", "2A", "1B", "VALUE:4B" ], [ "2", "2B", "1B", "VALUE:4B" ], [ "2", "2", "1B", "VALUE:4B" ], [ "2", "X", "1B", "VALUE:4B" ], [ "3", "0", "1B", "VALUE:4B" ], [ "3", "1A", "1B", "VALUE:4B" ], [ "3", "1B", "1B", "VALUE:4B" ], [ "3", "1C", "1B", "VALUE:4B" ], [ "3", "1", "1B", "VALUE:4B" ], [ "3", "2A", "1B", "VALUE:4B" ], [ "3", "2B", "1B", "VALUE:4B" ], [ "3", "2", "1B", "VALUE:4B" ], [ "3", "X", "1B", "VALUE:4B" ], [ "4A", "0", "1B", "VALUE:4B" ], [ "4A", "1A", "1B", "VALUE:4B" ], [ "4A", "1B", "1B", "VALUE:4B" ], [ "4A", "1C", "1B", "VALUE:4B" ], [ "4A", "1", "1B", "VALUE:4B" ], [ "4A", "2A", "1B", "VALUE:4B" ], [ "4A", "2B", "1B", "VALUE:4B" ], [ "4A", "2", "1B", "VALUE:4B" ], [ "4A", "X", "1B", "VALUE:4B" ], [ "4B", "0", "1B", "VALUE:4B" ], [ "4B", "1A", "1B", "VALUE:4B" ], [ "4B", "1B", "1B", "VALUE:4B" ], [ "4B", "1C", "1B", "VALUE:4B" ], [ "4B", "1", "1B", "VALUE:4B" ], [ "4B", "2A", "1B", "VALUE:4B" ], [ "4B", "2B", "1B", "VALUE:4B" ], [ "4B", "2", "1B", "VALUE:4B" ], [ "4B", "X", "1B", "VALUE:4B" ], [ "4", "0", "1B", "VALUE:4B" ], [ "4", "1A", "1B", "VALUE:4B" ], [ "4", "1B", "1B", "VALUE:4B" ], [ "4", "1C", "1B", "VALUE:4B" ], [ "4", "1", "1B", "VALUE:4B" ], [ "4", "2A", "1B", "VALUE:4B" ], [ "4", "2B", "1B", "VALUE:4B" ], [ "4", "2", "1B", "VALUE:4B" ], [ "4", "X", "1B", "VALUE:4B" ], [ "X", "0", "1B", "VALUE:4B" ], [ "X", "1A", "1B", "VALUE:4B" ], [ "X", "1B", "1B", "VALUE:4B" ], [ "X", "1C", "1B", "VALUE:4B" ], [ "X", "1", "1B", "VALUE:4B" ], [ "X", "2A", "1B", "VALUE:4B" ], [ "X", "2B", "1B", "VALUE:4B" ], [ "X", "2", "1B", "VALUE:4B" ], [ "X", "X", "1B", "VALUE:4B" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1A", "1", "VALUE:4" ], [ "0", "1B", "1", "VALUE:4" ], [ "0", "1C", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2A", "1", "VALUE:4" ], [ "0", "2B", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1A", "1", "ERROR:" ], [ "IS", "1B", "1", "ERROR:" ], [ "IS", "1C", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2A", "1", "ERROR:" ], [ "IS", "2B", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1A", "1", "VALUE:4" ], [ "1", "1B", "1", "VALUE:4" ], [ "1", "1C", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2A", "1", "VALUE:4" ], [ "1", "2B", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1A", "1", "VALUE:4" ], [ "2", "1B", "1", "VALUE:4" ], [ "2", "1C", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2A", "1", "VALUE:4" ], [ "2", "2B", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1A", "1", "VALUE:4" ], [ "3", "1B", "1", "VALUE:4" ], [ "3", "1C", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2A", "1", "VALUE:4" ], [ "3", "2B", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4A", "0", "1", "VALUE:4" ], [ "4A", "1A", "1", "VALUE:4" ], [ "4A", "1B", "1", "VALUE:4" ], [ "4A", "1C", "1", "VALUE:4" ], [ "4A", "1", "1", "VALUE:4" ], [ "4A", "2A", "1", "VALUE:4" ], [ "4A", "2B", "1", "VALUE:4" ], [ "4A", "2", "1", "VALUE:4" ], [ "4A", "X", "1", "VALUE:4" ], [ "4B", "0", "1", "VALUE:4" ], [ "4B", "1A", "1", "VALUE:4" ], [ "4B", "1B", "1", "VALUE:4" ], [ "4B", "1C", "1", "VALUE:4" ], [ "4B", "1", "1", "VALUE:4" ], [ "4B", "2A", "1", "VALUE:4" ], [ "4B", "2B", "1", "VALUE:4" ], [ "4B", "2", "1", "VALUE:4" ], [ "4B", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1A", "1", "VALUE:4" ], [ "4", "1B", "1", "VALUE:4" ], [ "4", "1C", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2A", "1", "VALUE:4" ], [ "4", "2B", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1A", "1", "VALUE:4" ], [ "X", "1B", "1", "VALUE:4" ], [ "X", "1C", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2A", "1", "VALUE:4" ], [ "X", "2B", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upx.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upx.json deleted file mode 100644 index 11734a85a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upx.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_upx", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.699Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:3B" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1", "0", "VALUE:3B" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2A" ], [ "2", "1", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2B" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3A" ], [ "4", "1", "0", "VALUE:3B" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upz.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upz.json deleted file mode 100644 index 690e24b4a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_upz.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_upz", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:00.160Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:4" ], [ "0", "2", "0", "VALUE:4" ], [ "0", "3", "0", "VALUE:4" ], [ "0", "X", "0", "VALUE:99" ], [ "A", "0", "0", "VALUE:0A" ], [ "A", "1", "0", "ERROR:" ], [ "A", "2", "0", "ERROR:" ], [ "A", "3", "0", "ERROR:" ], [ "A", "X", "0", "VALUE:0A" ], [ "IS", "0", "0", "VALUE:0IS" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "3", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0IS" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:4" ], [ "1", "2", "0", "VALUE:4" ], [ "1", "3", "0", "VALUE:4" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:4" ], [ "2", "2", "0", "VALUE:4" ], [ "2", "3", "0", "VALUE:4" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:4" ], [ "3", "2", "0", "VALUE:4" ], [ "3", "3", "0", "VALUE:4" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:4" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "3", "0", "VALUE:4" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "3", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "A", "0", "1", "ERROR:" ], [ "A", "1", "1", "ERROR:" ], [ "A", "2", "1", "ERROR:" ], [ "A", "3", "1", "ERROR:" ], [ "A", "X", "1", "ERROR:" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "3", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "3", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "3", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "3", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "3", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "3", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqa.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqa.json deleted file mode 100644 index 833041213..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqa.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uqa", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:03.394Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2A" ], [ "2", "1", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2B" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:3A" ], [ "4", "1", "0", "VALUE:3B" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqb.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqb.json deleted file mode 100644 index 2f389fa42..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqb.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uqb", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:02.618Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2", "0", "VALUE:4B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:3B" ], [ "1A", "2", "0", "VALUE:4B" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1", "0", "VALUE:3B" ], [ "1B", "2", "0", "VALUE:4B" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3B" ], [ "1", "2", "0", "VALUE:4B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3B" ], [ "2", "2", "0", "VALUE:4B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3A" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "2", "0", "VALUE:4B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:4A" ], [ "4", "1", "0", "VALUE:4A" ], [ "4", "2", "0", "VALUE:4B" ], [ "4", "X", "0", "VALUE:4A" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2", "0", "VALUE:4B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4B" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "2", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4B" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1A", "0", "1", "VALUE:4B" ], [ "1A", "1", "1", "VALUE:4B" ], [ "1A", "2", "1", "VALUE:4B" ], [ "1A", "X", "1", "VALUE:4B" ], [ "1B", "0", "1", "VALUE:4B" ], [ "1B", "1", "1", "VALUE:4B" ], [ "1B", "2", "1", "VALUE:4B" ], [ "1B", "X", "1", "VALUE:4B" ], [ "1", "0", "1", "VALUE:4B" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "2", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4B" ], [ "2", "0", "1", "VALUE:4B" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "2", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4B" ], [ "3", "0", "1", "VALUE:4B" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "2", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4B" ], [ "4", "0", "1", "VALUE:4B" ], [ "4", "1", "1", "VALUE:4B" ], [ "4", "2", "1", "VALUE:4B" ], [ "4", "X", "1", "VALUE:4B" ], [ "X", "0", "1", "VALUE:4B" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "2", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4B" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqc.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqc.json deleted file mode 100644 index c226fc8d2..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqc.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uqc", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:03.196Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:99" ], [ "0", "2A", "0", "VALUE:4A" ], [ "0", "2B", "0", "VALUE:4A" ], [ "0", "2C", "0", "VALUE:4A" ], [ "0", "2", "0", "VALUE:4A" ], [ "0", "3", "0", "VALUE:4B" ], [ "0", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3" ], [ "1", "2A", "0", "VALUE:4A" ], [ "1", "2B", "0", "VALUE:4A" ], [ "1", "2C", "0", "VALUE:4A" ], [ "1", "2", "0", "VALUE:4A" ], [ "1", "3", "0", "VALUE:4B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3" ], [ "2", "2A", "0", "VALUE:4A" ], [ "2", "2B", "0", "VALUE:4A" ], [ "2", "2C", "0", "VALUE:4A" ], [ "2", "2", "0", "VALUE:4A" ], [ "2", "3", "0", "VALUE:4B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3" ], [ "3", "2A", "0", "VALUE:4A" ], [ "3", "2B", "0", "VALUE:4A" ], [ "3", "2C", "0", "VALUE:4A" ], [ "3", "2", "0", "VALUE:4A" ], [ "3", "3", "0", "VALUE:4B" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:4A" ], [ "4A", "1", "0", "VALUE:4A" ], [ "4A", "2A", "0", "VALUE:4A" ], [ "4A", "2B", "0", "VALUE:4A" ], [ "4A", "2C", "0", "VALUE:4A" ], [ "4A", "2", "0", "VALUE:4A" ], [ "4A", "3", "0", "VALUE:4B" ], [ "4A", "X", "0", "VALUE:4" ], [ "4B", "0", "0", "VALUE:4B" ], [ "4B", "1", "0", "VALUE:4B" ], [ "4B", "2A", "0", "VALUE:4B" ], [ "4B", "2B", "0", "VALUE:4B" ], [ "4B", "2C", "0", "VALUE:4B" ], [ "4B", "2", "0", "VALUE:4B" ], [ "4B", "3", "0", "VALUE:4B" ], [ "4B", "X", "0", "VALUE:4B" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "2A", "0", "VALUE:4" ], [ "4", "2B", "0", "VALUE:4" ], [ "4", "2C", "0", "VALUE:4" ], [ "4", "2", "0", "VALUE:4" ], [ "4", "3", "0", "VALUE:4B" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "2A", "0", "VALUE:4" ], [ "X", "2B", "0", "VALUE:4" ], [ "X", "2C", "0", "VALUE:4" ], [ "X", "2", "0", "VALUE:4" ], [ "X", "3", "0", "VALUE:4B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4C" ], [ "0", "1", "1", "VALUE:4C" ], [ "0", "2A", "1", "VALUE:4C" ], [ "0", "2B", "1", "VALUE:4C" ], [ "0", "2C", "1", "VALUE:4C" ], [ "0", "2", "1", "VALUE:4C" ], [ "0", "3", "1", "VALUE:4C" ], [ "0", "X", "1", "VALUE:4C" ], [ "1", "0", "1", "VALUE:4C" ], [ "1", "1", "1", "VALUE:4C" ], [ "1", "2A", "1", "VALUE:4C" ], [ "1", "2B", "1", "VALUE:4C" ], [ "1", "2C", "1", "VALUE:4C" ], [ "1", "2", "1", "VALUE:4C" ], [ "1", "3", "1", "VALUE:4C" ], [ "1", "X", "1", "VALUE:4C" ], [ "2", "0", "1", "VALUE:4C" ], [ "2", "1", "1", "VALUE:4C" ], [ "2", "2A", "1", "VALUE:4C" ], [ "2", "2B", "1", "VALUE:4C" ], [ "2", "2C", "1", "VALUE:4C" ], [ "2", "2", "1", "VALUE:4C" ], [ "2", "3", "1", "VALUE:4C" ], [ "2", "X", "1", "VALUE:4C" ], [ "3", "0", "1", "VALUE:4C" ], [ "3", "1", "1", "VALUE:4C" ], [ "3", "2A", "1", "VALUE:4C" ], [ "3", "2B", "1", "VALUE:4C" ], [ "3", "2C", "1", "VALUE:4C" ], [ "3", "2", "1", "VALUE:4C" ], [ "3", "3", "1", "VALUE:4C" ], [ "3", "X", "1", "VALUE:4C" ], [ "4A", "0", "1", "VALUE:4C" ], [ "4A", "1", "1", "VALUE:4C" ], [ "4A", "2A", "1", "VALUE:4C" ], [ "4A", "2B", "1", "VALUE:4C" ], [ "4A", "2C", "1", "VALUE:4C" ], [ "4A", "2", "1", "VALUE:4C" ], [ "4A", "3", "1", "VALUE:4C" ], [ "4A", "X", "1", "VALUE:4C" ], [ "4B", "0", "1", "VALUE:4C" ], [ "4B", "1", "1", "VALUE:4C" ], [ "4B", "2A", "1", "VALUE:4C" ], [ "4B", "2B", "1", "VALUE:4C" ], [ "4B", "2C", "1", "VALUE:4C" ], [ "4B", "2", "1", "VALUE:4C" ], [ "4B", "3", "1", "VALUE:4C" ], [ "4B", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "2A", "1", "VALUE:4C" ], [ "4", "2B", "1", "VALUE:4C" ], [ "4", "2C", "1", "VALUE:4C" ], [ "4", "2", "1", "VALUE:4C" ], [ "4", "3", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "X", "0", "1", "VALUE:4C" ], [ "X", "1", "1", "VALUE:4C" ], [ "X", "2A", "1", "VALUE:4C" ], [ "X", "2B", "1", "VALUE:4C" ], [ "X", "2C", "1", "VALUE:4C" ], [ "X", "2", "1", "VALUE:4C" ], [ "X", "3", "1", "VALUE:4C" ], [ "X", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqd.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqd.json deleted file mode 100644 index 9dd5f9382..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqd.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm7_stage_uqd", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:00.243Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "s", - "name" : "S", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "4", "0", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "0", "0", "S0", "VALUE:1B" ], [ "4", "0", "0", "S1", "VALUE:1S" ], [ "4", "0", "0", "S2", "VALUE:1S" ], [ "4", "0", "0", "S3", "VALUE:1S" ], [ "4", "0", "0", "SX", "VALUE:1" ], [ "4", "1", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "1", "0", "S0", "VALUE:2A" ], [ "4", "1", "0", "S1", "VALUE:2A" ], [ "4", "1", "0", "S2", "VALUE:3B" ], [ "4", "1", "0", "S3", "VALUE:3C" ], [ "4", "1", "0", "SX", "VALUE:2" ], [ "4", "2", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "2", "0", "S0", "VALUE:2B" ], [ "4", "2", "0", "S1", "VALUE:2B" ], [ "4", "2", "0", "S2", "VALUE:3B" ], [ "4", "2", "0", "S3", "VALUE:3C" ], [ "4", "2", "0", "SX", "VALUE:2" ], [ "4", "3", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "3", "0", "S0", "VALUE:2C" ], [ "4", "3", "0", "S1", "VALUE:2C" ], [ "4", "3", "0", "S2", "VALUE:3B" ], [ "4", "3", "0", "S3", "VALUE:3C" ], [ "4", "3", "0", "SX", "VALUE:2" ], [ "4", "X", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "X", "0", "S0", "VALUE:99" ], [ "4", "X", "0", "S1", "VALUE:99" ], [ "4", "X", "0", "S2", "VALUE:99" ], [ "4", "X", "0", "S3", "VALUE:99" ], [ "4", "X", "0", "SX", "VALUE:99" ], [ "X", "0", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "0", "0", "S0", "VALUE:99" ], [ "X", "0", "0", "S1", "VALUE:1S" ], [ "X", "0", "0", "S2", "VALUE:1S" ], [ "X", "0", "0", "S3", "VALUE:1S" ], [ "X", "0", "0", "SX", "VALUE:99" ], [ "X", "1", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "1", "0", "S0", "VALUE:2A" ], [ "X", "1", "0", "S1", "VALUE:2A" ], [ "X", "1", "0", "S2", "VALUE:3B" ], [ "X", "1", "0", "S3", "VALUE:3C" ], [ "X", "1", "0", "SX", "VALUE:2" ], [ "X", "2", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "2", "0", "S0", "VALUE:2B" ], [ "X", "2", "0", "S1", "VALUE:2B" ], [ "X", "2", "0", "S2", "VALUE:3B" ], [ "X", "2", "0", "S3", "VALUE:3C" ], [ "X", "2", "0", "SX", "VALUE:2" ], [ "X", "3", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "3", "0", "S0", "VALUE:2C" ], [ "X", "3", "0", "S1", "VALUE:2C" ], [ "X", "3", "0", "S2", "VALUE:3B" ], [ "X", "3", "0", "S3", "VALUE:3C" ], [ "X", "3", "0", "SX", "VALUE:2" ], [ "X", "X", "0", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "X", "0", "S0", "VALUE:99" ], [ "X", "X", "0", "S1", "VALUE:99" ], [ "X", "X", "0", "S2", "VALUE:99" ], [ "X", "X", "0", "S3", "VALUE:99" ], [ "X", "X", "0", "SX", "VALUE:99" ], [ "4", "0", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "0", "1A", "S0", "VALUE:3A" ], [ "4", "0", "1A", "S1", "VALUE:3A" ], [ "4", "0", "1A", "S2", "VALUE:3B" ], [ "4", "0", "1A", "S3", "VALUE:3C" ], [ "4", "0", "1A", "SX", "VALUE:3" ], [ "4", "1", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "1", "1A", "S0", "VALUE:3A" ], [ "4", "1", "1A", "S1", "VALUE:3A" ], [ "4", "1", "1A", "S2", "VALUE:3B" ], [ "4", "1", "1A", "S3", "VALUE:3C" ], [ "4", "1", "1A", "SX", "VALUE:3" ], [ "4", "2", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "2", "1A", "S0", "VALUE:3A" ], [ "4", "2", "1A", "S1", "VALUE:3A" ], [ "4", "2", "1A", "S2", "VALUE:3B" ], [ "4", "2", "1A", "S3", "VALUE:3C" ], [ "4", "2", "1A", "SX", "VALUE:3" ], [ "4", "3", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "3", "1A", "S0", "VALUE:3A" ], [ "4", "3", "1A", "S1", "VALUE:3A" ], [ "4", "3", "1A", "S2", "VALUE:3B" ], [ "4", "3", "1A", "S3", "VALUE:3C" ], [ "4", "3", "1A", "SX", "VALUE:3" ], [ "4", "X", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "X", "1A", "S0", "VALUE:3A" ], [ "4", "X", "1A", "S1", "VALUE:3A" ], [ "4", "X", "1A", "S2", "VALUE:3B" ], [ "4", "X", "1A", "S3", "VALUE:3C" ], [ "4", "X", "1A", "SX", "VALUE:3" ], [ "X", "0", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "0", "1A", "S0", "VALUE:3A" ], [ "X", "0", "1A", "S1", "VALUE:3A" ], [ "X", "0", "1A", "S2", "VALUE:3B" ], [ "X", "0", "1A", "S3", "VALUE:3C" ], [ "X", "0", "1A", "SX", "VALUE:3" ], [ "X", "1", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "1", "1A", "S0", "VALUE:3A" ], [ "X", "1", "1A", "S1", "VALUE:3A" ], [ "X", "1", "1A", "S2", "VALUE:3B" ], [ "X", "1", "1A", "S3", "VALUE:3C" ], [ "X", "1", "1A", "SX", "VALUE:3" ], [ "X", "2", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "2", "1A", "S0", "VALUE:3A" ], [ "X", "2", "1A", "S1", "VALUE:3A" ], [ "X", "2", "1A", "S2", "VALUE:3B" ], [ "X", "2", "1A", "S3", "VALUE:3C" ], [ "X", "2", "1A", "SX", "VALUE:3" ], [ "X", "3", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "3", "1A", "S0", "VALUE:3A" ], [ "X", "3", "1A", "S1", "VALUE:3A" ], [ "X", "3", "1A", "S2", "VALUE:3B" ], [ "X", "3", "1A", "S3", "VALUE:3C" ], [ "X", "3", "1A", "SX", "VALUE:3" ], [ "X", "X", "1A", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "X", "1A", "S0", "VALUE:3A" ], [ "X", "X", "1A", "S1", "VALUE:3A" ], [ "X", "X", "1A", "S2", "VALUE:3B" ], [ "X", "X", "1A", "S3", "VALUE:3C" ], [ "X", "X", "1A", "SX", "VALUE:3" ], [ "4", "0", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "0", "1B", "S0", "VALUE:3C" ], [ "4", "0", "1B", "S1", "VALUE:3C" ], [ "4", "0", "1B", "S2", "VALUE:3C" ], [ "4", "0", "1B", "S3", "VALUE:3C" ], [ "4", "0", "1B", "SX", "VALUE:3C" ], [ "4", "1", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "1", "1B", "S0", "VALUE:3C" ], [ "4", "1", "1B", "S1", "VALUE:3C" ], [ "4", "1", "1B", "S2", "VALUE:3C" ], [ "4", "1", "1B", "S3", "VALUE:3C" ], [ "4", "1", "1B", "SX", "VALUE:3C" ], [ "4", "2", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "2", "1B", "S0", "VALUE:3C" ], [ "4", "2", "1B", "S1", "VALUE:3C" ], [ "4", "2", "1B", "S2", "VALUE:3C" ], [ "4", "2", "1B", "S3", "VALUE:3C" ], [ "4", "2", "1B", "SX", "VALUE:3C" ], [ "4", "3", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "3", "1B", "S0", "VALUE:3C" ], [ "4", "3", "1B", "S1", "VALUE:3C" ], [ "4", "3", "1B", "S2", "VALUE:3C" ], [ "4", "3", "1B", "S3", "VALUE:3C" ], [ "4", "3", "1B", "SX", "VALUE:3C" ], [ "4", "X", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "X", "1B", "S0", "VALUE:3C" ], [ "4", "X", "1B", "S1", "VALUE:3C" ], [ "4", "X", "1B", "S2", "VALUE:3C" ], [ "4", "X", "1B", "S3", "VALUE:3C" ], [ "4", "X", "1B", "SX", "VALUE:3C" ], [ "X", "0", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "0", "1B", "S0", "VALUE:3C" ], [ "X", "0", "1B", "S1", "VALUE:3C" ], [ "X", "0", "1B", "S2", "VALUE:3C" ], [ "X", "0", "1B", "S3", "VALUE:3C" ], [ "X", "0", "1B", "SX", "VALUE:3C" ], [ "X", "1", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "1", "1B", "S0", "VALUE:3C" ], [ "X", "1", "1B", "S1", "VALUE:3C" ], [ "X", "1", "1B", "S2", "VALUE:3C" ], [ "X", "1", "1B", "S3", "VALUE:3C" ], [ "X", "1", "1B", "SX", "VALUE:3C" ], [ "X", "2", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "2", "1B", "S0", "VALUE:3C" ], [ "X", "2", "1B", "S1", "VALUE:3C" ], [ "X", "2", "1B", "S2", "VALUE:3C" ], [ "X", "2", "1B", "S3", "VALUE:3C" ], [ "X", "2", "1B", "SX", "VALUE:3C" ], [ "X", "3", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "3", "1B", "S0", "VALUE:3C" ], [ "X", "3", "1B", "S1", "VALUE:3C" ], [ "X", "3", "1B", "S2", "VALUE:3C" ], [ "X", "3", "1B", "S3", "VALUE:3C" ], [ "X", "3", "1B", "SX", "VALUE:3C" ], [ "X", "X", "1B", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "X", "1B", "S0", "VALUE:3C" ], [ "X", "X", "1B", "S1", "VALUE:3C" ], [ "X", "X", "1B", "S2", "VALUE:3C" ], [ "X", "X", "1B", "S3", "VALUE:3C" ], [ "X", "X", "1B", "SX", "VALUE:3C" ], [ "4", "0", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "0", "1", "S0", "VALUE:3" ], [ "4", "0", "1", "S1", "VALUE:3" ], [ "4", "0", "1", "S2", "VALUE:3" ], [ "4", "0", "1", "S3", "VALUE:3" ], [ "4", "0", "1", "SX", "VALUE:3" ], [ "4", "1", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "1", "1", "S0", "VALUE:3" ], [ "4", "1", "1", "S1", "VALUE:3" ], [ "4", "1", "1", "S2", "VALUE:3" ], [ "4", "1", "1", "S3", "VALUE:3" ], [ "4", "1", "1", "SX", "VALUE:3" ], [ "4", "2", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "2", "1", "S0", "VALUE:3" ], [ "4", "2", "1", "S1", "VALUE:3" ], [ "4", "2", "1", "S2", "VALUE:3" ], [ "4", "2", "1", "S3", "VALUE:3" ], [ "4", "2", "1", "SX", "VALUE:3" ], [ "4", "3", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "3", "1", "S0", "VALUE:3" ], [ "4", "3", "1", "S1", "VALUE:3" ], [ "4", "3", "1", "S2", "VALUE:3" ], [ "4", "3", "1", "S3", "VALUE:3" ], [ "4", "3", "1", "SX", "VALUE:3" ], [ "4", "X", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "4", "X", "1", "S0", "VALUE:3" ], [ "4", "X", "1", "S1", "VALUE:3" ], [ "4", "X", "1", "S2", "VALUE:3" ], [ "4", "X", "1", "S3", "VALUE:3" ], [ "4", "X", "1", "SX", "VALUE:3" ], [ "X", "0", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "0", "1", "S0", "VALUE:3" ], [ "X", "0", "1", "S1", "VALUE:3" ], [ "X", "0", "1", "S2", "VALUE:3" ], [ "X", "0", "1", "S3", "VALUE:3" ], [ "X", "0", "1", "SX", "VALUE:3" ], [ "X", "1", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "1", "1", "S0", "VALUE:3" ], [ "X", "1", "1", "S1", "VALUE:3" ], [ "X", "1", "1", "S2", "VALUE:3" ], [ "X", "1", "1", "S3", "VALUE:3" ], [ "X", "1", "1", "SX", "VALUE:3" ], [ "X", "2", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "2", "1", "S0", "VALUE:3" ], [ "X", "2", "1", "S1", "VALUE:3" ], [ "X", "2", "1", "S2", "VALUE:3" ], [ "X", "2", "1", "S3", "VALUE:3" ], [ "X", "2", "1", "SX", "VALUE:3" ], [ "X", "3", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "3", "1", "S0", "VALUE:3" ], [ "X", "3", "1", "S1", "VALUE:3" ], [ "X", "3", "1", "S2", "VALUE:3" ], [ "X", "3", "1", "S3", "VALUE:3" ], [ "X", "3", "1", "SX", "VALUE:3" ], [ "X", "X", "1", "ERROR", "ERROR:S error, SSF13, SSF15, and SSF16 cannot be 988" ], [ "X", "X", "1", "S0", "VALUE:3" ], [ "X", "X", "1", "S1", "VALUE:3" ], [ "X", "X", "1", "S2", "VALUE:3" ], [ "X", "X", "1", "S3", "VALUE:3" ], [ "X", "X", "1", "SX", "VALUE:3" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqe.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqe.json deleted file mode 100644 index b450ab2df..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm7_stage_uqe.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm7_stage_uqe", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group", - "title" : "TNM 7 Stage Group", - "last_modified" : "2018-05-14T21:29:03.100Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:3B" ], [ "0", "2", "0", "VALUE:3B" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "ERROR:" ], [ "IS", "2", "0", "ERROR:" ], [ "IS", "X", "0", "VALUE:0" ], [ "1", "0", "0", "VALUE:1B" ], [ "1", "1", "0", "VALUE:3B" ], [ "1", "2", "0", "VALUE:3B" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2B" ], [ "2", "1", "0", "VALUE:3B" ], [ "2", "2", "0", "VALUE:3B" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2B" ], [ "3", "1", "0", "VALUE:3B" ], [ "3", "2", "0", "VALUE:3B" ], [ "3", "X", "0", "VALUE:99" ], [ "4", "0", "0", "VALUE:2C" ], [ "4", "1", "0", "VALUE:3B" ], [ "4", "2", "0", "VALUE:3B" ], [ "4", "X", "0", "VALUE:99" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3B" ], [ "X", "2", "0", "VALUE:3B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1A", "VALUE:4" ], [ "0", "1", "1A", "VALUE:4" ], [ "0", "2", "1A", "VALUE:4" ], [ "0", "X", "1A", "VALUE:4" ], [ "IS", "0", "1A", "ERROR:" ], [ "IS", "1", "1A", "ERROR:" ], [ "IS", "2", "1A", "ERROR:" ], [ "IS", "X", "1A", "ERROR:" ], [ "1", "0", "1A", "VALUE:4" ], [ "1", "1", "1A", "VALUE:4" ], [ "1", "2", "1A", "VALUE:4" ], [ "1", "X", "1A", "VALUE:4" ], [ "2", "0", "1A", "VALUE:4" ], [ "2", "1", "1A", "VALUE:4" ], [ "2", "2", "1A", "VALUE:4" ], [ "2", "X", "1A", "VALUE:4" ], [ "3", "0", "1A", "VALUE:4" ], [ "3", "1", "1A", "VALUE:4" ], [ "3", "2", "1A", "VALUE:4" ], [ "3", "X", "1A", "VALUE:4" ], [ "4", "0", "1A", "VALUE:4" ], [ "4", "1", "1A", "VALUE:4" ], [ "4", "2", "1A", "VALUE:4" ], [ "4", "X", "1A", "VALUE:4" ], [ "X", "0", "1A", "VALUE:4" ], [ "X", "1", "1A", "VALUE:4" ], [ "X", "2", "1A", "VALUE:4" ], [ "X", "X", "1A", "VALUE:4" ], [ "0", "0", "1B", "VALUE:4" ], [ "0", "1", "1B", "VALUE:4" ], [ "0", "2", "1B", "VALUE:4" ], [ "0", "X", "1B", "VALUE:4" ], [ "IS", "0", "1B", "ERROR:" ], [ "IS", "1", "1B", "ERROR:" ], [ "IS", "2", "1B", "ERROR:" ], [ "IS", "X", "1B", "ERROR:" ], [ "1", "0", "1B", "VALUE:4" ], [ "1", "1", "1B", "VALUE:4" ], [ "1", "2", "1B", "VALUE:4" ], [ "1", "X", "1B", "VALUE:4" ], [ "2", "0", "1B", "VALUE:4" ], [ "2", "1", "1B", "VALUE:4" ], [ "2", "2", "1B", "VALUE:4" ], [ "2", "X", "1B", "VALUE:4" ], [ "3", "0", "1B", "VALUE:4" ], [ "3", "1", "1B", "VALUE:4" ], [ "3", "2", "1B", "VALUE:4" ], [ "3", "X", "1B", "VALUE:4" ], [ "4", "0", "1B", "VALUE:4" ], [ "4", "1", "1B", "VALUE:4" ], [ "4", "2", "1B", "VALUE:4" ], [ "4", "X", "1B", "VALUE:4" ], [ "X", "0", "1B", "VALUE:4" ], [ "X", "1", "1B", "VALUE:4" ], [ "X", "2", "1B", "VALUE:4" ], [ "X", "X", "1B", "VALUE:4" ], [ "0", "0", "1C", "VALUE:4" ], [ "0", "1", "1C", "VALUE:4" ], [ "0", "2", "1C", "VALUE:4" ], [ "0", "X", "1C", "VALUE:4" ], [ "IS", "0", "1C", "ERROR:" ], [ "IS", "1", "1C", "ERROR:" ], [ "IS", "2", "1C", "ERROR:" ], [ "IS", "X", "1C", "ERROR:" ], [ "1", "0", "1C", "VALUE:4" ], [ "1", "1", "1C", "VALUE:4" ], [ "1", "2", "1C", "VALUE:4" ], [ "1", "X", "1C", "VALUE:4" ], [ "2", "0", "1C", "VALUE:4" ], [ "2", "1", "1C", "VALUE:4" ], [ "2", "2", "1C", "VALUE:4" ], [ "2", "X", "1C", "VALUE:4" ], [ "3", "0", "1C", "VALUE:4" ], [ "3", "1", "1C", "VALUE:4" ], [ "3", "2", "1C", "VALUE:4" ], [ "3", "X", "1C", "VALUE:4" ], [ "4", "0", "1C", "VALUE:4" ], [ "4", "1", "1C", "VALUE:4" ], [ "4", "2", "1C", "VALUE:4" ], [ "4", "X", "1C", "VALUE:4" ], [ "X", "0", "1C", "VALUE:4" ], [ "X", "1", "1C", "VALUE:4" ], [ "X", "2", "1C", "VALUE:4" ], [ "X", "X", "1C", "VALUE:4" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "2", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "ERROR:" ], [ "IS", "1", "1", "ERROR:" ], [ "IS", "2", "1", "ERROR:" ], [ "IS", "X", "1", "ERROR:" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "2", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "2", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "4", "0", "1", "VALUE:4" ], [ "4", "1", "1", "VALUE:4" ], [ "4", "2", "1", "VALUE:4" ], [ "4", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "2", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_12118.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_12118.json deleted file mode 100644 index f2ebdb772..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_12118.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "tnm_7_combined_stage_group_12118", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Combined Stage Group", - "title" : "TNM 7 Combined Stage Group", - "last_modified" : "2018-05-14T21:29:06.116Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "psa", - "name" : "PSA", - "type" : "INPUT" - }, { - "key" : "gleason", - "name" : "Gleason", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "001-099", "002-006", "VALUE:99" ], [ "0", "0", "0", "001-099", "007", "VALUE:99" ], [ "0", "0", "0", "001-099", "008-010", "VALUE:99" ], [ "0", "0", "0", "001-099", "988,998,999", "VALUE:99" ], [ "0", "0", "0", "100-199", "002-006", "VALUE:99" ], [ "0", "0", "0", "100-199", "007", "VALUE:99" ], [ "0", "0", "0", "100-199", "008-010", "VALUE:99" ], [ "0", "0", "0", "100-199", "988,998,999", "VALUE:99" ], [ "0", "0", "0", "200-980", "002-006", "VALUE:99" ], [ "0", "0", "0", "200-980", "007", "VALUE:99" ], [ "0", "0", "0", "200-980", "008-010", "VALUE:99" ], [ "0", "0", "0", "200-980", "988,998,999", "VALUE:99" ], [ "0", "0", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "0", "0", "0", "988,997,998,999", "007", "VALUE:99" ], [ "0", "0", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "0", "0", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "0", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "0", "1", "0", "001-099", "007", "VALUE:4" ], [ "0", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "0", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "0", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "0", "1", "0", "100-199", "007", "VALUE:4" ], [ "0", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "0", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "0", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "0", "1", "0", "200-980", "007", "VALUE:4" ], [ "0", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "0", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "0", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "0", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "0", "X", "0", "001-099", "007", "VALUE:99" ], [ "0", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "0", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "0", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "0", "X", "0", "100-199", "007", "VALUE:99" ], [ "0", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "0", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "0", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "0", "X", "0", "200-980", "007", "VALUE:99" ], [ "0", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "0", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "0", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "0", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "0", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "0", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "1A", "0", "0", "001-099", "002-006", "VALUE:1" ], [ "1A", "0", "0", "001-099", "007", "VALUE:2A" ], [ "1A", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "1A", "0", "0", "001-099", "988,998,999", "VALUE:1" ], [ "1A", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "1A", "0", "0", "100-199", "007", "VALUE:2A" ], [ "1A", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "1A", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "1A", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "1A", "0", "0", "200-980", "007", "VALUE:2B" ], [ "1A", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "1A", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "1A", "0", "0", "988,997,998,999", "002-006", "VALUE:1" ], [ "1A", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "1A", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "1A", "0", "0", "988,997,998,999", "988,998,999", "VALUE:1" ], [ "1A", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "1A", "1", "0", "001-099", "007", "VALUE:4" ], [ "1A", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "1A", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "1A", "1", "0", "100-199", "007", "VALUE:4" ], [ "1A", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "1A", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "1A", "1", "0", "200-980", "007", "VALUE:4" ], [ "1A", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "1A", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "1A", "X", "0", "001-099", "007", "VALUE:99" ], [ "1A", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "1A", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "1A", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "1A", "X", "0", "100-199", "007", "VALUE:99" ], [ "1A", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "1A", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "1A", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "1A", "X", "0", "200-980", "007", "VALUE:99" ], [ "1A", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "1A", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "1A", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "1A", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "1A", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "1A", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "1B", "0", "0", "001-099", "002-006", "VALUE:1" ], [ "1B", "0", "0", "001-099", "007", "VALUE:2A" ], [ "1B", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "1B", "0", "0", "001-099", "988,998,999", "VALUE:1" ], [ "1B", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "1B", "0", "0", "100-199", "007", "VALUE:2A" ], [ "1B", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "1B", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "1B", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "1B", "0", "0", "200-980", "007", "VALUE:2B" ], [ "1B", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "1B", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "1B", "0", "0", "988,997,998,999", "002-006", "VALUE:1" ], [ "1B", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "1B", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "1B", "0", "0", "988,997,998,999", "988,998,999", "VALUE:1" ], [ "1B", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "1B", "1", "0", "001-099", "007", "VALUE:4" ], [ "1B", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "1B", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "1B", "1", "0", "100-199", "007", "VALUE:4" ], [ "1B", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "1B", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "1B", "1", "0", "200-980", "007", "VALUE:4" ], [ "1B", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "1B", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "1B", "X", "0", "001-099", "007", "VALUE:99" ], [ "1B", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "1B", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "1B", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "1B", "X", "0", "100-199", "007", "VALUE:99" ], [ "1B", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "1B", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "1B", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "1B", "X", "0", "200-980", "007", "VALUE:99" ], [ "1B", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "1B", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "1B", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "1B", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "1B", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "1B", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "1C", "0", "0", "001-099", "002-006", "VALUE:1" ], [ "1C", "0", "0", "001-099", "007", "VALUE:2A" ], [ "1C", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "1C", "0", "0", "001-099", "988,998,999", "VALUE:1" ], [ "1C", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "1C", "0", "0", "100-199", "007", "VALUE:2A" ], [ "1C", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "1C", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "1C", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "1C", "0", "0", "200-980", "007", "VALUE:2B" ], [ "1C", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "1C", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "1C", "0", "0", "988,997,998,999", "002-006", "VALUE:1" ], [ "1C", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "1C", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "1C", "0", "0", "988,997,998,999", "988,998,999", "VALUE:1" ], [ "1C", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "1C", "1", "0", "001-099", "007", "VALUE:4" ], [ "1C", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "1C", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "1C", "1", "0", "100-199", "007", "VALUE:4" ], [ "1C", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "1C", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "1C", "1", "0", "200-980", "007", "VALUE:4" ], [ "1C", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "1C", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "1C", "X", "0", "001-099", "007", "VALUE:99" ], [ "1C", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "1C", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "1C", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "1C", "X", "0", "100-199", "007", "VALUE:99" ], [ "1C", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "1C", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "1C", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "1C", "X", "0", "200-980", "007", "VALUE:99" ], [ "1C", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "1C", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "1C", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "1C", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "1C", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "1C", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "1", "0", "0", "001-099", "002-006", "VALUE:1" ], [ "1", "0", "0", "001-099", "007", "VALUE:2A" ], [ "1", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "1", "0", "0", "001-099", "988,998,999", "VALUE:1" ], [ "1", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "1", "0", "0", "100-199", "007", "VALUE:2A" ], [ "1", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "1", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "1", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "1", "0", "0", "200-980", "007", "VALUE:2B" ], [ "1", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "1", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "1", "0", "0", "988,997,998,999", "002-006", "VALUE:1" ], [ "1", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "1", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "1", "0", "0", "988,997,998,999", "988,998,999", "VALUE:1" ], [ "1", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "1", "1", "0", "001-099", "007", "VALUE:4" ], [ "1", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "1", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "1", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "1", "1", "0", "100-199", "007", "VALUE:4" ], [ "1", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "1", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "1", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "1", "1", "0", "200-980", "007", "VALUE:4" ], [ "1", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "1", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "1", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "1", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "1", "X", "0", "001-099", "007", "VALUE:99" ], [ "1", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "1", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "1", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "1", "X", "0", "100-199", "007", "VALUE:99" ], [ "1", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "1", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "1", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "1", "X", "0", "200-980", "007", "VALUE:99" ], [ "1", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "1", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "1", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "1", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "1", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "1", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "2A", "0", "0", "001-099", "002-006", "VALUE:1" ], [ "2A", "0", "0", "001-099", "007", "VALUE:2A" ], [ "2A", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "2A", "0", "0", "001-099", "988,998,999", "VALUE:1" ], [ "2A", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "2A", "0", "0", "100-199", "007", "VALUE:2A" ], [ "2A", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "2A", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "2A", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "2A", "0", "0", "200-980", "007", "VALUE:2B" ], [ "2A", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "2A", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "2A", "0", "0", "988,997,998,999", "002-006", "VALUE:1" ], [ "2A", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "2A", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "2A", "0", "0", "988,997,998,999", "988,998,999", "VALUE:1" ], [ "2A", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "2A", "1", "0", "001-099", "007", "VALUE:4" ], [ "2A", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "2A", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "2A", "1", "0", "100-199", "007", "VALUE:4" ], [ "2A", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "2A", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "2A", "1", "0", "200-980", "007", "VALUE:4" ], [ "2A", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "2A", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "2A", "X", "0", "001-099", "007", "VALUE:99" ], [ "2A", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "2A", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "2A", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "2A", "X", "0", "100-199", "007", "VALUE:99" ], [ "2A", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "2A", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "2A", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "2A", "X", "0", "200-980", "007", "VALUE:99" ], [ "2A", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "2A", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "2A", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "2A", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "2A", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "2A", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "2B", "0", "0", "001-099", "002-006", "VALUE:2A" ], [ "2B", "0", "0", "001-099", "007", "VALUE:2A" ], [ "2B", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "2B", "0", "0", "001-099", "988,998,999", "VALUE:2A" ], [ "2B", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "2B", "0", "0", "100-199", "007", "VALUE:2A" ], [ "2B", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "2B", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "2B", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "2B", "0", "0", "200-980", "007", "VALUE:2B" ], [ "2B", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "2B", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "2B", "0", "0", "988,997,998,999", "002-006", "VALUE:2A" ], [ "2B", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "2B", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "2B", "0", "0", "988,997,998,999", "988,998,999", "VALUE:2A" ], [ "2B", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "2B", "1", "0", "001-099", "007", "VALUE:4" ], [ "2B", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "2B", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "2B", "1", "0", "100-199", "007", "VALUE:4" ], [ "2B", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "2B", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "2B", "1", "0", "200-980", "007", "VALUE:4" ], [ "2B", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "2B", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "2B", "X", "0", "001-099", "007", "VALUE:99" ], [ "2B", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "2B", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "2B", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "2B", "X", "0", "100-199", "007", "VALUE:99" ], [ "2B", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "2B", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "2B", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "2B", "X", "0", "200-980", "007", "VALUE:99" ], [ "2B", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "2B", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "2B", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "2B", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "2B", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "2B", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "2C", "0", "0", "001-099", "002-006", "VALUE:2B" ], [ "2C", "0", "0", "001-099", "007", "VALUE:2B" ], [ "2C", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "2C", "0", "0", "001-099", "988,998,999", "VALUE:2B" ], [ "2C", "0", "0", "100-199", "002-006", "VALUE:2B" ], [ "2C", "0", "0", "100-199", "007", "VALUE:2B" ], [ "2C", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "2C", "0", "0", "100-199", "988,998,999", "VALUE:2B" ], [ "2C", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "2C", "0", "0", "200-980", "007", "VALUE:2B" ], [ "2C", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "2C", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "2C", "0", "0", "988,997,998,999", "002-006", "VALUE:2B" ], [ "2C", "0", "0", "988,997,998,999", "007", "VALUE:2B" ], [ "2C", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "2C", "0", "0", "988,997,998,999", "988,998,999", "VALUE:2B" ], [ "2C", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "2C", "1", "0", "001-099", "007", "VALUE:4" ], [ "2C", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "2C", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "2C", "1", "0", "100-199", "007", "VALUE:4" ], [ "2C", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "2C", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "2C", "1", "0", "200-980", "007", "VALUE:4" ], [ "2C", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "2C", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "2C", "X", "0", "001-099", "007", "VALUE:99" ], [ "2C", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "2C", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "2C", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "2C", "X", "0", "100-199", "007", "VALUE:99" ], [ "2C", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "2C", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "2C", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "2C", "X", "0", "200-980", "007", "VALUE:99" ], [ "2C", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "2C", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "2C", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "2C", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "2C", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "2C", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "2", "0", "0", "001-099", "002-006", "VALUE:1" ], [ "2", "0", "0", "001-099", "007", "VALUE:2A" ], [ "2", "0", "0", "001-099", "008-010", "VALUE:2B" ], [ "2", "0", "0", "001-099", "988,998,999", "VALUE:1" ], [ "2", "0", "0", "100-199", "002-006", "VALUE:2A" ], [ "2", "0", "0", "100-199", "007", "VALUE:2A" ], [ "2", "0", "0", "100-199", "008-010", "VALUE:2B" ], [ "2", "0", "0", "100-199", "988,998,999", "VALUE:2A" ], [ "2", "0", "0", "200-980", "002-006", "VALUE:2B" ], [ "2", "0", "0", "200-980", "007", "VALUE:2B" ], [ "2", "0", "0", "200-980", "008-010", "VALUE:2B" ], [ "2", "0", "0", "200-980", "988,998,999", "VALUE:2B" ], [ "2", "0", "0", "988,997,998,999", "002-006", "VALUE:1" ], [ "2", "0", "0", "988,997,998,999", "007", "VALUE:2A" ], [ "2", "0", "0", "988,997,998,999", "008-010", "VALUE:2B" ], [ "2", "0", "0", "988,997,998,999", "988,998,999", "VALUE:1" ], [ "2", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "2", "1", "0", "001-099", "007", "VALUE:4" ], [ "2", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "2", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "2", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "2", "1", "0", "100-199", "007", "VALUE:4" ], [ "2", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "2", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "2", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "2", "1", "0", "200-980", "007", "VALUE:4" ], [ "2", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "2", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "2", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "2", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "2", "X", "0", "001-099", "007", "VALUE:99" ], [ "2", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "2", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "2", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "2", "X", "0", "100-199", "007", "VALUE:99" ], [ "2", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "2", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "2", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "2", "X", "0", "200-980", "007", "VALUE:99" ], [ "2", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "2", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "2", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "2", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "2", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "2", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "3A", "0", "0", "001-099", "002-006", "VALUE:3" ], [ "3A", "0", "0", "001-099", "007", "VALUE:3" ], [ "3A", "0", "0", "001-099", "008-010", "VALUE:3" ], [ "3A", "0", "0", "001-099", "988,998,999", "VALUE:3" ], [ "3A", "0", "0", "100-199", "002-006", "VALUE:3" ], [ "3A", "0", "0", "100-199", "007", "VALUE:3" ], [ "3A", "0", "0", "100-199", "008-010", "VALUE:3" ], [ "3A", "0", "0", "100-199", "988,998,999", "VALUE:3" ], [ "3A", "0", "0", "200-980", "002-006", "VALUE:3" ], [ "3A", "0", "0", "200-980", "007", "VALUE:3" ], [ "3A", "0", "0", "200-980", "008-010", "VALUE:3" ], [ "3A", "0", "0", "200-980", "988,998,999", "VALUE:3" ], [ "3A", "0", "0", "988,997,998,999", "002-006", "VALUE:3" ], [ "3A", "0", "0", "988,997,998,999", "007", "VALUE:3" ], [ "3A", "0", "0", "988,997,998,999", "008-010", "VALUE:3" ], [ "3A", "0", "0", "988,997,998,999", "988,998,999", "VALUE:3" ], [ "3A", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "3A", "1", "0", "001-099", "007", "VALUE:4" ], [ "3A", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "3A", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "3A", "1", "0", "100-199", "007", "VALUE:4" ], [ "3A", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "3A", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "3A", "1", "0", "200-980", "007", "VALUE:4" ], [ "3A", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "3A", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "3A", "X", "0", "001-099", "007", "VALUE:99" ], [ "3A", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "3A", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "3A", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "3A", "X", "0", "100-199", "007", "VALUE:99" ], [ "3A", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "3A", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "3A", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "3A", "X", "0", "200-980", "007", "VALUE:99" ], [ "3A", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "3A", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "3A", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "3A", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "3A", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "3A", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "3B", "0", "0", "001-099", "002-006", "VALUE:3" ], [ "3B", "0", "0", "001-099", "007", "VALUE:3" ], [ "3B", "0", "0", "001-099", "008-010", "VALUE:3" ], [ "3B", "0", "0", "001-099", "988,998,999", "VALUE:3" ], [ "3B", "0", "0", "100-199", "002-006", "VALUE:3" ], [ "3B", "0", "0", "100-199", "007", "VALUE:3" ], [ "3B", "0", "0", "100-199", "008-010", "VALUE:3" ], [ "3B", "0", "0", "100-199", "988,998,999", "VALUE:3" ], [ "3B", "0", "0", "200-980", "002-006", "VALUE:3" ], [ "3B", "0", "0", "200-980", "007", "VALUE:3" ], [ "3B", "0", "0", "200-980", "008-010", "VALUE:3" ], [ "3B", "0", "0", "200-980", "988,998,999", "VALUE:3" ], [ "3B", "0", "0", "988,997,998,999", "002-006", "VALUE:3" ], [ "3B", "0", "0", "988,997,998,999", "007", "VALUE:3" ], [ "3B", "0", "0", "988,997,998,999", "008-010", "VALUE:3" ], [ "3B", "0", "0", "988,997,998,999", "988,998,999", "VALUE:3" ], [ "3B", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "3B", "1", "0", "001-099", "007", "VALUE:4" ], [ "3B", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "3B", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "3B", "1", "0", "100-199", "007", "VALUE:4" ], [ "3B", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "3B", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "3B", "1", "0", "200-980", "007", "VALUE:4" ], [ "3B", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "3B", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "3B", "X", "0", "001-099", "007", "VALUE:99" ], [ "3B", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "3B", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "3B", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "3B", "X", "0", "100-199", "007", "VALUE:99" ], [ "3B", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "3B", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "3B", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "3B", "X", "0", "200-980", "007", "VALUE:99" ], [ "3B", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "3B", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "3B", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "3B", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "3B", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "3B", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "3", "0", "0", "001-099", "002-006", "VALUE:3" ], [ "3", "0", "0", "001-099", "007", "VALUE:3" ], [ "3", "0", "0", "001-099", "008-010", "VALUE:3" ], [ "3", "0", "0", "001-099", "988,998,999", "VALUE:3" ], [ "3", "0", "0", "100-199", "002-006", "VALUE:3" ], [ "3", "0", "0", "100-199", "007", "VALUE:3" ], [ "3", "0", "0", "100-199", "008-010", "VALUE:3" ], [ "3", "0", "0", "100-199", "988,998,999", "VALUE:3" ], [ "3", "0", "0", "200-980", "002-006", "VALUE:3" ], [ "3", "0", "0", "200-980", "007", "VALUE:3" ], [ "3", "0", "0", "200-980", "008-010", "VALUE:3" ], [ "3", "0", "0", "200-980", "988,998,999", "VALUE:3" ], [ "3", "0", "0", "988,997,998,999", "002-006", "VALUE:3" ], [ "3", "0", "0", "988,997,998,999", "007", "VALUE:3" ], [ "3", "0", "0", "988,997,998,999", "008-010", "VALUE:3" ], [ "3", "0", "0", "988,997,998,999", "988,998,999", "VALUE:3" ], [ "3", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "3", "1", "0", "001-099", "007", "VALUE:4" ], [ "3", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "3", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "3", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "3", "1", "0", "100-199", "007", "VALUE:4" ], [ "3", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "3", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "3", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "3", "1", "0", "200-980", "007", "VALUE:4" ], [ "3", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "3", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "3", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "3", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "3", "X", "0", "001-099", "007", "VALUE:99" ], [ "3", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "3", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "3", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "3", "X", "0", "100-199", "007", "VALUE:99" ], [ "3", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "3", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "3", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "3", "X", "0", "200-980", "007", "VALUE:99" ], [ "3", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "3", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "3", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "3", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "3", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "3", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "4", "0", "0", "001-099", "002-006", "VALUE:4" ], [ "4", "0", "0", "001-099", "007", "VALUE:4" ], [ "4", "0", "0", "001-099", "008-010", "VALUE:4" ], [ "4", "0", "0", "001-099", "988,998,999", "VALUE:4" ], [ "4", "0", "0", "100-199", "002-006", "VALUE:4" ], [ "4", "0", "0", "100-199", "007", "VALUE:4" ], [ "4", "0", "0", "100-199", "008-010", "VALUE:4" ], [ "4", "0", "0", "100-199", "988,998,999", "VALUE:4" ], [ "4", "0", "0", "200-980", "002-006", "VALUE:4" ], [ "4", "0", "0", "200-980", "007", "VALUE:4" ], [ "4", "0", "0", "200-980", "008-010", "VALUE:4" ], [ "4", "0", "0", "200-980", "988,998,999", "VALUE:4" ], [ "4", "0", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "0", "0", "988,997,998,999", "007", "VALUE:4" ], [ "4", "0", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "0", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "4", "1", "0", "001-099", "007", "VALUE:4" ], [ "4", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "4", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "4", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "4", "1", "0", "100-199", "007", "VALUE:4" ], [ "4", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "4", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "4", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "4", "1", "0", "200-980", "007", "VALUE:4" ], [ "4", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "4", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "4", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "4", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "X", "0", "001-099", "002-006", "VALUE:4" ], [ "4", "X", "0", "001-099", "007", "VALUE:4" ], [ "4", "X", "0", "001-099", "008-010", "VALUE:4" ], [ "4", "X", "0", "001-099", "988,998,999", "VALUE:4" ], [ "4", "X", "0", "100-199", "002-006", "VALUE:4" ], [ "4", "X", "0", "100-199", "007", "VALUE:4" ], [ "4", "X", "0", "100-199", "008-010", "VALUE:4" ], [ "4", "X", "0", "100-199", "988,998,999", "VALUE:4" ], [ "4", "X", "0", "200-980", "002-006", "VALUE:4" ], [ "4", "X", "0", "200-980", "007", "VALUE:4" ], [ "4", "X", "0", "200-980", "008-010", "VALUE:4" ], [ "4", "X", "0", "200-980", "988,998,999", "VALUE:4" ], [ "4", "X", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "X", "0", "988,997,998,999", "007", "VALUE:4" ], [ "4", "X", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "X", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "0", "0", "001-099", "002-006", "VALUE:99" ], [ "X", "0", "0", "001-099", "007", "VALUE:99" ], [ "X", "0", "0", "001-099", "008-010", "VALUE:99" ], [ "X", "0", "0", "001-099", "988,998,999", "VALUE:99" ], [ "X", "0", "0", "100-199", "002-006", "VALUE:99" ], [ "X", "0", "0", "100-199", "007", "VALUE:99" ], [ "X", "0", "0", "100-199", "008-010", "VALUE:99" ], [ "X", "0", "0", "100-199", "988,998,999", "VALUE:99" ], [ "X", "0", "0", "200-980", "002-006", "VALUE:99" ], [ "X", "0", "0", "200-980", "007", "VALUE:99" ], [ "X", "0", "0", "200-980", "008-010", "VALUE:99" ], [ "X", "0", "0", "200-980", "988,998,999", "VALUE:99" ], [ "X", "0", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "X", "0", "0", "988,997,998,999", "007", "VALUE:99" ], [ "X", "0", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "X", "0", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "X", "1", "0", "001-099", "002-006", "VALUE:4" ], [ "X", "1", "0", "001-099", "007", "VALUE:4" ], [ "X", "1", "0", "001-099", "008-010", "VALUE:4" ], [ "X", "1", "0", "001-099", "988,998,999", "VALUE:4" ], [ "X", "1", "0", "100-199", "002-006", "VALUE:4" ], [ "X", "1", "0", "100-199", "007", "VALUE:4" ], [ "X", "1", "0", "100-199", "008-010", "VALUE:4" ], [ "X", "1", "0", "100-199", "988,998,999", "VALUE:4" ], [ "X", "1", "0", "200-980", "002-006", "VALUE:4" ], [ "X", "1", "0", "200-980", "007", "VALUE:4" ], [ "X", "1", "0", "200-980", "008-010", "VALUE:4" ], [ "X", "1", "0", "200-980", "988,998,999", "VALUE:4" ], [ "X", "1", "0", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "1", "0", "988,997,998,999", "007", "VALUE:4" ], [ "X", "1", "0", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "1", "0", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "X", "0", "001-099", "002-006", "VALUE:99" ], [ "X", "X", "0", "001-099", "007", "VALUE:99" ], [ "X", "X", "0", "001-099", "008-010", "VALUE:99" ], [ "X", "X", "0", "001-099", "988,998,999", "VALUE:99" ], [ "X", "X", "0", "100-199", "002-006", "VALUE:99" ], [ "X", "X", "0", "100-199", "007", "VALUE:99" ], [ "X", "X", "0", "100-199", "008-010", "VALUE:99" ], [ "X", "X", "0", "100-199", "988,998,999", "VALUE:99" ], [ "X", "X", "0", "200-980", "002-006", "VALUE:99" ], [ "X", "X", "0", "200-980", "007", "VALUE:99" ], [ "X", "X", "0", "200-980", "008-010", "VALUE:99" ], [ "X", "X", "0", "200-980", "988,998,999", "VALUE:99" ], [ "X", "X", "0", "988,997,998,999", "002-006", "VALUE:99" ], [ "X", "X", "0", "988,997,998,999", "007", "VALUE:99" ], [ "X", "X", "0", "988,997,998,999", "008-010", "VALUE:99" ], [ "X", "X", "0", "988,997,998,999", "988,998,999", "VALUE:99" ], [ "0", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "0", "0", "1A", "001-099", "007", "VALUE:4" ], [ "0", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "0", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "0", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "0", "0", "1A", "100-199", "007", "VALUE:4" ], [ "0", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "0", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "0", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "0", "0", "1A", "200-980", "007", "VALUE:4" ], [ "0", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "0", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "0", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "0", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "0", "1", "1A", "001-099", "007", "VALUE:4" ], [ "0", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "0", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "0", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "0", "1", "1A", "100-199", "007", "VALUE:4" ], [ "0", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "0", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "0", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "0", "1", "1A", "200-980", "007", "VALUE:4" ], [ "0", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "0", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "0", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "0", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "0", "X", "1A", "001-099", "007", "VALUE:4" ], [ "0", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "0", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "0", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "0", "X", "1A", "100-199", "007", "VALUE:4" ], [ "0", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "0", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "0", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "0", "X", "1A", "200-980", "007", "VALUE:4" ], [ "0", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "0", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "0", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "0", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "1A", "0", "1A", "001-099", "007", "VALUE:4" ], [ "1A", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "1A", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "1A", "0", "1A", "100-199", "007", "VALUE:4" ], [ "1A", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "1A", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "1A", "0", "1A", "200-980", "007", "VALUE:4" ], [ "1A", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "1A", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "1A", "1", "1A", "001-099", "007", "VALUE:4" ], [ "1A", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "1A", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "1A", "1", "1A", "100-199", "007", "VALUE:4" ], [ "1A", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "1A", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "1A", "1", "1A", "200-980", "007", "VALUE:4" ], [ "1A", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "1A", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "1A", "X", "1A", "001-099", "007", "VALUE:4" ], [ "1A", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "1A", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "1A", "X", "1A", "100-199", "007", "VALUE:4" ], [ "1A", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "1A", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "1A", "X", "1A", "200-980", "007", "VALUE:4" ], [ "1A", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "1A", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "1B", "0", "1A", "001-099", "007", "VALUE:4" ], [ "1B", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "1B", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "1B", "0", "1A", "100-199", "007", "VALUE:4" ], [ "1B", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "1B", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "1B", "0", "1A", "200-980", "007", "VALUE:4" ], [ "1B", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "1B", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "1B", "1", "1A", "001-099", "007", "VALUE:4" ], [ "1B", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "1B", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "1B", "1", "1A", "100-199", "007", "VALUE:4" ], [ "1B", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "1B", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "1B", "1", "1A", "200-980", "007", "VALUE:4" ], [ "1B", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "1B", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "1B", "X", "1A", "001-099", "007", "VALUE:4" ], [ "1B", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "1B", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "1B", "X", "1A", "100-199", "007", "VALUE:4" ], [ "1B", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "1B", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "1B", "X", "1A", "200-980", "007", "VALUE:4" ], [ "1B", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "1B", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "1C", "0", "1A", "001-099", "007", "VALUE:4" ], [ "1C", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "1C", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "1C", "0", "1A", "100-199", "007", "VALUE:4" ], [ "1C", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "1C", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "1C", "0", "1A", "200-980", "007", "VALUE:4" ], [ "1C", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "1C", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "1C", "1", "1A", "001-099", "007", "VALUE:4" ], [ "1C", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "1C", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "1C", "1", "1A", "100-199", "007", "VALUE:4" ], [ "1C", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "1C", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "1C", "1", "1A", "200-980", "007", "VALUE:4" ], [ "1C", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "1C", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "1C", "X", "1A", "001-099", "007", "VALUE:4" ], [ "1C", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "1C", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "1C", "X", "1A", "100-199", "007", "VALUE:4" ], [ "1C", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "1C", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "1C", "X", "1A", "200-980", "007", "VALUE:4" ], [ "1C", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "1C", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "1", "0", "1A", "001-099", "007", "VALUE:4" ], [ "1", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "1", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "1", "0", "1A", "100-199", "007", "VALUE:4" ], [ "1", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "1", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "1", "0", "1A", "200-980", "007", "VALUE:4" ], [ "1", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "1", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "1", "1", "1A", "001-099", "007", "VALUE:4" ], [ "1", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "1", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "1", "1", "1A", "100-199", "007", "VALUE:4" ], [ "1", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "1", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "1", "1", "1A", "200-980", "007", "VALUE:4" ], [ "1", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "1", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "1", "X", "1A", "001-099", "007", "VALUE:4" ], [ "1", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "1", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "1", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "1", "X", "1A", "100-199", "007", "VALUE:4" ], [ "1", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "1", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "1", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "1", "X", "1A", "200-980", "007", "VALUE:4" ], [ "1", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "1", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "1", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "1", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "2A", "0", "1A", "001-099", "007", "VALUE:4" ], [ "2A", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "2A", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "2A", "0", "1A", "100-199", "007", "VALUE:4" ], [ "2A", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "2A", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "2A", "0", "1A", "200-980", "007", "VALUE:4" ], [ "2A", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "2A", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "2A", "1", "1A", "001-099", "007", "VALUE:4" ], [ "2A", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "2A", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "2A", "1", "1A", "100-199", "007", "VALUE:4" ], [ "2A", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "2A", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "2A", "1", "1A", "200-980", "007", "VALUE:4" ], [ "2A", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "2A", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "2A", "X", "1A", "001-099", "007", "VALUE:4" ], [ "2A", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "2A", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "2A", "X", "1A", "100-199", "007", "VALUE:4" ], [ "2A", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "2A", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "2A", "X", "1A", "200-980", "007", "VALUE:4" ], [ "2A", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "2A", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "2B", "0", "1A", "001-099", "007", "VALUE:4" ], [ "2B", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "2B", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "2B", "0", "1A", "100-199", "007", "VALUE:4" ], [ "2B", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "2B", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "2B", "0", "1A", "200-980", "007", "VALUE:4" ], [ "2B", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "2B", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "2B", "1", "1A", "001-099", "007", "VALUE:4" ], [ "2B", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "2B", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "2B", "1", "1A", "100-199", "007", "VALUE:4" ], [ "2B", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "2B", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "2B", "1", "1A", "200-980", "007", "VALUE:4" ], [ "2B", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "2B", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "2B", "X", "1A", "001-099", "007", "VALUE:4" ], [ "2B", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "2B", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "2B", "X", "1A", "100-199", "007", "VALUE:4" ], [ "2B", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "2B", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "2B", "X", "1A", "200-980", "007", "VALUE:4" ], [ "2B", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "2B", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "2C", "0", "1A", "001-099", "007", "VALUE:4" ], [ "2C", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "2C", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "2C", "0", "1A", "100-199", "007", "VALUE:4" ], [ "2C", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "2C", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "2C", "0", "1A", "200-980", "007", "VALUE:4" ], [ "2C", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "2C", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "2C", "1", "1A", "001-099", "007", "VALUE:4" ], [ "2C", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "2C", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "2C", "1", "1A", "100-199", "007", "VALUE:4" ], [ "2C", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "2C", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "2C", "1", "1A", "200-980", "007", "VALUE:4" ], [ "2C", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "2C", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "2C", "X", "1A", "001-099", "007", "VALUE:4" ], [ "2C", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "2C", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "2C", "X", "1A", "100-199", "007", "VALUE:4" ], [ "2C", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "2C", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "2C", "X", "1A", "200-980", "007", "VALUE:4" ], [ "2C", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "2C", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "2", "0", "1A", "001-099", "007", "VALUE:4" ], [ "2", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "2", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "2", "0", "1A", "100-199", "007", "VALUE:4" ], [ "2", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "2", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "2", "0", "1A", "200-980", "007", "VALUE:4" ], [ "2", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "2", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "2", "1", "1A", "001-099", "007", "VALUE:4" ], [ "2", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "2", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "2", "1", "1A", "100-199", "007", "VALUE:4" ], [ "2", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "2", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "2", "1", "1A", "200-980", "007", "VALUE:4" ], [ "2", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "2", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "2", "X", "1A", "001-099", "007", "VALUE:4" ], [ "2", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "2", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "2", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "2", "X", "1A", "100-199", "007", "VALUE:4" ], [ "2", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "2", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "2", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "2", "X", "1A", "200-980", "007", "VALUE:4" ], [ "2", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "2", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "2", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "2", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "3A", "0", "1A", "001-099", "007", "VALUE:4" ], [ "3A", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "3A", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "3A", "0", "1A", "100-199", "007", "VALUE:4" ], [ "3A", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "3A", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "3A", "0", "1A", "200-980", "007", "VALUE:4" ], [ "3A", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "3A", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "3A", "1", "1A", "001-099", "007", "VALUE:4" ], [ "3A", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "3A", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "3A", "1", "1A", "100-199", "007", "VALUE:4" ], [ "3A", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "3A", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "3A", "1", "1A", "200-980", "007", "VALUE:4" ], [ "3A", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "3A", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "3A", "X", "1A", "001-099", "007", "VALUE:4" ], [ "3A", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "3A", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "3A", "X", "1A", "100-199", "007", "VALUE:4" ], [ "3A", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "3A", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "3A", "X", "1A", "200-980", "007", "VALUE:4" ], [ "3A", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "3A", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "3B", "0", "1A", "001-099", "007", "VALUE:4" ], [ "3B", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "3B", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "3B", "0", "1A", "100-199", "007", "VALUE:4" ], [ "3B", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "3B", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "3B", "0", "1A", "200-980", "007", "VALUE:4" ], [ "3B", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "3B", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "3B", "1", "1A", "001-099", "007", "VALUE:4" ], [ "3B", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "3B", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "3B", "1", "1A", "100-199", "007", "VALUE:4" ], [ "3B", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "3B", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "3B", "1", "1A", "200-980", "007", "VALUE:4" ], [ "3B", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "3B", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "3B", "X", "1A", "001-099", "007", "VALUE:4" ], [ "3B", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "3B", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "3B", "X", "1A", "100-199", "007", "VALUE:4" ], [ "3B", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "3B", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "3B", "X", "1A", "200-980", "007", "VALUE:4" ], [ "3B", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "3B", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "3", "0", "1A", "001-099", "007", "VALUE:4" ], [ "3", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "3", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "3", "0", "1A", "100-199", "007", "VALUE:4" ], [ "3", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "3", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "3", "0", "1A", "200-980", "007", "VALUE:4" ], [ "3", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "3", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "3", "1", "1A", "001-099", "007", "VALUE:4" ], [ "3", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "3", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "3", "1", "1A", "100-199", "007", "VALUE:4" ], [ "3", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "3", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "3", "1", "1A", "200-980", "007", "VALUE:4" ], [ "3", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "3", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "3", "X", "1A", "001-099", "007", "VALUE:4" ], [ "3", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "3", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "3", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "3", "X", "1A", "100-199", "007", "VALUE:4" ], [ "3", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "3", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "3", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "3", "X", "1A", "200-980", "007", "VALUE:4" ], [ "3", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "3", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "3", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "3", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "4", "0", "1A", "001-099", "007", "VALUE:4" ], [ "4", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "4", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "4", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "4", "0", "1A", "100-199", "007", "VALUE:4" ], [ "4", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "4", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "4", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "4", "0", "1A", "200-980", "007", "VALUE:4" ], [ "4", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "4", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "4", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "4", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "4", "1", "1A", "001-099", "007", "VALUE:4" ], [ "4", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "4", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "4", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "4", "1", "1A", "100-199", "007", "VALUE:4" ], [ "4", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "4", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "4", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "4", "1", "1A", "200-980", "007", "VALUE:4" ], [ "4", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "4", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "4", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "4", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "4", "X", "1A", "001-099", "007", "VALUE:4" ], [ "4", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "4", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "4", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "4", "X", "1A", "100-199", "007", "VALUE:4" ], [ "4", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "4", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "4", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "4", "X", "1A", "200-980", "007", "VALUE:4" ], [ "4", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "4", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "4", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "4", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "0", "1A", "001-099", "002-006", "VALUE:4" ], [ "X", "0", "1A", "001-099", "007", "VALUE:4" ], [ "X", "0", "1A", "001-099", "008-010", "VALUE:4" ], [ "X", "0", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "X", "0", "1A", "100-199", "002-006", "VALUE:4" ], [ "X", "0", "1A", "100-199", "007", "VALUE:4" ], [ "X", "0", "1A", "100-199", "008-010", "VALUE:4" ], [ "X", "0", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "X", "0", "1A", "200-980", "002-006", "VALUE:4" ], [ "X", "0", "1A", "200-980", "007", "VALUE:4" ], [ "X", "0", "1A", "200-980", "008-010", "VALUE:4" ], [ "X", "0", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "X", "0", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "0", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "X", "0", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "0", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "1", "1A", "001-099", "002-006", "VALUE:4" ], [ "X", "1", "1A", "001-099", "007", "VALUE:4" ], [ "X", "1", "1A", "001-099", "008-010", "VALUE:4" ], [ "X", "1", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "X", "1", "1A", "100-199", "002-006", "VALUE:4" ], [ "X", "1", "1A", "100-199", "007", "VALUE:4" ], [ "X", "1", "1A", "100-199", "008-010", "VALUE:4" ], [ "X", "1", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "X", "1", "1A", "200-980", "002-006", "VALUE:4" ], [ "X", "1", "1A", "200-980", "007", "VALUE:4" ], [ "X", "1", "1A", "200-980", "008-010", "VALUE:4" ], [ "X", "1", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "X", "1", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "1", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "X", "1", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "1", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "X", "1A", "001-099", "002-006", "VALUE:4" ], [ "X", "X", "1A", "001-099", "007", "VALUE:4" ], [ "X", "X", "1A", "001-099", "008-010", "VALUE:4" ], [ "X", "X", "1A", "001-099", "988,998,999", "VALUE:4" ], [ "X", "X", "1A", "100-199", "002-006", "VALUE:4" ], [ "X", "X", "1A", "100-199", "007", "VALUE:4" ], [ "X", "X", "1A", "100-199", "008-010", "VALUE:4" ], [ "X", "X", "1A", "100-199", "988,998,999", "VALUE:4" ], [ "X", "X", "1A", "200-980", "002-006", "VALUE:4" ], [ "X", "X", "1A", "200-980", "007", "VALUE:4" ], [ "X", "X", "1A", "200-980", "008-010", "VALUE:4" ], [ "X", "X", "1A", "200-980", "988,998,999", "VALUE:4" ], [ "X", "X", "1A", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "X", "1A", "988,997,998,999", "007", "VALUE:4" ], [ "X", "X", "1A", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "X", "1A", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "0", "0", "1B", "001-099", "007", "VALUE:4" ], [ "0", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "0", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "0", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "0", "0", "1B", "100-199", "007", "VALUE:4" ], [ "0", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "0", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "0", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "0", "0", "1B", "200-980", "007", "VALUE:4" ], [ "0", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "0", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "0", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "0", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "0", "1", "1B", "001-099", "007", "VALUE:4" ], [ "0", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "0", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "0", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "0", "1", "1B", "100-199", "007", "VALUE:4" ], [ "0", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "0", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "0", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "0", "1", "1B", "200-980", "007", "VALUE:4" ], [ "0", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "0", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "0", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "0", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "0", "X", "1B", "001-099", "007", "VALUE:4" ], [ "0", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "0", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "0", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "0", "X", "1B", "100-199", "007", "VALUE:4" ], [ "0", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "0", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "0", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "0", "X", "1B", "200-980", "007", "VALUE:4" ], [ "0", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "0", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "0", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "0", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "1A", "0", "1B", "001-099", "007", "VALUE:4" ], [ "1A", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "1A", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "1A", "0", "1B", "100-199", "007", "VALUE:4" ], [ "1A", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "1A", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "1A", "0", "1B", "200-980", "007", "VALUE:4" ], [ "1A", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "1A", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "1A", "1", "1B", "001-099", "007", "VALUE:4" ], [ "1A", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "1A", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "1A", "1", "1B", "100-199", "007", "VALUE:4" ], [ "1A", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "1A", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "1A", "1", "1B", "200-980", "007", "VALUE:4" ], [ "1A", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "1A", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "1A", "X", "1B", "001-099", "007", "VALUE:4" ], [ "1A", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "1A", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "1A", "X", "1B", "100-199", "007", "VALUE:4" ], [ "1A", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "1A", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "1A", "X", "1B", "200-980", "007", "VALUE:4" ], [ "1A", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "1A", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "1B", "0", "1B", "001-099", "007", "VALUE:4" ], [ "1B", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "1B", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "1B", "0", "1B", "100-199", "007", "VALUE:4" ], [ "1B", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "1B", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "1B", "0", "1B", "200-980", "007", "VALUE:4" ], [ "1B", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "1B", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "1B", "1", "1B", "001-099", "007", "VALUE:4" ], [ "1B", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "1B", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "1B", "1", "1B", "100-199", "007", "VALUE:4" ], [ "1B", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "1B", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "1B", "1", "1B", "200-980", "007", "VALUE:4" ], [ "1B", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "1B", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "1B", "X", "1B", "001-099", "007", "VALUE:4" ], [ "1B", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "1B", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "1B", "X", "1B", "100-199", "007", "VALUE:4" ], [ "1B", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "1B", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "1B", "X", "1B", "200-980", "007", "VALUE:4" ], [ "1B", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "1B", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "1C", "0", "1B", "001-099", "007", "VALUE:4" ], [ "1C", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "1C", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "1C", "0", "1B", "100-199", "007", "VALUE:4" ], [ "1C", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "1C", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "1C", "0", "1B", "200-980", "007", "VALUE:4" ], [ "1C", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "1C", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "1C", "1", "1B", "001-099", "007", "VALUE:4" ], [ "1C", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "1C", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "1C", "1", "1B", "100-199", "007", "VALUE:4" ], [ "1C", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "1C", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "1C", "1", "1B", "200-980", "007", "VALUE:4" ], [ "1C", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "1C", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "1C", "X", "1B", "001-099", "007", "VALUE:4" ], [ "1C", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "1C", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "1C", "X", "1B", "100-199", "007", "VALUE:4" ], [ "1C", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "1C", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "1C", "X", "1B", "200-980", "007", "VALUE:4" ], [ "1C", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "1C", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "1", "0", "1B", "001-099", "007", "VALUE:4" ], [ "1", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "1", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "1", "0", "1B", "100-199", "007", "VALUE:4" ], [ "1", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "1", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "1", "0", "1B", "200-980", "007", "VALUE:4" ], [ "1", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "1", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "1", "1", "1B", "001-099", "007", "VALUE:4" ], [ "1", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "1", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "1", "1", "1B", "100-199", "007", "VALUE:4" ], [ "1", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "1", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "1", "1", "1B", "200-980", "007", "VALUE:4" ], [ "1", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "1", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "1", "X", "1B", "001-099", "007", "VALUE:4" ], [ "1", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "1", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "1", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "1", "X", "1B", "100-199", "007", "VALUE:4" ], [ "1", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "1", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "1", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "1", "X", "1B", "200-980", "007", "VALUE:4" ], [ "1", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "1", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "1", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "1", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "2A", "0", "1B", "001-099", "007", "VALUE:4" ], [ "2A", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "2A", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "2A", "0", "1B", "100-199", "007", "VALUE:4" ], [ "2A", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "2A", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "2A", "0", "1B", "200-980", "007", "VALUE:4" ], [ "2A", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "2A", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "2A", "1", "1B", "001-099", "007", "VALUE:4" ], [ "2A", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "2A", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "2A", "1", "1B", "100-199", "007", "VALUE:4" ], [ "2A", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "2A", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "2A", "1", "1B", "200-980", "007", "VALUE:4" ], [ "2A", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "2A", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "2A", "X", "1B", "001-099", "007", "VALUE:4" ], [ "2A", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "2A", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "2A", "X", "1B", "100-199", "007", "VALUE:4" ], [ "2A", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "2A", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "2A", "X", "1B", "200-980", "007", "VALUE:4" ], [ "2A", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "2A", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "2B", "0", "1B", "001-099", "007", "VALUE:4" ], [ "2B", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "2B", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "2B", "0", "1B", "100-199", "007", "VALUE:4" ], [ "2B", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "2B", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "2B", "0", "1B", "200-980", "007", "VALUE:4" ], [ "2B", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "2B", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "2B", "1", "1B", "001-099", "007", "VALUE:4" ], [ "2B", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "2B", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "2B", "1", "1B", "100-199", "007", "VALUE:4" ], [ "2B", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "2B", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "2B", "1", "1B", "200-980", "007", "VALUE:4" ], [ "2B", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "2B", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "2B", "X", "1B", "001-099", "007", "VALUE:4" ], [ "2B", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "2B", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "2B", "X", "1B", "100-199", "007", "VALUE:4" ], [ "2B", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "2B", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "2B", "X", "1B", "200-980", "007", "VALUE:4" ], [ "2B", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "2B", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "2C", "0", "1B", "001-099", "007", "VALUE:4" ], [ "2C", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "2C", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "2C", "0", "1B", "100-199", "007", "VALUE:4" ], [ "2C", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "2C", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "2C", "0", "1B", "200-980", "007", "VALUE:4" ], [ "2C", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "2C", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "2C", "1", "1B", "001-099", "007", "VALUE:4" ], [ "2C", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "2C", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "2C", "1", "1B", "100-199", "007", "VALUE:4" ], [ "2C", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "2C", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "2C", "1", "1B", "200-980", "007", "VALUE:4" ], [ "2C", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "2C", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "2C", "X", "1B", "001-099", "007", "VALUE:4" ], [ "2C", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "2C", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "2C", "X", "1B", "100-199", "007", "VALUE:4" ], [ "2C", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "2C", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "2C", "X", "1B", "200-980", "007", "VALUE:4" ], [ "2C", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "2C", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "2", "0", "1B", "001-099", "007", "VALUE:4" ], [ "2", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "2", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "2", "0", "1B", "100-199", "007", "VALUE:4" ], [ "2", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "2", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "2", "0", "1B", "200-980", "007", "VALUE:4" ], [ "2", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "2", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "2", "1", "1B", "001-099", "007", "VALUE:4" ], [ "2", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "2", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "2", "1", "1B", "100-199", "007", "VALUE:4" ], [ "2", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "2", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "2", "1", "1B", "200-980", "007", "VALUE:4" ], [ "2", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "2", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "2", "X", "1B", "001-099", "007", "VALUE:4" ], [ "2", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "2", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "2", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "2", "X", "1B", "100-199", "007", "VALUE:4" ], [ "2", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "2", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "2", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "2", "X", "1B", "200-980", "007", "VALUE:4" ], [ "2", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "2", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "2", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "2", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "3A", "0", "1B", "001-099", "007", "VALUE:4" ], [ "3A", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "3A", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "3A", "0", "1B", "100-199", "007", "VALUE:4" ], [ "3A", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "3A", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "3A", "0", "1B", "200-980", "007", "VALUE:4" ], [ "3A", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "3A", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "3A", "1", "1B", "001-099", "007", "VALUE:4" ], [ "3A", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "3A", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "3A", "1", "1B", "100-199", "007", "VALUE:4" ], [ "3A", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "3A", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "3A", "1", "1B", "200-980", "007", "VALUE:4" ], [ "3A", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "3A", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "3A", "X", "1B", "001-099", "007", "VALUE:4" ], [ "3A", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "3A", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "3A", "X", "1B", "100-199", "007", "VALUE:4" ], [ "3A", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "3A", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "3A", "X", "1B", "200-980", "007", "VALUE:4" ], [ "3A", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "3A", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "3B", "0", "1B", "001-099", "007", "VALUE:4" ], [ "3B", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "3B", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "3B", "0", "1B", "100-199", "007", "VALUE:4" ], [ "3B", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "3B", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "3B", "0", "1B", "200-980", "007", "VALUE:4" ], [ "3B", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "3B", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "3B", "1", "1B", "001-099", "007", "VALUE:4" ], [ "3B", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "3B", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "3B", "1", "1B", "100-199", "007", "VALUE:4" ], [ "3B", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "3B", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "3B", "1", "1B", "200-980", "007", "VALUE:4" ], [ "3B", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "3B", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "3B", "X", "1B", "001-099", "007", "VALUE:4" ], [ "3B", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "3B", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "3B", "X", "1B", "100-199", "007", "VALUE:4" ], [ "3B", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "3B", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "3B", "X", "1B", "200-980", "007", "VALUE:4" ], [ "3B", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "3B", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "3", "0", "1B", "001-099", "007", "VALUE:4" ], [ "3", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "3", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "3", "0", "1B", "100-199", "007", "VALUE:4" ], [ "3", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "3", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "3", "0", "1B", "200-980", "007", "VALUE:4" ], [ "3", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "3", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "3", "1", "1B", "001-099", "007", "VALUE:4" ], [ "3", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "3", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "3", "1", "1B", "100-199", "007", "VALUE:4" ], [ "3", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "3", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "3", "1", "1B", "200-980", "007", "VALUE:4" ], [ "3", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "3", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "3", "X", "1B", "001-099", "007", "VALUE:4" ], [ "3", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "3", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "3", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "3", "X", "1B", "100-199", "007", "VALUE:4" ], [ "3", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "3", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "3", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "3", "X", "1B", "200-980", "007", "VALUE:4" ], [ "3", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "3", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "3", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "3", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "4", "0", "1B", "001-099", "007", "VALUE:4" ], [ "4", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "4", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "4", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "4", "0", "1B", "100-199", "007", "VALUE:4" ], [ "4", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "4", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "4", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "4", "0", "1B", "200-980", "007", "VALUE:4" ], [ "4", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "4", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "4", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "4", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "4", "1", "1B", "001-099", "007", "VALUE:4" ], [ "4", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "4", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "4", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "4", "1", "1B", "100-199", "007", "VALUE:4" ], [ "4", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "4", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "4", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "4", "1", "1B", "200-980", "007", "VALUE:4" ], [ "4", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "4", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "4", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "4", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "4", "X", "1B", "001-099", "007", "VALUE:4" ], [ "4", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "4", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "4", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "4", "X", "1B", "100-199", "007", "VALUE:4" ], [ "4", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "4", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "4", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "4", "X", "1B", "200-980", "007", "VALUE:4" ], [ "4", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "4", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "4", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "4", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "0", "1B", "001-099", "002-006", "VALUE:4" ], [ "X", "0", "1B", "001-099", "007", "VALUE:4" ], [ "X", "0", "1B", "001-099", "008-010", "VALUE:4" ], [ "X", "0", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "X", "0", "1B", "100-199", "002-006", "VALUE:4" ], [ "X", "0", "1B", "100-199", "007", "VALUE:4" ], [ "X", "0", "1B", "100-199", "008-010", "VALUE:4" ], [ "X", "0", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "X", "0", "1B", "200-980", "002-006", "VALUE:4" ], [ "X", "0", "1B", "200-980", "007", "VALUE:4" ], [ "X", "0", "1B", "200-980", "008-010", "VALUE:4" ], [ "X", "0", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "X", "0", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "0", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "X", "0", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "0", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "1", "1B", "001-099", "002-006", "VALUE:4" ], [ "X", "1", "1B", "001-099", "007", "VALUE:4" ], [ "X", "1", "1B", "001-099", "008-010", "VALUE:4" ], [ "X", "1", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "X", "1", "1B", "100-199", "002-006", "VALUE:4" ], [ "X", "1", "1B", "100-199", "007", "VALUE:4" ], [ "X", "1", "1B", "100-199", "008-010", "VALUE:4" ], [ "X", "1", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "X", "1", "1B", "200-980", "002-006", "VALUE:4" ], [ "X", "1", "1B", "200-980", "007", "VALUE:4" ], [ "X", "1", "1B", "200-980", "008-010", "VALUE:4" ], [ "X", "1", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "X", "1", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "1", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "X", "1", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "1", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "X", "1B", "001-099", "002-006", "VALUE:4" ], [ "X", "X", "1B", "001-099", "007", "VALUE:4" ], [ "X", "X", "1B", "001-099", "008-010", "VALUE:4" ], [ "X", "X", "1B", "001-099", "988,998,999", "VALUE:4" ], [ "X", "X", "1B", "100-199", "002-006", "VALUE:4" ], [ "X", "X", "1B", "100-199", "007", "VALUE:4" ], [ "X", "X", "1B", "100-199", "008-010", "VALUE:4" ], [ "X", "X", "1B", "100-199", "988,998,999", "VALUE:4" ], [ "X", "X", "1B", "200-980", "002-006", "VALUE:4" ], [ "X", "X", "1B", "200-980", "007", "VALUE:4" ], [ "X", "X", "1B", "200-980", "008-010", "VALUE:4" ], [ "X", "X", "1B", "200-980", "988,998,999", "VALUE:4" ], [ "X", "X", "1B", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "X", "1B", "988,997,998,999", "007", "VALUE:4" ], [ "X", "X", "1B", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "X", "1B", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "0", "0", "1C", "001-099", "007", "VALUE:4" ], [ "0", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "0", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "0", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "0", "0", "1C", "100-199", "007", "VALUE:4" ], [ "0", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "0", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "0", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "0", "0", "1C", "200-980", "007", "VALUE:4" ], [ "0", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "0", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "0", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "0", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "0", "1", "1C", "001-099", "007", "VALUE:4" ], [ "0", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "0", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "0", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "0", "1", "1C", "100-199", "007", "VALUE:4" ], [ "0", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "0", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "0", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "0", "1", "1C", "200-980", "007", "VALUE:4" ], [ "0", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "0", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "0", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "0", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "0", "X", "1C", "001-099", "007", "VALUE:4" ], [ "0", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "0", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "0", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "0", "X", "1C", "100-199", "007", "VALUE:4" ], [ "0", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "0", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "0", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "0", "X", "1C", "200-980", "007", "VALUE:4" ], [ "0", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "0", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "0", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "0", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "1A", "0", "1C", "001-099", "007", "VALUE:4" ], [ "1A", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "1A", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "1A", "0", "1C", "100-199", "007", "VALUE:4" ], [ "1A", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "1A", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "1A", "0", "1C", "200-980", "007", "VALUE:4" ], [ "1A", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "1A", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "1A", "1", "1C", "001-099", "007", "VALUE:4" ], [ "1A", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "1A", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "1A", "1", "1C", "100-199", "007", "VALUE:4" ], [ "1A", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "1A", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "1A", "1", "1C", "200-980", "007", "VALUE:4" ], [ "1A", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "1A", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "1A", "X", "1C", "001-099", "007", "VALUE:4" ], [ "1A", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "1A", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "1A", "X", "1C", "100-199", "007", "VALUE:4" ], [ "1A", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "1A", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "1A", "X", "1C", "200-980", "007", "VALUE:4" ], [ "1A", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "1A", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "1B", "0", "1C", "001-099", "007", "VALUE:4" ], [ "1B", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "1B", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "1B", "0", "1C", "100-199", "007", "VALUE:4" ], [ "1B", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "1B", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "1B", "0", "1C", "200-980", "007", "VALUE:4" ], [ "1B", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "1B", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "1B", "1", "1C", "001-099", "007", "VALUE:4" ], [ "1B", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "1B", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "1B", "1", "1C", "100-199", "007", "VALUE:4" ], [ "1B", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "1B", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "1B", "1", "1C", "200-980", "007", "VALUE:4" ], [ "1B", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "1B", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "1B", "X", "1C", "001-099", "007", "VALUE:4" ], [ "1B", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "1B", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "1B", "X", "1C", "100-199", "007", "VALUE:4" ], [ "1B", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "1B", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "1B", "X", "1C", "200-980", "007", "VALUE:4" ], [ "1B", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "1B", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "1C", "0", "1C", "001-099", "007", "VALUE:4" ], [ "1C", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "1C", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "1C", "0", "1C", "100-199", "007", "VALUE:4" ], [ "1C", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "1C", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "1C", "0", "1C", "200-980", "007", "VALUE:4" ], [ "1C", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "1C", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "1C", "1", "1C", "001-099", "007", "VALUE:4" ], [ "1C", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "1C", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "1C", "1", "1C", "100-199", "007", "VALUE:4" ], [ "1C", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "1C", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "1C", "1", "1C", "200-980", "007", "VALUE:4" ], [ "1C", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "1C", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "1C", "X", "1C", "001-099", "007", "VALUE:4" ], [ "1C", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "1C", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "1C", "X", "1C", "100-199", "007", "VALUE:4" ], [ "1C", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "1C", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "1C", "X", "1C", "200-980", "007", "VALUE:4" ], [ "1C", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "1C", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "1", "0", "1C", "001-099", "007", "VALUE:4" ], [ "1", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "1", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "1", "0", "1C", "100-199", "007", "VALUE:4" ], [ "1", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "1", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "1", "0", "1C", "200-980", "007", "VALUE:4" ], [ "1", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "1", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "1", "1", "1C", "001-099", "007", "VALUE:4" ], [ "1", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "1", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "1", "1", "1C", "100-199", "007", "VALUE:4" ], [ "1", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "1", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "1", "1", "1C", "200-980", "007", "VALUE:4" ], [ "1", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "1", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "1", "X", "1C", "001-099", "007", "VALUE:4" ], [ "1", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "1", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "1", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "1", "X", "1C", "100-199", "007", "VALUE:4" ], [ "1", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "1", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "1", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "1", "X", "1C", "200-980", "007", "VALUE:4" ], [ "1", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "1", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "1", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "1", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "2A", "0", "1C", "001-099", "007", "VALUE:4" ], [ "2A", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "2A", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "2A", "0", "1C", "100-199", "007", "VALUE:4" ], [ "2A", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "2A", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "2A", "0", "1C", "200-980", "007", "VALUE:4" ], [ "2A", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "2A", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "2A", "1", "1C", "001-099", "007", "VALUE:4" ], [ "2A", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "2A", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "2A", "1", "1C", "100-199", "007", "VALUE:4" ], [ "2A", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "2A", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "2A", "1", "1C", "200-980", "007", "VALUE:4" ], [ "2A", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "2A", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "2A", "X", "1C", "001-099", "007", "VALUE:4" ], [ "2A", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "2A", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "2A", "X", "1C", "100-199", "007", "VALUE:4" ], [ "2A", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "2A", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "2A", "X", "1C", "200-980", "007", "VALUE:4" ], [ "2A", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "2A", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "2B", "0", "1C", "001-099", "007", "VALUE:4" ], [ "2B", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "2B", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "2B", "0", "1C", "100-199", "007", "VALUE:4" ], [ "2B", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "2B", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "2B", "0", "1C", "200-980", "007", "VALUE:4" ], [ "2B", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "2B", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "2B", "1", "1C", "001-099", "007", "VALUE:4" ], [ "2B", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "2B", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "2B", "1", "1C", "100-199", "007", "VALUE:4" ], [ "2B", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "2B", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "2B", "1", "1C", "200-980", "007", "VALUE:4" ], [ "2B", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "2B", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "2B", "X", "1C", "001-099", "007", "VALUE:4" ], [ "2B", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "2B", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "2B", "X", "1C", "100-199", "007", "VALUE:4" ], [ "2B", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "2B", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "2B", "X", "1C", "200-980", "007", "VALUE:4" ], [ "2B", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "2B", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "2C", "0", "1C", "001-099", "007", "VALUE:4" ], [ "2C", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "2C", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "2C", "0", "1C", "100-199", "007", "VALUE:4" ], [ "2C", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "2C", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "2C", "0", "1C", "200-980", "007", "VALUE:4" ], [ "2C", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "2C", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "2C", "1", "1C", "001-099", "007", "VALUE:4" ], [ "2C", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "2C", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "2C", "1", "1C", "100-199", "007", "VALUE:4" ], [ "2C", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "2C", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "2C", "1", "1C", "200-980", "007", "VALUE:4" ], [ "2C", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "2C", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "2C", "X", "1C", "001-099", "007", "VALUE:4" ], [ "2C", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "2C", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "2C", "X", "1C", "100-199", "007", "VALUE:4" ], [ "2C", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "2C", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "2C", "X", "1C", "200-980", "007", "VALUE:4" ], [ "2C", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "2C", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "2", "0", "1C", "001-099", "007", "VALUE:4" ], [ "2", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "2", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "2", "0", "1C", "100-199", "007", "VALUE:4" ], [ "2", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "2", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "2", "0", "1C", "200-980", "007", "VALUE:4" ], [ "2", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "2", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "2", "1", "1C", "001-099", "007", "VALUE:4" ], [ "2", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "2", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "2", "1", "1C", "100-199", "007", "VALUE:4" ], [ "2", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "2", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "2", "1", "1C", "200-980", "007", "VALUE:4" ], [ "2", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "2", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "2", "X", "1C", "001-099", "007", "VALUE:4" ], [ "2", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "2", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "2", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "2", "X", "1C", "100-199", "007", "VALUE:4" ], [ "2", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "2", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "2", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "2", "X", "1C", "200-980", "007", "VALUE:4" ], [ "2", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "2", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "2", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "2", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "3A", "0", "1C", "001-099", "007", "VALUE:4" ], [ "3A", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "3A", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "3A", "0", "1C", "100-199", "007", "VALUE:4" ], [ "3A", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "3A", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "3A", "0", "1C", "200-980", "007", "VALUE:4" ], [ "3A", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "3A", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "3A", "1", "1C", "001-099", "007", "VALUE:4" ], [ "3A", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "3A", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "3A", "1", "1C", "100-199", "007", "VALUE:4" ], [ "3A", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "3A", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "3A", "1", "1C", "200-980", "007", "VALUE:4" ], [ "3A", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "3A", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "3A", "X", "1C", "001-099", "007", "VALUE:4" ], [ "3A", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "3A", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "3A", "X", "1C", "100-199", "007", "VALUE:4" ], [ "3A", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "3A", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "3A", "X", "1C", "200-980", "007", "VALUE:4" ], [ "3A", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "3A", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "3B", "0", "1C", "001-099", "007", "VALUE:4" ], [ "3B", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "3B", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "3B", "0", "1C", "100-199", "007", "VALUE:4" ], [ "3B", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "3B", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "3B", "0", "1C", "200-980", "007", "VALUE:4" ], [ "3B", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "3B", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "3B", "1", "1C", "001-099", "007", "VALUE:4" ], [ "3B", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "3B", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "3B", "1", "1C", "100-199", "007", "VALUE:4" ], [ "3B", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "3B", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "3B", "1", "1C", "200-980", "007", "VALUE:4" ], [ "3B", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "3B", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "3B", "X", "1C", "001-099", "007", "VALUE:4" ], [ "3B", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "3B", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "3B", "X", "1C", "100-199", "007", "VALUE:4" ], [ "3B", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "3B", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "3B", "X", "1C", "200-980", "007", "VALUE:4" ], [ "3B", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "3B", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "3", "0", "1C", "001-099", "007", "VALUE:4" ], [ "3", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "3", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "3", "0", "1C", "100-199", "007", "VALUE:4" ], [ "3", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "3", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "3", "0", "1C", "200-980", "007", "VALUE:4" ], [ "3", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "3", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "3", "1", "1C", "001-099", "007", "VALUE:4" ], [ "3", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "3", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "3", "1", "1C", "100-199", "007", "VALUE:4" ], [ "3", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "3", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "3", "1", "1C", "200-980", "007", "VALUE:4" ], [ "3", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "3", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "3", "X", "1C", "001-099", "007", "VALUE:4" ], [ "3", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "3", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "3", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "3", "X", "1C", "100-199", "007", "VALUE:4" ], [ "3", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "3", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "3", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "3", "X", "1C", "200-980", "007", "VALUE:4" ], [ "3", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "3", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "3", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "3", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "4", "0", "1C", "001-099", "007", "VALUE:4" ], [ "4", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "4", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "4", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "4", "0", "1C", "100-199", "007", "VALUE:4" ], [ "4", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "4", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "4", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "4", "0", "1C", "200-980", "007", "VALUE:4" ], [ "4", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "4", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "4", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "4", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "4", "1", "1C", "001-099", "007", "VALUE:4" ], [ "4", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "4", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "4", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "4", "1", "1C", "100-199", "007", "VALUE:4" ], [ "4", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "4", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "4", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "4", "1", "1C", "200-980", "007", "VALUE:4" ], [ "4", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "4", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "4", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "4", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "4", "X", "1C", "001-099", "007", "VALUE:4" ], [ "4", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "4", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "4", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "4", "X", "1C", "100-199", "007", "VALUE:4" ], [ "4", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "4", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "4", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "4", "X", "1C", "200-980", "007", "VALUE:4" ], [ "4", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "4", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "4", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "4", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "0", "1C", "001-099", "002-006", "VALUE:4" ], [ "X", "0", "1C", "001-099", "007", "VALUE:4" ], [ "X", "0", "1C", "001-099", "008-010", "VALUE:4" ], [ "X", "0", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "X", "0", "1C", "100-199", "002-006", "VALUE:4" ], [ "X", "0", "1C", "100-199", "007", "VALUE:4" ], [ "X", "0", "1C", "100-199", "008-010", "VALUE:4" ], [ "X", "0", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "X", "0", "1C", "200-980", "002-006", "VALUE:4" ], [ "X", "0", "1C", "200-980", "007", "VALUE:4" ], [ "X", "0", "1C", "200-980", "008-010", "VALUE:4" ], [ "X", "0", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "X", "0", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "0", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "X", "0", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "0", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "1", "1C", "001-099", "002-006", "VALUE:4" ], [ "X", "1", "1C", "001-099", "007", "VALUE:4" ], [ "X", "1", "1C", "001-099", "008-010", "VALUE:4" ], [ "X", "1", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "X", "1", "1C", "100-199", "002-006", "VALUE:4" ], [ "X", "1", "1C", "100-199", "007", "VALUE:4" ], [ "X", "1", "1C", "100-199", "008-010", "VALUE:4" ], [ "X", "1", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "X", "1", "1C", "200-980", "002-006", "VALUE:4" ], [ "X", "1", "1C", "200-980", "007", "VALUE:4" ], [ "X", "1", "1C", "200-980", "008-010", "VALUE:4" ], [ "X", "1", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "X", "1", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "1", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "X", "1", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "1", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "X", "1C", "001-099", "002-006", "VALUE:4" ], [ "X", "X", "1C", "001-099", "007", "VALUE:4" ], [ "X", "X", "1C", "001-099", "008-010", "VALUE:4" ], [ "X", "X", "1C", "001-099", "988,998,999", "VALUE:4" ], [ "X", "X", "1C", "100-199", "002-006", "VALUE:4" ], [ "X", "X", "1C", "100-199", "007", "VALUE:4" ], [ "X", "X", "1C", "100-199", "008-010", "VALUE:4" ], [ "X", "X", "1C", "100-199", "988,998,999", "VALUE:4" ], [ "X", "X", "1C", "200-980", "002-006", "VALUE:4" ], [ "X", "X", "1C", "200-980", "007", "VALUE:4" ], [ "X", "X", "1C", "200-980", "008-010", "VALUE:4" ], [ "X", "X", "1C", "200-980", "988,998,999", "VALUE:4" ], [ "X", "X", "1C", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "X", "1C", "988,997,998,999", "007", "VALUE:4" ], [ "X", "X", "1C", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "X", "1C", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "0", "0", "1", "001-099", "007", "VALUE:4" ], [ "0", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "0", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "0", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "0", "0", "1", "100-199", "007", "VALUE:4" ], [ "0", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "0", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "0", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "0", "0", "1", "200-980", "007", "VALUE:4" ], [ "0", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "0", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "0", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "0", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "0", "1", "1", "001-099", "007", "VALUE:4" ], [ "0", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "0", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "0", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "0", "1", "1", "100-199", "007", "VALUE:4" ], [ "0", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "0", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "0", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "0", "1", "1", "200-980", "007", "VALUE:4" ], [ "0", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "0", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "0", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "0", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "0", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "0", "X", "1", "001-099", "007", "VALUE:4" ], [ "0", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "0", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "0", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "0", "X", "1", "100-199", "007", "VALUE:4" ], [ "0", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "0", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "0", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "0", "X", "1", "200-980", "007", "VALUE:4" ], [ "0", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "0", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "0", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "0", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "0", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "0", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "1A", "0", "1", "001-099", "007", "VALUE:4" ], [ "1A", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "1A", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "1A", "0", "1", "100-199", "007", "VALUE:4" ], [ "1A", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "1A", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "1A", "0", "1", "200-980", "007", "VALUE:4" ], [ "1A", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "1A", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "1A", "1", "1", "001-099", "007", "VALUE:4" ], [ "1A", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "1A", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "1A", "1", "1", "100-199", "007", "VALUE:4" ], [ "1A", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "1A", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "1A", "1", "1", "200-980", "007", "VALUE:4" ], [ "1A", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "1A", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1A", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "1A", "X", "1", "001-099", "007", "VALUE:4" ], [ "1A", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "1A", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1A", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "1A", "X", "1", "100-199", "007", "VALUE:4" ], [ "1A", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "1A", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1A", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "1A", "X", "1", "200-980", "007", "VALUE:4" ], [ "1A", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "1A", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1A", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1A", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1A", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1A", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "1B", "0", "1", "001-099", "007", "VALUE:4" ], [ "1B", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "1B", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "1B", "0", "1", "100-199", "007", "VALUE:4" ], [ "1B", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "1B", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "1B", "0", "1", "200-980", "007", "VALUE:4" ], [ "1B", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "1B", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "1B", "1", "1", "001-099", "007", "VALUE:4" ], [ "1B", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "1B", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "1B", "1", "1", "100-199", "007", "VALUE:4" ], [ "1B", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "1B", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "1B", "1", "1", "200-980", "007", "VALUE:4" ], [ "1B", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "1B", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1B", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "1B", "X", "1", "001-099", "007", "VALUE:4" ], [ "1B", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "1B", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1B", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "1B", "X", "1", "100-199", "007", "VALUE:4" ], [ "1B", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "1B", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1B", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "1B", "X", "1", "200-980", "007", "VALUE:4" ], [ "1B", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "1B", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1B", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1B", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1B", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1B", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "1C", "0", "1", "001-099", "007", "VALUE:4" ], [ "1C", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "1C", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "1C", "0", "1", "100-199", "007", "VALUE:4" ], [ "1C", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "1C", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "1C", "0", "1", "200-980", "007", "VALUE:4" ], [ "1C", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "1C", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "1C", "1", "1", "001-099", "007", "VALUE:4" ], [ "1C", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "1C", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "1C", "1", "1", "100-199", "007", "VALUE:4" ], [ "1C", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "1C", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "1C", "1", "1", "200-980", "007", "VALUE:4" ], [ "1C", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "1C", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1C", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "1C", "X", "1", "001-099", "007", "VALUE:4" ], [ "1C", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "1C", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1C", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "1C", "X", "1", "100-199", "007", "VALUE:4" ], [ "1C", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "1C", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1C", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "1C", "X", "1", "200-980", "007", "VALUE:4" ], [ "1C", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "1C", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1C", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1C", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1C", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1C", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "1", "0", "1", "001-099", "007", "VALUE:4" ], [ "1", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "1", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "1", "0", "1", "100-199", "007", "VALUE:4" ], [ "1", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "1", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "1", "0", "1", "200-980", "007", "VALUE:4" ], [ "1", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "1", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "1", "1", "1", "001-099", "007", "VALUE:4" ], [ "1", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "1", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "1", "1", "1", "100-199", "007", "VALUE:4" ], [ "1", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "1", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "1", "1", "1", "200-980", "007", "VALUE:4" ], [ "1", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "1", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "1", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "1", "X", "1", "001-099", "007", "VALUE:4" ], [ "1", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "1", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "1", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "1", "X", "1", "100-199", "007", "VALUE:4" ], [ "1", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "1", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "1", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "1", "X", "1", "200-980", "007", "VALUE:4" ], [ "1", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "1", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "1", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "1", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "1", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "1", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "2A", "0", "1", "001-099", "007", "VALUE:4" ], [ "2A", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "2A", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "2A", "0", "1", "100-199", "007", "VALUE:4" ], [ "2A", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "2A", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "2A", "0", "1", "200-980", "007", "VALUE:4" ], [ "2A", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "2A", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "2A", "1", "1", "001-099", "007", "VALUE:4" ], [ "2A", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "2A", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "2A", "1", "1", "100-199", "007", "VALUE:4" ], [ "2A", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "2A", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "2A", "1", "1", "200-980", "007", "VALUE:4" ], [ "2A", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "2A", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2A", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "2A", "X", "1", "001-099", "007", "VALUE:4" ], [ "2A", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "2A", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2A", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "2A", "X", "1", "100-199", "007", "VALUE:4" ], [ "2A", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "2A", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2A", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "2A", "X", "1", "200-980", "007", "VALUE:4" ], [ "2A", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "2A", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2A", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2A", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2A", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2A", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "2B", "0", "1", "001-099", "007", "VALUE:4" ], [ "2B", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "2B", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "2B", "0", "1", "100-199", "007", "VALUE:4" ], [ "2B", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "2B", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "2B", "0", "1", "200-980", "007", "VALUE:4" ], [ "2B", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "2B", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "2B", "1", "1", "001-099", "007", "VALUE:4" ], [ "2B", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "2B", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "2B", "1", "1", "100-199", "007", "VALUE:4" ], [ "2B", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "2B", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "2B", "1", "1", "200-980", "007", "VALUE:4" ], [ "2B", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "2B", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2B", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "2B", "X", "1", "001-099", "007", "VALUE:4" ], [ "2B", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "2B", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2B", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "2B", "X", "1", "100-199", "007", "VALUE:4" ], [ "2B", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "2B", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2B", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "2B", "X", "1", "200-980", "007", "VALUE:4" ], [ "2B", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "2B", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2B", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2B", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2B", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2B", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "2C", "0", "1", "001-099", "007", "VALUE:4" ], [ "2C", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "2C", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "2C", "0", "1", "100-199", "007", "VALUE:4" ], [ "2C", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "2C", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "2C", "0", "1", "200-980", "007", "VALUE:4" ], [ "2C", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "2C", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "2C", "1", "1", "001-099", "007", "VALUE:4" ], [ "2C", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "2C", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "2C", "1", "1", "100-199", "007", "VALUE:4" ], [ "2C", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "2C", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "2C", "1", "1", "200-980", "007", "VALUE:4" ], [ "2C", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "2C", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2C", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "2C", "X", "1", "001-099", "007", "VALUE:4" ], [ "2C", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "2C", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2C", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "2C", "X", "1", "100-199", "007", "VALUE:4" ], [ "2C", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "2C", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2C", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "2C", "X", "1", "200-980", "007", "VALUE:4" ], [ "2C", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "2C", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2C", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2C", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2C", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2C", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "2", "0", "1", "001-099", "007", "VALUE:4" ], [ "2", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "2", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "2", "0", "1", "100-199", "007", "VALUE:4" ], [ "2", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "2", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "2", "0", "1", "200-980", "007", "VALUE:4" ], [ "2", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "2", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "2", "1", "1", "001-099", "007", "VALUE:4" ], [ "2", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "2", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "2", "1", "1", "100-199", "007", "VALUE:4" ], [ "2", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "2", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "2", "1", "1", "200-980", "007", "VALUE:4" ], [ "2", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "2", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "2", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "2", "X", "1", "001-099", "007", "VALUE:4" ], [ "2", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "2", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "2", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "2", "X", "1", "100-199", "007", "VALUE:4" ], [ "2", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "2", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "2", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "2", "X", "1", "200-980", "007", "VALUE:4" ], [ "2", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "2", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "2", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "2", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "2", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "2", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "3A", "0", "1", "001-099", "007", "VALUE:4" ], [ "3A", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "3A", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "3A", "0", "1", "100-199", "007", "VALUE:4" ], [ "3A", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "3A", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "3A", "0", "1", "200-980", "007", "VALUE:4" ], [ "3A", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "3A", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "3A", "1", "1", "001-099", "007", "VALUE:4" ], [ "3A", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "3A", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "3A", "1", "1", "100-199", "007", "VALUE:4" ], [ "3A", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "3A", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "3A", "1", "1", "200-980", "007", "VALUE:4" ], [ "3A", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "3A", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3A", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "3A", "X", "1", "001-099", "007", "VALUE:4" ], [ "3A", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "3A", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3A", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "3A", "X", "1", "100-199", "007", "VALUE:4" ], [ "3A", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "3A", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3A", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "3A", "X", "1", "200-980", "007", "VALUE:4" ], [ "3A", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "3A", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3A", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3A", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3A", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3A", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "3B", "0", "1", "001-099", "007", "VALUE:4" ], [ "3B", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "3B", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "3B", "0", "1", "100-199", "007", "VALUE:4" ], [ "3B", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "3B", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "3B", "0", "1", "200-980", "007", "VALUE:4" ], [ "3B", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "3B", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "3B", "1", "1", "001-099", "007", "VALUE:4" ], [ "3B", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "3B", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "3B", "1", "1", "100-199", "007", "VALUE:4" ], [ "3B", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "3B", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "3B", "1", "1", "200-980", "007", "VALUE:4" ], [ "3B", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "3B", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3B", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "3B", "X", "1", "001-099", "007", "VALUE:4" ], [ "3B", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "3B", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3B", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "3B", "X", "1", "100-199", "007", "VALUE:4" ], [ "3B", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "3B", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3B", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "3B", "X", "1", "200-980", "007", "VALUE:4" ], [ "3B", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "3B", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3B", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3B", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3B", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3B", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "3", "0", "1", "001-099", "007", "VALUE:4" ], [ "3", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "3", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "3", "0", "1", "100-199", "007", "VALUE:4" ], [ "3", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "3", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "3", "0", "1", "200-980", "007", "VALUE:4" ], [ "3", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "3", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "3", "1", "1", "001-099", "007", "VALUE:4" ], [ "3", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "3", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "3", "1", "1", "100-199", "007", "VALUE:4" ], [ "3", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "3", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "3", "1", "1", "200-980", "007", "VALUE:4" ], [ "3", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "3", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "3", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "3", "X", "1", "001-099", "007", "VALUE:4" ], [ "3", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "3", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "3", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "3", "X", "1", "100-199", "007", "VALUE:4" ], [ "3", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "3", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "3", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "3", "X", "1", "200-980", "007", "VALUE:4" ], [ "3", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "3", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "3", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "3", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "3", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "3", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "4", "0", "1", "001-099", "007", "VALUE:4" ], [ "4", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "4", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "4", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "4", "0", "1", "100-199", "007", "VALUE:4" ], [ "4", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "4", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "4", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "4", "0", "1", "200-980", "007", "VALUE:4" ], [ "4", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "4", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "4", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "4", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "4", "1", "1", "001-099", "007", "VALUE:4" ], [ "4", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "4", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "4", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "4", "1", "1", "100-199", "007", "VALUE:4" ], [ "4", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "4", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "4", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "4", "1", "1", "200-980", "007", "VALUE:4" ], [ "4", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "4", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "4", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "4", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "4", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "4", "X", "1", "001-099", "007", "VALUE:4" ], [ "4", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "4", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "4", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "4", "X", "1", "100-199", "007", "VALUE:4" ], [ "4", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "4", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "4", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "4", "X", "1", "200-980", "007", "VALUE:4" ], [ "4", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "4", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "4", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "4", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "4", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "4", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "0", "1", "001-099", "002-006", "VALUE:4" ], [ "X", "0", "1", "001-099", "007", "VALUE:4" ], [ "X", "0", "1", "001-099", "008-010", "VALUE:4" ], [ "X", "0", "1", "001-099", "988,998,999", "VALUE:4" ], [ "X", "0", "1", "100-199", "002-006", "VALUE:4" ], [ "X", "0", "1", "100-199", "007", "VALUE:4" ], [ "X", "0", "1", "100-199", "008-010", "VALUE:4" ], [ "X", "0", "1", "100-199", "988,998,999", "VALUE:4" ], [ "X", "0", "1", "200-980", "002-006", "VALUE:4" ], [ "X", "0", "1", "200-980", "007", "VALUE:4" ], [ "X", "0", "1", "200-980", "008-010", "VALUE:4" ], [ "X", "0", "1", "200-980", "988,998,999", "VALUE:4" ], [ "X", "0", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "0", "1", "988,997,998,999", "007", "VALUE:4" ], [ "X", "0", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "0", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "1", "1", "001-099", "002-006", "VALUE:4" ], [ "X", "1", "1", "001-099", "007", "VALUE:4" ], [ "X", "1", "1", "001-099", "008-010", "VALUE:4" ], [ "X", "1", "1", "001-099", "988,998,999", "VALUE:4" ], [ "X", "1", "1", "100-199", "002-006", "VALUE:4" ], [ "X", "1", "1", "100-199", "007", "VALUE:4" ], [ "X", "1", "1", "100-199", "008-010", "VALUE:4" ], [ "X", "1", "1", "100-199", "988,998,999", "VALUE:4" ], [ "X", "1", "1", "200-980", "002-006", "VALUE:4" ], [ "X", "1", "1", "200-980", "007", "VALUE:4" ], [ "X", "1", "1", "200-980", "008-010", "VALUE:4" ], [ "X", "1", "1", "200-980", "988,998,999", "VALUE:4" ], [ "X", "1", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "1", "1", "988,997,998,999", "007", "VALUE:4" ], [ "X", "1", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "1", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "X", "X", "1", "001-099", "002-006", "VALUE:4" ], [ "X", "X", "1", "001-099", "007", "VALUE:4" ], [ "X", "X", "1", "001-099", "008-010", "VALUE:4" ], [ "X", "X", "1", "001-099", "988,998,999", "VALUE:4" ], [ "X", "X", "1", "100-199", "002-006", "VALUE:4" ], [ "X", "X", "1", "100-199", "007", "VALUE:4" ], [ "X", "X", "1", "100-199", "008-010", "VALUE:4" ], [ "X", "X", "1", "100-199", "988,998,999", "VALUE:4" ], [ "X", "X", "1", "200-980", "002-006", "VALUE:4" ], [ "X", "X", "1", "200-980", "007", "VALUE:4" ], [ "X", "X", "1", "200-980", "008-010", "VALUE:4" ], [ "X", "X", "1", "200-980", "988,998,999", "VALUE:4" ], [ "X", "X", "1", "988,997,998,999", "002-006", "VALUE:4" ], [ "X", "X", "1", "988,997,998,999", "007", "VALUE:4" ], [ "X", "X", "1", "988,997,998,999", "008-010", "VALUE:4" ], [ "X", "X", "1", "988,997,998,999", "988,998,999", "VALUE:4" ], [ "88", "88", "88", "*", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_48585.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_48585.json deleted file mode 100644 index c70e464ad..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_48585.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm_7_combined_stage_group_48585", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Combined Stage Group", - "title" : "TNM 7 Combined Stage Group", - "last_modified" : "2018-05-14T21:29:06.691Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "prefix_n_in", - "name" : "Prefix N", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "c", "VALUE:99" ], [ "0", "0", "0", "p", "VALUE:99" ], [ "0", "1", "0", "c", "VALUE:3B" ], [ "0", "1", "0", "p", "VALUE:3" ], [ "0", "1A", "0", "c", "VALUE:3B" ], [ "0", "1A", "0", "p", "VALUE:3A" ], [ "0", "1B", "0", "c", "VALUE:3B" ], [ "0", "1B", "0", "p", "VALUE:3B" ], [ "0", "2", "0", "c", "VALUE:3B" ], [ "0", "2", "0", "p", "VALUE:3B" ], [ "0", "X", "0", "c", "VALUE:99" ], [ "0", "X", "0", "p", "VALUE:99" ], [ "IS", "0", "0", "c", "VALUE:0" ], [ "IS", "0", "0", "p", "VALUE:0" ], [ "IS", "1", "0", "c", "VALUE:3B" ], [ "IS", "1", "0", "p", "VALUE:3" ], [ "IS", "1A", "0", "c", "VALUE:3B" ], [ "IS", "1A", "0", "p", "VALUE:3A" ], [ "IS", "1B", "0", "c", "VALUE:3B" ], [ "IS", "1B", "0", "p", "VALUE:3B" ], [ "IS", "2", "0", "c", "VALUE:3B" ], [ "IS", "2", "0", "p", "VALUE:3B" ], [ "IS", "X", "0", "c", "VALUE:0" ], [ "IS", "X", "0", "p", "VALUE:0" ], [ "1", "0", "0", "c", "VALUE:1B" ], [ "1", "0", "0", "p", "VALUE:1A" ], [ "1", "1", "0", "c", "VALUE:3B" ], [ "1", "1", "0", "p", "VALUE:3" ], [ "1", "1A", "0", "c", "VALUE:3B" ], [ "1", "1A", "0", "p", "VALUE:3A" ], [ "1", "1B", "0", "c", "VALUE:3B" ], [ "1", "1B", "0", "p", "VALUE:3B" ], [ "1", "2", "0", "c", "VALUE:3B" ], [ "1", "2", "0", "p", "VALUE:3B" ], [ "1", "X", "0", "c", "VALUE:99" ], [ "1", "X", "0", "p", "VALUE:99" ], [ "2", "0", "0", "c", "VALUE:2B" ], [ "2", "0", "0", "p", "VALUE:2A" ], [ "2", "1", "0", "c", "VALUE:3B" ], [ "2", "1", "0", "p", "VALUE:3" ], [ "2", "1A", "0", "c", "VALUE:3B" ], [ "2", "1A", "0", "p", "VALUE:3A" ], [ "2", "1B", "0", "c", "VALUE:3B" ], [ "2", "1B", "0", "p", "VALUE:3B" ], [ "2", "2", "0", "c", "VALUE:3B" ], [ "2", "2", "0", "p", "VALUE:3B" ], [ "2", "X", "0", "c", "VALUE:99" ], [ "2", "X", "0", "p", "VALUE:99" ], [ "3", "0", "0", "c", "VALUE:2B" ], [ "3", "0", "0", "p", "VALUE:2A" ], [ "3", "1", "0", "c", "VALUE:3B" ], [ "3", "1", "0", "p", "VALUE:3" ], [ "3", "1A", "0", "c", "VALUE:3B" ], [ "3", "1A", "0", "p", "VALUE:3A" ], [ "3", "1B", "0", "c", "VALUE:3B" ], [ "3", "1B", "0", "p", "VALUE:3B" ], [ "3", "2", "0", "c", "VALUE:3B" ], [ "3", "2", "0", "p", "VALUE:3B" ], [ "3", "X", "0", "c", "VALUE:99" ], [ "3", "X", "0", "p", "VALUE:99" ], [ "4", "0", "0", "c", "VALUE:2C" ], [ "4", "0", "0", "p", "VALUE:2C" ], [ "4", "1", "0", "c", "VALUE:3B" ], [ "4", "1", "0", "p", "VALUE:3" ], [ "4", "1A", "0", "c", "VALUE:3B" ], [ "4", "1A", "0", "p", "VALUE:3A" ], [ "4", "1B", "0", "c", "VALUE:3B" ], [ "4", "1B", "0", "p", "VALUE:3B" ], [ "4", "2", "0", "c", "VALUE:3B" ], [ "4", "2", "0", "p", "VALUE:3B" ], [ "4", "X", "0", "c", "VALUE:99" ], [ "4", "X", "0", "p", "VALUE:99" ], [ "X", "0", "0", "c", "VALUE:99" ], [ "X", "0", "0", "p", "VALUE:99" ], [ "X", "1", "0", "c", "VALUE:3B" ], [ "X", "1", "0", "p", "VALUE:3" ], [ "X", "1A", "0", "c", "VALUE:3B" ], [ "X", "1A", "0", "p", "VALUE:3A" ], [ "X", "1B", "0", "c", "VALUE:3B" ], [ "X", "1B", "0", "p", "VALUE:3B" ], [ "X", "2", "0", "c", "VALUE:3B" ], [ "X", "2", "0", "p", "VALUE:3B" ], [ "X", "X", "0", "c", "VALUE:99" ], [ "X", "X", "0", "p", "VALUE:99" ], [ "0", "0", "1A", "c", "VALUE:4" ], [ "0", "0", "1A", "p", "VALUE:4" ], [ "0", "1", "1A", "c", "VALUE:4" ], [ "0", "1", "1A", "p", "VALUE:4" ], [ "0", "1A", "1A", "c", "VALUE:4" ], [ "0", "1A", "1A", "p", "VALUE:4" ], [ "0", "1B", "1A", "c", "VALUE:4" ], [ "0", "1B", "1A", "p", "VALUE:4" ], [ "0", "2", "1A", "c", "VALUE:4" ], [ "0", "2", "1A", "p", "VALUE:4" ], [ "0", "X", "1A", "c", "VALUE:4" ], [ "0", "X", "1A", "p", "VALUE:4" ], [ "IS", "0", "1A", "c", "VALUE:4" ], [ "IS", "0", "1A", "p", "VALUE:4" ], [ "IS", "1", "1A", "c", "VALUE:4" ], [ "IS", "1", "1A", "p", "VALUE:4" ], [ "IS", "1A", "1A", "c", "VALUE:4" ], [ "IS", "1A", "1A", "p", "VALUE:4" ], [ "IS", "1B", "1A", "c", "VALUE:4" ], [ "IS", "1B", "1A", "p", "VALUE:4" ], [ "IS", "2", "1A", "c", "VALUE:4" ], [ "IS", "2", "1A", "p", "VALUE:4" ], [ "IS", "X", "1A", "c", "VALUE:4" ], [ "IS", "X", "1A", "p", "VALUE:4" ], [ "1", "0", "1A", "c", "VALUE:4" ], [ "1", "0", "1A", "p", "VALUE:4" ], [ "1", "1", "1A", "c", "VALUE:4" ], [ "1", "1", "1A", "p", "VALUE:4" ], [ "1", "1A", "1A", "c", "VALUE:4" ], [ "1", "1A", "1A", "p", "VALUE:4" ], [ "1", "1B", "1A", "c", "VALUE:4" ], [ "1", "1B", "1A", "p", "VALUE:4" ], [ "1", "2", "1A", "c", "VALUE:4" ], [ "1", "2", "1A", "p", "VALUE:4" ], [ "1", "X", "1A", "c", "VALUE:4" ], [ "1", "X", "1A", "p", "VALUE:4" ], [ "2", "0", "1A", "c", "VALUE:4" ], [ "2", "0", "1A", "p", "VALUE:4" ], [ "2", "1", "1A", "c", "VALUE:4" ], [ "2", "1", "1A", "p", "VALUE:4" ], [ "2", "1A", "1A", "c", "VALUE:4" ], [ "2", "1A", "1A", "p", "VALUE:4" ], [ "2", "1B", "1A", "c", "VALUE:4" ], [ "2", "1B", "1A", "p", "VALUE:4" ], [ "2", "2", "1A", "c", "VALUE:4" ], [ "2", "2", "1A", "p", "VALUE:4" ], [ "2", "X", "1A", "c", "VALUE:4" ], [ "2", "X", "1A", "p", "VALUE:4" ], [ "3", "0", "1A", "c", "VALUE:4" ], [ "3", "0", "1A", "p", "VALUE:4" ], [ "3", "1", "1A", "c", "VALUE:4" ], [ "3", "1", "1A", "p", "VALUE:4" ], [ "3", "1A", "1A", "c", "VALUE:4" ], [ "3", "1A", "1A", "p", "VALUE:4" ], [ "3", "1B", "1A", "c", "VALUE:4" ], [ "3", "1B", "1A", "p", "VALUE:4" ], [ "3", "2", "1A", "c", "VALUE:4" ], [ "3", "2", "1A", "p", "VALUE:4" ], [ "3", "X", "1A", "c", "VALUE:4" ], [ "3", "X", "1A", "p", "VALUE:4" ], [ "4", "0", "1A", "c", "VALUE:4" ], [ "4", "0", "1A", "p", "VALUE:4" ], [ "4", "1", "1A", "c", "VALUE:4" ], [ "4", "1", "1A", "p", "VALUE:4" ], [ "4", "1A", "1A", "c", "VALUE:4" ], [ "4", "1A", "1A", "p", "VALUE:4" ], [ "4", "1B", "1A", "c", "VALUE:4" ], [ "4", "1B", "1A", "p", "VALUE:4" ], [ "4", "2", "1A", "c", "VALUE:4" ], [ "4", "2", "1A", "p", "VALUE:4" ], [ "4", "X", "1A", "c", "VALUE:4" ], [ "4", "X", "1A", "p", "VALUE:4" ], [ "X", "0", "1A", "c", "VALUE:4" ], [ "X", "0", "1A", "p", "VALUE:4" ], [ "X", "1", "1A", "c", "VALUE:4" ], [ "X", "1", "1A", "p", "VALUE:4" ], [ "X", "1A", "1A", "c", "VALUE:4" ], [ "X", "1A", "1A", "p", "VALUE:4" ], [ "X", "1B", "1A", "c", "VALUE:4" ], [ "X", "1B", "1A", "p", "VALUE:4" ], [ "X", "2", "1A", "c", "VALUE:4" ], [ "X", "2", "1A", "p", "VALUE:4" ], [ "X", "X", "1A", "c", "VALUE:4" ], [ "X", "X", "1A", "p", "VALUE:4" ], [ "0", "0", "1B", "c", "VALUE:4" ], [ "0", "0", "1B", "p", "VALUE:4" ], [ "0", "1", "1B", "c", "VALUE:4" ], [ "0", "1", "1B", "p", "VALUE:4" ], [ "0", "1A", "1B", "c", "VALUE:4" ], [ "0", "1A", "1B", "p", "VALUE:4" ], [ "0", "1B", "1B", "c", "VALUE:4" ], [ "0", "1B", "1B", "p", "VALUE:4" ], [ "0", "2", "1B", "c", "VALUE:4" ], [ "0", "2", "1B", "p", "VALUE:4" ], [ "0", "X", "1B", "c", "VALUE:4" ], [ "0", "X", "1B", "p", "VALUE:4" ], [ "IS", "0", "1B", "c", "ERROR:" ], [ "IS", "0", "1B", "p", "ERROR:" ], [ "IS", "1", "1B", "c", "ERROR:" ], [ "IS", "1", "1B", "p", "ERROR:" ], [ "IS", "1A", "1B", "c", "ERROR:" ], [ "IS", "1A", "1B", "p", "ERROR:" ], [ "IS", "1B", "1B", "c", "ERROR:" ], [ "IS", "1B", "1B", "p", "ERROR:" ], [ "IS", "2", "1B", "c", "ERROR:" ], [ "IS", "2", "1B", "p", "ERROR:" ], [ "IS", "X", "1B", "c", "ERROR:" ], [ "IS", "X", "1B", "p", "ERROR:" ], [ "1", "0", "1B", "c", "VALUE:4" ], [ "1", "0", "1B", "p", "VALUE:4" ], [ "1", "1", "1B", "c", "VALUE:4" ], [ "1", "1", "1B", "p", "VALUE:4" ], [ "1", "1A", "1B", "c", "VALUE:4" ], [ "1", "1A", "1B", "p", "VALUE:4" ], [ "1", "1B", "1B", "c", "VALUE:4" ], [ "1", "1B", "1B", "p", "VALUE:4" ], [ "1", "2", "1B", "c", "VALUE:4" ], [ "1", "2", "1B", "p", "VALUE:4" ], [ "1", "X", "1B", "c", "VALUE:4" ], [ "1", "X", "1B", "p", "VALUE:4" ], [ "2", "0", "1B", "c", "VALUE:4" ], [ "2", "0", "1B", "p", "VALUE:4" ], [ "2", "1", "1B", "c", "VALUE:4" ], [ "2", "1", "1B", "p", "VALUE:4" ], [ "2", "1A", "1B", "c", "VALUE:4" ], [ "2", "1A", "1B", "p", "VALUE:4" ], [ "2", "1B", "1B", "c", "VALUE:4" ], [ "2", "1B", "1B", "p", "VALUE:4" ], [ "2", "2", "1B", "c", "VALUE:4" ], [ "2", "2", "1B", "p", "VALUE:4" ], [ "2", "X", "1B", "c", "VALUE:4" ], [ "2", "X", "1B", "p", "VALUE:4" ], [ "3", "0", "1B", "c", "VALUE:4" ], [ "3", "0", "1B", "p", "VALUE:4" ], [ "3", "1", "1B", "c", "VALUE:4" ], [ "3", "1", "1B", "p", "VALUE:4" ], [ "3", "1A", "1B", "c", "VALUE:4" ], [ "3", "1A", "1B", "p", "VALUE:4" ], [ "3", "1B", "1B", "c", "VALUE:4" ], [ "3", "1B", "1B", "p", "VALUE:4" ], [ "3", "2", "1B", "c", "VALUE:4" ], [ "3", "2", "1B", "p", "VALUE:4" ], [ "3", "X", "1B", "c", "VALUE:4" ], [ "3", "X", "1B", "p", "VALUE:4" ], [ "4", "0", "1B", "c", "VALUE:4" ], [ "4", "0", "1B", "p", "VALUE:4" ], [ "4", "1", "1B", "c", "VALUE:4" ], [ "4", "1", "1B", "p", "VALUE:4" ], [ "4", "1A", "1B", "c", "VALUE:4" ], [ "4", "1A", "1B", "p", "VALUE:4" ], [ "4", "1B", "1B", "c", "VALUE:4" ], [ "4", "1B", "1B", "p", "VALUE:4" ], [ "4", "2", "1B", "c", "VALUE:4" ], [ "4", "2", "1B", "p", "VALUE:4" ], [ "4", "X", "1B", "c", "VALUE:4" ], [ "4", "X", "1B", "p", "VALUE:4" ], [ "X", "0", "1B", "c", "VALUE:4" ], [ "X", "0", "1B", "p", "VALUE:4" ], [ "X", "1", "1B", "c", "VALUE:4" ], [ "X", "1", "1B", "p", "VALUE:4" ], [ "X", "1A", "1B", "c", "VALUE:4" ], [ "X", "1A", "1B", "p", "VALUE:4" ], [ "X", "1B", "1B", "c", "VALUE:4" ], [ "X", "1B", "1B", "p", "VALUE:4" ], [ "X", "2", "1B", "c", "VALUE:4" ], [ "X", "2", "1B", "p", "VALUE:4" ], [ "X", "X", "1B", "c", "VALUE:4" ], [ "X", "X", "1B", "p", "VALUE:4" ], [ "0", "0", "1C", "c", "VALUE:4" ], [ "0", "0", "1C", "p", "VALUE:4" ], [ "0", "1", "1C", "c", "VALUE:4" ], [ "0", "1", "1C", "p", "VALUE:4" ], [ "0", "1A", "1C", "c", "VALUE:4" ], [ "0", "1A", "1C", "p", "VALUE:4" ], [ "0", "1B", "1C", "c", "VALUE:4" ], [ "0", "1B", "1C", "p", "VALUE:4" ], [ "0", "2", "1C", "c", "VALUE:4" ], [ "0", "2", "1C", "p", "VALUE:4" ], [ "0", "X", "1C", "c", "VALUE:4" ], [ "0", "X", "1C", "p", "VALUE:4" ], [ "IS", "0", "1C", "c", "ERROR:" ], [ "IS", "0", "1C", "p", "ERROR:" ], [ "IS", "1", "1C", "c", "ERROR:" ], [ "IS", "1", "1C", "p", "ERROR:" ], [ "IS", "1A", "1C", "c", "ERROR:" ], [ "IS", "1A", "1C", "p", "ERROR:" ], [ "IS", "1B", "1C", "c", "ERROR:" ], [ "IS", "1B", "1C", "p", "ERROR:" ], [ "IS", "2", "1C", "c", "ERROR:" ], [ "IS", "2", "1C", "p", "ERROR:" ], [ "IS", "X", "1C", "c", "ERROR:" ], [ "IS", "X", "1C", "p", "ERROR:" ], [ "1", "0", "1C", "c", "VALUE:4" ], [ "1", "0", "1C", "p", "VALUE:4" ], [ "1", "1", "1C", "c", "VALUE:4" ], [ "1", "1", "1C", "p", "VALUE:4" ], [ "1", "1A", "1C", "c", "VALUE:4" ], [ "1", "1A", "1C", "p", "VALUE:4" ], [ "1", "1B", "1C", "c", "VALUE:4" ], [ "1", "1B", "1C", "p", "VALUE:4" ], [ "1", "2", "1C", "c", "VALUE:4" ], [ "1", "2", "1C", "p", "VALUE:4" ], [ "1", "X", "1C", "c", "VALUE:4" ], [ "1", "X", "1C", "p", "VALUE:4" ], [ "2", "0", "1C", "c", "VALUE:4" ], [ "2", "0", "1C", "p", "VALUE:4" ], [ "2", "1", "1C", "c", "VALUE:4" ], [ "2", "1", "1C", "p", "VALUE:4" ], [ "2", "1A", "1C", "c", "VALUE:4" ], [ "2", "1A", "1C", "p", "VALUE:4" ], [ "2", "1B", "1C", "c", "VALUE:4" ], [ "2", "1B", "1C", "p", "VALUE:4" ], [ "2", "2", "1C", "c", "VALUE:4" ], [ "2", "2", "1C", "p", "VALUE:4" ], [ "2", "X", "1C", "c", "VALUE:4" ], [ "2", "X", "1C", "p", "VALUE:4" ], [ "3", "0", "1C", "c", "VALUE:4" ], [ "3", "0", "1C", "p", "VALUE:4" ], [ "3", "1", "1C", "c", "VALUE:4" ], [ "3", "1", "1C", "p", "VALUE:4" ], [ "3", "1A", "1C", "c", "VALUE:4" ], [ "3", "1A", "1C", "p", "VALUE:4" ], [ "3", "1B", "1C", "c", "VALUE:4" ], [ "3", "1B", "1C", "p", "VALUE:4" ], [ "3", "2", "1C", "c", "VALUE:4" ], [ "3", "2", "1C", "p", "VALUE:4" ], [ "3", "X", "1C", "c", "VALUE:4" ], [ "3", "X", "1C", "p", "VALUE:4" ], [ "4", "0", "1C", "c", "VALUE:4" ], [ "4", "0", "1C", "p", "VALUE:4" ], [ "4", "1", "1C", "c", "VALUE:4" ], [ "4", "1", "1C", "p", "VALUE:4" ], [ "4", "1A", "1C", "c", "VALUE:4" ], [ "4", "1A", "1C", "p", "VALUE:4" ], [ "4", "1B", "1C", "c", "VALUE:4" ], [ "4", "1B", "1C", "p", "VALUE:4" ], [ "4", "2", "1C", "c", "VALUE:4" ], [ "4", "2", "1C", "p", "VALUE:4" ], [ "4", "X", "1C", "c", "VALUE:4" ], [ "4", "X", "1C", "p", "VALUE:4" ], [ "X", "0", "1C", "c", "VALUE:4" ], [ "X", "0", "1C", "p", "VALUE:4" ], [ "X", "1", "1C", "c", "VALUE:4" ], [ "X", "1", "1C", "p", "VALUE:4" ], [ "X", "1A", "1C", "c", "VALUE:4" ], [ "X", "1A", "1C", "p", "VALUE:4" ], [ "X", "1B", "1C", "c", "VALUE:4" ], [ "X", "1B", "1C", "p", "VALUE:4" ], [ "X", "2", "1C", "c", "VALUE:4" ], [ "X", "2", "1C", "p", "VALUE:4" ], [ "X", "X", "1C", "c", "VALUE:4" ], [ "X", "X", "1C", "p", "VALUE:4" ], [ "0", "0", "1", "c", "VALUE:4" ], [ "0", "0", "1", "p", "VALUE:4" ], [ "0", "1", "1", "c", "VALUE:4" ], [ "0", "1", "1", "p", "VALUE:4" ], [ "0", "1A", "1", "c", "VALUE:4" ], [ "0", "1A", "1", "p", "VALUE:4" ], [ "0", "1B", "1", "c", "VALUE:4" ], [ "0", "1B", "1", "p", "VALUE:4" ], [ "0", "2", "1", "c", "VALUE:4" ], [ "0", "2", "1", "p", "VALUE:4" ], [ "0", "X", "1", "c", "VALUE:4" ], [ "0", "X", "1", "p", "VALUE:4" ], [ "IS", "0", "1", "c", "ERROR:" ], [ "IS", "0", "1", "p", "ERROR:" ], [ "IS", "1", "1", "c", "ERROR:" ], [ "IS", "1", "1", "p", "ERROR:" ], [ "IS", "1A", "1", "c", "ERROR:" ], [ "IS", "1A", "1", "p", "ERROR:" ], [ "IS", "1B", "1", "c", "ERROR:" ], [ "IS", "1B", "1", "p", "ERROR:" ], [ "IS", "2", "1", "c", "ERROR:" ], [ "IS", "2", "1", "p", "ERROR:" ], [ "IS", "X", "1", "c", "ERROR:" ], [ "IS", "X", "1", "p", "ERROR:" ], [ "1", "0", "1", "c", "VALUE:4" ], [ "1", "0", "1", "p", "VALUE:4" ], [ "1", "1", "1", "c", "VALUE:4" ], [ "1", "1", "1", "p", "VALUE:4" ], [ "1", "1A", "1", "c", "VALUE:4" ], [ "1", "1A", "1", "p", "VALUE:4" ], [ "1", "1B", "1", "c", "VALUE:4" ], [ "1", "1B", "1", "p", "VALUE:4" ], [ "1", "2", "1", "c", "VALUE:4" ], [ "1", "2", "1", "p", "VALUE:4" ], [ "1", "X", "1", "c", "VALUE:4" ], [ "1", "X", "1", "p", "VALUE:4" ], [ "2", "0", "1", "c", "VALUE:4" ], [ "2", "0", "1", "p", "VALUE:4" ], [ "2", "1", "1", "c", "VALUE:4" ], [ "2", "1", "1", "p", "VALUE:4" ], [ "2", "1A", "1", "c", "VALUE:4" ], [ "2", "1A", "1", "p", "VALUE:4" ], [ "2", "1B", "1", "c", "VALUE:4" ], [ "2", "1B", "1", "p", "VALUE:4" ], [ "2", "2", "1", "c", "VALUE:4" ], [ "2", "2", "1", "p", "VALUE:4" ], [ "2", "X", "1", "c", "VALUE:4" ], [ "2", "X", "1", "p", "VALUE:4" ], [ "3", "0", "1", "c", "VALUE:4" ], [ "3", "0", "1", "p", "VALUE:4" ], [ "3", "1", "1", "c", "VALUE:4" ], [ "3", "1", "1", "p", "VALUE:4" ], [ "3", "1A", "1", "c", "VALUE:4" ], [ "3", "1A", "1", "p", "VALUE:4" ], [ "3", "1B", "1", "c", "VALUE:4" ], [ "3", "1B", "1", "p", "VALUE:4" ], [ "3", "2", "1", "c", "VALUE:4" ], [ "3", "2", "1", "p", "VALUE:4" ], [ "3", "X", "1", "c", "VALUE:4" ], [ "3", "X", "1", "p", "VALUE:4" ], [ "4", "0", "1", "c", "VALUE:4" ], [ "4", "0", "1", "p", "VALUE:4" ], [ "4", "1", "1", "c", "VALUE:4" ], [ "4", "1", "1", "p", "VALUE:4" ], [ "4", "1A", "1", "c", "VALUE:4" ], [ "4", "1A", "1", "p", "VALUE:4" ], [ "4", "1B", "1", "c", "VALUE:4" ], [ "4", "1B", "1", "p", "VALUE:4" ], [ "4", "2", "1", "c", "VALUE:4" ], [ "4", "2", "1", "p", "VALUE:4" ], [ "4", "X", "1", "c", "VALUE:4" ], [ "4", "X", "1", "p", "VALUE:4" ], [ "X", "0", "1", "c", "VALUE:4" ], [ "X", "0", "1", "p", "VALUE:4" ], [ "X", "1", "1", "c", "VALUE:4" ], [ "X", "1", "1", "p", "VALUE:4" ], [ "X", "1A", "1", "c", "VALUE:4" ], [ "X", "1A", "1", "p", "VALUE:4" ], [ "X", "1B", "1", "c", "VALUE:4" ], [ "X", "1B", "1", "p", "VALUE:4" ], [ "X", "2", "1", "c", "VALUE:4" ], [ "X", "2", "1", "p", "VALUE:4" ], [ "X", "X", "1", "c", "VALUE:4" ], [ "X", "X", "1", "p", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_55778.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_55778.json deleted file mode 100644 index dadb5fba5..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_55778.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm_7_combined_stage_group_55778", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Combined Stage Group", - "title" : "TNM 7 Combined Stage Group", - "last_modified" : "2018-05-14T21:29:06.538Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "prefix_n_in", - "name" : "Prefix N", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "c", "VALUE:99" ], [ "0", "0", "0", "p", "VALUE:99" ], [ "0", "1", "0", "c", "VALUE:3" ], [ "0", "1", "0", "p", "VALUE:3" ], [ "0", "1A", "0", "c", "VALUE:3" ], [ "0", "1A", "0", "p", "VALUE:3" ], [ "0", "1B", "0", "c", "VALUE:3" ], [ "0", "1B", "0", "p", "VALUE:3" ], [ "0", "2", "0", "c", "VALUE:3" ], [ "0", "2", "0", "p", "VALUE:3" ], [ "0", "2A", "0", "c", "VALUE:3" ], [ "0", "2A", "0", "p", "VALUE:3" ], [ "0", "2B", "0", "c", "VALUE:3" ], [ "0", "2B", "0", "p", "VALUE:3" ], [ "0", "2C", "0", "c", "VALUE:3" ], [ "0", "2C", "0", "p", "VALUE:3" ], [ "0", "3", "0", "c", "VALUE:3" ], [ "0", "3", "0", "p", "VALUE:3C" ], [ "0", "X", "0", "c", "VALUE:99" ], [ "0", "X", "0", "p", "VALUE:99" ], [ "IS", "0", "0", "c", "VALUE:0" ], [ "IS", "0", "0", "p", "VALUE:0" ], [ "IS", "1", "0", "c", "VALUE:3" ], [ "IS", "1", "0", "p", "VALUE:3" ], [ "IS", "1A", "0", "c", "VALUE:3" ], [ "IS", "1A", "0", "p", "VALUE:3A" ], [ "IS", "1B", "0", "c", "VALUE:3" ], [ "IS", "1B", "0", "p", "VALUE:3B" ], [ "IS", "2", "0", "c", "VALUE:3" ], [ "IS", "2", "0", "p", "VALUE:3" ], [ "IS", "2A", "0", "c", "VALUE:3" ], [ "IS", "2A", "0", "p", "VALUE:3A" ], [ "IS", "2B", "0", "c", "VALUE:3" ], [ "IS", "2B", "0", "p", "VALUE:3B" ], [ "IS", "2C", "0", "c", "VALUE:3" ], [ "IS", "2C", "0", "p", "VALUE:3B" ], [ "IS", "3", "0", "c", "VALUE:3" ], [ "IS", "3", "0", "p", "VALUE:3C" ], [ "IS", "X", "0", "c", "VALUE:0" ], [ "IS", "X", "0", "p", "VALUE:0" ], [ "1A", "0", "0", "c", "VALUE:1A" ], [ "1A", "0", "0", "p", "VALUE:1A" ], [ "1A", "1", "0", "c", "VALUE:3" ], [ "1A", "1", "0", "p", "VALUE:3" ], [ "1A", "1A", "0", "c", "VALUE:3" ], [ "1A", "1A", "0", "p", "VALUE:3A" ], [ "1A", "1B", "0", "c", "VALUE:3" ], [ "1A", "1B", "0", "p", "VALUE:3B" ], [ "1A", "2", "0", "c", "VALUE:3" ], [ "1A", "2", "0", "p", "VALUE:3" ], [ "1A", "2A", "0", "c", "VALUE:3" ], [ "1A", "2A", "0", "p", "VALUE:3A" ], [ "1A", "2B", "0", "c", "VALUE:3" ], [ "1A", "2B", "0", "p", "VALUE:3B" ], [ "1A", "2C", "0", "c", "VALUE:3" ], [ "1A", "2C", "0", "p", "VALUE:3B" ], [ "1A", "3", "0", "c", "VALUE:3" ], [ "1A", "3", "0", "p", "VALUE:3C" ], [ "1A", "X", "0", "c", "VALUE:99" ], [ "1A", "X", "0", "p", "VALUE:99" ], [ "1B", "0", "0", "c", "VALUE:1B" ], [ "1B", "0", "0", "p", "VALUE:1B" ], [ "1B", "1", "0", "c", "VALUE:3" ], [ "1B", "1", "0", "p", "VALUE:3" ], [ "1B", "1A", "0", "c", "VALUE:3" ], [ "1B", "1A", "0", "p", "VALUE:3B" ], [ "1B", "1B", "0", "c", "VALUE:3" ], [ "1B", "1B", "0", "p", "VALUE:3C" ], [ "1B", "2", "0", "c", "VALUE:3" ], [ "1B", "2", "0", "p", "VALUE:3" ], [ "1B", "2A", "0", "c", "VALUE:3" ], [ "1B", "2A", "0", "p", "VALUE:3B" ], [ "1B", "2B", "0", "c", "VALUE:3" ], [ "1B", "2B", "0", "p", "VALUE:3C" ], [ "1B", "2C", "0", "c", "VALUE:3" ], [ "1B", "2C", "0", "p", "VALUE:3C" ], [ "1B", "3", "0", "c", "VALUE:3" ], [ "1B", "3", "0", "p", "VALUE:3C" ], [ "1B", "X", "0", "c", "VALUE:99" ], [ "1B", "X", "0", "p", "VALUE:99" ], [ "1", "0", "0", "c", "VALUE:1" ], [ "1", "0", "0", "p", "VALUE:1" ], [ "1", "1", "0", "c", "VALUE:3" ], [ "1", "1", "0", "p", "VALUE:3" ], [ "1", "1A", "0", "c", "VALUE:3" ], [ "1", "1A", "0", "p", "VALUE:3" ], [ "1", "1B", "0", "c", "VALUE:3" ], [ "1", "1B", "0", "p", "VALUE:3" ], [ "1", "2", "0", "c", "VALUE:3" ], [ "1", "2", "0", "p", "VALUE:3" ], [ "1", "2A", "0", "c", "VALUE:3" ], [ "1", "2A", "0", "p", "VALUE:3" ], [ "1", "2B", "0", "c", "VALUE:3" ], [ "1", "2B", "0", "p", "VALUE:3" ], [ "1", "2C", "0", "c", "VALUE:3" ], [ "1", "2C", "0", "p", "VALUE:3" ], [ "1", "3", "0", "c", "VALUE:3" ], [ "1", "3", "0", "p", "VALUE:3C" ], [ "1", "X", "0", "c", "VALUE:99" ], [ "1", "X", "0", "p", "VALUE:99" ], [ "2A", "0", "0", "c", "VALUE:1B" ], [ "2A", "0", "0", "p", "VALUE:1B" ], [ "2A", "1", "0", "c", "VALUE:3" ], [ "2A", "1", "0", "p", "VALUE:3" ], [ "2A", "1A", "0", "c", "VALUE:3" ], [ "2A", "1A", "0", "p", "VALUE:3A" ], [ "2A", "1B", "0", "c", "VALUE:3" ], [ "2A", "1B", "0", "p", "VALUE:3B" ], [ "2A", "2", "0", "c", "VALUE:3" ], [ "2A", "2", "0", "p", "VALUE:3" ], [ "2A", "2A", "0", "c", "VALUE:3" ], [ "2A", "2A", "0", "p", "VALUE:3A" ], [ "2A", "2B", "0", "c", "VALUE:3" ], [ "2A", "2B", "0", "p", "VALUE:3B" ], [ "2A", "2C", "0", "c", "VALUE:3" ], [ "2A", "2C", "0", "p", "VALUE:3B" ], [ "2A", "3", "0", "c", "VALUE:3" ], [ "2A", "3", "0", "p", "VALUE:3C" ], [ "2A", "X", "0", "c", "VALUE:99" ], [ "2A", "X", "0", "p", "VALUE:99" ], [ "2B", "0", "0", "c", "VALUE:2A" ], [ "2B", "0", "0", "p", "VALUE:2A" ], [ "2B", "1", "0", "c", "VALUE:3" ], [ "2B", "1", "0", "p", "VALUE:3" ], [ "2B", "1A", "0", "c", "VALUE:3" ], [ "2B", "1A", "0", "p", "VALUE:3B" ], [ "2B", "1B", "0", "c", "VALUE:3" ], [ "2B", "1B", "0", "p", "VALUE:3C" ], [ "2B", "2", "0", "c", "VALUE:3" ], [ "2B", "2", "0", "p", "VALUE:3" ], [ "2B", "2A", "0", "c", "VALUE:3" ], [ "2B", "2A", "0", "p", "VALUE:3B" ], [ "2B", "2B", "0", "c", "VALUE:3" ], [ "2B", "2B", "0", "p", "VALUE:3C" ], [ "2B", "2C", "0", "c", "VALUE:3" ], [ "2B", "2C", "0", "p", "VALUE:3C" ], [ "2B", "3", "0", "c", "VALUE:3" ], [ "2B", "3", "0", "p", "VALUE:3C" ], [ "2B", "X", "0", "c", "VALUE:99" ], [ "2B", "X", "0", "p", "VALUE:99" ], [ "2", "0", "0", "c", "VALUE:99" ], [ "2", "0", "0", "p", "VALUE:99" ], [ "2", "1", "0", "c", "VALUE:3" ], [ "2", "1", "0", "p", "VALUE:3" ], [ "2", "1A", "0", "c", "VALUE:3" ], [ "2", "1A", "0", "p", "VALUE:3" ], [ "2", "1B", "0", "c", "VALUE:3" ], [ "2", "1B", "0", "p", "VALUE:3" ], [ "2", "2", "0", "c", "VALUE:3" ], [ "2", "2", "0", "p", "VALUE:3" ], [ "2", "2A", "0", "c", "VALUE:3" ], [ "2", "2A", "0", "p", "VALUE:3" ], [ "2", "2B", "0", "c", "VALUE:3" ], [ "2", "2B", "0", "p", "VALUE:3" ], [ "2", "2C", "0", "c", "VALUE:3" ], [ "2", "2C", "0", "p", "VALUE:3" ], [ "2", "3", "0", "c", "VALUE:3" ], [ "2", "3", "0", "p", "VALUE:3C" ], [ "2", "X", "0", "c", "VALUE:99" ], [ "2", "X", "0", "p", "VALUE:99" ], [ "3A", "0", "0", "c", "VALUE:2A" ], [ "3A", "0", "0", "p", "VALUE:2A" ], [ "3A", "1", "0", "c", "VALUE:3" ], [ "3A", "1", "0", "p", "VALUE:3" ], [ "3A", "1A", "0", "c", "VALUE:3" ], [ "3A", "1A", "0", "p", "VALUE:3A" ], [ "3A", "1B", "0", "c", "VALUE:3" ], [ "3A", "1B", "0", "p", "VALUE:3B" ], [ "3A", "2", "0", "c", "VALUE:3" ], [ "3A", "2", "0", "p", "VALUE:3" ], [ "3A", "2A", "0", "c", "VALUE:3" ], [ "3A", "2A", "0", "p", "VALUE:3A" ], [ "3A", "2B", "0", "c", "VALUE:3" ], [ "3A", "2B", "0", "p", "VALUE:3B" ], [ "3A", "2C", "0", "c", "VALUE:3" ], [ "3A", "2C", "0", "p", "VALUE:3B" ], [ "3A", "3", "0", "c", "VALUE:3" ], [ "3A", "3", "0", "p", "VALUE:3C" ], [ "3A", "X", "0", "c", "VALUE:99" ], [ "3A", "X", "0", "p", "VALUE:99" ], [ "3B", "0", "0", "c", "VALUE:2B" ], [ "3B", "0", "0", "p", "VALUE:2B" ], [ "3B", "1", "0", "c", "VALUE:3" ], [ "3B", "1", "0", "p", "VALUE:3" ], [ "3B", "1A", "0", "c", "VALUE:3" ], [ "3B", "1A", "0", "p", "VALUE:3B" ], [ "3B", "1B", "0", "c", "VALUE:3" ], [ "3B", "1B", "0", "p", "VALUE:3C" ], [ "3B", "2", "0", "c", "VALUE:3" ], [ "3B", "2", "0", "p", "VALUE:3" ], [ "3B", "2A", "0", "c", "VALUE:3" ], [ "3B", "2A", "0", "p", "VALUE:3B" ], [ "3B", "2B", "0", "c", "VALUE:3" ], [ "3B", "2B", "0", "p", "VALUE:3C" ], [ "3B", "2C", "0", "c", "VALUE:3" ], [ "3B", "2C", "0", "p", "VALUE:3C" ], [ "3B", "3", "0", "c", "VALUE:3" ], [ "3B", "3", "0", "p", "VALUE:3C" ], [ "3B", "X", "0", "c", "VALUE:99" ], [ "3B", "X", "0", "p", "VALUE:99" ], [ "3", "0", "0", "c", "VALUE:2" ], [ "3", "0", "0", "p", "VALUE:2" ], [ "3", "1", "0", "c", "VALUE:3" ], [ "3", "1", "0", "p", "VALUE:3" ], [ "3", "1A", "0", "c", "VALUE:3" ], [ "3", "1A", "0", "p", "VALUE:3" ], [ "3", "1B", "0", "c", "VALUE:3" ], [ "3", "1B", "0", "p", "VALUE:3" ], [ "3", "2", "0", "c", "VALUE:3" ], [ "3", "2", "0", "p", "VALUE:3" ], [ "3", "2A", "0", "c", "VALUE:3" ], [ "3", "2A", "0", "p", "VALUE:3" ], [ "3", "2B", "0", "c", "VALUE:3" ], [ "3", "2B", "0", "p", "VALUE:3" ], [ "3", "2C", "0", "c", "VALUE:3" ], [ "3", "2C", "0", "p", "VALUE:3" ], [ "3", "3", "0", "c", "VALUE:3" ], [ "3", "3", "0", "p", "VALUE:3C" ], [ "3", "X", "0", "c", "VALUE:99" ], [ "3", "X", "0", "p", "VALUE:99" ], [ "4A", "0", "0", "c", "VALUE:2B" ], [ "4A", "0", "0", "p", "VALUE:2B" ], [ "4A", "1", "0", "c", "VALUE:3" ], [ "4A", "1", "0", "p", "VALUE:3" ], [ "4A", "1A", "0", "c", "VALUE:3" ], [ "4A", "1A", "0", "p", "VALUE:3A" ], [ "4A", "1B", "0", "c", "VALUE:3" ], [ "4A", "1B", "0", "p", "VALUE:3B" ], [ "4A", "2", "0", "c", "VALUE:3" ], [ "4A", "2", "0", "p", "VALUE:3" ], [ "4A", "2A", "0", "c", "VALUE:3" ], [ "4A", "2A", "0", "p", "VALUE:3A" ], [ "4A", "2B", "0", "c", "VALUE:3" ], [ "4A", "2B", "0", "p", "VALUE:3B" ], [ "4A", "2C", "0", "c", "VALUE:3" ], [ "4A", "2C", "0", "p", "VALUE:3B" ], [ "4A", "3", "0", "c", "VALUE:3" ], [ "4A", "3", "0", "p", "VALUE:3C" ], [ "4A", "X", "0", "c", "VALUE:99" ], [ "4A", "X", "0", "p", "VALUE:99" ], [ "4B", "0", "0", "c", "VALUE:2C" ], [ "4B", "0", "0", "p", "VALUE:2C" ], [ "4B", "1", "0", "c", "VALUE:3" ], [ "4B", "1", "0", "p", "VALUE:3" ], [ "4B", "1A", "0", "c", "VALUE:3" ], [ "4B", "1A", "0", "p", "VALUE:3B" ], [ "4B", "1B", "0", "c", "VALUE:3" ], [ "4B", "1B", "0", "p", "VALUE:3C" ], [ "4B", "2", "0", "c", "VALUE:3" ], [ "4B", "2", "0", "p", "VALUE:3" ], [ "4B", "2A", "0", "c", "VALUE:3B" ], [ "4B", "2A", "0", "p", "VALUE:3B" ], [ "4B", "2B", "0", "c", "VALUE:3C" ], [ "4B", "2B", "0", "p", "VALUE:3C" ], [ "4B", "2C", "0", "c", "VALUE:3" ], [ "4B", "2C", "0", "p", "VALUE:3C" ], [ "4B", "3", "0", "c", "VALUE:3" ], [ "4B", "3", "0", "p", "VALUE:3C" ], [ "4B", "X", "0", "c", "VALUE:99" ], [ "4B", "X", "0", "p", "VALUE:99" ], [ "4", "0", "0", "c", "VALUE:2" ], [ "4", "0", "0", "p", "VALUE:2" ], [ "4", "1", "0", "c", "VALUE:3" ], [ "4", "1", "0", "p", "VALUE:3" ], [ "4", "1A", "0", "c", "VALUE:3" ], [ "4", "1A", "0", "p", "VALUE:3" ], [ "4", "1B", "0", "c", "VALUE:3" ], [ "4", "1B", "0", "p", "VALUE:3" ], [ "4", "2", "0", "c", "VALUE:3" ], [ "4", "2", "0", "p", "VALUE:3" ], [ "4", "2A", "0", "c", "VALUE:3" ], [ "4", "2A", "0", "p", "VALUE:3" ], [ "4", "2B", "0", "c", "VALUE:3" ], [ "4", "2B", "0", "p", "VALUE:3" ], [ "4", "2C", "0", "c", "VALUE:3" ], [ "4", "2C", "0", "p", "VALUE:3" ], [ "4", "3", "0", "c", "VALUE:3" ], [ "4", "3", "0", "p", "VALUE:3C" ], [ "4", "X", "0", "c", "VALUE:99" ], [ "4", "X", "0", "p", "VALUE:99" ], [ "X", "0", "0", "c", "VALUE:99" ], [ "X", "0", "0", "p", "VALUE:99" ], [ "X", "1", "0", "c", "VALUE:3" ], [ "X", "1", "0", "p", "VALUE:3" ], [ "X", "1A", "0", "c", "VALUE:3" ], [ "X", "1A", "0", "p", "VALUE:3" ], [ "X", "1B", "0", "c", "VALUE:3" ], [ "X", "1B", "0", "p", "VALUE:3" ], [ "X", "2", "0", "c", "VALUE:3" ], [ "X", "2", "0", "p", "VALUE:3" ], [ "X", "2A", "0", "c", "VALUE:3" ], [ "X", "2A", "0", "p", "VALUE:3" ], [ "X", "2B", "0", "c", "VALUE:3" ], [ "X", "2B", "0", "p", "VALUE:3" ], [ "X", "2C", "0", "c", "VALUE:3" ], [ "X", "2C", "0", "p", "VALUE:3" ], [ "X", "3", "0", "c", "VALUE:3" ], [ "X", "3", "0", "p", "VALUE:3C" ], [ "X", "X", "0", "c", "VALUE:99" ], [ "X", "X", "0", "p", "VALUE:99" ], [ "0", "0", "1A", "c", "VALUE:4" ], [ "0", "0", "1A", "p", "VALUE:4" ], [ "0", "1", "1A", "c", "VALUE:4" ], [ "0", "1", "1A", "p", "VALUE:4" ], [ "0", "1A", "1A", "c", "VALUE:4" ], [ "0", "1A", "1A", "p", "VALUE:4" ], [ "0", "1B", "1A", "c", "VALUE:4" ], [ "0", "1B", "1A", "p", "VALUE:4" ], [ "0", "2", "1A", "c", "VALUE:4" ], [ "0", "2", "1A", "p", "VALUE:4" ], [ "0", "2A", "1A", "c", "VALUE:4" ], [ "0", "2A", "1A", "p", "VALUE:4" ], [ "0", "2B", "1A", "c", "VALUE:4" ], [ "0", "2B", "1A", "p", "VALUE:4" ], [ "0", "2C", "1A", "c", "VALUE:4" ], [ "0", "2C", "1A", "p", "VALUE:4" ], [ "0", "3", "1A", "c", "VALUE:4" ], [ "0", "3", "1A", "p", "VALUE:4" ], [ "0", "X", "1A", "c", "VALUE:4" ], [ "0", "X", "1A", "p", "VALUE:4" ], [ "IS", "0", "1A", "c", "VALUE:4" ], [ "IS", "0", "1A", "p", "VALUE:4" ], [ "IS", "1", "1A", "c", "VALUE:4" ], [ "IS", "1", "1A", "p", "VALUE:4" ], [ "IS", "1A", "1A", "c", "VALUE:4" ], [ "IS", "1A", "1A", "p", "VALUE:4" ], [ "IS", "1B", "1A", "c", "VALUE:4" ], [ "IS", "1B", "1A", "p", "VALUE:4" ], [ "IS", "2", "1A", "c", "VALUE:4" ], [ "IS", "2", "1A", "p", "VALUE:4" ], [ "IS", "2A", "1A", "c", "VALUE:4" ], [ "IS", "2A", "1A", "p", "VALUE:4" ], [ "IS", "2B", "1A", "c", "VALUE:4" ], [ "IS", "2B", "1A", "p", "VALUE:4" ], [ "IS", "2C", "1A", "c", "VALUE:4" ], [ "IS", "2C", "1A", "p", "VALUE:4" ], [ "IS", "3", "1A", "c", "VALUE:4" ], [ "IS", "3", "1A", "p", "VALUE:4" ], [ "IS", "X", "1A", "c", "VALUE:4" ], [ "IS", "X", "1A", "p", "VALUE:4" ], [ "1A", "0", "1A", "c", "VALUE:4" ], [ "1A", "0", "1A", "p", "VALUE:4" ], [ "1A", "1", "1A", "c", "VALUE:4" ], [ "1A", "1", "1A", "p", "VALUE:4" ], [ "1A", "1A", "1A", "c", "VALUE:4" ], [ "1A", "1A", "1A", "p", "VALUE:4" ], [ "1A", "1B", "1A", "c", "VALUE:4" ], [ "1A", "1B", "1A", "p", "VALUE:4" ], [ "1A", "2", "1A", "c", "VALUE:4" ], [ "1A", "2", "1A", "p", "VALUE:4" ], [ "1A", "2A", "1A", "c", "VALUE:4" ], [ "1A", "2A", "1A", "p", "VALUE:4" ], [ "1A", "2B", "1A", "c", "VALUE:4" ], [ "1A", "2B", "1A", "p", "VALUE:4" ], [ "1A", "2C", "1A", "c", "VALUE:4" ], [ "1A", "2C", "1A", "p", "VALUE:4" ], [ "1A", "3", "1A", "c", "VALUE:4" ], [ "1A", "3", "1A", "p", "VALUE:4" ], [ "1A", "X", "1A", "c", "VALUE:4" ], [ "1A", "X", "1A", "p", "VALUE:4" ], [ "1B", "0", "1A", "c", "VALUE:4" ], [ "1B", "0", "1A", "p", "VALUE:4" ], [ "1B", "1", "1A", "c", "VALUE:4" ], [ "1B", "1", "1A", "p", "VALUE:4" ], [ "1B", "1A", "1A", "c", "VALUE:4" ], [ "1B", "1A", "1A", "p", "VALUE:4" ], [ "1B", "1B", "1A", "c", "VALUE:4" ], [ "1B", "1B", "1A", "p", "VALUE:4" ], [ "1B", "2", "1A", "c", "VALUE:4" ], [ "1B", "2", "1A", "p", "VALUE:4" ], [ "1B", "2A", "1A", "c", "VALUE:4" ], [ "1B", "2A", "1A", "p", "VALUE:4" ], [ "1B", "2B", "1A", "c", "VALUE:4" ], [ "1B", "2B", "1A", "p", "VALUE:4" ], [ "1B", "2C", "1A", "c", "VALUE:4" ], [ "1B", "2C", "1A", "p", "VALUE:4" ], [ "1B", "3", "1A", "c", "VALUE:4" ], [ "1B", "3", "1A", "p", "VALUE:4" ], [ "1B", "X", "1A", "c", "VALUE:4" ], [ "1B", "X", "1A", "p", "VALUE:4" ], [ "1", "0", "1A", "c", "VALUE:4" ], [ "1", "0", "1A", "p", "VALUE:4" ], [ "1", "1", "1A", "c", "VALUE:4" ], [ "1", "1", "1A", "p", "VALUE:4" ], [ "1", "1A", "1A", "c", "VALUE:4" ], [ "1", "1A", "1A", "p", "VALUE:4" ], [ "1", "1B", "1A", "c", "VALUE:4" ], [ "1", "1B", "1A", "p", "VALUE:4" ], [ "1", "2", "1A", "c", "VALUE:4" ], [ "1", "2", "1A", "p", "VALUE:4" ], [ "1", "2A", "1A", "c", "VALUE:4" ], [ "1", "2A", "1A", "p", "VALUE:4" ], [ "1", "2B", "1A", "c", "VALUE:4" ], [ "1", "2B", "1A", "p", "VALUE:4" ], [ "1", "2C", "1A", "c", "VALUE:4" ], [ "1", "2C", "1A", "p", "VALUE:4" ], [ "1", "3", "1A", "c", "VALUE:4" ], [ "1", "3", "1A", "p", "VALUE:4" ], [ "1", "X", "1A", "c", "VALUE:4" ], [ "1", "X", "1A", "p", "VALUE:4" ], [ "2A", "0", "1A", "c", "VALUE:4" ], [ "2A", "0", "1A", "p", "VALUE:4" ], [ "2A", "1", "1A", "c", "VALUE:4" ], [ "2A", "1", "1A", "p", "VALUE:4" ], [ "2A", "1A", "1A", "c", "VALUE:4" ], [ "2A", "1A", "1A", "p", "VALUE:4" ], [ "2A", "1B", "1A", "c", "VALUE:4" ], [ "2A", "1B", "1A", "p", "VALUE:4" ], [ "2A", "2", "1A", "c", "VALUE:4" ], [ "2A", "2", "1A", "p", "VALUE:4" ], [ "2A", "2A", "1A", "c", "VALUE:4" ], [ "2A", "2A", "1A", "p", "VALUE:4" ], [ "2A", "2B", "1A", "c", "VALUE:4" ], [ "2A", "2B", "1A", "p", "VALUE:4" ], [ "2A", "2C", "1A", "c", "VALUE:4" ], [ "2A", "2C", "1A", "p", "VALUE:4" ], [ "2A", "3", "1A", "c", "VALUE:4" ], [ "2A", "3", "1A", "p", "VALUE:4" ], [ "2A", "X", "1A", "c", "VALUE:4" ], [ "2A", "X", "1A", "p", "VALUE:4" ], [ "2B", "0", "1A", "c", "VALUE:4" ], [ "2B", "0", "1A", "p", "VALUE:4" ], [ "2B", "1", "1A", "c", "VALUE:4" ], [ "2B", "1", "1A", "p", "VALUE:4" ], [ "2B", "1A", "1A", "c", "VALUE:4" ], [ "2B", "1A", "1A", "p", "VALUE:4" ], [ "2B", "1B", "1A", "c", "VALUE:4" ], [ "2B", "1B", "1A", "p", "VALUE:4" ], [ "2B", "2", "1A", "c", "VALUE:4" ], [ "2B", "2", "1A", "p", "VALUE:4" ], [ "2B", "2A", "1A", "c", "VALUE:4" ], [ "2B", "2A", "1A", "p", "VALUE:4" ], [ "2B", "2B", "1A", "c", "VALUE:4" ], [ "2B", "2B", "1A", "p", "VALUE:4" ], [ "2B", "2C", "1A", "c", "VALUE:4" ], [ "2B", "2C", "1A", "p", "VALUE:4" ], [ "2B", "3", "1A", "c", "VALUE:4" ], [ "2B", "3", "1A", "p", "VALUE:4" ], [ "2B", "X", "1A", "c", "VALUE:4" ], [ "2B", "X", "1A", "p", "VALUE:4" ], [ "2", "0", "1A", "c", "VALUE:4" ], [ "2", "0", "1A", "p", "VALUE:4" ], [ "2", "1", "1A", "c", "VALUE:4" ], [ "2", "1", "1A", "p", "VALUE:4" ], [ "2", "1A", "1A", "c", "VALUE:4" ], [ "2", "1A", "1A", "p", "VALUE:4" ], [ "2", "1B", "1A", "c", "VALUE:4" ], [ "2", "1B", "1A", "p", "VALUE:4" ], [ "2", "2", "1A", "c", "VALUE:4" ], [ "2", "2", "1A", "p", "VALUE:4" ], [ "2", "2A", "1A", "c", "VALUE:4" ], [ "2", "2A", "1A", "p", "VALUE:4" ], [ "2", "2B", "1A", "c", "VALUE:4" ], [ "2", "2B", "1A", "p", "VALUE:4" ], [ "2", "2C", "1A", "c", "VALUE:4" ], [ "2", "2C", "1A", "p", "VALUE:4" ], [ "2", "3", "1A", "c", "VALUE:4" ], [ "2", "3", "1A", "p", "VALUE:4" ], [ "2", "X", "1A", "c", "VALUE:4" ], [ "2", "X", "1A", "p", "VALUE:4" ], [ "3A", "0", "1A", "c", "VALUE:4" ], [ "3A", "0", "1A", "p", "VALUE:4" ], [ "3A", "1", "1A", "c", "VALUE:4" ], [ "3A", "1", "1A", "p", "VALUE:4" ], [ "3A", "1A", "1A", "c", "VALUE:4" ], [ "3A", "1A", "1A", "p", "VALUE:4" ], [ "3A", "1B", "1A", "c", "VALUE:4" ], [ "3A", "1B", "1A", "p", "VALUE:4" ], [ "3A", "2", "1A", "c", "VALUE:4" ], [ "3A", "2", "1A", "p", "VALUE:4" ], [ "3A", "2A", "1A", "c", "VALUE:4" ], [ "3A", "2A", "1A", "p", "VALUE:4" ], [ "3A", "2B", "1A", "c", "VALUE:4" ], [ "3A", "2B", "1A", "p", "VALUE:4" ], [ "3A", "2C", "1A", "c", "VALUE:4" ], [ "3A", "2C", "1A", "p", "VALUE:4" ], [ "3A", "3", "1A", "c", "VALUE:4" ], [ "3A", "3", "1A", "p", "VALUE:4" ], [ "3A", "X", "1A", "c", "VALUE:4" ], [ "3A", "X", "1A", "p", "VALUE:4" ], [ "3B", "0", "1A", "c", "VALUE:4" ], [ "3B", "0", "1A", "p", "VALUE:4" ], [ "3B", "1", "1A", "c", "VALUE:4" ], [ "3B", "1", "1A", "p", "VALUE:4" ], [ "3B", "1A", "1A", "c", "VALUE:4" ], [ "3B", "1A", "1A", "p", "VALUE:4" ], [ "3B", "1B", "1A", "c", "VALUE:4" ], [ "3B", "1B", "1A", "p", "VALUE:4" ], [ "3B", "2", "1A", "c", "VALUE:4" ], [ "3B", "2", "1A", "p", "VALUE:4" ], [ "3B", "2A", "1A", "c", "VALUE:4" ], [ "3B", "2A", "1A", "p", "VALUE:4" ], [ "3B", "2B", "1A", "c", "VALUE:4" ], [ "3B", "2B", "1A", "p", "VALUE:4" ], [ "3B", "2C", "1A", "c", "VALUE:4" ], [ "3B", "2C", "1A", "p", "VALUE:4" ], [ "3B", "3", "1A", "c", "VALUE:4" ], [ "3B", "3", "1A", "p", "VALUE:4" ], [ "3B", "X", "1A", "c", "VALUE:4" ], [ "3B", "X", "1A", "p", "VALUE:4" ], [ "3", "0", "1A", "c", "VALUE:4" ], [ "3", "0", "1A", "p", "VALUE:4" ], [ "3", "1", "1A", "c", "VALUE:4" ], [ "3", "1", "1A", "p", "VALUE:4" ], [ "3", "1A", "1A", "c", "VALUE:4" ], [ "3", "1A", "1A", "p", "VALUE:4" ], [ "3", "1B", "1A", "c", "VALUE:4" ], [ "3", "1B", "1A", "p", "VALUE:4" ], [ "3", "2", "1A", "c", "VALUE:4" ], [ "3", "2", "1A", "p", "VALUE:4" ], [ "3", "2A", "1A", "c", "VALUE:4" ], [ "3", "2A", "1A", "p", "VALUE:4" ], [ "3", "2B", "1A", "c", "VALUE:4" ], [ "3", "2B", "1A", "p", "VALUE:4" ], [ "3", "2C", "1A", "c", "VALUE:4" ], [ "3", "2C", "1A", "p", "VALUE:4" ], [ "3", "3", "1A", "c", "VALUE:4" ], [ "3", "3", "1A", "p", "VALUE:4" ], [ "3", "X", "1A", "c", "VALUE:4" ], [ "3", "X", "1A", "p", "VALUE:4" ], [ "4A", "0", "1A", "c", "VALUE:4" ], [ "4A", "0", "1A", "p", "VALUE:4" ], [ "4A", "1", "1A", "c", "VALUE:4" ], [ "4A", "1", "1A", "p", "VALUE:4" ], [ "4A", "1A", "1A", "c", "VALUE:4" ], [ "4A", "1A", "1A", "p", "VALUE:4" ], [ "4A", "1B", "1A", "c", "VALUE:4" ], [ "4A", "1B", "1A", "p", "VALUE:4" ], [ "4A", "2", "1A", "c", "VALUE:4" ], [ "4A", "2", "1A", "p", "VALUE:4" ], [ "4A", "2A", "1A", "c", "VALUE:4" ], [ "4A", "2A", "1A", "p", "VALUE:4" ], [ "4A", "2B", "1A", "c", "VALUE:4" ], [ "4A", "2B", "1A", "p", "VALUE:4" ], [ "4A", "2C", "1A", "c", "VALUE:4" ], [ "4A", "2C", "1A", "p", "VALUE:4" ], [ "4A", "3", "1A", "c", "VALUE:4" ], [ "4A", "3", "1A", "p", "VALUE:4" ], [ "4A", "X", "1A", "c", "VALUE:4" ], [ "4A", "X", "1A", "p", "VALUE:4" ], [ "4B", "0", "1A", "c", "VALUE:4" ], [ "4B", "0", "1A", "p", "VALUE:4" ], [ "4B", "1", "1A", "c", "VALUE:4" ], [ "4B", "1", "1A", "p", "VALUE:4" ], [ "4B", "1A", "1A", "c", "VALUE:4" ], [ "4B", "1A", "1A", "p", "VALUE:4" ], [ "4B", "1B", "1A", "c", "VALUE:4" ], [ "4B", "1B", "1A", "p", "VALUE:4" ], [ "4B", "2", "1A", "c", "VALUE:4" ], [ "4B", "2", "1A", "p", "VALUE:4" ], [ "4B", "2A", "1A", "c", "VALUE:4" ], [ "4B", "2A", "1A", "p", "VALUE:4" ], [ "4B", "2B", "1A", "c", "VALUE:4" ], [ "4B", "2B", "1A", "p", "VALUE:4" ], [ "4B", "2C", "1A", "c", "VALUE:4" ], [ "4B", "2C", "1A", "p", "VALUE:4" ], [ "4B", "3", "1A", "c", "VALUE:4" ], [ "4B", "3", "1A", "p", "VALUE:4" ], [ "4B", "X", "1A", "c", "VALUE:4" ], [ "4B", "X", "1A", "p", "VALUE:4" ], [ "4", "0", "1A", "c", "VALUE:4" ], [ "4", "0", "1A", "p", "VALUE:4" ], [ "4", "1", "1A", "c", "VALUE:4" ], [ "4", "1", "1A", "p", "VALUE:4" ], [ "4", "1A", "1A", "c", "VALUE:4" ], [ "4", "1A", "1A", "p", "VALUE:4" ], [ "4", "1B", "1A", "c", "VALUE:4" ], [ "4", "1B", "1A", "p", "VALUE:4" ], [ "4", "2", "1A", "c", "VALUE:4" ], [ "4", "2", "1A", "p", "VALUE:4" ], [ "4", "2A", "1A", "c", "VALUE:4" ], [ "4", "2A", "1A", "p", "VALUE:4" ], [ "4", "2B", "1A", "c", "VALUE:4" ], [ "4", "2B", "1A", "p", "VALUE:4" ], [ "4", "2C", "1A", "c", "VALUE:4" ], [ "4", "2C", "1A", "p", "VALUE:4" ], [ "4", "3", "1A", "c", "VALUE:4" ], [ "4", "3", "1A", "p", "VALUE:4" ], [ "4", "X", "1A", "c", "VALUE:4" ], [ "4", "X", "1A", "p", "VALUE:4" ], [ "X", "0", "1A", "c", "VALUE:4" ], [ "X", "0", "1A", "p", "VALUE:4" ], [ "X", "1", "1A", "c", "VALUE:4" ], [ "X", "1", "1A", "p", "VALUE:4" ], [ "X", "1A", "1A", "c", "VALUE:4" ], [ "X", "1A", "1A", "p", "VALUE:4" ], [ "X", "1B", "1A", "c", "VALUE:4" ], [ "X", "1B", "1A", "p", "VALUE:4" ], [ "X", "2", "1A", "c", "VALUE:4" ], [ "X", "2", "1A", "p", "VALUE:4" ], [ "X", "2A", "1A", "c", "VALUE:4" ], [ "X", "2A", "1A", "p", "VALUE:4" ], [ "X", "2B", "1A", "c", "VALUE:4" ], [ "X", "2B", "1A", "p", "VALUE:4" ], [ "X", "2C", "1A", "c", "VALUE:4" ], [ "X", "2C", "1A", "p", "VALUE:4" ], [ "X", "3", "1A", "c", "VALUE:4" ], [ "X", "3", "1A", "p", "VALUE:4" ], [ "X", "X", "1A", "c", "VALUE:4" ], [ "X", "X", "1A", "p", "VALUE:4" ], [ "0", "0", "1B", "c", "VALUE:4" ], [ "0", "0", "1B", "p", "VALUE:4" ], [ "0", "1", "1B", "c", "VALUE:4" ], [ "0", "1", "1B", "p", "VALUE:4" ], [ "0", "1A", "1B", "c", "VALUE:4" ], [ "0", "1A", "1B", "p", "VALUE:4" ], [ "0", "1B", "1B", "c", "VALUE:4" ], [ "0", "1B", "1B", "p", "VALUE:4" ], [ "0", "2", "1B", "c", "VALUE:4" ], [ "0", "2", "1B", "p", "VALUE:4" ], [ "0", "2A", "1B", "c", "VALUE:4" ], [ "0", "2A", "1B", "p", "VALUE:4" ], [ "0", "2B", "1B", "c", "VALUE:4" ], [ "0", "2B", "1B", "p", "VALUE:4" ], [ "0", "2C", "1B", "c", "VALUE:4" ], [ "0", "2C", "1B", "p", "VALUE:4" ], [ "0", "3", "1B", "c", "VALUE:4" ], [ "0", "3", "1B", "p", "VALUE:4" ], [ "0", "X", "1B", "c", "VALUE:4" ], [ "0", "X", "1B", "p", "VALUE:4" ], [ "IS", "0", "1B", "c", "VALUE:4" ], [ "IS", "0", "1B", "p", "VALUE:4" ], [ "IS", "1", "1B", "c", "VALUE:4" ], [ "IS", "1", "1B", "p", "VALUE:4" ], [ "IS", "1A", "1B", "c", "VALUE:4" ], [ "IS", "1A", "1B", "p", "VALUE:4" ], [ "IS", "1B", "1B", "c", "VALUE:4" ], [ "IS", "1B", "1B", "p", "VALUE:4" ], [ "IS", "2", "1B", "c", "VALUE:4" ], [ "IS", "2", "1B", "p", "VALUE:4" ], [ "IS", "2A", "1B", "c", "VALUE:4" ], [ "IS", "2A", "1B", "p", "VALUE:4" ], [ "IS", "2B", "1B", "c", "VALUE:4" ], [ "IS", "2B", "1B", "p", "VALUE:4" ], [ "IS", "2C", "1B", "c", "VALUE:4" ], [ "IS", "2C", "1B", "p", "VALUE:4" ], [ "IS", "3", "1B", "c", "VALUE:4" ], [ "IS", "3", "1B", "p", "VALUE:4" ], [ "IS", "X", "1B", "c", "VALUE:4" ], [ "IS", "X", "1B", "p", "VALUE:4" ], [ "1A", "0", "1B", "c", "VALUE:4" ], [ "1A", "0", "1B", "p", "VALUE:4" ], [ "1A", "1", "1B", "c", "VALUE:4" ], [ "1A", "1", "1B", "p", "VALUE:4" ], [ "1A", "1A", "1B", "c", "VALUE:4" ], [ "1A", "1A", "1B", "p", "VALUE:4" ], [ "1A", "1B", "1B", "c", "VALUE:4" ], [ "1A", "1B", "1B", "p", "VALUE:4" ], [ "1A", "2", "1B", "c", "VALUE:4" ], [ "1A", "2", "1B", "p", "VALUE:4" ], [ "1A", "2A", "1B", "c", "VALUE:4" ], [ "1A", "2A", "1B", "p", "VALUE:4" ], [ "1A", "2B", "1B", "c", "VALUE:4" ], [ "1A", "2B", "1B", "p", "VALUE:4" ], [ "1A", "2C", "1B", "c", "VALUE:4" ], [ "1A", "2C", "1B", "p", "VALUE:4" ], [ "1A", "3", "1B", "c", "VALUE:4" ], [ "1A", "3", "1B", "p", "VALUE:4" ], [ "1A", "X", "1B", "c", "VALUE:4" ], [ "1A", "X", "1B", "p", "VALUE:4" ], [ "1B", "0", "1B", "c", "VALUE:4" ], [ "1B", "0", "1B", "p", "VALUE:4" ], [ "1B", "1", "1B", "c", "VALUE:4" ], [ "1B", "1", "1B", "p", "VALUE:4" ], [ "1B", "1A", "1B", "c", "VALUE:4" ], [ "1B", "1A", "1B", "p", "VALUE:4" ], [ "1B", "1B", "1B", "c", "VALUE:4" ], [ "1B", "1B", "1B", "p", "VALUE:4" ], [ "1B", "2", "1B", "c", "VALUE:4" ], [ "1B", "2", "1B", "p", "VALUE:4" ], [ "1B", "2A", "1B", "c", "VALUE:4" ], [ "1B", "2A", "1B", "p", "VALUE:4" ], [ "1B", "2B", "1B", "c", "VALUE:4" ], [ "1B", "2B", "1B", "p", "VALUE:4" ], [ "1B", "2C", "1B", "c", "VALUE:4" ], [ "1B", "2C", "1B", "p", "VALUE:4" ], [ "1B", "3", "1B", "c", "VALUE:4" ], [ "1B", "3", "1B", "p", "VALUE:4" ], [ "1B", "X", "1B", "c", "VALUE:4" ], [ "1B", "X", "1B", "p", "VALUE:4" ], [ "1", "0", "1B", "c", "VALUE:4" ], [ "1", "0", "1B", "p", "VALUE:4" ], [ "1", "1", "1B", "c", "VALUE:4" ], [ "1", "1", "1B", "p", "VALUE:4" ], [ "1", "1A", "1B", "c", "VALUE:4" ], [ "1", "1A", "1B", "p", "VALUE:4" ], [ "1", "1B", "1B", "c", "VALUE:4" ], [ "1", "1B", "1B", "p", "VALUE:4" ], [ "1", "2", "1B", "c", "VALUE:4" ], [ "1", "2", "1B", "p", "VALUE:4" ], [ "1", "2A", "1B", "c", "VALUE:4" ], [ "1", "2A", "1B", "p", "VALUE:4" ], [ "1", "2B", "1B", "c", "VALUE:4" ], [ "1", "2B", "1B", "p", "VALUE:4" ], [ "1", "2C", "1B", "c", "VALUE:4" ], [ "1", "2C", "1B", "p", "VALUE:4" ], [ "1", "3", "1B", "c", "VALUE:4" ], [ "1", "3", "1B", "p", "VALUE:4" ], [ "1", "X", "1B", "c", "VALUE:4" ], [ "1", "X", "1B", "p", "VALUE:4" ], [ "2A", "0", "1B", "c", "VALUE:4" ], [ "2A", "0", "1B", "p", "VALUE:4" ], [ "2A", "1", "1B", "c", "VALUE:4" ], [ "2A", "1", "1B", "p", "VALUE:4" ], [ "2A", "1A", "1B", "c", "VALUE:4" ], [ "2A", "1A", "1B", "p", "VALUE:4" ], [ "2A", "1B", "1B", "c", "VALUE:4" ], [ "2A", "1B", "1B", "p", "VALUE:4" ], [ "2A", "2", "1B", "c", "VALUE:4" ], [ "2A", "2", "1B", "p", "VALUE:4" ], [ "2A", "2A", "1B", "c", "VALUE:4" ], [ "2A", "2A", "1B", "p", "VALUE:4" ], [ "2A", "2B", "1B", "c", "VALUE:4" ], [ "2A", "2B", "1B", "p", "VALUE:4" ], [ "2A", "2C", "1B", "c", "VALUE:4" ], [ "2A", "2C", "1B", "p", "VALUE:4" ], [ "2A", "3", "1B", "c", "VALUE:4" ], [ "2A", "3", "1B", "p", "VALUE:4" ], [ "2A", "X", "1B", "c", "VALUE:4" ], [ "2A", "X", "1B", "p", "VALUE:4" ], [ "2B", "0", "1B", "c", "VALUE:4" ], [ "2B", "0", "1B", "p", "VALUE:4" ], [ "2B", "1", "1B", "c", "VALUE:4" ], [ "2B", "1", "1B", "p", "VALUE:4" ], [ "2B", "1A", "1B", "c", "VALUE:4" ], [ "2B", "1A", "1B", "p", "VALUE:4" ], [ "2B", "1B", "1B", "c", "VALUE:4" ], [ "2B", "1B", "1B", "p", "VALUE:4" ], [ "2B", "2", "1B", "c", "VALUE:4" ], [ "2B", "2", "1B", "p", "VALUE:4" ], [ "2B", "2A", "1B", "c", "VALUE:4" ], [ "2B", "2A", "1B", "p", "VALUE:4" ], [ "2B", "2B", "1B", "c", "VALUE:4" ], [ "2B", "2B", "1B", "p", "VALUE:4" ], [ "2B", "2C", "1B", "c", "VALUE:4" ], [ "2B", "2C", "1B", "p", "VALUE:4" ], [ "2B", "3", "1B", "c", "VALUE:4" ], [ "2B", "3", "1B", "p", "VALUE:4" ], [ "2B", "X", "1B", "c", "VALUE:4" ], [ "2B", "X", "1B", "p", "VALUE:4" ], [ "2", "0", "1B", "c", "VALUE:4" ], [ "2", "0", "1B", "p", "VALUE:4" ], [ "2", "1", "1B", "c", "VALUE:4" ], [ "2", "1", "1B", "p", "VALUE:4" ], [ "2", "1A", "1B", "c", "VALUE:4" ], [ "2", "1A", "1B", "p", "VALUE:4" ], [ "2", "1B", "1B", "c", "VALUE:4" ], [ "2", "1B", "1B", "p", "VALUE:4" ], [ "2", "2", "1B", "c", "VALUE:4" ], [ "2", "2", "1B", "p", "VALUE:4" ], [ "2", "2A", "1B", "c", "VALUE:4" ], [ "2", "2A", "1B", "p", "VALUE:4" ], [ "2", "2B", "1B", "c", "VALUE:4" ], [ "2", "2B", "1B", "p", "VALUE:4" ], [ "2", "2C", "1B", "c", "VALUE:4" ], [ "2", "2C", "1B", "p", "VALUE:4" ], [ "2", "3", "1B", "c", "VALUE:4" ], [ "2", "3", "1B", "p", "VALUE:4" ], [ "2", "X", "1B", "c", "VALUE:4" ], [ "2", "X", "1B", "p", "VALUE:4" ], [ "3A", "0", "1B", "c", "VALUE:4" ], [ "3A", "0", "1B", "p", "VALUE:4" ], [ "3A", "1", "1B", "c", "VALUE:4" ], [ "3A", "1", "1B", "p", "VALUE:4" ], [ "3A", "1A", "1B", "c", "VALUE:4" ], [ "3A", "1A", "1B", "p", "VALUE:4" ], [ "3A", "1B", "1B", "c", "VALUE:4" ], [ "3A", "1B", "1B", "p", "VALUE:4" ], [ "3A", "2", "1B", "c", "VALUE:4" ], [ "3A", "2", "1B", "p", "VALUE:4" ], [ "3A", "2A", "1B", "c", "VALUE:4" ], [ "3A", "2A", "1B", "p", "VALUE:4" ], [ "3A", "2B", "1B", "c", "VALUE:4" ], [ "3A", "2B", "1B", "p", "VALUE:4" ], [ "3A", "2C", "1B", "c", "VALUE:4" ], [ "3A", "2C", "1B", "p", "VALUE:4" ], [ "3A", "3", "1B", "c", "VALUE:4" ], [ "3A", "3", "1B", "p", "VALUE:4" ], [ "3A", "X", "1B", "c", "VALUE:4" ], [ "3A", "X", "1B", "p", "VALUE:4" ], [ "3B", "0", "1B", "c", "VALUE:4" ], [ "3B", "0", "1B", "p", "VALUE:4" ], [ "3B", "1", "1B", "c", "VALUE:4" ], [ "3B", "1", "1B", "p", "VALUE:4" ], [ "3B", "1A", "1B", "c", "VALUE:4" ], [ "3B", "1A", "1B", "p", "VALUE:4" ], [ "3B", "1B", "1B", "c", "VALUE:4" ], [ "3B", "1B", "1B", "p", "VALUE:4" ], [ "3B", "2", "1B", "c", "VALUE:4" ], [ "3B", "2", "1B", "p", "VALUE:4" ], [ "3B", "2A", "1B", "c", "VALUE:4" ], [ "3B", "2A", "1B", "p", "VALUE:4" ], [ "3B", "2B", "1B", "c", "VALUE:4" ], [ "3B", "2B", "1B", "p", "VALUE:4" ], [ "3B", "2C", "1B", "c", "VALUE:4" ], [ "3B", "2C", "1B", "p", "VALUE:4" ], [ "3B", "3", "1B", "c", "VALUE:4" ], [ "3B", "3", "1B", "p", "VALUE:4" ], [ "3B", "X", "1B", "c", "VALUE:4" ], [ "3B", "X", "1B", "p", "VALUE:4" ], [ "3", "0", "1B", "c", "VALUE:4" ], [ "3", "0", "1B", "p", "VALUE:4" ], [ "3", "1", "1B", "c", "VALUE:4" ], [ "3", "1", "1B", "p", "VALUE:4" ], [ "3", "1A", "1B", "c", "VALUE:4" ], [ "3", "1A", "1B", "p", "VALUE:4" ], [ "3", "1B", "1B", "c", "VALUE:4" ], [ "3", "1B", "1B", "p", "VALUE:4" ], [ "3", "2", "1B", "c", "VALUE:4" ], [ "3", "2", "1B", "p", "VALUE:4" ], [ "3", "2A", "1B", "c", "VALUE:4" ], [ "3", "2A", "1B", "p", "VALUE:4" ], [ "3", "2B", "1B", "c", "VALUE:4" ], [ "3", "2B", "1B", "p", "VALUE:4" ], [ "3", "2C", "1B", "c", "VALUE:4" ], [ "3", "2C", "1B", "p", "VALUE:4" ], [ "3", "3", "1B", "c", "VALUE:4" ], [ "3", "3", "1B", "p", "VALUE:4" ], [ "3", "X", "1B", "c", "VALUE:4" ], [ "3", "X", "1B", "p", "VALUE:4" ], [ "4A", "0", "1B", "c", "VALUE:4" ], [ "4A", "0", "1B", "p", "VALUE:4" ], [ "4A", "1", "1B", "c", "VALUE:4" ], [ "4A", "1", "1B", "p", "VALUE:4" ], [ "4A", "1A", "1B", "c", "VALUE:4" ], [ "4A", "1A", "1B", "p", "VALUE:4" ], [ "4A", "1B", "1B", "c", "VALUE:4" ], [ "4A", "1B", "1B", "p", "VALUE:4" ], [ "4A", "2", "1B", "c", "VALUE:4" ], [ "4A", "2", "1B", "p", "VALUE:4" ], [ "4A", "2A", "1B", "c", "VALUE:4" ], [ "4A", "2A", "1B", "p", "VALUE:4" ], [ "4A", "2B", "1B", "c", "VALUE:4" ], [ "4A", "2B", "1B", "p", "VALUE:4" ], [ "4A", "2C", "1B", "c", "VALUE:4" ], [ "4A", "2C", "1B", "p", "VALUE:4" ], [ "4A", "3", "1B", "c", "VALUE:4" ], [ "4A", "3", "1B", "p", "VALUE:4" ], [ "4A", "X", "1B", "c", "VALUE:4" ], [ "4A", "X", "1B", "p", "VALUE:4" ], [ "4B", "0", "1B", "c", "VALUE:4" ], [ "4B", "0", "1B", "p", "VALUE:4" ], [ "4B", "1", "1B", "c", "VALUE:4" ], [ "4B", "1", "1B", "p", "VALUE:4" ], [ "4B", "1A", "1B", "c", "VALUE:4" ], [ "4B", "1A", "1B", "p", "VALUE:4" ], [ "4B", "1B", "1B", "c", "VALUE:4" ], [ "4B", "1B", "1B", "p", "VALUE:4" ], [ "4B", "2", "1B", "c", "VALUE:4" ], [ "4B", "2", "1B", "p", "VALUE:4" ], [ "4B", "2A", "1B", "c", "VALUE:4" ], [ "4B", "2A", "1B", "p", "VALUE:4" ], [ "4B", "2B", "1B", "c", "VALUE:4" ], [ "4B", "2B", "1B", "p", "VALUE:4" ], [ "4B", "2C", "1B", "c", "VALUE:4" ], [ "4B", "2C", "1B", "p", "VALUE:4" ], [ "4B", "3", "1B", "c", "VALUE:4" ], [ "4B", "3", "1B", "p", "VALUE:4" ], [ "4B", "X", "1B", "c", "VALUE:4" ], [ "4B", "X", "1B", "p", "VALUE:4" ], [ "4", "0", "1B", "c", "VALUE:4" ], [ "4", "0", "1B", "p", "VALUE:4" ], [ "4", "1", "1B", "c", "VALUE:4" ], [ "4", "1", "1B", "p", "VALUE:4" ], [ "4", "1A", "1B", "c", "VALUE:4" ], [ "4", "1A", "1B", "p", "VALUE:4" ], [ "4", "1B", "1B", "c", "VALUE:4" ], [ "4", "1B", "1B", "p", "VALUE:4" ], [ "4", "2", "1B", "c", "VALUE:4" ], [ "4", "2", "1B", "p", "VALUE:4" ], [ "4", "2A", "1B", "c", "VALUE:4" ], [ "4", "2A", "1B", "p", "VALUE:4" ], [ "4", "2B", "1B", "c", "VALUE:4" ], [ "4", "2B", "1B", "p", "VALUE:4" ], [ "4", "2C", "1B", "c", "VALUE:4" ], [ "4", "2C", "1B", "p", "VALUE:4" ], [ "4", "3", "1B", "c", "VALUE:4" ], [ "4", "3", "1B", "p", "VALUE:4" ], [ "4", "X", "1B", "c", "VALUE:4" ], [ "4", "X", "1B", "p", "VALUE:4" ], [ "X", "0", "1B", "c", "VALUE:4" ], [ "X", "0", "1B", "p", "VALUE:4" ], [ "X", "1", "1B", "c", "VALUE:4" ], [ "X", "1", "1B", "p", "VALUE:4" ], [ "X", "1A", "1B", "c", "VALUE:4" ], [ "X", "1A", "1B", "p", "VALUE:4" ], [ "X", "1B", "1B", "c", "VALUE:4" ], [ "X", "1B", "1B", "p", "VALUE:4" ], [ "X", "2", "1B", "c", "VALUE:4" ], [ "X", "2", "1B", "p", "VALUE:4" ], [ "X", "2A", "1B", "c", "VALUE:4" ], [ "X", "2A", "1B", "p", "VALUE:4" ], [ "X", "2B", "1B", "c", "VALUE:4" ], [ "X", "2B", "1B", "p", "VALUE:4" ], [ "X", "2C", "1B", "c", "VALUE:4" ], [ "X", "2C", "1B", "p", "VALUE:4" ], [ "X", "3", "1B", "c", "VALUE:4" ], [ "X", "3", "1B", "p", "VALUE:4" ], [ "X", "X", "1B", "c", "VALUE:4" ], [ "X", "X", "1B", "p", "VALUE:4" ], [ "0", "0", "1C", "c", "VALUE:4" ], [ "0", "0", "1C", "p", "VALUE:4" ], [ "0", "1", "1C", "c", "VALUE:4" ], [ "0", "1", "1C", "p", "VALUE:4" ], [ "0", "1A", "1C", "c", "VALUE:4" ], [ "0", "1A", "1C", "p", "VALUE:4" ], [ "0", "1B", "1C", "c", "VALUE:4" ], [ "0", "1B", "1C", "p", "VALUE:4" ], [ "0", "2", "1C", "c", "VALUE:4" ], [ "0", "2", "1C", "p", "VALUE:4" ], [ "0", "2A", "1C", "c", "VALUE:4" ], [ "0", "2A", "1C", "p", "VALUE:4" ], [ "0", "2B", "1C", "c", "VALUE:4" ], [ "0", "2B", "1C", "p", "VALUE:4" ], [ "0", "2C", "1C", "c", "VALUE:4" ], [ "0", "2C", "1C", "p", "VALUE:4" ], [ "0", "3", "1C", "c", "VALUE:4" ], [ "0", "3", "1C", "p", "VALUE:4" ], [ "0", "X", "1C", "c", "VALUE:4" ], [ "0", "X", "1C", "p", "VALUE:4" ], [ "IS", "0", "1C", "c", "VALUE:4" ], [ "IS", "0", "1C", "p", "VALUE:4" ], [ "IS", "1", "1C", "c", "VALUE:4" ], [ "IS", "1", "1C", "p", "VALUE:4" ], [ "IS", "1A", "1C", "c", "VALUE:4" ], [ "IS", "1A", "1C", "p", "VALUE:4" ], [ "IS", "1B", "1C", "c", "VALUE:4" ], [ "IS", "1B", "1C", "p", "VALUE:4" ], [ "IS", "2", "1C", "c", "VALUE:4" ], [ "IS", "2", "1C", "p", "VALUE:4" ], [ "IS", "2A", "1C", "c", "VALUE:4" ], [ "IS", "2A", "1C", "p", "VALUE:4" ], [ "IS", "2B", "1C", "c", "VALUE:4" ], [ "IS", "2B", "1C", "p", "VALUE:4" ], [ "IS", "2C", "1C", "c", "VALUE:4" ], [ "IS", "2C", "1C", "p", "VALUE:4" ], [ "IS", "3", "1C", "c", "VALUE:4" ], [ "IS", "3", "1C", "p", "VALUE:4" ], [ "IS", "X", "1C", "c", "VALUE:4" ], [ "IS", "X", "1C", "p", "VALUE:4" ], [ "1A", "0", "1C", "c", "VALUE:4" ], [ "1A", "0", "1C", "p", "VALUE:4" ], [ "1A", "1", "1C", "c", "VALUE:4" ], [ "1A", "1", "1C", "p", "VALUE:4" ], [ "1A", "1A", "1C", "c", "VALUE:4" ], [ "1A", "1A", "1C", "p", "VALUE:4" ], [ "1A", "1B", "1C", "c", "VALUE:4" ], [ "1A", "1B", "1C", "p", "VALUE:4" ], [ "1A", "2", "1C", "c", "VALUE:4" ], [ "1A", "2", "1C", "p", "VALUE:4" ], [ "1A", "2A", "1C", "c", "VALUE:4" ], [ "1A", "2A", "1C", "p", "VALUE:4" ], [ "1A", "2B", "1C", "c", "VALUE:4" ], [ "1A", "2B", "1C", "p", "VALUE:4" ], [ "1A", "2C", "1C", "c", "VALUE:4" ], [ "1A", "2C", "1C", "p", "VALUE:4" ], [ "1A", "3", "1C", "c", "VALUE:4" ], [ "1A", "3", "1C", "p", "VALUE:4" ], [ "1A", "X", "1C", "c", "VALUE:4" ], [ "1A", "X", "1C", "p", "VALUE:4" ], [ "1B", "0", "1C", "c", "VALUE:4" ], [ "1B", "0", "1C", "p", "VALUE:4" ], [ "1B", "1", "1C", "c", "VALUE:4" ], [ "1B", "1", "1C", "p", "VALUE:4" ], [ "1B", "1A", "1C", "c", "VALUE:4" ], [ "1B", "1A", "1C", "p", "VALUE:4" ], [ "1B", "1B", "1C", "c", "VALUE:4" ], [ "1B", "1B", "1C", "p", "VALUE:4" ], [ "1B", "2", "1C", "c", "VALUE:4" ], [ "1B", "2", "1C", "p", "VALUE:4" ], [ "1B", "2A", "1C", "c", "VALUE:4" ], [ "1B", "2A", "1C", "p", "VALUE:4" ], [ "1B", "2B", "1C", "c", "VALUE:4" ], [ "1B", "2B", "1C", "p", "VALUE:4" ], [ "1B", "2C", "1C", "c", "VALUE:4" ], [ "1B", "2C", "1C", "p", "VALUE:4" ], [ "1B", "3", "1C", "c", "VALUE:4" ], [ "1B", "3", "1C", "p", "VALUE:4" ], [ "1B", "X", "1C", "c", "VALUE:4" ], [ "1B", "X", "1C", "p", "VALUE:4" ], [ "1", "0", "1C", "c", "VALUE:4" ], [ "1", "0", "1C", "p", "VALUE:4" ], [ "1", "1", "1C", "c", "VALUE:4" ], [ "1", "1", "1C", "p", "VALUE:4" ], [ "1", "1A", "1C", "c", "VALUE:4" ], [ "1", "1A", "1C", "p", "VALUE:4" ], [ "1", "1B", "1C", "c", "VALUE:4" ], [ "1", "1B", "1C", "p", "VALUE:4" ], [ "1", "2", "1C", "c", "VALUE:4" ], [ "1", "2", "1C", "p", "VALUE:4" ], [ "1", "2A", "1C", "c", "VALUE:4" ], [ "1", "2A", "1C", "p", "VALUE:4" ], [ "1", "2B", "1C", "c", "VALUE:4" ], [ "1", "2B", "1C", "p", "VALUE:4" ], [ "1", "2C", "1C", "c", "VALUE:4" ], [ "1", "2C", "1C", "p", "VALUE:4" ], [ "1", "3", "1C", "c", "VALUE:4" ], [ "1", "3", "1C", "p", "VALUE:4" ], [ "1", "X", "1C", "c", "VALUE:4" ], [ "1", "X", "1C", "p", "VALUE:4" ], [ "2A", "0", "1C", "c", "VALUE:4" ], [ "2A", "0", "1C", "p", "VALUE:4" ], [ "2A", "1", "1C", "c", "VALUE:4" ], [ "2A", "1", "1C", "p", "VALUE:4" ], [ "2A", "1A", "1C", "c", "VALUE:4" ], [ "2A", "1A", "1C", "p", "VALUE:4" ], [ "2A", "1B", "1C", "c", "VALUE:4" ], [ "2A", "1B", "1C", "p", "VALUE:4" ], [ "2A", "2", "1C", "c", "VALUE:4" ], [ "2A", "2", "1C", "p", "VALUE:4" ], [ "2A", "2A", "1C", "c", "VALUE:4" ], [ "2A", "2A", "1C", "p", "VALUE:4" ], [ "2A", "2B", "1C", "c", "VALUE:4" ], [ "2A", "2B", "1C", "p", "VALUE:4" ], [ "2A", "2C", "1C", "c", "VALUE:4" ], [ "2A", "2C", "1C", "p", "VALUE:4" ], [ "2A", "3", "1C", "c", "VALUE:4" ], [ "2A", "3", "1C", "p", "VALUE:4" ], [ "2A", "X", "1C", "c", "VALUE:4" ], [ "2A", "X", "1C", "p", "VALUE:4" ], [ "2B", "0", "1C", "c", "VALUE:4" ], [ "2B", "0", "1C", "p", "VALUE:4" ], [ "2B", "1", "1C", "c", "VALUE:4" ], [ "2B", "1", "1C", "p", "VALUE:4" ], [ "2B", "1A", "1C", "c", "VALUE:4" ], [ "2B", "1A", "1C", "p", "VALUE:4" ], [ "2B", "1B", "1C", "c", "VALUE:4" ], [ "2B", "1B", "1C", "p", "VALUE:4" ], [ "2B", "2", "1C", "c", "VALUE:4" ], [ "2B", "2", "1C", "p", "VALUE:4" ], [ "2B", "2A", "1C", "c", "VALUE:4" ], [ "2B", "2A", "1C", "p", "VALUE:4" ], [ "2B", "2B", "1C", "c", "VALUE:4" ], [ "2B", "2B", "1C", "p", "VALUE:4" ], [ "2B", "2C", "1C", "c", "VALUE:4" ], [ "2B", "2C", "1C", "p", "VALUE:4" ], [ "2B", "3", "1C", "c", "VALUE:4" ], [ "2B", "3", "1C", "p", "VALUE:4" ], [ "2B", "X", "1C", "c", "VALUE:4" ], [ "2B", "X", "1C", "p", "VALUE:4" ], [ "2", "0", "1C", "c", "VALUE:4" ], [ "2", "0", "1C", "p", "VALUE:4" ], [ "2", "1", "1C", "c", "VALUE:4" ], [ "2", "1", "1C", "p", "VALUE:4" ], [ "2", "1A", "1C", "c", "VALUE:4" ], [ "2", "1A", "1C", "p", "VALUE:4" ], [ "2", "1B", "1C", "c", "VALUE:4" ], [ "2", "1B", "1C", "p", "VALUE:4" ], [ "2", "2", "1C", "c", "VALUE:4" ], [ "2", "2", "1C", "p", "VALUE:4" ], [ "2", "2A", "1C", "c", "VALUE:4" ], [ "2", "2A", "1C", "p", "VALUE:4" ], [ "2", "2B", "1C", "c", "VALUE:4" ], [ "2", "2B", "1C", "p", "VALUE:4" ], [ "2", "2C", "1C", "c", "VALUE:4" ], [ "2", "2C", "1C", "p", "VALUE:4" ], [ "2", "3", "1C", "c", "VALUE:4" ], [ "2", "3", "1C", "p", "VALUE:4" ], [ "2", "X", "1C", "c", "VALUE:4" ], [ "2", "X", "1C", "p", "VALUE:4" ], [ "3A", "0", "1C", "c", "VALUE:4" ], [ "3A", "0", "1C", "p", "VALUE:4" ], [ "3A", "1", "1C", "c", "VALUE:4" ], [ "3A", "1", "1C", "p", "VALUE:4" ], [ "3A", "1A", "1C", "c", "VALUE:4" ], [ "3A", "1A", "1C", "p", "VALUE:4" ], [ "3A", "1B", "1C", "c", "VALUE:4" ], [ "3A", "1B", "1C", "p", "VALUE:4" ], [ "3A", "2", "1C", "c", "VALUE:4" ], [ "3A", "2", "1C", "p", "VALUE:4" ], [ "3A", "2A", "1C", "c", "VALUE:4" ], [ "3A", "2A", "1C", "p", "VALUE:4" ], [ "3A", "2B", "1C", "c", "VALUE:4" ], [ "3A", "2B", "1C", "p", "VALUE:4" ], [ "3A", "2C", "1C", "c", "VALUE:4" ], [ "3A", "2C", "1C", "p", "VALUE:4" ], [ "3A", "3", "1C", "c", "VALUE:4" ], [ "3A", "3", "1C", "p", "VALUE:4" ], [ "3A", "X", "1C", "c", "VALUE:4" ], [ "3A", "X", "1C", "p", "VALUE:4" ], [ "3B", "0", "1C", "c", "VALUE:4" ], [ "3B", "0", "1C", "p", "VALUE:4" ], [ "3B", "1", "1C", "c", "VALUE:4" ], [ "3B", "1", "1C", "p", "VALUE:4" ], [ "3B", "1A", "1C", "c", "VALUE:4" ], [ "3B", "1A", "1C", "p", "VALUE:4" ], [ "3B", "1B", "1C", "c", "VALUE:4" ], [ "3B", "1B", "1C", "p", "VALUE:4" ], [ "3B", "2", "1C", "c", "VALUE:4" ], [ "3B", "2", "1C", "p", "VALUE:4" ], [ "3B", "2A", "1C", "c", "VALUE:4" ], [ "3B", "2A", "1C", "p", "VALUE:4" ], [ "3B", "2B", "1C", "c", "VALUE:4" ], [ "3B", "2B", "1C", "p", "VALUE:4" ], [ "3B", "2C", "1C", "c", "VALUE:4" ], [ "3B", "2C", "1C", "p", "VALUE:4" ], [ "3B", "3", "1C", "c", "VALUE:4" ], [ "3B", "3", "1C", "p", "VALUE:4" ], [ "3B", "X", "1C", "c", "VALUE:4" ], [ "3B", "X", "1C", "p", "VALUE:4" ], [ "3", "0", "1C", "c", "VALUE:4" ], [ "3", "0", "1C", "p", "VALUE:4" ], [ "3", "1", "1C", "c", "VALUE:4" ], [ "3", "1", "1C", "p", "VALUE:4" ], [ "3", "1A", "1C", "c", "VALUE:4" ], [ "3", "1A", "1C", "p", "VALUE:4" ], [ "3", "1B", "1C", "c", "VALUE:4" ], [ "3", "1B", "1C", "p", "VALUE:4" ], [ "3", "2", "1C", "c", "VALUE:4" ], [ "3", "2", "1C", "p", "VALUE:4" ], [ "3", "2A", "1C", "c", "VALUE:4" ], [ "3", "2A", "1C", "p", "VALUE:4" ], [ "3", "2B", "1C", "c", "VALUE:4" ], [ "3", "2B", "1C", "p", "VALUE:4" ], [ "3", "2C", "1C", "c", "VALUE:4" ], [ "3", "2C", "1C", "p", "VALUE:4" ], [ "3", "3", "1C", "c", "VALUE:4" ], [ "3", "3", "1C", "p", "VALUE:4" ], [ "3", "X", "1C", "c", "VALUE:4" ], [ "3", "X", "1C", "p", "VALUE:4" ], [ "4A", "0", "1C", "c", "VALUE:4" ], [ "4A", "0", "1C", "p", "VALUE:4" ], [ "4A", "1", "1C", "c", "VALUE:4" ], [ "4A", "1", "1C", "p", "VALUE:4" ], [ "4A", "1A", "1C", "c", "VALUE:4" ], [ "4A", "1A", "1C", "p", "VALUE:4" ], [ "4A", "1B", "1C", "c", "VALUE:4" ], [ "4A", "1B", "1C", "p", "VALUE:4" ], [ "4A", "2", "1C", "c", "VALUE:4" ], [ "4A", "2", "1C", "p", "VALUE:4" ], [ "4A", "2A", "1C", "c", "VALUE:4" ], [ "4A", "2A", "1C", "p", "VALUE:4" ], [ "4A", "2B", "1C", "c", "VALUE:4" ], [ "4A", "2B", "1C", "p", "VALUE:4" ], [ "4A", "2C", "1C", "c", "VALUE:4" ], [ "4A", "2C", "1C", "p", "VALUE:4" ], [ "4A", "3", "1C", "c", "VALUE:4" ], [ "4A", "3", "1C", "p", "VALUE:4" ], [ "4A", "X", "1C", "c", "VALUE:4" ], [ "4A", "X", "1C", "p", "VALUE:4" ], [ "4B", "0", "1C", "c", "VALUE:4" ], [ "4B", "0", "1C", "p", "VALUE:4" ], [ "4B", "1", "1C", "c", "VALUE:4" ], [ "4B", "1", "1C", "p", "VALUE:4" ], [ "4B", "1A", "1C", "c", "VALUE:4" ], [ "4B", "1A", "1C", "p", "VALUE:4" ], [ "4B", "1B", "1C", "c", "VALUE:4" ], [ "4B", "1B", "1C", "p", "VALUE:4" ], [ "4B", "2", "1C", "c", "VALUE:4" ], [ "4B", "2", "1C", "p", "VALUE:4" ], [ "4B", "2A", "1C", "c", "VALUE:4" ], [ "4B", "2A", "1C", "p", "VALUE:4" ], [ "4B", "2B", "1C", "c", "VALUE:4" ], [ "4B", "2B", "1C", "p", "VALUE:4" ], [ "4B", "2C", "1C", "c", "VALUE:4" ], [ "4B", "2C", "1C", "p", "VALUE:4" ], [ "4B", "3", "1C", "c", "VALUE:4" ], [ "4B", "3", "1C", "p", "VALUE:4" ], [ "4B", "X", "1C", "c", "VALUE:4" ], [ "4B", "X", "1C", "p", "VALUE:4" ], [ "4", "0", "1C", "c", "VALUE:4" ], [ "4", "0", "1C", "p", "VALUE:4" ], [ "4", "1", "1C", "c", "VALUE:4" ], [ "4", "1", "1C", "p", "VALUE:4" ], [ "4", "1A", "1C", "c", "VALUE:4" ], [ "4", "1A", "1C", "p", "VALUE:4" ], [ "4", "1B", "1C", "c", "VALUE:4" ], [ "4", "1B", "1C", "p", "VALUE:4" ], [ "4", "2", "1C", "c", "VALUE:4" ], [ "4", "2", "1C", "p", "VALUE:4" ], [ "4", "2A", "1C", "c", "VALUE:4" ], [ "4", "2A", "1C", "p", "VALUE:4" ], [ "4", "2B", "1C", "c", "VALUE:4" ], [ "4", "2B", "1C", "p", "VALUE:4" ], [ "4", "2C", "1C", "c", "VALUE:4" ], [ "4", "2C", "1C", "p", "VALUE:4" ], [ "4", "3", "1C", "c", "VALUE:4" ], [ "4", "3", "1C", "p", "VALUE:4" ], [ "4", "X", "1C", "c", "VALUE:4" ], [ "4", "X", "1C", "p", "VALUE:4" ], [ "X", "0", "1C", "c", "VALUE:4" ], [ "X", "0", "1C", "p", "VALUE:4" ], [ "X", "1", "1C", "c", "VALUE:4" ], [ "X", "1", "1C", "p", "VALUE:4" ], [ "X", "1A", "1C", "c", "VALUE:4" ], [ "X", "1A", "1C", "p", "VALUE:4" ], [ "X", "1B", "1C", "c", "VALUE:4" ], [ "X", "1B", "1C", "p", "VALUE:4" ], [ "X", "2", "1C", "c", "VALUE:4" ], [ "X", "2", "1C", "p", "VALUE:4" ], [ "X", "2A", "1C", "c", "VALUE:4" ], [ "X", "2A", "1C", "p", "VALUE:4" ], [ "X", "2B", "1C", "c", "VALUE:4" ], [ "X", "2B", "1C", "p", "VALUE:4" ], [ "X", "2C", "1C", "c", "VALUE:4" ], [ "X", "2C", "1C", "p", "VALUE:4" ], [ "X", "3", "1C", "c", "VALUE:4" ], [ "X", "3", "1C", "p", "VALUE:4" ], [ "X", "X", "1C", "c", "VALUE:4" ], [ "X", "X", "1C", "p", "VALUE:4" ], [ "0", "0", "1", "c", "VALUE:4" ], [ "0", "0", "1", "p", "VALUE:4" ], [ "0", "1", "1", "c", "VALUE:4" ], [ "0", "1", "1", "p", "VALUE:4" ], [ "0", "1A", "1", "c", "VALUE:4" ], [ "0", "1A", "1", "p", "VALUE:4" ], [ "0", "1B", "1", "c", "VALUE:4" ], [ "0", "1B", "1", "p", "VALUE:4" ], [ "0", "2", "1", "c", "VALUE:4" ], [ "0", "2", "1", "p", "VALUE:4" ], [ "0", "2A", "1", "c", "VALUE:4" ], [ "0", "2A", "1", "p", "VALUE:4" ], [ "0", "2B", "1", "c", "VALUE:4" ], [ "0", "2B", "1", "p", "VALUE:4" ], [ "0", "2C", "1", "c", "VALUE:4" ], [ "0", "2C", "1", "p", "VALUE:4" ], [ "0", "3", "1", "c", "VALUE:4" ], [ "0", "3", "1", "p", "VALUE:4" ], [ "0", "X", "1", "c", "VALUE:4" ], [ "0", "X", "1", "p", "VALUE:4" ], [ "IS", "0", "1", "c", "VALUE:4" ], [ "IS", "0", "1", "p", "VALUE:4" ], [ "IS", "1", "1", "c", "VALUE:4" ], [ "IS", "1", "1", "p", "VALUE:4" ], [ "IS", "1A", "1", "c", "VALUE:4" ], [ "IS", "1A", "1", "p", "VALUE:4" ], [ "IS", "1B", "1", "c", "VALUE:4" ], [ "IS", "1B", "1", "p", "VALUE:4" ], [ "IS", "2", "1", "c", "VALUE:4" ], [ "IS", "2", "1", "p", "VALUE:4" ], [ "IS", "2A", "1", "c", "VALUE:4" ], [ "IS", "2A", "1", "p", "VALUE:4" ], [ "IS", "2B", "1", "c", "VALUE:4" ], [ "IS", "2B", "1", "p", "VALUE:4" ], [ "IS", "2C", "1", "c", "VALUE:4" ], [ "IS", "2C", "1", "p", "VALUE:4" ], [ "IS", "3", "1", "c", "VALUE:4" ], [ "IS", "3", "1", "p", "VALUE:4" ], [ "IS", "X", "1", "c", "VALUE:4" ], [ "IS", "X", "1", "p", "VALUE:4" ], [ "1A", "0", "1", "c", "VALUE:4" ], [ "1A", "0", "1", "p", "VALUE:4" ], [ "1A", "1", "1", "c", "VALUE:4" ], [ "1A", "1", "1", "p", "VALUE:4" ], [ "1A", "1A", "1", "c", "VALUE:4" ], [ "1A", "1A", "1", "p", "VALUE:4" ], [ "1A", "1B", "1", "c", "VALUE:4" ], [ "1A", "1B", "1", "p", "VALUE:4" ], [ "1A", "2", "1", "c", "VALUE:4" ], [ "1A", "2", "1", "p", "VALUE:4" ], [ "1A", "2A", "1", "c", "VALUE:4" ], [ "1A", "2A", "1", "p", "VALUE:4" ], [ "1A", "2B", "1", "c", "VALUE:4" ], [ "1A", "2B", "1", "p", "VALUE:4" ], [ "1A", "2C", "1", "c", "VALUE:4" ], [ "1A", "2C", "1", "p", "VALUE:4" ], [ "1A", "3", "1", "c", "VALUE:4" ], [ "1A", "3", "1", "p", "VALUE:4" ], [ "1A", "X", "1", "c", "VALUE:4" ], [ "1A", "X", "1", "p", "VALUE:4" ], [ "1B", "0", "1", "c", "VALUE:4" ], [ "1B", "0", "1", "p", "VALUE:4" ], [ "1B", "1", "1", "c", "VALUE:4" ], [ "1B", "1", "1", "p", "VALUE:4" ], [ "1B", "1A", "1", "c", "VALUE:4" ], [ "1B", "1A", "1", "p", "VALUE:4" ], [ "1B", "1B", "1", "c", "VALUE:4" ], [ "1B", "1B", "1", "p", "VALUE:4" ], [ "1B", "2", "1", "c", "VALUE:4" ], [ "1B", "2", "1", "p", "VALUE:4" ], [ "1B", "2A", "1", "c", "VALUE:4" ], [ "1B", "2A", "1", "p", "VALUE:4" ], [ "1B", "2B", "1", "c", "VALUE:4" ], [ "1B", "2B", "1", "p", "VALUE:4" ], [ "1B", "2C", "1", "c", "VALUE:4" ], [ "1B", "2C", "1", "p", "VALUE:4" ], [ "1B", "3", "1", "c", "VALUE:4" ], [ "1B", "3", "1", "p", "VALUE:4" ], [ "1B", "X", "1", "c", "VALUE:4" ], [ "1B", "X", "1", "p", "VALUE:4" ], [ "1", "0", "1", "c", "VALUE:4" ], [ "1", "0", "1", "p", "VALUE:4" ], [ "1", "1", "1", "c", "VALUE:4" ], [ "1", "1", "1", "p", "VALUE:4" ], [ "1", "1A", "1", "c", "VALUE:4" ], [ "1", "1A", "1", "p", "VALUE:4" ], [ "1", "1B", "1", "c", "VALUE:4" ], [ "1", "1B", "1", "p", "VALUE:4" ], [ "1", "2", "1", "c", "VALUE:4" ], [ "1", "2", "1", "p", "VALUE:4" ], [ "1", "2A", "1", "c", "VALUE:4" ], [ "1", "2A", "1", "p", "VALUE:4" ], [ "1", "2B", "1", "c", "VALUE:4" ], [ "1", "2B", "1", "p", "VALUE:4" ], [ "1", "2C", "1", "c", "VALUE:4" ], [ "1", "2C", "1", "p", "VALUE:4" ], [ "1", "3", "1", "c", "VALUE:4" ], [ "1", "3", "1", "p", "VALUE:4" ], [ "1", "X", "1", "c", "VALUE:4" ], [ "1", "X", "1", "p", "VALUE:4" ], [ "2A", "0", "1", "c", "VALUE:4" ], [ "2A", "0", "1", "p", "VALUE:4" ], [ "2A", "1", "1", "c", "VALUE:4" ], [ "2A", "1", "1", "p", "VALUE:4" ], [ "2A", "1A", "1", "c", "VALUE:4" ], [ "2A", "1A", "1", "p", "VALUE:4" ], [ "2A", "1B", "1", "c", "VALUE:4" ], [ "2A", "1B", "1", "p", "VALUE:4" ], [ "2A", "2", "1", "c", "VALUE:4" ], [ "2A", "2", "1", "p", "VALUE:4" ], [ "2A", "2A", "1", "c", "VALUE:4" ], [ "2A", "2A", "1", "p", "VALUE:4" ], [ "2A", "2B", "1", "c", "VALUE:4" ], [ "2A", "2B", "1", "p", "VALUE:4" ], [ "2A", "2C", "1", "c", "VALUE:4" ], [ "2A", "2C", "1", "p", "VALUE:4" ], [ "2A", "3", "1", "c", "VALUE:4" ], [ "2A", "3", "1", "p", "VALUE:4" ], [ "2A", "X", "1", "c", "VALUE:4" ], [ "2A", "X", "1", "p", "VALUE:4" ], [ "2B", "0", "1", "c", "VALUE:4" ], [ "2B", "0", "1", "p", "VALUE:4" ], [ "2B", "1", "1", "c", "VALUE:4" ], [ "2B", "1", "1", "p", "VALUE:4" ], [ "2B", "1A", "1", "c", "VALUE:4" ], [ "2B", "1A", "1", "p", "VALUE:4" ], [ "2B", "1B", "1", "c", "VALUE:4" ], [ "2B", "1B", "1", "p", "VALUE:4" ], [ "2B", "2", "1", "c", "VALUE:4" ], [ "2B", "2", "1", "p", "VALUE:4" ], [ "2B", "2A", "1", "c", "VALUE:4" ], [ "2B", "2A", "1", "p", "VALUE:4" ], [ "2B", "2B", "1", "c", "VALUE:4" ], [ "2B", "2B", "1", "p", "VALUE:4" ], [ "2B", "2C", "1", "c", "VALUE:4" ], [ "2B", "2C", "1", "p", "VALUE:4" ], [ "2B", "3", "1", "c", "VALUE:4" ], [ "2B", "3", "1", "p", "VALUE:4" ], [ "2B", "X", "1", "c", "VALUE:4" ], [ "2B", "X", "1", "p", "VALUE:4" ], [ "2", "0", "1", "c", "VALUE:4" ], [ "2", "0", "1", "p", "VALUE:4" ], [ "2", "1", "1", "c", "VALUE:4" ], [ "2", "1", "1", "p", "VALUE:4" ], [ "2", "1A", "1", "c", "VALUE:4" ], [ "2", "1A", "1", "p", "VALUE:4" ], [ "2", "1B", "1", "c", "VALUE:4" ], [ "2", "1B", "1", "p", "VALUE:4" ], [ "2", "2", "1", "c", "VALUE:4" ], [ "2", "2", "1", "p", "VALUE:4" ], [ "2", "2A", "1", "c", "VALUE:4" ], [ "2", "2A", "1", "p", "VALUE:4" ], [ "2", "2B", "1", "c", "VALUE:4" ], [ "2", "2B", "1", "p", "VALUE:4" ], [ "2", "2C", "1", "c", "VALUE:4" ], [ "2", "2C", "1", "p", "VALUE:4" ], [ "2", "3", "1", "c", "VALUE:4" ], [ "2", "3", "1", "p", "VALUE:4" ], [ "2", "X", "1", "c", "VALUE:4" ], [ "2", "X", "1", "p", "VALUE:4" ], [ "3A", "0", "1", "c", "VALUE:4" ], [ "3A", "0", "1", "p", "VALUE:4" ], [ "3A", "1", "1", "c", "VALUE:4" ], [ "3A", "1", "1", "p", "VALUE:4" ], [ "3A", "1A", "1", "c", "VALUE:4" ], [ "3A", "1A", "1", "p", "VALUE:4" ], [ "3A", "1B", "1", "c", "VALUE:4" ], [ "3A", "1B", "1", "p", "VALUE:4" ], [ "3A", "2", "1", "c", "VALUE:4" ], [ "3A", "2", "1", "p", "VALUE:4" ], [ "3A", "2A", "1", "c", "VALUE:4" ], [ "3A", "2A", "1", "p", "VALUE:4" ], [ "3A", "2B", "1", "c", "VALUE:4" ], [ "3A", "2B", "1", "p", "VALUE:4" ], [ "3A", "2C", "1", "c", "VALUE:4" ], [ "3A", "2C", "1", "p", "VALUE:4" ], [ "3A", "3", "1", "c", "VALUE:4" ], [ "3A", "3", "1", "p", "VALUE:4" ], [ "3A", "X", "1", "c", "VALUE:4" ], [ "3A", "X", "1", "p", "VALUE:4" ], [ "3B", "0", "1", "c", "VALUE:4" ], [ "3B", "0", "1", "p", "VALUE:4" ], [ "3B", "1", "1", "c", "VALUE:4" ], [ "3B", "1", "1", "p", "VALUE:4" ], [ "3B", "1A", "1", "c", "VALUE:4" ], [ "3B", "1A", "1", "p", "VALUE:4" ], [ "3B", "1B", "1", "c", "VALUE:4" ], [ "3B", "1B", "1", "p", "VALUE:4" ], [ "3B", "2", "1", "c", "VALUE:4" ], [ "3B", "2", "1", "p", "VALUE:4" ], [ "3B", "2A", "1", "c", "VALUE:4" ], [ "3B", "2A", "1", "p", "VALUE:4" ], [ "3B", "2B", "1", "c", "VALUE:4" ], [ "3B", "2B", "1", "p", "VALUE:4" ], [ "3B", "2C", "1", "c", "VALUE:4" ], [ "3B", "2C", "1", "p", "VALUE:4" ], [ "3B", "3", "1", "c", "VALUE:4" ], [ "3B", "3", "1", "p", "VALUE:4" ], [ "3B", "X", "1", "c", "VALUE:4" ], [ "3B", "X", "1", "p", "VALUE:4" ], [ "3", "0", "1", "c", "VALUE:4" ], [ "3", "0", "1", "p", "VALUE:4" ], [ "3", "1", "1", "c", "VALUE:4" ], [ "3", "1", "1", "p", "VALUE:4" ], [ "3", "1A", "1", "c", "VALUE:4" ], [ "3", "1A", "1", "p", "VALUE:4" ], [ "3", "1B", "1", "c", "VALUE:4" ], [ "3", "1B", "1", "p", "VALUE:4" ], [ "3", "2", "1", "c", "VALUE:4" ], [ "3", "2", "1", "p", "VALUE:4" ], [ "3", "2A", "1", "c", "VALUE:4" ], [ "3", "2A", "1", "p", "VALUE:4" ], [ "3", "2B", "1", "c", "VALUE:4" ], [ "3", "2B", "1", "p", "VALUE:4" ], [ "3", "2C", "1", "c", "VALUE:4" ], [ "3", "2C", "1", "p", "VALUE:4" ], [ "3", "3", "1", "c", "VALUE:4" ], [ "3", "3", "1", "p", "VALUE:4" ], [ "3", "X", "1", "c", "VALUE:4" ], [ "3", "X", "1", "p", "VALUE:4" ], [ "4A", "0", "1", "c", "VALUE:4" ], [ "4A", "0", "1", "p", "VALUE:4" ], [ "4A", "1", "1", "c", "VALUE:4" ], [ "4A", "1", "1", "p", "VALUE:4" ], [ "4A", "1A", "1", "c", "VALUE:4" ], [ "4A", "1A", "1", "p", "VALUE:4" ], [ "4A", "1B", "1", "c", "VALUE:4" ], [ "4A", "1B", "1", "p", "VALUE:4" ], [ "4A", "2", "1", "c", "VALUE:4" ], [ "4A", "2", "1", "p", "VALUE:4" ], [ "4A", "2A", "1", "c", "VALUE:4" ], [ "4A", "2A", "1", "p", "VALUE:4" ], [ "4A", "2B", "1", "c", "VALUE:4" ], [ "4A", "2B", "1", "p", "VALUE:4" ], [ "4A", "2C", "1", "c", "VALUE:4" ], [ "4A", "2C", "1", "p", "VALUE:4" ], [ "4A", "3", "1", "c", "VALUE:4" ], [ "4A", "3", "1", "p", "VALUE:4" ], [ "4A", "X", "1", "c", "VALUE:4" ], [ "4A", "X", "1", "p", "VALUE:4" ], [ "4B", "0", "1", "c", "VALUE:4" ], [ "4B", "0", "1", "p", "VALUE:4" ], [ "4B", "1", "1", "c", "VALUE:4" ], [ "4B", "1", "1", "p", "VALUE:4" ], [ "4B", "1A", "1", "c", "VALUE:4" ], [ "4B", "1A", "1", "p", "VALUE:4" ], [ "4B", "1B", "1", "c", "VALUE:4" ], [ "4B", "1B", "1", "p", "VALUE:4" ], [ "4B", "2", "1", "c", "VALUE:4" ], [ "4B", "2", "1", "p", "VALUE:4" ], [ "4B", "2A", "1", "c", "VALUE:4" ], [ "4B", "2A", "1", "p", "VALUE:4" ], [ "4B", "2B", "1", "c", "VALUE:4" ], [ "4B", "2B", "1", "p", "VALUE:4" ], [ "4B", "2C", "1", "c", "VALUE:4" ], [ "4B", "2C", "1", "p", "VALUE:4" ], [ "4B", "3", "1", "c", "VALUE:4" ], [ "4B", "3", "1", "p", "VALUE:4" ], [ "4B", "X", "1", "c", "VALUE:4" ], [ "4B", "X", "1", "p", "VALUE:4" ], [ "4", "0", "1", "c", "VALUE:4" ], [ "4", "0", "1", "p", "VALUE:4" ], [ "4", "1", "1", "c", "VALUE:4" ], [ "4", "1", "1", "p", "VALUE:4" ], [ "4", "1A", "1", "c", "VALUE:4" ], [ "4", "1A", "1", "p", "VALUE:4" ], [ "4", "1B", "1", "c", "VALUE:4" ], [ "4", "1B", "1", "p", "VALUE:4" ], [ "4", "2", "1", "c", "VALUE:4" ], [ "4", "2", "1", "p", "VALUE:4" ], [ "4", "2A", "1", "c", "VALUE:4" ], [ "4", "2A", "1", "p", "VALUE:4" ], [ "4", "2B", "1", "c", "VALUE:4" ], [ "4", "2B", "1", "p", "VALUE:4" ], [ "4", "2C", "1", "c", "VALUE:4" ], [ "4", "2C", "1", "p", "VALUE:4" ], [ "4", "3", "1", "c", "VALUE:4" ], [ "4", "3", "1", "p", "VALUE:4" ], [ "4", "X", "1", "c", "VALUE:4" ], [ "4", "X", "1", "p", "VALUE:4" ], [ "X", "0", "1", "c", "VALUE:4" ], [ "X", "0", "1", "p", "VALUE:4" ], [ "X", "1", "1", "c", "VALUE:4" ], [ "X", "1", "1", "p", "VALUE:4" ], [ "X", "1A", "1", "c", "VALUE:4" ], [ "X", "1A", "1", "p", "VALUE:4" ], [ "X", "1B", "1", "c", "VALUE:4" ], [ "X", "1B", "1", "p", "VALUE:4" ], [ "X", "2", "1", "c", "VALUE:4" ], [ "X", "2", "1", "p", "VALUE:4" ], [ "X", "2A", "1", "c", "VALUE:4" ], [ "X", "2A", "1", "p", "VALUE:4" ], [ "X", "2B", "1", "c", "VALUE:4" ], [ "X", "2B", "1", "p", "VALUE:4" ], [ "X", "2C", "1", "c", "VALUE:4" ], [ "X", "2C", "1", "p", "VALUE:4" ], [ "X", "3", "1", "c", "VALUE:4" ], [ "X", "3", "1", "p", "VALUE:4" ], [ "X", "X", "1", "c", "VALUE:4" ], [ "X", "X", "1", "p", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_69346.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_69346.json deleted file mode 100644 index 441a82609..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_combined_stage_group_69346.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm_7_combined_stage_group_69346", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Combined Stage Group", - "title" : "TNM 7 Combined Stage Group", - "last_modified" : "2018-05-14T21:29:06.490Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:3C" ], [ "0", "X", "0", "VALUE:99" ], [ "IS", "0", "0", "VALUE:0" ], [ "IS", "1", "0", "VALUE:3C" ], [ "IS", "X", "0", "VALUE:0" ], [ "1A", "0", "0", "VALUE:1A" ], [ "1A", "1", "0", "VALUE:3C" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1B" ], [ "1B", "1", "0", "VALUE:3C" ], [ "1B", "X", "0", "VALUE:99" ], [ "1C", "0", "0", "VALUE:1C" ], [ "1C", "1", "0", "VALUE:3C" ], [ "1C", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:3C" ], [ "1", "X", "0", "VALUE:99" ], [ "2A", "0", "0", "VALUE:2A" ], [ "2A", "1", "0", "VALUE:3C" ], [ "2A", "X", "0", "VALUE:99" ], [ "2B", "0", "0", "VALUE:2B" ], [ "2B", "1", "0", "VALUE:3C" ], [ "2B", "X", "0", "VALUE:99" ], [ "2C", "0", "0", "VALUE:2C" ], [ "2C", "1", "0", "VALUE:3C" ], [ "2C", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1", "0", "VALUE:3C" ], [ "2", "X", "0", "VALUE:99" ], [ "3A", "0", "0", "VALUE:3A" ], [ "3A", "1", "0", "VALUE:3C" ], [ "3A", "X", "0", "VALUE:3" ], [ "3B", "0", "0", "VALUE:3B" ], [ "3B", "1", "0", "VALUE:3C" ], [ "3B", "X", "0", "VALUE:3" ], [ "3C", "0", "0", "VALUE:3C" ], [ "3C", "1", "0", "VALUE:3C" ], [ "3C", "X", "0", "VALUE:3C" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:3C" ], [ "3", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:3C" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4" ], [ "0", "X", "1", "VALUE:4" ], [ "IS", "0", "1", "VALUE:4" ], [ "IS", "1", "1", "VALUE:4" ], [ "IS", "X", "1", "VALUE:4" ], [ "1A", "0", "1", "VALUE:4" ], [ "1A", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "VALUE:4" ], [ "1B", "0", "1", "VALUE:4" ], [ "1B", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "VALUE:4" ], [ "1C", "0", "1", "VALUE:4" ], [ "1C", "1", "1", "VALUE:4" ], [ "1C", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4" ], [ "1", "X", "1", "VALUE:4" ], [ "2A", "0", "1", "VALUE:4" ], [ "2A", "1", "1", "VALUE:4" ], [ "2A", "X", "1", "VALUE:4" ], [ "2B", "0", "1", "VALUE:4" ], [ "2B", "1", "1", "VALUE:4" ], [ "2B", "X", "1", "VALUE:4" ], [ "2C", "0", "1", "VALUE:4" ], [ "2C", "1", "1", "VALUE:4" ], [ "2C", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4" ], [ "2", "X", "1", "VALUE:4" ], [ "3A", "0", "1", "VALUE:4" ], [ "3A", "1", "1", "VALUE:4" ], [ "3A", "X", "1", "VALUE:4" ], [ "3B", "0", "1", "VALUE:4" ], [ "3B", "1", "1", "VALUE:4" ], [ "3B", "X", "1", "VALUE:4" ], [ "3C", "0", "1", "VALUE:4" ], [ "3C", "1", "1", "VALUE:4" ], [ "3C", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4" ], [ "3", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_30413.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_30413.json deleted file mode 100644 index 87de54433..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_30413.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm_7_path_stage_adenocarcinoma_30413", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Adenocarcinoma", - "title" : "TNM 7 Path Stage Adenocarcinoma", - "last_modified" : "2018-05-14T21:29:05.714Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "1", "VALUE:99" ], [ "0", "0", "0", "2", "VALUE:99" ], [ "0", "0", "0", "3", "VALUE:99" ], [ "0", "0", "0", "4", "VALUE:99" ], [ "0", "0", "0", "9", "VALUE:99" ], [ "0", "1", "0", "1", "VALUE:99" ], [ "0", "1", "0", "2", "VALUE:99" ], [ "0", "1", "0", "3", "VALUE:99" ], [ "0", "1", "0", "4", "VALUE:99" ], [ "0", "1", "0", "9", "VALUE:99" ], [ "0", "2", "0", "1", "VALUE:3" ], [ "0", "2", "0", "2", "VALUE:3" ], [ "0", "2", "0", "3", "VALUE:3" ], [ "0", "2", "0", "4", "VALUE:3" ], [ "0", "2", "0", "9", "VALUE:3" ], [ "0", "3", "0", "1", "VALUE:3C" ], [ "0", "3", "0", "2", "VALUE:3C" ], [ "0", "3", "0", "3", "VALUE:3C" ], [ "0", "3", "0", "4", "VALUE:3C" ], [ "0", "3", "0", "9", "VALUE:3C" ], [ "0", "X", "0", "1", "VALUE:99" ], [ "0", "X", "0", "2", "VALUE:99" ], [ "0", "X", "0", "3", "VALUE:99" ], [ "0", "X", "0", "4", "VALUE:99" ], [ "0", "X", "0", "9", "VALUE:99" ], [ "IS", "0", "0", "1", "VALUE:0" ], [ "IS", "0", "0", "2", "VALUE:99" ], [ "IS", "0", "0", "3", "VALUE:99" ], [ "IS", "0", "0", "4", "VALUE:99" ], [ "IS", "0", "0", "9", "VALUE:0" ], [ "IS", "1", "0", "1", "VALUE:2B" ], [ "IS", "1", "0", "2", "VALUE:2B" ], [ "IS", "1", "0", "3", "VALUE:2B" ], [ "IS", "1", "0", "4", "VALUE:2B" ], [ "IS", "1", "0", "9", "VALUE:2B" ], [ "IS", "2", "0", "1", "VALUE:3A" ], [ "IS", "2", "0", "2", "VALUE:3A" ], [ "IS", "2", "0", "3", "VALUE:3A" ], [ "IS", "2", "0", "4", "VALUE:3A" ], [ "IS", "2", "0", "9", "VALUE:3A" ], [ "IS", "3", "0", "1", "VALUE:3C" ], [ "IS", "3", "0", "2", "VALUE:3C" ], [ "IS", "3", "0", "3", "VALUE:3C" ], [ "IS", "3", "0", "4", "VALUE:3C" ], [ "IS", "3", "0", "9", "VALUE:3C" ], [ "IS", "X", "0", "1", "VALUE:0" ], [ "IS", "X", "0", "2", "VALUE:99" ], [ "IS", "X", "0", "3", "VALUE:99" ], [ "IS", "X", "0", "4", "VALUE:99" ], [ "IS", "X", "0", "9", "VALUE:0" ], [ "1A", "0", "0", "1", "VALUE:1A" ], [ "1A", "0", "0", "2", "VALUE:1A" ], [ "1A", "0", "0", "3", "VALUE:1B" ], [ "1A", "0", "0", "4", "VALUE:1B" ], [ "1A", "0", "0", "9", "VALUE:1A" ], [ "1A", "1", "0", "1", "VALUE:2B" ], [ "1A", "1", "0", "2", "VALUE:2B" ], [ "1A", "1", "0", "3", "VALUE:2B" ], [ "1A", "1", "0", "4", "VALUE:2B" ], [ "1A", "1", "0", "9", "VALUE:2B" ], [ "1A", "2", "0", "1", "VALUE:3A" ], [ "1A", "2", "0", "2", "VALUE:3A" ], [ "1A", "2", "0", "3", "VALUE:3A" ], [ "1A", "2", "0", "4", "VALUE:3A" ], [ "1A", "2", "0", "9", "VALUE:3A" ], [ "1A", "3", "0", "1", "VALUE:3C" ], [ "1A", "3", "0", "2", "VALUE:3C" ], [ "1A", "3", "0", "3", "VALUE:3C" ], [ "1A", "3", "0", "4", "VALUE:3C" ], [ "1A", "3", "0", "9", "VALUE:3C" ], [ "1A", "X", "0", "1", "VALUE:99" ], [ "1A", "X", "0", "2", "VALUE:99" ], [ "1A", "X", "0", "3", "VALUE:99" ], [ "1A", "X", "0", "4", "VALUE:99" ], [ "1A", "X", "0", "9", "VALUE:99" ], [ "1B", "0", "0", "1", "VALUE:1A" ], [ "1B", "0", "0", "2", "VALUE:1A" ], [ "1B", "0", "0", "3", "VALUE:1B" ], [ "1B", "0", "0", "4", "VALUE:1B" ], [ "1B", "0", "0", "9", "VALUE:1A" ], [ "1B", "1", "0", "1", "VALUE:2B" ], [ "1B", "1", "0", "2", "VALUE:2B" ], [ "1B", "1", "0", "3", "VALUE:2B" ], [ "1B", "1", "0", "4", "VALUE:2B" ], [ "1B", "1", "0", "9", "VALUE:2B" ], [ "1B", "2", "0", "1", "VALUE:3A" ], [ "1B", "2", "0", "2", "VALUE:3A" ], [ "1B", "2", "0", "3", "VALUE:3A" ], [ "1B", "2", "0", "4", "VALUE:3A" ], [ "1B", "2", "0", "9", "VALUE:3A" ], [ "1B", "3", "0", "1", "VALUE:3C" ], [ "1B", "3", "0", "2", "VALUE:3C" ], [ "1B", "3", "0", "3", "VALUE:3C" ], [ "1B", "3", "0", "4", "VALUE:3C" ], [ "1B", "3", "0", "9", "VALUE:3C" ], [ "1B", "X", "0", "1", "VALUE:99" ], [ "1B", "X", "0", "2", "VALUE:99" ], [ "1B", "X", "0", "3", "VALUE:99" ], [ "1B", "X", "0", "4", "VALUE:99" ], [ "1B", "X", "0", "9", "VALUE:99" ], [ "1", "0", "0", "1", "VALUE:1A" ], [ "1", "0", "0", "2", "VALUE:1A" ], [ "1", "0", "0", "3", "VALUE:1B" ], [ "1", "0", "0", "4", "VALUE:1B" ], [ "1", "0", "0", "9", "VALUE:1A" ], [ "1", "1", "0", "1", "VALUE:2B" ], [ "1", "1", "0", "2", "VALUE:2B" ], [ "1", "1", "0", "3", "VALUE:2B" ], [ "1", "1", "0", "4", "VALUE:2B" ], [ "1", "1", "0", "9", "VALUE:2B" ], [ "1", "2", "0", "1", "VALUE:3A" ], [ "1", "2", "0", "2", "VALUE:3A" ], [ "1", "2", "0", "3", "VALUE:3A" ], [ "1", "2", "0", "4", "VALUE:3A" ], [ "1", "2", "0", "9", "VALUE:3A" ], [ "1", "3", "0", "1", "VALUE:3C" ], [ "1", "3", "0", "2", "VALUE:3C" ], [ "1", "3", "0", "3", "VALUE:3C" ], [ "1", "3", "0", "4", "VALUE:3C" ], [ "1", "3", "0", "9", "VALUE:3C" ], [ "1", "X", "0", "1", "VALUE:99" ], [ "1", "X", "0", "2", "VALUE:99" ], [ "1", "X", "0", "3", "VALUE:99" ], [ "1", "X", "0", "4", "VALUE:99" ], [ "1", "X", "0", "9", "VALUE:99" ], [ "2", "0", "0", "1", "VALUE:1B" ], [ "2", "0", "0", "2", "VALUE:1B" ], [ "2", "0", "0", "3", "VALUE:2A" ], [ "2", "0", "0", "4", "VALUE:2A" ], [ "2", "0", "0", "9", "VALUE:1B" ], [ "2", "1", "0", "1", "VALUE:2B" ], [ "2", "1", "0", "2", "VALUE:2B" ], [ "2", "1", "0", "3", "VALUE:2B" ], [ "2", "1", "0", "4", "VALUE:2B" ], [ "2", "1", "0", "9", "VALUE:2B" ], [ "2", "2", "0", "1", "VALUE:3A" ], [ "2", "2", "0", "2", "VALUE:3A" ], [ "2", "2", "0", "3", "VALUE:3A" ], [ "2", "2", "0", "4", "VALUE:3A" ], [ "2", "2", "0", "9", "VALUE:3A" ], [ "2", "3", "0", "1", "VALUE:3C" ], [ "2", "3", "0", "2", "VALUE:3C" ], [ "2", "3", "0", "3", "VALUE:3C" ], [ "2", "3", "0", "4", "VALUE:3C" ], [ "2", "3", "0", "9", "VALUE:3C" ], [ "2", "X", "0", "1", "VALUE:99" ], [ "2", "X", "0", "2", "VALUE:99" ], [ "2", "X", "0", "3", "VALUE:99" ], [ "2", "X", "0", "4", "VALUE:99" ], [ "2", "X", "0", "9", "VALUE:99" ], [ "3", "0", "0", "1", "VALUE:2B" ], [ "3", "0", "0", "2", "VALUE:2B" ], [ "3", "0", "0", "3", "VALUE:2B" ], [ "3", "0", "0", "4", "VALUE:2B" ], [ "3", "0", "0", "9", "VALUE:2B" ], [ "3", "1", "0", "1", "VALUE:3A" ], [ "3", "1", "0", "2", "VALUE:3A" ], [ "3", "1", "0", "3", "VALUE:3A" ], [ "3", "1", "0", "4", "VALUE:3A" ], [ "3", "1", "0", "9", "VALUE:3A" ], [ "3", "2", "0", "1", "VALUE:3B" ], [ "3", "2", "0", "2", "VALUE:3B" ], [ "3", "2", "0", "3", "VALUE:3B" ], [ "3", "2", "0", "4", "VALUE:3B" ], [ "3", "2", "0", "9", "VALUE:3B" ], [ "3", "3", "0", "1", "VALUE:3C" ], [ "3", "3", "0", "2", "VALUE:3C" ], [ "3", "3", "0", "3", "VALUE:3C" ], [ "3", "3", "0", "4", "VALUE:3C" ], [ "3", "3", "0", "9", "VALUE:3C" ], [ "3", "X", "0", "1", "VALUE:99" ], [ "3", "X", "0", "2", "VALUE:99" ], [ "3", "X", "0", "3", "VALUE:99" ], [ "3", "X", "0", "4", "VALUE:99" ], [ "3", "X", "0", "9", "VALUE:99" ], [ "4A", "0", "0", "1", "VALUE:3A" ], [ "4A", "0", "0", "2", "VALUE:3A" ], [ "4A", "0", "0", "3", "VALUE:3A" ], [ "4A", "0", "0", "4", "VALUE:3A" ], [ "4A", "0", "0", "9", "VALUE:3A" ], [ "4A", "1", "0", "1", "VALUE:3C" ], [ "4A", "1", "0", "2", "VALUE:3C" ], [ "4A", "1", "0", "3", "VALUE:3C" ], [ "4A", "1", "0", "4", "VALUE:3C" ], [ "4A", "1", "0", "9", "VALUE:3C" ], [ "4A", "2", "0", "1", "VALUE:3C" ], [ "4A", "2", "0", "2", "VALUE:3C" ], [ "4A", "2", "0", "3", "VALUE:3C" ], [ "4A", "2", "0", "4", "VALUE:3C" ], [ "4A", "2", "0", "9", "VALUE:3C" ], [ "4A", "3", "0", "1", "VALUE:3C" ], [ "4A", "3", "0", "2", "VALUE:3C" ], [ "4A", "3", "0", "3", "VALUE:3C" ], [ "4A", "3", "0", "4", "VALUE:3C" ], [ "4A", "3", "0", "9", "VALUE:3C" ], [ "4A", "X", "0", "1", "VALUE:3" ], [ "4A", "X", "0", "2", "VALUE:3" ], [ "4A", "X", "0", "3", "VALUE:3" ], [ "4A", "X", "0", "4", "VALUE:3" ], [ "4A", "X", "0", "9", "VALUE:3" ], [ "4B", "0", "0", "1", "VALUE:3C" ], [ "4B", "0", "0", "2", "VALUE:3C" ], [ "4B", "0", "0", "3", "VALUE:3C" ], [ "4B", "0", "0", "4", "VALUE:3C" ], [ "4B", "0", "0", "9", "VALUE:3C" ], [ "4B", "1", "0", "1", "VALUE:3C" ], [ "4B", "1", "0", "2", "VALUE:3C" ], [ "4B", "1", "0", "3", "VALUE:3C" ], [ "4B", "1", "0", "4", "VALUE:3C" ], [ "4B", "1", "0", "9", "VALUE:3C" ], [ "4B", "2", "0", "1", "VALUE:3C" ], [ "4B", "2", "0", "2", "VALUE:3C" ], [ "4B", "2", "0", "3", "VALUE:3C" ], [ "4B", "2", "0", "4", "VALUE:3C" ], [ "4B", "2", "0", "9", "VALUE:3C" ], [ "4B", "3", "0", "1", "VALUE:3C" ], [ "4B", "3", "0", "2", "VALUE:3C" ], [ "4B", "3", "0", "3", "VALUE:3C" ], [ "4B", "3", "0", "4", "VALUE:3C" ], [ "4B", "3", "0", "9", "VALUE:3C" ], [ "4B", "X", "0", "1", "VALUE:3C" ], [ "4B", "X", "0", "2", "VALUE:3C" ], [ "4B", "X", "0", "3", "VALUE:3C" ], [ "4B", "X", "0", "4", "VALUE:3C" ], [ "4B", "X", "0", "9", "VALUE:3C" ], [ "4", "0", "0", "1", "VALUE:3A" ], [ "4", "0", "0", "2", "VALUE:3A" ], [ "4", "0", "0", "3", "VALUE:3A" ], [ "4", "0", "0", "4", "VALUE:3A" ], [ "4", "0", "0", "9", "VALUE:3A" ], [ "4", "1", "0", "1", "VALUE:3C" ], [ "4", "1", "0", "2", "VALUE:3C" ], [ "4", "1", "0", "3", "VALUE:3C" ], [ "4", "1", "0", "4", "VALUE:3C" ], [ "4", "1", "0", "9", "VALUE:3C" ], [ "4", "2", "0", "1", "VALUE:3C" ], [ "4", "2", "0", "2", "VALUE:3C" ], [ "4", "2", "0", "3", "VALUE:3C" ], [ "4", "2", "0", "4", "VALUE:3C" ], [ "4", "2", "0", "9", "VALUE:3C" ], [ "4", "3", "0", "1", "VALUE:3C" ], [ "4", "3", "0", "2", "VALUE:3C" ], [ "4", "3", "0", "3", "VALUE:3C" ], [ "4", "3", "0", "4", "VALUE:3C" ], [ "4", "3", "0", "9", "VALUE:3C" ], [ "4", "X", "0", "1", "VALUE:3" ], [ "4", "X", "0", "2", "VALUE:3" ], [ "4", "X", "0", "3", "VALUE:3" ], [ "4", "X", "0", "4", "VALUE:3" ], [ "4", "X", "0", "9", "VALUE:3" ], [ "X", "0", "0", "1", "VALUE:99" ], [ "X", "0", "0", "2", "VALUE:99" ], [ "X", "0", "0", "3", "VALUE:99" ], [ "X", "0", "0", "4", "VALUE:99" ], [ "X", "0", "0", "9", "VALUE:99" ], [ "X", "1", "0", "1", "VALUE:99" ], [ "X", "1", "0", "2", "VALUE:99" ], [ "X", "1", "0", "3", "VALUE:99" ], [ "X", "1", "0", "4", "VALUE:99" ], [ "X", "1", "0", "9", "VALUE:99" ], [ "X", "2", "0", "1", "VALUE:3" ], [ "X", "2", "0", "2", "VALUE:3" ], [ "X", "2", "0", "3", "VALUE:3" ], [ "X", "2", "0", "4", "VALUE:3" ], [ "X", "2", "0", "9", "VALUE:3" ], [ "X", "3", "0", "1", "VALUE:3C" ], [ "X", "3", "0", "2", "VALUE:3C" ], [ "X", "3", "0", "3", "VALUE:3C" ], [ "X", "3", "0", "4", "VALUE:3C" ], [ "X", "3", "0", "9", "VALUE:3C" ], [ "X", "X", "0", "1", "VALUE:99" ], [ "X", "X", "0", "2", "VALUE:99" ], [ "X", "X", "0", "3", "VALUE:99" ], [ "X", "X", "0", "4", "VALUE:99" ], [ "X", "X", "0", "9", "VALUE:99" ], [ "0", "0", "1", "1", "VALUE:4" ], [ "0", "0", "1", "2", "VALUE:4" ], [ "0", "0", "1", "3", "VALUE:4" ], [ "0", "0", "1", "4", "VALUE:4" ], [ "0", "0", "1", "9", "VALUE:4" ], [ "0", "1", "1", "1", "VALUE:4" ], [ "0", "1", "1", "2", "VALUE:4" ], [ "0", "1", "1", "3", "VALUE:4" ], [ "0", "1", "1", "4", "VALUE:4" ], [ "0", "1", "1", "9", "VALUE:4" ], [ "0", "2", "1", "1", "VALUE:4" ], [ "0", "2", "1", "2", "VALUE:4" ], [ "0", "2", "1", "3", "VALUE:4" ], [ "0", "2", "1", "4", "VALUE:4" ], [ "0", "2", "1", "9", "VALUE:4" ], [ "0", "3", "1", "1", "VALUE:4" ], [ "0", "3", "1", "2", "VALUE:4" ], [ "0", "3", "1", "3", "VALUE:4" ], [ "0", "3", "1", "4", "VALUE:4" ], [ "0", "3", "1", "9", "VALUE:4" ], [ "0", "X", "1", "1", "VALUE:4" ], [ "0", "X", "1", "2", "VALUE:4" ], [ "0", "X", "1", "3", "VALUE:4" ], [ "0", "X", "1", "4", "VALUE:4" ], [ "0", "X", "1", "9", "VALUE:4" ], [ "IS", "0", "1", "1", "VALUE:4" ], [ "IS", "0", "1", "2", "VALUE:4" ], [ "IS", "0", "1", "3", "VALUE:4" ], [ "IS", "0", "1", "4", "VALUE:4" ], [ "IS", "0", "1", "9", "VALUE:4" ], [ "IS", "1", "1", "1", "VALUE:4" ], [ "IS", "1", "1", "2", "VALUE:4" ], [ "IS", "1", "1", "3", "VALUE:4" ], [ "IS", "1", "1", "4", "VALUE:4" ], [ "IS", "1", "1", "9", "VALUE:4" ], [ "IS", "2", "1", "1", "VALUE:4" ], [ "IS", "2", "1", "2", "VALUE:4" ], [ "IS", "2", "1", "3", "VALUE:4" ], [ "IS", "2", "1", "4", "VALUE:4" ], [ "IS", "2", "1", "9", "VALUE:4" ], [ "IS", "3", "1", "1", "VALUE:4" ], [ "IS", "3", "1", "2", "VALUE:4" ], [ "IS", "3", "1", "3", "VALUE:4" ], [ "IS", "3", "1", "4", "VALUE:4" ], [ "IS", "3", "1", "9", "VALUE:4" ], [ "IS", "X", "1", "1", "VALUE:4" ], [ "IS", "X", "1", "2", "VALUE:4" ], [ "IS", "X", "1", "3", "VALUE:4" ], [ "IS", "X", "1", "4", "VALUE:4" ], [ "IS", "X", "1", "9", "VALUE:4" ], [ "1A", "0", "1", "1", "VALUE:4" ], [ "1A", "0", "1", "2", "VALUE:4" ], [ "1A", "0", "1", "3", "VALUE:4" ], [ "1A", "0", "1", "4", "VALUE:4" ], [ "1A", "0", "1", "9", "VALUE:4" ], [ "1A", "1", "1", "1", "VALUE:4" ], [ "1A", "1", "1", "2", "VALUE:4" ], [ "1A", "1", "1", "3", "VALUE:4" ], [ "1A", "1", "1", "4", "VALUE:4" ], [ "1A", "1", "1", "9", "VALUE:4" ], [ "1A", "2", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "2", "VALUE:4" ], [ "1A", "2", "1", "3", "VALUE:4" ], [ "1A", "2", "1", "4", "VALUE:4" ], [ "1A", "2", "1", "9", "VALUE:4" ], [ "1A", "3", "1", "1", "VALUE:4" ], [ "1A", "3", "1", "2", "VALUE:4" ], [ "1A", "3", "1", "3", "VALUE:4" ], [ "1A", "3", "1", "4", "VALUE:4" ], [ "1A", "3", "1", "9", "VALUE:4" ], [ "1A", "X", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "2", "VALUE:4" ], [ "1A", "X", "1", "3", "VALUE:4" ], [ "1A", "X", "1", "4", "VALUE:4" ], [ "1A", "X", "1", "9", "VALUE:4" ], [ "1B", "0", "1", "1", "VALUE:4" ], [ "1B", "0", "1", "2", "VALUE:4" ], [ "1B", "0", "1", "3", "VALUE:4" ], [ "1B", "0", "1", "4", "VALUE:4" ], [ "1B", "0", "1", "9", "VALUE:4" ], [ "1B", "1", "1", "1", "VALUE:4" ], [ "1B", "1", "1", "2", "VALUE:4" ], [ "1B", "1", "1", "3", "VALUE:4" ], [ "1B", "1", "1", "4", "VALUE:4" ], [ "1B", "1", "1", "9", "VALUE:4" ], [ "1B", "2", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "2", "VALUE:4" ], [ "1B", "2", "1", "3", "VALUE:4" ], [ "1B", "2", "1", "4", "VALUE:4" ], [ "1B", "2", "1", "9", "VALUE:4" ], [ "1B", "3", "1", "1", "VALUE:4" ], [ "1B", "3", "1", "2", "VALUE:4" ], [ "1B", "3", "1", "3", "VALUE:4" ], [ "1B", "3", "1", "4", "VALUE:4" ], [ "1B", "3", "1", "9", "VALUE:4" ], [ "1B", "X", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "2", "VALUE:4" ], [ "1B", "X", "1", "3", "VALUE:4" ], [ "1B", "X", "1", "4", "VALUE:4" ], [ "1B", "X", "1", "9", "VALUE:4" ], [ "1", "0", "1", "1", "VALUE:4" ], [ "1", "0", "1", "2", "VALUE:4" ], [ "1", "0", "1", "3", "VALUE:4" ], [ "1", "0", "1", "4", "VALUE:4" ], [ "1", "0", "1", "9", "VALUE:4" ], [ "1", "1", "1", "1", "VALUE:4" ], [ "1", "1", "1", "2", "VALUE:4" ], [ "1", "1", "1", "3", "VALUE:4" ], [ "1", "1", "1", "4", "VALUE:4" ], [ "1", "1", "1", "9", "VALUE:4" ], [ "1", "2", "1", "1", "VALUE:4" ], [ "1", "2", "1", "2", "VALUE:4" ], [ "1", "2", "1", "3", "VALUE:4" ], [ "1", "2", "1", "4", "VALUE:4" ], [ "1", "2", "1", "9", "VALUE:4" ], [ "1", "3", "1", "1", "VALUE:4" ], [ "1", "3", "1", "2", "VALUE:4" ], [ "1", "3", "1", "3", "VALUE:4" ], [ "1", "3", "1", "4", "VALUE:4" ], [ "1", "3", "1", "9", "VALUE:4" ], [ "1", "X", "1", "1", "VALUE:4" ], [ "1", "X", "1", "2", "VALUE:4" ], [ "1", "X", "1", "3", "VALUE:4" ], [ "1", "X", "1", "4", "VALUE:4" ], [ "1", "X", "1", "9", "VALUE:4" ], [ "2", "0", "1", "1", "VALUE:4" ], [ "2", "0", "1", "2", "VALUE:4" ], [ "2", "0", "1", "3", "VALUE:4" ], [ "2", "0", "1", "4", "VALUE:4" ], [ "2", "0", "1", "9", "VALUE:4" ], [ "2", "1", "1", "1", "VALUE:4" ], [ "2", "1", "1", "2", "VALUE:4" ], [ "2", "1", "1", "3", "VALUE:4" ], [ "2", "1", "1", "4", "VALUE:4" ], [ "2", "1", "1", "9", "VALUE:4" ], [ "2", "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "2", "VALUE:4" ], [ "2", "2", "1", "3", "VALUE:4" ], [ "2", "2", "1", "4", "VALUE:4" ], [ "2", "2", "1", "9", "VALUE:4" ], [ "2", "3", "1", "1", "VALUE:4" ], [ "2", "3", "1", "2", "VALUE:4" ], [ "2", "3", "1", "3", "VALUE:4" ], [ "2", "3", "1", "4", "VALUE:4" ], [ "2", "3", "1", "9", "VALUE:4" ], [ "2", "X", "1", "1", "VALUE:4" ], [ "2", "X", "1", "2", "VALUE:4" ], [ "2", "X", "1", "3", "VALUE:4" ], [ "2", "X", "1", "4", "VALUE:4" ], [ "2", "X", "1", "9", "VALUE:4" ], [ "3", "0", "1", "1", "VALUE:4" ], [ "3", "0", "1", "2", "VALUE:4" ], [ "3", "0", "1", "3", "VALUE:4" ], [ "3", "0", "1", "4", "VALUE:4" ], [ "3", "0", "1", "9", "VALUE:4" ], [ "3", "1", "1", "1", "VALUE:4" ], [ "3", "1", "1", "2", "VALUE:4" ], [ "3", "1", "1", "3", "VALUE:4" ], [ "3", "1", "1", "4", "VALUE:4" ], [ "3", "1", "1", "9", "VALUE:4" ], [ "3", "2", "1", "1", "VALUE:4" ], [ "3", "2", "1", "2", "VALUE:4" ], [ "3", "2", "1", "3", "VALUE:4" ], [ "3", "2", "1", "4", "VALUE:4" ], [ "3", "2", "1", "9", "VALUE:4" ], [ "3", "3", "1", "1", "VALUE:4" ], [ "3", "3", "1", "2", "VALUE:4" ], [ "3", "3", "1", "3", "VALUE:4" ], [ "3", "3", "1", "4", "VALUE:4" ], [ "3", "3", "1", "9", "VALUE:4" ], [ "3", "X", "1", "1", "VALUE:4" ], [ "3", "X", "1", "2", "VALUE:4" ], [ "3", "X", "1", "3", "VALUE:4" ], [ "3", "X", "1", "4", "VALUE:4" ], [ "3", "X", "1", "9", "VALUE:4" ], [ "4A", "0", "1", "1", "VALUE:4" ], [ "4A", "0", "1", "2", "VALUE:4" ], [ "4A", "0", "1", "3", "VALUE:4" ], [ "4A", "0", "1", "4", "VALUE:4" ], [ "4A", "0", "1", "9", "VALUE:4" ], [ "4A", "1", "1", "1", "VALUE:4" ], [ "4A", "1", "1", "2", "VALUE:4" ], [ "4A", "1", "1", "3", "VALUE:4" ], [ "4A", "1", "1", "4", "VALUE:4" ], [ "4A", "1", "1", "9", "VALUE:4" ], [ "4A", "2", "1", "1", "VALUE:4" ], [ "4A", "2", "1", "2", "VALUE:4" ], [ "4A", "2", "1", "3", "VALUE:4" ], [ "4A", "2", "1", "4", "VALUE:4" ], [ "4A", "2", "1", "9", "VALUE:4" ], [ "4A", "3", "1", "1", "VALUE:4" ], [ "4A", "3", "1", "2", "VALUE:4" ], [ "4A", "3", "1", "3", "VALUE:4" ], [ "4A", "3", "1", "4", "VALUE:4" ], [ "4A", "3", "1", "9", "VALUE:4" ], [ "4A", "X", "1", "1", "VALUE:4" ], [ "4A", "X", "1", "2", "VALUE:4" ], [ "4A", "X", "1", "3", "VALUE:4" ], [ "4A", "X", "1", "4", "VALUE:4" ], [ "4A", "X", "1", "9", "VALUE:4" ], [ "4B", "0", "1", "1", "VALUE:4" ], [ "4B", "0", "1", "2", "VALUE:4" ], [ "4B", "0", "1", "3", "VALUE:4" ], [ "4B", "0", "1", "4", "VALUE:4" ], [ "4B", "0", "1", "9", "VALUE:4" ], [ "4B", "1", "1", "1", "VALUE:4" ], [ "4B", "1", "1", "2", "VALUE:4" ], [ "4B", "1", "1", "3", "VALUE:4" ], [ "4B", "1", "1", "4", "VALUE:4" ], [ "4B", "1", "1", "9", "VALUE:4" ], [ "4B", "2", "1", "1", "VALUE:4" ], [ "4B", "2", "1", "2", "VALUE:4" ], [ "4B", "2", "1", "3", "VALUE:4" ], [ "4B", "2", "1", "4", "VALUE:4" ], [ "4B", "2", "1", "9", "VALUE:4" ], [ "4B", "3", "1", "1", "VALUE:4" ], [ "4B", "3", "1", "2", "VALUE:4" ], [ "4B", "3", "1", "3", "VALUE:4" ], [ "4B", "3", "1", "4", "VALUE:4" ], [ "4B", "3", "1", "9", "VALUE:4" ], [ "4B", "X", "1", "1", "VALUE:4" ], [ "4B", "X", "1", "2", "VALUE:4" ], [ "4B", "X", "1", "3", "VALUE:4" ], [ "4B", "X", "1", "4", "VALUE:4" ], [ "4B", "X", "1", "9", "VALUE:4" ], [ "4", "0", "1", "1", "VALUE:4" ], [ "4", "0", "1", "2", "VALUE:4" ], [ "4", "0", "1", "3", "VALUE:4" ], [ "4", "0", "1", "4", "VALUE:4" ], [ "4", "0", "1", "9", "VALUE:4" ], [ "4", "1", "1", "1", "VALUE:4" ], [ "4", "1", "1", "2", "VALUE:4" ], [ "4", "1", "1", "3", "VALUE:4" ], [ "4", "1", "1", "4", "VALUE:4" ], [ "4", "1", "1", "9", "VALUE:4" ], [ "4", "2", "1", "1", "VALUE:4" ], [ "4", "2", "1", "2", "VALUE:4" ], [ "4", "2", "1", "3", "VALUE:4" ], [ "4", "2", "1", "4", "VALUE:4" ], [ "4", "2", "1", "9", "VALUE:4" ], [ "4", "3", "1", "1", "VALUE:4" ], [ "4", "3", "1", "2", "VALUE:4" ], [ "4", "3", "1", "3", "VALUE:4" ], [ "4", "3", "1", "4", "VALUE:4" ], [ "4", "3", "1", "9", "VALUE:4" ], [ "4", "X", "1", "1", "VALUE:4" ], [ "4", "X", "1", "2", "VALUE:4" ], [ "4", "X", "1", "3", "VALUE:4" ], [ "4", "X", "1", "4", "VALUE:4" ], [ "4", "X", "1", "9", "VALUE:4" ], [ "X", "0", "1", "1", "VALUE:4" ], [ "X", "0", "1", "2", "VALUE:4" ], [ "X", "0", "1", "3", "VALUE:4" ], [ "X", "0", "1", "4", "VALUE:4" ], [ "X", "0", "1", "9", "VALUE:4" ], [ "X", "1", "1", "1", "VALUE:4" ], [ "X", "1", "1", "2", "VALUE:4" ], [ "X", "1", "1", "3", "VALUE:4" ], [ "X", "1", "1", "4", "VALUE:4" ], [ "X", "1", "1", "9", "VALUE:4" ], [ "X", "2", "1", "1", "VALUE:4" ], [ "X", "2", "1", "2", "VALUE:4" ], [ "X", "2", "1", "3", "VALUE:4" ], [ "X", "2", "1", "4", "VALUE:4" ], [ "X", "2", "1", "9", "VALUE:4" ], [ "X", "3", "1", "1", "VALUE:4" ], [ "X", "3", "1", "2", "VALUE:4" ], [ "X", "3", "1", "3", "VALUE:4" ], [ "X", "3", "1", "4", "VALUE:4" ], [ "X", "3", "1", "9", "VALUE:4" ], [ "X", "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "2", "VALUE:4" ], [ "X", "X", "1", "3", "VALUE:4" ], [ "X", "X", "1", "4", "VALUE:4" ], [ "X", "X", "1", "9", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_41458.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_41458.json deleted file mode 100644 index 43f93d5c7..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_adenocarcinoma_41458.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm_7_path_stage_adenocarcinoma_41458", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Adenocarcinoma", - "title" : "TNM 7 Path Stage Adenocarcinoma", - "last_modified" : "2018-05-14T21:29:05.852Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "1", "VALUE:99" ], [ "0", "0", "0", "2", "VALUE:99" ], [ "0", "0", "0", "3", "VALUE:99" ], [ "0", "0", "0", "4", "VALUE:99" ], [ "0", "0", "0", "9", "VALUE:99" ], [ "0", "1", "0", "1", "VALUE:2B" ], [ "0", "1", "0", "2", "VALUE:2B" ], [ "0", "1", "0", "3", "VALUE:2B" ], [ "0", "1", "0", "4", "VALUE:2B" ], [ "0", "1", "0", "9", "VALUE:2B" ], [ "0", "2", "0", "1", "VALUE:3A" ], [ "0", "2", "0", "2", "VALUE:3A" ], [ "0", "2", "0", "3", "VALUE:3A" ], [ "0", "2", "0", "4", "VALUE:3A" ], [ "0", "2", "0", "9", "VALUE:3A" ], [ "0", "3", "0", "1", "VALUE:3C" ], [ "0", "3", "0", "2", "VALUE:3C" ], [ "0", "3", "0", "3", "VALUE:3C" ], [ "0", "3", "0", "4", "VALUE:3C" ], [ "0", "3", "0", "9", "VALUE:3C" ], [ "0", "X", "0", "1", "VALUE:99" ], [ "0", "X", "0", "2", "VALUE:99" ], [ "0", "X", "0", "3", "VALUE:99" ], [ "0", "X", "0", "4", "VALUE:99" ], [ "0", "X", "0", "9", "VALUE:99" ], [ "IS", "0", "0", "1", "VALUE:0" ], [ "IS", "0", "0", "2", "VALUE:99" ], [ "IS", "0", "0", "3", "VALUE:99" ], [ "IS", "0", "0", "4", "VALUE:99" ], [ "IS", "0", "0", "9", "VALUE:0" ], [ "IS", "1", "0", "1", "VALUE:2B" ], [ "IS", "1", "0", "2", "VALUE:2B" ], [ "IS", "1", "0", "3", "VALUE:2B" ], [ "IS", "1", "0", "4", "VALUE:2B" ], [ "IS", "1", "0", "9", "VALUE:2B" ], [ "IS", "2", "0", "1", "VALUE:3A" ], [ "IS", "2", "0", "2", "VALUE:3A" ], [ "IS", "2", "0", "3", "VALUE:3A" ], [ "IS", "2", "0", "4", "VALUE:3A" ], [ "IS", "2", "0", "9", "VALUE:3A" ], [ "IS", "3", "0", "1", "VALUE:3C" ], [ "IS", "3", "0", "2", "VALUE:3C" ], [ "IS", "3", "0", "3", "VALUE:3C" ], [ "IS", "3", "0", "4", "VALUE:3C" ], [ "IS", "3", "0", "9", "VALUE:3C" ], [ "IS", "X", "0", "1", "VALUE:0" ], [ "IS", "X", "0", "2", "VALUE:0" ], [ "IS", "X", "0", "3", "VALUE:0" ], [ "IS", "X", "0", "4", "VALUE:0" ], [ "IS", "X", "0", "9", "VALUE:0" ], [ "1A", "0", "0", "1", "VALUE:1A" ], [ "1A", "0", "0", "2", "VALUE:1A" ], [ "1A", "0", "0", "3", "VALUE:1B" ], [ "1A", "0", "0", "4", "VALUE:1B" ], [ "1A", "0", "0", "9", "VALUE:1A" ], [ "1A", "1", "0", "1", "VALUE:2B" ], [ "1A", "1", "0", "2", "VALUE:2B" ], [ "1A", "1", "0", "3", "VALUE:2B" ], [ "1A", "1", "0", "4", "VALUE:2B" ], [ "1A", "1", "0", "9", "VALUE:2B" ], [ "1A", "2", "0", "1", "VALUE:3A" ], [ "1A", "2", "0", "2", "VALUE:3A" ], [ "1A", "2", "0", "3", "VALUE:3A" ], [ "1A", "2", "0", "4", "VALUE:3A" ], [ "1A", "2", "0", "9", "VALUE:3A" ], [ "1A", "3", "0", "1", "VALUE:3C" ], [ "1A", "3", "0", "2", "VALUE:3C" ], [ "1A", "3", "0", "3", "VALUE:3C" ], [ "1A", "3", "0", "4", "VALUE:3C" ], [ "1A", "3", "0", "9", "VALUE:3C" ], [ "1A", "X", "0", "1", "VALUE:99" ], [ "1A", "X", "0", "2", "VALUE:99" ], [ "1A", "X", "0", "3", "VALUE:99" ], [ "1A", "X", "0", "4", "VALUE:99" ], [ "1A", "X", "0", "9", "VALUE:99" ], [ "1B", "0", "0", "1", "VALUE:1A" ], [ "1B", "0", "0", "2", "VALUE:1A" ], [ "1B", "0", "0", "3", "VALUE:1B" ], [ "1B", "0", "0", "4", "VALUE:1B" ], [ "1B", "0", "0", "9", "VALUE:1A" ], [ "1B", "1", "0", "1", "VALUE:2B" ], [ "1B", "1", "0", "2", "VALUE:2B" ], [ "1B", "1", "0", "3", "VALUE:2B" ], [ "1B", "1", "0", "4", "VALUE:2B" ], [ "1B", "1", "0", "9", "VALUE:2B" ], [ "1B", "2", "0", "1", "VALUE:3A" ], [ "1B", "2", "0", "2", "VALUE:3A" ], [ "1B", "2", "0", "3", "VALUE:3A" ], [ "1B", "2", "0", "4", "VALUE:3A" ], [ "1B", "2", "0", "9", "VALUE:3A" ], [ "1B", "3", "0", "1", "VALUE:3C" ], [ "1B", "3", "0", "2", "VALUE:3C" ], [ "1B", "3", "0", "3", "VALUE:3C" ], [ "1B", "3", "0", "4", "VALUE:3C" ], [ "1B", "3", "0", "9", "VALUE:3C" ], [ "1B", "X", "0", "1", "VALUE:99" ], [ "1B", "X", "0", "2", "VALUE:99" ], [ "1B", "X", "0", "3", "VALUE:99" ], [ "1B", "X", "0", "4", "VALUE:99" ], [ "1B", "X", "0", "9", "VALUE:99" ], [ "1", "0", "0", "1", "VALUE:1A" ], [ "1", "0", "0", "2", "VALUE:1A" ], [ "1", "0", "0", "3", "VALUE:1B" ], [ "1", "0", "0", "4", "VALUE:1B" ], [ "1", "0", "0", "9", "VALUE:1A" ], [ "1", "1", "0", "1", "VALUE:2B" ], [ "1", "1", "0", "2", "VALUE:2B" ], [ "1", "1", "0", "3", "VALUE:2B" ], [ "1", "1", "0", "4", "VALUE:2B" ], [ "1", "1", "0", "9", "VALUE:2B" ], [ "1", "2", "0", "1", "VALUE:3A" ], [ "1", "2", "0", "2", "VALUE:3A" ], [ "1", "2", "0", "3", "VALUE:3A" ], [ "1", "2", "0", "4", "VALUE:3A" ], [ "1", "2", "0", "9", "VALUE:3A" ], [ "1", "3", "0", "1", "VALUE:3C" ], [ "1", "3", "0", "2", "VALUE:3C" ], [ "1", "3", "0", "3", "VALUE:3C" ], [ "1", "3", "0", "4", "VALUE:3C" ], [ "1", "3", "0", "9", "VALUE:3C" ], [ "1", "X", "0", "1", "VALUE:99" ], [ "1", "X", "0", "2", "VALUE:99" ], [ "1", "X", "0", "3", "VALUE:99" ], [ "1", "X", "0", "4", "VALUE:99" ], [ "1", "X", "0", "9", "VALUE:99" ], [ "2", "0", "0", "1", "VALUE:1B" ], [ "2", "0", "0", "2", "VALUE:1B" ], [ "2", "0", "0", "3", "VALUE:2A" ], [ "2", "0", "0", "4", "VALUE:2A" ], [ "2", "0", "0", "9", "VALUE:1B" ], [ "2", "1", "0", "1", "VALUE:2B" ], [ "2", "1", "0", "2", "VALUE:2B" ], [ "2", "1", "0", "3", "VALUE:2B" ], [ "2", "1", "0", "4", "VALUE:2B" ], [ "2", "1", "0", "9", "VALUE:2B" ], [ "2", "2", "0", "1", "VALUE:3A" ], [ "2", "2", "0", "2", "VALUE:3A" ], [ "2", "2", "0", "3", "VALUE:3A" ], [ "2", "2", "0", "4", "VALUE:3A" ], [ "2", "2", "0", "9", "VALUE:3A" ], [ "2", "3", "0", "1", "VALUE:3C" ], [ "2", "3", "0", "2", "VALUE:3C" ], [ "2", "3", "0", "3", "VALUE:3C" ], [ "2", "3", "0", "4", "VALUE:3C" ], [ "2", "3", "0", "9", "VALUE:3C" ], [ "2", "X", "0", "1", "VALUE:99" ], [ "2", "X", "0", "2", "VALUE:99" ], [ "2", "X", "0", "3", "VALUE:99" ], [ "2", "X", "0", "4", "VALUE:99" ], [ "2", "X", "0", "9", "VALUE:99" ], [ "3", "0", "0", "1", "VALUE:2B" ], [ "3", "0", "0", "2", "VALUE:2B" ], [ "3", "0", "0", "3", "VALUE:2B" ], [ "3", "0", "0", "4", "VALUE:2B" ], [ "3", "0", "0", "9", "VALUE:2B" ], [ "3", "1", "0", "1", "VALUE:3A" ], [ "3", "1", "0", "2", "VALUE:3A" ], [ "3", "1", "0", "3", "VALUE:3A" ], [ "3", "1", "0", "4", "VALUE:3A" ], [ "3", "1", "0", "9", "VALUE:3A" ], [ "3", "2", "0", "1", "VALUE:3B" ], [ "3", "2", "0", "2", "VALUE:3B" ], [ "3", "2", "0", "3", "VALUE:3B" ], [ "3", "2", "0", "4", "VALUE:3B" ], [ "3", "2", "0", "9", "VALUE:3B" ], [ "3", "3", "0", "1", "VALUE:3C" ], [ "3", "3", "0", "2", "VALUE:3C" ], [ "3", "3", "0", "3", "VALUE:3C" ], [ "3", "3", "0", "4", "VALUE:3C" ], [ "3", "3", "0", "9", "VALUE:3C" ], [ "3", "X", "0", "1", "VALUE:99" ], [ "3", "X", "0", "2", "VALUE:99" ], [ "3", "X", "0", "3", "VALUE:99" ], [ "3", "X", "0", "4", "VALUE:99" ], [ "3", "X", "0", "9", "VALUE:99" ], [ "4A", "0", "0", "1", "VALUE:3A" ], [ "4A", "0", "0", "2", "VALUE:3A" ], [ "4A", "0", "0", "3", "VALUE:3A" ], [ "4A", "0", "0", "4", "VALUE:3A" ], [ "4A", "0", "0", "9", "VALUE:3A" ], [ "4A", "1", "0", "1", "VALUE:3C" ], [ "4A", "1", "0", "2", "VALUE:3C" ], [ "4A", "1", "0", "3", "VALUE:3C" ], [ "4A", "1", "0", "4", "VALUE:3C" ], [ "4A", "1", "0", "9", "VALUE:3C" ], [ "4A", "2", "0", "1", "VALUE:3C" ], [ "4A", "2", "0", "2", "VALUE:3C" ], [ "4A", "2", "0", "3", "VALUE:3C" ], [ "4A", "2", "0", "4", "VALUE:3C" ], [ "4A", "2", "0", "9", "VALUE:3C" ], [ "4A", "3", "0", "1", "VALUE:3C" ], [ "4A", "3", "0", "2", "VALUE:3C" ], [ "4A", "3", "0", "3", "VALUE:3C" ], [ "4A", "3", "0", "4", "VALUE:3C" ], [ "4A", "3", "0", "9", "VALUE:3C" ], [ "4A", "X", "0", "1", "VALUE:99" ], [ "4A", "X", "0", "2", "VALUE:99" ], [ "4A", "X", "0", "3", "VALUE:99" ], [ "4A", "X", "0", "4", "VALUE:99" ], [ "4A", "X", "0", "9", "VALUE:99" ], [ "4B", "0", "0", "1", "VALUE:3C" ], [ "4B", "0", "0", "2", "VALUE:3C" ], [ "4B", "0", "0", "3", "VALUE:3C" ], [ "4B", "0", "0", "4", "VALUE:3C" ], [ "4B", "0", "0", "9", "VALUE:3C" ], [ "4B", "1", "0", "1", "VALUE:3C" ], [ "4B", "1", "0", "2", "VALUE:3C" ], [ "4B", "1", "0", "3", "VALUE:3C" ], [ "4B", "1", "0", "4", "VALUE:3C" ], [ "4B", "1", "0", "9", "VALUE:3C" ], [ "4B", "2", "0", "1", "VALUE:3C" ], [ "4B", "2", "0", "2", "VALUE:3C" ], [ "4B", "2", "0", "3", "VALUE:3C" ], [ "4B", "2", "0", "4", "VALUE:3C" ], [ "4B", "2", "0", "9", "VALUE:3C" ], [ "4B", "3", "0", "1", "VALUE:3C" ], [ "4B", "3", "0", "2", "VALUE:3C" ], [ "4B", "3", "0", "3", "VALUE:3C" ], [ "4B", "3", "0", "4", "VALUE:3C" ], [ "4B", "3", "0", "9", "VALUE:3C" ], [ "4B", "X", "0", "1", "VALUE:3C" ], [ "4B", "X", "0", "2", "VALUE:3C" ], [ "4B", "X", "0", "3", "VALUE:3C" ], [ "4B", "X", "0", "4", "VALUE:3C" ], [ "4B", "X", "0", "9", "VALUE:3C" ], [ "4", "0", "0", "1", "VALUE:3A" ], [ "4", "0", "0", "2", "VALUE:3A" ], [ "4", "0", "0", "3", "VALUE:3A" ], [ "4", "0", "0", "4", "VALUE:3A" ], [ "4", "0", "0", "9", "VALUE:3A" ], [ "4", "1", "0", "1", "VALUE:3C" ], [ "4", "1", "0", "2", "VALUE:3C" ], [ "4", "1", "0", "3", "VALUE:3C" ], [ "4", "1", "0", "4", "VALUE:3C" ], [ "4", "1", "0", "9", "VALUE:3C" ], [ "4", "2", "0", "1", "VALUE:3C" ], [ "4", "2", "0", "2", "VALUE:3C" ], [ "4", "2", "0", "3", "VALUE:3C" ], [ "4", "2", "0", "4", "VALUE:3C" ], [ "4", "2", "0", "9", "VALUE:3C" ], [ "4", "3", "0", "1", "VALUE:3C" ], [ "4", "3", "0", "2", "VALUE:3C" ], [ "4", "3", "0", "3", "VALUE:3C" ], [ "4", "3", "0", "4", "VALUE:3C" ], [ "4", "3", "0", "9", "VALUE:3C" ], [ "4", "X", "0", "1", "VALUE:99" ], [ "4", "X", "0", "2", "VALUE:99" ], [ "4", "X", "0", "3", "VALUE:99" ], [ "4", "X", "0", "4", "VALUE:99" ], [ "4", "X", "0", "9", "VALUE:99" ], [ "X", "0", "0", "1", "VALUE:99" ], [ "X", "0", "0", "2", "VALUE:99" ], [ "X", "0", "0", "3", "VALUE:99" ], [ "X", "0", "0", "4", "VALUE:99" ], [ "X", "0", "0", "9", "VALUE:99" ], [ "X", "1", "0", "1", "VALUE:99" ], [ "X", "1", "0", "2", "VALUE:99" ], [ "X", "1", "0", "3", "VALUE:99" ], [ "X", "1", "0", "4", "VALUE:99" ], [ "X", "1", "0", "9", "VALUE:99" ], [ "X", "2", "0", "1", "VALUE:99" ], [ "X", "2", "0", "2", "VALUE:99" ], [ "X", "2", "0", "3", "VALUE:99" ], [ "X", "2", "0", "4", "VALUE:99" ], [ "X", "2", "0", "9", "VALUE:99" ], [ "X", "3", "0", "1", "VALUE:3C" ], [ "X", "3", "0", "2", "VALUE:3C" ], [ "X", "3", "0", "3", "VALUE:3C" ], [ "X", "3", "0", "4", "VALUE:3C" ], [ "X", "3", "0", "9", "VALUE:3C" ], [ "X", "X", "0", "1", "VALUE:99" ], [ "X", "X", "0", "2", "VALUE:99" ], [ "X", "X", "0", "3", "VALUE:99" ], [ "X", "X", "0", "4", "VALUE:99" ], [ "X", "X", "0", "9", "VALUE:99" ], [ "0", "0", "1", "1", "VALUE:4" ], [ "0", "0", "1", "2", "VALUE:4" ], [ "0", "0", "1", "3", "VALUE:4" ], [ "0", "0", "1", "4", "VALUE:4" ], [ "0", "0", "1", "9", "VALUE:4" ], [ "0", "1", "1", "1", "VALUE:4" ], [ "0", "1", "1", "2", "VALUE:4" ], [ "0", "1", "1", "3", "VALUE:4" ], [ "0", "1", "1", "4", "VALUE:4" ], [ "0", "1", "1", "9", "VALUE:4" ], [ "0", "2", "1", "1", "VALUE:4" ], [ "0", "2", "1", "2", "VALUE:4" ], [ "0", "2", "1", "3", "VALUE:4" ], [ "0", "2", "1", "4", "VALUE:4" ], [ "0", "2", "1", "9", "VALUE:4" ], [ "0", "3", "1", "1", "VALUE:4" ], [ "0", "3", "1", "2", "VALUE:4" ], [ "0", "3", "1", "3", "VALUE:4" ], [ "0", "3", "1", "4", "VALUE:4" ], [ "0", "3", "1", "9", "VALUE:4" ], [ "0", "X", "1", "1", "VALUE:4" ], [ "0", "X", "1", "2", "VALUE:4" ], [ "0", "X", "1", "3", "VALUE:4" ], [ "0", "X", "1", "4", "VALUE:4" ], [ "0", "X", "1", "9", "VALUE:4" ], [ "IS", "0", "1", "1", "VALUE:4" ], [ "IS", "0", "1", "2", "VALUE:4" ], [ "IS", "0", "1", "3", "VALUE:4" ], [ "IS", "0", "1", "4", "VALUE:4" ], [ "IS", "0", "1", "9", "VALUE:4" ], [ "IS", "1", "1", "1", "VALUE:4" ], [ "IS", "1", "1", "2", "VALUE:4" ], [ "IS", "1", "1", "3", "VALUE:4" ], [ "IS", "1", "1", "4", "VALUE:4" ], [ "IS", "1", "1", "9", "VALUE:4" ], [ "IS", "2", "1", "1", "VALUE:4" ], [ "IS", "2", "1", "2", "VALUE:4" ], [ "IS", "2", "1", "3", "VALUE:4" ], [ "IS", "2", "1", "4", "VALUE:4" ], [ "IS", "2", "1", "9", "VALUE:4" ], [ "IS", "3", "1", "1", "VALUE:4" ], [ "IS", "3", "1", "2", "VALUE:4" ], [ "IS", "3", "1", "3", "VALUE:4" ], [ "IS", "3", "1", "4", "VALUE:4" ], [ "IS", "3", "1", "9", "VALUE:4" ], [ "IS", "X", "1", "1", "VALUE:4" ], [ "IS", "X", "1", "2", "VALUE:4" ], [ "IS", "X", "1", "3", "VALUE:4" ], [ "IS", "X", "1", "4", "VALUE:4" ], [ "IS", "X", "1", "9", "VALUE:4" ], [ "1A", "0", "1", "1", "VALUE:4" ], [ "1A", "0", "1", "2", "VALUE:4" ], [ "1A", "0", "1", "3", "VALUE:4" ], [ "1A", "0", "1", "4", "VALUE:4" ], [ "1A", "0", "1", "9", "VALUE:4" ], [ "1A", "1", "1", "1", "VALUE:4" ], [ "1A", "1", "1", "2", "VALUE:4" ], [ "1A", "1", "1", "3", "VALUE:4" ], [ "1A", "1", "1", "4", "VALUE:4" ], [ "1A", "1", "1", "9", "VALUE:4" ], [ "1A", "2", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "2", "VALUE:4" ], [ "1A", "2", "1", "3", "VALUE:4" ], [ "1A", "2", "1", "4", "VALUE:4" ], [ "1A", "2", "1", "9", "VALUE:4" ], [ "1A", "3", "1", "1", "VALUE:4" ], [ "1A", "3", "1", "2", "VALUE:4" ], [ "1A", "3", "1", "3", "VALUE:4" ], [ "1A", "3", "1", "4", "VALUE:4" ], [ "1A", "3", "1", "9", "VALUE:4" ], [ "1A", "X", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "2", "VALUE:4" ], [ "1A", "X", "1", "3", "VALUE:4" ], [ "1A", "X", "1", "4", "VALUE:4" ], [ "1A", "X", "1", "9", "VALUE:4" ], [ "1B", "0", "1", "1", "VALUE:4" ], [ "1B", "0", "1", "2", "VALUE:4" ], [ "1B", "0", "1", "3", "VALUE:4" ], [ "1B", "0", "1", "4", "VALUE:4" ], [ "1B", "0", "1", "9", "VALUE:4" ], [ "1B", "1", "1", "1", "VALUE:4" ], [ "1B", "1", "1", "2", "VALUE:4" ], [ "1B", "1", "1", "3", "VALUE:4" ], [ "1B", "1", "1", "4", "VALUE:4" ], [ "1B", "1", "1", "9", "VALUE:4" ], [ "1B", "2", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "2", "VALUE:4" ], [ "1B", "2", "1", "3", "VALUE:4" ], [ "1B", "2", "1", "4", "VALUE:4" ], [ "1B", "2", "1", "9", "VALUE:4" ], [ "1B", "3", "1", "1", "VALUE:4" ], [ "1B", "3", "1", "2", "VALUE:4" ], [ "1B", "3", "1", "3", "VALUE:4" ], [ "1B", "3", "1", "4", "VALUE:4" ], [ "1B", "3", "1", "9", "VALUE:4" ], [ "1B", "X", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "2", "VALUE:4" ], [ "1B", "X", "1", "3", "VALUE:4" ], [ "1B", "X", "1", "4", "VALUE:4" ], [ "1B", "X", "1", "9", "VALUE:4" ], [ "1", "0", "1", "1", "VALUE:4" ], [ "1", "0", "1", "2", "VALUE:4" ], [ "1", "0", "1", "3", "VALUE:4" ], [ "1", "0", "1", "4", "VALUE:4" ], [ "1", "0", "1", "9", "VALUE:4" ], [ "1", "1", "1", "1", "VALUE:4" ], [ "1", "1", "1", "2", "VALUE:4" ], [ "1", "1", "1", "3", "VALUE:4" ], [ "1", "1", "1", "4", "VALUE:4" ], [ "1", "1", "1", "9", "VALUE:4" ], [ "1", "2", "1", "1", "VALUE:4" ], [ "1", "2", "1", "2", "VALUE:4" ], [ "1", "2", "1", "3", "VALUE:4" ], [ "1", "2", "1", "4", "VALUE:4" ], [ "1", "2", "1", "9", "VALUE:4" ], [ "1", "3", "1", "1", "VALUE:4" ], [ "1", "3", "1", "2", "VALUE:4" ], [ "1", "3", "1", "3", "VALUE:4" ], [ "1", "3", "1", "4", "VALUE:4" ], [ "1", "3", "1", "9", "VALUE:4" ], [ "1", "X", "1", "1", "VALUE:4" ], [ "1", "X", "1", "2", "VALUE:4" ], [ "1", "X", "1", "3", "VALUE:4" ], [ "1", "X", "1", "4", "VALUE:4" ], [ "1", "X", "1", "9", "VALUE:4" ], [ "2", "0", "1", "1", "VALUE:4" ], [ "2", "0", "1", "2", "VALUE:4" ], [ "2", "0", "1", "3", "VALUE:4" ], [ "2", "0", "1", "4", "VALUE:4" ], [ "2", "0", "1", "9", "VALUE:4" ], [ "2", "1", "1", "1", "VALUE:4" ], [ "2", "1", "1", "2", "VALUE:4" ], [ "2", "1", "1", "3", "VALUE:4" ], [ "2", "1", "1", "4", "VALUE:4" ], [ "2", "1", "1", "9", "VALUE:4" ], [ "2", "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "2", "VALUE:4" ], [ "2", "2", "1", "3", "VALUE:4" ], [ "2", "2", "1", "4", "VALUE:4" ], [ "2", "2", "1", "9", "VALUE:4" ], [ "2", "3", "1", "1", "VALUE:4" ], [ "2", "3", "1", "2", "VALUE:4" ], [ "2", "3", "1", "3", "VALUE:4" ], [ "2", "3", "1", "4", "VALUE:4" ], [ "2", "3", "1", "9", "VALUE:4" ], [ "2", "X", "1", "1", "VALUE:4" ], [ "2", "X", "1", "2", "VALUE:4" ], [ "2", "X", "1", "3", "VALUE:4" ], [ "2", "X", "1", "4", "VALUE:4" ], [ "2", "X", "1", "9", "VALUE:4" ], [ "3", "0", "1", "1", "VALUE:4" ], [ "3", "0", "1", "2", "VALUE:4" ], [ "3", "0", "1", "3", "VALUE:4" ], [ "3", "0", "1", "4", "VALUE:4" ], [ "3", "0", "1", "9", "VALUE:4" ], [ "3", "1", "1", "1", "VALUE:4" ], [ "3", "1", "1", "2", "VALUE:4" ], [ "3", "1", "1", "3", "VALUE:4" ], [ "3", "1", "1", "4", "VALUE:4" ], [ "3", "1", "1", "9", "VALUE:4" ], [ "3", "2", "1", "1", "VALUE:4" ], [ "3", "2", "1", "2", "VALUE:4" ], [ "3", "2", "1", "3", "VALUE:4" ], [ "3", "2", "1", "4", "VALUE:4" ], [ "3", "2", "1", "9", "VALUE:4" ], [ "3", "3", "1", "1", "VALUE:4" ], [ "3", "3", "1", "2", "VALUE:4" ], [ "3", "3", "1", "3", "VALUE:4" ], [ "3", "3", "1", "4", "VALUE:4" ], [ "3", "3", "1", "9", "VALUE:4" ], [ "3", "X", "1", "1", "VALUE:4" ], [ "3", "X", "1", "2", "VALUE:4" ], [ "3", "X", "1", "3", "VALUE:4" ], [ "3", "X", "1", "4", "VALUE:4" ], [ "3", "X", "1", "9", "VALUE:4" ], [ "4A", "0", "1", "1", "VALUE:4" ], [ "4A", "0", "1", "2", "VALUE:4" ], [ "4A", "0", "1", "3", "VALUE:4" ], [ "4A", "0", "1", "4", "VALUE:4" ], [ "4A", "0", "1", "9", "VALUE:4" ], [ "4A", "1", "1", "1", "VALUE:4" ], [ "4A", "1", "1", "2", "VALUE:4" ], [ "4A", "1", "1", "3", "VALUE:4" ], [ "4A", "1", "1", "4", "VALUE:4" ], [ "4A", "1", "1", "9", "VALUE:4" ], [ "4A", "2", "1", "1", "VALUE:4" ], [ "4A", "2", "1", "2", "VALUE:4" ], [ "4A", "2", "1", "3", "VALUE:4" ], [ "4A", "2", "1", "4", "VALUE:4" ], [ "4A", "2", "1", "9", "VALUE:4" ], [ "4A", "3", "1", "1", "VALUE:4" ], [ "4A", "3", "1", "2", "VALUE:4" ], [ "4A", "3", "1", "3", "VALUE:4" ], [ "4A", "3", "1", "4", "VALUE:4" ], [ "4A", "3", "1", "9", "VALUE:4" ], [ "4A", "X", "1", "1", "VALUE:4" ], [ "4A", "X", "1", "2", "VALUE:4" ], [ "4A", "X", "1", "3", "VALUE:4" ], [ "4A", "X", "1", "4", "VALUE:4" ], [ "4A", "X", "1", "9", "VALUE:4" ], [ "4B", "0", "1", "1", "VALUE:4" ], [ "4B", "0", "1", "2", "VALUE:4" ], [ "4B", "0", "1", "3", "VALUE:4" ], [ "4B", "0", "1", "4", "VALUE:4" ], [ "4B", "0", "1", "9", "VALUE:4" ], [ "4B", "1", "1", "1", "VALUE:4" ], [ "4B", "1", "1", "2", "VALUE:4" ], [ "4B", "1", "1", "3", "VALUE:4" ], [ "4B", "1", "1", "4", "VALUE:4" ], [ "4B", "1", "1", "9", "VALUE:4" ], [ "4B", "2", "1", "1", "VALUE:4" ], [ "4B", "2", "1", "2", "VALUE:4" ], [ "4B", "2", "1", "3", "VALUE:4" ], [ "4B", "2", "1", "4", "VALUE:4" ], [ "4B", "2", "1", "9", "VALUE:4" ], [ "4B", "3", "1", "1", "VALUE:4" ], [ "4B", "3", "1", "2", "VALUE:4" ], [ "4B", "3", "1", "3", "VALUE:4" ], [ "4B", "3", "1", "4", "VALUE:4" ], [ "4B", "3", "1", "9", "VALUE:4" ], [ "4B", "X", "1", "1", "VALUE:4" ], [ "4B", "X", "1", "2", "VALUE:4" ], [ "4B", "X", "1", "3", "VALUE:4" ], [ "4B", "X", "1", "4", "VALUE:4" ], [ "4B", "X", "1", "9", "VALUE:4" ], [ "4", "0", "1", "1", "VALUE:4" ], [ "4", "0", "1", "2", "VALUE:4" ], [ "4", "0", "1", "3", "VALUE:4" ], [ "4", "0", "1", "4", "VALUE:4" ], [ "4", "0", "1", "9", "VALUE:4" ], [ "4", "1", "1", "1", "VALUE:4" ], [ "4", "1", "1", "2", "VALUE:4" ], [ "4", "1", "1", "3", "VALUE:4" ], [ "4", "1", "1", "4", "VALUE:4" ], [ "4", "1", "1", "9", "VALUE:4" ], [ "4", "2", "1", "1", "VALUE:4" ], [ "4", "2", "1", "2", "VALUE:4" ], [ "4", "2", "1", "3", "VALUE:4" ], [ "4", "2", "1", "4", "VALUE:4" ], [ "4", "2", "1", "9", "VALUE:4" ], [ "4", "3", "1", "1", "VALUE:4" ], [ "4", "3", "1", "2", "VALUE:4" ], [ "4", "3", "1", "3", "VALUE:4" ], [ "4", "3", "1", "4", "VALUE:4" ], [ "4", "3", "1", "9", "VALUE:4" ], [ "4", "X", "1", "1", "VALUE:4" ], [ "4", "X", "1", "2", "VALUE:4" ], [ "4", "X", "1", "3", "VALUE:4" ], [ "4", "X", "1", "4", "VALUE:4" ], [ "4", "X", "1", "9", "VALUE:4" ], [ "X", "0", "1", "1", "VALUE:4" ], [ "X", "0", "1", "2", "VALUE:4" ], [ "X", "0", "1", "3", "VALUE:4" ], [ "X", "0", "1", "4", "VALUE:4" ], [ "X", "0", "1", "9", "VALUE:4" ], [ "X", "1", "1", "1", "VALUE:4" ], [ "X", "1", "1", "2", "VALUE:4" ], [ "X", "1", "1", "3", "VALUE:4" ], [ "X", "1", "1", "4", "VALUE:4" ], [ "X", "1", "1", "9", "VALUE:4" ], [ "X", "2", "1", "1", "VALUE:4" ], [ "X", "2", "1", "2", "VALUE:4" ], [ "X", "2", "1", "3", "VALUE:4" ], [ "X", "2", "1", "4", "VALUE:4" ], [ "X", "2", "1", "9", "VALUE:4" ], [ "X", "3", "1", "1", "VALUE:4" ], [ "X", "3", "1", "2", "VALUE:4" ], [ "X", "3", "1", "3", "VALUE:4" ], [ "X", "3", "1", "4", "VALUE:4" ], [ "X", "3", "1", "9", "VALUE:4" ], [ "X", "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "2", "VALUE:4" ], [ "X", "X", "1", "3", "VALUE:4" ], [ "X", "X", "1", "4", "VALUE:4" ], [ "X", "X", "1", "9", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_ewing_61213.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_ewing_61213.json deleted file mode 100644 index ed50a159a..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_ewing_61213.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm_7_path_stage_ewing_61213", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Ewing", - "title" : "TNM 7 Stage Ewing", - "last_modified" : "2018-05-14T21:29:05.662Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1", "0", "VALUE:4B" ], [ "0", "X", "0", "ERROR" ], [ "1", "0", "0", "VALUE:2A" ], [ "1", "1", "0", "VALUE:4B" ], [ "1", "X", "0", "VALUE:2A" ], [ "2", "0", "0", "VALUE:2B" ], [ "2", "1", "0", "VALUE:4B" ], [ "2", "X", "0", "VALUE:2B" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:4B" ], [ "3", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:4B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1A", "VALUE:4A" ], [ "0", "1", "1A", "VALUE:4B" ], [ "0", "X", "1A", "VALUE:4A" ], [ "1", "0", "1A", "VALUE:4A" ], [ "1", "1", "1A", "VALUE:4B" ], [ "1", "X", "1A", "VALUE:4A" ], [ "2", "0", "1A", "VALUE:4A" ], [ "2", "1", "1A", "VALUE:4B" ], [ "2", "X", "1A", "VALUE:4A" ], [ "3", "0", "1A", "VALUE:4A" ], [ "3", "1", "1A", "VALUE:4B" ], [ "3", "X", "1A", "VALUE:4A" ], [ "X", "0", "1A", "VALUE:4A" ], [ "X", "1", "1A", "VALUE:4B" ], [ "X", "X", "1A", "VALUE:4A" ], [ "0", "0", "1B", "VALUE:4B" ], [ "0", "1", "1B", "VALUE:4B" ], [ "0", "X", "1B", "VALUE:4B" ], [ "1", "0", "1B", "VALUE:4B" ], [ "1", "1", "1B", "VALUE:4B" ], [ "1", "X", "1B", "VALUE:4B" ], [ "2", "0", "1B", "VALUE:4B" ], [ "2", "1", "1B", "VALUE:4B" ], [ "2", "X", "1B", "VALUE:4B" ], [ "3", "0", "1B", "VALUE:4B" ], [ "3", "1", "1B", "VALUE:4B" ], [ "3", "X", "1B", "VALUE:4B" ], [ "X", "0", "1B", "VALUE:4B" ], [ "X", "1", "1B", "VALUE:4B" ], [ "X", "X", "1B", "VALUE:4B" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_not_ewing_41435.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_not_ewing_41435.json deleted file mode 100644 index 6c6bc3e92..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_not_ewing_41435.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm_7_path_stage_not_ewing_41435", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Not Ewing", - "title" : "TNM 7 Stage Not Ewing", - "last_modified" : "2018-05-14T21:29:05.675Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "1", "VALUE:99" ], [ "0", "0", "0", "2", "VALUE:99" ], [ "0", "0", "0", "3", "VALUE:99" ], [ "0", "0", "0", "4", "VALUE:99" ], [ "0", "0", "0", "9", "VALUE:99" ], [ "0", "1", "0", "1", "VALUE:4B" ], [ "0", "1", "0", "2", "VALUE:4B" ], [ "0", "1", "0", "3", "VALUE:4B" ], [ "0", "1", "0", "4", "VALUE:4B" ], [ "0", "1", "0", "9", "VALUE:4B" ], [ "0", "X", "0", "1", "ERROR:" ], [ "0", "X", "0", "2", "ERROR:" ], [ "0", "X", "0", "3", "ERROR:" ], [ "0", "X", "0", "4", "ERROR:" ], [ "0", "X", "0", "9", "ERROR:" ], [ "1", "0", "0", "1", "VALUE:1A" ], [ "1", "0", "0", "2", "VALUE:1A" ], [ "1", "0", "0", "3", "VALUE:2A" ], [ "1", "0", "0", "4", "VALUE:2A" ], [ "1", "0", "0", "9", "VALUE:1A" ], [ "1", "1", "0", "1", "VALUE:4B" ], [ "1", "1", "0", "2", "VALUE:4B" ], [ "1", "1", "0", "3", "VALUE:4B" ], [ "1", "1", "0", "4", "VALUE:4B" ], [ "1", "1", "0", "9", "VALUE:4B" ], [ "1", "X", "0", "1", "VALUE:1A" ], [ "1", "X", "0", "2", "VALUE:1A" ], [ "1", "X", "0", "3", "VALUE:2A" ], [ "1", "X", "0", "4", "VALUE:2A" ], [ "1", "X", "0", "9", "VALUE:1A" ], [ "2", "0", "0", "1", "VALUE:1B" ], [ "2", "0", "0", "2", "VALUE:1B" ], [ "2", "0", "0", "3", "VALUE:2B" ], [ "2", "0", "0", "4", "VALUE:2B" ], [ "2", "0", "0", "9", "VALUE:1B" ], [ "2", "1", "0", "1", "VALUE:4B" ], [ "2", "1", "0", "2", "VALUE:4B" ], [ "2", "1", "0", "3", "VALUE:4B" ], [ "2", "1", "0", "4", "VALUE:4B" ], [ "2", "1", "0", "9", "VALUE:4B" ], [ "2", "X", "0", "1", "VALUE:1B" ], [ "2", "X", "0", "2", "VALUE:1B" ], [ "2", "X", "0", "3", "VALUE:2B" ], [ "2", "X", "0", "4", "VALUE:2B" ], [ "2", "X", "0", "9", "VALUE:1B" ], [ "3", "0", "0", "1", "VALUE:1B" ], [ "3", "0", "0", "2", "VALUE:1B" ], [ "3", "0", "0", "3", "VALUE:3" ], [ "3", "0", "0", "4", "VALUE:3" ], [ "3", "0", "0", "9", "VALUE:1B" ], [ "3", "1", "0", "1", "VALUE:4B" ], [ "3", "1", "0", "2", "VALUE:4B" ], [ "3", "1", "0", "3", "VALUE:4B" ], [ "3", "1", "0", "4", "VALUE:4B" ], [ "3", "1", "0", "9", "VALUE:4B" ], [ "3", "X", "0", "1", "VALUE:1B" ], [ "3", "X", "0", "2", "VALUE:1B" ], [ "3", "X", "0", "3", "VALUE:3" ], [ "3", "X", "0", "4", "VALUE:3" ], [ "3", "X", "0", "9", "VALUE:1B" ], [ "X", "0", "0", "1", "VALUE:99" ], [ "X", "0", "0", "2", "VALUE:99" ], [ "X", "0", "0", "3", "VALUE:99" ], [ "X", "0", "0", "4", "VALUE:99" ], [ "X", "0", "0", "9", "VALUE:99" ], [ "X", "1", "0", "1", "VALUE:4B" ], [ "X", "1", "0", "2", "VALUE:4B" ], [ "X", "1", "0", "3", "VALUE:4B" ], [ "X", "1", "0", "4", "VALUE:4B" ], [ "X", "1", "0", "9", "VALUE:4B" ], [ "X", "X", "0", "1", "VALUE:99" ], [ "X", "X", "0", "2", "VALUE:99" ], [ "X", "X", "0", "3", "VALUE:99" ], [ "X", "X", "0", "4", "VALUE:99" ], [ "X", "X", "0", "9", "VALUE:99" ], [ "0", "0", "1A", "1", "VALUE:4A" ], [ "0", "0", "1A", "2", "VALUE:4A" ], [ "0", "0", "1A", "3", "VALUE:4A" ], [ "0", "0", "1A", "4", "VALUE:4A" ], [ "0", "0", "1A", "9", "VALUE:4A" ], [ "0", "1", "1A", "1", "VALUE:4B" ], [ "0", "1", "1A", "2", "VALUE:4B" ], [ "0", "1", "1A", "3", "VALUE:4B" ], [ "0", "1", "1A", "4", "VALUE:4B" ], [ "0", "1", "1A", "9", "VALUE:4B" ], [ "0", "X", "1A", "1", "VALUE:4A" ], [ "0", "X", "1A", "2", "VALUE:4A" ], [ "0", "X", "1A", "3", "VALUE:4A" ], [ "0", "X", "1A", "4", "VALUE:4A" ], [ "0", "X", "1A", "9", "VALUE:4A" ], [ "1", "0", "1A", "1", "VALUE:4A" ], [ "1", "0", "1A", "2", "VALUE:4A" ], [ "1", "0", "1A", "3", "VALUE:4A" ], [ "1", "0", "1A", "4", "VALUE:4A" ], [ "1", "0", "1A", "9", "VALUE:4A" ], [ "1", "1", "1A", "1", "VALUE:4B" ], [ "1", "1", "1A", "2", "VALUE:4B" ], [ "1", "1", "1A", "3", "VALUE:4B" ], [ "1", "1", "1A", "4", "VALUE:4B" ], [ "1", "1", "1A", "9", "VALUE:4B" ], [ "1", "X", "1A", "1", "VALUE:4A" ], [ "1", "X", "1A", "2", "VALUE:4A" ], [ "1", "X", "1A", "3", "VALUE:4A" ], [ "1", "X", "1A", "4", "VALUE:4A" ], [ "1", "X", "1A", "9", "VALUE:4A" ], [ "2", "0", "1A", "1", "VALUE:4A" ], [ "2", "0", "1A", "2", "VALUE:4A" ], [ "2", "0", "1A", "3", "VALUE:4A" ], [ "2", "0", "1A", "4", "VALUE:4A" ], [ "2", "0", "1A", "9", "VALUE:4A" ], [ "2", "1", "1A", "1", "VALUE:4B" ], [ "2", "1", "1A", "2", "VALUE:4B" ], [ "2", "1", "1A", "3", "VALUE:4B" ], [ "2", "1", "1A", "4", "VALUE:4B" ], [ "2", "1", "1A", "9", "VALUE:4B" ], [ "2", "X", "1A", "1", "VALUE:4A" ], [ "2", "X", "1A", "2", "VALUE:4A" ], [ "2", "X", "1A", "3", "VALUE:4A" ], [ "2", "X", "1A", "4", "VALUE:4A" ], [ "2", "X", "1A", "9", "VALUE:4A" ], [ "3", "0", "1A", "1", "VALUE:4A" ], [ "3", "0", "1A", "2", "VALUE:4A" ], [ "3", "0", "1A", "3", "VALUE:4A" ], [ "3", "0", "1A", "4", "VALUE:4A" ], [ "3", "0", "1A", "9", "VALUE:4A" ], [ "3", "1", "1A", "1", "VALUE:4B" ], [ "3", "1", "1A", "2", "VALUE:4B" ], [ "3", "1", "1A", "3", "VALUE:4B" ], [ "3", "1", "1A", "4", "VALUE:4B" ], [ "3", "1", "1A", "9", "VALUE:4B" ], [ "3", "X", "1A", "1", "VALUE:4A" ], [ "3", "X", "1A", "2", "VALUE:4A" ], [ "3", "X", "1A", "3", "VALUE:4A" ], [ "3", "X", "1A", "4", "VALUE:4A" ], [ "3", "X", "1A", "9", "VALUE:4A" ], [ "X", "0", "1A", "1", "VALUE:4A" ], [ "X", "0", "1A", "2", "VALUE:4A" ], [ "X", "0", "1A", "3", "VALUE:4A" ], [ "X", "0", "1A", "4", "VALUE:4A" ], [ "X", "0", "1A", "9", "VALUE:4A" ], [ "X", "1", "1A", "1", "VALUE:4B" ], [ "X", "1", "1A", "2", "VALUE:4B" ], [ "X", "1", "1A", "3", "VALUE:4B" ], [ "X", "1", "1A", "4", "VALUE:4B" ], [ "X", "1", "1A", "9", "VALUE:4B" ], [ "X", "X", "1A", "1", "VALUE:4A" ], [ "X", "X", "1A", "2", "VALUE:4A" ], [ "X", "X", "1A", "3", "VALUE:4A" ], [ "X", "X", "1A", "4", "VALUE:4A" ], [ "X", "X", "1A", "9", "VALUE:4A" ], [ "0", "0", "1B", "1", "VALUE:4B" ], [ "0", "0", "1B", "2", "VALUE:4B" ], [ "0", "0", "1B", "3", "VALUE:4B" ], [ "0", "0", "1B", "4", "VALUE:4B" ], [ "0", "0", "1B", "9", "VALUE:4B" ], [ "0", "1", "1B", "1", "VALUE:4B" ], [ "0", "1", "1B", "2", "VALUE:4B" ], [ "0", "1", "1B", "3", "VALUE:4B" ], [ "0", "1", "1B", "4", "VALUE:4B" ], [ "0", "1", "1B", "9", "VALUE:4B" ], [ "0", "X", "1B", "1", "VALUE:4B" ], [ "0", "X", "1B", "2", "VALUE:4B" ], [ "0", "X", "1B", "3", "VALUE:4B" ], [ "0", "X", "1B", "4", "VALUE:4B" ], [ "0", "X", "1B", "9", "VALUE:4B" ], [ "1", "0", "1B", "1", "VALUE:4B" ], [ "1", "0", "1B", "2", "VALUE:4B" ], [ "1", "0", "1B", "3", "VALUE:4B" ], [ "1", "0", "1B", "4", "VALUE:4B" ], [ "1", "0", "1B", "9", "VALUE:4B" ], [ "1", "1", "1B", "1", "VALUE:4B" ], [ "1", "1", "1B", "2", "VALUE:4B" ], [ "1", "1", "1B", "3", "VALUE:4B" ], [ "1", "1", "1B", "4", "VALUE:4B" ], [ "1", "1", "1B", "9", "VALUE:4B" ], [ "1", "X", "1B", "1", "VALUE:4B" ], [ "1", "X", "1B", "2", "VALUE:4B" ], [ "1", "X", "1B", "3", "VALUE:4B" ], [ "1", "X", "1B", "4", "VALUE:4B" ], [ "1", "X", "1B", "9", "VALUE:4B" ], [ "2", "0", "1B", "1", "VALUE:4B" ], [ "2", "0", "1B", "2", "VALUE:4B" ], [ "2", "0", "1B", "3", "VALUE:4B" ], [ "2", "0", "1B", "4", "VALUE:4B" ], [ "2", "0", "1B", "9", "VALUE:4B" ], [ "2", "1", "1B", "1", "VALUE:4B" ], [ "2", "1", "1B", "2", "VALUE:4B" ], [ "2", "1", "1B", "3", "VALUE:4B" ], [ "2", "1", "1B", "4", "VALUE:4B" ], [ "2", "1", "1B", "9", "VALUE:4B" ], [ "2", "X", "1B", "1", "VALUE:4B" ], [ "2", "X", "1B", "2", "VALUE:4B" ], [ "2", "X", "1B", "3", "VALUE:4B" ], [ "2", "X", "1B", "4", "VALUE:4B" ], [ "2", "X", "1B", "9", "VALUE:4B" ], [ "3", "0", "1B", "1", "VALUE:4B" ], [ "3", "0", "1B", "2", "VALUE:4B" ], [ "3", "0", "1B", "3", "VALUE:4B" ], [ "3", "0", "1B", "4", "VALUE:4B" ], [ "3", "0", "1B", "9", "VALUE:4B" ], [ "3", "1", "1B", "1", "VALUE:4B" ], [ "3", "1", "1B", "2", "VALUE:4B" ], [ "3", "1", "1B", "3", "VALUE:4B" ], [ "3", "1", "1B", "4", "VALUE:4B" ], [ "3", "1", "1B", "9", "VALUE:4B" ], [ "3", "X", "1B", "1", "VALUE:4B" ], [ "3", "X", "1B", "2", "VALUE:4B" ], [ "3", "X", "1B", "3", "VALUE:4B" ], [ "3", "X", "1B", "4", "VALUE:4B" ], [ "3", "X", "1B", "9", "VALUE:4B" ], [ "X", "0", "1B", "1", "VALUE:4B" ], [ "X", "0", "1B", "2", "VALUE:4B" ], [ "X", "0", "1B", "3", "VALUE:4B" ], [ "X", "0", "1B", "4", "VALUE:4B" ], [ "X", "0", "1B", "9", "VALUE:4B" ], [ "X", "1", "1B", "1", "VALUE:4B" ], [ "X", "1", "1B", "2", "VALUE:4B" ], [ "X", "1", "1B", "3", "VALUE:4B" ], [ "X", "1", "1B", "4", "VALUE:4B" ], [ "X", "1", "1B", "9", "VALUE:4B" ], [ "X", "X", "1B", "1", "VALUE:4B" ], [ "X", "X", "1B", "2", "VALUE:4B" ], [ "X", "X", "1B", "3", "VALUE:4B" ], [ "X", "X", "1B", "4", "VALUE:4B" ], [ "X", "X", "1B", "9", "VALUE:4B" ], [ "0", "0", "1", "1", "VALUE:4" ], [ "0", "0", "1", "2", "VALUE:4" ], [ "0", "0", "1", "3", "VALUE:4" ], [ "0", "0", "1", "4", "VALUE:4" ], [ "0", "0", "1", "9", "VALUE:4" ], [ "0", "1", "1", "1", "VALUE:4B" ], [ "0", "1", "1", "2", "VALUE:4B" ], [ "0", "1", "1", "3", "VALUE:4B" ], [ "0", "1", "1", "4", "VALUE:4B" ], [ "0", "1", "1", "9", "VALUE:4B" ], [ "0", "X", "1", "1", "VALUE:4" ], [ "0", "X", "1", "2", "VALUE:4" ], [ "0", "X", "1", "3", "VALUE:4" ], [ "0", "X", "1", "4", "VALUE:4" ], [ "0", "X", "1", "9", "VALUE:4" ], [ "1", "0", "1", "1", "VALUE:4" ], [ "1", "0", "1", "2", "VALUE:4" ], [ "1", "0", "1", "3", "VALUE:4" ], [ "1", "0", "1", "4", "VALUE:4" ], [ "1", "0", "1", "9", "VALUE:4" ], [ "1", "1", "1", "1", "VALUE:4B" ], [ "1", "1", "1", "2", "VALUE:4B" ], [ "1", "1", "1", "3", "VALUE:4B" ], [ "1", "1", "1", "4", "VALUE:4B" ], [ "1", "1", "1", "9", "VALUE:4B" ], [ "1", "X", "1", "1", "VALUE:4" ], [ "1", "X", "1", "2", "VALUE:4" ], [ "1", "X", "1", "3", "VALUE:4" ], [ "1", "X", "1", "4", "VALUE:4" ], [ "1", "X", "1", "9", "VALUE:4" ], [ "2", "0", "1", "1", "VALUE:4" ], [ "2", "0", "1", "2", "VALUE:4" ], [ "2", "0", "1", "3", "VALUE:4" ], [ "2", "0", "1", "4", "VALUE:4" ], [ "2", "0", "1", "9", "VALUE:4" ], [ "2", "1", "1", "1", "VALUE:4B" ], [ "2", "1", "1", "2", "VALUE:4B" ], [ "2", "1", "1", "3", "VALUE:4B" ], [ "2", "1", "1", "4", "VALUE:4B" ], [ "2", "1", "1", "9", "VALUE:4B" ], [ "2", "X", "1", "1", "VALUE:4" ], [ "2", "X", "1", "2", "VALUE:4" ], [ "2", "X", "1", "3", "VALUE:4" ], [ "2", "X", "1", "4", "VALUE:4" ], [ "2", "X", "1", "9", "VALUE:4" ], [ "3", "0", "1", "1", "VALUE:4" ], [ "3", "0", "1", "2", "VALUE:4" ], [ "3", "0", "1", "3", "VALUE:4" ], [ "3", "0", "1", "4", "VALUE:4" ], [ "3", "0", "1", "9", "VALUE:4" ], [ "3", "1", "1", "1", "VALUE:4B" ], [ "3", "1", "1", "2", "VALUE:4B" ], [ "3", "1", "1", "3", "VALUE:4B" ], [ "3", "1", "1", "4", "VALUE:4B" ], [ "3", "1", "1", "9", "VALUE:4B" ], [ "3", "X", "1", "1", "VALUE:4" ], [ "3", "X", "1", "2", "VALUE:4" ], [ "3", "X", "1", "3", "VALUE:4" ], [ "3", "X", "1", "4", "VALUE:4" ], [ "3", "X", "1", "9", "VALUE:4" ], [ "X", "0", "1", "1", "VALUE:4" ], [ "X", "0", "1", "2", "VALUE:4" ], [ "X", "0", "1", "3", "VALUE:4" ], [ "X", "0", "1", "4", "VALUE:4" ], [ "X", "0", "1", "9", "VALUE:4" ], [ "X", "1", "1", "1", "VALUE:4B" ], [ "X", "1", "1", "2", "VALUE:4B" ], [ "X", "1", "1", "3", "VALUE:4B" ], [ "X", "1", "1", "4", "VALUE:4B" ], [ "X", "1", "1", "9", "VALUE:4B" ], [ "X", "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "2", "VALUE:4" ], [ "X", "X", "1", "3", "VALUE:4" ], [ "X", "X", "1", "4", "VALUE:4" ], [ "X", "X", "1", "9", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_15592.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_15592.json deleted file mode 100644 index dc4c7aa0c..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_15592.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "tnm_7_path_stage_squamous_15592", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Squamous", - "title" : "TNM 7 Path Stage Squamous", - "last_modified" : "2018-05-14T21:29:05.777Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "site", - "name" : "Site", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "1", "*", "VALUE:99" ], [ "0", "0", "0", "2", "*", "VALUE:99" ], [ "0", "0", "0", "3", "*", "VALUE:99" ], [ "0", "0", "0", "4", "*", "VALUE:99" ], [ "0", "0", "0", "9", "*", "VALUE:99" ], [ "0", "1", "0", "1", "*", "VALUE:99" ], [ "0", "1", "0", "2", "*", "VALUE:99" ], [ "0", "1", "0", "3", "*", "VALUE:99" ], [ "0", "1", "0", "4", "*", "VALUE:99" ], [ "0", "1", "0", "9", "*", "VALUE:99" ], [ "0", "2", "0", "1", "*", "VALUE:3" ], [ "0", "2", "0", "2", "*", "VALUE:3" ], [ "0", "2", "0", "3", "*", "VALUE:3" ], [ "0", "2", "0", "4", "*", "VALUE:3" ], [ "0", "2", "0", "9", "*", "VALUE:3" ], [ "0", "3", "0", "1", "*", "VALUE:3C" ], [ "0", "3", "0", "2", "*", "VALUE:3C" ], [ "0", "3", "0", "3", "*", "VALUE:3C" ], [ "0", "3", "0", "4", "*", "VALUE:3C" ], [ "0", "3", "0", "9", "*", "VALUE:3C" ], [ "0", "X", "0", "1", "*", "VALUE:99" ], [ "0", "X", "0", "2", "*", "VALUE:99" ], [ "0", "X", "0", "3", "*", "VALUE:99" ], [ "0", "X", "0", "4", "*", "VALUE:99" ], [ "0", "X", "0", "9", "*", "VALUE:99" ], [ "IS", "0", "0", "1", "*", "VALUE:0" ], [ "IS", "0", "0", "2", "*", "VALUE:99" ], [ "IS", "0", "0", "3", "*", "VALUE:99" ], [ "IS", "0", "0", "4", "*", "VALUE:99" ], [ "IS", "0", "0", "9", "*", "VALUE:0" ], [ "IS", "1", "0", "1", "*", "VALUE:2B" ], [ "IS", "1", "0", "2", "*", "VALUE:2B" ], [ "IS", "1", "0", "3", "*", "VALUE:2B" ], [ "IS", "1", "0", "4", "*", "VALUE:2B" ], [ "IS", "1", "0", "9", "*", "VALUE:2B" ], [ "IS", "2", "0", "1", "*", "VALUE:3A" ], [ "IS", "2", "0", "2", "*", "VALUE:3A" ], [ "IS", "2", "0", "3", "*", "VALUE:3A" ], [ "IS", "2", "0", "4", "*", "VALUE:3A" ], [ "IS", "2", "0", "9", "*", "VALUE:3A" ], [ "IS", "3", "0", "1", "*", "VALUE:3C" ], [ "IS", "3", "0", "2", "*", "VALUE:3C" ], [ "IS", "3", "0", "3", "*", "VALUE:3C" ], [ "IS", "3", "0", "4", "*", "VALUE:3C" ], [ "IS", "3", "0", "9", "*", "VALUE:3C" ], [ "IS", "X", "0", "1", "*", "VALUE:0" ], [ "IS", "X", "0", "2", "*", "VALUE:99" ], [ "IS", "X", "0", "3", "*", "VALUE:99" ], [ "IS", "X", "0", "4", "*", "VALUE:99" ], [ "IS", "X", "0", "9", "*", "VALUE:0" ], [ "1A", "0", "0", "1", "*", "VALUE:1A" ], [ "1A", "0", "0", "2", "*", "VALUE:1B" ], [ "1A", "0", "0", "3", "*", "VALUE:1B" ], [ "1A", "0", "0", "4", "*", "VALUE:1B" ], [ "1A", "0", "0", "9", "*", "VALUE:1A" ], [ "1A", "1", "0", "1", "*", "VALUE:2B" ], [ "1A", "1", "0", "2", "*", "VALUE:2B" ], [ "1A", "1", "0", "3", "*", "VALUE:2B" ], [ "1A", "1", "0", "4", "*", "VALUE:2B" ], [ "1A", "1", "0", "9", "*", "VALUE:2B" ], [ "1A", "2", "0", "1", "*", "VALUE:3A" ], [ "1A", "2", "0", "2", "*", "VALUE:3A" ], [ "1A", "2", "0", "3", "*", "VALUE:3A" ], [ "1A", "2", "0", "4", "*", "VALUE:3A" ], [ "1A", "2", "0", "9", "*", "VALUE:3A" ], [ "1A", "3", "0", "1", "*", "VALUE:3C" ], [ "1A", "3", "0", "2", "*", "VALUE:3C" ], [ "1A", "3", "0", "3", "*", "VALUE:3C" ], [ "1A", "3", "0", "4", "*", "VALUE:3C" ], [ "1A", "3", "0", "9", "*", "VALUE:3C" ], [ "1A", "X", "0", "1", "*", "VALUE:99" ], [ "1A", "X", "0", "2", "*", "VALUE:99" ], [ "1A", "X", "0", "3", "*", "VALUE:99" ], [ "1A", "X", "0", "4", "*", "VALUE:99" ], [ "1A", "X", "0", "9", "*", "VALUE:99" ], [ "1B", "0", "0", "1", "*", "VALUE:1A" ], [ "1B", "0", "0", "2", "*", "VALUE:1B" ], [ "1B", "0", "0", "3", "*", "VALUE:1B" ], [ "1B", "0", "0", "4", "*", "VALUE:1B" ], [ "1B", "0", "0", "9", "*", "VALUE:1A" ], [ "1B", "1", "0", "1", "*", "VALUE:2B" ], [ "1B", "1", "0", "2", "*", "VALUE:2B" ], [ "1B", "1", "0", "3", "*", "VALUE:2B" ], [ "1B", "1", "0", "4", "*", "VALUE:2B" ], [ "1B", "1", "0", "9", "*", "VALUE:2B" ], [ "1B", "2", "0", "1", "*", "VALUE:3A" ], [ "1B", "2", "0", "2", "*", "VALUE:3A" ], [ "1B", "2", "0", "3", "*", "VALUE:3A" ], [ "1B", "2", "0", "4", "*", "VALUE:3A" ], [ "1B", "2", "0", "9", "*", "VALUE:3A" ], [ "1B", "3", "0", "1", "*", "VALUE:3C" ], [ "1B", "3", "0", "2", "*", "VALUE:3C" ], [ "1B", "3", "0", "3", "*", "VALUE:3C" ], [ "1B", "3", "0", "4", "*", "VALUE:3C" ], [ "1B", "3", "0", "9", "*", "VALUE:3C" ], [ "1B", "X", "0", "1", "*", "VALUE:99" ], [ "1B", "X", "0", "2", "*", "VALUE:99" ], [ "1B", "X", "0", "3", "*", "VALUE:99" ], [ "1B", "X", "0", "4", "*", "VALUE:99" ], [ "1B", "X", "0", "9", "*", "VALUE:99" ], [ "1", "0", "0", "1", "*", "VALUE:1A" ], [ "1", "0", "0", "2", "*", "VALUE:1B" ], [ "1", "0", "0", "3", "*", "VALUE:1B" ], [ "1", "0", "0", "4", "*", "VALUE:1B" ], [ "1", "0", "0", "9", "*", "VALUE:1A" ], [ "1", "1", "0", "1", "*", "VALUE:2B" ], [ "1", "1", "0", "2", "*", "VALUE:2B" ], [ "1", "1", "0", "3", "*", "VALUE:2B" ], [ "1", "1", "0", "4", "*", "VALUE:2B" ], [ "1", "1", "0", "9", "*", "VALUE:2B" ], [ "1", "2", "0", "1", "*", "VALUE:3A" ], [ "1", "2", "0", "2", "*", "VALUE:3A" ], [ "1", "2", "0", "3", "*", "VALUE:3A" ], [ "1", "2", "0", "4", "*", "VALUE:3A" ], [ "1", "2", "0", "9", "*", "VALUE:3A" ], [ "1", "3", "0", "1", "*", "VALUE:3C" ], [ "1", "3", "0", "2", "*", "VALUE:3C" ], [ "1", "3", "0", "3", "*", "VALUE:3C" ], [ "1", "3", "0", "4", "*", "VALUE:3C" ], [ "1", "3", "0", "9", "*", "VALUE:3C" ], [ "1", "X", "0", "1", "*", "VALUE:99" ], [ "1", "X", "0", "2", "*", "VALUE:99" ], [ "1", "X", "0", "3", "*", "VALUE:99" ], [ "1", "X", "0", "4", "*", "VALUE:99" ], [ "1", "X", "0", "9", "*", "VALUE:99" ], [ "2", "0", "0", "1", "C150,C151,C153,C154", "VALUE:2A" ], [ "2", "0", "0", "1", "C152,C155,C158,C159", "VALUE:1B" ], [ "2", "0", "0", "2", "C150,C151,C153,C154", "VALUE:2B" ], [ "2", "0", "0", "2", "C152,C155,C158,C159", "VALUE:2A" ], [ "2", "0", "0", "3", "C150,C151,C153,C154", "VALUE:2B" ], [ "2", "0", "0", "3", "C152,C155,C158,C159", "VALUE:2A" ], [ "2", "0", "0", "4", "C150,C151,C153,C154", "VALUE:2B" ], [ "2", "0", "0", "4", "C152,C155,C158,C159", "VALUE:2A" ], [ "2", "0", "0", "9", "C150,C151,C153,C154", "VALUE:2A" ], [ "2", "0", "0", "9", "C152,C155,C158,C159", "VALUE:1B" ], [ "2", "1", "0", "1", "*", "VALUE:2B" ], [ "2", "1", "0", "2", "*", "VALUE:2B" ], [ "2", "1", "0", "3", "*", "VALUE:2B" ], [ "2", "1", "0", "4", "*", "VALUE:2B" ], [ "2", "1", "0", "9", "*", "VALUE:2B" ], [ "2", "2", "0", "1", "*", "VALUE:3A" ], [ "2", "2", "0", "2", "*", "VALUE:3A" ], [ "2", "2", "0", "3", "*", "VALUE:3A" ], [ "2", "2", "0", "4", "*", "VALUE:3A" ], [ "2", "2", "0", "9", "*", "VALUE:3A" ], [ "2", "3", "0", "1", "*", "VALUE:3C" ], [ "2", "3", "0", "2", "*", "VALUE:3C" ], [ "2", "3", "0", "3", "*", "VALUE:3C" ], [ "2", "3", "0", "4", "*", "VALUE:3C" ], [ "2", "3", "0", "9", "*", "VALUE:3C" ], [ "2", "X", "0", "1", "*", "VALUE:99" ], [ "2", "X", "0", "2", "*", "VALUE:99" ], [ "2", "X", "0", "3", "*", "VALUE:99" ], [ "2", "X", "0", "4", "*", "VALUE:99" ], [ "2", "X", "0", "9", "*", "VALUE:99" ], [ "3", "0", "0", "1", "C150,C151,C153,C154", "VALUE:2A" ], [ "3", "0", "0", "1", "C152,C155,C158,C159", "VALUE:1B" ], [ "3", "0", "0", "2", "C150,C151,C153,C154", "VALUE:2B" ], [ "3", "0", "0", "2", "C152,C155,C158,C159", "VALUE:2A" ], [ "3", "0", "0", "3", "C150,C151,C153,C154", "VALUE:2B" ], [ "3", "0", "0", "3", "C152,C155,C158,C159", "VALUE:2A" ], [ "3", "0", "0", "4", "C150,C151,C153,C154", "VALUE:2B" ], [ "3", "0", "0", "4", "C152,C155,C158,C159", "VALUE:2A" ], [ "3", "0", "0", "9", "C150,C151,C153,C154", "VALUE:2A" ], [ "3", "0", "0", "9", "C152,C155,C158,C159", "VALUE:1B" ], [ "3", "1", "0", "1", "*", "VALUE:3A" ], [ "3", "1", "0", "2", "*", "VALUE:3A" ], [ "3", "1", "0", "3", "*", "VALUE:3A" ], [ "3", "1", "0", "4", "*", "VALUE:3A" ], [ "3", "1", "0", "9", "*", "VALUE:3A" ], [ "3", "2", "0", "1", "*", "VALUE:3B" ], [ "3", "2", "0", "2", "*", "VALUE:3B" ], [ "3", "2", "0", "3", "*", "VALUE:3B" ], [ "3", "2", "0", "4", "*", "VALUE:3B" ], [ "3", "2", "0", "9", "*", "VALUE:3B" ], [ "3", "3", "0", "1", "*", "VALUE:3C" ], [ "3", "3", "0", "2", "*", "VALUE:3C" ], [ "3", "3", "0", "3", "*", "VALUE:3C" ], [ "3", "3", "0", "4", "*", "VALUE:3C" ], [ "3", "3", "0", "9", "*", "VALUE:3C" ], [ "3", "X", "0", "1", "*", "VALUE:99" ], [ "3", "X", "0", "2", "*", "VALUE:99" ], [ "3", "X", "0", "3", "*", "VALUE:99" ], [ "3", "X", "0", "4", "*", "VALUE:99" ], [ "3", "X", "0", "9", "*", "VALUE:99" ], [ "4A", "0", "0", "1", "*", "VALUE:3A" ], [ "4A", "0", "0", "2", "*", "VALUE:3A" ], [ "4A", "0", "0", "3", "*", "VALUE:3A" ], [ "4A", "0", "0", "4", "*", "VALUE:3A" ], [ "4A", "0", "0", "9", "*", "VALUE:3A" ], [ "4A", "1", "0", "1", "*", "VALUE:3C" ], [ "4A", "1", "0", "2", "*", "VALUE:3C" ], [ "4A", "1", "0", "3", "*", "VALUE:3C" ], [ "4A", "1", "0", "4", "*", "VALUE:3C" ], [ "4A", "1", "0", "9", "*", "VALUE:3C" ], [ "4A", "2", "0", "1", "*", "VALUE:3C" ], [ "4A", "2", "0", "2", "*", "VALUE:3C" ], [ "4A", "2", "0", "3", "*", "VALUE:3C" ], [ "4A", "2", "0", "4", "*", "VALUE:3C" ], [ "4A", "2", "0", "9", "*", "VALUE:3C" ], [ "4A", "3", "0", "1", "*", "VALUE:3C" ], [ "4A", "3", "0", "2", "*", "VALUE:3C" ], [ "4A", "3", "0", "3", "*", "VALUE:3C" ], [ "4A", "3", "0", "4", "*", "VALUE:3C" ], [ "4A", "3", "0", "9", "*", "VALUE:3C" ], [ "4A", "X", "0", "1", "*", "VALUE:3" ], [ "4A", "X", "0", "2", "*", "VALUE:3" ], [ "4A", "X", "0", "3", "*", "VALUE:3" ], [ "4A", "X", "0", "4", "*", "VALUE:3" ], [ "4A", "X", "0", "9", "*", "VALUE:3" ], [ "4B", "0", "0", "1", "*", "VALUE:3C" ], [ "4B", "0", "0", "2", "*", "VALUE:3C" ], [ "4B", "0", "0", "3", "*", "VALUE:3C" ], [ "4B", "0", "0", "4", "*", "VALUE:3C" ], [ "4B", "0", "0", "9", "*", "VALUE:3C" ], [ "4B", "1", "0", "1", "*", "VALUE:3C" ], [ "4B", "1", "0", "2", "*", "VALUE:3C" ], [ "4B", "1", "0", "3", "*", "VALUE:3C" ], [ "4B", "1", "0", "4", "*", "VALUE:3C" ], [ "4B", "1", "0", "9", "*", "VALUE:3C" ], [ "4B", "2", "0", "1", "*", "VALUE:3C" ], [ "4B", "2", "0", "2", "*", "VALUE:3C" ], [ "4B", "2", "0", "3", "*", "VALUE:3C" ], [ "4B", "2", "0", "4", "*", "VALUE:3C" ], [ "4B", "2", "0", "9", "*", "VALUE:3C" ], [ "4B", "3", "0", "1", "*", "VALUE:3C" ], [ "4B", "3", "0", "2", "*", "VALUE:3C" ], [ "4B", "3", "0", "3", "*", "VALUE:3C" ], [ "4B", "3", "0", "4", "*", "VALUE:3C" ], [ "4B", "3", "0", "9", "*", "VALUE:3C" ], [ "4B", "X", "0", "1", "*", "VALUE:3C" ], [ "4B", "X", "0", "2", "*", "VALUE:3C" ], [ "4B", "X", "0", "3", "*", "VALUE:3C" ], [ "4B", "X", "0", "4", "*", "VALUE:3C" ], [ "4B", "X", "0", "9", "*", "VALUE:3C" ], [ "4", "0", "0", "1", "*", "VALUE:3A" ], [ "4", "0", "0", "2", "*", "VALUE:3A" ], [ "4", "0", "0", "3", "*", "VALUE:3A" ], [ "4", "0", "0", "4", "*", "VALUE:3A" ], [ "4", "0", "0", "9", "*", "VALUE:3A" ], [ "4", "1", "0", "1", "*", "VALUE:3C" ], [ "4", "1", "0", "2", "*", "VALUE:3C" ], [ "4", "1", "0", "3", "*", "VALUE:3C" ], [ "4", "1", "0", "4", "*", "VALUE:3C" ], [ "4", "1", "0", "9", "*", "VALUE:3C" ], [ "4", "2", "0", "1", "*", "VALUE:3C" ], [ "4", "2", "0", "2", "*", "VALUE:3C" ], [ "4", "2", "0", "3", "*", "VALUE:3C" ], [ "4", "2", "0", "4", "*", "VALUE:3C" ], [ "4", "2", "0", "9", "*", "VALUE:3C" ], [ "4", "3", "0", "1", "*", "VALUE:3C" ], [ "4", "3", "0", "2", "*", "VALUE:3C" ], [ "4", "3", "0", "3", "*", "VALUE:3C" ], [ "4", "3", "0", "4", "*", "VALUE:3C" ], [ "4", "3", "0", "9", "*", "VALUE:3C" ], [ "4", "X", "0", "1", "*", "VALUE:3" ], [ "4", "X", "0", "2", "*", "VALUE:3" ], [ "4", "X", "0", "3", "*", "VALUE:3" ], [ "4", "X", "0", "4", "*", "VALUE:3" ], [ "4", "X", "0", "9", "*", "VALUE:3" ], [ "X", "0", "0", "1", "*", "VALUE:99" ], [ "X", "0", "0", "2", "*", "VALUE:99" ], [ "X", "0", "0", "3", "*", "VALUE:99" ], [ "X", "0", "0", "4", "*", "VALUE:99" ], [ "X", "0", "0", "9", "*", "VALUE:99" ], [ "X", "1", "0", "1", "*", "VALUE:99" ], [ "X", "1", "0", "2", "*", "VALUE:99" ], [ "X", "1", "0", "3", "*", "VALUE:99" ], [ "X", "1", "0", "4", "*", "VALUE:99" ], [ "X", "1", "0", "9", "*", "VALUE:99" ], [ "X", "2", "0", "1", "*", "VALUE:3" ], [ "X", "2", "0", "2", "*", "VALUE:3" ], [ "X", "2", "0", "3", "*", "VALUE:3" ], [ "X", "2", "0", "4", "*", "VALUE:3" ], [ "X", "2", "0", "9", "*", "VALUE:3" ], [ "X", "3", "0", "1", "*", "VALUE:3C" ], [ "X", "3", "0", "2", "*", "VALUE:3C" ], [ "X", "3", "0", "3", "*", "VALUE:3C" ], [ "X", "3", "0", "4", "*", "VALUE:3C" ], [ "X", "3", "0", "9", "*", "VALUE:3C" ], [ "X", "X", "0", "1", "*", "VALUE:99" ], [ "X", "X", "0", "2", "*", "VALUE:99" ], [ "X", "X", "0", "3", "*", "VALUE:99" ], [ "X", "X", "0", "4", "*", "VALUE:99" ], [ "X", "X", "0", "9", "*", "VALUE:99" ], [ "0", "0", "1", "1", "*", "VALUE:4" ], [ "0", "0", "1", "2", "*", "VALUE:4" ], [ "0", "0", "1", "3", "*", "VALUE:4" ], [ "0", "0", "1", "4", "*", "VALUE:4" ], [ "0", "0", "1", "9", "*", "VALUE:4" ], [ "0", "1", "1", "1", "*", "VALUE:4" ], [ "0", "1", "1", "2", "*", "VALUE:4" ], [ "0", "1", "1", "3", "*", "VALUE:4" ], [ "0", "1", "1", "4", "*", "VALUE:4" ], [ "0", "1", "1", "9", "*", "VALUE:4" ], [ "0", "2", "1", "1", "*", "VALUE:4" ], [ "0", "2", "1", "2", "*", "VALUE:4" ], [ "0", "2", "1", "3", "*", "VALUE:4" ], [ "0", "2", "1", "4", "*", "VALUE:4" ], [ "0", "2", "1", "9", "*", "VALUE:4" ], [ "0", "3", "1", "1", "*", "VALUE:4" ], [ "0", "3", "1", "2", "*", "VALUE:4" ], [ "0", "3", "1", "3", "*", "VALUE:4" ], [ "0", "3", "1", "4", "*", "VALUE:4" ], [ "0", "3", "1", "9", "*", "VALUE:4" ], [ "0", "X", "1", "1", "*", "VALUE:4" ], [ "0", "X", "1", "2", "*", "VALUE:4" ], [ "0", "X", "1", "3", "*", "VALUE:4" ], [ "0", "X", "1", "4", "*", "VALUE:4" ], [ "0", "X", "1", "9", "*", "VALUE:4" ], [ "IS", "0", "1", "1", "*", "VALUE:4" ], [ "IS", "0", "1", "2", "*", "VALUE:4" ], [ "IS", "0", "1", "3", "*", "VALUE:4" ], [ "IS", "0", "1", "4", "*", "VALUE:4" ], [ "IS", "0", "1", "9", "*", "VALUE:4" ], [ "IS", "1", "1", "1", "*", "VALUE:4" ], [ "IS", "1", "1", "2", "*", "VALUE:4" ], [ "IS", "1", "1", "3", "*", "VALUE:4" ], [ "IS", "1", "1", "4", "*", "VALUE:4" ], [ "IS", "1", "1", "9", "*", "VALUE:4" ], [ "IS", "2", "1", "1", "*", "VALUE:4" ], [ "IS", "2", "1", "2", "*", "VALUE:4" ], [ "IS", "2", "1", "3", "*", "VALUE:4" ], [ "IS", "2", "1", "4", "*", "VALUE:4" ], [ "IS", "2", "1", "9", "*", "VALUE:4" ], [ "IS", "3", "1", "1", "*", "VALUE:4" ], [ "IS", "3", "1", "2", "*", "VALUE:4" ], [ "IS", "3", "1", "3", "*", "VALUE:4" ], [ "IS", "3", "1", "4", "*", "VALUE:4" ], [ "IS", "3", "1", "9", "*", "VALUE:4" ], [ "IS", "X", "1", "1", "*", "VALUE:4" ], [ "IS", "X", "1", "2", "*", "VALUE:4" ], [ "IS", "X", "1", "3", "*", "VALUE:4" ], [ "IS", "X", "1", "4", "*", "VALUE:4" ], [ "IS", "X", "1", "9", "*", "VALUE:4" ], [ "1A", "0", "1", "1", "*", "VALUE:4" ], [ "1A", "0", "1", "2", "*", "VALUE:4" ], [ "1A", "0", "1", "3", "*", "VALUE:4" ], [ "1A", "0", "1", "4", "*", "VALUE:4" ], [ "1A", "0", "1", "9", "*", "VALUE:4" ], [ "1A", "1", "1", "1", "*", "VALUE:4" ], [ "1A", "1", "1", "2", "*", "VALUE:4" ], [ "1A", "1", "1", "3", "*", "VALUE:4" ], [ "1A", "1", "1", "4", "*", "VALUE:4" ], [ "1A", "1", "1", "9", "*", "VALUE:4" ], [ "1A", "2", "1", "1", "*", "VALUE:4" ], [ "1A", "2", "1", "2", "*", "VALUE:4" ], [ "1A", "2", "1", "3", "*", "VALUE:4" ], [ "1A", "2", "1", "4", "*", "VALUE:4" ], [ "1A", "2", "1", "9", "*", "VALUE:4" ], [ "1A", "3", "1", "1", "*", "VALUE:4" ], [ "1A", "3", "1", "2", "*", "VALUE:4" ], [ "1A", "3", "1", "3", "*", "VALUE:4" ], [ "1A", "3", "1", "4", "*", "VALUE:4" ], [ "1A", "3", "1", "9", "*", "VALUE:4" ], [ "1A", "X", "1", "1", "*", "VALUE:4" ], [ "1A", "X", "1", "2", "*", "VALUE:4" ], [ "1A", "X", "1", "3", "*", "VALUE:4" ], [ "1A", "X", "1", "4", "*", "VALUE:4" ], [ "1A", "X", "1", "9", "*", "VALUE:4" ], [ "1B", "0", "1", "1", "*", "VALUE:4" ], [ "1B", "0", "1", "2", "*", "VALUE:4" ], [ "1B", "0", "1", "3", "*", "VALUE:4" ], [ "1B", "0", "1", "4", "*", "VALUE:4" ], [ "1B", "0", "1", "9", "*", "VALUE:4" ], [ "1B", "1", "1", "1", "*", "VALUE:4" ], [ "1B", "1", "1", "2", "*", "VALUE:4" ], [ "1B", "1", "1", "3", "*", "VALUE:4" ], [ "1B", "1", "1", "4", "*", "VALUE:4" ], [ "1B", "1", "1", "9", "*", "VALUE:4" ], [ "1B", "2", "1", "1", "*", "VALUE:4" ], [ "1B", "2", "1", "2", "*", "VALUE:4" ], [ "1B", "2", "1", "3", "*", "VALUE:4" ], [ "1B", "2", "1", "4", "*", "VALUE:4" ], [ "1B", "2", "1", "9", "*", "VALUE:4" ], [ "1B", "3", "1", "1", "*", "VALUE:4" ], [ "1B", "3", "1", "2", "*", "VALUE:4" ], [ "1B", "3", "1", "3", "*", "VALUE:4" ], [ "1B", "3", "1", "4", "*", "VALUE:4" ], [ "1B", "3", "1", "9", "*", "VALUE:4" ], [ "1B", "X", "1", "1", "*", "VALUE:4" ], [ "1B", "X", "1", "2", "*", "VALUE:4" ], [ "1B", "X", "1", "3", "*", "VALUE:4" ], [ "1B", "X", "1", "4", "*", "VALUE:4" ], [ "1B", "X", "1", "9", "*", "VALUE:4" ], [ "1", "0", "1", "1", "*", "VALUE:4" ], [ "1", "0", "1", "2", "*", "VALUE:4" ], [ "1", "0", "1", "3", "*", "VALUE:4" ], [ "1", "0", "1", "4", "*", "VALUE:4" ], [ "1", "0", "1", "9", "*", "VALUE:4" ], [ "1", "1", "1", "1", "*", "VALUE:4" ], [ "1", "1", "1", "2", "*", "VALUE:4" ], [ "1", "1", "1", "3", "*", "VALUE:4" ], [ "1", "1", "1", "4", "*", "VALUE:4" ], [ "1", "1", "1", "9", "*", "VALUE:4" ], [ "1", "2", "1", "1", "*", "VALUE:4" ], [ "1", "2", "1", "2", "*", "VALUE:4" ], [ "1", "2", "1", "3", "*", "VALUE:4" ], [ "1", "2", "1", "4", "*", "VALUE:4" ], [ "1", "2", "1", "9", "*", "VALUE:4" ], [ "1", "3", "1", "1", "*", "VALUE:4" ], [ "1", "3", "1", "2", "*", "VALUE:4" ], [ "1", "3", "1", "3", "*", "VALUE:4" ], [ "1", "3", "1", "4", "*", "VALUE:4" ], [ "1", "3", "1", "9", "*", "VALUE:4" ], [ "1", "X", "1", "1", "*", "VALUE:4" ], [ "1", "X", "1", "2", "*", "VALUE:4" ], [ "1", "X", "1", "3", "*", "VALUE:4" ], [ "1", "X", "1", "4", "*", "VALUE:4" ], [ "1", "X", "1", "9", "*", "VALUE:4" ], [ "2", "0", "1", "1", "*", "VALUE:4" ], [ "2", "0", "1", "2", "*", "VALUE:4" ], [ "2", "0", "1", "3", "*", "VALUE:4" ], [ "2", "0", "1", "4", "*", "VALUE:4" ], [ "2", "0", "1", "9", "*", "VALUE:4" ], [ "2", "1", "1", "1", "*", "VALUE:4" ], [ "2", "1", "1", "2", "*", "VALUE:4" ], [ "2", "1", "1", "3", "*", "VALUE:4" ], [ "2", "1", "1", "4", "*", "VALUE:4" ], [ "2", "1", "1", "9", "*", "VALUE:4" ], [ "2", "2", "1", "1", "*", "VALUE:4" ], [ "2", "2", "1", "2", "*", "VALUE:4" ], [ "2", "2", "1", "3", "*", "VALUE:4" ], [ "2", "2", "1", "4", "*", "VALUE:4" ], [ "2", "2", "1", "9", "*", "VALUE:4" ], [ "2", "3", "1", "1", "*", "VALUE:4" ], [ "2", "3", "1", "2", "*", "VALUE:4" ], [ "2", "3", "1", "3", "*", "VALUE:4" ], [ "2", "3", "1", "4", "*", "VALUE:4" ], [ "2", "3", "1", "9", "*", "VALUE:4" ], [ "2", "X", "1", "1", "*", "VALUE:4" ], [ "2", "X", "1", "2", "*", "VALUE:4" ], [ "2", "X", "1", "3", "*", "VALUE:4" ], [ "2", "X", "1", "4", "*", "VALUE:4" ], [ "2", "X", "1", "9", "*", "VALUE:4" ], [ "3", "0", "1", "1", "*", "VALUE:4" ], [ "3", "0", "1", "2", "*", "VALUE:4" ], [ "3", "0", "1", "3", "*", "VALUE:4" ], [ "3", "0", "1", "4", "*", "VALUE:4" ], [ "3", "0", "1", "9", "*", "VALUE:4" ], [ "3", "1", "1", "1", "*", "VALUE:4" ], [ "3", "1", "1", "2", "*", "VALUE:4" ], [ "3", "1", "1", "3", "*", "VALUE:4" ], [ "3", "1", "1", "4", "*", "VALUE:4" ], [ "3", "1", "1", "9", "*", "VALUE:4" ], [ "3", "2", "1", "1", "*", "VALUE:4" ], [ "3", "2", "1", "2", "*", "VALUE:4" ], [ "3", "2", "1", "3", "*", "VALUE:4" ], [ "3", "2", "1", "4", "*", "VALUE:4" ], [ "3", "2", "1", "9", "*", "VALUE:4" ], [ "3", "3", "1", "1", "*", "VALUE:4" ], [ "3", "3", "1", "2", "*", "VALUE:4" ], [ "3", "3", "1", "3", "*", "VALUE:4" ], [ "3", "3", "1", "4", "*", "VALUE:4" ], [ "3", "3", "1", "9", "*", "VALUE:4" ], [ "3", "X", "1", "1", "*", "VALUE:4" ], [ "3", "X", "1", "2", "*", "VALUE:4" ], [ "3", "X", "1", "3", "*", "VALUE:4" ], [ "3", "X", "1", "4", "*", "VALUE:4" ], [ "3", "X", "1", "9", "*", "VALUE:4" ], [ "4A", "0", "1", "1", "*", "VALUE:4" ], [ "4A", "0", "1", "2", "*", "VALUE:4" ], [ "4A", "0", "1", "3", "*", "VALUE:4" ], [ "4A", "0", "1", "4", "*", "VALUE:4" ], [ "4A", "0", "1", "9", "*", "VALUE:4" ], [ "4A", "1", "1", "1", "*", "VALUE:4" ], [ "4A", "1", "1", "2", "*", "VALUE:4" ], [ "4A", "1", "1", "3", "*", "VALUE:4" ], [ "4A", "1", "1", "4", "*", "VALUE:4" ], [ "4A", "1", "1", "9", "*", "VALUE:4" ], [ "4A", "2", "1", "1", "*", "VALUE:4" ], [ "4A", "2", "1", "2", "*", "VALUE:4" ], [ "4A", "2", "1", "3", "*", "VALUE:4" ], [ "4A", "2", "1", "4", "*", "VALUE:4" ], [ "4A", "2", "1", "9", "*", "VALUE:4" ], [ "4A", "3", "1", "1", "*", "VALUE:4" ], [ "4A", "3", "1", "2", "*", "VALUE:4" ], [ "4A", "3", "1", "3", "*", "VALUE:4" ], [ "4A", "3", "1", "4", "*", "VALUE:4" ], [ "4A", "3", "1", "9", "*", "VALUE:4" ], [ "4A", "X", "1", "1", "*", "VALUE:4" ], [ "4A", "X", "1", "2", "*", "VALUE:4" ], [ "4A", "X", "1", "3", "*", "VALUE:4" ], [ "4A", "X", "1", "4", "*", "VALUE:4" ], [ "4A", "X", "1", "9", "*", "VALUE:4" ], [ "4B", "0", "1", "1", "*", "VALUE:4" ], [ "4B", "0", "1", "2", "*", "VALUE:4" ], [ "4B", "0", "1", "3", "*", "VALUE:4" ], [ "4B", "0", "1", "4", "*", "VALUE:4" ], [ "4B", "0", "1", "9", "*", "VALUE:4" ], [ "4B", "1", "1", "1", "*", "VALUE:4" ], [ "4B", "1", "1", "2", "*", "VALUE:4" ], [ "4B", "1", "1", "3", "*", "VALUE:4" ], [ "4B", "1", "1", "4", "*", "VALUE:4" ], [ "4B", "1", "1", "9", "*", "VALUE:4" ], [ "4B", "2", "1", "1", "*", "VALUE:4" ], [ "4B", "2", "1", "2", "*", "VALUE:4" ], [ "4B", "2", "1", "3", "*", "VALUE:4" ], [ "4B", "2", "1", "4", "*", "VALUE:4" ], [ "4B", "2", "1", "9", "*", "VALUE:4" ], [ "4B", "3", "1", "1", "*", "VALUE:4" ], [ "4B", "3", "1", "2", "*", "VALUE:4" ], [ "4B", "3", "1", "3", "*", "VALUE:4" ], [ "4B", "3", "1", "4", "*", "VALUE:4" ], [ "4B", "3", "1", "9", "*", "VALUE:4" ], [ "4B", "X", "1", "1", "*", "VALUE:4" ], [ "4B", "X", "1", "2", "*", "VALUE:4" ], [ "4B", "X", "1", "3", "*", "VALUE:4" ], [ "4B", "X", "1", "4", "*", "VALUE:4" ], [ "4B", "X", "1", "9", "*", "VALUE:4" ], [ "4", "0", "1", "1", "*", "VALUE:4" ], [ "4", "0", "1", "2", "*", "VALUE:4" ], [ "4", "0", "1", "3", "*", "VALUE:4" ], [ "4", "0", "1", "4", "*", "VALUE:4" ], [ "4", "0", "1", "9", "*", "VALUE:4" ], [ "4", "1", "1", "1", "*", "VALUE:4" ], [ "4", "1", "1", "2", "*", "VALUE:4" ], [ "4", "1", "1", "3", "*", "VALUE:4" ], [ "4", "1", "1", "4", "*", "VALUE:4" ], [ "4", "1", "1", "9", "*", "VALUE:4" ], [ "4", "2", "1", "1", "*", "VALUE:4" ], [ "4", "2", "1", "2", "*", "VALUE:4" ], [ "4", "2", "1", "3", "*", "VALUE:4" ], [ "4", "2", "1", "4", "*", "VALUE:4" ], [ "4", "2", "1", "9", "*", "VALUE:4" ], [ "4", "3", "1", "1", "*", "VALUE:4" ], [ "4", "3", "1", "2", "*", "VALUE:4" ], [ "4", "3", "1", "3", "*", "VALUE:4" ], [ "4", "3", "1", "4", "*", "VALUE:4" ], [ "4", "3", "1", "9", "*", "VALUE:4" ], [ "4", "X", "1", "1", "*", "VALUE:4" ], [ "4", "X", "1", "2", "*", "VALUE:4" ], [ "4", "X", "1", "3", "*", "VALUE:4" ], [ "4", "X", "1", "4", "*", "VALUE:4" ], [ "4", "X", "1", "9", "*", "VALUE:4" ], [ "X", "0", "1", "1", "*", "VALUE:4" ], [ "X", "0", "1", "2", "*", "VALUE:4" ], [ "X", "0", "1", "3", "*", "VALUE:4" ], [ "X", "0", "1", "4", "*", "VALUE:4" ], [ "X", "0", "1", "9", "*", "VALUE:4" ], [ "X", "1", "1", "1", "*", "VALUE:4" ], [ "X", "1", "1", "2", "*", "VALUE:4" ], [ "X", "1", "1", "3", "*", "VALUE:4" ], [ "X", "1", "1", "4", "*", "VALUE:4" ], [ "X", "1", "1", "9", "*", "VALUE:4" ], [ "X", "2", "1", "1", "*", "VALUE:4" ], [ "X", "2", "1", "2", "*", "VALUE:4" ], [ "X", "2", "1", "3", "*", "VALUE:4" ], [ "X", "2", "1", "4", "*", "VALUE:4" ], [ "X", "2", "1", "9", "*", "VALUE:4" ], [ "X", "3", "1", "1", "*", "VALUE:4" ], [ "X", "3", "1", "2", "*", "VALUE:4" ], [ "X", "3", "1", "3", "*", "VALUE:4" ], [ "X", "3", "1", "4", "*", "VALUE:4" ], [ "X", "3", "1", "9", "*", "VALUE:4" ], [ "X", "X", "1", "1", "*", "VALUE:4" ], [ "X", "X", "1", "2", "*", "VALUE:4" ], [ "X", "X", "1", "3", "*", "VALUE:4" ], [ "X", "X", "1", "4", "*", "VALUE:4" ], [ "X", "X", "1", "9", "*", "VALUE:4" ], [ "88", "88", "88", "*", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_29624.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_29624.json deleted file mode 100644 index 9ade2f41e..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_squamous_29624.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm_7_path_stage_squamous_29624", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Squamous", - "title" : "TNM 7 Path Stage Squamous", - "last_modified" : "2018-05-14T21:29:05.911Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "1", "VALUE:99" ], [ "0", "0", "0", "2", "VALUE:99" ], [ "0", "0", "0", "3", "VALUE:99" ], [ "0", "0", "0", "4", "VALUE:99" ], [ "0", "0", "0", "9", "VALUE:99" ], [ "0", "1", "0", "1", "VALUE:99" ], [ "0", "1", "0", "2", "VALUE:99" ], [ "0", "1", "0", "3", "VALUE:99" ], [ "0", "1", "0", "4", "VALUE:99" ], [ "0", "1", "0", "9", "VALUE:99" ], [ "0", "2", "0", "1", "VALUE:3" ], [ "0", "2", "0", "2", "VALUE:3" ], [ "0", "2", "0", "3", "VALUE:3" ], [ "0", "2", "0", "4", "VALUE:3" ], [ "0", "2", "0", "9", "VALUE:3" ], [ "0", "3", "0", "1", "VALUE:3C" ], [ "0", "3", "0", "2", "VALUE:3C" ], [ "0", "3", "0", "3", "VALUE:3C" ], [ "0", "3", "0", "4", "VALUE:3C" ], [ "0", "3", "0", "9", "VALUE:3C" ], [ "0", "X", "0", "1", "VALUE:99" ], [ "0", "X", "0", "2", "VALUE:99" ], [ "0", "X", "0", "3", "VALUE:99" ], [ "0", "X", "0", "4", "VALUE:99" ], [ "0", "X", "0", "9", "VALUE:99" ], [ "IS", "0", "0", "1", "VALUE:0" ], [ "IS", "0", "0", "2", "VALUE:99" ], [ "IS", "0", "0", "3", "VALUE:99" ], [ "IS", "0", "0", "4", "VALUE:99" ], [ "IS", "0", "0", "9", "VALUE:0" ], [ "IS", "1", "0", "1", "VALUE:2B" ], [ "IS", "1", "0", "2", "VALUE:2B" ], [ "IS", "1", "0", "3", "VALUE:2B" ], [ "IS", "1", "0", "4", "VALUE:2B" ], [ "IS", "1", "0", "9", "VALUE:2B" ], [ "IS", "2", "0", "1", "VALUE:3A" ], [ "IS", "2", "0", "2", "VALUE:3A" ], [ "IS", "2", "0", "3", "VALUE:3A" ], [ "IS", "2", "0", "4", "VALUE:3A" ], [ "IS", "2", "0", "9", "VALUE:3A" ], [ "IS", "3", "0", "1", "VALUE:3C" ], [ "IS", "3", "0", "2", "VALUE:3C" ], [ "IS", "3", "0", "3", "VALUE:3C" ], [ "IS", "3", "0", "4", "VALUE:3C" ], [ "IS", "3", "0", "9", "VALUE:3C" ], [ "IS", "X", "0", "1", "VALUE:0" ], [ "IS", "X", "0", "2", "VALUE:99" ], [ "IS", "X", "0", "3", "VALUE:99" ], [ "IS", "X", "0", "4", "VALUE:99" ], [ "IS", "X", "0", "9", "VALUE:0" ], [ "1A", "0", "0", "1", "VALUE:1A" ], [ "1A", "0", "0", "2", "VALUE:1B" ], [ "1A", "0", "0", "3", "VALUE:1B" ], [ "1A", "0", "0", "4", "VALUE:1B" ], [ "1A", "0", "0", "9", "VALUE:1A" ], [ "1A", "1", "0", "1", "VALUE:2B" ], [ "1A", "1", "0", "2", "VALUE:2B" ], [ "1A", "1", "0", "3", "VALUE:2B" ], [ "1A", "1", "0", "4", "VALUE:2B" ], [ "1A", "1", "0", "9", "VALUE:2B" ], [ "1A", "2", "0", "1", "VALUE:3A" ], [ "1A", "2", "0", "2", "VALUE:3A" ], [ "1A", "2", "0", "3", "VALUE:3A" ], [ "1A", "2", "0", "4", "VALUE:3A" ], [ "1A", "2", "0", "9", "VALUE:3A" ], [ "1A", "3", "0", "1", "VALUE:3C" ], [ "1A", "3", "0", "2", "VALUE:3C" ], [ "1A", "3", "0", "3", "VALUE:3C" ], [ "1A", "3", "0", "4", "VALUE:3C" ], [ "1A", "3", "0", "9", "VALUE:3C" ], [ "1A", "X", "0", "1", "VALUE:99" ], [ "1A", "X", "0", "2", "VALUE:99" ], [ "1A", "X", "0", "3", "VALUE:99" ], [ "1A", "X", "0", "4", "VALUE:99" ], [ "1A", "X", "0", "9", "VALUE:99" ], [ "1B", "0", "0", "1", "VALUE:1A" ], [ "1B", "0", "0", "2", "VALUE:1B" ], [ "1B", "0", "0", "3", "VALUE:1B" ], [ "1B", "0", "0", "4", "VALUE:1B" ], [ "1B", "0", "0", "9", "VALUE:1A" ], [ "1B", "1", "0", "1", "VALUE:2B" ], [ "1B", "1", "0", "2", "VALUE:2B" ], [ "1B", "1", "0", "3", "VALUE:2B" ], [ "1B", "1", "0", "4", "VALUE:2B" ], [ "1B", "1", "0", "9", "VALUE:2B" ], [ "1B", "2", "0", "1", "VALUE:3A" ], [ "1B", "2", "0", "2", "VALUE:3A" ], [ "1B", "2", "0", "3", "VALUE:3A" ], [ "1B", "2", "0", "4", "VALUE:3A" ], [ "1B", "2", "0", "9", "VALUE:3A" ], [ "1B", "3", "0", "1", "VALUE:3C" ], [ "1B", "3", "0", "2", "VALUE:3C" ], [ "1B", "3", "0", "3", "VALUE:3C" ], [ "1B", "3", "0", "4", "VALUE:3C" ], [ "1B", "3", "0", "9", "VALUE:3C" ], [ "1B", "X", "0", "1", "VALUE:99" ], [ "1B", "X", "0", "2", "VALUE:99" ], [ "1B", "X", "0", "3", "VALUE:99" ], [ "1B", "X", "0", "4", "VALUE:99" ], [ "1B", "X", "0", "9", "VALUE:99" ], [ "1", "0", "0", "1", "VALUE:1A" ], [ "1", "0", "0", "2", "VALUE:1B" ], [ "1", "0", "0", "3", "VALUE:1B" ], [ "1", "0", "0", "4", "VALUE:1B" ], [ "1", "0", "0", "9", "VALUE:1A" ], [ "1", "1", "0", "1", "VALUE:2B" ], [ "1", "1", "0", "2", "VALUE:2B" ], [ "1", "1", "0", "3", "VALUE:2B" ], [ "1", "1", "0", "4", "VALUE:2B" ], [ "1", "1", "0", "9", "VALUE:2B" ], [ "1", "2", "0", "1", "VALUE:3A" ], [ "1", "2", "0", "2", "VALUE:3A" ], [ "1", "2", "0", "3", "VALUE:3A" ], [ "1", "2", "0", "4", "VALUE:3A" ], [ "1", "2", "0", "9", "VALUE:3A" ], [ "1", "3", "0", "1", "VALUE:3C" ], [ "1", "3", "0", "2", "VALUE:3C" ], [ "1", "3", "0", "3", "VALUE:3C" ], [ "1", "3", "0", "4", "VALUE:3C" ], [ "1", "3", "0", "9", "VALUE:3C" ], [ "1", "X", "0", "1", "VALUE:99" ], [ "1", "X", "0", "2", "VALUE:99" ], [ "1", "X", "0", "3", "VALUE:99" ], [ "1", "X", "0", "4", "VALUE:99" ], [ "1", "X", "0", "9", "VALUE:99" ], [ "2", "0", "0", "1", "VALUE:1B" ], [ "2", "0", "0", "2", "VALUE:2A" ], [ "2", "0", "0", "3", "VALUE:2A" ], [ "2", "0", "0", "4", "VALUE:2A" ], [ "2", "0", "0", "9", "VALUE:1B" ], [ "2", "1", "0", "1", "VALUE:2B" ], [ "2", "1", "0", "2", "VALUE:2B" ], [ "2", "1", "0", "3", "VALUE:2B" ], [ "2", "1", "0", "4", "VALUE:2B" ], [ "2", "1", "0", "9", "VALUE:2B" ], [ "2", "2", "0", "1", "VALUE:3A" ], [ "2", "2", "0", "2", "VALUE:3A" ], [ "2", "2", "0", "3", "VALUE:3A" ], [ "2", "2", "0", "4", "VALUE:3A" ], [ "2", "2", "0", "9", "VALUE:3A" ], [ "2", "3", "0", "1", "VALUE:3C" ], [ "2", "3", "0", "2", "VALUE:3C" ], [ "2", "3", "0", "3", "VALUE:3C" ], [ "2", "3", "0", "4", "VALUE:3C" ], [ "2", "3", "0", "9", "VALUE:3C" ], [ "2", "X", "0", "1", "VALUE:99" ], [ "2", "X", "0", "2", "VALUE:99" ], [ "2", "X", "0", "3", "VALUE:99" ], [ "2", "X", "0", "4", "VALUE:99" ], [ "2", "X", "0", "9", "VALUE:99" ], [ "3", "0", "0", "1", "VALUE:1B" ], [ "3", "0", "0", "2", "VALUE:2A" ], [ "3", "0", "0", "3", "VALUE:2A" ], [ "3", "0", "0", "4", "VALUE:2A" ], [ "3", "0", "0", "9", "VALUE:1B" ], [ "3", "1", "0", "1", "VALUE:3A" ], [ "3", "1", "0", "2", "VALUE:3A" ], [ "3", "1", "0", "3", "VALUE:3A" ], [ "3", "1", "0", "4", "VALUE:3A" ], [ "3", "1", "0", "9", "VALUE:3A" ], [ "3", "2", "0", "1", "VALUE:3B" ], [ "3", "2", "0", "2", "VALUE:3B" ], [ "3", "2", "0", "3", "VALUE:3B" ], [ "3", "2", "0", "4", "VALUE:3B" ], [ "3", "2", "0", "9", "VALUE:3B" ], [ "3", "3", "0", "1", "VALUE:3C" ], [ "3", "3", "0", "2", "VALUE:3C" ], [ "3", "3", "0", "3", "VALUE:3C" ], [ "3", "3", "0", "4", "VALUE:3C" ], [ "3", "3", "0", "9", "VALUE:3C" ], [ "3", "X", "0", "1", "VALUE:99" ], [ "3", "X", "0", "2", "VALUE:99" ], [ "3", "X", "0", "3", "VALUE:99" ], [ "3", "X", "0", "4", "VALUE:99" ], [ "3", "X", "0", "9", "VALUE:99" ], [ "4A", "0", "0", "1", "VALUE:3A" ], [ "4A", "0", "0", "2", "VALUE:3A" ], [ "4A", "0", "0", "3", "VALUE:3A" ], [ "4A", "0", "0", "4", "VALUE:3A" ], [ "4A", "0", "0", "9", "VALUE:3A" ], [ "4A", "1", "0", "1", "VALUE:3C" ], [ "4A", "1", "0", "2", "VALUE:3C" ], [ "4A", "1", "0", "3", "VALUE:3C" ], [ "4A", "1", "0", "4", "VALUE:3C" ], [ "4A", "1", "0", "9", "VALUE:3C" ], [ "4A", "2", "0", "1", "VALUE:3C" ], [ "4A", "2", "0", "2", "VALUE:3C" ], [ "4A", "2", "0", "3", "VALUE:3C" ], [ "4A", "2", "0", "4", "VALUE:3C" ], [ "4A", "2", "0", "9", "VALUE:3C" ], [ "4A", "3", "0", "1", "VALUE:3C" ], [ "4A", "3", "0", "2", "VALUE:3C" ], [ "4A", "3", "0", "3", "VALUE:3C" ], [ "4A", "3", "0", "4", "VALUE:3C" ], [ "4A", "3", "0", "9", "VALUE:3C" ], [ "4A", "X", "0", "1", "VALUE:3" ], [ "4A", "X", "0", "2", "VALUE:3" ], [ "4A", "X", "0", "3", "VALUE:3" ], [ "4A", "X", "0", "4", "VALUE:3" ], [ "4A", "X", "0", "9", "VALUE:3" ], [ "4B", "0", "0", "1", "VALUE:3C" ], [ "4B", "0", "0", "2", "VALUE:3C" ], [ "4B", "0", "0", "3", "VALUE:3C" ], [ "4B", "0", "0", "4", "VALUE:3C" ], [ "4B", "0", "0", "9", "VALUE:3C" ], [ "4B", "1", "0", "1", "VALUE:3C" ], [ "4B", "1", "0", "2", "VALUE:3C" ], [ "4B", "1", "0", "3", "VALUE:3C" ], [ "4B", "1", "0", "4", "VALUE:3C" ], [ "4B", "1", "0", "9", "VALUE:3C" ], [ "4B", "2", "0", "1", "VALUE:3C" ], [ "4B", "2", "0", "2", "VALUE:3C" ], [ "4B", "2", "0", "3", "VALUE:3C" ], [ "4B", "2", "0", "4", "VALUE:3C" ], [ "4B", "2", "0", "9", "VALUE:3C" ], [ "4B", "3", "0", "1", "VALUE:3C" ], [ "4B", "3", "0", "2", "VALUE:3C" ], [ "4B", "3", "0", "3", "VALUE:3C" ], [ "4B", "3", "0", "4", "VALUE:3C" ], [ "4B", "3", "0", "9", "VALUE:3C" ], [ "4B", "X", "0", "1", "VALUE:3C" ], [ "4B", "X", "0", "2", "VALUE:3C" ], [ "4B", "X", "0", "3", "VALUE:3C" ], [ "4B", "X", "0", "4", "VALUE:3C" ], [ "4B", "X", "0", "9", "VALUE:3C" ], [ "4", "0", "0", "1", "VALUE:3A" ], [ "4", "0", "0", "2", "VALUE:3A" ], [ "4", "0", "0", "3", "VALUE:3A" ], [ "4", "0", "0", "4", "VALUE:3A" ], [ "4", "0", "0", "9", "VALUE:3A" ], [ "4", "1", "0", "1", "VALUE:3C" ], [ "4", "1", "0", "2", "VALUE:3C" ], [ "4", "1", "0", "3", "VALUE:3C" ], [ "4", "1", "0", "4", "VALUE:3C" ], [ "4", "1", "0", "9", "VALUE:3C" ], [ "4", "2", "0", "1", "VALUE:3C" ], [ "4", "2", "0", "2", "VALUE:3C" ], [ "4", "2", "0", "3", "VALUE:3C" ], [ "4", "2", "0", "4", "VALUE:3C" ], [ "4", "2", "0", "9", "VALUE:3C" ], [ "4", "3", "0", "1", "VALUE:3C" ], [ "4", "3", "0", "2", "VALUE:3C" ], [ "4", "3", "0", "3", "VALUE:3C" ], [ "4", "3", "0", "4", "VALUE:3C" ], [ "4", "3", "0", "9", "VALUE:3C" ], [ "4", "X", "0", "1", "VALUE:3" ], [ "4", "X", "0", "2", "VALUE:3" ], [ "4", "X", "0", "3", "VALUE:3" ], [ "4", "X", "0", "4", "VALUE:3" ], [ "4", "X", "0", "9", "VALUE:3" ], [ "X", "0", "0", "1", "VALUE:99" ], [ "X", "0", "0", "2", "VALUE:99" ], [ "X", "0", "0", "3", "VALUE:99" ], [ "X", "0", "0", "4", "VALUE:99" ], [ "X", "0", "0", "9", "VALUE:99" ], [ "X", "1", "0", "1", "VALUE:99" ], [ "X", "1", "0", "2", "VALUE:99" ], [ "X", "1", "0", "3", "VALUE:99" ], [ "X", "1", "0", "4", "VALUE:99" ], [ "X", "1", "0", "9", "VALUE:99" ], [ "X", "2", "0", "1", "VALUE:3" ], [ "X", "2", "0", "2", "VALUE:3" ], [ "X", "2", "0", "3", "VALUE:3" ], [ "X", "2", "0", "4", "VALUE:3" ], [ "X", "2", "0", "9", "VALUE:3" ], [ "X", "3", "0", "1", "VALUE:3C" ], [ "X", "3", "0", "2", "VALUE:3C" ], [ "X", "3", "0", "3", "VALUE:3C" ], [ "X", "3", "0", "4", "VALUE:3C" ], [ "X", "3", "0", "9", "VALUE:3C" ], [ "X", "X", "0", "1", "VALUE:99" ], [ "X", "X", "0", "2", "VALUE:99" ], [ "X", "X", "0", "3", "VALUE:99" ], [ "X", "X", "0", "4", "VALUE:99" ], [ "X", "X", "0", "9", "VALUE:99" ], [ "0", "0", "1", "1", "VALUE:4" ], [ "0", "0", "1", "2", "VALUE:4" ], [ "0", "0", "1", "3", "VALUE:4" ], [ "0", "0", "1", "4", "VALUE:4" ], [ "0", "0", "1", "9", "VALUE:4" ], [ "0", "1", "1", "1", "VALUE:4" ], [ "0", "1", "1", "2", "VALUE:4" ], [ "0", "1", "1", "3", "VALUE:4" ], [ "0", "1", "1", "4", "VALUE:4" ], [ "0", "1", "1", "9", "VALUE:4" ], [ "0", "2", "1", "1", "VALUE:4" ], [ "0", "2", "1", "2", "VALUE:4" ], [ "0", "2", "1", "3", "VALUE:4" ], [ "0", "2", "1", "4", "VALUE:4" ], [ "0", "2", "1", "9", "VALUE:4" ], [ "0", "3", "1", "1", "VALUE:4" ], [ "0", "3", "1", "2", "VALUE:4" ], [ "0", "3", "1", "3", "VALUE:4" ], [ "0", "3", "1", "4", "VALUE:4" ], [ "0", "3", "1", "9", "VALUE:4" ], [ "0", "X", "1", "1", "VALUE:4" ], [ "0", "X", "1", "2", "VALUE:4" ], [ "0", "X", "1", "3", "VALUE:4" ], [ "0", "X", "1", "4", "VALUE:4" ], [ "0", "X", "1", "9", "VALUE:4" ], [ "IS", "0", "1", "1", "VALUE:4" ], [ "IS", "0", "1", "2", "VALUE:4" ], [ "IS", "0", "1", "3", "VALUE:4" ], [ "IS", "0", "1", "4", "VALUE:4" ], [ "IS", "0", "1", "9", "VALUE:4" ], [ "IS", "1", "1", "1", "VALUE:4" ], [ "IS", "1", "1", "2", "VALUE:4" ], [ "IS", "1", "1", "3", "VALUE:4" ], [ "IS", "1", "1", "4", "VALUE:4" ], [ "IS", "1", "1", "9", "VALUE:4" ], [ "IS", "2", "1", "1", "VALUE:4" ], [ "IS", "2", "1", "2", "VALUE:4" ], [ "IS", "2", "1", "3", "VALUE:4" ], [ "IS", "2", "1", "4", "VALUE:4" ], [ "IS", "2", "1", "9", "VALUE:4" ], [ "IS", "3", "1", "1", "VALUE:4" ], [ "IS", "3", "1", "2", "VALUE:4" ], [ "IS", "3", "1", "3", "VALUE:4" ], [ "IS", "3", "1", "4", "VALUE:4" ], [ "IS", "3", "1", "9", "VALUE:4" ], [ "IS", "X", "1", "1", "VALUE:4" ], [ "IS", "X", "1", "2", "VALUE:4" ], [ "IS", "X", "1", "3", "VALUE:4" ], [ "IS", "X", "1", "4", "VALUE:4" ], [ "IS", "X", "1", "9", "VALUE:4" ], [ "1A", "0", "1", "1", "VALUE:4" ], [ "1A", "0", "1", "2", "VALUE:4" ], [ "1A", "0", "1", "3", "VALUE:4" ], [ "1A", "0", "1", "4", "VALUE:4" ], [ "1A", "0", "1", "9", "VALUE:4" ], [ "1A", "1", "1", "1", "VALUE:4" ], [ "1A", "1", "1", "2", "VALUE:4" ], [ "1A", "1", "1", "3", "VALUE:4" ], [ "1A", "1", "1", "4", "VALUE:4" ], [ "1A", "1", "1", "9", "VALUE:4" ], [ "1A", "2", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "2", "VALUE:4" ], [ "1A", "2", "1", "3", "VALUE:4" ], [ "1A", "2", "1", "4", "VALUE:4" ], [ "1A", "2", "1", "9", "VALUE:4" ], [ "1A", "3", "1", "1", "VALUE:4" ], [ "1A", "3", "1", "2", "VALUE:4" ], [ "1A", "3", "1", "3", "VALUE:4" ], [ "1A", "3", "1", "4", "VALUE:4" ], [ "1A", "3", "1", "9", "VALUE:4" ], [ "1A", "X", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "2", "VALUE:4" ], [ "1A", "X", "1", "3", "VALUE:4" ], [ "1A", "X", "1", "4", "VALUE:4" ], [ "1A", "X", "1", "9", "VALUE:4" ], [ "1B", "0", "1", "1", "VALUE:4" ], [ "1B", "0", "1", "2", "VALUE:4" ], [ "1B", "0", "1", "3", "VALUE:4" ], [ "1B", "0", "1", "4", "VALUE:4" ], [ "1B", "0", "1", "9", "VALUE:4" ], [ "1B", "1", "1", "1", "VALUE:4" ], [ "1B", "1", "1", "2", "VALUE:4" ], [ "1B", "1", "1", "3", "VALUE:4" ], [ "1B", "1", "1", "4", "VALUE:4" ], [ "1B", "1", "1", "9", "VALUE:4" ], [ "1B", "2", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "2", "VALUE:4" ], [ "1B", "2", "1", "3", "VALUE:4" ], [ "1B", "2", "1", "4", "VALUE:4" ], [ "1B", "2", "1", "9", "VALUE:4" ], [ "1B", "3", "1", "1", "VALUE:4" ], [ "1B", "3", "1", "2", "VALUE:4" ], [ "1B", "3", "1", "3", "VALUE:4" ], [ "1B", "3", "1", "4", "VALUE:4" ], [ "1B", "3", "1", "9", "VALUE:4" ], [ "1B", "X", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "2", "VALUE:4" ], [ "1B", "X", "1", "3", "VALUE:4" ], [ "1B", "X", "1", "4", "VALUE:4" ], [ "1B", "X", "1", "9", "VALUE:4" ], [ "1", "0", "1", "1", "VALUE:4" ], [ "1", "0", "1", "2", "VALUE:4" ], [ "1", "0", "1", "3", "VALUE:4" ], [ "1", "0", "1", "4", "VALUE:4" ], [ "1", "0", "1", "9", "VALUE:4" ], [ "1", "1", "1", "1", "VALUE:4" ], [ "1", "1", "1", "2", "VALUE:4" ], [ "1", "1", "1", "3", "VALUE:4" ], [ "1", "1", "1", "4", "VALUE:4" ], [ "1", "1", "1", "9", "VALUE:4" ], [ "1", "2", "1", "1", "VALUE:4" ], [ "1", "2", "1", "2", "VALUE:4" ], [ "1", "2", "1", "3", "VALUE:4" ], [ "1", "2", "1", "4", "VALUE:4" ], [ "1", "2", "1", "9", "VALUE:4" ], [ "1", "3", "1", "1", "VALUE:4" ], [ "1", "3", "1", "2", "VALUE:4" ], [ "1", "3", "1", "3", "VALUE:4" ], [ "1", "3", "1", "4", "VALUE:4" ], [ "1", "3", "1", "9", "VALUE:4" ], [ "1", "X", "1", "1", "VALUE:4" ], [ "1", "X", "1", "2", "VALUE:4" ], [ "1", "X", "1", "3", "VALUE:4" ], [ "1", "X", "1", "4", "VALUE:4" ], [ "1", "X", "1", "9", "VALUE:4" ], [ "2", "0", "1", "1", "VALUE:4" ], [ "2", "0", "1", "2", "VALUE:4" ], [ "2", "0", "1", "3", "VALUE:4" ], [ "2", "0", "1", "4", "VALUE:4" ], [ "2", "0", "1", "9", "VALUE:4" ], [ "2", "1", "1", "1", "VALUE:4" ], [ "2", "1", "1", "2", "VALUE:4" ], [ "2", "1", "1", "3", "VALUE:4" ], [ "2", "1", "1", "4", "VALUE:4" ], [ "2", "1", "1", "9", "VALUE:4" ], [ "2", "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "2", "VALUE:4" ], [ "2", "2", "1", "3", "VALUE:4" ], [ "2", "2", "1", "4", "VALUE:4" ], [ "2", "2", "1", "9", "VALUE:4" ], [ "2", "3", "1", "1", "VALUE:4" ], [ "2", "3", "1", "2", "VALUE:4" ], [ "2", "3", "1", "3", "VALUE:4" ], [ "2", "3", "1", "4", "VALUE:4" ], [ "2", "3", "1", "9", "VALUE:4" ], [ "2", "X", "1", "1", "VALUE:4" ], [ "2", "X", "1", "2", "VALUE:4" ], [ "2", "X", "1", "3", "VALUE:4" ], [ "2", "X", "1", "4", "VALUE:4" ], [ "2", "X", "1", "9", "VALUE:4" ], [ "3", "0", "1", "1", "VALUE:4" ], [ "3", "0", "1", "2", "VALUE:4" ], [ "3", "0", "1", "3", "VALUE:4" ], [ "3", "0", "1", "4", "VALUE:4" ], [ "3", "0", "1", "9", "VALUE:4" ], [ "3", "1", "1", "1", "VALUE:4" ], [ "3", "1", "1", "2", "VALUE:4" ], [ "3", "1", "1", "3", "VALUE:4" ], [ "3", "1", "1", "4", "VALUE:4" ], [ "3", "1", "1", "9", "VALUE:4" ], [ "3", "2", "1", "1", "VALUE:4" ], [ "3", "2", "1", "2", "VALUE:4" ], [ "3", "2", "1", "3", "VALUE:4" ], [ "3", "2", "1", "4", "VALUE:4" ], [ "3", "2", "1", "9", "VALUE:4" ], [ "3", "3", "1", "1", "VALUE:4" ], [ "3", "3", "1", "2", "VALUE:4" ], [ "3", "3", "1", "3", "VALUE:4" ], [ "3", "3", "1", "4", "VALUE:4" ], [ "3", "3", "1", "9", "VALUE:4" ], [ "3", "X", "1", "1", "VALUE:4" ], [ "3", "X", "1", "2", "VALUE:4" ], [ "3", "X", "1", "3", "VALUE:4" ], [ "3", "X", "1", "4", "VALUE:4" ], [ "3", "X", "1", "9", "VALUE:4" ], [ "4A", "0", "1", "1", "VALUE:4" ], [ "4A", "0", "1", "2", "VALUE:4" ], [ "4A", "0", "1", "3", "VALUE:4" ], [ "4A", "0", "1", "4", "VALUE:4" ], [ "4A", "0", "1", "9", "VALUE:4" ], [ "4A", "1", "1", "1", "VALUE:4" ], [ "4A", "1", "1", "2", "VALUE:4" ], [ "4A", "1", "1", "3", "VALUE:4" ], [ "4A", "1", "1", "4", "VALUE:4" ], [ "4A", "1", "1", "9", "VALUE:4" ], [ "4A", "2", "1", "1", "VALUE:4" ], [ "4A", "2", "1", "2", "VALUE:4" ], [ "4A", "2", "1", "3", "VALUE:4" ], [ "4A", "2", "1", "4", "VALUE:4" ], [ "4A", "2", "1", "9", "VALUE:4" ], [ "4A", "3", "1", "1", "VALUE:4" ], [ "4A", "3", "1", "2", "VALUE:4" ], [ "4A", "3", "1", "3", "VALUE:4" ], [ "4A", "3", "1", "4", "VALUE:4" ], [ "4A", "3", "1", "9", "VALUE:4" ], [ "4A", "X", "1", "1", "VALUE:4" ], [ "4A", "X", "1", "2", "VALUE:4" ], [ "4A", "X", "1", "3", "VALUE:4" ], [ "4A", "X", "1", "4", "VALUE:4" ], [ "4A", "X", "1", "9", "VALUE:4" ], [ "4B", "0", "1", "1", "VALUE:4" ], [ "4B", "0", "1", "2", "VALUE:4" ], [ "4B", "0", "1", "3", "VALUE:4" ], [ "4B", "0", "1", "4", "VALUE:4" ], [ "4B", "0", "1", "9", "VALUE:4" ], [ "4B", "1", "1", "1", "VALUE:4" ], [ "4B", "1", "1", "2", "VALUE:4" ], [ "4B", "1", "1", "3", "VALUE:4" ], [ "4B", "1", "1", "4", "VALUE:4" ], [ "4B", "1", "1", "9", "VALUE:4" ], [ "4B", "2", "1", "1", "VALUE:4" ], [ "4B", "2", "1", "2", "VALUE:4" ], [ "4B", "2", "1", "3", "VALUE:4" ], [ "4B", "2", "1", "4", "VALUE:4" ], [ "4B", "2", "1", "9", "VALUE:4" ], [ "4B", "3", "1", "1", "VALUE:4" ], [ "4B", "3", "1", "2", "VALUE:4" ], [ "4B", "3", "1", "3", "VALUE:4" ], [ "4B", "3", "1", "4", "VALUE:4" ], [ "4B", "3", "1", "9", "VALUE:4" ], [ "4B", "X", "1", "1", "VALUE:4" ], [ "4B", "X", "1", "2", "VALUE:4" ], [ "4B", "X", "1", "3", "VALUE:4" ], [ "4B", "X", "1", "4", "VALUE:4" ], [ "4B", "X", "1", "9", "VALUE:4" ], [ "4", "0", "1", "1", "VALUE:4" ], [ "4", "0", "1", "2", "VALUE:4" ], [ "4", "0", "1", "3", "VALUE:4" ], [ "4", "0", "1", "4", "VALUE:4" ], [ "4", "0", "1", "9", "VALUE:4" ], [ "4", "1", "1", "1", "VALUE:4" ], [ "4", "1", "1", "2", "VALUE:4" ], [ "4", "1", "1", "3", "VALUE:4" ], [ "4", "1", "1", "4", "VALUE:4" ], [ "4", "1", "1", "9", "VALUE:4" ], [ "4", "2", "1", "1", "VALUE:4" ], [ "4", "2", "1", "2", "VALUE:4" ], [ "4", "2", "1", "3", "VALUE:4" ], [ "4", "2", "1", "4", "VALUE:4" ], [ "4", "2", "1", "9", "VALUE:4" ], [ "4", "3", "1", "1", "VALUE:4" ], [ "4", "3", "1", "2", "VALUE:4" ], [ "4", "3", "1", "3", "VALUE:4" ], [ "4", "3", "1", "4", "VALUE:4" ], [ "4", "3", "1", "9", "VALUE:4" ], [ "4", "X", "1", "1", "VALUE:4" ], [ "4", "X", "1", "2", "VALUE:4" ], [ "4", "X", "1", "3", "VALUE:4" ], [ "4", "X", "1", "4", "VALUE:4" ], [ "4", "X", "1", "9", "VALUE:4" ], [ "X", "0", "1", "1", "VALUE:4" ], [ "X", "0", "1", "2", "VALUE:4" ], [ "X", "0", "1", "3", "VALUE:4" ], [ "X", "0", "1", "4", "VALUE:4" ], [ "X", "0", "1", "9", "VALUE:4" ], [ "X", "1", "1", "1", "VALUE:4" ], [ "X", "1", "1", "2", "VALUE:4" ], [ "X", "1", "1", "3", "VALUE:4" ], [ "X", "1", "1", "4", "VALUE:4" ], [ "X", "1", "1", "9", "VALUE:4" ], [ "X", "2", "1", "1", "VALUE:4" ], [ "X", "2", "1", "2", "VALUE:4" ], [ "X", "2", "1", "3", "VALUE:4" ], [ "X", "2", "1", "4", "VALUE:4" ], [ "X", "2", "1", "9", "VALUE:4" ], [ "X", "3", "1", "1", "VALUE:4" ], [ "X", "3", "1", "2", "VALUE:4" ], [ "X", "3", "1", "3", "VALUE:4" ], [ "X", "3", "1", "4", "VALUE:4" ], [ "X", "3", "1", "9", "VALUE:4" ], [ "X", "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "2", "VALUE:4" ], [ "X", "X", "1", "3", "VALUE:4" ], [ "X", "X", "1", "4", "VALUE:4" ], [ "X", "X", "1", "9", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_anaplastic_79873.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_anaplastic_79873.json deleted file mode 100644 index e4ba8cbf6..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_anaplastic_79873.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm_7_path_stage_thyroid_anaplastic_79873", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Thyroid Anaplastic", - "title" : "TNM 7 Path Stage-Thyroid: Anaplastic", - "last_modified" : "2018-05-14T21:29:05.959Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "4A", "0", "0", "VALUE:4A" ], [ "4A", "1A", "0", "VALUE:4A" ], [ "4A", "1B", "0", "VALUE:4A" ], [ "4A", "1", "0", "VALUE:4A" ], [ "4A", "X", "0", "VALUE:4A" ], [ "4B", "0", "0", "VALUE:4B" ], [ "4B", "1A", "0", "VALUE:4B" ], [ "4B", "1B", "0", "VALUE:4B" ], [ "4B", "1", "0", "VALUE:4B" ], [ "4B", "X", "0", "VALUE:4B" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1A", "0", "VALUE:4" ], [ "4", "1B", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "4A", "0", "1", "VALUE:4C" ], [ "4A", "1A", "1", "VALUE:4C" ], [ "4A", "1B", "1", "VALUE:4C" ], [ "4A", "1", "1", "VALUE:4C" ], [ "4A", "X", "1", "VALUE:4C" ], [ "4B", "0", "1", "VALUE:4C" ], [ "4B", "1A", "1", "VALUE:4C" ], [ "4B", "1B", "1", "VALUE:4C" ], [ "4B", "1", "1", "VALUE:4C" ], [ "4B", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1A", "1", "VALUE:4C" ], [ "4", "1B", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_medullary_77691.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_medullary_77691.json deleted file mode 100644 index 19f888267..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_medullary_77691.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm_7_path_stage_thyroid_medullary_77691", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Thyroid Medullary", - "title" : "TNM 7 Path Stage-Thyroid: Medullary", - "last_modified" : "2018-05-14T21:29:05.965Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1A", "0", "VALUE:99" ], [ "0", "1B", "0", "VALUE:4A" ], [ "0", "1", "0", "VALUE:99" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1A", "0", "VALUE:3" ], [ "1A", "1B", "0", "VALUE:4A" ], [ "1A", "1", "0", "VALUE:99" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1A", "0", "VALUE:3" ], [ "1B", "1B", "0", "VALUE:4A" ], [ "1B", "1", "0", "VALUE:99" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1A", "0", "VALUE:3" ], [ "1", "1B", "0", "VALUE:4A" ], [ "1", "1", "0", "VALUE:99" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1A", "0", "VALUE:3" ], [ "2", "1B", "0", "VALUE:4A" ], [ "2", "1", "0", "VALUE:99" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:2" ], [ "3", "1A", "0", "VALUE:3" ], [ "3", "1B", "0", "VALUE:4A" ], [ "3", "1", "0", "VALUE:99" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:4A" ], [ "4A", "1A", "0", "VALUE:4A" ], [ "4A", "1B", "0", "VALUE:4A" ], [ "4A", "1", "0", "VALUE:4A" ], [ "4A", "X", "0", "VALUE:4A" ], [ "4B", "0", "0", "VALUE:4B" ], [ "4B", "1A", "0", "VALUE:4B" ], [ "4B", "1B", "0", "VALUE:4B" ], [ "4B", "1", "0", "VALUE:4B" ], [ "4B", "X", "0", "VALUE:4B" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1A", "0", "VALUE:4" ], [ "4", "1B", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1A", "0", "VALUE:99" ], [ "X", "1B", "0", "VALUE:4" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4C" ], [ "0", "1A", "1", "VALUE:4C" ], [ "0", "1B", "1", "VALUE:4C" ], [ "0", "1", "1", "VALUE:4C" ], [ "0", "X", "1", "VALUE:4C" ], [ "1A", "0", "1", "VALUE:4C" ], [ "1A", "1A", "1", "VALUE:4C" ], [ "1A", "1B", "1", "VALUE:4C" ], [ "1A", "1", "1", "VALUE:4C" ], [ "1A", "X", "1", "VALUE:4C" ], [ "1B", "0", "1", "VALUE:4C" ], [ "1B", "1A", "1", "VALUE:4C" ], [ "1B", "1B", "1", "VALUE:4C" ], [ "1B", "1", "1", "VALUE:4C" ], [ "1B", "X", "1", "VALUE:4C" ], [ "1", "0", "1", "VALUE:4C" ], [ "1", "1A", "1", "VALUE:4C" ], [ "1", "1B", "1", "VALUE:4C" ], [ "1", "1", "1", "VALUE:4C" ], [ "1", "X", "1", "VALUE:4C" ], [ "2", "0", "1", "VALUE:4C" ], [ "2", "1A", "1", "VALUE:4C" ], [ "2", "1B", "1", "VALUE:4C" ], [ "2", "1", "1", "VALUE:4C" ], [ "2", "X", "1", "VALUE:4C" ], [ "3", "0", "1", "VALUE:4C" ], [ "3", "1A", "1", "VALUE:4C" ], [ "3", "1B", "1", "VALUE:4C" ], [ "3", "1", "1", "VALUE:4C" ], [ "3", "X", "1", "VALUE:4C" ], [ "4A", "0", "1", "VALUE:4C" ], [ "4A", "1A", "1", "VALUE:4C" ], [ "4A", "1B", "1", "VALUE:4C" ], [ "4A", "1", "1", "VALUE:4C" ], [ "4A", "X", "1", "VALUE:4C" ], [ "4B", "0", "1", "VALUE:4C" ], [ "4B", "1A", "1", "VALUE:4C" ], [ "4B", "1B", "1", "VALUE:4C" ], [ "4B", "1", "1", "VALUE:4C" ], [ "4B", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1A", "1", "VALUE:4C" ], [ "4", "1B", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "X", "0", "1", "VALUE:4C" ], [ "X", "1A", "1", "VALUE:4C" ], [ "X", "1B", "1", "VALUE:4C" ], [ "X", "1", "1", "VALUE:4C" ], [ "X", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_45_and_older_71342.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_45_and_older_71342.json deleted file mode 100644 index f077d585d..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_45_and_older_71342.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm_7_path_stage_thyroid_papillary_and_follicular_age_45_and_older_71342", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Thyroid Papillary and Follicular Age 45 and Older", - "title" : "TNM 7 Path Stage-Thyroid: Papillary and Follicular Age 45 and Older", - "last_modified" : "2018-05-14T21:29:05.997Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:99" ], [ "0", "1A", "0", "VALUE:99" ], [ "0", "1B", "0", "VALUE:4A" ], [ "0", "1", "0", "VALUE:99" ], [ "0", "X", "0", "VALUE:99" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1A", "0", "VALUE:3" ], [ "1A", "1B", "0", "VALUE:4A" ], [ "1A", "1", "0", "VALUE:99" ], [ "1A", "X", "0", "VALUE:99" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1A", "0", "VALUE:3" ], [ "1B", "1B", "0", "VALUE:4A" ], [ "1B", "1", "0", "VALUE:99" ], [ "1B", "X", "0", "VALUE:99" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1A", "0", "VALUE:3" ], [ "1", "1B", "0", "VALUE:4A" ], [ "1", "1", "0", "VALUE:99" ], [ "1", "X", "0", "VALUE:99" ], [ "2", "0", "0", "VALUE:2" ], [ "2", "1A", "0", "VALUE:3" ], [ "2", "1B", "0", "VALUE:4A" ], [ "2", "1", "0", "VALUE:99" ], [ "2", "X", "0", "VALUE:99" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1A", "0", "VALUE:3" ], [ "3", "1B", "0", "VALUE:4A" ], [ "3", "1", "0", "VALUE:99" ], [ "3", "X", "0", "VALUE:99" ], [ "4A", "0", "0", "VALUE:4A" ], [ "4A", "1A", "0", "VALUE:4A" ], [ "4A", "1B", "0", "VALUE:4A" ], [ "4A", "1", "0", "VALUE:4A" ], [ "4A", "X", "0", "VALUE:4A" ], [ "4B", "0", "0", "VALUE:4B" ], [ "4B", "1A", "0", "VALUE:4B" ], [ "4B", "1B", "0", "VALUE:4B" ], [ "4B", "1", "0", "VALUE:4B" ], [ "4B", "X", "0", "VALUE:4B" ], [ "4", "0", "0", "VALUE:4" ], [ "4", "1A", "0", "VALUE:4" ], [ "4", "1B", "0", "VALUE:4" ], [ "4", "1", "0", "VALUE:4" ], [ "4", "X", "0", "VALUE:4" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1A", "0", "VALUE:99" ], [ "X", "1B", "0", "VALUE:4" ], [ "X", "1", "0", "VALUE:99" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1", "VALUE:4C" ], [ "0", "1A", "1", "VALUE:4C" ], [ "0", "1B", "1", "VALUE:4C" ], [ "0", "1", "1", "VALUE:4C" ], [ "0", "X", "1", "VALUE:4C" ], [ "1A", "0", "1", "VALUE:4C" ], [ "1A", "1A", "1", "VALUE:4C" ], [ "1A", "1B", "1", "VALUE:4C" ], [ "1A", "1", "1", "VALUE:4C" ], [ "1A", "X", "1", "VALUE:4C" ], [ "1B", "0", "1", "VALUE:4C" ], [ "1B", "1A", "1", "VALUE:4C" ], [ "1B", "1B", "1", "VALUE:4C" ], [ "1B", "1", "1", "VALUE:4C" ], [ "1B", "X", "1", "VALUE:4C" ], [ "1", "0", "1", "VALUE:4C" ], [ "1", "1A", "1", "VALUE:4C" ], [ "1", "1B", "1", "VALUE:4C" ], [ "1", "1", "1", "VALUE:4C" ], [ "1", "X", "1", "VALUE:4C" ], [ "2", "0", "1", "VALUE:4C" ], [ "2", "1A", "1", "VALUE:4C" ], [ "2", "1B", "1", "VALUE:4C" ], [ "2", "1", "1", "VALUE:4C" ], [ "2", "X", "1", "VALUE:4C" ], [ "3", "0", "1", "VALUE:4C" ], [ "3", "1A", "1", "VALUE:4C" ], [ "3", "1B", "1", "VALUE:4C" ], [ "3", "1", "1", "VALUE:4C" ], [ "3", "X", "1", "VALUE:4C" ], [ "4A", "0", "1", "VALUE:4C" ], [ "4A", "1A", "1", "VALUE:4C" ], [ "4A", "1B", "1", "VALUE:4C" ], [ "4A", "1", "1", "VALUE:4C" ], [ "4A", "X", "1", "VALUE:4C" ], [ "4B", "0", "1", "VALUE:4C" ], [ "4B", "1A", "1", "VALUE:4C" ], [ "4B", "1B", "1", "VALUE:4C" ], [ "4B", "1", "1", "VALUE:4C" ], [ "4B", "X", "1", "VALUE:4C" ], [ "4", "0", "1", "VALUE:4C" ], [ "4", "1A", "1", "VALUE:4C" ], [ "4", "1B", "1", "VALUE:4C" ], [ "4", "1", "1", "VALUE:4C" ], [ "4", "X", "1", "VALUE:4C" ], [ "X", "0", "1", "VALUE:4C" ], [ "X", "1A", "1", "VALUE:4C" ], [ "X", "1B", "1", "VALUE:4C" ], [ "X", "1", "1", "VALUE:4C" ], [ "X", "X", "1", "VALUE:4C" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_less_than_45_95553.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_less_than_45_95553.json deleted file mode 100644 index 8681019ef..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_path_stage_thyroid_papillary_and_follicular_age_less_than_45_95553.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm_7_path_stage_thyroid_papillary_and_follicular_age_less_than_45_95553", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Path Stage Thyroid Papillary and Follicular Age less than 45", - "title" : "TNM 7 Path Stage Thyroid: Papillary and Follicular Age less than 45", - "last_modified" : "2018-05-14T21:29:06.008Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "VALUE:1" ], [ "0", "1A", "0", "VALUE:1" ], [ "0", "1B", "0", "VALUE:1" ], [ "0", "1", "0", "VALUE:1" ], [ "0", "X", "0", "VALUE:1" ], [ "1A", "0", "0", "VALUE:1" ], [ "1A", "1A", "0", "VALUE:1" ], [ "1A", "1B", "0", "VALUE:1" ], [ "1A", "1", "0", "VALUE:1" ], [ "1A", "X", "0", "VALUE:1" ], [ "1B", "0", "0", "VALUE:1" ], [ "1B", "1A", "0", "VALUE:1" ], [ "1B", "1B", "0", "VALUE:1" ], [ "1B", "1", "0", "VALUE:1" ], [ "1B", "X", "0", "VALUE:1" ], [ "1", "0", "0", "VALUE:1" ], [ "1", "1A", "0", "VALUE:1" ], [ "1", "1B", "0", "VALUE:1" ], [ "1", "1", "0", "VALUE:1" ], [ "1", "X", "0", "VALUE:1" ], [ "2", "0", "0", "VALUE:1" ], [ "2", "1A", "0", "VALUE:1" ], [ "2", "1B", "0", "VALUE:1" ], [ "2", "1", "0", "VALUE:1" ], [ "2", "X", "0", "VALUE:1" ], [ "3", "0", "0", "VALUE:1" ], [ "3", "1A", "0", "VALUE:1" ], [ "3", "1B", "0", "VALUE:1" ], [ "3", "1", "0", "VALUE:1" ], [ "3", "X", "0", "VALUE:1" ], [ "4A", "0", "0", "VALUE:1" ], [ "4A", "1A", "0", "VALUE:1" ], [ "4A", "1B", "0", "VALUE:1" ], [ "4A", "1", "0", "VALUE:1" ], [ "4A", "X", "0", "VALUE:1" ], [ "4B", "0", "0", "VALUE:1" ], [ "4B", "1A", "0", "VALUE:1" ], [ "4B", "1B", "0", "VALUE:1" ], [ "4B", "1", "0", "VALUE:1" ], [ "4B", "X", "0", "VALUE:1" ], [ "4", "0", "0", "VALUE:1" ], [ "4", "1A", "0", "VALUE:1" ], [ "4", "1B", "0", "VALUE:1" ], [ "4", "1", "0", "VALUE:1" ], [ "4", "X", "0", "VALUE:1" ], [ "X", "0", "0", "VALUE:1" ], [ "X", "1A", "0", "VALUE:1" ], [ "X", "1B", "0", "VALUE:1" ], [ "X", "1", "0", "VALUE:1" ], [ "X", "X", "0", "VALUE:1" ], [ "0", "0", "1", "VALUE:2" ], [ "0", "1A", "1", "VALUE:2" ], [ "0", "1B", "1", "VALUE:2" ], [ "0", "1", "1", "VALUE:2" ], [ "0", "X", "1", "VALUE:2" ], [ "1A", "0", "1", "VALUE:2" ], [ "1A", "1A", "1", "VALUE:2" ], [ "1A", "1B", "1", "VALUE:2" ], [ "1A", "1", "1", "VALUE:2" ], [ "1A", "X", "1", "VALUE:2" ], [ "1B", "0", "1", "VALUE:2" ], [ "1B", "1A", "1", "VALUE:2" ], [ "1B", "1B", "1", "VALUE:2" ], [ "1B", "1", "1", "VALUE:2" ], [ "1B", "X", "1", "VALUE:2" ], [ "1", "0", "1", "VALUE:2" ], [ "1", "1A", "1", "VALUE:2" ], [ "1", "1B", "1", "VALUE:2" ], [ "1", "1", "1", "VALUE:2" ], [ "1", "X", "1", "VALUE:2" ], [ "2", "0", "1", "VALUE:2" ], [ "2", "1A", "1", "VALUE:2" ], [ "2", "1B", "1", "VALUE:2" ], [ "2", "1", "1", "VALUE:2" ], [ "2", "X", "1", "VALUE:2" ], [ "3", "0", "1", "VALUE:2" ], [ "3", "1A", "1", "VALUE:2" ], [ "3", "1B", "1", "VALUE:2" ], [ "3", "1", "1", "VALUE:2" ], [ "3", "X", "1", "VALUE:2" ], [ "4A", "0", "1", "VALUE:2" ], [ "4A", "1A", "1", "VALUE:2" ], [ "4A", "1B", "1", "VALUE:2" ], [ "4A", "1", "1", "VALUE:2" ], [ "4A", "X", "1", "VALUE:2" ], [ "4B", "0", "1", "VALUE:2" ], [ "4B", "1A", "1", "VALUE:2" ], [ "4B", "1B", "1", "VALUE:2" ], [ "4B", "1", "1", "VALUE:2" ], [ "4B", "X", "1", "VALUE:2" ], [ "4", "0", "1", "VALUE:2" ], [ "4", "1A", "1", "VALUE:2" ], [ "4", "1B", "1", "VALUE:2" ], [ "4", "1", "1", "VALUE:2" ], [ "4", "X", "1", "VALUE:2" ], [ "X", "0", "1", "VALUE:2" ], [ "X", "1A", "1", "VALUE:2" ], [ "X", "1B", "1", "VALUE:2" ], [ "X", "1", "1", "VALUE:2" ], [ "X", "X", "1", "VALUE:2" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_44054.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_44054.json deleted file mode 100644 index dfbb564d0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_44054.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm_7_stage_adenocarcinoma_44054", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Adenocarcinoma", - "title" : "TNM 7 Stage Adenocarcinoma", - "last_modified" : "2018-05-14T21:29:04.259Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "1", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "2", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "3", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "4", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "9", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "1", "VALUE:99" ], [ "0", "1", "0", "2", "VALUE:99" ], [ "0", "1", "0", "3", "VALUE:99" ], [ "0", "1", "0", "4", "VALUE:99" ], [ "0", "1", "0", "9", "VALUE:99" ], [ "0", "2", "0", "1", "VALUE:3" ], [ "0", "2", "0", "2", "VALUE:3" ], [ "0", "2", "0", "3", "VALUE:3" ], [ "0", "2", "0", "4", "VALUE:3" ], [ "0", "2", "0", "9", "VALUE:3" ], [ "0", "3", "0", "1", "VALUE:3C" ], [ "0", "3", "0", "2", "VALUE:3C" ], [ "0", "3", "0", "3", "VALUE:3C" ], [ "0", "3", "0", "4", "VALUE:3C" ], [ "0", "3", "0", "9", "VALUE:3C" ], [ "0", "X", "0", "1", "VALUE:99" ], [ "0", "X", "0", "2", "VALUE:99" ], [ "0", "X", "0", "3", "VALUE:99" ], [ "0", "X", "0", "4", "VALUE:99" ], [ "0", "X", "0", "9", "VALUE:99" ], [ "IS", "0", "0", "1", "VALUE:0" ], [ "IS", "0", "0", "2", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "0", "0", "3", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "0", "0", "4", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "0", "0", "9", "VALUE:0" ], [ "IS", "1", "0", "1", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "2", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "3", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "4", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "9", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "1", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "2", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "3", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "4", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "9", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "1", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "2", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "3", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "4", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "9", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "X", "0", "1", "VALUE:0" ], [ "IS", "X", "0", "2", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "X", "0", "3", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "X", "0", "4", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "X", "0", "9", "VALUE:0" ], [ "1A", "0", "0", "1", "VALUE:1A" ], [ "1A", "0", "0", "2", "VALUE:1A" ], [ "1A", "0", "0", "3", "VALUE:1B" ], [ "1A", "0", "0", "4", "VALUE:1B" ], [ "1A", "0", "0", "9", "VALUE:1A" ], [ "1A", "1", "0", "1", "VALUE:2B" ], [ "1A", "1", "0", "2", "VALUE:2B" ], [ "1A", "1", "0", "3", "VALUE:2B" ], [ "1A", "1", "0", "4", "VALUE:2B" ], [ "1A", "1", "0", "9", "VALUE:2B" ], [ "1A", "2", "0", "1", "VALUE:3A" ], [ "1A", "2", "0", "2", "VALUE:3A" ], [ "1A", "2", "0", "3", "VALUE:3A" ], [ "1A", "2", "0", "4", "VALUE:3A" ], [ "1A", "2", "0", "9", "VALUE:3A" ], [ "1A", "3", "0", "1", "VALUE:3C" ], [ "1A", "3", "0", "2", "VALUE:3C" ], [ "1A", "3", "0", "3", "VALUE:3C" ], [ "1A", "3", "0", "4", "VALUE:3C" ], [ "1A", "3", "0", "9", "VALUE:3C" ], [ "1A", "X", "0", "1", "VALUE:99" ], [ "1A", "X", "0", "2", "VALUE:99" ], [ "1A", "X", "0", "3", "VALUE:99" ], [ "1A", "X", "0", "4", "VALUE:99" ], [ "1A", "X", "0", "9", "VALUE:99" ], [ "1B", "0", "0", "1", "VALUE:1A" ], [ "1B", "0", "0", "2", "VALUE:1A" ], [ "1B", "0", "0", "3", "VALUE:1B" ], [ "1B", "0", "0", "4", "VALUE:1B" ], [ "1B", "0", "0", "9", "VALUE:1A" ], [ "1B", "1", "0", "1", "VALUE:2B" ], [ "1B", "1", "0", "2", "VALUE:2B" ], [ "1B", "1", "0", "3", "VALUE:2B" ], [ "1B", "1", "0", "4", "VALUE:2B" ], [ "1B", "1", "0", "9", "VALUE:2B" ], [ "1B", "2", "0", "1", "VALUE:3A" ], [ "1B", "2", "0", "2", "VALUE:3A" ], [ "1B", "2", "0", "3", "VALUE:3A" ], [ "1B", "2", "0", "4", "VALUE:3A" ], [ "1B", "2", "0", "9", "VALUE:3A" ], [ "1B", "3", "0", "1", "VALUE:3C" ], [ "1B", "3", "0", "2", "VALUE:3C" ], [ "1B", "3", "0", "3", "VALUE:3C" ], [ "1B", "3", "0", "4", "VALUE:3C" ], [ "1B", "3", "0", "9", "VALUE:3C" ], [ "1B", "X", "0", "1", "VALUE:99" ], [ "1B", "X", "0", "2", "VALUE:99" ], [ "1B", "X", "0", "3", "VALUE:99" ], [ "1B", "X", "0", "4", "VALUE:99" ], [ "1B", "X", "0", "9", "VALUE:99" ], [ "1", "0", "0", "1", "VALUE:1A" ], [ "1", "0", "0", "2", "VALUE:1A" ], [ "1", "0", "0", "3", "VALUE:1B" ], [ "1", "0", "0", "4", "VALUE:1B" ], [ "1", "0", "0", "9", "VALUE:1A" ], [ "1", "1", "0", "1", "VALUE:2B" ], [ "1", "1", "0", "2", "VALUE:2B" ], [ "1", "1", "0", "3", "VALUE:2B" ], [ "1", "1", "0", "4", "VALUE:2B" ], [ "1", "1", "0", "9", "VALUE:2B" ], [ "1", "2", "0", "1", "VALUE:3A" ], [ "1", "2", "0", "2", "VALUE:3A" ], [ "1", "2", "0", "3", "VALUE:3A" ], [ "1", "2", "0", "4", "VALUE:3A" ], [ "1", "2", "0", "9", "VALUE:3A" ], [ "1", "3", "0", "1", "VALUE:3C" ], [ "1", "3", "0", "2", "VALUE:3C" ], [ "1", "3", "0", "3", "VALUE:3C" ], [ "1", "3", "0", "4", "VALUE:3C" ], [ "1", "3", "0", "9", "VALUE:3C" ], [ "1", "X", "0", "1", "VALUE:99" ], [ "1", "X", "0", "2", "VALUE:99" ], [ "1", "X", "0", "3", "VALUE:99" ], [ "1", "X", "0", "4", "VALUE:99" ], [ "1", "X", "0", "9", "VALUE:99" ], [ "2", "0", "0", "1", "VALUE:1B" ], [ "2", "0", "0", "2", "VALUE:1B" ], [ "2", "0", "0", "3", "VALUE:2A" ], [ "2", "0", "0", "4", "VALUE:2A" ], [ "2", "0", "0", "9", "VALUE:1B" ], [ "2", "1", "0", "1", "VALUE:2B" ], [ "2", "1", "0", "2", "VALUE:2B" ], [ "2", "1", "0", "3", "VALUE:2B" ], [ "2", "1", "0", "4", "VALUE:2B" ], [ "2", "1", "0", "9", "VALUE:2B" ], [ "2", "2", "0", "1", "VALUE:3A" ], [ "2", "2", "0", "2", "VALUE:3A" ], [ "2", "2", "0", "3", "VALUE:3A" ], [ "2", "2", "0", "4", "VALUE:3A" ], [ "2", "2", "0", "9", "VALUE:3A" ], [ "2", "3", "0", "1", "VALUE:3C" ], [ "2", "3", "0", "2", "VALUE:3C" ], [ "2", "3", "0", "3", "VALUE:3C" ], [ "2", "3", "0", "4", "VALUE:3C" ], [ "2", "3", "0", "9", "VALUE:3C" ], [ "2", "X", "0", "1", "VALUE:99" ], [ "2", "X", "0", "2", "VALUE:99" ], [ "2", "X", "0", "3", "VALUE:99" ], [ "2", "X", "0", "4", "VALUE:99" ], [ "2", "X", "0", "9", "VALUE:99" ], [ "3", "0", "0", "1", "VALUE:2B" ], [ "3", "0", "0", "2", "VALUE:2B" ], [ "3", "0", "0", "3", "VALUE:2B" ], [ "3", "0", "0", "4", "VALUE:2B" ], [ "3", "0", "0", "9", "VALUE:2B" ], [ "3", "1", "0", "1", "VALUE:3A" ], [ "3", "1", "0", "2", "VALUE:3A" ], [ "3", "1", "0", "3", "VALUE:3A" ], [ "3", "1", "0", "4", "VALUE:3A" ], [ "3", "1", "0", "9", "VALUE:3A" ], [ "3", "2", "0", "1", "VALUE:3B" ], [ "3", "2", "0", "2", "VALUE:3B" ], [ "3", "2", "0", "3", "VALUE:3B" ], [ "3", "2", "0", "4", "VALUE:3B" ], [ "3", "2", "0", "9", "VALUE:3B" ], [ "3", "3", "0", "1", "VALUE:3C" ], [ "3", "3", "0", "2", "VALUE:3C" ], [ "3", "3", "0", "3", "VALUE:3C" ], [ "3", "3", "0", "4", "VALUE:3C" ], [ "3", "3", "0", "9", "VALUE:3C" ], [ "3", "X", "0", "1", "VALUE:99" ], [ "3", "X", "0", "2", "VALUE:99" ], [ "3", "X", "0", "3", "VALUE:99" ], [ "3", "X", "0", "4", "VALUE:99" ], [ "3", "X", "0", "9", "VALUE:99" ], [ "4A", "0", "0", "1", "VALUE:3A" ], [ "4A", "0", "0", "2", "VALUE:3A" ], [ "4A", "0", "0", "3", "VALUE:3A" ], [ "4A", "0", "0", "4", "VALUE:3A" ], [ "4A", "0", "0", "9", "VALUE:3A" ], [ "4A", "1", "0", "1", "VALUE:3C" ], [ "4A", "1", "0", "2", "VALUE:3C" ], [ "4A", "1", "0", "3", "VALUE:3C" ], [ "4A", "1", "0", "4", "VALUE:3C" ], [ "4A", "1", "0", "9", "VALUE:3C" ], [ "4A", "2", "0", "1", "VALUE:3C" ], [ "4A", "2", "0", "2", "VALUE:3C" ], [ "4A", "2", "0", "3", "VALUE:3C" ], [ "4A", "2", "0", "4", "VALUE:3C" ], [ "4A", "2", "0", "9", "VALUE:3C" ], [ "4A", "3", "0", "1", "VALUE:3C" ], [ "4A", "3", "0", "2", "VALUE:3C" ], [ "4A", "3", "0", "3", "VALUE:3C" ], [ "4A", "3", "0", "4", "VALUE:3C" ], [ "4A", "3", "0", "9", "VALUE:3C" ], [ "4A", "X", "0", "1", "VALUE:3" ], [ "4A", "X", "0", "2", "VALUE:3" ], [ "4A", "X", "0", "3", "VALUE:3" ], [ "4A", "X", "0", "4", "VALUE:3" ], [ "4A", "X", "0", "9", "VALUE:3" ], [ "4B", "0", "0", "1", "VALUE:3C" ], [ "4B", "0", "0", "2", "VALUE:3C" ], [ "4B", "0", "0", "3", "VALUE:3C" ], [ "4B", "0", "0", "4", "VALUE:3C" ], [ "4B", "0", "0", "9", "VALUE:3C" ], [ "4B", "1", "0", "1", "VALUE:3C" ], [ "4B", "1", "0", "2", "VALUE:3C" ], [ "4B", "1", "0", "3", "VALUE:3C" ], [ "4B", "1", "0", "4", "VALUE:3C" ], [ "4B", "1", "0", "9", "VALUE:3C" ], [ "4B", "2", "0", "1", "VALUE:3C" ], [ "4B", "2", "0", "2", "VALUE:3C" ], [ "4B", "2", "0", "3", "VALUE:3C" ], [ "4B", "2", "0", "4", "VALUE:3C" ], [ "4B", "2", "0", "9", "VALUE:3C" ], [ "4B", "3", "0", "1", "VALUE:3C" ], [ "4B", "3", "0", "2", "VALUE:3C" ], [ "4B", "3", "0", "3", "VALUE:3C" ], [ "4B", "3", "0", "4", "VALUE:3C" ], [ "4B", "3", "0", "9", "VALUE:3C" ], [ "4B", "X", "0", "1", "VALUE:3C" ], [ "4B", "X", "0", "2", "VALUE:3C" ], [ "4B", "X", "0", "3", "VALUE:3C" ], [ "4B", "X", "0", "4", "VALUE:3C" ], [ "4B", "X", "0", "9", "VALUE:3C" ], [ "4", "0", "0", "1", "VALUE:3A" ], [ "4", "0", "0", "2", "VALUE:3A" ], [ "4", "0", "0", "3", "VALUE:3A" ], [ "4", "0", "0", "4", "VALUE:3A" ], [ "4", "0", "0", "9", "VALUE:3A" ], [ "4", "1", "0", "1", "VALUE:3C" ], [ "4", "1", "0", "2", "VALUE:3C" ], [ "4", "1", "0", "3", "VALUE:3C" ], [ "4", "1", "0", "4", "VALUE:3C" ], [ "4", "1", "0", "9", "VALUE:3C" ], [ "4", "2", "0", "1", "VALUE:3C" ], [ "4", "2", "0", "2", "VALUE:3C" ], [ "4", "2", "0", "3", "VALUE:3C" ], [ "4", "2", "0", "4", "VALUE:3C" ], [ "4", "2", "0", "9", "VALUE:3C" ], [ "4", "3", "0", "1", "VALUE:3C" ], [ "4", "3", "0", "2", "VALUE:3C" ], [ "4", "3", "0", "3", "VALUE:3C" ], [ "4", "3", "0", "4", "VALUE:3C" ], [ "4", "3", "0", "9", "VALUE:3C" ], [ "4", "X", "0", "1", "VALUE:3" ], [ "4", "X", "0", "2", "VALUE:3" ], [ "4", "X", "0", "3", "VALUE:3" ], [ "4", "X", "0", "4", "VALUE:3" ], [ "4", "X", "0", "9", "VALUE:3" ], [ "X", "0", "0", "1", "VALUE:99" ], [ "X", "0", "0", "2", "VALUE:99" ], [ "X", "0", "0", "3", "VALUE:99" ], [ "X", "0", "0", "4", "VALUE:99" ], [ "X", "0", "0", "9", "VALUE:99" ], [ "X", "1", "0", "1", "VALUE:99" ], [ "X", "1", "0", "2", "VALUE:99" ], [ "X", "1", "0", "3", "VALUE:99" ], [ "X", "1", "0", "4", "VALUE:99" ], [ "X", "1", "0", "9", "VALUE:99" ], [ "X", "2", "0", "1", "VALUE:3" ], [ "X", "2", "0", "2", "VALUE:3" ], [ "X", "2", "0", "3", "VALUE:3" ], [ "X", "2", "0", "4", "VALUE:3" ], [ "X", "2", "0", "9", "VALUE:3" ], [ "X", "3", "0", "1", "VALUE:3C" ], [ "X", "3", "0", "2", "VALUE:3C" ], [ "X", "3", "0", "3", "VALUE:3C" ], [ "X", "3", "0", "4", "VALUE:3C" ], [ "X", "3", "0", "9", "VALUE:3C" ], [ "X", "X", "0", "1", "VALUE:99" ], [ "X", "X", "0", "2", "VALUE:99" ], [ "X", "X", "0", "3", "VALUE:99" ], [ "X", "X", "0", "4", "VALUE:99" ], [ "X", "X", "0", "9", "VALUE:99" ], [ "0", "0", "1", "1", "VALUE:4" ], [ "0", "0", "1", "2", "VALUE:4" ], [ "0", "0", "1", "3", "VALUE:4" ], [ "0", "0", "1", "4", "VALUE:4" ], [ "0", "0", "1", "9", "VALUE:4" ], [ "0", "1", "1", "1", "VALUE:4" ], [ "0", "1", "1", "2", "VALUE:4" ], [ "0", "1", "1", "3", "VALUE:4" ], [ "0", "1", "1", "4", "VALUE:4" ], [ "0", "1", "1", "9", "VALUE:4" ], [ "0", "2", "1", "1", "VALUE:4" ], [ "0", "2", "1", "2", "VALUE:4" ], [ "0", "2", "1", "3", "VALUE:4" ], [ "0", "2", "1", "4", "VALUE:4" ], [ "0", "2", "1", "9", "VALUE:4" ], [ "0", "3", "1", "1", "VALUE:4" ], [ "0", "3", "1", "2", "VALUE:4" ], [ "0", "3", "1", "3", "VALUE:4" ], [ "0", "3", "1", "4", "VALUE:4" ], [ "0", "3", "1", "9", "VALUE:4" ], [ "0", "X", "1", "1", "VALUE:4" ], [ "0", "X", "1", "2", "VALUE:4" ], [ "0", "X", "1", "3", "VALUE:4" ], [ "0", "X", "1", "4", "VALUE:4" ], [ "0", "X", "1", "9", "VALUE:4" ], [ "IS", "0", "1", "1", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "2", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "3", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "4", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "9", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "1", "1", "1", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "2", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "3", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "4", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "9", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "1", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "2", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "3", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "4", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "9", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "1", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "2", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "3", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "4", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "9", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "X", "1", "1", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "2", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "3", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "4", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "9", "ERROR:Clinical Tis and M > 0 not expected" ], [ "1A", "0", "1", "1", "VALUE:4" ], [ "1A", "0", "1", "2", "VALUE:4" ], [ "1A", "0", "1", "3", "VALUE:4" ], [ "1A", "0", "1", "4", "VALUE:4" ], [ "1A", "0", "1", "9", "VALUE:4" ], [ "1A", "1", "1", "1", "VALUE:4" ], [ "1A", "1", "1", "2", "VALUE:4" ], [ "1A", "1", "1", "3", "VALUE:4" ], [ "1A", "1", "1", "4", "VALUE:4" ], [ "1A", "1", "1", "9", "VALUE:4" ], [ "1A", "2", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "2", "VALUE:4" ], [ "1A", "2", "1", "3", "VALUE:4" ], [ "1A", "2", "1", "4", "VALUE:4" ], [ "1A", "2", "1", "9", "VALUE:4" ], [ "1A", "3", "1", "1", "VALUE:4" ], [ "1A", "3", "1", "2", "VALUE:4" ], [ "1A", "3", "1", "3", "VALUE:4" ], [ "1A", "3", "1", "4", "VALUE:4" ], [ "1A", "3", "1", "9", "VALUE:4" ], [ "1A", "X", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "2", "VALUE:4" ], [ "1A", "X", "1", "3", "VALUE:4" ], [ "1A", "X", "1", "4", "VALUE:4" ], [ "1A", "X", "1", "9", "VALUE:4" ], [ "1B", "0", "1", "1", "VALUE:4" ], [ "1B", "0", "1", "2", "VALUE:4" ], [ "1B", "0", "1", "3", "VALUE:4" ], [ "1B", "0", "1", "4", "VALUE:4" ], [ "1B", "0", "1", "9", "VALUE:4" ], [ "1B", "1", "1", "1", "VALUE:4" ], [ "1B", "1", "1", "2", "VALUE:4" ], [ "1B", "1", "1", "3", "VALUE:4" ], [ "1B", "1", "1", "4", "VALUE:4" ], [ "1B", "1", "1", "9", "VALUE:4" ], [ "1B", "2", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "2", "VALUE:4" ], [ "1B", "2", "1", "3", "VALUE:4" ], [ "1B", "2", "1", "4", "VALUE:4" ], [ "1B", "2", "1", "9", "VALUE:4" ], [ "1B", "3", "1", "1", "VALUE:4" ], [ "1B", "3", "1", "2", "VALUE:4" ], [ "1B", "3", "1", "3", "VALUE:4" ], [ "1B", "3", "1", "4", "VALUE:4" ], [ "1B", "3", "1", "9", "VALUE:4" ], [ "1B", "X", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "2", "VALUE:4" ], [ "1B", "X", "1", "3", "VALUE:4" ], [ "1B", "X", "1", "4", "VALUE:4" ], [ "1B", "X", "1", "9", "VALUE:4" ], [ "1", "0", "1", "1", "VALUE:4" ], [ "1", "0", "1", "2", "VALUE:4" ], [ "1", "0", "1", "3", "VALUE:4" ], [ "1", "0", "1", "4", "VALUE:4" ], [ "1", "0", "1", "9", "VALUE:4" ], [ "1", "1", "1", "1", "VALUE:4" ], [ "1", "1", "1", "2", "VALUE:4" ], [ "1", "1", "1", "3", "VALUE:4" ], [ "1", "1", "1", "4", "VALUE:4" ], [ "1", "1", "1", "9", "VALUE:4" ], [ "1", "2", "1", "1", "VALUE:4" ], [ "1", "2", "1", "2", "VALUE:4" ], [ "1", "2", "1", "3", "VALUE:4" ], [ "1", "2", "1", "4", "VALUE:4" ], [ "1", "2", "1", "9", "VALUE:4" ], [ "1", "3", "1", "1", "VALUE:4" ], [ "1", "3", "1", "2", "VALUE:4" ], [ "1", "3", "1", "3", "VALUE:4" ], [ "1", "3", "1", "4", "VALUE:4" ], [ "1", "3", "1", "9", "VALUE:4" ], [ "1", "X", "1", "1", "VALUE:4" ], [ "1", "X", "1", "2", "VALUE:4" ], [ "1", "X", "1", "3", "VALUE:4" ], [ "1", "X", "1", "4", "VALUE:4" ], [ "1", "X", "1", "9", "VALUE:4" ], [ "2", "0", "1", "1", "VALUE:4" ], [ "2", "0", "1", "2", "VALUE:4" ], [ "2", "0", "1", "3", "VALUE:4" ], [ "2", "0", "1", "4", "VALUE:4" ], [ "2", "0", "1", "9", "VALUE:4" ], [ "2", "1", "1", "1", "VALUE:4" ], [ "2", "1", "1", "2", "VALUE:4" ], [ "2", "1", "1", "3", "VALUE:4" ], [ "2", "1", "1", "4", "VALUE:4" ], [ "2", "1", "1", "9", "VALUE:4" ], [ "2", "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "2", "VALUE:4" ], [ "2", "2", "1", "3", "VALUE:4" ], [ "2", "2", "1", "4", "VALUE:4" ], [ "2", "2", "1", "9", "VALUE:4" ], [ "2", "3", "1", "1", "VALUE:4" ], [ "2", "3", "1", "2", "VALUE:4" ], [ "2", "3", "1", "3", "VALUE:4" ], [ "2", "3", "1", "4", "VALUE:4" ], [ "2", "3", "1", "9", "VALUE:4" ], [ "2", "X", "1", "1", "VALUE:4" ], [ "2", "X", "1", "2", "VALUE:4" ], [ "2", "X", "1", "3", "VALUE:4" ], [ "2", "X", "1", "4", "VALUE:4" ], [ "2", "X", "1", "9", "VALUE:4" ], [ "3", "0", "1", "1", "VALUE:4" ], [ "3", "0", "1", "2", "VALUE:4" ], [ "3", "0", "1", "3", "VALUE:4" ], [ "3", "0", "1", "4", "VALUE:4" ], [ "3", "0", "1", "9", "VALUE:4" ], [ "3", "1", "1", "1", "VALUE:4" ], [ "3", "1", "1", "2", "VALUE:4" ], [ "3", "1", "1", "3", "VALUE:4" ], [ "3", "1", "1", "4", "VALUE:4" ], [ "3", "1", "1", "9", "VALUE:4" ], [ "3", "2", "1", "1", "VALUE:4" ], [ "3", "2", "1", "2", "VALUE:4" ], [ "3", "2", "1", "3", "VALUE:4" ], [ "3", "2", "1", "4", "VALUE:4" ], [ "3", "2", "1", "9", "VALUE:4" ], [ "3", "3", "1", "1", "VALUE:4" ], [ "3", "3", "1", "2", "VALUE:4" ], [ "3", "3", "1", "3", "VALUE:4" ], [ "3", "3", "1", "4", "VALUE:4" ], [ "3", "3", "1", "9", "VALUE:4" ], [ "3", "X", "1", "1", "VALUE:4" ], [ "3", "X", "1", "2", "VALUE:4" ], [ "3", "X", "1", "3", "VALUE:4" ], [ "3", "X", "1", "4", "VALUE:4" ], [ "3", "X", "1", "9", "VALUE:4" ], [ "4A", "0", "1", "1", "VALUE:4" ], [ "4A", "0", "1", "2", "VALUE:4" ], [ "4A", "0", "1", "3", "VALUE:4" ], [ "4A", "0", "1", "4", "VALUE:4" ], [ "4A", "0", "1", "9", "VALUE:4" ], [ "4A", "1", "1", "1", "VALUE:4" ], [ "4A", "1", "1", "2", "VALUE:4" ], [ "4A", "1", "1", "3", "VALUE:4" ], [ "4A", "1", "1", "4", "VALUE:4" ], [ "4A", "1", "1", "9", "VALUE:4" ], [ "4A", "2", "1", "1", "VALUE:4" ], [ "4A", "2", "1", "2", "VALUE:4" ], [ "4A", "2", "1", "3", "VALUE:4" ], [ "4A", "2", "1", "4", "VALUE:4" ], [ "4A", "2", "1", "9", "VALUE:4" ], [ "4A", "3", "1", "1", "VALUE:4" ], [ "4A", "3", "1", "2", "VALUE:4" ], [ "4A", "3", "1", "3", "VALUE:4" ], [ "4A", "3", "1", "4", "VALUE:4" ], [ "4A", "3", "1", "9", "VALUE:4" ], [ "4A", "X", "1", "1", "VALUE:4" ], [ "4A", "X", "1", "2", "VALUE:4" ], [ "4A", "X", "1", "3", "VALUE:4" ], [ "4A", "X", "1", "4", "VALUE:4" ], [ "4A", "X", "1", "9", "VALUE:4" ], [ "4B", "0", "1", "1", "VALUE:4" ], [ "4B", "0", "1", "2", "VALUE:4" ], [ "4B", "0", "1", "3", "VALUE:4" ], [ "4B", "0", "1", "4", "VALUE:4" ], [ "4B", "0", "1", "9", "VALUE:4" ], [ "4B", "1", "1", "1", "VALUE:4" ], [ "4B", "1", "1", "2", "VALUE:4" ], [ "4B", "1", "1", "3", "VALUE:4" ], [ "4B", "1", "1", "4", "VALUE:4" ], [ "4B", "1", "1", "9", "VALUE:4" ], [ "4B", "2", "1", "1", "VALUE:4" ], [ "4B", "2", "1", "2", "VALUE:4" ], [ "4B", "2", "1", "3", "VALUE:4" ], [ "4B", "2", "1", "4", "VALUE:4" ], [ "4B", "2", "1", "9", "VALUE:4" ], [ "4B", "3", "1", "1", "VALUE:4" ], [ "4B", "3", "1", "2", "VALUE:4" ], [ "4B", "3", "1", "3", "VALUE:4" ], [ "4B", "3", "1", "4", "VALUE:4" ], [ "4B", "3", "1", "9", "VALUE:4" ], [ "4B", "X", "1", "1", "VALUE:4" ], [ "4B", "X", "1", "2", "VALUE:4" ], [ "4B", "X", "1", "3", "VALUE:4" ], [ "4B", "X", "1", "4", "VALUE:4" ], [ "4B", "X", "1", "9", "VALUE:4" ], [ "4", "0", "1", "1", "VALUE:4" ], [ "4", "0", "1", "2", "VALUE:4" ], [ "4", "0", "1", "3", "VALUE:4" ], [ "4", "0", "1", "4", "VALUE:4" ], [ "4", "0", "1", "9", "VALUE:4" ], [ "4", "1", "1", "1", "VALUE:4" ], [ "4", "1", "1", "2", "VALUE:4" ], [ "4", "1", "1", "3", "VALUE:4" ], [ "4", "1", "1", "4", "VALUE:4" ], [ "4", "1", "1", "9", "VALUE:4" ], [ "4", "2", "1", "1", "VALUE:4" ], [ "4", "2", "1", "2", "VALUE:4" ], [ "4", "2", "1", "3", "VALUE:4" ], [ "4", "2", "1", "4", "VALUE:4" ], [ "4", "2", "1", "9", "VALUE:4" ], [ "4", "3", "1", "1", "VALUE:4" ], [ "4", "3", "1", "2", "VALUE:4" ], [ "4", "3", "1", "3", "VALUE:4" ], [ "4", "3", "1", "4", "VALUE:4" ], [ "4", "3", "1", "9", "VALUE:4" ], [ "4", "X", "1", "1", "VALUE:4" ], [ "4", "X", "1", "2", "VALUE:4" ], [ "4", "X", "1", "3", "VALUE:4" ], [ "4", "X", "1", "4", "VALUE:4" ], [ "4", "X", "1", "9", "VALUE:4" ], [ "X", "0", "1", "1", "VALUE:4" ], [ "X", "0", "1", "2", "VALUE:4" ], [ "X", "0", "1", "3", "VALUE:4" ], [ "X", "0", "1", "4", "VALUE:4" ], [ "X", "0", "1", "9", "VALUE:4" ], [ "X", "1", "1", "1", "VALUE:4" ], [ "X", "1", "1", "2", "VALUE:4" ], [ "X", "1", "1", "3", "VALUE:4" ], [ "X", "1", "1", "4", "VALUE:4" ], [ "X", "1", "1", "9", "VALUE:4" ], [ "X", "2", "1", "1", "VALUE:4" ], [ "X", "2", "1", "2", "VALUE:4" ], [ "X", "2", "1", "3", "VALUE:4" ], [ "X", "2", "1", "4", "VALUE:4" ], [ "X", "2", "1", "9", "VALUE:4" ], [ "X", "3", "1", "1", "VALUE:4" ], [ "X", "3", "1", "2", "VALUE:4" ], [ "X", "3", "1", "3", "VALUE:4" ], [ "X", "3", "1", "4", "VALUE:4" ], [ "X", "3", "1", "9", "VALUE:4" ], [ "X", "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "2", "VALUE:4" ], [ "X", "X", "1", "3", "VALUE:4" ], [ "X", "X", "1", "4", "VALUE:4" ], [ "X", "X", "1", "9", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_86531.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_86531.json deleted file mode 100644 index b42e495a1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_adenocarcinoma_86531.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm_7_stage_adenocarcinoma_86531", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Adenocarcinoma", - "title" : "TNM 7 Stage Adenocarcinoma", - "last_modified" : "2018-05-14T21:29:04.727Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "1", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "2", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "3", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "4", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "9", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "1", "VALUE:2B" ], [ "0", "1", "0", "2", "VALUE:2B" ], [ "0", "1", "0", "3", "VALUE:2B" ], [ "0", "1", "0", "4", "VALUE:2B" ], [ "0", "1", "0", "9", "VALUE:2B" ], [ "0", "2", "0", "1", "VALUE:3A" ], [ "0", "2", "0", "2", "VALUE:3A" ], [ "0", "2", "0", "3", "VALUE:3A" ], [ "0", "2", "0", "4", "VALUE:3A" ], [ "0", "2", "0", "9", "VALUE:3A" ], [ "0", "3", "0", "1", "VALUE:3C" ], [ "0", "3", "0", "2", "VALUE:3C" ], [ "0", "3", "0", "3", "VALUE:3C" ], [ "0", "3", "0", "4", "VALUE:3C" ], [ "0", "3", "0", "9", "VALUE:3C" ], [ "0", "X", "0", "1", "VALUE:99" ], [ "0", "X", "0", "2", "VALUE:99" ], [ "0", "X", "0", "3", "VALUE:99" ], [ "0", "X", "0", "4", "VALUE:99" ], [ "0", "X", "0", "9", "VALUE:99" ], [ "IS", "0", "0", "1", "VALUE:0" ], [ "IS", "0", "0", "2", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "0", "0", "3", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "0", "0", "4", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "0", "0", "9", "VALUE:0" ], [ "IS", "1", "0", "1", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "2", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "3", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "4", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "9", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "1", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "2", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "3", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "4", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "9", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "1", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "2", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "3", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "4", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "9", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "X", "0", "1", "VALUE:0" ], [ "IS", "X", "0", "2", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "X", "0", "3", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "X", "0", "4", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "X", "0", "9", "VALUE:0" ], [ "1A", "0", "0", "1", "VALUE:1A" ], [ "1A", "0", "0", "2", "VALUE:1A" ], [ "1A", "0", "0", "3", "VALUE:1B" ], [ "1A", "0", "0", "4", "VALUE:1B" ], [ "1A", "0", "0", "9", "VALUE:1A" ], [ "1A", "1", "0", "1", "VALUE:2B" ], [ "1A", "1", "0", "2", "VALUE:2B" ], [ "1A", "1", "0", "3", "VALUE:2B" ], [ "1A", "1", "0", "4", "VALUE:2B" ], [ "1A", "1", "0", "9", "VALUE:2B" ], [ "1A", "2", "0", "1", "VALUE:3A" ], [ "1A", "2", "0", "2", "VALUE:3A" ], [ "1A", "2", "0", "3", "VALUE:3A" ], [ "1A", "2", "0", "4", "VALUE:3A" ], [ "1A", "2", "0", "9", "VALUE:3A" ], [ "1A", "3", "0", "1", "VALUE:3C" ], [ "1A", "3", "0", "2", "VALUE:3C" ], [ "1A", "3", "0", "3", "VALUE:3C" ], [ "1A", "3", "0", "4", "VALUE:3C" ], [ "1A", "3", "0", "9", "VALUE:3C" ], [ "1A", "X", "0", "1", "VALUE:99" ], [ "1A", "X", "0", "2", "VALUE:99" ], [ "1A", "X", "0", "3", "VALUE:99" ], [ "1A", "X", "0", "4", "VALUE:99" ], [ "1A", "X", "0", "9", "VALUE:99" ], [ "1B", "0", "0", "1", "VALUE:1A" ], [ "1B", "0", "0", "2", "VALUE:1A" ], [ "1B", "0", "0", "3", "VALUE:1B" ], [ "1B", "0", "0", "4", "VALUE:1B" ], [ "1B", "0", "0", "9", "VALUE:1A" ], [ "1B", "1", "0", "1", "VALUE:2B" ], [ "1B", "1", "0", "2", "VALUE:2B" ], [ "1B", "1", "0", "3", "VALUE:2B" ], [ "1B", "1", "0", "4", "VALUE:2B" ], [ "1B", "1", "0", "9", "VALUE:2B" ], [ "1B", "2", "0", "1", "VALUE:3A" ], [ "1B", "2", "0", "2", "VALUE:3A" ], [ "1B", "2", "0", "3", "VALUE:3A" ], [ "1B", "2", "0", "4", "VALUE:3A" ], [ "1B", "2", "0", "9", "VALUE:3A" ], [ "1B", "3", "0", "1", "VALUE:3C" ], [ "1B", "3", "0", "2", "VALUE:3C" ], [ "1B", "3", "0", "3", "VALUE:3C" ], [ "1B", "3", "0", "4", "VALUE:3C" ], [ "1B", "3", "0", "9", "VALUE:3C" ], [ "1B", "X", "0", "1", "VALUE:99" ], [ "1B", "X", "0", "2", "VALUE:99" ], [ "1B", "X", "0", "3", "VALUE:99" ], [ "1B", "X", "0", "4", "VALUE:99" ], [ "1B", "X", "0", "9", "VALUE:99" ], [ "1", "0", "0", "1", "VALUE:1A" ], [ "1", "0", "0", "2", "VALUE:1A" ], [ "1", "0", "0", "3", "VALUE:1B" ], [ "1", "0", "0", "4", "VALUE:1B" ], [ "1", "0", "0", "9", "VALUE:1A" ], [ "1", "1", "0", "1", "VALUE:2B" ], [ "1", "1", "0", "2", "VALUE:2B" ], [ "1", "1", "0", "3", "VALUE:2B" ], [ "1", "1", "0", "4", "VALUE:2B" ], [ "1", "1", "0", "9", "VALUE:2B" ], [ "1", "2", "0", "1", "VALUE:3A" ], [ "1", "2", "0", "2", "VALUE:3A" ], [ "1", "2", "0", "3", "VALUE:3A" ], [ "1", "2", "0", "4", "VALUE:3A" ], [ "1", "2", "0", "9", "VALUE:3A" ], [ "1", "3", "0", "1", "VALUE:3C" ], [ "1", "3", "0", "2", "VALUE:3C" ], [ "1", "3", "0", "3", "VALUE:3C" ], [ "1", "3", "0", "4", "VALUE:3C" ], [ "1", "3", "0", "9", "VALUE:3C" ], [ "1", "X", "0", "1", "VALUE:99" ], [ "1", "X", "0", "2", "VALUE:99" ], [ "1", "X", "0", "3", "VALUE:99" ], [ "1", "X", "0", "4", "VALUE:99" ], [ "1", "X", "0", "9", "VALUE:99" ], [ "2", "0", "0", "1", "VALUE:1B" ], [ "2", "0", "0", "2", "VALUE:1B" ], [ "2", "0", "0", "3", "VALUE:2A" ], [ "2", "0", "0", "4", "VALUE:2A" ], [ "2", "0", "0", "9", "VALUE:1B" ], [ "2", "1", "0", "1", "VALUE:2B" ], [ "2", "1", "0", "2", "VALUE:2B" ], [ "2", "1", "0", "3", "VALUE:2B" ], [ "2", "1", "0", "4", "VALUE:2B" ], [ "2", "1", "0", "9", "VALUE:2B" ], [ "2", "2", "0", "1", "VALUE:3A" ], [ "2", "2", "0", "2", "VALUE:3A" ], [ "2", "2", "0", "3", "VALUE:3A" ], [ "2", "2", "0", "4", "VALUE:3A" ], [ "2", "2", "0", "9", "VALUE:3A" ], [ "2", "3", "0", "1", "VALUE:3C" ], [ "2", "3", "0", "2", "VALUE:3C" ], [ "2", "3", "0", "3", "VALUE:3C" ], [ "2", "3", "0", "4", "VALUE:3C" ], [ "2", "3", "0", "9", "VALUE:3C" ], [ "2", "X", "0", "1", "VALUE:99" ], [ "2", "X", "0", "2", "VALUE:99" ], [ "2", "X", "0", "3", "VALUE:99" ], [ "2", "X", "0", "4", "VALUE:99" ], [ "2", "X", "0", "9", "VALUE:99" ], [ "3", "0", "0", "1", "VALUE:2B" ], [ "3", "0", "0", "2", "VALUE:2B" ], [ "3", "0", "0", "3", "VALUE:2B" ], [ "3", "0", "0", "4", "VALUE:2B" ], [ "3", "0", "0", "9", "VALUE:2B" ], [ "3", "1", "0", "1", "VALUE:3A" ], [ "3", "1", "0", "2", "VALUE:3A" ], [ "3", "1", "0", "3", "VALUE:3A" ], [ "3", "1", "0", "4", "VALUE:3A" ], [ "3", "1", "0", "9", "VALUE:3A" ], [ "3", "2", "0", "1", "VALUE:3B" ], [ "3", "2", "0", "2", "VALUE:3B" ], [ "3", "2", "0", "3", "VALUE:3B" ], [ "3", "2", "0", "4", "VALUE:3B" ], [ "3", "2", "0", "9", "VALUE:3B" ], [ "3", "3", "0", "1", "VALUE:3C" ], [ "3", "3", "0", "2", "VALUE:3C" ], [ "3", "3", "0", "3", "VALUE:3C" ], [ "3", "3", "0", "4", "VALUE:3C" ], [ "3", "3", "0", "9", "VALUE:3C" ], [ "3", "X", "0", "1", "VALUE:99" ], [ "3", "X", "0", "2", "VALUE:99" ], [ "3", "X", "0", "3", "VALUE:99" ], [ "3", "X", "0", "4", "VALUE:99" ], [ "3", "X", "0", "9", "VALUE:99" ], [ "4A", "0", "0", "1", "VALUE:3A" ], [ "4A", "0", "0", "2", "VALUE:3A" ], [ "4A", "0", "0", "3", "VALUE:3A" ], [ "4A", "0", "0", "4", "VALUE:3A" ], [ "4A", "0", "0", "9", "VALUE:3A" ], [ "4A", "1", "0", "1", "VALUE:3C" ], [ "4A", "1", "0", "2", "VALUE:3C" ], [ "4A", "1", "0", "3", "VALUE:3C" ], [ "4A", "1", "0", "4", "VALUE:3C" ], [ "4A", "1", "0", "9", "VALUE:3C" ], [ "4A", "2", "0", "1", "VALUE:3C" ], [ "4A", "2", "0", "2", "VALUE:3C" ], [ "4A", "2", "0", "3", "VALUE:3C" ], [ "4A", "2", "0", "4", "VALUE:3C" ], [ "4A", "2", "0", "9", "VALUE:3C" ], [ "4A", "3", "0", "1", "VALUE:3C" ], [ "4A", "3", "0", "2", "VALUE:3C" ], [ "4A", "3", "0", "3", "VALUE:3C" ], [ "4A", "3", "0", "4", "VALUE:3C" ], [ "4A", "3", "0", "9", "VALUE:3C" ], [ "4A", "X", "0", "1", "VALUE:99" ], [ "4A", "X", "0", "2", "VALUE:99" ], [ "4A", "X", "0", "3", "VALUE:99" ], [ "4A", "X", "0", "4", "VALUE:99" ], [ "4A", "X", "0", "9", "VALUE:99" ], [ "4B", "0", "0", "1", "VALUE:3C" ], [ "4B", "0", "0", "2", "VALUE:3C" ], [ "4B", "0", "0", "3", "VALUE:3C" ], [ "4B", "0", "0", "4", "VALUE:3C" ], [ "4B", "0", "0", "9", "VALUE:3C" ], [ "4B", "1", "0", "1", "VALUE:3C" ], [ "4B", "1", "0", "2", "VALUE:3C" ], [ "4B", "1", "0", "3", "VALUE:3C" ], [ "4B", "1", "0", "4", "VALUE:3C" ], [ "4B", "1", "0", "9", "VALUE:3C" ], [ "4B", "2", "0", "1", "VALUE:3C" ], [ "4B", "2", "0", "2", "VALUE:3C" ], [ "4B", "2", "0", "3", "VALUE:3C" ], [ "4B", "2", "0", "4", "VALUE:3C" ], [ "4B", "2", "0", "9", "VALUE:3C" ], [ "4B", "3", "0", "1", "VALUE:3C" ], [ "4B", "3", "0", "2", "VALUE:3C" ], [ "4B", "3", "0", "3", "VALUE:3C" ], [ "4B", "3", "0", "4", "VALUE:3C" ], [ "4B", "3", "0", "9", "VALUE:3C" ], [ "4B", "X", "0", "1", "VALUE:3C" ], [ "4B", "X", "0", "2", "VALUE:3C" ], [ "4B", "X", "0", "3", "VALUE:3C" ], [ "4B", "X", "0", "4", "VALUE:3C" ], [ "4B", "X", "0", "9", "VALUE:3C" ], [ "4", "0", "0", "1", "VALUE:3A" ], [ "4", "0", "0", "2", "VALUE:3A" ], [ "4", "0", "0", "3", "VALUE:3A" ], [ "4", "0", "0", "4", "VALUE:3A" ], [ "4", "0", "0", "9", "VALUE:3A" ], [ "4", "1", "0", "1", "VALUE:3C" ], [ "4", "1", "0", "2", "VALUE:3C" ], [ "4", "1", "0", "3", "VALUE:3C" ], [ "4", "1", "0", "4", "VALUE:3C" ], [ "4", "1", "0", "9", "VALUE:3C" ], [ "4", "2", "0", "1", "VALUE:3C" ], [ "4", "2", "0", "2", "VALUE:3C" ], [ "4", "2", "0", "3", "VALUE:3C" ], [ "4", "2", "0", "4", "VALUE:3C" ], [ "4", "2", "0", "9", "VALUE:3C" ], [ "4", "3", "0", "1", "VALUE:3C" ], [ "4", "3", "0", "2", "VALUE:3C" ], [ "4", "3", "0", "3", "VALUE:3C" ], [ "4", "3", "0", "4", "VALUE:3C" ], [ "4", "3", "0", "9", "VALUE:3C" ], [ "4", "X", "0", "1", "VALUE:99" ], [ "4", "X", "0", "2", "VALUE:99" ], [ "4", "X", "0", "3", "VALUE:99" ], [ "4", "X", "0", "4", "VALUE:99" ], [ "4", "X", "0", "9", "VALUE:99" ], [ "X", "0", "0", "1", "VALUE:99" ], [ "X", "0", "0", "2", "VALUE:99" ], [ "X", "0", "0", "3", "VALUE:99" ], [ "X", "0", "0", "4", "VALUE:99" ], [ "X", "0", "0", "9", "VALUE:99" ], [ "X", "1", "0", "1", "VALUE:99" ], [ "X", "1", "0", "2", "VALUE:99" ], [ "X", "1", "0", "3", "VALUE:99" ], [ "X", "1", "0", "4", "VALUE:99" ], [ "X", "1", "0", "9", "VALUE:99" ], [ "X", "2", "0", "1", "VALUE:99" ], [ "X", "2", "0", "2", "VALUE:99" ], [ "X", "2", "0", "3", "VALUE:99" ], [ "X", "2", "0", "4", "VALUE:99" ], [ "X", "2", "0", "9", "VALUE:99" ], [ "X", "3", "0", "1", "VALUE:3C" ], [ "X", "3", "0", "2", "VALUE:3C" ], [ "X", "3", "0", "3", "VALUE:3C" ], [ "X", "3", "0", "4", "VALUE:3C" ], [ "X", "3", "0", "9", "VALUE:3C" ], [ "X", "X", "0", "1", "VALUE:99" ], [ "X", "X", "0", "2", "VALUE:99" ], [ "X", "X", "0", "3", "VALUE:99" ], [ "X", "X", "0", "4", "VALUE:99" ], [ "X", "X", "0", "9", "VALUE:99" ], [ "0", "0", "1", "1", "VALUE:4" ], [ "0", "0", "1", "2", "VALUE:4" ], [ "0", "0", "1", "3", "VALUE:4" ], [ "0", "0", "1", "4", "VALUE:4" ], [ "0", "0", "1", "9", "VALUE:4" ], [ "0", "1", "1", "1", "VALUE:4" ], [ "0", "1", "1", "2", "VALUE:4" ], [ "0", "1", "1", "3", "VALUE:4" ], [ "0", "1", "1", "4", "VALUE:4" ], [ "0", "1", "1", "9", "VALUE:4" ], [ "0", "2", "1", "1", "VALUE:4" ], [ "0", "2", "1", "2", "VALUE:4" ], [ "0", "2", "1", "3", "VALUE:4" ], [ "0", "2", "1", "4", "VALUE:4" ], [ "0", "2", "1", "9", "VALUE:4" ], [ "0", "3", "1", "1", "VALUE:4" ], [ "0", "3", "1", "2", "VALUE:4" ], [ "0", "3", "1", "3", "VALUE:4" ], [ "0", "3", "1", "4", "VALUE:4" ], [ "0", "3", "1", "9", "VALUE:4" ], [ "0", "X", "1", "1", "VALUE:4" ], [ "0", "X", "1", "2", "VALUE:4" ], [ "0", "X", "1", "3", "VALUE:4" ], [ "0", "X", "1", "4", "VALUE:4" ], [ "0", "X", "1", "9", "VALUE:4" ], [ "IS", "0", "1", "1", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "2", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "3", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "4", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "9", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "1", "1", "1", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "2", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "3", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "4", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "9", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "1", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "2", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "3", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "4", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "9", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "1", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "2", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "3", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "4", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "9", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "X", "1", "1", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "2", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "3", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "4", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "9", "ERROR:Clinical Tis and M > 0 not expected" ], [ "1A", "0", "1", "1", "VALUE:4" ], [ "1A", "0", "1", "2", "VALUE:4" ], [ "1A", "0", "1", "3", "VALUE:4" ], [ "1A", "0", "1", "4", "VALUE:4" ], [ "1A", "0", "1", "9", "VALUE:4" ], [ "1A", "1", "1", "1", "VALUE:4" ], [ "1A", "1", "1", "2", "VALUE:4" ], [ "1A", "1", "1", "3", "VALUE:4" ], [ "1A", "1", "1", "4", "VALUE:4" ], [ "1A", "1", "1", "9", "VALUE:4" ], [ "1A", "2", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "2", "VALUE:4" ], [ "1A", "2", "1", "3", "VALUE:4" ], [ "1A", "2", "1", "4", "VALUE:4" ], [ "1A", "2", "1", "9", "VALUE:4" ], [ "1A", "3", "1", "1", "VALUE:4" ], [ "1A", "3", "1", "2", "VALUE:4" ], [ "1A", "3", "1", "3", "VALUE:4" ], [ "1A", "3", "1", "4", "VALUE:4" ], [ "1A", "3", "1", "9", "VALUE:4" ], [ "1A", "X", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "2", "VALUE:4" ], [ "1A", "X", "1", "3", "VALUE:4" ], [ "1A", "X", "1", "4", "VALUE:4" ], [ "1A", "X", "1", "9", "VALUE:4" ], [ "1B", "0", "1", "1", "VALUE:4" ], [ "1B", "0", "1", "2", "VALUE:4" ], [ "1B", "0", "1", "3", "VALUE:4" ], [ "1B", "0", "1", "4", "VALUE:4" ], [ "1B", "0", "1", "9", "VALUE:4" ], [ "1B", "1", "1", "1", "VALUE:4" ], [ "1B", "1", "1", "2", "VALUE:4" ], [ "1B", "1", "1", "3", "VALUE:4" ], [ "1B", "1", "1", "4", "VALUE:4" ], [ "1B", "1", "1", "9", "VALUE:4" ], [ "1B", "2", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "2", "VALUE:4" ], [ "1B", "2", "1", "3", "VALUE:4" ], [ "1B", "2", "1", "4", "VALUE:4" ], [ "1B", "2", "1", "9", "VALUE:4" ], [ "1B", "3", "1", "1", "VALUE:4" ], [ "1B", "3", "1", "2", "VALUE:4" ], [ "1B", "3", "1", "3", "VALUE:4" ], [ "1B", "3", "1", "4", "VALUE:4" ], [ "1B", "3", "1", "9", "VALUE:4" ], [ "1B", "X", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "2", "VALUE:4" ], [ "1B", "X", "1", "3", "VALUE:4" ], [ "1B", "X", "1", "4", "VALUE:4" ], [ "1B", "X", "1", "9", "VALUE:4" ], [ "1", "0", "1", "1", "VALUE:4" ], [ "1", "0", "1", "2", "VALUE:4" ], [ "1", "0", "1", "3", "VALUE:4" ], [ "1", "0", "1", "4", "VALUE:4" ], [ "1", "0", "1", "9", "VALUE:4" ], [ "1", "1", "1", "1", "VALUE:4" ], [ "1", "1", "1", "2", "VALUE:4" ], [ "1", "1", "1", "3", "VALUE:4" ], [ "1", "1", "1", "4", "VALUE:4" ], [ "1", "1", "1", "9", "VALUE:4" ], [ "1", "2", "1", "1", "VALUE:4" ], [ "1", "2", "1", "2", "VALUE:4" ], [ "1", "2", "1", "3", "VALUE:4" ], [ "1", "2", "1", "4", "VALUE:4" ], [ "1", "2", "1", "9", "VALUE:4" ], [ "1", "3", "1", "1", "VALUE:4" ], [ "1", "3", "1", "2", "VALUE:4" ], [ "1", "3", "1", "3", "VALUE:4" ], [ "1", "3", "1", "4", "VALUE:4" ], [ "1", "3", "1", "9", "VALUE:4" ], [ "1", "X", "1", "1", "VALUE:4" ], [ "1", "X", "1", "2", "VALUE:4" ], [ "1", "X", "1", "3", "VALUE:4" ], [ "1", "X", "1", "4", "VALUE:4" ], [ "1", "X", "1", "9", "VALUE:4" ], [ "2", "0", "1", "1", "VALUE:4" ], [ "2", "0", "1", "2", "VALUE:4" ], [ "2", "0", "1", "3", "VALUE:4" ], [ "2", "0", "1", "4", "VALUE:4" ], [ "2", "0", "1", "9", "VALUE:4" ], [ "2", "1", "1", "1", "VALUE:4" ], [ "2", "1", "1", "2", "VALUE:4" ], [ "2", "1", "1", "3", "VALUE:4" ], [ "2", "1", "1", "4", "VALUE:4" ], [ "2", "1", "1", "9", "VALUE:4" ], [ "2", "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "2", "VALUE:4" ], [ "2", "2", "1", "3", "VALUE:4" ], [ "2", "2", "1", "4", "VALUE:4" ], [ "2", "2", "1", "9", "VALUE:4" ], [ "2", "3", "1", "1", "VALUE:4" ], [ "2", "3", "1", "2", "VALUE:4" ], [ "2", "3", "1", "3", "VALUE:4" ], [ "2", "3", "1", "4", "VALUE:4" ], [ "2", "3", "1", "9", "VALUE:4" ], [ "2", "X", "1", "1", "VALUE:4" ], [ "2", "X", "1", "2", "VALUE:4" ], [ "2", "X", "1", "3", "VALUE:4" ], [ "2", "X", "1", "4", "VALUE:4" ], [ "2", "X", "1", "9", "VALUE:4" ], [ "3", "0", "1", "1", "VALUE:4" ], [ "3", "0", "1", "2", "VALUE:4" ], [ "3", "0", "1", "3", "VALUE:4" ], [ "3", "0", "1", "4", "VALUE:4" ], [ "3", "0", "1", "9", "VALUE:4" ], [ "3", "1", "1", "1", "VALUE:4" ], [ "3", "1", "1", "2", "VALUE:4" ], [ "3", "1", "1", "3", "VALUE:4" ], [ "3", "1", "1", "4", "VALUE:4" ], [ "3", "1", "1", "9", "VALUE:4" ], [ "3", "2", "1", "1", "VALUE:4" ], [ "3", "2", "1", "2", "VALUE:4" ], [ "3", "2", "1", "3", "VALUE:4" ], [ "3", "2", "1", "4", "VALUE:4" ], [ "3", "2", "1", "9", "VALUE:4" ], [ "3", "3", "1", "1", "VALUE:4" ], [ "3", "3", "1", "2", "VALUE:4" ], [ "3", "3", "1", "3", "VALUE:4" ], [ "3", "3", "1", "4", "VALUE:4" ], [ "3", "3", "1", "9", "VALUE:4" ], [ "3", "X", "1", "1", "VALUE:4" ], [ "3", "X", "1", "2", "VALUE:4" ], [ "3", "X", "1", "3", "VALUE:4" ], [ "3", "X", "1", "4", "VALUE:4" ], [ "3", "X", "1", "9", "VALUE:4" ], [ "4A", "0", "1", "1", "VALUE:4" ], [ "4A", "0", "1", "2", "VALUE:4" ], [ "4A", "0", "1", "3", "VALUE:4" ], [ "4A", "0", "1", "4", "VALUE:4" ], [ "4A", "0", "1", "9", "VALUE:4" ], [ "4A", "1", "1", "1", "VALUE:4" ], [ "4A", "1", "1", "2", "VALUE:4" ], [ "4A", "1", "1", "3", "VALUE:4" ], [ "4A", "1", "1", "4", "VALUE:4" ], [ "4A", "1", "1", "9", "VALUE:4" ], [ "4A", "2", "1", "1", "VALUE:4" ], [ "4A", "2", "1", "2", "VALUE:4" ], [ "4A", "2", "1", "3", "VALUE:4" ], [ "4A", "2", "1", "4", "VALUE:4" ], [ "4A", "2", "1", "9", "VALUE:4" ], [ "4A", "3", "1", "1", "VALUE:4" ], [ "4A", "3", "1", "2", "VALUE:4" ], [ "4A", "3", "1", "3", "VALUE:4" ], [ "4A", "3", "1", "4", "VALUE:4" ], [ "4A", "3", "1", "9", "VALUE:4" ], [ "4A", "X", "1", "1", "VALUE:4" ], [ "4A", "X", "1", "2", "VALUE:4" ], [ "4A", "X", "1", "3", "VALUE:4" ], [ "4A", "X", "1", "4", "VALUE:4" ], [ "4A", "X", "1", "9", "VALUE:4" ], [ "4B", "0", "1", "1", "VALUE:4" ], [ "4B", "0", "1", "2", "VALUE:4" ], [ "4B", "0", "1", "3", "VALUE:4" ], [ "4B", "0", "1", "4", "VALUE:4" ], [ "4B", "0", "1", "9", "VALUE:4" ], [ "4B", "1", "1", "1", "VALUE:4" ], [ "4B", "1", "1", "2", "VALUE:4" ], [ "4B", "1", "1", "3", "VALUE:4" ], [ "4B", "1", "1", "4", "VALUE:4" ], [ "4B", "1", "1", "9", "VALUE:4" ], [ "4B", "2", "1", "1", "VALUE:4" ], [ "4B", "2", "1", "2", "VALUE:4" ], [ "4B", "2", "1", "3", "VALUE:4" ], [ "4B", "2", "1", "4", "VALUE:4" ], [ "4B", "2", "1", "9", "VALUE:4" ], [ "4B", "3", "1", "1", "VALUE:4" ], [ "4B", "3", "1", "2", "VALUE:4" ], [ "4B", "3", "1", "3", "VALUE:4" ], [ "4B", "3", "1", "4", "VALUE:4" ], [ "4B", "3", "1", "9", "VALUE:4" ], [ "4B", "X", "1", "1", "VALUE:4" ], [ "4B", "X", "1", "2", "VALUE:4" ], [ "4B", "X", "1", "3", "VALUE:4" ], [ "4B", "X", "1", "4", "VALUE:4" ], [ "4B", "X", "1", "9", "VALUE:4" ], [ "4", "0", "1", "1", "VALUE:4" ], [ "4", "0", "1", "2", "VALUE:4" ], [ "4", "0", "1", "3", "VALUE:4" ], [ "4", "0", "1", "4", "VALUE:4" ], [ "4", "0", "1", "9", "VALUE:4" ], [ "4", "1", "1", "1", "VALUE:4" ], [ "4", "1", "1", "2", "VALUE:4" ], [ "4", "1", "1", "3", "VALUE:4" ], [ "4", "1", "1", "4", "VALUE:4" ], [ "4", "1", "1", "9", "VALUE:4" ], [ "4", "2", "1", "1", "VALUE:4" ], [ "4", "2", "1", "2", "VALUE:4" ], [ "4", "2", "1", "3", "VALUE:4" ], [ "4", "2", "1", "4", "VALUE:4" ], [ "4", "2", "1", "9", "VALUE:4" ], [ "4", "3", "1", "1", "VALUE:4" ], [ "4", "3", "1", "2", "VALUE:4" ], [ "4", "3", "1", "3", "VALUE:4" ], [ "4", "3", "1", "4", "VALUE:4" ], [ "4", "3", "1", "9", "VALUE:4" ], [ "4", "X", "1", "1", "VALUE:4" ], [ "4", "X", "1", "2", "VALUE:4" ], [ "4", "X", "1", "3", "VALUE:4" ], [ "4", "X", "1", "4", "VALUE:4" ], [ "4", "X", "1", "9", "VALUE:4" ], [ "X", "0", "1", "1", "VALUE:4" ], [ "X", "0", "1", "2", "VALUE:4" ], [ "X", "0", "1", "3", "VALUE:4" ], [ "X", "0", "1", "4", "VALUE:4" ], [ "X", "0", "1", "9", "VALUE:4" ], [ "X", "1", "1", "1", "VALUE:4" ], [ "X", "1", "1", "2", "VALUE:4" ], [ "X", "1", "1", "3", "VALUE:4" ], [ "X", "1", "1", "4", "VALUE:4" ], [ "X", "1", "1", "9", "VALUE:4" ], [ "X", "2", "1", "1", "VALUE:4" ], [ "X", "2", "1", "2", "VALUE:4" ], [ "X", "2", "1", "3", "VALUE:4" ], [ "X", "2", "1", "4", "VALUE:4" ], [ "X", "2", "1", "9", "VALUE:4" ], [ "X", "3", "1", "1", "VALUE:4" ], [ "X", "3", "1", "2", "VALUE:4" ], [ "X", "3", "1", "3", "VALUE:4" ], [ "X", "3", "1", "4", "VALUE:4" ], [ "X", "3", "1", "9", "VALUE:4" ], [ "X", "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "2", "VALUE:4" ], [ "X", "X", "1", "3", "VALUE:4" ], [ "X", "X", "1", "4", "VALUE:4" ], [ "X", "X", "1", "9", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_ewing_17708.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_ewing_17708.json deleted file mode 100644 index e923511f9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_ewing_17708.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "tnm_7_stage_ewing_17708", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Ewing", - "title" : "TNM 7 Stage Ewing", - "last_modified" : "2018-05-14T21:29:03.122Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "VALUE:4B" ], [ "0", "X", "0", "ERROR:Clinical T0NXM0 is not a valid combination." ], [ "1", "0", "0", "VALUE:2A" ], [ "1", "1", "0", "VALUE:4B" ], [ "1", "X", "0", "VALUE:2A" ], [ "2", "0", "0", "VALUE:2B" ], [ "2", "1", "0", "VALUE:4B" ], [ "2", "X", "0", "VALUE:2B" ], [ "3", "0", "0", "VALUE:3" ], [ "3", "1", "0", "VALUE:4B" ], [ "3", "X", "0", "VALUE:3" ], [ "X", "0", "0", "VALUE:99" ], [ "X", "1", "0", "VALUE:4B" ], [ "X", "X", "0", "VALUE:99" ], [ "0", "0", "1A", "VALUE:4A" ], [ "0", "1", "1A", "VALUE:4B" ], [ "0", "X", "1A", "VALUE:4A" ], [ "1", "0", "1A", "VALUE:4A" ], [ "1", "1", "1A", "VALUE:4B" ], [ "1", "X", "1A", "VALUE:4A" ], [ "2", "0", "1A", "VALUE:4A" ], [ "2", "1", "1A", "VALUE:4B" ], [ "2", "X", "1A", "VALUE:4A" ], [ "3", "0", "1A", "VALUE:4A" ], [ "3", "1", "1A", "VALUE:4B" ], [ "3", "X", "1A", "VALUE:4A" ], [ "X", "0", "1A", "VALUE:4A" ], [ "X", "1", "1A", "VALUE:4B" ], [ "X", "X", "1A", "VALUE:4A" ], [ "0", "0", "1B", "VALUE:4B" ], [ "0", "1", "1B", "VALUE:4B" ], [ "0", "X", "1B", "VALUE:4B" ], [ "1", "0", "1B", "VALUE:4B" ], [ "1", "1", "1B", "VALUE:4B" ], [ "1", "X", "1B", "VALUE:4B" ], [ "2", "0", "1B", "VALUE:4B" ], [ "2", "1", "1B", "VALUE:4B" ], [ "2", "X", "1B", "VALUE:4B" ], [ "3", "0", "1B", "VALUE:4B" ], [ "3", "1", "1B", "VALUE:4B" ], [ "3", "X", "1B", "VALUE:4B" ], [ "X", "0", "1B", "VALUE:4B" ], [ "X", "1", "1B", "VALUE:4B" ], [ "X", "X", "1B", "VALUE:4B" ], [ "0", "0", "1", "VALUE:4" ], [ "0", "1", "1", "VALUE:4B" ], [ "0", "X", "1", "VALUE:4" ], [ "1", "0", "1", "VALUE:4" ], [ "1", "1", "1", "VALUE:4B" ], [ "1", "X", "1", "VALUE:4" ], [ "2", "0", "1", "VALUE:4" ], [ "2", "1", "1", "VALUE:4B" ], [ "2", "X", "1", "VALUE:4" ], [ "3", "0", "1", "VALUE:4" ], [ "3", "1", "1", "VALUE:4B" ], [ "3", "X", "1", "VALUE:4" ], [ "X", "0", "1", "VALUE:4" ], [ "X", "1", "1", "VALUE:4B" ], [ "X", "X", "1", "VALUE:4" ], [ "88", "88", "88", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_group_gist_stomach_36358.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_group_gist_stomach_36358.json deleted file mode 100644 index ad271c959..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_group_gist_stomach_36358.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm_7_stage_group_gist_stomach_36358", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Group GIST Stomach", - "title" : "TNM 7 Stage Group GIST Stomach", - "last_modified" : "2018-05-14T21:29:00.367Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "mitotic_rate", - "name" : "Mitotic Rate", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0,X", "0", "High", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0,X", "0", "Low", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0,X", "0", "Unknown", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "High", "VALUE:4" ], [ "0", "1", "0", "Low", "VALUE:4" ], [ "0", "1", "0", "Unknown", "VALUE:4" ], [ "1", "0,X", "0", "High", "VALUE:2" ], [ "1", "0,X", "0", "Low", "VALUE:1A" ], [ "1", "0,X", "0", "Unknown", "VALUE:99" ], [ "1", "1", "0", "High", "VALUE:4" ], [ "1", "1", "0", "Low", "VALUE:4" ], [ "1", "1", "0", "Unknown", "VALUE:4" ], [ "2", "0,X", "0", "High", "VALUE:2" ], [ "2", "0,X", "0", "Low", "VALUE:1A" ], [ "2", "0,X", "0", "Unknown", "VALUE:99" ], [ "2", "1", "0", "High", "VALUE:4" ], [ "2", "1", "0", "Low", "VALUE:4" ], [ "2", "1", "0", "Unknown", "VALUE:4" ], [ "3", "0,X", "0", "High", "VALUE:3A" ], [ "3", "0,X", "0", "Low", "VALUE:1B" ], [ "3", "0,X", "0", "Unknown", "VALUE:99" ], [ "3", "1", "0", "High", "VALUE:4" ], [ "3", "1", "0", "Low", "VALUE:4" ], [ "3", "1", "0", "Unknown", "VALUE:4" ], [ "4", "0,X", "0", "High", "VALUE:3B" ], [ "4", "0,X", "0", "Low", "VALUE:2" ], [ "4", "0,X", "0", "Unknown", "VALUE:99" ], [ "4", "1", "0", "High", "VALUE:4" ], [ "4", "1", "0", "Low", "VALUE:4" ], [ "4", "1", "0", "Unknown", "VALUE:4" ], [ "X", "0,X", "0", "High", "VALUE:99" ], [ "X", "0,X", "0", "Low", "VALUE:99" ], [ "X", "0,X", "0", "Unknown", "VALUE:99" ], [ "X", "1", "0", "High", "VALUE:4" ], [ "X", "1", "0", "Low", "VALUE:4" ], [ "X", "1", "0", "Unknown", "VALUE:4" ], [ "0", "0,X", "1", "High", "VALUE:4" ], [ "0", "0,X", "1", "Low", "VALUE:4" ], [ "0", "0,X", "1", "Unknown", "VALUE:4" ], [ "0", "1", "1", "High", "VALUE:4" ], [ "0", "1", "1", "Low", "VALUE:4" ], [ "0", "1", "1", "Unknown", "VALUE:4" ], [ "1", "0,X", "1", "High", "VALUE:4" ], [ "1", "0,X", "1", "Low", "VALUE:4" ], [ "1", "0,X", "1", "Unknown", "VALUE:4" ], [ "1", "1", "1", "High", "VALUE:4" ], [ "1", "1", "1", "Low", "VALUE:4" ], [ "1", "1", "1", "Unknown", "VALUE:4" ], [ "2", "0,X", "1", "High", "VALUE:4" ], [ "2", "0,X", "1", "Low", "VALUE:4" ], [ "2", "0,X", "1", "Unknown", "VALUE:4" ], [ "2", "1", "1", "High", "VALUE:4" ], [ "2", "1", "1", "Low", "VALUE:4" ], [ "2", "1", "1", "Unknown", "VALUE:4" ], [ "3", "0,X", "1", "High", "VALUE:4" ], [ "3", "0,X", "1", "Low", "VALUE:4" ], [ "3", "0,X", "1", "Unknown", "VALUE:4" ], [ "3", "1", "1", "High", "VALUE:4" ], [ "3", "1", "1", "Low", "VALUE:4" ], [ "3", "1", "1", "Unknown", "VALUE:4" ], [ "4", "0,X", "1", "High", "VALUE:4" ], [ "4", "0,X", "1", "Low", "VALUE:4" ], [ "4", "0,X", "1", "Unknown", "VALUE:4" ], [ "4", "1", "1", "High", "VALUE:4" ], [ "4", "1", "1", "Low", "VALUE:4" ], [ "4", "1", "1", "Unknown", "VALUE:4" ], [ "X", "0,X", "1", "High", "VALUE:4" ], [ "X", "0,X", "1", "Low", "VALUE:4" ], [ "X", "0,X", "1", "Unknown", "VALUE:4" ], [ "X", "1", "1", "High", "VALUE:4" ], [ "X", "1", "1", "Low", "VALUE:4" ], [ "X", "1", "1", "Unknown", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_not_ewing_14573.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_not_ewing_14573.json deleted file mode 100644 index f300ffbfc..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_not_ewing_14573.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm_7_stage_not_ewing_14573", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Not Ewing", - "title" : "TNM 7 Stage Not Ewing", - "last_modified" : "2018-05-14T21:28:58.422Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "1", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "2", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "3", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "4", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "9", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "1", "VALUE:4B" ], [ "0", "1", "0", "2", "VALUE:4B" ], [ "0", "1", "0", "3", "VALUE:4B" ], [ "0", "1", "0", "4", "VALUE:4B" ], [ "0", "1", "0", "9", "VALUE:4B" ], [ "0", "X", "0", "1", "ERROR:Clinical T0NXM0 is not a valid combination." ], [ "0", "X", "0", "2", "ERROR:Clinical T0NXM0 is not a valid combination." ], [ "0", "X", "0", "3", "ERROR:Clinical T0NXM0 is not a valid combination." ], [ "0", "X", "0", "4", "ERROR:Clinical T0NXM0 is not a valid combination." ], [ "0", "X", "0", "9", "ERROR:Clinical T0NXM0 is not a valid combination." ], [ "1", "0", "0", "1", "VALUE:1A" ], [ "1", "0", "0", "2", "VALUE:1A" ], [ "1", "0", "0", "3", "VALUE:2A" ], [ "1", "0", "0", "4", "VALUE:2A" ], [ "1", "0", "0", "9", "VALUE:1A" ], [ "1", "1", "0", "1", "VALUE:4B" ], [ "1", "1", "0", "2", "VALUE:4B" ], [ "1", "1", "0", "3", "VALUE:4B" ], [ "1", "1", "0", "4", "VALUE:4B" ], [ "1", "1", "0", "9", "VALUE:4B" ], [ "1", "X", "0", "1", "VALUE:1A" ], [ "1", "X", "0", "2", "VALUE:1A" ], [ "1", "X", "0", "3", "VALUE:2A" ], [ "1", "X", "0", "4", "VALUE:2A" ], [ "1", "X", "0", "9", "VALUE:1A" ], [ "2", "0", "0", "1", "VALUE:1B" ], [ "2", "0", "0", "2", "VALUE:1B" ], [ "2", "0", "0", "3", "VALUE:2B" ], [ "2", "0", "0", "4", "VALUE:2B" ], [ "2", "0", "0", "9", "VALUE:1B" ], [ "2", "1", "0", "1", "VALUE:4B" ], [ "2", "1", "0", "2", "VALUE:4B" ], [ "2", "1", "0", "3", "VALUE:4B" ], [ "2", "1", "0", "4", "VALUE:4B" ], [ "2", "1", "0", "9", "VALUE:4B" ], [ "2", "X", "0", "1", "VALUE:1B" ], [ "2", "X", "0", "2", "VALUE:1B" ], [ "2", "X", "0", "3", "VALUE:2B" ], [ "2", "X", "0", "4", "VALUE:2B" ], [ "2", "X", "0", "9", "VALUE:1B" ], [ "3", "0", "0", "1", "VALUE:1B" ], [ "3", "0", "0", "2", "VALUE:1B" ], [ "3", "0", "0", "3", "VALUE:3" ], [ "3", "0", "0", "4", "VALUE:3" ], [ "3", "0", "0", "9", "VALUE:1B" ], [ "3", "1", "0", "1", "VALUE:4B" ], [ "3", "1", "0", "2", "VALUE:4B" ], [ "3", "1", "0", "3", "VALUE:4B" ], [ "3", "1", "0", "4", "VALUE:4B" ], [ "3", "1", "0", "9", "VALUE:4B" ], [ "3", "X", "0", "1", "VALUE:1B" ], [ "3", "X", "0", "2", "VALUE:1B" ], [ "3", "X", "0", "3", "VALUE:3" ], [ "3", "X", "0", "4", "VALUE:3" ], [ "3", "X", "0", "9", "VALUE:1B" ], [ "X", "0", "0", "1", "VALUE:99" ], [ "X", "0", "0", "2", "VALUE:99" ], [ "X", "0", "0", "3", "VALUE:99" ], [ "X", "0", "0", "4", "VALUE:99" ], [ "X", "0", "0", "9", "VALUE:99" ], [ "X", "1", "0", "1", "VALUE:4B" ], [ "X", "1", "0", "2", "VALUE:4B" ], [ "X", "1", "0", "3", "VALUE:4B" ], [ "X", "1", "0", "4", "VALUE:4B" ], [ "X", "1", "0", "9", "VALUE:4B" ], [ "X", "X", "0", "1", "VALUE:99" ], [ "X", "X", "0", "2", "VALUE:99" ], [ "X", "X", "0", "3", "VALUE:99" ], [ "X", "X", "0", "4", "VALUE:99" ], [ "X", "X", "0", "9", "VALUE:99" ], [ "0", "0", "1A", "1", "VALUE:4A" ], [ "0", "0", "1A", "2", "VALUE:4A" ], [ "0", "0", "1A", "3", "VALUE:4A" ], [ "0", "0", "1A", "4", "VALUE:4A" ], [ "0", "0", "1A", "9", "VALUE:4A" ], [ "0", "1", "1A", "1", "VALUE:4B" ], [ "0", "1", "1A", "2", "VALUE:4B" ], [ "0", "1", "1A", "3", "VALUE:4B" ], [ "0", "1", "1A", "4", "VALUE:4B" ], [ "0", "1", "1A", "9", "VALUE:4B" ], [ "0", "X", "1A", "1", "VALUE:4A" ], [ "0", "X", "1A", "2", "VALUE:4A" ], [ "0", "X", "1A", "3", "VALUE:4A" ], [ "0", "X", "1A", "4", "VALUE:4A" ], [ "0", "X", "1A", "9", "VALUE:4A" ], [ "1", "0", "1A", "1", "VALUE:4A" ], [ "1", "0", "1A", "2", "VALUE:4A" ], [ "1", "0", "1A", "3", "VALUE:4A" ], [ "1", "0", "1A", "4", "VALUE:4A" ], [ "1", "0", "1A", "9", "VALUE:4A" ], [ "1", "1", "1A", "1", "VALUE:4B" ], [ "1", "1", "1A", "2", "VALUE:4B" ], [ "1", "1", "1A", "3", "VALUE:4B" ], [ "1", "1", "1A", "4", "VALUE:4B" ], [ "1", "1", "1A", "9", "VALUE:4B" ], [ "1", "X", "1A", "1", "VALUE:4A" ], [ "1", "X", "1A", "2", "VALUE:4A" ], [ "1", "X", "1A", "3", "VALUE:4A" ], [ "1", "X", "1A", "4", "VALUE:4A" ], [ "1", "X", "1A", "9", "VALUE:4A" ], [ "2", "0", "1A", "1", "VALUE:4A" ], [ "2", "0", "1A", "2", "VALUE:4A" ], [ "2", "0", "1A", "3", "VALUE:4A" ], [ "2", "0", "1A", "4", "VALUE:4A" ], [ "2", "0", "1A", "9", "VALUE:4A" ], [ "2", "1", "1A", "1", "VALUE:4B" ], [ "2", "1", "1A", "2", "VALUE:4B" ], [ "2", "1", "1A", "3", "VALUE:4B" ], [ "2", "1", "1A", "4", "VALUE:4B" ], [ "2", "1", "1A", "9", "VALUE:4B" ], [ "2", "X", "1A", "1", "VALUE:4A" ], [ "2", "X", "1A", "2", "VALUE:4A" ], [ "2", "X", "1A", "3", "VALUE:4A" ], [ "2", "X", "1A", "4", "VALUE:4A" ], [ "2", "X", "1A", "9", "VALUE:4A" ], [ "3", "0", "1A", "1", "VALUE:4A" ], [ "3", "0", "1A", "2", "VALUE:4A" ], [ "3", "0", "1A", "3", "VALUE:4A" ], [ "3", "0", "1A", "4", "VALUE:4A" ], [ "3", "0", "1A", "9", "VALUE:4A" ], [ "3", "1", "1A", "1", "VALUE:4B" ], [ "3", "1", "1A", "2", "VALUE:4B" ], [ "3", "1", "1A", "3", "VALUE:4B" ], [ "3", "1", "1A", "4", "VALUE:4B" ], [ "3", "1", "1A", "9", "VALUE:4B" ], [ "3", "X", "1A", "1", "VALUE:4A" ], [ "3", "X", "1A", "2", "VALUE:4A" ], [ "3", "X", "1A", "3", "VALUE:4A" ], [ "3", "X", "1A", "4", "VALUE:4A" ], [ "3", "X", "1A", "9", "VALUE:4A" ], [ "X", "0", "1A", "1", "VALUE:4A" ], [ "X", "0", "1A", "2", "VALUE:4A" ], [ "X", "0", "1A", "3", "VALUE:4A" ], [ "X", "0", "1A", "4", "VALUE:4A" ], [ "X", "0", "1A", "9", "VALUE:4A" ], [ "X", "1", "1A", "1", "VALUE:4B" ], [ "X", "1", "1A", "2", "VALUE:4B" ], [ "X", "1", "1A", "3", "VALUE:4B" ], [ "X", "1", "1A", "4", "VALUE:4B" ], [ "X", "1", "1A", "9", "VALUE:4B" ], [ "X", "X", "1A", "1", "VALUE:4A" ], [ "X", "X", "1A", "2", "VALUE:4A" ], [ "X", "X", "1A", "3", "VALUE:4A" ], [ "X", "X", "1A", "4", "VALUE:4A" ], [ "X", "X", "1A", "9", "VALUE:4A" ], [ "0", "0", "1B", "1", "VALUE:4B" ], [ "0", "0", "1B", "2", "VALUE:4B" ], [ "0", "0", "1B", "3", "VALUE:4B" ], [ "0", "0", "1B", "4", "VALUE:4B" ], [ "0", "0", "1B", "9", "VALUE:4B" ], [ "0", "1", "1B", "1", "VALUE:4B" ], [ "0", "1", "1B", "2", "VALUE:4B" ], [ "0", "1", "1B", "3", "VALUE:4B" ], [ "0", "1", "1B", "4", "VALUE:4B" ], [ "0", "1", "1B", "9", "VALUE:4B" ], [ "0", "X", "1B", "1", "VALUE:4B" ], [ "0", "X", "1B", "2", "VALUE:4B" ], [ "0", "X", "1B", "3", "VALUE:4B" ], [ "0", "X", "1B", "4", "VALUE:4B" ], [ "0", "X", "1B", "9", "VALUE:4B" ], [ "1", "0", "1B", "1", "VALUE:4B" ], [ "1", "0", "1B", "2", "VALUE:4B" ], [ "1", "0", "1B", "3", "VALUE:4B" ], [ "1", "0", "1B", "4", "VALUE:4B" ], [ "1", "0", "1B", "9", "VALUE:4B" ], [ "1", "1", "1B", "1", "VALUE:4B" ], [ "1", "1", "1B", "2", "VALUE:4B" ], [ "1", "1", "1B", "3", "VALUE:4B" ], [ "1", "1", "1B", "4", "VALUE:4B" ], [ "1", "1", "1B", "9", "VALUE:4B" ], [ "1", "X", "1B", "1", "VALUE:4B" ], [ "1", "X", "1B", "2", "VALUE:4B" ], [ "1", "X", "1B", "3", "VALUE:4B" ], [ "1", "X", "1B", "4", "VALUE:4B" ], [ "1", "X", "1B", "9", "VALUE:4B" ], [ "2", "0", "1B", "1", "VALUE:4B" ], [ "2", "0", "1B", "2", "VALUE:4B" ], [ "2", "0", "1B", "3", "VALUE:4B" ], [ "2", "0", "1B", "4", "VALUE:4B" ], [ "2", "0", "1B", "9", "VALUE:4B" ], [ "2", "1", "1B", "1", "VALUE:4B" ], [ "2", "1", "1B", "2", "VALUE:4B" ], [ "2", "1", "1B", "3", "VALUE:4B" ], [ "2", "1", "1B", "4", "VALUE:4B" ], [ "2", "1", "1B", "9", "VALUE:4B" ], [ "2", "X", "1B", "1", "VALUE:4B" ], [ "2", "X", "1B", "2", "VALUE:4B" ], [ "2", "X", "1B", "3", "VALUE:4B" ], [ "2", "X", "1B", "4", "VALUE:4B" ], [ "2", "X", "1B", "9", "VALUE:4B" ], [ "3", "0", "1B", "1", "VALUE:4B" ], [ "3", "0", "1B", "2", "VALUE:4B" ], [ "3", "0", "1B", "3", "VALUE:4B" ], [ "3", "0", "1B", "4", "VALUE:4B" ], [ "3", "0", "1B", "9", "VALUE:4B" ], [ "3", "1", "1B", "1", "VALUE:4B" ], [ "3", "1", "1B", "2", "VALUE:4B" ], [ "3", "1", "1B", "3", "VALUE:4B" ], [ "3", "1", "1B", "4", "VALUE:4B" ], [ "3", "1", "1B", "9", "VALUE:4B" ], [ "3", "X", "1B", "1", "VALUE:4B" ], [ "3", "X", "1B", "2", "VALUE:4B" ], [ "3", "X", "1B", "3", "VALUE:4B" ], [ "3", "X", "1B", "4", "VALUE:4B" ], [ "3", "X", "1B", "9", "VALUE:4B" ], [ "X", "0", "1B", "1", "VALUE:4B" ], [ "X", "0", "1B", "2", "VALUE:4B" ], [ "X", "0", "1B", "3", "VALUE:4B" ], [ "X", "0", "1B", "4", "VALUE:4B" ], [ "X", "0", "1B", "9", "VALUE:4B" ], [ "X", "1", "1B", "1", "VALUE:4B" ], [ "X", "1", "1B", "2", "VALUE:4B" ], [ "X", "1", "1B", "3", "VALUE:4B" ], [ "X", "1", "1B", "4", "VALUE:4B" ], [ "X", "1", "1B", "9", "VALUE:4B" ], [ "X", "X", "1B", "1", "VALUE:4B" ], [ "X", "X", "1B", "2", "VALUE:4B" ], [ "X", "X", "1B", "3", "VALUE:4B" ], [ "X", "X", "1B", "4", "VALUE:4B" ], [ "X", "X", "1B", "9", "VALUE:4B" ], [ "0", "0", "1", "1", "VALUE:4" ], [ "0", "0", "1", "2", "VALUE:4" ], [ "0", "0", "1", "3", "VALUE:4" ], [ "0", "0", "1", "4", "VALUE:4" ], [ "0", "0", "1", "9", "VALUE:4" ], [ "0", "1", "1", "1", "VALUE:4B" ], [ "0", "1", "1", "2", "VALUE:4B" ], [ "0", "1", "1", "3", "VALUE:4B" ], [ "0", "1", "1", "4", "VALUE:4B" ], [ "0", "1", "1", "9", "VALUE:4B" ], [ "0", "X", "1", "1", "VALUE:4" ], [ "0", "X", "1", "2", "VALUE:4" ], [ "0", "X", "1", "3", "VALUE:4" ], [ "0", "X", "1", "4", "VALUE:4" ], [ "0", "X", "1", "9", "VALUE:4" ], [ "1", "0", "1", "1", "VALUE:4" ], [ "1", "0", "1", "2", "VALUE:4" ], [ "1", "0", "1", "3", "VALUE:4" ], [ "1", "0", "1", "4", "VALUE:4" ], [ "1", "0", "1", "9", "VALUE:4" ], [ "1", "1", "1", "1", "VALUE:4B" ], [ "1", "1", "1", "2", "VALUE:4B" ], [ "1", "1", "1", "3", "VALUE:4B" ], [ "1", "1", "1", "4", "VALUE:4B" ], [ "1", "1", "1", "9", "VALUE:4B" ], [ "1", "X", "1", "1", "VALUE:4" ], [ "1", "X", "1", "2", "VALUE:4" ], [ "1", "X", "1", "3", "VALUE:4" ], [ "1", "X", "1", "4", "VALUE:4" ], [ "1", "X", "1", "9", "VALUE:4" ], [ "2", "0", "1", "1", "VALUE:4" ], [ "2", "0", "1", "2", "VALUE:4" ], [ "2", "0", "1", "3", "VALUE:4" ], [ "2", "0", "1", "4", "VALUE:4" ], [ "2", "0", "1", "9", "VALUE:4" ], [ "2", "1", "1", "1", "VALUE:4B" ], [ "2", "1", "1", "2", "VALUE:4B" ], [ "2", "1", "1", "3", "VALUE:4B" ], [ "2", "1", "1", "4", "VALUE:4B" ], [ "2", "1", "1", "9", "VALUE:4B" ], [ "2", "X", "1", "1", "VALUE:4" ], [ "2", "X", "1", "2", "VALUE:4" ], [ "2", "X", "1", "3", "VALUE:4" ], [ "2", "X", "1", "4", "VALUE:4" ], [ "2", "X", "1", "9", "VALUE:4" ], [ "3", "0", "1", "1", "VALUE:4" ], [ "3", "0", "1", "2", "VALUE:4" ], [ "3", "0", "1", "3", "VALUE:4" ], [ "3", "0", "1", "4", "VALUE:4" ], [ "3", "0", "1", "9", "VALUE:4" ], [ "3", "1", "1", "1", "VALUE:4B" ], [ "3", "1", "1", "2", "VALUE:4B" ], [ "3", "1", "1", "3", "VALUE:4B" ], [ "3", "1", "1", "4", "VALUE:4B" ], [ "3", "1", "1", "9", "VALUE:4B" ], [ "3", "X", "1", "1", "VALUE:4" ], [ "3", "X", "1", "2", "VALUE:4" ], [ "3", "X", "1", "3", "VALUE:4" ], [ "3", "X", "1", "4", "VALUE:4" ], [ "3", "X", "1", "9", "VALUE:4" ], [ "X", "0", "1", "1", "VALUE:4" ], [ "X", "0", "1", "2", "VALUE:4" ], [ "X", "0", "1", "3", "VALUE:4" ], [ "X", "0", "1", "4", "VALUE:4" ], [ "X", "0", "1", "9", "VALUE:4" ], [ "X", "1", "1", "1", "VALUE:4B" ], [ "X", "1", "1", "2", "VALUE:4B" ], [ "X", "1", "1", "3", "VALUE:4B" ], [ "X", "1", "1", "4", "VALUE:4B" ], [ "X", "1", "1", "9", "VALUE:4B" ], [ "X", "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "2", "VALUE:4" ], [ "X", "X", "1", "3", "VALUE:4" ], [ "X", "X", "1", "4", "VALUE:4" ], [ "X", "X", "1", "9", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_34274.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_34274.json deleted file mode 100644 index bdf645323..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_34274.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "tnm_7_stage_squamous_34274", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Squamous", - "title" : "TNM 7 Stage Squamous", - "last_modified" : "2018-05-14T21:29:04.499Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "site", - "name" : "Site", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "1", "*", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "2", "*", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "3", "*", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "4", "*", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "9", "*", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "1", "*", "VALUE:99" ], [ "0", "1", "0", "2", "*", "VALUE:99" ], [ "0", "1", "0", "3", "*", "VALUE:99" ], [ "0", "1", "0", "4", "*", "VALUE:99" ], [ "0", "1", "0", "9", "*", "VALUE:99" ], [ "0", "2", "0", "1", "*", "VALUE:3" ], [ "0", "2", "0", "2", "*", "VALUE:3" ], [ "0", "2", "0", "3", "*", "VALUE:3" ], [ "0", "2", "0", "4", "*", "VALUE:3" ], [ "0", "2", "0", "9", "*", "VALUE:3" ], [ "0", "3", "0", "1", "*", "VALUE:3C" ], [ "0", "3", "0", "2", "*", "VALUE:3C" ], [ "0", "3", "0", "3", "*", "VALUE:3C" ], [ "0", "3", "0", "4", "*", "VALUE:3C" ], [ "0", "3", "0", "9", "*", "VALUE:3C" ], [ "0", "X", "0", "1", "*", "VALUE:99" ], [ "0", "X", "0", "2", "*", "VALUE:99" ], [ "0", "X", "0", "3", "*", "VALUE:99" ], [ "0", "X", "0", "4", "*", "VALUE:99" ], [ "0", "X", "0", "9", "*", "VALUE:99" ], [ "IS", "0", "0", "1", "*", "VALUE:0" ], [ "IS", "0", "0", "2", "*", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "0", "0", "3", "*", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "0", "0", "4", "*", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "0", "0", "9", "*", "VALUE:0" ], [ "IS", "1", "0", "1", "*", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "2", "*", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "3", "*", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "4", "*", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "9", "*", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "1", "*", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "2", "*", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "3", "*", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "4", "*", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "9", "*", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "1", "*", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "2", "*", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "3", "*", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "4", "*", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "9", "*", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "X", "0", "1", "*", "VALUE:0" ], [ "IS", "X", "0", "2", "*", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "X", "0", "3", "*", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "X", "0", "4", "*", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "X", "0", "9", "*", "VALUE:0" ], [ "1A", "0", "0", "1", "*", "VALUE:1A" ], [ "1A", "0", "0", "2", "*", "VALUE:1B" ], [ "1A", "0", "0", "3", "*", "VALUE:1B" ], [ "1A", "0", "0", "4", "*", "VALUE:1B" ], [ "1A", "0", "0", "9", "*", "VALUE:1A" ], [ "1A", "1", "0", "1", "*", "VALUE:2B" ], [ "1A", "1", "0", "2", "*", "VALUE:2B" ], [ "1A", "1", "0", "3", "*", "VALUE:2B" ], [ "1A", "1", "0", "4", "*", "VALUE:2B" ], [ "1A", "1", "0", "9", "*", "VALUE:2B" ], [ "1A", "2", "0", "1", "*", "VALUE:3A" ], [ "1A", "2", "0", "2", "*", "VALUE:3A" ], [ "1A", "2", "0", "3", "*", "VALUE:3A" ], [ "1A", "2", "0", "4", "*", "VALUE:3A" ], [ "1A", "2", "0", "9", "*", "VALUE:3A" ], [ "1A", "3", "0", "1", "*", "VALUE:3C" ], [ "1A", "3", "0", "2", "*", "VALUE:3C" ], [ "1A", "3", "0", "3", "*", "VALUE:3C" ], [ "1A", "3", "0", "4", "*", "VALUE:3C" ], [ "1A", "3", "0", "9", "*", "VALUE:3C" ], [ "1A", "X", "0", "1", "*", "VALUE:99" ], [ "1A", "X", "0", "2", "*", "VALUE:99" ], [ "1A", "X", "0", "3", "*", "VALUE:99" ], [ "1A", "X", "0", "4", "*", "VALUE:99" ], [ "1A", "X", "0", "9", "*", "VALUE:99" ], [ "1B", "0", "0", "1", "*", "VALUE:1A" ], [ "1B", "0", "0", "2", "*", "VALUE:1B" ], [ "1B", "0", "0", "3", "*", "VALUE:1B" ], [ "1B", "0", "0", "4", "*", "VALUE:1B" ], [ "1B", "0", "0", "9", "*", "VALUE:1A" ], [ "1B", "1", "0", "1", "*", "VALUE:2B" ], [ "1B", "1", "0", "2", "*", "VALUE:2B" ], [ "1B", "1", "0", "3", "*", "VALUE:2B" ], [ "1B", "1", "0", "4", "*", "VALUE:2B" ], [ "1B", "1", "0", "9", "*", "VALUE:2B" ], [ "1B", "2", "0", "1", "*", "VALUE:3A" ], [ "1B", "2", "0", "2", "*", "VALUE:3A" ], [ "1B", "2", "0", "3", "*", "VALUE:3A" ], [ "1B", "2", "0", "4", "*", "VALUE:3A" ], [ "1B", "2", "0", "9", "*", "VALUE:3A" ], [ "1B", "3", "0", "1", "*", "VALUE:3C" ], [ "1B", "3", "0", "2", "*", "VALUE:3C" ], [ "1B", "3", "0", "3", "*", "VALUE:3C" ], [ "1B", "3", "0", "4", "*", "VALUE:3C" ], [ "1B", "3", "0", "9", "*", "VALUE:3C" ], [ "1B", "X", "0", "1", "*", "VALUE:99" ], [ "1B", "X", "0", "2", "*", "VALUE:99" ], [ "1B", "X", "0", "3", "*", "VALUE:99" ], [ "1B", "X", "0", "4", "*", "VALUE:99" ], [ "1B", "X", "0", "9", "*", "VALUE:99" ], [ "1", "0", "0", "1", "*", "VALUE:1A" ], [ "1", "0", "0", "2", "*", "VALUE:1B" ], [ "1", "0", "0", "3", "*", "VALUE:1B" ], [ "1", "0", "0", "4", "*", "VALUE:1B" ], [ "1", "0", "0", "9", "*", "VALUE:1A" ], [ "1", "1", "0", "1", "*", "VALUE:2B" ], [ "1", "1", "0", "2", "*", "VALUE:2B" ], [ "1", "1", "0", "3", "*", "VALUE:2B" ], [ "1", "1", "0", "4", "*", "VALUE:2B" ], [ "1", "1", "0", "9", "*", "VALUE:2B" ], [ "1", "2", "0", "1", "*", "VALUE:3A" ], [ "1", "2", "0", "2", "*", "VALUE:3A" ], [ "1", "2", "0", "3", "*", "VALUE:3A" ], [ "1", "2", "0", "4", "*", "VALUE:3A" ], [ "1", "2", "0", "9", "*", "VALUE:3A" ], [ "1", "3", "0", "1", "*", "VALUE:3C" ], [ "1", "3", "0", "2", "*", "VALUE:3C" ], [ "1", "3", "0", "3", "*", "VALUE:3C" ], [ "1", "3", "0", "4", "*", "VALUE:3C" ], [ "1", "3", "0", "9", "*", "VALUE:3C" ], [ "1", "X", "0", "1", "*", "VALUE:99" ], [ "1", "X", "0", "2", "*", "VALUE:99" ], [ "1", "X", "0", "3", "*", "VALUE:99" ], [ "1", "X", "0", "4", "*", "VALUE:99" ], [ "1", "X", "0", "9", "*", "VALUE:99" ], [ "2", "0", "0", "1", "C150,C151,C153,C154", "VALUE:2A" ], [ "2", "0", "0", "1", "C152,C155,C158,C159", "VALUE:1B" ], [ "2", "0", "0", "2", "C150,C151,C153,C154", "VALUE:2B" ], [ "2", "0", "0", "2", "C152,C155,C158,C159", "VALUE:2A" ], [ "2", "0", "0", "3", "C150,C151,C153,C154", "VALUE:2B" ], [ "2", "0", "0", "3", "C152,C155,C158,C159", "VALUE:2A" ], [ "2", "0", "0", "4", "C150,C151,C153,C154", "VALUE:2B" ], [ "2", "0", "0", "4", "C152,C155,C158,C159", "VALUE:2A" ], [ "2", "0", "0", "9", "C150,C151,C153,C154", "VALUE:2A" ], [ "2", "0", "0", "9", "C152,C155,C158,C159", "VALUE:1B" ], [ "2", "1", "0", "1", "*", "VALUE:2B" ], [ "2", "1", "0", "2", "*", "VALUE:2B" ], [ "2", "1", "0", "3", "*", "VALUE:2B" ], [ "2", "1", "0", "4", "*", "VALUE:2B" ], [ "2", "1", "0", "9", "*", "VALUE:2B" ], [ "2", "2", "0", "1", "*", "VALUE:3A" ], [ "2", "2", "0", "2", "*", "VALUE:3A" ], [ "2", "2", "0", "3", "*", "VALUE:3A" ], [ "2", "2", "0", "4", "*", "VALUE:3A" ], [ "2", "2", "0", "9", "*", "VALUE:3A" ], [ "2", "3", "0", "1", "*", "VALUE:3C" ], [ "2", "3", "0", "2", "*", "VALUE:3C" ], [ "2", "3", "0", "3", "*", "VALUE:3C" ], [ "2", "3", "0", "4", "*", "VALUE:3C" ], [ "2", "3", "0", "9", "*", "VALUE:3C" ], [ "2", "X", "0", "1", "*", "VALUE:99" ], [ "2", "X", "0", "2", "*", "VALUE:99" ], [ "2", "X", "0", "3", "*", "VALUE:99" ], [ "2", "X", "0", "4", "*", "VALUE:99" ], [ "2", "X", "0", "9", "*", "VALUE:99" ], [ "3", "0", "0", "1", "C150,C151,C153,C154", "VALUE:2A" ], [ "3", "0", "0", "1", "C152,C155,C158,C159", "VALUE:1B" ], [ "3", "0", "0", "2", "C150,C151,C153,C154", "VALUE:2B" ], [ "3", "0", "0", "2", "C152,C155,C158,C159", "VALUE:2A" ], [ "3", "0", "0", "3", "C150,C151,C153,C154", "VALUE:2B" ], [ "3", "0", "0", "3", "C152,C155,C158,C159", "VALUE:2A" ], [ "3", "0", "0", "4", "C150,C151,C153,C154", "VALUE:2B" ], [ "3", "0", "0", "4", "C152,C155,C158,C159", "VALUE:2A" ], [ "3", "0", "0", "9", "C150,C151,C153,C154", "VALUE:2A" ], [ "3", "0", "0", "9", "C152,C155,C158,C159", "VALUE:1B" ], [ "3", "1", "0", "1", "*", "VALUE:3A" ], [ "3", "1", "0", "2", "*", "VALUE:3A" ], [ "3", "1", "0", "3", "*", "VALUE:3A" ], [ "3", "1", "0", "4", "*", "VALUE:3A" ], [ "3", "1", "0", "9", "*", "VALUE:3A" ], [ "3", "2", "0", "1", "*", "VALUE:3B" ], [ "3", "2", "0", "2", "*", "VALUE:3B" ], [ "3", "2", "0", "3", "*", "VALUE:3B" ], [ "3", "2", "0", "4", "*", "VALUE:3B" ], [ "3", "2", "0", "9", "*", "VALUE:3B" ], [ "3", "3", "0", "1", "*", "VALUE:3C" ], [ "3", "3", "0", "2", "*", "VALUE:3C" ], [ "3", "3", "0", "3", "*", "VALUE:3C" ], [ "3", "3", "0", "4", "*", "VALUE:3C" ], [ "3", "3", "0", "9", "*", "VALUE:3C" ], [ "3", "X", "0", "1", "*", "VALUE:99" ], [ "3", "X", "0", "2", "*", "VALUE:99" ], [ "3", "X", "0", "3", "*", "VALUE:99" ], [ "3", "X", "0", "4", "*", "VALUE:99" ], [ "3", "X", "0", "9", "*", "VALUE:99" ], [ "4A", "0", "0", "1", "*", "VALUE:3A" ], [ "4A", "0", "0", "2", "*", "VALUE:3A" ], [ "4A", "0", "0", "3", "*", "VALUE:3A" ], [ "4A", "0", "0", "4", "*", "VALUE:3A" ], [ "4A", "0", "0", "9", "*", "VALUE:3A" ], [ "4A", "1", "0", "1", "*", "VALUE:3C" ], [ "4A", "1", "0", "2", "*", "VALUE:3C" ], [ "4A", "1", "0", "3", "*", "VALUE:3C" ], [ "4A", "1", "0", "4", "*", "VALUE:3C" ], [ "4A", "1", "0", "9", "*", "VALUE:3C" ], [ "4A", "2", "0", "1", "*", "VALUE:3C" ], [ "4A", "2", "0", "2", "*", "VALUE:3C" ], [ "4A", "2", "0", "3", "*", "VALUE:3C" ], [ "4A", "2", "0", "4", "*", "VALUE:3C" ], [ "4A", "2", "0", "9", "*", "VALUE:3C" ], [ "4A", "3", "0", "1", "*", "VALUE:3C" ], [ "4A", "3", "0", "2", "*", "VALUE:3C" ], [ "4A", "3", "0", "3", "*", "VALUE:3C" ], [ "4A", "3", "0", "4", "*", "VALUE:3C" ], [ "4A", "3", "0", "9", "*", "VALUE:3C" ], [ "4A", "X", "0", "1", "*", "VALUE:3" ], [ "4A", "X", "0", "2", "*", "VALUE:3" ], [ "4A", "X", "0", "3", "*", "VALUE:3" ], [ "4A", "X", "0", "4", "*", "VALUE:3" ], [ "4A", "X", "0", "9", "*", "VALUE:3" ], [ "4B", "0", "0", "1", "*", "VALUE:3C" ], [ "4B", "0", "0", "2", "*", "VALUE:3C" ], [ "4B", "0", "0", "3", "*", "VALUE:3C" ], [ "4B", "0", "0", "4", "*", "VALUE:3C" ], [ "4B", "0", "0", "9", "*", "VALUE:3C" ], [ "4B", "1", "0", "1", "*", "VALUE:3C" ], [ "4B", "1", "0", "2", "*", "VALUE:3C" ], [ "4B", "1", "0", "3", "*", "VALUE:3C" ], [ "4B", "1", "0", "4", "*", "VALUE:3C" ], [ "4B", "1", "0", "9", "*", "VALUE:3C" ], [ "4B", "2", "0", "1", "*", "VALUE:3C" ], [ "4B", "2", "0", "2", "*", "VALUE:3C" ], [ "4B", "2", "0", "3", "*", "VALUE:3C" ], [ "4B", "2", "0", "4", "*", "VALUE:3C" ], [ "4B", "2", "0", "9", "*", "VALUE:3C" ], [ "4B", "3", "0", "1", "*", "VALUE:3C" ], [ "4B", "3", "0", "2", "*", "VALUE:3C" ], [ "4B", "3", "0", "3", "*", "VALUE:3C" ], [ "4B", "3", "0", "4", "*", "VALUE:3C" ], [ "4B", "3", "0", "9", "*", "VALUE:3C" ], [ "4B", "X", "0", "1", "*", "VALUE:3C" ], [ "4B", "X", "0", "2", "*", "VALUE:3C" ], [ "4B", "X", "0", "3", "*", "VALUE:3C" ], [ "4B", "X", "0", "4", "*", "VALUE:3C" ], [ "4B", "X", "0", "9", "*", "VALUE:3C" ], [ "4", "0", "0", "1", "*", "VALUE:3A" ], [ "4", "0", "0", "2", "*", "VALUE:3A" ], [ "4", "0", "0", "3", "*", "VALUE:3A" ], [ "4", "0", "0", "4", "*", "VALUE:3A" ], [ "4", "0", "0", "9", "*", "VALUE:3A" ], [ "4", "1", "0", "1", "*", "VALUE:3C" ], [ "4", "1", "0", "2", "*", "VALUE:3C" ], [ "4", "1", "0", "3", "*", "VALUE:3C" ], [ "4", "1", "0", "4", "*", "VALUE:3C" ], [ "4", "1", "0", "9", "*", "VALUE:3C" ], [ "4", "2", "0", "1", "*", "VALUE:3C" ], [ "4", "2", "0", "2", "*", "VALUE:3C" ], [ "4", "2", "0", "3", "*", "VALUE:3C" ], [ "4", "2", "0", "4", "*", "VALUE:3C" ], [ "4", "2", "0", "9", "*", "VALUE:3C" ], [ "4", "3", "0", "1", "*", "VALUE:3C" ], [ "4", "3", "0", "2", "*", "VALUE:3C" ], [ "4", "3", "0", "3", "*", "VALUE:3C" ], [ "4", "3", "0", "4", "*", "VALUE:3C" ], [ "4", "3", "0", "9", "*", "VALUE:3C" ], [ "4", "X", "0", "1", "*", "VALUE:3" ], [ "4", "X", "0", "2", "*", "VALUE:3" ], [ "4", "X", "0", "3", "*", "VALUE:3" ], [ "4", "X", "0", "4", "*", "VALUE:3" ], [ "4", "X", "0", "9", "*", "VALUE:3" ], [ "X", "0", "0", "1", "*", "VALUE:99" ], [ "X", "0", "0", "2", "*", "VALUE:99" ], [ "X", "0", "0", "3", "*", "VALUE:99" ], [ "X", "0", "0", "4", "*", "VALUE:99" ], [ "X", "0", "0", "9", "*", "VALUE:99" ], [ "X", "1", "0", "1", "*", "VALUE:99" ], [ "X", "1", "0", "2", "*", "VALUE:99" ], [ "X", "1", "0", "3", "*", "VALUE:99" ], [ "X", "1", "0", "4", "*", "VALUE:99" ], [ "X", "1", "0", "9", "*", "VALUE:99" ], [ "X", "2", "0", "1", "*", "VALUE:3" ], [ "X", "2", "0", "2", "*", "VALUE:3" ], [ "X", "2", "0", "3", "*", "VALUE:3" ], [ "X", "2", "0", "4", "*", "VALUE:3" ], [ "X", "2", "0", "9", "*", "VALUE:3" ], [ "X", "3", "0", "1", "*", "VALUE:3C" ], [ "X", "3", "0", "2", "*", "VALUE:3C" ], [ "X", "3", "0", "3", "*", "VALUE:3C" ], [ "X", "3", "0", "4", "*", "VALUE:3C" ], [ "X", "3", "0", "9", "*", "VALUE:3C" ], [ "X", "X", "0", "1", "*", "VALUE:99" ], [ "X", "X", "0", "2", "*", "VALUE:99" ], [ "X", "X", "0", "3", "*", "VALUE:99" ], [ "X", "X", "0", "4", "*", "VALUE:99" ], [ "X", "X", "0", "9", "*", "VALUE:99" ], [ "0", "0", "1", "1", "*", "VALUE:4" ], [ "0", "0", "1", "2", "*", "VALUE:4" ], [ "0", "0", "1", "3", "*", "VALUE:4" ], [ "0", "0", "1", "4", "*", "VALUE:4" ], [ "0", "0", "1", "9", "*", "VALUE:4" ], [ "0", "1", "1", "1", "*", "VALUE:4" ], [ "0", "1", "1", "2", "*", "VALUE:4" ], [ "0", "1", "1", "3", "*", "VALUE:4" ], [ "0", "1", "1", "4", "*", "VALUE:4" ], [ "0", "1", "1", "9", "*", "VALUE:4" ], [ "0", "2", "1", "1", "*", "VALUE:4" ], [ "0", "2", "1", "2", "*", "VALUE:4" ], [ "0", "2", "1", "3", "*", "VALUE:4" ], [ "0", "2", "1", "4", "*", "VALUE:4" ], [ "0", "2", "1", "9", "*", "VALUE:4" ], [ "0", "3", "1", "1", "*", "VALUE:4" ], [ "0", "3", "1", "2", "*", "VALUE:4" ], [ "0", "3", "1", "3", "*", "VALUE:4" ], [ "0", "3", "1", "4", "*", "VALUE:4" ], [ "0", "3", "1", "9", "*", "VALUE:4" ], [ "0", "X", "1", "1", "*", "VALUE:4" ], [ "0", "X", "1", "2", "*", "VALUE:4" ], [ "0", "X", "1", "3", "*", "VALUE:4" ], [ "0", "X", "1", "4", "*", "VALUE:4" ], [ "0", "X", "1", "9", "*", "VALUE:4" ], [ "IS", "0", "1", "1", "*", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "2", "*", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "3", "*", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "4", "*", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "9", "*", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "1", "1", "1", "*", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "2", "*", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "3", "*", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "4", "*", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "9", "*", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "1", "*", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "2", "*", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "3", "*", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "4", "*", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "9", "*", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "1", "*", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "2", "*", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "3", "*", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "4", "*", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "9", "*", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "X", "1", "1", "*", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "2", "*", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "3", "*", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "4", "*", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "9", "*", "ERROR:Clinical Tis and M > 0 not expected" ], [ "1A", "0", "1", "1", "*", "VALUE:4" ], [ "1A", "0", "1", "2", "*", "VALUE:4" ], [ "1A", "0", "1", "3", "*", "VALUE:4" ], [ "1A", "0", "1", "4", "*", "VALUE:4" ], [ "1A", "0", "1", "9", "*", "VALUE:4" ], [ "1A", "1", "1", "1", "*", "VALUE:4" ], [ "1A", "1", "1", "2", "*", "VALUE:4" ], [ "1A", "1", "1", "3", "*", "VALUE:4" ], [ "1A", "1", "1", "4", "*", "VALUE:4" ], [ "1A", "1", "1", "9", "*", "VALUE:4" ], [ "1A", "2", "1", "1", "*", "VALUE:4" ], [ "1A", "2", "1", "2", "*", "VALUE:4" ], [ "1A", "2", "1", "3", "*", "VALUE:4" ], [ "1A", "2", "1", "4", "*", "VALUE:4" ], [ "1A", "2", "1", "9", "*", "VALUE:4" ], [ "1A", "3", "1", "1", "*", "VALUE:4" ], [ "1A", "3", "1", "2", "*", "VALUE:4" ], [ "1A", "3", "1", "3", "*", "VALUE:4" ], [ "1A", "3", "1", "4", "*", "VALUE:4" ], [ "1A", "3", "1", "9", "*", "VALUE:4" ], [ "1A", "X", "1", "1", "*", "VALUE:4" ], [ "1A", "X", "1", "2", "*", "VALUE:4" ], [ "1A", "X", "1", "3", "*", "VALUE:4" ], [ "1A", "X", "1", "4", "*", "VALUE:4" ], [ "1A", "X", "1", "9", "*", "VALUE:4" ], [ "1B", "0", "1", "1", "*", "VALUE:4" ], [ "1B", "0", "1", "2", "*", "VALUE:4" ], [ "1B", "0", "1", "3", "*", "VALUE:4" ], [ "1B", "0", "1", "4", "*", "VALUE:4" ], [ "1B", "0", "1", "9", "*", "VALUE:4" ], [ "1B", "1", "1", "1", "*", "VALUE:4" ], [ "1B", "1", "1", "2", "*", "VALUE:4" ], [ "1B", "1", "1", "3", "*", "VALUE:4" ], [ "1B", "1", "1", "4", "*", "VALUE:4" ], [ "1B", "1", "1", "9", "*", "VALUE:4" ], [ "1B", "2", "1", "1", "*", "VALUE:4" ], [ "1B", "2", "1", "2", "*", "VALUE:4" ], [ "1B", "2", "1", "3", "*", "VALUE:4" ], [ "1B", "2", "1", "4", "*", "VALUE:4" ], [ "1B", "2", "1", "9", "*", "VALUE:4" ], [ "1B", "3", "1", "1", "*", "VALUE:4" ], [ "1B", "3", "1", "2", "*", "VALUE:4" ], [ "1B", "3", "1", "3", "*", "VALUE:4" ], [ "1B", "3", "1", "4", "*", "VALUE:4" ], [ "1B", "3", "1", "9", "*", "VALUE:4" ], [ "1B", "X", "1", "1", "*", "VALUE:4" ], [ "1B", "X", "1", "2", "*", "VALUE:4" ], [ "1B", "X", "1", "3", "*", "VALUE:4" ], [ "1B", "X", "1", "4", "*", "VALUE:4" ], [ "1B", "X", "1", "9", "*", "VALUE:4" ], [ "1", "0", "1", "1", "*", "VALUE:4" ], [ "1", "0", "1", "2", "*", "VALUE:4" ], [ "1", "0", "1", "3", "*", "VALUE:4" ], [ "1", "0", "1", "4", "*", "VALUE:4" ], [ "1", "0", "1", "9", "*", "VALUE:4" ], [ "1", "1", "1", "1", "*", "VALUE:4" ], [ "1", "1", "1", "2", "*", "VALUE:4" ], [ "1", "1", "1", "3", "*", "VALUE:4" ], [ "1", "1", "1", "4", "*", "VALUE:4" ], [ "1", "1", "1", "9", "*", "VALUE:4" ], [ "1", "2", "1", "1", "*", "VALUE:4" ], [ "1", "2", "1", "2", "*", "VALUE:4" ], [ "1", "2", "1", "3", "*", "VALUE:4" ], [ "1", "2", "1", "4", "*", "VALUE:4" ], [ "1", "2", "1", "9", "*", "VALUE:4" ], [ "1", "3", "1", "1", "*", "VALUE:4" ], [ "1", "3", "1", "2", "*", "VALUE:4" ], [ "1", "3", "1", "3", "*", "VALUE:4" ], [ "1", "3", "1", "4", "*", "VALUE:4" ], [ "1", "3", "1", "9", "*", "VALUE:4" ], [ "1", "X", "1", "1", "*", "VALUE:4" ], [ "1", "X", "1", "2", "*", "VALUE:4" ], [ "1", "X", "1", "3", "*", "VALUE:4" ], [ "1", "X", "1", "4", "*", "VALUE:4" ], [ "1", "X", "1", "9", "*", "VALUE:4" ], [ "2", "0", "1", "1", "*", "VALUE:4" ], [ "2", "0", "1", "2", "*", "VALUE:4" ], [ "2", "0", "1", "3", "*", "VALUE:4" ], [ "2", "0", "1", "4", "*", "VALUE:4" ], [ "2", "0", "1", "9", "*", "VALUE:4" ], [ "2", "1", "1", "1", "*", "VALUE:4" ], [ "2", "1", "1", "2", "*", "VALUE:4" ], [ "2", "1", "1", "3", "*", "VALUE:4" ], [ "2", "1", "1", "4", "*", "VALUE:4" ], [ "2", "1", "1", "9", "*", "VALUE:4" ], [ "2", "2", "1", "1", "*", "VALUE:4" ], [ "2", "2", "1", "2", "*", "VALUE:4" ], [ "2", "2", "1", "3", "*", "VALUE:4" ], [ "2", "2", "1", "4", "*", "VALUE:4" ], [ "2", "2", "1", "9", "*", "VALUE:4" ], [ "2", "3", "1", "1", "*", "VALUE:4" ], [ "2", "3", "1", "2", "*", "VALUE:4" ], [ "2", "3", "1", "3", "*", "VALUE:4" ], [ "2", "3", "1", "4", "*", "VALUE:4" ], [ "2", "3", "1", "9", "*", "VALUE:4" ], [ "2", "X", "1", "1", "*", "VALUE:4" ], [ "2", "X", "1", "2", "*", "VALUE:4" ], [ "2", "X", "1", "3", "*", "VALUE:4" ], [ "2", "X", "1", "4", "*", "VALUE:4" ], [ "2", "X", "1", "9", "*", "VALUE:4" ], [ "3", "0", "1", "1", "*", "VALUE:4" ], [ "3", "0", "1", "2", "*", "VALUE:4" ], [ "3", "0", "1", "3", "*", "VALUE:4" ], [ "3", "0", "1", "4", "*", "VALUE:4" ], [ "3", "0", "1", "9", "*", "VALUE:4" ], [ "3", "1", "1", "1", "*", "VALUE:4" ], [ "3", "1", "1", "2", "*", "VALUE:4" ], [ "3", "1", "1", "3", "*", "VALUE:4" ], [ "3", "1", "1", "4", "*", "VALUE:4" ], [ "3", "1", "1", "9", "*", "VALUE:4" ], [ "3", "2", "1", "1", "*", "VALUE:4" ], [ "3", "2", "1", "2", "*", "VALUE:4" ], [ "3", "2", "1", "3", "*", "VALUE:4" ], [ "3", "2", "1", "4", "*", "VALUE:4" ], [ "3", "2", "1", "9", "*", "VALUE:4" ], [ "3", "3", "1", "1", "*", "VALUE:4" ], [ "3", "3", "1", "2", "*", "VALUE:4" ], [ "3", "3", "1", "3", "*", "VALUE:4" ], [ "3", "3", "1", "4", "*", "VALUE:4" ], [ "3", "3", "1", "9", "*", "VALUE:4" ], [ "3", "X", "1", "1", "*", "VALUE:4" ], [ "3", "X", "1", "2", "*", "VALUE:4" ], [ "3", "X", "1", "3", "*", "VALUE:4" ], [ "3", "X", "1", "4", "*", "VALUE:4" ], [ "3", "X", "1", "9", "*", "VALUE:4" ], [ "4A", "0", "1", "1", "*", "VALUE:4" ], [ "4A", "0", "1", "2", "*", "VALUE:4" ], [ "4A", "0", "1", "3", "*", "VALUE:4" ], [ "4A", "0", "1", "4", "*", "VALUE:4" ], [ "4A", "0", "1", "9", "*", "VALUE:4" ], [ "4A", "1", "1", "1", "*", "VALUE:4" ], [ "4A", "1", "1", "2", "*", "VALUE:4" ], [ "4A", "1", "1", "3", "*", "VALUE:4" ], [ "4A", "1", "1", "4", "*", "VALUE:4" ], [ "4A", "1", "1", "9", "*", "VALUE:4" ], [ "4A", "2", "1", "1", "*", "VALUE:4" ], [ "4A", "2", "1", "2", "*", "VALUE:4" ], [ "4A", "2", "1", "3", "*", "VALUE:4" ], [ "4A", "2", "1", "4", "*", "VALUE:4" ], [ "4A", "2", "1", "9", "*", "VALUE:4" ], [ "4A", "3", "1", "1", "*", "VALUE:4" ], [ "4A", "3", "1", "2", "*", "VALUE:4" ], [ "4A", "3", "1", "3", "*", "VALUE:4" ], [ "4A", "3", "1", "4", "*", "VALUE:4" ], [ "4A", "3", "1", "9", "*", "VALUE:4" ], [ "4A", "X", "1", "1", "*", "VALUE:4" ], [ "4A", "X", "1", "2", "*", "VALUE:4" ], [ "4A", "X", "1", "3", "*", "VALUE:4" ], [ "4A", "X", "1", "4", "*", "VALUE:4" ], [ "4A", "X", "1", "9", "*", "VALUE:4" ], [ "4B", "0", "1", "1", "*", "VALUE:4" ], [ "4B", "0", "1", "2", "*", "VALUE:4" ], [ "4B", "0", "1", "3", "*", "VALUE:4" ], [ "4B", "0", "1", "4", "*", "VALUE:4" ], [ "4B", "0", "1", "9", "*", "VALUE:4" ], [ "4B", "1", "1", "1", "*", "VALUE:4" ], [ "4B", "1", "1", "2", "*", "VALUE:4" ], [ "4B", "1", "1", "3", "*", "VALUE:4" ], [ "4B", "1", "1", "4", "*", "VALUE:4" ], [ "4B", "1", "1", "9", "*", "VALUE:4" ], [ "4B", "2", "1", "1", "*", "VALUE:4" ], [ "4B", "2", "1", "2", "*", "VALUE:4" ], [ "4B", "2", "1", "3", "*", "VALUE:4" ], [ "4B", "2", "1", "4", "*", "VALUE:4" ], [ "4B", "2", "1", "9", "*", "VALUE:4" ], [ "4B", "3", "1", "1", "*", "VALUE:4" ], [ "4B", "3", "1", "2", "*", "VALUE:4" ], [ "4B", "3", "1", "3", "*", "VALUE:4" ], [ "4B", "3", "1", "4", "*", "VALUE:4" ], [ "4B", "3", "1", "9", "*", "VALUE:4" ], [ "4B", "X", "1", "1", "*", "VALUE:4" ], [ "4B", "X", "1", "2", "*", "VALUE:4" ], [ "4B", "X", "1", "3", "*", "VALUE:4" ], [ "4B", "X", "1", "4", "*", "VALUE:4" ], [ "4B", "X", "1", "9", "*", "VALUE:4" ], [ "4", "0", "1", "1", "*", "VALUE:4" ], [ "4", "0", "1", "2", "*", "VALUE:4" ], [ "4", "0", "1", "3", "*", "VALUE:4" ], [ "4", "0", "1", "4", "*", "VALUE:4" ], [ "4", "0", "1", "9", "*", "VALUE:4" ], [ "4", "1", "1", "1", "*", "VALUE:4" ], [ "4", "1", "1", "2", "*", "VALUE:4" ], [ "4", "1", "1", "3", "*", "VALUE:4" ], [ "4", "1", "1", "4", "*", "VALUE:4" ], [ "4", "1", "1", "9", "*", "VALUE:4" ], [ "4", "2", "1", "1", "*", "VALUE:4" ], [ "4", "2", "1", "2", "*", "VALUE:4" ], [ "4", "2", "1", "3", "*", "VALUE:4" ], [ "4", "2", "1", "4", "*", "VALUE:4" ], [ "4", "2", "1", "9", "*", "VALUE:4" ], [ "4", "3", "1", "1", "*", "VALUE:4" ], [ "4", "3", "1", "2", "*", "VALUE:4" ], [ "4", "3", "1", "3", "*", "VALUE:4" ], [ "4", "3", "1", "4", "*", "VALUE:4" ], [ "4", "3", "1", "9", "*", "VALUE:4" ], [ "4", "X", "1", "1", "*", "VALUE:4" ], [ "4", "X", "1", "2", "*", "VALUE:4" ], [ "4", "X", "1", "3", "*", "VALUE:4" ], [ "4", "X", "1", "4", "*", "VALUE:4" ], [ "4", "X", "1", "9", "*", "VALUE:4" ], [ "X", "0", "1", "1", "*", "VALUE:4" ], [ "X", "0", "1", "2", "*", "VALUE:4" ], [ "X", "0", "1", "3", "*", "VALUE:4" ], [ "X", "0", "1", "4", "*", "VALUE:4" ], [ "X", "0", "1", "9", "*", "VALUE:4" ], [ "X", "1", "1", "1", "*", "VALUE:4" ], [ "X", "1", "1", "2", "*", "VALUE:4" ], [ "X", "1", "1", "3", "*", "VALUE:4" ], [ "X", "1", "1", "4", "*", "VALUE:4" ], [ "X", "1", "1", "9", "*", "VALUE:4" ], [ "X", "2", "1", "1", "*", "VALUE:4" ], [ "X", "2", "1", "2", "*", "VALUE:4" ], [ "X", "2", "1", "3", "*", "VALUE:4" ], [ "X", "2", "1", "4", "*", "VALUE:4" ], [ "X", "2", "1", "9", "*", "VALUE:4" ], [ "X", "3", "1", "1", "*", "VALUE:4" ], [ "X", "3", "1", "2", "*", "VALUE:4" ], [ "X", "3", "1", "3", "*", "VALUE:4" ], [ "X", "3", "1", "4", "*", "VALUE:4" ], [ "X", "3", "1", "9", "*", "VALUE:4" ], [ "X", "X", "1", "1", "*", "VALUE:4" ], [ "X", "X", "1", "2", "*", "VALUE:4" ], [ "X", "X", "1", "3", "*", "VALUE:4" ], [ "X", "X", "1", "4", "*", "VALUE:4" ], [ "X", "X", "1", "9", "*", "VALUE:4" ], [ "88", "88", "88", "*", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_64205.json b/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_64205.json deleted file mode 100644 index 0849119f9..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tnm_7_stage_squamous_64205.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "tnm_7_stage_squamous_64205", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "TNM 7 Stage Squamous", - "title" : "TNM 7 Stage Squamous", - "last_modified" : "2018-05-14T21:29:04.616Z", - "definition" : [ { - "key" : "t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "grade", - "name" : "Grade", - "type" : "INPUT" - }, { - "key" : "stage", - "name" : "Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "0", "0", "1", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "2", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "3", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "4", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "0", "0", "9", "ERROR:Clinical T0N0M0 is not a valid combination." ], [ "0", "1", "0", "1", "VALUE:99" ], [ "0", "1", "0", "2", "VALUE:99" ], [ "0", "1", "0", "3", "VALUE:99" ], [ "0", "1", "0", "4", "VALUE:99" ], [ "0", "1", "0", "9", "VALUE:99" ], [ "0", "2", "0", "1", "VALUE:3" ], [ "0", "2", "0", "2", "VALUE:3" ], [ "0", "2", "0", "3", "VALUE:3" ], [ "0", "2", "0", "4", "VALUE:3" ], [ "0", "2", "0", "9", "VALUE:3" ], [ "0", "3", "0", "1", "VALUE:3C" ], [ "0", "3", "0", "2", "VALUE:3C" ], [ "0", "3", "0", "3", "VALUE:3C" ], [ "0", "3", "0", "4", "VALUE:3C" ], [ "0", "3", "0", "9", "VALUE:3C" ], [ "0", "X", "0", "1", "VALUE:99" ], [ "0", "X", "0", "2", "VALUE:99" ], [ "0", "X", "0", "3", "VALUE:99" ], [ "0", "X", "0", "4", "VALUE:99" ], [ "0", "X", "0", "9", "VALUE:99" ], [ "IS", "0", "0", "1", "VALUE:0" ], [ "IS", "0", "0", "2", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "0", "0", "3", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "0", "0", "4", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "0", "0", "9", "VALUE:0" ], [ "IS", "1", "0", "1", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "2", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "3", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "4", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "1", "0", "9", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "1", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "2", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "3", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "4", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "2", "0", "9", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "1", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "2", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "3", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "4", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "3", "0", "9", "ERROR:Clinical Tis and Clin N > 0 not expected" ], [ "IS", "X", "0", "1", "VALUE:0" ], [ "IS", "X", "0", "2", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "X", "0", "3", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "X", "0", "4", "ERROR:Clinical Tis and Grade > 1 not expected" ], [ "IS", "X", "0", "9", "VALUE:0" ], [ "1A", "0", "0", "1", "VALUE:1A" ], [ "1A", "0", "0", "2", "VALUE:1B" ], [ "1A", "0", "0", "3", "VALUE:1B" ], [ "1A", "0", "0", "4", "VALUE:1B" ], [ "1A", "0", "0", "9", "VALUE:1A" ], [ "1A", "1", "0", "1", "VALUE:2B" ], [ "1A", "1", "0", "2", "VALUE:2B" ], [ "1A", "1", "0", "3", "VALUE:2B" ], [ "1A", "1", "0", "4", "VALUE:2B" ], [ "1A", "1", "0", "9", "VALUE:2B" ], [ "1A", "2", "0", "1", "VALUE:3A" ], [ "1A", "2", "0", "2", "VALUE:3A" ], [ "1A", "2", "0", "3", "VALUE:3A" ], [ "1A", "2", "0", "4", "VALUE:3A" ], [ "1A", "2", "0", "9", "VALUE:3A" ], [ "1A", "3", "0", "1", "VALUE:3C" ], [ "1A", "3", "0", "2", "VALUE:3C" ], [ "1A", "3", "0", "3", "VALUE:3C" ], [ "1A", "3", "0", "4", "VALUE:3C" ], [ "1A", "3", "0", "9", "VALUE:3C" ], [ "1A", "X", "0", "1", "VALUE:99" ], [ "1A", "X", "0", "2", "VALUE:99" ], [ "1A", "X", "0", "3", "VALUE:99" ], [ "1A", "X", "0", "4", "VALUE:99" ], [ "1A", "X", "0", "9", "VALUE:99" ], [ "1B", "0", "0", "1", "VALUE:1A" ], [ "1B", "0", "0", "2", "VALUE:1B" ], [ "1B", "0", "0", "3", "VALUE:1B" ], [ "1B", "0", "0", "4", "VALUE:1B" ], [ "1B", "0", "0", "9", "VALUE:1A" ], [ "1B", "1", "0", "1", "VALUE:2B" ], [ "1B", "1", "0", "2", "VALUE:2B" ], [ "1B", "1", "0", "3", "VALUE:2B" ], [ "1B", "1", "0", "4", "VALUE:2B" ], [ "1B", "1", "0", "9", "VALUE:2B" ], [ "1B", "2", "0", "1", "VALUE:3A" ], [ "1B", "2", "0", "2", "VALUE:3A" ], [ "1B", "2", "0", "3", "VALUE:3A" ], [ "1B", "2", "0", "4", "VALUE:3A" ], [ "1B", "2", "0", "9", "VALUE:3A" ], [ "1B", "3", "0", "1", "VALUE:3C" ], [ "1B", "3", "0", "2", "VALUE:3C" ], [ "1B", "3", "0", "3", "VALUE:3C" ], [ "1B", "3", "0", "4", "VALUE:3C" ], [ "1B", "3", "0", "9", "VALUE:3C" ], [ "1B", "X", "0", "1", "VALUE:99" ], [ "1B", "X", "0", "2", "VALUE:99" ], [ "1B", "X", "0", "3", "VALUE:99" ], [ "1B", "X", "0", "4", "VALUE:99" ], [ "1B", "X", "0", "9", "VALUE:99" ], [ "1", "0", "0", "1", "VALUE:1A" ], [ "1", "0", "0", "2", "VALUE:1B" ], [ "1", "0", "0", "3", "VALUE:1B" ], [ "1", "0", "0", "4", "VALUE:1B" ], [ "1", "0", "0", "9", "VALUE:1A" ], [ "1", "1", "0", "1", "VALUE:2B" ], [ "1", "1", "0", "2", "VALUE:2B" ], [ "1", "1", "0", "3", "VALUE:2B" ], [ "1", "1", "0", "4", "VALUE:2B" ], [ "1", "1", "0", "9", "VALUE:2B" ], [ "1", "2", "0", "1", "VALUE:3A" ], [ "1", "2", "0", "2", "VALUE:3A" ], [ "1", "2", "0", "3", "VALUE:3A" ], [ "1", "2", "0", "4", "VALUE:3A" ], [ "1", "2", "0", "9", "VALUE:3A" ], [ "1", "3", "0", "1", "VALUE:3C" ], [ "1", "3", "0", "2", "VALUE:3C" ], [ "1", "3", "0", "3", "VALUE:3C" ], [ "1", "3", "0", "4", "VALUE:3C" ], [ "1", "3", "0", "9", "VALUE:3C" ], [ "1", "X", "0", "1", "VALUE:99" ], [ "1", "X", "0", "2", "VALUE:99" ], [ "1", "X", "0", "3", "VALUE:99" ], [ "1", "X", "0", "4", "VALUE:99" ], [ "1", "X", "0", "9", "VALUE:99" ], [ "2", "0", "0", "1", "VALUE:1B" ], [ "2", "0", "0", "2", "VALUE:2A" ], [ "2", "0", "0", "3", "VALUE:2A" ], [ "2", "0", "0", "4", "VALUE:2A" ], [ "2", "0", "0", "9", "VALUE:1B" ], [ "2", "1", "0", "1", "VALUE:2B" ], [ "2", "1", "0", "2", "VALUE:2B" ], [ "2", "1", "0", "3", "VALUE:2B" ], [ "2", "1", "0", "4", "VALUE:2B" ], [ "2", "1", "0", "9", "VALUE:2B" ], [ "2", "2", "0", "1", "VALUE:3A" ], [ "2", "2", "0", "2", "VALUE:3A" ], [ "2", "2", "0", "3", "VALUE:3A" ], [ "2", "2", "0", "4", "VALUE:3A" ], [ "2", "2", "0", "9", "VALUE:3A" ], [ "2", "3", "0", "1", "VALUE:3C" ], [ "2", "3", "0", "2", "VALUE:3C" ], [ "2", "3", "0", "3", "VALUE:3C" ], [ "2", "3", "0", "4", "VALUE:3C" ], [ "2", "3", "0", "9", "VALUE:3C" ], [ "2", "X", "0", "1", "VALUE:99" ], [ "2", "X", "0", "2", "VALUE:99" ], [ "2", "X", "0", "3", "VALUE:99" ], [ "2", "X", "0", "4", "VALUE:99" ], [ "2", "X", "0", "9", "VALUE:99" ], [ "3", "0", "0", "1", "VALUE:1B" ], [ "3", "0", "0", "2", "VALUE:2A" ], [ "3", "0", "0", "3", "VALUE:2A" ], [ "3", "0", "0", "4", "VALUE:2A" ], [ "3", "0", "0", "9", "VALUE:1B" ], [ "3", "1", "0", "1", "VALUE:3A" ], [ "3", "1", "0", "2", "VALUE:3A" ], [ "3", "1", "0", "3", "VALUE:3A" ], [ "3", "1", "0", "4", "VALUE:3A" ], [ "3", "1", "0", "9", "VALUE:3A" ], [ "3", "2", "0", "1", "VALUE:3B" ], [ "3", "2", "0", "2", "VALUE:3B" ], [ "3", "2", "0", "3", "VALUE:3B" ], [ "3", "2", "0", "4", "VALUE:3B" ], [ "3", "2", "0", "9", "VALUE:3B" ], [ "3", "3", "0", "1", "VALUE:3C" ], [ "3", "3", "0", "2", "VALUE:3C" ], [ "3", "3", "0", "3", "VALUE:3C" ], [ "3", "3", "0", "4", "VALUE:3C" ], [ "3", "3", "0", "9", "VALUE:3C" ], [ "3", "X", "0", "1", "VALUE:99" ], [ "3", "X", "0", "2", "VALUE:99" ], [ "3", "X", "0", "3", "VALUE:99" ], [ "3", "X", "0", "4", "VALUE:99" ], [ "3", "X", "0", "9", "VALUE:99" ], [ "4A", "0", "0", "1", "VALUE:3A" ], [ "4A", "0", "0", "2", "VALUE:3A" ], [ "4A", "0", "0", "3", "VALUE:3A" ], [ "4A", "0", "0", "4", "VALUE:3A" ], [ "4A", "0", "0", "9", "VALUE:3A" ], [ "4A", "1", "0", "1", "VALUE:3C" ], [ "4A", "1", "0", "2", "VALUE:3C" ], [ "4A", "1", "0", "3", "VALUE:3C" ], [ "4A", "1", "0", "4", "VALUE:3C" ], [ "4A", "1", "0", "9", "VALUE:3C" ], [ "4A", "2", "0", "1", "VALUE:3C" ], [ "4A", "2", "0", "2", "VALUE:3C" ], [ "4A", "2", "0", "3", "VALUE:3C" ], [ "4A", "2", "0", "4", "VALUE:3C" ], [ "4A", "2", "0", "9", "VALUE:3C" ], [ "4A", "3", "0", "1", "VALUE:3C" ], [ "4A", "3", "0", "2", "VALUE:3C" ], [ "4A", "3", "0", "3", "VALUE:3C" ], [ "4A", "3", "0", "4", "VALUE:3C" ], [ "4A", "3", "0", "9", "VALUE:3C" ], [ "4A", "X", "0", "1", "VALUE:3" ], [ "4A", "X", "0", "2", "VALUE:3" ], [ "4A", "X", "0", "3", "VALUE:3" ], [ "4A", "X", "0", "4", "VALUE:3" ], [ "4A", "X", "0", "9", "VALUE:3" ], [ "4B", "0", "0", "1", "VALUE:3C" ], [ "4B", "0", "0", "2", "VALUE:3C" ], [ "4B", "0", "0", "3", "VALUE:3C" ], [ "4B", "0", "0", "4", "VALUE:3C" ], [ "4B", "0", "0", "9", "VALUE:3C" ], [ "4B", "1", "0", "1", "VALUE:3C" ], [ "4B", "1", "0", "2", "VALUE:3C" ], [ "4B", "1", "0", "3", "VALUE:3C" ], [ "4B", "1", "0", "4", "VALUE:3C" ], [ "4B", "1", "0", "9", "VALUE:3C" ], [ "4B", "2", "0", "1", "VALUE:3C" ], [ "4B", "2", "0", "2", "VALUE:3C" ], [ "4B", "2", "0", "3", "VALUE:3C" ], [ "4B", "2", "0", "4", "VALUE:3C" ], [ "4B", "2", "0", "9", "VALUE:3C" ], [ "4B", "3", "0", "1", "VALUE:3C" ], [ "4B", "3", "0", "2", "VALUE:3C" ], [ "4B", "3", "0", "3", "VALUE:3C" ], [ "4B", "3", "0", "4", "VALUE:3C" ], [ "4B", "3", "0", "9", "VALUE:3C" ], [ "4B", "X", "0", "1", "VALUE:3C" ], [ "4B", "X", "0", "2", "VALUE:3C" ], [ "4B", "X", "0", "3", "VALUE:3C" ], [ "4B", "X", "0", "4", "VALUE:3C" ], [ "4B", "X", "0", "9", "VALUE:3C" ], [ "4", "0", "0", "1", "VALUE:3A" ], [ "4", "0", "0", "2", "VALUE:3A" ], [ "4", "0", "0", "3", "VALUE:3A" ], [ "4", "0", "0", "4", "VALUE:3A" ], [ "4", "0", "0", "9", "VALUE:3A" ], [ "4", "1", "0", "1", "VALUE:3C" ], [ "4", "1", "0", "2", "VALUE:3C" ], [ "4", "1", "0", "3", "VALUE:3C" ], [ "4", "1", "0", "4", "VALUE:3C" ], [ "4", "1", "0", "9", "VALUE:3C" ], [ "4", "2", "0", "1", "VALUE:3C" ], [ "4", "2", "0", "2", "VALUE:3C" ], [ "4", "2", "0", "3", "VALUE:3C" ], [ "4", "2", "0", "4", "VALUE:3C" ], [ "4", "2", "0", "9", "VALUE:3C" ], [ "4", "3", "0", "1", "VALUE:3C" ], [ "4", "3", "0", "2", "VALUE:3C" ], [ "4", "3", "0", "3", "VALUE:3C" ], [ "4", "3", "0", "4", "VALUE:3C" ], [ "4", "3", "0", "9", "VALUE:3C" ], [ "4", "X", "0", "1", "VALUE:3" ], [ "4", "X", "0", "2", "VALUE:3" ], [ "4", "X", "0", "3", "VALUE:3" ], [ "4", "X", "0", "4", "VALUE:3" ], [ "4", "X", "0", "9", "VALUE:3" ], [ "X", "0", "0", "1", "VALUE:99" ], [ "X", "0", "0", "2", "VALUE:99" ], [ "X", "0", "0", "3", "VALUE:99" ], [ "X", "0", "0", "4", "VALUE:99" ], [ "X", "0", "0", "9", "VALUE:99" ], [ "X", "1", "0", "1", "VALUE:99" ], [ "X", "1", "0", "2", "VALUE:99" ], [ "X", "1", "0", "3", "VALUE:99" ], [ "X", "1", "0", "4", "VALUE:99" ], [ "X", "1", "0", "9", "VALUE:99" ], [ "X", "2", "0", "1", "VALUE:3" ], [ "X", "2", "0", "2", "VALUE:3" ], [ "X", "2", "0", "3", "VALUE:3" ], [ "X", "2", "0", "4", "VALUE:3" ], [ "X", "2", "0", "9", "VALUE:3" ], [ "X", "3", "0", "1", "VALUE:3C" ], [ "X", "3", "0", "2", "VALUE:3C" ], [ "X", "3", "0", "3", "VALUE:3C" ], [ "X", "3", "0", "4", "VALUE:3C" ], [ "X", "3", "0", "9", "VALUE:3C" ], [ "X", "X", "0", "1", "VALUE:99" ], [ "X", "X", "0", "2", "VALUE:99" ], [ "X", "X", "0", "3", "VALUE:99" ], [ "X", "X", "0", "4", "VALUE:99" ], [ "X", "X", "0", "9", "VALUE:99" ], [ "0", "0", "1", "1", "VALUE:4" ], [ "0", "0", "1", "2", "VALUE:4" ], [ "0", "0", "1", "3", "VALUE:4" ], [ "0", "0", "1", "4", "VALUE:4" ], [ "0", "0", "1", "9", "VALUE:4" ], [ "0", "1", "1", "1", "VALUE:4" ], [ "0", "1", "1", "2", "VALUE:4" ], [ "0", "1", "1", "3", "VALUE:4" ], [ "0", "1", "1", "4", "VALUE:4" ], [ "0", "1", "1", "9", "VALUE:4" ], [ "0", "2", "1", "1", "VALUE:4" ], [ "0", "2", "1", "2", "VALUE:4" ], [ "0", "2", "1", "3", "VALUE:4" ], [ "0", "2", "1", "4", "VALUE:4" ], [ "0", "2", "1", "9", "VALUE:4" ], [ "0", "3", "1", "1", "VALUE:4" ], [ "0", "3", "1", "2", "VALUE:4" ], [ "0", "3", "1", "3", "VALUE:4" ], [ "0", "3", "1", "4", "VALUE:4" ], [ "0", "3", "1", "9", "VALUE:4" ], [ "0", "X", "1", "1", "VALUE:4" ], [ "0", "X", "1", "2", "VALUE:4" ], [ "0", "X", "1", "3", "VALUE:4" ], [ "0", "X", "1", "4", "VALUE:4" ], [ "0", "X", "1", "9", "VALUE:4" ], [ "IS", "0", "1", "1", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "2", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "3", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "4", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "0", "1", "9", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "1", "1", "1", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "2", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "3", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "4", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "1", "1", "9", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "1", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "2", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "3", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "4", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "2", "1", "9", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "1", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "2", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "3", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "4", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "3", "1", "9", "ERROR:Clinical Tis and N > 0 or M > 0 not expected" ], [ "IS", "X", "1", "1", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "2", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "3", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "4", "ERROR:Clinical Tis and M > 0 not expected" ], [ "IS", "X", "1", "9", "ERROR:Clinical Tis and M > 0 not expected" ], [ "1A", "0", "1", "1", "VALUE:4" ], [ "1A", "0", "1", "2", "VALUE:4" ], [ "1A", "0", "1", "3", "VALUE:4" ], [ "1A", "0", "1", "4", "VALUE:4" ], [ "1A", "0", "1", "9", "VALUE:4" ], [ "1A", "1", "1", "1", "VALUE:4" ], [ "1A", "1", "1", "2", "VALUE:4" ], [ "1A", "1", "1", "3", "VALUE:4" ], [ "1A", "1", "1", "4", "VALUE:4" ], [ "1A", "1", "1", "9", "VALUE:4" ], [ "1A", "2", "1", "1", "VALUE:4" ], [ "1A", "2", "1", "2", "VALUE:4" ], [ "1A", "2", "1", "3", "VALUE:4" ], [ "1A", "2", "1", "4", "VALUE:4" ], [ "1A", "2", "1", "9", "VALUE:4" ], [ "1A", "3", "1", "1", "VALUE:4" ], [ "1A", "3", "1", "2", "VALUE:4" ], [ "1A", "3", "1", "3", "VALUE:4" ], [ "1A", "3", "1", "4", "VALUE:4" ], [ "1A", "3", "1", "9", "VALUE:4" ], [ "1A", "X", "1", "1", "VALUE:4" ], [ "1A", "X", "1", "2", "VALUE:4" ], [ "1A", "X", "1", "3", "VALUE:4" ], [ "1A", "X", "1", "4", "VALUE:4" ], [ "1A", "X", "1", "9", "VALUE:4" ], [ "1B", "0", "1", "1", "VALUE:4" ], [ "1B", "0", "1", "2", "VALUE:4" ], [ "1B", "0", "1", "3", "VALUE:4" ], [ "1B", "0", "1", "4", "VALUE:4" ], [ "1B", "0", "1", "9", "VALUE:4" ], [ "1B", "1", "1", "1", "VALUE:4" ], [ "1B", "1", "1", "2", "VALUE:4" ], [ "1B", "1", "1", "3", "VALUE:4" ], [ "1B", "1", "1", "4", "VALUE:4" ], [ "1B", "1", "1", "9", "VALUE:4" ], [ "1B", "2", "1", "1", "VALUE:4" ], [ "1B", "2", "1", "2", "VALUE:4" ], [ "1B", "2", "1", "3", "VALUE:4" ], [ "1B", "2", "1", "4", "VALUE:4" ], [ "1B", "2", "1", "9", "VALUE:4" ], [ "1B", "3", "1", "1", "VALUE:4" ], [ "1B", "3", "1", "2", "VALUE:4" ], [ "1B", "3", "1", "3", "VALUE:4" ], [ "1B", "3", "1", "4", "VALUE:4" ], [ "1B", "3", "1", "9", "VALUE:4" ], [ "1B", "X", "1", "1", "VALUE:4" ], [ "1B", "X", "1", "2", "VALUE:4" ], [ "1B", "X", "1", "3", "VALUE:4" ], [ "1B", "X", "1", "4", "VALUE:4" ], [ "1B", "X", "1", "9", "VALUE:4" ], [ "1", "0", "1", "1", "VALUE:4" ], [ "1", "0", "1", "2", "VALUE:4" ], [ "1", "0", "1", "3", "VALUE:4" ], [ "1", "0", "1", "4", "VALUE:4" ], [ "1", "0", "1", "9", "VALUE:4" ], [ "1", "1", "1", "1", "VALUE:4" ], [ "1", "1", "1", "2", "VALUE:4" ], [ "1", "1", "1", "3", "VALUE:4" ], [ "1", "1", "1", "4", "VALUE:4" ], [ "1", "1", "1", "9", "VALUE:4" ], [ "1", "2", "1", "1", "VALUE:4" ], [ "1", "2", "1", "2", "VALUE:4" ], [ "1", "2", "1", "3", "VALUE:4" ], [ "1", "2", "1", "4", "VALUE:4" ], [ "1", "2", "1", "9", "VALUE:4" ], [ "1", "3", "1", "1", "VALUE:4" ], [ "1", "3", "1", "2", "VALUE:4" ], [ "1", "3", "1", "3", "VALUE:4" ], [ "1", "3", "1", "4", "VALUE:4" ], [ "1", "3", "1", "9", "VALUE:4" ], [ "1", "X", "1", "1", "VALUE:4" ], [ "1", "X", "1", "2", "VALUE:4" ], [ "1", "X", "1", "3", "VALUE:4" ], [ "1", "X", "1", "4", "VALUE:4" ], [ "1", "X", "1", "9", "VALUE:4" ], [ "2", "0", "1", "1", "VALUE:4" ], [ "2", "0", "1", "2", "VALUE:4" ], [ "2", "0", "1", "3", "VALUE:4" ], [ "2", "0", "1", "4", "VALUE:4" ], [ "2", "0", "1", "9", "VALUE:4" ], [ "2", "1", "1", "1", "VALUE:4" ], [ "2", "1", "1", "2", "VALUE:4" ], [ "2", "1", "1", "3", "VALUE:4" ], [ "2", "1", "1", "4", "VALUE:4" ], [ "2", "1", "1", "9", "VALUE:4" ], [ "2", "2", "1", "1", "VALUE:4" ], [ "2", "2", "1", "2", "VALUE:4" ], [ "2", "2", "1", "3", "VALUE:4" ], [ "2", "2", "1", "4", "VALUE:4" ], [ "2", "2", "1", "9", "VALUE:4" ], [ "2", "3", "1", "1", "VALUE:4" ], [ "2", "3", "1", "2", "VALUE:4" ], [ "2", "3", "1", "3", "VALUE:4" ], [ "2", "3", "1", "4", "VALUE:4" ], [ "2", "3", "1", "9", "VALUE:4" ], [ "2", "X", "1", "1", "VALUE:4" ], [ "2", "X", "1", "2", "VALUE:4" ], [ "2", "X", "1", "3", "VALUE:4" ], [ "2", "X", "1", "4", "VALUE:4" ], [ "2", "X", "1", "9", "VALUE:4" ], [ "3", "0", "1", "1", "VALUE:4" ], [ "3", "0", "1", "2", "VALUE:4" ], [ "3", "0", "1", "3", "VALUE:4" ], [ "3", "0", "1", "4", "VALUE:4" ], [ "3", "0", "1", "9", "VALUE:4" ], [ "3", "1", "1", "1", "VALUE:4" ], [ "3", "1", "1", "2", "VALUE:4" ], [ "3", "1", "1", "3", "VALUE:4" ], [ "3", "1", "1", "4", "VALUE:4" ], [ "3", "1", "1", "9", "VALUE:4" ], [ "3", "2", "1", "1", "VALUE:4" ], [ "3", "2", "1", "2", "VALUE:4" ], [ "3", "2", "1", "3", "VALUE:4" ], [ "3", "2", "1", "4", "VALUE:4" ], [ "3", "2", "1", "9", "VALUE:4" ], [ "3", "3", "1", "1", "VALUE:4" ], [ "3", "3", "1", "2", "VALUE:4" ], [ "3", "3", "1", "3", "VALUE:4" ], [ "3", "3", "1", "4", "VALUE:4" ], [ "3", "3", "1", "9", "VALUE:4" ], [ "3", "X", "1", "1", "VALUE:4" ], [ "3", "X", "1", "2", "VALUE:4" ], [ "3", "X", "1", "3", "VALUE:4" ], [ "3", "X", "1", "4", "VALUE:4" ], [ "3", "X", "1", "9", "VALUE:4" ], [ "4A", "0", "1", "1", "VALUE:4" ], [ "4A", "0", "1", "2", "VALUE:4" ], [ "4A", "0", "1", "3", "VALUE:4" ], [ "4A", "0", "1", "4", "VALUE:4" ], [ "4A", "0", "1", "9", "VALUE:4" ], [ "4A", "1", "1", "1", "VALUE:4" ], [ "4A", "1", "1", "2", "VALUE:4" ], [ "4A", "1", "1", "3", "VALUE:4" ], [ "4A", "1", "1", "4", "VALUE:4" ], [ "4A", "1", "1", "9", "VALUE:4" ], [ "4A", "2", "1", "1", "VALUE:4" ], [ "4A", "2", "1", "2", "VALUE:4" ], [ "4A", "2", "1", "3", "VALUE:4" ], [ "4A", "2", "1", "4", "VALUE:4" ], [ "4A", "2", "1", "9", "VALUE:4" ], [ "4A", "3", "1", "1", "VALUE:4" ], [ "4A", "3", "1", "2", "VALUE:4" ], [ "4A", "3", "1", "3", "VALUE:4" ], [ "4A", "3", "1", "4", "VALUE:4" ], [ "4A", "3", "1", "9", "VALUE:4" ], [ "4A", "X", "1", "1", "VALUE:4" ], [ "4A", "X", "1", "2", "VALUE:4" ], [ "4A", "X", "1", "3", "VALUE:4" ], [ "4A", "X", "1", "4", "VALUE:4" ], [ "4A", "X", "1", "9", "VALUE:4" ], [ "4B", "0", "1", "1", "VALUE:4" ], [ "4B", "0", "1", "2", "VALUE:4" ], [ "4B", "0", "1", "3", "VALUE:4" ], [ "4B", "0", "1", "4", "VALUE:4" ], [ "4B", "0", "1", "9", "VALUE:4" ], [ "4B", "1", "1", "1", "VALUE:4" ], [ "4B", "1", "1", "2", "VALUE:4" ], [ "4B", "1", "1", "3", "VALUE:4" ], [ "4B", "1", "1", "4", "VALUE:4" ], [ "4B", "1", "1", "9", "VALUE:4" ], [ "4B", "2", "1", "1", "VALUE:4" ], [ "4B", "2", "1", "2", "VALUE:4" ], [ "4B", "2", "1", "3", "VALUE:4" ], [ "4B", "2", "1", "4", "VALUE:4" ], [ "4B", "2", "1", "9", "VALUE:4" ], [ "4B", "3", "1", "1", "VALUE:4" ], [ "4B", "3", "1", "2", "VALUE:4" ], [ "4B", "3", "1", "3", "VALUE:4" ], [ "4B", "3", "1", "4", "VALUE:4" ], [ "4B", "3", "1", "9", "VALUE:4" ], [ "4B", "X", "1", "1", "VALUE:4" ], [ "4B", "X", "1", "2", "VALUE:4" ], [ "4B", "X", "1", "3", "VALUE:4" ], [ "4B", "X", "1", "4", "VALUE:4" ], [ "4B", "X", "1", "9", "VALUE:4" ], [ "4", "0", "1", "1", "VALUE:4" ], [ "4", "0", "1", "2", "VALUE:4" ], [ "4", "0", "1", "3", "VALUE:4" ], [ "4", "0", "1", "4", "VALUE:4" ], [ "4", "0", "1", "9", "VALUE:4" ], [ "4", "1", "1", "1", "VALUE:4" ], [ "4", "1", "1", "2", "VALUE:4" ], [ "4", "1", "1", "3", "VALUE:4" ], [ "4", "1", "1", "4", "VALUE:4" ], [ "4", "1", "1", "9", "VALUE:4" ], [ "4", "2", "1", "1", "VALUE:4" ], [ "4", "2", "1", "2", "VALUE:4" ], [ "4", "2", "1", "3", "VALUE:4" ], [ "4", "2", "1", "4", "VALUE:4" ], [ "4", "2", "1", "9", "VALUE:4" ], [ "4", "3", "1", "1", "VALUE:4" ], [ "4", "3", "1", "2", "VALUE:4" ], [ "4", "3", "1", "3", "VALUE:4" ], [ "4", "3", "1", "4", "VALUE:4" ], [ "4", "3", "1", "9", "VALUE:4" ], [ "4", "X", "1", "1", "VALUE:4" ], [ "4", "X", "1", "2", "VALUE:4" ], [ "4", "X", "1", "3", "VALUE:4" ], [ "4", "X", "1", "4", "VALUE:4" ], [ "4", "X", "1", "9", "VALUE:4" ], [ "X", "0", "1", "1", "VALUE:4" ], [ "X", "0", "1", "2", "VALUE:4" ], [ "X", "0", "1", "3", "VALUE:4" ], [ "X", "0", "1", "4", "VALUE:4" ], [ "X", "0", "1", "9", "VALUE:4" ], [ "X", "1", "1", "1", "VALUE:4" ], [ "X", "1", "1", "2", "VALUE:4" ], [ "X", "1", "1", "3", "VALUE:4" ], [ "X", "1", "1", "4", "VALUE:4" ], [ "X", "1", "1", "9", "VALUE:4" ], [ "X", "2", "1", "1", "VALUE:4" ], [ "X", "2", "1", "2", "VALUE:4" ], [ "X", "2", "1", "3", "VALUE:4" ], [ "X", "2", "1", "4", "VALUE:4" ], [ "X", "2", "1", "9", "VALUE:4" ], [ "X", "3", "1", "1", "VALUE:4" ], [ "X", "3", "1", "2", "VALUE:4" ], [ "X", "3", "1", "3", "VALUE:4" ], [ "X", "3", "1", "4", "VALUE:4" ], [ "X", "3", "1", "9", "VALUE:4" ], [ "X", "X", "1", "1", "VALUE:4" ], [ "X", "X", "1", "2", "VALUE:4" ], [ "X", "X", "1", "3", "VALUE:4" ], [ "X", "X", "1", "4", "VALUE:4" ], [ "X", "X", "1", "9", "VALUE:4" ], [ "88", "88", "88", "*", "VALUE:88" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tongue_anterior_t_49048.json b/src/test/resources/algorithms/tnm/2.0/tables/tongue_anterior_t_49048.json deleted file mode 100644 index 96132de11..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tongue_anterior_t_49048.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "tongue_anterior_t_49048", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Tongue Anterior", - "title" : "Pathologic T", - "notes" : "**Note 1:** Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** For the following descriptions, assign the appropriate T category (T1, T2 or T3) based on the tumor size when involvement is limited to the cortical bone. Involvement through cortical bone is required for assignment of T4a. \n\n Invasive tumor on one side confined to\n Lamina propria\n Submucosa\n\n Midline tumor\n Tumor crosses midline\n\n Base of tongue\n Bone, NOS\n Cortical bone of mandible\n Cortical bone of maxilla\n Cortical bone, NOS\n Floor of mouth\n Gingiva, lower\n Mandible, NOS\n Maxilla, NOS\n Retromolar trigone\n Sublingual gland\n\n Confined to anterior tongue\n Localized, NOS", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.580Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "In situ, intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension", "Stated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "(lip) Tumor invades through: \n Cortical bone \n Floor of mouth\n Inferior alveolar nerve\n Skin (chin or nose)\n\n(oral cavity) Tumor invades through: \n Cortical bone \n Into deep/extrinsic muscle of tongue: \n Genioglossus\n Hyoglossus\n Palatoglossus\n Styloglossus \n Maxillary sinus \n Skin of face", "Lateral pharyngeal wall\nSoft palate, inferior surface\nTonsillar pillars and fossae\nTonsils\nTrabecular bone of mandible\nTrabecular bone of maxilla\n\nDeep (extrinsic) muscle of tongue: \n Geniohyoid\n Mylohyoid\n \nStated as T4a" ], [ "p4B", "pT4b", "(lip and oral cavity) Tumor invades: \n Masticator space \n Pterygoid plates\n Skull base\n\nor Encases internal carotid artery", "Specified bone \n\nFurther contiguous extension\n\nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/tonguebase_t_15526.json b/src/test/resources/algorithms/tnm/2.0/tables/tonguebase_t_15526.json deleted file mode 100644 index 7f1d7d4c1..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/tonguebase_t_15526.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "tonguebase_t_15526", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Tongue Base", - "title" : "Pathologic T", - "notes" : "**Note 1:** The intrinsic muscles of tongue are four paired muscles within the tongue which control its shape. The extrinsic muscles originate from structures outside the tongue and control its positioning.\n\n**Note 2:** Tumor size must be known to assign a value of T1, T2 or T3. You may use a physician’s statement of the T category if this is the only information in the medical record. \n* If the tumor appears to be in the T1, T2 or T3 categories, but no size or category is specified, assign TX\n\n**Note 3:** Assign the appropriate T category (T1-T3) based on the tumor size for the following descriptions \n\n Invasive tumor on one side confined to posterior one-third of tongue\n Lamina propria\n Submucosa\n Anterior two-thirds of tongue for base of tongue\n Base of tongue for lingual tonsil\n Base of tongue tumor crosses midline\n Floor of mouth\n Glossoepiglottic fold\n Glossopharyngeal fold\n Lateral pharyngeal wall\n Lingual tonsil for base of tongue\n Lower gingiva\n Midline tumor\n Musculature, intrinsic or NOS \n Pharyngoepiglottic fold\n Soft palate, inferior surface or NOS including uvula\n Sublingual gland\n Tonsillar pillars and fossae\n Tumor of lingual tonsil on both sides\n Tonsils\n Vallecula\n\n Confined to base of tongue\n Localized, NOS", - "footnotes" : "\\* T4 [NOS] is not defined by UICC in the 7th edition. Approval has been provided by UICC to use \"Tumor invades bone, nerve or extrinsic deep muscles\" as T4 [NOS].\n\\# T4 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:04.559Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \n Tumor size (TS) unknown for T categories where TS needed to determine T\nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive\n\nStated as Tis" ], [ "p1", "pT1", "Tumor 2 cm or less in greatest dimension", "Stated as T1" ], [ "p2", "pT2", "Tumor more than 2 cm but not more than 4 cm in greatest dimension", "Stated as T2" ], [ "p3", "pT3", "Tumor more than 4 cm in greatest dimension OR \nextension to lingual surface of epiglottis", "Epiglottis, lingual surface plus soft palate\n\nStated as T3" ], [ "p4", "pT4", "Not defined by UICC*#", "Note: T4 has subcategories of T4a and T4b. Assign T4 only when there is no information available to assign one of the subcategories.\n\nTumor invades bone, nerve or extrinsic deep muscles\n\nStated as T4[NOS]" ], [ "p4A", "pT4a", "Tumor invades any of the following:\n Larynx\n Deep/extrinsic muscle of tongue, which are: \n Genioglossus\n Hyoglossus\n Palatoglossus \n Styloglossus\n Medial pterygoid\n Hard palate\n Mandible", "Hypopharynx\n\nStated as T4a" ], [ "p4B", "pT4b", "Tumor invades any of the following:\n Lateral pterygoid muscle\n Pterygoid plates\n Lateral nasopharynx\n Skull base\n Encases carotid artery", "Skin\n\nFurther contiguous extension\n \nStated as T4b" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/urethra_n_54953.json b/src/test/resources/algorithms/tnm/2.0/tables/urethra_n_54953.json deleted file mode 100644 index 527fdcdcb..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/urethra_n_54953.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "urethra_n_54953", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path N Urethra", - "title" : "Pathologic N", - "notes" : "**Note 1:** Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in M (distant metastasis).\n\n**Note 2:** Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 3:** Size of the largest metastasis in a lymph node must be known to assign N. You may use a physician’s statement of the N category if this is the only information in the medical record.\n* If the size of the metastasis is not documented, determine the size of the largest involved lymph node as documented pathologically\n* If the size of the lymph node(s) cannot be determined, assign N1\n* Do not code the size of any node(s) assigned in M (distant metastasis)", - "last_modified" : "2018-05-14T21:29:01.675Z", - "definition" : [ { - "key" : "path_n", - "name" : "Pathologic N", - "type" : "INPUT" - }, { - "key" : "path_n_display", - "name" : "Pathologic N Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pNX", "Regional lymph nodes cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess N\n Surgical resection primary tumor, no regional lymph nodes removed\n Involvement of regional lymph nodes not documented\nPhysician assigns pNX, no other information available to determine N" ], [ "p0", "pN0", "No regional lymph node metastasis", "" ], [ "p1", "pN1", "Metastasis in a single lymph node 2 cm or less in greatest dimension", "SINGLE regional lymph node, less than or equal to 2 cm:\n Iliac, NOS:\n Common\n External\n Internal (hypogastric), NOS:\n Obturator\n Inguinal, NOS:\n Deep inguinal, NOS\n Node of Cloquet or Rosenmuller (highest deep inguinal)\n Superficial (femoral)\n Pelvic, NOS\n Sacral, NOS\n Presacral\n\nSize and/or number positive lymph nodes not stated\n\nRegional lymph node, NOS\nLymph nodes, NOS\n\nStated as N1" ], [ "p2", "pN2", "Metastasis in a single lymph node more than 2 cm in greatest dimension, or in multiple lymph nodes", "SINGLE regional lymph node greater than 2 cm OR \nMULTIPLE positive regional lymph nodes \n\nStated as N2" ], [ "c0", "cN0", "Clinically: No regional lymph node metastasis", "Use only for TNM defined pTis cases where there is a resection of the primary and the nodes are not evaluated pathologically" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/urethra_t_77785.json b/src/test/resources/algorithms/tnm/2.0/tables/urethra_t_77785.json deleted file mode 100644 index 815295df0..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/urethra_t_77785.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "urethra_t_77785", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Urethra", - "title" : "Pathologic T", - "notes" : "**Note 1:** In case of multifocal noninvasive Ta and Tis tumors, assign pTis. \n\n**Note 2:** If assigned pTis, then Behavior code ICD-O-3 must be /2.\n\n**Note 3:** The presence of muscle around the urethra varies between males and females and, in males, varies among the segments of the urethra. The outer muscular coat (muscularis) is absent in most of the male urethra except for the membranous portion. In females, the muscle coat is continuous from the bladder wall. In addition, in both males and females, there is sphincteric muscle, which may be smooth or skeletal muscle. \n* Invasion of periurethral muscle is assigned T1, unless it is specified as invasion of sphincter muscle, which is assigned T2\n* Invasion of muscle at the neck of the bladder is assigned T3\n* If the only information is \"invasion of muscle\", NOS, or \"invasion of periurethral muscle\", NOS, assign T1", - "last_modified" : "2018-05-14T21:29:01.583Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done: \n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pA", "pTa", "Non-invasive papillary, polypoid, or verrucous carcinoma", "" ], [ "pIS", "pTis", "Carcinoma in situ", "Intraepithelial, noninvasive (flat, sessile), NOS" ], [ "pISD", "pTispd", "Carcinoma in situ, involvement of prostatic ducts", "Intraepithelial, noninvasive: involvement of prostatic ducts" ], [ "pISU", "pTispu", "Carcinoma in situ, involvement of prostatic urethra", "Intraepithelial, noninvasive: involvement of prostatic urethra" ], [ "p1", "pT1", "Tumor invades subepithelial connective tissue", "Subepithelial connective tissue (lamina propria, submucosa) invaded\n\nLocalized, NOS\n\nStated as T1" ], [ "p2", "pT2", "Tumor invades any of the following: \n Corpus spongiosum\n Periurethral muscle\n Prostate", "Muscularis invaded\n\nSphincter muscle; periurethral muscle specified as sphincter\n\nStated as T2" ], [ "p3", "pT3", "Tumor invades any of the following: \n Beyond prostatic capsule \n Bladder neck (extraprostatic extension)\n Corpus cavernosum", "Vagina, anterior or NOS\n\nStated as T3" ], [ "p4", "pT4", "Tumor invades other adjacent organs (invasion of the bladder)", "Other adjacent organs, including\n Bladder (excluding bladder neck)\n Seminal vesicle(s)\n\nFurther contiguous extension\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Pathologic classification criteria not met \nPathologic classification criteria met, evaluation done: \n Results not documented in patient record \n No surgical resection of known primary tumor (not T0) \n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn’t a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup\nOnly Pathologic Stage Group documented (no T, N, or M information available)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/vagina_t_91502.json b/src/test/resources/algorithms/tnm/2.0/tables/vagina_t_91502.json deleted file mode 100644 index 2776a3f44..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/vagina_t_91502.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "vagina_t_91502", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Vagina", - "title" : "Pathologic T", - "notes" : "**Note 1:** FIGO does not include an in situ category for tumors of the vagina, but TNM does. Assign pTis (behavior code /2) for in situ cases. \n\n**Note 2:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III, assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is (pathologic) FIGO stage IVB, leave pathologic T and N blank and see M\n\n**Note 3:** The presence of bullous edema is not sufficient evidence to classify a tumor as T4.\n\n**Note 4:** The pelvic wall is defined as muscle, fascia, neurovascular structures, or skeletal portions of the bony pelvis.", - "last_modified" : "2018-05-14T21:29:01.212Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess T\n Surgical resection primary tumor, extension not stated \nPhysician assigns pTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ (preinvasive carcinoma)", "Intraepithelial, noninvasive" ], [ "p1", "pT1", "Tumor confined to vagina", "Invasive cancer confined to: \n Submucosa (stroma) (vagina)\n\nMusculature involved\n\nLocalized, NOS\n\nFIGO Stage I\n\nStated as T1" ], [ "p2", "pT2", "Tumor invades paravaginal tissues (pracolpium)", "Cervix\nCul de sac (rectouterine pouch)\nParavaginal soft tissue\nRectovaginal septum\nVesicovaginal septum\nVulva\n\nFIGO Stage II\n\nStated as T2" ], [ "p3", "pT3", "Tumor extends to pelvic wall", "Extension to: \n Bladder wall or bladder, NOS excluding mucosa\n Pelvic wall (described clinically as frozen pelvis)\n Rectal wall or rectum, NOS excluding mucosa\n\nStated as T3" ], [ "p4", "pT4", "Tumor invades mucosa of bladder or rectum, OR \n\nExtends beyond the true pelvis", "Extension to: \n Bladder mucosa (excluding bullous edema)\n Rectal mucosa\n Urethra\n\nFIGO Stage IVA\n\nStated as T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III or IVB\n\nPathologic classification not met\nPathologic classification criteria met, evaluation done:\n Results not documented in patient record\n No surgical resection of known primary tumor (not T0) OR\n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/vulva_t_1223.json b/src/test/resources/algorithms/tnm/2.0/tables/vulva_t_1223.json deleted file mode 100644 index 38323e29b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/vulva_t_1223.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "vulva_t_1223", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Path T Vulva", - "title" : "Pathologic T", - "notes" : "**Note 1:** FIGO does not include an in situ category for tumors of the vulva, but TNM does. Assign pTis (behavior code /2) for in situ cases. \n\n**Note 2:** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the T in preference to a statement of FIGO stage - see Registrar notes.\n* If the only information is (pathologic) FIGO III [NOS], IIIA, IIIB, IIIC, or IVA, assign the appropriate stage and leave pathologic T, N, and M blank. If the only information is (pathologic) FIGO stage IVB, leave pathologic T and N blank and see M\n\n**Note 3:** FIGO Stage I, IA and IB are defined by the following\n* Size of tumor \n* Involvement of vulva OR vulva and perineum\n* Depth of stromal invasion\n\n**Note 4:** The depth of invasion is defined as the measurement of the tumor from the epithelial-stromal junction of the adjacent most superficial dermal papilla to the deepest point of invasion. (1)\n\n**Note 5:** T3 is not used by FIGO. They label it T4. If you have a record which states T4, assign T3. (1)\n\n**Note 6:** FIGO Stage IVA is assigned based on tumor extension and/or regional lymph node involvement.", - "footnotes" : "(1) International Union Against Cancer (UICC) *TNM Classification of Malignant Tumors,* 7th ed., Sobin, LH, Gospodarowicz, M, Wittekind, CH, eds. New York: Wiley, 2009, pg., 198\n\n\\# T1 [NOS] is not defined in AJCC 7th edition.", - "last_modified" : "2018-05-14T21:29:01.575Z", - "definition" : [ { - "key" : "path_t", - "name" : "Pathologic T", - "type" : "INPUT" - }, { - "key" : "path_t_display", - "name" : "Pathologic T Display", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "notes", - "name" : "Registrar Notes", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "pX", "pTX", "Primary tumor cannot be assessed", "Pathologic classification criteria met, evaluation done:\n Physician unable to assess T\n Surgical resection of primary tumor, extension not stated\n Physician assigns cTX, no other information available to determine T" ], [ "p0", "pT0", "No evidence of primary tumor", "" ], [ "pIS", "pTis", "Carcinoma in situ (preinvasive carcinoma)\nIntraepithelial neoplasia Grade III (VIN III)", "Noninvasive\nBowen disease" ], [ "p1", "pT1", "Tumor confined to vulva or vulva and perineum#", "Note: T1 has subcategories of T1a and T1b. Assign T1 only when there is no information available to assign one of the subcategories\n\nVulva and perineum: Stromal invasion but depth of invasion in millimeters not stated\n\nInvasive carcinoma confined to:\n Musculature\n Submucosa\n Vulva including skin\n\nConfined to the vulva and perineum, size unknown\n\nLocalized, NOS\n\nFIGO Stage I [NOS]\n\nStated as T1 [NOS]" ], [ "p1A", "pT1a", "Tumor 2 cm or less in greatest dimension and with stromal invasion no greater than 1.0 mm", "Vulva and perineum: Stromal invasion less than or equal to 1 mm\n\nFIGO Stage IA\n\nStated as T1a" ], [ "p1B", "pT1b", "Tumor greater than 2 cm or with stromal invasion greater than 1 mm", "Vulva and perineum: Stromal invasion greater than 1 mm\n\nFIGO Stage IB\n\nStated as T1b" ], [ "p2", "pT2", "Tumor of any size with extension to adjacent perineal structures: \n Anus\n Lower third urethra \n Lower third vagina", "Perianal skin\nUrethra, NOS \nVagina NOS\n\nFIGO Stage II\n\nStated as T2" ], [ "p3", "pT3", "Tumor of any size with extension to the following structures:\n Bladder mucosa\n Fixed to pelvic bone\n Rectal mucosa\n Upper 2/3 urethra\n Upper 2/3 vagina", "Bladder wall or bladder, NOS (including mucosa)\nPerineal body\nRectal wall or rectum, NOS (including mucosa)\n\nFurther contiguous extension\n\nStated as T3 or T4" ], [ "88", "88", "Not applicable", "Primary site/histology not TNM defined\nDeath certificate only (DCO) case" ], [ "", "BLANK", "See Registrar Notes", "Only information is FIGO Stage III [NOS], IIIA, IIIB, IIIC, IVA, or IVB\n\nPathologic classification not met\nPathologic classification criteria met, evaluation done:\n Results not documented in patient record\n No surgical resection of known primary tumor (not T0) OR\n Resection insufficient for site-specific pathologic assessment\nNo surgical resection of primary tumor and there isn't a positive biopsy of a structure in the highest T category and highest N category\nEvidence of metastatic disease (pM1), no other workup" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/tnm/2.0/tables/year_dx_validation.json b/src/test/resources/algorithms/tnm/2.0/tables/year_dx_validation.json deleted file mode 100644 index e19a7aa3b..000000000 --- a/src/test/resources/algorithms/tnm/2.0/tables/year_dx_validation.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "year_dx_validation", - "algorithm" : "tnm", - "version" : "2.0", - "name" : "Year DX Validation", - "title" : "Year of Diagnosis Validation", - "last_modified" : "2018-05-14T21:29:03.706Z", - "definition" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "2016-2017,9999", "MATCH" ] ] -} \ No newline at end of file From 4964dfae6c8b7111966d446e089cc5447d975e49 Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 18 Nov 2025 16:38:00 -0500 Subject: [PATCH 16/33] Working on publishing --- .github/workflows/cs-comparison.yml | 25 ++++++++++-------- .github/workflows/publish.yml | 41 ++++++++++++++++++++--------- pom.xml | 29 ++++++++++++++++++++ 3 files changed, 71 insertions(+), 24 deletions(-) diff --git a/.github/workflows/cs-comparison.yml b/.github/workflows/cs-comparison.yml index d25b6d647..a8defbcaf 100644 --- a/.github/workflows/cs-comparison.yml +++ b/.github/workflows/cs-comparison.yml @@ -1,15 +1,9 @@ -# Run the full CS ingration comparison -# -# This is just a proof of concept for now since the raw input is not available as it -# is too large to include in repository. - name: cs-comparison on: workflow_dispatch jobs: build: - runs-on: ubuntu-latest steps: @@ -19,11 +13,20 @@ jobs: - name: Set up JDK uses: actions/setup-java@v4 with: - distribution: 'adopt' + distribution: 'temurin' java-version: '21' - cache: 'gradle' + cache: 'maven' + + - name: Cache Maven packages + uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- - - name: CS Comparison + - name: Build and run CS Comparison run: | - chmod +x gradlew - ./gradlew :staging-client-java-cs:csIntegrationTest + chmod +x ./mvnw + ./mvnw -B clean package -DskipTests + ./mvnw exec:java -Dexec.mainClass="com.imsweb.staging.cs.CsComparisonMain" \ No newline at end of file diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a39adfaf6..e9f00e111 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,4 +1,4 @@ -# Publish to Maven Central +# Publish to Maven Central (Maven) name: publish @@ -10,26 +10,41 @@ on: jobs: publish: - runs-on: ubuntu-latest + permissions: + contents: read + steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up JDK + - name: Set up JDK 21 for Maven Central uses: actions/setup-java@v4 with: - distribution: 'adopt' + distribution: 'temurin' java-version: '21' - cache: 'gradle' + cache: 'maven' + + # Must match in + server-id: ossrh + + # These are Maven properties in settings.xml; values come from env below + server-username: MAVEN_CENTRAL_USERNAME + server-password: MAVEN_CENTRAL_PASSWORD - - name: Publish to Maven Central (Portal) - run: | - chmod +x gradlew - ./gradlew publishAndReleaseToMavenCentral --no-configuration-cache + # GPG setup (uses your in-memory private key) + gpg-private-key: ${{ secrets.SIGNING_KEY }} + + # Name of env var that holds the passphrase (see pom passphraseEnvName) + gpg-passphrase: MAVEN_GPG_PASSPHRASE + + - name: Publish to Maven Central + run: mvn -B -ntp clean deploy -P release -DskipTests env: - ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }} - ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} - ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY }} - ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }} + # Sonatype / Central credentials + MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }} + MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} + + # GPG passphrase (referenced by MAVEN_GPG_PASSPHRASE name) + MAVEN_GPG_PASSPHRASE: ${{ secrets.SIGNING_PASSWORD }} diff --git a/pom.xml b/pom.xml index 9cab924ab..9baee0f00 100644 --- a/pom.xml +++ b/pom.xml @@ -272,6 +272,35 @@ + + + + release + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.2.7 + + true + MAVEN_GPG_PASSPHRASE + + + + sign-artifacts + verify + + sign + + + + + + + + + ossrh From ea5cd067daed0f9cd2f57b575a210fe22b6468e8 Mon Sep 17 00:00:00 2001 From: mayc Date: Wed, 19 Nov 2025 08:38:15 -0500 Subject: [PATCH 17/33] Zip bomb detection --- pom.xml | 7 --- .../ExternalStagingFileDataProvider.java | 61 ++++++++++++++++--- 2 files changed, 51 insertions(+), 17 deletions(-) diff --git a/pom.xml b/pom.xml index 9baee0f00..5b2e189a7 100644 --- a/pom.xml +++ b/pom.xml @@ -46,7 +46,6 @@ 0.6.3 3.20.0 2.6.1.Final - 1.17 5.9 @@ -107,12 +106,6 @@ runtime - - org.zeroturnaround - zt-zip - ${zt-zip.version} - - com.imsweb seerapi-client-java diff --git a/src/main/java/com/imsweb/staging/ExternalStagingFileDataProvider.java b/src/main/java/com/imsweb/staging/ExternalStagingFileDataProvider.java index eb4b301ef..a3d1f1961 100644 --- a/src/main/java/com/imsweb/staging/ExternalStagingFileDataProvider.java +++ b/src/main/java/com/imsweb/staging/ExternalStagingFileDataProvider.java @@ -3,10 +3,10 @@ */ package com.imsweb.staging; -import java.io.BufferedReader; +import java.io.BufferedInputStream; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; @@ -15,7 +15,6 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; @@ -47,6 +46,11 @@ public class ExternalStagingFileDataProvider extends StagingDataProvider { private final Map _schemas = new HashMap<>(); private final Map _glossaryTerms = new HashMap<>(); + private static final int THRESHOLD_ENTRIES = 10000; + private static final long THRESHOLD_ENTRY_SIZE = 10L * 1024 * 1024; + private static final long THRESHOLD_SIZE = 100_000_000; // 100 MB + private static final double THRESHOLD_RATIO = 50; + /** * Constructor loads all schemas and sets up table cache * @param zipFilePath full path to algorithm zip file @@ -80,11 +84,28 @@ public ExternalStagingFileDataProvider(InputStream is) throws IOException { init(is); } + private record EntryData(String json, long uncompressedSize) {} + /** - * Read a zip entry from an inputstream and return as a byte array + * Read a zip entry from an inputstream and return as a String */ - private static String extractEntry(InputStream is) { - return new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)).lines().collect(Collectors.joining("\n")); + private static EntryData readEntrySafely(InputStream is) throws IOException { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + byte[] buffer = new byte[8192]; + long total = 0; + int read; + + while ((read = is.read(buffer)) != -1) { + total += read; + + if (total > THRESHOLD_ENTRY_SIZE) + throw new IllegalStateException("Zip entry is too large; maximum permitted per entry is " + THRESHOLD_ENTRY_SIZE + " bytes"); + + baos.write(buffer, 0, read); + } + + String json = baos.toString(StandardCharsets.UTF_8); + return new EntryData(json, total); } /** @@ -93,17 +114,37 @@ private static String extractEntry(InputStream is) { private void init(InputStream is) throws IOException { Set algorithms = new HashSet<>(); Set versions = new HashSet<>(); + long totalSizeArchive = 0L; + int totalEntries = 0; TrieBuilder builder = Trie.builder().onlyWholeWords().ignoreCase(); - try (ZipInputStream stream = new ZipInputStream(is)) { + try (ZipInputStream stream = new ZipInputStream(new BufferedInputStream(is))) { ZipEntry entry; while ((entry = stream.getNextEntry()) != null) { if (entry.isDirectory() || !entry.getName().endsWith(".json")) continue; + totalEntries++; + + if (totalEntries > THRESHOLD_ENTRIES) + throw new IllegalStateException("Algorithm zip file has too many entries; maximum permitted is " + THRESHOLD_ENTRIES); + + EntryData data = readEntrySafely(stream); + + totalSizeArchive += data.uncompressedSize; + if (totalSizeArchive > THRESHOLD_SIZE) + throw new IllegalStateException("Algorithm zip file uncompressed size is too large; maximum permitted is " + THRESHOLD_SIZE + " bytes"); + + long compressedSize = entry.getCompressedSize(); // may be -1 if unknown + if (compressedSize > 0) { + double ratio = (double)data.uncompressedSize / (double)compressedSize; + if (ratio > THRESHOLD_RATIO) + throw new IllegalStateException("Zip entry compression ratio too high (" + ratio + "); potential zip bomb"); + } + if (entry.getName().startsWith("tables")) { - StagingTable table = getMapper().reader().readValue(getMapper().getFactory().createParser(extractEntry(stream)), StagingTable.class); + StagingTable table = getMapper().reader().readValue(getMapper().getFactory().createParser(data.json()), StagingTable.class); initTable(table); @@ -113,7 +154,7 @@ private void init(InputStream is) throws IOException { _tables.put(table.getId(), table); } else if (entry.getName().startsWith("schemas")) { - StagingSchema schema = getMapper().reader().readValue(getMapper().getFactory().createParser(extractEntry(stream)), StagingSchema.class); + StagingSchema schema = getMapper().reader().readValue(getMapper().getFactory().createParser(data.json()), StagingSchema.class); initSchema(schema); @@ -123,7 +164,7 @@ else if (entry.getName().startsWith("schemas")) { _schemas.put(schema.getId(), schema); } else if (entry.getName().startsWith("glossary")) { - GlossaryDefinition glossary = getMapper().reader().readValue(getMapper().getFactory().createParser(extractEntry(stream)), GlossaryDefinition.class); + GlossaryDefinition glossary = getMapper().reader().readValue(getMapper().getFactory().createParser(data.json()), GlossaryDefinition.class); _glossaryTerms.put(glossary.getName(), glossary); builder.addKeyword(glossary.getName()); } From b8135635e55f0f3624e1b92396d9a1784af72d42 Mon Sep 17 00:00:00 2001 From: mayc Date: Wed, 19 Nov 2025 08:48:44 -0500 Subject: [PATCH 18/33] Fix Sonarqube issues --- src/main/java/com/imsweb/staging/engine/DecisionEngine.java | 3 +-- src/test/java/com/imsweb/staging/updater/UpdaterUtils.java | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/imsweb/staging/engine/DecisionEngine.java b/src/main/java/com/imsweb/staging/engine/DecisionEngine.java index 391b97522..7211754fd 100644 --- a/src/main/java/com/imsweb/staging/engine/DecisionEngine.java +++ b/src/main/java/com/imsweb/staging/engine/DecisionEngine.java @@ -17,7 +17,6 @@ import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.stream.Collectors; import com.imsweb.staging.entities.ColumnDefinition; import com.imsweb.staging.entities.ColumnDefinition.ColumnType; @@ -839,7 +838,7 @@ protected boolean process(String mappingId, String tableId, TablePath path, Resu result.addError(new ErrorBuilder(Type.MATCH_NOT_FOUND) .message("Match not found in table '" + tableId + "' (" + getTableInputsAsString(table, result.getContext()) + ")") .table(tableId) - .columns(table.getColumnDefinitions().stream().filter(c -> c.getType().equals(ColumnType.ENDPOINT)).map(ColumnDefinition::getKey).collect(Collectors.toList())) + .columns(table.getColumnDefinitions().stream().filter(c -> c.getType().equals(ColumnType.ENDPOINT)).map(ColumnDefinition::getKey).toList()) .build()); } else { diff --git a/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java b/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java index 53db16cd3..893ce0a8c 100644 --- a/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java +++ b/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java @@ -198,7 +198,7 @@ else if (unusedTableIds.contains(id) && !id.startsWith("conversion_")) List keywords = glossaryEntries.entrySet().stream() .sorted(Entry.comparingByKey()) .map(e -> e.getKey() + "~" + e.getValue()) - .collect(Collectors.toList()); + .toList(); Files.write(Paths.get(glossaryDir + "/terms.txt"), keywords, StandardCharsets.UTF_8); _LOG.info("Saved glossary terms to {}/terms.txt", schemaDir); From 53d0dc72a7f69f3425c12a57fd21a76fcc1b5301 Mon Sep 17 00:00:00 2001 From: mayc Date: Wed, 19 Nov 2025 10:22:49 -0500 Subject: [PATCH 19/33] Zip downloaded algorithms automatically --- .../imsweb/staging/cs/CsUpdateFromAPI.java | 3 +- .../pediatric/PediatricUpdateFromAPI.java | 3 +- .../imsweb/staging/tnm/TnmUpdateFromAPI.java | 3 +- .../imsweb/staging/updater/UpdaterUtils.java | 45 +++++++++++++++++++ 4 files changed, 51 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/imsweb/staging/cs/CsUpdateFromAPI.java b/src/test/java/com/imsweb/staging/cs/CsUpdateFromAPI.java index 75d4c39f7..cea86b1f7 100644 --- a/src/test/java/com/imsweb/staging/cs/CsUpdateFromAPI.java +++ b/src/test/java/com/imsweb/staging/cs/CsUpdateFromAPI.java @@ -1,6 +1,7 @@ package com.imsweb.staging.cs; import java.io.IOException; +import java.nio.file.Paths; import java.util.Collections; import java.util.HashSet; @@ -12,7 +13,7 @@ public class CsUpdateFromAPI { public static void main(String[] args) throws IOException { - UpdaterUtils.update("cs", "02.05.50", new HashSet<>(Collections.singletonList("STAGING"))); + UpdaterUtils.update("cs", "02.05.50", new HashSet<>(Collections.singletonList("STAGING")), Paths.get("c:/dev/tmp")); } } diff --git a/src/test/java/com/imsweb/staging/pediatric/PediatricUpdateFromAPI.java b/src/test/java/com/imsweb/staging/pediatric/PediatricUpdateFromAPI.java index 64b78bab6..76f24ff07 100644 --- a/src/test/java/com/imsweb/staging/pediatric/PediatricUpdateFromAPI.java +++ b/src/test/java/com/imsweb/staging/pediatric/PediatricUpdateFromAPI.java @@ -1,6 +1,7 @@ package com.imsweb.staging.pediatric; import java.io.IOException; +import java.nio.file.Paths; import java.util.Collections; import java.util.HashSet; @@ -12,7 +13,7 @@ public class PediatricUpdateFromAPI { public static void main(String[] args) throws IOException { - UpdaterUtils.update("pediatric", "1.3", new HashSet<>(Collections.singletonList("STAGING"))); + UpdaterUtils.update("pediatric", "1.3", new HashSet<>(Collections.singletonList("STAGING")), Paths.get("c:/dev/tmp")); } } diff --git a/src/test/java/com/imsweb/staging/tnm/TnmUpdateFromAPI.java b/src/test/java/com/imsweb/staging/tnm/TnmUpdateFromAPI.java index 2650f773b..d239ecc6f 100644 --- a/src/test/java/com/imsweb/staging/tnm/TnmUpdateFromAPI.java +++ b/src/test/java/com/imsweb/staging/tnm/TnmUpdateFromAPI.java @@ -1,6 +1,7 @@ package com.imsweb.staging.tnm; import java.io.IOException; +import java.nio.file.Paths; import java.util.Collections; import java.util.HashSet; @@ -12,7 +13,7 @@ public class TnmUpdateFromAPI { public static void main(String[] args) throws IOException { - UpdaterUtils.update("tnm", "2.0", new HashSet<>(Collections.singletonList("STAGING"))); + UpdaterUtils.update("tnm", "2.0", new HashSet<>(Collections.singletonList("STAGING")), Paths.get("c:/dev/tmp")); } } diff --git a/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java b/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java index 893ce0a8c..36646ae00 100644 --- a/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java +++ b/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java @@ -2,6 +2,7 @@ import java.io.File; import java.io.IOException; +import java.io.UncheckedIOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; @@ -16,6 +17,9 @@ import java.util.Set; import java.util.regex.Pattern; import java.util.stream.Collectors; +import java.util.stream.Stream; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -202,6 +206,15 @@ else if (unusedTableIds.contains(id) && !id.startsWith("conversion_")) Files.write(Paths.get(glossaryDir + "/terms.txt"), keywords, StandardCharsets.UTF_8); _LOG.info("Saved glossary terms to {}/terms.txt", schemaDir); + // Zip up schemas/, tables/, glossary/ + Path versionDir = Paths.get(baseDirectory); + zipAlgorithm(algorithm, version, versionDir); + + _LOG.info("Created ZIP: {}/{}-{}.zip", + versionDir.getParent().getParent(), + algorithm, + version); + stopwatch.stop(); _LOG.info("Completed in {}", stopwatch); } @@ -230,4 +243,36 @@ private static int purgeDirectory(File dir) { return count; } + /** + * Zip the algorithm + */ + private static void zipAlgorithm(String algorithm, String version, Path versionDir) throws IOException { + Path algorithmsDir = versionDir.getParent().getParent(); // .../algorithms + Path zipPath = algorithmsDir.resolve(algorithm + "-" + version + ".zip"); + + try (ZipOutputStream zos = new ZipOutputStream(Files.newOutputStream(zipPath))) { + for (String folder : new String[] {"schemas", "tables", "glossary"}) { + Path folderPath = versionDir.resolve(folder); + if (!Files.exists(folderPath)) + continue; + + try (Stream walk = Files.walk(folderPath)) { + walk.filter(Files::isRegularFile) + .forEach(path -> { + Path relative = versionDir.relativize(path); + ZipEntry entry = new ZipEntry(relative.toString().replace('\\', '/')); + try { + zos.putNextEntry(entry); + Files.copy(path, zos); + zos.closeEntry(); + } + catch (IOException e) { + throw new UncheckedIOException(e); + } + }); + } + } + } + } + } From 964328aec70336fc2aeced704a5efe4b5929c0fc Mon Sep 17 00:00:00 2001 From: mayc Date: Wed, 19 Nov 2025 10:44:04 -0500 Subject: [PATCH 20/33] FIx UpdaterUtils --- .../imsweb/staging/updater/UpdaterUtils.java | 44 ++++++++++++++++--- 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java b/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java index 36646ae00..5d5817867 100644 --- a/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java +++ b/src/test/java/com/imsweb/staging/updater/UpdaterUtils.java @@ -4,9 +4,11 @@ import java.io.IOException; import java.io.UncheckedIOException; import java.nio.charset.StandardCharsets; +import java.nio.file.DirectoryStream; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashMap; @@ -56,6 +58,7 @@ public final class UpdaterUtils { private static final Logger _LOG = LoggerFactory.getLogger(UpdaterUtils.class); + private static final Path TEST_ALGORITHMS_DIR = Paths.get("src", "test", "resources", "algorithms"); private static final Pattern _ID_CHARACTERS = Pattern.compile("[a-z0-9_]+"); /** @@ -208,12 +211,10 @@ else if (unusedTableIds.contains(id) && !id.startsWith("conversion_")) // Zip up schemas/, tables/, glossary/ Path versionDir = Paths.get(baseDirectory); - zipAlgorithm(algorithm, version, versionDir); + Path zipPath = zipAlgorithm(algorithm, version, versionDir); + _LOG.info("Created ZIP: {}/{}-{}.zip", versionDir.getParent().getParent(), algorithm, version); - _LOG.info("Created ZIP: {}/{}-{}.zip", - versionDir.getParent().getParent(), - algorithm, - version); + copyZipToProject(algorithm, zipPath); stopwatch.stop(); _LOG.info("Completed in {}", stopwatch); @@ -246,7 +247,8 @@ private static int purgeDirectory(File dir) { /** * Zip the algorithm */ - private static void zipAlgorithm(String algorithm, String version, Path versionDir) throws IOException { + private static Path zipAlgorithm(String algorithm, String version, Path versionDir) throws IOException { + // versionDir = .../algorithms// Path algorithmsDir = versionDir.getParent().getParent(); // .../algorithms Path zipPath = algorithmsDir.resolve(algorithm + "-" + version + ".zip"); @@ -273,6 +275,36 @@ private static void zipAlgorithm(String algorithm, String version, Path versionD } } } + + return zipPath; + } + + /** + * Move zip file into project deleting the existing one; only one version of an algorithm should exist in the project at once + */ + private static void copyZipToProject(String algorithm, Path zipPath) throws IOException { + if (!Files.exists(TEST_ALGORITHMS_DIR)) { + _LOG.info("Test algorithms directory {} does not exist; skipping copy of {}", TEST_ALGORITHMS_DIR.toAbsolutePath(), zipPath.getFileName()); + return; + } + + if (!Files.isDirectory(TEST_ALGORITHMS_DIR)) + throw new IllegalStateException("Not a directory: " + TEST_ALGORITHMS_DIR.toAbsolutePath()); + + // delete existing zips for this algorithm + try (DirectoryStream stream = Files.newDirectoryStream(TEST_ALGORITHMS_DIR, algorithm + "-*.zip")) { + for (Path oldZip : stream) { + _LOG.info("Deleting old ZIP {}", oldZip.toAbsolutePath()); + Files.deleteIfExists(oldZip); + } + } + + // copy new zip + Path dest = TEST_ALGORITHMS_DIR.resolve(zipPath.getFileName()); + Files.createDirectories(TEST_ALGORITHMS_DIR); + Files.copy(zipPath, dest, StandardCopyOption.REPLACE_EXISTING); + + _LOG.info("Installed {} into {}", dest.getFileName(), dest.toAbsolutePath()); } } From 0f5bdc37ac21df505c3e4268cfce8c530cc79350 Mon Sep 17 00:00:00 2001 From: mayc Date: Wed, 19 Nov 2025 11:21:03 -0500 Subject: [PATCH 21/33] Clean up publishing --- .github/workflows/publish.yml | 26 ++++++++++++++ pom.xml | 65 +++++++++++++++++++---------------- 2 files changed, 62 insertions(+), 29 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e9f00e111..914d38763 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,4 +1,30 @@ # Publish to Maven Central (Maven) +# +# Non-SNAPSHOT releases are done automatically on Git tag. SNAPSHOT releases are not handled by CI; use +# the following command to release a SNAPSHOT (ensure the version in pom.xml is a SNAPSHOT version): +# +# $ .\mvnw.cmd deploy -DskipTests +# +# Note that to release locally you will need to set up a settings.xml file in you user +# home .m2 directory. The username and password is generated at: +# +# https://central.sonatype.com/usertoken. +# +# Here is the settings.xml file: +# +# +# +# +# +# central +# USERNAME FROM GENERATED TOKEN +# PASSWORD FROM GENERATED TOKEN +# +# +# name: publish diff --git a/pom.xml b/pom.xml index 5b2e189a7..56b12cc5d 100644 --- a/pom.xml +++ b/pom.xml @@ -267,41 +267,48 @@ - - release - - - - org.apache.maven.plugins - maven-gpg-plugin - 3.2.7 - - true - MAVEN_GPG_PASSPHRASE - - - - sign-artifacts - verify - - sign - - - - - - - + release + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.2.7 + + + sign-artifacts + verify + sign + + + + + + org.sonatype.central + central-publishing-maven-plugin + 0.9.0 + true + + central + default + true + + + + + + - ossrh - https://s01.oss.sonatype.org/content/repositories/snapshots + central + https://central.sonatype.com/repository/maven-snapshots/ + - ossrh - https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ + central + https://central.sonatype.com/publish From e5535f5f9863f56488ed29ac09559f61fde6784c Mon Sep 17 00:00:00 2001 From: mayc Date: Wed, 19 Nov 2025 11:29:02 -0500 Subject: [PATCH 22/33] Fix class name --- .github/workflows/cs-comparison.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cs-comparison.yml b/.github/workflows/cs-comparison.yml index a8defbcaf..7254131af 100644 --- a/.github/workflows/cs-comparison.yml +++ b/.github/workflows/cs-comparison.yml @@ -29,4 +29,4 @@ jobs: run: | chmod +x ./mvnw ./mvnw -B clean package -DskipTests - ./mvnw exec:java -Dexec.mainClass="com.imsweb.staging.cs.CsComparisonMain" \ No newline at end of file + ./mvnw exec:java -Dexec.mainClass="com.imsweb.staging.cs.CsIntegrationTest" \ No newline at end of file From 89bb90cc80f32d92f3a3d35bc05fb0e979301556 Mon Sep 17 00:00:00 2001 From: mayc Date: Wed, 19 Nov 2025 11:39:02 -0500 Subject: [PATCH 23/33] Try again --- .github/workflows/cs-comparison.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cs-comparison.yml b/.github/workflows/cs-comparison.yml index 7254131af..0ac24294e 100644 --- a/.github/workflows/cs-comparison.yml +++ b/.github/workflows/cs-comparison.yml @@ -28,5 +28,7 @@ jobs: - name: Build and run CS Comparison run: | chmod +x ./mvnw - ./mvnw -B clean package -DskipTests - ./mvnw exec:java -Dexec.mainClass="com.imsweb.staging.cs.CsIntegrationTest" \ No newline at end of file + ./mvnw -B exec:java \ + -DskipTests \ + -Dexec.mainClass=com.imsweb.staging.cs.CsIntegrationTest \ + -Dexec.classpathScope=test \ No newline at end of file From 3d937787f274dae20ea26b27b9166713d56d8ac8 Mon Sep 17 00:00:00 2001 From: mayc Date: Wed, 19 Nov 2025 13:07:03 -0500 Subject: [PATCH 24/33] Debug --- .github/workflows/cs-comparison.yml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cs-comparison.yml b/.github/workflows/cs-comparison.yml index 0ac24294e..c72653865 100644 --- a/.github/workflows/cs-comparison.yml +++ b/.github/workflows/cs-comparison.yml @@ -25,10 +25,22 @@ jobs: restore-keys: | ${{ runner.os }}-maven- - - name: Build and run CS Comparison + # Debug: make sure the class actually exists in this branch + - name: Debug – locate CsIntegrationTest + run: | + pwd + echo "Searching for CsIntegrationTest.java and .class..." + find . -maxdepth 6 -type f \( -name 'CsIntegrationTest.java' -o -name 'CsIntegrationTest.class' \) -print || echo "Not found" + + - name: Compile tests run: | chmod +x ./mvnw + ./mvnw -B test-compile -DskipTests + + # Run the comparison using the test classpath + - name: Build and run CS Comparison + run: | ./mvnw -B exec:java \ -DskipTests \ -Dexec.mainClass=com.imsweb.staging.cs.CsIntegrationTest \ - -Dexec.classpathScope=test \ No newline at end of file + -Dexec.classpathScope=test From d31ee9f5aa6bbc3ebfa50cffd89cededcd47c6af Mon Sep 17 00:00:00 2001 From: mayc Date: Wed, 19 Nov 2025 13:18:54 -0500 Subject: [PATCH 25/33] Seems to work now --- .github/workflows/cs-comparison.yml | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/.github/workflows/cs-comparison.yml b/.github/workflows/cs-comparison.yml index c72653865..f66589076 100644 --- a/.github/workflows/cs-comparison.yml +++ b/.github/workflows/cs-comparison.yml @@ -25,22 +25,9 @@ jobs: restore-keys: | ${{ runner.os }}-maven- - # Debug: make sure the class actually exists in this branch - - name: Debug – locate CsIntegrationTest - run: | - pwd - echo "Searching for CsIntegrationTest.java and .class..." - find . -maxdepth 6 -type f \( -name 'CsIntegrationTest.java' -o -name 'CsIntegrationTest.class' \) -print || echo "Not found" - - - name: Compile tests - run: | - chmod +x ./mvnw - ./mvnw -B test-compile -DskipTests - # Run the comparison using the test classpath - name: Build and run CS Comparison run: | - ./mvnw -B exec:java \ - -DskipTests \ - -Dexec.mainClass=com.imsweb.staging.cs.CsIntegrationTest \ - -Dexec.classpathScope=test + chmod +x ./mvnw + ./mvnw -B test-compile -DskipTests + ./mvnw -B exec:java -DskipTests -Dexec.mainClass=com.imsweb.staging.cs.CsIntegrationTest -Dexec.classpathScope=test From 927711bba38122942f5809eb415785a6db0881df Mon Sep 17 00:00:00 2001 From: mayc Date: Wed, 19 Nov 2025 14:00:16 -0500 Subject: [PATCH 26/33] Fixed log message typo --- src/test/java/com/imsweb/staging/cs/CsIntegrationTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/imsweb/staging/cs/CsIntegrationTest.java b/src/test/java/com/imsweb/staging/cs/CsIntegrationTest.java index 6ae603503..988c7bc2e 100644 --- a/src/test/java/com/imsweb/staging/cs/CsIntegrationTest.java +++ b/src/test/java/com/imsweb/staging/cs/CsIntegrationTest.java @@ -78,7 +78,7 @@ private static void execute() throws IOException, InterruptedException, URISynta String perMs = String.format("%.3f", ((float)stopwatch.elapsed(TimeUnit.MILLISECONDS) / totalCases)); _LOG.info(""); - _LOG.info("Completed {}} cases ({} files) in {} ({}ms/case).", NumberFormat.getNumberInstance(Locale.US).format(totalCases), totalFiles, stopwatch, perMs); + _LOG.info("Completed {} cases ({} files) in {} ({}ms/case).", NumberFormat.getNumberInstance(Locale.US).format(totalCases), totalFiles, stopwatch, perMs); if (totalFailures > 0) _LOG.error("There were {} failing cases.", NumberFormat.getNumberInstance(Locale.US).format(totalFailures)); } From e24a5c57cc1c89b0ef7b62f29ac84d91cde85987 Mon Sep 17 00:00:00 2001 From: mayc Date: Wed, 19 Nov 2025 14:02:47 -0500 Subject: [PATCH 27/33] Oops. Need to switch this. --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 914d38763..c3ac1fb37 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -53,7 +53,7 @@ jobs: cache: 'maven' # Must match in - server-id: ossrh + server-id: central # These are Maven properties in settings.xml; values come from env below server-username: MAVEN_CENTRAL_USERNAME From e1ab3311a023a3788b218b893557b0482c63b7e4 Mon Sep 17 00:00:00 2001 From: mayc Date: Wed, 19 Nov 2025 14:28:41 -0500 Subject: [PATCH 28/33] We are about ready --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 56b12cc5d..805e380b3 100644 --- a/pom.xml +++ b/pom.xml @@ -296,8 +296,8 @@ - - + + From 9ad3190b857113c536e45c38b501901099c7090b Mon Sep 17 00:00:00 2001 From: mayc Date: Wed, 19 Nov 2025 16:10:48 -0500 Subject: [PATCH 29/33] Add new Staging init methods --- README.md | 353 ++++++++++-------- src/main/java/com/imsweb/staging/Staging.java | 20 + .../ExternalStagingFileDataProviderTest.java | 11 +- .../java/com/imsweb/staging/StagingTest.java | 6 +- 4 files changed, 237 insertions(+), 153 deletions(-) diff --git a/README.md b/README.md index 845d51301..063ae8373 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ A cancer staging client library for Java applications. ### Pediatric Data Collection System (PDCS or Pediatric) -Pediatric Data Collection System (Pediatric) is a set of three data items that describe how far a cancer has spread at the time of diagnosis for Pediatric cancers. +Pediatric Data Collection System (Pediatric) is a set of three data items that describe how far a cancer has spread at the time of diagnosis for Pediatric cancers. PDCS can be collected for cases diagnosed in 2018 and later. In each Pediatric schema, valid values, definitions, and registrar notes are provided for @@ -20,29 +20,29 @@ In each Pediatric schema, valid values, definitions, and registrar notes are pro - Pediatric Mets - Site-Specific Data Items (SSDIs) -For cancer cases diagnosed January 1, 2024 and later, the NCI SEER program will collect the Pediatric Data Collection System fields. The schemas have been +For cancer cases diagnosed January 1, 2024 and later, the NCI SEER program will collect the Pediatric Data Collection System fields. The schemas have been developed to be compatible with the Toronto Staging v1.1 definitions. To get started using the Pediatric staging algorithm, instantiate a `Staging` instance: ```java -Staging staging=Staging.getInstance(PediatricDataProvider.getInstance(PediatricVersion.LATEST)); +Staging staging = Staging.getInstance(PediatricDataProvider.getInstance(PediatricVersion.LATEST)); ``` If a specific version is needed, the algorithm zip file can be downloaded and initialized using an `ExternalStagingFileDataProvider`. -| Version | Release | Algorithm ZIP | -|---------------|------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------| -| 1.3 | [11.7.1](https://github.com/imsweb/staging-client-java/releases/tag/v11.7.1) | [pediatric-1.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.7.1/pediatric-1.3.zip) | -| 1.3 (**BETA**) | [11.6.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.6.0) | [pediatric-1.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.6.0/pediatric-1.3.zip) | +| Version | Release | Algorithm ZIP | +|-----------------|------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------| +| 1.3 | [11.7.1](https://github.com/imsweb/staging-client-java/releases/tag/v11.7.1) | [pediatric-1.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.7.1/pediatric-1.3.zip) | +| 1.3 (**BETA**) | [11.6.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.6.0) | [pediatric-1.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.6.0/pediatric-1.3.zip) | | 1.2 (*revised*) | [11.3.2](https://github.com/imsweb/staging-client-java/releases/tag/v11.3.2) | [pediatric-1.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.3.2/pediatric-1.2.zip) | -| 1.2 | [11.2.5](https://github.com/imsweb/staging-client-java/releases/tag/v11.2.5) | [pediatric-1.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.2.5/pediatric-1.2.zip) | -| 1.1 | [11.2.2](https://github.com/imsweb/staging-client-java/releases/tag/v11.2.2) | [pediatric-1.1.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.2.2/pediatric-1.1.zip) | -| 1.0 | [11.0.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.0.0) | [pediatric-1.0.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.0.0/pediatric-1.0.zip) | -| 0.5 | [10.2.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.2.0) | [toronto-0.5.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.2.0/toronto-0.5.zip) | -| 0.4 | [10.1.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.1.0) | [toronto-0.4.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.1.0/toronto-0.4.zip) | -| 0.3 | [10.0.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.0.0) | [toronto-0.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.0.0/toronto-0.3.zip) | -| 0.2 | [9.1](https://github.com/imsweb/staging-client-java/releases/tag/v9.1) | [toronto-0.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v9.1/toronto-0.2.zip) | +| 1.2 | [11.2.5](https://github.com/imsweb/staging-client-java/releases/tag/v11.2.5) | [pediatric-1.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.2.5/pediatric-1.2.zip) | +| 1.1 | [11.2.2](https://github.com/imsweb/staging-client-java/releases/tag/v11.2.2) | [pediatric-1.1.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.2.2/pediatric-1.1.zip) | +| 1.0 | [11.0.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.0.0) | [pediatric-1.0.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.0.0/pediatric-1.0.zip) | +| 0.5 | [10.2.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.2.0) | [toronto-0.5.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.2.0/toronto-0.5.zip) | +| 0.4 | [10.1.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.1.0) | [toronto-0.4.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.1.0/toronto-0.4.zip) | +| 0.3 | [10.0.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.0.0) | [toronto-0.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.0.0/toronto-0.3.zip) | +| 0.2 | [9.1](https://github.com/imsweb/staging-client-java/releases/tag/v9.1) | [toronto-0.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v9.1/toronto-0.2.zip) | ### EOD @@ -66,19 +66,19 @@ formats and code structures specific to the data item. To get started using the EOD algorithm, instantiate a `Staging` instance: ```java -Staging staging=Staging.getInstance(EodDataProvider.getInstance(EodVersion.LATEST)); +Staging staging = Staging.getInstance(EodDataProvider.getInstance(EodVersion.LATEST)); ``` If a specific version is needed, the algorithm zip file can be downloaded and initialized using an `ExternalStagingFileDataProvider`. -| Version | Release | Algorithm ZIP | -|---------|------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------| -| 3.3 | [11.7.1](https://github.com/imsweb/staging-client-java/releases/tag/v11.7.1) | [eod_public-3.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.7.1/eod_public-3.3.zip) | +| Version | Release | Algorithm ZIP | +|----------------|------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------| +| 3.3 | [11.7.1](https://github.com/imsweb/staging-client-java/releases/tag/v11.7.1) | [eod_public-3.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.7.1/eod_public-3.3.zip) | | 3.3 (**BETA**) | [11.6.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.6.0) | [eod_public-3.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.6.0/eod_public-3.3.zip) | -| 3.2 | [11.4.1](https://github.com/imsweb/staging-client-java/releases/tag/v11.4.1) | [eod_public-3.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.3.1/eod_public-3.2.zip) | -| 3.1 | [10.3.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.3.0) | [eod_public-3.1.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.3.0/eod_public-3.1.zip) | -| 3.0 | [10.0.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.0.0) | [eod_public-3.0.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.0.0/eod_public-3.0.zip) | -| 2.1 | [8.0](https://github.com/imsweb/staging-client-java/releases/tag/v8.0) | [eod_public-2.1.zip](https://github.com/imsweb/staging-client-java/releases/download/v8.0/eod_public-2.1.zip) | +| 3.2 | [11.4.1](https://github.com/imsweb/staging-client-java/releases/tag/v11.4.1) | [eod_public-3.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.3.1/eod_public-3.2.zip) | +| 3.1 | [10.3.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.3.0) | [eod_public-3.1.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.3.0/eod_public-3.1.zip) | +| 3.0 | [10.0.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.0.0) | [eod_public-3.0.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.0.0/eod_public-3.0.zip) | +| 2.1 | [8.0](https://github.com/imsweb/staging-client-java/releases/tag/v8.0) | [eod_public-2.1.zip](https://github.com/imsweb/staging-client-java/releases/download/v8.0/eod_public-2.1.zip) | ### TNM @@ -99,7 +99,7 @@ Collaborative Stage, which would derive Summary Stage 2000. To get started using the TNM algorithm, instantiate a `Staging` instance: ```java -Staging staging=Staging.getInstance(TnmDataProvider.getInstance(TnmVersion.LATEST)); +Staging staging = Staging.getInstance(TnmDataProvider.getInstance(TnmVersion.LATEST)); ``` If a specific version is needed, the algorithm zip file can be downloaded and initialized using an `ExternalStagingFileDataProvider`. @@ -118,7 +118,7 @@ all cancer sites. To get started using the CS algorithm, instantiate a `Staging` instance: ```java -Staging staging=Staging.getInstance(CsDataProvider.getInstance(CsVersion.LATEST)); +Staging staging = Staging.getInstance(CsDataProvider.getInstance(CsVersion.LATEST)); ``` | Version | Release | Algorithm ZIP | @@ -129,7 +129,7 @@ Staging staging=Staging.getInstance(CsDataProvider.getInstance(CsVersion.LATEST) Java 8 is the minimum version required to use the library. -If you are interested in just the library without any bundled algorithm, it can be included with the following. +It can be included with the following. Maven @@ -148,41 +148,8 @@ Gradle compile 'com.imsweb:staging-client-java:x.x.x' ``` -If you are interested in a specific algorithm, you can include them using their specific artifact. - -Maven - -```xml - - com.imsweb - staging-client-java-cs - x.x.x - - - com.imsweb - staging-client-java-eod-public - x.x.x - - - com.imsweb - staging-client-java-tnm - x.x.x - - - com.imsweb - staging-client-java-pediatric - x.x.x - -``` - -Gradle - -```groovy -implementation 'com.imsweb:staging-client-java-cs:x.x.x' -implementation 'com.imsweb:staging-client-java-eod-public:x.x.x' -implementation 'com.imsweb:staging-client-java-tnm:x.x.x' -implementation 'com.imsweb:staging-client-java-pediatric:x.x.x' -``` +Note that the library does NOT include the algorithms. They must be downloaded separately. The versions are linked above or +can be found in each release. ## Usage @@ -190,25 +157,12 @@ More detailed documentation can be found in the [Wiki](https://github.com/imsweb ### Get a `Staging` instance -Everything starts with getting an instance of the `Staging` object. There are `DataProvider` objects for each staging algorithm and version. The `Staging` -object is thread safe and cached so subsequent calls to `Staging.getInstance()` will return the same object. - -For example, for the Collaborative Staging algorithm, the call will look like this: +Everything starts with getting an instance of the `Staging` object. You will need an algorithm zip file to load. All avaiable algorithm and version +download links are listed at the top of this file. Creating a staging instance involves loading all the information from the algorithms and is +expensive. The staging instance should be maintained once loaded. ```java -Staging staging = Staging.getInstance(CsDataProvider.getInstance(CsVersion.LATEST)); -``` - -There could be times when you want to load either a private algorithm or even an older version of an existing algorithm. You can get the algorithm -zip file from the release page and load it using `ExternalStagingFileDataProvider`. - -```java -Path path = Paths.get("C:/path/to/algorithm", "tnm-1.9.zip"); -try(InputStream is = Files.newInputStream(path)) { - Staging staging = Staging.getInstance(new ExternalStagingFileDataProvider(is)); - - // use staging instance -} +Staging staging = Staging.getInstance(Paths.get("C:/path/to/algorithm/cs.02.05.50.zip")); ``` ### Schemas @@ -278,9 +232,13 @@ customized for the specific inputs needed to lookup a schema. For Collaborative Staging, use the `CsSchemaLookup` object (each algorithm has their own lookup class). Here is a lookup based on site and histology. ```java -List lookup = staging.lookupSchema(new CsSchemaLookup("C629","9231")); -assertEquals(1, lookup.size()); -assertEquals("testis", lookup.get(0).getId()); +List lookup = staging.lookupSchema(new CsSchemaLookup("C629", "9231")); + +assertEquals(1,lookup.size()); + +assertEquals("testis",lookup.get(0). + +getId()); ``` If the call returns a single result, then it was successful. If it returns more than one result, then it needs a discriminator. Information about the required discriminator @@ -289,16 +247,32 @@ sets of discriminators that can be determined based on the result. ```java // do not supply a discriminator -List lookup = staging.lookupSchema(new CsSchemaLookup("C111","8200")); +List lookup = staging.lookupSchema(new CsSchemaLookup("C111", "8200")); + assertEquals(2,lookup.size()); -for(Schema schema : lookup) - assertTrue(schema.getSchemaDiscriminators().contains(CsStagingData.SSF25_KEY)); + for( +Schema schema :lookup) + +assertTrue(schema.getSchemaDiscriminators(). + +contains(CsStagingData.SSF25_KEY)); // supply a discriminator -lookup = staging.lookupSchema(new CsSchemaLookup("C111","8200","010")); -assertEquals(1, lookup.size()); -assertEquals("nasopharynx", lookup.get(0).getId()); -assertEquals(Integer.valueOf(34), lookup.get(0).getSchemaNum()); +lookup =staging. + +lookupSchema(new CsSchemaLookup("C111","8200","010")); + +assertEquals(1,lookup.size()); + +assertEquals("nasopharynx",lookup.get(0). + +getId()); + +assertEquals(Integer.valueOf(34),lookup. + +get(0). + +getSchemaNum()); ``` ### Calculate stage @@ -319,80 +293,161 @@ include the ones that are used in the schema being staged. ```java CsStagingData data = new CsStagingData(); -data.setInput(CsInput.PRIMARY_SITE,"C680"); -data.setInput(CsInput.HISTOLOGY,"8000"); -data.setInput(CsInput.BEHAVIOR,"3"); -data.setInput(CsInput.GRADE,"9"); -data.setInput(CsInput.DX_YEAR,"2013"); -data.setInput(CsInput.CS_VERSION_ORIGINAL,"020550"); -data.setInput(CsInput.TUMOR_SIZE,"075"); -data.setInput(CsInput.EXTENSION,"100"); -data.setInput(CsInput.EXTENSION_EVAL,"9"); -data.setInput(CsInput.LYMPH_NODES,"100"); -data.setInput(CsInput.LYMPH_NODES_EVAL,"9"); -data.setInput(CsInput.REGIONAL_NODES_POSITIVE,"99"); -data.setInput(CsInput.REGIONAL_NODES_EXAMINED,"99"); -data.setInput(CsInput.METS_AT_DX,"10"); -data.setInput(CsInput.METS_EVAL,"9"); -data.setInput(CsInput.LVI,"9"); -data.setInput(CsInput.AGE_AT_DX,"060"); -data.setSsf(1, "020"); +data. + +setInput(CsInput.PRIMARY_SITE,"C680"); +data. + +setInput(CsInput.HISTOLOGY,"8000"); +data. + +setInput(CsInput.BEHAVIOR,"3"); +data. + +setInput(CsInput.GRADE,"9"); +data. + +setInput(CsInput.DX_YEAR,"2013"); +data. + +setInput(CsInput.CS_VERSION_ORIGINAL,"020550"); +data. + +setInput(CsInput.TUMOR_SIZE,"075"); +data. + +setInput(CsInput.EXTENSION,"100"); +data. + +setInput(CsInput.EXTENSION_EVAL,"9"); +data. + +setInput(CsInput.LYMPH_NODES,"100"); +data. + +setInput(CsInput.LYMPH_NODES_EVAL,"9"); +data. + +setInput(CsInput.REGIONAL_NODES_POSITIVE,"99"); +data. + +setInput(CsInput.REGIONAL_NODES_EXAMINED,"99"); +data. + +setInput(CsInput.METS_AT_DX,"10"); +data. + +setInput(CsInput.METS_EVAL,"9"); +data. + +setInput(CsInput.LVI,"9"); +data. + +setInput(CsInput.AGE_AT_DX,"060"); +data. + +setSsf(1,"020"); // perform the staging -staging.stage(data); +staging. + +stage(data); assertEquals(Result.STAGED, data.getResult()); -assertEquals("urethra", data.getSchemaId()); -assertEquals(0, data.getErrors().size()); -assertEquals(37, data.getPath().size()); + +assertEquals("urethra",data.getSchemaId()); + +assertEquals(0,data.getErrors(). + +size()); + +assertEquals(37,data.getPath(). + +size()); // check output -assertEquals("129", data.getOutput(CsOutput.SCHEMA_NUMBER)); -assertEquals("020550", data.getOutput(CsOutput.CSVER_DERIVED)); +assertEquals("129",data.getOutput(CsOutput.SCHEMA_NUMBER)); + +assertEquals("020550",data.getOutput(CsOutput.CSVER_DERIVED)); // AJCC 6 -assertEquals("T1", data.getOutput(CsOutput.AJCC6_T)); -assertEquals("c", data.getOutput(CsOutput.AJCC6_TDESCRIPTOR)); -assertEquals("N1", data.getOutput(CsOutput.AJCC6_N)); -assertEquals("c", data.getOutput(CsOutput.AJCC6_NDESCRIPTOR)); -assertEquals("M1", data.getOutput(CsOutput.AJCC6_M)); -assertEquals("c", data.getOutput(CsOutput.AJCC6_MDESCRIPTOR)); -assertEquals("IV", data.getOutput(CsOutput.AJCC6_STAGE)); -assertEquals("10", data.getOutput(CsOutput.STOR_AJCC6_T)); -assertEquals("c", data.getOutput(CsOutput.STOR_AJCC6_TDESCRIPTOR)); -assertEquals("10", data.getOutput(CsOutput.STOR_AJCC6_N)); -assertEquals("c", data.getOutput(CsOutput.STOR_AJCC6_NDESCRIPTOR)); -assertEquals("10", data.getOutput(CsOutput.STOR_AJCC6_M)); -assertEquals("c", data.getOutput(CsOutput.STOR_AJCC6_MDESCRIPTOR)); -assertEquals("70", data.getOutput(CsOutput.STOR_AJCC6_STAGE)); +assertEquals("T1",data.getOutput(CsOutput.AJCC6_T)); + +assertEquals("c",data.getOutput(CsOutput.AJCC6_TDESCRIPTOR)); + +assertEquals("N1",data.getOutput(CsOutput.AJCC6_N)); + +assertEquals("c",data.getOutput(CsOutput.AJCC6_NDESCRIPTOR)); + +assertEquals("M1",data.getOutput(CsOutput.AJCC6_M)); + +assertEquals("c",data.getOutput(CsOutput.AJCC6_MDESCRIPTOR)); + +assertEquals("IV",data.getOutput(CsOutput.AJCC6_STAGE)); + +assertEquals("10",data.getOutput(CsOutput.STOR_AJCC6_T)); + +assertEquals("c",data.getOutput(CsOutput.STOR_AJCC6_TDESCRIPTOR)); + +assertEquals("10",data.getOutput(CsOutput.STOR_AJCC6_N)); + +assertEquals("c",data.getOutput(CsOutput.STOR_AJCC6_NDESCRIPTOR)); + +assertEquals("10",data.getOutput(CsOutput.STOR_AJCC6_M)); + +assertEquals("c",data.getOutput(CsOutput.STOR_AJCC6_MDESCRIPTOR)); + +assertEquals("70",data.getOutput(CsOutput.STOR_AJCC6_STAGE)); // AJCC 7 -assertEquals("T1", data.getOutput(CsOutput.AJCC7_T)); -assertEquals("c", data.getOutput(CsOutput.AJCC7_TDESCRIPTOR)); -assertEquals("N1", data.getOutput(CsOutput.AJCC7_N)); -assertEquals("c", data.getOutput(CsOutput.AJCC7_NDESCRIPTOR)); -assertEquals("M1", data.getOutput(CsOutput.AJCC7_M)); -assertEquals("c", data.getOutput(CsOutput.AJCC7_MDESCRIPTOR)); -assertEquals("IV", data.getOutput(CsOutput.AJCC7_STAGE)); -assertEquals("100", data.getOutput(CsOutput.STOR_AJCC7_T)); -assertEquals("c", data.getOutput(CsOutput.STOR_AJCC6_TDESCRIPTOR)); -assertEquals("100", data.getOutput(CsOutput.STOR_AJCC7_N)); -assertEquals("c", data.getOutput(CsOutput.STOR_AJCC7_NDESCRIPTOR)); -assertEquals("100", data.getOutput(CsOutput.STOR_AJCC7_M)); -assertEquals("c", data.getOutput(CsOutput.STOR_AJCC7_MDESCRIPTOR)); -assertEquals("700", data.getOutput(CsOutput.STOR_AJCC7_STAGE)); +assertEquals("T1",data.getOutput(CsOutput.AJCC7_T)); + +assertEquals("c",data.getOutput(CsOutput.AJCC7_TDESCRIPTOR)); + +assertEquals("N1",data.getOutput(CsOutput.AJCC7_N)); + +assertEquals("c",data.getOutput(CsOutput.AJCC7_NDESCRIPTOR)); + +assertEquals("M1",data.getOutput(CsOutput.AJCC7_M)); + +assertEquals("c",data.getOutput(CsOutput.AJCC7_MDESCRIPTOR)); + +assertEquals("IV",data.getOutput(CsOutput.AJCC7_STAGE)); + +assertEquals("100",data.getOutput(CsOutput.STOR_AJCC7_T)); + +assertEquals("c",data.getOutput(CsOutput.STOR_AJCC6_TDESCRIPTOR)); + +assertEquals("100",data.getOutput(CsOutput.STOR_AJCC7_N)); + +assertEquals("c",data.getOutput(CsOutput.STOR_AJCC7_NDESCRIPTOR)); + +assertEquals("100",data.getOutput(CsOutput.STOR_AJCC7_M)); + +assertEquals("c",data.getOutput(CsOutput.STOR_AJCC7_MDESCRIPTOR)); + +assertEquals("700",data.getOutput(CsOutput.STOR_AJCC7_STAGE)); // Summary Stage -assertEquals("L", data.getOutput(CsOutput.SS1977_T)); -assertEquals("RN" ,data.getOutput(CsOutput.SS1977_N)); -assertEquals("D", data.getOutput(CsOutput.SS1977_M)); -assertEquals("D", data.getOutput(CsOutput.SS1977_STAGE)); -assertEquals("L", data.getOutput(CsOutput.SS2000_T)); -assertEquals("RN" ,data.getOutput(CsOutput.SS2000_N)); -assertEquals("D", data.getOutput(CsOutput.SS2000_M)); -assertEquals("D", data.getOutput(CsOutput.SS2000_STAGE)); -assertEquals("7", data.getOutput(CsOutput.STOR_SS1977_STAGE)); -assertEquals("7", data.getOutput(CsOutput.STOR_SS2000_STAGE)); +assertEquals("L",data.getOutput(CsOutput.SS1977_T)); + +assertEquals("RN",data.getOutput(CsOutput.SS1977_N)); + +assertEquals("D",data.getOutput(CsOutput.SS1977_M)); + +assertEquals("D",data.getOutput(CsOutput.SS1977_STAGE)); + +assertEquals("L",data.getOutput(CsOutput.SS2000_T)); + +assertEquals("RN",data.getOutput(CsOutput.SS2000_N)); + +assertEquals("D",data.getOutput(CsOutput.SS2000_M)); + +assertEquals("D",data.getOutput(CsOutput.SS2000_STAGE)); + +assertEquals("7",data.getOutput(CsOutput.STOR_SS1977_STAGE)); + +assertEquals("7",data.getOutput(CsOutput.STOR_SS2000_STAGE)); ``` ## About SEER diff --git a/src/main/java/com/imsweb/staging/Staging.java b/src/main/java/com/imsweb/staging/Staging.java index b9dbb2f84..3e08c7e2a 100644 --- a/src/main/java/com/imsweb/staging/Staging.java +++ b/src/main/java/com/imsweb/staging/Staging.java @@ -3,6 +3,8 @@ */ package com.imsweb.staging; +import java.io.IOException; +import java.nio.file.Path; import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; @@ -64,6 +66,24 @@ public static Staging getInstance(StagingDataProvider provider) { return new Staging(provider); } + /** + * Create an instance of the Staging object based on a Path representing an algorithm zip file + * @param algorithmPath path to an algorithm zip file + * @return a Staging instance + */ + public static Staging getInstance(Path algorithmPath) throws IOException { + return new Staging(new ExternalStagingFileDataProvider(algorithmPath)); + } + + /** + * Create an instance of the Staging object based on the String representing a full path to an algorithm zip file + * @param algorithmPath path to an algorithm zip file + * @return a Staging instance + */ + public static Staging getInstance(String algorithmPath) throws IOException { + return new Staging(new ExternalStagingFileDataProvider(algorithmPath)); + } + /** * Return the algorithm name * @return an Algorithm diff --git a/src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java b/src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java index 2f2dc5e8d..240e0cb98 100644 --- a/src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java +++ b/src/test/java/com/imsweb/staging/ExternalStagingFileDataProviderTest.java @@ -31,11 +31,15 @@ public Staging getStaging() { void testConstructorWithPath() throws IOException { Path zipPath = Paths.get("src/test/resources/external_algorithm.zip"); ExternalStagingFileDataProvider provider = new ExternalStagingFileDataProvider(zipPath); - assertThat(provider.getAlgorithm()).isNotBlank(); assertThat(provider.getVersion()).isNotBlank(); assertThat(provider.getSchemaIds()).isNotEmpty(); assertThat(provider.getTableIds()).isNotEmpty(); + + // test the direct Staging instance + Staging staging = Staging.getInstance(zipPath); + assertThat(staging.getSchemaIds()).isNotEmpty(); + assertThat(staging.getTableIds()).isNotEmpty(); } @Test @@ -47,6 +51,11 @@ void testConstructorWithString() throws IOException { assertThat(provider.getVersion()).isNotBlank(); assertThat(provider.getSchemaIds()).isNotEmpty(); assertThat(provider.getTableIds()).isNotEmpty(); + + // test the direct Staging instance + Staging staging = Staging.getInstance(zipFileName); + assertThat(staging.getSchemaIds()).isNotEmpty(); + assertThat(staging.getTableIds()).isNotEmpty(); } @Test diff --git a/src/test/java/com/imsweb/staging/StagingTest.java b/src/test/java/com/imsweb/staging/StagingTest.java index 3c6a4682c..6da7b2a0a 100644 --- a/src/test/java/com/imsweb/staging/StagingTest.java +++ b/src/test/java/com/imsweb/staging/StagingTest.java @@ -15,6 +15,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -62,10 +63,9 @@ public abstract class StagingTest { * Return the full path of specified algorithm */ public static Path getAlgorithmPath(String algorithm) throws URISyntaxException, IOException { - Path algorithmsDir = Paths.get(Thread.currentThread() + Path algorithmsDir = Paths.get(Objects.requireNonNull(Thread.currentThread() .getContextClassLoader() - .getResource("algorithms") - .toURI()); + .getResource("algorithms")).toURI()); try (Stream files = Files.list(algorithmsDir)) { return files From 69a938582161b740b91f2a08c01243599783067b Mon Sep 17 00:00:00 2001 From: mayc Date: Wed, 19 Nov 2025 16:26:41 -0500 Subject: [PATCH 30/33] Cleanup on README --- README.md | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/README.md b/README.md index 063ae8373..d5e79ee79 100644 --- a/README.md +++ b/README.md @@ -23,14 +23,6 @@ In each Pediatric schema, valid values, definitions, and registrar notes are pro For cancer cases diagnosed January 1, 2024 and later, the NCI SEER program will collect the Pediatric Data Collection System fields. The schemas have been developed to be compatible with the Toronto Staging v1.1 definitions. -To get started using the Pediatric staging algorithm, instantiate a `Staging` instance: - -```java -Staging staging = Staging.getInstance(PediatricDataProvider.getInstance(PediatricVersion.LATEST)); -``` - -If a specific version is needed, the algorithm zip file can be downloaded and initialized using an `ExternalStagingFileDataProvider`. - | Version | Release | Algorithm ZIP | |-----------------|------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------| | 1.3 | [11.7.1](https://github.com/imsweb/staging-client-java/releases/tag/v11.7.1) | [pediatric-1.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.7.1/pediatric-1.3.zip) | @@ -63,14 +55,6 @@ been developed to be compatible with the AJCC 8th Edition chapter definitions. All the standard setting organizations will collect the predictive and prognostic factors through Site Specific Data Items (SSDIs). Unlike the SSFs, these data items have formats and code structures specific to the data item. -To get started using the EOD algorithm, instantiate a `Staging` instance: - -```java -Staging staging = Staging.getInstance(EodDataProvider.getInstance(EodVersion.LATEST)); -``` - -If a specific version is needed, the algorithm zip file can be downloaded and initialized using an `ExternalStagingFileDataProvider`. - | Version | Release | Algorithm ZIP | |----------------|------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------| | 3.3 | [11.7.1](https://github.com/imsweb/staging-client-java/releases/tag/v11.7.1) | [eod_public-3.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.7.1/eod_public-3.3.zip) | @@ -96,14 +80,6 @@ classification. UICC 7th edition and AJCC 7th edition TNM categories and stage g For diagnosis years 2016-2017, SEER Summary Stage 2000 is required. SEER Summary Stage 2000 should be collected manually unless the registry is collecting Collaborative Stage, which would derive Summary Stage 2000. -To get started using the TNM algorithm, instantiate a `Staging` instance: - -```java -Staging staging = Staging.getInstance(TnmDataProvider.getInstance(TnmVersion.LATEST)); -``` - -If a specific version is needed, the algorithm zip file can be downloaded and initialized using an `ExternalStagingFileDataProvider`. - | Version | Release | Algorithm ZIP | |---------|------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------| | 2.0 | [10.0.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.0.0) | [tnm-2.0.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.0.0/tnm-2.0.zip) | @@ -115,12 +91,6 @@ Collaborative Stage is a unified data collection system designed to provide a co provides a comprehensive system to improve data quality by standardizing rules for timing, clinical and pathologic assessments, and compatibility across all the systems for all cancer sites. -To get started using the CS algorithm, instantiate a `Staging` instance: - -```java -Staging staging = Staging.getInstance(CsDataProvider.getInstance(CsVersion.LATEST)); -``` - | Version | Release | Algorithm ZIP | |----------|------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------| | 02.05.50 | [10.0.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.0.0) | [cs-02.05.50.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.0.0/cs-02.05.50.zip) | From 13caec1369b760845afa230cf1cf7a3d81f07985 Mon Sep 17 00:00:00 2001 From: mayc Date: Thu, 20 Nov 2025 08:25:25 -0500 Subject: [PATCH 31/33] Fixed upload workflow --- .github/workflows/upload-algorithms.yml | 35 ++++--------------------- 1 file changed, 5 insertions(+), 30 deletions(-) diff --git a/.github/workflows/upload-algorithms.yml b/.github/workflows/upload-algorithms.yml index 337db7414..32851323b 100644 --- a/.github/workflows/upload-algorithms.yml +++ b/.github/workflows/upload-algorithms.yml @@ -3,47 +3,22 @@ name: upload-algorithms on: - repository_dispatch: - types: manual-publish release: - types: [ created ] + types: [published] jobs: publish: - runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - - name: Set up JDK - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: '21' - cache: 'maven' - - - name: Cache Maven packages - uses: actions/cache@v4 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - - - name: Create algorithm zips - if: ${{startsWith(github.ref, 'refs/tags/v') }} - run: | - chmod +x gradlew - ./gradlew zipAlgorithms - - name: Add algorithms to release uses: softprops/action-gh-release@v1 - if: ${{startsWith(github.ref, 'refs/tags/v') }} with: files: | - target/test-classes/algorithms/cs-*.zip - target/test-classes/algorithms/eod_public-*.zip - target/test-classes/algorithms/pediatric-*.zip - target/test-classes/algorithms/tnm-*.zip + src/test/resources/algorithms/cs-*.zip + src/test/resources/algorithms/eod_public-*.zip + src/test/resources/algorithms/pediatric-*.zip + src/test/resources/algorithms/tnm-*.zip From 0eca27e52dba469997e5f94d5713ff966e932f96 Mon Sep 17 00:00:00 2001 From: mayc Date: Thu, 20 Nov 2025 08:27:18 -0500 Subject: [PATCH 32/33] Be consistent --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c3ac1fb37..e55a99054 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -32,7 +32,7 @@ on: repository_dispatch: types: manual-publish release: - types: [ created ] + types: [ published ] jobs: publish: From 013a772fc5a13a8fc8be21112516087122ae3e00 Mon Sep 17 00:00:00 2001 From: mayc Date: Thu, 20 Nov 2025 08:43:33 -0500 Subject: [PATCH 33/33] Optimize release --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e55a99054..eebc1989f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -66,7 +66,7 @@ jobs: gpg-passphrase: MAVEN_GPG_PASSPHRASE - name: Publish to Maven Central - run: mvn -B -ntp clean deploy -P release -DskipTests + run: mvn -B -ntp clean deploy -P release -DskipTests -Dspotbugs.skip=true -Djacoco.skip=true env: # Sonatype / Central credentials MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}

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�MD{`pZMM139t0SfZ;Fr}MaT)sIr|#;ZdcG%QdG_yt{Q~hhKN>$ zHrcoiN3G6sfEE1B7sL|Kol9%OsmMGRlqSkA_RY`JRrUeXbZ$ypJ!vpr8yxcMD34|+8HPcqW?DYLw8Kgajh2=;CnYEu zp8*5D>_9=pvd^eV`wyjq1t&}sCWW;z4t~TN0CkF3HR?U@+(@)n0ytdovS7xC1Ms?| zg8O-}8^y#0Q)vp#H_4Lm025Tx(JEuk*@n}%kI{v{)+p;Q*1?lO2M>=yZ%)iP%fict z);SKYJtZ4+{5alywu(Ei4J!)9;@Uvnep&JfpziOk;desPaX`SpHE2$0;x}0O6jgZC zsvum0@`}z zc0QJ?%i%Kc6Z`4Fut2qB1pxdJm4_2%^%vzxPX8b-IT-t&9;uxPLH0i%dewT zy<6@yitXxr(5kt^xM!8j~m9>1ONj#{nwyD z!)}!m&9}2Na0oCsm9$jX2AUQoo5ITfD`J*w)JA{;$>vm-_9uy1BIV0wShBeUirTP* zmiCyCrVtW*XZ_6;j-;L+kpAT3Ll@)HsC>rrv2L8UW1vaa(=rv!g|LCcGa_jjzSy(K zX^ozCbQZ$C+J)6uCO+t=3WaF$;p!jJRlHyDiQ$XrdOkdJ)83VWFJZp0qw3@U$;+Px zoMt|k94R$)`o%~Dc3;2qHtRi8im#(W;rjdWuv6mUiV94q<2gi55j@sal9Ukg4aDz2DWZ&kRHY_jXlMy6HZa3sNaHbCY?WY;htjv(e<{lo6q#xAw< zjj)c>W0Qml4WXqEfst8#vBHc#B9)?t3dD|1jxV`DYI;Su0Ugnvn`(gu>_?8iWH+<@ z%$%O6Fqrxh55s0~UJ`eZ2OZm|?S$=?sq?i!tGRPUO`4j!7EN*bq_qARVILjQnUUT@cKK5H^= zA(Q5@W3x-m8%Xa3gy(SgM?w<+C8gibi|LP^MM$TTj{4}GWW|vjdu_IWrJWlH04T7G zEobn>LjAfX(hdzL1d1gahu2WA7e47pFsHljk>G(B;zW&kJB>P5>nhwd6GzqvPcT!2g`uY)*#4BJ1BSt__%^4k$G{Ylk{htS3?AVrj4lzL z$(l4RD08x+Y^g-aPH8YOx>X4>Go3Cz!Q~(Fr@A;b4|{qbzWV(whZNC)&0F`V<*lHm z6FAnyp!SpiT#Ig9sV-YJI`*_N)830xA&wJj%#&KQ`|n>}Ak^UDv%3<%D(J&EsccZx zhnMxRF=`76=p!n(_BYrw{m`txX!e*b-A=(AR8C-$UjyFFZ6;>NT3RUNGTxxGj4w*b z6Gx#i4lqHvb@>&|qO;`P*Gu?)$(|>(Lj*=H1blvXs3_P@WLiF4EWH%^)>R_e(!jRLF#!5_M}}~Bv%# zdC?Is4F)^E?)=l9h(MMx@$VrIb{k1%CR~o7)eWji$Oh&$)=3uty7snXqMOtZRe!-eOJD}^De z4{l1WB@GdOsJ%MrlB@OB&mcLw9i{eGn|O%n6J$kaV3hbUV^JlG*2WPfp~5se*CKYXQr#M|I zf#jBeAC^di>1meXO2dXDw9h}{1;G{}HJ{{wu^J+z0M-(w*5Z1A-TiTN86zC9_9S79 z*L`iw(AWyegH(fdPUDO?pI9JHdGvEkYKH zPE}`vSfV)%ul6Isk~18g$m^<4X~{R?cCz!uNV+kDNKPv*5p)yvT&41mpW$+M+@jcd zR{5i<5Hc%{d0rGk65+@S;%r~Ob+V%RtPdJroSjD3|2mOkhVvr_U%AjFz#~X2SX(P~ zQ1tC%iQdIG5tr?!5UX(AqLQ3v)iE=)t}(u0h?rL466`<1122r>5d}aKD6|$VOif~l zh#9=+rg10{1BuQ6xvGAn%4w;x3KFu^j3RYkL9K1x6}#8kiT|gxr2Mb6pVHCg6QAAZ zWL#3W0P|xDaa0*_ttH(@ufT#=3~{U!HJ*UrXNk0cFKboP?o*$u%b_i{4CgJfSq`_tp(vWkQ>Z+t89D++n zZRsf3)`HD{5NL<&r<7|bXOoq;mg{4P(f>)^>+0h-G9XQPH%&y&8M&fRws#R6FU7yyQR6|~xiAEL^HP`Z# zQX*=|wBkut5b8XAy@T$}v7drh9E#?;q}2LtDI<9d$*S7s6j}tUKBjMAndp|GlqUjh zj@8S|x4BCnMoR9ZTF=52hSpNF4k|wVKDnUWNmR7LLS>jn0(G5`9ee35){MfrL^#^> zGRDXRCgCdJ#$q8w;c;azn^g&$*nJOYHC~rp8VA}!wkFCv`*Eo z)NR^(mm(?ww&JMRMF*jrsf|2f9jfSkCc~_EB6g$vG#Xn2!7K7$&|MkR23;M zv*_)no_MYnguEXQ#p}ICOhmouMfD?>j~C%>l3#zkP<~o0XH@bDPP<-s$)FzVq_7LBIL_ckR1BS7#Ukpeo1I{9mUP{(qcS z|Bi>uTx|5L?c7Wp|Ld8xZnw&g+?_?#ugJIHIv~Gf@X+2|6T0y~p22voPF|y|#2DqB-ZrbNGMO zlZMO7bD!GPiOmXxS9YTo=UqP2L3NKJ6nMks>`;(8*hYswLk!%KJKCy~@qyJc<_wWL z0*s7CU040rjLjPyh~a0rrnj}7whFeNoQ=@M#|)0n-HD>^Y*Qv|01gyuDeT!MD*g&j7u`;sDD`_*umYB*sxwt z>*FH&r2{)#Bq8;c>-cCI`Lx8H+)^~GhCdIK-JLf}R! zW#W&=oWyudhP2F9BKBXh!9o>%dEUE<)j;-QzfOC_EYAM6_Cy$+_A}i!agc2&hT->{ zi#$4!;Tj9c69Q*?qp~evL>JrfAjq1Xuhp2l6Y@Digl3ij&1noLhLzoSlgU{uB^)&37u|gI2r_*Q0tN zk#lzW^`$)r2-oC&%a9_4zC;EjKhZnoS?RZ+n1JL5W_m^9TwVw;qFZ0_hENn=kiNF! zNQfyTDo2r<)hLUESyanR4OyVz9n4V7CvzM$W=)zef3`%W} zoU7ZjM03_tjGtXU8aqzXlET1;Kbmf4<<9ipI&8<9Nifv&Y;K74MoQoanZg7~CJC8h z2#Hh|--Rn`C0_I9MHy$Jv8&-n$=!mI%0x+1gp!KH<4y!QHtf!OPAcGkB&#ohzqC(N zE@@-2urn_m8XVY_@>NuLd#DDcg71$E^UhK#=1ir@+r%W z)!ij|gLbNv+tt^%=yvU7C;uAfiKf?muImZ6qu2H;8hKQ|VHYuMTJ#p}tV64hCKJzS zja@wv;zI%5Qe5t8$J(1o4Zc)uCr1nAV`+D6(TH)>vfz{)cCYOUhTHT2h9_SHD;bl` z8jY+iS`>;YSp2LOEG=e^IBXJ~Wg7oYQfW65jTRx5kN%gX4_=prAe3tr@6**^$m}RB zW@W!~*`3eW%lPh;W=k_OD(NiiazBzvEmq`}RNExC#>-6)+1o}P?Tf#}KPNiZ{tC_J z&w&!4XO4k7Qo^wCr$csLK)Boa5jrF)kc@@-2R^A#9rEG0_0N>ka+b!;OE5%;20Dr< zOvvg6#aN>PMbcPMJcf&);YL5?Aq?c768oOKY5CFBC7}o;;6az9@|zgs0YvwQhu-nq z!V9TgG<+O4sk9in12z_nlhcg{HtP#eI>yLENf$+zCO>j^L&J_9pmm;9DfVMBgC?Ht zc!?#=@mH%Q6-_+x<^g-`7l$wPWc(l>r~4*YH#e?5nR^<`KOM^}l?sKaSjy9&2@cg8 z0Dl6~((|H9$ba_1dE`Mk6ZJD}-{GY$_Nd~DzovY7o9q2-IO`R@cK!q4f)~@&CCa9`=GNiE)S#6dFVZr= zF@>x5L54ydC8|k5{8e9R5lTE753UlsKZf_a&ic z$fq*k%uM;FBKTPx8IFj`LxhEaI2HV5IRj)-a*+{_gdtnO2bGLwW@mT;%r^*gy`YBL zIE@YWl-48CsQnQgm%pwj1x+Mi&9x{6Y%sSfXDp!B{-9~yQ+kM{TXxqGnl!WO_l5`f z8kGRP#)@q8^W%IeUX#nC#F)#ko>I=+>{xRad@9amI1pPRToeEye2DjmD?kXZ6B`pQq1vuAY?XATVN`vxK`QF@=V)f`ks9$nd@6S%Zf( zr~Dcc)SN%C_P z<$;1I@$eHcX?K-Uta39Ul^RS;o@44pNh!=vG^)H}aS7DZF>E>hhQ6P1q=E$k2e^Gw zT(B|F4{ux3^9K%^!XV3?r&>Gk8?d)4)VZfc^Gdy%DOC#UF<8lzOA{)D@8^p|7pT?3 z26#mnpE8f@6dF!1%1xFImr_sa81uAK&EK?e6yTAuiq?g8%u*8H(vg^GXR+|^V}`&@ zEBOqy{q`!0jNbn=bHwYi>VTzaLWWaID@V^Fo6$E;=g0oG2hoi)3`$99-+Xsna=q`DTU6k4QBy#LS1z+|eIIni{`=AdCr$--4 znK9X-=!6_ggBYCxGqk~d`oU|?J%hEU$eJ{VPp12*Hi{*`iF-AQJ`i0G6cuwEDozzu z3?;O~sy$Tkn5^J*lK8woi1^rh9R7-y( zZreSGl> zplGDcSTq;l`*rXaGFNd)Y@{jmJlXqWq4)b-$EX=|fB#`JmSB!&^xfmIe-Zn#iq>V*?4z~u4%Jh^3;Yc2|NVq9K4lonZpx%#lExY zQR5FK^@+YSL%bepldOXnxTJi1m20x2lu%5gvyptSAb&mG!+Ne&UDs7isLcMT^b@RA zP+WXg)F`;o^%fI;wHP+cq5KHO{wM>wPaSY9aaHIuf3Y&#-J;3J47JF@SQs8^#+%TK zE}z=?R>`2wjZN{X1fdO+Xq*!XF6euN6OZn`Dw;t?S{NI|seqAPa)W`uOYS28|101Y;xd zJUxQ*_+~es5;!gmAUCC77NuUAqi_Y#)4|34ITp!rSJw7WD(=BKC~n%|6P}<7=WcL* zCAlCxp2qVW^{a0BC@{O*a713cUOWnHo>(F06+)jQ_1#K1T+RY2sLl0e#h5@`nU3Rl zi+cx%7s4t8#wv$ufd@qqbwCbxCca4AR#Q44MhIClqEsSi=jYYCf(+n5R{<}g358NJ zVsQur^CB_y%Jw}y1PR<=66T+ z3OTns7@}xlpCEqqTTe_|ff%ZX6~RX{GaFioN5BvcyJW5lqad-uDp2?^XW;^~Jo4Fd zw}B!m+!0wLP$6)HD#q2T|tPpz*ZuS$&++qgp^L(8MBDi?ce$;Ah0Z1)RN1;)e;~_5si+dQLdWH!7 z5x9qd+0^+6(|YY6Ojlh_}g;PE}`wCU)d@Wq0* zYxpqm!X8fOy%RfS1}Ec`(4_(f8C?Wu_@S8{Gd-O4RY`r>ebX4Wb31eC?SbgtMDhE! zz$J;SOD2b>cQ@^`p`T_5tpII0cE3P%)nI{YBCME$w;jMy)vp22X<%$rQK2|a)DK_d zenoRn8>~CSoJxohU`x}&port^AhMO-epuAifUw;`h5U8VNV7)6z;|()4nMnnbCh*` zMwUXZT0536JkIEr05xd$%eTP5jS0tcdHp5JNQW=j*;iuYsFIgukBnrCQbkf0j#zo0Khy{>sE-bGl6ifhB%^8v_hK9S{=l?N(R37S|6`1LMUMCtYOy@tmM{$&$n3=u~!^7&cU& zB-rofZS?JpkD7@$$m!#92u0A9{XM#Syx%f4%xsf_8EfXtaAw97Xt!ia zWYH`rllaDDfg+kTvAAr$cnPgZuXo>R4IJ>P`@hpJfh9fi{6a@{!sBfoL^fFW@c(nC$ISUXljS_@O|gF zIH22;lhl)Wa-3J9s8<_3V8b!fJLa|Ocg7F~PFQ(t`Ywic&X6f3AdM49%DJ&C{+vA* z#DOmtV_#=Wx_vAA-w%#N{k=srNK#>2|4Q$70n&S;PwBmINla${^td6RKA3;jgk`D3 zxUywhgF^4uKYZa>#gRqiL@n@l2(S1IgBOr}slzt<8nQ;WE8VM3CuZbD$Is46ejpT+FW72a~4eNWUvGQ%b!TCsJL^QgT9m@-7QN)zEH-( z@-ISiRzP_AP7)a=FrbNoeJJS7=`?9H{+V)E&XT$Bhew5~XQdeX60(9)ffmxj2<4IA zjE?l;83`5PflZzTg0uj?9USD_*p=cQO#NB2yMkzS$R`n<+-U3cn2;K!DZB1=_$}SM z33exdFW>a>sDSRJJ&oLT3TV$|scutyZdHNcA=G)kTfJA>ZaS|tFQW-Vu|%d(6Qrs) zTp2T9!e>6Hg)ZrJ0FI43V%TCsX!CGNczUw5g}t_AU1vUNAsFnlcefzQmp(I22&7`0 zpd}W^3;$6YsmADw(L3H&%8gWk=bL`R$F$~CS^zHu9}VDzFdw-Axsi-ja)v}xA&Vrg z=^Lja6$5Y@)V5N?0aAE{v6(Foi*r2)ozgFc*2BeT3(eNyfNT#;$g4mY{}5m z*@th=!g5GQY`y3!+R%v9J~{F3+OLF7P0enuL_41YeC<|XF%GBFy)S}Iw@VN~WBJpr z0R`l)@{}aC+5&8qXn3NZT5ex8SjoMWVOv ztK1qQn}kT(W5uamFIFC2=WdnkMZ7R0>U!AhY+@JttbhZ-nvO_7YE-Xl?~}4XRqwe+aVJ;ZL=L z4Ye^DTkeHiD36`{D>!O^uFnPmL|xxotbhTcd&&kQXhR+i=iy>NEHran9QtEiHR>5H znCTO~57DioS(z0{wFU%Aq*h{0K<#9$;yCvs4LMY;D4H8}=3XMHD>d;l8t|Sn-XpCC zHvD$sbXo`_4fnaL$5;|d0GZLK+m=i6jg4ng1Zt28A^a?cP6u%%=6VGK02z9_cqolb(fACF zP!ni;RwnV7WwB_=A|}tlnm5WbOZPrgBg?{+o>~2M$t$Xd=6M02#1|B)@~63}BZ;kl zsP41t$z3)zF%PiVQsWr$_=EP}HE4vdjN{unt+%=s7^|THDy6zK? zM6h@u4cmDRT(Gl(*HbKm#_hn7t!D(zUpf|Tg?|EEUDP1}R~MOD4B+2zdW}GgB58RA z9c-O$J15KoB`kmhqN5i1{qQp*%qPO9ijErj#6{vvFDcDq&aCzb??u3p@;E1O%APX| z4zBfIYg&Ac3o}d~K5IBbG?^11Qe|IBP|2VMj?3y(XUtUwby|Sv#cFkBMmMa(s)y>K ztTNl!O3}_$Lfl)jl@xwh`p{&HEa3ruxysaUF@_&^zpWjTe+LXTv?v_A{=#n&vnrZF zRE=Y?EbpU%sI6ZSQQBGcVBfbBHMduLR*osz>qz*m5u>-avA9PlqDS!}>9IIg)qM?A ztcxg=ts3cT82@)nD~d}6uTYydZjVp8=%}`Wxx5MGw1V!Lx@;ts9n}Q0mnlwxQcP3M zL$fanqr@(C(48BxuRvRB z<2p9K4Hd*lv-8@CG*@F}uHZ90uQ&!+)1u<5HEPH>_y$407n)wFoZ0MHAII zn*pi{^Hgr$~K8tt8g4tORXA4_T?H!*D5eoU$iTI zoc2DJ4^P154FP07jtMM!J@qxLbAarJ1CUG6hi3D%HQ`QuzINh{4_=4Xwy) zTLY=C{SqY0VLe0BQwqX8KH=KJNJB4Z_R8$dj672O}1!(?DF`!l%{ zmZ;O&CLR`h{_>m1@Ib4St1a3FdVsFWHA7Q>;69CW*DzRfJX z9r)4P)TjC1)NO6=&-Xhw_uX=OAJCtN6ioh<^EKd*ictGskq`QRL_YQ=juy^#wk9q% z|268-a$0Rh_1)A9a4_SH5c@@Xav_WVD|Yu@+NLCBc9kqBk5c?Vl%({T(0_=SJB}e))Gx4O1!}&pQerMGwklY^O!qicK zf!f3whKPQl%jQhJ=(q52@=GdV^&!<4w2XE1m_xa4s!U|hNILJ48IowsJeue?)Yj2_ zk|GKXf(L$i0nqjg=|8>1PgZwW&)3>Eo>D~rhp~4KjYNJG=9~d)4>bt7@OnFZ4~J36-|Z&5q#@wzP##ekMbcvc%|eo zi}{gEJa)Jg<4w?k(CaxMM2|q6tGPTp;dNF=0tEv45Hm@H1@sscG1tb2_iTGm_2GjT z>x~$r6x_%Kz0*9$>Hz)CCf#{aHRQ)HI1O}&eCQr2LHxb%xazeMiIWsSrhY=6{4_*T zh^2#pZkWX0Jn)!{5Ry||QsP}I46Fs)KMpK;*EcWc_ zao@F+nwgm{Cor?y6%F$AJB2H=nnZmXS%UZ@IGQVE+*tK(P=4~Zh5OQlTlXz$@e!NH@$;R$-zoy<-CY926##n0;p!@{GLUxAeI{kAD%EPy|#&Dj}J_| zt~}X2b*XEqHl6$i-?GiY zIwyk5@}ReB5zCNI3F??;i4Q6j1>a@|vS4h2zbL-f{R~a+I&q`Fyk@I6bo2AkAlmE~#*m}6^37nRC;7Z|_?Q!Ju8i#la^{v?`=4G}^tAd0O;VcBh#<1}R_|R>*nMlYqJgrAYnGxZs|%=L zO!DBFpDF`mN|6d~#q7w|X2lOg&-0B5{_-qzC0YVMRUL zR{ZmP=RMtuOcD)E`CMKqSr86-VPL$V_Nv=iZZ^yZU$bE^L2xS2Id5c6uoF^V%Ey98 zh2<#{7|apk$k)=~MBm94W5=ss@Ac?+%UUa9b=x^x`x_6vUALV1=oUnZCrv5i>E4_R5DvzF@-Zx|RgPfg~gFVIyBQuBh9XJnfu8fQ_p@bQZaVc0Gwg z#l)&rVQk?u5mc^OAPYUXKethsx+Q?-PL)keUnEn_C^pCl(v9n-jOMrAN<~#Cta*Uf z8(LcA<=-rYE2y*kfnBIxwUcZv1PydkB-FF&a|RyeSjk&Ho)y2P1F&(WSrR?BQpEh& z=XmTJT-xtJi$margM!IydDNh+_St`(+NHDFxt!U2`~bn<{?Q zQ=AG!j|r%XIhG!!26O;Y%Dlg%MZ22AAH@qC?VIb$AiCdmBOb&7ROd-ybOmM&BP*lA z=rpOWOv=QL50G#k) zz#k?*A(T;ApPj|ZTvgApy$QWITdJ}S#$AX=n`7iq1O{lf4YaQ2(P@mB?0w;Ye|&`$(pWG_v!3Q< zpw)_&PziZb+nRh4vt}2pa!u;CRBkH=IiyhTeg!HXG%Q?UHp??c0MWn^IuvFOkamcP z?1!t6@QGVVnJb)yNk{u*u}bzMnAH@JQ7L!9WX)x+MkULCwD0C>>9tGc<%KL+L?;+r zQ3=?3SPKzL1Cc|w?TNl5x`w?VOqkWNpN*9MoZqL*G_ZZexaHKvdB!7jrT;YjL11oI zyQm^T+g&1Lu3Y(0Q(Ilu!m_6Fh!q0nE-zuenJ~?E28#uDX=Y1b_sN1OT~WWxlZ_f~ zz@9N10OvnF$Cn&Ako6fWKd|YSy|czFV;48(4JEJv5CgzDX^%dP-FFV6UQ-{s(>lZH zvbsC02BXMVC~zrCaFF^(-nr@;)n8QlH2?~bjXwuQ;jI25N(X6-K+S0@zc&dw2jt)d z%*Pjv(oi+Bv8ZNA1W*5s%efi8b#`S_;uaOI92EF#zw?2 zB%;WhiN5VHbq)_}xA+|2uL!kCu{O4Y9{9-YDz=P1(xFhnYGV$u8xikTJM&2cpbuM9 z`yv?*HC#SbUpJbn!T><)2>64J=7)~WME6vj@GaoD1FWZ=4`f|DGz2d z)?elZJy@3Mk_js6@SD+zGpiYuH};}E2MQ)gHd-`PbBx;nh{I^jAG(z0OX&5*GAU-# zRtt5w%4;Te8b8BRj}w)=-~x-<`JD$>v7{g6(`BBi(U&BIa@~iER=>r(D@}S79-0~8 zM5h>-Sh#)@Z9dJRlbT1iRg@`|d0I8?@NhUIGk4^{f)wgR)dZ4g^Vv3g>kGeF z1_M+^O_DW7op&}PCj=D@r<_?9D?}Hg=~gFU_H?glg(J<^`E}AZ^SC+*8&lA`gNFUO zy^5pNZqz^5ss;aoI4Kf#y#$inE1UOfC#@qVf}rr2{PAwnG`H`#*n~2 zV+8mKphs5x%3q+`3E@rc7nXKz5#U^_6uCE)Oy@FE=IBOLcoz)cNrWoetX}pcD{d;? ztrxDsYCl>5Cx+JzmziSZn$IXOY$@TB-J!+Xj_nun&JJ^z8~24p{@2I99M&FRK2g3M z5N!VyV#G(&6NGVn-QCZ+-t^+=9Ju^_XnnPsrpeX%dcAY=va>puQ)C_uvfDN5A;S7&bpn_7YlHQO!YZC6d zNV&6Qv}`Q6NF2Hi)eE4W?t$$Wm>N93_hBST@TxQ;RN~~2QmQaO0JA{}KE5{jA1mT_ zth?y1BG8KmMS|c2jJ4uKXn9SHPxdh4W!M<@QT}1y?u<%YFgEsZGozSaPaeYXE;#v^ zqv{_oVeENl8wIrO$Sb+T()10--Ql#%o%iTwf9U5@+j+d(_mioaPQSxwzBJ?6_X z0!Q?|dtuD={tkR@xCd+Fif91A7ii$%m5PY7cnsmqle0~zG_%>ffBoAuI+NIct1MEr zYsj)RsB;145{2pYye!{bftwj%<`j*$KtE(9fZoskR-Cyj6PK=8b@PO=8VsRZ_&2Vo zXrVi-zsUeEPNYP|RRx=-t?dmAU%s^sw6b(%{uuW@6LYgiFU0(8Es&*sW;q9EVgio% zcOP9EvA6KK$WV7H+0exL>7Q$rPW#7mYAS6Frm}}>`M>?^p9GtmWxZ{;ZX@!v_=5^P(l=0RSpx?BBSMoHAFi3YDK8YGVM zEV(n|xgYYw6P}T4GTB{@`<@a!GOx(p@N@qTSevz64`GyAUDhrQEOLY$4w)Ay+TLXH zTN~vL(>=K^8q)R-#5Ya-GQc^fap!OKw~Abpksm4saI z_LAZu3l6sT!-dhs$MZ{TWdL`z3D(Dt*|d63=OYcc!Ue{slab}OIkbjAu_;E?{NsyW zu%rtI2bpIc?_csbf{piQxa$=#+&M$sBgBM~(1RWMT>lm*!hZb|G=z&^$iZg}Kk*is zX|)+rm6NL`3&raW-6rY77vj^ucK;7jvEeZ6W^KY$sMSFd!64{rY@Dy=$d;dj8r^Zv zw{$H6jFrF5#d=Q6Q~y z!}!u~AaZ*lHx5fvv{%2aYT(TwNtDWei3RlMUz-buF|~*FfHHP_xY-6@lX-i3q!Y*E ze)mF(!9TtGz$h|}$3Jw{`k)rYqelxLy-89PTyzY&m^N;HQDh(09j2j=rlPGfgs?|J zlnL=6c(6{v{hOMPhC`MHtjPI{>OlxUl(#ueOnMda21AE$!n@)1DV>?5)dBhL7<-_n z^LXV?;4c(i%!@IOQ?pGNMQ}?diJw=d94-)9=t4vSKh@-cb(RF(=9zDmBixR*0L@@HjP7IX(*wFC(nL;pUDMxs(VgS#_PgiO ziODS10=aAE>w`jxfF;jMiLE=!$!{hVr=UAYVHcG1J?+y!pcgC!kk?hpadoYO0pxX8 zGfM+0q||`Scz))3862`>qK{1yCP-5T6R)c!QkzHvsI~L1!doS6Mt&E5#C;%mE9?wOBtP z^;G=1lIar9%7^gua-Kmo&vqGhX8QjKTf0Mo%`3$o=E2(sj- zM^DVudW@IVepoh95}o#tT_SN)H94@@J@VypU9C1w&k{rXxybR*cmO$%EvD$x(s~_I?jn=VBj(sgX}67wyy593n2Li1KL*<9B3uJ%q^$>xX$MUFe5+Bm zZIA=`LzJgk^vvf%E7Z{&j00#bL5qyckLsUZNMTDE>ZLNO^WgWD$2Xdg-S5*`@XU|8 z-fpemccD^AeNJg;S*kgD8ddGQAV+@rl7dW(c9gaon!&JBAo>Ok6$VJc=>z?aLmq5u z*KDbLer=GAeW`2+S8Sqdq170vUsJa<wWG88krB{G|BtJHgJ-$z4Q727E_Be@{C|6s4s`XZsLOcsPcBfm4ldidkZz znhY~pjv@1Y;v1jDw_fQWm2Lk3FiFK)CrAmsie(F0vc89P3*f$rFc_2{vRj56cWYh( zvLxlC?$FvIj)U_02yTG;jQCL~|52#a5rBhkB(lhUTyk6!@Ye-DXAta9zx1DBQrSfr zFe`El%8`aCgTGVk3jSmqaZ~PY=!BHC)%O+~fzr#XtxCI=s2Ssh3C~|^c9Z+s0TvvS zE4QxbEJoIs3Xzv24w25=2(YR3S);8GMnC|(s5iU*uwfxPe&Rlc)mZk8=;Z%P5T4hxPTTeTTiMyMxp^stI`nE`P+%<8L-uWkn zpc$14qlPE&qI_xeF&QdyMgc-FWqc(MqL~Q124BmO!Hh1x(MGH*vAbtHqTcqb*UL~0 z2GekWy*to?`QK294APou65_uSTwv#kP*nxdtIP;Ox$rej5z#>dKFBiYo)NF7c^1Ta zQ7bz5MnY;d&m2_X`^Vq>}P*Cb0C7 z`In_Oc0^TH@LvZ8pdh?ZVIfudEbQ5h@bMu!vk_wK_z58eG6_2+X|#M|jGWJQ%ZR#!_xL~dniZ$JK#HNONr)Ido`rFzs- zj7UmP^-xy$+%B*jv>UxvBb+=O2CESu1~d!Mw=1h9R*CW++L5V)gR&UqsNk@E{Ns+2 zpz+t{S**-XA!-&DMwQe0gnV=*BPv7QUe^*u12k<$O~MlUZ;I(zZUawTU`PYOio{P{ zIWxgz6tSbwz)mJ7eMEZusMsNd%MHXAyyc39C>wdb$XjnR<%hXr%4KM(m-@K93|w)# zkspml37tC)GZLFiR-pcUzFsH=-Z2fwL$?F(sJ55&Dyzy8DA&P5e>^wO5+x9uRnx~P z$^93|?6}VnywwbA3|GyP@?71Ug!E|Q)IKKzFehMfYh_EdVly7jMCMr&%OB=A$Xke& z=To*U*qq!p1{l^^Yf5)m>53tRb~Fcyw0%W&|0*t?SvZ#WN`k#w*Tmg+>(~3f@ z)&#K7N866g6HQ$R6CkVBn*&^+NHDcE6avw|U4s;q(6AVpFze!-%8PjZOXEbn64w(F zwG}+wRL9XK2L*@-EBNd*(HQpvBsN@jgK-y{bk_H=4$T?E81Tqv6Ek?wIlQ@Qv_hw; z2Hb0H2rtDgIw2TQ8N)8J;W4fPP9Vb;h**mS_LK{cG=FnC=LMKNQCZi>Qtq@z%-Ja?n6GLVaumdTa?z)V#Rme>;7FQXTDVryaj@k{qPmXjB&BNrkte(D`w$ zK)=7))c6dRbP$IXHWMi z`FsF<%lbz)Xz)1J3nhj_dC@jQbz*ORs2OuYC%UL=aASJN_CxUfl3#;Nf>JQXO_^iw zd=kAAfJfm>1JKy(0C<#nX05e14=+Yu-lyYJ?|%j(T=Clh@_@mJvi$!PR`CAgK-bR5 z-p15U&%xTx_5UGRmIuTYn8D3Q$`Bj|3;sAZs|9nAwcctcZ68w1lQXzg4v5kUww~cw zLds?^;m%k2+VH-}^_Eq^KYm1?Z=pn_o9)0ySNR|YM<&L0l_kn+E)AO8FA@ zts`x53F>+q43Vg25cs{-9f!2$vh-OkrL|z9J!-yuJ`v-zcHX1U^4$t(dz;X! zgy~oLH{>cckyi$Ffga}YiX~v?prV;;kyDzyN|wYzm>vR%EoqeI%|_8`78qs>hwzmS zuiDxsEzL!`KI&A>h{2XUy3s4cJ*d5SZB_Mw?klB0F*&zr|&%MuL2k9}uyt>xD^%^}x*R`Fa2W!OpV366ox^VT)q}7_k zC1SZHj(S*n8oc>%GG!m@Hryj=iZF{?wQqV2dI`3!9MEmgObkGKHu=^4eFASV^gtlv_4aMUR@#iY4gG0(c=BJ*HzHNpxeaf-Uu*n^vCs> zZZnA*(f{s+!qj^x{N!~9*QQ1C8hRR2p|gl=V7&^mBWt20P_PQN=B&3A(n@9E+O~9H zfkb}0D|j})3o6UlE4#^QW{I6fu9s>px4nJi-j;K#kNZ(sxf?(Gw|Zm$g07(vlztxk z&+Dse{RyX(^T~**{sq4vV_ez>FW+-G_v;U#Lk0=TT^%l65t_|uu0dR@{_+9T}RWgfTF8x(>xs4?F zBS}*vo?`2O8DV;|(bMmu{QIvgxL)kJu10hXRF0#@E%`1&kGYm#4>fh3XoLWea zxnuO>Z*4OPK~*2=0Pni-bu_Z`-UweC4pG{?5{&6W0pHF1+=NDiNM~?-dz5_$=zDtJ zCl#S+w#k?(@IKFNl|&Ne>F8q{`Y@!XS1p@&e2D(-x!UmZAl$b6LA$zt>5x=}9+(J~ zBN*WkmKF9L>99e`aW{5usf|HKyz*4Hi~I%T{TRe;D3ptU+&As@jb~x*L(qGY&2yW* zm7xc(^5P2~gvZ}}3}=kyz0Gr_XZnU6oXxrl78vGlXYX<-r^ks2AM9SNz+!_Q8nC057T}TTgE^-{$7~z7`DxVx9S-Jop}P ztqk!kHd+Q^^8O0zu_u&?!*xuEhP`6_oalvAOK{eyJj$S`!@gq_o^vPFx*zmUiLcn> z$#W$Tr>rc^zywe9HSgEov1t339@N^#P6MC^C693D8^+G$-vz*oJUcM)kf4XOx4vS)F8HvU)`OneR0nI!kno=KWG56 z_`Eiy+4jLLLr3h=zBfZ$DBLDf;Ux5oQ$UOf8lr>3(U^0bMs=EE!g!@vN};+6h3fvo z?)S>DB-Y)ihXt#g<3LFfgjD^73wW&pWY@Cu+XEIm+o*jV&iXq7QABqfI#b{}ZvtPV za^cPn&9-{~(0xPZ>x`{jD7eCiSG#klr7edj`Jc%aY0j67veipRIo)nw9H4Ja>)rD zDR@zXEq|b1&XpKU3;ZCJyWe#Mzt09ip|RbVMv54SVhM@s)XyH(s7+=WKhRJ0Ak#!s zA-mcV&GptN;1w#tkJRo@<^`(@!UsNi+c5y2_CeapPyRlKjirLo)lq@`&SQ=`_*-eq z+ks~AdZB?tims>PP;ro49h!`_e8`i4$=SPBr%eT8u^P2%{(-D*1+6c1He>N1=Zz}V zi`<=W7RWD_D<8K7u^DC0B5I{(`NX8*HGX{c!eYe_O|m|6#s&n9KPD(-A;~s<3MRmG zk4YV;(O}vNnam=s_UPleS4c<1uo!WTR3580*L(S{WS@D6>Q6253stLXVhxo-LT%=7 zs11`#3bfD!pM#z^3ziABgy1s$W-6p|HgTxb?cSMSac2Zjj{M^IGyd*3Xo=XkvA#kwCowSxSa%$fug!CTZ1TnoK^ zU{J?v*fk1JP~sRrQXx_$2K^!?RuW`k>g`^N&BBJ+>%m(UaLU_SfG&|3C)KWGh--K= z{9S;%mg&=WyrwHE2`!tf_k=wM!sr`4MY3r=($1p#UaMpnfq?xEiXz1A3_aU2GK1WQC$xGe?x?#{19_3ptxh8GYIF)@@6614f3}Ob#XLxX=dUz zouZif-4q4sofSvk2m&}Pcg5o9?em_#MUl_izS{JTU#aPIYBf2WfI12MohWoh+p^a<>2e3&bLVNl{NC2l6^we_v!dX|k zE1w;HTb;!uk3$lhMZ6>d=ZI&Cp+h*cE%%sXllXg_4?< zphlR|h>I4)*9^?wVe)$S{aD4u8)05>#o`v}vvV&`xuCyd+N` zw+Ig>T{$B93(uNhCI#0!5QN42!?Lupg=xrb|Ae7fktuw>MTsr16lIt`-J@lsJa-z~ z;_`0(8xaL-ih!s-87!#XPg|DGf@Dw%61FUjAbGujet^U6VF~YXvIXoFId1#%ddOuj zpxDUlz3DhXJy)l{T%$GA)X!!CD+D=j#cVoXS8a6>#IVYA7sfY=635x1)=1P|jQ|U% z+8{sZMo85995bXBgk_DQkx_N~uwirGq<|+7v`{c%ApY0{zfW^D6D_So8!NF>O!#Ps@iCG$2BD|n} z_Z|$m-@OmxyMw0~%>MaZNS)yivyGNG!!&BxboDHoo886stDRWaAI;5(c4-l8s;$_|kC$6vbnaS#eIGQmrR&iqt zAVOM6@{AjkpZF$w;24`3VB)b4-sz8mYbGC(EzOqlXeSz(p9KM&ZYwO|dj2EvZ#Wve+o5=bVFCNS+-}iw z0d&e@j9!KEDKFTRxp-yC`(&0R``J)3RCX4pW^B09tGqZx%x5Y_PKV<8R0^q}!`7@_ zNDt>S4l1tGvt+el#u{tp);cce&&#cr7S0VH!UV%VO=DF_n^h}}aKCK};;d<2zd8SI zV%0m1-jk4lL{|O7wbAFPB8Bw&RP~hX)e`ld4Y65gz?+}z4WtsATaPJccNuDrf5k0s%uQf8nU$TVoo{*=&`woB*lIfP0Mgu3Su98NR z+2BJ_wJ$p}tdp*|Xu_ig2U;#K{4{^F_*L;*ci208`^S?J6Xr8bw5EfES_5FxdC za-tkML8^M^&3mF38vhiVUf;eW2P#f#%XXUv9{e+&=M$7~Qv0#%=Tx{H4w5r$BOcU3 zyO$fd>nelO@Wdn@fp3;>N3ZQp5WkbH1IrLS*wEl|LL)owRc)@I){eL}7-6@#)2%*3 z28fLd$?opt*5uZnp*a4x-rwZpTgHcE1h!5~qCOvv;Ye*@dO!d(gmZW}^wyc2kPVDX z<xzr0efq-VZPpBhDN+#o+D5c{S)^v>nge%Yo58)OX2)WiQB}+Wo z@PQMg@nGbvZ8%W&{R*koh&aT8RRr!1H&8su1&fV8ZIimreYe@=D-ede8hhESo=}df#SkvI`H}Bnz$6wnR=4L3?EU-|h zm;C@1P>(dejCP(&5S1xx$$3{mX}TG`r-y$V=>iYKNJ zR%T{A0Bbn*7l~2CoV8961k-+cq6%KHULfkXojG+tJ`*K(j*lH+MHOSJIK7KPD%EeB zwjheDS_=Q0b;&5wqYT-&MLt4dc06L~YzYaKx^EhUBho+)B09_ak)MteF4b^kz;iR{ z?@YRdCb~j53N7j#&H2SA&JN@I7 zE`%O^Pl7C@0(DO!_q#4p-&!qgSsVf)5vMO@dqL7|H5GGVN>4=z2IY5O#%mR!Z0WL?sM8ouTD z=8j$+V6>v}{@h7{WJ_8dy?QXE-@igLIt{Z+X@o#enqZ3!j<|`6t?8r~Jh9GbDIYFn zH-8i88XyHvN4ZH<_cPTx&kj^)u#~f`RA+zsn-~zy4!rgszxES-2_c+R{E2*#OY~+$ zV39H22+XR#ODaTA;UD3T(7nT4&wsEu;IP_3-c0;-=6_vse85|mc2=Bi%1Aw9F{{;k z^8W$>&9+kX*n(Z2UTxl0LE~)hyZ-BgXn|VoRmqkO%$_tBm?~mm1kxruDknVJ=MMej zpG)%d#|tk`zOabRP-lB^)F|1wm}U-xxqnYYuFWdu*Pf~}uqz7Eu8P>$D%*BC(e~RV zr(OfSWHSKT6Z{HsK)Mu^Yn7;)Vv5$kmULWKJLXloPGBs=hQ+l9+=q#V%a$f(ykeO| z_%PaNoDJnb(#^D*kD;H6)dE=4TiyLeTN}kA!=|P|D2Y)QpZX=sddc_>I&N;H5 z!>K6x=<0>vc6eEr?eTFI;~vs>?hB}M|3fTIbjvKsim(h+fIe2i7;Nsf&>axySKwv% zA;3HuWX#q8j*OgW?`|;)NJ5QPe9C4~4val8mZK1spAQfdX)<&NswxS&S}P)7&IS%! z0IoDsQvG|F9lLq&el2p+cx`O5qmfVESF(byFGr$$xq#IV3VQF);xMlaHmg-KI9y8!AtCV0AFcdIRz z*L;fuI{>d|R1{f^2X_wmsl#eRVGON3cJ&M~scFbx1_QxE*6a&b`qGDc^Uw@&%WwZa zUyitQO=?ZmOpHQ4N4;gjmazaD6bSd^dv`$w_b!2>04G@lWzXc^Ul1GmgLO(VvNtBA z9Rr1;MTT*&u_%fEj6@XUCh6YbIlk^LZ&z&PZvc(q< zLI^qvOk3!0JjIj`o(UhkhVR#-P&T;6l&6U_cwAKC1+>s@^tbgzzJo-f@2t6pz>kHQfm?2aa%3zn@*j*j*!w zEU#t(gwe?on0e2b!r98PYpCLBI}E-g2+bVu**~zzg@lz37C7#zALv8c2%Ktn#mt1fS#{ z(BJ7DZ0;qIXpU=v*jH{Sr_>q`#+)Afnf(=(XB*k-_2{TO%T6+auDSO$PH5XUV}a&h zydIB#wod0-eY@(Lr;h+zr>;Wg1=EOVUt6anBoW!IlzFBvC;XT)75vXclDGh359PlG zI+QO1-Grcv?v`gkhq+8eH!OveC*HqtV(5Qc8(t$fa|dSY5y_0op5FAJM549x5!xNeA(yyhR}ZzQWfM_ZTr(Of9``+C6~C zp+q3;+El>k#5zC3tz17S4JACY<9B}jz6$5*geRY}jYq0Zc5#$(E$TFCv*sX|ylklZ z`zY*%0KMm6ctz9?`dx_$3-QLS+%V?XP}pHi@Vw|EF&%je5Bd_XFlD3-Y;bzgL*J$< ze{mv|*BQ3gYiK=2rP_rE^kUkwDL+0kUpQ6IT33xX^<%wGAm%2uQ94d?0yrd_oLK25{O?Q{u+rhqX0Nx5 z*}RRVv!sK5|1^K8q9MEQsaHrA2dWc`gLS=L-C=%vpWjF7(A4G$rr*%&ogcTRM;}dU z&+2$X{|X7*#PPkO0NGr-;{Oy9{fOl*?bab z7Y}IEE)zmyozGtzzy>yWqZiAiXzi?}6u$}fDFRU-BBmlFbY;eS}7 zY!BaDzQg@%np-2mgBd~-1^2JVY)&Jv8(J83L);w2-`u5e0_Jr$!NYzQ#CK(Lw^K&| zK@SD5q|)yrw3-HKo){42`DV2FE5ixjXMetw038A6cl%_-beqN7_~$q;m)493gNLIF zgjItKjJ|m|CG5*0ZdeU0F#eQj_hA1rW_1H#J^>v3Ce9l~Xz3A|*X6{*MmE6>#)?=w zw1p55!t*U|d)m-pY|Omymd?Y+VwF&aLlww^ya&w||67;=NBFLF*Z7SckV@!b&Jkic zM8S8dUWTsld8+q!Bo}e1E?h7)BZkmwPna(K@w|9=3?Gt#6s=&&YI-`8H~@Sbu8WyW ze(O737*H4k2aQo-TfrARG%OYFow-O@GwQ#zakBIcU)s31IDj^8380Phw)A^NMgq0+ zKpNC}iHqV=uTV)k#upWwWePg5HL3bcl(~7VxxQgj)vkoYFi4UR_~r+?j+$!C97;2J z-5X%|@`>t^1Amk^`NWua9U>2U9$b!Z?)+IesmQ*`X0i)jgRIIOV3j4iZF8q8H>>@v?L8*CZTKy|lGh^YnF1R$I{)n`s zAN-#c?r?F$|16+uZH^?jFQMGk-tCGEQJ`~g6R<{kq6Vf#wpuJ9oXy$BF2 z*l@=KV};=<0rqGKTjlYwC%=$p86uG(ryrbiF^uTvdv2^klzT@?|4ka#HNXht-$aYC zA$KzLeY76>iBFpab_>{4Mmm(?dqIR;oD8Y_FqBqsaS{U>Y-{zo=PPyo|L z|KPYK9dNL4n>INBS!=_=64d*F^rR1&Nc0an)B{qXb}Cpi!s5u_)Sh(Gfde<|A*lyh z(v~t-zw}EQ2OdrC%Z@quyPX6AaoLXM7{oJOR5^z>L!vEpBt~It3286{g6VhMa53+z zLLAdXX0;=z}V`D2>-a2v{| z1F!iHJJdn-{$m=t(KQ#>-;hNoua8uH@Y!QRor?1J z)gy!a#osU|cw`~x-y!R~3u|vDFgjVEySqCtZ{z$68oBbPPEJl0v(}DY8zML4h+RY-VPdTPN$2Yz+*44mtMMJXy+E~}?H-f5y=eMA9*$T* z*g2&FHCvP)Sd-~M-|HFA3L|aNEhBOs;{c&yX5f71$f;)NS0NC4`#iz&_4ORXac&Ug zoi`G*6#J-302Mw4(2F-8j(ZGYhr|W&sGUGC!6S)1dc06nLjH5Gml>8L0B{qYTFCGu zKF4HULMf|LaMc0-k?)h$YO+dI?r_W{0i)mWZ1PMw@DwKk@NF7l>!$nPg205=FD$)# zAJn&y^4P|eiqxG?>!J;)4zO`z&n0UD;;fLIIFVsW0%j}@bbBjn@Av=~xwL;Qa^Ezb zHfiVq7P)w2x|xn##eJ!iqW`eSbswAjU{nT|mOe|uzvJ6K67w;2;#=rrg3abgmTUHe_EFj zpI`3zMkNE{3NnjM$@5CSJaW`u9yu0tMAaH5U~|lzbR+4XIMT4Taz<(s=QY%$DqHL9 zJjx|JGyM?U_5IX%;SJ7>;D?p~eL3|=v;tkx|KX8iqS(KwhfW&R(P~gk^`H}89-mgS z13R>FT@D;&6C;8?J;g4s{id(dAMD#=yHQRgITG7omq2s;GOExY+du|*#vbhK+-y*y zCdP#lTts2U-y?*K}m3%8gu<;(qYh`5;SPk2-`sxhC|S7YES07+vJe~wZ>wfTf>op z)R!x6*AccoSvu?)F5q8ToB}8H%B^sc{>a8ODLz0|C+?ufhQ(yctLjjq4e?8OmAXZ& zSAekq$3fhK>H@{#n>M1h69JQHIDaE!_a9N#+-f!;2CoWe?o$IIXD6kB;qsRr+~B$- zkaHRO7`Ux5dA$E7lH=BJ1WuAKjXI`6E(0H3;gR~~Fdr)S!);1GKb-sJ{rnF)ZMaFk zbu<@I|AQ&7I}Mw>T5Q-PKniO$PerAiDD;H_wR1sP82?^n6wQe{NASnGCOINHV8G{F zQ8>37;0qdKP<%B2LOG$Z_Pw}1QCTbT()-F0!(+ABSPi=5o>(O%s0h@|!i}xPBsF8V zap7h{w~PTFUp0$p^>OTN!yk)3U{a^t`3j4D|u?A+W_lnqq;p)>~G82S6-Szn_A)lN|mW zgGf=d=ioZR{`0t2^ATeE9_mbs``9Vl3O=(ct?FCw2Us5onR)l_sWoZ9M5jN)9mraw z#y8)v%DLz8tj^3F+nvRP{MuN%KC^?fov8#+Iqfm#?vD zy41-Dz``*tP)0n6o}()5BZ0`NqsybbIj2gGikuem;hZcY`S*we>FbDNpU_da_*LR| zE?vWaS1}pP5k^>}7^{l_H7D@1nmdSD|IG|&cKF7sa^x%WVk%AiIICwBD4V0##mpUStN z9??5mQ-p&=BgseVvh1ZTNqK*bRZ==*m2{+iZ?~6@To3si%LK|))|-NqiFejf?M@OH z_x@7a8UZMx03Qd^>_F6_STZ*BS@5PR32T&iBXd3}z z-#d7sHX`-&y%iJ~F|(GvHPQ3_k4R4QQzRE>V70iwvB0lnflov&`sBdFJTiYFO@DTu z&DxqfL5YYmJeAFhO2l7iK~?CIQHx!p7VNFAOEnN=Y|OPaPvV|X*JfVy03~^n7=n7f z9z6HGHJEz)f8Q8S{+QTZKizjnhQ6%Ny0{7OPtz_*?Kh}?+ z?UY;3#x>bvOxwY{>H((mglF34S=M1p(7+*IHPFtdRC?cY7>z}gK4f;P%AFxRKFN&l?6mO&Ae!I!8VEkZn?bFKe5S*@e z9Bh0}7*dw?5dGJCDmznW{ciw#)JEUZ?ypnM&h+0l8QOp*1O0D4 z2@nM|8FbsQzlC>7Z6Q#~a5@{)EI+MsRV0d)BBm&)ZUXi^1z$FN6zk*g!=J6Bw?y3jIO1G5U!}vSUAdTPOb^b3_-`2n)5kKJ2fzLey4jG@Y`|@77>m@rAb_0Sk)o2h8GJVB^ZVM zRCsXg;?L1{v{$oG?&PRQr&d|g;x?l7@W1bZ3DJv4>|KQNAy zln@E8!72P6RecbbYzha^=R7FSy zwEj3_mqdew3fPzt(;wrE?FC@*9{wVUo^KT;+yT)%@;zLMs{nBiimY6oy3{YRDmT#3 z3hb5&g$(CKoGYV;(-z`f=6@@K?l=d1^+$8Y|x zx8B`)`i*|s2=K;?tkWP~FBmPO+ehg1aXtl8DEJXDT5=uC*OXYSdVNN@;en81zTzo758KW7tI>=^}1i3+*k@U zR)lQYSfj!qGz=5PKq25w25Nr&Gzx0-2Twwl7p`1=KNSn_d0(n!?k5(F33@C@T7!H{ z1m(vc?T0+QyZH^`{(zi{0k|hKq!pXgsSbVG?7t*+pa>-j@w(C+S>u5?8E>!`b6I)$ z1@fIyJnjqlo(5y&ARb#M0~>_hM}|9@hB?X4WoJ?&E&+Wb5j??x6$dUY2~Jo7%qdVn z2Ggz9ae}~VQ=^^3JSKH5?>8P_dp{>;IAKj zxMS%#d}I&ij=0MfR}JO1{u~U!xDh1(N2-aH}B(EOyuyl^Fl=Nw#%c1_X(0Mx8 zgXi=?kgvi{?(zC$he}i!PU7e!5168Yg(lQctoiQRaA5uHWKm>~Lq=f+&0x0~!$JW8 zm0UivAsoBw2uR+Mk}WnwncjhsA=RyIj1ZZ1)dKZ8N6J$pFgP7amzcqhO2Dl_t9LfU zBb->}TEdwp_DyFnF8YquNs85${_~8MNoEEyJC;+S2@k=V_Pe5lbj2ax9dDl573(oL z#?G*l+jXKEz1xo4e2nRrt#o;c?;Lcg%Z4r-!HVTaY+jc{Msskpw8wQigdLg#>l3|x zZ5`d-o6=iH$a|r5X|0QnJ4q_JVzRje7VX1{<720tRZ*~bSaR!QGZtjRLE~4qKWPR@ zV<}W=H$r@I`%R73&G8!BA66K(PT4f zww6Q4P_1+ykTb{wH29_5CWvs(2_qnyE@N6i)~1*=Nh4WDX1QPYGOMDbKlXz(}%es zv}|yUuXo`N!%TTwfJr*U1MhfsTV^q>-Z?dmA%$_2!qVj}RUj5Ogd1rWl3XN3v#&lu z-oL5Wi-#W{uVg+UOfnkrVi<8cVOatTaEm;-YCk>f-5EY41XxlJ6q{r&C{a0jE=Qsj!=3 zU?KS2$fGd+iTY=eJ->~aKeL49+IwFYZ{-06yT)ZOd(_yRj00KZd~%%bErLcrbGBJXixf8SGo798ichimy;O&Dx@6C<2# zhY=4W2;<$_R0{LETirnWm{I}snDQgjR?xjlwQX;QFTg36S};r%CTbZ&`yUi?i7dSw{LB$1F z{SPByX_}+J`t>7nfV%!~!GYb4J=?NcN?#+7ff;R9b@cIuFRD9JI6{2(nI-tD+5lO? z96hHuTg5XI1Y__ze?JFw@jJ}-#$V%Xw6WoCY1b8Q(X-xP$@l?QYNk-}X(pf58*Itb zA3`3+mAPl*P7ODK+w!-sz~#BsSrbRbtorSrN`jw&3n@2Esm$8Zq;(u@)>=ofw}s5( z!RdspN-oKz2EzBHvAFr3hk7?~2i|0L`3@XffqkCrH^u--q|%RB1tu))c{?q8+HVan zEHJVuK`92GT57g5K$>uXx|fETLM~JQ3*Ap(%5B+pn$Tmg_;%JF-H<+NcZ6FIeuNCr zQa4X{4+FH+nT@}MzTo2`mhO{$n$#M-zFNguK zKg(xj#0E8X;7ZSpg~;07TXcW0;^EAS7XOgj6Zi=bz=46vba7|g9PRyLe~NQUqj@s) zdB*N(Zx1<}8eXqjT>n(0{oTtXf(*!70+bqWGXJU6Ao>>y4{|43M! z>-_ftRKm;W0n}^aIsU~Uv1}&c%daac6*Y?7X7kH}iLQbzwo@NPI9gdIoc8IXUk#6NTA1Iroqm&Ij>{*Iwx*h(}!6YZ}Ftm%60TM1-?u4WlADKlqNf*eEcxQ-&+0{&ZGqxb_5CV5Bq(>Vv}y+K)?J0Bew)TFyo2i zMz<-zz6;F6%e4VRRW$qzArj^?!6&rtc7;}@hn`)F!OL>*vrBAS_a_F8zV8$9hPX&{ z3Wo?a%qK{b{_|4iP3~_*zKt2{uto-usH??Ev%q z8T2qw!N;TdaR#|09}V;oc&sv)R?`eWFeH0}pK3dTNgF7dygNzxmFEfnNYE1A%(1aT zVN`S{Y2RxHmuudA=*7Qg39}kfc^!;w?gD2*8rR}|g9cVGr-)eaD1Ac6IN&*H5S zEUM_+4-XP_iqv|Uz3yz|Upi>9eq%gx{TJ?x3JqBvRo2_QV$&OX+i+Djm*Xf+dz>D@ z5)ivk6ff?uu8;M^edqicBZXv_9`(Vw2#W!?j+g!vlwfCBgBeNtCbI^LowlG6e&^=5l8(deYiu%FRNFzRGi1&hG3!uj}VoVi7@!a%s6%NTRle7 zK;KkuK2tTjk%6hqnJ)yL+~?bjZe%4Hv=XIlg&F6ul7tOaj{G5#@F1ouGKu8Zw@4)E zM}CB<$}OHhv-I#yFq#l9=%y5`beg3v;4dkrNsN3lEv{dewn(b?ZN4UH;5mfyFNEo& zT3@@4KGBU%(=z$dK0O^C()D!zdFgyUUz|W$^7bzxd|gy6A^4*UzEuaZg|o8c4xO1d zb$pu(MYL}A3c^j@Ql!c8KtQcIJr)3DUHef$dSvak^fY{XHF7nW5(kCM}9d5rdZ^vPqGd zTcTeWRC=I4f_v$6p7>;I1c52<$quP)9<&4a5(4>hqy+PJL_nQW^5-M-)e%WsY-ps? z6Z${0{Z-`~NjJQHx7o^6~W1B|@9%JT<{o6AkL)Qx$p7syx%ATh)T$V1@hwmf)o-#}GO|75N( zZ2bzLo=pHzZjqcFO2+O$C}ms4*#5lI3LYt%U3pSt6z!eQkQ?AtL?2w1`@IF4wz{i< zwV7tg?Wu2rA^3bZMvl00(}D%SLgbseL^!eTKh0{HY*L4Fba)hUcxEqLsnqDN0uxYY znoF#M1(wk+8gl3LbQ7*8wHrVxm2s>D1z`^ou(p0KV8^NyX}49>vcPGj=xNzAx)k(_ z(@FTW|!GE4k7uuoy6w)+vfv^ z4()u6LXVS7gBvDgSnAxX(y%C-S#F1kj<%s@9-A;=M|=s(zr&jw+FN{RhGr_u+o5bi zeD8hQIU5OR6gz0{GkG#nAjUO8djb}lLj`$J!U%&WDu$6q(0fac(1BNF>JYgn5ZRGyU3$o9EMp*RE z=1-L4lfqyNAOc>18!c9U{87OBf{)i0M$z0_9SmQl_#vEofth>Z0Bba*+*scr4T^Qt z1RodkVT(OYFERx#F?C^%L%{0+G3JVjTRhFVtES*~)r#q-0Oh=I&507nA*!fX&&j~2 zPx?vF5@*J`Fse_nR_3L>P@ z5Pcc;1|@uIroStUtJqkzWtKBsR5!!DP((;R*JFf>pLAT=ShyWKOqidE_0u6_L;H?P zw;iyoINo|HORff&8p0!E==>a8XXacxAc5mWdr73VQbenD^I3^76Z3rL7)}cK)P*7Q z7T}uJU*yytDS%1@yQ1WZRihQPE0WiYi&8)-&j=bV4;z~o7?5L5+*-v~g$6(YDP}zU zO6Nv$uSnlsQua(&50GL2lbsa?fFCCkV!W|qIR)+O7=c#0tdlHVh+%mL7QXn9zHEE- zUbH!e%J#JvPo_>1via;qvGYrPBpLE|)X254EFCtkC_~c$2sW6M@|uo?QP0I+Gb?4R zaPLMP)u`udomTh{;14Ms)iUKvCC%@3^5K_Yq=sc-g6UdPe<(;;86nL+imgTXn2q1i z_y3@n)6v~-mrVuSHJtL)B})ki85SC3_waa8#iZu6Nwe=9QZ7|-HY~62O5aoutdU>9 zSBiRR66x_wS5V5g@TFc5n=I?Vh*zfE#_TzB@qyIEg z-H#>L#3=eMAPXB$Sd$LKfIAve=bcqLF*^=0ls)eO16q;$_0J&F@jpQZY%1-Fwi=!- zbD1O1*J=vmGsvttCsvyZ4r^2B%fGCRZ2gr2c+cq?17jcW)}b}h?SWkZ)-*Q=(l?v* zI;VCY&9Pa@AZW%K{(xy!{$11T`-faDfrhxRXxG4`Mc+xZHZ8gRUZ>QNrQiND$pEAP zsl?Q2&;Kn2cyc#MF9IYPbm(W^EVHvK_iOUZm08hRWbzBIP*YnRi~P(47horXT^?IiK#5%Q){ zC-GT)NsU&!)>Txa)!n1@3zz$VmA^-GwxmVnKhAfbRel%czoxVAmS-=x5rw_|eC~GTB(*xSZFGDXSL^c^u00!VarMK}3hgti}k-YXdL=0CqI_ecQEm z+$O33CV(kAy{)%b&mMQ5o5AA`kk4~1lC8>L9)LbXMfE==n|~dS_*cH%0kE$5?ccW{ z-?IOM2N#RGrx134f)LGF-oge&|34w(@)ghB}hb(%4D+q|Ne3$npGL^S1~rr$0~ z24k9L;1Yk^BX%W8)^8uR3_y{B)k$k=AcQ?b%x;hTEjv#T!CQ6Ls$hdm} z(kY`{bw9x?{XhWXfYp@|i2d4o00dB=5MUMD?7{idz_2?fk@mR}iomtKj^d&wJ@g$e z?&0}{AtExIP8wX@Tp`ge0|O6flSIb9yPP2(fJy}j`gr*|fpj%znNWg>KTk}crh?XV9!$O%gS(0_9S5+7}J4X%dw;}<7H%_SrjiUK+)zeGY> zNHQ@|Kc3lKk+GLSeS}jNtQZ)FPi2OA6!^;3+9Dm3sAda=%nk?2HaNXHg;J(;22RQ4?|*#@BBr z61;mz(@TLiYi2{JX_sUu&O&}t)JM$q3g+klo3^Eu^?pKPj&)DO& z(1*tzi++(A2j6vQ95~JUVWkn)T?1I#zopaad=$)Ha_FtxEbqg&GPJkM9qK`Fc3D$P zA0vq|P}~u0ki0A}@~#f(eRji_=?mod=*pKTHe)~8hfv&JbYM$|JJxEMgB1HFov5Uf z%mRB+1-cwLyl@}1;YRCDtHIr~iePEt#4+y$W&X*sC&T>$u%54eeRRE0B?=m;V zip;J}BeS2WM=#X5#9;=(UgCfS9^$z0ojB;$(C@@qT)!0-xO~Vf0^ylXYOAB8Euas;Jd&$a>1_MgMaAvK(%EoY&K0SW(EC{$>D-dajxOK z77RU7K?Jafar0o8({~}Qrr00*^Mbqj~l@N6n&My(6wBJHT z!Nc)!Cr1V=B%f#-o0H!Tn{yPrjR3H%tC!7o>3 zAg{^i9}<0%As$f=UCm3WHJ4D3gEYb^iwL*xgM1GzF;X73M^HNFA=#J)n~kQLab(}!pM?Uo*NwEqcXM>WGpbf}7e7OBTb`-ADz43* zWk{;rVxM^##644RI+V1YX-T4`CRfYRJnLC;l4(>|?S@fR1xU_=3Em4L@A z1X%=oMcD6qc=Tr=UKJl%5}acv!FdD}QtQL7LJjw66M&JuOq*bnW8B&EVRU4Di9#b5 z9X-kM`)^vo0I3--UEsunUeBzID|ZnxpnTaZ0y86MJ!On%mx$_a_nuuZm?D5~=z}l7 z*oWgaNs+||oH3-v0bquM;aDxva~0lG{jDsP&&V;QG!8*N$)ifJ>-jiV|~d z*rR39Fy?r6(f~7i?Sd?etg$R?i{Yh-!^zq=yksG8b6Un|Jd_q!c!<9G0ZMa#dH)e9;-2LIzod-LnlM0AtWyp(0K-6Uf&rSj8^Hl=0kq=a@1Z1Zo00xl7 zwG}Oj!~BahfbLnxjoN{`pHgut1phRIKK_^LEZZl^p778^+R~#{ysP|4vb$>wA2(u| z_Mi!+w73+Hg?TvMKvB%E7W=d%JY0$B_3E_&z7B!i8>cP?9d1`lV4-U6U29itEdo_@ zon`}bA1rT<)>*i3FDt_~cnis{1yIKFDK0Zg=}S3mk5JMaWY0*)_x4_)2 z0=6`cYwP5#EF_B)dw3`(9=NS|`<*~ySyxP+z5Z*(W>HpU96d6Ij7^DV=+kkwyZGC& z3RIHxC|lYB63gNa?2}|K2mAnZWc>2;b4Af$iZpqEKA`baA7Gj_@dJ>5(Egzhp#Rhd zOg|lxsiki@Dc01{&!0dOFRdG|E(B!7l_ybYsSN&2F+c8oYHvhr93w=mb&DT%OI2c~ zj5M+Ujx(Vwfa8qr({V=oD><~^Ocy(QRweR){XtLHMNRPxzQyg26R=`(mQX0+ zvDOpWW&fgU_g%$}DB!$Q$~LX}ZIrjg*@}DiSAtp=CutN4X0_|=!muxvocNnz^S=7( zQM~u~4poVLvYpvg)Z9xZkH`b~s(K|jXJaUkGSj^Y)~_bwmk3dzN~KAHE%r)dq`5xk z#1GR<1^LY<#cm@ryOZQg6zc6hWoK_%ZV5GAVnbe2OGR`fjV>aY9Sc6IZ5{v^t;j1u zO?%yG!SA#FBVigjq!l%*lM~)7YVpS^@ok+2QU&_L*I{>`wgCg$7vT?kW;PW#I&AKa zuQ56Izr|80LaNo~8#dcWhR=4N4Hn$AvNR44LbS@%xQ|kT43QH~Qg1C=-Hf)7=Iz5) z*Dwc*j?=enJnBR_*okV?7B@|GTgc^}Ml5^krwZen+w-@?Z&N@i)m)$0ShsIPV)CCO zc}kl5^F5+`F3Xm>a9tnnmP*g9X0GC@ zK7D5-0ALGf7pYegIhQcx?9%*lRNbK>0w(@8W+5M^AS&eBR<=q4S1^I9RQ;0`TiK6B zRK+-jaicWGWTQNAJ~4Zx1AFR6<3rd!HhiaQ#-<0w94eJ<;6dwppVGtmgR`2?C(K^? z&{Vv<1>#K*_IvYdJ-7B7cKne{=8>x8sj9WExPV8vuqVyd1&zZ^t7Y+{X%(a!n{`Bt zuqA?^Bmw@sh{Urr|K734L2S+wR?5+SZ6;XB)I;%IYTKP9!ak%kZK83NYfq{8>WWx3 zo|Nr7y2^c{>!NG-&7sPvG}aGxf`z=7`QP{fYmN!O$o;RBI*$|r?;;2|INk0$H(e>~sXk!73jqpLpas)gLq`Y5D~dSK*n!q; zPZ)JJi@^bx>jHvesC#6GT<3oRE`_R8)tQhq!P*22}=}hiW;YJyC{*HgVUQLasIIR(^i0U~TW}M7CGFBBy7N~D5+t?>x#)ca2g!id9lYT8~#PyN+j~I z3rXBSqXhEj4V2%?eZv6o{icZ=`O>{rBcP&GK92UQZl!p(du$t;lr5wr=0qgdgB{LcfP+{36xDAr7!xn8nlD z(PhH}$v4i3&&KE*by=V0KRjkse^UP!Q4u~z&hG=3w#s7utqMUh;JX0v^5t$}Voe|7 zr5^QVJ!u{8z*=UHajn$QHpnvlvNT4J+ctXL!Wix?PXq@ghgKX#XKteA1FS6b60|2O; zurJ)09T%xUC!Bd$zCA6)xIw!=9KD_2HVsI-!VuuLN~gcrPTJ3umD9L^NWI{&K7y!Y zl3B`feXm{51Ibok(%%cW$(ta{Zc3`#%ry`oQ&FS)z;;cseOInw+8ElU5Al#IC559U0k6BkoAkA!jlX%m(f9 zAwgyXg9I@Y>BwMM^C7Wkg490Wf_^y(KzAmHEqjv`mwp5+b~ zSxa<2(^VZ~t|z5y)?thxJ1s}WwC0h`+qspdW$E56)IrH9n>8j(T{l*34d}e_*5g)Y zU3qn76wE5%HtBY9!Thbv`l)Kh`BXJ) zh4_T}RM6v~jJrf+Z@WQXI|?LLdtnB*mmK(+1&1!pVB@;Pj6#}K^Bd`WjB83yygr^C z37D-qqiI-?5tcIcW0f&X>sb|v;<@cYbm0$sMy7VJBIw7PJ6hv(vRj~^i-x$j8grdgTo^^|2HyE^M8QM=lnM^PxNn*`P%Oue7|u|zIVtqB!FL+$@Szt#H?=t z5Wj-1ty47(e?k6iyI~s<2LV5e@^rXRHTLf`t(?QpSTUt524os)y@9C<+Kk;+90*gb zsG-{7pG#VCp~h8ji4&gP`IELs%xhC3j?BkEqUEiWVv!cOM^&L`Xa&=iGysfcqxA=* zXD}r)`mxO&egTwjWxSDhrow+sZtao}7nWUOQQ5XHPIr7GP(Z`YE5)F!EXuGEb^cqz zEGX~keK-ZZ%t&uv8&wreN^d2yXm8MzH@vl79kP!RK}Pfkh{1MTbJqOHP?cn~f8!Mz zgH3oH$;J+2Co_+1!_aEKT$dEWe{lhQprLy;_a~(TF@#Qin~q(j$X)XhluVpzI@M?( z5HQ@PWtT|N_PL)d-(sjRS(=Vn;;&z!9M1CYtyZjO=;bGVzazbU3mAyuO;(r{9?|XO zh}#}~uk)L0l@oi*>VNg-;my-1d#kw5qt(F+vHZeB0^LXmfK%>`uF>Cbrw);QHFSG| zYqxX(?0nR6)Ztl?e$Ol7XBmTwd;CG$KLj82THvzAfDc&JdQQqaLseqG z2a5}09F}~4+Q_{FZj0KK#WX;w0S3QfBBTQa+6v}-Tmjhum2!;cxq`guGP_0cUk0{x z9n@Ii1KA;$LB;z4q|ijzH+}q?0pI5n-6)7a$gJ6kFr6pga6Gztk@(uH3{(^0&Vwpy zR|kwg4YpX!PjmX%_v(4g^n{5^@H0Z9Z)Xt@Vb%c=CY$cz3t?|6Wj~ETd9gO!1;fvu z0ga+x1VLh{QjC!b;N|>HwJB10`M!T?Vh&6LCVbmq4N43(IQ+39*-hb}IJ60dHQo8F zib(6)6SqfECjrf7aR1_SwQrR0_6GgbNeV6vhs%6R|D#G7h<=$^YSA(dK~3yXJ*QMs z-v0dJKC;~)%VhRGWXh0&!H@LI{zhNw zV`bhE_u+gh$J8Ux1ul!J!#0&>mLfM14G{ufJ(`-~pqlSW_vnomqLILBz zY=Cj#6onlwp`3KbQ4nB{ZGMV4-7p6y3SfSmvHqkXavZ;reLA!CS_lUYy!E1sI#ABv z?QjnouwL{5y7Wd4Tsbjjn}#n=E9%TEE$9y^U@eHP(q$+sP$k*{mK*USq84e`BPzS4 zV0L1H2DroCCCTTf3oRX>$1z0^I%fFFqJIPeU?&0n2^e1kWTT|pPM61mzcjo^0++%L z2q@JNfB}(gz;`eJ2!MTD+uM49FD2SiLinUjiR2PZIisMsS6g=IoaPwmk2QAzk;QV$ z@oUyKk7@pn{j5}0$E+(sSvaXzd2TFokB1L}J;S>zz$1KpL}^b4-tWxK-^+H|+Sa!7 zCqSP0S}WTfJb<@lwD5?)KfFC@>=x69UjZ>(_z+&M%=5G)@6S)<}39_2NN2^t9OHzP`rfDgm*i%u^(-1u~60 z_Qdl6uF#w^rC+iU%#*G^H*~2O#DY6jv|oitju?I2>nbj6BsK;>km3uU^M^c6(N97K0SWP+##BtB{RU>%U~cY{>{$ zfv^%#?1C5OJ1nP#Fi{EvYl%NAP8R-;IV(mq<$FnLO__FzZ4@O5L)87|7s`A=YqKU@ z|HN6goEYOkTLyDu!VB4AiUbd!^DzS}7ZguI13C_k6XHrT@c^+Cz)O&(01~?ZlDGg; ztKh|f^)&ADRLWqAU*x1m%*0pO#Axie10{e4oJ3>{b~6pOTdZP43&gh=}F zI)O43Slusq7WJJmGie>&pEHdYt0%xxFb0Jl#TuH!@7GB63UOQdSm6Q#wS)c~NP@OAS- zr6XniyOj$yMV3d#_s2?l?z@{R*~Cy{(*n#7*3{x6A=Bz>R-eG1^!3fB@EC^>XS6YT zvj3d33UkeonKift&>n!TTtM%CF7`{cnoF@pVS#T$rIJY#t{s}qs#>+My+~t+UJ=R+Jp5~NyhoG_k~2b8I|%Qs|pF;X5+d4li3m((*mk0!A<{KG3o#sSafOP|l? z2}V60j$tDT6N{A+@BGSCo)^EOPfUSb7E3%?M4sqF@@b7Vj+m$q7nT6)xKf*7==Sbp z4y-uMwO4%lnqi2EAkwe&Rw90OF5+ep&5yEoWEe545Jvkp2_Bd#jv}yDS$Hh`ItGlP zqS+tnfvnu2=!+Pdbi(UeRJxC3I?W;?DQ5)BClkJ z^S}LteXPj%8=0Hy;o`E5=T>e4CC}-FeVVOupT--S|9o=fzh}!csuyv73A1jup&FTl zeU9U{>R4skk0xn;j^lD<``S%48XgPSFXk}eXd-zL9R8f|xejm#Wh5BSGT(uLW#piu z$YO;o;UN5wD91#k{am+tA@pn%E2{APT(|lOShvELt;L2Yc;*{)&{w1)_Ae@6`&_qj zsl@;=N;+bl8ToFm2>)2Og1X4mXVa;La!~_tQi+Fx{^|B@eHnHWOb`-M+T?fn+dO80Pd8W3?t zTlNR65$-W8+ZnhQwyo{-lv0K)#wOf0T%^b72#;=Q6Vpgm*+Nv@gh?yjM zL`NhWiX2Sobanhf{=H|B|8$*V@O{(Z!HU&`Ei)Gx_EjApEq0(My-Vb^oN@4|ILk*tBZ}R;lJ$% z01xP2{~9;|i&k+q(oHq1t6??!rMVF~HpQ+Cwqc-2@x!4QAwYPY8LyALKtu_Iz{thf zUpH67WOM^Ko~F@`as6NK;Dy8k{DSrJi^7X9B~Ls_;Wl4ryGF!8`6359N#R$>krC@T z#{GIIsNfSdUQe^F7tlj-#TyJb>_FV3I*L4Q^*eyei9D1k2!Bx|%CnRRGUx7+X6L zf(dxnlS8Z(%mcb?6j|iiibKS=PA@5WNXAf*NBm3wR;coyHs~Eh=x`}=l>EE_VgdKo zaVjD8YaisTq;TbA%-}?@-@Mozk_|J*{){F4y4l8wh;z6eSaR`aFxyHX8;%3%w?A)O zfIw09X`>QR6ClNmrjNK}iB)0hM)AM+f7j&16n)ZQ9G86%!CYoxI&9w=kT(dgQs<*6 zfY2dFtEj5v20tbI{Q?Yni|4=s2JR4fCmdQt3JSX`(Ur4#eyYgWgMA*y{pG^NlL=oQ ztlK+WICwYNCMkJ$Jw7`%`Y;D8Xkh;EVYEP$>#DCN;jMyQQ|VA1`~~t?ps#niJTS;{ zU}ZHQgt;{0>wbfm*+0{Od!kUVXZE0fdsM*E6Ba%`8u`Ew0dqN(){%MrWe*-K|ce1OSii7 zLMUn7_MwMU-p9v2ur=G|?{5gCtJ{KN_6KTR7uB79YL43>8IkSk@|`RYT5Fu*XX+K{ zuB$Mg2~QJF8@B9E3^BkNnA|sUWJ>y|6zL0VkmZPB)R%xOJXrj1OVeBDrA^EpeC%G~ zCdd{bymUck7C9Wz&(oK7C|c&x8^A6r4R#_rI{N_V3tFpX>YDma>;JWD8lMUr-Qi#KW0q;b&Ya#bJGyTSjJ{Z zAG9q(-G#LaJzW6 z$I;>&jhZ9x7?zV>!Ci%Wl>I;t&ckfO?~BVrZQ(I8_~j}EsZqpU?5-K)8m_ja_j2^6 zM0F!vB5nTz_^ZlPH?TT8&wsSS4JT;lCCarvNS|bj$TomiQ@hKCzS^ElC-TtR%{ipj za`&@y$@N&({4U-a{y?b~FEXy#@*IL9ZS|s=gDd+EJJfcn<=?6kb62@hwozSdbv}6{ zB=Xt1HPoqA8Ig*q{aUneiDa4`w%+XfeJG@Se7GUxGp%%eRc4F-Ij^(h~EGR;72&H56h$K9ZYhzm0bVkth_)p2z?an5oauHFm^azO|h2l>1`uNk* zrb14sVog`Z99mLYVns>MrEuOL!nXd6E{Udy;BRVdGLB~Q#*35r8jED4 zjmIVUf@IbjK2YM4gvNA5e7&BwfT;mQz5D%B-7P1Rh_)OhLX0K)%xLYrV20($^`Ak&ERm`sN zifG?!B}3yq*0S)NBBX6&Rk#srfkLZO2co!Z#|UZG5xMPS`>9R!87ggiX*`2`K5;dX zwl%X9ZlIPiCQVR6w97!838U_)@Ibk&_@e2O59YWN_%8V`90Og-%@gQ(79kWyy+(0f z{ZoJ)^On@W;V?1pUc_Q7%FH_xZ{+*6CIauFf(~$k4pc#fZQNS1pPE0$hcunQ=ZVq~MwS!KOX{4+fZNca z(~Pyx5H-w57J?}|Sqofam?s4a1y|9bnja)|5lQoIFU=fUL^Ezf=1Ht`&V`xl)O$OX zG`uzfF1~*Wjd%LA*%75);Mg3bTcFV}2W2AW^Cv&0La~k2*`zlG_DLIN#YwV4cM<4~ zChpP-*g~>#5h$5w245kG%t6#Esj7gJh_;}3ubxVM;xuBIQjpLW6a58*Ix1_ev_I;G zy06UpNgpTXYT!bnap@7tz^X~d(n%4R-ID_gCuPLuUhb!#2u%UEx=i3 z(367Z2XPBNpGw!ojQ%vYh~gjs8c@W&qB3a8tb3@|v{+LXBxp=42NTvx#V}gjG(3lD zZ0d>*Y1j^-&MBk$#Rp70sWUijp8Oveg(EFmLm`__|JeKTm2y+Gw2pm)V^_Pya?z6} zYMQme(M7Dvy4o5>T_(UPsHZzB1ml?{z#iL1lP%caO zn(dA12j-}9FE_JL8=@bFRtdh*u~XIsS^zrMKJ;JcSd$VA4klOef6y^g6t>_>m-+n7 zRx*>k@0E2*4)y2w2K!{jU2@4@wN1#rKuJ;ws?E-`4&LaOJPsKjpu* z=Hg{-%zw6-$|v)_WO|9x`zWWwqhnhO6e;LNKF2*F2J?llBqcJ{n7f2^j_)2>BCL3* zSG1~<`&)97MWe$4Iq1nb#8_LNoX}!xNjrqbmt*k9jNqSle8@eg~aTZh@l zxniwjxx1{~i?!gE1>#>QGOVb0sf%l&2ceut|E8TF|LaSF(;2+t4*PAO^Y1&Jehkk3 z#NCGjuU1SNohVZ}(nv*9?$1~V6H!RGDBv0@fuyv%%@);~OPOnp+=cDWn zE${cUv!lgXw%o7(NC9q4Y~$Ntfq>N2{-;>@|F1)_F?2B2chogA*8jiPq5OXmF(ciz zUU93{x_zMcIPrPbUgFE4(+lHbe6#Ro79x3E`6*)Zx9!w~QfQJbVzO+5Iyioqc zgJLCrJ8Yw$i=pc8Xpomp81$uOL!R*UJtH_+VctDFh zOoBH0AagcH(ZM_rS??hKZ}8s!D4i1|n9q%uE3lc(gf}btYfXIV-IoIbC|qhEdt`CZ4n%OKlc#EI5r$GN2)ADKM^-o>y*K{nSso1Okq}5IYI{&IY&(j2 zwL?FL$w$I#(7Bc=Krp!Y2;WU&C{u_<(cp4A~%afbth~6O*#v*E4^pUGzmg3->tzW$oHQ=+K~^el6o~ z%tjHVnp>e6#@bJ{rpS$fD_x|t^GshD1NlUCmcZQb+y(Z}fuT1lJ?b%Mpsu}^vJbDVQkI9?l#dO9k-?)-ND0#Zkhlh_Bo4fK)o+rdt9}4?*MeWnUcXRaeFEBm zyM`-uHy=MIb4s|oZ)Y=v7D|-i4%!)vSd-fB+<1|(aQlJo=y&pd`l>aNE3Ld9-24FL zJAz3Y>_*H}){0lAN^ETaP003CmC zfM6UDuMfi17sNHfwi`m_;j40y?PPI8Azk~2->&}6qw02Sh1z316?5>DO-Od~!}%b$ z*nO>7nDydP>7y~zssEApvyoYcWb)333BDF+k6fM*|1|UOc~?bM>9XzY{!xjb1c!kH=Ja`pCGTL#I&rX3R;a6$#C~E0l2A|Q0Ho+3PDfD&Mo5!Vj4AL z^iTj>oZ++=OS6}2jW)|<=rmba6>!dU`GKdNCjJ4A!e$y1f+0gev{0yMuO#4KL31`3 zHJ$>w^7K#gX~h+T>>29jJ{*%<5>Wj6Y~A^4wU+^O+|cH@gvTu(*rV*v#}d$^>_;}E zX^{%bvmyukBm(MU@zb*a2&)hF%yeHf$%@$IHlAmyzkQB=ikWt7rx=+ygg`?Gn5^No zmG7ome8I0GYELSW(+(iy9XUR?Mqa&XmS5PRoD@i;wrfRf_7(e*?eu58 z+bue_BEvKywjab2X$U$ZTnVM@bL#m~1@>q$L-Z%(@~FV`Iq22m&Zm z5qHuX9gQ_(rzS&cSqKPb5LQzpT1)utGZ>j@f?L>oKkK}q%C8I0qBeaxI|E%+zX0zT zu8&9fmb690>^Gs~CTutAIMvj`86x;t@i9^MR($a`yMRyLiEgy?faz6S_BE0*>Do}k zluP&8QW2J-Z)GrFEIjCWz{qk9xQa}EmX*D;v*|hMewj#FRtG2m$)Y=V zty8L_CRD@7!>upEh$-n;#QNWnL1dSa#@soM8Bd?=GCaAl{}6X%U50kJVhkE%tPDj$ z=A;`D$HvNDGAs3E7T8p%n~f0CM+!3$J%waxpFpy@A=r0C z#~0Qz$jd8SdiWW2Fv%U%Nu)tNP=CZ3|Cdn}RWpC-iujoRsggYHB*OSSS-q!LPDc+& zobk0HPpIut7NZCZ5ZUNKGMtd#Pa^>`k-ShlMy#Bt#s|4Rjn>#1!N8He;*o;{0Ez{o z3MCRzPxBy0^MF~#kCZKb!c!0_SBbRZQTKiSjsqw#X%3k(ogeFj7f5`P6h_ONQ8T?f z%!kgccXirr8lx3h7D~m;=l|co)6y`tt~tqvh4zx@nqj#OSJmo(*o4=H0_=(^f_1ja z{JcQq?kzQEm%XJ9r@BYkEi1Yi_ivsZ{un$1uL6x?A0COsCf*a3=;M5`3tCXBaA-7v zEX$WSpOPXW1s27HQbbj+Ay|mOY5Z0|pb{K_0Jt`DDzOrL}^ix;Mz;a%bb_{k&7&9;fa1*b#XuV@2>6xBC zc+?UKnc?(Dd;57UdZ9wiIloFk{`tGQ#Du|0+Dy){3UN_26;-`P0|)gTxqrvDcwA++ zx}!oxzXwdWYJsxLKZ{_e>mz}zE9$*^{p$eVb{J-;=6qSmf#$# zZ%Z(_O$vl)`K6?I-|MNX`@k$W?9b*+9q>Cv{KPo#`QHwYf-%MZrWlxn+7T<#(U)=}?$^dK6o zFgTTVms(J`EGfp6+gzws6)Q{E5+~<2^uC%gUbtiZb=vMbL+-HWm&8Y;<;Zmb$9_|! zdQ4BQiY{_nz-}0dL6fp@#W<@_z8_Fcu39AfaLGW66}dF3+LpU6cpWN&r{eO0oOJCx zRG9Y?%;{VEGut`1``~D)1HO1m7P3U`ka!dv&eMZT9QZF;vE~4vKt_v!bHCf9Yp; z>5V;tFnnT;j_tr;sHEm8OFR=J;L_qE<9 zYupDkcXSYeV*-%8No9PhcRR(so#_coY{-1U?TrsJU+%;dS;_D{(=neqJ$u+3qP7UK z32hFnyQlp>q>tnG3e6XD`$w?ue|F$#&uG`xw%a%#H;+Bvd!Clqeo0rrp6B=fX!#=g zZ}^p!yS1H}t+l?ct)VmEDnwV`$i~?1|F-Oz)Uf>41OMag2^ay6B(6o`u~LVs#jAJ6 z#Nygq$sW9F{QhRYDp4qs-@p*@`P}8P5>Ggrk_9^h$7KD=eZ1j0I!^WV0-Hy4gp&vD zbWjs$M*$oV+;Jx!6h3?k&2dI77}f)ikT{NyL*X9B!Z%ND5>OI7l%B%kfH>25NT3VP zQw*Iy-WQM{{xwO?AnG7K9*D4uo8e{3ecGk2h*xWp2_e4k^jUiTfKzp@7Bg=TmNDxL zR=mj{Q+2NWlDlbd1=4QqcoVGq=)vjHfZM1M6Ec&$v#qj`e34!#?Hz<0hE?bHaxw*u z4R}kQF=RHpgZ}E1l^ym2J_UHc%-W3@A~s1t32$03!plN`%3^rq>Szv8PNRT5!o;i55Vz%f>TBMad>EFs#wL7UaSv~*6pCcsH z%{wP!p$xR-i4*Ta2MR9+f3=w7fp9j34N&rxCte6q^q`s1^6+!w!=8WtiGPu*mahdq zV2aSH^Cwd@PA@bKHaB6k9znS6M5ast$`W2k{=|$&Hmr9CNyA}Q2mKMg(xL zmB1&fvkP>kEY!sm6ms95T@Q(aFReJ{S($}?j2OlAL+AEXBy~W)4>@RaJ*XdVb!=ww z5vc$?s3z>|(T&0wT{kOtI7!5mc9-^}4u1Mr0fLV=b|3$hF5R6sT}otBx4m88tlb{f zW z983-kd-ZU^`1%>r@Tk*aa*_CoXZ|(ZrwHwZqJZTl2ol==Q80z{l2r_ZYd9TTt?9j& z(b{PJRUf7D7)Ib>1bWNEOqy4#(tC*&f_TN4JHBzsStz*d$y`yJYRhI8yb3Bith}&p zmP4t>#nUuqXG(HkqFjmPJGH@aZ$iz0<~FE>){_&u;^I;4p0;0@)S5A;CS2B&I@d~2 z1S5b$H(n1u#N`HRp+kg1XGvEhkEO$pLpOYO{-)n4&`NEgRcjYonl;nx$|$K~b{2#Y z#%WRwv8=WXYkKp`L)n#jMvLUJ&TdJjuMaNorWRgNm!`Nx ze|2?EMpWj;hSE@84P{<*#7v?y3?}I-5xRB+5Ta2Vn=ONjuvGSj2v!^H2anc8hY?o! zrVMTa;dGqfukrZ{D49>$crmAV{N*^$2T&Y1K3G{L!b_-b&iDz9c&iQ-Vx)JbXS5sf zrnIhzw3fbS^{47}Ud-}@E#3=cWm__fn&?s`Vu{{-IBF36?7uq@KJsWQx3 z_bI3G$nf&@!#uqkS{m4Id}rakrO!hRNRmN?VnyuC+}!SGcdIg%)%o7KHgu79hv8Ja z_4epkBR@Xe7s#QKGD)H`hWyPh=?$iA1k95_2li;oS%?R`h)ULB+w#`aQ zG{ks&1up$irhdmy)bY@4JcW1bfXC|ykbEQDwyHnY2tYU;-n__PE{Ch;aTWUaLDQ_= z*?hed6ahpR^pf#X&p)t1ttTP)bZ6g?IQ*^I$#5;44SimHbLh zzSAT&!998BKEnVs(_(K)l+$9iBK%0ief{bg46oG7*ogmA20%9@?(MB5$Kx5UNzivL zH{!5}7cElZ>&S-8{pfJVN?|NMGi_1uc#zD|J4?F8DUsVOKV>q;qG+GL#=4FPg@X+0 zC(%HnUNsm&+m_EMNc8)8+OanP!kz|7pq_`f2e;?ZJ20 zbc@@<3$fpwh?~`vnX3V2a;80Fk)^5ZO6vg(jpx3St@hI~2}OXNJaw+uJgG#{hAtHD zMfaJ_@Wb7~G1?X{_r}P>oeg^%=ik%4@Ao$r(BM^cSqLDYaf<(G1o_{AaVIl(2V3+1 zr{SXsFkAe!J=(imp*d;q0ATjGWdaotZzjrwSQLN4%s>0pog^e)C=`*j(Ku+}kLpZv zcf+N6mnHZ<4+n((x`p5d8FTVa5wUK%-~t26MSgGoz1B^*Z|@dFMuCs;wSP2RksB~~ zd`;Ah2Yxii=K)LoLHI!uPA+qwdOUs#<>xR$i*<+f8jX!tvkFh|4{C) z%e$F}?1@k4w`F+qdG>+b`b=KT{$n_6;skxbEEHgC^sGzEf_NYW<$>XzAPwT>PpSjS zr)kyJ4NR(6*Gm<8N4H8O|Jg!Ri~9o%QY+9p35b@Em1}4~k_jFLD>}gJxWkWk&~2cY z2o5a~y(!VFDR-Qo9mjv%pqErPD!&6L@PYR&?dYSBz1Jq3!ZU6cF;rzE6`Jo*@~|Su zj}68s%770-PN8!}gny^Q^T~H7f8bFZnGlSSXv8QyfEoCwA)IFx|BpUh|DH*3LMU#$ zOR=PSii_!-5B~gEBVve4B2B~%V+ZLEa1j{g0*Q8tYU5xb?l zJpD=bUexL*_QtX>5?OQ&T1jUwO=;sgT@YRY{9z-wpm;u=CCoCqIXT7XWMs62wC|>9 zJXv$(P;>Llunj${6Z4ZMj@jOB3^`I+w+F;e&Ay{5uUMLgC5e4JP==w&qP6&ywOgCoD_Tsa=17lXhtBKfD|FdQ27w@gqoc>Z%=Fd{TI)4=YO z{OBVsOhtT2F963wn;%?dvHL`ffUdxwH>wfITJ?gq$AHUWwmVJ?N43GRvr+GCbLeWB zXT5ko0`8(e{#yw8rr<+4?pmB$BUBYa&T|Dy=Pj{X-wi$QU2m9kV+wsX*>m^%2dme? zX-M=ydiW0Ca~elUNc62i``leTw+XXkLeyTdj{1!(POAp926qq(sq&O3H5*&G?*%<{; zP#Z&L@JzJp(0c2W)2oKt##tK{y)~R0A=z#9uPxS{gBHd+p%tflR*cxJv;8{fdehOh z%a|)aJzPiaYV&X}ntomMK|E=Ium(N5uJh{|3SFas-Nx`7g$iejXF0Qz1!l_2r3sls zBhwB=4%&@a8^YtCPwZCi8}$-UP2{QB)^Z%ouOH#}E@BD|tNZmUqYKq-=>>|-U$%m} zAc68u%Fx15v~GbfY>T)zu7t|x|KK~Vhhv-k#gK{K@ww!>jh`wa-c%mi5>^!tr&XmA zksZk&)KjqH#<+hiD22c^PH@{uVee{h4`NIE`T2QvwD&0g`Ns6}C+Qd0XL(FS}=RbW%u7&fw-VWwO!veI$5AKhNsOV;C zQ$W!*`O;}Qlg8TCYd5;=(l(9rl`dA(F&*Y1ItVl~cAa)7tntyFR?zCPf?av_DVtK6 za{*Jubih=x10=2`TPs@Cb-{ofO@*8zZ=Ij~af+~DA-fuVtbvz&IZ&=yR>2~vU2xH9 zHa?U>PUo3FUF3aW@aYXK(<=bCyt|zc>-dt?o{K=8Y8hg5Nq6a6UBfI;?-+A))gCm! zmH2M0~6hSY~M4_&;++StHwq z<`6ld(qdyt;b7+2mjWmuXI6Se>HM(rvXBdMb!znlJPHaqbTYSdK1#Ejc5vUC-xQ}A zHGr|Ak8TwyKee<`VLXQYu!3gXuWf+iwW<@bX-R(0RjaQP9dP( zMlCa3dq{M~PYCURW&r^+fT^a7T8$`R52$Ftb=QH_QKjpUjx%Gb#5*w#si;(bA}KF&`LK@Un5@Fq^!>wKl-Gg2-p%tK|}Rt$ln`Sc;=bMCq^ zss>(loxpQKb_@SSEE{)wh<*o9#tjo?{p3&@&rD^6-Q&uBs}v#zwMm21KFC7SY`pya_>$8h1Iw zK9Vf<`$elbZ;iq!kc+v(w5hWz8Yx5mZRlE~KOW_CnyqFCKxb?r$34IE77>s# zPiAHjQ(jcRq#LuBi_i6>VzDJwgvuD@wYTZ?@SR=Xa72JNsx_qqj}I zYr7a^NK5Li2b!}OzfW`j0a>unsxZ}f^jUer6!g^;2FxQlv!=36wTN7kWu4t5F0q<2 zonM460rSXsZ~iBgStckdvIR0v>gd9`FV2sFy$Q;n62jURW2_~%>Zul*(RLb@@n6%( zZ8;USh3&02iZ%+vYfCJ?73E3J>EbA5-5$!|5YDP&&5f3;raGffL{ zjclDS52+)>%d?wgW43at>CwkE=Dwg6LKgBw5yVvI>Kbw^RJ{8~EHtYm6H&_Y>3*v2 zr!(C=1)chYDKB@~=SdMFZrSr*dN6EivwFu)E)6kqd&I1c=b#w`b)fAHEnLW*$5`(L z=*r$ZP%XSnK$wCBtJ+1(kR^ z_tj;s#b$>Ms727d!E{^y2Wqx=N>y8!LEmS+90Q&#YJcNa`twcZZ!qcbzY=v-K0j!j zkBz?lH7KY46rNWy1Qx>Z?3pqqk)N8?Cyx;sZQ0}KiI6_SCqTkZCI1;hN>-L+qRe`i zSEC^Gr8lJEoFJ5ojo8AZ^W+mbIR_)3d&Xyr0u(mP0ENwFan3_@yFxbD7S$&1M(IUF z+Vp&-(&DxhCG9!GB}~(7U(y|1o4q*#QRbv1ic*{0R8RL#Vkr4Y_XX*aZYL2@J6 zg5G{et(X$^%CkQx2DZ908nkE?bs4XO`U{_S(&uRC8L6@S!_NGZyvyy96>V)Kai5#c z=e8w{7}T2OAEwI8`Z$f<5w`9m0-xSLrKtwbB1aWKlZE2m%=h!UM>fesEMhz)&QpqejFjWKCiwCTel~$WqD{CzOs)j$AG~Vfp>;eBq_fjy4MvtZa_Mws z(dbTPC$4(k=6dmQM%2&QcQa17rhAQLs;c(%`hI%Vg*W)jN-{}*Jt^G(Z7t*gT zrjUOU&9h={iX;Vi00yE(w9R6-gc34q0MtQPQxSkV1cx3AoQ}%^VaFdLxc!Pb!GR>$ zGRXbs8}}9S;hYrbgoNC0j-JG~y&sf7PVIx84Kt1>h`h6x3R(b6%T7rl?rlS^0a>7* zWS|k1BTM?Lbm$Z23nn(UW)^^(Th(Um7r-MkC3p z{Gh62Lwt&(4jG$2|1b>M1 z@4^E}fV-aDrEvz<`k!>NK&@J3xX>A%Ceec&L5YQAnzXx2<8ocYKT6Um?OVFB+cP}B~Ei|Q=_WB^5t+8%+6qB z4~#GJ-6?;LsJfA*ieDQg%Bqa>1P!M^L+g1uEkrCb#>E}+A>J$ zJv`py*xLD=^qJ=H;-BG+BF}q78o5UtVOBxE0T2e@yx_c*Qof_eUoIr_rSYnf{hlT` z7rPrD6{cx~DRHadg;G^gg0K5j2Z|FRJ-;%f4xWhYZ)gdM^dSO)Uqn(ozPc&XZuU16~4AKhg-Xr%-)9W zr3R)!yJC0De%O&lbM!dtD2BM8wN&+pwfdJ987fjEap}f$6?aNycK5clxv>NH{B>M} zxJcrxB4cUjQh0wH26(W&knzw>hP)_m>lEIP>$FVq(XN=x)sbE);WB&xW8l~r3arWi zU<`(TL6Tqpb9`dDMJHp!1TY4;+|Yz~uWXE44lJKSe)qQ<=?|f}XL-8ke{!1ydX|2p z{bD+SDVYbjH~}-qJ*F&Oup4PDS(yuUDpvB9}2oCu+4ZHnIZx#M}@{ zZmc+SCf@c_E(80k8sgFkB1-M3sDp-a1fH!podK^$172r=69kgqRY?B3$mCbN-GhemMG*eI!Z-7*A@T>Fh^UCs_VJ#gBUjgk$)DF&D z2OA$!crNHG)^Xl*rZv3nSfcds^2X`Vav`)X68c89=e;xOeQZF)gbjR%>bg{P zhsoIqXU4^R=byN z(G;apBDPSD;x?+YApvY=kw}3!CrlE_6Gz%ctfq`aU6;KWV8>||nE^ziEHw>4!8?o)_1w1xl}IU-Hh;krYUPeb&&T0p@7r}VFsKhJGvzvj z8Gj+2m3%f64l_oEfi~<|*PB>v6O$L##r7#pXRk+h$k<0S8EiD=5^G!yA-dYyxrBn` z!*Okzv-u1GtZYm^Z{RsG*k#&vB;ptQoPSu+_bRb0vjtd8`_#@gxsB%!^)4xiMjJB8 z#p%_o`i&7m+smO0rF9_`>z62`9H-DN<$ae9eqXv~(VHgxgyV4op)wc~5cXRTMjXY; z0iGxA_@p{~m;1blJE(elb+8!DR}BTSv*_X;(=Yl0HeE|uoL%aP!D-XI>#;lcLNYxd z_EkbuKE*;)(JD555nBy03*nX#6x7Y35H2mv1PJE4SY^6)0OC9%Y-KMPJ z@}GqW016`BR<~4xSY(iXUCSuIWF*Oi-681RJHSs1=#Ms{gR)VN>Ab){wFt>>eEh*o zce(QfbZ|$iy1%Gwh9TiSF;q|qvH2iSwoOeaq0N($w-8DNm9*R?H%6k$BBA~0e1Ul; z2$iI&EjLFl$!%3*TT4!Ql6N-mHOp>`8g3e7RJEZZ*8G0h4x7+Ks!6bF9kcUf0ba%_ z28=v>fsQ1b@b;0FLM!SnAS-!Xk42PsZ0h7YDDY?HPn&O2A9HsV1ki1_@ah@euP&ao zJ%j|r13@|{#Sac^>NyAMI$>!p7f>tnioo$ z7g{9%w`0V~eQtj0AJDV|p9fAu2%SNwDA_%e4Yi>|FOgI~1JX6ap%6&g&YJi9Kr67W zrFTBtDcNLXd#y0l!t!9jQZV5P2w^_d*Mtur?n}7S9ZHf5TAz&5Z)!2^l@L6!x8&L3Jt7x@)9EId7x5XuZj!Ea;zR})7={(Ha(9cTl9 z4WBU}i5)eb;D*SXQylU^3lO;;aEf~K-1#G%$DSH(p#adI@KdWLbOJ;GdtUgpfVW>Q|J2lTuEdd#PNChyF9VK3&Y=u&tkH{$Khw}+V zpS-KMI;D(sd2Q%8m@}-)S!dx8!bMWXoc+E`U>KiA0W(w|c=aVIB{4ja^PXK)xTrMc ztLUyXbk0~}`O5>Sf&xCCGFrK36l@~V*%-gpq&?T=S+`$dsTG68i zK}#JcF7T_RX55Bk(C}w@fUu_uYY(=!p33&A7Zz1-mcmp#BUAyqp6?ZnAS-@d_I!xD zv|W8ZpJGd$B4!bMCV@lLQZ?Fd2B3DEptAVpJ#eKru0&~j&QU<^I%wuIq?G=114dJMyO-1OJn8(FoCtAv_?+jAnEsCy{I$ET*&BPo6Aj8exC~exMF-~tg z#6>i(lGLBC;4`xJ_njb>QCKsT3adUgSC7luzrhgV&e)HSOS*0wN-wqWuihVDKfrI_ zIX_aRnCS*sYO*alt8Xy7ZfJO-U1yYLg4u>&>3-edCC+01)yA~TxaPccgcxM|8?@Z* zzu>!!yrf~NJLfEFJ;=VPU#hdXw6QvmqLGBARv6oSt1BK~-2+vlXjyG$u4A$26<02w z!R%A1=(eB!r8dX=sp|DhdLM~q&#huA@TS<|em?ah)hTKFzOuO?mRwP!k(eq#l8+ZN zCS*F~s^Ru#D4j1?DmS-{?8@#gx6c|!*qxyc9|YP|Ny`28{t)Y>W*Keyre$yt`sMD@ zv$gg0b@A}Aq9C{X6YYB~(^!JNwg?DIPOAS?SR(vyVadSU%2?OP+0e=HyJgxz-^|!f z-|7E;H2lqxeAi6>hY+V;y(Q`8HQFeIohe*p&+d|f4oET6WNKGVXc$EW)J%&v3QKf~ z|0gwBYexc7)4!XzyJcM<_L~h5JFs7qNQa*zS8ZZ{L>^uKgzpEP z(?_%gJ(U@$2^0tXTG z-BS$_h}w8F9^U^E0S{iG(8m-n=`DaLTAJZV%aXZ3+HsNwj_58ikgHI(Mq*#QW8snX z@`vvS%lmn7@LOgfVdqNxVHyeLxT}E2Uw&kyTbBE&MfX=mgg&47Q6&$py7%9tGu#9l zzh43w{dAa&pR`<{>b?8twI#gO91J!6Uj)<4pB+CB7ZrrcvSvUs8-J=`{{EXk0P)Lp zNMPsi2&nS&r_i{;+cgQ#-O0$a01Pm)P2AV(BIo$t!^J_+O)fSUxzh+=#mO#lBq1M< z`22rjT>A9!@@ptjT8LZA?Up&=(~!L88RfHss_ zX;-=ZSM?6`^-T6dDbBr*-2cjuA;$U0H{se*XWPvTMWifMg(z;HcxK!V0UK-}s|`HX zAI{v*UOt468Vi{c_hj$p$15&IRwycGh}mfHIJrN?EQh=_V_#>l<-?A!ILLENG&su&2*m}>r24_w@8wkMU=D8yNT_N5Q&M#V)7Lp5 z-{)AuZa)qjcSbUz?+iB%hV+$eXB-WtNTE4uCFAUC+cz9Za* zb%|Lzw$uTxKsqrqBo9HLgIN_jOt^g^U{6D8=q6lBgtu`Z*h>S+gaLVuXhYf@fFV(a zuT-LF-xvs-%5XLiB{&Ca_4XO%b;%Kw=n469D)%b~+3fY>om3}Q+}bK+WTzK1w(1Hy z$l;fb5q6dZN2|GmTs4^X$MuyS2*-*g#!5WuMbl3!pykLfCt%5iM%0xdn%DNIONH|^ z@{gq6NeYO{0xh_)r~zE5;=rpYX6Yb(AroRGVIF=A1a$E>9aAETVz%fYe<~IvVNm{E zsEIV)2p67iQ;8ga=y&&Wj9SEIl-L3AaNX@JP$f?%1@}ZC_fLm%Z@{fBI zj_oN&>d0umQA>AZs@cBjVDG6DrI^D{>JK6n%Hq%m1F)HsS5iZhbhMcJy{73amjJJ3mv91Fi{6z`IQ8ucWd&;ZGHQe?BSOS- zi0{zYz+3hJ72105ipF*U=nL#CRvEGKFS3M#KhebCGqH+Q#6`TTPGg(61Gn}zq(*q0 zLr`AkK)cKEznQ_@9>~KuB z!Ge0yvBf)!7o9J9dIE{FrP+F#?ghq3e`z}~&=mZ+_uVPp)%gsWMS%yX)xjV#O) zKYbXZcikA#b3UmVL31N%6&gnit%=ddjCv0GtV3IAH`xvyZ?L|yP{x*PWS$`6d)5$N zpDud=s?f;8w#@}uFrr`u3RlOd#5sKxTckV#aVdI60Tv^GDm3ct4(9J~Kp3GhB7;KJ z5mU0DHRtS?S`#EP2an{5W6RcxQf)3HBtJ|K5Eh5rbQPd*Ma3<$8Wxh1S^Lv@8dTrL zg;RpFb`CwYENcD8wurC01wECO(VA5BP} z1qdEwz!QqcuiyTwv7iVXcqstDD4GeOE(nvRc;#^+v}WrCk!K3P9SE3;J)WI72>{C5 zT4UITmm-DH+5s)o0+~l4Au_6pV_sB2oR_HpA*gGP@i(BZUGM0W2m8q?pelq0CSN1- zUX%~*I@DX=tm-5m0@_}vaT4(&6icxNp^c;ss63blG*AOR-GCM11lke&9@nJli2q{? zJ&j5neVdEuUmy2x?m!nKg;-j#c35Di08~&9-NrH!ml!A&D0A7P6j^jsGksT3I|C}H z%d_(gTxxy*DyTy?F9F?y=FE(M3Tgxm-b>S11&^$Ow5&2Mq(mzpcgFy;PkWrKrUvtBj-! z#W^XJhA?I4(O$eFj8oX8##olzF?mG3g+y;`b`3Y2>G^+;S^^=@oc>H)dtQpH*q}-_ z&XQZ;*-$Q~5%&)TV6re~1A5z-OFa(H=vPY2NPXF~Suad5a{TSt-4egSq8*C52^D@mZ6}He zUX`wCH9ztHs6q=o8*sY+Ozk;*t3p{Xg`?e`)JpQW<$WqQ#aDC~cVkpCQ?*(h7joZ9 z3w$^sq~JI(OL8wwuj~ir*a=XlnK`w@8^}Yp9MF{IPgL}sSMahV4(RS^f`^rO71}cU z_$cWX+@Y?KI;R(0r`uTEcEKEpn67-Gd>Kk{g(F_Cq;p8YicKmA-@c@VPue<|^ILcq zHdD_~@OC8`0-mDuJBCY(`VSU6xdCg*6uPS-fJv_T`hi#1vjl?}H04F{A;QNh72qS9 zh!lKViX5^Mtg~+}{SDL3ksq{Xa=ej6OOM`fGWEqJkdZAINgGvJVqn74p}q)ZroIu3o1u?_ceLZ;AOFBo(M$T+&C+@9{WjZvQ zr%Ty&$;ycTqbmuo#Ct#R7IVjhye2o8in@1aAj@hFJ83uWgCK8jppdJP(L-+$?dTmk(C9+3uxVMES6 z7VSC+XXWh*LO`MaX6x(rxBMJYE$^ifCHa z)LnTglt715IcSibSEQN=+gaVt)5tiT_jHi&`$9*ix4{hGiznWj5;V2zXeK6%3LSGI@)8(tH0c#SjD6(b+oI#4KSNbfBHQZga#Ly|Es9gB=onWuhj4 zfECcT7B-b!c8lwrVo8JX1^0EKY1>9EU$cnmtRR0CD|czyysc|*&O z-^oj0<2!T}g^rh6JYRmw`#Le7Y-`Rp?7mpB^E6w(>k7kjgxxLa`~XAE%S&@`_j$zq z{I@v>`@!Dh213WT@%Q!L>v~0I3wV#$JKcB4Q1I?m0s({!V!8h*WT5@GkYQ@>=%j0C zYh`Qm|ClVSUUl^Fpva`7SJ^jLHrJ*2$q_H@L|fuZtpf7DyeYz)#ln#(IMPugz0DHE z_I6#bzAsNdfA&JU$o6vC)%QdC%bW!N6{qX4^6a1=I`}(%ozP21%a_mo_aXfv-+7CU z7OXk;j%s=Q5sX@b@F!C2W*rh@C_6qm0edY^ZL#m$!!hY&Kl_i}W_0kaKV-v_+SnJp z@8kmhk-1y->H?hXWXjzGzpm_-Ks2!+bmm|P_-D6$AR z3Xqt}4EV;oquI|z7=l-s?(F>CO#$uj>wLq`shvL_<7JXF~_r%-WWR3K>#(@nBC0 z2KpeuI!brUtHrefBOrJVV#-FyR|Crwro>@z%3B!xOxz)!)aa?&jjNfAbP0+bku~8M zm>liNRng~D3Xrrp-e$@ZEc;1dU6nR`=ooHa;WUVJR z_z^sTp?n-&AM5)!t+MqRr0N7C=RQtB_)UYOfQwiFLezd{QI;p3k0WP_bc9CeTf%YE zB)2+CwvUcYH%tD)$?Ve{!MK!Pg-s!!xxY`{d$U{lq0?-%lGNyl71_~zex}E2Z_LIM zVvYH4v%7(c@9{S1*O#Z&IVr9`Q^;R70)7P!p+&R-{B046nL-WhwuM^~CrO$|rYm!s;qH;m+nnj`vt_zz$;PM)2D8$l&k23Oaas^qzr$;@#e z`UPVQkO1x-aK#OWg)`vbyuBWNU$!ffR}X;%#T=>k%NMH?F~yzmXG}&Xn1h)vE@ORB zFn!a#RTWA_GOq3sVbq3fw%aN!mwc*iM))M#JPNvfC>P4ky|@4XN4>ciZ;=j+&dSTV zl=v`Zu@Xm{HHlHs;p^I>i^7W-dxjx12(i<5>}G$aP~zI^Zn-Gr| z@-W3W`uc+1wkC|-lr6%d6t!~hDliFV$Wkm!66Gt?!cs^&7boXxISZ;+za3DhNd4L= z%qu4laGwKUM~iC$#vkAoUw~MYotb5SOipmRU=due)_++>3X6|5?27^NV10jYi7Uz_ifOR@z(>nVe-t10{ zp{G#{eHvImu8=8=jCO_`&zhcAE%oW_KaK?`&jMi1&McFY8Zj8D0)FCqz>}La4H`8Knl=quIql7! z{y2n7yOHwe5TDpdmzb%Gim7Gaabu(#7mQd$9lf<0jZ>`br^r9pQKBCX-x_sjTmSqu zG#j-4&Z}F&GVVkdOnS5gv`}Bh>mEI3f@AReQ< zKZ3up8rMx@?;=~aHzBr?wVnsb7geIQMnHypYlI3m0&TyqD&MyQ49%ElkqKk3qv4?V z2mEgfFomEbjyPy+6YQ9L4u8-1jD^L3Gky~FHJRiAleVdW!5@@UhM<`w>fYd)4y;(# zM+~PXG4*<*nc;OjV_~%yr%WCu5-h3Nopt(O8I>AhMd$IUYVpY$gm_WTQb9lKhC1NE z;(ny4X$_V5iN+xR+Xz4t_lMuw2HUQaBH)~5Qd_)l7y%Zuhn@jpyTc70vZ+X|M&zkA*a#Lca2ziu+cq<~P2_Tq-XJ74?7j4Q*U{ zvR3;I8|V33Y)fQT&6=QT4(%aCz)&(-b&aO+tdA7ja5?4G*HNm@#%xAju_0u<;)tP) zJJ2XmX^i#APq_wQeGgFR+5?8!Ktw8tdKpb)_6zl$dj7FiXTBM#WZMTA4}!%e7&}&O z$6;N$1LU+8WUN#s2IT3XPR9-Ah4`oCyEm_P|&p-pddq_ma{TvQDX!y zYT^ZyylN7&r!Z!}-NTCiUQ~FE=r{LMpdxn9Ok>HcmS}CBky_g`r_9iiEi)Dpqs+7m zGXnf)`vx3Z)uD%Ft;&H20RP#scucH_pi8Ov6(U?-Ib|URewG!@M-+-el*+nYg2}Aw zs++}+Yt^xfNv>!a#5-pfT;mD0tnebPm~>h9vu=vDR3x3yz8*sWv9#lcR`q41fi<{5 zW5|&{1^OzE8b08-Q%C+yQtUyzn&^E=HjipkTRAfg#N_RMw}dG0YKioc#GO4CO&Md@uR-2FrSg++!P6_(9dKEE1m{fje626E?LnIG+`< zqJ4b99X`J9_Jz6=L!aYaT2T?2rdQRk3O)|(N49{Mwwe14GZ)@;na?D#-w6zs6oiT0yzRQ5-#$O~7NC7}bhUdCnq2KV+xs5HrD&Xh@sI~t0G2#DGOBDgs(nK050Je0|UTdn~Wzpej(S+eUl!TRpJSpK& zy7cE8-mh3UQ1MuY^zljF{u+thZ7%doY<_@~HII0UOR#!ILAqrs-<=-`FKEA%+$K&B zbAVSj=oV_S_x=_+3YpK~Hs5hoj-Clg(fvR`DD;h+Vaph?B&^+&BO4Iaja;_HK6LmB zdmr7N<<|3^7=2;>Uq`AR{(fhWZdB zq(;IX-5IJ^aleP`=DH*>uS0NbdNyuAI;YjN2MyJlOaQ+}b(%8-O+v-{J^*Nf(xbgi z1PbDjTR`Cb8wpSAHKue;r~wN^B(*=HIMOy5Ze+53z4{T@C8S?~iyuAGvsXl~Oz(h~ z&3+P8PCj<^{J*pdY-tXea>HQ1@%h~zs^?e=Lu2Zdn zForio>EbH^aDK6FVEnz#{QA~7u#R)@WGnoz@^G73n4$LCznRf>gob#pXW)(gT9hy<}hRO2{-_| z{&!^JDU-UD%I5>4ZT1g8$JR$QU&Ok1IFpypAI@mMp>_kof8h%IbEHvkDYg{dne%Ge zHs7;$<;vLs(|yP`IlL#wV|Y&8wzP}Av1y@8cixP|i-hGE$$ejnVq8wTj}=l&4Z@z% z|CQwV(EaNY9TghWjfKMp1pBd&@FE*n+YO@v1Lh8bG;9c+M4V#%bDf%*u%f-UXEIE?08Azn|yI%|trW9hK( zc+*FHEaMiS9v?wlw>WNNU+I_n)67Q&%l$4@CH_N6E_-5Ig35{iYgt|m415rLZ)bj3 z{hh|_QXFJJoz>9>H?_OLfRQYl{$kpHD6yd~WFuCTECji(fs)LRYgby z=ZxYvlV}P*E=Yft8(2pODa=Y}SVovqUt~TBRMLqN&PCq#K)RE`AYj{Fes+vRC!_~G zT>$*P zogIVC!LA&=DG+D(#_R`%tA9J0S5ZyulO4xHvM6@ie1$3yErppCNmg}T)bNf9K)=AE zK2k^qPu)DBTDv&~>cWKU583Ld(2#(GE-LjKYB(Gws;Ka8XQ7?dn_;NIXveHwUx(>< zp)Y2uz!DmB^CB3XDG3QeHj8LoxDdIH#aZO=J-L}X{7Fejfu9vP1wob^Stb-T^ZDte z-7q?lCK#1&D}FjeON|WgdokhG+lfIjhA zNGcMZ;^2(tE`&S*hC6Qkp7VV05+Xd*)%clv(2}csApdR^C+K#9?J}~2#kjKu@{sd- zR@2TU4zprL@w@|Dm0eTJkDpVSOzNWHlCGi~q3-$g`uh&c(PQ@5bVKZ?7S&AoqtN(c z(D)?>=0Wx|Y~RPr1)nsyEgkaEqk2@4D5r<(e(%MLU<^`4&i&rg`r)qO%vG4lZ!C7( zV47Xi_LPF~ymNZRx5cg1!4co|q)27<`C0pp@u~;Un@ogy(=S@cg2yjX1S--xSm4Ku z=|wFlf^W1&uxe+x)m^|y@_@JbATqY=ov%nGt){OxdoDsCgz`>VdP>Y(*04qEKUf-%hiy4JZf8aAWKSMP@{m5sXARqRT9v zx&&7y{;&4d(FZpf4!&F*%{=8mJg&SS^vOh$N@WNXw!Y%_q&}|g1VXf zW}`rwaK>`cp)kx*9ds(H@P9C7=+~gcyI}(PHUuR5>Cl?h-+qxphhKn;)r| zOKLzo{@ZlK{DGO!y~wGS%hUd)bgiu)Iz=*o$|=L3`&9**3ot%AN2~Cuf_L#)yp&FP zBk76Lb9f&XjbQa6bKeO2%Z!fJ>qhm#)d=$W#8gK6QrIJ@;VxrpX(eI|Num$<*|{Q$ z=?}thAs{P>{8o;cFX9RHj-Hlgi6*Kl!K$iBcM$6=DeAuAEQa|~7ZP$locD$s^`Bg@ zLM01-da6SuxRfq5jpgXui|FY;A#*C$kHV#K!d>7Is}MN;`y@@P2TZ5Q9#<$F6XI## zPjP8@l85_wgyMbAD?uq7k)J_tP}@IKOo;wG*bfJW>RO8oL+K@8~Q> zCpSeNoM_>+Cse8Lvc8YjcO|+~)+gOncynCk7oVSN&)!r5DBs!+p&rJox}$9pK=Rt!dW?yQ9KZ zs{JzrZLT(Ifc`I&Xzw_s7^Rzn68(!W6d{wpz#Y}FC56$^2Qp-8&M`qe6Nc6brV7lB zav*>lp`wlFw7ux|ufLf%f3~FWT!HW(e{-8)^JZB_snG@!wv37H$ZGqV*nMdF6U8gMC# z{CuPJKeOq`?*^e0GPanBQWfat_YOp?Yle$m60S7;?%Fi)0|saZZCLqV0c=*ABWkpx zd+?&Gg+;5d+qoX3TUVpVmG$wfT!qr^tUI+#J3m$HMP{uQlSIKWf^e5lPf~ha&e%GL6*q;28$Ah=WM&_U5thS#TalcJXaBCR)*0`nzx_b_t zM85Vp2E03;4ZBHGbSc*!=y8M0nG~Tc3ENL3Mp)^?@vcqxCbVDwobad-XL78PyYrDE z>*uRuQEo`m!b{ot$T?x|aIzJ95)|s_TWa6SGv8NZ4X#M%YayVVw0sGJR$Mmrmi8xj zg?yq5P8ca|Bg9)rE^C#JBJ@FqE3RI{V!|}IOiDfUkqKB}>d0yw7NY?Wm#$ZfQ>);Y zFd~g1j=!u6gTr%0&Iad00S%as((~mQ6{`uXa8Jb(GPrDb(T`{`%yf85HEX{VS$EXX zK*xcSjZ5*5i-dKlC5I)hp}fvy>PAn(o~HL&L}< z!oZEiSz!Mbo1y!V{@An;Z%#ut@0SCLqM)0vMw#y*%7DFD5&BxesU#dK_HlFEjhc5C zc={}R7hYL+H-2gZlCDu)bv0T?Lep&oK2Tw$(-Fr zc@2oxYmxK|q@kziK$oQHSys4>EcLPuF4(BxdDG|S4l5WgV)qI4mR?@7uwIqcT_|B@ zmkX+xjgxvvd`uUCs%f?EsrUh3y!QEUF5+URY=HuDkKuN|si%kI$HIhtsOA~Ch*p44G@4c}&S$M@68Im9$}SYG?g%7s|P1UvDzJtMP)8%bu+e zkhfkRCQOg1C2~M4J4@Rj7Cq@wsPae>7S}z^iT&uJ<~e5?#0rHDdG&wB2o{?3V`=#u ztOKFvM4AqaA_(E!TA3!-d$mu|z>m@BU~DS?FwJcg8S)284|YPL$G(jcQ;f-2xcDrZ zAAPQ@<_m(7HR0jhpzg&52{f(QbmzKW7H*Zuyr1HJ!On~a+0#^pl7w)7P^oUX_B@YT zNH4_{6?$|m^-cZJ$su?b>42Xb!3YE%|K`PuPWYr>^<$Zo4y$n=*t*9IzH>TLy#?GN zQY}z|ww)a^-YmNa2EJ;K-EQA~=IpQo991BN$ng{Z#M~b~rtc^$q=#U@ zaE4U)(aDRVhr9dzc2$~@!Lax+4{m_Fx5NHaf)|ox^6aCi1pJA{GfwL!)R(&{i9|kz zQG063UlqLlc3}-Y;3NQTv*;?)g{=*uXpPL<2?X~J2;Il-+5B3%lFYkGS<}j@@195e zZBcH7Jf{BU4+_I{$g#P~*&cWbNL4?Qm#Vwp2Tgah2)4iXdq#+pK#~%olFzoK9-&-d z7?(kok-}axCHoZK*WGdg1=1^FFYAZXO9^PYU9%jXDVVqFeL$yzjF_+KjLP>m`kNun z(Qe@AsD7iJA+0Md(GF-IHu}pfA>uQBHP%ISc;Rmom>3>jqTLx+e6#gX25ts{@8DOP||XlQ$uV5$_!Ff1Q5!cO{JGdc7)i1@qO7PFes@=q_4W*uOMQr~BQ}Vu zNo*(CpuuFY(V>~iIvTAZ=XBZX75n0gyNJsbk*2xRr^(NePhveiX%c&(*)EvhBMT`r zKW~>N>;yaA`=lJ4J>}X@QqE@fTOUtebpPJE_N6|I(|`d1=_CBFm(qVif1Mr7Z2-b} zU0Wx!|0-%MO40rITSzIgIR#At5@0z8yoDOI8)rclf;TN}+rlFak%)gt( zE2l3wgBVDm>f+mo;KyCPXi{mJoUwlQD&&a)-nb zN~l0gqg*N`F^>Ms{O0)@FJM+|l`Yq&fS(&r`(x!&X+APHp4n$ooemfhdu~;y*O9D2 zA)ORAb)w_#p4Ym`G!_1J&jnkLaK_IvG9Zm2;s!r1v4n`wj_I^*a;4PwGBcf|nI={u z@5fB0V60N5l|7ew7_2bUG)OXRDdZoc_fC~80<2(WADwIx@ToZxBYp~0CI;iYhUidm z5#r?7OBkai0)WkT8`^G!K#w}x;5{k!*uQu7n~mysyOGjpHvYt2eG8DE$gRM)GSPfuBKmpH-*!-4b|~ zmH?T+LqH7q8|(0#(%Esi0uFt|$h&+vce%`=wytl0oSAkuWI~y9gJ;Oc&($W#;~lUJ zyKH!JCN9-JGbbDlVor-_uZYE{*sKV$VY2nNxZmQ*hu7Xik|}r-s-Dwk4G9Nd1bmt0 zd+iY(qx!_7Ow+qf6lWntk{snFI2|DlkD7@RLZjxiMQc`_qx^GE@>FqBqv=;{Zi{(% z4WCYxtVg{G_bP>h8E<5YbM9#!LGy0pTf!EsI3o_NB2@H9*;OJ|HZY#}N$8`SG8!%U z(Ex*t*G=MyL4JKsXm{sv_!c;Pr)SpAN=x0bZZw2%G{n)yPSKm(jc6~sxEUb2*J7m2 z>)ZZv>igxub9dE#M*Vg7o^eIXD{EttuozPEFHO{!PCQf(C=gH;;LIW~1qy}&1PKWV z6dP@?3G^R-i2t!|)wgkW{O>zfrS*S8-gyQ(NM)cKm&JK?4G8LjNM*snc@mFI35rmf z8*YP5H5)WmRA1gPRx8QYBk>!t64n=>P{!(FTP>%V#A)<=1ocOpp2sY!#67Gl*fkLS zYk@Txn=dPOKd$eFo_@%#GYsQtK3vPYKEm@j#iflQYqa?Nv?7Pd(3ga!Fv2^XXUD)MP zjZnyaAGpV-lwW8vI#*W(8C+}vVcufi{@YEO@$wMBsM{#s+cEu8#2_O@p{3Y?moi`ZlMnfXb$F~W7&-Gy2)z>-}> zrphUSdyrZL5<;(lKt+keCUl71`%@R8qz?qT;1TSy+l=;S1rOV&b?;cmlU$PNwF2=I z*RQ^&iL1h5)(-A5demsteCZPTW)vPL`zz)FIxxBr+!4N5)_3eHc*PTI7dq9K&j)hbXg!`$@p z&D#&+`q=d~b;6^NWN=dGG5fgkEAS|?p^0t!Bl|bJ*1|P}f<6R2cEd%nS`b1?TTLEvvUKA;xAUmJ{ z^{twiDHIdi1!Dd2L&@!YwR`S8{DSc!!z5f z-MDjDt{<`v4{=uBqf^>F*`P;{qW58yF;Mri@5T!0C_Kv*#-r7<$DK`0yIa`D2Fy}G zP!sCaf%D*HKugxA&@>^)U&$1i5FO}Okc=VPxvAGTT-*dF^sD?wR5XfTUs9@Qrw-lz zi4$W6!diR$Lt)TM9~zSsMKsaUo#5~oUkf8i89lF-x5o(6wp01&d?mG+DY|?9<4a? z*Q=E_s!Ci-Tux%e0tG`y!X3q5W_xMQ+&aheqak^)M6p{)jG*WonmSoJduMeyeA&7= z9UEi8Qj7~AD+lIxEcfcx*TGE2tX4#GVT;Hv3Fd+5i!))Yc;3`$`BUl_C^kyQH~ai~ zo(L2XgJMdpwg5BGZ(cg+gE4e2Kvi=M1)z1^UU~nV@H@ZlDh3>yRBsg z4K#OrSv*3%yd!C%Zy|;uUqf5TM8{ym8de3o3S(#w-WBy~rF*_BK;@6a-7D`g zNFOMBi<91w!rT&52BC;C0&u}dSTFAeTK=`gmYo_AVXtm28gK^sM8rYkpxk`fnQDFi z#4B9>VSFp(B6yS}a3S_w4-lk4@z< z(_Hxxzs%#BypP8SO=2sey`T*(e@Wq5w-UPrTYwDpN7boO+TUQtWGWz$ zt=t^Rl3gr!eWqFQr+ue*U9UsdkR(*iI!0v++;*&B#HZLy{vDn{APb)J=_#uWu_l5P z$(kknH6%llg)BqgQXmQ|NOoRc8_TG}!WmZzs@S(zm~bHqud( zb^PlO@r3hx21rM#5#I?&bw^8HfMX`kbzH4$sQI&BU25w6$=s2k&I*vCjzWu_PA$bO zp`X&hsxv0PoCRse91z77do)4qB$+C^ur{!swpks+y4kgtm2$8BsIf=SYt~TYQnc2c zEX&IANfE=DnBzC{XrAG`IOlT=DM(rj`{PwSlP4J;jOemt{Dag_DQIrR&7&~3ZM=k& zyXZD*bb|9e|CTo^WZpaPl6s;nO+5hnSE{Hp0QIf-gd9+zP@HPJxo&Rw{a>hWr||4n zF5frVVSBUQzj(3My=Xp^bJzM+rU^CdiuE5Nxg7G%cRp|d}UDf|;T{r4a z0b18vN3{0T@j=l4(7G;!J~w5`)qzG|{)77d9mU9P5v~8{=o|75T|l!Yi=3CrN_z8l z)123b*}U}P#f8@!yyoy1$s6iVHa0f3&U^6H9%Q(VJylhOD)@uilA#a&LnW zfI{bm{3bW()gPdM1P6*)tN2+U9|C0@nTi*NO4mh!catblC4)clR^@WJMVDAI)#+G* zcbt8Hs!CB1w^!z=_*_nF4#IWl&3|RIL^h^wySli@3%iB^g4ByF{{*Qw)SZhU@uvpw zR-*9;BLd&Sqc@2;1%Lh&XY2$}K3=i^vc3aP$gB&G_+(D&4|I|qwvl_Qwx78HtZ(=X z3Ces+-=}Ez+PUJ@5Pcgve2?=p`WjoRw_7FqN-32HsVjDh&O}S^*v9qDMIR=P)=hjA`X%KECz;1rCmUyYpqWK%*BvW3IimS(8eH8A7hqdzg=s zuO4w57MNcec_%uC7qr{FkRnw=dr;}>*7_B$v|_bTg&b9BN~7~56h7@*1v1m z5##VcN^dYYtCE(MB@lKH^0Rhn69$LSX_sy?ufZQ@7k43V(ZwjSy+S6Y;+B*gqoE;+ z#o4LI53@lbw4!46)pr5EaE`eUWJrNVnsF?tA+Hr34P6IwQ9+^RJa6#3>k~CBx7lZR zJ8u+Dy+T~(3CerkcEU;23!~lz9jITi#foj=4C|i_X(Tk!@l|UlmNYjI;d)3=w~y?)Wq%3eCC__4bPB` z2;J^hWYtf=xWk)0U25+1E}zb3Mmi8zqI|hai)|0MSZnJ7$TR6x9k17ey1boScO5_K zk9E#FJos(TIy`YXsct?e6$CR-tjVqr?zz;RE@5Dd7{y8TKE9ECjes`4s|N+{C6XK& zdr#;0P=D+S>u-7PSnosJHCSQ*IqvYWJJ3ldV(7i=lT0?^F}l{@h{lI^!bd|aX0CUu zS{0SdVD&*G3vxrZ2R!SYLX?1~F`i#p#R#fNChabORbk?v{qU;Sujn+C?s753b;$5m z;WX7m-72`~o*X&cGpfb#IBL?EuCX`l0^v}hFWciEl^)#uKA79tkW4<9Jk{K}s%DXd zQ+!RU6M#poQ!j5KI;tkUFcg4G5oeGB1(Fi_^S(KnIfD6Um@-v-<>{?4+Th5(3CH{= zD%6&KZgX+*Mlbi1mW+?$^+bD|9mKcOf@o|_J|EQ1WO)PrB9Ip=AoyqK5);ltqw+a` zG}nD4#{AjjTzuZcJNG)DpoDa>$^OZAP?TADru3Qb?>Y^zh81K7%*1n5c|>pT3H$$3LfLFtqo#iy%_sIQZPSRR^)y$-?kdlII|5)oJ16K7g1`0!@q z$q!2Ev*)cRl6lLT%Eomzd>j&Tj+e=&EFsz3`)_$zu9n9r3tpG4czuz=4a7Xs?M0!@ z8ZU!oAiiAfCUN^j3;`~4tMK6crY8HV>;eVoP6|wx`)=2eJnpXRzW(=Yduq7 zZN{7*Gj4ubc#LK3a72o?#@zv=4hCD~GvFNIG(Bm?>c`#o_eVR3;iRDWunXkENCk`S6!H$(7R5weL}S1Gct!pD&* znTnfc?+7B35Rb4u{DCoEdss~_z{&KVX2zvpzR)AjfTq~h!37;&I0NLd^uG_2D4ObB zVBvWqkYgVEPqIZshWy+fIdp>?0ZMSjB6H+NK@VtE^EV>M%kCt|Hq!Iq^}r64O_2s` zLfi`PG+YPXY6$NMSvxpcsP0B4mbJ}MQ@TJDN~QkG>V>?ja(*t z@5o&0g5)_WjROk~P$x0H%VGGY@`P=ehVysEIf)boU~R(QY#hhD0X`~BD)?5G(^zpf zlhTeNMbq4m^FsFkE)(iTlWgI=K{sw*NoH%GFFH*7iK&Ia8GMm-gw2tA?n^F}<|{pV zk{tgx8^Wi$!SPtHA!U+YR21JoMs`}~C8BNVSQ}IpPBmW=^XznrhO9Q@gN8!P-}|4E zd#cF#>`^hJ?XM+_j*Vkfk>ZxH*afe(DK7Ca2eaJhC=LjJ_FJYo5Zd>fp9=`p zY4lmC0L+r#D%y%}5qMH93qw_QcxH_ebps+&jslx#GOaJn8ZG5Oy*=_z5s__QcK2Ue zlE;{XYFXJabwr8aVc6zY)A0TF4}EL6JfDcxJWD90@*TIysy8?++!2G^8G)8sVueb3 zZeyJXlKri4Q~WA6R6?YK_?BX5P*Y`96Ajzgo93+E?sWOHI}DEYvd{|7lLXV)(=UT+ zo7G$tWWyC6%X2f&gJ$W&Zd<<}aBaB2kDgIc6onFxj-Ex~)a7DW+|+bsWGa#8UkOst zUWUYuE{^RJix(xme^+eTy*^r^kBtuqgs|K>nd`+7AMuN~fOVZLxi4bfp!K@Ge0hws zIeMVpcrCHDJUNPdKN`6=R4R**0=WxSUPhm#H*}de&6lV#UJ?s3Kg1 zS3F55=OHoT)%KVe5{sJOx0>u@Q-Kdb%tXp6y~Wjm8F)5y@#i*}GpqRsoc3G9j#)UN zLu2|Vx*Jp6P88@p13sJ+-JFp3@uwLm@V4RrzzGIlv#k4w5J2SWbHA)GfbPkuRP5uH z^s&P^R4Dv0N2L5+>fV2y>vQp;mxc4r3xOQrxMbMdO+7w_Lc$TrG~osEK*$Hd7a=AF z{Tduj2Oqy611?q~3l6yKdWlvxEF%B=44eQy-PB}kT@NEE6en8U%}(_8CS&+bdf{+- zl#cq{CzQ0`^v%s|!TtghS#;Aa&ONh>St5buy3m+Grz5>H68*IxEWOT8BXtE?4zpkS zdJY*k;>7!^dr+;U_b`Or&#a;GDEiNw0Rz;+_LA{U{75^~6Zj^QXFbHN0{Ad)2y=g22BB}-S#yo1YOujlRia|-Okax3xq5UM19QdUZEJL@(SYCMEqn;R; zOXVa(0kkM&nn4l9-87W9A%u>wkM`z64{?I4RvEL$oCOOR-kgL5?jA{^n^NWN%O zyalbZy+FMM0|jl@Jn)H6&zcB`*3Zo)#_sp`tv%0YA;u0A>ro&1zLyON`;uWBQ=}9M2)5ET~c@Tv^fC? zAJh0RAvzeg<}ZiT+`q(fhJ|>iKzqV2Hjlv6Z9mbur@Gmnt~n!T9Y)__&e_A@8so)6 zcG{=9ni0I(B5CMS*V|MA1WAoJTD&1#pzuv=ir&c_5wL0IWP5V?omY;i&r85`e9snw zhH07zdpx^I*d#7Vhu%x+O?l~p>k6m`$5L3iYC?_Etp;!cx@N$Ky1M&@V-^vRT!xZK zja`+ZA2KsSQnffQ+w>DIWW4=Vxl0fz8Fo2bT4fgX(sHmtw7!@Tz|7Qr+*aYfG->lwk#*TkT$kRS6j(>z=n&5qLmZtjXQ<+Ef-XR=W}QTJqf z*}rF86ys<07)}98*pQ4*i8&k+u8j-VZ z3TJZ)_!w6Z^yI~YuefZ7aM-LiYL}~T*OhQXIG1U^?6-$Rg}j!!dCr{h4!fHKAH8?oZNoOGGv#Aqyf%u|b%YW()7 zFut_HTdVxL=Nz@iJh>u2#||1CPC}ZW;Ai5s_3vw!S(>orh3_IzH96Cy)a?)EpF3Wx z$TU{nSsy2?@?pipk+Tc(bl51elO?f*@_|_isWv*J{YobyB%AUSn_hG%wq|ek`KZ-i z2pZk7R0gbR2ZGaW%x|x|O9&}T=tp8NYdjR|rlzJ#WLvZVI>lBVpOJhFmOOn2pG2}~ z*FY?7q56shqd3`AN##o}?tB5Oe9Sq4Dp^Hkt`7?A(1eO{g0MiMC~#t-x}QXo!!?R} z7-YLWHXF{Ge!B;_3)PTKeyCxJ5(XwWgWO}8HnwpI_Rbqli9b;dN?;F zuBa|<%WD(3>&@8M+=w@JzXQ_p=uPsO(L3Vl~;CwpQ&VSKI7*%Mm20Z0DR^a{5Uz$b;cg_ZGNe&1p@d2PkNkp>@;%;3#BA{DO;_C=J(96`(F zGzKVW84c^hX1idJHuRjumusNi?}DClXkuPfJaH+JLb`%)UdJ^q zE%4N77sG#fqM^|3;=JD+{PYmpUuz;JrjL_NcF+Eu14|BFlsrodB>^3x-X#$j9+Yci z6ljqQH(>`UYS8PTA7icVlE1wOBT#fGoJ{s9~r>;?k#BN1wr>sB2#CXovWKk3yB_0X zgSxh~d|505-QKg=lGYhz0mk_?Ea?&!zY9f(cYe1v$^2ZTkjoHbC6RCGVh060$ZzZX zax7s)RK-~QRO-?##9PRUxh|QpNv`y{3V0+GTQJT0PTG@;-~D~Na-t0FO^JA*4)b`@ z;7wH7riJ{>c6xFFlnzp8mfR4m=|0uJpF)Vod1&|Dcrt|6m*5@*-)Y&w?)gF0jZ^E5st`4id8pq!>5nr^i+jQ?K|-=X@%T zdvQJWMLgS&6=ebaJ(N97zp79=Sg{Vyi=lA3^*mhF`hffhCYnU0GJ&7{CAaHx*wZXC z#t?#8jW|whYh%y^hz(;Pziup*j@9uKTIx!eWla`ROmH>n!; zqnbm04GC^e8;F|q0wVDc}ldo8-?j(#_jr=q1-l} zaI|t&a}>*d6=H-QDnwE=@LRxFW=KA9q{gn>Vdd7@F$xq*I^Ir(fe?}{vuW!&hUMrG_b?Dx-;y7k@CD{!K@iKsyv)3-PXtI8iPfdj-* ztSX9F1C33qVoErzD(tuqA%;+wL^+CXk_XsH8I=FpE?;+cze#pjOjh*302kxMsKV7S;c0 za$u>=`eSRj71P<>c4Ehh?abC6kij(}Psz}4Iz#EPiWf8fJuPSV44WRS9B#m6mFSD% z_#iZSfz{d3vAJ6hR+HoF3c~y}7>x%*T@0{gek>?+CSioFQpmNbXf6<%2aw8LP zJ?%B4Z*!53AVykGc1X8&EPbll=lWU9ntVf?f}zvMZPJ@*riWhj+F4CwYDoTm_G8L6 zHeJ7xt{jkLy)X-n!{rS=)Xa9)|DoHLpoxu=&bFNYxtV_S*C=1MX3knm@TojHXTIg8 z**<8;oVeuLi;AZAM;E>*J%Dngsx3gC5l=0_M&oC)z`+YvRPnMNshVn6K=M54Us^}V zA!&$ym;xnHy_k^Y5A&}5S{-_`fPa?E6mpk1xsc9(m&}9uT^7v%T1N$d)}a^knlR&s zM;IP>z=6{tMj@C&Rfv(ps$Bdj8eTd?WzsCcd~)-YnAo^pR(shlR|*{+Q}>hNv@R`? zsFmz5tz*@3*9Y$~$TcqK13dB~o9XGh#H5pi&kI@kcv=pQBi~+fW~g5EZ~ljjn`i9l zQ*sT`JS`6d^*yKJ{ps(X)-bNlg(OB2>2JM1gL1B#LuJj)^X89X?-7wh$Re_oS?M!>?l2iikj3Z z<0C&x{M);j6x$2mcZZrkd^Gfv7dcznYhxMsTUvCRI3L&ls_D_-6*~U}h~zl{L6QHy z1S9#6UG)DyumPl#?lx|^rdGC2PUeRHWg~W>1sL7fkpRFzzuQg{x|L!&NrwgALL71h zl?o%;A@)p zkDrM|ZW&5o)#~BP19;x!x9iq=-!KwEdnZ2iIg=IP86|HS(f8tjkC{hodu)4dZo=2W z`tJ4&?dlwnW0$#vDdM^=E5JAiV1YIXul3#SfzPv0^-%&0Kj-oDL)X3hcBk!|D0(h= zK-g-G_j(vZX&k;uhmgXpWVm7ijoE9Rn>Yq_+Z!4gULmSU2%6Xj&^D`U!*z2$ zcoU(h84AKg!uA18EuNh}Ic}FgfxAL32lo6BoumXBgNspQ)B~CYJ8-~7XV1D~{6CDn zV{Bz{!}VR;nA$d`wr#te+P0^h+O}=m#G`mC(hn#3 zuf5j#El&Di(n({Pz-{+z=oH>JE2i{yuIqIm;7u5%iPtCVP>00KoGdb^p^|3w<-H}g zPW}M^gu@H~;ox5xZMgUJNqTo+#*K>HK4NiX^P4bz=1$vxw#cgz0%a7$|B-C~Qs*MB z`nR2om5=?GQs(Kq`c;|^VG3W~NahSlz2OnsL0|gcp0RtG)s*Tc`2IoJathkD=)4F; z+i?J7Z8dj;- zzfAhn-%OwzJ5eo5+J?;7llm)-LfVP#qj<`WDTDG)e;yNd%u59FuOW@F!BpxYjq9P& z(SD$d*!^Chl^p6knYql#SLyADqE-~iAJl*==7?xPRW1t38IVl(X{r}xZQHYxO%xEAV^+HVTifuAj57N zp{K8Q$=24_YX)G=MKNQvF?&QGN2PmjjN5b&Gzx*^kUNQ7p(}fVX$&)n&rBc&27K4S zUzzUqCRX$zUc-=H*Amun_pE|;8COl1Y$7BgFH53+u-nMAn;U_==ZN4a$FbR_P_#^# zAbbZNJ+Fe06dO?(H<` zTcsKU^(?nomz6ceU`=CulbmOYs0jlR*p}`eTE%q*@fim9 z;X4fA3k-ueA{IQP6J#K;w_Z_8+!GV~5EfK30(+HN_d08{o|biZ{~6lf2@B&C(64KU z_HC6?<#|s~B9fb^?r0|nHX!I-nPYp#ylh|gL^}-y5R9p}yspA2fp&j5ct5|b%#KhF zLzHVLn-s&i#lZ%1IhGT!^c#54+k(-QRQowye*91ZL?$wsLfPMOXb4@hL3-9qfr$cL zv@qTiqPx%i8EFO9;*cs7WFY?2=OoBjtP*>J99?R{PZR z)6@zLl%GwJ3e)w)Skbb=xGGr5uwG~5^>{CCwgM{UF)Vm_q0R0?Mzar>2wR=!d)~gH z_X_<*WkY0S&T|pcbq(`vXsSHWDYx`G)t(M3)p|E=Xz0u%#m0!!+c)K~DUzwfY<~c& z_lKZ^mEr85F1wwYBh86qHv80?f9_L~!pUr80e=C2BNvvxQFJA|X~IXD)%3q+@702E zFJO3S0wzAPahCPc6AvLR0RvSN;;6qSc&SPW2q`_6p7YfmGx&E5mu_R%`^{^5!dV0OyZ2stbt=uzZO0Xe4UE9)SZtOy<)44Qx6h}~v({zPw$D&`eIZAx^X66xQ!fPp zeDiWZUZ%VupI6s8Px%2bUiBoGE1eHJ@WnST%a^Wt{2lJ9;2akM&Q*l#Ea{y;0@>~l zkThOM>5W6V+)xF}6k(KwI6%WSE_r4?GJDh2;~Z(K`l$}BkeoBVk04_})42NwV$&2! zq4L7qABsN*RT>=|Eg|U(RBYx{$<+{(n|NdloEM@Mm_26<0eEwW_wzUm09Ei$i#R@V zIv<{COd@J9S=rONo&UaCRlbs{q%*CgWR<`8j}4tGt%uenL3k98@F5j%QWgj}4&Afa zOS_oPU;tIn$7>HcuWe5~ET(%sUgcC*b?i?aDOr;cBj9PJ3X$m9#d24t(zM^Z4)WKL z0Ew7h0ovw~a$C^38*e>!<@x2e2S&jpghGI1=|FA{A40J~4{!fU#BfFYuo4Q!PLop6 z*R?e6GITLNQ$`EyNu$>m?YOAc3ib){$)nds4R^8N>?whMQ1nme^ui1ZE<*D=2ogIO z#l^pm8ifQ{Ifgo)e11^dqi`BMNww(o3( zvDf{3SxSv4|441fv($@`E1j71WB$?^ZBI*%r4RYx%#`4h@sEH(CkRf zoQ{rPMUB7!=X1Lwn*kY}_l}g5d#OEujD>xhUDIBhUpww^7m9ZS8>Izrw{lj`V2gN& z8EIN}@Oh6v)SW9FC91+S+mP+3;zBQOHB|{<2bbk%fM5)S&E8J_JW&Z&t7&(Ds}LLP zDR4Y#V%qDXaxjxx8fNw#L`lfNi-}{T__iEewz7o2Z+sTCDR+AhQHsBKV{;2wn!dL!v(K$)uYu7aO*URy9A0@FL@ zuHw6sKM+6R$y+j6b;vwE1;(4^xG!mO>&LWKvI zS}hxtUP`6kVVO&#vi(l!L%Y>^go)2`lw%Z{W`#2Yr4(DVKU+`ya(VfwcW9-mHv>PJk}Wm*rqQmSN&NF3(7n!YDX6L$ z2X=aDp@&gSEQ$~hW;WZ9h}*Fc`dVy9L6Z-V68{}3eB7WVqqc5eS`!R7y! zAjzfN+OLeK?kK85a*K|gBQh}H39&&~D0{K7BY#ysUfB@CFn|IQvm}cih>}DIu>tmx zxpUy#8>o=@B&Sf#Oxy&>*^A%IRVl`&)Or&EbKP~kU|-kWp%=E;uB{FKs_b@muHwy`M-RWi(T?Cu?0|BZ%xF~D`sJ_Ax8MO~lEgTH4{ASJ ztaL)>3orbLd>e^`ZTBql)7-v_T_fj)AIRZn@b^#wej9PWxS%l6aKicMr+>$F z5dky)j5dOXa+`TYdg7#bl;L@ZRuoud5n6m2OwR!^xg#>hhbB-QGzbpj&4n@STa5$y zLrV_Ne?AJL{#wM--!k}4v+9pVXoARu{M(c#q@9u7h~4zy-~>e!#NB@uomdd*MQ{|V z5*`s|^L{C26aqH)iiFrdKwK0UgeJtG57_~i+^`FZfRnbc*`5G7j99_C(omx)G+CP= z&Kip$w9>aHMvpe-dXpipB?_#)U=$(`$m$R+Z%9gvDr-h~?H9Qt0sG33Lo}Lvub8kE z*Gg=0Jw_vuU(lL+Fn4S)CG^(UW2?`};TtHf!sn}Ml+d(W zGe|iBkNNYjoG}n|7Y7Pxo%Cvn8>W9f|2XkM+UCIUtZ5X@~Cu}Y`U!NWyMSk zI#A07^aelT=Bt5sLj>KpDw=r6!`n9FP0;D9nwO_EQm+*bTy&_y(8AQ-WSxh%H*9_V zx82>H7r^8!b7yD)>D!R#Ip>`u_}^NHzuX*fZOB@gwBI81kcGe|3t9|Z#uSfWXyw7n zr%{Y^5!U><1}{(pUOv{r<_`OO3kN?Q_Sk@*)595Wk6DAwH)L@FT~{%iW{07?HpAG4 zscqKj54ILIwbSKTc2l0K%}OV?nP=(yaLX^Ykd-9}^bdjVw3xcd40*H|hl3F)W1w=| z9?L~PQl>g;NJG1$iiQ(Vhvuq)_Piz(GE5+pilnVhyJ_u=aOG@zU3OT@l$}pP#DZyH zqnrc+w+Sy2{b3s^lud~r6x5zdENu9982ZpZ=v|j%J6FG^+J+Z}hRC4$)C+8*-X13p z!;XKwI}!lvtGMn{?2u{Q9DalF5!g7k_6zik_mh-dH@Dx(4tU2YLH_lOJuR4#VhKHR zPMS#ZN(~K3nAa@#l5{5ZgJEoi$3kz*<;V^+^8wbfb(lArBhe%)l>NG)9Cfp?P9heG zYL>F26l@$Mf(;*Wn55#^*!i^o^xsj&`~j48iBOm2Zftt$-yc2L0&BPLVbZ+%nmB zV~$x$)&yHgi&U=37g4F^rcj*3xJEX}B#%E}c$QX1HF^jvo8^=uOX-+2%y(i@tB zCMMW)#6H*>%i6kUnbUGjRkQX|qHayGR<)8Nlh#J#%X)NJ>x?VM#F7D>fsT&#xoP3YO_eL|r92^#9cpv@IGS674V(E*~$3iqP1fh0AKyg4bh6yLdUh|Jj zvzF|ynTh&iDc!4l^WPY{^<)5MV`bc52xnPmD*O40KfcvRN|uWl zqJR}&^8umeLVRag@9~#+8v(mt^xR10jSIQlDue0U~@6w;6d%W{AVv1elUC)A;NSYHPHTuZ$gYontNS{tuXf3HhM( zl`d=&o3l8#FD~O`KET)+|7HAT?4&yUF_4t?zCh^ptgy|GSC^EbEsN8Fkq>l{?yFb< z087Xu?x@uAb_()lY5eDg@w+Y_DAy$F{{v>!q<<#8o}JTHn)6Ljum5)^wMHNrtKt}= z?N#FeSWoBBw`BJ9M4J2*i#r&kigTu#wJn<&n+i4#fV0y_j%WV(7$`?FM6DKQUZpV4 zx4u`-v;t=Z%T`*a5Oz{79ayPeg%Ic@HLzDxJfSsP-Boe$qo=o9DWwT~p`CQPW=+C9 zF@o|K-;uv5@h%6N$jVR_LR^>R<|o!^3+7S|hm}RzC!Y<1akA{;&mtudYBX}G;p4G} zlyPg#5nWH98nL?UViP;p{**nGuQdiJ83#Wp`b8G%v|3#@P651S#d6lpr0)u9Nv(ul&lR13pOlhC;oH(rPxH-BZ zvy0L8$m$`nf-&B$#LGIe*vrv7Ph(X2M`}eLu3jw7u-nt2WLlU=eS+lKO_|E`ldZYI;$aw_G^ z(OI4U>J8ldr#Aq94Kr}Bpm+Y$incdb86lJ<18RI5F(~}HH{E%z{Q);|qtaqVg-JuQ zd4Xak{v&d+G94xK;1F)WNwgX&`ah1&{6O6X&6|y?NDS^D8p_*!|Bz2Je}7VZZuwLxjh#M|FL_ar1x(6cvCtS zRa?N~|2&g^USkW_M!!FBtw4O6?_N;t;;Ohp9STwE04s0JQ1RSux*OsZ^{4fH&wWD2 z5Oos#tP>x4jokl}!{THy*P`O5R{6A@u!FM?0o|Y&rmxsyO-r|Eo1n(OtwA?)NPrOM zS5&W+`kSAG&`*}#Ni#*nV6A&VEwZ?7^+fwU;bYHuxd&@fKdQK9cwnxt^)rW*1@GCR zk5LnY0+=H0W-cbe?J38Oq55iMf5_@>?$xTZ^Z9ye=VWRYQU3$-OEzu$hkR@UWK+<8 zoqhVBxJ4s7M|&41eWxFeM*khRnE9V7@J%;IwQEO4H<$8jtYc`Ptcpad^Jq z#uQu&q5YZce$Qnb5}^RdEZ%S9k_V#bsF_(#Ko=P5=?zavyxJ*9FQ0@vvLG>aF#LR` zB^ttc^vky)=g!%P1M_u#1|AuN2X&prjINLPxo_mUAAl@G6Q{64uE#dcP_Ro-hw~y& zq>rfiGmsvX;?4o3BRNz}5-z1Ha}pK}fO8%ArR3ONzCij(~7u0&xW5>j3&dgSY3`&!`(DjY6IZctuxC5>yRE2xL|4JcS6XgIf^4 zG;fvy7gU`?txgWrB?(%>><~6XmwTwGDDr&AI20G2oX4>45$&iLVfDS09O{ke2`Mvk z9jL+l?Pd>b<5DN!SJ!|)`CD@{lq-@#NoiM4d#k|1bhrT**VwO2W;oDHVHr6EV;d&H zVRr{h%w3{b@k_&{mK_QaonA1-S;)JRK3{sykVI{o;ZY|^5Uci;^k+wIYo?;gxu6a3 zD`J!%Ya6ZmQ)&ied6%od3Qw)+*nk}Oj9Wj_NW0MslOK6kgL4>rIde(mBU^D4a7K@l z{T28w?W&O_1w=462o(fz#SE+Fx4PcIvNlU%%kZ?WvOp6CW+9LbK~jM@(c{-n%g z!1+T2z1G)ISRMEmNNc~2eIfgDAJc1~(DMUTuPZro@PRA5qyO7H@RUtP=20}jx4>D8=+Z*6`$uK4s@?9nKh+^i)?V`Z#ki0>$SV-Uy zUXI1MZowiH6OvhoA*VKP$?u@d?i?lx9xTtVGqJl}2$QBn?tL@;zBIN&`~r3iy&qTE znlSXf5LsCD&cVxnU`>6|4Rm=e)Y_(-v*07z-01K51z5Fg!G zXQhak8il?zNFCUn@(`TEejT$ESl1GD%|8JzSM{X9ydl3iIC9oJC|aH7O}R z0K?D_+X&M7#ge2TQ5G{daqn8pe&T1UnA|uNPAwRaG`*9C@AOgcOqn?FG{_~xNC#=y z=tRT!00*AQH@{YRg6Vk1yHPA6zISo6>?*YitCxx6WkxY0BTUYWo*C5-n2JtJQ)u=E zw*&(SJIvIurh|PUBMG(QR>4GaTBFZMz5(#oI~-rb+nieTjA@b%d0M3p@TIcY8eJ<` zqCT>HykwgZauH9pJDF+mg`eV^-#v!*1WsBvSSS-GZ-=HJC!Fw1DW7?Bzm0(1GI?<1 zwb;?d7+`)dm%<9($_WSXP*qU}q92ryu-+=N>1OIOPeaN&{J@%!%pB(|-tO+ZM)W{X zsOA0+N7mu-VSnxg#i`!x#BEXERlzV5VRi$?i6n)TFzi{|8Uqh}@iCT(TJ@A=M$?L_ zjJFj-1wo+z#g;8UofJP5lV~c3LRmeY1kSI(v?M)4Cf9 zWXfy9-$taLE=f_e+DhNebPY*NSm{^CjCr!@9}asgC_p}?q%Fp#GyTGfj8D&PsDiAA z;Y~I7e~-(8SBPb#EeCx=uCNxj>!~{Gk8U?#KK4!p8n737eL`LfiSyPPH$=izs;7>^wu_tR$wvFE9-GD%B`J zR)YBqj>`4$Q0WZrwuSOdYkAft2GD+npky!WnZ^e8P!qYVeH8FXJrF_{u!$xFHU9&d z8+I%@%Wj}k|N64cYt#37Gkf#H@8D>g_agMM5%I6`T#S}<%O_T+nbw2N(Bg3gqa2r@ z9TlZX?(Y|WzVCrYE&Sj|PIM$o5I%np?>q=*4oxv_KGAX+jE|%6a;=%bKgi+aB5tE+ zTxP(}LHoZIPl#N;LzI>lUAm?@OS?|ZLHlSS|)4fc}~Jf7FZPSpbsR3Q=?7!0VJ zJ+`%55G9zch-Z_H&Sh;Zykab7v#o>$r?Eog5dV=Q-$=Z2-PQK2DL2q{wza{GgNZ7q zkSs*gXq4UcR{UE?ZOy8Ca*&l>BcUU|O`(O(9xXj!jMv^sK$r~WAViVubkzgi9 z3Y#UwwF0>DX&I(OI0#s8?Zl&Fe=`7}SKRf60mq8H?scWm){b~86#Yl!2=7Xng{fjG zFyC2Xo{9p(^4X4xu|t0lmz;=`>oZgE$0|uoQV!!hDhiQgc)5^(PnQ59mjI%1E@W2j>wz;<`nkn%w+PE8 z(#$);=o=S6gQi^=Ponoqv{?sSR0v{7z@MzU{OmS!F2nUz9sJi_U*~Q&zIB1ms#y&8 zKoH7$a1u=!ugjuby%oji-upXCmaz$YmwZHQ&jN@Y0wgG>721~sZ43eLHs(H}yAC5z ze*o?xY2PE9x2O1b*KHScRmSPVqRCv8Cbo`iZK>Shy(V20ein8OqHyuiu|R-u z_?*pd0`3e8f&@5qiOAbcUrwEG2bs%$M}0z(k!039bKlqFU`AR8=GtN3EW^>0mjDA` zvlW252Q9s5U)fCCrt!$feR@;|nVRifmWt!bC@#PU#^ zYUo+Z^_sX?9;omV{<8q~uG<9n3i2wY%l1v>^pB&jtfY|q05mr*T>qp}y*?I^k?rJ& z_^a3+D9xfBQ?=iId6C)stBVz3mt{K~U;*r_yN+4HP@`x0ue%QK&KnM|6@7N^`V`Mq z5x+LrCD>rWU^N&q!U?}Wc4Ks|8MI?#b1l*2(5=YJ|4tsmaZ>VA;?cgqVRgmt09c$R z3iZdcOqDQtd{Er6ZMeB5xEz*TNx_)RPe6BFi>K%=>d%zcTmD@)J!095(1Q9&hp8pJ zEf6DoIVPaHevcYet_YRr|3j%W=284BUPzp1O_t-A9x}UR`)5=S!pg2&;%`iXvoQ-d zkCrYjQIhGya6_C0B+1-O=M`!s9r?t*v!5_eYug-L5{mE}IhUxPb&R;lum01Zji?la z3iv(O)q;sBgM+I4kE#pS zI{`g82NjToo*FH7|MG>iNOauZ2vd*Vi=s2$@V})1;{u(-$oET&-mGW1M^(BMQveUo zhk8F|uKS_RJ!<=F4lJle!++R=(|W<0rVscH5HQ5SxqWZ^+YZ0;d&${c3QjG)5n$rY zcZ;5?$p#C*(}f;%Tb#vXXuCUa;Sz~2V&@K#$WwZhGL&eY{D)kM5h zb*cN=OA4Ov1ipa(AGmTY;*CMo&9V9KjX$i8Yl?n(R-zQ2vLs}G%9Jf6d!1K4@=;jB zM*ntFqdaXmwiazq-|8~TKASAN@l3_x3Bvb*lsU^T=fBK%-<7@IOR+4_^Q9HImJr!Z z;Jb%ZM@Q~>nMD|)iHU+_M*j^RR)ZgL*{Rm;Tl7m~2ZN-1Gc&GP{`J0fP~L;m66!ij zE$R|Jtfu*qGhqJ7QfI`?fTi4^>Y^*3LDLJS@uREB)2QpMJm4+Caf*T*?WfZFHvV%N z;-lDaVuR1T0lwvNp)e+9F~C1}Z0yX>=f|nrnTa(pX8d9I%_UlB71kIooi@3a%1%%B z-TdQjU_a{F*X4QD+sVtU`a-{}tKGxvZX@LrRDIPBLD&Y()e%w9q#||?~E z3fOPl*DuUU{>4Xw0ize55Jm+3Ow6Jd8b&s?HWA^+#o{b&qaoxxCcZQz@}7m%Jpzcd z5k&W)#}zr$`r{hODEt5>+{^v@FRh0H#2-T6Ba&0q4tDTfyC;4RJt>NbE(qkZ7pfen zym=;QWTcIm8)ME5#Ev8N7&hT)76oBpCA7!f;(`m-+VewTE^t4DYBqYDt3AVh_TVKC zQ6`XuK+B-HrD%AnF5C$$EX(Scw$Y70gW4+i=YK9&L)99oBpkKZc5F(2=C7M@?z1G1 z+dG*F4k(~Tqq~GqVCd;OWWm&5T3fDIIw5UGcWY%@mu;D!adp)95sQLV$igKfNuNxz zt6+wltQCYxVit0aZZ#a3pw1_?rS)$f<>S&r*r^)QXT$R@9~^HeG4iHE=Qbh>{rpG&lv7u|JCsiT`;<4P4c;?-Z= zhveFui`($)o=&wPI6qM;9q#aj&AaF&%M-a&?OR5gCXD0b~A9{h>@o-!(j$kCrHH;mPU0I*`Fz8FRVluZg z7P>Q{(-Um|{v`kOZr6#g>Dy2A*6|_gdwI9+&b-&#`1se_JmfUB)BrT$M*vWY|2+hZ z`9FTMMs~KAF1AL1U+w?XPzOqkwQ^!*gxf=&OXmFC^0e0U-&HsWVxll;J2IjrTk=mI zU=$QV5JG`5IcDzHSV6WwB~~AO>N$cz_j$BUo1Xv?Rz7IIX?wf7 z%jyHYf9;32z&OTw(clsZe6osjJ_w?K*7t9{?>}>1sZo+~fQBAA_xTF~jR_SlbAwT7 z?clcV&c<!k!f2R| zaiI&e!;!j2P=Zmz-azHM$o1laGF)c_#RPkRvRyJmj6Q;*FovLPL1H~fJV7aBE7vjq zRL_4U6k~vf@lYzzbHtBX6Q%xKLVf+0q+9Ji*m(oNb+ zf#;EDg%{AFwMxv&O}aZL_}5?N%#HjM=WLtv&q27~vfvvy*c@}8SQx|uMmXlXJVW4J z6z*9R=E^)HzekHp>Nog1J7Uti zls;KFwCTPM8VhJKn55L*5n_MN@Th)*vDJ|FMKyy~4Q$v0?W`A-<cBK_z zF-FDV9z2wIy3iW~S?FVp7zf8iq{+&AOKMmvKR!31NgoXQSu9--VU;WlSnqVpeS8 z3~Ksaus?0MyUr)=MhU_iS~K_D+^}3doGmQ5{eg6%;{pCr60gGw^(7L@9A_PM5m)i6k_MnKK)5l=okdIOz$>aY>BCCGNb$1bS8}-49mGCKV5uM0H(-gE6k# z+OF=t%GBJ@a=WAXs9W1)kE+`I_ zEocpwlaFv7DRok4W$-*cSLv$eT!ug$3w~=$1%Wq3-UTx=X=?h%l@#p4{ zX?3flXE7+*FUQxiia)ODFoNEDEUN(a65kcsQ`#9B={~(Nho*gAE1B5JOEhJ%wl~EZ z!&BOONB1|q5W7f96d)ISFZ9UNrzwJ}I0_5Y2PoPyyrfQNfhIV>bab=rLOnR<%HD$< zgAHM??G)ot9E!^haD6z0+^JMLHUdh#1u99$R3PFLZH1oNeD#gUVJBQ(tjr03Wtgl#{0`xZxgZJs! z_aRPQuz3XsJppsuZ2OX;0`>@>P^qF6hU$U$K3iP2YzAkM3;8^M`y^zwET@1T%GC$? zQUH_jWG;vjNjKKb(iVMomF5wJnl&^L%p;7?6;xU$&n}O5mP<%mR_JterRpp<{MAlM zN_$>1dZn2sZH-M}QY95kbka}f#vCVrZ5+sskXPQh?MsI__npL2Bggkf=w!e`MTHj6 z>bWFp1va>+vD7w=7J3%mT;1w7%48%*JN<sklqJ45iYcIKBpK|%;PN$-no-AG73qUz#%q`{N+su8Mh-iIaWvY=a>hr*dyX3 z9P^q^=j+&ZhIyYNO`Y#nP=?gSdb%N8RrBwI#BC~62NjS0#&AOYYD0UUX(4}<*&S3` zrq@Wk?!$iGD0Sz18LhzApFBZvlT3I@#17mz<>4Zf3|vHQm7IQz3M%~w+Z3faUSs>| zoJ{H6YH%@$ImxDmV-`9&kiSx}s?d=*b>ke|r}5zVvB}81_kowr(w-cVb#HB^is4o1 zI#=$}N~VfG(re*&bmnf+=S(+nQrqDWQz1s0?!%DvND+!M;^nhD01es+s*38BZptXmv9+a)R z@m(M8)aDc$lfV~hs=T?+wR1AqfhO`gJyiZ00)K-%X_UA{>SKBr79O(L#5*s(U*!6w z-^=tRwZm=hp&RG*3er@Sh0XQNG#1g5hz&V#TL%;$>D2E$MGMxZO(KWDdR7}kiC3l3 zXhbDifGdtoMH|1;vcw$DVgtOqLg>)XqIeDe5!!}6cy+AzElMKa)u88WRwXuH&T6M- zxRW-xbBLNnrw=*BRhl-fPtcU@I-LYm@HiLv=wWwWNsaYm!(>(O>1uW1#MDPBx{c>` zs?A>$HDAC34(>H%m+fBrThEof=4vJ+*hN_}QZ0LU^TU3nD+h{s*}hWMke#IbZ4aJ!D?*T2nZGOM*){sjxjGC>} z3~i2%*XybM`;0(>?zew)6u24H-jaaB`KR>%>jB-?#99A`jlGMt^?x~_+pYbxb_I?7 zMR7R7=r(siUXfZYa13@_jocoX>7c~&@y?|ZsTEhiL_c3+RoZ;d`i_tMylFa}dbHV_Jk^M2rhXHZ@r>!z|RqkN0GbclaJ9wXo?dEX%t zB%02lrB~m|mkWMjq0F#P7D;uF%Xk6{RQ)C<36p={%>Vh!ozFofDTY?^+}rjY+h46l zeh-zCPp?+b;OgWFv-08%t?&X50okC(Rxz9x30dHh@yVSv2lNqP$QqZ!H$o}>$rh1T z7!7QTVT(P{nz5DGTId87&7V_BCr6|^rC>6?(GAY9v5zV>O3t)lZgm|Y2d6U(g>4o= z0I~AhlJ(6Nav=-BqdqPeMRt$gE*R>`cL*K`4&6m(x7hClCUvQ%{)WKSF@LhH@#dQ|-;clqRY6 zMb;@LpDyXtTd=_O2A8)7+&9+(($!N&W2N`Pf%ZK3?%N=Ux1KW*P$2=)aAEKIZ4^W7 z(S9Vd7=y7QuuR_`L_je1Z8L>%QYl@&cRrcS8Ud(!kr{wp!5>x1Ea0>dO}~I}sPb96W=v#!rjg?*_9@r`DhlLD zQ6C;aO<59G@0}3S$kBjEBTvI+daVAo6H@jdHQ5>*IEhxl6O;#cw^(Z6!AY z?evn$OxO)ON4vu4^!mqe>wut5IKX7()_Tm-up0D@Y+w=;EfT;>NsDjT`#HBBZ~Vne zVWm(2oZ*RK?R;%Rzwvyl%-XOH#Z1G^uBfUqj-NIDx6tjf6I*MZ(a#~Z7P$>yF#W9t z{1SwZF{S9ED?GzVd_YE$iekP{*`YBIWQl1t0xJbvXZfLk)9b7wG9d}%&AJfc_YE4K zFIk^GTbkI5D%cwp0Dhh*w@$p(ap!5)3g@wa zLFe#iuxG^OoZI)l7TFRAJqw<6)pjrjrffq#;LcsRkXK1Q*`r`^cMz%mYQ|;*W>glHGCV~THn(#TkPX!PfIj;xLGLcfUF>5u4rV=O1=6iP2 zh*Uf}xjQ|##Hh2U)WqB@X1NF1-agAV5Ij|)92AmG0^S@9-~PTH>!^r;g#||FfVTf5 z>W_+gkkFhGq7S*a^XMK$GEw{QZ`otQ2-4`Im+7$qr|9o^@Ix&Hcfx*uDU$nDn&o<0K ziDUA>hFFyrmRn7%G}PJx5bgA{25qYysRr!Ob>2fOmvt3R{QpCAoxDIEYh(NFs#pxd zoOME)C|c*iO6Ro1QmRT53fXRgZOgDG+$Ko{Dke1pVdPBlxt$k)2uA(j(8CMFgttF- zd3!G@_Mv53tCqy#IIB?oeM&HNd=q(8>{%vBXV+gLYK(ZKAtvqN!K6a1e`DL#GjqhP z)@$B75Sr~3ps;}Ao13n(#BLRwzXlrpN!)XOi*Sb9by*C^kyy|Uc7E1Q^(!Eea`J`hr1=Qa&we{wLJQS)_NA{-m-P*#WhIq}%)-81w)d z1(CGKk2c`a=ccNoQ@&zHvrXg7CRP13zzQAbjO!!F3eXsC$5a%)*%%GDQ{rKDUp zK3k3lNOd;JvZtkD(gyPYEHyy)?R)zY$e$tnv5yDJh-4F%`WA7lIA$NNNqlKi2x;c+ zbzA>?HJh*Qn>Fp2L={p@Uwcu%)yl3KWWZObv+66bdaSk@#Utbl(39>dJcYkX>H<;ncQd^N5`7>Ca=*u*6s_c86Dp3 zX35mgv-)G|S{5mRrv4y<%sd`1i^$}xR%!OFDayq;+?BQSD>9Gd+UA8vi1YleN+f;$ zX$va(WDTlnj@yAqxq^K1x^wSlNb3$w>KNZhJMxuAWLDugdy$Bh1E zJ{7SZx}5m?wg!<~n!Lq-XwWRaiXJ&*!Xo-eK1FR-2a8*%zUtD6c~Ug_IU2@MO#)-a z5^fCQZ@;kR*TgKTw1aQ`iVg1OMX^_=ynU`kZ|VaIiH$V3>&kaV`)Ax3{x&j6z@3+r zg1s+eM~}}~UfQO@(m+&@I&z=I>TAqf8c&#}_&9jA4jRx(vwqe*Vm^T5S<;q=hh^QL ziK#w1RxVDK-?WgZW)}CZ7|d_pPX9bs3trH4*~Ly4Anl}kZsZ=G$&oFSFSfRc+*Nd% z#OBr`DcjH}WssS2(p8mH%ei{B(BlDWN@((3^Zs>!qt0J>cE!oEc}*`ZdkgOYV-+ZN z`%QdC{@+seQB`q*F%2w=UDg}Nxi*0pJ5Y(gVtGQ{gjT$9W-+6L~R6&mdZqFXIwaV) zup-qyZN>2fU#fhUocd?1G}Ewl&&xK=YPFu!n%BR9#0F#h0|j0`^&U+iW;&4+xfK1C zOz+|jYkYJ>XyA%=2Bm-octDMYcDA*?z<<1N z?1T8~=yiwK{oU-{KiN57*g2nN*!%$da>=YdjYT~G2l_~v|8}4!`X6uH{||P<+0NF? z#YErmhm*27gg}7P z^HP4kt_;nV#pw?w$JEoLfOFbs#ew?Kj3KAE4}DKQw5(FCT7Es8H<75wsa8#Lo2deyA!@uoh#6ks`V0}gL z22DUvb7a8i?cfbp?Pd#S=oNajcc)I>1PTH-itsaL;?~LFvNARo3ir0{9W&(aKpG7^ zxj^{hC; ztDOdphdICFe<+T$4-Twov0-~>Y_5!+!h|;$Yd-!d)&GyOw~C6ZQL|{#;O?%$fE-uUg-lGrb(LZy-NT z;WKHCEkeBI3VM2FM0b!0_MdmR!b}s=Kl4Mr4nfwE?=PE=*N8tbdGaS-CVsMUKy7un z3Nl?nbA}trF!;fI$a(66g6+Gl0oArvPoqMP8Q;xoC4adw6C7?{;tQ}i$Z?fzloJa; zEDrI@>p6hMk>UujI7GI0um8p3K)C?1ILSzO*vZQe4p;ktKT3w4}2 zv!mCxzUynbz7h#dYPj%SHuIXx$iWyt7m>kpu)(FCOj=waVF3U3oa#ZVfg_()c@R(Y z3;do!Xa)l+03Zrf1ZVCq zY25TTdcYgEljp+sX;MZ5Uluerd7LZfN0;<9Zw}j(;37+zhltO;pvL(AS zn{pO*)DX0H;%;pe2tL?E7|!D?jOf&=;T$_zQ_;g+RQ4fv!EmKd?a%6GG#oH*!bVEe zdg5%_f2Gc@YCP{b{|n;alqO%}zujPr&W6a6V8y82Vqek-8F1zN_LOEeCZr;_n-iJn zPU&S|qhYW1VF>S$K_-D##bHgNCr>iDwgNMucAx*1xo}$8m7oIJ|Y?OoAMhx8NqgxFGzhrr1 zJxm)2q8a%)ImY{Y2YHc7;N$>Rkue#0yN1%NxASqiv3A8&2o2olMhHqqni2sEJop zZwr+;KP;9jyJT)Oc!}lMu-tSa}_dWHr7~3840lnL*Z<9wBwzDMpd8cG! z(89ivuSj4X;|koz6TA6U1Re5sa?%r)+$+yS`6=Od@WCcGI`kX$=|L;kP$G1>^&ju{ zs>`jXvmGPXIpE_^cYi%$KhKp9({E$>1aKbIlhVC|`@#7Hn(r~TkqQaCBiFJ$ zs`QZ^TH-XI%f9|1GUPJE;bwkU(*@*5Z5-vqLkium6C&C_Hft;%8iDIRS4V-Lc}g@p zQ!|^jq|Ph@#8G%p(mTa`Agz3{x}4XII;-_v}YGUBo6*fbP$QdAmCKe7`?YvG`p$p z2PKZ7Vf~zbFMcP9{vWD%-uk>0PiR>xv$`)G)e``TqpdXz;wO4YLibc@0O4rC|Wr6zp1Qt_sJ}L0rYIq|PzqrEcM?Zv&OmV( z4Lt|gSN$X5@%xm4Ox;8W*7A1dEqfHloTpRhDew&Lq0z{UabaQsq?229SjwWj#C%m= zd%Qxc^lz*+p4AmQh7kGXu0e5=f!Gwf$7nZ=5_G;ygp+H1y&oN2R6Wqt$^r(nZ4ETbA=;i-j)FeezkfvpaZ|~PLP}?PuJ}) zJy0RJ60WzUK4UE|xg)hv@zk)T-?GWYGgxkE!5kf@1COXN@7flXZL4xI^==r zw5ow+!snDO(NQiR-|H#d(W53OP#WQgsR!NnW$=|ZG}L$nx=v=Phng>OGwc9Y7k!#R zPeRFB(%*lrmE6et4PZ;u5x_d96I9xQ!brWE7Lnoe$I2opnE=$5bk;Pj`O>a~9$b0o zrVDSWP1-~|6F1%0z5DW8mR2c8c|wlRP8pNb2u|vsBfA|KvT))G(e< zOz7Bq)-%LpaJscIc|K_hY4@K%Q6y!9r#G+o3{TRgd3vnHjYI*PFuMq6pgbSA;8PJh z9b<`}Q!Z=39$>)e z{&!p0)PY(5Pz6!ru-@MfCSz-czJxOoj?8y0nD((?dA>g=B zIwbCC9qxguS=_2ZwH61H;#aoFCn6LZU#=Qehq*gG&2naaU$dYWA<11f$lyj#HJLkP zLbt6vKAGsRu?|Kl)W%z$P3|nIZ7EUm#S!N}>q?w43%+-Kr5rJm<=DO&-r>ECZp3+a z>)>+^-|p)NJvYa+Mz3xc<$HJk>c+4ocdr!$=45jJCxwILf6FHz9LN9VoBf|Sjv`xH z0Osz<7glD({fT?kI8L||lhUy3)5i&8J3ubkDMI;ilN^gWbw;3|0`)`w!x7{M&Vlit zVD_T366?@hjx~XNYhn{*;Fkx;Arfr`c--28l+JraZ6$kVK=*))wkA!2ELVA)8={jT z&^!|6-$)6j{+30mB>v_D@`C3;e$M`pUG2BQoC+_@wL}VZrEyz_ee@7nMDJOY6}0Wo z!}He^mwe`(#avPk+1j&UI(!O*o)sAJWiUzV)~*_Ii#ek*j!vv z=2EcH3EoY0SFh@xrkU#Ak~I3WrItD!bn7Q{o5 zZ}xy0{DFXybCotB3VRs%9SjgZnF%Sor~>_lOKOrZLfmni z1|niF&KIJlNIe}~u?-2c76n+`_wPO$Ry>|f(StPL~$Ntv5K|z}{zrHw?FaBQVVZQnGKJV6QI!6IMMjrVrmA_^z zEPvN0#dp?zD}>o-(JWlL#V!WJaQ3lK9f#a#nVr%dCvHTKE)r{3A}QmJlwd5H5pSG; zOb{ThJ{)Yqj>n(-*>P4&a{tbn;j=%U|q#R(+_(6$gWlDO%?y7QO$PS+{(GI0cO7ZiOs=PtT@<$A=z9p;34YJ<`IIYpJ&qC%zs+45I(S`r_v@JX88DzLO~nW z{F?Xu4O?uCz1$Kp%}yjoSb9!_eWpX`e-3OGII?IKF9}Az4fr|Ks(U`{ziFlSmU1U9 zkr{}J8||a(;8;L?P;YR!?l!7@znU|jYuSJ2y^2Y{f%r_^vq+?}dTJCtpM`MV+7*7G zm)U(3;rBydNB;+plr{o8-OAW_mF#^bBP0G(hXh_<_nSVubADIyYA#KBY<^#xD^4Nw2;cTUT(ylmC zk-+9_&O^L~G5vJk$>z3e%|}Bsu-Gvxh2t$zE8IrKZd^~nFnp>2EIQFbluNLOpYnq( z$>iRwdIh?dtj0KmsI0Zra$Zh0p2I5b!wa?IbbW3SJ#Avg!|Y4^6Hot! zPeYv;q04WJdurWZ17ITm_tthT@X>5jKyv%$mt7+E@-%BRk9;{oF@tg?vO#L z?JeEK1u?$*qtz#C+sU%xHvrE-s{7UVc#kcj>w&JYsQ=RgyQzmpigiMgW94~!BQ)#| z9>)1bhjF7RGw5Ut%7-eKRpM^0y8Ln?+dguG<8lkkZ1CyLGw1Ly`}U4$z?`K10=Q$@ zs6c@z9eY^{0_mPc{e}q_F^V&ctjKZl*~ka1{f_~bp4c2c>~J{%6y5deF87gH29j$Z zh2Ez2MB5NvfQpUijwMk|W0s5Z=IgKzZEe(Pc?Hq3+LDKYfM3G_r0AHdJZP}=N=0}7 zhl;*CRmqIZ7P8Qe92{Dn`pePvNp=na&Vv*4JT80>fQ&HG~m>!YAmOJ zln-czp`L!Wo-X|{$7R`F&EDzZ-2M_wBhFF;nIPIF8!FQ{7RwqsKg5Cf2 zhP4qn757fXjeHmWm5A=PljHPnB6{MzvseXn1mhiuh|U2J(Jw$mbRl4x1mFcr%Pv58 z!NKBVLfzW)$`9(II8pg}nb*o<$xB>QGG>G6sm~Wu3LPDDk+u9^@)tPv7HO8b|B7d0~nT^Wmq0fadL>j>SoiJ*i;J z$q!5oq})vXtK38+j&woj{4~F%2ZQx-Mw^~-D?ev)s{?p|E${#aN{<|lMhUc7Z>Brd z&HVBP$`wy_GXR_+Db0W(V=T!-$K8i7KW+EBT$-Mc3pVba>YtvVc zSD76|&iIFkUW_IX(Tib28NL{juJoQN!q8Ya62DnSMO_#F*mLKQnXB01jUSsXN1W>k zXtqT7prp$|m2iY!=@(6LXcR4Oc{OptCJlHzgWkk<7WmD)Cnsq#enQ*2S6}^Jzx?96 z!XL9>3)(GVq9%iOOYc_OX2c`tPP-t1-O?52Tdz8dc7tqH&86EqAvQ}Ush*3Sj4yvg zkBm{O151x>>8^^l;7dLzZZ*F6nDO1+B=uXZm`RD7G~3pQ93S~Q@Y zyy0wu)Q`R_CQ$f0VTx0VQ~6fxz=!9b)l%_p4}NIB!J#Tkf@R?$^_y04Mg>+x%k%r= zn}Kt7o1mrIMDJ&IxcsWj0<^Z)Qn_|mJ##D*6GS#XaZN%+-22_ZbSe}Gkq0tXp*7AB z3O4rB6FnazG2_Ind1UQlCPc^gd8T!v%}v}o2Fzbd(_Z$x*!Kdkxv@3-dPY3M6?fVQ z^WWEvJYp5pTES=BNT~Jm!n9~(iGM#_d|v^NcEgxFUGX*do9y5_WdMKvn<6>oeZvp& zt`&`SoFY$M^#POeKD(nxV)oLW^ApH4Z2!KBi-ql_;-2m|Cb+sHc>~;zP&x>hQ zUos)vRMjN`SjJ&x{8_QjR;}CXI!V0+z@ICim`kt_C?41N(W`uY2$bZkd>74q_krLi15t9J#P}?>`bDgROw5lsHPWvNO z^EN39*946ar$D>v&pJA|-MAZq@--9ITP3xvmZEKJ#T~5Kp_?O0p{SQE@E6^r!w^48 zF>u4F#FyHrdtQ}rQ$s~9a#SSf$CB2LD=%k0`&-cRBhR0B zQ9~X!8Aw^4?YZQLSH57<@2A5}tjDWE{BO2;?Rxb3|K*$&|2Td#n{g2|NW|J#VMT!+wZ4eFxA79Sq79b!BXZzh;7=EXOTmzL)uf*i3KM8 z(sIChzyQ_K!AtvQH|Ymq2x=QUa}ribFrv&0UJ@Q2iQhXoU{M)YXzt)qe8=RQUa+fu z4Uszgy$vL}`9gnS9UFc3Co+=-B*T(*+q(_7ZzvhWwg0{AlYnn&OQeilM?zLkjK znHkL%{#N%kR6&97%uZA!RNf&0nVXXyGUJT-8IhGr5Z%=h*4AD$b7{U84thNL;FRL- zV^nmqH6?C4m%y7jUTTQgwr*?e>p6z--}tvs6GU%Fu=n;lR&zgZq7p_d+@nGr?@ANi ze=<)WaSiEo3AN_odIN5x-eKa-ikInlkp`p_hzZXV1?tpcm`~I_94;ha;p7|ZlPy>d&~s!x|38h0GsFuwDr>CAj4#vB>0duY$V)1|e9C2AWNZv->4yp5>!^{1n? zOvN>~{5qOHaoHx@3s&D-WPs)+t%!wPKJaRnX^_&7Xgn+1ENv7Mg5sD}6IV1QZ)uqa zzj3i*hD=CC8RHJg+Yo2IaQv36@Zz%~?A*<mg`2i!#57&V2V#s85F)O{CsciFYQ31>@w{N>G$`+k&dGLFc1*{3HfE zjd^8!P>=o=>>J-1Ohh|8mxc!Vc!>_L-C9Z9r@}wf@(DP zgJlJI%#$-s5`QEy3z7_{ntyUY|%tM{Lc)YxYm) z)>I!kw9TX&Mq5^M`N1)KH9YRBjF-Ay}^9|pjwRv4*Sy3K-OTvi2yH7`N` zb7J9=uZB!R9|2}7yN|sYdB^eEcRKv5hRJO| zwejoT)mul;rzzE@e((Ok)`^C3frY$(+N{$h$qCnb0{2CxYqo4RyZhS|x=`2qFG~~A zkSX7x@Ne~*n5JWrIdSx;$A?@Kl}#(j-zw!Q_UeFf_vay1PMR2%aipcqGp!x@(@n%e zO*;oxgju40aACF?JiN%fH%xgmL73L}JC^xZy*b(?UeUTT>vSxMvZcIPq{v>BL-QH= z?4(cP3JmA32R<78_W4U$3*&r`(dTtxCScV8+VACSF<^-{zpDcC~Lg(Zldw}p^6+IaNVUXnE&Eu@MbTU{LX7o3!sq-zY|%)X$8Z~n zWJB8(cLG!+nPRcBjsShLZ3P`KEXG{ge8O7 z?4M?}|DYoC%eWL2TOL3BjV*h6A1KaTcWn85EUJL1g^fQJ9PoY znH)8e5V0lHiVRKhvm9nlyj%_j^u8z*k7B@S=lM*^W&LZgf!)u7V6FP^spV!HNG)$% zPE~SlzA`5Ex%`t_fVzc4Zw^Q;S}bco^mtO4ES$316Z2}>kCR^jKnz>F{;TM^Tv2aa zKs5~=421h6ayVn9Az5}U(Ph$YLN@I_L<@P#F_3tY0^9pALx_RXuy*kEM=c!B)qa!H zu!|-q_qYdW3%eOK^pd@Mz98BH9i3^SXn$P7468flECW=P zVYC;K3aO=hO;fl$LL@kh9FEuJ{ZhUK*&yWic0dKS-MpROBT=;i;-YK*<)X{Ha?!VO z-|@+2uB#_&*m{nNHB)&e_I(c2u#GlddD91gWo(N|YVJ-91L%nAUoXRM>9FPN6=@EM zZKZzg(|?JC!?N0@Q}l5ujlCNBm0KgPi1=*QVvTvy(rSfw&3#?iVl6{6_g3qLSYoC- zNZj%!<~Fs^#IGnwX1M-~gwHGQFB*4_g!|J$%8P(4azV0evVWl(#3noj*4Aaug0xM2 z$rj`C=ehj(oI=y8#%`Q#&BX7KYXs~O*LlKxYh#u)^7R6)IP+J}vhuzIgbeh4$MfH{d7>w+iO-)BMIsk^Prkfn4leqhGn ztLT|MBvRI{aFuxfjl1Se2y@CCRYX&*()%#+*#T&&FJugQO;5z{vx*|^X|)IUEf zdp_2FHK2{T@f7-}jd=vMF&1li7C>l80YVEvR8Rv#OQ3N#KFK~>-p7>eIz=y0>3u5% z+QnixZ4efH#u$t9FBUytP5ZRI?sNqP04m5&BVhiTbZ#IoBX`?Np+2Nl)q8Oq$ULJu zb3gy3c>30EFtu{%T}kaz)9)S5K{A-IPJeNPmh)!D$f}*0=~Ta%`X z|L&A?B~Qm8b;P63@JVGo;w&sw@V(|S=aS$-pP%c8r=6PRPF+lvmgmIUHX`>306Q z8lH>TIm*{>|GUv6HIMr2jzx<6k=TXPa>PTgnJ+=mJ)kB>60Z86vSFtu^<;F;j?Z*N`>naZL3kU#J*k0Y)Lix&(c z^g1Go{=Dhn7tfy-JzRPZC2!tmb&>$~n9(i$7p1AEj%zAk3P7Y~x8-u-l zmw_-V2Az*tEQ;TL;ICiz@i&9KJX(tP2JWuTP`0kFP~=V_wC^r~qQwwF0YBmGZwC)w ziN<4ws8FBiPT5eIDM1KuQ#Od{jdN%3t`T0TT>v(!nIwzu z8-_y9+e76*3?5F-BTYUsdRU7xTXUoY$dQ2SF?L+Uj)*IsyC?J}2hk3qq8KPj(hMS1 z&LD`04tWO=-8orXaVx1O$%ZLZ(n{)Q0MjKz+a<5B%pji;rtrHuuGzR3*(&PV_J+yX z3kqH!#}wfSr?1bj^+gC>^#vYvEVt5&{{B@Yl$$`7O}MIDo`*v1n!2W za0=9hGWec`)6ruGrb`8J%djc>GCd>Hi2`_j)7zZsktF6DM(oUHE5W~egeydaWfFxe zZiOjLa$($XH7B}v&k8?&F_hU|DYWlZ(g`nMPEgW;SJ~*&HE=QF_yC-cr2{8q*doD6 zY{|F430ZDO4PpBrDi;C1Q+_LyY`!5SYU-#?t-&6;{RkBe>;+Q)WuOFbM20%2n^ANH z9Fd(!)CTQs+8(hulqRGCMXwC zA_nPy2-S#8!Qezdo8uK^bgl(xq)P1E=*pmu{yoQECjhynI+KISrk=(BR6Z}V^dmvz@Yd1}Yj7%riJMv=W%^dB z;i5Q_^8OR06*Jd6l~5^?eaQQt^48_q7;w?E;yJW4S3V^Ir(XQCo?AX zit*rp7)rM8OIj_2D#V%Bi~Ri@H}YBCb{ZX+Njs%ZMWo@o33Hu^JtxL}HeAckjOfm* zsF$1mK?8tj7a#8l#miFcQ+5b%G!bw=M)r*#xF2hLy&pUJ3c4R-eZ3!hM~Q6%x*uZ( z-H##TTY2EL(kKcW@X9H1w}0>Ef?!(pY4S;(ah0S8?#Eh#JSO@czd(k!I8&2;|7qyN zWFMxOppqXy)NU|B5bH_XM|V6^uZ1 zX+&J5`YUn*{~KLiMNV*$=gvGzHtg?f^nE5E6Z0v+iw^WOFs3O#9~#gB(FJ63dIOl8 zkiH1Q17j9eT#ouiS}Zh(}xfc8V)cyT>&PiWF{()&jSmmVct)R)1dpYu-E&s z7@GIVwvi4gATr#*f4v{;`v5XIv3Xe!*B-RGHAtwIMLP=!qu88>_vf9g5_Nb?58ge7 zm*pl%i$n}(Ovq9*_Kqp-D5;zm=!`AdHy`$x)_D%@DX9z)62$Ryg}hSAeF@Vv^w$hB zkx}dDRuNSIN;y%QQc`_lIfxFYMwe9ozSKl=oO`)-m|yx%c+;#Ot?Zp-v+r1KOt)^X zxu*TXS{?s%SpMerhhU>fvvUh5$r@_tU)_+JYdpG_@V3(u)F)Xm7Jj@(!`=8FeH#&<1a=AU2{+w@1&3;}tg5BM%IyIJ>L3Bf+G z1pAr6gog@37#}o{OPs5)K%dbtEyYkP!SM?Qi<48jQ5L6UIj!&m%RGR{Nf{(^`V5Gi zpjNN|k<;NENaVx{6@I$cq$Ke6Uw86E|nEmMKx7 zPzE8&BP-M^kRyGLV$FvebK6QThjOsX{`D_c|Q+FZ)Q zM+;v%QCiv}%c_giM?aAvc zmj(1J^8g>tV*FiC-3idMxC1>4eb;l2bYbD*zMaYg(6dD3uOdOUj7Ew#f_fIMcac%d zeg$gEZ^?bZPGr$!W6cvcoLT>UKUQd$0JHGgMImQ2XlT*~I$w?~OE`;G9laqBF zlP&UpH93j>V{$T5@c@~e=->H4msWsGPJ=mHsgS=);VboAPH@$NL%ouROXvDxZi;#` zX>|#tZ_%V>>>BvQyD~HkfSyHPJt4jZ!!-uMp78wmUXyq5Y|7Q3*nzhBS7}k@!t+=sPBUf)+RN_BF8-mi|lv)hu}5l<7U6 zvtnnGv`;E{Z@^7~DT}B751zC!HBnVi&En1vs#zM`&UgoT^{ibIJO;JT5R?MqbrW$^ z#adlY-#G^4qe9d{MT)y@iRfO%R|do|xg*rxpBMFo$#x2n?{Fs2RW+-%J5$339dn}0 z+cl~PB2!ur+9T8*&$%rExh1Bp{y?FYgwJq|a_(c~cd6?DBa@ST^QYm^NUN5yxqf`H zn@tSzd;PX;Kkc}?`46Xc$l)cNw@Gb)R;)rIaB|(})^fw*G# zf5w%!|65#fva|)bRkZww~~juMEVcfi7aj;9pVDy}PQg=b% zAB{3P9hN^oH1&L8jUR#^iH$XiLw?3N^xhA34LALYm0w|umI2a*^eBtIpIvHJ?QhklsMi8-lSs(OMNwRaF?(NMwa6*#TEHwBx1$DTqIR=FBM`JLtuP= zf0RQjY9-46CmhG2Yfic_5vnMO0Rz{wtjv zQRd2T*&}w7+9G^uOyF_sq$7Hrw?MW7^A?5wHg6$2eEU@_pUL`RlH2E4LnZDL_(eob zibqRh@kQ0r<8C>e2t!8HXfN>FMY~2+;>V~kr6?@@s08}U4P**}`}unv$@iIZ{lLJ* z{dM3XlL(}f`i)LqiyI>jQImd_Oq5FpV)5WUw&W%j(7=U-IQJJSSH}2=q#xO$Yd0)e zZAP=n5@XQ1hMWfa?ot$15Q;rVu0O~%3u)AYmKI||!PK*nqR_5qhY`LNxd6CkA90HJ ziri52nubM6Kkwy^#8hzcyH|)sW6&tAxY`PA?eU#XN<-;zVSoB*s&~g zKQj#2zeA{@?ny)VDHx)T^K#qtqs84Np^ag(1c_Jh=M-LJdy_>ZWVR@7v=;8qZnyc! z&VO99b&s12-=#l$6I7JggjXlyA)-7e;v7p%B-&Z{;T`u2AKS^X_Oo1McWqF63AQB$O#JB#iwRN~;t{*AiG& z0cNnv7jTDTp)a>Q%}Dgaa6|#ibtAe8=-g_;ZZBC@_%6!R^$}^Wc3QwSOUqOMeAEyO#z+&FX0XFR zDU^b>gh-f8wacIh>#S=evCS%es~h*x+kW|^!`hiea5|?%nhm`4DfL7LXjixxgo|C= zkLse0>2}`{#;rKj1jXB;yAH$2023EI&@~wSm3(ubJpr^N?8Ut=!pqSwQ|v$Ca-HeU z6*T@Cw4YG%V(}w+b_oaYuo<|BWT`|{^Gd^>4g-lx2#MgBM;#4iWv0Q(0!z15^eJ~j z4Dq{ix!FfRu31{$1DcPa)k{WO1I_tBLiqx?W_QjyWuN##2?e`3WMBo9P&^BE-gfmW zjZa_2Ppah22)DfNQ#@r};zU!gVTbsHmz!ZK%SI@R;C@Dk##_dsspP6=h%^piKOO~+PAp3x_+9a0Kd8*?k)e`Z(F7t zdMtvlkggb8Ec7e@GE3$w?=}JF-WIOT5L{SpXsmJOmI?Ci6|&x3eBUOZ#^)cM|fXH9sGn3^u8}O=u-g2Ss$(irk~AtYI=%4 z%3_r)#|wVo2go(c_8-?Q#(#Cqw)}O?VoF~}G2VIWiZH3YMwGuoSx`iAo-EV=&0qH1 z{zjBHf7dVnjwqPYuMuVQ{sYe6h!PJ(6aoxFk4sYc2&n%=lzbqf%;98lWdsshWCIb! zzfL@LdEkzIdjr&}1b;B1(=xB8gG^Q|n{rMJ`xR(LR^n~U=;1^=d~?1 zOpbrBL=pYb!5cURLy*HvD%f<&1{ch)?;40$ce! zb^@1q-ML1h>L>pnjyQ6Kqt^!{c_-ZN4+0ToP4%CM0{t3M{6P@~2DrQ&rmt$IL~b;JvWN^K5mWpHKOX6pR$p~;-IZTi31W~2Q)Ek{5Z1@2$AS;TCov9c2zYugFN#S8dzYu@5QzSZaX zrikjF`%0fm8}13No)1tKHZ5Es{cWA{f1Ml)fGkSo6eHQCzf{5`QH9Nw#g(_0RJn)< z^25N~vg9TI?(Hc-d;1}g!*+$6M6=lpt-vkils7JjVp^pSVSS~sa0!?qO3w+`UNi2C z99@L}*k(Z+m!Dgpj3Q{WqhiATj!#RKP!G5T>rLlCAp~y0=!Di9zfiEU?Ep%i<-^SRDG6G^5BGK z9I2TE_V$NrueMnvz&6{;us!q1c)&|}b1dOoWZ`4z+ae}lZ*OQzUrnG~SM`o3z6Jrv zD08nFWqMbHeXZ#}*EB>v_b$p!6L*yJcf|=3`skQFlcK=iC0 zLb(S^-LzfIn}0Sg+Mtb#GV^yUE5gHK%rshHZch>=(S2V3ko0fYtVv!IXl}nv8=ge2 zm3&urU?nyn56tcPxHyWoAo&Au;3B*@tfFIr7&Sjmw#(A+|Fdy9`1i&|*=(g1h32(X z*#=4#B{bF8R;Q7zs{|{-7stoe4q3mgUNwnS5)Xt^>tDVBbVL2kg1#6!j;OeV7T^v$eRdNFm-%AN$iU+3}&K^Y6Gb@)0LKC6-l^=4};nhK^*pD0TN z7)vD2l0OupUsJE+n`>2SwdRD+H`OgXRvVThe!JMIR{Q?r@fzkOFq&tr&*&$L!fsp{ zN{!2%jM>Hy#&Ft|4p$E3vHa@^Tzu-jOA`~F^az}-g^0mz=O4H))CfuvLRvf{LH?Ti zgGE1lo4sLP?yilX1-~)rb548r0)RQq<_Vf%ie*H!az)M`afgJ|Fq4z*xUdA zwas#cm045&owo>4QW}1N;-=iM;Y@sK2b27dZPqmSKUE3_m_!dZL{&$uGz2aTIC8Y- zCY>Xv@5lLBXs;Rm1J&ipoN#`M#NV2Z-kFf?$=-9+UD0uaE_I`~W+N|7<(vt01J zMM#_W8R^R`a=pHi)#F&0G|kxWhexAf4b(QCe-6xSp3S$`vRVEfnDqz(IiOibFN}m5 za`+IXV!A`~MNH;TWA4=-cD7k4Yh1(R;V#V}#7frb%9S!Myj-CX^ztWY?+u*W!nNPV zte0r{s5~fxPGUF@oIe?RyksZ7+@pp4p^mW$iTT9pu(0t%zx{l@nc2xDr2OTnMVxGp zH=S_R31$ZcA!Iyj!^&ZO5hb^p_8ZgrEq*iFZsX7EGGW+%^s)zLVRwr9quw#dOi^Qa zc^`aIyS|D%^xqXzV{@OB>m=w(+*s`*uF+wwh5dFhJE zryDl8J-0i@C^)`u+IJIe-{4w!(rwt9P zW70gbIKs{wU3{k({#=0}7f(C5wU?%yeZpGX5^t~C@kXeP>0%H^E|`Bt`tubT22ly~ zt}`h_{~nBiSf^-Z=X~amPU&_k`;b%NL?BFKXBkEvxRG|)r1yIAbWRm}dTO6PcWXdE zkF}$hp*?&0*UD3!IoYC)??V=5X%*yKT1M;#-kyPYS0P)rZ{iiI2xNrt3kNNxzRKW- z4Hf_^nN%7r6sr-&LBE=TLq?J|gY-AD(BnyC_QxL!#D>9^Ok|Ha2h4n%vPU{UVYbqH z05@mSN&I7YkE$dB@j6Vc<8JVw<{>31KVSW_Z&r0ce%W2XFYD-qA|ZJj5wYmBUI+if z5b1|>JB}m8>q4fDJm@nU%Bn-Tw5#yk@*kC)Lwcb%ht)_WBKrblC1>NZ%s#}&5>m%! za;NAqcFYKD*{cS`m93V>6LJLk9E-R@XE2j}8ikRqy@M-8u^l7ejC4{OcgqI5m}jzACVYi-00UR8$p4- zZB5u-A8E))0l_Tnax8OHM}!;6sb07gYs7m2E~{j?o28VsoN+}ro~5;%tZjWm%&^5q z3)=agii8d<`WHSE*M(YL4!m$XgY8mX;K>TwR8Qirh1JO>c3GE<>r}u>rsyO9|65)! znXu-pyZgH=)sx$zNU?yRk742qVs90&ft8FqGx2-dVI-EeXM^1!^kb|Ps&sV`88HL) zPL=pd^Va=tW~6m{z7s#rlz?%gA__sXq20(p5y$c7Wf$r4{dT#tz}7!cjQkgjNF}y|B;1hFZtK-AO1*!Yj7@?(laNO3xem$$P5pOfh?i=u zA6CN^z9~5s)S;PKl&ja0FRmVfjUCA`?y0NRZ0pEG-C zaxX6@l3ozr%q3kP*6?^cI5%#I?^y8ek{yY$)oYMD#=;LOSF}dh>BRzS!8aLth#Gy$ z%)NI1q*<1j>?}^%FBoBFHbRyU12Ej+9pVrG0!`g+EKGNcq(-i;F1yg9_xAjbLeI z+NcF2dJSo)I}Z;FQuL=X1;rg1U4zcdbuIpKZ}TPtg_0Flq(uon6eHzKtL03;nJ7hc zUW9Fdk(hpN$}jXnpZp>6;Rc`dqAX@GR^FM~*cRn$!Z6Q%7XBqfsa|3$)da72vJycv zy22^q#N{DqxA3CdKa{=1$P^M(O1Gbuv zX`c|XW6sJc^dImz?(1{{{_IpfN6<_L_GNH4=*}#HN$15#qboG!$`#@*xYxeUg9>_Plus?5MIOOiB-!$rJ!oEIy=J2IwlY zXkMZO(#c|t;PB`#;#FXB1YVadOZnDhgAm_e4YkeN@jVjqc9OD3x_X1Gpua3NKuVes zecRpCIh}^__y=7(Wz}BsTc}>qM<>?-JkO5kg2BA9tNcepW%bU;v78x92c@`%{nC8 zc9bht6k9H&gHU8@mNxHBkq*VYG|AfM$4WscGBx1d47oZ%tL*!;c(dQVZUa}@$_InR z>XCa;?r+ooMw)w0brC8f`w zm|%)H%qL!$(d9`uMJ`UB(vC*bIq5yq-u2*Yn&}ynpt0$uNOA8}&Pyjv|08Qj$I+5m zn~rk~J2gZIOQIpCVS!~XL>jTLI`ra2N})R{SL{kmRhp$P>#5|iCu-6vZ4T9 zUDVqxqgMStw7q3eR*fF@O-P7zOLsR&htge=(jC&>El78lbSvH6E#2J>(kbu0)cc(K zJSXOP-gPV89v5AiMl-D@q(Rvk zHq&D4QnH}~G*gK-v5zV;!9o|Ff$Oa#sxLm}WW7nL*0BrKW~BB>ZIIqHCgG|2jU^)$ znTojE?n=eT`d(}=;$kzE8HRWXt4=m7yT;}oK;f`281jQl$nwBC_p^B^4Lk=mDW5lo z#K)mBreCHC?CQw2>_Qf~Y{?&;Q-Wd@Tj*qLvAN?lfEw9RcN_g9`9IYbmd=s5iH8^zO zPy0z3EG^brh()2Obkz^L8DacaGGe!W{4dRQkW;Q2%d;+5Gl z@|jHlI?3#R&ddHsUYW6lwY8m&rM07j>3_9yH2y&%)>&wmu$WIchIo+AHT(F*w$V1F zMf#Osw5bLwYF>1qbR|F{R>YEu6Ay`7s!rD@4B;kmbs2SL;N{J|yaPHjn!B*gU}F5| zba=OzOD^w_-wBBKpO{8Dl{Z@=HyG}kJi%UH^xaT}EQ6UKg-`1JMAqOR%+SQ#YCnv_ zt1s;bfMp_tL-uuZoiE~A{AHMZe(LtF`F!ETwdYTR?~sy~-;i};mlF#{uzVFdyy43kQsnpT;>M&#|Si%0`_4pv{^n(=NgQLXdm zN?Gq^b!Iy-atS9`54DU;NOzM@akw^g30Fec6TOL4aCpw4`Wq{xHfZYXukrlHvgO(x z99Zx(SuSw?Fw7(d`Cs~MiuO~ikd|*Gjm8W*RW;)IIBq0LMaVdUM$iz z4bF;Yx$jN^0Y5^ks<5;6rfSP&o)@8SOvqrHZ|NeQE_JxiEn2j7@&#l?1DWw&7i3l4 zX>bp$QuYFEe|EcDy)fQEE~po%hhLePzDihaF(9JFB+q?YWA%JX_!L3FN)y>1^5r7x z%0T9E_0pAQpLTX(gUD&KIOsROOw+g-dj^-l0|`@mS6-uK!3LcMC1hZouZD1e%dtKi zX*vj!Ln$Q5JduXxxV54gdwhq{KOdQSJ1}<56Tp`#d@N-acs-c>2Va(rQi&F-Mxj8m zlhla0&gmsZ2(4Z28CTBp2A&$QcS=95@&=lk@u(VP9BbM8$@2C^G8=W*=%op3m^*vh zfZF~SlI09;8D(a2aR*>e(L@I?Q9DF;T!`c8+{DdJBospq&5e6;4Tl|3nJe))s)P_; z+y83&#|cL4+I^%A$YrDc)%NF>_zVft!vwFd%~YK?wLeiQ+2nIGWi%N@A8l+^4f|ex z5cbW!5^8*DyNu}-YHz+T*14C1EMXIS{FZ3vqdtjAMn2g7EpEoDN3C%Z0=sMOr(S)2 zol7jpp&qq??j)KXwcsA{0YP}@emf%3>(hAod^6ddr@XUmMa{unCcxp5j9U*SW6F>1 zDNTHlB{JQgI_ZATiBzWOpHf%P9#5P{#6*=$j>5@N&}HlW+C@X(FiL&0*@&Fc5LxZL z8Y<>uEPgHjZ1?CO$kzylD#%`1(W&TX@s0zK|2QE=OYtgh9A8*>IM!v1^ z-LEqsHK4u=W8VaDX7AMh;LIpy|A8|*tXHFRF?&C{X04Y!+!*3Sh!VPEhM6ic;rOvNt!Bonq`6=+VTRZ92Ky zHE9|%z4uuH^=O`e9*vVi7y1U!qsiBu4=Ejlf%f@{k39R@@bkCWruN$9G4cfGgoe;~ z;jif~4x}q`GMiTBEKP+20UdJL`L7G|n{DDd9~f?9e{zeBduDuo59PCzm>XKdb@1X| z8rCh|Z0c=hhZ>|q@)vvAu}~OP^;(SH6Cvkixa7<(*Vj+S7u7pb zF_?sD4pK=$TEo_CxrIC}$JX7aPz=!+1I}MzhGuCV0b?{e! zFq}exGwnbI$q+1zMl{_BX5EZ#yEy4~x!cq5*( zQ%z}57>yYSquqhRXsh_`T&G+5UPdB{gLy?gM(_6Wu@db}itMRr{S_H@wdysmHewjf zLK@iLTsr-8w?GY44>k-`8<={V{ zm8kI=J&z*Q%rbGcnXhY@yN;=EHkJo^3hGYb#MC!{(KAgXusw>|60=wuDy2E(@8t8+ zjVN3KeF*i~*4kBqp;N#ATU*E*LEhG_GMSUH5d8xTw&bKgPLFT3BN~(!IU;pX-g_vn z6tSM1m|zwT`S;;|KA(&3+2V%_mSPEEsgbcoO*i>rP0@GLMVfquQoe@Ha}pmMZ(F>< zyrE!;(v8UC!W{|s`eNW~daFAoq9heu4grFgIYZ#nzU?C!t3Y)ilr`=$lasoE%DxNo zIiV%GNR0}P{_a4j|Mi7vKRHq(BTPE+8&kUih!$Y0G+lGH+pTg>Q5vYoY;8Isv?P^b z`~zhsc3f&Ihou!l?Jkz+;Xyg3k^QP`{L3#7=vWYpcH!N4-Wxjf_qF~jsF@)=P+9;M zAQ6N?vm3(~mfxBbM#sbj>;2}KW#TElGx~LqGg(9&Uo5jTcFAdWEhGIaUG45Cq?}(yPuP`M*rCp^`i$2yo;YLb zR|u(`7v1O-=Dqu&Rf)Z(cO-;2vEk5+sb7ee8F9N8ik@Q&aA zF?x6uw?{b+b_)cyP{c0SkoO3zYzoqs#RzPwJJUh^8T{gIGT5vp>YSoa=`?Awfty7y zoTKGxTqL(~<5O#HMYcU@kcu7zmsL}mcBXJNrS)*8K&}51N*r}kG%D)AT#s##)8m4x zr&t^EJrf`+*MzcV-|#JlGWx0NLj9qciJ^mNW`Vo!bWH_>$@d;+YzzZ?n^8&`N~uaw zLyyaays{KZQ0P;&u6rK;V}C{rAS(m?nc{QRm_fPsYx-=jubb_^G%9B~sw~$BDwA%k zV%Qzv8&qe?49Mj>Ski5aF)&*mxr7HaRJ1dI$ja)ny|TB*Y&rs9(_M|8f5^(!M`zR^ zvhu5(JLrs>nka$gnqmjPzK7QrTodG-Lw8_(0C%w0YI}II(a3r z$@!4Nkfn5kj6Lb1>-)seQ%FY7zROdort8z?JKXrqSl6ynV^&4J^TZ1--cCQK%ySGGi?Ug$7`_~O*5(yLA zWHC?WFCTjAMd3=7Qxehf;|XgwtbEx8iVB}xrM^OZyKrRvDzD?^B>X5Nd0hp0AQy>& zc%sgHmCuAg3LzLR^KmjB72?cRCKj~ z2?=flJf<`RvCH?zk>SaHv!8Y1?My(^u^fosf~W3!_M)9fhw0O`zZrv}aB;4=zt%W4 z-)`anbN8)-A)T{NcBucLP~n`LN2Y0qQmAYg7a~&RBJ&BJlU1-}Uh-3z@RWEjEACDt zztWdZCA|O}k${+XPwe;kFJ9`2_M}jv9)&BhE&AGu7#)wiJSc@&KaQ z5oM+J@`Wc{C&W@8EFn1j7}Pmh47MH}ac&AV{z*6yIAkZUO;x)(W<8s4>NNJGg;WaH z&rU=nlm3_0VnIRWNix2DA#Ogrz8ge^L!@MVkos{GTH~J~PG(hUzi59!7G~Y;b+bVe z-|WiqY9Gt|4poQ&7Y;KK5R9blbD~@iPGVF(72uyPjPh>BLL_0YblSY5)$(xFpH!So zgb*E(cKZQ&38O>p1(8gJ?d++!{qctV0lIQH@{f1IYJ#2L9%%FQxw!cg;zIJJl0pTf zTKQGdg3i?j#h>@%`)V!at^~qsjcOKDSg!#M!qB$K05fuFBxT@8hQKUKHmI;g;coP* zm=X%LoKs;(g_m3BeN7o9Bg0H8>hST+gID%t&=`Ses)@eRroF`i$8icQ zv+S`%=T=X46CQ8SIXnBzv$&)l%k^X>BEw|eWR?`Zb=$sNIj9aaTW>dhtvHy~uUH;+vS(V9 zAv!0|&(^*tG|lIJ+|n2BQAATw_!e&^H;X-a+lTwP+Mj2(Z_raJqH^qDAWQ+Jb1xrvvp$*-l@u(av>Z) zxSdxOvwPK;$LocQgpOs#b(7CLPtBifnB7{+3|bxXu-fZl zrFMbM&*3}M%yjP4-Pwp17kB>T^wXAx=U<~))%V7aX;5HbGMN9b8T-GkRsZv!|KBK< zzY3H243d)5{JD6P3d(fu^nLEbx$;aeCDP7tP%r0F2fcO9qF`g{#pfj`YLFNf$;S46 z-h+)HYz#4iUE(#tX!~XaX>Gv}_-RK)(Zd4-*%q$_u!dA3yZ)J>1(ekxVB?m`2?AK7 z;blG#;y<^!-pVF|VNkSNt0WV{+rYGpI<)ZELMyk%FTKcjt@AT}Ym?^4$x6X$BLU;2 zfX)3Ax}MXB_!xr(3*|9YE_Jv=`C5*Uj!|_V?fn!r8YY8O=7`1eG? zwiL4{Ik`D4K5@};dQ8lU4HHgnJNWyl2D3ky&!RGkZYD$NiS-^2F4=lHxhtZq$8}QI ze#X7<#m(%kNc@@0C#PC6Epp%YLzj~cx+``}`lAHsTf&Nv>zb*T!6-Ew{AD98 zUFi==i|q(P3NqFzoer#fAO8C=Lg03VEi&fSzfi&c)B2t_{xaO3-3yt=b{;}qaK(g~87@K%;;7DGmSF?KZPzx(BDkphv0gjkj zMlzE2OHz#r>b-Bc0XDSld#2{BspwY;W@t7dTI}Jo5N5_g!AwwjVe;v+)Z-Z#^@s|T zdUQB0pyK47L0>kgIGGvQGd%g`?ZR{ZfHgl3$8cwd1vj2^Vh7exIr;#T!eIH%n>T$P#)qz|*wTe{t-j+v0QKN{X?)2;nZVk|`%^@T>Pu z@8R&e)<3}e3QaOWFGHCwz?1s)n;XaMHzNBOyjjm+TD2-A@(7rGiD0wbV}^r78ZqWU zhUP+y*ynNngF96Y?;8w)vFfO|ZKL-6+1{r`-T*ikg2Ax0MSOUX zb3Khj?+IO&lL;tKX1Y)T@cnwL6oOXAY%*xZ6`kc)X|#H>=-ajWWxsh-124$G;QM1s zuQYYh3#fP5Jgq#hZGn50zfh$ob%M==Y^RgEA9%ccO2OmDIpx}8P%;?}luWkpf_zTh z76FpUjqOdfMoKt=zFw>?f5^*%F4`L^v;RZDXoD7=xZN>0_~TRkfJA%#zj z#kLM-GZGSEVWjv##Fu>GqE8OAVL3~B?58AO_03+)un2Mur5JOv{1r{62St;)enpc- zkbr11D=3=m47Mu+iY7}2Dl*8>GrSVyNUuldk&2g6=#91G`q;HyiIzBWM4l<7Kw@tw zdA)|mz_?)Z8b-oU&(qUidFI`4u?wsGo6%I|zeSUa{}D|-VQ`|uKnqUH+%6m?+kWI4 z5khnh%-HELx*7dJ&k=mn2TgXTWQJ#-GO0}#?!uq@A%wNf5fv5$d5VPRg zdNClG%*2s$@l8Ks?Pm1?VDAengiUe}>ww zdy4S$T#Z{#8oms{4De!4+{e2i4DkyBpo^6V4rU1P_7|y*_qHBi5cWd$Dj~CEHQ*b= zUq~Ts0|v36IOIgxr+V zLFs?HSV4I?h8P9Trv0rxxnrqYDUdlkivEVZ4PRP54|4y}Ys@NOM8859H#qxxJzpt& z)Nl@4K1-AW4RGLbO8(&YM*#;uJQr}_>AU#5TICbN!Fw8ouTLeUd5>Z_O9<}YSyA6* zzRm(-|1d3Ifow7cD4U$=GCg7U^ichgsAbyWwVF9K5wQHsEF0P8R&=$a{8xWc64aj@ za|*1@?p<8>d&yO*W$6v9yqhB4+=ExjIz^``??2jj zz`bt^$r7hk78qB1!{QsGFMgdl<`s!2Hz}G#4nn@fGPxa)A)G$QxSoHykf5a`%}HJ# zAKWUOn?0~smBGHGlyJeR(y#HRumzz zTrgCEts>)!!kbJw^IB!Fcf~+~5~eSZi+_yNCAyr`B({U`E;)Z$Y$`DNbSq=i z|4!GYSmX2C9O32qFC||2%E(7hs{$(4mgZ^G=y=4%9&H~Q+GUZ~=Z4_tq|}S+e!|i~ zEQQg!m&rDjM7c&Xug(MH z?vt?3A0&42eLMBE(BFeY@HAn+31t^DFvY{&`O#nhdRQmC;2Xte?0o;D9A=W+yA+0D z@lLuWL#>roZ4aMk5AW6hLe*XCwZ);2^^LAiRuvwz58H>&V4!Q&wtgX=25_zN|DV?? z%KucK{6l-Ochonruy$}TGx)ErySn}2uL7m-ISBazC>Xmx3Z~TXKPedGmwg~~-ebaIFc#FMsl!o0sgZSPJgmW>#eZfz}1J6&#$ly~WMBIVGxx;!! z48K2u#R+F&5^AuqWMG3v916^Vecr=h!q1TID;RFhaahSiin8SCme_^+ryMb{eWb5f z*FvD$%n;j#_$X-R8x0~;x~2d0LTo0Z0Koa7EJ?z1{7||L>k5M~@NZE!rN3_C72886 zY%0nQ$_;X0%ML5GUf${0LtM@TAKqfS^vgv(0Py@MCVl~)Q053(`YnyiS@wDX(sygU zCbma;0>9_L;(yw*;Dv{+@3B>LcuSdpU@muNU#m1<0+M7qvl9Z4Bo3>Md6go4NN6#y z+W|YhNH>vTpneAhsHvE$A1C_2bH_prXWefxS!yV>ssUa^8 ztEv`Yem8jcmN`F+6Z6eCQ>n7k$ON$2=Rscd(oo9pGnW!+2Vl?9x(CP*9f5$K9`|=Y zol+R&rwi7`&SwRNHJF;rJ`hV1_t{s}Ub_t2w#{|DotLq|FM2b~9 z0Wc{KD$Q;&#aRg@0;s8s0#Y1kf+Ybar7*yxG=2PJDbV;O5kFMYj`a5$nCgMUqYP*b zOrrc#RWMh^Rbn@mR3)kei?U?phExnllIZ=CBs2}ulWD^bza$CjFG+&B*X7?dcG6?< zxj({y_jG@oHwtdVgu&Ku&`Q$RfFHFf87YW0rw!S%NiP6deN?m3220R}juO}dv+RTG z1fg8yXMsI1aOMqI8S%qjBdcK1 zI{jHm}YN{URW0b?EFRDe;ot^X2&0fehq@T z+ok$?0G?$)6I-DrGs5{(HSc9J4liE z<~;DW{q9O)eY6Kal>gS1^dS1HE7|4s!Rf_=(vs&d1Kk$EFX&$l^gDo@|4#$`3NX;e zOpCT98A2Y@UIpV-cgIcHAZxW@FpjprPH$Bz)8G&t_E=zPW;^Co3`bTRORrP*a9O!S8 zCL*}~$(7L2C`IFi2BW@ddgFdOF5LJ(k*@zXjSS$x@vo0_@h>qg?&|ng$DKZmEJ|{DA*PmW)J^ElE{!>P~U99Xu`b+ zL|NfP!ov}vtg8RMUYUQWUz>n@_3+0-N7g<0GY9r->o~~aW zB**yv?19+|Um$`nzkj>)=3n=~GX7-`Ebsr1J+Q^3wf>xc-2=n_YYz;_1pj~80|Qy$ z&A&bLt^dPA*KJTPDO6HM{e@*&S5V`?YEJm&p$li|Gh-0G3h}5R|~6 zSi_cTaAd|32tld*8$qf03qgtg8$mgnsAdd8P!hYP_xkv%S%9{QDYpNPpcJ3I@pmG% zzz8K@ph0&;;)pkQ!0eg{fP2FdU)b6>)$i7GFg8~}1tRCyhBz&2)xbT#KL~2oQlKBA z&bLuA|0tK+D0SZhdFbB80irwocm!AB{V>L*0{WWIgX&U!k2i-qZ{6nqUY5*kVH3UJ zK3PKet1OAnPx;$J|DsjBi?K29BrE0Gd<8Hx^t{LNW)v;2I1ZjB2`hWXkDwuzcSK7T z=RLQ;%i>kUk^~e>icn*T0!H)0^84#bY`B?w--Dmczhxj}kF;6Ifm|EWhDI9Y(QjW1(Dn@wZq9O2rWp?G}7*w==%bcxSc%RSh<*<|O{nTEEPm#fwnh}t zPW7%tX8B%I^+L0RXzkUCZ>e`nk)!r|o3O%b#E*TaL^G{kl&~R3H%N1*^-}`qWTqrG zq18u;E{&di5>W#VxA5wTy%Z1W=+{sV;b9+2CKwC#*k!}m1xn{=IuAYSN|j3(+ju*l z*T^omeLH;tMdAUu2=FH(mq-l^)3A32=IUQFj8axz6uEM3}Iwb`XbvxWbDd+4_!Nol{mrv(&=#Q#(z*nd+bHhLC% z4n{hrdUl5Yml9;=omSC8ka}ORG6t>o&<_GuYIJEqR1+73mu|;0+ii?4;xB?@{$#8TsO&$Cn&w-}oSNj($J~^H+<1ZQ%w_kg#mvw}c%5A}Sp_su;{7bXClNCTdqe)PL< ziwH^wGw07WQ7|aPTWnIKv>cd3-m3`eX$0AJ8xNMWOqS}P*T*7YQJeMMBYU6PZ4E5Y zPG5c@%c^HZv`SRvE0^>n?2*$Ip`vFxx_MZeHjjUL#aqhWEfsTD8fChAs|`t%eCZduQK<4!NI>_8o!gOd*Qo^rD2GSmAu-9?^MlLB-frrF!UX3yp)%nQS4x2ebcsWv&r$mdGwhuFhlY)ewJoNnd;8G2PMkJL;dMVcpV%`Z} z%g=riZ{*<$H?kE*D#wW`B=Tc~;HTy^JbroFTqKh~Eq)=#wRT7Bt^o5m8cKJM@a7i) zMABV`0yQLXbB){SRchgKsc+rA-I)S&8om}dqqU%uK8hh~fqwUt5p2+Hj5d6W%>|h+ z4*_DHP2INIY^!I;S*H_!gv;FG&Wkdp)lGWGd8Qqk=kTU+AHJB*m2qAq{MUOs)n!bS zaxX>J7nmeA5gelhIL|nqhjU=m;(>YMy;#mF+()sHqDjem9BEN|YK897F&K(To;{!*T6-nXtKvJ znGfQtSrYMye^~0ge226IH6<`lY+D@!F^h809VRmi+yC&BtL11RE>`2^Z38)s+@!z7 zBYk9DQn(h%nhjGbVxth!)>tCTo&o)39=4k(CbUgxG$f?OGosm!A1MT6TmZ`U4z){w z5ROj%^4*W^N6mrTWYfEbn8MDW#l2RvIoRm3cB`-Z+axDa^d|XddT<;$MCEuhhOpJp zY_ExM0iL#DF3>6udX`D+H$p2q7_2ezhMWA*9*ln2QyRRapP46}|&jzr9r z4`h?wb7tg@oMlLipv`*~qxP{YvSVz<5yYF|F^>EI0&vv9a zsrC)S3bji$6bLv1O~sNSXHF?|SC*_|x_4w#3b>P0>o*G3x#G7U4+6i?`35& zvtj!hTm%B1v)V>&ALYqLl)%57k?+&+zOF{SSE9O{m!`U;mWB^tFmUK)cKac&Z33(5zaU{~N-PZ36Q;~5*`_W04&h$uK-S~|_e|m^ zhNy(f@o4eI^(nY4RjTzqzv;t=(e--#pbbNv-gO_l!qRvz(x#X>saBrvW4iUhU2J|L z{ywpX$LBOiMn)y;p4X)oeH_yXFYQR);5cGoe2(!o?fRi>f#Ap^B$UkXZ6r;e$URv4 zVx%NXx~koj!6<_UstuPSsMLLJwzgPIFZ^9w|yFp7PFdvstUB78NKh z);(!o-p)A%>r01 zKxq+T04OaU^r41CxU}vakMBg*cZ(2IcloS|O(Y3d(T!6QL?vR<4L>~Im#C9=Z{Ex) zd5BTT7OJ+d>vCH%!As#!!AvwAa$eFp^?RwYE31iL6gF4G0HwuCrA;O>{bGI@@=$8$ zEq6h<7oyDCO_2~dP5cJ7IzE6tv15-2zJGeMc=MSDZC}EWpdBbJ;yR(Z5$V!%ssYnp z?hz2-W02uv{wjh92=BFu8hX7q)F0SwMDtyICHgrA ztC10lTc~(exB$(q4`6?z6uz6koJ3_?qq4E04iGSIG~X`E_Yqx;B+r8P(m z7%G*~E24lY(n)mi#;i@rq3F$_`V4@{A1s%bEy8Rh;g5g%$u2l6oCx~uwxBapM}-`k zf|?Z=b{jhe-yyK><>c5qP(qoL4gsYon6&B;2Y1#-Gk2o-yCZ1jz

;86=wUFhvvId#dtqI(Z7%bfSW6;xQON=YT#e@)#mH4^7Z_EpnXfX&L5v?9i+Pz6I~wDG1$%6CF*;q` zyj^(MIWRulTpk;IA2*@CZ4b?BBn|m(?{Ob50qcBj@MEIBtF+oz>};!}^A0+sHWtTQ z-mQGUw{>+oYNzs;#RpQh;3cdN4&x=B4;GGhKdvu*+|F7m0MG)JNEdUQUs5t0*PvbW zwa~=Z>3@O==W={0*PSPT@+`y*^?o3fzI$x%wAk`#bO<<$jXL`wsMP?XDfFQaaM^9J zJ^vggkf|d5wke8nU_-DVnH&YuVtrGqekMi~F@*0+yHaUXt5?8YT{RLGnWh-%|Ls!5 zyZ}dpW>9GnT+IMh^R9bxINsQ$%k~!P)hllcRdEWN>kIHqZ6F5A@V0Z-eza!gsp8G5 zp>)CR!gVn`p)rR%!WEIe!5@=Vi%(iY2m}^k;^t#I@BD*=zqZB*-^`5-QzvIjw~MdG zggufl12unwJP~G!71r93rI6Pm4~cS@d(;RK(gS28Nf49zdU;hPEw!G~(`pZeU%5_P z2dly=4YT4bDy|Nb1BaXgpj_ByI~L387k0MFJeEi&O-KTF!{JhYjd?4Ig60gpB4NEn z6Hr78;#@;=G9#v0Q|@(?t6WBeDgb7!jP@_K6*Zok#5T_0cil1^q%0&YuVOozL_p8^ z6QS%xmI*(&Gg}M@v!`f-%FC0~V9aF1!%}X*38Bi7IrSUH{?>ldvs{;?8dNA6_8e^* zBXT7@U2tTUu*%;|vH-k~bx7;juD^`4Ky-OoDD}*bX$W)(80+bRKI2Zg&C{huuX|Y&UnZl9l$SbkcdHM&$NBAZr~n$u zynUO=D1jMNO$B0?*nGy?@`_(=zkyjL4@f$;_#2zBdtLwawQ0_&HkbZLb2sg90MFf0 zbzdxaB+zJGRpeHNP$I`*_QL*#@&Y9( zy?S-@3E_)j^o-(KG68xxtS!~H1$f`V8gMuGVUb4vy!lm`KP_IdHhs{rII+}Gus>nV z;GMcfcf^M#fSw&-YPqT9^ae3PzgJjWl+Gt~3m~g0o{Ed^uEz~gG%*z3y!s%(W>8=b zY z+WLst8O^f!F<<)3Wy_x|nm?@kQgGgas=X$3)5_kvy!*!jpNq66WN;96rb$cj8eh)7 z-`&9CbN8Ivo+)Tl@*=yrh6@c$(kd&V4ZB5*Sb8eaT?d4I*-*zq@ZV24l&>oVhObRv-6SFFY0d7vJ*2ie+tItvze-Z4;J@+Bvqwea)aci zo*D(SZ9P4A0@A19(ONKC?F&u@KTMav>R?k=MCn5JpsQ|1)fj@&i|B)RZh^Po^J{CP z2bwnc9S@wD(O`7EbSl9~b_*EcX^TU*eXv}E5%Z*WG~REsKa%I#G`}tJNp@?8?3oT7 zjGk7Egn+ZCv`#=Lwd)6(LLw`PZTW66ak?s(7sxhS|+wZXGD+FT1$Gq{(`?YbLQ@csz0ifYE+}#Ut zSD@y?xlXrXGbOVmFGhQIZNc64l6kN9&g+J8PLR?}`*KT`d+y~p0`>mhf3Z?>BhA>I z-RT8VIu%*z&HYzf{?-SlU1^c^AKCoaMGTwe!ne=R+Vjl>oBIS9r!D^^x-P&^($788 zWas0_NUBi}sHj>wN~&AcMl+G`wtP(^PH38l<4pQ^A>DO9$a!ldoqh5l!=Jz$u1vc5 zKS&xY<-1$te*@xlhLYf^WVO2Bqxn^rJ{McS^m>zNCdEb zf4dL%TRNqTf;_lyko1dnuR5cmJjC+q43S}T+fH5%}#1)n21^!KmI?$=j_;O4!lkEAp1GJLa-gf}Rz2;UzM ztK9|?Z3~mbYa3CYki-Y;ugY$N`G$ZRsOO(reCcCRU>K(_= z|LG2^8WatbR}dRwdfNI%+0Fk=)cOhAYnmCr_=oYtU9QT>w(3To@|k0=L?d0)yg%IJDs2PzUqFk?8O? zno8Y*r7b`N6i^xP=Y~SgZpAxf$~0X(u(&z|nuv`pTipsQ(hDwybts){_D4aAZ$_;w zZ3oaIn0eFfD&=5o)YX~hl&wB<&hdmdp;eBkvjE z{SIfz2dlMdp52pg=Hs5P)K{hZ#+rUi+Pf;y(T4XWA(AM#Q&>oAkI8P2mBYm)Ym~%k zRFLIf?g3#8PVqiN_gt4P#UL~-TzNsuZ^$u5YzSU)9=UWOo$laMIPrA;qTXaPa; z|NJOtD#w!)_*g-&8A(%-L5&h+Rl!8-TOlU19^v53zu2LJ1gbehl*!i;B&o6eCRt-Q zIc4QG-ORIYc?c z>wE2Dz<~CW%u|R$@3qfkJ_zSAzgwQyzaZ1km>rZXn#4R!uoGh>j)r zt>7=fP4el3Pj^?Oa%VEHyi;T@K=KQ~P;fIU#1aMC6riks{Jl+fdM;#IO=yD*UBbQ# zV&uxTvLKKXy;*i+x0QBiUAmOms7(Bc2j`;ir05!0+>b;)=a*Zpqw>OgJ8}8-{P{0l z4V)w0JLD)En9_*nl5K#qnEwoczc$4Qrkk%RT`M!<^xhcW---UzFnh{9$2c_O6| z1#>KI@Bj&T)2v?=IwTVZ2^DFdu(ZfoazV z+~zIltftMnb_Kd7^%Gi%qkS!*Tm5`-^&fihK-&<{`i%IdJdE*`;gMEekgLy=Y*vWO zvHHC`6a1%Sy|s?1&npFoeC6ozGc+TL$|moK@v2QD&H(oQgb`2-+5wspFu_S}5V#ms zi!?{Nb$8-ORyv$;ib3#nZi-^m+v25&D@;&{He`WF&kKpM5iE((y8#AuE{sWnUw2De ziF~rO2c3Z|8koN9wbU>swOj?Dorb|7USY!-$RzWoZC)}>x=|)3F>SJu_M#G zScZ%DNm=Kzl6OLqyN+S{BgRyas4mV!CL`B28jxpi75fJ)W#x*{*h#T~VnT;E4)FxL z2!fA^={Zj`Ur-i8K}9k6=AdbYsceL~SEb3H9Q~?;hqgpoS`=9RTF2CEA$>y5-lJ>) z+clHPg|^Z2q?2Y2Ks)hnsY(vQaXy}A$TKRoXA_k%VTChgYVzu2;*Q7?Xrozn7!*vf z==c3fGRd)5)j{a2!zzY2-4O|RJ4LJ89_^ok1b${^D2KDESeih9U1|%uH%?i65W9GjWcrRv zqf*ky#Or*$x4OEl^GSn!MD%7v=v?i0vOUvmPR0I??Z)K7+Zlrv&21QPcGH?xbHCp? zy;E;wv35hPiXg|1zT6_i;e21+sJUcFsFpMM$g$Wld7Bmem{_}c=)dO0*o=C_GFQHd z4$jbCd7_F&dT1L3&y>tBtEIOX>nTI!1>LSvZ-aOd>pKuCk>pFbw#O6w({3O|$y}28 zO8X#K=&Rm3ho3}g6VGI^?N5x18z%&1aoP?2r@zo7W+)pD#3k1T=;>PFHH0Y=_Ra8I*#aZkINKK!4h@5~0MV~j#j z1SN#VwwStm^mhF0&hA#J(=@AhQrwWIG0OZjG&n#!+v^eRp)qj;Zbl)TgIUXJ-R{iT z!>Y44N6uXY_F@jRDPHXJ0|14hqgis!;>cg5a7p{X)=pZ?W?oYFN$Lc~!kmSq^>uSG zCVgT9F(Hf7XjFjTmcUbB=XGMr3b7bm1j@jH6w}D9*5lL1rw(SS<##fwNzEa5+(o@N6)q(tv8_}ZF``!E z7w65*x*OBHNS!Kf#z=kxzNUBt_E9`Kdr^XD-N`5k3gSl&$EM6FztBfu6PCRVrqvJHSefO)6%}fDO z2rr+IZ7E-z11NKo9QZbefIBe{?q-fiY22EK!{1m)rnoPKX&N|Zh5xy*Mp;m3QC7Bt zw>!mQZ7v5_=x`8?1_N%G=HSLvr7|2XK1(&oFsLDY%@}H_Vtp%i>SXfV%!5(iHprAv zY-Qm?oM@K6Y8^K{^tP<3{L<_lE||Cx?y+t{>{GR4BX+I83=Q0E_FX>JpfXG`W|(mu z4_6rti*pRZtD=ZteFwoNZj5$Hn{0XW+$4~P`aYY#(*1Qd*J5Zk!~709zW*3>Nd6Oa z4D}rh&24PWjr8rli9<%_Zr|aDnSp`z@A@mVR4;6>+E6}nN?Nb!DC8QGE0J}+9M7GW zmW5e&S2h~$_2ifm2RuTsW3f3-4g9-Bb!%j29mS(fsHuYGiRwsvGT*!}5AbTjqLu80 zO`Q^>Bz*0cu7W+>PBlS?3T|cX>ALgM~`dSaqxykXecpM zXeEj$3L;R`Cy`vZkCNy*0x8i*j3Im7PWmR#mK?o`zx}_LgpVf6l8WaPH83TAyNt3W zLX+XZpgPd7LY=iy5P#6)L{nt=7WU~Oxv^)bz_w4Fae89l)0z7NMIZrwV<&jAIj5s8T+xO zwUZ(^m}wW%-Hz^8zRg{;`T+EKh{h_3sW7B^W%o?~V)oNk=X@v7T9vtqr3bRHQh}|V zZI1^nYV@&+r|XeukH6JHRC0b$0`zW88-=or4#!e%q*{?6>dg>Lvu3H&?g`-XL7}l~ z(FLAh>RMCLwd|CsikT{lN+T-|QwLh>-7X&Ck;1QOV77CNem*o&%d|K6FT29Qj^kTB z)f4-pz>$Izt``bV(~olzXS=BJ*rWf4v9FAZE8Dil-Q6v?2X}XOg1fs1cL*Nb-Q6L$ zySuwP1PBgarEkC2_r5#2$MM^ZPaMO(-GmE!+z~a`cI5W0zt}r>3E$%& zvKQLmH&-39cbSTRd3AEeIwvqFm9Bjw%)#4zkHvpHcv*{(S7%>YxPPtrMv%+f*X7mu z;JCf4`9RD+g6=q;7kBjbcGWw(wC!v~pyT|2`Ssv-2CA$6`Uqm5NZ=sMGx!iAQvVYq z={vfY=}~dVyq|+ElLqmYIB84#U=+x{b5hD}kxk~jc`c=hWhYRvbv6grO)!`v`Y3;_ z+>$E9$_0{sZK4w^fVLIz*!RdgPm++<5P4qCtsR!j{nA>Je}4N7mV8mKOEDr!!KB;; z@c_yPzKSQh3eNWsf=?lM-d#VY^-5!NODC;gdPly&O3Hn}M72&!p@@dY09h(k@2jLoTnc|uhhKG~XKFRC$Tk0EU74-r0dOZFm z?d~L(c9vA6$&nH_DGM+kn|-p9c0rL>F(NxIr*4$dN+ttLU%WcDX$lJi&oByn6&xrG z0mOHo_dI$rcM_CIi6+djWh+5Oei`?SxD1n-fKZjI%EJ$%X}enbn^yprAbHYK#+hMTcMl>60iRrIcR^oB_22=ErjM6r}?{nI?( zlj84B(*ebynvTrIox)+}YnMg%hJevW(2i*jENAasvO2$K0F zV{(h71N~nYCx=o_W<|WT1jVzG6=QOmems_&l%4VQO+Fs5`}<4OnB}{M9+vP1q%@v* zc#Ni^_y&%ACGQ&_t>~js?+`b9`Bqy0295f%a-}pJ=m&G^HCMeq|cwmkZf}*4*n`(hanc?KsT2pcNdgAcg5?aoIA* z$TFBD{5(I@H{t&6>)evM@B1IRww6pM`;dSLKE?lU3!?w5_TgaWWM};wRX^Pja zX<&{5NS>aT16&@r6XVuJ$F|&^l`w=Nu$rLWC#!l)Gfh^IF(1av2dNQI5n(iao2hss z^xed8Wjoy@aB2bbh;?>JvG;F_dA&%rHvUIJx1>57qjf zvxYdA;~U<^cnY7l!w_mW@aYjFYx>)vXKns=c=|;9+vGZL{&N0MeRG=5L4|{(d!~oE zm+6N@WPFulrzbaXM%NtyN~WI7WYz8%%X@5l=H(ZMX9pA)kvOl60uB=Fk3_J`IfOJ6C98@jdj4M_d>pmPh!SvJf0b6;EuxqVmdnAsyR*odsp zYk*-nU@@)?ghQjCaqGU<+kaNJ=-26%A?u7tDXr~745vH}G0X#R|CpGUxFE7A61Ev$ zy$Xq9w?JC~b3MMQ&&c>P)!3?jke{c`cUE6SuxM_A9Kn&EXH1x^EcMx2>)u{M*Q-6h zY}8~B^O3#x*RMV(H~WW^C-&c7XoXid`fnxn`G2f~!}-e#{i8Y8pMALu?EYp_B*y8; z_c8)X;NH+F+A!*xn1?R~!iZxH9vP#8zEh*(J_t7DeIER{{9-a)o7JDL(>}#1znO9W z0@5981?gq4g5svuf|73Eh+68@B2Kbekg8&LV<0p{Xpl6XPz}gEn4+F#tj4 zf&9nV?1q{XnQ9P%2#I<*ht8Nf_Nml7*%IADnP@vU8Q;Y-y;c3?eSDT)Xf;#pY4tEj zXGG1ntv-g0rVOTVe3bjfg%QTDDN`9FuPqhT6lP~VzKeVH_cOkWV;}ZKDOp8{rbz32 zk)i%)rS*L{1V);2?Y=q)XRvgHue% zFK11eLYnRp2kz$^Q;>XTxG78a&7R$Tr5eIcOZ^3lvjr~hjWTKT{W-rj!LDS}*Bi|A z+cI_?7b&lBm+8%ZtXsv^XZc?^0va!nyTh*?;3X4w?0@UHbu%wq7n9c|uH|J8P_oSh zyO5cl1b`y5=mZ)o^Zd91v+x9ge^u@vCfbT60V+k{|1qEG zKf4Do=~)?A{*9%Bm8I=g1&}(A)FZt>z~;Y1g}0~@$No?N+n*&3XWIm}TM2D!6HrX} z*j#CJZ?IU6AKDuCx_$n24?~2^{HrI!8bf;RgIHt*E4pniG|~FaXAE|Psi<+ODip>Ex@YdDEl2a# zp&?n`7xTo|AfC&ot0Gm0+kENpg_fhCM|4R+L{U0Xe_Vmgy>4*)G&F{6pnwXTVfg9c z636*b0avW0?|n~;59fK}Vt4JH3NNO?CpG7jq~}|`$5|DG(b@6{+KwV|4S`58(%&tO zygnTeox`uf%8@#GnGEf3x4|#T(b^k6N_gct!s>Iytr%^G$$mRx&H2O@)qjnq)ns~g zYD!3y%T1;uaY%SYMOzAUH21Dt1CEFbd*&a6WfdpL@DT@@2YlxzqaY-e+l!3fkYE`v zpxMkXxn_3rw#P;)7PW8hOt`?8G!j~?{)~j9Qr9$G(!0VB=cB|^Qx;di9oPSDQ*0XX zcE|wc6PZQqGos}U8Fa2bf;{chHb1UK(~OPS%4rmvr}v~?>!ZMHaxec;|G~zRi~);H z$!5!yIDXOd8}Y0((w*@6jsYqHgOLT;o9UzEVfJjKKe4v1?pwyXm;LxV8$7> z)RHUdUy$Ju@&1xUOs3^Jn@9OwsDVa}>z7of z!OirQw_X(=AO5e*c%3JACm`y#I#JcYYRd?>;AB>Yi92;bNyP^JhWWuR5uOK0%i8=@r&;?#CGeg zwWU7vq9O*g=~_M$w96)o|2zhd;178(qsp<<>M{r0-vnbHLCuUn&l1U~M;GbxqRhL{ zh#9y&@Kt=~vn{X|np$^PVF|;p)NEK9Ai8H-&Y+D9vcMcGj9Jgv2MzCs!CMgB=zvM{ zhAB<9nAKPc@g7x^?!;I5{TVdR4A>~FRN{zl2wbq2v3TSL`XhzAr2!hawh;`v=9qH# zvn7S|;4PY{-H~cEQfN~j2dUFpB`8`fcy=w$x#w+3)$^AWi+;q}b zNyE!{Ud15VGj6HPRqlP%6w3|qU_v|GQ#+=XEOEubIuO5*G7`Vh!|wPoCR6Pc;g1^a zVIi}6kHk$$JPXQr>@gL#UNC#{zM&4TO%DD*cQcobA4^56)q#Wz?Nf*B>fqv$g9xPv zWT$`(eSz%j;aB7bNM?R)n?9(5)JG4 zlu&^&FIkeHU>Epv9m%q2ts?hY1$AQjSIl8zwsiVXt+BIWScxOV zvd)SL6|4ylgvM*9uC;+(U6=R>HxBw;`*Q+OI>dRLcj~7d*5S2S`hAqo_Kj#_xj!q$ zVQ0>a8u($fXsEPV^JA^Vc6GzKd^AVRVG3pj?KB<>cWi-~n`i6&> z6WFd{hg>BM-iDxp>Y{UMhlIkS+5%$Z=2r7nui$MY>FF>r9W1BtKiZ(tG-_?xm&}o zqfE4}G67S7t?}Y_7p> ztc`ip&WK8=j@`#qyypv>HsNmt^enlBR3)ovr!a9(qrpiKJiIMm}1&%&Qb z?ol{jCk+^z(!o1Nx-~NW?<64{FzhIM6LW+ZLGbV8q1IxzVIHY>08OWmZr39g$3NWdh(Y}_=KSbCEU*c^2n%^? zB*TTyI3Eu|10@&>!CY0aUCysXR0ZgB!^r6Cb;YGsXl~20b?#`yVy8FrSYWShMBlsM z4~iEOHn{i0q=PFmTbs^u5xUxoVfY0MQi3qe!V&|!#fDdW#(ERc(P?U8+7)xK56|Ds zK5t5oLi99l)!OaTIn&93z7LOUiUw$<_HJq_Ctl=?d=0?fqA0n!y=@Hjs&B*GdjF$* zLeEg@2FNKKfVQb%YpG`{b1 zo5-LdMjgbA0jUtbH2Ee_8Y5rYwgcu>a~e%4h%*sVm}bz8R8?U$&1WGk7e}q)$son# zMx9=qNqqN(TN+=wPo?kSeQFfmSMFT3v)4yOKL~UxJwG%M zs}~_ZG^XDB5)Hjl57V+9u6fQqSHW)2tzB=_^W;q+)Sd(B2|H%YIUKJ7@2-Hno$yv2d-q18u)p?le-_vSPy)e{SB=CO=xnrqTRze4%U6nIQI4BQ~dlyNW4j5^>03r39L*ATw4!c8F9;0cZEoYH8`yqXY3KWS+&g z){z4b^r6s4F<8*MLxI zL!X~laJG^Cs1l)kei4pOHQ`vVSl()}$Cl+DU4SgQi!M8}k+rtd!zIHO%~#qE#)^*L zS#ON(!bH>#G!h*?u}YrD&l}$tkWM}JIZKadqm(};M$DMIhLFB>+Nsj9(P3nW z8Cg?6yzt0t2R03)aTpG^fQP3O<7KHjRx^E=<|acgV59Kd{Pcgw(Q9y@>z-Y;51VYu zzSEaU^WbkFN2@qW&K1gat^hkLkNG2q!1kL-LkHj=5d)|a{`(}h|NKWVG3hxO*#6Bw z!bL^)cdBK_RW;TDn4(srf8wgHL99m(k!HaHh!A-y8%8v~b+KyjDUWy zD%ea&Vd&>JifpODFU93C2)o=~r2>blBi{9n% z2!aU%CnNzY`$7v9K?a#9tD_K%NIJ$*B)?SbC_AY+JL8$$D^))ap{cEbtT+B&(fA6< zMIHHvlZH;WD0_TW6)3m?qe5??z|b+?-!2@5fP2P%YJKYIWRyyEX)d*hvI>hY8;gp^ zs=sWk3x<1hG6^Rd__bK~uD^WoagH!~w4$F8HTWiYMT`4p@dm3aLHG7+oZuLrXj^>~ z4}sN#AX|5N4gsz_eB0Q=lV2Xl$GNi(?c9;(EaiY^>7c8L_u!y3Qw#w+a5z>RXM(D4zw>N;l&C z9mXL2Ez(oX5guzNnfQF~P@SV?q9X!J@Mv(ukrw-QGi>;Wus~0PoGR2VPoXtyWL#(D z&6iag}DaR*6LwdidCdSSYp9#S7 zt_mR0`1dp9KdA>m<3dC8znLJ3sIodRxJ1lB#{TI89wumEI@s-@SYwu^ zFy=Fa1#M=~b+22>3(Smgx)eX*%gQ&)J#^j<&v5;c#)UnjT z0`t8CW;G+MSd**=wh-vn1q%yuT-N0C1ZZICkCL&8Tc#t_f8vo=|7zZq&9~LP>4Ciu z`wM8ZS4u;A{utC8t<(PaQz_LQ4F0mqx$De<4=;1xa8r)SVFif`UIVO4p9OLW=25vH zOLO4>a?no@ttL85W9I77l$dR_~--4yHh=+kSP-fP%x<<{Y3 zlze*yo6J-yDzv0{Ls)ch@{q1)S)jjj$J_=rT|7{{!jTHXf?`3E@9V1894=hOfQ_Bg#A&c36!lBdrQHMwm5LO^BMI z4OS3nRv;pr%?kXAtQ3|gG`R1F2$t?fZ!hkaeEWfMRBbK?fBP(#-Loxr?W3!Ph`SJI zb&tcla^IN8pQ{vnr)TJrW|>&615Mazo*u8PeC3}b zb|&%F)&vD%k$l9-9xb3<;Bs9(q#oM~w5DX7tGHXfS}{wPQW^E**+cd0+cZ;B(c2}V zQb#}u96+8(HXK~Za!s8nW zc=~<$$NqtYf6+Jp9%M1nV`JrD{5!qX-$9l+K#*m!n&Tc-#bSZ9d$iNVL`cw5KnnuZ zxeRZ}s*=nVojaYR-}lICQc8nFS44GX zU;adk2X330sHG#_Rt{yVdNA>j$EHNXBsQ1IPOS!Ar_IIo^=NsU(|1R`vY}9Kauz+K z8@a@3Nev4ma)^pg_$wDd-@((#9Ia;kwD!0~zYS-mAyIQN>Q-E zcHz?di{Gke!l-7kyF1awp|-huuD)5{yoZ&AmqHADiclyj4MqilI~tT|BqN+{sV3{g zN${X~LR++~Y%LS1qQ>r})yQ+g8a^oQ8TI%MMYbJm!iAr0UN?0 zhaQ(j?B7YniGj)OknL87mN0Tf3PDhdsl6$sveO!HMx7kqG>@c2vkqDMb>+uI^64}} zv9J*NHBSWSu;F3It0>Tk3s5;WeZdkDJelwKFOg4ZyK2KK5 z4}>E0D1khoB_kW)?azUDeCYJ^KhX^`Eo-3nb>uGwJ*~6OIxvR5p4bMZKKH3I8L=nQ zmn^<7Pv)63ai<13U<4Om@@Hp_>-pY1X6NBQ(s&7fO1lz~o@`IBbn>!z6c+C6NZ+2Z zToY{zYaL3fjG9@JM1*J;6qO7 zUP8^6)E{@XT$3NGOIpt$=z$FbtCGVcH+wD>SG^vY3&~V4M-R>ydVR*&hU5O*?V1!yB-4{d?u|{!_Nmc5PfHP|Q{$_v6NqimBizr6LId;QL zz_W_@X}x=*{)!*)fQ5w82S{l%0Vbr%KTgR1eBgf8vovu1n+I;AnyeizJ5tAyI-GMI zxMb3NL6etL#t-yuYOxA5^F5**S8*Dyw*906YgoZ|&#mv}iFj?I9>*iAJJ%DQx1zq@ zg7Y)(p>m~rZ;p3QY8x&dhAJionF!_7S>VcKxA@%Em0^Q7`YDlOs(5ruOPKk_FkA^y zvXGa0OBpAHlgC0PJzSRUuO78d?T(9(=-cxi*{M0OY|i#B-mVhKmV#a7juWyfxXVN7 z8<%ih7S5{|C_RY{#f?W94Y}iKYmFly5_7zF-UG;&-@Ig{B{HUb@{RiUw1>7GVKRE6T0Xa~s25G3A}NAtF9-96SvLbs-c@tU*F;uyP`QnX|?ziU=Nl%5DiY z;$BoDy_%yib)@!8CQ|Xb=@|@G>H4lZ@j)te^GaD}NYEEaRjd-A`{1U=Es2Y>0vdFF z4mH7Uh+674qQq4Re3V`KI1Y}gN?6{S+gj%Ul5TjVTO@AQHRzq3pHYa3&jKg zGdGquSP2GYxAM@0;8@IS8zeczML!)P$0=ee|0OnRZI5tB7BcE_b^WLQfiP1>Q1#%_-fOw*7h^*kg*8S5AatzB?jBrH2YpAQhhK~` z2)b_Uoo5L8oZ8yL)-*L`89KG$g( z3DAh{IlJB)Z2I45U3q@b_)OOtE!a8aaeG%0>~;I=`StD2lFyqxqWg|Y$@SMJMIB)& zGhP7UJDgbEcd7BaF55L+r|VyWv)N2h1J_?Q@~cK_1NEVO*R%2Dl_EdiTR8HhkY;~G zvT|a>OzszKIOJ##8=5xXaw2D^Hn`~|AGe5(6n_nHy~=CwF&&FzJ^{hDcP=f4i`vSQ zi3T^JH!cXoJDN@P(FtMU`gzqS)l$=DKdbxwb{(fEu;$I0arZgSt^#qV?@4Zr^zbj_lx0jx4JLXt1xbA-!+vISePShU~6rv^8xO&s!)P)S~putyR*4XmYKIkScwmD%PC& z=;T(a#UDD+)EA1a8QSaMeMqX72SPA*1p?)u4A#;uKeHxBAR&+N%8ha!>)ql~1^WpT zm8j{ytJsYBO$zOp3X>EJ0!z3fHMA7P3Zia$@*=;=dvV;^?sKxynfdhdl|3vmy z#2%7fvXQz;DA3J|OBENQEKgR=16Jq^D`hbG!eF%)1a)qxh&>JvgGz1652=L0nZnot z=dlsI0T_c@EOKPh*e;wNTFld;7bnZW?W`iSsmddCTxuNbbDH7eeZZ^&XYLtO+G3dhi5#hLvTKebKhNYSr(-=~< z7xy<;8MxOw9czO|rvbeT=~xej%h(g#)4XZRFe7k=NhEf{XJ}EbyQTM44TKMMCTmgZ{zo!fj{6*z z{74Ny8s;m8iF@4P>f1i7aq-w)8X3Osh1;i%C0K9H>sdu7yzGmbPdQa?6p1ST+PLbr zFZ>Y_gDFIPrcYUdjAO1d&}V?l6>kjIN1i?B(ikHmcM+j%r4&nz>#_~b>M`Dm9CZCQkGk94aHmuaV!@^&^R;Q4%Z{j&yI8rfW;&a!N1PVofHJj!jb0QiGj`EcXju-Bs%6rfk zUBqqvS2zgm6;qJ-;%=QOH>6obxdI!pN4nrOyM#e*fH=Hh=)x{N%~#tOQNwy;q!QWZ z+G&^Gx-d6_cCV47pllWAcAUe0!CKQ%(NAkiVjp$ZuC=SMn{{qwa^IKSEO+S>1oza> zj3umCxE+h5gFE@S<=(gZ9ye{*5?%=&-2`Gl&#&}+yWr9jEy|!^Uuse)JswV>qvPXC z(^&k~2P7l6Pm#ZSes|a68tK%P*uS zj=wI-$E9i88*{Qc6cEh_F`hOzkDe!qsi-QQZ{NoMxeO#ak4;JdP&`iX|3vfr+nxS@ zdy)QKHqn9V*6$QMpDR6w-O@yJNb@<(U-Lcld4d5_WfnB(j+vjn$es_o3Mejoc$?u; z(p9Xzkc#wfJhcIeF1Jsha)@UkoO64eh|LD9dsOmI#%ZS#FkBVCRs*I9gCcHj0lVv@ zW)G!?|K{u`B&?nk$*NfFZxmORti3q+xqnJ4edKmk|Zp+W*HfCFUL@&SAr#(;5Z_fjEV0QM1~{@ zJR;OMR)IWMVn2$~KsiX^09r|xlqvWdP?WZXWy(v@(L6%Ns}bRvhG(B3%drl^(lG*Z z!uZ)GY%1VE1TK-dTgz!7geG6)NKNsr^gDJ5XM%)qE~%O*s(skIYYS!2o+-LQm+)nZ z6=NjoK%~?IxRgnWLGlk?Il4Zpa>v94dchbA`U2_{Ro(Q!(^o9grJM%e!R8UQdG!p$ zZ10vZlW3|aa_C02s=K(vD=IhM6w({UPRCPtUl4UidT0L=-@J9P(px7Au}4?$kx{1N z8{eD(v7}lI@Hti_gV!1&Qh5|@af%tJ*HuUS4RKSfKFm_h(Dwb46dC&7~Sa zs%j`3-N5~k56vnvcRzdFNF+_}xCBL^!t;aQ;~oC@+Rc1V?d2LkmTLWDfQj@kGUZQy z$;i&u(#6)u*}~O8kAsDi@$ZV^qy9`=1$a-p%33oBWj2;iO+75Rl~gz?X=>EQ8KCW) zuEyLac^0$pgYTO@Ba^OvXvb&zUFJEj~=EvvFQn)SCMBIWc9{&*;;XbHBeHd&E5nbu~ zN>9qGLh;$MKhl+CV+6M>*uboUG2msq(#Y7}D2i3ebc1%T^b1tvu8wnSvRS6O*+z1F zgzeRC+0sc?m(TsPbfmlkae{rLg4^}p@Lp4=!GZ!`&}G?!1a7rmT0tWl5ID60#AEy_`_rbo`GnjsED-s`1(6A2WI;MqSCGiGVo z4wp%1TafI0D1l9u^2u8^pil#=V1gBgm-)24FU3;EP;%Lk!?WX{1 zQ#TxzC^O6&h!*yh9BuY{+^OKP92(bpTp&7o!!N<~aoh3p_byR+k!6o^{!5J_%X2IT zvH$_dd5WJ3q%n=Z$SSE$7|IEF$}hDdauO^2`u!yx;SJ_aBE3*TzNNt;k`hv(R~Z{e z9V$5ucb8$F@fa1iRb*(7L=s7$p(mGzf?71hRWF*KrL8wgtP*oMbjX{yI{Q&%fksjp z(=1K?kJ^N~rKq#mmoYx?fAm0?nvdh+1F$P;|2RYclU@0(!{qcg>`JAYtP@~817KIq zkEd&SP^3p4EvYEfYl|oQ%P8s)Z8Am#_N7FGfZ%{M7ma^zwE>wc7VUFcIH5Eyd%yfb zeS8MV>8nSG%rzP}d{ktdJK-dzNs@9(hxIirgxckv51}~;4x~g78Ugbdv3BKyBN?+% z9Q!fwUeTYx@D=8WwoyvB(xl8i|LaI)T>+C~VgqYUo%!p|&Q3xnF*YFqi1raw-lANl zDAl+-OASl_Jtl{tz(^ayi=m!Q~#CUfPq59DVfjy`U2nMBs<~9mef@Y#| zdXG|l=xB&)DQHA?10OL}B$vIO#qla-H+m_;Q`M4Fa7dMI^!=5LnPAdNHi*8Cp84K_eG%V7kci zWiB{s_%=O^khIRuiBt`>bU!KASd!!k@5kUbc-n(&iZ&YsO=`g6f&F?jJp_{OyL;=FxW6~1GdR`6nVYaTb4R@b@S(;6@HWKw(JM~9i$c}PwpHmg5p4{R>J-BRWTni)N9<)o)* zRpzK&h*tSuTEnF)mzlaiOv%=aAcAv?w+T5{q>Srdd&$4z?RyUp!25h_vCH{BlRf+_ zIp3pP=!kpSwRl<>@%S^=rf*Q|<7MCny3tvjwb%S75uPZQ804S(1VjjPT^Se+94$G? zslGaFu0A~*!&6F?1)#+okBi$a3szco1RhuR57V>nD+n4Qj=N9H#kC_XuWFP6BlDiwW)^m*4sxUMVjgj$RDPwAT*dt9 z#uYpJo7xhMM(2!Js|~Vs26f(7ipWGw@SW{e%;0cz5{XO4Qp!S&K&(c&*4L7xjDrNW zhXzzObFNIZBZFdL=VE3-07rsd>razH^Nsd%;(&7U>`A+{{Xx_0Y(1L0t1L^LecAfv zD%38A$)>H4aTkxI@RJ^i!1W#2*)*T`GQ^d19@#4voF!k*W@z?esb$y)gwkgv=RwmjG^%l6$A}A^gPyMwI=zJnFzlM3t|(^=t9Y*)E)Y z(RS7%prQ;UdpwuH+#_g|y+&PiktW%Kq;-b+%SCEym&01B*H7 zbMPF6GrK~hDchNoZh1&4TSf}0eqBP;ksL)R&Z7mZU$Be}Kewq}_ABAzKkKu@XcT6* z`H@{T^>#mNq?165y29meh`0zqE-7>>)aq7zd6c?$;Li;5&}P^?wy!6&`{k=}R&SNu zIwN!22RouP@m4kQov24}@8;Jc=m0y1Pz9}%Gt7wl$oOzTY8tKPF9`1W6Ky-opTRl> zs4#ud{e?I*cFMV@YSXPh#}Y@ulj!+8%Uv!Q=oTaxo5|=SBMQu$zB09@H-UEZu@Ux! zhCZBRzcXS6=uSUTd^t1{T}V1zdc+zDA%71AvWh}u9$|xdQE_}On@BEON1an^sqb+p zaz9wX`p}8oUNx3(ED0A7G1AFFeDLUA9kmt;`jU#|ArE~z{NOLnuw41ToeDjm_~VH8 zlNZ_-?cSx2&pYuxYw^5P4qv%)Z}_H5s~>Yohz7-`#q-O5vKU`^0snI5o!|cn)i6Wr z(fa)UN6|UXYEbugfYUMbmipNd%rbtb-6Wh*CoJDo))5Ddu%kywzqDa>4!oUVH)`x^#9`ckQU?P{=6+M8prvr--M}fqTRIy}%BJ&dO|U z{@_pptahIl(;AQ7bE@#*M0|6|rTsa>%LT z6_ZCR$A)TO@MhuGQ0#VRg@JlfBb>MJfEC|ivNbYc$oLp2(-;YUz}?D7>|%xq3Ohk?I0sG$!UTzl zvJWizuZ_U(g4pCg{yg$~BM5GkvFG<`e{K*ND}+GP|Fr=@9LTiIxJ|!JyG^}KxlO)J zx=pf8v`w&$w~e!nwT-cjwvDolw2iP0w+*umwGFWiwhb~39XQ4`=8x77W63|?|9PPNgBWZ%R4`eyOL6|YAE))vm!w~nGnuLc)2IK9 z8R>Dq5b!(;4B#b%TumoLYjERd8A*Lga&M^DQ|i^MkP|nsHBDsv=TIv`jA}oBs8XP#icU zgfBIz;#a7=e>5p6GGoR^9}%?Q&TBUK$fK_#e%x!DxWLC10q|RwC)nM`CGzw~n;DMX zRzMhB%b8lYNXWViw``Lg#|td#5=F>^GLI4lmFB z6oKx2OtENaFqzAU0@;QAYq zenV52OFUOB@R>SeEbxo^^r-bl4#60uxd~bW6O1M{I4U+0(Eoy8<=Si*9F!m6r~Y5) zUYs}EL3Aj4c{DFqXV2R3j=q@S)BU{JsW{ugq%B`KIlfk4Rr8#bOeV~K&0 z7=Od`*!0`n)7<^s&D_P@$=t!*&fLb_%G|=-%-qD>$lSnO&s@h`%Ut7J?Of$t>0IGl zZeQk@d+j~aqz9B4Z%{n}K>kGk=r7o~81Du>*Z#5mU(g=FjY);g8BELsCKj3y>v>}p(pgWGR- z{Cy~8*l&gg04wZw`*OdHqXz)%u3QQ?7;+~4cL0zA0gebV2+Loh-7($mSN-eIAA5TM zL+SU&MZN<~$G83KdcWUt1Fnw(uakUms_hVmussFmrJWNm-7#&meT3}89cxU{Lc^i*RQ(#rM3<1 zO0RwXU$D8c0K@a=Km^wlh>NFFG!qiSw)!-2&`c6|e-QrWC#wcwxi$gJN1@I?EgJr< zR`0(Q;Ee1X?E!9tfw76LofDw7jh)TkMS2sz3t9y-q74DOiI|K=5iLPa8rx}tL*v#l zsn{F~TvHjzS$L|q%ZL%R)e(d?(ipwXk0DP^c_1V!BwC=-X93PqG#iV`)Z;SE;XO&! zg4|36k;MSieR$y6%V6W@ZW}qb^&LdRcFx!OSdo%y)l)7-}yVaxlmSRLk#P0=dU z9=TzDBRa*_-8=(su?-<&1Vch`A4Y~gePnXj$YR0o?Je&imtThN9=dTkaLuo|FE;EL zWo`B@5L%2gh6%#c#Wx5y_PECMq>Z-+Ug)?P3&raa{qxXY-ucNT7fSKlbT6+}?^1a8 zr_RP(^sOF}c9mPA*!^bBqrIKRd7S!%6H}k ziv>tKX9RG?f1gzQ`LD&>f7!vt#M;0XF!*}*2G+k9b>;?+#((41CB_Qc1u$ZTT)l@g z@J0aRA-B-kLK7Gp*NnjtN1<6PD$TiSeY@$Zw!)uD#dkfQyYl|oap3^sXC6odT;Pho z^Fu8tHnS+Nn$zG1CImiXU)nr=5`3Bu1>+j5q|1y>)J#=imEU~_vD8`*^K$9PsuYhQYmdZr?bSmBQRq>9`63Q`%G2#6 zq&>@~VC{Cyb9(HI?WY7;YXg(<9VI!FK+!OhJve@hxg>QZ40q4nHCN`-w`{mVr@*Q?uxz31` zy}6?B;+Q?h)$RB>!xl1r>F&3x%%afH%fczf`ocAEZATakEih$XcH=GcGVE+%0nzjv zrs$-R{*k)YGX;q}M(wLiXTtTnm&TuRd!fl}w)f*5;I+d1DmGQrst_=%Di{}rM$tFc zM(jL+_^+%Td4A?IoK>N^lre&n91l)DE`t?j{X0dVW(Az!Wv+TF%hd@DX#0F=KhVC^ z#cnb=7CEJwifBPmTcf_2PsfP=Zf?Fnz)YaflQx}IWw2Y9$99DU%W&!6CgRW zU^=TA%RcX&s(%FNh;4JQzv@As5YVWUhbA@{%*=?V)y;f9c)2Fz#MMrJ`Fv;R?!nCY zBKZvwAq2$YUuYl*`XXgNaD)x_bP96eS9JY==YCWg8-6f0IC2U3%OE^_h!1^ysbtkh zg?8(j*=}g(ld{Q z_nX61QxwrxNc+1F>o0F~etc!C5%{UlrR$?*-!tF5x~W4NiM`Y3fk< z(FBR2kL-8(f>Qdxgsa`*OW;H00hTfFc(Kf}zp0{d7lws7r3qF^?+JlwG@k8np1e}+ zT=B~_1w|v-OzD3 zsJTVrX;S?u56+MBs=J&n->51#RPzK5i)jiq8ml8JQ6N3}Lx_TmgS(aRS95(^{uQk2 z!?V*93U8=4Sq+w*(-699MhA7u4kPBLBhXndcmev7*+T;kW8^L&{8kmaLg6dpa5UwFP^fN@b;O!Tij_Ld5b{$3*BR^<|`6Q#rsC9uJCNmUvH5)i9uhkiW& zGanPQ6-Y)s4*K~|@^R&3IjYsC=PN>)N^>vlsyN`st5#TgV=UcY`<}qB6m|2!*dT@z zlyR!1d$s$`drWBk9)9aFwU`Br{DbweDn}P7csRgqrab*_s0|=rQ$TBvZ^W`u(=Qi? zJ*Vd!5e`lP_F9=NFnP}LqZ|WXn0>bXeZg#J7kqB*&Vw!cxyj~Z2a0@+``m#p{Xe(c z(Y-({>*cO-Vo`30S$fikJ(=oOgMj>XY4|#xh5SMD#%|+Nie{X| zcO&BFn_7;*P!cWl)^iCNLjwiHSq9pRbmT`QhF(jb%o4x9(iKr~#T9xf?G(#+TPQP) zHj4uejrKxTV=o*BO|vk+u*!aiQFO*|9n)7FM8YFH3}&1$J|$Z{%aN?+ z0mwJv)GRvi!j$f8ozcs?ZKEO+qRg?4T*ET^=qKy7^x^MG&*$;qxQBm)JPz&Z5I>u6 zIhc5Qj;-(W6qS}=AoBx{8+W-YD6l&49_Z%)f8Cz%(cl-DzpDQx(SzqW2qGr2$KToB zL{P2TVJlX49Z!JxkT-&jqP1{~! zf1tOaJS~UBB4aPQ=JMO1_;KDA7g>B~)aGQgJZeh_fWyBFyhGxerT-BTpY0l4a0^H* z1b{DI|K2JJ;Umem0JyTv|7tb%Ux1MR5Bm2{q9ZZtSN7OksDCLN?qd*Uf;G~VyxWMV z7RZrPDgtDRBD1kTwkKDcTEkJ*Ql8kJ9-pMVY-cnEnxTa!9esVT!)N$dcI1C}5ueRP zdvP^&d3)yZzHi}hvBJ4oG|hGgOFNpg4Q?5-Io4yWA-y&5dgA@M};f1hdeACTj^C8ar3ZqwkROqLpl4~1x%s{gmXM1!v?m8G&o)5!fMXVw|@ggw} zjIK00ckn1>eJ^*aX1>RI<1IHBm8i%ijeyHQhj(_|16Na$$-Q=hE!b68!MUBNOSOTZ zSMJ|;n{CBg!gX#D6KVMYF|#hnfzUcTNsTwn9lGFKiX3o-k4`e5l+zRV2|kMkKAodv z)F&>aT?A)R`ovo?>|Hm{H^W&BEV9wjua;Kc?kI0>kd$3zLjzYJ#Gl*96WtzYeJSgLlkClaoxj)Bf&$43;rx5k4N-UqFy08eagTT5$gP5gJ{ z(;<<^6ZupwVSlz@j%BW5%}$GJ1<2PRf{AI5k&ZmIj*(n%r~F+p=%pdel5nh^$XEio zmuB!2D?Gg<4EtZBE9C;_=~`X`s)j)C4AIqWO_WeiUang#+aC_Od$EEg;+(VEYPykX zU?(T^Nw*i8W50PrAxft?ihr@k=j_}L7~=ix2Wk7=ljL%(uWwvyH(S|Q`}w|az6(<^ zz%~1SJ*0WfZN$?q7)wm|YqejVHBIep3*SMOPH)%Z1g} zelC76NeFJORjVl!YNjhg&_?r=;i-s=v8i`D)b!t~Nd|ey=*{-|j|YXe2gI@hpb3@( z{cm~H|DV3g#A4uLV*3xd()YwUn+-<9;hi@PT)%Z;luK8f27? z(RnNxea4cnx9P^LR9o*Rzvq{QvtI9RAjxLw{D5C?0Hc)KdD1jKv||i5ZdG>l;3kmI zn3$DA;_R7uU~VI(#H%OnE^N)&{%A#rY>rE06szF%(z!A4D(2XsFgA8mVQt`La|I9iXInvq1z@_okf1NH_o9#y8=hakx zH^)8ZQD_=s^%a=fzB<-onu%h~@*Twx0Ph)4=D{1D+wLb38HTvjABY%VIk*nLgB8(0 zaO~;m*dl|?qo2`3^;$dS-gdrjdF^s*)b(Ab@2hceyQs^ugne!}35)eReS%M9Ju(Y0 z75S2;*b^wEj4GV@(m0G7GDHzvY}u=S0*BG;O2nply&mq47Fwg2%1&CsFTV9~9=qQ@ zTE@f0)5}XG(GN@-QCKm!wKnkJv#z~0(uH#idW$Oio5DSV5!zD+$mECs4U&J(rT@n} zz-ZuNX7dm4z?2%mM4bx&T&%;qn-2hLP(`*OG807hCnZ z<1nnhN=Ak-cUCMeos2i*v%_KXb|1$91ed{P_zmtPRqCc|P_Af7sX%>Lx^H^0aK#f= zpb#MYj(F+r%~UQHOVp^TOJ+7HQ#YRfu&QOtlp>QckRsXBP_N)JB$C3_w%XBfrcHcw z$kSe`yN5*Y)H6}7Re%n^clr8zhI|vcXCQIg!xcDxDRb^CURIkfAdBn|+kBnatIpxC zOqi|$@b!G@!%NUc*8=$hNBm9w=fv@d;fZF&0by#_Nc50t&b)f0Nn}u9ujYZxLvQKvX8e?(5Vy`JATD%Hz|Ol+R9+(l{*yTBkA=5~Zqq}~vVq~SGG-HYXJ z^`R|jOEL8nyZRC%#Q^wfDqT$qw&VbDV@0_X+heiA~aUoRP#>HF?dyo931 z2~*$Y$CpYa8g^}SNnM?{!Q5SQNNkSqOA3T3fR4U`RB)z$Q9V-^d zgq7Ip9~w$a&)Z`zkJ5ic^HYo;z}Zx@$6&trd`#%vhWN0@30_!xzt;;664;ngIu$KZ zw+ESUsh%)cfsaqiLnm-3yYD)iq6Hdk%U{c+z*zDN6|a+c&A-F&WQ0>&*q+T#nJjU4 zY&~VeQAPco7>`j321Q3E_nRJrT}NadZ(xTpczvdazl&e{nR(>Yb0{@dh;$D|EwSQOtq!5?Y2+h8f?u}FIeWWRRr7>25 z#JuDU)VNEH*$gA|r|P{NQg_qdd9gSZ_lzm>Uc&Ciz{*tsvplAm-@svz?-d>a8vkz# zwH5!0+F2aCTvtX>=9$+<5uL-48N5k*^bysDok+`Df25D~h5F+4H)@4S-vPlfk_hKp>U*g%@t{5USTbp+ZUkha9Z_PV z+qm5hm_U5!EflPqiBbm(x>f+2te(k{I%c8%HV%QWzfoQgcKm^TfOxR`ue_E2KgtWh zp>zDFt!pU2KnsTn(dVX4^C&`8svV|;*fUBJiGoN_Zd61nB-(+&;&x=|DKr=HtH;Iw z5=m_-?UY%6=DONKzYoY&bUP5rHJfHWyzIPU0f8_H$0U?NjrU%=RaRS( zB@`)RhG8E4_rL@mIWPP%nzIrlJVvy)iIK+9`AFPAg-aOBF;h5(HEi12Z;#BW<1YN+ zqNwjZ+ibof+-HwKr7ax771|_|@z{`y-GQD(E;gtGN`$9DwyJ8_L%57lKLwRB6lJ5n z!neScY#XI$b5|w4t8Cey5e@OT%AQCN zjA?J{>Cd!D5&Fn)bf~PG{ffd1R0H5_+Q#LwY7?AGh=xkW3+%>HY|EqXf5s>mkIb>aX?T^mU*HWr zCR!37H%`B^_gYaeHm5 zLAWUo-O+l&*M}nggO$~DVzO5dHFNg3)1S{3wDx$lRVcEn^Th&ncBHP_FlJG^wqxNv zzV`g`5_jpAu%#6J>q}m<&zG-7vJ$LTJ7qg6@$~b zmRhRyY|_Na{-%MrA(KK>g{zC5mvco?O)Z7xk<1w=n|%`7)j@h52fW{g!85 z8c$;e*i~#yN_J4^&c8SHpe;)k9UKp>d9E*3BRZWx6DH3kTiJuTJoF#3O=YN#&B)X} z#U`?dX$2d0JI*oVnrkYAi4@W#!7yttnGRtK?bS9M{W#;T5l`Nl5f91tBf+aFR(!#l zYjMrB+VRp6!mZ-{v!x{9P#t;;OGB|`Sb*Wh>0?<`-bu-E_TY$V8#0rkn0VLxDVIDc zgFmR^PY&uxU~s@cH?Bz?^BB#3CMk?ZnyzykD#iu)<;YTxxQnYZC>~y4>VCOOp?r~z~k?s zmp{KB-d7gx81AF)4)?bX-}f(1?z#Y+MtXHi{vFpl5?>yu*&c?%YuKPuuhsROShy|S zv@zEtxv%u+`WIhU+)Jz)C2I9A5X;lG+6nmg*MrORJ#+59j+xkSK^~`af$bB-uh*8V zk-!C6?hsg!Z)9evjkO+N77dvCM>nxs z(1d#Nlsg2wg{>!5S&Bb-AuV{gNJ^Hi?_%yow>!H27H(`sbV_1yH< zV604h(e^&Q`B|&!yf-wydacyq;^X!4)VD&FK2^wZC7@=zc!Lz}h=0 z*YfWiPt7@u_~YY0x}Q(y+Fm>K0j!p9y2f6ss0}_dKklxl`aeHSw|rymT2sojav%;} zM!#R)dJypPpZoCC&Tqb7hEtfZFL0x?X9?q2s90XuLdV18$rZpgQ#FUYdSsnu{2UIb zmJW>rjth*n!Ue$r!A@c>or#sfg7|x^F!R%+eBVyJQ_A4BUnpk6&QrUaB|q=(>0q^Q zO1aQnEq2QC%xROCn`h-|QpzfK32dTj{>~oCK2r+xf@s;RW(i{l_{CyOvCNehM5``B zH_QXc4X{x(Wkh8lWuW6788A?ZM9NoYu@NvJ?5NhnCjLC8QzAxJ6y9{)K)kU|uLN=C#Z6Ojo^2P8vMAt`?Y zTo}6i`*!$$-R{2VuiFIyZbw-|SR?rN_|K8BhLCPRn5I~mDoB{Zl$cC#JRlj03PqW` z7*;YPo|(uDa6xr4L+S95z>U2~SkXuxY&55Jw;3#)x9#3}8Wn6vbti@!Q!YRiDnMaQKqdrCG34(#gBQ#GHD|yD>f=db{4C}yr&Etw zlZ;Nk<_n1~Sr;0*vT<_&7mIw{ZQGQpY|MN!tb%;Zt@fZaMhbg@xztFuE8Uc-#u$63 zI6?|JjkH!uH>sW6Noqgy7h8l3;DS^lsaztf)cpT@k_b3SUNB^_FH%i1XDe6bQE65?v7()s9%Ik#sDR)F!d||2?4voUCnl z>(Uy$4ZQlgFX#09`TV=)%+Q;Q%LmxSG*SOsD$o4Co3bu0=1h!$7C1mQ_`hXoT+D3E z0Awl$djnQZR@Q&=0LW3Du-|7y-Fl{}ZM0Sr>gEP(omG!k{Q)%2@mUus+vKPXEr<8twF_8&mzSqX?38aGGFK)# zpqbufHc_{tv@v<+YiGL6hCZySp_r+Zu9Ci=B&M}k*~K8p+~4f0*gh%cCeypLl1C%}{o~b`ueN>-&}WBUm-n;RgN}Mw1k8-n4Ls;|)c@ z(r^gYrtqSho``EqSZSP>H^rIC+#jXmcMDD?GTkXe-@cAm3De4Zcl*O;NRdROGeEt1 z8Ewhe|D46uH>_j9K<_hSIEy=8OPP>ne!FdZZC7yNo|P$*VqURZ<#q@1OHE@3g?_ZD zvUE8Im`1H>U%nG-pdH;*E|F^kxS zO3E6O9QY`R=Yd2JH_i}xelTuGXApKH8W_9h`HS(nV$ zChd4^S>-w79z(0zilkyn6MV>q&rhJr@h4;3B*VhpzpH_*mE-?%++}Cw;P^)dfaZ-ofYS7}T}If=AirDEa8RSy+alHGDU+SA9&Yy? zNfFr&B|$Q#INNhDpl4X$L7{OcAyJG+UV~N8_QIpvzx!=V$)DfkZ`)mqp6dAX=`FOz zPMU{cMt6fagKo?x@LvN_CG7Jx(lckOSfe&Z)r;dO5)@^D~a3TWJ6*P@K zs2e+X&3`i2GAp4n8vSHNRnw;95VG76_^IuOYFpFHp$7GwKh={)RZ|0&O}YC%Ull)| z5LMa&&{1M0X(tPVAWEYdX&=W5pNA;Ks*!2^8P+_@ZDC_nLs@-7)xq?-XIgt)8L{`n zIDL^UgZc}xy1K@s!thyIfby92V0pYGsKG{mk>7C4@n<3uS6X&Xy@4xS1CBb0;;m&% z19Ot@$J?_&s@6yjWvH`VJ95Yf)ZuuTR3Ra>TyYDvpbBHxAv{;`POg6BW?m#x20It6 zfO!((glCbb8k9Y)R%WD|img$V5;U%)HczSREoxN`Q+*3^hOT4+f_7R`UJ+-GQg-hU zeq!IOUA2o53kgl*syzoX%q4RtGcvYu-CKi|1nrUf;Vqx@=*Ck$GHPH8{W6gsV|{#y z>uy-tubiQmbA{wRhr(sa=kfx0!Gw01I<`>fGU?qY=@Q#&VlD7&2$&LBi-(SeUsLJ^lO45fgoS?QA26D9ka^pCeuC_^!=MB?B~ zeN5FX2vOy;dyh0W?owa7u5^$h8Pp0{m^-K3oj~~Rx$N(ymsOweP}D1iu**sxBEFMO zTjd*V7u@ByhhHl$dO8FA;VnPBRMggqjeJ#KE8J*a%?@I26uZLcbXf9cQP_1|Gd9I| zX!Wc@Ak>mL>}_q_WZ8HkDo1Mq+9sCluN3XD?sVwjicxICsO^ntuWf~p6A_Yb=cZp+crYjb)5?*N;CB2!$V0fW>h*R+F~7EGUM9nZ11OImW@ zfa#Vpf175-3JKBmz7@{FjA)+DS62ny)FQgwW+IP{j~_V9Lr%;OpYY&HZA{`pS0e9ib1z)Mw$(UzBvV6(z^YCp^AjR zsPzJCJjx8ayp|9a!UJ3k#`N6J{yDF$04VD>BO-~IhCHPE#c#MRYK2yo@r_g$AfLb5@3<-TP+Qtz>jfq$QwT7h?$qM)?iP!_Vh z<4$h#y*7-TPrqoyJZJa5v6eUJk;&=U*tj^DTK?GCXWqR*B&%hr3gc9Ya%|hROu&9l zGqi3xx2W}NEgXZPS%=<MnqdYr%l8G!b-#lwxK$d$tJwY~$1)B{_SiU! z32Q6+<>&IlYl0~TS3A8!Zf;)ZWvV(jaX7S+r0t%3s+>QnO`{uRaJ_#hPQl8h#h*|i zcL+65B1jaRPlLECT$`Zc<8n{$xZ9qY!j5Gm?dQVC3it>1R^EDGU*9}i2e2>Uk$HvL z^sHKrr7%xdUDUvi=_smCj57F-?GXV~+42F2r%+~IL{nq881 zER8)ac+sdAFa+c8mS52ePtgXw#g1VL!s5C-FzIk7`%D4HwI0HIHPEK~_202Tt8{u~x-ReJRBa*M&-^{yyOK!_kJMT%+ zT{9FH#D--MyX=|A`Dn8{Fw*`YZI44wYJm>U;oRexO9t-a>ftRAC#uPh_S~7N4VNhH zG}s#nw`{f2>nRY~@Cx$L0`voK+aq(xkDwxl`*J$@H_u}ow=V~q`ab{8`71i)FQ);p z-!GJZ+b{gj3ZWeUROWC z{+&f_-BX+RC!t0~Tw?F`kQJ(>oKt!js6ZwYhK>$KB2R8knO-&HvitYZwxX2M{1JM; zhnv#EjYT`bN|02fhrY)aE^(1(!U%s1eVr$&bzS_XsbK$D zbNx&)?peT>VyEUHnH8khN1z%qgA3$rB26E?Nf=0CRXJ{{U71*6Su7y$HrGlw2it+M z%d$j6a}E+o^R$esOq+RR@-DkbgsOIc-DBXlZ=K)w^Ou*-s_O9Q6vR zF<$-YiB6kTY%p^l!tX(q@5paoMp)-Pi-TAs45irgqPKrMY|)0sqfN!sghlRU6lo6u zwi+-rc4e9kO!gq0nAc=Hu}2K%k?9|ru(>3}GmvdM`?D~F&PSLyXU4M*v9M=ebJRn^nN5%`Q z7mr&$mACM2qv^iK-8G$8)fM+=6mMZK&4d~?B}&s*H9)b#?(AH%>9uCwH;4ZB+R&v8 z<<5`+X^ehFz4RAB$p+f_JMSX#2e^J@Cw&7%D(3=WhK?H41~T!n0lQ$Nk~l!{nQZ6- zEh4VSTqLn(()j;}&_kK3~5f z{8bawmYvQU2h;?$|FtIgKjQby`&o?t?A zYm@4S4Pxsa`b3X#Km(!3(UnV9cnUf?5h_p+9tGf&Ar9S6FS97@C+DW`^_?|2n`+bs z^k7a*t}kx^tI??sfsyH3zhw(V6b`fue5NRTI{F!F!26RC5bCl+NpOoO89i|6yl1Je zi5(JWj%a2zq+0imMH#&j{GrvA=`px1a*z)GFpamu%~r#bZLAiOL$xC+ zFj!&8hirStc=h9inBGZY_>Gt9N!nWhZBYpc;d~Nw8$LJFIF9&I?mRYlXmIKL_2XOUc zFtl#QCBvyXBiWiOnSo>l8MhJIsKz$4dilVlb6qX%Tmt#x2>HnMS6xh^2!x33A|tm) z^FJe5m(N3#IC0xC;YAZwJD=~#mteIKalPbEBtBh`t2qqq4pZW+d}iKJzXEsPm@CX* zwgjR8%zlLFU_KNGnW3jI5Nyd!cCG*g2YmA9rmmq&b^(H*$o?AI17G>OGJ$hHe9o9N zDpSjZ`&6ybjaLn$Ju39AOpLVg4@tF`RjgSDd;$xJKo+?@qtKt(BCnB#UX&PRxjg6Y zd@imdg1qSFK0xgzmD12gtg!{9TW&X`X|f_EYtlx9PT#`c)t=Z~bU>F0l8`0upewA< zW_4=@|6IsnI@_~qq$Kg^o|_1wx4~>te{n)y41{b6EwkQ=Nhe>WtIDZExb9=8FsR$6 zQ==1faJ3a`!_Z^m@irZ1^eA7Tv_Z`9Zbd37HG=P-Q(Mk6u<>0|X0FBC#ZR(wp3zjs z4z^>S1sw%F5&IsLhx&Gei}4$rQ!)2}#V(f}FTM5h3!*Rs^?fiWy*4>dO5OaLlEsoEkg_`2Xd8efANBvdvCyM{8=3md)4P7mDL$tm)99g2T zDn=Upoxe2$g0H`G+}=1WwUsh1p;J|2n>4p@wzOwWDlpT;qiHb*Mr$^xU-4^%KF@;h zhXVvRZ_DX2sTU5lUpeHXckpc*o7$Q@7pTE(EFNh2i)ZCixz?@g-G{+n>-($bi#!sr zzP0|9KTP*O>IKeb_C~e_j%IFF0KSjCslj(=GgmWb112UmR*rwz7PP4E*#jDfpLu1N zcQA-jARUxepLzg@CpnBX=h-?UQIpNj$d&DNePu81in_U#izL_KZ8MBUt`Z6~qWa+j z2Xp>7fwu`HK^aoI_8@iI&`g}#^lS?slFRH0(_EbE_KfGZ69Rf|zTf7~B{7Z{iww@x zaK~^Q>Xt__!AT2-sKMc>4D>_24NaP}}? zHMZz~w#ai@lC>HBffhOV7Frr`DZ%$+7=iEStbGhpTF}HHs3E{AdOT%2OeDG}Y0_vlAWn&2XU zTC+C;`6={1Ha1ejC26j{xx7%oi#2MOS@Yo~>5^^W=%M}!CbRUj8ja@g4b*Rm3n0PU zanw$(<52ShOy%qSu?w$`(g;F7C~xM|CU1V3$`ree zer7bYz~rkS6JjzO-vLbPJW94T%gP8kY6H5v=1-k zF(?fVyW^618-+RR%nBHju1^*ell3OYEBLaGB=A>=XX_>u`2g}yLx0_pebJd(Z28#HX4JTWAaS9 zJ+Vg73&aWz_fHLHaqb@&?LT_1U_?pj@4QP9f@IK{Je*es_<6Ym&jPX#A65Nv8f70z zQBh4hLH+}2t1GqfOA>#aMgP=T^wxmtc&>=l)QnL`U9iKb6j}bZS{FW8(Pvr3&Eib5 zeS=d>oavl^_wl%Q^cBdIl{hHp0&VrR6+OP-`bE&2>n-5eP6$s_!PKCY9$3!*MNZ4> zIUnQK5O^(NdgM|S-k0!Y!#%=AC&ab;M{e}Hga)k?St{pKX9OEJcLXUi-|nirXS!s) zMlB)hTye71D4LF>z9e^$h^qB)mF&}X8hIdy-7UCkgd&Z%_tf< z^uQeTA(=---j$%_PYV6^v*?DJ`*Xvk9Kk2DhX9Fl3CRN!lEa3yJi7R$Co9rwVb+?K zhD!2Y_zP%)IRXN223(6=ycjl58C~HW;ZLfw_W9DXM6S5|ZcC1r-H*9tM3?UTZdug2 znx|VYSq8L;2}jV^g{zTM3kLqVqqXHM=+?wQ8*Qs91 z`)rF6RjuOB+cgOtbo>|=wkZ_`xiB{bFtSq5kd_WDv^tq6@yJDSDe4_BG1Tq}2X^8; z>Zh9~VQos7?s3j}h`6giwL1mmmKK~Il~6hvr|FnGOhMi~`?pPVp6Uu2K?-->&yeS} zTBtnjfav=0_;+;m{$5vn2k2U8{;PE2e~G^RFZ_jtm5Zx^GoVrN-OhlGlZo*kO%K(L z6mYl@Kc?$2O9<#Al<9@UzL^GDadBUg1jjX#0^wVCQ^a8E*&Y$GX59oKdhs$tdesw{&!dS4u0)EIhru$>ifcwCh_gfU4mK<{67=pFoUHo_(CMl#K&s<_4IU*Mv)p$xGo`ce@&uZOGM^_KUU2u(D>5 z7TvRHbqMlsmCJ z@9xtqHhEmag!PLG#^h?AvUGu7HT4MjSCz81nQeICN=$CJL-OcewPxAl^w#oi^nBmq zF@$EjHxM>l++ET1tf$RZj4kdnRs9xc3#DMndPzMoTZgp2MP2>5XrGcR6k^MBs%u%r z0{yb1qu+Kv8V4B`vv%A%;SyJsg5a%;03vUgA~-7PKI(J#&;41Mf04f+EYRh<>`rXD_C=NMO}V<` zmPRg~p3#(6n$rcj=O2sBpgZpy##Pit#be_S6vgEfy)?K#OKEercgIFPE_t}}f#Dh2 zYGL=62L?SmZ{K%4NZ#UUVNaQjsMfZ=h-iC43U%(!jXUy`Qp(g3`jT!>;^zgASq(mA z8xy78O$k=rRqDitl>046a1#ki47aWlbR)VWaWdw97a}DdtyBFdER~MJ(%#9!&Pgmy z@UNZFQO^+VC1wS5Za_$ndR)>t^ zsN=Y@;+$hhFUOI=_#-#vX!EGHiG=5{Cj?`1{Sj(-9zae~>#*&T=fn(y?CW-}>UY`G z%7@?5PESYieVb;UBOx$HB8T@_{53tzY4DzNJ4r25PP`I8$B}s=g9eU2MUCIC8mpG> z7(+g}%qo9P{wfV!E=*k$N2jFl^t5!_ivpCH4EsKEW%iqcL0oyh%lig7{AeR@FMuwTu1DV<)*n>M_hwiAQ6*smPSEV+kvYGEAh6OsGk zZUjw@H8DfT{;&j=7NwD6gCK60UoR8VX3AxWUr^<5fm(uXq$^(?Iooi;63sHS`fi!+ zL|!v!JF1}1J@Kw~a%$Jg$A>1YVsQo6@B#tw^ile;yi;X2 z{U5|+7gqo)+2o(xe_G-d02b4j!#6&Wr4(#1^yx7%hP8o70cIX+}V=bt)^g|(@ zoDY(WMa3eX5N}iJIDMV(($!}4Qx)qtoSF;kH^w)g)G_5jkF5*B=1vU|N>_82ZP!k$ z8NHMFY;mU)vttp$@NMUn8QHZ5}dQ}PI}2YT1b zZVLp_4mTH3Z%4brr+Qu=5hpNju;&V13uSY^8h&$eUTL=3y}j5M0TUKCeyAcG?f*RFV)CnWA1E~(XVYokN{eXZxd zVR&AVmbaIc7ngAl4U_;b1S`3SSE@$k7-u83stB){DhvSp;Wd^TFXdrUG!}I-Kv>^W z91B0PJuJrtiikCkXDkapRfU?SS-4b@HuhEMGX$jGiS^Wl&{Ek*%G7ghx@^w6`D|<* z=Hhr8T}oU~!s^TQ_0wVfc;~u>v;af%8!URsl&p@r&r*@M9FiC{m*MKoIwF!Xa4y~* zdZoGe5f8JbFSOjW@P`0pWWUIuGuPo(tyukaw%fF!>LhqE>Er!tbf zN(ilB!NrbNL7S5;+BPeg%IVgDZ|@cfWxl3f@83vG;t7*n48Y^3_*c^T|DY-W{0EKA z{~_OsQI&JpV1(@f_#t=D!p+mV@z4^qJ(^6B(Iq}Kwo;;I#D=aXQjCpt7Jm5_+fss|{d5$c=f>U(ar> zWLQs|mNsW)cRzj-qvXk}pGv7#NvaEd78ANWrFIc~vNS}T`}3P#iZ>&b?i(y!{Bw=p zym^^X=rjjaj08rIR}Yu32Zv5YHge3e0jHp^Y&@x(wTEqtv&Jr4T|i_j=QjJ@SMVuth1hO zVkS1O?_*3l(eRS1?7Fepd7MJ5aJEl7kpxw-S07ScTBcbgJ|a1*QQnlgJ`f0IgZ{W- zHE-^i=LCCKtEfqUEw)V0T^6x2W`t|1i6c$X3o{}b52JJluupG3J(#0JJe&l8JdJY> zK+QA1D>_g#C6do5y_z#cbb(N90-L?ZDE$!%_}R4VOXn6_rfo)EEdUz*1niR+-&%07 zVG=AfBY`~at%r{XGz>e-FQ%JOK^cXk~9=``rbA_;E3Cb^Ir9M&I}@`9Vh1uxI|EgcI^cI%#QjbnfO# zQO)u~O2js}4+Oeg2EsVp}ds7WEe9MXove?UD zDlf>*=Knk1pxkQJUjYH+UH~!YpTqrsJf2$;Oy-E{AVxJB$c|s2QNLns7pN;=Z<^{*5LRw**og^ zIaOtzZPHQPpp(XId)0xHp5)=Ddon-@ctW|jw)7YEZ3^B2O!wiD%D2eSyT zbbTw(ol=;vgZ;Az>p}p}^*@%OSadH?+pw0qd^L)?$UQoFpJdnRir!9-1m(5T;o^6L z#CNcNw%-*@R8%vP&b>g|1q}GuJM$(-nofx#{C=%$=#k6wI}9+$?$2bQVvsNRXa0n~ zk&e_jvOk03z5g?5sHlQmT0iV}Ket?QgB4*0=7zmg4P>2K<*!N9NIU|am2*)YYa%wv zoRi9XM$Dr5yZyTBkm6m54s!`BOKSE!yW*XuvaSW%X1;}@>5xQUXy4QgdxdDGIc3vjxr@DBb?; z0VIv)R`(b9UscM+|*OmW&M>RRPS^`Rw9BfRStpD)B=4fu&<8Yw&&Zr=s z$C#GKl2zF)yGP`>wcw12v+B8WK*LVMk|E_1SxCj|+9~DNHPp2Ma7{$v$YdL0h#;xv z@MHJ>y)NZD`b^77W^sBA`btvYZ?0+9Hf`FFjz7b1#2v_ci0t;3v~kYZTXxP=@kVw2 z#x;$cU;uDUbi7B{uv)|XqhVXfgY}oiRqz*$yJ!=g!Rt^L8q?Fq9_B?=O)SILAqnf; zbIY>Y!)wyV;%%u*h0|~vK^<`Jmvgtn`$~*k+(zkkQ;`@RIt{usMl)+I?9)+2?#5zS zG6mI!p|v>r?bnt=?tgv>tqW$&XqkJ^N4D;pk3!c%E2$|Ojk1EWY1g<1TJ7`+>hME$ zvaeTFhIlU?_unTkw|)~>t@pbUlRO#~Mfr{=Tr~h`Z#7sHe-UG%n-VQ@N-`I{%%-y^ zsBfj$SW~aAx_nas05;wERHRnA?62}L+1SjheM;1Kw!|I<@lk%1|39?7W0Yl0)-7CV zqcSUP+qP}nwr$(4v@31fs61-pN($ zBb9>`B(%X&U{?*F51^lF_#UJwCI_28vP=_}Pdy^Xvjcstb9{6rztlS%%-HxEP!Hmc zwvGw`Q8NFo*Z?rrf<$B~1AWuVWex16TUKUuh4Z7_kP6GWPku$K0OC|&^om7E!*Gz9 zo}yk|Y#%Pj>E*TCAWEd!jGZw`PyJflY zyRi_NY#cxaJg(jwoSwOwoM#&Xv_!;S;?sQYnW;qS-3~yF5HjB+L5t9-?7pI~a+M}! zPBWdQ*C(aO!-UH0n{(XEN}lUZx;{a_fIe_{UZq&<_p{KSf_sVAbe+6i=pbab;&0Dc zI)1>MNH>VJ($)#F)oMdWiaV5;4||DyY{;OQ?h7c8qW1zBa)nrk_nW~7~eMB9WvSySB2l&l0erWn)s1~mWGMnI30bH7A~eh zlE)azYh+@d(^Pdq=20DgyPO>!-#Y~c;OIi@28Q2dbQJaiC)dC<`9ja3b&S!ofg(bT zCwKTpBo6+%r7jl@tpJ1DD~S^=1JoB1=vGtgrS_QesY0FKzez{A5A?SA1obQN?^y`f zaM3xPA&@`HLCI&?)b@NlH;s=HQQ7U%)QX(!!jbtvdhm$O0SJY~*8jLo7Nwa2?Bf9)BIUA3D}z?#Se!!S|ad zd9%r?^kUnMm$tXdcPaS)yt z{Si1<2+EEn{n=?0-CYdVL>o(^%yerGtKBXAP;N8n;cnEow2QOJSGhu zYU~E*&i&eObrMbYt1_2;A=|>wpB7Kw_Dg!37Yecp?_GbTQ6Dvo6x?s@7sZM%W`sj` zFCf^J!W&NODk34N!;};oF493XBQsVdcKY@ZnKMAHJXLK~(@~iF`-Z>4d|3Q87{>U~ zSROEIX47j`Z^8`wdl1a{=~1B+(y}jf2jM1gSO?#zJ;ffaK$DwfKVn(yVp$5XO)PW> zF@x*1NQ2iM@C00yiv1SP12FRSJ7fA@_m*|{&%l~V8IB2)RIuTcghGt!)(6ogZ^BUh zC#F;{%$KmClYna*j#DARdA^z4zWQ*H^7?*w=x~NyY&Ot8y+3&^XNWmV_$R&1u z;HA!G-Ur7h7(YF$^D3^+o2y`QK{v&lUdfeYL034o?t5^0kT%Mi3+g>`j*DP(3$#_x z8DgZ4eb%`|I(AWMvNTkiwUCbEd{~Nd3heUPVt3m`81g1}-m%8g?U5SCql14%BRwC@ ztFc8d-R*dM)dMZ?8$#j0mSM1 zQhnNt>kGPyaB-X<2VDHJCvuNziM6juDisL*2FvV){Bl=ICl>7tZa6{FC3kz~=emak z_(Q>`51-2eDix;XXR9!_Co>N~8|E=2?}3FP2matuh+kvdwdW7y#VTw6IUxx|dsO_s zeb#Bh@6Ia>ZM&npdS{Q#k%(k@hvMibP)EOmpdJ<0oEFx(*8D{yU%#E;Lqfab_g*Gw z!?dxz1M}KaROCoL&(Rp?1B6|$xISe_f=|zBK(1^c?2V~cXZxBi4-x2rERsID^8kRWk9@!}eqQ4xm zTTx8)0dAPlw+Q!*pJ4tTt|&H|CU@tviA5x0pGk!Ez?c(EH8Qm8&T; z?LH4ZrbwDPcN-~!A`A;xdPxuMi8Do0J9^Mc}Z?1U(fowMRc=0rTNSIE^YK#n-BwJ}}LStOa{^B9pIgA@; ztGSmRHmkeo+ChTs(YX|4Ew~F6(P?#2=2)?alEX0n6qHCS59Ap^RtYIqy&w)WA(COw z{CTUPCx#(#fkIxZ8+{?_Df5PPb@*N*OdvHGGs9|8@q$nWB@@3=_HZ81C^rz*Aa`i(``rO(Z;hwc=V1XNkXBA8m}m?2Aej`o{(Qu#SNw74^g#TW!^=xW+|An+W;_Qbvh2S>)X--obZ@1_;6F~a8m!6 zFUr0GTpr&0#POo2KPkIOqt+>h)y2I{Ot;;-64TFh({L#Igk;H%@LrH@2Dq??L4<)} zT9N6hJn*In5dqYwd^1M$=oZ|mmeN7eaz5T3fErX~L1PtSGCv1Ip&=#KJHs@eZ@<;4s$CUK_DOPJ`z8&T!!h|k1`}(;@h#@d8gr1 zfWlZbF2-bachP~I_$w313DsQmo}}s>QQ-At_=>eSA@Oi74T6M2VU|ywPoxc1s@;1I zNj{SXvfuH&we;tWl2<0lvLVPDOX9y__urIP(OdZ&DuGIX9pdD{Cq;y2)+bCQSx9`hd}R9x>ALXn*@pDY?qpDm@PfUE>bnqk*CtBu010Xhh&SG^Vw>t=E*p#?d3=0BnLolz66Mu9OD{N32-v%;{VFWZx}RNH z-!pLzI1VG-FBew)tl_}S=1EOgkJ83_ltwWM@7bhgP5>%{$jkg9S4NXfXV;kt5d`Rr zQrzYDw(!{t=Hy!doOC{~fy0CasLDcMf?%UoJ{kZ?3v3j^XnC zy35A$P1O8=%~fHPlOZI8h33$VLTpAqp7@=R>agy8`n|awt77ze-0_Y!t6-Jp`RT&A zhH`Xud9~r?>C&-<9QpP>clmriCEJ$KP+jit}e`mY1QxSO|YqJ%j zYINF?j;u1mY<=pkHXw6jL;7GsYJnx>ePhEqd3p2xedMk+6=mO|aBQ!Hy*&C;66bW| zRHGu?hGc)&%gdgVvx8NptncuA{P0$0GDOFX`}OW^k79CBXAg0w-0dZr4c(jL-Ho$c zY-HY@d2FCdi7RQ0u!39Z_Hc1)Xh81sinijSb7)!kOx-M$djeGJsvJvX+llh1Gr}75 zoHP2-cM>4m!V}h&>rt|gY1MJ!J->B2fQ8l-$Ps4Ia#d@+>6Ubz-wEo^w?(ye*cG?L zi=5U|O_$SEH%z$G3-;p*#)*Zasi2L}{Ii^8oF#P>E&owR%sjh39sHPG4A9dFuB$&E zhpofzNk2H(9E)bZZ4A`TuS++ORv%Sjlk5h+8`PivfE(CR4$@2AbFA`?fCd*|u-0HO z7&vrn#&$i1Dl6nD0Y>W;%B-PlsdT3U?595;w!dx*#yQ2b)_ny7z4>+7@~hlN9@QYV z$!!Pu)6eGywvUzQQvCqCu+g)^@#i-K{<`f(wOZx>4>wIqPIE^41uY4R4;14!*sYIC zXNyWIi6IFk`3iLh@&M>&=3?e#=HS=dt&u}zMMXt*PAQ9w3Ka;_38>{)QD0tPR$p3Q zQva*In0+Q7Af@lX#w+(FTa!pdWAY!nl@E!bsnxIG!~xoWn>qifD8i&;t@n3{unMIy z`xSBc^+Sr*dV5V?LU5yg>P0(p%AIEaj+UMz^8$baVTSzQ(5U1|K3(e!fZHlNLdyQi zkH@pcI4{qTxN$~+2BH}nUlp@8iLjXU8yJ;ek{~bJm8aXkf1x7-YBnYELf< zKZ%@0Qg35gG!-3*_PTBZP8}Z;y$4%*xvR*rv|tsXXJRkhTvCNsW|A@PTRGJ!?_vI_a3$HNFAO4sCOk z3G==3dr_{?FBA=$`onU2nkP<3ZNVPDaFJgXdU%}kO`%#wxV?pee*3Nb7!_WzbHy z#IE(UFQi5&<>V!TkUB!MFz6&yN7UpY4u4tC#oh;tb1~2ATpL6oJqBv}dbx|ZLtmW6 z#Y_OYh%Z2&VNv1F9jUCDlB-z89p#v`&K0d7F#LoODHA4tNr86dm=ocTR0TKh87)GnFI;ck|Bs`|2Bo84&;hHyhx>H z2UZ&L-kpY*8?s_j1R&Db)&t}=f%6;G{1O? z_-AEscp3VZq*9oFm((?_1j@t+01@1Pr@P~#uKQCS7prww8cD0WOb8dZ_oP7mTyG^N z&_$5<_ax-v?HAsZ^b(x$rq6(f!HZ>du^2S+2TFL`JOCwr4GxiP!H2~0-Gk6HK9!nZ$C zD6`#y1BmAi%>bcyG&}kP5yjoTqc)$;U1#o}NTm z{K>%sTg4pzCe;tb>zOBmPRB(0CZzo9J%ek>!J!hu>jJ9X4z^0<0$7Z z9O!`A-f*YsY?; z;UNK;n)3{?7StSqkT=iaE5}*3&R6JJEe5MbTV2%Y)EcR&y;$lS#i^z7 z@Id6O>zUrbHV~s;lBCc}%VG#g@#oO9J2V}hQlCq^!V&+FLk78gO%YEO z|0P-E)B{r{Doc>Fl8@>B@VyLvKkk%Uc0^K$u7QY=Be`W6{@}OQp9HT8OiFa4 z0yz6-mx2_K>+uT8QXZ7Ev-_j`hux@&qQr2!K+qzVph%XWV;bT+Rzf z-}=gR7t+|B8vMxN6hRZqe>L~i=+D>OOli1TR%qf@!9h4U_g07;zEo0&bEj)+6X5d4 znG%R*%_O2%!&LK9=-7w#lLhi5o?439B?k9pzffB;B zcL!38uC+8KGpH#C1q!O9083dplpw=fJ9Z3r#D}0xm=9gZ-H7Hg6G}1Gt=Iy(88<7w z<~km#w>dpa7kf~m)nI(P!Ry{qB|aF2&fc||9NHc1x|HQ3W$-u2#!?Z@AcCH3F=7B9 zJk~PKG_b7$J(|_t>A+j1e?ksdhN$~th_1_Lr{4V&LawH^(F~8$9?~A84}9)8LS_Zx zHQFb*x6-d?(O<(w;{;j{G1m(g4z#M1`|04chZGGqI(QQY3;MC^{b8%AdQ;*K(DWAO z6){4!6R}MC@?N9q)ufnBepgdzd-i$n#A>E*N9TPgXx(@QKelWV+^9HRLw&p0WO0|} zP-WzKf6wl#Xy~)Nn@{6@Huu|uXAhoFqfqB}sIXezwk*dkA9>2xEk2f)4bWyA-_ciX zoKND9!_gf3-{i>xqewzt#IfkeR8Zf~U2Mg_TT0xcL84B`h1o@dE}8(AsE5Fz-CTlm z1zWa_stj{}k?50XoXMqVFsnnTPKE0ivLQmL$sUW$sr+Aq111vNFBLex0#@A9iaEtd z{`CL|8_xk-?Vo9;s!{&(B{rH$C{QmOn57d{#|`2I_pY`H;$IX|BfY{hvujN}$~^uQ zc#u|@v||1$RY-HyMc4|$TOu&BD5e12s80wc&0+bO!Knnf@)F_2ybA$XsCysQgY_dUokfbC%LHwq#pD?u(gF%#x`&zYh@X zxr9^v!s*$_xBl=llhZw?nHBXV>36qgpnL0nQ-*};-7;p+to42e;wz;p z!oa)c9<_83m4|)M2J>*XpEzb2R%V*2mxlQ?Sk(ovVn0hGtPZJLmD8m*u(g(a->ZYX ze(2%^VZZxQop*%d&>HfphGOHP&?N$|{{~Ev5nelV`I4n;;&ci`2KWDvR7M9y!a8G| zfDzj3Cis22+4bob?`hS_eN$j@{%Hs7>m#>=#S*!gkFi2wKF$>8O!8hJ>VS9AI7_1F zqspb?fdAG^lorf9q`#s+C}$1ADFzDitaoB%ND%xCl%#Nv)|bt>?pkPDsL>^a6NA$Q zbe6b^0ty|m5cSKPf!7l&BLOvI83p8!zIBk|nyx%!=Kx+J`T};Fj`<131LLYMev%TS zBxbB9e8Gw+L1I~3I#Lsybp=z8<1)DI^g(UAs7-$Q2W`6%R-O_DO)5Sv3e$bTh2x4P zl2-N-vwj_DjY^fM?Ndr=no6@@p`yMPpm_eCQM6bdREO&GmH7qS7<(^s6OGUC22- zk8JM-=OrN3Pa$qVG%rNfI?5_%3pjg@u0K8Ou3bGggxZ%wsy<%++UG@kNqZK3g{52m zw_Mr3)MviJ(gyl}v%wqxx3IK=KC5ts6YozhBk4u-h|C;2I!g<=shMSB@;HCd<@@0G z%hwB1j_?HM)m8uQ}M$V(H(8<0Ckt`${IQr^ybG^v#iZu_YQZJTftbnORs zK^Ek!Uwfv2A6B>;%0c_Qb_0s@m`g^I-h4G=UQ!Dn>2=h|t#$NFjLNGsu@HM$j(QV| zk`sqgJ$hF?_eU$cO!5acDCPsXv*Y2Jr~}OHX_{I6Hg{MmX(fP^4`GW_jZix@ao;C@ zg54pu6IZ++aDy2CoVHV1otaxr>=^+I@s$UeCZwFuzMGeR*7x?+55rkB3u^B0D! z7OZY)f;Ea@;W1iasmaV-ZaQJt7atVSz{YgD zmSSF~fVg|J;JEx_I*%ePY861MFA{a5Bu@oA&YU{7_h$sv{Ec;HFTtJJhG5A~ay+X5 zH-H^4-Qlp>UIz0wTo9cK!v5c(znEL3z-JWGF>_F-o=&f=E#>M%!)ErdbQd~R9mx30 zxQas7)6@uvZlu=oOBwT$W|#q{o6^Y#V{@>imPu$9_V8@a1LRy^+|4lO8qB9Af9^0I z&g#++i(e-1f#|G^2ac4%pUFoOJOouq)XY%%Me9wfD9s#}1S{>l8#vohbsjpB*2LWSKiG)MZ%cB}jr?WMxWzA7z z2`CQDC1yO)5J<0!4EkmR_8i+QXlBt>?a=d;&-81q=tiKQgi=`P&C?TS)jPE}wc|&I zZg53ZH3n~ET&-%ohKTShG;E2=X||2+$zK9;{?QUYl##?^fBah@`{C+K*)L?kYWz$J zw_N*jLzugxinR`EYER}Dkvx|7rcFBMasTuwnW1_mcxSa7s*qo3t>{3*?l-dqJ{mLi zC<`!X%31lig}8`r47@V#eJpQ9UVM?+5&Lh+L-F%H?2;E#~Em$q>eZ`f5)Cw;*b1dOiO-d`z-jT z7QIBnCVrW0@`(xG_qNql6NyD&q<$V++ApB3q__{SH|+T-Hx$PUQ>{KrC^J%(MiMqB zhK+GPt%|)tk!{E}V-(6+ie29Qp5Lk0m6^~prpJ`M>DoQk*HEUo9^)gYkx)VHpZX2t zUPOO}`xfO1QG}1yKq;oZ8(0=Z#!<^b03A6y(CF_H8SrbRI5qGwN)#JF!E8+5DOy~n^uMVA((go$h($&qM z_^drQVvSPeotW*7GtBMjb5t zG*YvDb``fvT<`GLie~!*D~$9Q+xmtYp4obY!`K4B#<%(1Dvpbwl5X9500nvpB4qw}^RP#{1 zftG5Jnx0$abvy)oOW;!Vqf8A$LzGG;mcz^QdU5m5S+qQ8b(iu>*{L1&znw+@Eiw8( zE0C?x->g6bidr^*f%U4IM-g#X0M!eVxtwSlrg8a*=Ig)I2UdOOztDODNJ{UQZH>7> zy`>#g{Ddu!2TvKV_x6DB5XgKedGSm8^{Lbn*i4yedr*ZzTF4s~M&Ey1R7T0pU~rgJ z=q46yZP4?>qk`rmG5a)?YEl8OzZBH2x$5LkqYNUL;Z=p(L&(!vqeq2hh;~!hRpAoK z5>=>vDL?U!+j<%ZsyN}s_ej#_vNecC?8)Z0YsP0(JBTYs?m3Y*kkT&k<@*Rn#u85r zhttr=jORwtGO1G`HoHVkVs8mF3;$>a8#P(X>@pO-c?V@sBo09}_ z-x1H*@OY=ro)mq5BTeQ zMcuBAk(6ZZFA`W=fwD6MCr6j?J;JKC&C`(6 zF2Om$wrB@+$KrJTY267C-AUzP!&=yf@o=C#*$VzEU8>o%fG@E z0`JqyNb2nO@a!fYP48VAnsmdYfR~4yQo!AwEwi#69XW5>tMhxgSDfYd>@ za#P(sPs9+(&)wJK^L5LHHSCp*YBo)2Z@v~ja71Cu}$1C%v)iOEFm7`(UnBYbi)|JmTw-4hNyT*(PpV0QQPAgcJp-<^9 z=El`xcKsNV)2i(BgxTx#rj&s3?Z=e1Dw^yL?vJEJlu2!#*QCX!&k&RBX47nLuLHxk z*Yw5W-2;jF`3GxjmCtpirkhH1%MZTu?1bCf#Y2&MPX{*~;@cB@R_rX8vSqCX&5ANH zC!VxP>r%L~f!AgG8{0OIfN_!RP6qdv37sLIPA;|^SSBfpFs+$(0XR6E>ti98?qIk! z*Lnt@l%GWn{nW>mj|q!M%`zSiE87FF*0$HZK3h9cEbXrQFw~pRr1zu6)HGuxRN1`T zX3xMk9T!;Y%!@l)6%7py_mA%%2y}(lD z8`wfEY%0z>dfwU{7JHgu2k}rBdsu;Y-+KzaZhWeX>2HS>DL}h%x{+(-Kn1&@uAw2~ zLsK#qv6JfoaYW=u1JEJpL*tZ^vhVa|23`>5q{Mav{?iAii@J>-p>xWHx`hdO4vX{b z!SVRnE7#8b!H-lK1W_=y6)hGS63q?g577%N&LA{8o*tV>aEVo& z4c8C1z(9nkxIN#(Kt*YJ{QKRx}3 zTW~MBGB;b5^L5IT>RcB0&?jnTCKVg%@d^+zjLh8)2bFfzI}h>g`};&Kq5m_C4#LN% z1?~8;cF*ffqLw$_=aW?ldm5QP-XlQAn)?13(6=`}oHH@(wT9Ne9R8Q*|1l^(o}&P+ zk$^U3mp=~w%k%#n)D@UlHHn+;;>lkQ|I73L9Mne++yf!p#h)RR{~1e8R)hP(Nd-|0 z^>*AKX!F7v(}d8Pc6?KNJ0Z$H9}h%R%3kO6iiCYy3QcDnVG0hZj+ckn#XiJ8o&y3* ztnSxHeE-Kqme3(w>;Tuu9lC!Q(0>flubwaCUoOI4v-a=8$0%_A(-8P$41D!`8UJz- zH_O)*a0eos4p($cq~}6%~b!M~eK#2<%C||7fO40;P!@$pQY+EqKY&_UQ5DuDPRO%M9GCxP zylic4SHG`vRzJ73mR4$e{-Xdbt#nR=%^!R>+ke~J{5Jxc!B<-4E2(1WWZ?LBul4wU z)jKURv6VFfY?4Yj(us3_a04d*zh~TJ})?P^w(Uq!bwZTh&M_Fz*0Ih~brT%U{ zJ!fi?sT6RaGF=Hk9(Xpuro>($2n#~1k>Ton=6e;C_C+XEE;*VPBIjX!j#EtwpfGTMi?i8K& zMaWfGm$>X+?sor$?NNJyZqvkF^qpf<;JSo_+v#UY5M`xy`~2$EG$!0V`QzjkEL9Mc z<>~Kdt4Ovo-!ezKxs)$6%TMcD4aQMxiJ(gtbKIyR=Ydi`ijWq3wd{Tc9u!)E>JEmg z>(8hZqNhN*)c*KY5xa=mPdJapzi4aBnn_LgG)Xdm%PzkTg`Y1g7 zQ~%e5G*mE`sUp?rwdTZrD_NLD_^EDT^|v#$hg{1S$UZ{q9`IFxuv}LgAl(pIc~n|e z`LV&+nKWH`J0#frA_g^NUi!(1c{z^jh-R8<#6YwolN|&;*lQ4@Ieoc zX_-kCPclNR`5u)kUtz}08$bUs;o*VP#e+7f8Vs4E5%Z7q9Jn*R})Q@6X=^~4z zD{nwn?^7>nM^AbV_Q{FxGmj7N*75L&n22GRxVK&W^WfoQ9-*zD7vg0eyEey={;c3N zJ=UZ?1nHYX5 zu<`O4w)0)UKkdRCAhYRRBRbn|J)qnumwG%yPa4^YwWc_viD-3W#-s~KvIBOAz zI|uMIU5$Kj_A+VuxW9q?*(}Cu989Wx{b$YpE05&giYxy!m-nvBUnQ=s^jys> z{}lVxVP>RbWB8kwP2pF4-!CD&k4_!FW}UNcsm%V>8P72dFq;O%IdWM_azODstG^O^ zh*d{En+^qrBhu>)gnYs{i14+1BP zV7!;k3&vK@>G#_O^A`euMPGgDV0)bnzHIulGoRS)PyUY57a#B zw>C}FTYqcQL$m3=;v?hxDR*zbH1n$g$jP=^l8aokYIeb#*FqCp-zw;NnqAs3u_#Y9 zGRy8=q|~YB-sAcJClh4fpSYx_*Sh{=%6q;P&; zQ~va(UYE$-xBBO3uO9qloc^NOGw)OH80VkS==KW1A_>dqL%%`>s`^rTE*Q+lGHg15 zMk}40EPJXd4^wc6o2K`SA8H|Fv(eRFTpzBhvUpzYwqzwMm|=dTS@M z9P@Fka$aG}Jx^e+(Vv@ETgwGpiZtaG5JdxnWYyw2@}xBK_jL*^>~qJB+E~C zk`hz|cTXS#I{}e<-sQu0_@tY;MqS94uRnmj#nOFu#HJce=>GF7J0K0`im)v&u&qXRzlE92zz>puYNzlP83*6M%6=!(@;uiDATUvcqhDaY z-+yV4AnY{Nxr9dm`;n?|6h-;7t1v1%o`x0w@Nxi)N2pDK^B1LR@AH)jbG zOX#0ffMjToXTGWZ%|{GO!RYjA;7621;6y?23-g1WJX{C5rWFBGrS`{La1EtD`$HAA z4JdXFome-@<)n$vbVv*Q*|O3O*a7Fb@o)EolFu*-J}#Mue)j3m?+w+0HaSI0`OI)i zXb;}-jiXv#ehX$oR+tz0!UZdaSTgK`4<>G2nr=$va{)6ksM%0mbH6_M(NEu^@Q9#z zYm(I54HJowA(~?p3!-|qNM=0OTLf^ee=rrZo|sKuyd2+|@)o@kaeH2@Y5tV8AvIeS zeY2r_2$@z|hWQyOg4(M6Ttoxc4sbKh{dsfG^JgjR0OM0o|B89={crKQ|JN3biG}U& zq}mFTY-Ikbba_iA?FFKw&IIwRyG?#7QOpn#MuRDwoWxEcqQ7J(keuK1F>?}tex^28 zNl7z1+vAPnQ!E?yn>+qR58IvM2tuc1c>4-v{{G0wljU079jin_JN!O7ff^YDqW4}9 zLQ6po17=!|AzJaUWLpo)IcUgq92%8S+RyFou3)-)K`D1_dm(@C&7n=*?8nz{b!BDg zALEvQl+kYG*?IjXYLNVuH~0pvU`DV_8;+2>_AqOtzTxuKLY@r6%<1?(hR5*jNONvV zygi7yqj{i8L20B&i59Rmq^^oZOtgi9_;xeMWitwTGQxlz4s$4}{e*Vv)naT4n0ZVw z*u$1L_gG4UhCx?Hy@jQam3+Q>8f18gqj(cic&OC;KS}V>d-nNkOlfM}$;t&Rt z@0oQH;ZVxY+ED{(fUS&+KY;_m zA$Vs7tF&knqe;4BJg$B8=c^S0c_??``^|aGnRi>2$TyfcX5DWv2DN+FHcE`@u!aNj zW_q_Xn`&yHPiS9<8~19&0f5AE!5GQn6fxiO>H%a#Cb({|!CXm@agzcmdfN&DSs*XU=1^7D7blNDMz z>}n?GkqU+-n**mQ6D?up>NBeZsax|J6xK%_*i$!+I6IH9pU4yBA1<+ri<@deUdD{T zD5~2@9wU>_rOgmcC*D1Pv~JYvW)i%c!zbqZ{eW52=VLVX?cx75YU#T%LAV8lG7-EX zCe}lg`_wyH+Kn6y40p#7Cn`bkzW71rS@# zmX>rTa8C;?b_lEz&sYJSzDbu$>X7{7f%7M0<`1sx=@874NN5W6G zV*>c+h)%O#^B(eVpZa1I%%F-=3VK`C>?Q?(MC+B5z$cJFV09_i%jp+YXiTO1{MTmc z;V+2$zL|h-cHDUdRDvvu51Ske9&rp5>GUZHr86pc?la`T@nPiTF!HL-X15vLCwzP`&HQ5ON zYfS&&!V7=J^#4QX!{KiZWm3_6)_u6}LXT_%p-wg5R+*lFNAl!QE{fy~TbRP+=mdis zYxCARfX$m$A3w667h%51bNQpkvKY*h-&XQu)($p&>`e8oyS!ME?1$Ke5xspSIBEHl zX*)(uX`kvDBNFMne%W;+`W1sO`Mi+)l+bI5r%C25lh58!sF_PE&jI~AM+;i<0U^Cj+wz=^#_T9p*iW5# zueA}Mrj-0`TJwbqgOh$ubvlRL{_qw=C<>(>8HsGl#u-{k{nS9(drigv$tWCwD^d6Rs}0h9nsffdPq z$;%ezi1Q`+m-gtgoNdE2{%`m<090N;`#eT7)S{%eYw;Q!>~{)AY}48EY! z);b0@_O@T)m9NTN^z?r-e+!j0z7#Kicps`@?ib=gs>K@-C9{AhVo^!LL)5GD4x@2| z1r232aGB+oetJ#Tkfhc`d{d8a+5%Qji&r<6#h z;472hlpK#r@{R*juDTV~hCD5p_G3N563#Pj0Z-Hm0w;q8!q2eJjWS?nV0*Q~^w}k# z=~(er>OrH?Y(93B=M?xXnDv8$%GEP}1AOD}_UH*R!dCJV^w4u+Wgzl}YSuK1Lo+&% z_r2=gj4GOdvf1w{^nG~Uv#*DnsB8IF#HLCIC&O29qYv~1#p;M`Sm>qwzs5^2xHse^f|=;)z@1naKF*msXuuUGZFxioUQbTZ)|382RX0>+G> zx>9lOW^?w4w4>+Z*Q&mL&~t&8j%*)X?#73e!t#oKxPqcr*a@sjc_gP ztuncf0HO8LB8aI{CEt?7+vT?&R_`1#Vb=k?rK9fYp{S#PUo@2l8)`8O{(R zI*W;^E7+H=!|?sur+6Kt6qwy$Ood(Y3oXWbRkx2G&x>mCSI+V5-wb&mx^aJ)04Zkf zFcb>>CFa6(v2rihu&4*4K5!~4ysIj#SbvUxWAGit>BrB>M;Goh8|{x+C*Sh6+-(8+ z=Lo^s%Oh(*4qO8cWz^=wHQO*JG_awqY9CMAry;&iQ~IN9=nqad&a-Lsi7w9azlpt}R?xmKYxV`D^A~cuUe4)tI*q zQFgbj>>0#_kFCESh5jDJU#g4p`8Z#n1RA1if>E0csCWCLTntjIaXTX9!jq%I-ProX z0>jhR3Sua!V2}oB&H>n!p(?W4;luFCtdJvK@v0zx66L`l1Y{a~cm?gXQxYI+bK$Q_ zuQUi{UC&x#Zd7AmW0K4+nxls1=*MV(Ci|x3P-)e@OkqjgkmEVHw<|v>P{%TNnW-5r zqBRy#hu{_KeTGlIC60H7VVp0|>Z#Z*}nGSiH(VE+qRvFZCf2{VkZ+%G_gIgZ6_1kw*6)1zCXP0 zf8D#*w^sG8Q>S-#tyHS(Y&`qfvi@mhd4{1{v3=$9SK_>s*Iyv#9>29?t`e6~pYoW8 z&cKF|6h~DrSO+OU%f&_H?-=;?ffY%iO#?5NWnu8u)*Qd_aTe=rY!)kseFhEymG{(p z|I@3*FARtK;e&zG2KJw_F8|vHVgD#E`ny8IzK>2VADtLJI<+uv?E?E7yGjae&{{?W zDt|_a`vH(uNznmOZM~bjo6aeD_cS{R(m~=-aphXoa^bliWAEU*+J+O5Hm1c899i1k zh}b<=O^%eQsQql4@yuR$rN3rx6r{TLJzc!3NPWD`gbyFVe+Y`4I?cY7o!*Tqi71Fs zI)m+t`=X-)_c-kNY6^gsqj^WGF|jYT>pQm&#%bdhdl&8>b(=qmQ7e&hSD!ZI%))(z zd5!>|&fH66!EML7zA+!;9$@Zd52yH!Z2k!u5r+6%>r56l zPs*@BE;Ap-I1W%ce=)g=f)r1__y})SpQ@knN3{FS09%n*KT*HOc!<{I91zWR)(q3J zT!>%|gb#&qjXZ!H8n7;YlW`76oxSyTZctVvKzQ*qXspW)X_AQ2#Y|d;2^)e-Pb`f< zut7w7m{-&Xbw)p4zu$ulH7w~K3`)oWRxFLsu20jZ3mYMc#Om=JBP4vEv>Mf>sy6_} zl!lK$B1h=+uo9*E{?y~|JnDe8Woz|Kg3?>R4PS@CA**=YUcJX)1sncZmQ1bJIC6}2 zGz+`tU~djqX|r%0$;T_jQai8>S}Qc{gPML6Vd_^YZGyeOq@Jew^^6try~FTQvoF`) zaXeUYfR;doTl^RMnqOpgcTmSoZ<)tXse~!cdX5={I0)UzBA2rC%}0I72$DQf!MPM% z=X&sO&~KP}9;Sjfd|e1EIgcrJ_a%q8X#1_J{lPM@qG0e z?w+ste)$u%FLQyEH;JX2ldwW#S!cLVctV9ID6**MV3E5IqY^EtEsXAZoNbItY?6Bn zQzVqhoe+=QtF2q{;6Wfdg+`p+K~29@w84~1@{z`&-Eaf~w956Oqtf2SFwWubD9`o; zt<3peNO8Bok;v;i)zoonMTs)^=iD>rm~`95Fe_+0KUalwHv(l+$6M7DxH!b- zts}>!r8A=KjC_UD z$QsURSjanaRw%t8)oSIP?|O_bJWjSuE1lo+l#O{eUFNDBcA=mX=B1e-vLdf}h`wFO zYl@b2ov%)_xvig)rc$%=u*#UTR8SuAN;KojhID@?dU5E=P1z7;#0Z`;p?`TSx=&uD zqIbGQJq+{yZMlV-tI{eSNs~$JVFcAkOSa(ZqquLjU&3Bl{W7{!o^{CYtn{GO#4c1$Y%jLE%ZG z_QOthPN+7bqu)r^GGC;1^n;%ze(NbVxZU$_-K-@DyXUF_-40PkZc_2p*a_Synv-GN zlV;qL5(JLRCWQCM-hG#2CQ0C~m@mRbW?`6Pp_o-L?AqW^2iJD|VeWw)k>#{U?m974l{S`(dtM{{L80K8n}v|87n3R$i7{7C`jg zrxtUk6d?>3wvb$-q98(oE`p*bg|wM7^6b-HS!FGbc(@<0z$O2pOzC*Cn8KXwWUBW& zaD3W@;xTSg7}HGS5uk6(#IE`v)W=+@V&o%s95^+_fftRHYYLrfQr*a7BctoKxD+_B zEgGh6?B7GWy{2y7rd_wj`2&59VmneuVwh4Jd%x4zJ_xV;QE9&)O0Q@0c5GH5ZO#qA zSi7D%!%Z^dgRidv32|ezA*4zsh#A%zH!4J>UJ-Sz4AtjBF=g6MCDUbok(e{xYF{CA z0WK206j27gm=u@Wk640{i1L-SkBQQ1P$nNc61WSs-$P$D2qTyA1%;Kq|3v*281)_Al>2|8& zc{aP$LG;%(COR#|Z*KjAAuln_9)TzU11 zb)+CQOG=d|s#2I*A%zbl+BOpuu~_eCulv*==5%(u7Ix+8R7egw7iQKjBK{=hrz*0t z&)@%?q!xaco>jDPSCNg!K}ta4#^Lt*$M@B0b#j0F_%WURBfNn7KfbSlv8D4zr-wgJ zZetTu17~Z1lb)%aqn@qZUz7IM21X{f00TW{c6PSE0~(a87}#xbAilPD81@$GBoJk_ z=?ow85i~EA0*t8>b;{2w!etCQ)dr#sXXu1p&)Msd4J8gx;R$o}W7a*d`72MW+bVoZSW1jF@#h8&O7n;M1|@WeM!!+9;YiLp)9M4j62RyLm8$OC12-5= z`ScW@_f0~uD`3nKbH+GPsYNL?E|m&q)i&e-zRjQojyNJTBLKwUOI8T zCkcu_Ox{A7GQ)ln_E&x~rB1_c4oCB_^~^tD@zl&WzlM>ochcT?&>auGl+au{A{*wE z@#Uz;4}A@SPDQqbWw4cN2BL_luEOXr;Pi3kZhOsGJ`bwjOS|NkR!KUXP8h1nW2vUx zV@Y!V>G}#+TRASl0LFCuqkz0yO*yfz(=tU9v~DK{wTQ2) z(x~b%6^-4QDOwF_&CV*CFwqHLo5@&Q+#;3bLC}e*QK~k7T!tRz^cT7E43B7`t4^h- z-(Iq+UQ=`@*#bOg>!z~G>Q`YK7}V5d+w<(eu1{6O-z&N$lP;YH;F#p>-3plu)ScKT zpI6s5a-K&-&n=hE;hyJvY#W?rpC1Y%23o?=4h^N=!LYS^cg36QLu8r7mV%#hTaNM_ zr7M{moUzxu)9URnNzFl}5dvhR!E3-Gt$}g_H*LzL+p0&@&tes=4MuCkDnr4W)J?`QyZgRPbg%XzpERMytZlfARDly9e$M<)-8l#$5d3nV!G? zo=zTPniR})B-<2#fZ$RzoykT185z@msd#DH0xgmD+$XW;B2jV=cZPf5q*9nx&wOyV z#&Ji&ZY!;QUEJ5}nTKZv8|hiwCbLMV&xQ>G$;bUN06uRYB13Xp{|oPWg%eY1v~Ok3 zs>8jH_l_fBNr930F5Y??ELT9$ooc5$i4EHHlKL)@S542LJF7*Z(mo%=DiJ(4RKM$Q zw#F82dNvjSyWa>(M+1P#2Xle7k+Zb{;Db5)Z(?!Yid}Ns3@EMFsPcTOHmKsAWKG#R zlSG07X&+5il--fZt0hhbeOBp&UY@zwCcjA8&5gERK15~4d0;l9_v!Gc5Srv49esgu?j`Zlj;6!sWBg>qB=1gX!IUEKVJDNsHm!Dob$o zdL9^)=4k1o2M&1CB$4q1>EbsJ8^cqwm*|25w+-9{|!cJGr%BwoM10(9gFwHV=0H z*nD4xly+)AQUc@u$Y}9jRYZSKaKGzV|E}4<=?BzpOYBci$6;~-lAs&8;VF603fCh2 z>5ZahGKJa&kTS#b<`y;_u2tXj(F#eg)_lcT_F{#=56%*I_q~*%i(SwS<^IA+zZr_y zBSvp+k(wDY{0QTUs8RId_&uuI0cn;G+6s93ajmy6VJNGTF_E2+%^JZ}Nttad$?jJ~ zNwE_8%4;*6n&cKNz#btkg;QVKYn#4sk{q*WeVu01L20#ZPBflhBV~R*_s3mGAVZ6J>9ruG{cU1=8W^*@AVe?p!RCNmE@n{5i z*R744RES>Ma};m?v}u?+KI1S;aS0Fhc}M1rE%^MVKF*1&AZmEzs5am7-E+%Ne%pl^ z_vIb9@vs~*49JqJ0MpGbKiivOkH&LI)Q>jcI8EYNgmjXbhH`Z%s+wpkCFJ>PMc$G& zHVH6pntP_3b6Zu1nzvi^L!L0vdX2SYh{I#a5$a-pOf?m<-E#wQ8#I#7yDj~~(}L8` zk@6tTmh$`~APgyui3*?`#UBf@vgb`=0!;vF+`CnI8bTUiyOp2g>=Yi|_gAjUM=>c-G(}XFD7M_fp%lb}SWg z0XCU&#e0pB(Z;quQgp~Rf{gzr`Mdl?9>zO&f2TCjDpPz%{$|YAD+IO|7z{O1jLQ4_ zSedu;^LHs^;vwx(IHiMgjXhm0in2y9pD8_NYapRHslqLVV h0ZH?j613#09F9gh11_^CY= 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 z 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 z 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%0Dl&~8-85)Jd79;GMoDnPzE3v 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 z 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 z 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

qnNT3apLH7d}qlh?*oL%@r~tVy-g7FX+j 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

0d}tgm$6fP>X{#6e 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 z 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 1.5 cm on physical examination (PE) and is part of the staging criteria for Chronic Lymphocytic Leukemia/Small Lymphocytic Lymphoma (CLL/SLL).\n\nFor cases diagnosed 1/1/2018 and later, all cases of CLL and SLL will require both the **Lugano classification, which is captured in the AJCC stage group data item, and the five components of the modified Rai staging system, which are captured in Site-Specific Data Items (adenopathy, anemia, lymphocytosis, organomegaly, and thrombocytopenia).**\n\nThe terms B-cell lymphocytic leukemia/chronic lymphocytic leukemia (CLL) and small lymphocytic lymphoma (SLL) are different clinical presentations of the same disease, with both terms coded 9823. \n\nTraditionally the lymphoma diagnosis was staged with the Ann Arbor staging system and it is now staged with the Lugano classification. In North America, CLL was staged with the Rai system. \n\nSee 3955: Derived Rai stage for additional information on the related data items.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician’s statement regarding the presence of adenopathy (present or absent) takes priority. If a physician’s statement and imaging are both available and in disagreement, go with the physician’s statement\n* If a physician’s statement is not available, use the definition of adenopathy in the ***Description*** to determine if adenopathy is present or not\n\n**Note 2:** **Record information from physical exam only**\n* This data item is determined from physical exam alone. If a physical exam cannot be used to detect adenopathy due to issues linked to the patient’s obesity, a physician statement of peripheral adenopathy based on a CT scan can be used. \n * A finding of retroperitoneal or mesenteric adenopathy on CT is not used in determining adenopathy and does not affect the assigned stage\n\n**Note 3:** **Rai Stage Criteria**\n* Rai stage is only applicable for CLL, in which the bone marrow and/or peripheral blood are involved (primary site C421 for bone marrow, see Hematopoietic Manual, Module 3: PH 5, 6). \n\n**Note 4:** **Pretreatment results only**\n* Record this data item based on physical exam, and physician's statement performed at diagnosis (pre-treatment)", - "last_modified" : "2025-11-06T21:55:56.594Z", - "definition" : [ { - "key" : "adenopathy", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Adenopathy not identified/not present \nNo lymph nodes > 1.5 cm\n\nPhysician states Rai stage 0" ], [ "1", "Adenopathy present \nPresence of lymph nodes > 1.5 cm\n\nPhysician states Rai stage I" ], [ "5", "Not applicable: Primary site is not C421" ], [ "9", "Not documented in medical record\nAdenopathy not assessed or unknown if assessed\nNo Rai stage is documented in the record and there is no documentation of adenopathy\nPhysician states Rai stage II-IV and there is no documentation of adenopathy" ] ], - "additional_info" : "**Source documents:** imaging, physical exam, clinician’s notes", - "coding_guidelines" : "**1)** **Code 0** when primary Site **is C421** AND there is no evidence of adenopathy \n* Physician documentation of Rai Stage 0\n\n**2)** **Code 1** when primary Site **is C421** AND there is evidence of adenopathy \n* Physician documentation of Rai Stage I\n\n**3)** **Code 5** when primary site **is NOT C421**\n\n**4)** **Code 9** when primary site **is C421**, AND there is no mention of adenopathy", - "rationale" : "Adenopathy is a prognostic factor required for staging of CLL/SLL in AJCC 8th edition, Chapter 79 *Hodgkin, and Non-Hodgkin Lymphomas*. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_36223.json b/src/test/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_36223.json deleted file mode 100644 index a2e2c6981..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_36223.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "adnexa_uterine_other_36223", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Biliary Other", - "title" : "Summary Stage 2018: Biliary Other", - "subtitle" : "Summary Stage 2018", - "notes" : "**Biliary Other**\n\n8000-8700, 8720-8790\n\nC248, C249\nC248 Overlapping lesion of biliary tract (neoplasms involving both intrahepatic and extrahepatic bile ducts) \nC249 Biliary tract, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n\n**Note 2:** **Other Summary Stage Chapters with other Biliary sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2024-05-16T15:18:09.931Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to bile duct, NOS\n- Lamina propria\n- Mucosa, NOS\n- Muscularis propria\n- Submucosa (superficial invasion)" ], [ "2", "**Regional by direct extension only**\n- Ampulla of Vater\n- Beyond wall of bile duct\n- Duodenum\n- Gallbladder\n + Unilateral branches of the right or left hepatic artery OR portal vein\n- Invasion of/through serosa\n- Liver, less than or equal to 2 cm or UNKNOWN\n- Omentum (greater or lesser)\n- Pancreas\n- Perimuscular connective tissue\n- Small intestine" ], [ "3", "**Regional lymph node(s) involved only**\n- Celiac\n- Cystic duct (node of Calot)\n- Node of foramen of Winslow (epiploic) (omental) \n- Pancreaticoduodenal\n- Pericholedochal (common bile duct)\n- Periduodenal\n- Peripancreatic (near head of pancreas only)\n- Porta hepatis (portal) (periportal) (hilar)\n- Superior mesenteric \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Abdominal wall\n + Colon\n + Common hepatic artery\n + Cystic artery/vein\n + Hepatic artery, NOS\n + Liver greater than 2 cm\n + Portal vein or its branches bilaterally\n + Portal vein, NOS\n + Stomach \n- Distant lymph node(s), NOS\n + Para-aortic\n + Peripancreatic (along body and tail of pancreas only)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_97891.json b/src/test/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_97891.json deleted file mode 100644 index 0df4445b7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/adnexa_uterine_other_97891.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "adnexa_uterine_other_97891", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Adnexa Uterine Other", - "title" : "Summary Stage 2018: Adnexa Uterine Other", - "subtitle" : "Summary Stage 2018", - "notes" : "**Adnexa Uterine Other**\n\n8000-8700, 8720-8790 \n\nC571-C574\nC571 Broad ligament\nC572 Round ligament\nC573 Parametrium\nC574 Uterine adnexa\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx\n\n**Note 2:** **Other Summary Stage Chapters with other Adnexa Uterine sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2024-05-18T15:36:08.633Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to tissue or organ of origin" ], [ "2", "**Regional by direct extension only**\n- Corpus uteri\n- Fallopian tube for ligaments\n- Mesosalpinx, ipsilateral\n- Ovary, ipsilateral \n- Peritoneum\n- Uterus, NOS" ], [ "3", "**Regional lymph node(s) involved only**\n\n- Para-aortic, NOS\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n\n- Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\n- Retroperitoneal, NOS\n\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Cervix uteri\n + Cul de sac (rectouterine pouch)\n + Omentum\n + Ovary, contralateral\n + Rectosigmoid\n + Sigmoid\n + Small intestine\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_lab_value_90733.json b/src/test/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_lab_value_90733.json deleted file mode 100644 index 1fd9d463e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_lab_value_90733.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "afp_post_orchiectomy_lab_value_90733", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "AFP Post-Orchiectomy Lab Value", - "title" : "AFP (Alpha Fetoprotein) Post-Orchiectomy Lab Value", - "description" : "AFP (Alpha Fetoprotein) Post-Orchiectomy Lab Value refers to the lowest AFP value measured post-orchiectomy. AFP is a serum tumor marker that is often elevated in patients with nonseminomatous germ cell tumors of the testis. The Post-Orchiectomy lab value is used to monitor response to therapy.\n\nAlpha-fetoprotein (AFP) is a protein normally made by immature liver cells in the fetus. In adults, high AFP levels (> 500 ng/ml) in the blood occur only in hepatocellular carcinoma (>1000), liver metastases (from a primary elsewhere), and germ cell tumors of the testes and ovaries. Elevated AFP values are found in non-seminomatous malignancies and mixed tumors of the testis. AFP is used with HCG to identify the specific cell type of testicular cancer. AFP is not secreted by pure seminoma or teratoma. If AFP > 500 ng/ml, the underlying condition is unlikely to be benign. If AFP > 10,000 ng/ml at diagnosis, the patient is likely to have a poor prognosis.\n\nAFP is more useful in monitoring response to therapy than making a diagnosis. The half-life of AFP is 5 to 7 days. After orchiectomy, the AFP should fall to < 25 ng/ml in 25-35 days. If elevated AFP persists, this is an indication of residual tumor.\n\nFor Testis, there are 4 related data items that record information on AFP for Testis.\n* 3805: AFP Post-Orchiectomy Lab Value\n* 3806: AFP Post-Orchiectomy Range\n* 3807: AFP Pre-Orchiectomy Lab Value\n* 3808: AFP Pre-Orchiectomy Range", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the AFP (Alpha Fetoprotein) Post-Orchiectomy Lab Value can be used to code this data item when no other information is available. \n\n**Note 2:** **Timing** \n* Record the lab value of the AFP test results documented in the medical record **after orchiectomy** but prior to adjuvant therapy. The lab value may be documented in a lab report, history and physical, or clinical statement in the pathology report.\n\n**Note 3:** **Lab values elevated after orchiectomy** \n* If the initial post-orchiectomy AFP remains elevated, review subsequent tests and record the lowest AFP value (normalization or plateau) prior to adjuvant therapy or before the value rises again. \n\n**Note 4:** **Related data item** \n* The same laboratory test should be used to record the related data item 3806: AFP Post-Orchiectomy Range.", - "last_modified" : "2025-11-06T21:52:25.999Z", - "definition" : [ { - "key" : "afp_post_orch_lab_value", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "0.0 nanograms/milliliter (ng/mL)" ], [ "0.1-99999.9", "0.1 - 99,999.9 ng/mL" ], [ "XXXXX.1", "100,000 ng/mL or greater" ], [ "XXXXX.7", "Test ordered, results not in chart" ], [ "XXXXX.8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code XXXXX.8 may result in an edit error.)" ], [ "XXXXX.9", "Not documented in medical record\nNo orchiectomy performed\nAFP (Alpha Fetoprotein) Post-Orchiectomy Lab Value not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood serum radioimmunoassay or enzyme assay (EIA)); sometimes in history and physical or clinical statement in pathology report\n\n**Other names include** AFP, aFP, Alpha Fetoprotein, Alpha-fetoprotein, alpha-fetoprotein, fetal alpha globulin\n\nFor further information, refer to the **Testis** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Testis*.\n\n**Normal Reference Range**\n* Adult men 0-15 ng/ml (SI: 0-15 µg/L)\n \n**Measurements** \n* A lab value expressed in micrograms/liter (ug/L) is equivalent to the same value expressed in nanograms/milliliter (ng/mL).\n * ***Example***: 10 IU/mL: 10/0.83 = 12.04 ng/mL; 5 IU/mL: 5/0.83= 6.02 ng/mL\n\n* If the lab value is expressed in IU/ml, use the following conversion: 1 ng/mL = 0.83 IU/mL.\n * To calculate ng from IU/mL, divide the value for IU by 0.83.\n * ***Example***: 10 IU/mL: 10/0.83 = 12.04 ng/mL; 5 IU/mL: 5/0.83= 6.02 ng/mL", - "coding_guidelines" : "**1)** **Code XXXXX.9** when\n* The only information available is a statement of elevated or normal\n* If the pre-orchiectomy AFP was normal; a post-orchiectomy AFP may not be performed. In this case, code XXXXX.9 should be recorded.\n\n***Examples***\n\n**1)** 1 ng/ml = Lab Value 1.0, Range 0\t\n\n**2)** 270 ug/l = Lab Value 270.0 (ng/ml = ug/L), Range 1\n\n**3)** 5500 ng/ml = Lab Value 5500.0, Range 2\n\n**4)** 12,500 ng/ml\t = Lab Value 12500.0, Range 3\n\n**5)** 110,000 ng/ml = Lab Value XXXXX.1, Range 3\n\n**6)** Physician states “AFP elevated,” but no value documented =\tLab value XXXXX.9, Range 4\n\n**7)** S value stated (no other information available) = Lab Value XXXXX.9, Range 9\n\n**8)** No AFP test done, or unknown if done = Lab Value XXXXX.9, Range 9", - "rationale" : "AFP (Alpha Fetoprotein) Post-Orchiectomy Lab Value is a Registry Data Collection Variable in AJCC. It was previously collected as Testis CS SSF #12." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_range_84758.json b/src/test/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_range_84758.json deleted file mode 100644 index 73cd68683..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/afp_post_orchiectomy_range_84758.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "afp_post_orchiectomy_range_84758", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "AFP Post-Orchiectomy Range", - "title" : "AFP (Alpha Fetoprotein) Post-Orchiectomy Range", - "description" : "AFP (Alpha Fetoprotein) Post-Orchiectomy Range identifies the range category of the lowest AFP value measured post-orchiectomy. AFP is a serum tumor marker that is often elevated in patients with nonseminomatous germ cell tumors of the testis. The Post-Orchiectomy lab value is used to monitor response to therapy.\n\nFor Testis, there are 4 related data items that record information on AFP for Testis.\n* 3805: AFP Post-Orchiectomy Lab Value\n* 3806: AFP Post-Orchiectomy Range\n* 3807: AFP Pre-Orchiectomy Lab Value\n* 3808: AFP Pre-Orchiectomy Range", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the AFP (Alpha Fetoprotein) Post-Orchiectomy Range can be used to code this data item when there is no other information available.\n\n**Note 2:** **Timing** \n* Record the range of the AFP test as documented in the medical record **after orchiectomy** but prior to adjuvant therapy. The lab value may be documented in a lab report, history and physical, or clinical statement in the pathology report.\n\n**Note 3:** **Lab values elevated after orchiectomy** \n* If the initial post-orchiectomy AFP remains elevated, review subsequent tests and record the lowest AFP value (normalization or plateau) prior to adjuvant therapy or before the value rises again.\n\n**Note 4:** **Pre-orchiectomy AFP normal** \n* If the pre-orchiectomy AFP was normal, a post-orchiectomy AFP may not be performed. In this case, code 5 should be recorded.\n\n**Note 5:** **Related data item** \n* The same laboratory test should be used to record the related data item 3805: AFP Post-Orchiectomy Lab Value.", - "last_modified" : "2025-11-06T16:28:14.963Z", - "definition" : [ { - "key" : "afp_post_orch_range", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Within normal limits" ], [ "1", "Above normal and less than 1,000 nanograms/milliliter (ng/mL)" ], [ "2", "1,000 -10,000 ng/mL" ], [ "3", "Greater than 10,000 ng/mL" ], [ "4", "Post-Orchiectomy alpha fetoprotein (AFP) stated to be elevated" ], [ "5", "Post-Orchiectomy alpha fetoprotein (AFP) unknown or not done but pre-orchiectomy AFP was normal" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nNo orchiectomy performed\nAFP (Alpha Fetoprotein) Post-Orchiectomy Range not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood serum radioimmunoassay or enzyme assay (EIA)); sometimes in history and physical or clinical statement in pathology report\n\n**Other names include** AFP, aFP, Alpha Fetoprotein, Alpha-fetoprotein, alpha-fetoprotein, fetal alpha globulin\n\nFor further information, refer to the **Testis** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Testis*.\n\n**Normal Reference Range**\n* Adult men 0-15 ng/ml (SI: 0-15 µg/L)\n \n**Measurements** \n* A lab value expressed in micrograms/liter (ug/L) is equivalent to the same value expressed in nanograms/milliliter (ng/mL).\n * ***Example***: 10 IU/mL: 10/0.83 = 12.04 ng/mL; 5 IU/mL: 5/0.83= 6.02 ng/mL\n\n* If the lab value is expressed in IU/ml, use the following conversion: 1 ng/mL = 0.83 IU/mL\n * To calculate ng from IU/mL, divide the value for IU by 0.83.\n * ***Example***: 10 IU/mL: 10/0.83 = 12.04 ng/mL; 5 IU/mL: 5/0.83= 6.02 ng/mL", - "rationale" : "AFP (Alpha Fetoprotein) Post-Orchiectomy Range is a Registry Data Collection Variable in AJCC. AFP (Alpha Fetoprotein) Post-Orchiectomy Range is used to assign the S Category Pathological and was previously collected as Testis CS SSF #13." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_lab_value_94162.json b/src/test/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_lab_value_94162.json deleted file mode 100644 index 532cb8a51..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_lab_value_94162.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "afp_pre_orchiectomy_lab_value_94162", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "AFP Pre-Orchiectomy Lab Value", - "title" : "AFP (Alpha Fetoprotein) Pre-Orchiectomy Lab Value", - "description" : "AFP (Alpha Fetoprotein) Pre-Orchiectomy Lab Value refers to the AFP value measured prior to treatment. AFP is a tumor marker that is often elevated in patients with nonseminomatous germ cell tumors of the testis.\n\nAlpha-fetoprotein (AFP) is a protein normally made by immature liver cells in the fetus. In adults, high AFP levels (> 500 ng/ml) in the blood occur only in hepatocellular carcinoma (>1000), liver metastases (from a primary elsewhere), and germ cell tumors of the testes and ovaries. Elevated AFP values are found in non-seminomatous malignancies and mixed tumors of the testis. AFP is used with HCG to identify the specific cell type of testicular cancer. AFP is not secreted by pure seminoma or teratoma. If AFP > 500 ng/ml, the underlying condition is unlikely to be benign. If AFP > 10,000 ng/ml at diagnosis, the patient is likely to have a poor prognosis.\n\nAFP is more useful in monitoring response to therapy than making a diagnosis. The half-life of AFP is 5 to 7 days. After orchiectomy, the AFP should fall to < 25 ng/ml in 25-35 days. If elevated AFP persists, this is an indication of residual tumor.\n\nFor Testis, there are 4 related data items that record information on AFP for Testis.\n* 3805: AFP Post-Orchiectomy Lab Value\n* 3806: AFP Post-Orchiectomy Range\n* 3807: AFP Pre-Orchiectomy Lab Value\n* 3808: AFP Pre-Orchiectomy Range", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the AFP (Alpha Fetoprotein) Pre-Orchiectomy Lab Value can be used to code this data item when no other information is available. \n\n**Note 2:** **Timing** \n* Record the lab value of the highest AFP test result documented in the medical record **prior to orchiectomy** or prior to any systemic treatment. The lab value may be documented in a lab report, history and physical, or clinical statement in the pathology report.\n\n**Note 3:** **Related data item** \n* The same laboratory test should be used to record the related data item 3808: AFP Pre-Orchiectomy Range.", - "last_modified" : "2025-11-06T21:50:45.375Z", - "definition" : [ { - "key" : "afp_pre_orch_lab_value", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "0.0 nanograms/milliliter (ng/mL)" ], [ "0.1-99999.9", "0.1 - 99,999.9 ng/mL" ], [ "XXXXX.1", "100,000 ng/mL or greater" ], [ "XXXXX.7", "Test ordered, results not in chart" ], [ "XXXXX.8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code XXXXX.8 may result in an edit error.)" ], [ "XXXXX.9", "Not documented in medical record\nAFP (Alpha Fetoprotein) Pre-Orchiectomy Lab Value not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood serum radioimmunoassay or enzyme assay (EIA)); sometimes in history and physical or clinical statement in pathology report\n\n**Other names include** AFP, aFP, Alpha Fetoprotein, Alpha-fetoprotein, alpha-fetoprotein, fetal alpha globulin\n\nFor further information, refer to the **Testis** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Testis*.\n\n**Normal Reference Range**\n* Adult men 0-15 ng/ml (SI: 0-15 µg/L)\n \n**Measurements** \n* A lab value expressed in micrograms/liter (ug/L) is equivalent to the same value expressed in nanograms/milliliter (ng/mL).\n * ***Example***: 10 IU/mL: 10/0.83 = 12.04 ng/mL; 5 IU/mL: 5/0.83= 6.02 ng/mL\n\n* If the lab value is expressed in IU/ml, use the following conversion: 1 ng/mL = 0.83 IU/mL.\n * To calculate ng from IU/mL, divide the value for IU by 0.83.\n * ***Example***: 10 IU/mL: 10/0.83 = 12.04 ng/mL; 5 IU/mL: 5/0.83= 6.02 ng/mL", - "coding_guidelines" : "***Examples***\n\n**1)** 1 ng/ml = Lab Value 1.0, Range 0\t\n\n**2)** 270 ug/l = Lab Value 270.0 (ng/ml = ug/L), Range 1\n\n**3)** 5500 ng/ml = Lab Value 5500.0, Range 2\n\n**4)** 12,500 ng/ml\t = Lab Value 12500.0, Range 3\n\n**5)** 110,000 ng/ml = Lab Value XXXXX.1, Range 3\n\n**6)** Physician states “AFP elevated,” but no value documented =\tLab value XXXXX.9, Range 4\n\n**7)** S value stated (no other information available) = Lab Value XXXXX.9, Range 9\n\n**8)** No AFP test done, or unknown if done = Lab Value XXXXX.9, Range 9", - "rationale" : "AFP (Alpha Fetoprotein) Pre-Orchiectomy Lab Value is a Registry Data Collection Variable in AJCC. It was previously collected as Testis CS SSF #6." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_range_11386.json b/src/test/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_range_11386.json deleted file mode 100644 index b034308fc..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/afp_pre_orchiectomy_range_11386.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "afp_pre_orchiectomy_range_11386", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "AFP Pre-Orchiectomy Range", - "title" : "AFP (Alpha Fetoprotein) Pre-Orchiectomy Range", - "description" : "AFP (Alpha Fetoprotein) Pre-Orchiectomy Range identifies the range category of the highest AFP value measured prior to treatment. AFP is a serum tumor marker that is often elevated in patients with nonseminomatous germ cell tumors of the testis.\n\nFor Testis, there are 4 related data items that record information on AFP for Testis.\n* 3805: AFP Post-Orchiectomy Lab Value\n* 3806: AFP Post-Orchiectomy Range\n* 3807: AFP Pre-Orchiectomy Lab Value\n* 3808: AFP Pre-Orchiectomy Range", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the AFP (Alpha Fetoprotein) Pre-Orchiectomy Range can be used to code this data item when no other information is available. \n\n**Note 2:** **Timing** \n* Record the range of the highest AFP test result documented in the medical record **prior to orchiectomy** or prior to any systemic treatment. The lab value may be documented in a lab report, history and physical, or clinical statement in the pathology report.\n\n**Note 3:** **Related data item** \n* The same laboratory test should be used to record the related data item 3807: AFP Pre-Orchiectomy Lab Value.", - "last_modified" : "2025-11-06T16:30:39.117Z", - "definition" : [ { - "key" : "afp_pre_orch_range", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Within normal limits" ], [ "1", "Above normal and less than 1,000 nanograms/milliliter (ng/mL)" ], [ "2", "1,000 -10,000 ng/mL" ], [ "3", "Greater than 10,000 ng/mL" ], [ "4", "Pre-Orchiectomy alpha fetoprotein (AFP) stated to be elevated" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nAFP (Alpha Fetoprotein) Pre-Orchiectomy Range not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood serum radioimmunoassay or enzyme assay (EIA)); sometimes in history and physical or clinical statement in pathology report\n\n**Other names include** AFP, aFP, Alpha Fetoprotein, Alpha-fetoprotein, alpha-fetoprotein, fetal alpha globulin\n\nFor further information, refer to the **Testis** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Testis*.\n\n**Normal Reference Range**\n* Adult men 0-15 ng/ml (SI: 0-15 µg/L)\n \n**Measurements** \n* A lab value expressed in micrograms/liter (ug/L) is equivalent to the same value expressed in nanograms/milliliter (ng/mL).\n * ***Example***: 10 IU/mL: 10/0.83 = 12.04 ng/mL; 5 IU/mL: 5/0.83= 6.02 ng/mL\n\n* If the lab value is expressed in IU/ml, use the following conversion: 1 ng/mL = 0.83 IU/mL\n * To calculate ng from IU/mL, divide the value for IU by 0.83.\n * ***Example***: 10 IU/mL: 10/0.83 = 12.04 ng/mL; 5 IU/mL: 5/0.83= 6.02 ng/mL", - "rationale" : "AFP (Alpha Fetoprotein) is a Registry Data Collection Variable in AJCC. AFP (Alpha Fetoprotein) Pre-Orchiectomy Range is used to assign the S Category Clinical and was previously collected as Testis CS SSF #7." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/afp_pretx_interpretation_66147.json b/src/test/resources/algorithms/eod_public/3.3/tables/afp_pretx_interpretation_66147.json deleted file mode 100644 index ea76491f4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/afp_pretx_interpretation_66147.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "afp_pretx_interpretation_66147", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "AFP Pretreatment Interpretation", - "title" : "AFP (Alpha Fetoprotein) Pretreatment Interpretation", - "description" : "AFP (Alpha Fetoprotein) Pretreatment Interpretation, a nonspecific serum protein that generally is elevated in the setting of hepatocellular carcinoma (HCC), is a prognostic factor for liver cancer. This data item pertains to the pre-treatment interpretation.\n\nThere are 2 related data items that record information on CEA for Colon and Rectum.\n* 3810: AFP Pretreatment Lab Value\n* 3809: AFP Pretreatment Interpretation", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of AFP (Alpha Fetoprotein) Pretreatment Lab Value can be used to code this data item when no other information is available.\n\n**Note 2:** **Pretreatment results only**\n* Record the lab value of the highest AFP test result documented in the medical record prior to treatment. The lab value may be recorded in a lab report, history and physical, or clinical statement in the pathology report.\n\n**Note 3:** **Related data item**\n* The same laboratory test should be used to record information in the related data item 3810: AFP Pretreatment Lab Value.", - "last_modified" : "2024-04-08T16:00:30.692Z", - "definition" : [ { - "key" : "afp_pretx_interpretation", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Negative/normal; within normal limits" ], [ "1", "Positive/elevated" ], [ "2", "Borderline; undetermined if positive or negative" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nAFP pretreatment interpretation not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood serum radioimmunoassay or enzyme assay (EIA)); sometimes in history and physical or clinical statement in pathology report\n\n**Normal Reference Range:** \n* Adult men and non-pregnant women: 0-15 ng/ml (SI: 0-15 mg/L)", - "coding_guidelines" : "**1)** Record the clinician’s interpretation of the highest value **prior to treatment**, based on the reference range used by the lab in the Interpretation data item.\n* If the physician's statement is not available, use the **Reference Ranges** included in **Additional Information** for this data item to determine the interpretation", - "rationale" : "AFP (Alpha Fetoprotein) Pretreatment Interpretation is a Registry Data Collection Variable in AJCC. This data item was previously collected for Liver, CS SSF #1." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/afp_pretx_lab_value_25871.json b/src/test/resources/algorithms/eod_public/3.3/tables/afp_pretx_lab_value_25871.json deleted file mode 100644 index a78dde7e7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/afp_pretx_lab_value_25871.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "afp_pretx_lab_value_25871", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "AFP Pretreatment Lab Value", - "title" : "AFP (Alpha Fetoprotein) Pretreatment Lab Value", - "description" : "AFP (Alpha Fetoprotein) Pretreatment Lab Value is a nonspecific serum protein that generally is elevated in the setting of hepatocellular carcinoma (HCC). This data item pertains to the pre-treatment lab value.\n\nA protein normally produced by a fetus. Alpha fetoprotein levels are usually undetectable in the blood of healthy adult men or women (who are not pregnant). An elevated level of alpha-fetoprotein suggests the presence of either a primary liver cancer or germ cell tumor.\n\nThere are 2 related data items that record information on CEA for Colon and Rectum.\n* 3810: AFP Pretreatment Lab Value\n* 3809: AFP Pretreatment Interpretation", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of AFP (Alpha Fetoprotein) Pretreatment Lab Value can be used to code this data item when no other information is available.\n\n**Note 2:** **Pretreatment results only**\n* Record the lab value of the highest AFP test result documented in the medical record prior to treatment. The lab value may be recorded in a lab report, history and physical, or clinical statement in the pathology report.\n\n**Note 3:** **Related data item**\n* The same laboratory test should be used to record information in the related data item 3810: AFP Pretreatment Lab Value", - "last_modified" : "2025-11-06T18:10:44.980Z", - "definition" : [ { - "key" : "afp_pretx_lab_value", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "0.0 nanograms/milliliter (ng/ml); not detected" ], [ "0.1-9999.9", "0.1-9999.9 ng/ml\n(Exact value to nearest tenth of ng/ml)" ], [ "XXXX.1", "10,000.0 ng/ml or greater" ], [ "XXXX.7", "Test ordered, results not in chart" ], [ "XXXX.8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code XXXX.8 will result in an edit error.)" ], [ "XXXX.9", "Not documented in medical record\nAFP (Alpha Fetoprotein) Pretreatment Lab Value not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood serum radioimmunoassay or enzyme assay (EIA)); sometimes in history and physical or clinical statement in pathology report\n\n**Normal Reference Range:** \n* Adult men and non-pregnant women: 0-15 ng/ml (SI: 0-15 mg/L)", - "coding_guidelines" : "**1)** Record the highest value prior to treatment in nanograms per milliliter (ng/ml) in the range 0.1 (1 ng/ml) to 9999.9 (9999 ng/ml) in the Lab Value data item.\n\n**2)** A lab value expressed in micrograms per liter (ug/L) is equivalent to the same value expressed in ng/ml.\n\n***Examples*** \n\n* AFP Lab Value 0 ng/ml - Code 0.0\n* AFP Lab Value 23.6 ng/ml - Code 23.6\n* AFP Lab Value 11,0000 - Code XXXX.,1\n* AFP Lab Value Test Ordered, results not in chart - Code XXXX.7\n* AFP Lab Value Not documented in medical record, AFP test not done, unknown if APF test done - Code XXXX.9", - "rationale" : "AFP (Alpha Fetoprotein) Pretreatment Lab Value is a Registry Data Collection Variable in AJCC. This data item was previously collected for Liver, CS SSF #3." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/age_at_diagnosis_validation_65093.json b/src/test/resources/algorithms/eod_public/3.3/tables/age_at_diagnosis_validation_65093.json deleted file mode 100644 index 3b13d2e46..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/age_at_diagnosis_validation_65093.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "id" : "age_at_diagnosis_validation_65093", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Age at Diagnosis Validation", - "title" : "Age at Diagnosis Validation", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2020-05-19T20:49:53.678Z", - "definition" : [ { - "key" : "age_dx", - "name" : "Age At Diagnosis", - "type" : "INPUT" - } ], - "rows" : [ [ "000-120,999" ], [ "0-9" ], [ "10-99" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ajcc_grade_3_94758.json b/src/test/resources/algorithms/eod_public/3.3/tables/ajcc_grade_3_94758.json deleted file mode 100644 index f6fdb33c0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ajcc_grade_3_94758.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ajcc_grade_3_94758", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Code 1 for stated as \"low grade\" only\n\n**Note 5:** Codes 1-3 take priority over H.\n* If “high grade” is documented and G2 (Moderately differentiated, high grade) or G3 (Poorly differentiated, high grade) are not documented, code H (high grade, NOS)\n\n**Note 6:** G3 includes undifferentiated and anaplastic. \n\n**Note 7:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n\n**Note 8:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).\n\n**Note 9:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Code H is treated as a G3 when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-04-29T12:56:06.491Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated, low grade" ], [ "2", "G2: Moderately differentiated, high grade " ], [ "3", "G3: Poorly differentiated, high grade " ], [ "H", "Stated as \"high grade\" only" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ajcc_path_grade_3_70197.json b/src/test/resources/algorithms/eod_public/3.3/tables/ajcc_path_grade_3_70197.json deleted file mode 100644 index a30504ee3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ajcc_path_grade_3_70197.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ajcc_path_grade_3_70197", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. \n* *Example*: Bone biopsy reports states moderately differentiated sarcoma. The surgical resection states a high grade sarcoma. Assign Grade Pathological using the H code \n - Code Grade Clinical as 2 since Moderately differentiated (G2) is the preferred grading system\n - Code Grade Pathological as H since the preferred grading system was not used and there is a code available for “high grade” only\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Code 1 for stated as “low grade” only.\n\n**Note 6:** Codes 1-3 take priority over H.\n* If “high grade” is documented and G2 (Moderately differentiated, high grade) or G3 (Poorly differentiated, high grade) are not documented, code H (high grade, NOS)\n\n**Note 7:** G3 includes undifferentiated and anaplastic.\n\n**Note 8:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 9:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 8, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 10:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Code H is treated as a G3 when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-10-13T12:47:05.981Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated, low grade" ], [ "2", "G2: Moderately differentiated, high grade " ], [ "3", "G3: Poorly differentiated, high grade " ], [ "H", "Stated as \"high grade\" only" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/alk_rearrangement_610.json b/src/test/resources/algorithms/eod_public/3.3/tables/alk_rearrangement_610.json deleted file mode 100644 index 1d08c7e17..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/alk_rearrangement_610.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "alk_rearrangement_610", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "ALK Rearrangement", - "title" : "ALK Rearrangement", - "description" : "Testing for ALK rearrangement is performed for patients with advanced non-small cell lung cancer (NSCLC) to identify tumors which are sensitive to small-molecule ALK kinase inhibitors. \n\n“ALK positive cancer describes cancer cells that have a change in the structure of the anaplastic lymphoma kinase (ALK) gene or a higher-than-normal amount of ALK protein on their surface. In normal cells, ALK helps control cell growth. When cancer cells have the changed ALK gene or make too much ALK protein, the cancer cells may grow more quickly. Knowing whether a cancer is ALK positive may help plan treatment for advanced non-small cell cancers in the lung.” (NCI Dictionary of Cancer Terms Definition of EGFR - NCI Dictionary of Cancer Terms - NCI)\n\nThe absence or presence of ALK protein expression determines if the tumor will respond to treatment with a targeted inhibitor. ALK protein expression predicts the ALK rearrangement gene, which are more likely to respond to the targeted inhibitor treatment. The most common ALK rearrangements are. \n * EML4-ALK\n * KIF5B-ALK\n * TFG-ALK\n * KLC1-ALK", - "notes" : "**Note 1:** **Effective years** \n* This SSDI is effective for diagnosis years 2021+\n* For cases diagnosed 2018-2020, this SSDI must be blank\n\n**Note 2:** **Physician Statement** \n* Physician statement of ALK rearrangement can be used to code this data item when no other information is available.\n* This data item only includes rearrangements. Ignore any amplification or point mutations\n\n**Note 3:** **Applicable histologies/stages**\n* ALK may be recorded for all histologies and stages; however, it is primarily performed for advanced non-small cell carcinomas. If information is not available, code 9. \n\n**Note 4:** **Neoadjuvant Therapy**\n* Record the assay from tumor specimens prior to neoadjuvant therapy.\n* If neoadjuvant therapy is given and there are no ALK results from pre-treatment specimens, report the findings from post-treatment specimens.", - "last_modified" : "2025-11-06T18:27:44.689Z", - "definition" : [ { - "key" : "alk_rearrangement", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Normal\nALK negative\nNegative for rearrangement, no rearrangement identified, no mutations (somatic) identified, not present, not detected" ], [ "1", "Abnormal Rearrangement identified/detected: EML4-ALK, KIF5B-ALK, TFG-ALK, and/or KLC1-ALK " ], [ "2", "Rearrangement identified/detected: Other ALK Rearrangement not listed in code 1" ], [ "4", "Rearrangement, NOS" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nALK Rearrangement not assessed or unknown if assessed" ], [ "", "Must be blank if diagnosis year is before 2021" ] ], - "additional_info" : "**Source documents:** pathology report or clinical laboratory report, molecular report, immunohistochemistry report\n\n**Other names include** ALK tyrosine kinase receptor, anaplastic lymphoma kinase, anaplastic lymphoma receptor tyrosine kinase, CD246, CD246 antigen, NBLST3\n\t\nFor further information, refer to the **Lung Biomarker Reporting** cancer protocol published by the College of American Pathologists.", - "coding_guidelines" : "**1)** **Code 0** when ALK normal/negative/not identified\n\n**2)** **Code 1 or 2** when ALK identified/detected (EML4-ALK, KIF5B-ALK, TFG-ALK, KLC1-ALK)\n\n**3)** **Code 4** for when ALK identified/detected, and there is no mention of the specific rearrangement \n\n**4)** **Code 9** when \n* Insufficient amount of tissue available to perform test\n* Test done and documented to be equivocal\n* No microscopic confirmation of tumor\n* ALK Rearrangement not ordered or not done, or unknown if ordered or done", - "rationale" : "ALK rearrangement is recommended by treatment guidelines for patients with advanced lung cancer to as a prognostic marker and factor in determining appropriate therapy. It is a new data item for cases diagnosed 1/1/2021+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/anemia_15893.json b/src/test/resources/algorithms/eod_public/3.3/tables/anemia_15893.json deleted file mode 100644 index 2ddc3ea3c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/anemia_15893.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "anemia_15893", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Anemia", - "title" : "Anemia", - "description" : "Anemia is defined by a deficiency of red blood cells or of hemoglobin in the blood. In staging of Chronic Lymphocytic Leukemia/Small Lymphocytic Leukemia (CLL/SLL), anemia is defined as Hgb <11.0 g/dL.\n\nFor cases diagnosed 1/1/2018 and later, all cases of CLL and SLL will require both the **Lugano classification, which is captured in the AJCC stage group data item, and the five components of the modified Rai staging system, which are captured in Site-Specific Data Items (adenopathy, anemia, lymphocytosis, organomegaly, and thrombocytopenia).**\n\nThe terms B-cell lymphocytic leukemia/chronic lymphocytic leukemia (CLL) and small lymphocytic lymphoma (SLL) are different clinical presentations of the same disease, with both terms coded 9823. \n\nTraditionally the lymphoma diagnosis was staged with the Ann Arbor staging system and it is now staged with the Lugano classification. In North America, CLL was staged with the Rai system. \n\nSee 3955: Derived Rai stage for additional information on the related data items.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of anemia or Rai Stage can be used to code this data item when no other information is available. \n * The physician's stated Rai stage always takes priority when there is conflicting information\n\n**Note 2:** **Rai Stage Criteria**\n* Rai stage is only applicable for CLL, in which the bone marrow and/or peripheral blood are involved (primary site C421 for bone marrow, see Hematopoietic Manual, Module 3: PH 5, 6). \n\n**Note 3:** **Pretreatment results only**\n* Record this data item based on a blood test (CBC and differential) performed at diagnosis (pre-treatment)\n \n**Note 4:** **Values for Anemia**\n* Anemia is defined as Hgb <11.0 g/dL and is part of the staging criteria. \n* Use the cut points listed in the table regardless of the lab’s reference range\n* A lab value expressed in grams per liter (g/L) is 10 times the same value expressed in g/dL; therefore, the cut point of 11.0 g/dL is equivalent to 110 g/L", - "last_modified" : "2025-02-24T16:02:37.557Z", - "definition" : [ { - "key" : "anemia", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Anemia not present \nHgb >=11.0 g/dL\n\nPhysician states Rai stage 0-II" ], [ "1", "Anemia present \nHgb <11.0 g/dL" ], [ "5", "Not applicable: Primary site is not C421" ], [ "6", "Lab value unknown, physician states patient is anemic\n\nPhysician states Rai stage III" ], [ "7", "Test ordered, results not in chart" ], [ "9", "Not documented in medical record\nAnemia not assessed or unknown if assessed\nNo Rai stage is documented in the record and there is no documentation of anemia\nPhysician states Rai stage IV and there is no documentation of anemia" ] ], - "additional_info" : "**Source documents:** laboratory results, clinician’s notes", - "coding_guidelines" : "**1)** **Code 0** when primary Site is C421 AND there is no evidence of anemia \n* Physician documentation of Rai Stage 0-II\n\n**2)** **Code 1** when primary Site is C421 AND there is evidence of anemia\n\n**3)** **Code 5** when primary site is NOT C421\n\n**4)** **Code 6** when primary site is C421, AND anemia is based on a physician’s statement of anemia or a Rai Stage \n* Physician states Rai Stage III\n\n**5)** **Code 9** when primary site is C421, AND there is no mention of anemia", - "rationale" : "Anemia is a prognostic factor required for staging of Chronic Lymphocytic Leukemia/Small Lymphocytic Leukemia (CLL/SLL) in AJCC 8th edition, Chapter 79 *Hodgkin, and Non-Hodgkin Lymphomas*. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/b2_microglob_pretx_level_83264.json b/src/test/resources/algorithms/eod_public/3.3/tables/b2_microglob_pretx_level_83264.json deleted file mode 100644 index 6ce724c94..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/b2_microglob_pretx_level_83264.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "b2_microglob_pretx_level_83264", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Serum Beta-2 Microglobulin Pretreatment Level", - "title" : "Serum Beta-2 Microglobulin Pretreatment Level", - "description" : "Serum Beta-2 Microglobulin is a protein that is found on the surface of many cells and plentiful on the surface of white blood cells. Increased production or destruction of these cells causes Serum β2 (beta-2) Microglobulin level to increase. Elevated Serum β2 (beta-2) Microglobulin level is a prognostic factor for plasma cell myeloma.\n\nThe Revised International Staging System (R-ISS or RISS) is now used to stage plasma cell myeloma (9732/3), using several different criteria. The stages are based on the absence or presence of the following related criteria. \n* 3931: Serum Beta-2 Microglobulin Pretreatment Level\n* 3930: Serum Albumin Pretreatment Level\n* 3857: High Risk Cytogenetics\n* 3869: LDH Level\n\nRequired for Staging: The AJCC Staging System Plasma Cell Myeloma and Plasma Cell Disorders (9732/3 only) and EOD. \n* Note: R-ISS stage is not applicable for the descriptions of plasma multiple myeloma that are listed in the codes 1 and 9 in the SSDI Schema Discriminator 1: Plasma Cell Myeloma Terminology. If you have coded 1 or 9 for this Schema Discriminator, the four data items listed above are BLANK.\n\nThe R-ISS stages are\n* Stage I: Serum Beta-2-microglobulin <3.5 mg/L and serum albumin > 3.5 g/dL and no high-risk cytogenetics and Normal LDH\n* Stage II: Not R-ISS I or III\n* Stage III: Serum Beta-2-microglobulin > 5.5 mg/L and high-risk cytogenetics and/or high LDH", - "notes" : "**Note 1:** **Physician statement**\n* Physician statement of Serum Beta-2-Microglobulin Pretreatment Level can be used to code this data item when no other information is available (See Note 3)\n\n**Note 2:** **Pretreatment results only**\n* Record this data item based on a **blood test** performed at diagnosis (pre-treatment). Use the highest value available.\n * Do not use results from a urine test\n\n**Note 3:** **Component of R-ISS Stage**\n* Serum Beta-2 Microglobulin is part of the Revised International Staging (R-ISS). \n* Elevated serum microglobulin is defined as ≥ 5.5 mg/L\n* Use the cut points listed in the table below regardless of the lab’s reference range.\n * **Code 0** if physician states **RISS Stage 1** and there is no other information\n * **Code 2** if physician states **RISS Stage 3** and there is no other information", - "last_modified" : "2025-11-06T16:07:15.721Z", - "definition" : [ { - "key" : "b2_microglob_pretx_level", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "β2-microglobulin < 3.5 mg/L" ], [ "1", "β2-microglobulin ≥ 3.5 mg/L < 5.5 mg/L" ], [ "2", "β2-microglobulin ≥ 5.5 mg/L" ], [ "5", "Schema Discriminator 1: Plasma Cell Myeloma Terminology coded to 1 or 9" ], [ "7", "Test ordered, results not in chart" ], [ "9", "Not documented in medical record\nSerum Beta-2 Microglobulin Pretreatment Level not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** laboratory tests (blood only)\n\n**Other names include** B2M, Total Beta-2 microglobulin, B2-microglobulin, and B2M", - "coding_guidelines" : "**1) Code 5** if Schema Discriminator 1: Plasma Cell Myeloma Terminology is coded to 1 or 9\n\n**2) Code 9** when there is no mention of the Serum beta-2-microglobulin", - "rationale" : "Serum Beta-2 Microglobulin Pretreatment Level is a prognostic factor required in AJCC 8th edition, Chapter 82 *Plasma Cell Myeloma and Plasma Cell Disorders*, for staging of plasma cell myeloma. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/behavior.json b/src/test/resources/algorithms/eod_public/3.3/tables/behavior.json deleted file mode 100644 index 786f79e50..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/behavior.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "behavior", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Behavior", - "title" : "Behavior ICD-O-3", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2020-05-19T17:09:34.235Z", - "definition" : [ { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "desc", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Benign" ], [ "1", "Uncertain Benign/Malig" ], [ "2", "In Situ" ], [ "3", "Malignant Primary" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/behavior_with_primary_tumor_for_ss2018_t_69793.json b/src/test/resources/algorithms/eod_public/3.3/tables/behavior_with_primary_tumor_for_ss2018_t_69793.json deleted file mode 100644 index 4e1a55674..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/behavior_with_primary_tumor_for_ss2018_t_69793.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "behavior_with_primary_tumor_for_ss2018_t_69793", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Behavior with Primary Tumor for SS2018 T", - "title" : "Behavior with EOD Primary Tumor for SS2018 T", - "notes" : "If EOD Primary Tumor = 050 or 070, Behavior is necessary to determine the Summary Stage T component.", - "last_modified" : "2019-05-03T21:46:21.827Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "EOD Primary Tumor", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "050,070", "2", "VALUE:IS" ], [ "050,070", "3", "VALUE:L" ], [ "050,070", "0,1", "VALUE:U" ], [ "000,100,200,300,400,450,500,600,700,800,999", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/bileductsdistal_bileductsperihilar_cysticduct_24541.json b/src/test/resources/algorithms/eod_public/3.3/tables/bileductsdistal_bileductsperihilar_cysticduct_24541.json deleted file mode 100644 index 96d7f4017..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/bileductsdistal_bileductsperihilar_cysticduct_24541.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id" : "bileductsdistal_bileductsperihilar_cysticduct_24541", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Discriminator 1", - "title" : "Schema Discriminator 1: BileDuctsDistal/BileDuctsPerihilar/CysticDuct", - "description" : "Cystic duct, distal bile ducts, and perihilar bile ducts all have the same ICD-O topography code (C240). However, for purposes of stage grouping in the AJCC 8th edition, they each have different chapters for stage. A schema discriminator is necessary to distinguish between these primary sites so that the appropriate chapter/schema is used.", - "notes" : "**Note:** **Schema Discriminator for C240** \n* A schema discriminator is used to discriminate for primary site C240 (extrahepatic bile ducts) for the subsite in which the tumor arose.\n\n* **00242 : Cystic Duct (see code 3)**\n\n Per the AJCC Gallbladder Staging System, the gallbladder tapers into the cystic duct\n\n* **00250: Bile Ducts Perihilar (see codes 1, 5, 6, 9)**\n\n Per the AJCC Perihilar Bile Ducts Staging System, perihilar (or proximal) cholangiocarcinomas involve the main biliary confluence of the right and left hepatic ducts and comprise 50-70% of all cases of bile ducts carcinomas\n\n* **00260: Bile Ducts Distal (see codes 4, 7)**\n\n Per the AJCC Distal Bile Duct Staging System, these tumors have their center located between the confluence of the cystic duct and common hepatic duct and the Ampulla of Vater (excluding ampullary carcinomas.)", - "last_modified" : "2025-11-06T18:19:00.127Z", - "definition" : [ { - "key" : "discriminator_1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "disease", - "name" : "Schema ID #/Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Perihilar bile duct(s)\nProximal extrahepatic bile duct(s)\nHepatic duct(s)", "00250: Bile Ducts Perihilar" ], [ "3", "Cystic bile duct; cystic duct", "00242: Cystic Duct" ], [ "4", "Distal bile duct\nCommon bile duct\nCommon duct, NOS", "00260: Bile Duct Distal" ], [ "5", "Diffuse involvement \nMore than one subsite involved, subsite of origin not stated", "00250: Bile Ducts Perihilar" ], [ "6", "Stated as middle extrahepatic bile duct\nAND treated with combined hepatic and hilar resection", "00250: Bile Ducts Perihilar" ], [ "7", "Stated as middle extrahepatic bile duct\nAND treated with pancreaticoduodenectomy", "00260: Bile Duct Distal" ], [ "9", "Extrahepatic bile ducts, NOS ", "00250: Bile Ducts Perihilar" ] ], - "rationale" : "A schema discriminator is used to assign AJCC ID when site and histology alone are insufficient to identify the applicable AJCC staging method and to assign Schema ID, which links each case to the appropriate SSDIs, Summary Stage and EOD data collection system." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_lab_value_68660.json b/src/test/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_lab_value_68660.json deleted file mode 100644 index c3823a38b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_lab_value_68660.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "bilirubin_pretx_lab_value_68660", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Bilirubin Pretreatment Total Lab Value", - "title" : "Bilirubin Pretreatment Total Lab Value", - "description" : "Bilirubin Pretreatment Total Lab Value records the bilirubin value prior to treatment. Bilirubin level is an indicator of how effectively the liver excretes bile and is required to calculate the Model for End-Stage Liver Disease (MELD) score used to assign priority for liver transplant.\n\nBilirubin is produced from the breakdown of hemoglobin (the protein that binds oxygen) in red blood cells. The liver processes bilirubin by excreting it through bile into the intestine. If the liver is damaged, there will be too much bilirubin in the blood, and this can produce jaundice. Elevated bilirubin levels can indicate liver or blood disorders or blockage of bile ducts. \n\nThe Model for End-Stage Liver Disease (MELD) is a numerical scale used to determine how urgently a patient with liver disease needs a liver transplant. Results from three routine lab tests are used to calculate the MELD score. Bilirubin, one of the tests, measures how effectively the liver excretes bile. The purpose of this scale was to help prioritize patients for liver transplant by estimating their risk of dying while waiting for transplant. \n\nThere are several related data items that are defined to record the MELD score. \n* 3813: Bilirubin Pretreatment Total Lab Value\n* 3814: Bilirubin Pretreatment Unit of Measure\n* 3824: Creatinine Pretreatment Lab Value\n* 3825: Creatinine Pretreatment Unit of Measure\n* 3860: International Normalized Ratio", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of Bilirubin Pretreatment Total Lab Value can be used to code this data item when no other information is available.\n\n**Note 2:** **Total Bilirubin**\n* Assay of Bilirubin Pretreatment Total Lab Value includes conjugated (direct) and unconjugated (indirect) bilirubin and total bilirubin values \n * Record the **total bilirubin** value to the nearest tenth of mg/dl (or umol/L) for this data item\n * Do not code **individual** conjugate, direct, unconjugated, indirect, or delta values or bilirubin in urine\n\n**Note 3:** **Pretreatment results only**\n* Record the lab value of the highest Bilirubin test result documented in the medical record prior to treatment. The lab value may be recorded in a lab report, history and physical, or clinical statement in the pathology report.\n\n**Note 4:** **Related data item**\n* The same laboratory test should be used to record information in the related data item 3814: Bilirubin Pretreatment Unit of Measure.", - "last_modified" : "2025-02-24T13:49:11.414Z", - "definition" : [ { - "key" : "bilirubin_pretx_lab_value", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "0.0 milligram/deciliter (mg/dL)\n0.0 micromole/liter (umol/L)" ], [ "0.1-999.9", "0.1-999.9 milligram/deciliter (mg/dL)\n0.1-999.9 micromole/liter (umol/L)" ], [ "XXX.1", "1000 milligram/deciliter (mg/dL) or greater\n1000 micromole/liter (umol/L) or greater" ], [ "XXX.7", "Test ordered, results not in chart" ], [ "XXX.8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code XXX.8 will result in an edit error.)" ], [ "XXX.9", "Not documented in medical record\nBilirubin Pretreatment Total Lab Value not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood serum); value may be part of a metabolic or liver function panel\n\n**Other names include** TBIL.\n\n**Normal Reference Range**\n* 0.3-1.5 mg/dL (5-20.5 umol/L)\n* The normal range may vary slightly from lab to lab.", - "coding_guidelines" : "**1)** Record the highest value prior to treatment in the range 0.1 mg/ml to 999.9 mg/ml OR 0.1 umol/L to 999.9 umol/L. in the Lab Value data item and the unit of measure for measuring the lab value in the Unit of Measure data item.\n\n***Examples***\n* Bilirubin Lab Value 0.0 mg/ml: Lab Value = 0.0, Unit Measure = 1\n* Bilirubin Lab Value 23.6 umol/L: Lab Value = 23.6, Unit Measure = 2\n* Bilirubin Lab Value 127.8 mg/ml: Lab Value = 127.8, Unit Measure = 1\n* Bilirubin Lab Value 1567 umol/L: Lab Value 1567.0 Unit Measure = 2\n* Bilirubin Lab Value 638.4: Lab Value = 638.4 Unit Measure = 9\n* Bilirubin Lab Value Test Ordered, results not in chart: Lab Value = XXXX.7, Unit Measure = 7\n* Bilirubin Lab Value Not documented in medical record, Bilirubin test not done, unknown if Bilirubin test done, Lab Value = XXXX.9, Unit Measure 9", - "rationale" : "Bilirubin Pretreatment Total Lab Value is a Registry Data Collection Variable in AJCC. This data item was previously collected as Liver, CS SSF #6." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_unit_98627.json b/src/test/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_unit_98627.json deleted file mode 100644 index 6e5bb659b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/bilirubin_pretx_unit_98627.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "bilirubin_pretx_unit_98627", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Bilirubin Pretreatment Unit of Measure", - "title" : "Biliribun Pretreatment Unit of Measure", - "description" : "Bilirubin Pretreatment Unit of Measure identifies the unit of measure for the bilirubin value measured prior to treatment. Bilirubin is commonly measured in units of Milligrams/deciliter (mg/dL) in the United States and Micromoles/liter (umol/L) in Canada and Europe.\n\nThere are two methods of describing bilirubin levels in the blood, weight in grams (milligrams per deciliter), usually used in the US, and molecular count in moles (micromoles per liter) in Canada. Conversion: 1 mg/dL = 17.1 umol/L. Code the unit of measure used by the facility laboratory\n\nThere are two related data items that record information on Bilirubin\n* 3813: Bilirubin Pretreatment Total Lab Value.\n* 3814: Bilirubin Pretreatment Unit of Measure.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of Bilirubin Pretreatment Unit of Measure can be used to code this data item when no other information is available.\n\n**Note 2:** **Pretreatment results only**\n* Record this data item based on a blood test performed at diagnosis (pre-treatment). Use the highest value available\n* Record the blood or serum creatinine value for this data item\n * Do not use urine results to code this data item. \n\n**Note 3:** **Measurement definitions** \n* There are two main methods of describing concentrations: by weight, and by molecular count.\n* Weights are recorded in grams, and molecular counts are recorded in moles.\n* Milligrams/deciliter (mg/dL) is the unit of measure commonly used in the United States.\n* Micromoles/liter (umol/L) is the designated Systeme International (SI) unit of measure commonly used in Canada and Europe.\n * 1 mg/dL of bilirubin is 17.1 umol/L.\n\n**Note 4:** **Related data item**\n* The same laboratory test should be used to record information in the related data item 3813: Bilirubin Pretreatment Total Lab Value.", - "last_modified" : "2025-02-24T15:53:11.401Z", - "definition" : [ { - "key" : "bilirubin_pretx_unit", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Milligrams per deciliter (mg/dL)" ], [ "2", "Micromoles/liter (umol/L)" ], [ "7", "Test ordered, results not in chart " ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nBilirubin unit of measure not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood serum); value may be part of a metabolic or liver function panel\n\n**Other names include** TBIL\n\n**Normal Reference Range:**\n* 0.3-1.5 mg/dL (5-20.5 umol/L) \n* The normal range may vary slightly from lab to lab.", - "rationale" : "Bilirubin Pretreatment is a Registry Data Collection Variable in AJCC. Bilirubin Pretreatment Unit of Measure is needed to identify the unit in which bilirubin is measured and was previously collected as Liver, CS SSF #7." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/bone_invasion_96628.json b/src/test/resources/algorithms/eod_public/3.3/tables/bone_invasion_96628.json deleted file mode 100644 index da46ad400..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/bone_invasion_96628.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "bone_invasion_96628", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Bone Invasion", - "title" : "Bone Invasion", - "description" : "Bone invasion, the presence or absence of bone invasion based on imaging, is a prognostic factor for soft tissue sarcoma.\n\nDirect tumor extension from the primary sarcoma into adjacent bone. This field does not include distant or discontinuous metastases to the skeletal system. Information in this field is based on radiology and other imaging techniques.", - "notes" : "**Note 1:** **Physician Staging** \n* Physician statement of Bone Invasion can be used to code this data item when no other information is available.\n\n**Note 2:** **Criteria for Coding** \n* Record bone invasion as determined by **relevant imaging only for the primary tumor** \n* Imaging methodologies include computed tomography (CT) scans and magnetic resonance imaging (MRI).", - "last_modified" : "2025-11-06T18:32:52.675Z", - "definition" : [ { - "key" : "bone_invasion", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Bone invasion not present/not identified on imaging" ], [ "1", "Bone invasion present/identified on imaging" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nBone invasion not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** imaging", - "coding_guidelines" : "**1)** **Code 0** when relevant imaging is performed and there is no mention of bone invasion\n\n**2)** **Code 1** when there is evidence of bone invasion on imaging\n\n**3)** **Code 9** when\n* No information in the medical record\n* Bone invasion not evaluated (assessed)\n* No relevant imaging of the primary site\n* Unknown if bone invasion evaluated (assessed)", - "rationale" : "Bone Invasion is a Registry Data Collection Variable in AJCC. This data item was previously collected for Soft Tissue, SSF #3." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/braf_mutational_analysis_37823.json b/src/test/resources/algorithms/eod_public/3.3/tables/braf_mutational_analysis_37823.json deleted file mode 100644 index d83d2aa27..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/braf_mutational_analysis_37823.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "braf_mutational_analysis_37823", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "BRAF Mutational Analysis", - "title" : "BRAF Mutational Analysis", - "description" : "The BRAF oncoprotein is involved in transmitting cell growth and proliferation signals from KRAS and NRAS. The BRAF V600E mutation is associated with poorer prognosis and predicts lack of response to anti-EGFR therapies. \n\n“BRAF V600E is a specific mutation (change) in the BRAF gene, which makes a protein that is involved in sending signals in cells and in cell growth. This BRAF gene mutation is found in colorectal cancer. It may increase the growth and spread of cancer cells. Checking for this BRAF mutation in tumor tissue may help to plan cancer treatment. BRAF (V600E) kinase inhibitor RO5185426 blocks certain proteins made by the mutated BRAF gene, which may help keep cancer cells from growing.” (NCI Dictionary of Cancer Terms https://www.cancer.gov/publications/dictionaries/cancer-terms)\n\nNRAS is a gene which belongs to a class of genes known as oncogenes. When mutated, oncogenes have the potential to cause normal cells to become cancerous. Studies suggest that NRAS gene mutations are often present in colorectal cancer.\n\nThe most common BRAF mutations is BRAF V600E (c.1799T>A) mutation.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2021+\n* For cases diagnosed 2018-2020, this SSDI must be blank\n\n**Note 2:** **Physician Statement** \n* Physician statement of BRAF can be used to code this data item when no other information is available.\n\n**Note 3:** **Applicable stages**\n* BRAF may be recorded for all stages; however, it is primarily performed for patients with metastatic disease. If information is not available, code 9.\n\n**Note 4:** **Results from nodal or metastatic tissue**\n* Results from nodal or metastatic tissue may be used for BRAF.\n\n**Note 5:** **Neoadjuvant Therapy** \n* Record the assay from tumor specimens prior to neoadjuvant therapy.\n* If neoadjuvant therapy is given and there are no BRAF results from pre-treatment specimens, report the findings from post-treatment specimens.", - "last_modified" : "2025-11-06T18:04:38.446Z", - "definition" : [ { - "key" : "braf_mutational_analysis", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Normal\nBRAF negative, BRAF wild type\nNegative for (somatic) mutations, no alterations, no (somatic) mutations identified, not present, not detected" ], [ "1", "Abnormal (mutated)/detected: BRAF V600E (c.1799T>A) mutation" ], [ "2", "Abnormal (mutated)/detected, but not BRAF V600E (c.1799T>A) mutation" ], [ "3", "Abnormal (mutated)/detected, *KIAA1549: BRAF* gene fusion" ], [ "4", "Abnormal (mutated), BRAF, NOS" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nBRAF not assessed or unknown if assessed" ], [ "", "Must be blank if diagnosis year is before 2021" ] ], - "additional_info" : "**Source documents:** pathology report, clinical laboratory report\n\nFor further information, refer to the **Colon and Rectum Biomarker** Reporting cancer protocol published by the College of American Pathologists for the AJCC Staging System *Colon and Rectum*.", - "coding_guidelines" : "**1)** **Code 0** when BRAF negative/wild type/not detected\n\n**2)** **Code 1, 2 or 3** when BRAF identified/detected\n\n**3)** **Code 4** for when BRAF identified, mutation not known \n\n**4)** **Code 9** when \n* Insufficient amount of tissue available to perform test\n* Test done and documented to be equivocal\n* No microscopic confirmation of tumor\n* BRAF mutational analysis not ordered or not done, or unknown if ordered or done", - "rationale" : "BRAF mutational analysis is recommended in clinical guidelines for patients with advanced colorectal cancer as a prognostic marker and factor in determining appropriate therapy. It is a new data item for cases diagnosed 1/1/2021+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_75370.json b/src/test/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_75370.json deleted file mode 100644 index 1f403802d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_75370.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "brain_molecular_markers_75370", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Brain Molecular Markers (2018-2022)", - "title" : "Brain Molecular Markers", - "description" : "Multiple brain molecular markers have become standard pathology components necessary for diagnosis. This data item captures clinically important brain cancer subtypes identified by molecular markers that are not distinguishable by ICD-O-3 codes.\n\nOnly one code is applicable for each tumor. \n* *IDH mutation status* distinguishes between clinically important subtypes within ICD-O-3 **9400/3**, Diffuse astrocytoma and **9401/3**, Anaplastic astrocytoma.\n* *IDH mutant and 1p/19q co-deletion* distinguishes between clinically important subtypes within ICD-O-3 code **9450/3**, Oligodendroglioma and **9451/3**, Anaplastic Oligodendroglioma.\n* *IDH-wildtype* distinguishes clinically important subtypes within ICD-O-3 **9400/3**, Diffuse astrocytoma, **9401/3**, Anaplastic astrocytoma and **9440/3**, Glioblastoma, Epithelioid glioblastoma and Glioblastoma, NOS (note that the new ICD-O-3 code **9445/3** applies to Glioblastoma, IDH-mutant; information regarding this subtype is not collected using this data item).\n* *SHH-activation and TP53-wildtype* distinguishes between clinically important subtypes within ICD-O-3 histology code **9471/3**, Medulloblastoma. \n* *C19MC alteration status* distinguishes a clinically important highly aggressive subtype within ICD-O-3 **9478/3**, Embryonal tumor with multilayered rosettes.", - "notes" : "**Note:** **Physician statement**\n* Physician statement of histologic subtype can be used to code this data item when no other information is available.", - "last_modified" : "2025-11-06T21:31:02.490Z", - "definition" : [ { - "key" : "brain_molecular_markers", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "01", "Diffuse astrocytoma, IDH-mutant (9400/3)" ], [ "02", "Diffuse astrocytoma, IDH-wildtype (9400/3)" ], [ "03", "Anaplastic astrocytoma, IDH-mutant (9401/3)" ], [ "04", "Anaplastic astrocytoma, IDH-wildtype (9401/3)" ], [ "05", "Glioblastoma, IDH-wildtype (9440/3)" ], [ "06", "Oligodendroglioma, IDH-mutant and 1 p/19q co-deleted (9450/3)" ], [ "07", "Anaplastic oligodendroglioma, IDH-mutant and 1p/19q co-deleted (9451/3)" ], [ "08", "Medulloblastoma, SHH-activated and TP53-wildtype (9471/3)" ], [ "09", "Embryonal tumor with multilayered rosettes, C19MC-altered (9478/3)" ], [ "85", "Not applicable: Histology not 9400/3, 9401/3, 9440/3, 9450/3, 9451/3, 9471/3, 9478/3" ], [ "86", "Benign or borderline tumor" ], [ "87", "Test ordered, results not in chart" ], [ "88", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 88 will result in an edit error.)" ], [ "99", "Not documented in medical record\nNo microscopic confirmation\nBrain molecular markers not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\nFor further information, refer to the **Central Nervous System** cancer protocol published by the College of American Pathologists.", - "coding_guidelines" : "**1)** **Codes 01-09** are for specific ICD-O-3 codes\n\n**2)** **Code 85** when histology is **NOT** 9400/3, 9401/3, 9440/3, 9450/3, 9451/3, 9471/3 and 9478/3\n* This includes microscopically or non-microscopically confirmed cases\n\n**3)** **Code 86** when there is a **Benign (/0)** or **Borderline (/1)** tumor\n* This includes microscopically or non-microscopically confirmed cases\n\n **4)** **Code 99** when \n* Histology is 9400/3, 9401/3, 9440/3, 9450/3, 9451/3, 9471/3 and 9478/3\n* **AND** there is no microscopic confirmation\n\n***Examples:***\n\n**1.** Biopsy of brain tumor, microscopic confirmation diagnosis: Diffuse Astrocytoma (9400/3). Additional testing done, and IDH-mutant is identified. Code 01.\n**2.** Biopsy of brain tumor, microscopic confirmation diagnosis: Anaplastic astrocytoma (9401/3). No further testing or results unknown. Code 99.\n**3.** MRI of brain tumor, clinical diagnosis: glioblastoma. No further workup. Code 99.\n**4.** Biopsy of brain tumor, microscopic confirmation diagnosis: Mixed glioma (9382/3). Code 85.", - "rationale" : "Collection of these clinically important brain cancer subtypes has been recommended by CBTRUS." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_v9_48556.json b/src/test/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_v9_48556.json deleted file mode 100644 index fae4312b8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/brain_molecular_markers_v9_48556.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "brain_molecular_markers_v9_48556", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Brain Molecular Markers (2023+)", - "title" : "Brain Molecular Markers", - "description" : "Multiple brain molecular markers have become standard pathology components necessary for diagnosis. This data item captures clinically important brain cancer subtypes identified by molecular markers that are not distinguishable by ICD-O-3 codes.\nIf a mutation or alteration is in the name of the histopathology, it is required for diagnosis as it helps distinguish among clinically important subtypes within ICD-O-3 \n\n* *IDH mutation status* distinguishes between clinically important subtypes within ICD-O-3 **9400/3**, Diffuse astrocytoma and **9401/3**, Anaplastic astrocytoma.\n* *IDH mutant and 1p/19q co-deletion* distinguishes between clinically important subtypes within ICD-O-3 code **9450/3**, Oligodendroglioma and **9451/3**, Anaplastic Oligodendroglioma.\n* *IDH-wildtype* distinguishes clinically important subtypes within ICD-O-3 **9400/3**, Diffuse astrocytoma, **9401/3**, Anaplastic astrocytoma and **9440/3**, Glioblastoma, Epithelioid glioblastoma and Glioblastoma, NOS (note that the new ICD-O-3 code **9445/3** applies to Glioblastoma, IDH-mutant; information regarding this subtype is not collected using this data item).\n* *SHH-activation and TP53-wildtype* distinguishes between clinically important subtypes within ICD-O-3 histology code **9471/3**, Medulloblastoma.\n* *C19MC alteration* status distinguishes a clinically important highly aggressive subtype within ICD-O-3 **9478/3**, Embryonal tumor with multilayered rosettes\n* *Pediatric-type diffuse low-grade gliomas*: **9385/3** Diffuse hemispheric glioma, H3-G34-mutant, Diffuse midline glioma, H3 K27-altered, Diffuse pediatric-type high-grade glioma, H3-wildtype and IDH-wildtype, and Infant-type hemispheric glioma.\n* *Ependymal tumors* are distinguished by mutations required for diagnosis among clinically important subtypes: **9396/3** Posterior fossa group A (PFA) ependymoma, Posterior fossa group B (PFB) ependymoma, Spinal ependymoma, MYCN-amplified, Supratentorial ependymoma, YAPI fusion-positive, and Supratentorial ependymoma, ZFTA fusion-positive.\n* *Pediatric-type diffuse low-grade gliomas* are distinguished among subtypes by mutations required for diagnosis: **9421/1** Diffuse astrocytoma, MYB-or MYBL1-altered, Diffuse low-grade glioma, MAPK pathway-altered, and Pilocytic astrocytoma.\n* *Circumscribed astrocytic tumors* are distinguished among subtypes by mutations required for diagnosis: **9430/3** Astroblastoma, MN1-altered and Astroblastoma.\n* *Other CNS embryonal tumors* are distinguished among subtypes by mutations required for diagnosis: **9500/3** CNS neuroblastoma, FOXR2-activated, CNS tumor with BCOR internal tandem duplication, and Neuroblastoma, NOS.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of histologic subtype can be used to code this data item when no other information is available. \n\n**Note 2:** **Data item history**\n* This data item was introduced in 2018 and applied to the following ICD-O-3 histology codes 9400/3, 9401/3, 9440/3, 9450/3, 9451/3, 9471/3, 9478/3\n * These are codes 01-09 and are applicable for cases diagnosed 2018+ and are in ICD-O-3 order\n* In 2022, the 5th edition of the CNS WHO Blue Book was released and the following histologies were added 9385/3, 9396/3, 9421/1, 9430/3, 9500/3\n * These are codes 10-23 and are applicable for cases diagnosed 2024+ and are in ICD-O-3 order", - "last_modified" : "2025-11-06T21:35:07.975Z", - "definition" : [ { - "key" : "brain_molecular_markers", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "icdo3_morph", - "name" : "ICD-O-3 Code", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "ICD-O-Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "01", "9400/3", "Astrocytoma, IDH-mutant, grade 2 " ], [ "02", "9400/3", "Diffuse astrocytoma, IDH-wildtype " ], [ "03", "9401/3", "Astrocytoma, IDH-mutant, grade 3 " ], [ "04", "9401/3", "Anaplastic astrocytoma, IDH-wildtype " ], [ "05", "9440/3", "Glioblastoma, IDH-wildtype " ], [ "06", "9450/3", "Oligodendroglioma, IDH-mutant and 1 p/19q co-deleted " ], [ "07", "9451/3", "Oligodendroglioma, IDH-mutant and 1p/19q co-deleted, grade 3 " ], [ "08", "9471/3", "Medulloblastoma, SHH-activated and TP53-wildtype " ], [ "09", "9478/3", "Embryonal tumor with multilayered rosettes, C19MC-altered " ], [ "10", "9385/3", "Diffuse hemispheric glioma, H3-34 mutant " ], [ "11", "9385/3", "Diffuse midline glioma, H3 K27-altered " ], [ "12", "9385/3", "Diffuse pediatric-type high-grade glioma, H3-wildtype and IDH-wildtype" ], [ "13", "9385/3", "Infant-type hemispheric glioma " ], [ "14", "9396/3", "Posterior fossa group A (PFA) ependymoma " ], [ "15", "9396/3", "Posterior fossa group B (PFB) ependymoma " ], [ "16", "9396/3", "Spinal ependymoma, MYCN-amplified " ], [ "17", "9396/3", "Supratentorial ependymoma, YAP1 fusion-positive " ], [ "18", "9396/3", "Supratentorial ependymoma, ZFTA fusion-positive " ], [ "19", "9421/1", "Diffuse astrocytoma, MYB- or MYBL1-altered " ], [ "20", "9421/1", "Diffuse low-grade glioma, MAPK pathway-altered " ], [ "21", "9430/3", "Astroblastoma, MN1-altered " ], [ "22", "9500/3", "CNS neuroblastoma, FOXR2-activated" ], [ "23", "9500/3", "CNS tumor BCOR internal tandem duplication" ], [ "85", "NA", "Not applicable: Histology not 9385/3, 9396/3, 9400/3, 9401/3, 9421/1, 9430/3, 9440/3, 9450/3, 9451/3, 9471/3, 9478/3, 9421/1, 9430/3, 9500/3" ], [ "86", "NA", "Benign or borderline tumor \n*Excludes:* 9421/1 (codes 19-20)" ], [ "87", "NA", "Test ordered, results not in chart" ], [ "88", "NA", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 88 will result in an edit error.)" ], [ "99", "NA", "Not documented in medical record\nNo microscopic confirmation\nBrain molecular markers not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\nFor further information, refer to the **Central Nervous System** cancer protocol published by the College of American Pathologists.", - "coding_guidelines" : "**1)** **Codes 01-23** are for specific ICD-O-3 codes\n\n**2)** **Code 85** when histology is **NOT** 9385/3, 9396/3, 9400/3, 9401/3, 9430/3, 9440/3, 9450/3, 9451/3, 9471/3, 9478/3, 9421/1, 9430/3, 9500/3\n* This includes microscopically or non-microscopically confirmed cases\n\n**3)** **Code 86** when there is a **benign (/0)** or **borderline (/1)** tumor\n* This includes microscopically or non-microscopically confirmed cases\n* *Exception*: 9421/1 (see codes 19-20 when microscopically confirmed)\n * If codes 19 or 20 don't apply, or not microscopically confirmed, code 99\n\n**4)** **Code 99** when \n* Histology is 9385/3, 9396/3, 9400/3, 9401/3, 9430/3, 9440/3, 9450/3, 9451/3, 9471/3, 9478/3, 9421/1, 9430/3, 9500/3 \n* **AND** there is no microscopic confirmation\n\n\n***Examples:***\n**1.** Biopsy of brain tumor, microscopic confirmation diagnosis: Diffuse Astrocytoma (9400/3). Additional testing done, and IDH-mutant is identified. Code 01.\n**2.** Biopsy of brain tumor, microscopic confirmation diagnosis: Anaplastic astrocytoma (9401/3). No further testing or results unknown. Code 99.\n**3.** MRI of brain tumor, clinical diagnosis: glioblastoma. No further workup. Code 99.\n**4.** Biopsy of brain tumor, microscopic confirmation diagnosis: Mixed glioma (9382/3). Code 85.", - "rationale" : "Collection of these clinically important brain cancer subtypes has been recommended by CBTRUS." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/brain_primary_tumor_location_69074.json b/src/test/resources/algorithms/eod_public/3.3/tables/brain_primary_tumor_location_69074.json deleted file mode 100644 index f9bf6e0b2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/brain_primary_tumor_location_69074.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "brain_primary_tumor_location_69074", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Brain Primary Tumor Location", - "title" : "Brain Primary Tumor Location", - "description" : "The Pons and other subsites of the Brain Stem have the same ICD-O topography code (C717), which is for subsites of the Brain Stem. Clinically, information regarding the Pons is very important, especially for pediatric cases. \n\nA data item is needed to distinguish between the Pons and all other subsites within the Brain Stem (C717). Code the site in which the tumor arose. \n* Review of radiology reports and physician’s notes are needed to determine the appropriate code. Needle biopsies and surgery are usually too dangerous for these types of tumors, so the best information will be available from radiology reports.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2024+\n * For cases diagnosed 2018-2023, this SSDI must be blank\n\n**Note 2:** **Physician Statement**\n* Physician statement of primary tumor location in the brain stem can be used to code this data item when no other information is available.", - "last_modified" : "2024-04-07T18:47:57.969Z", - "definition" : [ { - "key" : "brain_primary_tumor_location", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Pons" ], [ "2", "Subsite other than Pons\n * Basis peduncle\n * Cerebral peduncle\n * Choroid plexus of fourth ventricle\n * Fourth ventricle, NOS\n * Infratentorial brain, NOS\n * Medulla oblongata\n * Midbrain\n * Olive\n * Pyramid" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Brain stem, NOS\nUnknown subsite of Brain Stem" ], [ "", "Primary Site is NOT C717\nMust be blank if diagnosis year is before 2024" ] ], - "additional_info" : "**Source documents:** imaging, physician’s notes", - "rationale" : "The pons site is the third most common site for pediatric brain tumors and there is currently no way to identify tumors that occur in this site. Surgery is too dangerous for these types of tumors. Needle biopsies are also dangerous and extremely rare. Without pathology specimens, accurate histology is elusive making accurate incidence not possible. A cascade of implications results without accurate incidence including support for drug development." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/breslow_thickness_79262.json b/src/test/resources/algorithms/eod_public/3.3/tables/breslow_thickness_79262.json deleted file mode 100644 index f394ab3d5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/breslow_thickness_79262.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "breslow_thickness_79262", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Breslow Thickness", - "title" : "Breslow Tumor Thickness", - "description" : "Breslow Tumor Thickness, the measurement of the thickness of a melanoma as defined by Dr. Alexander Breslow, is a prognostic factor for Melanoma of the Skin.\n\nA measure of how deeply a melanoma tumor has grown into the skin. The tumor thickness (depth) is usually measured from the top of the tumor to the deepest tumor cells. If the tumor is ulcerated (the skin is broken), it is measured from the base of the ulcer to the deepest tumor cells. Breslow thickness is used to help determine the stage of cancer. Thicker tumors are linked with lower survival rates.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Breslow Tumor Thickness can be used to code this data item when no other information is available, or the available information is ambiguous. \n\n**Note 2:** **Breslow's depth** \n* Code a measurement specifically labeled as **thickness** or **depth** or **Breslow depth of invasion** from the pathology report. \n* In the absence of this label, a measurement described as taken from the cut surface of the specimen may be coded. And in the absence of either of these labels, the third dimension in a statement of tumor size can be used to code this field.", - "last_modified" : "2025-11-06T15:48:07.410Z", - "definition" : [ { - "key" : "breslow_thickness", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "No mass/tumor found" ], [ "0.1", "Greater than 0.0 and less than or equal to 0.1" ], [ "0.2-99.9", "0.2 - 99.9 millimeters" ], [ "XX.1", "100 millimeters or larger" ], [ "A0.1-A9.9", "Stated as \"at least\" some measured value of 0.1 to 9.9" ], [ "AX.0", "Stated as greater than 9.9 mm" ], [ "XX.8", "Not applicable: Information not collected for this schema\n(If this item is required by your standard setter, use of code XX.8 will result in an edit error)" ], [ "XX.9", "Not documented in medical record\nMicroinvasion; microscopic focus or foci only and no depth given\nCannot be determined by pathologist\nNon-invasive neoplasm (behavior /2)\nBreslow Tumor Thickness not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\n**Other names include** maximum tumor thickness, Breslow depth of invasion, Breslow thickness, Breslow measurement, Breslow’s microstaging\n\nFor further information, refer to the **Melanoma of the Skin** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Melanoma of the Skin*.", - "coding_guidelines" : "**1)** **Code Breslow tumor thickness, not size**. Record actual measurement in tenths of millimeters from the pathology report. Measurement given in hundredths of millimeters should be rounded to the nearest tenth. \n\n**2)** Code the greatest measured thickness from any procedure performed on the lesion, whether it is described as a biopsy or an excision. \n* Do not add measurements together from different procedures. \n * ***Example:*** A punch biopsy with a thickness of 0.5 mm is followed by a re-excision with a thickness of residual tumor of 0.2 mm. Code 0.5 mm.\n * ***Exception:*** If there are multiple procedures, and the pathologist adds the measurement together to get a final Breslow’s depth, the registrar can use this.\n\n**3)** If the pathologist describes the thickness as \"at least,\" use the appropriate A code. An exact measurement takes precedence over A codes.\n* If the pathologist states \"greater than\" instead of \"at least\", code to XX.9, unless it is greater than 9.9 mm (Code AX.0)\n\n**4)** If the tumor is excised post-neoadjuvant treatment, tumor measurements **cannot be compared** before and after treatment to determine which would indicate the greater involvement. \n* The same code (XX.9) is used for cases with no surgical procedure of the primary site and cases with surgical procedure of the primary site after neoadjuvant treatment.\n\n**5)** Because the thickness table is similar to many other tables that collect a measurement, it is important to identify the correct unit of measurement. \n* In the range 0.1-99.9, code the actual tumor thickness, tumor depth, or Breslow measurement in tenths of millimeters as stated in the pathology report. If the measurement is given in hundredths of millimeters, use the general rules for rounding to determine the value in tenths of millimeters. This is a four-digit field with a decimal point in the third digit. \n\n***Examples:***\n* 0.4 mm - 0.4\n* 1.0 mm- 1.0\n* 2.5 mm - 2.5\n* 2.56 mm- 2.6\n* 11 mm - 11.0\n* 12.35 mm - 12.4\n* Pathologist states the thickness is \"at least 2.0 mm.\" Code A2.0\n* Pathologist states the thickness is \"greater than 4 mm.\" Code XX.9", - "rationale" : "Breslow Tumor Thickness is a Registry Data Collection Variable in AJCC. It was previously collected as Melanoma Skin, CS SSF #1." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ca_125_pretx_interpretation_51295.json b/src/test/resources/algorithms/eod_public/3.3/tables/ca_125_pretx_interpretation_51295.json deleted file mode 100644 index 0ea80dab2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ca_125_pretx_interpretation_51295.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ca_125_pretx_interpretation_51295", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "CA-125 PreTx Interpretation", - "title" : "CA-125 (Carbohydrate Antigen 125) Pretreatment Interpretation", - "description" : "Carbohydrate Antigen 125 (CA-125)/CA-125 II is a tumor marker that is useful for following the response to therapy in patients with ovarian cancer, who may have elevated levels of this marker.\n\nCA-125/CA-125 II is a tumor marker that is not specific to ovarian or primary peritoneal cancer but is useful to monitor for success of treatment and recurrence. Because it can be elevated in many diseases affecting the peritoneal lining of the abdominal and pelvic cavity, it is not a screening test for women who have no history of cancer. Any value over 35 is highly linked with cancer and about 80% of ovarian cancers show an elevated CA-125/CA-125 II. However, a result in the normal range does not rule out cancer. Values up to 65 U/ml may be considered borderline, and values over 200 are unlikely to be due to a benign condition. CA-125/CA-125 II monitors for success of treatment and recurrence. After obtaining a baseline value prior to treatment, a lower result on a subsequent test indicates a response to treatment, and an increasing value indicates possible recurrence.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of CA-125/CA-125 II pretreatment interpretation can be used to code this data item when no other information is available.\n\n**Note 2:** **Blood or Serum testing only** \n* Record only the blood or serum CA-125/CA-125 II interpretation for this data item. \n* Do not record CA-125 test results based on fluid from the chest or abdominal cavity. \n\n**Note 3:** **Pretreatment results only**\n* Record the CA-125/CA-125 II status prior to treatment.", - "last_modified" : "2025-11-06T20:37:30.956Z", - "definition" : [ { - "key" : "ca125_pretx_interpretation", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Negative/normal; within normal limits" ], [ "1", "Positive/elevated" ], [ "2", "Stated as borderline; undetermined whether positive or negative" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error)" ], [ "9", "Not documented in medical record\nCA-125 not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood or serum test); may be reported in history, clinician or consultant notes or pathology report\n\n**Other names include** Cancer Antigen 125, CA 125, CA125, Carbohydrate Antigen 125, mucin 16, MUC16, CA 125 II\n\n**Normal reference range**\n* < 35 units per milliliter (U/ml); SI: < 35 kiloUnits/Liter (KU/L)\n* May also be reported as micrograms/milliliter (μg/mL or ug/mL)\n* Normal values may vary with patient age and from lab to lab.\n* The typical human reference ranges are 0 to less than or equal 35 units per milliliter (U/mL). This is equivalent to kU/L.", - "coding_guidelines" : "**1)** Record the clinician’s interpretation of the highest value prior to treatment from a blood or serum test, based on the reference range used by the lab. \n\n**2)** Do **not** code the result from thoracentesis or paracentesis fluid. \n\n**3)** **Code 0** when the CA-125/CA-125 II is reported as negative or normal.\n\n**4)** **Code 1** when the CA-125/CA-125 II is reported as positive or elevated.\n\n**5)** **Code 2** when the CA-125/CA-125 II is reported as borderline; undetermined whether positive or negative.\n\n**6)** **Code 7** when the CA-125/CA-125 II test was ordered but the results are not in the medical record.\n\n**7)** **Code 9** when\n* No information in the medical record\n* CA-125/CA-125 II test not done (not assessed)\n* Unknown if CA-125/CA-125 II test was performed (unknown if assessed)\n* There is no statement that the CA-125/CA-125 II is positive/elevated, negative/normal, and the lab value with its normal range (from which you can determine interpretation) is not documented.", - "rationale" : "Preoperative CA-125/CA-125 II is a Registry Data Collection Variable listed in AJCC. It was previously collected as Ovary, CS SSF #1." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ca_19_9_pretx_lab_value_17332.json b/src/test/resources/algorithms/eod_public/3.3/tables/ca_19_9_pretx_lab_value_17332.json deleted file mode 100644 index d89cd7e8c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ca_19_9_pretx_lab_value_17332.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ca_19_9_pretx_lab_value_17332", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "CA 19-9 PreTx Lab Value", - "title" : "Carbohydrate Antigen 19-9 Pretreatment Lab Value", - "description" : "Carbohydrate Antigen (CA) 19-9 Pretreatment Lab Value records the CA 19-9 value prior to treatment. CA 19-9 is a tumor marker that has prognostic significance for pancreatic cancer.\n\nCA 19-9 is a sialylated Lewis A blood group antigen that is commonly expressed and shed in pancreatic and hepatobiliary disease and in many malignancies, thus is not tumor specific. Preoperative CA 19-9 levels in pancreatic cancer patients correlate both with AJCC staging and resectability [NCCN Guidelines Version 3.2019 Pancreatic Adenocarcinoma].", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2021+\n* For cases diagnosed 2018-2020, this SSDI must be blank\n\n**Note 2:** **Physician Statement**\n* Physician statement of CA 19-9 (Carbohydrate Antigen 19-9) Pretreatment Lab Value can be used to code this data item when no other information is available.", - "last_modified" : "2025-11-06T18:21:55.478Z", - "definition" : [ { - "key" : "ca19_9_pretx_lab_value", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "0.0 Units/milliliter (U/ml) exactly" ], [ "0.1-9999.9", "0.1-9999.9 U/ml\n(Exact value to nearest tenth in U/ml)" ], [ "XXXX.1", "10,000 U/ml or greater" ], [ "XXXX.2", "Lab value not available, physician states CA 19-9 is negative/normal" ], [ "XXXX.3", "Lab value not available, physician states CA 19-9 is positive/elevated/high" ], [ "XXXX.7", "Test ordered, results not in chart " ], [ "XXXX.8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code XXXX.8 may result in an edit error.)" ], [ "XXXX.9", "Not documented in medical record\nCA (Carbohydrate Antigen) 19-9 Pretreatment Lab Value not assessed or unknown if assessed" ], [ "", "Must be blank if diagnosis year is before 2021" ] ], - "additional_info" : "**Source documents:** clinical laboratory report\n\n**Other names include** Carbohydrate Antigen 19-9, Cancer Antigen-GI, CA-GI, Cancer Antigen 19-9", - "coding_guidelines" : "**1)** Record to the nearest tenth in Units/milliliter (U/ml), the highest CA 19-9 lab value documented in the medical record prior to treatment. \n * ***Example 1***: Code a pretreatment CA 19-9 of 7 U/ml as 7.0\n * ***Example 2***: Code a pretreatment CA 19-9 of 1672.3 U/ml as 1672.3\n\n**2)** Record 0.1 when the lab results are stated as less than 0.1 U/ml with no exact value.\n\n**3)** A known lab value takes priority over codes XXXX.2 and XXXX.3\n* The lab value takes priority even if the physician documents the interpretation\n * ***Example:*** Patient noted to have a CA 19-9 of 3,219. Physician notes that the value is elevated\n * Code 3219.0 instead of XXXX.3 (elevated)", - "rationale" : "CA 19-9 Pretreatment Lab Value is a strong predictor of resectability in the absence of metastatic disease. It is a new data item for cases diagnosed 1/1/2021+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/cea_pretx_interpretation_99474.json b/src/test/resources/algorithms/eod_public/3.3/tables/cea_pretx_interpretation_99474.json deleted file mode 100644 index efa372cdd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/cea_pretx_interpretation_99474.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "cea_pretx_interpretation_99474", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "CEA Pretreatment Interpretation", - "title" : "CEA (Carcinoembryonic Antigen) Pretreatment Interpretation", - "description" : "CEA (Carcinoembryonic Antigen) Pretreatment Interpretation refers to the interpretation of the CEA value prior to treatment. CEA is a nonspecific tumor marker that has prognostic significance for colon and rectum cancer.\n\nCEA is\n**1)** A protein molecule found in many different cells of the body but associated with certain tumors and with the developing fetus. \n\n**2)** CEA is used as a tumor marker especially for gastrointestinal cancers, as colorectal cancer is the most frequent cause for an increased/elevated CEA. \n\n**3)** CEA is also elevated by biliary obstruction, alcoholic hepatitis, and heavy smoking. \n\n**4)** CEA level is most frequently tested on blood serum, but it may be tested in body fluids and/or biopsy tissue. \n\n**5)** An abnormally high CEA level prior to tumor resection is expected to fall following successful removal of the cancer. \n\n**6)** An increasing value indicates possible recurrence.\n\nThere are 2 related data items that record information on CEA for Colon and Rectum.\n* 3820: CEA Pretreatment Lab Value\n* 3819: CEA Pretreatment Interpretation", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of CEA (Carcinoembryonic Antigen) Interpretation can be used to code this data item when no other information is available. \n\n**Note 2:** **Pretreatment results only** \n* Record the interpretation of the highest CEA test result documented in the medical record **prior to treatment or a polypectomy**.\n\n**Note 3:** **Related data item**.\n* The same laboratory test should be used to record information in the related data item 3820: CEA Lab Value", - "last_modified" : "2025-11-06T17:28:49.408Z", - "definition" : [ { - "key" : "cea_pretx_interpretation", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "CEA negative/normal; within normal limits" ], [ "1", "CEA positive/elevated" ], [ "2", "Borderline" ], [ "3", "Undetermined if positive or negative (normal values not available)\nAND no MD interpretation" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this data item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nCEA (Carcinoembryonic Antigen) Pretreatment Interpretation not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report, sometimes pathology or cytology report; H&P, operative report; consultant report; discharge summary\n\n**Other names include** Carcinoembryonic antigen\n\n**Reference ranges**\n* Nonsmoker: < 2.5 ng/ml (SI: < 2.5 mg/L) SI Conversion: 1 mg/L = 1 ng/ml\n* Smoker: < 5 ng/ml (SI: < 5 mg/L) SI Conversion: 1 mg/mL = 1 ng/L", - "coding_guidelines" : "**1)** Record the clinician’s interpretation of the highest value **prior to treatment**, based on the reference range used by the lab in the Interpretation data item.\n* If the physician's statement is not available, use the **Reference Ranges** included in **Additional Information** for this data item to determine the interpretation\n\n**2)** **Code 3** when a CEA value was documented in the record, but there is no statement that the CEA is positive/elevated, negative/normal, and the normal range (from which you can determine interpretation), is not documented.", - "rationale" : "CEA (Carcinoembryonic Antigen) is a Registry Data Collection Variable for AJCC 8. CEA (Carcinoembryonic Antigen) Pretreatment Interpretation was previously collected as Colon and Rectum, CS SSF #1." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/cea_pretx_lab_value_33864.json b/src/test/resources/algorithms/eod_public/3.3/tables/cea_pretx_lab_value_33864.json deleted file mode 100644 index 7e55cad8b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/cea_pretx_lab_value_33864.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "cea_pretx_lab_value_33864", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "CEA Pretreatment Lab Value", - "title" : "CEA (Carcinoembryonic Antigen) Pretreatment Lab Value", - "description" : "CEA (Carcinoembryonic Antigen) Pretreatment Lab Value records the CEA value prior to treatment. CEA is a nonspecific tumor marker that has prognostic significance for colon and rectum cancer.\n\nCEA is\n**1)** A protein molecule found in many different cells of the body but associated with certain tumors and with the developing fetus. \n\n**2)** CEA is used as a tumor marker especially for gastrointestinal cancers, as colorectal cancer is the most frequent cause for an increased/elevated CEA. \n\n**3)** CEA is also elevated by biliary obstruction, alcoholic hepatitis, and heavy smoking. \n\n**4)** CEA level is most frequently tested on blood serum, but it may be tested in body fluids and/or biopsy tissue. \n\n**5)** An abnormally high CEA level prior to tumor resection is expected to fall following successful removal of the cancer. \n\n**6)** An increasing value indicates possible recurrence.\n\nThere are 2 related data items that record information on CEA for Colon and Rectum.\n* 3820: CEA Pretreatment Lab Value\n* 3819: CEA Pretreatment Interpretation", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of CEA (Carcinoembryonic Antigen) Pretreatment Lab Value can be used to code this data item when no other information is available. \n\n**Note 2:** **Pretreatment results only**\n* Record the interpretation of the highest CEA test result documented in the medical record **prior to treatment or a polypectomy**.\n\n**Note 3:** **Related data item**.\n* The same laboratory test should be used to record information in the related data item 3819: CEA Pretreatment Interpretation", - "last_modified" : "2025-11-06T17:28:18.394Z", - "definition" : [ { - "key" : "cea_pretx_lab_value", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "0.0 nanograms/milliliter (ng/ml) exactly" ], [ "0.1-9999.9", "0.1-9999.9 ng/ml\n(Exact value to nearest tenth in ng/ml)" ], [ "XXXX.1", "10,000 ng/ml or greater" ], [ "XXXX.7", "Test ordered, results not in chart" ], [ "XXXX.8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code XXXX.8 may result in an edit error.)" ], [ "XXXX.9", "Not documented in medical record\nCEA (Carcinoembryonic Antigen) Pretreatment Lab Value not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report, sometimes pathology or cytology report; H&P, operative report; consultant report; discharge summary\n\n**Other names include** Carcinoembryonic antigen\n\n**Reference ranges**\n* Nonsmoker: < 2.5 ng/ml (SI: < 2.5 mg/L) SI Conversion: 1 mg/L = 1 ng/ml\n* Smoker: < 5 ng/ml (SI: < 5 mg/L) SI Conversion: 1 mg/mL = 1 ng/L", - "coding_guidelines" : "**1)** Record the highest value prior to treatment in nanograms per milliliter (ng/ml) in the range 0.1 (1 ng/ml) to 9999.9 (9999 ng/ml) in the Lab Value data item and the\n\n**2)** Record to the nearest tenth in nanograms/milliliter (ng/ml) the highest CEA lab value documented in the medical record **prior to treatment or polypectomy**. (Code a pretreatment CEA of 7 ng/ml as 7.0).\n\n**3)** Record 0.1 when the lab results are stated as less than 0.1 ng/ml with no exact value.\n\n***Examples of CEA Lab Values***\n\n* CEA Lab Value 0 ng/ml - Code 0.0\n* CEA Lab Value 23.6 ng/ml- Code 23.6\n* CEA Lab Value 11,000-Code XXXX.1\n* CEA Lab Value = Test ordered, results not in chart- Code XXXX7 \n* CEA Lab Value = Not documented in medical record, CEA test not done, unknown if CEA test done - Code XXXX.9", - "rationale" : "CEA (Carcinoembryonic Antigen) Pretreatment Lab Value is a Registry Data Collection Variable in AJCC. It was previously collected as Colon and Rectum, CS SSF #3." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_19q_status_72683.json b/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_19q_status_72683.json deleted file mode 100644 index cbc442158..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_19q_status_72683.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "chromosome_19q_status_72683", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Chromosome 19q Status", - "title" : "Chromosome 19q: Loss of Heterozygosity (LOH)", - "description" : "Chromosome 19q: Loss of Heterozygosity (LOH) refers to the loss of genetic material normally found on the long arm of one of the patient's two copies of chromosome 19. Codeletion of Chromosome 1p and 19q is a diagnostic, prognostic and predictive marker for gliomas and is strongly associated with the oligodendroglioma phenotype.\n\nLoss of Heterozygosity Chromosome 1 p and Chromosome 19q are two genetic tests that are frequently done at the same time and reported together. Loss of heterozygosity (LOH) in a chromosome means that genetic material normally found in a specific area of a chromosome is missing. In other words, this is damage to the chromosome that results in failure of tumor suppression, which in turn may cause the development or progression of a malignancy. For 1p LOH, the specific chromosomal defect is on the short arm (p) of chromosome 1. For 19q LOH, the specific chromosomal defect is on the long arm (q) of chromosome 19.\n\nNormal cells have two complete copies of each chromosome, a state called heterozygosity. The loss of this section of the chromosome is associated with improved outcome. It can be used to aid diagnosis and to make treatment decisions because sensitivity to chemotherapy agents, such as lomustine, procarbazine, and vincristine, is increased with either 1p or 19q LOH. Special molecular diagnostic (polymerase chain reaction or gene amplification) tests look for missing genetic material. LOH for chromosome 1p and 19q is tested primarily for oligodendroglioma, anaplastic oligodendroglioma, oligoastrocytoma, and anaplastic oligoastrocytoma. It is infrequently tested for other gliomas, such as glioblastoma multiforme.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of Chromosome 19qp deletion/LOH can be used to code this data item when no other information is available.\n\n**Note 2:** **Applicable histologies**\n* Below is a list of histologies/terms for which the Chromosome 1p test is commonly done. If the test was done, record the results, regardless of the histology. If the histology is not listed among those for which the Chromosome 1p test is commonly done, and the test result is not readily available, assume it was not done and code 9 for unknown.\n * 9382/3: Oligoastrocytoma (anaplastic, or NOS)\n * 9400/3: Diffuse astrocytoma (IDH mutant, IDH wild type, or NOS)\n * 9401/3: Anaplastic astrocytoma (IDH mutant, IDH wild type, or NOS)\n * 9411/3: Gemistocytic astrocytoma, IDH mutant\n * 9424/3: Anaplastic pleomorphic xanthoastrocytoma\n * 9430/3: Astroblastoma\n * 9440/3: Glioblastoma (epithelioid, IDH wild type, or NOS)\n * 9441/3: Giant cell glioblastoma\n * 9442/3: Gliosarcoma\n * 9445/3: Glioblastoma, IDH mutant\n * 9450/3: Oligodendroglioma (IDH mutant and 1p/19q codeleted, or NOS)\n * 9451/3: Anaplastic oligodendroglioma (IDH mutant and 1p/19q codeleted, or NOS)\n * 9505/3: Anaplastic ganglioglioma\n * 9530/3: Anaplastic (malignant) meningioma\n\n**Note 3:** **Related data item**\n* See also 3801: Chromosome 1p: Loss of Heterozygosity (LOH).", - "last_modified" : "2025-11-06T21:32:35.566Z", - "definition" : [ { - "key" : "chrom_19q_status", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Chromosome 19q deletion/LOH not identified/not present" ], [ "1", "Chromosome 19q deletion/LOH present" ], [ "6", "Benign or borderline tumor" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nCannot be determined by the pathologist\nChromosome 19q: LOH not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\n**Other names include** whole arm loss, allelic loss, gene deletion, 1p/19q fragment analysis", - "coding_guidelines" : "**1)** **Code 0** when the 1p/19q is not identified/not present \n\n**2)** **Code 1** when the 1p/19q is present\n\n**3)** **Code 6** for **Benign (/0)** or **Borderline (/1) tumors**\n\n**4)** **Code 9** when \n* No documentation in the medical record\n* 1p/19q test not done (not assessed)\n* Unknown if 1p/19q test was performed (unknown if assessed)", - "rationale" : "Chromosome 19q: Loss of Heterozygosity (LOH) is a Registry Data Collection Variable in AJCC. It was previously collected as Brain, CS SSF #6." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_1p_status_40269.json b/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_1p_status_40269.json deleted file mode 100644 index bb17e50da..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_1p_status_40269.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "chromosome_1p_status_40269", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Chromosome 1p Status", - "title" : "Chromosome 1p: Loss of Heterozygosity (LOH)", - "description" : "Chromosome 1p: Loss of Heterozygosity (LOH) refers to the loss of genetic material normally found on the short arm of one of the patient's two copies of chromosome 1. Codeletion of Chromosome 1p and 19q is a diagnostic, prognostic and predictive marker for gliomas and is strongly associated with the oligodendroglioma phenotype.\n\nLoss of Heterozygosity Chromosome 1 p and Chromosome 19q are two genetic tests that are frequently done at the same time and reported together. Loss of heterozygosity (LOH) in a chromosome means that genetic material normally found in a specific area of a chromosome is missing. In other words, this is damage to the chromosome that results in failure of tumor suppression, which in turn may cause the development or progression of a malignancy. For 1p LOH, the specific chromosomal defect is on the short arm (p) of chromosome 1. For 19q LOH, the specific chromosomal defect is on the long arm (q) of chromosome 19.\n\nNormal cells have two complete copies of each chromosome, a state called heterozygosity. The loss of this section of the chromosome is associated with improved outcome. It can be used to aid diagnosis and to make treatment decisions because sensitivity to chemotherapy agents, such as lomustine, procarbazine, and vincristine, is increased with either 1p or 19q LOH. Special molecular diagnostic (polymerase chain reaction or gene amplification) tests look for missing genetic material. LOH for chromosome 1p and 19q is tested primarily for oligodendroglioma, anaplastic oligodendroglioma, oligoastrocytoma, and anaplastic oligoastrocytoma. It is infrequently tested for other gliomas, such as glioblastoma multiforme.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of Chromosome 1p deletion/LOH can be used to code this data item when no other information is available.\n\n**Note 2:** **Applicable histologies**\n* Below is a list of histologies/terms for which the Chromosome 1p test is commonly done. If the test was done, record the results, regardless of the histology. If the histology is not listed among those for which the Chromosome 1p test is commonly done, and the test result is not readily available, assume it was not done and code 9 for unknown.\n * 9382/3: Oligoastrocytoma (anaplastic, or NOS)\n * 9400/3: Diffuse astrocytoma (IDH mutant, IDH wild type, or NOS)\n * 9401/3: Anaplastic astrocytoma (IDH mutant, IDH wild type, or NOS)\n * 9411/3: Gemistocytic astrocytoma, IDH mutant\n * 9424/3: Anaplastic pleomorphic xanthoastrocytoma\n * 9430/3: Astroblastoma\n * 9440/3: Glioblastoma (epithelioid, IDH wild type, or NOS)\n * 9441/3: Giant cell glioblastoma\n * 9442/3: Gliosarcoma\n * 9445/3: Glioblastoma, IDH mutant\n * 9450/3: Oligodendroglioma (IDH mutant and 1p/19q codeleted, or NOS)\n * 9451/3: Anaplastic oligodendroglioma (IDH mutant and 1p/19q codeleted, or NOS)\n * 9505/3: Anaplastic ganglioglioma\n * 9530/3: Anaplastic (malignant) meningioma\n\n**Note 3:** **Related data item**\n* See also 3802: Chromosome 19q: Loss of Heterozygosity (LOH).", - "last_modified" : "2025-11-06T21:31:47.479Z", - "definition" : [ { - "key" : "chrom_1p_status", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Chromosome 1p deletion/LOH not identified/not present" ], [ "1", "Chromosome 1p deletion/LOH identified/present" ], [ "6", "Benign or borderline tumor" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nCannot be determined by the pathologist\nChromosome 1p deletion/LOH not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\n**Other names include** whole arm loss, allelic loss, gene deletion, 1p/19q fragment analysis", - "coding_guidelines" : "**1)** **Code 0** when the 1p/19q is not identified/not present \n\n**2)** **Code 1** when the 1p/19q is present\n\n**3)** **Code 6** for **Benign (/0)** or **Borderline (/1) tumors**\n\n**4)** **Code 9** when \n* No documentation in the medical record\n* 1p/19q test not done (not assessed)\n* Unknown if 1p/19q test was performed (unknown if assessed)", - "rationale" : "Chromosome 1p: Loss of Heterozygosity (LOH) is a Registry Data Collection Variable in AJCC. It was previously collected as Brain, CS SSF #5." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_3_status_93464.json b/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_3_status_93464.json deleted file mode 100644 index b31eaa9de..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_3_status_93464.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "chromosome_3_status_93464", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Chromosome 3 Status", - "title" : "Chromosome 3 Status", - "description" : "Chromosome 3 Status refers to the partial or total loss of Chromosome 3, which is a prognostic factor for uveal melanoma.\n\nThe loss of an entire copy of chromosome 3, which occurs in about half of patients, is the most important indicator of poor prognosis for the uveal melanomas, particularly melanoma of the choroids and ciliary body. A variety of sophisticated tests can be used to determine chromosome 3 status. \n* Karyotyping\n* Fluorescence in situ hybridization\n* Comparative genomic hybridization\n* DNA polymorphism analysis (e.g., single nucleotide polymorphism, microsatellite)\n* Multiplex ligation probe amplification\n* Monosomy 3 means loss of chromosome 3. Determination of chromosome status may be affected by prior irradiation\n\nMonosomy 3, especially if combined with a frequently coexisting gain in chromosome 8q, is independently associated with metastatic risk. Chromosome 3 and 8 statuses may be determined with karyotyping or fluorescent in situ hybridization (FISH).", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of chromosome 3 status can be used to code this data item when no other information is available.\n\n**Note 2:** **Related data item** \n* See related data item 3822: Chromosome 8q Status.", - "last_modified" : "2025-11-06T21:26:48.523Z", - "definition" : [ { - "key" : "chrom_3_status", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No loss of chromosome 3" ], [ "1", "Partial loss of chromosome 3" ], [ "2", "Complete loss of chromosome 3" ], [ "3", "Loss of chromosome 3, NOS\nLoss of BAP1 expression" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nChromosome 3 status not assessed or unknown if assessed" ] ], - "additional_info" : "**Source Documents:** pathology report, specialty/reference lab report, gene expression profile report, other statement in medical record\n\n**Other names include** Monosomy 3, loss of chromosome 3, chromosome 3 loss of heterozygosity (LOH), isodisomy 3 (rare)\n\nFor further information, refer to the **Uveal Melanoma** cancer protocol published by the College of American Pathologist for the AJCC Staging System *Uveal Melanoma*.", - "coding_guidelines" : "**1)** **Code 0** when there is no loss of chromosome 3, or disomy 3\n\n**2)** **Code 1** when there is partial loss of chromosome 3\n\n**3)** **Code 2** when there is complete loss of chromosome 3, or monosomy 3\n\n**4)** **Code 3** when there is loss of chromosome 3, how much not known\n\n**5)** **Code 9** when\n* No documentation in the medical record\n* Chromosome 3 not evaluated (assessed)\n* Unknown if Chromosome 3 evaluated (assessed)\n* Patients received radiation therapy prior to testing", - "rationale" : "Chromosome 3 Status is a Registry Data Collection Variable in AJCC. This data item was previously collected as Uveal Melanoma, CS SSF #5." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_8q_status_83582.json b/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_8q_status_83582.json deleted file mode 100644 index 2d324c75a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/chromosome_8q_status_83582.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "chromosome_8q_status_83582", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Chromosome 8q Status", - "title" : "Chromosome 8q Status", - "description" : "Chromosome 8q Status refers to gain in Chromosome 8q, which is a prognostic factor for uveal melanoma.\n\nThe loss of an entire copy of chromosome 8, which occurs in about half of patients, is the most important indicator of poor prognosis for the uveal melanomas, particularly melanoma of the choroids and ciliary body. A variety of sophisticated tests can be used to determine chromosome 8 status \n* Karyotyping\n* Fluorescence in situ hybridization\n* Comparative genomic hybridization\n* DNA polymorphism analysis (e.g., single nucleotide polymorphism, microsatellite).\n* Multiplex ligation probe amplification\n\nMonosomy 3, especially if combined with a frequently coexisting gain in chromosome 8q, is independently associated with metastatic risk. Chromosome 3 and 8 statuses may be determined with karyotyping or fluorescent in situ hybridization (FISH).", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of chromosome 8q status can be used to code this data item when no other information is available.\n\n**Note 2:** **Related data item** \n* See related data item 3821: Chromosome 3 Status.", - "last_modified" : "2025-11-06T21:27:05.578Z", - "definition" : [ { - "key" : "chrom_8q_status", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No gain in chromosome 8q" ], [ "1", "Gain in chromosome 8q" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nChromosome 8q status not assessed or unknown if assessed" ] ], - "additional_info" : "**Source Documents:** pathology report, specialty/reference lab report, gene expression profile report, other statement in medical record\n\n**Other names include:** 8q duplication, 8q trisomy, duplication 8q, partial trisomy 8q, trisomy 8q\n\nFor further information, refer to the **Uveal Melanoma** cancer protocol published by the College of American Pathologist for the AJCC Staging System *Uveal Melanoma*.", - "coding_guidelines" : "**1)** **Code 0** when there is no gain in chromosome 8q\n\n**2)** **Code 1** when there is gain in chromosome 8q\n\n**3)** **Code 9** when\n* No documentation in the medical record\n* Chromosome 8q not evaluated (assessed)\n* Unknown if Chromosome 8q evaluated (assessed)\n* Patients received radiation therapy prior to testing", - "rationale" : "Chromosome 8q Status is a Registry Data Collection Variable in AJCC. This data item was previously collected as Uveal Melanoma, CS SSF #7." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/circumferential_resection_margin_77909.json b/src/test/resources/algorithms/eod_public/3.3/tables/circumferential_resection_margin_77909.json deleted file mode 100644 index b1ce78e59..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/circumferential_resection_margin_77909.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "circumferential_resection_margin_77909", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Circumferential Resection Margin (CRM)", - "title" : "Circumferential Resection Margin (CRM)", - "subtitle" : "Circumferential or Radial Resection Margin (CRM)", - "description" : "Circumferential or Radial Resection Margin, the distance in millimeters between the leading edge of the tumor and the surgically dissected margin as recorded on the pathology report, is a prognostic indicator for colon and rectal cancer. This may also be referred to as the Radial Resection Margin or surgical clearance.\n\nThe CRM, also referred to as the radial margin or the mesenteric resection margin, is the measurement of the distance from the deepest invasion of the tumor to the margin of resection in the retroperitoneum or mesentery. In other words, the CRM is the width of the surgical margin at the deepest part of the tumor in an area of the large intestine or rectum without serosa (non-peritonealized rectum below the peritoneal reflection) or only partly covered by serosa (upper rectum, posterior aspects of ascending and descending colon).\n\nFor segments of the colon completely encased by peritoneum, the mesenteric resection margin is the only relevant circumferential margin.\n\nThe CRM is not the same as the distance to the proximal and distal margins of the colon specimen. For rectal cancers, the circumferential resection margin is the most important predictor of local-regional recurrence.\n\nPer the AJCC Staging System Colon and Rectum, \"the CRM is the distance in millimeters between the deepest point of tumor invasion in the primary cancer and the margin of resection in the retroperitoneum or mesentery\".", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Circumferential or Radial Resection Margin can be used to code this data item when no other information is available, provided the criteria for evaluation has been met *(see Note 2)*.\n\n**Note 2:** **Criteria for evaluating CRM**\n* A surgical resection must be done to evaluate circumferential resection margin.\n* See *Coding Guidelines #3 and #4* for further information\n\n**Note 3:** **Exact measurements versus XX codes**\n\n**An exact measurement takes precedence over codes 0.0 and those beginning with XX**. Exact measurement also takes priority even if the pathologist states the margin is positive.\n * ***Example:*** CRM stated as 0.3 mm in Final Diagnosis and Synoptic states: Circumferential (Radial) Margin Interpreted as involved by invasive carcinoma (tumor less than 1mm from margin).\n * Code the 0.3 mm instead of 0.0 (margin involved with tumor). \n * Code 0.0 is for positive margins, or margin is less than 0.1 mm.", - "last_modified" : "2025-11-06T17:56:40.836Z", - "definition" : [ { - "key" : "crm", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "Circumferential resection margin (CRM) positive\nMargin IS involved with tumor\nDescribed as \"less than 0.1 millimeter (mm)\"" ], [ "0.1-99.9", "Distance of tumor from margin: 0.1- 99.9 millimeters (mm)\n(Exact size to nearest tenth of millimeter)" ], [ "XX.0", "100 mm or greater" ], [ "XX.1", "Margins clear, distance from tumor not stated\nCircumferential or radial resection margin negative, NOS\nNo residual tumor identified on specimen" ], [ "XX.2", "Margins cannot be assessed" ], [ "XX.3", "Described as \"at least\" 1 mm" ], [ "XX.4", "Described as \"at least\" 2 mm" ], [ "XX.5", "Described as \"at least\" 3 mm" ], [ "XX.6", "Described as \"greater than\" 3 mm" ], [ "XX.7", "No resection of primary site \nSurgical procedure did not remove enough tissue to measure the circumferential or radial resection margin\n(Examples include: polypectomy only, endoscopic mucosal resection (EMR), excisional biopsy only, transanal disk excision)" ], [ "XX.8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code XX.8 may result in an edit error.)" ], [ "XX.9", "Not documented in medical record\nNon-invasive neoplasm (behavior /2)\nCircumferential or radial resection margin not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\n**Other names include** circumferential radial margin, mesenteric (mesocolon) (mesorectal) margin, mesenteric excision plane, pericolonic resection margin, radial margin, soft tissue margin\n\nFor further information refer to the **Colon and Rectum** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Colon and Rectum*.", - "coding_guidelines" : "The following guidelines were developed for the coding of surgery codes in relation to CRM. These guidelines were confirmed by the CAP Cancer Committee.\n\n**1)** Record in Millimeters (mm) to the nearest tenth the distance between the leading edge of the tumor and the nearest edge of surgically dissected margin as recorded in the pathology report. \n * ***Examples:*** CRM is 2 mm, code 2.0; CRM is 2.78 mm, code 2.8\n\n**2)** **If the value is recorded in Centimeters**, multiply by 10 to get the value in Millimeters (mm). \n * ***Example:*** CRM recorded as 0.2 cm. Multiply 0.2 x 10 and record 2.0\n\n**3)** For **Colon** primaries, surgery of primary site must be a surgical resection\n * If surgery of primary site is not a surgical resection (i.e. polypectomy, excisional biopsy), then CRM must be coded as XX.7\n\n**4)** For **Rectal** primaries, surgery of primary site must be coded as excisional biopsy, transanal excision or surgical resection\n* For excisional biopsy, or transanal procedures, the tumor must be located in the peritonealized portion of the rectum. Only the peritonealized portion of the rectum is where you can get the CRM from these procedures \n * If the non-peritonealized portion of the rectum is involved or it’s unknown if the peritonealized portion of the rectum is involved, code XX.7\n * If surgery of primary site is not an excisional biopsy, transanal excision or surgical resection, code XX.7\n\n**5)** **Code 0.0** If the margin is involved (positive) \n\n**6)** **Code 0.0** if the margin is described as less than 0.1 mm with no more specific measurement\n\n**7)** **Code XX.0** for margins described as greater than 100 mm \n\n**8)** **Codes 0.1-99.9** are for coding the exact measurement in millimeters of the negative margin. \n\n**9)** **Code XX.1** when the margin is stated as clear, but the distance is not available.\n\n**10)** **Code XX.2** when the pathology reports/CAP checklist states that the margin cannot be assessed/evaluated. \n\n**11** **Codes XX.3-XX.6** is for when the pathology uses “at least” categories.\n\n**12)** **Code XX.7** when there is no surgical resection of the primary site.\n\n**13)** **Code XX.9** when\n * Not documented in the medical record\n * CRM is not evaluated (assessed)\n * Checked “Not applicable: Radial or Mesenteric Margin” on CAP Checklist\n * Pathology report describes only distal and proximal margins, or margins, NOS\n * Unknown if CRM is evaluated (assessed)", - "rationale" : "Circumferential or Radial Resection Margin is a Registry Data Collection Variable in AJCC. It was previously collected as Colon and Rectum CS SSF #6." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/clinical_margin_width_1179.json b/src/test/resources/algorithms/eod_public/3.3/tables/clinical_margin_width_1179.json deleted file mode 100644 index a87fb2fb6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/clinical_margin_width_1179.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "clinical_margin_width_1179", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Clinical Margin Width", - "title" : "Clinical Margin Width", - "description" : "Clinical margin width describes the margins from a wide excision for a melanoma primary. The margin width is measured by the surgeon prior to the procedure. The measurement is taken, in centimeters, from the edge of the lesion or the prior excision scar to the peripheral margin of the specimen.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2023+ AND **primary sites C440-C449 only**. For all other primary sites, code XX.9\n * See case_identification _guidelines_standard_5_5.pdf (facs.org)\n* For cases diagnosed 2018-2022, this SSDI must be blank\n\n**Note 2:** **Measuring the margins** \n* “The appropriate [wide local excision] margins are measured from the periphery of any gross residual tumor or the edges of the entire previous biopsy scar (shave or excisional).” Operative Standards for Cancer Surgery, Volume 2, page 392.\n\n**Note 3:** **Code peripheral surgical margins from the operative report from a wide excision** \n+ Do not use the pathology report to code this data item. \n+ Margins from wide excision-Measured from the edge of the lesion or the prior excision scar to the peripheral margin of the specimen, do not use deep margin\n+ Do not add margins together\n+ If multiple wide excisions are performed, code the clinical margin width from the procedure with the largest margin\n+ If a range is listed, code the lower range\n + *Example:* Clinical Width Margin documented as 1-1.2 cm. Code 1 cm\n\n**Note 4:** **Physician statement** \n* Physician statement of clinical margin width can be used to code this data item when no other information is available, or the available information is ambiguous\n + Order of priority:\n - Operative Note\n - Physician statement in medical record\n\n**Note 5:** **Code formats** \n* Record stated margin in centimeters. Include decimal point.\n *Examples:* \n + 0.5 cm - 0.5\n + 1 cm- 1.0\n + 2.5 cm - 2.5", - "last_modified" : "2025-03-31T11:14:45.940Z", - "definition" : [ { - "key" : "clinical_margin_width", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.1", "Documented as 0.1cm or less (1mm or less)" ], [ "0.2-9.9", "0.2 cm – 9.9 cm" ], [ "XX.1", "10 centimeters or greater" ], [ "XX.8", "Not Applicable. Information not collected for this schema\n(If this information is required by your standard setter, use of code XX.8 may result in an edit error)" ], [ "XX.9", "Not documented in medical record\nNo Wide Excision performed\nMohs or similar procedure\nWide Excision performed, but clinical margin width not documented.\nNo surgical resection performed (B000)\nUnknown if procedure performed." ], [ "", "Must be blank if diagnosis year is before 2023" ] ], - "additional_info" : "Current version of the Commission on Cancer's STORE Manual, Appendix M", - "rationale" : "Per the American College of Surgeons Optimal Resources for Cancer Care-2020 Standards Standard 5.5 Local Excision for Primary Cutaneous Melanoma, the clinical margin width for wide local excision of invasive melanoma should be 1 cm for melanomas <1 mm thick, 1 to 2 cm for invasive melanomas 1 to 2 mm thick, and 2 cm for invasive melanomas >2 mm thick. The clinical margin width for wide local excision of a melanoma in situ should be at least 5 mm." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/combine_prostate_eod_extension_16771.json b/src/test/resources/algorithms/eod_public/3.3/tables/combine_prostate_eod_extension_16771.json deleted file mode 100644 index 4c5dc335e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/combine_prostate_eod_extension_16771.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "combine_prostate_eod_extension_16771", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Combine Prostate EOD Extension", - "title" : "Combine Prostate EOD Extension", - "last_modified" : "2019-04-05T16:52:36.764Z", - "definition" : [ { - "key" : "clin_ss2018_t", - "name" : "Clin SS2018 T", - "type" : "INPUT" - }, { - "key" : "path_ss2018_t", - "name" : "Path SS2018 T", - "type" : "INPUT" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "path_ss2018_t", "clin_ss2018_t" ], - "rows" : [ [ "IS,L,RE,D", "U", "VALUE:{{clin_ss2018_t}}" ], [ "U", "U", "VALUE:{{path_ss2018_t}}" ], [ "L,RE,D", "IS", "VALUE:{{clin_ss2018_t}}" ], [ "IS,U", "IS", "VALUE:{{path_ss2018_t}}" ], [ "RE,D", "L", "VALUE:{{clin_ss2018_t}}" ], [ "IS,L,U", "L", "VALUE:{{path_ss2018_t}}" ], [ "D", "RE", "VALUE:{{clin_ss2018_t}}" ], [ "IS,L,RE,U", "RE", "VALUE:{{path_ss2018_t}}" ], [ "IS,L,RE,D,U", "D", "VALUE:{{path_ss2018_t}}" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/combined_grade_56638.json b/src/test/resources/algorithms/eod_public/3.3/tables/combined_grade_56638.json deleted file mode 100644 index fc060c04a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/combined_grade_56638.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "combined_grade_56638", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Summary Grade", - "title" : "Derived Summary Grade", - "notes" : "This calculated the Derived Summary Grade, the highest grade based on Grade Clinical and Grade Pathological. If grade is needed in the Stage Group Calculation, this value is also used there", - "last_modified" : "2023-05-19T17:24:10.547Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Grade Clin", - "type" : "INPUT" - }, { - "key" : "grade_path", - "name" : "Grade Path", - "type" : "INPUT" - }, { - "key" : "derived_summary_grade", - "name" : "Derived Grade", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "grade_path", "grade_clin" ], - "rows" : [ [ "*", "S", "VALUE:{{grade_path}}" ], [ "S", "1,2,3,4,5,A,B,C,D,E,L,M,H,9", "VALUE:{{grade_clin}}" ], [ "1,2,3,4,5,A,B,C,D,E,L,M,H,9", "5", "VALUE:{{grade_path}}" ], [ "5", "1,2,3,4,A,B,C,D,E,L,M,H,9", "VALUE:{{grade_clin}}" ], [ "1,2,3,4,A,B,C,D,E,L,M,H,9", "4", "VALUE:{{grade_path}}" ], [ "4", "1,2,3,A,B,C,D,E,L,M,H,9", "VALUE:{{grade_clin}}" ], [ "1,2,3,A,B,C,D,E,L,M,H,9", "3", "VALUE:{{grade_path}}" ], [ "3", "1,2,A,B,C,D,E,L,M,H,9", "VALUE:{{grade_clin}}" ], [ "1,2,A,B,C,D,E,L,M,H,9", "2", "VALUE:{{grade_path}}" ], [ "2", "1,A,B,C,D,E,L,M,H,9", "VALUE:{{grade_clin}}" ], [ "1,A,B,C,D,E,L,M,H,9", "1", "VALUE:{{grade_path}}" ], [ "1", "A,B,C,D,E,L,M,H,9", "VALUE:{{grade_clin}}" ], [ "A,B,C,D,E,L,M,H,9", "E", "VALUE:{{grade_path}}" ], [ "E", "A,B,C,D,L,M,H,9", "VALUE:{{grade_clin}}" ], [ "A,B,C,D,L,M,H,9", "D", "VALUE:{{grade_path}}" ], [ "D", "A,B,C,L,M,H,9", "VALUE:{{grade_clin}}" ], [ "A,B,C,L,M,H,9", "C", "VALUE:{{grade_path}}" ], [ "C", "A,B,L,M,H,9", "VALUE:{{grade_clin}}" ], [ "A,B,L,M,H,9", "B", "VALUE:{{grade_path}}" ], [ "B", "A,L,M,H,9", "VALUE:{{grade_clin}}" ], [ "A,L,M,H,9", "A", "VALUE:{{grade_path}}" ], [ "A", "L,M,H,9", "VALUE:{{grade_clin}}" ], [ "L,M,H,9", "H", "VALUE:{{grade_path}}" ], [ "H", "L,M,9", "VALUE:{{grade_clin}}" ], [ "L,M,9", "M", "VALUE:{{grade_path}}" ], [ "M", "L,9", "VALUE:{{grade_clin}}" ], [ "L,9", "L", "VALUE:{{grade_path}}" ], [ "L", "9", "VALUE:{{grade_clin}}" ], [ "9", "9", "VALUE:{{grade_path}}" ], [ "", "", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/combined_grade_breast_8723.json b/src/test/resources/algorithms/eod_public/3.3/tables/combined_grade_breast_8723.json deleted file mode 100644 index 3a7eb4a1b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/combined_grade_breast_8723.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id" : "combined_grade_breast_8723", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Summary Grade Breast", - "title" : "Derived Summary Grade Breast", - "notes" : "This calculated the Derived Summary Grade, the highest grade based on Grade Clinical and Grade Pathological. If grade is needed in the Stage Group Calculation, this value is also used there. This table is specific to Breast cancer.", - "last_modified" : "2023-04-26T21:18:03.909Z", - "definition" : [ { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "grade_clin", - "name" : "Grade Clin", - "type" : "INPUT" - }, { - "key" : "grade_path", - "name" : "Grade Path", - "type" : "INPUT" - }, { - "key" : "derived_summary_grade", - "name" : "Derived Summary Grade", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "grade_path", "grade_clin" ], - "rows" : [ [ "2", "*", "H", "VALUE:{{grade_path}}" ], [ "2", "H", "1,2,3,L,M,A,B,C,D,9", "VALUE:{{grade_clin}}" ], [ "2", "1,2,3,L,M,A,B,C,D,9", "M", "VALUE:{{grade_path}}" ], [ "2", "M", "1,2,3,L,A,B,C,D,9", "VALUE:{{grade_clin}}" ], [ "2", "1,2,3,L,A,B,C,D,9", "L", "VALUE:{{grade_path}}" ], [ "2", "L", "1,2,3,A,B,C,D,9", "VALUE:{{grade_clin}}" ], [ "2", "1,2,3,A,B,C,D,9", "3", "VALUE:{{grade_path}}" ], [ "2", "3", "1,2,A,B,C,D,9", "VALUE:{{grade_clin}}" ], [ "2", "1,2,A,B,C,D,9", "2", "VALUE:{{grade_path}}" ], [ "2", "2", "1,A,B,C,D,9", "VALUE:{{grade_clin}}" ], [ "2", "1,A,B,C,D,9", "1", "VALUE:{{grade_path}}" ], [ "2", "1", "A,B,C,D,9", "VALUE:{{grade_clin}}" ], [ "2", "A,B,C,D,9", "D", "VALUE:{{grade_path}}" ], [ "2", "D", "A,B,C,9", "VALUE:{{grade_clin}}" ], [ "2", "A,B,C,9", "C", "VALUE:{{grade_path}}" ], [ "2", "C", "A,B,9", "VALUE:{{grade_clin}}" ], [ "2", "A,B,9", "B", "VALUE:{{grade_path}}" ], [ "2", "B", "A,9", "VALUE:{{grade_clin}}" ], [ "2", "A,9", "A", "VALUE:{{grade_path}}" ], [ "2", "A", "9", "VALUE:{{grade_clin}}" ], [ "3", "*", "3", "VALUE:{{grade_path}}" ], [ "3", "3", "1,2,L,M,H,A,B,C,D,9", "VALUE:{{grade_clin}}" ], [ "3", "1,2,L,M,H,A,B,C,D,9", "2", "VALUE:{{grade_path}}" ], [ "3", "2", "1,L,M,H,A,B,C,D,9", "VALUE:{{grade_clin}}" ], [ "3", "1,L,M,H,A,B,C,D,9", "1", "VALUE:{{grade_path}}" ], [ "3", "1", "L,M,H,A,B,C,D,9", "VALUE:{{grade_clin}}" ], [ "3", "L,M,H,A,B,C,D,9", "H", "VALUE:{{grade_path}}" ], [ "3", "H", "L,M,A,B,C,D,9", "VALUE:{{grade_clin}}" ], [ "3", "L,M,A,B,C,D,9", "M", "VALUE:{{grade_path}}" ], [ "3", "M", "L,A,B,C,D,9", "VALUE:{{grade_clin}}" ], [ "3", "L,A,B,C,D,9", "L", "VALUE:{{grade_path}}" ], [ "3", "L", "A,B,C,D,9", "VALUE:{{grade_clin}}" ], [ "3", "A,B,C,D,9", "D", "VALUE:{{grade_path}}" ], [ "3", "D", "A,B,C,9", "VALUE:{{grade_clin}}" ], [ "3", "A,B,C,9", "C", "VALUE:{{grade_path}}" ], [ "3", "C", "A,B,9", "VALUE:{{grade_clin}}" ], [ "3", "A,B,9", "B", "VALUE:{{grade_path}}" ], [ "3", "B", "A,9", "VALUE:{{grade_clin}}" ], [ "3", "A,9", "A", "VALUE:{{grade_path}}" ], [ "3", "A", "9", "VALUE:{{grade_clin}}" ], [ "2,3", "9", "9", "VALUE:{{grade_path}}" ], [ "2,3", "", "", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_lab_value_56869.json b/src/test/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_lab_value_56869.json deleted file mode 100644 index 78647d391..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_lab_value_56869.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "creatinine_pretx_lab_value_56869", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Creatinine Pretreatment Lab Value", - "title" : "Creatinine Pretreatment Lab Value", - "description" : "Creatinine Pretreatment Lab Value, an indicator of kidney function, is required to calculate the Model for End-Stage Liver Disease (MELD) score, which is used to assign priority for liver transplant.\n\nCreatinine concentration in blood is a marker of renal function. Elevated levels are associated with severe liver disease. Creatinine can be measured in blood serum or urine, but these data items apply to blood levels only. Do not code urine creatinine or creatinine clearance in this field.\n\nThere are two methods of describing creatinine levels in the blood, weight in grams (milligrams per deciliter), usually used in the US, and molecular count in moles (micromoles per liter) in Canada. Conversion: 1 mg/dL = 17.1 umol/L. Code the unit of measure used by the facility laboratory. \n\nThe Model for End-Stage Liver Disease (MELD) is a numerical scale used to determine how urgently a patient with liver disease needs a liver transplant. Results from three routine lab tests are used to calculate the MELD score. Bilirubin, one of the tests, measures how effectively the liver excretes bile. The purpose of this scale was to help prioritize patients for liver transplant by estimating their risk of dying while waiting for transplant. \n\nThere are several related data items that are defined to record the MELD score. \n* 3813: Bilirubin Pretreatment Total Lab Value\n* 3814: Bilirubin Pretreatment Unit of Measure\n* 3824: Creatinine Pretreatment Lab Value\n* 3825: Creatinine Pretreatment Unit of Measure\n* 3860: International Normalized Ratio", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of Creatinine Pretreatment Lab Value can be used to code this data item when no other information is available. \n\n**Note 2:** **Pretreatment results only**\n* Record this data item based on a blood test performed at diagnosis (pre-treatment). Use the highest value available\n* Record the blood or serum creatinine value for this data item\n * Do not use urine results to code this data item.\n\n**Note 3:** **Related data item**\n* The same laboratory test should be used to record information in the related data item data item 3825: Creatinine Pretreatment Unit of Measure.", - "last_modified" : "2025-11-06T18:11:26.119Z", - "definition" : [ { - "key" : "creatinine_pretx_lab_value", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "0.0 milligram/deciliter (mg/dl)\n0.0 micromole/liter (umol/L)" ], [ "0.1-99.9", "0.1-99.9 milligram/deciliter (mg/dl)\n0.1-99.9 micromole/liter (umol/L)\n(Exact value to nearest tenth of mg/dl or umol/L)" ], [ "XX.1", "100 mg/dl or greater\n100 umol/L or greater" ], [ "XX.7", "Test ordered, results not in chart" ], [ "XX.8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code XX.8 will result in an edit error.)" ], [ "XX.9", "Not documented in medical record\nCreatinine Pretreatment Lab Value not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood serum); value may be part of a metabolic or liver function panel\n\n**Other names include** Serum creatinine, plasma creatinine (PCr), blood creatinine, Creat, Cre \n* Do not confuse with creatinine clearance or creatine; these are not the same tests. Do not code urine creatinine or creatinine clearance.\n\n**Normal Reference Range**\n* Women: 0.5-1.0 mg/dL (45-90 umol/L)\n* Men: 0.7-1.2 mg/dL (60-110 umol/L). Male values are usually higher due to greater muscle mass.\n* Normal value ranges may vary slightly among different laboratories.", - "coding_guidelines" : "**1)** Record the highest value prior to treatment in the range 0.1 mg/ml to 999.9 mg/ml OR 0.1 umol/L to 999.9 umol/L in the Lab Value data item and the unit of measure for measuring the lab value in the Unit of Measure data item.\n\n***Examples***\n* Creatinine Lab Value 0.0 mg/ml: Lab Value = 0.0, Unit Measure = 1\n* Creatinine Lab Value 0.7 umol/L: Lab Value = 0.7 Unit Measure = 2\n* Creatinine Lab Value 98.3: Lab Value = 98.3, Unit Measure = 9\n* Creatinine Lab Value Test Ordered, results not in chart: Lab Value = XXXX.7, Unit Measure = 7\n* Creatinine Lab Value Not documented in medical record, Bilirubin test not done, unknown if Bilirubin test done: Lab Value = XXXX.9, Unit Measure 9", - "rationale" : "Creatinine Pretreatment Lab Value is a Registry Data Collection Variable in AJCC. This data item was previously collected for Liver, CS SSF #4." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_unit_26973.json b/src/test/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_unit_26973.json deleted file mode 100644 index 75bb421c4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/creatinine_pretx_unit_26973.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "creatinine_pretx_unit_26973", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Creatinine Pretreatment Unit of Measure", - "title" : "Creatinine Pretreatment Unit of Measure", - "description" : "Creatinine Pretreatment Unit of Measure identifies the unit of measure for the creatinine value measured in blood or serum prior to treatment. Creatinine is commonly measured in units of Milligrams/deciliter (mg/dL) in the United States and Micromoles/liter (umol/L) in Canada and Europe.\n\nThere are two methods of describing creatinine levels in the blood, weight in grams (milligrams per deciliter), usually used in the US, and molecular count in moles (micromoles per liter) in Canada. Conversion: 1 mg/dL = 17.1 mol/L. Code the unit of measure used by the facility laboratory. \n\nThere are two related data items that record information on Creatinine. \n* 3824: Creatinine Pretreatment Lab Value.\n* 3825: Creatinine Pretreatment Unit of Measure", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of Creatinine Pretreatment Unit of Measure can be used to code this data item when no other information is available.\n\n**Note 2:** **Pretreatment results only**\n* Record this data item based on a blood test performed at diagnosis (pre-treatment). Use the highest value available\n* Record the blood or serum creatinine value for this data item\n * Do not use urine results to code this data item. \n\n**Note 3:** **Measurement definitions** \n* There are two main methods of describing concentrations: by weight, and by molecular count.\n* Weights are recorded in grams, and molecular counts are recorded in moles.\n* Milligrams/deciliter (mg/dL) is the unit of measure commonly used in the United States.\n* Micromoles/liter (umol/L) is the designated Systeme International (SI) unit of measure commonly used in Canada and Europe.\n * 1 mg/dL of bilirubin is 17.1 umol/L.\n\n**Note 4:** **Related data item**\n* The same laboratory test should be used to record information in the related data item data item 3824: Creatinine Pretreatment Lab Value.", - "last_modified" : "2025-11-05T21:54:53.753Z", - "definition" : [ { - "key" : "creatinine_pretx_unit", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Milligrams/deciliter (mg/dL)" ], [ "2", "Micromoles/liter (umol/L)" ], [ "7", "Test ordered, results not in chart " ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nCreatinine unit of measure not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood serum); value may be part of a metabolic or liver function panel\n\n**Other names include** Serum creatinine, plasma creatinine (PCr), blood creatinine, Creat, Cre\n* Do not confuse with creatinine clearance or creatine; these are not the same tests. Do not code urine creatinine or creatinine clearance.\n\n**Normal Reference Range**\n* Women: 0.5-1.0 mg/dL (45-90 umol/L)\n* Men: 0.7-1.2 mg/dL (60-110 umol/L). Male values are usually higher due to greater muscle mass.\n* Normal value ranges may vary slightly among different laboratories.", - "rationale" : "Creatinine Pretreatment Unit of Measure identifies the unit of measure for the creatinine value measured in blood or serum prior to treatment. Creatinine is commonly measured in units of Milligrams/deciliter (mg/dL) in the United States and Micromoles/liter (umol/L) in Canada and Europe." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derive_rai_stage_42032.json b/src/test/resources/algorithms/eod_public/3.3/tables/derive_rai_stage_42032.json deleted file mode 100644 index 2997ef69a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derive_rai_stage_42032.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id" : "derive_rai_stage_42032", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Calculate Derived Rai Stage", - "title" : "Calculate Derived Rai Stage", - "notes" : "This calculates the Derived Rai Stage based on Lymphocytosis [3885], \nAdenopathy [3804], Oranomegaly [3907], Anemia [3811], Thrombocytopenia [3933]", - "last_modified" : "2023-05-17T15:24:36.754Z", - "definition" : [ { - "key" : "lymphocytosis", - "name" : "Lymphocytosis", - "type" : "INPUT" - }, { - "key" : "adenopathy", - "name" : "Adenopathy", - "type" : "INPUT" - }, { - "key" : "organomegaly", - "name" : "Organomegaly", - "type" : "INPUT" - }, { - "key" : "anemia", - "name" : "Anemia", - "type" : "INPUT" - }, { - "key" : "thrombocytopenia", - "name" : "Thrombocytopenia", - "type" : "INPUT" - }, { - "key" : "derived_rai_stage", - "name" : "Rai Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "", "", "", "", "", "VALUE:" ], [ "5", "5", "5", "5", "5", "VALUE:8" ], [ "5", "0,1,9,", "0,1,5,9,", "0,1,5,6,7,9,", "0,1,5,6,7,9,", "ERROR:If not C421, Lymphocytosis, Adenopathy, Organomegaly, Anemia and Thrombocytopenia should all be 5" ], [ "5", "5", "0,1,9,", "0,1,5,6,7,9,", "0,1,5,6,7,9,", "ERROR:If not C421, Lymphocytosis, Adenopathy, Organomegaly, Anemia and Thrombocytopenia should all be 5" ], [ "5", "5", "5", "0,1,6,7,9,", "0,1,5,6,7,9,", "ERROR:If not C421, Lymphocytosis, Adenopathy, Organomegaly, Anemia and Thrombocytopenia should all be 5" ], [ "5", "5", "5", "5", "0,1,6,7,9,", "ERROR:If not C421, Lymphocytosis, Adenopathy, Organomegaly, Anemia and Thrombocytopenia should all be 5" ], [ "0,1,6,7,9,", "5", "0,1,5,9,", "0,1,5,6,7,9,", "0,1,5,6,7,9,", "ERROR:If not C421, Lymphocytosis, Adenopathy, Organomegaly, Anemia and Thrombocytopenia should all be 5" ], [ "0,1,6,7,9,", "0,1,9,", "5", "0,1,5,6,7,9,", "0,1,5,6,7,9,", "ERROR:If not C421, Lymphocytosis, Adenopathy, Organomegaly, Anemia and Thrombocytopenia should all be 5" ], [ "0,1,6,7,9,", "0,1,9,", "0,1,9,", "5", "0,1,5,6,7,9,", "ERROR:If not C421, Lymphocytosis, Adenopathy, Organomegaly, Anemia and Thrombocytopenia should all be 5" ], [ "0,1,6,7,9,", "0,1,9,", "0,1,9,", "0,1,6,7,9,", "5", "ERROR:If not C421, Lymphocytosis, Adenopathy, Organomegaly, Anemia and Thrombocytopenia should all be 5" ], [ "9", ",9", ",9", ",9", ",9", "VALUE:9" ], [ "", "9", ",9", ",9", ",9", "VALUE:9" ], [ "", "", "9", ",9", ",9", "VALUE:9" ], [ "", "", "", "9", ",9", "VALUE:9" ], [ "", "", "", "", "9", "VALUE:9" ], [ "0,7", "0,1,9,", "0,1,9,", "0,1,6,7,9,", "0,1,6,7,9,", "VALUE:9" ], [ "9,", "0,1", "0,1,9,", "0,1,6,7,9,", "0,1,6,7,9,", "VALUE:9" ], [ "9,", "9,", "0,1", "0,1,6,7,9,", "0,1,6,7,9,", "VALUE:9" ], [ "9,", "9,", "9,", "0,1,6,7", "0,1,6,7,9,", "VALUE:9" ], [ "9,", "9,", "9,", "9,", "0,1,6,7", "VALUE:9" ], [ "1,6", "0,9,", "0,9,", "0,7,9,", "0,7,9,", "VALUE:0" ], [ "1,6", "1", "0,9,", "0,7,9,", "0,7,9,", "VALUE:1" ], [ "1,6", "0,1,9,", "1", "0,7,9,", "0,7,9,", "VALUE:2" ], [ "1,6", "0,1,9,", "0,1,9,", "1,6", "0,7,9,", "VALUE:3" ], [ "1,6", "0,1,9,", "0,1,9,", "0,1,6,7,9,", "1,6", "VALUE:4" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_10693.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_10693.json deleted file mode 100644 index e86bd0647..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_10693.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_10693", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:21:59.088Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1\nFIGO Grade 1\nG1: Well differentiated" ], [ "2", "G2\nFIGO Grade 2\nG2: Moderately differentiated" ], [ "3", "G3\nFIGO Grade 3\nG3: Poorly differentiated or undifferentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_12594.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_12594.json deleted file mode 100644 index ca859e74b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_12594.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_12594", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:34:40.938Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "WHO Grade I: Circumscribed tumors of low proliferative potential associated with the possibility of cure following resection" ], [ "2", "WHO Grade II: Infiltrative tumors with low proliferative potential with increased risk of recurrence" ], [ "3", "WHO Grade III: Tumors with histologic evidence of malignancy, including nuclear atypia and mitotic activity, associated with an aggressive clinical course" ], [ "4", "WHO Grade IV: Tumors that are cytologically malignant, mitotically active, and associated with rapid clinical progression and potential for dissemination" ], [ "L", "Stated as \"low grade\" NOS" ], [ "H", "Stated as \"high grade\" NOS" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_2099.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_2099.json deleted file mode 100644 index 45cb5ba17..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_2099.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_2099", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-15T14:12:38.409Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "LG: Low grade: round monomorphic nuclei with only mild to moderate nuclear size variation, indistinct nucleoli, and chromatin characteristics resembling those of normal parathyroid or of adenoma" ], [ "H", "HG: High grade: more pleomorphism, with a nuclear size variation greater than 4:1; prominent nuclear membrane irregularities; chromatin alterations, including hyperchromasia or margination of chromatin; and prominent nucleoli. High-grade tumors show several discrete confluent areas with nuclear changes" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21657.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21657.json deleted file mode 100644 index 9ebe50272..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21657.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_21657", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:37:19.140Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated " ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21945.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21945.json deleted file mode 100644 index f55345dd2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21945.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_21945", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:16:57.600Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8", "Not applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21973.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21973.json deleted file mode 100644 index 2314b72d8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_21973.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_21973", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-15T16:38:27.559Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated, undifferentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_24813.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_24813.json deleted file mode 100644 index 4171fa7bb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_24813.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_24813", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:42:45.140Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "LG: Low grade (≤20 mitoses per 50 HPF)" ], [ "H", "HG: High grade (>20 mitosis per 50 HPF) " ], [ "M", "TP53 or CTNNB Mutation " ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_27440.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_27440.json deleted file mode 100644 index 9aa7c23a2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_27440.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_27440", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-15T18:26:08.155Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Mitotic count (per 2mm2) less than 2 AND \n Ki-67 index (%) less than 3\n\nStated as WHO Grade 1" ], [ "2", "G2: Mitotic count (per 2mm2) equal 2-20 OR\n Ki-67 index (%) equal 3-20\n\nStated as WHO Grade 2" ], [ "3", "G3: Mitotic count (per 2mm2) greater than 20 OR \n Ki-67 index (%) greater than 20\n\nStated as WHO Grade 3" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_29698.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_29698.json deleted file mode 100644 index f7925f594..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_29698.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_29698", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-15T15:52:45.992Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Tumor with areas of retinoma [retinocytoma] (fleurettes or neuronal differentiation)" ], [ "2", "G2: Tumor with many rosettes (Flexner-Wintersteiner or Homer Wright)" ], [ "3", "G3: Tumor with occasional rosettes (Flexner-Wintersteiner or Homer Wright)" ], [ "4", "G4: Tumor with poorly differentiated cells without rosettes and/or with extensive areas (more than half of tumor) of anaplasia" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_30763.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_30763.json deleted file mode 100644 index c4dbfc6cf..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_30763.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_30763", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T17:07:57.320Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated: includes adenoid cystic carcinoma without basaloid (solid) pattern" ], [ "3", "G3: Poorly differentiated: includes adenoid cystic carcinoma with basaloid (solid) pattern" ], [ "4", "G4: Undifferentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_32209.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_32209.json deleted file mode 100644 index 79a15cfb3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_32209.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_32209", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:20:03.652Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated, undifferentiated " ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_40528.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_40528.json deleted file mode 100644 index 364e5b170..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_40528.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_40528", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:19:07.442Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated, undifferentiated " ], [ "B", "GB: Borderline Tumor" ], [ "L", "Low grade" ], [ "H", "High grade" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_46639.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_46639.json deleted file mode 100644 index a456549ec..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_46639.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_46639", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T17:06:02.501Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated" ], [ "4", "G4: Undifferentiated " ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_48704.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_48704.json deleted file mode 100644 index 48e4f433d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_48704.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_48704", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-15T16:15:36.903Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Sum of differentiation score, mitotic count score and necrosis score equals 2 or 3\n\nStated as FNCLCC Grade 1" ], [ "2", "G2: Sum of differentiation score, mitotic count score and necrosis score of 4 or 5\n\nStated as FNCLCC Grade 2" ], [ "3", "G3: Sum of differentiation score, mitotic count score and necrosis score of 6, 7, or 8\n\nStated as FNCLCC Grade 3" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "H", "Stated as \"high grade\" only" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_58317.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_58317.json deleted file mode 100644 index 7c6addaf2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_58317.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_58317", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-15T14:15:31.710Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated/high grade" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_69945.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_69945.json deleted file mode 100644 index cb4473e38..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_69945.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_69945", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:39:41.209Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_71063.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_71063.json deleted file mode 100644 index ce296c5ba..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_71063.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_71063", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T22:59:36.763Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: 0-5 centroblasts per 10 HPF" ], [ "2", "G2: 6-15 centroblasts per 10 HPF" ], [ "3", "G3: More than 15 centroblasts per 10 HPF but with admixed centrocytes" ], [ "4", "G4: More than 15 centroblasts per 10 HPF but without centrocytes " ], [ "9", "Grade cannot be assessed (GX); Unknown \nNot a follicular histology (9690/3, 9691/3, 9695/3, 9698/3)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_71227.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_71227.json deleted file mode 100644 index 37332ee62..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_71227.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_71227", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:17:40.822Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Sum of differentiation score, mitotic count score and necrosis score equals 2 or 3\n\nStated as FNCLCC Grade 1" ], [ "2", "G2: Sum of differentiation score, mitotic count score and necrosis score of 4 or 5\n\nStated as FNCLCC Grade 2" ], [ "3", "G3: Sum of differentiation score, mitotic count score and necrosis score of 6, 7, or 8\n\nStated as FNCLCC Grade 3" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "H", "Stated as \"high grade\" only" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_74326.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_74326.json deleted file mode 100644 index 01598ce33..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_74326.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_74326", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-15T15:47:07.943Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "Description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Grade Group 1: Gleason score less than or equal to 6" ], [ "2", "Grade Group 2: Gleason score 7\nGleason pattern 3+4" ], [ "3", "Grade Group 3: Gleason score 7\nGleason pattern 4+3" ], [ "4", "Grade Group 4: Gleason score 8" ], [ "5", "Grade Group 5: Gleason score 9 or 10" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "E", "Stated as \"Gleason score 7\" with no patterns documented or \nAny Gleason patterns combination equal to 7 not specified in 2 or 3" ], [ "9", "Grade cannot be assessed; Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_76001.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_76001.json deleted file mode 100644 index e6c7f1b4c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_76001.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_76001", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:29:41.355Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Low combined histologic grade (favorable), SBR score of 3-5 points\n\nStated as Nottingham/Scarff Bloom-Richardson Grade 1" ], [ "2", "G2: Intermediate combined histologic grade (moderately favorable); SBR score of 6-7 points\n\nStated as Nottingham/Scarff Bloom-Richardson Grade 2" ], [ "3", "G3: High combined histologic grade (unfavorable); SBR score of 8-9 points\n\nStated as Nottingham/Scarff Bloom-Richardson Grade 3" ], [ "L", "Nuclear Grade I (Low) (in situ only)" ], [ "M", "Nuclear Grade II (interMediate) (in situ only)" ], [ "H", "Nuclear Grade III (High) (in situ only)" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_83462.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_83462.json deleted file mode 100644 index e0115376e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_83462.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_83462", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:15:44.059Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Nucleoli absent or inconspicuous and basophilic at 400x magnification\n\nStated as WHO/ISUP Grade 1" ], [ "2", "G2: Nucleoli conspicuous and eosinophilic at 400x magnification, visible but not prominent at 100x magnification\n\nStated as WHO/ISUP Grade 2" ], [ "3", "G3: Nucleoli conspicuous and eosinophilic at 100x magnification\n\nStated as WHO/ISUP Grade 3" ], [ "4", "G4: Marked nuclear pleomorphism and/or multinucleate giant cells and/or rhabdoid and/or sarcomatoid differentiation\n\nStated as WHO/ISUP Grade 4" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown\n\nOnly Fuhrman grade documented" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_84046.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_84046.json deleted file mode 100644 index 39b8a61d3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_84046.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_84046", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:36:34.633Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated" ], [ "L", "LG: Low-grade" ], [ "H", "HG: High-grade" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_8564.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_8564.json deleted file mode 100644 index 01cb9363c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_8564.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_8564", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:35:23.689Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated, low grade" ], [ "2", "G2: Moderately differentiated, high grade " ], [ "3", "G3: Poorly differentiated, high grade " ], [ "H", "Stated as \"high grade\" only" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_91894.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_91894.json deleted file mode 100644 index 490926dd4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_91894.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_91894", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:20:35.066Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated or undifferentiated" ], [ "L", "Low grade" ], [ "H", "High grade" ], [ "S", "Sarcomatous overgrowth " ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_93981.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_93981.json deleted file mode 100644 index 036db6e3a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_93981.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_93981", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T23:10:03.374Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Spindle cell melanoma (>90% spindle cells)" ], [ "2", "G2: Mixed cell melanoma (>10% epithelioid cells and <90% spindle cells)" ], [ "3", "G3: Epithelioid cell melanoma (>90% epithelioid cells)" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_96207.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_96207.json deleted file mode 100644 index e97b06a45..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_96207.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_96207", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:33:59.125Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "WHO Grade I: Circumscribed tumors of low proliferative potential associated with the possibility of cure following resection" ], [ "2", "WHO Grade II: Infiltrative tumors with low proliferative potential with increased risk of progression or recurrence" ], [ "3", "WHO Grade III: Tumors with histologic and/or molecular genetic evidence of malignancy that are associated with an aggressive clinical course" ], [ "4", "WHO Grade IV: Tumors with histologic and/or molecular genetic evidence of malignancy that are associated with the most aggressive clinical course and shorter overall survival" ], [ "L", "Stated as \"low grade\" NOS" ], [ "H", "Stated as \"high grade\" NOS" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_97763.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_97763.json deleted file mode 100644 index 654838f0b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_97763.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_97763", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:38:04.259Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated (low grade) " ], [ "2", "G2: Moderately differentiated (low grade)" ], [ "3", "G3: Poorly differentiated (high grade)" ], [ "4", "G4: Undifferentiated (high grade)" ], [ "L", "Stated as \"low grade\" NOS" ], [ "H", "Stated as \"high grade\" NOS " ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_gist_82068.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_gist_82068.json deleted file mode 100644 index 2b28c6288..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_gist_82068.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_gist_82068", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade GIST", - "title" : "Derived Grade", - "last_modified" : "2024-02-14T18:18:39.697Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "Low: 5 or fewer mitoses per 5 square mm" ], [ "H", "High: Over 5 mitoses per 5 square mm" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed; Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_1196.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_1196.json deleted file mode 100644 index ebd5149b1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_1196.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_standard_1196", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade - Standard", - "title" : "Derived Grade - Standard", - "last_modified" : "2024-02-14T18:22:18.463Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed; Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_non_ajcc_63932.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_non_ajcc_63932.json deleted file mode 100644 index 50d848cf7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_grade_standard_non_ajcc_63932.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "derived_grade_standard_non_ajcc_63932", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Grade - Standard non AJCC", - "title" : "Derived Grade - Standard non AJCC", - "last_modified" : "2024-02-14T18:43:06.154Z", - "definition" : [ { - "key" : "derived_summary_grade", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed; Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_rai_stage_73218.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_rai_stage_73218.json deleted file mode 100644 index c9f6c017d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_rai_stage_73218.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "derived_rai_stage_73218", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Rai Stage", - "title" : "Derived Rai Stage", - "description" : "This data item stores the Derived Rai stage value derived from the values coded in the following related data items for the Lymphoma-CLL/SLL schema (9823/3). \n\nPer confirmation from medical oncologists, Rai stage is only recorded for patients who have bone marrow and/or peripheral blood involvement. Per the Hematopoietic Rules, primary site would be C421 (See [Hematopoietic Manual](https://seer.cancer.gov/tools/heme/Hematopoietic_Instructions_and_Rules.pdf), Module 3: Rules PH 5, 6). Use code 5 for the 5 SSDIs when primary site is not C421.\n\nThe Rai classification system is now used to stage chronic lymphocytic leukemia/small lymphocytic lymphoma (CLL/SLL) (9823/3) when bone marrow and/or peripheral blood are involved using several different criteria. The stages are based on the absence or presence of the following related data items. \n * 3885: Lymphocytosis\n * 3804: Adenopathy\n * 3907: Organomegaly\n * 3811: Anemia\n * 3933: Thrombocytopenia\n\n**Note: All of these data items are required for Staging for the AJCC Staging System Hodgkin and Non-Hodgkin Lymphomas (9823/3 only) and EOD.**\n\nRai stages \n * Stage 0 CLL is characterized by absolute lymphocytosis (>15,000/mm3) without adenopathy, hepatosplenomegaly, anemia, or thrombocytopenia\n * Stage I CLL is characterized by absolute lymphocytosis with lymphadenopathy without hepatosplenomegaly, anemia, or thrombocytopenia\n * Stage II CLL is characterized by absolute lymphocytosis with either hepatomegaly or splenomegaly with or without lymphadenopathy\n * Stage III CLL is characterized by absolute lymphocytosis and anemia (hemoglobin <11 g/dL) with or without lymphadenopathy, hepatomegaly, or splenomegaly\n * Stage IV CLL is characterized by absolute lymphocytosis and thrombocytopenia (<100,000/mm3) with or without lymphadenopathy, hepatomegaly, splenomegaly, or anemia\n\nThis table below* can be used when the **ONLY** information available is the documented Rai stage from the managing physician. (Note: The Rai stage cannot be found on a pathology report).\n\n***Please see the Site-Specific Data Item (SSDI) Manual for the table.**", - "notes" : "This field should be left blank for all cases diagnosed prior to 2018, for schemas other than 00795, and when not required by standard setter.", - "last_modified" : "2025-05-08T18:53:14.046Z", - "definition" : [ { - "key" : "derived_rai_stage", - "name" : "Rai Code", - "type" : "INPUT" - }, { - "key" : "rai_display", - "name" : "Rai Stage", - "type" : "DESCRIPTION" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "0", "Lymphocytosis" ], [ "1", "I", "Lymphocytosis and Adenopathy" ], [ "2", "II", "Lymphocytosis and Organomegaly\n(Adenopathy is any value other than 5)" ], [ "3", "III", "Lymphocytosis and Anemia\n(Adenopathy and Organomegaly are any value other than 5)" ], [ "4", "IV", "Lymphocytosis and Thrombocytopenia\n(Adenopathy, Organomegaly and Anemia are any value other than 5)" ], [ "8", "N/A", "Does not apply, primary site not bone marrow (C421)\n(All 5 SSDIs should be set to 5)" ], [ "9", "9", "Unknown\n\n(All 5 SSDIs are 9 or blank OR\nAt least one is set to 9 OR\nLymphocytosis is 0,7,9 OR\nLymphocytosis is blank and one of the other SSDIs is a value other than 5 or 9)" ], [ "", "", "Not Calculated (DCO)" ] ], - "additional_info" : "**Source documents:** laboratory results, physical exam, clinician’s notes", - "rationale" : "The Derived Rai stage can be used to evaluate disease spread at diagnosis, treatment patterns and outcomes over time." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_adrenal_gland_258.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_adrenal_gland_258.json deleted file mode 100644 index 6ef9a4e6c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_adrenal_gland_258.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_adrenal_gland_258", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Adrenal Gland", - "title" : "Derived Summary Stage 2018: Adrenal Gland", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:40:03.189Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to adrenal gland, no extra-adrenal invasion" ], [ "2", "Regional by direct extension only\n- Adjacent connective tissue\n- Gerota's fascia\n- Invasion of adjacent organs\n + Blood vessels (large)\n * Renal vein\n * Vena cava \n + Kidney \n + Retroperitoneal structures including\n * Great vessels (aorta, inferior vena cava)" ], [ "3", "Regional lymph node(s) involved only\n- Aortic, NOS\n + Para-aortic\n + Periaortic\n- Pericaval, NOS\n + Paracaval\n + Precaval\n + Retrocaval\n- Retroperitoneal, NOS\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Bone\n + Diaphragm\n + Liver\n + Lung\n + Pancreas\n + Spleen\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ampulla_of_vater_2679.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ampulla_of_vater_2679.json deleted file mode 100644 index 26a119f73..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ampulla_of_vater_2679.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_ampulla_of_vater_2679", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Ampulla of Vater", - "title" : "Derived Summary Stage 2018: Ampulla of Vater", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-08-22T16:52:22.336Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive**" ], [ "1", "**Localized only (localized, NOS)**\n- Ampulla of Vater\n- Confined to ampulla, NOS\n- Duodenal submucosa\n- Perisphincteric invasion (invasion beyond sphincter of Oddi)\n- Sphincter of Oddi" ], [ "2", "**Regional by direct extension only**\n- Blood vessel(s) (major)\n + Common hepatic artery\n + Portal vein\n + Superior mesenteric artery\n- Celiac axis\n- Common bile duct\n- Duodenum, NOS \n- Extrahepatic bile duct(s) \n- Gallbladder\n- Hepatic flexure of colon\n- Lesser omentum\n- Liver including porta hepatis\n- Muscularis propria of the duodenum (duodenal wall)\n- Pancreas\n- Stomach (distal, proximal, NOS)\n- Transverse colon" ], [ "3", "**Regional lymph node(s) involved only**\n- Anterior to ampulla of Vater \n- Inferior to ampulla of Vater\n- Posterior to ampulla of Vater\n- Superior to ampulla of Vater\n- Celiac\n- Hepatic \n- Hepatic artery\n- Lateral aortic (lumbar)\n- Node of foramen of the Winslow (epiploic) (omental)\n- Pancreaticoduodenal\n- Peripancreatic (excluding nodes at tail of pancreas)\n- Periportal (portal vein)\n- Proximal mesenteric\n- Pyloric (infrapyloric, subpyloric)\n- Retroperitoneal\n- Superior mesenteric\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant sites (including further contiguous extension) \n + Periduodenal or peripancreatic soft tissue\n- Distant lymph node(s), NOS\n + At tail of pancreas\n + Para-aortic\n + Splenic\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant mets WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_anus_8409.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_anus_8409.json deleted file mode 100644 index 2362bf6a6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_anus_8409.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_anus_8409", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Anus", - "title" : "Derived Summary Stage 2018: Anus", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:38:21.999Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n- Anal intraepithelial neoplasia III \n- Bowen disease" ], [ "1", "Localized only (localized, NOS)\n- Confined to anus, NOS\n- Incidental finding of malignancy in hemorrhoid, NOS\n- Intramucosa\n- Lamina propria\n- Mucosa, NOS\n- Muscularis mucosae\n- Muscularis propria (internal sphincter)\n- Submucosa (superficial invasion)" ], [ "2", "Regional by direct extension only\n- Ischiorectal fat/tissue\n- Perianal skin\n- Perineum\n- Perirectal skin\n- Rectal mucosa or submucosa\n- Rectal wall\n- Skeletal muscle(s)\n + Anal sphincter (external)\n + Levator ani\n- Subcutaneous perianal tissue\n- Vulva" ], [ "3", "Regional lymph node(s) involved only\n- Anorectal\n- External iliac\n- Inferior hemorrhoidal\n- Inguinal (femoral) (deep, superficial)\n- Internal iliac (hypogastric)\n- Lateral sacral (laterosacral)\n- Mesorectal\n- Obturator\n- Perirectal\n- Superior rectal (hemorrhoidal) (femoral)\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Bladder\n + Broad ligament(s)\n + Cervix uteri\n + Corpus uteri\n + Pelvic peritoneum\n + Prostate\n + Urethra\n + Vagina\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastases WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_appendix_76889.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_appendix_76889.json deleted file mode 100644 index 11defb623..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_appendix_76889.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_appendix_76889", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Appendix", - "title" : "Derived Summary Stage 2018: Appendix", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-04-25T13:38:55.109Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n- Acellular mucin or mucinous epithelium may invade into the muscularis propria\n- (Adeno) carcinoma, noninvasive, in a polyp or adenoma\n- Low-grade appendiceal mucinous neoplasm confined by the muscularis propria (LAMN) (in situ)\n- High-grade appendiceal mucinous neoplasm confined by the muscularis propria (HAMN) (in situ)" ], [ "1", "Localized only (localized, NOS)\n- Confined to appendix, NOS\n- Confined to polyp, NOS\n- Extension through wall, NOS\n- Invasion through muscularis propria\n- Lamina propria \n- Mucosa (intramucosal, NOS)\n- Muscularis mucosae\n- Non-peritonealized pericolic tissues invaded\n- Perimuscular tissue invaded\n- Submucosa \n- Subserosa \n - Includes acellular mucin or mucinous epithelium that extends into the subserosa (LAMN tumors)\n- Transmural, NOS\n- Wall, NOS" ], [ "2", "Regional by direct extension only\n- Abdominal wall\n- Adherent to other organs or structures\n- Adjacent tissue(s), NOS\n- Connective tissue\n- Fat, NOS\n- Greater omentum\n- Mesenteric fat\n- Mesentery \n- Mesoappendix\n - Includes acellular mucin or mucinous epithelium that extends into the mesoappendix \n - WITH or WITHOUT involvement of the serosa (LAMN tumors)\n- Pericolic fat\n- Retroperitoneum\n- Serosa (mesothelium) (visceral peritoneum)\n- Small intestine\n- Tumor found in adhesion(s) if microscopic examination performed" ], [ "3", "Regional lymph node(s) involved only\n- Tumor deposits (TD) in subserosa or mesentery WITHOUT regional lymph node metastases\n\n\n- Cecal\n + Anterior (prececal)\n + Posterior (retrocecal)\n + Right colic\n- Colic, NOS\n- Epicolic (adjacent to bowel wall)\n- Ileocolic\n- Mesenteric, NOS\n- Mesocolic, NOS\n- Paracolic/pericolic\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Adrenal (suprarenal) gland\n + Bladder\n + Diaphragm\n + Fallopian tube\n + Fistula to skin\n + Gallbladder\n + Intraperitoneal spread/peritoneal metastasis (peritoneal carcinomastosis)\n + WITH or WITHOUT peritoneal mucinous deposits containing tumor cells\n + Includes peritoneal spread with LAMN tumors\n + Kidney\n + Liver\n + Other segment(s) of colon/rectum via serosa\n + Ovary\n + Ureter\n + Uterus\n- Distant lymph node(s), NOS\n + Inferior mesenteric\n + Superior mesenteric\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_biliary_other_47058.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_biliary_other_47058.json deleted file mode 100644 index 8e217389d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_biliary_other_47058.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_biliary_other_47058", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Biliary Other", - "title" : "Derived Summary Stage 2018: Biliary Other", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:09:50.049Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive" ], [ "1", "Localized only (localized, NOS)\n- Confined to bile duct, NOS\n- Lamina propria\n- Mucosa, NOS\n- Muscularis propria\n- Submucosa (superficial invasion)" ], [ "2", "Regional by direct extension only\n- Ampulla of Vater\n- Beyond wall of bile duct\n- Duodenum\n- Gallbladder\n + Unilateral branches of the right or left hepatic artery OR portal vein\n- Invasion of/through serosa\n- Liver, less than or equal to 2 cm or UNKNOWN\n- Omentum (greater or lesser)\n- Pancreas\n- Perimuscular connective tissue\n- Small intestine" ], [ "3", "Regional lymph node(s) involved only\n- Celiac\n- Cystic duct (node of Calot)\n- Node of foramen of Winslow (epiploic) (omental) \n- Pancreaticoduodenal\n- Pericholedochal (common bile duct)\n- Periduodenal\n- Peripancreatic (near head of pancreas only)\n- Porta hepatis (portal) (periportal) (hilar)\n- Superior mesenteric \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Abdominal wall\n + Colon\n + Common hepatic artery\n + Cystic artery/vein\n + Hepatic artery, NOS\n + Liver greater than 2 cm\n + Portal vein or its branches bilaterally\n + Portal vein, NOS\n + Stomach \n- Distant lymph node(s), NOS\n + Para-aortic\n + Peripancreatic (along body and tail of pancreas only)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bladder_71090.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bladder_71090.json deleted file mode 100644 index 708a5d907..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bladder_71090.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_bladder_71090", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Bladder", - "title" : "Derived Summary Stage 2018: Bladder", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:36:17.273Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n\nPapillary \n- Non-infiltrating or non-invasive papillary transitional cell carcinoma\n- Non-infiltrating or non-invasive papillary urothelial carcinoma\n- Papillary transitional cell carcinoma, with inferred description of non-invasion\n- Papillary urothelial carcinoma, with inferred description of non-invasion\n\nNonpapillary\n- Carcinoma in situ, NOS \n- Sessile (flat) (solid) carcinoma in situ \n- Transitional cell carcinoma in situ\n- Urothelial carcinoma (in situ, non-infiltrating, non-invasive)\n\nMultifocal non-invasive tumors" ], [ "1", "Localized only (localized, NOS)\n- Mucosa, NOS\n- Muscle (muscularis propria)\n + Deep muscle-outer half\n + Extension through full thickness of bladder wall\n + Superficial muscle-inner half\n- Submucosa\n + Lamina propria\n + Stroma\n + Subepithelial connective tissue\n + Tunica propria\n- Subserosa" ], [ "2", "Regional by direct extension only\n- Adventitia\n- Bladder is \"fixed\"\n- Extravesical tumor, NOS\n- Parametrium\n- Periprostatic tissue\n- Peritoneum\n- Periureteral fat/tissue\n- Perivesical fat/tissue\n- Prostate\n- Rectovesical/Denonvilliers' fascia\n- Seminal vesicle\n- Serosa (mesothelium) (to/through)\n- Tunica serosa (to/through)\n- Ureter\n- Urethra (including prostatic urethra)\n- Uterus\n- Vagina\n- Vas deferens" ], [ "3", "Regional lymph node(s) involved only\n- Iliac, NOS\n + External\n + Internal (hypogastric)\n- Obturator\n- Pelvic, NOS\n- Perivesical pelvic, NOS\n- Sacral, NOS\n + Lateral (laterosacral)\n + Presacral\n + Sacral promontory (Gerota's)\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Abdominal wall\n + Bone\n + Colon\n + Large intestine including rectum\n + Pelvic wall\n + Pubic bone\n + Small intestine\n- Distant lymph node(s), NOS\n + Common iliac\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bone_34531.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bone_34531.json deleted file mode 100644 index a83e5d270..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_bone_34531.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_bone_34531", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Bone", - "title" : "Derived SS2018: Bone", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:35:56.128Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only (localized, NOS)\n- Appendicular (C400-C403, C408-C411, C413, C418-C419)\n + Confined to cortex of bone \n + Extension beyond cortex to periosteum (no break in periosteum)\n- Spine (C412)\n + Confined to spine, NOS (number of segments involved not known)\n + Involvement of single or multiple adjacent vertebral segment(s)\n- Pelvis (C414)\n + Confined to pelvis, NOS (number of segments involved not known and WITHOUT or UNKNOWN if extraosseous extension)\n + One to four pelvic segments involved WITHOUT or UNKNOWN if extraosseous extension" ], [ "2", "Regional by direct extension only\n- All sites\n + Extraosseous extension (beyond periosteum to surrounding tissues, including adjacent skeletal muscle(s))\n- Appendicular (C400-C403, C408-C411, C413, C418-C419)\n + Adjacent bone/cartilage\n- Spine (C412)\n + Involvement of multiple non-adjacent vertebral segments\n + Spinal canal\n- Pelvis (C414)\n + One to four pelvic segments involved WITH extraosseous extension" ], [ "3", "Regional lymph node(s) involved only\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + All bone sites\n * Bone (other than primary site)\n * Lung\n + Appendicular (C400-C403, C408-C411, C413, C418-C419)\n * Discontinuous tumors in the primary bone site (\"skip\" metastasis)\n * Skin\n + Spine (C412)\n * Gross vascular invasion\n * Tumor thrombus in great vessels\n + Pelvis (C414)\n * Encasement of external iliac vessels\n * Gross tumor thrombus in major pelvic vessels\n * Sacral neuroforamen\n * Sacroiliac joint\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis " ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_brain_35480.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_brain_35480.json deleted file mode 100644 index 27f0a1cfb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_brain_35480.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_brain_35480", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Brain", - "title" : "Derived Summary Stage 2018: Brain", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:33:24.805Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only (localized, NOS)\n- Confined to brain, NOS\n- Confined to meninges, NOS\n- Confined to ventricles\n + Tumor invades or encroaches upon ventricular system\n- Infratentorial tumor confined to\n + Brain stem or meninges of brain stem (one side)\n * Medulla oblongata\n * Midbrain (mesencephalon)\n * Pons\n + Cerebellum or meninges of cerebellum (one side or midline)\n * Lateral lobes\n * Median lobe of cerebellum\n * Vermis\n + Hypothalamus\n + Thalamus\n- Infratentorial tumor\n + Both cerebellum and brain stem involved with tumor on one side\n- Supratentorial tumor confined to\n + Cerebral hemisphere (cerebrum) or meninges of cerebral hemisphere (one side)\n * Frontal lobe\n * Occipital lobe\n * Parietal lobe\n * Temporal lobe" ], [ "2", "Regional by direct extension only\n\n\n\n- Bone (skull)\n- Contralateral hemisphere\n- Corpus callosum (including splenium)\n- Major blood vessel(s)\n- Meninges (e.g., dura)\n- Nerves (cranial, NOS)\n- Spinal cord/canal\n- Supratentorial tumor extends infratentorially to involve\n + Brain stem\n + Cerebellum\n + Hypothalamus\n + Pallium\n + Posterior cranial fossa\n + Thalamus\n- Infratentorial tumor extends supratentorially to involve\n + Anterior cranial fossa\n + Cerebrum (cerebral hemisphere) (excluding hypothalamus, pallium, thalamus)\n + Corpus callosum\n + Middle cranial fossa\n + Suprasellar brain\n + Tapetum\n- Tumor crosses the midline" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Circulating cells in cerebral spinal fluid (CSF)\n + Nasal cavity\n + Nasopharynx\n + Other direct extension outside CNS\n + Posterior pharynx\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)\n + Metastasis within CNS and CSF pathways\n * \"Drop\" metastasis\n * Extra-neural metastasis \n * Metastasis outside the CNS" ], [ "8", "Benign or borderline brain" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_breast_7622.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_breast_7622.json deleted file mode 100644 index bad32f57e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_breast_7622.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_breast_7622", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Breast", - "title" : "Derived Summary Stage 2018: Breast", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:29:10.144Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n- In situ: noninfiltrating; intraepithelial\n- Intraductal WITHOUT infiltration\n- Lobular neoplasia, grade 3 (LIN 3)\n- Paget disease, in situ" ], [ "1", "Localized only (localized, NOS)\n- Confined to breast tissue and fat including nipple and/or areola\n- Paget disease WITH or WITHOUT underlying tumor" ], [ "2", "Regional by direct extension only\n- Attachment or fixation to pectoral muscle(s) or underlying tumor\n- Chest wall\n- Deep fixation\n- Extensive skin involvement WITH or WITHOUT dermal lymphatic filtration\n + Edema of skin\n + En cuirasse\n + Erythema\n + Inflammation of skin\n + Lenticular nodule(s)\n + Peau d'orange (\"pigskin\")\n + Satellite nodules\n + Skin edema\n + Ulceration of skin of breast\n- Inflammatory carcinoma, NOS\n- Intercostal or serratus anterior muscle(s)\n- Ipsilateral rib(s) (contiguous extension only, for discontiguous extension, see code 7)\n- Local infiltration of dermal lymphatics adjacent to primary tumor involving skin by direct extension\n- Pectoral fascia or muscle(s)\n- Subcutaneous tissue \n- Skin infiltration of primary breast including skin of nipple and/or areola" ], [ "3", "Regional lymph node(s) involved only\n- Axillary, NOS (ipsilateral)\n + Level I (low-axilla) (low) (superficial), NOS [adjacent to tail of breast]\n * Anterior (pectoral)\n * Lateral (brachial)\n * Posterior (subscapular)\n + Level II (mid-axilla) (central), NOS\n * Interpectoral (Rotter's)\n + Level III (high) (deep), NOS\n * Apical (subclavian)\n * Axillary vein\n- Fixed/matted axillary (level I and II) (ipsilateral) \n- Infraclavicular (subclavicular) (ipsilateral)\n- Internal mammary (parasternal) (ipsilateral) \n- Intramammary (ipsilateral)\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Adrenal (suprarenal) gland\n + Bone, including contralateral ribs\n + Contralateral (opposite) breast-if stated as metastatic\n + Ipsilateral rib(s) (discontiguous extension only, see code 2 for contiguous extension)\n + Lung\n + Ovary\n + Satellite nodule(s) in skin other than primary breast\n + Skin over\n * Axilla\n * Contralateral (opposite) breast\n * Sternum\n * Upper abdomen\n- Distant lymph node(s), NOS\n + Axillary (contralateral or bilateral)\n + Cervical, NOS\n + Fixed/matted axillary (level I and II) (contralateral or bilateral) \n + Infraclavicular (subclavicular) (contralateral or bilateral)\n + Internal mammary (parasternal) (contralateral or bilateral)\n + Intramammary (parasternal) (contralateral or bilateral)\n + Supraclavicular (transverse cervical) (ipsilateral, contralateral or bilateral)\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_buccal_mucosa_61240.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_buccal_mucosa_61240.json deleted file mode 100644 index e3db590f5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_buccal_mucosa_61240.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_buccal_mucosa_61240", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Buccal Mucosa", - "title" : "Derived Summary Stage 2018: Buccal Mucosa", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:10:14.607Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to buccal mucosa (inner cheek), NOS\n- Lamina propria\n- Musculature (buccinator)\n- Submucosa" ], [ "2", "Regional by direct extension only\n- Gingiva\n- Lateral pharyngeal wall\n- Lip(s) including commissure\n- Subcutaneous soft tissue of cheek\n- Tonsillar pillars and fossae\n- Tonsils" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Bone, NOS\n * Cartilage (mandible, maxilla, NOS)\n * Cortical bone (mandible, maxilla, NOS)\n * Mandible, NOS\n * Maxilla, NOS\n * Palatine, NOS\n * Trabecular bone (mandible, maxilla, palatine, NOS)\n + Deep (extrinsic) muscle of tongue\n * Genioglossus\n * Hyoglossus\n * Palatoglossus\n * Styloglossus \n + Internal carotid artery (encased)\n + Masticator space\n + Maxillary sinus (antrum) \n + Nasal cavity\n + Pterygoid plates\n + Skin of cheek (WITH or WITHOUT ulceration)\n + Skull base\n + Specified bone (other than maxilla, mandible, palatine)\n + Tongue\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervical_lymph_nodes_and_unknown_primary_tumors_of_head_and_neck_49724.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervical_lymph_nodes_and_unknown_primary_tumors_of_head_and_neck_49724.json deleted file mode 100644 index bd6f2c802..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervical_lymph_nodes_and_unknown_primary_tumors_of_head_and_neck_49724.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_cervical_lymph_nodes_and_unknown_primary_tumors_of_head_and_neck_49724", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Cervical Lymph Nodes and Unknown Primary Tumors of Head and Neck", - "title" : "Derived Summary Stage 2018: Cervical Lymph Nodes and Unknown Primary Tumors of Head and Neck", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:22:38.244Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Bone, NOS\n + Cartilage, NOS\n + Cortical bone (mandible, maxilla, NOS)\n + Deep (extrinsic) muscle of tongue\n * Genioglossus\n * Hyoglossus\n * Palatoglossus\n * Styloglossus \n + Hard palate including cortical palatine bone\n + Internal carotid artery (encased)\n + Mandible, NOS\n + Masticator space \n + Maxilla, NOS\n + Maxillary sinus (antrum) \n + Nasal cavity\n + Pterygoid plates \n + Skin of cheek (WITH or WITHOUT ulceration)\n + Skull base\n + Soft palate\n + Specified bone (other than maxilla, mandible, palatine)\n + Tongue\n + Trabecular bone (mandible, maxilla, palatine, NOS)\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervix_8763.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervix_8763.json deleted file mode 100644 index c942154f7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cervix_8763.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_cervix_8763", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Cervix", - "title" : "Derived Summary Stage 2018: Cervix", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:21:40.381Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive \n- Cancer in situ WITH endocervical gland involvement\n- Cervical intraepithelial neoplasia (CIN) Grade III\n- Preinvasive" ], [ "1", "Localized only (localized, NOS)\n\n* Clinically visible lesion (macroscopic), including superficial invasion\n* Confined to cervix uteri or uterus, NOS, except corpus uteri, NOS (see code 2 for corpus uteri)\n + Not clinically visible or unknown if clinically visible\n* Measured stromal invasion less than 5 mm or less measured from the based of the epithelium AND horizontal spread of 7.0 mm or less\n\nFIGO Stage I (IA1, IA2, IA NOS, IB1, IB2, IB3, IB NOS, I NOS)" ], [ "2", "Regional by direct extension only\n\n* Bladder wall\n* Bladder, NOS excluding mucosa (see code 7 for bladder mucosa)\n* Bullous edema of bladder mucosa\n* Confined to corpus uteri, size, depth and horizontal spread unknown\n* Corpus uteri, NOS \n* Cul de sac (rectouterine pouch) \n* Fallopian tube(s)\n* \"Frozen pelvis\" (clinically described)\n* Hydronephrosis or nonfunctioning kidney\n* Invasion beyond uterus, NOS\n* Ligament(s) (broad, cardinal, uterosacral)\n* Ovary(ies)\n* Parametrial (paracervical soft tissue) invasion\n* Pelvic wall(s)\n* Rectal wall\n* Rectum, NOS excluding mucosa (see code 7 for rectal mucosa)\n* Upper two-thirds of vagina including fornices\n* Ureter (intra- and extramural)\n* Urethra\n* Vagina (lower third (not extending into pelvic wall), NOS)\n* Vaginal wall, NOS\n* Vulva\n\nFIGO Stage II (IIA, IIB, II NOS)\nFIGO Stage III (IIIA, IIIB, III NOS)" ], [ "3", "Regional lymph node(s) involved only\n\n- Para-aortic\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n\n\n- Pelvic\n + Iliac, NOS\n + Common\n + External \n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\n\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS\n\nFIGO Stage IIIC (IIIC1, IIIC2, IIIC NOS)\n+ Localized tumor WITH regional lymph node involvement" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Adnexa\n + Bladder mucosa\n + Peritoneal spread\n + Rectal mucosa\n + Sigmoid colon\n + Small intestine\n + Uterine serosa\n\n\n- Distant lymph node(s), NOS \n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal89654\n + Mediastinal\n + Scalene\n + Supraclavicular\n\n\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)\n\n\n FIGO Stage IV (IVA, IVB, IV NOS)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cns_other_22397.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cns_other_22397.json deleted file mode 100644 index 8483f63e6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_cns_other_22397.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_cns_other_22397", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: CNS Other", - "title" : "Derived Summary Stage 2018: CNS Other", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:10:58.138Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only (localized, NOS)\n- Confined to tissue or site of origin" ], [ "2", "Regional, NOS\n- Adjacent connective/soft tissue\n- Adjacent muscle\n- Brain for cranial nerve tumor(s)\n- Major blood vessel(s)\n- Meningeal tumor infiltrates nerve\n- Nerve tumor infiltrates meninges (dura)\n- Sphenoid and frontal sinuses (skull)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Bone other than skull\n + Brain except for cranial nerve tumor(s)\n + Eye\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "8", "Benign or borderline brain" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_colon_and_rectum_35271.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_colon_and_rectum_35271.json deleted file mode 100644 index fea7a7f10..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_colon_and_rectum_35271.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_colon_and_rectum_35271", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Colon and Rectum", - "title" : "Derived Summary Stage 2018: Colon and Rectum", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:21:12.812Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive" ], [ "1", "Localized only (localized, NOS)\n\nAll Sites\n- Confined to colon, rectum, rectosigmoid, NOS\n- Confined to polyp (head, stalk, NOS)\n- Extension through wall, NOS\n- Intraluminal extension to colon and/or anal canal/anus (rectum only)\n- Invasion of\n + Intramucosal, NOS\n + Lamina propria\n + Mucosa, NOS\n + Muscularis mucosae\n + Muscularis, NOS\n + Muscularis propria\n + Rectum (C209): WITH or WITHOUT intraluminal extension to colon and/or anal canal/anus\n - Perimuscular tissue invaded\n - Submucosa (superficial invasion)\n- Subserosal tissue/(sub)serosal fat invaded\n- Transmural, NOS\n- Wall, NOS\n\nNon-peritonealized sites (See Notes 6 and 7) or UNKNOWN if peritonealized (for peritonealized sites, see code 2)\n- Pericolic fat/tissues\n- Perirectal fat/tissues" ], [ "2", "Regional by direct extension only\n\nAll sites \n+ Abdominal wall\n+ Adherent to other organs or structures clinically with no microscopic examination\n+ Adjacent (connective) tissue(s), NOS\n+ Fat, NOS\n+ Mesentery (including mesenteric fat, mesocolon)\n+ Mesothelium\n+ Retroperitoneum (excluding fat)\n+ Serosa\n+ Small intestine\n+ Tumor found in adhesion(s) if microscopic examination performed\n+ Tunica serosa\n+ Visceral peritoneum\n\nPeritonealized sites (See Notes 6 and 7) (for non-peritonealized sites or UNKNOWN if peritonealized, see code 1)\n+ Pericolic fat/tissues\n+ Perirectal fat/tissues\n\nCecum (C180)\n+ Greater omentum\n\nAscending colon (C182)\n+ Kidney, right\n+ Liver, right lobe\n+ Retroperitoneal fat\n+ Ureter, right\n\nTransverse colon and flexures (C183, C184, C185)\n+ Bile ducts\n+ Gallbladder\n+ Gastrocolic ligament\n+ Greater omentum \n+ Kidney\n+ Liver\n+ Pancreas\n+ Spleen\n+ Stomach\n\nDescending colon (C186)\n+ Kidney, left\n+ Pelvic wall\n+ Retroperitoneal fat\n+ Spleen\n+ Ureter, left\n\nSigmoid colon (C187)\n+ Pelvic wall \n \nRectosigmoid (C199)\n+ Cul de sac (rectouterine pouch)\n+ Pelvic wall\n+ Small intestine\n\nRectum (C209)\n+ Anus\n+ Bladder (males only)\n+ Cul de sac (rectouterine pouch)\n+ Ductus deferens\n+ Pelvic wall\n+ Prostate\n+ Rectovaginal septum\n+ Rectovesical fat (males only)\n+ Seminal vesicle(s)\n+ Skeletal muscles of pelvic floor\n+ Vagina" ], [ "3", "Regional lymph node(s) involved only\n\nAll sites\n+ Colic, NOS\n+ Epicolic (adjacent to bowel wall)\n+ Mesenteric, NOS\n+ Mesocolic, NOS\n+ Paracolic\n+ Pericolic\n+ Tumor deposits (TD) in the subserosa, mesentery, mesorectal or nonperitonealized pericolic or perirectal tissues WITHOUT regional nodal metastasis\n+ Regional lymph node(s), NOS\n * Lymph node(s), NOS\n\nCecum (C180) \n+ Cecal, NOS\n * Anterior cecal (prececal)\n * Posterior cecal (retrocecal)\n+ Colic (right)\n+ Ileocolic\n+ Periappendiceal\n\nAscending colon (C182)\n+ Colic (middle-right branch, right)\n+ Ileocolic\n\nHepatic flexure (C183)\n+ Colic (middle, right)\n+ Ileocolic\n\nTransverse colon (C184)\n+ Colic (middle)\n\nSplenic flexure (C185)\n+ Colic (left, middle)\n+ Mesenteric (inferior)\n\nDescending colon (C186)\n+ Colic (left)\n+ Mesenteric (inferior)\n+ Sigmoid\n\nSigmoid colon (C187)\n+ Colic (left)\n+ Mesenteric (inferior)\n+ Rectal (superior) (hemorrhoidal)\n+ Rectosigmoid\n+ Sigmoid (sigmoidal) (sigmoid mesenteric)\n+ Superior rectal (hemorrhoidal)\n\nRectosigmoid (C199)\n+ Hemorrhoidal (middle, superior)\n+ Mesenteric (inferior)\n+ Mesorectal\n+ Pericolic\n+ Perirectal\n+ Rectal (middle, superior) \n+ Sigmoid (mesenteric)\n\nRectum (C209)\n+ Hemorrhoidal (middle, superior)\n+ Iliac (hypogastric, internal, obturator) (see code 7 for common, external, NOS)\n+ Mesenteric (inferior)\n+ Mesorectal\n+ Perirectal\n+ Rectal (inferior)\n+ Sacral, NOS\n * Lateral sacral (laterosacral)\n * Middle sacral (promontorial) (Gerota's node)\n * Presacral\n+ Sigmoidal (sigmoid mesenteric)" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n\nDistant site(s) (including further contiguous extension)\n\nAll sites\n+ Adrenal (suprarenal) gland\n+ Bladder\n+ Diaphragm\n+ Fallopian tube\n+ Fistula to skin\n+ Gallbladder\n+ Other segment(s) of colon via serosa\n+ Ovary(ies)\n + Uterus\n\nCecum (C180)\n+ Kidney, right\n+ Liver\n+ Ureter, right\n\nTransverse colon and flexures (C183-C185)\n+ Ureter\n\nSigmoid colon (C187)\n+ Cul de sac (rectouterine pouch)\n+ Ureter\n\nRectosigmoid (C199)\n+ Bladder\n+ Colon via serosa\n+ Fallopian tube\n+ Ovary\n+ Prostate\n+ Skeletal muscles of pelvic floor\n+ Ureter\n+ Vagina\n\nRectum (C209)\n+ Bladder (for females only)\n+ Bone(s) of pelvis \n+ Cervix\n+ Perineum, perianal skin\n+ Sacral plexus\n+ Sacrum\n+ Ureter\n+ Urethra\n+ Uterus\n\nDistant lymph node(s), NOS\n+ Colon\n * Iliac (common, external, hypogastric, internal, obturator, NOS)\n * Inferior mesenteric (cecum, ascending colon, hepatic flexure, transverse colon)\n * Para-aortic\n * Retroperitoneal \n * Superior mesenteric\n + Rectosigmoid\n * Hemorrhoidal, inferior (rectosigmoid)\n * Iliac (common, external, hypogastric, internal, obturator, NOS)\n * Rectal, inferior \n * Superior mesenteric\n+ Rectum\n * Colic (left) (rectum)\n * Iliac (common, external, NOS) (see code 3 for hypogastric, internal, obturator)\n * Superior mesenteric\n\nDistant metastasis, NOS \n+ Carcinomatosis\n+ Peritoneal surface metastasis (peritoneum)\n+ Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_conjunctiva_74486.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_conjunctiva_74486.json deleted file mode 100644 index 6f5287c28..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_conjunctiva_74486.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_conjunctiva_74486", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Conjunctiva", - "title" : "Derived Summary Stage 2018: Conjunctiva", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:11:13.073Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n- CIN III (conjunctival intraepithelial neoplasia III)\n- SIN III (squamous intraepithelial neoplasia III)" ], [ "1", "Localized only (localized, NOS)\n- Confined to conjunctiva, NOS\n- Confined to one subsite of conjunctiva\n + Bulbar conjunctiva\n + Forniceal conjunctiva\n + Palpebral conjunctiva\n + Tarsal conjunctiva\n- Cornea (3, 6, 9, or 12 o'clock hours)\n- Intraocular compartments\n- Intraocular extension WITHOUT invasion of adjacent structures" ], [ "2", "Regional by direct extension only\n- More than one subsite of conjunctiva involved\n- Adjacent extraocular extension\n + Anterior eyelid lamella \n + Caruncle \n + Eyelid margin (lower and/or upper)\n + Lacrimal punctum and canaliculi (lower and/or upper)\n + Plica\n + Posterior eyelid lamella\n- Adjacent paranasal sinuses\n- Bone, bone of orbit\n- Orbit, NOS\n- Orbital soft tissues WITHOUT bone invasion" ], [ "3", "Regional lymph node(s) involved only\n- Cervical, NOS\n- Mandibular, NOS\n + Submandibular (submaxillary)\n- Parotid, NOS\n + Infra-auricular\n + Preauricular\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Brain\n + Sinus\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_carcinoma_and_carcinosarcoma_56302.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_carcinoma_and_carcinosarcoma_56302.json deleted file mode 100644 index a5a7169f7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_carcinoma_and_carcinosarcoma_56302.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_corpus_carcinoma_and_carcinosarcoma_56302", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Corpus Carcinoma and Carcinosarcoma", - "title" : "Derived Summary Stage 2018: Corpus Carcinoma and Carcinosarcoma", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:11:30.387Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive, preinvasive\nEndometrial intraepithelial carcinoma (EIC) (8380/2)\nSerous endometrial intraepithelial carcinoma (SEIC) (8441/2)" ], [ "1", "Localized only (localized, NOS)\n\n* Confined to endometrium (glandular or stromal)\n* Invasion of myometrium (inner half, outer half, NOS)\n + WITHOUT or UNKNOWN involvement of endocervix\n\nConfined to corpus, NOS\nLocalized, NOS\n\nFIGO Stage I (IA, IB, I NOS)" ], [ "2", "Regional by direct extension only\n\n* Adnexa (direct extension or metastasis)\n* Bladder wall\n* Bladder, NOS excluding mucosa (see code 7 for mucosa)\n* Cervix (glandular or stromal)\n* Cervix uteri, NOS, but not beyond uterus\n* Endocervix (glandular or stromal)\n* Extension beyond uterus, within pelvis, NOS\n* Fallopian tube(s)\n* \"Frozen pelvis\" (clinically described)\n* Ligament(s) (broad, ovarian, round, suspensory)\n* Myometrium WITH involvement of endocervix\n* Ovary(ies)\n* Parametrium\n* Parietal serosa of pelvic wall\n* Pelvic wall(s)\n* Rectal wall\n* Rectum, NOS excluding mucosa (see code 7 for mucosa)\n* Serosa\n* Tunica serosa (visceral peritoneum of corpus, serosa covering the corpus)\n* Ureter\n* Vagina\n* Visceral peritoneum of pelvic organs excluding serosa of corpus \n* Vulva\n\nMalignant cells in peritoneal cytology\n\nFIGO Stage II \nFIGO Stage III (IIIA, IIIB, III NOS)" ], [ "3", "Regional lymph node(s) involved only\n- Para-aortic, NOS\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n- Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\n\n\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS\n\nFIGO Stage IIIC (IIIC1, IIIC2, IIIC NOS)\n* Localized tumor WITH regional lymph node involvement" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Abdominal serosa (visceral or parietal peritoneum of abdomen)\n + Abdominal structures (other, NOS)\n + Abdominal tissue (infiltration)\n + Bladder mucosa (excluding bullous edema)\n + Bone\n + Bowel mucosa\n + Cul de sac (rectouterine pouch or Pouch of Douglas)\n + Intraperitoneal disease\n + Liver\n + Lung\n + Rectum mucosa (excluding bullous edema)\n + Sigmoid colon\n + Small intestine\n- Distant lymph node(s), NOS \n + Femoral\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)\n\nFIGO Stage IV (IVA, IVB, IV NOS)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_sarcoma_68247.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_sarcoma_68247.json deleted file mode 100644 index 0d8a1c8fa..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_corpus_sarcoma_68247.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_corpus_sarcoma_68247", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Corpus Sarcoma", - "title" : "Derived Summary Stage 2018: Corpus Sarcoma", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:20:52.449Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only (localized, NOS)\n\n* Confined to endometrium (stromal)\n* Invasion of myometrium (inner half, outer half, NOS)\n - WITHOUT or UNKNOWN involvement of endocervix\n* Tunica serosa of the visceral peritoneum (serosa covering the corpus)\n\nConfined to corpus, NOS\nLocalized, NOS\n\nFIGO Stage I (IA, IB, IC, I NOS)" ], [ "2", "Regional by direct extension only\n\n* Adnexa, NOS\n* Bladder wall\n* Bladder, NOS excluding mucosa (see code 7 for bladder mucosa)\n* Bowell wall\n* Cervix (glandular or stromal)\n* Cervix uteri, NOS, but not beyond uterus\n* Endocervix (glandular or stromal)\n* Extension beyond uterus, within pelvis, NOS\n* Fallopian tube(s)\n* \"Frozen pelvis\" (clinically described)\n* Ligament(s) (broad, ovarian, round, suspensory)\n* Ovary(ies)\n* Parametrium\n* Parietal serosa of pelvic cavity\n* Pelvic wall(s)\n* Rectal wall\n* Rectum, NOS excluding mucosa (see code 7 for rectal mucosa)\n* Ureter\n* Vagina\n* Visceral peritoneum of pelvic organs (excluding serosa of corpus uteri)\n* Vulva\n\nMalignant cells in peritoneal cytology\n\nFIGO Stage II (IIA, IIB, II NOS)" ], [ "3", "Regional lymph node(s) involved only\n- Para-aortic, NOS\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n- Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS\n\nFIGO Stage IIIC\n* Localized tumor WITH regional lymph node involvement" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Abdominal serosa (visceral or parietal peritoneum of abdomen)\n + Abdominal structures (other, NOS)\n + Abdominal tissues (infiltration)\n + Bladder mucosa (excluding bullous edema)\n + Bone\n + Cul de sac (rectouterine pouch)\n + Intraperitoneal disease\n + Liver\n + Lung\n + Rectal mucosa (excluding bullous edema)\n + Sigmoid colon\n + Small intestine\n - Distant lymph node(s), NOS \n + Femoral\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)\n\nFIGO Stage III (IIIA, IIB, III NOS)\nFIGO Stage IV (IVA, IVB, IV NOS)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_digestive_other_3351.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_digestive_other_3351.json deleted file mode 100644 index 26c5fe543..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_digestive_other_3351.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_digestive_other_3351", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Digestive Other", - "title" : "Derived Summary Stage 2018: Digestive Other", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:12:06.865Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Invasion of submucosa" ], [ "2", "Regional by direct extension only\n- Adjacent connective tissue(s)\n- Adjacent organ(s)/structure(s)\n- Regional extension, NOS" ], [ "3", "Regional lymph node(s) involved only\n- Intra-abdominal\n- Paracaval\n- Pelvic\n- Subdiaphragmatic\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_endocrine_other_15778.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_endocrine_other_15778.json deleted file mode 100644 index 5ceb27677..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_endocrine_other_15778.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_endocrine_other_15778", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Endocrine Other", - "title" : "Derived Summary Stage 2018: Endocrine Other", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:12:22.842Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Invasive tumor confined to gland of origin" ], [ "2", "Regional by direct extension only\n- Adjacent connective tissue\n- Adjacent organs/structures\n + Aortic body\n * Organs/structures in mediastinum\n + Carotid body\n * Upper neck" ], [ "3", "Regional lymph node(s) involved only\n- Cervical for carotid body \n- Mediastinal for aortic body \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_esophagus_32092.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_esophagus_32092.json deleted file mode 100644 index c2a0224fe..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_esophagus_32092.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_esophagus_32092", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Esophagus", - "title" : "Derived Summary Stage 2018: Esophagus", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:19:47.210Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, non-invasive; high-grade dysplasia \n- (Adeno)carcinoma, noninvasive, in a polyp" ], [ "1", "Localized only (localized, NOS)\n- Confined to esophagus, NOS\n- Extension through wall, NOS\n- Invasion of \n + Intramucosa, NOS\n + Lamina propria\n + Mucosa, NOS\n + Muscularis mucosae\n + Muscularis, NOS\n + Muscularis propria\n + Submucosa (superficial invasion)\n- Perimuscular tissue invaded\n- Subserosal tissue/(sub)serosal fat invaded" ], [ "2", "Regional by direct extension only\n- All sites\n + Adjacent structure(s), NOS\n + Adventitia and/or soft tissue invaded\n + Aorta\n + Azygos vein\n + Diaphragm (excluding abdominal/lower esophagus, see code 7)\n + Esophagus is described as \"FIXED\"\n + Extension to adjacent (connective) tissue WITHOUT perforation of visceral peritoneum covering these structures\n + Gastric artery\n + Ligaments\n * Gastrocolic\n * Gastrohepatic\n * Gastrosplenic\n * Omentum (greater, lesser, NOS)\n + Mesothelium\n + Pericardium (excluding thoracic/middle esophagus, see code 7)\n + Perigastric fat\n + Peritoneum, NOS\n + Pleura (excluding cervical/upper esophagus, see code 7)\n + Serosa (invasion of/or through)\n + Tunica serosa\n + Vertebral body\n + Visceral peritoneum (including perforation)\n- Cervical esophagus\n + Blood vessel(s)\n * Carotid artery \n * Subclavian artery\n + Carina \n + Cervical vertebra(e)\n + Hypopharynx\n + Jugular vein\n + Larynx\n + Thyroid\n + Trachea \n- Intrathoracic, upper or mid-portion, esophagus\n + Blood vessel(s), major\n * Gastric artery/vein\n * Pulmonary artery/vein \n * Vena cava \n + Carina \n + Stomach, cardia (via serosa)\n + Trachea \n- Intrathoracic, lower portion (abdominal), esophagus\n + Blood vessel(s)\n * Vena cava \n- Intrathoracic esophagus (all portions)\n + Adjacent rib(s) \n + Lung via bronchus\n + Mediastinal structure(s), NOS \n + Thoracic vertebra(e)\n- Esophagus GE Junction\n + Liver\n + Pancreas\n + Small intestine (duodenum [via serosa], ileum, jejunum)\n + Spleen\n + Transverse colon (including flexures)" ], [ "3", "Regional lymph node(s) involved only\n- All subsites \n + Nodule(s) in perigastric fat\n + Peri-/paraesophageal (8L, 8M) (excluding GE junction)\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Cervical esophagus only\n + Cervical, NOS\n * Anterior deep cervical (laterotracheal) (recurrent laryngeal)\n * Deep cervical, NOS\n * Internal jugular, NOS\n - Jugulodigastric (subdigastric)\n - Upper, NOS\n + Scalene (inferior deep cervical) (1)\n + Supraclavicular (transverse cervical) (1)\n- Intrathoracic esophagus, upper or middle, only\n + Internal jugular, NOS\n * Deep cervical, NOS\n - Jugulodigastric (subdigastric)\n - Jugulo-omohyoid (supraomohyoid)\n - Lower, NOS\n - Middle\n - Upper cervical, NOS\n + Intrabronchial\n * Carinal (tracheobronchial) (10R, 10L) (tracheal bifurcation)\n * Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n * Left gastric (superior gastric) (17)\n - Cardiac (cardial)\n - Lesser curvature\n - Perigastric, NOS\n * Peritracheal\n + Posterior mediastinal (tracheoesophageal)\n + Superior mediastinal\n- Intrathoracic esophagus, lower (abdominal) only\n + Left gastric (superior gastric) (17)\n * Cardiac (cardial)\n * Lesser curvature\n * Perigastric, NOS\n + Posterior mediastinal (3P) (tracheoesophageal)\n- Esophagus GE Junction\n + Celiac (20)\n + Hepatic (excluding gastrohepatic and hepatoduodenal)\n + Left gastric (superior gastric), NOS\n * Cardiac\n * Cardioesophageal\n * Gastric, left (17)\n * Gastropancreatic, left\n * Lesser curvature\n * Lesser omental\n * Pericardial (16)\n + Pancreaticosplenic (pancreaticolineal)\n + Pancreatoduodenal\n + Perigastric, NOS \n + Peripancreatic \n + Right gastric (inferior gastric), NOS\n * Gastrocolic\n * Gastroduodenal\n * Gastroepiploic (gastro-omental), right or NOS\n * Gastrohepatic\n * Greater curvature\n * Greater omental\n * Pyloric, NOS\n - Infrapyloric (subpyloric)\n - Suprapyloric\n + Splenic (lienal), NOS\n * Gastroepiploic (gastro-omental), left\n * Splenic hilar" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + All subsites\n * Airway\n * Stated as unresectable, NOS\n * Vertebral body\n + Abdomen/lower esophagus\n * Diaphragm fixed\n + Cervical/upper esophagus\n * Lung\n * Pleura\n * Mainstem bronchus\n + Thoracic/middle esophagus\n * Pericardium \n + Esophagus GE Junction\n * Abdominal wall\n * Adrenal (suprarenal) gland\n * Kidney\n * Pulmonary ligament (9)\n * Retroperitoneum\n * Trachea\n- Distant lymph node(s), NOS\n + All subsites\n * Anterior mediastinal (6)\n * Common hepatic (18)\n * Diaphragmatic (15)\n * Mediastinal, NOS\n * Splenic (19)\n * Subcarinal (tracheal carina) (7)\n + Cervical esophagus\n * Aortopulmonary (5)\n * Para-aortic (ascending aorta or phrenic)\n - Subaortic\n * Paratracheal (2R, 2L, 4R, 4L)\n * Posterior mediastinal (3P)\n * Superior mediastinal\n + Intrathoracic esophagus, upper or middle, only\n * Aortopulmonary (5)\n - Para-aortic (ascending aorta or phrenic)\n * Cervical\n + Lower thoracic (abdominal) esophagus\n * Aortopulmonary (5)\n - Para-aortic (ascending aorta or phrenic)\n - Subaortic \n * Celiac (20)\n * Paratracheal (2R, 2L, 4R, 4L)\n * Superior mediastinal\n + Esophagus GE Junction\n * Hepatoduodenal\n * Mesenteric, NOS\n - Inferior mesenteric\n - Superior mesenteric\n * Para-aortic\n * Paraesophageal, NOS\n * Periesophageal, NOS\n - Anterior mediastinal (6)\n - Aortopulmonary (5)\n - Paraesophageal, lower (8l)\n - Paraesophageal, middle (8m)\n - Paratracheal, lower (4L, 4R)\n - Paratracheal, upper (2L, 2R)\n - Posterior mediastinal (3p)\n - Supraclavicular (1)\n - Tracheobronchial (hilar) (10L, 10R)\n * Porta hepatis (portal) (hilar) (in hilus of liver)\n * Retropancreatic\n * Retroperitoneal\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_extrahepatic_bile_ducts_37420.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_extrahepatic_bile_ducts_37420.json deleted file mode 100644 index efcaf9f02..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_extrahepatic_bile_ducts_37420.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_extrahepatic_bile_ducts_37420", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Extrahepatic BIle Ducts", - "title" : "Derived Summary Stage 2018: Extrahepatic Bile Ducts", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:09:06.198Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\nHigh-grade biliary intraepithelial neoplasia (BilIn-3)" ], [ "1", "Localized only (localized, NOS)\n- Confined to \n + Cystic duct, NOS\n + Distal bile duct(s), NOS\n + Extrahepatic bile duct(s), NOS\n + Perihilar bile duct(s), NOS\n- Lamina propria\n- Mucosa, NOS\n- Muscle layer of fibrous tissue (bile ducts perihilar only)\n- Muscularis propria\n- Subepithelial connective tissue (tunica mucosa) (bile ducts perihilar only)\n- Submucosa (superficial invasion)" ], [ "2", "Regional by direct extension only\n- All sites\n + Adipose tissue\n + Adjacent (connective) tissue, NOS\n + Colon\n + Duodenum\n + Gallbladder\n + Hepatic artery (common, NOS)\n + Liver\n + Main portal vein or its branches bilaterally\n + Omentum (greater, lesser, NOS)\n + Pancreas\n + Periductal/fibromuscular connective tissue\n + Portal vein, NOS\n + Stomach\n- Cystic duct\n + Ampulla of Vater \n + Beyond wall of cystic duct\n + Perimuscular connective tissue\n + Perimuscular tissue, NOS\n + Serosa (visceral peritoneum) \n + Small intestine \n + Unilateral branches of hepatic artery (right or left)\n + Unilateral branches of portal vein (right or left)\n- Distal bile duct(s)\n + Adjacent hepatic parenchyma \n + Beyond wall of bile duct \n + Porta hepatis\n + Unilateral branches of hepatic artery (right or left) \n + Unilateral branches of portal vein (right or left)\n- Perihilar bile duct(s)\n + Beyond wall of bile duct \n + Second-order biliary radicals bilaterally\n * Unilateral second-order biliary radicals \n * WITH contralateral portal vein or hepatic artery involvement\n + Unilateral branches of hepatic artery (right or left) \n + Unilateral branches of portal vein (right or left)" ], [ "3", "Regional lymph node(s) involved only\n- Choledochal (bile ducts perihilar only)\n- Cystic duct (node of the neck of the gallbladder) (Calot's node)\n- Hepatic/hepatic artery nodes (common, NOS)\n- Hilar (porta hepatic) (portal) (in hilus of liver)\n- Node of the foramen of Winslow (omental) (epiploic)\n- Pancreaticoduodenal (anterior, posterior) (bile ducts distal only)\n- Pancreaticoduodenal, NOS (cystic duct only)\n- Pericholedochal (node along common bile duct)\n- Periduodenal\n- Peripancreatic (near head of pancreas only)\n- Periportal\n- Portal vein\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Abdominal wall\n + Celiac axis (bile ducts distal only)\n + Superior mesenteric artery (bile ducts distal only)\n- Distant lymph node(s), NOS\n + Celiac (axis) artery\n + Para-aortic\n + Periaortic (cystic duct only)\n + Pericaval\n + Peripancreatic (along body and tail of pancreas only)\n + Superior mesenteric artery\n + Superior mesenteric vein\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_eye_other_38179.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_eye_other_38179.json deleted file mode 100644 index f3fd12dd7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_eye_other_38179.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_eye_other_38179", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Eye Other", - "title" : "Derived Summary Stage 2018: Eye Other", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:12:40.209Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to tissue or organ of origin\n- Intraocular extension" ], [ "2", "Regional by direct extension only\n- Adjacent extraocular extension\n + Eyelid\n + Orbit" ], [ "3", "Regional lymph node(s) involved only\n- Cervical, NOS\n + Mandibular, NOS\n + Submandibular (submaxillary)\n- Parotid, NOS\n + Infra-auricular\n + Preauricular\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_fallopian_tube_71863.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_fallopian_tube_71863.json deleted file mode 100644 index 9018bdd9c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_fallopian_tube_71863.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_fallopian_tube_71863", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Fallopian Tube", - "title" : "Derived Summary Stage 2018: Fallopian Tube", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:19:28.005Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial\n- Limited to tubal mucosa\n- Preinvasive\n- Serous tubal intraepithelial carcinoma (STIC)" ], [ "1", "Localized only (localized, NOS)\n\nLimited to one or both fallopian tubes WITHOUT or UNKNOWN\n- Tumor on fallopian tube surface\n - Malignant cells in ascites or peritoneal washings \n\nConfined to fallopian tube, NOS\nLocalized, NOS\n\nFIGO Stage I (IA, IB, INOS)" ], [ "2", "Regional by direct extension only\n\nLimited to one or both fallopian tubes WITH\n- Tumor on fallopian tube surface\n- Malignant cells in ascites or peritoneal washings \n- Pelvic extension, NOS (below pelvic brim)\n\nExtension to and/or discontinuous metastasis to any of the following\n- Adnexa, NOS\n- Adjacent (pelvic) peritoneum\n- Bladder\n- Bladder serosa \n- Corpus uteri\n- Cul de sac (rectouterine pouch)\n- Ligament(s) (broad, ovarian, round, suspensory)\n- Mesosalpinx (Mesovarium)\n- Ovary(ies)\n- Parametrium\n- Pelvic wall\n- Rectosigmoid\n- Rectum\n- Sigmoid colon (including sigmoid mesentery)\n- Ureter (pelvic portion)\n- Uterus, NOS\n\nFIGO Stage IC2, IC3\nFIGO Stage II (IIA, IIB, IINOS)" ], [ "3", "Regional lymph node(s) involved only\n- Intrabdominal \n- Para-aortic, NOS\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n- Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n- Retroperitoneal, NOS\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS\n\nFIGO Stage IIIA1 (IIIA1i, IIIA1ii, IIIA1 NOS)\n* Localized tumor WITH regional lymph node involvement" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n * Abdominal mesentery\n * Diaphragm\n * Gallbladder\n * Intestine, large (except rectum, rectosigmoid and sigmoid colon, see code 2)\n * Kidneys\n * Liver (capsular or parenchymal involvement)\n * Omentum (infracolic, NOS)\n * Pancreas\n * Pericolic gutter\n * Peritoneum, NOS\n * Peritoneal implants beyond pelvis\n * Pleural effusion with positive cytology\n * Small intestine\n * Spleen (capsular or parenchymal involvement)\n * Stomach\n * Ureters (outside pelvis)\n- Distant lymph node(s), NOS\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Distant metastasis, NOS\n * Carcinomatosis (involvement of multiple parenchymal organs)\n + WITH or WITHOUT distant lymph node(s) OR pleural effusion\n * Distant metastasis WITH or WITHOUT distant lymph node(s)\n\nFIGO Stage III (IIIA, IIIA2, IIIB, IIIC, III NOS)\nFIGO Stage IV (IVA, IVB, IV NOS)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gallbladder_56868.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gallbladder_56868.json deleted file mode 100644 index 92b9c3681..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gallbladder_56868.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_gallbladder_56868", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Gallbladder", - "title" : "Derived Summary Stage 2018: Gallbladder", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:13:27.093Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to gallbladder, NOS \n- Lamina propria\n- Mucosa, NOS\n- Muscularis propria (layer)\n- Submucosa (superficial invasion)" ], [ "2", "Regional by direct extension only\n- Ampulla of Vater\n- Branch(es) of hepatic artery (right or left) \n- Branch(es) of portal vein (right or left)\n- Duodenum\n- Extrahepatic bile duct(s)\n- Liver, less than or equal to 2 cm OR distance not stated\n- Omentum (greater, lesser, NOS)\n- Pancreas\n- Perimuscular connective tissue (peritoneal and hepatic side)\n- Serosa (visceral peritoneum)\n- Small intestine, NOS" ], [ "3", "Regional lymph node(s) involved only\n- Celiac artery\n- Cystic duct (Calot's node)\n- Hepatic artery\n- Node of foramen of Winslow (omental) (epiploic)\n- Pancreaticoduodenal\n- Pericholedochal (common bile duct)\n- Periduodenal\n- Peripancreatic (near head of pancreas only)\n- Porta hepatis (portal) (periportal) (hilar) (in hilus of liver)\n- Portacaval\n- Portal vein\n- Retroperitoneal, NOS\n- Superior mesenteric\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Abdominal wall\n + Colon\n + Cystic artery/vein\n + Diaphragm\n + Hepatic artery (common, NOS)\n + Liver, greater than 2 cm\n + Portal vein (main, NOS)\n + Stomach \n + Two or more extrahepatic organs or structures\n- Distant lymph node(s), NOS\n + Para-aortic\n + Pericaval\n + Peripancreatic (along body and tail of pancreas only)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_female_other_6389.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_female_other_6389.json deleted file mode 100644 index 0a1b0d060..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_female_other_6389.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_genital_female_other_6389", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Genital Female Other", - "title" : "Derived Summary Stage 2018: Genital Female Other", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:13:43.195Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to tissue or organ of origin" ], [ "2", "Regional by direct extension only\n- Adjacent connective tissue\n- Adjacent organ(s)/structure(s)\n + Adnexa\n + Broad ligament(s)\n + Cervix uteri\n + Corpus uteri\n + Fallopian tube(s)\n + Ovary(ies)\n + Parametrium\n + Round ligament(s)\n + Uterus, NOS\n + Vagina" ], [ "3", "Regional lymph node(s) involved only\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Other organ(s) of pelvis\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_male_other_41924.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_male_other_41924.json deleted file mode 100644 index 50e710303..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_genital_male_other_41924.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_genital_male_other_41924", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Genital Male Other", - "title" : "Derived Summary Stage 2018: Genital Male Other", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:13:59.234Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to tissue or organ of origin" ], [ "2", "Regional by direct extension only\n- Adjacent connective tissue\n- Adjacent organ(s)/structure(s)\n + Epididymis (from other site)\n + Penis\n + Prostate\n + Seminal vesicle (from other site)\n + Skeletal muscle (scrotum only)\n + Spermatic cord (vas deferens) (from other site)\n + Testis\n + Tunica vaginalis (from other site)" ], [ "3", "Regional lymph node(s) involved only\n- Iliac , NOS\n + External \n + Internal (hypogastric), NOS\n * Obturator \n- Inguinal , NOS\n + Deep inguinal, NOS\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Pelvic , NOS\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n- Other organ(s) and structure(s) in male pelvis\n + Bladder\n + Bone (axial or appendicular skeleton) (scrotum only)\n + Rectum \n + Underlying cartilage (scrotum only)\n + Urethra\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gist_48315.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gist_48315.json deleted file mode 100644 index 2f53de60b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gist_48315.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_gist_48315", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: GIST", - "title" : "Derived Summary Stage 2018: GIST", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:18:22.520Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive" ], [ "1", "Localized only (localized, NOS)\n- Confined to site of origin" ], [ "2", "Regional by direct extension only\n- Adjacent (connective) tissue, NOS" ], [ "3", "Regional lymph node(s) involved only\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Adherent to organs/structure, NOS\n + Extension to organs/structures, NOS \n + Liver parenchymal nodules\n + Peritoneal nodules\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gum_32702.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gum_32702.json deleted file mode 100644 index 1e9bf90e4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_gum_32702.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_gum_32702", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Gum", - "title" : "Derived Summary Stage 2018: Gum", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:14:15.052Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to gum, NOS\n- Invasive tumor confined to lamina propria (mucoperiosteum) (stroma)" ], [ "2", "Regional by direct extension only\n- Bone, NOS\n- Bone (mandible, maxilla, palatine)\n- Buccal mucosa (inner cheek)\n- Cartilage (mandible, maxilla, NOS)\n- Cortical bone (mandible, maxilla, NOS)\n- Deep (extrinsic) muscle of tongue\n + Genioglossus\n + Hyoglossus\n + Palatoglossus\n + Styloglossus\n- Facial muscle, NOS\n- Floor of mouth\n- Hard palate (includes cortical palatine bone)\n- Labial mucosa (inner lip)\n- Lateral pharyngeal wall\n- Lip, NOS\n- Soft palate including uvula\n- Subcutaneous soft tissue of face\n- Tongue mucosa/intrinsic muscle\n- Tonsillar pillars and fossae\n- Tonsils\n- Trabecular bone (mandible, maxilla, palatine, NOS)" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Internal carotid artery (encased)\n + Masticator space\n + Maxillary sinus/antrum\n + Nasal cavity\n + Nose\n + Pterygoid plates\n + Skin of face\n + Skull base\n + Specified bone (other than mandible, maxilla, palatine)\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_heart_mediastinum_and_pleura_70478.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_heart_mediastinum_and_pleura_70478.json deleted file mode 100644 index 0fc20982d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_heart_mediastinum_and_pleura_70478.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_heart_mediastinum_and_pleura_70478", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Heart, Mediastinum and Pleura", - "title" : "Derived Summary Stage 2018: Heart, Mediastinum and Pleura", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:18:00.214Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only (localized, NOS)\n- Confined to site of origin" ], [ "2", "Regional by direct extension only\n- All sites\n + Adjacent (connective) tissue, NOS\n + Adjacent organ(s)/structure(s), NOS\n + Mesentery\n + Serosa\n + Visceral peritoneum\n- Heart (C380)\n + Ascending aorta\n + Parietal pericardium\n + Vena cava\n- Mediastinum (C381-C383, C388)\n + Descending aorta\n + Esophagus\n + Large (named) artery(ies) or vein(s)\n + Pericardium (parietal, visceral [pericardium], NOS)\n + Phrenic nerve(s)\n + Pleura (parietal, visceral, NOS)\n + Sternum\n + Sympathetic nerve trunk(s)\n + Thoracic duct\n + Thymus\n + Trachea, parietal pleura\n + Vertebra(e)\n- Pleura (C384)\n + Chest wall\n + Diaphragm\n + Endothoracic fascia\n + Heart muscle\n + Lung involvement, NOS\n + Mediastinal organs or tissues\n + Pericardium\n + Rib" ], [ "3", "Regional lymph node(s) involved only\n- All sites\n + Aortic (above diaphragm), NOS\n * Peri/para-aortic, NOS\n - Ascending aorta (phrenic)\n * Subaortic (aortico-pulmonary window)\n + Carinal (tracheobronchial) (tracheal bifurcation)\n + Mediastinal (anterior, posterior [tracheoesophageal], NOS)\n + Pericardial\n + Peri-/paraesophageal\n + Peri-/paratracheal (lower [azygos], upper, NOS)\n + Pretracheal and retrotracheal (precarinal), NOS\n + Pulmonary ligament\n + Subcarinal\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Pleura (C384)\n + Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n + Intrapulmonary, NOS\n + Interlobar\n + Lobar\n * Segmental\n * Subsegmental\n + Peri/parabronchial\n + Precarinal" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Pleura\n * Cervical (neck) tissues\n * Contralateral lung\n * Contralateral pleura\n * Intra-abdominal organs\n * Peritoneum\n * Pleural effusion\n- Distant lymph node(s), NOS\n + Pleura\n * Contralateral/bilateral hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n * Contralateral/bilateral mediastinal\n * Scalene (inferior deep cervical), ipsilateral or contralateral\n * Supraclavicular (transverse cervical), ipsilateral or contralateral\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hemeretic_89184.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hemeretic_89184.json deleted file mode 100644 index f1dc62221..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hemeretic_89184.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_hemeretic_89184", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: HemeRetic", - "title" : "Derived Summary Stage 2018: HemeRetic", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:16:36.121Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only\n- Localized disease\n- (Single/solitary/unifocal/isolated)\n- See Notes 2 and 3" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Systemic disease\n- See Note 5" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hypopharynx_33792.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hypopharynx_33792.json deleted file mode 100644 index e9cd39a68..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_hypopharynx_33792.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_hypopharynx_33792", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Hypopharynx", - "title" : "Derived Summary Stage 2018: Hypopharynx", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:14:32.029Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to hypopharynx\n- Laryngopharynx\n- Postcricoid area\n- Posterior pharyngeal wall\n- Pyriform fossa or sinus" ], [ "2", "Regional by direct extension only\n- Carotid artery (encased)\n- Central compartment soft tissues of neck including\n + Prelaryngeal strap muscle(s)\n + Subcutaneous fat\n- Cricoid cartilage\n- Esophageal mucosa or muscle \n- Extrinsic muscle of tongue\n- Fixation of structures in code 1 (localized with fixation)\n- Fixation of hemilarynx, larynx or oropharynx\n- Hard palate\n- Hemilarynx\n- Mandible \n- Medial pterygoid\n- Oropharynx\n- Prevertebral fascia/muscle(s)\n- Soft tissues of neck\n- Thyroid cartilage/gland" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Base of tongue\n + Floor of tongue\n + Hyoid bone\n + Mediastinal structure(s)\n + Nasopharynx\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant mets WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ill_defined_other_41227.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ill_defined_other_41227.json deleted file mode 100644 index d6bec66c7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ill_defined_other_41227.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_ill_defined_other_41227", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Ill-Defined Other", - "title" : "Derived Summary Stage 2018:Ill-Defined Other", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:15:14.203Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "9", "Unknown if extension or metastasis; unstageable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intracranial_gland_8078.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intracranial_gland_8078.json deleted file mode 100644 index c44bdc65d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intracranial_gland_8078.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_intracranial_gland_8078", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Intracranial Gland", - "title" : "Derived Summary Stage 2018: Intracranial Gland", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:15:31.952Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive" ], [ "1", "Localized only (localized, NOS)\n- Confined to gland of origin" ], [ "2", "Regional by direct extension only\n- Adjacent connective/soft tissue\n- Adjacent organ(s)/structure(s) for pituitary and craniopharyngeal duct\n + Cavernous sinus\n + Infundibulum\n + Pons\n + Sphenoid body and sinuses\n- Adjacent organ(s)/structure(s) for pineal\n + Infratentorial and central brain" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "8", "Benign or borderline brain" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intrahepatic_bile_ducts_29879.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intrahepatic_bile_ducts_29879.json deleted file mode 100644 index c8b651619..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_intrahepatic_bile_ducts_29879.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_intrahepatic_bile_ducts_29879", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Intrahepatic Bile Ducts", - "title" : "Derived Summary Stage 2018: Intrahepatic Bile Ducts", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:09:21.549Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n- Biliary intraepithelial neoplasia grade 3 (BiIIN-3)\n- Intraductal tumor" ], [ "1", "Localized only (localized, NOS)\n- Confined to intrahepatic bile duct, NOS\n- Solitary or Multiple tumors WITH or WITHOUT intrahepatic vascular invasion" ], [ "2", "Regional by direct extension only\n- Abdominal wall\n- Adjacent (connective) tissue, NOS\n- Colon\n- Common bile duct\n- Diaphragm \n- Duodenum\n- Extrahepatic bile ducts PLUS satellite nodules in more than one lobe \n- Extrahepatic structure(s), NOS\n + Retrohepatic vena cava\n + Vena cava \n- Hepatic artery (proper)\n- Gallbladder\n- Lesser omentum ligament(s)\n + Coronary \n + Falciform \n + Hepatoduodenal \n + Hepatogastric \n + Round (of liver) \n + Triangular \n- Peritoneum, NOS\n + Parietal\n + Visceral\n- Multiple tumors with major vascular invasion\n- Retrohepatic vena cava" ], [ "3", "Regional lymph node(s) involved only\n- Common bile duct \n- Cystic duct \n- Hepatic, NOS\n- Hepatic artery\n- Hepatic pedicle\n- Hepatoduodenal ligament \n- Hilar\n- Portal vein\n + Periportal \n + Porta hepatis\n + Portal \n- Portocaval (portacaval)\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Multiple (satellite) nodules on surface of liver parenchyma\n + Pancreas\n + Pleura\n + Stomach\n- Distant lymph node(s), NOS\n + Aortic (para-aortic, periaortic)\n + Aortocaval\n + Cardiac\n + Caval (inferior vena cava)\n + Celiac\n + Diaphragmatic, NOS\n + Gastrohepatic\n + Inferior phrenic\n + Lateral (aortic) (lumbar)\n + Pancreaticoduodenal \n + Pericardial (pericardiac)\n + Periduodenal\n + Peripancreatic\n + Posterior mediastinal (tracheoesophageal) including juxtaphrenic nodes\n + Renal artery\n + Retroperitoneal, NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kaposi_sarcoma_84609.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kaposi_sarcoma_84609.json deleted file mode 100644 index aaff16784..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kaposi_sarcoma_84609.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_kaposi_sarcoma_84609", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Kaposi Sarcoma", - "title" : "Derived Summary Stage 2018: Kaposi Sarcoma", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:15:50.077Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only\n- Single or multiple lesion(s)\n + Mucosa (e.g., oral cavity, anus, rectum, vagina, vulva)\n + Skin and/or connective tissue\n + Viscera (e.g., pulmonary, gastrointestinal tract, spleen, other)" ], [ "2", "Regional by direct extension only\n- Multiple lesion(s)\n + Mucosa plus skin and/or connective tissue\n + Viscera plus mucosa \n + Viscera plus skin and/or connective tissue" ], [ "3", "Regional lymph node(s) involved only\n- Both clinically enlarged palpable lymph node(s) (adenopathy) and pathologically positive lymph node(s)\n- Clinically enlarged palpable lymph node(s) (adenopathy) and either pathologically negative node(s) or no pathological statement\n- No clinically enlarged palpable lymph node(s) (adenopathy) but pathologically positive lymph node(s)\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Multiple lesions in all THREE of following: viscera plus mucosa plus skin and/or connective tissue\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_parenchyma_35397.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_parenchyma_35397.json deleted file mode 100644 index ce33916ff..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_parenchyma_35397.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_kidney_parenchyma_35397", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Kidney Parenchyma", - "title" : "Derived Summary Stage 2018: Kidney Parenchyma", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:16:10.328Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined (limited) to the kidney, NOS\n- Invasion of renal capsule \n- Invasive cancer confined to kidney cortex and/or medulla" ], [ "2", "Regional by direct extension only\n- Adrenal gland (ipsilateral) (contiguous involvement)\n- Ascending colon from right kidney\n- Beyond Gerota's fascia, NOS\n- Blood vessel(s) (major)\n + Extrarenal portion of renal vein or segmental (muscle containing branches)\n + Hilar blood vessel\n + Inferior vena cava\n + Perirenal vein/fat\n + Renal artery\n + Renal vein, NOS/sinus fat\n + Tumor thrombus in a renal vein, NOS\n- Descending colon from left kidney\n- Diaphragm \n- Duodenum from right kidney\n- Pelvicalyceal system\n- Perinephric tissue\n- Peritoneum\n- Psoas muscle\n- Quadratus lumborum muscle\n- Renal pelvis or calyces involved\n- Retroperitoneal soft tissue\n- Separate focus of tumor in renal pelvis/calyx\n- Tail of pancreas\n- Ureter (ipsilateral), including implant(s)" ], [ "3", "Regional lymph node(s) involved only\n- Aortic, NOS\n + Lateral (lumbar)\n + Para-aortic\n + Periaortic\n + Preaortic\n + Retroaortic\n- Caval, NOS\n + Interaortocaval\n + Paracaval\n + Pericaval\n + Precaval\n + Retrocaval\n- Renal hilar\n- Retroperitoneal, NOS\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Adrenal gland (ipsilateral) (noncontiguous involvement) (see EOD Primary Tumor for contiguous involvement)\n + Adrenal gland (contralateral)\n + Aorta\n + Contralateral kidney\n + Contralateral ureter\n + Liver \n + Ribs\n + Spleen\n + Stomach\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_renal_pelvis_4595.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_renal_pelvis_4595.json deleted file mode 100644 index 96c4e213d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_kidney_renal_pelvis_4595.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_kidney_renal_pelvis_4595", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Kidney Renal Pelvis", - "title" : "Derived Summary Stage 2018: Kidney Renal Pelvis", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:16:07.706Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n\nPapillary \n- Non-infiltrating or non-invasive papillary transitional cell carcinoma\n- Non-infiltrating or non-invasive papillary urothelial carcinoma\n- Papillary transitional cell carcinoma, with inferred description of non-invasion\n- Papillary urothelial carcinoma, with inferred description of non-invasion\n\nNonpapillary\n- Carcinoma in situ, NOS \n- Sessile (flat) (solid) carcinoma in situ \n- Transitional cell carcinoma in situ\n- Urothelial carcinoma (in situ, non-infiltrating, non-invasive)\n\nMultifocal non-invasive tumors" ], [ "1", "Localized only (localized, NOS)\n- Confined to renal pelvis, NOS\n- Confined to ureter, NOS\n- Muscularis \n + Renal pelvis only\n + Ureter only\n- Subepithelial connective tissue (lamina propria, submucosa) \n + Renal pelvis only\n + Ureter only" ], [ "2", "Regional by direct extension only\n- Extension to bladder from ureter\n + Muscularis of distal ureter and/or bladder\n + Subepithelial connective tissue of distal ureter and/or bladder\n- Invasion beyond muscularis into\n + Peripelvic fat (renal pelvis)\n + Periureteric fat (ureter)\n + Retroperitoneal soft/connective tissue\n- Renal pelvis and ureter (unifocal or multifocal)\n + Duodenum (from right renal pelvis or right ureter)\n + Ipsilateral adrenal gland (suprarenal) gland\n + Major blood vessel(s)\n * Aorta\n * Renal artery/vein\n * Vena cava (inferior)\n + Muscularis\n * Distal ureter from proximal ureter \n * Renal pelvis from ureter\n * Ureter from renal pelvis\n + Psoas muscle (ureter)\n + Subepithelial connective tissue\n * Distal ureter from proximal ureter\n * Renal pelvis from ureter\n * Ureter from renal pelvis\n + Tumor thrombus in a renal vein, NOS\n- Renal pelvis only\n + Ipsilateral kidney parenchyma and kidney, NOS" ], [ "3", "Regional lymph node(s) involved only\n- All sites\n + Lateral aortic (lumbar)\n + Paracaval\n + Renal hilar\n + Retroperitoneal, NOS\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Renal Pelvis\n + Aortic (para-aortic, periaortic, NOS)\n- Ureter\n + Iliac (common, external, NOS)\n + Internal (hypogastric) (obturator)\n + Pelvic, NOS\n + Periureteral" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Ascending colon (from right renal pelvis or right ureter)\n + Bladder (wall or mucosa) from renal pelvis\n + Colon, NOS\n + Descending colon (from right renal pelvis or right ureter)\n + Ipsilateral kidney parenchyma from ureter\n + Liver (from right renal pelvis or right ureter)\n + Pancreas\n + Perirenal (perinephric) fat (via kidney)\n + Prostate (ureter)\n + Spleen (from left renal pelvis or left ureter)\n + Uterus (ureter)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lacrimal_gland_sac_94643.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lacrimal_gland_sac_94643.json deleted file mode 100644 index 60648efe1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lacrimal_gland_sac_94643.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_lacrimal_gland_sac_94643", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Lacrimal Gland/Sac", - "title" : "Derived Summary Stage 2018: Lacrimal Gland/Sac", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T17:08:21.423Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to lacrimal gland\n + WITH or WITHOUT extraglandular extension into the orbital soft tissue\n + No periosteal or orbital bone involvement or UNKNOWN if involved" ], [ "2", "Regional by direct extension only\n- Confined to lacrimal gland \n + AND involvement of periosteum AND/OR periorbital bone" ], [ "3", "Regional lymph node(s) involved only\n- Cervical, NOS\n- Mandibular, NOS\n + Submandibular (submaxillary)\n- Parotid, NOS\n + Infra-auricular\n + Preauricular\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Adjacent structure(s), NOS\n + Brain\n + Cavernous sinus\n + Orbital bone\n + Periosteum\n + Pterygoid fossa \n + Sinuses\n + Superior orbital fissure\n + Temporal fossa\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_glottic_7548.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_glottic_7548.json deleted file mode 100644 index 91cacb47a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_glottic_7548.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_larynx_glottic_7548", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Larynx Glottic", - "title" : "Derived Summary Stage 2018: Larynx Glottic", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:16:30.558Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to glottis, NOS\n- Limited to larynx WITH or WITHOUT vocal cord fixation\n + Intrinsic larynx\n + Laryngeal commissure(s) (anterior, posterior)\n + One or both vocal cord(s) involved WITH or WITHOUT normal vocal cord mobility\n + Vocal cord(s) (true cord(s), true vocal cord(s), NOS)\n - Adjacent region(s) of larynx involved\n + Intrinsic muscle(s) of larynx\n * Aryepiglottic\n * Arytenoid \n * Cricoarytenoid\n * Cricothyroid\n * Thyroarytenoid \n * Thyroepiglottic\n * Vocalis\n + Subglottis\n + Supraglottis \n * Aryepiglottic fold\n * Arytenoid cartilage\n * Corniculate tubercle\n * Cuneiform tubercle\n + Ventricular bands (false vocal cord(s))" ], [ "2", "Regional by direct extension only\n- Base of tongue\n- Hypopharynx, NOS\n- Paraglottic space\n- Postcricoid area\n- Pre-epiglottic space\n- Pre-epiglottic tissues\n- Pyriform sinus (pyriform fossa)\n- Thyroid cartilage (inner cortex)\n- Vallecula" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Carotid artery (encased)\n + Cricoid cartilage \n + Esophagus\n + Extrinsic muscle(s) of tongue\n * Genioglossus\n * Geniohyoid\n * Hyoglossus\n * Mylohyoid\n * Palatoglossus\n * Styloglossus\n + Mediastinal structure(s)\n + Oropharynx, NOS\n + Prevertebral space\n + Skin\n + Soft tissues of neck\n + Strap muscle(s)\n * Omohyoid\n * Sternohyoid\n * Sternothyroid\n * Thyrohyoid\n + Thyroid cartilage (outer cortex, NOS)\n + Thyroid gland\n + Trachea\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_other_66228.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_other_66228.json deleted file mode 100644 index e4fe5c20b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_other_66228.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_larynx_other_66228", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Larynx Other", - "title" : "Derived Summary Stage 2018: Larynx Other", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:16:53.424Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to larynx, NOS\n- Involvement adjacent regions(s) of larynx WITH normal or impaired mobility\n + Glottis\n + Supraglottis\n- Limited to larynx with vocal cord fixation" ], [ "2", "Regional by direct extension only\n- Base of tongue\n- Hypopharynx, NOS\n- Paraglottic space\n- Postcricoid area\n- Pre-epiglottic tissues\n- Pyriform sinus (pyriform fossa)\n- Thyroid cartilage (inner cortex)\n- Vallecula" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Carotid artery (encased)\n + Cricoid cartilage \n + Esophagus\n + Extrinsic muscle(s) of tongue\n * Genioglossus\n * Geniohyoid\n * Hyoglossus\n * Mylohyoid\n * Palatoglossus\n * Styloglossus\n + Mediastinal structure(s)\n + Oropharynx\n + Prevertebral space\n + Skin\n + Soft tissues of neck\n + Strap muscle(s)\n * Omohyoid\n * Sternohyoid\n * Sternothyroid\n * Thyrohyoid\n + Thyroid cartilage (outer cortex, NOS)\n + Thyroid gland\n + Trachea\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_subglottic_66548.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_subglottic_66548.json deleted file mode 100644 index 73e26fe48..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_subglottic_66548.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_larynx_subglottic_66548", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Larynx Subglottic", - "title" : "Derived Summary Stage 2018: Larynx Subglottic", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:20:18.401Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to subglottis\n- Involvement adjacent regions(s) of larynx WITH normal or impaired mobility\n + Glottis\n + Supraglottis" ], [ "2", "Regional by direct extension only\n\n- Limited to larynx with vocal cord fixation \n\nInvasion of\n- Base of tongue\n- Hypopharynx, NOS\n- Paraglottic space\n- Postcricoid area\n- Pre-epiglottic tissues\n- Pyriform sinus (pyriform fossa)\n- Thyroid cartilage (inner cortex) (minor erosion) \n- Vallecula" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Carotid artery (encased)\n + Cricoid cartilage\n + Esophagus\n + Extrinsic muscles of tongue\n * Genioglossus\n * Geniohyoid\n * Hyoglossus\n * Mylohyoid\n * Palatoglossus\n * Styloglossus\n + Mediastinal structure(s)\n + Oropharynx\n + Prevertebral space\n + Skin\n + Soft tissues of neck\n + Strap muscle(s)\n * Omohyoid\n * Sternohyoid\n * Sternothyroid\n * Thyrohyoid\n + Thyroid cartilage (outer cortex, NOS)\n + Thyroid gland\n + Trachea\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_supraglottic_62635.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_supraglottic_62635.json deleted file mode 100644 index fa32ab758..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_larynx_supraglottic_62635.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_larynx_supraglottic_62635", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Larynx Supraglottic", - "title" : "Derived Summary Stage 2018: Larynx Supraglottic", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:20:34.989Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to \n + Epiglottis, NOS\n + One supraglottis subsite with normal vocal cord mobility\n + Supraglottis, NOS\n- Limited to larynx with vocal cord fixation\n- Mucosa of more than one subsite of supraglottis and/or glottis\n- Supraglottis \n + Aryepiglottic fold\n + Cartilage (arytenoid, corniculate, cuneiform, laryngeal, NOS)\n + Epiglottis (infrahyoid, laryngeal [posterior] surface of epiglottis)\n + Epiglottis (suprahyoid) (including tip, lingual (anterior) and laryngeal surfaces)\n + Epilarynx, NOS\n + False cords: ventricular bands/cavity/vestibular fold" ], [ "2", "Regional by direct extension only\n- All sites\n + Cricoid cartilage\n + Hypopharynx, NOS\n + Mucosa of\n * Base of tongue\n * Pyriform sinus (medial wall)\n * Vallecula\n + Paraglottic space\n + Postcricoid area\n + Pre-epiglottic space\n + Pre-epiglottic tissues\n + Vocal cord fixation of larynx with extension to structures listed in code 2\n- Epiglottis (anterior surface, NOS) primaries only\n + Buccal mucosa\n + Floor of mouth\n + Gum (gingiva)\n + Nasopharynx\n + Pterygoid muscle\n + Soft palate" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Anterior 2/3 of tongue (epiglottis only)\n + Bone (epiglottis only)\n + Carotid artery (encased)\n + Esophagus\n + Extrinsic muscle(s) of tongue\n * Genioglossus\n * Geniohyoid\n * Hyoglossus\n * Mylohyoid\n * Palatoglossus\n * Styloglossus\n + Mandible (epiglottis only)\n + Mediastinal structure(s)\n + Oropharynx, NOS\n + Parotid gland (epiglottis only)\n + Prevertebral space\n + Skin\n + Soft tissues of neck\n + Strap muscle(s)\n * Omohyoid\n * Sternohyoid\n * Sternothyroid\n * Thyrohyoid\n + Thyroid cartilage (inner cortex, outer cortex, NOS)\n + Thyroid gland\n + Trachea\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lip_8421.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lip_8421.json deleted file mode 100644 index d773b9a85..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lip_8421.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_lip_8421", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Lip", - "title" : "Derived Summary Stage 2018: Lip", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:20:54.785Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to lip, NOS\n- Labial mucosa (inner lip)\n- Lamina propria\n + Multiple foci\n + Submucosa (superficial invasion)\n- Musculature \n- Skin of lip\n- Subcutaneous soft tissue of lip" ], [ "2", "Regional by direct extension only\n- Bone, NOS \n + Cartilage (mandible, maxilla, NOS)\n + Cortical (mandible, maxilla, NOS)\n + Mandible, NOS \n + Maxilla, NOS\n + Trabecular (mandible, maxilla, NOS)\n- Buccal mucosa (inner cheek)\n- Commissure\n- Gingiva, NOS\n + Lower gingiva \n + Upper gingiva \n- Opposite lip (both lips)" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Floor of mouth\n + Inferior alveolar nerve\n + Internal carotid artery (encased)\n + Masticator space\n + Nose \n + Pterygoid plates\n + Skin of face/neck\n + Skull base\n + Specified bone (other than mandible and maxilla)\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_liver_13967.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_liver_13967.json deleted file mode 100644 index 53ee4f0ed..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_liver_13967.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_liver_13967", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Liver", - "title" : "Derived Summary Stage 2018: Liver", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T17:05:43.987Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to liver, NOS\n- Single tumor (one lobe) WITH or WITHOUT vascular invasion\n- Multiple (satellite) nodules/tumor confined to one lobe WITH or WITHOUT vascular invasion" ], [ "2", "Regional by direct extension only\n- Diaphragm\n- Extrahepatic bile duct(s)\n- Extrahepatic blood vessel(s)\n + Hepatic artery\n + Portal vein\n + Vena cava\n- Gallbladder\n- Ligament(s)\n + Coronary\n + Falciform \n + Hepatoduodenal\n + Hepatogastric\n + Round (of liver)\n + Triangular\n- Omentum (lesser and omentum, NOS) (See code 7 for greater omentum)\n- Peritoneum, NOS\n + Parietal \n + Visceral\n- Major vascular invasion, NOS\n- More than one lobe involved by contiguous growth (single lesion)\n + WITH or WITHOUT vascular invasion\n- Multiple (satellite) nodules/ tumors in more than one lobe of liver or on surface of parenchyma \n + WITH or WITHOUT vascular invasion" ], [ "3", "Regional lymph node(s) involved only\n- Caval\n- Hepatic, NOS\n + Hepatic artery\n + Hepatic pedicle\n + Inferior vena cava\n + Porta hepatis (portal) (hilar) [in hilus of liver]Hepatoduodenal ligament\n- Periportal\n- Portal vein \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Greater omentum (See code 2 for lesser omentum and omentum, NOS)\n + Pancreas\n + Pleura\n + Stomach \n- Distant lymph node(s), NOS\n + Aortic (para-aortic, periaortic)\n + Cardiac\n + Coronary artery\n + Diaphragmatic, NOS\n + Inferior phrenic nodes\n + Lateral (aortic) (lumbar)\n + Pericardial (pericardiac)\n + Peripancreatic (near head of pancreas only)\n + Posterior mediastinal (tracheoesophageal) including juxtaphrenic nodes\n + Renal artery\n + Retroperitoneal, NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lung_59907.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lung_59907.json deleted file mode 100644 index aff5fc4df..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lung_59907.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_lung_59907", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Lung", - "title" : "Derived Summary Stage 2018: Lung", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T22:56:22.816Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n- Adenocarcinoma in situ (AIS): adenocarcinoma with pure lepidic pattern, less than or equal to 3 cm in greatest dimension\n- Squamous cell carcinoma in situ (SCIS)" ], [ "1", "Localized only (localized, NOS)\n- Adjacent ipsilateral lobe\n- Confined to carina, NOS\n- Confined to hilus\n- Confined to lung, NOS\n- Main stem bronchus, NOS (without involvement of the carina)\n + Including extension from other part of lung\n- Minimally invasive adenocarcinoma\n + Adenocarcinoma tumor WITH predominantly lepidic pattern (AIS) measuring less than or equal to 3 cm in greatest dimension\n * WITH invasive component measuring less than or equal to 5 mm in greatest dimension\n- Superficial tumor, WITH invasive component limited to bronchial wall\n + WITH or WITHOUT proximal extension to main stem bronchus" ], [ "2", "Regional by direct extension only\n- Atelectasis/obstructive pneumonitis\n + Extends to hilar region, involving part or all of lung\n- Blood vessel(s) (major)\n + Aorta\n + Azygos vein\n + Pulmonary artery or vein\n + Superior vena cava (SVC syndrome)\n- Brachial plexus\n- Carina from lung\n- Chest wall (thoracic wall) \n- Compression of esophagus or trachea not specified as direct extension\n- Diaphragm (separate lesion-see code 7)\n- Esophagus\n- Mediastinum, extrapulmonary or NOS\n- Nerve(s)\n + Cervical sympathetic (Horner's syndrome)\n + Recurrent laryngeal (vocal cord paralysis)\n + Vagus\n- Pancoast tumor (superior sulcus syndrome), NOS\n- Parietal pericardium\n- Parietal pleura (PL3)\n- Pericardium, NOS\n- Phrenic nerve\n- Pleura, NOS\n- Pulmonary ligament\n- Separate tumor nodule(s) in the same lobe as the primary\n- Visceral pleura invasion (PL1, PL2, or NOS)\n- Trachea" ], [ "3", "Regional lymph node(s) involved only\n- IPSILATERAL nodes only\n + Bronchial\n - Peri/parabronchial\n + Carinal (tracheobronchial) (tracheal bifurcation)\n + Hilar (bronchopulmonary) (proximal lobar) (pulmonary root) \n + Intrapulmonary \n * Interlobar\n * Lobar\n * Segmental\n * Subsegmental\n + Mediastinal, NOS\n * Anterior\n * Aortic (above diaphragm), NOS\n - Peri/para-aortic, NOS\n + Ascending aorta (phrenic)\n - Subaortic (aortic-pulmonary window)\n * Inferior mediastinal \n - Paraesophageal\n - Pulmonary ligament\n - Subcarinal\n * Periesophageal \n * Pericardial\n * Posterior (tracheoesophageal)\n * Precarinal\n * Pretracheal, NOS\n * Superior mediastinal\n - Paratracheal (left, right, upper, low, NOS)\n - Azygos (lower paratracheal)\n - Prevascular\n - Retrotracheal\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Abdominal organs\n + Adjacent rib\n + Contralateral lung/main stem bronchus\n + Heart\n + Inferior vena cava\n + Neural foramina\n + Pericardial nodules or pleural effusion (malignant) (ipsilateral, contralateral, bilateral, NOS)\n + Pleural tumor foci or nodules on ipsilateral lung (separate from direct extension) or contralateral lung\n + Rib\n + Separate tumor nodule(s) in contralateral lung\n + Separate tumor nodule(s) in a different ipsilateral lobe \n + Skeletal muscle\n + Skin of chest\n + Sternum\n + Vertebra(e) (vertebral body)\n + Visceral pericardium \n- Distant lymph node(s), NOS\n + IPSILATERAL or CONTRALATERAL\n * Low cervical\n * Proximal root\n * Scalene (inferior deep cervical)\n * Sternal notch\n * Supraclavicular (transverse cervical)\n + CONTRALATERAL/BILATERAL nodes\n * Bronchial\n - Peri/parabronchial\n * Carinal\n * Hilar (bronchopulmonary) (proximal lobar) (pulmonary root) \n - Intrapulmonary \n - Interlobar\n - Lobar\n - Segmental \n - Subsegmental\n * Mediastinal\n - Anterior\n - Aortic (above diaphragm), NOS\n + Peri/para-aortic, NOS\n * Ascending aorta (phrenic)\n + Subaortic (aortic-pulmonary window)\n - Inferior mediastinal \n + Paraesophageal\n + Pulmonary ligament\n + Subcarinal\n - Periesophageal \n - Pericardial\n - Posterior (tracheoesophageal)\n - Precarinal\n - Pretracheal\n - Superior mediastinal\n + Paratracheal (left, right, upper, low, NOS)\n - Azygos (lower paratracheal)\n + Prevascular\n + Retrotracheal\n \n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_35135.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_35135.json deleted file mode 100644 index 050ac9578..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_35135.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "derived_ss2018_lymphoma_35135", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Lymphoma", - "title" : "Derived Summary Stage 2018: Lymphoma", - "subtitle" : "Derived Summary Stage 2018", - "notes" : "e 7.", - "last_modified" : "2024-02-14T22:57:59.076Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only\n\nNodal Lymphomas\n- Single lymph node region involved\n\n - Involvement of multiple nodal chains in the SAME lymph node region\n\nExtranodal Lymphomas\n- Single extralymphatic site \n + WITHOUT nodal involvement (see code 2 for WITH nodal involvement)\n\n- Multifocal involvement of one extralymphatic organ/site (EXCEPT multifocal lung involvement or any liver involvement, see code 7)\n + WITHOUT nodal involvement (see code 7 for WITH nodal involvement)" ], [ "2", "Regional by direct extension only\n\n\nBulky disease present\n\nNodal Lymphomas \n- Two or more lymph node regions involved SAME side of diaphragm\n- Contiguous extension between extralymphatic sites and regional nodes \n + WITH or WITHOUT involvement of other nodal regions on SAME side of diaphragm\n\nExtranodal Lymphomas\n- Localized involvement of a single extralymphatic organ/site \n + WITH involvement of its regional lymph node(s) OR\n + WITH involvement of other lymph node(s) on the SAME side of the diaphragm" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant involvement\n + Diffuse or disseminated involvement of ONE OR MORE extralymphatic organ(s)/site(s) WITH or WITHOUT nodal involvement\n + Involvement of isolated extralymphatic organ in absence of involvement of adjacent lymph nodes, but in conjunction with disease in distant sites\n + Involvement of lymph node regions on BOTH sides of the diaphragm WITH or WITHOUT spleen involvement\n + Involvement of lymph node regions ABOVE the diaphragm WITH spleen involvement\n + Multifocal involvement of one extralymphatic organ/site WITH nodal involvement\n + Noncontiguous extralymphatic organ involvement in conjunction with nodal disease (two or more sites involved)\n- Distant metastasis, NOS\n + Blood/peripheral blood\n + Bone marrow\n + Cerebrospinal fluid (CSF)\n + Liver\n + Lung (other than by direct extension in code 2)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_ocular_adnexa_92324.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_ocular_adnexa_92324.json deleted file mode 100644 index f43e75ab8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_lymphoma_ocular_adnexa_92324.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_lymphoma_ocular_adnexa_92324", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Lymphoma Ocular Adnexa", - "title" : "Derived Summary Stage 2018: Lymphoma Ocular Adnexa", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T22:59:46.846Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only (localized, NOS)\n- Lymphoma involving the conjunctiva alone WITHOUT or UNKNOWN eyelid or orbital involvement\n- Lymphoma with orbital involvement WITH or WITHOUT conjunctival involvement\n- Lymphoma with preseptal eyelid involvement WITH or WITHOUT orbital or conjunctival involvement" ], [ "2", "Regional by direct extension only\n- Orbital adnexal lymphoma AND extraorbital lymphoma extending beyond the orbit to adjacent structures\n + Bone \n + Brain\n + Maxillofacial sinuses" ], [ "3", "Regional lymph node(s) involved only \n- Cervical\n- Parotid\n- Preauricular\n- Regions draining the ocular adnexal structures\n- Submandibular\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n\nCodes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant sites\n + Non-contiguous involvement of other extranodal sites including, but not limited to\n * Breast\n * Gastrointestinal tract\n * Kidney\n * Liver\n * Lung\n * Parotid gland\n * Salivary gland\n * Spleen\n * Submandibular gland\n- Distant lymph node(s), NOS\n + Diffuse OR disseminated involvement of peripheral and central lymph node regions\n + Mediastinum\n- Distant metastasis, NOS\n + Blood/peripheral blood\n + Bone marrow\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_major_salivary_glands_88669.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_major_salivary_glands_88669.json deleted file mode 100644 index e1f6f0f54..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_major_salivary_glands_88669.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_major_salivary_glands_88669", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Major Salivary Glands", - "title" : "Derived Summary Stage 2018: Major Salivary Glands", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:05:11.962Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to gland/duct of origin\n- Confined to parotid gland, NOS\n- Confined to salivary gland, NOS\n- Confined to submandibular gland, NOS\n- Multiple foci confined to substance of parotid gland" ], [ "2", "Regional by direct extension only\n- Extension to another major salivary gland (parotid, sublingual, submandibular, submaxillary)\n- Deep extrinsic muscles (submandibular gland only)\n + Genioglossus\n + Geniohyoid\n + Hyoglossus\n + Mylohyoid \n + Styloglossus\n- Ear canal\n- External auditory meatus (parotid gland only)\n- Facial artery or vein\n- Internal carotid artery (encased)\n- Jugular vein (parotid gland only)\n- Mandible\n- Masseter (parotid gland only)\n- Mastoid/mastoid process (parotid gland only)\n- Maxillary artery\n- Nerves \n + Auricular (parotid gland only)\n + Facial (7th nerve) (submandibular and salivary gland only)\n + Lingual (submandibular and salivary gland only)\n- Periglandular soft/connective tissue (microscopic, macroscopic, NOS)\n- Periosteum of mandible \n- Maxillary artery\n- Pharyngeal mucosa (parotid gland only)\n- Skeletal muscle\n + Digastric\n + Masseter (parotid gland only)\n + Pterygoid\n + Sternocleidomastoid (parotid gland only)\n + Stylohyoid\n- Skin overlying gland (parotid gland only)" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant sites (including further contiguous extension)\n + External auditory meatus (submandibular and salivary gland only)\n + Nerves\n * Facial (7th nerve) (parotid gland only)\n * Lingual (parotid gland only)\n + Pterygoid plates\n + Skin overlying gland (submandibular and salivary gland only) \n + Skull (base, NOS)\n + Spinal accessory nerve\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant mets WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_medulloblastoma_71501.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_medulloblastoma_71501.json deleted file mode 100644 index 97e762de0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_medulloblastoma_71501.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_medulloblastoma_71501", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Medulloblastoma", - "title" : "Derived Summary Stage 2023: Medulloblastoma", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:08:00.654Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only (Localized, NOS)\n\nAll sites\n\n* Single tumor with no invasion or seeding to other structures\n\nConfined to site of origin, NOS\nLocalized, NOS" ], [ "2", "Regional, NOS\n\nTumor crosses the midline" ], [ "7", "Distant site(s)/lymph node(s) involved\n\n* Distant site(s) (including further contiguous extension)\n * All Sites\n * Blood\n * Bone (including skull)\n * Bone marrow\n * \"Drop\" metastasis\n * Extra-neural metastasis, NOS\n * Gross spinal subarachnoid seeing\n * Intracranial spread beyond primary site\n * Major blood vessel(s)\n * Meninges (e.g., dura)\n * Microscopic confirmation of tumor cells present in CSF by cytology (circulating cells in cerebral spinal fluid)\n * Multiple/multifocal tumors\n * Nerves (cranial, NOS)\n * Tumor invades or encroaches upon ventricular system\n * Visible metastasis in cervicomedullary (junction)\n * Brain tumors (C700, C710-C719)\n * Anterior cranial fossa\n * Brain stem\n * Cerebellum\n * Cerebrum (cerebral hemisphere)\n * Contralateral hemisphere\n * Hypothalamus\n * Middle cranial fossa\n * Nasal cavity\n * Nasopharynx\n * Other direct extension outside CNS\n * Pallium\n * Posterior cranial fossa\n * Posterior pharynx\n * Suprasellar brain\n * Tapetum\n * Thalamus\n * CNS Tumors (C701, C709, C720-C729)\n * Adjacent connective tissue\n * Adjacent muscle\n * Brain \n * Eye\n * Sphenoid and frontal sinuses(skull)\n * Pineal Gland (C753)\n * Adjacent connective/soft tissue\n * Cavernous sinus\n * Infratentorial and central brain\n * Distant lymph node(s), NOS\n * Distant metastasis, NOS\n * Carcinomatosis \n * Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "8", "Benign or borderline brain" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_conjunctiva_64436.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_conjunctiva_64436.json deleted file mode 100644 index b79940804..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_conjunctiva_64436.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_melanoma_conjunctiva_64436", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Melanoma Conjunctiva", - "title" : "Derived Summary Stage 2018: Melanoma Conjunctiva", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:11:23.771Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Bulbar conjunctiva tumor with invasion of substantia propria\n- Involvement of caruncle WITH extension to cornea\n- Less than 1 quadrant to greater than 3 quadrant involved\n- Noncaruncular or caruncular tumor with involvement of quadrant(s)\n- Tumor(s) of nonbulbar conjunctiva, NOS WITH or WITHOUT corneal extension" ], [ "2", "Regional by direct extension only\n- Eyelid\n- Globe\n- Lacrimal Sac\n- Local invasion, NOS\n- Nasolacrimal duct\n- Orbit\n- Paranasal sinuses" ], [ "3", "Regional lymph node(s) involved only\n- Cervical, NOS\n- Mandibular, NOS\n + Submandibular (submaxillary)\n- Parotid, NOS\n + Infra-auricular\n + Preauricular\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Brain\n + Sinus\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_head_and_neck_82003.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_head_and_neck_82003.json deleted file mode 100644 index 8340a8168..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_head_and_neck_82003.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_melanoma_head_and_neck_82003", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Melanoma Head and Neck", - "title" : "Derived Summary Stage 2018: Melanoma Head and Neck", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:12:40.898Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to site of origin, NOS\n- Mucosa WITH or WITHOUT soft tissue (immediately underlying)" ], [ "2", "Regional by direct extension only\n- Deep soft tissue involvement \n- Moderately advanced disease, NOS\n- Overlying skin" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Bone\n + Brain\n + Cartilage\n + Carotid artery\n + Deep extrinsic muscle of tongue\n * Genioglossus\n * Hyoglossus\n * Palatoglossus\n * Styloglossus\n + Dura\n + Lower cranial nerves (IX, X, XI, XII)\n + Masticator space\n + Mediastinal structures\n + Prevertebral space\n + Skull base\n + Very advanced disease, NOS\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_skin_34689.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_skin_34689.json deleted file mode 100644 index 86f995694..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_skin_34689.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_melanoma_skin_34689", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Melanoma Skin", - "title" : "Derived Summary Stage 2018: Melanoma Skin", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:15:41.668Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n- Basement membrane of the epidermis is intact\n- In situ, intraepidermal, intraepithelial, noninvasive \n + Clark level I" ], [ "1", "Localized only (localized, NOS)\n- Papillary dermis invaded\n + Clark level II \n- Papillary-reticular dermal interface invaded\n + Clark level III\n- Reticular dermis invaded\n + Clark level IV\n- Skin/dermis, NOS" ], [ "2", "Regional by direct extension only\n- Subcutaneous tissue (through entire dermis)\n + Clark level V" ], [ "3", "Regional lymph node(s) involved only\n- All sites (Single, Multiple, Ipsilateral) (See Code 7 for contralateral or bilateral nodes (except for head and neck skin primaries))\n + Isolated tumor cells (ITCs) WITH or WITHOUT regional lymph node involvement\n + In-transit, satellite, and/or microsatellite metastasis WITH or WITHOUT regional lymph node involvement\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Head and Neck skin primaries only (C000-C002, C006, C440, C442-C444) (includes contralateral and bilateral nodes)\n + Levels I-VII \n + Axillary (neck only, C444)\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial (buccinator, buccal, nasolabial)\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid (infraauricular, intraparotid, periparotid, preauricular)\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Skin of trunk (C445)\n + Upper trunk\n * Axillary\n * Cervical\n * Internal mammary\n * Supraclavicular\n + Lower trunk\n * Superficial inguinal (femoral) \n- Skin of upper limb and shoulder (C446)\n + Axillary\n + Cervical\n + Epitrochlear for hand/forearm\n + Internal mammary (parasternal)\n + Spinal accessory for shoulder\n + Supraclavicular (transverse cervical)\n- Skin of lower limb and hip (C447)\n + Femoral (superficial inguinal)\n + Inguinal\n + Popliteal for heel and calf\n- Vulva (C510-C512, C518-C519)\n + Deep inguinal, NOS\n + Femoral\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Penis (C600-C602, C608-C609)\n + Iliac, NOS\n * External\n * Internal (hypogastric, obturator)\n + Inguinal, NOS\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial [femoral] \n + Pelvic, NOS\n- Scrotum (C632)\n + Iliac, NOS\n * External\n * Internal (hypogastric), NOS\n - Obturator\n + Inguinal, NOS\n * Deep inguinal, NOS\n - Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial inguinal (femoral)" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Bone\n + Central nervous system (CNS)\n + Lung\n + Skeletal muscle (including direct extension)\n + Skin or subcutaneous tissue beyond regional lymph nodes\n + Underlying cartilage\n + Visceral metastasis, NOS\n- Distant lymph node(s), NOS\n + Axillary (lower trunk)\n + Femoral (cephalad/caudal) (upper trunk)\n + Iliac (leg/hip)\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_uvea_22506.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_uvea_22506.json deleted file mode 100644 index 349e16858..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_melanoma_uvea_22506.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_melanoma_uvea_22506", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Melanoma Uvea", - "title" : "Derived Summary Stage 2018: Melanoma Uvea", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:10:07.305Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Choroid and Ciliary Body\n + Any tumor size category WITH or WITHOUT ciliary body involvement\n * WITHOUT or UNKNOWN extraocular extension\n + Limited to choroid or ciliary body, NOS\n- Iris\n + Tumor confluent with or extending into ciliary body, choroid or both\n * WITH or WITHOUT secondary glaucoma unknown\n * WITH scleral extension\n+ Limited to iris, NOS" ], [ "2", "Regional by direct extension only\n- All sites\n + Local invasion, NOS\n- Choroid and Ciliary Body\n + Extraocular extension \n- Iris\n + Extrascleral extension\n\nFurther contiguous extension" ], [ "3", "Regional lymph node(s) involved only\n- Discrete tumor deposits in orbit not contiguous to the eye\n + WITH or WITHOUT positive regional lymph node(s)\n- Cervical, NOS\n- Mandibular, NOS\n + Submandibular (submaxillary)\n- Parotid, NOS\n + Infra-auricular\n + Preauricular \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) \n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_merkel_cell_skin_71353.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_merkel_cell_skin_71353.json deleted file mode 100644 index 8d7521d86..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_merkel_cell_skin_71353.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_merkel_cell_skin_71353", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Merkel Cell Skin", - "title" : "Derived Summary Stage 2018: Merkel Cell Skin", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:16:49.268Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepidermal, intraepithelial, noninvasive" ], [ "1", "Localized only (localized, NOS)\n- Confined to site of origin\n- Lesion(s) confined to dermis\n- Subcutaneous tissue (through entire dermis)" ], [ "2", "Regional by direct extension only\n- Bone\n- Cartilage\n- Fascia\n- Skeletal muscle" ], [ "3", "Regional lymph node(s) involved only\n\n- All sites (Single, Multiple, Ipsilateral) (See Code 7 for contralateral or bilateral nodes (except for head and neck skin primaries))\n + Isolated tumor cells (ITCs) WITH or WITHOUT regional lymph node involvement\n + In-transit mets WITH or WITHOUT regional lymph node involvement\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Head and Neck skin primaries only (C000-C002, C006, C440, C442-C444) (includes contralateral and bilateral nodes)\n + Levels I-VII \n + Axillary (neck only, C444)\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial (buccinator, buccal, nasolabial)\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid (infraauricular, intraparotid, periparotid, preauricular)\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Skin of trunk (C445)\n + Upper trunk\n * Axillary\n * Cervical\n * Internal mammary\n * Supraclavicular\n + Lower trunk\n * Superficial inguinal (femoral) \n- Skin of upper limb and shoulder (C446)\n + Axillary\n + Cervical\n + Epitrochlear for hand/forearm\n + Internal mammary (parasternal)\n + Spinal accessory for shoulder\n + Supraclavicular (transverse cervical)\n- Skin of lower limb and hip (C447)\n + Femoral (superficial inguinal)\n + Inguinal\n + Popliteal for heel and calf\n- Vulva (C510-C512, C518-C519)\n + Deep inguinal, NOS\n + Femoral\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Penis (C600-C602, C608-C609)\n + Iliac, NOS\n * External\n * Internal (hypogastric, obturator)\n + Inguinal, NOS\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial [femoral] \n + Pelvic, NOS\n- Scrotum (C632)\n + Iliac, NOS\n * External\n * Internal (hypogastric), NOS\n - Obturator\n + Inguinal, NOS\n * Deep inguinal, NOS\n - Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial inguinal (femoral)" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Bone\n + Cartilage\n + Fascia\n + Lung\n + Other visceral sites\n + Skeletal muscle (excluding direct extension)\n + Skin or subcutaneous tissue beyond regional lymph nodes\n + Underlying cartilage\n- Distant lymph node(s), NOS\n + Axillary (lower trunk)\n + Femoral (cephalad/caudal) (upper trunk)\n + Iliac (leg/hip)\n + Supraclavicular (head and neck, arm/shoulder)\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_middle_ear_38870.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_middle_ear_38870.json deleted file mode 100644 index 822285758..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_middle_ear_38870.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_middle_ear_38870", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Middle Ear", - "title" : "Derived Summary Stage 2018: Middle Ear", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:18:11.053Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to\n + Auditory bone(s) (incus, malleus, stapes)\n + Vestibulocochlear organ\n * Cochlea\n * Semicircular ducts (ampullae, saccule, utricle)\n * Septum \n * Tympanic membrane (ear drum)" ], [ "2", "Regional by direct extension only\n- Adjacent connective tissue\n + Auditory tube (Eustachian tube, pharyngotympanic tube)\n + Nerve(s)\n- Adjacent organ(s)/structure(s)\n + External auditory meatus (ear canal)\n + Internal carotid artery\n + Mastoid antrum\n + Nasopharynx\n + Temporal bone" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Meninges\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mouth_other_30776.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mouth_other_30776.json deleted file mode 100644 index 37d7558d6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mouth_other_30776.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_mouth_other_30776", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Mouth Other", - "title" : "Derived Summary Stage 2018: Mouth Other", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:19:38.841Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to mouth, NOS\n- Lamina propria\n- Musculature (buccinator)\n- Submucosa" ], [ "2", "Regional by direct extension only\n- Adjacent oral cavity \n- Oropharynx\n + Inferior surface of soft palate\n + Lateral pharyngeal wall\n + Lingual surface of epiglottis\n + Vallecula" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Bone, NOS\n * Cartilage (mandible, maxilla, NOS)\n * Cortical bone (mandible, maxilla, NOS)\n * Trabecular bone (mandible, maxilla, palatine, NOS)\n + Deep (extrinsic) muscle of tongue\n * Genioglossus \n * Hyoglossus \n * Palatoglossus \n * Styloglossus\n + Internal carotid artery (encased)\n + Mandible, NOS\n + Masticator space \n + Maxilla, NOS\n + Maxillary antrum (sinus)\n + Nasal cavity\n + Pterygoid plates \n + Skin of face/neck\n + Skull base\n + Specified bone (other than mandible, maxilla)\n + Tongue\n- Distant lymph node(s)\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mycosis_fungoides_14217.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mycosis_fungoides_14217.json deleted file mode 100644 index 6f3cdf5c0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_mycosis_fungoides_14217.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_mycosis_fungoides_14217", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Mycosis Fungoides", - "title" : "Derived Summary Stage 2018: Mycosis Fungoides", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:20:49.583Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only (localized, NOS)\n- MFCG Stage I\n + Less than 10% of skin surface, no tumors\n + Limited to patches, papules, or plaques\n- MFCG Stage II\n + Greater than or equal to 10% of skin surface, no tumors\n + Generalized patches, papules, or plaques\n- Not stated whether patches, papules, or plaques\n + % of body surface not stated, no tumors\n + Skin involvement, NOS: extent not stated, no tumors" ], [ "2", "Regional by direct extension only\n- MFCG Stage III\n + Cutaneous tumor, size not stated\n + Generalized erythroderma (confluence of erythemia) \n * (greater than 50% of body involved with diffuse redness)\n + One or more tumors equal to 1 cm or greater\n + Sezary syndrome\n + Skin lesion described as tumor less than 1 cm" ], [ "3", "Regional lymph node(s) involved only\n- Both clinically enlarged palpable lymph node(s) (adenopathy) AND\n + pathologically positive nodes\n- Clinically enlarged palpable lymph node(s) (adenopathy) AND\n + either pathologically negative nodes or no pathological statement\n- No clinically enlarged palpable lymph node(s) (adenopathy) BUT\n + pathologically positive lymph node(s)\n- Dutch grade 1-4 OR NCI LN 0-4\n + Clone positive, negative or unknown\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s) involved\n- Distant site(s) (including further contiguous extension)\n + MFCG Stage IV\n * Bone marrow\n * Involvement by at least one organ outside the skin, nodes, blood, or bone marrow\n * Liver\n * Spleen\n * Visceral (non-cutaneous, extranodal) involvement, pathologically confirmed\n- Distant metastasis, NOS \n + Carcinomatosis" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_myeloma_and_plasma_cell_disorders_3894.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_myeloma_and_plasma_cell_disorders_3894.json deleted file mode 100644 index 11476e645..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_myeloma_and_plasma_cell_disorders_3894.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_myeloma_and_plasma_cell_disorders_3894", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Myeloma and Plasma Cell Disorders", - "title" : "Derived Summary Stage 2018: Myeloma and Plasma Cell Disorders", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T14:20:30.741Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only\n- Single plasmacytoma occurring in bone (osseous or medullary) (9731)\n + WITH or WITHOUT soft tissue extension\n- Single plasmacytoma, NOS (9734)\n + Single plasmacytoma occurring outside of bone (extraosseous or extramedullary) (9734)" ], [ "3", "Regional lymph node(s) involved only\n- Extraosseous plasmacytomas only (9734)\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Lymphoplasmacytic lymphoma (9671)\n- Plasma cell myeloma (9732)\n + Multiple myeloma\n + Myeloma, NOS\n + Multiple extraosseous or extramedullary plasmacytomas \n + Multiple osseous or medullary plasmacytomas \n + Multiple plasmacytomas, NOS\n- Waldenstrom Macroglobulinemia (9761)" ], [ "9", "Unknown if extension or metastasis (applicable for 9731 and 9734 only)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasal_cavity_and_paranasal_sinuses_97890.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasal_cavity_and_paranasal_sinuses_97890.json deleted file mode 100644 index 7a5f76d9b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasal_cavity_and_paranasal_sinuses_97890.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_nasal_cavity_and_paranasal_sinuses_97890", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Nasal Cavity and Paranasal Sinuses", - "title" : "Derived Summary Stage 2018: Nasal Cavity and Paranasal Sinuses", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:06:46.115Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Nasal Cavity (C300)\n + Confined to nasal cavity, NOS\n + Invasive tumor confined to one or more of the following subsites WITHOUT bony invasion\n * Floor\n * Lateral wall, including\n + Meatus (superior, middle, inferior) \n + Nasal conchae (superior, middle, inferior)\n * Septum\n * Vestibule (edge of naris to mucocutaneous junction) \n- Maxillary Sinus (C310)\n + Confined to maxillary sinus, NOS\n + Confined to mucosa of maxillary sinus (antrum)\n * WITHOUT erosion or destruction of bone\n- Ethmoid Sinus (C311)\n + Confined to ethmoid sinus \n * WITH or WITHOUT bony invasion (involvement of perpendicular plate of ethmoid bone or ethmoid air cells)" ], [ "2", "Regional by direct extension only\n- All sites\n + Adjacent organs/structures, NOS\n + Base of skull, NOS\n + Nasopharynx\n + Pterygoid plates\n- Nasal Cavity (C300)\n + Confined to one or more subsites listed in code 1 WITH bony invasion\n + Choana\n + Cribriform plate\n + Ethmoid sinus \n + Frontal sinus\n + Hard palate\n + Nasolacrimal duct\n + Palatine bone\n- Maxillary sinus (C310)\n + Bone erosion or destruction\n + Ethmoid sinuses (anterior, posterior, NOS)\n + Floor or medial wall of orbit\n + Floor or posterior wall of maxillary sinus\n + Frontal sinus\n + Hard palate\n + Infratemporal fossa \n + Maxilla, NOS\n + Middle nasal meatus\n + Nasal cavity (floor, lateral wall, septum, turbinates)\n + Orbital contents including eye\n + Palatine bone\n + Pterygoid fossa\n + Pterygomaxillary fossa\n + Soft palate\n + Subcutaneous tissues\n + Temporal fossa\n- Ethmoid Sinus (C311)\n + Confined to both ethmoid sinuses \n * WITH or WITHOUT bony invasion (involvement of perpendicular plate of ethmoid bone or ethmoid air cells)\n + Anterior cranial fossa (minimal extension)\n + Anterior orbital contents\n + Brain\n + Clivus\n + Cranial nerves (other than V2, maxillary division of trigeminal nerve)\n + Cribriform plate\n + Dura\n + Frontal sinus\n + Maxillary sinus\n + Medial wall or floor of orbit\n + Middle cranial fossa\n + Nasal cavity WITH or WITHOUT bony invasion, one or more subsites\n * Floor\n * Lateral wall\n - Meatus (superior, middle, inferior)\n - Nasal conchae (superior, middle, inferior)\n * Septum\n - Turbinates\n * Vestibule (edge of naris to mucocutaneous junction)\n + Orbital apex\n + Orbital plate\n + Skin of cheek\n + Skin of nose\n + Sphenoid sinus" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n - Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n - Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s), see code 7) \n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n - Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s)" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Nasal Cavity (C300)\n * Anterior cranial fossa (minimal extension)\n * Anterior orbital contents\n * Brain\n * Clivus\n * Cranial nerves (other than V2, maxillary division of trigeminal nerve)\n * Dura\n * Maxillary sinus \n * Medial wall or floor of orbit\n * Middle cranial fossa\n * Orbital apex \n * Orbital plate\n * Skin of cheek\n * Skin of nose\n * Sphenoid sinus\n + Ethmoid Sinus (C311)\n * Hard palate\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasopharynx_69453.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasopharynx_69453.json deleted file mode 100644 index b978591d8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_nasopharynx_69453.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_nasopharynx_69453", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Nasopharynx", - "title" : "Derived Summary Stage 2018: Nasopharynx", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:23:13.582Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to nasopharynx, NOS\n- Invasive tumor confined to one of the following subsites\n + Inferior wall (superior surface of soft palate)\n + Lateral wall\n + Posterior superior wall (vault)\n- Involvement of two or more subsites\n + Lateral wall extending into eustachian tube/middle ear\n + Posterior, inferior, or lateral wall(s)" ], [ "2", "Regional by direct extension only\n- Any structure listed in Code 1 WITH fixation \n- Bone, NOS\n- Bony structures of skull base\n- Cartilage, NOS\n- Cervical vertebra\n- Floor of orbit\n- Hard palate\n- Nasal cavity WITHOUT pharyngeal extension\n- Oropharynx\n- Paranasal sinus\n- Pterygoid structures\n- Skull base\n- Soft palate, inferior surface including uvula WITHOUT pharyngeal extension\n- Soft tissue, NOS (excluding soft tissue of neck)" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Brain\n + Cranial nerve involvement \n + Hypopharynx\n + Infratemporal fossa/masticator space\n + Intracranial extension, NOS\n + Orbit except bone of floor of orbit \n + Parotid gland\n + Soft tissues of neck\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant mets WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_orbital_sarcoma_90415.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_orbital_sarcoma_90415.json deleted file mode 100644 index b98ab6c26..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_orbital_sarcoma_90415.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_orbital_sarcoma_90415", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Orbital Sarcoma", - "title" : "Derived Summary Stage 2018: Orbital Sarcoma", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:24:34.026Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only (localized, NOS)\n- Confined to orbit (including soft tissues)" ], [ "2", "Regional by direct extension only\n- Adjacent paranasal sinuses\n- Bony walls\n- Conjunctiva\n- Cranium\n- Diffuse invasion of orbital tissue and bony walls\n- Globe\n- Orbital tissues (excluding orbit primary site)\n- Periorbital structures" ], [ "3", "Regional lymph node(s) involved only\n- Cervical, NOS\n- Mandibular, NOS\n + Submandibular (submaxillary)\n- Parotid, NOS\n + Infra-auricular\n + Preauricular\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Central nervous system\n + Eyelid(s)\n + Nasal cavity\n + Temporal fossa\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_oropharynx_79318.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_oropharynx_79318.json deleted file mode 100644 index 56737db9c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_oropharynx_79318.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_oropharynx_79318", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Oropharynx", - "title" : "Derived Summary Stage 2018: Oropharynx", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:25:56.813Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- All sites\n + Confined to site of origin\n + Epiglottis, lingual surface\n- Oropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n + Base of tongue (including lingual tonsil)\n + Tonsil (palatine, NOS)\n + Tonsillar pillar/fossa\n + Wall (anterior [including vallecular], lateral, posterior)\n- Pharyngeal Tonsil (C111)\n + Adenoid \n + Nasopharynx (inferior wall, superior surface of soft palate)\n + Pharyngeal tonsil (nasopharyngeal tonsil) \n + Posterior superior wall (vault)\n- Soft Palate (C051, C052) \n + Lamina propria, submucosa, musculature\n + Tumor crosses midline\n- Tongue Base (C019, C024)\n + Base of tongue for lingual tonsil\n + Lamina propria, submucosa, musculature (intrinsic)\n + Lingual tonsil for base of tongue\n + Tumor crosses midline" ], [ "2", "Regional by direct extension only\n- All sites\n + Epiglottis, lingual surface plus both lateral walls through soft palate or base of tongue\n + Epiglottis WITH fixation\n\n- Oropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n + Buccal mucosa\n + Floor of mouth\n + Gum (gingiva)\n + Hypopharynx\n + Larynx, NOS\n + Lateral walls (both) through soft palate or base of tongue\n + Posterior surface of epiglottis\n + Prevertebral fascia/muscle\n + Pyriform sinus\n + Soft palate (inferior surface including uvula, superior [nasopharyngeal] surface, NOS)\n + Soft tissue of neck\n- Pharyngeal Tonsil (C111)\n + Hard palate\n + Mandible\n + Nasal cavity\n + Oropharynx\n + Paranasal sinuses\n + Pterygopalatine fossa \n + Soft palate, inferior surface including uvula\n- Soft Palate (C051, C052)\n + Buccal mucosa (inner cheek)\n + Gum (gingiva), upper\n + Hard palate\n + Lateral pharyngeal wall\n + Mandible\n + Tonsils, including tonsillar pillars and fossae\n- Tongue Base (posterior 1/3 of tongue) (C019, C024)\n + Anterior two-thirds of tongue for base of tongue\n + Floor of mouth\n + Glossoepiglottic fold\n + Glossopharyngeal sulcus\n + Lateral pharyngeal wall\n + Lower gingiva\n + Pharyngoepiglottic fold\n + Soft palate, inferior surface or NOS including uvula\n + Sublingual gland\n + Tonsil, tonsillar pillars and fossae" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s), see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + All sites\n * Carotid artery (encasing)\n * Deep/extrinsic muscles of tongue\n - Genioglossus\n - Hyoglossus\n - Mylohyoid \n - Palatoglossus\n - Styloglossus\n * Lateral nasopharynx\n * Masseter muscle\n * Masticator space\n - Cranial nerve V-third division\n - Muscles of mastication\n - Pterygoid muscle (lateral, medial)\n - Ramus of mandible\n - Temporalis muscles\n * Parapharyngeal extension (pharyngeal space invasion)\n * Pterygoid plates\n * Skull (base, bone, NOS)\n + Oropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n * Anterior 2/3 of tongue\n * Hard palate\n * Mandible\n * Parotid gland\n + Pharyngeal Tonsil (C111)\n * Brain\n * Cranial nerve involvement\n * Hypopharynx\n * Infratemporal fossa/masticator space\n * Orbit (floor, NOS)\n * Soft tissues of neck\n + Soft palate (C051, C052)\n * Hypopharynx\n * Maxilla \n * Maxillary sinus (antrum)\n * Nasal cavity\n * Nasopharynx (lateral, NOS)\n * Palatine bone (bone of hard palate)\n * Tongue\n + Tongue Base (posterior 1/3 of tongue) (C019, C024)\n * Hard palate\n * Hypopharynx\n * Larynx\n * Mandible \n * Skin\n- Distant lymph node(s)\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant mets WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ovary_and_primary_peritoneal_carcinoma_26044.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ovary_and_primary_peritoneal_carcinoma_26044.json deleted file mode 100644 index 675bf24ed..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_ovary_and_primary_peritoneal_carcinoma_26044.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_ovary_and_primary_peritoneal_carcinoma_26044", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Ovary and Primary Peritoneal Carcinoma", - "title" : "Derived Summary Stage 2018: Ovary and Primary Peritoneal Carcinoma", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:28:27.470Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial\n- Limited to ovarian mucosa\n- Preinvasive\n- Serous tubal intraepithelial carcinoma (STIC) (8441/2)" ], [ "1", "Localized only (localized, NOS)\n\nLimited to one or both ovaries WITH capsule intact\nLimited to one or both ovaries WITH or WITHOUT surgical spill\n\nLimited to one or both ovaries WITHOUT or UNKNOWN\n* Tumor on ovarian surface\n* Malignant cells in ascites or peritoneal washings\n\nConfined to ovary, NOS\nLocalized, NOS \n\nLocalized primary peritoneal cancer\n + (Primary sites C481, C482, C488)\n\nFIGO Stage I (IA, IB, IC1, I NOS)" ], [ "2", "Regional by direct extension only\n\nLimited to one or both ovaries WITH\n* Tumor on ovarian surface\n* Malignant cells in ascites or peritoneal washings\n* Pelvic extension, NOS (below pelvic brim)\n\nExtension to and/or discontinuous metastasis to any of the following\n* Adnexa\n* Adjacent (pelvic) peritoneum\n* Bladder\n* Bladder serosa\n* Corpus uteri\n* Cul de sac (rectouterine pouch)\n* Fallopian tube(s)\n* Ligament(s) (broad, ovarian, round, suspensory)\n* Mesosalpinx (Mesovarium)\n* Parametrium\n* Pelvic wall\n* Rectosigmoid\n* Rectum\n* Sigmoid colon (including sigmoid mesentery)\n* Ureter (pelvic portion)\n * Uterus, NOS\n\nFIGO Stage IC2, IC3\nFIGO Stage II (IIA, IIB, II NOS)" ], [ "3", "Regional lymph node(s) involved only\n\n- Intrabdominal \n- Para-aortic, NOS\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n- Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n- Retroperitoneal, NOS\n- Subdiaphragmatic (primary peritoneal carcinoma)\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS\n\nFIGO Stage IIIA1 (IIA1i, IIIA1ii, IIIA1 NOS)\n* Localized tumor WITH regional lymph node involvement" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n * Abdominal mesentery\n * Diaphragm\n * Gallbladder\n * Intestine, large (except rectum, rectosigmoid and sigmoid colon, see code 2)\n * Kidneys\n * Liver (capsular or parenchymal involvement)\n * Omentum (infracolic, NOS)\n * Pancreas\n * Pericolic gutter\n * Peritoneum, NOS\n * Peritoneal implants beyond pelvis\n * Pleural effusion with positive cytology\n * Small intestine\n * Spleen (capsular or parenchymal involvement)\n * Stomach\n * Ureters (outside pelvis)\n- Distant lymph node(s), NOS\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Distant metastasis, NOS\n * Carcinomatosis (involvement of multiple parenchymal organs)\n + WITH or WITHOUT distant lymph node(s) OR pleural effusion\n * Distant metastasis WITH or WITHOUT distant lymph node(s)\n\nFIGO Stage III (IIIA, IIIA2, IIIB, IIIC, III NOS)\nFIGO Stage IV (IVA, IVB, IV NOS)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_palate_hard_38646.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_palate_hard_38646.json deleted file mode 100644 index e12053955..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_palate_hard_38646.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_palate_hard_38646", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Palate Hard", - "title" : "Derived Summary Stage 2018: Palate Hard", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:30:24.856Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to hard palate, NOS\n- Crosses midline\n- Invasive tumor on one side confined to mucoperiosteum (stroma)" ], [ "2", "Regional by direct extension only\n- Bone, NOS\n + Cortical bone (maxilla, palatine, NOS)\n + Maxilla, NOS\n + Palatine bone, NOS\n + Trabecular bone (maxilla, palatine)\n- Buccal mucosa (inner cheek)\n- Cortical bone (mandible, maxilla, NOS)\n- Gingiva, upper\n- Glossopalatine arch\n- Pharyngopalatine arch\n- Soft palate including uvula" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Deep (extrinsic) muscle of tongue\n * Genioglossus \n * Hyoglossus\n * Palatoglossus\n * Styloglossus\n + Floor of nose\n + Internal carotid artery (encased)\n + Mandible\n + Masticator space\n + Maxillary sinus (antrum)\n + Nasal cavity\n + Nasopharynx\n + Pterygoid plates\n + Skin of face\n + Skull base\n + Specified bone (other than mandible, maxilla)\n + Sphenoid bone\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pancreas_85813.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pancreas_85813.json deleted file mode 100644 index 8aeb9655c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pancreas_85813.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_pancreas_85813", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Pancreas", - "title" : "Derived Summary Stage 2018: Pancreas", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T23:32:57.189Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n- High-grade pancreatic intraepithelial neoplasia (PanIn-3)\n- Intraductal papillary mucinous neoplasm with high grade dysplasia\n- Intraductal tubulopapillary neoplasm with high grade neoplasm\n- Mucinous cystic neoplasm with high-grade dysplasia" ], [ "1", "Localized only (localized, NOS)\n- Confined to pancreas" ], [ "2", "Regional by direct extension only\n- All sites\n + Ampulla of Vater\n + Blood vessel(s) (major)\n * Aortic artery\n * Celiac artery\n * Common hepatic artery\n * Further contiguous extension to other major arteries\n * Portal vein\n * Superior mesenteric artery/vein\n + Duodenum\n + Extrahepatic bile duct(s)\n + Fixation to adjacent structure(s), NOS\n + Peripancreatic tissue, NOS\n + Stomach\n- Pancreas Head (C250)\n + Adjacent stomach\n + Blood vessel(s) (major)\n * Gastroduodenal artery\n + Transverse colon, including hepatic flexure\n- Pancreas Body Tail (C251, C252)\n + Spleen\n + Splenic artery/vein\n + Splenic flexure" ], [ "3", "Regional lymph node(s) involved only\n- All sites\n + Anterior, NOS\n + Common hepatic artery\n + Hepatic, NOS\n + Inferior to head and body of pancreas\n + Lateral aortic (lumbar)\n + Pancreaticoduodenal (anterior, posterior)\n + Peripancreatic, NOS\n + Posterior, NOS\n + Proximal mesentery (anterior, posterior)\n + Retroperitoneal\n + Superior mesenteric\n + Superior to head and body of pancreas\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Pancreas Head (C250)\n + Common bile duct (pericholedochal)\n + Lateral wall (right)\n + Portal vein\n + Pyloric (infrapyloric, retropyloric, subpyloric, suprapyloric)\n + Pyloric, NOS\n- Pancreas Body Tail (C251, C252)\n + Gastroepiploic (gastro-omental, left)\n + Pancreaticosplenic (pancreaticolineal)\n + Splenic (artery, hilum, lineal)\n + Suprapancreatic\n- Pancreas Other (C253-C254, C257-C259)\n + Celiac\n + Common bile duct (pericholedochal)\n + Gastroepiploic (gastro-omental)\n + Lateral wall right\n + Pancreaticosplenic (pancreaticolienal) \n + Portal vein\n + Pyloric (infrapyloric, retropyloric, subpyloric, suprapyloric, NOS)\n + Splenic (artery, hilum, lineal)\n + Suprapancreatic" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension to other organs)\n + All sites\n * Adrenal gland/suprarenal gland\n * Gallbladder\n * Kidney\n * Liver, including porta hepatis\n * Mesenteric fat\n * Mesentery\n * Mesocolon\n * Peritoneum\n * Retroperitoneum\n * Small intestine (excluding duodenum)\n * Ureter\n + Pancreas Head (C250)\n * Colon (other than transverse colon including hepatic flexure)\n * Omentum\n * Spleen\n + Pancreas Body Tail (C251, C252)\n * Colon (other than splenic flexure)\n * Diaphragm\n- Distant lymph node(s), NOS\n + Pancreas Head (C250)\n * Celiac\n * Gastroepiploic (gastro-omental), left\n * Pancreaticosplenic (pancreaticolienal)\n * Splenic (artery, hilum, lineal)\n * Suprapancreatic\n + Pancreas Body Tail (C251, C252)\n * Celiac\n * Common bile duct (pericholedochal)\n * Lateral wall (right)\n * Porta hepatic\n * Portal vein\n * Pyloric (infrapyloric, retropyloric, subpyloric, suprapyloric, NOS)\n- Distant metastasis, NOS \n + Carcinomatosis\n + Distant metastasis except distant lymph node(s) \n + Seeding of peritoneum, even if limited to the lesser sac region\n + Positive peritoneal cytology" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_parathyroid_93552.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_parathyroid_93552.json deleted file mode 100644 index db14f420a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_parathyroid_93552.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_parathyroid_93552", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Parathyroid", - "title" : "Derived Summary Stage 2018: Parathyroid", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T14:11:57.184Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n- Atypical parathyroid neoplasm (neoplasm of uncertain malignant potential)" ], [ "1", "Localized only (localized, NOS)\n- Confined to parathyroid \n- Extension to soft tissue" ], [ "2", "Regional by direct extension only\n- Adjacent lymph nodes\n- Esophagus\n- Recurrent laryngeal nerve\n- Thymus\n- Thyroid gland\n- Trachea\n- Skeletal muscle" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Bone\n + Diaphragm\n + Liver\n + Lung\n + Pancreas\n + Spleen\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_penis_70064.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_penis_70064.json deleted file mode 100644 index a5da0c193..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_penis_70064.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_penis_70064", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Penis", - "title" : "Derived Summary Stage 2018: Penis", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T14:15:36.829Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n- Bowen disease\n- Carcinoma in situ (Penile intraepithelial neoplasia [PeIN])\n- Erythroplasia of Queyrat\n- Noninvasive localized squamous cell carcinoma\n- Noninvasive verrucous carcinoma\n- Verrucous carcinoma, NOS" ], [ "1", "Localized only (localized, NOS)\n- Confined to penis\n + WITH or WITHOUT perineural and/or lymphovascular invasion\n- Dartos fascia (foreskin)\n- Dermis (foreskin)\n- Lamina propria (glans and foreskin)\n- Subepithelial connective tissue (shaft)\n- Verrucous carcinoma, NOS" ], [ "2", "Regional by direct extension only\n- Corpus (cavernosum or spongiosum, including tunica albuginea) \n + WITH or WITHOUT urethral invasion\n- Muscle, NOS\n + Bulbospongiosus\n + Ischiocavernosus\n + Superficial transverse perineal\n- Prostate\n- Pubic bone\n- Scrotum\n- Skin (abdominal, perineum)" ], [ "3", "Regional lymph node(s) involved only\n- Iliac, NOS\n + External\n + Internal (hypogastric, obturator)\n * Inguinal, NOS\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial [femoral] \n + Pelvic, NOS\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Testis\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pharynx_other_63252.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pharynx_other_63252.json deleted file mode 100644 index 3ced9e8fd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pharynx_other_63252.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_pharynx_other_63252", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Pharynx Other", - "title" : "Derived Summary Stage 2018: Pharynx Other", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T14:17:05.405Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Invasive tumor confined to site of origin" ], [ "2", "Regional by direct extension only\n- Extension to adjacent structure(s)\n- Fixation \n- More than one region of pharynx involved\n + Hypopharynx\n + Nasopharynx\n + Oropharynx\n- Pharynx and oral cavity involved" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Meninges\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_placenta_6507.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_placenta_6507.json deleted file mode 100644 index 1e3586512..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_placenta_6507.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_placenta_6507", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Placenta", - "title" : "Derived Summary Stage 2018: Placenta", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T14:18:37.672Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive" ], [ "1", "Localized only (localized, NOS)\n\n* Confined to placenta\n\nFIGO Stage I" ], [ "2", "Regional by direct extension only\n\n* Adjacent connective tissue, NOS\n* Cervix\n* Corpus uteri\n * Other genital structure(s) by DIRECT EXTENSION or NOS\n + Broad ligament\n + Fallopian tube(s)\n + Genital structure(s), NOS\n + Ovary(ies)\n + Vagina\n* Uterus, NOS\n\nFIGO Stage II" ], [ "3", "Regional lymph node(s) involved only\n- Aortic, NOS\n + Lateral (lumbar)\n + Para-aortic\n + Peri-aortic\n- Iliac, NOS\n + Common\n + External\n + Internal (hypogastric), NOS\n * Obturator\n- Parametrial\n- Pelvic, NOS\n- Sacral\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Other genital structure(s) by METASTASIS\n * Broad ligament \n * Cervix uteri\n * Corpus uteri\n * Fallopian tube(s)\n * Genital structure(s), NOS\n * Ovary(ies)\n * Uterus, NOS\n * Vagina\n- Distant lymph node(s), NOS\n + Superficial inguinal (femoral)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)\n\nFIGO Stage III, IV" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pleural_mesothelioma_74611.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pleural_mesothelioma_74611.json deleted file mode 100644 index f1d81788b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_pleural_mesothelioma_74611.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_pleural_mesothelioma_74611", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Pleural Mesothelioma", - "title" : "Derived Summary Stage 2018: Pleural Mesothelioma", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T14:23:08.522Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive" ], [ "1", "Localized only (localized, NOS)\n- Confined to pleura, NOS\n- Invasive tumor (mesothelioma) confined to pleura, NOS \n- Ipsilateral parietal pleura WITH or WITHOUT involvement of\n + Diaphragmatic pleural\n + Mediastinal pleura \n + Parietal pleura\n + Visceral pleura" ], [ "2", "Regional by direct extension only\n- Adjacent (connective) tissue, NOS\n- Chest wall \n- Confluent visceral pleural tumor (including any involvement of interlobar fissure)\n- Diaphragmatic muscle\n- Endothoracic fascia\n- Ipsilateral pleural surfaces all involved \n + Diaphragmatic, parietal, mediastinal, and visceral\n- Lung parenchyma, or lung involvement, NOS\n- Mediastinal fat (mediastinal tissues)\n- Mediastinal organs (direct extension)\n- Nodule(s) beneath visceral pleural surface (ipsilateral pleura)\n- Pericardium (extension through the internal surface) (non-transmural, NOS) WITHOUT pericardial effusion\n- Pulmonary parenchyma (visceral pleural extension)\n- Rib" ], [ "3", "Regional lymph node(s) involved only\n- Aortic (above diaphragm), NOS\n + Ascending aorta (phrenic)\n + Peri/para-aortic\n + Subaortic (aortico-pulmonary window)\n- Carinal (tracheobronchial) (tracheal bifurcation)\n- Hilar (ipsilateral)\n + Bronchopulmonary\n + Proximal lobar\n + Pulmonary root\n- Intercostal\n- Internal mammary (parasternal)\n- Intrapulmonary\n + Interlobar\n + Lobar\n + Segmental\n + Subsegmental\n- Mediastinal, NOS (ipsilateral)\n + Anterior\n + Posterior (tracheoesophageal)\n- Pericardial\n- Peri/parabronchial\n- Peri/paraesophageal (below carina)\n- Peri/paratracheal (lower [azygos], upper, NOS)\n- Pretracheal and retrotracheal (precarinal), NOS\n- Prevascular\n- Pulmonary ligament\n- Subcardial\n- Subcarinal\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Brachial plexus\n + Cervical (neck) tissues\n + Contralateral lung\n + Contralateral pleura (direct contiguous extension)\n + Contralateral pleura/chest wall (discontinuous involvement)\n + Heart muscle\n + Intra-abdominal organs\n + Mediastinal organs (discontinuous involvement)\n + Mesothelioma WITH malignant pleural fluid\n + Pericardial effusion, malignant\n + Pericardium WITH pericardial effusion\n + Peritoneum (direct transdiaphragmatic extension of tumor)\n + Peritoneum (discontinuous extension of tumor)\n + Pleural effusion (see Note 2)\n + Spine\n- Distant lymph node(s), NOS\n + Hilar (contralateral, bilateral)\n * Bronchopulmonary\n * Proximal lobar\n * Pulmonary root\n + Mediastinal (contralateral, bilateral)\n * Anterior\n * Posterior (tracheoesophageal)\n + Peridiaphragmatic (ipsilateral, contralateral)\n * Mediastinal\n + Scalene (ipsilateral, contralateral) \n * Inferior deep cervical\n + Supraclavicular (ipsilateral or contralateral)\n * Transverse cervical\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_primary_cutaneous_lymphomas_45083.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_primary_cutaneous_lymphomas_45083.json deleted file mode 100644 index fd2383e0e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_primary_cutaneous_lymphomas_45083.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_primary_cutaneous_lymphomas_45083", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Primary Cutaneous Lymphomas (excluding MF and SS)", - "title" : "Derived Summary Stage 2018: Primary Cutaneous Lymphomas (excluding MF and SS)", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T14:24:45.240Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only\n- Solitary lesion\n- Solitary skin involvement" ], [ "2", "Regional by direct extension only\n- Multiple lesions confined to one or two contiguous body regions\n- Multiple lesions, NOS\n- Regional skin involvement" ], [ "3", "Regional lymph node(s) involved only \n- Central\n- Peripheral node region that drains an area of current or prior skin involvement \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Blood/peripheral blood\n + Bone marrow\n + Extracutaneous non-lymph node disease present\n + Generalized skin involvement\n + Multiple lesions confined to discontiguous body regions\n + Multiple lesions confined to three or more contiguous body regions\n + Visceral (non-cutaneous) metastasis\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_prostate_48792.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_prostate_48792.json deleted file mode 100644 index 33ab10e92..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_prostate_48792.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_prostate_48792", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Prostate", - "title" : "Derived Summary Stage 2018: Prostate", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T15:47:12.897Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive" ], [ "1", "Localized only (localized, NOS)\n- Clinically apparent or inapparent tumor \n- Confined to prostate, NOS\n- Intracapsular involvement only\n- Invasion into (but not beyond) prostatic capsule\n- No extracapsular extension\n- One or more lobes involved" ], [ "2", "Regional by direct extension only\n- Bladder neck\n- Bladder, NOS\n- External sphincter\n- Extraprostatic/extracapsular extension (beyond prostate capsule), unilateral, bilateral, NOS\n- Extraprostatic urethra (membranous urethra)\n- Fixation, NOS\n- Levator muscles\n- Periprostatic tissue\n- Rectovesical (Denonvillier's) fascia\n- Rectum\n- Seminal vesicles\n- Skeletal muscle\n- Through capsule, NOS\n- Ureter(s)" ], [ "3", "Regional lymph node(s) involved only \n- Hypogastric\n- Iliac, NOS\n + External\n + Internal (hypogastric) (obturator), NOS\n- Pelvic, NOS\n- Periprostatic\n- Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontory) (Gerota's node)\n + Presacral \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Bone\n + Extension to or fixation to pelvic wall or pelvic bone\n + \"Frozen pelvis\", NOS \n + Other organs\n + Penis\n + Sigmoid colon\n + Soft tissue other than periprostatic\n- Distant lymph node(s), NOS\n + Aortic (lateral [lumbar], para-aortic, periaortic, NOS)\n + Cervical\n + Common iliac\n + Inguinal (deep, NOS)\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial (femoral)\n + Retroperitoneal, NOS\n + Scalene (inferior deep cervical)\n + Supraclavicular (transverse cervical)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_respiratory_other_17734.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_respiratory_other_17734.json deleted file mode 100644 index 4d7ba16f8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_respiratory_other_17734.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_respiratory_other_17734", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Respiratory Other", - "title" : "Derived Summary Stage 2018: Respiratory Other", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T15:48:50.177Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive" ], [ "1", "Localized only (localized, NOS)\n- Confined to site of origin" ], [ "2", "Regional by direct extension only\n- Adjacent connective tissue\n- Adjacent organ(s)/structure(s)\n + Descending aorta\n + Esophagus\n + Large (named) artery(ies)\n + Large (named) vein(s)\n + Pericardium (parietal, visceral [pericardium]) \n + Phrenic nerve(s)\n + Pleura (parietal, visceral, NOS)\n + Sternum\n + Sympathetic nerve trunk(s)\n + Thoracic duct\n + Thymus\n + Trachea\n + Vertebra(e)" ], [ "3", "Regional lymph node(s) involved only\n- Aortic (above diaphragm), NOS\n + Peri/para-aortic, NOS\n * Ascending aorta (phrenic)\n * Subaortic (aortico-pulmonary window)\n- Carinal (tracheobronchial) (tracheal bifurcation)\n- Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n- Intrapulmonary, NOS\n + Interlobar\n + Lobar\n + Segmental\n + Subsegmental\n - Mediastinal, NOS\n + Anterior\n + Posterior (tracheoesophageal)\n- Peri/parabronchial\n- Pericardial\n- Peri/paraesophageal\n- Peri/paratracheal, NOS\n + Azygos (lower peritracheal)\n- Pre- and retrotracheal, NOS:\n + Precarinal\n- Pulmonary ligament\n- Subcarinal\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retinoblastoma_10326.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retinoblastoma_10326.json deleted file mode 100644 index 4d2c864cc..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retinoblastoma_10326.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_retinoblastoma_10326", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018:Retinoblastoma", - "title" : "Derived Summary Stage 2018: Retinoblastoma", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T15:52:40.624Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only (localized, NOS)\n- Confined to retina, NOS\n- Intraocular tumor(s) WITH local invasion, NOS\n + Choroid (concomitant focal invasion)\n + Pre- or intralaminar involvement of optic nerve head\n + Retinal detachment\n + Schlemm's canal\n + Stromal invasion iris\n + Subretinal seeding\n + Trabecular meshwork \n + Vitreous seeding\n- Advanced intraocular tumor(s) WITH significant local invasion\n + Anterior chamber\n + Aseptic orbital cellulitis\n + Buphthalmos\n + Choroid (multiple foci, focal, full-thickness involvement)\n + Ciliary body\n + Emissary channels\n + Hyphema AND/OR massive vitreous hemorrhage\n + Iris\n + Lens\n + Pars plana\n + Phthisis or pre-phthisis bulbi\n + Raised intraocular pressure with neovascularization \n + Retrolaminar invasion of optic nerve head\n + Sclera\n + Zonules" ], [ "2", "Regional by direct extension only\n- Extraocular tumor\n + Adjacent adipose tissue\n + Bone\n + Conjunctiva\n + Episclera\n + Extraocular muscle\n + Eyelids\n + Meningeal spaces (around optic nerve)\n + Optic nerve (clinical thickening)\n + Optic nerve (retrobulbar, extraocular) \n + Orbit\n + Orbital tissue (includes clinical orbital tissue thickening)" ], [ "3", "Regional lymph node(s) involved only\n- Cervical, NOS\n- Mandibular, NOS\n + Submandibular (submaxillary)\n- Parotid\n + Infra-auricular\n + Preauricular\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Cerebrospinal fluid\n + CNS parenchyma\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retroperitoneum_11521.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retroperitoneum_11521.json deleted file mode 100644 index eb04519ba..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_retroperitoneum_11521.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_retroperitoneum_11521", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Retroperitoneum", - "title" : "Derived Summary Stage 2018: Retroperitoneum", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T16:15:31.152Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only (localized, NOS)\n- Confined to site of origin" ], [ "2", "Regional by direct extension only\n- Adjacent connective tissue, NOS\n- Adjacent organs/structures, NOS\n- Bone/cartilage \n- Retroperitoneum (C480)\n + Adrenal(s) (suprarenal gland(s))\n + Aorta\n + Colon (ascending and descending)\n + Kidney(s)\n + Pancreas\n + Vena cava\n + Vertebra\n- Peritoneum (C481, C482, C488)\n + Colon (except ascending and descending colon)\n + Esophagus\n + Gallbladder\n + Liver\n + Small intestine\n + Spleen\n + Stomach" ], [ "3", "Regional lymph node(s) involved only\n- Intra-abdominal\n- Paracaval\n- Pelvic\n- Subdiaphragmatic \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Peritoneum (C481, C482, C488)\n * Colon (ascending and descending colon) \n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant mets WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_sinus_other_893.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_sinus_other_893.json deleted file mode 100644 index 503aea9bf..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_sinus_other_893.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_sinus_other_893", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Sinus Other", - "title" : "Derived Summary Stage 2018: Sinus Other", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T16:16:58.185Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to mucosa of one of the following\n + Frontal sinus\n + Sphenoid sinus" ], [ "2", "Regional by direct extension only\n- Accessory sinuses invaded (more than one)\n + Destruction of bony wall of sinus\n- Bone, cartilage\n + Facial bones\n + Maxilla\n + Orbital structures\n + Pterygoid fossa\n + Zygoma\n- Brain\n- Cranial nerves\n- Hard palate\n- Muscles\n + Masseter\n + Pterygoid \n- Nasal cavity\n + Floor\n + Lateral wall\n + Nasal cavity, NOS\n + Septum\n + Turbinates\n- Nasopharynx\n- Orbital contents, including eye\n- Soft tissue\n- Skin" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Meninges\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_except_eyelid_95559.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_except_eyelid_95559.json deleted file mode 100644 index eb962ac30..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_except_eyelid_95559.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_skin_except_eyelid_95559", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Skin (except Eyelid)", - "title" : "Derived Summary Stage 2018: Skin (except Eyelid)", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:11:46.921Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepidermal, intraepithelial, noninvasive\n- Carcinoma in situ" ], [ "1", "Localized only (localized, NOS)\n- Lesion(s) confined to dermis\n- Subcutaneous tissue (through entire dermis)" ], [ "2", "Regional by direct extension only\n- All Sites\n + Bone\n + Cartilage\n + Skeletal muscle\n + Underlying cartilage\n- Head and Neck skin primaries only (C000-C002, C006, C440, C442-C444)\n + Bone erosion (minor or NOS)\n + Deep invasion\n + Gross cortical bone/marrow\n + Mandible\n + Maxilla\n + Orbital bone\n + Perineural invasion\n + Skull base foramen \n + Skull base invasion\n + Temporal bone" ], [ "3", "Regional lymph node(s) involved only\n- All sites (Single, Multiple, Ipsilateral) (See Code 7 for contralateral or bilateral nodes (except for head and neck skin primaries))\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Head and Neck skin primaries only (C000-C002, C006, C440, C442-C444) (includes contralateral and bilateral nodes)\n + Levels I-VII \n + Axillary (neck only, C444)\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial (buccinator, buccal, nasolabial)\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid (infraauricular, intraparotid, periparotid, preauricular)\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Skin of trunk (C445)\n + Upper trunk\n * Axillary\n * Cervical\n * Internal mammary\n * Supraclavicular\n + Lower trunk\n * Superficial inguinal (femoral) (lower trunk only)\n- Skin of upper limb and shoulder (C446)\n + Axillary\n + Cervical\n + Epitrochlear for hand/forearm\n + Internal mammary (parasternal)\n + Spinal accessory for shoulder\n + Supraclavicular (transverse cervical)\n- Skin of lower limb and hip (C447)\n + Femoral (superficial inguinal)\n + Inguinal\n + Popliteal for heel and calf" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_eyelid_74710.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_eyelid_74710.json deleted file mode 100644 index b049f4c28..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_skin_eyelid_74710.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_skin_eyelid_74710", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Skin Eyelid", - "title" : "Derived Summary Stage 2018: Skin Eyelid", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T16:18:26.458Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n- Bowen disease" ], [ "1", "Localized only (localized, NOS)\n- Eyelid margin\n- Full thickness of eyelid\n- Lesion(s) confined to dermis\n- Minimal infiltration of dermis\n- Subcutaneous tissue (through entire dermis)\n- Underlying orbicularis muscle\n- Tarsal plate\n- Tarsus" ], [ "2", "Regional by direct extension only\n- Adjacent structures, NOS\n- Bone/periosteum of orbit\n- Bony walls of orbit (invades or evades through)\n- Bulbar conjunctiva\n- Intraorbital structures, NOS\n- Lacrimal sac\n- Ocular structures\n- Sclera\n- Skeletal muscles (except orbicularis muscle of eyelid)\n- Soft tissues of orbit\n- Underlying cartilage" ], [ "3", "Regional lymph node(s) involved only\n- Buccinator (buccal)\n- Cervical, NOS\n- Facial, NOS\n- Intraparotid\n- Nasolabial\n- Parotid\n + Infra-auricular\n + Preauricular\n- Submandibular [submaxillary]\n- Submental\n- Supraclavicular, NOS \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Brain\n + Central nervous system (CNS)\n + Nasal cavity\n + Nasolacrimal duct\n + Other craniofacial structures\n + Paranasal sinus\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s), NOS\n + Metastatic skin lesions with or without distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_small_intestine_48854.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_small_intestine_48854.json deleted file mode 100644 index da8689ab4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_small_intestine_48854.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_small_intestine_48854", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Small Intestine", - "title" : "Derived Summary Stage 2018: Small Intestine", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T16:20:46.907Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n- (Adeno)carcinoma, noninvasive, in a polyp or adenoma" ], [ "1", "Localized only (localized, NOS)\n- Confined to small intestine, NOS\n- Extension through wall, NOS\n- Intraluminal spread to other segments of small intestine or cecum\n- Invasion of\n + Intramucosa, NOS\n + Lamina propria\n + Mucosa, NOS\n + Muscularis mucosae\n + Muscularis, NOS\n + Muscularis propria\n + Submucosa (superficial invasion)\n- Polyp (head, stalk, NOS)\n- Subserosal tissue/(sub)serosal fat invaded\n- Transmural, NOS \n- Wall, NOS" ], [ "2", "Regional by direct extension only\n- All sites\n + Abdominal wall (via serosa)\n + Adjacent organ(s)/structure(s)\n + Adjacent tissue(s) (connective), NOS\n + Fat, NOS\n + Mesenteric fat\n + Mesentery (adjacent loops of bowel)\n + Mesothelium\n + Nonperitonealized perimuscular tissue\n + Other loops of small intestine\n + Other segments of small intestine (via serosa)\n + Retroperitoneum\n + Serosa\n + Tunica serosa\n + Visceral peritoneum\n- Duodenum (C170)\n + Ampulla of Vater \n + Blood vessel(s), major\n * Aorta\n * Gastroduodenal artery\n * Portal vein\n * Renal vein\n * Superior mesenteric artery or vein\n * Vena cava\n + Diaphragm\n + Extrahepatic bile duct(s)\n + Gallbladder\n + Hepatic flexure\n + Kidney (right or NOS)\n + Liver (quadrate lobe, right lobe or NOS)\n + Omentum\n + Pancreas (pancreatic duct)\n + Stomach\n + Transverse colon\n + Ureter, right\n- Jejunum and Ileum (C171, C172)\n + Colon including appendix" ], [ "3", "Regional lymph node(s) involved only\n- All sites\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Duodenum (C170)\n + Duodenal\n + Gastroduodenal\n + Hepatic \n + Pancreaticoduodenal (inferior)\n + Pericholodochal (common bile duct)\n + Pyloric (infrapyloric, subpyloric, NOS)\n + Retropancreatic\n + Superior mesenteric\n- Jejunum and ileum (C171, C172)\n + Cecal (anterior, posterior, retrocecal) (terminal ileum only)\n + Ileocecal (ileocolic) (terminal ileum only)\n + Mesenteric, NOS\n + Superior mesenteric" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + Jejunum and Ileum (C171, C172)\n * Bladder\n * Fallopian tube(s)\n * Ovary(ies)\n * Uterus\n- Distant lymph node(s), NOS\n + Celiac \n + Pericholedochal (jejunum and ileum only)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_soft_tissue_and_sarcomas_99149.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_soft_tissue_and_sarcomas_99149.json deleted file mode 100644 index cf801e747..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_soft_tissue_and_sarcomas_99149.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_soft_tissue_and_sarcomas_99149", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Soft Tissue and Sarcomas (excluding Heart, Mediastinum, Retroperitoneum)", - "title" : "Derived Summary Stage 2018: SS2018: Soft Tissue and Sarcomas", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T16:24:10.976Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Localized only (localized, NOS)\n- Confined to site of origin\n- Deep tumor, NOS\n- Superficial tumor, NOS" ], [ "2", "Regional by direct extension only\n- Adjacent (connective) tissue, NOS\n + Into tissue beyond organ\n- Adjacent organ(s)/structure(s), NOS\n- Major vessel invasion\n- Superficial or deep tumor WITH involvement of\n + adjacent (connective) tissue or adjacent organ(s)/structure(s)\n- Abdomen and Thoracic Visceral Organs\n + Mesentery\n + Serosa\n + Visceral peritoneum" ], [ "3", "Regional lymph node(s) involved only\n- Head and Neck \n + Cervical\n- Lip\n + Facial, NOS\n + Buccinator (buccal)\n + Mandibular (submandibular, submaxillary, submental)\n + Nasolabial\n + Parotid (infra-auricular, preauricular) \n- Eyelid/canthus\n + Facial (buccinator [buccal], nasolabial, NOS)\n + Mandibular (submandibular, submaxillary, submental)\n + Parotid, NOS (infra-auricular)\n- External ear and auditory canal\n + Mastoid (posterior, retro-auricular) (occipital)\n + Preauricular\n- Face, Other (cheek, chin, forehead, jaw, nose, and temple):\n + Facial, NOS (buccinator [buccal], nasolabial) \n + Mandibular (submandibular, submaxillary, submental)\n + Parotid (infra-auricular, preauricular)\n- Scalp\n + Mastoid (posterior, retro-auricular) (occipital)\n + Parotid (infra-auricular, preauricular)\n + Spinal accessory (posterior cervical)\n- Neck\n + Axillary\n + Mandibular\n + Mastoid (posterior, retro-auricular) (occipital)\n + Parotid (infra-auricular, preauricular)\n + Spinal accessory (posterior cervical)\n + Submental (bilateral or contralateral)\n + Supraclavicular (transverse cervical)\n- Arm/shoulder\n + Axillary\n + Epitrochlear for hand/forearm\n + Spinal accessory for shoulder\n - Leg/hip\n + Femoral (superficial inguinal)\n + Popliteal for heel and calf\n- Thorax\n + Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n + Mediastinal\n - Abdomen\n + Celiac\n + Iliac\n + Para-aortic\n- Pelvis\n + Deep inguinal, NOS\n + Rosenmuller or Cloquet node\n + Superficial inguinal (femoral)\n- Upper trunk\n + Axillary\n + Cervical\n + Internal mammary\n + Supraclavicular (transverse cervical)\n - Lower trunk\n + Superficial inguinal (femoral)\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Head and Neck subsites\n * Brain parenchymal invasion\n * Carotid artery encasement\n * Central compartment visceral\n * Central nervous system involvement via perineural spread\n * Fascial skeleton\n * Orbital invasion\n * Prevertebral muscle invasion\n * Pterygoid muscles\n * Skull base/dural invasion\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_stomach_19183.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_stomach_19183.json deleted file mode 100644 index ad3ee7fa7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_stomach_19183.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_stomach_19183", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Stomach", - "title" : "Derived Summary Stage 2018: Stomach", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T16:38:31.706Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n- (Adeno)carcinoma, noninvasive, in a polyp" ], [ "1", "Localized only (localized, NOS)\n- Confined to stomach, NOS\n- Extension through wall, NOS\n- Implants within stomach\n- Intraluminal spread to esophagus or duodenum\n- Invasion of\n + Intramucosa, NOS\n + Lamina propria\n + Mucosa, NOS\n + Muscularis mucosae\n + Muscularis, NOS\n + Muscularis propria\n + Submucosa (superficial, NOS)\n- Linitis plastica (diffuse involvement of the entire stomach wall)\n- Perimuscular tissue invaded\n- Polyp (head, stalk, NOS)\n- Subserosal tissue/(sub)serosal fat" ], [ "2", "Regional by direct extension only\n- Adjacent (connective) tissue, NOS\n- Colon/mesocolon (including transverse and flexures)\n- Diaphragm\n- Duodenum (via serosa)\n- Esophagus (via serosa)\n- Gastric artery\n- Ileum\n- Jejunum\n- Ligaments \n + Gastrocolic\n + Gastrohepatic\n + Gastrosplenic\n- Liver\n- Mesothelium\n- Omentum (greater, lesser, NOS)\n- Pancreas\n- Perigastric fat\n- Serosa\n- Small intestine, NOS\n- Spleen\n- Tunica serosa\n- Visceral peritoneum" ], [ "3", "Regional lymph node(s) involved only\n- Celiac artery\n- Common hepatic artery\n- Hepatic, NOS\n- Left gastric (superior gastric), NOS\n + Cardial, NOS\n + Cardioesophageal \n + Gastric artery\n + Gastric, left\n + Gastrohepatic\n + Gastropancreatic, left\n + Lesser curvature\n + Lesser omentum\n + Paracardial\n- Pancreaticosplenic (pancreaticolineal)\n- Perigastric, NOS\n- Peripancreatic\n- Pyloric, NOS\n + Infrapyloric (subpyloric)\n + Suprapyloric \n- Right gastric (inferior gastric, NOS)\n + Gastrocolic\n + Gastroduodenal\n + Gastroepiploic (gastro-omental), right or NOS\n + Gastrohepatic\n + Greater curvature\n + Greater omentum\n + Pancreaticoduodenal \n- Splenic (lineal), NOS\n + Gastroepiploic (gastro-omental), left\n + Splenic hilar/hilum\n- Nodule(s) in perigastric fat\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Abdominal wall\n + Adrenal (suprarenal) gland\n + Aorta\n + Celiac axis\n + Kidney\n + Retroperitoneum\n- Distant lymph node(s), NOS\n + Hepatoduodenal (along the proper hepatic artery, including portal)\n + Intra-abdominal\n + Mesenteric (inferior, superior, NOS)\n + Middle colic\n + Pancreaticoduodenal (all subsites EXCEPT greater curvature)\n + Para-aortic\n + Porta hepatic (portal) (hilar) (in hilus of liver)\n + Retropancreatic\n + Retroperitoneal \n- Distant metastasis, NOS\n + Carcinomatosis\n + Krukenberg tumor (metastasis to ovary(ies))\n + Malignant (positive) peritoneal cytology\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_testis_36736.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_testis_36736.json deleted file mode 100644 index d0d01ed0d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_testis_36736.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_testis_36736", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Testis", - "title" : "Derived Summary Stage 2018: Testis", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T16:39:51.645Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n- Germ cell neoplasia in situ\n- Intratubular germ cell neoplasia" ], [ "1", "Localized only (localized, NOS)\n- WITH OR WITHOUT lymphovascular invasion\n + Body of testis\n + Rete testis\n + Surface implants (surface of tunica vaginalis)\n + Tunica albuginea\n + Tunica vaginalis involved\n + Tunica, NOS\n\n* Confined to testis, NOS\n + WITH or WITHOUT lymphovascular invasion" ], [ "2", "Regional by direct extension only\n\nAny of the following sites WITH or WITHOUT lymphovascular invasion\n * Dartos muscle, ipsilateral\n * Epididymis \n * Hilar soft tissue\n * Mediastinum (of testis)\n * Scrotum, ipsilateral \n * Spermatic cord, ipsilateral\n * Vas deferens\n * Visceral mesothelial layer" ], [ "3", "Regional lymph node(s) involved only\n- Lymph nodes WITH or WITHOUT previous scrotal or inguinal surgery\n + Aortic, NOS\n * Lateral (lumbar)\n * Para-aortic\n * Periaortic\n * Preaortic \n * Retroaortic\n + Pericaval, NOS\n * Interaortocaval\n * Paracaval\n * Precaval\n * Retrocaval\n + Retroperitoneal, NOS\n + Spermatic vein\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Lymph nodes WITH previous scrotal or inguinal surgery\n + External iliac\n + Inguinal node(s), NOS\n * Deep, NOS\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial (femoral)\n + Pelvic, NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Adrenal (suprarenal gland)\n + Kidney\n + Penis \n + Retroperitoneum\n + Scrotum, contralateral\n + Testis, bilateral\n + Ulceration of scrotum\n- Distant lymph node(s), NOS\n + Lymph nodes WITHOUT previous scrotal or inguinal surgery or UNKNOWN if previous scrotal or inguinal surgery\n * External iliac\n * Inguinal nodes, NOS\n + Deep, NOS\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial (femoral)\n * Pelvic\n - Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thymus_2194.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thymus_2194.json deleted file mode 100644 index b67ec8041..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thymus_2194.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_thymus_2194", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Thymus", - "title" : "Derived Summary Stage 2018: Thymus", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T16:41:20.782Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to thymus, NOS\n- No mediastinal or pleura involvement or UNKNOWN if involved" ], [ "2", "Regional by direct extension only\n- Brachiocephalic vein\n- Chest wall \n- Confined to thymus WITH mediastinal or pleural involvement\n- Direct invasion of pericardium\n- Extrapericardial pulmonary artery or vein\n- Lung\n- Phrenic nerve\n- Superior vena cava" ], [ "3", "Regional lymph node(s) involved only\n- Ascending aorta\n- Cervical (low anterior)\n- Hilar\n- Internal mammary\n- Lower jugular\n- Mediastinal (lower, middle, NOS)\n- Para-aortic\n- Paratracheal (lower, upper, NOS)\n- Peri-thymic \n- Peri-thyroid\n- Pericardial\n- Phrenic (inferior, superior)\n- Precricoid/delphian\n- Pretracheal\n- Prevascular\n- Subaortic/aortopulmonary window\n- Subcarinal\n- Supraclavicular/venous angle: confluence of internal jugular and subclavian vein\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Extrathoracic sites\n + Separate pleural or pericardial nodule(s)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s) \n * OR with pleural or pericardial nodule(s) metastasis" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thyroid_44895.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thyroid_44895.json deleted file mode 100644 index 4bb411834..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_thyroid_44895.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_thyroid_44895", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Thyroid", - "title" : "Derived Summary Stage 2018: Thyroid", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T16:43:05.473Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to thyroid, NOS\n- Into thyroid capsule, but not beyond\n- Multiple foci confined to thyroid\n- Single invasive tumor confined to thyroid" ], [ "2", "Regional by direct extension only\n- Blood vessel(s) (major)\n + Carotid artery (encased)\n + Jugular vein\n + Thyroid artery or vein\n- Cricoid cartilage\n- Esophagus\n- Extrathyroidal extension (microscopic, macroscopic, NOS)\n- Larynx\n- Nerves\n + Recurrent laryngeal\n + Vagus nerve\n- Parathyroid\n- Pericapsular soft tissue/connective tissue\n- Sternocleidomastoid muscle \n- Strap muscle(s)\n + Omohyoid\n + Sternohyoid\n + Sternothyroid\n + Thyrohyoid\n- Subcutaneous soft tissue\n- Thyroid cartilage\n- Trachea\n- Tumor described as \"FIXED to adjacent tissues\"" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Gross extrathyroidal extension invading \n * Bone\n * Mediastinal tissues\n * Prevertebral fascia\n * Skeletal muscle, other than strap or sternocleidomastoid muscle \n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant mets WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_tongue_anterior_40968.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_tongue_anterior_40968.json deleted file mode 100644 index 31e671b98..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_tongue_anterior_40968.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_tongue_anterior_40968", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Tongue Anterior", - "title" : "Derived Summary Stage 2018: Tongue Anterior", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T17:57:41.540Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to anterior tongue, NOS\n- Crosses midline/midline tumor\n- Invasive tumor on one side confined to\n + Lamina propria\n + Musculature of tongue, intrinsic or NOS\n + Submucosa" ], [ "2", "Regional by direct extension only\n- Base of tongue\n- Bone, NOS\n + Bone (mandible, maxilla, palatine)\n + Cartilage (mandible, maxilla, NOS)\n + Cortical bone, invasion of (mandible, maxilla, NOS)\n- Floor of mouth\n- Gingiva, lower\n- Lateral pharyngeal wall\n- Retromolar trigone\n- Soft palate, inferior surface\n- Sublingual gland\n- Tonsillar pillars and fossae\n- Tonsils" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Deep (extrinsic) muscles of tongue\n * Genioglossus\n * Geniohyoid\n * Hyoglossus\n * Mylohyoid\n * Palatoglossus\n * Styloglossus\n + Internal carotid artery (encased)\n + Masticator space\n + Maxillary sinus (antrum)\n + Pterygoid plates\n + Skin of face\n + Skull base\n + Specified bone (other than mandible, maxilla)\n + Trabecular bone (mandible, maxilla, NOS)\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_trachea_96519.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_trachea_96519.json deleted file mode 100644 index 6560d525f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_trachea_96519.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_trachea_96519", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Trachea", - "title" : "Derived Summary Stage 2018: Trachea", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T17:58:54.116Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive" ], [ "1", "Localized only (localized, NOS)\n- Invasive tumor confined to trachea" ], [ "2", "Regional by direct extension only\n- Adjacent connective tissue\n + Arch of aorta\n + Azygos vein, right\n + Brachiocephalic vein\n + Carotid sheath\n + Common carotid artery(ies)\n + Jugular arch\n + Phrenic nerves\n + Pretracheal fascia\n + Recurrent laryngeal nerve\n + Subclavian artery(ies)\n + Vagus nerve\n- Adjacent organ(s)/structure(s)\n + Cricoid cartilage\n + Esophagus\n + Pleura, NOS\n * Parietal\n * Visceral\n + Right and left main bronchi\n + Sternum\n + Thymus\n + Thyroid gland\n + Vertebral column" ], [ "3", "Regional lymph node(s) involved only\n- Mediastinal, NOS\n + Posterior (tracheoesophageal)\n- Paratracheal\n- Pretracheal\n- Tracheal, NOS \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urethra_73432.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urethra_73432.json deleted file mode 100644 index e590f608f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urethra_73432.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_urethra_73432", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Urethra", - "title" : "Derived Summary Stage 2018: Urethra", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T18:02:52.095Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive\n\nPapillary \n- Non-infiltrating or non-invasive papillary transitional cell carcinoma\n- Non-infiltrating or non-invasive papillary urothelial carcinoma\n- Papillary transitional cell carcinoma, with inferred description of non-invasion\n- Papillary urothelial carcinoma, with inferred description of non-invasion\n\nNonpapillary\n- Carcinoma in situ, NOS \n- Sessile (flat) (solid) carcinoma in situ \n- Transitional cell carcinoma in situ\n- Urothelial carcinoma (in situ, non-infiltrating, non-invasive)\n\nMultifocal non-invasive tumors\n\nUrethra-Prostatic\nCarcinoma in situ involving (WITHOUT stromal invasion)\n- Periurethral or prostatic ducts\n- Prostatic urethra" ], [ "1", "Localized only (localized, NOS)\n- Muscularis invaded\n- Subepithelial connective tissue (lamina propria, submucosa) invaded" ], [ "2", "Regional by direct extension only\n- All sites\n + Bladder neck\n- Urethra\n + Corpus cavernosum\n + Corpus spongiosum\n + Periurethral muscle (sphincter muscle)\n + Vagina (anterior, NOS)\n- Prostatic urethra\n + Periprostatic fat (beyond prostate capsule)\n + Prostate (prostatic stroma)\n + Prostatic ducts" ], [ "3", "Regional lymph node(s) involved only\n- Iliac (common, external, internal [hypogastric] [obturator], NOS)\n- Inguinal (superficial [femoral], NOS)\n- Inguinal, deep (Node of Cloquet or Rosenmuller [highest deep inguinal], NOS) \n- Pelvic, NOS (including true pelvis)\n- Perivesical\n- Presacral\n- Sacral, NOS\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n + All sites\n * Adjacent organ(s), NOS\n * Bladder wall\n + Prostatic urethra\n * Rectal wall \n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urinary_other_89509.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urinary_other_89509.json deleted file mode 100644 index 8b10091e8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_urinary_other_89509.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_urinary_other_89509", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Urinary Other", - "title" : "Derived Summary Stage 2018: Urinary Other", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T18:05:58.261Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive (flat, sessile)\n- Noninvasive papillary, polypoid or verrucous carcinoma" ], [ "1", "Localized only (localized, NOS)\n- Lamina propria\n- Muscularis\n- Subepithelial connective\n- Submucosa" ], [ "2", "Regional by direct extension only\n- Beyond prostate capsule\n- Bladder neck\n- Corpus cavernosum\n- Corpus spongiosum\n- Periurethral muscle (sphincter)\n- Prostate\n- Vagina, anterior or NOS" ], [ "3", "Regional lymph node(s) involved only\n- Iliac, NOS\n + Common\n + External\n + Internal (hypogastric), NOS\n * Obturator \n - Inguinal, NOS\n + Deep inguinal, NOS\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial (femoral)\n - Pelvic, NOS\n - Sacral, NOS\n + Presacral\n - Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant sites (including further contiguous extension)\n + Other adjacent organs, including\n * Bladder (excluding bladder neck)\n * Seminal vesicle(s)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vagina_63227.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vagina_63227.json deleted file mode 100644 index 02f822e66..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vagina_63227.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_vagina_63227", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Vagina", - "title" : "Derived Summary Stage 2018: Vagina", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T18:20:37.057Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n* Confined to vagina\n* Musculature involved\n* Submucosa (stroma) (vagina)\n\nFIGO Stage I" ], [ "2", "Regional by direct extension only\n\n + Bladder wall or bladder, NOS (excluding mucosa)\n + Cervix\n + Cul de sac (rectouterine pouch)\n + Extension to lower third of the vagina (from proximal vagina)\n + \"Frozen pelvis\" (clinically diagnosed)\n + Hydronephrosis or nonfunctioning kidney\n + Parametrium\n + Paravaginal soft tissue\n + Pelvic wall \n * Fascia \n * Muscle\n * Neurovascular structures\n * Skeletal portions of bony pelvis\n + Rectal wall or rectum, NOS excluding mucosa \n + Rectovaginal septum\n + Vesicovaginal septum\n + Vulva\t\n\nFIGO Stage II\nFIGO Stage III WITHOUT lymph node involvement" ], [ "3", "Regional lymph node(s) involved only\n\n- Lower third of vagina (ipsilateral and bilateral)\n + Femoral\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal \n\n- Upper two thirds of vagina\n + Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\n\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS\n\nFIGO Stage III\n* Localized tumor WITH regional lymph node involvement" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n * Bladder mucosa (excluding bullous edema)\n * Extension beyond true pelvis\n * Rectal mucosa\n * Urethra\n\n- Distant lymph node(s), NOS \n + All sites\n + Mediastinal \n + Para-aortic, NOS\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n + Retroperitoneal, NOS\n + Scalene\n\n + Lower third of vagina (ipsilateral and bilateral)\n + Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\n + Upper two thirds of vagina\n + Femoral\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal \n\n- Distant metastasis, NOS \n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)\n\n\nFIGO Stage IV (IVA, IVB, IV NOS)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vulva_47165.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vulva_47165.json deleted file mode 100644 index 29030db28..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_ss2018_vulva_47165.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "derived_ss2018_vulva_47165", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Vulva", - "title" : "Derived Summary Stage 2018: Vulva", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-15T18:22:27.760Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n\n* Invasive carcinoma WITH or WITHOUT stromal invasion confined to\n + Musculature\n + Submucosa\n + Vulva including skin\n\n FIGO Stage I (IA, IB, I NOS)" ], [ "2", "Regional by direct extension only\n\n + Adjacent perineal structures\n + Anus\n + Bladder wall or bladder, NOS excluding mucosa\n + Perianal skin\n + Rectal wall or rectum, NOS excluding mucosa\n + Urethra, NOS \n * Lower/distal third of urethra\n + Vagina, NOS\n + Vulva and perineum involved WITH or WITHOUT stromal invasion\n\nFIGO Stage II" ], [ "3", "Regional lymph node(s) involved only\n\n + Femoral\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal \n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n\nFIGO Stage III (IIIA, IIIB, IIIC, III NOS), IVA\n* Localized tumor WITH regional lymph node involvement" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension) \n * Bladder mucosa\n * Fixed to pubic bone (pelvic bone)\n * Perineal body\n * Rectal mucosa\n * Urethra: upper/proximal two-thirds\n\n\n- Distant lymph node(s), NOS\n - Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\n\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)\n\n\nFIGO Stage IVA\n* NONE or UNKNOWN regional lymph node involvement\n\nFIGO Stage IVB, IV NOS" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/derived_summary_grade_na_6690.json b/src/test/resources/algorithms/eod_public/3.3/tables/derived_summary_grade_na_6690.json deleted file mode 100644 index 54c2410e7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/derived_summary_grade_na_6690.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "derived_summary_grade_na_6690", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived Summary Grade NA", - "title" : "Derived Summary Grade", - "notes" : "This calculated the Derived Summary Grade, the highest grade based on Grade Clinical and Grade Pathological. If grade is needed in the Stage Group Calculation, this value is also used there", - "last_modified" : "2023-05-17T15:30:33.126Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Grade Clin", - "type" : "INPUT" - }, { - "key" : "grade_path", - "name" : "Grade Path", - "type" : "INPUT" - }, { - "key" : "derived_summary_grade", - "name" : "Derived Grade", - "type" : "ENDPOINT" - } ], - "extra_input" : [ "grade_path", "grade_clin" ], - "rows" : [ [ "*", "8", "VALUE:{{grade_path}}" ], [ "8", "", "VALUE:{{grade_clin}}" ], [ "", "", "VALUE:" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/egfr_mutational_analysis_51122.json b/src/test/resources/algorithms/eod_public/3.3/tables/egfr_mutational_analysis_51122.json deleted file mode 100644 index 85e59b70b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/egfr_mutational_analysis_51122.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "egfr_mutational_analysis_51122", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EGFR Mutational Analysis", - "title" : "EGFR Mutational Analysis", - "description" : "Epidermal growth factor receptor (EGFR) mutational analysis is performed for patients with advanced non-small cell lung cancer (NSCLC) to identify patients with certain activating mutations in the EGFR gene which are sensitive to tyrosine kinase Inhibitors.\n\n“EGFR (epidermal growth factor receptor) is a protein found on certain types of cells that binds to a substance called epidermal growth factor. The EGFR protein is involved in cell signaling pathways that control cell division and survival. Sometimes, mutations (changes) in the EGFR gene cause EGFR proteins to be made in higher-than-normal amounts on some types of cancer cells. This causes cancer cells to divide more rapidly.” (NCI Dictionary of Cancer Terms https://www.cancer.gov/publications/dictionaries/cancer-terms)\n\nThe presence of Exon 20 EGFR activating mutations are associated with a resistance to EGFR tyrosine kinase inhibits, such as erlotinib, afatinib, and gefitinib. There is limited data available on response for some of the other uncommon EGFR mutations (other than Exon 20). (CAP Cancer Protocol).\n\nThe most common EGFR mutations are \n * Exon 18 Gly719\n * Exon 19 deletion\n * Exon 20 insertion\n * Exon 20 Thr790Met\n * Exon 21 Leu858Arg", - "notes" : "**Note 1:** **Effective years** \n* This SSDI is effective for diagnosis years 2021+\n* For cases diagnosed 2018-2020, this SSDI must be blank\n\n**Note 2:** **Physician Statement** \n* Physician statement of EGFR can be used to code this data item when no other information is available.\n\n**Note 3:** **Applicable histologies/stages**\n* EGFR may be recorded for all histologies and stages; however, it is primarily performed for advanced non-small cell carcinomas. If information is not available, code 9.\n\n**Note 4:** **Neoadjuvant Therapy**\n* Record the assay from tumor specimens prior to neoadjuvant therapy.\n* If neoadjuvant therapy is given and there are no EGFR results from pre-treatment specimens, report the findings from post-treatment specimens.", - "last_modified" : "2025-11-06T18:28:03.484Z", - "definition" : [ { - "key" : "egfr_mutational_analysis", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Normal \nEGFR negative, EGFR wild type\nNegative for mutations, no alterations, no mutations (somatic) identified, not present, not detected" ], [ "1", "Abnormal (mutated)/detected in exon(s) 18, 19, 20, and/or 21 " ], [ "2", "Abnormal (mutated)/detected but not in exon(s) 18, 19, 20, and/or 21" ], [ "4", "Abnormal (mutated)/detected, NOS, exon(s) not specified" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nEGFR not assessed or unknown if assessed" ], [ "", "Must be blank if diagnosis year is before 2021" ] ], - "additional_info" : "**Source documents:** pathology report or clinical laboratory report\n\n**Other names include** Epidermal growth factor receptor tyrosine kinase inhibitor, ERBB, ERBB1, ErbB1, HER1\n\nFor further information, refer to the **Lung Biomarker Reporting** cancer protocol published by the College of American Pathologists.", - "coding_guidelines" : "**1)** **Code 0** when EGFR normal/negative/not identified\n\n**2)** **Code 1 or 2** when EGFR identified/detected\n\n**3)** **Code 4** when EGFR identified, and there is no mention of the specific mutation \n\n**4)** **Code 9** when \n* Insufficient amount of tissue available to perform test\n* Test done and documented to be equivocal\n* No microscopic confirmation of tumor\n* EGFR mutational analysis not ordered or not done, or unknown if ordered or done", - "rationale" : "EGFR mutational analysis is recommended by treatment guidelines for patients with advanced lung cancer as a prognostic marker and factor in determining appropriate therapy. It is a new data item for cases diagnosed 1/1/2021+" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_13303.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_13303.json deleted file mode 100644 index ea586facc..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_13303.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_13303", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Phan, A.T., Perrier, N.D., et al. **Adrenal Cortical Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:12.261Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_14084.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_14084.json deleted file mode 100644 index f5d46662b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_14084.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_14084", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Anus**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:51.890Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_20229.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_20229.json deleted file mode 100644 index 6f1bea9a6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_20229.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_20229", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma - Unusual Histologies and Sites**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:10.849Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis \n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_2212.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_2212.json deleted file mode 100644 index a92a4b406..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_2212.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_2212", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:06:09.962Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis \n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_22645.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_22645.json deleted file mode 100644 index 2b945ea5d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_22645.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_22645", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Yoon, S.S., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Trunk and Extremities**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:27.780Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_22894.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_22894.json deleted file mode 100644 index 17abd8843..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_22894.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_mets_22894", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Benign/borderline tumors** \n* Code 00 for benign (behavior /0) and borderline (behavior /1) tumors.\n\n**Note 2:** **Distant metastasis** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases.\n* If there are specific metastasis documented that are not listed in codes 15, 25, or 35, or 45, assign code 45 for “other specified distant metastasis.”\n\n**Note 3:** **Types of extension coded in this data item** \n* The following adjacent structures/sites, by direct or contiguous extension, are coded to 25. \n * Adjacent connective/soft tissue\n * Adjacent muscle\n * Bone\n * Circulating cells in cerebral spinal fluid (CSF)\n * Major blood vessel(s)\n * Meninges (e.g.; dura)\n * Multiple/multifocal tumors\n * Nerves (cranial, NOS)\n * Ventricular system\n\n**Note 4:** **Leptomeningeal metastases** \n* Leptomeningeal metastases, also known as carcinomatous meningitis and meningeal carcinomatosis, refers to the spread of malignant cells through the CSF space. \n* These cells can originate from primary CNS tumors (e.g., in the form of drop metastases), as well as from distant tumors that have metastasized via hematogenous spread (code 35).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Brain and Spinal Cord**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:55.436Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "15", "Tumor cells in the CSF\n* Circulating cells in cerebral spinal fluid (CSF)", "VALUE:D" ], [ "25", "Intracranial spread beyond a single lesion\n\nAll sites\n- Bone (skull) (see code 45 for other bone involvement)\n- Major blood vessel(s)\n- Meninges (e.g., dura)\n- Multiple/multifocal tumors\n- Nerves (cranial, NOS)\n- Tumor invades or encroaches upon ventricular system\n\nBrain tumors (C700, C710-C719)\n- Anterior cranial fossa \n- Brain stem\n- Cerebellum\n- Cerebrum (cerebral hemisphere)\n- Contralateral hemisphere\n- Hypothalamus\n- Middle cranial fossa\n- Pallium\n- Posterior cranial fossa\n- Suprasellar brain\n- Tapetum\n- Thalamus\n\nCNS tumors (C701, C709, C720-C729)\n- Adjacent connective tissue\n- Adjacent muscle\n- Brain for cranial nerve tumor(s) \n- Sphenoid and frontal sinuses(skull)\n\nPineal Gland (C753)\n- Adjacent connective/soft tissue\n- Cavernous sinus\n- Infratentorial and central brain", "VALUE:D" ], [ "35", "Visible metastasis in spine OR\nVisible metastasis in cervicomedullary (junction)\n\nMetastasis within CNS and CSF pathways\n* Carcinomatous meningitis\n* Drop metastasis\n* Leptomeningeal metastases\n* Meningeal carcinomatosis", "VALUE:D" ], [ "45", "Extra-neural metastasis \n\nAll Sites\n- Blood\n- Bone (other than skull) (see code 25 for skull)\n- Bone marrow\n- Carcinomatosis \n- Distant lymph nodes, NOS\n- Further contiguous extension\n- Other specified metastasis \n\nBrain tumors (C700, C710-C719)\n- Nasal cavity\n- Nasopharynx\n- Other direct extension outside CNS\n- Posterior pharynx\n\nCNS tumors (C701, C709, C720-729)\n- Eye", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_23805.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_23805.json deleted file mode 100644 index ee4660a53..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_23805.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_23805", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) O'Sullivan, B., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:40.616Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_23953.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_23953.json deleted file mode 100644 index 28955661d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_23953.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_23953", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Pollock, R.E., Maki, R.G., et al. **Soft Tissue Sarcoma of the Retroperitoneum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:18.870Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_24042.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_24042.json deleted file mode 100644 index 3036a1e82..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_24042.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_mets_24042", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Benign/borderline tumors** \n* Code 00 for benign (behavior /0) and borderline (behavior /1) tumors.\n\n**Note 2:** **Leptomeningeal metastases**\n* Leptomeningeal metastases, also known as carcinomatous meningitis and meningeal carcinomatosis, refers to the spread of malignant cells through the CSF space.\n* These cells can originate from primary CNS tumors (e.g., in the form of drop metastases), as well as from distant tumors that have metastasized via hematogenous spread (code 70).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Brain and Spinal Cord**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:54.586Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)", "VALUE:D" ], [ "70", "Metastasis within CNS and CSF pathways\n* Carcinomatous meningitis\n* Drop metastasis\n* Leptomeningeal metastases\n* Meningeal carcinomatosis\n\nMetastasis outside the CNS\n* Extra-neural metastasis\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_24606.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_24606.json deleted file mode 100644 index 95ddf49e0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_24606.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_mets_24606", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **FIGO and metastatic disease detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage.\n\n**Note 2:** **Extension to Vagina** \n* EOD Mets excludes metastasis to the vagina (See EOD Primary Tumor) or to the pelvic or paraaortic nodes (See EOD Regional Nodes)", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Cervix Uteri**, from the AJCC Cancer Staging System Version 9 (2020). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:06:11.879Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal\n- Mediastinal\n- Scalene\n- Supraclavicular\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Distant metastasis\n- Adnexa\n- Bone\n- Liver\n- Lung\n- Peritoneal spread\n- Uterine serosa\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nFIGO Stage IVB", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_25000.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_25000.json deleted file mode 100644 index df351f2c2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_25000.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_mets_25000", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Benign/borderline tumors** \n* Code 00 for benign (behavior /0) and borderline (behavior /1) tumors.\n\n**Note 2:** **Leptomeningeal metastases** \n* Leptomeningeal metastases, also known as carcinomatous meningitis and meningeal carcinomatosis, refers to the spread of malignant cells through the CSF space. \n* These cells can originate from primary CNS tumors (e.g., in the form of drop metastases), as well as from distant tumors that have metastasized via hematogenous spread (code 70).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Laws, E.R., Curran, W.J., et al. **Brain and Spinal Cord**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:15.492Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_25281.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_25281.json deleted file mode 100644 index 7f1fd4d03..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_25281.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_25281", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) McKiernan, J.M., Hansel, D.E., Stadler, W.M., et al. **Renal Pelvis and Ureter**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:49.237Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_26533.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_26533.json deleted file mode 100644 index 01090e5b1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_26533.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_mets_26533", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **FIGO and metastatic disease detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Dizon, D.S., Olawaiye, A.B., Mutch, D.G., et al. **Corpus Uteri - Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:26.774Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s) \n+ Femoral\n+ Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Distant metastasis\n- Bone\n- Intraperitoneal disease\n- Liver\n- Lung\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nFIGO Stage IVB", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_28878.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_28878.json deleted file mode 100644 index 12035a2ad..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_28878.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_mets_28878", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Benign/borderline tumors** \n* Code 00 for benign (behavior /0) and borderline (behavior /1) tumors.\n\n**Note 2:** **Leptomeningeal metastases** \n* Leptomeningeal metastases, also known as carcinomatous meningitis and meningeal carcinomatosis, refers to the spread of malignant cells through the CSF space. \n* These cells can originate from primary CNS tumors (e.g., in the form of drop metastases), as well as from distant tumors that have metastasized via hematogenous spread (code 70).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Brain and Spinal Cord**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:54.231Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)", "VALUE:D" ], [ "70", "Metastasis within CNS and CSF pathways\n* Carcinomatous meningitis\n* Drop metastasis\n* Leptomeningeal metastases\n* Meningeal carcinomatosis\n\nMetastasis outside the CNS\n* Extra-neural metastasis\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_29252.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_29252.json deleted file mode 100644 index 441d8fda0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_29252.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_29252", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Ridge, J.A., Shah, J.P., et al. **Oropharynx (p16-) and Hypopharynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:05.383Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_30426.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_30426.json deleted file mode 100644 index 96e21120c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_30426.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_mets_30426", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **FIGO and metastatic disease detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Powell, M.A., Olawaiye, A.B., Mutch, D.G., et al. **Corpus Uteri - Carcinoma and Carcinosarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:04.126Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n+ Femoral\n+ Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Bone\nIntraperitoneal disease\nLiver\nLung\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nFIGO Stage IVB", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_33408.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_33408.json deleted file mode 100644 index 3b68c7cfb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_33408.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_33408", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Raut, C.P., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Abdomen and Thoracic Visceral Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:09.489Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_34827.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_34827.json deleted file mode 100644 index 0d57f6332..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_34827.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_34827", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pettaway, C.A., Srigley, J.R., Amin, M.B., et al. **Penis**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:48.782Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_3742.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_3742.json deleted file mode 100644 index ea7c51505..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_3742.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_3742", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Califano, J.A., Lydiatt, W.M., Shah, J.P., et al. **Cutaneous Carcinoma of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:07.815Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Mediastinal (excluding superior mediastinal node(s), Level VII)\nDistant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\nDistant metastasis WITH or WITHOUT distant lymph node(s)\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_41985.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_41985.json deleted file mode 100644 index 0257493b4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_41985.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_41985", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Welton, M.L., Jessup, J.M., et al. **Anus**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:37.112Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_47277.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_47277.json deleted file mode 100644 index f649ebc10..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_47277.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_47277", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Dutton, J.J., Finger, P.T., et al. **Orbital Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:36.215Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_53046.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_53046.json deleted file mode 100644 index a795c067e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_53046.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_53046", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rosen, J.E., Lloyd, R.V., Perrier, N.D., et al. **Thyroid - Medullary**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:23.278Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n+ Mediastinal (excluding superior mediastinal node(s), Level VII, see EOD Regional Nodes)\n+ Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_56430.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_56430.json deleted file mode 100644 index fd783e249..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_56430.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_56430", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Conway, R.M., Finger, P.T., et al. **Conjunctival Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:06.757Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_71734.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_71734.json deleted file mode 100644 index 625458f7f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_71734.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_71734", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Shah, J.P., et al. **Major Salivary Glands**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) **Salivary Glands**, from the AJCC Cancer Staging System Version 9 (2026). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:06.360Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_74247.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_74247.json deleted file mode 100644 index 2d5c7d3ec..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_74247.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_74247", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Coupland, S.E., Finger, P.T., et al. **Conjunctival Melanoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:12.977Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_76404.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_76404.json deleted file mode 100644 index 47e99bd91..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_76404.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_76404", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Raut, C.P., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Abdomen and Thoracic Visceral Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:20.545Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS\n- All Sites\n + Distant lymph nodes, NOS\n- Pleura\n + Contralateral/bilateral hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n + Contralateral/bilateral mediastinal\n + Scalene (inferior deep cervical), ipsilateral or contralateral\n + Supraclavicular (transverse cervical), ipsilateral or contralateral", "VALUE:D" ], [ "70", "All Sites\n+ Distant metastasis, NOS\nPleura\n+ Cervical (neck) tissues\n+ Contralateral lung\n+ Contralateral pleura\n+ Intra-abdominal organs\n+ Peritoneum\n + Pleural effusion\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_79894.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_79894.json deleted file mode 100644 index f53aa9b47..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_79894.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_mets_79894", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **FIGO and metastatic disease detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Dizon, D.S., Olawaiye, A.B., Mutch, D.G., et al. **Corpus Uteri - Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:52.363Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal\n- Mediastinal\n- Scalene\n- Supraclavicular\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Distant metastasis\n- Adnexa\n- Bone\n- Liver\n- Lung\n- Peritoneal spread\n- Uterine serosa\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nFIGO Stage IVB", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_80017.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_80017.json deleted file mode 100644 index 59376d599..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_80017.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_80017", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) O'Sullivan, B., Lydiatt, W.M., Shah, J.P., et al. **Oropharynx HPV-mediated (HPV-Associated) Cancer**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) Lydiatt, W.M., Ridge, J.A., Shah, J.P., et al. **Oropharynx (p16-) and Hypopharynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(8) **Oropharynx HPV-Associated**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:06:05.690Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Mediastinal (excluding superior mediastinal node(s), Level VII, see EOD Regional Nodes)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_83665.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_83665.json deleted file mode 100644 index 1fc4837cb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_83665.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_83665", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Hansel, D.E., Reuter, V.E., McKiernan, J.M., et al. **Urethra**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:11.746Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_88527.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_88527.json deleted file mode 100644 index 5fdcb065c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_88527.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_mets_88527", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Liver mets WITH other metastatic involvement** \n* Use code 50 only when there are liver metastasis WITH other metastatic involvement. \n * If there are multiple distant mets but liver is not one of them, code 30.\n\n**Note 2:** **Distant metastasis, NOS** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n * If there are specific metastasis documented that are not listed in codes 10, 20, or 30, assign code 30 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bergsland, E.K., Woltering, E.A., Klimstra, D.S., et al. **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:09.068Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Liver (including liver parenchymal nodule(s))", "VALUE:D" ], [ "20", "Distant lymph node(s)\n- At tail of pancreas\n- Para-aortic\n- Splenic\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "30", "At least one extrahepatic site \n- Bone\n- Lung\n- Ovary(ies)\n- Peritoneum (seeding)\n\nOther specified distant metastasis (except liver)\n\nCarcinomatosis\n\nWITH or WITHOUT distant lymph node(s)", "VALUE:D" ], [ "50", "Liver WITH other distant metastasis\n(10) + (20 or 30)", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_89421.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_89421.json deleted file mode 100644 index 1f0810e12..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_89421.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_89421", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Patel, S.G., Lydiatt, W.M., Shah, J.P., et al. **Larynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:05.874Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Mediastinal (excluding superior mediastinal node(s), Level VII, see EOD Regional Nodes)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_89986.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_89986.json deleted file mode 100644 index 3d434ddd0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_89986.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_mets_89986", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Peritoneal spread and Peritoneal implants** \n* Peritoneal spread is common in appendiceal tumors and is coded as 30 if limited to the peritoneum. \n* Peritoneal implants involving abdominopelvic organs, such as the serosa of the small or large bowel and the surface of the ovary, spleen, or liver, should be coded as 30, regardless of whether implants demonstrate infiltration of underlying tissue, manifested as invasion. \n* Nonperitoneal metastasis, such as pleuropulmonary involvement is rare and would be coded as 50.\n\n**Note 2:** **Distant metastasis, NOS** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n* If there are specific metastasis documented that are not listed in codes 10, 30, 40, or 50, assign code 50 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Appendix**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:04.941Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Intraperitoneal acellular mucin\n- WITHOUT peritoneal mucinous deposits containing tumor cells or UNKNOWN", "VALUE:D" ], [ "30", "Intraperitoneal metastasis (peritoneal carcinomatosis) \n- WITH or WITHOUT peritoneal mucinous deposits containing tumor cells\n- Includes peritoneal spread with LAMN tumors", "VALUE:D" ], [ "40", "Distant lymph node(s)\n- Inferior mesenteric\n- Superior mesenteric\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "50", "Non-peritoneal metastasis \nWITH or WITHOUT distant lymph nodes or intraperitoneal spread\n\nIntraperitoneal spread WITH distant lymph nodes\n\nOther specified distant metastasis\n\nCarcinomatosis\n* Excludes peritoneal carcinomatosis (see EOD Mets code 30)", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_91004.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_91004.json deleted file mode 100644 index 953f92266..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_91004.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_mets_91004", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **Distant metastasis** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n* If there are specific metastasis documented that are not listed in codes 10 or 50, assign code 50 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bochner, B.H., Hansel, D.E., Stadler, W.M., et al. **Urinary Bladder**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:38.754Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph nodes\n* Intraaortacaval \n* Paracaval\n* Superior mesenteric\n\nDistant lymph node(s), NOS", "VALUE:D" ], [ "50", "Other specified distant metastasis\nWITH or WITHOUT distant lymph node(s)\n\nCarcinomatosis", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_91154.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_91154.json deleted file mode 100644 index 9455411a7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_91154.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_91154", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Tuttle, R.M., Perrier, N.D., et al. **Thyroid - Differentiated and Anaplastic Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:13.751Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n+ Mediastinal (excluding superior mediastinal node(s), Level VII, see EOD Regional Nodes)\n+ Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_94984.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_94984.json deleted file mode 100644 index 06eba0d4a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_94984.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_94984", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Kraus, D.H., Lydiatt, W.M., Shah, J.P., et al. **Nasal Cavity and Paranasal Sinuses**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:07.406Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_95518.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_95518.json deleted file mode 100644 index f707a1a5a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_95518.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_95518", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Ridge, J.A., Shah, J.P., et al. **Oropharynx (p16-) and Hypopharynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:07.057Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_96081.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_96081.json deleted file mode 100644 index 44898ac97..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_96081.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_96081", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) White, V.A., Finger, P.T., et al. **Lacrimal Gland Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:12.515Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_98654.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_98654.json deleted file mode 100644 index b95ade1a0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_98654.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_98654", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Patel, S.G., Lydiatt, W.M., Shah, J.P., et al. **Cervical Lymph Nodes and Unknown Primary Tumors of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:15.572Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Mediastinal (excluding superior mediastinal node(s), Level VII, see EOD Regional Nodes)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_mucosal_head_and_neck_45697.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_mucosal_head_and_neck_45697.json deleted file mode 100644 index 6d2d8a2d8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_mucosal_head_and_neck_45697.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_mucosal_head_and_neck_45697", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets Mucosal Head and Neck", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Brandwein-Gensler, M., Shah, J.P., et al. **Mucosal Melanoma of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:06.248Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Mediastinal (excluding superior mediastinal node(s), Level VII, see EOD Regional Nodes)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_1812.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_1812.json deleted file mode 100644 index 740904794..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_1812.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_mets_v9_1812", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets V9", - "title" : "EOD Mets", - "notes" : "**Note:** **Distant metastasis** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n* If there are specific metastasis documented that are not listed in codes 10, 30, or 50, assign code 50 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Thymus**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:59.097Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Separate pleural or pericardial nodule(s)", "VALUE:D" ], [ "30", "Distant lymph node(s), NOS\n* WITH or WITHOUT separate pleural or pericardial nodule(s)", "VALUE:D" ], [ "50", "Pulmonary intraparenchymal nodule\nOther extrathoracic sites\n\nWITH or WITHOUT distant lymph node(s) \n OR pleural or pericardial nodule(s)\n\nOther specified distant metastasis\n\nCarcinomatosis", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_3184.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_3184.json deleted file mode 100644 index 2ae152bc2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_3184.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_mets_v9_3184", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets V9", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Pleural effusion** \n* A physician’s statement of positive (malignant) pleural effusion or a positive cytology confirming a malignant pleural effusion must be used to code 05. \n * If the physician feels the pleural effusion is due to tumor, despite negative cytology, the physician’s assessment can be used to code EOD Mets\n* If pleural fluid cytology is described as suspicious/suspicious for mesothelioma, code 05\n* A positive pleural effusion (code 05) should not be coded as present under the Mets at Dx-Other field. \n * Code 0 for Mets at Dx-Other when code 05 is coded in EOD Mets.\n\n**Note 2:** **Additional data item for staging** \n* In addition to EOD Mets, the following data item is also collected to determine the results of the Pleural Effusion, which include negative, atypical, or Pleural effusion, NOS\n* Pleural effusion [NAACCR Data Item #3913]\n\n**Note 3:** **Pleural effusion with other mets** \n* If there is a malignant pleural effusion WITH other mets, code 70.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Diffuse Pleural Mesothelioma**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:09.510Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "05", "Malignant pleural effusion", "VALUE:D" ], [ "10", "Distant lymph nodes\n- Cervical \n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Contralateral lung\nContralateral pleura/chest wall (discontinuous involvement)\nLung (discontinuous ipsilateral lung tumors)\nMediastinal organs (discontinuous involvement)\nPeritoneum (discontinuous extension of tumor)\nPericardial effusion, malignant (discontinuous involvement) \nPleural effusion (malignant pleural fluid) WITH other metastases\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_58862.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_58862.json deleted file mode 100644 index 403e86ef0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_58862.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_mets_v9_58862", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets V9", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Nasopharynx**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:59.550Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s) with metastatic lesion(s)\n- Axilla\n- Groin\n- Infraclavicular\n- Mediastinal (excluding superior mediastinal nodes)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "30", "Less than or equal to 3 metastatic lesions in one or more organ sites\n* WITH or WITHOUT distant lymph nodes metastatic lesions", "VALUE:D" ], [ "50", "Greater than 3 metastatic lesions in one or more organ sites", "VALUE:D" ], [ "70", "Distant lymph node(s) OR distant organs\n* Unknown how many metastatic lesions\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_76161.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_76161.json deleted file mode 100644 index 4071bcd26..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_mets_v9_76161.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_mets_v9_76161", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets V9", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Pleural and pericardial effusions**\n* Most pleural and pericardial effusions with lung cancer are due to tumor\n* In a few patients, however, multiple cytopathological examinations of pleural and/or pericardial fluid are negative for tumor, and the fluid is non-bloody and is not an exudate. Where these elements and clinical judgment dictate that the effusion is not related to the tumor, the effusion should be excluded as a staging element. \n * Code 00 in the absence of any other metastasis.\n\n**Note 2:** **Extrathoracic metastasis**\n* Organs \n * Abdominal organs\n * Adjacent rib (noncontiguous involvement only) (see *EOD Primary Tumor* for contiguous involvement)\n * Skin of chest \n * Separate lesion in chest wall or diaphragm\n\n* Distant lymph node(s)\n - Cervical \n - Distant lymph node(s), NOS\n\n* Carcinomatosis \n* Distant metastasis WITH or WITHOUT distant lymph node(s)", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Lung**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:06:08.579Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Pericardial effusion or pleural effusion (malignant)\n* Ipsilateral, contralateral, bilateral, NOS)\n\nPleural tumor foci or nodules on ipsilateral lung (separate from direct extension) or contralateral lung\nPericardial nodules\n\nContralateral lung/main stem bronchus\nSeparate tumor nodule(s) in contralateral lung", "VALUE:D" ], [ "20", "Single distant lymph node involved\n- Cervical\n- Distant lymph node, NOS\n\nWITH or WITHOUT metastasis listed in code 10", "VALUE:D" ], [ "30", "Single extrathoracic metastasis in a single organ\n\n* WITH or WITHOUT metastasis listed in code 10", "VALUE:D" ], [ "40", "Multiple extrathoracic metastases in a single organ system\n*Example: The skeleton is considered one organ. Several metastases in a single bone OR \nseveral metastases in several bones are classified as M1c1.*\n\n* WITH or WITHOUT metastasis listed in code 10", "VALUE:D" ], [ "45", "Multiple extrathoracic metastases in multiple organs system\n*Example: Liver and distant lymph nodes*\n\nWITH or WITHOUT metastasis listed in code 10", "VALUE:D" ], [ "50", "Multiple extrathoracic metastases, unknown if single or multiple organ systems", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_12346.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_12346.json deleted file mode 100644 index bb68da51b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_12346.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_12346", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **Benign/borderline tumors** \n* Benign (/0) or Borderline (/1) tumors are always coded to 050 regardless of size or extension to adjacent sites.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Brain and Spinal Cord**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:54.978Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "050", "Benign or borderline tumor\n* Behavior is /0 or /1", "VALUE:B" ], [ "100", "Invasive tumor confined to gland of origin\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Adjacent connective/soft tissue\nAdjacent organ(s)/structure(s) for pituitary and craniopharyngeal duct\n- Cavernous sinus\n- Infundibulum\n- Pons\n- Sphenoid body and sinuses\n\nAdjacent organ(s)/structure(s) for pineal\n- Infratentorial and central brain", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_19089.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_19089.json deleted file mode 100644 index c0d1225ba..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_19089.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_19089", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **FIGO and extension information** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the code in preference to a statement of FIGO stage.\n\n**Note 2:** **STIC** \n* Codes 050, 070, and 80 are used for the following in situ histology (behavior /2) only\n* High-grade serous tubal intraepithelial carcinoma (STIC) (8441/2)\n\n**Note 3:** **Malignant ascites** \n* Tumors in codes 100-250 with malignant ascites are coded 300. \n * Ascites, NOS should be excluded as a staging element\n\n**Note 4:** **Ovary involvement** \n* If there is involvement of the ovary (including surgical spill and/or capsule rupture) with no further evidence of extension and the physician states that this is a fallopian tube primary, code 400.\n\n**Note 5:** **Pelvic organs** \n* Both extension to and/or discontinuous metastasis to any of the following pelvic organs are included in code 450\n - Adjacent (pelvic) peritoneum\n - Bladder\n - Bladder serosa\n - Cul de sac (rectouterine pouch)\n - Ligament(s) (broad, ovarian, round, suspensory)\n - Mesosalpinx (Meosvarium)\n - Parametrium\n - Pelvic wall\n - Rectosigmoid\n - Rectum\n - Sigmoid colon (including sigmoid mesentery)\n - Ureter (pelvic portion)\n\n**Note 6:** **Peritoneal implants** \n* Peritoneal implants or peritoneal carcinomatosis may also be called seeding, salting, talcum powder appearance, or studding.\n * Code 600, 650, or 700 based on microscopic or the macroscopic size\n* Extraperitoneal carcinomatosis are coded in EOD Mets\n\n**Note 7:** **Location of implants** \n* If implants are mentioned, determine whether they are in the pelvis or in the abdomen and code appropriately. If the location of the implants is not specified, code 750.\n\n**Note 8:** **Abdominal organs** \n* Both extension to and/or discontinuous metastasis to any of the following abdominal organs by way of peritoneal seeding or implants are included in codes 600-750\n - Abdominal mesentery\n - Diaphragm\n - Gallbladder\n - Intestine, large (except rectum, rectosigmoid and sigmoid colon)\n - Kidneys\n - Liver (peritoneal surface)\n - Omentum (infracolic, NOS)\n - Pancreas\n - Pericolic gutter\n - Peritoneum, NOS\n - Small intestine\n - Spleen (capsular involvement only)\n - Stomach\n - Ureters (outside pelvis)\n\n**Note 9:** **Peritoneal surface of the liver** \n* Tumor limited to the peritoneal surface of the liver or splenic capsule is coded 700, regardless of the size (microscopic or macroscopic)\n - Liver and splenic **parenchymal** involvement is coded in EOD Mets (code 50)", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Prat, J., Olawaiye, A.B., Mutch, D.G., et al. **Ovary, Fallopian Tube, and Primary Peritoneal Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:15.759Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive, preinvasive\n* Limited to tubal mucosa\n* Low grade (LGSC) serous tubal intraepithelial carcinoma (STIC) (8441/2)\n* Serous tubal intraepithelial carcinoma (STIC) (no grade) (8441/2)", "VALUE:IS" ], [ "050", "High-grade serous tubal intraepithelial carcinoma (STIC) (8441/2)\n* Limited to one tube", "VALUE:IS" ], [ "070", "High-grade serous tubal intraepithelial carcinoma (STIC) (8441/2)\n* Both tubes involved", "VALUE:IS" ], [ "080", "High-grade serous tubal intraepithelial carcinoma (STIC) (8441/2)\n* Unknown if one or both tubes involved", "VALUE:IS" ], [ "100", "Limited to one fallopian tube AND\n- No tumor on fallopian tube surface AND\n- No malignant cells in ascites or peritoneal washings \n\nFIGO Stage IA", "VALUE:L" ], [ "150", "Limited to both fallopian tubes AND\n- No tumor on fallopian tube surface AND\n- No malignant cells in ascites or peritoneal washings \n\nFIGO Stage IB", "VALUE:L" ], [ "250", "Limited to one or both fallopian tube(s)\n\n- WITH tumor on fallopian tube surface \n\nFIGO Stage IC2", "VALUE:RE" ], [ "300", "Limited to one or both fallopian tube(s)\n* Malignant cells in ascites or peritoneal washings\n\nFIGO Stage IC3", "VALUE:RE" ], [ "350", "Limited to one or both fallopian tube(s)\n- UNKNOWN if cells in ascites or peritoneal washings\n- UNKNOWN if tumor on fallopian tube surface \n\nConfined to fallopian tube, NOS\nLocalized, NOS\n\nFIGO Stage I [NOS]", "VALUE:L" ], [ "400", "Extension to or implants on\n- Adnexa\n- Ovary(ies)\n- Uterus, NOS\n\nFIGO Stage IIA", "VALUE:RE" ], [ "450", "Extension to and/or discontinuous metastasis to pelvic sites (see Note 5)\n\nFIGO Stage IIB", "VALUE:RE" ], [ "500", "Tumor involves one or both fallopian tube(s)\n- WITH pelvic extension, NOS (below pelvic brim)\n\nFIGO Stage II [NOS]", "VALUE:RE" ], [ "600", "Microscopic peritoneal implants or microscopic peritoneal carcinomatosis \n* Beyond pelvis (above pelvic brim) (See Note 8)\n\nFIGO Stage IIIA", "VALUE:D" ], [ "650", "Macroscopic peritoneal implants or macroscopic peritoneal carcinomatosis \n* 2 cm or less in greatest dimension (beyond pelvis-above pelvic brim) (See Note 8)\n\nFIGO Stage IIIB", "VALUE:D" ], [ "700", "Macroscopic peritoneal implants or macroscopic peritoneal carcinomatosis \n* Greater than 2 cm in greatest dimension (beyond pelvis-above pelvic brim) (See Note 8)\n\nExtension or implants (microscopic, macroscopic or unknown) \n* To the peritoneal surface of the liver or splenic capsule\n - WITHOUT parenchymal involvement of either organ \n\nFIGO Stage IIIC", "VALUE:D" ], [ "750", "One or both fallopian tube(s) involved\n- WITH confirmed peritoneal metastasis or peritoneal carcinomatosis outside of the pelvis (above pelvic brim)\n- UNKNOWN if microscopic or macroscopic \n\nPeritoneal implants, NOS\n\nFurther contiguous extension\n\nFIGO Stage III [NOS]", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3385.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3385.json deleted file mode 100644 index 7f49a4446..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3385.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_3385", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Osseous plasmacytomas** \n* Osseous (medullary) plasmacytoma (9731) is a **single**, localized tumor occurring in the bone. \n* There may be soft tissue extension.\n\n**Note 2:** **Extraosseous plasmacytomas** \n* Extraosseous (extramedullary) plasmacytoma (9734) is a **single**, localized tumor that arises in tissue other than bone. \n* The most common sites are the upper respiratory tract, the gastrointestinal tract, lymph nodes, bladder, central nervous system (CNS), breast, thyroid, testis and skin.\n\n**Note 3:** **Lymphoplasmacytic lymphoma** \n* Lymphoplasmacytic lymphoma (9671) and Waldenstrom Macroglobulinemia (9761) are now collected with the plasma cell disorders. These are systemic diseases and should always be coded 700.\n\n**Note 4:** **Multiple plasmacytomas** \n* Per the 2024 WHO Classification of Tumours, Haematolymphoid Tumours, 5th edition, ***a plasmacytoma is defined as a single lesion.*** \n* If there are multiple lesions/plasmacytomas, this is diagnostic of plasma cell myeloma (9732/3) and the Plasma Cell Myeloma Schema should be used to assign EOD.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Bergsagel, P.L., Jaffe, E.S., Leonard, J.P., et al. **Plasma Cell Myeloma and Plasma Cell Disorders**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:14.607Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Single plasmacytoma occurring in bone (osseous or medullary) (9731)\nWITH or WITHOUT soft tissue extension", "VALUE:L" ], [ "200", "Single plasmacytoma occurring outside of bone (extraosseous or extramedullary) (9734)", "VALUE:L" ], [ "700", "Lymphoplasmacytic lymphoma (9671)\nWaldenstrom Macroglobulinemia (9761)", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3433.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3433.json deleted file mode 100644 index 6aba77d7b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3433.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_3433", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Periosteum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones. \n * Cortical bone is the dense compact outer layer of the bone. \n * Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** **Criteria for EOD Primary Tumor** \n* For codes 100-500, the derived EOD T is based on depth of invasion (DOI) in conjunction with size. In addition, some of the anatomical structures listed are localized for Summary Stage 2018 while others are regional for Summary Stage 2018. The anatomical structures are divided into two groups: Group 1 is for localized tumors, while Group 2 is for regional tumor. \n\n**Group 1 extension WITH any size tumor: Use the following for codes 100, 150, 200**\n\n- Invasive tumor on one side confined to mucoperiosteum (stroma)\n- Tumor crosses midline\n- Confined to hard palate, NOS\n- Localized, NOS\n\n**Group 2 extension WITH any size tumor: Use the following for codes 300, 400, 500**\n- Bone, NOS\n + Cortical bone (maxilla, palatine, NOS)\n + Maxilla, NOS\n + Palatine bone, NOS\n- Buccal mucosa (inner cheek)\n- Gingiva, upper\n- Glossopalatine arch\n- Pharyngopalatine arch\n- Soft palate including uvula\n\n\n**Note 3:** **Depth of invasion** \n* Once the correct group is determined, the codes are then determined based on the depth of invasion.\n - Depth of invasion less than or equal to 5 mm or UNKNOWN depth of invasion (codes 100, 300)\n - Depth of invasion greater than 5 mm to less than or equal to 10 mm (codes 150, 400)\n - Depth of invasion greater than 10 mm (codes 200, 500)\n\n**Note 4:** **Cortical bone** \n* Invasion through cortical bone is required for assignment of code 600.\n - Code 300, 400, or 500 (depending on the depth of invasion) when the tumor is limited to the cortical bone/cortex of maxilla. Invasion of the bone, NOS (maxilla, NOS) is **not** equivalent to invasion through the cortical bone (code 600).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:04.773Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Group 1 WITH depth of invasion (DOI) less than or equal to 5 mm\nOR unknown depth of invasion", "VALUE:L" ], [ "150", "Group 1 WITH depth of invasion (DOI) greater than 5 mm and less than or equal to 10 mm", "VALUE:L" ], [ "200", "Group 1 WITH depth of invasion (DOI) greater than 10 mm", "VALUE:L" ], [ "300", "Group 2 WITH depth of invasion (DOI) less than or equal to 5 mm\nOR unknown depth of invasion", "VALUE:RE" ], [ "400", "Group 2 WITH depth of invasion (DOI) greater than 5 mm and less than or equal to 10 mm", "VALUE:RE" ], [ "500", "Group 2 WITH depth of invasion (DOI) greater than 10 mm", "VALUE:RE" ], [ "600", "Invasion through cortical bone (maxilla, NOS)\nTrabecular bone (maxilla, palatine)", "VALUE:RE" ], [ "700", "Deep (extrinsic) muscle of tongue\n- Genioglossus \n- Hyoglossus\n- Palatoglossus\n- Styloglossus\n\nFloor of nose\nMaxillary sinus (antrum)\nNasal cavity\nNasopharynx\nSkin of face", "VALUE:D" ], [ "750", "Internal carotid artery (encased)\nMandible\nMasticator space\nPterygoid plates\nSkull base\nSpecified bone (other than maxilla)\nSphenoid bone\n\nFurther contiguous extension", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_38280.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_38280.json deleted file mode 100644 index 26edead5a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_38280.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_38280", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Periosteum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones. \n* Mucoperiosteum is a compound structure of mucous membrane and periosteum. Cortical bone is the dense compact outer layer of bone.\n\n**Note 2:** **Macroscopic extraparenchymal extension** \n* Macroscopic extraparenchymal extension (code 300) is based on clinical evaluation or macroscopic evidence of extraparenchymal extension at the time of surgery.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Shah, J.P., et al. **Major Salivary Glands**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) **Salivary Glands**, from the AJCC Cancer Staging System Version 9 (2026). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:06:03.742Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Any size tumor\n- Invasive tumor confined to gland/duct of origin\n- Multiple foci confined to substance of parotid gland\n- Confined to parotid gland, NOS\n- Confined to salivary gland, NOS\n- Confined to submandibular gland, NOS\n- Localized, NOS", "VALUE:L" ], [ "200", "Any size tumor\n- Extraparenchymal extension, NOS\n- Microscopic extraparenchymal extension ONLY to periglandular soft/connective tissue", "VALUE:RE" ], [ "300", "Macroscopic extraparenchymal extension to periglandular soft/connective tissue\n\nExtension to another major salivary gland (parotid, sublingual, submandibular, submaxillary)\n\nDeep extrinsic muscles (submandibular gland only)\n- Genioglossus\n- Geniohyoid\n- Hyoglossus\n- Mylohyoid \n- Styloglossus\n\nFacial artery or vein\nMaxillary artery\nPharyngeal mucosa (parotid gland only)\nSkeletal muscle\n- Digastric\n- Masseter (parotid gland only)\n- Pterygoid\n- Sternocleidomastoid (parotid gland only)\n- Stylohyoid", "VALUE:RE" ], [ "350", "Spinal accessory nerve", "VALUE:D" ], [ "400", "Cartilage\nEar canal\nExternal auditory meatus (parotid gland only)\nMandible\nMastoid/mastoid process (parotid gland only)\nNerves \n- Auricular (parotid gland only)\n- Facial (7th nerve) (submandibular and salivary gland only)\n- Lingual (submandibular and salivary gland only)\n\nPeriosteum of mandible \nSkin overlying gland (parotid gland only)", "VALUE:RE" ], [ "500", "Structures in code 400 with spinal accessory nerve involvement OR\n\nEsophagus\nExternal auditory meatus (submandibular and salivary gland only)\nNerves\n- Facial (7th nerve) (parotid gland only)\n- Lingual (parotid gland only)\n\nSkin overlying gland (submandibular and salivary gland only)\nSolid organ parenchyma\nTrachea", "VALUE:D" ], [ "600", "Internal carotid artery (encased)\nJugular vein (parotid gland only)", "VALUE:RE" ], [ "700", "Internal carotid artery or jugular vein with extension to structures in codes 350-500 OR\n\nIntracranial invasion\nMasticator space\nMediastinal structures\nOrbital apex\nPterygoid plates\nPrevertebral space\nSpinal column invasion\nSkull (base, NOS)\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3897.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3897.json deleted file mode 100644 index ad6ed8a77..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_3897.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_3897", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Periosteum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones. \n * Cortical bone is the dense compact outer layer of the bone. \n * Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** **Criteria for EOD Primary Tumor** \n* For codes 100-500, the derived EOD T is based on depth of invasion (DOI) in conjunction with size. In addition, some of the anatomical structures listed are localized for Summary Stage 2018 while others are regional for Summary Stage 2018. The anatomical structures are divided into two groups: Group 1 is for localized tumors, while Group 2 is for regional tumor. \n\n**Group 1 extension WITH any size tumor: Use the following for codes 100, 150, 200**\n- Invasive tumor confined to\n + Labial mucosa (inner lip)\n + Lamina propria\n + Multiple foci\n + Musculature \n + Submucosa (superficial invasion)\n- Superficial extension to\n + Skin of lip\n + Subcutaneous soft tissue of lip\n- Confined to lip, NOS\n- Localized, NOS\n\n**Group 2 extension WITH any size tumor: Use the following for codes 300, 400, 500**\n- Bone, NOS \n + Cartilage (mandible, maxilla, NOS)\n + Cortical (mandible, maxilla, NOS)\n + Mandible, NOS (lower and other lip)\n + Maxilla, NOS (upper and other lip)\n- Buccal mucosa (inner cheek)\n- Commissure\n- Gingiva, NOS\n + Lower gingiva (lower lip)\n + Upper gingiva (upper lip) (from commissure only for lower lip)\n- Opposite lip (both lips)\n\n**Note 3:** **Depth of invasion** \n* Once the correct group is determined, the codes are then determined based on the depth of invasion.\n - Depth of invasion less than or equal to 5 mm or UNKNOWN depth of invasion (codes 100, 300)\n - Depth of invasion greater than 5 mm to less than or equal to 10 mm (codes 150, 400)\n - Depth of invasion greater than 10 mm (codes 200, 500)\n\n**Note 4:** **Cortical bone** \n* Invasion through cortical bone is required for assignment of code 650.\n - Code 300, 400, or 500 (depending on the depth of invasion) when the tumor is limited to the cortical bone/cortex of the mandible or maxilla. Invasion of the bone, NOS (mandible, NOS or maxilla, NOS) is **not** equivalent to invasion through the cortical bone (code 650).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:03.010Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Group 1 WITH depth of invasion (DOI) less than or equal to 5 mm\nOR unknown depth of invasion", "VALUE:L" ], [ "150", "Group 1 WITH depth of invasion (DOI) greater than 5 mm and less than or equal to 10 mm", "VALUE:L" ], [ "200", "Group 1 WITH depth of invasion (DOI) greater than 10 mm", "VALUE:L" ], [ "300", "Group 2 WITH depth of invasion (DOI) less than or equal to 5 mm\nOR unknown depth of invasion", "VALUE:RE" ], [ "400", "Group 2 WITH depth of invasion (DOI) greater than 5 mm and less than or equal to 10 mm", "VALUE:RE" ], [ "500", "Group 2 WITH depth of invasion (DOI) greater than 10 mm", "VALUE:RE" ], [ "550", "Trabecular (mandible, maxilla, NOS)", "VALUE:RE" ], [ "600", "Floor of mouth\nInferior alveolar nerve\nNose \nSkin of face/neck\nTongue", "VALUE:D" ], [ "650", "Invasion through cortical bone\n\nMandible, NOS (upper lip)\nMaxilla, NOS (lower lip)\nUpper gingiva (from lower lip)", "VALUE:RE" ], [ "700", "Invasion through cortical bone with extension to structures in code 600 OR\n\nInternal carotid artery (encased)\nMasticator space\nPterygoid plates\nSpecified bone (other than mandible, maxilla)\nSkull base\n\nFurther contiguous extension", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_40607.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_40607.json deleted file mode 100644 index 725c94342..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_40607.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_40607", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Benign/Borderline** \n* Benign (/0) or Borderline (/1) tumors **are always coded to 050** regardless of size, extension to adjacent sites, or multiple tumors. \n\n**Note 2:** **Midline shift** \n* A midline shift is not the same thing as crossing the midline (code 500).\n* Documentation must state \"crossing/crosses the midline\"\n\n**Note 3:** **Drop metastasis** \n* Discontiguous spread, or \"drop metastasis\" are coded in EOD Mets.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Brain and Spinal Cord**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:54.444Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "050", "Benign or borderline brain\n* Behavior is /0 or /1", "VALUE:B" ], [ "100", "Confined to tissue or site of origin\n\nLocalized, NOS", "VALUE:L" ], [ "500", "Adjacent connective/soft tissue\nAdjacent muscle\nBone (skull) (See code 700 for other bone involvement)\nBrain for cranial nerve tumor(s) (See code 700 for sites other than cranial nerve tumors)\nMajor blood vessel(s)\nMeningeal tumor infiltrates nerve\nNerve tumor infiltrates meninges (dura)\nSphenoid and frontal sinuses (skull)", "VALUE:RE" ], [ "700", "Bone other than skull (see code 500 for skull)\nBrain except for cranial nerve tumor(s) (See code 500 for cranial nerve tumors)\nEye\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_42615.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_42615.json deleted file mode 100644 index cdd2f73ad..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_42615.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_42615", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Cortex of the bone**\n* The cortex of a bone is the dense outer shell that provides strength to the bone; the spongy center of a bone is the cancellous portion. \n* The periosteum of the bone is the fibrous membrane covering of a bone that contains the blood vessels and nerves; the periosteum is similar to the capsule on a visceral organ.\n\n**Note 2:** **Number of pelvic segments** \n* The number of pelvic segments involved by the primary tumor determines the appropriate EOD Primary Tumor (codes 100 through 550). The four pelvic segments used in these codes are: \n * Acetabulum\n * Iliac wing\n * Pubic ramus/Symphysis/Ischium\n * Sacrum", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kneisl, J.S., Rosenberg, A.E., et al. **Bone**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:13.429Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Any size tumor\n- One pelvic segment involved AND no extraosseous extension", "VALUE:L" ], [ "200", "Code 100 WITH extraosseous extension\n- Beyond periosteum to surrounding tissues, including adjacent skeletal muscle(s)", "VALUE:RE" ], [ "300", "Any size tumor\n- Two pelvic segments involved AND no extraosseous extension", "VALUE:L" ], [ "400", "Code 300 WITH extraosseous extension\n- Beyond periosteum to surrounding tissues, including adjacent skeletal muscle(s)", "VALUE:RE" ], [ "500", "At least three pelvic segments involved, NOS", "VALUE:L" ], [ "550", "Code 500 WITH extraosseous extension\n- Beyond periosteum to surrounding tissues, including adjacent skeletal muscle(s)", "VALUE:RE" ], [ "600", "Confined to pelvis, NOS\n* Number of segments involved not known\n\nLocalized, NOS", "VALUE:L" ], [ "650", "Sacroiliac joint\nSacral neuroforamen", "VALUE:D" ], [ "700", "Encasement of external iliac vessels", "VALUE:D" ], [ "750", "Gross tumor thrombus in major pelvic vessels\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_43548.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_43548.json deleted file mode 100644 index a12d385bf..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_43548.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_43548", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Periosteum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones. \n * Cortical bone is the dense compact outer layer of the bone. \n * Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** **Criteria for EOD Primary Tumor** \n* For codes 100-500, the derived EOD T is based on depth of invasion (DOI) in conjunction with size. In addition, some of the anatomical structures listed are localized for Summary Stage 2018 while others are regional for Summary Stage 2018. The anatomical structures are divided into two groups: Group 1 is for localized tumors, while Group 2 is for regional tumor. \n\n**Group 1 extension WITH any size tumor: Use the following for codes 100, 150, 200**\n- Invasive tumor confined to\n + Lamina propria\n + Musculature (buccinator)\n + Submucosa\n- Confined to mouth, NOS\n- Localized, NOS\n\n**Group 2 extension WITH any size tumor: Use the following for codes 300, 400, 500**\n- Adjacent oral cavity \n- Oropharynx\n + Inferior surface of soft palate\n + Lateral pharyngeal wall\n + Lingual surface of epiglottis\n + Vallecula \n\n**Note 3:** **Depth of invasion** \n* Once the correct group is determined, the codes are then determined based on the depth of invasion.\n - Depth of invasion less than or equal to 5 mm or UNKNOWN depth of invasion (codes 100, 300)\n - Depth of invasion greater than 5 mm to less than or equal to 10 mm (codes 150, 400)\n - Depth of invasion greater than 10 mm (codes 200, 500)\n\n**Note 4:** **Cortical bone** \n* Invasion through cortical bone is required for assignment of code 600.\n - Code 300, 400, or 500 (depending on the depth of invasion) when the tumor is limited to the cortical bone/cortex of the mandible or maxilla. Invasion of the bone, NOS (mandible, NOS or maxilla, NOS) is **not** equivalent to invasion through the cortical bone (code 600).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:05.119Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Group 1 WITH depth of invasion (DOI) less than or equal to 5 mm\nOR unknown depth of invasion", "VALUE:L" ], [ "150", "Group 1 WITH depth of invasion (DOI) greater than 5 mm and less than or equal to 10 mm", "VALUE:L" ], [ "200", "Group 1 WITH depth of invasion (DOI) greater than 10 mm", "VALUE:L" ], [ "300", "Group 2 WITH depth of invasion (DOI) less than or equal to 5 mm\nOR unknown depth of invasion", "VALUE:RE" ], [ "400", "Group 2 WITH depth of invasion (DOI) greater than 5 mm and less than or equal to 10 mm", "VALUE:RE" ], [ "500", "Group 2 WITH depth of invasion (DOI) greater than 10 mm", "VALUE:RE" ], [ "600", "Bone, NOS\n- Cartilage (mandible, maxilla, NOS)\n- Cortical bone (mandible, maxilla, NOS)\n- Trabecular bone (mandible, maxilla, palatine, NOS)\n\nDeep (extrinsic) muscle of tongue\n- Genioglossus \n- Hyoglossus \n- Palatoglossus \n- Styloglossus\n\nMaxillary antrum (sinus)\nNasal cavity\nSkin of face/neck\nTongue", "VALUE:D" ], [ "700", "Internal carotid artery (encased)\nMasticator space\nPterygoid plates\nSkull base\nSpecified bone (other than mandible, maxilla, palatine)\n\nFurther contiguous extension", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_4717.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_4717.json deleted file mode 100644 index c0ba99a41..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_4717.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_4717", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **FIGO and extension detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to code primary tumor in preference to a statement of FIGO stage.\n\n**Note 2:** **Extension to vagina** \n* EOD Primary Tumor includes direct extension or discontinuous metastasis to the vagina (see codes 400 and 550).\n\n**Note 3:** **Extension to adnexa or uterine serosa** \n* EOD Primary tumor excludes metastasis to adnexa or uterine serosa (See EOD Mets).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Dizon, D.S., Olawaiye, A.B., Mutch, D.G., et al. **Corpus Uteri - Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:52.187Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Localized, NOS\n* Confined to cervix uteri or uterus, NOS\n * Except corpus uteri, NOS (see code 200)\n\nFIGO Stage IA, IB, I [NOS]", "JUMP:peritoneal_cytology_with_primary_tumor_for_ss2018_t_88427" ], [ "200", "Corpus uteri, NOS\n* Confined to corpus uteri\n* Size, depth and horizontal spread unknown", "VALUE:RE" ], [ "300", "Extension of metastasis within true pelvis\n* Fallopian tube(s)\n* Ligaments (broad, round, uterosacral)\n* Ovary(ies)\n* Parametrium\n* Visceral peritoneum of pelvic organs\n\nFIGO Stage IIA", "VALUE:RE" ], [ "400", "Cul de sac (rectouterine pouch)\nParietal serosa of pelvic cavity\nPelvic wall(s)\nUreter, intra- and extramural\nVagina, NOS\nVaginal wall, NOS\n Vulva\n\nDescribed clinically as \"frozen pelvis,\" NOS\n\nFIGO Stage IIB", "VALUE:RE" ], [ "500", "Invasion beyond uterus, NOS\n\nFIGO Stage II [NOS]", "VALUE:RE" ], [ "550", "Infiltration of abdominal tissues, one of the following sites\n\n* Bladder wall\n* Bladder, NOS excluding mucosa\n* Hydronephrosis or nonfunctioning kidney\n* Pelvic wall(s)\n* Rectum, NOS, excluding mucosa\n* Rectal wall\n* Urethra", "VALUE:D" ], [ "600", "Infiltration of abdominal tissues (code 550), more than one site\n\nFIGO Stage IIIB", "VALUE:D" ], [ "650", "Abdominal tissues involvement, NOS\n\nFIGO Stage III [NOS]", "VALUE:D" ], [ "700", "Bladder wall \nBladder, NOS excluding mucosa\nRectal wall\nRectum, NOS excluding mucosa", "VALUE:RE" ], [ "750", "Bladder mucosa \n* For bullous edema of bladder mucosa, see code 550\nRectal mucosa\nSigmoid colon\nSmall intestine\n\nFIGO Stage IVA\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_50451.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_50451.json deleted file mode 100644 index 390d899e3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_50451.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_50451", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Periosteum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones. \n* Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** **Criteria for EOD Primary Tumor** \n* For codes 100-500, the derived EOD T is based on depth of invasion (DOI) in conjunction with size. In addition, some of the anatomical structures listed are localized for Summary Stage 2018 while others are regional for Summary Stage 2018. The anatomical structures are divided into two groups: Group 1 is for localized tumors, while Group 2 is for regional tumors. \n\n**Group 1 extension WITH any size tumor: Use the following for codes 100, 150, 200**\n- Invasive tumor confined to\n + Lamina propria\n + Musculature (buccinator)\n + Submucosa\n- Confined to buccal mucosa (inner cheek), NOS\n- Localized, NOS\n\n**Group 2 extension WITH any size tumor: Use the following for codes 300, 400, 500**\n- Gingiva\n- Lateral pharyngeal wall\n- Lip(s) including commissure\n- Subcutaneous soft tissue of cheek\n- Tonsillar pillars and fossae\n- Tonsils\n\n**Note 3:** **Depth of invasion** \n* Once the correct group is determined, the codes are then determined based on the depth of invasion.\n - Depth of invasion less than or equal to 5 mm or UNKNOWN depth of invasion (codes 100, 300)\n - Depth of invasion greater than 5 mm to less than or equal to 10 mm (codes 150, 400)\n - Depth of invasion greater than 10 mm (codes 200, 500)\n\n**Note 4:** **Cortical bone** \n* Invasion through cortical bone is required for assignment of code 600.\n - Code 300, 400, or 500 (depending on the depth of invasion) when the tumor is limited to the cortical bone/cortex of the mandible or maxilla. Invasion of the bone, NOS (mandible, NOS or maxilla, NOS) is **not** equivalent to invasion through the cortical bone (code 600).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:03.384Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Group 1 WITH depth of invasion (DOI) less than or equal to 5 mm\nOR unknown depth of invasion", "VALUE:L" ], [ "150", "Group 1 WITH depth of invasion (DOI) greater than 5 mm and less than or equal to 10 mm", "VALUE:L" ], [ "200", "Group 1 WITH depth of invasion (DOI) greater than 10 mm", "VALUE:L" ], [ "300", "Group 2 WITH depth of invasion (DOI) less than or equal to 5 mm\nOR unknown depth of invasion", "VALUE:RE" ], [ "400", "Group 2 WITH depth of invasion (DOI) greater than 5 mm and less than or equal to 10 mm", "VALUE:RE" ], [ "500", "Group 2 WITH depth of invasion (DOI) greater than 10 mm", "VALUE:RE" ], [ "600", "Invasion through cortical bone\n\nBone, NOS\n- Cartilage (mandible, maxilla, NOS)\n- Cortical bone (mandible, maxilla, NOS)\n- Mandible, NOS\n- Maxilla, NOS\n- Palatine, NOS\n- Trabecular bone (mandible, maxilla, palatine, NOS)\n\nDeep (extrinsic) muscle of tongue\n- Genioglossus\n- Hyoglossus\n- Palatoglossus\n- Styloglossus \n\nMaxillary sinus (antrum) \nNasal cavity\nSkin of cheek (WITH or WITHOUT ulceration)\nTongue", "VALUE:D" ], [ "700", "Internal carotid artery (encased)\nMasticator space\nPterygoid plates\nSkull base\nSpecified bone (other than maxilla, mandible, palatine)\n\nFurther contiguous extension", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_53330.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_53330.json deleted file mode 100644 index 222ddc2fd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_53330.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_53330", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Periosteum**\n* Periosteum is a fibrous membrane that wraps the outer surface of bones. \n* Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** **Criteria for EOD Primary Tumor** \n* For codes 100-500, the derived EOD T is based on depth of invasion (DOI) in conjunction with size. In addition, some of the anatomical structures listed are localized for Summary Stage 2018 while others are regional for Summary Stage 2018. The anatomical structures are divided into two groups: Group 1 is for localized tumors, while Group 2 is for regional tumor. \n\n**Group 1 extension WITH any size tumor: Use the following for codes 100, 150, 200**\n- Invasive tumor on one side confined to\n + Lamina propria\n + Musculature of tongue, intrinsic or NOS\n + Submucosa\n- Tumor cross midline/midline tumor\n- Confined to anterior tongue, NOS\n- Localized, NOS\n\n**Group 2 extension WITH any size tumor: Use the following for codes 300, 400, 500**\n- Base of tongue\n- Bone, NOS\n + Bone (mandible, maxilla, palatine)\n + Cartilage (mandible, maxilla, NOS)\n + Cortical bone, invasion of (mandible, maxilla, NOS)\n- Floor of mouth\n- Gingiva, lower\n- Retromolar trigone\n- Sublingual gland\n\n**Note 3:** **Depth of invasion** \n* Once the correct group is determined, the codes are then determined based on the depth of invasion.\n- Depth of invasion less than or equal to 5 mm or UNKNOWN depth of invasion (codes 100, 300)\n- Depth of invasion greater than 5 mm to less than or equal to 10 mm (codes 150, 400)\n- Depth of invasion greater than 10 mm (codes 200, 500)\n\n**Note 4:** **Cortical bone** \n* Invasion through cortical bone is required for assignment of code 650.\n - Code 300, 400, or 500 (depending on the depth of invasion) when the tumor is limited to the cortical bone/cortex of the mandible or maxilla. Invasion of the bone, NOS (mandible, NOS or maxilla, NOS) is **not** equivalent to invasion through the cortical bone (code 650).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:02.661Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Group 1 WITH depth of invasion (DOI) less than or equal to 5 mm\nOR unknown depth of invasion", "VALUE:L" ], [ "150", "Group 1 WITH depth of invasion (DOI) greater than 5 mm and less than or equal to 10 mm", "VALUE:L" ], [ "200", "Group 1 WITH depth of invasion (DOI) greater than 10 mm", "VALUE:L" ], [ "300", "Group 2 WITH depth of invasion (DOI) less than or equal to 5 mm\nOR unknown depth of invasion", "VALUE:RE" ], [ "400", "Group 2 WITH depth of invasion (DOI) greater than 5 mm and less than or equal to 10 mm", "VALUE:RE" ], [ "500", "Group 2 WITH depth of invasion (DOI) greater than 10 mm", "VALUE:RE" ], [ "600", "Lateral pharyngeal wall\nSoft palate, inferior surface\nTonsillar pillars and fossae\nTonsils", "VALUE:RE" ], [ "650", "Invasion through cortical bone (mandible, maxilla, NOS)\n\nDeep (extrinsic) muscles of tongue\n- Genioglossus\n- Geniohyoid\n- Hyoglossus\n- Mylohyoid\n- Palatoglossus\n- Styloglossus\n \nMaxillary sinus (antrum)\nTrabecular bone (mandible, maxilla, NOS)\n Skin of face", "VALUE:D" ], [ "700", "Internal carotid artery (encased)\nMasticator space\nPterygoid plates\nSkull base\nSpecified bone (other than mandible, maxilla)\n\nFurther contiguous extension", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_55521.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_55521.json deleted file mode 100644 index 6f2c68bbf..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_55521.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_primary_tumor_55521", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor V9", - "title" : "EOD Primary Tumor V9", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bergsland, E.K., Woltering, E.A., Klimstra, D.S., et al. **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:08.839Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Tumor less than or equal to 1 cm AND confined to\n- Intramucosal, NOS\n- Lamina propria (including in a polyp)\n- Mucosa, NOS\n- Muscularis mucosae (including in a polyp)\n- Submucosa (superficial invasion) (including in a polyp)\n\nLimited to ampulla of Vater or extending to sphincter of Oddi\nLocalized, NOS", "VALUE:L" ], [ "200", "Tumor greater than 1 cm\n\nOR Invades muscularis propria", "VALUE:L" ], [ "300", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS \nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS \nWall, NOS", "VALUE:L" ], [ "400", "Adjacent (connective) tissue(s), NOS (without serosal penetration)\nAmpulla of Vater\nFat, NOS\nMesenteric fat\nMesentery (adjacent loops of bowel)\nNonperitonealized perimuscular tissue\nPancreas\nPancreatic duct\nRetroperitoneum", "VALUE:RE" ], [ "500", "Periduodenal soft tissue\nPeripancreatic soft tissue", "VALUE:D" ], [ "600", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum)\n\nBlood vessel(s) (major)\n- Common hepatic artery\n- Portal vein\n- Superior mesenteric artery\n\nCeliac (axis) artery\nColon (hepatic flexure, transverse colon)\nCommon bile duct\nExtrahepatic bile duct(s) \nGallbladder\nLiver, including porta hepatis\nOmentum (lesser)\nStomach (distal, proximal, NOS)", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown extension\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_60922.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_60922.json deleted file mode 100644 index a7db59348..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_60922.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_60922", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Benign/borderline tumors** \n* Benign (/0) or Borderline (/1) tumors **are always coded to 050** regardless of size, extension to adjacent sites, or multiple tumors. \n * **Note:** Benign (/0) or Borderline (/1) Medulloblastoma's are very rare.\n\n**Note 2:** **Single tumors** \n* For invasive tumors, EOD Primary tumor is coded only for **single tumors confined to the primary site** (see code 150) or a **single** tumor crossing the midline without extension to adjacent structures (see code 250).\n * Code 999 if there are multiple tumors in the brain\n * The presence of multiple tumors is recorded in EOD Mets\n\n**Note 3:** **Midline shift** \n* A midline shift is not the same thing as crossing the midline\n * Code 150 if you have a single tumor confined to the primary site with a midline shift that is not extending into adjacent structures (see Note 4). \n\n**Note 4:** **Types of extension coded in EOD Mets** \n* Direct or contiguous extension to an adjacent site is collected in EOD Mets. \n * If the only information available is extension to an adjacent site, code EOD Primary Tumor 999 and assign the appropriate EOD Mets code\n* The following are collected in EOD Mets (see code 25 for all except circulating cells in CSF (code 15))\n * Adjacent connective/soft tissue\n * Adjacent muscle\n * Bone\n * Circulating cells in cerebral spinal fluid (CSF)\n * Major blood vessel(s)\n * Meninges (e.g.; dura)\n * Multiple/multifocal tumors\n * Nerves (cranial, NOS)\n * Ventricular system", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Brain and Spinal Cord**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:55.310Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "050", "Benign or borderline brain\n* Behavior is /0 or /1", "VALUE:B" ], [ "150", "Single tumor\n* Single tumor confined to the primary site with no invasion or seeding to other structures\n\nConfined to site of origin, NOS\nLocalized, NOS", "VALUE:L" ], [ "250", "Single tumor\n* Single tumor confined to the primary site that crosses the midline \n * WITHOUT invasion of adjacent structures (see Note 4)", "VALUE:RE" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nMultiple tumors (see Note 2)\nSingle tumor with extension to an adjacent site (see Note 4)\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72244.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72244.json deleted file mode 100644 index 98090de67..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72244.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_72244", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **FIGO and extension information** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the code in preference to a statement of FIGO stage.\n\n**Note 2:** **STIC** \n* Code 050 is for the following in situ histology (behavior /2) only\n - High-grade serous tubal intraepithelial carcinoma (STIC) (8441/2)\n\n**Note 3:** **Malignant ascites** \n* Tumors in codes 100-250 with malignant ascites are coded 300. \n * Ascites, NOS should be excluded as a staging element\n\n**Note 4:** **Fallopian tube involvement** \n* If there is involvement of the fallopian tube with no further evidence of extension, and the physician verifies this is an ovary primary, code 400.\n\n**Note 5:** **Pelvic organs** \n* Both extension to and/or discontinuous metastasis to any of the following pelvic organs are included in code 450\n - Adjacent (pelvic) peritoneum\n - Bladder\n - Bladder serosa\n - Cul de sac (rectouterine pouch)\n - Ligament(s) (broad, ovarian, round, suspensory)\n - Mesosalpinx (Mesovarium) \n - Parametrium\n - Pelvic wall\n - Rectosigmoid\n - Rectum\n - Sigmoid colon (including sigmoid mesentery)\n - Ureter (pelvic portion)\n\n**Note 6:** **Peritoneal implants** \n* Peritoneal implants or peritoneal carcinomatosis may also be called seeding, salting, talcum powder appearance, or studding.\n * Code 600, 650, or 700 based on microscopic or the macroscopic size\n* Extraperitoneal carcinomatosis are coded in EOD Mets (code 50)\n\n**Note 7:** **Location of peritoneal implants** \n* If implants are mentioned, determine whether they are in the pelvis or in the abdomen and code appropriately. If the location of the implants is not specified, code 750.\n\n**Note 8:** **Abdominal organs** \n* Both extension to and/or discontinuous metastasis to any of the following abdominal organs by way of peritoneal seeding or implants are included in codes 600-750\n - Abdominal mesentery\n - Diaphragm\n - Gallbladder\n - Intestine, large (except rectum, rectosigmoid and sigmoid colon)\n - Kidneys\n - Omentum (infracolic, NOS)\n - Pancreas\n - Pericolic gutter\n - Peritoneum, NOS\n - Small intestine\n - Stomach\n - Ureters (outside pelvis)\n\n**Note 9:** **Peritoneal surface of the liver** \n* Tumor limited to the peritoneal surface of the liver or splenic capsule is coded 700, regardless of the size (microscopic or macroscopic).\n - Any **parenchymal** involvement of the liver or spleen is coded in EOD Mets (code 50)\n\n**Note 10:** **Benign/borderline tumors** \n* In some registries benign/borderline ovarian tumors are reportable by agreement. \n * If the tumor being reported is benign or borderline, code 999.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Prat, J., Olawaiye, A.B., Mutch, D.G., et al. **Ovary, Fallopian Tube, and Primary Peritoneal Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:19.560Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive, preinvasive \nLow grade (LGSC) serous tubal intraepithelial carcinoma (STIC) (8441/2)\nSerous tubal intraepithelial carcinoma (STIC) (no grade) (8441/2)", "VALUE:IS" ], [ "050", "High-grade serous tubal intraepithelial carcinoma (STIC) (8441/2)", "VALUE:IS" ], [ "100", "Limited to one ovary (capsule intact) AND\n* No tumor on ovarian surface AND\n* No malignant cells in ascites or peritoneal washings\n* WITH or WITHOUT high-grade serous tubal intraepithelial carcinoma (STIC)\n\nFIGO Stage IA", "VALUE:L" ], [ "150", "Limited to both ovaries (capsule(s) intact) AND\n* No tumor on ovarian surface AND\n* No malignant cells in ascites or peritoneal washings\n\nFIGO Stage IB", "VALUE:L" ], [ "200", "Limited to one or both ovaries\n- WITH surgical spill\n\nFIGO Stage IC1", "VALUE:L" ], [ "250", "Limited to one or both ovaries\n* WITH capsule ruptured before surgery OR\n* WITH tumor on ovarian surface \n\nFIGO Stage IC2", "VALUE:RE" ], [ "300", "Limited to one or both ovaries\n* Malignant cells in ascites or peritoneal washings\n\nFIGO Stage IC3", "VALUE:RE" ], [ "350", "Limited to one or both ovaries\n- UNKNOWN if capsule(s) ruptured\n- UNKNOWN if cells in ascites or peritoneal washings\n- UNKNOWN if surgical spill or capsule ruptured\n- UNKNOWN if tumor on ovarian surface \n\nConfined to ovary, NOS\nLocalized, NOS\n\nFIGO Stage I [NOS]", "VALUE:L" ], [ "400", "Extension to or implants on\n- Adnexa\n- Fallopian tube(s)\n- Uterus, NOS\n\nFIGO Stage IIA", "VALUE:RE" ], [ "450", "Extension to and/or discontinuous metastasis \n* To pelvic sites (See Note 5)\n\nFIGO Stage IIB", "VALUE:RE" ], [ "500", "Tumor involves one or both ovaries\n- WITH pelvic extension, NOS (below pelvic brim)\n\nFIGO Stage II [NOS]", "VALUE:RE" ], [ "600", "Microscopic peritoneal implants or microscopic peritoneal carcinomatosis\n* Beyond pelvis (above pelvic brim) (See Note 8)\n\nFIGO Stage IIIA", "VALUE:D" ], [ "650", "Macroscopic peritoneal implants or macroscopic peritoneal carcinomatosis\n* 2 cm or less in greatest dimension (beyond pelvis-above pelvic brim) (See Note 8)\n\nFIGO Stage IIIB", "VALUE:D" ], [ "700", "Macroscopic peritoneal implants or macroscopic peritoneal carcinomatosis\n* Greater than 2 cm in greatest dimension (beyond pelvis-above pelvic brim) (See Note 8)\n\nExtension or implants (microscopic, macroscopic or unknown) to the peritoneal surface of the liver or splenic capsule\n * WITHOUT parenchymal involvement of either organ\n\nFIGO Stage IIIC", "VALUE:D" ], [ "750", "One or both ovaries involved\n- WITH confirmed peritoneal metastasis or peritoneal carcinomatosis outside of the pelvis (above pelvic brim)\n- UNKNOWN if microscopic or macroscopic \n\nPeritoneal implants, NOS\n\nFurther contiguous extension\n\nFIGO Stage III [NOS]", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72245.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72245.json deleted file mode 100644 index 598315fa6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72245.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_72245", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Lymphatic sites (nodal regions)** \n* Lymph nodes (C770-C779)\n* Waldeyer's ring (tonsils) (C024, C090-C099, C111, C142)\n* Spleen (C422)\n* Thymus (C379)\n\n**Note 2:** **Defining multiple lymph node regions** \n* Use the AJCC definitions for lymph node regions (Chapter 79, Figure 79.1) to determine when single (code 100) or multiple (300-600) lymph node regions are involved. \n* See also the Hematopoietic Manual, Appendix C, for definition of lymph node regions.\n\n**Note 3:** **Extralymphatic sites** \n* Extralymphatic sites (extranodal regions) include all other sites (e.g., stomach, colon, lung, breast, nasopharynx). \n\n**Note 4:** **Lymph node involvement** \n* Any mention of the terms including fixed, matted, mass in the hilum, mediastinum, retroperitoneum, and/or mesentery, palpable, enlarged, shotty, lymphadenopathy are all regarded as involvement for lymphomas when determining appropriate code.\n\n**Note 5:** **Bulky disease** \n* Bulky disease\" (code 500) varies by the lymphoma histology. For Hodgkin lymphoma, it is defined as the ratio between the maximum diameter of the mediastinal mass and maximal intrathoracic diameter based on CT imaging in the Lugano classification. \n* Bulk of other disease is defined as a mass greater than 10 cm. For non-Hodgkin lymphomas, the main criteria is based on size with cutoffs ranging from 5-10 cm, although 10 cm is recommended.\n\n**Note 6:** **Limited versus Advanced Stage** \n* Lymphomas confined to a single lymphatic or extralymphatic site WITH or WITHOUT involvement of lymph node regions on the SAME side of the diaphragm are also referred to as \"limited stage.\" (Codes 100-500). \n* Lymphomas with involvement on BOTH sides of the diaphragm or other metastatic disease are also referred to as \"advanced stage\" (Codes 500-800).\n * Bulky disease may be either early or advanced stage based on the lymphoma histology or other factors\n\n**Note 7:** **Liver involvement** \n* Clinical enlargement of the liver is not enough to indicate involvement. Involvement is indicated by diffuse uptake or mass lesion or abnormal liver function tests. Liver biopsy may be used to confirm equivocal involvement.\n * Any involvement of liver (including primary liver lymphoma) is coded as 800\n\n**Note 8:** **Splenic involvement** \n* Splenic involvement is based on splenomegaly and FDG-PET or CT scans that state diffuse update, solitary mass, miliary lesions, or enlargement of greater than 13 cm\n * A physician’s statement of splenomegaly may be used \n * FDG uptake in the spleen that is not diffuse is not enough to code as splenic involvement \n\n**Note 9:** **Lung involvement** \n* Lung involvement is indicated by pulmonary nodules or parenchymal involvement on FDG-PET or CT in the absence of other likely causes. \n* Lung biopsy may be used to confirm equivocal involvement.\n* Multifocal lung involvement is coded as 700 or 800 based on lung mets, code also \"Mets at Dx-Lung as 1\n\n**Note 10:** **Bone involvement** \n* Bone involvement (excluding bone marrow involvement, see Note 11) is indicated by avid lesions on FDG-PET. \n* Bone biopsy may be used to confirm equivocal involvement. \n* Bone involvement (except for bone primary lymphomas) is coded as 800. Code also \"Mets at Dx-Bone\" as 1. (See Note 11 on how to code bone marrow involvement)\n\n**Note 11:** **CNS Involvement** \n* Central nervous system (CNS) involvement is often suspected due to symptoms and can be confirmed by plain radiology, CT scan, or MRI. Cerebrospinal fluid (CSF) examination by flow cytometry may be done. \n* CNS involvement may be the result of soft tissue disease representing extension from bone metastasis or parenchymal brain disease. \n * CNS involvement (except for CNS primary lymphomas) is coded as 800. Code also \"Mets at Dx-Brain\" as 1\n * CSF involvement is coded as 800. Code also \"Mets at Dx-Other\" as 1\n\n**Note 12:** **Peripheral Blood Involvement** \n* Peripheral blood involvement is assessed by an aspiration or peripheral blood smear.\n* Primary site is coded to bone marrow (C421): Do not code \"Met at Dx-Other\" as 1 \n - In cases where peripheral blood smear is not performed, but a physician's clinical assessment indicates peripheral blood involvement, the physician's clinical assessment can be used\n - If **ONLY** the peripheral blood is involved, code 750\n - If there is peripheral blood involvement **WITH** other involvement, code 800\n\n**Note 13:** **Bone Marrow involvement** \n* Bone marrow involvement is assessed by an aspiration and bone marrow biopsy. \n+ Bone marrow involvement is coded as 800. Code also \"Mets at Dx-Other\" as 1. Do not code to \"Mets at Dx-Bone\" as 1\n - If only involvement is bone marrow, code primary site to bone marrow (C421), EOD Primary Tumor 800. Do not code \"Mets at Dx-Other\" as 1\n - In cases where bone marrow biopsy/aspiration is not performed, but a physician's clinical assessment indicates bone marrow involvement, the physician's clinical assessment can be used\n\n**Note 14:** **Bilateral sites** \n* Code 800 for involvement of bilateral sites (i.e.; breast, eye, kidney, etc.).\n * *Example*: Patient with extranodal non-Hodgkin's Lymphoma, involving bilateral choroids, (single focus both sites), and no lymph node involvement. \n * Code 800 for bilateral involvement of choroids (eye)\n\n**Note 15:** **B Symptoms** \n* See the data item *B symptoms* [NAACCR Data Item Number: #3812] to code the presence or absence of B symptoms.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Zelenetz, A.D., Jaffe, E.S., Leonard, J.P., et al. **Hodgkin and Non-Hodgkin Lymphomas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) Link, M.P., Jaffe, E.S., Leonard, J.P. **Pediatric Hodgkin and Non-Hodgkin Lymphomas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:00.640Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Nodal lymphomas\n\n+ Single lymph node region involved\n\n+ Involvement of multiple nodal chains in the SAME lymph node region", "VALUE:L" ], [ "200", "Extranodal lymphomas\n- Single extralymphatic site\n + WITHOUT nodal involvement\n- Multifocal (multiple tumors, noncontiguous) involvement of **ONE** extralymphatic organ site\n + WITHOUT nodal involvement (see code 700 for WITH nodal involvement)\n + ***Exception:*** See code 800 for multifocal lung involvement or any liver involvement", "VALUE:L" ], [ "300", "Nodal lymphomas\n- Two or more lymph node regions involved\n + SAME side of diaphragm", "VALUE:RE" ], [ "400", "Nodal lymphomas\n - Contiguous extralymphatic extension from nodal/lymphatic site\n + WITH or WITHOUT involvement of other nodal regions\n * on SAME side of diaphragm\n\nExtranodal lymphomas\n- Localized involvement of a single extralymphatic organ/site \n + WITH involvement of its regional lymph node(s) OR\n + WITH involvement of other lymph node(s) on the SAME side of the diaphragm", "VALUE:RE" ], [ "500", "Codes 300 or 400 with bulky disease", "VALUE:RE" ], [ "575", "Nodal and Extranodal lymphomas\n* Involvement of lymph node regions on BOTH sides of the diaphragm\n * WITHOUT or UNKNOWN spleen involvement", "VALUE:D" ], [ "600", "Nodal and Extranodal lymphomas-spleen involvement\n* Involvement of lymph node regions on BOTH sides of the diaphragm WITH spleen involvement\n * Includes involvement of lymph nodes ABOVE the diaphragm WITH spleen involvement", "VALUE:D" ], [ "700", "* Diffuse or disseminated involvement **ONE OR MORE extralymphatic organ(s)/site(s)** \n * WITH or WITHOUT nodal involvement\n * ***Exception:*** See code 800 for multifocal/noncontiguous lung involvement or any liver involvement \n \n* Involvement of isolated extralymphatic organ in absence of involvement of adjacent lymph nodes, but in conjunction with disease in distant sites\n\n* Multifocal/noncontiguous (multiple tumors/masses) involvement of **ONE or MORE** extralymphatic organ/site\n * WITH nodal involvement \n - ***Exception***: See code 800 for multifocal/noncontiguous lung involvement or any liver involvement", "VALUE:D" ], [ "750", "Peripheral blood involvement ONLY", "VALUE:D" ], [ "800", "Diffuse or disseminated \n- Bone\n- Central nervous system (CNS)\n\nAny involvement of\n- Bone marrow\n- Cerebrospinal fluid (CSF)\n- Liver\n- Lung, multiple lesions (other than by direct extension in code 400)\n- Peripheral blood involvement WITH other involvement\n\nDistant metastasis, NOS", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72332.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72332.json deleted file mode 100644 index 0e34de519..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_72332.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_72332", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Cortex of the bone**\n* The cortex of a bone is the dense outer shell that provides strength to the bone; the spongy center of a bone is the cancellous portion. \n* The periosteum of the bone is the fibrous membrane covering of a bone that contains the blood vessels and nerves; the periosteum is similar to the capsule on a visceral organ.\n\n**Note 2:** **Vertebral segments**\n* The number of vertebral segments involved by the primary tumor determines the appropriate EOD Primary Tumor (codes 100 through 400). The five vertebral segments used in these codes are:\n * Body (left)\n * Body (right)\n * Pedicle (left)\n * Pedicle (right)\n * Posterior element", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kneisl, J.S., Rosenberg, A.E., et al. **Bone**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:19.017Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Involvement of one vertebral segments", "VALUE:L" ], [ "200", "Involvement of two adjacent vertebral segments", "VALUE:L" ], [ "300", "Involvement of three adjacent vertebral segments", "VALUE:L" ], [ "400", "Involvement of four or more adjacent vertebral segments", "VALUE:L" ], [ "450", "Confined to spine, NOS\n* Number of segments involved not known\n\nLocalized, NOS", "VALUE:L" ], [ "500", "Involvement of nonadjacent vertebral segments", "VALUE:RE" ], [ "650", "Spinal canal", "VALUE:RE" ], [ "700", "Gross vascular invasion\nTumor thrombus in great vessels", "VALUE:D" ], [ "750", "Extension beyond periosteum to surrounding tissues, including adjacent skeletal muscle(s)", "VALUE:RE" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_81646.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_81646.json deleted file mode 100644 index 76ada4c9a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_81646.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_81646", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Intrinsic and extrinsic muscles** \n* The intrinsic muscles of tongue are four paired muscles within the tongue which control its shape. \n* The extrinsic muscles originate from structures outside the tongue and control its positioning.\n\n**Note 2:** **Laryngeal involvement**\n* Mucosal extension to the lingual surface of the epiglottis from primary tumors of the base of the tongue and vallecula is not recorded as extension to the larynx (code 600).\n\n**Note 3:** **Parapharyngeal involvement** \n* Parapharyngeal involvement (pharyngeal space invasion) (code 700) denotes postero-lateral infiltration of tumor beyond the pharyngobasilar fascia. \n* The pharyngobasilar fascia is the fibrous layer of the pharyngeal wall between the mucosa and the muscular layer, attached superiorly to the basilar part of the occipital bone and diminishing in thickness as it descends.\n\n**Note 4:** **Masticator space** \n* The masticator space (code 700) primarily consists of the muscles of mastication, the medial and lateral pterygoid, masseter, and temporalis muscles. \n* The space also includes the ramus of the mandible and the third division of cranial nerve V as it passes through the foramen ovale into the suprahyoid neck.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) O'Sullivan, B., Lydiatt, W.M., Shah, J.P., et al. **Oropharynx HPV-Mediated**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) **Oropharynx HPV-Associated**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:06:06.467Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Any size tumor with extension to\n\nAll sites\n- Confined to site of origin\n- Localized, NOS\n\nOropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n- Base of tongue (including lingual tonsil)\n- Tonsil (palatine, NOS)\n- Tonsillar pillar/fossa\n- Wall (anterior [including vallecula], lateral, posterior)\n\nSoft Palate (C051, C052)\n- Invasion of \n + Lamina propria, submucosa, musculature\n- Tumor crosses midline\n\nTongue Base (C019, C024)\n- Base of tongue for lingual tonsil\n- Invasion of \n + Lamina propria, submucosa, musculature (intrinsic)\n- Lingual tonsil for base of tongue\n- Tumor crosses midline", "VALUE:L" ], [ "200", "Any size tumor with extension to\n\nOropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n- Buccal mucosa\n- Floor of mouth\n- Gum (gingiva)\n - Lateral walls (both) through soft palate or base of tongue\n - Soft palate (inferior surface including uvula, superior [nasopharyngeal] surface, NOS)\n\nSoft Palate (C051, C052)\n- Buccal mucosa (inner cheek)\n- Gum (gingiva), upper\n - Lateral pharyngeal wall\n - Tonsils, including tonsillar pillars and fossae\n\nTongue Base (C019, C024)\n- Anterior two-thirds of tongue for base of tongue\n- Floor of mouth\n- Glossoepiglottic fold\n- Glossopharyngeal fold\n- Lateral pharyngeal wall\n- Lower gingiva\n- Pharyngoepiglottic fold\n- Soft palate, inferior surface or NOS including uvula\n- Sublingual gland\n- Tonsil, tonsillar pillars and fossae", "VALUE:RE" ], [ "300", "Epiglottis, lingual surface", "VALUE:L" ], [ "400", "Epiglottis, lingual surface plus both lateral walls through soft palate or base of tongue or other structures in code 200 or\n\nEpiglottis WITH fixation", "VALUE:RE" ], [ "600", "Oropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n- Hypopharynx, NOS\n- Larynx, NOS (see Note 2)\n- Posterior surface of epiglottis\n- Prevertebral fascia/muscle\n- Pyriform sinus\n- Soft tissue of neck\n\nSoft Palate (C051, C052)\n- Hard palate\n- Mandible", "VALUE:RE" ], [ "700", "All sites\n- Carotid artery (encasing)\n- Deep/extrinsic muscles of tongue\n + Genioglossus\n + Hyoglossus\n + Mylohyoid\n + Palatoglossus\n + Styloglossus\n- Lateral nasopharynx\n- Masseter muscle\n- Masticator space (see Note 4)\n + Cranial nerve V-third division\n + Muscles of mastication\n + Pterygoid muscle (lateral, medial, NOS)\n + Ramus of mandible\n + Temporalis muscles\n- Nasopharynx\n- Parapharyngeal extension (pharyngeal space invasion) (see Note 3)\n- Pterygoid plates\n- Skull (base, bone, NOS)\n\nFurther contiguous extension\n\nOropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n- Anterior 2/3 of tongue\n- Hard palate\n- Mandible\n- Parotid gland\n\nSoft Palate (C051, C052)\n- Hypopharynx\n- Maxilla \n- Maxillary sinus (antrum)\n- Nasal cavity\n- Palatine bone (bone of hard palate)\n- Tongue\n\nTongue Base (C019, C024)\n- Hard palate\n- Hypopharynx\n- Larynx\n- Mandible \n- Skin", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_84520.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_84520.json deleted file mode 100644 index cf2c1683f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_84520.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_84520", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Benign/Borderline tumors** \n* Benign (/0) or Borderline (/1) tumors **are always coded to 050** regardless of size, extension to adjacent sites, or multiple tumors. \n\n**Note 2:** **Infratentorial and Supratentorial** \n* The tentorium cerebelli is an extension of the dura mater that separates the cerebellum from the inferior portion of the occipital lobes. \n* The location of the tumor above or below the tentorium can help in determining the type of tumor; also, most adult brain tumors are supratentorial, and most pediatric brain tumors are infratentorial. \n* In the following list, note that ICD-O-3 codes C71.0 and C71.9 include both supratentorial and infratentorial subsites.\n\n- The following subsites are **Infratentorial**\n * All subsites for codes C716-C717 \n * Hypothalamus (C710)\n * Pallium (C710)\n * Posterior cranial fossa (C719)\n * Thalamus (C710)\n- The following subsites are **Supratentorial**\n * All subsites for codes C711-C715\n * Primary site C710 (excluding hypothalamus, pallium, thalamus)\n * Anterior cranial fossa (C719)\n * Corpus callosum (C718)\n * Middle cranial fossa (C719)\n * Tapetum (C718)\n * Suprasellar (C719)\n\n**Note 3:** **Midline shift** \n* A midline shift is not the same thing as crossing the midline (code 500).\n * Documentation must state \"crossing/crosses the midline\"\n\n**Note 4:** **Drop metastasis** \n* Discontiguous spread, or \"drop metastasis\" are coded in EOD mets.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Brain and Spinal Cord**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:54.089Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "050", "Benign or borderline brain tumor\n* Behavior is /0 or /1", "VALUE:B" ], [ "100", "Infratentorial tumor confined to\n- Brain stem or meninges of brain stem (one side)\n + Medulla oblongata\n + Midbrain (mesencephalon)\n + Pons\n- Cerebellum or meninges of cerebellum (one side or midline) \n + Lateral lobes\n + Median lobe of cerebellum\n + Vermis\n- Hypothalamus\n- Pallium\n- Thalamus\n\nInfratentorial tumor\n- Both cerebellum and brain stem involved with tumor on one side\n\nSupratentorial tumor confined to \n- Cerebral hemisphere (cerebrum) or meninges of cerebral hemisphere (one side)\n + Frontal lobe\n + Occipital lobe\n + Parietal lobe\n + Temporal lobe\n\nConfined to ventricles \nTumor invades or encroaches upon ventricular system\n\nConfined to brain, NOS\nConfined to meninges, NOS", "VALUE:L" ], [ "500", "Tumor crosses the midline\n\nAll sites extension to/Invasion of\n- Bone (skull) (see code 700 for other bone involvement)\n- Contralateral hemisphere\n- Corpus callosum (including splenium)\n- Major blood vessel(s)\n- Meninges (e.g., dura)\n- Nerves (cranial, NOS)\n- Spinal cord/canal\n\nSupratentorial tumor extends/invades infratentorially to involve\n- Brain stem \n- Cerebellum\n- Hypothalamus\n- Pallium\n- Posterior cranial fossa\n- Thalamus\n\nInfratentorial tumor extends/invades supratentorially to involve\n- Anterior cranial fossa\n- Cerebrum (cerebral hemisphere) (excluding hypothalamus, pallium, thalamus) (See code 100 for hypothalamus, pallium, thalamus)\n- Middle cranial fossa\n- Suprasellar brain\n- Tapetum", "VALUE:RE" ], [ "700", "Circulating cells in cerebral spinal fluid (CSF)\n\nBone other than Skull (See code 500 for skull)\nNasal cavity\nNasopharynx\nOther direct extension outside CNS\nPosterior pharynx\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_85962.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_85962.json deleted file mode 100644 index 918381e75..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_85962.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_primary_tumor_85962", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Patel, S.G., Lydiatt, W.M., Shah, J.P., et al. **Cervical Lymph Nodes and Unknown Primary Tumors of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:15.359Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "800", "No evidence of primary tumor", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93022.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93022.json deleted file mode 100644 index 223fea164..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93022.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_93022", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **FIGO and extension information** When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to code primary tumor in preference to a statement of FIGO stage.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Gibb, R.K., Olawaiye, A.B., Mutch, D.G., et al. **Vulva**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) **Vulva,** from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:06:01.754Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, preinvasive, noninvasive\n* Bowen disease", "VALUE:IS" ], [ "100", "Vulva only: Stromal invasion less than or equal to 1 mm\n* UNKNOWN or NO perineum involvement\n\nInvasive carcinoma confined to\n* Musculature\n* Submucosa\n* Vulva including skin\n\nFIGO Stage IA", "VALUE:L" ], [ "150", "Vulva only: Stromal invasion not known\n* UNKNOWN or NO perineum involvement\n\nConfined to vulva, NOS\nLocalized, NOS\n\nFIGO Stage I [NOS]", "VALUE:L" ], [ "200", "Vulva and perineum: Stromal invasion less than or equal to 1 mm", "VALUE:RE" ], [ "250", "Vulva and perineum: Stromal invasion not known", "VALUE:RE" ], [ "300", "Vulva only: Stromal invasion greater than 1 mm\n - UNKNOWN or NO perineum involvement\n\nConfined to\n- Musculature\n- Submucosa\n- Vulva including skin\n\nFIGO Stage IB", "VALUE:L" ], [ "400", "Vulva and perineum only: Stormal invasion greater than 1 mm", "VALUE:RE" ], [ "500", "Adjacent perineal structures\n- Lower/distal third of urethra\n- Lower/distal third of vagina\n\nAnus\nPerianal skin\nUrethra, NOS \nVagina, NOS\n\nFIGO Stage II", "VALUE:RE" ], [ "600", "Bladder wall or bladder, NOS excluding mucosa\nRectal wall or rectum, NOS excluding mucosa\nVagina\n- Upper/proximal two-thirds", "VALUE:RE" ], [ "650", "Bladder mucosa\nPerineal body\nRectal mucosa\nUrethra:\n- Upper/proximal two-thirds\n\nFIGO Stage IIIA based on extension", "VALUE:D" ], [ "750", "Fixed to pubic bone (pelvic bone)\n\nFurther contiguous extension\n\nFIGO Stage IVA based on extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93027.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93027.json deleted file mode 100644 index c79d80307..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93027.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_primary_tumor_93027", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:06:09.748Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Any size tumor\n- Superficial tumor, NOS\n- Deep tumor, NOS \n- Confined to site of origin \n- Localized, NOS", "VALUE:L" ], [ "200", "Any size tumor\n- Superficial or deep tumor WITH involvement of \n + Adjacent (connective) tissue, NOS\n + Adjacent organ(s)/structure(s), NOS\n- Major vessel invasion", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93243.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93243.json deleted file mode 100644 index 918bd50c8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_93243.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_93243", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **In-situ and HAMN** \n* Code 000 (behavior code 2) includes cancer cells confined within the glandular basement membrane (intraepithelial) or described as in situ or high-grade appendiceal mucinous neoplasms (HAMN)\n\n**Note 2:** **LAMN** \n* Code 050 (behavior code 2) for low-grade appendiceal mucinous neoplasms (LAMN) that are confined by the muscularis propria. \n* See codes 300-750 for LAMN tumors that extend beyond the muscularis propria \n\n**Note 3:** **Code 070 (behavior code 3)** \n* Intramucosal, NOS\n* Lamina propria\n* Mucosa, NOS\n* Confined to, but not through the muscularis mucosa\n\n**Note 4:** **Intraluminal extension** \n* Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 5:** **Mucinous Tumors** \n* Mucinous tumors are identified by morphology codes 8480, 8481, and 8490.\n\n**Note 6:** **Invasion of subserosa or mesoappendix** \n* Code 300 when the only statement is \"Tumor invades through the muscularis propria into subserosa or mesoappendix but does not extend to serosal surface\" and there isn't enough information to clarify subserosa versus mesoappendix. \n\n**Note 7:** **Macroscopic adhesions** \n* Use code 700 for macroscopic adhesions if no pathological confirmation, and for microscopically confirmed tumor in adhesions.\n* However, if no tumor is present in adhesion(s) upon microscopic examination, the classification is based upon extent of tumor invasion into or through the wall (see codes 100-600). \n\n**Note 8:** **Contiguous extension** \n* Codes 700 and 750 are used for contiguous extension from the site of origin. \n* Except for intraperitoneal metastases limited to the right lower quadrant (RLQ) of the abdomen for **mucinous tumors (see code 600), discontinuous involvement is coded in EOD Mets.**", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Appendix**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:04.761Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive \n(Adeno) carcinoma, noninvasive, in a polyp or adenoma\n\nHigh-grade appendiceal mucinous neoplasm confined by the muscularis propria (HAMN)", "VALUE:IS" ], [ "050", "Low-grade appendiceal mucinous neoplasm confined by the muscularis propria (LAMN) (in situ)\n\nAcellular mucin or mucinous epithelium may invade into muscularis propria", "VALUE:IS" ], [ "070", "Lamina propria\nMucosa (intramucosal, NOS)\nMuscularis mucosae", "VALUE:L" ], [ "100", "Submucosa\n\nConfined to appendix, NOS\nConfined to polyp, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Muscularis propria", "VALUE:L" ], [ "300", "Extension through wall, NOS\nInvasion through muscularis propria\nNon-peritonealized pericolic tissues invaded\nPerimuscular tissue invaded\nSubserosa \n* Includes acellular mucin or mucinous epithelium that extends into the subserosa (LAMN tumors)\n\nTransmural, NOS\nWall, NOS", "VALUE:L" ], [ "400", "Adjacent tissue(s), NOS\nConnective tissue\nFat, NOS\nMesenteric fat\nMesentery \nMesoappendix\n* Includes acellular mucin or mucinous epithelium that extends into the mesoappendix (LAMN tumors)\n * See code 500 if serosa of the mesoappendix is involved\n\nPericolic fat", "VALUE:RE" ], [ "500", "Invasion of/through serosa (mesothelium) (visceral peritoneum)\n- Includes acellular mucin or mucinous epithelium involving the serosa of the appendix or serosa of the mesoappendix (LAMN tumors)", "VALUE:RE" ], [ "700", "Abdominal wall\nAdherent to other organs or structures\nGreater omentum\nRetroperitoneum (excluding fat)\nSmall intestine\n\nTumor found in adhesion(s) if microscopic examination performed", "VALUE:RE" ], [ "750", "Adrenal (suprarenal) gland\nBladder\nDiaphragm\nFallopian tube\nFistula to skin\nGallbladder\nKidney\nLiver\nOther segment(s) of colon/rectum via serosa\nOvary\nUreter\nUterus\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_96275.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_96275.json deleted file mode 100644 index 0af8e3fc6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_96275.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_96275", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **FIGO and extension information** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to assign the code in preference to a statement of FIGO stage.\n\n**Note 2:** **Peritoneal implants** \n* Peritoneal implants or peritoneal carcinomatosis may also be called seeding, salting, talcum powder appearance, or studding\n- Extraperitoneal carcinomatosis are coded in EOD Mets\n\n**Note 3:** **Tumor confined to peritoneum** \n* A tumor confined to the peritoneum (code 300) is when there is one pelvic peritoneal tumor, or multiple pelvic peritoneal tumors, without any mention of implants on the specific pelvic/abdominal structures listed in codes 400-750.\n\n**Note 4:** **Pelvic organs** \n* Both extension to and/or discontinuous metastasis to any of the following pelvic organs are included in code 450\n - Adjacent pelvic (peritoneum)\n - Bladder\n - Bladder serosa\n - Cul de sac (rectouterine pouch)\n - Ligament(s) (broad, ovarian, round, suspensory)\n - Mesosalpinx (Meosvarium)\n - Parametrium\n - Pelvic wall\n - Rectosigmoid\n - Rectum\n - Sigmoid colon (including sigmoid mesentery)\n - Ureter (pelvic portion)\n\n**Note 5:** **Implants, NOS** \n* If implants are mentioned, determine whether they are in the pelvis or in the abdomen and code appropriately. If the location of the implants is not specified, code 750.\n\n**Note 6:** **Abdominal organs** \n* Both extension to and/or discontinuous metastasis to any of the following abdominal organs by way of peritoneal seeding or implants are included in codes 600-750\n - Abdominal mesentery\n - Diaphragm\n - Gallbladder\n - Intestine, large (except rectum, rectosigmoid and sigmoid colon)\n - Kidneys\n - Omentum (infracolic, NOS)\n - Pancreas\n - Pericolic gutter\n - Peritoneum, NOS\n - Small intestine\n - Stomach\n - Ureters (outside pelvis)\n\n**Note 7:** **Peritoneal surface of the liver** \n* Tumor limited to the peritoneal surface of the liver or splenic capsule is coded 700, regardless of the size (microscopic or macroscopic)\n - Any **parenchymal** involvement of the liver or spleen is coded in EOD Mets (code 50)", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Prat, J., Olawaiye, A.B., Mutch, D.G., et al. **Ovary, Fallopian Tube, and Primary Peritoneal Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:10.214Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive, preinvasive\nLimited to tubal mucosa", "VALUE:IS" ], [ "300", "Confined to peritoneum, NOS", "VALUE:L" ], [ "400", "Adnexa\nFallopian tube(s)\nOvary(ies)\nUterus, NOS\n\nFIGO Stage IIA", "VALUE:RE" ], [ "450", "Extension to and/or discontinuous metastasis to pelvic sites (See Note 4)", "VALUE:RE" ], [ "600", "Microscopic peritoneal implants or microscopic peritoneal carcinomatosis\n* Beyond pelvis (above pelvic brim) (See Note 6)\n\nFIGO Stage IIIA", "VALUE:D" ], [ "650", "Macroscopic peritoneal implants or macroscopic peritoneal carcinomatosis\n* 2 cm or less in greatest dimension (beyond pelvis-above pelvic brim) (See Note 6)\n\nFIGO Stage IIIB", "VALUE:D" ], [ "700", "Macroscopic peritoneal implants or macroscopic peritoneal carcinomatosis\n* Greater than 2 cm in greatest dimension (beyond pelvis-above pelvic brim) (See Note 6)\n\nExtension or implants (microscopic, macroscopic or unknown)\n* To the peritoneal surface of the liver or splenic capsule\n * WITHOUT parenchymal involvement of either organ\n\nFIGO Stage IIIC", "VALUE:D" ], [ "750", "Primary peritoneal carcinoma\n- WITH confirmed peritoneal metastasis or peritoneal carcinomatosis outside of the pelvis (above pelvic brim)\n- UNKNOWN if microscopic or macroscopic \n\nPeritoneal implants, NOS\n\nFurther contiguous extension\n\nFIGO Stage III [NOS]", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_97833.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_97833.json deleted file mode 100644 index 643be7381..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_97833.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_97833", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **FIGO and extension information** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to code primary tumor in preference to a statement of FIGO stage.\n\n**Note 2:** **Extension to Vagina** \n* EOD Primary Tumor includes direct extension or discontinuous metastasis to the vagina (see codes 400 and 550).\n\n**Note 3:** **Extension to adnexa or uterine serosa** \n* EOD Primary tumor excludes metastasis to adnexa or uterine serosa (See EOD Mets).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Cervix Uteri**, from the AJCC Cancer Staging System Version 9 (2020). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:06:11.608Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive, preinvasive\nCancer in situ WITH endocervical gland involvement\n\nCervical intraepithelial neoplasia (CIN) Grade III", "VALUE:IS" ], [ "100", "Not clinically visible (diagnosed only by microscopy)\n* Measured stromal invasion less than or equal to 3.0 mm \n\nFIGO Stage IA1", "VALUE:L" ], [ "150", "Not clinically visible (diagnosed only by microscopy)\n* Measured stromal invasion 3.1 mm to 5.0 mm \n\nFIGO Stage IA2", "VALUE:L" ], [ "200", "Not clinically visible (diagnosed only by microscopy)\n* Measured stromal invasion less than or equal to 5.0 mm\n\nFIGO Stage IA [NOS]", "VALUE:L" ], [ "250", "Confined to cervix AND \n* Measured stromal invasion greater than 5.0 mm\n\nFIGO Stage IB1, IB2, IB3", "VALUE:L" ], [ "300", "Confined to cervix uteri or uterus, NOS\n* Except corpus uteri, NOS (see code 350)\n\nLocalized, NOS\n\nFIGO Stage IB [NOS]", "VALUE:L" ], [ "350", "Corpus uteri, NOS \n* Confined to corpus uteri\n* Size, depth and horizontal spread unknown\n\nFIGO Stage I [NOS]", "VALUE:RE" ], [ "400", "Any size tumor WITHOUT parametrial (paracervical soft tissue) invasion\n- Cul de sac (rectouterine pouch)\n- Upper two-thirds of vagina including fornices\n- Vagina, NOS\n- Vaginal wall, NOS\n\nFIGO Stage IIA (IIA1, IIA2, IIA NOS)", "VALUE:RE" ], [ "450", "Ligament(s) (broad, cardinal, uterosacral)\nParametrial (paracervical soft tissue) invasion\n\nFIGO Stage IIB", "VALUE:RE" ], [ "500", "Invasion beyond uterus, NOS\n\nFIGO Stage II [NOS]", "VALUE:RE" ], [ "550", "Bladder wall\nBladder, NOS excluding mucosa\nBullous edema of bladder mucosa\nRectal wall\nRectum, NOS excluding mucosa\nUreter, intra- and extramural\nVagina, lower third (not extending to pelvic wall)\nVulva\n\nFIGO Stage IIIA", "VALUE:RE" ], [ "600", "Described clinically as frozen pelvis\nHydronephrosis or nonfunctioning kidney\nInvolvement of Pelvic wall(s)\n\nFIGO Stage IIIB", "VALUE:RE" ], [ "700", "Fallopian tube(s)\nOvary(ies)\nUrethra\n\nFIGO Stage III [NOS]", "VALUE:RE" ], [ "750", "Bladder mucosa (for bullous edema of bladder mucosa, see code 550)\nRectal mucosa\nSigmoid colon\nSmall intestine\n\nFIGO Stage IVA\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_98910.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_98910.json deleted file mode 100644 index c2f83c399..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_98910.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_98910", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Periosteum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones. \n * Cortical bone is the dense compact outer layer of the bone. \n * Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** **Criteria for EOD Primary Tumor** \n* For codes 100-500, the derived EOD T is based on depth of invasion (DOI) in conjunction with size. In addition, some of the anatomical structures listed are localized for Summary Stage 2018 while others are regional for Summary Stage 2018. \n* The anatomical structures are divided into two groups: Group 1 is for localized tumors, while Group 2 is for regional tumor. \n\n**Group 1 extension WITH any size tumor: Use the following for codes 100, 150, 200**\n\n- Invasive tumor on one side confined to\n + Lamina propria\n + Submucosa\n + Tumor crosses midline\n- Confined to floor of mouth, NOS\n- Localized, NOS\n\n**Group 2 extension WITH any size tumor: Use the following for codes 300, 400, 500**\n\n- Anterior 2/3 of tongue\n- Base of tongue\n- Bone, NOS\n + Cartilage, NOS\n + Cortical bone (mandible, NOS)\n + Mandible, NOS\n + Periosteum of mandible\n- Epiglottis\n- Gingiva (alveolar ridge), lower\n- Glossoepiglottic fold\n- Glossopharyngeal sulcus\n- Lateral pharyngeal wall\n- Pharyngeal (lingual) surface\n- Pharyngoepiglottic fold\n- Subcutaneous soft tissue of chin/neck\n- Sublingual gland, including ducts\n- Submandibular (submaxillary) glands, including ducts\n- Tonsillar pillars and fossae\n- Tonsils\n- Vallecula\n\n**Note 3:** **Depth of invasion** \n* Once the correct group is determined, the codes are then determined based on the depth of invasion.\n - Depth of invasion less than or equal to 5 mm or UNKNOWN depth of invasion (codes 100, 300)\n - Depth of invasion greater than 5 mm to less than or equal to 10 mm (codes 150, 400)\n - Depth of invasion greater than 10 mm (codes 200, 500)\n\n**Note 4:** **Cortical bone** Invasion through cortical bone is required for assignment of code 650.\n- Code 300, 400, or 500 (depending on the depth of invasion) when the tumor is limited to the cortical bone/cortex of the mandible. Invasion of the bone, NOS (mandible, NOS) is **not** equivalent to invasion through the cortical bone (code 600).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:04.457Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Group 1 WITH depth of invasion (DOI) less than or equal to 5 mm\nOR unknown depth of invasion", "VALUE:L" ], [ "150", "Group 1 WITH depth of invasion (DOI) greater than 5 mm and less than or equal to 10 mm", "VALUE:L" ], [ "200", "Group 1 WITH depth of invasion (DOI) greater than 10 mm", "VALUE:L" ], [ "300", "Group 2 WITH depth of invasion (DOI) less than or equal to 5 mm\nOR unknown depth of invasion", "VALUE:RE" ], [ "400", "Group 2 WITH depth of invasion (DOI) greater than 5 mm and less than or equal to 10 mm", "VALUE:RE" ], [ "500", "Group 2 WITH depth of invasion (DOI) greater than 10 mm", "VALUE:RE" ], [ "550", "Deep (extrinsic) muscle of tongue\n- Genioglossus\n- Geniohyoid\n- Hyoglossus\n- Mylohyoid\n- Palatoglossus\n- Styloglossus", "VALUE:L" ], [ "600", "Involvement of deep (extrinsic) muscle of tongue (code 550) with extension to structures listed in Note 2 OR\n\nInvasion through cortical bone (mandible, NOS)\nSkin of undersurface of chin/neck\nTrabecular bone (mandible, NOS)", "VALUE:RE" ], [ "650", "Invasion through cortical bone (maxilla)\nMaxilla, NOS\nMaxillary sinus (antrum)\nTrabecular bone (maxilla)", "VALUE:D" ], [ "700", "Internal carotid artery (encased)\nMasticator space\nPterygoid plates\nSkull base\nSpecified bone (other than mandible, maxilla)\n\nFurther contiguous extension", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_copy_25294.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_copy_25294.json deleted file mode 100644 index 6da62d296..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_copy_25294.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_copy_25294", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Lymphatic sites (nodal regions)**\n* Lymph nodes (C770-C779)\n* Waldeyer's ring (tonsils) (C024, C090-C099, C111, C142)\n* Spleen (C422)\n* Thymus (C379)\n\n**Note 2:** **Defining multiple lymph node regions** \n* Use the AJCC definitions for lymph node regions (Chapter 79, Figure 79.1) to determine when single (code 100) or multiple (300-600) lymph node regions are involved. \n* See also the Hematopoietic Manual, Appendix C, for definition of lymph node regions.\n\n**Note 3:** **Extralymphatic sites** \n* Extralymphatic sites (extranodal regions) include all other sites (e.g., stomach, colon, lung, breast, nasopharynx). \n\n**Note 4:** **Lymph node involvement** \n* Any mention of the terms including fixed, matted, mass in the hilum, mediastinum, retroperitoneum, and/or mesentery, palpable, enlarged, shotty, lymphadenopathy are all regarded as involvement for lymphomas when determining appropriate code.\n\n**Note 5:** **Bulky disease** \n* \"Bulky disease\" (code 500) varies by the lymphoma histology. For Hodgkin lymphoma, it is defined as the ratio between the maximum diameter of the mediastinal mass and maximal intrathoracic diameter based on CT imaging in the Lugano classification. \n* Bulk of other disease is defined as a mass greater than 10 cm. For non-Hodgkin lymphomas, the main criteria is based on size with cutoffs ranging from 5-10 cm, although 10 cm is recommended.\n\n**Note 6:** **Limited versus Advanced Stage** \n* Lymphomas confined to a single lymphatic or extralymphatic site WITH or WITHOUT involvement of lymph node regions on the SAME side of the diaphragm are also referred to as \"limited stage.\" (Codes 100-500). Lymphomas with involvement on BOTH sides of the diaphragm or other metastatic disease are also referred to as \"advanced stage\" (Codes 500-800).\n * Bulky disease may be either early or advanced stage based on the lymphoma histology or other factors\n\n**Note 7:** **Liver involvement** \n* Clinical enlargement of the liver is not enough to indicate involvement. Involvement is indicated by diffuse uptake or mass lesion or abnormal liver function tests. Liver biopsy may be used to confirm equivocal involvement.\n * Any involvement of liver (including primary liver lymphoma) is coded as 800\n\n**Note 8:** **Splenic involvement** \n* Splenic involvement is based on splenomegaly and FDG-PET or CT scans that state diffuse update, solitary mass, miliary lesions, or enlargement of greater than 13 cm\n * A physician’s statement of splenomegaly may be used \n * FDG uptake in the spleen that is not diffuse is not enough to code as splenic involvement \n\n**Note 9:** **Lung involvement** \n* Lung involvement is indicated by pulmonary nodules or parenchymal involvement on FDG-PET or CT in the absence of other likely causes. \n* Lung biopsy may be used to confirm equivocal involvement.\n* Multifocal lung involvement is coded as 700 or 800 based on lung mets, code also \"Mets at Dx-Lung as 1\n\n**Note 10:** **Bone involvement** \n* Bone involvement (excluding bone marrow involvement, see Note 11) is indicated by avid lesions on FDG-PET. Bone biopsy may be used to confirm equivocal involvement. \n * Bone involvement (except for bone primary lymphomas) is coded as 800. Code also \"Mets at Dx-Bone\" as 1. (See Note 11 on how to code bone marrow involvement)\n\n**Note 11:** **CNS involvement** \n* Central nervous system (CNS) involvement is often suspected due to symptoms and can be confirmed by plain radiology, CT scan, or MRI. Cerebrospinal fluid (CSF) examination by flow cytometry may be done. \n* CNS involvement may be the result of soft tissue disease representing extension from bone metastasis or parenchymal brain disease. \n* CNS involvement (except for CNS primary lymphomas) is coded as 800. Code also \"Mets at Dx-Brain\" as 1\n * CSF involvement is coded as 800. Code also \"Mets at Dx-Other\" as 1\n\n**Note 12:** **Peripheral blood involvement** \n* Peripheral blood involvement is assessed by an aspiration or peripheral blood smear.\n+ Primary site is coded to bone marrow (C421): Do not code \"Met at Dx-Other\" as 1\n - In cases where peripheral blood smear is not performed, but a physician's clinical assessment indicates peripheral blood involvement, the physician's clinical assessment can be used\n - If **ONLY** the peripheral blood is involved, code 750\n - If there is peripheral blood involvement **WITH** other involvement, code 800\n\n**Note 13:** **Bone marrow involvement** \n* Bone marrow involvement is assessed by an aspiration and bone marrow biopsy. \n+ Primary site is coded bone marrow (C421): Code 800. Do not code \"Mets at Dx-Other as 1\" \n - In cases where bone marrow biopsy/aspiration is not performed, but a physician's clinical assessment indicates bone marrow involvement, the physician's clinical assessment can be used\n\n**Note 14:** **Bilateral sites** \n* Code 800 for involvement of bilateral sites (i.e.; breast, eye, kidney, etc.).\n * *Example*: Patient with extranodal non-Hodgkin's Lymphoma, involving bilateral choroids, (single focus both sites), and no lymph node involvement. \n * Code 800 for bilateral involvement of choroids (eye)\n\n**Note 15:** **B Symptoms** \n* See the data item *B symptoms* [NAACCR Data Item Number: #3812] to code the presence or absence of B symptoms.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Zelenetz, A.D., Jaffe, E.S., Leonard, J.P., et al. **Hodgkin and Non-Hodgkin Lymphomas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) Link, M.P., Jaffe, E.S., Leonard, J.P. **Pediatric Hodgkin and Non-Hodgkin Lymphomas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:15.842Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Nodal lymphomas\n- Single lymph node region involved\n- Involvement of multiple nodal chains in the SAME lymph node region", "VALUE:L" ], [ "200", "Extranodal lymphomas\n- Single extralymphatic site\n + WITHOUT nodal involvement\n- Multifocal (multiple tumors, noncontiguous) involvement of **ONE** extralymphatic organ site\n + WITHOUT nodal involvement (see code 700 for WITH nodal involvement)\n + ***Exception:*** See code 800 for multifocal lung involvement or any liver involvement", "VALUE:L" ], [ "300", "Nodal lymphomas\n- Two or more lymph node regions involved \n * SAME side of diaphragm", "VALUE:RE" ], [ "400", "Nodal lymphomas\n- Contiguous extralymphatic extension from nodal/lymphatic site\n * WITH or WITHOUT involvement of other nodal regions \n * on SAME side of diaphragm\n\nExtranodal lymphomas\n- Localized involvement of a single extralymphatic organ/site \n * WITH involvement of its regional lymph node(s) OR\n * WITH involvement of other lymph node(s) on the SAME side of the diaphragm", "VALUE:RE" ], [ "500", "Codes 300 or 400 with bulky disease", "VALUE:RE" ], [ "575", "Nodal and Extranodal lymphomas\n* Involvement of lymph node regions on BOTH sides of the diaphragm\n * WITHOUT or UNKNOWN spleen involvement", "VALUE:D" ], [ "600", "Nodal and Extranodal lymphomas-spleen involvement\n* Involvement of lymph node regions on BOTH sides of the diaphragm WITH spleen involvement\n * Includes involvement of lymph nodes ABOVE the diaphragm WITH spleen involvement", "VALUE:D" ], [ "700", "* Diffuse or disseminated involvement **ONE OR MORE extralymphatic organ(s)/site(s)** \n * WITH or WITHOUT nodal involvement\n * ***Exception:*** See code 800 for multifocal/noncontiguous lung involvement or any liver involvement \n \n* Involvement of isolated extralymphatic organ in absence of involvement of adjacent lymph nodes, but in conjunction with disease in distant sites\n\n* Multifocal/noncontiguous (multiple tumors/masses) involvement of **ONE or MORE** extralymphatic organ/site\n * WITH nodal involvement \n - ***Exception***: See code 800 for multifocal/noncontiguous lung involvement or any liver involvement", "VALUE:D" ], [ "750", "Peripheral blood involvement ONLY", "VALUE:D" ], [ "800", "Diffuse or disseminated (multifocal involvement) of\n- Bone\n- Central nervous system (CNS)\n\nAny involvement of\n- Bone marrow \n- Cerebrospinal fluid (CSF)\n- Liver\n- Lung, multiple lesions (other than by direct extension in code 400)\n- Peripheral blood involvement WITH other involvement\n\n\nDistant metastasis, NOS", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_192.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_192.json deleted file mode 100644 index 6d995d0ec..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_192.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_v9_192", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor V9", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Pharyngeal space** \n* Involvement of the pharyngeal space (code 300) is defined as posterolateral infiltration from the nasopharynx beyond the buccopharyngeal fascia into the triangular space lateral to the pharynx. \n\n**Note 2:** **Parapharyngeal involvement** \n* Parapharyngeal involvement denotes posterolateral infiltration of tumor beyond the pharyngobasilar fascia. \n* The pharyngobasilar fascia is the fibrous layer of the pharyngeal wall between the mucosa and the muscular layer, attached superiorly to the basilar part of the occipital bone and diminishing in thickness as it descends.\n\n**Note 3:** **Masticator space** \n* The masticator space primarily consists of the muscles of mastication, the medial and lateral pterygoid, masseter, and temporalis muscles. \n* The space also includes the ramus of the mandible and the third division of cranial nerve V as it passes through the foramen ovale into the suprahyoid neck.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Nasopharynx**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:59.349Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Invasive tumor confined to one of the following subsites\n- Inferior wall (superior surface of soft palate)\n- Lateral wall\n- Posterior superior wall (vault)\n\nInvolvement of two or more subsites\n- Lateral wall extending into eustachian tube/middle ear\n- Posterior, inferior, or lateral wall(s)\n\nConfined to nasopharynx, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Nasal cavity WITHOUT pharyngeal extension\nOropharynx\nSoft palate, inferior surface including uvula WITHOUT pharyngeal extension\nSoft tissue, NOS (excluding soft tissue of neck)", "VALUE:RE" ], [ "300", "Any site listed in codes 100 or 200 \n- WITH fixation or tumor described only as FIXED with parapharyngeal extension \n\nAdjacent soft tissue involvement\nLateral pterygoid\nMedial pterygoid\nParapharyngeal space\nPrevertebral muscles\nPterygopalatine fossa WITHOUT bone invasion", "VALUE:RE" ], [ "500", "Bone, NOS\nBony structures of skull base\nCartilage, NOS\nCervical vertebra\nFloor of orbit\nHard palate\nParanasal sinuses\nPterygoid structures\nSkull base", "VALUE:RE" ], [ "700", "Brain\nCranial nerve involvement \nHypopharynx\nInfratemporal fossa/masticator space\nIntracranial extension, NOS\nOrbit (including inferior orbital fissure) (except bone of floor or orbit) \nParotid gland\nSoft tissues of neck", "VALUE:D" ], [ "800", "No evidence of primary tumor\nNo tumor identified, but EBV-positive cervical node(s) involvement", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_52408.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_52408.json deleted file mode 100644 index 239c97416..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_52408.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_v9_52408", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor V9", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Diffuse Pleural Mesothelioma**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:09.283Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "050", "**CLINICAL ASSESSMENT ONLY**\n\nIpsilateral pleural (diaphragmatic, parietal, mediastinal, and viscera) WITH\n* Psum less than or equal to 12 mm AND\n* NO involvement of the fissure\n\nConfined to pleura (mesothelioma), NOS, clinically\nLocalized NOS, clinically", "VALUE:L" ], [ "100", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nIpsilateral pleural (diaphragmatic, parietal, mediastinal, and viscera) involved\nWITHOUT involvement of the fissure (*See code 300 for fissure involvement*)\n\nConfined to pleura (mesothelioma), NOS, pathologically\nLocalized, NOS, pathologically", "VALUE:L" ], [ "200", "**CLINICAL ASSESSMENT ONLY**\n\nIpsilateral pleural (diaphragmatic, parietal, mediastinal, and viscera) WITH\n*Psum less than or equal to 12 mm, and WITH any of the following\n * involvement of the fissure (Fmax greater than 5 mm)\n * mediastinal fat invasion\n * solitary area of chest wall soft tissue invasion\n\nOR\nIpsilateral pleural (diaphragmatic, parietal, mediastinal, and viscera) involved WITH\n* Psum greater 12 mm but less than or equal to 30, and WITH or WITHOUT any of the following\n * involvement of the fissure (Fmax greater than 5 mm)\n * mediastinal fat invasion\n * solitary area of chest wall soft tissue invasion", "VALUE:RE" ], [ "300", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nIpsilateral pleural (diaphragmatic, parietal, mediastinal, and viscera) involved\nWITH any of the following\n* Confluent visceral pleural tumor (including any involvement of interlobar fissure)\n* Contiguous lung involvement\n* Diaphragm (diaphragmatic muscle) (non-transmural invasion)\n* Fissure\n* Lung (ipsilateral) parenchyma (direct extension)\n* Nodule(s) beneath visceral pleural surface (ipsilateral pleura)", "VALUE:RE" ], [ "400", "**CLINICAL ASSESSMENT ONLY**\n\nIpsilateral pleural (diaphragmatic, parietal, mediastinal, and viscera) involved\n* Psum > 30 mm WITH or WITHOUT\n * involvement of the fissure (Fmax > 5 mm)\n * mediastinal fat invasion\n * solitary area of chest wall soft tissue invasion", "VALUE:RE" ], [ "500", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nIpsilateral pleural (diaphragmatic, parietal, mediastinal, and viscera) involved\nWITH or WITHOUT fissure \nWITH any of the following\n* Adjacent (connective) tissue, NOS\n* Endothoracic fascia\n* Mediastinal fat\n* Pericardium, non-transmural or NOS\n* Solitary focus of tumor extending into the chest wall\n\nLocally advanced, potentially resectable tumor", "VALUE:RE" ], [ "600", "Ipsilateral pleural (diaphragmatic, parietal, mediastinal, and viscera) involved\nWITH any of the following\n- Chest wall bony invasion (rib) \n- Diffuse chest wall invasion\n- Pericardium (extension through to the internal surface WITHOUT pericardial effusion)\n\nLocally advanced, technically unresectable tumor", "VALUE:RE" ], [ "700", "Ipsilateral pleural (diaphragmatic, parietal, mediastinal, and viscera) involved \nWITH any of the following\n- Brachial plexus\n- Cervical (neck) tissues\n- Contralateral pleura (direct contiguous extension)\n- Intra-abdominal organs\n- Mediastinal organs (direct contiguous extension)\n - Esophagus\n - Great vessels\n - Heart (muscle)\n - Myocardium\n - Spine\n - Trachea\n- Pericardium (direct extension through to the internal surface WITH pericardial effusion)\n- Peritoneum (direct transdiaphragmatic extension of tumor)\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ], - "coding_guidelines" : "**Note 1: Ipsilateral pleura definition**\n* Ipsilateral pleura includes diaphragmatic pleura, mediastinal pleura, parietal pleura, and visceral pleura\n\n**Note 2: CLINICAL AND PATHOLOGICAL codes**\n* This schema has primary tumor codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n* **CLINICAL** assessment only codes (050, 200, 400) are used when there is a clinical work up only and there is no surgical resection of the primary tumor or site. \n*Exception:* If patient has neoadjuvant therapy, and the clinical assessment is greater than the pathological assessment, then the clinical assessment code would take priority\n\n* **PATHOLOGICAL** assessment only codes (100, 300, 500) are used when\n * Primary tumor or site surgically resected \n\n* Remaining codes (no designation of **CLINICAL** or **PATHOLOGICAL** only assessment) can be used based on clinical and/or pathological information\n\n**Note 3: Clinical evaluation: Psum and Fmax categories**\n* Clinical evaluation for Pleura is now based on Psum or Fmax categories for localized or regional, but potentially resectable tumors. \n * Psum, which is defined as pmax1 + pmax2 + pmax3 (sum of 3 measurements of maximal pleural thickness measured on axial images along the chest wall or mediastinum in each of the three division of the chest-upper, middle and lower divided by two lines one at the top of the aortic arch and the second drawn at the top of the atria)\n* Fmax=maximal thickness of pleural tumor along the fissures measured on sagittal images\n* See codes 050, 200, 400 for specific definitions" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_58724.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_58724.json deleted file mode 100644 index 2f5ae6a8d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_58724.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_primary_tumor_v9_58724", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor V9", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Anus**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:51.692Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive\nAnal intraepithelial neoplasia III \nBowen disease", "VALUE:IS" ], [ "100", "Any size tumor with invasion to\n- Intramucosa\n- Lamina propria\n- Mucosa, NOS\n- Muscularis mucosae\n- Muscularis propria (internal sphincter)\n- Submucosa (superficial invasion)\n\nIncidental finding of malignancy in hemorrhoid, NOS\n\nConfined to anus, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Any size tumor with extension to\n- Ischiorectal fat/tissue\n- Perianal skin\n- Perirectal skin\n- Rectal mucosa or submucosa\n- Rectal wall\n- Skeletal muscle(s)\n + Anal sphincter (external)\n + Levator ani\n- Subcutaneous perianal tissue", "VALUE:RE" ], [ "600", "Perineum\nVulva", "VALUE:RE" ], [ "700", "Bladder\nBroad ligament(s)\nCervix uteri\nCorpus uteri\nPelvic peritoneum\nProstate\nUrethra\nVagina\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_6892.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_6892.json deleted file mode 100644 index be31d3788..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_6892.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "eod_primary_tumor_v9_6892", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor V9", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Thymus**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:58.894Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: Noninvasive; intraepithelial", "VALUE:IS" ], [ "100", "Confined to thymus (encapsulated tumor) OR\nExtending into the mediastinal fat\n WITHOUT mediastinal pleura/pleura involvement", "VALUE:L" ], [ "200", "Confined to thymus (encapsulated tumor)\nWITH mediastinal pleura/pleural involvement", "VALUE:RE" ], [ "300", "Confined to thymus, NOS\nUnknown if mediastinum or pleural involved", "VALUE:L" ], [ "400", "Direct invasion of\n* Lung\n* Pericardium\n* Phrenic nerve", "VALUE:RE" ], [ "500", "Brachiocephalic vein\nChest wall\nExtrapericardial pulmonary artery or vein\nSuperior vena cava", "VALUE:RE" ], [ "700", "Aorta (ascending, arch, or descending)\nArch vessels \nEsophagus\nIntrapericardial pulmonary artery\nMyocardium\nTrachea", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_75679.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_75679.json deleted file mode 100644 index 15374cc1d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_primary_tumor_v9_75679.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_primary_tumor_v9_75679", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor V9", - "title" : "EOD Primary Tumor V9", - "notes" : "**Note 1:** **Bronchopneumonia and Obstructive pneumonitis**\n* Bronchopneumonia is not the same thing as obstructive pneumonitis and should not be coded as such. \n * **Bronchopneumonia** is an acute inflammation of the walls of the bronchioles, usually a result of spread of infection from the upper to the lower respiratory tract\n * **Obstructive pneumonitis** is a combination of atelectasis, bronchiectasis with mucous plugging, and parenchymal inflammation that develops distal to an obstructing endobronchial lesion\n\n**Note 2:** **Ground glass opacities (GGO), ground glass nodules (GGN), and ground/glass lepidic (GG/L)**\n* Ground glass opacities (GGO), ground glass nodules (GGN), and ground/glass lepidic (GG/L) are frequently observed on CT and are increasingly detected with the advancements in imaging and are described as an area of hazy increased lung opacity. GGO, GGN, and GG/L can be observed in both benign and malignant lung conditions along with pre-invasive lesions (adenocarcinoma in situ, minimally invasive adenocarcinoma, and lepidic carcinoma). \n* They are often associated with early stage lung cancer but not necessarily malignancies themselves.\n* For staging purposes, these are **not to be counted as separate tumor nodules**\n\n**Note 3:** **Minimally invasive adenocarcinoma**\n* Code 100 is to be used only when the following criteria are met\n * Minimally invasive adenocarcinoma (less than or equal to 3 cm)\n * **WITH** predominantly **lepidic pattern** **AND**\n * less than or equal to 5 mm invasion in greatest dimension\n * If predominantly **lepidic pattern** is present and the size of the invasive component is unknown, see code 300\n\n**Note 4:** **Superficial spreading tumor**\n* Code 200 is to be used for **superficial spreading tumors** only. The pathology report must state that it is superficially spreading.\n* These types of tumors are uncommon, and this code should be used very sparingly. If in doubt, do not use this code\n\n**Note 5:** **Localized tumor**\n* Code 300 is to be used for a localized cancer where size defines the extent of the primary tumor \n * It is not a predominantly lepidic pattern (code 100), or a superficial spreading tumor (code 200), and there is no involvement of adjacent structures or invasion of the pleural (codes 400 and above).\n\n**Note 6:** **Atelectasis** \n* Atelectasis is the failure of the lung to expand (inflate) completely\n* This may be caused by a blocked airway, a tumor, general anesthesia, pneumonia or other lung infection, lung disease, or long-term bed rest with shallow breathing. Sometimes called a collapsed lung. \n * If the atelectasis is clearly related to the obstructing tumor, code to 450\n * If the atelectasis is clearly related to the lymph nodes, code the involvement in lymph nodes\n * If unable to determine if the atelectasis is due to direct extension or lymph node involvement, record as lymph node involvement\n\n**Note 7:** **Visceral pleural invasion**\n* Specific information about visceral pleura invasion is captured in codes 450 (PL1, PL2, or NOS) and 500 (PL3)\n* Elastic layer involvement has prognostic significance for lung cancer. \n\n**Note 8:** **Penetration of the visceral pleural**\n* Penetration of the visceral pleura indicates a progression of invasion, even in small (≤ 3cm) tumors, and indicates a less favorable prognosis\n* Visceral pleural invasion is determined to be present both in tumors that extend to the visceral pleural surface (type PL2 invasion), and in tumors that penetrate beyond the elastic layer of the visceral pleura (type PL1 invasion)\n* Further invasion, which extends to the parietal pleura, is also described as type PL3 invasion.\n\n**Note 9:** **\"Vocal cord paralysis\" or \"Superior vena cava syndrome\"** \n* \"Vocal cord paralysis,\" \"superior vena cava syndrome,\" and \"compression of the trachea or the esophagus\" are classified as either direct extension from the primary tumor or mediastinal lymph node involvement\n\n* **Caused by direct extension of the primary tumor**\n * Code as primary tumor involvement (EOD Primary Tumor, code 650)\n* **Primary tumor is peripheral and clearly unrelated to vocal cord paralysis, SVC obstruction, or compression of the trachea, or the esophagus**\n * These manifestations are secondary to lymph node involvement; code as mediastinal lymph node involvement (EOD Lymph Nodes, code 400)\n* **Unable to determine if manifestations due to direct extension or mediastinal lymph node involvement**\n * Record as mediastinal lymph node involvement (EOD Lymph Nodes, code 400)\n\n**Note 10:** **Separate tumor nodules**\n* Separate ipsilateral tumor nodules of the same histopathological type (intrapulmonary metastases)\n* Coded either 500 (same lobe) or 700 (different ipsilateral lobe). \n* Separate tumor nodules in the contralateral lung are assigned in EOD Mets.\n\n**Note 11:** **Occult carcinoma**\n* Occult carcinoma occurs when tumor is proven by the presence of malignant cells in sputum or bronchial washings, but there is no other evidence of the tumor. \n* In these cases, assign EOD Primary Tumor 980, EOD Regional Nodes 000, and EOD Mets 00.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Lung**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:06:08.377Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, Noninvasive, intraepithelial\n\nSquamous cell carcinoma in situ (SCIS) \n\nAdenocarcinoma in situ (AIS): adenocarcinoma with pure lepidic pattern,\nless than or equal to 3 cm in greatest dimension", "VALUE:IS" ], [ "100", "Minimally invasive adenocarcinoma\n- Adenocarcinoma tumor \n + WITH predominantly lepidic pattern measuring less than or equal to 3 cm in greatest dimension\n + WITH invasive component measuring less than or equal to 5 mm in greatest dimension", "VALUE:L" ], [ "200", "Superficial spreading tumor, any size\n- WITH invasive component limited to bronchial wall\n- WITH or WITHOUT proximal extension to main stem bronchus\n(these types of tumors are uncommon)", "VALUE:L" ], [ "300", "Any size tumor\n- Confined to lung, NOS\n- Localized, NOS", "VALUE:L" ], [ "400", "Any size tumor \n- Adjacent ipsilateral lobe (direct tumor invasion)\n- Confined to hilus\n- Main stem bronchus, NOS (without involvement of the carina)\n + Including extension from other part of lung", "VALUE:L" ], [ "450", "Any size tumor \n- Atelectasis/obstructive pneumonitis\n + Extends to hilar region, involving part or all of lung\n- Pleura, NOS\n- Pulmonary ligament\n- Visceral pleura (PL1, PL2, or NOS)", "VALUE:RE" ], [ "500", "Any size tumor \n- Azygos vein \n- Chest wall (thoracic wall) (separate lesion-see EOD Mets)\n- Diaphragm (separate lesion-see EOD Mets)\n- Pancoast tumor (superior sulcus syndrome), NOS\n- Parietal pericardium\n- Parietal pleura (PL3)\n- Pericardium, NOS\n- Phrenic nerve\n- Stellate ganglion and thoracic nerve roots (see code 650 for other nerves)\n\nSeparate tumor nodule(s) in the same lobe as the primary", "VALUE:RE" ], [ "600", "Carina\nTumor limited to the carina", "VALUE:L" ], [ "650", "Code 600 + (100-500)\nCarina with involvement of any other parts of lung\n\nBlood vessel(s) (major)\n- Aorta\n- Brachiocephalic vein\n- Pulmonary artery or vein\n- Superior vena cava (SVC syndrome)\n- Supra-aortic arteries\n\nBrachial plexus (trunks, divisions, cords, or terminal nerves)\nCompression of esophagus or trachea specified as direct extension\nEsophagus\nMediastinum, extrapulmonary or NOS\nNerve(s)\n- Cervical sympathetic (Horner's syndrome)\n - *Excludes stellate ganglion and thoracic nerve roots (see Code 500)*\n- Recurrent laryngeal (vocal cord paralysis)\n- Vagus\n\nSubclavian vessels\nThymus\nTrachea", "VALUE:RE" ], [ "675", "Any size tumor \n- Adjacent rib (contiguous involvement only) (see EOD Mets for noncontiguous involvement)\n- Skeletal muscle\n- Sternum", "VALUE:D" ], [ "700", "Heart\nInferior vena cava\nNeural foramina\nVertebra(e) (vertebral body)\nVisceral pericardium \n\nSeparate tumor nodule(s) in a different ipsilateral lobe \n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "980", "Tumor proven by presence of malignant cells in sputum or bronchial \nwashings but not visualized by imaging or bronchoscopy", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_prostate_pathologic_extension_2781.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_prostate_pathologic_extension_2781.json deleted file mode 100644 index ffc4e97ec..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_prostate_pathologic_extension_2781.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_prostate_pathologic_extension_2781", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Prostate Pathologic Extension", - "title" : "EOD Prostate Pathologic Extension", - "notes" : "**Note 1:** **Radical prostatectomy or autopsy results only** \n* Only use histologic information from a radical prostatectomy and/or autopsy in this field. \n* Information from biopsy of extraprostatic sites is coded in EOD Primary Tumor.\n * Code results from a transurethral resection of prostate (TURP) or simple prostatectomy in EOD Primary Tumor\n\n**Note 2:** **No radical prostatectomy or autopsy** \n* Code 900 if there is no radical prostatectomy or autopsy performed within first course of treatment. (See also Note 9)\n * A radical prostatectomy is defined as Surgery of Primary Site codes 50-70 (A500-A700)\n * If Surgery of primary site is 00-30, 90, 99 (A000-A300, A900, A999) then code 900\n * *Note:* Surgery of primary site can be 00 if an autopsy is done\n\n**Note 3:** **Criteria for data item** \n* Limit information in this field to first course of treatment in the absence of disease progression. \n\n**Note 4:** **Incidental finding** \n* When prostate cancer is an incidental finding during a prostatectomy for other reasons (for example, a cystoprostatectomy for bladder cancer), or an autopsy, use the appropriate code for the extent of disease found. \n\n**Note 5:** **Radical prostatectomy, no residual disease** \n* Code 300 when there is a microscopically confirmed clinical diagnosis of prostate cancer and the radical prostatectomy shows no residual disease\n\n**Note 6:** **Prostatic urethra** \n* Involvement of the prostatic urethra does not alter the extension code. \n\n**Note 7:** **Frozen pelvis** \n* \"Frozen pelvis\" is a clinical term which means tumor extends to pelvic sidewall(s). \n* In the absence of a more detailed statement of involvement, assign this to code 700.\n\n**Note 8:** **No evidence of primary tumor** \n* Code 800 is only to be used when there is a clinical diagnosis of prostate cancer that has not been microscopically confirmed (i.e., diagnosed via imaging with bone mets) and a radical prostatectomy or autopsy is done and there is no evidence of primary tumor. \n\n**Note 9:** **Active surveillance, then Radical Prostatectomy** \n* Code 950 is used when first course of treatment is active surveillance, but a radical prostatectomy is done at a later date due to disease progression or the patient changed their mind. \n* When code 950 is used, code the following SSDIs as X9: Gleason Patterns Pathological, Gleason Score Pathological, and Gleason Tertiary\n\n**Note 10:** **Coding unknown** \n* Code 999 when\n * Radical prostatectomy is performed, but there is no information on the extension\n * Surgery of Primary Site is Prostatectomy, NOS (Surgery of Primary Site is 80)\n * Unknown if surgery is done (Surgery of Primary Site is 99)", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Buyyounouski, M.K., Lin, D.W., et al. **Prostate**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:50.847Z", - "definition" : [ { - "key" : "eod_prostate_path_extension", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: noninvasive; intraepithelial", "VALUE:IS" ], [ "300", "Invasion into (but not beyond) prostatic capsule\n* Intracapsular involvement only\n* No extracapsular extension\n\nConfined to prostate, NOS\nLocalized, NOS", "VALUE:L" ], [ "350", "Bladder neck, microscopic invasion\n\nExtraprostatic extension (beyond prostatic capsule), unilateral, bilateral, or NOS\n* WITHOUT invasion of the seminal vesicles\n\nExtension to periprostatic tissue\n* WITHOUT invasion of the seminal vesicles", "VALUE:RE" ], [ "400", "Tumor invades seminal vesicle(s)", "VALUE:RE" ], [ "500", "Extraprostatic tumor that is not fixed\n* WITHOUT invasion of adjacent structures\n\nPeriprostatic extension, NOS or Extraprostatic extension, NOS\n* Unknown if seminal vesicle(s) involved\n\nExtraprostatic extension, NOS (unknown if seminal vesicle(s) involved)\n\nThrough capsule, NOS", "VALUE:RE" ], [ "600", "Bladder neck, except microscopic bladder neck involvement \nBladder, NOS\nExternal sphincter\nExtraprostatic urethra (membranous urethra)\nFixation, NOS\nLevator muscles\nRectovesical (Denonvillier's) fascia\nRectum\nSkeletal muscle\nUreter(s)", "VALUE:RE" ], [ "700", "Extension to or fixation to pelvic wall or pelvic bone\n* \"Frozen pelvis\", NOS \n\nFurther contiguous extension including\n- Other organs\n- Penis\n- Sigmoid colon\n- Soft tissue other than periprostatic", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "900", "No radical prostatectomy or autopsy performed", "VALUE:U" ], [ "950", "Radical prostatectomy performed\n* But not first course of treatment \n* For example, performed after disease progression", "VALUE:U" ], [ "999", "Unknown; extension not stated\nUnknown if radical prostatectomy done\nPrimary tumor cannot be assessed\nNot documented in medical record", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_10020.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_10020.json deleted file mode 100644 index 878649c6a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_10020.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_10020", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS**\n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Para-aortic nodes** \n* Para-aortic nodes are now regional instead of distant. \n\n**Note 3:** **FIGO and lymph node detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and lymph node detail are available, record the code with lymph node detail in preference to a statement of FIGO stage.\n\n**Note 4:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). Lymph nodes with ITCs only are not counted as positive nodes. \n * For positive ITCs with NO regional lymph node involvement, code 050\n\n**Note 5:** **Lymph nodes, NOS**\n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Dizon, D.S., Olawaiye, A.B., Mutch, D.G., et al. **Corpus Uteri - Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:52.279Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "050", "Isolated tumor cells in regional lymph node(s) no greater than 0.2 mm", "VALUE:NONE" ], [ "300", "Para-aortic, NOS\n- Aortic\n- Lateral aortic/lateral lumbar\n- Periaortic\n\nPelvic, NOS\n- Common\n- External\n- Internal (hypogastric, obturator, NOS)\n- Paracervical\n- Parametrial\n- Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\nFIGO Stage IIIC", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_11936.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_11936.json deleted file mode 100644 index bfe6cf4df..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_11936.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_11936", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Mesenteric nodes** \n* The specific location of the mesenteric nodes determines whether they are regional or distant. \n* If the specific location is not described, code in EOD Regional Nodes.\n\n**Note 3:** **Porta hepatic nodes** \n* Porta hepatic nodes are recorded as distant for Body and Tail and should be coded in EOD Mets. \n* If the specific location for hepatic nodes is not described, code in EOD Regional Nodes.\n\n**Note 4:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only. \n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (700, 725, 775) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (300, 700) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kakar, S., Pawlik, T.M., Vauthey, J.N., et al. **Exocrine Pancreas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cacer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:34.814Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nAll sites\n- Anterior, NOS \n- Common hepatic artery\n- Hepatic, NOS\n- Inferior to head and body of pancreas \n- Lateral aortic (lumbar)\n- Pancreaticoduodenal (anterior, posterior)\n- Peripancreatic, NOS\n- Posterior, NOS\n- Proximal mesenteric (anterior, posterior)\n- Retroperitoneal\n- Superior mesenteric \n- Superior to head and body of pancreas\n\nPancreas Head (C250)\n- Common bile duct (pericholedochal)\n- Lateral wall (right)\n- Portal vein\n- Pyloric (infrapyloric, retropyloric, subpyloric, suprapyloric, NOS)\n\nPancreas Body and Tail (C251-C252)\n- Gastroepiploic (gastro-omental, left)\n- Pancreaticosplenic (pancreaticolienal)\n- Splenic (artery, hilum, lineal)\n- Suprapancreatic\n\nPancreas Other (C253-C254, C257-C259)\n- Celiac\n- Common bile duct (pericholedochal)\n- Gastroepiploic (gastro-omental)\n- Lateral wall right\n- Pancreaticosplenic (pancreaticolienal) \n- Portal vein\n- Pyloric (infrapyloric, retropyloric, subpyloric, suprapyloric, NOS)\n- Splenic (artery, hilum, lineal)\n- Suprapancreatic", "VALUE:RN" ], [ "700", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nPancreas Body Tail (C251, C252) (see code 300 for Pancreas Other, or EOD Mets for Pancreas Head)\n- Celiac", "VALUE:D" ], [ "725", "**CLINICAL ASSESSMENT ONLY**\n\nOne-three positive nodes clinically OR stated as Clinical N1", "VALUE:RN" ], [ "775", "**CLINICAL ASSESSMENT ONLY**\n\nFour or more positive nodes clinically OR stated as Clinical N2", "VALUE:RN" ], [ "800", "Positive nodes, number unknown\nUnknown if clinical or pathological\n\nRegional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_12613.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_12613.json deleted file mode 100644 index c99dbb950..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_12613.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_12613", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Definition of Head and Neck Lymph Nodes** \n* For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by TNM. \n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (450) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (150, 500, 600, 700) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n\n**Note 3:** **Laterality** \n* If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are ipsilateral.\n\n**Note 4:** **Supraclavicular lymph nodes** \n* Supraclavicular lymph nodes can be either Level IV or Level V\n * Level IV: deep to the sternocleidomastoid muscle, in the lower jugular chain\n * Level V: in the posterior triangle, inferior to the transverse cervical artery, supraclavicular lymph nodes, NOS\n\n**Note 5:** **Extranodal Extension** \n* Extranodal extension (ENE) is defined as the extension of a nodal metastasis through the lymph node capsule into adjacent tissue. The following codes record the status of the lymph nodes with positive ENE\n * Code 150: Pathological only: single ipsilateral node, less than or equal to 3 cm\n * Code 450: Clinical only: overt ENE\n * Code 500: Pathological only: single ipsilateral node, greater than 3 cm\n * Code 600: Pathological only: multiple ipsilateral, bilateral or contralateral nodes\n * Code 700: Pathological only: Single contralateral node\n\n**Note 6:** **Regional lymph nodes for Head and Neck tumors** \n* **Note:** For codes 100-700, use the list below for named regional lymph nodes. If the only information available is \"regional lymph nodes, NOS\" or \"lymph nodes,\" code 800.\n\n**Level I**\nLevel IA - Submental\nLevel IB - Submandibular (submaxillary), sublingual\n\n**Level II - Upper jugular** \nJugulodigastric (subdigastric)\nUpper deep cervical \nLevel IIA - Anterior\nLevel IIB - Posterior \n\n**Level III - Middle jugular**\nMiddle deep cervical\n\n**Level IV - Lower jugular**\nJugulo-omohyoid (supraomohyoid)\nLower deep cervical \nVirchow node\n\n**Level V - Posterior triangle group**\nPosterior cervical\nLevel VA - Spinal accessory \nLevel VB - Transverse cervical, supraclavicular \n\n**Level VI - Anterior compartment group**\nLaterotracheal\nParalaryngeal\nParatracheal - above suprasternal notch\nPerithyroidal\nPrecricoid (Delphian)\nPrelaryngeal\nPretracheal - above suprasternal notch\nRecurrent laryngeal\n\n**Level VII - Superior mediastinal group (for other mediastinal node(s) see EOD Mets)**\nEsophageal groove\nParatracheal - below suprasternal notch\nPretracheal - below suprasternal notch \n\n**Other groups**\nCervical, NOS\nDeep cervical, NOS\nFacial\n- Buccinator (buccal)\n- Mandibular\n- Nasolabial\n\nInternal jugular, NOS\nParapharyngeal \nParotid\n- Infraauricular\n- Intraparotid\n- Periparotid\n- Preauricular\n\nRetroauricular (mastoid)\nRetropharyngeal\nSuboccipital", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Patel, S.G., Lydiatt, W.M., Shah, J.P., et al. **Larynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:05.688Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "100", "Metastasis in a SINGLE ipsilateral lymph node\n3 cm or smaller in greatest dimension \nExtranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "150", "**PATHOLOGICAL assessment only**\n\nMetastasis in SINGLE ipsilateral node \n3 cm or smaller in greatest dimension \nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "200", "Metastasis in SINGLE ipsilateral node \nLarger than 3 cm but not larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "250", "Metastasis in MULTIPLE ipsilateral nodes\nNo nodes larger than 6 cm in greatest dimension\nExtranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "300", "Metastasis in bilateral or contralateral lymph node(s)\nNo nodes larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "400", "Metastasis in a lymph node larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "450", "**CLINICAL assessment only**\n\nMetastasis in any lymph node(s) with clinically overt ENE", "VALUE:RN" ], [ "500", "**PATHOLOGICAL assessment only**\n\nMetastasis in a SINGLE ipsilateral node \nLarger than 3 cm in greatest dimension \nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "600", "**PATHOLOGICAL assessment only**\n\nMetastasis in MULTIPLE ipsilateral, contralateral, or bilateral nodes\nExtranodal extension (ENE) positive for any node", "VALUE:RN" ], [ "700", "**PATHOLOGICAL assessment only**\n\nSingle contralateral node (any size)\nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_16316.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_16316.json deleted file mode 100644 index 0d83f2f6f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_16316.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_16316", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Psammoma bodies only**\n* Psammoma bodies are counted as positive regional lymph nodes\n\n**Note 3:** **Lymph nodes, NOS** \n * Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rosen, J.E., Lloyd, R.V., Perrier, N.D., et al. **Thyroid - Medullary**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:23.190Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "**MICROSCOPIC assessment only**\n\nNo regional lymph node involvement\nCYTOLOGICALLY or HISTOLOGICALLY confirmed to be benign node(s)", "VALUE:NONE" ], [ "050", "**CLINICAL assessment only**\n\nNo regional lymph node involvement\nRADIOLOGICALLY or CLINICALLY confirmed", "VALUE:NONE" ], [ "070", "**UNKNOWN if clinical or microscopic assessment**\nNo regional lymph node involvement", "VALUE:NONE" ], [ "300", "Unilateral or bilateral lymph nodes\n\nLevel VI nodes - Anterior compartment group\n- Laterotracheal\n- Paralaryngeal\n- Paratracheal - above suprasternal notch\n- Perithyroidal\n- Precricoid (Delphian)\n- Prelaryngeal \n- Pretracheal - above suprasternal notch\n- Recurrent laryngeal\n\nLevel VII nodes-Superior mediastinal group (for other mediastinal node(s) see EOD Mets)\n - Esophageal groove\n - Paratracheal - below suprasternal notch\n - Pretracheal - below suprasternal notch", "VALUE:RN" ], [ "400", "Unilateral, bilateral, or contralateral lymph nodes\n\nLevel I\n- Level IA - Submental \n- Level IB - Submandibular (submaxillary), sublingual\n\nFacial\n- Buccinator\n- Mandibular\n- Nasolabial\n\nParotid\n- Infraauricular\n- Intraparotid\n- Periparotid\n- Preauricular\n\nLevel II - Upper jugular \n- Jugulodigastric (subdigastric)\n- Upper deep cervical\n- Level II A - Anterior\n- Level II B - Posterior\n\nLevel III - Middle jugular\n- Middle deep cervical\n\nLevel IV - Lower jugular\n- Jugulo-omohyoid (supraomohyoid)\n- Lower deep cervical\n- Level VB - Transverse cervical, supraclavicular \n\nLevel V - Posterior triangle group\n- Posterior cervical\n- Level VA - Spinal accessory \n\nOther lymph nodes\n- Cervical, NOS\n- Deep cervical, NOS\n- Internal jugular, NOS\n- Parapharyngeal\n- Retroauricular (mastoid)\n- Retropharyngeal\n- Suboccipital", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_21853.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_21853.json deleted file mode 100644 index 9817beba5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_21853.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_21853", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (450) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (150, 500, 600, 700) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n \n+ Remaining codes (no designation of **CLINICAL** or **PATHOLOGICAL** only assessment) can be used based on clinical and/or pathological information\n\n**Note 3:** **Laterality**\n* If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are ipsilateral.\n\n**Note 4:** **Supraclavicular lymph nodes** \n* Supraclavicular lymph nodes can be either Level IV or Level V\n * Level IV: deep to the sternocleidomastoid muscle, in the lower jugular chain\n * Level V: in the posterior triangle, inferior to the transverse cervical artery, supraclavicular lymph nodes, NOS\n\n**Note 5:** **Extranodal extension** \n* Extranodal extension (ENE) is defined as the extension of a nodal metastasis through the lymph node capsule into adjacent tissue. The following codes record the status of the lymph nodes with positive ENE\n * Code 150: Pathological only: single ipsilateral node, less than or equal to 3 cm\n * Code 450: Clinical only: overt ENE\n * Code 500: Pathological only: single ipsilateral node, greater than 3 cm\n * Code 600: Pathological only: multiple ipsilateral, bilateral or contralateral nodes\n * Code 700: Pathological only: Single contralateral node\n\n**Note 6:** **Regional lymph nodes for Head and Neck tumors**\n* **Note:** For codes 100-700, use the list below for named regional lymph nodes. If the only information available is \"regional lymph nodes, NOS\" or \"lymph nodes,\" code 800.\n\n**Level I**\nLevel IA - Submental\nLevel IB - Submandibular (submaxillary), sublingual\n\n**Level II - Upper jugular** \nJugulodigastric (subdigastric)\nUpper deep cervical \nLevel IIA - Anterior\nLevel IIB - Posterior \n\n**Level III - Middle jugular**\nMiddle deep cervical\n\n**Level IV - Lower jugular**\nJugulo-omohyoid (supraomohyoid)\nLower deep cervical \nVirchow node\n\n**Level V - Posterior triangle group**\nPosterior cervical\nLevel VA - Spinal accessory \nLevel VB - Transverse cervical, supraclavicular \n\n**Level VI - Anterior compartment group**\nLaterotracheal\nParalaryngeal\nParatracheal - above suprasternal notch\nPerithyroidal\nPrecricoid (Delphian)\nPrelaryngeal\nPretracheal - above suprasternal notch\nRecurrent laryngeal\n\n**Level VII - Superior mediastinal group (for other mediastinal node(s), see EOD Mets)**\nEsophageal groove\nParatracheal - below suprasternal notch\nPretracheal - below suprasternal notch \n\n**Other groups**\nCervical, NOS\nDeep cervical, NOS\nFacial\n- Buccinator (buccal)\n- Mandibular\n- Nasolabial\n\nInternal jugular, NOS\nParapharyngeal \nParotid\n- Infraauricular\n- Intraparotid\n- Periparotid\n- Preauricular\n\nRetroauricular (mastoid)\nRetropharyngeal\nSuboccipital\n\n**Note 7:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Ridge, J.A., Shah, J.P., et al. **Oropharynx (p16-) and Hypopharynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:06.969Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "100", "Metastasis in a SINGLE ipsilateral lymph node\n3 cm or smaller in greatest dimension \nExtranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "150", "**PATHOLOGICAL assessment only** \n\nMetastasis in SINGLE ipsilateral node \n3 cm or smaller in greatest dimension \nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "200", "Metastasis in SINGLE ipsilateral node \nLarger than 3 cm but not larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "250", "Metastasis in MULTIPLE ipsilateral nodes\nNo nodes larger than 6 cm in greatest dimension\nExtranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "300", "Metastasis in bilateral or contralateral lymph node(s)\nNo nodes larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "400", "Metastasis in a lymph node larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "450", "**CLINICAL assessment only** \n\nMetastasis in any lymph node(s) with clinically overt ENE", "VALUE:RN" ], [ "500", "**PATHOLOGICAL assessment only** \n\nMetastasis in a SINGLE ipsilateral node\nLarger than 3 cm in greatest dimension\nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "600", "**PATHOLOGICAL assessment only** \n\nMetastasis in MULTIPLE ipsilateral, contralateral, or bilateral nodes\nExtranodal extension (ENE) positive for any node", "VALUE:RN" ], [ "700", "**PATHOLOGICAL assessment only** \n\nSingle contralateral node (any size)\nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_22383.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_22383.json deleted file mode 100644 index 6acc5b1f4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_22383.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_22383", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS**\n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Phan, A.T., Perrier, N.D., et al. **Adrenal Cortical Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:12.173Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Aortic, NOS\n- Para-aortic\n- Periaortic\n\nPericaval, NOS\n- Paracaval\n- Precaval\n- Retrocaval\n\nRetroperitoneal, NOS", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_27426.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_27426.json deleted file mode 100644 index e7121b853..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_27426.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_27426", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Mallipatna, A.C., Finger, P.T., et al. **Retinoblastoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:13.231Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Cervical, NOS\nMandibular, NOS\n- Submandibular (submaxillary)\n\nParotid, NOS\n- Infra-auricular\n- Preauricular", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_29442.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_29442.json deleted file mode 100644 index 0f5b2f7e9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_29442.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_29442", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Psammoma bodies only**\n* Psammoma bodies are counted as positive regional lymph nodes\n\n**Note 3:** **Lymph nodes, NOS** \n * Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Tuttle, R.M., Perrier, N.D., et al. **Thyroid - Differentiated and Anaplastic Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:13.663Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "**MICROSCOPIC assessment only**\n\nNo regional lymph node involvement\nCYTOLOGICALLY or HISTOLOGICALLY confirmed to be benign node(s)", "VALUE:NONE" ], [ "050", "**CLINICAL assessment only**\n\nNo regional lymph node involvement\nRADIOLOGICALLY or CLINICALLY confirmed", "VALUE:NONE" ], [ "070", "**UNKNOWN if clinical or microscopic assessment**\nNo regional lymph node involvement", "VALUE:NONE" ], [ "300", "Level VI nodes - Anterior compartment group (central compartment)\n- Laterotracheal\n- Paralaryngeal\n- Paratracheal - above suprasternal notch\n- Perithyroidal\n- Precricoid (Delphian)\n- Prelaryngeal \n- Pretracheal - above suprasternal notch\n- Recurrent laryngeal\n\nLevel VII nodes-Superior mediastinal group (for other mediastinal node(s) see EOD Mets)\n- Esophageal grove\n- Paratracheal - below suprasternal notch\n- Pretracheal - below suprasternal notch", "VALUE:RN" ], [ "400", "Unilateral, bilateral, or contralateral lymph nodes\n\nLevel I\n- Level IA - Submental \n- Level IB - Submandibular (submaxillary), sublingual\n\nFacial\n- Buccinator\n- Mandibular\n- Nasolabial\n\nParotid\n- Infraauricular\n- Intraparotid\n- Periparotid\n- Preauricular\n\nLevel II - Upper jugular\n- Jugulodigastric (subdigastric)\n- Upper deep cervical\n- Level II A - Anterior\n- Level II B - Posterior\n\nLevel III - Middle jugular\n- Middle deep cervical\n\nLevel IV - Lower jugular\n- Jugulo-omohyoid (supraomohyoid)\n- Lower deep cervical\n- Level VB - Transverse cervical, supraclavicular \n\nLevel V - Posterior triangle group\n- Posterior cervical\n- Level VA - Spinal accessory \n\nOther lymph nodes\n- Cervical, NOS\n- Depp cervical, NOS\n- Internal jugular, NOS\n- Parapharyngeal\n- Retroauricular (mastoid)\n- Retropharyngeal\n- Suboccipital", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_30921.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_30921.json deleted file mode 100644 index 78162287b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_30921.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_30921", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Anus**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:51.805Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Anorectal\nInferior hemorrhoidal\nInguinal (femoral) (deep, superficial)\nInternal iliac (hypogastric)\nLateral sacral (laterosacral)\nMesorectal\nObturator\nPerirectal\nSuperior rectal (hemorrhoidal) (femoral)", "VALUE:RN" ], [ "400", "External iliac node(s) WITHOUT any nodes in code 300", "VALUE:RN" ], [ "500", "External iliac node(s) WITH any nodes in code 300", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_3383.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_3383.json deleted file mode 100644 index 501124c02..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_3383.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_3383", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Mesenteric nodes** \n* The specific location of the mesenteric nodes determines whether they are regional or distant. \n* If the specific location is not described, code in EOD Regional Nodes.\n\n**Note 3:** **Porta hepatic nodes** \n* Porta hepatic nodes are recorded as distant for Body and Tail and should be coded in EOD Mets. \n* If the specific location for hepatic nodes is not described, code in EOD Regional Nodes.\n\n**Note 4:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bergsland, E.K., Woltering, E.A., Klimstra, D.S., et al. **Neuroendocrine Tumors of the Pancreas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Pancreas**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:22.700Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "All sites\n- Anterior, NOS\n- Common bile duct (pericholedochal)\n- Common hepatic artery\n- Gastroepiploic (gastro-omental, left)\n- Hepatic, NOS\n- Inferior to the head and body of pancreas\n- Lateral aortic (lumbar)\n- Pancreaticoduodenal (anterior, posterior)\n- Peripancreatic, NOS\n- Posterior, NOS\n- Proximal mesentery (anterior, posterior)\n- Pyloric, NOS\n- Retroperitoneal\n- Superior to the head and body of pancreas\n- Superior mesenteric \n\nPancreas Head (C250)\n- Lateral wall (right)\n- Portal vein\n- Pyloric (infrapyloric, retropyloric, subpyloric, suprapyloric)\n\nPancreas Body and Tail (C251-C252)\n- Pancreaticosplenic (pancreaticolineal)\n- Splenic (artery, hilum, lineal)\n- Suprapancreatic\n\nPancreas Other (C253-C254, C257-C259)\n- Celiac\n- Common bile duct (pericholedochal)\n- Gastroepiploic (gastro-omental)\n- Lateral wall right\n- Pancreaticosplenic (pancreaticolienal) \n- Portal vein\n- Pyloric (infrapyloric, retropyloric, subpyloric, suprapyloric, NOS)\n- Splenic (artery, hilum, lineal)\n- Suprapancreatic", "VALUE:RN" ], [ "700", "Pancreas Body Tail (C251, C252) (see code 300 for Pancreas Other, or EOD Mets for Pancreas Head)\n- Celiac", "VALUE:D" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_36470.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_36470.json deleted file mode 100644 index ceb4bac53..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_36470.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_36470", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Definition of Head and Neck Lymph Nodes** \n* For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by TNM. \n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (325, 425, 525) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (125, 225) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n\n\n**Note 3:** **Laterality** \n* If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are ipsilateral.\n\n**Note 4:** **Supraclavicular lymph nodes** \n* Supraclavicular lymph nodes can be either Level IV or Level V\n * Level IV: deep to the sternocleidomastoid muscle, in the lower jugular chain\n * Level V: in the posterior triangle, inferior to the transverse cervical artery, supraclavicular lymph nodes, NOS\n\n**Note 5:** **Regional lymph nodes for Head and Neck tumors** \n\n**Level I**\nLevel IA - Submental\nLevel IB - Submandibular (submaxillary), sublingual\n\n**Level II - Upper jugular** \nJugulodigastric (subdigastric)\nUpper deep cervical \nLevel IIA - Anterior\nLevel IIB - Posterior \n\n**Level III - Middle jugular**\nMiddle deep cervical\n\n**Level IV - Lower jugular**\nJugulo-omohyoid (supraomohyoid)\nLower deep cervical \nVirchow node\n\n**Level V - Posterior triangle group**\nPosterior cervical\nLevel VA - Spinal accessory \nLevel VB - Transverse cervical, supraclavicular \n\n**Level VI - Anterior compartment group**\nLaterotracheal\nParalaryngeal\nParatracheal - above suprasternal notch\nPerithyroidal\nPrecricoid (Delphian)\nPrelaryngeal\nPretracheal - above suprasternal notch\nRecurrent laryngeal\n\n**Level VII - Superior mediastinal group (for other mediastinal node(s) see EOD Mets)**\nEsophageal groove\nParatracheal - below suprasternal notch\nPretracheal - below suprasternal notch \n\n**Other groups**\nCervical, NOS\nDeep cervical, NOS\nFacial\n- Buccinator (buccal)\n- Mandibular\n- Nasolabial\n\nInternal jugular, NOS\nParapharyngeal \nParotid\n- Infraauricular\n- Intraparotid\n- Periparotid\n- Preauricular\n\nRetroauricular (mastoid)\nRetropharyngeal\nSuboccipital", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Shah, J.P., et al. **Major Salivary Glands**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) **Salivary Glands**, from the AJCC Cancer Staging System Version 9 (2026). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:06:03.832Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "125", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nRegional lymph nodes involved **WITHOUT pathological evidence of ENE**", "VALUE:RN" ], [ "225", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nRegional lymph nodes involved **WITH pathological evidence of ENE**", "VALUE:RN" ], [ "325", "**CLINICAL ASSESSMENT ONLY**\n\n1-3 positive nodes clinically **ENE negative or unknown** OR Stated as Clinical N1", "VALUE:RN" ], [ "425", "**CLINICAL ASSESSMENT ONLY**\n\nGreater than 3 positive nodes clinically and **ENE negative or unknown** or Stated as Clinical N2", "VALUE:RN" ], [ "525", "**CLINICAL ASSESSMENT ONLY**\n\n**Clinical evidence of ENE** based on imaging, physical exam or biopsy", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_38984.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_38984.json deleted file mode 100644 index 1f939ed09..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_38984.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_38984", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **FIGO and lymph node detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and lymph node detail are available, record the code with lymph node detail in preference to a statement of FIGO stage.\n\n**Note 3:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). Lymph nodes with ITCs only are not counted as positive nodes. \n* For positive ITCs with NO regional lymph node involvement, code 040\n\n**Note 4:** **Regional lymph nodes include**\n- Femoral\n- Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal\n\n**Note 5:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Gibb, R.K., Olawaiye, A.B., Mutch, D.G., et al. **Vulva**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) **Vulva,** from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:06:01.901Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "040", "Isolated tumor cells lymph node metastasis less than or equal to 0.2 mm\nSingle cells or clusters of cells less than or equal to 200 cells in a single lymph node cross section", "VALUE:NONE" ], [ "110", "Non-fixed, non-ulcerated or UNKNOWN if fixed or ulcerated, lymph node involvement\n* Size of metastasis greater than 0.2 mm but less than or equal to 2.0 mm", "VALUE:RN" ], [ "120", "Non-fixed, non-ulcerated or UNKNOWN if fixed or ulcerated, lymph node involvement\n* Size of metastasis greater than 2.0 mm but less than or equal to 5 mm\n\nFIGO Stage IIIA", "VALUE:RN" ], [ "150", "Non-fixed, non-ulcerated or UNKNOWN if fixed or ulcerated, lymph node involvement \n* Size of metastasis greater than 5 mm\n\nFIGO Stage IIIB", "VALUE:RN" ], [ "250", "Non-fixed, non-ulcerated or UNKNOWN if fixed or ulcerated, lymph node involvement \n* With extranodal extension (ENE)\n\nFIGO Stage IIIC", "VALUE:RN" ], [ "310", "Non-fixed, non-ulcerated or UNKNOWN if fixed or ulcerated, lymph node involvement \n* Size of metastasis unknown AND\n* UNKNOWN if extranodal extension (ENE)\n\nFIGO Stage III", "VALUE:RN" ], [ "650", "Fixed or ulcerated lymph node involvement\n\nFIGO Stage IVA based on lymph node involvement", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_48374.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_48374.json deleted file mode 100644 index d044fe0d9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_48374.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_48374", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bergsland, E.K., Woltering, E.A., Klimstra, D.S., et al. **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:08.980Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Anterior to ampulla of Vater \nInferior to ampulla of Vater\nPosterior to ampulla of Vater\nSuperior to ampulla of Vater\n\nCeliac\nHepatic \nHepatic artery\nLateral aortic (lumbar)\nNode of foramen of Winslow (epiploic) (omental)\nPancreaticoduodenal\nPeripancreatic (excluding nodes at tail of pancreas)\nPeriportal (portal vein)\nProximal mesenteric\nPyloric (infrapyloric, subpyloric)\nRetroperitoneal\nSuperior mesenteric", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_53169.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_53169.json deleted file mode 100644 index 34894b8df..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_53169.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_53169", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Inguinal lymph nodes** \n* Inguinal lymph nodes are no longer coded as regional lymph nodes. See EOD Mets.\n\n**Note 3:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. \n* ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). Lymph nodes with ITCs only are not counted as positive nodes \n * For positive ITCs with NO regional lymph node involvement, code 050\n\n**Note 4:** **Regional lymph nodes include (bilateral and contralateral)**\n- Intrabdominal \n- Para-aortic, NOS\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n- Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n- Retroperitoneal, NOS\n\n**Note 5:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Prat, J., Olawaiye, A.B., Mutch, D.G., et al. **Ovary, Fallopian Tube, and Primary Peritoneal Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:15.943Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "050", "Isolated tumors cells no greater than 0.2 mm", "VALUE:NONE" ], [ "300", "Lymph node metastasis less than or equal to 10 mm\n\nFIGO Stage IIIA1i", "VALUE:RN" ], [ "400", "Lymph node metastasis greater than 10 mm\n\nFIGO Stage IIIA1ii", "VALUE:RN" ], [ "500", "Lymph node metastasis, size unknown\n\nFIGO Stage IIIAI", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_55756.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_55756.json deleted file mode 100644 index f9fcba8dc..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_55756.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_55756", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Definition of Head and Neck Lymph Nodes** \n* For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by TNM. \n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (450) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (150, 500, 600, 700) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n\n\n**Note 3:** **Laterality** \n* If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are ipsilateral.\n\n**Note 4:** **Supraclavicular lymph nodes** \n* Supraclavicular lymph nodes can be either Level IV or Level V\n * Level IV: deep to the sternocleidomastoid muscle, in the lower jugular chain\n * Level V: in the posterior triangle, inferior to the transverse cervical artery, supraclavicular lymph nodes, NOS\n\n**Note 5:** **Extranodal extension** \n* Extranodal extension (ENE) is defined as the extension of a nodal metastasis through the lymph node capsule into adjacent tissue. The following codes record the status of the lymph nodes with positive ENE\n * Code 150: Pathological only: single ipsilateral node, less than or equal to 3 cm\n * Code 450: Clinical only: overt ENE\n * Code 500: Pathological only: single ipsilateral node, greater than 3 cm\n * Code 600: Pathological only: multiple ipsilateral, bilateral or contralateral nodes\n * Code 700: Pathological only: Single contralateral node\n\n**Note 6:** **Regional lymph nodes for Head and Neck tumors** \n* **Note:** For codes 100-700, use the list below for named regional lymph nodes. If the only information available is \"regional lymph nodes, NOS\" or \"lymph nodes,\" code 800.\n\n**Level I**\nLevel IA - Submental\nLevel IB - Submandibular (submaxillary), sublingual\n\n**Level II - Upper jugular** \nJugulodigastric (subdigastric)\nUpper deep cervical \nLevel IIA - Anterior\nLevel IIB - Posterior \n\n**Level III - Middle jugular**\nMiddle deep cervical\n\n**Level IV - Lower jugular**\nJugulo-omohyoid (supraomohyoid)\nLower deep cervical \nVirchow node\n\n**Level V - Posterior triangle group**\nPosterior cervical\nLevel VA - Spinal accessory \nLevel VB - Transverse cervical, supraclavicular \n\n**Level VI - Anterior compartment group**\nLaterotracheal\nParalaryngeal\nParatracheal - above suprasternal notch\nPerithyroidal\nPrecricoid (Delphian)\nPrelaryngeal\nPretracheal - above suprasternal notch\nRecurrent laryngeal\n\n**Level VII - Superior mediastinal group (for other mediastinal nodes see EOD Mets)**\nEsophageal groove\nParatracheal - below suprasternal notch\nPretracheal - below suprasternal notch \n\n**Other groups**\nCervical, NOS\nDeep cervical, NOS\nFacial\n- Buccinator (buccal)\n- Mandibular\n- Nasolabial\n\nInternal jugular, NOS\nParapharyngeal \nParotid\n- Infraauricular\n- Intraparotid\n- Periparotid\n- Preauricular\n\nRetroauricular (mastoid)\nRetropharyngeal\nSuboccipital\n\n**Note 7:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Ridge, J.A., Shah, J.P., et al. **Oropharynx (p16-) and Hypopharynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:05.333Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "100", "Metastasis in a SINGLE ipsilateral lymph node\n3 cm or smaller in greatest dimension \nExtranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "150", "PATHOLOGICAL assessment only\n\nMetastasis in SINGLE ipsilateral node \n3 cm or smaller in greatest dimension \nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "200", "Metastasis in SINGLE ipsilateral node \nLarger than 3 cm but not larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "250", "Metastasis in MULTIPLE ipsilateral nodes\nNo nodes larger than 6 cm in greatest dimension\nExtranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "300", "Metastasis in bilateral or contralateral lymph node(s)\nNo nodes larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "400", "Metastasis in a lymph node larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "450", "CLINICAL assessment only \n\nMetastasis in any lymph node(s) with clinically overt ENE", "VALUE:RN" ], [ "500", "PATHOLOGICAL assessment only\n\nMetastasis in a SINGLE ipsilateral node \nLarger than 3 cm in greatest dimension \nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "600", "PATHOLOGICAL assessment only \n\nMetastasis in MULTIPLE ipsilateral, contralateral, or bilateral nodes\nExtranodal extension (ENE) positive for any node", "VALUE:RN" ], [ "700", "PATHOLOGICAL assessment only \n\nSingle contralateral node (any size)\nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_58339.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_58339.json deleted file mode 100644 index 638cf4414..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_58339.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_58339", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Conway, R.M., Finger, P.T., et al. **Conjunctival Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:06.673Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Cervical, NOS\nMandibular, NOS\n- Submandibular (submaxillary)\n\nParotid, NOS\n- Infra-auricular\n- Preauricular", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_61282.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_61282.json deleted file mode 100644 index 526ad8e22..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_61282.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_61282", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Nodal metastasis rare** \n* Regional lymph node involvement is rare. For this schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative. \n* Code 999 (Unknown) only when there is no available information on the extent of the patient's disease, for example when a lab-only case is abstracted from a biopsy report and no clinical history is available.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:06:09.836Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n(See Note 2)\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_62689.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_62689.json deleted file mode 100644 index c75ebde91..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_62689.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_62689", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **LAMN tumors** \n* Nodal metastasis is very rare in low-grade appendiceal neoplasms (LAMN). If there is no mention of lymph nodes in the pathology report for a LAMN, code as none (000). \n\n**Note 3:** **CLINICAL and PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only. \n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (450, 500, 550, 600, 650, 700) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (300, 400) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n\n**Note 4:** **Tumor Deposits** \n* Code 400 is defined as **PATHOLOGICAL** assessment only. This is used when\n * Primary tumor or site surgically resected with\n * Any positive microscopic examination of tumor deposits WITHOUT positive lymph nodes\n * If there are also positive lymph nodes, code 300", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Appendix**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:04.844Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "**PATHOLOGICAL ASSESSMENT ONLY**\n\n- Cecal \n + Anterior (prececal)\n * Posterior (retrocecal)\n * Right colic\n- Colic, NOS\n- Epicolic (adjacent to bowel wall)\n- Ileocolic\n- Mesenteric, NOS\n- Mesocolic, NOS\n- Paracolic/pericolic", "VALUE:RN" ], [ "400", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nTumor deposits (TD) in the subserosa, mesentery, mesorectal \nor nonperitonealized pericolic or perirectal tissues \nWITHOUT regional nodal metastasis", "VALUE:RN" ], [ "450", "**CLINICAL ASSESSMENT ONLY**\n\nOne positive node clinically OR Stated as Clinical N1a", "VALUE:RN" ], [ "500", "**CLINICAL ASSESSMENT ONLY**\n\nTwo-three positive nodes clinically OR Stated as Clinical N1b", "VALUE:RN" ], [ "550", "**CLINICAL ASSESSMENT ONLY**\n\nStated as Clinical N1, number of positive nodes clinically unknown", "VALUE:RN" ], [ "600", "**CLINICAL ASSESSMENT ONLY**\n\nFour-six positive nodes clinically OR Stated as Clinical N2a", "VALUE:RN" ], [ "650", "**CLINICAL ASSESSMENT ONLY**\n\nSeven or more positive nodes clinically OR Stated as Clinical N2b", "VALUE:RN" ], [ "700", "**CLINICAL ASSESSMENT ONLY**\n\nStated as Clinical N2, number of positive nodes clinically unknown", "VALUE:RN" ], [ "800", "Positive nodes, number unknown\nUnknown if clinical or pathological assessment\n\nRegional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_6464.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_6464.json deleted file mode 100644 index bcf922ce6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_6464.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_6464", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Definition of Head and Neck Lymph Nodes** \n* For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by TNM. \n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (250, 350, 450, 550, 650) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (100, 200) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n\n \n**Note 3:** **Laterality** \n* If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are ipsilateral.\n\n**Note 4:** **Supraclavicular lymph nodes** \n* Supraclavicular lymph nodes can be either Level IV or Level V\n * Level IV: deep to the sternocleidomastoid muscle, in the lower jugular chain\n * Level V: in the posterior triangle, inferior to the transverse cervical artery, supraclavicular lymph nodes, NOS\n\n**Note 5:** **Regional lymph nodes for Head and Neck tumors** \n* **Note:** For codes 300, 400, or 500, use the list below for named regional lymph nodes. If the only information available is \"regional lymph nodes, NOS\" or \"lymph nodes,\" code 800.\n\n**Level I**\n- Level IA - Submental\n- Level IB - Submandibular (submaxillary), sublingual\n\n**Level II - Upper jugular** \n- Jugulodigastric (subdigastric)\n- Upper deep cervical \n- Level IIA - Anterior\n- Level IIB - Posterior \n\n**Level III - Middle jugular**\n- Middle deep cervical\n\n**Level IV - Lower jugular**\n- Jugulo-omohyoid (supraomohyoid)\n- Lower deep cervical \n- Virchow node\n\n**Level V - Posterior triangle group**\n- Posterior cervical\n- Level VA - Spinal accessory \n- Level VB - Transverse cervical, supraclavicular \n\n**Level VI - Anterior compartment group**\n- Laterotracheal\n- Paralaryngeal\n- Paratracheal - above suprasternal notch\n- Perithyroidal\n- Precricoid (Delphian)\n- Prelaryngeal\n- Pretracheal - above suprasternal notch\n- Recurrent laryngeal\n\n**Level VII - Superior mediastinal group (for other mediastinal node(s), see EOD Mets)**\n- Esophageal groove\n- Paratracheal - below suprasternal notch\n- Pretracheal - below suprasternal notch \n\n**Other groups**\n- Cervical, NOS\n- Deep cervical, NOS\n- Facial\n + Buccinator (buccal)\n + Mandibular\n + Nasolabial\n- Internal jugular, NOS\n- Parapharyngeal \n- Parotid\n + Infraauricular\n + Intraparotid\n + Periparotid\n + Preauricular\n- Retroauricular (mastoid)\n- Retropharyngeal\n- Suboccipital\n- Regional lymph node(s), NOS\n- Lymph node(s), NOS\n\n**Note 6:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) O'Sullivan, B., Lydiatt, W.M., Shah, J.P., et al. **Oropharynx HPV-Mediated**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) **Oropharynx HPV-Associated**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:06:06.559Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "100", "**PATHOLOGICAL ASSESSMENT only**\n\nRegional lymph node involvement **WITHOUT pathological evidence of ENE**", "VALUE:RN" ], [ "200", "**PATHOLOGICAL ASSESSMENT only**\n \nRegional lymph node involvement **WITH pathological evidence of ENE**", "VALUE:RN" ], [ "250", "**CLINICAL ASSESSMENT only**\n\nIpsilateral lymph node(s), < equal to 6 cm **WITHOUT clinical evidence of ENE**", "VALUE:RN" ], [ "350", "**CLINICAL ASSESSMENT only**\n \nIpsilateral lymph node(s), < equal to 6 cm **WITH clinical evidence of ENE**", "VALUE:RN" ], [ "450", "**CLINICAL ASSESSMENT only**\n \nBilateral or contralateral lymph nodes, < equal to 6 cm **WITHOUT clinical evidence of ENE**", "VALUE:RN" ], [ "550", "**CLINICAL ASSESSMENT only** \n\nBilateral or contralateral lymph nodes, **WITH clinical evidence of ENE**", "VALUE:RN" ], [ "650", "**CLINICAL ASSESSMENT only**\n\nBilateral or contralateral lymph nodes > 6 cm **WITH or WITHOUT clinical evidence of ENE**", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_65616.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_65616.json deleted file mode 100644 index d2327c296..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_65616.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_65616", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Dutton, J.J., Finger, P.T., et al. **Orbital Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:36.130Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Cervical, NOS\nMandibular, NOS\n- Submandibular (submaxillary)\n\nParotid, NOS\n- Infra-auricular\n- Preauricular", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_7080.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_7080.json deleted file mode 100644 index bab79427d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_7080.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_7080", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (450) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (150, 500, 600, 700) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n\n**Note 3:** **Laterality** \n* If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are ipsilateral.\n\n**Note 4:** **Supraclavicular lymph nodes** \n* Supraclavicular lymph nodes can be either Level IV or Level V\n * Level IV: deep to the sternocleidomastoid muscle, in the lower jugular chain\n * Level V: in the posterior triangle, inferior to the transverse cervical artery, supraclavicular lymph nodes, NOS\n\n**Note 5:** **Bilateral and contralateral nodes** \n* Bilateral or contralateral nodes are classified as regional nodes for head, neck, and truncal tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. \n * Truncal tumors may also drain to both cephalad and caudal primary nodal basins as shown on lymphoscintigraphy.\n* Clinical assessment of bilateral/contralateral or cephalad/caudal regional nodal involvement is required for tumors where lymphoscintigraphy is not performed\n\n**Note 6:** **Nodal basins** \n* Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins and are coded as regional nodes.\n\n**Note 7:** **Extranodal extension** \n* Extranodal extension (ENE) is defined as the extension of a nodal metastasis through the lymph node capsule into adjacent tissue. The following codes record the status of the lymph nodes with positive ENE\n * Code 150: Pathological only: single ipsilateral node, less than or equal to 3 cm\n * Code 450: Clinical only: overt ENE\n * Code 500: Pathological only: single ipsilateral node, greater than 3 cm\n * Code 600: Pathological only: multiple ipsilateral, bilateral or contralateral nodes\n * Code 700: Pathological only: Single contralateral node\n\n**Note 8:** **Regional lymph nodes for Head and Neck tumors**\n* **Note:** For codes 100-700, use the list below for named regional lymph nodes. If the only information available is \"regional lymph nodes, NOS\" or \"lymph nodes,\" code 800.\n\n**Level I**\nLevel IA - Submental\nLevel IB - Submandibular (submaxillary), sublingual\n\n**Level II - Upper jugular** \nJugulodigastric (subdigastric)\nUpper deep cervical \nLevel IIA - Anterior\nLevel IIB - Posterior \n\n**Level III - Middle jugular**\nMiddle deep cervical\n\n**Level IV - Lower jugular**\nJugulo-omohyoid (supraomohyoid)\nLower deep cervical \nVirchow node\n\n**Level V - Posterior triangle group**\nPosterior cervical\nLevel VA - Spinal accessory \nLevel VB - Transverse cervical, supraclavicular \n\n**Level VI - Anterior compartment group**\nLaterotracheal\nParalaryngeal\nParatracheal - above suprasternal notch\nPerithyroidal\nPrecricoid (Delphian)\nPrelaryngeal\nPretracheal - above suprasternal notch\nRecurrent laryngeal\n\n**Level VII - Superior mediastinal group (for other mediastinal node(s) see EOD Mets)**\nEsophageal groove\nParatracheal - below suprasternal notch\nPretracheal - below suprasternal notch \n\n**Other groups**\nCervical, NOS\nDeep cervical, NOS\nFacial\n- Buccinator (buccal)\n- Mandibular\n- Nasolabial\n\nInternal jugular, NOS\nParapharyngeal \nParotid\n- Infraauricular\n- Intraparotid\n- Periparotid\n- Preauricular\n\nRetroauricular (mastoid)\nRetropharyngeal\nSuboccipital", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Califano, J.A., Lydiatt, W.M., Shah, J.P., et al. **Cutaneous Carcinoma of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:07.733Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "100", "Metastasis in a SINGLE ipsilateral lymph node\n* 3 cm or smaller in greatest dimension \n* Extranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "150", "**PATHOLOGICAL assessment only**\n\nMetastasis in SINGLE ipsilateral node\n* 3 cm or smaller in greatest dimension \n* Extranodal extension (ENE) positive", "VALUE:RN" ], [ "200", "Metastasis in SINGLE ipsilateral node \n* Larger than 3 cm but not larger than 6 cm in greatest dimension \n* Extranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "250", "Metastasis in MULTIPLE ipsilateral nodes\n* No nodes larger than 6 cm in greatest dimension\n* Extranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "300", "Metastasis in bilateral or contralateral lymph node(s)\n* No nodes larger than 6 cm in greatest dimension \n* Extranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "400", "Metastasis in a lymph node larger than 6 cm in greatest dimension \n* Extranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "450", "**CLINICAL assessment only** \n\nMetastasis in any lymph node(s) with clinically overt ENE", "VALUE:RN" ], [ "500", "**PATHOLOGICAL assessment only**\n\nMetastasis in a SINGLE ipsilateral node\n* Larger than 3 cm in greatest dimension \n* Extranodal extension (ENE) positive", "VALUE:RN" ], [ "600", "**PATHOLOGICAL assessment only**\n\nMetastasis in MULTIPLE ipsilateral, contralateral, or bilateral nodes\n* Extranodal extension (ENE) positive for any node", "VALUE:RN" ], [ "700", "**PATHOLOGICAL assessment only**\n\nSingle contralateral node (any size)\n* Extranodal extension (ENE) positive", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_76612.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_76612.json deleted file mode 100644 index 69289188a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_76612.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_76612", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kivelä, T., Finger, P.T., et al. **Uveal Melanoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:50.384Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Regional lymph nodes WITH or WITHOUT discrete tumors nodules in the orbit not contiguous to the eye\n* Cervical, NOS\n* Mandibular, NOS\n - Submandibular (submaxillary)\n\n* Parotid, NOS\n - Infra-auricular\n - Preauricular", "VALUE:RN" ], [ "400", "Discrete tumor deposit(s) in orbit not contiguous to the eye\n- WITHOUT positive regional lymph node(s)", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_77237.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_77237.json deleted file mode 100644 index d4c12732e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_77237.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_77237", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Definition of Head and Neck Lymph Nodes** \n* For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by TNM. \n\n**Note 2:** **Code 000** \n* For this schema, code 000 (no regional lymph node involvement) is not applicable. This code was removed effective Version 2.0 and later in an effort to stop this schema being used when it is not applicable. \n* To get into this schema, there **must** be lymph node involvement (clinically or pathologically)\n - If you are in this schema and there are negative nodes clinically, please review the response to Schema Discriminator 1: Occult Head and Neck Lymph Nodes and reassign appropriately (Code 1is for primary site C760 with negative lymph node involvement)\n - This schema may be used for nodes that are clinically positive (FNA, core biopsy, lymph node biopsy, lymph node excision or sentinel lymph node biopsy), but are confirmed to be pathologically negative on a lymph node dissection. In these cases, the clinical lymph node involvement has priority and should be coded in this field\n * ***Example 1:*** Excision of a single cervical node was positive, subsequent cervical lymph node dissection was negative\n * ***Example 2:*** Biopsy of a cervical was positive, the patient underwent neoadjuvant treatment, followed by a negative lymph node dissection\n - This schema may **not** be used when nodes are positive on imaging only (not microscopically confirmed clinically) and the same nodes are removed and negative. In this situation, the pathological lymph node involvement would take priority and the lymph nodes would be coded as not involved (see first bullet about reviewing the schema discriminator)\n\n**Note 3:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n\n+ **PATHOLOGICAL** assessment only codes (150, 500, 600, 700) are used when\n * Any microscopic examination of regional lymph nodes. Includes\n - FNA, core biopsy, sentinel node biopsy or lymph node excision done during the clinical work up and/or\n - Lymph node dissection performed\n \n * Pathological codes 150, 500, 600, 700 take priority over clinical code 450\n * *Exception:* If patient has neoadjuvant therapy, and the clinical assessment is greater than the pathological assessment, then the clinical assessment code would take priority\n\n+ **CLINICAL** assessment only code (450) is used when there is a clinical work up only and there is no surgical resection of the primary tumor or site. This includes FNA, core biopsy, sentinel node biopsy, or lymph node excision\n \n+ Remaining codes (no designation of **CLINICAL** or **PATHOLOGICAL** only assessment) can be used based on clinical and/or pathological information\n\n\n**Note 4:** **Laterality** \n* If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are ipsilateral.\n\n**Note 5:** **Supraclavicular lymph nodes** \n* Supraclavicular lymph nodes can be either Level IV or Level V\n * Level IV: deep to the sternocleidomastoid muscle, in the lower jugular chain\n * Level V: in the posterior triangle, inferior to the transverse cervical artery, supraclavicular lymph nodes, NOS\n\n**Note 6:** **Regional lymph nodes for Head and Neck tumors**\n\n* **Note:** For codes 100-700, use the list below for named regional lymph nodes. If the only information available is \"regional lymph nodes, NOS\" or \"lymph nodes,\" code 800.\n\n**Level I**\nLevel IA - Submental\nLevel IB - Submandibular (submaxillary), sublingual\n\n**Level II - Upper jugular** \nJugulodigastric (subdigastric)\nUpper deep cervical \nLevel IIA - Anterior\nLevel IIB - Posterior \n\n**Level III - Middle jugular**\nMiddle deep cervical\n\n**Level IV - Lower jugular**\nJugulo-omohyoid (supraomohyoid)\nLower deep cervical \nVirchow node\n\n**Level V - Posterior triangle group**\nPosterior cervical\nLevel VA - Spinal accessory \nLevel VB - Transverse cervical, supraclavicular. \n\n**Level VI - Anterior compartment group**\nLaterotracheal\nParalaryngeal\nParatracheal - above suprasternal notch\nPerithyroidal\nPrecricoid (Delphian)\nPrelaryngeal\nPretracheal - above suprasternal notch\nRecurrent laryngeal\n\n**Level VII - Superior mediastinal group (for other mediastinal node(s) see EOD Mets)**\nEsophageal groove\nParatracheal - below suprasternal notch\nPretracheal - below suprasternal notch \n\n**Other groups**\nCervical, NOS\nDeep cervical, NOS\nFacial\n- Buccinator (buccal)\n- Mandibular\n- Nasolabial\n\nInternal jugular, NOS\nParapharyngeal \nParotid\n- Infraauricular\n- Intraparotid\n- Periparotid\n- Preauricular\n\nRetroauricular (mastoid)\nRetropharyngeal\nSuboccipital\n\n**Note 7:** **Lymph nodes, NOS**\n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Patel, S.G., Lydiatt, W.M., Shah, J.P., et al. **Cervical Lymph Nodes and Unknown Primary Tumors of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:15.482Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Metastasis in a SINGLE ipsilateral lymph node\n3 cm or smaller in greatest dimension \nExtranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "150", "PATHOLOGICAL assessment only\n\nMetastasis in SINGLE ipsilateral node \n3 cm or smaller in greatest dimension \nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "200", "Metastasis in SINGLE ipsilateral node \nLarger than 3 cm but not larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "250", "Metastasis in MULTIPLE ipsilateral nodes\nNo nodes larger than 6 cm in greatest dimension\nExtranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "300", "Metastasis in bilateral or contralateral lymph node(s)\nNo nodes larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "400", "Metastasis in a lymph node larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "450", "CLINICAL assessment only\n\nMetastasis in any lymph node(s) with clinically overt ENE", "VALUE:RN" ], [ "500", "PATHOLOGICAL assessment only\n\nMetastasis in a SINGLE ipsilateral node \nLarger than 3 cm in greatest dimension \nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "600", "PATHOLOGICAL assessment only\n\nMetastasis in MULTIPLE ipsilateral, contralateral, or bilateral nodes\nExtranodal extension (ENE) positive for any node", "VALUE:RN" ], [ "700", "PATHOLOGICAL assessment only\n\nSingle contralateral node (any size)\nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_79068.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_79068.json deleted file mode 100644 index 05400fd85..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_79068.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_79068", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kivelä, T., Finger, P.T., et al. **Uveal Melanoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:02.357Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Cervical, NOS\nMandibular, NOS\n- Submandibular (submaxillary)\n\nParotid, NOS\n- Infra-auricular\n- Preauricular", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_80411.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_80411.json deleted file mode 100644 index 24be640b3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_80411.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_80411", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Extraosseous plasmacytomas** Extraosseous plasmacytomas (9734), especially those in the respiratory tract, may metastasize to regional lymph nodes. \n\n**Note 2:** **Histologies not applicable** \n* Code 987, not applicable, for\n * Lymphoplasmacytic lymphoma (9671)\n * Plasmacytoma, NOS (9731) \n * Single plasmacytoma occurring in bone (osseous or medullary) (9731)\n * Waldenstrom Macroglobulinemia (9761)", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Bergsagel, P.L., Jaffe, E.S., Leonard, J.P., et al. **Plasma Cell Myeloma and Plasma Cell Disorders**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:14.694Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "Extraosseous plasmacytomas only (9734)\n\nNo regional lymph node involvement", "VALUE:NONE" ], [ "800", "Extraosseous plasmacytomas only (9734)\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS", "VALUE:RN" ], [ "987", "Not applicable\n- Lymphoplasmacytic lymphoma (9671)\n- Plasmacytoma, NOS (9731)\n- Single plasmacytoma occurring in bone (osseous or medullary) (9731)\n- Waldenstrom Macroglobulinemia (9761)", "VALUE:NA" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_8284.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_8284.json deleted file mode 100644 index 869594c7c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_8284.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_8284", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Coupland, S.E., Finger, P.T., et al. **Conjunctival Melanoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:12.892Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Cervical, NOS\nMandibular, NOS\n- Submandibular (submaxillary)\n\nParotid, NOS\n- Infra-auricular\n- Postauricular\n- Preauricular", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_86049.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_86049.json deleted file mode 100644 index 2c25e46a8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_86049.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_86049", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) White, V.A., Finger, P.T., et al. **Lacrimal Gland Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:12.412Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Cervical, NOS\nMandibular, NOS\n- Submandibular (submaxillary)\n\nParotid, NOS\n- Infra-auricular\n- Preauricular", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_92760.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_92760.json deleted file mode 100644 index 9213382c2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_92760.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_92760", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS**\n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Para-aortic nodes** \n* Para-aortic nodes are now regional instead of distant.\n\n**Note 3:** **FIGO and lymph node detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and lymph node detail are available, record the code with lymph node detail in preference to a statement of FIGO stage.\n\n**Note 4:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). Lymph nodes with ITCs only are not counted as positive nodes \n* For positive ITCs with NO regional lymph node involvement, code 050\n\n**Note 5:** **Regional lymph nodes include**:\n* Pelvic, NOS (codes 100-300)\n - Iliac, NOS \n + Common\n + External\n + Internal (hypogastric) (obturator)\n - Paracervical\n - Parametrial\n - Pelvic, NOS\n - Sacral, NOS \n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n \n* Para-aortic, NOS (WITH or WITHOUT pelvic lymph nodes) (codes 400-600)\n - Aortic\n - Lateral aortic/lateral lumbar\n - Periaortic\n\n**Note 6:** **Lymph nodes, NOS**\n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) **Cervix Uteri**, from the AJCC Cancer Staging System Version 9 (2020). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:06:11.757Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "050", "Isolated tumor cells\n* Lymph node metastasis less than or equal to 0.2 mm", "VALUE:NONE" ], [ "100", "Pelvic lymph nodes\n* Lymph node metastasis greater than 0.2 mm but not greater than 2.0 mm in diameter", "VALUE:RN" ], [ "200", "Pelvic lymph nodes\n* Lymph node metastasis greater than 2.0 mm in diameter", "VALUE:RN" ], [ "300", "Pelvic lymph nodes\n* Size of lymph node metastasis unknown", "VALUE:RN" ], [ "400", "Para-aortic lymph nodes \n* Lymph node metastasis greater than 0.2 mm but not greater than 2.0 mm in diameter\n* WITH or WITHOUT pelvic lymph nodes", "VALUE:RN" ], [ "500", "Para-aortic lymph nodes\n* Lymph node metastasis greater than 2.0 mm in diameter\n* WITH or WITHOUT pelvic lymph nodes", "VALUE:RN" ], [ "600", "Para-aortic lymph nodes\n* Size of lymph node metastasis unknown\n* WITH or WITHOUT pelvic lymph nodes", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_94494.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_94494.json deleted file mode 100644 index 88ab132c6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_94494.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_94494", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Definition of Head and Neck Lymph Nodes** \n* For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by TNM. \n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (450) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (150, 500, 600, 700) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n\n \n**Note 3:** **Laterality** \n* If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are ipsilateral.\n\n**Note 4:** **Supraclavicular lymph nodes** \n* Supraclavicular lymph nodes can be either Level IV or Level V\n * Level IV: deep to the sternocleidomastoid muscle, in the lower jugular chain\n * Level V: in the posterior triangle, inferior to the transverse cervical artery, supraclavicular lymph nodes, NOS\n\n**Note 5:** **Extranodal Extension** \n* Extranodal extension (ENE) is defined as the extension of a nodal metastasis through the lymph node capsule into adjacent tissue. The following codes record the status of the lymph nodes with positive ENE\n * Code 150: Pathological only: single ipsilateral node, less than or equal to 3 cm\n * Code 450: Clinical only: overt ENE\n * Code 500: Pathological only: single ipsilateral node, greater than 3 cm\n * Code 600: Pathological only: multiple ipsilateral, bilateral or contralateral nodes\n * Code 700: Pathological only: Single contralateral node\n\n**Note 6:** **Regional lymph nodes for Head and Neck tumors** \n* **Note:** For codes 100-700, use the list below for named regional lymph nodes. If the only information available is \"regional lymph nodes, NOS\" or \"lymph nodes,\" code 800.\n\n**Level I**\nLevel IA - Submental\nLevel IB - Submandibular (submaxillary), sublingual\n\n**Level II - Upper jugular** \nJugulodigastric (subdigastric)\nUpper deep cervical \nLevel IIA - Anterior\nLevel IIB - Posterior \n\n**Level III - Middle jugular**\nMiddle deep cervical\n\n**Level IV - Lower jugular**\nJugulo-omohyoid (supraomohyoid)\nLower deep cervical \nVirchow node\n\n**Level V - Posterior triangle group**\nPosterior cervical\nLevel VA - Spinal accessory \nLevel VB - Transverse cervical, supraclavicular \n\n**Level VI - Anterior compartment group**\nLaterotracheal\nParalaryngeal\nParatracheal - above suprasternal notch\nPerithyroidal\nPrecricoid (Delphian)\nPrelaryngeal\nPretracheal - above suprasternal notch\nRecurrent laryngeal\n\n**Level VII - Superior mediastinal group (for other mediastinal node(s) see EOD Mets)**\nEsophageal groove\nParatracheal - below suprasternal notch\nPretracheal - below suprasternal notch \n\n**Other groups**\nCervical, NOS\nDeep cervical, NOS\nFacial\n- Buccinator (buccal)\n- Mandibular\n- Nasolabial\n\nInternal jugular, NOS\nParapharyngeal \nParotid\n- Infraauricular\n- Intraparotid\n- Periparotid\n- Preauricular\n\nRetroauricular (mastoid)\nRetropharyngeal\nSuboccipital", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Shah, J.P., et al. **Major Salivary Glands**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:06.268Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "100", "Metastasis in a SINGLE ipsilateral lymph node\n3 cm or smaller in greatest dimension \nExtranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "150", "PATHOLOGICAL assessment only\n\nMetastasis in SINGLE ipsilateral node \n3 cm or smaller in greatest dimension \nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "200", "Metastasis in SINGLE ipsilateral node \nLarger than 3 cm but not larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "250", "Metastasis in MULTIPLE ipsilateral nodes\nNo nodes larger than 6 cm in greatest dimension\nExtranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "300", "Metastasis in bilateral or contralateral lymph node(s)\nNo nodes larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "400", "Metastasis in a lymph node larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "450", "CLINICAL assessment only\n\nMetastasis in any lymph node(s) with clinically overt ENE", "VALUE:RN" ], [ "500", "PATHOLOGICAL assessment only\n\nMetastasis in a SINGLE ipsilateral node \nLarger than 3 cm in greatest dimension \nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "600", "PATHOLOGICAL assessment only\n\nMetastasis in MULTIPLE ipsilateral, contralateral, or bilateral nodes\nExtranodal extension (ENE) positive for any node", "VALUE:RN" ], [ "700", "PATHOLOGICAL assessment only\n\nSingle contralateral node (any size)\nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_97333.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_97333.json deleted file mode 100644 index 9bc9fec7c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_97333.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_97333", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions,** National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Jimenez, C., Perrier, N.D., et al. **Adrenal - Neuroendocrine Tumors**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:20.907Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Aortic, NOS\n- Para-aortic\n- Periaortic\n\nPericaval, NOS\n- Paracaval\n- Precaval\n- Retrocaval\n\nRetroperitoneal, NOS", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_99855.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_99855.json deleted file mode 100644 index 5ba675d32..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_99855.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_99855", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Definition of Head and Neck Lymph Nodes** \n* For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by TNM. \n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (450) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (150, 500, 600, 700) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n\n**Note 3:** **Laterality** \n* If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are ipsilateral.\n\n**Note 4:** **Supraclavicular lymph nodes** \n* Supraclavicular lymph nodes can be either Level IV or Level V\n * Level IV: deep to the sternocleidomastoid muscle, in the lower jugular chain\n * Level V: in the posterior triangle, inferior to the transverse cervical artery, supraclavicular lymph nodes, NOS\n\n**Note 5:** **Extranodal extension** \n* Extranodal extension (ENE) is defined as the extension of a nodal metastasis through the lymph node capsule into adjacent tissue. The following codes record the status of the lymph nodes with positive ENE\n * Code 150: Pathological only: single ipsilateral node, less than or equal to 3 cm\n * Code 450: Clinical only: overt ENE\n * Code 500: Pathological only: single ipsilateral node, greater than 3 cm\n * Code 600: Pathological only: multiple ipsilateral, bilateral or contralateral nodes\n * Code 700: Pathological only: Single contralateral node\n\n**Note 6:** **Regional lymph nodes for Head and Neck tumors** \n* **Note:** For codes 100-700, use the list below for named regional lymph nodes. If the only information available is \"regional lymph nodes, NOS\" or \"lymph nodes,\" code 800.\n\n**Level I**\nLevel IA - Submental\nLevel IB - Submandibular (submaxillary), sublingual\n\n**Level II - Upper jugular** \nJugulodigastric (subdigastric)\nUpper deep cervical \nLevel IIA - Anterior\nLevel IIB - Posterior \n\n**Level III - Middle jugular**\nMiddle deep cervical\n\n**Level IV - Lower jugular**\nJugulo-omohyoid (supraomohyoid)\nLower deep cervical \nVirchow node\n\n**Level V - Posterior triangle group**\nPosterior cervical\nLevel VA - Spinal accessory \nLevel VB - Transverse cervical, supraclavicular \n\n**Level VI - Anterior compartment group**\nLaterotracheal\nParalaryngeal\nParatracheal - above suprasternal notch\nPerithyroidal\nPrecricoid (Delphian)\nPrelaryngeal\nPretracheal - above suprasternal notch\nRecurrent laryngeal\n\n**Level VII - Superior mediastinal group (for other mediastinal node(s) see EOD Mets)**\nEsophageal groove\nParatracheal - below suprasternal notch\nPretracheal - below suprasternal notch \n\n**Other groups**\nCervical, NOS\nDeep cervical, NOS\nFacial\n- Buccinator (buccal)\n- Mandibular\n- Nasolabial\n\nInternal jugular, NOS\nParapharyngeal \nParotid\n- Infraauricular\n- Intraparotid\n- Periparotid\n- Preauricular\n\nRetroauricular (mastoid)\nRetropharyngeal\nSuboccipital", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Kraus, D.H., Lydiatt, W.M., Shah, J.P., et al. **Nasal Cavity and Paranasal Sinuses**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:07.290Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "100", "Metastasis in a SINGLE ipsilateral lymph node\n3 cm or smaller in greatest dimension \nExtranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "150", "**PATHOLOGICAL assessment only**\n\nMetastasis in SINGLE ipsilateral node \n3 cm or smaller in greatest dimension \nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "200", "Metastasis in SINGLE ipsilateral node \nLarger than 3 cm but not larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "250", "Metastasis in MULTIPLE ipsilateral nodes\nNo nodes larger than 6 cm in greatest dimension\nExtranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "300", "Metastasis in bilateral or contralateral lymph node(s)\nNo nodes larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "400", "Metastasis in a lymph node larger than 6 cm in greatest dimension \nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "450", "**CLINICAL assessment only**\n\nMetastasis in any lymph node(s) with clinically overt ENE", "VALUE:RN" ], [ "500", "**PATHOLOGICAL assessment only**\n\nMetastasis in a SINGLE ipsilateral node \nLarger than 3 cm in greatest dimension \nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "600", "**PATHOLOGICAL assessment only**\n\nMetastasis in MULTIPLE ipsilateral, contralateral, or bilateral nodes\nExtranodal extension (ENE) positive for any node", "VALUE:RN" ], [ "700", "**PATHOLOGICAL assessment only**\n\nSingle contralateral node (any size)\nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_3599.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_3599.json deleted file mode 100644 index 31f59311e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_3599.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_v9_3599", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes V9", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Thymus**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:59.007Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Ascending aorta\nCervical (low anterior)\nMediastinal (lower, NOS)\nPara-aortic\nParatracheal, NOS\nPeri-thymic\nPeri-thyroid\nPericardial\nPhrenic (inferior, superior)\nPrecricoid/delphian\nPretracheal\nPrevascular\nSupradiaphragmatic", "VALUE:RN" ], [ "400", "Hilar\nInternal mammary\nLower jugular\nMediastinal (middle)\nParatracheal (lower, upper)\nSubaortic/aortopulmonary window\nSubcarinal\nSupraclavicular/venous angle: confluence of internal jugular and subclavian vein", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_56625.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_56625.json deleted file mode 100644 index 951a95165..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_56625.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_v9_56625", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes V9", - "title" : "EOD Regional Nodes V9", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS**\n* Code only regional nodes and nodes, NOS, in this field. \n* Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Mediastinal and Subcarinal Lymph Nodes**\n* For codes **400-500**, EOD Regional Nodes is based on the number of mediastinal/subcarinal nodal stations (2-9) are involved. \n* **There are 14 Nodal Stations based on the [IASLC mapping]\n(https://www.frontiersin.org/files/Articles/580203/fsurg-07-580203-HTML/image_m/fsurg-07-580203-g001.jpg)**. \n* Of those 14 Nodal Stations, **8 of them are for mediastinal, including 1 for subcarinal**. \n \n**Upper Zone** \n**Superior mediastinal nodes (Stations 2-4)**\n * 2R, 2L: Upper paratracheal nodes (Carinal (tracheobronchial) (tracheal bifurcation), Precarinal)\n * 2R: Right upper paratracheal nodes\n * 2L: Left upper paratracheal nodes\n * Includes pericardial lymph nodes\n * 3a: Prevascular \n * Anterior mediastinal lymph nodes\n * Pretracheal, NOS\n * 3p: Retrotracheal \n * Posterior lymph nodes (tracheoesophageal)\n * 4R, 4L: Lower paratracheal nodes (includes Azygos)\n * 4R: Right lower paratracheal nodes\n * 4L: Left lower paratracheal nodes\n\n **AP Zone** \n**Aortic nodes (Stations 5-6)**\n * 5: Subaortic \n * Aortic-pulmonary window\n * 6: Para-aortic\n * Ascending aorta (phrenic)\n * Aortic (above diaphragm), NOS\n * Peri/para-aortic, NOS\n\n **Inferior mediastinal nodes (Nodal stations 7-9)**\n**Subcarinal Zone (Station 7)**\n**Lower Zone (Stations 8-9)**\n* 8: Paraesophageal, periesophageal \n* 9: Pulmonary ligament \n\n**Note 3:** **\"Vocal cord paralysis\" or \"Superior vena cava syndrome\"**\n* \"Vocal cord paralysis,\" \"superior vena cava syndrome,\" and \"compression of the trachea or the esophagus\" are classified as either direct extension from the primary tumor or mediastinal lymph node involvement\n\n* **Caused by direct extension of the primary tumor**\n * Code as primary tumor involvement (EOD Primary Tumor, code 650)\n* **Primary tumor is peripheral and clearly unrelated to vocal cord paralysis, SVC obstruction, or compression of the trachea, or the esophagus**\n * These manifestations are secondary to lymph node involvement; code as mediastinal lymph node involvement (EOD Lymph Nodes, code 400, 450 or 500, depending on the number of involved mediastinal lymph nodes)\n* **Unable to determine if manifestations due to direct extension or mediastinal lymph node involvement** \n * Record as mediastinal lymph node involvement (EOD Lymph Nodes, code 400, 450 or 500, depending on the number of involved mediastinal lymph nodes)\n\n**Note 4:** **Lymph nodes, NOS**\n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Lung**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:06:08.488Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "IPSILATERAL NODES ONLY (HILAR) (Stations 10-14)\n* See code 700 for contralateral or bilateral nodes\n\nHilar/Interlobar Zone, (Stations 10-11)\n* Hilar (Station 10R, 10L)\n * Bronchial (peri/parabronchial)\n * Bronchopulmonary\n * Proximal lobar\n * Pulmonary root\n* Interlobar (Station 11R, 11L)\n\nPeripheral Zone, (Stations 12-14)\n- Lobar (Station 12R, 12L)\n- Segmental (Station 13R, 13L)\n- Subsegmental (Station 14R, 14L)", "VALUE:RN" ], [ "400", "IPSILATERAL NODES ONLY (SUBCARINAL OR MEDIASTINAL, Stations 2-9)\n* See code 700 for contralateral or bilateral nodes (Stations 2 and 4 only)\n\nSubcarinal nodes (Station 7) involved ONLY OR \nOne Mediastinal Station involved WITH or WITHOUT Subcarinal nodes (Station 7)\n* Other mediastinal nodal stations include: 2R, 2l, 3a, 3p, 4R, 4L, 5, 6, 8, 9", "VALUE:RN" ], [ "450", "IPSILATERAL NODES ONLY (SUBCARINAL OR MEDIASTINAL, Stations 2-9)\n* See code 700 for contralateral or bilateral nodes (Stations 2 and 4 only)\n\nTwo or more mediastinal nodal stations involved\nWITH or WITHOUT Subcarinal lymph nodes (Station 7)\n* Other mediastinal nodal stations include: 2R, 2l, 3a, 3p, 4R, 4L, 5, 6, 8, 9", "VALUE:RN" ], [ "500", "IPSILATERAL NODES ONLY (SUBCARINAL OR MEDIASTINAL, Stations 2-9)\n* See code 700 for contralateral or bilateral nodes (Stations 2 and 4 only)\n\nMediastinal nodal stations involved, unknown how many \nWITH or WITHOUT involvement of subcarinal nodes\n* Other mediastinal nodal stations include: 2R, 2l, 3a, 3p, 4R, 4L, 5, 6, 8, 9\n\nMediastinal nodes, NOS", "VALUE:RN" ], [ "600", "IPSILATERAL or CONTRALATERAL\n\nSupraclavicular Zone (Station 1)\n* Low cervical\n* Proximal root\n* Scalene (inferior deep cervical)\n* Sternal notch\n* Supraclavicular (transverse cervical)", "VALUE:D" ], [ "700", "CONTRALATERAL OR BILATERAL\n\n* Hilar (Station 10R, 10L)\n * Bronchial (peri/parabronchial)\n * Bronchopulmonary\n * Proximal lobar\n * Pulmonary root\n* Interlobar (Station 11R, 11L)\n\nPeripheral Zone, (Stations 12-14)\n- Lobar (Station 12R, 12L)\n- Segmental (Station 13R, 13L)\n- Subsegmental (Station 14R, 14L)\n\nSuperior mediastinal\n+ Paratracheal (left, right, upper, low, NOS)\n - Azygos (lower paratracheal) (4R, 4L)\n - Upper paratracheal (2R, 2L)", "VALUE:D" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_57286.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_57286.json deleted file mode 100644 index d89aceee2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_57286.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_v9_57286", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes V9", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Diffuse Pleural Mesothelioma**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:09.420Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Aortic (above diaphragm), NOS\n- Ascending aorta (phrenic)\n- Peri/para-aortic\n- Subaortic (aortico-pulmonary window)\n\nCarinal (tracheobronchial) (tracheal bifurcation)\nHilar (ipsilateral) \n- Bronchopulmonary\n- Proximal lobar\n- Pulmonary root\n\nIntercostal\nInternal mammary (parasternal)\nIntrapulmonary\n- Interlobar\n- Lobar\n- Segmental\n- Subsegmental\n\nMediastinal, NOS (ipsilateral)\n- Anterior\n- Posterior (tracheoesophageal)\n\nPericardial\nPeri/parabronchial\nPeri/paraesophageal (below carina)\nPeri/paratracheal (lower [azygos], upper, NOS)\nPretracheal and retrotracheal (precarinal), NOS\nPrevascular\nPulmonary ligament\nSubcardial\nSubcarinal", "VALUE:RN" ], [ "700", "Hilar (contralateral, bilateral)\n- Bronchopulmonary\n- Proximal lobar\n- Pulmonary root\n\nMediastinal (contralateral, bilateral)\n- Anterior\n- Posterior (tracheoesophageal)\n\nPeridiaphragmatic (ipsilateral, contralateral)\n- Mediastinal\n\nScalene (ipsilateral, contralateral) \n- Inferior deep cervical\n\nSupraclavicular (ipsilateral or contralateral)\n- Transverse cervical", "VALUE:D" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_73197.json b/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_73197.json deleted file mode 100644 index d94d1a675..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/eod_regional_nodes_v9_73197.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "eod_regional_nodes_v9_73197", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes V9", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Definition of Head and Neck Lymph Nodes** \n* For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by TNM.\n\n**Note 2:** **Laterality** \n* If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are ipsilateral.\n\n**Note 3:** **Supraclavicular lymph nodes** \n* Supraclavicular lymph nodes can be either Level IV or Level V\n * Level IV: deep to the sternocleidomastoid muscle, in the lower jugular chain\n * Level V: in the posterior triangle, inferior to the transverse cervical artery, supraclavicular lymph nodes, NOS\n\n**Note 4:** **Regional lymph nodes for Head and Neck tumors** \n* For nasopharynx, Levels I, II, III, V, VI, are assigned code 300 or 400 based on size and/or unilateral vs bilateral. \n* For Levels IV, VB, and VII, see code 600. If the only information available is \"regional lymph nodes, NOS\" or \"lymph nodes,\" code 800.\n\n **Level I**\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n\n**Level II - Upper jugular** \n Jugulodigastric (subdigastric)\n Upper deep cervical \n Level IIA - Anterior\n Level IIB - Posterior \n\n**Level III - Middle jugular**\nMiddle deep cervical\n\n**Level IV - Lower jugular**\nJugulo-omohyoid (supraomohyoid)\nLower deep cervical \nVirchow node\n\n**Level V - Posterior triangle group**\nPosterior cervical\nLevel VA - Spinal accessory \nLevel VB - Transverse cervical, supraclavicular \n\n**Level VI - Anterior compartment group**\nLaterotracheal\nParalaryngeal\nParatracheal - above suprasternal notch\nPerithyroidal\nPrecricoid (Delphian)\nPrelaryngeal\nPretracheal - above suprasternal notch\nRecurrent laryngeal\n\n**Level VII - Superior mediastinal group (for other mediastinal node(s) see EOD Mets)**\nEsophageal groove\nParatracheal - below suprasternal notch\nPretracheal - below suprasternal notch \n\n**Other groups**\nCervical, NOS\nDeep cervical, NOS\nFacial\n- Buccinator (buccal)\n- Mandibular\n- Nasolabial\n\nInternal jugular, NOS\nParapharyngeal \nParotid\n- Infraauricular\n- Intraparotid\n- Periparotid\n- Preauricular\n\nRetroauricular (mastoid)\nRetropharyngeal\nSuboccipital\n\n**Note 5:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Nasopharynx**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:59.466Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Cervical lymph node(s)\n* Unilateral \n* 6 cm or smaller\n* Above the caudal border of cricoid cartilage\n* No evidence of clinical extranodal extension\n* WITH or WITHOUT pathological extranodal extension\n\nRetropharyngeal lymph node(s)\n* Unilateral or bilateral\n* 6 cm or smaller\n* No evidence of clinical extranodal extension\n* WITH or WITHOUT pathological extranodal extension", "VALUE:RN" ], [ "400", "Cervical lymph node(s)\n* Unilateral or Bilateral\n* 6 cm or smaller\n* Above the caudal border of cricoid cartilage\n* No evidence of clinical extranodal extension\n* WITH or WITHOUT pathological extranodal extension", "VALUE:RN" ], [ "600", "Cervical lymph node(s) \n* Unilateral or bilateral AND any of the following\n * Greater than 6 cm\n * Extension below the caudal border of cricoid cartilage\n * Advanced radiologic extranodal extension WITH\n involvement of adjacent muscles, skin, and/or neurovascular bundle", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/er_allred_score_36612.json b/src/test/resources/algorithms/eod_public/3.3/tables/er_allred_score_36612.json deleted file mode 100644 index d013a43f4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/er_allred_score_36612.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "er_allred_score_36612", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Estrogen Receptor Total Allred Score", - "title" : "ER (Estrogen Receptor) Total Allred Score", - "description" : "Estrogen Receptor Total Allred Score is based on the percentage of cells that stain positive by IHC for estrogen receptor (ER) and the intensity of that staining.\n\nThe Allred Score is a method of quantifying ER and PR using both intensity and percentage of positive cells. The Allred Score is calculated by adding the Proportion Score and the Intensity Score, as defined in the tables below.\n\nThe Allred score combines the percentage of positive cells (proportion score) and the intensity score of the reaction product in most of the carcinoma. The 2 scores are added together for a final score with 8 possible values (00-08). \n\nPositive cells = 0; Proportion score = 0\nPositive cells = <1; Proportion score = 1\nPositive cells = 1 to 10; Proportion score = 2\nPositive cells = 11 to 33; Proportion score = 3\nPositive cells = 34 to 66; Proportion score = 4\nPositive cells = 67 or greater; Proportion score = 5\n\nIntensity = None; Intensity Score = 0\nIntensity = Weak; Intensity Score = 1\nIntensity = Intermediate/Moderate; Intensity Score = 2\nIntensity = Strong; Intensity Score = 3", - "notes" : "**Note 1:** **No longer required by any standard setter** \n* This SSDI is no longer required by any of the standard setters starting with 2023 diagnoses\n* For cases diagnosed 2023+, this SSDI may be left blank\n\n**Note 2:** **Physician Statement** \n* Physician statement of ER (Estrogen Receptor) Total Allred Score can be used to code this data item.\n\n**Note 3:** **Related data item** \n* Code this data item using the same report used to record the related data item 3827: Estrogen Receptor Summary.", - "last_modified" : "2025-11-05T21:00:55.155Z", - "definition" : [ { - "key" : "er_allred_score", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "Total ER Allred score of 0 " ], [ "01", "Total ER Allred score of 1" ], [ "02", "Total ER Allred score of 2" ], [ "03", "Total ER Allred score of 3" ], [ "04", "Total ER Allred score of 4" ], [ "05", "Total ER Allred score of 5" ], [ "06", "Total ER Allred score of 6" ], [ "07", "Total ER Allred score of 7" ], [ "08", "Total ER Allred score of 8" ], [ "X8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code X8 will result in an edit error.)" ], [ "X9", "Not documented in medical record\nER (Estrogen Receptor) Total Allred Score not assessed, or unknown if assessed" ], [ "", "May be blank if diagnosis year is after 2022" ] ], - "additional_info" : "**Source documents:** pathology report\n\nFor further information, refer to the **Breast Biomarker Reporting** cancer protocols published by the College of American Pathologists for the AJCC Staging System *Breast*.", - "coding_guidelines" : "**1)** Registrar should not calculate the Allred Score unless both components are available (proportion score and intensity)\n\n**2)** **Code X9** if ER test is performed, but Allred score is not documented, or cannot be calculated", - "rationale" : "Estrogen Receptor Total Allred Score is a Registry Data Collection Variable in AJCC. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/er_percent_positive_61867.json b/src/test/resources/algorithms/eod_public/3.3/tables/er_percent_positive_61867.json deleted file mode 100644 index 6b7ded804..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/er_percent_positive_61867.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "er_percent_positive_61867", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Estrogen Receptor Percent Positive or Range", - "title" : "ER (Estrogen Receptor) Percent Positive or Range", - "description" : "Estrogen Receptor Percent Positive or Range is the percent of cells staining estrogen receptor positive by IHC.\n\nThe two most common ways to report ER and PR results are the percentage of cells with nuclear positivity and the average intensity of staining. Both the PS and IS are based on immunohistochemical staining of tumor cells. \n\nER and PR status, the percentage of tumor cells with positive nuclear staining, may be reported as a specific number or a range if more than 10%. Intensity refers to degree of nuclear positivity (i.e., pale to dark); average intensity of staining is recorded as weak, moderate, or strong.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of ER (Estrogen Receptor) Percent Positive or Range can be used to code this data item when no other information is available.\n\n**Note 2:** **Related data item** \n* Code this data item using the same report used to record the related data item 3827: Estrogen Receptor Summary.", - "last_modified" : "2025-11-06T18:50:50.182Z", - "definition" : [ { - "key" : "er_percent_positive", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "ER negative, or stated as less than 1%" ], [ "001-100", "1-100 percent" ], [ "R10", "Stated as 1-10%" ], [ "R20", "Stated as 11-20%" ], [ "R30", "Stated as 21-30%" ], [ "R40", "Stated as 31-40%" ], [ "R50", "Stated as 41-50%" ], [ "R60", "Stated as 51-60%" ], [ "R70", "Stated as 61-70%" ], [ "R80", "Stated as 71-80%" ], [ "R90", "Stated as 81-90%" ], [ "R99", "Stated as 91-100%" ], [ "XX7", "Test done, results not in chart " ], [ "XX8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code XX8 will result in an edit error.)" ], [ "XX9", "Not documented in medical record\nER (Estrogen Receptor) Percent Positive or Range not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\nFor further information, refer to the **Breast Biomarker Reporting** cancer protocols published by the College of American Pathologists for the AJCC Staging System *Breast*.", - "coding_guidelines" : "**1)** **Code 000** when ER is negative, or percentage is less than 1%\n\n**2)** **Code 01-100** for the actual percentage\n* The actual ER (1-100%) percent takes priority over the range codes\n\n**3)** **Code XX7** if ER is positive, but percentage is unknown\n\n**4)** **R10-R99** Ranges for the codes in this data item are defined in steps of 10 which correspond to the CAP protocol. If a range in a report is given in steps other than those provided in the R codes, code per the following.\n* If the range is less than or equal to 10, then code the appropriate R code based on the lower number\n * ***Example 1***: Report documents 1-5%. Code R10 (1-10%)\n * ***Example 2***: Report documents 25-34%. Code R30 (21-30%)\n* If the range is greater than 10, then code to unknown\n * ***Example 1***: Report documents 10-25%. Code XX9\n * ***Example 2:*** Report documents 67-100%. Code XX9", - "rationale" : "Estrogen Receptor Percent Positive or Range is a Registry Data Collection Variable in AJCC. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/er_summary_44166.json b/src/test/resources/algorithms/eod_public/3.3/tables/er_summary_44166.json deleted file mode 100644 index 1421daa13..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/er_summary_44166.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "er_summary_44166", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Estrogen Receptor Summary", - "title" : "ER (Estrogen Receptor) Summary", - "description" : "Estrogen Receptor Summary is a summary of results of the estrogen receptor (ER) assay.\n\nEstrogen receptor (ER) positivity and progesterone receptor (PR) positivity are favorable prognostic factors in breast cancer, as well as endometrial carcinoma and meningioma. Positive results predict a favorable response to endocrine (hormonal) therapy. Combined ER and PR positivity is associated with increased response to antiestrogen therapies.\n\nThere are a variety of ways to report information on ER and PR results, but there is almost always a summary statement that the result is positive or negative.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of ER (Estrogen Receptor) Summary status can be used to code this data item when no other information is available.\n\n**Note 2:** **In-situ and Invasive components present**\n* If ER is positive on an in-situ component and ER is negative on all tested invasive components in the primary tumor, code ER as negative (code 0)\n* If in situ and invasive components present and ER only done on the in-situ component in the primary tumor, code unknown (code 9)\n\n**Note 3:** **Single tumor, multiple biopsies or surgical resection, different results**\n* Use the highest (positive versus negative)\n\n**Note 4:** **Multiple tumors, different results**\n* Code the results from the largest tumor size (determined either clinically or pathologically) when multiple tumors are present.\n * Do not use specimen size to determine the largest tumor size\n\n**Note 5:** **Results from nodal or metastatic tissue**\n* May be used ONLY when there is no evidence of primary tumor\n * **Note:** In-situ is evidence of primary tumor\n\n**Note 6:** **Neoadjuvant Therapy**\n* Record the assay from tumor specimens prior to neoadjuvant therapy.\n* If neoadjuvant therapy is given and there are no ER results from pre-treatment specimens, report the findings from post-treatment specimens\n\n**Note 7:** **ER Positive and Oncotype**\n* If the patient is ER positive and node negative, a multigene test such as Oncotype Dx may be performed, in which case another ER test will be performed. Do not record the results of that test in this field.\n* Record only the results of the test which made the patient eligible to be given the multigene test\n\n**Note 8:** **Other tests for ER**\n* Do not use results from the following tests to record ER or PR results\n * MammaPrint\n * EndoPredict\n * PAM 50 (Prosigna)\n * Any other test that records ER", - "last_modified" : "2025-11-06T18:48:56.301Z", - "definition" : [ { - "key" : "er", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "ER negative (0.0% or less than 1%)" ], [ "1", "ER positive" ], [ "7", "Test ordered, results not in chart" ], [ "9", "Not documented in medical record\nCannot be determined (indeterminate)\nER (Estrogen Receptor) Summary status not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\nFor further information, refer to the **Breast Biomarker Reporting** cancer protocols published by the College of American Pathologists for the AJCC Staging System Breast.", - "coding_guidelines" : "**1)** **Code 0** when the ER is reported as negative or normal\n\n**2)** **Code 1** when the ER is reported as positive or elevated\n\n**3)** **Code 7** when the ER test was ordered but the results are not available\n\n**4)** **Code 9** when the ER is \n * Reported as borderline; undetermined whether positive or negative \n * Cannot be determined by the pathologist (e.g., inadequate specimen)\n * It is unknown whether the ER test was performed\n * The patient has only a clinical diagnosis of breast cancer (no tissue diagnosis)", - "rationale" : "This data item is required for prognostic stage grouping in AJCC 8th edition, Chapter 48, Breast. It was previously collected as Breast CS SSF # 1." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/esoph_tumor_epicenter_18976.json b/src/test/resources/algorithms/eod_public/3.3/tables/esoph_tumor_epicenter_18976.json deleted file mode 100644 index 9b9687212..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/esoph_tumor_epicenter_18976.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "esoph_tumor_epicenter_18976", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Esophagus and EGJ Tumor Epicenter", - "title" : "Esophagus and EGJ, Squamous Cell (including adenosquamous), Tumor Location", - "description" : "Esophagus and Esophagogastric Junction (EGJ), Squamous Cell (including adenosquamous), Tumor Location refers to the position of the epicenter of the tumor in the esophagus.\n\n**Required for Staging:** The AJCC Esophagus Staging System and EOD, for **Squamous Cell Carcinomas only**.", - "notes" : "**Note 1:** **Pathological Staging** \n* This data item is used for pathological staging for squamous cell carcinoma of the esophagus and esophagogastric junction. If information is available for clinical staging, record it.\n\n**Note 2:** **Defining the epicenter**\n* Location is defined by the position of the **epicenter** of the tumor in the esophagus.\n * ***Example***: If the lesion was from 15-21 cm, this is a 6-cm lesion with epicenter at 18 cm. It is the midpoint \n\n**Note 3:** **Priority statements of epicenter**\n* Clinician or pathologist statement of epicenter being the upper, middle, or lower takes priority over any individual results or measurements \n* If no statement of epicenter is provided indicating upper, middle, or lower is provided, the following measurements may be used.\n * 15-24 cm from incisors = upper\n * 25-29 cm from incisors = middle\n * 30-40/45 cm from incisors = lower\n\n**Note 4:** **Epicenter and Primary Site**\n* The ascertainment of the epicenter of the tumor is for staging purposes and is separate from the assignment of the ICD-O-3 topography code\n* If you have an overlapping tumor (C158), do not recode the topography based on the epicenter.\n\n**Note 5:** **Primary Site C159** \n* If primary site is C159 (Esophagus, NOS), code 9.", - "last_modified" : "2025-11-05T21:42:31.117Z", - "definition" : [ { - "key" : "esoph_tumor_epicenter", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "U: Upper (Cervical/Proximal esophagus to lower border of azygos vein)" ], [ "1", "M: Middle (Lower border of azygos vein to lower border of inferior pulmonary vein)" ], [ "2", "L: Lower (Lower border of inferior pulmonary vein to stomach, including gastroesophageal junction)" ], [ "9", "X: Esophagus, NOS\nSpecific location of epicenter not documented in medical record\nSpecific location of epicenter not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, operative report, imaging, clinician's statement\n\nFor further information, refer to the **Esophagus** cancer protocol published by the College of American Pathologist for the AJCC Staging System *Esophagus (including GE Junction) Squamous*.", - "rationale" : "This data item is required for prognostic stage grouping for squamous and adenosquamous carcinoma in AJCC 8th edition, Chapter 16 Esophagus and Esophagogastric Junction. It is a new data item for cases diagnosed 1/1/2018 and forward." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/esophagusgejunction_egj_stomach_57130.json b/src/test/resources/algorithms/eod_public/3.3/tables/esophagusgejunction_egj_stomach_57130.json deleted file mode 100644 index 65e63ce93..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/esophagusgejunction_egj_stomach_57130.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "esophagusgejunction_egj_stomach_57130", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Discriminator 1", - "title" : "Schema Discriminator 1: EsophagusGEJunction (EGJ)/Stomach", - "description" : "The esophagus chapter of the AJCC Cancer Staging Manual 8th edition includes the esophagogastric junction (also called the cardia or gastroesophageal junction) and the proximal 2 cm of the stomach. The cardia is defined as the opening or junction between the esophagus and the stomach, and it is between 0.1 and 0.4 cm in length. This 2-cm boundary measurement is based on the Siewert classification of gastroesophageal cancers, which defines an area 2 cm above and 2 cm below the cardia or esophagogastric junction. Both of these areas are coded to primary site C160, so a discriminator is needed to get to the correct chapter.\n\nTo determine whether a cancer of the cardia should be coded according to the esophagus schema or the stomach system, it is necessary to identify the midpoint or epicenter of the tumor. If the midpoint is at or above the cardia, the tumor is esophageal. If the midpoint of the tumor is within 2 cm distal to the gastroesophageal junction (GEJ) and the lesion extends to or across the GEJ, the case should be coded with the esophagus system. If the midpoint of the tumor is within 2 cm distal to the GEJ and the lesion does not extend to the GEJ, the case should be coded with the stomach schema. Any tumor with a midpoint more distal than 2 cm from the GEJ is coded with the stomach schema.", - "notes" : "**Note 1:** **Schema Discriminator for C160** \n* Under primary site code C160, there are two different structures that are staged differently.\n * Esophagogastric junction (Esophagus schema)\n * Cardia of the Stomach (Stomach schema)\n\n**Note 2:** **The gastroesophageal junction** \n* The gastroesophageal junction (GEJ) (primary site C160) is a poorly defined anatomic area that represents the junction between the distal esophagus and the proximal stomach (cardia). \n* The true anatomic GEJ corresponds to the most proximal aspect of the gastric folds, which represents an endoscopically apparent transition point in most individuals. \n\n**Note 3:** **The cardia** \n* The cardia (also assigned primary site C160) is the **first part of the stomach.** It is the region where the stomach meets the end of the esophageal tube. \n* This region is also referred to as the Z-line or the esophagogastric junction.\n\n**Note 4:** **Physician's statement** \n* Physician's statement can be used to code this data item when no other information is available. \n * ***Example:*** Patient diagnosed with tumor involving the cardia. No other information available. Physician stages the patient using the Esophagus Staging System/CAP protocol\n * ***Answer:*** Code 2 based on physician using the Esophagus Staging System \n\n**Note 5:** **Midpoint (epicenter)** \n* Tumors with their midpoint (epicenter) in the GE Junction are staged as Esophagus, while tumors with their midpoint (epicenter) in the cardia/stomach are staged using the Stomach Staging System.\n * **Note:** The CAP protocol uses \"midpoint\" instead of \"epicenter\". This is the pathologist's assessment of the point of tumor origin, regardless of tumor extension into other tissues.", - "last_modified" : "2025-11-06T17:26:35.609Z", - "definition" : [ { - "key" : "discriminator_1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "disease", - "name" : "Schema ID #/Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "NO involvement of esophagus or gastroesophageal junction\n\nAND epicenter at ANY DISTANCE into the proximal stomach (including into the proximal stomach distance unknown)", "00170: Stomach" ], [ "2", "INVOLVEMENT of esophagus or esophagogastric junction (EGJ)\n\nAND epicenter LESS THAN OR EQUAL TO 2 cm into the proximal stomach\n\nOR no stated involvement of or into the stomach", "00161, 00169: Esophagus Schemas \nAND go to Schema Discriminator 2: Histology discriminator for 8020/3" ], [ "3", "INVOLVEMENT of esophagus or esophagogastric junction (EGJ) \n\nAND epicenter GREATER THAN 2 cm into the proximal stomach", "00170: Stomach" ], [ "9", "UNKNOWN involvement of esophagus or gastroesophageal junction \n\nAND epicenter at ANY DISTANCE into the proximal stomach (including into the proximal stomach distance unknown)", "00170: Stomach" ], [ "", "Primary Site is NOT C160, Discriminator is not necessary", "" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, operative report, clinician's statement\n\nFor further information, refer to the **Esophagus** cancer protocol published by the College of American Pathologist for the AJCC Staging System *Esophagus (including GE Junction)*.", - "coding_guidelines" : "Select the code that best describes the location and extent of the tumor, and the computer algorithm will bring the correct schema to the screen.\n\n**Chapter 16: Esophagus and Esophagogastric Junction (see code 2)**\n\n**1)** **Code 2** when\n* EGJ is documented as involved and the midpoint (epicenter) is within the proximal (above) 2 cm of the cardia \n* EGJ is documented as involved and there is no mention of extension into the stomach or stomach involvement\n * ***Example 1:*** MRI: Findings most consistent with metastatic GE junction cancer. Upper EUS: Medium-sized, fungating, polypoid and ulcerated mass with no active bleeding was found in the gastric cardia extending from GEJ to 42 cm from incisors. One malignant-appearing lymph node was visualized in the peripancreatic region. \n * ***Answer:*** Code 2 for involvement of the GE Junction/Cardia and no mention of involvement of the stomach\n* EGJ is documented as involved and there is no information on stomach involvement and \n * Esophagus CAP Protocol is used OR\n * Esophagus Staging System is used\n * If the CAP Protocol and AJCC Staging System are different, default to the AJCC Staging System\n\n**Chapter 17: Stomach (see codes 0, 3, and 9)**\n\n**2)** **Code 0** when only the cardia is documented as involved (no mention of EGJ)\n\n**3)** **Code 3** when\n* EGJ is documented as involved and the midpoint (epicenter) is more than 2 cm distal (below) from the EGJ\n* EGJ is documented as involved and there is no information on stomach involvement AND\n * Stomach CAP Protocol is used OR\n * Stomach AJCC Staging System is used\n * If the CAP Protocol and AJCC Staging System are different, default to the AJCC Staging System\n\n**4)** **Code 9** when there is no documentation regarding EGJ involvement.", - "rationale" : "A schema discriminator is used to assign AJCC ID when site and histology alone are insufficient to identify the applicable AJCC staging method and to assign Schema ID, which links each case to the appropriate SSDIs, Grade, Summary Stage and EOD data collection system." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_baa.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_baa.json deleted file mode 100644 index 6df5e9dad..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_baa.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_baa", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Welton, M.L., Jessup, J.M., et al. **Anus**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:36.941Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive\nAnal intraepithelial neoplasia III \nBowen disease", "VALUE:IS" ], [ "100", "Any size tumor with invasion to\n- Intramucosa\n- Lamina propria\n- Mucosa, NOS\n- Muscularis mucosae\n- Muscularis propria (internal sphincter)\n- Submucosa (superficial invasion)\n\nIncidental finding of malignancy in hemorrhoid, NOS\n\nConfined to anus, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Any size tumor with extension to\n- Ischiorectal fat/tissue\n- Perianal skin\n- Perirectal skin\n- Rectal mucosa or submucosa\n- Rectal wall\n- Skeletal muscle(s)\n + Anal sphincter (external)\n + Levator ani\n- Subcutaneous perianal tissue", "VALUE:RE" ], [ "600", "Perineum\nVulva", "VALUE:RE" ], [ "700", "Bladder\nBroad ligament(s)\nCervix uteri\nCorpus uteri\nPelvic peritoneum\nProstate\nUrethra\nVagina\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bad.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bad.json deleted file mode 100644 index f5c95a710..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bad.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bad", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **FIGO and extension information** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to code primary tumor in preference to a statement of FIGO stage.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Gibb, R.K., Olawaiye, A.B., Mutch, D.G., et al. **Vagina**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:11.106Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Any size tumor confined to vagina\n- Musculature involved\n- Submucosa (stroma) (vagina)\n\nLocalized, NOS\n\nFIGO Stage I", "VALUE:L" ], [ "300", "Any size tumor invading\n- Cervix\n- Cul de sac (rectouterine pouch)\n- Parametrium\n- Paravaginal soft tissue\n- Rectovaginal septum\n- Vesicovaginal septum\n- Vulva", "VALUE:RE" ], [ "400", "Tumor invading paravaginal soft tissues, NOS \n* Size unknown\n\nFIGO Stage II", "VALUE:RE" ], [ "500", "Extension to lower third of the vagina (from proximal vagina)\n\nBladder wall or bladder, NOS (excluding mucosa)\nLower third of the vagina (from proximal vagina)\nPelvic sidewall \n- Fascia \n- Muscle\n- Neurovascular structures\n- Rectal wall or rectum, NOS excluding mucosa\n- Skeletal portions of bony pelvis\n\n\"Frozen pelvis\" (clinically diagnosed)\nHydronephrosis or nonfunctioning kidney", "VALUE:RE" ], [ "600", "FIGO Stage III [NOS]", "VALUE:RE" ], [ "700", "Bladder mucosa (excluding bullous edema)\nRectal mucosa\nUrethra\n\nExtension beyond true pelvis\n\nFurther contiguous extension\n\nFIGO Stage IVA", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bag.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bag.json deleted file mode 100644 index 4a33e551c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bag.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bag", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Orbital tissues** \n* The orbital tissues are the support systems of the globe, confined to the space within the surrounding bony structure. The tissues include fat, striated and smooth muscle, fibroconnective, vascular, lymphoid, peripheral nerve, and optic nerve tissue.\n\n**Note 2:** **In situ cases** \n* In situ (code 000) may be used only for non-sarcoma histologies coded to this site. Sarcomas do not present as in situ or noninvasive tumors.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Dutton, J.J., Finger, P.T., et al. **Orbital Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:35.989Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: Noninvasive; intraepithelial", "VALUE:IS" ], [ "100", "Any size tumor confined to orbit\n- No invasion of bony walls or globe\n- Confined to orbit (including soft tissues)\n- Localized, NOS", "VALUE:L" ], [ "300", "Bony walls\nOrbital tissues (excluding orbit primary site)\n\nDiffuse invasion of orbital tissue and bony walls", "VALUE:RE" ], [ "400", "Invasion of globe or periorbital structures, including\n- Adjacent paranasal sinuses\n- Conjunctiva\n- Cranium\n- Globe", "VALUE:RE" ], [ "700", "Central nervous system\nEyelids\nNasal cavity\nTemporal fossa\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_baj.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_baj.json deleted file mode 100644 index 20ed0f6a7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_baj.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_baj", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Bronchopneumonia and Obstructive pneumonitis**\n* Bronchopneumonia is not the same thing as obstructive pneumonitis and should not be coded as such. \n * **Bronchopneumonia** is an acute inflammation of the walls of the bronchioles, usually a result of spread of infection from the upper to the lower respiratory tract\n * **Obstructive pneumonitis** is a combination of atelectasis, bronchiectasis with mucous plugging, and parenchymal inflammation that develops distal to an obstructing endobronchial lesion\n\n**Note 2:** **Ground glass opacities (GGO), ground glass nodules (GGN), and ground/glass lepidic (GG/L)**\n* Ground glass opacities (GGO), ground glass nodules (GGN), and ground/glass lepidic (GG/L) are frequently observed on CT and are increasingly detected with the advancements in imaging and are described as an area of hazy increased lung opacity. GGO, GGN, and GG/L can be observed in both benign and malignant lung conditions along with pre-invasive lesions (adenocarcinoma in situ, minimally invasive adenocarcinoma, and lepidic carcinoma). \n* They are often associated with early stage lung cancer but not necessarily malignancies themselves.\n* For staging purposes, these are **not to be counted as separate tumor nodules**\n\n**Note 3:** **Minimally invasive adenocarcinoma**\n* Code 100 is to be used only when the following criteria are met\n * Minimally invasive adenocarcinoma (less than or equal to 3 cm)\n * **WITH** predominantly **lepidic pattern** **AND**\n * less than or equal to 5 mm invasion in greatest dimension\n * If predominantly **lepidic pattern** is present and the size of the invasive component is unknown, see code 300\n\n**Note 4:** **Superficial spreading tumor**\n* Code 200 is to be used for **superficial spreading tumors** only. The pathology report must state that it is superficially spreading.\n* These types of tumors are uncommon, and this code should be used very sparingly. If in doubt, do not use this code\n\n**Note 5:** **Localized tumor**\n* Code 300 is to be used for a localized cancer where size defines the extent of the primary tumor \n * It is not a predominantly lepidic pattern (code 100), or a superficial spreading tumor (code 200), and there is no involvement of adjacent structures or invasion of the pleural (codes 400 and above).\n\n**Note 6:** **Atelectasis** \n* Atelectasis is the failure of the lung to expand (inflate) completely\n* This may be caused by a blocked airway, a tumor, general anesthesia, pneumonia or other lung infection, lung disease, or long-term bed rest with shallow breathing. Sometimes called a collapsed lung. \n * If the atelectasis is clearly related to the obstructing tumor, code to 450\n * If the atelectasis is clearly related to the lymph nodes, code the involvement in lymph nodes\n * If unable to determine if the atelectasis is due to direct extension or lymph node involvement, record as lymph node involvement\n\n**Note 7:** **Visceral pleural invasion**\n* Specific information about visceral pleura invasion is captured in codes 450 (PL1, PL2, or NOS) and 500 (PL3)\n* Elastic layer involvement has prognostic significance for lung cancer. \n\n**Note 8:** **Penetration of the visceral pleural**\n* Penetration of the visceral pleura indicates a progression of invasion, even in small (≤ 3cm) tumors, and indicates a less favorable prognosis\n* Visceral pleural invasion is determined to be present both in tumors that extend to the visceral pleural surface (type PL2 invasion), and in tumors that penetrate beyond the elastic layer of the visceral pleura (type PL1 invasion)\n* Further invasion, which extends to the parietal pleura, is also described as type PL3 invasion.\n\n**Note 9:** **\"Vocal cord paralysis\" or \"Superior vena cava syndrome\"** \n* \"Vocal cord paralysis,\" \"superior vena cava syndrome,\" and \"compression of the trachea or the esophagus\" are classified as either direct extension from the primary tumor or mediastinal lymph node involvement\n\n* **Caused by direct extension of the primary tumor**\n * Code as primary tumor involvement (EOD Primary Tumor, code 650)\n* **Primary tumor is peripheral and clearly unrelated to vocal cord paralysis, SVC obstruction, or compression of the trachea, or the esophagus**\n * These manifestations are secondary to lymph node involvement; code as mediastinal lymph node involvement (EOD Lymph Nodes, code 400)\n* **Unable to determine if manifestations due to direct extension or mediastinal lymph node involvement**\n * Record as mediastinal lymph node involvement (EOD Lymph Nodes, code 400)\n\n**Note 10:** **Separate tumor nodules**\n* Separate ipsilateral tumor nodules of the same histopathological type (intrapulmonary metastases)\n* Coded either 500 (same lobe) or 700 (different ipsilateral lobe). \n* Separate tumor nodules in the contralateral lung are assigned in EOD Mets.\n\n**Note 11:** **Occult carcinoma**\n* Occult carcinoma occurs when tumor is proven by the presence of malignant cells in sputum or bronchial washings, but there is no other evidence of the tumor. \n* In these cases, assign EOD Primary Tumor 980, EOD Regional Nodes 000, and EOD Mets 00.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rami-Porta, R., Asamura, H., Travis, W.D., Rusch, V.W. **Lung**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:08.835Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, Noninvasive, intraepithelial\n\nSquamous cell carcinoma in situ (SCIS) \n\nAdenocarcinoma in situ (AIS): adenocarcinoma with pure lepidic pattern,\nless than or equal to 3 cm in greatest dimension", "VALUE:IS" ], [ "100", "Minimally invasive adenocarcinoma\n- Adenocarcinoma tumor \n + WITH predominantly lepidic pattern measuring less than or equal to 3 cm in greatest dimension\n + WITH invasive component measuring less than or equal to 5 mm in greatest dimension", "VALUE:L" ], [ "200", "Superficial spreading tumor, any size\n- WITH invasive component limited to bronchial wall\n- WITH or WITHOUT proximal extension to main stem bronchus\n(these types of tumors are uncommon)", "VALUE:L" ], [ "300", "Any size tumor\n- Confined to lung, NOS\n- Localized, NOS", "VALUE:L" ], [ "400", "Any size tumor \n- Adjacent ipsilateral lobe (direct tumor invasion)\n- Confined to hilus\n- Main stem bronchus, NOS (without involvement of the carina)\n + Including extension from other part of lung", "VALUE:L" ], [ "450", "Any size tumor \n- Atelectasis/obstructive pneumonitis\n + Extends to hilar region, involving part or all of lung\n- Pleura, NOS\n- Pulmonary ligament\n- Visceral pleura (PL1, PL2, or NOS)", "VALUE:RE" ], [ "500", "Any size tumor \n- Brachial plexus, inferior branches or NOS\n- Chest wall (thoracic wall) (separate lesion-see EOD Mets)\n- Diaphragm (separate lesion-see EOD Mets)\n- Pancoast tumor (superior sulcus syndrome), NOS\n- Parietal pericardium\n- Parietal pleura (PL3)\n- Pericardium, NOS\n- Phrenic nerve\n\nSeparate tumor nodule(s) in the same lobe as the primary", "VALUE:RE" ], [ "600", "Carina\nTumor limited to the carina", "VALUE:L" ], [ "650", "Code 600 + (100-500)\nCarina with involvement of any other parts of lung\n\nBlood vessel(s) (major)\n- Aorta\n- Azygos vein\n- Pulmonary artery or vein\n- Superior vena cava (SVC syndrome)\n\nCompression of esophagus or trachea specified as direct extension\nEsophagus\nMediastinum, extrapulmonary or NOS\nNerve(s)\n- Cervical sympathetic (Horner's syndrome)\n- Recurrent laryngeal (vocal cord paralysis)\n- Vagus\n\nTrachea", "VALUE:RE" ], [ "675", "Any size tumor \n- Adjacent rib (contiguous involvement only) (see EOD Mets for noncontiguous involvement)\n- Skeletal muscle\n- Sternum", "VALUE:D" ], [ "700", "Heart\nInferior vena cava\nNeural foramina\nVertebra(e) (vertebral body)\nVisceral pericardium \n\nSeparate tumor nodule(s) in a different ipsilateral lobe \n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "980", "Tumor proven by presence of malignant cells in sputum or bronchial \nwashings but not visualized by imaging or bronchoscopy", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bak.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bak.json deleted file mode 100644 index 23baf3d7c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bak.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id" : "extension_bak", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Dimpling, tethering** \n* Changes such as dimpling of the skin, tethering, and nipple retraction are caused by tension on Cooper's ligament(s), not by actual skin involvement. \n* They do not alter the classification.\n\n**Note 2:** **Clinical evidence ONLY descriptions** \n* Adherence, attachment, fixation, induration, and thickening are clinical evidence of extension to skin or subcutaneous tissue; assign code 200 if that is the only information available.\n * Do not use these descriptions for pathological assessment of the breast.\n\n**Note 3:** **Fixation, NOS**\n* **\"Fixation\", NOS** is involvement of pectoralis muscle; assign code 200.\n\n**Note 4:** **Inflammatory carcinoma**\n* Inflammatory carcinoma is a clinical diagnosis. It is defined as greater than 33% of a breast involved WITH erythema, edema, peau d'orange, or other terms describing skin changes. \n * See codes **400 and 500** for descriptions of inflammation **WITHOUT** a diagnosis of inflammatory carcinoma.\n * See code **600** for a diagnosis of inflammatory carcinoma", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Hortobagyi, G.N., Giuliano, A., et al. **Breast**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:12.831Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: noninfiltrating; intraepithelial\nIntraductal WITHOUT infiltration\nLobular neoplasia, grade 3 (LIN 3)", "VALUE:IS" ], [ "050", "Paget disease of nipple WITHOUT underlying tumor", "JUMP:behavior_with_primary_tumor_for_ss2018_t_69793" ], [ "070", "Paget disease of nipple WITH underlying DCIS tumor", "JUMP:behavior_with_primary_tumor_for_ss2018_t_69793" ], [ "100", "Any size tumor\n\nConfined to breast tissue and fat including nipple and/or areola\nLocalized, NOS\n\nEXCLUDES: skin invasion of breast, nipple and areola (see code 200)", "VALUE:L" ], [ "200", "Any size tumor\n\nAttachment or fixation to pectoral muscle(s) or underlying tumor\nDeep fixation\nInvasion of\n- Pectoral fascia or muscle(s)\n- Subcutaneous tissue \n\nLocal infiltration of dermal lymphatics adjacent to primary tumor involving skin by direct extension\n\nSkin infiltration of primary breast including skin of nipple and/or areola", "VALUE:RE" ], [ "300", "Chest wall\nIntercostal or serratus anterior muscle(s)\nIpsilateral rib(s) (contiguous involvement only) (see EOD Mets for noncontiguous involvement)", "VALUE:RE" ], [ "400", "Extensive skin involvement \n\n**WITHOUT a stated diagnosis of inflammatory carcinoma**\n\nWITH or WITHOUT dermal lymphatic filtration\n- Edema of skin\n- En cuirasse\n- Erythema\n- Inflammation of skin\n- Lenticular nodule(s)\n- Peau d'orange (\"pigskin\")\n- Satellite nodule(s)\n- Skin edema\n- Ulceration of skin of breast", "VALUE:RE" ], [ "450", "**OBSOLETE** - Please use 400", "VALUE:RE" ], [ "500", "300 + 400\nExtensive skin involvement \n\n**WITHOUT a stated diagnosis of inflammatory carcinoma** \n\nWITH invasion of \n- Chest wall\n- Intercostal or serratus anterior muscle(s)\n- Ipsilateral rib(s) (contiguous involvement only) (see EOD Mets for noncontiguous involvement)", "VALUE:RE" ], [ "600", "**Diagnosis of inflammatory carcinoma**\n\nWITH a clinical description of inflammation, erythema, edema, peau d'orange, etc., \n\nWITH or WITHOUT dermal lymphatic infiltration\n- En cuirasse\n- Lenticular nodule(s)\n- Satellite nodule(s)\n- Ulceration of skin of breast", "VALUE:RE" ], [ "700", "**OBSOLETE** - Please use 600", "VALUE:RE" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ], - "additional_info" : "Synonyms for in situ: \n* Confined to epithelium\n* Ductal carcinoma in situ (DCIS)\n* Intracystic\n* Intraductal\n* Intraepidermal\n* Intraepithelial\n* Lobular carcinoma in situ (LCIS)\n* Lobular neoplasia\n* Lobular noninfiltrating\n* Noninfiltrating\n* Noninvasive \n* No stromal involvement\n* Papillary intraductal\n* Papillary non infiltrating" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bal.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bal.json deleted file mode 100644 index e42044a49..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bal.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bal", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Wall of the stomach** \n* The wall of the stomach has five layers\n * Mucosal (code 100)\n * Submucosal (code 200)\n * Muscular (code 400)\n * Subserosal (code 500) and serosal (code 600). \n\n**Note 2:** **Linitis plastica** \n* Code 400 if the diagnosis states linitis plastica and no other information regarding extension is available. \n* Linitis plastica is defined as diffuse involvement of the entire thickness of the stomach wall.\n\n**Note 3:** **Intraluminal or intramural extension**\n* Intraluminal or intramural extension to esophagus and duodenum is classified by the depth of greatest invasion in any of these sites, including stomach. \n * (For extension to esophagus or duodenum via serosa, see code 700).\n\n**Note 4:** **Contiguous versus discontiguous extension** \n* For structures listed in codes 700 and 750, contiguous extension is coded in this field. \n* If there is discontiguous extension of any of these structures, code involvement in EOD Mets.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Ajani, J.A., In, H., Sano, T., Hofstetter, W.L., et al. **Stomach**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:10.488Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive\n(Adeno)carcinoma, noninvasive, in a polyp", "VALUE:IS" ], [ "100", "Intramucosal, NOS\nLamina propria\nMuscularis mucosae\nPerimuscular tissue invaded\n\nMucosa\n - WITH or WITHOUT intraluminal extension to esophagus or duodenum", "VALUE:L" ], [ "200", "Submucosa (superficial, NOS)\n- WITH or WITHOUT intraluminal extension to esophagus or duodenum", "VALUE:L" ], [ "300", "Confined to polyp (head, stalk, NOS)\nImplants inside stomach\n\nConfined to stomach, NOS\nLocalized, NOS", "VALUE:L" ], [ "400", "Muscularis propria (but not through)\n- WITH or WITHOUT intraluminal extension to esophagus or duodenum\n\nLinitis plastica and no other information regarding extension available", "VALUE:L" ], [ "500", "Through muscularis propria or muscularis, NOS\n* WITH or WITHOUT intraluminal extension to esophagus or duodenum\n\nExtension through wall, NOS\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded", "VALUE:L" ], [ "600", "Extension to adjacent (connective) tissue\n* WITHOUT perforation of visceral peritoneum covering these structures\n\nGastric artery\nLigaments \n- Gastrocolic\n- Gastrohepatic\n- Gastrosplenic\n\nOmentum (greater, lesser, NOS)\nPerigastric fat", "VALUE:RE" ], [ "650", "Mesothelium\nSerosa\nTunica serosa\nVisceral peritoneum", "VALUE:RE" ], [ "700", "Colon/mesocolon (including transverse and flexures)\nDiaphragm\nDuodenum (via serosa) (see Note 3)\nEsophagus (via serosa) (see Note 3)\nIleum\nJejunum\nLiver\nPancreas\nSmall intestine, NOS\nSpleen", "VALUE:RE" ], [ "750", "Abdominal wall \nAdrenal (suprarenal) gland\nAorta \nCeliac axis\nKidney\nRetroperitoneum\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bam.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bam.json deleted file mode 100644 index 75e59ae7c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bam.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bam", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Intrinsic and extrinsic muscles of tongue** \n* The intrinsic muscles of tongue are four paired muscles within the tongue which control its shape. \n* The extrinsic muscles originate from structures outside the tongue and control its positioning.\n\n**Note 2:** **Parapharyngeal involvement** \n* Parapharyngeal involvement (pharyngeal space invasion) (code 700) denotes postero-lateral infiltration of tumor beyond the pharyngobasilar fascia. \n* The pharyngobasilar fascia is the fibrous layer of the pharyngeal wall between the mucosa and the muscular layer, attached superiorly to the basilar part of the occipital bone and diminishing in thickness as it descends.\n\n**Note 3:** **Masticator space** \n* The masticator space (code 700) primarily consists of the muscles of mastication, the medial and lateral pterygoid, masseter, and temporalis muscles. \n* The space also includes the ramus of the mandible and the third division of cranial nerve V as it passes through the foramen ovale into the suprahyoid neck.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Ridge, J.A., Shah, J.P., et al. **Oropharynx (p16-) and Hypopharynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:05.138Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Any size tumor with extension to\n\nAll sites\n- Confined to site of origin\n- Localized, NOS\n\nOropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n- Base of tongue (including Lingual tonsil)\n- Tonsil (palatine, NOS)\n- Tonsillar pillar/fossa\n- Wall (anterior [including vallecula], lateral, posterior)\n\nPharyngeal Tonsil (C111)\n- Adenoid \n- Nasopharynx (inferior wall, superior surface of soft palate)\n- Pharyngeal tonsil (nasopharyngeal tonsil) \n- Posterior superior wall (vault)\n\nSoft Palate (C051, C052)\n- Invasion of \n + Lamina propria, submucosa, musculature\n- Tumor crosses midline\n\nTongue Base (C019, C024)\n- Base of Tongue for Lingual Tonsil\n- Invasion of \n + Lamina propria, submucosa, musculature (intrinsic)\n- Lingual Tonsil for Base of Tongue\n- Tumor crosses midline", "VALUE:L" ], [ "200", "Any size tumor with extension to\n\nOropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n- Buccal mucosa\n- Floor of mouth\n- Gum (gingiva)\n - Lateral walls (both) through soft palate or base of tongue\n - Soft palate (inferior surface including uvula, superior [nasopharyngeal] surface, NOS)\n\nPharyngeal Tonsil (C111)\n- Nasal cavity\n- Oropharynx\n- Pterygopalatine fossa \n- Soft palate, inferior surface including uvula\n\nSoft Palate (C051, C052)\n- Buccal mucosa (inner cheek)\n- Gum (gingiva), upper\n - Lateral pharyngeal wall\n - Tonsils, including tonsillar pillars and fossae\n\nTongue Base (C019, C024)\n- Anterior two-thirds of tongue for base of tongue\n- Floor of mouth\n- Glossoepiglottic fold\n- Glossopharyngeal fold\n- Lateral pharyngeal wall\n- Lower gingiva\n- Pharyngoepiglottic fold\n- Soft palate, inferior surface or NOS including uvula\n- Sublingual gland\n- Tonsil, tonsillar pillars and fossae", "VALUE:RE" ], [ "300", "Epiglottis, lingual surface", "VALUE:L" ], [ "400", "Epiglottis, lingual surface plus both lateral walls through soft palate or base of tongue or other structures in code 200 OR\n\nEpiglottis WITH fixation", "VALUE:RE" ], [ "500", "Oropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n- Hypopharynx, NOS\n- Larynx, NOS\n- Posterior surface of epiglottis\n- Pyriform sinus\n- Soft tissue of neck\n\nPharyngeal Tonsil (C111)\n- Hard Palate\n- Mandible\n- Paranasal Sinuses\n- Soft Palate (C051, C052)\n- Hard Palate\n- Mandible", "VALUE:RE" ], [ "550", "All Sites\n- Deep (extrinsic) muscle of tongue\n + Genioglossus\n + Geniohyoid\n + Hyoglossus\n + Mylohyoid\n + Palatoglossus\n + Styloglossus\n- Ramus of mandible\n\nOropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n- Hard palate\n- Mandible, NOS\n\nSoft Palate (C051, C052)\n- Hypopharynx\n- Maxilla\n- Maxilla sinus (antrum)\n- Nasal cavity \n- Palatine bone \n- Tongue\n\nTongue Base (C019, C024)\n- Hard palate\n- Hypopharynx\n- Larynx\n- Mandible", "VALUE:D" ], [ "600", "Oropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n- Prevertebral fascia/muscle", "VALUE:RE" ], [ "700", "Oropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n- Prevertebral fascia/muscle with extension to structure in code 550 OR\n\nAll Sites\n- Carotid artery (encasing)\n- Lateral nasopharynx\n- Masseter muscle\n- Masticator space\n + Cranial nerve V-third division\n + Muscles of mastication\n + Temporalis muscles\n- Parapharyngeal extension (pharyngeal space invasion)\n- Pterygoid plates\n- Skull (base, bone, NOS)\n\nOropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n- Anterior 2/3 tongue\n- Parotid gland\n\nPharyngeal Tonsil (C111)\n- Brain\n- Cranial nerve involvement\n- Hypopharynx\n- Infratemporal fossa\n- Orbit (floor, NOS)\n- Soft tissues of neck\n\nSoft Palate (C051, C052)\n- Nasopharynx (lateral, NOS)\n\nTongue Base (C019, C024)\n- Skin", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_ban.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_ban.json deleted file mode 100644 index e8c7aec7d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_ban.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_ban", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Clark Level versus pathological description** \n* If there is a discrepancy between the Clark level and the pathological description of extent (invasion into the layers of the dermis), use the higher (more extensive) code.\n\n**Note 2:** **Code greatest extent** \n* Code the greatest extent of invasion from any procedure performed on the lesion, whether it is described as a biopsy or an excision. \n* For example, if a punch biopsy with involvement of Clark level IV is followed by a re-excision with residual tumor involving Clark level II, code 300 (Clark level IV).\n\n**Note 3:** **Satellite lesions/nodules** \n* Satellite lesions/nodules or in-transit metastases are coded in EOD Regional Nodes.\n\n**Note 4:** **Breslow's depth only available** \n* If a Breslow’s depth is given in the pathology report and there is **no other indication of involvement**, the following guidelines may be used (***Note:** If a physician documents a different Clark's Level then provided by these guidelines, go with the physician's Clark Level*)\n * Code 000: Level I (In situ)\n * Code 100: Level II (< 0.75 mm Breslow’s Depth)\n * Code 200: Level III (0.76 mm to 1.50 mm Breslow’s Depth)\n * Code 300: Level IV (> 1.50 mm Breslow’s Depth)\n\n**Note 5:** **Additional data items for staging** \n* In addition to EOD Primary Tumor, the following data items are also collected to determine the extent of the primary tumor:\n - *Breslow's Thickness* [NAACCR Data Item #3817] and \n - *Ulceration* [NAACCR Data Item #3936]", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Gershenwald, J.E., Scolyer, R.A., et al. **Melanoma of the Skin**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:16.296Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, noninvasive \n(Basement membrane of the epidermis is intact)\nClark level I", "VALUE:IS" ], [ "100", "Papillary dermis invaded\nClark level II", "VALUE:L" ], [ "200", "Papillary-reticular dermal interface invaded\nClark level III", "VALUE:L" ], [ "300", "Reticular dermis invaded\nClark level IV", "VALUE:L" ], [ "400", "Skin/dermis, NOS\nLocalized, NOS", "VALUE:L" ], [ "500", "Subcutaneous tissue (through entire dermis)\nClark level V", "VALUE:RE" ], [ "700", "Bone\nSkeletal muscle \nUnderlying cartilage\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor\nRegressed melanoma (complete)", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bao.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bao.json deleted file mode 100644 index 70597389c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bao.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bao", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **In situ tumors** \n* Code 000 (behavior code 2) includes cancer cells confined within the glandular basement membrane (intraepithelial), or described as in situ. \n\n**Note 2:** **Code 050 (behavior /3)** \n* Code 050 (behavior code 3) includes the following:\n* Intramucosal, NOS\n* Lamina propria\n* Mucosa, NOS\n* Confined to, but not through the muscularis mucosa\n\n**Note 3:** **Intraluminal extension** \n* Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 4:** **Adherent tumors** \n* Tumor that is adherent to other organs or structures, macroscopically, is coded as 600 or 700. However, if no tumor is present in the adhesion, microscopically, the classification should be coded to 100-500.\n\n**Note 5:** **Peritonealized parts of the Colon and Rectum** \n* The colon and rectum may be entirely peritonealized, partially peritonealized, or non-peritonealized. Use this list to help distinguish between EOD Primary Tumor codes 300 and 400 (See Note 6).\n * Entirely peritonealized segments: Cecum, Transverse colon, Sigmoid colon, Rectosigmoid colon\n * Segmental surfaces that are peritonealized: Anterior and lateral surfaces of: Ascending colon, Descending colon, Hepatic flexure, Splenic flexure, Upper third of rectum. Anterior surface: Middle third of rectum.\n * Entirely non-peritonealized segment: Lower third of rectum\n * Segmental surfaces that are non-peritonealized: Posterior surface of: Ascending colon, Descending colon, Hepatic flexure, Splenic flexure, Upper two-thirds of rectum\n\n**Note 6:** **Invasion into “pericolonic/pericolorectal tissue** \n* Invasion into “pericolonic/pericolorectal tissue” can be either code 300 or 400, depending on the primary site and whether it is peritonealized (fully or partially) or not. When extension is described as “pericolonic/pericolorectal tissue”\n * Code 300 may NOT be used for entirely peritonealized sites (cecum, transverse colon, sigmoid colon, rectosigmoid colon), as this would be equivalent to peritonealized pericolic/perirectal tissue invasion (code 400)\n * Code 300 may ONLY be used for peritonealized sites (See Note 5) when the extension is described using other terms listed under code 300 (ex. subserosal fat). If there are no other terms used to describe the extension, other than invasion of “pericolorectal tissue”, then assign code 400\n * For partially peritonealized sites (See Note 5), “pericolonic/pericolorectal tissue” may indicate invasion of either non-peritonealized (code 300) or peritonealized tissue (code 400)\n * Check for mention of serosa/peritoneum in the operative report and/or pathology report final diagnosis or gross description to determine the correct code. Again, if other descriptions besides “pericolonic/pericolorectal tissue” are used, assign code 300 or 400 based on the terminology used\n * If the pathologist does not further describe the “pericolic/perirectal tissues” as either “non-peritonealized pericolic/perirectal tissues” vs “peritonealized pericolic/perirectal tissues” and the operative report and/or gross description does not describe the tumor relation to the serosa/peritoneal surface, and it cannot be determined whether the tumor arises in a peritonealized portion of the colon, code 300.\n\n**Note 7:** **Involvement of serosal surface** \n* Tumors characterized by involvement of the serosal surface (visceral peritoneum) by direct extension or perforation in which the tumor cells are continuous with the serosal surface through inflammation are coded to 500.\n\n**Note 8:** **Transmural extension**\n* In the case of colon cancer, transmural extension means that the tumor has extended through the wall of the colon and may invade a regional organ or tissue\n * These would be coded as invasion or adherence to adjacent organs or tissues (see codes 600 or 700)", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Jessup, J.M., Goldberg, R.M., et al. **Colon and Rectum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:08.069Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ\nNoninvasive; intraepithelial\n(Adeno)carcinoma in a polyp or adenoma, noninvasive", "VALUE:IS" ], [ "050", "Lamina propria invasion\n\nIntramucosal, NOS\nMucosa, NOS\n\nConfined to, but not through muscularis mucosa", "VALUE:L" ], [ "100", "Submucosal (superficial) invasion\n- Rectum (C209): WITH or WITHOUT intraluminal extension to colon and/or anal canal/anus\n\nThrough the muscularis mucosa but not into the muscularis propria\n\nConfined to polyp (head, stalk, NOS)\nConfined to colon, rectum, rectosigmoid, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Muscularis propria invaded\n- Rectum (C209): WITH or WITHOUT intraluminal extension to colon and/or anal canal/anus", "VALUE:L" ], [ "300", "Invasion of tumor through the muscularis propria and into pericolorectal tissue (see also Code 400)\n\nAll sites (C180, C182-C189)\n- Extension through wall, NOS\n- Invasion through muscularis propria or muscularis, NOS\n - Rectum (C209): WITH or WITHOUT intraluminal extension to colon and/or anal canal/anus\n- Perimuscular tissue invaded\n- Subserosal tissue/(sub)serosal fat invaded\n- Transmural, NOS\n- Wall, NOS\n\nPeritonealized or non-peritonealized: Invasion into pericolorectal tissues and/or pericolonic adipose tissue ONLY\n*(do not apply these instructions to structures listed under ALL SITES)*\n * Non-peritonealized site or segment of colon (*see Note 5*) or UNKNOWN if peritonealized\n * Includes invasion of pericolic or perirectal fat tissues\n * For peritonealized sites or segments, see code 400)", "VALUE:L" ], [ "400", "Invasion of tumor through the muscularis propria and into pericolorectal tissue (see also code 300)\n\nAll sites (C180, C182-C189)\n- Adjacent (connective) tissue(s), NOS\n- Fat, NOS\n- Gastrocolic ligament (transverse colon and flexures)\n- Greater omentum (transverse colon and flexures)\n- Mesentery (including mesenteric fat, mesocolon)\n- Rectovaginal septum (rectum)\n- Retroperitoneal fat (ascending and descending colon only)\n\nPeritonealized or non-peritonealized: Invasion into pericolorectal tissues and/or pericolonic adipose tissue ONLY \n*(do not apply these instructions to structures listed under ALL SITES)*\n * Peritonealized site or segment of colon (*see Note 5*) or stated as peritonealized in pathology report\n * Includes invasion of pericolic or perirectal fat tissues\n * For non-peritonealized sites or segments, or UNKNOWN if peritonealized, see code 300) (*see Note 6*)", "VALUE:RE" ], [ "500", "Invasion of/through the visceral peritoneum\n\nMesothelium\nSerosa\nTunica serosa", "VALUE:RE" ], [ "600", "Direct invasion or adherence to adjacent organs or structures (see also Code 700)\n\nAdherent to other organs or structures clinically with no microscopic examination\nTumor found in adhesion(s) if microscopic examination performed\n\nAll sites (C180, C182-C189)\n- Abdominal wall\n- Retroperitoneum (excluding fat)\n- Small intestine\n\nCecum (C180)\n- Greater omentum\n\nAscending colon (C182)\n- Greater omentum\n- Kidney, right\n- Liver, right lobe\n- Ureter, right\n\nTransverse colon and flexures (C183, C184, C185)\n- Bile ducts\n- Gallbladder\n- Kidney\n- Liver\n- Pancreas\n- Spleen\n- Stomach\n\nDescending colon (C186)\n- Greater omentum\n- Kidney, left\n- Pelvic wall\n- Spleen\n- Ureter, left\n\nSigmoid colon (C187)\n- Greater omentum\n- Pelvic wall\n\nRectosigmoid (C199)\n- Cul de sac (rectouterine pouch)\n- Pelvic wall/pelvic plexuses\n- Small intestine\n\nRectum (C209)\n- Anus/anal canal\n- Bladder (males only)\n- Cul de sac (rectouterine pouch)\n- Ductus deferens\n- Pelvic wall\n- Prostate\n- Rectovesical fascia (males only)\n- Seminal vesicle(s)\n- Skeletal muscles of pelvic floor\n- Vagina", "VALUE:RE" ], [ "700", "Direct invasion or adherence to adjacent organs or structures (see also Code 600)\n\nAll sites (C180, C182-C189)\n- Adrenal (suprarenal) gland\n- Bladder\n- Diaphragm\n- Fallopian tube\n- Fistula to skin\n- Gallbladder (except Transverse Colon and Flexures, see code 600)\n- Other segment(s) of colon via serosa\n- Ovary(ies)\n- Uterus\n\nCecum (C180)\n- Kidney\n- Liver\n- Ureter\n\nTransverse colon and flexures (C183, C184, C185)\n- Ureter\n\nSigmoid colon (C187)\n- Cul de sac (rectouterine pouch)\n- Ureter\n\nRectosigmoid (C199)\n- Bladder\n- Colon via serosa\n- Fallopian tube(s)\n- Ovary(ies)\n- Prostate\n- Skeletal muscles of pelvic floor\n- Ureter(s)\n- Vagina\n\nRectum (C209)\n- Bladder (females only)\n- Bone(s) of pelvis\n- Cervix\n- Perineum, perianal skin\n- Sacrum\n- Sacral plexus\n- Urethra\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bap.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bap.json deleted file mode 100644 index 90590090e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bap.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bap", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Intrinsic and extrinsic muscles** \n* The intrinsic muscles of tongue are four paired muscles within the tongue which control its shape. \n* The extrinsic muscles originate from structures outside the tongue and control its positioning.\n\n**Note 2:** **Parapharyngeal involvement** \n* Parapharyngeal involvement (pharyngeal space invasion) (code 700) denotes postero-lateral infiltration of tumor beyond the pharyngobasilar fascia. \n* The pharyngobasilar fascia is the fibrous layer of the pharyngeal wall between the mucosa and the muscular layer, attached superiorly to the basilar part of the occipital bone and diminishing in thickness as it descends.\n\n**Note 3:** **Masticator space** \n* The masticator space (code 700) primarily consists of the muscles of mastication, the medial and lateral pterygoid, masseter, and temporalis muscles. \n* The space also includes the ramus of the mandible and the third division of cranial nerve V as it passes through the foramen ovale into the suprahyoid neck.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) O'Sullivan, B., Lydiatt, W.M., Shah, J.P., et al. **HPV-Mediated (p16+) Oropharyngeal Cancer**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:05.465Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Any size tumor with extension to\n\nAll sites\n- Confined to site of origin\n- Localized, NOS\n\nOropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n- Base of tongue (including lingual tonsil)\n- Tonsil (palatine, NOS)\n- Tonsillar pillar/fossa\n- Wall (anterior [including vallecula], lateral, posterior)\n\nPharyngeal Tonsil (C111)\n- Adenoid \n- Nasopharynx (inferior wall, superior surface of soft palate)\n- Pharyngeal tonsil (nasopharyngeal tonsil) \n- Posterior superior wall (vault)\n\nSoft Palate (C051, C052)\n- Invasion of \n + Lamina propria, submucosa, musculature\n- Tumor crosses midline\n\nTongue Base (C019, C024)\n- Base of tongue for lingual tonsil\n- Invasion of \n + Lamina propria, submucosa, musculature (intrinsic)\n- Lingual tonsil for base of tongue\n- Tumor crosses midline", "VALUE:L" ], [ "200", "Any size tumor with extension to\n\nOropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n- Buccal mucosa\n- Floor of mouth\n- Gum (gingiva)\n - Lateral walls (both) through soft palate or base of tongue\n - Soft palate (inferior surface including uvula, superior [nasopharyngeal] surface, NOS)\n\nPharyngeal Tonsil (C111)\n- Nasal cavity\n- Oropharynx\n- Pterygopalatine fossa \n- Soft palate, inferior surface including uvula\n\nSoft Palate (C051, C052)\n- Buccal mucosa (inner cheek)\n- Gum (gingiva), upper\n - Lateral pharyngeal wall\n - Tonsils, including tonsillar pillars and fossae\n\nTongue Base (C019, C024)\n- Anterior two-thirds of tongue for base of tongue\n- Floor of mouth\n- Glossoepiglottic fold\n- Glossopharyngeal fold\n- Lateral pharyngeal wall\n- Lower gingiva\n- Pharyngoepiglottic fold\n- Soft palate, inferior surface or NOS including uvula\n- Sublingual gland\n- Tonsil, tonsillar pillars and fossae", "VALUE:RE" ], [ "300", "Epiglottis, lingual surface", "VALUE:L" ], [ "400", "Epiglottis, lingual surface plus both lateral walls through soft palate or base of tongue or other structures in code 200 or\n\nEpiglottis WITH fixation", "VALUE:RE" ], [ "600", "Oropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n- Hypopharynx, NOS\n- Larynx, NOS\n- Posterior surface of epiglottis\n- Prevertebral fascia/muscle\n- Pyriform sinus\n- Soft tissue of neck\n\nPharyngeal Tonsil (C111)\n- Hard palate\n- Mandible\n- Paranasal sinuses\n\nSoft Palate (C051, C052)\n- Hard palate\n- Mandible", "VALUE:RE" ], [ "700", "All sites\n- Carotid artery (encasing)\n- Deep/extrinsic muscles of tongue\n + Genioglossus\n + Hyoglossus\n + Mylohyoid\n + Palatoglossus\n + Styloglossus\n- Lateral nasopharynx\n- Masseter muscle\n- Masticator space\n + Cranial nerve V-third division\n + Muscles of mastication\n + Pterygoid muscle (lateral, medial, NOS)\n + Ramus of mandible\n + Temporalis muscles\n- Parapharyngeal extension (pharyngeal space invasion)\n- Pterygoid plates\n- Skull (base, bone, NOS)\n\nFurther contiguous extension\n\nOropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n- Anterior 2/3 of tongue\n- Hard palate\n- Mandible\n- Parotid gland\n\nPharyngeal Tonsil (C111)\n- Brain\n- Cranial nerve involvement\n- Hypopharynx\n- Infratemporal fossa/masticator space\n- Orbit (floor, NOS)\n- Soft tissues of neck\n\nSoft Palate (C051, C052)\n- Hypopharynx\n- Maxilla \n- Maxillary sinus (antrum)\n- Nasal cavity\n- Nasopharynx (lateral, NOS)\n- Palatine bone (bone of hard palate)\n- Tongue\n\nTongue Base (C019, C024)\n- Hard palate\n- Hypopharynx\n- Larynx\n- Mandible \n- Skin", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bar.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bar.json deleted file mode 100644 index cf2ccb3e9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bar.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bar", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **Fixation** \n* Code 300 If there is fixation of hemilarynx or larynx.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Ridge, J.A., Shah, J.P., et al. **Oropharynx (p16-) and Hypopharynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:06.863Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Any size tumor confined to one site WITHOUT fixation\n- Laryngopharynx\n- Postcricoid area\n- Posterior pharyngeal wall\n- Pyriform sinus\n\nConfined to hypopharynx\nLocalized, NOS", "VALUE:L" ], [ "150", "Any size tumor confined to more than one subsite in code 100\n- WITHOUT fixation", "VALUE:L" ], [ "200", "Any size tumor with extension to\n- Hemilarynx WITHOUT fixation\n- Oropharynx WITH or WITHOUT fixation\n\nAny structure listed in code 100 with fixation", "VALUE:RE" ], [ "300", "Esophageal mucosa\nFixation of hemilarynx or larynx", "VALUE:RE" ], [ "400", "Central compartment soft tissues of neck including\n- Prelaryngeal strap muscle(s)\n- Subcutaneous fat\n\nCricoid cartilage\nEsophageal muscle\nExtrinsic muscle of tongue\t\nFixation of oropharynx\nHard palate\nHemilarynx\nMandible \nMedial pterygoid\nOropharynx\nPrevertebral fascia/muscle(s)\nSoft tissues of neck\nThyroid cartilage/gland", "VALUE:RE" ], [ "500", "Hyoid bone", "VALUE:D" ], [ "600", "Carotid artery (encased)", "VALUE:RE" ], [ "700", "Carotid artery (encased) with involvement of the hyoid bone OR\n\nBase of tongue\nFloor of tongue\nMediastinal structure(s)\nNasopharynx\n\nFurther contiguous extension", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bas.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bas.json deleted file mode 100644 index ddc73bdbd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bas.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bas", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Pharyngeal Space** \n* Involvement of the pharyngeal space (code 300) is defined as posterolateral infiltration from the nasopharynx beyond the buccopharyngeal fascia into the triangular space lateral to the pharynx. \n\n**Note 2:** **Parapharyngeal involvement** \n* Parapharyngeal involvement denotes posterolateral infiltration of tumor beyond the pharyngobasilar fascia. \n* The pharyngobasilar fascia is the fibrous layer of the pharyngeal wall between the mucosa and the muscular layer, attached superiorly to the basilar part of the occipital bone and diminishing in thickness as it descends.\n\n**Note 3:** **Masticator space** \n* The masticator space primarily consists of the muscles of mastication, the medial and lateral pterygoid, masseter, and temporalis muscles. \n* The space also includes the ramus of the mandible and the third division of cranial nerve V as it passes through the foramen ovale into the suprahyoid neck.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lee, A.W.M., Lydiatt, W.M., Shah, J.P., et al. **Nasopharynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:03.989Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Invasive tumor confined to one of the following subsites\n- Inferior wall (superior surface of soft palate)\n- Lateral wall\n- Posterior superior wall (vault)\n\nInvolvement of two or more subsites\n- Lateral wall extending into eustachian tube/middle ear\n- Posterior, inferior, or lateral wall(s)\n\nConfined to nasopharynx, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Nasal cavity WITHOUT pharyngeal extension\nOropharynx\nSoft palate, inferior surface including uvula WITHOUT pharyngeal extension\nSoft tissue, NOS (excluding soft tissue of neck)", "VALUE:RE" ], [ "300", "Any site listed in codes 100 or 200 \n- WITH fixation or tumor described only as FIXED with parapharyngeal extension \n\nAdjacent soft tissue involvement\nLateral pterygoid\nMedial pterygoid\nParapharyngeal space\nPrevertebral muscles\nPterygopalatine fossa WITHOUT bone invasion", "VALUE:RE" ], [ "500", "Bone, NOS\nBony structures of skull base\nCartilage, NOS\nCervical vertebra\nFloor of orbit\nHard palate\nParanasal sinuses\nPterygoid structures\nSkull base", "VALUE:RE" ], [ "700", "Brain\nCranial nerve involvement \nHypopharynx\nInfratemporal fossa/masticator space\nIntracranial extension, NOS\nOrbit except bone of floor or orbit \nParotid gland\nSoft tissues of neck", "VALUE:D" ], [ "800", "No evidence of primary tumor\nNo tumor identified, but EBV-positive cervical node(s) involvement", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bat.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bat.json deleted file mode 100644 index 2d03eb28e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bat.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bat", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Impaired vocal cord mobility** \n* Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 2:** **Localized tumor** \n* Code 100 for localized tumor only if no information is available to identify further extension.\n\n**Note 3:** **Limited to the larynx** \n* Tumor limited to the larynx (code 200) includes tumor involving, but limited to, the supraglottis, glottis and subglottis.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Patel, S.G., Lydiatt, W.M., Shah, J.P., et al. **Larynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:34.339Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "One vocal cord with normal vocal cord mobility", "VALUE:L" ], [ "150", "Both vocal cords with normal vocal cord mobility", "VALUE:L" ], [ "200", "Invasive tumor with normal vocal cord mobility\n\nIntrinsic larynx\nLaryngeal commissure(s) (anterior, posterior)\nVocal cord(s) (true cord(s), true vocal cord(s), NOS)\n\nConfined to glottis, NOS\nLocalized, NOS", "VALUE:L" ], [ "250", "Impaired vocal cord mobility\n\nAdjacent region(s) of larynx involved\n\nSubglottis\nSupraglottis \n- Aryepiglottic fold\n- Cartilage (arytenoid, corniculate, cuneiform, laryngeal, NOS)\n- Epiglottis (infrahyoid, laryngeal [posterior] surface of epiglottis)\n- Epiglottis (suprahyoid) (including tip, lingual (anterior) and laryngeal surfaces)\n- Epilarynx, NOS\n- False cords: ventricular bands/cavity/vestibular fold", "VALUE:L" ], [ "300", "Limited to larynx WITH vocal cord fixation\n\nIntrinsic muscle(s) of larynx\n- Aryepiglottic\n- Arytenoid \n- Cricoarytenoid\n- Cricothyroid\n- Thyroarytenoid \n- Thyroepiglottic\n- Vocalis", "VALUE:L" ], [ "400", "Paraglottic space\nThyroid cartilage (inner cortex) (minor erosion)", "VALUE:RE" ], [ "500", "Base of tongue \nHypopharynx, NOS\nPostcricoid area\nPre-epiglottic space\nPre-epiglottic tissues\nPyriform sinus (pyriform fossa)\nVallecula", "VALUE:RE" ], [ "600", "Cricoid cartilage \nEsophagus\nExtrinsic muscle(s) of tongue\n- Genioglossus\n- Geniohyoid\n- Hyoglossus\n- Mylohyoid\n- Palatoglossus\n- Styloglossus\n\nOropharynx, NOS\nSkin\nSoft tissues of neck\nStrap muscle(s)\n- Omohyoid\n- Sternohyoid\n- Sternothyroid\n- Thyrohyoid \n\nThyroid cartilage (outer cortex, NOS)\nThyroid gland\nTrachea", "VALUE:D" ], [ "700", "Carotid artery (encased)\nMediastinal structure(s)\nPrevertebral space\n\nFurther contiguous extension", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bau.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bau.json deleted file mode 100644 index 573aa071f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bau.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bau", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Impaired vocal cord mobility** \n* Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. \n* Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 2:** **Localized tumor** \n* Code 100 for localized tumor only if no information is available to identify further extension.\n\n**Note 3:** **Limited to the larynx** \n* Tumor limited to the larynx (code 200) includes tumor involving, but limited to, the supraglottis, glottis and subglottis.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Patel, S.G., Lydiatt, W.M., Shah, J.P., et al. **Larynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:28.053Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Invasive tumor confined to one subsite with normal vocal cord mobility\n\nSupraglottis \n- Aryepiglottic fold\n- Cartilage (arytenoid, corniculate, cuneiform, laryngeal, NOS)\n- Epiglottis (infrahyoid, laryngeal [posterior] surface of epiglottis)\n- Epiglottis (suprahyoid) (including tip, lingual (anterior) and laryngeal surfaces)\n- Epilarynx, NOS\n- False cords: ventricular bands/cavity/vestibular fold\n\nConfined to epiglottis, NOS\nConfined to supraglottis, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Mucosa of more than one subsite of supraglottis listed in code 100\nand/or glottis\n\nLimited to larynx, NOS", "VALUE:L" ], [ "250", "Mucosa of\n- Base of tongue\n- Pyriform sinus (medial wall)\n- Vallecula", "VALUE:RE" ], [ "300", "Tumor limited to larynx with vocal cord fixation", "VALUE:L" ], [ "400", "Vocal cord fixation of larynx with extension to structures listed in code 250 OR\n\nCricoid cartilage \nHypopharynx, NOS\nParaglottic space\nPostcricoid area\nPre-epiglottic space\nPre-epiglottic tissues", "VALUE:RE" ], [ "450", "Thyroid cartilage (inner cortex) (minor erosion)", "VALUE:D" ], [ "500", "For epiglottis (anterior surface, NOS) primaries only\n\nBuccal mucosa\nFloor of mouth\nGum (gingiva)\nNasopharynx\nPterygoid muscle\nSoft palate", "VALUE:RE" ], [ "600", "Thyroid cartilage (inner cortex) (inner erosion) with extension to structures in code 500 OR\n\nEsophagus\nExtrinsic muscle(s) of tongue\n- Genioglossus\n- Geniohyoid\n- Hyoglossus\n- Mylohyoid\n- Palatoglossus\n- Styloglossus\n\nOropharynx, NOS\nStrap muscle(s)\n- Omohyoid\n- Sternohyoid\n- Sternothyroid\n- Thyrohyoid\n\nSkin\nSoft tissues of neck\nThyroid cartilage (outer cortex, NOS)\nThyroid gland\nTrachea", "VALUE:D" ], [ "700", "Carotid artery (encased)\nMediastinal structure(s)\nPrevertebral space\n\nFurther contiguous extension\n\nFor epiglottis primaries only\n* Anterior 2/3 of tongue\n* Bone\n* Mandible\n* Parotid gland", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bav.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bav.json deleted file mode 100644 index 4b0e474f5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bav.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bav", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Impaired vocal cord mobility** \n* Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. \n* Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 2:** **Localized tumor** \n* Code 100 for localized tumor only if no information is available to identify further extension.\n\n**Note 3:** **Limited to the larynx** \n* Tumor limited to the larynx (code 200) includes tumor involving, but limited to, the supraglottis, glottis and subglottis.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Patel, S.G., Lydiatt, W.M., Shah, J.P., et al. **Larynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:05.574Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Tumor limited to the subglottis\n\nInvasive tumor with normal vocal cord mobility \n\nLocalized, NOS", "VALUE:L" ], [ "200", "Tumor involves adjacent regions(s) of larynx\n- Glottis\n- Supraglottis\n\nWITH normal or impaired mobility\n\nLimited to larynx, NOS", "VALUE:L" ], [ "400", "Tumor limited to larynx with vocal cord fixation \n\n\nParaglottic space\nThyroid cartilage (inner cortex) (minor erosion)", "VALUE:RE" ], [ "500", "Base of tongue\nHypopharynx, NOS\nPostcricoid area\nPre-epiglottic tissues\nPyriform sinus (pyriform fossa)\nVallecula", "VALUE:RE" ], [ "600", "Cricoid cartilage \nEsophagus\nExtrinsic muscles of tongue\n- Genioglossus\n- Geniohyoid\n- Hyoglossus\n- Mylohyoid\n- Palatoglossus\n- Styloglossus\n\nOropharynx, NOS\nSkin\nSoft tissues of neck\nStrap muscle(s)\n- Omohyoid\n- Sternohyoid\n- Sternothyroid\n- Thyrohyoid\n\nThyroid cartilage (outer cortex, NOS)\nThyroid gland\nTrachea", "VALUE:D" ], [ "700", "Carotid artery (encased)\nMediastinal structure(s)\nPrevertebral space\n\nFurther contiguous extension", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_baw.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_baw.json deleted file mode 100644 index a959c2215..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_baw.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_baw", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Impaired vocal cord mobility** \n* Impaired vocal cord mobility may be described as vocal cord paresis and may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord maybe described as immobility of the arytenoids noted on endoscopy, paralysis of the vocal cords, or deviation of larynx to the fixed side.\n\n**Note 2:** **Localized tumor** \n* Code 100 for localized tumor only if no information is available to identify further extension.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Patel, S.G., Lydiatt, W.M., Shah, J.P., et al. **Larynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:18.380Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Involvement adjacent regions(s) of larynx\n- WITH normal or impaired mobility\n + Glottis \n + Supraglottis\n\nTumor limited to larynx with vocal cord fixation \n\nConfined to larynx, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Base of tongue\nHypopharynx, NOS\nParaglottic space\nPostcricoid area\nPre-epiglottic tissues\nPyriform sinus (pyriform fossa)\nThyroid cartilage (inner cortex) (minor erosion)\nVallecula", "VALUE:RE" ], [ "700", "Carotid artery (encased)\nCricoid cartilage \nEsophagus\nExtrinsic muscle(s) of tongue\n- Genioglossus\n- Geniohyoid\n- Hyoglossus\n- Mylohyoid\n- Palatoglossus\n- Styloglossus\n\nMediastinal structure(s)\nOropharynx, NOS \nPrevertebral space\n\nSkin\nSoft tissues of neck\nStrap muscle(s)\n- Omohyoid\n- Sternohyoid\n- Sternothyroid\n- Thyrohyoid\n\nThyroid cartilage (outer cortex, NOS)\nThyroid gland\nTrachea\n\nFurther contiguous extension", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bax.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bax.json deleted file mode 100644 index 8cf089696..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bax.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bax", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Extension to bone** \n* Involvement of or extension to bone includes any type of tumor extension to the bone, such as erosion, invasion, extension, penetration, or destruction.\n\n**Note 2:** **Base of skull involvement** \n* Code 400 for base of skull, NOS when there is no information available for more specific bony structures in the skull.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Kraus, D.H., Lydiatt, W.M., Shah, J.P., et al. **Nasal Cavity and Paranasal Sinuses**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:14.999Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Confined to \n- Mucosa of maxillary sinus (antrum) \n- WITHOUT erosion or destruction of bone\n\nConfined to maxillary sinus, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Hard palate\nMiddle nasal meatus\nNasal cavity\n- Floor\n- Lateral wall\n- Septum\n- Turbinates\n\nPalatine bone", "VALUE:RE" ], [ "300", "Bone of posterior wall of maxillary sinus\nEthmoid sinuses (anterior, posterior, NOS)\nFloor or medial wall of orbit\nFloor or posterior wall of maxillary sinus\nMaxilla, NOS\nPterygoid fossa\nSubcutaneous tissues", "VALUE:RE" ], [ "400", "Anterior orbital contents\nBase of skull, NOS\nCribriform plate\nFrontal sinus\nInfratemporal fossa\nOrbital contents including eye\nPterygoid plates\nSkin of cheek\nSphenoid sinus", "VALUE:RE" ], [ "600", "Brain\nClivus\nCranial nerves (other than V2, maxillary division of trigeminal nerve)\nDura\nMiddle cranial fossa\nNasopharynx\nOrbital apex\nPterygomaxillary fossa\nTemporal fossa\nSoft palate", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbb.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbb.json deleted file mode 100644 index 3c05b8650..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbb.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bbb", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Wall of the Esophagus** \n* The wall of the esophagus has five layers: mucosal (code 100), submucosal (code 150), muscular (code 250), subserosal (code 300) and serosal (code 400). \n * The three layers of the mucosa (epithelium, lamina propria, and muscularis mucosae) may be called the m1, m2, and m3 layers. The submucosa may be described as having inner, middle, and outer thirds called sm1, sm2, and sm3.\n\n**Note 2:** **High grade dysplasia** \n* Non-invasive carcinomas in the esophagus formerly called in situ are now called high grade dysplasia. \n* High grade dysplasia and severe dysplasia are generally not reportable in cancer registries. \n * Code 000 if your registry collects these tumors\n\n**Note 3:** **Intraluminal extension** \n* Ignore intraluminal extension to adjacent segment(s) of esophagus or to cardia of stomach and code depth of invasion or extra-esophageal spread as indicated.\n\n**Note 4:** **Through the muscularis propria** \n* If the tumor's extension is only described by a phrase like \"through the muscularis propria\", this could mean that the cancer has penetrated the outermost muscle cells but not beyond (code 250); but usually \"through the muscularis\" or \"through the esophageal wall\" is used to indicate that the cancer extends beyond the muscle and into adjacent tissue (code 300).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rice, T.W., Kelsen, D., Hofstetter, W.L., et al. **Esophagus and Esophagogastric Junction**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:35.414Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, non-invasive, high-grade dysplasia\n(Adeno)carcinoma, noninvasive, in a polyp", "VALUE:IS" ], [ "100", "Intramucosal, NOS\nLamina propria\nMucosa, NOS\nMuscularis mucosae", "VALUE:L" ], [ "150", "Submucosa (superficial invasion)", "VALUE:L" ], [ "200", "Confined to esophagus, NOS\n\nLocalized, NOS", "VALUE:L" ], [ "250", "Muscularis propria", "VALUE:L" ], [ "300", "Extension through wall, NOS \nInvasion through muscularis propria or muscularis, NOS\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded", "VALUE:L" ], [ "350", "Adventitia and/or soft tissue invaded\nEsophagus is described as \"FIXED\"\n\nExtension to adjacent (connective) tissue \nWITHOUT perforation of visceral peritoneum covering these structures\nGastric artery\nLigaments\n- Gastrocolic\n- Gastrohepatic\n- Gastrosplenic\n- Omentum (greater, lesser, NOS)\n\nPerigastric fat", "VALUE:RE" ], [ "400", "All subsites\n- Azygos vein\n- Diaphragm (excluding abdominal/lower esophagus, see code 500)\n- Mesothelium\n- Pericardium (excluding thoracic/middle esophagus, see code 500)\n- Peritoneum, NOS\n- Pleura (excluding cervical/upper esophagus, see code 500)\n- Serosa (invasion of/or through)\n- Tunica serosa\n- Visceral peritoneum (including perforation)\n\nCervical esophagus\n- Hypopharynx\n- Jugular vein\n- Larynx\n- Thyroid gland \n\nIntrathoracic esophagus, lower portion (abdominal)\n- Blood vessel(s), major\n + Gastric artery/vein\n- Stomach, cardia (via serosa)", "VALUE:RE" ], [ "500", "Abdominal/lower esophagus\n- Diaphragm fixed \n\nCervical/upper esophagus\n- Pleura \n\nThoracic/middle esophagus\n- Pericardium\n\nEsophagus GE Junction \n- Abdominal wall\n- Adrenal (suprarenal) gland\n- Kidney\n- Retroperitoneum", "VALUE:D" ], [ "600", "All subsites\n- Adjacent structure(s), NOS\n- Aorta \n\nCervical esophagus\n- Blood vessel(s)\n + Carotid artery \n + Subclavian artery\n- Carina \n- Cervical vertebra(e) \n- Trachea \n\nIntrathoracic, upper or mid-portion, esophagus\n- Blood vessel(s), major\n + Pulmonary artery/vein \n + Vena cava \n- Carina \n- Trachea\n\nIntrathoracic, lower portion (abdominal), esophagus\n- Blood vessel(s)\n + Vena cava \n\nIntrathoracic esophagus (all portions)\n- Adjacent rib(s) \n- Lung via bronchus\n- Mediastinal structure(s), NOS \n- Thoracic vertebra(e)\n\nEsophagus GE Junction\n- Liver\n- Pancreas\n- Small intestine (duodenum [via serosa], ileum, jejunum)\n- Spleen\n- Transverse colon (including flexures)", "VALUE:RE" ], [ "700", "Codes (500) + (600)\n\nAll subsites\n- Airway\n- Vertebral body\n\nCervical/upper esophagus\n- Lung\n- Mainstem bronchus\n\nEsophagus GE Junction\n- Trachea\n\nStated as unresectable, NOS\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbc.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbc.json deleted file mode 100644 index cbf40752c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbc.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bbc", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Intrahepatic vascular invasion** \n* Intrahepatic vascular invasion is used synonymously with vascular invasion for tumors in codes 100-500 and includes gross and microscopic involvement (microvascular invasion) of vessels. \n\n**Note 2:** **Multiple tumors** \n* Multiple tumors include satellitosis, multifocal tumors, and intrahepatic metastasis.\n\n**Note 3:** **Segments of the Liver** \n* The liver is divided into several lobes as defined below. If multiple lobes (such as the Caudate lobe and the Left Lobe) are involved, see codes 300-500. \n* If multiple segments (such as 5 and 6 in the right lobe) in the same lobe are involved, this would be multiple tumors within one lobe (code 200)\n * Caudate lobe: Segment 1\n * Quadrate lobe: Segment 4b\n * Left lobe: Segments 2, 3, 4a\n * Right lobe: Segments 5, 6, 7, 8", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Abou-Alfa, G.K., Pawlik, T.M., Vauthey, J.N., et al. **Liver**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:17.907Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "Intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Any size tumor\n- Single lesion (one lobe) \n + WITHOUT or UNKNOWN vascular invasion \n\nConfined to liver, NOS\nLocalized, NOS", "VALUE:L" ], [ "150", "Code 100 WITH vascular invasion", "VALUE:L" ], [ "200", "Multiple (satellite) nodules/tumors confined to one lobe\n- WITH or WITHOUT vascular invasion", "VALUE:L" ], [ "300", "Any size tumor\n- More than one lobe involved by contiguous growth (single lesion)\n + WITHOUT or UNKNOWN vascular invasion", "VALUE:RE" ], [ "400", "Code 300 WITH vascular invasion", "VALUE:RE" ], [ "500", "Multiple (satellite) nodules/tumors in more than one lobe of liver or on surface of parenchyma\n- WITH or WITHOUT vascular invasion", "VALUE:RE" ], [ "600", "Diaphragm\nExtrahepatic bile duct(s)\nExtrahepatic blood vessel(s)\n- Hepatic artery\n- Portal vein\n- Vena cava\n\nGallbladder\nLigament(s)\n- Coronary\n- Falciform\n- Hepatoduodenal\n- Hepatogastric\n- Round (of liver)\n- Triangular\n\nOmentum (lesser and NOS) (See code 700 for greater omentum)\nPeritoneum, NOS\n- Parietal \n- Visceral\n\nMajor vascular invasion, NOS", "VALUE:RE" ], [ "700", "Greater omentum (see code 600 for lesser omentum and omentum, NOS)\nPancreas\nPleura\nStomach\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown, extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbd.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbd.json deleted file mode 100644 index 0814ff9cf..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbd.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bbd", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Zhu, A.X., Pawlik, T.M., Vauthey, J.N., et al. **Gallbladder**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:39.460Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Invasive tumor confined to\n- Lamina propria\n- Mucosa, NOS\n- Submucosa (superficial invasion)", "VALUE:L" ], [ "200", "Muscularis propria (layer)", "VALUE:L" ], [ "300", "Confined to gallbladder, NOS\n\nLocalized, NOS", "VALUE:L" ], [ "400", "Perimuscular connective tissue (peritoneal side)\n- WITHOUT involvement of serosa (visceral peritoneum)\n\nPeritoneal side of gallbladder", "VALUE:RE" ], [ "450", "Perimuscular connective tissue (hepatic side)\n- WITH no extension into liver\n\nHepatic side of gallbladder", "VALUE:RE" ], [ "500", "Perimuscular tissue, NOS\n- UNKNOWN if liver involved", "VALUE:RE" ], [ "550", "Ampulla of Vater\nBranch(es) of hepatic artery (right or left) \nBranch(es) of portal vein (right or left)\nDuodenum\nExtrahepatic bile duct(s)\nLiver, less than or equal to 2 cm OR distance not stated\nOmentum (greater, lesser, NOS)\nPancreas\nSerosa (visceral peritoneum)\nSmall intestine, NOS", "VALUE:RE" ], [ "600", "Abdominal wall\nColon\nCystic artery/vein\nDiaphragm\nLiver, greater than 2 cm\nStomach", "VALUE:D" ], [ "700", "Hepatic artery (common, NOS)\nPortal vein (main, NOS)\n\nTwo or more extrahepatic organs or structures\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbe.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbe.json deleted file mode 100644 index 1228aaee0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbe.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bbe", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **High grade dysplasia** \n* High grade dysplasia and severe dysplasia of the small intestine are generally not reportable in cancer registries.\n * Code 000 if your registry collects these tumors\n\n**Note 2:** **Depth of invasion** \n* Code depth of invasion in preference to intraluminal spread or lateral extension to adjacent segment(s) of small intestine or cecum.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Coit, D.G., Kelsen, D., Hofstetter, W.L., et al. **Small Intestine**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:40.869Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive\n(Adeno)carcinoma, noninvasive, in a polyp or adenoma", "VALUE:IS" ], [ "100", "Intramucosa, NOS\nLamina propria\nMucosa, NOS\nMuscularis mucosae", "VALUE:L" ], [ "200", "Submucosa (superficial invasion)", "VALUE:L" ], [ "250", "Confined to polyp (head, stalk, NOS)\nIntraluminal spread to other segments of small intestine or cecum\n\nConfined to small intestine, NOS\nLocalized, NOS", "VALUE:L" ], [ "300", "Muscularis propria", "VALUE:L" ], [ "400", "Extension through wall, NOS\nSubserosal tissue/(sub)serosal fat invaded\nThrough muscularis propria or muscularis, NOS\nTransmural, NOS\nWall, NOS", "VALUE:L" ], [ "500", "Adjacent (connective) tissue(s), NOS (without serosal penetration)\nFat, NOS\nMesenteric fat\nMesentery (adjacent loops of bowel)\nNonperitonealized perimuscular tissue\nRetroperitoneum", "VALUE:RE" ], [ "600", "Abdominal wall (via serosa)\nAdjacent organ(s)/structure(s)\nMesothelium\nOther loops of small intestine\nOther segments of small intestine (via serosa)\nSerosa\nTunica serosa\nVisceral peritoneum\n\nDuodenum (C170)\n- Ampulla of Vater \n- Blood vessel(s), major\n + Aorta\n + Gastroduodenal artery\n + Portal vein\n + Renal vein\n + Superior mesenteric artery or vein\n + Vena cava\n- Diaphragm\n- Extrahepatic bile duct(s)\n- Gallbladder\n- Hepatic flexure\n- Kidney (right or NOS)\n- Liver (quadrate lobe, right lobe or NOS)\n- Omentum\n- Pancreas (pancreatic duct)\n- Stomach\n- Transverse colon\n- Ureter, right\n\nJejunum and Ileum (C171, C172)\n- Colon including appendix", "VALUE:RE" ], [ "700", "Jejunum and Ileum (C171, C172)\n- Bladder\n- Fallopian tube(s)\n- Ovary(ies)\n- Uterus\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbi.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbi.json deleted file mode 100644 index 4e6524644..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbi.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bbi", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **FIGO and extension information** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to code primary tumor in preference to a statement of FIGO stage.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Gibb, R.K., Olawaiye, A.B., Mutch, D.G., et al. **Vulva**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:01.232Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, preinvasive, noninvasive \nBowen disease", "VALUE:IS" ], [ "100", "Vulva only stromal invasion less than or equal to 1 mm \n - UNKNOWN or NO perineum involvement\n\nInvasive carcinoma confined to\n- Musculature\n- Submucosa\n- Vulva including skin\n\nFIGO Stage IA", "VALUE:L" ], [ "150", "Vulva only stromal invasion not known\n - UNKNOWN or NO perineum involvement\n\nConfined to vulva, NOS\nLocalized, NOS\n\nFIGO Stage I [NOS]", "VALUE:L" ], [ "200", "Vulva and perineum stromal invasion less than or equal to 1 mm", "VALUE:RE" ], [ "250", "Vulva and perineum stromal invasion not known", "VALUE:RE" ], [ "300", "Vulva only stromal invasion greater than 1 mm\n - UNKNOWN or NO perineum involvement\n\nConfined to\n- Musculature\n- Submucosa\n- Vulva including skin\n\nFIGO Stage IB", "VALUE:L" ], [ "400", "Vulva and perineum only stromal invasion greater than 1 mm", "VALUE:RE" ], [ "500", "Adjacent perineal structures\n- Lower/distal third of urethra\n- Lower/distal third of vagina\n\nAnus\nPerianal skin\nUrethra, NOS \nVagina, NOS\n\nFIGO Stage II", "VALUE:RE" ], [ "600", "Bladder wall or bladder, NOS excluding mucosa\nRectal wall or rectum, NOS excluding mucosa\nVagina\n - Upper/proximal two-thirds", "VALUE:RE" ], [ "700", "Bladder mucosa\nFixed to pubic bone (pelvic bone)\nPerineal body\nRectal mucosa\nUrethra:\n - Upper/proximal two-thirds\n\nFurther contiguous extension\n\nFIGO Stage IVA based on extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbj.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbj.json deleted file mode 100644 index 8b368b6d6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbj.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bbj", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Conway, R.M., Finger, P.T., et al. **Conjunctival Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:06.594Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive\n* CIN III (conjunctival intraepithelial neoplasia III)\n* SIN III (squamous intraepithelial neoplasia III)", "VALUE:IS" ], [ "100", "Tumor confined to one subsite of conjunctiva\n- Bulbar conjunctiva\n- Forniceal conjunctiva\n- Palpebral conjunctiva\n- Tarsal conjunctiva\n\nTumor confined to conjunctiva, NOS\n- WITHOUT invasion of adjacent structures\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Cornea (3, 6, 9, or 12 o'clock hours)\n* Intraocular compartments\n* Intraocular extension", "VALUE:L" ], [ "300", "More than one subsite of conjunctiva involved\n\nAdjacent extraocular extension, excluding orbit\n- Anterior eyelid lamella \n- Caruncle \n- Eyelid margin (lower and/or upper)\n- Lacrimal punctum and canaliculi (lower and/or upper)\n- Plica\n- Posterior eyelid lamella", "VALUE:RE" ], [ "400", "Orbital soft tissues WITHOUT bone invasion", "VALUE:RE" ], [ "500", "Bone\nBone of orbit", "VALUE:RE" ], [ "600", "Adjacent paranasal sinuses", "VALUE:RE" ], [ "650", "Brain\nSinus\n\nFurther contiguous extension", "VALUE:RE" ], [ "700", "Orbit, NOS", "VALUE:RE" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbk.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbk.json deleted file mode 100644 index df92deee6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbk.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bbk", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **FIGO and extension information** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to code primary tumor in preference to a statement of FIGO stage.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Erickson, B.A., Olawaiye, A.B., Mutch, D.G., et al. **Cervix Uteri**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:19.908Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive, preinvasive\nCancer in situ WITH endocervical gland involvement\n\nCervical intraepithelial neoplasia (CIN) Grade III", "VALUE:IS" ], [ "100", "Measured stromal invasion 3.0 mm or less\nAND horizontal spread of 7.0 mm or less\n\nFIGO Stage IA1", "VALUE:L" ], [ "150", "Measured stromal invasion 3.1 mm to 5.0 mm\nAND horizontal spread of 7.0 mm or less\n\nFIGO Stage IA2", "VALUE:L" ], [ "200", "Stromal invasion 5.0 mm or less measured from the base of the epithelium \nAND horizontal spread of 7.0 mm or less\n\nFIGO Stage IA [NOS]", "VALUE:L" ], [ "250", "Clinically visible lesion (macroscopic), including superficial invasion\n\nFIGO Stage IB1, IB2", "VALUE:L" ], [ "300", "Confined to cervix uteri or uterus, NOS\n* Except corpus uteri, NOS (see code 350)\n* Not clinically visible or unknown if clinically visible\n\nLocalized, NOS\n\nFIGO Stage IB [NOS]", "VALUE:L" ], [ "350", "Corpus uteri, NOS \n* Confined to corpus uteri\n* Size, depth and horizontal spread unknown\n\nFIGO Stage I [NOS]", "VALUE:RE" ], [ "400", "Any size tumor WITHOUT parametrial (paracervical soft tissue) invasion\n- Cul de sac (rectouterine pouch)\n- Upper two-thirds of vagina including fornices\n- Vagina, NOS\n- Vaginal wall, NOS", "VALUE:RE" ], [ "450", "Ligament(s) (broad, cardinal, uterosacral)\nParametrial (paracervical soft tissue) invasion\n\nFIGO Stage IIB", "VALUE:RE" ], [ "500", "Invasion beyond uterus, NOS\n\nFIGO Stage II [NOS]", "VALUE:RE" ], [ "550", "Bladder wall\nBladder, NOS excluding mucosa\nBullous edema of bladder mucosa\nLower third of vagina\nRectal wall\nRectum, NOS excluding mucosa\nUreter, intra- and extramural\nVagina, lower third (not extending to pelvic wall)\nVulva\n\nFIGO Stage IIIA", "VALUE:RE" ], [ "600", "Described clinically as frozen pelvis\nHydronephrosis or nonfunctioning kidney\nPelvic wall(s) involvement\n\nFIGO Stage IIIB", "VALUE:RE" ], [ "700", "Fallopian tube(s)\nOvary(ies)\nUrethra\n\nFIGO Stage III [NOS]", "VALUE:RE" ], [ "750", "Bladder mucosa (for bullous edema of bladder mucosa, see code 550)\nRectal mucosa\nSigmoid colon\nSmall intestine\n\nFIGO Stage IVA\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbl.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbl.json deleted file mode 100644 index aa5c4ecb9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbl.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bbl", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **FIGO and extension information** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to code primary tumor in preference to a statement of FIGO stage.\n\n**Note 2:** **EID and SEIC** \n* Code 050 is for the following in situ histologies (behavior /2) only\n - Endometrial intraepithelial carcinoma (EID) (8380/2)\n - Serous endometrial intraepithelial carcinoma (SEIC) (8441/2)", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Powell, M.A., Olawaiye, A.B., Mutch, D.G., et al. **Corpus Uteri - Carcinoma and Carcinosarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:03.873Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive, preinvasive\nEndometrial intraepithelial neoplasia (EIN) (8380/2)", "VALUE:IS" ], [ "050", "Endometrial intraepithelial carcinoma (EIC) (8380/2)\nSerous endometrial intraepithelial carcinoma (SEIC) (8441/2)", "VALUE:IS" ], [ "100", "Confined to endometrium (stroma)\n* Invasion of inner half of myometrium\n\nFIGO Stage IA", "JUMP:peritoneal_cytology_with_primary_tumor_for_ss2018_t_66387" ], [ "150", "Code 100 + Endocervical glandular involvement", "VALUE:RE" ], [ "200", "Invasion of outer half of myometrium\n\nFIGO Stage IB", "JUMP:peritoneal_cytology_with_primary_tumor_for_ss2018_t_66387" ], [ "250", "Code 200 + Endocervical glandular involvement", "VALUE:RE" ], [ "300", "Invasion of myometrium, NOS\nInvasive cancer confined to corpus uteri\nLocalized, NOS\n\nFIGO Stage I [NOS]", "JUMP:peritoneal_cytology_with_primary_tumor_for_ss2018_t_66387" ], [ "400", "Code 300 + Endocervical glandular involvement", "VALUE:RE" ], [ "500", "Cervical stroma \nCervix uteri, NOS\n\nTumor invading the stromal connective tissue of the cervix but not extending beyond the uterus\n\nFIGO Stage II", "VALUE:RE" ], [ "550", "Adnexa (direct extension or metastasis)\n- Fallopian tube(s)\n- Ovary(ies)\n\nSerosa, NOS\nTunica serosa (visceral peritoneum of corpus, serosa covering the corpus) \nTunica serosa of corpus\n\nFIGO Stage IIIA", "VALUE:RE" ], [ "600", "Bladder, NOS (excluding mucosa)\nLigaments (broad, round, uterosacral)\nParametrium, NOS\nParietal serosa of pelvic wall\nPelvic wall(s)\nRectal wall\nRectum, NOS excluding mucosa\nUreter\nVagina (direct extension or metastasis) \nVisceral peritoneum of pelvic organs excluding serosa of corpus\nVulva\n\nDescribed clinically as \"frozen pelvis\", NOS\n\nFIGO Stage IIIB", "VALUE:RE" ], [ "650", "FIGO Stage III [NOS]", "VALUE:RE" ], [ "700", "Infiltration of abdominal tissues, one of the following sites\n* Abdominal serosa (visceral or parietal peritoneum of abdomen)\n* Abdominal structures (other, NOS)\n* Abdominal tissue (infiltration) \n* Bladder mucosa (excluding bullous edema)\n* Bowel mucosal\n* Cul de sac (rectouterine pouch or Pouch of Douglas)\n* Sigmoid colon\n* Small intestine\n\nFurther contiguous extension\n\nFIGO Stage IVA", "VALUE:D" ], [ "750", "FIGO Stage IV [NOS]", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbm.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbm.json deleted file mode 100644 index 313aa8611..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbm.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bbm", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **FIGO and extension information** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to code primary tumor in preference to a statement of FIGO stage.\n\n**Note 2:** **Genital metastasis** \n* Genital metastasis (vagina, ovary, broad ligament, fallopian tube) is coded to 700. \n* Any involvement of non-genital structures, whether by direct invasion or metastasis is coded in EOD Mets.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Chen, L., Olawaiye, A.B., Mutch, D.G., et al. **Gestational Trophoblastic Neoplasms**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:14.173Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Confined to placenta\n\nLocalized, NOS\n\nFIGO Stage I", "VALUE:L" ], [ "200", "Cervix\nCorpus uteri\nUterus, NOS", "VALUE:RE" ], [ "300", "Adjacent connective tissue, NOS\n\nOther genital structure(s) by DIRECT EXTENSION or NOS\n- Broad ligament(s)\n- Fallopian tube(s)\n- Genital structure(s), NOS\n- Ovary(ies)\n- Vagina\n\nFIGO Stage II", "VALUE:RE" ], [ "700", "Other genital structure(s) by METASTASIS\n- Broad ligament(s) \n- Cervix uteri\n- Corpus uteri\n- Fallopian tube(s)\n- Genital structure(s), NOS\n- Ovary(ies)\n- Uterus, NOS\n- Vagina\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbn.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbn.json deleted file mode 100644 index 068679c8c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbn.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bbn", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Multifocal tumors** \n* In case of multifocal papillary noninvasive tumors (code 000) and nonpapillary in situ tumors (code 050), code 050.\n\n**Note 2:** **Involvement of both renal pelvis and ureter** \n* Tumor involving both renal pelvis and ureter (unifocal or multifocal) is classified by the depth of greatest invasion in either organ. \n\n**Note 3:** **Ureter tumor with bladder invasion** \n* Direct invasion of the bladder by a ureteral tumor is classified by the depth of greatest invasion of the bladder or ureter.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) McKiernan, J.M., Hansel, D.E., Stadler, W.M., et al. **Renal Pelvis and Ureter**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:49.031Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "Papillary (8130/2, 8131/2, other histologies, see code 050)\n- Non-infiltrating or non-invasive papillary transitional cell carcinoma\n- Non-infiltrating or non-invasive papillary urothelial carcinoma\n- Papillary transitional cell carcinoma, with inferred description of non-invasion\n- Papillary urothelial carcinoma, with inferred description of non-invasion", "VALUE:IS" ], [ "050", "Nonpapillary \n- Carcinoma in situ, NOS \n- Sessile (flat) (solid) carcinoma in situ \n- Transitional cell carcinoma in situ\n- Urothelial carcinoma (in situ, non-infiltrating, non-invasive)\n\nMultifocal papillary and nonpapillary non-invasive tumors (see Note 1)", "VALUE:IS" ], [ "100", "Subepithelial connective tissue (lamina propria, submucosa) of renal pelvis only OR\nSubepithelial connective tissue (lamina propria, submucosa) of ureter only\n\nConfined to renal pelvis, NOS\nConfined to ureter, NOS\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Renal pelvis and ureter (unifocal or multifocal)\n- Subepithelial connective tissue\n + Renal pelvis from ureter\n + Ureter from renal pelvis\n + Distal ureter from proximal ureter\n\nExtension to bladder from ureter\n- Subepithelial connective tissue of distal ureter and/or bladder", "VALUE:RE" ], [ "300", "Muscularis of renal pelvis only OR\nMuscularis of ureter only", "VALUE:L" ], [ "400", "Code 200 + 300\n\nRenal pelvis and ureter (unifocal or multifocal)\n- Muscularis\n + Distal ureter from proximal ureter \n + Renal pelvis from ureter\n + Ureter from renal pelvis\n\nExtension to bladder from ureter\n- Muscularis of distal ureter and/or bladder", "VALUE:RE" ], [ "500", "Extension to/Invasion of beyond muscularis into\n- Peripelvic fat (renal pelvis)\n- Periureteric fat (ureter)\n- Retroperitoneal soft/connective tissue\n\nFor renal pelvis only\n- Ipsilateral kidney parenchyma and kidney, NOS", "VALUE:RE" ], [ "600", "Extension to/Invasion of\n* Duodenum (from right renal pelvis or right ureter)\n* Ipsilateral adrenal (suprarenal) gland \n* Major blood vessel(s)\n - Aorta\n - Renal artery/vein\n - Vena cava (inferior)\n* Psoas muscle (ureter)\n* Tumor thrombus in a renal vein, NOS", "VALUE:RE" ], [ "700", "Extension to/Invasion of\n* Ascending colon (from right renal pelvis or right ureter)\n* Bladder (wall or mucosa) from renal pelvis\n* Colon, NOS\n* Descending colon (from right renal pelvis or right ureter)\n* Ipsilateral kidney parenchyma from ureter\n* Liver (from right renal pelvis or right ureter)\n* Pancreas\n* Perirenal (perinephric) fat (via kidney)\n* Prostate (ureter)\n* Spleen (from left renal pelvis or left ureter)\n* Uterus (ureter)\n\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbo.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbo.json deleted file mode 100644 index bad58ce6c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbo.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bbo", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Clinical extension only** \n* For this schema, the EOD Primary Tumor field captures a clinical extent of disease only. \n* The guidelines for assigning Clinical Extension for AJCC and EOD are different. \n * Per AJCC, a digital rectal exam (DRE) is required to assign a clinical T (cT). \n * For EOD, a code can be assigned if there is no DRE information. (See Note 7). \n\n**Note 2:** **Information from radical prostatectomy and autopsy** \nRecord information from radical prostatectomy and autopsy in EOD Prostate Pathologic Extension\n * ***Note:*** A simple prostatectomy (Surgery code 30) does not qualify for a radical prostatectomy. Results from a simple prostatectomy are recorded in EOD Primary Tumor \n\n**Note 3:** **Do not use Imaging** \n* Imaging is **not** used to determine the clinical extension. \n* If a physician incorporates imaging findings into their evaluation (including the clinical T category), **do not** use this information. \n* If it cannot be determined if the physician is using imaging, assume they are not and code the clinical extension based on the physician’s statement\n\n**Note 4:** **TURP only cases** \n* Codes 100, 110, or 150 are used when there is a TURP only during the clinical workup and there was no clinically apparent tumor (DRE negative or unknown) (See Note 6 if positive DRE). \n* Code 150 if only a TURP is done, and the percentage of cells is not noted in the pathology report\n\n**Note 5:** **Clinically inapparent (DRE negative)** \n* Code 120 when the tumor is clinically inapparent (DRE negative). \n * Do not use this code when there is no information about the DRE results (see Note 7 for code 300).\n* **Clinically inapparent tumors** are not palpable. \n * Physician documentation of a DRE that does not mention a palpable “tumor”, “mass”, or “nodule” can be inferred as inapparent. This would include DRE findings of only benign prostate enlargement/hypertrophy\n * Do not use ICD-10-CM code R97.20 (Elevated prostate specific antigen [PSA]) alone to code 120\n\n**Note 6:** **Clinically apparent tumors (DRE positive(** \n* Codes 200-250 are for clinically apparent tumors (DRE positive).\n * **Clinically apparent tumors** are palpable. If a clinician documents a “tumor”, “mass”, or “nodule” by physical examination, this can be inferred as apparent\n* Do not infer inapparent or apparent tumor based on the registrar’s interpretation of other terms \n\n**Note 7:** **Localized cancers** \n* Code 300 for localized cancers when the DRE result is not documented, or DRE not done and there is no clinical evidence of extraprostatic extension, or the physician incorporates imaging findings into their evaluation\n * ***Example 1:*** Patient with elevated PSA and positive needle core biopsy, but no documentation regarding tumor apparency (inapparent versus apparent), and there is no evidence of extraprostatic extension \n * ***Example 2:*** Pathology report from a needle core biopsy done confirming cancer. No information on PSA, DRE or physician statement regarding clinical extension\n * Applies to \"path only\" cases \n * This instruction is only for prostate. Do not apply this instruction to any other primary site\n * ***Example 3:*** Pathology report from a needle core biopsy done confirming cancer. No information on PSA, DRE or physician statement regarding clinical extension. Physician states imaging shows extraprostatic extension and assigns cT3a\n\n**Note 8:** **Extraprostatic extension** \n* Codes 350-700 are for when there is positive extraprostatic extension, which can be determined by DRE, clinical exam, or needle core biopsy\n * If a needle core biopsy confirms extraprostatic extension, that information can be used for EOD\n\n**Note 9:** **No DRE information** \n* If there is no information from the DRE, or the terminology used is not documented in Note 5, but the physician assigns a clinical extent of disease, the registrar can use that. \n * ***Example:*** DRE reveals prostate is “firm.” Physician states the patient as a cT2a.\nThe T2a can be used in the physician has documented this. Code 200\n * ***Exception:*** If the physician is clearly using imaging findings to determine clinical stage or extension of disease, do not use this information and code as 300 (Localized, NOS) (See Note 7)\n\n**Note 10:** **Involvement of prostatic urethra** \n* Involvement of the prostatic urethra does not alter the EOD code. * Extraprostatic urethra involved is captured in code 600.\n\n**Note 11:** **Frozen pelvis** \n* “Frozen pelvis” is a clinical term which means tumor extends to pelvic sidewall(s). In the absence of a more detailed statement of involvement, assign a description of frozen pelvis to code 700.\n\n**Note 12:** **Incidental finding of prostate cancer** \n* Code 800 when an incidental finding of prostate cancer is found during a prostatectomy performed for other reasons (i.e., prostate cancer not suspected). \n * ***Example 1:*** Cystoprostatectomy done for bladder cancer and prostate cancer found incidentally\n * ***Example 2:*** Patient found to have prostate cancer during autopsy\n \n**Note 13:** **Unknown clinical extension** \n* Code 999 when there is no documentation regarding a prostate evaluation (PSA, physical exam or physician’s statement) prior to prostatectomy/autopsy.\n * ***Example:*** Patient presents for prostatectomy for known prostate cancer. No information on clinical evaluation", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Buyyounouski, M.K., Lin, D.W., et al. **Prostate**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:50.679Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: noninvasive; intraepithelial", "VALUE:IS" ], [ "100", "Incidental histologic finding (for example, on TURP)\n* In 5 percent or less of tissue resected \n* Clinically inapparent", "VALUE:L" ], [ "110", "Incidental histologic finding (for example, on TURP)\n* In more than 5 percent of tissue resected \n* Clinically inapparent", "VALUE:L" ], [ "120", "Tumor identified by needle biopsy \n* Clinically inapparent/not palpable\n- *Example* - for elevated PSA", "VALUE:L" ], [ "150", "Incidental histologic finding (for example, on TURP)\n* Number of foci or percent of involved tissue not specified \n* Clinically inapparent/not palpable", "VALUE:L" ], [ "200", "Involves one-half of one side or less \n* Clinically apparent/palpable", "VALUE:L" ], [ "210", "More than one-half of one side but not both sides\n* Clinically apparent/palpable", "VALUE:L" ], [ "220", "Involves both lobes/sides\n* Clinically apparent/palpable", "VALUE:L" ], [ "250", "Confined to prostate, unknown lobe involvement\n* Clinically apparent/palpable", "VALUE:L" ], [ "300", "Localized, NOS\n* Not known if clinically apparent or inapparent", "VALUE:L" ], [ "350", "Bladder neck, microscopic invasion\n\nExtraprostatic extension \n* Beyond prostatic capsule, unilateral, bilateral, or NOS\n- WITHOUT invasion of the seminal vesicles\n\nExtension to periprostatic tissue\n* WITHOUT invasion of the seminal vesicles", "VALUE:RE" ], [ "400", "Tumor invades seminal vesicle(s)", "VALUE:RE" ], [ "500", "Extraprostatic tumor that is not fixed \n- WITHOUT invasion of adjacent structures\n\nPeriprostatic extension, NOS, Extraprostatic extension, NOS\n* Unknown if seminal vesicle(s) involved\n\nThrough capsule, NOS", "VALUE:RE" ], [ "600", "Bladder neck \nBladder, NOS\nExternal sphincter\nExtraprostatic urethra (membranous urethra)\nFixation, NOS\nLevator muscles\nRectovesical (Denonvillier's) fascia\nRectum\nSkeletal muscle\nUreter(s)", "VALUE:RE" ], [ "700", "Extension to or fixation to pelvic wall or pelvic bone\n* \"Frozen pelvis\", NOS \n\nFurther contiguous extension including\n- Other organs\n- Penis\n- Sigmoid colon\n- Soft tissue other than periprostatic", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbp.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbp.json deleted file mode 100644 index 0ffae8544..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbp.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bbp", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Gerota's fascia** \n* Gerota's fascia is a fibrous tissue sheath surrounding the kidney and suprarenal or adrenal gland. The perirenal fat, renal capsule, and renal parenchyma lie below the fascia.\n\n**Note 2:** **Proximal convoluted tubule** \n* The most common site for renal parenchymal cancer to develop is in the proximal convoluted tubule. \n* Tumor extension from one of these structures into another is coded 100 and is dependent on size in the absence of further involvement.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rini, B.I., McKiernan, J.M., Stadler, W.M., et al. **Kidney**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:39.926Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Any size tumor\n* Invasion of renal capsule\n* Invasive cancer confined to kidney cortex and/or medulla\n\nConfined (limited) to the kidney, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Blood vessel(s) (major)\n- Extrarenal portion of renal vein or segmental (muscle containing branches)\n- Hilar blood vessel\n- Perirenal vein\n- Renal artery\n- Renal vein, NOS\n- Tumor thrombus in a renal vein, NOS\n\nInvasion of perirenal and/or renal sinus fat but not beyond Gerota's fascia\nPelvicalyceal system\nPerinephric tissue invasion WITHOUT extension beyond the Gerota's fascia\nRenal pelvis or calyces involved\nSeparate focus of tumor in renal pelvis/calyx", "VALUE:RE" ], [ "300", "Inferior vena cava (IVC) involvement below diaphragm", "VALUE:RE" ], [ "400", "Inferior vena cava (IVC) involvement above diaphragm OR invades wall of IVC", "VALUE:RE" ], [ "500", "Tumor extends into major veins\nNot beyond Gerota's fascia (see code 600)\n\nIVC, NOS", "VALUE:RE" ], [ "600", "Adrenal gland (ipsilateral) (contiguous involvement) (see EOD Mets for noncontiguous involvement)\n\nExtension beyond Gerota's fascia to\n- Ascending colon from right kidney\n- Beyond Gerota's fascia, NOS\n- Descending colon from left kidney\n- Diaphragm\n- Duodenum from right kidney\n- Peritoneum\n- Psoas muscle\n- Quadratus lumborum muscle\n- Retroperitoneal soft tissue\n- Tail of pancreas\n- Ureter (ipsilateral), including implant(s)", "VALUE:RE" ], [ "700", "Aorta\nLiver from right kidney\nRibs\nSpleen from left kidney\nStomach\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbr.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbr.json deleted file mode 100644 index 22a94f372..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbr.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bbr", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma - Unusual Histologies and Sites**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:10.633Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Any size tumor\n- Superficial tumor, NOS\n- Deep tumor, NOS \n- Confined to site of origin \n- Localized, NOS", "VALUE:L" ], [ "200", "Any size tumor\n- Superficial or deep tumor WITH involvement of \n + Adjacent (connective) tissue, NOS\n + Adjacent organ(s)/structure(s), NOS\n- Major vessel invasion", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbs.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbs.json deleted file mode 100644 index 93f748d1c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbs.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bbs", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Common histology** \n* Over 90% of penile cancers are squamous cell carcinomas arising in the skin. \n* Other cancers arising in the skin include adenocarcinomas (5%) arising in sweat glands, melanomas (2%, included in the Melanoma schema), and basal cell carcinoma (2%). About 1% of penile cancers are sarcomas, arising in subcutaneous connective tissues.\n\n**Note 2:** **Verrucous carcinoma** \n* If verrucous carcinoma (8051/3) is described as noninvasive or as having a broad pushing border or penetration, assign code 050. \n* If verrucous carcinoma is not so characterized, assign code 070, Verrucous carcinoma, NOS. \n* If there is destructive invasion of verrucous carcinoma into structures in code 100 or greater, assign the appropriate higher code.\n\n**Note 3:** **Limited to the penis** \n* Tumors limited to the penis (see codes 100, 200, 300) include\n * Dartos fascia (foreskin)\n * Dermis (foreskin)\n * Lamina propria (glans and foreskin)\n * Subepithelial connective tissue (shaft)", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pettaway, C.A., Srigley, J.R., Amin, M.B., et al. **Penis**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:48.573Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, noninvasive\nBowen disease\nCarcinoma in situ (Penile intraepithelial neoplasia III [PeIN III])\nErythroplasia of Queyrat", "VALUE:IS" ], [ "050", "Noninvasive localized squamous cell carcinoma\nNoninvasive verrucous carcinoma", "VALUE:IS" ], [ "070", "Verrucous carcinoma, NOS (ICD-O-3 code 8051/3 only)", "VALUE:L" ], [ "100", "Limited to penis\n- WITHOUT perineural and/or lymphovascular invasion\n- WITH low grade (i.e., grade 1-2) or UNKNOWN grade", "VALUE:L" ], [ "150", "Code 100 WITH high grade (i.e., grade 3 or sarcomatoid)", "VALUE:L" ], [ "200", "Limited to penis\n- WITH perineural and/or lymphovascular invasion\n- WITH or WITHOUT high grade (i.e., grade 3 or sarcomatoid)", "VALUE:L" ], [ "300", "Limited to penis\n- UNKNOWN perineural and/or lymphovascular invasion\n\nConfined to penis, NOS\nLocalized, NOS", "VALUE:L" ], [ "400", "Corpus spongiosum (including tunica albuginea) \n - WITHOUT urethral invasion or UNKNOWN if urethral invasion", "VALUE:RE" ], [ "450", "Code 400 WITH urethral invasion", "VALUE:RE" ], [ "500", "Corpus cavernosum (including tunica albuginea) \n - WITHOUT urethral invasion OR UNKNOWN if urethral invasion", "VALUE:RE" ], [ "550", "Code 500 WITH urethral invasion", "VALUE:RE" ], [ "600", "Muscle, NOS\n- Bulbospongiosus\n- Ischiocavernosus\n- Superficial transverse perineal\n\nProstate\nPubic bone\nScrotum\nSkin (abdominal, perineum)", "VALUE:RE" ], [ "700", "Further contiguous extension\n- Testis", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown extension\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbx.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbx.json deleted file mode 100644 index 21d2faa12..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bbx.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bbx", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Locally advanced, resectable tumor** \n* Code 500 describes locally advanced, but potentially resectable tumor.\n\n**Note 2:** **Locally advanced, unresectable tumor** \n* Codes 600 and 700 describes locally advanced, technically unresectable tumor.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rusch, V.W., et al. **Malignant Plural Mesothelioma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:32.379Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Ipsilateral parietal pleura with/without involvement of\n- Diaphragmatic pleura\n- Mediastinal pleura \n- Visceral pleura\n\nConfined to pleura (mesothelioma), NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Ipsilateral pleural surfaces all involved (diaphragmatic, parietal, mediastinal, and viscera)\n* WITHOUT further involvement", "VALUE:L" ], [ "300", "Ipsilateral pleural surfaces all involved (diaphragmatic, parietal, mediastinal, and viscera)\n* WITH involvement of at least one of the following \n - Confluent visceral pleural tumor (including any involvement of interlobar fissure) \n - Contiguous lung involvement, NOS\n - Diaphragm (Diaphragmatic muscle)\n - Lung parenchyma (direct extension)\n - Nodule(s) beneath visceral pleural surface (ipsilateral pleura)", "VALUE:RE" ], [ "500", "Ipsilateral pleural surfaces all involved (diaphragmatic, parietal, mediastinal, and viscera)\n* WITH involvement of at least one of the following \n - Adjacent (connective) tissue, NOS\n - Endothoracic fascia\n - Mediastinal fat (mediastinal tissues)\n - Pericardium, non-transmural or NOS\n - Solitary focus of tumor extending into the chest wall", "VALUE:RE" ], [ "600", "Ipsilateral pleural surfaces all involved (diaphragmatic, parietal, mediastinal, and viscera) \n* WITH involvement of at least one of the following \n - Chest wall (diffuse extension or multifocal masses of tumor)\n + WITH or WITHOUT associated rib destruction\n - Mediastinal organs (direct extension)\n - Pericardium (extension through to the internal surface without pericardial effusion)\n - Rib", "VALUE:RE" ], [ "700", "Ipsilateral pleural surfaces all involved (diaphragmatic, parietal, mediastinal, and viscera) \n* WITH involvement of at least one of the following \n - Brachial plexus\n - Cervical (neck) tissues\n - Contralateral pleura (direct contiguous extension)\n - Heart muscle\n - Intra-abdominal organs\n - Myocardium\n - Pericardium (direct extension through to the internal surface with pericardial effusion)\n - Peritoneum (direct transdiaphragmatic extension of tumor)\n - Spine\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcb.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcb.json deleted file mode 100644 index 04d7ee90f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcb.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bcb", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Flat and papillary bladder cancer**\n* The two main types of bladder cancer are the flat (sessile) variety and the papillary type. \n * The flat (sessile) variety is called in situ when tumor has not penetrated the basement membrane. \n * Papillary tumor that has not penetrated the basement membrane is called noninvasive.\n\n**Note 2:** **Noninvasive papillary transitional carcinoma** \n* Noninvasive papillary transitional carcinoma: Pathologists use many different descriptive terms for noninvasive papillary transitional cell carcinoma. \n* Frequently, the pathology report does not contain a definite statement of non-invasion; however, non-invasion can be inferred from the microscopic description. \n\n**Definite statements of non-invasion for papillary transitional cell carcinomas (Ta) include**\n- Noninfiltrating\n- Noninvasive\n- No evidence of invasion\n- No extension into lamina propria\n- No stromal invasion\n- No extension into underlying supporting tissue\n- Negative lamina propria and superficial muscle\n- Negative muscle and (subepithelial) connective tissue\n- No infiltrative behavior/component\n\n**Inferred descriptions of non-invasion for papillary transitional cell carcinomas include**\n- No involvement of muscularis propria and no mention of subepithelium/submucosa\n- No statement of invasion (microscopic description present)\n- (Underlying) Tissue insufficient to judge depth of invasion\n- No invasion of bladder wall\n- No involvement of muscularis propria\n- Benign deeper tissue\n- Microscopic description problematic (non-invasion versus superficial invasion)\n- Frond surfaced by transitional cell\n- No mural infiltration\n- No evidence of invasion (no sampled stroma)\n- Confined to mucosa \n\n**Note 3:** **Noninvasive (in situ) flat transitional cell carcinoma**\n* Noninvasive (in situ) flat transitional cell carcinoma: Careful attention must be given to the use of the term \"confined to mucosa\" for flat bladder carcinomas. \n* Historically, carcinomas described as \"confined to mucosa\" were coded as localized. However, pathologists use this designation for non-invasion as well. Pathologists also vary in their use of the terms \"invasion of mucosa, grade 1\" and \"invasion of mucosa, grade 2\" to distinguish between noninvasive and invasive carcinomas. In order to accurately code tumors described as \"confined to mucosa\", abstractors should determine \n - If the tumor is confined to the epithelium and is a non-invasive papillary carcinoma, code 000 \n - If the tumor is confined to the epithelium and is a non-invasive, non-papillary (i.e. transitional) tumor, code 050 \n - If the tumor has penetrated the basement membrane to invade the lamina propria: then it is invasive and coded to 100 for localized. The lamina propria and submucosa tend to merge when there is no muscularis mucosa, so these terms may be used interchangeably, along with stroma and subepithelial connective tissue. \n - If the distinction between involvement of the epithelium and lamina propria cannot be made, then the tumor should be coded as \"confined to mucosa, NOS\" (100).\n - Statements meaning confined to mucosa, NOS for flat transitional cell carcinomas include\n + Confined to mucosal surface\n + Limited to mucosa, no invasion of submucosa and muscularis\n + No infiltration/invasion of fibromuscular and muscular stroma\n + Superficial, NOS\n\n**Note 4:** **Multifocal noninvasive tumors** \n* In case of multifocal papillary noninvasive tumors (code 000) and nonpapillary in situ tumors (code 050), code 050\n\n**Note 5:** **Invasion of the muscularis propria**\n* Coding of the involvement of the muscularis propria is divided into superficial muscle (inner half) and deep muscle (outer half). This distinction can only be made when a cystectomy is done\n * If only a TURB is done and states “invasion of the muscularis propria,” code to 370\n * If there is “invasion of the muscularis propria” and the distal ureter is involved, code to 400\n * If there is a TURB only and the pathologist/physician documents superficial muscle or deep muscle, code to 370 or 400 as appropriate. \n* Codes 200, 250, 300, 350 should only be used when a cystectomy has been done\n\n**Note 6:** **Extension through full thickness of bladder wall**\n* Code 300 if the only description of extension is through full thickness of bladder wall, and there is no clear statement as to whether or not the cancer has extended into fat. \n\n**Note 7:** **In situ tumor with extension to prostate, ureter**\n* An associated in situ component of tumor extending into the prostatic ducts, prostatic glands, or ureter without invasion is disregarded in staging classification. \n * Assign the code that best describes depth of bladder wall invasion. \n\n**Note 8:** **Direct invasion of the ureter** \n* Direct invasion of the distal ureter is classified by the depth of greatest invasion in the bladder or ureter. \n * Code 100 if the distal ureter is defined as below the iliac vessel, within the pelvic brim is involved. \n\n**Note 9:** **Prostatic urethra** \n* Code 130 when there is extension from the bladder into the subepithelial tissue of prostatic urethra.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bochner, B.H., Hansel, D.E., Stadler, W.M., et al. **Urinary Bladder**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:38.544Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "Papillary (8130/2, 8131/2, other histologies, see code 050)\n- Non-infiltrating or non-invasive papillary transitional cell carcinoma\n- Non-infiltrating or non-invasive papillary urothelial carcinoma\n- Papillary transitional cell carcinoma, with inferred description of non-invasion\n- Papillary urothelial carcinoma, with inferred description of non-invasion", "VALUE:IS" ], [ "050", "Nonpapillary \n- Carcinoma in situ, NOS \n- Sessile (flat) (solid) carcinoma in situ \n- Transitional cell carcinoma in situ\n- Urothelial carcinoma (in situ, non-infiltrating, non-invasive)\n\nMultifocal papillary and nonpapillary non-invasive tumors (see Note 4)", "VALUE:IS" ], [ "100", "Confined to mucosa, NOS", "VALUE:L" ], [ "130", "Lamina propria\nStroma\nSubepithelial connective tissue \nSubmucosa\nSubserosa \nTunica propria", "VALUE:L" ], [ "150", "Localized, NOS", "VALUE:L" ], [ "170", "Extension to/Invasion of distal ureter\n- Subepithelial connective tissue of bladder and/or distal ureter", "VALUE:RE" ], [ "200", "**PATHOLOGICAL assessment only (requires a cystectomy)**\n\nMuscle (muscularis propria) of bladder only\n- Superficial muscle - inner half", "VALUE:L" ], [ "250", "**PATHOLOGICAL assessment only (requires a cystectomy)**\n\nExtension to distal ureter\n- Superficial muscle of bladder and/or distal ureter", "VALUE:RE" ], [ "300", "**PATHOLOGICAL assessment only (requires a cystectomy)**\n\nMuscle (muscularis propria) of bladder only\n- Deep muscle--outer half\n\nExtension through full thickness of bladder wall \nBUT still contained within bladder wall", "VALUE:L" ], [ "350", "**PATHOLOGICAL assessment only (requires a cystectomy)**\n\nExtension to distal ureter\n- Deep muscle or extension through wall of bladder and/or distal ureter", "VALUE:RE" ], [ "370", "Muscle (muscularis propria) invaded, NOS of bladder only", "VALUE:L" ], [ "400", "Extension to distal ureter\n- Muscle (muscularis propria) invaded, NOS of bladder and/or distal ureter", "VALUE:RE" ], [ "450", "Extension to perivesical fat/tissues (MICROSCOPIC) including \n- Adventitia\n - Distal periureteral tissue\n - Periprostatic tissue\n - Peritoneum\n - Serosa (mesothelium) (to/through)\n - Tunica serosa (to/through)", "VALUE:RE" ], [ "500", "Extravesical mass (Clinically or grossly apparent extravesical mass)\n\nExtension to perivesical fat/tissues (MACROSCOPIC) including\n- Adventitia\n- Distal periureteral tissue\n- Periprostatic tissue\n- Peritoneum\n- Serosa (mesothelium) (to/through)\n- Tunica serosa (to/through)", "VALUE:RE" ], [ "550", "Extension to perivesical fat/tissues, NOS (UNKNOWN if MICROSCOPIC or MACROSCOPIC), including\n- Adventitia\n- Distal periureteral tissue\n- Periprostatic tissue\n- Peritoneum\n- Serosa (mesothelium) (to/through)\n- Tunica serosa (to/through)", "VALUE:RE" ], [ "600", "Extravesical tumor with extension to \n- Parametrium\n- Prostate, NOS \n- Prostatic stroma\n- Rectovesical/Denonvilliers' fascia\n- Seminal vesicle\n- Ureter (excluding distal ureter)\n- Urethra (including prostatic urethra) \n- Uterus\n- Vagina\n- Vas deferens", "VALUE:RE" ], [ "650", "Extravesical tumor with extension to\n- Large intestine \n- Rectum (male)\n- Small intestine", "VALUE:D" ], [ "700", "Bladder is \"fixed\"", "VALUE:RE" ], [ "720", "Bladder is \"fixed\" with extension to structures in code 650 OR\n\nExtravesical tumor with extension to\n- Abdominal wall\n- Bone\n- Pelvic wall\n- Pubic bone\n- Rectum (female)\n\nFurther contiguous extension", "VALUE:D" ], [ "750", "Extravesical tumor, NOS", "VALUE:RE" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcc.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcc.json deleted file mode 100644 index 8b275b386..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcc.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bcc", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Benign/Borderline tumors**\n* Benign (/0) or Borderline (/1) tumors **are always coded to 050** regardless of size, extension to adjacent sites, or multiple tumors. \n\n**Note 2:** **Infratentorial and Supratentorial** \n* The tentorium cerebelli is an extension of the dura mater that separates the cerebellum from the inferior portion of the occipital lobes. \n* The location of the tumor above or below the tentorium can help in determining the type of tumor; also, most adult brain tumors are supratentorial, and most pediatric brain tumors are infratentorial. \n* In the following list, note that ICD-O-3 codes C71.0 and C71.9 include both supratentorial and infratentorial subsites.\n\n- The following subsites are **Infratentorial**\n * All subsites for codes C716-C717 \n * Hypothalamus (C710)\n * Pallium (C710)\n * Posterior cranial fossa (C719)\n * Thalamus (C710)\n- The following subsites are **Supratentorial**\n * All subsites for codes C711-C715\n * Primary site C710 (excluding hypothalamus, pallium, thalamus)\n * Anterior cranial fossa (C719)\n * Corpus callosum (C718)\n * Middle cranial fossa (C719)\n * Tapetum (C718)\n * Suprasellar (C719)\n\n**Note 3:** **Midline shift** \n* A midline shift is not the same thing as crossing the midline (code 500).\n * Documentation must state \"crossing/crosses the midline\"\n\n**Note 4:** **Drop metastasis**\n* Discontiguous spread, or \"drop metastasis\" are coded in EOD mets.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Laws, E.R., Curran, W.J., et al. **Brain and Spinal Cord**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:14.735Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "050", "Benign or borderline brain tumor\n* Behavior /0 or /1", "VALUE:B" ], [ "100", "Infratentorial tumor confined to\n- Brain stem or meninges of brain stem (one side)\n + Medulla oblongata\n + Midbrain (mesencephalon)\n + Pons\n- Cerebellum or meninges of cerebellum (one side or midline) \n + Lateral lobes\n + Median lobe of cerebellum\n + Vermis\n- Hypothalamus\n- Pallium\n- Thalamus\n\nInfratentorial tumor\n- Both cerebellum and brain stem involved with tumor on one side\n\nSupratentorial tumor confined to\n- Cerebral hemisphere (cerebrum) or meninges of cerebral hemisphere (one side)\n + Frontal lobe\n + Occipital lobe\n + Parietal lobe\n + Temporal lobe\n\nConfined to ventricles \nTumor invades or encroaches upon ventricular system\n\nConfined to brain, NOS\nConfined to meninges, NOS", "VALUE:L" ], [ "500", "Tumor crosses the midline\n\nAll sites extension to/invasion of\n- Bone (skull) (See code 700 for other bone involvement)\n- Contralateral hemisphere\n- Corpus callosum (including splenium)\n- Major blood vessel(s)\n- Meninges (e.g., dura)\n- Nerves (cranial, NOS)\n- Spinal cord/canal\n\nSupratentorial tumor extends/invades infratentorially to involve\n- Brain stem \n- Cerebellum\n- Hypothalamus\n- Pallium\n- Posterior cranial fossa\n- Thalamus\n\nInfratentorial tumor extends/invades supratentorially to involve\n- Anterior cranial fossa\n- Cerebrum (cerebral hemisphere) (excluding hypothalamus, pallium, thalamus)\n- Middle cranial fossa\n- Suprasellar brain\n- Tapetum", "VALUE:RE" ], [ "700", "Circulating cells in cerebral spinal fluid (CSF)\n\nBone other than skull (See code 500 for skull)\nNasal cavity\nNasopharynx\nOther direct extension outside CNS\nPosterior pharynx\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcd.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcd.json deleted file mode 100644 index 183bdd6ee..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcd.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bcd", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Benign/Borderline tumors** \n* Benign (/0) or Borderline (/1) tumors **are always coded to 050** regardless of size, extension to adjacent sites, or multiple tumors. \n\n**Note 2:** **Midline shift** \n* A midline shift is not the same thing as crossing the midline (code 500).\n* Documentation must state \"crossing/crosses the midline\"\n\n**Note 3:** **Drop metastasis** \n* Discontiguous spread, or \"drop metastasis\" are coded in EOD Mets.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Laws, E.R., Curran, W.J., et al. **Brain and Spinal Cord**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:15.141Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "050", "Benign or borderline brain\n* Behavior is /0 or /1", "VALUE:B" ], [ "100", "Confined to tissue or site of origin\n\nLocalized, NOS", "VALUE:L" ], [ "500", "Adjacent connective/soft tissue\nAdjacent muscle\nBone (skull) (See code 700 for other bone involvement)\nBrain for cranial nerve tumor(s) (See code 700 for sites other than cranial nerve tumors)\nMajor blood vessel(s)\nMeningeal tumor infiltrates nerve\nNerve tumor infiltrates meninges (dura)\nSphenoid and frontal sinuses (skull)", "VALUE:RE" ], [ "700", "Bone other than skull (see code 500 for skull)\nBrain except for cranial nerve tumor(s) (See code 500 for cranial nerve tumors)\nEye\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bce.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bce.json deleted file mode 100644 index dc0e93750..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bce.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bce", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:09.766Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Confined to tissue or organ of origin\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Adjacent organ(s)/structure(s)\n- Descending aorta\n- Esophagus\n- Large (named) artery(ies)\n- Large (named) vein(s)\n- Pericardium (parietal, visceral [pericardium])\n- Phrenic nerve(s)\n- Pleura (parietal, visceral, NOS)\n- Sternum\n- Sympathetic nerve trunk(s)\n- Thoracic duct\n- Thymus\n- Trachea\n- Vertebra(e)", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcf.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcf.json deleted file mode 100644 index 625e00f9a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcf.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bcf", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:43.517Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Invasive tumor confined to trachea\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Adjacent connective tissue\n- Arch of aorta\n- Azygos vein, right\n- Brachiocephalic vein\n- Carotid sheath\n- Common carotid artery(ies)\n- Jugular arch\n- Phrenic nerves\n- Pretracheal fascia\n- Recurrent laryngeal nerve\n- Subclavian artery(ies)\n- Vagus nerve\n\nAdjacent organ(s)/structure(s)\n- Cricoid cartilage\n- Esophagus\n- Pleura, NOS\n + Parietal\n + Visceral\n- Right and left main bronchi\n- Sternum\n- Thymus\n- Thyroid gland\n- Vertebral column", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcg.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcg.json deleted file mode 100644 index e34edf445..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcg.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bcg", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:43.893Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: Noninvasive; intraepithelial", "VALUE:IS" ], [ "100", "Invasion of submucosa\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Adjacent connective tissue(s)\nAdjacent organ(s)/structure(s)\n\nRegional extension, NOS", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bci.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bci.json deleted file mode 100644 index 83233a1f9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bci.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bci", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **The preferred histology terms listed below are from the 2024 WHO Classification of Tumours, Haematolymphoid tumours, 5th edition.**\n\n**Note 2:** **The following histologies can be localized (code 100), systemic (700) or unknown (999)** \n\n* 9740: Mast cell sarcoma (MCS)\n* 9749: Erdheim-Chester disease (ECD) (2021+ only)\n* 9755: Histiocytic sarcoma\n* 9756: Langerhans cell sarcoma (LCS) \n* 9757: Interdigitating dendritic cell sarcoma (IDCS) \n* 9758: Follicular dendritic cell sarcoma (FDCS) \n* 9759: Fibroblastic reticular cell tumor \n* 9766: Lymphomatoid granulomatosis, grade 3 (2021+ only)\n* 9930: Myeloid sarcoma \n* 9971: Polymorphic PTLD (2018-2020, 2025+) \n * *Note:* 9971 is /1 and non-reportable (except for C700-C729, C751-C753) for 2021-2024, moved back to /3 for 1/1/2025+\n\n**Note 3:** **Lymph node involvement** \n* For histologies listed in **Note 1**, it is possible to have lymph node involvement; however, at this time, lymph node involvement for these histologies is not collected.\n\n**Note 4:** **The following histologies are systemic (code 700):**\n\n* 9591: Splenic B-cell lymphoma/leukemia, unclassifiable (except C441, C690, C695-C696)\n* 9724: Systemic EBV-positive T-cell lymphoma of childhood (SEBVTCL)\n* 9727: Blastic plasmacytoid dendritic cell neoplasm (BPDC)\n* 9741: Systemic mastocytosis with an associated hematological neoplasm (SM-AHN)\n* 9742: Mast cell leukemia (MCL)\n* 9750: ALK-positive histiocytosis\n* 9751: Langerhans cell histiocytosis (LCH), disseminated\n* 9762: Heavy chain diseases, NOS (HCD)\n* 9800: Leukemia, NOS\n* 9801: Acute undifferentiated leukemia\n* 9805: Acute leukemia of ambiguous lineage with other defined genetic alterations\n* 9806: Mixed-phenotype acute leukemia (MPAL) with *BCR::ABL1* fusion\n* 9807: Mixed-phenotype acute leukemia (MPAL) with *KMT2A-rearranged*\n* 9808: Mixed -phenotype acute leukemia, B/myeloid, NOS\n* 9809: Mixed-phenotype acute leukemia (MPAL), T/myeloid, NOS\n* 9811: B-lymphoblastic leukemia/lymphoma [B-ALL/LBL], NOS\n* 9812: B-lymphoblastic leukemia/lymphoma [B-ALL/LBL] with *BCR::ABL1 fusion*\n* 9813: B lymphoblastic leukemia/lymphoma [B-ALL/LBL] with *KMT2A rearrangement*\n* 9814: B-lymphoblastic leukemia/lymphoma [B-ALL/LBL] with *ETV6::RUNX1 fusion*\n* 9815: B-lymphoblastic leukemia/lymphoma with high hyperdiploidy (B-ALL/LBL with high hyperdiploidy)\n* 9816: B-lymphoblastic leukemia/lymphoma [B-ALL/LBL] with hypodiploidy (Hypodiploid B-ALL/LBL)\n* 9817: B-lymphoblastic leukemia/lymphoma [B-ALL/LBL] with *IGH::IL3 fusion*\n* 9818: B-lymphoblastic leukemia/lymphoma [B-ALL/LBL] with *TCF3::PBX1*\n* 9819: B-lymphoblastic leukemia/lymphoma [B-ALL/LBL] with *BCR::ABL1 like features* (BCR::ABL1-like B-ALL/LBL) (2021+ only)\n* 9820: Lymphoid leukemia, NOS\n* 9831: T-large granular lymphocytic leukemia (T-LGLL)\n* 9832: Prolymphocytic leukemia (PPL), NOS\n* 9833: Prolymphocytic leukemia, B-cell type (BLL) \n* 9834: T-cell prolymphocytic leukemia (T-PLL)\n* 9837: T-lymphoblastic leukemia/lymphoma (T-ALL/LBL) \n* 9840: Acute erythroid leukemia (AEL)\n* 9860: Myeloid leukemia, NOS\n* 9861: Acute myeloid leukemia (AML), NOS\n* 9863: Chronic myeloid leukemia (CML), NOS\n* 9865: Acute myeloid leukemia with *DEK::NUP214 fusion*\n* 9866: Acute promyelocytic leukemia with *PML::RARA* fusion (APL with *PML::RARA*)\n* 9867: Acute myelomonocytic leukemia, NOS (AMML)\n* 9869: Acute myeloid leukemia with *MECOM rearrangement*\n* 9870: Acute basophilic leukemia\n* 9871: Acute myeloid leukemia with *CBFB::MYH11 fusion*\n* 9872: Acute myeloid leukemia, minimal differentiation\n* 9873: Acute myeloid leukemia without maturation\n* 9874: Acute myeloid leukemia with maturation\n* 9875: Chronic myeloid leukemia (CML), *BCR::ABL1 positive*\n* 9876: Myelodysplastic/myeloproliferative neoplasm with neutrophilia (MDS/MPN-N)\n* 9877: Acute myeloid leukemia with mutated *NPM1* (2021+ only)\n* 9878: Acute myeloid leukemia with *CEBPA mutation* (2021+ only)\n* 9879: Acute myeloid leukemia with mutated *RUNX1* (2021+ only)\n* 9891: Acute monocytic leukemia\n* 9895: Myelodysplasia-related acute myeloid leukemia (AML-MR)\n* 9896: Acute myeloid leukemia with *RUNX1::RUNX1T1*\n* 9897: Acute myeloid leukemia with *KMT2a rearrangement*\n* 9898: Myeloid leukemia associated with Down Syndrome (ML-DS)\n* 9910: Acute megakaryoblastic leukemia (AMKL)\n* 9911: Acute myeloid leukemia (megakaryoblastic) with *RBMI5::MRTFA*\n* 9912: Acute myeloid leukemia with *BCR::ABL1 fusion* (2021+ only)\n* 9920 Therapy-related myeloid neoplasms\n* 9931: Acute panmyelosis with myelofibrosis (APMF)\n* 9940: Hairy cell leukemia (HCL)\n* 9945: Chronic myelomonocytic leukemia, NOS (CMML)\n* 9946: Juvenile myelomonocytic leukemia (JMML)\n* 9948: Aggressive NK-cell leukemia (ANKL)\n* 9950: Polycythemia vera (PV)\n* 9961: Primary myelofibrosis (PMF)\n* 9962: Essential thrombocythemia (ET)\n* 9963: Chronic neutrophilic leukemia (CNL)\n* 9964: Chronic eosinophilic leukemia (CEL)\n* 9965: Myeloid/lymphoid neoplasms with *PDGFRA* rearrangement\n* 9966: Myeloid/lymphoid neoplasm with *PDGFRB* rearrangement\n* 9967: Myeloid/lymphoid neoplasm with *FGFR1* rearrangement\n* 9968: Myeloid/lymphoid neoplasm with *JAK2* rearrangement (2021+ only)\n* 9975: Myelodysplastic/myeloproliferative neoplasm, NOS, unclassifiable (MPN/MDS-U)\n* 9980: Myelodysplastic neoplasm with low blasts and single-lineage dysplasia (MDS-LB-SLD)\n* 9982 Myelodysplastic /myeloproliferative neoplasm with low blasts and SF3B1 mutation\n* 9983: Myelodysplastic neoplasm with increased blasts (MDS-IB)\n* 9985: Myelodysplastic neoplasm with low blasts, NOS (MDS-LB)\n* 9986: Myelodysplastic neoplasm with low blasts and 5q deletion (MDS-5q)\n* 9989: Myelodysplastic neoplasm, NOS\n* 9991: Refractory neutropenia (2018-2020 only, see code 9980/3 for 2021+)\n* 9992: Refractory thrombocytopenia (2018-2020 only, see code 9980/3 for 2021+)\n* 9993: Myelodysplastic syndrome with ring sideroblasts and multilineage dysplasia (2021+)", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Radich, J.P., Jaffe, E.S., Leonard, J.P., et al. **Leukemia**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:00.989Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Localized disease\n(Single/solitary/unifocal/isolated)\n\nSee Notes 1 and 2", "VALUE:L" ], [ "700", "Systemic disease\n\nSee Note 3", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcj.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcj.json deleted file mode 100644 index a07550d06..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcj.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bcj", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Kaposi Sarcoma defined** \n* In the United States and Canada, Kaposi sarcoma is usually an illness related to acquired immunodeficiency syndrome (AIDS) which affects primarily the skin; however, lesions may also form in the connective tissue, mucosa (e.g. oral cavity) or visceral organs (e.g. lungs). \n* For connective tissue tumors (C49._), use extension codes for skin.\n\n**Note 2:** **Choice of EOD Primary Tumor for Kaposi Sarcoma** \n* Depends on the number and location of lesions\n * Code 100 (Localized) is for a single lesion involving one of the following: skin, mucosa or viscera\n * Code 200 (Localized) is for multiple lesions involving one of the following: skin, mucosa or viscera\n * Code 300 (Regional) is for multiple lesions involving a combination of skin, mucosa or viscera", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions,** National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma - Unusual Histologies and Sites**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:43.143Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Single lesion\n- Mucosa (e.g., oral cavity, anus, rectum, vagina, vulva)\n- Skin and/or connective tissue\n- Viscera (e.g., pulmonary, gastrointestinal tract, spleen, other)", "VALUE:L" ], [ "200", "Multiple lesions\n- Mucosa (e.g., oral cavity, anus, rectum, vagina, vulva)\n- Skin and/or connective tissue\n- Viscera (e.g., pulmonary, gastrointestinal tract, spleen, other)", "VALUE:L" ], [ "300", "Multiple lesions\n- Mucosa plus skin and/or connective tissue\n - Viscera plus mucosa \n - Viscera plus skin and/or connective tissue", "VALUE:RE" ], [ "600", "Multiple lesions\n* Visceral plus mucosa plus skin and/or connective tissue", "VALUE:D" ], [ "700", "Multiple lesions, NOS", "VALUE:U" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nMultiple lesions, NOS\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcl.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcl.json deleted file mode 100644 index 7df3eeb7b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcl.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bcl", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:08.503Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Confined to tissue or organ of origin \nSubcutaneous tissue\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Adjacent organ(s)/structure(s)/connective tissue\n- Epididymis (from other site)\n- Penis\n- Prostate\n- Seminal vesicle (from other site)\n- Skeletal muscle (scrotum only)\n- Spermatic cord (vas deferens) (from other site)\n- Testis\n- Tunica vaginalis (from other site)", "VALUE:RE" ], [ "700", "Other organ(s) and structure(s) in male pelvis\n- Bladder \n- Bone (axial or appendicular skeleton) (scrotum only)\n- Rectum \n- Underlying cartilage (scrotum only)\n- Urethra\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcm.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcm.json deleted file mode 100644 index e67b67269..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcm.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bcm", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:08.128Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ; noninvasive; intraepithelial", "VALUE:IS" ], [ "100", "Confined to tissue or organ of origin\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Adjacent organ(s)/structure(s)/connective tissue\n- Adnexa\n- Broad ligament(s)\n- Cervix uteri\n- Corpus uteri\n- Fallopian tube(s)\n- Ovary(ies)\n- Parametrium\n- Round ligament(s)\n- Uterus, NOS\n- Vagina", "VALUE:RE" ], [ "700", "Other organ(s) of pelvis\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcn.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcn.json deleted file mode 100644 index 7d81458ff..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcn.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bcn", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:06.964Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: Noninvasive; intraepithelial", "VALUE:IS" ], [ "100", "Confined to tissue or organ of origin\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Corpus uteri\nFallopian tube for ligaments\nMesosalpinx, ipsilateral\nOvary, ipsilateral\nPeritoneum\nUterus, NOS", "VALUE:RE" ], [ "700", "Cervix uteri\nCul de sac (rectouterine pouch)\nOmentum\nOvary, contralateral\nRectosigmoid\nSigmoid\nSmall intestine\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bco.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bco.json deleted file mode 100644 index 0407dae5e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bco.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bco", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:07.872Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: Noninvasive; intraepithelial", "VALUE:IS" ], [ "100", "Invasive tumor confined to gland of origin\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Extension to/Invasion of adjacent organs (structures)/connective tissue\n- Aortic body\n + Organ(s)/structure(s) in mediastinum\n- Carotid body\n + Upper neck", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcp.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcp.json deleted file mode 100644 index 5fefd792e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcp.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bcp", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Patches** \n* For skin, patch indicates any size skin lesion without significant elevation or induration.\n\n**Note 2:** **Plaque** \n* For skin, plaque indicates any size skin lesion that is elevated or indurated.\n\n**Note 3:** **Tumor** \n* For skin, tumor indicates at least one 1 cm diameter solid or nodular lesion with evidence of depth and/or vertical growth.\n\n**Note 4:** **Sezary syndrome** \n* Sezary syndrome is the leukemic form of Mycosis Fungoides. EOD Primary Tumor for Sezary syndrome is still coded based on the amount/type of skin involvement. \n* Peripheral blood involvement, which is indicative of the leukemic variant, is coded in Peripheral Blood Involvement [NAACCR Data Item #3910]", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Rosen, S.T., Jaffe, E.S., Leonard, J.P., et al. **Primary Cutaneous Lymphomas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:46.521Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Patches only\n\nLess than 10% of skin surface, no tumors\n- Patches only", "VALUE:L" ], [ "150", "Papules or plaques\n\nLess than 10% of skin surface, no tumors\n- Papules or plaques WITH or WITHOUT patches", "VALUE:L" ], [ "200", "Skin involvement, NOS\n\nSkin involvement less than 10% OR unknown % of skin involvement\n- AND not stated whether patches, papules or plaques\n- AND no tumors\n\nLimited skin involvement\nLocalized, NOS\nMFCG Stage I", "VALUE:L" ], [ "250", "Patches only\n\nGreater than or equal to 10% of skin surface, no tumors\n- Patches only", "VALUE:L" ], [ "300", "Plaques or papules\n\nGreater than or equal to 10% of skin surface, no tumors\n- Plaques or papules WITH or WITHOUT patches", "VALUE:L" ], [ "400", "Skin involvement, NOS\n\nSkin involvement greater than or equal to 10%\nGeneralized plaques/patches OR \nNot stated whether patches, papules or plaques\nNo tumors\n\nMFCG Stage II", "VALUE:L" ], [ "450", "Generalized erythroderma (confluence of erythemia)\n(Greater than 50% and less than 80% body surface involved with diffuse redness)", "VALUE:RE" ], [ "500", "Tumor less than 1 cm\n\nSkin lesion described as tumor less than 1 cm", "VALUE:RE" ], [ "600", "Tumor(s) equal to 1 cm or greater\n\nOne or more tumors equal to 1 cm or greater\nCutaneous tumor, size not stated\n\nMFCG Stage III", "VALUE:RE" ], [ "700", "Generalized erythroderma (confluence of erythemia)\n(Greater than or equal to 80% body surface involved with diffuse redness)", "VALUE:RE" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcq.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcq.json deleted file mode 100644 index a25087f02..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcq.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bcq", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Bones of the lateral wall** \n* The bones of the lateral wall of the nasal cavity include the maxilla, the perpendicular plate of the palatine bone, the medial pterygoid plate, the labyrinth and inferior concha of the ethmoid. \n* The roof of the nasal cavity is formed by the nasal bone. \n* The floor of the nasal cavity, which forms the roof of the mouth, is composed of the bones of the hard palate\n* The horizontal plate of the palatine bone posteriorly and the palatine process of the maxilla anteriorly.\n\n**Note 2:** **Extension to bone** \n* Involvement of or extension to bone includes any type of tumor extension to the bone, such as erosion, invasion, extension, penetration, or destruction.\n\n**Note 3:** **Bony invasion** \n* **Does not** include extension to palate, cribriform plate, or pterygoid plates. \n * Extension to these structures is coded separately.\n* **Does** include involvement of perpendicular plate of ethmoid bone or ethmoid air cells.\n\n**Note 4:** **Base of skull involvement** \n* Code 300 for base of skull, NOS when there is no information available for more specific bony structures in the skull.\n\n**Note 5:** **Extension to anterior cranial fossa** \n* Minimal extension to anterior cranial fossa implies tumor pushing through the cribriform plate, but without invasion of the dura or brain.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Kraus, D.H., Lydiatt, W.M., Shah, J.P., et al. **Nasal Cavity and Paranasal Sinuses**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:07.184Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "All sites\n- Localized, NOS\n\nNasal Cavity (C300)\n- Invasive tumor confined to one of the following subsites WITHOUT bony invasion\n + Floor\n + Lateral wall, including\n * Meatus (superior, middle, inferior) \n * Nasal conchae (superior, middle, inferior)\n + Septum\n + Vestibule (edge of naris to mucocutaneous junction)\n- Confined to nasal cavity, NOS\n\nEthmoid Sinus (C311)\n- Confined to ethmoid sinus \n + WITH or WITHOUT bony invasion (involvement of perpendicular plate of ethmoid bone or ethmoid air cells)\n- Confined to ethmoid sinus, NOS", "VALUE:L" ], [ "150", "Nasal Cavity (C300)\n- Confined to one subsite listed in code 100\n + WITH bony invasion", "VALUE:RE" ], [ "175", "Nasal Cavity (C300)\n- Confined to two or more subsites listed in code 100\n + WITHOUT bony invasion", "VALUE:L" ], [ "200", "Nasal Cavity (C300)\n- Confined to two or more subsites listed in code 100 WITH bony invasion\n + Choana\n + Ethmoid sinus\n- Nasolacrimal duct\n\nEthmoid Sinus (C311)\n- Confined to both ethmoid sinuses \n + WITH or WITHOUT bony invasion (involvement of perpendicular plate of ethmoid bone or ethmoid air cells)\n- Nasal cavity WITH or WITHOUT bony invasion, one or more subsites\n + Floor\n + Lateral wall, including\n * Meatus (superior, middle, inferior)\n * Nasal conchae (superior, middle, inferior)\n + Septum\n + Turbinates\n + Vestibule (edge of naris to mucocutaneous junction)", "VALUE:RE" ], [ "300", "All sites\n- Base of skull, NOS\n- Cribriform plate\n\nNasal Cavity (C300)\n- Adjacent organs/structures, NOS\n- Hard palate\n\nEthmoid Sinus (C311)\n- Orbital plate\n- Maxillary sinus\n- Medial wall or floor of orbit", "VALUE:RE" ], [ "400", "Nasal Cavity (C300)\n- Maxillary sinus\n- Medial wall or floor of orbit\n- Orbital plate\n\nEthmoid Sinus (C311)\n- Hard palate", "VALUE:D" ], [ "500", "All sites\n- Frontal sinus\n- Pterygoid plates\n\nEthmoid Sinus (C311)\n - Anterior cranial fossa (minimal extension)\n - Anterior orbital contents\n - Skin of cheek\n - Skin of nose\n - Sphenoid sinus", "VALUE:RE" ], [ "550", "Nasal Cavity (C300)\n- Anterior cranial fossa (minimal extension)\n- Anterior orbital contents\n- Skin of cheek\n- Skin of nose\n- Sphenoid sinus\n\nEthmoid Sinus (C311)\n- Any structure in code 500 + hard palate", "VALUE:D" ], [ "600", "All sites\n- Nasopharynx\n\nEthmoid Sinus (C311)\n- Brain\n- Clivus\n- Cranial nerves (other than V2, maxillary division of trigeminal nerve)\n- Dura\n- Middle cranial fossa\n- Orbital apex", "VALUE:RE" ], [ "700", "All sites\n- Further contiguous extension\n\nNasal Cavity (C300)\n- Brain\n- Clivus\n- Cranial nerves (other than V2, maxillary division of trigeminal nerve)\n- Dura\n- Middle cranial fossa\n- Orbital apex\n\nEthmoid Sinus (C311)\n- Any structure in code 600 + hard palate", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcr.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcr.json deleted file mode 100644 index 1e4edfffc..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcr.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bcr", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:16.746Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Localized, NOS\n- Confined to\n + Auditory bone(s) (incus, malleus, stapes)\n + Vestibulocochlear organ\n * Cochlea\n * Semicircular ducts (ampullae, saccule, utricle)\n * Septum \n * Tympanic membrane (ear drum)", "VALUE:L" ], [ "200", "Regional extension, NOS\n- Adjacent connective tissue\n + Auditory tube (Eustachian tube, pharyngotympanic tube)\n + Nerve(s)\n- Adjacent organ(s)/structure(s)\n + External auditory meatus (ear canal)\n + Internal carotid artery\n + Mastoid antrum\n + Nasopharynx\n + Temporal bone", "VALUE:RE" ], [ "700", "Meninges\n\nFurther contiguous extension", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcs.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcs.json deleted file mode 100644 index 4137c34a2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcs.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bcs", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Primary acquired melanosis** \n* Melanoma in situ is also called primary acquired melanosis.\n\n**Note 2:** **Nodular or well-defined conjunctival melanomas** \n* Nodular or well-defined conjunctival melanomas are clinically categorized according to the regional location of their posterior and anterior margins (i.e., cornea, limbus, bulbar conjunctiva, fornix, palpebral conjunctiva, plica, caruncle, or eyelid skin) and by their circumferential extent, in clock minutes, in each of these regions. \n* A \"quadrant\" comprises 15 clock minutes regardless of the meridian locations of the lateral margins.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Coupland, S.E., Finger, P.T., et al. **Conjunctival Melanoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:12.782Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive\nMelanoma confined to the conjunctival epithelium (in situ)", "VALUE:IS" ], [ "100", "**CLINICAL assessment only**\nLess than or equal to one quadrant involved\n\n**PATHOLOGICAL assessment only**\nBulbar conjunctiva tumor with invasion of substantia propria, less than or equal to 2.0 mm in thickness", "VALUE:L" ], [ "110", "**CLINICAL assessment only**\nGreater than 1 quadrant and less than or equal to 2 quadrants involved\n\n**PATHOLOGICAL assessment only**\nBulbar conjunctiva tumor with invasion of substantia propria, greater than 2.0 mm in thickness", "VALUE:L" ], [ "120", "**CLINICAL assessment only**\nGreater than 2 quadrants and less than or equal to 3 quadrants involved", "VALUE:L" ], [ "130", "**CLINICAL assessment only**\nGreater than 3 quadrants involved", "VALUE:L" ], [ "150", "**Tumor(s) of bulbar conjunctiva, NOS**\nLocalized, NOS", "VALUE:L" ], [ "200", "**CLINICAL assessment only**\nNoncaruncular tumor \n- AND less than or equal to 1 quadrant of nonbulbar conjunctiva involved\n\n**PATHOLOGICAL assessment only**\nNonbulbar conjunctiva tumor with invasion of substantia propria, less than or equal to 2.0 mm in thickness\n- WITH or WITHOUT involvement of caruncle", "VALUE:L" ], [ "250", "**CLINICAL assessment only**\nNoncaruncular tumor \n- AND greater than 1 quadrant of nonbulbar conjunctiva (forniceal, palpebral, tarsal) involved\n\n**PATHOLOGICAL assessment only**\nNonbulbar conjunctiva tumor with invasion of substantia propria, greater than 2.0 mm in thickness\n- WITH or WITHOUT involvement of caruncle", "VALUE:L" ], [ "300", "**CLINICAL assessment only**\nCaruncular tumor \n- AND less than or equal to 1 quadrant of nonbulbar conjunctiva (forniceal, palpebral, tarsal) involved", "VALUE:L" ], [ "350", "**CLINICAL assessment only**\nCaruncular tumor \n- AND greater than 1 quadrant of nonbulbar conjunctiva (forniceal, palpebral, tarsal) involved", "VALUE:L" ], [ "400", "**CLINICAL assessment only**\nTumor(s) of nonbulbar (forniceal, palpebral, tarsal) involved, NOS WITH corneal extension\n\n**PATHOLOGICAL assessment only**\nInvolvement of caruncle WITH extension to cornea", "VALUE:L" ], [ "450", "Globe", "VALUE:RE" ], [ "500", "Eyelid", "VALUE:RE" ], [ "550", "Orbit", "VALUE:RE" ], [ "600", "Lacrimal sac\nNasolacrimal duct\nParanasal sinuses", "VALUE:RE" ], [ "650", "Sinus, NOS", "VALUE:D" ], [ "700", "Local invasion, NOS", "VALUE:RE" ], [ "750", "Central nervous system\n\nFurther contiguous extension", "VALUE:RE" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension note stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bct.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bct.json deleted file mode 100644 index ada59d40c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bct.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bct", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) White, V.A., Finger, P.T., et al. **Lacrimal Gland Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:12.262Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Tumor of any size\n- WITH or WITHOUT extraglandular extension into the orbital soft tissue\n- No periosteal or orbital bone involvement or UNKNOWN if involved\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Tumor of any size\n- Periosteal involvement only", "VALUE:RE" ], [ "300", "Tumor of any size\n- Periosteal and bone involvement", "VALUE:RE" ], [ "700", "Involvement of adjacent structures including\n- Brain\n- Cavernous sinus\n- Pterygoid fossa\n- Sinuses\n- Superior orbital fissure\n- Temporal fossa", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcv.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcv.json deleted file mode 100644 index 9b44a9978..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcv.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bcv", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Periosteum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones. \n* Mucoperiosteum is a compound structure of mucous membrane and periosteum. Cortical bone is the dense compact outer layer of bone.\n\n**Note 2:** **Macroscopic extraparenchymal extension** \n* Macroscopic extraparenchymal extension (code 300) is based on clinical evaluation or macroscopic evidence of extraparenchymal extension at the time of surgery.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Shah, J.P., et al. **Major Salivary Glands**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:06.135Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Any size tumor\n- Invasive tumor confined to gland/duct of origin\n- Multiple foci confined to substance of parotid gland\n- Confined to parotid gland, NOS\n- Confined to salivary gland, NOS\n- Confined to submandibular gland, NOS\n- Localized, NOS", "VALUE:L" ], [ "200", "Any size tumor\n- Extraparenchymal extension, NOS\n- Microscopic extraparenchymal extension ONLY to periglandular soft/connective tissue", "VALUE:RE" ], [ "300", "Macroscopic extraparenchymal extension to periglandular soft/connective tissue\n\nExtension to another major salivary gland (parotid, sublingual, submandibular, submaxillary)\n\nDeep extrinsic muscles (submandibular gland only)\n- Genioglossus\n- Geniohyoid\n- Hyoglossus\n- Mylohyoid \n- Styloglossus\n\nFacial artery or vein\nMaxillary artery\nPharyngeal mucosa (parotid gland only)\nSkeletal muscle\n- Digastric\n- Masseter (parotid gland only)\n- Pterygoid\n- Sternocleidomastoid (parotid gland only)\n- Stylohyoid", "VALUE:RE" ], [ "350", "Spinal accessory nerve", "VALUE:D" ], [ "400", "Ear canal\nExternal auditory meatus (parotid gland only)\nMandible\nMastoid/mastoid process (parotid gland only)\nNerves \n- Auricular (parotid gland only)\n- Facial (7th nerve) (submandibular and salivary gland only)\n- Lingual (submandibular and salivary gland only)\n\nPeriosteum of mandible \nSkin overlying gland (parotid gland only)", "VALUE:RE" ], [ "500", "Structures in code 400 with spinal accessory nerve involvement OR\n\nExternal auditory meatus (submandibular and salivary gland only)\nNerves\n- Facial (7th nerve) (parotid gland only)\n- Lingual (parotid gland only)\n\nSkin overlying gland (submandibular and salivary gland only)", "VALUE:D" ], [ "600", "Internal carotid artery (encased)\nJugular vein (parotid gland only)", "VALUE:RE" ], [ "700", "Internal carotid artery or jugular vein with extension to structures in codes 350-500 OR\n\nPterygoid plates\nSkull (base, NOS)\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcx.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcx.json deleted file mode 100644 index 50d684d9b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcx.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bcx", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:07.540Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: Noninvasive; intraepithelial", "VALUE:IS" ], [ "100", "Lamina propria\nMucosa, NOS\nMuscularis propria\nSubmucosa (superficial invasion)\n\nConfined to bile duct, NOS\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Ampulla of Vater\nBeyond wall of bile duct\nDuodenum\nGallbladder\n- Unilateral branches of the right or left hepatic artery OR portal vein\n\nLiver, less than or equal to 2 cm or UNKNOWN\nOmentum (greater or lesser)\nPancreas\nPerimuscular connective tissue\nSmall intestine\n\nInvasion of/through serosa", "VALUE:RE" ], [ "700", "Abdominal wall\nColon\nCommon hepatic artery\nCystic artery/vein\nHepatic artery, NOS\nLiver greater than 2 cm\nPortal vein or its branches bilaterally\nPortal vein, NOS\nStomach \n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcy.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcy.json deleted file mode 100644 index 079cb00c8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bcy.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bcy", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **Code 000** \n* If EOD Primary Tumor is 000, Behavior ICD-O-3 must be coded as 2. If EOD Primary Tumor is 100 or greater, Behavior ICD-O-3 must be coded as 3.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:41.307Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive (flat, sessile)\nNoninvasive papillary, polypoid or verrucous carcinoma", "VALUE:IS" ], [ "100", "Lamina propria\nMuscularis\nSubepithelial connective tissue\nSubmucosa\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Beyond prostate capsule\nBladder neck\nCorpus cavernosum\nCorpus spongiosum\nPeriurethral muscle (sphincter)\nProstate\nVagina, anterior or NOS", "VALUE:RE" ], [ "700", "Other adjacent organ(s), including\n- Bladder (excluding bladder neck)\n- Seminal vesicle(s)\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdd.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdd.json deleted file mode 100644 index a91332e71..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdd.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bdd", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **Connective tissue** \n* Connective tissues large enough to be given a specific name are adjacent structures. For example, prevertebral fascia and jugular vein have names. Continuous tumor growth from one organ into an adjacent named structure is coded to regional.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User\nDocumentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:13.955Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Confined to tissue or organ of origin\n\nLocalized, NOS", "VALUE:L" ], [ "200", "More than one region of pharynx involved\n- Hypopharynx\n- Nasopharynx\n- Oropharynx\n\nPharynx and oral cavity involved\n\nExtension to adjacent structure(s)\nFixation", "VALUE:RE" ], [ "700", "Further contiguous extension:", "VALUE:D" ], [ "999", "Unknown; extension cannot be assessed\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bde.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bde.json deleted file mode 100644 index a7c7ea596..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bde.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bde", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Herman, J.M., Pawlik, T.M., Vauthey, J.N., et al. **Ampulla of Vater**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:36.477Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: Noninvasive; intraepithelial", "VALUE:IS" ], [ "100", "Limited to\n- Ampulla of Vater\n- Sphincter of Oddi", "VALUE:L" ], [ "150", "Duodenal submucosa\nPerisphincteric invasion (invasion beyond sphincter of Oddi)", "VALUE:L" ], [ "200", "Confined to ampulla, NOS\n\nLocalized, NOS", "VALUE:L" ], [ "250", "Muscularis propria of duodenum (duodenal wall) \n\nDuodenum, NOS", "VALUE:RE" ], [ "300", "Pancreas (less than or equal to 0.5 cm)", "VALUE:RE" ], [ "400", "Pancreas (greater than 0.5 cm)\n\nDuodenal serosa", "VALUE:RE" ], [ "450", "Periduodenal soft tissue\nPeripancreatic soft tissue", "VALUE:D" ], [ "500", "Common bile duct\nExtrahepatic bile duct(s)\nGallbladder\nHepatic flexure of colon\nLesser omentum\nLiver (including porta hepatis)\nPancreas, NOS (depth of invasion not stated)\nStomach (distal, proximal, NOS)\nTransverse colon", "VALUE:RE" ], [ "600", "Blood vessel(s) (major)\n- Common hepatic artery\n- Celiac (axis) artery\n- Superior mesenteric artery", "VALUE:RE" ], [ "700", "Periduodenal or peripancreatic soft tissue with involvement of structures in codes 500 or 600 OR\n \nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown extension\nPrimary tumor cannot be assessed\nNot documented in medical record \n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdg.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdg.json deleted file mode 100644 index 35fae1edc..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdg.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bdg", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Multiple simultaneous tumors** \n* Code the tumor with the greatest extension when there are multiple simultaneous tumors.\n\n**Note 2:** **Full eyelid thickness definition** \n* Full eyelid thickness (code 300) is defined as including skin, orbicularis muscle, tarsus and conjunctiva (palpebral).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Esmaeli, B., Finger, P.T., et al. **Eyelid Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:30.398Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, noninvasive \nBowen disease", "VALUE:IS" ], [ "100", "Lesion(s) confined to dermis\n* Minimal infiltration of dermis\n* Subcutaneous tissue (through entire dermis)\n* Underlying orbicularis muscle\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Eyelid margin\nTarsal plate\nTarsus", "VALUE:L" ], [ "300", "Full eyelid thickness (see Note 2)", "VALUE:L" ], [ "400", "Bulbar conjunctiva\nIntraorbital structures, NOS\nOcular structures\nSclera\nSoft tissues of orbit", "VALUE:RE" ], [ "500", "Bone/periosteum of orbit\nBony walls of orbit (invades or evades through)\nLacrimal sac\nSkeletal muscle (except orbicularis muscle in eyelid)\nUnderlying cartilage", "VALUE:RE" ], [ "600", "Brain\nCentral nervous system (CNS)\nNasal cavity\nNasolacrimal duct\nOther craniofacial structures\nParanasal sinus\n\nFurther contiguous structures, NOS", "VALUE:D" ], [ "700", "Adjacent structure(s), NOS", "VALUE:RE" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdh.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdh.json deleted file mode 100644 index 1367fbe9b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdh.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bdh", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has extension codes that are defined as “PATHOLOGICAL assessment only” \n* PATHOLOGICAL assessment only codes (100, 150, 200, 300, 400, 500) are used when there is an orchiectomy\n\n**Note 2:** **Pure seminomas** \n* Pure seminomas are defined as 9061/3. (See codes 100 and 150)\n\n**Note 3:** **Lymphovascular invasion** \n* For codes 000, 100, 150, and 200, LVI [NAACCR # 1182] must be coded as none (code 0), not applicable (8), or unknown (9).\n * See the STORE or SEER manual for instructions on how to code LVI", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Brimo, F., Srigley, J.R., Lin, D.W., et al. **Testis**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:51.213Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive\nIntratubular germ cell neoplasia\nGerm cell neoplasia in situ", "VALUE:IS" ], [ "100", "**PATHOLOGICAL assessment only**\n\nFOR PURE SEMINOMAS ONLY (ICD-O-3 code 9061/3 only)\n- Tumor less than 3 cm, limited to the testis\n + WITHOUT lymphovascular invasion or unknown if lymphovascular invasion\n\nSee Notes 2 and 3", "VALUE:L" ], [ "150", "**PATHOLOGICAL assessment only**\n\nFOR PURE SEMINOMAS ONLY (ICD-O-3 code 9061/3 only)\n- Tumor greater than or equal to 3 cm, limited to the testis\n + WITHOUT lymphovascular invasion or unknown if lymphovascular invasion\n\nSee Notes 2 and 3", "VALUE:L" ], [ "200", "**PATHOLOGICAL assessment only**\n\nTumor limited to testis WITHOUT lymphovascular invasion or UNKNOWN if lymphovascular invasion\n- Body of testis\n- Rete testis\n- Tunica albuginea\n- Tunica, NOS\n- Confined to testis, NOS \n- Localized, NOS\n\nSee Note 3", "VALUE:L" ], [ "300", "**PATHOLOGICAL assessment only**\n\nSurface implants (surface of tunica vaginalis)\nTunica vaginalis involved\n\nTumor limited to testis (including rete testis invasion)\n- WITH lymphovascular invasion", "VALUE:L" ], [ "400", "**PATHOLOGICAL assessment only**\n\nEpididymis \nHilar soft tissue\nMediastinum (of testis)\nVisceral mesothelial layer", "VALUE:RE" ], [ "500", "**PATHOLOGICAL assessment only**\n\nSpermatic cord, ipsilateral\nVas deferens", "VALUE:RE" ], [ "600", "Dartos muscle, ipsilateral\nScrotum, ipsilateral", "VALUE:RE" ], [ "700", "Penis\nScrotum, contralateral\nUlceration of scrotum\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown extension\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdk.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdk.json deleted file mode 100644 index fa8a84a1a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdk.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bdk", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **Extension to bone** \n* Involvement of or extension to bone includes any type of tumor extension to the bone, such as erosion, invasion, extension, penetration, or destruction.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:14.440Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Invasive tumor confined to mucosa of one of the following:\n- Frontal sinus\n- Sphenoid sinus\n\nLocalized, NOS", "VALUE:L" ], [ "200", "More than one accessory sinus invaded\nDestruction of bony wall of sinus\n\nBone, cartilage\n- Facial bones\n- Maxilla\n- Orbital structure(s)\n- Pterygoid fossa\n- Zygoma\n\nBrain\nCranial nerves\nHard palate\nMuscles\n- Masseter\n- Pterygoid \n\nNasal cavity\n- Floor\n- Lateral wall\n- Nasal cavity, NOS\n- Septum\n- Turbinates\n\nNasopharynx\nOrbital contents, including eye\nSoft tissue\nSkin", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdl.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdl.json deleted file mode 100644 index b16540977..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdl.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bdl", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Peritoneum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones. Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 2:** **Criteria for Derived T** \n* For codes 100-500, the derived EOD T is based on depth of invasion (DOI) in conjunction with size. In addition, some of the anatomical structures listed are localized for Summary Stage 2018 while others are regional for Summary Stage 2018. The anatomical structures are divided into two groups: Group 1 is for localized tumors, while Group 2 is for regional tumor. \n\n**Group 1 extension WITH any size tumor: Use the following for codes 100, 150, 200**\n- Invasive tumor confined to lamina propria (mucoperiosteum) (stroma)\n- Confined to gum, NOS\n- Localized, NOS\n\n**Group 2 extension WITH any size tumor: Use the following for codes 300, 400, 500**\n- Bone, NOS\n + Bone (mandible, maxilla, palatine)\n + Cartilage (mandible, maxilla, NOS)\n + Cortical bone, invasion of (mandible, maxilla, NOS)\n- Buccal mucosa (inner cheek)\n- Facial muscle, NOS\n- Floor of mouth\n- Hard palate (includes cortical palatine bone)\n- Labial mucosa (inner lip)\n- Lateral pharyngeal wall\n- Lip, NOS\n- Soft palate including uvula\n- Subcutaneous soft tissue of face\n- Tongue mucosa\n- Tonsillar pillars and fossae\n- Tonsils\n\n**Note 3:** **Depth of invasion** \n* Once the correct group is determined, the codes are then determined based on the depth of invasion.\n - Depth of invasion less than or equal to 5 mm or UNKNOWN depth of invasion (codes 100, 300)\n - Depth of invasion greater than 5 mm to less than or equal to 10 mm (codes 150, 400)\n - Depth of invasion greater than 10 mm (codes 200, 500)\n\n**Note 4:** **Cortical bone** Invasion through cortical bone is required for assignment of code 600.\n- Code 300, 400, or 500 (depending on the depth of invasion) when the tumor is limited to the cortical bone/cortex of the mandible or maxilla. Invasion of the bone, NOS (mandible, NOS or maxilla, NOS) is **not** equivalent to invasion through the cortical bone (code 600).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:17.092Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Group 1 WITH depth of invasion (DOI) less than or equal to 5 mm\nOR unknown depth of invasion", "VALUE:L" ], [ "150", "Group 1 WITH depth of invasion (DOI) greater than 5 mm and less than or equal to 10 mm", "VALUE:L" ], [ "200", "Group 1 WITH depth of invasion (DOI) greater than 10 mm", "VALUE:L" ], [ "300", "Group 2 WITH depth of invasion (DOI) less than or equal to 5 mm\nOR unknown depth of invasion", "VALUE:RE" ], [ "400", "Group 2 WITH depth of invasion (DOI) greater than 5 mm and less than or equal to 10 mm", "VALUE:RE" ], [ "500", "Group 2 WITH depth of invasion (DOI) greater than 10 mm", "VALUE:RE" ], [ "600", "Invasion through cortical bone (mandible, maxilla, NOS)\n\nDeep (extrinsic) muscle of tongue\n- Genioglossus\n- Hyoglossus\n- Palatoglossus\n- Styloglossus\n\nTongue muscle (intrinsic)\nTrabecular bone (mandible, maxilla, palatine, NOS)", "VALUE:RE" ], [ "650", "Maxillary sinus/antrum\nNasal cavity \nNose\nSkin of face", "VALUE:D" ], [ "700", "Internal carotid artery (encased)\nMasticator space\nPterygoid plates\nSkull base\nSpecified bone (other than mandible, maxilla, palatine)\n\nFurther contiguous extension", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdo.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdo.json deleted file mode 100644 index fa02c25e0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdo.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bdo", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Multiple simultaneous tumors** \n* In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 2:** **Skin ulceration** \n* Skin ulceration does not alter the classification.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:10.141Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "Carcinoma in situ, noninvasive\nIntraepithelial Bowen disease; intraepidermal", "VALUE:IS" ], [ "100", "Lesion(s) confined to dermis\nSubcutaneous tissue (through entire dermis)", "VALUE:L" ], [ "200", "Bone\nCartilage\nSkeletal muscle\nUnderlying cartilage", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bds.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bds.json deleted file mode 100644 index 4cfbb75c6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bds.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bds", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Multiple simultaneous tumors** \n* In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 2:** **In transit metastases** \n* In transit metastasis is defined as a tumor distinct from the primary lesion and located either between the primary lesion and the draining regional lymph node(s) or distal to the primary lesion. \n* In transit metastasis with positive lymph node(s) are coded under EOD Regional Nodes.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bichakjian, C.K., Nghiem, P., Sober, A.J., et al. **Merkel Cell Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:28.373Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepidermal, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Confined to site of origin\n* Lesion(s) confined to dermis\n* Subcutaneous tissue (through entire dermis)\n\nLocalized, NOS", "VALUE:L" ], [ "400", "Direct extension to\n- Bone\n- Cartilage\n- Fascia\n- Skeletal muscle", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdu.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdu.json deleted file mode 100644 index 54cdf8f2a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bdu.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bdu", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Woltering, E.A., Bergsland, E.K., et al. **Neuroendocrine Tumors of the Appendix**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Appendix**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:46.989Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Any size tumor\n\nInvasive tumor confined to (including polyp [head, stalk, NOS])\n- Lamina propria\n- Mucosa (intramucosal, NOS)\n- Muscularis mucosae\n- Submucosa\n\nInvasion through\n- Muscularis propria or muscularis, NOS \n- Non-peritonealized pericolic tissues\n- Perimuscular tissue\n- Subserosa\n- Transmural, NOS\n- Wall, NOS\n\nExtension to\n- Cecum\n\nConfined to appendix, NOS\nConfined to muscular wall\nPolyp, NOS\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Any size tumor with extension to\n- Adjacent tissue(s), NOS\n- Connective tissue\n- Fat, NOS\n- Ileum\n- Mesenteric fat\n- Mesentery \n- Mesoappendix\n- Mesocolon\n- Pericolic fat\n- Serosa", "VALUE:RE" ], [ "300", "Abdominal wall\nAdherent to other organs or structures, NOS\nGreater omentum\nRetroperitoneum (excluding fat)\nSmall intestine", "VALUE:RE" ], [ "700", "Adrenal (suprarenal) gland\nBladder\nDiaphragm\nFallopian tube\nFistula to skin\nGallbladder\nKidney\nLiver\nOther segment(s) of colon/rectum via serosa\nOvary\nUreter\nUterus\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bez.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bez.json deleted file mode 100644 index 597d4e130..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bez.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bez", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Heegaard, S., Finger, P.T., et al. **Ocular Adnexal Lymphoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:59.760Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Lymphoma involving the conjunctiva alone \n- WITHOUT eyelid or orbital involvement", "VALUE:L" ], [ "200", "Lymphoma involving the conjunctiva alone\n- UNKNOWN if eyelid or orbital involvement", "VALUE:L" ], [ "300", "Lymphoma with orbital involvement \n- WITH or WITHOUT conjunctival involvement", "VALUE:L" ], [ "400", "Lymphoma with preseptal eyelid involvement \n- WITH or WITHOUT orbital or conjunctival involvement", "VALUE:L" ], [ "700", "Orbital adnexal lymphoma AND extraorbital lymphoma \nextending beyond the orbit to adjacent structures\n- Bone \n- Brain\n- Maxillofacial sinuses", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfa.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfa.json deleted file mode 100644 index feb88f79a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfa.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bfa", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Multiple tumors** \n* Multiple tumors include satellitosis, multifocal tumors, and intrahepatic metastasis.\n\n**Note 2:** **Vascular invasion**\n* Intrahepatic vascular invasion (codes 200 and 300) include the following\n * Major hepatic vessel invasion \n * First and second-order branches of the portal veins or hepatic arteries\n * Hepatic veins (right, middle, or left)\n * Microscopic invasion of smaller intraparenchymal vascular structures (identified on histopathological examination)", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Aloia, T., Pawlik, T.M., Vauthey, J.N., et al. **Intrahepatic Bile Ducts**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:37.840Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive \nIntraductal tumor\nBiliary intraepithelial neoplasia grade 3 (BiIIN-3)", "VALUE:IS" ], [ "100", "Any size tumor\n\nSolitary tumor\nWITHOUT or UNKNOWN intrahepatic vascular invasion\n\nConfined to intrahepatic bile duct, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Code 100 WITH intrahepatic vascular invasion", "VALUE:L" ], [ "300", "Multiple tumors\nWITH or WITHOUT intrahepatic vascular invasion", "VALUE:L" ], [ "400", "Invasion into, but not through the visceral peritoneum", "VALUE:RE" ], [ "500", "Invasion beyond visceral peritoneum into adjacent connective tissues \nWITHOUT invasion of extrahepatic structures/organs", "VALUE:RE" ], [ "600", "Extrahepatic bile ducts PLUS satellite nodules in more than one lobe \nOR multiple tumors with extrahepatic major vascular invasion\n\nAbdominal wall\nColon\nCommon bile duct\nDiaphragm \nDuodenum\nExtrahepatic structures, NOS\n- Retrohepatic vena cava\n- Vena cava \n\nHepatic artery (proper)\nGallbladder\nLesser omentum \nLigament(s)\n- Coronary \n- Falciform \n- Hepatoduodenal \n- Hepatogastric \n- Round (of liver) \n- Triangular \n\nPeritoneum (parietal, NOS)\nRetrohepatic vena cava", "VALUE:RE" ], [ "700", "Multiple (satellite) nodules on surface of liver parenchyma\n\nPancreas\nPleura\nStomach\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfg.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfg.json deleted file mode 100644 index 1bf2facf8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfg.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bfg", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **In-situ and HAMN** \n* Code 000 (behavior code 2) includes cancer cells confined within the glandular basement membrane (intraepithelial) or described as in situ or high-grade appendiceal mucinous neoplasms (HAMN)\n\n**Note 2:** **LAMN** \n* Code 050 (behavior code 2) for low-grade appendiceal mucinous neoplasms (LAMN) that are confined by the muscularis propria.\n* See codes 350-750 for LAMN tumors that extend beyond the muscularis propria \n\n**Note 3:** **Code 070 (behavior code 3)**\n* Intramucosal, NOS\n* Lamina propria\n* Mucosa, NOS\n* Confined to, but not through the muscularis mucosa\n\n**Note 4:** **Intraluminal extension** \n* Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 5:** **Mucinous Tumors** \n* Mucinous tumors are identified by morphology codes 8480, 8481, and 8490.\n\n**Note 6:** **Invasion of subserosa or mesoappendix** \n* Code 300 when the only statement is \"Tumor invades through the muscularis propria into subserosa or mesoappendix but does not extend to serosal surface\" and there isn't enough information to clarify subserosa versus mesoappendix. \n\n**Note 7:** **Macroscopic adhesions** \n* Use code 700 for macroscopic adhesions if no pathological confirmation, and for microscopically confirmed tumor in adhesions. \n* However, if no tumor is present in adhesion(s) upon microscopic examination, the classification is based upon extent of tumor invasion into or through the wall (see codes 100-600). \n\n**Note 8:** **Contiguous extension** \n* Codes 700 and 750 are used for contiguous extension from the site of origin\n* Except for intraperitoneal metastases limited to the right lower quadrant (RLQ) of the abdomen for **mucinous tumors (see code 600)**, **discontinuous involvement is coded in EOD Mets**.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Overman, M.J., Jessup, J.M., et al. **Appendix - Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:04.319Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive \n(Adeno) carcinoma, noninvasive, in a polyp or adenoma\n\nHigh-grade appendiceal mucinous neoplasm confined by the muscularis propria (HAMN)", "VALUE:IS" ], [ "050", "Low-grade appendiceal mucinous neoplasm confined by the muscularis propria (LAMN) (in situ)\n\nAcellular mucin or mucinous epithelium may invade into muscularis propria", "VALUE:IS" ], [ "070", "Lamina propria\nMucosa (intramucosal, NOS)\nMuscularis mucosae", "VALUE:L" ], [ "100", "Submucosa\n\nConfined to appendix, NOS\nConfined to polyp, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Muscularis propria", "VALUE:L" ], [ "300", "Extension through wall, NOS\nInvasion through muscularis propria\nNon-peritonealized pericolic tissues invaded\nPerimuscular tissue invaded\nSubserosa \n* Includes acellular mucin or mucinous epithelium that extends into the subserosa (LAMN tumors)\n\nTransmural, NOS\nWall, NOS", "VALUE:L" ], [ "400", "Adjacent tissue(s), NOS\nConnective tissue\nFat, NOS\nMesenteric fat\nMesentery \nMesoappendix\n* Includes acellular mucin or mucinous epithelium that extends into the mesoappendix (LAMN tumors)\n * See code 500 if serosa of the mesoappendix is involved\n\nPericolic fat", "VALUE:RE" ], [ "500", "Invasion of/through serosa (mesothelium) (visceral peritoneum)\n* Includes acellular mucin or mucinous epithelium involving the serosa of the appendix or serosa of the mesoappendix (LAMN tumors)", "VALUE:RE" ], [ "700", "Abdominal wall\nAdherent to other organs or structures\nGreater omentum\nRetroperitoneum (excluding fat)\nSmall intestine\n\nTumor found in adhesion(s) if microscopic examination performed", "VALUE:RE" ], [ "750", "Adrenal (suprarenal) gland\nBladder\nDiaphragm\nFallopian tube\nFistula to skin\nGallbladder\nKidney\nLiver\nOther segment(s) of colon/rectum via serosa\nOvary\nUreter\nUterus\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfh.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfh.json deleted file mode 100644 index 8321dee99..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfh.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bfh", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **GIST tumors in the Digestive System** \n* For GIST tumors arising in the tubular organs of the digestive system (Esophagus, Stomach, Small Intestine, Appendix, Colon and Rectum), any extension beyond the muscular wall (e.g. invasion beyond the muscularis propria/muscularis, NOS) into adjacent tissues, sites or organs is no longer confined to the site of origin (EOD Primary Tumor code 100). \n * Extension through the wall, NOS, or through the muscularis propria/muscularis, NOS without further extension would be EOD Primary Tumor code 100 (confined to the site of origin).\n * Extension through the wall, NOS or through the muscularis propria/muscularis, NOS with any further extension into underlying tissues/fat, organs or structures would be included in EOD Primary Tumor codes 400 or 700 (Adjacent (connective) tissue, NOS or Extension to organs/structures, NOS).\n\n**Note:** **EOD references** \n See the schema corresponding to the primary site for information about the site's anatomy. \n* The corresponding schema can be used to help determine what the adjacent (connective) tissues, structures or organs are, but the site-specific schema codes are not to be used to determine whether a GIST tumor is localized, regional or distant.\n* See the chapter (schema) corresponding to the primary site for information about extension. \n* *For example*: For primary colon GIST, see the colon chapter (schema) for extension information.\n * **Esophagus**: C150-C155, C158-C159\n * **Small Intestine**: C170-C172, C178-C17\n * **Stomach**: C160-C166, C168-C169 \n * **Appendix**: C181 \n * **Colon and Rectum**: C180, C182-C189, C199, C209\n * **Retroperitoneum**: C480-C482, C488\n\n**Note 3:** **Retroperitoneum GIST** \n* For GIST tumors arising in the Retroperitoneum (C480-C482, C488), refer to the EOD General Instructions for the definition of adjacent (connective) tissue. \n* Refer to the General Instructions to determine whether the GIST tumor involves adjacent tissues or is confined to the primary site.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) DeMatteo, R.P., Maki, R.G., Pollock, R.E., et al. **Gastrointestinal Stromal Tumor**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:10.987Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Any size tumor\n\nConfined to site of origin\nLocalized, NOS", "VALUE:L" ], [ "400", "Any size tumor\n* Adjacent (connective) tissue, NOS", "VALUE:RE" ], [ "700", "Any size tumor\n- Adherent to organs/structure, NOS\n- Extension to organs/structures, NOS", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfi.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfi.json deleted file mode 100644 index 2a6d40759..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfi.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bfi", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Shi, C., Woltering, E.A., Washington, M.K., et al. **Neuroendocrine Tumors of the Colon and Rectum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Colon and Rectum**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:27.006Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Any size tumor with invasion of\n- Intramucosa, NOS\n- Lamina propria \n- Mucosa, NOS\n- Muscularis mucosae \n- Submucosa (superficial invasion) \n\nConfined to colon, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Muscularis propria \n- WITH invasion of lamina propria or submucosa", "VALUE:L" ], [ "300", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\n- Rectum: WITH intraluminal extension to colon and/or anal canal/anus\n\nNon-peritonealized pericolic tissues invaded\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded WITHOUT penetration overlying serosa\nTransmural, NOS\nWall, NOS", "VALUE:L" ], [ "400", "Adjacent (connective) tissue(s), NOS\nFat, NOS\nGastrocolic ligament (transverse colon and flexures)\nGreater omentum (transverse colon and flexures)\nMesentery (including mesenteric fat, mesocolon)\nPericolic fat\nPerirectal fat\nRectovaginal septum (rectum)\nRetroperitoneal fat (ascending and descending colon)", "VALUE:RE" ], [ "600", "Invasion of/through\n- Mesothelium\n- Serosa\n- Tunica serosa\n- Visceral peritoneum\n\nColon subsites\n- Abdominal wall\n- Adrenal (suprarenal) gland\n- Bladder\n- Diaphragm\n- Fallopian tube\n- Fistula to skin\n- Gallbladder\n- Other segment(s) of colon via serosa\n- Retroperitoneum (excluding fat)\n- Small intestine\n\nCecum (C180)\n- Greater omentum\n- Kidney\n- Liver\n- Ureter\n\nAscending colon (C182)\n- Greater omentum\n- Kidney, right\n- Liver, right lobe\n- Ureter, right\n\nTransverse colon and flexures (C183, C184, C185)\n- Bile ducts\n- Gallbladder\n- Kidney\n- Liver\n- Pancreas\n- Spleen\n- Stomach\n\nDescending colon (C186)\n- Greater omentum\n- Kidney, left\n- Pelvic wall\n- Retroperitoneal fat\n- Spleen\n- Ureter, left\n\nSigmoid colon (C187)\n- Greater omentum\n- Pelvic wall\n\nRectosigmoid (C199)\n- Cul de sac (rectouterine pouch)\n- Pelvic wall\n- Small intestine\n\nRectum (C209)\n- Anus\n- Bladder (males only)\n- Cul de sac (rectouterine pouch)\n- Ductus deferens\n- Pelvic wall\n- Prostate\n- Rectovaginal septum\n- Rectovesical fat (males only)\n- Seminal vesicle(s)\n- Skeletal muscle(s) of pelvic floor\n- Vagina", "VALUE:RE" ], [ "700", "Colon subsites\n- Ovary(ies)\n- Uterus\n\nTransverse colon and flexures\n- Ureter\n\nSigmoid colon\n- Cul de sac (rectouterine pouch)\n- Ureter\n\nRectosigmoid\n- Bladder\n- Colon via serosa\n- Fallopian tube(s)\n- Ovary(ies)\n- Prostate\n- Skeletal muscle(s) of pelvic floor\n- Ureter(s)\n- Vagina\n\nRectum\n- Bladder (females only)\n- Bone(s) of pelvis\n- Cervix\n- Perineum, perianal skin\n- Sacrum\n- Sacral plexus\n- Urethra\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfk.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfk.json deleted file mode 100644 index 65fdafd59..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfk.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bfk", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Woltering, E.A., Bergsland, E.K., et al. **Neuroendocrine Tumors of the Stomach**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Stomach,** from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:48.041Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Any size tumor\n- Invasive tumor confined to\n + Intramucosal, NOS\n + Lamina propria (including in a polyp)\n + Mucosa, NOS\n + Muscularis mucosae (including in a polyp)\n + Submucosa (superficial invasion) (including in a polyp)\n\nConfined to stomach, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Any size tumor\n- Invasion of muscularis propria", "VALUE:L" ], [ "400", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS\nPerimuscular tissue invaded\nSubserosal tissue/(sub)serosal fat invaded", "VALUE:L" ], [ "500", "Extension to adjacent (connective) tissue \nWITHOUT perforation of visceral peritoneum covering these structures\n\nGastric artery\nLigament(s) \n- Gastrocolic\n- Gastrohepatic\n- Gastrosplenic\n\nOmentum (greater, lesser, NOS)\nPerigastric fat", "VALUE:RE" ], [ "600", "Invasion of/through\n- Mesothelium\n- Serosa\n- Tunica serosa\n- Visceral peritoneum\n\nColon/mesocolon (including transverse and flexures)\nDiaphragm\nDuodenum (via serosa)\nEsophagus (via serosa)\nIleum\nJejunum\nLiver\nPancreas\nSmall intestine, NOS\nSpleen", "VALUE:RE" ], [ "700", "Aorta\nAbdominal wall\nAdrenal (suprarenal) gland\nCeliac (axis) artery\nKidney\nRetroperitoneum\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfl.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfl.json deleted file mode 100644 index 596f1e88f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfl.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bfl", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **FIGO and extension information** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to code primary tumor in preference to a statement of FIGO stage.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Dizon, D.S., Olawaiye, A.B., Mutch, D.G., et al. **Corpus Uteri - Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:26.516Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Confined to endometrium\n* Stromal\n\nFIGO Stage IA", "JUMP:peritoneal_cytology_with_primary_tumor_for_ss2018_t_19664" ], [ "125", "Confined to endometrium or endocervix (glandular, or glandular and stromal)", "VALUE:RE" ], [ "150", "Tumor invades less than one-half of myometrium\n* Invasion of inner half of myometrium\n\nFIGO Stage IB", "JUMP:peritoneal_cytology_with_primary_tumor_for_ss2018_t_19664" ], [ "175", "Tumor invades less than one-half of myometrium\n* WITH involvement of endocervix", "VALUE:RE" ], [ "200", "Tumor invades one-half or more of myometrium\n* Invasion of outer half of myometrium\n\nFIGO Stage IC", "JUMP:peritoneal_cytology_with_primary_tumor_for_ss2018_t_19664" ], [ "250", "Tumor invades one-half or more of myometrium\n* WITH involvement of endocervix", "VALUE:RE" ], [ "300", "Invasive cancer confined to corpus uteri\nInvasion of myometrium, NOS\nTunica serosa of visceral peritoneum (serosa covering the corpus)\n\nLocalized, NOS\n\nFIGO Stage I [NOS]", "JUMP:peritoneal_cytology_with_primary_tumor_for_ss2018_t_19664" ], [ "350", "Invasion of myometrium, NOS WITH involvement of endocervix\n\nCervix uteri, NOS, but not beyond uterus", "VALUE:RE" ], [ "400", "Extension or metastasis within true pelvis\n- Adnexa, NOS\n + Fallopian tube(s)\n + Ligaments (broad, round, uterosacral)\n + Ovary(ies)\n - Parametrium\n - Visceral peritoneum of pelvic organs excluding serosa of corpus uteri\n\nFIGO Stage IIA", "VALUE:RE" ], [ "450", "Parietal serosa of pelvic cavity\nPelvic wall(s)\nUreter\nVagina\nVulva\n\nDescribed clinically as \"frozen pelvis\", NOS\n\nFIGO Stage IIB", "VALUE:RE" ], [ "500", "Extension beyond uterus within pelvis, NOS\n\nFIGO Stage II [NOS]", "VALUE:RE" ], [ "550", "Infiltration of abdominal tissues, one of the following sites\n- Abdominal serosa (visceral or parietal peritoneum of abdomen)\n- Sigmoid colon\n- Small intestine\n- Other abdominal structures\n\nFIGO Stage IIIA", "VALUE:D" ], [ "600", "Infiltration of abdominal tissues (see code 550), more than one site\n\nFIGO Stage IIIB", "VALUE:D" ], [ "650", "Abdominal tissues involvement, NOS\n* Further contiguous extension\n\nFIGO Stage III [NOS]", "VALUE:D" ], [ "700", "Bladder wall\nBladder, NOS excluding mucosa\nBowel wall\nRectal wall\nRectum, NOS excluding mucosa", "VALUE:RE" ], [ "750", "Invasion of organs in code 700 plus infiltration of any abdominal tissues\n\nExtension to bowel mucosa or bladder (excluding bullous edema)\nCul de sac\n\nFIGO Stage IVA, IV [NOS]", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfm.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfm.json deleted file mode 100644 index 4b5cc8d62..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfm.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bfm", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **FIGO and extension information** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and extension information on the primary tumor are available, use the extension information to code primary tumor in preference to a statement of FIGO stage.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Dizon, D.S., Olawaiye, A.B., Mutch, D.G., et al. **Corpus Uteri - Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:35.066Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Confined to endometrium (stroma)\n* Invasion of myometrium, NOS\n* Invasive cancer tumor confined to corpus uteri\n* Tunica serosa of the visceral peritoneum (serosa covering the corpus)\n\nLimited to uterus, NOS\nLocalized, NOS\n\nFIGO Stage IA, IB, I [NOS]", "JUMP:peritoneal_cytology_with_primary_tumor_for_ss2018_t_88427" ], [ "200", "Invasion of\n* Cervical stromal invasion\n\nCervix uteri, NOS, but not beyond the uterus\nEndocervical glandular involvement only", "VALUE:RE" ], [ "400", "Extension or metastasis within true pelvis\n- Adnexa, NOS\n + Fallopian tube(s)\n + Ligaments (broad, round, uterosacral)\n + Ovary(ies)\n - Parametrium\n - Visceral peritoneum of pelvic organs excluding serosa of corpus uteri\n\nFIGO Stage IIA", "VALUE:RE" ], [ "450", "Parietal serosa of pelvic cavity\nPelvic wall(s)\nUreter\nVagina\nVulva\n\nDescribed clinically as \"frozen pelvis\", NOS\n\nFIGO Stage IIB", "VALUE:RE" ], [ "500", "Extension beyond uterus, within pelvis, NOS\n\nFIGO Stage II [NOS]", "VALUE:RE" ], [ "550", "Infiltration of abdominal tissues, one of the following sites\n- Abdominal serosa (visceral or parietal peritoneum of abdomen)\n- Sigmoid colon\n- Small intestine\n- Other abdominal structures\n\nFIGO Stage IIIA", "VALUE:D" ], [ "600", "Infiltration of abdominal tissues (code 550), more than one site\n\nFIGO Stage IIIB", "VALUE:D" ], [ "650", "Abdominal tissues involvement, NOS\n\nFIGO Stage III [NOS]", "VALUE:D" ], [ "700", "Bladder wall \nBladder, NOS excluding mucosa\nBowel wall\nRectal wall\nRectum, NOS excluding mucosa", "VALUE:RE" ], [ "750", "Invasion of organs in code 700 plus infiltration of any abdominal tissues\n\nExtension to bowel mucosa or bladder (excluding bullous edema)\nCul de sac (rectouterine pouch)\n\nFIGO Stage IVA, IV [NOS]\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfp.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfp.json deleted file mode 100644 index 4e3842d75..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfp.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bfp", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Woltering, E.A., Bergsland, E.K., et al. **Neuroendocrine Tumors of the Jejunum and Ileum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Jejunum and Ileum**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:47.495Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Tumor less than or equal to 1 cm AND confined to\n- Intramucosal, NOS\n- Lamina propria (including in a polyp)\n- Mucosa, NOS\n- Muscularis mucosae (including in a polyp)\n- Submucosa (superficial invasion) (including in a polyp)\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Tumor greater than 1 cm\n\nOR Invades muscularis propria \nInvasion of muscularis, NOS", "VALUE:L" ], [ "300", "Invasion through muscularis propria\nExtension through wall, NOS\nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS \nWall, NOS", "VALUE:L" ], [ "500", "Adjacent (connective) tissue(s), NOS (without serosal penetration)\nFat, NOS\nMesenteric fat\nMesentery (adjacent loops of bowel)\nNonperitonealized perimuscular tissue\nRetroperitoneum", "VALUE:RE" ], [ "600", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum)\n\nAbdominal wall\nColon (including appendix)\nOther segments of the small intestine via serosa\nRetroperitoneum invaded greater than 2 cm in depth", "VALUE:RE" ], [ "700", "Bladder\nFallopian tube(s)\nOvary(ies)\nUterus\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfq.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfq.json deleted file mode 100644 index 084d50c65..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfq.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bfq", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Uveal melanomas** \n* Uveal melanomas arise most commonly in the choroid, less frequently in the ciliary body, and least often in the iris. \n* Melanomas of the iris tend to be small, and those arising from or extending to the ciliary body typically are large.\n\n**Note 2:** **Ciliary body and choroid melanomas** \n* Primary ciliary body and choroidal melanomas are classified according to four tumor size categories. The tumor size categories are based on the largest basal and thickness.\n * Basal diameter is collected in data item *Measured Basal Diameter* [NAACCR Date Item #3887] \n * Thickness is collected in the data item *Measured Thickness* [NAACCR Data Item #3888]\n\n**Note 3:** **Discrete tumor deposit(s)** \n* Discrete tumor deposit(s) in the orbit that are not contiguous to the eye are recorded in lymph nodes (See EOD Regional Nodes).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kivelä, T., Finger, P.T., et al. **Uveal Melanoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:50.243Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Any tumor size category\n- UNKNOWN if ciliary body involvement OR extraocular extension\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Any tumor size category\n- WITHOUT ciliary body involvement AND extraocular extension", "VALUE:L" ], [ "300", "Any tumor size category\n- WITH ciliary body involvement", "VALUE:L" ], [ "400", "Any tumor size category\n- WITH extraocular extension less than or equal to 5 mm in largest diameter\n- NONE or UNKNOWN if ciliary body involvement", "VALUE:RE" ], [ "500", "Any tumor size category\n- WITH ciliary body involvement \n- AND extraocular extension less than or equal to 5 mm in largest diameter", "VALUE:RE" ], [ "600", "Extraocular extension GREATER than 5 mm", "VALUE:RE" ], [ "700", "Extraocular extension, NOS\nUNKNOWN measurement\nWITH or WITHOUT ciliary body involvement", "VALUE:RE" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfr.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfr.json deleted file mode 100644 index ed2e18136..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfr.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bfr", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Uveal Melanomas** \n* Uveal melanomas arise most commonly in the choroid, less frequently in the ciliary body, and least often in the iris. \n* Melanomas of the iris tend to be small, and those arising from or extending to the ciliary body typically are large.\n\n**Note 2:** **Discrete tumor nodules** \n* Discrete tumor deposit(s) in the orbit that are not contiguous to the eye are recorded in lymph nodes (See EOD Regional Nodes).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kivelä, T., Finger, P.T., et al. **Uveal Melanoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:02.252Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Limited to iris\n * Not more than 3 clock hours in size", "VALUE:L" ], [ "150", "Limited to iris \n * More than 3 clock hours in size", "VALUE:L" ], [ "200", "Limited to iris\n * WITH melanomalytic (secondary) glaucoma", "VALUE:L" ], [ "250", "Limited to iris, NOS\n* Localized, NOS", "VALUE:L" ], [ "300", "Tumor confluent with or extending into ciliary body\n- WITHOUT secondary glaucoma", "VALUE:L" ], [ "350", "Tumor confluent with or extending into ciliary body AND choroid\n- WITHOUT secondary glaucoma", "VALUE:L" ], [ "400", "Tumor confluent with or extending into ciliary body, choroid or both\n- WITH secondary glaucoma", "VALUE:L" ], [ "450", "Tumor confluent with or extending into ciliary body, choroid or both \n- Presence of secondary glaucoma unknown", "VALUE:L" ], [ "500", "Tumor confluent with or extending into ciliary body, choroid or both \n- WITH scleral extension", "VALUE:L" ], [ "550", "Tumor WITH extrascleral extension \n- LESS than or equal to 5 mm in diameter", "VALUE:RE" ], [ "600", "Tumor WITH extrascleral extension\n- MORE than 5 mm in diameter", "VALUE:RE" ], [ "650", "Tumor WITH extrascleral extension\n- Measurement of diameter not specified\n\nAdjacent extraocular extension", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:RE" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfs.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfs.json deleted file mode 100644 index 54e1246d4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfs.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bfs", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Krasinskas, A., Pawlik, T.M., Vauthey, J.N., et al. **Distal Bile Duct**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:37.365Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive\nHigh-grade biliary intraepithelial neoplasia (BilIn-3)", "VALUE:IS" ], [ "100", "Invasive tumor confined to\n- Lamina propria\n- Mucosa, NOS\n- Muscularis propria\n- Submucosa (superficial invasion)\n\nConfined to distal bile duct, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Adjacent (connective) tissue, NOS\nAdipose tissue\nBeyond wall of bile duct\nDuodenum\nGallbladder\nLiver including porta hepatis\nPancreas\nPeriductal/fibromuscular connective tissue\nUnilateral branches of hepatic artery (right or left)\nUnilateral branches of portal vein (right or left)", "VALUE:RE" ], [ "600", "Colon\nHepatic artery (common, NOS)\nMain portal vein or its branches bilaterally\nOmentum (greater, lesser, NOS)\nStomach (distal, proximal)", "VALUE:RE" ], [ "700", "Abdominal wall\nCeliac (axis) artery\nSuperior mesenteric artery\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bft.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bft.json deleted file mode 100644 index eef3327f6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bft.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bft", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Biliary radicals** \n* The biliary radicals are the ducts or tubes that drain bile into the intestine as part of the digestive process. \n* The second-order biliary radicals are the next largest branches or ducts of the biliary system which join to form or empty into the main hepatic bile duct.\n\n**Note 2:** **Vessel invasion** \n* Codes 400 and 500 are defined strictly in terms of invasion into specific large blood vessels and the biliary radicals within the liver. \n* Code 500 when the specified vessels and/or the biliary radical within the liver plus other named organs are involved. \n\n**Note 3:** **Porta hepatis involvement** \n* Involvement within the porta hepatis is coded according to the structures involved: portal vein, common hepatic artery, and common hepatic duct.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Nagorney, D.M., Pawlik, T.M., Vauthey, J.N., et al. **Perihilar Bile Ducts**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:38.165Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive\nHigh-grade biliary intraepithelial neoplasia (BilIn-3)", "VALUE:IS" ], [ "100", "Invasive tumor of perihilar (proximal) bile duct(s) confined to\n- Lamina propria\n- Mucosa, NOS \n- Muscle layer of fibrous tissue\n- Muscularis propria\n- Subepithelial connective tissue (tunica mucosa)\n- Submucosa (superficial invasion)\n\nConfined to perihilar bile duct, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Adipose tissue\nAdjacent (connective) tissue, NOS\nBeyond wall of bile duct\nPeriductal/fibromuscular connective tissue", "VALUE:RE" ], [ "250", "Adjacent hepatic parenchyma\nLiver", "VALUE:RE" ], [ "300", "Colon\nDuodenum\nGallbladder\nOmentum (greater, lesser, NOS)\nPancreas\nStomach", "VALUE:RE" ], [ "400", "Unilateral branches of hepatic artery (right or left)\nUnilateral branches of portal vein (right or left)", "VALUE:RE" ], [ "500", "Hepatic artery (common, NOS)\nMain portal vein or its branches bilaterally\nPortal vein, NOS\nSecond-order biliary radicals bilaterally\nUnilateral second-order biliary radicals with contralateral portal vein or hepatic artery involvement", "VALUE:RE" ], [ "600", "Abdominal wall", "VALUE:D" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfv.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfv.json deleted file mode 100644 index de512184a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfv.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extension_bfv", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Pollock, R.E., Maki, R.G., et al. **Soft Tissue Sarcoma of the Retroperitoneum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:18.642Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Any size tumor\n- Confined to site of origin\n- Localized, NOS", "VALUE:L" ], [ "200", "Any size tumor \n\nAll sites\n- Adjacent connective tissue, NOS\n- Adjacent organs/structures, NOS\n- Bone/cartilage \n\nRetroperitoneum (C480)\n- Adrenal(s) (suprarenal gland(s))\n- Aorta\n- Colon (ascending and descending)\n- Kidney(s)\n- Pancreas\n- Vena cava\n- Vertebra\n\nPeritoneum (C481, C482, C488)\n- Colon (except ascending and descending colon)\n- Esophagus\n- Gallbladder\n- Liver\n- Small intestine\n- Spleen\n- Stomach", "VALUE:RE" ], [ "700", "Peritoneum (C481, C482, C488)\n- Colon (ascending and descending colon) \n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfw.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfw.json deleted file mode 100644 index 5f40d3ecd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfw.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bfw", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Cystic duct location** \n* The cystic duct extends from the neck of the gallbladder to its junction with the common hepatic duct, to form the common bile duct.\n\n**Note 2:** **Portal hepatis involvement** \n* Involvement within the porta hepatis is coded according to the structures involved: portal vein, common hepatic artery, and common hepatic duct.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Zhu, A.X., Pawlik, T.M., Vauthey, J.N., et al. **Gallbladder**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:39.004Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Invasive tumor confined to\n- Lamina propria\n- Mucosa, NOS\n- Submucosa (superficial invasion)", "VALUE:L" ], [ "150", "Code 100 plus any involvement of gallbladder", "VALUE:RE" ], [ "200", "Muscularis propria (layer)", "VALUE:L" ], [ "250", "Code 200 plus any involvement of gallbladder", "VALUE:RE" ], [ "300", "Confined to cystic duct, NOS\n\nLocalized, NOS", "VALUE:L" ], [ "400", "Perimuscular connective tissue (peritoneal side)\n- WITHOUT involvement of serosa (visceral peritoneum)\n\nPeritoneal side of gallbladder", "VALUE:RE" ], [ "450", "Perimuscular connective tissue (hepatic side)\n- WITH no extension into liver\n\nHepatic side of gallbladder", "VALUE:RE" ], [ "500", "Beyond wall of cystic duct\nPerimuscular tissue, NOS\nUNKNOWN if gallbladder or liver involved", "VALUE:RE" ], [ "550", "Extrahepatic bile ducts (including common bile duct)", "VALUE:L" ], [ "600", "Extrahepatic bile ducts (including common bile duct) with extension to gallbladder or structures in codes 400-500 \nOR ONE of the following organs or structures \n+ Ampulla of Vater\n+ Colon\n+ Duodenum, NOS\n+ Invasion of/through serosa\n+ Liver \n+ Omentum, greater or lesser\n+ Pancreas\n+ Periductal/perimuscular connective tissue\n+ Serosa (visceral peritoneum) perforated\n+ Small intestine, NOS\n+ Stomach, distal or proximal\n+ Unilateral branches of hepatic artery (right or left)\n+ Unilateral branches of portal vein (right or left)", "VALUE:RE" ], [ "650", "Two or more organs and/or structures listed in code 600\n\nHepatic artery (common, NOS)\nPortal vein (main, NOS)", "VALUE:RE" ], [ "700", "Abdominal wall\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfy.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfy.json deleted file mode 100644 index 1da493699..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bfy.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bfy", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **Benign/Borderline** \n* Benign (/0) or Borderline (/1) tumors are always coded to 050 regardless of size or extension to adjacent sites.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Laws, E.R., Curran, W.J., et al. **Brain and Spinal Cord**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:15.359Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "050", "Benign or borderline tumor\n* Behavior is /0 or /1", "VALUE:B" ], [ "100", "Invasive tumor confined to gland of origin\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Adjacent connective/soft tissue\nAdjacent organ(s)/structure(s) for pituitary and craniopharyngeal duct**\n- Cavernous sinus\n- Infundibulum\n- Pons\n- Sphenoid body and sinuses\n\nAdjacent organ(s)/structure(s) for pineal\n- Infratentorial and central brain", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bgc.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bgc.json deleted file mode 100644 index 63ced8551..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bgc.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_bgc", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **Definition of Plasma Cell Myeloma** \n* Plasma cell myeloma/multiple myeloma (9732) is a widely disseminated plasma cell neoplasm, characterized by a single clone of plasma cells derived from B cells that grows in the bone marrow. It is always coded to 700 for systemic involvement.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Bergsagel, P.L., Jaffe, E.S., Leonard, J.P., et al. **Plasma Cell Myeloma and Plasma Cell Disorders**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:02.389Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "700", "Multiple myeloma (9732)\nMyeloma, NOS (9732)\nPlasma cell myeloma (9732)", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bna.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_bna.json deleted file mode 100644 index c8675bd2c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_bna.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "extension_bna", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "last_modified" : "2025-11-14T20:05:16.406Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "888", "Not applicable: Information not collected for this schema", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extension_btb.json b/src/test/resources/algorithms/eod_public/3.3/tables/extension_btb.json deleted file mode 100644 index d17d1430f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extension_btb.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extension_btb", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Lacrimal Sac** \n* The lacrimal sac is the upper dilated end of the nasolacrimal duct, lodged in a deep groove formed by the lacrimal bone and frontal process of the maxilla. \n* The sac connects the lacrimal canaliculi, which drain tears from the eye's surface, and the nasolacrimal duct, which conveys this fluid into the nasal cavity. \n* The most common epithelial tumors of the lacrimal sac are squamous cell and transitional cell carcinomas.\n\n**Note 2:** **Periosteum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:46.153Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: Noninvasive; intraepithelial", "VALUE:IS" ], [ "100", "Confined to lacrimal sac\nLocalized, NOS", "VALUE:L" ], [ "200", "Adjacent bone\nGlobe (eyeball)\nOptic nerve\nOrbital soft tissues\nPeriosteum", "VALUE:RE" ], [ "700", "Adjacent structures, NOS\nBrain\nPterygoid fossa\nSinus\nTemporal fossa\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_clinical_5022.json b/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_clinical_5022.json deleted file mode 100644 index ad18434a4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_clinical_5022.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extranodal_extension_clinical_5022", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Extranodal Extension Clinical", - "title" : "Extranodal Extension Clinical", - "description" : "Extranodal Extension (ENE) Clinical is defined as “the extension of a nodal metastasis through the lymph node capsule into adjacent tissue” during the diagnostic workup. This data item defines clinical ENE for sites other than Head and Neck.\n\nThe presence of extranodal extension (ENE) from regional lymph nodes is an important prognostic factor in some cancers because these patients are rarely cured without some type of systemic chemotherapy or radiation. \n\nExtranodal extension is defined as metastatic tumor growing from within the lymph node outward through the lymph node capsule and into surrounding connective tissues. \n* \"A regional node extending into a distant structure or organ is categorized as ENE and is not recorded as distant metastatic disease.\"\n\n**Clinical ENE is described as** \"Unambiguous evidence of gross ENE on clinical examination (e.g., invasion of skin, infiltration of musculature, tethering to adjacent structures, or cranial nerve, brachial plexus, sympathetic trunk, or phrenic nerve invasion with dysfunction)\"\n* The terms 'fixed' or 'matted' are used to describe lymph nodes\n\nThis data item is for ENE that is detected clinically.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Extranodal Extension (ENE) Clinical or physician clinical staging can be used to code this data item when there is no other information available.\n\n**Note 2:** **Criteria for coding** \n* Code the status of extranodal extension assessed during the diagnostic working for the assignment of the clinical stage for the most involved regional lymph node(s)\n* This is mainly determined by physical examination and included statements such as fixed or matted nodes\n* The assessment for ENE **in addition to physical examination** may include imaging, biopsy of the regional lymph node, and/or biopsy of tissues surrounding the regional lymph node\n* Do not code ENE for any distant nodes\n* Be aware that the rules for coding ENE for head and neck sites compared to non-head and neck sites are different.", - "last_modified" : "2025-11-06T18:43:18.440Z", - "definition" : [ { - "key" : "extranodal_ext_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Regional lymph node(s) involved, ENE not present/not identified during diagnostic workup" ], [ "1", "Regional lymph node(s) involved, ENE present/identified during diagnostic workup, \nbased on physical exam WITH or WITHOUT imaging" ], [ "2", "Regional lymph node(s) involved, ENE present/identified during diagnostic workup, \nbased on microscopic confirmation" ], [ "4", "Regional lymph nodes involved, ENE present/identified, unknown how identified" ], [ "7", "No lymph node involvement identified during diagnostic workup (cN0)\nNon-invasive neoplasm (behavior /2)" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error)" ], [ "9", "Not documented in medical record \nClinical ENE not assessed or unknown if assessed during diagnostic workup\nClinical assessment of lymph node(s) not done, or unknown if done" ] ], - "additional_info" : "**Source documents:** pathology report from surgical resection \n\n**Other names include** ENE, extracapsular extension, ECE, extracapsular extension, ECE, extranodal spread, extracapsular extension, or extracapsular spread\n * **Note**: ENE is the preferred terminology\n\nFor further information, refer to the **Merkel Cell Carcinoma** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Merkel Cell Carcinoma*.", - "coding_guidelines" : "**1)** **Code 0** when lymph nodes are determined to be **clinically positive** and physical examination does not indicate any signs of extranodal extension\n\n**2)** **Code 1** when **ENE** is unquestionable as determined by physical examination \n\n**3)** **Code 2** when there are positive nodes clinically, ENE is identified by biopsy (microscopically confirmed)\n\n**4)** **Code 4** when there are positive nodes clinically, ENE is identified, but not known how identified\n\n**5)** **Code 7** when nodes are clinically negative (cN0)\n\n**6)** **Code 9** when \n* No information in the medical record\n* Positive nodes clinically, not evaluated (assessed) for ENE\n* Positive nodes clinically, unknown if evaluated (assessed) for ENE\n* Lymph nodes not evaluated (assessed) clinically\n* Unknown if lymph nodes evaluated (assessed) clinically\n* Lymph node biopsy (e.g., FNA, core, incisional, excisional, sentinel node) performed and is negative for ENE or not stated", - "rationale" : "Extranodal Extension Clinical (non-Head and Neck) is a Registry Data Collection Variable for AJCC. This data item was previously collected for Penis, SSF #17." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_clinical_79321.json b/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_clinical_79321.json deleted file mode 100644 index fdb6b37b4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_clinical_79321.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extranodal_extension_head_and_neck_clinical_79321", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Extranodal Extension Head and Neck Clinical", - "title" : "Extranodal Extension Head and Neck Clinical", - "subtitle" : "ENE, Extracapsular extension (ECE)", - "description" : "Extranodal extension is defined as “the extension of a nodal metastasis through the lymph node capsule into adjacent tissue” and is a prognostic factor for most head and neck tumors. This data item pertains to extranodal extension detected radiologically or by physical examination and may not correlate with pathological extranodal extension.\n\nENE on physical examination (clinical ENE, cENE) is described in the AJCC Head and Neck Staging System as \"unambiguous evidence of gross ENE on clinical examination (e.g., invasion of skin, infiltration of musculature, tethering to adjacent structures, or cranial nerve, brachial plexus, sympathetic trunk, or phrenic nerve invasion with dysfunction)\"\n\nImaging-detected extranodal extension (iENE) refers to unequivocal radiological signs of tumor invasion through the through the capsule of a lymph node into either perinodal fat or adjacent tissues (e.g. skin, muscle, or neurovascular structures) or a coalescent nodal mass (a coalescent nodal mass comprises ≥ 2 adjacent lymph nodes that have lost their intervening tissue planes and capsules to merge into a single indivisible structure).", - "notes" : "**Note 1:** **•\tPhysician Statement** \n* Physician statement indicating the presence or absence of extranodal extension (ENE) can be used to code this data item when no other information is available\n* Physical exam alone is sufficient to determine Clinical ENE\n\n**Note 2:** **Clinical assessment criteria** \n* The assessment of ENE must be based on evidence acquired prior to definitive surgery of the primary site, chemotherapy, radiation, or other type of treatment, i.e., the clinical timeframe for staging. \n* The assessment for ENE may **include imaging and/or physical examination.** \n * Biopsy of the regional lymph node or surrounding tissue can be used to confirm the presence of metastatic carcinoma and thus verify the clinical assessment, but cannot be used in isolation to determine ENE during clinical staging\n* Fixed nodes are clinical indications of cENE\n* Matted nodes are indications of iENE\n* iENE is identified exclusively on imaging\n* ENE during clinical staging is considered present when cENE and/or iENE are present\n * Note that the rules for coding ENE for head and neck sites compared to non-head and neck sites are different", - "last_modified" : "2025-11-06T16:57:31.396Z", - "definition" : [ { - "key" : "extranodal_ext_hn_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Regional lymph node(s) involved, ENE not present/not identified during diagnostic workup" ], [ "1", "Regional lymph node(s) involved, ENE present/identified during diagnostic workup, \nbased on physical exam and/or imaging" ], [ "2", "Regional lymph node(s) involved, ENE present/identified during diagnostic workup, \nbased on microscopic confirmation" ], [ "4", "Regional lymph nodes involved, ENE present/identified, unknown how identified" ], [ "7", "No lymph node involvement during diagnostic workup (cN0)" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit" ], [ "9", "Not documented in medical record\nENE not assessed during diagnostic workup, or unknown if assessed\nClinical assessment of lymph node(s) not done, or unknown if done" ] ], - "additional_info" : "**Source documents:** imaging reports, physical exam\n\n**Other names include** Extracapsular extension (ECE), extranodal spread (ENS), or extracapsular spread (ECS)\n* **Note**: ENE is the preferred terminology, and includes\n * **cENE** for clinical ENE\n * **iENE** for imaging-detected ENE\n * **pENE** for pathological ENE\n\nFor further information, refer to the **Head and Neck** cancer protocols published by the College of American Pathologist for the AJCC Staging Systems for *Head and Neck*.", - "coding_guidelines" : "**1) Code 0** when lymph nodes are determined to be **clinically positive** and there is **no clinical evidence of ENE** based on physical examination.\n\n**2) Code 1** when there is **definitive (unquestionable) evidence of ENE** as determined by physical examination \n\n**3) Code 2** when there is **definitive (unquestionable) evidence of ENE** as determined by physical examination and/or imaging **and** nodal involvement is microscopically confirmed by biopsy \n\n**4) Code 4** when there is **definitive (unquestionable) evidence of ENE**, but the means of identification is not known\n\n**5) Code 7** when nodes are clinically negative (cN0)\n\n**6) Code 9** when \n* No information in the medical record\n* Positive nodes clinically, not evaluated (assessed) for ENE\n* Positive nodes clinically, unknown if evaluated (assessed) for ENE\n* Lymph nodes not evaluated (assessed) clinically\n* Unknown if lymph nodes evaluated (assessed) clinically", - "rationale" : "Extranodal Extension Head and Neck Clinical is a Registry Data Collection Variable in AJCC. It was previously collected as Head and Neck SSF #8 (Common SSF). Since the introduction of iENE in AJCC Version 9, both clinical ENE and imaging-detected ENE should be considered in this data item." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_pathological_87046.json b/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_pathological_87046.json deleted file mode 100644 index 2064517ad..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_head_and_neck_pathological_87046.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "extranodal_extension_head_and_neck_pathological_87046", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Extranodal Extension Head and Neck Pathological", - "title" : "Extranodal Extension Head and Neck Pathological", - "subtitle" : "ENE, Extracapsular extension (ECE)", - "description" : "Extranodal extension (ENE) is defined as “the extension of a nodal metastasis through the lymph node capsule into adjacent tissue” and is a prognostic factor for most head and neck tumors. This data item pertains to pathological staging extension.\n\nThe presence of extranodal extension (ENE) from regional lymph nodes is an important prognostic factor in some cancers because these patients are rarely cured without some type of systemic chemotherapy or radiation. Extranodal extension is defined as metastatic tumor growing from within the lymph node outward through the lymph node capsule and into surrounding connective tissues. \n\n* \"A regional node extending into a distant structure or organ is categorized as ENE and is not recorded as distant metastatic disease.”\n\nThis data item is for ENE that is detected pathologically for head and neck primaries.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of extranodal extension (ENE) pathologically during a lymph node dissection or physician pathological stage indicating the absence or presence of ENE can be used to code this data item when no other information is available.\n\n**Note 2:** **Pathological assessment criteria** \n* Code the status of ENE assessed on histopathologic examination of **surgically resected** involved regional lymph node(s) \n * Includes presence of ENE in a sentinel lymph node.\n \n* Do not code ENE from a lymph node biopsy (FNA, core, incisional), or the absence of ENE from a sentinel\n\n**Note 3:** **Regional vs. distant lymph nodes**\n* Do not code ENE for any distant lymph nodes\n\n**Note 4:** **Minor and Major ENE**\n * Minor ENE is defined as less than or equal to 2 mm\n * Major ENE is defined as greater than 2 mm\n * Matted lymph nodes and soft tissue metastasis are considered major ENE", - "last_modified" : "2025-11-06T17:01:11.898Z", - "definition" : [ { - "key" : "extranodal_ext_hn_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "Lymph nodes positive for cancer but ENE not identified or negative" ], [ "0.1-9.9", "ENE 0.1 to 9.9 mm" ], [ "X.1", "ENE 10 mm or greater" ], [ "X.2", "ENE minor, size unknown\nStated as ENE (mi)" ], [ "X.3", "ENE major, size unknown\nStated as ENE (ma)" ], [ "X.4", "ENE present, minor or major unknown, size unknown" ], [ "X.7", "Surgically resected regional lymph node(s) negative for cancer (pN0)" ], [ "X.8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code X.8 may result in an edit error)" ], [ "X.9", "Not documented in medical record\nNo surgical resection of regional lymph node(s)\nENE not assessed pathologically, or unknown if assessed\nPathological assessment of lymph node(s) not done, or unknown if done" ] ], - "additional_info" : "**Source documents:** imaging reports, physical exam\n\n**Other names include** Extracapsular extension (ECE), extranodal spread (ENS), or extracapsular spread (ECS)\n* *Note*: ENE is the preferred terminology, and includes\n * **cENE** for clinical ENE\n * **iENE** for imaging-detected ENE\n * **pENE** for pathological ENE\n\nFor further information, refer to the **Head and Neck** cancer protocols published by the College of American Pathologist for the AJCC Staging Systems for *Head and Neck*.", - "coding_guidelines" : "**1) Code 0.0** when there are positive nodes pathologically, but ENE not identified/not present.\n* **Absence of ENE**, positive lymph nodes assessed by lymph node dissection (1292: Scope of Regional Lymph Node Surgery must be 3-7)\n\n**2) Code the actual size of the ENE in the range 0.1-9.9 mm**\n\n**3) Code X.1** when actual size of the ENE is 10 mm or greater\n\n**4) Code X.2** when stated to be microscopic [ENE (mi)]\n\n**5) Code X.3** when stated to be major [ENE (ma)]\n\n**6) Code X.4** when size not documented, unknown whether microscopic (mi) or major (ma)\n\n**7) Codes 0.1-9.9, X.1, X.2, X.3, X.4** as appropriate for\n* Presence of ENE assessed by Sentinel Lymph Node biopsy\n* Presence of ENE assessed by lymph node biopsy\n* If codes 0.1-0.9, X.1-X.7 are used, this indicates that the lymph nodes were surgically resected, or a Sentinel Lymph Node biopsy was done and Scope of Regional Lymph Node Surgery [NAACCR Data Item: 1292] must be 2-7\n\n**8) Code X.7** when nodes are surgically resected, and they are negative (pN0)\n* Lymph nodes negative for cancer assessed by Sentinel lymph node biopsy or lymph node dissection\n* 1292: Scope of Regional Lymph Node Surgery must be 2-7\n\n**9) Code X.9** when \n* Absence of ENE, positive lymph nodes assessed by Sentinel Lymph Nodes Biopsy\n * Positive nodes pathologically, not evaluated (assessed) for ENE\n* Positive nodes pathologically, unknown if evaluated (assessed) for ENE\n* Lymph nodes not evaluated (assessed) pathologically (no surgical resection of lymph nodes)\n* Unknown if lymph nodes evaluated pathologically (assessed)", - "rationale" : "Extranodal Extension Head and Neck Pathological is a Registry Data Collection Variable in AJCC. It was previously collected as Head and Neck SSF #9 (Common SSF)." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_pathological_30739.json b/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_pathological_30739.json deleted file mode 100644 index a262cb4d8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extranodal_extension_pathological_30739.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extranodal_extension_pathological_30739", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Extranodal Extension Pathological", - "title" : "Extranodal Extension Pathological", - "description" : "Extranodal Extension (ENE) Pathological is defined as “the extension of a nodal metastasis through the lymph node capsule into adjacent tissue.\" This data item defines pathological ENE for sites other than Head and Neck.\n\nExtranodal extension is defined as metastatic tumor growing from within the lymph node outward through the lymph node capsule and into surrounding connective tissues. \n* \"A regional node extending into a distant structure or organ is categorized as ENE and is not recorded as distant metastatic disease.\"\n\nThis data item is for ENE that is detected pathologically.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Extranodal Extension (ENE) Pathological or physician pathological staging can be used to code this data item when there is no other information available.\n * Note that the rules for coding ENE for head and neck sites compared to non-head and neck sites are different.\n\n**Note 2:** **Criteria for Coding**\n* Code the status of extranodal extension assessed on the **surgical resection** specimen for the most involved regional lymph node(s)\n* Do not code ENE for any distant lymph nodes.\n* Be aware that the rules for coding ENE for head and neck sites compared to non-head and neck sites are different.", - "last_modified" : "2025-11-06T18:44:30.164Z", - "definition" : [ { - "key" : "extranodal_ext_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Regional lymph node(s) involved, ENE not present/not identified from surgical resection" ], [ "1", "Regional lymph node(s) involved, ENE present/identified from surgical resection" ], [ "7", "No lymph node involvement identified from surgical resection (pN0)" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error)" ], [ "9", "Not documented in medical record\nNo surgical resection of regional lymph node(s)\nNon-invasive neoplasm (behavior /2)\nCannot be determined\nPathological assessment of lymph node(s) not done, or unknown if done\nExtranodal Extension Pathological not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report from surgical resection \n\n**Other names include** ENE, extracapsular extension, ECE, extracapsular extension, ECE, extranodal spread, extracapsular extension, or extracapsular spread\n * **Note**: ENE is the preferred terminology\n\nFor further information, refer to the **Merkel Cell Carcinoma** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Merkel Cell Carcinoma*.", - "coding_guidelines" : "**1)** **Code 0** when\n* Absence of ENE, positive lymph nodes assessed by lymph node dissection\n* 1292: Scope of Regional Lymph Node Surgery must be 3-7\n\n**2)** **Code 1** when\n* Presence of ENE assessed by Sentinel Lymph Node biopsy\n* Presence of ENE assessed by lymph node dissection\n* 1292: Scope of Regional Lymph Node Surgery must be 2-7\n\n**3)** **Code 7** when\n* Lymph nodes negative for cancer assessed by Sentinel lymph node biopsy or lymph node dissection\n* 1292: Scope of Regional Lymph Node Surgery must be 2-7\n\n**4)** **Code 9** when\n* Absence of ENE, positive lymph nodes assessed by Sentinel Lymph Node biopsy\n * A positive Sentinel Lymph Node biopsy cannot assess the absence of ENE, only the presence of it. This is because there is not enough surrounding tissue in a Sentinel Lymph node biopsy to accurately assess ENE\n * Scope of Regional Lymph Node Surgery [NAACCR Data Item: 1292] must be 2-7\n* No information in the medical record\n* Positive nodes pathologically, not evaluated (assessed) for ENE\n* Positive nodes pathologically, unknown if evaluated (assessed) for ENE\n* Lymph nodes not evaluated (assessed) pathologically (no surgical resection of lymph nodes)\n* Unknown if lymph nodes evaluated pathologically (assessed)", - "rationale" : "Extranodal Extension Pathological (non-Head and Neck) is a Registry Data Collection Variable for AJCC. This data item was previously collected for Penis, SSF #17." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/extravascular_matrix_patterns_1397.json b/src/test/resources/algorithms/eod_public/3.3/tables/extravascular_matrix_patterns_1397.json deleted file mode 100644 index 3fb496356..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/extravascular_matrix_patterns_1397.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "extravascular_matrix_patterns_1397", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Extravascular Matrix Patterns", - "title" : "Extravascular Matrix Patterns", - "description" : "Extravascular Matrix Patterns, the presence of loops and networks in extracellular matrix patterns, is a prognostic factor for uveal melanoma.\n\nThe presence of extravascular matrix patterns is an indicator for shorter survival. There are two different types of patterns: loops only, or loops forming networks. The identification of the complex monocirculatory patterns (i.e., loops, networks, arcs with branching, parallel with cross-linking or a combination of these patterns) are done using confocal indocyanine green angiography. The patterns are assessed with light microscopy under a dark green filter after staining with periodic-acid Schiff without counterstain. This determines the presence or absence of each matrix pattern, which appear deep purple against a pink background.", - "notes" : "**Note:** **Physician Statement** \n* Physician statement of extravascular matrix patterns can be used to code this data item when no other information is available.", - "last_modified" : "2025-11-06T21:25:48.838Z", - "definition" : [ { - "key" : "extravascular_matrix_patterns", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Extravascular matrix patterns not present/not identified" ], [ "1", "Extravascular matrix patterns present/identified" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nExtravascular Matrix Patterns not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, confocal indocyanine green angiography report, clinician comment.\n\nFor further information, refer to the **Uveal Melanoma** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Uveal Melanoma*.", - "coding_guidelines" : "**1)** **Code 0** when pathology report states that loops and networks are not found\n\n**2)** **Code 1** when pathology reports states networks and/or loops present\n\n**3)** **Code 9** when\n* Pathology report available and there is no mention of extravascular matrix patterns (loops or networks)\n* Extravascular matrix patterns not assessed or unknown if assessed", - "rationale" : "Extravascular Matrix Patterns is a Registry Data Collection Variable in AJCC 8. This data item was previously collected as Uveal Melanoma, CS SSF #11, and CS SSF #12. These two data items were combined into one data for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/fibrosis_score_38658.json b/src/test/resources/algorithms/eod_public/3.3/tables/fibrosis_score_38658.json deleted file mode 100644 index 24b4b91c6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/fibrosis_score_38658.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "fibrosis_score_38658", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Fibrosis Score", - "title" : "Fibrosis Score", - "description" : "Fibrosis Score (Ishak Score), the degree of fibrosis of the liver based on pathological examination, is a prognostic factor for liver cancer.\n\nThe Fibrosis Score is based on degree of parenchymal fibrosis or cirrhosis of the nontumorous liver as defined in the surgical pathology report. Multiple fibrosis scoring systems have been described for use in pathological evaluation of liver disease. \n* Ishak system uses a scale of 0-6 with 6 indicating cirrhosis. \n * Recommended by AJCC and CAP\n* Batts-Ludwig system uses a score of 0-4, with a score of 3 defined as fibrous septa with architectural distortion but no obvious cirrhosis, and a score of 4 defined as cirrhosis\n * Used most commonly by US pathologists\n* METAVIR uses scores of F0-F4\n * Used mostly in Europe", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of fibrosis score can be used to code this data item when no other information is available. \n * Code 7 when the physician statement of fibrosis score is not based on histologic examination of the liver\n\n**Note 2:** **Criteria for collecting**\n* Record the results based on information collected during the initial work-up through the first course surgery, in the absence of neoadjuvant treatment. If multiple histologic assessments of the liver (biopsies or resections) are taken and have conflicting scores, record the highest score. \n * Information collected after the start of **neoadjuvant treatment** or primary systemic or radiation therapy **may not be used** to code this data item\n\n**Note 3:** **FIB Scoring** \n* FIB-4 is **NOT** a pathological fibrosis score of 4, it is a scoring method using the patient's age and relevant lab values to calculate a score. The medical record may show something like \"FIB-4 = 3.52.\" \n* Do not code FIB-4 values in this data item.\n\n**Note 4:** **Ishak score (classified by AJCC)** \n* F0: None to moderate fibrosis (Ishak Score 0-4) \n* F1: Cirrhosis/severe fibrosis (Ishak Score 5-6)\n* **Note:** These are not the same thing as the METAVIR score F0 or F1", - "last_modified" : "2024-04-08T16:15:05.126Z", - "definition" : [ { - "key" : "fibrosis_score", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Any of the following histologically confirmed \n\n* No to moderate fibrosis\n* Ishak fibrosis score 0-4\n* METAVIR score F0-F3\n* Batt-Ludwig score 0-3" ], [ "1", "Any of the following histologically confirmed \n* Advanced/severe fibrosis\n* Developing cirrhosis\n* Incomplete cirrhosis\n* Transition to cirrhosis\n* Cirrhosis, probable or definite\n* Cirrhosis, NOS\n* Ishak fibrosis score 5-6\n* METAVIR score F4\n* Batt-Ludwig score 4" ], [ "7", "Clinical statement of advanced/severe fibrosis or cirrhosis, AND\nNot histologically confirmed or unknown if histologically confirmed" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nStated in medical record that patient does not have advanced cirrhosis/advanced fibrosis, not histologically confirmed or unknown if histologically confirmed\nFibrosis score stated but cannot be assigned to codes 0 or 1\nFibrosis score stated but scoring system not recorded\nFibrosis Score not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report (biopsy or FNA path report), surgical resection\n\n**Other names include** Nontumoral hepatic parenchymal fibrosis/cirrhosis (Intrahepatic Bile Duct Tumors)", - "coding_guidelines" : "**1)** To use codes 0 and 1, you must have a **histological (microscopic) confirmation** of fibrosis/cirrhosis. Code the absence (code 0) or presence (code 1) of fibrosis as documented in the pathology report. \n\n**2)** If no score is mentioned, descriptive terms may be used to assign codes 0 and 1 – see specific terms in the table below. \n\n**3)** **Code 7** if there is a **clinical diagnosis (no microscopic confirmation)** of severe fibrosis or cirrhosis.\n\n**4)** **Code 9** If a fibrosis score is stated but the scoring system is not recorded, consult with the physician. If no further information is available.", - "rationale" : "Fibrosis Score is a Registry Data Collection Variable in AJCC. This data item was previously collected for Liver, CS SSF #2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_30513.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_30513.json deleted file mode 100644 index 798fe168f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_30513.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "figo_stage_30513", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "FIGO Stage", - "title" : "FIGO Stage Ovary, Fallopian Tube, and Primary Peritoneal Carcinoma", - "description" : "Federation Internationale de Gynecologie et d'Obstetrique (FIGO) is a staging system for female reproductive cancers.\n\nFIGO is a worldwide organization of obstetricians and gynecologists who maintain the international staging systems for female genital organs. The FIGO staging system has been adapted into the AJCC staging manual. FIGO uses Roman numerals and subscripts to define a stage. There is no T, N, or M descriptor with FIGO stage, only a stage group. For example, FIGO Stage IA is equivalent to T1a, FIGO Stage III can be either T3_ or N1, and FIGO Stage IV is M1. \n\nFIGO stages vary by primary site, but the structure is similar throughout. FIGO no longer includes an in-situ stage (Tis, Stage 0). For in situ tumors, code the following \n* Code 97: Not applicable: Carcinoma in situ (intraepithelial, noninvasive, preinvasive)\n\n**Note:** Do not confuse FIGO stage with FIGO grade.", - "notes" : "**Note 1:** **Physician Statement**\n* There must be a statement about FIGO stage from the managing physician in order to code this data item.\n * Do not code FIGO stage based on the pathology report\n * Do not code FIGO stage based only on T, N, M\n * If \"FIGO\" is not included with a stated stage, then do not assume it is a FIGO stage\n\n**Note 2:** **FIGO Stage vs FIGO Grade** \n* FIGO stage is not the same thing as FIGO grade. Only code FIGO stage in this field, do not code FIGO grade.\n* Code FIGO grade in the grade fields\n\n**Note 3:** **Multiple FIGO stages**\n* If there is more than one FIGO stage provided from the clinical and pathological work up, code the most extensive FIGO stage.\n\n**Note 4:** **HGSC, STIC, LGSC, and SIC (8441/2)** \n* For High-grade serous carcinoma **(HGSC)** (8441/2) or serous tubal intraepithelial carcinoma **(STIC)** (8441/2), assign the FIGO stage based on the managing physician's documentation of FIGO. (See Note 1). \n* If FIGO stage for HGSC or STIC is not documented by the managing physician, code unknown (code 99)\n * Do not code 97 (in situ) for HGSC or STIC since FIGO does not have a Stage 0\n* If diagnosis is low grade serous intraepithelial carcinoma **(LGSC)** (8441/2) or serous intraepithelial carcinoma **(SIC)** (no grade stated) (8441/2), code 97\n\n**Note 5:** **Remaining in situ histologies**\n* Code 97 for any remaining in situ histologies (/2) since the FIGO stage definitions do not include Stage 0.", - "last_modified" : "2025-11-06T20:37:00.721Z", - "definition" : [ { - "key" : "figo", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "FIGO Stage I " ], [ "1A", "FIGO Stage IA " ], [ "1B", "FIGO Stage IB " ], [ "1C", "FIGO Stage IC " ], [ "1C1", "FIGO Stage IC1" ], [ "1C2", "FIGO Stage IC2" ], [ "1C3", "FIGO Stage IC3" ], [ "2", "FIGO Stage II " ], [ "2A", "FIGO Stage IIA " ], [ "2B", "FIGO Stage IIB" ], [ "3", "FIGO Stage III" ], [ "3A", "FIGO Stage IIIA" ], [ "3A1", "FIGO Stage IIIA1" ], [ "3A11", "FIGO Stage IIIA1i" ], [ "3A12", "FIGO Stage IIIA1ii" ], [ "3A2", "FIGO Stage IIIA2" ], [ "3B", "FIGO Stage IIIB" ], [ "3C", "FIGO Stage IIIC" ], [ "4", "FIGO Stage IV " ], [ "4A", "FIGO Stage IVA" ], [ "4B", "FIGO Stage IVB" ], [ "97", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive)" ], [ "98", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 98 will result in an edit error.)" ], [ "99", "Not documented in medical record\nFIGO stage not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinician’s notes, consultant notes, radiation therapy notes", - "rationale" : "FIGO stage is a Registry Data Collection Variable in AJCC for the female genital cancers. This data item was previously collected for the female genital cancers as: Vulva SSF #10, Vagina SSF #1, Cervix SSF #1, Corpus Carcinoma SSF #1, Corpus Sarcoma SSF #1, Ovary SSF #2, Fallopian Tube SSF #1, Peritoneum Female Genital SSF #1, and Placenta SSF #2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_cervix_46535.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_cervix_46535.json deleted file mode 100644 index 1c8ae13af..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_cervix_46535.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "figo_stage_cervix_46535", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "FIGO Stage", - "title" : "FIGO Stage Cervix", - "description" : "Federation Internationale de Gynecologie et d'Obstetrique (FIGO) is a staging system for female reproductive cancers.\n\nFIGO is a worldwide organization of obstetricians and gynecologists who maintain the international staging systems for female genital organs. The FIGO staging system has been adapted into the AJCC staging manual. FIGO uses Roman numerals and subscripts to define a stage. There is no T, N, or M descriptor with FIGO stage, only a stage group. For example, FIGO Stage IA is equivalent to T1a, FIGO Stage III can be either T3_ or N1, and FIGO Stage IV is M1. \n\nFIGO stages vary by primary site, but the structure is similar throughout. FIGO no longer includes an in-situ stage (Tis, Stage 0). For in situ tumors, code the following \n* Code 97: Not applicable: Carcinoma in situ (intraepithelial, noninvasive, preinvasive)\n\n**Note:** Do not confuse FIGO stage with FIGO grade.", - "notes" : "**Note 1:** **Physician Statement**\n* There must be a statement about FIGO stage from the managing physician in order to code this data item.\n * Do not code FIGO stage based on the pathology report\n * Do not code FIGO stage based only on T, N, M\n * If \"FIGO\" is not included with a stated stage, then do not assume it is a FIGO stage\n\n**Note 2:** **FIGO Stage vs FIGO Grade** \n* FIGO stage is not the same thing as FIGO grade. Only code FIGO stage in this field, do not code FIGO grade.\n* Code FIGO grade in the grade fields\n\n**Note 3:** **Multiple FIGO stages**\n* If there is more than one FIGO stage provided from the clinical and pathological work up, code the most extensive FIGO stage.\n\n**Note 4:** **FIGO Stage 0 (in-situ)**\n* The FIGO stage definitions do not include Stage 0 (Tis).\n* Code 97 for any non-invasive neoplasm (behavior /2)", - "last_modified" : "2025-11-06T20:22:39.091Z", - "definition" : [ { - "key" : "figo", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "FIGO Stage I " ], [ "1A", "FIGO Stage IA " ], [ "1A1", "FIGO Stage IA1" ], [ "1A2", "FIGO Stage IA2" ], [ "1B", "FIGO Stage IB " ], [ "1B1", "FIGO Stage IB1" ], [ "1B2", "FIGO Stage IB2" ], [ "1B3", "FIGO Stage IB3" ], [ "2", "FIGO Stage II " ], [ "2A", "FIGO Stage IIA " ], [ "2A1", "FIGO Stage IIA1" ], [ "2A2", "FIGO Stage IIA2" ], [ "2B", "FIGO Stage IIB" ], [ "3", "FIGO Stage III" ], [ "3A", "FIGO Stage IIIA" ], [ "3B", "FIGO Stage IIIB" ], [ "3C", "FIGO Stage IIIC" ], [ "3C1", "FIGO Stage IIIC1" ], [ "3C2", "FIGO Stage IIIC2" ], [ "4", "FIGO Stage IV " ], [ "4A", "FIGO Stage IVA" ], [ "4B", "FIGO Stage IVB" ], [ "97", "Not applicable: Carcinoma in situ (intraepithelial, noninvasive, preinvasive)" ], [ "98", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 98 will result in an edit error.)" ], [ "99", "Not documented in medical record\nFIGO stage not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinician’s notes, consultant notes, radiation therapy notes", - "rationale" : "FIGO stage is a Registry Data Collection Variable in AJCC for the female genital cancers. This data item was previously collected for the female genital cancers as: Vulva SSF #10, Vagina SSF #1, Cervix SSF #1, Corpus Carcinoma SSF #1, Corpus Sarcoma SSF #1, Ovary SSF #2, Fallopian Tube SSF #1, Peritoneum Female Genital SSF #1, and Placenta SSF #2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_adenosarcoma_24886.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_adenosarcoma_24886.json deleted file mode 100644 index 636432105..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_adenosarcoma_24886.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "figo_stage_corpus_adenosarcoma_24886", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "FIGO Stage", - "title" : "FIGO Stage Corpus Adenosarcoma", - "description" : "Federation Internationale de Gynecologie et d'Obstetrique (FIGO) is a staging system for female reproductive cancers.\n\nFIGO is a worldwide organization of obstetricians and gynecologists who maintain the international staging systems for female genital organs. The FIGO staging system has been adapted into the AJCC staging manual. FIGO uses Roman numerals and subscripts to define a stage. There is no T, N, or M descriptor with FIGO stage, only a stage group. For example, FIGO Stage IA is equivalent to T1a, FIGO Stage III can be either T3_ or N1, and FIGO Stage IV is M1. \n\nFIGO stages vary by primary site, but the structure is similar throughout. FIGO no longer includes an in-situ stage (Tis, Stage 0). For in situ tumors, code the following \n* Code 97: Not applicable: Carcinoma in situ (intraepithelial, noninvasive, preinvasive)\n\n**Note:** Do not confuse FIGO stage with FIGO grade.", - "notes" : "**Note 1:** **Physician Statement**\n* There must be a statement about FIGO stage from the managing physician in order to code this data item.\n * Do not code FIGO stage based on the pathology report\n * Do not code FIGO stage based only on T, N, M\n * If \"FIGO\" is not included with a stated stage, then do not assume it is a FIGO stage\n\n**Note 2:** **FIGO Stage vs FIGO Grade** \n* FIGO stage is not the same thing as FIGO grade. Only code FIGO stage in this field, do not code FIGO grade.\n* Code FIGO grade in the grade fields\n\n**Note 3:** **Multiple FIGO stages**\n* If there is more than one FIGO stage provided from the clinical and pathological work up, code the most extensive FIGO stage.\n\n**Note 4:** **FIGO Stage 0 (in-situ)**\n* The FIGO stage definitions do not include Stage 0 (Tis).\n* Code 97 for any non-invasive neoplasm (behavior /2)", - "last_modified" : "2025-11-06T20:36:08.399Z", - "definition" : [ { - "key" : "figo", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "FIGO Stage I " ], [ "1A", "FIGO Stage IA " ], [ "1B", "FIGO Stage IB " ], [ "1C", "FIGO Stage IC " ], [ "2", "FIGO Stage II " ], [ "2A", "FIGO Stage IIA " ], [ "2B", "FIGO Stage IIB" ], [ "3", "FIGO Stage III" ], [ "3A", "FIGO Stage IIIA" ], [ "3B", "FIGO Stage IIIB" ], [ "3C", "FIGO Stage IIIC" ], [ "4", "FIGO Stage IV " ], [ "4A", "FIGO Stage IVA" ], [ "4B", "FIGO Stage IVB" ], [ "98", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 98 will result in an edit error.)" ], [ "99", "Not documented in medical record\nFIGO stage not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinician’s notes, consultant notes, radiation therapy notes", - "rationale" : "FIGO stage is a Registry Data Collection Variable in AJCC for the female genital cancers. This data item was previously collected for the female genital cancers as: Vulva SSF #10, Vagina SSF #1, Cervix SSF #1, Corpus Carcinoma SSF #1, Corpus Sarcoma SSF #1, Ovary SSF #2, Fallopian Tube SSF #1, Peritoneum Female Genital SSF #1, and Placenta SSF #2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_carcinoma_and_carcinosarcoma_69186.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_carcinoma_and_carcinosarcoma_69186.json deleted file mode 100644 index 9e92b5917..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_carcinoma_and_carcinosarcoma_69186.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "figo_stage_corpus_carcinoma_and_carcinosarcoma_69186", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "FIGO Stage", - "title" : "FIGO Stage Corpus Carcinoma and Carcinosarcoma", - "description" : "Federation Internationale de Gynecologie et d'Obstetrique (FIGO) is a staging system for female reproductive cancers.\n\nFIGO is a worldwide organization of obstetricians and gynecologists who maintain the international staging systems for female genital organs. The FIGO staging system has been adapted into the AJCC staging manual. FIGO uses Roman numerals and subscripts to define a stage. There is no T, N, or M descriptor with FIGO stage, only a stage group. For example, FIGO Stage IA is equivalent to T1a, FIGO Stage III can be either T3_ or N1, and FIGO Stage IV is M1. \n\nFIGO stages vary by primary site, but the structure is similar throughout. FIGO no longer includes an in-situ stage (Tis, Stage 0). For in situ tumors, code the following \n* Code 97: Not applicable: Carcinoma in situ (intraepithelial, noninvasive, preinvasive)\n\n**Note:** Do not confuse FIGO stage with FIGO grade", - "notes" : "**Note 1:** **Physician Statement**\n* There must be a statement about FIGO stage from the managing physician in order to code this data item.\n * Do not code FIGO stage based on the pathology report\n * Do not code FIGO stage based only on T, N, M\n * If \"FIGO\" is not included with a stated stage, then do not assume it is a FIGO stage\n\n**Note 2:** **FIGO Stage vs FIGO Grade** \n* FIGO stage is not the same thing as FIGO grade. Only code FIGO stage in this field, do not code FIGO grade.\n* Code FIGO grade in the grade fields\n\n**Note 3:** **Multiple FIGO stages**\n* If there is more than one FIGO stage provided from the clinical and pathological work up, code the most extensive FIGO stage.\n\n**Note 4:** **EIC, SEIC, EIN** \n* For Endometrial intraepithelial carcinoma **(EIC)** (8380/2) and Serous endometrial intraepithelial carcinoma **(SEIC)** (8441/2), assign the FIGO staged based on the managing physician's documentation of FIGO. (See Note 1). \n* If FIGO stage for EIC or SEIC is not documented by the managing physician, code unknown (code 99)\n* Do not code 97 (in situ) for EIC or SEIC since FIGO does not have a Stage 0\n* If diagnosis is Endometrial intraepithelial neoplasia **(EIN)** (8380/2), code 97.\n\n**Note 5:** **Remaining in situ histologies**\n* Code 97 for any remaining in situ histologies (/2) since the FIGO stage definitions do not include Stage 0.", - "last_modified" : "2025-11-06T20:27:07.365Z", - "definition" : [ { - "key" : "figo", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "FIGO Stage I " ], [ "1A", "FIGO Stage IA " ], [ "1B", "FIGO Stage IB " ], [ "2", "FIGO Stage II " ], [ "3", "FIGO Stage III" ], [ "3A", "FIGO Stage IIIA" ], [ "3B", "FIGO Stage IIIB" ], [ "3C", "FIGO Stage IIIC" ], [ "3C1", "FIGO Stage IIIC1" ], [ "3C2", "FIGO Stage IIIC2" ], [ "4", "FIGO Stage IV " ], [ "4A", "FIGO Stage IVA" ], [ "4B", "FIGO Stage IVB" ], [ "97", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive)" ], [ "98", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 98 will result in an edit error.)" ], [ "99", "Not documented in medical record\nFIGO stage not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinician’s notes, consultant notes, radiation therapy notes", - "rationale" : "FIGO stage is a Registry Data Collection Variable in AJCC for the female genital cancers. This data item was previously collected for the female genital cancers as: Vulva SSF #10, Vagina SSF #1, Cervix SSF #1, Corpus Carcinoma SSF #1, Corpus Sarcoma SSF #1, Ovary SSF #2, Fallopian Tube SSF #1, Peritoneum Female Genital SSF #1, and Placenta SSF #2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_sarcoma_78807.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_sarcoma_78807.json deleted file mode 100644 index f35ec86b5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_corpus_sarcoma_78807.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "figo_stage_corpus_sarcoma_78807", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "FIGO Stage", - "title" : "FIGO Stage Corpus Sarcoma", - "description" : "Federation Internationale de Gynecologie et d'Obstetrique (FIGO) is a staging system for female reproductive cancers.\n\nFIGO is a worldwide organization of obstetricians and gynecologists who maintain the international staging systems for female genital organs. The FIGO staging system has been adapted into the AJCC staging manual. FIGO uses Roman numerals and subscripts to define a stage. There is no T, N, or M descriptor with FIGO stage, only a stage group. For example, FIGO Stage IA is equivalent to T1a, FIGO Stage III can be either T3_ or N1, and FIGO Stage IV is M1. \n\nFIGO stages vary by primary site, but the structure is similar throughout. FIGO no longer includes an in-situ stage (Tis, Stage 0). For in situ tumors, code the following \n* Code 97: Not applicable: Carcinoma in situ (intraepithelial, noninvasive, preinvasive)\n\n**Note:** Do not confuse FIGO stage with FIGO grade.", - "notes" : "**Note 1:** **Physician Statement**\n* There must be a statement about FIGO stage from the managing physician in order to code this data item.\n * Do not code FIGO stage based on the pathology report\n * Do not code FIGO stage based only on T, N, M\n * If \"FIGO\" is not included with a stated stage, then do not assume it is a FIGO stage\n\n**Note 2:** **FIGO Stage vs FIGO Grade** \n* FIGO stage is not the same thing as FIGO grade. Only code FIGO stage in this field, do not code FIGO grade.\n* Code FIGO grade in the grade fields\n\n**Note 3:** **Multiple FIGO stages**\n* If there is more than one FIGO stage provided from the clinical and pathological work up, code the most extensive FIGO stage.\n\n**Note 4:** **FIGO Stage 0 (in-situ)**\n* The FIGO stage definitions do not include Stage 0 (Tis).\n* Code 97 for any non-invasive neoplasm (behavior /2)", - "last_modified" : "2025-11-06T20:23:27.668Z", - "definition" : [ { - "key" : "figo", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "FIGO Stage I " ], [ "1A", "FIGO Stage IA " ], [ "1B", "FIGO Stage IB " ], [ "2", "FIGO Stage II " ], [ "2A", "FIGO Stage IIA " ], [ "2B", "FIGO Stage IIB" ], [ "3", "FIGO Stage III" ], [ "3A", "FIGO Stage IIIA" ], [ "3B", "FIGO Stage IIIB" ], [ "3C", "FIGO Stage IIIC" ], [ "4", "FIGO Stage IV " ], [ "4A", "FIGO Stage IVA" ], [ "4B", "FIGO Stage IVB" ], [ "98", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 98 will result in an edit error.)" ], [ "99", "Not documented in medical record\nFIGO stage not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinician’s notes, consultant notes, radiation therapy notes", - "rationale" : "FIGO stage is a Registry Data Collection Variable in AJCC for the female genital cancers. This data item was previously collected for the female genital cancers as: Vulva SSF #10, Vagina SSF #1, Cervix SSF #1, Corpus Carcinoma SSF #1, Corpus Sarcoma SSF #1, Ovary SSF #2, Fallopian Tube SSF #1, Peritoneum Female Genital SSF #1, and Placenta SSF #2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_placenta_73452.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_placenta_73452.json deleted file mode 100644 index f38c4b766..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_placenta_73452.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "figo_stage_placenta_73452", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "FIGO Stage", - "title" : "FIGO Stage Placenta", - "description" : "Federation Internationale de Gynecologie et d'Obstetrique (FIGO) is a staging system for female reproductive cancers.\n\nFIGO is a worldwide organization of obstetricians and gynecologists who maintain the international staging systems for female genital organs. The FIGO staging system has been adapted into the AJCC staging manual. FIGO uses Roman numerals and subscripts to define a stage. There is no T, N, or M descriptor with FIGO stage, only a stage group. For example, FIGO Stage IA is equivalent to T1a, FIGO Stage III can be either T3_ or N1, and FIGO Stage IV is M1. \n\nFIGO stages vary by primary site, but the structure is similar throughout. FIGO no longer includes an in-situ stage (Tis, Stage 0). For in situ tumors, code the following \n* Code 97: Not applicable: Carcinoma in situ (intraepithelial, noninvasive, preinvasive)\n\n**Note:** Do not confuse FIGO stage with FIGO grade.", - "notes" : "**Note 1:** **Physician Statement**\n* There must be a statement about FIGO stage from the managing physician in order to code this data item.\n * Do not code FIGO stage based on the pathology report\n * Do not code FIGO stage based only on T, N, M\n * If \"FIGO\" is not included with a stated stage, then do not assume it is a FIGO stage\n\n**Note 2:** **FIGO Stage vs FIGO Grade** \n* FIGO stage is not the same thing as FIGO grade. Only code FIGO stage in this field, do not code FIGO grade.\n* Code FIGO grade in the grade fields\n\n**Note 3:** **Multiple FIGO stages**\n* If there is more than one FIGO stage provided from the clinical and pathological work up, code the most extensive FIGO stage.\n\n**Note 4:** **FIGO Stage 0 (in-situ)**\n* The FIGO stage definitions do not include Stage 0 (Tis).\n* Code 97 for any non-invasive neoplasm (behavior /2)", - "last_modified" : "2025-11-06T20:39:09.799Z", - "definition" : [ { - "key" : "figo", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "FIGO Stage I " ], [ "2", "FIGO Stage II " ], [ "3", "FIGO Stage III" ], [ "4", "FIGO Stage IV " ], [ "97", "Carcinoma in situ (intraepithelial, noninvasive, preinvasive)" ], [ "98", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 98 will result in an edit error.)" ], [ "99", "Not documented in medical record\nFIGO stage not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinician’s notes, consultant notes, radiation therapy notes", - "rationale" : "FIGO stage is a Registry Data Collection Variable in AJCC for the female genital cancers. This data item was previously collected for the female genital cancers as: Vulva SSF #10, Vagina SSF #1, Cervix SSF #1, Corpus Carcinoma SSF #1, Corpus Sarcoma SSF #1, Ovary SSF #2, Fallopian Tube SSF #1, Peritoneum Female Genital SSF #1, and Placenta SSF #2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_vagina_61098.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_vagina_61098.json deleted file mode 100644 index 640aae30e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_vagina_61098.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "figo_stage_vagina_61098", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "FIGO Stage", - "title" : "FIGO Stage Vagina", - "description" : "Federation Internationale de Gynecologie et d'Obstetrique (FIGO) is a staging system for female reproductive cancers.\n\nFIGO is a worldwide organization of obstetricians and gynecologists who maintain the international staging systems for female genital organs. The FIGO staging system has been adapted into the AJCC staging manual. FIGO uses Roman numerals and subscripts to define a stage. There is no T, N, or M descriptor with FIGO stage, only a stage group. For example, FIGO Stage IA is equivalent to T1a, FIGO Stage III can be either T3_ or N1, and FIGO Stage IV is M1. \n\nFIGO stages vary by primary site, but the structure is similar throughout. FIGO no longer includes an in-situ stage (Tis, Stage 0). For in situ tumors, code the following \n* Code 97: Not applicable: Carcinoma in situ (intraepithelial, noninvasive, preinvasive)\n\n**Note:** Do not confuse FIGO stage with FIGO grade.", - "notes" : "**Note 1:** **Physician Statement**\n* There must be a statement about FIGO stage from the managing physician in order to code this data item.\n * Do not code FIGO stage based on the pathology report\n * Do not code FIGO stage based only on T, N, M\n * If \"FIGO\" is not included with a stated stage, then do not assume it is a FIGO stage\n\n**Note 2:** **FIGO Stage vs FIGO Grade** \n* FIGO stage is not the same thing as FIGO grade. Only code FIGO stage in this field, do not code FIGO grade.\n* Code FIGO grade in the grade fields\n\n**Note 3:** **Multiple FIGO stages**\n* If there is more than one FIGO stage provided from the clinical and pathological work up, code the most extensive FIGO stage.\n\n**Note 4:** **FIGO Stage 0 (in-situ)**\n* The FIGO stage definitions do not include Stage 0 (Tis).\n* Code 97 for any non-invasive neoplasm (behavior /2)", - "last_modified" : "2025-11-06T20:14:26.454Z", - "definition" : [ { - "key" : "figo", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "FIGO Stage I " ], [ "2", "FIGO Stage II " ], [ "3", "FIGO Stage III" ], [ "4", "FIGO Stage IV " ], [ "4A", "FIGO Stage IVA" ], [ "4B", "FIGO Stage IVB" ], [ "97", "Not applicable: Carcinoma in situ (intraepithelial, noninvasive, preinvasive)" ], [ "98", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 98 will result in an edit error.)" ], [ "99", "Not documented in medical record\nFIGO stage not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinician’s notes, consultant notes, radiation therapy notes", - "rationale" : "FIGO stage is a Registry Data Collection Variable in AJCC for the female genital cancers. This data item was previously collected for the female genital cancers as: Vulva SSF #10, Vagina SSF #1, Cervix SSF #1, Corpus Carcinoma SSF #1, Corpus Sarcoma SSF #1, Ovary SSF #2, Fallopian Tube SSF #1, Peritoneum Female Genital SSF #1, and Placenta SSF #2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_vulva_69787.json b/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_vulva_69787.json deleted file mode 100644 index 96fb22acd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/figo_stage_vulva_69787.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "figo_stage_vulva_69787", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "FIGO Stage", - "title" : "FIGO Stage Vulva", - "description" : "Federation Internationale de Gynecologie et d'Obstetrique (FIGO) is a staging system for female reproductive cancers.\n\nFIGO is a worldwide organization of obstetricians and gynecologists who maintain the international staging systems for female genital organs. The FIGO staging system has been adapted into the AJCC staging manual. FIGO uses Roman numerals and subscripts to define a stage. There is no T, N, or M descriptor with FIGO stage, only a stage group. For example, FIGO Stage IA is equivalent to T1a, FIGO Stage III can be either T3_ or N1, and FIGO Stage IV is M1. \n\nFIGO stages vary by primary site, but the structure is similar throughout. FIGO no longer includes an in-situ stage (Tis, Stage 0). For in situ tumors, code the following \n* Code 97: Not applicable: Carcinoma in situ (intraepithelial, noninvasive, preinvasive)\n\n**Note:** Do not confuse FIGO stage with FIGO grade.", - "notes" : "**Note 1:** **Physician Statement**\n* There must be a statement about FIGO stage from the managing physician in order to code this data item.\n * Do not code FIGO stage based on the pathology report\n * Do not code FIGO stage based only on T, N, M\n * If \"FIGO\" is not included with a stated stage, then do not assume it is a FIGO stage\n\n**Note 2:** **FIGO Stage vs FIGO Grade** \n* FIGO stage is not the same thing as FIGO grade. Only code FIGO stage in this field, do not code FIGO grade.\n* Code FIGO grade in the grade fields\n\n**Note 3:** **Multiple FIGO stages**\n* If there is more than one FIGO stage provided from the clinical and pathological work up, code the most extensive FIGO stage.\n\n**Note 4:** **FIGO Stage 0 (in-situ)**\n* The FIGO stage definitions do not include Stage 0 (Tis).\n* Code 97 for any non-invasive neoplasm (behavior /2)", - "last_modified" : "2025-11-06T20:10:44.482Z", - "definition" : [ { - "key" : "figo", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "FIGO Stage I " ], [ "1A", "FIGO Stage IA " ], [ "1B", "FIGO Stage IB " ], [ "2", "FIGO Stage II " ], [ "3", "FIGO Stage III" ], [ "3A", "FIGO Stage IIIA" ], [ "3B", "FIGO Stage IIIB" ], [ "3C", "FIGO Stage IIIC" ], [ "4", "FIGO Stage IV " ], [ "4A", "FIGO Stage IVA" ], [ "4B", "FIGO Stage IVB" ], [ "97", "Not applicable: Carcinoma in situ (intraepithelial, noninvasive, preinvasive)" ], [ "98", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 98 will result in an edit error.)" ], [ "99", "Not documented in medical record\nFIGO stage not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinician’s notes, consultant notes, radiation therapy notes", - "rationale" : "FIGO stage is a Registry Data Collection Variable in AJCC for the female genital cancers. This data item was previously collected for the female genital cancers as: Vulva SSF #10, Vagina SSF #1, Cervix SSF #1, Corpus Carcinoma SSF #1, Corpus Sarcoma SSF #1, Ovary SSF #2, Fallopian Tube SSF #1, Peritoneum Female Genital SSF #1, and Placenta SSF #2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/gestational_prog_index_28647.json b/src/test/resources/algorithms/eod_public/3.3/tables/gestational_prog_index_28647.json deleted file mode 100644 index 42e49e8f8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/gestational_prog_index_28647.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "gestational_prog_index_28647", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Gestational Prog Index", - "title" : "Gestational Trophoblastic Prognostic Scoring Index", - "description" : "Gestational Trophoblastic Prognostic Scoring Index, a score based on the FIGO-modified World Health Organization (WHO) Prognostic Scoring Index, is used to stratify women with gestational trophoblastic neoplasia in addition to the anatomical stage group. The risk score is appended to the anatomic stage.\n\nThe Prognostic Index is a non-anatomic risk factor scoring system that adds a fourth dimension to the stage grouping of gestational trophoblastic tumors (GTT) of the placenta. The score subcategorizes GTTs into low risk or high risk based on a point system. Code the clinician’s statement of the total point value for the Prognostic Index in priority over the clinician’s statement of risk. Registrars are NOT to calculate the score.", - "notes" : "**Note 1:** **Physician statement only** \n* This is based on clinician scoring only. The registrar is NOT to calculate the score based on available information.\n\n**Note 2:** **Prognostic Scoring Index** \n* The Prognostic Scoring Index is based on the following components\n * Age\n * Antecedent Pregnancy\n * Interval in Months from Index Pregnancy\n * Pretreatment Serum human chorionic gonadotropin (hCG) (mIU/ml)\n * Largest Tumor Size, Including Uterus\n * Sites of Metastases\n * Number of Metastases Identified\n * Previous Failed Chemotherapy\n\n**Note 3:** **Score ranges** \n* The total score ranges from 00-25.\n\n**Note 4:** **Absence of clinician scoring** \n* If there is no clinician scoring, or a stated value is greater than 25, code X9.", - "last_modified" : "2024-04-30T19:19:06.339Z", - "definition" : [ { - "key" : "gestational_prog_index", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00-25", "Risk factor score" ], [ "X9", "Not documented in medical record\nPrognostic scoring index not assessed, or unknown if assessed" ] ], - "rationale" : "This data item is required for prognostic stage grouping in AJCC 8th edition, Chapter 56 Gestational Trophoblastic Neoplasms. It was previously collected as Placenta, CS SSF # 1." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/gleason_pattern_clinical_75179.json b/src/test/resources/algorithms/eod_public/3.3/tables/gleason_pattern_clinical_75179.json deleted file mode 100644 index 5e2fae600..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/gleason_pattern_clinical_75179.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "gleason_pattern_clinical_75179", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Gleason Patterns Clinical", - "title" : "Gleason Patterns Clinical", - "description" : "Prostate cancers are graded using Gleason score or pattern. This data item represents the Gleason primary and secondary patterns from needle core biopsy or TURP.\n\nThe pathologist determines the Gleason patterns by looking at the prostate tissue under the microscope. The pathologist assigns a grade to the most predominant pattern (largest surface area of involvement, more than 50% of tissue) and a grade for the secondary pattern (second most predominant) based on published Gleason criteria. When a patient undergoes radical prostatectomy, the pathologist may look for a third or tertiary pattern in the specimen. When Gleason pattern 5 is present as a tertiary pattern, its presence should be indicated in the pathology report, as a high Gleason pattern appears to be an indicator for worse outcome (shortened time to recurrence). Studies indicate that a Gleason score 7, with tertiary pattern 5, is associated with a worse prognosis than without tertiary pattern 5 and is similar to the prognosis for Gleason score 8 – 10. \n* For example, in a specimen where the primary Gleason pattern is 3, the secondary is 4 and there is less than 5% Gleason 5, the report should indicate a Gleason score of 7 (3+4) with tertiary Gleason pattern 5. Gleason grades (patterns) range from 1 (small, uniform gland) to 5 (lack of glands, sheets of cells.)\n\nFor the Gleason Patterns data items, there is a long list of codes and definitions in the table, but it may be easier to assign a value if you understand the structure of the code. This is a two-digit field. \n* First digit is the Gleason primary pattern value\n* Second digit is the Gleason secondary pattern value\n\nThe Gleason system for grading prostate cancer is the one recommended by the AJCC and College of American Pathologists. The following related data items are used to collect information on Gleason.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Gleason Patterns Clinical can be used to code this data item when there is no other information available. \n\n**Note 2:** **Procedures** \n* Code the Gleason Patterns Clinical from a needle core biopsy, trans rectal ultrasound (TRUS) guided biopsy, transurethral resection of prostate (TURP), and/or simple prostatectomy in this field.\n* Gleason primary and secondary patterns provided for any prostate tissue identified from a transurethral resection of a bladder tumor (TURBT) specimen can also be used in this field\n\n**Note 3:** **Neoadjuvant Treatment** \n* Code the Gleason primary and secondary patterns prior to neoadjuvant treatment.\n\n**Note 4:** **Gleason Grading** \n* Usually, prostate cancers are graded using Gleason score or pattern. Gleason grading for prostate primaries is based on a 5-component system (5 histologic patterns). Prostatic cancer generally shows two main histologic patterns. The primary pattern, the pattern occupying greater than 50% of the cancer, is usually indicated by the first number of the Gleason grade, and the secondary pattern is usually indicated by the second number. These two numbers are added together to create a pattern score. \n* If there are two numbers, assume that they refer to two patterns (the first number being the primary pattern and the second number the secondary pattern), and sum them to obtain the score.\n* If only one number is given, and it is less than or equal to 5, assume that it describes a pattern (since scores of 5 or less would reflect Primary or Secondary Pattern Scores of 1 or 2). Code the number as the primary pattern and code the secondary pattern as Unknown. \n * For ***example,*** if only one number is given and it is a 3, code \"39\" for Gleason Patterns and \"X9\" for Gleason Score.\n* If only one number is given, and it is greater than 5, assume that it is a score. \n * For ***example,*** if only one number is given, and it is a 7, code \"X6\" for Gleason Patterns and \"07\" for Gleason Score. \n* If the pathology report specifies a specific number out of a total of 10, the first number given is the score. \n * For ***example,*** if the pathology report says Gleason 7/10, code \"07' for Gleason Score and \"X6\" for Gleason Patterns. \n\n**Note 5:** **Different patterns** \n* If different patterns are documented on multiple needle core biopsies, code the pattern that reflects the highest or most aggressive score regardless of if the pathologist provides an overall pattern in a final summary. If different patterns equal the same high score, give priority to the highest primary pattern and then the highest secondary pattern. \n * For ***example,*** both Gleason 3, 4 and Gleason 4, 3 equal Gleason score 7; code 43. Do not mix patterns from multiple specimens.\n\n**Note 6:** **Multiple procedures** \n* If multiple procedures are performed (e.g., needle core biopsy, trans rectal ultrasound (TRUS) guided biopsy, transurethral resection of prostate (TURP), and/or simple prostatectomy), code the pattern that reflects the highest score.\n\n**Note 7:** **Related data item** \n* The clinical score is recorded in the related data item 3840: Gleason Score Clinical.", - "last_modified" : "2025-11-06T21:46:42.563Z", - "definition" : [ { - "key" : "gleason_patterns_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "11", "Primary pattern 1, secondary pattern 1 " ], [ "12", "Primary pattern 1, secondary pattern 2" ], [ "13", "Primary pattern 1, secondary pattern 3" ], [ "14", "Primary pattern 1, secondary pattern 4" ], [ "15", "Primary pattern 1, secondary pattern 5" ], [ "19", "Primary pattern 1, secondary pattern unknown" ], [ "21", "Primary pattern 2, secondary pattern 1" ], [ "22", "Primary pattern 2, secondary pattern 2" ], [ "23", "Primary pattern 2, secondary pattern 3" ], [ "24", "Primary pattern 2, secondary pattern 4" ], [ "25", "Primary pattern 2, secondary pattern 5" ], [ "29", "Primary pattern 2, secondary pattern unknown" ], [ "31", "Primary pattern 3, secondary pattern 1" ], [ "32", "Primary pattern 3, secondary pattern 2" ], [ "33", "Primary pattern 3, secondary pattern 3" ], [ "34", "Primary pattern 3, secondary pattern 4" ], [ "35", "Primary pattern 3, secondary pattern 5" ], [ "39", "Primary pattern 3, secondary pattern unknown" ], [ "41", "Primary pattern 4, secondary pattern 1" ], [ "42", "Primary pattern 4, secondary pattern 2" ], [ "43", "Primary pattern 4, secondary pattern 3" ], [ "44", "Primary pattern 4, secondary pattern 4" ], [ "45", "Primary pattern 4, secondary pattern 5" ], [ "49", "Primary pattern 4, secondary pattern unknown" ], [ "51", "Primary pattern 5, secondary pattern 1" ], [ "52", "Primary pattern 5, secondary pattern 2" ], [ "53", "Primary pattern 5, secondary pattern 3" ], [ "54", "Primary pattern 5, secondary pattern 4" ], [ "55", "Primary pattern 5, secondary pattern 5" ], [ "59", "Primary pattern 5, secondary pattern unknown" ], [ "X6", "TURP and/or Biopsy done, primary pattern unknown, secondary pattern unknown" ], [ "X7", "No needle core biopsy/TURP performed" ], [ "X8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code X8 may result in an edit error.)" ], [ "X9", "Not documented in medical record\nGleason Patterns Clinical not assessed or unknown if assessed\nUnknown whether TURP and/or Biopsy done" ] ], - "additional_info" : "**Source documents:** pathology reports from needle biopsies, transurethral resection of prostate/bladder, or simple prostatectomy that contains prostate tissue\n\nFor further information, refer to the **Prostate** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Prostate*.", - "coding_guidelines" : "**1)** **Code X6** If the only information available is the Gleason Score\n\n**2)** **Code X7** if no needle core biopsy/TURP is done\n\n**3)** **Code X9** when only Grade Group is available, do not infer Gleason Primary and Secondary Pattern from Grade group\n\n***Examples***\n\n**1)** Gleason 3+3 = Patterns 33, Score 06\n\n**2)** Gleason 4+3 = Patterns 43, Score 07\n\n**3)** Gleason 4 (Assume a number in the range 2-5 is a primary pattern and code unknown (9) in the second digit) = Patterns 49, Score X9\n\n**4)** Gleason 7 (Assume a number in the range 6-10 is a score) = Pattern X6, Score 07\n\n**5)** Gleason 10 (only combination of values that equals 10 is 5+5) = Pattern 55, Score 10\n\n**6)** Needle core biopsy or TURP not done = Patterns X7, Score X7\n\n**7)** Gleason not done, or unknown if done = Patterns X9, Score X9", - "rationale" : "Gleason Patterns Pathological is a Registry Data Collection Variable for AJCC. This data item was previously collected as Prostate, CS SSF #9." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/gleason_patterns_pathological_833.json b/src/test/resources/algorithms/eod_public/3.3/tables/gleason_patterns_pathological_833.json deleted file mode 100644 index 34b20e27b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/gleason_patterns_pathological_833.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "gleason_patterns_pathological_833", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Gleason Patterns Pathological", - "title" : "Gleason Patterns Pathological", - "description" : "Prostate cancers are graded using Gleason score or pattern. This data item represents the Gleason primary and secondary patterns from a radical prostatectomy or autopsy. \n\nThe pathologist determines the Gleason patterns by looking at the prostate tissue under the microscope. The pathologist assigns a grade to the most predominant pattern (largest surface area of involvement, more than 50% of tissue) and a grade for the secondary pattern (second most predominant) based on published Gleason criteria. When a patient undergoes radical prostatectomy, the pathologist may look for a third or tertiary pattern in the specimen. When Gleason pattern 5 is present as a tertiary pattern, its presence should be indicated in the pathology report, as a high Gleason pattern appears to be an indicator for worse outcome (shortened time to recurrence). Studies indicate that a Gleason score 7, with tertiary pattern 5, is associated with a worse prognosis than without tertiary pattern 5 and is similar to the prognosis for Gleason score 8 – 10. \n* For example, in a specimen where the primary Gleason pattern is 3, the secondary is 4 and there is less than 5% Gleason 5, the report should indicate a Gleason score of 7 (3+4) with tertiary Gleason pattern 5. Gleason grades (patterns) range from 1 (small, uniform gland) to 5 (lack of glands, sheets of cells.)\n\nFor the Gleason Patterns data items, there is a long list of codes and definitions in the table, but it may be easier to assign a value if you understand the structure of the code. This is a two-digit field. \n* First digit is the Gleason primary pattern value\n* Second digit is the Gleason secondary pattern value\n\nThe Gleason system for grading prostate cancer is the one recommended by the AJCC and College of American Pathologists. The following related data items are used to collect information on Gleason.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Gleason Patterns Pathological can be used to code this data item when there is no other information available.\n\n**Note 2:** **Procedures** \n* Code the Gleason primary and secondary patterns from a radical prostatectomy or autopsy only in this field. Unlike Grade Group Pathological, do not include patterns from tissues taken prior to prostatectomy.\n * Code results from a transurethral resection of prostate (TURP) or simple prostatectomy in Gleason Patterns Clinical\n\n**Note 3:** **Gleason Grading** \n* Usually, prostate cancers are graded using Gleason score or pattern. Gleason grading for prostate primaries is based on a 5-component system (5 histologic patterns). Prostatic cancer generally shows two main histologic patterns. The primary pattern, the pattern occupying greater than 50% of the cancer, is usually indicated by the first number of the Gleason grade, and the secondary pattern is usually indicated by the second number. These two numbers are added together to create a pattern score. \n* If there are two numbers, assume that they refer to two patterns (the first number being the primary pattern and the second number the secondary pattern), and sum them to obtain the score.\n* If only one number is given, and it is less than or equal to 5, assume that it describes a pattern (since scores of 5 or less would reflect Primary or Secondary Pattern Scores of 1 or 2). Code the number as the primary pattern and code the secondary pattern as Unknown. \n * For ***example***, if only one number is given, and it is a 3, code \"39\" for Gleason Patterns and \"X9\" for Gleason Score.\n* If only one number is given, and it is greater than 5, assume that it is a score. \n * For ***example***, if only one number is given, and it is a 7, code \"X6\" for Gleason Patterns and \"07\" for Gleason Score. \n* If the pathology report specifies a specific number out of a total of 10, the first number given is the score. \n * For ***example,*** if the pathology report says Gleason 7/10, code \"07' for Gleason Score and \"X6\" for Gleason Patterns. \n\n**Note 4:** **Different patterns** \n* If different patterns are documented on multiple specimens, code the pattern that reflects the highest or most aggressive score regardless of if the pathologist provides an overall pattern in a final summary. If different patterns equal the same high score, give priority to the highest primary pattern and then the highest secondary pattern.\n\n**Note 5:** **Tertiary pattern** \n* If a tertiary pattern is documented on prostatectomy or autopsy, code in the related data item 3842: Gleason Tertiary Pattern.\n\n**Note 6:** **Neoadjuvant therapy** \n* Code X9 when neoadjuvant therapy was given\n\n**Note 7:** **Active surveillance, then Radical Prostatectomy**\n* Code X9 when first course of treatment is active surveillance, but a radical prostatectomy is done at a later date due to disease progression or the patient changed their mind\n\n**Note 8:** **Related data item** \n* The pathological score is recorded in the related data item 3841: Gleason Score Pathological.", - "last_modified" : "2025-11-06T21:49:46.694Z", - "definition" : [ { - "key" : "gleason_patterns_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "11", "Primary pattern 1, secondary pattern 1 " ], [ "12", "Primary pattern 1, secondary pattern 2" ], [ "13", "Primary pattern 1, secondary pattern 3" ], [ "14", "Primary pattern 1, secondary pattern 4" ], [ "15", "Primary pattern 1, secondary pattern 5" ], [ "19", "Primary pattern 1, secondary pattern unknown" ], [ "21", "Primary pattern 2, secondary pattern 1" ], [ "22", "Primary pattern 2, secondary pattern 2" ], [ "23", "Primary pattern 2, secondary pattern 3" ], [ "24", "Primary pattern 2, secondary pattern 4" ], [ "25", "Primary pattern 2, secondary pattern 5" ], [ "29", "Primary pattern 2, secondary pattern unknown" ], [ "31", "Primary pattern 3, secondary pattern 1" ], [ "32", "Primary pattern 3, secondary pattern 2" ], [ "33", "Primary pattern 3, secondary pattern 3" ], [ "34", "Primary pattern 3, secondary pattern 4" ], [ "35", "Primary pattern 3, secondary pattern 5" ], [ "39", "Primary pattern 3, secondary pattern unknown" ], [ "41", "Primary pattern 4, secondary pattern 1" ], [ "42", "Primary pattern 4, secondary pattern 2" ], [ "43", "Primary pattern 4, secondary pattern 3" ], [ "44", "Primary pattern 4, secondary pattern 4" ], [ "45", "Primary pattern 4, secondary pattern 5" ], [ "49", "Primary pattern 4, secondary pattern unknown" ], [ "51", "Primary pattern 5, secondary pattern 1" ], [ "52", "Primary pattern 5, secondary pattern 2" ], [ "53", "Primary pattern 5, secondary pattern 3" ], [ "54", "Primary pattern 5, secondary pattern 4" ], [ "55", "Primary pattern 5, secondary pattern 5" ], [ "59", "Primary pattern 5, secondary pattern unknown" ], [ "X6", "Radical prostatectomy done, primary pattern unknown, secondary pattern unknown" ], [ "X7", "No radical prostatectomy/autopsy performed" ], [ "X8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code X8 may result in an edit error.)" ], [ "X9", "Not documented in medical record\nGleason Patterns Pathological not assessed or unknown if assessed\nUnknown if radical prostatectomy done" ] ], - "additional_info" : "**Source documents:** pathology report from a radical prostatectomy or autopsy report\n\nFor further information, refer to the **Prostate** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Prostate*.", - "coding_guidelines" : "**1)** **Code X6** If the only information available is the Gleason Score\n\n**2)** **Code X7** if no radical prostatectomy or autopsy is done\n\n**3)** **Code X9** when only Grade Group is available\n\n***Examples***\n\n**1)** Gleason 3+3 = Patterns 33, Score 06\n\n**2)** Gleason 4+3 = Patterns 43, Score 07\n\n**3)** Gleason 4 (Assume a number in the range 2-5 is a primary pattern and code unknown (9) in the second digit) = Patterns 49, Score X9\n\n**4)** Gleason 7 (Assume a number in the range 6-10 is a score) = Pattern X6, Score 07\n\n**5)** Gleason 10 (only combination of values that equals 10 is 5+5) = Pattern 55, Score 10\n\n**6)** Needle core biopsy or TURP not done = Patterns X7, Score X7\n\n**7)** Gleason not done, or unknown if done = Patterns X9, Score X9", - "rationale" : "Gleason Patterns Pathological is a Registry Data Collection Variable for AJCC. This data item was previously collected as Prostate, CS SSF #9." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/gleason_score_clinical_67175.json b/src/test/resources/algorithms/eod_public/3.3/tables/gleason_score_clinical_67175.json deleted file mode 100644 index 8eb2bbf3f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/gleason_score_clinical_67175.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "gleason_score_clinical_67175", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Gleason Score Clinical", - "title" : "Gleason Score Clinical", - "description" : "This data item records the Gleason score based on adding the values for primary and secondary patterns in Needle Core Biopsy or TURP.\n\nThe Gleason system for grading prostate cancer is the one recommended by the AJCC and College of American Pathologists. The following related data items are used to collect information on Gleason.\n* 3838: Gleason Patterns Clinical\n* 3839: Gleason Patterns Pathological\n* 3840: Gleason Score Clinical\n* 3841: Gleason Score Pathological\n* 3842: Gleason Tertiary Pattern\n\nThe Gleason score is the sum of the values of the Gleason primary and secondary patterns. A low Gleason score means the cancer tissue is similar to normal prostate tissue and the tumor is less likely to spread; a high Gleason score means the cancer tissue is very different from normal and the tumor is more likely to spread.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Gleason Score Clinical can be used to code this data item when there is no other information available.\n\n**Note 2:** **Procedures** \n* Code the Gleason Score Clinical from a needle core biopsy, trans rectal ultrasound (TRUS) guided biopsy, transurethral resection of prostate (TURP), and/or simple prostatectomy in this field.\n* Gleason primary and secondary patterns provided for any prostate tissue identified from a transurethral resection of a bladder tumor (TURBT) specimen can also be used in this field\n\n**Note 3:** **Neoadjuvant Treatment** \n* Code the Gleason primary and secondary patterns prior to neoadjuvant treatment.\n\n**Note 4:** **Gleason Grading** \n* Usually, prostate cancers are graded using Gleason score or pattern. Gleason grading for prostate primaries is based on a 5-component system (5 histologic patterns). Prostatic cancer generally shows two main histologic patterns. The primary pattern, the pattern occupying greater than 50% of the cancer, is usually indicated by the first number of the Gleason grade, and the secondary pattern is usually indicated by the second number. These two numbers are added together to create a pattern score. \n* If there are two numbers, assume that they refer to two patterns (the first number being the primary pattern and the second number the secondary pattern), and sum them to obtain the score.\n* If only one number is given, and it is less than or equal to 5, assume that it describes a pattern (since scores of 5 or less would reflect Primary or Secondary Pattern Scores of 1 or 2). Code the number as the primary pattern and code the secondary pattern as Unknown. \n * For ***example,*** if only one number is given and it is a 3, code \"39\" for Gleason Patterns and \"X9\" for Gleason Score.\n* If only one number is given, and it is greater than 5, assume that it is a score. \n * For ***example,*** if only one number is given, and it is a 7, code \"X6\" for Gleason Patterns and \"07\" for Gleason Score. \n* If the pathology report specifies a specific number out of a total of 10, the first number given is the score. \n * For ***example***, if the pathology report says Gleason 7/10, code \"07' for Gleason Score and \"X6\" for Gleason Patterns. \n\n**Note 5:** **Multiple procedures** \n* If multiple procedures are performed (e.g., needle core biopsy, trans rectal ultrasound (TRUS) guided biopsy, transurethral resection of prostate (TURP), and/or simple prostatectomy), code the pattern that reflects the highest score.\n\n**Note 6:** **Related data item** \n* Record the Gleason score based on the addition of the primary and secondary patterns coded in the related data item 3838: Gleason Patterns Clinical.", - "last_modified" : "2025-11-06T21:47:20.773Z", - "definition" : [ { - "key" : "gleason_score_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "02", "Gleason score 2" ], [ "03", "Gleason score 3" ], [ "04", "Gleason score 4" ], [ "05", "Gleason score 5" ], [ "06", "Gleason score 6" ], [ "07", "Gleason score 7" ], [ "08", "Gleason score 8" ], [ "09", "Gleason score 9" ], [ "10", "Gleason score 10" ], [ "X7", "No needle core biopsy/TURP performed" ], [ "X8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code X8 may result in an edit error.)" ], [ "X9", "Not documented in medical record\nGleason Score Clinical not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology reports from needle biopsies, transurethral resection of prostate/bladder, or simple prostatectomy that contains prostate tissue\n\nFor further information, refer to the **Prostate** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Prostate*", - "coding_guidelines" : "**1)** **Code X7** if no needle core biopsy/TURP is done\n\n**2)** **Code X9** when only Grade Group is available\n\n***Examples***\n\n**1)** Gleason 3+3 = Patterns 33, Score 06\n\n**2)** Gleason 4+3 = Patterns 43, Score 07\n\n**3)** Gleason 4 (Assume a number in the range 2-5 is a primary pattern and code unknown (9) in the second digit) = Patterns 49, Score X9\n\n**4)** Gleason 7 (Assume a number in the range 6-10 is a score) = Pattern X6, Score 07\n\n**5)** Gleason 10 (only combination of values that equals 10 is 5+5) = Pattern 55, Score 10\n\n**6)** Needle core biopsy or TURP not done = Patterns X7, Score X7\n\n**7)** Gleason not done, or unknown if done = Patterns X9, Score X9", - "rationale" : "Gleason Score Clinical is a Registry Data Collection Variable for AJCC. This data item was previously collected as Prostate, CS SSF #8." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/gleason_score_pathological_82121.json b/src/test/resources/algorithms/eod_public/3.3/tables/gleason_score_pathological_82121.json deleted file mode 100644 index c15b95b42..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/gleason_score_pathological_82121.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "gleason_score_pathological_82121", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Gleason Score Pathological", - "title" : "Gleason Score Pathological", - "description" : "This data item records the Gleason score based on adding the values for primary and secondary patterns from a radical prostatectomy or autopsy. \n\nThe Gleason system for grading prostate cancer is the one recommended by the AJCC and College of American Pathologists. The following related data items are used to collect information on Gleason.\n* 3838: Gleason Patterns Clinical\n* 3839: Gleason Patterns Pathological\n* 3840: Gleason Score Clinical\n* 3841: Gleason Score Pathological\n* 3842: Gleason Tertiary Pattern\n\nThe Gleason score is the sum of the values of the Gleason primary and secondary patterns. A low Gleason score means the cancer tissue is similar to normal prostate tissue and the tumor is less likely to spread; a high Gleason score means the cancer tissue is very different from normal and the tumor is more likely to spread.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Gleason Score Pathological can be used to code this data item when there is no other information available.\n\n**Note 2:** **Procedures** \n* Code the Gleason Score Pathological from a radical prostatectomy or autopsy only in this field. Unlike Grade Group Pathological, do not include patterns from tissues taken prior to a radical prostatectomy.\n * Code results from a transurethral resection of prostate (TURP) or simple prostatectomy in Gleason Score Clinical\n \n**Note 3:** **Gleason Grading** \n* Usually, prostate cancers are graded using Gleason score or pattern. Gleason grading for prostate primaries is based on a 5-component system (5 histologic patterns). Prostatic cancer generally shows two main histologic patterns. The primary pattern, the pattern occupying greater than 50% of the cancer, is usually indicated by the first number of the Gleason grade, and the secondary pattern is usually indicated by the second number. These two numbers are added together to create a pattern score, ranging from 2 to 10. \n* If there are two numbers, assume that they refer to two patterns (the first number being the primary pattern and the second number the secondary pattern), and sum them to obtain the score.\n* If only one number is given, and it is less than or equal to 5, code the total score to X9, unknown or no information. \n* If only one number is given, and it is greater than 5, assume that it is a score and code as stated. \n* If the pathology report specifies a specific number out of a total of 10, the first number given is the score. \n\n* ***Example:*** The pathology report says Gleason 3/10. The Gleason score would be 3 and coded as 03.\n\n**Note 4:** **Neoadjuvant therapy** \n* Code X9 when neoadjuvant therapy was given\n\n**Note 5:** **Active surveillance, then Radical Prostatectomy**\n* Code X9 when first course of treatment is active surveillance, but a radical prostatectomy is done at a later date due to disease progression or the patient changed their mind\n\n**Note 6:** **Related data item** \n* Record the Gleason score based on the addition of the primary and secondary patterns coded in the related data item 3839: Gleason Patterns Pathological.", - "last_modified" : "2025-11-06T21:49:10.419Z", - "definition" : [ { - "key" : "gleason_score_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "02", "Gleason score 2" ], [ "03", "Gleason score 3" ], [ "04", "Gleason score 4" ], [ "05", "Gleason score 5" ], [ "06", "Gleason score 6" ], [ "07", "Gleason score 7" ], [ "08", "Gleason score 8" ], [ "09", "Gleason score 9" ], [ "10", "Gleason score 10" ], [ "X7", "No radical prostatectomy/autopsy performed" ], [ "X8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code X8 may result in an edit error.)" ], [ "X9", "Not documented in medical record\nGleason Score Pathological not assessed or unknown if assessed\nUnknown if radical prostatectomy done" ] ], - "additional_info" : "**Source documents:** pathology report from a radical prostatectomy or autopsy report\n\nFor further information, refer to the **Prostate** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Prostate*.", - "coding_guidelines" : "**1)** **Code X6** If the only information available is the Gleason Score\n\n**2)** **Code X7** if no radical prostatectomy or autopsy is done\n\n**3)** **Code X9** when only Grade Group is available\n\n***Examples***\n\n**1)** Gleason 3+3 = Patterns 33, Score 06\n\n**2)** Gleason 4+3 = Patterns 43, Score 07\n\n**3)** Gleason 4 (Assume a number in the range 2-5 is a primary pattern and code unknown (9) in the second digit) = Patterns 49, Score X9\n\n**4)** Gleason 7 (Assume a number in the range 6-10 is a score) = Pattern X6, Score 07\n\n**5)** Gleason 10 (only combination of values that equals 10 is 5+5) = Pattern 55, Score 10\n\n**6)** Needle core biopsy or TURP not done = Patterns X7, Score X7\n\n**7)** Gleason not done, or unknown if done = Patterns X9, Score X9", - "rationale" : "Gleason Score Pathological is a Registry Data Collection Variable for AJCC. This data item was previously collected as Prostate, CS SSF #10." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/gleason_tertiary_pattern_6430.json b/src/test/resources/algorithms/eod_public/3.3/tables/gleason_tertiary_pattern_6430.json deleted file mode 100644 index d89c22c84..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/gleason_tertiary_pattern_6430.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "gleason_tertiary_pattern_6430", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Gleason Tertiary Pattern", - "title" : "Gleason Tertiary Pattern", - "description" : "Prostate cancers are graded using Gleason score or pattern. This data item represents the tertiary pattern value from a radical prostatectomy or autopsy.\n\nA high Gleason Tertiary Pattern appears to be an indication for a worse outcome.\n\nThe Gleason system for grading prostate cancer is the one recommended by the AJCC and College of American Pathologists. The following related data items are used to collect information on Gleason.\n* 3838: Gleason Patterns Clinical\n* 3839: Gleason Patterns Pathological\n* 3840: Gleason Score Clinical\n* 3841: Gleason Score Pathological\n* 3842: Gleason Tertiary Pattern", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Gleason tertiary pattern can be used to code this data item when there is no other information available.\n\n**Note 2:** **Procedures** \n* Record the tertiary pattern documented on radical prostatectomy or autopsy only. Record the tertiary pattern prior to neoadjuvant treatment. \n* If a tertiary pattern is documented on needle core biopsy or transurethral resection of prostate (TURP), it should be disregarded. \n* Do not code the tertiary pattern on radical prostatectomy or autopsy in Gleason Patterns Pathological.\n\n**Note 3:** **Tertiary Patterns 1 and 2** \n* The CAP Prostate Protocol does not include Patterns 1 and 2 for Tertiary Pattern.\n\n**Note 4:** **Neoadjuvant therapy** \n* Code X9 when neoadjuvant therapy was given\n\n**Note 5:** **Active surveillance, then Radical Prostatectomy**\n* Code X9 when first course of treatment is active surveillance, but a radical prostatectomy is done at a later date due to disease progression or the patient changed their mind", - "last_modified" : "2025-11-06T16:12:56.125Z", - "definition" : [ { - "key" : "gleason_tertiary_pattern", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "10", "Tertiary pattern 1" ], [ "20", "Tertiary pattern 2" ], [ "30", "Tertiary pattern 3" ], [ "40", "Tertiary pattern 4" ], [ "50", "Tertiary pattern 5" ], [ "X7", "No radical prostatectomy/autopsy performed" ], [ "X8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code X8 may result in an edit error.)" ], [ "X9", "Not documented in medical record\nGleason Tertiary Pattern not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report from a radical prostatectomy or autopsy report\n\nFor further information, refer to the **Prostate** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Prostate*.", - "rationale" : "Tertiary Gleason pattern on prostatectomy is a Registry Data Collection Variable for AJCC. This data item was previously collected as Prostate, CS SSF #11." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_18316.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_18316.json deleted file mode 100644 index c4f9b76d5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_18316.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_18316", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note:** Grade (cell indicator) is no longer applicable for this hematopoietic neoplasm.", - "last_modified" : "2019-04-05T16:52:34.280Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8", "Not applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_18831.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_18831.json deleted file mode 100644 index be9ff45ee..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_18831.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_18831", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Codes 1-4 take priority over codes A-D.\n\n**Note 5:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical work up is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 6:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2021-04-01T13:51:02.537Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Nucleoli absent or inconspicuous and basophilic at 400x magnification\n\nStated as WHO/ISUP Grade 1" ], [ "2", "G2: Nucleoli conspicuous and eosinophilic at 400x magnification, visible but not prominent at 100x magnification\n\nStated as WHO/ISUP Grade 2" ], [ "3", "G3: Nucleoli conspicuous and eosinophilic at 100x magnification\n\nStated as WHO/ISUP Grade 3" ], [ "4", "G4: Marked nuclear pleomorphism and/or multinucleate giant cells and/or rhabdoid and/or sarcomatoid differentiation\n\nStated as WHO/ISUP Grade 4" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown\n\nOnly Fuhrman grade documented" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_19087.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_19087.json deleted file mode 100644 index e85859780..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_19087.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_19087", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade is applicable for the follicular lymphomas only (9690/3, 9691/3, 9695/3, 9698/3). For all other lymphoma histologies, code 9.\n\n**Note 2:** Grade Clinical must not be blank.\n\n**Note 3:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Follicular lymphoma grade is based on the absolute number of centroblasts per high-power (40 x objective, 0.159 square mm) microscopic field (HPF).\n\n**Note 6:** Code 9 (unknown) when \n* Grade from primary site is not documented. \n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition). \n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available. \n\n**Note 7:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2023-10-30T16:08:51.821Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: 0-5 centroblasts per 10 HPF" ], [ "2", "G2: 6-15 centroblasts per 10 HPF" ], [ "3", "G3: More than 15 centroblasts per 10 HPF but with admixed centrocytes" ], [ "4", "G4: More than 15 centroblasts per 10 HPF but without centrocytes " ], [ "9", "Grade cannot be assessed (GX); Unknown \nNot a follicular histology (9690/3, 9691/3, 9695/3, 9698/3)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_19997.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_19997.json deleted file mode 100644 index af925aa92..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_19997.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_19997", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** For the Brain, CNS Other and Intracranial Schemas **ONLY**, Grade Clinical may be assigned without histologic confirmation if the histology is documented based on imaging. \n\n**Note 3:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes 1-4 take priority over A-D, L and H.\n\n**Note 6:** CNS WHO classifications use a grading scheme that is a \"malignancy scale\" ranging across a wide variety of neoplasms rather than a strict histologic grading system that can be applied equally to all tumor types. \n* Code the WHO grading system for selected tumors of the CNS as noted in the AJCC 8th edition Table 72.2 when WHO grade is not documented in the record\n + A list of the histologies that have a default grade can also be found in the *Brain/Spinal Cord* CAP Protocol in Table 1: *WHO Grading System for Some of the More Common Tumors of the CNS*, Table 2: *WHO Grading System for Diffuse Infiltrating Astrocytomas and Table* 3: *WHO Grading Meningiomas* \nhttps://www.cap.org/protocols-and-guidelines/cancer-reporting-tools/cancer-protocol-templates\n* For **benign tumors ONLY (behavior 0),** code 1 can be automatically assigned for all histologies\n + This was confirmed by the CAP Cancer Committee\n\n**Note 7:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 8:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2023-10-30T16:50:29.891Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "WHO Grade I: Circumscribed tumors of low proliferative potential associated with the possibility of cure following resection" ], [ "2", "WHO Grade II: Infiltrative tumors with low proliferative potential with increased risk of recurrence" ], [ "3", "WHO Grade III: Tumors with histologic evidence of malignancy, including nuclear atypia and mitotic activity, associated with an aggressive clinical course" ], [ "4", "WHO Grade IV: Tumors that are cytologically malignant, mitotically active, and associated with rapid clinical progression and potential for dissemination" ], [ "L", "Stated as \"low grade\" NOS" ], [ "H", "Stated as \"high grade\" NOS" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_21060.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_21060.json deleted file mode 100644 index f69f9da50..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_21060.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_21060", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical GIST", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Codes L and H take priority over A-D.\n\n**Note 5:** Record the mitotic rate as Low or High as indicated on the pathology report or CAP protocol. Assume the denominator is 5 square mm if not specified.\n* Low: 5 or fewer mitoses per 5 square mm (L)\n* High: Over 5 mitoses per 5 square mm (H)\n\n**Note 6:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 7:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).\n\n**Note 8:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-D are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-04-29T12:58:10.531Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "Low: 5 or fewer mitoses per 5 square mm" ], [ "H", "High: Over 5 mitoses per 5 square mm" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed; Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_22454.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_22454.json deleted file mode 100644 index a319f7563..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_22454.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_22454", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** G3 includes undifferentiated and anaplastic.\n\n**Note 5:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 6:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2020-05-29T12:45:39.043Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated/high grade" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_24620.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_24620.json deleted file mode 100644 index a8aca8941..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_24620.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_24620", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** G3 includes anaplastic.\n\n**Note 5:** Sarcomatous overgrowth (S) takes priority over L and H\n* *Example*: Pathology report: Adenocarcinoma with sarcomatous overgrowth, high and low grade\n - Code Grade to S for the sarcomatous overgrowth\n\n**Note 6:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 7:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2020-05-29T14:38:57.133Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated or undifferentiated" ], [ "L", "Low grade" ], [ "H", "High grade" ], [ "S", "Sarcomatous overgrowth " ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_25704.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_25704.json deleted file mode 100644 index 3afad693c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_25704.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_25704", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Codes L and H take priority over A-D. \n\n**Note 5:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 6:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2023-10-30T16:47:46.290Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "LG: Low grade: round monomorphic nuclei with only mild to moderate nuclear size variation, indistinct nucleoli, and chromatin characteristics resembling those of normal parathyroid or of adenoma" ], [ "H", "HG: High grade: more pleomorphism, with a nuclear size variation greater than 4:1; prominent nuclear membrane irregularities; chromatin alterations, including hyperchromasia or margination of chromatin; and prominent nucleoli. High-grade tumors show several discrete confluent areas with nuclear changes" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_26293.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_26293.json deleted file mode 100644 index dc263fd2b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_26293.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_26293", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Codes L, H and M take priority over A-D.\n\n**Note 5:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 6:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2023-10-30T16:22:55.667Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "LG: Low grade (≤20 mitoses per 50 HPF)" ], [ "H", "HG: High grade (>20 mitosis per 50 HPF) " ], [ "M", "TP53 or CTNNB Mutation " ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_26768.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_26768.json deleted file mode 100644 index ce392054d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_26768.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_26768", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Codes 1-3 take priority over codes A-D.\n* Grades A-D should only be used in the absence of a physician's statement of grade (G1, G2, G3) or no results for Ki-67 or Mitotic Count (See also Note 6)\n\n**Note 5:** Do not code grade based on the following terminology: \n* Neuroendocrine carcinoma, low grade (8240/3)\n* Neuroendocrine carcinoma, well differentiated (8240/3)\n* Neuroendocrine carcinoma, moderately differentiated (8249/3)\n* Poorly differentiated neuroendocrine carcinoma (8246/3)\n\n**Note 6:** Code grade based on the physician's documentation (G1, G2, G3) OR **in the absence of a physician's statement,** code grade based on the Ki-67 and Mitotic Count. \n* If a Ki-67 is documented as less than 3, many times the mitotic count is not done. In this situation, the Ki-67 alone is enough to code the grade (G1). \n* Grades 2 and 3, are either/or for Ki-67 and Mitotic Count. You do not need both the Ki-67 and Mitotic Count to assign grade 2 or 3.\n\n**Note 7:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 8:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2025-05-02T16:11:30.122Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Mitotic count (per 2mm2) less than 2 AND \n Ki-67 index (%) less than 3\n\nStated as WHO Grade 1" ], [ "2", "G2: Mitotic count (per 2mm2) equal 2-20 OR\n Ki-67 index (%) equal 3-20\n\nStated as WHO Grade 2" ], [ "3", "G3: Mitotic count (per 2mm2) greater than 20 OR \n Ki-67 index (%) greater than 20\n\nStated as WHO Grade 3" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_2756.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_2756.json deleted file mode 100644 index b4668b370..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_2756.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_2756", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** G4 includes anaplastic.\n\n**Note 5:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 6:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2023-10-30T17:05:47.656Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated: includes adenoid cystic carcinoma without basaloid (solid) pattern" ], [ "3", "G3: Poorly differentiated: includes adenoid cystic carcinoma with basaloid (solid) pattern" ], [ "4", "G4: Undifferentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_29193.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_29193.json deleted file mode 100644 index 9e8bd0fe9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_29193.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_29193", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Code 1 (G1) for LAMN tumors and 2 (G2) for HAMN tumors. \n\n**Note 5:** G3 includes undifferentiated and anaplastic.\n\n**Note 6:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 7:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).\n\n**Note 8:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* An unknown grade may result in an unknown stage group", - "last_modified" : "2024-04-03T20:03:58.291Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated " ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_36085.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_36085.json deleted file mode 100644 index 1470d2b37..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_36085.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_36085", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** G3 includes anaplastic.\n\n**Note 5:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 6:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2020-05-28T20:53:16.837Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated, undifferentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_41135.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_41135.json deleted file mode 100644 index 754882f66..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_41135.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_41135", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Code 1 for stated as “low grade” only.\n\n**Note 5:** Codes 1-3 take priority over A-D, H.\n\n**Note 6:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 7:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2021-09-15T20:11:51.153Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Sum of differentiation score, mitotic count score and necrosis score equals 2 or 3\n\nStated as FNCLCC Grade 1" ], [ "2", "G2: Sum of differentiation score, mitotic count score and necrosis score of 4 or 5\n\nStated as FNCLCC Grade 2" ], [ "3", "G3: Sum of differentiation score, mitotic count score and necrosis score of 6, 7, or 8\n\nStated as FNCLCC Grade 3" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "H", "Stated as \"high grade\" only" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_46962.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_46962.json deleted file mode 100644 index 8d77570f5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_46962.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_46962", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Codes 1-5 take priority over A-E. \n\n**Note 5:** For prostate, a TURP or simple prostatectomy qualifies for a clinical grade only.\n\n**Note 6:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 7:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).\n\n**Note 8:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-E are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-04-29T12:51:30.909Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "Description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Grade Group 1: Gleason score less than or equal to 6" ], [ "2", "Grade Group 2: Gleason score 7\nGleason pattern 3+4" ], [ "3", "Grade Group 3: Gleason score 7\nGleason pattern 4+3" ], [ "4", "Grade Group 4: Gleason score 8" ], [ "5", "Grade Group 5: Gleason score 9 or 10" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "E", "Stated as \"Gleason score 7\" with no patterns documented or \nAny Gleason patterns combination equal to 7 not specified in 2 or 3" ], [ "9", "Grade cannot be assessed; Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_54911.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_54911.json deleted file mode 100644 index 28ef5f7cc..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_54911.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_54911", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Codes 1-3 take priority over A-D. \n\n**Note 5:** For this grading system, the CAP Checklist refers to this as “histologic type,” instead of grade. \n\n**Note 6:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 7:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2023-10-30T17:10:04.079Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Spindle cell melanoma (>90% spindle cells)" ], [ "2", "G2: Mixed cell melanoma (>10% epithelioid cells and <90% spindle cells)" ], [ "3", "G3: Epithelioid cell melanoma (>90% epithelioid cells)" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_62593.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_62593.json deleted file mode 100644 index 671ad91f4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_62593.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_62593", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Codes 1-4 take priority over A-D.\n\n**Note 5:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 6:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2023-10-30T17:08:16.043Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Tumor with areas of retinoma [retinocytoma] (fleurettes or neuronal differentiation)" ], [ "2", "G2: Tumor with many rosettes (Flexner-Wintersteiner or Homer Wright)" ], [ "3", "G3: Tumor with occasional rosettes (Flexner-Wintersteiner or Homer Wright)" ], [ "4", "G4: Tumor with poorly differentiated cells without rosettes and/or with extensive areas (more than half of tumor) of anaplasia" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_6485.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_6485.json deleted file mode 100644 index 911ff9fde..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_6485.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_6485", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** G3 includes undifferentiated and anaplastic.\n\n**Note 5:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 6:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2020-05-28T20:29:26.120Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_64933.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_64933.json deleted file mode 100644 index 132d0058f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_64933.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_64933", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Code 1 for stated as “low grade” only.\n\n**Note 5:** Codes 1-3 take priority over A-D, H.\n\n**Note 6:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 7:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).\n\n**Note 8:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-D are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-04-29T12:41:50.281Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Sum of differentiation score, mitotic count score and necrosis score equals 2 or 3\n\nStated as FNCLCC Grade 1" ], [ "2", "G2: Sum of differentiation score, mitotic count score and necrosis score of 4 or 5\n\nStated as FNCLCC Grade 2" ], [ "3", "G3: Sum of differentiation score, mitotic count score and necrosis score of 6, 7, or 8\n\nStated as FNCLCC Grade 3" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "H", "Stated as \"high grade\" only" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_69174.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_69174.json deleted file mode 100644 index c1ce2f7a6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_69174.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_69174", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** The grading system for this Staging System is based on histology\n* Immature teratomas and serous carcinomas: Use codes L, H, or 9. This include the following ICD-O-3 codes: 8441/2, 8441/3, 8460/3, 8461/3, 8474/3, 9080/3\n* All other histologies: Code 1-3 if a nuclear grade is documented, otherwise code 9\n* If your registry collects ovarian borderline tumors (/1), code “B” for grade\n\n**Note 5:** G3 includes anaplastic.\n\n**Note 6:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical work is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 7:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2022-04-29T12:47:07.739Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated, undifferentiated " ], [ "B", "GB: Borderline Tumor" ], [ "L", "Low grade" ], [ "H", "High grade" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_73056.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_73056.json deleted file mode 100644 index 139f1c2fd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_73056.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_73056", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank. \n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** G4 includes anaplastic.\n\n**Note 5:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 6:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2020-05-28T20:32:55.638Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated" ], [ "4", "G4: Undifferentiated " ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_73461.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_73461.json deleted file mode 100644 index db1deefd6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_73461.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_73461", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical - Standard", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 5:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2025-04-11T19:38:45.384Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "Low grade" ], [ "M", "Intermediate grade" ], [ "H", "High grade/High grade transformation" ], [ "9", "Grade cannot be assessed; Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_78613.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_78613.json deleted file mode 100644 index 1b6108843..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_78613.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_78613", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** For the Brain, CNS Other and Intracranial Schemas **ONLY**, Grade Clinical may be assigned without histologic confirmation if the histology is documented based on imaging. \n\n**Note 3:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes 1-4 take priority over A-D, L and H.\n\n**Note 6:** CNS WHO classifications use a grading scheme that is a \"malignancy scale\" ranging across a wide variety of neoplasms rather than a strict histologic grading system that can be applied equally to all tumor types. \n* Code the WHO grading system for selected tumors of the CNS as noted in the AJCC 8th edition Table 72.2 when WHO grade is not documented in the record\n + A list of the histologies that have a default grade can also be found in the *Brain/Spinal Cord* CAP Protocol in Table 1: *WHO Grading System for Some of the More Common Tumors of the CNS*, Table 2: *WHO Grading System for Diffuse Infiltrating Astrocytomas and Table* 3: *WHO Grading Meningiomas* \nhttps://www.cap.org/protocols-and-guidelines/cancer-reporting-tools/cancer-protocol-templates\n* For **benign tumors ONLY (behavior 0), ** code 1 can be automatically assigned for all histologies\n + This was confirmed by the CAP Cancer Committee\n\n**Note 7:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 8:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2023-10-30T16:54:29.410Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "WHO Grade I: Circumscribed tumors of low proliferative potential associated with the possibility of cure following resection" ], [ "2", "WHO Grade II: Infiltrative tumors with low proliferative potential with increased risk of progression or recurrence" ], [ "3", "WHO Grade III: Tumors with histologic and/or molecular genetic evidence of malignancy that are associated with an aggressive clinical course" ], [ "4", "WHO Grade IV: Tumors with histologic and/or molecular genetic evidence of malignancy that are associated with the most aggressive clinical course and shorter overall survival" ], [ "L", "Stated as \"low grade\" NOS" ], [ "H", "Stated as \"high grade\" NOS" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_83264.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_83264.json deleted file mode 100644 index fe257fa68..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_83264.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_83264", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame.\n* Per clarification from the CAP Cancer Committee based on the CAP Protocol, the following histologies must be assigned a G3 (code 3): Serous, clear cell, undifferentiated/de-differentiated carcinomas, carcinosarcomas, and mixed mesodermal tumors (Mullerian/MMMT) are *high risk (high grade)* \n\n**Note 3:** For endometrioid carcinomas only\n* If “low grade” is documented, code 2 (FIGO Grade 2)\n* If “high grade” is documented, code 3 (FIGO Grade 3)\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade\n\n**Note 5:** G3 includes anaplastic. \n\n**Note 6:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n\n**Note 7:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2024-04-03T20:57:09.425Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1\nFIGO Grade 1\nG1: Well differentiated" ], [ "2", "G2\nFIGO Grade 2\nG2: Moderately differentiated" ], [ "3", "G3\nFIGO Grade 3\nG3: Poorly differentiated or undifferentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_8742.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_8742.json deleted file mode 100644 index ff95f9ef6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_8742.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_8742", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** G3 includes anaplastic.\n\n**Note 5:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 6:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2020-05-28T20:50:03.696Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated, undifferentiated " ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_88426.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_88426.json deleted file mode 100644 index a280ccf71..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_88426.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_88426", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Codes 1-4 take priority over L and H.\n\n**Note 5:** G4 includes anaplastic.\n\n**Note 6:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 7:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2020-05-28T20:59:41.963Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated (low grade) " ], [ "2", "G2: Moderately differentiated (low grade)" ], [ "3", "G3: Poorly differentiated (high grade)" ], [ "4", "G4: Undifferentiated (high grade)" ], [ "L", "Stated as \"low grade\" NOS" ], [ "H", "Stated as \"high grade\" NOS " ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_91491.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_91491.json deleted file mode 100644 index 05c22f735..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_91491.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_91491", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** There are two major grading systems used for Breast and they are based on the behavior of the primary tumor (in situ or invasive)\n**Invasive tumors**\n * The preferred grading system for Invasive tumors is the **Nottingham grade/Nottingham Score**, also known as the Scarff-Bloom-Richardson or Bloom Richardson\n * The **Nottingham score** is a combined histologic grade in which three components are evaluated to determine the overall grade: **tubule formation, nuclear pleomorphism and mitotic count**. Each of these components is assigned a value from 1 (favorable) to 3 (unfavorable) for each feature and then totaling the scores for all three categories. A combined score of 3-5 points is designated as grade 1; a combined score for 6-7 points is grade 2; a combined score of 8-9 points is grade 3\n \n**Note 5:** If a pathology report for an invasive cancer states, “Grade 1 (or 2, 3)” and there is no further information, assume this is the Nottingham grade and assign the appropriate code. \n * If a pathology report for an invasive cancer states, “well differentiated, moderately differentiated, poorly differentiated, low, medium, high,” use grades A-D as appropriate\n * ***Example***: Pathology report states invasive ductal carcinoma, well differentiated. Code grade A.\n* **Do not use grades L, M, H for invasive tumors**\n * *Exception*: Biopsy diagnosis is DCIS; Lumpectomy is invasive ductal carcinoma. The Clinical Grade would be L, M, H or 9 based on the DCIS; the Pathological Grade would be 1, 2, 3, or 9 based on the invasive ductal carcinoma. Behavior would be /3\n\n**Note 6:** **In situ tumors**\n* The preferred grading system for in situ tumors is based on a 3 grade Nuclear system, and is defined as Low (L) (Nuclear Grade 1), Intermediate (M) (Nuclear Grade 2), or High (H) (Nuclear Grade 3), or the nuclear component of the Nottingham grade\n* Documentation for these grades may be 1/3, 2/3, 3/3. This notation is documenting the nuclear component of the Nottingham grade, not the Nottingham grade (1, 2, 3)\n* If a pathologist uses a Nottingham grade (i.e., G2) for an in situ cancer, they are documenting the nuclear component of the Nottingham score. You would still assign L, M, or H as appropriate for the in situ tumor\n* **Do not use grades 1, 2, 3 for in situ tumors**\n\n**Note 7:** Grade from nodal tissue may be used **ONLY** when there was **never** any evidence of primary tumor (T0). Grade would be coded using G1, G2, or G3, even if the grading is not strictly Nottingham, which is difficult to perform in nodal tissue. Some of the terminology may include differentiation terms without some of the morphologic features used in Nottingham (e.g., well differentiated (G1), moderately differentiated (G2), or poorly/undifferentiated (G3)).\n* *Example:* No breast tumor identified, but 2/3 axillary nodes were positive. Determined to be regional node metastasis from breast primary. Nodes were described as poorly differentiated with a high mitotic rate\n - Code G3 based on the poorly differentiated (which is a high grade) although the terminology used is for nuclear grading \n\n**Note 8:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n\n**Note 9:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).\n\n**Note 10:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-D are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2024-04-03T15:39:16.303Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Low combined histologic grade (favorable), SBR score of 3-5 points\n\nStated as Nottingham/Scarff Bloom-Richardson Grade 1" ], [ "2", "G2: Intermediate combined histologic grade (moderately favorable); SBR score of 6-7 points\n\nStated as Nottingham/Scarff Bloom-Richardson Grade 2" ], [ "3", "G3: High combined histologic grade (unfavorable); SBR score of 8-9 points\n\nStated as Nottingham/Scarff Bloom-Richardson Grade 3" ], [ "L", "Nuclear Grade I (Low) (in situ only)" ], [ "M", "Nuclear Grade II (interMediate) (in situ only)" ], [ "H", "Nuclear Grade III (High) (in situ only)" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_91989.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_91989.json deleted file mode 100644 index 3192a100a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_91989.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_91989", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Priority order for codes \n* Urothelial cancers (WHO/ISUP grade): use codes L, H and 9 \n - If only G1-G3 are documented, code 9\n* Adenocarcinomas and Squamous Cell Carcinomas: use codes 1-3, 9\n - If only L or H are documented, code 9\n\n**Note 5:** G3 includes undifferentiated and anaplastic.\n\n**Note 6:** For bladder, a TURB qualifies for a clinical grade only.\n\n**Note 7:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 8:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2021-04-01T15:16:05.181Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated" ], [ "L", "LG: Low-grade" ], [ "H", "HG: High-grade" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_94331.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_94331.json deleted file mode 100644 index da3e32274..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_94331.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_standard_94331", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical - Standard", - "title" : "Grade Clinical - Standard", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 5:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2023-10-30T16:19:46.933Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed; Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_non_ajcc_32473.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_non_ajcc_32473.json deleted file mode 100644 index c525431b4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_standard_non_ajcc_32473.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_standard_non_ajcc_32473", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical - Standard non AJCC", - "title" : "Grade Clinical - Standard non AJCC", - "notes" : "**Note 1:** Grade Clinical must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 5:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2023-10-30T16:17:40.183Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed; Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_v9_88505.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_v9_88505.json deleted file mode 100644 index 5c7d1b0be..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_clinical_v9_88505.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_clinical_v9_88505", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Clinical v9", - "title" : "Grade Clinical", - "notes" : "**Note 1:** Grade Clinical must not be blank. \n\n**Note 2:** Assign the highest grade from the primary tumor assessed during the clinical time frame. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* Clinical workup is not done (for example, cancer is an incidental finding during surgery for another condition)\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 5:** If there is only one grade available and it cannot be determined if it is clinical or pathological, assume it is a Grade Clinical and code appropriately per Grade Clinical categories for that site, and then code unknown (9) for Grade Pathological, and blank for Grade Post Therapy Clin (yc) and Grade Post Therapy Path (yp).", - "last_modified" : "2024-04-03T20:37:57.456Z", - "definition" : [ { - "key" : "grade_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "Nuclear Grade I WITH or WITHOUT necrosis OR\nNuclear Grade II WITHOUT necrosis" ], [ "H", "Nuclear Grade II WITH necrosis OR\nNuclear Grade III WITH or WITHOUT necrosis" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_11803.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_11803.json deleted file mode 100644 index 92f658686..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_11803.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_11803", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Codes 1-4 take priority over A-D, L and H.\n\n**Note 5:** CNS WHO classifications use a grading scheme that is a \"malignancy scale\" ranging across a wide variety of neoplasms rather than a strict histologic grading system that can be applied equally to all tumor types. \n* Code the WHO grading system for selected tumors of the CNS as noted in the AJCC 8th edition Table 72.2 when WHO grade is not documented in the record\n + A list of the histologies that have a default grade can also be found in the *Brain/Spinal Cord* CAP Protocol in Table 1: *WHO Grading System for Some of the More Common Tumors of the CNS*, Table 2: *WHO Grading System for Diffuse Infiltrating Astrocytomas and Table* 3: *WHO Grading Meningiomas* \nhttps://www.cap.org/protocols-and-guidelines/cancer-reporting-tools/cancer-protocol-templates\n* For **benign tumors ONLY (behavior 0),** code 1 can be automatically assigned for all histologies\n + This was confirmed by the CAP Cancer Committee\n\n**Note 6:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n * **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 7:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2023-10-30T16:50:59.402Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "WHO Grade I : Circumscribed tumors of low proliferative potential associated with the possibility of cure following resection" ], [ "2", "WHO Grade II: Infiltrative tumors with low proliferative potential with increased risk of recurrence" ], [ "3", "WHO Grade III: Tumors with histologic evidence of malignancy, including nuclear atypia and mitotic activity, associated with an aggressive clinical course" ], [ "4", "WHO Grade IV: Tumors that are cytologically malignant, mitotically active, and associated with rapid clinical progression and potential for dissemination" ], [ "L", "Stated as \"low grade\" NOS" ], [ "H", "Stated as \"high grade\" NOS" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_12915.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_12915.json deleted file mode 100644 index 65876b190..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_12915.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_12915", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological using the applicable generic grade codes (A-D).\n* *Example: * Biopsy of eye shows a retinoblastoma, G2. The surgical resection states a moderately differentiated retinoblastoma.\n - Code Grade Clinical as 2 since G2 is documented and this is the preferred grading system\n - Code Grade Pathological as B (moderately differentiated), per the Coding Guidelines for Generic Grade Categories\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes 1-4 take priority over A-D.\n\n**Note 6:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 7:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2023-10-30T17:08:46.433Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Tumor with areas of retinoma [retinocytoma] (fleurettes or neuronal differentiation)" ], [ "2", "G2: Tumor with many rosettes (Flexner-Wintersteiner or Homer Wright)" ], [ "3", "G3: Tumor with occasional rosettes (Flexner-Wintersteiner or Homer Wright)" ], [ "4", "G4: Tumor with poorly differentiated cells without rosettes and/or with extensive areas (more than half of tumor) of anaplasia" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_19141.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_19141.json deleted file mode 100644 index fe965fa9b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_19141.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_19141", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological using the applicable generic grade codes (A-D).\n* *Example:* Biopsy shows a myxofibrosarcoma, FNCLCC grade score 2. The surgical resection states a high grade myxofibrosarcoma \n - Code Grade Clinical as 2 (G2) since FNCLCC is the preferred grading system\n - Code Grade Pathological as D for high grade, per the Coding Guidelines for Generic Grade Categories\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Code 1 for stated as “low grade” only.\n\n**Note 6:** Codes 1-3 take priority over A-D, H.\n\n**Note 7:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 8:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 9:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-D are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-10-13T12:48:58.834Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Sum of differentiation score, mitotic count score and necrosis score equals 2 or 3\n\nStated as FNCLCC Grade 1" ], [ "2", "G2: Sum of differentiation score, mitotic count score and necrosis score of 4 or 5\n\nStated as FNCLCC Grade 2" ], [ "3", "G3: Sum of differentiation score, mitotic count score and necrosis score of 6, 7, or 8\n\nStated as FNCLCC Grade 3" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "H", "Stated as \"high grade\" only" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_19694.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_19694.json deleted file mode 100644 index daef5d0d7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_19694.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_19694", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological 9.\n* *Example: * Biopsy of esophageal tumor shows a moderately differentiated adenocarcinoma. The surgical resection states a high- grade adenocarcinoma. \n - Code Grade Clinical as 2 since Moderately differentiated (G2) is the preferred grading system\n - Code Grade Pathological as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** G3 includes anaplastic\n\n**Note 6:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 7:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 8:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* An unknown grade may result in an unknown stage group", - "last_modified" : "2023-10-30T14:46:55.751Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated, undifferentiated " ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_20069.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_20069.json deleted file mode 100644 index 08c58d529..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_20069.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_20069", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological using the applicable generic grade codes (A-D). \n* *Example:* Biopsy of prostate, adenocarcinoma, Gleason Patterns 2+3, Score =5. Tue surgical resection states a moderately differentiated adenocarcinoma\n - Code Grade Clinical as 1 since Gleason Score Clinical is less than 6 and this is the preferred grading system\n - Code Grade Pathological as B (moderately differentiated), per the Coding Guidelines for Generic Grade Categories\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes 1-5 take priority over A-E.\n\n**Note 6:** For prostate, a TURP or simple prostatectomy does not qualify for surgical resection. A radical prostatectomy must be performed.\n\n**Note 7:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 8:** The Grade Pathological may differ from Gleason Patterns Pathological [NAACCR #3839] and Gleason Score Pathological [NAACCR #3841] if the Grade Clinical, based on Gleason Patterns Clinical [NAACCR #3838] and Gleason Score Clinical [NAACCR #3840], is higher.\n* *Example:* Prostate biopsy, Gleason Pattern 4+4 and Gleason Score 8. Prostatectomy, Gleason Pattern 3+ 3 and Gleason Score 6.\n - Both Grade Clinical and Grade Pathological would be coded 4 based on the Gleason Score Clinical of 8\n - Gleason Patterns Pathological would be coded 33 and Gleason Score Pathological would be coded 06\n\n**Note 9:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 8, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 10:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-E are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-10-13T12:55:09.787Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "Description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Grade Group 1: Gleason score less than or equal to 6" ], [ "2", "Grade Group 2: Gleason score 7\nGleason pattern 3+4" ], [ "3", "Grade Group 3: Gleason score 7\nGleason pattern 4+3" ], [ "4", "Grade Group 4: Gleason score 8" ], [ "5", "Grade Group 5: Gleason score 9 or 10" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "E", "Stated as \"Gleason score 7\" with no patterns documented or \nAny Gleason patterns combination equal to 7 not specified in 2 or 3" ], [ "9", "Grade cannot be assessed; Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_20722.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_20722.json deleted file mode 100644 index 48d4e3ea6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_20722.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_20722", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological using the applicable generic grade codes (A-D). \n* *Example:* Biopsy of kidney shows a renal cell carcinoma, G2. The surgical resection states a moderately differentiated renal cell carcinoma\n - Code Grade Clinical as 2 since G2 is documented and this is the preferred grading system\n - Code Grade Pathological as B (moderately differentiated), per the Coding Guidelines for Generic Grade Categories\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes 1-4 take priority over codes A-D.\n\n**Note 6:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 7:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 7, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2022-10-13T12:56:00.088Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Nucleoli absent or inconspicuous and basophilic at 400x magnification\n\nStated as WHO/ISUP Grade 1" ], [ "2", "G2: Nucleoli conspicuous and eosinophilic at 400x magnification, visible but not prominent at 100x magnification\n\nStated as WHO/ISUP Grade 2" ], [ "3", "G3: Nucleoli conspicuous and eosinophilic at 100x magnification\n\nStated as WHO/ISUP Grade 3" ], [ "4", "G4: Marked nuclear pleomorphism and/or multinucleate giant cells and/or rhabdoid and/or sarcomatoid differentiation\n\nStated as WHO/ISUP Grade 4" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown\n\nOnly Fuhrman grade documented" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_26086.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_26086.json deleted file mode 100644 index 3a7fa0a85..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_26086.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_26086", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological using the applicable generic grade codes (A-D).\n* *Example:* Neuroendocrine tumor, biopsy reports a clinical grade of G1 based on a mitotic count less than 2 and Ki-67 as 1.4%. The surgical resection states a well differentiated neuroendocrine tumor without further documentation regarding the mitotic count and Ki-67\n - Grade Clinical would be coded as 1 (G1) since the preferred grading system is based on the mitotic count and Ki-67\n - Grade Pathological would be coded as A for well differentiated, per the Coding Guidelines for Generic Grade Categories\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes 1-3 take priority over codes A-D.\n* Grades A-D should only be used in the absence of a physician's statement of grade (G1, G2, G3) or no results for Ki-67 or Mitotic Count (See also Note 7)\n\n**Note 6:** Do not code grade based on the following terminology: \n* Neuroendocrine carcinoma, low grade (8240/3)\n* Neuroendocrine carcinoma, well differentiated (8240/3)\n* Neuroendocrine carcinoma, moderately differentiated (8249/3)\n* Poorly differentiated neuroendocrine carcinoma (8246/3)\n\n**Note 7:** Code grade based on the physician's documentation (G1, G2, G3) OR **in the absence of a physician's statement,** code grade based on the Ki-67 and Mitotic Count. \n* If a Ki-67 is documented as less than 3, many times the mitotic count is not done. In this situation, the Ki-67 alone is enough to code the grade (G1). \n* Grades 2 and 3, are either/or for Ki-67 and Mitotic Count. You do not need both the Ki-67 and Mitotic Count to assign grade 2 or 3.\n\n**Note 8:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 9:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2025-05-02T16:43:35.437Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Mitotic count (per 2mm2) less than 2 AND \n Ki-67 index (%) less than 3\n\nStated as WHO Grade 1" ], [ "2", "G2: Mitotic count (per 2mm2) equal 2-20 OR\n Ki-67 index (%) equal 3-20\n\nStated as WHO Grade 2" ], [ "3", "G3: Mitotic count (per 2mm2) greater than 20 OR \n Ki-67 index (%) greater than 20\n\nStated as WHO Grade 3" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_27152.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_27152.json deleted file mode 100644 index f5bc3c1f2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_27152.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_27152", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological using the applicable generic grade codes (A-D). \n* *Example: * Biopsy of parathyroid shows a low-grade adenocarcinoma. The surgical resection states a moderately differentiated adenocarcinoma.\n - Code Grade Clinical as L since low grade is the preferred grading system\n - Code Grade Pathological as B (moderately differentiated), per the Coding Guidelines for Generic Grade Categories\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes L and H take priority over A-D.\n\n**Note 6:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 7:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2023-10-30T16:48:19.674Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "LG: Low grade: round monomorphic nuclei with only mild to moderate nuclear size variation, indistinct nucleoli, and chromatin characteristics resembling those of normal parathyroid or of adenoma" ], [ "H", "HG: High grade: more pleomorphism, with a nuclear size variation greater than 4:1; prominent nuclear membrane irregularities; chromatin alterations, including hyperchromasia or margination of chromatin; and prominent nucleoli. High-grade tumors show several discrete confluent areas with nuclear changes" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_29069.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_29069.json deleted file mode 100644 index a3e5d52a7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_29069.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_29069", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological 9.\n* *Example:* Biopsy of penis site shows a moderately differentiated adenocarcinoma. The surgical resection states a high grade adenocarcinoma. \n - Code Grade Clinical as 2 since Moderately differentiated (G2) is the preferred grading system\n - Code Grade Pathological as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** G3 includes undifferentiated and anaplastic.\n\n**Note 6:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 7:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 5, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2022-10-13T12:54:20.472Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated/high grade" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_31963.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_31963.json deleted file mode 100644 index 12c8490d8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_31963.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_31963", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological 9. \n* *Example: * Biopsy of primary site shows a moderately differentiated adenocarcinoma. The surgical resection states a high-grade adenocarcinoma. \n - Code Grade Clinical as 2 since Moderately differentiated (G2) is the preferred grading system\n - Code Grade Pathological as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** G4 includes anaplastic.\n\n**Note 6:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No Surgical Resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 7:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2023-10-30T17:20:23.155Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated" ], [ "4", "G4: Undifferentiated " ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_38051.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_38051.json deleted file mode 100644 index 40dca40d5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_38051.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_38051", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological using the applicable generic grade codes (A-D). \n* *Example: * Biopsy of adrenal gland shows a low grade adrenal cortical adenocarcinoma. The surgical resection states a moderately differentiated adrenal cortical adenocarcinoma.\n - Code Grade Clinical as L since low grade is the preferred grading system\n - Code Grade Pathological as B (moderately differentiated), per the Coding Guidelines for Generic Grade Categories \n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes L, H and M take priority over A-D.\n\n**Note 6:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 7:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2023-10-30T16:23:29.279Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "LG: Low grade (≤20 mitoses per 50 HPF)" ], [ "H", "HG: High grade (>20 mitosis per 50 HPF) " ], [ "M", "TP53 or CTNNB Mutation " ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_40052.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_40052.json deleted file mode 100644 index 513918532..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_40052.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_40052", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. \n* *Example:* Corpus biopsy reports states moderately differentiated adenosarcoma. The surgical resection states a high grade adenosarcoma. Assign Grade Pathological using the H code \n - Code Grade Clinical as 2 since Moderately differentiated (G2) is the preferred grading system\n - Code Grade Pathological as H since the preferred grading system was not used and there is a code available for “high grade” only\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** G3 includes anaplastic.\n\n**Note 6:** Sarcomatous overgrowth (S) takes priority over L and H\n* *Example:* Pathology report: Adenocarcinoma with sarcomatous overgrowth, high and low grade\n - Code Grade to S for the sarcomatous overgrowth\n\n**Note 7:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 8:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 7, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2022-10-13T12:52:47.157Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated or undifferentiated" ], [ "L", "Low grade" ], [ "H", "High grade" ], [ "S", "Sarcomatous overgrowth " ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_40399.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_40399.json deleted file mode 100644 index 295d4a884..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_40399.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_40399", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological using the applicable generic grade codes (A-D).\n* *Example:* Biopsy shows a myxofibrosarcoma, FNCLCC grade score 2. The surgical resection states a high grade myxofibrosarcoma\n - Code Grade Clinical as 2 (G2) since FNCLCC is the preferred grading system\n - Code Grade Pathological as D for high grade, per the Coding Guidelines for Generic Grade Categories \n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Code 1 for stated as “low grade” only.\n\n**Note 6:** Codes 1-3 take priority over A-D, H.\n\n**Note 7:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 8:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2022-10-13T12:48:06.380Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Sum of differentiation score, mitotic count score and necrosis score equals 2 or 3\n\nStated as FNCLCC Grade 1" ], [ "2", "G2: Sum of differentiation score, mitotic count score and necrosis score of 4 or 5\n\nStated as FNCLCC Grade 2" ], [ "3", "G3: Sum of differentiation score, mitotic count score and necrosis score of 6, 7, or 8\n\nStated as FNCLCC Grade 3" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "H", "Stated as \"high grade\" only" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_42127.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_42127.json deleted file mode 100644 index df16d770d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_42127.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_42127", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. \n* *Example:* Ovarian biopsy reports states moderately differentiated adenocarcinoma. The surgical resection states a high grade adenocarcinoma. Assign Grade Pathological using the H code \n - Code Grade Clinical as 2 since Moderately differentiated (G2) is the preferred grading system\n - Code Grade Pathological as H since the preferred grading system was not used and there is a code available for “high grade” only\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** The grading system for this Staging System is based on histology\n* Immature teratomas and serous carcinomas: Use codes L, H, or 9. This include the following ICD-O-3 codes: 8441/2, 8441/3, 8460/3, 8461/3, 8474/3, 9080/3\n* All other histologies: Code 1-3 if a nuclear grade is documented, otherwise code 9\n* If your registry collects ovarian borderline tumors (/1), code “B” for grade\n\n**Note 6:** G3 includes anaplastic.\n\n**Note 7:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 8:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 7, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2022-10-13T12:53:36.124Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated, undifferentiated " ], [ "B", "GB: Borderline Tumor" ], [ "L", "Low grade" ], [ "H", "High grade" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_46618.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_46618.json deleted file mode 100644 index 6be26c719..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_46618.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_46618", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological using the applicable generic grade codes (A-D).\n* *Example: *: Biopsy of iris shows a mixed cell melanoma, G2. The surgical resection states a moderately differentiated melanoma.\n - Code Grade Clinical as 2 since G2 is documented and this is the preferred grading system\n - Code Grade Pathological as B (moderately differentiated), per the Coding Guidelines for Generic Grade Categories\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes 1-3 take priority over A-D. \n\n**Note 6:** For this grading system, the CAP Checklist refers to this as \"histologic type,\" instead of grade. \n\n**Note 7:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 8:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 7, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2023-10-30T17:10:30.340Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Spindle cell melanoma (>90% spindle cells)" ], [ "2", "G2: Mixed cell melanoma (>10% epithelioid cells and <90% spindle cells)" ], [ "3", "G3: Epithelioid cell melanoma (>90% epithelioid cells)" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_47031.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_47031.json deleted file mode 100644 index d83661603..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_47031.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_47031", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological using the applicable generic grade codes (A-D). \n* *Example:* Breast biopsy, invasive ductal carcinoma, Nottingham grade 2. Lumpectomy, invasive ductal carcinoma, nuclear grade 3\n - Code Grade Clinical 2 (G2) since Nottingham is the preferred grading system\n - Code Grade Pathological as C (nuclear Grade 3), per the Coding Guidelines for Generic Grade Categories\n\n**Note 3:** Assign the highest grade from the primary tumor.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** There are two major grading systems used for Breast and they are based on the behavior of the primary tumor (in situ or invasive)\n**Invasive tumors**\n * The preferred grading system for Invasive tumors is the **Nottingham grade/Nottingham Score**, also known as the Scarff-Bloom-Richardson or Bloom Richardson\n * The **Nottingham score** is a combined histologic grade in which three components are evaluated to determine the overall grade: **tubule formation, nuclear pleomorphism and mitotic count**. Each of these components is assigned a value from 1 (favorable) to 3 (unfavorable) for each feature and then totaling the scores for all three categories. A combined score of 3-5 points is designated as grade 1; a combined score for 6-7 points is grade 2; a combined score of 8-9 points is grade 3\n \n**Note 6:** If a pathology report for an invasive cancer states, “Grade 1 (or 2, 3)” and there is no further information, assume this is the Nottingham grade and assign the appropriate code. \n * If a pathology report for an invasive cancer states, “well differentiated, moderately differentiated, poorly differentiated, low, medium, high,” use grades A-D as appropriate\n * ***Example***: Pathology report states invasive ductal carcinoma, well differentiated. Code grade A.\n* **Do not use grades L, M, H for invasive tumors**\n * *Exception*: Biopsy diagnosis is DCIS; Lumpectomy is invasive ductal carcinoma. The Clinical Grade would be L, M, H or 9 based on the DCIS; the Pathological Grade would be 1, 2, 3, or 9 based on the invasive ductal carcinoma. Behavior would be /3\n\n**Note 7:** **In situ tumors**\n* The preferred grading system for in situ tumors is based on a 3 grade Nuclear system, and is defined as Low (L) (Nuclear Grade 1), Intermediate (M) (Nuclear Grade 2), or High (H) (Nuclear Grade 3), or the nuclear component of the Nottingham grade\n* Documentation for these grades may be 1/3, 2/3, 3/3. This notation is documenting the nuclear component of the Nottingham grade, not the Nottingham grade (1, 2, 3)\n* If a pathologist uses a Nottingham grade (i.e., G2) for an in situ cancer, they are documenting the nuclear component of the Nottingham score. You would still assign L, M, or H as appropriate for the in situ tumor\n* **Do not use grades 1, 2, 3 for in situ tumors**\n\n**Note 8:** Grade from nodal tissue may be used **ONLY** when there was **never** any evidence of primary tumor (T0). Grade would be coded using G1, G2, or G3, even if the grading is not strictly Nottingham, which is difficult to perform in nodal tissue. Some of the terminology may include differentiation terms without some of the morphologic features used in Nottingham (e.g., well differentiated (G1), moderately differentiated (G2), or poorly/undifferentiated (G3)).\n* *Example:* No breast tumor identified, but 2/3 axillary nodes were positive. Determined to be regional node metastasis from breast primary. Nodes were described as poorly differentiated with a high mitotic rate\n - Code G3 based on the poorly differentiated (which is a high grade) although the terminology used is for nuclear grading \n\n**Note 9:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 10:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 9, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 11:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-D are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2024-04-03T15:39:20.042Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Low combined histologic grade (favorable), SBR score of 3-5 points\n\nStated as Nottingham/Scarff Bloom-Richardson Grade 1" ], [ "2", "G2: Intermediate combined histologic grade (moderately favorable); SBR score of 6-7 points\n\nStated as Nottingham/Scarff Bloom-Richardson Grade 2" ], [ "3", "G3: High combined histologic grade (unfavorable); SBR score of 8-9 points\n\nStated as Nottingham/Scarff Bloom-Richardson Grade 3" ], [ "L", "Nuclear Grade I (Low) (in situ only)" ], [ "M", "Nuclear Grade II (interMediate) (in situ only)" ], [ "H", "Nuclear Grade III (High) (in situ only)" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_4783.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_4783.json deleted file mode 100644 index a4b49ecd0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_4783.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_4783", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological 9.\n* *Example:* Biopsy of corpus shows a well differentiated clear cell adenocarcinoma, FIGO Grade 1. The surgical resection states a high-grade clear cell carcinoma\n + Code Grade Clinical 1 (G1) since FIGO and well differentiated is the preferred grading system\n + Code Grade Pathological as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the primary tumor. \n* Per clarification from the CAP Cancer Committee based on the CAP Protocol, the following histologies must be assigned a G3 (code 3): Serous, clear cell, undifferentiated/de-differentiated carcinomas, carcinosarcomas, and mixed mesodermal tumors (Mullerian/MMMT) are *high risk (high-grade) * \n\n**Note 4:** For endometrioid carcinomas only\n* If “low grade” is documented, code 2 (FIGO Grade 2)\n* If “high grade” is documented, code 3 (FIGO Grade 3)\n\n**Note 5:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 6:** G3 includes anaplastic.\n\n**Note 7:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 8:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2025-04-07T11:34:49.110Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1\nFIGO Grade 1\nG1: Well differentiated" ], [ "2", "G2\nFIGO Grade 2\nG2: Moderately differentiated" ], [ "3", "G3\nFIGO Grade 3\nG3: Poorly differentiated or undifferentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_49403.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_49403.json deleted file mode 100644 index db354549a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_49403.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_49403", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade is applicable for the follicular lymphomas only (9690/3, 9691/3, 9695/3, 9698/3). For all other lymphoma histologies, code 9.\n\n**Note 2:** Grade Pathological must not be blank.\n\n**Note 3:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological 9.\n* *Example:* Biopsy of eye shows a follicular lymphoma, G3. The surgical resection states a low-grade follicular lymphoma.\n - Code Grade Clinical as 3 since G3 is the preferred grading system.\n - Code Grade Pathological as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table.\n\n**Note 4:** Assign the highest grade from the primary tumor. \n\n**Note 5:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 6:** Follicular lymphoma grade is based on the absolute number of centroblasts per high-power (40 x objective, 0.159 square mm) microscopic field (HPF).\n\n**Note 7:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade. \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ.\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection.\n - Surgical resection is done of the primary tumor and there is no residual cancer.\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame.\n\n**Note 8:** Code 9 (unknown) when \n* Grade from primary site is not documented.\n* No resection of the primary site (see exception in Note 7, Surgical resection, last bullet).\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp)).\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available.\n* Clinical case only (see Grade Clinical).\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological.", - "last_modified" : "2023-10-30T16:08:24.910Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: 0-5 centroblasts per 10 HPF" ], [ "2", "G2: 6-15 centroblasts per 10 HPF" ], [ "3", "G3: More than 15 centroblasts per 10 HPF but with admixed centrocytes" ], [ "4", "G4: More than 15 centroblasts per 10 HPF but without centrocytes " ], [ "9", "Grade cannot be assessed (GX); Unknown \nNot a follicular histology (9690/3, 9691/3, 9695/3, 9698/3)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_53280.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_53280.json deleted file mode 100644 index 72d2449f9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_53280.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_53280", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Codes 1-4 take priority over A-D, L and H.\n\n**Note 5:** CNS WHO classifications use a grading scheme that is a \"malignancy scale\" ranging across a wide variety of neoplasms rather than a strict histologic grading system that can be applied equally to all tumor types. \n* Code the WHO grading system for selected tumors of the CNS as noted in the AJCC 8th edition Table 72.2 when WHO grade is not documented in the record\n + A list of the histologies that have a default grade can also be found in the *Brain/Spinal Cord* CAP Protocol in Table 1: *WHO Grading System for Some of the More Common Tumors of the CNS*, Table 2: *WHO Grading System for Diffuse Infiltrating Astrocytomas and Table* 3: *WHO Grading Meningiomas* \nhttps://www.cap.org/protocols-and-guidelines/cancer-reporting-tools/cancer-protocol-templates\n* For **benign tumors ONLY (behavior 0),** code 1 can be automatically assigned for all histologies\n + This was confirmed by the CAP Cancer Committee\n\n**Note 6:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n * **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 7:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2023-10-30T16:55:07.584Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "WHO Grade I : Circumscribed tumors of low proliferative potential associated with the possibility of cure following resection" ], [ "2", "WHO Grade II: Infiltrative tumors with low proliferative potential with increased risk of progression or recurrence" ], [ "3", "WHO Grade III: Tumors with histologic and/or molecular genetic evidence of malignancy that are associated with an aggressive clinical course" ], [ "4", "WHO Grade IV: Tumors with histologic and/or molecular genetic evidence of malignancy that are associated with the most aggressive clinical course and shorter overall survival" ], [ "L", "Stated as \"low grade\" NOS" ], [ "H", "Stated as \"high grade\" NOS" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_57271.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_57271.json deleted file mode 100644 index 7ec4bc180..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_57271.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_57271", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Path field. Assign Grade Pathological 9.\n* *Example: * Biopsy of appendiceal tumor shows a moderately differentiated adenocarcinoma. The surgical resection states a high-grade adenocarcinoma. \n - Code Grade Clinical as 2 since Moderately differentiated (G2) is the preferred grading system\n - Code Grade Pathological as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Code 1 (G1) for LAMN tumors and 2 (G2) for HAMN tumors. \n\n**Note 6:** G3 includes undifferentiated and anaplastic.\n\n**Note 7:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection** \n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 8:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 9:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* An unknown grade may result in an unknown stage group", - "last_modified" : "2024-04-03T20:04:37.118Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated " ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_59340.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_59340.json deleted file mode 100644 index d063d99b2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_59340.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_59340", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological 9.\n* *Example: * Biopsy of stomach tumor shows a moderately differentiated adenocarcinoma. The surgical resection states a high-grade adenocarcinoma. \n - Code Grade Clinical as 2 since Moderately differentiated (G2) is the preferred grading system\n - Code Grade Pathological as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** G3 includes anaplastic\n\n**Note 6:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 7:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2023-10-30T17:22:40.961Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated, undifferentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_59975.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_59975.json deleted file mode 100644 index 0d45a8679..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_59975.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_59975", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. \n* *Example:* Biopsy reports states moderately differentiated adenocarcinoma. The surgical resection states a high grade adenocarcinoma. Assign Grade Pathological 9\n - Code Grade Clinical as 2 since Moderately differentiated (G2) is the preferred grading system\n - Code Grade Pathological as 9 (unknown) per **Note 5**. Code H would not be used since the histology was not an urothelial histology\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Priority order for codes\n- Urothelial cancers (WHO/ISUP grade): use codes L, H and 9 \n + If only G1-G3 are documented, code 9\n- Adenocarcinomas and Squamous Cell Carcinomas: use codes 1-3, 9\n + If only L or H are documented, code 9\n\n**Note 6:** G3 includes undifferentiated and anaplastic.\n\n**Note 7:** For bladder, a TURB does not qualify for surgical resection. A cystectomy, or partial cystectomy, must be performed\n\n**Note 8:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 9:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in **Note 8**, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2022-10-13T12:56:46.492Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated" ], [ "L", "LG: Low-grade" ], [ "H", "HG: High-grade" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_68805.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_68805.json deleted file mode 100644 index 819d35115..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_68805.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_68805", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological GIST", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological using the applicable generic grade codes (A-D).\n* *Example:* Biopsy shows a GIST tumor. Grade stated as Low based on less than 5 mitoses per 5 square mm. The surgical resection states a moderately differentiated GIST tumor\n - Code Grade Clinical as L since grade is based on the mitotic rate, which is the preferred grading system\n - Code Grade Pathological as B for moderately differentiated, per the Coding Guidelines for Generic Grade Categories \n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes L and H take priority over A-D.\n\n**Note 6:** Record the mitotic rate as Low or High as indicated on the pathology report or CAP protocol. Assume the denominator is 5 square mm if not specified.\n* Low: 5 or fewer mitoses per 5 square mm (L)\n* High: Over 5 mitoses per 5 square mm (H)\n\n**Note 7:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 8:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 7, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 9:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-D are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-10-13T12:49:53.988Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "Low: 5 or fewer mitoses per 5 square mm" ], [ "H", "High: Over 5 mitoses per 5 square mm" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed; Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_73388.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_73388.json deleted file mode 100644 index 33f6e3973..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_73388.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_73388", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note:** Grade (cell indicator) is no longer applicable for this hematopoietic neoplasm.", - "last_modified" : "2019-04-05T16:52:34.267Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8", "Not applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_84704.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_84704.json deleted file mode 100644 index 37cbf5fee..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_84704.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_84704", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological 9.\n* *Example:* Biopsy of primary site shows a moderately differentiated adenocarcinoma. The surgical resection states a high-grade adenocarcinoma. \n - Code Grade Clinical as 2 since Moderately differentiated (G2) is the preferred grading system\n - Code Grade Pathological as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** G3 includes undifferentiated and anaplastic.\n\n**Note 6:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 7:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2023-10-30T14:43:42.797Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_85185.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_85185.json deleted file mode 100644 index 9aa6fdd8d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_85185.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_85185", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological 9.\n* *Example: * Biopsy of eye shows a moderately differentiated adenoid cystic carcinoma. The surgical resection states a high-grade adenoid cystic carcinoma. \n - Code Grade Clinical as 2 since Moderately differentiated (G2) is the preferred grading system\n - Code Grade Pathological as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** G4 includes anaplastic\n\n**Note 6:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 7:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2023-10-30T17:06:15.181Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated: includes adenoid cystic carcinoma without basaloid (solid) pattern" ], [ "3", "G3: Poorly differentiated: includes adenoid cystic carcinoma with basaloid (solid) pattern" ], [ "4", "G4: Undifferentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_91031.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_91031.json deleted file mode 100644 index 542b4772a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_91031.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_91031", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological - Standard", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 5:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 4, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2025-04-11T19:38:38.628Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "Low grade" ], [ "M", "Intermediate grade" ], [ "H", "High grade/High grade transformation" ], [ "9", "Grade cannot be assessed; Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_93273.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_93273.json deleted file mode 100644 index 690d50144..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_93273.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_93273", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. \n* *Example:* Anal biopsy reports states moderately differentiated squamous cell carcinoma. The surgical resection states a low grade squamous cell carcinoma. Assign Grade Pathological using the L code\n - Code Grade Clinical as 2 since Moderately differentiated (G2) is the preferred grading system\n - Code Grade Pathological as L since the preferred grading system was not used and there is a code available for “low grade” only\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes 1-4 take priority over L and H.\n\n**Note 6:** G4 includes anaplastic.\n\n**Note 7:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 8:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 7, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2022-10-13T12:44:23.113Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated (low grade) " ], [ "2", "G2: Moderately differentiated (low grade)" ], [ "3", "G3: Poorly differentiated (high grade)" ], [ "4", "G4: Undifferentiated (high grade)" ], [ "L", "Stated as \"low grade\" NOS" ], [ "H", "Stated as \"high grade\" NOS " ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_94268.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_94268.json deleted file mode 100644 index d5bf4eedf..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_94268.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_standard_94268", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological - Standard", - "title" : "Grade Pathological - Standard", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 5:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 4, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2023-10-30T16:20:12.829Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed; Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_non_ajcc_5627.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_non_ajcc_5627.json deleted file mode 100644 index ed7929a6e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_standard_non_ajcc_5627.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_standard_non_ajcc_5627", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological - Standard non AJCC", - "title" : "Grade Pathological - Standard non AJCC", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** Assign the highest grade from the primary tumor. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No surgical resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 5:** Code 9 (unknown) when \n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 4, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2023-10-30T16:18:10.497Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed; Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_v9_76065.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_v9_76065.json deleted file mode 100644 index c08867b8e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_pathological_v9_76065.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_pathological_v9_76065", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Pathological v9", - "title" : "Grade Pathological", - "notes" : "**Note 1:** Grade Pathological must not be blank.\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Clinical in the Grade Pathological field. Assign Grade Pathological 9. \n* *Example:* Biopsy of pleura shows a Nuclear Grade 2 with necrosis mesothelioma. The surgical resection states a moderately differentiated mesothelioma. \n * Code Grade Clinical as H since “Nuclear Grade 2 with necrosis” is the preferred grading system\n * Code Grade Pathological as 9 (unknown)\n\n**Note 3:** Assign the highest grade from the primary tumor. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Use the grade from the **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n - Tumor behavior for the clinical and the pathological diagnoses are the same AND the clinical grade is the highest grade \n - Tumor behavior for clinical diagnosis is invasive, and the tumor behavior for the pathological diagnosis is in situ\n* **Surgical Resection**\n - Surgical resection is done of the primary tumor and there is no grade documented from the surgical resection\n - Surgical resection is done of the primary tumor and there is no residual cancer\n* **No Surgical Resection**\n - Surgical resection of the primary tumor has not been done, but there is positive microscopic confirmation of distant metastases during the clinical time frame\n\n**Note 6:** Code 9 (unknown) when\n* Grade from primary site is not documented\n* No resection of the primary site (see exception in Note 6, Surgical resection, last bullet)\n* Neo-adjuvant therapy is followed by a resection (see Grade Post Therapy Path (yp))\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n* Clinical case only (see Grade Clinical)\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological", - "last_modified" : "2024-04-03T20:46:46.469Z", - "definition" : [ { - "key" : "grade_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "Nuclear Grade I WITH or WITHOUT necrosis OR\nNuclear Grade II WITHOUT necrosis" ], [ "H", "Nuclear Grade II WITH necrosis OR\nNuclear Grade III WITH or WITHOUT necrosis" ], [ "9", "Grade cannot be assessed (GX); Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_1647.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_1647.json deleted file mode 100644 index b437388e6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_1647.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_1647", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Code 1 for stated as “low grade” only.\n\n**Note 5:** Codes 1-3 take priority over A-D, H.\n\n**Note 6:** Code 9 (unknown) when\n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2021-09-15T20:12:37.018Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Sum of differentiation score, mitotic count score and necrosis score equals 2 or 3\n\nStated as FNCLCC Grade 1" ], [ "2", "G2: Sum of differentiation score, mitotic count score and necrosis score of 4 or 5\n\nStated as FNCLCC Grade 2" ], [ "3", "G3: Sum of differentiation score, mitotic count score and necrosis score of 6, 7, or 8\n\nStated as FNCLCC Grade 3" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "H", "Stated as \"high grade\" only" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_18631.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_18631.json deleted file mode 100644 index 008fd5cbc..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_18631.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_18631", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Codes 1-4 take priority over A-D.\n\n**Note 5:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2021-04-24T11:42:30.933Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Tumor with areas of retinoma [retinocytoma] (fleurettes or neuronal differentiation)" ], [ "2", "G2: Tumor with many rosettes (Flexner-Wintersteiner or Homer Wright)" ], [ "3", "G3: Tumor with occasional rosettes (Flexner-Wintersteiner or Homer Wright)" ], [ "4", "G4: Tumor with poorly differentiated cells without rosettes and/or with extensive areas (more than half of tumor) of anaplasia" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_21162.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_21162.json deleted file mode 100644 index 640273c51..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_21162.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_21162", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave post therapy grade blank when\n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n* Per clarification from the CAP Cancer Committee based on the CAP Protocol, the following histologies must be assigned a G3 (code 3): Serous, clear cell, undifferentiated/de-differentiated carcinomas, carcinosarcomas, and mixed mesodermal tumors (Mullerian/MMMT) are *high risk (high grade)*\n\n**Note 3:** For endometrioid carcinomas only\n* If “low grade” is documented, code 2 (FIGO Grade 2)\n* If “high grade” is documented, code 3 (FIGO Grade 3)**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** G3 includes anaplastic.\n\n**Note 6:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2024-04-03T21:00:13.632Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1\nFIGO Grade 1\nG1: Well differentiated" ], [ "2", "G2\nFIGO Grade 2\nG2: Moderately differentiated" ], [ "3", "G3\nFIGO Grade 3\nG3: Poorly differentiated or undifferentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_23317.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_23317.json deleted file mode 100644 index c8b86058a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_23317.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_23317", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** G4 includes anaplastic.\n\n**Note 5:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T17:06:39.534Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated: includes adenoid cystic carcinoma without basaloid (solid) pattern" ], [ "3", "G3: Poorly differentiated: includes adenoid cystic carcinoma with basaloid (solid) pattern" ], [ "4", "G4: Undifferentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2503.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2503.json deleted file mode 100644 index e56845ba6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2503.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_2503", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when\n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Codes 1-3 take priority over A-D. \n\n**Note 5:** For this grading system, the CAP Checklist refers to this as “histologic type,” instead of grade. \n\n**Note 6:** Code 9 (unknown) when\n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T15:31:19.436Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Spindle cell melanoma (>90% spindle cells)" ], [ "2", "G2: Mixed cell melanoma (>10% epithelioid cells and <90% spindle cells)" ], [ "3", "G3: Epithelioid cell melanoma (>90% epithelioid cells)" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2541.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2541.json deleted file mode 100644 index ea19ab978..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_2541.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_2541", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Codes 1-3 take priority over codes A-D.\n* Grades A-D should only be used in the absence of a physician's statement of grade (G1, G2, G3) or no results for Ki-67 or Mitotic Count (See also Note 6)\n\n**Note 5:** Do not code grade based on the following terminology: \n* Neuroendocrine carcinoma, low grade (8240/3)\n* Neuroendocrine carcinoma, well differentiated (8240/3)\n* Neuroendocrine carcinoma, moderately differentiated (8249/3)\n* Poorly differentiated neuroendocrine carcinoma (8246/3)\n\n**Note 6:** Code grade based on the physician's documentation (G1, G2, G3) OR **in the absence of a physician's statement,** code grade based on the Ki-67 and Mitotic Count. \n* If a Ki-67 is documented as less than 3, many times the mitotic count is not done. In this situation, the Ki-67 alone is enough to code the grade (G1). \n* Grades 2 and 3, are either/or for Ki-67 and Mitotic Count. You do not need both the Ki-67 and Mitotic Count to assign grade 2 or 3.\n\n**Note 7:** Code 9 (unknown) when\n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2025-05-02T16:44:19.010Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Mitotic count (per 2mm2) less than 2 AND \n Ki-67 index (%) less than 3\n\nStated as WHO Grade 1" ], [ "2", "G2: Mitotic count (per 2mm2) equal 2-20 OR\n Ki-67 index (%) equal 3-20\n\nStated as WHO Grade 2" ], [ "3", "G3: Mitotic count (per 2mm2) greater than 20 OR \n Ki-67 index (%) greater than 20\n\nStated as WHO Grade 3" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26948.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26948.json deleted file mode 100644 index c444d444d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26948.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_26948", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Codes 1-4 take priority over A-D, L and H.\n\n**Note 5:** CNS WHO classifications use a grading scheme that is a \"malignancy scale\" ranging across a wide variety of neoplasms rather than a strict histologic grading system that can be applied equally to all tumor types. \n* Code the WHO grading system for selected tumors of the CNS as noted in the AJCC 8th edition Table 72.2 when WHO grade is not documented in the record\n + A list of the histologies that have a default grade can also be found in the *Brain/Spinal Cord* CAP Protocol in Table 1: *WHO Grading System for Some of the More Common Tumors of the CNS*, Table 2: *WHO Grading System for Diffuse Infiltrating Astrocytomas and Table* 3: *WHO Grading Meningiomas* \nhttps://www.cap.org/protocols-and-guidelines/cancer-reporting-tools/cancer-protocol-templates\n* For **benign tumors ONLY (behavior 0), ** code 1 can be automatically assigned for all histologies\n + This was confirmed by the CAP Cancer Committee\n\n**Note 6:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T16:51:28.241Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "WHO Grade I : Circumscribed tumors of low proliferative potential associated with the possibility of cure following resection" ], [ "2", "WHO Grade II: Infiltrative tumors with low proliferative potential with increased risk of recurrence" ], [ "3", "WHO Grade III: Tumors with histologic evidence of malignancy, including nuclear atypia and mitotic activity, associated with an aggressive clinical course" ], [ "4", "WHO Grade IV: Tumors that are cytologically malignant, mitotically active, and associated with rapid clinical progression and potential for dissemination" ], [ "L", "Stated as \"low grade\" NOS" ], [ "H", "Stated as \"high grade\" NOS" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26978.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26978.json deleted file mode 100644 index 80790a825..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_26978.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_26978", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Codes 1-5 take priority over A-E. \n\n**Note 5:** For prostate, TURP or simple prostatectomy qualify for a clinical grade only.\n\n**Note 6:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n\n**Note 7:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-E are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-04-29T12:52:13.776Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "Description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Grade Group 1: Gleason score less than or equal to 6" ], [ "2", "Grade Group 2: Gleason score 7\nGleason pattern 3+4" ], [ "3", "Grade Group 3: Gleason score 7\nGleason pattern 4+3" ], [ "4", "Grade Group 4: Gleason score 8" ], [ "5", "Grade Group 5: Gleason score 9 or 10" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "E", "Stated as \"Gleason score 7\" with no patterns documented or \nAny Gleason patterns combination equal to 7 not specified in 2 or 3" ], [ "9", "Grade cannot be assessed; Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_27082.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_27082.json deleted file mode 100644 index c08f2f9ca..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_27082.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_27082", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Code 1 for stated as “low grade” only.\n\n**Note 5:** Codes 1-3 take priority over A-D, H.\n\n**Note 6:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n\n**Note 7:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-D are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-04-29T12:42:46.981Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Sum of differentiation score, mitotic count score and necrosis score equals 2 or 3\n\nStated as FNCLCC Grade 1" ], [ "2", "G2: Sum of differentiation score, mitotic count score and necrosis score of 4 or 5\n\nStated as FNCLCC Grade 2" ], [ "3", "G3: Sum of differentiation score, mitotic count score and necrosis score of 6, 7, or 8\n\nStated as FNCLCC Grade 3" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "H", "Stated as \"high grade\" only" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_30400.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_30400.json deleted file mode 100644 index cd2a12253..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_30400.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_30400", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** G3 includes anaplastic.\n\n**Note 5:** Code 9 (unknown) when\n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2021-04-23T20:42:17.017Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated, undifferentiated " ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_35900.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_35900.json deleted file mode 100644 index 5cc9aa0c8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_35900.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_35900", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Codes L and H take priority over A-D. \n\n**Note 5:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T16:48:43.888Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "LG: Low grade: round monomorphic nuclei with only mild to moderate nuclear size variation, indistinct nucleoli, and chromatin characteristics resembling those of normal parathyroid or of adenoma" ], [ "H", "HG: High grade: more pleomorphism, with a nuclear size variation greater than 4:1; prominent nuclear membrane irregularities; chromatin alterations, including hyperchromasia or margination of chromatin; and prominent nucleoli. High-grade tumors show several discrete confluent areas with nuclear changes" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_41222.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_41222.json deleted file mode 100644 index ada5b25b0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_41222.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_41222", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** G4 includes anaplastic.\n\n**Note 5:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2021-04-23T20:35:31.582Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated" ], [ "4", "G4: Undifferentiated " ], [ "9", "Grade cannot be assessed (GX); Unknown \nNot applicable" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_4232.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_4232.json deleted file mode 100644 index 50ef7e37a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_4232.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_4232", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Code 1 for stated as “low grade” only.\n\n**Note 5:** Codes 1-3 take priority over H.\n* If “high grade” is documented and G2 (Moderately differentiated, high grade) or G3 (Poorly differentiated, high grade) are not documented, code H (high grade, NOS)\n\n**Note 6:** G3 includes undifferentiated and anaplastic.\n\n**Note 7:** Code 9 (unknown) when\n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n\n**Note 8:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Code H is treated as a G3 when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-04-29T12:56:47.561Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated, low grade" ], [ "2", "G2: Moderately differentiated, high grade " ], [ "3", "G3: Poorly differentiated, high grade " ], [ "H", "Stated as \"high grade\" only" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_43459.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_43459.json deleted file mode 100644 index 65f15db95..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_43459.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_43459", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when\n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Grade is applicable for the follicular lymphomas only (9690/3, 9691/3, 9695/3, 9698/3). For all other lymphoma histologies, code 9.\n\n**Note 3:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy. \n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Follicular lymphoma grade is based on the absolute number of centroblasts per high-power (40 x objective, 0.159 square mm) microscopic field (HPF).\n\n**Note 6:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T16:09:23.954Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: 0-5 centroblasts per 10 HPF" ], [ "2", "G2: 6-15 centroblasts per 10 HPF" ], [ "3", "G3: More than 15 centroblasts per 10 HPF but with admixed centrocytes" ], [ "4", "G4: More than 15 centroblasts per 10 HPF but without centrocytes " ], [ "9", "Grade cannot be assessed (GX); Unknown \nNot a follicular histology (9690/3, 9691/3, 9695/3, 9698/3)" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_45036.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_45036.json deleted file mode 100644 index dc8d71115..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_45036.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_45036", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Code 1 (G1) for LAMN tumors and 2 (G2) for HAMN tumors. \n\n**Note 5:** G3 includes undifferentiated and anaplastic.\n\n**Note 6:** Code 9 (unknown) when\n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n\n**Note 7:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* An unknown grade may result in an unknown stage group", - "last_modified" : "2024-04-03T20:05:49.604Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated " ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_53870.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_53870.json deleted file mode 100644 index edaabaac3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_53870.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_53870", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Codes L, H and M take priority over A-D.\n\n**Note 5:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T16:23:58.361Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "LG: Low grade (≤20 mitoses per 50 HPF)" ], [ "H", "HG: High grade (>20 mitosis per 50 HPF) " ], [ "M", "TP53 or CTNNB Mutation " ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_54917.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_54917.json deleted file mode 100644 index cfc26026d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_54917.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_54917", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** The grading system for this Staging System is based on histology\n* Immature teratomas and serous carcinomas: Use codes L, H, or 9. This include the following ICD-O-3 codes: 8441/2, 8441/3, 8460/3, 8461/3, 8474/3, 9080/3\n* All other histologies: Code 1-3 if a nuclear grade is documented, otherwise code 9\n* If your registry collects ovarian borderline tumors (/1), code “B” for grade\n\n**Note 5:** G3 includes anaplastic.\n\n**Note 6:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2022-04-29T12:48:08.577Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated, undifferentiated " ], [ "B", "GB: Borderline Tumor" ], [ "L", "Low grade" ], [ "H", "High grade" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_60334.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_60334.json deleted file mode 100644 index 620817c64..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_60334.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_60334", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** G3 includes anaplastic. \n\n**Note 5:** Code 9 (unknown) when\n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2021-04-23T20:48:22.163Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated, undifferentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_61658.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_61658.json deleted file mode 100644 index ef345e29a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_61658.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_61658", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** G3 includes undifferentiated and anaplastic.\n\n**Note 5:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2021-04-23T20:28:05.169Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_68213.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_68213.json deleted file mode 100644 index 7ebb06013..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_68213.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_68213", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Priority order for codes\n- Urothelial cancers (WHO/ISUP grade): use codes L, H and 9 \n + If only G1-G3 are documented, code 9\n- Adenocarcinomas and Squamous Cell Carcinomas: use codes 1-3, 9\n + If only L or H are documented, code 9\n\n**Note 5:** G3 includes undifferentiated and anaplastic.\n\n**Note 6:** For bladder, a TURB qualifies for a clinical grade only.\n\n**Note 7:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2021-04-24T11:33:23.678Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated" ], [ "L", "LG: Low-grade" ], [ "H", "HG: High-grade" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_69737.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_69737.json deleted file mode 100644 index 2d2c4f0e2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_69737.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_69737", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T16:18:34.512Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed; Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_72770.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_72770.json deleted file mode 100644 index e9340a326..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_72770.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_72770", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** G3 includes anaplastic.\n\n**Note 5:** Sarcomatous overgrowth (S) takes priority over L and H\n* *Example:* Pathology report: Adenocarcinoma with sarcomatous overgrowth, high and low grade\n - Code Grade to S for the sarcomatous overgrowth\n\n**Note 6:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2021-04-24T10:53:47.239Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated or undifferentiated" ], [ "L", "Low grade" ], [ "H", "High grade" ], [ "S", "Sarcomatous overgrowth " ], [ "9", "Grade cannot be assessed (GX); Unknown \nNot applicable" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_74830.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_74830.json deleted file mode 100644 index 4aa7ec05a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_74830.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_74830", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when\n* No neoadjuvant therapy\n* Clinical or pathological case only\n\n**Note 2:** Grade (cell indicator) is no longer applicable for this hematopoietic neoplasm.", - "last_modified" : "2020-03-18T18:50:27.948Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8", "Not applicable" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_76032.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_76032.json deleted file mode 100644 index 7584258d3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_76032.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_76032", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** G3 includes undifferentiated and anaplastic.\n\n**Note 5:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2021-04-24T11:06:43.650Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated/high grade" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_88214.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_88214.json deleted file mode 100644 index 79df962e0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_88214.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_88214", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** There are two major grading systems used for Breast and they are based on the behavior of the primary tumor (in situ or invasive)\n**Invasive tumors**\n * The preferred grading system for Invasive tumors is the **Nottingham grade/Nottingham Score**, also known as the Scarff-Bloom-Richardson or Bloom Richardson\n * The **Nottingham score** is a combined histologic grade in which three components are evaluated to determine the overall grade: **tubule formation, nuclear pleomorphism and mitotic count**. Each of these components is assigned a value from 1 (favorable) to 3 (unfavorable) for each feature and then totaling the scores for all three categories. A combined score of 3-5 points is designated as grade 1; a combined score for 6-7 points is grade 2; a combined score of 8-9 points is grade 3\n \n**Note 5:** If a pathology report for an invasive cancer states, “Grade 1 (or 2, 3)” and there is no further information, assume this is the Nottingham grade and assign the appropriate code. \n * If a pathology report for an invasive cancer states, “well differentiated, moderately differentiated, poorly differentiated, low, medium, high,” use grades A-D as appropriate\n * ***Example***: Pathology report states invasive ductal carcinoma, well differentiated. Code grade A.\n* **Do not use grades L, M, H for invasive tumors**\n * *Exception*: Biopsy diagnosis is DCIS; Lumpectomy is invasive ductal carcinoma. The Clinical Grade would be L, M, H or 9 based on the DCIS; the Pathological Grade would be 1, 2, 3, or 9 based on the invasive ductal carcinoma. Behavior would be /3\n\n**Note 6:** **In situ tumors**\n* The preferred grading system for in situ tumors is based on a 3 grade Nuclear system, and is defined as Low (L) (Nuclear Grade 1), Intermediate (M) (Nuclear Grade 2), or High (H) (Nuclear Grade 3), or the nuclear component of the Nottingham grade\n* Documentation for these grades may be 1/3, 2/3, 3/3. This notation is documenting the nuclear component of the Nottingham grade, not the Nottingham grade (1, 2, 3)\n* If a pathologist uses a Nottingham grade (i.e., G2) for an in situ cancer, they are documenting the nuclear component of the Nottingham score. You would still assign L, M, or H as appropriate for the in situ tumor\n* **Do not use grades 1, 2, 3 for in situ tumors**\n\n**Note 7:** Grade from nodal tissue may be used **ONLY** when there was **never** any evidence of primary tumor (T0). Grade would be coded using G1, G2, or G3, even if the grading is not strictly Nottingham, which is difficult to perform in nodal tissue. Some of the terminology may include differentiation terms without some of the morphologic features used in Nottingham (e.g., well differentiated (G1), moderately differentiated (G2), or poorly/undifferentiated (G3)).\n* *Example:* No breast tumor identified, but 2/3 axillary nodes were positive. Determined to be regional node metastasis from breast primary. Nodes were described as poorly differentiated with a high mitotic rate\n - Code G3 based on the poorly differentiated (which is a high grade) although the terminology used is for nuclear grading \n\n**Note 8:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n\n**Note 9:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-D are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2024-04-03T15:39:23.177Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Low combined histologic grade (favorable), SBR score of 3-5 points\n\nStated as Nottingham/Scarff Bloom-Richardson Grade 1" ], [ "2", "G2: Intermediate combined histologic grade (moderately favorable); SBR score of 6-7 points\n\nStated as Nottingham/Scarff Bloom-Richardson Grade 2" ], [ "3", "G3: High combined histologic grade (unfavorable); SBR score of 8-9 points\n\nStated as Nottingham/Scarff Bloom-Richardson Grade 3" ], [ "L", "Nuclear Grade I (Low) (in situ only)" ], [ "M", "Nuclear Grade II (interMediate) (in situ only)" ], [ "H", "Nuclear Grade III (High) (in situ only)" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93593.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93593.json deleted file mode 100644 index ae90630fc..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93593.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_93593", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Codes 1-4 take priority over L and H.\n\n**Note 5:** G4 includes anaplastic.\n\n**Note 6:** Code 9 (unknown) when\n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2021-04-23T21:20:08.535Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated (low grade) " ], [ "2", "G2: Moderately differentiated (low grade)" ], [ "3", "G3: Poorly differentiated (high grade)" ], [ "4", "G4: Undifferentiated (high grade)" ], [ "L", "Stated as \"low grade\" NOS" ], [ "H", "Stated as \"high grade\" NOS " ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93998.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93998.json deleted file mode 100644 index 9b9dae25d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_93998.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_93998", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Codes L and H take priority over A-D.\n\n**Note 5:** Record the mitotic rate as Low or High as indicated on the pathology report or CAP protocol. Assume the denominator is 5 square mm if not specified.\n* Low: 5 or fewer mitoses per 5 square mm (L)\n* High: Over 5 mitoses per 5 square mm (H)\n\n**Note 6:** Code 9 (unknown) when\n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available\n\n**Note 7:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-D are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-04-29T12:58:47.720Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "Low: 5 or fewer mitoses per 5 square mm" ], [ "H", "High: Over 5 mitoses per 5 square mm" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed; Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_95734.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_95734.json deleted file mode 100644 index 81e31a45e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_95734.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_95734", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T16:20:37.492Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed; Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_97989.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_97989.json deleted file mode 100644 index e93cc427b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_97989.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_97989", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Codes 1-4 take priority over codes A-D.\n\n**Note 5:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2021-04-24T11:20:39.782Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Nucleoli absent or inconspicuous and basophilic at 400x magnification\n\nStated as WHO/ISUP Grade 1" ], [ "2", "G2: Nucleoli conspicuous and eosinophilic at 400x magnification, visible but not prominent at 100x magnification\n\nStated as WHO/ISUP Grade 2" ], [ "3", "G3: Nucleoli conspicuous and eosinophilic at 100x magnification\n\nStated as WHO/ISUP Grade 3" ], [ "4", "G4: Marked nuclear pleomorphism and/or multinucleate giant cells and/or rhabdoid and/or sarcomatoid differentiation\n\nStated as WHO/ISUP Grade 4" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown\n\nOnly Fuhrman grade documented" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_31990.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_31990.json deleted file mode 100644 index c127ec346..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_31990.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_yc_31990", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2025-04-11T19:38:33.385Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "Low grade" ], [ "M", "Intermediate grade" ], [ "H", "High grade/High grade transformation" ], [ "9", "Grade cannot be assessed; Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_55565.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_55565.json deleted file mode 100644 index a466c079c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_55565.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_yc_55565", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc)", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy. \n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Codes 1-4 take priority over A-D, L and H.\n\n**Note 5:** CNS WHO classifications use a grading scheme that is a \"malignancy scale\" ranging across a wide variety of neoplasms rather than a strict histologic grading system that can be applied equally to all tumor types. \n* Code the WHO grading system for selected tumors of the CNS as noted in the AJCC 8th edition Table 72.2 when WHO grade is not documented in the record\n + A list of the histologies that have a default grade can also be found in the *Brain/Spinal Cord* CAP Protocol in Table 1: *WHO Grading System for Some of the More Common Tumors of the CNS*, Table 2: *WHO Grading System for Diffuse Infiltrating Astrocytomas and Table* 3: *WHO Grading Meningiomas* \nhttps://www.cap.org/protocols-and-guidelines/cancer-reporting-tools/cancer-protocol-templates\n* For **benign tumors ONLY (behavior 0), ** code 1 can be automatically assigned for all histologies\n + This was confirmed by the CAP Cancer Committee\n\n**Note 6:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T16:55:36.750Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "WHO Grade I : Circumscribed tumors of low proliferative potential associated with the possibility of cure following resection" ], [ "2", "WHO Grade II: Infiltrative tumors with low proliferative potential with increased risk of progression or recurrence" ], [ "3", "WHO Grade III: Tumors with histologic and/or molecular genetic evidence of malignancy that are associated with an aggressive clinical course" ], [ "4", "WHO Grade IV: Tumors with histologic and/or molecular genetic evidence of malignancy that are associated with the most aggressive clinical course and shorter overall survival" ], [ "L", "Stated as \"low grade\" NOS" ], [ "H", "Stated as \"high grade\" NOS" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_v9_85438.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_v9_85438.json deleted file mode 100644 index 3d256ef40..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_clin_yc_v9_85438.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_clin_yc_v9_85438", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Clin (yc) v9", - "title" : "Grade Post Therapy Clin (yc)", - "notes" : "**Note 1:** Leave Grade Post Therapy Clin (yc) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed, no microscopic exam is done prior to surgery/resection of primary tumor\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the microscopically sampled specimen of the primary site following neoadjuvant therapy or primary systemic/radiation therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 4:** Code 9 (unknown) when \n* Microscopic exam is done after neoadjuvant therapy and grade from the primary site is not documented\n* Microscopic exam is done after neoadjuvant therapy and there is no residual cancer\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2024-04-03T20:44:16.451Z", - "definition" : [ { - "key" : "grade_post_therapy_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "Nuclear Grade I WITH or WITHOUT necrosis OR\nNuclear Grade II WITHOUT necrosis" ], [ "H", "Nuclear Grade II WITH necrosis OR\nNuclear Grade III WITH or WITHOUT necrosis" ], [ "9", "Grade cannot be assessed (GX); Unknown \nNot applicable" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_20786.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_20786.json deleted file mode 100644 index 0f48f877e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_20786.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_20786", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yp) using the applicable generic grade codes (A-D). \n* *Example:* Neoadjuvant therapy completed. Biopsy of prostate, adenocarcinoma, Gleason Patterns 2+3, Score=5. The surgical resection states a moderately differentiated adenocarcinoma\n * Code Grade Post Therapy Clin (yc) as 1 since score is less than 6 and this is the preferred grading system\n * Code Grade Post Therapy Path (yp) as B (moderately differentiated), per the Coding Guidelines for Generic Grade Categories\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes 1-5 take priority over A-E. \n\n**Note 6:** For prostate, a TURP or simple prostatectomy does not qualify for surgical resection. A radical prostatectomy must be performed.\n\n**Note 7:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n\n**Note 8:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 9:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-E are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-05-16T13:32:01.099Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "Description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Grade Group 1: Gleason score less than or equal to 6" ], [ "2", "Grade Group 2: Gleason score 7\nGleason pattern 3+4" ], [ "3", "Grade Group 3: Gleason score 7\nGleason pattern 4+3" ], [ "4", "Grade Group 4: Gleason score 8" ], [ "5", "Grade Group 5: Gleason score 9 or 10" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "E", "Stated as \"Gleason score 7\" with no patterns documented or \nAny Gleason patterns combination equal to 7 not specified in 2 or 3" ], [ "9", "Grade cannot be assessed; Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_25809.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_25809.json deleted file mode 100644 index f8118a17e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_25809.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_25809", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. \n* *Example:* Neoadjuvant therapy completed. Bone biopsy reports states moderately differentiated sarcoma. The surgical resection states a high grade sarcoma. Assign Grade Post Therapy Path (yp) using the H code \n * Code Grade Post Therapy Clin (yc) as 2 since Moderately differentiated (G2) is the preferred grading system\n * Code Grade Post Therapy Path (yp) as H since the preferred grading system was not used and there is a code available for “high grade” only\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Code the appropriate grade from a resection done after neoadjuvant therapy.\n\n**Note 6:** Codes 1-3 take priority over H.\n* If “high grade” is documented and G2 (Moderately differentiated, high grade) or G3 (Poorly differentiated, high grade) are not documented, code H (high grade, NOS)\n\n**Note 7:** Code 1 for stated as “low grade” only.\n\n**Note 8:** G3 includes undifferentiated and anaplastic.\n\n**Note 9:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 10:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 11:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Code H is treated as a G3 when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-05-16T13:10:35.537Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated, low grade" ], [ "2", "G2: Moderately differentiated, high grade " ], [ "3", "G3: Poorly differentiated, high grade " ], [ "H", "Stated as \"high grade\" only" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_28874.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_28874.json deleted file mode 100644 index 36a4a5372..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_28874.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_28874", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin yc) in the Grade Post Therapy Path (yp) field. Assign Grade Pathological 9.\n* *Example: * Neoadjuvant therapy completed. Biopsy of appendiceal tumor shows a moderately differentiated adenocarcinoma. The surgical resection states a high-grade adenocarcinoma. \n * Code Grade Post Therapy Clin (yc) as 2 since Moderately differentiated (G2) is the preferred grading system\n * Code Grade Post Therapy Path (yp) as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Code 1 (G1) for LAMN tumors and 2 (G2) for HAMN tumors. \n\n**Note 6:** G3 includes undifferentiated and anaplastic.\n\n**Note 7:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 8:** Code 9 (unknown) when\n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 9:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* An unknown grade may result in an unknown stage group", - "last_modified" : "2024-04-03T20:06:29.999Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated " ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_30693.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_30693.json deleted file mode 100644 index e0325af3b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_30693.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_30693", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yp) using the applicable generic grade codes (A-D). \n* *Example: * Neoadjuvant therapy completed. Biopsy of parathyroid shows a low-grade adenocarcinoma. The surgical resection states a moderately differentiated adenocarcinoma.\n * Code Grade Post Therapy Clin (yc) as L since low grade is the preferred grading system\n * Code Grade Post Therapy Path (yp) as B (moderately differentiated), per the Coding Guidelines for Generic Grade Categories\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes L and H take priority over A-D.\n\n**Note 6:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 7:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T16:49:20.841Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "LG: Low grade: round monomorphic nuclei with only mild to moderate nuclear size variation, indistinct nucleoli, and chromatin characteristics resembling those of normal parathyroid or of adenoma" ], [ "H", "HG: High grade: more pleomorphism, with a nuclear size variation greater than 4:1; prominent nuclear membrane irregularities; chromatin alterations, including hyperchromasia or margination of chromatin; and prominent nucleoli. High-grade tumors show several discrete confluent areas with nuclear changes" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_32110.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_32110.json deleted file mode 100644 index 5157a9986..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_32110.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_32110", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 5:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T16:21:05.498Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed; Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_35393.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_35393.json deleted file mode 100644 index 0e62d0ad8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_35393.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_35393", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yp) using the applicable generic grade codes (A-D). \n* *Example:* Neoadjuvant therapy completed. Biopsy shows a myxofibrosarcoma, FNCLCC grade score 2. The surgical resection states a high grade myxofibrosarcoma \n * Code Grade Post Therapy Clin (yc) as 2 (G2) since FNCLCC is the preferred grading system\n * Code Grade Post Therapy Path (yp) as D for high grade, per the Coding Guidelines for Generic Grade Categories \n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Code 1 for stated as “low grade” only.\n\n**Note 6:** Codes 1-3 take priority over A-D, H.\n\n**Note 7:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 8:** Code 9 (unknown) when\n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 9:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-D are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-05-16T13:14:10.637Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Sum of differentiation score, mitotic count score and necrosis score equals 2 or 3\n\nStated as FNCLCC Grade 1" ], [ "2", "G2: Sum of differentiation score, mitotic count score and necrosis score of 4 or 5\n\nStated as FNCLCC Grade 2" ], [ "3", "G3: Sum of differentiation score, mitotic count score and necrosis score of 6, 7, or 8\n\nStated as FNCLCC Grade 3" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "H", "Stated as \"high grade\" only" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_36935.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_36935.json deleted file mode 100644 index 402777481..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_36935.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_36935", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yc) field. Assign Grade Post Therapy Path (yc) using the applicable generic grade codes (A-D). \n* *Example:* Neoadjuvant therapy completed. Biopsy shows a myxofibrosarcoma, FNCLCC grade score 2. The surgical resection states a high grade myxofibrosarcoma \n * Code Grade Post Therapy Clin (yc) as 2 (G2) since FNCLCC is the preferred grading system\n * Code Grade Post Therapy Path (yp) as D for high grade, per the Coding Guidelines for Generic Grade Categories \n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Code 1 for stated as “low grade” only.\n\n**Note 6:** Codes 1-3 take priority over A-D, H. \n\n**Note 7:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 8:** Code 9 (unknown) when\n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2022-05-16T13:12:33.709Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Sum of differentiation score, mitotic count score and necrosis score equals 2 or 3\n\nStated as FNCLCC Grade 1" ], [ "2", "G2: Sum of differentiation score, mitotic count score and necrosis score of 4 or 5\n\nStated as FNCLCC Grade 2" ], [ "3", "G3: Sum of differentiation score, mitotic count score and necrosis score of 6, 7, or 8\n\nStated as FNCLCC Grade 3" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "H", "Stated as \"high grade\" only" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_3704.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_3704.json deleted file mode 100644 index ec51413d1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_3704.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_3704", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. \n* *Example:* Neoadjuvant therapy completed. Anal biopsy reports states moderately differentiated squamous cell carcinoma. The surgical resection states a low grade squamous cell carcinoma. Assign Grade Post Therapy Path (yc) using the L code \n * Code Grade Post Therapy Clin (yc) as 2 since Moderately differentiated (G2) is the preferred grading system\n * Code Grade Post Therapy Path (yp) as L since the preferred grading system was not used and there is a code available for “low grade” only\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes 1-4 take priority over L and H.\n\n**Note 6:** G4 includes anaplastic.\n\n**Note 7:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 8:** Code 9 (unknown) when\n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2022-05-16T13:06:37.859Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated (low grade) " ], [ "2", "G2: Moderately differentiated (low grade)" ], [ "3", "G3: Poorly differentiated (high grade)" ], [ "4", "G4: Undifferentiated (high grade)" ], [ "L", "Stated as \"low grade\" NOS" ], [ "H", "Stated as \"high grade\" NOS " ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_40048.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_40048.json deleted file mode 100644 index 34d957fa7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_40048.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_40048", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the clinical post therapy grade given uses the preferred grading system and the pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy (yp) 9. \n* *Example:* Neoadjuvant therapy completed. Biopsy of primary site shows a moderately differentiated adenocarcinoma. The post therapy surgical resection states a high grade adenocarcinoma. \n * Code Grade Post Therapy (yc) as 2 since Moderately differentiated (G2) is the preferred grading system\n * Code Grade Post Therapy Path (yp) as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** G3 includes undifferentiated and anaplastic.\n\n**Note 6:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 7:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2022-05-16T12:39:22.505Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_41285.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_41285.json deleted file mode 100644 index 411699650..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_41285.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_41285", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yp) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yp) 9.\n* *Example:* Neoadjuvant therapy completed. Biopsy of primary site shows a moderately differentiated adenocarcinoma. The post therapy surgical resection states a high grade adenocarcinoma. \n * Code Grade Post Therapy Clin (yc) as 2 since Moderately differentiated (G2) is the preferred grading system\n * Code Grade Post Therapy Path (yp) as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** G4 includes anaplastic.\n\n**Note 6:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 7:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2022-05-16T12:45:34.532Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated" ], [ "4", "G4: Undifferentiated " ], [ "9", "Grade cannot be assessed (GX); Unknown \nNot applicable" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_45323.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_45323.json deleted file mode 100644 index 99cf57f71..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_45323.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_45323", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yp) 9. \n* *Example: * Neoadjuvant therapy completed. Biopsy of eye shows a moderately differentiated adenoid cystic carcinoma. The surgical resection states a high-grade adenoid cystic carcinoma. \n * Code Grade Post Therapy Clin (yc) as 2 since Moderately differentiated (G2) is the preferred grading system\n * Code Grade Post Therapy Path (yp) as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** G4 includes anaplastic\n\n**Note 6:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n\n**Note 7:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T17:07:05.691Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated: includes adenoid cystic carcinoma without basaloid (solid) pattern" ], [ "3", "G3: Poorly differentiated: includes adenoid cystic carcinoma with basaloid (solid) pattern" ], [ "4", "G4: Undifferentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_47044.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_47044.json deleted file mode 100644 index 1a1e9757f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_47044.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_47044", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yp) using the applicable generic grade codes (A-D). \n* *Example:* Neoadjuvant therapy completed. Breast biopsy, invasive ductal carcinoma, Nottingham grade 2. Lumpectomy, invasive ductal carcinoma, nuclear grade 3\n * Code Grade Post Therapy Clin (yc) 2 (G2) since Nottingham is the preferred grading system\n * Code Grade Post Therapy Path (yp) as C (nuclear Grade 3), per the Coding Guidelines for Generic Grade Categories\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** There are two major grading systems used for Breast and they are based on the behavior of the primary tumor (in situ or invasive)\n**Invasive tumors**\n * The preferred grading system for Invasive tumors is the **Nottingham grade/Nottingham Score**, also known as the Scarff-Bloom-Richardson or Bloom Richardson\n * The **Nottingham score** is a combined histologic grade in which three components are evaluated to determine the overall grade: **tubule formation, nuclear pleomorphism and mitotic count**. Each of these components is assigned a value from 1 (favorable) to 3 (unfavorable) for each feature and then totaling the scores for all three categories. A combined score of 3-5 points is designated as grade 1; a combined score for 6-7 points is grade 2; a combined score of 8-9 points is grade 3\n \n**Note 6:** If a pathology report for an invasive cancer states, “Grade 1 (or 2, 3)” and there is no further information, assume this is the Nottingham grade and assign the appropriate code. \n * If a pathology report for an invasive cancer states, “well differentiated, moderately differentiated, poorly differentiated, low, medium, high,” use grades A-D as appropriate\n * ***Example***: Pathology report states invasive ductal carcinoma, well differentiated. Code grade A.\n* **Do not use grades L, M, H for invasive tumors**\n * *Exception*: Biopsy diagnosis is DCIS; Lumpectomy is invasive ductal carcinoma. The Clinical Grade would be L, M, H or 9 based on the DCIS; the Pathological Grade would be 1, 2, 3, or 9 based on the invasive ductal carcinoma. Behavior would be /3\n\n**Note 7:** **In situ tumors**\n* The preferred grading system for in situ tumors is based on a 3 grade Nuclear system, and is defined as Low (L) (Nuclear Grade 1), Intermediate (M) (Nuclear Grade 2), or High (H) (Nuclear Grade 3), or the nuclear component of the Nottingham grade\n* Documentation for these grades may be 1/3, 2/3, 3/3. This notation is documenting the nuclear component of the Nottingham grade, not the Nottingham grade (1, 2, 3)\n* If a pathologist uses a Nottingham grade (i.e., G2) for an in situ cancer, they are documenting the nuclear component of the Nottingham score. You would still assign L, M, or H as appropriate for the in situ tumor\n* **Do not use grades 1, 2, 3 for in situ tumors**\n\n**Note 8:** Grade from nodal tissue may be used **ONLY** when there was never any evidence of primary tumor (T0). Grade would be coded using G1, G2, or G3, even if the grading is not strictly Nottingham, which is difficult to perform in nodal tissue. Some of the terminology may include differentiation terms without some of the morphologic features used in Nottingham (e.g., well differentiated (G1), moderately differentiated (G2), or poorly/undifferentiated (G3)).\n* *Example:* No breast tumor identified, but 2/3 axillary nodes were positive. Determined to be regional node metastasis from breast primary. Nodes were described as poorly differentiated with a high mitotic rate\n * Code G3 based on the poorly differentiated (which is a high grade) although the terminology used is for nuclear grading \n\n**Note 9:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 10:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 11:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-D are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2024-04-03T15:39:26.507Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Low combined histologic grade (favorable), SBR score of 3-5 points\n\nStated as Nottingham/Scarff Bloom-Richardson Grade 1" ], [ "2", "G2: Intermediate combined histologic grade (moderately favorable); SBR score of 6-7 points\n\nStated as Nottingham/Scarff Bloom-Richardson Grade 2" ], [ "3", "G3: High combined histologic grade (unfavorable); SBR score of 8-9 points\n\nStated as Nottingham/Scarff Bloom-Richardson Grade 3" ], [ "L", "Nuclear Grade I (Low) (in situ only)" ], [ "M", "Nuclear Grade II (interMediate) (in situ only)" ], [ "H", "Nuclear Grade III (High) (in situ only)" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48765.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48765.json deleted file mode 100644 index c74507a0e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48765.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_48765", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yp) 9.\n* *Example:* Neoadjuvant therapy completed. Biopsy of penis shows a moderately differentiated adenocarcinoma. The surgical resection states a high grade adenocarcinoma\n * Code Grade Post Therapy Clin (yc) as 2 since Moderately differentiated (G2) is the preferred grading system\n * Code Grade Post Therapy Path (yp) as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** G3 includes undifferentiated and anaplastic.\n\n**Note 6:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 7:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2022-05-16T13:30:20.176Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated/high grade" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48957.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48957.json deleted file mode 100644 index 34ccc1df6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_48957.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_48957", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. \n* *Example:* Neoadjuvant therapy completed. Corpus biopsy reports states moderately differentiated adenosarcoma. The surgical resection states a high grade adenosarcoma. Assign Grade Post Therapy Path (yp) using the H code \n * Code Grade Post Therapy Clin (yc) as 2 since Moderately differentiated (G2) is the preferred grading system\n * Code Grade Post Therapy Path (yp) as H since the preferred grading system was not used and there is a code available for “high grade” only\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** G3 includes anaplastic.\n\n**Note 6:** Sarcomatous overgrowth (S) takes priority over L and H\n* *Example:* Pathology report: Adenocarcinoma with sarcomatous overgrowth, high and low grade\n - Code Grade to S for the sarcomatous overgrowth\n\n**Note 7:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 8:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2022-05-16T13:21:01.900Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated or undifferentiated" ], [ "L", "Low grade" ], [ "H", "High grade" ], [ "S", "Sarcomatous overgrowth " ], [ "9", "Grade cannot be assessed (GX); Unknown \nNot applicable" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_55848.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_55848.json deleted file mode 100644 index 3370e64d3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_55848.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_55848", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. \n* *Example:* Neoadjuvant therapy completed. Biopsy reports states moderately differentiated adenocarcinoma. The surgical resection states a high grade adenocarcinoma. Assign Grade Post Therapy Path (yp) 9\n * Code Grade Post Therapy Clin (yc) as 2 since Moderately differentiated (G2) is the preferred grading system\n * Code Grade Post Therapy Path (yp) as 9 (unknown) per **Note 5**. Code H would not be used since the histology was not an urothelial histology\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Priority order for codes\n- Urothelial cancers (WHO/ISUP grade): use codes L, H and 9 \n + If only G1-G3 are documented, code 9\n- Adenocarcinomas and Squamous Cell Carcinomas: use codes 1-3, 9\n + If only L or H are documented, code 9\n\n**Note 6:** G3 includes undifferentiated and anaplastic.\n\n**Note 7:** For bladder, a TURB does not qualify for surgical resection. A cystectomy, or partial cystectomy, must be performed\n\n**Note 8:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 9:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2022-05-16T13:35:11.589Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated" ], [ "L", "LG: Low-grade" ], [ "H", "HG: High-grade" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_58350.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_58350.json deleted file mode 100644 index 26dd83661..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_58350.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_58350", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yp) using the applicable generic grade codes (A-D). \n* *Example: * Neoadjuvant therapy completed. Biopsy of iris shows a mixed cell melanoma, G2. The surgical resection states a moderately differentiated melanoma.\n * Code Grade Post Therapy Clin (yc) as 2 since G2 is documented and this is the preferred grading system\n * Code Grade Post Therapy Path (yp) as B (moderately differentiated), per the Coding Guidelines for Generic Grade Categories\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes 1-3 take priority over A-D. \n\n**Note 6:** For this grading system, the CAP Checklist refers to this as \"histologic type,\" instead of grade. \n\n**Note 7:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n\n**Note 8:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T17:11:47.075Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Spindle cell melanoma (>90% spindle cells)" ], [ "2", "G2: Mixed cell melanoma (>10% epithelioid cells and <90% spindle cells)" ], [ "3", "G3: Epithelioid cell melanoma (>90% epithelioid cells)" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_65729.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_65729.json deleted file mode 100644 index 6268afea3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_65729.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_65729", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when\n* No neoadjuvant therapy\n* Clinical or pathological case only\n\n**Note 2:** Grade (cell indicator) is no longer applicable for this hematopoietic neoplasm.", - "last_modified" : "2020-03-18T18:51:13.820Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "8", "Not applicable" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_67342.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_67342.json deleted file mode 100644 index 7da9fd10c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_67342.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_67342", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Grade is applicable for the follicular lymphomas only (9690/3, 9691/3, 9695/3, 9698/3). For all other lymphoma histologies, code 9.\n\n**Note 3:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yp) 9.\n* *Example: * Neoadjuvant therapy completed. Biopsy of eye shows a follicular lymphoma, G3. The surgical resection states a low-grade follicular lymphoma.\n * Code Grade Post Therapy Clin (yc) as 3 since G3 is the preferred grading system\n * Code Grade Post Therapy Path (yp) as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 4:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 5:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 6:** Follicular lymphoma grade is based on the absolute number of centroblasts per high-power (40 x objective, 0.159 square mm) microscopic field (HPF).\n\n**Note 7:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n\n**Note 8:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T16:10:13.998Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: 0-5 centroblasts per 10 HPF" ], [ "2", "G2: 6-15 centroblasts per 10 HPF" ], [ "3", "G3: More than 15 centroblasts per 10 HPF but with admixed centrocytes" ], [ "4", "G4: More than 15 centroblasts per 10 HPF but without centrocytes " ], [ "9", "Grade cannot be assessed (GX); Unknown \nNot a follicular histology (9690/3, 9691/3, 9695/3, 9698/3)" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_75348.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_75348.json deleted file mode 100644 index 5d93254a6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_75348.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_75348", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave post therapy grade blank when\n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 5:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked “not applicable” on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T16:19:02.722Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed; Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_76876.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_76876.json deleted file mode 100644 index 3c9c891f9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_76876.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_76876", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yp) using the applicable generic grade codes (A-D). \n* *Example:* Neoadjuvant therapy completed. Neuroendocrine tumor, biopsy reports a clinical grade of G1 based on a mitotic count less than 2 and Ki-67 as 1.4%. The surgical resection states a well differentiated neuroendocrine tumor without further documentation regarding the mitotic count and Ki-67. Assign Grade Pathological using the applicable generic grade codes (A-D). \n * Grade Post Therapy Clin (yc) would be coded as 1 (G1) since the preferred grading system is based on the mitotic count and Ki-67\n * Grade Post Therapy Path (yp) would be coded as A for well differentiated, per the Coding Guidelines for Generic Grade Categories\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes 1-3 take priority over codes A-D.\n* Grades A-D should only be used in the absence of a physician's statement of grade (G1, G2, G3) or no results for Ki-67 or Mitotic Count (See also Note 7)\n\n**Note 6:** Do not code grade based on the following terminology: \n* Neuroendocrine carcinoma, low grade (8240/3)\n* Neuroendocrine carcinoma, well differentiated (8240/3)\n* Neuroendocrine carcinoma, moderately differentiated (8249/3)\n* Poorly differentiated neuroendocrine carcinoma (8246/3)\n\n**Note 7:** Code grade based on the physician's documentation (G1, G2, G3) OR **in the absence of a physician's statement,** code grade based on the Ki-67 and Mitotic Count. \n* If a Ki-67 is documented as less than 3, many times the mitotic count is not done. In this situation, the Ki-67 alone is enough to code the grade (G1). \n* Grades 2 and 3, are either/or for Ki-67 and Mitotic Count. You do not need both the Ki-67 and Mitotic Count to assign grade 2 or 3.\n\n**Note 8:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 9:** Code 9 (unknown) when\n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2025-05-02T16:45:36.480Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Mitotic count (per 2mm2) less than 2 AND \n Ki-67 index (%) less than 3\n\nStated as WHO Grade 1" ], [ "2", "G2: Mitotic count (per 2mm2) equal 2-20 OR\n Ki-67 index (%) equal 3-20\n\nStated as WHO Grade 2" ], [ "3", "G3: Mitotic count (per 2mm2) greater than 20 OR \n Ki-67 index (%) greater than 20\n\nStated as WHO Grade 3" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_80308.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_80308.json deleted file mode 100644 index 89ac7b79e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_80308.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_80308", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yc) using the applicable generic grade codes (A-D). \n* *Example:* Neoadjuvant therapy completed. Biopsy of kidney shows a renal cell carcinoma, G2. The surgical resection states a moderately differentiated renal cell carcinoma\n * Code Grade Post Therapy Clin (yc) as 2 since G2 is documented and this is the preferred grading system\n * Code Grade Post Therapy Path (yp) as B (moderately differentiated), per the Coding Guidelines for Generic Grade Categories\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes 1-4 take priority over codes A-D.\n\n**Note 6:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n\n**Note 7:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2022-05-16T13:33:39.874Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Nucleoli absent or inconspicuous and basophilic at 400x magnification\n\nStated as WHO/ISUP Grade 1" ], [ "2", "G2: Nucleoli conspicuous and eosinophilic at 400x magnification, visible but not prominent at 100x magnification\n\nStated as WHO/ISUP Grade 2" ], [ "3", "G3: Nucleoli conspicuous and eosinophilic at 100x magnification\n\nStated as WHO/ISUP Grade 3" ], [ "4", "G4: Marked nuclear pleomorphism and/or multinucleate giant cells and/or rhabdoid and/or sarcomatoid differentiation\n\nStated as WHO/ISUP Grade 4" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown\n\nOnly Fuhrman grade documented" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_83202.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_83202.json deleted file mode 100644 index 9ed394f50..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_83202.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_83202", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yp) using the applicable generic grade codes (A-D). \n* *Example:* Neoadjuvant therapy completed. Biopsy shows a GIST tumor. Grade stated as Low based on less than 5 mitoses per 5 square mm. The surgical resection states a moderately differentiated GIST tumor\n * Code Grade Post Therapy Clin (yc) as L since grade is based on the mitotic rate, which is the preferred grading system\n * Code Grade Post Therapy Path (yp) as B for moderately differentiated, per the Coding Guidelines for Generic Grade Categories \n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes L and H take priority over A-D.\n\n**Note 6:** Record the mitotic rate as Low or High as indicated on the pathology report or CAP protocol. Assume the denominator is 5 square mm if not specified.\n* Low: 5 or fewer mitoses per 5 square mm (L)\n* High: Over 5 mitoses per 5 square mm (H)\n\n**Note 7:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 8:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available\n\n**Note 9:** If you are assigning an AJCC Staging System stage group\n* Grade is required to assign stage group\n* Codes A-D are treated as an unknown grade when assigning AJCC stage group \n* An unknown grade may result in an unknown stage group", - "last_modified" : "2022-05-16T13:15:50.754Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "Low: 5 or fewer mitoses per 5 square mm" ], [ "H", "High: Over 5 mitoses per 5 square mm" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed; Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_86055.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_86055.json deleted file mode 100644 index 0da3910cd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_86055.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_86055", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Codes 1-4 take priority over A-D, L and H.\n\n**Note 5:** CNS WHO classifications use a grading scheme that is a \"malignancy scale\" ranging across a wide variety of neoplasms rather than a strict histologic grading system that can be applied equally to all tumor types. \n* Code the WHO grading system for selected tumors of the CNS as noted in the AJCC 8th edition Table 72.2 when WHO grade is not documented in the record\n + A list of the histologies that have a default grade can also be found in the *Brain/Spinal Cord* CAP Protocol in Table 1: *WHO Grading System for Some of the More Common Tumors of the CNS*, Table 2: *WHO Grading System for Diffuse Infiltrating Astrocytomas and Table* 3: *WHO Grading Meningiomas* \nhttps://www.cap.org/protocols-and-guidelines/cancer-reporting-tools/cancer-protocol-templates\n* For **benign tumors ONLY (behavior 0), ** code 1 can be automatically assigned for all histologies\n + This was confirmed by the CAP Cancer Committee\n\n**Note 6:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n\n**Note 7:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T16:51:59.678Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "WHO Grade I : Circumscribed tumors of low proliferative potential associated with the possibility of cure following resection" ], [ "2", "WHO Grade II: Infiltrative tumors with low proliferative potential with increased risk of recurrence" ], [ "3", "WHO Grade III: Tumors with histologic evidence of malignancy, including nuclear atypia and mitotic activity, associated with an aggressive clinical course" ], [ "4", "WHO Grade IV: Tumors that are cytologically malignant, mitotically active, and associated with rapid clinical progression and potential for dissemination" ], [ "L", "Stated as \"low grade\" NOS" ], [ "H", "Stated as \"high grade\" NOS" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_87571.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_87571.json deleted file mode 100644 index 0132f3f26..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_87571.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_87571", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yp) 9. \n* *Example:* Neoadjuvant therapy completed. Biopsy of corpus shows a well differentiated endometrioid carcinoma, FIGO Grade 1. The surgical resection states a high grade endometrioid carcinoma\n * Code Grade Post Therapy Clin (yc) as 1 since FIGO and well differentiated is the preferred grading system\n * Code Grade Post Therapy Path (yp) as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n* Per clarification from the CAP Cancer Committee based on the CAP Protocol, the following histologies must be assigned a G3 (code 3): Serous, clear cell, undifferentiated/de-differentiated carcinomas, carcinosarcomas, and mixed mesodermal tumors (Mullerian/MMMT) are *high risk (high grade)* \n\n**Note 4:** For endometrioid carcinomas only\n* If “low grade” is documented, code 2 (FIGO Grade 2)\n* If “high grade” is documented, code 3 (FIGO Grade 3)**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade. \n\n**Note 5:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 6:** G3 includes anaplastic.\n\n**Note 7:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 8:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2024-04-03T21:00:59.776Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1\nFIGO Grade 1\nG1: Well differentiated" ], [ "2", "G2\nFIGO Grade 2\nG2: Moderately differentiated" ], [ "3", "G3\nFIGO Grade 3\nG3: Poorly differentiated or undifferentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_90448.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_90448.json deleted file mode 100644 index 8ccdfa56b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_90448.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_90448", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yp) 9. \n* *Example: * Neoadjuvant therapy completed. Biopsy of stomach tumor shows a moderately adenocarcinoma. The surgical resection states a high-grade adenocarcinoma. \n * Code Grade Post Therapy Clin (yc) as 2 since Moderately differentiated (G2) is the preferred grading system\n * Code Grade Post Therapy Path (yp) as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** G3 includes anaplastic\n\n**Note 6:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 7:** Code 9 (unknown) when\n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T17:23:21.046Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated, undifferentiated" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_91649.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_91649.json deleted file mode 100644 index be6d6d465..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_91649.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_91649", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc)l in the Grade Post Therapy Path (yp) field. \n* *Example:* Neoadjuvant therapy completed. Ovarian biopsy reports states moderately differentiated adenocarcinoma. The surgical resection states a high grade adenocarcinoma. Assign Grade Post Therapy Path (yp) using the H code \n * Code Grade Post Therapy Clin (yc) as 2 since Moderately differentiated (G2) is the preferred grading system\n * Code Grade Post Therapy Path (yp) as H since the preferred grading system was not used and there is a code available for “high grade” only\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** The grading system for this Staging System is based on histology\n* Immature teratomas and serous carcinomas: Use codes L, H, or 9. This include the following ICD-O-3 codes: 8441/2, 8441/3, 8460/3, 8461/3, 8474/3, 9080/3\n* All other histologies: Code 1-3 if a nuclear grade is documented, otherwise code 9\n* If your registry collects ovarian borderline tumors (/1), code “B” for grade\n\n**Note 6:** G3 includes anaplastic.\n\n**Note 7:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 8:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2022-05-16T13:28:39.661Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated, undifferentiated " ], [ "B", "GB: Borderline Tumor" ], [ "L", "Low grade" ], [ "H", "High grade" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_92197.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_92197.json deleted file mode 100644 index 515605b42..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_92197.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_92197", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yp) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yp) 9.\n* *Example: * Neoadjuvant therapy completed. Biopsy of esophageal tumor shows a moderately adenocarcinoma. The surgical resection states a high-grade adenocarcinoma. \n * Code Grade Post Therapy Clin (yc) as 2 since Moderately differentiated (G2) is the preferred grading system\n * Code Grade Post Therapy Path (yp) as 9 since the preferred grading system was not used and the Generic Grade Categories do not apply to this grade table\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** G3 includes anaplastic.\n\n**Note 6:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 7:** Code 9 (unknown) when\n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T17:21:43.992Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Well differentiated" ], [ "2", "G2: Moderately differentiated" ], [ "3", "G3: Poorly differentiated, undifferentiated " ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_93034.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_93034.json deleted file mode 100644 index cb4873ab3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_93034.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_93034", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yc) field. Assign Grade Post Therapy Path (yc) using the applicable generic grade codes (A-D). \n* *Example: * Neoadjuvant therapy completed. Biopsy of adrenal gland shows a low grade adrenal cortical adenocarcinoma. The surgical resection states a moderately differentiated adrenal cortical adenocarcinoma.\n * Code Grade Post Therapy Clin (yc) as L since low grade is the preferred grading system\n * Code Grade Post Therapy Path (yp) as B (moderately differentiated), per the Coding Guidelines for Generic Grade Categories \n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes L, H and M take priority over A-D.\n\n**Note 6:** Use the grade from the post therapy clinical work up from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 7:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T16:24:27.390Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "LG: Low grade (≤20 mitoses per 50 HPF)" ], [ "H", "HG: High grade (>20 mitosis per 50 HPF) " ], [ "M", "TP53 or CTNNB Mutation " ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_98398.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_98398.json deleted file mode 100644 index a47840263..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_98398.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_98398", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yc) in the Grade Post Therapy Path (yp) field. Assign the Grade Post Therapy Path (yp) using the applicable generic grade codes (A-D). \n* *Example: * Neoadjuvant therapy completed. Biopsy of eye shows a retinoblastoma, G2. The surgical resection states a moderately differentiated retinoblastoma. \n * Code Grade Post Therapy Clin (yc) as 2 since G2 is documented and this is the preferred grading system\n * Code Grade Post Therapy Path (yp) as B (moderately differentiated), per the Coding Guidelines for Generic Grade Categories\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Codes 1-4 take priority over A-D.\n\n**Note 6:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 7:** Code 9 (unknown) when \n•\tSurgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n•\tSurgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T17:09:30.107Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "G1: Tumor with areas of retinoma [retinocytoma] (fleurettes or neuronal differentiation)" ], [ "2", "G2: Tumor with many rosettes (Flexner-Wintersteiner or Homer Wright)" ], [ "3", "G3: Tumor with occasional rosettes (Flexner-Wintersteiner or Homer Wright)" ], [ "4", "G4: Tumor with poorly differentiated cells without rosettes and/or with extensive areas (more than half of tumor) of anaplasia" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_3519.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_3519.json deleted file mode 100644 index 685521fa6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_3519.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_yp_3519", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Codes 1-4 take priority over A-D, L and H.\n\n**Note 5:** CNS WHO classifications use a grading scheme that is a \"malignancy scale\" ranging across a wide variety of neoplasms rather than a strict histologic grading system that can be applied equally to all tumor types. \n* Code the WHO grading system for selected tumors of the CNS as noted in the AJCC 8th edition Table 72.2 when WHO grade is not documented in the record\n + A list of the histologies that have a default grade can also be found in the *Brain/Spinal Cord* CAP Protocol in Table 1: *WHO Grading System for Some of the More Common Tumors of the CNS*, Table 2: *WHO Grading System for Diffuse Infiltrating Astrocytomas and Table* 3: *WHO Grading Meningiomas* \nhttps://www.cap.org/protocols-and-guidelines/cancer-reporting-tools/cancer-protocol-templates\n* For **benign tumors ONLY (behavior 0),** code 1 can be automatically assigned for all histologies\n + This was confirmed by the CAP Cancer Committee\n\n**Note 6:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n\n**Note 7:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2023-10-30T16:56:05.126Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "WHO Grade I : Circumscribed tumors of low proliferative potential associated with the possibility of cure following resection" ], [ "2", "WHO Grade II: Infiltrative tumors with low proliferative potential with increased risk of progression or recurrence" ], [ "3", "WHO Grade III: Tumors with histologic and/or molecular genetic evidence of malignancy that are associated with an aggressive clinical course" ], [ "4", "WHO Grade IV: Tumors with histologic and/or molecular genetic evidence of malignancy that are associated with the most aggressive clinical course and shorter overall survival" ], [ "L", "Stated as \"low grade\" NOS" ], [ "H", "Stated as \"high grade\" NOS" ], [ "A", "Well differentiated" ], [ "B", "Moderately differentiated" ], [ "C", "Poorly differentiated" ], [ "D", "Undifferentiated, anaplastic" ], [ "9", "Grade cannot be assessed (GX); Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_8036.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_8036.json deleted file mode 100644 index 32ccfc953..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_8036.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_yp_8036", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp)", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available, and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 3:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 4:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 5:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2025-04-11T19:38:26.796Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "Low grade" ], [ "M", "Intermediate grade" ], [ "H", "High grade/High grade transformation" ], [ "9", "Grade cannot be assessed; Unknown" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_v9_717.json b/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_v9_717.json deleted file mode 100644 index 01d18182e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/grade_post_therapy_path_yp_v9_717.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "grade_post_therapy_path_yp_v9_717", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Grade Post Therapy Path (yp) v9", - "title" : "Grade Post Therapy Path (yp)", - "notes" : "**Note 1:** Leave Grade Post Therapy Path (yp) blank when \n* No neoadjuvant therapy\n* Clinical or pathological case only\n* Neoadjuvant therapy completed; surgical resection not done\n* There is only one grade available and it cannot be determined if it is clinical, pathological, post therapy clinical or post therapy pathological\n\n**Note 2:** There is a preferred grading system for this schema. If the post therapy clinical grade given uses the preferred grading system and the post therapy pathological grade does not use the preferred grading system, do not record the Grade Post Therapy Clin (yp) in the Grade Post Therapy Path (yp) field. Assign Grade Post Therapy Path (yp) 9.\n* *Example:* Neoadjuvant therapy completed. Biopsy of pleura shows a Nuclear Grade 2 with necrosis mesothelioma. The surgical resection states a moderately differentiated mesothelioma. \n * Code Grade Clinical as H since “Nuclear Grade 2 with necrosis” is the preferred grading system\n * Code Grade Pathological as 9 (unknown)\n\n**Note 3:** Assign the highest grade from the resected primary tumor assessed after the completion of neoadjuvant therapy.\n\n**Note 4:** If there are multiple tumors with different grades abstracted as one primary, code the highest grade.\n\n**Note 5:** Use the grade from the post therapy **clinical work up** from the primary tumor in different scenarios based on behavior or surgical resection\n* **Behavior**\n * Tumor behavior for the post therapy clinical and the post therapy pathological diagnoses are the same AND the post therapy clinical grade is the highest grade \n * Tumor behavior for post therapy clinical diagnosis is invasive, and the tumor behavior for the post therapy pathological diagnosis is in situ\n* **Surgical Resection**\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no grade documented from the surgical resection\n * Surgical resection is done of the primary tumor after neoadjuvant therapy is completed and there is no residual cancer\n\n**Note 6:** Code 9 (unknown) when \n* Surgical resection is done after neoadjuvant therapy and grade from the primary site is not documented and there is no grade from the post therapy clinical work up\n* Surgical resection is done after neoadjuvant therapy and there is no residual cancer and there is no grade from the post therapy clinical work up\n* Grade checked \"not applicable\" on CAP Protocol (if available) and no other grade information is available", - "last_modified" : "2024-04-03T20:46:13.420Z", - "definition" : [ { - "key" : "grade_post_therapy_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "L", "Nuclear Grade I WITH or WITHOUT necrosis OR\nNuclear Grade II WITHOUT necrosis" ], [ "H", "Nuclear Grade II WITH necrosis OR\nNuclear Grade III WITH or WITHOUT necrosis" ], [ "9", "Grade cannot be assessed (GX); Unknown \nNot applicable" ], [ "", "See Note 1" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_lab_value_13834.json b/src/test/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_lab_value_13834.json deleted file mode 100644 index 4008a550f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_lab_value_13834.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "hcg_post_orchiectomy_lab_value_13834", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "hCG Post-Orchiectomy Lab Value", - "title" : "hCG (Human Chorionic Gonadotropin) Post-Orchiectomy Lab Value", - "description" : "hCG (Human Chorionic Gonadotropin) Post-Orchiectomy Lab Value refers to the lowest hCG value measured post-orchiectomy. hCG is a serum tumor marker that is often elevated in patients with nonseminomatous germ cell tumors of the testis. The Post-Orchiectomy lab value is used to monitor response to therapy.\n\nHuman chorionic gonadotropin (hCG) is a hormone produced by the placenta and some germ cell tumors. Two subunits, alpha and beta, can be measured in blood or serum. The alpha subunit is a non-specific marker for pancreatic and pituitary tumors. Beta-hCG levels are never found in normal healthy men. When the presence of beta-hCG is detected in serum, it always indicates a malignancy. Beta-hCG is secreted by some non- seminomatous germ cell tumors and mixed tumors and is used with AFP to identify the specific cell type of testicular cancer. Beta-hCG is also useful in monitoring response to therapy. After orchiectomy, the hCG should be undetectable within 5 to 8 days. If elevated hCG persists, this is an indication of residual tumor.\n\nFor Testis, there are 4 related data items that record information on hCG.\n* 3846: hCG Post-Orchiectomy Lab Value\n* 3847: hCG Post-Orchiectomy Range\n* 3848: hCG Pre-Orchiectomy Lab Value\n* 3849: hCG Pre-Orchiectomy Range", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the hCG (Human Chorionic Gonadotropin) Post-Orchiectomy Lab Value can be used to code this data item when no other information is available. \n\n**Note 2:** **Timing** \n* Record the value of the hCG test as documented in the medical record **after orchiectomy** but prior to adjuvant therapy. The lab value may be documented in a lab report, history and physical, or clinical statement in the pathology report.\n\n**Note 3:** **Lab values elevated after orchiectomy** \n* If the initial post-orchiectomy hCG remains elevated, review subsequent tests and record the lowest hCG value (normalization or plateau) prior to adjuvant therapy or before the value rises again.\n\n**Note 4:** **Related Data Item** \n* The same laboratory test should be used to record the related data item 3847: hCG Post-Orchiectomy Range.", - "last_modified" : "2025-11-06T21:53:11.758Z", - "definition" : [ { - "key" : "hcg_post_orch_lab_value", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "0.0 milli-International Units/milliliter (mIU/mL)" ], [ "0.1-99999.9", "0.1 - 99,999.9 mIU/mL" ], [ "XXXXX.1", "100,000 mIU/mL or greater" ], [ "XXXXX.7", "Test ordered, results not in chart" ], [ "XXXXX.8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code XXXXX.8 may result in an edit error.)" ], [ "XXXXX.9", "Not documented in medical record\nNo orchiectomy performed\nhCG (Human Chorionic Gonadotropin) Post-Orchiectomy Lab Value not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood or serum test), sometimes in history and physical or clinical statement in pathology report\n\n**Other names include** Human chorionic gonadotropin, b-hCG, beta subunit HCG, beta hCG, β-hCG\n\nFor further information, refer to the **Testis** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Testis*.\n\n**Normal Reference Range**\n * < 2 ng/ml (SI: < 2 µg/L or < 2 ug/L) 1 ng/ml of HCG is approximately 5 mIU/ml.\n * < 5 mIU/mL (< 5 IU/L) To record mIU/mL in ng/ml, divide the test result by 5\n \n**Measurements** \n * A lab value expressed in International Units/liter (IU/L) is equivalent to the same value expressed in milli-International Units/milliliter (mIU/mL).", - "coding_guidelines" : "**1)** **Code XXXXX.9** when\n* The only information available is a statement of elevated or normal\n* If the pre-orchiectomy hCG was normal; a post-orchiectomy hCG may not be performed. In this case, code XXXXX.9 should be recorded.\n\n***Examples***\n\n**1)** 2.0 mIU/mL = Lab Value 2.0, Range 0\n\n**2)** 412 mIU/mL = Lab Value 412.0, Range1\n\n**3)** 6213 mIU/mL = Lab Value 6213.0, Range 2\n\n**4)** 14,724 mIU/mL = Lab Value 14724.0, Range 3\n\n**5)** 108,325 mIU/mL = Lab Value XXXXX.1, Range 3\n\n**6)** Physician states “hCG elevated,” but no value documented = Lab Value XXXXX.9, Range 4\n\n**7)** S value stated (no other information available) = Lab Value XXXXX.9, Range 9\n\n**8)** No hCG test done, or unknown if done = Lab Value XXXXX.9, Range 9", - "rationale" : "hCG (Human Chorionic Gonadotropin) Post-Orchiectomy Lab Value is a Registry Data Collection Variable in AJCC. It was previously collected as Testis CS SSF #14." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_range_92334.json b/src/test/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_range_92334.json deleted file mode 100644 index d76aa6dce..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/hcg_post_orchiectomy_range_92334.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "hcg_post_orchiectomy_range_92334", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "hCG Post-Orchiectomy Range", - "title" : "hCG (Human Chorionic Gonadotropin) Post-Orchiectomy Range", - "description" : "Human Chorionic Gonadotropin (hCG) Post-Orchiectomy Range identifies the range category of the lowest hCG value measured post-orchiectomy. hCG is a serum tumor marker that is often elevated in patients with nonseminomatous germ cell tumors of the testis. The post-orchiectomy lab value is used to monitor response to therapy.\n\nFor Testis, there are 4 related data items that record information on hCG.\n* 3846: hCG Post-Orchiectomy Lab Value\n* 3847: hCG Post-Orchiectomy Range\n* 3848: hCG Pre-Orchiectomy Lab Value\n* 3849: hCG Pre-Orchiectomy Range", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the hCG (Human Chorionic Gonadotropin) Post-Orchiectomy Range can be used to code this data item when there is no other information available.\n\n**Note 2:** **Timing** \n* Record the range of the hCG test as documented in the medical record **after orchiectomy** but prior to adjuvant therapy. The lab value may be documented in a lab report, history and physical, or clinical statement in the pathology report.\n\n**Note 3:** **Lab values elevated after orchiectomy** \n* If the initial post-orchiectomy hCG remains elevated, review subsequent tests and record the lowest hCG value (normalization or plateau) prior to adjuvant therapy or before the value rises again.\n\n**Note 4:** **Pre-orchiectomy hCG normal** \n* If the pre-orchiectomy hCG was normal, a post-orchiectomy hCG may not be performed. In this case, code 5 should be recorded.\n\n**Note 5:** **Related Data Item** \n* The same laboratory test should be used to record the related data item 3846: hCG Post-Orchiectomy Lab Value.", - "last_modified" : "2025-11-06T16:27:06.289Z", - "definition" : [ { - "key" : "hcg_post_orch_range", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Within normal limits" ], [ "1", "Above normal and less than 5,000 milli-International Units/milliliter (mIU/mL)" ], [ "2", "5,000 - 50,000 mIU/mL" ], [ "3", "Greater than 50,000 mIU/mL" ], [ "4", "Post-orchiectomy human chorionic gonadotropin (hCG) stated to be elevated" ], [ "5", "Post-Orchiectomy human chorionic gonadotropin (hCG) unknown or not done but pre-orchiectomy hCG was normal" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nNo orchiectomy performed\nhCG (Human Chorionic Gonadotropin) Post-Orchiectomy Range not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood or serum test), sometimes in history and physical or clinical statement in pathology report\n\n**Other names include** Human chorionic gonadotropin, b-hCG, beta subunit HCG, beta hCG, β-hCG\n\nFor further information, refer to the **Testis** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Testis*.\n\n**Normal Reference Range**\n * < 2 ng/ml (SI: < 2 µg/L or < 2 ug/L) 1 ng/ml of HCG is approximately 5 mIU/ml\n * < 5 mIU/mL (< 5 IU/L) To record mIU/mL in ng/ml, divide the test result by 5\n \n**Measurements** \n * A lab value expressed in International Units/liter (IU/L) is equivalent to the same value expressed in milli-International Units/milliliter (mIU/mL).", - "rationale" : "hCG (Human Chorionic Gonadotropin) is a Registry Data Collection Variable in AJCC. hCG (Human Chorionic Gonadotropin) Post-orchiectomy Range is used to assign the S Category Pathological and was previously collected as Testis CS SSF #15." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_lab_value_55584.json b/src/test/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_lab_value_55584.json deleted file mode 100644 index c262e967a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_lab_value_55584.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "hcg_pre_orchiectomy_lab_value_55584", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "hCG Pre-Orchiectomy Lab Value", - "title" : "hCG (Human Chorionic Gonadotropin) Pre-Orchiectomy Lab Value", - "description" : "hCG (Human Chorionic Gonadotropin) Pre-Orchiectomy Lab Value refers to the hCG value measured prior to treatment. hCG is a serum tumor marker that is often elevated in patients with nonseminomatous germ cell tumors of the testis.\n\nHuman chorionic gonadotropin (hCG) is a hormone produced by the placenta and some germ cell tumors. Two subunits, alpha and beta, can be measured in blood or serum. The alpha subunit is a non-specific marker for pancreatic and pituitary tumors. Beta-hCG levels are never found in normal healthy men. When the presence of beta-hCG is detected in serum, it always indicates a malignancy. Beta-hCG is secreted by some non- seminomatous germ cell tumors and mixed tumors and is used with AFP to identify the specific cell type of testicular cancer. Beta-hCG is also useful in monitoring response to therapy. After orchiectomy, the hCG should be undetectable within 5 to 8 days. If elevated hCG persists, this is an indication of residual tumor.\n\nFor Testis, there are 4 related data items that record information on hCG.\n* 3846: hCG Post-Orchiectomy Lab Value\n* 3847: hCG Post-Orchiectomy Range\n* 3848: hCG Pre-Orchiectomy Lab Value\n* 3849: hCG Pre-Orchiectomy Range", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the hCG (Human Chorionic Gonadotropin) Pre-Orchiectomy Lab Value can be used to code this data item when no other information is available. \n\n**Note 2:** **Timing** \n* Record the lab value of the highest hCG test result documented in the medical record prior to orchiectomy or prior to any systemic treatment. The lab value may be documented in a lab report, history and physical, or clinical statement in the pathology report.\n\n**Note 3:** **Related data item** \n* The same laboratory test should be used to record the related data item 3849: hCG Pre-Orchiectomy Range.", - "last_modified" : "2025-11-06T21:51:34.996Z", - "definition" : [ { - "key" : "hcg_pre_orch_lab_value", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "0.0 milli-International Units/milliliter (mIU/mL)" ], [ "0.1-99999.9", "0.1 - 99,999.9 mIU/mL" ], [ "XXXXX.1", "100,000 mIU/mL or greater" ], [ "XXXXX.7", "Test ordered, results not in chart" ], [ "XXXXX.8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code XXXXX.8 may result in an edit error.)" ], [ "XXXXX.9", "Not documented in medical record\nhCG (Human Chorionic Gonadotropin) Pre-Orchiectomy Lab Value not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood or serum test), sometimes in history and physical or clinical statement in pathology report\n\n**Other names include:** Human chorionic gonadotropin, b-hCG, beta subunit HCG, beta hCG, β-hCG\n\nFor further information, refer to the **Testis** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Testis*.\n\n**Normal Reference Range**\n * < 2 ng/ml (SI: < 2 µg/L or < 2 ug/L) 1 ng/ml of HCG is approximately 5 mIU/ml.\n * < 5 mIU/mL (< 5 IU/L) To record mIU/mL in ng/ml, divide the test result by 5.\n \n**Measurements** \n * A lab value expressed in International Units/liter (IU/L) is equivalent to the same value expressed in milli-International Units/milliliter (mIU/mL).", - "coding_guidelines" : "***Examples***\n\n**1)** 2.0 mIU/mL = Lab Value 2.0, Range 0\n\n**2)** 412 mIU/mL = Lab Value 412.0, Range1\n\n**3)** 6213 mIU/mL = Lab Value 6213.0, Range 2\n\n**4)** 14,724 mIU/mL = Lab Value 14724.0, Range 3\n\n**5)** 108,325 mIU/mL = Lab Value XXXXX.1, Range 3\n\n**6)** Physician states “hCG elevated,” but no value documented = Lab Value XXXXX.9, Range 4\n\n**7)** S value stated (no other information available) = Lab Value XXXXX.9, Range 9\n\n**8)** No hCG test done, or unknown if done = Lab Value XXXXX.9, Range 9", - "rationale" : "hCG (Human Chorionic Gonadotropin) Pre-Orchiectomy Lab Value is a Registry Data Collection Variable in AJCC. It was previously collected as Testis CS SSF #8." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_range_67679.json b/src/test/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_range_67679.json deleted file mode 100644 index f3aa99168..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/hcg_pre_orchiectomy_range_67679.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "hcg_pre_orchiectomy_range_67679", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "hCG Pre-Orchiectomy Range", - "title" : "hCG (Human Chorionic Gonadotropin) Pre-Orchiectomy Range", - "description" : "Human Chorionic Gonadotropin (hCG) Pre-Orchiectomy Range identifies the range category of the highest hCG value measured prior to treatment. hCG is a serum tumor marker that is often elevated in patients with nonseminomatous germ cell tumors of the testis.\n\nFor Testis, there are 4 related data items that record information on hCG.\n* 3846: hCG Post-Orchiectomy Lab Value\n* 3847: hCG Post-Orchiectomy Range\n* 3848: hCG Pre-Orchiectomy Lab Value\n* 3849: hCG Pre-Orchiectomy Range", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the hCG (Human Chorionic Gonadotropin) Pre-Orchiectomy Range can be used to code this data item when no other information is available. \n\n**Note 2:** **Timing** \n* Record the range of the highest hCG test result documented in the medical record **prior to orchiectomy** or prior to any systemic treatment. The lab value may be documented in a lab report, history and physical, or clinical statement in the pathology report.\n\n**Note 3:** **Related data item** \n* The same laboratory test should be used to record the related data item 3848: hCG Pre-orchiectomy Lab Value.", - "last_modified" : "2025-11-06T16:29:30.927Z", - "definition" : [ { - "key" : "hcg_pre_orch_range", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Within normal limits" ], [ "1", "Above normal and less than 5,000 milli-International Units/milliliter (mIU/mL)" ], [ "2", "5,000 - 50,000 mIU/mL" ], [ "3", "Greater than 50,000 mIU/mL" ], [ "4", "Pre-orchiectomy human chorionic gonadotropin (hCG) stated to be elevated" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nhCG Pre-Orchiectomy range not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood or serum test), sometimes in history and physical or clinical statement in pathology report\n\n**Other names include** Human chorionic gonadotropin, b-hCG, beta subunit HCG, beta hCG, β-hCG\n\nFor further information, refer to the **Testis** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Testis*.\n\n**Normal Reference Range**\n * < 2 ng/ml (SI: < 2 µg/L or < 2 ug/L) 1 ng/ml of HCG is approximately 5 mIU/ml.\n * < 5 mIU/mL (< 5 IU/L) To record mIU/mL in ng/ml, divide the test result by 5.\n \n**Measurements** \n * A lab value expressed in International Units/liter (IU/L) is equivalent to the same value expressed in milli-International Units/milliliter (mIU/mL).", - "rationale" : "hCG (Human Chorionic Gonadotropin) is a Registry Data Collection Variable in AJCC. hCG (Human Chorionic Gonadotropin) Pre-Orchiectomy Range is used to assign the S Category Clinical and was previously collected as Testis CS SSF #9." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/her2_ihc_summary_57693.json b/src/test/resources/algorithms/eod_public/3.3/tables/her2_ihc_summary_57693.json deleted file mode 100644 index 3a37f89f3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/her2_ihc_summary_57693.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "her2_ihc_summary_57693", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "HER2 IHC Summary", - "title" : "HER2 IHC Summary", - "description" : "HER2 IHC Summary is the summary score for HER2 testing by IHC.\n\nThe simplest test used is the IHC (immunohistochemistry). An immunohistochemistry (IHC) test identifies the protein expressed by the gene (ERBB2), and an in-situ hybridization (ISH) test identifies the number of copies of the gene (ERBB2) itself. If the IHC test is borderline or indeterminate, an ISH (in situ hybridization) test may be performed. \n\nReporting Results of HER2 Testing by Immunohistochemistry (IHC)\n* Negative (Score 0): No staining observed or incomplete, faint/barely perceptible membrane staining in ≤10% of invasive tumor cells\n* Negative (Score 1+): Incomplete, faint/barely perceptible membrane staining in >10% of invasive tumor cells\n* Equivocal (Score 2+): Incomplete and/or weak to moderate circumferential membrane staining in >10% of invasive tumor cells or complete, intense, circumferential membrane staining in ≤10% of invasive tumor cells\n* Positive (Score 3+): Complete, intense, circumferential membrane staining in >10% of invasive tumor cells", - "notes" : "**Note 1:** This SSDI is no longer required by any of the standard setters starting with 2021 diagnoses. \n* For cases diagnosed 2021+, this SSDI may be left blank\n\n**Note 2:** Physician statement of HER2 IHC Summary can be used to code this data item when no other information is available.\n\n**Note 3:** The HER2 IHC test performed on the primary breast tissue is to be recorded in this data item. \n\n**Note 4:** A 2+ (equivocal) finding by IHC should result in additional testing with ISH to determine gene copy number.\n\n**Note 5:** Do not use results from the following tests to record HER2 \n * MammaPrint\n * EndoPredict\n * PAM 50 (Prosigna)\n * Any other test that records HER2", - "last_modified" : "2025-11-05T21:00:44.030Z", - "definition" : [ { - "key" : "her2_ihc_summary", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Negative (Score 0)" ], [ "1", "Negative (Score 1+)" ], [ "2", "Equivocal (Score 2+)\nStated as equivocal\nBorderline" ], [ "3", "Positive (Score 3+)\nStated as positive" ], [ "4", "Stated as negative, but score not stated " ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nCannot be determined (indeterminate)\nHER2 IHC Summary not assessed or unknown if assessed" ], [ "", "May be blank if diagnosis year is after 2020" ] ], - "additional_info" : "* **Source documents:** pathology report\n* **For further information,** refer to the **Breast Biomarker Reporting** cancer protocols published by the College of American Pathologists for the AJCC Staging System *Breast*.", - "rationale" : "HER2 IHC Summary is a Registry Data Collection Variable in AJCC. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_dp_copy_no_89821.json b/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_dp_copy_no_89821.json deleted file mode 100644 index 7c398ad9b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_dp_copy_no_89821.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "her2_ish_dp_copy_no_89821", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "HER2 ISH DP Copy No", - "title" : "HER2 ISH Dual Probe Copy Number", - "description" : "HER2 in situ hybridization (ISH) Dual Probe Copy Number is the HER2 copy number based on a dual probe test.\n\nReporting Results of HER2 Testing by In Situ Hybridization (dual-probe assay)\n* Negative (not amplified): HER2/CEP17 ratio <2.0 AND average HER2 copy number <4.0 signals/cell\n* Equivocal: HER2/CEP17 ratio <2.0 AND average HER2 copy number ≥4.0 but <6.0 signals/cell\n* Positive (amplified): HER2/CEP17 ratio ≥2.0 (regardless of average HER2 copy number) or Average HER2 copy number ≥6.0 signals/cell (regardless of ratio)\n\nNote: TP52, SMSCR and RARA are gene that are also on chromosome 17. However, they are not close to the centromere, and thus can be used to assess borderline/equivocal fish results (ratios) when the centromeric probe for chromosome 17 (CEP17) performance may be problematic. Although these may be helpful in some cases, they are not the same as the CEP17 result or the ratio determined from CEP17. There should always be a prior CEP17 result when these other results are found in the chart. If one of these tests (TP52, SMSCR, RARA, or others) are used and a dual probe copy number/ratio are documented, record that result in the appropriate data item.\n* D17Z1 is the CEP17 probe used in the Vysis (Abbot) FISH kit. So, for the HER2 data items, D17Z1 and CEP17 are to be treated as the same thing.", - "notes" : "**Note 1:** This SSDI is no longer required by any of the standard setters starting with 2021 diagnoses. \n* For cases diagnosed 2021+, this SSDI may be left blank\n\n**Note 2:** Physician statement of HER2 in situ hybridization (ISH) Dual Probe Copy Number can be used to code this data item.\n\n**Note 3:** A dual probe test will report average number or mean signals per cell for both HER2 and CEP17, the latter used as a control. Record the HER2 average number or mean signals per cells in this data item. The average number or mean signals per cells is also called the copy number.\n\n* ***Example:*** \n\n SISH RESULTS: FINAL HER2 IN SITU HYBRIDIZATION INTERPRETATION: EQUIVOCAL, INDETERMINATE. HER2 gene copy between 4 & 6 with HER2/CEP17 ratio <2. \n \n HER2/CEP17 RATIO: 4.26 / 3.13 = 1.36\n \n HER-2/neu SILVER IN SITU HYBRIDIZATION (SISH) \n HER-2neu gene (Inform HER2 DNA probe) \n Number of tumor cell nuclei counted: 120 \n Number of Her-2/neu gene copies: 511 \n Mean HER-2/neu gene copy number: 4.26\n \n CEP-17 SILVER IN SITU HYBRIDIZATION (SISH) \n CEP-17 (Inform Chromosome 17 probe) \n Number of cell nuclei counted: 60 \n Number of CEP-17 gene copies: 188 \n Mean CEP-17 gene copies/nucl: 3.13\n\n Code Dual Probe HER2 Copy Number: 4.2\n [Note: This is calculated by dividing 511 by 120]\n\n**Note 4:** **Registrars are not to calculate the copy number.**\n\n**Note 5:** Following ASCO-CAP guidelines, a 2+ (equivocal) finding by **immunohistochemistry (IHC)** should result in additional testing with ISH to determine gene copy number. \n\n**Note 6:** Any type of ISH test (e.g., FISH, CISH, SISH) can be used to code this data item. Code this data item using the same report used to record information in the related data item 3854: HER2 ISH Summary.\n\n**Note 7:** A HER2 ISH test may be called \"ERBB2.\" ERBB2 is the standard symbol for the gene 'erb-b2 receptor tyrosine kinase 2.' An IHC test identifies the protein expressed by the gene, and an ISH test identifies the gene itself.\n\n**Note 8:** If a HER2 ISH single probe copy number test is done, and the results are between 4 and 6 (equivocal), dual probe tests are recommended.\n\n**Note 9:** If the test results are presented to the hundredth decimal, ignore the hundredth decimal. Do NOT round.\n\n* ***Example:***\n Reported as 4.99, code as 4.9", - "last_modified" : "2025-11-05T21:00:27.763Z", - "definition" : [ { - "key" : "her2_ish_dp_copy_no", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0-99.9", "Reported HER2 copy number of 0.0-99.9" ], [ "XX.1", "Reported HER2 copy number of 100 or greater" ], [ "XX.7", "Test ordered, results not in chart" ], [ "XX.8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code XX.8 will result in an edit error.)" ], [ "XX.9", "Not documented in medical record\nCannot be determined (indeterminate)\nDual probe test not done; only single probe test performed\nHER2 ISH Dual Probe Copy Number not assessed or unknown if assessed" ], [ "", "May be blank if diagnosis year is after 2020" ] ], - "additional_info" : "* **Source documents:** pathology report\n* **For further information,** refer to the **Breast Biomarker Reporting** cancer protocols published by the College of American Pathologists for the AJCC Staging System *Breast*.", - "rationale" : "HER2 ISH Dual Probe Copy Number is a Registry Data Collection Variable in AJCC. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_dual_probe_ration_4635.json b/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_dual_probe_ration_4635.json deleted file mode 100644 index a15db9e8c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_dual_probe_ration_4635.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "her2_ish_dual_probe_ration_4635", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "HER2 ISH DP Ratio", - "title" : "HER2 ISH Dual Probe Ratio", - "description" : "HER2 ISH Dual Probe Ratio is the summary score for HER2 testing using a dual probe. The test will report results for both HER2 and CEP17, the latter used as a control. The HER2/CEP17 ratio is reported.", - "notes" : "**Note 1:** This SSDI is no longer required by any of the standard setters starting with 2021 diagnoses. \n* For cases diagnosed 2021+, this SSDI may be left blank\n\n**Note 2:** Physician statement of HER2 in situ hybridization (ISH) Dual Probe Ratio can be used to code this data item.\n\n**Note 3:** A dual probe test will report results for both HER2 and CEP17, the latter used as a control. The HER2/CEP17 ratio will be reported. Record the ratio in this data item. \n\n* ***Example:*** \n\n SISH RESULTS: FINAL HER 2 IN SITU HYBRIDIZATION INTERPRETATION: EQUIVOCAL, INDETERMINATE. HER2 gene copy between 4 & 6 with HER2/CEP17 ratio <2. \n \n HER2/CEP17 RATIO: 4.26 / 3.13 = 1.36\n \n HER-2/neu SILVER IN SITU HYBRIDIZATION (SISH) \n HER-2neu gene (Inform HER2 DNA probe) \n Number of tumor cell nuclei counted: 120 \n Number of Her-2/neu gene copies: 511\n Mean HER-2/neu gene copy number: 4.26\n \n CEP-17 SILVER IN SITU HYBRIDIZATION (SISH) \n CEP-17 (Inform Chromosome 17 probe) \n Number of cell nuclei counted: 60\n Number of CEP-17 gene copies: 188\n Mean CEP-17 gene copies/nucl: 3.13\n Code Dual Probe HER2 Copy Number: 4.2\n\n Code Dual Probe Ratio: 1.3\n\n**Note 4:** **Registrars are not to calculate the ratio.**\n\n**Note 5:** Following ASCO-CAP guidelines, a 2+ (equivocal) finding by immunohistochemistry (IHC) should result in additional testing with ISH to determine gene copy number. \n\n**Note 6:** Any type of ISH test (e.g., FISH, CISH, SISH) can be used to code this data item. Code this data item using the same report used to record information in the related data item 3854: HER2 ISH Summary.\n\n**Note 7:** A HER2 ISH test may be called \"ERBB2.\" ERBB2 is the standard symbol for the gene 'erb-b2 receptor tyrosine kinase 2.' An IHC test identifies the protein expressed by the gene, and an ISH test identifies the gene itself.\n\n**Note 8:** If the test results are presented to the hundredth decimal, ignore the hundredth decimal. Do NOT round.\n\n* ***Example:*** \n\n * Reported as 1.99, code as 1.9", - "last_modified" : "2025-11-06T22:03:04.189Z", - "definition" : [ { - "key" : "her2_ish_dp_ratio", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0-99.9", "Ratio of 0.0 to 99.9 " ], [ "XX.2", "Less than 2.0" ], [ "XX.3", "Greater than or equal to 2.0" ], [ "XX.7", "Test ordered, results not in chart" ], [ "XX.8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code XX.8 will result in an edit error.)" ], [ "XX.9", "Not documented in medical record\nResults cannot be determined (indeterminate)\nDual probe test not done; only single probe test performed\nHER2 ISH dual probe ratio not assessed or unknown if assessed" ], [ "", "May be blank if diagnosis year is after 2020" ] ], - "additional_info" : "* **Source documents:** pathology report\n* **For further information,** refer to the **Breast Biomarker Reporting** cancer protocols published by the College of American Pathologists for the AJCC Staging System *Breast*.", - "rationale" : "HER2 ISH Dual Probe Ratio is a Registry Data Collection Variable in AJCC. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_sp_copy_no_95955.json b/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_sp_copy_no_95955.json deleted file mode 100644 index 13ae1f61c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_sp_copy_no_95955.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "her2_ish_sp_copy_no_95955", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "HER2 ISH SP Copy No", - "title" : "HER2 ISH Single Probe Copy Number", - "description" : "HER2 in situ hybridization (ISH) Single Probe Copy Number is the HER2 copy number based on a single probe test.\n\nReporting Results of HER2 Testing by In Situ Hybridization (single-probe assay)\n* Negative (not amplified): Average HER2 copy number <4.0 signals/cell\n* Equivocal: Average HER2 copy number ≥4.0 and <6.0 signals/cell\n* Positive (amplified): Average HER2 copy number ≥6.0 signals/cell", - "notes" : "**Note 1:** This SSDI is no longer required by any of the standard setters starting with 2021 diagnoses. \n* For cases diagnosed 2021+, this SSDI may be left blank\n\n**Note 2:** Physician statement of HER2 in situ hybridization (ISH) Single Probe Copy Number can be used to code this data item.\n\n**Note 3:** A single probe test will report average number or mean signals per cell for HER2. Record the HER2 average number or mean signals per cells in this data item. The average number or mean signals per cell is also called the copy number.\n\n* ***Example:*** \n\n SISH RESULTS: FINAL HER 2 IN SITU HYBRIDIZATION INTERPRETATION: POSITIVE (>6 gene copies) HER-2/neu gene amplification. \n \n HER-2/neu SILVER IN SITU HYBRIDIZATION (SISH) \n HER-2neu gene (Inform HER2 DNA probe) \n Number of tumor cell nuclei counted: 60\n Number of Her-2/neu gene copies: 418\n Mean HER-2/neu gene copy number: 6.9\n\n Code Single Probe HER2 Copy Number: 6.9\n [Note: This is calculated by dividing 418 by 60]\n\n**Note 4:** **Registrars are not to calculate the copy number.** \n\n**Note 5:** Following ASCO-CAP guidelines, a 2+ (equivocal) finding by immunohistochemistry (IHC) should result in additional testing with ISH to determine gene copy number. \n\n**Note 6:** Any type of ISH test (e.g., FISH, CISH, SISH) can be used to code this data item. Code this data item using the same report used to record information in the related data item 3854: HER2 ISH Summary.\n\n**Note 7:** A HER2 ISH test may be called \"ERBB2.\" ERBB2 is the standard symbol for the gene 'erb-b2 receptor tyrosine kinase 2.' An IHC test identifies the protein expressed by the gene, and an ISH test identifies the gene itself.\n\n**Note 8:** If a HER2 ISH single probe copy number test is done, and the results are between 4 and 6 (equivocal), dual probe tests are recommended.\n\n**Note 9:** If the test results are presented to the hundredth decimal, ignore the hundredth decimal. Do NOT round.\n\n* ***Example:***\n\n * Reported as 6.97, code 6.9", - "last_modified" : "2025-11-06T22:03:28.201Z", - "definition" : [ { - "key" : "her2_ish_sp_copy_no", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0-99.9", "Reported HER2 copy number of 0.0-99.9" ], [ "XX.1", "Reported HER2 copy number of 100 or greater" ], [ "XX.7", "Test ordered, results not in chart" ], [ "XX.8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code XX.8 will result in an edit error.)" ], [ "XX.9", "Not documented in medical record\nCannot be determined (indeterminate)\nSingle probe test not done; only dual probe test performed\nHER2 ISH Single Probe Copy Number not assessed or unknown if assessed" ], [ "", "May be blank if diagnosis year is after 2022" ] ], - "additional_info" : "* **Source documents:** pathology report\n* **For further information,** refer to the **Breast Biomarker Reporting** cancer protocols published by the College of American Pathologists for the AJCC Staging System *Breast*.", - "rationale" : "HER2 ISH Single Probe Copy Number is a Registry Data Collection Variable in AJCC. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_summary_40783.json b/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_summary_40783.json deleted file mode 100644 index d7ed05626..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/her2_ish_summary_40783.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "her2_ish_summary_40783", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "HER2 ISH Summary", - "title" : "HER2 ISH Summary", - "description" : "HER2 in situ hybridization (ISH) Summary is the summary score for results of testing for ERBB2 gene copy number by any ISH method. An immunohistochemistry (IHC) test identifies the protein expressed by the gene (ERBB2), and an ISH test identifies the number of copies of the gene (ERBB2) itself.\n\nIf an Immunochemistry (IHC) test is borderline or indeterminate, an ISH test may be performed. The ISH test is a method of testing for overexpression of the HER2 gene that uses fluorescent pieces of DNA that attach only to the HER2 gene copies in cells, which can then be counted under a special microscope. ISH studies determine the presence or absence of gene amplification and methods include fluorescence in situ hybridization (FISH), chromogenic in situ hybridization (CISH), and silver-enhanced in situ hybridization (SISH). Some assays use a single probe to determine the number of HER2 gene copies present (single-probe assays) and others include a chromosome enumeration probe (CEP17) to determine the ratio of HER2 signals to copies of chromosome 17 (dual-probe assays). \n\nResults from single probe and dual probe ISH tests are reported differently and are collected in different data items. For dual probe tests, both HER2/CEP17 ratio and HER2 copy number results are collected in separate data items.", - "notes" : "**Note 1:** This SSDI is no longer required by any of the standard setters starting with 2021 diagnoses. \n* For cases diagnosed 2021+, this SSDI may be left blank\n\n**Note 2:** Physician statement of HER2 in situ hybridization (ISH) Summary can be used to code this data item when no other information is available.\n\n**Note 3:** The HER2 ISH test performed on the primary breast tissue is to be recorded in this data item. \n\n**Note 4:** Any type of ISH test (e.g., FISH, CISH, SISH) can be used to code this data item. The same test should be used to code all the HER2 ISH data items.", - "last_modified" : "2025-11-05T21:00:38.926Z", - "definition" : [ { - "key" : "her2_ish_summary", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Negative [not amplified]" ], [ "2", "Equivocal " ], [ "3", "Positive [amplified]" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nResults cannot be determined (indeterminate)\nBorderline\nHER2 ISH Summary not assessed or unknown if assessed" ], [ "", "May be blank if diagnosis year is after 2020" ] ], - "additional_info" : "* **Source documents:** pathology report\n* **For further information,** refer to the **Breast Biomarker Reporting** cancer protocols published by the College of American Pathologists for the AJCC Staging System *Breast*.", - "rationale" : "HER2 ISH Summary is a Registry Data Collection Variable in AJCC. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/her2_overall_summary_copy_71435.json b/src/test/resources/algorithms/eod_public/3.3/tables/her2_overall_summary_copy_71435.json deleted file mode 100644 index 120fc53a0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/her2_overall_summary_copy_71435.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "her2_overall_summary_copy_71435", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "HER2 Overall Summary", - "title" : "HER2 Overall Summary", - "description" : "HER2 Overall Summary is a summary of results from HER2 testing.", - "notes" : "**Note 1:** **Effective years**\n * This SSDI is effective for diagnosis years 2021+\n * For cases diagnosed 2018-2020, this SSDI must be blank\n\n**Note 2:** **Physician Statement** \n* Physician statement of HER2 Overall Summary can be used to code this data item when no other information is available.\n\n**Note 3:** **Applicable histologies**\n* HER2 may be recorded for all histologies; however, it is primarily performed for adenocarcinomas. If information is not available, code 9\n\n**Note 4:** **Source of tissue**\n* The result of the HER2 test performed on the primary tissue is to be recorded in this data item. \n* Use the highest (positive versus negative) when there are multiple results\n\n**Note 5:** **Neoadjuvant Therapy**\n* Record the assay from tumor specimens prior to neoadjuvant therapy.\n* If neoadjuvant therapy is given and there are no HER2 results from pre-treatment specimens, report the findings from post-treatment specimens.", - "last_modified" : "2024-04-04T15:25:43.813Z", - "definition" : [ { - "key" : "her2_summary", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "HER2 negative; equivocal" ], [ "1", "HER2 positive" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nCannot be determined (indeterminate)\nHER2 Overall Summary status not assessed or unknown if assessed" ], [ "", "Must be blank if diagnosis year is before 2021" ] ], - "additional_info" : "**Source documents:** pathology report\n\n**For further information**, refer to the **Gastric HER2 Biomarker reporting** cancer protocol published by the College of American Pathologist.", - "rationale" : "HER2 overall summary will be collected for Esophagus and Esophagogastric Junction and Stomach for cases diagnosed 1/1/21+ because NCCN guidelines recommend HER2 testing at time of diagnosis if patients are documented or suspected of having metastatic disease. HER2 monoclonal antibodies may be added to chemotherapy for patients with HER2 positive disease." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/her2_summary_30512.json b/src/test/resources/algorithms/eod_public/3.3/tables/her2_summary_30512.json deleted file mode 100644 index 649a3dedb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/her2_summary_30512.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "her2_summary_30512", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "HER2 Summary", - "title" : "HER2 Overall Summary", - "description" : "HER2 Overall Summary is a summary of results from HER2 testing.\n\nA subset of breast carcinomas (approximately 15% to 20%) overexpress human epidermal growth factor receptor 2 (HER2). The presence of HER2 overexpression in untreated patients is associated with worse prognosis in both node-negative and node-positive patients. Protein overexpression is usually due to HER2 gene amplification. The HER2 protein may also be referred to as ERBB2 and the HER2 gene may also be referred to as the ERBB2 gene.\n\nThe development of HER-2 targeting agents for the treatment of HER2 positive breast cancer has dramatically improved outcomes for patients with HER2 positive breast cancers. HER2 status is primarily evaluated to determine patient eligibility for anti-HER2 therapy.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of HER2 Overall Summary status can be used to code this data item when no other information is available.\n\n**Note 2:** **In-situ and Invasive components present**\n* If HER2 is positive on an in-situ component and HER2 is negative on all tested invasive components in the primary tumor, code HER2 as negative (code 0)\n* If in situ and invasive components present and HER2 only done on the in-situ component in the primary tumor, code unknown (code 9)\n\n**Note 3:** **Single tumor, multiple biopsies or surgical resection, different results**\n* Use the highest (positive versus negative)\n\n**Note 4:** **Multiple tumors, different results**\n* Code the results from the largest tumor size (determined either clinically or pathologically) when multiple tumors are present.\n * Do not use specimen size to determine the largest tumor size\n\n**Note 5:** **Results from nodal or metastatic tissue**\n* May be used, ONLY when there is no evidence of primary tumor\n * **Note:** In-situ is evidence of primary tumor\n\n**Note 6:** **Neoadjuvant Therapy**\n* Record the assay from tumor specimens prior to neoadjuvant therapy.\n* If neoadjuvant therapy is given and there are no ER results from pre-treatment specimens, report the findings from post-treatment specimens\n\n**Note 7:** **HER2 Positive and Oncotype**\n* In some cases, the Oncotype DX report may include a quantitative HER2 result. However, this value from the OncotypeDx report should not be recorded in the registry.\n* The HER2 result recorded should be from the physician report based on the IHC and/or ISH as described for this element.\n\n**Note 8:** **HER2 and in situ tumors**\n * HER2 is not routinely done on pure in situ tumors (behavior /2); however, if you have an in-situ tumor and there are HER2 results, go ahead and record it. Otherwise, code 9", - "last_modified" : "2025-11-06T18:51:37.350Z", - "definition" : [ { - "key" : "her2_summary", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "HER2 negative; equivocal" ], [ "1", "HER2 positive" ], [ "7", "Test ordered, results not in chart" ], [ "9", "Not documented in medical record\nCannot be determined (indeterminate)\nBorderline\nHER2 Overall Summary status not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\nFor further information, refer to the **Breast Biomarker Reporting** cancer protocols published by the College of American Pathologists for the AJCC Staging System *Breast*.", - "coding_guidelines" : "Record the pathologist’s interpretation of the HER2 test from the primary tumor specimen. \n\n**1)** **Code 0** when the HER2 is reported as negative or normal\n\n**2)** **Code 1** when the HER2 is reported as positive or elevated\n\n**3)** **Code 7** when the HER2 test was ordered but the results are not available\n\n**4)** **Code 9** when the HER2 is\n* Reported as borderline; undetermined whether positive or negative \n* Cannot be determined by the pathologist (e.g., inadequate specimen)\n* It is unknown whether the HER2 test was performed\n* The patient has only a clinical diagnosis of breast cancer (no tissue diagnosis)", - "rationale" : "This data item is required for prognostic stage grouping in AJCC 8th edition, Chapter 48 Breast. It was previously collected as Breast, CS SSF # 15. Experts recommend that every invasive breast cancer be tested for the presence of HER2 because anti-HER2 treatments are highly effective for these tumors." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/heritable_trait_49734.json b/src/test/resources/algorithms/eod_public/3.3/tables/heritable_trait_49734.json deleted file mode 100644 index 685af72e4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/heritable_trait_49734.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "heritable_trait_49734", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Heritable Trait", - "title" : "Heritable Trait", - "description" : "Heritable trait pertains to evidence that a tumor is associated with a heritable mutation. In retinoblastoma, the heritable trait is a germline mutation in the RB1 gene, which is associated with bilateral disease, family history of retinoblastoma, presence of concomitant CNS midline embryonic tumor (commonly in pineal region), or retinoblastoma with an intracranial primitive neuroectodermal tumor (i.e., trilateral retinoblastoma). Children with any of these features may be assigned the H1 status without molecular testing. High quality molecular testing for RB1 mutation is required to determine the presence or absence of RB1 mutation for children without clinical features of a heritable mutation.\n\nHeritable disease (trait) is defined by the presence of a germline mutation of the RB1 gene. This germline mutation may have been inherited from an affected progenitor (25% of cases) or may have occurred in a germ cell before conception or in utero during early embryogenesis in patients with sporadic disease (75% of cases). The presence of positive family history or bilateral or multifocal disease is suggestive of heritable disease. \n\nHeritable retinoblastoma may manifest as unilateral or bilateral disease. The penetrance of the RB1 mutation (laterality, age at diagnosis, and number of tumors) is probably dependent on concurrent genetic modifiers such as MDM2 and MDM4 polymorphisms. All children with bilateral disease and approximately 15% of patients with unilateral disease are presumed to have the heritable form, even though only 25% have an affected parent.\n\nIn heritable retinoblastoma, tumors tend to be diagnosed at a younger age than in the nonheritable form of the disease. Unilateral retinoblastoma in children younger than 1 year raises concern for heritable disease, whereas older children with a unilateral tumor are more likely to have the nonheritable form of the disease.\n\nChildren with a germline RB1 mutation may continue to develop new tumors for a few years after diagnosis and treatment; for this reason, they need to be examined frequently. It is common practice for examinations to occur every 2 to 4 months for at least 28 months. The interval between exams is based on the stability of the disease and age of the child (i.e., less frequent visits as the child ages).\n\nPatients with heritable retinoblastoma are also at a greater risk for subsequent neoplasms.\n\nHeritable trait is required for prognostic stage grouping in the AJCC Staging System Retinoblastoma. It is a new data item for cases diagnosed 1/1/2018+.", - "notes" : "**Note:** **Physician Statement** \n* Physician statement of retinoblastoma heritable trait can be used to code this data item when no other information is available.", - "last_modified" : "2025-11-06T16:10:33.293Z", - "definition" : [ { - "key" : "heritable_trait", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "H0: Normal RB1 alleles\nNo clinical evidence of mutation" ], [ "1", "H1: RB1 gene mutation OR \nClinical evidence of mutation" ], [ "7", "Test ordered, results not in chart" ], [ "9", "HX: Not documented in medical record\nTest not done, or unknown if done\nInsufficient evidence of a constitutional RB1 gene mutation" ] ], - "additional_info" : "**Source documents:** pathology report (tissue), lab reports (blood)\n\n**Definition of Heritable trait (H)** is listed in the AJCC 8th edition Chapter 68: *Retinoblastoma*.\n\nFor further information, refer to the **Retinoblastoma** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Retinoblastoma*.", - "coding_guidelines" : "**1)** **Code 0** (H0) when\n* If clinical features do not exist OR \n* Laboratory germline RB1 test is negative OR \n* There is no clinical evidence of mutation\n* Residual (false negative) risk for a mutation is less than 1% or at population risk (0.007%) in a laboratory with demonstrated sensitivity greater than 97%.\n\n**2)** **Code 1** (H1) when\n* Positive molecular testing for germline RB1 gene\n* May be assigned based on clinical evidence of any of the following features even without molecular testing (in particular for children). When discrete clinical evidence of heritable trait is not present, high-quality molecular evidence is mandatory before designating a child as H1 positive\n * Bilateral disease \n * Family history of retinoblastoma\n * Presence of concomitant CNS midline embryonic tumor (commonly in pineal region)\n * Retinoblastoma with an intracranial primitive neuroectodermal tumor (i.e., trilateral retinoblastoma)\n\n**3)** **Code 9** (HX) when\n* Results are stated as variants of unknown significance \n* Insufficient evidence of a constitutional RB1 gene mutation\n* Not documented in medical record", - "rationale" : "Heritable trait is required for prognostic stage grouping in AJCC 8th edition, Chapter 68 Retinoblastoma. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/high_risk_cytogenetics_97806.json b/src/test/resources/algorithms/eod_public/3.3/tables/high_risk_cytogenetics_97806.json deleted file mode 100644 index 0b897df18..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/high_risk_cytogenetics_97806.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "high_risk_cytogenetics_97806", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "High Risk Cytogenetics", - "title" : "High Risk Cytogenetics", - "description" : "High Risk Cytogenetics is defined as one or more of t(4;14), t(14;16), or del 17p identified from FISH test results and is part of the staging criteria for plasma cell myeloma.\n\nThe Revised International Staging System (R-ISS or RISS) is now used to stage plasma cell myeloma (9732/3), using several different criteria. The stages are based on the absence or presence of the following related criteria. \n* 3931: Serum Beta-2 Microglobulin Pretreatment Level\n* 3930: Serum Albumin Pretreatment Level\n* 3857: High Risk Cytogenetics\n* 3869: LDH Level\n\nRequired for Staging: The AJCC Staging System Plasma Cell Myeloma and Plasma Cell Disorders (9732/3 only) and EOD. \n* **Note:** R-ISS stage is not applicable for the descriptions of plasma multiple myeloma that are listed in the codes 1 and 9 in the SSDI Schema Discriminator 1: Plasma Cell Myeloma Terminology. If you have coded 1 or 9 for this Schema Discriminator, the four data items listed above are BLANK.\n\nThe R-ISS stages are\n* Stage I: Serum Beta-2-microglobulin <3.5 mg/L and serum albumin > 3.5 g/dL and no high-risk cytogenetics and Normal LDH\n* Stage II: Not R-ISS I or III\n* Stage III: Serum Beta-2-microglobulin > 5.5 mg/L and high-risk cytogenetics and/or high LDH", - "notes" : "**Note 1:** **Physician statement**\n* Physician statement of presence or absence of high-risk cytogenetics can be used to code this data item when no other information is available\n* Record this data item based on physician statement or FISH test interpretation performed at diagnosis (pre-treatment).\n* If the presence/absence of high-risk cytogenetics determined by available test results differs from the physician statement of presence/absence, the physician's statement takes precedence.\n\n**Note 2:** **Component of RISS Stage**\n * High-risk cytogenetics is part of the Revised International Staging (R-ISS). \n * **Code 0** if physician states **RISS Stage 1 or 2** and there is no other information", - "last_modified" : "2025-11-06T21:58:45.300Z", - "definition" : [ { - "key" : "high_risk_cytogenetics", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "High-risk cytogenetics not identified/not present" ], [ "1", "High-risk cytogenetics present" ], [ "5", "Schema Discriminator 1: Plasma Cell Myeloma Terminology coded to 1 or 9" ], [ "7", "Test ordered, results not in chart" ], [ "9", "Not documented in medical record\nHigh Risk Cytogenetics not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report", - "coding_guidelines" : "**1) Code 5** if Schema Discriminator 1: Plasma Cell Myeloma Terminology is coded to 1 or 9\n\n**2) Code 9** when there is no mention of high-risk cytogenetics", - "rationale" : "High Risk Cytogenetics is a prognostic factor required in AJCC 8th edition, Chapter 82 *Plasma Cell Myeloma and Plasma Cell Disorders*, for staging of plasma cell myeloma. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/high_risk_features_73750.json b/src/test/resources/algorithms/eod_public/3.3/tables/high_risk_features_73750.json deleted file mode 100644 index d6318a025..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/high_risk_features_73750.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "high_risk_features_73750", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "High Risk Features", - "title" : "High Risk Histologic Features", - "description" : "High Risk Histologic Features are defined in AJCC 8 Chapter 15 to include the terms “poor differentiation, desmoplasia, sarcomatoid differentiation, undifferentiated.” High risk histologic features are a prognostic factor for cutaneous cell carcinomas of the head and neck.\n\nIn addition to the tumor size (diameter, not depth), the presence of certain specific high risk features is of prognostic significance for skin cancers of the head and neck.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of high risk histologic features can be used to code this data item when no other information is available.\n\n**Note 2:** **High risk histologic features include** \n* Desmoplasia\n* Poor differentiation (grade 3)\n* Sarcomatoid differentiation (features)\n* Undifferentiated (grade 4)", - "last_modified" : "2025-11-06T17:22:37.270Z", - "definition" : [ { - "key" : "high_risk_features", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No high risk histologic features\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Desmoplasia" ], [ "2", "Poor differentiation (grade 3)" ], [ "3", "Sarcomatoid differentiation" ], [ "4", "Undifferentiated (grade 4)" ], [ "5", "Multiple high risk histologic features" ], [ "6", "Histologic features, NOS (type of high risk histologic feature not specified)" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error)" ], [ "9", "Not documented in medical record\nHigh risk histologic features not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents** pathology report, consultation report, other statements in the medical record\n\n**Other names include** high risk histologic features, high risk tumor features\n\nFor further information, refer to the **Cutaneous Carcinoma of Head and Neck** cancer protocols published by the College of American Pathologist for the AJCC Staging Systems for *Cutaneous Carcinoma of Head and Neck*.", - "coding_guidelines" : "**1)** Code the presence or absence of high risk histologic features as documented in the pathology report.\n\n**2)** **Code 1** for desmoplasia\n\n**3)** **Code 2** for poor differentiation (grade 3)\n\n**4)** **Code 3** for sarcomatoid differentiation (features)\n\n**5)** **Code 4** for undifferentiated (grade 4)\n\n**6)** **Code 5** when more than one high risk feature is present\n\n**7)** **Code 6** when high risk features are present, but it is not specified which one\n\n**8)** **Code 9** when\n * Not documented in medical record\n * High risk features not evaluated (assessed)\n * Unknown if high risk features evaluated (assessed)", - "rationale" : "High Risk Histologic Features is a Registry Data Collection Variable in AJCC. It was previously collected as Skin, CS SSF # 12." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/histologic_subtype_8603.json b/src/test/resources/algorithms/eod_public/3.3/tables/histologic_subtype_8603.json deleted file mode 100644 index c49782499..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/histologic_subtype_8603.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "histologic_subtype_8603", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Histologic Subtype", - "title" : "Histologic Subtype", - "description" : "Histology code for appendiceal tumors (8480) is defined as “Mucinous Adenocarcinoma (in situ or invasive)”. In addition, there are also low-grade appendiceal mucinous neoplasm (LAMN) and high-grade appendiceal mucinous neoplasm (HAMN) diagnoses that are assigned the same histology.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2023+\n* For cases diagnosed 2018-2022, this SSDI must be blank\n\n**Note 2:** **Determining histology** \n* Use the **Solid Tumor Rules** to determine histology prior to coding this SSDI.\n* Histology 8480/2 or 8480/3 have multiple definitions that are collected in this histology. \n* This data item is used to further identify specific subtypes for histology code 8480/2 or 8480/3.", - "last_modified" : "2025-11-06T17:49:57.987Z", - "definition" : [ { - "key" : "histologic_subtype", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Histology is NOT 8480" ], [ "1", "Low-grade appendiceal mucinous neoplasm\nLAMN" ], [ "2", "High-grade appendiceal mucinous neoplasm\nHAMN" ], [ "3", "Mucinous Adenocarcinoma/carcinoma\nMucus Adenocarcinoma/carcinoma\nMucoid adenocarcinoma/carcinoma\nColloid adenocarcinoma/carcinoma" ], [ "4", "Other terminology coded to 8480" ], [ "", "NA-Diagnosis year is prior to 2023" ] ], - "additional_info" : "**Source documents:** pathology report, Solid Tumor Rules\n\nFor further information, refer to the **Appendix** cancer protocol published by the College of American Pathologist for the AJCC Staging System *Appendix, Version 9*.", - "coding_guidelines" : "***Examples:***\n\n**1.** Appendix: Disseminated peritoneal adenomucinous/low grade mucinous carcinoma peritonei. Final diagnosis: Low grade appendiceal mucinous neoplasm\n * **Code 1**: This is a low grade mucinous (appendiceal) carcinoma (8480/3), which is LAMN. The peritoneal adenomucinous/low grade mucinous carcinoma peritonei is describing metastatic disease and not the histology\n\n**2.** Appendix: Low grade (well diff) appendiceal adenocarcinoma\n * **Code 0**: This is an adenocarcinoma (8140/3), the low grade (well diff) is describing the grade and not the histology\n\n**3.** Appendix, appendectomy: Low grade appendiceal mucinous neoplasm (LAMN) with focal high grade mucinous neoplasm.\n * **Code 1**: Based on the Solid Tumor Rules, the “focal” would be ignored and this would be a LAMN.\n\n**4.** Appendectomy: Mucinous adenocarcinoma of the appendix\n * **Code 3**: Mucinous adenocarcinoma is the preferred terminology for histology code 8480/3. Since there is no mention of “low grade” or “high grade”, this would not be LAMN or HAMN\n\n**5.** Appendix: Mucinous (colloid) adenocarcinoma\n * **Code 3**: Colloid adenocarcinoma is an alternate name for 8480/3", - "rationale" : "Due to the different natures of these histologies, there is interest in tracking these different types of tumors. With the current histology codes, a distinction cannot be made. A histology subtype data item is needed." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/histology.json b/src/test/resources/algorithms/eod_public/3.3/tables/histology.json deleted file mode 100644 index 824ca54c3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/histology.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "id" : "histology", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Histology", - "title" : "Valid ICD-O-3 Histology Codes", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-03-22T20:10:10.785Z", - "definition" : [ { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - } ], - "rows" : [ [ "8000-8005" ], [ "8010-8015" ], [ "8020-8023" ], [ "8030-8035" ], [ "8040-8046" ], [ "8050-8054" ], [ "8060" ], [ "8070-8078" ], [ "8080-8086" ], [ "8090-8098" ], [ "8100-8104" ], [ "8110" ], [ "8120-8124" ], [ "8130-8131" ], [ "8140-8156" ], [ "8158" ], [ "8160-8163" ], [ "8170-8175" ], [ "8180" ], [ "8190-8191" ], [ "8200-8202" ], [ "8204" ], [ "8210-8215" ], [ "8220-8221" ], [ "8230-8231" ], [ "8240-8257" ], [ "8260-8265" ], [ "8270-8273" ], [ "8280-8281" ], [ "8290" ], [ "8300" ], [ "8310-8325" ], [ "8330-8337" ], [ "8339" ], [ "8340-8350" ], [ "8360-8361" ], [ "8370-8375" ], [ "8380-8384" ], [ "8390-8392" ], [ "8400-8410" ], [ "8413" ], [ "8420" ], [ "8430" ], [ "8440-8444" ], [ "8450-8455" ], [ "8460-8463" ], [ "8470-8473" ], [ "8474" ], [ "8480-8484" ], [ "8490" ], [ "8500-8510" ], [ "8512-8514" ], [ "8519" ], [ "8520-8525" ], [ "8530" ], [ "8540-8543" ], [ "8550-8552" ], [ "8560-8563" ], [ "8570-8576" ], [ "8580-8594" ], [ "8600-8602" ], [ "8610" ], [ "8620-8623" ], [ "8630-8634" ], [ "8640-8643" ], [ "8650" ], [ "8660" ], [ "8670-8671" ], [ "8680-8683" ], [ "8690-8693" ], [ "8700" ], [ "8710-8714" ], [ "8720-8723" ], [ "8725-8728" ], [ "8730" ], [ "8740-8746" ], [ "8750" ], [ "8760-8762" ], [ "8770-8774" ], [ "8780" ], [ "8790" ], [ "8800-8806" ], [ "8810-8818" ], [ "8820-8828" ], [ "8830-8836" ], [ "8840-8842" ], [ "8850-8859" ], [ "8860-8862" ], [ "8870" ], [ "8880-8881" ], [ "8890-8898" ], [ "8900-8905" ], [ "8910" ], [ "8912" ], [ "8920-8921" ], [ "8930-8936" ], [ "8940-8941" ], [ "8950-8951" ], [ "8959-8960" ], [ "8963-8965" ], [ "8966-8967" ], [ "8970-8976" ], [ "8980-8983" ], [ "8990-8992" ], [ "9000" ], [ "9010-9016" ], [ "9020" ], [ "9030" ], [ "9040-9045" ], [ "9050-9055" ], [ "9060-9065" ], [ "9070-9073" ], [ "9080-9086" ], [ "9090-9091" ], [ "9100-9105" ], [ "9110-9111" ], [ "9120-9126" ], [ "9130-9133" ], [ "9135-9138" ], [ "9140-9142" ], [ "9150" ], [ "9160-9161" ], [ "9170-9175" ], [ "9180-9187" ], [ "9191-9195" ], [ "9200" ], [ "9210-9213" ], [ "9220-9222" ], [ "9230-9231" ], [ "9240-9243" ], [ "9250-9252" ], [ "9260-9262" ], [ "9270-9275" ], [ "9280-9282" ], [ "9290" ], [ "9300-9302" ], [ "9310-9312" ], [ "9320-9322" ], [ "9330" ], [ "9340-9342" ], [ "9350-9352" ], [ "9360-9368" ], [ "9370-9373" ], [ "9380-9385" ], [ "9390-9396" ], [ "9400-9401" ], [ "9410-9413" ], [ "9420-9421" ], [ "9423-9425" ], [ "9430-9432" ], [ "9440-9442" ], [ "9444-9445" ], [ "9450-9451" ], [ "9460" ], [ "9470-9478" ], [ "9480" ], [ "9490-9493" ], [ "9500-9514" ], [ "9520-9523" ], [ "9530-9535" ], [ "9537-9542" ], [ "9550" ], [ "9560-9563" ], [ "9570-9571" ], [ "9580-9582" ], [ "9590-9591" ], [ "9596-9597" ], [ "9650-9653" ], [ "9655" ], [ "9659" ], [ "9663" ], [ "9671" ], [ "9673" ], [ "9678-9680" ], [ "9687-9691" ], [ "9695" ], [ "9698-9702" ], [ "9705" ], [ "9708-9709" ], [ "9712" ], [ "9714-9719" ], [ "9724-9727" ], [ "9731-9732" ], [ "9734-9735" ], [ "9737-9738" ], [ "9740-9742" ], [ "9749" ], [ "9751" ], [ "9755-9759" ], [ "9761-9762" ], [ "9765-9769" ], [ "9800-9801" ], [ "9806-9809" ], [ "9811-9820" ], [ "9823" ], [ "9826-9827" ], [ "9831-9834" ], [ "9837" ], [ "9840" ], [ "9860-9861" ], [ "9863" ], [ "9865-9867" ], [ "9869-9879" ], [ "9891" ], [ "9895-9898" ], [ "9910-9912" ], [ "9920" ], [ "9930-9931" ], [ "9940" ], [ "9945-9946" ], [ "9948" ], [ "9950" ], [ "9961-9968" ], [ "9970-9971" ], [ "9975" ], [ "9980" ], [ "9982-9983" ], [ "9985-9986" ], [ "9989" ], [ "9991-9993" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/histology_discriminator_for_8020_3_93311.json b/src/test/resources/algorithms/eod_public/3.3/tables/histology_discriminator_for_8020_3_93311.json deleted file mode 100644 index feb7c9b54..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/histology_discriminator_for_8020_3_93311.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "histology_discriminator_for_8020_3_93311", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Discriminator 2", - "title" : "Schema Discriminator 2: Histology Discriminator for 8020/3", - "description" : "Histology code 8020/3 is defined as “undifferentiated carcinoma”. In the AJCC 8th chapter for Esophagus, this histology code is further subdivided into squamous or glandular component, which are staged differently. A schema discriminator is necessary to distinguish between these histologies so that the appropriate stage group table is used.", - "notes" : "**Note:** **Schema discriminator for 8020/3** \n* A schema discriminator is used to discriminate for histology 8020/3: Undifferentiated carcinoma to determine which AJCC Stage Group table to use.\n* **8020/3: Undifferentiated carcinoma with squamous component (see code 1)**\n * Use the Squamous Cell Carcinoma AJCC Stage Group Table\n* **8020/3: Undifferentiated carcinoma with glandular component (see code 2)**\n * Use the Adenocarcinoma AJCC Stage Group Table\n* **8020/3: Undifferentiated carcinoma, NOS (no mention of squamous or glandular component) (see code 3)**\n * Use the Squamous Cell Carcinoma AJCC Stage Group Table", - "last_modified" : "2025-11-06T17:27:12.146Z", - "definition" : [ { - "key" : "discriminator_2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "disease", - "name" : "Schema ID #/Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Undifferentiated carcinoma with squamous component", "00161: Esophagus (including GE junction) Squamous" ], [ "2", "Undifferentiated carcinoma with glandular component", "00169: Esophagus (including GE junction) (excluding Squamous)" ], [ "9", "Undifferentiated carcinoma, NOS ", "00161: Esophagus (including GE junction) Squamous" ], [ "", "Histology is NOT 8020, Discriminator is not necessary", "" ] ], - "additional_info" : "**Source documents:** pathology report \n\nFor further information, refer to the **Esophagus** cancer protocol published by the College of American Pathologist for the AJCC Staging Systems *Esophagus (including GE Junction)*.", - "rationale" : "A schema discriminator is used to assign AJCC ID when site and histology alone are insufficient to identify the applicable AJCC staging method and to assign Schema ID, which links each case to the appropriate SSDIs, Grade, Summary Stage and EOD data collection system." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/hiv_status_12569.json b/src/test/resources/algorithms/eod_public/3.3/tables/hiv_status_12569.json deleted file mode 100644 index ba9d54fba..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/hiv_status_12569.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "hiv_status_12569", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "HIV Status", - "title" : "HIV Status", - "description" : "HIV status refers to infection with the Human Immunodeficiency Virus which causes Acquired Immune Deficiency Syndrome (AIDS). AIDS is associated with increased risk of developing some lymphomas.\n\nHuman immunodeficiency virus (HIV) is the causal agent for acquired immune deficiency syndrome (AIDS). Certain types of cancer are associated with HIV and AIDS, including Hodgkin lymphoma, diffuse large B-cell lymphoma, and primary central nervous system lymphoma. These diseases in patients with HIV or AIDS have different clinical and pathological features from the same diseases when they occur in the general population, such as more extranodal involvement. This data item documents whether the patient has HIV infection or AIDS at the time of diagnosis", - "notes" : "**Note:** **Physician Statement** \n* Physician statement of HIV status can be used to code this data item when no other information is available.", - "last_modified" : "2025-02-24T14:35:01.665Z", - "definition" : [ { - "key" : "hiv", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Not associated with Human Immunodeficiency Virus (HIV)/Acquired Immune Deficiency Syndrome (AIDS)\nHIV negative" ], [ "1", "Associated with HIV/AIDS\nHIV positive" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nHIV status not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory test, statement in medical record. \n\n**Other names include** HIV type 1, HIV type 2, ARC (AIDS-related complex), PWA (person with AIDS), PWARC (person with ARC); older terms for HIV type 1: HTLV-3, LAV", - "coding_guidelines" : "**1)** Code whether the patient has HIV or AIDS, based on statements in the medical record. \n\n**2)** Do not assume that the patient is negative for HIV or AIDS \n* See code 9 if there is no documentation regarding HIV or AIDS status\n\n**3)** **Code 0** when there is a statement in the record that\n* An HIV or AIDS test has been done and is negative\n* HIV or AIDS is not present (patient negative or not infected) \n* The malignancy is not associated with HIV or AIDS\n\n**4)** **Code 1** when there is a statement in the record that\n* An HIV or AIDS test has been done and is positive\n* HIV or AIDS is present (patient positive or infected)\n* Patient has a history of HIV: however, is not currently detectable\n\n**5)** **Code 9** when \n* There is no mention of HIV or AIDS status in the medical record", - "rationale" : "HIV status can be collected by the surveillance community for neoplasms (e.g., Kaposi Sarcoma, Lymphomas) that are closely associated with HIV/AIDS. Prior to 2018, Lymphoma SSF#1 was used for HIV Status." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ids.txt b/src/test/resources/algorithms/eod_public/3.3/tables/ids.txt deleted file mode 100644 index 56d3c989b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ids.txt +++ /dev/null @@ -1,1059 +0,0 @@ -adenoid_cystic_basaloid_pattern_86314 -adenopathy_40816 -adnexa_uterine_other_36223 -adnexa_uterine_other_97891 -afp_post_orchiectomy_lab_value_90733 -afp_post_orchiectomy_range_84758 -afp_pre_orchiectomy_lab_value_94162 -afp_pre_orchiectomy_range_11386 -afp_pretx_interpretation_66147 -afp_pretx_lab_value_25871 -age_at_diagnosis_validation_65093 -ajcc_grade_3_94758 -ajcc_path_grade_3_70197 -alk_rearrangement_610 -anemia_15893 -b2_microglob_pretx_level_83264 -behavior -behavior_with_primary_tumor_for_ss2018_t_69793 -bileductsdistal_bileductsperihilar_cysticduct_24541 -bilirubin_pretx_lab_value_68660 -bilirubin_pretx_unit_98627 -bone_invasion_96628 -braf_mutational_analysis_37823 -brain_molecular_markers_75370 -brain_molecular_markers_v9_48556 -brain_primary_tumor_location_69074 -breslow_thickness_79262 -ca_125_pretx_interpretation_51295 -ca_19_9_pretx_lab_value_17332 -cea_pretx_interpretation_99474 -cea_pretx_lab_value_33864 -chromosome_19q_status_72683 -chromosome_1p_status_40269 -chromosome_3_status_93464 -chromosome_8q_status_83582 -circumferential_resection_margin_77909 -clinical_margin_width_1179 -combine_prostate_eod_extension_16771 -combined_grade_56638 -combined_grade_breast_8723 -creatinine_pretx_lab_value_56869 -creatinine_pretx_unit_26973 -derive_rai_stage_42032 -derived_grade_10693 -derived_grade_12594 -derived_grade_2099 -derived_grade_21657 -derived_grade_21945 -derived_grade_21973 -derived_grade_24813 -derived_grade_27440 -derived_grade_29698 -derived_grade_30763 -derived_grade_32209 -derived_grade_40528 -derived_grade_46639 -derived_grade_48704 -derived_grade_58317 -derived_grade_69945 -derived_grade_71063 -derived_grade_71227 -derived_grade_74326 -derived_grade_76001 -derived_grade_83462 -derived_grade_84046 -derived_grade_8564 -derived_grade_91894 -derived_grade_93981 -derived_grade_96207 -derived_grade_97763 -derived_grade_gist_82068 -derived_grade_standard_1196 -derived_grade_standard_non_ajcc_63932 -derived_rai_stage_73218 -derived_ss2018_adrenal_gland_258 -derived_ss2018_ampulla_of_vater_2679 -derived_ss2018_anus_8409 -derived_ss2018_appendix_76889 -derived_ss2018_biliary_other_47058 -derived_ss2018_bladder_71090 -derived_ss2018_bone_34531 -derived_ss2018_brain_35480 -derived_ss2018_breast_7622 -derived_ss2018_buccal_mucosa_61240 -derived_ss2018_cervical_lymph_nodes_and_unknown_primary_tumors_of_head_and_neck_49724 -derived_ss2018_cervix_8763 -derived_ss2018_cns_other_22397 -derived_ss2018_colon_and_rectum_35271 -derived_ss2018_conjunctiva_74486 -derived_ss2018_corpus_carcinoma_and_carcinosarcoma_56302 -derived_ss2018_corpus_sarcoma_68247 -derived_ss2018_digestive_other_3351 -derived_ss2018_endocrine_other_15778 -derived_ss2018_esophagus_32092 -derived_ss2018_extrahepatic_bile_ducts_37420 -derived_ss2018_eye_other_38179 -derived_ss2018_fallopian_tube_71863 -derived_ss2018_gallbladder_56868 -derived_ss2018_genital_female_other_6389 -derived_ss2018_genital_male_other_41924 -derived_ss2018_gist_48315 -derived_ss2018_gum_32702 -derived_ss2018_heart_mediastinum_and_pleura_70478 -derived_ss2018_hemeretic_89184 -derived_ss2018_hypopharynx_33792 -derived_ss2018_ill_defined_other_41227 -derived_ss2018_intracranial_gland_8078 -derived_ss2018_intrahepatic_bile_ducts_29879 -derived_ss2018_kaposi_sarcoma_84609 -derived_ss2018_kidney_parenchyma_35397 -derived_ss2018_kidney_renal_pelvis_4595 -derived_ss2018_lacrimal_gland_sac_94643 -derived_ss2018_larynx_glottic_7548 -derived_ss2018_larynx_other_66228 -derived_ss2018_larynx_subglottic_66548 -derived_ss2018_larynx_supraglottic_62635 -derived_ss2018_lip_8421 -derived_ss2018_liver_13967 -derived_ss2018_lung_59907 -derived_ss2018_lymphoma_35135 -derived_ss2018_lymphoma_ocular_adnexa_92324 -derived_ss2018_major_salivary_glands_88669 -derived_ss2018_medulloblastoma_71501 -derived_ss2018_melanoma_conjunctiva_64436 -derived_ss2018_melanoma_head_and_neck_82003 -derived_ss2018_melanoma_skin_34689 -derived_ss2018_melanoma_uvea_22506 -derived_ss2018_merkel_cell_skin_71353 -derived_ss2018_middle_ear_38870 -derived_ss2018_mouth_other_30776 -derived_ss2018_mycosis_fungoides_14217 -derived_ss2018_myeloma_and_plasma_cell_disorders_3894 -derived_ss2018_nasal_cavity_and_paranasal_sinuses_97890 -derived_ss2018_nasopharynx_69453 -derived_ss2018_orbital_sarcoma_90415 -derived_ss2018_oropharynx_79318 -derived_ss2018_ovary_and_primary_peritoneal_carcinoma_26044 -derived_ss2018_palate_hard_38646 -derived_ss2018_pancreas_85813 -derived_ss2018_parathyroid_93552 -derived_ss2018_penis_70064 -derived_ss2018_pharynx_other_63252 -derived_ss2018_placenta_6507 -derived_ss2018_pleural_mesothelioma_74611 -derived_ss2018_primary_cutaneous_lymphomas_45083 -derived_ss2018_prostate_48792 -derived_ss2018_respiratory_other_17734 -derived_ss2018_retinoblastoma_10326 -derived_ss2018_retroperitoneum_11521 -derived_ss2018_sinus_other_893 -derived_ss2018_skin_except_eyelid_95559 -derived_ss2018_skin_eyelid_74710 -derived_ss2018_small_intestine_48854 -derived_ss2018_soft_tissue_and_sarcomas_99149 -derived_ss2018_stomach_19183 -derived_ss2018_testis_36736 -derived_ss2018_thymus_2194 -derived_ss2018_thyroid_44895 -derived_ss2018_tongue_anterior_40968 -derived_ss2018_trachea_96519 -derived_ss2018_urethra_73432 -derived_ss2018_urinary_other_89509 -derived_ss2018_vagina_63227 -derived_ss2018_vulva_47165 -derived_summary_grade_na_6690 -egfr_mutational_analysis_51122 -eod_mets_13303 -eod_mets_14084 -eod_mets_20229 -eod_mets_2212 -eod_mets_22645 -eod_mets_22894 -eod_mets_23805 -eod_mets_23953 -eod_mets_24042 -eod_mets_24606 -eod_mets_25000 -eod_mets_25281 -eod_mets_26533 -eod_mets_28878 -eod_mets_29252 -eod_mets_30426 -eod_mets_33408 -eod_mets_34827 -eod_mets_3742 -eod_mets_41985 -eod_mets_47277 -eod_mets_53046 -eod_mets_56430 -eod_mets_71734 -eod_mets_74247 -eod_mets_76404 -eod_mets_79894 -eod_mets_80017 -eod_mets_83665 -eod_mets_88527 -eod_mets_89421 -eod_mets_89986 -eod_mets_91004 -eod_mets_91154 -eod_mets_94984 -eod_mets_95518 -eod_mets_96081 -eod_mets_98654 -eod_mets_mucosal_head_and_neck_45697 -eod_mets_v9_1812 -eod_mets_v9_3184 -eod_mets_v9_58862 -eod_mets_v9_76161 -eod_primary_tumor_12346 -eod_primary_tumor_19089 -eod_primary_tumor_3385 -eod_primary_tumor_3433 -eod_primary_tumor_38280 -eod_primary_tumor_3897 -eod_primary_tumor_40607 -eod_primary_tumor_42615 -eod_primary_tumor_43548 -eod_primary_tumor_4717 -eod_primary_tumor_50451 -eod_primary_tumor_53330 -eod_primary_tumor_55521 -eod_primary_tumor_60922 -eod_primary_tumor_72244 -eod_primary_tumor_72245 -eod_primary_tumor_72332 -eod_primary_tumor_81646 -eod_primary_tumor_84520 -eod_primary_tumor_85962 -eod_primary_tumor_93022 -eod_primary_tumor_93027 -eod_primary_tumor_93243 -eod_primary_tumor_96275 -eod_primary_tumor_97833 -eod_primary_tumor_98910 -eod_primary_tumor_copy_25294 -eod_primary_tumor_v9_192 -eod_primary_tumor_v9_52408 -eod_primary_tumor_v9_58724 -eod_primary_tumor_v9_6892 -eod_primary_tumor_v9_75679 -eod_prostate_pathologic_extension_2781 -eod_regional_nodes_10020 -eod_regional_nodes_11936 -eod_regional_nodes_12613 -eod_regional_nodes_16316 -eod_regional_nodes_21853 -eod_regional_nodes_22383 -eod_regional_nodes_27426 -eod_regional_nodes_29442 -eod_regional_nodes_30921 -eod_regional_nodes_3383 -eod_regional_nodes_36470 -eod_regional_nodes_38984 -eod_regional_nodes_48374 -eod_regional_nodes_53169 -eod_regional_nodes_55756 -eod_regional_nodes_58339 -eod_regional_nodes_61282 -eod_regional_nodes_62689 -eod_regional_nodes_6464 -eod_regional_nodes_65616 -eod_regional_nodes_7080 -eod_regional_nodes_76612 -eod_regional_nodes_77237 -eod_regional_nodes_79068 -eod_regional_nodes_80411 -eod_regional_nodes_8284 -eod_regional_nodes_86049 -eod_regional_nodes_92760 -eod_regional_nodes_94494 -eod_regional_nodes_97333 -eod_regional_nodes_99855 -eod_regional_nodes_v9_3599 -eod_regional_nodes_v9_56625 -eod_regional_nodes_v9_57286 -eod_regional_nodes_v9_73197 -er_allred_score_36612 -er_percent_positive_61867 -er_summary_44166 -esoph_tumor_epicenter_18976 -esophagusgejunction_egj_stomach_57130 -extension_baa -extension_bad -extension_bag -extension_baj -extension_bak -extension_bal -extension_bam -extension_ban -extension_bao -extension_bap -extension_bar -extension_bas -extension_bat -extension_bau -extension_bav -extension_baw -extension_bax -extension_bbb -extension_bbc -extension_bbd -extension_bbe -extension_bbi -extension_bbj -extension_bbk -extension_bbl -extension_bbm -extension_bbn -extension_bbo -extension_bbp -extension_bbr -extension_bbs -extension_bbx -extension_bcb -extension_bcc -extension_bcd -extension_bce -extension_bcf -extension_bcg -extension_bci -extension_bcj -extension_bcl -extension_bcm -extension_bcn -extension_bco -extension_bcp -extension_bcq -extension_bcr -extension_bcs -extension_bct -extension_bcv -extension_bcx -extension_bcy -extension_bdd -extension_bde -extension_bdg -extension_bdh -extension_bdk -extension_bdl -extension_bdo -extension_bds -extension_bdu -extension_bez -extension_bfa -extension_bfg -extension_bfh -extension_bfi -extension_bfk -extension_bfl -extension_bfm -extension_bfp -extension_bfq -extension_bfr -extension_bfs -extension_bft -extension_bfv -extension_bfw -extension_bfy -extension_bgc -extension_bna -extension_btb -extranodal_extension_clinical_5022 -extranodal_extension_head_and_neck_clinical_79321 -extranodal_extension_head_and_neck_pathological_87046 -extranodal_extension_pathological_30739 -extravascular_matrix_patterns_1397 -fibrosis_score_38658 -figo_stage_30513 -figo_stage_cervix_46535 -figo_stage_corpus_adenosarcoma_24886 -figo_stage_corpus_carcinoma_and_carcinosarcoma_69186 -figo_stage_corpus_sarcoma_78807 -figo_stage_placenta_73452 -figo_stage_vagina_61098 -figo_stage_vulva_69787 -gestational_prog_index_28647 -gleason_pattern_clinical_75179 -gleason_patterns_pathological_833 -gleason_score_clinical_67175 -gleason_score_pathological_82121 -gleason_tertiary_pattern_6430 -grade_clinical_18316 -grade_clinical_18831 -grade_clinical_19087 -grade_clinical_19997 -grade_clinical_21060 -grade_clinical_22454 -grade_clinical_24620 -grade_clinical_25704 -grade_clinical_26293 -grade_clinical_26768 -grade_clinical_2756 -grade_clinical_29193 -grade_clinical_36085 -grade_clinical_41135 -grade_clinical_46962 -grade_clinical_54911 -grade_clinical_62593 -grade_clinical_6485 -grade_clinical_64933 -grade_clinical_69174 -grade_clinical_73056 -grade_clinical_73461 -grade_clinical_78613 -grade_clinical_83264 -grade_clinical_8742 -grade_clinical_88426 -grade_clinical_91491 -grade_clinical_91989 -grade_clinical_standard_94331 -grade_clinical_standard_non_ajcc_32473 -grade_clinical_v9_88505 -grade_pathological_11803 -grade_pathological_12915 -grade_pathological_19141 -grade_pathological_19694 -grade_pathological_20069 -grade_pathological_20722 -grade_pathological_26086 -grade_pathological_27152 -grade_pathological_29069 -grade_pathological_31963 -grade_pathological_38051 -grade_pathological_40052 -grade_pathological_40399 -grade_pathological_42127 -grade_pathological_46618 -grade_pathological_47031 -grade_pathological_4783 -grade_pathological_49403 -grade_pathological_53280 -grade_pathological_57271 -grade_pathological_59340 -grade_pathological_59975 -grade_pathological_68805 -grade_pathological_73388 -grade_pathological_84704 -grade_pathological_85185 -grade_pathological_91031 -grade_pathological_93273 -grade_pathological_standard_94268 -grade_pathological_standard_non_ajcc_5627 -grade_pathological_v9_76065 -grade_post_therapy_clin_1647 -grade_post_therapy_clin_18631 -grade_post_therapy_clin_21162 -grade_post_therapy_clin_23317 -grade_post_therapy_clin_2503 -grade_post_therapy_clin_2541 -grade_post_therapy_clin_26948 -grade_post_therapy_clin_26978 -grade_post_therapy_clin_27082 -grade_post_therapy_clin_30400 -grade_post_therapy_clin_35900 -grade_post_therapy_clin_41222 -grade_post_therapy_clin_4232 -grade_post_therapy_clin_43459 -grade_post_therapy_clin_45036 -grade_post_therapy_clin_53870 -grade_post_therapy_clin_54917 -grade_post_therapy_clin_60334 -grade_post_therapy_clin_61658 -grade_post_therapy_clin_68213 -grade_post_therapy_clin_69737 -grade_post_therapy_clin_72770 -grade_post_therapy_clin_74830 -grade_post_therapy_clin_76032 -grade_post_therapy_clin_88214 -grade_post_therapy_clin_93593 -grade_post_therapy_clin_93998 -grade_post_therapy_clin_95734 -grade_post_therapy_clin_97989 -grade_post_therapy_clin_yc_31990 -grade_post_therapy_clin_yc_55565 -grade_post_therapy_clin_yc_v9_85438 -grade_post_therapy_path_20786 -grade_post_therapy_path_25809 -grade_post_therapy_path_28874 -grade_post_therapy_path_30693 -grade_post_therapy_path_32110 -grade_post_therapy_path_35393 -grade_post_therapy_path_36935 -grade_post_therapy_path_3704 -grade_post_therapy_path_40048 -grade_post_therapy_path_41285 -grade_post_therapy_path_45323 -grade_post_therapy_path_47044 -grade_post_therapy_path_48765 -grade_post_therapy_path_48957 -grade_post_therapy_path_55848 -grade_post_therapy_path_58350 -grade_post_therapy_path_65729 -grade_post_therapy_path_67342 -grade_post_therapy_path_75348 -grade_post_therapy_path_76876 -grade_post_therapy_path_80308 -grade_post_therapy_path_83202 -grade_post_therapy_path_86055 -grade_post_therapy_path_87571 -grade_post_therapy_path_90448 -grade_post_therapy_path_91649 -grade_post_therapy_path_92197 -grade_post_therapy_path_93034 -grade_post_therapy_path_98398 -grade_post_therapy_path_yp_3519 -grade_post_therapy_path_yp_8036 -grade_post_therapy_path_yp_v9_717 -hcg_post_orchiectomy_lab_value_13834 -hcg_post_orchiectomy_range_92334 -hcg_pre_orchiectomy_lab_value_55584 -hcg_pre_orchiectomy_range_67679 -her2_ihc_summary_57693 -her2_ish_dp_copy_no_89821 -her2_ish_dual_probe_ration_4635 -her2_ish_sp_copy_no_95955 -her2_ish_summary_40783 -her2_overall_summary_copy_71435 -her2_summary_30512 -heritable_trait_49734 -high_risk_cytogenetics_97806 -high_risk_features_73750 -histologic_subtype_8603 -histology -histology_discriminator_for_8020_3_93311 -hiv_status_12569 -inr_prothrombin_time_6158 -intern_prognostic_index_90310 -invasion_beyond_capsule_4149 -ipsilateral_adrenal_gland_involvement_61538 -jak2_80148 -ki67_8355 -ki_67_67661 -kit_gene_immunohistochemistry_33220 -kras_79447 -lacrimal_gland_lacrimal_sac_63106 -ldh_lab_value_85652 -ldh_level_12428 -ldh_post_orchiectomy_range_38574 -ldh_pre_orchiectomy_range_42762 -ldh_pretreatment_level_82697 -ldh_upper_limits_of_normal_34244 -ln_assessment_method_femoral_inguinal_48450 -ln_assessment_method_pelvic_vulva_10928 -ln_size_70140 -ln_status_femoral_inguinal_13374 -ln_status_femoral_inguinal_vagina_64638 -ln_status_para_aortic_41020 -ln_status_pelvic_31753 -ln_status_pelvic_93438 -lymph_node_laterality_65685 -lymph_nodes_assessment_method_femoral_46948 -lymph_nodes_assessment_method_para_aortic_56026 -lymph_nodes_assessment_method_pelvic_33476 -lymph_nodes_distant_assessment_method_24499 -lymph_nodes_distant_mediastinal_scalene_90567 -lymph_nodes_head_and_neck_levels_i_iii_19222 -lymph_nodes_head_and_neck_levels_iv_v_55093 -lymph_nodes_head_and_neck_levels_vi_vii_32325 -lymph_nodes_head_and_neck_other_31141 -lymph_nodes_isolated_tumor_cells_67876 -lymphocytosis_79150 -major_vein_involvement_87947 -measured_basal_diameter_70699 -measured_thickness_84907 -melanoma_ciliary_body_melanoma_iris_79773 -mets_hab -mets_hac -mets_had -mets_hae -mets_haf -mets_hah -mets_haj -mets_hak -mets_hal -mets_han -mets_har -mets_hat -mets_hau -mets_hav -mets_haw -mets_haz -mets_hba -mets_hbb -mets_hbe -mets_hbg -mets_hbo -mets_hbv -mets_hbx -mets_hbz -mets_hcf -mets_hcg -mets_hch -mets_hci -mets_hck -mets_hcp -mets_hcq -mets_hcr -mets_hcu -mets_hcv -mets_hna -mets_hph -mgmt_17454 -microsatellite_instability_35598 -microsatellite_instability_7008 -microvascular_density_70589 -mitotic_count_uveal_melanoma_26990 -mitotic_rate_melanoma_88184 -multigene_signature_method_85043 -multigene_signature_result_37000 -multiple_myeloma_terminology_20875 -nasopharynx_pharyngealtonsil_84756 -neoadj_tx_clinical_response_31723 -neoadj_tx_treatment_effect_18122 -neoadj_tx_treatment_effect_23019 -neoadj_tx_treatment_effect_34708 -neoadj_tx_treatment_effect_4391 -neoadj_tx_treatment_effect_52725 -neoadj_tx_treatment_effect_61650 -neoadj_tx_treatment_effect_90678 -neoadjuvant_therapy_37302 -nodes_daa -nodes_dab -nodes_dai -nodes_daj -nodes_dak -nodes_dam -nodes_dan -nodes_daq -nodes_dat -nodes_dau -nodes_dav -nodes_daw -nodes_day -nodes_dba -nodes_dbb -nodes_dbc -nodes_dbd -nodes_dbe -nodes_dbf -nodes_dbg -nodes_dbh -nodes_dbi -nodes_dbj -nodes_dbo -nodes_dbq -nodes_dbu -nodes_dbv -nodes_dbw -nodes_dbx -nodes_dby -nodes_dca -nodes_dcb -nodes_dcc -nodes_dcd -nodes_dce -nodes_dck -nodes_dcl -nodes_dcn -nodes_dcu -nodes_dcz -nodes_dde -nodes_ddf -nodes_ddj -nodes_ddn -nodes_ddp -nodes_dew -nodes_dfc -nodes_dfd -nodes_dfe -nodes_dfg -nodes_dfh -nodes_dfl -nodes_dfm -nodes_dfn -nodes_dfo -nodes_dfq -nodes_dfr -nodes_dna -nodes_exam_17543 -nodes_exam_76029 -nodes_exam_dna_95635 -nodes_pos_2999 -nodes_pos_dna_91511 -nodes_pos_fab -nodes_pos_fah -nodes_pos_fpa -nras_mutational_analysis_16621 -number_of_cores_examined_64985 -number_of_cores_positive_87819 -number_of_examined_para_aortic_nodes_38078 -number_of_examined_pelvic_nodes_60771 -number_of_positive_ipsilateral_level_i_ii_axillary_lymph_nodes_79439 -number_of_positive_para_aortic_nodes_62533 -number_of_postive_pelvic_nodes_94512 -occult_head_and_neck_lymph_nodes_10277 -oncotype_dx_recur_score_73667 -oncotype_dx_recurrence_score_dcis_70549 -oncotype_dx_risk_level_11033 -oncotype_dx_risk_level_dcis_53080 -organomegaly_16131 -oropharyngeal_p16_44685 -p16_19452 -p16_831 -p16_anus_2709 -p16_hpv_human_papilloma_virus_status_head_and_neck_509 -pd_l1_61573 -perineural_invasion_24604 -perineural_invasion_27557 -perineural_invasion_84622 -peripheral_blood_involv_92357 -peritoneal_cytology_38674 -peritoneal_cytology_with_primary_tumor_for_ss2018_t_19664 -peritoneal_cytology_with_primary_tumor_for_ss2018_t_66387 -peritoneal_cytology_with_primary_tumor_for_ss2018_t_88427 -pleural_effusion_40041 -post_neoadj_chemo_percent_necrosis_15912 -pr_allred_score_83938 -pr_percent_positive_94563 -pr_summary_49534 -primary_peritoneum_tumor_19475 -primary_scleros_cholangitis_86402 -primary_site -profound_immune_suppression_68178 -psa_46258 -ptld_17694 -radiation_surg_seq -rcb_class_750 -residual_cancer_burden_62520 -residual_tumor_volume_post_cytoreduction_90653 -response_to_neoadjuvant_therapy_57695 -s_category_clinical_19191 -s_category_pathologic_34448 -sarcomatoid_features_99558 -schema_discriminator_1_63995 -schema_discriminator_2_15990 -schema_selection_adnexa_uterine_other -schema_selection_adrenal_gland -schema_selection_ampulla_vater -schema_selection_anus -schema_selection_anus_v9_2023 -schema_selection_appendix -schema_selection_appendix_v9_2023 -schema_selection_bile_ducts_distal -schema_selection_bile_ducts_intrahepat -schema_selection_bile_ducts_perihilar -schema_selection_biliary_other -schema_selection_bladder -schema_selection_bone -schema_selection_bone_appendicular_skeleton -schema_selection_bone_spine -schema_selection_brain -schema_selection_brain_v9_2023 -schema_selection_breast -schema_selection_buccal_mucosa -schema_selection_carcinoid_appendix -schema_selection_cervical_lymph_nodes_occult_head_and_neck -schema_selection_cervix -schema_selection_cervix_9th_2021 -schema_selection_cervix_sarcoma -schema_selection_chronic_lymphocytic_leukemia_small_lymphocytic_lymphoma_cll_sll -schema_selection_cns_other -schema_selection_cns_other_v9_2023 -schema_selection_colon -schema_selection_conjunctiva -schema_selection_corpus_adenosarcoma -schema_selection_corpus_carcinoma -schema_selection_corpus_sarcoma -schema_selection_cutaneous_squamous_cell_carcinoma_head_and_neck -schema_selection_cystic_duct -schema_selection_digestive_other -schema_selection_endocrine_other -schema_selection_esophagus_gejunction -schema_selection_esophagus_including_ge_junction_squamous -schema_selection_eye_other -schema_selection_fallopian_tube -schema_selection_floor_mouth -schema_selection_gallbladder -schema_selection_genital_female_other -schema_selection_genital_male_other -schema_selection_gist_appendix -schema_selection_gum_lower -schema_selection_heart_mediastinum -schema_selection_heme_retic -schema_selection_hypopharynx -schema_selection_ill_defined_other -schema_selection_intracranial_gland -schema_selection_intracranial_gland_v9_2023 -schema_selection_kaposi_sarcoma -schema_selection_kidney_parenchyma -schema_selection_kidney_renal_pelvis -schema_selection_lacrimal_gland -schema_selection_lacrimal_sac -schema_selection_larynx_glottic -schema_selection_larynx_other -schema_selection_larynx_subglottic -schema_selection_larynx_supraglottic -schema_selection_lip_lower -schema_selection_liver -schema_selection_lung -schema_selection_lung_v9_2025 -schema_selection_lymphoma -schema_selection_lymphoma_ocular_adnexa -schema_selection_major_salivary_glands_v9_2026 -schema_selection_medulloblastoma_v9_2023 -schema_selection_melanoma_buccal_mucosa -schema_selection_melanoma_ciliary_body -schema_selection_melanoma_conjunctiva -schema_selection_melanoma_iris -schema_selection_melanoma_skin -schema_selection_merkel_cell_skin -schema_selection_middle_ear -schema_selection_mouth_other -schema_selection_mycosis_fungoides -schema_selection_myeloma_plasma_cell_disorder -schema_selection_nasal_cavity -schema_selection_nasopharynx -schema_selection_nasopharynx_v9_2025 -schema_selection_net_adrenal_gland -schema_selection_net_ampulla -schema_selection_net_ampulla_of_vater_v9_2024 -schema_selection_net_appendix_v9_2024 -schema_selection_net_colon -schema_selection_net_colon_and_rectum_v9_2024 -schema_selection_net_duodenum -schema_selection_net_duodenum_v9_2024 -schema_selection_net_jejunum_and_ileum_v9_2024 -schema_selection_net_pancreas -schema_selection_net_pancreas_v9_2024 -schema_selection_net_small_intestine -schema_selection_net_stomach -schema_selection_net_stomach_v9_2024 -schema_selection_orbit -schema_selection_oropharynx -schema_selection_oropharynx_hpv_associated_v9_2026 -schema_selection_ovary -schema_selection_palate_hard -schema_selection_pancreas_body_tail -schema_selection_parathyroid -schema_selection_parotid_gland -schema_selection_penis -schema_selection_peritoneum -schema_selection_pharynx_other -schema_selection_placenta -schema_selection_plasmacytomas -schema_selection_pleura -schema_selection_pleural_mesothelioma_v9_2025 -schema_selection_primary_cutaneous_lymphoma_non_mf_ss -schema_selection_primary_peritoneal_carcinoma -schema_selection_prostate -schema_selection_respiratory_other -schema_selection_retinoblastoma -schema_selection_retroperitoneum -schema_selection_sinus_maxillary -schema_selection_sinus_other -schema_selection_skin_eyelid -schema_selection_skin_other -schema_selection_small_intestine -schema_selection_soft_tissue_heart_and_mediastinum -schema_selection_soft_tissue_rare -schema_selection_soft_tissue_sarcoma_head_and_neck -schema_selection_soft_tissue_trunk_and_extremities -schema_selection_stomach -schema_selection_testis -schema_selection_thymus -schema_selection_thymus_v9_2025 -schema_selection_thyroid -schema_selection_thyroid_medullary -schema_selection_tongue_anterior -schema_selection_tongue_base -schema_selection_trachea -schema_selection_urethra -schema_selection_urethra_prostatic -schema_selection_urinary_other -schema_selection_vagina -schema_selection_vulva -schema_selection_vulva_v9_2024 -seer_mets_21628 -seer_mets_32413 -seer_mets_4721 -seer_mets_48348 -seer_mets_57075 -seer_mets_61487 -seer_mets_66514 -seer_mets_79245 -seer_mets_84419 -seer_mets_90003 -seer_mets_90643 -seer_mets_lip_lower_28596 -seer_mets_melanomachoroid_55264 -seer_mets_nasopharynx_46629 -seer_mets_sinus_othervs2_15755 -seer_primary_tumor_25824 -seer_primary_tumor_31838 -seer_primary_tumor_36538 -seer_primary_tumor_38025 -seer_primary_tumor_42176 -seer_primary_tumor_42751 -seer_primary_tumor_43302 -seer_primary_tumor_44962 -seer_primary_tumor_52444 -seer_primary_tumor_53926 -seer_primary_tumor_59317 -seer_primary_tumor_60433 -seer_primary_tumor_6275 -seer_primary_tumor_68925 -seer_primary_tumor_72151 -seer_primary_tumor_88917 -seer_primary_tumor_9084 -seer_primary_tumor_94875 -seer_primary_tumor_95193 -seer_primary_tumor_96082 -seer_primary_tumor_eyeother_64077 -seer_primary_tumor_head_neck_melanoma_38698 -seer_regional_nodes_17757 -seer_regional_nodes_19661 -seer_regional_nodes_27397 -seer_regional_nodes_36710 -seer_regional_nodes_67072 -seer_regional_nodes_69051 -seer_regional_nodes_69974 -seer_regional_nodes_83435 -seer_regional_nodes_91716 -seer_regional_nodes_93152 -seer_regional_nodes_copy_24179 -seer_regional_nodes_eyeother_16963 -seer_regional_nodes_lacrimal_sac_33881 -sentinel_nodes_exam_7235 -sentinel_nodes_pos_95909 -separate_tumor_nodules_69006 -serum_alb_pretx_level_58159 -sex_assigned_at_birth_63290 -spread_through_air_spaces_stas_67834 -ss2018_44993 -ss2018_adnexa_uterine_other_values_44976 -ss2018_adrenal_gland_including_net_adrenal_70096 -ss2018_ampulla_of_vater_including_net_96311 -ss2018_anus_55561 -ss2018_appendix_including_netl_54459 -ss2018_bladder_57733 -ss2018_brain_67865 -ss2018_breast_69079 -ss2018_buccal_mucosa_94903 -ss2018_cervical_lymph_nodes_and_unknown_primary_tumor_8991 -ss2018_cervix_64954 -ss2018_cns_other_67712 -ss2018_colon_and_rectum_including_net_40538 -ss2018_conjunctiva_16779 -ss2018_corpus_carcinoma_and_carcinosarcoma_28794 -ss2018_corpus_sarcoma_75896 -ss2018_digestive_other_9136 -ss2018_endocrine_other_54817 -ss2018_esophagus_excluding_gist_57104 -ss2018_extrahepatic_bile_ducts_65728 -ss2018_eye_other_36531 -ss2018_fallopian_tube_83058 -ss2018_floor_mouth_83713 -ss2018_floor_of_mouth_27181 -ss2018_gallbladder_15174 -ss2018_genital_female_other_5962 -ss2018_genital_male_other_44390 -ss2018_gist_23534 -ss2018_gum_75440 -ss2018_hemeretic_3793 -ss2018_hypopharynx_excluding_melanoma_8720_8790_copy_30010 -ss2018_ill_defined_18664 -ss2018_intracranial_gland_98794 -ss2018_intrahepatic_bile_ducts_51957 -ss2018_kaposi_sarcoma_17563 -ss2018_kidney_renal_parenchyma_30980 -ss2018_kidney_renal_pelvis_29650 -ss2018_lacrimal_gland_82062 -ss2018_larynx_glottic_excluding_melanoma_8720_8790_2238 -ss2018_larynx_other_excluding_melanoma_8720_8790_40558 -ss2018_larynx_subglottic_excluding_melanoma_8720_8790_93242 -ss2018_larynx_supraglottic_excluding_melanoma_8720_8790_91429 -ss2018_lip_92534 -ss2018_liver_84469 -ss2018_lung_41334 -ss2018_lymphoma_27031 -ss2018_lymphoma_ocular_adnexa_3583 -ss2018_major_salivary_glands_43893 -ss2018_medulloblastoma_22906 -ss2018_melanoma_choroid_ciliary_body_iris_21929 -ss2018_melanoma_conjunctiva_86342 -ss2018_melanoma_head_and_neck_8720_8790_46168 -ss2018_melanoma_skin_64985 -ss2018_merkel_cell_carcinoma_89481 -ss2018_middle_ear_16857 -ss2018_mouth_other_31159 -ss2018_mycosis_fungoides_94448 -ss2018_nasal_cavity_and_ethmoid_sinus_excluding_melanoma_8720_8790_21699 -ss2018_nasopharynx_excluding_melanoma_8720_8790_copy_99106 -ss2018_orbit_27202 -ss2018_oropharynx_excluding_melanoma_8720_8790_9999 -ss2018_ovary_fallopian_tube_and_peritoneal_carcinoma_21678 -ss2018_palate_hard_86267 -ss2018_pancreas_95507 -ss2018_parathyroid_99309 -ss2018_penis_97065 -ss2018_pharynx_nos_excluding_melanoma_8720_8790_3303 -ss2018_placenta_66365 -ss2018_pleura_60930 -ss2018_primary_cutaneous_lymphomas_4605 -ss2018_prostate_76172 -ss2018_respiratory_other_36695 -ss2018_retinoblastoma_45411 -ss2018_sinus_other_excluding_melanoma_8720_8790_91859 -ss2018_skin_of_eyelid_82925 -ss2018_skin_other_56341 -ss2018_small_intestine_including_net_85335 -ss2018_soft_tissue_31311 -ss2018_soft_tissue_heart_mediastinum_pleura_63956 -ss2018_soft_tissue_retroperitoneum_5644 -ss2018_stomach_including_net_stomach_35647 -ss2018_testis_82848 -ss2018_thymus_60066 -ss2018_thyroid_33058 -ss2018_tongue_anterior_66978 -ss2018_trachea_70961 -ss2018_urethra_14363 -ss2018_urinary_other_87865 -ss2018_vagina_94653 -ss2018_validation -ss2018_vulva_49198 -summary_stage_benign_3306 -summary_stage_lymphoma_25139 -summary_stage_raa -summary_stage_rac -summary_stage_rpa -systemic_surg_seq -systemic_symptoms_at_dx_60639 -thrombocytopenia_8479 -thyroid_gland_thyroglossal_duct_21498 -tumor_deposits_40070 -tumor_growth_pattern_31889 -tumor_size_clinical_48894 -tumor_size_clinical_60979 -tumor_size_clinical_breast_34385 -tumor_size_clinical_dna_64119 -tumor_size_clinical_full_19656 -tumor_size_clinical_full_74867 -tumor_size_pathological_25597 -tumor_size_pathological_43328 -tumor_size_pathological_breast_85445 -tumor_size_pathological_dna_6742 -tumor_size_pathological_full_62176 -tumor_size_pathological_full_93442 -tumor_size_summary_47973 -tumor_size_summary_63115 -tumor_size_summary_breast_14624 -tumor_size_summary_dna_13275 -tumor_size_summary_full_15510 -tumor_size_summary_full_31213 -type_of_reporting_source_76696 -ulceration_5718 -urethra_prostatic_urethra_30106 -visceral_pleural_invasion_25940 -year_dx_validation diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/inr_prothrombin_time_6158.json b/src/test/resources/algorithms/eod_public/3.3/tables/inr_prothrombin_time_6158.json deleted file mode 100644 index 40eb60bac..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/inr_prothrombin_time_6158.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "inr_prothrombin_time_6158", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "International Normalized Ratio Prothrombin Time", - "title" : "INR (International Normalized Ratio for Prothrombin Time)", - "description" : "International Normalized Ratio for Prothrombin Time (INR), an indicator of the liver’s ability to make clotting factors, is required to calculate the Model for End-Stage Liver Disease (MELD) score, is used to assign priority for liver transplant.\n\nThe prothrombin time is a measure of how quickly the blood clots, which may also indicate liver disease. The international normalized ratio (INR) is a calculation of the patient’s prothrombin time divided by the normal mean prothrombin time for the particular thromboplastin reagent used and is expressed as a decimal number. An elevated level indicates the blood is too “thin” and does not clot properly, increasing the risk of bleeding. A value under 1.0 increases the risk of blood clots.\n\nThe Model for End-Stage Liver Disease (MELD) is a numerical scale used to determine how urgently a patient with liver disease needs a liver transplant. Results from three routine lab tests are used to calculate the MELD score. International normalized ratio for prothrombin time (INR), one of the tests, measures the liver's ability to make blood clotting factors.\n\nThere are several related data items that are defined to record the MELD score. \n* 3813: Bilirubin Pretreatment Total Lab Value\n* 3814: Bilirubin Pretreatment Unit of Measure\n* 3824: Creatinine Pretreatment Lab Value\n* 3825: Creatinine Pretreatment Unit of Measure\n* 3860: International Normalized Ratio", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of the International Normalized Ratio for Prothrombin Time (INR) can be used to code this data item when no other information is available.\n\n**Note 2:** **Pretreatment results only**\n* Record the value of the highest INR test results documented in the medical record prior to treatment. The value may be recorded in a lab report, history and physical, or clinical statement in the pathology report.", - "last_modified" : "2025-11-06T18:11:58.970Z", - "definition" : [ { - "key" : "inr_prothrombin_time", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "0.0" ], [ "0.1", "0.1 or less" ], [ "0.2-9.9", "0.2 - 9.9\n(Exact ratio to nearest tenth)" ], [ "X.1", "10 or greater" ], [ "X.7", "Test ordered, results not in chart" ], [ "X.8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code X.8 may result in an edit error.)" ], [ "X.9", "Not documented in medical record\nINR (International Normalized Ratio for Prothrombin Time) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood serum); value may be part of a metabolic or liver function panel; outpatient or ambulatory blood test (finger stick) reported in patient history\n\n**Other names include** INR\n\n**Normal ranges:**\n* For a healthy person is 0.9-1.3\n* A high INR level such as INR=5 indicates that there is a high chance of bleeding.\n* A low level such as INR = 0.5 indicates a high chance of abnormal clotting. Normal values may vary from lab to lab.", - "coding_guidelines" : "**1)** **Codes 0.1-9.9** are for coding the highest INR exact value in the blood prior to treatment\n\n**2)** **Code X.1** for an INR of 10.0 or greater.\n\n**3)** **Code X.7** if the test was ordered and the results are not in the medical record.\n\n**4)** **Code X.9** when \n* There is no information in the medical record about the INR or prothrombin time\n* The test is not done or it’s unknown if the test was done", - "rationale" : "International Normalized Ratio for Prothrombin Time (INR) is a Registry Data Collection Variable in AJCC. This data item was previously collected for Liver, CS SSF #8." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/intern_prognostic_index_90310.json b/src/test/resources/algorithms/eod_public/3.3/tables/intern_prognostic_index_90310.json deleted file mode 100644 index f5bc7bea1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/intern_prognostic_index_90310.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "intern_prognostic_index_90310", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "NCCN International Prognostic Index (IPI)", - "title" : "NCCN International Prognostic Index (IPI)", - "description" : "The NCCN International Prognostic Index (IPI) (previously only “IPI”) is used to define risk groups for specific lymphomas using a 0-8 score range, based on age, stage, number of extranodal sites of involvement, patient’s performance status and LDH level.\n\nThe NCCN International Prognostic Index (IPI) has been developed for lymphomas and predicts outcome based on the following adverse factors:\n* Age greater than or equal to 60 years \n* Serum LDH greater than normal\n* Performance status 2-4 \n* Stage III or IV\n* Extranodal involvement greater than 1 site\n* Kidney and Adrenal Involvement (CNS Lymphomas only)", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of NCCN IPI **must** be used to code this data item. \n * Do not calculate points or assign risk. Only record points or risk if a physician has documented them\n * Use points over risk if both are available\n\n**Note 2:** **NCCN is applicable for non-Hodgkin lymphomas only.**\n* If you have a score for Hodgkin lymphomas (IPS), do not record that information here. Code X9.\n\n**Note 3:** **NCCN and Rai Stage** \n* A low, intermediate or high risk associated with a Rai Stage is not recorded in this data item.", - "last_modified" : "2025-11-05T22:00:50.661Z", - "definition" : [ { - "key" : "intern_prog_index", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00-08", "0-8 points" ], [ "X1", "Stated as low risk (0-1 point)" ], [ "X2", "Stated as low intermediate risk (2-3 points)" ], [ "X3", "Stated as intermediate risk (4-5 points)" ], [ "X4", "Stated as high risk (6-8 points)" ], [ "X8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code X8 will result in an edit error.)" ], [ "X9", "Not documented in medical record\nNCCN International Prognostic Index (IPI) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** patient history, progress notes, consultant notes, other statements in medical record\n\n**Other names include:** NCCN CNS IPI (for CNS primaries)", - "rationale" : "NCCN International Prognostic Index (IPI) is a Registry Data Collection Variable in AJCC. It was previously collected for Lymphomas, SSF #3." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/invasion_beyond_capsule_4149.json b/src/test/resources/algorithms/eod_public/3.3/tables/invasion_beyond_capsule_4149.json deleted file mode 100644 index 8d45e5b78..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/invasion_beyond_capsule_4149.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "invasion_beyond_capsule_4149", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Invasion Beyond Capsule", - "title" : "Invasion Beyond Capsule", - "description" : "Kidney Tumor Extension pertains to the pathologically confirmed invasion of the tumor beyond the fibrous capsule in which the kidney is enclosed.\n\nThis data item collects additional information on the description of tumor spread (invasion beyond capsule) as documented in the pathology report. Do not include clinical findings in this field.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of pathologically confirmed invasion of the tumor beyond the fibrous capsule (invasion beyond capsule) can be used to code this data item when no other information is available.\n\n**Note 2:** **Relevance to Staging**\n* Information about invasion beyond the capsule is collected in primary tumor as an element in anatomic staging. It is also collected in this field as it may have an independent effect on prognosis. \n\n**Note 3:** **Perinephric/sinus fat invasion**\n* Should be confirmed microscopically and is invasion into fat by tumor cells, with or without desmoplastic reaction, and vascular invasion into perinephric/sinus soft tissue.\n * Synonyms include renal sinus fat, medial invasion\n\n* **Do not code invasion of renal hilum in this data item.** \n * Invasion of the renal hilum is invasion of vessels, nerves, lymphatics, and/or ureter before they enter the kidney parenchyma. If the only information you have is that the renal hilum is involved, code to 9 (unknown)", - "last_modified" : "2025-11-06T21:17:45.824Z", - "definition" : [ { - "key" : "invasion_beyond_capsule", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Invasion beyond capsule not identified" ], [ "1", "Perinephric (beyond renal capsule) fat or tissue" ], [ "2", "Renal sinus" ], [ "3", "Gerota's fascia" ], [ "4", "Any combination of codes 1-3" ], [ "5", "Invasion beyond capsule, NOS" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nInvasion beyond capsule not assessed or unknown if assessed\nNo surgical resection of primary site is performed" ] ], - "additional_info" : "**Source documents:** surgical pathology report\n\nFor further information, refer to the **Kidney** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Kidney*.", - "coding_guidelines" : "**1)** Record invasion beyond capsule as documented in the surgical pathology report\n* Surgical resection of primary site must be done \n* Do not use imaging findings to code this data item.\n\n**2)** **Code 0**: There is no invasion beyond capsule\n* If surgical resection is done and tumor is “confined to kidney” and staging is based on size, then there has been no invasion through the capsule (no invasion into perinephric fat)\n\n**3)** **Code 1**: Perinephric fat, which is the layer of fat (adipose tissue) outside the renal capsule but inside Gerota’s fascia\n\n**4)** **Code 2**: Renal sinus, which is the elongated oval indentation in the renal parenchyma occupied by the renal pelvis, renal calyces, blood vessels, nerves, and perisinus fat \n\n* Synonyms include renal sinus fat, medial invasion\n\n**5)** **Code 3**: Gerota’s fascia (Gerota’s capsule), which is a fibrous envelope of tissue that surrounds the kidney\n\n**6)** **Code 4**: Any combination of codes 1-3\n\n**7)** **Code 5**: Invasion beyond the capsule, NOS\n\n**8)** **Code 9** when\n* There is no documentation in the medical record\n* Clinical diagnosis only\n* Evaluation of capsule invasion not done or unknown if done\n* Surgical resection of the primary site is performed, tumor is **not** confined to the kidney and there is no mention of invasion beyond capsule", - "rationale" : "Kidney Tumor Extension into specific tissues for Kidney is a Registry Data Collection Variable in AJCC. It was previously collected as Kidney, CS SSF #1." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ipsilateral_adrenal_gland_involvement_61538.json b/src/test/resources/algorithms/eod_public/3.3/tables/ipsilateral_adrenal_gland_involvement_61538.json deleted file mode 100644 index 8ad0836d6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ipsilateral_adrenal_gland_involvement_61538.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ipsilateral_adrenal_gland_involvement_61538", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Ipsilateral Adrenal Gland Involvement", - "title" : "Ipsilateral Adrenal Gland Involvement", - "description" : "Ipsilateral adrenal gland involvement pertains to direct extension of the tumor into the ipsilateral adrenal gland (continuous) or ipsilateral adrenal gland involvement by a separate nodule (discontiguous).\n\nThe adrenal gland is contained within Gerota’s fascia and is contiguous with the kidney, but it has its own lymphatic and vascular drainage systems. Involvement of the ipsilateral (same side) adrenal gland by kidney tumor—an adverse prognostic indicator—may be by direct extension (contiguous) or hematogenous (through the bloodstream; discontiguous). Do not include clinical findings in this field.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Ipsilateral Adrenal Gland (suprarenal gland, same side [ipsilateral]) Involvement can be used to code this data item when no other information is available.\n\n**Note 2:** **Relevance to Staging** \n* Information about contiguous ipsilateral adrenal gland involvement is collected in primary tumor, and discontiguous ipsilateral adrenal gland involvement is collected in distant metastasis, as elements in anatomic staging. This information is also collected in this field as it may have an independent effect on prognosis.", - "last_modified" : "2025-11-06T21:18:06.817Z", - "definition" : [ { - "key" : "ipsilateral_adrenal_gland_involv", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Ipsilateral adrenal gland involvement not present/not identified" ], [ "1", "Adrenal gland involvement by direct involvement (contiguous involvement)" ], [ "2", "Adrenal gland involvement by separate nodule (noncontiguous involvement)" ], [ "3", "Combination of code 1-2" ], [ "4", "Ipsilateral adrenal gland involvement, unknown if direct involvement or separate nodule" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nIpsilateral adrenal gland not resected\nIpsilateral adrenal gland involvement not assessed or unknown if assessed\nNo surgical resection of primary site is performed" ] ], - "additional_info" : "**Source documents:** surgical pathology report\n\nFor further information, refer to the **Kidney** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Kidney*.", - "coding_guidelines" : "**1)** Record ipsilateral adrenal gland involvement as documented in the surgical pathology report\n* Surgical resection of primary site must be done\n* Do not use imaging findings to code this data item.\n\n**2)** **Code 0**: There is no involvement of the ipsilateral adrenal gland\n* If surgical resection is done and tumor is “confined to kidney” and staging is based on size, then there is no involvement of the adrenal gland\n\n**3)** **Code 1**: Ipsilateral adrenal gland involved by direct extension (contiguous involvement)\n\n**4)** **Code 2**: Ipsilateral adrenal gland involved by separate nodule (discontiguous involvement)\n\n**5)** **Code 3**: Ipsilateral adrenal gland involvement by contiguous and discontiguous involvement\n\n**6)** **Code 4**: Ipsilateral adrenal gland involvement, unknown if contiguous or discontiguous involvement\n\n**7)** **Code 9** when\n* There is no documentation in the medical record\n* Clinical diagnosis only\n* Evaluation of ipsilateral adrenal gland involvement not done or unknown if done\n* Surgical resection of the primary site is performed, tumor is **not** confined to the kidney and there is no mention of ipsilateral adrenal gland involvement", - "rationale" : "Ipsilateral adrenal gland involvement for Kidney is a Registry Data Collection Variable in AJCC. It was previously collected as Kidney, CS SSF #3." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/jak2_80148.json b/src/test/resources/algorithms/eod_public/3.3/tables/jak2_80148.json deleted file mode 100644 index d42193ab7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/jak2_80148.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "jak2_80148", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "JAK2", - "title" : "Janus Kinase 2", - "description" : "Janus Kinase 2 (JAK2, JAK 2) is a gene mutation that increases susceptibility to several myeloproliferative neoplasms (MPNs). Testing for the JAK2 mutation is done on whole blood. Nearly all people with polycythemia vera, and about half of those with primary myelofibrosis and essential thrombocythemia, have the mutation. JAK2 analysis continues to increase in use for hematopoietic neoplasms.\n\nJAK2, a gene found in all humans, is involved in the development of blood cells. If JAK2 has mutated, the person is more susceptible to develop a myeloproliferative disorder (MPD). The JAK2 mutation, which is acquired rather than inherited, is found in as many as 90% of patients with polycythemia vera (PV), about half of patients with essential thrombocythemia (ET), and slightly fewer patients with primary myelofibrosis (also known as agnogenic myeloid metaplasia and other terms). JAK2 is used by clinicians to help classify MPDs. The most common histologies for which JAK-2 is tested are those listed above. Registrars can use JAK2 information to help determine whether the MPD is reportable. JAK2 positivity indicates a malignant (clonal, irreversible) reportable disease, but is not diagnostic of a specific MPD. Additional tests, such as a bone marrow biopsy, are necessary to determine the specific MPD histology. As the use of JAK2 increases and is investigated for other hematopoietic histologies, it also has future potential for development of targeted therapeutics for the MPDs.\n\nThe principal JAK2 test looks for a change (mutation) in an amino acid at a specific place on the JAK2 gene called V617F. If the V617F test is negative, other JAK2 mutation tests, such as those in exon 12 or 13 may be ordered to investigate a possible diagnosis of polycythemia vera. (An exon is a segment of a gene that contains instructions for making a protein.)", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of JAK2 can be used to code this data item when no other information is available.\n\n**Note 2:** **Common histologies for JAK2**\n* Record JAK2 for any hematopoietic neoplasm. It is most commonly used for the following histologies listed below. Nearly all people with polycythemia vera, and about half of those with primary myelofibrosis and essential thrombocythemia, have the mutation.\n * Polycythemia Vera (9950/3)\n * Primary myelofibrosis (9961/3)\n * Essential Thrombocytopenia (9962/3)\n * Chronic myelomonocytic leukemia (9945/3)", - "last_modified" : "2025-11-06T22:01:04.867Z", - "definition" : [ { - "key" : "jak2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "JAK2 result stated as negative" ], [ "1", "JAK2 positive for mutation V617F WITH or WITHOUT other mutations" ], [ "2", "JAK2 positive for exon 12 mutation" ], [ "3", "JAK2 positive for other specified mutation" ], [ "4", "JAK2 positive for more than one mutation other than V617F" ], [ "5", "JAK2 positive NOS \nSpecific mutation(s) not stated" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case \n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nJAK2 not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory test (whole blood)\n\n**Other names include** Janus kinase 2 gene, JAK2 V617F, JAK2 exon 12, JAK2 exon13", - "coding_guidelines" : "**1)** Code the result of the JAK2 test as documented in a laboratory test or elsewhere in the medical record. \n\n**2)** Code this field for any hematopoietic, immunoproliferative, myeloproliferative, or myelodysplastic disease for which JAK2 is tested. \n\n**3)** **Code 0** when the JAK2 test result is stated as negative.\n\n**4)** **Code 1** when the JAK2 test was performed and was positive for mutation V617F in exon 14.\n\n**5)** **Code 2** when the JAK2 test was performed and was positive for mutation of exon 12.\n\n**6)** **Code 3** when the JAK2 test was performed and was positive for another specified mutation.\n\n**7)** **Code 4** when the JAK2 test was performed and was positive for more than one mutation.\n\n**8)** **Code 7** when there is a statement in the record that the test was ordered but the results are not available.\n\n**9)** **Code 9** when\n* There is no information in the medical record about JAK2 testing\n* The results of JAK2 testing are unknown\n* HemeRetic schema disease such as leukemia where JAK2 is not normally tested.", - "rationale" : "JAK2 can be collected by the surveillance community for myeloproliferative neoplasms. Prior to 2018, HemeRetic SSF#1 was used for JAK2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ki67_8355.json b/src/test/resources/algorithms/eod_public/3.3/tables/ki67_8355.json deleted file mode 100644 index daf03d94b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ki67_8355.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ki67_8355", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Ki-67", - "title" : "Ki-67 (MIB-1)", - "description" : "Ki-67 (MIB-1) (Proliferative Index) is a marker of cell proliferation. A high value indicates a tumor that is proliferating more rapidly. Codes and coding instructions for this data item are site-specific.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of Ki-67 (MIB-1), also referred to as the “Proliferative Index” can be used to code this data item when no other information is available.\n\n**Note 2:** **In-situ and Invasive components present**\n* If Ki-67 is done on both the in situ and invasive components in the primary tumor, code the Ki-67 value from the invasive component\n* If in situ and invasive components present and Ki-67 only done on the in-situ component in the primary tumor, code unknown\n\n**Note 3:** **Results from nodal or metastatic tissue**\n * Results from nodal or metastatic tissue may be used ONLY when there is no evidence of primary tumor\n * *Note:* In-situ is evidence of primary tumor\n\n**Note 4:** **Neoadjuvant Therapy**\n* Record the assay from tumor specimens prior to neoadjuvant therapy.\n* If neoadjuvant therapy is given and there are no Ki-67 results from pre-treatment specimens, report the findings from post-treatment specimens.", - "last_modified" : "2025-11-06T21:44:08.394Z", - "definition" : [ { - "key" : "ki67", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0-100.0", "0.0 to 100.0 percent positive: enter percent positive" ], [ "XXX.7", "Test done, actual percentage not stated" ], [ "XXX.8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code XXX.8 will result in an edit error.)" ], [ "XXX.9", "Not documented in medical record\nKi-67 (MIB-1) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\nFor further information, refer to the **Breast Biomarker Reporting** cancer protocols published by the College of American Pathologists for the AJCC Staging System *Breast*.", - "coding_guidelines" : "Ki-67 results are reported as the percentage cell nuclei that stain positive. As of early 2017 there are no established standards for interpretation of results or for cutoffs for positive and negative. \n\n* ***Examples:***\n\n * Ki-67 reported as 14%. Code 14.0\n * Ki-67 reported as 8.6%. Code 8.6", - "rationale" : "Ki-67 (MIB-1) (Proliferative Index) is a Registry Data Collection Variable in AJCC. It was a new data item for breast cases diagnosed 1/1/2018+. It will apply to neuroendocrine tumors (NET) of the gastrointestinal tract (AJCC Chapters 29 – 34) for cases diagnosed 1/1/2021+. High Ki-67 is an adverse prognostic factor and Ki-67 is a component of grade for these tumors. NCCN guidelines recommend that tumor differentiation, mitotic rate and Ki-67 should be recorded in the pathology report for these tumors." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ki_67_67661.json b/src/test/resources/algorithms/eod_public/3.3/tables/ki_67_67661.json deleted file mode 100644 index 93d69fac0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ki_67_67661.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ki_67_67661", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Ki-67", - "title" : "Ki-67", - "description" : "Ki-67 (MIB-1) (Proliferative Index) is a marker of cell proliferation. A high value indicates a tumor that is proliferating more rapidly. Codes and coding instructions for this data item are site-specific.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2021+\n* For cases diagnosed 2018-2020, this SSDI must be blank\n\n**Note 2:** **Physician Statement**\n* Physician statement of Ki-67 (MIB-1), also referred to as the “Proliferative Index,” can be used to code this data item when no other information is available\n\n**Note 3:** **Priority order**\n* A specific value (0.0-100.0) takes priority over XXX.4, XXX.5 or XXX.6. \n* Code the exact percentage when provided\n* When the exact percentage is not given, including ranges or terms such as “less than” or “greater than” use the range value codes XXX.4, XXX.5, XXX.6.\n* XXX.4, XXX.5 and XXX.6 were added since they are listed on the CAP protocol\n\n**Note 4:** **Results from nodal or metastatic tissue**\n* May **not** be used\n * If the only information you have is a Ki-67 from a metastatic site, code to XXX.9 \n\n**Note 5:** **Neoadjuvant Therapy**\n* Record the assay from tumor specimens prior to neoadjuvant therapy.\n* If neoadjuvant therapy is given and there are no Ki-67 results from pre-treatment specimens, report the findings from post-treatment specimens.", - "last_modified" : "2025-11-06T15:59:28.810Z", - "definition" : [ { - "key" : "ki67", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0-100.0", "0.0 to 100.0 percent positive: enter percent positive" ], [ "XXX.4", "Ki-67 stated as less than 3%" ], [ "XXX.5", "Ki-67 stated as 3%-20%" ], [ "XXX.6", "Ki-67 stated as greater than 20%" ], [ "XXX.7", "Test done; actual percentage not stated" ], [ "XXX.8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code XXX.8 will result in an edit error.)" ], [ "XXX.9", "Not documented in medical record\nKi-67 (MIB-1) not assessed or unknown if assessed" ], [ "", "Must be blank if diagnosis year is before 2021" ] ], - "additional_info" : "**Source documents:** pathology report\n\n**Other names include** Proliferative index, MIB-1\n\nFor further information, refer to the **NET (Endocrine)** cancer protocols published by the College of American Pathologists.", - "coding_guidelines" : "**1)** Ki-67 results are reported as the percentage cell nuclei that stain positive. As of early 2017 there are no established standards for interpretation of results or for cutoffs for positive and negative.\n\n***Examples:***\n* Ki-67 reported as 14%. Code 14.0\n* Ki-67 reported as 8.6%. Code 8.6\n* Ki-67 stated as less than 1%. Code XXX.4\n* Ki-67 stated as 5%-10%. Code XXX.5\n* Ki-67 stated as greater than 4%. Code XXX.5\n* Ki-67 stated as greater than 30%. Code XXX.6", - "rationale" : "Ki-67 (MIB-1) (Proliferative Index) is a Registry Data Collection Variable in AJCC. It was a new data item for breast cases diagnosed 1/1/2018+. It will apply to neuroendocrine tumors (NET) of the gastrointestinal tract (AJCC Chapters 29 – 34) for cases diagnosed 1/1/2021+. \n\nHigh Ki-67 is an adverse prognostic factor and Ki-67 is a component of grade for these tumors. NCCN guidelines recommend that tumor differentiation, mitotic rate and Ki-67 should be recorded in the pathology report for these tumors." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/kit_gene_immunohistochemistry_33220.json b/src/test/resources/algorithms/eod_public/3.3/tables/kit_gene_immunohistochemistry_33220.json deleted file mode 100644 index 75260c871..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/kit_gene_immunohistochemistry_33220.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "kit_gene_immunohistochemistry_33220", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "KIT Gene Immunohistochemistry", - "title" : "KIT Gene Immunohistochemistry (IHC)", - "description" : "KIT Gene Immunohistochemistry (IHC) is the expression of the KIT gene in tumor tissue specimens based on immunohistochemical (IHC) stains. A positive test is a diagnostic and predictive marker for GIST tumors.\n\nKIT is a gene that regulates cell growth and differentiation. Mutations of this gene become oncogenes and cause a gastrointestinal stromal tumor to ignore cellular control signals. About 85-90% of GIST tumors contain oncogenic mutations of the KIT receptor gene. KIT immunohistochemistry is a special immunofluorescent stain that turns mutated cells brown and confirms a diagnosis of GIST. The presence of the KIT gene also indicates that the patient may respond to Gleevec or Sutent.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of KIT IHC can be used to code this data item when no other information is available.\n\n**Note 2:** **Types of results**\n* Record results from Immunohistochemistry only. If there are results from DNA sequencing, or some other type of result, code 9\n\n**Note 3:** **Results from nodal or metastatic tissue**\n* May be used for KIT Gene immunohistochemistry", - "last_modified" : "2025-03-25T15:10:34.199Z", - "definition" : [ { - "key" : "kit", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "KIT negative/normal; within normal limits" ], [ "1", "KIT positive" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nCannot be determined by pathologist\nKIT not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report (special stain)\n\n**Other names include** CD117, c-kit receptor, KIT receptor tyrosine kinase, or SCFR (stem cell factor receptor)", - "rationale" : "KIT Gene Immunohistochemistry (IHC) is a Registry Data Collection Variable in AJCC. This data item was previously collected for GIST schemas in CS (different SSFs)." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/kras_79447.json b/src/test/resources/algorithms/eod_public/3.3/tables/kras_79447.json deleted file mode 100644 index 7cb1b7d01..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/kras_79447.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "kras_79447", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "KRAS", - "title" : "KRAS", - "description" : "KRAS is an important signaling intermediate in the growth receptor pathway which controls cell proliferation and survival. KRAS is a protein with production controlled by the K-ras gene. When the K-ras gene is activated through mutation during colorectal carcinogenesis, production of KRAS continuously stimulates cell proliferation and prevents cell deaths. Activating mutations in KRAS are an adverse prognostic factor for colorectal carcinoma and predict a poor response to monoclonal anti-EGFR antibody therapy in advanced colorectal carcinoma.\n\nKRAS is an oncogene (a gene that, when mutated or overexpressed, helps turn a normal cell into a cancer cell). Mutations of KRAS indicate that a patient may not respond to the anti-epidermal growth factor receptor drugs cetuximab (Erbitux) or panitumumab (Vectibix). ASCO recommends that Stage IV colorectal patients be tested for KRAS if anti-EGFR therapy is being considered. There are two types of KRAS genes: normal and mutated. The normal KRAS gene is also called the wild type allele; the mutated gene may be described as abnormal or having an abnormal codon (abnormal DNA sequence).", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of KRAS can be used to code this data item when no other information is available. \n\n**Note 2:** **Applicable Stages**.\n* KRAS may be recorded for all stages; however, it is primarily performed for patients with metastatic disease. If information is not available, code 9\n\n**Note 3:** **Results from nodal or metastatic tissue**\n* Results from nodal or metastatic tissue may be used for KRAS.\n\n**Note 4:** **Timing**\n* Record the results of the KRAS from the initial workup (clinical and pathological workup).", - "last_modified" : "2025-11-14T15:58:42.112Z", - "definition" : [ { - "key" : "kras", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Normal \nKRAS negative, KRAS wild type\nNegative for (somatic) mutations, no alterations, no (somatic) mutations identified, not present, not detected" ], [ "1", "Abnormal (mutated) in codon(s) 12, 13 and/or 61" ], [ "2", "Abnormal (mutated) in codon 146 only" ], [ "3", "Abnormal (mutated), but not in codon(s) 12, 13, 61, or 146" ], [ "4", "Abnormal (mutated), NOS, codon(s) not specified" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nKRAS not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, clinical laboratory report\n\n**Other names include** K-Ras, K-ras, Ki-Ras\n\nFor further information, refer to the **Colon and Rectum Biomarker** Reporting cancer protocol published by the College of American Pathologists for the AJCC Staging System *Colon and Rectum*.", - "coding_guidelines" : "There are 4 KRAS codons that are commonly mutated in colorectal cancers. This SSDI does not record the actual mutation, but instead records the codon or codon group that contains the mutation. If a specific KRAS mutation is reported, its codon may be identified from the following list of common KRAS mutations grouped by codon.\n\n**1)** **Codon 12 (see code 1)**\n* Gly12Asp (GGT>GAT)\n* Gly12Val (GGT>GTT)\n* Gly12Cys (GGT>TGT)\n* Gly12Ser (GGT>AGT)\n* Gly12Ala (GGT>GCT)\n* Gly12 Arg (GGT>CGT)\n* Codon 12 mutation, not otherwise specified\n\n**2)** **Codon 13 (see code 1)**\n* Gly13Asp (GGC>GAC)\n* Gly13Arg (GGC>CGC)\n* Gly13Cys (GGC>TGC)\n* Gly13Ala (GGC>GCC)\n* Gly13Val (GGC>GTC)\n* Codon 13 mutation, not otherwise specified\n\n**3)** **Codon 61 (see code 1)**\n* Gln61Leu (CAA>CTA)\n* Gln61His (CAA>CAC)\n* Codon 61 mutation, not otherwise specified\n\n**4)** **Codon 146 (See code 2)**\n* Ala146Thr (G436A) (GCA>ACA)\n* Codon 146 mutation, not otherwise specified\n\n**5)** **Other specified coding (excluding 12, 13, 61, 146) (See code 3)**\n\n**6)** **Unknown codon (See code 4)**\n* KRAS positive, specific codon not mentioned \n\n**7)** **Code 9** when\n* Insufficient amount of tissue available to perform test\n* No microscopic confirmation of tumor\n* Pathology report available and there is no mention of KRAS\n* KRAS not ordered or not done, or unknown if ordered or done", - "rationale" : "KRAS is a Registry Data Collection Variable in AJCC. It was previously collected as Colon and Rectum CS SSF #9." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/lacrimal_gland_lacrimal_sac_63106.json b/src/test/resources/algorithms/eod_public/3.3/tables/lacrimal_gland_lacrimal_sac_63106.json deleted file mode 100644 index d22c8dedb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/lacrimal_gland_lacrimal_sac_63106.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "lacrimal_gland_lacrimal_sac_63106", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Discriminator 1", - "title" : "Schema Discriminator 1: Lacrimal Gland/Lacrimal Sac", - "description" : "Lacrimal gland and lacrimal sac have the same ICD-O topography code (C695). However, for purposes of the AJCC Staging System stage grouping, lacrimal gland is AJCC staged while lacrimal sac is not (Summary Stage only). A schema discriminator is necessary to distinguish between these primary sites so that the appropriate system/schema is used.\n\nThe lacrimal (also spelled lachrymal) gland is the only epithelial structure normally present within the orbit. Its composition is the same as epithelial salivary glands and AJCC TNM staging parallels that of the major salivary gland classification", - "notes" : "**Note:** **Schema Discriminator for C695** \n* A schema discriminator is used to discriminate between lacrimal gland and lacrimal sac tumors with primary site code C695: Lacrimal Gland. Code the site in which the tumor arose. \n* **Lacrimal Gland (see code 1)**\n\n* **Lacrimal Sac (see code 2)**\n * Histology is transitional cell carcinoma (8120/3, 8130/3)\n * Subsites include lacrimal sac, lacrimal duct (NOS), nasal lacrimal duct", - "last_modified" : "2024-04-30T20:00:56.625Z", - "definition" : [ { - "key" : "discriminator_1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "disease", - "name" : "Schema ID #/Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Lacrimal gland", "00690: Lacrimal Gland" ], [ "2", "Lacrimal sac\nLacrimal duct, NOS\nNasal lacrimal duct/sac\nNasolacrimal duct", "00698: Lacrimal Sac" ], [ "9", "Lacrimal, NOS", "00698: Lacrimal Sac" ] ], - "additional_info" : "**Source documents:** pathology report, imaging", - "rationale" : "A schema discriminator is used to assign AJCC ID when site and histology alone are insufficient to identify the applicable AJCC staging method and to assign Schema ID, which links each case to the appropriate SSDIs, Grade, Summary Stage and EOD data collection system." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ldh_lab_value_85652.json b/src/test/resources/algorithms/eod_public/3.3/tables/ldh_lab_value_85652.json deleted file mode 100644 index ebee3a89c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ldh_lab_value_85652.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ldh_lab_value_85652", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LDH Lab Value", - "title" : "LDH Lab Value", - "description" : "LDH (Lactate Dehydrogenase) Lab Value, measured in serum, is a predictor of treatment response, progression-free survival, and overall survival for patients with Stage IV melanoma of the skin. \n\nWhen cells (normal or tumor) are damaged or destroyed, an enzyme called lactate dehydrogenase (LDH) is released into the bloodstream. LDH is an indirect indication of possible tumor burden or damage to an organ, which may be caused by metastatic involvement of liver or lung, or a myocardial infarction. The total LDH should be the test value that is coded, but there are five fractions of LDH that measure tissue specific cellular damage: LD1 and LD2: heart, red blood cells and kidneys; LD3: lung; LD4 and LD5: liver, skin, and skeletal muscles. LDH is elevated in 60% of patients with non-seminomatous germ cell tumors of the testis. LDH is not a screening test, nor is it diagnostic of melanoma, ocular adnexal lymphoma, or testicular cancer.\n\nLDH is important in melanoma staging in the setting of DISTANT metastasis. LDH level might only be ordered after re-excision/wide excision and/or nodal evaluation indicates a higher risk of distant metastasis. Imaging may then be performed and if distant metastasis are identified, LDH is ordered.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of LDH Lab Value can be used to code this data item when no other information is available. \n\n**Note 2:** **Pre systemic treatment results** \n* Record the lab value of the highest serum LDH test results documented in the medical record either before or after surgical resection of the primary tumor with or without regional lymph node dissection. \n* The LDH must be taken prior to systemic (chemo, immunotherapy, hormone), radiation therapy or surgery to a metastatic site. \n\n**Note 3:** **Related data item** \n* The same laboratory test should be used to record the related data items 3869: LDH Level and 3870: LDH Upper Limits of Normal.", - "last_modified" : "2025-11-06T18:46:06.278Z", - "definition" : [ { - "key" : "ldh_lab_value", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "0.0 (U/L)" ], [ "0.1-99999.9", "0.1 - 99,999.9 U/L" ], [ "XXXXX.1", "100,000 U/L or greater" ], [ "XXXXX.7", "Test ordered, results not in chart" ], [ "XXXXX.8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code XXXXX.8 will result in an edit error.)" ], [ "XXXXX.9", "Not documented in medical record\nLDH Lab Value not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report; may be included in a liver or hepatic panel/profile, a cardiac panel, or a general metabolic panel of tests\n\n**Other names include:** LDH, Lactate dehydrogenase, lactase dehydrogenase, lactic acid dehydrogenase", - "coding_guidelines" : "**1)** Record the lab value of the highest serum LDH test results documented in the medical record **either before or after surgical resection** of the primary tumor with or without regional lymph node dissection.\n\n**2)** **Code 0.0** for a test result of 0 (U/L).\n\n**3)** **Code 0.1-99,999.9 for the highest exact LDH lab value** prior to systemic (chemo, immunotherapy, hormone), radiation therapy or surgery to a metastatic site \n \n**4)** **Code XXXXX.1** for a total LDH lab value of 100,000 or greater. \n\n**5)** **Code XXXXX.7** if the test was ordered and the results are not in the medical record. \n\n**6)** **Code XXXXX.9** when \n * There is no information in the medical record about the LDH lab value\n * Test is not done or unknown if the test was done", - "rationale" : "LDH Lab Value is a Registry Data Collection Variable in AJCC. It was previously collected as Melanoma Skin, CS SSF #5." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ldh_level_12428.json b/src/test/resources/algorithms/eod_public/3.3/tables/ldh_level_12428.json deleted file mode 100644 index 2e94f0b54..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ldh_level_12428.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ldh_level_12428", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LDH Level", - "title" : "LDH Level", - "description" : "LDH (Lactate Dehydrogenase) is an enzyme involved in conversion of sugars to energy and present in most cells in the body. Elevated LDH is an adverse prognostic factor for plasma cell myeloma and melanoma of the skin.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of LDH Level can be used to code this data item when no other information is available. \n\n**Note 2:** **Coding criteria** \n* Record the interpretation of the highest serum LDH test results documented in the medical record either before or after surgical resection of the primary tumor with or without regional lymph node dissection\n* The LDH must be taken prior to systemic (chemo, immunotherapy, hormone), radiation therapy or surgery to a metastatic site\n* Use the reference ranges from your lab to determine if LDH is normal\n\n**Note 3:** **Related data item** \n* The same laboratory test should be used to record the related data items 3869: LDH Level and 3870: LDH Upper Limits of Normal", - "last_modified" : "2024-04-05T19:55:45.577Z", - "definition" : [ { - "key" : "ldh_level", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Normal LDH level\nLow, below normal" ], [ "1", "Above normal LDH level; High" ], [ "7", "Test ordered, results not in chart" ], [ "9", "Not documented in medical record \nLDH Level not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report; may be included in a liver or hepatic panel/profile, a cardiac panel, or a general metabolic panel of tests\n\n**Other names include:** LDH, Lactate dehydrogenase, lactase dehydrogenase, lactic acid dehydrogenase", - "rationale" : "LDH (Lactate Dehydrogenase) Level is a prognostic factor required in AJCC 8th edition for Chapter 82 Plasma Cell Myeloma and Plasma Cell Disorders and Chapter 47 Melanoma Skin. For Plasma Cell Myeloma, LDH is part of the RISS Stage and is new for cases diagnosed 1/1/2018+. For Melanoma Skin, LDH is used to define the M subcategories and was previously collected as Melanoma Skin, SSF #4." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ldh_post_orchiectomy_range_38574.json b/src/test/resources/algorithms/eod_public/3.3/tables/ldh_post_orchiectomy_range_38574.json deleted file mode 100644 index 06c5d21af..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ldh_post_orchiectomy_range_38574.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ldh_post_orchiectomy_range_38574", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LDH Post-Orchiectomy Range", - "title" : "LDH (Lactate Dehydrogenase) Post-Orchiectomy Range", - "description" : "LDH (Lactate Dehydrogenase) Post-Orchiectomy Range identifies the range category of the lowest LDH value measured post-orchiectomy. LDH is a nonspecific marker for testicular cancer that is elevated in some germ cell tumors. The Post-Orchiectomy lab value is used to monitor response to therapy.\n\nWhen cells (normal or tumor) are damaged or destroyed, an enzyme called lactate dehydrogenase (LDH) is released into the bloodstream. LDH is an indirect indication of possible tumor burden or damage to an organ, which may be caused by metastatic involvement of liver or lung, or a myocardial infarction. The total LDH should be the test value that is coded, but there are five fractions of LDH that measure tissue specific cellular damage: LD1 and LD2: heart, red blood cells and kidneys; LD3: lung; LD4 and LD5: liver, skin, and skeletal muscles. LDH is elevated in 60% of patients with non-seminomatous germ cell tumors of the testis. LDH is not a screening test, nor is it diagnostic of melanoma, ocular adnexal lymphoma, or testicular cancer.\n\nFor testis, only the LDH Range is coded. LDH is non-specific for testicular cancer. Although part of the criteria for the S category in the TNM system, LDH is not routinely performed unless the patient has evidence of bulky or distant disease.\nFor Testis, there are 2 related data items that record information on LDH.\n* 3867: LDH Post-Orchiectomy Range\n* 3868: LDH Pre-Orchiectomy Range", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the LDH (Lactate Dehydrogenase) Post-Orchiectomy Range can be used to code this data item when there is no other information available.\n\n**Note 2:** **Timing** \n* Record the range of the LDH test as documented in the medical record after orchiectomy but prior to adjuvant therapy. The lab value may be documented in a lab report, history and physical, or clinical statement in the pathology report.\n\n**Note 3:** **Calculating the upper limit** \n* To calculate whether the lab result is in a particular range, multiply the lab’s upper limit of normal (usually stated on the report) times the stated multiplier. If the test is elevated, determine whether it is less than 1.5 times the upper limit of normal (code 1), between 1.5 and 10 times the upper limit of normal (code 2), or more than 10 times the upper limit of normal (code 3) (*See coding guidelines for example*).\n\n **Note 4:** **Lab values elevated after orchiectomy** \n* If the initial post-orchiectomy LDH remains elevated, review subsequent tests, and record the lowest LDH value (normalization or plateau) prior to adjuvant therapy or before the value rises again.\n\n**Note 5:** **LDH and Testis** \n* Of the three tumor markers, lactate dehydrogenase (LDH) is the least specific for testicular cancer. The magnitude of LDH elevation directly correlates with Testis tumor burden.\n\n**Note 6:** **Related data item** \n* If the pre-orchiectomy LDH was normal, a post-orchiectomy LDH may not be performed. In this case, code 5 should be recorded.", - "last_modified" : "2025-11-06T21:08:49.727Z", - "definition" : [ { - "key" : "ldh_post_orch_range", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Within normal limits" ], [ "1", "Less than 1.5 x N \n(Less than 1.5 times the upper limit of normal for LDH)" ], [ "2", "1.5 to 10 x N \n(Between 1.5 and 10 times the upper limit of normal for LDH)" ], [ "3", "Greater than 10 x N \n(Greater than 10 times the upper limit of normal for LDH)" ], [ "4", "Post-Orchiectomy lactate dehydrogenase (LDH) range stated to be elevated" ], [ "5", "Post-Orchiectomy lactate dehydrogenase (LDH) unknown or not done but pre-orchiectomy LDH was normal" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nNo orchiectomy performed\nLDH (Lactate Dehydrogenase) Post-Orchiectomy Range not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report; may be included in a liver or hepatic panel/profile, a cardiac panel, or a general metabolic panel of tests\n\n**Other names include** LD, Lactate dehydrogenase, lactase dehydrogenase, lactic acid dehydrogenase\n\nFor further information, refer to the **Testis** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Testis*.\n\n**Normal reference range** \n* Varies widely by laboratory, patient age, and the units of measurement.", - "coding_guidelines" : "***LDH Pre-Orchiectomy and Post-Orchiectomy Range***\n\n* For these examples, the lab’s normal reference range for LDH = 100-225\n * 1.5 X 225 (upper limit of normal) = 337.5 \n * 10 x 225 (upper limit of normal) = 2250\n\n* Therefore, for this lab, a value that is elevated and up to 337 = code 1, a value from 338 to 2250 = code 2, and a value greater than 2250 = code 3.", - "rationale" : "LDH (Lactate Dehydrogenase) is a Registry Data Collection Variable in AJCC. LDH (Lactate Dehydrogenase) Post-Orchiectomy Range is used to assign the S Category Pathological and was previously collected as Testis CS SSF #16." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ldh_pre_orchiectomy_range_42762.json b/src/test/resources/algorithms/eod_public/3.3/tables/ldh_pre_orchiectomy_range_42762.json deleted file mode 100644 index bb2f5d666..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ldh_pre_orchiectomy_range_42762.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ldh_pre_orchiectomy_range_42762", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LDH Pre-Orchiectomy Range", - "title" : "LDH (Lactate Dehydrogenase) Pre-Orchiectomy Range", - "description" : "Lactate Dehydrogenase (LDH) Range identifies the range category of the highest LDH value measured prior to treatment. LDH is a nonspecific marker for testicular cancer that is elevated in some germ cell tumors. This data item refers to the Pre-Orchiectomy range.\n\nWhen cells (normal or tumor) are damaged or destroyed, an enzyme called lactate dehydrogenase (LDH) is released into the bloodstream. LDH is an indirect indication of possible tumor burden or damage to an organ, which may be caused by metastatic involvement of liver or lung, or a myocardial infarction. The total LDH should be the test value that is coded, but there are five fractions of LDH that measure tissue specific cellular damage: LD1 and LD2: heart, red blood cells and kidneys; LD3: lung; LD4 and LD5: liver, skin, and skeletal muscles. LDH is elevated in 60% of patients with non-seminomatous germ cell tumors of the testis. LDH is not a screening test, nor is it diagnostic of melanoma, ocular adnexal lymphoma, or testicular cancer.\n\nFor testis, only the LDH Range is coded. LDH is non-specific for testicular cancer. Although part of the criteria for the S category in the TNM system, LDH is not routinely performed unless the patient has evidence of bulky or distant disease.\n\nFor Testis, there are 2 related data items that record information on LDH.\n* 3867: LDH Post-Orchiectomy Range\n* 3868: LDH Pre-Orchiectomy Range", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the LDH (Lactate Dehydrogenase) Pre-Orchiectomy Range can be used to code this data item when no other information is available. \n\n**Note 2:** **Timing** \n* Record the range of the highest LDH test result documented in the medical record **prior to orchiectomy** or prior to any systemic treatment. The lab value may be documented in a lab report, history and physical, or clinical statement in the pathology report.\n\n**Note 3:** **Calculating the upper limit** \n* To calculate whether the lab result is in a particular range, multiply the lab’s upper limit of normal (usually stated on the report) times the stated multiplier. If the test is elevated, determine whether it is less than 1.5 times the upper limit of normal (code 1), between 1.5 and 10 times the upper limit of normal (code 2), or more than 10 times the upper limit of normal (code 3). (*See coding guidelines for example*).\n\n**Note 4:** **LDH and Testis** \n* Of the three tumor markers, lactate dehydrogenase (LDH) is the least specific for testicular cancer. The magnitude of LDH elevation directly correlates with Testis tumor burden.", - "last_modified" : "2025-11-06T21:09:48.826Z", - "definition" : [ { - "key" : "ldh_pre_orch_range", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Within normal limits" ], [ "1", "Less than 1.5 x N \n(Less than 1.5 times the upper limit of normal for LDH)" ], [ "2", "1.5 to 10 x N \n(Between 1.5 and 10 times the upper limit of normal for LDH)" ], [ "3", "Greater than 10 x N \n(Greater than 10 times the upper limit of normal for LDH)" ], [ "4", "Pre-Orchiectomy lactate dehydrogenase (LDH) range stated to be elevated" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nLDH (Lactate Dehydrogenase) Pre-Orchiectomy Range not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report; may be included in a liver or hepatic panel/profile, a cardiac panel, or a general metabolic panel of tests\n\n**Other names include** LD, Lactate dehydrogenase, lactase dehydrogenase, lactic acid dehydrogenase\n\nFor further information, refer to the **Testis** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Testis*.\n\n**Normal reference range** \n* Varies widely by laboratory, patient age, and the units of measurement.", - "coding_guidelines" : "***Examples for LDH Pre-Orchiectomy and Post-Orchiectomy Range***\n\n* For these examples, the lab’s normal reference range for LDH = 100-225\n * 1.5 X 225 (upper limit of normal) = 337.5 \n * 10 x 225 (upper limit of normal) = 2250\n\n* Therefore, for this lab, a value that is elevated and up to 337 = code 1, a value from 338 to 2250 = code 2, and a value greater than 2250 = code 3.", - "rationale" : "LDH (Lactate Dehydrogenase) is a Registry Data Collection Variable in AJCC. LDH (Lactate Dehydrogenase) Pre-Orchiectomy Range is used to assign the S Category Clinical and was previously collected as Testis CS SSF #10." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ldh_pretreatment_level_82697.json b/src/test/resources/algorithms/eod_public/3.3/tables/ldh_pretreatment_level_82697.json deleted file mode 100644 index 2a6c4a3e6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ldh_pretreatment_level_82697.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ldh_pretreatment_level_82697", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LDH Level", - "title" : "LDH Level", - "description" : "LDH (Lactate Dehydrogenase) is an enzyme involved in conversion of sugars to energy and present in most cells in the body. Elevated LDH is an adverse prognostic factor for plasma cell myeloma and melanoma of the skin.\n\nThe Revised International Staging System (R-ISS or RISS) is now used to stage plasma cell myeloma (9732/3), using several different criteria. The stages are based on the absence or presence of the following related criteria. \n* 3931: Serum Beta-2 Microglobulin Pretreatment Level\n* 3930: Serum Albumin Pretreatment Level\n* 3857: High Risk Cytogenetics\n* 3869: LDH Level\n\nRequired for Staging: The AJCC Staging System Plasma Cell Myeloma and Plasma Cell Disorders (9732/3 only) and EOD. \n* Note: R-ISS stage is not applicable for the descriptions of plasma multiple myeloma that are listed in the codes 1 and 9 in the SSDI Schema Discriminator 1: Plasma Cell Myeloma Terminology. If you have coded 1 or 9 for this Schema Discriminator, the four data items listed above are BLANK.\n\nThe R-ISS stages are\n* Stage I: Serum Beta-2-microglobulin <3.5 mg/L and serum albumin > 3.5 g/dL and no high-risk cytogenetics and Normal LDH\n* Stage II: Not R-ISS I or III\n* Stage III: Serum Beta-2-microglobulin > 5.5 mg/L and high-risk cytogenetics and/or high LDH", - "notes" : "**Note 1:** **Physician statement**\n* Physician statement of LDH Level can be used to code this data item when no other information is available\n\n**Note 2:** **Pretreatment results only**\n* Record this data item based on a **blood test** performed at diagnosis (pre-treatment). Use the highest value available.\n * Do not use results from a urine test\n\n**Note 3:** **Component of R-ISS Stage**\n* LDH level is part of the Revised International Staging (R-ISS). Use the lab’s reference range to determine if LDH is normal or elevated\n * **Code 0** if physician states **RISS Stage 1 or 2** and there is no other information", - "last_modified" : "2025-07-31T19:05:42.922Z", - "definition" : [ { - "key" : "ldh_level", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Normal LDH level\nLow, below normal" ], [ "1", "Above normal LDH level; High" ], [ "5", "Schema Discriminator 1: Plasma Cell Myeloma Terminology coded to 1 or 9" ], [ "7", "Test ordered, results not in chart" ], [ "9", "Not documented in medical record \nLDH (Lactate Dehydrogenase) Level not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report; may be included in a liver or hepatic panel/profile, a cardiac panel, or a general metabolic panel of tests\n\n**Other names include** LDH, Lactate dehydrogenase, lactase dehydrogenase, lactic acid dehydrogenase", - "coding_guidelines" : "**1) Code 5** if Schema Discriminator 1: Plasma Cell Myeloma Terminology is coded to 1 or 9\n\n**2) Code 9** when there is no mention of LDH", - "rationale" : "LDH (Lactate Dehydrogenase) Level is a prognostic factor required in AJCC 8th edition for Chapter 82 Plasma Cell Myeloma and Plasma Cell Disorders and Chapter 47 Melanoma Skin. For Plasma Cell Myeloma, LDH is part of the R-ISS Stage and is new for cases diagnosed 1/1/2018+. For Melanoma Skin, LDH is used to define the M subcategories and was previously collected as Melanoma Skin, SSF #4." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ldh_upper_limits_of_normal_34244.json b/src/test/resources/algorithms/eod_public/3.3/tables/ldh_upper_limits_of_normal_34244.json deleted file mode 100644 index ec2bd451b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ldh_upper_limits_of_normal_34244.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ldh_upper_limits_of_normal_34244", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LDH Upper Limits of Normal", - "title" : "LDH (Lactate Dehydrogenase) Upper Limits of Normal", - "description" : "LDH (Lactate Dehydrogenase), an enzyme involved in converting sugars to energy in the body, is elevated in some malignancies. LDH level is a prognostic factor for patients with Stage IV melanoma. This data Item refers to the Upper Limit of Normal in the laboratory test used to interpret the Serum LDH result.\n\nWhen cells (normal or tumor) are damaged or destroyed, an enzyme called lactate dehydrogenase (LDH) is released into the bloodstream. LDH is an indirect indication of possible tumor burden or damage to an organ, which may be caused by metastatic involvement of liver or lung, or a myocardial infarction. The total LDH should be the test value that is coded, but there are five fractions of LDH that measure tissue specific cellular damage: LD1 and LD2: heart, red blood cells and kidneys; LD3: lung; LD4 and LD5: liver, skin, and skeletal muscles. LDH is elevated in 60% of patients with non-seminomatous germ cell tumors of the testis. LDH is not a screening test, nor is it diagnostic of melanoma, ocular adnexal lymphoma, or testicular cancer.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of LDH (Lactate Dehydrogenase) Upper Limit of Normal can be used to code this data item when no other information is available.\n\n**Note 2:** **Recording upper limits** \n* Record the value of the highest serum LDH test results documented in the medical record either before or after surgical resection of the primary tumor with or without regional lymph node dissection. The LDH must be taken prior to systemic (chemo, immunotherapy, hormone), radiation therapy or surgery to a metastatic site. The lab value may be recorded in a lab report, history and physical, or clinical statement in the pathology report.\n\n**Note 3:** **Related data items** \n* The same laboratory test should be used to record the related data items 3932: LDH Lab Value and 3869: LDH Level.", - "last_modified" : "2025-11-06T15:49:42.721Z", - "definition" : [ { - "key" : "ldh_upper_limit", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "001-999", "001 - 999 upper limit of normal \n(Exact upper limit of normal)" ], [ "XX8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code XX8 may result in an edit error.)" ], [ "XX9", "Not documented in medical record\nLDH Upper Limit not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report; may be included in a liver or hepatic panel/profile, a cardiac panel, or a general metabolic panel of tests\n\n**Other names include:** LDH, Lactate dehydrogenase, lactase dehydrogenase, lactic acid dehydrogenase\n\n**Normal reference range** varies widely by laboratory, patient age, and the units of measurement.\n* Upper limits of normal for LDH vary widely depending on the lab. \n* Common upper limits can be 200, 250, 618, or other values.\n\n***Examples*** of reference range lab values:\n * Lab A Total LDH 71 – 207 U/L\n * Lab B Total LDH 300 – 600 U/L\n * Lab C LDH 45 – 90 U/L\n * Lab D Total LDH 150 – 250 U/L", - "rationale" : "LDH (Lactate Dehydrogenase) Upper Limits of Normal is a Registry Data Collection Variable in AJCC. It was previously collected as Melanoma Skin, CS SSF #6." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_femoral_inguinal_48450.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_femoral_inguinal_48450.json deleted file mode 100644 index a1cb7b805..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_femoral_inguinal_48450.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ln_assessment_method_femoral_inguinal_48450", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Assessment Method Femoral-Inguinal", - "title" : "Lymph Nodes Assessment Method Femoral-Inguinal", - "description" : "This data item describes the method used to assess involvement of femoral-inguinal lymph nodes associated with certain female genital cancers.\n\nIn addition to assigning the N categories for vulva, vagina, and cervical cancers, the collection of specific lymph nodes and how they were assessed is important.\n* Status refers to positive or negative involvement\n* Assessment is the method by which the nodal status was determined\n\nThere are 3 related data items that collect assessment method information on regional lymph nodes, and 1 data item for distant lymph nodes. \n\nThe LN assessment data items collect how the lymph nodes were assessed for femoral-inguinal, para-aortic, and pelvic lymph nodes, and distant lymph nodes scalene and mediastinal. These related data items include\n* 3871: LN Assessment Method Femoral-Inguinal\n* 3872: LN Assessment Method Para-Aortic\n* 3873: LN Assessment Method Pelvic\n* 3874: LN Distant Assessment Method", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the femoral-inguinal assessment method can be used to code this data item when no other information is available.\n\n**Note 2:** **Lower third of vagina**\n* Code this data item for the lower third of the vagina only.\n* Code 9 for upper two thirds of the vagina, or unknown whether it’s the lower third or upper two thirds\n\n**Note 3:** **Femoral-inguinal nodes** \n* Femoral\n* Inguinal, NOS\n * Inguinofemoral (groin)\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial inguinal \n\n**Note 4:** **Isolated tumor cells**\n* For this data item, do not include isolated tumor cells (ITCs).\n\n**Note 5:** **Related data item**\n* The status of the lymph nodes is recorded in the related data item 3859: LN Status Femoral-Inguinal.", - "last_modified" : "2025-11-06T20:21:47.166Z", - "definition" : [ { - "key" : "ln_assessment_femoral", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Radiography, imaging \n(Ultrasound (US), computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))\n\nPhysical exam only" ], [ "1", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "2", "Lymphadenectomy\nSentinel node biopsy\nExcisional biopsy or resection with microscopic confirmation" ], [ "7", "Femoral-inguinal lymph node(s) assessed, unknown assessment method" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nFemoral-inguinal lymph node(s) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, physical exam, other statement in record", - "coding_guidelines" : "**1)** Assign the highest applicable code (0-2) in the case of multiple assessments for the **lower third of the vagina only**\n\n**2)** **Code 0** when there is physical exam or imaging only\n\n**3)** **Code 1** when there is an incisional biopsy or FNA\n\n**4)** **Code 2** when there is an excisional biopsy, sentinel lymph node biopsy, or lymph node resection\n\n**5)** **Code 7** when lymph nodes are assessed, but it is unknown how\n\n**6)** **Code 9** when\n* Primary site location is **upper two thirds of the vagina**, or **unknown** whether it's the lower third or upper two thirds\n* Not documented in medical record\n* Regional/Distant lymph nodes not evaluated (assessed)\n* Unknown if regional/distant lymph nodes evaluated (assessed)", - "rationale" : "This data item describes the method used to assess involvement of femoral-inguinal lymph nodes associated with certain female genital cancers." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_pelvic_vulva_10928.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_pelvic_vulva_10928.json deleted file mode 100644 index 4d443bda4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ln_assessment_method_pelvic_vulva_10928.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ln_assessment_method_pelvic_vulva_10928", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Assessment Method Pelvic Vulva", - "title" : "Lymph Nodes Assessment Method Pelvic", - "description" : "This data item describes the method used to assess involvement of pelvic lymph nodes associated with certain female genital cancers.\n\nIn addition to assigning the N categories for vulva, vagina, and cervical cancers, the collection of specific lymph nodes and how they were assessed is important.\n* Status refers to positive or negative involvement\n* Assessment is the method by which the nodal status was determined\n\nThere are 3 related data items that collect assessment method information on regional lymph nodes, and 1 data item for distant lymph nodes. \n\nThe LN assessment data items collect how the lymph nodes were assessed for femoral-inguinal, para-aortic, and pelvic lymph nodes, and distant lymph nodes scalene and mediastinal. These related data items include\n\n* 3871: LN Assessment Method Femoral-Inguinal\n* 3872: LN Assessment Method Para-Aortic\n* 3873: LN Assessment Method Pelvic\n* 3874: LN Distant Assessment Method", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of pelvic status can be used to code this data item when no other information is available. \n\n**Note 2:** **Vulva and pelvic lymph nodes**\n* For Vulva, pelvic lymph nodes are distant \n\n**Note 3:** **Pelvic lymph nodes** \n* Iliac, NOS\n * Common\n * External\n * Internal (hypogastric) (obturator)\n* Paracervical\n* Parametrial\n* Pelvic, NOS\n* Sacral, NOS\n * Lateral (laterosacral)\n * Middle (promontorial) (Gerota’s node)\n * Uterosacral\n\n**Note 4:** **Isolated tumor cells**\n* For this data item, do not include isolated tumor cells (ITCs).\n\n**Note 5:** **Related data item**\n* The status of the lymph nodes is recorded in the related data item 3957: LN Status: Pelvic", - "last_modified" : "2025-11-06T20:12:07.010Z", - "definition" : [ { - "key" : "ln_assessment_pelvic", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Radiography, imaging \n(Ultrasound (US), computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))\n\nPhysical exam only" ], [ "1", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "2", "Lymphadenectomy\nSentinel node biopsy\nExcisional biopsy or resection with microscopic confirmation" ], [ "7", "Pelvic lymph node(s) assessed, unknown assessment method" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nPelvic lymph node(s) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, physical exam, other statement in record", - "coding_guidelines" : "**1)** Assign the highest applicable code (0-2) in the case of multiple assessments\n\n**2)** **Code 0** when there is physical exam or imaging only\n\n**3)** **Code 1** when there is an incisional biopsy or FNA\n\n**4)** **Code 2** when there is an excisional biopsy, sentinel lymph node biopsy, or lymph node resection\n\n**5)** **Code 7** when lymph nodes are assessed, but it is unknown how\n\n**6)** **Code 9** when\n* Not documented in medical record\n* Regional/Distant lymph nodes not evaluated (assessed)\n* Unknown if regional/distant lymph nodes evaluated (assessed)", - "rationale" : "Method of assessment of regional nodal status is listed as a Registry Data Collection Variable in the AJCC GYN chapters. This data item was previously collected as Vulva, SSF #13." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ln_size_70140.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_size_70140.json deleted file mode 100644 index 2e739a869..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ln_size_70140.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "ln_size_70140", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Size", - "title" : "LN Size", - "subtitle" : "Lymph Nodes Size", - "description" : "Lymph Node Size records the largest diameter of any involved regional lymph node(s). Pathological measurement takes precedence over a clinical measurement for the same node.\n\nThis data item is used to code the size of involved lymph nodes and is recorded in millimeters.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Lymph Nodes Size can be used to code this data item when no other information is available. \n\n**Note 2:** **Criteria for coding LN size** \n* The metric is the **size of the largest tumor deposit** in the lymph node, not the size of the overall lymph node that is involved. \n* For larger nodes however, the size of the deposit becomes essentially the size of the overall lymph node as the nodes become almost entirely overtaken with tumor. \n* Code the size of the largest deposit if pathology reports separately list the size of a deposit and the size of the overall lymph node that the deposit is involving.\n\n**Note 3:** **Clinical vs Pathological size** \n* Code the **clinical node size** when the largest involved node is not examined pathologically.\n* Code the **pathological node size** when the largest involved node (or same level) is examined clinically and pathologically, even if the pathological size is smaller.\n* Code the **size of the largest deposit** when the pathology report separately lists the size of a deposit and the size of the overall lymph node that the deposit is involving. \n * ***Example:*** Clinical evaluation shows 1.5 cm (15 mm) Level II lymph node, pathological examination shows positive Level II node 1.3 cm (13 mm), with size of largest nodal deposit 1.3 mm\n * Code 13.0.\n\n**Note 4:** **Regional vs. distant nodes**\n* Do not code the size of any distant nodes.", - "last_modified" : "2025-11-06T17:03:25.965Z", - "definition" : [ { - "key" : "ln_size_of_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "No regional lymph node involvement\nNon-invasive neoplasm (behavior /2)" ], [ "0.1-99.9", "0.1 - 99.9 millimeters (mm)\n(Exact size of lymph node to nearest tenth of a mm)" ], [ "XX.1", "100 millimeters (mm) or greater" ], [ "XX.2", "Microscopic focus or foci only and no size of focus given" ], [ "XX.3", "Described as \"less than 1 centimeter (cm)\" or \"subcentimeter\"" ], [ "XX.4", "Described as \"at least\" 2 cm" ], [ "XX.5", "Described as \"at least\" 3 cm" ], [ "XX.6", "Described as \"at least\" 4 cm" ], [ "XX.7", "Described as greater than 5 cm" ], [ "XX.8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code XX.8 will result in an edit error)" ], [ "XX.9", "Not documented in medical record\nRegional lymph node(s) involved, size not stated\nLymph Nodes Size not assessed, or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging reports, physical exam\n\n**Other names include** ENE, extracapsular extension, ECE\n\n**For further information**, refer to the **Head and Neck** cancer protocols published by the College of American Pathologist for the AJCC Staging Systems for *Head and Neck*.", - "coding_guidelines" : "**1)** Code the largest size in millimeters of any involved regional lymph nodes for head and neck (cervical lymph nodes). The measurement can be pathological, if available, or clinical. **See note 3.**\n * Record size in millimeters\n\n**2)** **Code 0.0** when no regional lymph nodes are involved\n\n**3)** **Code XX.1** for 100 millimeters (10 cm) or greater\n\n**4)** **Code XX.2** for microscopic focus or foci only and no size of focus given\n\n**5)** **Code XX.3** for lymph node met less than 1 cm (10 mm)\n * Lymph node described as “subcentimeter”\n\n**6) Code XX.9** when\n * Positive lymph nodes but size not stated\n * No information about regional lymph nodes\n * Lymph nodes not assessed or unknown if assessed\n\n**7)** In order to align with the CAP guidelines, additional codes have been added for “at least” categories which are used in the CAP protocols. Only use these codes when the pathologist has used this terminology to indicate the lymph node size. \n* **XX.4:** Describes a lymph node size at least 2 cm (20 mm)\n* **XX.5:** Described a lymph node size at least 3 cm (30 mm)\n* **XX.6:** Describes a lymph node size at least 4 cm (40 mm)\n* **XX.7:** Describes a lymph node size 5 cm (50 mm) or greater", - "rationale" : "Lymph Nodes Size is a Registry Data Collection Variable in AJCC for several chapters. It was previously collected in the Head and Neck chapters as Size of Lymph Nodes, SSF #1." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_13374.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_13374.json deleted file mode 100644 index b87431218..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_13374.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ln_status_femoral_inguinal_13374", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Status: Femoral-Inguinal", - "title" : "LN Status: Femoral-Inguinal", - "description" : "This data item describes the status of femoral-inguinal lymph nodes associated with certain female genital cancers.\n\nIn addition to assigning the N categories for vulva, vagina, and cervical cancers, the collection of specific lymph nodes and how they were assessed is important.\n* Status refers to positive or negative involvement\n* Assessment is the method by which the nodal status was determined\nThere are 3 related data items that collect status information on regional lymph nodes, 1 data item for distant lymph nodes, and 1 data item for laterality. \n\nThe LN status data items collect the individual status (positive, negative, unknown) involvement of femoral-inguinal, para-aortic, and pelvic lymph nodes. These related data items include\n* 3957: LN Status: Pelvic\n* 3958: LN Status: Para-Aortic\n* 3959: LN Status: Femoral-Inguinal\n* 3875: LN Distant: Mediastinal, Scalene\n* 3831: LN Laterality", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the femoral-inguinal status can be used to code this data item when no other information is available.\n\n**Note 2:** **Femoral-inguinal nodes** \n* Femoral\n* Inguinal, NOS\n * Inguinofemoral (groin)\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial inguinal \n\n**Note 3:** **Isolated tumor cells**\n* For this data item, do not include isolated tumor cells (ITCs).\n\n**Note 4:** **Related data item**\n* The assessment method is recorded in the related data item 3871: LN Assessment Method Femoral-Inguinal.", - "last_modified" : "2025-02-24T16:47:05.361Z", - "definition" : [ { - "key" : "ln_status_femoral_inguinal", - "name" : "LN Status Femoral-Inguinal", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Negative femoral-inguinal lymph nodes\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Positive femoral-inguinal lymph nodes" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nFemoral-Inguinal lymph node(s) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, physical exam, other statement in record", - "coding_guidelines" : "**1)** **Code 0** when\n* Non-invasive neoplasm (behavior /2) (in-situ)\n* All lymph nodes are negative and included an assessment of the femoral-inguinal lymph nodes\n* If there is no mention of femoral-inguinal lymph node involvement in the area being imaged, biopsied, or in the surgical field and there is no mention of involvement, then assume that the femoral-inguinal lymph nodes are negative.\n\n**2)** **Code 9** when\n* When there is no imaging, biopsy, surgical workup, or a physical exam only\n* Not documented in medical record\n* Regional/Distant lymph nodes not evaluated (assessed)\n* Unknown if regional/distant lymph nodes evaluated (assessed)", - "rationale" : "Specific regional lymph node involvement is listed as a Registry Data Collection Variable in AJCC. This information was previously collected as Vulva, SSF #14" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_vagina_64638.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_vagina_64638.json deleted file mode 100644 index aad9a81b7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_femoral_inguinal_vagina_64638.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ln_status_femoral_inguinal_vagina_64638", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Status: Femoral-Inguinal Vagina", - "title" : "LN Status: Femoral-Inguinal", - "description" : "This data item describes the status of femoral-inguinal lymph nodes associated with certain female genital cancers.\n\nIn addition to assigning the N categories for vulva, vagina, and cervical cancers, the collection of specific lymph nodes and how they were assessed is important.\n* Status refers to positive or negative involvement\n* Assessment is the method by which the nodal status was determined\n\nThere are 3 related data items that collect status information on regional lymph nodes, 1 data item for distant lymph nodes, and 1 data item for laterality. \n\nThe LN status data items collect the individual status (positive, negative, unknown) involvement of femoral-inguinal, para-aortic, and pelvic lymph nodes, and distant lymph nodes mediastinal and scalene. These related data items include \n\n* 3957: LN Status: Pelvic\n* 3958: LN Status: Para-Aortic\n* 3959: LN Status: Femoral-Inguinal\n* 3875: LN Distant: Mediastinal, Scalene", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the femoral-inguinal status can be used to code this data item when no other information is available.\n\n**Note 2:** **Lower third of vagina**\n* Code this data item for the lower third of the vagina only.\n* Code 9 for upper two thirds of the vagina, or unknown whether it’s the lower third or upper two thirds\n\n**Note 3:** **Femoral-inguinal nodes** \n* Femoral\n* Inguinal, NOS\n * Inguinofemoral (groin)\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial inguinal \n\n**Note 4:** **Isolated tumor cells**\n* For this data item, do not include isolated tumor cells (ITCs).\n\n**Note 5:** **Related data item**\n* The assessment method is recorded in the related data item 3871: LN Assessment Method Femoral-Inguinal.", - "last_modified" : "2025-11-06T20:14:58.969Z", - "definition" : [ { - "key" : "ln_status_femoral_inguinal", - "name" : "LN Status Femoral-Inguinal", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Negative femoral-inguinal lymph nodes\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Positive femoral-inguinal lymph nodes" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nFemoral-Inguinal lymph node(s) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, physical exam, other statement in record", - "coding_guidelines" : "**1)** Code this data item for the **lower third of the vagina** only.\n\n**2)** **Code 0** when \n* Non-invasive neoplasm (behavior /2) (in-situ)\n* All lymph nodes are negative and included an assessment of the femoral-inguinal lymph nodes\n* If there is no mention of femoral-inguinal lymph node involvement in the area being imaged, biopsied, or in the surgical field and there is no mention of involvement, then assume that the femoral-inguinal lymph nodes are negative\n\n**3)** **Code 9** when\n* Primary site location is **upper two thirds of the vagina**, or **unknown** whether it's the lower third or upper two thirds\n* When there is no imaging, biopsy, surgical workup, or a physical exam only\n* Not documented in medical record\n* Regional/Distant lymph nodes not evaluated (assessed)\n* Unknown if regional/distant lymph nodes evaluated (assessed)", - "rationale" : "Specific regional lymph node involvement is listed as a Registry Data Collection Variable in AJCC. This information was previously collected as Vulva, SSF #14 and is now collected in Vagina." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_para_aortic_41020.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_para_aortic_41020.json deleted file mode 100644 index d9ceedf95..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_para_aortic_41020.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ln_status_para_aortic_41020", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Status: Para-aortic", - "title" : "LN Status: Para-aortic", - "description" : "This data item describes the status of para-aortic lymph nodes associated with certain female genital cancers.\n\nIn addition to assigning the N categories for vulva, vagina, and cervical cancers, the collection of specific lymph nodes and how they were assessed is important.\n* Status refers to positive or negative involvement\n* Assessment is the method by which the nodal status was determined\n\nThere are 3 related data items that collect status information on regional lymph nodes, 1 data item for distant lymph nodes, and 1 data item for laterality. \n\nThe LN status data items collect the individual status (positive, negative, unknown) involvement of femoral-inguinal, para-aortic, and pelvic lymph nodes, and distant lymph nodes mediastinal and scalene. These related data items include \n\n* 3957: LN Status: Pelvic\n* 3958: LN Status: Para-Aortic\n* 3959: LN Status: Femoral-Inguinal\n* 3875: LN Distant: Mediastinal, Scalene", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of para-aortic status can be used to code this data item when no other information is available. \n\n**Note 2:** **Para-aortic lymph nodes**\n* Aortic\n* Lateral aortic/lumbar aortic\n* Para-aortic, NOS\n* Periaortic\n\n**Note 3:** **Isolated tumor cells**\n* For this data item, do not include isolated tumor cells (ITCs).\n\n**Note 4:** **Related data item**\n* The assessment method is recorded in the related data item 3872: LN Assessment Method Para-aortic.", - "last_modified" : "2025-03-24T16:04:51.508Z", - "definition" : [ { - "key" : "ln_status_para_aortic", - "name" : "LN Status: Para-aortic", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Negative para-aortic lymph nodes\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Positive para-aortic lymph nodes" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nPara-aortic lymph node(s) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, physical exam, other statement in record", - "coding_guidelines" : "**1)** **Code 0** when \n* Non-invasive neoplasm (behavior /2) (in-situ)\n* All lymph nodes are negative and included an assessment of the para-aortic lymph nodes\n* If there is no mention of para-aortic lymph node involvement in the area being imaged, biopsied, or in the surgical field and there is no mention of involvement, then assume that the para-aortic lymph nodes are negative\n\n**2)** **Code 9** when\n* When there is no imaging, biopsy, surgical workup, or a physical exam only\n* Not documented in medical record\n* Regional/Distant lymph nodes not evaluated (assessed)\n* Unknown if regional/distant lymph nodes evaluated (assessed)", - "rationale" : "Specific regional lymph node involvement is listed as a Registry Data Collection Variable in AJCC. This information was previously collected as Vagina SSF #4" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_31753.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_31753.json deleted file mode 100644 index fcd06de6f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_31753.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ln_status_pelvic_31753", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Status: Pelvic", - "title" : "LN Status: Pelvic", - "description" : "This data item describes the status of pelvic lymph nodes associated with certain female genital cancers.\n\nThis data item describes the status of pelvic lymph nodes associated with certain female genital cancers.\nIn addition to assigning the N categories for vulva, vagina, and cervical cancers, the collection of specific lymph nodes and how they were assessed is important.\n* Status refers to positive or negative involvement\n* Assessment is the method by which the nodal status was determined\n\nThere are 3 related data items that collect status information on regional lymph nodes, 1 data item for distant lymph nodes, and 1 data item for laterality. \n\nThe LN status data items collect the individual status (positive, negative, unknown) involvement of femoral-inguinal, para-aortic, and pelvic lymph nodes, and distant lymph nodes mediastinal and scalene. These related data items include \n\n* 3957: LN Status: Pelvic\n* 3958: LN Status: Para-Aortic\n* 3959: LN Status: Femoral-Inguinal\n* 3875: LN Distant: Mediastinal, Scalene", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of pelvic status can be used to code this data item when no other information is available. \n\n**Note 2:** **Pelvic lymph nodes** \n* Iliac, NOS\n * Common\n * External\n * Internal (hypogastric) (obturator)\n* Paracervical\n* Parametrial\n* Pelvic, NOS\n* Sacral, NOS\n * Lateral (laterosacral)\n * Middle (promontorial) (Gerota’s node)\n * Uterosacral\n\n\n**Note 3:** **Isolated tumor cells**\n* For this data item, do not include isolated tumor cells (ITCs).\n\n**Note 4:** **Related data item**\n* The assessment method is recorded in the related data item 3873: LN Assessment Method Pelvic.", - "last_modified" : "2025-05-30T12:28:05.638Z", - "definition" : [ { - "key" : "ln_status_pelvic", - "name" : "LN Status Pelvic", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Negative pelvic lymph nodes\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Positive pelvic lymph nodes" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nPelvic lymph node(s) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, physical exam, other statement in record", - "coding_guidelines" : "**1)** **Code 0** when \n* Non-invasive neoplasm (behavior /2) (in-situ)\n* All lymph nodes are negative and included an assessment of the pelvic lymph nodes\n* If there is no mention of pelvic lymph node involvement in the area being imaged, biopsied, or in the surgical field and there is no mention of involvement, then assume that the pelvic lymph nodes are negative\n\n**2)** **Code 9** when\n* When there is no imaging, biopsy, surgical workup, or a physical exam only\n* Not documented in medical record\n* Regional/Distant lymph nodes not evaluated (assessed)\n* Unknown if regional/distant lymph nodes evaluated (assessed)", - "rationale" : "Specific regional lymph node involvement is listed as a Registry Data Collection Variable in AJCC. This information was previously collected as Cervix, SSF #2 and Vagina, SSF # 2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_93438.json b/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_93438.json deleted file mode 100644 index c8c4bbc6a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ln_status_pelvic_93438.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "ln_status_pelvic_93438", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Status: Pelvic", - "title" : "LN Status: Pelvic", - "description" : "This data item describes the status of pelvic lymph nodes associated with certain female genital cancers.\n\nIn addition to assigning the N categories for vulva, vagina, and cervical cancers, the collection of specific lymph nodes and how they were assessed is important.\n* Status refers to positive or negative involvement\n* Assessment is the method by which the nodal status was determined\n\nThere are 3 related data items that collect status information on regional lymph nodes, 1 data item for distant lymph nodes, and 1 data item for laterality. \n\nThe LN status data items collect the individual status (positive, negative, unknown) involvement of femoral-inguinal, para-aortic, and pelvic lymph nodes, and distant lymph nodes mediastinal and scalene. These related data items include \n\n* 3957: LN Status: Pelvic\n* 3958: LN Status: Para-Aortic\n* 3959: LN Status: Femoral-Inguinal\n* 3875: LN Distant: Mediastinal, Scalene", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of pelvic status can be used to code this data item when no other information is available. \n\n**Note 2:** **Vulva and pelvic lymph nodes**\n* For Vulva, pelvic lymph nodes are distant \n\n**Note 3:** **Pelvic lymph nodes** \n* Iliac, NOS\n * Common\n * External\n * Internal (hypogastric) (obturator)\n* Paracervical\n* Parametrial\n* Pelvic, NOS\n* Sacral, NOS\n * Lateral (laterosacral)\n * Middle (promontorial) (Gerota’s node)\n * Uterosacral\n\n**Note 4:** **Isolated tumor cells**\n* For this data item, do not include isolated tumor cells (ITCs).\n\n**Note 5:** **Related data item**\n* The assessment method is recorded in the related data item 3873: LN Assessment Method Pelvic.", - "last_modified" : "2025-03-24T16:06:46.243Z", - "definition" : [ { - "key" : "ln_status_pelvic", - "name" : "LN Status Pelvic", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Negative pelvic lymph nodes\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Positive pelvic lymph nodes" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nPelvic lymph node(s) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, physical exam, other statement in record", - "coding_guidelines" : "**1)** **Code 0** when\n* Non-invasive neoplasm (behavior /2) (in-situ) \n* All lymph nodes are negative and included an assessment of the pelvic lymph nodes\n* If there is no mention of pelvic lymph node involvement in the area being imaged, biopsied, or in the surgical field and there is no mention of involvement, then assume that the pelvic lymph nodes are negative.\n\n**2)** **Code 9** when\n* When there is no imaging, biopsy, surgical workup, or a physical exam only\n* Not documented in medical record\n* Regional/Distant lymph nodes not evaluated (assessed)\n* Unknown if regional/distant lymph nodes evaluated (assessed)", - "rationale" : "Specific regional lymph node involvement is listed as a Registry Data Collection Variable in AJCC. This information was previously collected as Vulva, SSF #12" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_node_laterality_65685.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_node_laterality_65685.json deleted file mode 100644 index fbee43e83..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_node_laterality_65685.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_node_laterality_65685", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Laterality", - "title" : "Lymph Nodes Laterality", - "description" : "This data item describes whether positive regional lymph nodes are unilateral or bilateral.", - "notes" : "**Note:** **Physician Statement** \n* Physician statement of lymph node laterality can be used to code this data item when no other information is available.", - "last_modified" : "2025-11-06T20:12:38.870Z", - "definition" : [ { - "key" : "ln_laterality", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No regional lymph node involvement\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Unilateral - all positive regional nodes with same laterality\nOR only one regional node positive" ], [ "2", "Bilateral - positive bilateral regional lymph nodes" ], [ "3", "Laterality unknown - positive regional lymph nodes with unknown laterality" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nLymph node laterality not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, physical exam, other statement in record", - "coding_guidelines" : "**1)** Code the appropriate description of involved regional lymph nodes\n\n**2)** **Code 0** when all regional lymph nodes are negative\n\n**3)** **Code 1** when\n* All positive regional nodes are ipsilateral\n* Involved lymph nodes are described as unilateral\n* Only one regional node positive\n\n**4)** **Code 2** when\n* At least one regional lymph node is involved on each side of the body \n* Involvement is described as bilateral or contralateral\n\n**5)** **Code 3** when regional lymph node(s) are described as positive, but the laterality of the involved nodes is unknown\n\n**6)** **Code 9** when\n* Lymph nodes were not examined or assessed\n* There is no information in the medical record about regional lymph node involvement\n* The status of regional lymph nodes is unknown", - "rationale" : "Laterality of regional node metastasis is a Registry Data Collection Variable in AJCC. This data item was previously collected as Vulva, CS SSF #11." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_femoral_46948.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_femoral_46948.json deleted file mode 100644 index 1bb0775a5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_femoral_46948.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_assessment_method_femoral_46948", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Assessment Method Femoral-Inguinal", - "title" : "Lymph Nodes Assessment Method Femoral-Inguinal", - "description" : "This data item describes the method used to assess involvement of femoral-inguinal lymph nodes associated with certain female genital cancers.\n\nIn addition to assigning the N categories for vulva, vagina, and cervical cancers, the collection of specific lymph nodes and how they were assessed is important.\n* Status refers to positive or negative involvement\n* Assessment is the method by which the nodal status was determined\n\nThere are 3 related data items that collect assessment method information on regional lymph nodes, and 1 data item for distant lymph nodes. \n\nThe LN assessment data items collect how the lymph nodes were assessed for femoral-inguinal, para-aortic, and pelvic lymph nodes, and distant lymph nodes scalene and mediastinal. These related data items include\n* 3871: LN Assessment Method Femoral-Inguinal\n* 3872: LN Assessment Method Para-Aortic\n* 3873: LN Assessment Method Pelvic\n* 3874: LN Distant Assessment Method", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the femoral-inguinal assessment method can be used to code this data item when no other information is available.\n\n**Note 2:** **Femoral-inguinal nodes** \n* Femoral\n* Inguinal, NOS\n * Inguinofemoral (groin)\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial inguinal \n\n**Note 3:** **Isolated tumor cells**\n* For this data item, do not include isolated tumor cells (ITCs).\n\n**Note 4:** **Related data item**\n* The status of the lymph nodes is recorded in the related data item 3859: LN Status Femoral-Inguinal.", - "last_modified" : "2025-11-06T20:11:23.472Z", - "definition" : [ { - "key" : "ln_assessment_femoral", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Radiography, imaging \n(Ultrasound (US), computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))\n\nPhysical exam only" ], [ "1", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "2", "Lymphadenectomy\nSentinel node biopsy\nExcisional biopsy or resection with microscopic confirmation" ], [ "7", "Femoral-inguinal lymph node(s) assessed, unknown assessment method" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nFemoral-inguinal lymph node(s) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, physical exam, other statement in record", - "coding_guidelines" : "**1)** Assign the highest applicable code (0-2) in the case of multiple assessments\n\n**2)** **Code 0** when there is physical exam or imaging only\n\n**3)** **Code 1** when there is an incisional biopsy or FNA\n\n**4)** **Code 2** when there is an excisional biopsy or lymph node resection\n\n**5)** **Code 7** when lymph nodes are assessed, but it is unknown how\n\n**6)** **Code 9** when\n* Not documented in medical record\n* Regional/Distant lymph nodes not evaluated (assessed)\n* Unknown if regional/distant lymph nodes evaluated (assessed)", - "rationale" : "Method of assessment of regional nodal status is listed as a Registry Data Collection Variable in the AJCC GYN chapters. This data item was previously collected as Vulva, SSF #15." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_para_aortic_56026.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_para_aortic_56026.json deleted file mode 100644 index c87ee0d33..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_para_aortic_56026.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_assessment_method_para_aortic_56026", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Assessment Method Para-aortic", - "title" : "Lymph Nodes Assessment Method Para-aortic", - "description" : "This data item describes the method used to assess involvement of para-aortic lymph nodes associated with certain female genital cancers.\n\nIn addition to assigning the N categories for vulva, vagina, and cervical cancers, the collection of specific lymph nodes and how they were assessed is important.\n* Status refers to positive or negative involvement\n* Assessment is the method by which the nodal status was determined\n\nThere are 3 related data items that collect assessment method information on regional lymph nodes, and 1 data item for distant lymph nodes. \n\nThe LN assessment data items collect how the lymph nodes were assessed for femoral-inguinal, para-aortic, and pelvic lymph nodes, and distant lymph nodes scalene and mediastinal. These related data items include\n* 3871: LN Assessment Method Femoral-Inguinal\n* 3872: LN Assessment Method Para-Aortic\n* 3873: LN Assessment Method Pelvic\n* 3874: LN Distant Assessment Method", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of para-aortic assessment method can be used to code this data item when no other information is available. \n\n**Note 2:** **Para-aortic lymph nodes**\n* Aortic\n* Lateral aortic/lumbar aortic\n* Para-aortic, NOS\n* Periaortic\n\n**Note 3:** **Isolated tumor cells**\n* For this data item, do not include isolated tumor cells (ITCs).\n\n**Note 4:** **Related data item**\n* The status of the lymph nodes is recorded in the related data item 3959: LN Status Para-aortic.", - "last_modified" : "2025-11-06T20:16:19.425Z", - "definition" : [ { - "key" : "ln_assessment_para_aortic", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Radiography, imaging \n(Ultrasound (US), computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))\n\nPhysical exam only" ], [ "1", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "2", "Lymphadenectomy\nSentinel node biopsy\nExcisional biopsy or resection with microscopic confirmation" ], [ "7", "Para-aortic lymph node(s) assessed, unknown assessment method" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nPara-aortic lymph node(s) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, physical exam, other statement in record", - "coding_guidelines" : "**1** Assign the highest applicable code (0-2) in the case of multiple assessments\n\n**2)** **Code 0** when there is physical exam or imaging only\n\n**3)** **Code 1** when there is an incisional biopsy or FNA\n\n**4)** **Code 2** when there is an excisional biopsy, sentinel lymph node biopsy, or lymph node resection\n\n**5)** **Code 7** when lymph nodes are assessed, but it is unknown how\n\n**6)** **Code 9** when\n* Not documented in medical record\n* Regional/Distant lymph nodes not evaluated (assessed)\n* Unknown if regional/distant lymph nodes evaluated (assessed)", - "rationale" : "Method of assessment of regional nodal status is listed as a Registry Data Collection Variable in the AJCC GYN chapters. This data item was previously collected as Vagina, CS SSF #5." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_pelvic_33476.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_pelvic_33476.json deleted file mode 100644 index d0b53b7b6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_assessment_method_pelvic_33476.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_assessment_method_pelvic_33476", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Assessment Method Pelvic", - "title" : "Lymph Nodes Assessment Method Pelvic", - "description" : "This data item describes the method used to assess involvement of pelvic lymph nodes associated with certain female genital cancers.\n\nIn addition to assigning the N categories for vulva, vagina, and cervical cancers, the collection of specific lymph nodes and how they were assessed is important.\n* Status refers to positive or negative involvement\n* Assessment is the method by which the nodal status was determined\n\nThere are 3 related data items that collect assessment method information on regional lymph nodes, and 1 data item for distant lymph nodes. \n\nThe LN assessment data items collect how the lymph nodes were assessed for femoral-inguinal, para-aortic, and pelvic lymph nodes, and distant lymph nodes scalene and mediastinal. These related data items include\n\n* 3871: LN Assessment Method Femoral-Inguinal\n* 3872: LN Assessment Method Para-Aortic\n* 3873: LN Assessment Method Pelvic\n* 3874: LN Distant Assessment Method", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of pelvic assessment method can be used to code this data item when no other information is available. \n\n**Note 2:** **Pelvic lymph nodes** \n* Iliac, NOS\n * Common\n * External\n * Internal (hypogastric) (obturator)\n* Paracervical\n* Parametrial\n* Pelvic, NOS\n* Sacral, NOS\n * Lateral (laterosacral)\n * Middle (promontorial) (Gerota’s node)\n * Uterosacral\n\n**Note 3:** **Isolated tumor cells**\n* For this data item, do not include isolated tumor cells (ITCs).\n\n**Note 4:** **Related data item**\n* The status of the lymph nodes is recorded in the related data item 3959: LN Status Pelvic.", - "last_modified" : "2025-11-06T20:17:00.773Z", - "definition" : [ { - "key" : "ln_assessment_pelvic", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Radiography, imaging \n(Ultrasound (US), computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))\n\nPhysical exam only" ], [ "1", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "2", "Lymphadenectomy\nSentinel node biopsy\nExcisional biopsy or resection with microscopic confirmation" ], [ "7", "Pelvic lymph node(s) assessed, unknown assessment method" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nPelvic lymph node(s) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, physical exam, other statement in record", - "coding_guidelines" : "**1)** Assign the highest applicable code (0-2) in the case of multiple assessments\n\n**2)** **Code 0** when there is physical exam or imaging only\n\n**3)** **Code 1** when there is an incisional biopsy or FNA\n\n**4)** **Code 2** when there is an excisional biopsy, sentinel lymph node biopsy, or lymph node resection\n\n**5)** **Code 7** when lymph nodes are assessed, but it is unknown how\n\n**6)** **Code 9** when\n* Not documented in medical record\n* Regional/Distant lymph nodes not evaluated (assessed)\n* Unknown if regional/distant lymph nodes evaluated (assessed)", - "rationale" : "Specific regional lymph node involvement is listed as a Registry Data Collection Variable in AJCC. This information was previously collected as Cervix, SSF #2 and Vagina, SSF # 2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_assessment_method_24499.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_assessment_method_24499.json deleted file mode 100644 index 65dc3c5f1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_assessment_method_24499.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_distant_assessment_method_24499", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Distant Assessment Method", - "title" : "Lymph Nodes Distant Assessment Method", - "description" : "This data item describes the method used to assess involvement of Distant (mediastinal, scalene) nodes associated with certain female genital cancers.\n\nIn addition to assigning the N categories for vulva, vagina, and cervical cancers, the collection of specific lymph nodes and how they were assessed is important.\n* Status refers to positive or negative involvement\n* Assessment is the method by which the nodal status was determined\n\nThere are 3 related data items that collect assessment method information on regional lymph nodes, and 1 data item for distant lymph nodes. \n\nThe LN assessment data items collect how the lymph nodes were assessed for femoral-inguinal, para-aortic, and pelvic lymph nodes, and distant lymph nodes scalene and mediastinal. These related data items include\n* 3871: LN Assessment Method Femoral-Inguinal\n* 3872: LN Assessment Method Para-Aortic\n* 3873: LN Assessment Method Pelvic\n* 3874: LN Distant Assessment Method", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Mediastinal and Scalene assessment method can be used to code this data item when no other information is available.\n\n**Note 2:** **Related data item** \n* The status of the lymph nodes is recorded in the related data item 3875: LN Distant: Mediastinal, Scalene.", - "last_modified" : "2025-11-06T20:17:43.564Z", - "definition" : [ { - "key" : "ln_distant_assessment", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Radiography, imaging \n(Ultrasound (US), computed tomography scan (CT), magnetic resonance imaging (MRI), positron emission tomography scan (PET))\n\nPhysical exam only" ], [ "1", "Incisional biopsy; fine needle aspiration (FNA)" ], [ "2", "Lymphadenectomy\nExcisional biopsy or resection with microscopic confirmation" ], [ "7", "Distant lymph node(s) assessed, unknown assessment method" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nDistant lymph node(s) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, physical exam, other statement in record", - "coding_guidelines" : "**1)** Assign the highest applicable code (0-2) in the case of multiple assessments\n\n**2)** **Code 0** when there is physical exam or imaging only\n\n**3)** **Code 1** when there is an incisional biopsy or FNA\n\n**4)** **Code 2** when there is an excisional biopsy, sentinel lymph node biopsy, or lymph node resection\n\n**5)** **Code 7** when lymph nodes are assessed, but it is unknown how\n\n**6)** **Code 9** when\n* Not documented in medical record\n* Regional/Distant lymph nodes not evaluated (assessed)\n* Unknown if regional/distant lymph nodes evaluated (assessed)", - "rationale" : "Method of assessment of distant nodal status is listed as a Registry Data Collection Variable in the AJCC GYN chapters. This data item was previously collected as Vagina, CS SSF #7." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_mediastinal_scalene_90567.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_mediastinal_scalene_90567.json deleted file mode 100644 index ae2af6d0d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_distant_mediastinal_scalene_90567.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_distant_mediastinal_scalene_90567", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Distant: Mediastinal, Scalene", - "title" : "Lymph Nodes Distant: Mediastinal, Scalene", - "description" : "This data item describes the status of Distant (mediastinal, scalene) nodes associated with certain female genital cancers.\n\nIn addition to assigning the N categories for vulva, vagina, and cervical cancers, the collection of specific lymph nodes and how they were assessed is important.\n* Status refers to positive or negative involvement\n* Assessment is the method by which the nodal status was determined\n\nThere are 3 related data items that collect status information on regional lymph nodes, 1 data item for distant lymph nodes, and 1 data item for laterality. \n\nThe LN status data items collect the individual status (positive, negative, unknown) involvement of femoral-inguinal, para-aortic, and pelvic lymph nodes, and distant lymph nodes mediastinal and scalene. These related data items include \n\n* 3957: LN Status: Pelvic\n* 3958: LN Status: Para-Aortic\n* 3959: LN Status: Femoral-Inguinal\n* 3875: LN Distant: Mediastinal, Scalene", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of mediastinal and scalene nodal status can be used to code this data item when no other information is available.\n\n**Note 2:** **Related data item** \n* The assessment method is recorded in the related data item 3874: LN Distant Assessment Method.", - "last_modified" : "2025-03-24T16:08:42.826Z", - "definition" : [ { - "key" : "ln_distant_mediastinal_scalene", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Negative mediastinal and scalene lymph nodes\n\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Positive mediastinal lymph nodes" ], [ "2", "Positive scalene lymph nodes" ], [ "3", "Positive mediastinal and scalene lymph nodes" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nMediastinal and scalene lymph node(s) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, physical exam, other statement in record", - "coding_guidelines" : "**1)** **Code 0** when \n* Non-invasive neoplasm (behavior /2) (in-situ)\n* All lymph nodes are negative and included an assessment of the mediastinal and scalene lymph nodes\n* If there is no mention of mediastinal or scalene lymph node involvement in the area being imaged, biopsied, or in the surgical field and there is no mention of involvement, then assume that the mediastinal and scale lymph nodes are negative\n\n**2)** **Code 9** when\n* When there is no imaging, biopsy, surgical workup, or a physical exam only\n* Not documented in medical record\n* Regional/Distant lymph nodes not evaluated (assessed)\n* Unknown if regional/distant lymph nodes evaluated (assessed)", - "rationale" : "Specific distant lymph node involvement is listed as a Registry Data Collection Variable in the AJCC. This data was previously collected as Vagina, CS SSF #6." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_i_iii_19222.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_i_iii_19222.json deleted file mode 100644 index e8af40e73..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_i_iii_19222.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_head_and_neck_levels_i_iii_19222", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Head and Neck Levels I-III", - "title" : "Lymph Nodes Head and Neck Levels I-III", - "description" : "Lymph Nodes for Head and Neck, Levels I-III records the involvement of Levels I-III lymph nodes.\n\nThis data item is used to code the presence or absence of lymph node involvement in head and neck levels I-III. The definitions of the levels are the same for all applicable head and neck sites. \n* **Note:** This data item was previously collected for all head and neck sites. It is now only clinically relevant for unknown head and neck primaries with positive cervical (head and neck) lymph nodes and mucosal melanomas of the head and neck.\n\n**Level I** is subdivided into levels IA and IB, which contain the submental and submandibular triangles bounded by the anterior and posterior bellies of the digastric muscle, the hyoid bone inferiorly, and the body of the mandible superiorly. Lymph node chains at this level:\n* Submental (Level IA), submandibular (Level IB), submaxillary (Level IB)\n\n**Level II** is subdivided into levels IIA and IIB, which contain the upper jugular lymph nodes and extend from the level of the skull base superiorly to the hyoid bone inferiorly. A vertical plane defined by the spinal accessory nerve is the boundary between level IIA (anterior to spinal accessory nerve) and IIB (posterior to spinal accessory nerve). Lymph node chains at this level:\n* Jugulodigastric (subdigastric), upper deep cervical, upper jugular\n\n**Level III** contains the middle jugular lymph nodes from the hyoid bone superiorly to the level of the lower border of the cricoid cartilage inferiorly. Lymph node chains at this level:\n* Middle deep cervical, mid-jugular", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Levels I-III lymph node involvement can be used to code this data item when no other information is available.\t\n\n**Note 2:** **Related data items** \n* 3876: LN Head and Neck Levels I-III \n* 3877: LN Head and Neck Levels IV-V \n* 3878: LN Head and Neck Levels VI-VII \n* 3879: LN Head and Neck Other \n\n**Note 3:** **Priority order**\n* Pathological information takes priority over clinical.", - "last_modified" : "2025-11-06T17:08:13.650Z", - "definition" : [ { - "key" : "ln_hn_1_2_3", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No involvement in Levels I, II, or III lymph nodes\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Level I lymph node(s) involved" ], [ "2", "Level II lymph node(s) involved" ], [ "3", "Level III lymph node(s) involved" ], [ "4", "Levels I and II lymph nodes involved" ], [ "5", "Levels I and III lymph nodes involved" ], [ "6", "Levels II and III lymph nodes involved" ], [ "7", "Levels I, II and III lymph nodes involved" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error)" ], [ "9", "Not documented in medical record\nPositive nodes, but level of positive node(s) unknown\nLymph node levels I-III not assessed, or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging\n\nFor more information on **Head and Neck levels**, see AJCC 8th edition, Chapter 5: Staging Head and Neck Cancers, Table 5.1.", - "coding_guidelines" : "**1)** Code all applicable levels that are involved\n* ***Example:*** A carcinoma of the base of tongue involves bilateral submandibular nodes and left upper, mid-, and lower jugular nodes, the largest measuring 4 cm. There is no extracapsular extension. These are level I, II, III, and IV lymph nodes according to AJCC definitions. \n * Levels I-III: Code 7 (Levels I, II and III lymph nodes involved) to show that levels I, II, and III are involved\n * Levels IV-V: Code 1 to show that level IV is involved\n * Levels VI-VII: Code 0 for no other nodes involved\n * Head and Neck, Other: Code 0 for no other nodes involved\n\n**2)** If information is available on some nodes, but the others are unknown, code what is known. \n* ***Example:*** Multiple lymph nodes involved, level II documented, but the other levels not mentioned. Code 2 to indicate level II involvement.\n\n**3)** If a lymph node is described as involving two levels, or documented as a range, code both levels.\n* ***Example:*** Physical examination for a floor of mouth cancer describes a large lymph node mass low in level II stretching into Level III. Code 6 for Levels II-III because both Level II and Level III are mentioned.\n\n**4)** Code 9 when the only information available is “Regional nodes, NOS” or “Cervical nodes, NOS” or “Internal jugular nodes, NOS” or “Lymph nodes, NOS. In other words, if regional nodes are known to be positive but the level(s) of nodes involved is unknown, code 9.\n* ***Example:*** Patient diagnosed elsewhere with carcinoma of oropharynx with cervical lymph node involvement. No other information available. All Head and Neck Level data items are coded to 9 since there is no specific information about the levels. \n * Levels I-III: Code 9\n * Levels IV-V: Code 9\n * Levels VI-VII: Code 9\n * Head and Neck, Other: Code 9", - "rationale" : "Level of nodal involvement is a Registry Data Collection Variable in AJCC for several head and neck chapters. This data item was previously collected as Head and Neck SSF #3 (common SSF)." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_iv_v_55093.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_iv_v_55093.json deleted file mode 100644 index de96f6c47..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_iv_v_55093.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_head_and_neck_levels_iv_v_55093", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Head and Neck Levels IV-V", - "title" : "Lymph Nodes Head and Neck Levels IV-V", - "description" : "Lymph Nodes for Head and Neck, Levels IV-V records the involvement of Levels IV-V lymph nodes.\n\nThis data item is used to code the presence or absence of lymph node involvement in head and neck levels I-III. The definitions of the levels are the same for all applicable head and neck sites. \n* Note: This data item was previously collected for all head and neck sites. It is now only clinically relevant for unknown head and neck primaries with positive cervical (head and neck) lymph nodes and mucosal melanomas of the head and neck.\n\n**Level IV** contains the lower jugular lymph nodes from the level of the cricoid cartilage superiorly to the clavicle inferiorly. Lymph node chains at this level:\n* Jugulo-omohyoid (supraomohyoid), lower deep cervical, lower jugular\n\n**Level V** is subdivided into levels VA and VB, which contain the lymph nodes in the posterior triangle bounded by the anterior border of the trapezius muscle posteriorly, the posterior border of the sternocleidomastoid muscle anteriorly, and the clavicle inferiorly. For descriptive purposes, Level V may be further subdivided into upper (VA) and lower (VB) levels corresponding to a plane defined by the inferior border of the cricoid cartilage. Lymph node chains at this level:\n* Posterior cervical, posterior triangle (spinal accessory, transverse cervical [upper, middle, and lower, corresponding to the levels that define upper, middle, and lower jugular nodes]), supraclavicular", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Levels IV-V lymph node involvement can be used to code this data item when no other information is available.\n\n**Note 2:** **Related data items** \n* 3876: LN Head and Neck Levels I-III \n* 3877: LN Head and Neck Levels IV-V \n* 3878: LN Head and Neck Levels VI-VII \n* 3879: LN Head and Neck Other \n\n**Note 3:** **Priority order**\n* Pathological information takes priority over clinical.\n\n**Note 4:** **Supraclavicular nodes** \n* If lymph nodes are described only as “supraclavicular,” try to determine if they are in Level IV (deep to the sternocleidomastoid muscle, in the lower jugular chain) or Level V (in the posterior triangle, inferior to the transverse cervical artery) and code appropriately. \n * If the specific level cannot be determined, or is documented as supraclavicular with no further information, code them as Level V nodes\n\n**Note 5:** **Priority order**\n* Pathological information takes priority over clinical.", - "last_modified" : "2025-11-05T21:32:30.696Z", - "definition" : [ { - "key" : "ln_hn_4_5", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No involvement in Levels I, II, or III lymph nodes\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Level IV lymph node(s) involved" ], [ "2", "Level V lymph node(s) involved" ], [ "3", "Levels IV and V lymph node(s) involved" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error)" ], [ "9", "Not documented in medical record\nPositive nodes, but level of positive node(s) unknown\nLymph node levels IV-V not assessed, or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging\n\nFor more information on **Head and Neck levels**, see AJCC 8th edition, Chapter 5: Staging Head and Neck Cancers, Table 5.1.", - "coding_guidelines" : "**1)** Code all applicable levels that are involved\n* ***Example:*** A carcinoma of the base of tongue involves bilateral submandibular nodes and left upper, mid-, and lower jugular nodes, the largest measuring 4 cm. There is no extracapsular extension. These are level I, II, III, and IV lymph nodes according to AJCC definitions. \n * Levels I-III: Code 7 (Levels I, II and III lymph nodes involved) to show that levels I, II, and III are involved\n * Levels IV-V: Code 1 to show that level IV is involved\n * Levels VI-VII: Code 0 for no other nodes involved\n * Head and Neck, Other: Code 0 for no other nodes involved\n\n**2)** If information is available on some nodes, but the others are unknown, code what is known. \n* ***Example:*** Multiple lymph nodes involved, level II documented, but the other levels not mentioned. Code 2 to indicate level II involvement.\n\n**3)** If a lymph node is described as involving two levels, or documented as a range, code both levels.\n* ***Example:*** Physical examination for a floor of mouth cancer describes a large lymph node mass low in level II stretching into Level III. Code 6 for Levels II-III because both Level II and Level III are mentioned.\n\n**4)** **Code 9** when the only information available is “Regional nodes, NOS” or “Cervical nodes, NOS” or “Internal jugular nodes, NOS” or “Lymph nodes, NOS. In other words, if regional nodes are known to be positive but the level(s) of nodes involved is unknown, code 9.\n* ***Example:*** Patient diagnosed elsewhere with carcinoma of oropharynx with cervical lymph node involvement. No other information available. All Head and Neck Level data items are coded to 9 since there is no specific information about the levels. \n * Levels I-III: Code 9\n * Levels IV-V: Code 9\n * Levels VI-VII: Code 9\n * Head and Neck, Other: Code 9", - "rationale" : "Level of nodal involvement is a Registry Data Collection Variable in AJCC. This data item was previously collected as Head and Neck SSF #4 (common SSF)." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_vi_vii_32325.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_vi_vii_32325.json deleted file mode 100644 index e10ff9841..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_levels_vi_vii_32325.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_head_and_neck_levels_vi_vii_32325", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Head and Neck Levels VI-VII", - "title" : "Lymph Nodes Head and Neck Levels VI-VII", - "description" : "Lymph Nodes for Head and Neck, Levels VI-VII records the involvement of Levels VI-VII lymph nodes.\n\nThis data item is used to code the presence or absence of lymph node involvement in head and neck levels I-III. The definitions of the levels are the same for all applicable head and neck sites. \n\n**Level VI** contains the lymph nodes of the anterior central compartment from the hyoid bone superiorly to the suprasternal notch inferiorly. On each side, the lateral boundary is formed by the medial border of the carotid sheath. Lymph node chains at this level:\n* Laterotracheal, Paralaryngeal, paratracheal (above suprasternal notch), perithyroidal, Precricoid (Delphian), Prelaryngeal, recurrent laryngeal)\n\n**Level VII** contains the lymph nodes inferior to the suprasternal notch in the superior mediastinum. Lymph node chains at this level:\n* Esophageal groove, paratracheal (below suprasternal notch), Pretracheal (below suprasternal notch)", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Levels IV-V lymph node involvement can be used to code this data item when no other information is available.\n\n**Note 2:** **Related data items** \n* 3876: LN Head and Neck Levels I-III \n* 3877: LN Head and Neck Levels IV-V \n* 3878: LN Head and Neck Levels VI-VII \n* 3879: LN Head and Neck Other \n\n**Note 3:** **Priority order**\n* Pathological information takes priority over clinical.", - "last_modified" : "2025-11-05T21:32:28.189Z", - "definition" : [ { - "key" : "ln_hn_6_7", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No involvement in Levels VI or VII lymph nodes\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Level VI lymph node(s) involved" ], [ "2", "Level VII lymph node(s) involved" ], [ "3", "Levels VI and VII lymph node(s) involved" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error)" ], [ "9", "Not documented in medical record\nPositive nodes, but level of positive node(s) unknown\nLymph nodes levels VI-VII not assessed, or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging\n\nFor more information on **Head and Neck levels**, see AJCC 8th edition, Chapter 5: Staging Head and Neck Cancers, Table 5.1.", - "coding_guidelines" : "**1)** Code all applicable levels that are involved\n* ***Example:*** A carcinoma of the base of tongue involves bilateral submandibular nodes and left upper, mid-, and lower jugular nodes, the largest measuring 4 cm. There is no extracapsular extension. These are level I, II, III, and IV lymph nodes according to AJCC definitions. \n * Levels I-III: Code 7 (Levels I, II and III lymph nodes involved) to show that levels I, II, and III are involved\n * Levels IV-V: Code 1 to show that level IV is involved\n * Levels VI-VII: Code 0 for no other nodes involved\n * Head and Neck, Other: Code 0 for no other nodes involved\n\n**2)** If information is available on some nodes, but the others are unknown, code what is known. \n* ***Example:*** Multiple lymph nodes involved, level II documented, but the other levels not mentioned. Code 2 to indicate level II involvement.\n\n**3)** If a lymph node is described as involving two levels, or documented as a range, code both levels.\n* ***Example:*** Physical examination for a floor of mouth cancer describes a large lymph node mass low in level II stretching into Level III. Code 6 for Levels II-III because both Level II and Level III are mentioned.\n\n**4)** **Code 9** when the only information available is “Regional nodes, NOS” or “Cervical nodes, NOS” or “Internal jugular nodes, NOS” or “Lymph nodes, NOS. In other words, if regional nodes are known to be positive but the level(s) of nodes involved is unknown, code 9.\n* ***Example:*** Patient diagnosed elsewhere with carcinoma of oropharynx with cervical lymph node involvement. No other information available. All Head and Neck Level data items are coded to 9 since there is no specific information about the levels. \n * Levels I-III: Code 9\n * Levels IV-V: Code 9\n * Levels VI-VII: Code 9\n * Head and Neck, Other: Code 9", - "rationale" : "Level of nodal involvement is a Registry Data Collection Variable in AJCC. This data item was previously collected as Head and Neck SSF #5 (common SSF)." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_other_31141.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_other_31141.json deleted file mode 100644 index 7eb27131d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_head_and_neck_other_31141.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_head_and_neck_other_31141", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Head and Neck Other", - "title" : "Lymph Nodes Head and Neck Other", - "description" : "Lymph Nodes for Head and Neck, Other records the involvement of lymph nodes other than Levels I-III, IV-V, and VI-VII.\n\nThis data item is used to code the presence or absence of lymph node involvement in head and neck levels I-III. The definitions of the levels are the same for all applicable head and neck sites. \n\n**Other head and neck lymph nodes**: \n* Cervical, NOS; deep cervical (NOS), facial, buccinator (buccal), infraauricular, internal jugular (NOS), intraparotid, mandibular, nasolabial, parapharyngeal, parotid, periparotid, preauricular, retroauricular (mastoid), retropharyngeal, suboccipital", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of other head and neck lymph node involvement can be used to code this data item when no other information is available.\n\n**Note 2:** **Related data items** \n* 3876: LN Head and Neck Levels I-III \n* 3877: LN Head and Neck Levels IV-V \n* 3878: LN Head and Neck Levels VI-VII \n* 3879: LN Head and Neck Other \n\n**Note 3:** **Priority order**\n* Pathological information takes priority over clinical.", - "last_modified" : "2025-11-05T21:32:25.373Z", - "definition" : [ { - "key" : "ln_hn_other", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No involvement in other head and neck lymph node regions\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Buccinator (facial) lymph node(s) involved" ], [ "2", "Parapharyngeal lymph node(s) involved" ], [ "3", "Periparotid and intraparotid lymph node(s) involved" ], [ "4", "Preauricular lymph node(s) involved" ], [ "5", "Retropharyngeal lymph node(s) involved" ], [ "6", "Suboccipital/retroauricular lymph node(s) involved" ], [ "7", "Any combination of codes 1-6" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nPositive nodes, but level of positive node(s) unknown\nOther Head and Neck lymph nodes not assessed, or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging\n\nFor more information on **Head and Neck levels**, see AJCC 8th edition, Chapter 5: Staging Head and Neck Cancers, Table 5.1.", - "coding_guidelines" : "**1)** Code all applicable levels that are involved\n* ***Example 1:*** A carcinoma of the base of tongue involves bilateral submandibular nodes and left upper, mid-, and lower jugular nodes, the largest measuring 4 cm. There is no extracapsular extension. These are level I, II, III, and IV lymph nodes according to AJCC definitions. \n * Levels I-III: Code 7 (Levels I, II and III lymph nodes involved) to show that levels I, II, and III are involved\n * Levels IV-V: Code 1 to show that level IV is involved\n * Levels VI-VII: Code 0 for no other nodes involved\n * Head and Neck, Other: Code 0 for no other nodes involved\n\n**2)** If information is available on some nodes, but the others are unknown, code what is known. \n* ***Example:*** Multiple lymph nodes involved, level II documented, but the other levels not mentioned. Code 2 to indicate level II involvement.\n\n**3)** If a lymph node is described as involving two levels, or documented as a range, code both levels.\n* ***Example:*** Physical examination for a floor of mouth cancer describes a large lymph node mass low in level II stretching into Level III. Code 6 for Levels II-III because both Level II and Level III are mentioned.\n\n**4)** **Code 9** when the only information available is “Regional nodes, NOS” or “Cervical nodes, NOS” or “Internal jugular nodes, NOS” or “Lymph nodes, NOS. In other words, if regional nodes are known to be positive but the level(s) of nodes involved is unknown, code 9.\n* ***Example:*** Patient diagnosed elsewhere with carcinoma of oropharynx with cervical lymph node involvement. No other information available. All Head and Neck Level data items are coded to 9 since there is no specific information about the levels. \n * Levels I-III: Code 9\n * Levels IV-V: Code 9\n * Levels VI-VII: Code 9\n * Head and Neck, Other: Code 9", - "rationale" : "Level of nodal involvement is a Registry Data Collection Variable in AJCC. This data item was previously collected as Head and Neck SSF #6 (common SSF)." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_isolated_tumor_cells_67876.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_isolated_tumor_cells_67876.json deleted file mode 100644 index b4b79a5e9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/lymph_nodes_isolated_tumor_cells_67876.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymph_nodes_isolated_tumor_cells_67876", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Isolated Tumor Cells", - "title" : "Lymph Nodes Isolated Tumor Cells (ITC)", - "description" : "Lymph Nodes Isolated Tumor Cells (ITC), the presence of isolated tumor cells in regional lymph node(s) that may be detected by hematoxylin and eosin or by immunohistochemical staining, is a potential prognostic factor for Merkel Cell Carcinoma.\n\nIsolated tumor cells (ITCs) for Merkel cell carcinoma are defined as single tumor cells or small clusters of tumor cells not more than 0.2 mm in greatest dimension. ITCs are usually detected by immunohistochemistry on sentinel lymph node biopsies. \n* **Note:** Examples of immunohistochemical staining methods are Cytokeratin 20 (CK20), CAM 5.2, pancytokeratin, and AE1/3. ITCs may be detected by routine H&E stains.\n\nITCs may be identified in lymph nodes by hematoxylin and eosin staining or by specialized pathological techniques, such as IHC for cytokeratin proteins for carcinomas. Specialized pathology techniques such IHC and molecular techniques are not recommended for routine examination of lymph nodes.\n\nThese cells usually are found in the subcapsular nodal sinuses but may be seen within the nodal parenchyma.", - "notes" : "**Note:** **Physician statement** \n* Physician statement of Isolated Tumor Cells (ITCs) can be used to code this data item when no other information is available.", - "last_modified" : "2025-11-06T18:40:54.261Z", - "definition" : [ { - "key" : "ln_itc", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Regional lymph nodes negative for ITCs" ], [ "1", "Regional lymph nodes positive for ITCs \n(Tumor cell clusters not greater than 0.2 millimeter (mm))" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nCannot be determined by pathologist\nITCs not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\nFor further information, refer to the **Merkel Cell Carcinoma** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Merkel Cell Carcinoma*.", - "coding_guidelines" : "Record the status of ITCs as documented by the pathologist", - "rationale" : "Lymph Nodes, Isolated Tumor Cells (ITC) is a Registry Data Collection Variable in AJCC. This data item was previously collected for Merkel Cell Skin, SSF #18." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/lymphocytosis_79150.json b/src/test/resources/algorithms/eod_public/3.3/tables/lymphocytosis_79150.json deleted file mode 100644 index abd377816..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/lymphocytosis_79150.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "lymphocytosis_79150", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Lymphocytosis", - "title" : "Lymphocytosis", - "description" : "Lymphocytosis is defined by an excess of lymphocytes in the blood. In staging of Chronic Lymphocytic Leukemia/Small Lymphocytic Leukemia (CLL/SLL), lymphocytosis is defined as an absolute lymphocyte count (ALC) > 5,000 cells/μL. \n\nFor cases diagnosed 1/1/2018 and later, all cases of CLL and SLL will require both the **Lugano classification, which is captured in the AJCC stage group data item, and the five components of the modified Rai staging system, which are captured in Site-Specific Data Items (adenopathy, anemia, lymphocytosis, organomegaly, and thrombocytopenia).**\n\nThe terms B-cell lymphocytic leukemia/chronic lymphocytic leukemia (CLL) and small lymphocytic lymphoma (SLL) are different clinical presentations of the same disease, with both terms coded 9823. \n\nTraditionally the lymphoma diagnosis was staged with the Ann Arbor staging system and it is now staged with the Lugano classification. In North America, CLL was staged with the Rai system. \n\nSee 3955: Derived Rai stage for additional information on the related data items.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of lymphocytosis or Rai Stage can be used to code this data item when no other information is available. \n * The physician's stated Rai stage always takes priority when there is conflicting information\n\n**Note 2:** **Rai Stage Criteria**\n* Rai stage is only applicable for CLL, in which the bone marrow and/or peripheral blood are involved (primary site C421 for bone marrow, see Hematopoietic Manual, Module 3: PH 5, 6). \n\n**Note 3:** **Pretreatment results only**\n* Record this data item based on a blood test (CBC and differential) performed at diagnosis (pre-treatment)\n * Do not use results from a urine test\n\n**Note 4:** **Values for Lymphocytosis**\n* Lymphocytosis (lymphocyte number) is defined by an absolute lymphocyte count (ALC) > 5,000 cells/μL and is part of the staging criteria. \n * Use the cut points listed in the table regardless of the lab’s reference range\n * For cases that document lymphocyte count in SI (Systeme Internationale) units as any of 10*9/L, 10^9/L, or 10E9/L, the cut point of 5,000 cells/µL is equivalent to (5 cells x 10*9/L), (5 cells X 10^9/L), or (5 cells x10E9/L)", - "last_modified" : "2024-04-08T11:20:18.823Z", - "definition" : [ { - "key" : "lymphocytosis", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Lymphocytosis not present\nAbsolute lymphocyte count <= 5,000 cells/μL" ], [ "1", "Lymphocytosis present \nAbsolute lymphocyte count > 5,000 cells/μL" ], [ "5", "Not applicable: Primary site is not C421" ], [ "6", "Lab value unknown, physician states lymphocytosis is present\n\nPhysician states Rai stage 0-IV" ], [ "7", "Test ordered, results not in chart" ], [ "9", "Not documented in medical record\nLymphocytosis not assessed or unknown if assessed\nNo Rai stage is documented in the record and there is no documentation of lymphocytosis" ] ], - "additional_info" : "**Source documents:** laboratory results, clinician’s notes", - "coding_guidelines" : "**1)** **Code 0** when primary Site **is C421** AND absolute lymphocyte count (ALC) < 5,000 cells/μL \n\n**2)** **Code 1** when primary Site **is C421** AND absolute lymphocyte count (ALC) is equal or greater than 5,000 cells/μL \n\n**3)** **Code 5** when primary site **is NOT C421**\n\n**4)** **Code 6** when primary site **is C421,** AND lymphocytosis is based on a physician’s statement of lymphocytosis or a Rai Stage\n * Physician documentation of Rai Stage 0-IV\n\n**5)** **Code 9** when primary site **is C421** AND there is no mention of lymphocytosis", - "rationale" : "Lymphocytosis is a prognostic factor required for staging of Chronic Lymphocytic Leukemia/Small Lymphocytic Leukemia (CLL/SLL) in AJCC 8th edition, Chapter 79 *Hodgkin, and Non-Hodgkin Lymphomas*. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/major_vein_involvement_87947.json b/src/test/resources/algorithms/eod_public/3.3/tables/major_vein_involvement_87947.json deleted file mode 100644 index f8ad52580..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/major_vein_involvement_87947.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "major_vein_involvement_87947", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Major Vein Involvement", - "title" : "Major Vein Involvement", - "description" : "Major vein involvement pertains to the invasion of the kidney tumor into major veins.\n\nInvolvement of veins from a renal cancer has prognostic implications because tumor cells can more easily disseminate through the bloodstream. This data item records information about the presence and level of involvement of specific major blood vessels. Do not code microscopically identified involvement of small unnamed blood vessels within the kidney; this information is coded in the field Lymph-Vascular Invasion (LVI). The tumor may be described as a thrombus, a cluster of tumor cells presents in the center of the vein but not attached to the wall of the vein. Tumor spread may resemble mud extruding along the inside of a pipe. Direct tumor invasion of the wall of the inferior vena cava is not coded in this field.\nRecord the code that best describes involvement of the renal vein and/or inferior vena cava (IVC) as described in the pathology report. Do not include clinical findings in this field.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of Major Vein Involvement can be used to code this data item when no other information is available. \n* The major veins include the renal vein or its segmental branches, and the inferior vena cava.\n\n**Note 2:** **Relevance to Staging**\n* Information about major vein involvement beyond the kidney is collected in primary tumor as an element in anatomic staging. It is also collected in this field as it may have an independent effect on prognosis. \n\n**Note 3:** **Major Vein Involvement**\n* Record the involvement of specific named veins as documented in the pathology report. Do not code invasion of small unnamed vein(s) of the type collected as lymph-vascular invasion. Lymph-vascular invasion is usually only seen microscopically.", - "last_modified" : "2025-11-06T21:18:43.177Z", - "definition" : [ { - "key" : "major_vein_involv", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Major vein involvement not present/not identified" ], [ "1", "Renal vein or its segmental branches" ], [ "2", "Inferior vena cava (IVC)" ], [ "3", "Major vein invasion, NOS" ], [ "4", "Any combination of codes 1-3" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nVein involvement not assessed or unknown if assessed\nNo surgical resection of primary site is performed" ] ], - "additional_info" : "**Source documents:** surgical pathology report\n\nFor further information, refer to the **Kidney** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Kidney*.", - "coding_guidelines" : "**1)** Record major vein involvement as documented in the surgical Pathology report\n* Surgical resection of primary site must be done \n* Do not use imaging findings to code this data item.\n\n**2)** **Code 0**: There is no involvement of the major veins\n* If surgical resection is done and tumor is “confined to kidney” and staging is based on size, then there is no involvement of major veins\n\n**3)** **Code 1**: Involvement of the renal vein or segmental branches\n\n**4)** **Code 2**: Involvement of the inferior vena cava (IVC)\n\n**5)** **Code 3**: Involvement of major veins, but not specified which one (renal vein, segmental branches, or inferior vena cava (IVC))\n\n**6)** **Code 4**: Involvement of more than one vein (any combination of codes 1-3)\n\n**7)** **Code 9** when\n* There is no documentation in the medical record\n* Clinical diagnosis only\n* Evaluation of major vein involvement not done or unknown if done\n* Surgical resection of the primary site is performed, tumor is **not** confined to the kidney and there is no mention of major vein involvement", - "rationale" : "Involvement of major veins for Kidney is a Registry Data Collection Variable in AJCC. It was previously collected as Kidney, CS SSF #2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/measured_basal_diameter_70699.json b/src/test/resources/algorithms/eod_public/3.3/tables/measured_basal_diameter_70699.json deleted file mode 100644 index 63acf3cf1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/measured_basal_diameter_70699.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "measured_basal_diameter_70699", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Measured Basal Diameter", - "title" : "Measured Basal Diameter", - "description" : "Measured Basal Diameter, the largest basal diameter of a uveal melanoma, is a prognostic indicator for this tumor.\n\nThe basal diameter is the width (horizontal measurement) of the melanoma at its base (in contact with sclera). This is not the same as the depth of invasion (see NAACCR Data Item #3888-Measured Thickness). Clinical research has shown that as a uveal tumor becomes larger, the risk of hematogenous metastases and death increases. In addition, knowing the size of the melanoma is important for treatment planning.\n\nPer the CAP guidelines for Uveal Melanoma, “in clinical practice, the largest tumor basal diameter may be estimated in optic disc diameters (dd, average: 1 dd = 1.5 mm). Techniques such as ultrasonography and fundus photography are used to provide more accurate measurement. When histopathological measurements are recorded after fixation, tumor diameter and thickness may be underestimated because of tissue shrinkage.”", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of measured basal diameter can be used to code this data item when no other information is available. \n\n**Note 2:** **Code measured basal diameter of tumor not Tumor size** \n* Record actual measurement in millimeters (mm) to nearest tenth from clinical documentation, or from a pathology report if surgery performed", - "last_modified" : "2025-11-06T15:26:35.359Z", - "definition" : [ { - "key" : "measured_basal_diameter", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "No mass/tumor found" ], [ "0.1-99.9", "0.1 - 99.9 millimeters (mm)\n(Exact measurement to nearest tenth of mm)" ], [ "XX.0", "100 millimeters (mm) or larger " ], [ "XX.1", "Described as \"less than 3 mm\"" ], [ "XX.2", "Described as \"at least\" 3 mm" ], [ "XX.3", "Described as \"at least\" 6 mm" ], [ "XX.4", "Described as \"at least\" 9 mm" ], [ "XX.5", "Described as \"at least\" 12 mm" ], [ "XX.6", "Described as \"at least\" 15 mm" ], [ "XX.7", "Described as \"at least\" 18 mm" ], [ "XX.8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code XX.8 may result in an edit error.)" ], [ "XX.9", "Not documented in medical record\nCannot be determined by pathologist\nMeasured Basal Diameter not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** High-frequency ultrasonography (ultrasound biomicroscopy) report, pathology report, wide-angle fundus camera measurement, clinician report or other documentation in medical record\n\n**Other names include** largest tumor diameter (LTD), tumor basal size; do not code tumor basal area (measured in square millimeters)\n\nFor further information, refer to the **Uveal Melanoma** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Uveal Melanoma*.", - "rationale" : "Measured Basal Diameter is listed as a Registry Data Collection Variable in AJCC. It was previously collected as Uveal Melanoma, CS SSF #2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/measured_thickness_84907.json b/src/test/resources/algorithms/eod_public/3.3/tables/measured_thickness_84907.json deleted file mode 100644 index 79e132eff..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/measured_thickness_84907.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "measured_thickness_84907", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Measured Thickness", - "title" : "Measured Thickness", - "description" : "Measured Thickness, or height, the thickness of a uveal melanoma, is a prognostic indicator for this tumor.\n\nThis data items measures tumor thickness, height, or depth (vertical dimension), rather than size (lateral dimension) or basal diameter (horizontal dimension). (For basal diameter, see NAACCR Data Item #3887-Measured Basal Diameter). \n\nThe depth of invasion or tumor thickness measurement for melanomas of the choroid, ciliary body, and iris is collected in tenths of millimeters as stated in the pathology report for the resected specimen. (This is similar to, but not the same as, Breslow depth of invasion, which is measured in hundredths of millimeters.) Code a measurement specifically labeled as “thickness” “height” or “depth” in the pathology report. In the absence of this label, a measurement described as taken from the cut surface of the specimen can be coded. And in the absence of either of these labels, the third dimension in a statement of tumor size (length x width x depth) can be used by the registrar to code this field.\n\nPer the CAP guidelines for Uveal Melanoma, “in clinical practice, tumor thickness may be estimated in diopters (average: 2.5 diopters = 1 mm). Techniques such as ultrasonography and fundus photography are used to provide more accurate measurement. When histopathological measurements are recorded after fixation, tumor diameter and thickness may be underestimated because of tissue shrinkage.”", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of measured thickness, or height, can be used to code this data item when no other information is available. \n\n**Note 2:** **Code height not Tumor Size** \n* Record actual measurement in millimeters (mm) from clinical documentation, or from a pathology report if surgery performed.", - "last_modified" : "2025-11-06T15:26:15.468Z", - "definition" : [ { - "key" : "measured_thickness", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "No mass/tumor found" ], [ "0.1-99.9", "0.1 - 99.9 millimeters (mm)\n(Exact measurement to nearest tenth of mm)" ], [ "XX.0", "100 millimeters (mm) or larger " ], [ "XX.1", "Described as \"less than 3 mm\"" ], [ "XX.2", "Described as \"at least\" 3 mm " ], [ "XX.3", "Described as \"at least\" 6 mm" ], [ "XX.4", "Described as \"at least\" 9 mm" ], [ "XX.5", "Described as \"at least\" 12 mm" ], [ "XX.6", "Described as \"greater than\" 15 mm" ], [ "XX.8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code XX.8 may result in an edit error.)" ], [ "XX.9", "Not documented in medical record\nCannot be determined \nMeasured Thickness not assessed or unknown if assessed" ] ], - "additional_info" : "**Source Documents:** High-frequency ultrasonography (ultrasound biomicroscopy) report, pathology report, wide-angle fundus camera measurement, clinician report or other documentation in medical record\n\n**Other names include** maximum tumor thickness, depth of invasion, perpendicular tumor diameter (PTD), tumor height\n\nFor further information, refer to the **Uveal Melanoma** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Uveal Melanoma*.", - "rationale" : "Measured Thickness is listed as a Registry Data Collection Variable in AJCC. It was previously collected as Uveal Melanoma, CS SSF #3." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/melanoma_ciliary_body_melanoma_iris_79773.json b/src/test/resources/algorithms/eod_public/3.3/tables/melanoma_ciliary_body_melanoma_iris_79773.json deleted file mode 100644 index 58fa86122..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/melanoma_ciliary_body_melanoma_iris_79773.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "melanoma_ciliary_body_melanoma_iris_79773", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Discriminator 1", - "title" : "Schema Discriminator 1: Melanoma Ciliary Body/Melanoma Iris", - "description" : "Iris and ciliary body have the same ICD-O topography code (C694). However, for purposes of stage grouping AJCC 8th edition, they each have different definitions for T or primary tumor extension. A schema discriminator is necessary to distinguish between these primary sites so that the appropriate sub(chapter)/schema is used.", - "notes" : "**Note:** **Schema discriminator for C694** \n\n* A schema discriminator is used to discriminate between melanoma tumors with primary site code C694: Ciliary Body/Iris. Code the site in which the tumor arose. \n\n* **00672: Melanoma Ciliary Body (see code 1)**\n\n Subsites include Ciliary body, crystalline lens, sclera, uveal tract, intraocular, eyeball\n\n* **00671: Melanoma Iris (see code 2)**\n\n Subsite includes Iris", - "last_modified" : "2025-11-06T21:24:29.631Z", - "definition" : [ { - "key" : "discriminator_1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "disease", - "name" : "Schema ID #/Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Ciliary Body\nCrystalline lens\nSclera\nUveal tract\nIntraocular\nEyeball", "00672: Melanoma Choroid and Ciliary Body" ], [ "2", "Iris", "00671: Melanoma Iris" ], [ "", "Primary Site is NOT C694, Discriminator is not necessary", "" ] ], - "additional_info" : "**Source documents:** Pathology report, imaging", - "rationale" : "A schema discriminator is used to assign AJCC ID when site and histology alone are insufficient to identify the applicable AJCC staging method and to assign Schema ID, which links each case to the appropriate SSDIs, Grade, Summary Stage and EOD data collection system." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hab.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hab.json deleted file mode 100644 index 85daf3a6c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hab.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hab", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **Pleural and pericardial effusions**\n* Most pleural and pericardial effusions with lung cancer are due to tumor\n* In a few patients, however, multiple cytopathological examinations of pleural and/or pericardial fluid are negative for tumor, and the fluid is non-bloody and is not an exudate. Where these elements and clinical judgment dictate that the effusion is not related to the tumor, the effusion should be excluded as a staging element. \n * Code 00 in the absence of any other metastasis.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rami-Porta, R., Asamura, H., Travis, W.D., Rusch, V.W. **Lung**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:09.038Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Pericardial effusion or pleural effusion (malignant) (ipsilateral, contralateral, bilateral, NOS)\nPleural tumor foci or nodules on ipsilateral lung (separate from direct extension) or contralateral lung\nPericardial nodules\n\nContralateral lung/main stem bronchus\nSeparate tumor nodule(s) in contralateral lung", "VALUE:D" ], [ "20", "Single distant lymph node involved\n- Cervical\n- Distant lymph node, NOS\n\nWITH or WITHOUT metastasis listed in code 10", "VALUE:D" ], [ "30", "Single extrathoracic metastasis in a single organ\n\nWITH or WITHOUT metastasis listed in code 10", "VALUE:D" ], [ "50", "Multiple extrathoracic metastases in a single organ or in multiple organs\n\nAbdominal organs\nAdjacent rib (noncontiguous involvement only) (see EOD Primary Tumor for contiguous involvement)\nSkin of chest \nSeparate lesion in chest wall or diaphragm\n\nMultiple distant lymph node(s)\n- Cervical \n- Distant lymph node(s), NOS\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) or metastasis listed in code 10", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hac.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hac.json deleted file mode 100644 index be74a8021..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hac.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hac", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Nodules on peritoneal surface** \n* Nodules implanted on peritoneal surfaces are classified as metastatic disease (code 70).\n\n**Note 2:** **Hepatoduodenal and Pancreaticoduodenal lymph nodes**\n* These nodes have been moved to EOD Regional Nodes for all sites.\n* **Note:** They are still distant for Summary Stage", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Ajani, J.A., In, H., Sano, T., Hofstetter, W.L., et al. **Stomach**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:10.720Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), including\n- Intra-abdominal\n- Mesenteric (inferior, superior, NOS)\n- Middle colic\n- Pancreaticoduodenal (all subsites EXCEPT greater curvature)\n- Para-aortic\n- Porta hepatic (portal) (hilar) (in hilus of liver)\n- Retropancreatic\n- Retroperitoneal \n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\nKrukenberg tumor (metastasis to ovary(ies))\nMalignant (positive) peritoneal cytology\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_had.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_had.json deleted file mode 100644 index b6f2f159f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_had.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_had", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **LDH and Metastatic disease** \n* For cases with positive metastases, Serum LDH is an additional data item that is predictor of survival outcome. \n* Serum LDH is coded in data item LDH (Lactate Dehydrogenase) Level [#3869]\n\n**Note 2:** **Distant metastasis** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n* If there are specific metastasis documented that are not listed in codes 10, 20, 30, or 40, assign code 50 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Gershenwald, J.E., Scolyer, R.A., et al. **Melanoma of the Skin**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:16.523Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS\n- Axillary (lower trunk)\n- Femoral (cephalad/caudal) (upper trunk)\n- Iliac (leg/hip)", "VALUE:D" ], [ "20", "Distant metastasis (excluding Lung, CNS)\n* Bone (excluding contiguous extension)\n* Skeletal muscle (excluding contiguous extension)\n* Skin or subcutaneous tissue beyond regional lymph nodes\n* Underlying cartilage (excluding contiguous extension)\n\nWITH or WITHOUT distant lymph node(s) (code 10)", "VALUE:D" ], [ "30", "Lung metastasis\n* WITH or WITHOUT metastasis in codes 10 or 20", "VALUE:D" ], [ "50", "Distant metastasis to non-CNS visceral sites\n* Visceral metastasis, NOS\n* Other specified metastases \n* Carcinomatosis\n\nWITH or WITHOUT metastasis to sites in codes 10, 20 or 30", "VALUE:D" ], [ "60", "CNS Metastasis\n* WITH or WITHOUT metastasis in codes 10, 20, 30, or 50", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hae.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hae.json deleted file mode 100644 index 9c1796962..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hae.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hae", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Distant metastasis, NOS** \n* Use code 70 when the only information is \n - Distant lymph nodes are involved, but not stated as single or multiple lymph node chains\n - Distant metastasis is present, but not stated as single or multiple organ involvement\n\n**Note 2:** **Peritoneal involvement** \n* Peritoneal involvement, WITH or WITHOUT any other involvement, is code 50.\n\n**Note 3:** **Distant lymph node(s) for Colon, Rectum and Rectosigmoid include**\n\n**Colon**\n- Iliac (common, external, hypogastric, internal, obturator, NOS)\n- Inferior mesenteric (cecum, ascending colon, hepatic flexure, transverse colon)\n- Para-aortic\n- Retroperitoneal\n- Superior mesenteric\n\n**Rectosigmoid**\n- Hemorrhoidal, inferior (rectosigmoid)\n- Iliac (common, external, hypogastric, internal, obturator)\n- Rectal, inferior \n- Superior mesenteric\n\n**Rectum**\n- Colic (left) (rectum)\n- Iliac (common, external, NOS)\n- Superior mesenteric", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Jessup, J.M., Goldberg, R.M., et al. **Colon and Rectum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:08.248Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "SINGLE distant lymph node chain", "VALUE:D" ], [ "20", "SINGLE distant organ (except peritoneum)", "VALUE:D" ], [ "30", "Single distant lymph node chain\nWITH single distant organ (except peritoneum)\n\nMetastasis to MULTIPLE distant lymph node chains \nWITH or WITHOUT single distant organ (except peritoneum)", "VALUE:D" ], [ "40", "MULTIPLE distant organs (except peritoneum)\nWITH or WITHOUT distant lymph node(s)", "VALUE:D" ], [ "50", "Peritoneal surface metastasis (peritoneum)\nWITH or WITHOUT distant lymph node(s) or distant organ(s)\n\nCarcinomatosis", "VALUE:D" ], [ "70", "Distant lymph node(s), NOS\n- Not specified as single or multiple chains\n\nDistant metastasis, NOS\n- Not specified as single or multiple organs", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_haf.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_haf.json deleted file mode 100644 index 643726c9e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_haf.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_haf", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Abou-Alfa, G.K., Pawlik, T.M., Vauthey, J.N., et al. **Liver**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:18.130Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Aortic (para-aortic, periaortic)\n- Cardiac\n- Coronary artery\n- Diaphragmatic, NOS\n- Lateral (aortic) (lumbar)\n- Pericardial (pericardiac)\n- Peripancreatic (near head of pancreas only)\n- Posterior mediastinal (tracheoesophageal) including juxtaphrenic nodes\n- Renal artery\n- Retroperitoneal, NOS\n\nDistant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hah.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hah.json deleted file mode 100644 index 5561e70de..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hah.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_hah", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Prat, J., Olawaiye, A.B., Mutch, D.G., et al. **Ovary, Fallopian Tube, and Primary Peritoneal Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:16.058Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Pleural effusion with positive cytology\n\nFIGO Stage IVA", "VALUE:D" ], [ "30", "Distant lymph node(s)\n\n+ Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Distant lymph node(s)\n\nWITH or WITHOUT pleural effusion with positive cytology", "VALUE:D" ], [ "50", "Extra-abdominal organs\n* Liver parenchymal\n* Spleen parenchymal\n* Transmural involvement of intestine\n\nCarcinomatosis (involvement of multiple parenchymal organs OR\ndiffuse involvement of multiple non-abdominal organs)\n- Excludes peritoneal carcinomatosis (see EOD Primary Tumor)\n\n* WITH or WITHOUT distant lymph node(s) OR pleural effusion with positive cytology\n\nFIGO Stage IVB", "VALUE:D" ], [ "70", "Distant metastasis, NOS\n\nFIGO Stage IV [NOS]", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_haj.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_haj.json deleted file mode 100644 index 3523b1f5d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_haj.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_haj", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **FIGO and metastatic detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Gibb, R.K., Olawaiye, A.B., Mutch, D.G., et al. **Vagina**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:11.336Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- All sites\n + Mediastinal\n + Retroperitoneal, NOS\n + Scalene\n + Distant lymph node(s), NOS\n\n- Lower third of vagina (ipsilateral and bilateral)\n + Para-aortic, NOS\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n + Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\n- Upper two thirds of vagina\n + Femoral\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal \n\nFIGO Stage III", "VALUE:D" ], [ "70", "Distant metastasis\nCarcinomatosis\nDistant metastasis WITH or WITHOUT distant lymph node(s) \nDistant metastasis, NOS\n\nFIGO Stage IVB, IV [NOS]", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hak.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hak.json deleted file mode 100644 index c4698c3a3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hak.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hak", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **FIGO and metastatic detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage.\n\n**Note 2:** **Distant metastasis** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n+ If there are specific metastasis documented that are not listed in codes 10, 30, or 50, assign code 50 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Chen, L., Olawaiye, A.B., Mutch, D.G., et al. **Gestational Trophoblastic Neoplasms**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:14.404Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Lung\n\nFIGO Stage III", "VALUE:D" ], [ "30", "Distant lymph node(s)\n- Superficial inguinal (femoral)\n\nDistant lymph node(s), NOS\n\nWITH or WITHOUT lung metastasis", "VALUE:D" ], [ "50", "Other specified distant metastasis \nWITH or WITHOUT lung metastasis or distant lymph node(s)\n\nCarcinomatosis \n\nFIGO Stage IV", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hal.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hal.json deleted file mode 100644 index 8e1ed94dd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hal.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hal", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **Distant metastasis, NOS** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n+ If there are specific metastasis documented that are not listed in codes 10, 30, or 50, assign code 50 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Buyyounouski, M.K., Lin, D.W., et al. **Prostate**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:51.071Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n* Aortic (lateral [lumbar], para-aortic, periaortic, NOS)\n* Cervical\n* Common iliac\n* Inguinal (deep, NOS)\n - Node of Cloquet or Rosenmuller (highest deep inguinal)\n - Superficial (femoral)\n* Retroperitoneal, NOS\n* Scalene (inferior deep cervical)\n* Supraclavicular (transverse cervical)\n\nDistant lymph node(s), NOS", "VALUE:D" ], [ "30", "Bone\n* WITH or WITHOUT distant lymph node(s)", "VALUE:D" ], [ "50", "Other specified distant metastasis \n* WITH or WITHOUT distant lymph node(s) or bone metastasis \n\nCarcinomatosis", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_han.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_han.json deleted file mode 100644 index 12e9e2321..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_han.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_han", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **FIGO and metastatic disease detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Erickson, B.A., Olawaiye, A.B., Mutch, D.G., et al. **Cervix Uteri**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:20.135Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal\n- Mediastinal\n- Scalene\n- Supraclavicular\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Distant metastasis\n- Bone\n- Liver\n- Lung\n- Peritoneal spread\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS\n\nFIGO Stage IVB", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_har.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_har.json deleted file mode 100644 index 32ffd5746..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_har.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_har", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Herman, J.M., Pawlik, T.M., Vauthey, J.N., et al. **Ampulla of Vater**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:36.692Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- At tail of pancreas\n- Para-aortic\n- Splenic\n\nDistant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hat.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hat.json deleted file mode 100644 index dcdbeff56..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hat.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hat", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Pleural effusion** \n* A physician’s statement of positive (malignant) pleural effusion or a positive cytology confirming a malignant pleural effusion must be used to code 05. \n * If the physician feels the pleural effusion is due to tumor, despite negative cytology, the physician’s assessment can be used to code EOD Mets\n* If pleural fluid cytology is described as suspicious/suspicious for mesothelioma, code 05\n* A positive pleural effusion (code 05) should not be coded as present under the Mets at Dx-Other field. \n * Code 0 for Mets at Dx-Other when code 05 is coded in EOD Mets.\n\n**Note 2:** **Additional data item for staging** \n* In addition to EOD Mets, the following data item is also collected to determine the results of the Pleural Effusion, which include negative, atypical, or Pleural effusion, NOS\n* Pleural effusion [NAACCR Data Item #3913]\n\n**Note 3:** **Pleural effusion with other mets** \n* If there is a malignant pleural effusion WITH other mets, code 70.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rusch, V.W., et al. **Malignant Plural Mesothelioma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:34.084Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "05", "Malignant pleural effusion", "VALUE:D" ], [ "10", "Distant lymph node\n- Cervical \n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Contralateral lung\nContralateral pleura/chest wall (discontinuous involvement)\nLung (discontinuous ipsilateral lung tumors)\nMediastinal organs (discontinuous involvement)\nPeritoneum (discontinuous extension of tumor)\nPericardial effusion, malignant (discontinuous involvement) \nPleural effusion (malignant pleural fluid) WITH other metastases\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hau.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hau.json deleted file mode 100644 index 93074cca1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hau.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hau", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **Bone marrow micrometastasis** \n* For bone marrow micrometastasis, circulating tumor cells (CTCs) or disseminated tumor cells and clusters (DTCs) are less than or equal to 0.2 mm and assigned code 05.\n* Circulating tumor cells (CTCs) or disseminated tumor cells and clusters (DTCs) should not be coded as present under the Mets at Dx-Other field. Code 0 for Mets at Dx-Other when code 05 is coded in EOD mets.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Hortobagyi, G.N., Giuliano, A., et al. **Breast**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:13.158Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "05", "No clinical or radiographic evidence of distant mets\n- Tumor cells found in circulating blood, bone marrow or other distant lymph node tissue \n- Less than or equal to 0.2 mm", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Axillary (contralateral or bilateral)\n- Cervical, NOS\n- Fixed/matted axillary (level I and II) (contralateral or bilateral)\n- Infraclavicular (subclavicular) (contralateral or bilateral)\n- Internal mammary (parasternal) (contralateral or bilateral)\n- Intramammary (contralateral or bilateral)\n- Supraclavicular (transverse cervical) (contralateral or bilateral)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Skin over\n- Axilla\n- Contralateral (opposite) breast\n- Sternum\n- Upper abdomen\n\nFurther contiguous extension\n\nDistant metastasis \n- Adrenal (suprarenal) gland\n- Bone, including contralateral ribs\n- Contralateral (opposite) breast-if stated as metastatic\n- Ipsilateral rib(s) (noncontiguous involvement only) (see EOD Primary Tumor for contiguous involvement)\n- Lung\n- Ovary\n- Satellite nodule(s) in skin other than primary breast\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hav.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hav.json deleted file mode 100644 index ad355adf9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hav.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hav", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **Distant metastasis, NOS** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n* If there are specific metastasis documented that are not listed in codes 10, 30, or 50, assign code 50 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kneisl, J.S., Rosenberg, A.E., et al. **Bone**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:19.276Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Lung", "VALUE:D" ], [ "30", "Distant lymph node(s), NOS\n* WITH or WITHOUT lung metastasis", "VALUE:D" ], [ "50", "Bone (other than primary site) OR\nOther specified distant metastasis\n\nWITH or WITHOUT distant lymph nodes or lung metastasis\n\nCarcinomatosis", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_haw.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_haw.json deleted file mode 100644 index ec2054e21..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_haw.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_haw", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Benign/borderline tumors** \n* Code 00 for benign (behavior /0) and borderline (behavior /1) tumors.\n\n**Note 2:** **Leptomeningeal metastases** \n* Leptomeningeal metastases, also known as carcinomatous meningitis and meningeal carcinomatosis, refers to the spread of malignant cells through the CSF space. \n* These cells can originate from primary CNS tumors (e.g., in the form of drop metastases), as well as from distant tumors that have metastasized via hematogenous spread (code 70).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Laws, E.R., Curran, W.J., et al. **Brain and Spinal Cord**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:14.875Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)", "VALUE:D" ], [ "70", "Metastasis within CNS and CSF pathways\n* Carcinomatous meningitis\n* Drop metastasis\n* Leptomeningeal metastases\n* Meningeal carcinomatosis\n\nMetastasis outside the CNS\n* Extra-neural metastasis\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_haz.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_haz.json deleted file mode 100644 index b4b7490a9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_haz.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_haz", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Definition of viscera** \n* For the purpose of coding EOD Mets, the definition of viscera is the soft internal organs of the body, specifically of the abdominal and thoracic cavity.\n\n**Note 2:** **Visceral involvement** \n* Visceral involvement is metastatic disease and should be questioned in the absence of node or blood involvement.\n\n**Note 3:** **Distant lymph nodes** \n* For this schema, distant lymph nodes are collected in EOD Regional Nodes.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Rosen, S.T., Jaffe, E.S., Leonard, J.P., et al. **Primary Cutaneous Lymphomas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:46.731Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No visceral organ involvement\nNo distant metastases\nUnknown if distant metastases \n\nClinical confirmation only of visceral (non-cutaneous, extranodal) involvement \n- Except for liver and spleen imaging, see code 70", "VALUE:NONE" ], [ "10", "Carcinomatosis, CLINICAL or UNKNOWN confirmation", "VALUE:D" ], [ "70", "Distant site(s) involved\n\nImaging confirmation of metastasis\n- Bone marrow\n- Liver\n- Non-visceral organs/sites\n- Spleen\n\nVisceral (non-cutaneous, extranodal) involvement, pathologically confirmed\nInvolvement by at least one visceral organ outside the skin, nodes, blood, or bone marrow\n\nFurther contiguous spread\n\nCarcinomatosis, PATHOLOGICALLY confirmed \n\nMFCG Stage IV\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hba.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hba.json deleted file mode 100644 index 8eedf8db9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hba.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hba", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **FIGO and metastatic detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and metastatic detail are available, record the code with metastatic detail in preference to a statement of FIGO stage.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Gibb, R.K., Olawaiye, A.B., Mutch, D.G., et al. **Vulva**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) **Vulva,** from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:06:01.419Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n* Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS \n\nFIGO Stage IVB, IV [NOS]", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbb.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbb.json deleted file mode 100644 index 24822e50a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbb.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hbb", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Previous scrotal surgery and lymph nodes** \n* Involvement of inguinal, pelvic, or external iliac lymph nodes with previous scrotal or inguinal surgery prior to presentation of the testis tumor are coded in EOD Regional Nodes.\n\n**Note 2:** **Distant metastasis** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n * If there are specific metastasis documented that are not listed in codes 10, 30, or 50, assign code 60 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Brimo, F., Srigley, J.R., Lin, D.W., et al. **Testis**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:51.463Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s) \n- WITHOUT previous scrotal or inguinal surgery OR UNKNOWN if previous scrotal or inguinal surgery\n + External iliac \n + Pelvic, NOS", "VALUE:D" ], [ "30", "Distant lymph node(s)\n- WITHOUT previous scrotal or inguinal surgery OR UNKNOWN if previous scrotal or inguinal surgery\n + Inguinal, NOS\n * Deep, NOS\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial (femoral)\n- Retroperitoneal specified as above the diaphragm\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "50", "Lung\n\nWITH or WITHOUT distant lymph nodes", "VALUE:D" ], [ "60", "Other specified distant metastasis \nWITH or WITHOUT distant lymph node(s) and/or lung\n\nCarcinomatosis", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbe.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbe.json deleted file mode 100644 index cfe30c7e2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbe.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_hbe", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Zhu, A.X., Pawlik, T.M., Vauthey, J.N., et al. **Gallbladder**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:39.674Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), including\n- Para-aortic\n- Pericaval\n- Peripancreatic (along body and tail of pancreas only)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbg.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbg.json deleted file mode 100644 index 9ad45df2f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbg.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_hbg", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rice, T.W., Kelsen, D., Hofstetter, W.L., et al. **Esophagus and Esophagogastric Junction**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:35.710Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Common hepatic (18)\n- Splenic (19)\n\nEsophagus GE Junction\n- Hepatoduodenal\n- Mesenteric, NOS\n + Inferior mesenteric\n + Superior mesenteric\n- Para-aortic\n- Porta hepatis (portal) (hilar) (in hilus of liver)\n- Retropancreatic\n- Retroperitoneal\n\nDistant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis \n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbo.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbo.json deleted file mode 100644 index dd1b71e7c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbo.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_hbo", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Coit, D.G., Kelsen, D., Hofstetter, W.L., et al. **Small Intestine**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:41.065Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Celiac\n- Pericholedochal (jejunum and ileum only)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis \nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbv.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbv.json deleted file mode 100644 index 4e898a5e9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbv.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hbv", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **Location of metastases** \n* Metastases for the parathyroid is anything beyond the central and lateral part of the neck.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kakar, S., Pawlik, T.M., Vauthey, J.N., et al. **Exocrine Pancreas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:21.381Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis \n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbx.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbx.json deleted file mode 100644 index ec3256548..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbx.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hbx", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Liver mets WITH other metastatic involvement** \n* Use code 50 only when there are liver metastasis WITH other metastatic involvement. \n * If there are multiple distant mets but liver is not one of them, code 30.\n\n**Note 2:** **Distant metastasis, NOS** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n * If there are specific metastasis documented that are not listed in codes 10, 20, or 30, assign code 30 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Woltering, E.A., Bergsland, E.K., et al. **Neuroendocrine Tumors of the Appendix**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Appendix**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:47.248Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Liver (including liver parenchymal nodule(s))", "VALUE:D" ], [ "20", "Distant lymph node(s)\n- Inferior mesenteric \n- Superior mesenteric\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "30", "At least one extrahepatic site \n- Bone\n- Lung\n- Ovary(ies)\n- Peritoneum (seeding)\n\nOther specified distant metastasis (except liver)\n\nCarcinomatosis\n\nWITH or WITHOUT distant lymph node(s)", "VALUE:D" ], [ "50", "Liver WITH other distant metastasis\n(10) + (20 or 30)", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbz.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbz.json deleted file mode 100644 index 4b1d6fc13..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hbz.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_hbz", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Aloia, T., Pawlik, T.M., Vauthey, J.N., et al. **Intrahepatic Bile Ducts**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:37.998Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Aortocaval\n- Aortic (para-aortic, periaortic)\n- Cardiac\n- Caval (inferior vena cava)\n- Celiac\n- Diaphragmatic, NOS\n- Lateral (aortic) (lumbar)\n- Pericardial (pericardiac)\n- Posterior mediastinal (tracheoesophageal) including juxtaphrenic nodes\n- Renal artery\n- Retroperitoneal, NOS\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "50", "Distant lymph node(s)\n- Left liver (segments 2-4)\n + Pancreaticoduodenal\n + Periduodenal\n + Peripancreatic \n- Right liver (segments 5-8)\n + Gastrohepatic\n + Inferior phrenic", "VALUE:D" ], [ "70", "Carcinomatosis \n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcf.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcf.json deleted file mode 100644 index 005f0b31e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcf.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hcf", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Peritoneal spread and Peritoneal implants** \n* Peritoneal spread is common in appendiceal tumors and is coded as 30 if limited to the peritoneum. \n* Peritoneal implants involving abdominopelvic organs, such as the serosa of the small or large bowel and the surface of the ovary, spleen, or liver, should be coded as 30, regardless of whether implants demonstrate infiltration of underlying tissue, manifested as invasion. \n* Nonperitoneal metastasis, such as pleuropulmonary involvement is rare and would be coded as 50.\n\n**Note 2:** **Distant metastasis, NOS** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n* If there are specific metastasis documented that are not listed in codes 10, 30, 40, or 50, assign code 50 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Overman, M.J., Jessup, J.M., et al. **Appendix - Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:04.571Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Intraperitoneal acellular mucin\n- WITHOUT peritoneal mucinous deposits containing tumor cells or UNKNOWN", "VALUE:D" ], [ "30", "Intraperitoneal metastasis (peritoneal carcinomatosis) \n- WITH or WITHOUT peritoneal mucinous deposits containing tumor cells\n- Includes peritoneal spread with LAMN tumors", "VALUE:D" ], [ "40", "Distant lymph node(s)\n- Inferior mesenteric\n- Superior mesenteric\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "50", "Non-peritoneal metastasis \nWITH or WITHOUT distant lymph nodes or intraperitoneal spread\n\nIntraperitoneal spread WITH distant lymph nodes\n\nOther specified distant metastasis\n\nCarcinomatosis\n* Excludes peritoneal carcinomatosis (see EOD Mets code 30)", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcg.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcg.json deleted file mode 100644 index 927cbbb70..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcg.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_hcg", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rini, B.I., McKiernan, J.M., Stadler, W.M., et al. **Kidney**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:40.161Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Adrenal gland (ipsilateral) (noncontiguous involvement)\n\nExtension to\n- Contralateral adrenal gland\n- Contralateral kidney\n- Contralateral ureter\n- Liver \n- Spleen\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hch.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hch.json deleted file mode 100644 index a7db1fb8d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hch.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_hch", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) DeMatteo, R.P., Maki, R.G., Pollock, R.E., et al. **Gastrointestinal Stromal Tumor**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:11.222Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Peritoneal nodule(s)\nLiver parenchymal nodule(s)\n\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hci.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hci.json deleted file mode 100644 index 900f57f72..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hci.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hci", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Liver mets WITH other metastatic involvement** \n* Use code 50 only when there are liver metastasis WITH other metastatic involvement. \n * If there are multiple distant mets but liver is not one of them, code 30.\n\n**Note 2:** **Distant metastasis, NOS** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n * If there are specific metastasis documented that are not listed in codes 10, 20, or 30, assign code 30 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Shi, C., Woltering, E.A., Washington, M.K., et al. **Neuroendocrine Tumors of the Colon and Rectum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Colon and Rectum**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:27.291Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Liver (including liver parenchymal nodule(s))", "VALUE:D" ], [ "20", "Distant lymph node(s)\n- Colon\n + Iliac (common, external, hypogastric, internal, obturator, NOS)\n + Inferior mesenteric (cecum, ascending colon, hepatic flexure, transverse colon)\n + Para-aortic\n + Retroperitoneal \n + Superior mesenteric\n- Rectosigmoid\n + Hemorrhoidal, inferior (rectosigmoid)\n + Iliac (common, external, hypogastric, internal, obturator)\n + Rectal, inferior \n + Superior mesenteric\n- Rectum\n + Colic (left) (rectum)\n + Iliac (common, external, NOS)\n + Superior mesenteric\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "30", "At least one extrahepatic site\n- Bone\n- Lung\n- Ovary(ies)\n- Peritoneal nodule(s)\n- Peritoneum (seeding)\n\nOther specified distant metastasis (excluding liver)\n\nCarcinomatosis \n\nWITH or WITHOUT distant lymph node(s)", "VALUE:D" ], [ "50", "Liver WITH other distant metastasis\n(10) + (20 or 30)", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hck.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hck.json deleted file mode 100644 index 956ef88e3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hck.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hck", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Liver mets WITH other metastatic involvement** \n* Use code 50 only when there are liver metastasis WITH other metastatic involvement. \n * If there are multiple distant mets but liver is not one of them, code 30.\n\n**Note 2:** **Hepatoduodenal and Pancreaticoduodenal lymph nodes**\n* These nodes have been moved to EOD Regional Nodes for all subsites.\n* **Note:** They are still distant for Summary Stage\n\n**Note 3:** **Distant metastasis, NOS** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n * If there are specific metastasis documented that are not listed in codes 10, 20, or 30, assign code 30 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Woltering, E.A., Bergsland, E.K., et al. **Neuroendocrine Tumors of the Stomach**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Stomach,** from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:48.305Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Liver (including liver parenchymal nodule(s))", "VALUE:D" ], [ "20", "Distant lymph node(s)\n- Intra-abdominal\n- Mesenteric (inferior, superior, NOS)\n- Middle colic\n- Para-aortic\n- Porta hepatic (portal) (hilar) (in hilus of liver)\n- Retropancreatic\n- Retroperitoneal \n- Distant lymph node(s), NOS", "VALUE:D" ], [ "30", "At least one extrahepatic site\n- Bone\n- Lung\n- Ovary(ies)\n- Peritoneum\n\nOther specified distant metastasis (except liver)\n\nCarcinomatosis\n\nWITH or WITHOUT distant lymph node(s)", "VALUE:D" ], [ "50", "Liver WITH other distant metastasis\n(10) + (20 or 30)", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcp.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcp.json deleted file mode 100644 index 9cc1c1f79..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcp.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hcp", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Liver mets WITH other metastatic involvement** \n* Use code 50 only when there are liver metastasis WITH other metastatic involvement. \n * If there are multiple distant mets but liver is not one of them, code 30.\n\n**Note 2:** **Distant metastasis, NOS** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n * If there are specific metastasis documented that are not listed in codes 10, 20, or 30, assign code 30 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Woltering, E.A., Bergsland, E.K., et al. **Neuroendocrine Tumors of the Jejunum and Ileum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Jejunum and Ileum**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:47.763Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Liver (including liver parenchymal nodule(s))", "VALUE:D" ], [ "20", "Distant lymph node(s)\n- Pericholedochal\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "30", "At least one extrahepatic site\n- Bone\n- Lung\n- Ovary(ies)\n- Peritoneum (seeding)\n\nOther specified distant metastasis (except Liver)\n\nCarcinomatosis\n\nWITH or WITHOUT distant lymph node(s)", "VALUE:D" ], [ "50", "Liver WITH other distant metastasis\n(10) + (20 or 30)", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcq.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcq.json deleted file mode 100644 index 859d81565..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcq.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_hcq", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Krasinskas, A., Pawlik, T.M., Vauthey, J.N., et al. **Distal Bile Duct**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:37.585Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Celiac \n- Para-aortic \n- Pericaval \n- Peripancreatic (along body and tail of pancreas only)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcr.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcr.json deleted file mode 100644 index 8f59bccaa..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcr.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_hcr", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Nagorney, D.M., Pawlik, T.M., Vauthey, J.N., et al. **Perihilar Bile Ducts**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:38.368Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Celiac (axis) artery\n- Para-aortic\n- Peripancreatic (along body and tail of pancreas only)\n- Pericaval\n- Superior mesenteric artery\n- Superior mesenteric vein\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcu.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcu.json deleted file mode 100644 index 54b80da52..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcu.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_hcu", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Esmaeli, B., Finger, P.T., et al. **Eyelid Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:32.119Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Metastatic skin lesions with or without distant lymph node(s)\n\nCarcinomatosis \n\nDistant metastasis WITH or WITHOUT distant lymph node(s), NOS\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcv.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcv.json deleted file mode 100644 index e917ecd63..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hcv.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mets_hcv", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Zhu, A.X., Pawlik, T.M., Vauthey, J.N., et al. **Gallbladder**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:39.211Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Peripancreatic (along body and tail of pancreas only)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastases, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hna.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hna.json deleted file mode 100644 index c77aafeca..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hna.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "mets_hna", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "last_modified" : "2025-11-14T20:05:03.500Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "88", "Not applicable: Information not collected for this schema", "VALUE:NA" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hph.json b/src/test/resources/algorithms/eod_public/3.3/tables/mets_hph.json deleted file mode 100644 index d333ecebc..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mets_hph.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "mets_hph", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **Distant metastasis, NOS** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n* If there are specific metastasis documented that are not listed in codes 10, 20, or 30, assign code 50 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bichakjian, C.K., Nghiem, P., Sober, A.J., et al. **Merkel Cell Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:30.139Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS\n- Axillary (lower trunk)\n- Femoral (cephalad/caudal) (upper trunk)\n- Iliac (leg/hip)\n- Supraclavicular (head and neck, arm/shoulder)", "VALUE:D" ], [ "20", "Metastasis to (excluding direct extension)\n- Bone\n- Cartilage\n- Fascia\n- Skeletal muscle\n\nSkin or subcutaneous tissue beyond regional lymph node(s)\n* Underlying cartilage\n\nWITH or WITHOUT distant lymph node(s)", "VALUE:D" ], [ "30", "Lung WITH or WITHOUT metastasis in codes 10 or 20", "VALUE:D" ], [ "50", "Distant metastasis to other sites not in codes 10, 20 or 30\nVisceral metastasis, NOS\nWITH or WITHOUT metastasis in codes 10, 20 or 30\n\nCarcinomatosis", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mgmt_17454.json b/src/test/resources/algorithms/eod_public/3.3/tables/mgmt_17454.json deleted file mode 100644 index 5b5c22235..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mgmt_17454.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mgmt_17454", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Methylation of O6-Methylguanine-Methyltransferase", - "title" : "Methylation of O6-Methylguanine-Methyltransferase (MGMT)", - "description" : "O6-Methylguanine-Methyltransferase (MGMT) is an enzyme in cells that repairs DNA. Methylation of the MGMT gene reduces production of the MGMT enzyme and the ability of tumor cells to repair damage caused by chemotherapy. Methylation of MGMT is a prognostic and predictive factor for high grade gliomas.\n\nO6-Methylguanine-Methyltransferase (MGMT) is an enzyme in cells that repairs DNA. DNA repair is undesirable in tumors, because it may enable them to overcome the DNA damage done by chemotherapy. With methylation, less MGMT enzyme is produced, which may lead to prolonged survival compared to unmethylated MGMT.\n\nA patient with increased MGMT methylation is more likely to respond to alkylating agents such as temozolomide (Temodar) and the nitrosoureas, some of the few drugs effective for brain tumors. MGMT methylation is a special (not routine) molecular test done on tumor tissue. It is used primarily for anaplastic oligodendroglioma, anaplastic astrocytoma and glioblastoma multiforme, but can also be done for low grade malignant central nervous system tumors.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the methylation status of the MGMT, also termed MGMT promoter, gene can be used to code this data item when no other information is available.\n\n**Note 2:** **Applicable histologies**\n* Below is a list of histologies/terms for which the MGMT test is commonly done. If the test was done, record the results, regardless of the histology. If the histology is not listed among those for which the MGMT test is commonly done, and the test result is not readily available, assume it was not done and code 9 for unknown.\n * 9382/3: Anaplastic oligoastrocytoma, NOS\n * 9382/3: Oligoastrocytoma, NOS\n * 9400/3: Diffuse astrocytoma (IDH mutant, IDH wild type, NOS)\n * 9401/3: Anaplastic astrocytoma (IDH mutant, IDH wild type, NOS)\n * 9411/3: Gemistocytic astrocytoma, IDH mutant\n * 9424/3: Anaplastic pleomorphic xanthoastrocytoma\n * 9440/3: Glioblastoma (epithelioid, IDH wild type, NOS)\n * 9441/3: Giant cell glioblastoma\n * 9442/3: Gliosarcoma\n * 9445/3: Glioblastoma, IDH mutant\n * 9450/3: Oligodendroglioma (IDH mutant and 1p/19q codeleted, NOS)\n * 9451/3: Anaplastic oligodendroglioma (IDH mutant and 1p/19 codeleted, NOS)\n * 9505/3: Anaplastic ganglioglioma\n * 9530/3: Anaplastic (malignant)meningioma", - "last_modified" : "2025-11-06T21:33:16.327Z", - "definition" : [ { - "key" : "mgmt", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "MGMT methylation absent/not present, unmethylated MGMT" ], [ "1", "MGMT methylation present, low level\nHypomethylated\nPartial methylated" ], [ "2", "MGMT methylation present, high level\nHypermethylated" ], [ "3", "MGMT methylation present, level unspecified" ], [ "6", "Benign or borderline tumor" ], [ "7", "Test ordered, result not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nCannot be determined by the pathologist\nMGMT not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, specialty, or reference laboratory report\n\n**Other names include** MGMT promoter methylation, methylation status", - "coding_guidelines" : "**1)** **Code 0** when the MGMT is not identified/not present \n\n**2)** **Code 1** when the MGMT is low\n\n**3)** **Code 2** when the MGMT is high\n\n**4)** **Code 3** when the MGMT is mentioned, but not stated as low or high\n\n**5)** **Code 6** for a **Benign (/0)** or **Borderline (/1) tumor**\n\n**6)** **Code 9** when\n* No information in the medical record about MGMT\n* MGMT test not done (not assessed)\n* Unknown if MGMT test was performed (unknown if assessed)", - "rationale" : "Methylation of O6-Methylguanine-Methyltransferase (MGMT) is a Registry Data Collection Variable in AJCC. It was previously collected as Brain, CS SSF #4." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_35598.json b/src/test/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_35598.json deleted file mode 100644 index 87fcd5314..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_35598.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "microsatellite_instability_35598", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Microsatellite Instability", - "title" : "Microsatellite Instability (MSI)", - "description" : "The microsatellite instability (MSI) test is a genetic test performed on tumor tissue to look for differences in length of certain non-functioning sections of DNA. The differences are caused by problems with the genes that encode proteins that normally repair certain types of DNA damage. Knowing whether cancer is microsatellite instability high may help plan the best treatment\n\nMicrosatellites are short, repeated, sequences of DNA. Cancer cells that have large numbers of microsatellites that may have defects in the ability to correct mistakes that occur when DNA is copied in the cell. Microsatellite instability is found most often in colorectal cancer, other types of gastrointestinal cancer, and endometrial cancer. It may also be found in cancers of the breast, prostate, bladder, and thyroid.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2026+\n* For cases diagnosed 2018-2025, this SSDI must be blank\n\n**Note 2:** **Physician Statement**\n* Physician statement of MSI can be used to code this data item when no other information is available.\n\n**Note 3:** **Applicable stages**\n* MSI may be recorded for all stages; however, it is primarily performed for invasive neoplasms\n* For non-invasive neoplasms (behavior /2), code to 9 if no information available.\n\n**Note 4:** **Results from nodal or metastatic tissue**\n* Results from nodal or metastatic tissue may be used for Microsatellite Instability.", - "last_modified" : "2025-11-06T20:29:58.569Z", - "definition" : [ { - "key" : "msi", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Microsatellite instability (MSI) stable; microsatellite stable (MSS); negative, NOS\nAND/OR\nMismatch repair (MMR) intact, no loss of nuclear expression of MMR proteins\nMMR proficient (pMMR or MMR-P)" ], [ "1", "MSI unstable low (MSI-L)" ], [ "2", "MSI unstable high (MSI-H)\nAND/OR\nMMR deficient (dMMR or MMR-D) loss of nuclear expression of one or more MMR proteins, MMR protein deficient)" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nMSI-indeterminate \nMSI-equivocal\nMicrosatellite instability not assessed or unknown if assessed" ], [ "", "Must be blank if diagnosis year is before 2026" ] ], - "additional_info" : "**Source documents:** pathology report\n\n**Other names include** MSI, Mismatch repair, MMR, MSI-H\n\nFor further information, refer to the **Carcinoma of the Endometrium** Reporting cancer protocol published by the College of American Pathologists for the AJCC Staging System *Corpus Uteri-Carcinoma and Adenocarcinoma*.", - "coding_guidelines" : "**Microsatellite Instability (MSI)**\n* Testing for MSI may be done by immunology or genetic testing. Only genetic testing results will specify whether the MSI is low or high.\n* MSI is looking at instability in informative markers\n\n**1)** **Code 0**\n* MSS (Code 0)\n * Stable (Code 0)\n * Negative (Code 0)\n * Low probability of MSI-H (Code 0)\n* MSS/MSI-L (Code 0)\n\n**2)** **Code 1**\n* MSI-L (Code 1)\n\n**3)** **Code 2**\n* Unstable, high (Code 2)\n* Unstable, NOS (no designation of high or low) (Code 2)\n * MSI-H (Code 2)\n\n**4)** **Code 9**\n* MSI-I (intermediate) (Code 9)\n\n\n**Mismatch Repair (MMR)**\n* Testing for Mismatch Repair (MMR) is usually done by immunohistochemistry (IHC).\n* Most common markers are MLH1, MSH2, MSH6, PMS2\n \n**1)** **Code 0**\n* No loss of nuclear expression (code 0)\n* Mismatch repair (MMR) intact (code 0)\n* MMR proficient (pMMR or MMR-P) (code 0)\n * MMR normal (code 0)\n\n**2)** **Code 2**\n* Loss of nuclear expression (code 2)\n* MMR deficient (dMMR or MMR-D) (code 2)\n * MMR abnormal (code 2)\n\n\n**MSI and MMR**\n\n**1)** **Code 0** If all tests done are negative\n\n**2)** **Code 2** If both tests are done and one or both are positive" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_7008.json b/src/test/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_7008.json deleted file mode 100644 index ddd7029f4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/microsatellite_instability_7008.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "microsatellite_instability_7008", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Microsatellite Instability", - "title" : "Microsatellite Instability (MSI)", - "description" : "The microsatellite instability (MSI) test is a genetic test performed on tumor tissue to look for differences in length of certain non-functioning sections of DNA. The differences are caused by problems with the genes that encode proteins that normally repair certain types of DNA damage. Knowing whether cancer is microsatellite instability high may help plan the best treatment\n\nMicrosatellites are short, repeated, sequences of DNA. Cancer cells that have large numbers of microsatellites that may have defects in the ability to correct mistakes that occur when DNA is copied in the cell. Microsatellite instability is found most often in colorectal cancer, other types of gastrointestinal cancer, and endometrial cancer. It may also be found in cancers of the breast, prostate, bladder, and thyroid. \n\nHigh MSI, found in about 15% of colorectal carcinomas, is an adverse prognostic factor for colorectal carcinomas and predicts poor response to 5-FU chemotherapy (although the addition of oxaliplatin in FOLFOX regimens negates the adverse effects. High MSI is a hallmark of hereditary nonpolyposis colorectal carcinoma, also known as Lynch syndrome.\n\nA high proportion of colon cancers arising in patients with hereditary nonpolyposis colorectal cancer (HNPCC) (also known as Lynch syndrome) have high MSI and a smaller percentage of colon cancers not associated with Lynch syndrome have high MSI. Patients with colon cancers with high MSI may be further tested to determine if they have HNPCC. In addition, MSI is a useful prognostic marker in that patients with high MSI colon cancers have better response to surgery and survival.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of MSI can be used to code this data item when no other information is available.\n\n**Note 2:** **Applicable stages**\n* MSI may be recorded for all stages; however, it is primarily performed for invasive neoplasms\n* For non-invasive neoplasms (behavior /2), code to 9 if no information available.\n\n**Note 3:** **Results from nodal or metastatic tissue**\n* Results from nodal or metastatic tissue may be used for Microsatellite Instability.", - "last_modified" : "2025-11-06T18:04:16.825Z", - "definition" : [ { - "key" : "msi", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Microsatellite instability (MSI) stable; microsatellite stable (MSS); negative, NOS\nAND/OR\nMismatch repair (MMR) intact, no loss of nuclear expression of MMR proteins\nMMR proficient (pMMR or MMR-P)" ], [ "1", "MSI unstable low (MSI-L)" ], [ "2", "MSI unstable high (MSI-H)\nAND/OR\nMMR deficient (dMMR or MMR-D) loss of nuclear expression of one or more MMR proteins, MMR protein deficient)" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nMSI-indeterminate \nMSI-equivocal\nMicrosatellite instability not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\n**Other names include** MSI, Mismatch repair, MMR, MSI-H\n\nFor further information, refer to the **Colon and Rectum Biomarker** Reporting cancer protocol published by the College of American Pathologists for the AJCC Staging System *Colon and Rectum*.", - "coding_guidelines" : "**Microsatellite Instability (MSI)**\n* Testing for MSI may be done by immunology or genetic testing. Only genetic testing results will specify whether the MSI is low or high.\n* MSI is looking at instability in informative markers\n\n**1)** **Code 0**\n* MSS (Code 0)\n * Stable (Code 0)\n * Negative (Code 0)\n * Low probability of MSI-H (Code 0)\n* MSS/MSI-L (Code 0)\n\n **2)** **Code 1**\n* MSI-L (Code 1)\n\n**3)** **Code 2**\n* Unstable, high (Code 2)\n* Unstable, NOS (no designation of high or low) (Code 2)\n * MSI-H (Code 2)\n\n**4)** **Code 9**\n* MSI-I (intermediate) (Code 9)\n\n\n**Mismatch Repair (MMR)**\n* Testing for Mismatch Repair (MMR) is usually done by immunohistochemistry (IHC).\n* Most common markers are MLH1, MSH2, MSH6, PMS2\n \n**1)** **Code 0**\n* No loss of nuclear expression (code 0)\n* Mismatch repair (MMR) intact (code 0)\n* MMR proficient (pMMR or MMR-P) (code 0)\n * MMR normal (code 0)\n\n**2)** **Code 2**\n* Loss of nuclear expression (code 2)\n* MMR deficient (dMMR or MMR-D) (code 2)\n * MMR abnormal (code 2)\n\n\n**MSI and MMR**\n\n**1)** **Code 0** If all tests done are negative\n\n**2)** **Code 2** If both tests are done and one or both are positive", - "rationale" : "Microsatellite Instability (MSI) is a Registry Data Collection Variable in AJCC. It was previously collected as Colon and Rectum, CS SSF #7." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/microvascular_density_70589.json b/src/test/resources/algorithms/eod_public/3.3/tables/microvascular_density_70589.json deleted file mode 100644 index ea160ebf0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/microvascular_density_70589.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "microvascular_density_70589", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Microvascular Density", - "title" : "Microvascular Density (MVD)", - "description" : "Microvascular Density, a quantitative measure of tumor vascularity, is a prognostic factor for uveal melanoma.\n\nA high density of microvessels, identified immunohistochemically using antibodies for vascular endothelial cells (such as Factor VIII-associated antigen, CD34 epitope, etc.), has prognostic significance in a melanoma of the uvea. Higher counts have more unfavorable outcome. To obtain microvascular density, the pathologist, using a microscope with an eyepiece graticule (grid) of approximately 0.3 square mm and X200 magnification, counts microvessels from the most highly vascularized areas (“hot spots”) of the tumor, identified by scanning the entire immunostained tumor at lower magnification. Any immunolabeled element, clearly separate from an adjacent one and either totally inside the graticule or touching its top or left border, is counted as a microvessel. In several studies, the range of microvascular density was from 5 to 121 vessels, although this will vary depending on the type of immunostaining and area of graticule used.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of microvascular density (MVD) can be used to code this data item when no other information is available.\n\n**Note 2:** **Recording the results** \n* Record the results as expressed on the laboratory test\n* Record the information based on quartiles for laboratory standards if this is the only expression of results.\n* Code the microvascular density (number of microvessels) in whole numbers as stated in the pathology report in the code range 001 (1 vessel per 0.3 square millimeters) to 500 (500 vessels per 0.3 square millimeters).", - "last_modified" : "2025-11-06T15:27:10.445Z", - "definition" : [ { - "key" : "mvd", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No vessels involved" ], [ "01-99", "01-99 vessels per 0.3 square millimeter (mm2)" ], [ "X1", "Greater than or equal to 100 vessels per 0.3 square millimeter (mm2)" ], [ "X2", "Lowest quartile for laboratory" ], [ "X3", "Second quartile for laboratory" ], [ "X4", "Third quartile for laboratory" ], [ "X5", "Highest quartile for laboratory" ], [ "X7", "Test ordered, results not in chart" ], [ "X8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "X9", "Not documented in medical record\nMicrovascular Density (MVD) not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\nFor further information, refer to the **Uveal Melanoma** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Uveal Melanoma*.", - "rationale" : "Microvascular Density is a Registry Data Collection Variable in AJCC. This data item was previously collected as Uveal Melanoma, CS SSF #13." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mitotic_count_uveal_melanoma_26990.json b/src/test/resources/algorithms/eod_public/3.3/tables/mitotic_count_uveal_melanoma_26990.json deleted file mode 100644 index f25f4dbe0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mitotic_count_uveal_melanoma_26990.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "mitotic_count_uveal_melanoma_26990", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Mitotic Count Uveal Melanoma", - "title" : "Mitotic Count Uveal Melanoma", - "description" : "Mitotic Count Uveal Melanoma, the number of mitoses per 40 high-power fields (HPF) based on pathological evaluation, is a prognostic factor for uveal melanoma.\n\nMitotic count is collected for several different types of cancers. For melanomas of the choroids, ciliary body and iris, the standard measurement is the total number of mitoses per 40 high power fields (HPF at 40 times magnification) per 0.152 square millimeters.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of mitotic count for a uveal melanoma can be used to code this data item when no other information is available. \n\n**Note 2:** **Mitotic count defined** \n* The number of mitoses per 40 high-power fields (HPF), reflects the potential aggressiveness or prognosis of uveal melanomas\n* This data item presumes the denominator of 40 HPF, so just the numerator (the mitotic count) is coded here. \n* For other schemas in which mitotic count is collected, the denominator may vary.\n\n**Note 3:** **High Power Field (HPF) defined** \n* An HPF usually has a magnification objective of 40 (a 40x field) \n* As described in the AJCC chapter on Uveal Melanomas, the typical field area is 0.152 square millimeters (mm2).\n\n**Note 4:** **Recording the results** \n* Record mitotic count to the nearest tenth as documented in the pathology report. \n* For example, a mitotic count of 6/40 HPF would be coded 6.0.", - "last_modified" : "2025-11-06T15:27:24.605Z", - "definition" : [ { - "key" : "mitotic_count_uveal_mel", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "0 mitoses per 40 high-power fields (HPF) \nMitoses absent, no mitoses present, no mitotic activity" ], [ "0.1-99.9", "0.1-99.9 mitosis per 40 HPF " ], [ "XX.1", "100 or more mitoses per 40 HPF" ], [ "XX.2", "Stated as low mitotic count or rate with no specific number" ], [ "XX.3", "Stated as high mitotic count or rate with no specific number" ], [ "XX.4", "Mitotic count described with denominator other than 40 HPF " ], [ "XX.7", "Test ordered, results not in chart" ], [ "XX.8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code XX.8 may result in an edit error.)" ], [ "XX.9", "Not documented in medical record\nMitotic Count Uveal Melanoma not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\nFor further information, refer to the **Uveal Melanoma** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Uveal Melanoma*.", - "rationale" : "Mitotic Count Uveal Melanoma is listed as a Registry Data Collection Variable in AJCC. It was previously collected as Uveal Melanoma, CS SSF #9." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/mitotic_rate_melanoma_88184.json b/src/test/resources/algorithms/eod_public/3.3/tables/mitotic_rate_melanoma_88184.json deleted file mode 100644 index a169878b8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/mitotic_rate_melanoma_88184.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "mitotic_rate_melanoma_88184", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Mitotic Rate Melanoma", - "title" : "Mitotic Rate Melanoma", - "description" : "Mitotic Rate Melanoma, the number of mitoses per square millimeter based on pathological evaluation, is a prognostic factor for melanoma of the skin.\n\nMitotic count is a way of describing the potential aggressiveness of a tumor. Record the number of cells actively dividing as determined by the pathologist. The count will vary according to the type of tumor.", - "notes" : "**Note:** **Physician Statement** \n* Physician statement of the Mitotic Rate Melanoma can be used to code this data item when no other information is available.", - "last_modified" : "2025-11-06T15:49:05.158Z", - "definition" : [ { - "key" : "mitotic_rate_melanoma", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "0 mitoses per square millimeter (mm)\nMitoses absent\nNo mitoses present" ], [ "01-99", "1 - 99 mitoses/square mm\n(Exact measurement in mitoses/square mm)" ], [ "X1", "100 mitoses/square mm or more" ], [ "X2", "Stated as \"less than 1 mitosis/square mm\"\nStated as \"nonmitogenic\"" ], [ "X3", "Stated as \"at least 1 mitosis/square mm\"\nStated as \"mitogenic\"" ], [ "X4", "Mitotic rate described with denominator other than square millimeter (mm)" ], [ "X7", "Test ordered, results not in chart" ], [ "X8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code X8 may result in an edit error.)" ], [ "X9", "Not documented in medical record\nMitotic Rate Melanoma not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\n**Other names include** mitotic rate, mitotic index (a ratio—do not record this measurement), mitotic activity\n\nFor further information, refer to the **Melanoma of the Skin** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Melanoma of the Skin*.", - "coding_guidelines" : "**1)** Record the mitotic rate/count as documented in the pathology report. \n\n**2)** If there is more than one pathology report for the same melanoma at initial diagnosis and different mitotic counts are documented, code the highest mitotic count from any of the pathology reports.\n\n**3)** The term \"mitotic figures\" is the same as mitoses.", - "rationale" : "Mitotic Rate Melanoma is a Registry Data Collection Variable in AJCC. It was previously collected as Melanoma Skin, CS SSF #7." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/multigene_signature_method_85043.json b/src/test/resources/algorithms/eod_public/3.3/tables/multigene_signature_method_85043.json deleted file mode 100644 index e2fbde09b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/multigene_signature_method_85043.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "multigene_signature_method_85043", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Multigene Signature Method", - "title" : "Multigene Signature Method", - "description" : "Multigene signatures or classifiers are assays of a panel of genes from a tumor specimen, intended to provide a quantitative assessment of the likelihood of response to chemotherapy and to evaluate prognosis or the likelihood of future metastasis. This data item identifies the multigene signature method used. Oncotype Dx is coded elsewhere.\n\nMultigene testing is usually done for node-negative female breast cancer patients to predict risk of recurrence within a specified time period or to predict the likelihood that the patient will respond to specific types of chemotherapy. Multigene testing helps tailor treatment for the woman’s specific cancer characteristics. Recent studies indicate that these tests may also be helpful in planning treatment and predicting recurrence in node positive women with small tumors. Some types of tests may be specific to ER positive or negative patients or women in a certain age range. Many different types of genetic testing are available, including IHC-, FISH-, RT-PCR-, and genomic microarray-based multigene predictors.\n\nInformation is collected on the following tests \n* **MammaPrint:** A genomic test that analyzes the activity of certain genes in early-stage breast cancer. Developed to help make treatment decisions based on the cancer's risk of coming back (recurrence) within 10 years after diagnosis. \n* **PAM 50 (Prosigna):** PAM50 stands for Prediction Analysis of Microarray 50. It tests a sample of the tumor (removed during a biopsy or surgery) for a group of 50 genes. Along with other factors, the results of the PAM50 (Prosigna) test help predict the chance of metastasis (when cancer spreads to other organs). Prosigna also helps to determine the molecular subtype of breast cancer.\n* **Breast Cancer Index:** Analyzes the activity of seven genes to help predict the risk of node-negative, hormone-receptor-positive breast cancer coming back 5 to 10 years after diagnosis. The test can help women and their doctors decide if extending hormonal therapy 5 more years (for a total of 10 years of hormonal therapy) would be beneficial. The Breast Cancer Index reports two scores: how likely the cancer is to recur 5 to 10 years after diagnosis and how likely a woman is to benefit from taking hormonal therapy for a total of 10 years. \n* **EndoPredict:** A genomic test for people newly diagnosed with early-stage, estrogen-receptor-positive, HER2-negative breast cancer. May be used to help make treatment decisions based on the cancer's risk of coming back in a part of the body away from the breast (distant metastasis) within 10 years after diagnosis. The EndoPredict test provides a risk score that is either low-risk or high-risk of breast cancer recurring as distant metastasis. Knowing if the cancer has a high or low risk of recurrence can help women and their doctors decide if chemotherapy or other treatments to reduce risk after surgery are needed. \n\nFor the Breast cases, there are 2 related data items that record information on Multigene testing.\n* 3894: Multigene Signature Method\n* 3895: Multigene Signature Results\n\nThese two fields record the type of multigene signature test that was performed. Both fields should be coded from the same test, which may not be available at the time of diagnosis.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of the Multigene Signature Method can be used to code this data item when no other information is available.\n\n**Note 2:** **Multigene signatures/classifiers**\n* Multigene signatures or classifiers are assays of a panel of genes from a tumor specimen, intended to provide a quantitative assessment of the likelihood of response to chemotherapy and to evaluate prognosis or the likelihood of future metastasis.\n* Only record tests done on tumor tissue that help determine if the cancer is likely to recur.\n * Don’t include other tests, such as those that evaluate hereditary mutations that influence a patient’s risk of developing cancer (e.g. myRisk, BRCA)\n* Only record tests that are based on gene assays.\n* Don’t include other tests which use a multivariate data model to eliminate the need for genetic assays\n\n**Note 3:** **Oncotype Dx tests**\n* Oncotype Dx tests are not recorded in this data item. See the following related data items for Oncotype Dx.\n * 3903: Oncotype Dx Recurrence Score-DCIS\n * 3904: Oncotype Dx Recurrence Score-Invasive\n * 3905: Oncotype Dx Risk Level-DCIS\n * 3906: Oncotype Dx Risk Level-Invasive\n\n**Note 4:** **Related data item** \n* Code the type of test performed. The same test should be used to record the related data item 3895: Multigene Signature Results.", - "last_modified" : "2025-11-05T21:02:29.129Z", - "definition" : [ { - "key" : "multigene_signature_method", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "MammaPrint" ], [ "2", "PAM50 (Prosigna)" ], [ "3", "Breast Cancer Index" ], [ "4", "EndoPredict" ], [ "5", "Test performed, type of test unknown" ], [ "6", "Multiple tests, any tests in codes 1-4" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nMultigene Signature Method not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** specialty reference laboratories (private companies with proprietary testing methods); the actual report may be included in the medical record or may be referenced by the clinician\n\n**Other names include:** genomic profiling, multigene testing, multigene assay, microarray assay, molecular diagnostics for treatment planning", - "rationale" : "Rationale\nMultigene Signature Method is a Registry Data Collection Variable in AJCC. It was previously collected as Breast, CS SSF #22. See also Multigene Signature Results." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/multigene_signature_result_37000.json b/src/test/resources/algorithms/eod_public/3.3/tables/multigene_signature_result_37000.json deleted file mode 100644 index 52bf6eedd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/multigene_signature_result_37000.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "multigene_signature_result_37000", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Multigene Signature Result", - "title" : "Multigene Signature Result", - "description" : "Multigene signatures or classifiers are assays of a panel of genes from a tumor specimen, intended to provide a quantitative assessment of the likelihood of response to chemotherapy and to evaluate prognosis or the likelihood of future metastasis. This data item identifies the multigene signature result. Oncotype Dx is coded elsewhere.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of the Multigene Signature Results can be used to code this data item when no other information is available.\n\n**Note 2:** **Score or Risk** \n* Code the score or risk for the test performed. The same test should be used to record the related data item 3894: Multigene Signature Method.\n\n**Note 3:** **Oncotype Dx tests** \n* Oncotype Dx tests are not recorded in this data item. See the following related data items for Oncotype Dx.\n * 3903: Oncotype Dx Recurrence Score-DCIS\n * 3904: Oncotype Dx Recurrence Score-Invasive\n * 3905: Oncotype Dx Risk Level-DCIS\n * 3906: Oncotype Dx Risk Level-Invasive", - "last_modified" : "2025-11-05T21:03:11.920Z", - "definition" : [ { - "key" : "multigene_signature_result", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00-99", "Enter actual recurrence score \nNote: Depending on the test, the range of values may be different" ], [ "X1", "Score 100" ], [ "X2", "Low risk" ], [ "X3", "Moderate [intermediate] risk" ], [ "X4", "High risk" ], [ "X7", "Test done, results not in chart" ], [ "X8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code X8 will result in an edit error.)" ], [ "X9", "Not documented in medical record\nMultigene Signature Results not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** specialty reference laboratories (private companies with proprietary testing methods); the actual report may be included in the medical record or may be referenced by the clinician\n\n**Other names include:** genomic profiling, multigene testing, multigene assay, microarray assay, molecular diagnostics for treatment planning", - "rationale" : "Multigene Signature Results is a Registry Data Collection Variable in AJCC. It was previously collected as Breast, CS SSF #23. See also Multigene Signature Method." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/multiple_myeloma_terminology_20875.json b/src/test/resources/algorithms/eod_public/3.3/tables/multiple_myeloma_terminology_20875.json deleted file mode 100644 index 6cc8aea13..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/multiple_myeloma_terminology_20875.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "multiple_myeloma_terminology_20875", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Discriminator 1", - "title" : "Schema Discriminator 1: Myeloma Terminology", - "description" : "A variety of descriptive terms refer to early phases of plasma cell myeloma, all of which are coded to 9732, and reportable based on the 2010 Hematopoietic and Lymphoid Neoplasms coding rules. \n\nPer AJCC 8th edition, not all terms are applicable for the Revised International Staging System (RISS or R-ISS) stage. This schema discriminators collects the specific terminology used to describe the plasma cell myeloma at the time of diagnosis.", - "notes" : "**Note 1:** **Code Selection** \n* Select the code based on the terminology specified by the physician in the record. Do not attempt to determine the correct terminology based on the diagnostic criteria in the AJCC 8th table 82.1\n* Do not change the discriminator code if a term used later indicates progression to a more aggressive disease course.\n\n**Note 2:** **Plasma cell leukemia** \n* Code 0 if diagnosis is plasma cell leukemia variant and is diagnosed concomitant with plasma cell myeloma", - "last_modified" : "2025-11-06T22:00:04.436Z", - "definition" : [ { - "key" : "discriminator_1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "stage_description", - "name" : "Staging", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**Multiple myeloma**\n* Myeloma, NOS\n* Non-secretory myeloma\n* Plasma cell myeloma (PCM)\n* Ultra-High-Risk Smoldering MM (SMM)", "RISS Stage" ], [ "1", "Smoldering plasma cell myeloma (SPCM)\n Asymptomatic plasma cell myeloma\n Early myeloma\n Evolving myeloma", "No RISS Stage" ], [ "9", "**Other terminology describing myeloma**\n Unknown terminology used", "No RISS Stage" ] ], - "additional_info" : "**Source documents:** pathology report, clinician’s statement", - "rationale" : "A schema discriminator is used to assign AJCC ID when site and histology alone are insufficient to identify the applicable AJCC staging method and to assign Schema ID, which links each case to the appropriate SSDIs, Grade, Summary Stage and EOD data collection system." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nasopharynx_pharyngealtonsil_84756.json b/src/test/resources/algorithms/eod_public/3.3/tables/nasopharynx_pharyngealtonsil_84756.json deleted file mode 100644 index 4a2993c12..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nasopharynx_pharyngealtonsil_84756.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "nasopharynx_pharyngealtonsil_84756", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Discriminator 1", - "title" : "Schema Discriminator 1: Nasopharynx/PharyngealTonsil", - "description" : "Nasopharynx and pharyngeal tonsil have the same ICD-O topography code (C111). However, for purposes of stage grouping AJCC 8th edition, nasopharynx and pharyngeal tonsil are staged in different chapters. A schema discriminator is necessary to distinguish between these primary sites so that the appropriate chapter/schema is used.\n\n**Note: This schema discriminator is only needed for diagnosis years 2018-2024. It should be left blank for diagnosis years 2025 and after.**", - "notes" : "**Note:** **Schema discriminator for C111** \n* A schema discriminator is used to discriminate for primary site C111: Posterior wall of nasopharynx. Code the specific site in which the tumor arose.\n\n* **This schema discriminator is only needed for diagnosis years 2018-2024. It should be left blank for diagnosis years 2025 and after.**\n\n* **00090: Nasopharynx (see code 1)**\n\n Used to stage for the following primary site description: posterior wall of nasopharynx (NOS)\n\n* **00100 (Oropharyngeal HPV-Associated) or \n00111 (Oropharyngeal HPV-Independent) (see code 2)**\n\n Oropharynx Staging Systems are used for the following primary site descriptions. An additional schema discriminator will be used to distinguish between the AJCC HPV-Mediated (p16+) Oropharyngeal Cancer and Oropharynx (p16-) and Hypopharynx Staging System \n * Adenoid\n * Pharyngeal tonsil", - "last_modified" : "2025-11-06T17:16:57.484Z", - "definition" : [ { - "key" : "discriminator_1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "disease", - "name" : "Schema ID #/Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Posterior wall of nasopharynx, NOS ", "00090: Nasopharynx 8th (2018-2024)" ], [ "2", "Adenoid\nPharyngeal tonsil", "3927: Schema discriminator 2: Oropharyngeal p16" ], [ "", "Primary Site is NOT C111, Discriminator is not necessary\nYear of Diagnosis is 2025 or later, Discriminator is not necessary", "" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, clinician’s statement\n\nFor further information, refer to the **Pharynx** cancer protocol published by the College of American Pathologist for the AJCC Staging Systems *Nasopharynx, Oropharynx (p16-) and Oropharynx HPV-mediated (p16+)*.", - "rationale" : "A schema discriminator is used to assign AJCC ID when site and histology alone are insufficient to identify the applicable AJCC staging method and to assign Schema ID, which links each case to the appropriate SSDIs, Summary Stage and EOD data collection system." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_clinical_response_31723.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_clinical_response_31723.json deleted file mode 100644 index ef9f70cef..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_clinical_response_31723.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "neoadj_tx_clinical_response_31723", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Neoadj Tx Clinical Response", - "title" : "Neoadjuvant Therapy-Clinical Response", - "description" : "This data item records the clinical outcomes of neoadjuvant therapy prior to planned surgical resection.", - "notes" : "This data items provides information related to the quality of care and describes the clinical outcomes after neoadjuvant therapy. This data item provides prognostically relevant information by quantifying the extent of therapy-induced tumor regression. Therefore, this item can provide a better risk stratification for patients who received neoadjuvant therapy. In addition, this data item can contribute to assessments of cancer care quality.\n\nThis data item records the clinical outcomes of neoadjuvant therapy as determined by the managing physician (oncologic surgeon, radiation oncologist or medical oncologist).\n\nFor the purposes of this data item, neoadjuvant therapy is defined as systemic treatment (chemotherapy, endocrine / hormone therapy, targeted therapy, immunotherapy, or biological therapy) and/or radiation therapy given to shrink a tumor before surgical resection.\n\nSee the [SEER Coding Manual](https://seer.cancer.gov/manuals/2023/SPCSM_2023_MainDoc.pdf) for additional information.", - "last_modified" : "2024-04-24T13:05:09.672Z", - "definition" : [ { - "key" : "neoadj_tx_clinical_response", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Neoadjuvant therapy not given" ], [ "1", "Complete clinical response (CR) (per managing/treating physician statement)" ], [ "2", "Partial clinical response (PR) (per managing/treating physician statement)" ], [ "3", "Progressive disease (PD) (per managing/treating physician statement)" ], [ "4", "Stable disease (SD) (per managing/treating physician statement)" ], [ "5", "No response (NR) (per managing/treating physician statement); Not stated as progressive disease (PD) or stable disease (SD)" ], [ "6", "Neoadjuvant therapy done, managing/treating physician interpretation not available, treatment response inferred from imaging, biomarkers, or yc stage" ], [ "7", "Complete clinical response based on biopsy results from a pathology report (per pathologist assessment)" ], [ "8", "Neoadjuvant therapy done, response not documented or unknown" ], [ "9", "Unknown if neoadjuvant therapy performed;\nDeath Certificate only (DCO)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_18122.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_18122.json deleted file mode 100644 index 1585d77ce..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_18122.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "neoadj_tx_treatment_effect_18122", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Neoadj Tx Treatment Effect", - "title" : "Neoadjuvant Therapy-Treatment Effect", - "description" : "This data item records the pathologist’s statement of neoadjuvant treatment effect on the primary tumor from the surgical pathology report. Whenever treatment effect definitions are recommended by or available in CAP Cancer Protocols, this data item follows the CAP definitions indicating absent or present effect. When specific CAP definitions are not available, registrars should use treatment effect general use categories.", - "notes" : "This data item provides information related to the quality of care and describes the pathological outcomes after neoadjuvant therapy. This data item provides prognostically relevant information by quantifying the extent of therapy-induced tumor regression. Therefore, this item can provide a better risk stratification for patients who received neoadjuvant therapy. In addition, this data item can contribute to assessments of cancer care quality.\n\nSee the [SEER Coding Manual](https://seer.cancer.gov/manuals/2023/SPCSM_2023_MainDoc.pdf) for additional information.", - "last_modified" : "2023-12-12T17:43:10.664Z", - "definition" : [ { - "key" : "neoadj_tx_treatment_effect", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Neoadjuvant therapy not given/no known presurgical therapy" ], [ "1", "Complete pathological response\nPresent: No viable cancer cells/no residual invasive carcinoma identified\nResidual in situ carcinoma only" ], [ "2", "Near complete pathological response Present: Single cells or rare small groups of invasive cancer cells" ], [ "3", "Partial or minimal pathological response Present: Residual invasive cancer with evident tumor regression, but more than single cells or rare small groups of cancer cells" ], [ "4", "Poor or no pathological response\nAbsent: Extensive residual cancer with no evident tumor regression" ], [ "6", "Neoadjuvant therapy completed and surgical resection performed, response not documented or unknown;\nCannot be determined" ], [ "7", "Neoadjuvant therapy completed and planned surgical resection not performed" ], [ "9", "Unknown if neoadjuvant therapy performed;\nUnknown if planned surgical procedure performed after completion of neoadjuvant therapy;\nDeath certificate only (DCO)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_23019.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_23019.json deleted file mode 100644 index a0ed72d5f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_23019.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "neoadj_tx_treatment_effect_23019", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Neoadj Tx Treatment Effect", - "title" : "Neoadjuvant Therapy-Treatment Effect", - "description" : "This data item records the pathologist’s statement of neoadjuvant treatment effect on the primary tumor from the surgical pathology report. Whenever treatment effect definitions are recommended by or available in CAP Cancer Protocols, this data item follows the CAP definitions indicating absent or present effect. When specific CAP definitions are not available, registrars should use treatment effect general use categories.", - "notes" : "This data item provides information related to the quality of care and describes the pathological outcomes after neoadjuvant therapy. This data item provides prognostically relevant information by quantifying the extent of therapy-induced tumor regression. Therefore, this item can provide a better risk stratification for patients who received neoadjuvant therapy. In addition, this data item can contribute to assessments of cancer care quality.\n\nSee the [SEER Coding Manual](https://seer.cancer.gov/manuals/2023/SPCSM_2023_MainDoc.pdf) for additional information.", - "last_modified" : "2023-12-13T14:45:17.321Z", - "definition" : [ { - "key" : "neoadj_tx_treatment_effect", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Neoadjuvant therapy not given/no known presurgical therapy" ], [ "1", "No residual invasive carcinoma identified\nResidual in situ carcinoma only \nStated as Complete response (CR)" ], [ "2", "Radiation therapy effect present " ], [ "3", "Hormonal therapy effect present " ], [ "4", "Other therapy effect(s) present " ], [ "6", "Neoadjuvant therapy completed and surgical resection performed, response not documented or unknown;\nCannot be determined" ], [ "7", "Neoadjuvant therapy completed and planned surgical resection not performed" ], [ "9", "Unknown if neoadjuvant therapy performed;\nUnknown if planned surgical procedure performed after completion of neoadjuvant therapy;\nDeath certificate only (DCO)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_34708.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_34708.json deleted file mode 100644 index 8903d1da6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_34708.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "neoadj_tx_treatment_effect_34708", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Neoadj Tx Treatment Effect", - "title" : "Neoadjuvant Therapy-Treatment Effect", - "description" : "This data item records the pathologist’s statement of neoadjuvant treatment effect on the primary tumor from the surgical pathology report. Whenever treatment effect definitions are recommended by or available in CAP Cancer Protocols, this data item follows the CAP definitions indicating absent or present effect. When specific CAP definitions are not available, registrars should use treatment effect general use categories.", - "notes" : "This data item provides information related to the quality of care and describes the pathological outcomes after neoadjuvant therapy. This data item provides prognostically relevant information by quantifying the extent of therapy-induced tumor regression. Therefore, this item can provide a better risk stratification for patients who received neoadjuvant therapy. In addition, this data item can contribute to assessments of cancer care quality.\n\nSee the [SEER Coding Manual](https://seer.cancer.gov/manuals/2023/SPCSM_2023_MainDoc.pdf) for additional information.", - "last_modified" : "2023-12-13T14:45:14.377Z", - "definition" : [ { - "key" : "neoadj_tx_treatment_effect", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Neoadjuvant therapy not given/no known presurgical therapy" ], [ "1", "No residual invasive carcinoma present in the breast after presurgical therapy \nResidual in situ carcinoma only \nStated as Complete response (CR)" ], [ "3", "Probable or definite response to presurgical therapy in the invasive carcinoma\nStated as Partial response (PR) \nStated as minimal or near complete response" ], [ "4", "No definite response to presurgical therapy in the invasive carcinoma \nStated as No response (NR) \nStated as poor response" ], [ "6", "Neoadjuvant therapy completed and surgical resection performed, response not documented or unknown;\nCannot be determined" ], [ "7", "Neoadjuvant therapy completed and planned surgical resection not performed" ], [ "9", "Unknown if neoadjuvant therapy performed;\nUnknown if planned surgical procedure performed after completion of neoadjuvant therapy;\nDeath certificate only (DCO)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_4391.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_4391.json deleted file mode 100644 index a5f4b0f07..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_4391.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "neoadj_tx_treatment_effect_4391", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Neoadj Tx Treatment Effect", - "title" : "Neoadjuvant Therapy-Treatment Effect", - "description" : "This data item records the pathologist’s statement of neoadjuvant treatment effect on the primary tumor from the surgical pathology report. Whenever treatment effect definitions are recommended by or available in CAP Cancer Protocols, this data item follows the CAP definitions indicating absent or present effect. When specific CAP definitions are not available, registrars should use treatment effect general use categories.", - "notes" : "This data item provides information related to the quality of care and describes the pathological outcomes after neoadjuvant therapy. This data item provides prognostically relevant information by quantifying the extent of therapy-induced tumor regression. Therefore, this item can provide a better risk stratification for patients who received neoadjuvant therapy. In addition, this data item can contribute to assessments of cancer care quality.\n\nSee the [SEER Coding Manual](https://seer.cancer.gov/manuals/2023/SPCSM_2023_MainDoc.pdf) for additional information.", - "last_modified" : "2023-12-13T14:45:26.519Z", - "definition" : [ { - "key" : "neoadj_tx_treatment_effect", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Neoadjuvant therapy not given/no known presurgical therapy" ], [ "1", "No residual invasive carcinoma identified\nResidual in situ carcinoma only \nStated as Complete response (CR)" ], [ "2", "Less than or equal to 10% residual viable tumor " ], [ "3", "Greater than 10% of residual viable tumor " ], [ "4", "Residual viable tumor, percentage not stated \nStated as partial response" ], [ "6", "Neoadjuvant therapy completed and surgical resection performed, response not documented or unknown;\nCannot be determined" ], [ "7", "Neoadjuvant therapy completed and planned surgical resection not performed" ], [ "9", "Unknown if neoadjuvant therapy performed;\nUnknown if planned surgical procedure performed after completion of neoadjuvant therapy;\nDeath certificate only (DCO)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_52725.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_52725.json deleted file mode 100644 index 1a0735a0d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_52725.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "neoadj_tx_treatment_effect_52725", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Neoadj Tx Treatment Effect", - "title" : "Neoadjuvant Therapy-Treatment Effect", - "description" : "This data item records the pathologist’s statement of neoadjuvant treatment effect on the primary tumor from the surgical pathology report. Whenever treatment effect definitions are recommended by or available in CAP Cancer Protocols, this data item follows the CAP definitions indicating absent or present effect. When specific CAP definitions are not available, registrars should use treatment effect general use categories.", - "notes" : "This data item provides information related to the quality of care and describes the pathological outcomes after neoadjuvant therapy. This data item provides prognostically relevant information by quantifying the extent of therapy-induced tumor regression. Therefore, this item can provide a better risk stratification for patients who received neoadjuvant therapy. In addition, this data item can contribute to assessments of cancer care quality.\n\nSee the [SEER Coding Manual](https://seer.cancer.gov/manuals/2023/SPCSM_2023_MainDoc.pdf) for additional information.", - "last_modified" : "2023-12-13T14:45:11.033Z", - "definition" : [ { - "key" : "neoadj_tx_treatment_effect", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No Neoadjuvant therapy (not applicable)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_61650.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_61650.json deleted file mode 100644 index 0aff8e750..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_61650.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "neoadj_tx_treatment_effect_61650", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Neoadj Tx Treatment Effect", - "title" : "Neoadjuvant Therapy-Treatment Effect", - "description" : "This data item records the pathologist’s statement of neoadjuvant treatment effect on the primary tumor from the surgical pathology report. Whenever treatment effect definitions are recommended by or available in CAP Cancer Protocols, this data item follows the CAP definitions indicating absent or present effect. When specific CAP definitions are not available, registrars should use treatment effect general use categories.", - "notes" : "This data item provides information related to the quality of care and describes the pathological outcomes after neoadjuvant therapy. This data item provides prognostically relevant information by quantifying the extent of therapy-induced tumor regression. Therefore, this item can provide a better risk stratification for patients who received neoadjuvant therapy. In addition, this data item can contribute to assessments of cancer care quality.\n\nSee the [SEER Coding Manual](https://seer.cancer.gov/manuals/2023/SPCSM_2023_MainDoc.pdf) for additional information.", - "last_modified" : "2023-12-13T14:45:20.314Z", - "definition" : [ { - "key" : "neoadj_tx_treatment_effect", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Neoadjuvant therapy not given/no known presurgical therapy" ], [ "1", "No definite or minimal response identified \nStated as Chemotherapy response score 1 [CRS1]" ], [ "2", "Moderate response identified \nStated as Chemotherapy response score 2 [CRS2]" ], [ "3", "Marked response with no or minimal residual cancer \nStated as Chemotherapy response score 3 [CRS3]" ], [ "4", "Residual tumor, not specified as minimal, moderate or marked \nNot documented as CRS1, CRS2 or CRS3 \nResponse, NOS" ], [ "6", "Neoadjuvant therapy completed and surgical resection performed, response not documented or unknown;\nCannot be determined" ], [ "7", "Neoadjuvant therapy completed and planned surgical resection not performed" ], [ "9", "Unknown if neoadjuvant therapy performed;\nUnknown if planned surgical procedure performed after completion of neoadjuvant therapy;\nDeath certificate only (DCO)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_90678.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_90678.json deleted file mode 100644 index 6a2478650..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/neoadj_tx_treatment_effect_90678.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "neoadj_tx_treatment_effect_90678", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Neoadj Tx Treatment Effect", - "title" : "Neoadjuvant Therapy-Treatment Effect", - "description" : "This data item records the pathologist’s statement of neoadjuvant treatment effect on the primary tumor from the surgical pathology report. Whenever treatment effect definitions are recommended by or available in CAP Cancer Protocols, this data item follows the CAP definitions indicating absent or present effect. When specific CAP definitions are not available, registrars should use treatment effect general use categories.", - "notes" : "This data item provides information related to the quality of care and describes the pathological outcomes after neoadjuvant therapy. This data item provides prognostically relevant information by quantifying the extent of therapy-induced tumor regression. Therefore, this item can provide a better risk stratification for patients who received neoadjuvant therapy. In addition, this data item can contribute to assessments of cancer care quality.\n\nSee the [SEER Coding Manual](https://seer.cancer.gov/manuals/2023/SPCSM_2023_MainDoc.pdf) for additional information.", - "last_modified" : "2023-12-13T14:45:23.665Z", - "definition" : [ { - "key" : "neoadj_tx_treatment_effect", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Neoadjuvant therapy not given/no known presurgical therapy" ], [ "1", "Present: No viable cancer cells \nComplete response \nScore 0" ], [ "2", "Present: Single cells or rare small groups of cancer cells \nNear complete response \nScore 1" ], [ "3", "Present: Residual cancer with evident tumor regression, but more than single cells or rare small groups of cancer cells \nPartial response \nMinimal response \nScore 2" ], [ "4", "Absent: Extensive residual cancer with no evident tumor regression \nPoor or no response \nScore 3" ], [ "6", "Neoadjuvant therapy completed and surgical resection performed, response not documented or unknown;\nCannot be determined" ], [ "7", "Neoadjuvant therapy completed and planned surgical resection not performed" ], [ "9", "Unknown if neoadjuvant therapy performed;\nUnknown if planned surgical procedure performed after completion of neoadjuvant therapy;\nDeath certificate only (DCO)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/neoadjuvant_therapy_37302.json b/src/test/resources/algorithms/eod_public/3.3/tables/neoadjuvant_therapy_37302.json deleted file mode 100644 index 35bafaacb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/neoadjuvant_therapy_37302.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "neoadjuvant_therapy_37302", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Neoadjuvant Therapy", - "title" : "Neoadjuvant Therapy", - "description" : "This data item records whether the patient had neoadjuvant therapy prior to planned definitive surgical resection of the primary site.", - "notes" : "This data items provides information related to the quality of care and describes whether a patient had neoadjuvant therapy.\n\nFor the purposes of this data item, neoadjuvant therapy is defined as systemic treatment (chemotherapy, endocrine / hormone therapy, targeted therapy, immunotherapy, or biological therapy) and/or radiation therapy before intended or performed surgical resection to improve local therapy and long term outcomes.\n\nSee the [SEER Coding Manual](https://seer.cancer.gov/manuals/2023/SPCSM_2023_MainDoc.pdf) for additional information.", - "last_modified" : "2024-05-16T20:37:33.344Z", - "definition" : [ { - "key" : "neoadjuvant_therapy", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No neoadjuvant therapy, no treatment before surgery, surgical resection not part of first course of treatment plan; Autopsy only" ], [ "1", "Neoadjuvant therapy completed according to treatment plan and guidelines" ], [ "2", "Neoadjuvant therapy started, but not completed OR unknown if completed" ], [ "3", "Limited systemic exposure when the intent was not neoadjuvant; treatment did not meet the definition of neoadjuvant therapy" ], [ "9", "Unknown if neoadjuvant therapy performed; \nDeath Certificate only (DCO)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daa.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daa.json deleted file mode 100644 index d1ae6f1e4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daa.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_daa", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Definition of Head and Neck Lymph Nodes** \n* For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by TNM. \n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (450) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (150, 500, 600, 700) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n\n \n**Note 3:** **Laterality** \n* If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are ipsilateral.\n\n**Note 4:** **Supraclavicular lymph nodes**\n* Supraclavicular lymph nodes can be either Level IV or Level V\n * Level IV: deep to the sternocleidomastoid muscle, in the lower jugular chain\n * Level V: in the posterior triangle, inferior to the transverse cervical artery, supraclavicular lymph nodes, NOS\n\n**Note 5:** **Extranodal Extension** \n* Extranodal extension (ENE) is defined as the extension of a nodal metastasis through the lymph node capsule into adjacent tissue. The following codes record the status of the lymph nodes with positive ENE\n * Code 150: Pathological only: single ipsilateral node, less than or equal to 3 cm\n * Code 450: Clinical only: overt ENE\n * Code 500: Pathological only: single ipsilateral node, greater than 3 cm\n * Code 600: Pathological only: multiple ipsilateral, bilateral or contralateral nodes\n * Code 700: Pathological only: Single contralateral node\n\n**Note 6:** **Regional lymph nodes for Head and Neck tumors** \n* **Note:** For codes 100-700, use the list below for named regional lymph nodes. If the only information available is \"regional lymph nodes, NOS\" or \"lymph nodes,\" code 800.\n\n**Level I**\nLevel IA - Submental\nLevel IB - Submandibular (submaxillary), sublingual\n\n**Level II - Upper jugular** \nJugulodigastric (subdigastric)\nUpper deep cervical \nLevel IIA - Anterior\nLevel IIB - Posterior \n\n**Level III - Middle jugular**\nMiddle deep cervical\n\n**Level IV - Lower jugular**\nJugulo-omohyoid (supraomohyoid)\nLower deep cervical \nVirchow node\n\n**Level V - Posterior triangle group**\nPosterior cervical\nLevel VA - Spinal accessory \nLevel VB - Transverse cervical, supraclavicular \n\n**Level VI - Anterior compartment group**\nLaterotracheal\nParalaryngeal\nParatracheal - above suprasternal notch\nPerithyroidal\nPrecricoid (Delphian)\nPrelaryngeal\nPretracheal - above suprasternal notch\nRecurrent laryngeal\n\n**Level VII - Superior mediastinal group (for other mediastinal node(s) see EOD Mets)**\nEsophageal groove\nParatracheal - below suprasternal notch\nPretracheal - below suprasternal notch \n\n**Other groups**\nCervical, NOS\nDeep cervical, NOS\nFacial\n- Buccinator (buccal)\n- Mandibular\n- Nasolabial\n\nInternal jugular, NOS\nParapharyngeal \nParotid\n- Infraauricular\n- Intraparotid\n- Periparotid\n- Preauricular\n\nRetroauricular (mastoid)\nRetropharyngeal\nSuboccipital", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:17.217Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "100", "Metastasis in a SINGLE ipsilateral lymph node\n3 cm or smaller in greatest dimension\nExtranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "150", "**PATHOLOGICAL assessment only**\n\nMetastasis in SINGLE ipsilateral node\n3 cm or smaller in greatest dimension\nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "200", "Metastasis in SINGLE ipsilateral node\nLarger than 3 cm but not larger than 6 cm in greatest dimension\nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "250", "Metastasis in MULTIPLE ipsilateral nodes\nNo nodes larger than 6 cm in greatest dimension\nExtranodal extension (ENE) negative or unknown", "VALUE:RN" ], [ "300", "Metastasis in bilateral or contralateral lymph node(s)\nNo nodes larger than 6 cm in greatest dimension\nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "400", "Metastasis in a lymph node larger than 6 cm in greatest dimension\nExtranodal extension (ENE) negative OR unknown", "VALUE:RN" ], [ "450", "**CLINICAL assessment only**\n\nMetastasis in any lymph node(s) with clinically overt ENE", "VALUE:RN" ], [ "500", "**PATHOLOGICAL assessment only**\n\nMetastasis in a SINGLE ipsilateral node\nLarger than 3 cm in greatest dimension\nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "600", "**PATHOLOGICAL assessment only**\n\nMetastasis in MULTIPLE ipsilateral, contralateral, or bilateral nodes\nExtranodal extension (ENE) positive for any node", "VALUE:RN" ], [ "700", "**PATHOLOGICAL assessment only** \n\nSingle contralateral node (any size)\nExtranodal extension (ENE) positive", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dab.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dab.json deleted file mode 100644 index 03c89d637..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dab.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dab", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Welton, M.L., Jessup, J.M., et al. **Anus**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:37.022Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Anorectal\nInferior hemorrhoidal\nInguinal (femoral) (deep, superficial)\nInternal iliac (hypogastric)\nLateral sacral (laterosacral)\nMesorectal\nObturator\nPerirectal\nSuperior rectal (hemorrhoidal) (femoral)", "VALUE:RN" ], [ "400", "External iliac node(s) WITHOUT any nodes in code 300", "VALUE:RN" ], [ "500", "External iliac node(s) WITH any nodes in code 300", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dai.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dai.json deleted file mode 100644 index 849abf9fd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dai.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dai", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS**\n* Code only regional nodes and nodes, NOS, in this field. \n* Distant nodes are coded in EOD Mets.\n\n**Note 2:** **\"Vocal cord paralysis\" or \"Superior vena cava syndrome\"** \n* \"Vocal cord paralysis,\" \"superior vena cava syndrome,\" and \"compression of the trachea or the esophagus\" are classified as either direct extension from the primary tumor or mediastinal lymph node involvement\n\n* **Caused by direct extension of the primary tumor**\n * Code as primary tumor involvement (EOD Primary Tumor, code 650)\n* **Primary tumor is peripheral and clearly unrelated to vocal cord paralysis, SVC obstruction, or compression of the trachea, or the esophagus**\n * These manifestations are secondary to lymph node involvement; code as mediastinal lymph node involvement (EOD Lymph Nodes, code 400)\n* **Unable to determine if manifestations due to direct extension or mediastinal lymph node involvement**\n * Record as mediastinal lymph node involvement (EOD Lymph Nodes, code 400)\n\n**Note 3:** **Lymph nodes, NOS**\n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rami-Porta, R., Asamura, H., Travis, W.D., Rusch, V.W. **Lung**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:08.954Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "IPSILATERAL NODES ONLY, HILAR, BRONCHIAL\n\nBronchial\n- Peri/parabronchial\n\nHilar (bronchopulmonary) (proximal lobar) (pulmonary root) \nIntrapulmonary \n- Interlobar\n- Lobar\n- Segmental\n- Subsegmental", "VALUE:RN" ], [ "400", "IPSILATERAL NODES ONLY, MEDIASTINAL\n\nCarinal (tracheobronchial) (tracheal bifurcation)\nMediastinal, ipsilateral or NOS\n- Anterior\n- Aortic (above diaphragm), NOS\n + Peri/para-aortic, NOS\n * Ascending aorta (phrenic)\n + Subaortic (aortic-pulmonary window)\n- Inferior mediastinal \n + Paraesophageal\n + Pulmonary ligament\n + Subcarinal\n- Periesophageal \n- Pericardial\n- Posterior (tracheoesophageal)\n- Precarinal\n- Pretracheal, NOS\n- Superior mediastinal\n + Paratracheal (left, right, upper, low, NOS)\n - Azygos (lower paratracheal)\n + Prevascular\n + Retrotracheal", "VALUE:RN" ], [ "600", "IPSILATERAL or CONTRALATERAL\n\nLow cervical\nProximal root\nScalene (inferior deep cervical)\nSternal notch\nSupraclavicular (transverse cervical)", "VALUE:D" ], [ "700", "CONTRALATERAL OR BILATERAL\n\nHilar/Bronchial \n * Bronchial (peri/parabronchial)\n * Bronchopulmonary\n * Interlobar \n * Lobar \n * Proximal lobar\n * Pulmonary root\n * Segmental \n * Subsegmental \n\nSuperior mediastinal\n+ Paratracheal (left, right, upper, low, NOS)\n - Azygos (lower paratracheal)", "VALUE:D" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daj.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daj.json deleted file mode 100644 index b3cea207b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daj.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_daj", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes**\n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (000, 150, 350, 400) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (030, 050, 070, 200, 250, 300) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n\n \n**Note 3:** **Size of metastasis not stated**\n* If the pathology report indicates that nodes are positive, but size of the metastases is not stated, assume the metastases are greater than 0.2 mm and code the lymph nodes as positive in this field.\n\n**Note 4:** **Level of lymph nodes not specified**\n* If regional nodes are removed and there is no mention of the level or another specific type, assume these are Level I-II and code appropriately.\n\n**Note 5:** **Isolated tumor cells (ITC)** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). Lymph nodes with ITCs only are not counted as positive nodes. RT-PCR is a molecular method designed to find evidence of unique tumor or epithelial cell markers. \n + Codes 030, 050, and 070 are for nodes that are **pathologically negative** but are **positive** for ITCs or RT-PCR\n - **Code 030:** Negative nodes pathologically with positive ITCs OR positive ITCs AND positive RT-PCR\n - **Code 050:** Negative nodes pathologically with positive RT-PCR, negative ITCs\n - **Code 070:** Negative nodes pathologically, unknown if ITCs or RT-PCR\n - ***Note:** **Code 000** is only for clinical evaluation of lymph nodes (physical exam, imaging)*\n\n**Note 6:** **Internal mammary nodes** \n* Internal mammary nodes (codes 250, 300, 400, 600) are not routinely removed unless there was an uptake during a sentinel lymph node biopsy, or they were clinically apparent on imaging. Before assigning one of these codes, make sure that the documentation clearly states that internal mammary nodes are involved. \n + Do not confuse **internal mammary** nodes with **intramammary nodes**, which are routinely evaluated\n\n**Note 7:** **Axillary Level I and II lymph nodes** \n* Codes 100-200 and 350 only apply to involved axillary level I and II lymph nodes. \n* If internal mammary, infraclavicular (subclavicular, level III axillary, apical), or supraclavicular lymph nodes are involved, codes 100-200 and 350 may not be used.\n\n**Note 8:** **Regional lymph nodes include**\n\n- Axillary, NOS (ipsilateral)\n - Level I (low-axilla) (low) (superficial), NOS [adjacent to tail of breast]\n + Anterior (pectoral)\n + Lateral (brachial)\n + Posterior (subscapular)\n - Level II (mid-axilla) (central), NOS\n + Interpectoral (Rotter's)\n - Level III (high) (deep), NOS\n + Apical (subclavian)\n + Axillary vein\n- Fixed/matted axillary (level I and II) (ipsilateral)\n- Infraclavicular (subclavicular) (ipsilateral)\n- Internal mammary (parasternal) (ipsilateral)\n- Intramammary (ipsilateral)\n- Supraclavicular (transverse cervical) (ipsilateral)\n\n**Note 9:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Hortobagyi, G.N., Giuliano, A., et al. **Breast**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:13.057Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "**CLINICAL assessment only**\n\nNo clinical regional lymph node involvement (**based on physical exam, imaging ONLY**)", "VALUE:NONE" ], [ "030", "**PATHOLOGICAL assessment only**\n\nITCs only (malignant cell clusters no larger than 0.2 mm) in regional lymph node(s)", "VALUE:NONE" ], [ "050", "**PATHOLOGICAL assessment only**\n\nPositive molecular findings by reverse transcriptase polymerase chain reaction (RT-PCR), no ITCs detected", "VALUE:NONE" ], [ "070", "**PATHOLOGICAL assessment only**\n\nNo regional lymph node involvement pathologically \n(lymph nodes removed and pathologically negative)\nWITHOUT ITCs or ITC testing unknown", "VALUE:NONE" ], [ "100", "Micrometastasis, less than or equal to 2 mm\nAxillary (level I and II) lymph node(s), ipsilateral \nDetected by IHC or H&E (At least one micrometastasis greater than 0.2 mm or more than 200 cells)\n\nMicrometastasis, NOS", "VALUE:RN" ], [ "150", "**CLINICAL assessment only**\n\nClinically positive movable axillary (level I and II) lymph node(s), ipsilateral\nPositive needle core biopsy/FNA", "VALUE:RN" ], [ "200", "**PATHOLOGICAL assessment only**\n\nPositive axillary (level I and II) lymph node(s), ipsilateral \nWITH more than micrometastasis \n(At least one metastasis greater than 2 mm, or size of metastasis not stated) \n\nWITHOUT internal mammary lymph node(s) or not stated", "VALUE:RN" ], [ "250", "**PATHOLOGICAL assessment only**\n\nInternal mammary node(s), ipsilateral, positive on sentinel node biopsy but not clinically apparent\n(No positive imaging or clinical exam)\nWITHOUT axillary lymph node(s), ipsilateral", "VALUE:RN" ], [ "300", "**PATHOLOGICAL assessment only**\n\nInternal mammary node(s), ipsilateral, positive on sentinel node biopsy but not clinically apparent \n(No positive imaging or clinical exam)\nWITH axillary lymph node(s), ipsilateral", "VALUE:RN" ], [ "350", "**CLINICAL assessment only**\n\nFixed/matted axillary (level I and II) (ipsilateral)", "VALUE:RN" ], [ "400", "**CLINICAL assessment only**\n\nInternal mammary node(s), ipsilateral\nWITHOUT axillary (level I and II) lymph node(s), ipsilateral", "VALUE:RN" ], [ "500", "Infraclavicular lymph node(s) (subclavicular) (level III axillary node(s)) (apical), ipsilateral\nWITH or WITHOUT axillary (level I and II) nodes(s)\nWITHOUT internal mammary node", "VALUE:RN" ], [ "600", "Internal mammary node(s), ipsilateral, clinically apparent\n(On imaging or clinical exam)\nWITH axillary (level I, II, or III) lymph node(s), ipsilateral including infraclavicular", "VALUE:RN" ], [ "700", "Supraclavicular node(s), ipsilateral", "VALUE:D" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dak.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dak.json deleted file mode 100644 index 0f80346b1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dak.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dak", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Hepatoduodenal and Pancreaticoduodenal lymph nodes** \n* Per AJCC, Hepatoduodenal nodes are regional for **all subsites** of the stomach. Previously they were regional only for the lesser curvature and the greater curvature.\n\n**Note 3:** **Metastatic nodules in the fat** \n* Metastatic nodules in the fat adjacent to a gastric carcinoma, without evidence of residual lymph node tissue, are classified as regional node metastases, but nodules implanted on peritoneal surfaces are classified as distant metastases (see EOD Mets).\n\n**Note 4:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only. \n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (400, 450, 500, 600, 700) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (300) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Ajani, J.A., In, H., Sano, T., Hofstetter, W.L., et al. **Stomach**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:10.620Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nCeliac artery\nCommon hepatic artery\nHepatic, NOS\nLeft gastric (superior gastric), NOS\n- Cardial, NOS\n- Cardioesophageal \n- Gastric artery\n- Gastric, left\n- Gastrohepatic\n- Gastropancreatic, left\n- Lesser curvature\n- Lesser omentum\n- Paracardial\n\nPancreaticosplenic (pancreaticolineal)\nPerigastric, NOS\nPeripancreatic\nPyloric, NOS\n- Infrapyloric (subpyloric)\n- Suprapyloric \n\nRight gastric (inferior gastric, NOS)\n- Gastrocolic\n- Gastroduodenal\n- Gastroepiploic (gastro-omental), right or NOS\n- Gastrohepatic\n- Greater curvature\n- Greater omentum\n- Pancreaticoduodenal \n\nSplenic (lineal), NOS\n- Gastroepiploic (gastro-omental), left\n- Splenic hilar/hilum\n\nNodule(s) in perigastric fat", "VALUE:RN" ], [ "400", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nHepatoduodenal and Pancreaticoduodenal lymph nodes (See Note 2)\n* All subsites of stomach", "VALUE:D" ], [ "450", "**CLINICAL ASSESSMENT ONLY**\n\nOne-two positive nodes clinically OR stated as Clinical N1", "VALUE:RN" ], [ "500", "**CLINICAL ASSESSMENT ONLY**\n\nThree-six positive nodes clinically OR stated as Clinical N2", "VALUE:RN" ], [ "600", "**CLINICAL ASSESSMENT ONLY**\n\nSeven to fifteen nodes clinically OR stated as Clinical N3 [NOS] OR N3a", "VALUE:RN" ], [ "700", "**CLINICAL ASSESSMENT ONLY**\n\nFifteen nodes or greater clinically OR stated as Clinical N3b", "VALUE:RN" ], [ "800", "Positive nodes, number unknown\nUnknown if clinical or pathological assessment\n\nRegional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dam.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dam.json deleted file mode 100644 index 92cbc7cab..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dam.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dam", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Coding no regional lymph node involvement** \n* Code 000 may be used when\n * Pathology report **only** with a localized tumor based on Breslow's depth and/or Clark's Level (see EOD Primary Tumor or Summary Stage) AND\n * No information on regional lymph nodes or mets\n * **Note:** If the tumor is noted to be regional or distant based on Breslow’s Depth and/or Clark’s (see EOD Primary Tumor, EOD Mets or Summary Stage) then you cannot assume that the nodes are negative and would need to assign 999. \n\n**Note 3:** **Criteria for coding nodes** \n* Codes 100-750 are based on the following criteria\n + How the nodes were determined\n * Clinically occult (not clinically apparent) and found to be positive on microscopic examination (e.g., on sentinel lymph node procedure)\n * Clinically detected (clinically apparent) WITH or WITHOUT microscopic confirmation\n + Number of nodes involved\n + Presence of in-transit, satellite or microsatellite mets (see Note 4)\n\n**Note 4:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. \nITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). \n* Lymph nodes with isolated tumor cells (ITCs) are counted as positive lymph nodes\n\n**Note 5:** **In-transit, satellite and/r microsatellite metastasis** \n* In-transit, satellite, and/or microsatellite metastasis are metastasis that have occurred via lymphatic or angiolymphatic spread. \n* Satellite nodules are subcutaneous metastasis that occur within 2 cm of the primary tumor. \n* Microsatellite metastasis are microscopic cutaneous metastasis found adjacent or deep to a primary melanoma tumor.\n * Code 300 if there are in-transit, satellite, and/or microsatellite metastasis WITHOUT regional lymph node involvement\n * Code 500 if there are in-transit, satellite, and/or microsatellite metastasis WITH 1 positive lymph node\n * Code 700 if there are in-transit, satellite, and/or microsatellite metastasis WITH 2 or more positive lymph nodes\n\n**Note 6:** **Bilateral or contralateral nodes** \n* Bilateral or contralateral nodes are classified as regional nodes for head, neck, and truncal tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. \n* Truncal tumors may also drain to both cephalad and caudal primary nodal basins as shown on lymphoscintigraphy.\n * Clinical assessment of bilateral/contralateral or cephalad/caudal regional nodal involvement is required for tumors where lymphoscintigraphy is not performed\n\n**Note 7:** **Nodal basins** \n* Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins and are coded as regional nodes. \n\n**Note 8:** **Regional lymph nodes for skin**\n* Single, Multiple, Ipsilateral, Bilateral or Contralateral lymph nodes\n\n**Skin of head and neck (C000-C002, C006, C440-C444)**\n- Levels I-VII \n- Axillary (neck only, C444)\n- Cervical, NOS\n- Deep cervical, NOS\n- Facial (buccinator, buccal, nasolabial)\n- Internal jugular, NOS\n- Parapharyngeal \n- Parotid (infraauricular, intraparotid, periparotid, preauricular)\n- Retroauricular (mastoid)\n- Retropharyngeal\n- Suboccipital\n\n**Skin of trunk (C445)**\n* Upper trunk\n * Axillary\n * Cervical\n * Internal mammary\n * Supraclavicular\n* Lower trunk\n * Superficial inguinal (femoral) \n\n\n**Skin of upper limb and shoulder (C446)**\n- Axillary\n- Cervical\n- Epitrochlear for hand/forearm\n- Internal mammary (parasternal)\n- Spinal accessory for shoulder\n- Supraclavicular (transverse cervical)\n\n**Skin of lower limb and hip (C447)**\n- Femoral (superficial inguinal)\n- Inguinal \n- Popliteal for heel and calf\n\n**Vulva (C510-C512, C518-C519)**\n- Deep inguinal, NOS\n- Femoral\n- Inguinal, NOS\n- Inguinofemoral (groin)\n- Node of Cloquet or Rosenmuller (highest deep inguinal)\n- Superficial inguinal (femoral)\n\n**Penis (C600-C602, C608-C609)**\n- Iliac, NOS\n + External\n + Internal (hypogastric, obturator)\n- Inguinal, NOS\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial [femoral] \n- Pelvic, NOS\n\n**Scrotum (C632)**\n- Iliac, NOS\n + External\n + Internal (hypogastric), NOS\n * Obturator\n- Inguinal, NOS\n + Deep inguinal, NOS\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n\n**Note 9:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Gershenwald, J.E., Scolyer, R.A., et al. **Melanoma of the Skin**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:16.436Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "100", "One clinically occult \n- WITHOUT in-transit, satellite, and/or microsatellite metastasis", "VALUE:RN" ], [ "200", "One clinically detected node\n- WITHOUT in-transit, satellite, and/or microsatellite metastasis", "VALUE:RN" ], [ "300", "No clinically occult or detected nodes\n- WITH in-transit, satellite, and/or microsatellite metastasis\n + WITHOUT involved lymph nodes", "VALUE:RN" ], [ "350", "One involved node UNKNOWN how detected\n- WITHOUT in-transit, satellite, and/or microsatellite metastasis", "VALUE:RN" ], [ "400", "Two or three clinically occult \n- WITHOUT in-transit, satellite, and/or microsatellite metastasis", "VALUE:RN" ], [ "450", "Two or three involved nodes WITH 1 or greater clinically detected\n- WITHOUT in-transit, satellite, and/or microsatellite metastasis", "VALUE:RN" ], [ "500", "One clinically occult or detected node\n- WITH in-transit, satellite, and/or microsatellite metastasis", "VALUE:RN" ], [ "550", "Two or three involved nodes UNKNOWN how detected\n- WITHOUT in-transit, satellite, and/or microsatellite metastasis", "VALUE:RN" ], [ "600", "Four or more clinically occult \n- WITHOUT in-transit, satellite, and/or microsatellite metastasis", "VALUE:RN" ], [ "650", "Four or more positive WITH 1 or greater clinically detected\n* OR any number of matted nodes\n* WITHOUT in-transit, satellite, and/or microsatellite metastasis", "VALUE:RN" ], [ "700", "Two or more clinically occult or detected\n+ WITH in-transit, satellite, and/or microsatellite metastasis\n+ WITH or WITHOUT matted nodes", "VALUE:RN" ], [ "750", "Four or more involved nodes UNKNOWN how detected\n- UNKNOWN if matted nodes\n + WITHOUT in-transit, satellite, and/or microsatellite metastasis", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dan.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dan.json deleted file mode 100644 index ad16912f9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dan.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dan", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Unnamed nodes** \n* **For Colon and Rectum ONLY**, any unnamed nodes that are removed with a colon or rectal resection are presumed to be regional pericolic or perirectal lymph nodes and are included in the EOD Regional Nodes code 300 (pericolic for sites C180 - C189, C199 and perirectal for sites C199 or C209). \n* This site-specific instruction applies only to colon and rectum tumors and was verified with subject matter experts.\n\n**Note 3:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only. \n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (350, 400, 450, 500, 550, 600) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (300) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n\n**Note 4:** **Tumor Deposits** \n* Code 200 is defined as **PATHOLOGICAL** assessment only. This is used when\n* Primary tumor or site surgically resected with\n * Any positive microscopic examination of tumor deposits WITHOUT positive lymph nodes\n * If there are also positive lymph nodes, code 300", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Jessup, J.M., Goldberg, R.M., et al. **Colon and Rectum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:08.160Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement and no tumor deposits (TD)", "VALUE:NONE" ], [ "200", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nTumor deposits (TD) in the subserosa, mesentery, mesorectal \nor nonperitonealized pericolic or perirectal tissues \n**WITHOUT** regional nodal metastasis", "VALUE:RN" ], [ "300", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nAll sites (C180, C182-C189)\n- Colic, NOS\n- Epicolic (adjacent to bowel wall)\n- Mesenteric, NOS\n- Mesocolic, NOS\n- Paracolic\n- Pericolic\n\nCecum (C180)\n- Cecal, NOS\n + Anterior cecal (prececal)\n + Posterior cecal (retrocecal)\n- Colic (right)\n- Ileocolic\n- Periappendiceal\n\nAscending colon (C182)\n- Colic (middle-right branch, right)\n- Ileocolic\n\nHepatic flexure (C183)\n- Colic (middle, right)\n- Ileocolic\n\nTransverse colon (C184)\n- Colic (middle)\n\nSplenic flexure (C185)\n- Colic (left, middle)\n- Mesenteric (inferior)\n\nDescending colon (C186)\n- Colic (left)\n- Mesenteric (inferior)\n- Sigmoid\n\nSigmoid colon (C187)\n- Colic (left)\n- Mesenteric (inferior)\n- Rectal (superior) (hemorrhoidal)\n- Rectosigmoid\n- Sigmoid (sigmoidal) (sigmoid mesenteric)\n- Superior rectal (hemorrhoidal)\n\nRectosigmoid (C199)\n- Hemorrhoidal (middle, superior)\n- Mesenteric (inferior)\n- Mesorectal\n- Pericolic\n- Perirectal\n- Rectal (middle, superior) \n- Sigmoid (mesenteric)\n\nRectum (C209)\n- Hemorrhoidal (middle, superior)\n- Iliac (hypogastric, internal, obturator) (see EOD Mets for common, external, NOS)\n- Mesenteric (inferior)\n- Mesorectal\n- Perirectal\n- Rectal (inferior)\n- Sacral, NOS\n + Lateral sacral (laterosacral)\n + Middle sacral (promontorial) (Gerota's node)\n + Presacral\n- Sigmoidal (sigmoid mesenteric)", "VALUE:RN" ], [ "350", "**CLINICAL ASSESSMENT ONLY**\n\nOne positive node clinically OR Stated as Clinical N1a", "VALUE:RN" ], [ "400", "**CLINICAL ASSESSMENT ONLY**\n\nTwo-three positive nodes clinically OR Stated as Clinical N1b", "VALUE:RN" ], [ "450", "**CLINICAL ASSESSMENT ONLY**\n\nStated as Clinical N1, number of positive nodes clinically unknown", "VALUE:RN" ], [ "500", "**CLINICAL ASSESSMENT ONLY**\n\nFour-six positive nodes clinically OR Stated as Clinical N2a", "VALUE:RN" ], [ "550", "**CLINICAL ASSESSMENT ONLY**\n\nSeven or more positive nodes clinically OR Stated as Clinical N2b", "VALUE:RN" ], [ "600", "**CLINICAL ASSESSMENT ONLY**\n\nStated as Clinical N2, number of positive nodes clinically unknown", "VALUE:RN" ], [ "800", "Positive nodes, number unknown\nUnknown if clinical or pathological assessment\n\nRegional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daq.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daq.json deleted file mode 100644 index 1ca17c2f3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daq.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_daq", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Definition of Head and Neck Lymph Nodes** \n* For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other. \n\n**Note 2:** **Laterality** \n* If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are ipsilateral.\n\n**Note 3:** **Supraclavicular Lymph Nodes** \n* Supraclavicular lymph nodes can be either Level IV or Level V\n * Level IV: deep to the sternocleidomastoid muscle, in the lower jugular chain\n * Level V: in the posterior triangle, inferior to the transverse cervical artery, supraclavicular lymph nodes, NOS\n\n**Note 4:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:14.042Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "None\n\nNo regional lymph node involvement", "VALUE:NONE" ], [ "300", "Level I \n- Level IA - Submental\n- Level IB - Submandibular (submaxillary), sublingual\n\nLevel II - Upper jugular\n- Jugulodigastric (subdigastric)\n- Upper deep cervical \n- Level IIA - Anterior\n- Level IIB - Posterior \n\nLevel III - Middle jugular\n- Middle deep cervical\n\nLevel IV - Lower jugular\n- Jugulo-omohyoid (supraomohyoid)\n- Lower deep cervical \n- Virchow node\n\nLevel V - Posterior triangle group\n- Posterior cervical\n- Level VA - Spinal accessory \n- Level VB - Transverse cervical, supraclavicular \n\nLevel VI - Anterior compartment group\n- Laterotracheal\n- Paralaryngeal\n- Paratracheal - above suprasternal notch\n- Perithyroidal\n- Precricoid (Delphian)\n- Prelaryngeal\n- Pretracheal - above suprasternal notch\n- Recurrent laryngeal\n\nLevel VII - Superior mediastinal group (for other mediastinal node(s), see EOD Mets)\n- Esophageal groove\n- Paratracheal - below suprasternal notch\n- Pretracheal - below suprasternal notch \n\nOther groups\n- Cervical, NOS\n- Deep cervical, NOS\n- Facial\n + Buccinator (buccal)\n + Mandibular\n + Nasolabial\n- Internal jugular, NOS\n- Parapharyngeal \n- Parotid\n + Infraauricular\n + Intraparotid\n + Periparotid\n + Preauricular\n- Retroauricular (mastoid)\n- Retropharyngeal\n- Suboccipital", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dat.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dat.json deleted file mode 100644 index d90d1919d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dat.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dat", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Gastrohepatic ligament or gastrohepatic level nodes** \n* Imaging studies often refer to involved nodes in the gastrohepatic ligament or at the gastrohepatic level for esophageal primaries. Code as left gastric nodes if there is no more specific information.\n\n**Note 3:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only. \n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (725, 750, 775) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (300, 700) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rice, T.W., Kelsen, D., Hofstetter, W.L., et al. **Esophagus and Esophagogastric Junction**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:35.590Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nFor all subsites (excluding GE junction)\n- Peri-/paraesophageal (8L, 8M)\n\nCervical esophagus only\n- Cervical, NOS\n + Anterior deep cervical (laterotracheal) (recurrent laryngeal)\n + Deep cervical, NOS\n * Upper, NOS\n - Jugulodigastric (subdigastric) \n + Internal jugular, NOS\n- Scalene (inferior deep cervical) (1)\n- Supraclavicular (transverse cervical) (1)\n\nIntrathoracic esophagus, upper or middle, only\n- Internal jugular, NOS\n + Deep cervical, NOS\n * Lower, NOS\n - Jugulo-omohyoid (supraomohyoid)\n * Middle\n * Upper cervical, NOS\n - Jugulodigastric (subdigastric)\n- Intrabronchial\n + Carinal (tracheobronchial) (10R, 10L) (tracheal bifurcation)\n + Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n + Peritracheal\n- Left gastric (superior gastric) (17)\n + Cardiac (cardial)\n + Lesser curvature\n + Perigastric, NOS\n- Posterior mediastinal (tracheoesophageal)\n- Superior mediastinal\n\nIntrathoracic esophagus, lower (abdominal) only\n- Left gastric (superior gastric) (17)\n + Cardiac (cardial)\n + Lesser curvature\n + Perigastric, NOS\n- Posterior mediastinal (3P) (tracheoesophageal)\n\nEsophagus GE Junction\n- Celiac (20)\n + Hepatic (excluding hepatoduodenal)\n + Left gastric (superior gastric), NOS\n * Cardiac\n * Cardioesophageal\n * Gastric, left (17)\n * Gastropancreatic, left\n * Lesser curvature\n * Lesser omental\n * Pericardial (16)\n + Pancreaticosplenic (pancreaticolineal)\n + Pancreatoduodenal\n + Perigastric, NOS\n + Peripancreatic\n + Right gastric (inferior gastric), NOS\n * Gastrocolic\n * Gastroduodenal\n * Gastroepiploic (gastro-omental), right or NOS\n * Gastrohepatic\n * Greater curvature\n * Greater omental\n * Pyloric, NOS\n - Infrapyloric (subpyloric)\n - Suprapyloric\n + Splenic (lineal), NOS\n * Gastroepiploic (gastro-omental), left\n * Splenic hilar\n\nNodule(s) in perigastric fat", "VALUE:RN" ], [ "700", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nAll subsites\n- Anterior mediastinal (6)\n- Diaphragmatic (15) \n- Mediastinal, NOS\n- Pulmonary ligament (9)\n- Subcarinal (tracheal carina) (7)\n\nCervical esophagus\n - Aortopulmonary (5)\n + Para-aortic (ascending aorta or phrenic)\n + Subaortic\n- Paratracheal (2R, 2L, 4R, 4L)\n- Posterior mediastinal (3P)\n- Superior mediastinal\n\nIntrathoracic esophagus, upper or middle, only\n- Aortopulmonary (5)\n + Para-aortic (ascending aorta or phrenic)\n- Cervical \n\nLower thoracic (abdominal) esophagus\n- Aortopulmonary (5)\n + Para-aortic (ascending aorta or phrenic)\n + Subaortic \n- Celiac (20)\n- Paratracheal (2R, 2L, 4R, 4L)\n- Superior mediastinal\n\nEsophagus GE Junction\n- Paraesophageal, NOS\n- Periesophageal, NOS\n + Aortopulmonary (5)\n + Paraesophageal, lower (8l)\n + Paraesophageal, middle (8m)\n + Paratracheal, lower (4L, 4R)\n + Paratracheal, upper (2L, 2R)\n + Posterior mediastinal (3p)\n + Supraclavicular (1)\n + Tracheobronchial (hilar) (10L, 10R)", "VALUE:D" ], [ "725", "**CLINICAL ASSESSMENT ONLY**\n\nOne-two positive nodes clinically OR stated as Clinical N1", "VALUE:RN" ], [ "750", "**CLINICAL ASSESSMENT ONLY**\n\nThree-six positive nodes clinically OR stated as Clinical N2", "VALUE:RN" ], [ "775", "**CLINICAL ASSESSMENT ONLY**\n\nSeven or more positive nodes clinically OR stated as Clinical N3", "VALUE:RN" ], [ "800", "Positive nodes, number unknown\nUnknown if clinical or pathological assessment\n\nRegional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dau.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dau.json deleted file mode 100644 index 60ec92b67..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dau.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dau", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Abou-Alfa, G.K., Pawlik, T.M., Vauthey, J.N., et al. **Liver**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:18.041Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Caval\nCeliac axis\nHepatic, NOS\n- Hepatic artery\n- Hepatic pedicle\n- Inferior vena cava\n- Porta hepatis (portal) (hilar) [in hilus of liver]\n\nHepatoduodenal ligament\nPeriportal\nPortal vein", "VALUE:RN" ], [ "700", "Inferior phrenic nodes", "VALUE:D" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dav.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dav.json deleted file mode 100644 index 1be187a53..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dav.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dav", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only. \n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (725, 775) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (300) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Zhu, A.X., Pawlik, T.M., Vauthey, J.N., et al. **Gallbladder**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:39.577Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nCeliac artery\nCystic duct (Calot's node)\nHepatic artery\nNode of foramen of Winslow (omental) (epiploic)\nPancreaticoduodenal\nPericholedochal (common bile duct)\nPeriduodenal\nPeripancreatic (near head of pancreas only)\nPorta hepatis (portal) (periportal) (hilar) (in hilus of liver)\nPortal vein\nPortacaval\nRetroperitoneal, NOS\nSuperior mesenteric", "VALUE:RN" ], [ "725", "**CLINICAL ASSESSMENT ONLY**\n\nOne-three positive nodes clinically OR stated as Clinical N1", "VALUE:RN" ], [ "775", "**CLINICAL ASSESSMENT ONLY**\n\nFour or more positive nodes clinically OR stated as Clinical N2", "VALUE:RN" ], [ "800", "Positive nodes, number unknown\nUnknown if clinical or pathological assessment\n\nRegional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daw.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daw.json deleted file mode 100644 index 984ac0b8f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_daw.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_daw", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Pericholedochal nodes** \n* Pericholedochal nodes are coded in EOD Mets for jejunum and ileum primaries.\n\n**Note 3:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only. \n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (600, 700) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (300) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Coit, D.G., Kelsen, D., Hofstetter, W.L., et al. **Small Intestine**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:40.977Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nDuodenum (C170)\n- Duodenal\n- Gastroduodenal\n- Hepatic \n- Pancreaticoduodenal (inferior)\n- Pericholodochal (common bile duct)\n- Pyloric (infrapyloric, subpyloric, NOS)\n- Retropancreatic\n- Superior mesenteric\n\nJejunum and ileum (C171, C172)\n- Cecal (anterior, posterior, retrocecal) (terminal ileum only)\n- Ileocecal (ileocolic) (terminal ileum only)\n- Mesenteric, NOS\n- Superior mesenteric", "VALUE:RN" ], [ "600", "**CLINICAL ASSESSMENT ONLY**\n\nOne-two positive nodes clinically OR stated as Clinical N1", "VALUE:RN" ], [ "700", "**CLINICAL ASSESSMENT ONLY**\n\nThree or more positive nodes clinically OR stated as Clinical N2", "VALUE:RN" ], [ "800", "Positive nodes, number unknown\nUnknown if clinical or pathological assessment\n\nRegional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_day.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_day.json deleted file mode 100644 index 7fce9386b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_day.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_day", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Inguinal lymph nodes**\n* Inguinal lymph nodes are no longer coded as regional lymph nodes. See EOD Mets.\n\n**Note 3:** **Isolated tumor cells**\n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). Lymph nodes with ITCs only are not counted as positive nodes. \n* For positive ITCs with NO regional lymph node involvement, code 050\n\n**Note 4:** **Regional lymph nodes include (bilateral and contralateral)**\n\n- Intrabdominal \n- Para-aortic, NOS\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n- Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n- Retroperitoneal, NOS\n- Subdiaphragmatic\n\n**Note 5:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Prat, J., Olawaiye, A.B., Mutch, D.G., et al. **Ovary, Fallopian Tube, and Primary Peritoneal Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:10.304Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "050", "Isolated tumor cells, lymph node metastasis less than or equal to 0.2 mm", "VALUE:NONE" ], [ "300", "Lymph node metastasis, less than or equal to 10 mm\n\nFIGO Stage IIIA1i", "VALUE:RN" ], [ "400", "Lymph node metastasis, greater than 10 mm\n\nFIGO Stage IIIA1ii", "VALUE:RN" ], [ "500", "Lymph node metastasis, size unknown\n\nFIGO Stage IIIAI", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dba.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dba.json deleted file mode 100644 index 96340242d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dba.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dba", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **FIGO and lymph node detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and lymph node detail are available, record the code with lymph node detail in preference to a statement of FIGO stage.\n\n**Note 3:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). Lymph nodes with ITCs only are not counted as positive nodes. \n* For positive ITCs with NO regional lymph node involvement, code 050\n\n**Note 4:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Gibb, R.K., Olawaiye, A.B., Mutch, D.G., et al. **Vagina**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:11.242Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "050", "Isolated tumor cells no greater than 0.2 mm", "VALUE:NONE" ], [ "300", "Lower third of vagina (ipsilateral and bilateral)\n- Femoral\n- Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal \n\nUpper two thirds of vagina\n- Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\nFIGO Stage III", "VALUE:RN" ], [ "400", "Upper two thirds of vagina\n- Para-aortic, NOS\n - Aortic\n - Lateral aortic/lateral lumbar\n - Periaortic", "VALUE:D" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbb.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbb.json deleted file mode 100644 index 2c1d020ca..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbb.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dbb", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **FIGO and lymph node detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and lymph node detail are available, record the code with lymph node detail in preference to a statement of FIGO stage.\n\n**Note 3:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). Lymph nodes with ITCs only are not counted as positive nodes. \n* For positive ITCs with NO regional lymph node involvement, code 050\n\n**Note 4:** **Regional lymph nodes include**\n- Femoral\n- Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal\n\n**Note 5:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Gibb, R.K., Olawaiye, A.B., Mutch, D.G., et al. **Vulva**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:01.362Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "050", "Isolated tumor cells in regional lymph node(s) no greater than 0.2 mm", "VALUE:NONE" ], [ "100", "1-2 regional lymph node(s) involved and size of metastasis in each node less than 5 mm\n\nFIGO Stage IIIA", "VALUE:RN" ], [ "200", "1 lymph node and size of metastasis equal to or greater than 5 mm", "VALUE:RN" ], [ "300", "1 or 2 regional lymph node(s) positive and size of metastasis not given\n\nFIGO Stage III", "VALUE:RN" ], [ "400", "3 or more regional lymph node involved and size of metastasis in each less than 5 mm\n\nFIGO Stage IIIB", "VALUE:RN" ], [ "500", "At least 2 regional lymph node equal to or greater than 5 mm", "VALUE:RN" ], [ "600", "Regional lymph node(s) with extracapsular spread\n\nFIGO Stage IIIC", "VALUE:RN" ], [ "700", "3 or more regional lymph node(s) positive and size of metastasis not given", "VALUE:RN" ], [ "750", "Fixed or ulcerated regional lymph nodes\nFIGO Stage IVA based on regional lymph node involvement", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS\n\nFIGO Stage III [NOS]", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbc.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbc.json deleted file mode 100644 index eaf3088c7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbc.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dbc", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS**\n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Para-aortic nodes** \n* Para-aortic nodes are now regional instead of distant.\n\n**Note 3:** **FIGO and lymph node detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and lymph node detail are available, record the code with lymph node detail in preference to a statement of FIGO stage.\n\n**Note 4:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). \n* Lymph nodes with ITCs only are not counted as positive nodes \n * For positive ITCs with NO regional lymph node involvement, code 050\n\n**Note 5:** **Lymph nodes, NOS**\n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Erickson, B.A., Olawaiye, A.B., Mutch, D.G., et al. **Cervix Uteri**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:20.048Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "050", "Isolated tumor cells\n* Lymph node metastasis less than or equal to 0.2 mm", "VALUE:NONE" ], [ "300", "Para-aortic\n- Aortic\n- Lateral aortic/lateral lumbar\n- Periaortic\n\nPelvic\n- Iliac, NOS\n + Common\n + External \n + Internal (hypogastric) (obturator)\n- Paracervical\n- Parametrial\n- Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbd.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbd.json deleted file mode 100644 index 4d6692c05..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbd.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dbd", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **FIGO and lymph node detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and lymph node detail are available, record the code with lymph node detail in preference to a statement of FIGO stage.\n\n**Note 3:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). Lymph nodes with ITCs only are not counted as positive nodes. \n* For positive ITCs with NO regional lymph node involvement, code 050\n\n**Note 4:** **Regional lymph nodes include**\n* Pelvic, NOS (codes 100-300)\n - Iliac, NOS \n + Common\n + External\n + Internal (hypogastric) (obturator)\n - Paracervical\n - Parametrial\n - Pelvic, NOS\n - Sacral, NOS \n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n \n* Para-aortic, NOS (WITH or WITHOUT pelvic lymph nodes) (codes 400-600)\n - Aortic\n - Lateral aortic/lateral lumbar\n - Periaortic\n\n**Note 5:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Powell, M.A., Olawaiye, A.B., Mutch, D.G., et al. **Corpus Uteri - Carcinoma and Carcinosarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:04.034Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "050", "Isolated tumor cells\n* Lymph node metastasis less than or equal to 0.2 mm", "VALUE:NONE" ], [ "100", "Pelvic lymph nodes\n* Lymph node metastasis greater than 0.2 mm but not greater than 2.0 mm in diameter", "VALUE:RN" ], [ "200", "Pelvic lymph nodes\n* Lymph node metastasis greater than 2.0 mm in diameter", "VALUE:RN" ], [ "300", "Pelvic lymph nodes\n* Size of lymph node metastasis unknown\n\nFIGO Stage IIIC1", "VALUE:RN" ], [ "400", "Para-aortic lymph nodes\n* Lymph node metastasis greater than 0.2 mm but not greater than 2.0 mm in diameter\n* WITH or WITHOUT pelvic lymph nodes", "VALUE:RN" ], [ "500", "Para-aortic lymph nodes\n* Lymph node metastasis greater than 2.0 mm in diameter\n* WITH or WITHOUT pelvic lymph nodes", "VALUE:RN" ], [ "600", "Para-aortic lymph nodes\n* Size of lymph node metastasis unknown\n* WITH or WITHOUT pelvic lymph nodes\n\nFIGO Stage IIIC2", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbe.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbe.json deleted file mode 100644 index 4e65c8961..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbe.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dbe", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n* Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 2:** **Regional lymph nodes include**\n\n**All sites**\n- Lateral aortic (lumbar)\n- Paracaval\n- Renal hilar\n- Retroperitoneal, NOS\n\n**Renal Pelvis**\n- Aortic (para-aortic, periaortic, NOS)\n\n**Ureter**\n- Iliac (common, external, NOS)\n- Internal (hypogastric) (obturator)\n- Pelvic, NOS\n- Periureteral\n\n**Note 3:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) McKiernan, J.M., Hansel, D.E., Stadler, W.M., et al. **Renal Pelvis and Ureter**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:49.151Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "200", "SINGLE regional lymph node, less than or equal to 2 cm\n\nSINGLE regional lymph node, size UNKNOWN", "VALUE:RN" ], [ "300", "SINGLE lymph node greater than 2 cm", "VALUE:RN" ], [ "400", "Multiple lymph nodes", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbf.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbf.json deleted file mode 100644 index 910cb4859..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbf.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dbf", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n* Regional nodes include contralateral or bilateral nodes.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.\n\n**Note 3:** **Path only cases** \n* Code 000 for \"path only\" cases\n* “Path only” cases are where the only information available is the pathology report, it is a localized cancer (no evidence of extraprostatic extension), there is no information on lymph nodes, no imaging and no statement from the physician on lymph node status\n * These types of cases are usually for central registries only; however, a hospital registry may use this rule when all they have is a pathology report \n* This instruction is only for prostate. Do not apply this instruction to any other primary site", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Buyyounouski, M.K., Lin, D.W., et al. **Prostate**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:50.978Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Hypogastric\nIliac, NOS\n- External\n- Internal (hypogastric) (obturator), NOS\n\nPelvic, NOS\nPeriprostatic\nSacral, NOS\n- Lateral (laterosacral)\n- Middle (promontory) (Gerota's node)\n- Presacral", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbg.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbg.json deleted file mode 100644 index fe0e8205f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbg.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dbg", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n* Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rini, B.I., McKiernan, J.M., Stadler, W.M., et al. **Kidney**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:40.072Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Aortic, NOS\n- Lateral (lumbar)\n- Para-aortic\n- Periaortic\n- Preaortic\n- Retroaortic\n\nCaval, NOS\n- Interaortocaval\n- Paracaval\n- Pericaval\n- Precaval\n- Retrocaval\n\nRenal hilar\nRetroperitoneal, NOS", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbh.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbh.json deleted file mode 100644 index 58fe404e5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbh.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dbh", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Definition of Regional lymph nodes**\n* Regional lymph nodes are defined as those in the vicinity of the primary tumor.\n\n**Note 3:** **Lymph node involvement in bone is rare**\n* Regional lymph node involvement is rare. \n* If there is no mention of lymph node involvement clinically, assume that lymph nodes are negative and code 000.\n\n**Note 4:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kneisl, J.S., Rosenberg, A.E., et al. **Bone**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:19.096Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbi.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbi.json deleted file mode 100644 index afab90c06..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbi.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dbi", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Nodal metastasis rare** \n* Regional lymph node involvement is rare. For this schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative. \n* Code 999 (Unknown) only when there is no available information on the extent of the patient's disease, for example when a lab-only case is abstracted from a biopsy report and no clinical history is available.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma - Unusual Histologies and Sites**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:10.758Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n(See Note 2)\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbj.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbj.json deleted file mode 100644 index 94b61f42f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbj.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dbj", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **CLINICAL AND PATHOLOGICAL** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (100, 200, 300) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH\n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up.\n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (400, 500) when there is a **surgical resection of the primary tumor or site** WITH\n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment.\n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n\n**Note 3:** **Regional lymph nodes include**\n- Iliac, NOS\n + External\n + Internal (hypogastric, obturator)\n- Inguinal, NOS\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial [femoral] \n- Pelvic, NOS\n\n**Note 4:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pettaway, C.A., Srigley, J.R., Amin, M.B., et al. **Penis**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:48.693Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "100", "**CLINICAL assessment only**\n\nPalpable mobile unilateral inguinal lymph node", "VALUE:RN" ], [ "200", "**CLINICAL assessment only**\n\nPalpable mobile greater than or equal to 2 unilateral inguinal nodes \nBilateral inguinal lymph nodes", "VALUE:RN" ], [ "300", "**CLINICAL assessment only**\nPalpable fixed inguinal nodal mass\nPelvic lymphadenopathy (unilateral or bilateral)", "VALUE:RN" ], [ "400", "**PATHOLOGICAL assessment only**\n\nPositive inguinal lymph nodes WITHOUT extranodal extension", "VALUE:RN" ], [ "500", "**PATHOLOGICAL assessment only**\n\nExtranodal extension of any lymph nodes\nOR pelvic lymph node metastases", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbo.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbo.json deleted file mode 100644 index 77869c421..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbo.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dbo", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Splenic lymph nodes** \n* Splenic lymph nodes and those located at the tail of the pancreas are not regional and should be coded in EOD Mets.\n\n**Note 3:** **Regional lymph nodes include** \n- Anterior to ampulla of Vater \n- Inferior to ampulla of Vater\n- Posterior to ampulla of Vater\n- Superior to ampulla of Vater\n- Celiac\n- Hepatic \n- Hepatic artery\n- Lateral aortic (lumbar)\n- Node of foramen of Winslow (epiploic) (omental)\n- Pancreaticoduodenal\n- Peripancreatic (excluding nodes at tail of pancreas)\n- Periportal (portal vein)\n- Proximal mesenteric\n- Pyloric (infrapyloric, subpyloric)\n- Retroperitoneal\n- Superior mesenteric\n\n**Note 4:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Herman, J.M., Pawlik, T.M., Vauthey, J.N., et al. **Ampulla of Vater**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:36.595Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "1-3 positive regional lymph node(s)", "VALUE:RN" ], [ "400", "4 or more positive regional lymph nodes", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbq.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbq.json deleted file mode 100644 index 2d719bd32..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbq.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dbq", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rusch, V.W., et al. **Malignant Plural Mesothelioma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:34.033Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Aortic (above diaphragm), NOS\n- Ascending aorta (phrenic)\n- Peri/para-aortic\n- Subaortic (aortico-pulmonary window)\n\nCarinal (tracheobronchial) (tracheal bifurcation)\nHilar (ipsilateral) \n- Bronchopulmonary\n- Proximal lobar\n- Pulmonary root\n\nIntercostal\nInternal mammary (parasternal)\nIntrapulmonary\n- Interlobar\n- Lobar\n- Segmental\n- Subsegmental\n\nMediastinal, NOS (ipsilateral)\n- Anterior\n- Posterior (tracheoesophageal)\n\nPericardial\nPeri/parabronchial\nPeri/paraesophageal (below carina)\nPeri/paratracheal (lower [azygos], upper, NOS)\nPretracheal and retrotracheal (precarinal), NOS\nPrevascular\nPulmonary ligament\nSubcardial\nSubcarinal", "VALUE:RN" ], [ "700", "Hilar (contralateral, bilateral)\n- Bronchopulmonary\n- Proximal lobar\n- Pulmonary root\n\nMediastinal (contralateral, bilateral)\n- Anterior\n- Posterior (tracheoesophageal)\n\nPeridiaphragmatic (ipsilateral, contralateral)\n- Mediastinal\n\nScalene (ipsilateral, contralateral) \n- Inferior deep cervical\n\nSupraclavicular (ipsilateral or contralateral)\n- Transverse cervical", "VALUE:D" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbu.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbu.json deleted file mode 100644 index bbf5878a9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbu.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dbu", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Nodal basins** \n* Nodes in contiguous (secondary) and bidirectional (cephalad/caudal) primary nodal basins are coded in EOD Regional Nodes.\n\n**Note 3:** **Regional lymph nodes include**\n- Iliac (common, external, internal [hypogastric] [obturator], NOS)\n- Inguinal (superficial [femoral], NOS)\n- Inguinal, deep (Node of Cloquet or Rosenmuller [highest deep inguinal], NOS) \n- Pelvic, NOS (including true pelvis)\n- Perivesical\n- Presacral\n- Sacral, NOS\n\n**Note 4:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Hansel, D.E., Reuter, V.E., McKiernan, J.M., et al. **Urethra**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:11.624Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "SINGLE lymph node involved", "VALUE:RN" ], [ "400", "MULTIPLE lymph nodes involved", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbv.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbv.json deleted file mode 100644 index 76b80f134..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbv.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dbv", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n* Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:09.851Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Aortic (above diaphragm), NOS\n- Peri/para-aortic, NOS\n + Ascending aorta (phrenic)\n + Subaortic (aortico-pulmonary window)\n\nCarinal (tracheobronchial) (tracheal bifurcation)\nHilar (bronchopulmonary) (proximal lobar) (pulmonary root)\nIntrapulmonary, NOS\n- Interlobar\n- Lobar\n- Segmental\n- Subsegmental\n- Mediastinal, NOS\n- Anterior\n- Posterior (tracheoesophageal)\n\nPeri/parabronchial\nPericardial\nPeri/paraesophageal\nPeri/paratracheal, NOS\n- Azygos (lower peritracheal)\n\nPre- and retrotracheal, NOS:\n- Precarinal\n\nPulmonary ligament\nSubcarinal", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbw.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbw.json deleted file mode 100644 index 272850b4e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbw.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dbw", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:43.603Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Mediastinal, NOS\n- Posterior (tracheoesophageal)\n\nParatracheal\nPretracheal\nTracheal, NOS", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbx.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbx.json deleted file mode 100644 index 181725620..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dbx.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dbx", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n* Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:45.488Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Intra-abdominal\nParacaval\nPelvic\nSubdiaphragmatic", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dby.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dby.json deleted file mode 100644 index c76d0b689..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dby.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dby", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note:** **All lymph node (regional and distant)** \n* Coded in this field \n* Code 700 for any involvement of distant lymph nodes (includes regional lymph node and distant lymph node involvement)", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions,** National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma - Unusual Histologies and Sites**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:43.229Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional or distant lymph node involvement\n* No clinical adenopathy and either pathologically negative or no pathological statement", "VALUE:NONE" ], [ "100", "Clinically enlarged palpable regional lymph node(s) (adenopathy) AND\n* Either pathologically negative regional lymph nodes OR \n* No pathological statement", "VALUE:RN" ], [ "200", "No clinically enlarged palpable regional lymph node(s) (adenopathy) but\n* Pathologically positive regional lymph node(s)", "VALUE:RN" ], [ "300", "Both clinically enlarged palpable regional lymph node(s) (adenopathy) AND\n* Pathologically positive regional lymph node(s)", "VALUE:RN" ], [ "700", "Distant lymph node(s), NOS\n* Clinically or pathologically diagnosed", "VALUE:D" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dca.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dca.json deleted file mode 100644 index 4e27123b1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dca.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dca", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n* Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:08.585Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Iliac , NOS\n- External \n- Internal (hypogastric), NOS\n + Obturator \n\nInguinal , NOS\n- Deep inguinal, NOS\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n - Superficial inguinal (femoral)\n\nPelvic , NOS", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcb.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcb.json deleted file mode 100644 index 045199296..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcb.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dcb", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:08.208Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcc.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcc.json deleted file mode 100644 index 820b66224..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcc.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dcc", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n* Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:07.051Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Para-aortic, NOS\n+ Aortic\n+ Lateral aortic/lateral lumbar\n+ Periaortic\n\nPelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\nRetroperitoneal, NOS", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcd.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcd.json deleted file mode 100644 index 0f2b73f68..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcd.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dcd", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n* Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:07.953Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Cervical for carotid body \nMediastinal for aortic body", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dce.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dce.json deleted file mode 100644 index b7682c1af..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dce.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dce", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **All lymph node (regional and distant) involvement is coded in this field.**\n* Peripheral nodes (e.g., palpable/accessible nodes) may be used to code this. \n* Central nodes (code 700) (deep/non-palpable nodes) are only included when they are microscopically proven\n\n**Note 2:** **Clinical involvement** \n* Regional node involvement (clinical abnormal peripheral lymph nodes) can be clinically involved despite negative biopsy or a lack of microscopic confirmation. \n\n**Note 3:** **Dutch grade system includes**\n- Grade 1 - Dermatopathic lymphadenopathy (DL)\n- Grade 2 - Early involvement by mycosis fungoides (MF), (presence of cerebriform nuclei larger than 7.5 micrometers (um))\n- Grade 3 - Partial effacement of lymph node architecture; many atypical cerebriform mononuclear cells (CMCs)\n- Grade 4 - Complete effacement of lymph node architecture\n\n**Note 4:** **National Cancer Institute - Lymph Nodes (NCI LN) grade system includes**\n- LN 0 - No atypical lymphocytes\n- LN 1 - Occasional and isolated atypical lymphocytes not arranged in clusters\n- LN 2 - Many atypical lymphocytes or in 3-6 cell clusters\n- LN 3 - Aggregates of atypical lymphocytes; nodal architecture preserved\n- LN 4 - Partial/complete effacement of nodal architecture by atypical lymphocytes or frankly neoplastic cells\n\n**Note 5:** **T-cell clone**\n* A T-cell clone (clone negative or clone positive) is defined by polymerase chain reaction (PCR) or Southern blot analysis of the T-cell receptor gene (TCR).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Rosen, S.T., Jaffe, E.S., Leonard, J.P., et al. **Primary Cutaneous Lymphomas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:46.646Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement\nNo clinically abnormal peripheral lymph nodes, no biopsy required", "VALUE:NONE" ], [ "050", "Clinically enlarged palpable peripheral lymph node(s) (adenopathy)\n- WITH pathologically negative nodes OR \n- WITHOUT histologic confirmation", "VALUE:RN" ], [ "100", "Clinically abnormal peripheral lymph nodes\n- Pathologically Dutch grade 1 or NCI LN 0-2\n- Clone negative", "VALUE:RN" ], [ "200", "Clinically abnormal peripheral lymph nodes\n- Pathologically Dutch grade 1 or NCI LN 0-2 \n- Clone positive", "VALUE:RN" ], [ "300", "Clinically abnormal peripheral lymph nodes\n- Pathologically Dutch grade 1 or NCI LN 0-2\n- Clone unknown OR\n\nDutch grade and NCI LN grade unknown \n- Clone positive, negative, or unknown", "VALUE:RN" ], [ "400", "Clinically abnormal peripheral lymph nodes\n- Pathologically Dutch grade 2 or NCI LN 3\n- Clone negative", "VALUE:RN" ], [ "500", "Clinically abnormal peripheral lymph nodes\n- Pathologically Dutch grade 2 or NCI LN 3 \n- Clone positive", "VALUE:RN" ], [ "600", "Clinically abnormal peripheral lymph nodes\n- Pathologically Dutch grade 2 or NCI LN 3 \n- Clone unknown", "VALUE:RN" ], [ "700", "Clinically abnormal peripheral lymph nodes\n- Pathologically Dutch grades 3-4 or NCI LN 4 \n- Clone positive or negative or unknown\n\nCentral nodes\n- Pathologically Dutch grades 3-4 or NCI LN 4\n- Clone positive, negative, or unknown", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS\n\nDistant lymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dck.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dck.json deleted file mode 100644 index c04b96f19..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dck.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dck", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Regional lymph nodes include**\n- Iliac, NOS\n + Common\n + External\n + Internal (hypogastric)\n- Obturator\n- Pelvic, NOS\n- Perivesical pelvic, NOS\n- Sacral, NOS\n + Lateral (laterosacral)\n + Presacral\n + Sacral promontory (Gerota's)\n\n**Note 3:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bochner, B.H., Hansel, D.E., Stadler, W.M., et al. **Urinary Bladder**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:38.667Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "SINGLE regional lymph node (excluding common iliac)", "VALUE:RN" ], [ "400", "MULTIPLE regional lymph nodes (excluding common iliac)", "VALUE:RN" ], [ "700", "Common iliac lymph node(s) \nWITH or WITHOUT other regional lymph node(s)", "VALUE:D" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcl.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcl.json deleted file mode 100644 index 05d98399a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcl.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dcl", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n* Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:07.583Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Celiac\nCystic duct (node of Calot)\nNode of foramen of Winslow (epiploic) (omental) \nPancreaticoduodenal\nPericholedochal (common bile duct)\nPeriduodenal\nPeripancreatic (near head of pancreas only)\nPorta hepatis (portal) (periportal) (hilar)\nSuperior mesenteric", "VALUE:RN" ], [ "700", "Para-aortic\nPeripancreatic (along body and tail of pancreas only)", "VALUE:D" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcn.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcn.json deleted file mode 100644 index 87838bb96..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcn.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dcn", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Definition of Head and Neck Lymph Nodes** \n* For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by TNM.\n\n**Note 2:** **Laterality** \n* If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are ipsilateral.\n\n**Note 3:** **Supraclavicular lymph nodes** \n* Supraclavicular lymph nodes can be either Level IV or Level V\n * Level IV: deep to the sternocleidomastoid muscle, in the lower jugular chain\n * Level V: in the posterior triangle, inferior to the transverse cervical artery, supraclavicular lymph nodes, NOS\n\n**Note 4:** **Regional lymph nodes for Head and Neck tumors** \n* For nasopharynx, Levels I, II, III, V, VI, are assigned code 300 or 400 based on size and/or unilateral vs bilateral. \n* For Levels IV, VB, and VII, see code 600. If the only information available is \"regional lymph nodes, NOS\" or \"lymph nodes,\" code 800.\n\n **Level I**\n Level IA - Submental\n Level IB - Submandibular (submaxillary), sublingual\n\n**Level II - Upper jugular** \n Jugulodigastric (subdigastric)\n Upper deep cervical \n Level IIA - Anterior\n Level IIB - Posterior \n\n**Level III - Middle jugular**\nMiddle deep cervical\n\n**Level IV - Lower jugular**\nJugulo-omohyoid (supraomohyoid)\nLower deep cervical \nVirchow node\n\n**Level V - Posterior triangle group**\nPosterior cervical\nLevel VA - Spinal accessory \nLevel VB - Transverse cervical, supraclavicular \n\n**Level VI - Anterior compartment group**\nLaterotracheal\nParalaryngeal\nParatracheal - above suprasternal notch\nPerithyroidal\nPrecricoid (Delphian)\nPrelaryngeal\nPretracheal - above suprasternal notch\nRecurrent laryngeal\n\n**Level VII - Superior mediastinal group (for other mediastinal node(s) see EOD Mets)**\nEsophageal groove\nParatracheal - below suprasternal notch\nPretracheal - below suprasternal notch \n\n**Other groups**\nCervical, NOS\nDeep cervical, NOS\nFacial\n- Buccinator (buccal)\n- Mandibular\n- Nasolabial\n\nInternal jugular, NOS\nParapharyngeal \nParotid\n- Infraauricular\n- Intraparotid\n- Periparotid\n- Preauricular\n\nRetroauricular (mastoid)\nRetropharyngeal\nSuboccipital\n\n**Note 5:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lee, A.W.M., Lydiatt, W.M., Shah, J.P., et al. **Nasopharynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:04.113Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Cervical lymph node(s), unilateral, 6 cm or smaller\n\nRetropharyngeal lymph node(s), unilateral or bilateral, 6 cm or smaller\nabove the caudal border of cricoid cartilage", "VALUE:RN" ], [ "400", "Cervical lymph node(s), bilateral, 6 cm or smaller\nabove the caudal border of cricoid cartilage", "VALUE:RN" ], [ "600", "Cervical lymph node(s), unilateral or bilateral, greater than 6 cm\nAND/OR extension below the caudal border of cricoid cartilage", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcu.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcu.json deleted file mode 100644 index ae6b708a4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcu.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dcu", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Definition of Head and Neck Lymph Nodes** \n* For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by TNM. \n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (300, 400) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (500) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n\n\n**Note 3:** **Laterality** \n* If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are ipsilateral.\n\n**Note 4:** **Supraclavicular lymph nodes** \n* Supraclavicular lymph nodes can be either Level IV or Level V\n * Level IV: deep to the sternocleidomastoid muscle, in the lower jugular chain\n * Level V: in the posterior triangle, inferior to the transverse cervical artery, supraclavicular lymph nodes, NOS\n\n**Note 5:** **Regional lymph nodes for Head and Neck tumors** \n* **Note:** For codes 300, 400, or 500, use the list below for named regional lymph nodes. If the only information available is \"regional lymph nodes, NOS\" or \"lymph nodes,\" code 800.\n\n**Level I**\n- Level IA - Submental\n- Level IB - Submandibular (submaxillary), sublingual\n\n**Level II - Upper jugular** \n- Jugulodigastric (subdigastric)\n- Upper deep cervical \n- Level IIA - Anterior\n- Level IIB - Posterior \n\n**Level III - Middle jugular**\n- Middle deep cervical\n\n**Level IV - Lower jugular**\n- Jugulo-omohyoid (supraomohyoid)\n- Lower deep cervical \n- Virchow node\n\n**Level V - Posterior triangle group**\n- Posterior cervical\n- Level VA - Spinal accessory \n- Level VB - Transverse cervical, supraclavicular \n\n**Level VI - Anterior compartment group**\n- Laterotracheal\n- Paralaryngeal\n- Paratracheal - above suprasternal notch\n- Perithyroidal\n- Precricoid (Delphian)\n- Prelaryngeal\n- Pretracheal - above suprasternal notch\n- Recurrent laryngeal\n\n**Level VII - Superior mediastinal group (for other mediastinal node(s), see EOD Mets)**\n- Esophageal groove\n- Paratracheal - below suprasternal notch\n- Pretracheal - below suprasternal notch \n\n**Other groups**\n- Cervical, NOS\n- Deep cervical, NOS\n- Facial\n + Buccinator (buccal)\n + Mandibular\n + Nasolabial\n- Internal jugular, NOS\n- Parapharyngeal \n- Parotid\n + Infraauricular\n + Intraparotid\n + Periparotid\n + Preauricular\n- Retroauricular (mastoid)\n- Retropharyngeal\n- Suboccipital\n- Regional lymph node(s), NOS\n- Lymph node(s), NOS\n\n**Note 6:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) O'Sullivan, B., Lydiatt, W.M., Shah, J.P., et al. **HPV-Mediated (p16+) Oropharyngeal Cancer**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:05.594Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "**CLINICAL assessment only**\n\nIpsilateral regional lymph node(s)", "VALUE:RN" ], [ "400", "**CLINICAL assessment only** \n\nBilateral or contralateral regional lymph node(s)", "VALUE:RN" ], [ "500", "**PATHOLOGICAL assessment only**\n\nRegional lymph node(s) involved", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcz.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcz.json deleted file mode 100644 index 991968fc4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dcz.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dcz", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n* Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:41.388Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Iliac, NOS\n- Common\n- External\n- Internal (hypogastric), NOS\n + Obturator \n\nInguinal, NOS\n- Deep inguinal, NOS\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n - Superficial (femoral)\n\nPelvic, NOS\nSacral, NOS\n - Presacral", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dde.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dde.json deleted file mode 100644 index 81d12c72d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dde.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dde", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Regional lymph nodes include**\n- Buccinator (buccal)\n- Cervical, NOS\n- Facial, NOS\n- Intraparotid\n- Nasolabial\n- Parotid\n + Infra-auricular\n + Preauricular\n- Submandibular [submaxillary]\n- Submental\n- Supraclavicular, NOS\n\n**Note 3:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Esmaeli, B., Finger, P.T., et al. **Eyelid Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:30.522Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "100", "SINGLE ipsilateral lymph node\n* Less than or equal to 3 cm in greatest dimension\n* Based on clinical evaluation or imaging findings", "VALUE:RN" ], [ "200", "SINGLE ipsilateral lymph node\n* Less than or equal to 3 cm in greatest dimension\n* Based on lymph node biopsy", "VALUE:RN" ], [ "300", "SINGLE ipsilateral lymph node\n* Less than or equal to 3 cm in greatest dimension\n* Unknown how determined", "VALUE:RN" ], [ "400", "SINGLE ipsilateral lymph node \n* Greater than 3 cm in greatest dimension OR \n\nMULTIPLE ipsilateral lymph nodes based on clinical evaluation or imaging findings", "VALUE:RN" ], [ "500", "SINGLE ipsilateral lymph node \n* Greater than 3 cm in greatest dimension OR \n\nMULTIPLE ipsilateral lymph nodes based on lymph node biopsy", "VALUE:RN" ], [ "600", "SINGLE ipsilateral lymph node \n* Greater than 3 cm in greatest dimension) or \n\nMULTIPLE ipsilateral lymph nodes, unknown how determined", "VALUE:RN" ], [ "700", "Supraclavicular, NOS", "VALUE:D" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddf.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddf.json deleted file mode 100644 index 00dac5890..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddf.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_ddf", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (100, 300) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (200, 400, 500) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n \n**Note 3:** **Previous scrotal surgery and lymph nodes** \n* Involvement of inguinal, pelvic, or external iliac lymph nodes WITHOUT or unknown if previous scrotal or inguinal surgery prior to presentation of the testis tumor is coded in EOD Mets as distant lymph node involvement.\n\n**Note 4:** **Regional lymph nodes include**\n\nAortic, NOS\n- Lateral (lumbar)\n- Para-aortic\n- Periaortic\n- Preaortic \n- Retroaortic\n\nPericaval, NOS\n- Interaortocaval\n- Paracaval\n- Precaval\n- Retrocaval\n\nRetroperitoneal below the diaphragm or NOS\nSpermatic vein\n\nLymph nodes **WITH** previous scrotal or inguinal surgery\n- External iliac\n- Inguinal nodes, NOS\n + Deep, NOS\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial (femoral)\n- Pelvic\n\n**Note 5:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Brimo, F., Srigley, J.R., Lin, D.W., et al. **Testis**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:51.361Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "100", "**CLINICAL assessment only**\n\nMetastasis in lymph node(s), all less than 2 cm", "VALUE:RN" ], [ "200", "**PATHOLOGICAL assessment only**\n\nMetastasis in lymph node(s), all less than 2 cm", "VALUE:RN" ], [ "300", "**CLINICAL assessment only**\n\nMetastasis lymph node(s) between 2 cm and 5 cm", "VALUE:RN" ], [ "400", "**PATHOLOGICAL assessment only**\n\nMetastasis in a lymph node, between 2 cm and 5 cm", "VALUE:RN" ], [ "500", "**PATHOLOGICAL assessment only**\n\nExtranodal extension of lymph nodes present", "VALUE:RN" ], [ "600", "Metastasis in a lymph node larger than 5 cm in greatest dimension", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddj.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddj.json deleted file mode 100644 index 896667a7e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddj.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_ddj", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Bilateral or Contralateral nodes** \n* Bilateral or contralateral nodes are classified as regional nodes for truncal tumors (C445) with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. \n * Truncal tumors may also drain to both cephalad and caudal primary nodal basins as shown on lymphoscintigraphy.\n* Clinical assessment of bilateral/contralateral or cephalad/caudal regional nodal involvement is required for tumors where lymphoscintigraphy is not performed\n\n**Note 3:** **Nodal basins** \n* Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins and are coded as regional nodes.\n\n**Note 4:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:10.234Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Skin of trunk (C445) (includes contralateral and bilateral)\n- Upper trunk\n + Axillary\n + Cervical\n + Internal mammary\n + Supraclavicular\n- Lower trunk\n + Superficial inguinal (femoral) (lower trunk only)\n\n(C446-C449: Single, Ipsilateral, Multiple. See EOD Mets for contralateral or bilateral nodes)\n\nSkin of upper limb and shoulder (C446)\n- Axillary\n- Cervical\n- Epitrochlear for hand/forearm\n- Internal mammary (parasternal)\n- Spinal accessory for shoulder\n- Supraclavicular (transverse cervical)\n\nSkin of lower limb and hip (C447)\n- Femoral (superficial inguinal)\n- Inguinal\n- Popliteal for heel and calf", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddn.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddn.json deleted file mode 100644 index 737f13bf2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddn.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_ddn", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only.\n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (100, 200, 600, 650) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH\n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up.\n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (300, 350, 400, 500, 700, 750) when there is a **surgical resection of the primary tumor or site** WITH\n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment.\n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n\n**Note 3:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. \n* ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction).\n * Lymph nodes with isolated tumor cells (ITCs) are counted as positive lymph nodes\n\n**Note 4:** **In transit metastasis** \n* In transit metastasis is defined as a tumor distinct from the primary lesion and located either between the primary lesion and the draining regional lymph node(s) or distal to the primary lesion. \n* In transit metastasis with positive lymph node(s) are coded under regional lymph nodes.\n* Code 600 if there are **clinically** in-transit metastasis WITHOUT regional lymph node involvement\n* Code 650 if there are **clinically** in-transit metastasis WITH regional lymph node involvement\n* Code 700 if there are **pathologically** in-transit metastasis WITHOUT regional lymph node involvement\n* Code 750 if there are **pathologically** in-transit metastasis WITH regional lymph node involvement\n\n**Note 5:** **Regional lymph nodes for skin**\n* Single, Multiple, Ipsilateral, Bilateral or Contralateral lymph nodes\n\n**Skin of head and neck (C000-C006, C008-C009, C440-C444)**\n- Levels I-VII \n- Axillary (neck only, C444)\n- Cervical, NOS\n- Deep cervical, NOS\n- Facial (buccinator, buccal, nasolabial)\n- Internal jugular, NOS\n- Parapharyngeal \n- Parotid (infraauricular, intraparotid, periparotid, preauricular)\n- Retroauricular (mastoid)\n- Retropharyngeal\n- Suboccipital\n\n**Skin of trunk (C445)**\n- Upper trunk \n + Axillary\n + Cervical\n + Internal mammary\n + Supraclavicular\n- Lower trunk \n + Superficial inguinal (femoral)\n\n**Skin of upper limb and shoulder (C446)**\n- Axillary\n- Cervical\n- Epitrochlear for hand/forearm\n- Internal mammary (parasternal)\n- Spinal accessory for shoulder\n- Supraclavicular (transverse cervical)\n\n**Skin of lower limb and hip (C447)**\n- Femoral (superficial inguinal)\n- Inguinal\n- Popliteal for heel and calf\n\n**Vulva (C510-C512, C518-C519)**\n- Deep inguinal, NOS\n- Femoral\n- Inguinal, NOS\n- Inguinofemoral (groin)\n- Node of Cloquet or Rosenmuller (highest deep inguinal)\n- Superficial inguinal (femoral)\n\n**Penis (C600-C602, C608-C609)**\n- Iliac, NOS\n + External\n + Internal (hypogastric, obturator)\n- Inguinal, NOS\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial [femoral] \n- Pelvic, NOS\n\n**Scrotum (C632)**\n- Iliac, NOS\n + External\n + Internal (hypogastric), NOS\n * Obturator\n- Inguinal, NOS\n + Deep inguinal, NOS\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n\n**Note 6:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bichakjian, C.K., Nghiem, P., Sober, A.J., et al. **Merkel Cell Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:30.050Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node metastasis detected\n* On clinical AND/OR radiologic examination\n* Sentinel node biopsy or lymph node dissection", "VALUE:NONE" ], [ "100", "**CLINICAL assessment only**\n\nClinical and/or radiologic exam positive nodes \n- WITHOUT biopsy or resection of lymph nodes", "VALUE:RN" ], [ "200", "**CLINICAL assessment only**\n\nClinically positive nodes on core biopsy/FNA \n- WITHOUT sentinel lymph node biopsy or resection of lymph nodes", "VALUE:RN" ], [ "300", "**PATHOLOGICAL assessment only**\n\nClinically occult nodes\n- WITH positive nodes from sentinel node biopsy", "VALUE:RN" ], [ "350", "**PATHOLOGICAL assessment only**\n\nClinically occult nodes\n- WITH positive nodes on lymph node resection", "VALUE:RN" ], [ "400", "**PATHOLOGICAL assessment only**\n\nClinically and/or radiologically positive nodes\n- WITH positive nodes on biopsy or lymph node resection", "VALUE:RN" ], [ "500", "**PATHOLOGICAL assessment only**\n\nClinically unknown if positive or negative\n- WITH positive nodes on biopsy or lymph node resection", "VALUE:RN" ], [ "600", "**CLINICAL assessment only**\n\nIn-transit metastasis present\n- WITHOUT lymph node metastasis or UNKNOWN\n\nDiscontinuous from primary tumor\nLocated between primary tumor and draining regional nodal basin\nOR distal to the primary tumor", "VALUE:RN" ], [ "650", "**CLINICAL assessment only**\n\nCode 600 WITH lymph node metastasis", "VALUE:RN" ], [ "700", "**PATHOLOGICAL assessment only**\n\nIn-transit metastasis present\n- WITHOUT lymph node metastasis or UNKNOWN\n\nDiscontinuous from primary tumor\nLocated between primary tumor and draining regional nodal basin\nOR distal to the primary tumor", "VALUE:RN" ], [ "750", "**PATHOLOGICAL assessment only**\n\nCode 700 WITH lymph node metastasis", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddp.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddp.json deleted file mode 100644 index 2b66b6149..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_ddp.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_ddp", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Woltering, E.A., Bergsland, E.K., et al. **Neuroendocrine Tumors of the Appendix**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Appendix**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:47.144Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "- Cecal \n + Anterior (prececal)\n * Posterior (retrocecal)\n * Right colic\n- Colic, NOS\n- Epicolic (adjacent to bowel wall)\n- Ileocolic\n- Mesenteric, NOS\n- Mesocolic, NOS\n- Paracolic/pericolic", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dew.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dew.json deleted file mode 100644 index 79c97931b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dew.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dew", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Aloia, T., Pawlik, T.M., Vauthey, J.N., et al. **Intrahepatic Bile Ducts**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:37.957Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Common bile duct \nCystic duct \nHepatic, NOS\nHepatic artery\nHepatic pedicle\nHepatoduodenal ligament \nHilar\nPortal vein\n- Periportal \n- Porta hepatis\n- Portal", "VALUE:RN" ], [ "400", "Portocaval (portacaval)", "VALUE:RN" ], [ "700", "Left liver (segments 2-4) or lobe of liver not stated\n- Gastrohepatic\n- Inferior phrenic\n\nRight liver (segments 5-8) or lobe of liver not stated\n- Periduodenal\n- Peripancreatic\n- Pancreaticoduodenal", "VALUE:D" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfc.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfc.json deleted file mode 100644 index 6a39c3af6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfc.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dfc", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **LAMN tumors** \n* Nodal metastasis is very rare in low-grade appendiceal neoplasms (LAMN). If there is no mention of lymph nodes in the pathology report for a LAMN, code as none (000). \n\n**Note 3:** **CLINICAL and PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only. \n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (450, 500, 550, 600, 650, 700) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (300, 400) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.\n\n**Note 4:** **Tumor Deposits** \n* Code 400 is defined as **PATHOLOGICAL** assessment only. This is used when\n * Primary tumor or site surgically resected with\n * Any positive microscopic examination of tumor deposits WITHOUT positive lymph nodes\n * If there are also positive lymph nodes, code 300", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Overman, M.J., Jessup, J.M., et al. **Appendix - Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:04.476Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "**PATHOLOGICAL ASSESSMENT ONLY**\n\n- Cecal \n + Anterior (prececal)\n * Posterior (retrocecal)\n * Right colic\n- Colic, NOS\n- Epicolic (adjacent to bowel wall)\n- Ileocolic\n- Mesenteric, NOS\n- Mesocolic, NOS\n- Paracolic/pericolic", "VALUE:RN" ], [ "400", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nTumor deposits (TD) in the subserosa, mesentery, mesorectal \nor nonperitonealized pericolic or perirectal tissues \nWITHOUT regional nodal metastasis", "VALUE:RN" ], [ "450", "**CLINICAL ASSESSMENT ONLY**\n\nOne positive node clinically OR Stated as Clinical N1a", "VALUE:RN" ], [ "500", "**CLINICAL ASSESSMENT ONLY**\n\nTwo-three positive nodes clinically OR Stated as Clinical N1b", "VALUE:RN" ], [ "550", "**CLINICAL ASSESSMENT ONLY**\n\nStated as Clinical N1, number of positive nodes clinically unknown", "VALUE:RN" ], [ "600", "**CLINICAL ASSESSMENT ONLY**\n\nFour-six positive nodes clinically OR Stated as Clinical N2a", "VALUE:RN" ], [ "650", "**CLINICAL ASSESSMENT ONLY**\n\nSeven or more positive nodes clinically OR Stated as Clinical N2b", "VALUE:RN" ], [ "700", "**CLINICAL ASSESSMENT ONLY**\n\nStated as Clinical N2, number of positive nodes clinically unknown", "VALUE:RN" ], [ "800", "Positive nodes, number unknown\nUnknown if clinical or pathological assessment\n\nRegional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfd.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfd.json deleted file mode 100644 index b2885f992..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfd.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dfd", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Nodal metastasis rare** \n* Nodal metastasis is very rare in gastrointestinal stromal tumors (GISTs) and surgeons generally agree that nodal dissection is not indicated. In the absence of information on regional lymph node status for a localized tumor, code as none (000).\n\n**Note 3:** **EOD references** \n* See the chapter (schema) corresponding to the primary site for information about regional nodes. \n* *For example*: For primary colon GIST, see the colon chapter (schema) for regional nodes information.\n * **Esophagus**: C150-C155, C158-C159\n * **Small Intestine**: C170-C172, C178-C17\n * **Stomach**: C160-C166, C168-C169 \n * **Appendix**: C181 \n * **Colon and Rectum**: C180, C182-C189, C199, C209\n * **Retroperitoneum**: C480-C482, C488\n\n**Note 4:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) DeMatteo, R.P., Maki, R.G., Pollock, R.E., et al. **Gastrointestinal Stromal Tumor**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:11.136Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Regional lymph node metastases (see Note 3)", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfe.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfe.json deleted file mode 100644 index 0461282ca..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfe.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dfe", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Unnamed nodes** \n* For Colon and Rectum ONLY, any unnamed nodes that are removed with a colon or rectal resection are presumed to be regional pericolic or perirectal lymph nodes and are included in the EOD Regional Nodes code 300 (pericolic for sites C180 - C189, C199 and perirectal for sites C199 or C209). \n* This site-specific instruction applies only to colon and rectum tumors and was verified with subject matter experts.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Shi, C., Woltering, E.A., Washington, M.K., et al. **Neuroendocrine Tumors of the Colon and Rectum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Colon and Rectum**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:27.178Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Colon subsites\n- Colic, NOS\n- Epicolic (adjacent to bowel wall)\n- Mesenteric, NOS\n- Mesocolic, NOS\n- Paracolic\n- Pericolic\n\nCecum (C180) \n- Colic (right)\n- Ileocolic\n- Periappendiceal\n- Prececal (anterior, NOS)\n- Retrocecal (posterior)\n\nAscending colon (C182)\n- Colic (middle-right branch, right)\n- Ileocolic\n\nHepatic flexure (C183)\n- Colic (middle, right)\n- Ileocolic\n\nTransverse colon (C184)\n- Colic (left, middle)\n\nSplenic flexure (C185)\n- Colic (left, middle)\n- Mesenteric (inferior)\n\nDescending colon (C186)\n- Colic (left)\n- Mesenteric (inferior)\n- Sigmoid\n\nSigmoid colon (C187)\n- Colic (left)\n- Mesenteric (inferior)\n- Rectal (superior) (hemorrhoidal)\n- Rectosigmoid\n- Sigmoid (sigmoidal) (sigmoid mesenteric)\n\nRectosigmoid (C199)\n- Mesenteric (inferior)\n- Mesorectal\n- Pericolic\n- Perirectal\n- Rectal (superior) (hemorrhoidal)\n- Sigmoid \n\nRectum (C209)\n- Iliac (hypogastric, internal, obturator) (see EOD Mets for common, external, NOS)\n- Mesenteric (inferior)\n- Mesorectal\n- Perirectal\n- Rectal (inferior, superior) (hemorrhoidal)", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfg.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfg.json deleted file mode 100644 index 6002c11e1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfg.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dfg", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Hepatoduodenal and Pancreaticoduodenal lymph nodes**\n* Per AJCC, Hepatoduodenal and Pancreaticoduodenal nodes are regional for all subsites of the stomach. Previously they were regional only for the lesser curvature and greater curvature.\n\n**Note 3:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Woltering, E.A., Bergsland, E.K., et al. **Neuroendocrine Tumors of the Stomach**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Stomach,** from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:48.187Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Celiac artery\nCommon hepatic artery\nHepatic, NOS\nLeft gastric (superior gastric), NOS\n- Cardial, NOS\n- Cardioesophageal \n- Gastric artery\n- Gastric, left\n- Gastrohepatic\n- Gastropancreatic, left\n- Lesser curvature\n- Lesser omentum\n- Paracardial\n\nPancreaticosplenic (pancreaticolineal)\nPerigastric, NOS\nPeripancreatic\nPyloric, NOS\n- Infrapyloric (subpyloric)\n- Suprapyloric \n\nRight gastric (inferior gastric, NOS)\n- Gastrocolic\n- Gastroduodenal\n- Gastroepiploic (gastro-omental), right or NOS\n- Gastrohepatic\n- Greater curvature\n- Greater omentum\n- Pancreaticoduodenal \n\nSplenic (lineal), NOS\n- Gastroepiploic (gastro-omental), left\n- Splenic hilar/hilum\n\nNodule(s) in perigastric fat", "VALUE:RN" ], [ "700", "Hepatoduodenal and Pancreaticoduodenal lymph nodes (See Note 2)\n* All subsites of stomach", "VALUE:D" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfh.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfh.json deleted file mode 100644 index 69e4beb8d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfh.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dfh", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **FIGO and lymph node detail** \n* When both the Federation Internationale de Gynecologie et d'Obstetrique (FIGO) stage and lymph node detail are available, record the code with lymph node detail in preference to a statement of FIGO stage.\n\n**Note 3:** **Isolated Tumor Cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). Lymph nodes with ITCs only are not counted as positive nodes. \n* For positive ITCs with NO regional lymph node involvement, code 050\n\n**Note 4:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Dizon, D.S., Olawaiye, A.B., Mutch, D.G., et al. **Corpus Uteri - Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:26.651Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "050", "Isolated tumor cells in regional lymph node(s) no greater than 0.2 mm", "VALUE:NONE" ], [ "300", "Para-aortic, NOS\n- Aortic\n- Lateral aortic/lateral lumbar\n- Periaortic\n\nPelvic, NOS\n- Common\n- External\n- Internal (hypogastric, obturator, NOS)\n- Paracervical\n- Parametrial\n- Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\nFIGO Stage IIIC", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfl.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfl.json deleted file mode 100644 index 8957c8798..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfl.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dfl", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Woltering, E.A., Bergsland, E.K., et al. **Neuroendocrine Tumors of the Jejunum and Ileum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Jejunum and Ileum**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:47.656Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Cecal (anterior, retrocecal, NOS) \nCecal (posterior) (terminal ileum only)\nIleocecal\nMesenteric, NOS\nSuperior mesenteric", "VALUE:RN" ], [ "400", "Large mesenteric masses (greater than 2 cm)\nLymph node metastasis greater than 2 cm", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfm.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfm.json deleted file mode 100644 index 9285cad5e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfm.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dfm", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Chen, L., Olawaiye, A.B., Mutch, D.G., et al. **Gestational Trophoblastic Neoplasms**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:14.317Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Aortic, NOS\n- Lateral (lumbar)\n- Para-aortic\n- Peri-aortic\n\nIliac, NOS\n- Common\n- External\n- Internal (hypogastric), NOS\n + Obturator\n\nParametrial\nPelvic, NOS\nSacral\n- Lateral (laterosacral)\n- Middle (promontorial) (Gerota's node)\n- Presacral\n- Uterosacral", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfn.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfn.json deleted file mode 100644 index cff5715ce..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfn.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dfn", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only. \n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (700, 725, 775) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (300) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Krasinskas, A., Pawlik, T.M., Vauthey, J.N., et al. **Distal Bile Duct**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:37.499Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nCystic duct (node of neck of gallbladder) (Calot's node)\nHepatic artery (common, NOS)\nHilar (in hepatoduodenal ligament)\nNode of foramen of Winslow (omental) (epiploic)\nPancreaticoduodenal (anterior, posterior) \nPericholedochal (node along common bile duct)\nPeriduodenal\nPeripancreatic (near head of pancreas only)\nPeriportal\nPorta hepatis (portal) (hilar) (in hilus of liver)", "VALUE:RN" ], [ "700", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nSuperior mesenteric artery\nSuperior mesenteric vein", "VALUE:D" ], [ "725", "**CLINICAL ASSESSMENT ONLY**\n\nOne-three positive nodes clinically OR stated as Clinical N1", "VALUE:RN" ], [ "775", "**CLINICAL ASSESSMENT ONLY**\n\nFour or more positive nodes clinically OR stated as Clinical N2", "VALUE:RN" ], [ "800", "Positive nodes, number unknown\nUnknown if clinical or pathological assessment\n\nRegional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfo.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfo.json deleted file mode 100644 index 41dd61a23..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfo.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dfo", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only. \n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (700, 725, 775) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (300) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Nagorney, D.M., Pawlik, T.M., Vauthey, J.N., et al. **Perihilar Bile Ducts**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:38.281Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nCholedochal\nCommon bile duct\nCystic duct (node of the neck of the gallbladder) (Calot's node)\nHepatic\nHepatic artery\nHilar (porta hepatic) (portal) (in hilus of liver)\nNode of foramen of Winslow (omental) (epiploic)\nPancreaticoduodenal, posterior\nPericholedochal (node along common bile duct)\nPeriduodenal\nPeripancreatic (near head of pancreas only)\nPeriportal\nPortal", "VALUE:RN" ], [ "725", "**CLINICAL ASSESSMENT ONLY**\n\nOne-three positive nodes clinically OR stated as Clinical N1", "VALUE:RN" ], [ "775", "**CLINICAL ASSESSMENT ONLY**\n\nFour or more positive nodes clinically OR stated as Clinical N2", "VALUE:RN" ], [ "800", "Positive nodes, number unknown\nUnknown if clinical or pathological assessment\n\nRegional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfq.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfq.json deleted file mode 100644 index b884b30f4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfq.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dfq", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph node involvement rare**\n* Regional lymph node involvement is rare. \n* For this schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative. \n* Code unknown (999) only when there is no available information on the extent of the patient's disease\n * ***Example***: lab-only case is abstracted from a biopsy report and no clinical history is available.\n\n**Note 3:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Pollock, R.E., Maki, R.G., et al. **Soft Tissue Sarcoma of the Retroperitoneum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:18.776Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Intra-abdominal\nParacaval\nPelvic\nSubdiaphragmatic", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfr.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfr.json deleted file mode 100644 index f5a4fbd5a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dfr.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "nodes_dfr", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has lymph node codes that are defined as **CLINICAL** assessment only or **PATHOLOGICAL** assessment only. \n\n**No surgical resection**\n* Use **CLINICAL** assessment only codes (700, 725, 775) when there is a clinical work up only and there is **NO surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision, or lymph node dissection done during the clinical work up. \n\n**Surgical resection without neoadjuvant therapy**\n* Use **PATHOLOGICAL** assessment only codes (300) when there is a **surgical resection of the primary tumor or site** WITH \n * Any microscopic examination of regional lymph nodes, which includes FNA, core biopsy, sentinel node biopsy, lymph node excision done or lymph node dissection performed.\n\n**Surgical resection after neoadjuvant therapy**\n* If patient has neoadjuvant therapy, and the clinical assessment is equal to or greater than the pathological assessment, then the clinical assessment codes take priority. Otherwise, code the pathologic assessment. \n * See ***EOD 2018 General Instructions*** for further instructions on coding cases with neoadjuvant therapy, https://seer.cancer.gov/tools/staging/eod/.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Zhu, A.X., Pawlik, T.M., Vauthey, J.N., et al. **Gallbladder**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:39.121Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nCystic duct (node of the neck of the gallbladder) (Calot's node)\nHepatic (artery, NOS)\nHilar (in hepatoduodenal ligament)\nNode of foramen of Winslow (epiploic) (omental) \nPancreaticoduodenal\nPericholedochal (common bile duct)\nPeriduodenal\nPeripancreatic (near head of pancreas only)\nPeriportal\nPorta hepatis (portal) (periportal) (hilar) (in hilus of liver)\nPortal vein", "VALUE:RN" ], [ "700", "**PATHOLOGICAL ASSESSMENT ONLY**\n\nCeliac (axis) artery\nPara-aortic \nPeriaortic\nPericaval\nSuperior mesenteric artery\nSuperior mesenteric vein", "VALUE:D" ], [ "725", "**CLINICAL ASSESSMENT ONLY**\n\nOne-three positive nodes clinically OR stated as Clinical N1", "VALUE:RN" ], [ "775", "**CLINICAL ASSESSMENT ONLY**\n\nFour or more positive nodes clinically OR stated as Clinical N2", "VALUE:RN" ], [ "800", "Positive nodes, number unknown\nUnknown if clinical or pathological assessment\n\nRegional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dna.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dna.json deleted file mode 100644 index 85934fa94..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_dna.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "nodes_dna", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "last_modified" : "2025-11-14T20:05:02.844Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "888", "Not applicable: Information not collected for this schema", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_17543.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_17543.json deleted file mode 100644 index c3959d331..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_17543.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_exam_17543", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Nodes Exam", - "title" : "Regional Nodes Examined", - "notes" : "**Note 1:** Extraosseous plasmacytomas (9734), especially those in the respiratory tract, may metastasize to regional lymph nodes. Record the number of examined nodes.\n\n**Note 2:** Code 99, not applicable, for the histology plasmacytoma, NOS (9731).\n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:04:25.831Z", - "definition" : [ { - "key" : "nodes_exam", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No nodes examined" ], [ "01-89", "1 - 89 nodes examined (code exact number of regional lymph nodes examined)" ], [ "90", "90 or more nodes examined" ], [ "95", "No regional nodes removed, but aspiration or core biopsy of regional nodes performed" ], [ "96", "Regional lymph node removal documented as sampling and number of nodes unknown/not stated" ], [ "97", "Regional lymph node removal documented as dissection and number of nodes unknown/not stated" ], [ "98", "Regional lymph nodes surgically removed but number of lymph nodes unknown/not stated and not documented as sampling or dissection; nodes examined, but number unknown" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in medical record\nUse for codes 9731 (plasmacytoma, NOS) and 9732 (multiple myeloma)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_76029.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_76029.json deleted file mode 100644 index c9d7e39d2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_76029.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_exam_76029", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Nodes Exam", - "title" : "Regional Nodes Examined", - "notes" : "**Note:** Record this field even if there has been preoperative treatment.\n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T19:59:55.026Z", - "definition" : [ { - "key" : "nodes_exam", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No nodes examined" ], [ "01-89", "1 - 89 nodes examined (code exact number of regional lymph nodes examined)" ], [ "90", "90 or more nodes examined" ], [ "95", "No regional nodes removed, but aspiration or core biopsy of regional nodes performed" ], [ "96", "Regional lymph node removal documented as sampling and number of nodes unknown/not stated" ], [ "97", "Regional lymph node removal documented as dissection and number of nodes unknown/not stated" ], [ "98", "Regional lymph nodes surgically removed but number of lymph nodes unknown/not stated and not documented as sampling or dissection; nodes examined, but number unknown" ], [ "99", "Unknown if nodes were examined; not applicable or negative \nNot documented in medical record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_dna_95635.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_dna_95635.json deleted file mode 100644 index 94afdb69f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_exam_dna_95635.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_exam_dna_95635", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Nodes Exam DNA", - "title" : "Regional Nodes Examined", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2020-05-19T17:51:07.877Z", - "definition" : [ { - "key" : "nodes_exam", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "99", "Not applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_2999.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_2999.json deleted file mode 100644 index 53ebbce05..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_2999.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_2999", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "notes" : "**Note 1:** Extraosseous plasmacytomas (9734), especially those in the respiratory tract, may metastasize to regional lymph nodes. Record the number of positive nodes.\n\n**Note 2:** Code 99, not applicable, for the histology plasmacytoma, NOS (9731).\n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:04:11.009Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All nodes examined negative" ], [ "01-89", "1 - 89 nodes positive (code exact number of nodes positive)" ], [ "90", "90 or more nodes positive" ], [ "95", "Positive aspiration or core biopsy of lymph node(s)" ], [ "97", "Positive nodes - number unspecified" ], [ "98", "No nodes examined" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in medical record\nUse for codes 9731 (plasmacytoma, NOS) and 9732 (multiple myeloma)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_dna_91511.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_dna_91511.json deleted file mode 100644 index b408627e0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_dna_91511.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_dna_91511", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Nodes Pos DNA", - "title" : "Regional Nodes Positive", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2020-05-19T17:50:33.819Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "99", "Not applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fab.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fab.json deleted file mode 100644 index fe173a37c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fab.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_fab", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "notes" : "**Note 1:** Record this field even if there has been preoperative treatment.\n\n**Note 2:** Lymph nodes with only isolated tumor cells (ITCs) are NOT counted as positive lymph nodes. Only lymph nodes with metastases greater than 0.2mm (micrometastases or larger) should be counted as positive. If the pathology report indicates that nodes are positive but size of the metastases is not stated, assume the metastases are > 0.2mm and code the lymph nodes as positive in this field.\n\n**Note 3:** Record all positive regional lymph nodes in this field. Record the number of positive ipsilateral regional level I-II axillary nodes separately in the appropriate Site-Specific Factor field.\n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T19:59:25.332Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All nodes examined negative" ], [ "01-89", "1 - 89 nodes positive (code exact number of nodes positive)" ], [ "90", "90 or more nodes positive" ], [ "95", "Positive aspiration or core biopsy of lymph node(s)" ], [ "97", "Positive nodes - number unspecified" ], [ "98", "No nodes examined" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in medical record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fah.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fah.json deleted file mode 100644 index 0a88f3cf1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fah.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_fah", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "notes" : "**Note 1:** Record this field even if there has been preoperative treatment.\n\n**Note 2:** Lymph nodes with isolated tumor cells (ITCs) are counted as positive lymph nodes. ITCs are defined as any tumor deposits in lymph nodes less than or equal to 0.2 mm.\n\n**Note 3:** Although satellite nodules and in-transit metastasis are coded under Regional Lymph Nodes (N), DO NOT count as Regional Nodes Positive in this field.\n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:03:38.805Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All nodes examined negative" ], [ "01-89", "1 - 89 nodes positive (code exact number of nodes positive)" ], [ "90", "90 or more nodes positive" ], [ "95", "Positive aspiration or core biopsy of lymph node(s)" ], [ "97", "Positive nodes - number unspecified" ], [ "98", "No nodes examined" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in medical record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fpa.json b/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fpa.json deleted file mode 100644 index 3e78aaf03..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nodes_pos_fpa.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "nodes_pos_fpa", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Nodes Pos", - "title" : "Regional Nodes Positive", - "notes" : "**Note:** Record this field even if there has been preoperative treatment.\n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:02:06.468Z", - "definition" : [ { - "key" : "nodes_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All nodes examined negative" ], [ "01-89", "1 - 89 nodes positive (code exact number of nodes positive)" ], [ "90", "90 or more nodes positive" ], [ "95", "Positive aspiration or core biopsy of lymph node(s)" ], [ "97", "Positive nodes - number unspecified" ], [ "98", "No nodes examined" ], [ "99", "Unknown if nodes are positive; not applicable\nNot documented in medical record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/nras_mutational_analysis_16621.json b/src/test/resources/algorithms/eod_public/3.3/tables/nras_mutational_analysis_16621.json deleted file mode 100644 index a2cde61c6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/nras_mutational_analysis_16621.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "nras_mutational_analysis_16621", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "NRAS Mutational Analysis", - "title" : "NRAS Mutational Analysis", - "description" : "NRAS is a signaling intermediate in the growth receptor pathway. Certain NRAS mutations predict poor response to anti-EGFR therapy in patients with metastatic colorectal cancer.\n\nKRAS (NAACCR Data Item # 3866) and NRAS are important signaling intermediates in the growth receptor pathway, which controls cell proliferation and survival. Both KRAS and NRAS may be constitutively activated through mutation during colorectal carcinogenesis so that they continuously stimulate cell proliferation and prevent cell death (reference AJCC 8, pg. 266). KRAS and NRAS mutations predict poor response to anti-EGFR therapy in patients with metastatic colon cancer. AJCC 8 estimates that KRAS may be activated in up to 40% and NRAS in about 7% of colorectal carcinomas.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2021+\n* For cases diagnosed 2018-2020, this SSDI must be blank\n\n**Note 2:** **Physician Statement** \n* Physician statement of NRAS can be used to code this data item when no other information is available.\n\n**Note 3:** **Applicable stages**\n* NRAS may be recorded for all stages; however, it is primarily performed for patients with metastatic disease. If information is not available, code 9.\n\n**Note 4:** **Results from nodal or metastatic tissue**\n* Results from nodal or metastatic tissue may be used for NRAS.\n\n**Note 5:** **Neoadjuvant Therapy** \n* Record the assay from tumor specimens prior to neoadjuvant therapy.\n* If neoadjuvant therapy is given and there are no NRAS results from pre-treatment specimens, report the findings from post-treatment specimens.", - "last_modified" : "2025-11-05T21:37:28.215Z", - "definition" : [ { - "key" : "nras_mutational_analysis", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Normal\nNRAS negative; NRAS wild type\nNegative for (somatic) mutations, no alterations, no (somatic) mutations identified, not present, not detected" ], [ "1", "Abnormal (mutated)/detected in codon(s) 12, 13, and/or 61" ], [ "2", "Abnormal (mutated)/detected, codon(s) specified but not in codon(s) 12, 13, or 61" ], [ "4", "Abnormal (mutated), NOS, codon(s) not specified" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nNRAS not assessed or unknown if assessed" ], [ "", "Must be blank if diagnosis year is before 2021" ] ], - "additional_info" : "**Source documents:** pathology report, clinical laboratory report\n\nFor further information, refer to the **Colon and Rectum Biomarker** Reporting cancer protocol published by the College of American Pathologists for the AJCC Staging System *Colon and Rectum*.", - "coding_guidelines" : "There are 3 NRAS codons that are commonly mutated in colorectal cancers. This SSDI does not record the actual mutation, but instead records the codon or codon group that contains the mutation. If a specific NRAS mutation is reported, its codon may be identified from the following list of common NRAS mutations grouped by codon.\n\n**1)** **Codon 12 (See code 1)**\n* Gly12Asp (GGT>GAT)\n* Gly12Val (GGT>GTT)\n* Gly12Cys (GGT>TGT)\n* Gly12Ser (GGT>AGT)\n* Gly12Ala (GGT>GCT)\n* Gly12Arg (GGT>CGT)\n* Codon 12 mutation, not otherwise specified\n\n**2)** **Codon 13 (See code 1)**\n* Codon 13 mutation, not otherwise specified\n\n**3)** **Codon 61 (See code 1)**\n* Gln61Lys (CAA>AAA)\n* Gln61Arg (CAA>CGA)\n* Codon 61 mutation, not otherwise specified\n\n**4)** **Other specified codons (excluding 12, 13, 61) (See code 2)**\n\n**5)** **Unknown codon (See code 4)**\n * NRAS positive, specific codon not mentioned\n\n**6)** **Code 9** when\n* Insufficient amount of tissue available to perform test\n* No microscopic confirmation of tumor \n* Pathology report available and there is no mention of NRAS\n* NRAS not ordered or not done, or unknown if ordered or done", - "rationale" : "NRAS mutational analysis is recommended in clinical guidelines for patients with metastatic colon cancer who are being considered for anti-EGFR therapy. It is a new data item for cases diagnosed 1/1/2021+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/number_of_cores_examined_64985.json b/src/test/resources/algorithms/eod_public/3.3/tables/number_of_cores_examined_64985.json deleted file mode 100644 index 7d53a9f7b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/number_of_cores_examined_64985.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "number_of_cores_examined_64985", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Number of Cores Examined", - "title" : "Number of Cores Examined", - "description" : "This data item represents the number of cores examined as documented in the pathology report from a needle core biopsy of the prostate gland.\n\nTwo data items record the number of positive and examined cores that are microscopically confirmed. A diagnostic procedure, such as a needle core biopsy, can take as many as 20 or more core biopsies to determine the extent of the cancer within the prostate. \n\nTogether these two data items can provide researchers with a surrogate estimate of the percentage of the prostate involved by tumor, if that figure is not stated in the pathology report\n\nNumber of Cores Positive must ALWAYS be less than or equal to Number of Cores Examined.\n\nFor Prostate, there are 2 data items that record information on the number of cores positive and examined. These related data items should be coded from the same test. \n* 3897: Number of Cores Examined\n* 3898: Number of Cores Positive\n\n***Note:*** Do not make assumptions about the number of cores positive or examined based on the number of areas biopsied within the prostate (laterality, lobes, apex, base, or mid-prostate). Several cores may be taken from each area.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Number of Cores Examined can be used to code this data item when there is no other information available, provided the priority order has been met (See Note 2).\n\n**Note 2:** **Priority order**\n* **Final diagnosis**\n * If the core biopsy pathology report contains a summary of the number of cores examined from all specimens, use the summary provided\n * Do not include cores of other areas like seminal vesicles\n* **Gross description**\n * Information from the gross description of the core biopsy pathology report can be used to code this data item when the final diagnosis is not available and the gross findings provide the actual number of cores and not pieces, chips, fragments, etc.\n* **Physician statement (see Note 1)**\n\n**Note 3:** **Transperineal template-guided saturation biopsy (TTSB)**\n* A stereotactic prostate biopsy technique that typically produces 30 to 80 core biopsies. This is an alternative biopsy technique used for some high-risk patients including men with persistently elevated PSA, those who have atypia on prior prostate biopsies, or men with biopsies showing high grade prostatic intraepithelial neoplasia (PIN).\n\n**Note 4:** If there is a targeted biopsy or a region of interest (ROI) biopsy done, count as 1 core positive/1 core examined, regardless of how many cores are actually taken from the targeted/ROI location. \n * When doing a targeted or ROI biopsy, the region being biopsied is suspected of cancer (usually based on an MRI). Since the area is targeted, there will be many more cores removed. To record all these cores would be inflating the numbers.\n * ***Example:*** Standard/systematic core biopsy done, 2/16 cores positive, targeted biopsy done, 6/8 cores positive. \n * The total cores positive would be 2 + 1 (from the targeted biopsy), and total cores examined would be 16 + 1 (from the targeted biopsy).\n * If there are multiple targeted or region of interest's biopsies done, count each one as 1/1 cores positive/examined.\n\n * ***Example:*** Standard/systematic core biopsy done, 3/8 cores positive. Two targeted biopsies done, one 5/11 cores positive and the other 7/10 cores positive. \n * The total cores positive would be 3 + 2 (for the two targeted biopsies) and total cores examined would be 8 + 2 (for the two targeted biopsies)\n\n**Note 5:** **Related data item** \n* The number of cores positive are recorded in the related data item 3898: Number of Cores Positive.", - "last_modified" : "2025-11-06T20:42:32.366Z", - "definition" : [ { - "key" : "number_cores_exam", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "01-99", "1 - 99 cores examined\n(Exact number of cores examined)" ], [ "X1", "100 or more cores examined" ], [ "X6", "Biopsy cores examined; number unknown" ], [ "X7", "No needle core biopsy performed" ], [ "X8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code X8 may result in an edit error.)" ], [ "X9", "Not documented in medical record\nNumber of cores examined not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology reports from core needle biopsies\n\n**Other names for procedures include** needle core biopsy, needle biopsy, core biopsy, prostate biopsy, sextant biopsy, transrectal biopsy, ultrasound-guided biopsy, transperineal prostate biopsy, triggered-needle biopsy\n\nFor further information, refer to the **Prostate** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Prostate*.", - "coding_guidelines" : "**1)** Record the number of positive prostate core biopsies from the **first prostate core biopsy** diagnostic for cancer. \n* Information from the first core biopsy is preferred since the physician is usually examining the entire prostate. \n* If a second core biopsy is done, this is usually done on a specified area, so more cores will be found to be positive\n\n**2) Code 01-99** for the exact number of examined cores\n\n**3) Code X1** for 100 or more examined cores\n\n**4) Code X6** for examined cores, and the number of examined cores are not specifically identified, this includes descriptions such as pieces, chips, or fragments\n\n**5) Code X9** when \n* Not documented in the medical record\n* Cores not evaluated (assessed)\n* Unknown if Cores evaluated (assessed)", - "rationale" : "Number of Cores Examined is a Registry Data Collection Variable for AJCC. This data item was previously collected as Prostate, CS SSF #13." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/number_of_cores_positive_87819.json b/src/test/resources/algorithms/eod_public/3.3/tables/number_of_cores_positive_87819.json deleted file mode 100644 index a5ecaebf5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/number_of_cores_positive_87819.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "number_of_cores_positive_87819", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Number of Cores Positive", - "title" : "Number of Cores Positive", - "description" : "This data item represents the number of positive cores documented in the pathology report from a needle core biopsy of the prostate gland.\n\nTwo data items record the number of positive and examined cores that are microscopically confirmed. A diagnostic procedure, such as a needle core biopsy, can take as many as 20 or more core biopsies to determine the extent of the cancer within the prostate. \n\nTogether these two data items can provide researchers with a surrogate estimate of the percentage of the prostate involved by tumor, if that figure is not stated in the pathology report\n\nNumber of Cores Positive must ALWAYS be less than or equal to Number of Cores Examined.\n\nFor Prostate, there are 2 data items that record information on the number of cores positive and examined. These related data items should be coded from the same test. \n* 3897: Number of Cores Examined\n* 3898: Number of Cores Positive\n\n***Note:*** Do not make assumptions about the number of cores positive or examined based on the number of areas biopsied within the prostate (laterality, lobes, apex, base, or mid-prostate). Several cores may be taken from each area.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Number of Cores Positive can be used to code this data item when there is no other information available, provided the priority order has been met (See Note 2).\n\n**Note 2:** **Priority order**\n* **Final diagnosis**\n * If the core biopsy pathology report contains a summary of the number of cores positive, use the summary provided\n * Do not include cores of other areas like seminal vesicles\n* **Gross description**\n * Information from the gross description of the core biopsy pathology report can be used to code this data item when the final diagnosis is not available and the gross findings provide the actual number of cores and not pieces, chips, fragments, etc.\n* **Physician statement (see Note 1)**\n\n\n**Note 3:** **Transperineal template-guided saturation biopsy (TTSB)**\n* A stereotactic prostate biopsy technique that typically produces 30 to 80 core biopsies. This is an alternative biopsy technique used for some high-risk patients including men with persistently elevated PSA, those who have atypia on prior prostate biopsies, or men with biopsies showing high grade prostatic intraepithelial neoplasia (PIN).\n\n**Note 4:** If there is a targeted biopsy or a region of interest (ROI) biopsy done, count as 1 core positive/1 core examined, regardless of how many cores are actually taken from the targeted/ROI location.\n * When doing a targeted or ROI biopsy, the region being biopsied is suspected of cancer (usually based on an MRI). Since the area is targeted, there will be many more cores removed. To record all these cores would be inflating the numbers.\n * ***Example:*** Standard/systematic core biopsy done, 2/16 cores positive, targeted biopsy done, 6/8 cores positive. \n * The total cores positive would be 2 + 1 (from the targeted biopsy), and total cores examined would be 16 + 1 (from the targeted biopsy).\n * If there are multiple targeted or region of interest's biopsies done, count each one as 1/1 cores positive/examined.\n\n * ***Example:*** Standard/systematic core biopsy done, 3/8 cores positive. Two targeted biopsies done, one 5/11 cores positive and the other 7/10 cores positive. \n * The total cores positive would be 3 + 2 (for the two targeted biopsies) and total cores examined would be 8 + 2 (for the two targeted biopsies)\n\n**Note 5:** **Related data item** \n* The number of cores examined is recorded in the related data item 3897: Number of Cores Examined.", - "last_modified" : "2025-11-06T20:42:12.019Z", - "definition" : [ { - "key" : "number_cores_pos", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All examined cores negative" ], [ "01-99", "1 - 99 cores positive \n(Exact number of cores positive)" ], [ "X1", "100 or more cores positive" ], [ "X6", "Biopsy cores positive, number unknown" ], [ "X7", "No needle core biopsy performed " ], [ "X8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code X8 may result in an edit error.)" ], [ "X9", "Not documented in medical record\nNumber of cores positive not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology reports from core needle biopsies\n\n**Other names for procedures include** needle core biopsy, needle biopsy, core biopsy, prostate biopsy, sextant biopsy, transrectal biopsy, ultrasound-guided biopsy, transperineal prostate biopsy, triggered-needle biopsy\n\nFor further information, refer to the **Prostate** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Prostate*.", - "coding_guidelines" : "**1)** Record the number of positive prostate core biopsies from the **first prostate core biopsy** diagnostic for cancer. \n* Information from the first core biopsy is preferred since the physician is usually examining the entire prostate. \n* If a second core biopsy is done, this is usually done on a specified area, so more cores will be found to be positive\n\n**2)** **Code 00** for all cores negative\n\n**3)** **Code 01-99** for the exact number of positive cores\n\n**4)** **Code X1** for 100 or more positive cores\n\n**5)** **Code X6** if positive cores are identified, and the number of positive cores are not specifically identified, this includes descriptions such as pieces, chips, or fragments\n\n**6) Code X9** when \n* Not documented in the medical record\n* Cores not evaluated (assessed)\n* Unknown if Cores evaluated (assessed)", - "rationale" : "Number of Cores Positive is a Registry Data Collection Variable for AJCC. This data item was previously collected as Prostate, CS SSF #12." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/number_of_examined_para_aortic_nodes_38078.json b/src/test/resources/algorithms/eod_public/3.3/tables/number_of_examined_para_aortic_nodes_38078.json deleted file mode 100644 index 4567118fa..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/number_of_examined_para_aortic_nodes_38078.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "number_of_examined_para_aortic_nodes_38078", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Number of Examined Para-Aortic Nodes", - "title" : "Number of Examined Para-Aortic Nodes", - "description" : "Number of Examined Para-Aortic nodes is the number of nodes examined based on para-aortic nodal dissection.\n\nInformation on the number of positive and examined para-aortic and pelvic lymph nodes. These related data items should be coded from the same procedure.\n* 3899: Number of Examined Para-Aortic Nodes\n* 3900: Number of Examined Pelvic Nodes\n* 3901: Number of Positive Para-Aortic Nodes\n* 3902: Number of Positive Pelvic Nodes", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of examined para-aortic nodes can be used to code this data item when no other information is available.\n\n**Note 2:** **Para-aortic nodes** \n* Aortic\n* Lateral aortic/lateral lumbar\n* Para-aortic, NOS\n* Periaortic\n\n**Note 3:** **Related data item** \n* The number of para-aortic nodes positive is recorded in the related data item 3901: Number of Positive Para-aortic Nodes.\n\n**Note 4:** **Related data item**\n* The number of examined pelvic nodes is recorded in the related data item 3899: Number of Examined Para-Aortic Nodes.", - "last_modified" : "2025-11-06T20:25:49.351Z", - "definition" : [ { - "key" : "num_exam_para_aortic_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No para-aortic nodes examined" ], [ "01-99", "1 - 99 para-aortic nodes examined \n(Exact number of para-aortic lymph nodes examined)" ], [ "X1", "100 or more para-aortic nodes examined" ], [ "X2", "Para-aortic nodes examined; number unknown" ], [ "X6", "No para-aortic lymph nodes removed, but aspiration or core biopsy of para-aortic node(s) only" ], [ "X8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code X8 will result in an edit error.)" ], [ "X9", "Not documented in medical record\nCannot be determined, indeterminate if examined para-aortic nodes present \nPara-aortic lymph nodes not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging reports, physical exam, other statements in medical record", - "coding_guidelines" : "**1)** Record the number of examined pelvic lymph nodes documented in the medical record.\n* Number of nodes examined must ALWAYS be **equal to or greater** than the number of nodes positive.\n* If a lymph node dissection is done and only “nodes” are documented without specifying pelvic or para-aortic, assume they are pelvic\n * Para-aortic nodes are not routinely examined unless there is suspected involvement\n\n**2)** **Code 00** when no lymph nodes are examined by FNA, core biopsy or removal of lymph node(s) (e.g., sentinel lymph node biopsy or lymph node dissection)\n\n**3)** **Code 01-99** for the exact number of examined \n\n**4)** **Code X1** for 100 or more examined nodes\n\n**5)** **Code X2** for nodes examined, but unknown how many\n\n**6)** **Code X6** for aspiration or core biopsy of para-aortic node(s) \n\n**7)** **Code X9** when\n* Not documented in the medical record\n* Para-aortic lymph nodes not evaluated (assessed)\n* Unknown if Para-aortic lymph nodes not evaluated (assessed)", - "rationale" : "Number of Examined Para-Aortic Nodes is listed as a Registry Data Collection Variable in AJCC. This data item was previously collected as Corpus, CS SSF #6." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/number_of_examined_pelvic_nodes_60771.json b/src/test/resources/algorithms/eod_public/3.3/tables/number_of_examined_pelvic_nodes_60771.json deleted file mode 100644 index 07aca25b2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/number_of_examined_pelvic_nodes_60771.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "number_of_examined_pelvic_nodes_60771", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Number of Examined Pelvic Nodes", - "title" : "Number of Examined Pelvic Nodes", - "description" : "Number of Examined Pelvic Nodes is the number of nodes examined based on pelvic nodal dissection.\n\nFor the Corpus schemas (3) and the Cervix Sarcoma schema, there are 4 data items that record information on the number of positive and examined para-aortic and pelvic lymph nodes. These related data items should be coded from the same procedure\n* 3899: Number of Examined Para-Aortic Nodes\n* 3900: Number of Examined Pelvic Nodes\n* 3901: Number of Positive Para-Aortic Nodes\n* 3902: Number of Positive Pelvic Nodes", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of examined pelvic nodes can be used to code this data item when no other information is available \n\n**Note 2:** **Pelvic lymph nodes** \n* Iliac, NOS\n * Common\n * External\n * Internal (hypogastric) (obturator)\n* Paracervical\n* Parametrial\n* Pelvic, NOS\n* Sacral, NOS\n * Lateral (laterosacral)\n * Middle (promontorial) (Gerota’s node)\n * Uterosacral\n\n**Note 3:** **Isolated tumor cells**\n* For this data item, do not include isolated tumor cells (ITCs).\n\n**Note 4:** **Related data item**\n* The number of positive pelvic nodes is recorded in the related data item 3902: Number of Positive Pelvic Nodes.", - "last_modified" : "2025-11-06T20:24:36.143Z", - "definition" : [ { - "key" : "num_exam_pelvic_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No pelvic lymph nodes examined" ], [ "01-99", "1 - 99 pelvic lymph nodes examined \n(Exact number of pelvic lymph nodes examined)" ], [ "X1", "100 or more pelvic nodes examined" ], [ "X2", "Pelvic nodes examined; number unknown" ], [ "X6", "No pelvic lymph nodes removed, but aspiration or core biopsy of pelvic node(s) only" ], [ "X8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code X8 will result in an edit error.)" ], [ "X9", "Not documented in medical record\nCannot be determined, indeterminate if examined pelvic nodes present\nPelvic lymph nodes not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging reports, physical exam, other statements in medical record", - "coding_guidelines" : "**1)** Record the number of examined pelvic lymph nodes documented in the medical record.\n* Number of nodes examined must ALWAYS be **equal to or greater** than the number of nodes positive.\n* If a lymph node dissection is done and only “nodes” are documented without specifying pelvic or para-aortic, assume they are pelvic\n\n**2)** **Code 00** when no lymph nodes are examined by FNA, core biopsy or removal of lymph node(s) (e.g., sentinel lymph node biopsy or lymph node dissection)\n\n**3)** **Code 01-99** for the exact number of examined \n\n**4)** **Code X1** for 100 or more examined nodes\n\n**5)** **Code X2** for nodes examined, but unknown how many\n\n**6)** **Code X6** for aspiration or core biopsy of pelvic node(s) \n\n**7)** **Code X9** when\n* Not documented in the medical record\n* Pelvic lymph nodes not evaluated (assessed)\n* Unknown if Pelvic lymph nodes not evaluated (assessed)", - "rationale" : "Number of Examined Pelvic Nodes is listed as a Registry Data Collection Variable in AJCC. This data item was previously collected as Corpus, CS SSF #4." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/number_of_positive_ipsilateral_level_i_ii_axillary_lymph_nodes_79439.json b/src/test/resources/algorithms/eod_public/3.3/tables/number_of_positive_ipsilateral_level_i_ii_axillary_lymph_nodes_79439.json deleted file mode 100644 index 0334c5fec..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/number_of_positive_ipsilateral_level_i_ii_axillary_lymph_nodes_79439.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "number_of_positive_ipsilateral_level_i_ii_axillary_lymph_nodes_79439", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "LN Positive Axillary Level I-II", - "title" : "Lymph Nodes Positive Axillary Level I-II", - "description" : "This data item pertains to the number of positive ipsilateral level I and II axillary lymph nodes and intramammary lymph nodes based on pathological information.\n\nThis data items records the low axillary (level I and intramammary) and mid-axillary (level II, also called interpectoral or Rotter’s nodes).\n\nThis data item excludes level III (high axillary, also called apical or infraclavicular), internal mammary and supraclavicular lymph nodes.\n\nDo not confuse intramammary nodes, which are within breast tissue and are included in level I, with internal mammary nodes, which are along the sternum.\n\nThis field is based on pathological examination of ipsilateral (same side as the primary cancer) level I and II axillary lymph nodes, so pathological information is included even if the patient had neoadjuvant therapy prior to lymph node removal.\n\nDo not include lymph nodes containing only isolated tumor cells (ITCs—metastases less than 0.2 mm in size) in the count of positive nodes.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of number of positive ipsilateral Level I-II axillary nodes can be used to code this data item, when no other specific information is available.\n\n**Note 2:** **Axillary Level I and II lymph nodes** \n* Include only the number of positive ipsilateral level I and II axillary lymph nodes and intramammary lymph nodes in this field. Intramammary nodes, located within the breast, are not the same as internal mammary nodes, located along the sternum.\n\n**Note 3:** **Microscopic confirmation** \n* This field is based on microscopic information only. If no ipsilateral axillary nodes are examined, or if an ipsilateral axillary lymph node drainage area is removed but no lymph nodes are found, code X9.\n\n**Note 4:** **Isolated tumor cells** \n* Lymph nodes with only isolated tumor cells (ITCs) are not counted as positive lymph nodes. Only lymph nodes with metastases greater than 0.2 mm (micrometastases or larger) should be counted as positive. If the pathology report indicates that axillary nodes are positive, but size of the metastases is not stated, assume the metastases are greater than 0.2 mm and code the lymph nodes as positive in this field.\n\n**Note 5:** **Positive Axillary lymph nodes compared to Regional Nodes Positive** \n* When positive ipsilateral axillary lymph nodes are coded in this field, the number of positive ipsilateral axillary lymph nodes must be less than or equal to the number coded in Regional Nodes Positive (i.e., the number of positive ipsilateral axillary nodes will always be a subset of the number of positive regional nodes.)\n\n**Note 6:** **Neoadjuvant Therapy:** \n* If clinical nodal involvement is more extensive, include only those nodes that are positive during clinical workup\n * Positive nodes can be from an FNA, core biopsy or sentinel lymph node biopsy\n * ***Example:*** Patient with positive FNA of axillary lymph node, neoadjuvant therapy administered. Lymph node dissection revealed negative lymph nodes. Code X6 for the positive FNA.\n* If the post-neoadjuvant nodal involvement is more extensive, include only those nodes positive during surgery\n * Positive nodes can be from an FNA, core biopsy, sentinel lymph node biopsy or lymph node dissection\n * ***Example:*** Patient with large breast mass, lymph node negative on clinical exam. Neoadjuvant therapy administered. Mastectomy and sentinel lymph node biopsy done, 1 of 2 SLN’s positive. Code 01.", - "last_modified" : "2025-11-06T18:48:05.729Z", - "definition" : [ { - "key" : "ln_pos_axillary_level_1_2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All ipsilateral axillary nodes examined negative" ], [ "01-99", "1 - 99 nodes positive \n(Exact number of nodes positive)" ], [ "X1", "100 or more nodes positive" ], [ "X5", "Positive nodes, number unspecified" ], [ "X6", "Positive aspiration or needle core biopsy of lymph node(s)" ], [ "X8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code X8 will result in an edit error.)" ], [ "X9", "Not documented in medical record\nLevel I-II axillary nodes not assessed or unknown if assessed" ] ], - "additional_info" : "**Required for Staging:** EOD only\n\n**Source documents:** pathology report", - "coding_guidelines" : "**1)** **Code 00** when all level I and II axillary lymph nodes are negative on pathological examination\n\n**2)** **Code 01-99** for the exact number of positive nodes for levels I and II\n\n**3)** **Code X1** if more than 99 level I and II axillary lymph nodes are positive\n\n**4)** **Code X5** if level I and II axillary lymph nodes were positive, but the number is not specified\n\n**5)** **Code X6** if there was only a positive aspiration of level I or II axillary lymph node(s)\n\n**6)** **Code X9** when\n* No axillary nodes were examined\n* Axillary dissection was performed but no axillary lymph nodes were found\n* Clinical diagnosis only (no axillary lymph nodes were removed)\n* Unknown whether axillary lymph nodes are positive", - "rationale" : "Lymph Nodes Positive Axillary Level I-II can be collected by the surveillance community for breast cancers. Prior to 2018, Breast SSF#3 was used for Lymph Nodes Positive Axillary Level I-II." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/number_of_positive_para_aortic_nodes_62533.json b/src/test/resources/algorithms/eod_public/3.3/tables/number_of_positive_para_aortic_nodes_62533.json deleted file mode 100644 index 963506bd6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/number_of_positive_para_aortic_nodes_62533.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "number_of_positive_para_aortic_nodes_62533", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Number of Positive Para-Aortic Nodes", - "title" : "Number of Positive Para-Aortic Nodes", - "description" : "Number of Positive Para-Aortic Nodes is the number of positive nodes based on para-aortic nodal dissection.\n\nInformation on the number of positive and examined para-aortic and pelvic lymph nodes. These related data items should be coded from the same procedure.\n* 3899: Number of Examined Para-Aortic Nodes\n* 3900: Number of Examined Pelvic Nodes\n* 3901: Number of Positive Para-Aortic Nodes\n* 3902: Number of Positive Pelvic Nodes", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of positive para-aortic nodes can be used to code this data item when no other information is available.\n\n**Note 2:** **Para-aortic nodes** \n* Aortic\n* Lateral aortic/lateral lumbar\n* Para-aortic, NOS\n* Periaortic\n\n**Note 3:** **Isolated tumor cells**\n* For this data item, do not include isolated tumor cells (ITCs).\n\n**Note 4:** **Micrometastasis and macrometastasis**\n* Micrometastasis and macrometastasis may be listed separately on the pathology report. Add these two together to get the total number of positive nodes. \n\n**Note 5:** **Related data item**\n* The number of examined pelvic nodes is recorded in the related data item 3899: Number of Examined Para-Aortic Nodes.", - "last_modified" : "2025-11-06T20:25:21.161Z", - "definition" : [ { - "key" : "num_pos_para_aortic_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All para-aortic lymph nodes examined negative" ], [ "01-99", "1-99 para-aortic lymph nodes positive\n(Exact number of nodes positive)" ], [ "X1", "100 or more para-aortic nodes positive" ], [ "X2", "Positive para-aortic nodes identified; number unknown" ], [ "X6", "Positive aspiration or core biopsy of para-aortic lymph node(s)" ], [ "X8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code X8 will result in an edit error.)" ], [ "X9", "Not documented in medical record\nCannot be determined, indeterminate if positive para-aortic nodes present\nNo lymph nodes removed\nPara-aortic lymph nodes not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging reports, physical exam, other statements in medical record", - "coding_guidelines" : "**1)** Record the number of positive para-aortic lymph nodes documented in the medical record.\n\n**2)** **Code 00** for when there are no positive nodes\n\n**3)** **Code 01-99** for the exact number of positive nodes \n\n**4)** **Code X1** for 100 or more positive nodes\n\n**5)** **Code X2** for positive nodes, but unknown how many\n\n**6)** **Code X6** if only a FNA or core biopsy is done, and it is positive\n\n**7)** **Code X9** when\n* If only a FNA or core biopsy is done, and it is negative\n* Not documented in the medical record\n* Para-aortic lymph nodes not evaluated (assessed)\n* No lymph nodes removed\n* Unknown if Para-aortic lymph nodes evaluated (assessed)", - "rationale" : "Number of Positive Para-Aortic Nodes is listed as a Registry Data Collection Variable in AJCC. This data item was previously collected as Corpus, CS SSF #5." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/number_of_postive_pelvic_nodes_94512.json b/src/test/resources/algorithms/eod_public/3.3/tables/number_of_postive_pelvic_nodes_94512.json deleted file mode 100644 index 17f9281bb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/number_of_postive_pelvic_nodes_94512.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "number_of_postive_pelvic_nodes_94512", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Number of Positive Pelvic Nodes", - "title" : "Number of Positive Pelvic Nodes", - "description" : "Number of Positive Pelvic Nodes is the number of positive nodes based on pelvic nodal dissection.\n\nFor the Corpus schemas (3) and the Cervix Sarcoma schema, there are 4 data items that record information on the number of positive and examined para-aortic and pelvic lymph nodes. These related data items should be coded from the same procedure\n* 3899: Number of Examined Para-Aortic Nodes\n* 3900: Number of Examined Pelvic Nodes\n* 3901: Number of Positive Para-Aortic Nodes\n* 3902: Number of Positive Pelvic Nodes", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of positive pelvic nodes can be used to code this data item when no other information is available.\n\n**Note 2:** **Pelvic lymph nodes** \n* Iliac, NOS\n * Common\n * External\n * Internal (hypogastric) (obturator)\n* Paracervical\n* Parametrial\n* Pelvic, NOS\n* Sacral, NOS\n * Lateral (laterosacral)\n * Middle (promontorial) (Gerota’s node)\n * Uterosacral\n\n**Note 3:** **Isolated tumor cells**\n* For this data item, do not include isolated tumor cells (ITCs).\n\n**Note 4:** **Micrometastasis and macrometastasis**\n* Micrometastasis and macrometastasis may be listed separately on the pathology report. Add these two together to get the total number of positive nodes. \n\n**Note 5:** **Related data item**\n* The number of examined pelvic nodes is recorded in the related data item 3900: Number of Examined Pelvic Nodes.", - "last_modified" : "2025-11-06T20:23:55.754Z", - "definition" : [ { - "key" : "num_pos_pelvic_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All pelvic nodes examined negative" ], [ "01-99", "1 - 99 pelvic nodes positive \n(Exact number of nodes positive)" ], [ "X1", "100 or more pelvic nodes positive" ], [ "X2", "Positive pelvic nodes identified; number unknown" ], [ "X6", "Positive aspiration or core biopsy of pelvic lymph node(s)" ], [ "X8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code X8 will result in an edit error.)" ], [ "X9", "Not documented in medical record\nCannot be determined, indeterminate if positive pelvic nodes present\nNo lymph nodes removed\nPelvic lymph nodes not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report, imaging reports, physical exam, other statements in medical record", - "coding_guidelines" : "**1)** Record the number of positive pelvic lymph nodes documented in the medical record.\n* Number of nodes positive must ALWAYS be less than or equal to number of nodes examined\n\n**2)** Record the number of positive pelvic lymph nodes documented in the medical record.\n\n**3)** **Code 00** for when there are no positive nodes\n\n**4)** **Code 01-99** for the exact number of positive nodes \n\n**5)** **Code X1** for 100 or more positive nodes\n\n**6)** **Code X2** for positive nodes, but unknown how many\n\n**7)** **Code X6** if only a FNA or core biopsy is done, and it is positive\n\n**8)** **Code X9** when\n* If only a FNA or core biopsy is done, and it is negative\n* Not documented in the medical record\n* Pelvic lymph nodes not evaluated (assessed)\n* No lymph nodes removed\n* Unknown if Pelvic lymph nodes evaluated (assessed)", - "rationale" : "Number of Positive Pelvic Nodes is the number of positive nodes based on pelvic nodal dissection." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/occult_head_and_neck_lymph_nodes_10277.json b/src/test/resources/algorithms/eod_public/3.3/tables/occult_head_and_neck_lymph_nodes_10277.json deleted file mode 100644 index a571f2a61..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/occult_head_and_neck_lymph_nodes_10277.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "occult_head_and_neck_lymph_nodes_10277", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Discriminator 1", - "title" : "Schema Discriminator 1: Occult Head and Neck Lymph Nodes", - "description" : "In AJCC 8th edition, a new chapter was introduced for situations when there are positive cervical nodes (head and neck nodes for Levels I-VII, and other group), however, the primary tumor is not evident (occult tumor), and the primary tumor is suspected to be from the head and neck region (primary sites C00-C14, C30-32). \n* If the differential diagnosis includes non-head and neck sites, the primary site should be coded to C809\n * ***Example***: path report states metastasis to the cervical lymph node could be from a head and neck primary, lung primary, or gynecologic primary\n* If there is no indication that the cervical lymph node is from a head and neck site, then the primary site should be coded to C809 \n* If the tumor is found to be EBV+ or p16+. See Coding Guidelines below.\n* If the tumor is suspected to be from a head and neck site, or a potential head and neck site is indicated by the physician, see Coding Guidelines below.\n\nTo develop a software algorithm that can be used to send the registrar to the right chapter/schema, this schema discriminator was developed. \nTo get to this schema discriminator, the registrar will code C760 (head and neck, NOS) when there is a suspected head and neck tumor, yet the primary site is not known, and/or the primary tumor was not identified. The schema discriminator will then be brought up. \n\n* Note: If the physician “suspects” or “assigns” a specific head and neck subsite, the registrar is still to assign C760 so that the correct staging information can be abstracted. \n * ***Example***: FNA of cervical lymph node metastases shows squamous cell carcinoma, p16 negative. Workup shows no evidence of primary tumor, although physician states this may be a laryngeal primary based on “best guess”. \n\n* Even though the primary site is suspected to be larynx, primary site would still be coded to C760. For all head and neck sites, except for Oropharynx HPV-Associated and Nasopharynx EBV positive, no evidence of primary tumor (T0) does not exist in the individual AJCC chapters or EOD schemas. These cases are collected as unknown head and neck primary (C760), which will have no evidence of primary tumor. This Schema ID was designed specifically to group together these cases of an occult primary, a tumor that is not identified on physical exam or imaging techniques.", - "notes" : "**Note:** **Schema Discriminator for C760** \n* This schema discriminator is used to discriminate between head and neck tumors with unknown primary site coded as C760. \n\t\n* **00060: Cervical Lymph Nodes and Unknown Primary**\n\n Occult head and neck tumor with cervical metastasis in Levels I-VII, and other group lymph nodes without a p16 immunostaining or with negative results and without an Epstein-Barr virus (EBV) encoded small RNAs (EBER) by in situ hybridization performed or with negative results are staged using the AJCC Cervical Lymph Nodes and Unknown Primary Tumors of the Head and Neck Staging System. **Assign primary site C760; code the schema discriminator accordingly.**\n\n* **00090: Nasopharynx 8th (2018-2024) and \n09090: Nasopharynx V9 (2025+)**\n\n Occult head and neck tumors with cervical metastasis in Levels I-VII, and other group lymph nodes that is positive for Epstein-Barr virus (EBV+) (regardless of p16 status) encoded small RNAs (EBER) identified by in situ hybridization are staged using the AJCC Nasopharynx Staging System. **Assign primary site C119; do NOT code this discriminator**\n\n* **00100: Oropharynx HPV-Associated 8th (2018-2025) and \n09100: Oropharynx HPV-Associated V9 (2026+)**\n\n Occult head and neck tumors with cervical metastasis in Levels I-VII, and other group lymph nodes, p16 positive with histology consistent with HPV-associated oropharyngeal carcinoma (OPC), are staged using the AJCC Oropharynx HPV-Associated Staging System. **Assign primary site C109; do NOT code this discriminator**\n\n* **99999: Ill-Defined Other**\n\n If the tumor is not occult or does not have cervical metastasis in Levels I-VII, and other group lymph nodes, it is not included in the AJCC Cervical Lymph Nodes and Unknown Primary Tumors of the Head and Neck Staging System and will be classified as Ill-Defined Other for Summary Staging", - "last_modified" : "2025-11-06T16:45:50.486Z", - "definition" : [ { - "key" : "discriminator_1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "disease", - "name" : "Schema ID #/Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Not Occult", "99999: Ill Defined Other\n00459: Soft Tissue Other (8941/3 only)" ], [ "1", "Occult, Negative cervical nodes (regional head and neck nodes)", "99999: Ill Defined Other\n00459: Soft Tissue Other (8941/3 only)" ], [ "2", "Not tested for EBV or p16 in head and neck regional nodes (EBV and p16 both unknown)", "00060: Cervical Lymph Nodes and Unknown Primary" ], [ "3", "Unknown EBV, p16 negative in head and neck regional nodes", "00060: Cervical Lymph Nodes and Unknown Primary" ], [ "4", "Unknown p16, EBV negative in head and neck regional nodes", "00060: Cervical Lymph Nodes and Unknown Primary" ], [ "5", "Negative for both EBV and p16 in head and neck regional nodes", "00060: Cervical Lymph Nodes and Unknown Primary" ], [ "", "Not C760, discriminator does not apply\n\nPositive p16 in head and neck regional nodes, EBV unknown or negative\nAssign primary site C109\n\nPositive EBV in head and neck regional nodes, p16 positive, negative, or unknown\nAssign primary site C119", "Various \n\n00100: Oropharynx HPV-Associated 8th (2018-2025)\n09100: Oropharynx HPV-Associated V9 (2026+)\n\n00090: Nasopharynx 8th (2018-2024)\n09090: Nasopharynx V9 (2025+)" ] ], - "additional_info" : "**Source documents:** imaging, pathology report, p16 results, EBV results", - "coding_guidelines" : "**1)** **Code 0: Not occult**\n* Primary tumor is evident in the head and neck region; however, a specific primary site cannot be identified. \n* If overlapping lesions are evident and the primary site cannot be determined, this would not be a C760, but C148 (overlapping lesions) (Schema ID 00118: Pharynx Other)\n* For tumors in this category, C760 should be used sparingly. If C760 is assigned, this would be collected in the following schemas: Schema ID 99999: Ill-Defined Other OR Schema ID 00450: Soft Tissue Other (if specified sarcoma) \n * ***Examples include*** Cases with limited information, historical case\n\n**2)** **Code 1: Occult, Negative cervical nodes (regional head and neck nodes** \n* No evidence of primary tumor or positive cervical lymph nodes (head and neck regional lymph nodes), suspected head and neck primary. \n* This type of situation would be rare but would probably be diagnosed based on metastatic disease, including distant lymph nodes (Mediastinal [excluding superior mediastinal node(s)])\n* This case would be collected in the **Ill-Defined Other** schema, or **Soft Tissue Other** (if specified sarcoma).\n\n**3)** **Code 2: Not tested for EBV or p16 in head and neck regional nodes (EBV and p16 both unknown)** \n* There is no documentation in the record regarding p16 or EBV.\n\n**4)** **Code 3: Unknown EBV, p16 negative in head and neck regional nodes** \n* p16 is done and reported as negative. No documentation in the medical record regarding EBV. \n\n**5)** **Code 4: Unknown p16, EBV negative in head and neck regional nodes** \n* EBV done and reported as negative. No documentation in the medical record regarding p16. \n\n**6)** **Code 5: Negative for both EBV and p16 in head and neck regional nodes** \n* Both EBV and p16 done and reported as negative", - "rationale" : "A schema discriminator is used to assign AJCC ID when site and histology alone are insufficient to identify the applicable AJCC staging method and to assign Schema ID, which links each case to the appropriate SSDIs, Summary Stage and EOD data collection system." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recur_score_73667.json b/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recur_score_73667.json deleted file mode 100644 index 7d7486aa0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recur_score_73667.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "oncotype_dx_recur_score_73667", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Oncotype Dx Recurrence Score - Invasive", - "title" : "Oncotype Dx Recurrence Score - Invasive", - "description" : "Oncotype Dx Recurrence Score-Invasive is a numeric score of a genomic test to predict the likelihood of distant recurrence of invasive breast cancer based on the assessment of 21 genes. \n\nThe Oncotype DX Breast Recurrence Score test (Oncotype DX) test is a genomic test that predicts the risk of distant recurrence and likelihood of benefit chemotherapy for early-stage breast cancers. It is required for assigning prognostic stage in AJCC 8th edition for patients with T1-2 N0, M0, ER-positive, HER2 negative breast cancers. Oncotype DX provides a quantitative score, based on a continuous scale from 0-100, with higher scores reflecting higher risk of distant recurrence and higher likelihood of chemotherapy benefit.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Oncotype Dx Recurrence Score-Invasive score can be used to code this data item when no other information is available.\n\n**Note 2:** **Type of Test**\n* Record only the results of an Oncotype Dx-Invasive recurrence score in this data item. If some other test is used for scoring, assign code XX9.\n* Predicted Oncotype Dx Recurrence Score based on linear regression models and Magee equations should not be reported in this field.\n * Code unknown If the only information you have on Oncotype Dx is based on a linear regression model and Magee score\n\n**Note 3:** **Staging related** \n* Staging for Breast cancer now depends on the Oncotype-Dx-Invasive recurrence score. Score of less than 11 indicates a pertinent cut off value for staging purposes. \n\n**Note 4:** **Results from nodal or metastatic tissue**\n* May be used, ONLY when there is no evidence of primary tumor\n * **Note:** In-situ is evidence of primary tumor\n\n**Note 5:** **Multiple tests, multiple results**\n* In cases where Oncotype DX is reported on more than one breast tumor specimen, record the highest value. \n\n**Note 6:** **Related data item** \n* Code this data item using the same report used to record the related data item 3906: Oncotype Dx Risk Level-Invasive.", - "last_modified" : "2025-11-06T18:52:03.561Z", - "definition" : [ { - "key" : "oncotype_dx_score", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000-100", "Enter actual recurrence score between 0 and 100" ], [ "XX4", "Stated as less than 11" ], [ "XX5", "Stated as equal to or greater than 11" ], [ "XX6", "Not applicable, in situ case" ], [ "XX7", "Test ordered, results not in chart" ], [ "XX9", "Not documented in medical record\nOncotype Dx Recurrence Score-Invasive not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** Oncotype Dx Breast Recurrence Score laboratory report, other statements in medical record", - "coding_guidelines" : "**1)** Code 01-100 for the actual recurrence score\n* The actual recurrence score takes priority over codes XX4 and XX5.\n\n**2)** Code XX6 if the case is in-situ (/2)\n\n**3)** Code XX7 If the only information available is the Oncotype Dx-Invasive Risk Level\n\n**4)** Code XX9 when Oncotype DX recurrence score\n* Cannot be determined by the pathologist (e.g., inadequate specimen)\n* It is unknown whether the Oncotype DX recurrence score test was performed\n* The patient has only a clinical diagnosis of breast cancer (no tissue diagnosis)", - "rationale" : "Oncotype Dx Recurrence Score-Invasive is a Registry Data Collection Variable in AJCC. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recurrence_score_dcis_70549.json b/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recurrence_score_dcis_70549.json deleted file mode 100644 index 55077f702..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_recurrence_score_dcis_70549.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "oncotype_dx_recurrence_score_dcis_70549", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Oncotype Dx Recurrence Score DCIS", - "title" : "Oncotype Dx Recurrence Score - DCIS", - "description" : "Oncotype Dx Recurrence Score-DCIS is a numeric score of a genomic test to predict the likelihood of distant recurrence of invasive breast cancer based on the assessment of 21 genes.\n\nThe Oncotype DX DCIS score is a genomic test that estimates the likelihood of local recurrence (DCIS or invasive) for a patient with DCIS. The results may be used clinically to evaluate benefits of radiation therapy following surgery.", - "notes" : "**Note 1:** **Physician statement**\n* Physician statement of Oncotype Dx Recurrence Score-DCIS can be used to code this data item when no other is available.\n\n**Note 2:** **Type of Test**\n* Record only the results of an Oncotype Dx-DCIS recurrence score in this data item. If some other test is used for scoring, assign code XX9.\n\n**Note 3:** **Multiple tests, multiple results**\n* In cases where Oncotype Dx-DCIS is reported on more than one in situ breast tumor specimen, record the highest value.\n\n**Note 4:** **Related data item** \n* Code this data item using the same report used to record the related data item 3905: Oncotype Dx Risk Level-DCIS.", - "last_modified" : "2025-11-06T19:57:41.681Z", - "definition" : [ { - "key" : "oncotype_dx_score_dcis", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000-100", "Enter actual recurrence score between 0 and 100" ], [ "XX6", "Not applicable, invasive case" ], [ "XX7", "Test ordered, results not in chart" ], [ "XX8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code XX8 will result in an edit error.)" ], [ "XX9", "Not documented in medical record\nOncotype Dx recurrence score-DCIS not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** Oncotype Dx DCIS laboratory report, other statements in medical record", - "coding_guidelines" : "**1)** **Code 01-100** for the actual recurrence score\n* The actual recurrence score takes priority over codes XX4 and XX5\n\n**2)** **Code XX6** if the case is invasive (/3)\n\n**3)** **Code XX7** If the only information available is the Oncotype Dx-DCIS Risk Level\n\n**4)** **Code XX9** when Oncotype DX recurrence score\n* LCIS tumors\n* Cannot be determined by the pathologist (e.g., inadequate specimen)\n* It is unknown whether the Oncotype DX recurrence-DCIS score test was performed\n* The patient has only a clinical diagnosis of breast cancer (no tissue diagnosis)", - "rationale" : "Oncotype Dx Recurrence Score-DCIS is a Registry Data Collection Variable in AJCC. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_11033.json b/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_11033.json deleted file mode 100644 index 0c7645271..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_11033.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "oncotype_dx_risk_level_11033", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Oncotype DX Risk Level-Invasive", - "title" : "Oncotype Dx Risk Level-Invasive", - "description" : "Oncotype Dx Risk Level-Invasive stratifies Oncotype Dx recurrence scores into low, intermediate, and high risk of distant recurrence. \n\nThe numeric value of the recurrence score is coded in Data Item #3906. When the actual recurrence score is not available, there is an option for coding recurrence scores stated as less than 11 or greater than equal to 11 as this the cut point determined to be clinically relevant for stage group in AJCC8. Oncotype DX Risk Level -Invasive, coded in NAACCR Data Item #3906, stratifies the Oncotype DX recurrence score into three risk levels \n* **Low risk: Recurrence Score result less than 18:** The patient has a lower risk of having a recurrence, assuming 5 years of hormonal therapy is given. Chemotherapy is likely to have little or no benefit.\n* **Intermediate Risk: Recurrence Score result between 18 and 30:** The patient has a tumor that is in the middle of the risk spectrum reflecting that biology is continuous and not all patients have a low or a high recurrence risk, assuming 5 years of hormonal therapy is given. The likelihood of distant recurrence and benefit from chemotherapy increases with an increase in the Recurrence Score result.\n* **High risk: Recurrence Score result greater than or equal to 31:** The patient has a high risk of distant recurrence, assuming 5 years of hormonal therapy and is likely to benefit from chemotherapy.\n.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Oncotype Dx Risk Level-Invasive can be used to code this data item when no other information is available.\n\n**Note 2:** **Related data item** \n* Code this data item using the same report used to record the related data item 3904: Oncotype Dx Recurrence Score-Invasive.", - "last_modified" : "2025-11-14T15:55:36.053Z", - "definition" : [ { - "key" : "oncotype_dx_risk_level", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Low risk (recurrence score 0-17)" ], [ "1", "Intermediate risk (recurrence score 18-30)" ], [ "2", "High risk (recurrence score greater than or equal to 31)" ], [ "6", "Not applicable: DCIS case" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nOncotype Dx Risk Level-Invasive not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** Oncotype Dx Breast Recurrence Score laboratory report, other statements in medical record", - "coding_guidelines" : "**1)** Record only the results of an Oncotype Dx Risk Level-Invasive in this data item. If some other test is used for scoring, assign code 9.\n* Code 6 if case is in-situ (/2)\n\n**2)** The Oncotype Dx Risk Level-Invasive test stratifies scores into low, intermediate, and high risk of distant recurrence.\n* If only the score is stated, assign the risk level based on the score.", - "rationale" : "Oncotype Dx Risk Level-Invasive is a Registry Data Collection Variable in AJCC. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_dcis_53080.json b/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_dcis_53080.json deleted file mode 100644 index 281076573..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/oncotype_dx_risk_level_dcis_53080.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "oncotype_dx_risk_level_dcis_53080", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Oncotype Dx Risk Level - DCIS", - "title" : "Oncotype Dx Risk Level-DCIS", - "description" : "Oncotype Dx Risk Level-DCIS stratifies Oncotype Dx recurrence scores into low, intermediate, and high risk of local recurrence. \n\nOncotype DX DCIS Risk Level, coded in NAACCR Data Item #3905, stratifies the Oncotype DX DCIS Score into three risk levels \n* **Low risk: Recurrence Score lower than 39:** The DCIS has a lower risk of recurrence. \n* **Intermediate Risk: Recurrence Score between 39 and 54:** The DCIS has an intermediate risk of recurrence. \n* **High risk: Recurrence Score greater than 54:** The DCIS has a higher risk of recurrence.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Oncotype Dx Risk Level-DCIS can be used to code this data item when no other information is available.\n\n**Note 2:** **Related data item** \n* Code this data item using the same report used to record the related data item 3903: Oncotype Dx Recurrence Score-DCIS.", - "last_modified" : "2025-02-24T14:53:44.012Z", - "definition" : [ { - "key" : "oncotype_dx_risk_level_dcis", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Low risk (recurrence score less than 39)" ], [ "1", "Intermediate risk (recurrence score 39-54)" ], [ "2", "High risk (recurrence score greater than 54)" ], [ "6", "Not applicable: invasive case" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nOncotype Dx risk level not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** Oncotype Dx DCIS laboratory report, other statements in medical record", - "coding_guidelines" : "**1)** Record only the results of an Oncotype Dx Risk Level-DCIS in this data item. If some other test is used for scoring, assign code 9.\n* Code 6 if the case is malignant\n* Code 9 for LCIS tumors\n\n**2)** The Oncotype Dx Risk Level-DCIS test stratifies scores into low, intermediate, and high risk of distant recurrence\n* If only the score is stated, assign the risk level based on the score.", - "rationale" : "Oncotype Dx Risk Level-DCIS is a Registry Data Collection Variable in AJCC. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/organomegaly_16131.json b/src/test/resources/algorithms/eod_public/3.3/tables/organomegaly_16131.json deleted file mode 100644 index 129625954..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/organomegaly_16131.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "organomegaly_16131", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Organomegaly", - "title" : "Organomegaly", - "description" : "Organomegaly is defined as presence of enlarged liver and/or spleen on physical examination and is part of the staging criteria for Chronic Lymphocytic Leukemia/Small Lymphocytic Leukemia (CLL/SLL).\n\nFor cases diagnosed 1/1/2018 and later, all cases of CLL and SLL will require both the **Lugano classification, which is captured in the AJCC stage group data item, and the five components of the modified Rai staging system, which are captured in Site-Specific Data Items (adenopathy, anemia, lymphocytosis, organomegaly, and thrombocytopenia).**\n\nThe terms B-cell lymphocytic leukemia/chronic lymphocytic leukemia (CLL) and small lymphocytic lymphoma (SLL) are different clinical presentations of the same disease, with both terms coded 9823. \n\nTraditionally the lymphoma diagnosis was staged with the Ann Arbor staging system and it is now staged with the Lugano classification. In North America, CLL was staged with the Rai system. \n\nSee 3955: Derived Rai stage for additional information on the related data items.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician’s statement regarding the presence of organomegaly (present or absent) takes priority. If a physician’s statement and imaging are both available and in disagreement, go with the physician’s statement\n* If a physician’s statement is not available, use the definition of adenopathy in the ***Description*** to determine if organomegaly is present or not\n\n**Note 2:** **Record information from physical exam only**\n* This data item is determined from physical exam alone. If a physical exam cannot be used to detect organomegaly due to issues linked to the patient’s obesity, a physician statement of organomegaly based on a CT scan can be used.\n* If there is no mention of the presence or absence of organomegaly (hepatomegaly and splenomegaly), code 9. \n * **Both the liver and spleen must be evaluated** and determined to be normal to code 0. If only one is evaluated and determined to be normal, code 9.\n\n**Note 3:** **Rai Stage Criteria**\n* Rai stage is only applicable for CLL, in which the bone marrow and/or peripheral blood are involved (primary site C421 for bone marrow, see Hematopoietic Manual, Module 3: PH 5, 6). \n\n**Note 4:** **Pretreatment results only**\n* Record this data item based on physical exam, and physician's statement performed at diagnosis (pre-treatment)", - "last_modified" : "2025-02-24T16:01:59.779Z", - "definition" : [ { - "key" : "organomegaly", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Neither hepatomegaly (liver) nor splenomegaly (spleen) present\n\nPhysician states Rai stage 0-I" ], [ "1", "Hepatomegaly (liver) and/or splenomegaly (spleen) present\n\nPhysician states Rai stage II" ], [ "5", "Not applicable: Primary site is not C421" ], [ "9", "Not documented in medical record\nOrganomegaly (hepatomegaly and/or splenomegaly) not assessed or unknown if assessed\nNo Rai stage is documented in the record and there is no documentation of organomegaly\nPhysician states Rai stage III-IV and there is no documentation of organomegaly" ] ], - "additional_info" : "**Source documents:** physical exam, clinician’s notes", - "coding_guidelines" : "**1)** **Code 0** when primary Site **is C421** AND there is no evidence of organomegaly\n* Physician documentation of Rai Stage 0-I\n\n**2)** **Code 1** when primary Site **is C421** AND there is evidence of organomegaly \n* Physician documentation of Rai Stage II\n\n **3)** **Code 5** when primary site **is NOT C421**\n\n **4)** **Code 9** when primary site **is C421**, AND there is no mention of organomegaly", - "rationale" : "Organomegaly is a prognostic factor required for staging of CLL/SLL in AJCC 8th edition, Chapter 79 *Hodgkin, and Non-Hodgkin Lymphomas*. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/oropharyngeal_p16_44685.json b/src/test/resources/algorithms/eod_public/3.3/tables/oropharyngeal_p16_44685.json deleted file mode 100644 index ef3759d60..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/oropharyngeal_p16_44685.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "oropharyngeal_p16_44685", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Discriminator 2", - "title" : "Schema Discriminator 2: Oropharyngeal p16", - "description" : "Staging for oropharyngeal cancers changed in the AJCC 8th edition. Oropharynx was divided into **Oropharynx HPV-Associated (p16+)** and **Oropharynx HPV-Independent (p16-).** A schema discriminator is necessary to determine the HPV status so that the appropriate protocol/schema is used.\n\nThere are several methods for determination of HPV status. The most frequent, and preferred test is IHC for p16 expression, which is a surrogate marker for transcriptionally active high-risk HPV.\n* Other tests that may be used for this data item **in addition to p16 or when p16 is not available** include (but are not limited to)\n * High-risk HPV RNA ISH\n * High-risk HPV DNA ISH\n* Other tests that may be used for this data item **in addition to p16 include** but are not limited to\n * High-risk HPV DNA PCR\n\n**High-risk** HPV types include: 16, 18, 26, 31, 33, 34, 35, 39, 45, 51, 52, 53, 56, 58, 59, 66, 68, 70, 73, and 82.\n\n**Low-risk (cannot be used to determine HPV status)** HPV types include: 6, 11, 42, 43, and 44.", - "notes" : "**Note 1:** **Schema discriminator for Oropharynx** \n* A schema discriminator is used to discriminate between oropharyngeal tumors that are p16 positive and oropharyngeal tumors that are p16 negative OR p16 status unknown. \n\n**Note 2:** **p16 testing** \n* p16 testing will guide classification of most patients but some will have HPV-specific testing that should be used in conjunction for classification when the pathologist performs it.\n\n* **00100: Oropharynx HPV-Associated (p16+) (see code 2)**\n * p16 positive and it is the only test performed\n * p16 positive when subsequent high-risk HPV-specific testing is performed and is positive\n * p16 equivocal (50-70% staining) when subsequent high-risk HPV-specific testing is performed and is positive\n * p16 not performed but when high-risk HPV-specific testing is positive (High-risk HPV RNA ISH or high-risk HPV DNA ISH when performed alone). \n * High-risk HPV DNA PCR testing if used alone is not reliable to assign HPV status.\n * Stated as **HPV-associated** or **High-risk HPV**\n\n* **00111: Oropharynx HPV-Independent (p16-) (see code 1)**\n * p16 negative and it is the only test performed\n * p16 expression of limited (<50%) distribution only \n * p16 positive but when subsequent reliable high-risk HPV-specific testing is performed and is negative (reliable high-risk HPV-specific tests include high-risk HPV RNA ISH and high-risk HPV DNA PCR)\n * Stated as **Oropharynx-Independent**\n\n* **HPV testing not done or unknown if done (see code 9)**\n * Cases coded as unknown will be included with the Oropharynx HPV-Independent (p16-) schema\n * Stated as **HPV positive** and no indication if it’s p16, low risk or high risk\n * Stated as **low risk HPV**", - "last_modified" : "2025-11-06T17:19:04.985Z", - "definition" : [ { - "key" : "discriminator_2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "disease", - "name" : "Schema ID #/Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "p16 Negative; Nonreactive", "00111: Oropharynx HPV-Independent" ], [ "2", "p16 positive with **extensive** (>70%) moderate to strong reactivity\n* WITH or WITHOUT positive high-risk HPV-specific testing\n\nOr in rare instances, high-risk HPV specific testing positive alone", "00100: Oropharynx HPV-Associated 8th (2018-2025)\n09100: Oropharynx HPV-Associated V9 (2026+)" ], [ "9", "Not tested for p16; Unknown", "00111: Oropharynx HPV-Independent" ] ], - "additional_info" : "**Source documents:** pathology report, clinician's statement\n\nFor further information, refer to the **HPV-associated Squamous Cell Carcinoma of the Oropharynx** or the **HPV-independent Oropharynx and Hypopharynx** cancer protocols published by the College of American Pathologist for the AJCC Staging Systems *Oropharynx-Associated* and *Oropharynx-Independent*.", - "rationale" : "A schema discriminator is used to assign AJCC ID when site and histology alone are insufficient to identify the applicable AJCC staging method and to assign Schema ID, which links each case to the appropriate SSDIs, Grade, Summary Stage and EOD data collection system." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/p16_19452.json b/src/test/resources/algorithms/eod_public/3.3/tables/p16_19452.json deleted file mode 100644 index b233c8ae5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/p16_19452.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "p16_19452", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "p16", - "title" : "p16", - "description" : "The p16 biomarker is overexpressed (produced) in response to HPV. It is therefore a surrogate marker for HPV disease.\n\np16 is a tumor suppressor protein also known as cyclin-dependent kinase inhibitor 2A. The p16 biomarker is overexpressed (produced) in response to HPV. It is therefore a surrogate marker for HPV disease.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2021+\n* For cases diagnosed 2018-2020, this SSDI must be blank\n\n**Note 2:** **p16 Results ONLY**\n* This data item must be based on testing results for p16 overexpression.\n* Testing for HPV by DNA, mRNA, antibody, or other methods should not be coded in this data item\n* Do not confuse p16 with HPV, which is a specific strain of virus. A statement of a patient being HPV positive, or negative is not enough to code this data item\n* Code 0 for p16 expression of weak intensity or limited distribution.", - "last_modified" : "2024-03-31T00:06:45.793Z", - "definition" : [ { - "key" : "p16", - "name" : "p16", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "p16 Negative; Nonreactive" ], [ "1", "p16 Positive; Diffuse, Strong reactivity" ], [ "8", "Not applicable: Information not collected for this case\n(If this time is required by your standard setter, use of code 8 will result in an edit error)" ], [ "9", "Not tested for p16; Unknown" ], [ "", "N/A - Diagnosis year is prior to 2021" ] ], - "rationale" : "Patients with HPV have a different survival or outcome, so it is important to be able to distinguish this by documenting the p16 results. Testing is performed by immunohistochemistry (IHC) which is inexpensive and has near universal availability. It has an easily standardized interpretation. HPV testing is usually performed through DNA testing which is more expensive and less widely available. HPV testing also has technically more variability with the interpretation." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/p16_831.json b/src/test/resources/algorithms/eod_public/3.3/tables/p16_831.json deleted file mode 100644 index 8d03c999b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/p16_831.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "p16_831", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "p16", - "title" : "p16", - "description" : "The p16 biomarker is overexpressed (produced) in response to HPV. It is therefore a surrogate marker for HPV disease.\n\np16 is a tumor suppressor protein also known as cyclin-dependent kinase inhibitor 2A. The p16 biomarker is overexpressed (produced) in response to HPV. It is therefore a surrogate marker for HPV disease.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2024+\n* For cases diagnosed 2018-2023, this SSDI must be blank\n\n**Note 2:** **p16 Results ONLY**\n* This data item must be based on testing results for p16 overexpression.\n* Testing for HPV by DNA, mRNA, antibody, or other methods should not be coded in this data item\n* Do not confuse p16 with HPV, which is a specific strain of virus. A statement of a patient being HPV positive, or negative is not enough to code this data item\n* Code 0 for p16 expression of weak intensity or limited distribution.", - "last_modified" : "2025-11-06T20:13:12.313Z", - "definition" : [ { - "key" : "p16", - "name" : "p16", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "p16 Negative; Nonreactive" ], [ "1", "p16 Positive; Diffuse, Strong reactivity" ], [ "8", "Not applicable: Information not collected for this case\n(If this time is required by your standard setter, use of code 8 will result in an edit error)" ], [ "9", "Not tested for p16; Unknown" ], [ "", "N/A - Diagnosis year is prior to 2024" ] ], - "rationale" : "Patients with HPV have a different survival or outcome, so it is important to be able to distinguish this by documenting the p16 results. Testing is performed by immunohistochemistry (IHC) which is inexpensive and has near universal availability. It has an easily standardized interpretation. HPV testing is usually performed through DNA testing which is more expensive and less widely available. HPV testing also has technically more variability with the interpretation." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/p16_anus_2709.json b/src/test/resources/algorithms/eod_public/3.3/tables/p16_anus_2709.json deleted file mode 100644 index 5ec26030e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/p16_anus_2709.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "p16_anus_2709", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "p16 Anus", - "title" : "p16", - "description" : "The p16 biomarker is overexpressed (produced) in response to HPV. It is therefore a surrogate marker for HPV disease.\n\np16 is a tumor suppressor protein also known as cyclin-dependent kinase inhibitor 2A.\n\nThe p16 biomarker is overexpressed (produced) in response to HPV. It is therefore a surrogate marker for HPV disease.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2023+\n* For cases diagnosed 2018-2022, this SSDI must be blank\n\n**Note 2:** **p16 Results ONLY**\n* This data item must be based on testing results for p16 overexpression.\n* Testing for HPV by DNA, mRNA, antibody, or other methods should not be coded in this data item\n* Do not confuse p16 with HPV, which is a specific strain of virus. A statement of a patient being HPV positive or negative is not enough to code this data item.", - "last_modified" : "2025-11-06T18:08:19.641Z", - "definition" : [ { - "key" : "p16", - "name" : "p16", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "p16 Negative; Nonreactive" ], [ "1", "p16 Positive; Diffuse, Strong reactivity" ], [ "8", "Not applicable: Information not collected for this case\n(If this time is required by your standard setter, use of code 8 will result in an edit error)" ], [ "9", "Not tested for p16; Unknown" ], [ "", "Must be blank if diagnosis year is before 2023" ] ], - "additional_info" : "**Source documents:** pathology report, physician's statement", - "coding_guidelines" : "**Code 0** for p16 expression of weak intensity or limited distribution.", - "rationale" : "Patients with HPV have a different survival or outcome, so it is important to be able to distinguish this by documenting the p16 results. Testing is performed by immunohistochemistry (IHC) which is inexpensive and has near universal availability. It has an easily standardized interpretation. HPV testing is usually performed through DNA testing which is more expensive and less widely available. HPV testing also has technically more variability with the interpretation." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/p16_hpv_human_papilloma_virus_status_head_and_neck_509.json b/src/test/resources/algorithms/eod_public/3.3/tables/p16_hpv_human_papilloma_virus_status_head_and_neck_509.json deleted file mode 100644 index 58225ea3a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/p16_hpv_human_papilloma_virus_status_head_and_neck_509.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "p16_hpv_human_papilloma_virus_status_head_and_neck_509", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Human Papilloma Virus (HPV) Status", - "title" : "Human Papilloma Virus (HPV) Status", - "description" : "***SEER Site-specific Factor 1***, effective 01/01/2018, is reserved for human papilloma virus (HPV) status. This data item applies to the following schemas.\n* **00071: Lip**: C003-C005, C008, C009\n* **00072: Tongue Anterior**: C020-C023, C028-C029\n* **00073: Gum**: C030, C031, C039, C062\n* **00074: Floor of Mouth**: C040-C041, C048-C049\n* **00075: Palate Hard**: C050\n* **00076: Buccal Mucosa**: C060, C061\n* **00077: Mouth Other**: C058-C059, C068-C069\n* **00100: Oropharynx HPV-Associated (2018-2025)** *(Oropharynx (p16-))*: C019, C024, C051-C052, C090-C091, C098-C099, C100, C102-C104, C108-C109, C111 \n * *Primary site C111 for 2018-2024 only*\n* **09100: Oropharynx HPV-Associated (2026)** *(Oropharynx (p16-))*: C019, C024, C051-C052, C090-C091, C098-C099, C100, C102-C104, C108-C109\n* **Oropharynx HPV-Independent** *(Oropharynx HPV-Mediated (p16+))*: C019, C024, C051-C052, C090-C091, C098-C099, C100, C102-C104, C108-C109, C111\n * *Primary site C111 for 2018-2024 only*\n* **00112: Hypopharynx**: C129, C130-C132, C138-C139", - "notes" : "***Please send questions for this data item to Ask a SEER Registrar (https://seer.cancer.gov/registrars/contact.html)***\n\n**Note 1:** **Record HPV results based on pathological specimens** \n* Record the results of any HPV testing performed on pathological specimens including surgical and cytological (from cell blocks) tissue from the primary tumor or a metastatic site, including \nlymph nodes. \n* Do not record the results of blood tests or serology.\n\n**Note 2:** **Methods of HPV determination** \n* There are several methods for determination of HPV status. \n* The most frequently used test is IHC for p16 expression which is a surrogate marker for HPV infection. \n* Other tests (based on ISH, PCR, RT-PCR technologies) detect the viral DNA or RNA.\n\n**Note 3:** **HPV-type 16** \n* HPV-type 16 refers to virus type and is different from p16 overexpression (p16+)\n\n**Note 4:** **Codes are hierarchical** \n* Codes 10-51 are hierarchical; use the highest code that applies (10 is lowest, 51 is highest)\n\n**Note 5:** **For cases in the Oropharynx HPV-Independent schema**\n* If an additional HPV test is done in addition to p16, code those test results in this data item\n* If no additional HPV test is done\n * Code 10 in this data item (Schema Discriminator 2 coded to 2)\n\n**Note 6:** **For cases in the Oropharynx HPV-Associated schema**\n* If an additional HPV test is done in addition to p16, code those test results in this data item\n* If no additional HPV test is done\n * Code 11 in this data item if Schema Discriminator 2 is coded to 1\n * Code 99 in this data item if Schema Discriminator 2 is coded to 9", - "last_modified" : "2025-08-27T15:18:48.668Z", - "definition" : [ { - "key" : "seer_ssf1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "10", "HPV negative by p16 test" ], [ "11", "HPV positive by p16 test" ], [ "20", "HPV negative for viral DNA by ISH test" ], [ "21", "HPV positive for viral DNA by ISH test" ], [ "30", "HPV negative for viral DNA by PCR test" ], [ "31", "HPV positive for viral DNA by PCR test" ], [ "40", "HPV negative by ISH E6/E7 RNA test" ], [ "41", "HPV positive by ISH E6/E7 RNA test" ], [ "50", "HPV negative by RT-PCR E6/E7 RNA test" ], [ "51", "HPV positive by RT-PCR E6/E7 RNA test" ], [ "70", "HPV status reported in medical records as negative, but test type is unknown" ], [ "71", "HPV status reported in medical records as positive, but test type is unknown" ], [ "97", "Test done, results not in chart" ], [ "99", "Not documented in medical record\nHPV test not done, not assessed, or unknown if assessed" ] ], - "rationale" : "There is evidence that human papilloma virus (HPV) plays a role in the pathogenesis of some cancers. HPV testing may be performed for prognostic purposes; testing may also be performed on metastatic sites to aid in determination of the primary site." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/pd_l1_61573.json b/src/test/resources/algorithms/eod_public/3.3/tables/pd_l1_61573.json deleted file mode 100644 index d36ac8f03..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/pd_l1_61573.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "pd_l1_61573", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "PD-L1", - "title" : "PD-L1", - "description" : "The absence or presence of PD-L1 expression determines if the tumor will respond to treatment with a targeted inhibitor (immunotherapy). PD-L1 is done for Non-Small Cell lung cancers (NSCLC).\n\nThis test is usually done on metastatic non-small cell lung cancer (NSCLC) patients. An assay is performed on formalin-fixed, paraffin-embedded (FFPE) tissue specimen of at least 100 cells taken from the patient. The assay is used to determine the PD-L1 expression by IHC. Then the pathologist determines the tumor proportion score. The treating physician uses that information to determine what type of treatment the patient will receive.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2025+\n* For cases diagnosed 2018-2024, this SSDI must be blank\n\n**Note 2:** **Physician Statement** \n* Physician statement PD-L1 can be used to code this data item when no other information is available.\n\n**Note 3:** **Purpose of PD-L1** \n* The absence or presence of PD-L1 expression determines if the tumor will respond to treatment with a targeted inhibitor (immunotherapy). PD-L1 is done for Non-Small Cell lung cancers (NSCLC). \n\n**Note 4:** **Tumor Proportion Score**\n* PD-L1 is documented by the tumor proportion score. Record the actual Tumor Proportion Score (0.0-100.0) as stated from the pathology report.\n* An actual tumor proportion score (0.1-100.0) takes priority over XXX.2 (Stated as negative), XXX.3 (Stated as low), or XXX.4 (Stated as high/positive)\n\n**Note 5:** **Combined Proportion Score (CPS)**\n* Do not record the CPS score (0.0-100.0) in this data item. \n * If you have a CPS score WITH an interpretation, record the interpretation. \n * ***Example:*** Squamous cell carcinoma: NEGATIVE for PD-L1 Expression, CPS score <1. Record as XXX.2 for negative\n * If you have a CPS score WITHOUT an interpretation, record unknown (XXX.9). \n * ***Example:*** Squamous cell carcinoma: PD-L1, CPS score <1. Record as XXX.9 for unknown (interpretation not provided)\n\n**Note 6:** **Neoadjuvant therapy** If neoadjuvant therapy is given, record the assay from tumor specimens prior to neoadjuvant therapy. \n* If neoadjuvant therapy is given and there are no PD-L1 results from pre-treatment specimens, report the findings from post-treatment specimens", - "last_modified" : "2025-11-06T18:31:00.147Z", - "definition" : [ { - "key" : "pdl1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "No PD-L1 expression identified\nTumor Proportion Score (TPS) = 0%" ], [ "0.1-100.0", "0.1-100.0 PD-L1 expression\nTumor Proportion Score (TPS) = 0.1%-100.0%" ], [ "XXX.2", "PD-L1 expression absent **AND**\nTumor Proportion Score (TPS) stated as negative" ], [ "XXX.3", "PD-L1 expression present **AND**\nTumor Proportion Score (TPS) stated as low" ], [ "XXX.4", "PD-L1 expression present **AND**\nTumor Proportion Score (TPS) stated as high/positive" ], [ "XXX.7", "Test ordered, results not in chart" ], [ "XXX.8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error)" ], [ "XXX.9", "Not documented in medical record\nNo microscopic confirmation of tumor\nPD-L1 cannot be determined\nPD-L1 not assessed or unknown if assessed" ], [ "", "N/A - Diagnosis year is prior to 2025" ] ], - "additional_info" : "**Source documents**: pathology report\n\nFor further information, refer to the **Lung Biomarker Reporting** cancer protocol published by the College of American Pathologists.", - "rationale" : "PD-L1 is recommended by treatment guidelines for lung cancer to determine if the patient may benefit from checkpoint inhibitor drugs (immunotherapy). **It is a new data item for cases diagnosed 1/1/2025+.**" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_24604.json b/src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_24604.json deleted file mode 100644 index 879787551..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_24604.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "perineural_invasion_24604", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Perineural Invasion", - "title" : "Perineural Invasion", - "description" : "Perineural Invasion, within or adjacent to the primary tumor, is a negative prognostic factor for cutaneous squamous cell carcinomas of the head and neck and carcinomas of the colon and rectum, eyelid, and lacrimal gland.\n\nPerineural invasion is infiltration of nerves in the area of the lesion by tumor cells or spread of tumor along the nerve pathway. The presence of perineural invasion has been shown in several studies to be an indicator of poor patient prognosis. If perineural invasion is not mentioned in the pathology report, do not assume that there is no perineural invasion.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of microscopically confirmed perineural invasion can be used to code this data item when no other information is available.\n\n**Note 2:** **Pathology report from a biopsy or surgical resection**\n* Information on **presence** of perineural invasion **must be from a pathology report** (biopsy or surgical resection) \n* Absence of perineural invasion **can only be taken from a surgical resection pathology report**\n\n**Note 3:** **Perineural Invasion not documented on pathology report**\n* Code 9 if surgical resection of the primary site is performed and there is no mention of perineural invasion.\n* Do not assume that there is no perineural invasion", - "last_modified" : "2024-04-07T18:19:43.769Z", - "definition" : [ { - "key" : "perineural_invasion", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Perineural invasion not identified/not present\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Perineural invasion identified/present" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nPathology report does not mention perineural invasion\nCannot be determined by the pathologist\nPerineural invasion not assessed or unknown if assessed" ] ], - "additional_info" : "**Source Documents:** pathology report (see **Note 3**)\n\n**Other names include** PIN, neurotropism", - "rationale" : "Perineural Invasion is a Registry Data Collection Variable in AJCC. It was previously collected as Lacrimal Gland CS SSF #4." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_27557.json b/src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_27557.json deleted file mode 100644 index 720bf1c21..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_27557.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "perineural_invasion_27557", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Perineural Invasion", - "title" : "Perineural Invasion", - "description" : "Perineural Invasion, within or adjacent to the primary tumor, is a negative prognostic factor for cutaneous squamous cell carcinomas of the head and neck and carcinomas of the colon and rectum, eyelid, and lacrimal gland.\n\nPerineural invasion is infiltration of nerves in the area of the lesion by tumor cells or spread of tumor along the nerve pathway. The presence of perineural invasion has been shown in several studies to be an indicator of poor patient prognosis. If perineural invasion is not mentioned in the pathology report, do not assume that there is no perineural invasion.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of microscopically confirmed perineural invasion can be used to code this data item when no other information is available.\n\n**Note 2:** **Pathology report from a biopsy or surgical resection**\n* Information on **presence** of perineural invasion **must be from a pathology report** (biopsy or surgical resection) \n* Absence of perineural invasion **can only be taken from a surgical resection pathology report**\n\n**Note 3:** **Perineural Invasion not documented on pathology report**\n* Code 9 if surgical resection of the primary site is performed and there is no mention of perineural invasion.\n* Do not assume that there is no perineural invasion when there is no mention of it on the pathology report", - "last_modified" : "2025-11-05T21:38:15.231Z", - "definition" : [ { - "key" : "perineural_invasion", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Perineural invasion not identified/not present\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Perineural invasion identified/present" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nPathology report does not mention perineural invasion\nCannot be determined by the pathologist\nPerineural invasion not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\n**Other names include** PIN, neurotropism \n\nFor further information refer to the **Colon and Rectum** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Colon and Rectum*.", - "coding_guidelines" : "**Code 0 when there is an in situ/non-invasive neoplasm (behavior /2)**\n* By definition, in situ tumors cannot have perineural invasion\n* There are no surgical requirements for an in situ tumor", - "rationale" : "Perineural Invasion is a Registry Data Collection Variable in AJCC. It was previously collected as Colon and Rectum CS SSF #8." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_84622.json b/src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_84622.json deleted file mode 100644 index 57f2a82f7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/perineural_invasion_84622.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "perineural_invasion_84622", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Perineural Invasion", - "title" : "Perineural Invasion", - "description" : "Perineural Invasion, within or adjacent to the primary tumor, is a negative prognostic factor for cutaneous squamous cell carcinomas of the head and neck and carcinomas of the colon and rectum, eyelid, and lacrimal gland.\n\nPerineural invasion is infiltration of nerves in the area of the lesion by tumor cells or spread of tumor along the nerve pathway. The presence of perineural invasion has been shown in several studies to be an indicator of poor patient prognosis. If perineural invasion is not mentioned in the pathology report, do not assume that there is no perineural invasion.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of microscopically confirmed perineural invasion can be used to code this data item when no other information is available.\n\n**Note 2:** **Pathology report from a biopsy or surgical resection**\n* Information on **presence** of perineural invasion **must be from a pathology report** (biopsy or surgical resection) \n* Absence of perineural invasion **can only be taken from a surgical resection pathology report**\n\n**Note 3:** **Perineural Invasion not documented on pathology report**\n* Code 9 if surgical resection of the primary site is performed and there is no mention of perineural invasion.\n* Do not assume that there is no perineural invasion", - "last_modified" : "2025-11-05T21:40:40.227Z", - "definition" : [ { - "key" : "perineural_invasion", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Perineural invasion not identified/not present\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Perineural invasion identified/present" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nPathology report does not mention perineural invasion\nCannot be determined by the pathologist\nPerineural invasion not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\n**Other names include** PNI, neurotropism\n\nFor further information, refer to the **Cutaneous Carcinoma of Head and Neck** cancer protocols published by the College of American Pathologist for the AJCC Staging Systems for *Cutaneous Carcinoma of Head and Neck*.", - "rationale" : "Perineural Invasion is a Registry Data Collection Variable in AJCC. It was previously collected as Skin, SSF #11." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/peripheral_blood_involv_92357.json b/src/test/resources/algorithms/eod_public/3.3/tables/peripheral_blood_involv_92357.json deleted file mode 100644 index ac8e1776a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/peripheral_blood_involv_92357.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "peripheral_blood_involv_92357", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Peripheral Blood Involv", - "title" : "Peripheral Blood Involvement", - "description" : "Peripheral blood involvement, summarized in “B category”, refers to the percentage of peripheral blood lymphocytes that are atypical (Sezary) cells and whether they are “Clone negative” or “Clone positive.”\n\nMycosis fungoides is the most common type of primary cutaneous T-cell lymphoma. Sezary syndrome is a more aggressive type of primary cutaneous T-cell lymphoma in which a specific type of malignant T lymphocytes (Sezary cells) are present in the circulating blood. Staging of mycosis fungoides includes analysis of the circulating blood for Sezary cells. This analysis can be done by microscopy or flow cytometry. Results of microscopy are reported as counts of Sezary cells per cubic millimeter or the percentage of Sezary cells as a proportion of total lymphocytes. Flow cytometry looks for specific cell surface markers such as CD26. \n\nInformation about peripheral blood involvement and T-cell clonality identified by polymerase chain reaction (PCR) or Southern blot analysis is combined in a “B” category unique to mycosis fungoides staging in the TNM system.", - "notes" : "**Note 1:** **Physician statement**\n* Physician statement of Peripheral Blood Involvement and clonality can be used to code this data item when no other information is available\n* If the physician does not provide a B rating but counts or percentages of neoplastic cells, flow cytometry test results, and/or clonality test results are performed, use the appropriate code for the amount of blood involvement with “clone unknown\n\n**Note 2:** **Categories for Peripheral Blood Involvement**\n* B0 (no significant blood involvement) (codes 0-2)\n * Categorized by clonality\n* B1 (low blood tumor burden) (code 3-5)\n * Categorized by clonality\n* B2 (high blood tumor burden) (code 6) \n * Any mention of B2 puts the case into Stage IV", - "last_modified" : "2024-04-08T11:42:32.342Z", - "definition" : [ { - "key" : "peripheral_blood_involv", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "b_map", - "name" : "B Map", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "0", "Absence of significant blood involvement\n5% or less of peripheral blood lymphocytes are atypical (Sezary) cells \nClone unknown\n\nStated as B0", "VALUE:B0" ], [ "1", "Absence of significant blood involvement\n5% or less of peripheral blood lymphocytes are atypical (Sezary) cells \nClone negative\n\nStated as B0a", "VALUE:B0a" ], [ "2", "Absence of significant blood involvement: \n5% or less of peripheral blood lymphocytes are atypical (Sezary) cells \nClone positive\n\nStated as B0b", "VALUE:B0b" ], [ "3", "Low blood tumor burden\nMore than 5% of peripheral blood lymphocytes are atypical (Sezary) cells but does not meet the criteria of B2 \nClone unknown\n\nStated as B1", "VALUE:B1" ], [ "4", "Low blood tumor burden\nMore than 5% of peripheral blood lymphocytes are atypical (Sezary) cells but does not meet the criteria of B2 \nClone negative\n\nStated as B1a", "VALUE:B1a" ], [ "5", "Low blood tumor burden\nMore than 5% of peripheral blood lymphocytes are atypical (Sezary) cells but does not meet the criteria of B2 \nClone positive\n\nStated as B1b", "VALUE:B1b" ], [ "6", "High blood tumor burden\nGreater than or equal to 1000 Sezary cells per microliter (uL) \nClone positive\n\nStated as B2", "VALUE:B2" ], [ "7", "Test ordered, results not in chart", "VALUE:BX" ], [ "9", "Not documented in medical record\nPeripheral Blood Involvement not assessed or unknown if assessed", "VALUE:BX" ], [ "", "Death Certificate Only, no value provided", "VALUE:BX" ] ], - "additional_info" : "**Source documents:** pathology report, clinical laboratory reports of blood analysis (tissue and blood samples)\n\n**Other names include** circulating Sezary cells, T-cell clonality: T-cell receptor (TCR) gene rearrangement, Monoclonal: clone +, clone positive, Polyclonal: clone –, clone negative", - "rationale" : "Peripheral blood involvement is a prognostic factor required in AJCC 8th edition, Chapter 81 *Primary Cutaneous Lymphomas*, for staging of Mycosis Fungoides and Sezary Syndrome. It was previously collected as Mycosis Fungoides, CS SSF #1." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_38674.json b/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_38674.json deleted file mode 100644 index 43f6875d6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_38674.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "peritoneal_cytology_38674", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Peritoneal Cytology", - "title" : "Peritoneal Cytology", - "description" : "Peritoneal cytology pertains to the results of cytologic examination for malignant cells performed on fluid that is obtained from the peritoneal cavity.\n\nPeritoneal cytology looks for malignant cells in the fluid in the pelvic and peritoneal cavities. Excess natural fluid accumulation is called ascites. If, at laparotomy an analyzable amount of ascites is not present, the surgeon may flood the pelvis and abdomen with saline solution then suction it out and send the fluid for cytologic examination.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Peritoneal Cytology can be used to code this data item when no other information is available.\n\n**Note 2:** **Other names for Peritoneal cytology**\n* Peritoneal cytology may also be called peritoneal ascitic fluid instead of peritoneal washing or pelvic washing (see also Additional information)\n\n**Note 3:** **Ascites examination**\n* Cytologic examination for malignant cells may be performed on ascites (fluid that has accumulated in the peritoneal cavity in excess amount) or the fluid (saline) that is introduced into the peritoneal cavity or pelvis, and then removed by suction. The introduction of fluid may be termed peritoneal or pelvic washing or peritoneal lavage", - "last_modified" : "2025-11-06T20:26:27.011Z", - "definition" : [ { - "key" : "peritoneal_cytology", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Peritoneal cytology/washing negative for malignancy" ], [ "1", "Peritoneal cytology/washing atypical and/or suspicious" ], [ "2", "Peritoneal cytology/washing malignant (positive for malignancy)" ], [ "3", "Unsatisfactory/nondiagnostic" ], [ "7", "Test ordered, results not in chart" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nPeritoneal cytology not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** cytology reports (look for multiple reports), pathology report\n\n**Other names include** peritoneal washings, peritoneal lavage, possibly paracentesis (if no surgery), peritoneal ascitic fluid instead of peritoneal washing or pelvic washing", - "coding_guidelines" : "**1)** **Code 0** when the peritoneal cytology is reported as negative or normal\n\n**2)** **Code 1** when the peritoneal cytology test was done, and the results were reported as suspicious, undetermined if negative or positive\n\n**3)** **Code 2** when the peritoneal cytology is reported as positive\n\n**4)** **Code 7** when test was ordered but the results are not in the medical record\n\n**5)** **Code 9** when\n* No cytological specimen is available\n* Peritoneal cytology not evaluated (assessed)\n* Unknown if Peritoneal Cytology evaluated (assessed)", - "rationale" : "Peritoneal Cytology is listed as a Registry Data Collection Variable in AJCC. This data item was previously collected as Corpus, CS SSF #2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_19664.json b/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_19664.json deleted file mode 100644 index 435714c46..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_19664.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "peritoneal_cytology_with_primary_tumor_for_ss2018_t_19664", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Peritoneal Cytology with Primary Tumor for SS2018 T", - "title" : "Peritoneal Cytology with EOD Primary Tumor for SS2018 T", - "notes" : "If EOD Primary Tumor = 100, 150,200, or 300, Peritoneal Cytology is necessary to determine the SS2018 T component.", - "last_modified" : "2019-04-05T16:52:37.025Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "EOD Primary Tumor", - "type" : "INPUT" - }, { - "key" : "peritoneal_cytology", - "name" : "Peritoneal Cytology", - "type" : "INPUT" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100,150,200,300", "0", "VALUE:L" ], [ "100,150,200,300", "1", "VALUE:L" ], [ "100,150,200,300", "2", "VALUE:RE" ], [ "100,150,200,300", "3,7-9", "VALUE:L" ], [ "000,125,175,250,350,400,450,500,550,600,650,700,750,800,999", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_66387.json b/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_66387.json deleted file mode 100644 index d485b78bd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_66387.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "peritoneal_cytology_with_primary_tumor_for_ss2018_t_66387", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Peritoneal Cytology with Primary Tumor for SS2018 T", - "title" : "Peritoneal Cytology with EOD Primary Tumor for SS2018 T", - "notes" : "If EOD Primary Tumor = 100, 200, or 300, Peritoneal Cytology is necessary to determine the SS2018 T component.", - "last_modified" : "2020-06-03T18:21:56.809Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "EOD Primary Tumor", - "type" : "INPUT" - }, { - "key" : "peritoneal_cytology", - "name" : "Peritoneal Cytology", - "type" : "INPUT" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100,200,300", "0", "VALUE:L" ], [ "100,200,300", "2", "VALUE:RE" ], [ "100,200,300", "1", "VALUE:L" ], [ "100,200,300", "3,7-9", "VALUE:L" ], [ "000,050,070,080,150,250,400,500,550,600,650,700,800,999", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_88427.json b/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_88427.json deleted file mode 100644 index 85891e7f2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/peritoneal_cytology_with_primary_tumor_for_ss2018_t_88427.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "peritoneal_cytology_with_primary_tumor_for_ss2018_t_88427", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Peritoneal Cytology with Primary Tumor for SS2018 T", - "title" : "Peritoneal Cytology with EOD Primary Tumor for SS2018 T", - "notes" : "If EOD Primary Tumor = 100, Peritoneal Cytology is necessary to determine the SS2018 T component.", - "last_modified" : "2019-04-05T16:52:36.164Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "EOD Primary Tumor", - "type" : "INPUT" - }, { - "key" : "peritoneal_cytology", - "name" : "Peritoneal Cytology", - "type" : "INPUT" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "0", "VALUE:L" ], [ "100", "2", "VALUE:RE" ], [ "100", "1", "VALUE:L" ], [ "100", "3,7-9", "VALUE:L" ], [ "000,200,300,400,500,550,600,650,700,750,800,999", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/pleural_effusion_40041.json b/src/test/resources/algorithms/eod_public/3.3/tables/pleural_effusion_40041.json deleted file mode 100644 index 466ef380b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/pleural_effusion_40041.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pleural_effusion_40041", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Pleural Effusion", - "title" : "Pleural Effusion", - "description" : "Pleural effusion is the accumulation of fluid between the parietal pleura (the pleura covering the chest wall and diaphragm) and the visceral pleura (the pleura covering the lungs).\n\nPleural effusion is the accumulation of fluid between the two layers of pleura: visceral (covering the lungs) and parietal (lining the chest wall and covering the diaphragm). Pleural effusion is a symptom of mesothelioma that increases the Summary Stage from local or regional direct extension to distant involvement.", - "notes" : "**Note:** **Definition of pleural effusion** \n* One of the most common symptoms of mesothelioma is a pleural effusion, or an accumulation of fluid between the parietal pleura (the pleura covering the chest wall and diaphragm) and the visceral pleura (the pleura covering the lungs). \n* Record the absence or presence of pleural effusion and specifically, if present, whether the pleural effusion is non-malignant, malignant, atypical or NOS.", - "last_modified" : "2025-02-24T13:58:34.825Z", - "definition" : [ { - "key" : "pleural_effusion", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Pleural effusion not identified/not present" ], [ "1", "Pleural effusion present, non-malignant (negative)" ], [ "2", "Pleural effusion present, malignant (positive)\nPhysician states pleural effusion is malignant in the absence of positive cytology" ], [ "3", "Pleural effusion, atypical/atypical mesothelial cells" ], [ "4", "Pleural effusion, NOS" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nPleural effusion not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** imaging, pathology, and cytology reports\n\n**Other names include**: pleural fluid, thoracentesis", - "coding_guidelines" : "**1)** Record the absence or presence of pleural effusion \n* If pleural effusion is present and examined microscopically, record whether the pleural effusion is non-malignant, malignant, or not specified. \n\n**2) Code 0** when there is no evidence of pleural effusion\n\n**3) Code 1** when\n* Pleural effusion microscopically confirmed to be non-malignant\n* Pleural effusion is stated to be negative for malignant cells\n* Pleural effusion is seen on imaging, but pleural fluid cytology is negative for malignant cells\n\n**4) Code 2** when \n* Pleural effusion microscopically confirmed to be malignant\n* Pleural effusion is stated to be positive for malignant cells\n* Pleural fluid cytology described as suspicious or suspicious for mesothelioma\n* Physician states pleural effusion is positive in the absence of positive cytology\n \n\n**5) Code 3** when \n* Pleural fluid cytology is described as atypical or atypical mesothelial cells but not specifically as non-malignant or malignant\n\n**6) Code 4** when \n* Pleural effusion is reported on imaging, but there is no cytology\n* Pleural effusion is reported on imaging, but there is no physician’s statement on whether it is positive\n\n**7) Code 9** when\n* Not documented in the medical report\n* Presence or absence of pleural effusion not evaluated (assessed)\n* Unknown if Pleural Effusion evaluated (assessed)", - "rationale" : "Pleural Effusion can be collected by the surveillance community for pleura cancers. Prior to 2018, Pleura SSF #1 was used for Pleural Effusion." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/post_neoadj_chemo_percent_necrosis_15912.json b/src/test/resources/algorithms/eod_public/3.3/tables/post_neoadj_chemo_percent_necrosis_15912.json deleted file mode 100644 index 73652c658..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/post_neoadj_chemo_percent_necrosis_15912.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "post_neoadj_chemo_percent_necrosis_15912", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Percent Necrosis Post Neoadjuvant", - "title" : "Percent Necrosis Post Neoadjuvant", - "description" : "Percent Necrosis Post Neoadjuvant is a prognostic factor for bone sarcomas. \n\nFor osteosarcoma and Ewing’s sarcoma/PNET, response to neoadjuvant chemotherapy is a prognostic factor. Patients with more than 90% tumor necrosis have a more favorable prognosis than those with less response. The CAP protocol for bone tumor resection provides the pathologist with specific instructions for determining the percentage of tumor necrosis. A separate method (system of Picci) may describe response to treatment in grades: grade I (macroscopic viable tumor), grade II (microscopic viable tumor), or grade III (no viable tumor). Do not code the Picci grade system in this data item.", - "notes" : "**Note:** **Physician Statement** \n* Physician statement of microscopically confirmed Percent Necrosis Post Neoadjuvant Chemotherapy can be used to code this data item if no other documentation is available.", - "last_modified" : "2025-11-05T20:46:50.873Z", - "definition" : [ { - "key" : "post_neoadj_chemo_percent_necrosis", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.0", "Tumor necrosis not identified/not present" ], [ "0.1-100.0", "0.1 - 100.0 percent tumor necrosis\n(Percentage of tumor necrosis to nearest tenth of a percent)" ], [ "XXX.2", "Tumor necrosis present, percent not stated" ], [ "XXX.8", "Not applicable: Information not collected for this case\nIf this item is required by your standard setter, use of code XXX.8 will result in an edit error." ], [ "XXX.9", "Not documented in medical record\nNo histologic examined of primary site\nNo neoadjuvant therapy\nNo surgical resection of primary site is performed" ] ], - "additional_info" : "**Source documents:** pathology report\n\n**Other names include** Histologic treatment response, therapy response, chemotherapy effect\n\n**For further information**, refer to the **Bone** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Bone*.", - "coding_guidelines" : "**1)** Record the highest percentage value of the tumor necrosis post neo-adjuvant therapy as stated by the pathologist or in the pathology report.\n* Code the value of the tumor necrosis to the nearest tenth of a percent\n\n**2)** **Codes 001.0-100.0**. Record the percentage value of tumor necrosis post neo-adjuvant chemotherapy as stated by the pathologist in the pathology report\n\n**3)** **Code XXX.9** when\n* Surgical resection of the primary site is the initial therapy; therefore, no neoadjuvant therapy was performed\n* Surgical resection of the primary site after neoadjuvant therapy is performed and there is no mention of percent necrosis", - "rationale" : "Percent Necrosis Post Neoadjuvant is a Registry Data Collection Variable for AJCC. It was previously collected as Bone, CS SSF #3." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/pr_allred_score_83938.json b/src/test/resources/algorithms/eod_public/3.3/tables/pr_allred_score_83938.json deleted file mode 100644 index 76dc56658..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/pr_allred_score_83938.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pr_allred_score_83938", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Progesterone Receptor Total Allred Score", - "title" : "PR (Progesterone Receptor) Total Allred Score", - "description" : "Progesterone Receptor, Total Allred Score is based on the percentage of cells that stain by IHC for progesterone receptor (PR) and the intensity of that staining.\n\nThe Allred Score is a method of quantifying ER and PR using both intensity and percentage of positive cells. The Allred Score is calculated by adding the Proportion Score and the Intensity Score, as defined in the tables below.\n\nThe Allred score combines the percentage of positive cells (proportion score) and the intensity score of the reaction product in most of the carcinoma. The 2 scores are added together for a final score with 8 possible values (00-08). \n\nPositive cells = 0; Proportion score = 0\nPositive cells = <1; Proportion score = 1\nPositive cells = 1 to 10; Proportion score = 2\nPositive cells = 11 to 33; Proportion score = 3\nPositive cells = 34 to 66; Proportion score = 4\nPositive cells = 67 or greater; Proportion score = 5\n\nIntensity = None; Intensity Score = 0\nIntensity = Weak; Intensity Score = 1\nIntensity = Intermediate/Moderate; Intensity Score = 2\nIntensity = Strong; Intensity Score = 3", - "notes" : "**Note 1:** **No longer required by any standard setter** \n* This SSDI is no longer required by any of the standard setters starting with 2023 diagnoses\n* For cases diagnosed 2023+, this SSDI may be left blank\n\n**Note 2:** **Physician Statement** \n* Physician statement of PR (Progesterone Receptor) Total Allred Score can be used to code this data item when no other information is available.\n\n**Note 3:** **Related data item** \n* Code this data item using the same report used to record the related data item 3915: Progesterone Receptor Summary.", - "last_modified" : "2025-11-05T21:00:49.473Z", - "definition" : [ { - "key" : "pr_allred_score", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "Total PR Allred score of 0 " ], [ "01", "Total PR Allred score of 1" ], [ "02", "Total PR Allred score of 2" ], [ "03", "Total PR Allred score of 3" ], [ "04", "Total PR Allred score of 4" ], [ "05", "Total PR Allred score of 5" ], [ "06", "Total PR Allred score of 6" ], [ "07", "Total PR Allred score of 7" ], [ "08", "Total PR Allred score of 8" ], [ "X8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code X8 will result in an edit error.)" ], [ "X9", "Not documented in medical record\nPR (Progesterone Receptor) Total Allred Score not assessed, or unknown if assessed" ], [ "", "May be blank if diagnosis year is after 2022" ] ], - "additional_info" : "**Source documents:** pathology report\n\nFor further information, refer to the **Breast Biomarker Reporting** cancer protocols published by the College of American Pathologists for the AJCC Staging System *Breast*.", - "coding_guidelines" : "**1)** Registrar should not calculate the Allred Score unless both components are available (proportion score and intensity)\n\n**2)** **Code X9** if PR test is performed, but Allred score is not documented, or cannot be calculated", - "rationale" : "Progesterone Receptor, Total Allred Score is a Registry Data Collection Variable in AJCC. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/pr_percent_positive_94563.json b/src/test/resources/algorithms/eod_public/3.3/tables/pr_percent_positive_94563.json deleted file mode 100644 index 38ac81062..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/pr_percent_positive_94563.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pr_percent_positive_94563", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Progesterone Receptor Percent Positive or Range", - "title" : "PR (Progesterone Receptor) Percent Positive or Range", - "description" : "Progesterone Receptor Percent Positive or Range is the percent of cells staining progesterone receptor positive measured by IHC.\n\nThe two most common ways to report ER and PR results are the percentage of cells with nuclear positivity and the average intensity of staining. Both the PS and IS are based on immunohistochemical staining of tumor cells. \n\nER and PR status, the percentage of tumor cells with positive nuclear staining, may be reported as a specific number or a range if more than 10%. Intensity refers to degree of nuclear positivity (i.e., pale to dark); average intensity of staining is recorded as weak, moderate, or strong.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of PR (Progesterone Receptor) Percent Positive or Range can be used to code this data item when no other information is available.\n\n**Note 2:** **Related Data Item** \n* Code this data item using the same report used to record the related data item 3915: Progesterone Receptor Summary.", - "last_modified" : "2025-11-06T18:57:00.719Z", - "definition" : [ { - "key" : "pr_percent_positive", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "PR negative, or stated as less than 1%" ], [ "001-100", "1-100 percent" ], [ "R10", "Stated as 1-10%" ], [ "R20", "Stated as 11-20%" ], [ "R30", "Stated as 21-30%" ], [ "R40", "Stated as 31-40%" ], [ "R50", "Stated as 41-50%" ], [ "R60", "Stated as 51-60%" ], [ "R70", "Stated as 61-70%" ], [ "R80", "Stated as 71-80%" ], [ "R90", "Stated as 81-90%" ], [ "R99", "Stated as 91-100%" ], [ "XX7", "Test done, results not in chart " ], [ "XX8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code XX8 will result in an edit error.)" ], [ "XX9", "Not documented in medical record\nPR (Progesterone Receptor) Percent Positive or Range not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\nFor further information, refer to the **Breast Biomarker Reporting** cancer protocols published by the College of American Pathologists for the AJCC Staging System *Breast*.", - "coding_guidelines" : "**1)** **Code 000** when PR is negative, or percentage is less than 1%\n\n**2)** **Code 01-100** for the actual percentage\n* The actual PR (1-100%) percent takes priority over the range codes\n\n**3)** **Code XX7** if PR is positive, but percentage is unknown\n\n**4)** **R10-R99** Ranges for the codes in this data item are defined in steps of 10 which correspond to the CAP protocol. If a range in a report is given in steps other than those provided in the R codes, code per the following.\n* If the range is less than or equal to 10, then code the appropriate R code based on the lower number\n * ***Example 1***: Report documents 1-5%. Code R10 (1-10%)\n * ***Example 2***: Report documents 25-34%. Code R30 (21-30%)\n* If the range is greater than 10, then code to unknown\n * ***Example 1***: Report documents 10-25%. Code XX9\n * ***Example 2:*** Report documents 67-100%. Code XX9", - "rationale" : "Progesterone Receptor Percent Positive or Range is a Registry Data Collection Variable in AJCC. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/pr_summary_49534.json b/src/test/resources/algorithms/eod_public/3.3/tables/pr_summary_49534.json deleted file mode 100644 index ba299636f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/pr_summary_49534.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "pr_summary_49534", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Progesterone Receptor Summary", - "title" : "PR (Progesterone Receptor) Summary", - "description" : "Progesterone Receptor Summary is a summary of results from the progesterone receptor (PR) assay.\n\nEstrogen receptor (ER) positivity and progesterone receptor (PR) positivity are favorable prognostic factors in breast cancer, as well as endometrial carcinoma and meningioma. Positive results predict a favorable response to endocrine (hormonal) therapy. Combined ER and PR positivity is associated with increased response to antiestrogen therapies.\n\nThere are a variety of ways to report information on ER and PR results, but there is almost always a summary statement that the result is positive or negative.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of PR (Progesterone Receptor) Summary status can be used to code this data item when no other information is available.\n\n**Note 2:** **In-situ and Invasive components present**\n* If PR is positive on an in-situ component and PR is negative on all tested invasive components in the primary tumor, code PR as negative (code 0)\n* If in situ and invasive components present and PR only done on the in-situ component in the primary tumor, code unknown (code 9)\n\n**Note 3:** **Single tumor, multiple biopsies or surgical resection, different results**\n* Use the highest (positive versus negative)\n\n**Note 4:** **Multiple tumors, different results**\n* Code the results from the largest tumor size (determined either clinically or pathologically) when multiple tumors are present.\n * Do not use specimen size to determine the largest tumor size\n\n**Note 5:** **Results from nodal or metastatic tissue**\n* May be used ONLY when there is no evidence of primary tumor\n * **Note:** In-situ is evidence of primary tumor\n\n**Note 6:** **Neoadjuvant Therapy**\n* Record the assay from tumor specimens prior to neoadjuvant therapy.\n* If neoadjuvant therapy is given and there are no ER results from pre-treatment specimens, report the findings from post-treatment specimens\n\n**Note 7:** **Other tests for PR**\n* Do not use results from the following tests to record PR results\n * MammaPrint\n * EndoPredict\n * PAM 50 (Prosigna)\n * Any other test that records PR", - "last_modified" : "2025-11-06T18:49:57.558Z", - "definition" : [ { - "key" : "pr", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "PR negative (0.0% or less than 1%)" ], [ "1", "PR positive" ], [ "7", "Test ordered, results not in chart" ], [ "9", "Not documented in medical record\nCannot be determined (indeterminate)\nPR (Progesterone Receptor) Summary status not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\n**For further information**, refer to the **Breast Biomarker Reporting** cancer protocols published by the College of American Pathologists for the AJCC Staging System Breast.", - "coding_guidelines" : "**1)** **Code 0** when the PR is reported as negative or normal\n\n**2)** **Code 1** when the PR is reported as positive or elevated\n\n**3)** **Code 7** when the PR test was ordered but the results are not available\n\n**4)** **Code 9** when the PR is \n * Reported as borderline; undetermined whether positive or negative \n * Cannot be determined by the pathologist (e.g., inadequate specimen)\n * It is unknown whether the PR test was performed\n * The patient has only a clinical diagnosis of breast cancer (no tissue diagnosis)", - "rationale" : "This data item is required for prognostic stage grouping in AJCC 8th edition, Chapter 48 Breast. It was previously collected as Breast CS SSF # 2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/primary_peritoneum_tumor_19475.json b/src/test/resources/algorithms/eod_public/3.3/tables/primary_peritoneum_tumor_19475.json deleted file mode 100644 index 5342047a4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/primary_peritoneum_tumor_19475.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "primary_peritoneum_tumor_19475", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Discriminator 1", - "title" : "Schema Discriminator 1: Primary Peritoneum Tumor", - "description" : "The GIST chapter includes a schema discriminator for C481 for location of the primary tumor because all the peritoneum structures are coded to C481, but two separate stage tables are used to derive the TNM values.", - "notes" : "**Note:** **Schema discriminator for C481**\n* Since both omental and peritoneal gastrointestinal stromal tumors (GIST) are coded with the same ICD-O-3 topography code (C481), this data item must be used to identify the appropriate AJCC stage table.", - "last_modified" : "2025-11-06T18:36:24.035Z", - "definition" : [ { - "key" : "discriminator_1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "stage_table", - "name" : "Stage Table", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Mesentery\nMesoappendix\nMesocolon\nPelvic peritoneum\nRectouterine pouch\n- Cul de sac\n- Pouch of Douglas\n\nOther specified peritoneal site", "Small Intestinal, Esophageal, Colorectal, Mesenteric and Peritoneal GIST" ], [ "2", "Omentum", "Gastric and Omental GIST" ], [ "9", "Unknown or no information\nNot documented in medical record", "Small Intestinal, Esophageal, Colorectal, Mesenteric and Peritoneal GIST" ], [ "", "Primary Site is NOT C481, Discriminator is not necessary", "" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, physician documentation, physician staging", - "rationale" : "A schema discriminator is used to assign AJCC ID when site and histology alone are insufficient to identify the applicable AJCC staging method and to assign Schema ID, which links each case to the appropriate SSDIs, Grade, Summary Stage and EOD data collection system." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/primary_scleros_cholangitis_86402.json b/src/test/resources/algorithms/eod_public/3.3/tables/primary_scleros_cholangitis_86402.json deleted file mode 100644 index c22a231fe..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/primary_scleros_cholangitis_86402.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "primary_scleros_cholangitis_86402", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Primary Scleros Cholangitis", - "title" : "Primary Sclerosing Cholangitis (PSC)", - "description" : "Primary sclerosing cholangitis denotes a chronic autoimmune inflammation of the bile ducts that leads to scar formation and narrowing of the ducts over time. It is a prognostic factor for intrahepatic bile duct cancer.\n\nPrimary sclerosing cholangitis is an idiopathic liver disease characterized by inflammation and fibrosis of the entire biliary tree. The chronic inflammation and injury to ducts may lead to cirrhosis and predispose to cholangiocarcinoma at any site in the biliary tree. \n\nPatients with primary sclerosing cholangitis are advised to receive neoadjuvant chemoradiation and liver transplantation.", - "notes" : "**Note:** **Physician Statement** \n* Physician statement of Primary Sclerosing Cholangitis (PSC) can be used to code this data item when no other information is available.", - "last_modified" : "2025-11-06T18:15:18.622Z", - "definition" : [ { - "key" : "prim_scleros_cholangitis", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "PSC not identified/not present" ], [ "1", "PSC present" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nPSC not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** patient history, pathology report, imaging reports\n\n**Other names include** PSC, fibrosing cholangitis, chronic obliterative cholangitis, sclerosing cholangitis", - "coding_guidelines" : "**1)** Code stated diagnosis of PSC either clinically or pathologically as documented in the medical record. This may be by history.\n\n**2)** **Code 0** when primary sclerosing cholangitis is not present\n\n**3)** **Code 1** when primary sclerosing cholangitis is present\n\n**4)** **Code 9** when \n * No information in the medical record\n * Pathology report is not available\n * Primary sclerosing cholangitis is not evaluated (not assessed) \n * Unknown if primary sclerosing cholangitis is evaluated (assessed)\n * No mention of primary sclerosing cholangitis on the pathology report or in the medical record", - "rationale" : "Primary Sclerosing Cholangitis is a Registry Data Collection Variable in AJCC. This data item was previously collected for Intrahepatic Bile Duct, SSF #11." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/primary_site.json b/src/test/resources/algorithms/eod_public/3.3/tables/primary_site.json deleted file mode 100644 index e4a54fdf1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/primary_site.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "primary_site", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Primary Site", - "title" : "Primary Site", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2020-05-19T17:03:14.269Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "desc", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "C000", "External upper lip" ], [ "C001", "External lower lip" ], [ "C002", "External lip, NOS" ], [ "C003", "Inner aspect, upper lip" ], [ "C004", "Inner aspect, lower lip" ], [ "C005", "Inner aspect of lip, NOS" ], [ "C006", "Commissure of lip" ], [ "C008", "Overlapping lesion of lip" ], [ "C009", "Lip, NOS" ], [ "C019", "Base of tongue" ], [ "C020", "Dorsal surface of tongue" ], [ "C021", "Border of tongue" ], [ "C022", "Ventral surface of tongue" ], [ "C023", "Anterior two-thirds of tongue, NOS" ], [ "C024", "Lingual tonsil" ], [ "C028", "Overlapping lesion of tongue" ], [ "C029", "Tongue, NOS" ], [ "C030", "Upper gum" ], [ "C031", "Lower gum" ], [ "C039", "Gum, NOS" ], [ "C040", "Anterior floor of mouth" ], [ "C041", "Lateral floor of mouth" ], [ "C048", "Overlapping lesion of floor of mouth" ], [ "C049", "Floor of mouth, NOS" ], [ "C050", "Hard palate" ], [ "C051", "Soft palate" ], [ "C052", "Uvula" ], [ "C058", "Overlapping lesion of palate" ], [ "C059", "Palate, NOS" ], [ "C060", "Cheek mucosa" ], [ "C061", "Vestibule of mouth" ], [ "C062", "Retromolar area" ], [ "C068", "Overlapping lesion of other & unspecified parts of mouth" ], [ "C069", "Mouth, NOS" ], [ "C079", "Parotid gland" ], [ "C080", "Submandibular gland" ], [ "C081", "Sublingual gland" ], [ "C088", "Overlapping lesion of major salivary glands" ], [ "C089", "Major salivary gland, NOS" ], [ "C090", "Tonsillar fossa" ], [ "C091", "Tonsillar pillar" ], [ "C098", "Overlapping lesion of tonsil" ], [ "C099", "Tonsil, NOS" ], [ "C100", "Vallecula" ], [ "C101", "Anterior surface of epiglottis" ], [ "C102", "Lateral wall of oropharynx" ], [ "C103", "Posterior wall of oropharynx" ], [ "C104", "Branchial cleft" ], [ "C108", "Overlapping lesion of oropharynx" ], [ "C109", "Oropharynx, NOS" ], [ "C110", "Superior wall of nasopharynx" ], [ "C111", "Posterior wall of nasopharynx" ], [ "C112", "Lateral wall of nasopharynx" ], [ "C113", "Anterior wall of nasopharynx" ], [ "C118", "Overlapping lesion of nasopharynx" ], [ "C119", "Nasopharynx, NOS" ], [ "C129", "Pyriform sinus" ], [ "C130", "Postcricoid region" ], [ "C131", "Aryepiglottic fold, hypopharyngeal aspect" ], [ "C132", "Posterior wall of hypopharynx" ], [ "C138", "Overlapping lesion of hypopharynx" ], [ "C139", "Hypopharynx, NOS" ], [ "C140", "Pharynx, NOS" ], [ "C142", "Waldeyer's ring" ], [ "C148", "Overlapping lesion of lip, oral cavity & pharynx" ], [ "C150", "Cervical part of esophagus" ], [ "C151", "Thoracic part of esophagus" ], [ "C152", "Abdominal part of esophagus" ], [ "C153", "Upper third of esophagus" ], [ "C154", "Middle third of esophagus" ], [ "C155", "Lower third of esophagus" ], [ "C158", "Overlapping lesion of esophagus" ], [ "C159", "Esophagus, NOS" ], [ "C160", "Cardia" ], [ "C161", "Fundus of stomach" ], [ "C162", "Body of stomach" ], [ "C163", "Gastric antrum" ], [ "C164", "Pylorus" ], [ "C165", "Lesser curvature of stomach, NOS" ], [ "C166", "Greater curvature of stomach, NOS" ], [ "C168", "Overlapping lesion of stomach" ], [ "C169", "Stomach, NOS" ], [ "C170", "Duodenum" ], [ "C171", "Jejunum" ], [ "C172", "Ileum" ], [ "C173", "Meckel diverticulum" ], [ "C178", "Overlapping lesion of small intestine" ], [ "C179", "Small intestine, NOS" ], [ "C180", "Cecum" ], [ "C181", "Appendix" ], [ "C182", "Ascending colon" ], [ "C183", "Hepatic flexure of colon" ], [ "C184", "Transverse colon" ], [ "C185", "Splenic flexure of colon" ], [ "C186", "Descending colon" ], [ "C187", "Sigmoid colon" ], [ "C188", "Overlapping lesion of colon" ], [ "C189", "Colon, NOS" ], [ "C199", "Rectosigmoid junction" ], [ "C209", "Rectum" ], [ "C210", "Anus, NOS" ], [ "C211", "Anal canal" ], [ "C212", "Cloacogenic zone" ], [ "C218", "Overlapping lesion of rectum, anus & anal canal" ], [ "C220", "Liver" ], [ "C221", "Intrahepatic bile duct" ], [ "C239", "Gallbladder" ], [ "C240", "Extrahepatic bile duct" ], [ "C241", "Ampulla of vater" ], [ "C248", "Overlapping lesion of biliary tract" ], [ "C249", "Biliary tract, NOS" ], [ "C250", "Head of pancreas" ], [ "C251", "Body of pancreas" ], [ "C252", "Tail of pancreas" ], [ "C253", "Pancreatic duct" ], [ "C254", "Endocrine pancreas" ], [ "C257", "Oth parts of pancreas" ], [ "C258", "Overlapping lesion of pancreas" ], [ "C259", "Pancreas, NOS" ], [ "C260", "Intestinal tract, NOS" ], [ "C268", "Overlapping lesion of digestive system" ], [ "C269", "Gastrointestinal tract, NOS" ], [ "C300", "Nasal cavity" ], [ "C301", "Middle ear" ], [ "C310", "Maxillary sinus" ], [ "C311", "Ethmoidal sinus" ], [ "C312", "Frontal sinus" ], [ "C313", "Sphenoidal sinus" ], [ "C318", "Overlapping lesion of accessory sinuses" ], [ "C319", "Accessory sinus, NOS" ], [ "C320", "Glottis" ], [ "C321", "Supraglottis" ], [ "C322", "Subglottis" ], [ "C323", "Laryngeal cartilage" ], [ "C328", "Overlapping lesion of larynx" ], [ "C329", "Larynx, NOS" ], [ "C339", "Trachea" ], [ "C340", "Main bronchus" ], [ "C341", "Upper lobe, bronchus or lung" ], [ "C342", "Middle lobe, bronchus or lung" ], [ "C343", "Lower lobe, bronchus or lung" ], [ "C348", "Overlapping lesion of bronchus & lung" ], [ "C349", "Bronchus or lung, NOS" ], [ "C379", "Thymus" ], [ "C380", "Heart" ], [ "C381", "Anterior mediastinum" ], [ "C382", "Posterior mediastinum" ], [ "C383", "Mediastinum, NOS" ], [ "C384", "Pleura" ], [ "C388", "Overlapping lesion of heart, mediastinum & pleura" ], [ "C390", "Upper respiratory tract, NOS" ], [ "C398", "Overlapping lesion of respiratory & intrathoracic organs" ], [ "C399", "Ill-defined sites within respiratory system" ], [ "C400", "Long bones of upper limb, scapula and associative joints" ], [ "C401", "Short bones of upper limb and associative joints" ], [ "C402", "Long bones of lower limb and associative joints" ], [ "C403", "Short bones of lower limb and associative joints" ], [ "C408", "Overlapping lesion of bone & articular cartilage of limbs" ], [ "C409", "Bone & articular cartilage of limb, NOS" ], [ "C410", "Bones of skull & face" ], [ "C411", "Mandible" ], [ "C412", "Vertebral column" ], [ "C413", "Ribs, sternum & clavicle" ], [ "C414", "Pelvic bones, sacrum & coccyx" ], [ "C418", "Overlapping lesion of bone & articular cartilage" ], [ "C419", "Bone & articular cartilage, NOS" ], [ "C420", "Blood" ], [ "C421", "Bone marrow" ], [ "C422", "Spleen" ], [ "C423", "Reticuloendothelial system, NOS" ], [ "C424", "Hematopoietic system, NOS" ], [ "C440", "Skin of lip" ], [ "C441", "Skin of eyelid" ], [ "C442", "Skin of ear & external auricular canal" ], [ "C443", "Skin of other & unspecified parts of face" ], [ "C444", "Skin of scalp & neck" ], [ "C445", "Skin of trunk" ], [ "C446", "Skin of upper limb and shoulder" ], [ "C447", "Skin of lower limb and hip" ], [ "C448", "Overlapping lesion of skin" ], [ "C449", "Skin, NOS" ], [ "C470", "Peripheral nerves of head, face & neck" ], [ "C471", "Peripheral nerves of upper limb and shoulder" ], [ "C472", "Peripheral nerves of lower limb and hip" ], [ "C473", "Peripheral nerves of thorax" ], [ "C474", "Peripheral nerves of abdomen" ], [ "C475", "Peripheral nerves of pelvis" ], [ "C476", "Peripheral nerves of trunk, NOS" ], [ "C478", "Overlapping lesion of peripheral nerves & autonomic nervous system" ], [ "C479", "Peripheral nerves & autonomic nervous system, NOS" ], [ "C480", "Retroperitoneum" ], [ "C481", "Specified parts of peritoneum" ], [ "C482", "Peritoneum, NOS" ], [ "C488", "Overlapping lesion of retroperitoneum & peritoneum" ], [ "C490", "Connective & soft tissue of head, face & neck" ], [ "C491", "Connective & soft tissue of upper limb and shoulder" ], [ "C492", "Connective & soft tissue of lower limb and hip" ], [ "C493", "Connective & soft tissue of thorax" ], [ "C494", "Connective & soft tissue of abdomen" ], [ "C495", "Connective & soft tissue of pelvis" ], [ "C496", "Connective & soft tissue of trunk, NOS" ], [ "C498", "Overlapping lesion of connective & soft tissue" ], [ "C499", "Connective & soft tissue, NOS" ], [ "C500", "Nipple & areola" ], [ "C501", "Central portion of breast" ], [ "C502", "Upper-inner quadrant of breast" ], [ "C503", "Lower-inner quadrant of breast" ], [ "C504", "Upper-outer quadrant of breast" ], [ "C505", "Lower-outer quadrant of breast" ], [ "C506", "Axillary tail of breast" ], [ "C508", "Overlapping lesion of breast" ], [ "C509", "Breast, NOS" ], [ "C510", "Labium majus" ], [ "C511", "Labium minus" ], [ "C512", "Clitoris" ], [ "C518", "Overlapping lesion of vulva" ], [ "C519", "Vulva, NOS" ], [ "C529", "Vagina" ], [ "C530", "Endocervix" ], [ "C531", "Exocervix" ], [ "C538", "Overlapping lesion of cervix uteri" ], [ "C539", "Cervix uteri, NOS" ], [ "C540", "Isthmus uteri" ], [ "C541", "Endometrium" ], [ "C542", "Myometrium" ], [ "C543", "Fundus uteri" ], [ "C548", "Overlapping lesion of corpus uteri" ], [ "C549", "Corpus uteri, NOS" ], [ "C559", "Uterus" ], [ "C569", "Ovary" ], [ "C570", "Fallopian tube" ], [ "C571", "Broad ligament" ], [ "C572", "Round ligament" ], [ "C573", "Parametrium" ], [ "C574", "Uterine adnexa" ], [ "C577", "Oth specified female genital organs" ], [ "C578", "Overlapping lesion of female genital organs" ], [ "C579", "Female genital organ, NOS" ], [ "C589", "Placenta" ], [ "C600", "Prepuce" ], [ "C601", "Glans penis" ], [ "C602", "Body of penis" ], [ "C608", "Overlapping lesion of penis" ], [ "C609", "Penis, NOS" ], [ "C619", "Prostate" ], [ "C620", "Undescended testis" ], [ "C621", "Descended testis" ], [ "C629", "Testis, NOS" ], [ "C630", "Epididymis" ], [ "C631", "Spermatic cord" ], [ "C632", "Scrotum" ], [ "C637", "Oth specified male genital organs" ], [ "C638", "Overlapping lesion of male genital organs" ], [ "C639", "Male genital organ, NOS" ], [ "C649", "Kidney, except renal pelvis" ], [ "C659", "Renal pelvis" ], [ "C669", "Ureter" ], [ "C670", "Trigone of bladder" ], [ "C671", "Dome of bladder" ], [ "C672", "Lateral wall of bladder" ], [ "C673", "Anterior wall of bladder" ], [ "C674", "Posterior wall of bladder" ], [ "C675", "Bladder neck" ], [ "C676", "Ureteric orifice" ], [ "C677", "Urachus" ], [ "C678", "Overlapping lesion of bladder" ], [ "C679", "Bladder, NOS" ], [ "C680", "Urethra" ], [ "C681", "Paraurethral glands" ], [ "C688", "Overlapping lesion of urinary organs" ], [ "C689", "Urinary system, NOS" ], [ "C690", "Conjunctiva" ], [ "C691", "Cornea" ], [ "C692", "Retina" ], [ "C693", "Choroid" ], [ "C694", "Ciliary body" ], [ "C695", "Lachrymal gland & duct" ], [ "C696", "Orbit" ], [ "C698", "Overlapping lesion of eye & adnexa" ], [ "C699", "Eye, NOS" ], [ "C700", "Cerebral meninges" ], [ "C701", "Spinal meninges" ], [ "C709", "Meninges, NOS" ], [ "C710", "Cerebrum, except lobes & ventricles" ], [ "C711", "Frontal lobe" ], [ "C712", "Temporal lobe" ], [ "C713", "Parietal lobe" ], [ "C714", "Occipital lobe" ], [ "C715", "Cerebral ventricle" ], [ "C716", "Cerebellum" ], [ "C717", "Brain stem" ], [ "C718", "Overlapping lesion of brain" ], [ "C719", "Brain, NOS" ], [ "C720", "Spinal cord" ], [ "C721", "Cauda equina" ], [ "C722", "Olfactory nerve" ], [ "C723", "Optic nerve" ], [ "C724", "Acoustic nerve" ], [ "C725", "Cranial nerves, NOS" ], [ "C728", "Overlapping lesion of brain & central nervous system" ], [ "C729", "Central nervous system, NOS" ], [ "C739", "Thyroid gland" ], [ "C740", "Cortex of adrenal gland" ], [ "C741", "Medulla of adrenal gland" ], [ "C749", "Adrenal gland, NOS" ], [ "C750", "Parathyroid gland" ], [ "C751", "Pituitary gland" ], [ "C752", "Craniopharyngeal duct" ], [ "C753", "Pineal gland" ], [ "C754", "Carotid body" ], [ "C755", "Aortic body & other paraganglia" ], [ "C758", "Overlapping lesion of endocrine gland" ], [ "C759", "Endocrine gland, NOS" ], [ "C760", "Head, face & neck, NOS" ], [ "C761", "Thorax, NOS" ], [ "C762", "Abdomen, NOS" ], [ "C763", "Pelvis, NOS" ], [ "C764", "Upper limb, NOS" ], [ "C765", "Lower limb, NOS" ], [ "C767", "Other ill-defined sites" ], [ "C768", "Overlapping lesion of ill-defined sites" ], [ "C770", "Lymph nodes of head, face & neck" ], [ "C771", "Intrathoracic lymph nodes" ], [ "C772", "Intra-abdominal lymph nodes" ], [ "C773", "Axillary & upper limb lymph nodes" ], [ "C774", "Inguinal & lower limb lymph nodes" ], [ "C775", "Pelvic lymph nodes" ], [ "C778", "Lymph nodes of multiple regions" ], [ "C779", "Lymph nodes, NOS" ], [ "C809", "Unknown primary site" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/profound_immune_suppression_68178.json b/src/test/resources/algorithms/eod_public/3.3/tables/profound_immune_suppression_68178.json deleted file mode 100644 index 0cf0a5c99..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/profound_immune_suppression_68178.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "profound_immune_suppression_68178", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Profound Immune Suppression", - "title" : "Profound Immune Suppression", - "description" : "Profound Immune Suppression suppressed immune status that may be associated with HIV/AIDs, solid organ transplant, chronic lymphocytic leukemia, non-Hodgkin lymphoma, multiple conditions, or other conditions, increases the risk of developing Merkel Cell Carcinoma and is an adverse prognostic factor. \n\nProfound immune suppression may greatly increase the risk of developing Merkel cell carcinoma. Immune suppression is suppression of the body's immune system and its ability to fight infections and other diseases. Immune suppression may be deliberately induced with drugs, as in preparation for bone marrow or other organ transplantation, to prevent rejection of the donor tissue. It may also result from certain diseases such as Acquired Immune Deficiency Syndrome (AIDS) or lymphoma, and from the use of anti-cancer drugs.", - "notes" : "**Note 1:** **Physician statement** \n* Physician statement of Profound Immune Suppression must be used to code this data item. \n* Do not assume that a patient is immune suppressed just because the patient has one of the conditions listed below in the table. \n\n**Note 2:** **Two-year limitation and exceptions**\n* Per AJCC experts, this data item is limited to the conditions in the table below occurring within two years of the diagnosis of Merkel cell carcinoma.\n * ***Exceptions***: For the following conditions ONLY, these patients will experience chronic immunosuppression. There are no time limits for these conditions. If a patient has a history (regardless of when diagnosed or treatment status), code as present \n * Human Immunodeficiency Virus (HIV)/acquired immunodeficiency syndrome (AIDS) (Code 1)\n * Solid organ transplant recipient (Code 2)\n * Chronic lymphocytic leukemia (Code 3)", - "last_modified" : "2025-11-06T18:41:53.559Z", - "definition" : [ { - "key" : "profound_immune_suppression", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No immune suppression condition(s) identified/not present" ], [ "1", "Human Immunodeficiency Virus (HIV)/Acquired Immunodeficiency Syndrome (AIDS)" ], [ "2", "Solid organ transplant recipient" ], [ "3", "Chronic lymphocytic leukemia" ], [ "4", "Non-Hodgkin lymphoma" ], [ "5", "Multiple immune suppression conditions" ], [ "6", "Profound immune suppression present" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nProfound immune suppression not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** patient history, consultation notes, other statement in medical record\n\n**Other names (per AJCC experts) include** immunosuppression, immunocompromised, immunosuppressed, suppressed immune status", - "coding_guidelines" : "**1) Code 0** when there is no evidence of immune suppression at the time of diagnosis OR within 2 years of diagnosis\n\n**2) Code 1** for HIV diagnosis regardless of when diagnosed or treatment status\n\n**3) Code 2** for Solid Organ transplant recipient regardless of when transplant was done\n\n**4) Code 3** for Chronic lymphocytic leukemia regardless of when diagnosed or treatment status\n\n**5) Code 4** for Non-Hodgkin lymphoma that has been diagnosed within the last two years\n\n**6) Code 5** when there are multiple immune suppression conditions (Codes 1-4) present at the same time\n\n**7) Code 6** when documentation states “profound immune suppression,” but no information regarding which condition is given\n\n**8) Code 9** if conditions (other than those noted above) were not active within 2 years of (or resolved more than 2 years prior to) diagnosis, or if it is unknown when they existed.", - "rationale" : "Profound Immune Suppression is a Registry Data Collection Variable in AJCC. It was previously collected as Merkel Cell Penis, SSF #22, Merkel Cell Scrotum SSF #22, Merkel Cell Skin, SSF #22, and Merkel Cell Vulva, SSF #22." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/psa_46258.json b/src/test/resources/algorithms/eod_public/3.3/tables/psa_46258.json deleted file mode 100644 index 0032bda2d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/psa_46258.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "psa_46258", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "PSA Lab Value", - "title" : "PSA (Prostatic Specific Antigen) Lab Value", - "description" : "PSA (Prostatic Specific Antigen) is a protein produced by cells of the prostate gland and is elevated in patients with prostate cancer. This data item pertains to PSA lab value.\n\nSerum PSA is the most sensitive tumor marker for monitoring individuals with prostate cancer, including progression of disease and response to therapy. Although originally not intended to be a screening test, this relatively simple blood test has become a very common method of detecting new prostate cancer in its earliest stages. PSA can be totally negative when prostate cancer is found on digital rectal exam. In such cases, PSA will not be helpful in monitoring for recurrence. \n* ***Note:*** Serum PSA is not the same as free PSA or precursor PSA—do not record values from either of these tests in this field.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of prostatic specific antigen (PSA) pre-diagnosis can be used to code this data item when no other information is available.\n\n**Note 2:** **Staging related** \n* PSA is a prognostic factor required for AJCC staging. It affects the stage group in most cases.\n\n**Note 3:** **PSA criteria**\n * Diagnostic biopsy done\n * Record the last PSA lab value done prior to **AND** within 3 months of the diagnostic biopsy\n * No diagnostic biopsy done (or unknown if diagnostic biopsy done)\n * Record the last PSA lab value done within 3 months of the date of diagnosis **or** additional confirmatory testing when no diagnostic biopsy is done, or unknown if diagnostic biopsy done\n\n* ***Note:** **This is a change in the rules for Version 3.3 of the SSDI manual from the PSA had to be within 3 months and prior to the date of diagnosis AND within 3 months of the diagnostic biopsy***\n * *This change can be applied for cases diagnosed 2018+. There is no recommendation or expectation that registrars will review older cases.* \n\n* ***Example 1:*** 5/17/25 PSA, 8.5. Date of diagnosis 6/6/25 based on MRI. Patient seeks a second opinion. Returns to physician in November 2025. 11/19/25 PSA, 8.6. 11/21/25 needle core biopsy.\n * Code PSA 8.6 based on the 11/19/25 PSA which was done prior to and within 3 months of the diagnostic biopsy\n\n* ***Example 2:*** 6/4/25 PSA, 12.7. Additional PSA done 7/5/25, 10.6. Date of Diagnosis on 8/4/25 when the diagnostic biopsy was done. \n * Code PSA 10.6 based on the 7/5/25 PSA since that was the last PSA done prior to and within 3 months of the diagnostic biopsy\n\n * ***Example 3:*** 4/15/25 PSA, 6.4. 5/2/25 MRI done, which confirms prostate cancer. No diagnostic biopsy done.\n * Code PSA 6.4 based on the 4/15/25 PSA which was done within 3 months of the date of diagnosis and no diagnostic biopsy was done. \n\n**Note 4:** **PSA Adjustment** \n* A discrepancy between the PSA documented in the lab report and the PSA documented by the clinician may arise due to the clinician's adjusting the PSA value. Certain medications for benign prostatic hypertrophy (BPH) decrease the PSA. \n * If there is documentation by a clinician within the medical record of an adjusted PSA value, record the adjusted value. \n * The registrar does not adjust the PSA value based on BPH medication use. \n * If there is no documentation by a clinician within the medical record of an adjusted PSA value, record the PSA value provided. \n * The fact that an adjusted PSA value is being recorded should be documented in the Dx Proc - Lab Tests text field (NAACCR Item # 2550).", - "last_modified" : "2025-11-06T20:41:42.013Z", - "definition" : [ { - "key" : "psa", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.1", "0.1 or less nanograms/milliliter (ng/ml)\n(Exact value to nearest tenth of ng/ml)" ], [ "0.2-999.9", "0.2 - 999.9 ng/ml\n(Exact value to nearest tenth of ng/ml)" ], [ "XXX.1", "1,000 ng/ml or greater" ], [ "XXX.2", "Lab value not available, physician states PSA is negative/normal" ], [ "XXX.3", "Lab value not available, physician states PSA is positive/elevated/high" ], [ "XXX.7", "Test ordered, results not in chart" ], [ "XXX.9", "Not documented in medical record\nPSA lab value not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** clinical laboratory report (blood or serum test), history, clinician note, pathology report\n\n**Other names include** Prostate specific antigen, serum PSA, total PSA\n\n***Normal reference range varies by age and race of patient***. \n * The reference range should be shown on the clinical laboratory report. In general, normal findings are 0 – 4.0 nanograms per milliliter (ng/ml).\n * Optimal normal range is 0 – 2.6 ng/ml. Nanograms per milliliter may be reported as micrograms per liter (mg/L or ug/L).", - "coding_guidelines" : "**1)** Record to the nearest tenth in nanograms/milliliter (ng/ml) the last pre-diagnosis PSA lab value **prior to the diagnostic biopsy** of prostate and treatment. \n\n**2)** The lab value may be recorded in the lab report, history and physical, or clinical statement in the pathology report, etc. \n* A lab value expressed in micrograms per liter (ug/L) is e equivalent to the same value expressed in nanograms per milliliter (ng/ml)\n * Record 0.1 when the lab results are stated as less than 0.1 ng/ml with no exact value.\n\n**3)** A known lab value takes priority over codes XXX.2 and XXX.3. \n* The lab value takes priority even if the physician documents the interpretation\n * ***Example:*** Patient noted to have a PSA of 7.6. Physician notes that the value is elevated\n * Code 7.6 instead of XXX.3 (elevated)\n\n***Additional Examples***\n\n**1) PSA of 11.56**\n* PSA 11.6. Per Coding Guideline #1, PSA is documented in tenths, not hundredths. Follow the general coding rules and round up (see Rounding Rules in the General instructions). \n\n**2) 12/19/2025: PSA 44.3, 3/11/2026: PSA 42.8, 5/1/2026: DRE positive for bilateral palpable nodularity, 5/5/2026: Casodex initiated without needle core biopsy**\n* PSA 42.8: Per Note #3, when diagnostic biopsy is not done, record the last PSA done within three months of the date of diagnosis. \n\n**3) 2/16/2025: PSA 18.6, adjusted PSA value due to patient taking Medication for benign prostatic hypertrophy**\n* PSA 18.6. Record the adjusted PSA value ONLY if documented by the clinician in the record\n* Registrar does not adjust the PSA value due to BPH medication use\n\n**4)\t12/13/25: PSA 8.2, 1/13/2026: PSA 7.3, 5/22/2026: Biopsy positive for adenocarcinoma**\n* PSA XXX.9. Neither PSA was within three months of the diagnostic biopsy and therefore they can't be used.\n\n**5) PSA 1,100 ng/ml**\n* XXX.1: XXX.1 is defined for values of 1,000 or greater", - "rationale" : "This data item is required for prognostic stage grouping in AJCC 8th edition, Chapter 58 Prostate. It was previously collected as Prostate, CS SSF #1." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ptld_17694.json b/src/test/resources/algorithms/eod_public/3.3/tables/ptld_17694.json deleted file mode 100644 index 21d1eda66..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ptld_17694.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ptld_17694", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "PTLD", - "title" : "Post Transplant Lymphoproliferative Disorder-PTLD", - "description" : "Post Transplant Lymphoproliferative Disorder (PTLD) is a lymphoid proliferation arising in a recipient of a solid organ transplant, allogeneic bone marrow transplantation, or an umbilical cord blood transfusion. The patient must have a history of a solid organ transplant or an allogeneic bone marrow transplant. Both polymorphic and monomorphic PTLD are actually caused by post-transplant immunosuppression. Most cases of PTLD occur within a year of transplantation; however, they can occur any time after the transplant. Monomorphic PTLD may have histology indistinguishable from that of various malignant hematopoietic neoplasms, particularly lymphomas such as Diffuse Large B-cell Lymphoma.", - "notes" : "**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2025+\n* For cases diagnosed 2018-2024, this SSDI must be blank\n\n**Note 2:** **Definition of PTLD** \n* Post Transplant Lymphoproliferative Disorder (PTLD) is a lymphoid proliferation arising in a recipient of a solid organ transplant, allogeneic bone marrow transplantation, or an umbilical cord blood transfusion. \n* The development of PTLD is clinically significant and a prognostic indicator\n* See the Hematopoietic database for more information \n\n**Note 3:** **Types of PTLD**\n* **Polymorphic PTLD**: This is a PTLD by itself, there is no accompanying lymphoma, plasmacytoma or other type of Hematopoietic neoplasm. This type of PTLD is NOT collected in this data item.\n* **Monomorphic PTLD (Code 1)**: This is the most common PTLD and is associated with a malignant hematopoietic neoplasm. Most common, but not limited to, diffuse large B-cell lymphoma (DLBCL) and Burkitt lymphoma \n* **(Classic Hodgkin lymphoma-PTLD type (Code 2)**: Under the microscope, Reed-Sternberg cells, which are associated with Hodgkin lymphoma are present\n* **PTLD, NOS (Code 4)**: Used when only PTLD (NOS) is documented and there is no mention of monomorphic or Hodgkin like type", - "last_modified" : "2025-11-06T21:39:58.312Z", - "definition" : [ { - "key" : "ptld", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "PTLD not documented on the pathology report or in the medical record" ], [ "1", "Monomorphic PTLD \n* PTLD WITH a specified histology (lymphoma, plasmacytoma, plasma cell myeloma)" ], [ "2", "Classic Hodgkin lymphoma-PTLD type \nPTLD, Hodgkin like" ], [ "4", "PTLD not specified as monomorphic or Hodgkin lymphoma-PTLD type\n• WITH a specified histology (lymphoma, plasmacytoma, plasma cell myeloma)\n• Includes Burkitt type PTLD" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error)" ], [ "", "Diagnosis year prior to 2025" ] ], - "coding_guidelines" : "**See the Hematopoietic manual (Rules M14 and PH1. Hematopoietic Project - SEER Registrars (cancer.gov))**\n\n**1)** **Code 0** when there is no mention of PTLD on the pathology report or medical record\n\n**2)** **Code 1** when the pathology report describes monomorphic PTLD with a lymphoma\n\n**3)** **Code 2** when the pathology report describes Classic Hodgkin lymphoma-PTLD type\n\n**4)** **Code 4** when the pathology report describes a Burkitt like PTLD or doesn’t specify what type of PTLD\n\n***Examples (Courtesy of Ask a SEER Registrar)***\n\n**1.** Staining supports the diagnosis of PTLD, monomorphic type, EBV+ diffuse large b-cell lymphoma (non-germinal center) *(Code histology 9680/3, PTLD data item-1)*\n\n**2.** Monomorphic post-transplant lymphoproliferative disorder (Plasma cell myeloma), EBV negative. Monoclonal kappa plasmacytosis (estimated 20% by CD138 IHC). *(Code histology, 9732/3, PTLD data item: 1)*\n\n**3.** Per Physician, Stage IIA (bulk) PTLD - Hodgkin-like morphology, Intermediate risk. *(Code histology 9650/3, PTLD data item: 2)*\n\n**4.** High grade b cell lymphoma/Burkitt like post-transplant lymphoproliferative disorder. *(Code histology 9687/3, PTLD data item-4)*\n\n**5.** Non-Hodgkin malignant lymphoma with plasmablastic features. Represents a post-transplant/immunodeficiency-related malignant lymphoma. *(Code histology 9590/3, PTLD data item: 4)*\n\n**6.** Colonoscopy w/bx showed diffuse large B-cell lymphoma w/PTLD. *(Code histology 9680/3, PTLD data item 4)*\n\n**7.** Right inguinal lymph node biopsy that shows a CD20+ polymorphic PTLD *(Not collected in this schema. Effective 2025+, this would be abstracted as 9971/3 and collected in the HemeRetic schema)*", - "rationale" : "The presence of PTLD, either polymorphic or monomorphic, has clinical significance and prognostic value, especially in the Pediatric and Adolescence and Young Adult (AYA) populations." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/radiation_surg_seq.json b/src/test/resources/algorithms/eod_public/3.3/tables/radiation_surg_seq.json deleted file mode 100644 index ff6ac276d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/radiation_surg_seq.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "radiation_surg_seq", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Radiation Surg Seq", - "title" : "RX Summ Surgery/Radiation Sequence", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2020-05-19T17:10:44.198Z", - "definition" : [ { - "key" : "radiation_surg_seq", - "name" : "RX Summ Surgery/Radiation Sequence", - "type" : "INPUT" - }, { - "key" : "desc", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No radiation and/or no surgery; unknown if surgery and/or radiation given" ], [ "2", "Radiation before surgery" ], [ "3", "Radiation after surgery" ], [ "4", "Radiation both before and after surgery" ], [ "5", "Intraoperative radiation" ], [ "6", "Intraoperative radiation with other radiation given before and/or after surgery" ], [ "7", "Surgery both before and after radiation" ], [ "9", "Sequence unknown, but both surgery and radiation were given" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/rcb_class_750.json b/src/test/resources/algorithms/eod_public/3.3/tables/rcb_class_750.json deleted file mode 100644 index e334d910b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/rcb_class_750.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "rcb_class_750", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "RCB Class", - "title" : "Residual Cancer Burden Class", - "description" : "Residual Cancer Burden (RCB) is a score that measures the amount of cancer remaining in the breast and the regional lymph nodes after neoadjuvant therapy and surgical resection. The RCB score is based on 4 independent prognostic factors measuring the primary tumor bed and 2 independent factors measuring the lymph nodes. \n* See Residual Cancer Burden (RCB) Score for further information on these prognostic factors.\n\nBased on the RCB score, patients are then divided into four different classes. These classes are used to determine the likelihood of a patient being cancer free after treatment. \n* RCB-0 (pathologic complete response). No residual invasive cancer is present.\n* RCB-1 (minimal burden). Very little residual invasive cancer is present.\n* RCB-2 (moderate burden). A moderate amount of residual invasive cancer is present.\n* RCB-3 (extensive burden). A large amount of residual invasive cancer is present.", - "notes" : "***Any questions regarding this SSDI are to be posted in the AJCC CAnswer Forum***\n\n**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2026+. \n* For cases diagnosed 2018-2025, this SSDI must be blank.\n\n**Note 2:** **Criteria for coding**\n* Neoadjuvant therapy **AND** a surgical resection must be done to determine class. \n * See code 7 If neoadjuvant therapy AND a surgical resection have not been done\n\n**Note 3:** **CAP Protocol or Synoptic Pathology Report**\n* Only record the information from the CAP Protocol or synoptic pathology report \n * See code 9 if there is no mention of RCB Class on the CAP protocol or synoptic pathology report", - "last_modified" : "2025-05-05T13:53:43.273Z", - "definition" : [ { - "key" : "rcb_class", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "RCB-0 (pCR)" ], [ "1", "RCB-I" ], [ "2", "RCB-II" ], [ "3", "RCB-III" ], [ "7", "Patient had no neoadjuvant therapy, but surgical resection done\nPatient had neoadjuvant therapy, but no surgical resection" ], [ "8", "Not applicable: information not collected for this case \n(If this item is required by your standard setter, use of code 8 will result in an edit error)" ], [ "9", "Post neoadjuvant surgery completed and RCB class not documented in CAP Protocol or synoptic pathology report" ], [ "", "Must be blank if diagnosis year is before 2026" ] ], - "additional_info" : "**Source documents:** pathology report, CAP synoptic report\n\nFor further information, refer to the **Breast Resection cancer protocol** published by the College of American Pathologists for the AJCC Staging System *Breast*.", - "coding_guidelines" : "**1)** Record the Residual Cancer Burden Class as stated in the synoptic pathology report \n\n**2)** **Code 7** when the patient did not have neoadjuvant therapy or did not have surgery. The patient did not meet the criteria for an RCB Class\n\n**3)** **Code 9** when a patient has neoadjuvant therapy and post neoadjuvant surgery and information concerning the RCB Class is not available. \n* Pathologist does not document the RCB Class in the synoptic pathology report or CAP protocol after patient had neoadjuvant therapy followed by surgical resection. \n* Surgical pathology report is not available", - "rationale" : "Neoadjuvant therapy is now standard of care for HER2+ and triple negative breast carcinoma. Quantification of residual disease after neoadjuvant therapy determines further patient management in this setting. The Residual Cancer Burden (RCB) is the most validated measure of volume of residual disease post neoadjuvant for breast cancer and has prognostic value." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/residual_cancer_burden_62520.json b/src/test/resources/algorithms/eod_public/3.3/tables/residual_cancer_burden_62520.json deleted file mode 100644 index c2eaadc05..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/residual_cancer_burden_62520.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "residual_cancer_burden_62520", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Residual Cancer Burden (RCB)", - "title" : "Residual Cancer Burden (RCB)", - "description" : "Residual Cancer Burden (RCB) is a score that measures the amount of cancer remaining in the breast and the regional lymph nodes after neoadjuvant therapy and surgical resection. The RCB score is based on 4 independent prognostic factors measuring the primary tumor bed and 2 independent factors measuring the lymph nodes. \n\nThe RCB score combines these 6 independently prognostic factors from the surgical specimen after neoadjuvant therapy into a single continuous score. This score is prognostic across breast cancer subtypes, different treatments, and within existing stage groups. \n\nThe independent prognostic factors include\n* Primary Tumor Bed\n * Primary Tumor Bed area (measured in millimeters)\n * Includes the largest two dimensions\n * Overall Cancer Cellularity (as percentage of area)\n * Percentage of cancer that is invasive disease\n * Percentage of cancer that is in situ disease\n* Lymph nodes\n * Number of positive lymph nodes\n * Diameter of largest metastasis", - "notes" : "***Any questions regarding this SSDI are to be posted in the AJCC CAnswer Forum***\n\n**Note 1:** **Effective years**\n* This SSDI is effective for diagnosis years 2026+. \n* For cases diagnosed 2018-2025, this SSDI must be blank.\n\n**Note 2:** **Criteria for coding**\n* Neoadjuvant therapy **AND** a surgical resection must be done to determine score\n* Leave data item blank if neoadjuvant therapy and a surgical resection are not done\n\n**Note 3:** **CAP Protocol or Synoptic Pathology Report**\n* Only record the information from the CAP Protocol or synoptic pathology report.", - "last_modified" : "2025-11-06T18:56:10.558Z", - "definition" : [ { - "key" : "residual_cancer_burden", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0.000-9.999", "0.000 – 9.999 score" ], [ "X.777", "Patient had no neoadjuvant therapy, but surgical resection done\nPatient had neoadjuvant therapy, but no surgical resection" ], [ "X.888", "Not applicable: information not collected for this case \n(If this item is required by your standard setter, use of code X.8 will result in an edit error)." ], [ "X.999", "Post neoadjuvant surgery completed and RCB burden not documented in CAP Protocol or synoptic pathology report" ], [ "", "Must be blank if diagnosis year is before 2026" ] ], - "additional_info" : "**Source documents:** pathology report, CAP synoptic report\n\nFor further information, refer to the **Breast Resection cancer protocol** published by the College of American Pathologists for the AJCC Staging System *Breast*.", - "coding_guidelines" : "**1)** Record the Residual Cancer Burden score to the nearest one thousandth. **All three digits beyond the decimal point must be filled in.**\n\n* *Example:* CAP synoptic report states Residual Cancer Burden score 3.151\n * Code 3.151\n\n* *Example:* CAP synoptic reports states Residual Cancer Burden score is 3. \n * Code 3.000\n\n**2)** **Code X.777** when the patient did not have neoadjuvant therapy or did not have surgery. The patient did not meet the criteria for an RCB Score.\n\n**3)** **Code X.999** when a patient has neoadjuvant therapy and post neoadjuvant surgery and information concerning the RCB score is not available. \n* Pathologist does not document the RCB score in the synoptic pathology report or CAP protocol after patient had neoadjuvant therapy followed by surgical resection. \n* Surgical pathology report is not available", - "rationale" : "Neoadjuvant therapy is now standard of care for HER2+ and triple negative breast carcinoma. Quantification of residual disease after neoadjuvant therapy determines further patient management in this setting. The Residual Cancer Burden (RCB) is the most validated measure of volume of residual disease post neoadjuvant for breast cancer and has prognostic value." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/residual_tumor_volume_post_cytoreduction_90653.json b/src/test/resources/algorithms/eod_public/3.3/tables/residual_tumor_volume_post_cytoreduction_90653.json deleted file mode 100644 index ff3d58d19..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/residual_tumor_volume_post_cytoreduction_90653.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "residual_tumor_volume_post_cytoreduction_90653", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Residual Tumor Volume Post Cytoreduction", - "title" : "Residual Tumor Volume Post Cytoreduction", - "description" : "Gross residual tumor after primary cytoreductive surgery is a prognostic factor for ovarian cancer and residual tumor volume after cytoreductive surgery is a prognostic factor for late-stage ovarian cancers.\n\nThe amount of ovarian tumor and the location of tumor remaining in the patient after initial ovarian or peritoneal cancer surgery are the most important prognostic factors for advanced disease. The intent of cytoreductive or debulking surgery—particularly for Stage III cancer—is to remove as much of the cancer in the pelvis and abdomen as possible so that chemotherapy will be more effective. The less tumor left behind, the more likely the patient will respond well to adjuvant hemotherapy. Information about residual tumor volume will be in the operative report.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of residual tumor status after primary cytoreduction surgery can be used to code this data item when no other information is available.\n\n**Note 2:** **Optimal debulking surgery** \n* Optimal debulking is described as removal of all tumor except for residual nodules that measure no more than 1 centimeter (cm) in maximum diameter.\n\n**Note 3:** **Purpose of surgery** \n* The surgery to remove as much cancer in the pelvis and/or abdomen as possible, reducing the \"bulk\" of the cancer, is called **\"debulking\"** or **\"cytoreductive\"** surgery. \n * It is performed when there is widespread evidence of advanced stage of ovarian cancer with obvious spread to other organs outside the ovary, typically in the upper abdomen, intestines, the omentum (the fat pad suspended from the transverse colon like an apron), the diaphragm, or liver. \n\n**Note 4:** **Gross residual tumor** \n* Gross residual tumor after primary cytoreductive surgery is a prognostic factor that has been demonstrated in large studies. The best prognostic category after surgery includes those who are left with no gross residual tumor.\n* Physicians should record the presence or absence of residual disease, if residual disease is observed, the size of the largest visible lesion should be documented", - "last_modified" : "2025-11-05T21:47:50.378Z", - "definition" : [ { - "key" : "resid_tumor_vol_post_cyto", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No gross residual tumor nodules" ], [ "50", "Residual tumor nodule(s) 1 centimeter (cm) or less" ], [ "60", "Residual tumor nodule(s) greater than 1 cm" ], [ "70", "Macroscopic residual tumor nodule(s), size not stated" ], [ "80", "Procedure described as optimal debulking and size of residual tumor nodule(s) not given" ], [ "97", "No cytoreductive surgery performed\nNon-invasive neoplasm (behavior /2)" ], [ "98", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 98 will result in an edit error.)" ], [ "99", "Not documented in medical record\nResidual tumor status after cytoreductive surgery not assessed or unknown if assessed" ] ], - "additional_info" : "* **Source documents:** operative report, discharge summary, chemotherapy records (inpatient and outpatient)\n\n* **Other names include** debulking, cytoreduction, residual tumor volume\n\nFor further information, refer to the **Ovary, Fallopian Tube, or Peritoneum** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Ovary, Fallopian Tube, and Primary Peritoneal Carcinoma*.", - "rationale" : "Residual Tumor Volume Post Cytoreduction is a Registry Data Collection Variable listed in AJCC. It was previously collected as Ovary, CS SSF # 3." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/response_to_neoadjuvant_therapy_57695.json b/src/test/resources/algorithms/eod_public/3.3/tables/response_to_neoadjuvant_therapy_57695.json deleted file mode 100644 index 8fb23ddc2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/response_to_neoadjuvant_therapy_57695.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "response_to_neoadjuvant_therapy_57695", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Response to Neoadjuvant Therapy", - "title" : "Response to Neoadjuvant Therapy", - "description" : "This data item records the physician’s statement of response to neoadjuvant chemotherapy.\n\nNeoadjuvant therapy is defined as systemic, or radiation treatment administered prior to surgery in an attempt to shrink the tumor or destroy regional metastases. This data item documents whether that neoadjuvant therapy was successful. \n\nThis data item is coded based on the clinician’s statement regarding response to neoadjuvant therapy. Do not try to interpret or infer a response based on the medical record. As a guide for the clinician, the definitions below are from the AJCC Cancer Staging Manual, 8th edition. \n\nThe registrar should not use these definitions to code this field \n* Complete Response (CR) – absence of invasive carcinoma in breast and lymph nodes; must be determined by microscopic evaluation of tissues; residual in situ cancer at primary site\n* Partial Response (PR) – a decrease in T and/or N category compared to pretreatment value and no increase, using same method of evaluation as baseline value, residual tumor in lymph nodes of any size\n* No Response (NR) – no apparent change in the T or N category compared to pretreatment value, or an increase in T or N value at time of y pathological examination", - "notes" : "**Note 1:** **Physician Statement**\n* A statement from the managing physician for Response to Neoadjuvant Therapy (\"treatment effect\") **must be used to code this data item**.\n\n**Note 2:** **Criteria for coding** \n* This data item should not be coded based on the following pathological, radiological, and imaging findings \n* **This data item should only be coded based on the managing physician's overall interpretation of the results**.\n\n**Note 3:** **SEER Data Item Neoadjuvant Therapy-Treatment effect**\n* The rules for this data item from SEER are different to Response to Neoadjuvant Therapy\n* **Do not use the rules from SEER's Neoadjuvant Therapy-Treatment effect [NAACCR ID# 1634] to code Response to Neoadjuvant therapy**", - "last_modified" : "2025-11-05T21:02:01.697Z", - "definition" : [ { - "key" : "response_neoadjuv_therapy", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Neoadjuvant therapy not given\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Stated as complete response (CR)" ], [ "2", "Stated as partial response (PR)" ], [ "3", "Stated as response to treatment, but not noted if complete or partial" ], [ "4", "Stated as no response (NR)" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nResponse to neoadjuvant therapy not assessed or unknown if assessed\nUnknown if neoadjuvant therapy given" ] ], - "additional_info" : "**Source documents:** physician statement \n\n**Other names include** treatment effect\n\nFor further information, refer to the **Breast or Breast Biomarker Reporting** cancer protocols published by the College of American Pathologists for the AJCC Staging System *Breast*.", - "coding_guidelines" : "**1)** Code 0 if there is no neoadjuvant therapy given\n* This includes in situ (behavior /2) cases\n\n**2)** Code 1 for a Residual Cancer Burden (RCB) result of '0' or an RCB Class of pCR (pathological complete response).\n* Code 1 is to be used only when the managing physician states the response is \"total\" or \"complete\"\n\n**3)** Code 9 when\n* There is no statement of complete, partial or no response by the clinician or when the response is not documented in the medical record\n* Only the post neoadjuvant surgical pathology report is available", - "rationale" : "Response to Neoadjuvant Therapy is a Registry Data Collection Variable in AJCC. It was previously collected as Breast, CS SSF #21." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/s_category_clinical_19191.json b/src/test/resources/algorithms/eod_public/3.3/tables/s_category_clinical_19191.json deleted file mode 100644 index 9698a940c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/s_category_clinical_19191.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "s_category_clinical_19191", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "S Category Clinical", - "title" : "Testis Serum Markers (S) Clinical (pre orchiectomy)", - "description" : "S Category Clinical combines the results of pre-orchiectomy Alpha Fetoprotein (AFP), Human Chorionic Gonadotropin (hCG) and Lactate Dehydrogenase (LDH) into a summary S value.\n\nIn addition to T, N, and M, the S category is collected to stage Testicular cancers. There are three factors that make up the S stage: alpha-fetoprotein (AFP), beta-human chorionic gonadotropin (beta-hCG), and lactase dehydrogenase (LDH). These play an important role as serum tumor markers in the staging and monitoring of germ cell tumors and should be measured prior to removing the involved testicle. For patients with nonseminomas, the degree of tumor-marker elevation after the cancerous testicular has been removed is one of the most significant predictors of prognosis. Serum tumor markers are also very useful for monitoring all stages of nonseminomas and for monitoring metastatic seminomas because elevated marker levels are often the earliest sign of relapse.\n\nThere are several related data items pertinent to the collection of these variables.\n\nFor clinical staging \n* 3807: AFP Pre-Orchiectomy Lab Value\n* 3808: AFP Pre-Orchiectomy Range\n* 3848: hCG Pre-Orchiectomy Lab Value\n* 3849: hCG Pre-Orchiectomy Range\n* 3868: LDH Pre-Orchiectomy Range\n* 3923: S Category Clinical", - "notes" : "**Note 1:** **Physician Statement** \n* Code the S category as described by the physician. If the S category determined by available lab values or calculated by vendor software differs from the physician statement of the S category, the physician's statement takes precedence. \n\n**Note 2:** **Pre-orchiectomy S category** \n* Code the pre-orchiectomy S category (Clinical S) according to the table below. This table is also available in AJCC 8th edition, Chapter 59, Testis.\n* For AFP, a lab value expressed in micrograms per liter (ug/L) is equivalent to the same value expressed in nanograms per milliliter (ng/ml).\n\n**Note 3:** **Clinical Stage** \n* Clinical stage values are those based on physician statement or lab values at diagnosis, prior to orchiectomy, and prior to any systemic treatment.\n\n**Note 4:** **AFP, hCG, LDH** \n* All three lab values are needed for S0-S1. Only one elevated test is needed to assign S2-3. If any individual test is not available and none of the available test results meet the S2-3 criterion for that test, assign code 9 (SX).", - "last_modified" : "2025-11-06T20:59:27.459Z", - "definition" : [ { - "key" : "s_category_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "S0: Marker study levels within normal levels" ], [ "1", "S1: At least one of these values is elevated AND\n- LDH less than 1.5 x N* AND\n- hCG (mIU/L) less than 5,000 AND \n- AFP (ng/mL) less than 1,000" ], [ "2", "S2:\n- LDH 1.5 x N* to 10 x N* OR \n- hCG (mIU/L) 5,000 to 50,000 OR \n- AFP (ng/mL) 1,000 to 10,000" ], [ "3", "S3: Only one elevated test is needed\n- LDH greater than 10 x N* OR \n- hcG (mIU/mL) greater than 50,000 OR \n- AFP (ng/mL) greater than 10,000" ], [ "9", "SX: Not documented in medical record\nS Category Clinical not assessed or unknown if assessed" ] ], - "rationale" : "S Category Clinical is required for prognostic stage grouping in Chapter 59 Testis. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/s_category_pathologic_34448.json b/src/test/resources/algorithms/eod_public/3.3/tables/s_category_pathologic_34448.json deleted file mode 100644 index 04ad9c0be..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/s_category_pathologic_34448.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "s_category_pathologic_34448", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "S Category Pathological", - "title" : "Testis Serum Markers (S) Pathological (post-orchiectomy )", - "description" : "S Category Pathological combines the results of post-orchiectomy Alpha Fetoprotein (AFP), Human Chorionic Gonadotropin (hCG) and Lactate Dehydrogenase (LDH) into a summary S value.\n\nIn addition to T, N, and M, the S category is collected to stage Testicular cancers. There are three factors that make up the S stage: alpha-fetoprotein (AFP), beta-human chorionic gonadotropin (beta-hCG), and lactase dehydrogenase (LDH). These play an important role as serum tumor markers in the staging and monitoring of germ cell tumors and should be measured prior to removing the involved testicle. For patients with nonseminomas, the degree of tumor-marker elevation after the cancerous testicular has been removed is one of the most significant predictors of prognosis. Serum tumor markers are also very useful for monitoring all stages of nonseminomas and for monitoring metastatic seminomas because elevated marker levels are often the earliest sign of relapse.\n\nThere are several related data items pertinent to the collection of these variables.\n\nFor pathological staging \n* 3805: AFP Post-Orchiectomy Lab Value\n* 3806: AFP Post-Orchiectomy Range\n* 3846: hCG Post-Orchiectomy Lab Value\n* 3847: hCG Post-Orchiectomy Range\n* 3867: LDH Post-Orchiectomy Range\n* 3924: S Category Pathological", - "notes" : "**Note 1:** **Physician Statement** \n* Code the S category as described by the physician. If the S category determined by available lab values or calculated by vendor software differs from the physician statement of the S category, the physician's statement takes precedence. \n\n**Note 2:** **Post-orchiectomy S Category** \n* Code the post-orchiectomy S category (Pathological S) according to the table below. This table is also available in AJCC 8th edition, Chapter 59, Testis.\n* For AFP, a lab value expressed in micrograms per liter (ug/L) is equivalent to the same value expressed in nanograms per milliliter (ng/ml).\n\n**Note 3:** **Timing** \n* Pathological stage values are those based on physician statement or lab values **after orchiectomy and prior to adjuvant therapy**. \n\n**Note 4:** **Lab values elevated after orchiectomy** \n* If the initial post-orchiectomy lab values remain elevated, review the subsequent tests and use the lowest lab values (normalization or plateau) prior to adjuvant therapy or before the value rises again.\n\n**Note 5:** **AFP, hCG, LDH** \n* All three lab values are needed for S0-S1. Only one elevated test is needed to assign S2-3. If any individual test is not available and none of the available test results meet the S2-3 criterion for that test, assign code 9 (SX).\n\n**Note 6:** **Normal Serum Tumor Markers (pre-orchiectomy)** \n* When all the serum tumor markers are normal pre-orchiectomy and they are not repeated post-orchiectomy, code 5.", - "last_modified" : "2025-11-06T20:59:50.104Z", - "definition" : [ { - "key" : "s_category_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "S0: Marker study levels within normal levels" ], [ "1", "S1: At least one of these values is elevated AND\n- LDH less than 1.5 x N* AND\n- hCG (mIU/L) less than 5,000 AND \n- AFP (ng/mL) less than 1,000" ], [ "2", "S2:\n- LDH 1.5 x N* to 10 x N* OR \n- hCG (mIU/L) 5,000 to 50,000 OR \n- AFP (ng/mL) 1,000 to 10,000" ], [ "3", "S3: Only one elevated test is needed\n- LDH greater than 10 x N* OR \n- hCG (mIU/mL) greater than 50,000 OR \n- AFP (ng/mL) greater than 10,000" ], [ "5", "Post orchiectomy serum tumor markers unknown or not done but pre orchiectomy serum tumor markers were normal" ], [ "9", "SX: Not documented in medical record\nS Category Pathological not assessed or unknown if assessed" ] ], - "rationale" : "S Category Pathological is required for prognostic stage grouping in AJCC 8th edition, Chapter 59 Testis. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/sarcomatoid_features_99558.json b/src/test/resources/algorithms/eod_public/3.3/tables/sarcomatoid_features_99558.json deleted file mode 100644 index 16646bfb0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/sarcomatoid_features_99558.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "sarcomatoid_features_99558", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Sarcomatoid Features", - "title" : "Sarcomatoid Features", - "description" : "Sarcomatoid features: present or absent and percentage refers to the observation of sheets and fascicles of malignant spindle cells in a kidney tumor which can occur across all histologic subtypes. The percentage of sarcomatoid component has been shown to correlate with cancer-specific mortality. \n\nThe presence of sarcomatoid or spindle cell features in a kidney tumor is a strong adverse prognostic factor. There is a specific ICD-O morphology code for renal cell carcinoma, sarcomatoid or spindle cell (8318/3), but this data item documents any sarcomatoid or spindle cell features in any renal cell cancer. \n* **Note:** This data item applies to carcinomas only; rare sarcomas of the kidney should not be coded in this field\n* Code the percentage of sarcomatoid features documented anywhere in the pathology report", - "notes" : "**Note 1:** **Physician Staging** \n* Physician statement of Sarcomatoid Features (spindle cell features) can be used to code this data item when no other information is available.\n\n**Note 2:** **Criteria for coding** \n* Surgical resection of primary site must be done\n * If no surgical resection of primary site, code unknown (code 9)\n* Do not use imaging findings to code this data item.\n\n**Note 3:** **Sarcomatoid morphology/features** \n* Sarcomatoid morphology may be manifested by any renal cell carcinoma. The presence of sarcomatoid component in a renal cell carcinoma may be prognostically important. \n\n* Sarcomatoid features is mostly seen with renal cell carcinoma (all variants); however, if it’s seen with other carcinoma histologies, it can be coded.", - "last_modified" : "2025-11-06T21:19:18.826Z", - "definition" : [ { - "key" : "sarcomatoid_features", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "Sarcomatoid features not present/not identified " ], [ "001-100", "Sarcomatoid features 1-100%" ], [ "R01", "Sarcomatoid features stated as less than 10%" ], [ "R02", "Sarcomatoid features stated as range 10%-30% present" ], [ "R03", "Sarcomatoid features stated as a range 31% to 50% present" ], [ "R04", "Sarcomatoid features stated as a range 51% to 80% present" ], [ "R05", "Sarcomatoid features stated as greater than 80%" ], [ "XX5", "Sarcomatoid features present from metastatic site only AND\nSarcomatoid features not present, or unknown if present, in primary site" ], [ "XX6", "Sarcomatoid features present, percentage unknown" ], [ "XX7", "Not applicable: Not a renal cell carcinoma morphology" ], [ "XX8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code XX8 may result in an edit error.)" ], [ "XX9", "Not documented in medical record\nSarcomatoid features not assessed or unknown if assessed\nNo surgical resection of primary site is performed" ] ], - "additional_info" : "**Source Documents:** Surgical pathology report\n\nFor further information, refer to the **Kidney** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Kidney*.", - "coding_guidelines" : "**1)** Record whether sarcomatoid features are present or absent as documented in the surgical pathology report\n* Surgical resection of primary site must be done\n* Do not use imaging findings to code this data item.\n\n**2)** **Code 000** when the surgical pathology report states that there are no sarcomatoid features\n\n**3)** **Code 001-100** code exact percentage of sarcomatoid features appropriately [1% (001) to 100% (100)]\n\n**4)** **Code R01-R05** when only range documented (specific percentage not available)\n\n**5)** **Code XX5** when the only information available about Sarcomatoid features is from a metastatic site\n\n**6)** **Code XX6** when sarcomatoid features present, percentage unknown\n\n**7)** **Code XX7** when histology is not renal cell carcinoma (includes other carcinomas that are not renal cell and sarcomas)\n\n**8)** **Code XX9** when\n* There is no documentation in the medical record\n* Clinical diagnosis only\n* Evaluation of sarcomatoid features not done or unknown if done\n* Surgical resection of the primary site is performed and there is no mention of sarcomatoid features", - "rationale" : "Sarcomatoid features for Kidney is a Registry Data Collection Variable in AJCC. It was previously collected as Kidney, CS SSF #4." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_discriminator_1_63995.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_discriminator_1_63995.json deleted file mode 100644 index d578f28ec..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_discriminator_1_63995.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "schema_discriminator_1_63995", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Discriminator 1", - "title" : "Schema Discriminator 1: Histology Discriminator for 9591/3", - "description" : "There are multiple hematopoietic terms that have the same ICD-O histology code (9591/3). However, for purposes of stage grouping AJCC 8th edition, they are in different chapters. A schema discriminator is necessary to distinguish between these histology terms so that the appropriate sub(chapter)/schema is used.", - "notes" : "**Note:** **Schema Discriminator for 9591/3** \n* A schema discriminator is used to discriminate for histology 9591/3: Non-Hodgkin lymphoma to determine which Stage Group table to use.", - "last_modified" : "2025-03-21T21:14:46.169Z", - "definition" : [ { - "key" : "discriminator_1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "disease", - "name" : "Schema ID #/Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Splenic B-cell lymphoma/leukemia, unclassifiable", "00830: HemeRetic" ], [ "2", "Hairy cell leukemia variant\nProlymphocytic variant of hairy cell leukemia", "00830: HemeRetic" ], [ "3", "Splenic diffuse red pulp small B-cell lymphoma\nSplenic marginal zone lymphoma, diffuse variant\nSplenic red pulp lymphoma with numerous basophilic villous lymphocytes\nSplenic lymphoma with villous lymphocytes", "00790: Lymphoma (excluding CLL/SLL)" ], [ "9", "Non-Hodgkin lymphoma, NOS\nAny other terminology describing non-Hodgkin lymphoma, NOS", "00790: Lymphoma (excluding CLL/SLL)" ], [ "", "Histology is NOT 9591, Discriminator is not necessary", "" ] ], - "additional_info" : "**Source documents:** pathology report", - "coding_guidelines" : "**1)** **Code 1**: Splenic B-cell lymphoma/leukemia, unclassifiable \n* Abstracted and staged as a **leukemia**\n\n**2)** **Code 2**: Hairy cell leukemia variant \n* Abstracted and staged as a **leukemia**\n\n**3)** **Code 3**: Splenic diffuse red pulp small B-cell lymphoma \n* Abstracted and staged as a **lymphoma**\n\n**4)** **Code 9**: Non-Hodgkin lymphoma, NOS \n* Abstracted and staged as a **lymphoma**", - "rationale" : "A schema discriminator is used to assign AJCC ID when site and histology alone are insufficient to identify the applicable AJCC staging method and to assign Schema ID, which links each case to the appropriate SSDIs, Grade, Summary Stage and EOD data collection system." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_discriminator_2_15990.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_discriminator_2_15990.json deleted file mode 100644 index bd1f7e255..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_discriminator_2_15990.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "id" : "schema_discriminator_2_15990", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Discriminator 2", - "title" : "Schema Discriminator 2: Soft Tissue Trunk and Extremities/Soft Tissue Abdomen and Thoracic", - "description" : "The ICD-O-3 assigned topography codes for the peripheral nerve and autonomic nervous systems tumors (C47) and the connective, subcutaneous and other soft tissues (C49) primary sites are based on transverse or horizontal planes. The AJCC Staging System Soft Tissue Sarcoma of the Trunk and Extremities, and Soft Tissue Sarcoma of the Abdomen and Thoracic Visceral Organs base the eligible sites as either external structures or internal viscera. For example, \n* C493 axilla is an external site using the AJCC Staging System Soft Tissue Sarcoma of the Trunk and Extremities \n* C493 axillary artery is an internal site using the AJCC Staging System Soft Tissue Sarcoma of the Abdomen and Thoracic Visceral Organs \n* C475 sacrococcygeal region is a large area that may be either external or internal\n * Need to determine the exact area involved to assign the correct chapter\n * C475 external area of sacrococcygeal region uses the AJCC Staging System Soft Tissue Sarcoma of the Trunk and Extremities \n * C475 intrapelvic area of sacrococcygeal region uses the AJCC Staging System Soft Tissue Sarcoma of the Abdomen and Thoracic Visceral Organs To develop a software algorithm that can be used to send the registrar to the correct system/schema, this schema discriminator was developed.\n\nThe schema discriminator is based on determining whether the structure involved is part of the external structures or the internal viscera. This is accomplished by \n* Terms in ICD-O-3 topography codes sorted appropriately by the physician experts when possible\n* Instructions on what to do when terms are not specific enough to be assigned as external structures or internal viscera \n * Without additional information, these may not be staged, for example C475 pelvis\n * With additional information, these may be determined to be external structures or internal viscera\n* In addition to the topography codes and terms, there is also an option of “External sites, NOS” and “Internal sites, NOS” for registrars to use to assign the schema discriminator. Registrars may need to use additional information, including physician staging, to choose the appropriate schema discriminator", - "notes" : "**Note:** **Schema discriminator for C473, C475, C493-C495** \n* A schema discriminator is used to discriminate for peripheral nerve tumors (C473, C475) and connective tissue tumors (C493, C494, C495) for the subsite in which the tumor arose.", - "last_modified" : "2025-02-24T16:33:38.186Z", - "definition" : [ { - "key" : "discriminator_2", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "disease", - "name" : "Schema ID #/Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "External structures (sites), NOS\n\n***Examples*** of terms include:\n\nPeripheral nerves and autonomic nervous system (C47)\n* Pelvis (C475)\n - Buttock\n - Gluteal region\n - Groin\n - Inguinal region\n - Perineum\n - Sacrococcygeal region (stated as external)\n* Thorax (C473)\n - Axilla\n - Chest wall\n - Infraclavicular region\n - Scapular region\n - Thoracic wall\n\nConnective, subcutaneous and other soft tissues (C49)\n* Abdomen (C494)\n - Abdominal wall\n - Abdominal wall muscle\n - Iliopsoas muscle\n - Psoas muscle\n - Rectus abdominis muscle\n - Umbilicus\n* Pelvis (C495)\n - Buttock\n - Gluteal region\n - Gluteus maximus muscle\n - Groin\n - Inguinal region\n - Perineum\n - Sacrococcygeal region\n* Thorax (C493)\n - Axilla\n - Chest wall\n - Infraclavicular region\n - Intracostal muscle\n - Latissimus dorsi muscle\n - Pectoralis major muscle\n - Scapular region\n - Thoracic wall\n - Trapezius muscle", "00410: Soft Tissue Trunk and Extremities" ], [ "2", "Internal structures and viscera (sites), NOS\n\n***Examples*** of terms include\n\nPeripheral nerves and autonomic nervous system (C47)\n* Sacrococcygeal region (intrapelvic)\n\nConnective, subcutaneous and other soft tissues (C49)\n* Abdomen (C494)\n - Abdominal aorta\n - Abdominal vena cava\n - Celiac artery\n - Inferior vena cava\n - Mesenteric artery\n - Renal artery\n - Vena cava\n* Pelvis (C495)\n - Iliac artery\n - Iliac vein\n* Thorax (C493)\n - Aorta\n - Axillary artery\n - Diaphragm \n - Internal mammary artery\n - Subclavian artery\n - Superior vena cava\n - Thoracic duct", "00421: Soft Tissue Abdomen and Thoracic (excluding Heart, Mediastinum, Pleura)" ], [ "8", "Not applicable: Case abstracted prior to 2021 update", "00421: Soft Tissue Abdomen and Thoracic (excluding Heart, Mediastinum, Pleura)" ], [ "9", "Not specific enough to determine if external or internal\n\n***Examples*** of terms include\n\nPeripheral nerves and autonomic nervous system (C47)\n* Pelvis (C475)\n - Lumbosacral plexus\n - Sacral nerve\n - Sacral plexus\n* Thorax (C473)\n - Chest\n - Intercostal nerve\n\nConnective, subcutaneous and other soft tissues (C49)\n* Thorax (C493)\n - Chest, NOS\n - Thorax", "00459: Soft Tissue Other" ], [ "", "Primary Site is not C473, C475, C493-C495, Discriminator is not necessary", "" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, physician documentation, physician staging", - "coding_guidelines" : "**1)** **Code 1** is used for external structures and is assigned to the AJCC Staging System Soft Tissue Sarcoma of the Trunk and Extremities (Schema ID 00410: Soft Tissue Sarcoma of the Trunk and Extremities). \n* ***Example:*** Trapezius muscle (C493) is an external structure, on the outer layer or periphery of the body\n\n**2)** **Code 2** is used for internal structures and is assigned to the AJCC Staging System Soft Tissue Sarcoma of the Abdomen and Thoracic Visceral Organs (Schema ID 00421: Soft Tissue Sarcoma of the Abdomen and Thoracic Visceral Organs). \n* ***Example:*** Aorta (C493) is an internal structure, in the inner parts of the body\n\n**3)** **Code 8** is only used for cases for 2018-2020 that have already been abstracted prior to the Version 2.0 update (2021 update). It can also be used for 2018-2020 cases that are abstracted after the 2021 updates. \n* For cases diagnosed 2021+, code 8 cannot be used\n\n**4)** **Code 9** is used for when there is not enough specific information to determine if the structure is external or internal. These cases are collected in Schema ID 00459: Soft Tissue Other. \n* ***Example***: Chest NOS (C493) does not provide enough information in order to determine if it is either an external structure, on the outer layer or periphery of the body, or an internal structure, in the inner parts of the body", - "rationale" : "A schema discriminator is used to assign AJCC ID when site and histology alone are insufficient to identify the applicable AJCC staging method and to assign Schema ID, which links each case to the appropriate SSDIs, Summary Stage and EOD data collection system." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_adnexa_uterine_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_adnexa_uterine_other.json deleted file mode 100644 index 4c7c5541a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_adnexa_uterine_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_adnexa_uterine_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection AdnexaUterineOther", - "title" : "Schema selection for AdnexaUterineOther", - "last_modified" : "2025-07-07T18:34:06.006Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C571-C574", "8000-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_adrenal_gland.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_adrenal_gland.json deleted file mode 100644 index 0d191e7f5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_adrenal_gland.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_adrenal_gland", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection AdrenalGland", - "title" : "Schema selection for AdrenalGland", - "last_modified" : "2025-07-07T18:36:00.927Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C740-C741, C749", "8000-8671, 8681-8683, 8691, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ampulla_vater.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ampulla_vater.json deleted file mode 100644 index f1c0bd632..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ampulla_vater.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_ampulla_vater", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection AmpullaVater", - "title" : "Schema selection for AmpullaVater", - "last_modified" : "2025-07-07T18:36:51.695Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C241", "8000-8149, 8154, 8160-8231, 8243-8248, 8250-8682, 8690-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_anus.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_anus.json deleted file mode 100644 index b3920a30f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_anus.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_anus", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Anus", - "title" : "Schema selection for Anus", - "last_modified" : "2025-07-07T18:37:35.380Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C210-C212,C218", "8000-8700, 8720-8790", "2018-2022", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_anus_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_anus_v9_2023.json deleted file mode 100644 index 28e158aad..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_anus_v9_2023.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_anus_v9_2023", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Anus [V9: 2023+]", - "title" : "Schema selection for Anus [V9: 2023+]", - "last_modified" : "2025-07-07T18:38:50.775Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C210-C212,C218", "8000-8700, 8720-8790", "2023-9998,9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix.json deleted file mode 100644 index 5469f1cda..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_appendix", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Appendix", - "title" : "Schema selection for Appendix", - "last_modified" : "2025-07-07T18:40:34.322Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C181", "8000-8149, 8154, 8160-8231, 8243-8248, 8250-8682, 8690-8700, 8720-8790", "2018-2022", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix_v9_2023.json deleted file mode 100644 index 5b0b8ee41..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_appendix_v9_2023.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_appendix_v9_2023", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Appendix [V9: 2023+]", - "title" : "Schema selection for Appendix [V9: 2023+]", - "last_modified" : "2025-07-07T18:41:38.843Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C181", "8000-8149, 8154, 8160-8231, 8243-8248, 8250-8682, 8690-8700, 8720-8790", "2023-9998,9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_distal.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_distal.json deleted file mode 100644 index c775a56bc..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_distal.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_bile_ducts_distal", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection BileDuctsDistal", - "title" : "Schema selection for BileDuctsDistal", - "last_modified" : "2025-07-07T18:43:01.761Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C240", "8000-8700, 8720-8790", "4, 7", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_intrahepat.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_intrahepat.json deleted file mode 100644 index a4d03c867..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_intrahepat.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_bile_ducts_intrahepat", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection BileDuctsIntraHepat", - "title" : "Schema selection for BileDuctsIntraHepat", - "last_modified" : "2025-09-24T15:41:43.295Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C221", "8000-8700, 8720-8790, 8980", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_perihilar.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_perihilar.json deleted file mode 100644 index 34841571c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bile_ducts_perihilar.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_bile_ducts_perihilar", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection BileDuctsPerihilar", - "title" : "Schema selection for BileDuctsPerihilar", - "last_modified" : "2025-07-07T18:44:38.918Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C240", "8000-8700, 8720-8790", "1,5,6,9", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_biliary_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_biliary_other.json deleted file mode 100644 index f40368ebc..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_biliary_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_biliary_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection BiliaryOther", - "title" : "Schema selection for BiliaryOther", - "last_modified" : "2025-07-07T18:45:45.072Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C248-C249", "8000-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bladder.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bladder.json deleted file mode 100644 index 295a6b539..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bladder.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_bladder", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Bladder", - "title" : "Schema selection for Bladder", - "last_modified" : "2025-07-07T18:46:40.658Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C670-C679", "8000-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone.json deleted file mode 100644 index cfaa32317..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_bone", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Bone", - "title" : "Schema selection for Bone", - "last_modified" : "2025-09-24T15:39:04.703Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C414", "8000-8934, 8940-9138,9141-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_appendicular_skeleton.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_appendicular_skeleton.json deleted file mode 100644 index 7aedab221..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_appendicular_skeleton.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_bone_appendicular_skeleton", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Bone Appendicular Skeleton", - "title" : "Schema selection for Bone Appendicular Skeleton", - "last_modified" : "2025-09-24T15:39:07.847Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C400-C403, C408-C411, C413, C418-C419", "8000-8934, 8940-9138, 9141-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_spine.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_spine.json deleted file mode 100644 index cf84d50a6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_bone_spine.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_bone_spine", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Bone Spine", - "title" : "Schema selection for Bone Spine", - "last_modified" : "2025-09-24T15:39:01.551Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C412", "8000-8934, 8940-9138,9141-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_brain.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_brain.json deleted file mode 100644 index cb7308eec..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_brain.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_brain", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Brain", - "title" : "Schema selection for Brain", - "last_modified" : "2025-07-07T18:51:49.931Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C700, C710-C719", "8000-8700, 8720-8790, 8802, 8810, 8815, 8850, 8890, 8900, 9064, 9070-9071, 9080, 9084-9085, 9100-9105, 9120, 9133, 9140, 9180, 9220, 9362, 9364, 9380-9540, 9680, 9699, 9702-9715, 9751-9759", "*", "2018-2022", "MATCH" ], [ "C700, C710-C719", "8710-8714, 8800-8801, 8803-8806, 8811-8814, 8816-8818, 8820-8842, 8851-8881, 8891-8898, 8901-9063, 9065, 9072-9073, 9081-9083, 9086-9091, 9110-9111, 9121-9132, 9135-9138, 9141-9175, 9181-9213, 9221-9361, 9363, 9365-9373, 9541-9582, 9590-9679, 9687-9698, 9700-9701, 9716-9742, 9749, 9761-9993", "0, 1", "2018-2022", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_brain_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_brain_v9_2023.json deleted file mode 100644 index 0ee30425e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_brain_v9_2023.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_brain_v9_2023", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Brain [V9: 2023+]", - "title" : "Schema selection for Brain [V9: 2023+]", - "last_modified" : "2025-07-07T18:52:24.128Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C700, C710-C719", "8000-8803, 8810-8858, 8860-8900, 8902-8905, 8921, 8932-8934, 8940-8990, 8992, 9000-9016, 9030-9043, 9045-9221, 9230, 9240-9361, 9363-9365, 9370-9460, 9480-9500, 9505-9507, 9509-9580, 9582, 9671, 9680, 9690, 9699, 9702-9715, 9719, 9749, 9751-9759, 9766", "*", "2023-9998, 9999,", "MATCH" ], [ "C700, C710-C719", "8804-8806, 8859, 8901, 8910-8920, 8930-8931, 8935-8936, 8991, 9020, 9044, 9222, 9231, 9366-9368, 9581, 9590-9663, 9673-9679, 9687-9689, 9691-9698, 9700-9701, 9716-9718, 9724-9742, 9761-9765, 9767-9993", "0, 1", "2023-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_breast.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_breast.json deleted file mode 100644 index 52beeecac..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_breast.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_breast", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Breast", - "title" : "Schema selection for Breast", - "last_modified" : "2025-09-26T20:23:37.614Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C500-C506, C508-C509", "8000-8700, 8982-8983", "MATCH" ], [ "C501-C506, C508-C509", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_buccal_mucosa.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_buccal_mucosa.json deleted file mode 100644 index c397ba5f2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_buccal_mucosa.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_buccal_mucosa", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection BuccalMucosa", - "title" : "Schema selection for BuccalMucosa", - "last_modified" : "2025-09-25T14:06:59.350Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C060-C061", "8000-8700,8982", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_carcinoid_appendix.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_carcinoid_appendix.json deleted file mode 100644 index 7daf01afe..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_carcinoid_appendix.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_carcinoid_appendix", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection CarcinoidAppendix", - "title" : "Schema selection for CarcinoidAppendix", - "last_modified" : "2025-07-07T20:03:48.819Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C181", "8150-8153,8155-8156,8158,8240-8242,8249,8683", "2018-2023", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervical_lymph_nodes_occult_head_and_neck.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervical_lymph_nodes_occult_head_and_neck.json deleted file mode 100644 index 22015b9c5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervical_lymph_nodes_occult_head_and_neck.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_cervical_lymph_nodes_occult_head_and_neck", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Cervical Lymph Nodes, Occult Head and Neck", - "title" : "Schema selection for Cervical Lymph Nodes, Occult Head and Neck", - "last_modified" : "2025-09-25T14:11:41.865Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C760", "8010,8046,8051-8052,8070-8074,8082-8084,8121,8140,8147,8200,8310,8430,8450,8480,8525,8550,8562,8941", "2,3,4,5", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix.json deleted file mode 100644 index 1a0ce2b1d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_cervix", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Cervix", - "title" : "Schema selection for Cervix", - "last_modified" : "2025-09-15T20:42:53.632Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C530-C531,C538-C539", "8000-8700, 8720-8790, 8805, 8933, 8980, 9110, 9581", "2018-2020", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_9th_2021.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_9th_2021.json deleted file mode 100644 index 2ec611177..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_9th_2021.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_cervix_9th_2021", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Cervix [9th: 2021+]", - "title" : "Schema selection for Cervix [9th: 2021+]", - "last_modified" : "2025-09-24T16:29:55.329Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C530-C531,C538-C539", "8000-8700, 8720-8790, 8980, 9110", "2021-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_sarcoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_sarcoma.json deleted file mode 100644 index 76b802c21..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cervix_sarcoma.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_cervix_sarcoma", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Cervix Sarcoma", - "title" : "Schema selection for Cervix Sarcoma", - "last_modified" : "2025-09-24T16:29:58.418Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C530, C531, C538, C539", "8710-8714, 8800-8803, 8805, 8810-8814, 8816-8858, 8860-8900, 8902-8910, 8921-8941, 8951-8976, 8981-8990, 8992-9016, 9030-9043, 9045-9105, 9111, 9121-9132, 9135-9138, 9141-9175, 9181-9221, 9230, 9240-9365, 9370-9580, 9582", "2021-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_chronic_lymphocytic_leukemia_small_lymphocytic_lymphoma_cll_sll.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_chronic_lymphocytic_leukemia_small_lymphocytic_lymphoma_cll_sll.json deleted file mode 100644 index 7bb57b927..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_chronic_lymphocytic_leukemia_small_lymphocytic_lymphoma_cll_sll.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_chronic_lymphocytic_leukemia_small_lymphocytic_lymphoma_cll_sll", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Chronic Lymphocytic Leukemia/Small Lymphocytic Lymphoma (CLL/SLL)", - "title" : "Schema selection for Chronic Lymphocytic Leukemia/Small Lymphocytic Lymphoma (CLL/SLL)", - "last_modified" : "2025-09-25T14:47:05.781Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C440, C442-C689, C691-C694, C698-C699, C739-C750, C754-C809", "9823", "*", "MATCH" ], [ "C700-C729, C751-C753", "9823", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other.json deleted file mode 100644 index d8c63834c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_cns_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection CNSOther", - "title" : "Schema selection for CNSOther", - "last_modified" : "2025-07-07T18:59:50.304Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C701, C709, C720-C721, C728-C729", "8000-8700, 8720-8790, 8802, 8810, 8815, 8850, 8890, 8900, 9064, 9070-9071, 9080, 9084-9085, 9100-9105, 9120, 9133, 9140, 9180, 9220, 9362, 9364, 9380-9540, 9680, 9699, 9702-9715, 9751-9759", "*", "2018-2022", "MATCH" ], [ "C722, C724-C725", "8000-8700, 8720-8790, 8900, 9064, 9070-9071, 9080, 9084-9085, 9100, 9120, 9140, 9220, 9362, 9380-9539, 9680, 9699, 9702-9715, 9751-9759", "*", "2018-2022", "MATCH" ], [ "C723", "8000-8700, 8720-8790, 9064, 9070, 9080, 9084-9085, 9100, 9140, 9180, 9362, 9380-9420, 9423-9472, 9474-9493, 9501-9521, 9523, 9531-9539, 9680, 9699, 9702-9715, 9751-9759", "*", "2018-2022", "MATCH" ], [ "C701, C709, C720-C721, C728-C729", "8710-8714, 8800-8801, 8803-8806, 8811-8814, 8816-8818, 8820-8842, 8851-8881, 8891-8898, 8901-9063, 9065, 9072-9073, 9081-9083, 9086-9091, 9110-9111, 9121-9132, 9135-9138, 9141-9175, 9181-9213, 9221-9361, 9363, 9365-9373, 9541-9582, 9590-9679, 9687-9698, 9700-9701, 9716-9742, 9749, 9761-9993", "0,1", "2018-2022", "MATCH" ], [ "C722, C724-C725", "8710-8714, 8800-8898, 8901-9063, 9065, 9072-9073, 9081-9083, 9086-9091, 9101-9111, 9121-9138, 9141-9213, 9221-9361, 9363-9373, 9540-9582, 9590-9679, 9687-9698, 9700-9701, 9716-9742, 9749, 9761-9993", "0, 1", "2018-2022", "MATCH" ], [ "C723", "8710-8714, 8800-9063, 9065, 9071-9073, 9081-9083, 9086-9091, 9101-9138, 9141-9175, 9181-9361, 9363-9373, 9421, 9473, 9500, 9522, 9530, 9540-9582, 9590-9679, 9687-9698, 9700-9701, 9716-9742, 9749, 9761-9993", "0, 1", "2018-2022", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other_v9_2023.json deleted file mode 100644 index 6135cf2c1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cns_other_v9_2023.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_cns_other_v9_2023", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection CNS Other [V9: 2023+]", - "title" : "Schema selection for CNS Other [V9: 2023+]", - "last_modified" : "2025-07-07T19:00:28.780Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C701, C709, C720-C721, C728-C729", "8000-8803,8810-8858,8860-8900,8902-8905,8921,8932-8934,8940-8990,8992,9000-9016,9030-9043,9045-9221,9230,9240-9361,9363-9365,9370-9460,9480-9500,9505-9507,9509-9580,9582,9671,9680,9690,9699,9702-9715,9719,9749,9751-9759,9766", "*", "2023-9998, 9999,", "MATCH" ], [ "C722, C724-C725", "8000-8710,8712-8790,8803,8812-8814,8816-8824,8826-8831,8834-8836,8841-8842,8851,8853,8855-8857,8860-8881,8891-8898,8900,8902-8905,8921,8932-8934,8940-8990,8992,9000-9016,9030,9042,9045-9132,9135,9137-9175,9181-9221,9230,9240-9250,9252-9361,9363,9365,9370-9460,9480-9500,9505-9507,9509-9539,9541,9550,9560,9562-9571,9582,9671,9680,9690,9699,9702-9715,9719,9749,9751-9759,9766", "*", "2023-9998, 9999,", "MATCH" ], [ "C723", "8000-8790,8803,8812-8813,8816-8824,8826-8828,8831,8833-8836,8841-8842,8851,8855-8857,8860-8881,8891-8898,8902-8905,8932-8934,8941-8960,8964-8990,8992,9000-9016,9030,9041-9043,9045-9070,9072-9111,9121-9132,9135-9142,9160-9213,9221,9230,9241-9361,9363,9365,9370-9420,9423-9460,9480-9493,9505-9507,9509-9521,9523,9531-9539,9541-9571,9582,9671,9680,9690,9699,9702-9715,9719,9749,9751-9759,9766", "*", "2023-9998, 9999,", "MATCH" ], [ "C701, C709, C720-C721, C728-C729", "8804-8806, 8859, 8901, 8910-8920, 8930-8931, 8935-8936, 8991, 9020, 9044, 9222, 9231, 9366-9368, 9581, 9590-9663, 9673-9679, 9687-9689, 9691-9698, 9700-9701, 9716-9718, 9724-9742, 9761-9765, 9767-9993", "0,1", "2023-9998, 9999,", "MATCH" ], [ "C722, C724-C725", "8711,8800-8802,8804-8811,8815,8825,8832-8833,8840,8850,8852,8854,8858-8859,8890,8901,8910-8920,8930-8931,8935-8936,8991,9020,9040-9041,9043-9044,9133,9136,9180,9222,9231,9251,9364,9366-9368,9540,9542,9561,9580-9581,9590-9663,9673-9679,9687-9689,9691-9698,9700-9701,9716-9718,9724-9742,9761-9765,9767-9993", "0, 1", "2023-9998, 9999,", "MATCH" ], [ "C723", "8800-8802,8804-8811,8814-8815,8825,8830,8832,8840,8850,8852-8854,8858-8859,8890,8900-8901,8910-8931,8935-8940,8963,8991,9020,9040,9044,9071,9120,9133,9150,9220,9222,9231,9240,9364,9366-9368,9421,9473,9500,9522,9530,9540,9580-9581,9590-9663,9673-9679,9687-9689,9691-9698,9700-9701,9716-9718,9724-9742,9761-9765,9767-9993", "0, 1", "2023-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_colon.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_colon.json deleted file mode 100644 index 5c76d6797..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_colon.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_colon", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Colon", - "title" : "Schema selection for Colon", - "last_modified" : "2025-09-25T14:25:44.800Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C180,C182-C189,C199,C209", "8000-8149, 8154, 8160-8231, 8243-8248, 8250-8682, 8690-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_conjunctiva.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_conjunctiva.json deleted file mode 100644 index 3e338b1e2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_conjunctiva.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_conjunctiva", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Conjunctiva", - "title" : "Schema selection for Conjunctiva", - "last_modified" : "2025-07-07T19:02:42.843Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C690", "8000-8700", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_adenosarcoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_adenosarcoma.json deleted file mode 100644 index fea468149..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_adenosarcoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_corpus_adenosarcoma", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection CorpusAdenosarcoma", - "title" : "Schema selection for CorpusAdenosarcoma", - "last_modified" : "2025-09-24T16:30:01.671Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C540-C543,C548-C549,C559", "8933", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_carcinoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_carcinoma.json deleted file mode 100644 index cd7b5d06b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_carcinoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_corpus_carcinoma", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection CorpusCarcinoma", - "title" : "Schema selection for CorpusCarcinoma", - "last_modified" : "2025-09-24T16:30:05.173Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C540-C543,C548-C549,C559", "8000-8700, 8720-8790, 8950, 8980, 9111", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_sarcoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_sarcoma.json deleted file mode 100644 index 1a7ed72ab..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_corpus_sarcoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_corpus_sarcoma", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection CorpusSarcoma", - "title" : "Schema selection for CorpusSarcoma", - "last_modified" : "2025-09-24T16:30:09.230Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C540-C543,C548-C549, C559", "8710-8714, 8800-8932, 8934-8941, 8951-8976, 8981-9110, 9120-9138, 9141-9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cutaneous_squamous_cell_carcinoma_head_and_neck.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cutaneous_squamous_cell_carcinoma_head_and_neck.json deleted file mode 100644 index 091bbf73f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cutaneous_squamous_cell_carcinoma_head_and_neck.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_cutaneous_squamous_cell_carcinoma_head_and_neck", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Cutaneous Squamous Cell Carcinoma Head and Neck", - "title" : "Schema selection for Cutaneous Squamous Cell Carcinoma Head and Neck", - "last_modified" : "2025-09-25T14:04:32.629Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C002,C006,C440,C442-C444", "8000-8040, 8042-8180, 8191-8246, 8248-8700, 8940,8982", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cystic_duct.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cystic_duct.json deleted file mode 100644 index b97471c47..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_cystic_duct.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_cystic_duct", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection CysticDuct", - "title" : "Schema selection for CysticDuct", - "last_modified" : "2025-07-07T19:07:08.558Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C240", "8000-8700, 8720-8790", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_digestive_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_digestive_other.json deleted file mode 100644 index 068203750..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_digestive_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_digestive_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection DigestiveOther", - "title" : "Schema selection for DigestiveOther", - "last_modified" : "2025-07-07T19:08:19.133Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C260,C268-C269", "8000-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_endocrine_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_endocrine_other.json deleted file mode 100644 index 91f816340..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_endocrine_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_endocrine_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection EndocrineOther", - "title" : "Schema selection for EndocrineOther", - "last_modified" : "2025-07-07T19:09:11.273Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C754,C758-C759", "8000-8700, 8720-8790", "MATCH" ], [ "C755", "8000-8671, 8681-8683, 8691, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_gejunction.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_gejunction.json deleted file mode 100644 index a3632933a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_gejunction.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_esophagus_gejunction", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection EsophagusGEJunction", - "title" : "Schema selection for EsophagusGEJunction", - "last_modified" : "2025-07-07T19:10:52.517Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "discriminator_2", - "name" : "Schema Discriminator 2", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C150-C155,C158-C159", "8000-8015, 8021-8046, 8060, 8071-8073, 8075-8076, 8078-8082, 8084-8552, 8561-8700, 8720-8790", "*", "*", "MATCH" ], [ "C160", "8000-8015, 8021-8046, 8060, 8071-8073, 8075-8076, 8078-8082, 8084-8149, 8154, 8160-8231, 8243-8248, 8250-8552, 8561-8682, 8690-8700, 8720-8790,8976", "2", "*", "MATCH" ], [ "C150-C155, C158-C159", "8020", "*", "2", "MATCH" ], [ "C160", "8020", "2", "2", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_including_ge_junction_squamous.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_including_ge_junction_squamous.json deleted file mode 100644 index a97de7f71..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_esophagus_including_ge_junction_squamous.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_esophagus_including_ge_junction_squamous", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Esophagus (including GE junction) Squamous", - "title" : "Schema selection for Esophagus (including GE junction) Squamous", - "last_modified" : "2025-07-07T19:11:39.043Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "discriminator_2", - "name" : "Schema Discriminator 2", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C150-C155, C158-C159", "8050-8054, 8070, 8074, 8077, 8083, 8560", "*", "*", "MATCH" ], [ "C160", "8050-8054, 8070, 8074, 8077, 8083, 8560", "2", "*", "MATCH" ], [ "C150-C155, C158-C159", "8020", "*", "1,9", "MATCH" ], [ "C160", "8020", "2", "1,9", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_eye_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_eye_other.json deleted file mode 100644 index cb2f6553e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_eye_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_eye_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection EyeOther", - "title" : "Schema selection for EyeOther", - "last_modified" : "2025-07-07T19:10:00.452Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C691-C694,C696,C698-C699", "8000-8700", "MATCH" ], [ "C691-C692,C695-C696,C698-C699", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_fallopian_tube.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_fallopian_tube.json deleted file mode 100644 index 88fb1d53e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_fallopian_tube.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_fallopian_tube", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Fallopian Tube", - "title" : "Schema selection for Fallopian Tube", - "last_modified" : "2025-09-24T21:11:49.232Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C570", "8000-8700, 8720-8790, 8806, 8810, 8815, 8822, 8825, 8890, 8930-8931,8933,8935-8936,8950,8960,8980,9000,9050,9052,9060,9070-9071,9073,9080,9085,9090-9091,9100,9110-9111", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_floor_mouth.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_floor_mouth.json deleted file mode 100644 index fa56d1b45..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_floor_mouth.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_floor_mouth", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection FloorMouth", - "title" : "Schema selection for FloorMouth", - "last_modified" : "2025-09-25T14:06:46.815Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C040-C041,C048-C049", "8000-8700,8982", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gallbladder.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gallbladder.json deleted file mode 100644 index 1a2bbf216..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gallbladder.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gallbladder", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Gallbladder", - "title" : "Schema selection for Gallbladder", - "last_modified" : "2025-07-07T19:15:02.635Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C239", "8000-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_female_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_female_other.json deleted file mode 100644 index 85dfe4a09..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_female_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_genital_female_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection GenitalFemaleOther", - "title" : "Schema selection for GenitalFemaleOther", - "last_modified" : "2025-07-07T19:16:15.371Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C577-C579", "8000-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_male_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_male_other.json deleted file mode 100644 index 5069cb480..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_genital_male_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_genital_male_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection GenitalMaleOther", - "title" : "Schema selection for GenitalMaleOther", - "last_modified" : "2025-07-07T19:16:56.440Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C630-C631,C637-C639", "8000-8700, 8720-8790", "MATCH" ], [ "C632", "8000-8040, 8042-8180, 8191-8246, 8248-8700", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gist_appendix.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gist_appendix.json deleted file mode 100644 index a8329efca..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gist_appendix.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_gist_appendix", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection GISTAppendix", - "title" : "Schema selection for GISTAppendix", - "last_modified" : "2025-07-07T19:17:47.512Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C529, C571-C699, C739-C750, C754-C809", "8935-8936", "*", "*", "MATCH" ], [ "C530-C539", "8935-8936", "*", "2018-2020", "MATCH" ], [ "C700-C729, C751-C753", "8935-8936", "3", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gum_lower.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gum_lower.json deleted file mode 100644 index 0514a36d5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_gum_lower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_gum_lower", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection GumLower", - "title" : "Schema selection for GumLower", - "last_modified" : "2025-09-25T14:06:52.153Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C030, C031, C039,C062", "8000-8700,8982", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_heart_mediastinum.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_heart_mediastinum.json deleted file mode 100644 index 761d30e8b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_heart_mediastinum.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_heart_mediastinum", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection HeartMediastinum", - "title" : "Schema selection for HeartMediastinum", - "last_modified" : "2025-09-24T16:19:49.703Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_2", - "name" : "Schema Discriminator 2", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C151-C152,C154-C155,C159,C170-C220,C239-C249,C260-C269, C339, C600-C619,C630-C689", "8710-8714,8800-8803,8810-8921,8932-8934,8940-8990,9000-9016,9030-9043,9045-9138,9141-9230,9240-9580,9582", "*", "*", "MATCH" ], [ "C160-C169", "8710-8714,8800-8803,8810-8921,8932-8934,8940-8975,8980-8990,9000-9016,9030-9043,9045-9138,9141-9230,9240-9580,9582", "*", "*", "MATCH" ], [ "C221", "8710-8714,8800-8803,8810-8921,8932-8934,8940-8976,8981-8990,9000-9016,9030-9043,9045-9138,9141-9230,9240-9580,9582", "*", "*", "MATCH" ], [ "C250-C259", "8710-8714,8800-8803,8810-8921,8932-8934,8940-8970,8972-8990,9000-9016,9030-9043,9045-9138,9141-9230,9240-9580,9582", "*", "*", "MATCH" ], [ "C340-C349", "8710-8714,8800-8803,8810-8921,8932-8934,8940-8971,8973-8976,8981, 8983-8990,9000-9016,9030-9043,9045,9054-9138,9141-9230,9240-9580,9582", "*", "*", "MATCH" ], [ "C340-C349", "8982", "*", "2018-2024", "MATCH" ], [ "C379", "8710-8714, 8800-8803, 8810-8921, 8932-8934, 8940-8976, 8981-8990, 9000-9016, 9030-9043, 9045-9138, 9141-9230, 9240-9580, 9582", "*", "*", "MATCH" ], [ "C379", "8980", "*", "2018-2024", "MATCH" ], [ "C473, C475, C493-C495", "8000-8803, 8810-8921, 8932-8934, 8940-8990, 9000-9016, 9030-9043, 9045-9138, 9141-9230, 9240-9580, 9582", "8", "2018-2020, 9999,", "MATCH" ], [ "C473, C475,C493-C495", "8000-8803,8810-8921,8932-8934,8940-8990,9000-9016,9030-9043,9045-9138,9141-9230,9240-9580,9582", "2", "*", "MATCH" ], [ "C510-C519", "8710-8714,8800-8803,8810-8921,8932-8934,8940-8981, 8983-8990,9000-9016,9030-9043,9045-9063, 9065-9070,9072-9138,9141-9230,9240-9580,9582", "*", "*", "MATCH" ], [ "C510-C519", "8982, 9064", "*", "2018-2023", "MATCH" ], [ "C529", "8710-8714,8800-8803,8810-8921,8932,8934,8940-8976,8981-8990,9000-9016,9030-9043,9045-9070,9072-9105,9111, 9120-9138,9141-9230,9240-9580,9582", "*", "*", "MATCH" ], [ "C530-C539", "8710-8714,8800-8803,8810-8921,8932,8934,8940-8941,8951-8976,8981-8990,9000-9016,9030-9043,9045-9105,9111, 9120-9138,9141-9230,9240-9580,9582", "*", "2018-2020", "MATCH" ], [ "C530-C539", "8950", "*", "*", "MATCH" ], [ "C589", "8710-8714,8800-8803,8810-8921,8932-8934,8940-8990,9000-9016,9030-9043,9045-9091,9110-9138,9141-9230,9240-9580,9582", "*", "*", "MATCH" ], [ "C620-C629", "8710-8714,8800-8803,8810-8921,8932-8934,8940-8990,9000-9016,9030-9043,9045-9060,9062-9063,9072-9073,9082-9083,9086-9091,9102-9103,9110-9138,9141-9230,9240-9580,9582", "*", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_heme_retic.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_heme_retic.json deleted file mode 100644 index a74ce4b64..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_heme_retic.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "schema_selection_heme_retic", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection HemeRetic", - "title" : "Schema selection for HemeRetic", - "last_modified" : "2025-09-26T16:07:27.133Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C440, C442-C689, C691-C694, C698-C699, C739-C749, C750, C754-C759, C760-C809", "9591", "*", "1,2", "*", "MATCH" ], [ "C700-C729, C751-C753", "9591", "3", "1,2", "*", "MATCH" ], [ "C000-C699, C739-C750, C754-C809", "9724, 9727, 9740-9742, 9749, 9762-9809, 9811-9820, 9831-9920, 9931-9993", "*", "*", "*", "MATCH" ], [ "C700-C729, C751-C753", "9724, 9727, 9740-9742, 9762-9765, 9767-9809, 9811-9820, 9831-9920, 9931-9993", "3", "*", "*", "MATCH" ], [ "C700-C729, C751-C753", "9749, 9766", "3", "*", "2018-2022", "MATCH" ], [ "C000-C699, C739-C750, C754-C809", "9751, 9755-9759", "*", "*", "*", "MATCH" ], [ "C000-C440, C442-C689, C691-C694, C698-C699, C739-C750, C754-C809", "9930", "*", "*", "*", "MATCH" ], [ "C700-C729, C751-C753", "9930", "3", "*", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_hypopharynx.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_hypopharynx.json deleted file mode 100644 index 05dd89660..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_hypopharynx.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_hypopharynx", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Hypopharynx", - "title" : "Schema selection for Hypopharynx", - "last_modified" : "2025-09-25T14:06:24.568Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C129,C130-C132,C138-C139", "8000-8700", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ill_defined_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ill_defined_other.json deleted file mode 100644 index f0c0b1320..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ill_defined_other.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_ill_defined_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection IllDefinedOther", - "title" : "Schema selection for IllDefinedOther", - "last_modified" : "2024-04-18T19:23:32.755Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C420-C424,C761-C765,C767-C768,C770-C775,C778-C779", "8000-8700,8720-8790", "*", "MATCH" ], [ "C760", "8000-8005,8011-8045,8050,8053-8060,8075-8081,8085-8120,8122-8131,8141-8146,8148-8191,8201-8300,8311-8420,8440-8444,8451-8474,8481-8524,8530-8543,8551-8561,8563,8570-8700,8720-8790", "*", "MATCH" ], [ "C760", "8010,8046,8051-8052,8070-8074,8082-8084,8121,8140,8147,8200,8310,8430,8450,8480,8525,8550,8562", "0,1", "MATCH" ], [ "C809", "8000-8180, 8191-8246, 8248-8700, 8720-8790", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland.json deleted file mode 100644 index 696b1d20d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_intracranial_gland", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection IntracranialGland", - "title" : "Schema selection for IntracranialGland", - "last_modified" : "2025-07-07T19:23:50.320Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C751, C752, C753", "8000-8700, 8720-8790, 8900, 9064, 9070-9071, 9080, 9084-9085, 9100, 9120, 9140, 9220, 9362, 9380-9539, 9680, 9699, 9702-9715, 9751-9759", "*", "2018-2022", "MATCH" ], [ "C751, C752, C753", "8710-8714, 8800-8898, 8901-9063, 9065, 9072-9073, 9081-9083, 9086-9091, 9101-9111, 9121-9138, 9141-9213, 9221-9361, 9363-9373, 9540-9582, 9590-9679, 9687-9698, 9700-9701, 9716-9742, 9749, 9761-9993", "0, 1", "2018-2022", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland_v9_2023.json deleted file mode 100644 index c256bfca4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_intracranial_gland_v9_2023.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_intracranial_gland_v9_2023", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Intracranial Gland [V9: 2023+]", - "title" : "Schema selection for Intracranial Gland [V9: 2023+]", - "last_modified" : "2025-07-07T19:24:23.374Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C751, C752, C753", "8000-8710,8712-8790,8803,8812-8814,8816-8824,8826-8831,8834-8836,8841-8842,8851,8853,8855-8857,8860-8881,8891-8898,8900,8902-8905,8921,8932-8934,8940-8990,8992,9000-9016,9030,9042,9045-9132,9135,9137-9175,9181-9221,9230,9240-9250,9252-9361,9363,9365,9370-9539,9541,9550,9560,9562-9571,9582,9671,9680,9690,9699,9702-9715,9719,9749,9751-9759,9766", "*", "2023-9998, 9999,", "MATCH" ], [ "C751, C752", "9362", "*", "2023-9998, 9999,", "MATCH" ], [ "C751, C752, C753", "8711, 8800-8802, 8804-8811, 8815, 8825, 8832-8833, 8840, 8850, 8852, 8854, 8858-8859, 8890, 8901, 8910-8920, 8930-8931, 8935-8936,8991, 9020, 9040-9041, 9043-9044, 9133, 9136, 9180, 9222, 9231, 9251, 9364, 9366-9368, 9540, 9542, 9561, 9580-9581, 9590-9663, 9673-9679, 9687-9689, 9691-9698,9700-9701, 9716-9718, 9724-9742, 9761-9765, 9767-9993", "0, 1, 2", "2023-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kaposi_sarcoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kaposi_sarcoma.json deleted file mode 100644 index 19bf6eb1e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kaposi_sarcoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_kaposi_sarcoma", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection KaposiSarcoma", - "title" : "Schema selection for KaposiSarcoma", - "last_modified" : "2025-07-07T19:25:47.938Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C699,C739-C750,C754-C809", "9140", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_parenchyma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_parenchyma.json deleted file mode 100644 index b325f547d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_parenchyma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_kidney_parenchyma", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection KidneyParenchyma", - "title" : "Schema selection for KidneyParenchyma", - "last_modified" : "2025-09-25T14:30:15.343Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C649", "8000-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_renal_pelvis.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_renal_pelvis.json deleted file mode 100644 index 4b12fd6dd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_kidney_renal_pelvis.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_kidney_renal_pelvis", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection KidneyRenalPelvis", - "title" : "Schema selection for KidneyRenalPelvis", - "last_modified" : "2025-07-07T19:27:03.344Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C659,C669", "8000-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_gland.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_gland.json deleted file mode 100644 index 5382e89c4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_gland.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_lacrimal_gland", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection LacrimalGland", - "title" : "Schema selection for LacrimalGland", - "last_modified" : "2025-09-24T15:56:13.405Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C695", "8000-8700, 8941, 8980, 8982", "1", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_sac.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_sac.json deleted file mode 100644 index 75a26fa7c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lacrimal_sac.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_lacrimal_sac", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection LacrimalSac", - "title" : "Schema selection for LacrimalSac", - "last_modified" : "2025-07-07T19:29:05.462Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C695", "8000-8700, 8941, 8980, 8982", "2, 9", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_glottic.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_glottic.json deleted file mode 100644 index 5d4d67502..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_glottic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_larynx_glottic", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection LarynxGlottic", - "title" : "Schema selection for LarynxGlottic", - "last_modified" : "2025-09-25T14:06:28.379Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C320", "8000-8700", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_other.json deleted file mode 100644 index d150e969b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_larynx_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection LarynxOther", - "title" : "Schema selection for LarynxOther", - "last_modified" : "2025-09-25T14:06:31.869Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C323,C328-C329", "8000-8700", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_subglottic.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_subglottic.json deleted file mode 100644 index 37a258328..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_subglottic.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_larynx_subglottic", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection LarynxSubglottic", - "title" : "Schema selection for LarynxSubglottic", - "last_modified" : "2025-09-25T14:06:35.892Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C322", "8000-8700", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_supraglottic.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_supraglottic.json deleted file mode 100644 index 36f815a92..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_larynx_supraglottic.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_larynx_supraglottic", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection LarynxSupraglottic", - "title" : "Schema selection for LarynxSupraglottic", - "last_modified" : "2025-09-26T19:33:45.012Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C321", "8000-8700", "*", "MATCH" ], [ "C101", "8000-8700", "2018-2025", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lip_lower.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lip_lower.json deleted file mode 100644 index ffc51291f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lip_lower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_lip_lower", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection LipLower", - "title" : "Schema selection for LipLower", - "last_modified" : "2025-09-25T14:06:42.826Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C003-C005, C008, C009", "8000-8040, 8042-8180, 8191-8246, 8248-8700, 8982", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_liver.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_liver.json deleted file mode 100644 index 5e3b49187..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_liver.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_liver", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Liver", - "title" : "Schema selection for Liver", - "last_modified" : "2025-09-24T15:41:55.194Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C220", "8000-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lung.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lung.json deleted file mode 100644 index a8761428e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lung.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_lung", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Lung", - "title" : "Schema selection for Lung", - "last_modified" : "2025-09-25T14:49:38.187Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C340-C343,C348-C349", "8000-8700, 8720-8790, 8972,8980", "2018-2024", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lung_v9_2025.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lung_v9_2025.json deleted file mode 100644 index 60771901d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lung_v9_2025.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_lung_v9_2025", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Lung [V9: 2025+]", - "title" : "Schema selection for Lung [V9: 2025+]", - "last_modified" : "2025-09-26T20:22:06.166Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C340-C343,C348-C349", "8000-8700, 8720-8790, 8972,8980, 8982", "2025-9998, 9999, ", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma.json deleted file mode 100644 index 5ecb852ef..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "schema_selection_lymphoma", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Lymphoma", - "title" : "Schema selection for Lymphoma", - "last_modified" : "2025-09-26T16:03:38.689Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C424,C470-C509,C511-C608,C619-C631,C637-C689, C691-C694, C698-C699, C739-C749, C760-C809", "9590,9596-9663,9673-9699,9702-9719,9725-9726,9735,9737-9738", "*", "*", "*", "MATCH" ], [ "C440, C442-C449, C510, C609, C632", "9590,9596,9650-9663,9673-9679,9687-9699, 9702-9705,9714-9717,9725, 9735, 9737-9738", "*", "*", "*", "MATCH" ], [ "C700-C729, C751-C753", "9590,9596-9663,9673-9679,9687-9689, 9691-9698,9716-9718,9725-9726,9735,9737-9738", "3", "*", "*", "MATCH" ], [ "C700-C729, C751-C753", "9690, 9719", "3", "*", "2018-2022", "MATCH" ], [ "C750, C754-C759", "9590, 9596-9663, 9673-9699, 9702-9719, 9725-9726, 9735, 9737-9738", "*", "*", "*", "MATCH" ], [ "C000-C440, C442-C689, C691-C694, C698-C699, C739-C749, C750, C754-C759, C760-C809", "9591", "*", "3,9", "*", "MATCH" ], [ "C700-C729, C751-C753", "9591", "3", "3,9", "*", "MATCH" ], [ "C000-C440, C442-C689, C691-C694, C698-C699, C739-C749, C750, C754-C759, C760-C809", "9826-9827", "*", "*", "*", "MATCH" ], [ "C700-C729, C751-C753", "9826-9827", "3", "*", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma_ocular_adnexa.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma_ocular_adnexa.json deleted file mode 100644 index eebc7d89d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_lymphoma_ocular_adnexa.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_lymphoma_ocular_adnexa", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection LymphomaOcularAdnexa", - "title" : "Schema selection for LymphomaOcularAdnexa", - "last_modified" : "2025-09-26T16:00:27.120Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C441,C690,C695-C696", "9590-9699,9702-9719,9725-9726,9734-9738,9823,9826-9827,9930", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_major_salivary_glands_v9_2026.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_major_salivary_glands_v9_2026.json deleted file mode 100644 index 84c7e8831..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_major_salivary_glands_v9_2026.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_major_salivary_glands_v9_2026", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Major Salivary Glands [V9: 2026+]", - "title" : "Schema selection for Major Salivary Glands [V9: 2026+]", - "last_modified" : "2025-09-25T14:06:16.157Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C079, C080-C081, C088-C089", "8000-8700, 8720-8790, 8941,8974,8980, 8982", "2026-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_medulloblastoma_v9_2023.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_medulloblastoma_v9_2023.json deleted file mode 100644 index e663f8a92..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_medulloblastoma_v9_2023.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_medulloblastoma_v9_2023", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Medulloblastoma [V9: 2023+]", - "title" : "Schema selection for Medulloblastoma [V9: 2023+]", - "last_modified" : "2025-07-07T19:41:58.303Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C700-C729", "9362,9470-9472, 9474-9478,9501-9504,9508", "2023-9998, 9999,", "MATCH" ], [ "C700-C722, C724-C729", "9473", "2023-9998, 9999,", "MATCH" ], [ "C753", "9362", "2023-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_buccal_mucosa.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_buccal_mucosa.json deleted file mode 100644 index 4352e9233..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_buccal_mucosa.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_buccal_mucosa", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection MelanomaBuccalMucosa", - "title" : "Schema selection for MelanomaBuccalMucosa", - "last_modified" : "2025-09-25T14:11:38.166Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C003-C005, C008-C009, C019, C020-C024, C028-C029, C030-C031, C039, C040-C041, C048-C049, C050-C052, C058-C059, C060-C062, C068-C069, C090-C091, C098-C099, C100-C104, C108-C109, C110-C113, C118-C119, C129, C130-C132, C138-C139, C140, C142, C148, C300-C313, C318-C319, C320-C323, C328-C329", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_ciliary_body.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_ciliary_body.json deleted file mode 100644 index ca4056820..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_ciliary_body.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_melanoma_ciliary_body", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection MelanomaCiliaryBody", - "title" : "Schema selection for MelanomaCiliaryBody", - "last_modified" : "2025-09-24T14:54:59.865Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C693", "8720-8790", "*", "MATCH" ], [ "C694", "8720-8790", "1", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_conjunctiva.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_conjunctiva.json deleted file mode 100644 index a96b794ad..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_conjunctiva.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_conjunctiva", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection MelanomaConjunctiva", - "title" : "Schema selection for MelanomaConjunctiva", - "last_modified" : "2025-07-07T19:43:58.163Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C690", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_iris.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_iris.json deleted file mode 100644 index f54e0c9ea..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_iris.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_melanoma_iris", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection MelanomaIris", - "title" : "Schema selection for MelanomaIris", - "last_modified" : "2025-09-15T17:59:38.408Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C694", "8720-8790", "2", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_skin.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_skin.json deleted file mode 100644 index 46121b0b4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_melanoma_skin.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_melanoma_skin", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection MelanomaSkin", - "title" : "Schema selection for MelanomaSkin", - "last_modified" : "2025-09-25T14:54:50.197Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C002,C006,C440-C449,C500,C510-C512,C518-C519,C600-C602,C608-C609,C632", "8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_merkel_cell_skin.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_merkel_cell_skin.json deleted file mode 100644 index 24924ec02..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_merkel_cell_skin.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_merkel_cell_skin", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection MerkelCellSkin", - "title" : "Schema selection for MerkelCellSkin", - "last_modified" : "2025-09-25T14:35:47.309Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C006, C008-C009,C440-C449,C600-C602, C608-C609, C632", "8041,8190,8247", "*", "MATCH" ], [ "C510-C512,C518-C519", "8190,8247", "*", "MATCH" ], [ "C510-C512,C518-C519", "8041", "2018-2023", "MATCH" ], [ "C809", "8190,8247", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_middle_ear.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_middle_ear.json deleted file mode 100644 index 040f52ae8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_middle_ear.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_middle_ear", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection MiddleEar", - "title" : "Schema selection for MiddleEar", - "last_modified" : "2025-07-07T19:47:36.693Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C301", "8000-8700", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_mouth_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_mouth_other.json deleted file mode 100644 index c062b4cf8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_mouth_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_mouth_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection MouthOther", - "title" : "Schema selection for MouthOther", - "last_modified" : "2025-09-25T14:06:20.371Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C058-C059,C068-C069", "8000-8700,8982", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_mycosis_fungoides.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_mycosis_fungoides.json deleted file mode 100644 index fc6b4fbd2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_mycosis_fungoides.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_mycosis_fungoides", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection MycosisFungoides", - "title" : "Schema selection for MycosisFungoides", - "last_modified" : "2025-07-07T19:49:21.599Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C699,C739-C750,C754-C809", "9700-9701", "*", "MATCH" ], [ "C700-C729,C751-C753", "9700-9701", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_myeloma_plasma_cell_disorder.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_myeloma_plasma_cell_disorder.json deleted file mode 100644 index 3c1404ea6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_myeloma_plasma_cell_disorder.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_myeloma_plasma_cell_disorder", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection MyelomaPlasmaCellDisorder", - "title" : "Schema selection for MyelomaPlasmaCellDisorder", - "last_modified" : "2025-09-24T14:28:24.149Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C699, C739-C750, C754-C809", "9732", "*", "MATCH" ], [ "C700-C729, C751-C753", "9732", "3", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasal_cavity.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasal_cavity.json deleted file mode 100644 index 6eb8e1287..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasal_cavity.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_nasal_cavity", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection NasalCavity", - "title" : "Schema selection for NasalCavity", - "last_modified" : "2025-09-25T14:04:35.912Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C300,C311", "8000-8700,8941,8982", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx.json deleted file mode 100644 index a717be84b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_nasopharynx", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Nasopharynx", - "title" : "Schema selection for Nasopharynx", - "last_modified" : "2025-09-25T14:05:18.742Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C110,C112-C113,C118-C119", "8000-8700", "*", "2018-2024", "MATCH" ], [ "C111", "8000-8700", "1", "2018-2024", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx_v9_2025.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx_v9_2025.json deleted file mode 100644 index b75597e58..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_nasopharynx_v9_2025.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_nasopharynx_v9_2025", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Nasopharynx [V9: 2025+]", - "title" : "Schema selection for Nasopharynx [V9: 2025+]", - "last_modified" : "2025-09-25T14:04:44.161Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C110-C113,C118-C119", "8000-8700", "2025-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_adrenal_gland.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_adrenal_gland.json deleted file mode 100644 index 9108327c5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_adrenal_gland.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_net_adrenal_gland", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection NET Adrenal Gland", - "title" : "Schema selection for NET Adrenal Gland", - "last_modified" : "2025-07-07T20:03:13.137Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C740,C741,C749,C755", "8680,8690,8692-8693,8700", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla.json deleted file mode 100644 index bf54c502e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_net_ampulla", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection NETAmpulla", - "title" : "Schema selection for NETAmpulla", - "last_modified" : "2025-07-07T20:03:25.866Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C241", "8150-8153,8155-8156,8158,8240-8242,8249,8683", "2018-2023", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla_of_vater_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla_of_vater_v9_2024.json deleted file mode 100644 index a059635b6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_ampulla_of_vater_v9_2024.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_net_ampulla_of_vater_v9_2024", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection NET Ampulla of Vater [V9: 2024+]", - "title" : "Schema selection for NET Ampulla of Vater [V9: 2024+]", - "last_modified" : "2025-07-07T20:03:36.676Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C241", "8150-8153,8155-8156,8158,8240-8242,8249,8683", "2024-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_appendix_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_appendix_v9_2024.json deleted file mode 100644 index 6d6c46c21..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_appendix_v9_2024.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_net_appendix_v9_2024", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection NET Appendix [V9: 2024+]", - "title" : "Schema selection for NET Appendix [V9: 2024+]", - "last_modified" : "2025-07-07T20:04:02.040Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C181", "8150-8153,8155-8156,8158,8240-8242,8249,8683", "2024-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon.json deleted file mode 100644 index d0822eb63..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_net_colon", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection NETColon", - "title" : "Schema selection for NETColon", - "last_modified" : "2025-07-07T20:04:13.068Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C180,C182-C189, C199, C209", "8150-8153,8155-8156,8158,8240-8242,8249,8683", "2018-2023", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon_and_rectum_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon_and_rectum_v9_2024.json deleted file mode 100644 index 965d81801..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_colon_and_rectum_v9_2024.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_net_colon_and_rectum_v9_2024", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection NET Colon and Rectum [V9: 2024+]", - "title" : "Schema selection for NET Colon and Rectum [V9: 2024+]", - "last_modified" : "2025-07-07T20:04:24.174Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C180,C182-C189, C199, C209", "8150-8153,8155-8156,8158,8240-8242,8249,8683", "2024-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum.json deleted file mode 100644 index 7d999d6b0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_net_duodenum", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection NET Duodenum", - "title" : "Schema selection for NET Duodenum", - "last_modified" : "2025-07-07T20:04:35.387Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C170", "8150-8153,8155-8156,8158,8240-8242,8249,8683", "2018-2023", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum_v9_2024.json deleted file mode 100644 index 565061e34..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_duodenum_v9_2024.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_net_duodenum_v9_2024", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection NET Duodenum [V9: 2024+]", - "title" : "Schema selection for NET Duodenum [V9: 2024+]", - "last_modified" : "2025-07-07T20:04:47.448Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C170", "8150-8153,8155-8156,8158,8240-8242,8249,8683", "2024-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_jejunum_and_ileum_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_jejunum_and_ileum_v9_2024.json deleted file mode 100644 index 9884f3a9e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_jejunum_and_ileum_v9_2024.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_net_jejunum_and_ileum_v9_2024", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection NET Jejunum and Ileum [V9: 2024+]", - "title" : "Schema selection for NET Jejunum and Ileum [V9: 2024+]", - "last_modified" : "2025-07-07T20:05:12.923Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C171-C173,C178-C179", "8150-8153,8155-8156,8158,8240-8242,8249,8683", "2024-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas.json deleted file mode 100644 index 285f700fe..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_net_pancreas", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection NET Pancreas", - "title" : "Schema selection for NET Pancreas", - "last_modified" : "2025-07-07T20:05:25.605Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C250-C254, C257-C259", "8150-8153,8155-8156,8158,8240-8242,8249,8683", "2018-2023", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas_v9_2024.json deleted file mode 100644 index e08dfb9bd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_pancreas_v9_2024.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_net_pancreas_v9_2024", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection NET Pancreas [V9: 2024+]", - "title" : "Schema selection for NET Pancreas [V9: 2024+]", - "last_modified" : "2025-07-07T20:05:38.670Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C250-C254, C257-C259", "8150-8153,8155-8156,8158,8240-8242,8249,8272, 8683", "2024-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_small_intestine.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_small_intestine.json deleted file mode 100644 index ba2217e7c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_small_intestine.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_net_small_intestine", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection NETSmallIntestine", - "title" : "Schema selection for NETSmallIntestine", - "last_modified" : "2025-07-07T20:04:59.701Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C171-C173,C178-C179", "8150-8153,8155-8156,8158,8240-8242,8249,8683", "2018-2023", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach.json deleted file mode 100644 index b68762e6d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_net_stomach", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection NETStomach", - "title" : "Schema selection for NETStomach", - "last_modified" : "2025-07-07T20:05:49.398Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C160-C166,C168-C169", "8150-8153,8155-8156,8158,8240-8242,8249,8683", "2018-2023", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach_v9_2024.json deleted file mode 100644 index adca29e53..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_net_stomach_v9_2024.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_net_stomach_v9_2024", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection NET Stomach [V9: 2024+]", - "title" : "Schema selection for NET Stomach [V9: 2024+]", - "last_modified" : "2025-07-07T20:06:00.256Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C160-C166,C168-C169", "8150-8153,8155-8156,8158,8240-8242,8249,8683", "2024-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_orbit.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_orbit.json deleted file mode 100644 index ce1bd3676..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_orbit.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_orbit", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Orbit", - "title" : "Schema selection for Orbit", - "last_modified" : "2025-07-07T20:14:37.720Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C690-C694,C696,C698-C699", "8710-8714, 8800-8858, 8860-8921, 8932-8934, 8940-8990, 9000-9016, 9030-9138, 9141-9175, 9181-9221, 9230, 9240-9365, 9370-9509, 9520-9582", "*", "*", "MATCH" ], [ "C695", "8710-8714, 8800-8858, 8860-8921, 8932-8934, 8940, 8950-8976, 8981, 8983-8990, 9000-9016, 9030-9138, 9141-9175, 9181-9221, 9230, 9240-9365, 9370-9509, 9520-9582", "*", "*", "MATCH" ], [ "C723", "8800-8802,8804-8806,8810-8811,8814-8815,8825,8830,8832,8840,8850,8852-8854,8858,8890,8900-8901,8910,8912,8920-8921,8940,8963,9040,9044,9071,9120,9133,9150,9220,9240,9364,9421,9473,9500,9522,9530,9540,9580-9581", "3", "*", "MATCH" ], [ "C723", "8710-8714,8803,8812-8813,8816-8818,8820-8824,8826-8828,8831,8833-8836,8841-8842,8851,8855-8857,8860-8881,8891-8898,8902-8905,8932-8934,8941-8960,8964-8976,8980-8981,8982-8990,9000-9016,9030,9041-9043,9045-9063,9065,9072-9073,9081-9083,9086-9091,9101-9111,9121-9132,9135-9138,9141-9142,9160-9175,9181-9213,9221,9230,9241-9361,9363,9365,9370-9373,9541-9571,9582", "3", "2018-2022", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx.json deleted file mode 100644 index a02fa9416..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "schema_selection_oropharynx", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Oropharynx", - "title" : "Schema selection for Oropharynx", - "last_modified" : "2025-09-25T14:05:41.212Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "discriminator_2", - "name" : "Schema Discriminator 2", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C019, C024, C051-C052, C090-C091, C098-C099, C100, C102-C104, C108-C109", "8000-8700", "*", "2", "2018-2025", "MATCH" ], [ "C111", "8000-8700", "2", "2", "2018-2024", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx_hpv_associated_v9_2026.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx_hpv_associated_v9_2026.json deleted file mode 100644 index 61b037c84..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_oropharynx_hpv_associated_v9_2026.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_oropharynx_hpv_associated_v9_2026", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Oropharynx HPV-Associated [V9: 2026+]", - "title" : "Schema selection for Oropharynx HPV-Associated [V9: 2026+]", - "last_modified" : "2025-09-26T19:39:35.059Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_2", - "name" : "Schema Discriminator 2", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C019, C024, C051-C052, C090-C091, C098-C099, C100-C104, C108-C109", "8000-8700", "2", "2026-9998,9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ovary.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ovary.json deleted file mode 100644 index d016c2752..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_ovary.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_ovary", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Ovary", - "title" : "Schema selection for Ovary", - "last_modified" : "2025-09-24T21:11:46.348Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C569", "8000-8700, 8720-8790, 8806, 8810, 8815, 8822, 8825, 8890, 8930-8931,8933,8935-8936,8950,8960,8980,9000,9050,9052,9060,9070-9071,9073,9080,9085,9090-9091,9100,9110-9111", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_palate_hard.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_palate_hard.json deleted file mode 100644 index 015dad5a3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_palate_hard.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_palate_hard", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection PalateHard", - "title" : "Schema selection for PalateHard", - "last_modified" : "2025-09-25T14:05:56.793Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C050", "8000-8700,8982", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pancreas_body_tail.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pancreas_body_tail.json deleted file mode 100644 index 18a8c41c7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pancreas_body_tail.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_pancreas_body_tail", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection PancreasBodyTail", - "title" : "Schema selection for PancreasBodyTail", - "last_modified" : "2025-07-07T20:18:14.105Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C250-C254, C257-C259", "8000-8149, 8154, 8160-8231, 8243-8248, 8250-8271, 8273-8682, 8690-8700, 8720-8790, 8971", "*", "MATCH" ], [ "C250-C254, C257-C259", "8272", "2018-2023", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_parathyroid.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_parathyroid.json deleted file mode 100644 index 16b351806..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_parathyroid.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_parathyroid", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Parathyroid", - "title" : "Schema selection for Parathyroid", - "last_modified" : "2025-07-07T20:19:00.945Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C750", "8000-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_parotid_gland.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_parotid_gland.json deleted file mode 100644 index 6bdb2362d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_parotid_gland.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_parotid_gland", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection ParotidGland", - "title" : "Schema selection for ParotidGland", - "last_modified" : "2025-09-25T14:06:09.844Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C079, C080-C081, C088-C089", "8000-8700, 8720-8790, 8941,8974,8980, 8982", "2018-2025", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_penis.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_penis.json deleted file mode 100644 index cd0ca1e2a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_penis.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_penis", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Penis", - "title" : "Schema selection for Penis", - "last_modified" : "2025-07-07T20:19:32.925Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C600-C602,C608-C609", "8000-8040, 8042-8180, 8191-8246, 8248-8700", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_peritoneum.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_peritoneum.json deleted file mode 100644 index cb282611c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_peritoneum.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id" : "schema_selection_peritoneum", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Peritoneum", - "title" : "Schema selection for Peritoneum", - "last_modified" : "2025-09-24T16:19:54.524Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "discriminator_2", - "name" : "Schema Discriminator 2", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C388,C470-C529,C589-C699, C739,C750, C754-C759", "8992", "*", "*", "*", "*", "MATCH" ], [ "C530-C539", "8992", "*", "*", "*", "2018-2020", "MATCH" ], [ "C722-C725, C751-C753", "8992", "3", "*", "*", "2018-2022", "MATCH" ], [ "C390,C398-C399,C420-C424", "8710-8714,8800-8934,8940-9138,9141-9582", "*", "*", "*", "*", "MATCH" ], [ "C440,C442-C449", "8710-8714,8800-8934,8941-8981,8983-9138,9141-9582", "*", "*", "*", "*", "MATCH" ], [ "C441", "8710-8714,8800-8934,8950-8976,8981-9138,9141-9582", "*", "*", "*", "*", "MATCH" ], [ "C473, C475, C493-C495", "8000-8803,8810-8921,8932-8934,8940-8990,9000-9016,9030-9043,9045-9138,9141-9230,9240-9580,9582", "*", "*", "9", "*", "MATCH" ], [ "C569,C570", "8710-8714,8800-8803,8811-8814,8816-8818,8820-8821,8823-8824,8826-8858,8860-8881,8891-8900,8902-8905,8921,8932,8934,8940-8941,8951-8959,8963-8976,8981-8990,8992,9010-9016,9030-9043,9045,9051,9053-9055,9061-9065,9072,9081-9084,9086,9101-9105,9121-9132,9135-9138,9141-9175,9181-9221,9230,9240-9365,9370-9580,9582", "*", "*", "*", "*", "MATCH" ], [ "C571-C579,C740-C749,C809", "8710-8714,8800-8803,8810-8814,8816-8818,8820-8858,8860-8900,8902-8905,8921,8932-8934,8940-8990,8992,9000-9016,9030-9043,9045-9111,9121-9132,9135-9138,9141-9175,9181-9221,9230,9240-9365,9370-9580,9582", "*", "*", "*", "*", "MATCH" ], [ "C696,C698", "8859,8930-8931,8991,9020,9180,9222,9231,9366-9368", "*", "*", "*", "*", "MATCH" ], [ "C700-C721,C728-C729", "8710-8714, 8800-8801, 8803, 8811-8814, 8816-8818, 8820-8842, 8851-8858, 8860-8881, 8891-8898, 8902-8905, 8921, 8932-8934, 8940-8990, 8992, 9000-9016, 9030-9043, 9045-9063, 9065, 9072-9073, 9081-9083, 9086-9091, 9110-9111, 9121-9132, 9135-9138, 9141-9175, 9181-9213, 9221, 9230, 9240-9361, 9363, 9365, 9370-9373, 9541-9580, 9582", "3", "*", "*", "2018-2022", "MATCH" ], [ "C760", "8710-8714,8800-8934,8940,8950-9138,9141-9582", "*", "*", "*", "*", "MATCH" ], [ "C760", "8941", "*", "0,1", "*", "*", "MATCH" ], [ "C761-C765,C767-C768,C770-C775,C778-C779", "8710-8714,8800-8934,8940-9138,9141-9582", "*", "*", "*", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pharynx_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pharynx_other.json deleted file mode 100644 index 2087a9fac..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pharynx_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_pharynx_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection PharynxOther", - "title" : "Schema selection for PharynxOther", - "last_modified" : "2025-07-07T20:08:10.721Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C140,C142,C148", "8000-8700", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_placenta.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_placenta.json deleted file mode 100644 index 0f7a0c813..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_placenta.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_placenta", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Placenta", - "title" : "Schema selection for Placenta", - "last_modified" : "2025-09-24T16:30:13.014Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C589", "8000-8700, 8720-8790, 9100-9105", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_plasmacytomas.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_plasmacytomas.json deleted file mode 100644 index 2ab27b7f6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_plasmacytomas.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_plasmacytomas", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Plasmacytomas", - "title" : "Schema selection for Plasmacytomas", - "last_modified" : "2025-09-25T13:11:46.151Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C440, C442-C689, C691-C694, C698-C699, C739-C750, C754-C809", "9671,9734", "*", "*", "MATCH" ], [ "C000-C699, C739-C750, C754-C809", "9731, 9761", "*", "*", "MATCH" ], [ "C700-C729, C751-C753", "9731, 9734, 9761", "3", "*", "MATCH" ], [ "C700-C729, C751-C753", "9671", "3", "2018-2022", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pleura.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pleura.json deleted file mode 100644 index a22b5841b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pleura.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_pleura", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Pleura", - "title" : "Schema selection for Pleura", - "last_modified" : "2025-07-07T20:11:17.032Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C340-C349,C384", "9050-9053", "2018-2024", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pleural_mesothelioma_v9_2025.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pleural_mesothelioma_v9_2025.json deleted file mode 100644 index f22ca1344..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_pleural_mesothelioma_v9_2025.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_pleural_mesothelioma_v9_2025", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Pleural Mesothelioma [V9: 2025+]", - "title" : "Schema selection for Pleural Mesothelioma [V9: 2025+]", - "last_modified" : "2025-11-06T16:09:17.073Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C340-C349,C384", "9050-9053", "2025-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_cutaneous_lymphoma_non_mf_ss.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_cutaneous_lymphoma_non_mf_ss.json deleted file mode 100644 index 6778ea950..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_cutaneous_lymphoma_non_mf_ss.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_primary_cutaneous_lymphoma_non_mf_ss", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Primary Cutaneous Lymphoma-non MF/SS", - "title" : "Schema selection for Primary Cutaneous Lymphoma-non MF/SS", - "last_modified" : "2025-09-26T16:02:07.365Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C440,C442-C449, C510, C609, C632", "9597, 9680, 9708-9709, 9712, 9718-9719, 9726", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_peritoneal_carcinoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_peritoneal_carcinoma.json deleted file mode 100644 index 3fefb539e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_primary_peritoneal_carcinoma.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_primary_peritoneal_carcinoma", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Primary Peritoneal Carcinoma", - "title" : "Schema selection for Primary Peritoneal Carcinoma", - "last_modified" : "2025-09-24T21:11:52.898Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "sex_at_birth", - "name" : "Sex Assigned At Birth", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C481, C482, C488", "8000-8700, 8720-8790, 8806, 8822, 8930-8931, 8933, 8950, 8960, 8980, 9000, 9050, 9052, 9060, 9070-9071, 9073, 9080, 9085, 9090-9091, 9100, 9110-9111", "2", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_prostate.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_prostate.json deleted file mode 100644 index d0a25f985..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_prostate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_prostate", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Prostate", - "title" : "Schema selection for Prostate", - "last_modified" : "2025-09-24T21:02:38.637Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C619", "8000-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_respiratory_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_respiratory_other.json deleted file mode 100644 index d64ba077b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_respiratory_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_respiratory_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection RespiratoryOther", - "title" : "Schema selection for RespiratoryOther", - "last_modified" : "2025-07-07T20:21:37.673Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C390,C398-C399", "8000-8700,8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_retinoblastoma.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_retinoblastoma.json deleted file mode 100644 index bfa4cecbc..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_retinoblastoma.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_retinoblastoma", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Retinoblastoma", - "title" : "Schema selection for Retinoblastoma", - "last_modified" : "2025-07-07T20:22:33.196Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C690-C696,C698-C699", "9510-9514", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_retroperitoneum.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_retroperitoneum.json deleted file mode 100644 index 2d155a965..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_retroperitoneum.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_retroperitoneum", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Retroperitoneum", - "title" : "Schema selection for Retroperitoneum", - "last_modified" : "2025-09-24T16:19:47.175Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "sex_at_birth", - "name" : "Sex Assigned At Birth", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C480", "8000-8803,8810-8921,8932-8934,8940-8990,9000-9016,9030-9043,9045-9138,9141-9230,9240-9580,9582", "*", "MATCH" ], [ "C481-C482, C488", "8000-8700, 8720-8790, 8822, 8933, 8950, 8960, 8980, 9000, 9050, 9052, 9060, 9070-9071, 9073, 9080, 9085, 9090-9091, 9100, 9110-9111", "1, 9", "MATCH" ], [ "C481-C482, C488", "8710-8714, 8800-8803, 8810-8821, 8823-8921, 8932, 8934, 8940-8941, 8951-8959, 8963-8976, 8981-8990, 9010-9016, 9030-9043, 9045, 9051, 9053-9055, 9061-9065, 9072, 9081-9084, 9086, 9101-9105, 9120-9138, 9141-9230, 9240-9580, 9582", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_maxillary.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_maxillary.json deleted file mode 100644 index 3dd28f553..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_maxillary.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_sinus_maxillary", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection SinusMaxillary", - "title" : "Schema selection for SinusMaxillary", - "last_modified" : "2025-09-25T14:04:25.435Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C310", "8000-8700,8941,8982", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_other.json deleted file mode 100644 index 97cf673e6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_sinus_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_sinus_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection SinusOther", - "title" : "Schema selection for SinusOther", - "last_modified" : "2025-07-07T20:25:12.866Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C312-C313,C318-C319", "8000-8700", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_eyelid.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_eyelid.json deleted file mode 100644 index 9362ef1fc..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_eyelid.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_skin_eyelid", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection SkinEyelid", - "title" : "Schema selection for SkinEyelid", - "last_modified" : "2025-07-07T20:25:49.687Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C441", "8000-8040, 8042-8180, 8191-8246, 8248-8700,8940-8941,8980", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_other.json deleted file mode 100644 index 7b9e496eb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_skin_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_skin_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Skin Other", - "title" : "Schema selection for Skin Other", - "last_modified" : "2025-07-07T20:27:11.758Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C445-C449", "8000-8040, 8042-8180, 8191-8246, 8248-8700, 8940,8982", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_small_intestine.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_small_intestine.json deleted file mode 100644 index fcbc55bed..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_small_intestine.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_small_intestine", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection SmallIntestine", - "title" : "Schema selection for SmallIntestine", - "last_modified" : "2025-07-07T20:27:47.495Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C170-C173,C178-C179", "8000-8149, 8154, 8160-8231, 8243-8248, 8250-8682, 8690-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_heart_and_mediastinum.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_heart_and_mediastinum.json deleted file mode 100644 index e3763c8a7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_heart_and_mediastinum.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_soft_tissue_heart_and_mediastinum", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Soft Tissue Heart and Mediastinum", - "title" : "Schema selection for Soft Tissue Heart and Mediastinum", - "last_modified" : "2025-09-24T16:19:43.970Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C380-C383,C388", "8000-8803, 8810-8921, 8932-8934,8940-8990, 9000-9016, 9030, 9040-9043, 9045-9138, 9141-9230, 9240-9580, 9582", "MATCH" ], [ "C384", "8000-8803,8810-8921, 8932-8934,8940-8990, 9000-9016, 9030, 9040-9043, 9045,9054-9138, 9141-9230, 9240-9580, 9582", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_rare.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_rare.json deleted file mode 100644 index e3206f6f8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_rare.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "schema_selection_soft_tissue_rare", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Soft Tissue Rare", - "title" : "Schema selection for Soft Tissue Rare", - "last_modified" : "2025-09-24T16:19:57.125Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "sex_at_birth", - "name" : "Sex Assigned At Birth", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C148,C150,C153,C158,C300-C329,C470,C490,C739,C750,C754-C759", "8804-8806,8910,8920,8930-8931,8991,9020,9044,9120,9231,9581", "*", "*", "*", "MATCH" ], [ "C151-C152,C154-C155,C159,C160-C269,C339-C388,C471-C472,C474,C476-C479,C491-C492,C496-C499,C500-C509,C529,C589-C689", "8804-8806,8930-8931,8991,9020,9044,9231,9581", "*", "*", "*", "MATCH" ], [ "C473, C475, C493-C495", "8804-8806,8930-8931,8991,9020,9044,9231,9581", "*", "*", "*", "MATCH" ], [ "C480-C488", "8804-8805,8991,9020,9044,9231,9581", "*", "*", "*", "MATCH" ], [ "C480", "8806, 8930-8931", "*", "*", "*", "MATCH" ], [ "C481-C482, C488", "8806, 8930-8931", "*", "1,9", "*", "MATCH" ], [ "C510-C519", "8804-8806,8930-8931,8991,9044,9231,9581", "*", "*", "*", "MATCH" ], [ "C530-C539", "8804,8806,8991,9020,9044,9231", "*", "*", "*", "MATCH" ], [ "C530-C539", "8930-8931", "*", "*", "2018-2020", "MATCH" ], [ "C530-C539", "8815, 8859, 8901, 8912, 8920, 9120, 9133, 9180, 9222, 9366-9368,9581", "*", "*", "2021-9998, 9999,", "MATCH" ], [ "C569,C570", "8804-8805,8859,8901,8910-8920,8991,9020,9044,9120,9133,9180,9222,9231,9366-9368,9581", "*", "*", "*", "MATCH" ], [ "C571-C579,C740-C749,C809", "8804-8806,8815,8859,8901,8910-8920,8930-8931,8991,9020,9044,9120,9133,9180,9222,9231,9366-9368,9581", "*", "*", "*", "MATCH" ], [ "C690-C695,C699", "8859,8930-8931,8991,9020,9180,9222,9231,9366-9368", "*", "*", "*", "MATCH" ], [ "C700-C721,C728-C729", "8804-8806,8859,8901,8910-8920,8930-8931,8991,9020,9044,9222,9231,9366-9368,9581", "3", "*", "*", "MATCH" ], [ "C722,C724-C725,C751-C753", "8804-8806,8910,8920,8930-8931,8991,9020,9044,9231,9581", "3", "*", "*", "MATCH" ], [ "C723", "8859,8930-8931,8991,9020,9222,9231,9366-9368", "3", "*", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_sarcoma_head_and_neck.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_sarcoma_head_and_neck.json deleted file mode 100644 index 8e65b6f78..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_sarcoma_head_and_neck.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "schema_selection_soft_tissue_sarcoma_head_and_neck", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Soft Tissue Sarcoma Head and Neck", - "title" : "Schema selection for Soft Tissue Sarcoma Head and Neck", - "last_modified" : "2025-09-24T16:19:52.033Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "behavior", - "name" : "Behavior", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C000-C002,C006", "8710-8714,8800-8803,8810-8905,8912,8921,8932-8934,8941-8981,8983-8990,9000-9016,9030-9043,9045-9111,9121-9138,9141-9230,9240-9580,9582", "*", "*", "MATCH" ], [ "C003-C005,C008-C009,C020-C023,C028-C050,C058-C069", "8710-8714,8800-8803,8810-8905,8912,8921,8932-8934,8940-8981,8983-8990,9000-9016,9030-9043,9045-9111,9121-9138,9141-9230,9240-9580,9582", "*", "*", "MATCH" ], [ "C019,C024,C051-C052,C090-C148, C150, C153, C158, C301,C312-C329, C739, C750, C754-C759", "8710-8714,8800-8803,8810-8905,8912,8921,8932-8934,8940-8990,9000-9016,9030-9043,9045-9111,9121-9138,9141-9230,9240-9580,9582", "*", "*", "MATCH" ], [ "C079-C089", "8710-8714,8800-8803,8810-8905,8912,8921,8932-8934,8940,8950-8973,8975-8976,8981,8983-8990,9000-9016,9030-9043,9045-9111,9121-9138,9141-9230,9240-9580,9582", "*", "*", "MATCH" ], [ "C300,C310-C311", "8710-8714,8800-8803,8810-8905,8912,8921,8932-8934,8940,8950-8981,8983-8990,9000-9016,9030-9043,9045-9111,9121-9138,9141-9230,9240-9580,9582", "*", "*", "MATCH" ], [ "C470,C490", "8000-8803,8810-8905,8912,8921,8932-8934,8940-8990,9000-9016,9030-9043,9045-9111,9121-9138,9141-9230,9240-9580,9582", "*", "*", "MATCH" ], [ "C722,C724-C725,C751-C753", "8711,8800-8802,8810-8811,8815,8825,8832-8833,8840,8850,8852,8854,8858-8859,8890,8901,8912,9040-9041,9043,9133,9136,9180,9222,9251,9364,9366-9368,9540,9542,9561,9580", "3", "*", "MATCH" ], [ "C722, C724-C725, C751-C753", "8710, 8712-8714, 8803, 8812-8814, 8816-8824, 8826-8831, 8834-8836, 8841-8842, 8851, 8853, 8855-8857, 8860-8881, 8891-8898, 8902-8905, 8921, 8932-8934, 8940-8990, 9000-9016, 9030, 9042, 9045-9063, 9065, 9072-9073, 9081-9083, 9086-9091, 9101-9111, 9121-9132, 9135, 9137-9138, 9141-9175, 9181-9213, 9221, 9230, 9240-9250, 9252-9361, 9363, 9365, 9370-9373, 9541, 9550, 9560, 9562-9571, 9582", "3", "2018-2022", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_trunk_and_extremities.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_trunk_and_extremities.json deleted file mode 100644 index d00e5b84b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_soft_tissue_trunk_and_extremities.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_soft_tissue_trunk_and_extremities", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Soft Tissue Trunk and Extremities", - "title" : "Schema selection for Soft Tissue Trunk and Extremities", - "last_modified" : "2025-09-24T16:20:00.111Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_2", - "name" : "Schema Discriminator 2", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C471-C472, C476,C478-C479,C491-C492,C496,C498-C499", "8000-8803,8810-8921,8932-8934,8940-8990,9000-9016,9030-9043,9045-9138,9141-9230,9240-9580,9582", "*", "MATCH" ], [ "C473, C475, C493-C495", "8000-8803, 8810-8921, 8932-8934, 8940-8990, 9000-9016, 9030-9043, 9045-9138, 9141-9230, 9240-9580, 9582", "1", "MATCH" ], [ "C474", "8000-8803, 8810-8921, 8932-8934, 8940-8990, 9000-9016, 9030-9043, 9045-9138, 9141-9230, 9240-9580, 9582", "*", "MATCH" ], [ "C500-C506, C508-C509", "8710-8714,8800-8803,8810-8921,8932-8934,8940-8981,8990,9000-9016,9030-9043,9045-9138,9141-9230,9240-9580,9582", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_stomach.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_stomach.json deleted file mode 100644 index dffdde595..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_stomach.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_stomach", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Stomach", - "title" : "Schema selection for Stomach", - "last_modified" : "2025-07-08T19:19:34.316Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C160", "8000-8149, 8154, 8160-8231, 8243-8248, 8250-8682, 8690-8700, 8720-8790,8976", "0,3,9", "MATCH" ], [ "C161-C166,C168-C169", "8000-8149, 8154, 8160-8231, 8243-8248, 8250-8682, 8690-8700, 8720-8790,8976", "*", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_testis.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_testis.json deleted file mode 100644 index 5e4756dbe..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_testis.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_testis", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Testis", - "title" : "Schema selection for Testis", - "last_modified" : "2025-09-24T16:16:45.286Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C620-C621,C629", "8000-8700, 8720-8790,9061,9064-9065,9070-9071,9080-9081,9084-9085,9100-9101,9104-9105", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus.json deleted file mode 100644 index 4f4a59054..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_thymus", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Thymus", - "title" : "Schema selection for Thymus", - "last_modified" : "2025-07-07T20:35:54.547Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C379", "8000-8700, 8720-8790", "2018-2024", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus_v9_2025.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus_v9_2025.json deleted file mode 100644 index 9af1b596d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thymus_v9_2025.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_thymus_v9_2025", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Thymus V9: 2025+]", - "title" : "Schema selection for Thymus V9: 2025+]", - "last_modified" : "2025-07-07T20:36:28.962Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C379", "8000-8700, 8720-8790, 8980", "2025-9998, 9999, ", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid.json deleted file mode 100644 index 1a11313e2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_thyroid", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Thyroid", - "title" : "Schema selection for Thyroid", - "last_modified" : "2025-07-07T20:37:04.168Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C739", "8000-8344, 8350-8420, 8440-8509, 8514-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid_medullary.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid_medullary.json deleted file mode 100644 index d75658df3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_thyroid_medullary.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_thyroid_medullary", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Thyroid-Medullary", - "title" : "Schema selection for Thyroid-Medullary", - "last_modified" : "2025-07-07T20:37:35.507Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C739", "8345-8349,8430,8510,8512-8513", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_anterior.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_anterior.json deleted file mode 100644 index 40f0485b7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_anterior.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_tongue_anterior", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection TongueAnterior", - "title" : "Schema selection for TongueAnterior", - "last_modified" : "2025-09-25T14:06:01.781Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C020-C023,C028-C029", "8000-8700,8982", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_base.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_base.json deleted file mode 100644 index 879585442..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_tongue_base.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "id" : "schema_selection_tongue_base", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection TongueBase", - "title" : "Schema selection for TongueBase", - "last_modified" : "2025-09-26T19:52:19.736Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "discriminator_2", - "name" : "Schema Discriminator 2", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C019,C024,C051-C052,C090-C091,C098-C099,C100,C102-C104,C108-C109", "8000-8700", "*", "1,9", "*", "MATCH" ], [ "C111", "8000-8700", "2", "1,9", "2018-2024", "MATCH" ], [ "C101", "8000-8700", "*", "1,9", "2026-9998,9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_trachea.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_trachea.json deleted file mode 100644 index 521ba1a1d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_trachea.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_trachea", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Trachea", - "title" : "Schema selection for Trachea", - "last_modified" : "2025-07-07T20:39:00.565Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C339", "8000-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra.json deleted file mode 100644 index 7bf8feefa..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_urethra", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Urethra", - "title" : "Schema selection for Urethra", - "last_modified" : "2025-07-07T20:40:02.613Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C680", "8000-8700, 8720-8790", "1", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra_prostatic.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra_prostatic.json deleted file mode 100644 index 34d819152..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urethra_prostatic.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_urethra_prostatic", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Urethra-Prostatic", - "title" : "Schema selection for Urethra-Prostatic", - "last_modified" : "2025-07-07T20:40:41.152Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "discriminator_1", - "name" : "Schema Discriminator 1", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C680", "8000-8700, 8720-8790", "2", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urinary_other.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urinary_other.json deleted file mode 100644 index 028672518..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_urinary_other.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_urinary_other", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection UrinaryOther", - "title" : "Schema selection for UrinaryOther", - "last_modified" : "2025-07-07T20:41:34.419Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C681,C688-C689", "8000-8700, 8720-8790", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vagina.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vagina.json deleted file mode 100644 index 68705c289..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vagina.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "schema_selection_vagina", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Vagina", - "title" : "Schema selection for Vagina", - "last_modified" : "2025-09-24T16:29:50.391Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C529", "8000-8700, 8720-8790, 8933,8980,9071,9110", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva.json deleted file mode 100644 index 3dad50d09..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_vulva", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Vulva", - "title" : "Schema selection for Vulva", - "last_modified" : "2025-09-24T14:59:47.247Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C510-C512,C518-C519", "8000-8040, 8042-8180, 8191-8246, 8248-8700, 9020, 9071", "2018-2023", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva_v9_2024.json b/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva_v9_2024.json deleted file mode 100644 index 4f37a2af6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/schema_selection_vulva_v9_2024.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "schema_selection_vulva_v9_2024", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Selection Vulva [V9: 2024+]", - "title" : "Schema selection for Vulva [V9: 2024+]", - "last_modified" : "2025-09-24T14:59:18.130Z", - "definition" : [ { - "key" : "site", - "name" : "Primary Site", - "type" : "INPUT" - }, { - "key" : "hist", - "name" : "Histology", - "type" : "INPUT" - }, { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "C510-C512,C518-C519", "8000-8180, 8191-8246, 8248-8700, 8982, 9020, 9064, 9071", "2024-9998, 9999,", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_21628.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_21628.json deleted file mode 100644 index 3f032bb23..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_21628.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_mets_21628", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Bone mets WITH other mets** \n* Use code 50 only when there are bone metastasis WITH other metastatic involvement. \n + If there are multiple distant mets but bone is not one of them, code 30.\n\n**Note 2:** **Distant metastasis** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n+ If there are specific metastasis documented that are not listed in codes 10, 20, or 30, assign code 30 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions,** National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Jimenez, C., Perrier, N.D., et al. **Adrenal - Neuroendocrine Tumors**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:20.992Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Bone metastasis only", "VALUE:D" ], [ "20", "Distant lymph node(s), NOS", "VALUE:D" ], [ "30", "Liver\nLung\nOther specified distant metastasis\n\nCarcinomatosis\n\nWITH or WITHOUT distant lymph node(s)", "VALUE:D" ], [ "50", "Bone metastasis WITH other distant metastasis\n* (10) + (20 or 30)", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_32413.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_32413.json deleted file mode 100644 index adc5322ff..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_32413.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_mets_32413", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **Trilateral retinoblastomas** \n* Code 50 does not include \"trilateral retinoblastomas.\" The presence of \"trilateral retinoblastomas\" is coded in the data item Heritable Trait. [NAACCR Data Item #3856]", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Mallipatna, A.C., Finger, P.T., et al. **Retinoblastoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:13.315Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "30", "Distant metastasis to any organ EXCEPT CNS\n\nCarcinomatosis\n\nCode 10 + 30", "VALUE:D" ], [ "50", "CNS parenchyma\nCerebrospinal fluid\n\nAny combination of codes 10, 30 and 50", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_4721.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_4721.json deleted file mode 100644 index 97fca018a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_4721.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_mets_4721", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **Distant metastasis** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n * If there are specific metastasis documented that are not listed in codes 10, 30, or 50, assign code 50 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Detterbeck, F.C., Marom, E.M. **Thymus**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:21.787Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Separate pleural or pericardial nodule(s)", "VALUE:D" ], [ "30", "Distant lymph node(s), NOS\n* WITH or WITHOUT separate pleural or pericardial nodule(s)", "VALUE:D" ], [ "50", "Pulmonary intraparenchymal nodule\nOther extrathoracic sites\n\nWITH or WITHOUT distant lymph node(s) \nOR pleural or pericardial nodule(s)\n\nOther specified distant metastasis\n\nCarcinomatosis", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_48348.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_48348.json deleted file mode 100644 index 9a2ab9910..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_48348.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "seer_mets_48348", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:07.180Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis \n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_57075.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_57075.json deleted file mode 100644 index 2d6940a96..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_57075.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_mets_57075", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Lesser sac** \n* The lesser sac of the peritoneum, or omental bursa, is the cavity in the abdomen formed by the lesser and greater omentum; the pancreas forms part of the posterior wall of the lesser sac.\n\n**Note 2:** **Mesenteric nodes** \n* The specific location of the mesenteric nodes determines whether they are regional or distant. If the specific location is not described, code in EOD Regional Nodes.\n\n**Note 3:** **Porta hepatic nodes** \n* Porta hepatic nodes are distant for Body and Tail and should be coded in EOD Mets. If the specific location for hepatic nodes is not described, code in EOD Regional Nodes.\n\n**Note 4:** **Liver mets WITH other metastatic involvement** \n* Use code 60 only when there are liver metastasis WITH other metastatic involvement. \n* If there are multiple distant mets but liver is not one of them, code 50.\n\n**Note 5:** **Distant metastasis, NOS** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n * If there are specific metastasis documented that are not listed in codes 10, 20, 40, or 50, assign code 50 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bergsland, E.K., Woltering, E.A., Klimstra, D.S., et al. **Neuroendocrine Tumors of the Pancreas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Pancreas**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:22.806Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Liver (including liver parenchymal nodule(s))", "VALUE:D" ], [ "20", "Distant lymph nodes\n\nPancreas Head (C250)\n- Celiac\n\nPancreas Body Tail (C251-C252)\n- Pericholedochal (common bile duct)\n- Porta hepatic\n- Pyloric (infrapyloric, retropyloric, subpyloric, suprapyloric)", "VALUE:D" ], [ "40", "Distant lymph nodes\n\nPancreas Head (C250)\n- Gastroepiploic (gastro-omental, left)\n- Pancreaticosplenic (pancreaticolienal)\n- Splenic (artery, hilum, lineal)\n- Suprapancreatic\n\nPancreas Body and Tail (C251-C252)\n- Lateral wall (right)\n- Portal vein\n\nAll sites (C250-C253, C257-C259)\n- Other distant lymph nodes\n\nDistant lymph nodes, NOS", "VALUE:D" ], [ "50", "At least one extrahepatic site\n- Bone\n- Lung\n- Ovary\n- Peritoneum\n\nOther specified distant metastasis (except liver)\n\nCarcinomatosis\n\nWITH or WITHOUT distant lymph node(s)", "VALUE:D" ], [ "60", "Liver WITH other distant metastasis\n(10) + (20, 40 or 50)", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_61487.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_61487.json deleted file mode 100644 index 0bfe1f042..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_61487.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_mets_61487", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Liver mets WITH other metastatic involvement** \n* Use code 50 only when there are liver metastasis WITH other metastatic involvement. \n * If there are multiple distant mets but liver is not one of them, code 30.\n\n**Note 2:** **Distant metastasis, NOS** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n * If there are specific metastasis documented that are not listed in codes 10, 20, or 30, assign code 30 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bergsland, E.K., Woltering, E.A., Klimstra, D.S., et al. **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:49.688Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Liver (including liver parenchymal nodule(s))", "VALUE:D" ], [ "20", "Distant lymph node(s)\n- At tail of pancreas\n- Para-aortic\n- Splenic\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "30", "At least one extrahepatic site \n- Bone\n- Lung\n- Ovary(ies)\n- Peritoneum (seeding)\n\nOther specified distant metastasis (except liver)\n\nCarcinomatosis\n\nWITH or WITHOUT distant lymph node(s)", "VALUE:D" ], [ "50", "Liver WITH other distant metastasis\n(10) + (20 or 30)", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_66514.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_66514.json deleted file mode 100644 index 6be56e423..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_66514.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "seer_mets_66514", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kakar, S., Pawlik, T.M., Vauthey, J.N., et al. **Exocrine Pancreas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cacer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:34.899Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n\nPancreas Head (C250) (see EOD Regional Nodes for all other sites)\n- Celiac\n\nPancreas Body Tail (C251-C252)\n- Common bile duct (pericholedochal)\n- Porta hepatic \n- Pyloric (infrapyloric, retropyloric, subpyloric, suprapyloric, NOS)", "VALUE:D" ], [ "20", "Distant lymph node(s)\n\nPancreas Head (C250)\n- Gastroepiploic (gastro-omental, left)\n- Pancreaticosplenic (pancreaticolienal)\n- Splenic (artery, hilum, lineal)\n- Suprapancreatic\n\nPancreas Body and Tail (C251-C252)\n- Lateral wall (right)\n- Portal vein\n\nAll sites (C250-C253, C257-C259)\n- Other distant lymph nodes\n\nDistant lymph node(s), NOS", "VALUE:D" ], [ "70", "Seeding of peritoneum, even if limited to the lesser sac region\nPositive peritoneal cytology\nCarcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s) \n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_79245.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_79245.json deleted file mode 100644 index 968b38e8a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_79245.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_mets_79245", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **Peripheral blood or bone marrow involvement**\n* If there is peripheral blood or bone marrow involvement, code 70.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Rosen, S.T., Jaffe, E.S., Leonard, J.P., et al. **Primary Cutaneous Lymphomas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:00.422Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastases\nUnknown if distant metastases", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Blood/peripheral blood\nBone marrow\nExtracutaneous non-lymph node disease present\nVisceral (non-cutaneous) metastasis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nCarcinomatosis \n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_84419.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_84419.json deleted file mode 100644 index c519a1d80..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_84419.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_mets_84419", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Liver mets WITH other metastatic involvement** \n* Use code 50 only when there are liver metastasis WITH other metastatic involvement. \n * If there are multiple distant mets but liver is not one of them, code 30.\n\n**Note 2:** **Distant metastasis, NOS** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n * If there are specific metastasis documented that are not listed in codes 10, 20, or 30, assign code 30 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bergsland, E.K., Woltering, E.A., Klimstra, D.S., et al. **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater,** from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:22.289Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Liver (including liver parenchymal nodule(s))", "VALUE:D" ], [ "20", "Distant lymph node(s)\n- Celiac\n- Para-aortic\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "30", "At least one extrahepatic site \n- Bone\n- Lung\n- Ovary(ies)\n- Peritoneum (seeding)\n\nOther specified distant metastasis (except liver)\n\nCarcinomatosis \n\nWITH or WITHOUT distant lymph node(s)", "VALUE:D" ], [ "50", "Liver WITH other distant metastasis\n(10) + (20 or 30)", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_90003.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_90003.json deleted file mode 100644 index 72c9a8818..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_90003.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_mets_90003", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Distant lymph node involvement** \n* Distant lymph node involvement is coded in EOD Regional Nodes.\n\n**Note 2:** **Peripheral blood or bone marrow involvement** \n* If there is peripheral blood or bone marrow involvement, code 30 or 50.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Heegaard, S., Finger, P.T., et al. **Ocular Adnexal Lymphoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:59.975Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No involvement of extranodal sites", "VALUE:NONE" ], [ "10", "Non-contiguous involvement of tissues or organs external to the ocular adnexa \n(excluding bone marrow), including but not limited to\n- Breast\n- Gastrointestinal tract\n- Kidney\n- Liver\n- Lung\n- Parotid gland\n- Salivary gland\n- Spleen\n- Submandibular gland", "VALUE:D" ], [ "30", "Blood/peripheral blood\nBone marrow", "VALUE:D" ], [ "50", "Any site listed in code 10 plus involvement of bone marrow (code 30)", "VALUE:D" ], [ "70", "Distant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_90643.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_90643.json deleted file mode 100644 index be2adba5f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_90643.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_mets_90643", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note:** **Nodal basins** \n* Nodes in contiguous (secondary) and bidirectional (cephalad/caudal) primary nodal basins are coded in EOD Regional Nodes.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:10.276Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis \n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_lip_lower_28596.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_lip_lower_28596.json deleted file mode 100644 index 7b99c7b5b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_lip_lower_28596.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "seer_mets_lip_lower_28596", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:17.557Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Mediastinal (excluding superior mediastinal node(s), Level VII, see EOD Regional Nodes)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_melanomachoroid_55264.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_melanomachoroid_55264.json deleted file mode 100644 index b6f78bd38..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_melanomachoroid_55264.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_mets_melanomachoroid_55264", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "notes" : "**Note 1:** **Multiple metastatic sites** \n* If there are multiple metastatic sites, code based on the largest metastasis. \n\n**Note 2:** **Distant metastases, NOS** \n* Use code 70 when the only information is “distant metastasis, NOS,” and there is no documentation regarding the specific metastases. \n + If there are specific metastasis documented that are not listed in codes 10, 20, or 30, assign code 30 for “other specified distant metastasis.”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kivelä, T., Finger, P.T., et al. **Uveal Melanoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:50.434Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s) and/or other distant metastasis AND size of distant metastasis less than or equal to 3 cm", "VALUE:D" ], [ "30", "Distant lymph node(s) and/or other distant metastasis AND size of distant metastasis 3.1 cm to 8 cm", "VALUE:D" ], [ "50", "Distant lymph node(s) and/or other distant metastasis AND size of distant metastasis greater than or equal to 8.1 cm", "VALUE:D" ], [ "70", "Distant lymph node(s) and/or other distant metastasis AND size of distant metastasis unknown\nCarcinomatosis\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_nasopharynx_46629.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_nasopharynx_46629.json deleted file mode 100644 index 6bfb78676..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_nasopharynx_46629.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "seer_mets_nasopharynx_46629", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lee, A.W.M., Lydiatt, W.M., Shah, J.P., et al. **Nasopharynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:04.201Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "No distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Axilla\n- Groin\n- Infraclavicular\n- Mediastinal (excluding superior mediastinal nodes)\n- Distant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_sinus_othervs2_15755.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_sinus_othervs2_15755.json deleted file mode 100644 index 51d18a221..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_mets_sinus_othervs2_15755.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "seer_mets_sinus_othervs2_15755", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Mets", - "title" : "EOD Mets", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:14.150Z", - "definition" : [ { - "key" : "eod_mets", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_m", - "name" : "SS2018 M", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "00", "None\nNo distant metastasis\nUnknown if distant metastasis", "VALUE:NONE" ], [ "10", "Distant lymph node(s)\n- Mediastinal (excluding superior mediastinal node(s))\n\nDistant lymph node(s), NOS", "VALUE:D" ], [ "70", "Carcinomatosis\n\nDistant metastasis WITH or WITHOUT distant lymph node(s)\n\nDistant metastasis, NOS", "VALUE:D" ], [ "99", "Death Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_25824.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_25824.json deleted file mode 100644 index 5c9b0391f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_25824.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_primary_tumor_25824", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Definition of Parathyroid tumors** \n* Parathyroid tumors are defined as left or right and superior (upper) or inferior (lower).\n\n**Note 2:** **Atypical parathyroid neoplasms** \n* Atypical parathyroid neoplasms (code 050) are defined as tumors that are histologically or clinically worrisome but do not fulfill the more robust criteria [i.e., invasion metastasis] for carcinoma.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Landry, C.S., Wang, T.S., Perrier, N.D., et al. **Parathyroid**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:21.216Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "050", "Atypical parathyroid neoplasm\n(neoplasm of uncertain malignant potential)", "VALUE:IS" ], [ "100", "Confined to parathyroid\nExtension to soft tissue\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Thyroid gland", "VALUE:RE" ], [ "300", "Adjacent lymph node(s)\nEsophagus\nRecurrent laryngeal nerve\nThymus \nTrachea\nSkeletal muscle", "VALUE:RE" ], [ "700", "Major blood vessels\nSpine\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_31838.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_31838.json deleted file mode 100644 index a982fe0ca..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_31838.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "seer_primary_tumor_31838", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Yoon, S.S., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Trunk and Extremities**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:27.564Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Any size tumor\n- Superficial tumor, NOS\n- Deep tumor, NOS \n- Confined to site of origin \n- Localized, NOS", "VALUE:L" ], [ "200", "Any size tumor\n- Superficial or deep tumor WITH involvement of \n + Adjacent (connective) tissue, NOS\n + Adjacent organ(s)/structure(s), NOS\n- Major vessel invasion", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_36538.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_36538.json deleted file mode 100644 index 9e65f92b3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_36538.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_primary_tumor_36538", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **Extrathyroid extension** \n* Extrathyroidal extension includes minor (microscopic) extension through the thyroid capsule which is identified only on microscopic examination (see code 200) to gross (macroscopic) extrathyroidal extension, which is documented in the operative report and involves major structures (see codes 300, 400, 600, and 700). \n* If the only information available is \"extrathyroidal extension\" and cannot determine whether it is microscopic or gross, code 200.\n* If the only information is \"gross extrathyroidal extension\" and the involvement of major structures cannot be determined, code 750.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rosen, J.E., Lloyd, R.V., Perrier, N.D., et al. **Thyroid - Medullary**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:23.077Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Confined/limited to thyroid, NOS \nSingle invasive tumor confined/limited to thyroid\nMultiple foci confined/limited to thyroid\n\nInto thyroid capsule, but not beyond\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Microscopic extrathyroidal extension\n\nExtrathyroidal extension, NOS", "VALUE:RE" ], [ "300", "Gross extrathyroidal extension invading\n- Pericapsular soft tissue/connective tissue\n- Strap muscle(s)\n + Omohyoid\n + Sternohyoid\n + Sternothyroid\n + Thyrohyoid", "VALUE:RE" ], [ "400", "Moderately advanced disease WITH gross extrathyroidal extension invading\n- Cricoid cartilage\n- Esophagus\n- Larynx\n- Parathyroid\n- Recurrent laryngeal nerve\n- Sternocleidomastoid muscle\n- Subcutaneous soft tissues\n- Trachea \n- Vagus nerve\n\nModerately advanced disease, NOS", "VALUE:RE" ], [ "600", "Very advanced disease invading\n- Blood vessel(s) (major)\n + Carotid artery (encased)\n + Jugular vein\n + Thyroid artery or vein\n- Thyroid cartilage\n- Tumor described as \"FIXED to adjacent tissues\"\n\nVery advanced disease, NOS", "VALUE:RE" ], [ "700", "Very advanced disease invading\n- Bone\n- Mediastinal tissues\n- Prevertebral fascia\n- Skeletal muscle, other than strap or sternocleidomastoid muscle\n\nFurther contiguous extension", "VALUE:D" ], [ "750", "Advanced disease, NOS\nGross extrathyroidal extension, NOS", "VALUE:RE" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_38025.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_38025.json deleted file mode 100644 index 0f2c77c87..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_38025.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_primary_tumor_38025", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **Cortex of the bone**\n* The cortex of a bone is the dense outer shell that provides strength to the bone; the spongy center of a bone is the cancellous portion. \n* The periosteum of the bone is the fibrous membrane covering of a bone that contains the blood vessels and nerves; the periosteum is similar to the capsule on a visceral organ.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kneisl, J.S., Rosenberg, A.E., et al. **Bone**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:13.807Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Any size tumor\n\nConfined to cortex of bone \nExtension beyond cortex to periosteum (no break in periosteum)\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Any size tumor with extension to\n* Adjacent bone/cartilage\n* Beyond periosteum to surrounding tissues, including adjacent skeletal muscle(s)", "VALUE:RE" ], [ "300", "Any size tumor with extension to\n- Skin", "VALUE:D" ], [ "500", "Discontinuous tumors \n* \"Skip\" metastases in the primary bone site\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42176.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42176.json deleted file mode 100644 index 92c29625d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42176.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "seer_primary_tumor_42176", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) O'Sullivan, B., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:40.417Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Any size tumor\n- Confined to site of origin \n- Localized, NOS", "VALUE:L" ], [ "200", "Any size tumor\n- Adjacent connective tissue, NOS\n- Bone/cartilage", "VALUE:RE" ], [ "500", "Central compartment viscera\nFacial skeleton\nOrbital invasion\nPterygoid muscles\nSkull base/dural invasion", "VALUE:D" ], [ "600", "Brain parenchymal invasion\nCarotid artery encasement\nCentral nervous system involvement via perineural spread\nPrevertebral muscle invasion\n\nFurther contiguous extension", "VALUE:D" ], [ "700", "Invasion of adjacent organ(s)/structure(s), NOS", "VALUE:RE" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42751.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42751.json deleted file mode 100644 index c1ed05db8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_42751.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "seer_primary_tumor_42751", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bergsland, E.K., Woltering, E.A., Klimstra, D.S., et al. **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:49.483Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Tumor less than or equal to 1 cm AND confined to\n- Intramucosal, NOS\n- Lamina propria (including in a polyp)\n- Mucosa, NOS\n- Muscularis mucosae (including in a polyp)\n- Submucosa (superficial invasion) (including in a polyp)\n\nLimited to ampulla of Vater or extending to sphincter of Oddi\nLocalized, NOS", "VALUE:L" ], [ "200", "Tumor greater than 1 cm\n\nOR Invades muscularis propria", "VALUE:L" ], [ "300", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS \nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS \nWall, NOS", "VALUE:L" ], [ "400", "Adjacent (connective) tissue(s), NOS (without serosal penetration)\nAmpulla of Vater\nFat, NOS\nMesenteric fat\nMesentery (adjacent loops of bowel)\nNonperitonealized perimuscular tissue\nPancreas\nPancreatic duct\nRetroperitoneum", "VALUE:RE" ], [ "500", "Periduodenal soft tissue\nPeripancreatic soft tissue", "VALUE:D" ], [ "600", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum)\n\nBlood vessel(s) (major)\n- Common hepatic artery\n- Portal vein\n- Superior mesenteric artery\n\nCeliac (axis) artery\nColon (hepatic flexure, transverse colon)\nCommon bile duct\nExtrahepatic bile duct(s) \nGallbladder\nLiver, including porta hepatis\nOmentum (lesser)\nStomach (distal, proximal, NOS)", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown extension\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_43302.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_43302.json deleted file mode 100644 index a4cd7067b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_43302.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_primary_tumor_43302", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Islets of Langerhans** \n* Islets of Langerhans are distributed throughout the pancreas; an islet tumor is coded according to the subsite of the pancreas in which the tumor arises if the information is available.\n\n**Note 2:** **Abutment, encasement** \n* The terms \"abutment,\" \"abut(s),\" \"encases,\" or \"encasement\" of the major blood vessels can be interpreted as involvement of these structures.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bergsland, E.K., Woltering, E.A., Klimstra, D.S., et al. **Neuroendocrine Tumors of the Pancreas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Pancreas**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:22.555Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: Noninvasive, intraepithelial", "VALUE:IS" ], [ "100", "Any size tumor\n\nConfined to pancreas\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Peripancreatic (adipose) tissue\nPeripancreatic fat", "VALUE:RE" ], [ "300", "Ampulla of Vater\nBile duct, NOS\nCommon bile duct\nDuodenum", "VALUE:RE" ], [ "500", "All sites\n- Portal vein\n- Stomach\n- Superior mesenteric vein\n\nHead of pancreas\n- Adjacent stomach\n- Gastroduodenal artery/vein\n- Transverse colon, including hepatic flexure\n\nBody and/or tail of pancreas\n- Spleen\n- Splenic artery/vein\n- Splenic flexure\n\nFixation to adjacent structures, NOS", "VALUE:RE" ], [ "600", "All Sites\n- Aortic artery\n- Celiac [axis] artery\n- Common hepatic artery\n- Superior mesenteric artery\n\nFurther contiguous extension to other major arteries", "VALUE:RE" ], [ "700", "All sites\n- Adrenal gland/suprarenal gland\n- Gallbladder\n- Kidney\n- Liver, including porta hepatis\n- Mesenteric fat\n- Mesentery\n- Mesocolon\n- Peritoneum\n- Retroperitoneum\n- Small intestine (excluding duodenum, see code 500)\n- Ureter\n\nHead of pancreas\n- Colon (other than transverse colon including hepatic flexure, see code 500)\n- Omentum\n- Spleen\n\nBody and/or tail of pancreas\n - Colon (other than splenic flexure)\n - Diaphragm\n\nFurther contiguous extension to other organs", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_44962.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_44962.json deleted file mode 100644 index 531c27048..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_44962.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "seer_primary_tumor_44962", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Phan, A.T., Perrier, N.D., et al. **Adrenal Cortical Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:12.038Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: Noninvasive; intraepithelial", "VALUE:IS" ], [ "100", "Any size tumor, no extra-adrenal invasion\n\nConfined to adrenal gland\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Any size tumor \n- Adjacent connective tissue\n- Gerota's fascia", "VALUE:RE" ], [ "300", "Invasion of adjacent organs\n- Blood vessels (large)\n + Renal vein\n + Vena cava \n- Kidney \n- Retroperitoneal structures including\n + Great vessels\n * Aorta\n * Inferior vena cava", "VALUE:RE" ], [ "700", "Diaphragm\nLiver\nPancreas\nSpleen\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_52444.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_52444.json deleted file mode 100644 index bba9cdefd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_52444.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_primary_tumor_52444", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **Pheochromocytoma and Paragangliomas**\n* This is a new schema (2018+) for pheochromocytomas (PHs) and paragangliomas (PGs), which are rare neuroendocrine tumors originating in the paraganglia. \n * Pheochromocytomas originate in the adrenal medulla and sympathetic tumors. \n * Paragangliomas originate either in the parasympathetic or sympathetic autonomous nervous system ganglia, which is outside the adrenal medulla.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions,** National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Jimenez, C., Perrier, N.D., et al. **Adrenal - Neuroendocrine Tumors**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:20.794Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: Noninvasive; intraepithelial", "VALUE:IS" ], [ "100", "Any size pheochromocytoma (PH) tumor\n* No extra-adrenal invasion (8700/3)\n\nConfined to adrenal gland\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Any size paraganglioma (PG) tumor\n* No extra-adrenal invasion 8680/3, 8690/3, 8692/3-8693/3", "VALUE:L" ], [ "300", "Adjacent connective tissue\nGerota's fascia\n\nAdjacent organs\n- Blood vessels (large)\n + Renal vein\n + Vena cava \n- Kidney \n- Retroperitoneal structures including\n + Great vessels\n * Aorta\n * Inferior vena cava", "VALUE:RE" ], [ "700", "Diaphragm\nLiver\nPancreas\nSpleen\n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_53926.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_53926.json deleted file mode 100644 index 891baea2d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_53926.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_primary_tumor_53926", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **In situ** \n* Code 000 (in situ) is not applicable for this schema.\n\n**Note 2:** **Multifocal** \n* For this schema, \"multifocal\" means involvement of multiple sites (codes 500-700).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Raut, C.P., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Abdomen and Thoracic Visceral Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:09.280Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Confined to organ, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "Serosa\nVisceral peritoneum", "VALUE:RE" ], [ "300", "Beyond serosa (mesentery)", "VALUE:RE" ], [ "400", "Adjacent (connective) tissue, NOS\nInto tissue beyond organ", "VALUE:RE" ], [ "500", "ONE adjacent organ/structure invaded", "VALUE:RE" ], [ "550", "Multifocal involvement of TWO sites", "VALUE:RE" ], [ "600", "Multifocal involvement of THREE to FIVE sites", "VALUE:RE" ], [ "650", "Multifocal involvement of MORE than FIVE sites", "VALUE:RE" ], [ "700", "Multifocal involvement, NOS\nUnknown how many structures involved", "VALUE:RE" ], [ "750", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_59317.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_59317.json deleted file mode 100644 index 0d689be8c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_59317.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_primary_tumor_59317", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **Multifocal tumors** \n* In case of multifocal papillary noninvasive tumors (code 000) and nonpapillary in situ tumors (code 050), code 050.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Hansel, D.E., Reuter, V.E., McKiernan, J.M., et al. **Urethra**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:11.485Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "Papillary (8130/2, 8131/2, other histologies, see code 050)\n- Non-infiltrating or non-invasive papillary transitional cell carcinoma\n- Non-infiltrating or non-invasive papillary urothelial carcinoma\n- Papillary transitional cell carcinoma, with inferred description of non-invasion\n- Papillary urothelial carcinoma, with inferred description of non-invasion", "VALUE:IS" ], [ "050", "Nonpapillary\n- Carcinoma in situ, NOS \n- Sessile (flat) (solid) carcinoma in situ \n- Transitional cell carcinoma in situ\n- Urothelial carcinoma (in situ, non-infiltrating, non-invasive)\n\nMultifocal papillary and nonpapillary non-invasive tumors (see Note)\n * WITH no stromal invasion and involvement of\n\n* Periurethral or prostatic ducts\n* Prostatic urethra", "VALUE:IS" ], [ "100", "Subepithelial connective tissue (lamina propria, submucosa) invaded\n\nLocalized, NOS", "VALUE:L" ], [ "300", "Prostate (prostatic stroma)\nProstatic ducts", "VALUE:RE" ], [ "400", "Bladder neck\nPeriprostatic fat (beyond prostate capsule)", "VALUE:RE" ], [ "700", "Adjacent organ(s), NOS\nBladder wall\nExtraprostatic invasion bladder wall\nRectal wall \n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_60433.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_60433.json deleted file mode 100644 index 851f7a17a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_60433.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_primary_tumor_60433", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **Left and right extremities** \n* Left and right extremities (e.g. arm, leg) are counted as separate body regions.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Rosen, S.T., Jaffe, E.S., Leonard, J.P., et al. **Primary Cutaneous Lymphomas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:00.227Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "Solitary skin involvement", "VALUE:L" ], [ "200", "Regional skin involvement\nMultiple lesions confined to one or two contiguous body regions", "VALUE:RE" ], [ "400", "Multiple lesions involving two noncontiguous body regions", "VALUE:D" ], [ "500", "Multiple lesions involving ≥3 body regions", "VALUE:D" ], [ "600", "Generalized skin involvement\nMultiple lesions confined to three or more contiguous body regions\nMultiple lesions confined to discontiguous body regions", "VALUE:D" ], [ "700", "Multiple lesions, NOS\nUNKNOWN if contiguous or discontiguous", "VALUE:RE" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_6275.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_6275.json deleted file mode 100644 index 96f6e7405..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_6275.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_primary_tumor_6275", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **Extrathyroidal extension** \n* Extrathyroidal extension includes minor (microscopic) extension through the thyroid capsule which is identified only on microscopic examination (see code 200) to gross (macroscopic) extrathyroidal extension, which is documented in the operative report and involves major structures (see codes 300, 400, 600, and 700). \n* If the only information available is \"extrathyroidal extension\" and cannot determine whether it is microscopic or gross, code 200.\n* If the only information is \"gross extrathyroidal extension\" and the involvement of major structures cannot be determined, code 750.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Tuttle, R.M., Perrier, N.D., et al. **Thyroid - Differentiated and Anaplastic Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:13.542Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ, intraepithelial, noninvasive", "VALUE:IS" ], [ "100", "Confined/limited to thyroid, NOS\n* Single invasive tumor confined/limited to thyroid\n* Multiple foci confined/limited to thyroid\n\n* Into thyroid capsule, but not beyond\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Microscopic extrathyroidal extension\n* Extrathyroidal extension, NOS", "VALUE:RE" ], [ "300", "Gross extrathyroidal extension invading\n- Pericapsular soft tissue/connective tissue\n- Strap muscle(s)\n + Omohyoid\n + Sternohyoid\n + Sternothyroid\n + Thyrohyoid", "VALUE:RE" ], [ "400", "Gross extrathyroidal extension invading\n- Cricoid cartilage\n- Esophagus\n- Larynx\n- Parathyroid\n- Recurrent laryngeal nerve\n- Sternocleidomastoid muscle\n- Subcutaneous soft tissues\n- Trachea\n- Vagus nerve", "VALUE:RE" ], [ "600", "Gross extrathyroidal extension invading\n- Blood vessel(s) (major)\n + Carotid artery (encased)\n + Jugular vein\n + Thyroid artery or vein\n- Thyroid cartilage\n- Tumor described as \"FIXED to adjacent tissues\"", "VALUE:RE" ], [ "700", "Gross extrathyroidal extension invading\n- Bone\n- Mediastinal tissues\n- Prevertebral fascia\n- Skeletal muscle, other than strap or sternocleidomastoid muscle\n\nFurther contiguous extension", "VALUE:D" ], [ "750", "Gross extrathyroidal extension, NOS", "VALUE:RE" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_68925.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_68925.json deleted file mode 100644 index fe0fd45cb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_68925.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "seer_primary_tumor_68925", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Detterbeck, F.C., Marom, E.M. **Thymus**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:21.589Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: Noninvasive; intraepithelial", "VALUE:IS" ], [ "100", "Confined to thymus (encapsulated tumor) OR\nExtending into the mediastinal fat\nWITHOUT mediastinal pleura/pleura involvement", "VALUE:L" ], [ "200", "Confined to thymus (encapsulated tumor)\nWITH mediastinal pleura/pleural involvement", "VALUE:RE" ], [ "300", "Confined to thymus, NOS\nUnknown if mediastinum or pleural involved", "VALUE:L" ], [ "400", "Direct invasion of pericardium", "VALUE:RE" ], [ "500", "Brachiocephalic vein\nChest wall\nExtrapericardial pulmonary artery or vein\nLung\nPhrenic nerve\nSuperior vena cava", "VALUE:RE" ], [ "700", "Aorta (ascending, arch, or descending)\nArch vessels \nEsophagus\nIntrapericardial pulmonary artery\nMyocardium\nTrachea", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_72151.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_72151.json deleted file mode 100644 index ed738be90..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_72151.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_primary_tumor_72151", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **In situ not applicable** \n* Code 000 (in situ) is not applicable for this schema.\n\n**Note 2:** **Multifocal** \n* For this schema, \"multifocal\" means involvement of multiple sites (codes 500-700).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Raut, C.P., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Abdomen and Thoracic Visceral Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:20.387Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "**Confined to organ, NOS **\nLocalized, NOS", "VALUE:L" ], [ "200", "Serosa\nVisceral peritoneum", "VALUE:RE" ], [ "300", "Beyond serosa (mesentery)", "VALUE:RE" ], [ "400", "Adjacent (connective) tissue, NOS\n- Into tissue beyond organ", "VALUE:RE" ], [ "500", "ONE adjacent organ/structure invaded\n\nHeart (C380)\n- Ascending aorta\n- Parietal pericardium\n- Vena cava\n\nMediastinum (C381-C383, C388)\n- Descending aorta\n- Esophagus\n- Large (named) artery(ies) or vein(s)\n- Pericardium (parietal, visceral pericardium, NOS)\n- Phrenic nerve(s)\n- Pleura (parietal, visceral, NOS)\n- Sternum\n- Sympathetic nerve trunk(s)\n- Thoracic duct\n- Thymus\n- Trachea, parietal pleura\n- Vertebra(e)\n\nPleura (C384)\n- Chest wall\n- Diaphragm\n- Endothoracic fascia\n- Heart muscle\n- Lung involvement, NOS\n- Mediastinal organs or tissues\n- Pericardium\n- Rib", "VALUE:RE" ], [ "550", "Multifocal involvement of TWO structures in code 500", "VALUE:RE" ], [ "600", "Multifocal involvement 0f THREE to FIVE structures in code 500", "VALUE:RE" ], [ "650", "Multifocal involvement of MORE than FIVE sites in code 500", "VALUE:RE" ], [ "700", "Multifocal involvement, NOS\n- Unknown how many structures involved", "VALUE:RE" ], [ "750", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_88917.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_88917.json deleted file mode 100644 index 6b81502a2..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_88917.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_primary_tumor_88917", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Bilateral involvement**\n* If both eyes are involved, code the information for the most extensively involved eye in this field. \n\n**Note 2:** **CLINICAL AND PATHOLOGICAL codes** \n* This schema has extension codes that are defined as “CLINICAL assessment only” or “PATHOLOGICAL assessment only” \n* **CLINICAL** assessment only codes (100, 125, 150, 200, 225, 325, 375, 425, 475, 525, 600, 650, 700) are used when there is a clinical work up only, including physical exam, imaging and biopsy (see **Note 3** for exception)\n* **PATHOLOGICAL** assessment only codes (175, 250, 275, 350, 400, 450, 500, 750) are used when there is a surgical resection of the primary site (enucleation)(see **Note 3** for exception)\n* Remaining codes (no designation of CLINICAL or PATHOLOGICAL only assessment) can be used based on clinical and/or pathological information\n\n**Note 3:** **Enucleation** \n* Pathological staging information from an enucleation always takes precedence over clinical staging \n * *Exception*: cases with neoadjuvant treatment where clinical disease is as extensive as or more extensive than disease at surgery", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Mallipatna, A.C., Finger, P.T., et al. **Retinoblastoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:13.152Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "100", "**CLINICAL assessment**\n\nIntraretinal tumor(s) with subretinal fluid\n- Equal to but not greater than 3 millimeter (mm)\n- AND Location not closer than 1.5 mm to optic disk or fovea", "VALUE:L" ], [ "125", "**CLINICAL assessment**\n\nIntraretinal tumor(s) with subretinal fluid\n- Greater than 3 millimeter (mm)\n- AND Location closer than 1.5 mm from disc or fovea", "VALUE:L" ], [ "150", "**CLINICAL assessment**\n\nIntraretinal tumor(s) with subretinal fluid ≤5 mm from the base of any tumor\n\nTumor confined to retina, NOS\nLocalized, NOS", "VALUE:L" ], [ "175", "**PATHOLOGICAL assessment only**\n\nIntraocular tumor(s) WITHOUT any \n- Local invasion\n- Focal choroidal invasion \n- Pre- or intralaminar involvement of the optic nerve head\n\nTumor confined to retina, NOS\nLocalized, NOS", "VALUE:L" ], [ "200", "**CLINICAL assessment only**\n\nIntraocular tumor(s) WITH\n- Subretinal fluid greater than 5 mm [0.5 cm] from base of tumor\n- WITH or WITHOUT retinal detachment", "VALUE:L" ], [ "225", "**CLINICAL assessment only**\n\nIntraocular tumor(s) WITH\n- Vitreous seeding and/or subretinal seeding\n- WITH or WITHOUT retinal detachment", "VALUE:L" ], [ "250", "**PATHOLOGICAL assessment only**\n\nIntraocular tumor(s) WITH local invasion\n- Concomitant focal choroidal invasion \n- AND pre- or intralaminar involvement of optic nerve head", "VALUE:L" ], [ "275", "**PATHOLOGICAL assessment only**\n\nIntraocular tumor(s) WITH local invasion\nStromal invasion iris\n- AND/OR trabecular meshwork \n- AND/OR Schlemm's canal", "VALUE:L" ], [ "300", "Intraocular tumor(s) WITH local invasion, NOS\nIntraocular tumor(s) with retinal detachment, vitreous seeding, or subretinal seeding, NOS", "VALUE:L" ], [ "325", "**CLINICAL assessment only**\n\nAdvanced intraocular tumor(s) WITH\n- Phthisis or pre-phthisis bulbi", "VALUE:L" ], [ "350", "**PATHOLOGICAL assessment only**\n\nIntraocular tumor(s) WITH significant local invasion\n- Massive choroidal invasion (greater than 3 mm [0.3 cm] in largest diameter)\n- OR multiple foci or focal choroidal involvement (greater than 3 mm)\n- OR full-thickness choroidal involvement", "VALUE:L" ], [ "375", "**CLINICAL assessment only**\n\nAdvanced intraocular tumor(s) WITH invasion of\n- Anterior chamber\n- Choroid\n- Ciliary body\n- Iris\n- Lens\n- Pars plana\n- Zonules", "VALUE:L" ], [ "400", "**PATHOLOGICAL assessment only**\n\nIntraocular tumor(s) WITH significant local invasion\n- Retrolaminar invasion of optic nerve head\n- NOT involving transected end of optic nerve", "VALUE:L" ], [ "425", "**CLINICAL assessment only**\n\nAdvanced intraocular tumor(s) WITH\n- Raised intraocular pressure with neovascularization \n- AND/OR buphthalmos", "VALUE:L" ], [ "450", "**PATHOLOGICAL assessment only**\n\nIntraocular tumor(s) WITH significant local invasion\n- Any partial-thickness involvement of sclera within inner two thirds", "VALUE:L" ], [ "475", "**CLINICAL assessment only**\n\nAdvanced intraocular tumor(s) WITH\n- Hyphema AND/OR massive vitreous hemorrhage", "VALUE:L" ], [ "500", "**PATHOLOGICAL assessment only**\n\nAdvanced intraocular tumor(s) WITH\n- Full-thickness invasion into outer third of sclera \n- AND/OR invasion into or around emissary channels", "VALUE:L" ], [ "525", "**CLINICAL assessment only**\n\nAdvanced intraocular tumor(s) WITH\n- Aseptic orbital cellulitis", "VALUE:L" ], [ "550", "Advanced intraocular tumor(s) WITH significant local invasion", "VALUE:L" ], [ "600", "**CLINICAL assessment only**\n\nExtraocular tumor(s) involving orbit\n- Radiologic evidence of retrobulbar optic nerve involvement \n- OR thickening of optic nerve and/or orbital tissues", "VALUE:RE" ], [ "650", "**CLINICAL assessment only**\n\nExtraocular tumor(s) involving orbit, including optic nerve\n- WITH proptosis AND/OR an orbital mass", "VALUE:RE" ], [ "700", "**CLINICAL assessment only**\n\nExtraocular tumor(s) involving orbit, including optic nerve, NOS", "VALUE:RE" ], [ "750", "**PATHOLOGICAL assessment only**\n\nEvidence of extraocular tumor\n- Tumor at transected end of optic nerve\n- Tumor in the meningeal spaces around optic nerve\n\nFull-thickness invasion of sclera WITH invasion of \n- Adjacent adipose tissue\n- Bone\n- Conjunctiva\n- Episclera \n- Extraocular muscle\n- Eyelids", "VALUE:RE" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_9084.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_9084.json deleted file mode 100644 index 91c5bdbd9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_9084.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_primary_tumor_9084", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Deep invasion** \n* Deep invasion (code 300) is defined as either invasion beyond the subcutaneous fat, or >6 mm deep (as measured from the granular layer of adjacent normal epidermis to the base of the tumor). \n\n**Note 2:** **Multiple simultaneous tumors** \n* In the case of multiple simultaneous tumors, code the tumor with the greatest extension.\n\n**Note 3:** **Skin ulceration** \n* Skin ulceration does not alter the classification.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Califano, J.A., Lydiatt, W.M., Shah, J.P., et al. **Cutaneous Carcinoma of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:07.623Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "Carcinoma in situ", "VALUE:IS" ], [ "100", "Lesion(s) confined to dermis\n* Subcutaneous tissue (through entire dermis)", "VALUE:L" ], [ "300", "Bone erosion (minor or NOS)\nDeep invasion\nSkeletal muscle\nUnderlying cartilage\n\nPerineural invasion", "VALUE:RE" ], [ "400", "Maxilla\nMandible\nOrbital bone\nTemporal bone", "VALUE:RE" ], [ "500", "Gross cortical bone/marrow", "VALUE:RE" ], [ "600", "Skull base invasion\nSkull base foramen", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_94875.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_94875.json deleted file mode 100644 index 047413776..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_94875.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_primary_tumor_94875", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note:** **Multifocal tumors** \n* In case of multifocal papillary noninvasive tumors (code 000) and nonpapillary in situ tumors (code 050), code 050", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Hansel, D.E., Reuter, V.E., McKiernan, J.M., et al. **Urethra**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:12.478Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "Papillary (8130/2, 8131/2, other histologies, see code 050)\n- Non-infiltrating or non-invasive papillary transitional cell carcinoma\n- Non-infiltrating or non-invasive papillary urothelial carcinoma\n- Papillary transitional cell carcinoma, with inferred description of non-invasion\n- Papillary urothelial carcinoma, with inferred description of non-invasion", "VALUE:IS" ], [ "050", "Nonpapillary\n- Carcinoma in situ, NOS \n- Sessile (flat) (solid) carcinoma in situ \n- Transitional cell carcinoma in situ\n- Urothelial carcinoma (in situ, non-infiltrating, non-invasive)\n\nMultifocal papillary and nonpapillary non-invasive tumors (see Note)", "VALUE:IS" ], [ "100", "Subepithelial connective tissue (lamina propria, submucosa) invaded\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Muscularis involved", "VALUE:L" ], [ "300", "Corpus spongiosum\nPeriurethral muscle (sphincter muscle)", "VALUE:RE" ], [ "400", "Bladder neck\nCorpus cavernosum\nVagina (anterior, NOS)", "VALUE:RE" ], [ "700", "Adjacent organ(s), NOS\nBladder wall \n\nFurther contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed \nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_95193.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_95193.json deleted file mode 100644 index 5223256e8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_95193.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_primary_tumor_95193", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Islets of Langerhans** \n* Islets of Langerhans are distributed throughout the pancreas; an islet tumor is coded according to the subsite of the pancreas in which the tumor arises if the information is available.\n\n**Note 2:** **Abutment, encasement** \n* The terms \"abutment,\" \"abut(s),\" \"encases,\" or \"encasement\" of the major blood vessels can be interpreted as involvement of these structures.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kakar, S., Pawlik, T.M., Vauthey, J.N., et al. **Exocrine Pancreas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cacer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:34.698Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: Noninvasive; intraepithelial\n- High-grade pancreatic intraepithelial neoplasia (PanIn-3)\n- Intraductal papillary mucinous neoplasm with high grade dysplasia\n- Intraductal tubulopapillary neoplasm with high grade dysplasia\n- Mucinous cystic neoplasm with high-grade dysplasia", "VALUE:IS" ], [ "100", "Any size tumor\n- Confined to pancreas\n- Localized, NOS", "VALUE:L" ], [ "500", "Any size tumor\n\nAll sites\n- Ampulla of Vater\n- Duodenum\n- Extrahepatic bile duct(s)\n- Portal vein\n- Peripancreatic tissue, NOS\n- Stomach\n- Superior mesenteric vein\n\nHead of pancreas\n- Adjacent stomach\n- Gastroduodenal artery\n- Transverse colon, including hepatic flexure\n\nBody and/or tail of pancreas\n- Spleen\n- Splenic artery/vein\n- Splenic flexure\n\nFixation to adjacent structure(s), NOS", "VALUE:RE" ], [ "600", "Aortic artery\nCeliac [axis] artery\nCommon hepatic artery\nSuperior mesenteric artery\n\nFurther contiguous extension to other major arteries", "VALUE:RE" ], [ "700", "Adrenal gland/suprarenal gland\nGallbladder\nKidney\nLiver, including porta hepatis\nMesenteric fat\nMesentery\nMesocolon\nPeritoneum\nRetroperitoneum\nSmall intestine (excluding duodenum, see code 500)\nUreter\n\nFurther contiguous extension to other organs\n\nHead of pancreas \n- Colon (other than transverse colon including hepatic flexure, see code 500)\n- Omentum\n- Spleen\n\nBody and/or tail of pancreas with extension to\n - Colon (other than splenic flexure)\n - Diaphragm", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_96082.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_96082.json deleted file mode 100644 index 098deb14d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_96082.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "seer_primary_tumor_96082", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bergsland, E.K., Woltering, E.A., Klimstra, D.S., et al. **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater,** from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:22.035Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: Noninvasive; intraepithelial", "VALUE:IS" ], [ "100", "Tumor less than or equal to 1 cm AND confined to\n- Intramucosal, NOS\n- Lamina propria (including in a polyp)\n- Mucosa, NOS\n- Muscularis mucosae (including in a polyp)\n- Submucosa (superficial invasion) (including in a polyp)\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Tumor greater than 1 cm\n\nOR Invades muscularis propria", "VALUE:L" ], [ "300", "Extension through wall, NOS\nInvasion through muscularis propria or muscularis, NOS \nSubserosal tissue/(sub)serosal fat invaded\nTransmural, NOS \nWall, NOS", "VALUE:L" ], [ "400", "Adjacent (connective) tissue(s), NOS (without serosal penetration)\nAmpulla of Vater\nFat, NOS\nMesenteric fat\nMesentery (adjacent loops of bowel)\nNonperitonealized perimuscular tissue\nPancreas\nPancreatic duct\nRetroperitoneum", "VALUE:RE" ], [ "600", "Invasion of/through serosa (mesothelium) (tunica serosa) (visceral peritoneum)\n\nBlood vessel(s) (major)\n- Common hepatic artery\n- Portal vein\n- Superior mesenteric artery\n\nCeliac (axis) artery\nColon (hepatic flexure, transverse colon)\nCommon bile duct\nExtrahepatic bile duct(s) \nGallbladder\nLiver, including porta hepatis\nOmentum (lesser)\nStomach (distal, proximal, NOS)", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown extension\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_eyeother_64077.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_eyeother_64077.json deleted file mode 100644 index 338f1e970..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_eyeother_64077.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "seer_primary_tumor_eyeother_64077", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:45.776Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: Noninvasive; intraepithelial", "VALUE:IS" ], [ "100", "Confined to tissue or organ of origin\n* Intraocular extension\n\nLocalized, NOS", "VALUE:L" ], [ "200", "Adjacent extraocular extension\n- Eyelid\n- Orbit", "VALUE:RE" ], [ "700", "Further contiguous extension", "VALUE:D" ], [ "800", "No evidence of primary tumor", "VALUE:U" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_head_neck_melanoma_38698.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_head_neck_melanoma_38698.json deleted file mode 100644 index 4107845dc..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_primary_tumor_head_neck_melanoma_38698.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_primary_tumor_head_neck_melanoma_38698", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Primary Tumor", - "title" : "EOD Primary Tumor", - "notes" : "**Note 1:** **Mucosal melanomas** \n* Mucosal melanomas occur throughout the mucosa of the lip and oral cavity (C003-C005, C008-C069, C090-C148) and the nasal cavity and middle ear (C300-C301), accessory sinuses (C310-C319) and the larynx (C320-C329). \n* For a more detailed description of anatomy, refer to the appropriate EOD schema based on the location of the mucosal melanoma. \n\n**Note 2:** **Localized tumors** \n* Code 100 for localized tumors when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 3:** **Deep tissue involvement** \n* Extension involving the deeper tissues of the primary or adjacent sites are recorded in codes 300, 500 or 600. \n* Code 300 when the only information available is \"deep tissue involvement.\"\n\n**Note 4:** **Moderately advanced disease** \n* Code 700 (Moderately advanced disease, NOS) only when specific information about moderately advanced disease is not available (see codes 300 and 500).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Brandwein-Gensler, M., Shah, J.P., et al. **Mucosal Melanoma of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:06.080Z", - "definition" : [ { - "key" : "eod_primary_tumor", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_t", - "name" : "SS2018 T", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "In situ: noninvasive, intraepithelial", "VALUE:IS" ], [ "100", "Any size tumor or thickness\n- Mucosa WITH or WITHOUT soft tissue (immediately underlying)\n- Confined to site of origin, NOS\n- Localized, NOS", "VALUE:L" ], [ "300", "Deep soft tissue involvement \nOverlying skin", "VALUE:RE" ], [ "500", "Extension to other regional sites/structures \nWITHOUT further extension to any sites/structures that are very advanced disease (see code 600)\n\nBone\nCartilage\nDeep extrinsic muscle of tongue\n- Genioglossus\n- Hyoglossus\n- Palatoglossus\n- Styloglossus", "VALUE:D" ], [ "600", "Brain\nCarotid artery\nDura\nLower cranial nerves (IX, X, XI, XII)\nMasticator space\nMediastinal structures\nPrevertebral space\nSkull base\n\nVery advanced disease, NOS\n\nFurther contiguous extension", "VALUE:D" ], [ "700", "Moderately advanced disease, NOS", "VALUE:RE" ], [ "999", "Unknown; extension not stated\nPrimary tumor cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_17757.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_17757.json deleted file mode 100644 index 8d7354393..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_17757.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_regional_nodes_17757", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Most common area of nodal metastases** \n* Regional lymph node metastases occur primarily in levels VI or VII located near the parathyroid.\n\n**Note 3:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kakar, S., Pawlik, T.M., Vauthey, J.N., et al. **Exocrine Pancreas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:21.333Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Level VI - Anterior compartment group\n- Laterotracheal\n- Paralaryngeal\n- Paratracheal - above suprasternal notch\n- Perithyroidal\n- Precricoid (Delphian)\n- Prelaryngeal\n- Pretracheal - above suprasternal notch\n- Recurrent laryngeal\n\nLevel VII - Superior mediastinal group (for other mediastinal node(s), see EOD Mets)\n- Esophageal groove\n- Paratracheal - below suprasternal notch\n- Pretracheal - below suprasternal notch", "VALUE:RN" ], [ "400", "Unilateral, bilateral or contralateral nodes\n\nLevel I\n- Level IA - Submental\n- Level IB - Submandibular (submaxillary), sublingual\n\nLevel II - Upper jugular\n- Jugulodigastric (subdigastric)\n- Level IIA - Anterior\n- Level IIB - Posterior \n- Upper deep cervical \n\nLevel III - Middle jugular\n- Middle deep cervical\n\nLevel IV - Lower jugular\n- Jugulo-omohyoid (supraomohyoid)\n- Lower deep cervical \n- Virchow node\n\nLevel V - Posterior triangle group\n- Posterior cervical\n- Level VA - Spinal accessory \n- Level VB - Transverse cervical, supraclavicular \n\nOther lymph nodes\n- Cervical, NOS\n- Deep cervical, NOS\n- Facial\n + Buccinator (buccal)\n + Mandibular\n + Nasolabial\n- Internal jugular, NOS\n- Parapharyngeal \n- Parotid\n + Infraauricular\n + Intraparotid\n + Periparotid\n + Preauricular\n- Retroauricular (mastoid)\n- Retropharyngeal\n- Suboccipital", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_19661.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_19661.json deleted file mode 100644 index f520f2cc4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_19661.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_regional_nodes_19661", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Nodal metastasis rare** \n* Regional lymph node involvement is rare. For this schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative. \n* Code unknown (999) only when there is no available information on the extent of the patient's disease, for example when a lab-only case is abstracted from a biopsy report and no clinical history is available.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Raut, C.P., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Abdomen and Thoracic Visceral Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:09.395Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_27397.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_27397.json deleted file mode 100644 index 9e01da90a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_27397.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_regional_nodes_27397", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional and distant lymph nodes** \n* All lymph nodes (regional and distant) involvement is coded in this field.\n\n**Note 2:** **Regional lymph nodes include**\n* Cervical\n* Parotid\n* Preauricular\n* Submandibular\n\n**Note 3:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Heegaard, S., Finger, P.T., et al. **Ocular Adnexal Lymphoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:59.880Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "SINGLE lymph node region superior to the mediastinum", "VALUE:RN" ], [ "400", "MULTIPLE lymph node regions superior to the mediastinum", "VALUE:RN" ], [ "500", "Unknown number of lymph node region(s)\nOR regions draining the ocular adnexal structures \nand superior to the mediastinum", "VALUE:RN" ], [ "600", "Mediastinal", "VALUE:D" ], [ "700", "Diffuse OR disseminated involvement of peripheral and central lymph node regions", "VALUE:D" ], [ "750", "Distant lymph node(s), NOS", "VALUE:D" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_36710.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_36710.json deleted file mode 100644 index 6f9014db9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_36710.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_regional_nodes_36710", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Rosen, S.T., Jaffe, E.S., Leonard, J.P., et al. **Primary Cutaneous Lymphomas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:00.339Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Peripheral node involvement\nPeripheral node region that drains an area of current or prior skin involvement", "VALUE:RN" ], [ "400", "Peripheral node involvement \nTwo or more peripheral node regions \nOR involvement of any lymph node region that does not drain an area of current or prior skin involvement", "VALUE:RN" ], [ "500", "Central nodes", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_67072.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_67072.json deleted file mode 100644 index 5e7ebd29e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_67072.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_regional_nodes_67072", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Nodal metastasis rare** \n* Regional lymph node involvement is rare. For this schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative. \n* Code unknown (999) only when there is no available information on the extent of the patient's disease, for example when a lab-only case is abstracted from a biopsy report and no clinical history is available.\n\n**Note 3:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Raut, C.P., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Abdomen and Thoracic Visceral Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:20.500Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "All sites\n- Aortic (above diaphragm), NOS\n + Peri/para-aortic, NOS\n * Ascending aorta (phrenic)\n + Subaortic (aortico-pulmonary window)\n- Carinal (tracheobronchial) (tracheal bifurcation)\n- Mediastinal (anterior, posterior [tracheoesophageal], NOS)\n- Pericardial\n- Peri-/paraesophageal\n- Peri-/tracheal (lower [azygos], upper, NOS)\n- Pretracheal and retrotracheal (precarinal), NOS\n- Pulmonary ligament\n- Subcarinal\n\nPleura (C384)\n- Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n- Intrapulmonary, NOS:\n- Interlobar\n- Lobar\n- Segmental\n- Subsegmental\n- Peri/parabronchial\n- Precarinal", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69051.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69051.json deleted file mode 100644 index c6cffa872..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69051.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_regional_nodes_69051", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bergsland, E.K., Woltering, E.A., Klimstra, D.S., et al. **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:49.603Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Anterior to ampulla of Vater \nInferior to ampulla of Vater\nPosterior to ampulla of Vater\nSuperior to ampulla of Vater\n\nCeliac\nHepatic \nHepatic artery\nLateral aortic (lumbar)\nNode of foramen of Winslow (epiploic) (omental)\nPancreaticoduodenal\nPeripancreatic (excluding nodes at tail of pancreas)\nPeriportal (portal vein)\nProximal mesenteric\nPyloric (infrapyloric, subpyloric)\nRetroperitoneal\nSuperior mesenteric", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69974.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69974.json deleted file mode 100644 index 2934b0a7e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_69974.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_regional_nodes_69974", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Nodal metastasis rare** \n* Regional lymph node involvement is rare. For this schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative. \n* Code unknown (999) only when there is no available information on the extent of the patient's disease, for example when a lab-only case is abstracted from a biopsy report and no clinical history is available.\n\n**Note 3:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Yoon, S.S., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Trunk and Extremities**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:27.691Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Arm/Shoulder \n- Axillary\n- Epitrochlear for hand/forearm\n- Spinal accessory (posterior cervical) for shoulder\n\nLeg/Hip\n- Popliteal for heel and calf\n- Superficial inguinal (femoral)\n\nUpper Trunk \n- Axillary\n- Cervical\n- Internal mammary\n- Supraclavicular (transverse cervical)\n\nLower Trunk \n- Superficial inguinal (femoral)", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_83435.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_83435.json deleted file mode 100644 index 7d021f12b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_83435.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_regional_nodes_83435", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bergsland, E.K., Woltering, E.A., Klimstra, D.S., et al. **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater,** from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-11-14T20:05:22.175Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Duodenal\nGastroduodenal\nHepatic\nInfrapyloric\nPancreatoduodenal\nPericholedochal (common bile duct)\nPyloric (subpyloric)\nSuperior mesenteric", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_91716.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_91716.json deleted file mode 100644 index 28c3ffe68..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_91716.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_regional_nodes_91716", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Definition of Head and Neck Lymph Nodes** \n* For head and neck schemas, this field includes all lymph nodes defined as Levels I-VII and Other by TNM. \n\n**Note 2:** **Laterality** \n* If laterality of lymph nodes is not specified, assume nodes are ipsilateral. Midline nodes are ipsilateral.\n\n**Note 3:** **Supraclavicular lymph nodes** \n* Supraclavicular lymph nodes can be either Level IV or Level V\n * Level IV: deep to the sternocleidomastoid muscle, in the lower jugular chain\n * Level V: in the posterior triangle, inferior to the transverse cervical artery, supraclavicular lymph nodes, NOS\n\n**Note 4:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Brandwein-Gensler, M., Shah, J.P., et al. **Mucosal Melanoma of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:06:06.152Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Level I \n- Level IA - Submental\n- Level IB - Submandibular (submaxillary), sublingual\n\nLevel II - Upper jugular\n- Jugulodigastric (subdigastric)\n- Upper deep cervical \n- Level IIA - Anterior\n- Level IIB - Posterior \n\nLevel III - Middle jugular\n- Middle deep cervical\n\nLevel IV - Lower jugular\n- Jugulo-omohyoid (supraomohyoid)\n- Lower deep cervical \n- Virchow node\n\nLevel V - Posterior triangle group\n- Posterior cervical\n- Level VA - Spinal accessory \n- Level VB - Transverse cervical, supraclavicular \n\nLevel VI - Anterior compartment group\n- Laterotracheal\n- Paralaryngeal\n- Paratracheal - above suprasternal notch\n- Perithyroidal\n- Precricoid (Delphian)\n- Prelaryngeal\n- Pretracheal - above suprasternal notch\n- Recurrent laryngeal\n\nLevel VII - Superior mediastinal group (for other mediastinal node(s), see EOD Mets)\n- Esophageal groove\n- Paratracheal - below suprasternal notch\n- Pretracheal - below suprasternal notch \n\nOther groups\n- Cervical, NOS\n- Deep cervical, NOS\n- Facial\n + Buccinator (buccal)\n + Mandibular\n + Nasolabial\n- Internal jugular, NOS\n- Parapharyngeal \n- Parotid\n + Infraauricular\n + Intraparotid\n + Periparotid\n + Preauricular\n- Retroauricular (mastoid)\n- Retropharyngeal\n- Suboccipital", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_93152.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_93152.json deleted file mode 100644 index 1b329e7e3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_93152.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_regional_nodes_93152", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Nodal metastasis rare** \n* Regional lymph node involvement is rare. For this schema, if there is no mention of lymph node involvement clinically, assume that lymph nodes are negative. \n* Code unknown (999) only when there is no available information on the extent of the patient's disease, for example when a lab-only case is abstracted from a biopsy report and no clinical history is available.\n\n**Note 3:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) O'Sullivan, B., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:40.530Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Head and Neck subsites\n- Cervical\n\nLip\n- Buccinator (buccal)\n- Facial, NOS\n- Mandibular (submandibular, submaxillary, submental)\n- Nasolabial \n- Parotid (infra-auricular, preauricular) \n\nEyelid/canthus\n- Facial (buccinator [buccal], nasolabial, NOS)\n- Mandibular (submandibular, submaxillary, submental)\n- Parotid, NOS (infra-auricular)\n\nExternal ear and auditory canal\n- Mastoid (posterior, retro-auricular) (occipital)\n- Preauricular\n\nFace, Other (cheek, chin, forehead, jaw, nose, and temple)\n - Facial, NOS (buccinator [buccal], nasolabial) \n - Mandibular (submandibular, submaxillary, submental)\n - Parotid (infra-auricular, preauricular)\n- Scalp\n- Mastoid (posterior, retro-auricular) (occipital)\n- Parotid (infra-auricular, preauricular)\n- Spinal accessory (posterior cervical)\n\nNeck\n- Axillary\n- Mandibular\n- Mastoid (posterior, retro-auricular) (occipital)\n- Parotid (infra-auricular, preauricular)\n- Spinal accessory (posterior cervical)\n- Submental (bilateral or contralateral)\n- Supraclavicular (transverse cervical)", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_copy_24179.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_copy_24179.json deleted file mode 100644 index b94fb8f4d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_copy_24179.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_regional_nodes_copy_24179", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Detterbeck, F.C., Marom, E.M. **Thymus**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-14T20:05:21.702Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Ascending aorta\nCervical (low anterior)\nMediastinal (lower, NOS)\nPara-aortic\nParatracheal, NOS\nPeri-thymic \nPeri-thyroid\nPericardial\nPhrenic (inferior, superior)\nPrecricoid/Delphian\nPretracheal\nPrevascular\nSupradiaphragmatic", "VALUE:RN" ], [ "400", "Hilar\nInternal mammary\nLower jugular\nMediastinal (middle)\nParatracheal (lower, upper)\nSubaortic/aortopulmonary window\nSubcarinal\nSupraclavicular/venous angle: confluence of internal jugular and subclavian vein", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_eyeother_16963.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_eyeother_16963.json deleted file mode 100644 index 535d20000..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_eyeother_16963.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_regional_nodes_eyeother_16963", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n* Regional nodes include bilateral and contralateral involvement of named nodes.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:45.861Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Cervical NOS\n- Mandibular\n- Submandibular (submaxillary)\n\nParotid, NOS\n- Infra-auricular\n- Preauricular", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_lacrimal_sac_33881.json b/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_lacrimal_sac_33881.json deleted file mode 100644 index 30aebafad..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/seer_regional_nodes_lacrimal_sac_33881.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id" : "seer_regional_nodes_lacrimal_sac_33881", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "EOD Regional Nodes", - "title" : "EOD Regional Nodes", - "notes" : "**Note 1:** **Regional nodes and nodes, NOS** \n* Code only regional nodes and nodes, NOS, in this field. Distant nodes are coded in EOD Mets.\n\n**Note 2:** **Lymph nodes, NOS** \n* Code 800 if regional lymph nodes are involved, but there is no indication which ones are involved.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2025-11-14T20:05:46.231Z", - "definition" : [ { - "key" : "eod_regional_nodes", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "ss2018_n", - "name" : "SS2018 N", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "000", "No regional lymph node involvement", "VALUE:NONE" ], [ "300", "Cervical\nMandibular, NOS\n- Submandibular (submaxillary)\n\nParotid, NOS\n- Infra-auricular\n - Preauricular", "VALUE:RN" ], [ "800", "Regional lymph node(s), NOS\nLymph node(s), NOS", "VALUE:RN" ], [ "999", "Unknown; regional lymph node(s) not stated\nRegional lymph node(s) cannot be assessed\nNot documented in medical record\n\nDeath Certificate Only", "VALUE:U" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_exam_7235.json b/src/test/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_exam_7235.json deleted file mode 100644 index 2a161d562..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_exam_7235.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "sentinel_nodes_exam_7235", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Sentinel Nodes Exam", - "title" : "Sentinel Lymph Nodes Examined", - "description" : "Records the total number of lymph nodes sampled during the sentinel node biopsy and examined by the pathologist", - "notes" : "**Note:** Record this field even if there has been preoperative treatment.", - "last_modified" : "2021-04-08T19:59:11.187Z", - "definition" : [ { - "key" : "sentinel_nodes_examined", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No sentinel nodes were examined" ], [ "01-89", "1 - 89 Sentinel nodes were examined (code the exact number of sentinel lymph nodes examined)" ], [ "90", "90 or more Sentinel nodes examined" ], [ "95", "No sentinel nodes were removed, but aspiration of sentinel node(s) was performed" ], [ "98", "Sentinel lymph nodes were biopsied, but the number is unknown" ], [ "99", "It is unknown whether sentinel nodes were examined\nNot stated in medical record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_pos_95909.json b/src/test/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_pos_95909.json deleted file mode 100644 index 2125dd7c7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/sentinel_nodes_pos_95909.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "sentinel_nodes_pos_95909", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Sentinel Nodes Pos", - "title" : "Sentinel Lymph Nodes Positive", - "description" : "Records the total number of lymph nodes sampled during the sentinel node biopsy and examined by the pathologist.", - "notes" : "**Note:** Record this field even if there has been preoperative treatment.", - "last_modified" : "2021-04-08T19:58:52.994Z", - "definition" : [ { - "key" : "sentinel_nodes_positive", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "All sentinel nodes examined are negative" ], [ "01-89", "1 - 89 Sentinel nodes are positive (code exact number of nodes positive)" ], [ "90", "90 or more Sentinel nodes are positive" ], [ "95", "Positive aspiration of sentinel lymph node(s) was performed" ], [ "97", "Positive sentinel nodes are documented, but the number is unspecified; For breast ONLY: SLN and RLND occurred during the same procedure" ], [ "98", "No sentinel nodes were biopsied" ], [ "99", "It is unknown whether sentinel nodes are positive\nNot applicable\nNot stated in medical record" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/separate_tumor_nodules_69006.json b/src/test/resources/algorithms/eod_public/3.3/tables/separate_tumor_nodules_69006.json deleted file mode 100644 index 013f61931..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/separate_tumor_nodules_69006.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "separate_tumor_nodules_69006", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Separate Tumor Nodules", - "title" : "Separate Tumor Nodules", - "description" : "“Separate tumor nodules” refers to what is conceptually a single tumor with intrapulmonary metastasis in the ipsilateral (same) lung. Their presence in the same or different lobes of lung from the primary tumor affects the T and M categories.\n\nSeparate tumor nodules are defined as intrapulmonary metastasis identified in the same lobe or same lung (ipsilateral) originating from a single lung primary at the time of diagnosis. Biopsy of tumors may or may not be performed. So long as there is a strong suspicion the multiple lesions are of the same histological type by imaging, physician judgement, or microscopically, this meets the criteria of separate tumor nodules representing intrapulmonary metastases. The presence of metastases to extrathoracic sites does not change this distinction.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Separate Tumor Nodules in the ipsilateral (same) lung can be used to code this data item when no other information is available. See discussion of terminology in Note 3. \n * Separate tumor nodules in the contralateral lung are not coded in this data item.\n\n**Note 2:** **Intrapulmonary Metastasis** \n* Code the presence and location of separate tumor nodules with the same histologic type, also known as intrapulmonary metastasis, at the time of diagnosis in this item. \n * Separate tumor nodules can be defined clinically (by imaging) and/or pathologically. \n * They can be in the same or different lobes of the same lung as the primary tumor. \n * In the case of multiple tumor nodules determined to be the same primary, if not all nodules are biopsies, assume they are the same histology\n\n**Note 3:** **Situations NOT coded in this data item**\n* Other situations that display multiple lesions are NOT coded in this item. Assign code 0 if the multiple lesions belong to one of these other situations. Refer to the AJCC Staging System Lung for standardized and precise definitions of the situations which aren’t separate tumor nodules. They are \n * Second primary tumors, also called synchronous primary tumors (not the same histology as the primary tumor) \n * Multifocal lung adenocarcinoma with ground glass/lepidic features \n * Diffuse pneumonic adenocarcinoma\n\n**Note 4:** **Definition of Synchronous** \n* \"Synchronous\" describes the appearance in time compared to the primary tumor\n* Do not code this item based solely on the word \"synchronous\". \n* If separate nodules are described as \"metachronous,\" the nodules may be evidence of progression of disease in which case they would not be coded here.", - "last_modified" : "2025-11-05T21:58:26.403Z", - "definition" : [ { - "key" : "separate_tumor_nodules", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No separate tumor nodules; single tumor only\nSeparate tumor nodules of same histologic type not identified/not present\nIntrapulmonary metastasis not identified/not present\nMultiple nodules described as multiple foci of adenocarcinoma in situ or minimally invasive adenocarcinoma\n\nNon-invasive neoplasm (behavior /2)" ], [ "1", "Separate tumor nodules of same histologic type in ipsilateral lung, same lobe" ], [ "2", "Separate tumor nodules of same histologic type in ipsilateral lung, different lobe" ], [ "3", "Separate tumor nodules of same histologic type in ipsilateral lung, same AND different lobes" ], [ "4", "Separate tumor nodules of same histologic type in ipsilateral lung, unknown if same or different lobe(s)" ], [ "7", "Multiple nodules or foci of tumor present, not classifiable based on Notes 2 and 3" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nSeparate Tumor Nodules not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** imaging reports and pathology reports\n\nFor further information, refer to the **Lung** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Lung*.", - "coding_guidelines" : "Record the presence of separate tumor nodules within the same ipsilateral lobe and/or different lobes of the same lung which are considered a single primary. The histology of the separate tumors must be the same. Histology may be determined clinically (presumed to be the same based on imaging or physician judgement) or microscopically confirmed.\n\n**1)** **Code 0** when \n* Non-invasive neoplasm (/2 behavior)\n* SINGLE TUMOR nodule only\n* Separate tumor nodules present with DIFFERENT HISTOLOGIES\n* Relevant imaging or resection is performed and there is no mention of separate tumor nodules \n * Multiple histologies with\n * Second primary tumors, also called synchronous primary tumors (not the same histology as the primary tumor)\n * Multifocal lung adenocarcinoma with ground glass/lepidic features\n * Diffuse pneumonic adenocarcinoma\n\n**2)** **Code 1** when \n* Separate tumor nodules present in the SAME LOBE with the SAME HISTOLOGY \n\n**3)** **Code 2** when \n* Separate tumor nodules present in DIFFERENT LOBES of the SAME LUNG (ipsilateral) with the SAME HISTOLOGY.\n\n**4)** **Code 3** when \n* Separate tumor nodules present in SAME LOBE AND DIFFERENT LOBES of the SAME LUNG with the SAME HISTOLOGY.\n\n**5)** **Code 4** when \n* Separate tumor nodules present in SAME LUNG with the SAME HISTOLOGY and it’s UNKNOWN IF they are in the SAME LOBE OR DIFFERENT LOBES.\n\n**6)** **Code 7** when\n* There are multiple tumor nodules or foci and the terminology used is not readily identifiable as one of the situations described in Note 4 and no other information is available (including consulting with physician) is available. (Do not use this information in staging the primary tumor)\n\n**7)** **Code 9** when\n* There is no relevant imaging or resection of the primary site", - "rationale" : "This data item was previously collected for Lung, SSF #1 and at least one standard setter is continuing to collect it." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/serum_alb_pretx_level_58159.json b/src/test/resources/algorithms/eod_public/3.3/tables/serum_alb_pretx_level_58159.json deleted file mode 100644 index d3b759adf..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/serum_alb_pretx_level_58159.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "serum_alb_pretx_level_58159", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Serum Albumin Pretreatment Level", - "title" : "Serum Albumin Pretreatment Level", - "description" : "Albumin is the most abundant protein in human blood plasma. Serum albumin pretreatment level is a prognostic factor for plasma cell myeloma.\n\nThe Revised International Staging System (R-ISS or RISS) is now used to stage plasma cell myeloma (9732/3), using several different criteria. The stages are based on the absence or presence of the following related criteria. \n* 3931: Serum Beta-2 Microglobulin Pretreatment Level\n* 3930: Serum Albumin Pretreatment Level\n* 3857: High Risk Cytogenetics\n* 3869: LDH Level\n\nRequired for Staging: The AJCC Staging System Plasma Cell Myeloma and Plasma Cell Disorders (9732/3 only) and EOD. \n* Note: R-ISS stage is not applicable for the descriptions of plasma multiple myeloma that are listed in the codes 1 and 9 in the SSDI Schema Discriminator 1: Plasma Cell Myeloma Terminology. If you have coded 1 or 9 for this Schema Discriminator, the four data items listed above are BLANK.\n\nThe R-ISS stages are\n* Stage I: Serum Beta-2-microglobulin <3.5 mg/L and serum albumin > 3.5 g/dL and no high-risk cytogenetics and Normal LDH\n* Stage II: Not R-ISS I or III\n* Stage III: Serum Beta-2-microglobulin > 5.5 mg/L and high-risk cytogenetics and/or high LDH", - "notes" : "**Note 1:** **Physician statement**\n* Physician statement of Serum Albumin Pretreatment Level can be used to code this data item when no other information is available.\n\n**Note 2:** **Pretreatment results only**\n* Record this data item based on a **blood test** performed at diagnosis (pre-treatment). Use the highest value available.\n * The actual test may not state serum; however, as long as the test results are **based on blood (includes plasma)**, they can be used.\n * Albumin results from a **urine test cannot be used** to code this data item.\n* To use the albumin test, **it must say \"Serum/Plasma/Blood.\"**\n\n**Note 3:** **Component of R-ISS Stage**\n* Serum albumin is part of the Revised International Staging (R-ISS). \n * A lab value expressed in grams per liter (g/L) is 10 times the same value expressed in g/dL; therefore, the cut point of 3.5 g/dL is equivalent to 35 g/L.\n* Elevated serum albumin is defined by ≥3.5 g/dL.\n* Use the cut points listed in the table below regardless of the lab’s reference range.\n * **Code 1** if physician states **RISS Stage 1** and there is no other information", - "last_modified" : "2025-06-04T20:21:43.117Z", - "definition" : [ { - "key" : "serum_alb_pretx_level", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Serum albumin <3.5 g/dL " ], [ "1", "Serum albumin ≥3.5 g/dL " ], [ "5", "Schema Discriminator 1: Plasma Cell Myeloma Terminology coded to 1 or 9" ], [ "7", "Test ordered, results not in chart" ], [ "9", "Not documented in medical record\nSerum Albumin not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** laboratory tests (blood only)\n* Albumin Blood Test\n* Preoperative Blood Work\n* Total Protein and Albumin/Globulin (A/G) Ratio Test\n* Comprehensive metabolic profile (CMP)\n* Liver Function Test (LFT)/Hepatic Panel\n* Nutritional assessment Panels\n* Renal Function Panel", - "coding_guidelines" : "**1) Code 5** if Schema Discriminator 1: Plasma Cell Myeloma Terminology is coded to 1 or 9\n\n**2) Code 9** when there is no mention of the serum albumin", - "rationale" : "Serum albumin pretreatment level is a prognostic factor required in AJCC 8th edition, Chapter 82 Plasma Cell Myeloma and Plasma Cell Disorders, for the Revised International Staging System (R-ISS). It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/sex_assigned_at_birth_63290.json b/src/test/resources/algorithms/eod_public/3.3/tables/sex_assigned_at_birth_63290.json deleted file mode 100644 index 554c08579..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/sex_assigned_at_birth_63290.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "sex_assigned_at_birth_63290", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Sex Assigned At Birth", - "title" : "Sex Assigned At Birth", - "last_modified" : "2025-03-24T20:59:05.313Z", - "definition" : [ { - "key" : "sex_at_birth", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Male" ], [ "2", "Female" ], [ "9", "Not stated/Unknown" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/spread_through_air_spaces_stas_67834.json b/src/test/resources/algorithms/eod_public/3.3/tables/spread_through_air_spaces_stas_67834.json deleted file mode 100644 index adb8b72e4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/spread_through_air_spaces_stas_67834.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "spread_through_air_spaces_stas_67834", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Lung STAS", - "title" : "Lung Spread Through Air Spaces (STAS)", - "description" : "Spread Through Air Spaces (STAS) is defined as micropapillary clusters, solid nests, or single cells of tumor extending beyond the edge of the tumor into the air spaces of the surrounding lung parenchyma.", - "notes" : "***Any questions regarding this SSDI are to be posted in the AJCC CAnswer Forum***\n\n**Note 1:** **Effective years**\n- This SSDI is effective for diagnosis years 2026+. \n- For cases diagnosed 2018-2025, this SSDI must be blank.\n\n**Note 2:** **Physician Statement**\n- Physician statement of STAS can be used to code this data item when no other information is available.\n\n**Note 3:** **Criteria for coding**\n- A surgical resection must be done to determine if there is STAS.\n - *Exception:* In situ tumors (/2) can be coded 0 based on biopsy or surgical resection\n - If no surgical resection done, see code 9\n\n**Note 4:** **CAP Protocol or Synoptic Pathology Report**\n- Only record the information from the CAP Protocol or synoptic pathology report\n - Codes 0, 1, 7 may not be assigned if they are not included in the CAP Protocol or synoptic pathology report", - "last_modified" : "2025-11-06T18:31:48.493Z", - "definition" : [ { - "key" : "stas", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Not identified" ], [ "1", "Present" ], [ "8", "Not applicable: information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error)." ], [ "9", "No surgical resection done\nSurgical resection done and STAS not documented in the CAP Protocol or synoptic pathology report\nSTAS not assessed or unknown if assessed or cannot be determined" ], [ "", "Must be blank if diagnosis year is before 2026" ] ], - "additional_info" : "**Source documents**: CAP protocol or synoptic pathology report\n\nFor further information, refer to the **Lung Resection cancer protocol** published by the College of American Pathologists for the AJCC Staging System *Lung*.\n\n**Any questions regarding this SSDI are to be posted in the AJCC Forum.**", - "coding_guidelines" : "**1)** Record the STAS score as stated on the CAP Protocol or synoptic pathology report\n\n**2)** **Code 9** when\n* Surgical resection of the primary site is performed and the presence/absence of STAS is not documented in the CAP Protocol or synoptic pathology report\n* No surgical resection is done\n* Surgical pathology report is not available", - "rationale" : "Initial studies have shown that the presence of STAS is associated with an increased incidence of recurrence in tumors that have undergone limited resection (e.g., segmentectomy, wedge resection)." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_44993.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_44993.json deleted file mode 100644 index 895d8cd66..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_44993.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_44993", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Myeloma and Plasma Cell Disorders", - "title" : "Summary Stage 2018: Myeloma and Plasma Cell Disorders", - "subtitle" : "Summary Stage 2018", - "notes" : "**Myeloma and Plasma Cell Disorders**\n\n**The preferred histology terms listed in this schema are from the 2024 WHO Classification of Tumours, Haematolymphoid Tumours, 5th edition.**\n\n* 9671: Lymphoplasmacytic lymphoma (LPL) *(EXCEPT C441, C690, C695-C696)*\n * C700-C729, C751-C753 (2018-2022 only) (See Note 2)\n* 9731: Solitary plasmacytoma of bone (SPB)\n* 9732: Plasma Cell Myeloma (PCM)\n* 9734: Extramedullary plasmacytoma (EMP) *(EXCEPT C441, C690, C695-C696)*\n* 9761: Waldenstrom macroglobulinemia (WM)\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 82 *Plasma Cell Myeloma and Plasma Cell Disorder*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Histologies moved to Brain, CNS, Intracranial Gland** \n* For the histology listed below, this has moved to the Brain, CNS Other, and Intracranial Gland Summary Stage chapters starting with 2023 diagnoses. If you have one of these cases for 2018-2022, then this is the appropriate chapter. If you have one of these cases diagnosed on January 1, 2023, forward, see the appropriate chapter\n* 9671 \n * **Brain**: C700, C710-C719\n * **CNS Other**: C701, C709, C720-C725, C728-C729\n * **Intracranial Gland**: C751-C753\n\n**Note 3:** **Not applicable codes** \n* Codes 0, 2, and 4 are not applicable for this chapter.\n\n**Note 4:** **Definition of Plasma cell myeloma** \n* Plasma cell myeloma/multiple myeloma (9732) is a widely disseminated plasma cell neoplasm, characterized by a single clone of plasma cells derived from B cells that grows in the bone marrow. It is always coded to 7 for systemic involvement.\n\n**Note 5:** **Lymphoplasmacytic lymphoma** \n* Lymphoplasmacytic lymphoma (9671) and Waldenstrom Macroglobulinemia (9761) are now collected with the plasma cell disorders. \n* These are systemic diseases and should always be coded 7.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Bergsagel, P.L., Jaffe, E.S., Leonard, J.P., et al. **Plasma Cell Myeloma and Plasma Cell Disorders**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-09-25T13:11:26.328Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only**\n- Single plasmacytoma occurring in bone (osseous or medullary) (9731)\n + WITH or WITHOUT soft tissue extension\n\n- Single plasmacytoma, NOS (9734)\n + Single plasmacytoma occurring outside of bone (extraosseous or extramedullary) (9734)" ], [ "3", "**Regional lymph node(s) involved only**\n- Extraosseous plasmacytomas only (9734)\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Lymphoplasmacytic lymphoma (9671)\n- Plasma cell myeloma (9732)\n + Multiple myeloma\n + Myeloma, NOS\n + Multiple extraosseous or extramedullary plasmacytomas \n + Multiple osseous or medullary plasmacytomas \n + Multiple plasmacytomas, NOS\n\n- Waldenstrom Macroglobulinemia (9761)" ], [ "9", "Unknown if extension or metastasis (applicable for 9731 and 9734 only)" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_adnexa_uterine_other_values_44976.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_adnexa_uterine_other_values_44976.json deleted file mode 100644 index 3a9018f27..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_adnexa_uterine_other_values_44976.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ss2018_adnexa_uterine_other_values_44976", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Derived SS2018: Adnexa Uterine Other", - "title" : "Derived Summary Stage 2018: Adnexa Uterine Other", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T18:43:31.634Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to tissue or organ of origin" ], [ "2", "Regional by direct extension only\n- Corpus uteri\n- Fallopian tube for ligaments\n- Mesosalpinx, ipsilateral\n- Ovary, ipsilateral \n- Peritoneum\n- Uterus, NOS" ], [ "3", "Regional lymph node(s) involved only\n\n- Para-aortic, NOS\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n\n- Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\n- Retroperitoneal, NOS\n\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Cervix uteri\n + Cul de sac (rectouterine pouch)\n + Omentum\n + Ovary, contralateral\n + Rectosigmoid\n + Sigmoid\n + Small intestine\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_adrenal_gland_including_net_adrenal_70096.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_adrenal_gland_including_net_adrenal_70096.json deleted file mode 100644 index aef92f3c1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_adrenal_gland_including_net_adrenal_70096.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_adrenal_gland_including_net_adrenal_70096", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Adrenal Gland", - "title" : "Summary Stage 2018: Adrenal Gland", - "subtitle" : "Summary Stage 2018", - "notes" : "**Adrenal Gland**\n\n8000-8700, 8720-8790\n\nC740-C741, C749, C755\nC740 Cortex of adrenal gland \nC741 Medulla of adrenal gland \nC749 Adrenal gland, NOS \nC755 Aortic body and other paraganglioma (*Histologies 8680, 8690, 8692-8693, 8700 only*)\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx\n* Chapter 76 *Adrenal Cortical Carcinoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Chapter 77 *Adrenal-Neuroendocrine Tumors*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Adrenal Gland sites** \n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Phan, A.T., Perrier, N.D., et al. **Adrenal Cortical Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Jimenez, C., Perrier, N.D., et al. **Adrenal - Neuroendocrine Tumors**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-18T12:45:09.001Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to adrenal gland, no extra-adrenal invasion" ], [ "2", "**Regional by direct extension only**\n- Adjacent connective tissue\n- Gerota's fascia\n- Invasion of adjacent organs\n + Blood vessels (large)\n * Renal vein\n * Vena cava \n + Kidney \n + Retroperitoneal structures including\n * Great vessels (aorta, inferior vena cava)" ], [ "3", "**Regional lymph node(s) involved only**\n- Aortic, NOS\n + Para-aortic\n + Periaortic\n- Pericaval, NOS\n + Paracaval\n + Precaval\n + Retrocaval\n- Retroperitoneal, NOS\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Bone\n + Diaphragm\n + Liver\n + Lung\n + Pancreas\n + Spleen\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ampulla_of_vater_including_net_96311.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ampulla_of_vater_including_net_96311.json deleted file mode 100644 index ba95384e5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ampulla_of_vater_including_net_96311.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_ampulla_of_vater_including_net_96311", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Ampulla of Vater", - "title" : "Summary Stage 2018: Ampulla of Vater", - "subtitle" : "Summary Stage 2018", - "notes" : "**Ampulla of Vater**\n\n8000-8700, 8720-8790\n\nC241\nC241 Ampulla of Vater\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 27 *Ampulla of Vater*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Chapter 30 *Neuroendocrine Tumors of the Duodenum and Ampulla of Vater*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* *Neuroendocrine Tumors of the Duodenum and Ampulla of Vater*, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Ampulla of Vater sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Herman, J.M., Pawlik, T.M., Vauthey, J.N., et al. **Ampulla of Vater**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Bergsland, E.K., Woltering, E.A., Klimstra, D.S., et al. **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater,** from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2024-08-22T15:52:42.306Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive**" ], [ "1", "**Localized only (localized, NOS)**\n- Ampulla of Vater\n- Confined to ampulla, NOS\n- Duodenal submucosa\n- Perisphincteric invasion (invasion beyond sphincter of Oddi)\n- Sphincter of Oddi" ], [ "2", "**Regional by direct extension only**\n- Blood vessel(s) (major)\n + Common hepatic artery\n + Portal vein\n + Superior mesenteric artery\n- Celiac axis\n- Common bile duct\n- Duodenum, NOS \n- Extrahepatic bile duct(s) \n- Gallbladder\n- Hepatic flexure of colon\n- Lesser omentum\n- Liver including porta hepatis\n- Muscularis propria of the duodenum (duodenal wall)\n- Pancreas\n- Stomach (distal, proximal, NOS)\n- Transverse colon" ], [ "3", "**Regional lymph node(s) involved only**\n- Anterior to ampulla of Vater \n- Inferior to ampulla of Vater\n- Posterior to ampulla of Vater\n- Superior to ampulla of Vater\n- Celiac\n- Hepatic \n- Hepatic artery\n- Lateral aortic (lumbar)\n- Node of foramen of the Winslow (epiploic) (omental)\n- Pancreaticoduodenal\n- Peripancreatic (excluding nodes at tail of pancreas)\n- Periportal (portal vein)\n- Proximal mesenteric\n- Pyloric (infrapyloric, subpyloric)\n- Retroperitoneal\n- Superior mesenteric\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant sites (including further contiguous extension) \n + Periduodenal or peripancreatic soft tissue\n- Distant lymph node(s), NOS\n + At tail of pancreas\n + Para-aortic\n + Splenic\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant mets WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_anus_55561.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_anus_55561.json deleted file mode 100644 index da1feb273..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_anus_55561.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_anus_55561", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Anus", - "title" : "Summary Stage 2018: Anus", - "subtitle" : "Summary Stage 2018", - "notes" : "**Anus and Anal Canal**\n\n8000-8700, 8720-8790\n\nC210-C212, C218\nC210 Anus, NOS (excluding skin of anus and perianal skin C445)\nC211 Anal canal\nC212 Cloacogenic zone\nC218 Overlapping lesion of rectum, anus and anal canal \n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 21 *Anus*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n*Anus, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Anus sites**\n\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Welton, M.L., Jessup, J.M., et al. **Anus**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) **Anus**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2024-05-16T15:10:11.421Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive** \n- Anal intraepithelial neoplasia III \n- Bowen disease" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to anus, NOS\n- Incidental finding of malignancy in hemorrhoid, NOS\n- Intramucosa\n- Lamina propria\n- Mucosa, NOS\n- Muscularis mucosae\n- Muscularis propria (internal sphincter)\n- Submucosa (superficial invasion)" ], [ "2", "**Regional by direct extension only**\n- Ischiorectal fat/tissue\n- Perianal skin\n- Perineum\n- Perirectal skin\n- Rectal mucosa or submucosa\n- Rectal wall\n- Skeletal muscle(s)\n + Anal sphincter (external)\n + Levator ani\n- Subcutaneous perianal tissue\n- Vulva" ], [ "3", "**Regional lymph node(s) involved only**\n- Anorectal\n- External iliac\n- Inferior hemorrhoidal\n- Inguinal (femoral) (deep, superficial)\n- Internal iliac (hypogastric)\n- Lateral sacral (laterosacral)\n- Mesorectal\n- Obturator\n- Perirectal\n- Superior rectal (hemorrhoidal) (femoral)\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Bladder\n + Broad ligament(s)\n + Cervix uteri\n + Corpus uteri\n + Pelvic peritoneum\n + Prostate\n + Urethra\n + Vagina\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastases WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_appendix_including_netl_54459.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_appendix_including_netl_54459.json deleted file mode 100644 index 605c096d1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_appendix_including_netl_54459.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_appendix_including_netl_54459", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Appendix", - "title" : "Summary Stage 2018: Appendix", - "subtitle" : "Summary Stage 2018", - "notes" : "**Appendix**\n\n8000-8700, 8720-8790\n\nC181\nC181 Appendix\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 19 *Appendix - Carcinoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Chapter 32 *Neuroendocrine Tumors of the Appendix*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* *Appendix*, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.\n* *Neuroendocrine Tumors of the Appendix*, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Appendix sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **LAMN tumor: Behavior** \n* LAMN tumors (8480) can be either in situ (behavior 2) or malignant (behavior 3). \n* If the tumor is confined to the muscularis propria, it is an in-situ tumor (behavior 2) \n* If the tumor extends beyond the muscularis propria, it is a malignant tumor (behavior 3)\n\n**Note 4:** **LAMN tumor: Localized tumor** \n* Code 1 (Localized) for LAMN's when the only statement is \"Tumor invades through the muscularis propria into subserosa or mesoappendix but does not extend to serosal surface\" and there isn't enough information to clarify subserosa versus mesoappendix. \n\n**Note 5:** **LAMN tumor: Regional nodal metastasis** \n* Nodal metastasis is very rare in low-grade appendiceal neoplasms (LAMN). \n* If there is no mention of lymph nodes in the pathology report for a LAMN, assume that there are no nodal metastasis.\n\n**Note 6:** ** Invasion of subserosa or mesoappendix**\n* Code 1 when the only statement is \"Tumor invades through the muscularis propria into subserosa or mesoappendix but does not extend to serosal surface\" and there isn't enough information to clarify subserosa versus mesoappendix.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Overman, M.J., Jessup, J.M., et al. **Appendix - Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Woltering, E.A., Bergsland, E.K., et al. **Neuroendocrine Tumors of the Appendix**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) **Appendix**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n(8) **Neuroendocrine Tumors of the Appendix**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-04-14T20:26:27.282Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive** \n- Acellular mucin or mucinous epithelium may invade into the muscularis propria\n- (Adeno) carcinoma, noninvasive, in a polyp or adenoma\n- Low-grade appendiceal mucinous neoplasm confined by the muscularis propria (LAMN) (in situ)\n- High-grade appendiceal mucinous neoplasm confined by the muscularis propria (HAMN) (in situ)" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to appendix, NOS\n- Confined to polyp, NOS\n- Extension through wall, NOS\n- Invasion through muscularis propria\n- Lamina propria \n- Mucosa (intramucosal, NOS)\n- Muscularis mucosae\n- Non-peritonealized pericolic tissues invaded\n- Perimuscular tissue invaded\n- Submucosa \n- Subserosa \n - Includes acellular mucin or mucinous epithelium that extends into the subserosa (LAMN tumors)\n- Transmural, NOS\n- Wall, NOS" ], [ "2", "**Regional by direct extension only**\n- Abdominal wall\n- Adherent to other organs or structures\n- Adjacent tissue(s), NOS\n- Connective tissue\n- Fat, NOS\n- Greater omentum\n- Mesenteric fat\n- Mesentery \n- Mesoappendix\n - Includes acellular mucin or mucinous epithelium that extends into the mesoappendix \n - WITH or WITHOUT involvement of the serosa (LAMN tumors)\n- Pericolic fat\n- Retroperitoneum\n- Serosa (mesothelium) (visceral peritoneum)\n- Small intestine\n- Tumor found in adhesion(s) if microscopic examination performed" ], [ "3", "**Regional lymph node(s) involved only**\n- Tumor deposits (TD) in subserosa or mesentery WITHOUT regional lymph node metastases\n\n\n- Cecal\n + Anterior (prececal)\n + Posterior (retrocecal)\n + Right colic\n- Colic, NOS\n- Epicolic (adjacent to bowel wall)\n- Ileocolic\n- Mesenteric, NOS\n- Mesocolic, NOS\n- Paracolic/pericolic\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Adrenal (suprarenal) gland\n + Bladder\n + Diaphragm\n + Fallopian tube\n + Fistula to skin\n + Gallbladder\n + Intraperitoneal spread/peritoneal metastasis (peritoneal carcinomastosis)\n + WITH or WITHOUT peritoneal mucinous deposits containing tumor cells\n + Includes peritoneal spread with LAMN tumors\n + Kidney\n + Liver\n + Other segment(s) of colon/rectum via serosa\n + Ovary\n + Ureter\n + Uterus\n- Distant lymph node(s), NOS\n + Inferior mesenteric\n + Superior mesenteric\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_bladder_57733.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_bladder_57733.json deleted file mode 100644 index 0cf5cbab8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_bladder_57733.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_bladder_57733", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Bladder", - "title" : "Summary Stage 2018: Bladder", - "subtitle" : "Summary Stage 2018", - "notes" : "**Bladder**\n\n8000-8700, 8720-8790\n\nC670-C679\nC670 Trigone of bladder\nC671 Dome of bladder\nC672 Lateral wall of bladder\nC673 Anterior wall of bladder\nC674 Posterior wall of bladder\nC675 Bladder neck\nC676 Ureteric orifice\nC677 Urachus\nC678 Overlapping lesion of bladder\nC679 Bladder, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 62 *Urinary Bladder*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Bladder sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Flat and papillary bladder cancer**\n* The two main types of bladder cancer are the flat (sessile) variety and the papillary type. \n * The flat (sessile) variety is called in situ when tumor has not penetrated the basement membrane. \n * Papillary tumor that has not penetrated the basement membrane is called noninvasive.\n\n**Note 4:** **Noninvasive papillary transitional carcinoma** \n* Noninvasive papillary transitional carcinoma: Pathologists use many different descriptive terms for noninvasive papillary transitional cell carcinoma. \n* Frequently, the pathology report does not contain a definite statement of non-invasion; however, non-invasion can be inferred from the microscopic description. \n\n**Definite statements of non-invasion for papillary transitional cell carcinomas (Ta) include**\n- Noninfiltrating\n- Noninvasive\n- No evidence of invasion\n- No extension into lamina propria\n- No stromal invasion\n- No extension into underlying supporting tissue\n- Negative lamina propria and superficial muscle\n- Negative muscle and (subepithelial) connective tissue\n- No infiltrative behavior/component\n\n**Inferred descriptions of non-invasion for papillary transitional cell carcinomas include**\n- No involvement of muscularis propria and no mention of subepithelium/submucosa\n- No statement of invasion (microscopic description present)\n- (Underlying) Tissue insufficient to judge depth of invasion\n- No invasion of bladder wall\n- No involvement of muscularis propria\n- Benign deeper tissue\n- Microscopic description problematic (non-invasion versus superficial invasion)\n- Frond surfaced by transitional cell\n- No mural infiltration\n- No evidence of invasion (no sampled stroma)\n- Confined to mucosa \n\n**Note 5:** **Noninvasive (in situ) flat transitional cell carcinoma**\n* Careful attention must be given to the use of the term \"confined to mucosa\" for flat bladder carcinomas. \n* Historically, carcinomas described as \"confined to mucosa\" were coded as localized. However, pathologists use this designation for non-invasion as well. Pathologists also vary in their use of the terms \"invasion of mucosa, grade 1\" and \"invasion of mucosa, grade 2\" to distinguish between noninvasive and invasive carcinomas. In order to accurately code tumors described as \"confined to mucosa\", abstractors should determine\n - If the tumor is confined to the epithelium: then it is noninvasive (IS). \n - If the tumor has penetrated the basement membrane to invade the lamina propria: then it is invasive and coded to 1 for localized. The lamina propria and submucosa tend to merge when there is no muscularis mucosa, so these terms may be used interchangeably, along with stroma and subepithelial connective tissue. \n - If the distinction between involvement of the epithelium and lamina propria cannot be made, then the tumor should be coded as \"confined to mucosa, NOS\" (L).\n - Statements meaning confined to mucosa, NOS for flat transitional cell carcinomas include\n + Confined to mucosal surface\n + Limited to mucosa, no invasion of submucosa and muscularis\n + No infiltration/invasion of fibromuscular and muscular stroma\n + Superficial, NOS\n\n**Note 6:** **Extension through full thickness of bladder wall** \n* Code 2 for regional if the only description of extension is through full thickness of bladder wall, and there is no clear statement as to whether or not the cancer has extended into fat.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bochner, B.H., Hansel, D.E., Stadler, W.M., et al. **Urinary Bladder**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-18T15:18:12.645Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive**\n\nPapillary\n- Non-infiltrating or non-invasive papillary transitional cell carcinoma\n- Non-infiltrating or non-invasive papillary urothelial carcinoma\n- Papillary transitional cell carcinoma, with inferred description of non-invasion\n- Papillary urothelial carcinoma, with inferred description of non-invasion\n\nNonpapillary \n- Carcinoma in situ, NOS \n- Sessile (flat) (solid) carcinoma in situ \n- Transitional cell carcinoma in situ\n- Urothelial carcinoma (in situ, non-infiltrating, non-invasive)\n\nMultifocal non-invasive tumors" ], [ "1", "**Localized only (localized, NOS)**\n- Mucosa, NOS\n- Muscle (muscularis propria)\n + Deep muscle-outer half\n + Extension through full thickness of bladder wall\n + Superficial muscle-inner half\n- Submucosa\n + Lamina propria\n + Stroma\n + Subepithelial connective tissue\n + Tunica propria\n- Subserosa" ], [ "2", "**Regional by direct extension only**\n- Adventitia\n- Bladder is \"fixed\"\n- Extravesical tumor, NOS\n- Parametrium\n- Periprostatic tissue\n- Peritoneum\n- Periureteral fat/tissue\n- Perivesical fat/tissue\n- Prostate\n- Rectovesical/Denonvilliers' fascia\n- Seminal vesicle\n- Serosa (mesothelium) (to/through)\n- Tunica serosa (to/through)\n- Ureter\n- Urethra (including prostatic urethra)\n- Uterus\n- Vagina\n- Vas deferens" ], [ "3", "**Regional lymph node(s) involved only**\n- Iliac, NOS\n + External\n + Internal (hypogastric)\n- Obturator\n- Pelvic, NOS\n- Perivesical pelvic, NOS\n- Sacral, NOS\n + Lateral (laterosacral)\n + Presacral\n + Sacral promontory (Gerota's)\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Abdominal wall\n + Bone\n + Colon\n + Large intestine including rectum\n + Pelvic wall\n + Pubic bone\n + Small intestine\n- Distant lymph node(s), NOS\n + Common iliac\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_brain_67865.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_brain_67865.json deleted file mode 100644 index 553386002..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_brain_67865.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_brain_67865", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Brain", - "title" : "Summary Stage 2018: Brain", - "subtitle" : "Summary Stage 2018", - "notes" : "**Brain**\n\n**Any behavior:** \n* 8000-8700, 8720-8790, 8802, 8810, 8815, 8850, 8890, 8900, 9064, 9070-9071, 9080, 9084-9085, 9100-9105, 9120, 9133, 9140, 9180, 9220, 9364, 9380-9460, 9480-9500, 9505-9507, 9509-9540, 9680, 9699, 9702-9715, 9751-9759\n\n* 8710-8714, 8800-8801, 8803, 8811-8814, 8816-8818, 8820-8842, 8851-8858, 8860-8881, 8891-8898, 8902-8905, 8921, 8932-8934, 8940-8990, 8992, 9000-9016, 9030-9043, 9045-9063, 9065, 9072-9073, 9081-9083, 9086-9091, 9110-9111, 9121-9132, 9135-9138, 9141-9175, 9181-9213, 9221, 9230, 9240-9361, 9363, 9365, 9370-9373, 9541-9580, 9582 (2023+)\n * For years 2018-2022, see *Soft Tissue*\n* 9671 (2023+)\n * For years 2018-2022, see *Myeloma and Plasma Cell Disorders*\n* 9690, 9719 (2023+)\n * For years 2018-2022, see *Lymphoma*\n* 9362, 9470-9478, 9501-9504, 9508 (2018-2022 only) \n * For 2023+, see *Medulloblastoma*\n\n**Benign/Borderline histologies (/0, /1):** \n* 8804-8806, 8859, 8901, 8910-8920, 8930-8931, 8935-8936, 8991, 9020, 9044, 9222, 9231, 9366-9368, 9581, 9590-9663, 9673-9679, 9687-9689, 9691-9698, 9700-9701, 9716-9718, 9724-9742, 9761-9765, 9767-9993\n\nC700, C710-C719\nC700 Cerebral meninges \nC710 Cerebrum \nC711 Frontal lobe \nC712 Temporal lobe \nC713 Parietal lobe \nC714 Occipital lobe \nC715 Ventricle, NOS\nC716 Cerebellum, NOS\nC717 Brain stem\nC718 Overlapping lesion of brain\nC719 Brain, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 72 *Brain and Spinal Cord*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Brain and Spinal Cord, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Medulloblastoma** \n* For diagnoses January 1, 2023, and forward, the following histologies will be collected in the Medulloblastoma Summary Stage chapter\n * 9362, 9470-9478, 9501-9504, 9508\n * *Exception:* For C723 and 9473/3, see Orbital Sarcoma\n\n**Note 3:** **Other Summary Stage Chapters with Brain sites (/3 only)**\n* **GIST**: 8935-8936\n* **Lymphoma**: 9590, 9596-9663, 9673-9679, 9687-9698, 9716-9719, 9725-9726, 9735, 9737-9738, 9826-9827\n * *Note:* 9690, 9719 for 2018-2022 only\n* **Mycosis Fungoides**: 9700-9701\n* **Plasma cell disorders**: 9671, 9731, 9734, 9761\n * *Note:* 9671 for 2018-2022 only\n* **Soft Tissue**: 8804-8806, 8859, 8901, 8910-8920, 8930-8931, 8991, 9020, 9044, 9222, 9231, 9366-9368, 9581\n\n**Note 4:** **Only staging system**\n* Summary Stage is the only applicable staging system for this site/histology/schema.\n\n**Note 5:** **Benign/Borderline tumors** \n* Benign (/0) or Borderline (/1) tumors **are always coded to 8** regardless of size, extension to adjacent sites, or multiple tumors\n\n**Note 6:** **Not applicable codes** \n* Codes 0, 3, and 4 are not applicable for this chapter.\n\n**Note 7:** **Infratentorial and Supratentorial**\n* The tentorium cerebelli is an extension of the dura mater that separates the cerebellum from the inferior portion of the occipital lobes. \n* The location of the tumor above or below the tentorium can help in determining the type of tumor; also, most adult brain tumors are supratentorial, and most pediatric brain tumors are infratentorial. \n* In the following list, note that ICD-O-3 codes C710 and C719 include both supratentorial and infratentorial subsites.\n\n- The following subsites are **Infratentorial**\n * All subsites for codes C716-C717 \n * Hypothalamus (C710)\n * Pallium (C710)\n * Posterior cranial fossa (C719)\n * Thalamus (C710)\n- The following subsites are **Supratentorial**\n * All subsites for codes C711-C715\n * Primary site C710 (excluding hypothalamus, pallium, thalamus)\n * Anterior cranial fossa (C719)\n * Corpus callosum (C718)\n * Middle cranial fossa (C719)\n * Tapetum (C718)\n * Suprasellar (C719)\n\n**Note 8:** **Midline shift** \n* A midline shift is not the same thing as crossing the midline (code 2).\n * Documentation must state “crossing/crosses the midline”", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Laws, E.R., Curran, W.J., et al. **Brain and Spinal Cord**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Brain and Spinal Cord**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2024-05-18T15:14:04.113Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only (localized, NOS)**\n- Confined to brain, NOS\n- Confined to meninges, NOS\n- Confined to ventricles\n + Tumor invades or encroaches upon ventricular system\n- Infratentorial tumor confined to\n + Brain stem or meninges of brain stem (one side)\n * Medulla oblongata\n * Midbrain (mesencephalon)\n * Pons\n + Cerebellum or meninges of cerebellum (one side or midline)\n * Lateral lobes\n * Median lobe of cerebellum\n * Vermis\n + Hypothalamus\n + Thalamus\n- Infratentorial tumor\n + Both cerebellum and brain stem involved with tumor on one side\n- Supratentorial tumor confined to\n + Cerebral hemisphere (cerebrum) or meninges of cerebral hemisphere (one side)\n * Frontal lobe\n * Occipital lobe\n * Parietal lobe\n * Temporal lobe" ], [ "2", "**Regional by direct extension only**\nTumor crosses the midline\n\n* All sites\n - Bone (skull)\n - Contralateral hemisphere\n - Corpus callosum (including splenium)\n - Major blood vessel(s)\n - Meninges (e.g., dura)\n - Nerves (cranial, NOS)\n - Spinal cord/canal\n- Supratentorial tumor extends/invades infratentorially to involve\n + Brain stem\n + Cerebellum\n + Hypothalamus\n + Pallium\n + Posterior cranial fossa\n + Thalamus\n- Infratentorial tumor extends/invades supratentorially to involve\n + Anterior cranial fossa\n + Cerebrum (cerebral hemisphere) (excluding hypothalamus, pallium, thalamus)\n + Corpus callosum\n + Middle cranial fossa\n + Suprasellar brain\n + Tapetum" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Circulating cells in cerebral spinal fluid (CSF)\n + Nasal cavity\n + Nasopharynx\n + Other direct extension outside CNS\n + Posterior pharynx\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)\n + Metastasis within CNS and CSF pathways\n * \"Drop\" metastasis\n * Extra-neural metastasis \n * Metastasis outside the CNS" ], [ "8", "**Benign or borderline brain**\n* Behavior is /0 or /1" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_breast_69079.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_breast_69079.json deleted file mode 100644 index 23af8938c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_breast_69079.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_breast_69079", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Breast", - "title" : "Summary Stage 2018: Breast", - "subtitle" : "Summary Stage 2018", - "notes" : "**Breast**\n\n8000-8700, 8720-8790 [except C500], 8982-8983\n\nC500-C506, C508-C509\nC500 Nipple \nC501 Central portion of breast \nC502 Upper-inner quadrant of breast \nC503 Lower-inner quadrant of breast \nC504 Upper-outer quadrant of breast \nC505 Lower-outer quadrant of breast \nC506 Axillary Tail of breast \nC508 Overlapping lesion of breast \nC509 Breast, NOS \n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 48 *Breast*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Breast sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Skin (C500 only)**: 8720-8790\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-8981, 8990-9138, 9141-9582\n\n**Note 3:** **Dimpling, tethering** \n* Changes such as dimpling of the skin, tethering, and nipple retraction are caused by tension on Cooper's ligament(s), not by actual skin involvement. They do not alter the classification.\n\n**Note 4:** **Extension to skin or subcutaneous tissue** \n* Adherence, attachment, fixation, induration, and thickening are clinical evidence of extension to skin or subcutaneous tissue; assign code 2 for regional extension.\n\n**Note 5:** **\"Fixation\", NOS** \n* \"Fixation, NOS\" is involvement of pectoralis muscle; assign code 2 for regional extension.\n\n**Note 6:** **Clinical description of Inflammatory carcinoma**\n* For a clinical description of inflammation, erythema, edema, peau d'orange, or other terms describing skin changes with or without a stated diagnosis of inflammatory carcinoma, assign code 2 for regional extension.\n\n**Note 7:** **Isolated tumor cells (ITCs)** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). RT-PCR is a molecular method designed to find evidence of unique tumor or epithelial cell markers. \n* Lymph nodes with ITCs only or positive molecular findings (RT-PCR), or both ITCs and RT-PCR are **not** counted as positive nodes for Summary Stage\n\n**Note 8:** **Size of metastasis not stated** \n* If the pathology report indicates that nodes are positive, but size of the metastases is not stated, assume the metastases are greater than 0.2 mm and code the lymph nodes as positive in this field.\n\n**Note 9:** **Bone marrow micrometastasis** \n* Bone marrow micrometastasis, circulating tumor cells (CTCs) or disseminated tumor cells and clusters (DTCs) that are less than or equal to 0.2 mm are negative for metastasis in Summary Stage.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Hortobagyi, G.N., Giuliano, A., et al. **Breast**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-18T11:08:46.476Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive** \n- In situ: noninfiltrating; intraepithelial\n- Intraductal WITHOUT infiltration\n- Lobular neoplasia, grade 3 (LIN 3)\n- Paget disease, in situ" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to breast tissue and fat including nipple and/or areola\n- Paget disease WITH or WITHOUT underlying tumor" ], [ "2", "**Regional by direct extension only**\n- Attachment or fixation to pectoral muscle(s) or underlying tumor\n- Chest wall\n- Deep fixation\n- Extensive skin involvement WITH or WITHOUT dermal lymphatic filtration\n + Edema of skin\n + En cuirasse\n + Erythema\n + Inflammation of skin\n + Lenticular nodule(s)\n + Peau d'orange (\"pigskin\")\n + Satellite nodules\n + Skin edema\n + Ulceration of skin of breast\n- Inflammatory carcinoma, NOS\n- Intercostal or serratus anterior muscle(s)\n- Ipsilateral rib(s) (contiguous extension only, for discontiguous extension, see code 7)\n- Local infiltration of dermal lymphatics adjacent to primary tumor involving skin by direct extension\n- Pectoral fascia or muscle(s)\n- Subcutaneous tissue \n- Skin infiltration of primary breast including skin of nipple and/or areola" ], [ "3", "**Regional lymph node(s) involved only**\n- Axillary, NOS (ipsilateral)\n + Level I (low-axilla) (low) (superficial), NOS [adjacent to tail of breast]\n * Anterior (pectoral)\n * Lateral (brachial)\n * Posterior (subscapular)\n + Level II (mid-axilla) (central), NOS\n * Interpectoral (Rotter's)\n + Level III (high) (deep), NOS\n * Apical (subclavian)\n * Axillary vein\n- Fixed/matted axillary (level I and II) (ipsilateral) \n- Infraclavicular (subclavicular) (ipsilateral)\n- Internal mammary (parasternal) (ipsilateral) \n- Intramammary (ipsilateral)\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Adrenal (suprarenal) gland\n + Bone, including contralateral ribs\n + Contralateral (opposite) breast-if stated as metastatic\n + Ipsilateral rib(s) (discontiguous extension only, see code 2 for contiguous extension)\n + Lung\n + Ovary\n + Satellite nodule(s) in skin other than primary breast\n + Skin over\n * Axilla\n * Contralateral (opposite) breast\n * Sternum\n * Upper abdomen\n- Distant lymph node(s), NOS\n + Axillary (contralateral or bilateral)\n + Cervical, NOS\n + Fixed/matted axillary (level I and II) (contralateral or bilateral) \n + Infraclavicular (subclavicular) (contralateral or bilateral)\n + Internal mammary (parasternal) (contralateral or bilateral)\n + Intramammary (parasternal) (contralateral or bilateral)\n + Supraclavicular (transverse cervical) (ipsilateral, contralateral or bilateral)\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_buccal_mucosa_94903.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_buccal_mucosa_94903.json deleted file mode 100644 index e4fc9a1a7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_buccal_mucosa_94903.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_buccal_mucosa_94903", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Buccal Mucosa", - "title" : "Summary Stage 2018: Buccal Mucosa", - "subtitle" : "Summary Stage 2018", - "notes" : "**Buccal mucosa (excluding melanoma)**\n\n8000-8700, 8982\n\nC060-C061\nC060 Cheek mucosa\nC061 Vestibule of mouth\n\n**Note 1:** **Sources used in the development of this schema**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 7 *Oral Cavity*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Buccal Mucosa sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Head and Neck**: 8720-8790\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Periosteum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones. \n* Cortical bone is the dense compact outer layer of the bone. Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 4:** **Cortical bone** \n* Invasion through cortical bone is required for assignment of code 7.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-18T11:02:52.892Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to buccal mucosa (inner cheek), NOS\n- Lamina propria\n- Musculature (buccinator)\n- Submucosa" ], [ "2", "**Regional by direct extension only**\n- Gingiva\n- Lateral pharyngeal wall\n- Lip(s) including commissure\n- Subcutaneous soft tissue of cheek\n- Tonsillar pillars and fossae\n- Tonsils" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Bone, NOS\n * Cartilage (mandible, maxilla, NOS)\n * Cortical bone (mandible, maxilla, NOS)\n * Mandible, NOS\n * Maxilla, NOS\n * Palatine, NOS\n * Trabecular bone (mandible, maxilla, palatine, NOS)\n + Deep (extrinsic) muscle of tongue\n * Genioglossus\n * Hyoglossus\n * Palatoglossus\n * Styloglossus \n + Internal carotid artery (encased)\n + Masticator space\n + Maxillary sinus (antrum) \n + Nasal cavity\n + Pterygoid plates\n + Skin of cheek (WITH or WITHOUT ulceration)\n + Skull base\n + Specified bone (other than maxilla, mandible, palatine)\n + Tongue\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cervical_lymph_nodes_and_unknown_primary_tumor_8991.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cervical_lymph_nodes_and_unknown_primary_tumor_8991.json deleted file mode 100644 index 8a12d0d6e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cervical_lymph_nodes_and_unknown_primary_tumor_8991.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_cervical_lymph_nodes_and_unknown_primary_tumor_8991", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Cervical Lymph Nodes and Unknown Primary Tumors of Head and Neck", - "title" : "Summary Stage 2018: Cervical Lymph Nodes and Unknown Primary Tumors of Head and Neck", - "subtitle" : "Summary Stage 2018", - "notes" : "**Cervical Lymph Nodes and Unknown Primary Tumor of the Head and Neck**\n\n8010, 8046, 8051-8052, 8070-8074, 8082-8084, 8121, 8140, 8147, 8200, 8310, 8430, 8450, 8480, 8525, 8550, 8562, 8941\nSchema Discriminator 1 Occult Head and Neck Lymph Nodes: 2, 3, 4, 5\n\nC760\nC760 Head, face & neck, NOS\n\n**Note 1:** **Sources used in the development of this schema**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 6 *Cervical Lymph Nodes and Unknown Primary Tumors of the Head and Neck*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Schema Discriminator 1: Occult Head and Neck Lymph Nodes** \n* Is used to discriminate between the following chapters when primary site is C760\n * Cervical Lymph Nodes and Unknown Primary Tumor of the Head and Neck\n * Ill-Defined Other \n * Soft Tissue Other \n\n**Note 3:** **Other Summary Stage Chapters with C760 primary site**\n* **Ill-defined Other**: 8010, 8046, 8051-8052, 8070-8074, 8082-8084, 8121, 8140, 8147, 8200, 8310, 8430, 8450, 8480, 8525, 8550, 8562 (Schema Discriminator 1 Occult Head and Neck Lymph Nodes: 0,1)\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Head and Neck**: 8720-8790\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 4:** **Codes not applicable for this schema** \n* Codes 0, 1, 2, and 4 are not applicable for this chapter.\n\n**Note 5:** **Unknown primary Head and Neck, positive lymph nodes**\n* This chapter applies when cervical lymph nodes are involved with cancer and the primary site is not known but is suspected to be in the head and neck, i.e., in one or more of the sites listed below. Cancer registry standard setters have agreed that such cancers should be coded to primary site code C760 to accommodate staging recommended by AJCC.\n\n * Lip: C003-C005, C008-C009\n * Base of Tongue: C019\n * Other and Unspecified Parts of Tongue: C020-C024, C028, C029\n * Gum: C030-C031, C039\n * Floor of Mouth: C040-C041, C048-C049\n * Palate: C050-C052, C058-C059\n * Other and Unspecified Parts of Mouth: C060-C062, C068-C069\n * Parotid gland: C079\n * Major Salivary Glands: C080-C81, C088-C089\n * Tonsil: C090-C91, C098-C099\n * Oropharynx: C100-C104, C108-C109\n * Nasopharynx: C110-C113, C118-C119\n * Pyriform sin: C129\n * Hypopharynx: C130-C132. C138-C139\n * Other and Ill-defined Sites in Lip, Oral Cavity and Pharynx: C140, C142, C148\n * Nasal cavity: C300\n * Middle ear: C301\n * Accessory Sinuses: C310-C313, C318-C319\n * Larynx: C320-C323, C328-C329\n * Skin of lip: C440\n * Skin of ear & external auricular canal: C442\n * Skin of other & unspecified parts of face: C443\n * Skin of scalp & neck: C444\n\n**Note 6:** **Differential diagnoses** \n* If the physician indicates that the metastatic cervical lymph node is most likely from a head and neck primary, then code primary site as C760. \n* If the differential diagnosis includes non-head and neck sites, for example, the path report states metastasis to the cervical lymph node could be from a head and neck primary, lung primary, or gynecologic primary OR if there is no information indicating origin of primary tumor, then code primary site as C809 (Ill Defined Other)", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Patel, S.G., Lydiatt, W.M., Shah, J.P., et al. **Cervical Lymph Nodes and Unknown Primary Tumors of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-18T11:01:03.953Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Bone, NOS\n + Cartilage, NOS\n + Cortical bone (mandible, maxilla, NOS)\n + Deep (extrinsic) muscle of tongue\n * Genioglossus\n * Hyoglossus\n * Palatoglossus\n * Styloglossus \n + Hard palate including cortical palatine bone\n + Internal carotid artery (encased)\n + Mandible, NOS\n + Masticator space \n + Maxilla, NOS\n + Maxillary sinus (antrum) \n + Nasal cavity\n + Pterygoid plates \n + Skin of cheek (WITH or WITHOUT ulceration)\n + Skull base\n + Soft palate\n + Specified bone (other than maxilla, mandible, palatine)\n + Tongue\n + Trabecular bone (mandible, maxilla, palatine, NOS)\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cervix_64954.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cervix_64954.json deleted file mode 100644 index eada009c6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cervix_64954.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_cervix_64954", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Cervix", - "title" : "Summary Stage 2018: Cervix", - "subtitle" : "Summary Stage 2018", - "notes" : "**Cervix**\n\n8000-8700, 8710-8803, 8805, 8810-8814, 8816-8858, 8860-8900, 8902-8910, 8921-8941, 8951-8976, 8980-8990, 8992-9016, 9030-9043, 9045-9111, 9121-9132, 9135-9138, 9141-9175, 9181-9221, 9230, 9240-9365, 9370-9580, 9582\n\nC530-C531, C538-C539\nC530 Endocervix\nC531 Exocervix\nC538 Overlapping lesion of cervix\nC539 Cervix uteri\n\n**Note 1:** **Sources used in the development of this chapter** \n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 52 *Cervix Uteri*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Cervix Uteri, from the AJCC Cancer Staging System Version 9 (2020). Used with permission of the American College of Surgeons, Chicago, Illinois\n* Chapter 54 *Corpus Uteri-Sarcoma,* in the AJCC Cancer Staging Manual, Eight Edition (2017) published by Spring International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois\n\n**Note 2:** **Other Summary Stage Chapters with Cervix sites** \n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8815, 8859, 8901, 8912, 8920, 8950, 9120, 9133, 9180, 9222, 9366-9368, 9581\n\n**Note 3:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). \n* Lymph nodes with ITCs only are **not** counted as positive nodes for Summary Stage\n\n**Note 4:** **Para-aortic nodes** \n* Para-aortic nodes are now regional instead of distant.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Erickson, B.A., Olawaiye, A.B., Mutch, D.G., et al. **Cervix Uteri**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) Dizon, D.S., Olawaiye, A.B., Mutch, D.G., et al. **Corpus Uteri - Sarcoma.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(8) **Cervix Uteri**, from the AJCC Cancer Staging System Version 9 (2020). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2024-05-18T10:51:30.324Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive**\n- Cancer in situ WITH endocervical gland involvement\n- Cervical intraepithelial neoplasia (CIN) Grade III\n- Preinvasive" ], [ "1", "**Localized only (localized, NOS)**\n\n* Clinically visible lesion (macroscopic), including superficial invasion\n* Confined to cervix uteri or uterus, NOS, except corpus uteri, NOS (see code 2 for corpus uteri)\n + Not clinically visible or unknown if clinically visible\n* Measured stromal invasion less than 5 mm or less measured from the based of the epithelium AND horizontal spread of 7.0 mm or less\n\nFIGO Stage I (IA1, IA2, IA NOS, IB1, IB2, IB3, IB NOS, I NOS)" ], [ "2", "**Regional by direct extension only**\n\n* Bladder wall\n* Bladder, NOS excluding mucosa (see code 7 for bladder mucosa)\n* Bullous edema of bladder mucosa\n* Confined to corpus uteri, size, depth and horizontal spread unknown\n* Corpus uteri, NOS \n* Cul de sac (rectouterine pouch) \n* Fallopian tube(s)\n* \"Frozen pelvis\" (clinically described)\n* Hydronephrosis or nonfunctioning kidney\n* Invasion beyond uterus, NOS\n* Ligament(s) (broad, cardinal, uterosacral)\n* Ovary(ies)\n* Parametrial (paracervical soft tissue) invasion\n* Pelvic wall(s)\n* Rectal wall\n* Rectum, NOS excluding mucosa (see code 7 for rectal mucosa)\n* Upper two-thirds of vagina including fornices\n* Ureter (intra- and extramural)\n* Urethra\n* Vagina (lower third (not extending into pelvic wall), NOS)\n* Vaginal wall, NOS\n* Vulva\n\nFIGO Stage II (IIA, IIB, II NOS)\nFIGO Stage III (IIIA, IIIB, III NOS)" ], [ "3", "**Regional lymph node(s) involved only**\n\n- Para-aortic\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n\n\n- Pelvic\n + Iliac, NOS\n + Common\n + External \n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\n\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS\n\nFIGO Stage IIIC (IIIC1, IIIC2, IIIC NOS)\n+ Localized tumor WITH regional lymph node involvement" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Adnexa\n + Bladder mucosa\n + Peritoneal spread\n + Rectal mucosa\n + Sigmoid colon\n + Small intestine\n + Uterine serosa\n\n\n- Distant lymph node(s), NOS\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal89654\n + Mediastinal\n + Scalene\n + Supraclavicular\n\n\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)\n\n\n FIGO Stage IV (IVA, IVB, IV NOS)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cns_other_67712.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cns_other_67712.json deleted file mode 100644 index c4155842f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_cns_other_67712.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_cns_other_67712", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: CNS Other", - "title" : "Summary Stage 2018: CNS Other", - "subtitle" : "Summary Stage 2018", - "notes" : "**CNS Other**\n\n**Any behavior:** \n* C701, C709, C720-C721, C728-C729: 8000-8700, 8720-8790, 8802, 8810, 8815, 8850, 8890, 8900, 9064, 9070-9071, 9080, 9084-9085, 9100-9105, 9120, 9133, 9140, 9180, 9220, 9364, 9380-9460, 9480-9500, 9505-9507, 9509-9540, 9680, 9699, 9702-9715, 9751-9759\n\n* C701, C709, C720-C721, C728-C729 (8710-8714, 8800-8801, 8803, 8811-8814, 8816-8818, 8820-8842, 8851-8858, 8860-8881, 8891-8898, 8902-8905, 8921, 8932-8934, 8940-8990, 8992, 9000-9016, 9030-9043, 9045-9063, 9065, 9072-9073, 9081-9083, 9086-9091, 9110-9111, 9121-9132, 9135-9138, 9141-9175, 9181-9213, 9221, 9230, 9240-9361, 9363, 9365, 9370-9373, 9541-9580, 9582) (2023+)\n * For years 2018-2022, see *Soft Tissue*\n\n* C722, C724-C725: 8000-8700, 8720-8790, 8900, 9064, 9070-9071, 9080, 9084-9085, 9100, 9120, 9140, 9220, 9380-9460, 9480-9500, 9505-9507, 9509-9539, 9680, 9699, 9702-9715, 9751-9759\n\n* C722, C724-C725: 8710, 8712-8714, 8803, 8812-8814, 8816-8824, 8826-8831, 8834-8836, 8841-8842, 8851, 8853, 8855-8857, 8860-8881, 8891-8898, 8902-8905, 8921, 8932-8934, 8940-8990, 9000-9016, 9030, 9042, 9045-9063, 9065, 9072-9073, 9081-9083, 9086-9091, 9101-9111, 9121-9132, 9135, 9137-9138, 9141-9175, 9181-9213, 9221, 9230, 9240-9250, 9252-9361, 9363, 9365, 9370-9373, 9541, 9550, 9560, 9562-9571, 9582\n * For years 2018-2022, see *Soft Tissue*\n\n* C723: 8000-8700, 8720-8790, 9064, 9070, 9080, 9084-9085, 9100, 9140, 9180, 9362, 9380-9420, 9423-9460, 9480-9493, 9505-9507, 9509-9521, 9523, 9531-9539, 9680, 9699, 9702-9715, 9751-9759\n\n* C723: 8710-8714, 8803, 8812-8813, 8816-8818, 8820-8824, 8826-8828, 8831, 8833-8836, 8841-8842, 8851, 8855-8857, 8860-8881, 8891-8898, 8902-8905, 8932-8934, 8941-8960, 8964-8976, 8980-8981, 8982-8990, 9000-9016, 9030, 9041-9043, 9045-9063, 9065, 9072-9073, 9081-9083, 9086-9091, 9101-9111, 9121-9132, 9135-9138, 9141-9142, 9160-9175, 9181-9213, 9221, 9230, 9241-9361, 9363, 9365, 9370-9373, 9541-9571, 9582 (2023+)\n * For years 2018-2022, see *Orbital Sarcoma*\n\n* 9362, 9470-9472, 9474-9478, 9501-9504, 9508 (2018-2022 only)\n * For 2023+, see *Medulloblastoma* \n* 9671 (2023+)\n * For years 2018-2022, see *Myeloma and Plasma Cell Disorders*\n* 9690, 9719 (2023+)\n * For years 2018-2022, see *Lymphoma*\n* C701, C709, C720-C722, C724-C729 (9473) (2018-2022)\n * For 2023+, see *Medulloblastoma* \n\n**Benign/Borderline histologies (0/1):**\n* C701, C709, C720-C721, C728-C729: 8804-8806, 8859, 8901, 8910-8920, 8930-8931, 8935-8936, 8991, 9020, 9044, 9222, 9231, 9366-9368, 9581, 9590-9663, 9673-9679, 9687-9689, 9691-9698, 9700-9701, 9716-9718, 9724-9742, 9761-9765, 9767-9993\n\n* C722, C724-C725: 8711, 8800-8802, 8804-8811, 8815, 8825, 8832-8833, 8840, 8850, 8852, 8854, 8858-8859, 8890, 8901, 8910-8920, 8930-8931, 8935-8936, 8991, 9020, 9040-9041, 9043-9044, 9133, 9136, 9180, 9222, 9231, 9251, 9364, 9366-9368, 9540, 9542, 9561, 9580-9581, 9590-9663, 9673-9679, 9687-9689, 9691-9698, 9700-9701, 9716-9718, 9724-9742, 9761-9765, 9767-9993\n\n* C723: 8800-8802, 8804-8811, 8814-8815, 8825, 8830, 8832, 8840, 8850, 8852-8854, 8858-8859, 8890, 8900-8901, 8910-8931, 8935-8940, 8963, 8991, 9020, 9040, 9044, 9071, 9120, 9133, 9150, 9220, 9222, 9231, 9240, 9364, 9366-9368, 9421, 9473, 9500, 9522, 9530, 9540, 9580-9581, 9590-9663, 9673-9679, 9687-9689, 9691-9698, 9700-9701, 9716-9718, 9724-9742, 9761-9765, 9767-9993\n\nC701, C709, C720-C725, C728, C729\nC701 Spinal meninges\nC709 Meninges, NOS\nC720 Spinal cord\nC721 Cauda equina\nC722 Olfactory nerve \nC723 Optic nerve \nC724 Acoustic nerve \nC725 Cranial nerve, NOS\nC728 Overlapping lesion of brain and central nervous system\nC729 Nervous system, NOS\n\n**Note 1:** **Sources used in the development of this chapter** \n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 72 *Brain and Spinal Cord*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage chapters with other CNS sites**\n* All histologies with behavior /0 and /1 are captured in this schema, for behavior /3, see the following schemas for the listed \n* **GIST**: 8935-8936\n* **Lymphoma**: 9590, 9596-9663, 9673-9679, 9687-9698, 9716-9719, 9725-9726, 9735, 9737-9738, 9826-9827, 9826-9827: \n * *Note:* 9690, 9719 for 2018-2022 only\n* **Mycosis Fungoides**: 9700-9701\n* **Orbital Sarcoma**: C723 (8800-8802, 8804-8806, 8810-8811, 8814-8815, 8825, 8830, 8832, 8840, 8850, 8852-8854, 8858, 8890, 8900-8901, 8910, 8912, 8920-8921, 8940, 8963, 9040, 9044, 9071, 9120, 9133, 9150, 9220, 9240, 9364, 9421, 9473, 9500, 9522, 9530, 9540, 9580-9581) \n* **Plasma Cell Disorders**: 9671, 9731, 9734\n * *Note:* 9671 for 2018-2022 only\n* **Soft Tissue**\n * C701, C709, C720-C721, C728-C729 (8804-8806, 8859, 8901, 8910-8920, 8930-8931, 8991, 9020, 9044, 9222, 9231, 9366-9368, 9581)\n * C722, C724-C725 (8711, 8800-8802, 8804-8806, 8810-8811, 8815, 8825, 8832-8833, 8840, 8850, 8852, 8854, 8858-8859, 8890, 8901, 8910, 8912, 8920, 8930-8931, 8991, 9020, 9040-9041, 9043-9044, 9133, 9136, 9180, 9222, 9231, 9251, 9364, 9366-9368, 9540, 9542, 9561, 9580-9581): *Soft Tissue*\n * C723 (8859, 8930-8931, 8991, 9020, 9222, 9231, 9366-9368)\n\n**Note 3:** **Medulloblastoma** \n* For diagnoses January 1, 2023, and forward, the following histologies will be collected in the Medulloblastoma Summary Stage chapter\n * 9362, 9470-9478, 9501-9504, 9508\n * *Exception:* For C723 and 9473/3, see Orbital Sarcoma\n\n **Note 4:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.\n\n**Note 5:** **Benign/Borderline tumors** \n* Benign (/0) or Borderline (/1) tumors **are always coded to 8** regardless of size, extension to adjacent sites, or multiple tumors\n\n**Note 6:** **Not applicable codes** \n* Codes 0, 3, and 4 are not applicable for this chapter.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Laws, E.R., Curran, W.J., et al. **Brain and Spinal Cord**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Brain and Spinal Cord**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2024-05-18T15:09:05.816Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only (localized, NOS)**\n- Confined to tissue or site of origin" ], [ "2", "**Regional, NOS**\n- Adjacent connective/soft tissue\n- Adjacent muscle\n- Brain for cranial nerve tumor(s)\n- Major blood vessel(s)\n- Meningeal tumor infiltrates nerve\n- Nerve tumor infiltrates meninges (dura)\n- Sphenoid and frontal sinuses (skull)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Bone other than skull\n + Brain except for cranial nerve tumor(s)\n + Eye\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "8", "**Benign or borderline brain**\n* Behavior is /0 or /1" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_colon_and_rectum_including_net_40538.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_colon_and_rectum_including_net_40538.json deleted file mode 100644 index 4740d16bb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_colon_and_rectum_including_net_40538.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_colon_and_rectum_including_net_40538", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Colon and Rectum", - "title" : "Summary Stage 2018: Colon and Rectum", - "subtitle" : "Summary Stage 2018", - "notes" : "**Colon and Rectum**\n\n8000-8700, 8720-8790\n\nC180, C182-C189, C199, C209\nC180 Cecum\nC182 Ascending colon\nC183 Hepatic flexure of colon\nC184 Transverse colon\nC185 Splenic flexure of colon\nC186 Descending colon\nC187 Sigmoid colon\nC188 Overlapping lesion of colon\nC189 Colon, NOS\nC199 Rectosigmoid junction\nC209 Rectum, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 20 *Colon and Rectum*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Chapter 33 *Neuroendocrine Tumors of the Colon and Rectum*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* *Neuroendocrine Tumors of the Colon and Rectum*, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Colon and Rectum sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **In situ**\n* Code 0 (behavior code 2) includes cancer cells confined within the glandular basement membrane (intraepithelial), or described as in situ. \n\n**Note 4:** **Localized tumors** \n* For the following, AJCC 8th edition stages these as in situ tumors. SS2018 stages these as localized (behavior code 3)\n * Intramucosal, NOS\n * Lamina propria\n * Mucosa, NOS\n * Confined to, but not through muscularis mucosa\n\n**Note 5:** **Intraluminal extension** \n* Ignore intraluminal extension to adjacent segment(s) of colon/rectum or to the ileum from the cecum; code depth of invasion or extracolonic spread as indicated.\n\n**Note 6:** **Peritonealized parts of the Colon and Rectum** \n* The colon and rectum may be entirely peritonealized, partially peritonealized, or non-peritonealized. Use this list to help distinguish between localized and regional Tumors (See Note 7).\n * Entirely peritonealized segments: Cecum, Transverse colon, Sigmoid colon, Rectosigmoid colon\n * Segmental surfaces that are peritonealized: Anterior and lateral surfaces of: Ascending colon, Descending colon, Hepatic flexure, Splenic flexure, Upper third of rectum. Anterior surface: Middle third of rectum.\n * Entirely non-peritonealized segment: Lower third of rectum\n * Segmental surfaces that are non-peritonealized: Posterior surface of: Ascending colon, Descending colon, Hepatic flexure, Splenic flexure, Upper two-thirds of rectum\n\n**Note 7:** **Invasion into “pericolonic/pericolorectal tissue** \n* Invasion into “pericolonic/pericolorectal tissue” can be either localized (code 1) or regional (code 2), depending on the primary site and whether it is peritonealized (fully or partially) or not. When extension is described as “pericolonic/pericolorectal tissue”\n * Localized may NOT be used for entirely peritonealized sites (cecum, transverse colon, sigmoid colon, rectosigmoid colon), as this would be equivalent to peritonealized pericolic/perirectal tissue invasion (regional, code 2)\n * Localized may ONLY be used for peritonealized sites (See Note 6) when the extension is described using other terms listed under localized (code 1) (ex. subserosal fat). If there are no other terms used to describe the extension, other than invasion of “pericolorectal tissue”, then assign regional (code 2) \n * For partially peritonealized sites (See Note 6), “pericolonic/pericolorectal tissue” may indicate invasion of either non-peritonealized (localized, code 1) or peritonealized tissue (regional, code 2)\n * Check for mention of serosa/peritoneum in the operative report and/or pathology report final diagnosis or gross description to determine the correct code. Again, if other descriptions besides “pericolonic/pericolorectal tissue” are used, assign localized (code 1) or regional (code 2) based on the terminology used\n * If the pathologist does not further describe the “pericolic/perirectal tissues” as either “non-peritonealized pericolic/perirectal tissues” vs “peritonealized pericolic/perirectal tissues” and the operative report and/or gross description does not describe the tumor relation to the serosa/peritoneal surface, and it cannot be determined whether the tumor arises in a peritonealized portion of the colon, code localized (code 1).\n\n**Note 8:** **Adherent tumors** \n* Tumor that is adherent to other organs or structures, macroscopically, is coded as regional (code 2) or distant (code 7). However, if no tumor is present in the adhesion, microscopically, the classification should be coded to localized (code 1) or regional (code 2).\n\n**Note 9:** **Involvement of serosal surface** \n* Tumors characterized by involvement of the serosal surface (visceral peritoneum) by direct extension or perforation in which the tumor cells are continuous with the serosal surface through inflammation are coded to regional (code 2).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Jessup, J.M., Goldberg, R.M., et al. **Colon and Rectum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Shi, C., Woltering, E.A., Washington, M.K., et al. **Neuroendocrine Tumors of the Colon and Rectum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) **Neuroendocrine Tumors of the Colon and Rectum**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2024-05-18T15:03:06.356Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive**" ], [ "1", "**Localized only (localized, NOS)**\n\nAll sites (C180, C182-C189)\n- Confined to colon, rectum, rectosigmoid, NOS\n- Confined to polyp (head, stalk, NOS)\n- Extension through wall, NOS\n- Intraluminal extension to colon and/or anal canal/anus (rectum only)\n- Invasion of\n + Intramucosal, NOS\n + Lamina propria\n + Mucosa, NOS\n + Muscularis mucosae\n + Muscularis, NOS\n + Muscularis propria\n + Rectum (C209): WITH or WITHOUT intraluminal extension to colon and/or anal canal/anus\n - Perimuscular tissue invaded\n - Submucosa (superficial invasion)\n- Subserosal tissue/(sub)serosal fat invaded\n- Transmural, NOS\n- Wall, NOS\n\nPeritonealized or non-peritonealized: Invasion into pericolorectal tissues and/or pericolonic adipose tissue ONLY\n*(do not apply these instructions to structures listed under ALL SITES)*\n * Non-peritonealized site or segment of colon (*see Note 6*) or UNKNOWN if peritonealized\n * Includes invasion of pericolic or perirectal fat tissues\n * For peritonealized sites or segments, see code 2)" ], [ "2", "**Regional by direct extension only**\n\nAll sites (C180, C182-C189)\n+ Abdominal wall**\n+ Adherent to other organs or structures clinically with no microscopic examination\n+ Adjacent (connective) tissue(s), NOS\n+ Fat, NOS\n+ Mesentery (including mesenteric fat, mesocolon)\n+ Mesothelium\n+ Retroperitoneum (excluding fat)\n+ Serosa\n+ Small intestine\n+ Tumor found in adhesion(s) if microscopic examination performed\n+ Tunica serosa\n+ Visceral peritoneum\n\nCecum (C180)\n+ Greater omentum\n\nAscending colon (C182)\n+ Kidney, right\n+ Liver, right lobe\n+ Retroperitoneal fat\n+ Ureter, right\n\nTransverse colon and flexures (C183, C184, C185)\n+ Bile ducts\n+ Gallbladder\n+ Gastrocolic ligament\n+ Greater omentum \n+ Kidney\n+ Liver\n+ Pancreas\n+ Spleen\n+ Stomach\n\nDescending colon (C186)\n+ Kidney, left\n+ Pelvic wall\n+ Retroperitoneal fat\n+ Spleen\n+ Ureter, left\n\nSigmoid colon (C187)\n+ Pelvic wall \n \nRectosigmoid (C199)\n+ Cul de sac (rectouterine pouch)\n+ Pelvic wall\n+ Small intestine\n\nRectum (C209)\n+ Anus\n+ Bladder (males only)\n+ Cul de sac (rectouterine pouch)\n+ Ductus deferens\n+ Pelvic wall\n+ Prostate\n+ Rectovaginal septum\n+ Rectovesical fat (males only)\n+ Seminal vesicle(s)\n+ Skeletal muscles of pelvic floor\n+ Vagina\n\nPeritonealized or non-peritonealized: Invasion into pericolorectal tissues and/or pericolonic adipose tissue ONLY \n*(do not apply these instructions to structures listed under ALL SITES, or the specific subsites)*\n * Peritonealized site or segment of colon (*see Note 6*) or stated as peritonealized in pathology report\n * Includes invasion of pericolic or perirectal fat tissues\n * For non-peritonealized sites or segments, or UNKNOWN if peritonealized, see code 1) (*see Note 7*)" ], [ "3", "**Regional lymph node(s) involved only**\n\nAll sites (C180, C182-C189)\n+ Colic, NOS\n+ Epicolic (adjacent to bowel wall)\n+ Mesenteric, NOS\n+ Mesocolic, NOS\n+ Paracolic\n+ Pericolic\n+ Tumor deposits (TD) in the subserosa, mesentery, mesorectal or nonperitonealized pericolic or perirectal tissues WITHOUT regional nodal metastasis\n+ Regional lymph node(s), NOS\n * Lymph node(s), NOS\n\nCecum (C180) \n+ Cecal, NOS\n * Anterior cecal (prececal)\n * Posterior cecal (retrocecal)\n+ Colic (right)\n+ Ileocolic\n+ Periappendiceal\n\nAscending colon (C182)\n+ Colic (middle-right branch, right)\n+ Ileocolic\n\nHepatic flexure (C183)\n+ Colic (middle, right)\n+ Ileocolic\n\nTransverse colon (C184)\n+ Colic (middle)\n\nSplenic flexure (C185)\n+ Colic (left, middle)\n+ Mesenteric (inferior)\n\nDescending colon (C186)\n+ Colic (left)\n+ Mesenteric (inferior)\n+ Sigmoid\n\nSigmoid colon (C187)\n+ Colic (left)\n+ Mesenteric (inferior)\n+ Rectal (superior) (hemorrhoidal)\n+ Rectosigmoid\n+ Sigmoid (sigmoidal) (sigmoid mesenteric)\n+ Superior rectal (hemorrhoidal)\n\nRectosigmoid (C199)\n+ Hemorrhoidal (middle, superior)\n+ Mesenteric (inferior)\n+ Mesorectal\n+ Pericolic\n+ Perirectal\n+ Rectal (middle, superior) \n+ Sigmoid (mesenteric)\n\nRectum (C209)\n+ Hemorrhoidal (middle, superior)\n+ Iliac (hypogastric, internal, obturator) (see code 7 for common, external, NOS)\n+ Mesenteric (inferior)\n+ Mesorectal\n+ Perirectal\n+ Rectal (inferior)\n+ Sacral, NOS\n * Lateral sacral (laterosacral)\n * Middle sacral (promontorial) (Gerota's node)\n * Presacral\n+ Sigmoidal (sigmoid mesenteric)" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n\nDistant site(s) (including further contiguous extension)\n\nAll sites (C180, C182-C189)\n+ Adrenal (suprarenal) gland\n+ Bladder\n+ Diaphragm\n+ Fallopian tube\n+ Fistula to skin\n+ Gallbladder\n+ Other segment(s) of colon via serosa\n+ Ovary(ies)\n + Uterus\n\nCecum (C180)\n+ Kidney, right\n+ Liver\n+ Ureter, right\n\nTransverse colon and flexures (C183-C185)\n+ Ureter\n\nSigmoid colon (C187)\n+ Cul de sac (rectouterine pouch)\n+ Ureter\n\nRectosigmoid (C199)\n+ Bladder\n+ Colon via serosa\n+ Fallopian tube\n+ Ovary\n+ Prostate\n+ Skeletal muscles of pelvic floor\n+ Ureter\n+ Vagina\n\nRectum (C209)\n+ Bladder (for females only)\n+ Bone(s) of pelvis \n+ Cervix\n+ Perineum, perianal skin\n+ Sacral plexus\n+ Sacrum\n+ Ureter\n+ Urethra\n+ Uterus\n\nDistant lymph node(s), NOS\n+ Colon\n * Iliac (common, external, hypogastric, internal, obturator, NOS)\n * Inferior mesenteric (cecum, ascending colon, hepatic flexure, transverse colon)\n * Para-aortic\n * Retroperitoneal \n * Superior mesenteric\n + Rectosigmoid\n * Hemorrhoidal, inferior (rectosigmoid)\n * Iliac (common, external, hypogastric, internal, obturator, NOS)\n * Rectal, inferior \n * Superior mesenteric\n+ Rectum\n * Colic (left) (rectum)\n * Iliac (common, external, NOS) (see code 3 for hypogastric, internal, obturator)\n * Superior mesenteric\n\nDistant metastasis, NOS \n+ Carcinomatosis\n+ Peritoneal surface metastasis (peritoneum)\n+ Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_conjunctiva_16779.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_conjunctiva_16779.json deleted file mode 100644 index 0ec0366da..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_conjunctiva_16779.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_conjunctiva_16779", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Conjunctiva", - "title" : "Summary Stage 2018: Conjunctiva", - "subtitle" : "Summary Stage 2018", - "notes" : "**Conjunctiva**\n\n8000-8700\n\nC690\nC690 Conjunctiva \n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 65 *Conjunctival Carcinoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Conjunctiva sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Conjunctiva**: 8720-8790\n* **Mycosis Fungoides**: 9700-9701\n* **Orbital Sarcoma**: 8710-8714, 8800-8921, 8932-8934, 8940-8990, 9000-9016, 9030-9138, 9141-9175, 9181-9230, 9240-9509, 9520-9582\n* **Retinoblastoma**: 9510-9514\n* **Soft Tissue**: 8930-8931, 8991-8992, 9020, 9180, 9231", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Conway, R.M., Finger, P.T., et al. **Conjunctival Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T21:03:03.862Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive**\n- CIN III (conjunctival intraepithelial neoplasia III)\n- SIN III (squamous intraepithelial neoplasia III)" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to conjunctiva, NOS\n- Confined to one subsite of conjunctiva\n + Bulbar conjunctiva\n + Forniceal conjunctiva\n + Palpebral conjunctiva\n + Tarsal conjunctiva\n- Cornea (3, 6, 9, or 12 o'clock hours)\n- Intraocular compartments\n- Intraocular extension WITHOUT invasion of adjacent structures" ], [ "2", "**Regional by direct extension only**\n- More than one subsite of conjunctiva involved\n- Adjacent extraocular extension\n + Anterior eyelid lamella \n + Caruncle \n + Eyelid margin (lower and/or upper)\n + Lacrimal punctum and canaliculi (lower and/or upper)\n + Plica\n + Posterior eyelid lamella\n- Adjacent paranasal sinuses\n- Bone, bone of orbit\n- Orbit, NOS\n- Orbital soft tissues WITHOUT bone invasion" ], [ "3", "**Regional lymph node(s) involved only**\n- Cervical, NOS\n- Mandibular, NOS\n + Submandibular (submaxillary)\n- Parotid, NOS\n + Infra-auricular\n + Preauricular\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Brain\n + Sinus\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_carcinoma_and_carcinosarcoma_28794.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_carcinoma_and_carcinosarcoma_28794.json deleted file mode 100644 index e7de118bb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_carcinoma_and_carcinosarcoma_28794.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_corpus_carcinoma_and_carcinosarcoma_28794", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Corpus Carcinoma and Carcinosarcoma", - "title" : "Summary Stage 2018: Corpus Carcinoma and Carcinosarcoma", - "subtitle" : "Summary Stage 2018", - "notes" : "**Corpus Carcinoma and Carcinosarcoma**\n\n8000-8700, 8720-8790, 8950, 8980\n\nC540-C543, C548-C549, C559\nC540 Isthmus uteri\nC541 Endometrium\nC542 Myometrium\nC543 Fundus uteri\nC548 Overlapping lesion of corpus uteri\nC549 Corpus uteri\nC559 Uterus, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 53 *Corpus Uteri-Carcinoma and Carcinosarcoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Corpus sites**\n* **Corpus Sarcoma**: 8710-8714, 8800-8941, 8951-8976, 8981-9110, 9120-9138, 9141-9582\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n\n**Note 3:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). \n* Lymph nodes with ITCs only are **not** counted as positive nodes for Summary Stage", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Powell, M.A., Olawaiye, A.B., Mutch, D.G., et al. **Corpus Uteri - Carcinoma and Carcinosarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T20:54:18.392Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive, preinvasive** \nEndometrial intraepithelial carcinoma (EIC) (8380/2)\nSerous endometrial intraepithelial carcinoma (SEIC) (8441/2)" ], [ "1", "**Localized only (localized, NOS)**\n* Confined to endometrium (glandular or stromal)\n* Invasion of myometrium (inner half, outer half, NOS)\n + WITHOUT or UNKNOWN involvement of endocervix\n\nConfined to corpus, NOS\nLocalized, NOS\n\nFIGO Stage I (IA, IB, I NOS)" ], [ "2", "**Regional by direct extension only**\n\n* Adnexa (direct extension or metastasis)\n* Bladder wall\n* Bladder, NOS excluding mucosa (see code 7 for mucosa)\n* Cervix (glandular or stromal)\n* Cervix uteri, NOS, but not beyond uterus\n* Endocervix (glandular or stromal)\n* Extension beyond uterus, within pelvis, NOS\n* Fallopian tube(s)\n* \"Frozen pelvis\" (clinically described)\n* Ligament(s) (broad, ovarian, round, suspensory)\n* Myometrium WITH involvement of endocervix\n* Ovary(ies)\n* Parametrium\n* Parietal serosa of pelvic wall\n* Pelvic wall(s)\n* Rectal wall\n* Rectum, NOS excluding mucosa (see code 7 for mucosa)\n* Serosa\n* Tunica serosa (visceral peritoneum of corpus, serosa covering the corpus)\n* Ureter\n* Vagina\n* Visceral peritoneum of pelvic organs excluding serosa of corpus \n* Vulva\n\nMalignant cells in peritoneal cytology\n\nFIGO Stage II \nFIGO Stage III (IIIA, IIIB, III NOS)" ], [ "3", "**Regional lymph node(s) involved only**\n- Para-aortic, NOS\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n- Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\n\n\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS\n\nFIGO Stage IIIC (IIIC1, IIIC2, IIIC NOS)\n* Localized tumor WITH regional lymph node involvement" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Abdominal serosa (visceral or parietal peritoneum of abdomen)\n + Abdominal structures (other, NOS)\n + Abdominal tissue (infiltration)\n + Bladder mucosa (excluding bullous edema)\n + Bone\n + Bowel mucosa\n + Cul de sac (rectouterine pouch or Pouch of Douglas)\n + Intraperitoneal disease\n + Liver\n + Lung\n + Rectum mucosa (excluding bullous edema)\n + Sigmoid colon\n + Small intestine\n- Distant lymph node(s), NOS\n + Femoral\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)\n\nFIGO Stage IV (IVA, IVB, IV NOS)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_sarcoma_75896.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_sarcoma_75896.json deleted file mode 100644 index 8dbfc294e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_corpus_sarcoma_75896.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_corpus_sarcoma_75896", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Corpus Sarcoma", - "title" : "Summary Stage 2018: Corpus Sarcoma", - "subtitle" : "Summary Stage 2018", - "notes" : "**Corpus Sarcoma**\n\n8710-8714, 8800-8941, 8951-8975, 8981-9138, 9141-9582\n\nC540-C543, C548-C549, C559\nC540 Isthmus uteri\nC541 Endometrium\nC542 Myometrium\nC543 Fundus uteri\nC548 Overlapping lesion of corpus uteri\nC549 Corpus uteri\nC559 Uterus, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 54 *Corpus Uteri-Sarcoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Not applicable codes** \n* Code 0 is not applicable for this chapter.\n\n**Note 3:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). \n* Lymph nodes with ITCs only are **not** counted as positive nodes for Summary Stage", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Dizon, D.S., Olawaiye, A.B., Mutch, D.G., et al. **Corpus Uteri - Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T20:48:55.257Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only (localized, NOS)**\n\n* Confined to endometrium (stromal)\n* Invasion of myometrium (inner half, outer half, NOS)\n - WITHOUT or UNKNOWN involvement of endocervix\n* Tunica serosa of the visceral peritoneum (serosa covering the corpus)\n\nConfined to corpus, NOS\nLocalized, NOS\n\nFIGO Stage I (IA, IB, IC, I NOS)" ], [ "2", "**Regional by direct extension only**\n\n* Adnexa, NOS\n* Bladder wall\n* Bladder, NOS excluding mucosa (see code 7 for bladder mucosa)\n* Bowell wall\n* Cervix (glandular or stromal)\n* Cervix uteri, NOS, but not beyond uterus\n* Endocervix (glandular or stromal)\n* Extension beyond uterus, within pelvis, NOS\n* Fallopian tube(s)\n* \"Frozen pelvis\" (clinically described)\n* Ligament(s) (broad, ovarian, round, suspensory)\n* Ovary(ies)\n* Parametrium\n* Parietal serosa of pelvic cavity\n* Pelvic wall(s)\n* Rectal wall\n* Rectum, NOS excluding mucosa (see code 7 for rectal mucosa)\n* Ureter\n* Vagina\n* Visceral peritoneum of pelvic organs (excluding serosa of corpus uteri)\n* Vulva\n\nMalignant cells in peritoneal cytology\n\nFIGO Stage II (IIA, IIB, II NOS)" ], [ "3", "**Regional lymph node(s) involved only**\n- Para-aortic, NOS\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n- Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS\n\nFIGO Stage IIIC\n* Localized tumor WITH regional lymph node involvement" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Abdominal serosa (visceral or parietal peritoneum of abdomen)\n + Abdominal structures (other, NOS)\n + Abdominal tissues (infiltration)\n + Bladder mucosa (excluding bullous edema)\n + Bone\n + Cul de sac (rectouterine pouch)\n + Intraperitoneal disease\n + Liver\n + Lung\n + Rectal mucosa (excluding bullous edema)\n + Sigmoid colon\n + Small intestine\n - Distant lymph node(s), NOS \n + Femoral\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)\n\nFIGO Stage III (IIIA, IIB, III NOS)\nFIGO Stage IV (IVA, IVB, IV NOS)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_digestive_other_9136.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_digestive_other_9136.json deleted file mode 100644 index 9c0df6f75..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_digestive_other_9136.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_digestive_other_9136", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Digestive Other", - "title" : "Summary Stage 2018: Digestive Other", - "subtitle" : "Summary Stage 2018", - "notes" : "**Digestive Other**\n\n8000-8700, 8720-8790\n\nC260, C268, C269\nC260 Intestinal tract, NOS\nC268 Overlapping lesion of digestive system\nC269 Gastrointestinal tract, NOS\n\n**Note 1:** **Sources used in the development of this schema**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n\n**Note 2:** **Other EOD Schemas with other Digestive sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2024-05-17T11:36:40.759Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Invasion of submucosa" ], [ "2", "**Regional by direct extension only**\n- Adjacent connective tissue(s)\n- Adjacent organ(s)/structure(s)\n- Regional extension, NOS" ], [ "3", "**Regional lymph node(s) involved only**\n- Intra-abdominal\n- Paracaval\n- Pelvic\n- Subdiaphragmatic\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_endocrine_other_54817.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_endocrine_other_54817.json deleted file mode 100644 index 3c0ace9cd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_endocrine_other_54817.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_endocrine_other_54817", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Endocrine Other", - "title" : "Summary Stage 2018: Endocrine Other", - "subtitle" : "Summary Stage 2018", - "notes" : "**Endocrine Other**\n\n8000-8700, 8720-8790 (C754, C758-C759)\n8000-8671, 8681-8683, 8691, 8720-8790 (C755)\n\nC754-C755, C758-C759\nC754 Carotid body \nC755 Aortic body and other paraganglia\nC758 Overlapping lesion of endocrine glands and related structures\nC759 Endocrine gland, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n\n**Note 2:** **Other Summary Stage Chapters with other Endocrine sites**\n* **NET Adrenal Gland**: 8680, 8690, 8692-8693, 8700 (C755 only)\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **NET Adrenal Gland**: 8680, 8690, 8692-8693, 8700 (C755 only)\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2024-05-15T13:26:49.795Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Invasive tumor confined to gland of origin" ], [ "2", "**Regional by direct extension only**\n- Adjacent connective tissue\n- Adjacent organs/structures\n + Aortic body\n * Organs/structures in mediastinum\n + Carotid body\n * Upper neck" ], [ "3", "**Regional lymph node(s) involved only**\n- Cervical for carotid body \n- Mediastinal for aortic body \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_esophagus_excluding_gist_57104.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_esophagus_excluding_gist_57104.json deleted file mode 100644 index 475cbea78..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_esophagus_excluding_gist_57104.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_esophagus_excluding_gist_57104", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Esophagus", - "title" : "Summary Stage 2018: Esophagus", - "subtitle" : "Summary Stage 2018", - "notes" : "**Esophagus**\n\nC150-C155, C158-C159 (8000-8700, 8720-8790)\n\nC160 and Schema Discriminator 1: EsophagusGEJunction (EGJ)/Stomach: 2 (8000-8149, 8154, 8157, 8160-8231, 8243-8248, 8250-8682, 8690-8700, 8720-8790)\n\nC150-C155, C158-C160\nC150 Cervical esophagus\nC151 Thoracic esophagus\nC152 Abdominal esophagus\nC153 Upper third of esophagus\nC154 Middle third of esophagus\nC155 Lower third of esophagus\nC158 Overlapping lesion of esophagus\nC159 Esophagus, NOS\nC160 Cardia, esophagogastric junction (EGJ)\n\n**Note 1:** **Sources used in the development of this schema**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 16 *Esophagus and Esophagogastric Junction*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other EOD Schemas with Esophagus sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **NET Stomach**: C160 (8150-8153, 8155-8156, 8158, 8240-8242, 8249, 8683): \n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **The Esophagogastric Junction** \n* Cancers involving the EGJ that have their epicenter within the proximal 2 cm of the cardia (Siewert types I/II) are to be staged as esophageal cancers (see the Esophagus (excluding GIST) chapter). Cancers whose epicenter is more than 2 cm distal from the EGJ, even if the EGJ is involved, will be staged using the stomach cancer chapter.\n * The Schema Discriminator *EsophagusGEJunction (EGJ)/Stomach* is used to discriminate between EsophagusGEJunction and Stomach which are coded to ICD-O-3 code C160\n\n**Note 4:** **High grade dysplasia** \n* Non-invasive carcinomas in the esophagus formerly called in situ are now called high grade dysplasia. \n* High grade dysplasia and severe dysplasia are generally not reportable in cancer registries. \n * Code 0 if your registry collects these tumors", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rice, T.W., Kelsen, D., Hofstetter, W.L., et al. **Esophagus and Esophagogastric Junction**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017 Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T11:34:43.194Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, non-invasive; high-grade dysplasia** \n- (Adeno)carcinoma, noninvasive, in a polyp" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to esophagus, NOS\n- Extension through wall, NOS\n- Invasion of \n + Intramucosa, NOS\n + Lamina propria\n + Mucosa, NOS\n + Muscularis mucosae\n + Muscularis, NOS\n + Muscularis propria\n + Submucosa (superficial invasion)\n- Perimuscular tissue invaded\n- Subserosal tissue/(sub)serosal fat invaded" ], [ "2", "**Regional by direct extension only**\n- All sites\n + Adjacent structure(s), NOS\n + Adventitia and/or soft tissue invaded\n + Aorta\n + Azygos vein\n + Diaphragm (excluding abdominal/lower esophagus, see code 7)\n + Esophagus is described as \"FIXED\"\n + Extension to adjacent (connective) tissue WITHOUT perforation of visceral peritoneum covering these structures\n + Gastric artery\n + Ligaments\n * Gastrocolic\n * Gastrohepatic\n * Gastrosplenic\n * Omentum (greater, lesser, NOS)\n + Mesothelium\n + Pericardium (excluding thoracic/middle esophagus, see code 7)\n + Perigastric fat\n + Peritoneum, NOS\n + Pleura (excluding cervical/upper esophagus, see code 7)\n + Serosa (invasion of/or through)\n + Tunica serosa\n + Vertebral body\n + Visceral peritoneum (including perforation)\n- Cervical esophagus\n + Blood vessel(s)\n * Carotid artery \n * Subclavian artery\n + Carina \n + Cervical vertebra(e)\n + Hypopharynx\n + Jugular vein\n + Larynx\n + Thyroid\n + Trachea \n- Intrathoracic, upper or mid-portion, esophagus\n + Blood vessel(s), major\n * Gastric artery/vein\n * Pulmonary artery/vein \n * Vena cava \n + Carina \n + Stomach, cardia (via serosa)\n + Trachea \n- Intrathoracic, lower portion (abdominal), esophagus\n + Blood vessel(s)\n * Vena cava \n- Intrathoracic esophagus (all portions)\n + Adjacent rib(s) \n + Lung via bronchus\n + Mediastinal structure(s), NOS \n + Thoracic vertebra(e)\n- Esophagus GE Junction\n + Liver\n + Pancreas\n + Small intestine (duodenum [via serosa], ileum, jejunum)\n + Spleen\n + Transverse colon (including flexures)" ], [ "3", "**Regional lymph node(s) involved only**\n- All subsites \n + Nodule(s) in perigastric fat\n + Peri-/paraesophageal (8L, 8M) (excluding GE junction)\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Cervical esophagus only\n + Cervical, NOS\n * Anterior deep cervical (laterotracheal) (recurrent laryngeal)\n * Deep cervical, NOS\n * Internal jugular, NOS\n - Jugulodigastric (subdigastric)\n - Upper, NOS\n + Scalene (inferior deep cervical) (1)\n + Supraclavicular (transverse cervical) (1)\n- Intrathoracic esophagus, upper or middle, only\n + Internal jugular, NOS\n * Deep cervical, NOS\n - Jugulodigastric (subdigastric)\n - Jugulo-omohyoid (supraomohyoid)\n - Lower, NOS\n - Middle\n - Upper cervical, NOS\n + Intrabronchial\n * Carinal (tracheobronchial) (10R, 10L) (tracheal bifurcation)\n * Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n * Left gastric (superior gastric) (17)\n - Cardiac (cardial)\n - Lesser curvature\n - Perigastric, NOS\n * Peritracheal\n + Posterior mediastinal (tracheoesophageal)\n + Superior mediastinal\n- Intrathoracic esophagus, lower (abdominal) only\n + Left gastric (superior gastric) (17)\n * Cardiac (cardial)\n * Lesser curvature\n * Perigastric, NOS\n + Posterior mediastinal (3P) (tracheoesophageal)\n- Esophagus GE Junction\n + Celiac (20)\n + Hepatic (excluding gastrohepatic and hepatoduodenal)\n + Left gastric (superior gastric), NOS\n * Cardiac\n * Cardioesophageal\n * Gastric, left (17)\n * Gastropancreatic, left\n * Lesser curvature\n * Lesser omental\n * Pericardial (16)\n + Pancreaticosplenic (pancreaticolineal)\n + Pancreatoduodenal\n + Perigastric, NOS \n + Peripancreatic \n + Right gastric (inferior gastric), NOS\n * Gastrocolic\n * Gastroduodenal\n * Gastroepiploic (gastro-omental), right or NOS\n * Gastrohepatic\n * Greater curvature\n * Greater omental\n * Pyloric, NOS\n - Infrapyloric (subpyloric)\n - Suprapyloric\n + Splenic (lienal), NOS\n * Gastroepiploic (gastro-omental), left\n * Splenic hilar" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + All subsites\n * Airway\n * Stated as unresectable, NOS\n * Vertebral body\n + Abdomen/lower esophagus\n * Diaphragm fixed\n + Cervical/upper esophagus\n * Lung\n * Pleura\n * Mainstem bronchus\n + Thoracic/middle esophagus\n * Pericardium \n + Esophagus GE Junction\n * Abdominal wall\n * Adrenal (suprarenal) gland\n * Kidney\n * Pulmonary ligament (9)\n * Retroperitoneum\n * Trachea\n- Distant lymph node(s), NOS\n + All subsites\n * Anterior mediastinal (6)\n * Common hepatic (18)\n * Diaphragmatic (15)\n * Mediastinal, NOS\n * Splenic (19)\n * Subcarinal (tracheal carina) (7)\n + Cervical esophagus\n * Aortopulmonary (5)\n * Para-aortic (ascending aorta or phrenic)\n - Subaortic\n * Paratracheal (2R, 2L, 4R, 4L)\n * Posterior mediastinal (3P)\n * Superior mediastinal\n + Intrathoracic esophagus, upper or middle, only\n * Aortopulmonary (5)\n - Para-aortic (ascending aorta or phrenic)\n * Cervical\n + Lower thoracic (abdominal) esophagus\n * Aortopulmonary (5)\n - Para-aortic (ascending aorta or phrenic)\n - Subaortic \n * Celiac (20)\n * Paratracheal (2R, 2L, 4R, 4L)\n * Superior mediastinal\n + Esophagus GE Junction\n * Hepatoduodenal\n * Mesenteric, NOS\n - Inferior mesenteric\n - Superior mesenteric\n * Para-aortic\n * Paraesophageal, NOS\n * Periesophageal, NOS\n - Anterior mediastinal (6)\n - Aortopulmonary (5)\n - Paraesophageal, lower (8l)\n - Paraesophageal, middle (8m)\n - Paratracheal, lower (4L, 4R)\n - Paratracheal, upper (2L, 2R)\n - Posterior mediastinal (3p)\n - Supraclavicular (1)\n - Tracheobronchial (hilar) (10L, 10R)\n * Porta hepatis (portal) (hilar) (in hilus of liver)\n * Retropancreatic\n * Retroperitoneal\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_extrahepatic_bile_ducts_65728.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_extrahepatic_bile_ducts_65728.json deleted file mode 100644 index 6f8b67e81..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_extrahepatic_bile_ducts_65728.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_extrahepatic_bile_ducts_65728", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Extrahepatic BIle Ducts", - "title" : "Summary Stage 2018: Extrahepatic Bile Ducts", - "subtitle" : "Summary Stage 2018", - "notes" : "**Extrahepatic Bile Ducts**\n\n8000-8700, 8720-8790\n\nC240\nC240 Cystic duct\nC240 Distal bile ducts\nC240 Perihilar bile ducts\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 24 *Gallbladder*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Chapter 25 *Perihilar Bile Ducts*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Chapter 26 *Distal Bile Duct*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Extrahepatic Bile Duct sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Zhu, A.X., Pawlik, T.M., Vauthey, J.N., et al. **Gallbladder**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Nagorney, D.M., Pawlik, T.M., Vauthey, J.N., et al. **Perihilar Bile Ducts**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) Krasinskas, A., Pawlik, T.M., Vauthey, J.N., et al. **Distal Bile Duct**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T15:13:32.054Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive** \nHigh-grade biliary intraepithelial neoplasia (BilIn-3)" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to \n + Cystic duct, NOS\n + Distal bile duct(s), NOS\n + Extrahepatic bile duct(s), NOS\n + Perihilar bile duct(s), NOS\n- Lamina propria\n- Mucosa, NOS\n- Muscle layer of fibrous tissue (bile ducts perihilar only)\n- Muscularis propria\n- Subepithelial connective tissue (tunica mucosa) (bile ducts perihilar only)\n- Submucosa (superficial invasion)" ], [ "2", "**Regional by direct extension only**\n- All sites\n + Adipose tissue\n + Adjacent (connective) tissue, NOS\n + Colon\n + Duodenum\n + Gallbladder\n + Hepatic artery (common, NOS)\n + Liver\n + Main portal vein or its branches bilaterally\n + Omentum (greater, lesser, NOS)\n + Pancreas\n + Periductal/fibromuscular connective tissue\n + Portal vein, NOS\n + Stomach\n- Cystic duct\n + Ampulla of Vater \n + Beyond wall of cystic duct\n + Perimuscular connective tissue\n + Perimuscular tissue, NOS\n + Serosa (visceral peritoneum) \n + Small intestine \n + Unilateral branches of hepatic artery (right or left)\n + Unilateral branches of portal vein (right or left)\n- Distal bile duct(s)\n + Adjacent hepatic parenchyma \n + Beyond wall of bile duct \n + Porta hepatis\n + Unilateral branches of hepatic artery (right or left) \n + Unilateral branches of portal vein (right or left)\n- Perihilar bile duct(s)\n + Beyond wall of bile duct \n + Second-order biliary radicals bilaterally\n * Unilateral second-order biliary radicals \n * WITH contralateral portal vein or hepatic artery involvement\n + Unilateral branches of hepatic artery (right or left) \n + Unilateral branches of portal vein (right or left)" ], [ "3", "**Regional lymph node(s) involved only**\n- Choledochal (bile ducts perihilar only)\n- Cystic duct (node of the neck of the gallbladder) (Calot's node)\n- Hepatic/hepatic artery nodes (common, NOS)\n- Hilar (porta hepatic) (portal) (in hilus of liver)\n- Node of the foramen of Winslow (omental) (epiploic)\n- Pancreaticoduodenal (anterior, posterior) (bile ducts distal only)\n- Pancreaticoduodenal, NOS (cystic duct only)\n- Pericholedochal (node along common bile duct)\n- Periduodenal\n- Peripancreatic (near head of pancreas only)\n- Periportal\n- Portal vein\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Abdominal wall\n + Celiac axis (bile ducts distal only)\n + Superior mesenteric artery (bile ducts distal only)\n- Distant lymph node(s), NOS\n + Celiac (axis) artery\n + Para-aortic\n + Periaortic (cystic duct only)\n + Pericaval\n + Peripancreatic (along body and tail of pancreas only)\n + Superior mesenteric artery\n + Superior mesenteric vein\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_eye_other_36531.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_eye_other_36531.json deleted file mode 100644 index faeb4c1b6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_eye_other_36531.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_eye_other_36531", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Eye Other", - "title" : "Summary Stage 2018: Eye Other", - "subtitle" : "Summary Stage 2018", - "notes" : "**Eye Other**\n\n8000-8700 (C691-C694, C696, C698-C699)\n8720-8790 (C691-C692, C695-C696, C698-C699)\n\nC691-C696, C698-C699\nC691 Cornea, NOS \nC692 Retina \nC693 Choroid\nC694 Ciliary Body\nC695 Lacrimal Gland\nC696 Orbit, NOS\nC698 Overlapping lesion of eye and adnexa \nC699 Eye, NOS \n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n\n**Note 2:** **Other Summary Stage Chapters with other Eye sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Lacrimal Gland and Lacrimal Sac**: C695 (8000-8700, 8941, 8980, 8982)\n* **Melanoma Uvea**: C693, C694 (8720-8790)\n* **Mycosis Fungoides**: 9700-9701\n* **Orbital Sarcoma**\n * C691-C694, C696, C698-C699 (8710-8714, 8800-8921, 8932-8934, 8940-8990, 9000-9016, 9030-9138, 9141-9175, 9181-9230, 9240-9509, 9520-9582)\n * C695 (8710-8714, 8800-8921, 8932-8934, 8940, 8950-8975, 8981, 8983-8990, 9000-9016, 9030-9138, 9141-9175, 9181-9230, 9240-9509, 9520-9582)\n* **Retinoblastoma**: 9510-9514\n* **Soft Tissue**: 8930-8931, 8991-8992, 9020, 9180, 9231\n\n**Note 3:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2024-05-15T13:24:24.652Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to tissue or organ of origin\n- Intraocular extension" ], [ "2", "**Regional by direct extension only**\n- Adjacent extraocular extension\n + Eyelid\n + Orbit" ], [ "3", "**Regional lymph node(s) involved only**\n- Cervical, NOS\n + Mandibular, NOS\n + Submandibular (submaxillary)\n- Parotid, NOS\n + Infra-auricular\n + Preauricular\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_fallopian_tube_83058.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_fallopian_tube_83058.json deleted file mode 100644 index 2bcff16ce..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_fallopian_tube_83058.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ss2018_fallopian_tube_83058", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Fallopian Tube", - "title" : "Summary Stage 2018: Fallopian Tube", - "subtitle" : "Summary Stage 2018", - "description" : ".", - "notes" : "**Fallopian Tube**\n\n8000-8700, 8720-8790, 8806, 8810, 8815, 8822, 8825, 8890, 8930-8931, 8933, 8935-8936, 8950, 8960, 8980, 9000, 9050, 9052, 9060, 9070-9071, 9073, 9080, 9085, 9090-9091, 9100, 9110\n\nC570\nC570 Fallopian tube \n\n**Note 1:** **Sources used in the development of this schema**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 55 *Ovary, Fallopian Tube, and Primary Peritoneal Carcinoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other EOD Schemas with Fallopian tube sites**\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8805, 8811-8814, 8816-8818, 8820-8821, 8823-8824, 8826-8881, 8891-8905, 8910-8921, 8932, 8934, 8940-8941, 8951-8959, 8963-8976, 8981-8992, 9010-9016, 9020, 9030-9045, 9051, 9053-9055, 9061-9065, 9072, 9081-9084, 9086, 9101-9105, 9120-9133, 9135-9138, 9141-9175, 9180-9222, 9230-9231, 9240-9368, 9370-9582\n\n**Note 3:** **Ascites, NOS**\n* Ascites, NOS should be excluded as a staging element. \n\n**Note 4:** **Isolated tumor cells**\n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). \n* Lymph nodes with ITCs only are **not** counted as positive nodes for Summary Stage\n\n**Note 5:** **Peritoneal implants, NOS** \n* Peritoneal implants outside the pelvis must be microscopically confirmed. Peritoneal implants may also be called seeding, salting, talcum powder appearance, or studding.\n\n**Note 6:** **Pelvic or abdominal implants** \n* If implants are mentioned, determine whether they are in the pelvis or in the abdomen and code appropriately to regional by direct extension or to distant. If not stated, code to distant.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Prat, J., Olawaiye, A.B., Mutch, D.G., et al. **Ovary, Fallopian Tube, and Primary Peritoneal Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T11:32:37.202Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial** \n- Limited to tubal mucosa\n- Preinvasive\n- Serous tubal intraepithelial carcinoma (STIC)" ], [ "1", "**Localized only (localized, NOS)**\n\nLimited to one or both fallopian tubes WITHOUT or UNKNOWN\n- Tumor on fallopian tube surface\n - Malignant cells in ascites or peritoneal washings \n\nConfined to fallopian tube, NOS\nLocalized, NOS\n\nFIGO Stage I (IA, IB, INOS)" ], [ "2", "**Regional by direct extension only**\n\nLimited to one or both fallopian tubes WITH\n- Tumor on fallopian tube surface\n- Malignant cells in ascites or peritoneal washings \n- Pelvic extension, NOS (below pelvic brim)\n\nExtension to and/or discontinuous metastasis to any of the following\n- Adnexa, NOS\n- Adjacent (pelvic) peritoneum\n- Bladder\n- Bladder serosa \n- Corpus uteri\n- Cul de sac (rectouterine pouch)\n- Ligament(s) (broad, ovarian, round, suspensory)\n- Mesosalpinx (Mesovarium)\n- Ovary(ies)\n- Parametrium\n- Pelvic wall\n- Rectosigmoid\n- Rectum\n- Sigmoid colon (including sigmoid mesentery)\n- Ureter (pelvic portion)\n- Uterus, NOS\n\nFIGO Stage IC2, IC3\nFIGO Stage II (IIA, IIB, IINOS)" ], [ "3", "**Regional lymph node(s) involved only**\n- Intrabdominal \n- Para-aortic, NOS\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n- Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n- Retroperitoneal, NOS\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS\n\nFIGO Stage IIIA1 (IIIA1i, IIIA1ii, IIIA1 NOS)\n* Localized tumor WITH regional lymph node involvement" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n * Abdominal mesentery\n * Diaphragm\n * Gallbladder\n * Intestine, large (except rectum, rectosigmoid and sigmoid colon, see code 2)\n * Kidneys\n * Liver (capsular or parenchymal involvement)\n * Omentum (infracolic, NOS)\n * Pancreas\n * Pericolic gutter\n * Peritoneum, NOS\n * Peritoneal implants beyond pelvis\n * Pleural effusion with positive cytology\n * Small intestine\n * Spleen (capsular or parenchymal involvement)\n * Stomach\n * Ureters (outside pelvis)\n- Distant lymph node(s), NOS\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Distant metastasis, NOS\n * Carcinomatosis (involvement of multiple parenchymal organs)\n + WITH or WITHOUT distant lymph node(s) OR pleural effusion\n * Distant metastasis WITH or WITHOUT distant lymph node(s)\n\nFIGO Stage III (IIIA, IIIA2, IIIB, IIIC, III NOS)\nFIGO Stage IV (IVA, IVB, IV NOS)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_floor_mouth_83713.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_floor_mouth_83713.json deleted file mode 100644 index 2a662aeaa..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_floor_mouth_83713.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_floor_mouth_83713", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Floor of Mouth", - "title" : "Summary Stage 2018: Floor of Mouth", - "subtitle" : "Summary Stage 2018", - "notes" : "**Floor of Mouth**\n\n8000-8700, 8982\n\nC040-C041, C048-C049\nC040 Anterior floor of mouth\nC041 Lateral floor of mouth\nC048 Overlapping lesion of floor of mouth\nC049 Floor of mouth, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 7 *Oral Cavity*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Floor of mouth sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Melanoma Head and Neck**: 8720-8790\n\n**Note 3:** **Periosteum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones. \n * Cortical bone is the dense compact outer layer of the bone. \n * Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T11:29:16.008Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to floor of mouth, NOS\n- Invasive tumor on one side confined to\n + Lamina propria\n + Submucosa\n + Tumor crosses midline\n- Deep (extrinsic) muscle of tongue\n + Genioglossus\n + Geniohyoid\n + Hyoglossus\n + Mylohyoid\n + Palatoglossus\n + Styloglossus" ], [ "2", "**Regional by direct extension only**\n- Anterior 2/3 of tongue\n- Base of tongue\n- Bone, NOS\n + Cartilage, NOS\n + Cortical bone (mandible, NOS)\n + Mandible, NOS\n + Periosteum of mandible\n + Trabecular bone (mandible, NOS)\n- Epiglottis\n- Gingiva (alveolar ridge), lower\n- Glossoepiglottic fold\n- Glossopharyngeal sulcus\n- Lateral pharyngeal wall\n- Pharyngeal (lingual) surface\n- Pharyngoepiglottic fold\n- Skin of undersurface of chin/neck\n- Subcutaneous soft tissue of chin/neck\n- Sublingual gland, including ducts\n- Submandibular (submaxillary) glands, including ducts\n- Tonsillar pillars and fossae\n- Tonsils\n- Vallecula" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Cortical bone (maxilla)\n + Internal carotid artery (encased)\n + Masticator space\n + Maxilla, NOS\n + Maxillary sinus (antrum)\n + Pterygoid plates\n + Skull base\n + Specified bone (other than mandible, maxilla)\n + Trabecular bone (maxilla)\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_floor_of_mouth_27181.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_floor_of_mouth_27181.json deleted file mode 100644 index 43779f6c6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_floor_of_mouth_27181.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "ss2018_floor_of_mouth_27181", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Floor of Mouth", - "title" : "Derived Summary Stage 2018: Floor of Mouth", - "subtitle" : "Derived Summary Stage 2018", - "last_modified" : "2024-02-14T20:13:03.832Z", - "definition" : [ { - "key" : "ss2018_derived", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "Localized only (localized, NOS)\n- Confined to floor of mouth, NOS\n- Invasive tumor on one side confined to\n + Lamina propria\n + Submucosa\n + Tumor crosses midline\n- Deep (extrinsic) muscle of tongue\n + Genioglossus\n + Geniohyoid\n + Hyoglossus\n + Mylohyoid\n + Palatoglossus\n + Styloglossus" ], [ "2", "Regional by direct extension only\n- Anterior 2/3 of tongue\n- Base of tongue\n- Bone, NOS\n + Cartilage, NOS\n + Cortical bone (mandible, NOS)\n + Mandible, NOS\n + Periosteum of mandible\n + Trabecular bone (mandible, NOS)\n- Epiglottis\n- Gingiva (alveolar ridge), lower\n- Glossoepiglottic fold\n- Glossopharyngeal sulcus\n- Lateral pharyngeal wall\n- Pharyngeal (lingual) surface\n- Pharyngoepiglottic fold\n- Skin of undersurface of chin/neck\n- Subcutaneous soft tissue of chin/neck\n- Sublingual gland, including ducts\n- Submandibular (submaxillary) glands, including ducts\n- Tonsillar pillars and fossae\n- Tonsils\n- Vallecula" ], [ "3", "Regional lymph node(s) involved only\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "Regional by BOTH direct extension AND regional lymph node(s) involved\n- Codes (2) + (3)" ], [ "7", "Distant site(s)/lymph node(s) involved\n- Distant site(s) (including further contiguous extension)\n + Cortical bone (maxilla)\n + Internal carotid artery (encased)\n + Masticator space\n + Maxilla, NOS\n + Maxillary sinus (antrum)\n + Pterygoid plates\n + Skull base\n + Specified bone (other than mandible, maxilla)\n + Trabecular bone (maxilla)\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gallbladder_15174.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gallbladder_15174.json deleted file mode 100644 index e7d329315..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gallbladder_15174.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_gallbladder_15174", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Gallbladder", - "title" : "Summary Stage 2018: Gallbladder", - "subtitle" : "Summary Stage 2018", - "notes" : "**Gallbladder**\n\n8000-8700, 8720-8790\n\nC239\nC239 Gallbladder\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 24 *Gallbladder*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Gallbladder sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Zhu, A.X., Pawlik, T.M., Vauthey, J.N., et al. **Gallbladder**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T11:28:00.657Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to gallbladder, NOS \n- Lamina propria\n- Mucosa, NOS\n- Muscularis propria (layer)\n- Submucosa (superficial invasion)" ], [ "2", "**Regional by direct extension only**\n- Ampulla of Vater\n- Branch(es) of hepatic artery (right or left) \n- Branch(es) of portal vein (right or left)\n- Duodenum\n- Extrahepatic bile duct(s)\n- Liver, less than or equal to 2 cm OR distance not stated\n- Omentum (greater, lesser, NOS)\n- Pancreas\n- Perimuscular connective tissue (peritoneal and hepatic side)\n- Serosa (visceral peritoneum)\n- Small intestine, NOS" ], [ "3", "**Regional lymph node(s) involved only**\n- Celiac artery\n- Cystic duct (Calot's node)\n- Hepatic artery\n- Node of foramen of Winslow (omental) (epiploic)\n- Pancreaticoduodenal\n- Pericholedochal (common bile duct)\n- Periduodenal\n- Peripancreatic (near head of pancreas only)\n- Porta hepatis (portal) (periportal) (hilar) (in hilus of liver)\n- Portacaval\n- Portal vein\n- Retroperitoneal, NOS\n- Superior mesenteric\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Abdominal wall\n + Colon\n + Cystic artery/vein\n + Diaphragm\n + Hepatic artery (common, NOS)\n + Liver, greater than 2 cm\n + Portal vein (main, NOS)\n + Stomach \n + Two or more extrahepatic organs or structures\n- Distant lymph node(s), NOS\n + Para-aortic\n + Pericaval\n + Peripancreatic (along body and tail of pancreas only)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_genital_female_other_5962.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_genital_female_other_5962.json deleted file mode 100644 index 5d68b9db8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_genital_female_other_5962.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_genital_female_other_5962", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Genital Female Other", - "title" : "Summary Stage 2018: Genital Female Other", - "subtitle" : "Summary Stage 2018", - "notes" : "**Genital Female Other**\n\n8000-8700, 8720-8790\n\nC577-C579\nC577 Other specified parts of female genital organs\nC578 Overlapping lesion of female genital organs\nC579 Female genital tract, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Diseas1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n\n**Note 2:** **Other Summary Stage Chapters with other Female Genital sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2024-05-15T13:31:15.184Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to tissue or organ of origin" ], [ "2", "**Regional by direct extension only**\n- Adjacent connective tissue\n- Adjacent organ(s)/structure(s)\n + Adnexa\n + Broad ligament(s)\n + Cervix uteri\n + Corpus uteri\n + Fallopian tube(s)\n + Ovary(ies)\n + Parametrium\n + Round ligament(s)\n + Uterus, NOS\n + Vagina" ], [ "3", "**Regional lymph node(s) involved only**\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Other organ(s) of pelvis\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_genital_male_other_44390.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_genital_male_other_44390.json deleted file mode 100644 index fb60e9adb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_genital_male_other_44390.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_genital_male_other_44390", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Genital Male Other", - "title" : "Summary Stage 2018: Genital Male Other", - "subtitle" : "Summary Stage 2018", - "notes" : "**Genital Male Other**\n\n8000-8700, 8720-8790 (C630-C631, C637-C639)\n8000-8040, 8042-8180, 8191-8246, 8248-8700 (C632)\n\nC630-C632, C637-C639\nC630 Epididymis\nC631 Spermatic cord\nC632 Scrotum, NOS\nC637 Other specified parts of male genital organs\nC638 Overlapping lesion of male genital organs\nC639 Male genital organs, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n\n**Note 2:** **Other Summary Stage Chapters with other Male Genital sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Scrotum schemas** \n* See the following schemas for scrotum (C632) for the listed histologies \n * **Merkel Cell Skin**: 8041, 8190, 8247\n * **Melanoma Skin**: 8720-8790\n * **Mycosis Fungoides**: 9700-9701 \n\n**Note 4:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2024-05-15T13:29:16.355Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to tissue or organ of origin" ], [ "2", "**Regional by direct extension only**\n- Adjacent connective tissue\n- Adjacent organ(s)/structure(s)\n + Epididymis (from other site)\n + Penis\n + Prostate\n + Seminal vesicle (from other site)\n + Skeletal muscle (scrotum only)\n + Spermatic cord (vas deferens) (from other site)\n + Testis\n + Tunica vaginalis (from other site)" ], [ "3", "**Regional lymph node(s) involved only**\n- Iliac , NOS\n + External \n + Internal (hypogastric), NOS\n * Obturator \n- Inguinal , NOS\n + Deep inguinal, NOS\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Pelvic , NOS\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n- Other organ(s) and structure(s) in male pelvis\n + Bladder\n + Bone (axial or appendicular skeleton) (scrotum only)\n + Rectum \n + Underlying cartilage (scrotum only)\n + Urethra\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gist_23534.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gist_23534.json deleted file mode 100644 index b3ea330fb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gist_23534.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_gist_23534", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: GIST", - "title" : "Summary Stage 2018: GIST", - "subtitle" : "Summary Stage 2018", - "notes" : "**Gastrointestinal Tumors (GIST)**\n\n8935-8936 (C000-C539, C571-C809)\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 43 *Gastrointestinal Stromal Tumor*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other schemas that include GIST histologies** \n* GIST of the cervix, corpus, ovary and fallopian tube are collected in the following: \n * **Cervix Sarcoma**: C530-C539 for 2021 and later\n * **Corpus Sarcoma**: C540-C549, C559\n * **Fallopian Tube**: C570\n * **Ovary**: C569\n \n **Note 3:** **GIST tumors in the Digestive System** \n* For GIST tumors arising in the tubular organs of the digestive system (Esophagus, Stomach, Small Intestine, Appendix, Colon and Rectum), any extension beyond the muscular wall (e.g. invasion beyond the muscularis propria/muscularis, NOS) into adjacent tissues, sites or organs is no longer confined to the site of origin (code 1). \n * Extension through the wall, NOS, or through the muscularis propria/muscularis, NOS without further extension would be code 1 (confined to the site of origin).\n * Extension through the wall, NOS or through the muscularis propria/muscularis, NOS with any further extension into underlying tissues/fat, organs or structures would be included code 2 or 7 (Adjacent (connective) tissue, NOS or Extension to organs/structures, NOS).\n\n**Note 4:** **Summary Stage references** \n* See the chapter corresponding to the primary site for information about the site's anatomy. The corresponding chapter can be used to help determine what the adjacent (connective) tissues, structures or organs are, but the site-specific chapter codes are not to be used to determine whether a GIST tumor is localized, regional or distant.\n* See the Summary Stage chapter corresponding to the primary site for information about extension and regional nodes. \n * **Esophagus**: C150-C155, C158-C159\n * **Small Intestine**: C170-C172, C178-C17\n * **Stomach**: C160-C166, C168-C169 \n * **Appendix**: C181 \n * **Colon and Rectum**: C180, C182-C189, C199, C209\n * **Retroperitoneum**: C480-C482, C488\n\n**Note 5:** **Retroperitoneum GIST** \n* For GIST tumors arising in the Retroperitoneum (C480-C482, C488), refer to the Summary Stage General Instructions for the definition of adjacent (connective) tissue. \n* Refer to the General Instructions to determine whether the GIST tumor involves adjacent tissues or is confined to the primary site. \n\n**Note 6:** **Nodal metastasis rare** \n* Nodal metastasis is very rare in gastrointestinal stromal tumors (GISTs) and surgeons generally agree that nodal dissection is not indicated. \n* In the absence of information on regional lymph node status for a localized tumor, assume nodes are negative.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) DeMatteo, R.P., Maki, R.G., Pollock, R.E., et al. **Gastrointestinal Stromal Tumor**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T11:24:35.903Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to site of origin" ], [ "2", "**Regional by direct extension only**\n- Adjacent (connective) tissue, NOS" ], [ "3", "**Regional lymph node(s) involved only**\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Adherent to organs/structure, NOS\n + Extension to organs/structures, NOS \n + Liver parenchymal nodules\n + Peritoneal nodules\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gum_75440.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gum_75440.json deleted file mode 100644 index b44d2979b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_gum_75440.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_gum_75440", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Gum", - "title" : "Summary Stage 2018: Gum", - "subtitle" : "Summary Stage 2018", - "notes" : "**Gum**\n\n8000-8700, 8982\n\nC030-C031, C039, C062\nC030 Upper gum\nC031 Lower gum\nC039 Gum, NOS\nC062 Retromolar area (gingiva, trigone)\n\n**Note 1:** **Sources used in the development of this schema**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 7 *Oral Cavity*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other EOD Schemas with Gum sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Head and Neck**: 8720-8790\n**Mycosis Fungoides**: 9700-9701\n**Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Periosteum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones. \n * Cortical bone is the dense compact outer layer of the bone. \n * Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T11:23:10.166Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to gum, NOS\n- Invasive tumor confined to lamina propria (mucoperiosteum) (stroma)" ], [ "2", "**Regional by direct extension only**\n- Bone, NOS\n- Bone (mandible, maxilla, palatine)\n- Buccal mucosa (inner cheek)\n- Cartilage (mandible, maxilla, NOS)\n- Cortical bone (mandible, maxilla, NOS)\n- Deep (extrinsic) muscle of tongue\n + Genioglossus\n + Hyoglossus\n + Palatoglossus\n + Styloglossus\n- Facial muscle, NOS\n- Floor of mouth\n- Hard palate (includes cortical palatine bone)\n- Labial mucosa (inner lip)\n- Lateral pharyngeal wall\n- Lip, NOS\n- Soft palate including uvula\n- Subcutaneous soft tissue of face\n- Tongue mucosa/intrinsic muscle\n- Tonsillar pillars and fossae\n- Tonsils\n- Trabecular bone (mandible, maxilla, palatine, NOS)" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Internal carotid artery (encased)\n + Masticator space\n + Maxillary sinus/antrum\n + Nasal cavity\n + Nose\n + Pterygoid plates\n + Skin of face\n + Skull base\n + Specified bone (other than mandible, maxilla, palatine)\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_hemeretic_3793.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_hemeretic_3793.json deleted file mode 100644 index 4ac6f162c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_hemeretic_3793.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_hemeretic_3793", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: HemeRetic", - "title" : "Summary Stage 2018: HemeRetic", - "subtitle" : "Summary Stage 2018", - "notes" : "**HemeRetic**\n\n**The preferred histology terms listed in this chapter are from the 2024 WHO Classification of Tumours, Haematolymphoid tumours, 5th edition.**\n\n9724, 9727, 9740-9742, 9749, 9762-9809, 9811-9820, 9831-9920, 9931-9993 \n* C700-C729, C751-C753 for 9749, 9766 (2018-2022 only) (See Note 2)\n\nC000-C440, C442-C689, C691-C694, C698-C809: 9591 and Schema Discriminator 1: 1, 2 \n\nC000-C699, C739-C750, C754-C809: 9751, 9755-9759 \n\nC000-C440, C442-C689, C691-C694, C698-C809: 9930 \n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 83 *Leukemia*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Histologies moved to Brain, CNS, Intracranial Gland** \n* For the histologies and primary sites listed below, these have moved to the Brain, CNS Other, and Intracranial Gland Summary Stage chapters starting with 2023 diagnoses.\n* If you have one of these cases for 2018-2022, then this is the appropriate chapter. If you have one of these cases diagnosed on January 1, 2023, forward, see the appropriate chapter\n * **9749, 9766** \n * **Brain**: C700, C710-C719\n * **CNS Other**: C701, C709, C720-C725, C728-C729\n * **Intracranial Gland**: C751-C753\n\n**Note 3:** **Other Summary Stage chapters with the listed histologies**\n* **Brain**: 9751, 9755-9759, (9749, 9766 for 2023+) (C700, C710-C719) \n* **CNS Other**: 9751, 9755-9759, (9749, 9766 for 2023+) (C701, C709, C720-C725, C728-C729) (9749, 9766 for 2023+)\n* **Intracranial Gland**: 9751, 9755-9759, (9749, 9766 for 2023+) (C751-C753)\n* **Lymphoma**: 9591 and Schema Discriminator 1: 3, 9 (C000-C440, C442-C689, C691-C694, C698-C809)\n* **Lymphoma Ocular Adnexa**: 9930 (C441, C690, C695-C696\n\n**Note 4:** **The following histologies can be localized (code 1), systemic (7) or unknown (9)** \n\n* 9740: Mast cell sarcoma (MCS)\n* 9749: Erdheim-Chester disease (ECD) *(2021+ only)*\n* 9755: Histiocytic sarcoma\n* 9756: Langerhans cell sarcoma (LCS) \n* 9757: Interdigitating dendritic cell sarcoma (IDCS) \n* 9758: Follicular dendritic cell sarcoma (FDCS) \n* 9759: Fibroblastic reticular cell tumor \n* 9766: Lymphomatoid granulomatosis, grade 3 *(2021+ only)*\n* 9930: Myeloid sarcoma \n* 9971: Polymorphic PTLD *(2018-2020, 2025+)* \n * **Note:** 9971 is /1 and non-reportable *(EXCEPT for C700-C729, C751-C753)* for 2021-2024, moved back to /3 for 1/1/2025+\n\n**Note 5:** **Lymph node involvement** \n* For histologies listed in **Note 4**, it is possible to have lymph node involvement; however, at this time, lymph node involvement for these histologies is not collected.\n\n**Note 6:** **The following histologies are systemic (code 7)**\n\n* 9591: Splenic B-cell lymphoma/leukemia, unclassifiable\n* 9724: Systemic EBV-positive T-cell lymphoma of childhood (SEBVTCL)\n* 9727: Blastic plasmacytoid dendritic cell neoplasm (BPDC)\n* 9741: Systemic mastocytosis with an associated hematological neoplasm (SM-AHN)\n* 9742: Mast cell leukemia (MCL)\n* 9750: ALK-positive histiocytosis\n* 9751: Langerhans cell histiocytosis (LCH), disseminated\n* 9762: Heavy chain diseases, NOS (HCD)\n* 9800: Leukemia, NOS\n* 9801: Acute undifferentiated leukemia\n* 9805: Acute leukemia of ambiguous lineage with other defined genetic alterations\n* 9806: Mixed-phenotype acute leukemia (MPAL) with *BCR::ABL1* fusion\n* 9807: Mixed-phenotype acute leukemia (MPAL) with *KMT2A-rearranged*\n* 9808: Mixed -phenotype acute leukemia, B/myeloid, NOS\n* 9809: Mixed-phenotype acute leukemia (MPAL), T/myeloid, NOS\n* 9811: B-lymphoblastic leukemia/lymphoma [B-ALL/LBL], NOS\n* 9812: B-lymphoblastic leukemia/lymphoma [B-ALL/LBL] with *BCR::ABL1 fusion*\n* 9813: B lymphoblastic leukemia/lymphoma [B-ALL/LBL] with *KMT2A rearrangement*\n* 9814: B-lymphoblastic leukemia/lymphoma [B-ALL/LBL] with *ETV6::RUNX1 fusion*\n* 9815: B-lymphoblastic leukemia/lymphoma with high hyperdiploidy (B-ALL/LBL with high hyperdiploidy)\n* 9816: B-lymphoblastic leukemia/lymphoma [B-ALL/LBL] with hypodiploidy (Hypodiploid B-ALL/LBL)\n* 9817: B-lymphoblastic leukemia/lymphoma [B-ALL/LBL] with *IGH::IL3 fusion*\n* 9818: B-lymphoblastic leukemia/lymphoma [B-ALL/LBL] with *TCF3::PBX1*\n* 9819: B-lymphoblastic leukemia/lymphoma [B-ALL/LBL] with *BCR::ABL1 like features* (BCR::ABL1-like B-ALL/LBL) *(2021+ only)*\n* 9820: Lymphoid leukemia, NOS\n* 9831: T-large granular lymphocytic leukemia (T-LGLL)\n* 9832: Prolymphocytic leukemia (PPL), NOS\n* 9833: Prolymphocytic leukemia, B-cell type (BLL) \n* 9834: T-cell prolymphocytic leukemia (T-PLL)\n* 9837: T-lymphoblastic leukemia/lymphoma (T-ALL/LBL) \n* 9840: Acute erythroid leukemia (AEL)\n* 9860: Myeloid leukemia, NOS\n* 9861: Acute myeloid leukemia (AML), NOS\n* 9863: Chronic myeloid leukemia (CML), NOS\n* 9865: Acute myeloid leukemia with *DEK::NUP214 fusion*\n* 9866: Acute promyelocytic leukemia with *PML::RARA* fusion (APL with *PML::RARA*)\n* 9867: Acute myelomonocytic leukemia, NOS (AMML)\n* 9869: Acute myeloid leukemia with *MECOM rearrangement*\n* 9870: Acute basophilic leukemia\n* 9871: Acute myeloid leukemia with *CBFB::MYH11 fusion*\n* 9872: Acute myeloid leukemia, minimal differentiation\n* 9873: Acute myeloid leukemia without maturation\n* 9874: Acute myeloid leukemia with maturation\n* 9875: Chronic myeloid leukemia (CML), *BCR::ABL1 positive*\n* 9876: Myelodysplastic/myeloproliferative neoplasm with neutrophilia (MDS/MPN-N)\n* 9877: Acute myeloid leukemia with mutated *NPM1* *(2021+ only)*\n* 9878: Acute myeloid leukemia with *CEBPA mutation* *(2021+ only)*\n* 9879: Acute myeloid leukemia with mutated *RUNX1* *(2021+ only)*\n* 9891: Acute monocytic leukemia\n* 9895: Myelodysplasia-related acute myeloid leukemia (AML-MR)\n* 9896: Acute myeloid leukemia with *RUNX1::RUNX1T1*\n* 9897: Acute myeloid leukemia with *KMT2a rearrangement*\n* 9898: Myeloid leukemia associated with Down Syndrome (ML-DS)\n* 9910: Acute megakaryoblastic leukemia (AMKL)\n* 9911: Acute myeloid leukemia (megakaryoblastic) with *RBMI5::MRTFA*\n* 9912: Acute myeloid leukemia with *BCR::ABL1 fusion* *(2021+ only)*\n* 9920 Therapy-related myeloid neoplasms\n* 9931: Acute panmyelosis with myelofibrosis (APMF)\n* 9940: Hairy cell leukemia (HCL)\n* 9945: Chronic myelomonocytic leukemia, NOS (CMML)\n* 9946: Juvenile myelomonocytic leukemia (JMML)\n* 9948: Aggressive NK-cell leukemia (ANKL)\n* 9950: Polycythemia vera (PV)\n* 9961: Primary myelofibrosis (PMF)\n* 9962: Essential thrombocythemia (ET)\n* 9963: Chronic neutrophilic leukemia (CNL)\n* 9964: Chronic eosinophilic leukemia (CEL)\n* 9965: Myeloid/lymphoid neoplasms with *PDGFRA* rearrangement\n* 9966: Myeloid/lymphoid neoplasm with *PDGFRB* rearrangement\n* 9967: Myeloid/lymphoid neoplasm with *FGFR1* rearrangement\n* 9968: Myeloid/lymphoid neoplasm with *JAK2* rearrangement *(2021+ only)*\n* 9975: Myelodysplastic/myeloproliferative neoplasm, NOS, unclassifiable (MPN/MDS-U)\n* 9980: Myelodysplastic neoplasm with low blasts and single-lineage dysplasia (MDS-LB-SLD)\n* 9982 Myelodysplastic /myeloproliferative neoplasm with low blasts and SF3B1 mutation\n* 9983: Myelodysplastic neoplasm with increased blasts (MDS-IB)\n* 9985: Myelodysplastic neoplasm with low blasts, NOS (MDS-LB)\n* 9986: Myelodysplastic neoplasm with low blasts and 5q deletion (MDS-5q)\n* 9989: Myelodysplastic neoplasm, NOS\n* 9991: Refractory neutropenia *(2018-2020 only, see code 9980/3 for 2021+)*\n* 9992: Refractory thrombocytopenia *(2018-2020 only, see code 9980/3 for 2021+)*\n* 9993: Myelodysplastic syndrome with ring sideroblasts and multilineage dysplasia *(2021+)*\n\n**Note 7:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.\n\n**Note 8:** **Not applicable codes** \n* Codes 0, 2, 3, and 4 are not applicable for this chapter.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Radich, J.P., Jaffe, E.S., Leonard, J.P., et al. **Leukemia**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-09-26T14:24:33.098Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only**\n- Localized disease\n- (Single/solitary/unifocal/isolated)\n- See Notes 4 and 5" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Systemic disease\n- See Note 6" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_hypopharynx_excluding_melanoma_8720_8790_copy_30010.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_hypopharynx_excluding_melanoma_8720_8790_copy_30010.json deleted file mode 100644 index 8ff5ce9b5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_hypopharynx_excluding_melanoma_8720_8790_copy_30010.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_hypopharynx_excluding_melanoma_8720_8790_copy_30010", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Hypopharynx", - "title" : "Summary Stage 2018: Hypopharynx", - "subtitle" : "Summary Stage 2018", - "notes" : "**Hypopharynx**\n\n8000-8700\n\nC129-C132, C138-C139\nC129 Pyriform sinus\nC130 Postcricoid region\nC131 Hypopharyngeal aspect of aryepiglottic fold\nC132 Posterior wall of hypopharynx\nC138 Overlapping lesion of hypopharynx\nC139 Hypopharynx, NOS (laryngopharynx)\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 11 *Oropharynx (p16-) and Hypopharynx*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Hypopharynx sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Head and Neck**: 8720-8790\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Fixation** \n* Code 2 If there is fixation of hemilarynx or larynx.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Ridge, J.A., Shah, J.P., et al. **Oropharynx (p16-) and Hypopharynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-11-07T13:05:18.601Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to hypopharynx\n- Laryngopharynx\n- Postcricoid area\n- Posterior pharyngeal wall\n- Pyriform fossa or sinus" ], [ "2", "**Regional by direct extension only**\n- Carotid artery (encased)\n- Central compartment soft tissues of neck including\n + Prelaryngeal strap muscle(s)\n + Subcutaneous fat\n- Cricoid cartilage\n- Esophageal mucosa or muscle \n- Extrinsic muscle of tongue\n- Fixation of structures in code 1 (localized with fixation)\n- Fixation of hemilarynx, larynx or oropharynx\n- Hard palate\n- Hemilarynx\n- Mandible \n- Medial pterygoid\n- Oropharynx\n- Prevertebral fascia/muscle(s)\n- Soft tissues of neck\n- Thyroid cartilage/gland" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Base of tongue\n + Floor of tongue\n + Hyoid bone\n + Mediastinal structure(s)\n + Nasopharynx\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant mets WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ill_defined_18664.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ill_defined_18664.json deleted file mode 100644 index f8c260208..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ill_defined_18664.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_ill_defined_18664", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Ill-Defined Other", - "title" : "Summary Stage 2018:Ill-Defined Other", - "subtitle" : "Summary Stage 2018", - "notes" : "**Ill-Defined Other**\n\nC420-C424, C761-C765, C767-C768, C770-C775, C778-C779: 8000-8700, 8720-8790 \n\nC809: 8000-8180, 8191-8246, 8248-8700, 8720-8790 \n\nC760 and Schema Discriminator 1: Occult Head and Neck Lymph Nodes: 0, 1 (8010, 8046, 8051-8052, 8070-8074, 8082-8084, 8121, 8140, 8147, 8200, 8310, 8430, 8450, 8480, 8525, 8550, 8562)\n\nC760 (8000-8005, 8011-8045, 8050, 8053-8060, 8075-8081, 8085-8120, 8122-8131, 8141-8146, 8148-8191, 8201-8300, 8311-8420, 8440-8444, 8451-8474, 8481-8524, 8530-8543, 8551-8561, 8563, 8570-8700, 8720-8790)\n\nC760-C765, C767-C768, C809\nC42 and C77, Other than Hematopoietic neoplasms (9590-9992)\n\nC420 Blood\nC421 Bone marrow\nC422 Spleen\nC423 Reticuloendothelial system, NOS\nC424 Hematopoietic system, NOS\n\n**Other and ill-defined sites of**\nC760 Head, face or neck, NOS\nC761 Thorax, NOS\nC762 Abdomen, NOS\nC763 Pelvis, NOS\nC764 Upper limb, NOS\nC765 Lower limb, NOS\nC767 Other ill-defined sites\nC768 Overlapping lesion of ill-defined sites\n\n**Lymph nodes of**\nC770 Lymph nodes of head, face and neck\nC771 Lymph nodes of intrathoracic\nC772 Lymph nodes of intra-abdominal\nC773 Lymph nodes of axilla or arm \nC774 Lymph nodes of inguinal region or leg \nC775 Lymph nodes of pelvis\nC778 Lymph nodes of multiple regions\nC779 Lymph nodes, NOS\nC809 Unknown primary site\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n\n**Note 2:** **Schema Discriminator 1** \n* Schema Discriminator 1: Occult Head and Neck Lymph Nodes* is used to discriminate between Cervical Lymph Nodes and Unknown Primary Tumor of the Head and Neck, Ill-Defined Other and Soft Tissue Other when primary site is C760.\n\n**Note 3:** **Other Summary Stage Chapters with Ill-Defined sites**\n* **Cervical Lymph Nodes and Unknown Primary Tumors of the Head and Neck** C760 (8010, 8046, 8051-8052, 8070-8074, 8082-8084, 8121, 8140, 8147, 8200, 8310, 8430, 8450, 8480, 8525, 8550, 8562, 8941: Schema Discriminator 1 Occult Head and Neck Lymph Nodes: 2, 3, 4, 5)\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Merkel cell skin**: C809 (8190, 8247)\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**\n * C760-C768, C770-C779: 8710-8714, 8800-8934, 8940-9138,9141-9582\n * C809: 8710-8714, 8800-8806, 8810-8934, 8940-9138, 9141-9582\n\n**Note 4:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.\n\n**Note 5:** **Not applicable codes** \n* Codes 0, 1, 2, 3, 4, 7, and 8 are not applicable for this chapter.\n* Code 9 is the only code allowed for this chapter", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2024-04-19T20:48:09.585Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "9", "Unknown if extension or metastasis; unstageable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_intracranial_gland_98794.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_intracranial_gland_98794.json deleted file mode 100644 index e827b1b80..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_intracranial_gland_98794.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_intracranial_gland_98794", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Intracranial Gland", - "title" : "Summary Stage 2018: Intracranial Gland", - "subtitle" : "Summary Stage 2018", - "notes" : "**Intracranial Gland**\n\n**Any behavior:** \n* 8000-8700, 8720-8790, 8900, 9064, 9070-9071, 9080, 9084-9085, 9100, 9120, 9140, 9220, 9362, 9380-9539, 9680, 9699, 9702-9715, 9751-9759\n\n* 8710, 8712-8714, 8803, 8812-8814, 8816-8824, 8826-8831, 8834-8836, 8841-8842, 8851, 8853, 8855-8857, 8860-8881, 8891-8898, 8902-8905, 8921, 8932-8934, 8940-8990, 9000-9016, 9030, 9042, 9045-9063, 9065, 9072-9073, 9081-9083, 9086-9091, 9101-9111, 9121-9132, 9135, 9137-9138, 9141-9175, 9181-9213, 9221, 9230, 9240-9250, 9252-9361, 9363, 9365, 9370-9373, 9541, 9550, 9560, 9562-9571, 9582) (2023+)\n * For years 2018-2022, see *Soft Tissue*\n* 9362 (C753 only) (2018-2022 only)\n * For 2023+, see *Medulloblastoma*\n* 9671 (2023+)\n * For years 2018-2022, see *Myeloma and Plasma Cell Disorders*\n* 9690, 9719 (2023+)\n * For years 2018-2022, see *Lymphoma*\n\n**Benign/Borderline histologies (/0, /1):** \n* 8711, 8800-8802, 8804-8811, 8815, 8825, 8832-8833, 8840, 8850, 8852, 8854, 8858-8859, 8890, 8901, 8910-8920, 8930-8931, 8935-8936, 8991, 9020, 9040-9041, 9043-9044, 9133, 9136, 9180, 9222, 9231, 9251, 9364, 9366-9368, 9540, 9542, 9561, 9580-9581, 9590-9663, 9673-9679, 9687-9689, 9691-9698, 9700-9701, 9716-9718, 9724-9742, 9761-9765, 9767-9993\n\nC751-C753\nC751 Pituitary gland\nC752 Craniopharyngeal duct\nC753 Pineal Gland\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 72 *Brain and Spinal Cord*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Brain and Spinal Cord, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Medulloblastoma** \n* For diagnoses January 1, 2023, and forward, see the following Summary Stage chapter for the listed histologies (any behavior)\n * 9362 (C753 only): *Medulloblastoma*\n\n**Note 3:** **Other Summary Stage Chapters with Intracranial Gland sites (/3 only)**\n* **GIST**: 8935-8936\n * **Lymphoma**: 9590, 9596-9663, 9673-9679, 9687-9698, 9716-9719, 9725-9726, 9735, 9737-9738, 9826-9827\n * *Note:* 9690, 9719 for 2023+ only\n* **Mycosis Fungoides**: 9700-9701\n* **Plasma Cell Disorders**: 9671, 9731, 9734, 9761: \n * *Note:* 9671 for 2023+ only\n* **Soft Tissue**: 8711, 8800-8802, 8804-8806, 8810-8811, 8815, 8825, 8832-8833, 8840, 8850, 8852, 8854, 8858-8859, 8890, 8901, 8910, 8912, 8920, 8930-8931, 8991, 9020, 9040-9041, 9043-, 9133, 9136, 9180, 9222, 9231, 9251, 9364, 9366-9368, 9540, 9542, 9561, 9580-9581\n\n**Note 4:** **Summary Stage** \n* Summary Stage is the only applicable staging system for this site/histology/schema.\n\n**Note 5:** **Benign/borderline tumors** \n* Benign (/0) or Borderline (/1) tumors **are always coded to 8** regardless of size, extension to adjacent sites, or multiple tumors\n\n**Note 6:** **Not applicable codes**\n* Codes 3 and 4 are not applicable for this chapter.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Laws, E.R., Curran, W.J., et al. **Brain and Spinal Cord**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Brain and Spinal Cord**, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2024-05-15T21:39:37.383Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to gland of origin" ], [ "2", "**Regional by direct extension only**\n- Adjacent connective/soft tissue\n- Adjacent organ(s)/structure(s) for pituitary and craniopharyngeal duct\n + Cavernous sinus\n + Infundibulum\n + Pons\n + Sphenoid body and sinuses\n- Adjacent organ(s)/structure(s) for pineal\n + Infratentorial and central brain" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "8", "**Benign or borderline brain**\n* Behavior is /0 or /1" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_intrahepatic_bile_ducts_51957.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_intrahepatic_bile_ducts_51957.json deleted file mode 100644 index b3d7e1dde..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_intrahepatic_bile_ducts_51957.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_intrahepatic_bile_ducts_51957", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Intrahepatic Bile Ducts", - "title" : "Summary Stage 2018: Intrahepatic Bile Ducts", - "subtitle" : "Summary Stage 2018", - "notes" : "**Intrahepatic Bile Ducts**\n\n8000-8700, 8720-8790, 8980\n\nC221\nC221 Intrahepatic bile duct\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 23 *Intrahepatic Bile Ducts*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Intrahepatic Bile Ducts sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Vascular invasion**\n* Intrahepatic vascular invasion (code 1) includes the following\n * Major hepatic vessel invasion \n * First and second-order branches of the portal veins or hepatic arteries\n * Hepatic veins (right, middle, or left)\n * Microscopic invasion of smaller intraparenchymal vascular structures (identified on histopathological examination)", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Aloia, T., Pawlik, T.M., Vauthey, J.N., et al. **Intrahepatic Bile Ducts**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T15:15:26.916Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive** \n- Biliary intraepithelial neoplasia grade 3 (BiIIN-3)\n- Intraductal tumor" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to intrahepatic bile duct, NOS\n- Solitary or Multiple tumors WITH or WITHOUT intrahepatic vascular invasion" ], [ "2", "**Regional by direct extension only**\n- Abdominal wall\n- Adjacent (connective) tissue, NOS\n- Colon\n- Common bile duct\n- Diaphragm \n- Duodenum\n- Extrahepatic bile ducts PLUS satellite nodules in more than one lobe \n- Extrahepatic structure(s), NOS\n + Retrohepatic vena cava\n + Vena cava \n- Hepatic artery (proper)\n- Gallbladder\n- Lesser omentum ligament(s)\n + Coronary \n + Falciform \n + Hepatoduodenal \n + Hepatogastric \n + Round (of liver) \n + Triangular \n- Peritoneum, NOS\n + Parietal\n + Visceral\n- Multiple tumors with major vascular invasion\n- Retrohepatic vena cava" ], [ "3", "**Regional lymph node(s) involved only**\n- Common bile duct \n- Cystic duct \n- Hepatic, NOS\n- Hepatic artery\n- Hepatic pedicle\n- Hepatoduodenal ligament \n- Hilar\n- Portal vein\n + Periportal \n + Porta hepatis\n + Portal \n- Portocaval (portacaval)\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Multiple (satellite) nodules on surface of liver parenchyma\n + Pancreas\n + Pleura\n + Stomach\n- Distant lymph node(s), NOS\n + Aortic (para-aortic, periaortic)\n + Aortocaval\n + Cardiac\n + Caval (inferior vena cava)\n + Celiac\n + Diaphragmatic, NOS\n + Gastrohepatic\n + Inferior phrenic\n + Lateral (aortic) (lumbar)\n + Pancreaticoduodenal \n + Pericardial (pericardiac)\n + Periduodenal\n + Peripancreatic\n + Posterior mediastinal (tracheoesophageal) including juxtaphrenic nodes\n + Renal artery\n + Retroperitoneal, NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kaposi_sarcoma_17563.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kaposi_sarcoma_17563.json deleted file mode 100644 index efcecde30..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kaposi_sarcoma_17563.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_kaposi_sarcoma_17563", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Kaposi Sarcoma", - "title" : "Summary Stage 2018: Kaposi Sarcoma", - "subtitle" : "Summary Stage 2018", - "notes" : "**Kaposi Sarcoma**\n\n9140 Kaposi Sarcoma (C000-C699, C739-C750, C754-C809)\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 45 *Soft Tissue Sarcoma - Unusual Histologies and Sites*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Kaposi Sarcoma of the brain, central nervous system and intracranial glands is now collected in the following**\n* **Brain**: C700, C710-C719\n* **CNS Other**: C701, C709, C720-C725, C728-C729\n* **Intracranial Gland**: C751-C753\n\n**Note 3:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.\n\n**Note 4:** **Not applicable codes** \n* Code 0 is not applicable for this chapter.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions,** National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma - Unusual Histologies and Sites**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. \n(Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017: 539-545", - "last_modified" : "2024-05-15T14:30:21.782Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only**\n- Single or multiple lesion(s)\n + Mucosa (e.g., oral cavity, anus, rectum, vagina, vulva)\n + Skin and/or connective tissue\n + Viscera (e.g., pulmonary, gastrointestinal tract, spleen, other)" ], [ "2", "**Regional by direct extension only**\n- Multiple lesion(s)\n + Mucosa plus skin and/or connective tissue\n + Viscera plus mucosa \n + Viscera plus skin and/or connective tissue" ], [ "3", "**Regional lymph node(s) involved only**\n- Both clinically enlarged palpable lymph node(s) (adenopathy) and pathologically positive lymph node(s)\n- Clinically enlarged palpable lymph node(s) (adenopathy) and either pathologically negative node(s) or no pathological statement\n- No clinically enlarged palpable lymph node(s) (adenopathy) but pathologically positive lymph node(s)\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Multiple lesions in all THREE of following: viscera plus mucosa plus skin and/or connective tissue\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_parenchyma_30980.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_parenchyma_30980.json deleted file mode 100644 index c5bce119b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_parenchyma_30980.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_kidney_renal_parenchyma_30980", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Kidney Parenchyma", - "title" : "Summary Stage 2018: Kidney Parenchyma", - "subtitle" : "Summary Stage 2018", - "notes" : "**Kidney Parenchyma**\n\n8000-8700, 8720-8790\n\nC649\nC649 Kidney, NOS (Renal parenchyma) \n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 60 *Kidney*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Kidney sites** \n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rini, B.I., McKiernan, J.M., Stadler, W.M., et al. **Kidney**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-18T13:33:21.994Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined (limited) to the kidney, NOS\n- Invasion of renal capsule \n- Invasive cancer confined to kidney cortex and/or medulla" ], [ "2", "**Regional by direct extension only**\n- Adrenal gland (ipsilateral) (contiguous involvement)\n- Ascending colon from right kidney\n- Beyond Gerota's fascia, NOS\n- Blood vessel(s) (major)\n + Extrarenal portion of renal vein or segmental (muscle containing branches)\n + Hilar blood vessel\n + Inferior vena cava\n + Perirenal vein/fat\n + Renal artery\n + Renal vein, NOS/sinus fat\n + Tumor thrombus in a renal vein, NOS\n- Descending colon from left kidney\n- Diaphragm \n- Duodenum from right kidney\n- Pelvicalyceal system\n- Perinephric tissue\n- Peritoneum\n- Psoas muscle\n- Quadratus lumborum muscle\n- Renal pelvis or calyces involved\n- Retroperitoneal soft tissue\n- Separate focus of tumor in renal pelvis/calyx\n- Tail of pancreas\n- Ureter (ipsilateral), including implant(s)" ], [ "3", "**Regional lymph node(s) involved only**\n- Aortic, NOS\n + Lateral (lumbar)\n + Para-aortic\n + Periaortic\n + Preaortic\n + Retroaortic\n- Caval, NOS\n + Interaortocaval\n + Paracaval\n + Pericaval\n + Precaval\n + Retrocaval\n- Renal hilar\n- Retroperitoneal, NOS\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Adrenal gland (ipsilateral) (noncontiguous involvement) (see EOD Primary Tumor for contiguous involvement)\n + Adrenal gland (contralateral)\n + Aorta\n + Contralateral kidney\n + Contralateral ureter\n + Liver \n + Ribs\n + Spleen\n + Stomach\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_pelvis_29650.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_pelvis_29650.json deleted file mode 100644 index 025b18ae9..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_kidney_renal_pelvis_29650.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_kidney_renal_pelvis_29650", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Kidney Renal Pelvis", - "title" : "Summary Stage 2018: Kidney Renal Pelvis", - "subtitle" : "Summary Stage 2018", - "notes" : "**Kidney Renal Pelvis**\n\n8000-8700, 8720-8790\n\nC659, C669\nC659 Renal pelvis \nC669 Ureter \n\n**Note 1:** **Sources used in the development of this schema**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 61 *Renal Pelvis and Ureter*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other EOD Schemas with Renal Pelvis and Ureter sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Involvement of both renal pelvis and ureter** \n* Tumor involving both renal pelvis and ureter (unifocal or multifocal) is classified by the depth of greatest invasion in either organ. \n\n**Note 4:** **Tumor with bladder invasion** \n* Direct invasion of the bladder by a ureteral tumor is classified by the depth of greatest invasion of the bladder or ureter.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) McKiernan, J.M., Hansel, D.E., Stadler, W.M., et al. **Renal Pelvis and Ureter**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T11:05:26.661Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive** \n\nPapillary \n- Non-infiltrating or non-invasive papillary transitional cell carcinoma\n- Non-infiltrating or non-invasive papillary urothelial carcinoma\n- Papillary transitional cell carcinoma, with inferred description of non-invasion\n- Papillary urothelial carcinoma, with inferred description of non-invasion\n\nNonpapillary \n- Carcinoma in situ, NOS \n- Sessile (flat) (solid) carcinoma in situ \n- Transitional cell carcinoma in situ\n- Urothelial carcinoma (in situ, non-infiltrating, non-invasive)\n\nMultifocal non-invasive tumors" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to renal pelvis, NOS\n- Confined to ureter, NOS\n- Muscularis \n + Renal pelvis only\n + Ureter only\n- Subepithelial connective tissue (lamina propria, submucosa) \n + Renal pelvis only\n + Ureter only" ], [ "2", "**Regional by direct extension only**\n- Extension to bladder from ureter\n + Muscularis of distal ureter and/or bladder\n + Subepithelial connective tissue of distal ureter and/or bladder\n- Invasion beyond muscularis into\n + Peripelvic fat (renal pelvis)\n + Periureteric fat (ureter)\n + Retroperitoneal soft/connective tissue\n- Renal pelvis and ureter (unifocal or multifocal)\n + Duodenum (from right renal pelvis or right ureter)\n + Ipsilateral adrenal gland (suprarenal) gland\n + Major blood vessel(s)\n * Aorta\n * Renal artery/vein\n * Vena cava (inferior)\n + Muscularis\n * Distal ureter from proximal ureter \n * Renal pelvis from ureter\n * Ureter from renal pelvis\n + Psoas muscle (ureter)\n + Subepithelial connective tissue\n * Distal ureter from proximal ureter\n * Renal pelvis from ureter\n * Ureter from renal pelvis\n + Tumor thrombus in a renal vein, NOS\n- Renal pelvis only\n + Ipsilateral kidney parenchyma and kidney, NOS" ], [ "3", "**Regional lymph node(s) involved only**\n- All sites\n + Lateral aortic (lumbar)\n + Paracaval\n + Renal hilar\n + Retroperitoneal, NOS\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Renal Pelvis\n + Aortic (para-aortic, periaortic, NOS)\n- Ureter\n + Iliac (common, external, NOS)\n + Internal (hypogastric) (obturator)\n + Pelvic, NOS\n + Periureteral" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Ascending colon (from right renal pelvis or right ureter)\n + Bladder (wall or mucosa) from renal pelvis\n + Colon, NOS\n + Descending colon (from right renal pelvis or right ureter)\n + Ipsilateral kidney parenchyma from ureter\n + Liver (from right renal pelvis or right ureter)\n + Pancreas\n + Perirenal (perinephric) fat (via kidney)\n + Prostate (ureter)\n + Spleen (from left renal pelvis or left ureter)\n + Uterus (ureter)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lacrimal_gland_82062.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lacrimal_gland_82062.json deleted file mode 100644 index e460aa5a6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lacrimal_gland_82062.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_lacrimal_gland_82062", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Lacrimal Gland/Sac", - "title" : "Summary Stage 2018: Lacrimal Gland/Sac", - "subtitle" : "Summary Stage 2018", - "notes" : "**Lacrimal Gland/Sac**\n\n8000-8700, 8941, 8980, 8982\n\nC695\nC695 Lacrimal gland \nC695 Lacrimal sac \n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 69 *Lacrimal Gland Carcinoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Lacrimal Gland/Sac sites**\n* **Eye Other**: 8720-8790: \n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Orbital Sarcoma**: 8710-8714, 8800-8858, 8860-8921, 8932-8934, 8940, 8950-8976, 8981, 8983-8990, 9000-9016, 9030-9138, 9141-9175, 9181-9221, 9230, 9240-9365, 9370-9509, 9520-9582\n* **Retinoblastoma**: 9510-9514\n* **Soft Tissue**: 8930-8931, 8991-8992, 9020, 9180, 9231\n\n**Note 3:** **Only staging system** \n* Summary Stage is the only applicable staging system for Lacrimal Sac.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) White, V.A., Finger, P.T., et al. **Lacrimal Gland Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T10:45:20.003Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to lacrimal gland\n + WITH or WITHOUT extraglandular extension into the orbital soft tissue\n + No periosteal or orbital bone involvement or UNKNOWN if involved" ], [ "2", "**Regional by direct extension only**\n- Confined to lacrimal gland \n + AND involvement of periosteum AND/OR periorbital bone" ], [ "3", "**Regional lymph node(s) involved only**\n- Cervical, NOS\n- Mandibular, NOS\n + Submandibular (submaxillary)\n- Parotid, NOS\n + Infra-auricular\n + Preauricular\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Adjacent structure(s), NOS\n + Brain\n + Cavernous sinus\n + Orbital bone\n + Periosteum\n + Pterygoid fossa \n + Sinuses\n + Superior orbital fissure\n + Temporal fossa\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_glottic_excluding_melanoma_8720_8790_2238.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_glottic_excluding_melanoma_8720_8790_2238.json deleted file mode 100644 index cc16c05eb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_glottic_excluding_melanoma_8720_8790_2238.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_larynx_glottic_excluding_melanoma_8720_8790_2238", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Larynx Glottic", - "title" : "Summary Stage 2018: Larynx Glottic", - "subtitle" : "Summary Stage 2018", - "notes" : "**Larynx Glottic**\n\n8000-8700\n\nC320\nC320 Glottis\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 13 *Larynx*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Glottic Larynx sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Head and Neck**: 8720-8790\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Impaired vocal cord mobility** \n* Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 4:** **Localized tumor** \n* Code 1 for localized tumor only if no information is available to identify further extension.\n\n**Note 5:** **Limited to the larynx** \n* Tumor limited to the larynx (code 1) includes tumor involving, but limited to, the supraglottis, glottis and subglottis.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Patel, S.G., Lydiatt, W.M., Shah, J.P., et al. **Larynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T10:43:29.739Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to glottis, NOS\n- Limited to larynx WITH or WITHOUT vocal cord fixation\n + Intrinsic larynx\n + Laryngeal commissure(s) (anterior, posterior)\n + One or both vocal cord(s) involved WITH or WITHOUT normal vocal cord mobility\n + Vocal cord(s) (true cord(s), true vocal cord(s), NOS)\n - Adjacent region(s) of larynx involved\n + Intrinsic muscle(s) of larynx\n * Aryepiglottic\n * Arytenoid \n * Cricoarytenoid\n * Cricothyroid\n * Thyroarytenoid \n * Thyroepiglottic\n * Vocalis\n + Subglottis\n + Supraglottis \n * Aryepiglottic fold\n * Arytenoid cartilage\n * Corniculate tubercle\n * Cuneiform tubercle\n + Ventricular bands (false vocal cord(s))" ], [ "2", "**Regional by direct extension only**\n- Base of tongue\n- Hypopharynx, NOS\n- Paraglottic space\n- Postcricoid area\n- Pre-epiglottic space\n- Pre-epiglottic tissues\n- Pyriform sinus (pyriform fossa)\n- Thyroid cartilage (inner cortex)\n- Vallecula" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Carotid artery (encased)\n + Cricoid cartilage \n + Esophagus\n + Extrinsic muscle(s) of tongue\n * Genioglossus\n * Geniohyoid\n * Hyoglossus\n * Mylohyoid\n * Palatoglossus\n * Styloglossus\n + Mediastinal structure(s)\n + Oropharynx, NOS\n + Prevertebral space\n + Skin\n + Soft tissues of neck\n + Strap muscle(s)\n * Omohyoid\n * Sternohyoid\n * Sternothyroid\n * Thyrohyoid\n + Thyroid cartilage (outer cortex, NOS)\n + Thyroid gland\n + Trachea\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_other_excluding_melanoma_8720_8790_40558.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_other_excluding_melanoma_8720_8790_40558.json deleted file mode 100644 index 62acb7270..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_other_excluding_melanoma_8720_8790_40558.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_larynx_other_excluding_melanoma_8720_8790_40558", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Larynx Other", - "title" : "Summary Stage 2018: Larynx Other", - "subtitle" : "Summary Stage 2018", - "notes" : "**Larynx Other**\n\n8000-8700\n\nC323, C328-C329\nC323 Laryngeal cartilage\nC328 Overlapping lesion of larynx\nC329 Larynx, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 13 *Larynx*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with other Larynx sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Head and Neck**: 8720-8790\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Impaired vocal cord mobility** \n* Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 4:** **Localized tumor** \n* Code 1 for localized tumor only if no information is available to identify further extension.\n\n**Note 5:** **Limited to the larynx** \n* Tumor limited to the larynx (code 1) includes tumor involving, but limited to, the supraglottis, glottis and subglottis.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Patel, S.G., Lydiatt, W.M., Shah, J.P., et al. **Larynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T10:42:08.300Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to larynx, NOS\n- Involvement adjacent regions(s) of larynx WITH normal or impaired mobility\n + Glottis\n + Supraglottis\n- Limited to larynx with vocal cord fixation" ], [ "2", "**Regional by direct extension only**\n- Base of tongue\n- Hypopharynx, NOS\n- Paraglottic space\n- Postcricoid area\n- Pre-epiglottic tissues\n- Pyriform sinus (pyriform fossa)\n- Thyroid cartilage (inner cortex)\n- Vallecula" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Carotid artery (encased)\n + Cricoid cartilage \n + Esophagus\n + Extrinsic muscle(s) of tongue\n * Genioglossus\n * Geniohyoid\n * Hyoglossus\n * Mylohyoid\n * Palatoglossus\n * Styloglossus\n + Mediastinal structure(s)\n + Oropharynx\n + Prevertebral space\n + Skin\n + Soft tissues of neck\n + Strap muscle(s)\n * Omohyoid\n * Sternohyoid\n * Sternothyroid\n * Thyrohyoid\n + Thyroid cartilage (outer cortex, NOS)\n + Thyroid gland\n + Trachea\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_subglottic_excluding_melanoma_8720_8790_93242.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_subglottic_excluding_melanoma_8720_8790_93242.json deleted file mode 100644 index 0b098266d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_subglottic_excluding_melanoma_8720_8790_93242.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_larynx_subglottic_excluding_melanoma_8720_8790_93242", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Larynx Subglottic", - "title" : "Summary Stage 2018: Larynx Subglottic", - "subtitle" : "Summary Stage 2018", - "notes" : "**Larynx Subglottic**\n\n8000-8700 \n\nC322\nC322 Subglottis\n\n**Note 1:** **Sources used in the development of this schema**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 13 *Larynx*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other EOD Schemas with Subglottic Larynx sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Head and Neck**: 8720-8790\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Impaired vocal cord mobility** Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 4:** **Localized tumor** \n* Code 1 for localized tumor only if no information is available to identify further extension.\n\n**Note 5:** **Limited to the larynx** \n* Tumor limited to the larynx (code 1) includes tumor involving, but limited to, the supraglottis, glottis and subglottis.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Patel, S.G., Lydiatt, W.M., Shah, J.P., et al. **Larynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T10:40:25.332Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to subglottis\n- Involvement adjacent regions(s) of larynx WITH normal or impaired mobility\n + Glottis\n + Supraglottis" ], [ "2", "**Regional by direct extension only**\n\n- Limited to larynx with vocal cord fixation \n\nInvasion of\n- Base of tongue\n- Hypopharynx, NOS\n- Paraglottic space\n- Postcricoid area\n- Pre-epiglottic tissues\n- Pyriform sinus (pyriform fossa)\n- Thyroid cartilage (inner cortex) (minor erosion) \n- Vallecula" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Carotid artery (encased)\n + Cricoid cartilage\n + Esophagus\n + Extrinsic muscles of tongue\n * Genioglossus\n * Geniohyoid\n * Hyoglossus\n * Mylohyoid\n * Palatoglossus\n * Styloglossus\n + Mediastinal structure(s)\n + Oropharynx\n + Prevertebral space\n + Skin\n + Soft tissues of neck\n + Strap muscle(s)\n * Omohyoid\n * Sternohyoid\n * Sternothyroid\n * Thyrohyoid\n + Thyroid cartilage (outer cortex, NOS)\n + Thyroid gland\n + Trachea\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_supraglottic_excluding_melanoma_8720_8790_91429.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_supraglottic_excluding_melanoma_8720_8790_91429.json deleted file mode 100644 index 5a2a7b4d6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_larynx_supraglottic_excluding_melanoma_8720_8790_91429.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_larynx_supraglottic_excluding_melanoma_8720_8790_91429", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Larynx Supraglottic", - "title" : "Summary Stage 2018: Larynx Supraglottic", - "subtitle" : "Summary Stage 2018", - "notes" : "**Larynx Supraglottic**\n\n8000-8700\n\nC101, C321\nC101 Epiglottis anterior (2018-2025)\nC321 Supraglottis\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 13 *Larynx*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Supraglottic Larynx sites** \n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Head and Neck**: 8720-8790\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Impaired vocal cord mobility** \n* Impaired vocal cord mobility, also described as vocal cord paresis, may suggest invasion of intrinsic laryngeal muscle. Fixation of the vocal cord may be described as immobility of the arytenoids noted on endoscopy, vocal cord paralysis, or deviation of larynx to fixed side.\n\n**Note 4:** **Localized tumor** \n* Code 1 for localized tumor only if no information is available to identify further extension.\n\n**Note 5:** **Limited to the larynx** \n* Tumor limited to the larynx (code 1) includes tumor involving, but limited to, the supraglottis, glottis and subglottis.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Patel, S.G., Lydiatt, W.M., Shah, J.P., et al. **Larynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-09-26T19:36:50.217Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to \n + Epiglottis, NOS\n + One supraglottis subsite with normal vocal cord mobility\n + Supraglottis, NOS\n- Limited to larynx with vocal cord fixation\n- Mucosa of more than one subsite of supraglottis and/or glottis\n- Supraglottis \n + Aryepiglottic fold\n + Cartilage (arytenoid, corniculate, cuneiform, laryngeal, NOS)\n + Epiglottis (infrahyoid, laryngeal [posterior] surface of epiglottis)\n + Epiglottis (suprahyoid) (including tip, lingual (anterior) and laryngeal surfaces)\n + Epilarynx, NOS\n + False cords: ventricular bands/cavity/vestibular fold" ], [ "2", "**Regional by direct extension only**\n- All sites\n + Cricoid cartilage\n + Hypopharynx, NOS\n + Mucosa of\n * Base of tongue\n * Pyriform sinus (medial wall)\n * Vallecula\n + Paraglottic space\n + Postcricoid area\n + Pre-epiglottic space\n + Pre-epiglottic tissues\n + Vocal cord fixation of larynx with extension to structures listed in code 2\n- Epiglottis (anterior surface, NOS) primaries only\n + Buccal mucosa\n + Floor of mouth\n + Gum (gingiva)\n + Nasopharynx\n + Pterygoid muscle\n + Soft palate" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Anterior 2/3 of tongue (epiglottis only)\n + Bone (epiglottis only)\n + Carotid artery (encased)\n + Esophagus\n + Extrinsic muscle(s) of tongue\n * Genioglossus\n * Geniohyoid\n * Hyoglossus\n * Mylohyoid\n * Palatoglossus\n * Styloglossus\n + Mandible (epiglottis only)\n + Mediastinal structure(s)\n + Oropharynx, NOS\n + Parotid gland (epiglottis only)\n + Prevertebral space\n + Skin\n + Soft tissues of neck\n + Strap muscle(s)\n * Omohyoid\n * Sternohyoid\n * Sternothyroid\n * Thyrohyoid\n + Thyroid cartilage (inner cortex, outer cortex, NOS)\n + Thyroid gland\n + Trachea\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lip_92534.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lip_92534.json deleted file mode 100644 index 7d6cbc065..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lip_92534.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_lip_92534", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Lip", - "title" : "Summary Stage 2018: Lip", - "subtitle" : "Summary Stage 2018", - "notes" : "**Lip**\n\n8000-8040, 8042-8180, 8191-8246, 8248-8700, 8982 \n\nC003-C005, C008-C009\nC003 Mucosa of upper lip\nC004 Mucosa of lower lip\nC005 Mucosa of lip, NOS\nC008 Overlapping lesion of lip\nC009 Lip, NOS (excludes skin of lip C440)\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 7 *Oral Cavity*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Lip sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Head and Neck**: 8720-8790\n* **Merkel Cell Carcinoma**: 8041, 8190, 8247\n* **Mycosis Fungoides**: 9700-9701\n**Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Periosteum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones. \n * Cortical bone is the dense compact outer layer of the bone. \n * Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 4:** **Cortical bone** \n* Involvement through cortical bone is required for assignment of code 2.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T10:38:15.595Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to lip, NOS\n- Labial mucosa (inner lip)\n- Lamina propria\n + Multiple foci\n + Submucosa (superficial invasion)\n- Musculature \n- Skin of lip\n- Subcutaneous soft tissue of lip" ], [ "2", "**Regional by direct extension only**\n- Bone, NOS \n + Cartilage (mandible, maxilla, NOS)\n + Cortical (mandible, maxilla, NOS)\n + Mandible, NOS \n + Maxilla, NOS\n + Trabecular (mandible, maxilla, NOS)\n- Buccal mucosa (inner cheek)\n- Commissure\n- Gingiva, NOS\n + Lower gingiva \n + Upper gingiva \n- Opposite lip (both lips)" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Floor of mouth\n + Inferior alveolar nerve\n + Internal carotid artery (encased)\n + Masticator space\n + Nose \n + Pterygoid plates\n + Skin of face/neck\n + Skull base\n + Specified bone (other than mandible and maxilla)\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_liver_84469.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_liver_84469.json deleted file mode 100644 index f45361816..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_liver_84469.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_liver_84469", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Liver", - "title" : "Summary Stage 2018: Liver", - "subtitle" : "Summary Stage 2018", - "notes" : "**Liver**\n\n8000-8700, 8720-8790\n\nC220\nC220 Liver\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 22 *Liver*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Liver sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Segments of the Liver** \n* The liver is divided into several lobes as defined below. In the absence of other tumor involvement (lymph node involvement or distant metastasis), code the lobe or segment involvement as follows: \n* If multiple lobes (such as the Caudate lobe and the Left Lobe) are involved, code 2 (Regional). If multiple segments (such as 5 and 6 in the right lobe) in the same lobe are involved, this would be multiple tumors within one lobe, code 1 (Localized).\n * Caudate lobe: Segment 1\n * Quadrate lobe: Segment 4b\n * Left lobe: Segments 2, 3, 4a\n * Right lobe: Segments 5, 6, 7, 8", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Abou-Alfa, G.K., Pawlik, T.M., Vauthey, J.N., et al. **Liver**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-09-23T19:09:04.299Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to liver, NOS\n- Single tumor (one lobe) WITH or WITHOUT vascular invasion\n- Multiple (satellite) nodules/tumor confined to one lobe WITH or WITHOUT vascular invasion" ], [ "2", "**Regional by direct extension only**\n- Diaphragm\n- Extrahepatic bile duct(s)\n- Extrahepatic blood vessel(s)\n + Hepatic artery\n + Portal vein\n + Vena cava\n- Gallbladder\n- Ligament(s)\n + Coronary\n + Falciform \n + Hepatoduodenal\n + Hepatogastric\n + Round (of liver)\n + Triangular\n- Omentum (lesser and omentum, NOS) (See code 7 for greater omentum)\n- Peritoneum, NOS\n + Parietal \n + Visceral\n- Major vascular invasion, NOS\n- More than one lobe involved by contiguous growth (single lesion)\n + WITH or WITHOUT vascular invasion\n- Multiple (satellite) nodules/ tumors in more than one lobe of liver or on surface of parenchyma \n + WITH or WITHOUT vascular invasion" ], [ "3", "**Regional lymph node(s) involved only**\n- Caval\n- Celiac axis\n- Hepatic, NOS\n + Hepatic artery\n + Hepatic pedicle\n + Inferior vena cava\n + Porta hepatis (portal) (hilar) [in hilus of liver]Hepatoduodenal ligament\n- Periportal\n- Portal vein \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Greater omentum (See code 2 for lesser omentum and omentum, NOS)\n + Pancreas\n + Pleura\n + Stomach \n- Distant lymph node(s), NOS\n + Aortic (para-aortic, periaortic)\n + Cardiac\n + Coronary artery\n + Diaphragmatic, NOS\n + Inferior phrenic nodes\n + Lateral (aortic) (lumbar)\n + Pericardial (pericardiac)\n + Peripancreatic (near head of pancreas only)\n + Posterior mediastinal (tracheoesophageal) including juxtaphrenic nodes\n + Renal artery\n + Retroperitoneal, NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lung_41334.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lung_41334.json deleted file mode 100644 index 2014f5fb4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lung_41334.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_lung_41334", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Lung", - "title" : "Summary Stage 2018: Lung", - "subtitle" : "Summary Stage 2018", - "notes" : "**Lung**\n\n8000-8700, 8720-8790, 8972, 8980\n\nC340-C343, C348-C349\nC340 Main bronchus \nC341 Upper lobe, lung \nC342 Middle lobe, lung \nC343 Lower lobe, lung \nC348 Overlapping lesion of lung \nC349 Lung, NOS \n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 36 *Lung*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Lung sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Pleural Mesothelioma**: 9050-9053\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-8971, 8973-8975, 8981-9045, 9054-9138, 9141-9582\n\n**Note 3:** **Ground glass opacities (GGO), ground glass nodules (GGN), and ground/glass lepidic (GG/L)**\n* Ground glass opacities (GGO), ground glass nodules (GGN), and ground/glass lepidic (GG/L) are frequently observed on CT and are increasingly detected with the advancements in imaging and are described as an area of hazy increased lung opacity. GGO, GGN, and GG/L can be observed in both benign and malignant lung conditions along with pre-invasive lesions (adenocarcinoma in situ, minimally invasive adenocarcinoma, and lepidic carcinoma). \n* They are often associated with early stage lung cancer but not necessarily malignancies themselves.\n* For staging purposes, these are **not to be counted as separate tumor nodules**\n\n**Note 4:** **Bronchopneumonia and Obstructive pneumonitis**\n* Bronchopneumonia is not the same thing as obstructive pneumonitis and should not be coded as such. \n * **Bronchopneumonia** is an acute inflammation of the walls of the bronchioles, usually a result of spread of infection from the upper to the lower respiratory tract\n * **Obstructive pneumonitis** is a combination of atelectasis, bronchiectasis with mucous plugging, and parenchymal inflammation that develops distal to an obstructing endobronchial lesion\n\n**Note 5:** **Atelectasis** \n* Atelectasis is the failure of the lung to expand (inflate) completely\n* This may be caused by a blocked airway, a tumor, general anesthesia, pneumonia or other lung infection, lung disease, or long-term bed rest with shallow breathing. Sometimes called a collapsed lung. \n * For staging purposes, atelectasis must present with an obstructing tumor (code 2)\n\n**Note 6:** **Visceral pleural invasion**\n* Specific information about visceral pleura invasion (PL1 or PL2) or parietal pleural invasion (PL3) are coded as regional (code 2). Elastic layer involvement has prognostic significance for lung cancer. \n\n**Note 7:** **Separate ipsilateral tumor nodules**\n* Separate ipsilateral tumor nodules of the same histopathological type (intrapulmonary metastases) are coded either regional (code 2) for same lobe or distant (code 7) for different ipsilateral lobe or contralateral lung.\n\n**Note 8:** **\"Vocal cord paralysis\" or \"Superior vena cava syndrome\"**\n* \"Vocal cord paralysis,\" \"superior vena cava syndrome,\" and \"compression of the trachea or the esophagus\" are classified as either direct extension from the primary tumor or mediastinal lymph node involvement\n* If these manifestations are caused by direct extension of the primary tumor, code as primary tumor involvement (code 2)\n* If the primary tumor is peripheral and clearly unrelated to vocal cord paralysis, SVC obstruction, or compression of the trachea, or the esophagus, these manifestations are secondary to lymph node involvement; code as mediastinal lymph node involvement (code 3)\n* If unable to determine if these manifestations are due to direct extension or mediastinal lymph node involvement, record as mediastinal lymph node involvement (code 3)\n\n**Note 9:** **Pleural and pericardial effusions**\n* Most pleural and pericardial effusions with lung cancer are due to tumor\n* In a few patients, however, multiple cytopathological examinations of pleural and/or pericardial fluid are negative for tumor, and the fluid is non-bloody and is not an exudate. Where these elements and clinical judgment dictate that the effusion is not related to the tumor, the effusion should be excluded as a staging element. \n\n**Note 10:** **Occult carcinoma**\n* Occult carcinoma occurs when tumor is proven by the presence of malignant cells in sputum or bronchial washings, but there is no other evidence of the tumor\n* These cases are coded as unknown (code 9).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rami-Porta, R., Asamura, H., Travis, W.D., Rusch, V.W. **Lung**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-17T19:54:57.071Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive** \n- Adenocarcinoma in situ (AIS): adenocarcinoma with pure lepidic pattern, less than or equal to 3 cm in greatest dimension\n- Squamous cell carcinoma in situ (SCIS)" ], [ "1", "**Localized only (localized, NOS)**\n- Adjacent ipsilateral lobe\n- Confined to carina, NOS\n- Confined to hilus\n- Confined to lung, NOS\n- Main stem bronchus, NOS (without involvement of the carina)\n + Including extension from other part of lung\n- Minimally invasive adenocarcinoma\n + Adenocarcinoma tumor WITH predominantly lepidic pattern (AIS) measuring less than or equal to 3 cm in greatest dimension\n * WITH invasive component measuring less than or equal to 5 mm in greatest dimension\n- Superficial tumor, WITH invasive component limited to bronchial wall\n + WITH or WITHOUT proximal extension to main stem bronchus" ], [ "2", "**Regional by direct extension only**\n- Atelectasis/obstructive pneumonitis\n + Extends to hilar region, involving part or all of lung\n- Blood vessel(s) (major)\n + Aorta\n + Azygos vein\n + Pulmonary artery or vein\n + Superior vena cava (SVC syndrome)\n- Brachial plexus\n- Carina from lung\n- Chest wall (thoracic wall) \n- Compression of esophagus or trachea not specified as direct extension\n- Diaphragm (separate lesion-see code 7)\n- Esophagus\n- Mediastinum, extrapulmonary or NOS\n- Nerve(s)\n + Cervical sympathetic (Horner's syndrome)\n + Recurrent laryngeal (vocal cord paralysis)\n + Vagus\n- Pancoast tumor (superior sulcus syndrome), NOS\n- Parietal pericardium\n- Parietal pleura (PL3)\n- Pericardium, NOS\n- Phrenic nerve\n- Pleura, NOS\n- Pulmonary ligament\n- Separate tumor nodule(s) in the same lobe as the primary\n- Visceral pleura invasion (PL1, PL2, or NOS)\n- Trachea" ], [ "3", "**Regional lymph node(s) involved only**\n- IPSILATERAL nodes only\n + Bronchial\n - Peri/parabronchial\n + Carinal (tracheobronchial) (tracheal bifurcation)\n + Hilar (bronchopulmonary) (proximal lobar) (pulmonary root) \n + Intrapulmonary \n * Interlobar\n * Lobar\n * Segmental\n * Subsegmental\n + Mediastinal, NOS\n * Anterior\n * Aortic (above diaphragm), NOS\n - Peri/para-aortic, NOS\n + Ascending aorta (phrenic)\n - Subaortic (aortic-pulmonary window)\n * Inferior mediastinal \n - Paraesophageal\n - Pulmonary ligament\n - Subcarinal\n * Periesophageal \n * Pericardial\n * Posterior (tracheoesophageal)\n * Precarinal\n * Pretracheal, NOS\n * Superior mediastinal\n - Paratracheal (left, right, upper, low, NOS)\n - Azygos (lower paratracheal)\n - Prevascular\n - Retrotracheal\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Abdominal organs\n + Adjacent rib\n + Contralateral lung/main stem bronchus\n + Heart\n + Inferior vena cava\n + Neural foramina\n + Pericardial nodules or pleural effusion (malignant) (ipsilateral, contralateral, bilateral, NOS)\n + Pleural tumor foci or nodules on ipsilateral lung (separate from direct extension) or contralateral lung\n + Rib\n + Separate tumor nodule(s) in contralateral lung\n + Separate tumor nodule(s) in a different ipsilateral lobe \n + Skeletal muscle\n + Skin of chest\n + Sternum\n + Vertebra(e) (vertebral body)\n + Visceral pericardium \n- Distant lymph node(s), NOS\n + IPSILATERAL or CONTRALATERAL\n * Low cervical\n * Proximal root\n * Scalene (inferior deep cervical)\n * Sternal notch\n * Supraclavicular (transverse cervical)\n + CONTRALATERAL/BILATERAL nodes\n * Bronchial\n - Peri/parabronchial\n * Carinal\n * Hilar (bronchopulmonary) (proximal lobar) (pulmonary root) \n - Intrapulmonary \n - Interlobar\n - Lobar\n - Segmental \n - Subsegmental\n - Superior mediastinal\n + Paratracheal (left, right, upper, low, NOS)\n - Azygos (lower paratracheal)\n \n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_27031.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_27031.json deleted file mode 100644 index 3a0745fb3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_27031.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_lymphoma_27031", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Lymphoma", - "title" : "Summary Stage 2018: Lymphoma", - "subtitle" : "Summary Stage 2018", - "notes" : "**Lymphoma**\n\n9590, 9596-9663, 9673-9699, 9702-9719, 9725-9726, 9735, 9737-9738, 9823, 9826-9827 (varying primary sites and histologies)\n* C700-C729, C751-C753: 9690, 9719 (2018-2022 only) (See Note 2)\n\nC000-C440, C442-C689, C691-C694, C698-C809: 9591 and Schema Discriminator 1: 3, 9 \n\n*See Summary Stage 2018 Manual, Appendix III for a detailed listing of primary site/histology combinations for this schema*\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 79 *Hodgkin and Non-Hodgkin Lymphomas*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Chapter 80 *Pediatric Hodgkin and Non-Hodgkin Lymphomas*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Histologies moved to Brain, CNS, Intracranial Gland** \n* For the histologies listed below, these have moved to the Brain, CNS Other and Intracranial Gland Summary Stage chapters starting with 2023 diagnoses. \n* If you have one of these cases for 2018-2022, then this is the appropriate chapter. If you have one of these cases diagnosed on January 1, 2023, forward, see the appropriate chapter\n* 9690, 9719 \n * C700, C710-C719: *Brain*\n * C701, C709, C720-C725, C728-C729: *CNS Other*\n * C751-C753: *Intracranial Gland*\n\n**Note 3:** **Other Summary Stage chapters with the listed histologies**\n* **Brain**: C700, C710-C719 (9680, 9699, 9702-9715) (9690, 9719, 2023+)\n* **CNS Other**: C701, C709, C720-C725, C728-C729 (9680, 9699, 9702-9715) (9690, 9719, 2023+)\n* **Heme Retic**: 9591 and Schema Discriminator 1: 1, 2 (C000-C440, C442-C689, C691-C694, C698-C809)\n* **Intracranial Gland**: C751-C753 (9680, 9699, 9702-9715) (9690, 9719, 2023+)\n* **Lymphoma Ocular Adnexa**: C441, C690, C695-C696 (9590-9699, 9673-9699, 9702-9719, 9725-9726, 9734-9738, 9823, 9826-9827, 9930)\n* **Primary Cutaneous Lymphoma**: C440, C442-C449, C510, C609, C632 (9597, 9680, 9708-9709, 9712, 9718-9719, 9726)\n\n**Note 4:** **The preferred histology terms listed below are from the 2024 WHO Classification of Tumours, Haematolymphoid tumours, 5th edition.**\n\n* 9590: Malignant lymphoma, NOS\n* 9591: Malignant lymphoma, non-Hodgkin, NOS\n* 9596: Mediastinal grey zone lymphoma (MGZL)\n* 9597: Primary cutaneous follicle centre lymphoma (PCFCL)\n* 9650: Classic Hodgkin lymphoma (CHL), NOS\n* 9651: Classic Hodgkin lymphoma, lymphocyte-rich (LR-cHL)\n* 9652: Classic Hodgkin lymphoma, mixed cellularity (MC-cHL)\n* 9653: Classic Hodgkin lymphoma, lymphocyte-depleted, NOS (LD-cHL)\n* 9659: Nodular lymphocyte predominant Hodgkin lymphoma (NLPHL)\n* 9663: Classic Hodgkin lymphoma, nodular sclerosis, NOS (NSCHL) \n* 9673: Mantle cell lymphoma (MCL)\n* 9678: Primary effusion lymphoma (PEL)\n* 9679: Primary mediastinal large B-cell lymphoma (PBML/PMBCL)\n* 9680: Diffuse large B-cell lymphoma (DLBCL)\n* 9687: Burkitt lymphoma (BL), NOS\n* 9688: T-cell/histiocyte-rich large B-cell lymphoma (THRLBCL)\n* 9689: Splenic marginal zone lymphoma (SMZL)\n* 9690 Follicular lymphoma (FL), NOS \n* 9691: Follicular lymphoma, grade 2\n* 9695: Follicular lymphoma, grade 1\n* 9698: Follicular lymphoma, grade 3\n* 9699: Extranodal marginal zone lymphoma of mucosa-associated lymphoid tissue (MALT lymphoma)\n* 9702: Peripheral T-cell lymphoma, NOS\n* 9705: Nodal T follicular helper cell lymphoma, angioimmunoblastic type\n* 9708: Subcutaneous panniculitis-like T-cell lymphoma (SPTCL)\n* 9709: Primary cutaneous peripheral T-cell lymphomas (pcCTCL)\n* 9712: Intravascular large B-cell lymphoma (IVLBCL)\n* 9714: Anaplastic large cell lymphoma, ALK-positive (ALCL)\n* 9715: Anaplastic large cell lymphoma, ALK-negative (ALK-ALCL) *(2021+ only)*\n* 9716: Hepatosplenic T-cell lymphoma (HSTCL)\n* 9717: Intestinal T-cell lymphoma, NOS (ITCL-NOS)\n* 9718: Primary cutaneous anaplastic large cell lymphoma (C-ALCL)\n* 9719: Extranodal NK/T-cell lymphoma (ENKTL) (except C700-C729, C751-C753 for 1/1/2023+)\n* 9725: Hydroa vacciniforme-like lymphoma *(2018-2020 only, nonreportable as of 2021)*\n* 9726 Primary cutaneous gamma-delta T-cell lymphoma (PCGD-TCL) \n* 9735: Plasmablastic lymphoma (PBL)\n* 9737: ALK-positive large B-cell lymphoma (ALK+LBCL)\n* 9738: KSHV/HHV8-positive diffuse large B-cell lymphoma \n* 9823: Chronic lymphocytic leukemia/small lymphocytic lymphoma (CLL/SLL)\n* 9826: Burkitt cell leukemia *(2018-2020 only, see code 9687/3 for 2021+)*\n* 9827: Adult T-cell leukemia/lymphoma (ATLL)\n\n**Note 5:** **Lymph node involvement** \n* Any mention of the terms including fixed, matted, mass in the hilum, mediastinum, retroperitoneum, and/or mesentery, palpable, enlarged, shotty, lymphadenopathy are all regarded as involvement for lymphomas when determining appropriate code.\n\n**Note 6:** **Peripheral Blood or Bone Marrow** \n* If there is peripheral blood or bone marrow involvement, code 7.\n\n**Note 7:** **Splenic involvement** \n* Splenic involvement is based on splenomegaly and FDG-PET or CT scans that state diffuse uptake, solitary mass, miliary lesions, or enlargement of greater than 13 cm\n * A physician’s statement of splenomegaly may be used \n * FDG uptake in the spleen that is not diffuse is not enough to code as splenic involvement \n\n**Note 8:** **Bilateral sites** \n* Code 7 for involvement of bilateral sites (i.e., breast, eye, kidney, etc.).\n* *Example*: Patient with extranodal non-Hodgkin's Lymphoma, involving bilateral choroids, (single focus both sites), and no lymph node involvement. \n * Code 7 for bilateral involvement of choroids (eye)\n\n**Note 9:** **Not applicable codes**\n* Codes 0, 3, and 4 are not applicable for this chapter.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Zelenetz, A.D., Jaffe, E.S., Leonard, J.P., et al. **Hodgkin and Non-Hodgkin Lymphomas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) Link, M.P., Jaffe, E.S., Leonard, J.P. **Pediatric Hodgkin and Non-Hodgkin Lymphomas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-09-26T14:44:53.099Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only**\n\nNodal Lymphomas\n- Single lymph node region involved\n\n - Involvement of multiple nodal chains in the SAME lymph node region\n\nExtranodal Lymphomas\n- Single extralymphatic site \n + WITHOUT nodal involvement (see code 2 for WITH nodal involvement)\n\n- Multifocal involvement of one extralymphatic organ/site (EXCEPT multifocal lung involvement or any liver involvement, see code 7)\n + WITHOUT nodal involvement (see code 7 for WITH nodal involvement)" ], [ "2", "**Regional by direct extension only**\n\nBulky disease present\n\nNodal Lymphomas\n- Two or more lymph node regions involved SAME side of diaphragm\n- Contiguous extension between extralymphatic sites and regional nodes \n + WITH or WITHOUT involvement of other nodal regions on SAME side of diaphragm\n\nExtranodal Lymphomas\n- Localized involvement of a single extralymphatic organ/site \n + WITH involvement of its regional lymph node(s) OR\n + WITH involvement of other lymph node(s) on the SAME side of the diaphragm" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant involvement\n + Diffuse or disseminated involvement of ONE OR MORE extralymphatic organ(s)/site(s) WITH or WITHOUT nodal involvement\n + Involvement of isolated extralymphatic organ in absence of involvement of adjacent lymph nodes, but in conjunction with disease in distant sites\n + Involvement of lymph node regions on BOTH sides of the diaphragm WITH or WITHOUT spleen involvement\n + Involvement of lymph node regions ABOVE the diaphragm WITH spleen involvement\n + Multifocal involvement of one extralymphatic organ/site WITH nodal involvement\n + Noncontiguous extralymphatic organ involvement in conjunction with nodal disease (two or more sites involved)\n\n- Distant metastasis, NOS\n + Blood/peripheral blood\n + Bone marrow\n + Cerebrospinal fluid (CSF)\n + Liver\n + Lung (other than by direct extension in code 2)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_ocular_adnexa_3583.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_ocular_adnexa_3583.json deleted file mode 100644 index 0cb21bcc6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_lymphoma_ocular_adnexa_3583.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_lymphoma_ocular_adnexa_3583", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Lymphoma Ocular Adnexa", - "title" : "Summary Stage 2018: Lymphoma Ocular Adnexa", - "subtitle" : "Summary Stage 2018", - "notes" : "**Lymphoma Ocular Adnexa**\n\n9590-9699, 9702-9719, 9725-9726, 9734-9738, 9823, 9826-9827, 9930 (C441, C690, C695-C696)\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 71 *Ocular Adnexal Lymphoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Not applicable codes** \n* Code 0 is not applicable for this chapter.\n\n**Note 3:** **Ocular adnexal lymphomas** \n* Ocular adnexal lymphomas (OAL) originate in conjunctiva, eyelids, lacrimal gland, lacrimal drainage apparatus, and other orbital tissues surrounding the eye. \n* This chapter should not be used for secondary lymphomatous involvement of ocular adnexa or for intraocular lymphomas.\n\n**Note 4:** **Peripheral blood or bone marrow involvement** \n* If there is peripheral blood or bone marrow involvement, code 7.\n\n**Note 5:** **The preferred histology terms in this schema are based on the 2024 WHO Classification of Tumours, Haematolymphoid Tumours, 5th edition.**\n\n* 9590: Malignant lymphoma, NOS\n* 9591: Malignant lymphoma, non-Hodgkin, NOS\n* 9596: Mediastinal grey zone lymphoma (MGZL)\n* 9597: Primary cutaneous follicle centre lymphoma (PCFCL)\n* 9650: Classic Hodgkin lymphoma (CHL), NOS\n* 9651: Classic Hodgkin lymphoma, lymphocyte-rich (LR-cHL)\n* 9652: Classic Hodgkin lymphoma, mixed cellularity (MC-cHL)\n* 9653: Classic Hodgkin lymphoma, lymphocyte-depleted, NOS (LD-cHL)\n* 9659: Nodular lymphocyte predominant Hodgkin lymphoma (NLPHL)\n* 9663: Classic Hodgkin lymphoma, nodular sclerosis, NOS (NSCHL) \n* 9673: Mantle cell lymphoma (MCL)\n* 9678: Primary effusion lymphoma (PEL)\n* 9679: Primary mediastinal large B-cell lymphoma (PBML/PMBCL)\n* 9680: Diffuse large B-cell lymphoma (DLBCL)\n* 9687: Burkitt lymphoma (BL), NOS\n* 9688: T-cell/histiocyte-rich large B-cell lymphoma (THRLBCL)\n* 9689: Splenic marginal zone lymphoma (SMZL)\n* 9690 Follicular lymphoma (FL), NOS (except C700-C729, C751-C753 for 1/1/2023+)\n* 9691: Follicular lymphoma, grade 2\n* 9695: Follicular lymphoma, grade 1\n* 9698: Follicular lymphoma, grade 3\n* 9699: Extranodal marginal zone lymphoma of mucosa-associated lymphoid tissue (MALT lymphoma)\n* 9702: Peripheral T-cell lymphoma, NOS\n* 9705: Nodal T follicular helper cell lymphoma, angioimmunoblastic type\n* 9708: Subcutaneous panniculitis-like T-cell lymphoma (SPTCL)\n* 9709: Primary cutaneous peripheral T-cell lymphomas (pcCTCL)\n* 9712: Intravascular large B-cell lymphoma (IVLBCL)\n* 9714: Anaplastic large cell lymphoma, ALK-positive (ALCL)\n* 9715: Anaplastic large cell lymphoma, ALK-negative (ALK-ALCL) (2021+ only)\n* 9716: Hepatosplenic T-cell lymphoma (HSTCL)\n* 9717: Intestinal T-cell lymphoma, NOS (ITCL-NOS)\n* 9718: Primary cutaneous anaplastic large cell lymphoma (C-ALCL)\n* 9719: Extranodal NK/T-cell lymphoma (ENKTL) (except C700-C729, C751-C753 for 1/1/2023+)\n* 9725: Hydroa vacciniforme-like lymphoma (2018-2020 only, nonreportable as of 2021)\n* 9726 Primary cutaneous gamma-delta T-cell lymphoma (PCGD-TCL) (2018-2020 only, see code 9687/3 for 2021+)\n* 9734: Extramedullary plasmacytoma (EMP)\n* 9735: Plasmablastic lymphoma (PBL)\n* 9737: ALK-positive large B-cell lymphoma (ALK+LBCL)\n* 9738: KSHV/HHV8-positive diffuse large B-cell lymphoma \n* 9823: Chronic lymphocytic leukemia/small lymphocytic lymphoma (CLL/SLL)\n* 9826: Burkitt cell leukemia (2018-2020 only, see code 9687/3 for 2021+)\n* 9827: Adult T-cell leukemia/lymphoma (ATLL)\n* 9930: Myeloid Sarcoma", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Heegaard, S., Finger, P.T., et al. **Ocular Adnexal Lymphoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-09-26T14:42:47.444Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only (localized, NOS)**\n- Lymphoma involving the conjunctiva alone WITHOUT or UNKNOWN eyelid or orbital involvement\n- Lymphoma with orbital involvement WITH or WITHOUT conjunctival involvement\n- Lymphoma with preseptal eyelid involvement WITH or WITHOUT orbital or conjunctival involvement" ], [ "2", "**Regional by direct extension only**\n- Orbital adnexal lymphoma AND extraorbital lymphoma extending beyond the orbit to adjacent structures\n + Bone \n + Brain\n + Maxillofacial sinuses" ], [ "3", "**Regional lymph node(s) involved only** \n- Cervical\n- Parotid\n- Preauricular\n- Regions draining the ocular adnexal structures\n- Submandibular\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n\nCodes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant sites\n + Non-contiguous involvement of other extranodal sites including, but not limited to\n * Breast\n * Gastrointestinal tract\n * Kidney\n * Liver\n * Lung\n * Parotid gland\n * Salivary gland\n * Spleen\n * Submandibular gland\n- Distant lymph node(s), NOS\n + Diffuse OR disseminated involvement of peripheral and central lymph node regions\n + Mediastinum\n- Distant metastasis, NOS\n + Blood/peripheral blood\n + Bone marrow\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_major_salivary_glands_43893.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_major_salivary_glands_43893.json deleted file mode 100644 index d0985c75d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_major_salivary_glands_43893.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_major_salivary_glands_43893", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Major Salivary Glands", - "title" : "Summary Stage 2018: Major Salivary Glands", - "subtitle" : "Summary Stage 2018", - "notes" : "**Major Salivary Glands**\n\n8000-8700, 8720-8790, 8941, 8974, 8980, 8982\n\nC079-C081, C088-C089\nC079 Parotid gland \nC080 Submandibular gland\nC081 Sublingual gland\nC088 Overlapping lesion of major salivary glands\nC089 Major salivary gland, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 8 *Major Salivary Glands*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Major Salivary Glands sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Shah, J.P., et al. **Major Salivary Glands**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-04-23T14:09:20.006Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to gland/duct of origin\n- Confined to parotid gland, NOS\n- Confined to salivary gland, NOS\n- Confined to submandibular gland, NOS\n- Multiple foci confined to substance of parotid gland" ], [ "2", "**Regional by direct extension only**\n- Extension to another major salivary gland (parotid, sublingual, submandibular, submaxillary)\n- Deep extrinsic muscles (submandibular gland only)\n + Genioglossus\n + Geniohyoid\n + Hyoglossus\n + Mylohyoid \n + Styloglossus\n- Cartilage\n- Ear canal\n- External auditory meatus (parotid gland only)\n- Facial artery or vein\n- Internal carotid artery (encased)\n- Jugular vein (parotid gland only)\n- Mandible\n- Masseter (parotid gland only)\n- Mastoid/mastoid process (parotid gland only)\n- Maxillary artery\n- Nerves \n + Auricular (parotid gland only)\n + Facial (7th nerve) (submandibular and salivary gland only)\n + Lingual (submandibular and salivary gland only)\n- Periglandular soft/connective tissue (microscopic, macroscopic, NOS)\n- Periosteum of mandible \n- Maxillary artery\n- Pharyngeal mucosa (parotid gland only)\n- Skeletal muscle\n + Digastric\n + Masseter (parotid gland only)\n + Pterygoid\n + Sternocleidomastoid (parotid gland only)\n + Stylohyoid\n- Skin overlying gland (parotid gland only)" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant sites (including further contiguous extension)\n + Esophagus\n + External auditory meatus (submandibular and salivary gland only)\n + Intracranial invasion \n + Masticator space\n + Mediastinal structures\n + Nerves\n * Facial (7th nerve) (parotid gland only)\n * Lingual (parotid gland only)\n + Orbital apex\n + Pterygoid plates\n + Skin overlying gland (submandibular and salivary gland only) \n + Skull (base, NOS)\n + Solid organ parenchyma \n + Spinal accessory nerve\n + Spinal column invasion\n + Trachea\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant mets WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_medulloblastoma_22906.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_medulloblastoma_22906.json deleted file mode 100644 index 27c9c6ae3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_medulloblastoma_22906.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_medulloblastoma_22906", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Medulloblastoma", - "title" : "Summary Stage 2023: Medulloblastoma", - "subtitle" : "Summary Stage 2018", - "notes" : "**Medulloblastoma**\n\nC700-C729: 9362, 9470-9472, 9474-9478, 9501-9504, 9508\nC700-C722, C724-C729: 9473\nC753: 9362\n\nC700-C729, C753\nC700 Cerebral meninges\nC701 Spinal meninges\nC709 Meninges, NOS\nC710 Cerebrum\nC711 Frontal lobe\nC712 Temporal lobe\nC713 Parietal lobe\nC714 Occipital lobe\nC715 Ventricle, NOS\nC716 Cerebellum, NOS\nC717 Brain stem\nC718 Overlapping lesion of brain\nC719 Brain, NOS\nC720 Spinal cord\nC721 Cauda equina\nC722 Olfactory nerve\nC723 Optic nerve\nC724 Acoustic nerve\nC725 Cranial nerve, NOS\nC728 Overlapping lesion of brain and central nervous system\nC729 Nervous system, NOS\nC753 Pineal Gland\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Brain and Spinal Cord, from the AJCC Cancer Staging System Version 9 (2022). Used with permission of the American College of Surgeons, Chicago, Illinois\n\n**Note 2:** **New schema for 2023+** \n* This is a new Summary Stage chapter for cases diagnosed 2023+. \n* For cases diagnosed prior to 2023+, use the appropriate Summary Stage chapter based on primary site \n * C700, C710-C719: Summary Stage Chapter *Brain*\n * C701, C709, C720-C729: Summary Stage Chapter *CNS Other*\n * C753: Summary Stage Chapter *Intracranial Gland*\n\n**Note 3:** **Benign/borderline tumors** \n* Benign (/0) or Borderline (/1) tumors **are always coded to 8** regardless of size, extension to adjacent sites, or multiple tumors\n\n**Note 4:** **Applicable codes** \n* Codes 0, 3, and 4 are not applicable for this chapter.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Laws, E.R., Curran, W.J., et al. **Brain and Spinal Cord**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-18T13:35:45.742Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only (Localized, NOS)**\n\nSingle tumor with no invasion or seeding to other structures\n\nConfined to site of origin, NOS\nLocalized, NOS" ], [ "2", "**Regional, NOS**\n\nTumor crosses the midline" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n\n* Distant site(s) (including further contiguous extension)\n * All Sites\n * Blood\n * Bone (including skull)\n * Bone marrow\n * \"Drop\" metastasis\n * Extra-neural metastasis, NOS\n * Gross spinal subarachnoid seeing\n * Intracranial spread beyond primary site\n * Major blood vessel(s)\n * Meninges (e.g., dura)\n * Microscopic confirmation of tumor cells present in CSF by cytology (circulating cells in cerebral spinal fluid)\n * Multiple/multifocal tumors\n * Nerves (cranial, NOS)\n * Tumor invades or encroaches upon ventricular system\n * Visible metastasis in cervicomedullary (junction)\n * Brain tumors (C700, C710-C719)\n * Anterior cranial fossa\n * Brain stem\n * Cerebellum\n * Cerebrum (cerebral hemisphere)\n * Contralateral hemisphere\n * Hypothalamus\n * Middle cranial fossa\n * Nasal cavity\n * Nasopharynx\n * Other direct extension outside CNS\n * Pallium\n * Posterior cranial fossa\n * Posterior pharynx\n * Suprasellar brain\n * Tapetum\n * Thalamus\n * CNS Tumors (C701, C709, C720-C729)\n * Adjacent connective tissue\n * Adjacent muscle\n * Brain \n * Eye\n * Sphenoid and frontal sinuses(skull)\n * Pineal Gland (C753)\n * Adjacent connective/soft tissue\n * Cavernous sinus\n * Infratentorial and central brain\n * Distant lymph node(s), NOS\n * Distant metastasis, NOS\n * Carcinomatosis \n * Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "8", "**Benign or borderline brain**\n* Behavior is /0 or /1" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_choroid_ciliary_body_iris_21929.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_choroid_ciliary_body_iris_21929.json deleted file mode 100644 index 0361d5708..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_choroid_ciliary_body_iris_21929.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_melanoma_choroid_ciliary_body_iris_21929", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Melanoma Uvea", - "title" : "Summary Stage 2018: Melanoma Uvea", - "subtitle" : "Summary Stage 2018", - "notes" : "**Melanoma Uvea**\n\n8720-8790\n\nC693-C694\nC693 Choroid \nC694 Ciliary Body, Iris\n\t\n**Note:** **Sources used in the development of this schema**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 67 *Uveal Melanoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kivelä, T., Finger, P.T., et al. **Uveal Melanoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T21:34:30.856Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Choroid and Ciliary Body\n + Any tumor size category WITH or WITHOUT ciliary body involvement\n * WITHOUT or UNKNOWN extraocular extension\n + Limited to choroid or ciliary body, NOS\n- Iris\n + Tumor confluent with or extending into ciliary body, choroid or both\n * WITH or WITHOUT secondary glaucoma unknown\n * WITH scleral extension\n + Limited to iris, NOS" ], [ "2", "**Regional by direct extension only**\n- All sites\n + Local invasion, NOS\n- Choroid and Ciliary Body\n + Extraocular extension \n- Iris\n + Extrascleral extension\n\nFurther contiguous extension" ], [ "3", "**Regional lymph node(s) involved only**\n- Discrete tumor deposits in orbit not contiguous to the eye\n + WITH or WITHOUT positive regional lymph node(s)\n- Cervical, NOS\n- Mandibular, NOS\n + Submandibular (submaxillary)\n- Parotid, NOS\n + Infra-auricular\n + Preauricular \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) \n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_conjunctiva_86342.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_conjunctiva_86342.json deleted file mode 100644 index 358ff2d34..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_conjunctiva_86342.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_melanoma_conjunctiva_86342", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Melanoma Conjunctiva", - "title" : "Summary Stage 2018: Melanoma Conjunctiva", - "subtitle" : "Summary Stage 2018", - "notes" : "**Melanoma Conjunctiva**\n\n8720-8790 \n\nC690\nC690 Conjunctiva \n\n**Note:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 66 *Conjunctival Melanoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Coupland, S.E., Finger, P.T., et al. **Conjunctival Melanoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T21:35:40.247Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Bulbar conjunctiva tumor with invasion of substantia propria\n- Involvement of caruncle WITH extension to cornea\n- Less than 1 quadrant to greater than 3 quadrant involved\n- Noncaruncular or caruncular tumor with involvement of quadrant(s)\n- Tumor(s) of nonbulbar conjunctiva, NOS WITH or WITHOUT corneal extension" ], [ "2", "**Regional by direct extension only**\n- Eyelid\n- Globe\n- Lacrimal Sac\n- Local invasion, NOS\n- Nasolacrimal duct\n- Orbit\n- Paranasal sinuses" ], [ "3", "**Regional lymph node(s) involved only**\n- Cervical, NOS\n- Mandibular, NOS\n + Submandibular (submaxillary)\n- Parotid, NOS\n + Infra-auricular\n + Preauricular\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Brain\n + Sinus\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_head_and_neck_8720_8790_46168.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_head_and_neck_8720_8790_46168.json deleted file mode 100644 index ccb5e5919..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_head_and_neck_8720_8790_46168.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_melanoma_head_and_neck_8720_8790_46168", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Melanoma Head and Neck", - "title" : "Summary Stage 2018: Melanoma Head and Neck", - "subtitle" : "Summary Stage 2018", - "notes" : "**Melanoma Head and Neck**\n\n8720-8790 (C003-C005, C008-C069, C090-C148, C300-C329)\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 14 *Mucosal Melanoma of the Head and Neck*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Mucosal melanomas** \n* Mucosal melanomas occur throughout the mucosa of \n * Lip and oral cavity (C003-C005, C008-C069, C090-C148) \n * Nasal cavity and middle ear (C300-C301)\n * Accessory sinuses (C310-C319) \n * Larynx (C320-C329). \n* For a more detailed description of anatomy, refer to the appropriate Summary Stage 2018 chapter based on the location of the mucosal melanoma. \n\n**Note 3:** **Localized tumors** \n* Code 1 for localized tumors when no other information is available or for extension involving the mucosa only of adjacent sites.\n\n**Note 4:** **Deep tissue involvement** \n* Extension involving the deeper tissues of the primary or adjacent sites are either regional or distant, depending on the involvement. \n * Code 2 for regional when the only information available is \"deep tissue involvement.\"\n\n**Note 5:** **Definition of Head and Neck Lymph Nodes** \n* The description of lymph nodes has been standardized across the head and neck chapters. \n* Levels I-VII and the \"other\" lymph nodes are regional (code 3).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lydiatt, W.M., Brandwein-Gensler, M., Shah, J.P., et al. **Mucosal Melanoma of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-18T12:52:23.897Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to site of origin, NOS\n- Mucosa WITH or WITHOUT soft tissue (immediately underlying)" ], [ "2", "**Regional by direct extension only**\n- Deep soft tissue involvement \n- Moderately advanced disease, NOS\n- Overlying skin" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Bone\n + Brain\n + Cartilage\n + Carotid artery\n + Deep extrinsic muscle of tongue\n * Genioglossus\n * Hyoglossus\n * Palatoglossus\n * Styloglossus\n + Dura\n + Lower cranial nerves (IX, X, XI, XII)\n + Masticator space\n + Mediastinal structures\n + Prevertebral space\n + Skull base\n + Very advanced disease, NOS\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_skin_64985.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_skin_64985.json deleted file mode 100644 index d8747d6f6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_melanoma_skin_64985.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_melanoma_skin_64985", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Melanoma Skin", - "title" : "Summary Stage 2018: Melanoma Skin", - "subtitle" : "Summary Stage 2018", - "notes" : "**Melanoma Skin**\n\n8720-8790 (C000-C002, C006, C440-C449, C500, C510-C512, C518-C519, C600-C602, C608-C609, C632)\n\n**Note 1:** **Sources used in the development of this chapter** \n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 47 *Melanoma of the Skin*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Melanomas of other sites** \n* **Melanoma Conjunctiva**: C690 \n* **Melanoma Choroid and Ciliary Body, or Melanoma Iris**: C693, C694:\n* **Melanoma Head and Neck**: C003-C005, C008-C069, C090-C148, C300-C329\n* **All other sites**: Use the appropriate site-specific schema\n\n**Note 3:** **Clark Level versus pathological description** \n* If there is a discrepancy between the Clark level and the pathological description of extent (invasion into the layers of the dermis), use the higher (more extensive) code.\n\n**Note 4:** **Code greatest extent** \n* Code the greatest extent of invasion from any procedure performed on the lesion, whether it is described as a biopsy or an excision. \n * For example, if a punch biopsy with involvement of Clark level IV is followed by a re-excision with residual tumor involving Clark level II, code 1 (Clark level IV).\n\n**Note 5:** **Breslow's depth only available** \n* If a Breslow’s depth is given in the pathology report and there is no other indication of involvement, the following guidelines may be used \n *(**Note:** If a physician documents a different Clark's Level than provided by these guidelines, go with the physician's Clark Level)*\n * In situ: Level 1\n * Localized\n * Level II (< 0.75 mm Breslow’s Depth)\n * Level III (0.76 mm to 1.50 mm Breslow’s Depth)\n * Level IV (> 1.50 mm Breslow’s Depth)\n * Regional\n * Level V: Through entire dermis\n\n**Note 6:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction).\n* Lymph nodes with isolated tumor cells (ITCs) are counted as positive lymph nodes\n\n**Note 7:** **In-transit, satellite, and/or microsatellite metastasis** \n* In-transit, satellite, and/or microsatellite metastasis are metastasis that have occurred via lymphatic or angiolymphatic spread. \n* Satellite nodules are subcutaneous metastasis that occur within 2 cm of the primary tumor. \n* Microsatellite metastasis are microscopic cutaneous metastasis found adjacent or deep to a primary melanoma tumor.\n* In-transit, satellite, and/or microsatellite metastasis are counted as positive nodes\n\n**Note 8:** **Bilateral or contralateral nodes** \n* Bilateral or contralateral nodes are classified as regional nodes for head, neck, and truncal tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. \n* Truncal tumors may also drain to both cephalad and caudal primary nodal basins as shown on lymphoscintigraphy.\n* Clinical assessment of bilateral/contralateral or cephalad/caudal regional nodal involvement is required for tumors where lymphoscintigraphy is not performed\n\n**Note 9:** **Nodal basins** \n* Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins and are coded as regional nodes.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Gershenwald, J.E., Scolyer, R.A., et al. **Melanoma of the Skin**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-07T15:44:01.723Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive**\n- Basement membrane of the epidermis is intact\n- In situ, intraepidermal, intraepithelial, noninvasive \n + Clark level I" ], [ "1", "**Localized only (localized, NOS)**\n- Papillary dermis invaded\n + Clark level II \n- Papillary-reticular dermal interface invaded\n + Clark level III\n- Reticular dermis invaded\n + Clark level IV\n- Skin/dermis, NOS" ], [ "2", "**Regional by direct extension only**\n- Subcutaneous tissue (through entire dermis)\n + Clark level V" ], [ "3", "**Regional lymph node(s) involved only**\n- All sites (Single, Multiple, Ipsilateral) (See Code 7 for contralateral or bilateral nodes (except for head and neck skin primaries))\n + Isolated tumor cells (ITCs) WITH or WITHOUT regional lymph node involvement\n + In-transit, satellite, and/or microsatellite metastasis WITH or WITHOUT regional lymph node involvement\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Head and Neck skin primaries only (C000-C002, C006, C440, C442-C444) (includes contralateral and bilateral nodes)\n + Levels I-VII \n + Axillary (neck only, C444)\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial (buccinator, buccal, nasolabial)\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid (infraauricular, intraparotid, periparotid, preauricular)\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Skin of trunk (C445)\n + Upper trunk\n * Axillary\n * Cervical\n * Internal mammary\n * Supraclavicular\n + Lower trunk\n * Superficial inguinal (femoral) \n- Skin of upper limb and shoulder (C446)\n + Axillary\n + Cervical\n + Epitrochlear for hand/forearm\n + Internal mammary (parasternal)\n + Spinal accessory for shoulder\n + Supraclavicular (transverse cervical)\n- Skin of lower limb and hip (C447)\n + Femoral (superficial inguinal)\n + Inguinal\n + Popliteal for heel and calf\n- Vulva (C510-C512, C518-C519)\n + Deep inguinal, NOS\n + Femoral\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Penis (C600-C602, C608-C609)\n + Iliac, NOS\n * External\n * Internal (hypogastric, obturator)\n + Inguinal, NOS\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial [femoral] \n + Pelvic, NOS\n- Scrotum (C632)\n + Iliac, NOS\n * External\n * Internal (hypogastric), NOS\n - Obturator\n + Inguinal, NOS\n * Deep inguinal, NOS\n - Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial inguinal (femoral)" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Bone\n + Central nervous system (CNS)\n + Lung\n + Skeletal muscle (including direct extension)\n + Skin or subcutaneous tissue beyond regional lymph nodes\n + Underlying cartilage\n + Visceral metastasis, NOS\n- Distant lymph node(s), NOS\n + Axillary (lower trunk)\n + Femoral (cephalad/caudal) (upper trunk)\n + Iliac (leg/hip)\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_merkel_cell_carcinoma_89481.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_merkel_cell_carcinoma_89481.json deleted file mode 100644 index 075a7777c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_merkel_cell_carcinoma_89481.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_merkel_cell_carcinoma_89481", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Merkel Cell Skin", - "title" : "Summary Stage 2018: Merkel Cell Skin", - "subtitle" : "Summary Stage 2018", - "notes" : "**Merkel Cell Skin**\n\n8041, 8190, 8247 (C000-C006, C008-C009, C440-C449, C510-C512, C518-C519, C600-C602, C608-C609, C632)\n\n8190, 8247 (C809)\n\n**Note 1:** **The following sources were used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 46 *Merkel Cell Carcinoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Nodal or visceral site and primary site unknown**\n* Merkel cell carcinoma presenting in nodal or visceral site with primary site unknown is coded to C449, Skin, NOS.\n\n**Note 3:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction).\n* Lymph nodes with isolated tumor cells (ITCs) are counted as positive lymph nodes\n\n**Note 4:** **In transit metastasis** \n* In transit metastasis is defined as a tumor distinct from the primary lesion and located either between the primary lesion and the draining regional lymph node(s) or distal to the primary lesion. In transit metastasis with positive lymph node(s) are coded under regional lymph nodes.\n* In-transit metastasis are counted as positive nodes\n\n**Note 5:** **Bilateral or contralateral nodes** \n* Bilateral or contralateral nodes are classified as regional nodes for head, neck, and truncal tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. \n* Truncal tumors may also drain to both cephalad and caudal primary nodal basins as shown on lymphoscintigraphy.\n* Clinical assessment of bilateral/contralateral or cephalad/caudal regional nodal involvement is required for tumors where lymphoscintigraphy is not performed\n\n**Note 6:** **Nodal basins** \n* Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins and are coded as regional nodes.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Bichakjian, C.K., Nghiem, P., Sober, A.J., et al. **Merkel Cell Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T21:24:39.809Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepidermal, intraepithelial, noninvasive**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to site of origin\n- Lesion(s) confined to dermis\n- Subcutaneous tissue (through entire dermis)" ], [ "2", "**Regional by direct extension only**\n- Bone\n- Cartilage\n- Fascia\n- Skeletal muscle" ], [ "3", "**Regional lymph node(s) involved only**\n\n- All sites (Single, Multiple, Ipsilateral) (See Code 7 for contralateral or bilateral nodes (except for head and neck skin primaries))\n + Isolated tumor cells (ITCs) WITH or WITHOUT regional lymph node involvement\n + In-transit mets WITH or WITHOUT regional lymph node involvement\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Head and Neck skin primaries only (C000-C002, C006, C440, C442-C444) (includes contralateral and bilateral nodes)\n + Levels I-VII \n + Axillary (neck only, C444)\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial (buccinator, buccal, nasolabial)\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid (infraauricular, intraparotid, periparotid, preauricular)\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Skin of trunk (C445)\n * Axillary\n * Cervical\n * Internal mammary\n * Supraclavicular\n + Lower trunk\n * Superficial inguinal (femoral) \n- Skin of upper limb and shoulder (C446)\n + Axillary\n + Cervical\n + Epitrochlear for hand/forearm\n + Internal mammary (parasternal)\n + Spinal accessory for shoulder\n + Supraclavicular (transverse cervical)\n- Skin of lower limb and hip (C447)\n + Femoral (superficial inguinal)\n + Inguinal\n + Popliteal for heel and calf\n- Vulva (C510-C512, C518-C519)\n + Deep inguinal, NOS\n + Femoral\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Penis (C600-C602, C608-C609)\n + Iliac, NOS\n * External\n * Internal (hypogastric, obturator)\n + Inguinal, NOS\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial [femoral] \n + Pelvic, NOS\n- Scrotum (C632)\n + Iliac, NOS\n * External\n * Internal (hypogastric), NOS\n - Obturator\n + Inguinal, NOS\n * Deep inguinal, NOS\n - Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial inguinal (femoral)" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Bone\n + Cartilage\n + Fascia\n + Lung\n + Other visceral sites\n + Skeletal muscle (excluding direct extension)\n + Skin or subcutaneous tissue beyond regional lymph nodes\n + Underlying cartilage\n- Distant lymph node(s), NOS\n + Axillary (lower trunk)\n + Femoral (cephalad/caudal) (upper trunk)\n + Iliac (leg/hip)\n + Supraclavicular (head and neck, arm/shoulder)\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_middle_ear_16857.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_middle_ear_16857.json deleted file mode 100644 index 4f72855c8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_middle_ear_16857.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_middle_ear_16857", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Middle Ear", - "title" : "Summary Stage 2018: Middle Ear", - "subtitle" : "Summary Stage 2018", - "notes" : "**Middle Ear**\n\n8000-8700\n\nC301\nC301 Middle ear \n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n\n**Note 2:** **Other Summary Stage Chapters with Middle Ear sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2024-05-16T21:19:34.135Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to\n + Auditory bone(s) (incus, malleus, stapes)\n + Vestibulocochlear organ\n * Cochlea\n * Semicircular ducts (ampullae, saccule, utricle)\n * Septum \n * Tympanic membrane (ear drum)" ], [ "2", "**Regional by direct extension only**\n- Adjacent connective tissue\n + Auditory tube (Eustachian tube, pharyngotympanic tube)\n + Nerve(s)\n- Adjacent organ(s)/structure(s)\n + External auditory meatus (ear canal)\n + Internal carotid artery\n + Mastoid antrum\n + Nasopharynx\n + Temporal bone" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Meninges\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_mouth_other_31159.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_mouth_other_31159.json deleted file mode 100644 index 6ac29e84e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_mouth_other_31159.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_mouth_other_31159", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Mouth Other", - "title" : "Summary Stage 2018: Mouth Other", - "subtitle" : "Summary Stage 2018", - "notes" : "**Mouth Other**\n\n8000-8700, 8982\n\nC058-C059, C068-C069\nC058 Overlapping lesion of palate\nC059 Palate, NOS\nC068 Overlapping lesion of other and unspecified parts of mouth\nC069 Mouth, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 7 *Oral Cavity*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with other Mouth sites**\n* 8710-8714, 8800-8934, 8940-8981, 8983-9138, 9141-9582: *Soft Tissue*\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Head and Neck**: 8720-8790\n**Mycosis Fungoides**: 9700-9701\n**Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Periosteum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones. \n * Cortical bone is the dense compact outer layer of the bone. \n * Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.\n\n**Note 4:** **Cortical bone** \n* Involvement through cortical bone is required for assignment of code 7.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T21:18:29.733Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)** \n- Confined to mouth, NOS\n- Lamina propria\n- Musculature (buccinator)\n- Submucosa" ], [ "2", "**Regional by direct extension only** \n- Adjacent oral cavity \n- Oropharynx\n + Inferior surface of soft palate\n + Lateral pharyngeal wall\n + Lingual surface of epiglottis\n + Vallecula" ], [ "3", "**Regional lymph node(s) involved only** \n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved** \n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved** \n- Distant site(s) (including further contiguous extension)\n + Bone, NOS\n * Cartilage (mandible, maxilla, NOS)\n * Cortical bone (mandible, maxilla, NOS)\n * Trabecular bone (mandible, maxilla, palatine, NOS)\n + Deep (extrinsic) muscle of tongue\n * Genioglossus \n * Hyoglossus \n * Palatoglossus \n * Styloglossus\n + Internal carotid artery (encased)\n + Mandible, NOS\n + Masticator space \n + Maxilla, NOS\n + Maxillary antrum (sinus)\n + Nasal cavity\n + Pterygoid plates \n + Skin of face/neck\n + Skull base\n + Specified bone (other than mandible, maxilla)\n + Tongue\n- Distant lymph node(s)\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_mycosis_fungoides_94448.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_mycosis_fungoides_94448.json deleted file mode 100644 index fc4bfcff1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_mycosis_fungoides_94448.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_mycosis_fungoides_94448", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Mycosis Fungoides", - "title" : "Summary Stage 2018: Mycosis Fungoides", - "subtitle" : "Summary Stage 2018", - "notes" : "**Mycosis Fungoides**\n\n9700-9701 (C000-C809) \n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 81 *Primary Cutaneous Lymphomas*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Not applicable codes** \n* Code 0 is not applicable for this chapter.\n\n**Note 3:** **Lymph node involvement**\n* All lymph node (regional and distant) involvement is coded as regional lymph node involvement.\n\n**Note 4:** **Visceral involvement** \n* Visceral involvement is metastatic disease and should be questioned in the absence of node or blood involvement.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Rosen, S.T., Jaffe, E.S., Leonard, J.P., et al. **Primary Cutaneous Lymphomas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T21:14:43.752Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only (localized, NOS)**\n- MFCG Stage I\n + Less than 10% of skin surface, no tumors\n + Limited to patches, papules, or plaques\n- MFCG Stage II\n + Greater than or equal to 10% of skin surface, no tumors\n + Generalized patches, papules, or plaques\n- Not stated whether patches, papules, or plaques\n + % of body surface not stated, no tumors\n + Skin involvement, NOS: extent not stated, no tumors" ], [ "2", "**Regional by direct extension only**\n- MFCG Stage III\n + Cutaneous tumor, size not stated\n + Generalized erythroderma (confluence of erythemia) \n * (greater than 50% of body involved with diffuse redness)\n + One or more tumors equal to 1 cm or greater\n + Sezary syndrome\n + Skin lesion described as tumor less than 1 cm" ], [ "3", "**Regional lymph node(s) involved only**\n- Both clinically enlarged palpable lymph node(s) (adenopathy) AND\n + pathologically positive nodes\n- Clinically enlarged palpable lymph node(s) (adenopathy) AND\n + either pathologically negative nodes or no pathological statement\n- No clinically enlarged palpable lymph node(s) (adenopathy) BUT\n + pathologically positive lymph node(s)\n- Dutch grade 1-4 OR NCI LN 0-4\n + Clone positive, negative or unknown\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s) involved**\n- Distant site(s) (including further contiguous extension)\n + MFCG Stage IV\n * Bone marrow\n * Involvement by at least one organ outside the skin, nodes, blood, or bone marrow\n * Liver\n * Spleen\n * Visceral (non-cutaneous, extranodal) involvement, pathologically confirmed\n- Distant metastasis, NOS\n + Carcinomatosis" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_nasal_cavity_and_ethmoid_sinus_excluding_melanoma_8720_8790_21699.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_nasal_cavity_and_ethmoid_sinus_excluding_melanoma_8720_8790_21699.json deleted file mode 100644 index 7120dd680..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_nasal_cavity_and_ethmoid_sinus_excluding_melanoma_8720_8790_21699.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_nasal_cavity_and_ethmoid_sinus_excluding_melanoma_8720_8790_21699", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Nasal Cavity and Paranasal Sinuses", - "title" : "Summary Stage 2018: Nasal Cavity and Paranasal Sinuses", - "subtitle" : "Summary Stage 2018", - "notes" : "**Nasal cavity and Paranasal Sinuses**\n\n8000-8700, 8941, 8982 \n\nC300, C310-C311\nC300 Nasal cavity (excluding nose, NOS C760)\nC310 Maxillary sinus \nC311 Ethmoid sinus \n\n**Note 1:** **Sources used in the development of this schema** \n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 12 *Nasal Cavity and Paranasal Sinuses*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Nasal Cavity and Paranasal sites** \n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Head and Neck**: 8720-8790\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**; 8710-8714, 8800-8934, 8940, 8950-8981, 8983-9138, 9141-9582\n \n**Note 3:** **Bones of the lateral wall** \n* The bones of the lateral wall of the nasal cavity include the maxilla, the perpendicular plate of the palatine bone, the medial pterygoid plate, the labyrinth and inferior concha of the ethmoid. \n* The roof of the nasal cavity is formed by the nasal bone. \n* The floor of the nasal cavity, which forms the roof of the mouth, is composed of the bones of the hard palate\n* The horizontal plate of the palatine bone posteriorly and the palatine process of the maxilla anteriorly.\n\n**Note 4:** **Bone involvement** \n* Involvement of or extension to bone includes any type of tumor extension to the bone, such as erosion, invasion, extension, penetration, or destruction.\n\n**Note 5:** **Bony invasion** \n* **Does not** include extension to palate, cribriform plate, or pterygoid plates. \n * Extension to these structures is coded separately.\n* **Does** include involvement of perpendicular plate of ethmoid bone or ethmoid air cells.\n\n**Note 6:** **Base of skull involvement** \n* Code 2 for base of skull, NOS when there is no information available for more specific bony structures in the skull.\n\n**Note 7:** **Extension to anterior cranial fossa** \n* Minimal extension to anterior cranial fossa implies tumor pushing through the cribriform plate, but without invasion of the dura or brain.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Kraus, D.H., Lydiatt, W.M., Shah, J.P., et al. **Nasal Cavity and Paranasal Sinuses**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T21:13:25.069Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)** \n- Nasal Cavity (C300)\n + Confined to nasal cavity, NOS\n + Invasive tumor confined to one or more of the following subsites WITHOUT bony invasion\n * Floor\n * Lateral wall, including\n + Meatus (superior, middle, inferior) \n + Nasal conchae (superior, middle, inferior)\n * Septum\n * Vestibule (edge of naris to mucocutaneous junction) \n- Maxillary Sinus (C310)\n + Confined to maxillary sinus, NOS\n + Confined to mucosa of maxillary sinus (antrum)\n * WITHOUT erosion or destruction of bone\n- Ethmoid Sinus (C311)\n + Confined to ethmoid sinus \n * WITH or WITHOUT bony invasion (involvement of perpendicular plate of ethmoid bone or ethmoid air cells)" ], [ "2", "**Regional by direct extension only** \n- All sites\n + Adjacent organs/structures, NOS\n + Base of skull, NOS\n + Nasopharynx\n + Pterygoid plates\n- Nasal Cavity (C300)\n + Confined to one or more subsites listed in code 1 WITH bony invasion\n + Choana\n + Cribriform plate\n + Ethmoid sinus \n + Frontal sinus\n + Hard palate\n + Nasolacrimal duct\n + Palatine bone\n- Maxillary sinus (C310)\n + Bone erosion or destruction\n + Ethmoid sinuses (anterior, posterior, NOS)\n + Floor or medial wall of orbit\n + Floor or posterior wall of maxillary sinus\n + Frontal sinus\n + Hard palate\n + Infratemporal fossa \n + Maxilla, NOS\n + Middle nasal meatus\n + Nasal cavity (floor, lateral wall, septum, turbinates)\n + Orbital contents including eye\n + Palatine bone\n + Pterygoid fossa\n + Pterygomaxillary fossa\n + Soft palate\n + Subcutaneous tissues\n + Temporal fossa\n- Ethmoid Sinus (C311)\n + Confined to both ethmoid sinuses \n * WITH or WITHOUT bony invasion (involvement of perpendicular plate of ethmoid bone or ethmoid air cells)\n + Anterior cranial fossa (minimal extension)\n + Anterior orbital contents\n + Brain\n + Clivus\n + Cranial nerves (other than V2, maxillary division of trigeminal nerve)\n + Cribriform plate\n + Dura\n + Frontal sinus\n + Maxillary sinus\n + Medial wall or floor of orbit\n + Middle cranial fossa\n + Nasal cavity WITH or WITHOUT bony invasion, one or more subsites\n * Floor\n * Lateral wall\n - Meatus (superior, middle, inferior)\n - Nasal conchae (superior, middle, inferior)\n * Septum\n - Turbinates\n * Vestibule (edge of naris to mucocutaneous junction)\n + Orbital apex\n + Orbital plate\n + Skin of cheek\n + Skin of nose\n + Sphenoid sinus" ], [ "3", "**Regional lymph node(s) involved only** \n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n - Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n - Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s), see code 7) \n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n - Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s)" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved** \n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved** \n- Distant site(s) (including further contiguous extension)\n + Nasal Cavity (C300)\n * Anterior cranial fossa (minimal extension)\n * Anterior orbital contents\n * Brain\n * Clivus\n * Cranial nerves (other than V2, maxillary division of trigeminal nerve)\n * Dura\n * Maxillary sinus \n * Medial wall or floor of orbit\n * Middle cranial fossa\n * Orbital apex \n * Orbital plate\n * Skin of cheek\n * Skin of nose\n * Sphenoid sinus\n + Ethmoid Sinus (C311)\n * Hard palate\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_nasopharynx_excluding_melanoma_8720_8790_copy_99106.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_nasopharynx_excluding_melanoma_8720_8790_copy_99106.json deleted file mode 100644 index dd703528c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_nasopharynx_excluding_melanoma_8720_8790_copy_99106.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_nasopharynx_excluding_melanoma_8720_8790_copy_99106", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Nasopharynx", - "title" : "Summary Stage 2018: Nasopharynx", - "subtitle" : "Summary Stage 2018", - "notes" : "**Nasopharynx**\n\n**2018-2024**\nC110, C112-C113, C118-C119: 8000-8700\nC111 and Schema Discriminator 1: Nasopharynx/PharyngealTonsil: 1 (8000-8700)\n\n**2025+**\nC110-C113, C118-C119: 8000-8700 \n\nC110-C113, C118-C119\nC110 Superior wall of nasopharynx\nC111 Posterior wall of nasopharynx *(excluding pharyngeal tonsil 2018-2024)*\nC111 Posterior wall of nasopharynx *(including pharyngeal tonsil, 2025+)*\nC112 Lateral wall of nasopharynx\nC113 Anterior wall of nasopharynx\nC118 Overlapping lesion of nasopharynx\nC119 Nasopharynx, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 9 *Nasopharynx*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Nasopharynx sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Head and Neck**: 8720-8790\n* **Mycosis Fungoides**: 9700-9701\n* **Oropharynx-Independent and Oropharynx-Associated (2018-2024 only):** C111 and Schema Discriminator 1: Nasopharynx/PharyngealTonsil: 2 (8000-8700) \n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Lee, A.W.M., Lydiatt, W.M., Shah, J.P., et al. **Nasopharynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-05-12T14:37:10.450Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)** \n- Confined to nasopharynx, NOS\n- Invasive tumor confined to one of the following subsites\n + Inferior wall (superior surface of soft palate)\n + Lateral wall\n + Posterior superior wall (vault)\n- Involvement of two or more subsites\n + Lateral wall extending into eustachian tube/middle ear\n + Posterior, inferior, or lateral wall(s)" ], [ "2", "**Regional by direct extension only** \n- Any structure listed in Code 1 WITH fixation \n- Bone, NOS\n- Bony structures of skull base\n- Cartilage, NOS\n- Cervical vertebra\n- Floor of orbit\n- Hard palate\n- Nasal cavity WITHOUT pharyngeal extension\n- Oropharynx\n- Paranasal sinus\n- Pterygoid structures\n- Skull base\n- Soft palate, inferior surface including uvula WITHOUT pharyngeal extension\n- Soft tissue, NOS (excluding soft tissue of neck)" ], [ "3", "**Regional lymph node(s) involved only** \n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved** \n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved** \n- Distant site(s) (including further contiguous extension)\n + Brain\n + Cranial nerve involvement \n + Hypopharynx\n + Infratemporal fossa/masticator space\n + Intracranial extension, NOS\n + Orbit except bone of floor of orbit \n + Parotid gland\n + Soft tissues of neck\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant mets WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_orbit_27202.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_orbit_27202.json deleted file mode 100644 index 9ebf02d33..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_orbit_27202.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_orbit_27202", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Orbital Sarcoma", - "title" : "Summary Stage 2018: Orbital Sarcoma", - "subtitle" : "Summary Stage 2018", - "notes" : "**Orbital Sarcoma**\n\nC690-C694, C696, C698-C699: 8710-8714, 8800-8921, 8932-8934, 8940-8990, 9000-9016, 9030-9138, 9141-9175, 9181-9230, 9240-9509, 9520-9582\n\nC695: 8710-8714, 8800-8921, 8932-8934, 8940, 8950-8976, 8981, 8983-8990, 9000-9016, 9030-9138, 9141-9175, 9181-9230, 9240-9509, 9520-9582\n\nC723: 8800-8802, 8804-8806, 8810-8811, 8814-8815, 8825, 8830, 8832, 8840, 8850, 8852-8854, 8858, 8890, 8900-8901, 8910, 8912, 8920-8921, 8940, 8963, 9040, 9044, 9071, 9120, 9133, 9150, 9220, 9240, 9364, 9421, 9473, 9500, 9522, 9530, 9540, 9580-9581\n\nC723 (8710-8714, 8803, 8812-8813, 8816-8818, 8820-8824, 8826-8828, 8831, 8833-8836, 8841-8842, 8851, 8855-8857, 8860-8881, 8891-8898, 8902-8905, 8932-8934, 8941-8960, 8964-8976, 8980-8981, 8982-8990, 9000-9016, 9030, 9041-9043, 9045-9063, 9065, 9072-9073, 9081-9083, 9086-9091, 9101-9111, 9121-9132, 9135-9138, 9141-9142, 9160-9175, 9181-9213, 9221, 9230, 9241-9361, 9363, 9365, 9370-9373, 9541-9571, 9582) (2018-2022)\n * For years 2023+, see *CNS Other* \n\nC690-C696, C698-C699, C723\nC690 Conjunctiva\nC691 Cornea, NOS\nC692 Retina\nC693 Choroid\nC694 Ciliary Body\nC695 Lacrimal Gland\nC696 Orbit, NOS\nC698 Overlapping lesion of eye and adnexa\nC699 Eye, NOS \nC723 Optic Nerve\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 70 *Orbital Sarcoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **In situ cases** \n* In situ (code 0) may be used only for non-sarcoma histologies coded to this site. Sarcomas do not present as in situ or noninvasive tumors.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Dutton, J.J., Finger, P.T., et al. **Orbital Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T21:06:49.567Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only (localized, NOS)**\n- Confined to orbit (including soft tissues)" ], [ "2", "**Regional by direct extension only**\n- Adjacent paranasal sinuses\n- Bony walls\n- Conjunctiva\n- Cranium\n- Diffuse invasion of orbital tissue and bony walls\n- Globe\n- Orbital tissues (excluding orbit primary site)\n- Periorbital structures" ], [ "3", "**Regional lymph node(s) involved only**\n- Cervical, NOS\n- Mandibular, NOS\n + Submandibular (submaxillary)\n- Parotid, NOS\n + Infra-auricular\n + Preauricular\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Central nervous system\n + Eyelid(s)\n + Nasal cavity\n + Temporal fossa\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_oropharynx_excluding_melanoma_8720_8790_9999.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_oropharynx_excluding_melanoma_8720_8790_9999.json deleted file mode 100644 index cb2eae0a3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_oropharynx_excluding_melanoma_8720_8790_9999.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_oropharynx_excluding_melanoma_8720_8790_9999", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Oropharynx", - "title" : "Summary Stage 2018: Oropharynx", - "subtitle" : "Summary Stage 2018", - "notes" : "**Oropharynx**\n\n**2018-2024**\nC111 and Schema Discriminator 1: Nasopharynx/PharyngealTonsil: 2 (8000-8700) \n\n**2018+**\nC019, C024, C051-C052, C090-C091, C098-C099, C100, C102-C104, C108-C109 (8000-8700)\n\n**2026+**\nC101 (8000-8700)\n\nC019, C024, C051-C052, C090-C091, C098-C099, C100-C104, C108-C109, C111\nC019 Base of tongue, NOS\nC024 Lingual tonsil\nC051 Soft palate, NOS\nC052 Uvula\nC090 Tonsillar fossa \nC091 Tonsillar pillar\nC098 Overlapping lesion of tonsil \nC099 Tonsil, NOS \nC100 Vallecula\nC101 Anterior surface of epiglottis\nC102 Lateral wall of oropharynx\nC103 Posterior wall of oropharynx\nC104 Branchial cleft (site of neoplasm)\nC108 Overlapping lesion of oropharynx\nC109 Oropharynx, NOS\nC111 Pharyngeal tonsil\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 10 *Oropharynx HPV-Mediated (p16+)*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Oropharynx-Associated, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois\n* Chapter 11 *Oropharynx (p16-) and Hypopharynx*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Oropharynx sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Nasopharynx (2018-2024)**: C111 and Schema Discriminator 1: Nasopharynx/PharyngealTonsil:1 (8000-8700)\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n* **Melanoma Head and Neck**: 8720-8790\n\n**Note 3:** **Intrinsic and extrinsic muscles** \n* The intrinsic muscles of tongue are four paired muscles within the tongue which control its shape. \n* The extrinsic muscles originate from structures outside the tongue and control its positioning.\n\n**Note 4:** **Parapharyngeal involvement** \n* Parapharyngeal involvement (pharyngeal space invasion) (code 7) denotes postero-lateral infiltration of tumor beyond the pharyngobasilar fascia. \n* The pharyngobasilar fascia is the fibrous layer of the pharyngeal wall between the mucosa and the muscular layer, attached superiorly to the basilar part of the occipital bone and diminishing in thickness as it descends.\n\n**Note 5:** **Masticator space** \n* The masticator space (code 7) primarily consists of the muscles of mastication, the medial and lateral pterygoid, masseter, and temporalis muscles. \n* The space also includes the ramus of the mandible and the third division of cranial nerve V as it passes through the foramen ovale into the suprahyoid neck.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) O'Sullivan, B., Lydiatt, W.M., Shah, J.P., et al. **Oropharynx HPV-mediated (HPV-Associated) Cancer**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) Lydiatt, W.M., Ridge, J.A., Shah, J.P., et al. **Oropharynx (p16-) and Hypopharynx**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(8) **Oropharynx HPV-Associated**, from the AJCC Cancer Staging System Version 9 (2025). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2025-09-26T19:39:39.111Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- All sites\n + Confined to site of origin\n + Epiglottis, lingual surface\n- Oropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n + Base of tongue (including lingual tonsil)\n + Tonsil (palatine, NOS)\n + Tonsillar pillar/fossa\n + Wall (anterior [including vallecular], lateral, posterior)\n- Pharyngeal Tonsil (C111)\n + Adenoid \n + Nasopharynx (inferior wall, superior surface of soft palate)\n + Pharyngeal tonsil (nasopharyngeal tonsil) \n + Posterior superior wall (vault)\n- Soft Palate (C051, C052) \n + Lamina propria, submucosa, musculature\n + Tumor crosses midline\n- Tongue Base (C019, C024)\n + Base of tongue for lingual tonsil\n + Lamina propria, submucosa, musculature (intrinsic)\n + Lingual tonsil for base of tongue\n + Tumor crosses midline" ], [ "2", "**Regional by direct extension only**\n- All sites\n + Epiglottis, lingual surface plus both lateral walls through soft palate or base of tongue\n + Epiglottis WITH fixation\n\n- Oropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n + Buccal mucosa\n + Floor of mouth\n + Gum (gingiva)\n + Hypopharynx\n + Larynx, NOS\n + Lateral walls (both) through soft palate or base of tongue\n + Posterior surface of epiglottis\n + Prevertebral fascia/muscle\n + Pyriform sinus\n + Soft palate (inferior surface including uvula, superior [nasopharyngeal] surface, NOS)\n + Soft tissue of neck\n- Pharyngeal Tonsil (C111)\n + Hard palate\n + Mandible\n + Nasal cavity\n + Oropharynx\n + Paranasal sinuses\n + Pterygopalatine fossa \n + Soft palate, inferior surface including uvula\n- Soft Palate (C051, C052)\n + Buccal mucosa (inner cheek)\n + Gum (gingiva), upper\n + Hard palate\n + Lateral pharyngeal wall\n + Mandible\n + Tonsils, including tonsillar pillars and fossae\n- Tongue Base (posterior 1/3 of tongue) (C019, C024)\n + Anterior two-thirds of tongue for base of tongue\n + Floor of mouth\n + Glossoepiglottic fold\n + Glossopharyngeal sulcus\n + Lateral pharyngeal wall\n + Lower gingiva\n + Pharyngoepiglottic fold\n + Soft palate, inferior surface or NOS including uvula\n + Sublingual gland\n + Tonsil, tonsillar pillars and fossae" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s), see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + All sites\n * Carotid artery (encasing)\n * Deep/extrinsic muscles of tongue\n - Genioglossus\n - Hyoglossus\n - Mylohyoid \n - Palatoglossus\n - Styloglossus\n * Lateral nasopharynx\n * Masseter muscle\n * Masticator space\n - Cranial nerve V-third division\n - Muscles of mastication\n - Pterygoid muscle (lateral, medial)\n - Ramus of mandible\n - Temporalis muscles\n * Parapharyngeal extension (pharyngeal space invasion)\n * Pterygoid plates\n * Skull (base, bone, NOS)\n + Oropharynx (C090-C091, C098-C099, C100, C102-C104, C108-C109)\n * Anterior 2/3 of tongue\n * Hard palate\n * Mandible\n * Parotid gland\n + Pharyngeal Tonsil (C111)\n * Brain\n * Cranial nerve involvement\n * Hypopharynx\n * Infratemporal fossa/masticator space\n * Orbit (floor, NOS)\n * Soft tissues of neck\n + Soft palate (C051, C052)\n * Hypopharynx\n * Maxilla \n * Maxillary sinus (antrum)\n * Nasal cavity\n * Nasopharynx (lateral, NOS)\n * Palatine bone (bone of hard palate)\n * Tongue\n + Tongue Base (posterior 1/3 of tongue) (C019, C024)\n * Hard palate\n * Hypopharynx\n * Larynx\n * Mandible \n * Skin\n- Distant lymph node(s)\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant mets WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ovary_fallopian_tube_and_peritoneal_carcinoma_21678.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ovary_fallopian_tube_and_peritoneal_carcinoma_21678.json deleted file mode 100644 index db5f878e6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_ovary_fallopian_tube_and_peritoneal_carcinoma_21678.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_ovary_fallopian_tube_and_peritoneal_carcinoma_21678", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Ovary and Primary Peritoneal Carcinoma", - "title" : "Summary Stage 2018: Ovary and Primary Peritoneal Carcinoma", - "subtitle" : "Summary Stage 2018", - "notes" : "**Ovary and Primary Peritoneal Carcinoma**\n\n8000-8700, 8720-8790, 8806, 8822, 8930-8931, 8933, 8950, 8960, 8980, 9000, 9050, 9052, 9060, 9070-9071, 9073, 9080, 9085, 9090-9091, 9100, 9110\n\nC569: 8810, 8815, 8825, 8890, 8935-8936\n\nC481-C482, C488, C569\nC481 Specified parts of peritoneum (female only)\nC482 Peritoneum (female only)\nC488 Overlapping lesion of retroperitoneum and peritoneum (female only)\nC569 Ovary\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 55 *Ovary, Fallopian Tube, and Primary Peritoneal Carcinoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Ovary and Retroperitoneum sites**\n* **GIST**: C480-C482 (8935-8936)\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Retroperitoneum** \n * C481-C482, C488 and Sex: 1, 3, 5, 9 (8000-8700, 8720-8790, 8822, 8933, 8950, 8960, 8980, 9000, 9050, 9052, 9060, 9070-9071, 9073, 9080, 9085, 9090-9091, 9100, 9110-9111)\n * C481-C482, C488 (8710-8714, 8800-8803, 8810-8821, 8823-8921, 8932, 8934, 8940-8941, 8951-8959, 8963-8976, 8981-8990, 9010-9016, 9030-9043, 9045, 9051, 9053-9055, 9061-9065, 9072, 9081-9084, 9086, 9101-9105, 9120-9138, 9141-9230, 9240-9580, 9582)\n* **Soft Tissue**\n * C481-C482, C488 and Sex: 1, 3, 5, 9 (8806, 8930-8931) and C481-C482, C488 (8804-8805, 8991, 9020, 9044, 9231, 9581)\n * C569 (8710-8714, 8800-8805, 8811-8814, 8816-8818, 8820-8821, 8823-8824, 8826-8881, 8891-8905, 8910-8921, 8932, 8934, 8940-8941, 8951-8959, 8963-8976, 8981-8992, 9010-9016, 9020, 9030-9045, 9051, 9053-9055, 9061-9065, 9072, 9081-9084, 9086, 9101-9105, 9120-9133, 9135-9138, 9141-9175, 9180-9222, 9230-9231, 9240-9368, 9370-9582)\n\n**Note 3:** **Ascites, NOS**\n* Ascites, NOS should be excluded as a staging element.\n\n**Note 4:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). \n * Lymph nodes with ITCs only are **not** counted as positive nodes for Summary Stage\n\n**Note 5:** **Peritoneal implants** \n* Peritoneal implants outside the pelvis must be microscopically confirmed. Peritoneal implants may also be called seeding, salting, talcum powder appearance, or studding.\n\n**Note 6:** **Location of peritoneal implants** \n* If implants are mentioned, determine whether they are in the pelvis or in the abdomen and code appropriately to regional by direct extension or to distant. If not stated, code to distant.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Prat, J., Olawaiye, A.B., Mutch, D.G., et al. **Ovary, Fallopian Tube, and Primary Peritoneal Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T18:33:14.091Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial** \n- Limited to ovarian mucosa\n- Preinvasive\n- Serous tubal intraepithelial carcinoma (STIC) (8441/2)" ], [ "1", "**Localized only (localized, NOS)**\n\nLimited to one or both ovaries WITH capsule intact\nLimited to one or both ovaries WITH or WITHOUT surgical spill\n\nLimited to one or both ovaries WITHOUT or UNKNOWN\n* Tumor on ovarian surface\n* Malignant cells in ascites or peritoneal washings\n\nConfined to ovary, NOS\nLocalized, NOS \n\nLocalized primary peritoneal cancer\n + (Primary sites C481, C482, C488)\n\nFIGO Stage I (IA, IB, IC1, I NOS)" ], [ "2", "**Regional by direct extension only**\n\nLimited to one or both ovaries WITH\n* Tumor on ovarian surface\n* Malignant cells in ascites or peritoneal washings\n* Pelvic extension, NOS (below pelvic brim)\n\nExtension to and/or discontinuous metastasis to any of the following\n* Adnexa\n* Adjacent (pelvic) peritoneum\n* Bladder\n* Bladder serosa\n* Corpus uteri\n* Cul de sac (rectouterine pouch)\n* Fallopian tube(s)\n* Ligament(s) (broad, ovarian, round, suspensory)\n* Mesosalpinx (Mesovarium)\n* Parametrium\n* Pelvic wall\n* Rectosigmoid\n* Rectum\n* Sigmoid colon (including sigmoid mesentery)\n* Ureter (pelvic portion)\n * Uterus, NOS\n\nFIGO Stage IC2, IC3\nFIGO Stage II (IIA, IIB, II NOS)" ], [ "3", "**Regional lymph node(s) involved only**\n\n- Intrabdominal \n- Para-aortic, NOS\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n- Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n- Retroperitoneal, NOS\n- Subdiaphragmatic (primary peritoneal carcinoma)\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS\n\nFIGO Stage IIIA1 (IIA1i, IIIA1ii, IIIA1 NOS)\n* Localized tumor WITH regional lymph node involvement" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n * Abdominal mesentery\n * Diaphragm\n * Gallbladder\n * Intestine, large (except rectum, rectosigmoid and sigmoid colon, see code 2)\n * Kidneys\n * Liver (capsular or parenchymal involvement)\n * Omentum (infracolic, NOS)\n * Pancreas\n * Pericolic gutter\n * Peritoneum, NOS\n * Peritoneal implants beyond pelvis\n * Pleural effusion with positive cytology\n * Small intestine\n * Spleen (capsular or parenchymal involvement)\n * Stomach\n * Ureters (outside pelvis)\n- Distant lymph node(s), NOS\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal (femoral)\n- Distant metastasis, NOS\n * Carcinomatosis (involvement of multiple parenchymal organs)\n + WITH or WITHOUT distant lymph node(s) OR pleural effusion\n * Distant metastasis WITH or WITHOUT distant lymph node(s)\n\nFIGO Stage III (IIIA, IIIA2, IIIB, IIIC, III NOS)\nFIGO Stage IV (IVA, IVB, IV NOS)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_palate_hard_86267.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_palate_hard_86267.json deleted file mode 100644 index bf8ee75bf..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_palate_hard_86267.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_palate_hard_86267", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Palate Hard", - "title" : "Summary Stage 2018: Palate Hard", - "subtitle" : "Summary Stage 2018", - "notes" : "**Palate Hard**\n\n8000-8700, 8982\n\nC050\nC050 Hard palate\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 7 *Oral Cavity*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Hard palate sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Head and Neck**: 8720-8790\n**Mycosis Fungoides**: 9700-9701\n**Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n\n**Note 3:** **Periosteum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones. \n * Cortical bone is the dense compact outer layer of the bone. \n * Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-18T12:41:41.683Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to hard palate, NOS\n- Crosses midline\n- Invasive tumor on one side confined to mucoperiosteum (stroma)" ], [ "2", "**Regional by direct extension only**\n- Bone, NOS\n + Cortical bone (maxilla, palatine, NOS)\n + Maxilla, NOS\n + Palatine bone, NOS\n + Trabecular bone (maxilla, palatine)\n- Buccal mucosa (inner cheek)\n- Cortical bone (mandible, maxilla, NOS)\n- Gingiva, upper\n- Glossopalatine arch\n- Pharyngopalatine arch\n- Soft palate including uvula" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular \n + Middle deep cervical\n- Level IV - Lower jugular \n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Deep (extrinsic) muscle of tongue\n * Genioglossus \n * Hyoglossus\n * Palatoglossus\n * Styloglossus\n + Floor of nose\n + Internal carotid artery (encased)\n + Mandible\n + Masticator space\n + Maxillary sinus (antrum)\n + Nasal cavity\n + Nasopharynx\n + Pterygoid plates\n + Skin of face\n + Skull base\n + Specified bone (other than mandible, maxilla)\n + Sphenoid bone\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pancreas_95507.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pancreas_95507.json deleted file mode 100644 index d2586e08d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pancreas_95507.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_pancreas_95507", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Pancreas", - "title" : "Summary Stage 2018: Pancreas", - "subtitle" : "Summary Stage 2018", - "notes" : "**Pancreas**\n\n8000-8700, 8720-8790, 8971\n\nC250-C254, C257-C259\nC250 Head of pancreas\nC251 Body of pancreas\nC252 Tail of pancreas\nC253 Pancreatic duct\nC254 Islets of Langerhans\nC257 Other specified parts of pancreas\nC258 Overlapping lesion of pancreas\nC259 Pancreas, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 28 *Exocrine Pancreas*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Chapter 34 *Neuroendocrine Tumors of the Pancreas*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* *Neuroendocrine Tumors of the Pancreas*, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Pancreas sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Islet cell tumors** \n* For tumors of the islet cells, determine which subsite of the pancreas is involved and use that primary site code. If the subsite cannot be determined, use the general code for Islets of Langerhans, C254.\n\n**Note 4:** **Abutment, encasement** \n* The terms \"abutment,\" \"abut(s),\" \"encases,\" or \"encasement\" of the major blood vessels can be interpreted as involvement of these structures.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kakar, S., Pawlik, T.M., Vauthey, J.N., et al. **Exocrine Pancreas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Bergsland, E.K., Woltering, E.A., Klimstra, D.S., et al. **Neuroendocrine Tumors of the Pancreas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) **Neuroendocrine Tumors of the Pancreas**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2024-05-18T12:39:14.477Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive** \n- High-grade pancreatic intraepithelial neoplasia (PanIn-3)\n- Intraductal papillary mucinous neoplasm with high grade dysplasia\n- Intraductal tubulopapillary neoplasm with high grade neoplasm\n- Mucinous cystic neoplasm with high-grade dysplasia" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to pancreas" ], [ "2", "**Regional by direct extension only**\n- All sites\n + Ampulla of Vater\n + Blood vessel(s) (major)\n * Aortic artery\n * Celiac artery\n * Common hepatic artery\n * Further contiguous extension to other major arteries\n * Portal vein\n * Superior mesenteric artery/vein\n + Duodenum\n + Extrahepatic bile duct(s)\n + Fixation to adjacent structure(s), NOS\n + Peripancreatic tissue, NOS\n + Stomach\n- Pancreas Head (C250)\n + Adjacent stomach\n + Blood vessel(s) (major)\n * Gastroduodenal artery\n + Transverse colon, including hepatic flexure\n- Pancreas Body Tail (C251, C252)\n + Spleen\n + Splenic artery/vein\n + Splenic flexure" ], [ "3", "**Regional lymph node(s) involved only**\n- All sites\n + Anterior, NOS\n + Common hepatic artery\n + Hepatic, NOS\n + Inferior to head and body of pancreas\n + Lateral aortic (lumbar)\n + Pancreaticoduodenal (anterior, posterior)\n + Peripancreatic, NOS\n + Posterior, NOS\n + Proximal mesentery (anterior, posterior)\n + Retroperitoneal\n + Superior mesenteric\n + Superior to head and body of pancreas\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Pancreas Head (C250)\n + Common bile duct (pericholedochal)\n + Lateral wall (right)\n + Portal vein\n + Pyloric (infrapyloric, retropyloric, subpyloric, suprapyloric)\n + Pyloric, NOS\n- Pancreas Body Tail (C251, C252)\n + Gastroepiploic (gastro-omental, left)\n + Pancreaticosplenic (pancreaticolineal)\n + Splenic (artery, hilum, lineal)\n + Suprapancreatic\n- Pancreas Other (C253-C254, C257-C259)\n + Celiac\n + Common bile duct (pericholedochal)\n + Gastroepiploic (gastro-omental)\n + Lateral wall right\n + Pancreaticosplenic (pancreaticolienal) \n + Portal vein\n + Pyloric (infrapyloric, retropyloric, subpyloric, suprapyloric, NOS)\n + Splenic (artery, hilum, lineal)\n + Suprapancreatic" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension to other organs)\n + All sites\n * Adrenal gland/suprarenal gland\n * Gallbladder\n * Kidney\n * Liver, including porta hepatis\n * Mesenteric fat\n * Mesentery\n * Mesocolon\n * Peritoneum\n * Retroperitoneum\n * Small intestine (excluding duodenum)\n * Ureter\n + Pancreas Head (C250)\n * Colon (other than transverse colon including hepatic flexure)\n * Omentum\n * Spleen\n + Pancreas Body Tail (C251, C252)\n * Colon (other than splenic flexure)\n * Diaphragm\n- Distant lymph node(s), NOS\n + Pancreas Head (C250)\n * Celiac\n * Gastroepiploic (gastro-omental), left\n * Pancreaticosplenic (pancreaticolienal)\n * Splenic (artery, hilum, lineal)\n * Suprapancreatic\n + Pancreas Body Tail (C251, C252)\n * Celiac\n * Common bile duct (pericholedochal)\n * Lateral wall (right)\n * Porta hepatic\n * Portal vein\n * Pyloric (infrapyloric, retropyloric, subpyloric, suprapyloric, NOS)\n- Distant metastasis, NOS \n + Carcinomatosis\n + Distant metastasis except distant lymph node(s) \n + Seeding of peritoneum, even if limited to the lesser sac region\n + Positive peritoneal cytology" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_parathyroid_99309.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_parathyroid_99309.json deleted file mode 100644 index 9348396f8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_parathyroid_99309.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_parathyroid_99309", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Parathyroid", - "title" : "Summary Stage 2018: Parathyroid", - "subtitle" : "Summary Stage 2018", - "notes" : "**Parathyroid**\n\n8000-8700, 8720-8790\n\nC750\nC750 Parathyroid\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 75 *Parathyroid*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Parathyroid sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Definition of parathyroid tumors** \n* Parathyroid tumors are defined as left or right and superior (upper) or inferior (lower).\n\n**Note 4:** **Atypical parathyroid neoplasms** \n* Atypical parathyroid neoplasms (code 0) are defined as tumors that are histologically or clinically worrisome but do not fulfill the more robust criteria [i.e., invasion metastasis] for carcinoma. \n\n**Note 5:** **Location of metastases** \n* Metastases for the parathyroid is anything beyond the central and lateral part of the neck.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kakar, S., Pawlik, T.M., Vauthey, J.N., et al. **Exocrine Pancreas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T20:36:15.587Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive**\n- Atypical parathyroid neoplasm (neoplasm of uncertain malignant potential)" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to parathyroid \n- Extension to soft tissue" ], [ "2", "**Regional by direct extension only**\n- Adjacent lymph nodes\n- Esophagus\n- Recurrent laryngeal nerve\n- Thymus\n- Thyroid gland\n- Trachea\n- Skeletal muscle" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- **Level IV - Lower jugular**\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other lymph nodes\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Bone\n + Diaphragm\n + Liver\n + Lung\n + Pancreas\n + Spleen\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_penis_97065.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_penis_97065.json deleted file mode 100644 index fb0b158f4..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_penis_97065.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_penis_97065", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Penis", - "title" : "Summary Stage 2018: Penis", - "subtitle" : "Summary Stage 2018", - "notes" : "**Penis**\n\n8000-8040, 8042-8180, 8191-8246, 8248-8700\n\nC600-C602, C608-C609\nC600 Prepuce\nC601 Glans penis\nC602 Body of penis\nC608 Overlapping lesion of penis\nC609 Penis, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 57 *Penis*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Penis sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Skin**: 8720-8790\n* **Merkel Cell Skin**: 8041, 8190, 8247: *Merkel Cell Skin* \n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582: *Soft Tissue*\n\n**Note 3:** **Verrucous carcinoma** \n* Code 0 if a verrucous carcinoma is described as noninvasive or as having a broad pushing border or penetration. \n* If there is destructive invasion of verrucous carcinoma into structures in code 1 or greater, assign the appropriate higher code", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pettaway, C.A., Srigley, J.R., Amin, M.B., et al. **Penis**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-07T16:22:11.624Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive** \n- Bowen disease\n- Carcinoma in situ (Penile intraepithelial neoplasia [PeIN])\n- Erythroplasia of Queyrat\n- Noninvasive localized squamous cell carcinoma\n- Noninvasive verrucous carcinoma\n- Verrucous carcinoma, NOS" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to penis\n + WITH or WITHOUT perineural and/or lymphovascular invasion\n- Dartos fascia (foreskin)\n- Dermis (foreskin)\n- Lamina propria (glans and foreskin)\n- Subepithelial connective tissue (shaft)\n- Verrucous carcinoma, NOS" ], [ "2", "**Regional by direct extension only**\n- Corpus (cavernosum or spongiosum, including tunica albuginea) \n + WITH or WITHOUT urethral invasion\n- Muscle, NOS\n + Bulbospongiosus\n + Ischiocavernosus\n + Superficial transverse perineal\n- Prostate\n- Pubic bone\n- Scrotum\n- Skin (abdominal, perineum)" ], [ "3", "**Regional lymph node(s) involved only**\n- Iliac, NOS\n + External\n + Internal (hypogastric, obturator)\n * Inguinal, NOS\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial [femoral] \n + Pelvic, NOS\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Testis\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pharynx_nos_excluding_melanoma_8720_8790_3303.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pharynx_nos_excluding_melanoma_8720_8790_3303.json deleted file mode 100644 index 4be2ff1e7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pharynx_nos_excluding_melanoma_8720_8790_3303.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_pharynx_nos_excluding_melanoma_8720_8790_3303", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Pharynx Other", - "title" : "Summary Stage 2018: Pharynx Other", - "subtitle" : "Summary Stage 2018", - "notes" : "**Pharynx Other**\n\n8000-8700\n\nC140, C142, C148\nC140 Pharynx, NOS\nC142 Waldeyer ring\nC148 Overlapping lesion of lip, oral cavity\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n\n**Note 2:** **Other Summary Stage Chapters with other Pharynx sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Head and Neck**: 8720-8790\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue Other**: 8992\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User\nDocumentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2024-05-16T18:54:16.369Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Invasive tumor confined to site of origin" ], [ "2", "**Regional by direct extension only**\n- Extension to adjacent structure(s)\n- Fixation \n- More than one region of pharynx involved\n + Hypopharynx\n + Nasopharynx\n + Oropharynx\n- Pharynx and oral cavity involved" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular \n + Middle deep cervical\n- Level IV - Lower jugular \n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Meninges\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n-Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_placenta_66365.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_placenta_66365.json deleted file mode 100644 index c7a9101fe..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_placenta_66365.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_placenta_66365", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Placenta", - "title" : "Summary Stage 2018: Placenta", - "subtitle" : "Summary Stage 2018", - "notes" : "**Placenta**\n\n8000-8700, 8720-8790, 9100-9105\n\nC589\nC589 Placenta\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 56 *Gestational Trophoblastic Neoplasms*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Placenta sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9091, 9110-9138, 9141-9582 \n\n**Note 3:** **Trophoblastic tumor not associated with pregnancy** \n* If a trophoblastic tumor is not associated with a pregnancy and arises in another site, such as ovary, use the primary site code and the appropriate Summary Stage chapter.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Chen, L., Olawaiye, A.B., Mutch, D.G., et al. **Gestational Trophoblastic Neoplasms**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T18:48:23.452Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ, intraepithelial, noninvasive" ], [ "1", "**Localized only (localized, NOS)**\n\n* Confined to placenta\n\nFIGO Stage I" ], [ "2", "**Regional by direct extension only**\n\n* Adjacent connective tissue, NOS\n* Cervix\n* Corpus uteri\n * Other genital structure(s) by DIRECT EXTENSION or NOS\n + Broad ligament\n + Fallopian tube(s)\n + Genital structure(s), NOS\n + Ovary(ies)\n + Vagina\n* Uterus, NOS\n\nFIGO Stage II" ], [ "3", "**Regional lymph node(s) involved only**\n- Aortic, NOS\n + Lateral (lumbar)\n + Para-aortic\n + Peri-aortic\n- Iliac, NOS\n + Common\n + External\n + Internal (hypogastric), NOS\n * Obturator\n- Parametrial\n- Pelvic, NOS\n- Sacral\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Other genital structure(s) by METASTASIS\n * Broad ligament \n * Cervix uteri\n * Corpus uteri\n * Fallopian tube(s)\n * Genital structure(s), NOS\n * Ovary(ies)\n * Uterus, NOS\n * Vagina\n- Distant lymph node(s), NOS\n + Superficial inguinal (femoral)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)\n\nFIGO Stage III, IV" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pleura_60930.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pleura_60930.json deleted file mode 100644 index 84816eebd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_pleura_60930.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_pleura_60930", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Pleural Mesothelioma", - "title" : "Summary Stage 2018: Pleural Mesothelioma", - "subtitle" : "Summary Stage 2018", - "notes" : "**Pleural Mesothelioma**\n\n9050-9053 \n\nC340-C343, C348-C349, C384\nC340 Main bronchus\nC341 Upper lobe, lung\nC342 Middle lobe, lung\nC343 Lower lobe, lung\nC348 Overlapping lesion of lung\nC349 Lung, NOS\nC384 Pleura\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 37 *Malignant Pleural Mesothelioma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Pleural effusions** \n* Most pleural effusions are due to tumor. When the cytopathological examinations of pleural fluid are negative for tumor, the effusion should be excluded as a staging element and the tumor should not be classified as metastasis.\n * The physician statement of pleural effusion can be used to code this data item\n* If the physician feels the pleural effusion is due to tumor, despite negative cytology, the physician's assessment can be used.\n * If pleural fluid cytology is described as suspicious/suspicious for mesothelioma, code 7", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Rusch, V.W., et al. **Malignant Plural Mesothelioma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T18:42:33.928Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to pleura, NOS\n- Invasive tumor (mesothelioma) confined to pleura, NOS \n- Ipsilateral pleural (diaphragmatic, parietal, mediastinal, and viscera) involved \nWITHOUT involvement of fissure" ], [ "2", "**Regional by direct extension only**\n\nLocally advanced, technically unresectable tumor \n\nExtension of/invasion to\n- Adjacent (connective) tissue, NOS\n- Chest wall \n- Confluent visceral pleural tumor (including any involvement of interlobar fissure)\n- Diaphragmatic muscle\n- Endothoracic fascia\n- Fissure\n- Lung parenchyma, or lung involvement, NOS\n- Mediastinal fat (mediastinal tissues) invasion\n- Nodule(s) beneath visceral pleural surface (ipsilateral pleura)\n- Pericardium (extension through the internal surface) (non-transmural, NOS) WITHOUT pericardial effusion\n- “Psum > 30 mm WITH or WITHOUT” involvement of adjacent sites (clinical evaluation only)\n- Pulmonary parenchyma (visceral pleural extension)\n- Rib" ], [ "3", "**Regional lymph node(s) involved only**\n- Aortic (above diaphragm), NOS\n + Ascending aorta (phrenic)\n + Peri/para-aortic\n + Subaortic (aortico-pulmonary window)\n- Carinal (tracheobronchial) (tracheal bifurcation)\n- Hilar (ipsilateral)\n + Bronchopulmonary\n + Proximal lobar\n + Pulmonary root\n- Intercostal\n- Internal mammary (parasternal)\n- Intrapulmonary\n + Interlobar\n + Lobar\n + Segmental\n + Subsegmental\n- Mediastinal, NOS (ipsilateral)\n + Anterior\n + Posterior (tracheoesophageal)\n- Pericardial\n- Peri/parabronchial\n- Peri/paraesophageal (below carina)\n- Peri/paratracheal (lower [azygos], upper, NOS)\n- Pretracheal and retrotracheal (precarinal), NOS\n- Prevascular\n- Pulmonary ligament\n- Subcardial\n- Subcarinal\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Brachial plexus\n + Cervical (neck) tissues\n + Contralateral lung\n + Contralateral pleura (direct contiguous extension)\n + Contralateral pleura/chest wall (discontinuous involvement)\n + Heart muscle\n + Intra-abdominal organs\n - Mediastinal organs (direct contiguous extension or discontinuous involvement)\n + Esophagus\n - Great vessels\n - Heart (muscle)\n - Myocardium\n - Spine\n - Trachea\n + Mesothelioma WITH malignant pleural fluid\n + Pericardial effusion, malignant\n + Pericardium WITH pericardial effusion\n + Peritoneum (direct transdiaphragmatic extension of tumor)\n + Peritoneum (discontinuous extension of tumor)\n + Pleural effusion (see Note 2)\n - Distant lymph node(s), NOS\n + Hilar (contralateral, bilateral)\n * Bronchopulmonary\n * Proximal lobar\n * Pulmonary root\n + Mediastinal (contralateral, bilateral)\n * Anterior\n * Posterior (tracheoesophageal)\n + Peridiaphragmatic (ipsilateral, contralateral)\n * Mediastinal\n + Scalene (ipsilateral, contralateral) \n * Inferior deep cervical\n + Supraclavicular (ipsilateral or contralateral)\n * Transverse cervical\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_primary_cutaneous_lymphomas_4605.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_primary_cutaneous_lymphomas_4605.json deleted file mode 100644 index 1238461fa..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_primary_cutaneous_lymphomas_4605.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_primary_cutaneous_lymphomas_4605", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Primary Cutaneous Lymphomas (excluding MF and SS)", - "title" : "Summary Stage 2018: Primary Cutaneous Lymphomas (excluding MF and SS)", - "subtitle" : "Summary Stage 2018", - "notes" : "**Primary Cutaneous Lymphomas (excluding MF and SS)**\n\n9597, 9680, 9708-9709, 9712, 9718-9719, 9726 \n\nC440, C442-C449, C510, C609, C632\nC440 Skin of lip, NOS\nC442 External ear\nC443 Skin of other and unspecified parts of face\nC444 Skin of scalp and neck\nC445 Skin of trunk\nC446 Skin of upper limb and shoulder\nC447 Skin of lower limb and hip\nC448 Overlapping lesion of skin\nC449 Skin, NOS\nC510 Labium majus\nC609 Penis\nC632 Scrotum, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 81 *Primary Cutaneous Lymphomas*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Not applicable codes** \n* Code 0 is not applicable for this chapter.\n\n**Note 3:** **Mycosis Fungoides** \n* See the *Mycosis Fungoides* chapter for Mycosis Fungoides (9700) and Sezary syndrome (9701).\n\n**Note 4:** **The preferred histology terms listed below are from the 2024 WHO Classification of Tumours, Haematolymphoid tumours, 5th edition.**\n\n* 9597: Primary cutaneous follicle center lymphoma (PCFCL)\n* 9680: Primary cutaneous diffuse large B-cell lymphoma, leg type (PCLBCL-LT) \n* 9708: Subcutaneous panniculitis-like T-cell lymphoma (SPTCL)\n* 9709: Primary cutaneous peripheral T-cell lymphoma (NOS) (pcPTCL)\n* 9712: Intravascular (large) B-cell lymphoma (IVLBCL)\n* 9718: Primary cutaneous anaplastic large cell lymphoma (C-ALCL)\n* 9719: Extranodal NK-/T-cell lymphoma (ENKTL)\n* 9726: Primary cutaneous gamma-delta T-cell lymphoma (PCGD-TCL)\n\n**Note 5:** **Peripheral blood or bone marrow involvement** \n* If there is peripheral blood or bone marrow involvement, code 7.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Hematologic Malignancies**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Rosen, S.T., Jaffe, E.S., Leonard, J.P., et al. **Primary Cutaneous Lymphomas**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-09-26T14:54:17.144Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only**\n- Solitary lesion\n- Solitary skin involvement" ], [ "2", "**Regional by direct extension only**\n- Multiple lesions confined to one or two contiguous body regions\n- Multiple lesions, NOS\n- Regional skin involvement" ], [ "3", "**Regional lymph node(s) involved only** \n- Central\n- Peripheral node region that drains an area of current or prior skin involvement \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Blood/peripheral blood\n + Bone marrow\n + Extracutaneous non-lymph node disease present\n + Generalized skin involvement\n + Multiple lesions confined to discontiguous body regions\n + Multiple lesions confined to three or more contiguous body regions\n + Visceral (non-cutaneous) metastasis\n\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_prostate_76172.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_prostate_76172.json deleted file mode 100644 index 8b991ee4b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_prostate_76172.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_prostate_76172", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Prostate", - "title" : "Summary Stage 2018: Prostate", - "subtitle" : "Summary Stage 2018", - "notes" : "**Prostate**\n\n8000-8700, 8720-8790\n\nC619\nC619 Prostate gland\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 58 *Prostate*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Prostate sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Transitional cell carcinoma of prostatic urethra** \n* See the *Urethra* chapter for transitional cell (urothelial) carcinoma of the prostatic urethra (C680).\n\n**Note 4:** **TURP only** \n* When the only information available is a TURP, with no evidence of lymph node involvement or distant metastasis involvement, assign code 1.\n\n**Note 5:** **Do not use imaging** \n* Imaging is not used to determine clinical extension. If a physician incorporates imaging findings into their evaluation, do not use this information. \n* If it cannot be determined if the physician is using imaging, assume they are not and code the Summary Stage based on the physician’s statement\n\n**Note 6:** **No DRE, but physician assigns stage** \n* If there is no information from the DRE, but the physician assigns an extent of disease, the registrar can use that.\n * ***Example:*** DRE reveals prostate is \"firm.\" Physician stages the patient as a cT2a. \n * The T2a (localized) can be used since the physician has documented this\n\n**Note 7:** **Localized cancers** \n* Localized (code 1) can be assigned when the DRE result is not documented, or DRE not done and there is no evidence of extraprostatic extension\n * ***Example 1:*** Patient with elevated PSA and positive needle core biopsy, but no documentation regarding tumor apparency (inapparent versus apparent), and there is no evidence of extraprostatic extension. No prostatectomy done \n * ***Example 2:*** Pathology report from a needle core biopsy done confirming cancer. No information on PSA, DRE, Radical prostatectomy, or physician statement regarding clinical extension\n * ***Example 3:*** Pathology report from a needle core biopsy done confirming cancer. No information on PSA, DRE or physician statement regarding clinical extension. Physician states imaging shows extraprostatic extension and assigns cT3a\n\n**Note 8:** **Extraprostatic extension** \n* If a needle core biopsy confirms extraprostatic extension, that information can be used for Summary Stage. \n\n**Note 9:** **Involvement of prostatic urethra** \n* Involvement of prostatic urethra does not alter the Summary Stage code.\n\n**Note 10:** **Frozen pelvis** \n* \"Frozen pelvis\" is a clinical term which means tumor extends to pelvic sidewall(s) (code 7).\n\n**Note 11:** **Incidental finding** \n* When prostate cancer is an incidental finding during a prostatectomy for other reasons (for example, a cystoprostatectomy for bladder cancer), use the appropriate code for the extent of disease found.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Buyyounouski, M.K., Lin, D.W., et al. **Prostate**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T18:16:12.363Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ**, intraepithelial, noninvasive" ], [ "1", "**Localized only (localized, NOS)**\n- Clinically apparent or inapparent tumor \n- Confined to prostate, NOS\n- Intracapsular involvement only\n- Invasion into (but not beyond) prostatic capsule\n- No extracapsular extension\n- One or more lobes involved" ], [ "2", "**Regional by direct extension only**\n- Bladder neck\n- Bladder, NOS\n- External sphincter\n- Extraprostatic/extracapsular extension (beyond prostate capsule), unilateral, bilateral, NOS\n- Extraprostatic urethra (membranous urethra)\n- Fixation, NOS\n- Levator muscles\n- Periprostatic tissue\n- Rectovesical (Denonvillier's) fascia\n- Rectum\n- Seminal vesicles\n- Skeletal muscle\n- Through capsule, NOS\n- Ureter(s)" ], [ "3", "**Regional lymph node(s) involved only** \n- Hypogastric\n- Iliac, NOS\n + External\n + Internal (hypogastric) (obturator), NOS\n- Pelvic, NOS\n- Periprostatic\n- Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontory) (Gerota's node)\n + Presacral \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Bone\n + Extension to or fixation to pelvic wall or pelvic bone\n + \"Frozen pelvis\", NOS \n + Other organs\n + Penis\n + Sigmoid colon\n + Soft tissue other than periprostatic\n- Distant lymph node(s), NOS\n + Aortic (lateral [lumbar], para-aortic, periaortic, NOS)\n + Cervical\n + Common iliac\n + Inguinal (deep, NOS)\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial (femoral)\n + Retroperitoneal, NOS\n + Scalene (inferior deep cervical)\n + Supraclavicular (transverse cervical)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_respiratory_other_36695.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_respiratory_other_36695.json deleted file mode 100644 index c4d0c4a49..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_respiratory_other_36695.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_respiratory_other_36695", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Respiratory Other", - "title" : "Summary Stage 2018: Respiratory Other", - "subtitle" : "Summary Stage 2018", - "notes" : "**Respiratory Other**\n\n8000-8700, 8720-8790\n\nC390, C398-C399\nC390 Upper respiratory tract, NOS\nC398 Overlapping lesion of respiratory system and intrathoracic organs\nC399 Ill-defined sites within respiratory system\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n\n**Note 2:** **Other Summary Stage Chapters with other Respiratory sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2024-05-15T18:12:22.218Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to site of origin" ], [ "2", "**Regional by direct extension only**\n- Adjacent organ(s)/structure(s)/adjacent connective tissue\n + Descending aorta\n + Esophagus\n + Large (named) artery(ies)\n + Large (named) vein(s)\n + Pericardium (parietal, visceral [pericardium]) \n + Phrenic nerve(s)\n + Pleura (parietal, visceral, NOS)\n + Sternum\n + Sympathetic nerve trunk(s)\n + Thoracic duct\n + Thymus\n + Trachea\n + Vertebra(e)" ], [ "3", "**Regional lymph node(s) involved only**\n- Aortic (above diaphragm), NOS\n + Peri/para-aortic, NOS\n * Ascending aorta (phrenic)\n * Subaortic (aortico-pulmonary window)\n- Carinal (tracheobronchial) (tracheal bifurcation)\n- Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n- Intrapulmonary, NOS\n + Interlobar\n + Lobar\n + Segmental\n + Subsegmental\n - Mediastinal, NOS\n + Anterior\n + Posterior (tracheoesophageal)\n- Peri/parabronchial\n- Pericardial\n- Peri/paraesophageal\n- Peri/paratracheal, NOS\n + Azygos (lower peritracheal)\n- Pre- and retrotracheal, NOS:\n + Precarinal\n- Pulmonary ligament\n- Subcarinal\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_retinoblastoma_45411.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_retinoblastoma_45411.json deleted file mode 100644 index 5ce4df099..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_retinoblastoma_45411.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_retinoblastoma_45411", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018:Retinoblastoma", - "title" : "Summary Stage 2018: Retinoblastoma", - "subtitle" : "Summary Stage 2018", - "notes" : "**Retinoblastoma**\n\n9510-9514\n\nC690-C696, C698-C699\nC690 Conjunctiva \nC691 Cornea, NOS \nC692 Retina \nC693 Choroid \nC694 Ciliary Body \nC695 Lacrimal Gland \nC696 Orbit, NOS \nC698 Overlapping lesion of eye and adnexa \nC699 Eye, NOS \n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 68 *Retinoblastoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Not applicable codes** \n* Code 0 is not applicable for this chapter.\n\n**Note 3:** **Enucleation** \n* Pathological staging information from an enucleation always takes precedence over clinical staging\n * *Exception*: Cases with neoadjuvant treatment where clinical disease is as extensive as or more extensive than disease at surgery.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Mallipatna, A.C., Finger, P.T., et al. **Retinoblastoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T17:56:53.129Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only (localized, NOS)**\n- Confined to retina, NOS\n- Intraocular tumor(s) WITH local invasion, NOS\n + Choroid (concomitant focal invasion)\n + Pre- or intralaminar involvement of optic nerve head\n + Retinal detachment\n + Schlemm's canal\n + Stromal invasion iris\n + Subretinal seeding\n + Trabecular meshwork \n + Vitreous seeding\n- Advanced intraocular tumor(s) WITH significant local invasion\n + Anterior chamber\n + Aseptic orbital cellulitis\n + Buphthalmos\n + Choroid (multiple foci, focal, full-thickness involvement)\n + Ciliary body\n + Emissary channels\n + Hyphema AND/OR massive vitreous hemorrhage\n + Iris\n + Lens\n + Pars plana\n + Phthisis or pre-phthisis bulbi\n + Raised intraocular pressure with neovascularization \n + Retrolaminar invasion of optic nerve head\n + Sclera\n + Zonules" ], [ "2", "**Regional by direct extension only**\n- Extraocular tumor\n + Adjacent adipose tissue\n + Bone\n + Conjunctiva\n + Episclera\n + Extraocular muscle\n + Eyelids\n + Meningeal spaces (around optic nerve)\n + Optic nerve (clinical thickening)\n + Optic nerve (retrobulbar, extraocular) \n + Orbit\n + Orbital tissue (includes clinical orbital tissue thickening)" ], [ "3", "**Regional lymph node(s) involved only**\n- Cervical, NOS\n- Mandibular, NOS\n + Submandibular (submaxillary)\n- Parotid\n + Infra-auricular\n + Preauricular\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Cerebrospinal fluid\n + CNS parenchyma\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_sinus_other_excluding_melanoma_8720_8790_91859.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_sinus_other_excluding_melanoma_8720_8790_91859.json deleted file mode 100644 index 806465dfd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_sinus_other_excluding_melanoma_8720_8790_91859.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_sinus_other_excluding_melanoma_8720_8790_91859", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Sinus Other", - "title" : "Summary Stage 2018: Sinus Other", - "subtitle" : "Summary Stage 2018", - "notes" : "**Sinus Other**\n\n8000-8700\n\nC312-C313, C318-C319\nC312 Frontal sinus \nC313 Sphenoid sinus\nC318 Overlapping lesion of accessory sinuses\nC319 Accessory sinus, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n\n**Note 2:** **Other Summary Stage Chapters with other Sinus sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2024-05-16T17:48:42.550Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to mucosa of one of the following\n + Frontal sinus\n + Sphenoid sinus" ], [ "2", "**Regional by direct extension only**\n- Accessory sinuses invaded (more than one)\n + Destruction of bony wall of sinus\n- Bone, cartilage\n + Facial bones\n + Maxilla\n + Orbital structures\n + Pterygoid fossa\n + Zygoma\n- Brain\n- Cranial nerves\n- Hard palate\n- Muscles\n + Masseter\n + Pterygoid \n- Nasal cavity\n + Floor\n + Lateral wall\n + Nasal cavity, NOS\n + Septum\n + Turbinates\n- Nasopharynx\n- Orbital contents, including eye\n- Soft tissue\n- Skin" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Meninges\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s))\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_skin_of_eyelid_82925.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_skin_of_eyelid_82925.json deleted file mode 100644 index ab8936592..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_skin_of_eyelid_82925.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_skin_of_eyelid_82925", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Skin Eyelid", - "title" : "Summary Stage 2018: Skin Eyelid", - "subtitle" : "Summary Stage 2018", - "notes" : "**Skin Eyelid**\n\n8000-8040, 8042-8180, 8191-8246, 8248-8700, 8940-8941, 8980\n\nC441\nC441 Eyelid\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 64 *Eyelid Carcinoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Skin eyelid sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Skin**: 8720-8790\n* **Merkel Cell Skin**: 8041, 8190, 8247\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8950-8975, 8981-9138, 9141-9514, 9520-9582\n\n**Note 3:** **Multiple simultaneous tumors** \n* Code the tumor with the greatest extension when there are multiple simultaneous tumors.\n\n**Note 4:** **Full eyelid thickness** \n* Full eyelid thickness (code 1) is defined as including skin, orbicularis muscle, tarsus and conjunctiva (palpebral).", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Esmaeli, B., Finger, P.T., et al. **Eyelid Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T17:44:52.610Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive** \n- Bowen disease" ], [ "1", "**Localized only (localized, NOS)**\n- Eyelid margin\n- Full thickness of eyelid (see Note 4)\n- Lesion(s) confined to dermis\n- Minimal infiltration of dermis\n- Subcutaneous tissue (through entire dermis)\n- Underlying orbicularis muscle\n- Tarsal plate\n- Tarsus" ], [ "2", "**Regional by direct extension only**\n- Adjacent structures, NOS\n- Bone/periosteum of orbit\n- Bony walls of orbit (invades or evades through)\n- Bulbar conjunctiva\n- Intraorbital structures, NOS\n- Lacrimal sac\n- Ocular structures\n- Sclera\n- Skeletal muscles (except orbicularis muscle of eyelid)\n- Soft tissues of orbit\n- Underlying cartilage" ], [ "3", "**Regional lymph node(s) involved only**\n- Buccinator (buccal)\n- Cervical, NOS\n- Facial, NOS\n- Intraparotid\n- Nasolabial\n- Parotid\n + Infra-auricular\n + Preauricular\n- Submandibular [submaxillary]\n- Submental\n- Supraclavicular, NOS \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Brain\n + Central nervous system (CNS)\n + Nasal cavity\n + Nasolacrimal duct\n + Other craniofacial structures\n + Paranasal sinus\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s), NOS\n + Metastatic skin lesions with or without distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_skin_other_56341.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_skin_other_56341.json deleted file mode 100644 index 2fb91ffb1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_skin_other_56341.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_skin_other_56341", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Skin (except Eyelid)", - "title" : "Summary Stage 2018: Skin (except Eyelid)", - "subtitle" : "Summary Stage 2018", - "notes" : "**Skin (except Eyelid)**\n\n8000-8040, 8042-8180, 8191-8246, 8248-8700, 8940, 8982\n\nC000-C002, C006, C440, C442-C449\nC000 External upper lip\nC001 External lower lip\nC002 External lip, NOS\nC006 Commissure of lip\nC440 Skin of lip, NOS\nC442 External ear \nC443 Skin of other and unspecified parts of face \nC444 Skin of scalp and neck\nC445 Skin of trunk \nC446 Skin of upper limb and shoulder\nC447 Skin of lower limb and hip \nC448 Overlapping lesion of skin\nC449 Skin, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* For *primary sites C000-C002, C006, C440, C442-C444*, Chapter 15 *Cutaneous Carcinoma Head and Neck*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Skin sites** \n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Skin**: 8720-8790\n* **Merkel cell skin**: 8041, 8190, 8247\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8941-8981, 8983-9138, 9141-9582\n\n**Note 3:** **Only staging system (C445-C449)** \n* Summary Stage is the only applicable staging system for primary sites C445-C449.\n\n**Note 4:** **Bilateral or contralateral nodes** \n* Bilateral or contralateral nodes are classified as regional nodes for head, neck, and truncal tumors with bidirectional drainage to primary nodal basins, as shown on lymphoscintigraphy. \n * Truncal tumors may also drain to both cephalad and caudal primary nodal basins as shown on lymphoscintigraphy.\n* Clinical assessment of bilateral/contralateral or cephalad/caudal regional nodal involvement is required for tumors where lymphoscintigraphy is not performed\n\n**Note 5:** **Nodal basins** \n* Contiguous or secondary nodal basins are the next nodal drainage basins beyond the primary nodal basins and are coded as regional nodes.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Califano, J.A., Lydiatt, W.M., Shah, J.P., et al. **Cutaneous Carcinoma of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2025-11-07T15:39:07.793Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepidermal, intraepithelial, noninvasive** \n- Carcinoma in situ" ], [ "1", "**Localized only (localized, NOS)**\n- Lesion(s) confined to dermis\n- Subcutaneous tissue (through entire dermis)" ], [ "2", "**Regional by direct extension only**\n- All Sites\n + Bone\n + Cartilage\n + Skeletal muscle\n + Underlying cartilage\n- Head and Neck skin primaries only (C000-C002, C006, C440, C442-C444)\n + Bone erosion (minor or NOS)\n + Deep invasion\n + Gross cortical bone/marrow\n + Mandible\n + Maxilla\n + Orbital bone\n + Perineural invasion\n + Skull base foramen \n + Skull base invasion\n + Temporal bone" ], [ "3", "**Regional lymph node(s) involved only**\n- All sites (Single, Multiple, Ipsilateral) (See Code 7 for contralateral or bilateral nodes (except for head and neck skin primaries))\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Head and Neck skin primaries only (C000-C002, C006, C440, C442-C444) (includes contralateral and bilateral nodes)\n + Levels I-VII \n + Axillary (neck only, C444)\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial (buccinator, buccal, nasolabial)\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid (infraauricular, intraparotid, periparotid, preauricular)\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Skin of trunk (C445)\n + Upper trunk\n * Axillary\n * Cervical\n * Internal mammary\n * Supraclavicular\n + Lower trunk\n * Superficial inguinal (femoral) (lower trunk only)\n- Skin of upper limb and shoulder (C446)\n + Axillary\n + Cervical\n + Epitrochlear for hand/forearm\n + Internal mammary (parasternal)\n + Spinal accessory for shoulder\n + Supraclavicular (transverse cervical)\n- Skin of lower limb and hip (C447)\n + Femoral (superficial inguinal)\n + Inguinal\n + Popliteal for heel and calf" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_small_intestine_including_net_85335.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_small_intestine_including_net_85335.json deleted file mode 100644 index efe961fc7..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_small_intestine_including_net_85335.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_small_intestine_including_net_85335", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Small Intestine", - "title" : "Summary Stage 2018: Small Intestine", - "subtitle" : "Summary Stage 2018", - "notes" : "**Small Intestine**\n\n8000-8700, 8720-8790\n\nC170-C173, C178-C179\nC170 Duodenum\nC171 Jejunum\nC172 Ileum (excluding ileocecal valve C18.0)\nC173 Meckel diverticulum (site of neoplasm)\nC178 Overlapping lesion of small intestine\nC179 Small intestine, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 18 *Small Intestine*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Chapter 30 *Neuroendocrine Tumors of the Duodenum and Ampulla of Vater*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Chapter 31 *Neuroendocrine Tumors of the Jejunum and Ileum*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* *Neuroendocrine Tumors of the Duodenum and Ampulla of Vater,* from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.\n* *Neuroendocrine Tumors of the Jejunum and Ileum,* from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters Small Intestine sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Coit, D.G., Kelsen, D., Hofstetter, W.L., et al. **Small Intestine**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Bergsland, E.K., Woltering, E.A., Klimstra, D.S., et al. **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) Woltering, E.A., Bergsland, E.K., et al. **Neuroendocrine Tumors of the Jejunum and Ileum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(8) **Neuroendocrine Tumors of the Duodenum and Ampulla of Vater,** from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n(9) **Neuroendocrine Tumors of the Jejunum and Ileum**, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2024-05-16T17:32:27.909Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive** \n- (Adeno)carcinoma, noninvasive, in a polyp or adenoma" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to small intestine, NOS\n- Extension through wall, NOS\n- Intraluminal spread to other segments of small intestine or cecum\n- Invasion of\n + Intramucosa, NOS\n + Lamina propria\n + Mucosa, NOS\n + Muscularis mucosae\n + Muscularis, NOS\n + Muscularis propria\n + Submucosa (superficial invasion)\n- Polyp (head, stalk, NOS)\n- Subserosal tissue/(sub)serosal fat invaded\n- Transmural, NOS \n- Wall, NOS" ], [ "2", "**Regional by direct extension only**\n- All sites\n + Abdominal wall (via serosa)\n + Adjacent organ(s)/structure(s)\n + Adjacent tissue(s) (connective), NOS\n + Fat, NOS\n + Mesenteric fat\n + Mesentery (adjacent loops of bowel)\n + Mesothelium\n + Nonperitonealized perimuscular tissue\n + Other loops of small intestine\n + Other segments of small intestine (via serosa)\n + Retroperitoneum\n + Serosa\n + Tunica serosa\n + Visceral peritoneum\n- Duodenum (C170)\n + Ampulla of Vater \n + Blood vessel(s), major\n * Aorta\n * Gastroduodenal artery\n * Portal vein\n * Renal vein\n * Superior mesenteric artery or vein\n * Vena cava\n + Diaphragm\n + Extrahepatic bile duct(s)\n + Gallbladder\n + Hepatic flexure\n + Kidney (right or NOS)\n + Liver (quadrate lobe, right lobe or NOS)\n + Omentum\n + Pancreas (pancreatic duct)\n + Stomach\n + Transverse colon\n + Ureter, right\n- Jejunum and Ileum (C171, C172)\n + Colon including appendix" ], [ "3", "**Regional lymph node(s) involved only**\n- All sites\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Duodenum (C170)\n + Duodenal\n + Gastroduodenal\n + Hepatic \n + Pancreaticoduodenal (inferior)\n + Pericholodochal (common bile duct)\n + Pyloric (infrapyloric, subpyloric, NOS)\n + Retropancreatic\n + Superior mesenteric\n- Jejunum and ileum (C171, C172)\n + Cecal (anterior, posterior, retrocecal) (terminal ileum only)\n + Ileocecal (ileocolic) (terminal ileum only)\n + Mesenteric, NOS\n + Superior mesenteric" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + Jejunum and Ileum (C171, C172)\n * Bladder\n * Fallopian tube(s)\n * Ovary(ies)\n * Uterus\n- Distant lymph node(s), NOS\n + Celiac \n + Pericholedochal (jejunum and ileum only)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_31311.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_31311.json deleted file mode 100644 index 89ba0d876..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_31311.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_soft_tissue_31311", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Soft Tissue and Sarcomas (excluding Heart, Mediastinum, Retroperitoneum)", - "title" : "Summary Stage 2018: SS2018: Soft Tissue and Sarcomas", - "subtitle" : "Summary Stage 2018", - "notes" : "**Soft Tissue and Sarcomas**\n\nC470-C479, C490-C499: 8000-8934, 8940-9138, 9141-9582\n\nC000-C399, C420-C449, C480-C488, C500-C539, C569-C574, C577-C579, C589-C809: varying histologies between 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\nC700-C721, C728-C729: 8710-8714, 8800-8801, 8803, 8811-8814, 8816-8818, 8820-8842, 8851-8858, 8860-8881, 8891-8898, 8902-8905, 8921, 8932-8934, 8940-8990, 8992, 9000-9016, 9030-9043, 9045-9063, 9065, 9072-9073, 9081-9083, 9086-9091, 9110-9111, 9121-9132, 9135-9138, 9141-9175, 9181-9213, 9221, 9230, 9240-9361, 9363, 9365, 9370-9373, 9541-9580, 9582 (2018-2022)\n* For years 2023+, see the following Summary Stage chapters based on primary sites:\n * C700, C710-C719: *Brain*\n * C701, C709, C720-C729: *CNS Other*\n\nC722, C724-C725, C751-C753: 8710, 8712-8714, 8803, 8812-8814, 8816-8824, 8826-8831, 8834-8836, 8841-8842, 8851, 8853, 8855-8857, 8860-8881, 8891-8898, 8902-8905, 8921, 8932-8934, 8940-8990, 9000-9016, 9030, 9042, 9045-9063, 9065, 9072-9073, 9081-9083, 9086-9091, 9101-9111, 9121-9132, 9135, 9137-9138, 9141-9175, 9181-9213, 9221, 9230, 9240-9250, 9252-9361, 9363, 9365, 9370-9373, 9541, 9550, 9560, 9562-9571, 9582\n* For years 2023+, see the following Summary Stage chapters based on primary sites:\n * C722, C724-C725: *CNS Other*\n * C751-C753: *Intracranial Gland*\n\n*See Summary Stage 2018 Manual, Appendix II by primary site for a detailed listing of primary site/histology combinations for this chapter*\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 40 *Soft Tissue Sarcoma of the Head and Neck*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Chapter 41 *Soft Tissue Sarcoma of the Trunk and Extremities*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Chapter 42 *Soft Tissue Sarcoma and of the Abdomen and Thoracic Visceral Organs*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Chapter 45 *Soft Tissue Sarcoma - Unusual Histologies and Sites*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **C470-C490, C490-C499** \n* For C470-C479, C490-C499 only, see the following schemas for the listed histologies \n * **GIST**: 8935-8936\n * **Kaposi Sarcoma**: 9140\n * **Mycosis Fungoides**: 9700-9701\n\n**Note 3:** **Not applicable codes** \n* Code 0 is not applicable for this chapter.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) O'Sullivan, B., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Head and Neck**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) Yoon, S.S., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Trunk and Extremities**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(8) Raut, C.P., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Abdomen and Thoracic Visceral Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(9) Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma - Unusual Histologies and Sites**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T17:03:32.225Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only (localized, NOS)**\n- Confined to site of origin\n- Deep tumor, NOS\n- Superficial tumor, NOS" ], [ "2", "**Regional by direct extension only**\n- Adjacent (connective) tissue, NOS\n + Into tissue beyond organ\n- Adjacent organ(s)/structure(s), NOS\n- Major vessel invasion\n- Superficial or deep tumor WITH involvement of\n + adjacent (connective) tissue or adjacent organ(s)/structure(s)\n- Abdomen and Thoracic Visceral Organs\n + Mesentery\n + Serosa\n + Visceral peritoneum" ], [ "3", "**Regional lymph node(s) involved only**\n- Head and Neck \n + Cervical\n- Lip\n + Facial, NOS\n + Buccinator (buccal)\n + Mandibular (submandibular, submaxillary, submental)\n + Nasolabial\n + Parotid (infra-auricular, preauricular) \n- Eyelid/canthus\n + Facial (buccinator [buccal], nasolabial, NOS)\n + Mandibular (submandibular, submaxillary, submental)\n + Parotid, NOS (infra-auricular)\n- External ear and auditory canal\n + Mastoid (posterior, retro-auricular) (occipital)\n + Preauricular\n- Face, Other (cheek, chin, forehead, jaw, nose, and temple):\n + Facial, NOS (buccinator [buccal], nasolabial) \n + Mandibular (submandibular, submaxillary, submental)\n + Parotid (infra-auricular, preauricular)\n- Scalp\n + Mastoid (posterior, retro-auricular) (occipital)\n + Parotid (infra-auricular, preauricular)\n + Spinal accessory (posterior cervical)\n- Neck\n + Axillary\n + Mandibular\n + Mastoid (posterior, retro-auricular) (occipital)\n + Parotid (infra-auricular, preauricular)\n + Spinal accessory (posterior cervical)\n + Submental (bilateral or contralateral)\n + Supraclavicular (transverse cervical)\n- Arm/shoulder\n + Axillary\n + Epitrochlear for hand/forearm\n + Spinal accessory for shoulder\n - Leg/hip\n + Femoral (superficial inguinal)\n + Popliteal for heel and calf\n- Thorax\n + Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n + Mediastinal\n - Abdomen\n + Celiac\n + Iliac\n + Para-aortic\n- Pelvis\n + Deep inguinal, NOS\n + Rosenmuller or Cloquet node\n + Superficial inguinal (femoral)\n- Upper trunk\n + Axillary\n + Cervical\n + Internal mammary\n + Supraclavicular (transverse cervical)\n - Lower trunk\n + Superficial inguinal (femoral)\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Head and Neck subsites\n * Brain parenchymal invasion\n * Carotid artery encasement\n * Central compartment visceral\n * Central nervous system involvement via perineural spread\n * Fascial skeleton\n * Orbital invasion\n * Prevertebral muscle invasion\n * Pterygoid muscles\n * Skull base/dural invasion\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_heart_mediastinum_pleura_63956.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_heart_mediastinum_pleura_63956.json deleted file mode 100644 index 45f5b2824..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_heart_mediastinum_pleura_63956.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_soft_tissue_heart_mediastinum_pleura_63956", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Heart, Mediastinum and Pleura", - "title" : "Summary Stage 2018: Heart, Mediastinum and Pleura", - "subtitle" : "Summary Stage 2018", - "notes" : "**Heart, Mediastinum and Pleura**\n\n8000-8803, 8810-8921, 8932-8934, 8940-8990, 9000-9016, 9030, 9040-9043, 9045-9138, 9141-9230, 9240-9580, 9582 (excluding 9050-9053 for C384)\n\nC380-C384, C388\nC380 Heart\nC381 Anterior mediastinum\nC382 Posterior mediastinum\nC383 Mediastinum, NOS\nC384 Pleura\nC388 Overlapping lesion of heart, mediastinum, and pleura\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 42 *Soft Tissue Sarcoma of the Abdomen and Thoracic Visceral Organs*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Heart, Mediastinum, and Pleura sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Pleural Mesothelioma**: 9050-9053 (C384)\n* **Soft Tissue**: 8804-8806, 8930-8931, 8991-8992, 9020, 9044, 9231, 9581\n\n**Note 3:** **Not applicable codes** \n* Code 0 is not applicable for this chapter.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Raut, C.P., Maki, R.G., Pollock, R.E., et al. **Soft Tissue Sarcoma of the Abdomen and Thoracic Visceral Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-18T14:49:23.798Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only (localized, NOS)**\n- Confined to site of origin" ], [ "2", "**Regional by direct extension only**\n- All sites\n + Adjacent (connective) tissue, NOS\n + Adjacent organ(s)/structure(s), NOS\n + Mesentery\n + Serosa\n + Visceral peritoneum\n- Heart (C380)\n + Ascending aorta\n + Parietal pericardium\n + Vena cava\n- Mediastinum (C381-C383, C388)\n + Descending aorta\n + Esophagus\n + Large (named) artery(ies) or vein(s)\n + Pericardium (parietal, visceral [pericardium], NOS)\n + Phrenic nerve(s)\n + Pleura (parietal, visceral, NOS)\n + Sternum\n + Sympathetic nerve trunk(s)\n + Thoracic duct\n + Thymus\n + Trachea, parietal pleura\n + Vertebra(e)\n- Pleura (C384)\n + Chest wall\n + Diaphragm\n + Endothoracic fascia\n + Heart muscle\n + Lung involvement, NOS\n + Mediastinal organs or tissues\n + Pericardium\n + Rib" ], [ "3", "**Regional lymph node(s) involved only**\n- All sites\n + Aortic (above diaphragm), NOS\n * Peri/para-aortic, NOS\n - Ascending aorta (phrenic)\n * Subaortic (aortico-pulmonary window)\n + Carinal (tracheobronchial) (tracheal bifurcation)\n + Mediastinal (anterior, posterior [tracheoesophageal], NOS)\n + Pericardial\n + Peri-/paraesophageal\n + Peri-/paratracheal (lower [azygos], upper, NOS)\n + Pretracheal and retrotracheal (precarinal), NOS\n + Pulmonary ligament\n + Subcarinal\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Pleura (C384)\n + Hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n + Intrapulmonary, NOS\n + Interlobar\n + Lobar\n * Segmental\n * Subsegmental\n + Peri/parabronchial\n + Precarinal" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Pleura \n * Cervical (neck) tissues\n * Contralateral lung\n * Contralateral pleura\n * Intra-abdominal organs\n * Peritoneum\n * Pleural effusion\n- Distant lymph node(s), NOS\n + Pleura\n * Contralateral/bilateral hilar (bronchopulmonary) (proximal lobar) (pulmonary root)\n * Contralateral/bilateral mediastinal\n * Scalene (inferior deep cervical), ipsilateral or contralateral\n * Supraclavicular (transverse cervical), ipsilateral or contralateral\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_retroperitoneum_5644.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_retroperitoneum_5644.json deleted file mode 100644 index 7225e858b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_soft_tissue_retroperitoneum_5644.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_soft_tissue_retroperitoneum_5644", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Retroperitoneum", - "title" : "Summary Stage 2018: Retroperitoneum", - "subtitle" : "Summary Stage 2018", - "notes" : "**Retroperitoneum**\n\nC480 (8000-8803, 8810-8921, 8932-8934, 8940-8990, 9000-9016, 9030-9043, 9045-9138, 9141-9230, 9240-9580, 9582) \n\nC481- C482, C488 (8710-8714, 8800-8803, 8810-8821, 8823-8921, 8932, 8934, 8940-8941, 8951-8959, 8963-8975, 8981-8990, 9010-9016, 9030-9043, 9045, 9051, 9053-9055, 9061-9065, 9072, 9081-9084, 9086, 9101-9105, 9120-9138, 9141-9230, 9240-9580, 9582)\n\nC481-C482, C488 and Sex: 1, 3, 4, 5, 9 (8000-8700, 8720-8790, 8822, 8933, 8950, 8960, 8980, 9000, 9050, 9052, 9060, 9070-9071, 9073, 9080, 9085, 9090-9091, 9100, 9110)\n\nC480-C482, C488\nC480 Retroperitoneum\nC481 Specified parts of peritoneum (including omentum and mesentery)\nC482 Peritoneum, NOS\nC488 Overlapping lesion of retroperitoneum and peritoneum\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 44 *Soft Tissue Sarcoma of the Retroperitoneum*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Retroperitoneum sites**\n* **Primary Peritoneal Carcinoma**: C481-C482, C488 and Sex: 2, 6 (8000-8700, 8720-8790, 8806, 8822, 8930-8931, 8933, 8950, 8960, 8980, 9000, 9050, 9052, 9060, 9070-9071, 9073, 9080, 9085, 9090-9091, 9100, 9110-9111)\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue** \n * C480; C481-C488 with Sex 1, 3, 5, 9 (8806, 8930-8931)\n * 8804-8805, 8991-8992, 9020, 9044, 9231, 9581\n\n**Note 3:** **Not applicable codes** \n* Code 0 is not applicable for this chapter.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Pollock, R.E., Maki, R.G. **Introduction to Soft Tissue Sarcoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Pollock, R.E., Maki, R.G., et al. **Soft Tissue Sarcoma of the Retroperitoneum**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T17:51:30.244Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only (localized, NOS)**\n- Confined to site of origin" ], [ "2", "**Regional by direct extension only**\n* All sites\n - Adjacent connective tissue, NOS\n - Adjacent organs/structures, NOS\n - Bone/cartilage \n* Retroperitoneum (C480)\n + Adrenal(s) (suprarenal gland(s))\n + Aorta\n + Colon (ascending and descending)\n + Kidney(s)\n + Pancreas\n + Vena cava\n + Vertebra\n- Peritoneum (C481, C482, C488)\n + Colon (except ascending and descending colon)\n + Esophagus\n + Gallbladder\n + Liver\n + Small intestine\n + Spleen\n + Stomach" ], [ "3", "**Regional lymph node(s) involved only**\n- Intra-abdominal\n- Paracaval\n- Pelvic\n- Subdiaphragmatic \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Peritoneum (C481, C482, C488)\n * Colon (ascending and descending colon) \n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant mets WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_stomach_including_net_stomach_35647.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_stomach_including_net_stomach_35647.json deleted file mode 100644 index eefa5fd8f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_stomach_including_net_stomach_35647.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_stomach_including_net_stomach_35647", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Stomach", - "title" : "Summary Stage 2018: Stomach", - "subtitle" : "Summary Stage 2018", - "notes" : "**Stomach**\n\nC160 and Schema Discriminator 1: EsophagusGEJunction (EGJ)/Stomach: 0, 3, 9 (8000-8149, 8154, 8160-8231, 8243-8248, 8250-8682, 8690-8700, 8720-8790, 8976)\n\nAll Other sites: 8000-8149, 8154, 8160-8231, 8243-8248, 8250-8682, 8690-8700, 8720-8790, 8976\n\nAll sites: 8150-8153, 8155-8156, 8158, 8240-8242, 8249, 8683\n\nC160-C166, C168-C169\nC160 Cardia of stomach\nC161 Fundus of stomach\nC162 Body of stomach\nC163 Gastric antrum\nC164 Pylorus\nC165 Lesser curvature of stomach, NOS\nC166 Greater curvature of stomach, NOS\nC168 Overlapping lesion of stomach\nC169 Stomach, NOS\n\n**Note 1:** **Sources used in the development of this schema**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 17 *Stomach*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Chapter 29 *Neuroendocrine Tumors of the Stomach*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* *Neuroendocrine Tumors of the Stomach*, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other EOD Schemas with Stomach sites**\n* **Esophagus**: C160 and Schema Discriminator 1: EsophagusGEJunction (EGJ)/Stomach: 2 (8000-8149, 8154, 8157, 8160-8231, 8243-8248, 8250-8682, 8690-8700, 8720-8790)\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Esophagogastric junction** \n* If a tumor involves the esophagogastric junction (EGJ) and its epicenter is less than or equal to 2 cm into the proximal stomach (i.e. less than or equal to 2 cm distal to the EGJ\n * Use the *Esophagus (excluding GIST)* chapter for summary stage \n* Tumors involving the EGJ with their epicenter >2 cm into the proximal stomach (i.e., >2cm distal to the EGJ) are now classified using the *Stomach* chapter. \n * Use the *Stomach* chapter for Summary Stage\n * Includes cardia cancers that do not invade the EGJ . \n* **Schema Discriminator** \n * Schema Discriminator 1: EsophagusGEJunction (EGJ)/Stomach is used to discriminate between EsophagusGEjunction and Stomach which are coded to ICD-O-3 code C160.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Ajani, J.A., In, H., Sano, T., Hofstetter, W.L., et al. **Stomach**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Woltering, E.A., Bergsland, E.K., et al. **Neuroendocrine Tumors of the Stomach**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) **Neuroendocrine Tumors of the Stomach,** from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2024-05-16T17:18:51.842Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive** \n- (Adeno)carcinoma, noninvasive, in a polyp" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to stomach, NOS\n- Extension through wall, NOS\n- Implants within stomach\n- Intraluminal spread to esophagus or duodenum\n- Invasion of\n + Intramucosa, NOS\n + Lamina propria\n + Mucosa, NOS\n + Muscularis mucosae\n + Muscularis, NOS\n + Muscularis propria\n + Submucosa (superficial, NOS)\n- Linitis plastica (diffuse involvement of the entire stomach wall)\n- Perimuscular tissue invaded\n- Polyp (head, stalk, NOS)\n- Subserosal tissue/(sub)serosal fat" ], [ "2", "**Regional by direct extension only**\n- Adjacent (connective) tissue, NOS\n- Colon/mesocolon (including transverse and flexures)\n- Diaphragm\n- Duodenum (via serosa)\n- Esophagus (via serosa)\n- Gastric artery\n- Ileum\n- Jejunum\n- Ligaments \n + Gastrocolic\n + Gastrohepatic\n + Gastrosplenic\n- Liver\n- Mesothelium\n- Omentum (greater, lesser, NOS)\n- Pancreas\n- Perigastric fat\n- Serosa\n- Small intestine, NOS\n- Spleen\n- Tunica serosa\n- Visceral peritoneum" ], [ "3", "**Regional lymph node(s) involved only**\n- Celiac artery\n- Common hepatic artery\n- Hepatic, NOS\n- Left gastric (superior gastric), NOS\n + Cardial, NOS\n + Cardioesophageal \n + Gastric artery\n + Gastric, left\n + Gastrohepatic\n + Gastropancreatic, left\n + Lesser curvature\n + Lesser omentum\n + Paracardial\n- Pancreaticosplenic (pancreaticolineal)\n- Perigastric, NOS\n- Peripancreatic\n- Pyloric, NOS\n + Infrapyloric (subpyloric)\n + Suprapyloric \n- Right gastric (inferior gastric, NOS)\n + Gastrocolic\n + Gastroduodenal\n + Gastroepiploic (gastro-omental), right or NOS\n + Gastrohepatic\n + Greater curvature\n + Greater omentum\n + Pancreaticoduodenal \n- Splenic (lineal), NOS\n + Gastroepiploic (gastro-omental), left\n + Splenic hilar/hilum\n- Nodule(s) in perigastric fat\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Abdominal wall\n + Adrenal (suprarenal) gland\n + Aorta\n + Celiac axis\n + Kidney\n + Retroperitoneum\n- Distant lymph node(s), NOS\n + Hepatoduodenal (along the proper hepatic artery, including portal)\n + Intra-abdominal\n + Mesenteric (inferior, superior, NOS)\n + Middle colic\n + Pancreaticoduodenal (all subsites EXCEPT greater curvature)\n + Para-aortic\n + Porta hepatic (portal) (hilar) (in hilus of liver)\n + Retropancreatic\n + Retroperitoneal \n- Distant metastasis, NOS\n + Carcinomatosis\n + Krukenberg tumor (metastasis to ovary(ies))\n + Malignant (positive) peritoneal cytology\n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_testis_82848.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_testis_82848.json deleted file mode 100644 index d492aec3d..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_testis_82848.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_testis_82848", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Testis", - "title" : "Summary Stage 2018: Testis", - "subtitle" : "Summary Stage 2018", - "notes" : "**Testis**\n\n8000-8700, 8720-8790, 9061, 9064-9065, 9070-9071, 9080-9081, 9084-9085, 9100-9101, 9104-9105 \n\nC620-C621, C629\nC620 Undescended testis \nC621 Descended testis \nC629 Testis, NOS \n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 59 *Testis*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Testis sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9060, 9062-9063, 9072-9073, 9082-9083, 9086-9091, 9102-9103, 9110-9138, 9141-9582", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Brimo, F., Srigley, J.R., Lin, D.W., et al. **Testis**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T17:17:44.042Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive** \n- Germ cell neoplasia in situ\n- Intratubular germ cell neoplasia" ], [ "1", "**Localized only (localized, NOS)**\n- WITH OR WITHOUT lymphovascular invasion\n + Body of testis\n + Rete testis\n + Surface implants (surface of tunica vaginalis)\n + Tunica albuginea\n + Tunica vaginalis involved\n + Tunica, NOS\n\n* Confined to testis, NOS\n + WITH or WITHOUT lymphovascular invasion" ], [ "2", "**Regional by direct extension only**\n\nAny of the following sites WITH or WITHOUT lymphovascular invasion\n * Dartos muscle, ipsilateral\n * Epididymis \n * Hilar soft tissue\n * Mediastinum (of testis)\n * Scrotum, ipsilateral \n * Spermatic cord, ipsilateral\n * Vas deferens\n * Visceral mesothelial layer" ], [ "3", "**Regional lymph node(s) involved only**\n- Lymph nodes WITH or WITHOUT previous scrotal or inguinal surgery\n + Aortic, NOS\n * Lateral (lumbar)\n * Para-aortic\n * Periaortic\n * Preaortic \n * Retroaortic\n + Pericaval, NOS\n * Interaortocaval\n * Paracaval\n * Precaval\n * Retrocaval\n + Retroperitoneal, NOS\n + Spermatic vein\n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n- Lymph nodes WITH previous scrotal or inguinal surgery\n + External iliac\n + Inguinal node(s), NOS\n * Deep, NOS\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n * Superficial (femoral)\n + Pelvic, NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Adrenal (suprarenal gland)\n + Kidney\n + Penis \n + Retroperitoneum\n + Scrotum, contralateral\n + Testis, bilateral\n + Ulceration of scrotum\n- Distant lymph node(s), NOS\n + Lymph nodes WITHOUT previous scrotal or inguinal surgery or UNKNOWN if previous scrotal or inguinal surgery\n * External iliac\n * Inguinal nodes, NOS\n + Deep, NOS\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial (femoral)\n * Pelvic\n - Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_thymus_60066.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_thymus_60066.json deleted file mode 100644 index c59d52bb0..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_thymus_60066.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_thymus_60066", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Thymus", - "title" : "Summary Stage 2018: Thymus", - "subtitle" : "Summary Stage 2018", - "notes" : "**Thymus**\n\n8000-8700, 8720-8790\n\nC379\nC379 Thymus\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 35 *Thymus*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Thymus sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Detterbeck, F.C., Marom, E.M. **Thymus**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T17:16:14.696Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to thymus, NOS\n- No mediastinal or pleura involvement or UNKNOWN if involved" ], [ "2", "**Regional by direct extension only**\n- Brachiocephalic vein\n- Chest wall \n- Confined to thymus WITH mediastinal or pleural involvement\n- Direct invasion of pericardium\n- Extrapericardial pulmonary artery or vein\n- Lung\n- Phrenic nerve\n- Superior vena cava" ], [ "3", "**Regional lymph node(s) involved only**\n- Ascending aorta\n- Cervical (low anterior)\n- Hilar\n- Internal mammary\n- Lower jugular\n- Mediastinal (lower, middle, NOS)\n- Para-aortic\n- Paratracheal (lower, upper, NOS)\n- Peri-thymic \n- Peri-thyroid\n- Pericardial\n- Phrenic (inferior, superior)\n- Precricoid/delphian\n- Pretracheal\n- Prevascular\n- Subaortic/aortopulmonary window\n- Subcarinal\n- Supraclavicular/venous angle: confluence of internal jugular and subclavian vein\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Extrathoracic sites\n + Separate pleural or pericardial nodule(s)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s) \n * OR with pleural or pericardial nodule(s) metastasis" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_thyroid_33058.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_thyroid_33058.json deleted file mode 100644 index 84e8bc1fb..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_thyroid_33058.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_thyroid_33058", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Thyroid", - "title" : "Summary Stage 2018: Thyroid", - "subtitle" : "Summary Stage 2018", - "notes" : "**Thyroid**\n\n8000-8700, 8720-8790\n\nC739\nC739 Thyroid gland\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 73 *Thyroid-Differentiated and Anaplastic Carcinoma*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Chapter 74 *Thyroid-Medullary*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Thyroid sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582:\n\n**Note 3:** **Psammoma bodies** \n* Psammoma bodies are counted as positive regional lymph nodes", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Tuttle, R.M., Perrier, N.D., et al. **Thyroid - Differentiated and Anaplastic Carcinoma**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Rosen, J.E., Lloyd, R.V., Perrier, N.D., et al. **Thyroid - Medullary**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T17:15:20.008Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to thyroid, NOS\n- Into thyroid capsule, but not beyond\n- Multiple foci confined to thyroid\n- Single invasive tumor confined to thyroid" ], [ "2", "**Regional by direct extension only**\n- Blood vessel(s) (major)\n + Carotid artery (encased)\n + Jugular vein\n + Thyroid artery or vein\n- Cricoid cartilage\n- Esophagus\n- Extrathyroidal extension (microscopic, macroscopic, NOS)\n- Larynx\n- Nerves\n + Recurrent laryngeal\n + Vagus nerve\n- Parathyroid\n- Pericapsular soft tissue/connective tissue\n- Sternocleidomastoid muscle \n- Strap muscle(s)\n + Omohyoid\n + Sternohyoid\n + Sternothyroid\n + Thyrohyoid\n- Subcutaneous soft tissue\n- Thyroid cartilage\n- Trachea\n- Tumor described as \"FIXED to adjacent tissues\"" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular \n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular\n + Middle deep cervical\n- Level IV - Lower jugular \n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other lymph nodes\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Gross extrathyroidal extension invading \n * Bone\n * Mediastinal tissues\n * Prevertebral fascia\n * Skeletal muscle, other than strap or sternocleidomastoid muscle \n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant mets WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_tongue_anterior_66978.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_tongue_anterior_66978.json deleted file mode 100644 index efd8244f3..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_tongue_anterior_66978.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_tongue_anterior_66978", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Tongue Anterior", - "title" : "Summary Stage 2018: Tongue Anterior", - "subtitle" : "Summary Stage 2018", - "notes" : "**Tongue Anterior**\n\n8000-8700, 8982\n\nC020-C023, C028-C029\nC020 Dorsal surface of tongue, NOS\nC021 Border of tongue (Tip)\nC022 Ventral surface of tongue, NOS\nC023 Anterior 2/3 of tongue, NOS\nC028 Overlapping lesion of tongue\nC029 Tongue, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 7 *Oral Cavity*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Tongue Anterior sites**\n * **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Head and Neck**: 8720-8790\n**Mycosis Fungoides**: 9700-9701\n**Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Periosteum** \n* Periosteum is a fibrous membrane that wraps the outer surface of bones. \n * Cortical bone is the dense compact outer layer of the bone. \n * Trabecular, cancellous, or spongy bone (spongiosa) is a porous network of tissue filling the interior of bone, decreasing weight and allowing room for blood vessels and marrow.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Lydiatt, W.M., Patel, S.G., Shah, J.P., et al. **Staging Head and Neck Cancers**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Ridge, J.A., Lydiatt, W.M., Shah, J.P., et al. **Oral Cavity**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T17:13:33.416Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ: noninvasive, intraepithelial**" ], [ "1", "**Localized only (localized, NOS)**\n- Confined to anterior tongue, NOS\n- Crosses midline/midline tumor\n- Invasive tumor on one side confined to\n + Lamina propria\n + Musculature of tongue, intrinsic or NOS\n + Submucosa" ], [ "2", "**Regional by direct extension only**\n- Base of tongue\n- Bone, NOS\n + Bone (mandible, maxilla, palatine)\n + Cartilage (mandible, maxilla, NOS)\n + Cortical bone, invasion of (mandible, maxilla, NOS)\n- Floor of mouth\n- Gingiva, lower\n- Lateral pharyngeal wall\n- Retromolar trigone\n- Soft palate, inferior surface\n- Sublingual gland\n- Tonsillar pillars and fossae\n- Tonsils" ], [ "3", "**Regional lymph node(s) involved only**\n- Level I\n + Level IA - Submental\n + Level IB - Submandibular (submaxillary), sublingual\n- Level II - Upper jugular\n + Jugulodigastric (subdigastric)\n + Upper deep cervical \n + Level IIA - Anterior\n + Level IIB - Posterior \n- Level III - Middle jugular \n + Middle deep cervical\n- Level IV - Lower jugular\n + Jugulo-omohyoid (supraomohyoid)\n + Lower deep cervical \n + Virchow node\n- Level V - Posterior triangle group\n + Posterior cervical\n + Level VA - Spinal accessory \n + Level VB - Transverse cervical, supraclavicular \n- Level VI - Anterior compartment group\n + Laterotracheal\n + Paralaryngeal\n + Paratracheal - above suprasternal notch\n + Perithyroidal\n + Precricoid (Delphian)\n + Prelaryngeal\n + Pretracheal - above suprasternal notch\n + Recurrent laryngeal\n- Level VII - Superior mediastinal group (for other mediastinal node(s) see code 7)\n + Esophageal groove\n + Paratracheal - below suprasternal notch\n + Pretracheal - below suprasternal notch \n- Other groups\n + Cervical, NOS\n + Deep cervical, NOS\n + Facial\n * Buccinator (buccal)\n * Mandibular\n * Nasolabial\n + Internal jugular, NOS\n + Parapharyngeal \n + Parotid\n * Infraauricular\n * Intraparotid\n * Periparotid\n * Preauricular\n + Retroauricular (mastoid)\n + Retropharyngeal\n + Suboccipital\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n + Deep (extrinsic) muscles of tongue\n * Genioglossus\n * Geniohyoid\n * Hyoglossus\n * Mylohyoid\n * Palatoglossus\n * Styloglossus\n + Internal carotid artery (encased)\n + Masticator space\n + Maxillary sinus (antrum)\n + Pterygoid plates\n + Skin of face\n + Skull base\n + Specified bone (other than mandible, maxilla)\n + Trabecular bone (mandible, maxilla, NOS)\n- Distant lymph node(s), NOS\n + Mediastinal (excluding superior mediastinal node(s), Level VII)\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_trachea_70961.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_trachea_70961.json deleted file mode 100644 index 277a1fe1e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_trachea_70961.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_trachea_70961", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Trachea", - "title" : "Summary Stage 2018: Trachea", - "subtitle" : "Summary Stage 2018", - "notes" : "**Trachea**\n\n8000-8700, 8720-8790\n\nC339\nC339 Trachea\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n\n**Note 2:** **Other Summary Stage Chapters with Trachea sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2024-05-18T11:38:55.251Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive**" ], [ "1", "**Localized only (localized, NOS)**\n- Invasive tumor confined to trachea" ], [ "2", "**Regional by direct extension only**\n- Adjacent connective tissue\n + Arch of aorta\n + Azygos vein, right\n + Brachiocephalic vein\n + Carotid sheath\n + Common carotid artery(ies)\n + Jugular arch\n + Phrenic nerves\n + Pretracheal fascia\n + Recurrent laryngeal nerve\n + Subclavian artery(ies)\n + Vagus nerve\n- Adjacent organ(s)/structure(s)\n + Cricoid cartilage\n + Esophagus\n + Pleura, NOS\n * Parietal\n * Visceral\n + Right and left main bronchi\n + Sternum\n + Thymus\n + Thyroid gland\n + Vertebral column" ], [ "3", "**Regional lymph node(s) involved only**\n- Mediastinal, NOS\n + Posterior (tracheoesophageal)\n- Paratracheal\n- Pretracheal\n- Tracheal, NOS \n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_urethra_14363.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_urethra_14363.json deleted file mode 100644 index 8741ede74..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_urethra_14363.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_urethra_14363", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Urethra", - "title" : "Summary Stage 2018: Urethra", - "subtitle" : "Summary Stage 2018", - "notes" : "**Urethra**\n\n8000-8700, 8720-8790\n\nC680\nC680 Urethra\nC680 Prostatic Urethra\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 63 *Urethra*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Urethra sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Hansel, D.E., Reuter, V.E., McKiernan, J.M., et al. **Urethra**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T17:09:11.181Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive**\n\nPapillary \n- Non-infiltrating or non-invasive papillary transitional cell carcinoma\n- Non-infiltrating or non-invasive papillary urothelial carcinoma\n- Papillary transitional cell carcinoma, with inferred description of non-invasion\n- Papillary urothelial carcinoma, with inferred description of non-invasion\n\nNonpapillary\n- Carcinoma in situ, NOS \n- Sessile (flat) (solid) carcinoma in situ \n- Transitional cell carcinoma in situ\n- Urothelial carcinoma (in situ, non-infiltrating, non-invasive)\n\nMultifocal non-invasive tumors\n\nUrethra-Prostatic \n * Carcinoma in situ involving (WITHOUT stromal invasion)\n - Periurethral or prostatic ducts\n - Prostatic urethra" ], [ "1", "**Localized only (localized, NOS)**\n- Muscularis invaded\n- Subepithelial connective tissue (lamina propria, submucosa) invaded" ], [ "2", "**Regional by direct extension only**\n- All sites\n + Bladder neck\n- Urethra\n + Corpus cavernosum\n + Corpus spongiosum\n + Periurethral muscle (sphincter muscle)\n + Vagina (anterior, NOS)\n- Prostatic urethra\n + Periprostatic fat (beyond prostate capsule)\n + Prostate (prostatic stroma)\n + Prostatic ducts" ], [ "3", "**Regional lymph node(s) involved only**\n- Iliac (common, external, internal [hypogastric] [obturator], NOS)\n- Inguinal (superficial [femoral], NOS)\n- Inguinal, deep (Node of Cloquet or Rosenmuller [highest deep inguinal], NOS) \n- Pelvic, NOS (including true pelvis)\n- Perivesical\n- Presacral\n- Sacral, NOS\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + All sites\n * Adjacent organ(s), NOS\n * Bladder wall\n + Prostatic urethra\n * Rectal wall \n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_urinary_other_87865.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_urinary_other_87865.json deleted file mode 100644 index bac975dd1..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_urinary_other_87865.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_urinary_other_87865", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Urinary Other", - "title" : "Summary Stage 2018: Urinary Other", - "subtitle" : "Summary Stage 2018", - "notes" : "**Urinary Other**\n\n8000-8700, 8720-8790\n\nC681, C688-C689\nC681 Paraurethral gland\nC688 Overlapping lesion of urinary organs\nC689 Urinary system, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n\n**Note 2:** **Other Summary Stage Chapters with other Urinary sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9138, 9141-9582\n\n**Note 3:** **Only staging system** \n* Summary Stage is the only applicable staging system for this site/histology/schema.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)", - "last_modified" : "2024-05-16T17:07:31.399Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "**In situ, intraepithelial, noninvasive (flat, sessile)** \n- Noninvasive papillary, polypoid or verrucous carcinoma" ], [ "1", "**Localized only (localized, NOS)**\n- Lamina propria\n- Muscularis\n- Subepithelial connective\n- Submucosa" ], [ "2", "**Regional by direct extension only**\n- Beyond prostate capsule\n- Bladder neck\n- Corpus cavernosum\n- Corpus spongiosum\n- Periurethral muscle (sphincter)\n- Prostate\n- Vagina, anterior or NOS" ], [ "3", "**Regional lymph node(s) involved only**\n- Iliac, NOS\n + Common\n + External\n + Internal (hypogastric), NOS\n * Obturator \n - Inguinal, NOS\n + Deep inguinal, NOS\n * Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial (femoral)\n - Pelvic, NOS\n - Sacral, NOS\n + Presacral\n - Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant sites (including further contiguous extension)\n + Other adjacent organs, including\n * Bladder (excluding bladder neck)\n * Seminal vesicle(s)\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS \n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_vagina_94653.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_vagina_94653.json deleted file mode 100644 index fd92072de..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_vagina_94653.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_vagina_94653", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Vagina", - "title" : "Summary Stage 2018: Vagina", - "subtitle" : "Summary Stage 2018", - "notes" : "**Vagina**\n\n8000-8700, 8720-8790, 8933, 8980, 9071, 9110\n\nC529\nC529 Vagina, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 51 *Vagina*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Vagina sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8932, 8934, 8940-8975, 8981-9070, 9072-9105, 9120-9138, 9141-9582\n\n**Note 3:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). \n* Lymph nodes with ITCs only are **not** counted as positive nodes for Summary Stage", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging.** In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Gibb, R.K., Olawaiye, A.B., Mutch, D.G., et al. **Vagina**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-16T17:06:37.946Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "**Localized only (localized, NOS)**\n* Confined to vagina\n* Musculature involved\n* Submucosa (stroma) (vagina)\n\nFIGO Stage I" ], [ "2", "**Regional by direct extension only**\n\n + Bladder wall or bladder, NOS (excluding mucosa)\n + Cervix\n + Cul de sac (rectouterine pouch)\n + Extension to lower third of the vagina (from proximal vagina)\n + \"Frozen pelvis\" (clinically diagnosed)\n + Hydronephrosis or nonfunctioning kidney\n + Parametrium\n + Paravaginal soft tissue\n + Pelvic wall \n * Fascia \n * Muscle\n * Neurovascular structures\n * Skeletal portions of bony pelvis\n + Rectal wall or rectum, NOS excluding mucosa \n + Rectovaginal septum\n + Vesicovaginal septum\n + Vulva\t\n\nFIGO Stage II\nFIGO Stage III WITHOUT lymph node involvement" ], [ "3", "**Regional lymph node(s) involved only**\n\n- Lower third of vagina (ipsilateral and bilateral)\n + Femoral\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal \n\n- Upper two thirds of vagina\n + Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS\n\nFIGO Stage III\n* Localized tumor WITH regional lymph node involvement" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n * Bladder mucosa (excluding bullous edema)\n * Extension beyond true pelvis\n * Rectal mucosa\n * Urethra\n\n- Distant lymph node(s), NOS\n + All sites\n + Mediastinal \n + Para-aortic, NOS\n + Aortic\n + Lateral aortic/lateral lumbar\n + Periaortic\n + Retroperitoneal, NOS\n + Scalene\n\n + Lower third of vagina (ipsilateral and bilateral)\n + Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\n + Upper two thirds of vagina\n + Femoral\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal \n\n- Distant metastasis, NOS \n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)\n\n\nFIGO Stage IV (IVA, IVB, IV NOS)" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_validation.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_validation.json deleted file mode 100644 index f0833e88b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_validation.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_validation", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Bone", - "title" : "SS2018: Bone", - "subtitle" : "Summary Stage 2018", - "notes" : "**Bone**\n\n8000-8934, 8940-9138, 9141-9582\n\nC400-C403, C408-C414, C418-C419\nC400 Long bones of upper limb, scapula and associated joints \nC401 Short bones of upper limb and associated joints \nC402 Long bones of lower limb and associated joints \nC403 Short bones of lower limb and associated joints \nC408 Overlapping lesion of bones, joints and articular cartilage of limbs\nC409 Bone of limb, NOS\nC410 Bones of skull and face and associated joints (excludes mandible C411)\nC411 Mandible\nC412 Vertebral column\nC413 Rib, sternum, clavicle, and associated joints \nC414 Pelvic bones, sacrum, coccyx and associated joints\nC418 Overlapping lesion of bones, joints and articular cartilage\nC419 Bone, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 38 *Bone*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n\n**Note 2:** **Other Summary Stage Chapters with Bone sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Mycosis Fungoides**: 9700-9701\n\n**Note 3:** **Not applicable codes** \n* Code 0 is not applicable for this chapter.\n\n**Note 4:** **Cortex of the bone** \n* The cortex of a bone is the dense outer shell that provides strength to the bone; the spongy center of a bone is the cancellous portion. \n* The periosteum of the bone is the fibrous membrane covering of a bone that contains the blood vessels and nerves; the periosteum is similar to the capsule on a visceral organ.\n\n**Note 5:** **Spinal tumors** \n* For the spinal tumors (C412), if only the number of adjacent vertebral segments below are involved, this would be localized (code 1). Any other vertebral segments involved (non-adjacent) would be regional (code 2). \n * Body (left)\n * Body (right)\n * Pedicle (left)\n * Pedicle (right)\n * Posterior element\n\n**Note 6:** **Pelvic tumors**\n* For the pelvic tumors (C414), both the number of pelvic segments involved by the primary tumor and the presence or absence of extraosseous extension determine the correct Summary Stage 2018 for localized and regional pelvic bone primaries. The four pelvic segments used in these codes are: \n * Acetabulum\n * Iliac wing\n * Pubic ramus/Symphysis/Ischium\n * Sacrum\n\n**Note 7:** **Definition of Regional lymph nodes**\n* Regional lymph nodes are defined as those in the vicinity of the primary tumor.\n\n**Note 8:** **Lymph node involvement in bone is rare**\n* Regional lymph node involvement is rare. \n* If there is no mention of lymph node involvement clinically, assume that lymph nodes are negative.", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05.** American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) Kneisl, J.S., Rosenberg, A.E., et al. **Bone**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017", - "last_modified" : "2024-05-18T10:43:00.173Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "**Localized only (localized, NOS)**\n- Appendicular (C400-C403, C408-C411, C413, C418-C419)\n + Confined to cortex of bone \n + Extension beyond cortex to periosteum (no break in periosteum)\n- Spine (C412)\n + Confined to spine, NOS (number of segments involved not known)\n + Involvement of single or multiple adjacent vertebral segment(s)\n- Pelvis (C414)\n + Confined to pelvis, NOS (number of segments involved not known and WITHOUT or UNKNOWN if extraosseous extension)\n + One to four pelvic segments involved WITHOUT or UNKNOWN if extraosseous extension" ], [ "2", "**Regional by direct extension only**\n- All sites\n + Extraosseous extension (beyond periosteum to surrounding tissues, including adjacent skeletal muscle(s))\n- Appendicular (C400-C403, C408-C411, C413, C418-C419)\n + Adjacent bone/cartilage\n- Spine (C412)\n + Involvement of multiple non-adjacent vertebral segments\n + Spinal canal\n- Pelvis (C414)\n + One to four pelvic segments involved WITH extraosseous extension" ], [ "3", "**Regional lymph node(s) involved only**\n- Regional lymph node(s), NOS\n + Lymph node(s), NOS" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension) \n + All bone sites\n * Bone (other than primary site)\n * Lung\n + Appendicular (C400-C403, C408-C411, C413, C418-C419)\n * Discontinuous tumors in the primary bone site (\"skip\" metastasis)\n * Skin\n + Spine (C412)\n * Gross vascular invasion\n * Tumor thrombus in great vessels\n + Pelvis (C414)\n * Encasement of external iliac vessels\n * Gross tumor thrombus in major pelvic vessels\n * Sacral neuroforamen\n * Sacroiliac joint\n- Distant lymph node(s), NOS\n- Distant metastasis, NOS\n + Carcinomatosis \n + Distant metastasis WITH or WITHOUT distant lymph node(s)" ], [ "9", "Unknown if extension or metastasis " ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_vulva_49198.json b/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_vulva_49198.json deleted file mode 100644 index 815dcffce..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ss2018_vulva_49198.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "ss2018_vulva_49198", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "SS2018: Vulva", - "title" : "Summary Stage 2018: Vulva", - "subtitle" : "Summary Stage 2018", - "notes" : "**Vulva**\n\n8000-8040, 8042-8180, 8191-8246, 8248-8700, 9020, 9071 \n\nC510-C512, C518-C519\nC510 Labium majus\nC511 Labium minus\nC512 Clitoris\nC518 Overlapping lesion of vulva\nC519 Vulva, NOS\n\n**Note 1:** **Sources used in the development of this chapter**\n* SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998) (https://seer.cancer.gov/archive/manuals/EOD10Dig.3rd.pdf)\n* SEER Summary Staging Manual-2000: Codes and Coding Instructions (https://seer.cancer.gov/tools/ssm/ssm2000/)\n* Collaborative Stage Data Collection System, version 02.05: https://cancerstaging.org/cstage/Pages/default.aspx \n* Chapter 50 *Vulva*, in the AJCC Cancer Staging Manual, Eighth Edition (2017) published by Springer International Publishing. Used with permission of the American College of Surgeons, Chicago, Illinois.\n* Vulva, from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois. \n\n**Note 2:** **Other Summary Stage Chapters with Vulva sites**\n* **GIST**: 8935-8936\n* **Kaposi Sarcoma**: 9140\n* **Melanoma Skin**: 8720-8790\n* **Merkel Cell Skin**: 8041, 8190, 8247\n* **Mycosis Fungoides**: 9700-9701\n* **Soft Tissue**: 8710-8714, 8800-8934, 8940-9016, 9030-9070, 9072-9138, 9141-9582\n\n**Note 3:** **Basal and squamous cell carcinomas of the skin of the vulva** \n* Basal and squamous cell carcinomas of the skin of the vulva are coded to C519 and are reportable; basal and squamous carcinomas of the skin of the perineum would be coded to C445 and would not be reportable.\n\n**Note 4:** **Isolated tumor cells** \n* Isolated tumor cells (ITCs) are defined as single tumor cells or small clusters not greater than 0.2 mm, usually detected by immunohistochemical (IHC) or molecular methods. ITCs do not usually show evidence of malignant activity (e.g., proliferation or stromal reaction). \n* Lymph nodes with ITCs only are **not** counted as positive nodes for Summary Stage", - "footnotes" : "(1) Fritz AG, Ries LAG (eds). **SEER Extent of Disease 1988: Codes and Coding Instructions (3rd Edition, 1998)**, National Cancer Institute, NIH Pub. No. 98-2313, Bethesda, MD, 1998\n\n(2) Young JL Jr, Roffers SD, Ries LAG, Fritz AG, Hurlbut AA (eds.). **SEER Summary Staging Manual-2000: Codes and Coding Instructions**, National Cancer Institute, NIH Pub. No. 01-4969, Bethesda, MD, 2001.\n\n(3) Collaborative Stage Work Group of the American Joint Committee on Cancer. **Collaborative Stage Data Collection System User Documentation and Coding Instructions, version 02.05**. American Joint Committee on Cancer (Chicago, IL)\n\n(4) Gress, D.M., Edge, S.B., Gershenwald, J.E., et al. **Principles of Cancer Staging**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(5) **Introduction to Female Reproductive Organs**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(6) Gibb, R.K., Olawaiye, A.B., Mutch, D.G., et al. **Vulva**. In: Amin, M.B., Edge, S.B., Greene, F.L., et al. (Eds.) AJCC Cancer Staging Manual. 8th Ed. New York: Springer; 2017\n\n(7) **Vulva,** from the AJCC Cancer Staging System Version 9 (2023). Used with permission of the American College of Surgeons, Chicago, Illinois.", - "last_modified" : "2024-05-20T13:31:23.175Z", - "definition" : [ { - "key" : "ss2018", - "name" : "SS2018", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "In situ: noninvasive, intraepithelial" ], [ "1", "**Localized only (localized, NOS)**\n\n* Invasive carcinoma WITH or WITHOUT stromal invasion confined to\n + Musculature\n + Submucosa\n + Vulva including skin\n\n FIGO Stage I (IA, IB, I NOS)" ], [ "2", "**Regional by direct extension only**\n\n + Adjacent perineal structures\n + Anus\n + Bladder wall or bladder, NOS excluding mucosa\n + Perianal skin\n + Rectal wall or rectum, NOS excluding mucosa\n + Urethra, NOS \n * Lower/distal third of urethra\n + Vagina, NOS\n + Vulva and perineum involved WITH or WITHOUT stromal invasion\n\nFIGO Stage II" ], [ "3", "**Regional lymph node(s) involved only**\n\n + Femoral\n + Inguinal, NOS\n + Inguinofemoral (groin)\n + Node of Cloquet or Rosenmuller (highest deep inguinal)\n + Superficial inguinal \n + Regional lymph node(s), NOS\n * Lymph node(s), NOS\n\nFIGO Stage III (IIIA, IIIB, IIIC, III NOS), IVA\n* Localized tumor WITH regional lymph node involvement" ], [ "4", "**Regional by BOTH direct extension AND regional lymph node(s) involved**\n- Codes (2) + (3)" ], [ "7", "**Distant site(s)/lymph node(s) involved**\n- Distant site(s) (including further contiguous extension)\n * Bladder mucosa\n * Fixed to pubic bone (pelvic bone)\n * Perineal body\n * Rectal mucosa\n * Urethra: upper/proximal two-thirds\n\n\n- Distant lymph node(s), NOS\n - Pelvic, NOS\n + Iliac, NOS\n + Common\n + External\n + Internal (hypogastric) (obturator)\n + Paracervical\n + Parametrial\n + Sacral, NOS\n + Lateral (laterosacral)\n + Middle (promontorial) (Gerota's node)\n + Presacral\n + Uterosacral\n\n\n- Distant metastasis, NOS\n + Carcinomatosis\n + Distant metastasis WITH or WITHOUT distant lymph node(s)\n\n\nFIGO Stage IVA\n* NONE or UNKNOWN regional lymph node involvement\n\nFIGO Stage IVB, IV NOS" ], [ "9", "Unknown if extension or metastasis" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_benign_3306.json b/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_benign_3306.json deleted file mode 100644 index 84c550245..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_benign_3306.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "summary_stage_benign_3306", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Summary Stage Benign", - "title" : "Summary Stage", - "last_modified" : "2019-04-05T16:52:38.252Z", - "definition" : [ { - "key" : "ss2018_t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "ss2018_n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "ss2018_m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ss2018_derived", - "name" : "Summary Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "IS", "U", "NONE,U", "VALUE:0" ], [ "IS", "U", "D", "VALUE:7" ], [ "B", "U", "NONE,U", "VALUE:8" ], [ "B", "U", "D", "ERROR:Benign implies no involvement outside the primary site. EOD Mets in conflict" ], [ "L", "U", "NONE,U", "VALUE:1" ], [ "RE", "U", "NONE,U", "VALUE:2" ], [ "L,RE,U", "U", "D", "VALUE:7" ], [ "D", "*", "*", "VALUE:7" ], [ "U", "U", "NONE,U", "VALUE:9" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_lymphoma_25139.json b/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_lymphoma_25139.json deleted file mode 100644 index f2ef8f93f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_lymphoma_25139.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "summary_stage_lymphoma_25139", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Summary Stage - T only", - "title" : "Summary Stage - T only", - "last_modified" : "2019-04-05T16:52:38.371Z", - "definition" : [ { - "key" : "ss2018_t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "ss2018_n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "ss2018_m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ss2018_derived", - "name" : "Summary Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "L", "U,NA", "NA", "VALUE:1" ], [ "RE", "U,NA", "NA", "VALUE:2" ], [ "D", "U,NA", "NA", "VALUE:7" ], [ "U", "U,NA", "NA", "VALUE:9" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_raa.json b/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_raa.json deleted file mode 100644 index 4bad2eec6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_raa.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "summary_stage_raa", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Summary Stage", - "title" : "Summary Stage", - "last_modified" : "2019-04-05T16:52:38.292Z", - "definition" : [ { - "key" : "ss2018_t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "ss2018_n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "ss2018_m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ss2018_derived", - "name" : "Summary Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "L", "NONE,U", "NONE,U", "VALUE:1" ], [ "L,U", "RN", "NONE,U", "VALUE:3" ], [ "D", "*", "*", "VALUE:7" ], [ "L,U", "D", "*", "VALUE:7" ], [ "L,U", "NONE,RN,U", "D", "VALUE:7" ], [ "U", "NONE,U", "NONE,U", "VALUE:9" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_rac.json b/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_rac.json deleted file mode 100644 index e9e24f559..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_rac.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "summary_stage_rac", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Summary Stage", - "title" : "Summary Stage", - "last_modified" : "2019-04-05T16:52:37.516Z", - "definition" : [ { - "key" : "ss2018_t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "ss2018_n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "ss2018_m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ss2018_derived", - "name" : "Summary Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "IS", "NONE,U", "NONE,U", "VALUE:0" ], [ "IS", "RN", "NONE,U", "VALUE:3" ], [ "IS", "*", "D", "VALUE:7" ], [ "L", "NONE,U", "NONE,U", "VALUE:1" ], [ "RE", "NONE,U", "NONE,U", "VALUE:2" ], [ "L,U", "RN", "NONE,U", "VALUE:3" ], [ "RE", "RN", "NONE,U", "VALUE:4" ], [ "D", "*", "*", "VALUE:7" ], [ "L,RE,U", "*", "D", "VALUE:7" ], [ "U", "NONE,U", "NONE,U", "VALUE:9" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_rpa.json b/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_rpa.json deleted file mode 100644 index 669bcdd60..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/summary_stage_rpa.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "summary_stage_rpa", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Summary Stage", - "title" : "Summary Stage", - "last_modified" : "2019-04-05T16:52:37.187Z", - "definition" : [ { - "key" : "ss2018_t", - "name" : "T", - "type" : "INPUT" - }, { - "key" : "ss2018_n", - "name" : "N", - "type" : "INPUT" - }, { - "key" : "ss2018_m", - "name" : "M", - "type" : "INPUT" - }, { - "key" : "ss2018_derived", - "name" : "Summary Stage", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "IS", "NONE,U,NA", "NONE,U,NA", "VALUE:0" ], [ "IS", "D", "*", "VALUE:7" ], [ "IS", "NONE,RN,U,NA", "D", "VALUE:7" ], [ "IS", "RN", "NONE,U,NA", "VALUE:3" ], [ "L", "NONE,U,NA", "NONE,U,NA", "VALUE:1" ], [ "RE", "NONE,U,NA", "NONE,U,NA", "VALUE:2" ], [ "L,U", "RN", "NONE,U,NA", "VALUE:3" ], [ "RE", "RN", "NONE,U,NA", "VALUE:4" ], [ "D", "*", "*", "VALUE:7" ], [ "L,RE,U", "D", "*", "VALUE:7" ], [ "L,RE,U", "NONE,RN,U,NA", "D", "VALUE:7" ], [ "U", "NONE,U,NA", "NONE,U,NA", "VALUE:9" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/systemic_surg_seq.json b/src/test/resources/algorithms/eod_public/3.3/tables/systemic_surg_seq.json deleted file mode 100644 index cc2f6b9ba..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/systemic_surg_seq.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "systemic_surg_seq", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Systemic Surg Seq", - "title" : "RX Summ Systemic/Surgery Sequence", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2020-05-19T17:11:04.334Z", - "definition" : [ { - "key" : "systemic_surg_seq", - "name" : "RX Summ Systemic/Surgery Sequence", - "type" : "INPUT" - }, { - "key" : "desc", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No systemic therapy and/or surgical procedures; unknown if surgery and/or systemic therapy given" ], [ "2", "Systemic therapy before surgery" ], [ "3", "Systemic therapy after surgery" ], [ "4", "Systemic therapy both before and after surgery" ], [ "5", "Intraoperative systemic therapy" ], [ "6", "Intraoperative systemic therapy with other therapy administered before and/or after surgery" ], [ "7", "Surgery both before and after systemic therapy" ], [ "9", "Sequence unknown, but both surgery and systemic therapy given" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/systemic_symptoms_at_dx_60639.json b/src/test/resources/algorithms/eod_public/3.3/tables/systemic_symptoms_at_dx_60639.json deleted file mode 100644 index 49ab6030b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/systemic_symptoms_at_dx_60639.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "systemic_symptoms_at_dx_60639", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "B Symptoms", - "title" : "B Symptoms", - "description" : "B symptoms refer to systemic symptoms of fever, night sweats, and weight loss which can be associated with both Hodgkin lymphoma and some non-Hodgkin lymphomas. The presence of B symptoms is a prognostic factor for some lymphomas.\n\nThe stages of Hodgkin Lymphoma are classified as either A or B according to the absence or presence of defined constitutional symptoms. The stage group suffix for a patient without these systemic symptoms is “A,” meaning absence of symptoms or asymptomatic; for example, Stage IIA. The stage group suffix for a patient with any of the symptoms listed below is “B,” such as Stage IIIB. The symptoms are carefully defined. \n* Fevers: Unexplained fever with temperature above 38 degrees centigrade or 100.4 degrees Fahrenheit. \n* Night sweats: Drenching sweats (e.g., those that require change of bedclothes)\n* Weight loss: Unexplained weight loss of more than 10% of the usual body weight in the 6 months prior to diagnosis. \n\nOther symptoms, such as chills, pruritic, alcohol-induced pain, and fatigue, are not included in the A or B designation but are recorded in the medical record, as the reappearance of these symptoms may be a harbinger of recurrence. The designation A or B is not included in the revised staging of NHL in AJCC 8th edition, although clinicians are encouraged to record the presence of these symptoms in the medical record. The presence or absence of B symptoms may be collected in registries for both HL and NHL.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of B Symptoms can be used to code this data item when no other information is available.\n\n**Note 2:** **Defining B symptoms** \n* Each stage should be classified as either A or B according to the absence or presence of defined constitutional symptoms, such as:\n * Fevers: Unexplained fever with temperature above 38 degrees C (100.4 F)\n * Night sweats: Drenching sweats that require change of bedclothes\n * Weight loss: Unexplained weight loss of more than 10% of the usual body weight in the six months prior to diagnosis.\n\n**Note 3:** **Conditions that are not B symptoms** \n* Pruritus alone does not qualify for B classification, nor does alcohol intolerance, fatigue, or a short, febrile illness associated with suspected infections", - "last_modified" : "2024-12-14T00:31:26.188Z", - "definition" : [ { - "key" : "b_symptoms", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No B symptoms (asymptomatic) \nClassified as \"A\" by physician when asymptomatic" ], [ "1", "Any B symptom(s)\nNight sweats (drenching)\nUnexplained fever (above 38 degrees C) (100.4 F)\nUnexplained weight loss (generally greater than 10% of body weight\nin the six months before admission)\nB symptoms, NOS\n\nClassified as \"B\" by physician when symptomatic" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nB symptoms not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** patient history, progress notes, consultant notes, other statements in medical record\n\n**Other names include** B symptoms fever, Palestine fever, hyperpyrexia, febrile response, sleep hyperhidrosis, nocturnal hyperhidrosis", - "coding_guidelines" : "* **Code 0** when there is no evidence of B symptoms present, per physician or physical exam\n* **Code 1** when the physician states the patient has B symptoms\n* **Code 9** when\n * No mention of B symptoms\n * Not documented in the medical record\n * B symptoms not evaluated (assessed)\n * Unknown if B symptoms evaluated (assessed)", - "rationale" : "B symptoms is a Registry Data Collection Variable in AJCC. This data item was previously collected for Lymphomas, SSF #2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/thrombocytopenia_8479.json b/src/test/resources/algorithms/eod_public/3.3/tables/thrombocytopenia_8479.json deleted file mode 100644 index d2eae5527..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/thrombocytopenia_8479.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "thrombocytopenia_8479", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Thrombocytopenia", - "title" : "Thrombocytopenia", - "description" : "Thrombocytopenia is defined by a deficiency of platelets in the blood. In staging of Chronic Lymphocytic Leukemia/Small Lymphocytic Leukemia (CLL/SLL), thrombocytopenia is defined as Platelets (Plt) < 100,000/μL.\n\nFor cases diagnosed 1/1/2018 and later, all cases of CLL and SLL will require both the **Lugano classification, which is captured in the AJCC stage group data item, and the five components of the modified Rai staging system, which are captured in Site-Specific Data Items (adenopathy, anemia, lymphocytosis, organomegaly, and thrombocytopenia).**\n\nThe terms B-cell lymphocytic leukemia/chronic lymphocytic leukemia (CLL) and small lymphocytic lymphoma (SLL) are different clinical presentations of the same disease, with both terms coded 9823. \n\nTraditionally the lymphoma diagnosis was staged with the Ann Arbor staging system and it is now staged with the Lugano classification. In North America, CLL was staged with the Rai system. \n\nSee 3955: Derived Rai stage for additional information on the related data items.", - "notes" : "**Note 1:** **Physician Statement**\n* Physician statement of thrombocytopenia or Rai Stage can be used to code this data item when no other information is available. \n * The physician's stated Rai stage always takes priority when there is conflicting information\n\n**Note 2:** **Rai Stage Criteria**\n* Rai stage is only applicable for CLL, in which the bone marrow and/or peripheral blood are involved (primary site C421 for bone marrow, see Hematopoietic Manual, Module 3: PH 5, 6). \n\n**Note 3:** **Pretreatment results only**\n* Record this data item based on a blood test (CBC and differential) performed at diagnosis (pre-treatment)\n * Do not use results from a urine test\n\n**Note 4:** **Values for Thrombocytopenia**\n* Thrombocytopenia is defined as platelets (Plt) <100,000/μL. This is part of the Modified Rai Staging System and not included as part of the AJCC Lugano staging. \n* Use the cut points listed in the table regardless of the lab’s reference range\n* For cases that document platelet counts in SI (Systeme Internationale) units as any of 10*9/L, 10^9/L, or 10E9/L, the cut point of 100,000 cells/µL is equivalent to (100 cells x 10*9/L), (100 cells x 10^9/L, or (100 cells x 10E9/L)", - "last_modified" : "2025-02-24T16:03:01.074Z", - "definition" : [ { - "key" : "thrombocytopenia", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Thrombocytopenia not present \nPlatelets (Plt) >=100,000/μL\n\nPhysician states Rai stage 0-III" ], [ "1", "Thrombocytopenia present \nPlatelets (Plt) < 100,000/μL" ], [ "5", "Not applicable: Primary site is not C421" ], [ "6", "Lab value unknown, physician states thrombocytopenia is present\n\nPhysician states Rai stage IV" ], [ "7", "Test ordered, results not in chart" ], [ "9", "Not documented in medical record\nThrombocytopenia not assessed or unknown if assessed\nNo Rai stage is documented in the record and there is no documentation of thrombocytopenia" ] ], - "additional_info" : "**Source documents:** laboratory results, clinician’s notes", - "coding_guidelines" : "**1)** **Code 0** when primary Site **is C421** AND there is no evidence of thrombocytopenia\n* Physician documentation of Rai Stage 0-III\n\n**2)** **Code 1** when primary Site **is C421** AND there is evidence of thrombocytopenia\n\n**3)** **Code 5** when primary site **is NOT C421**\n\n**4)** **Code 6** when primary site **is C421,** AND thrombocytopenia is based on a physician’s statement of lymphocytosis or a Rai Stage\n* Physician documentation of Rai Stage IV\n\n**5)** **Code 9** when primary site **is C421** AND there is no mention of thrombocytopenia", - "rationale" : "Thrombocytopenia is a prognostic factor required for staging of Chronic Lymphocytic Leukemia/Small Lymphocytic Leukemia (CLL/SLL) in AJCC 8th edition, Chapter 79 Hodgkin, and Non-Hodgkin Lymphomas. It is a new data item for cases diagnosed 1/1/2018+." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/thyroid_gland_thyroglossal_duct_21498.json b/src/test/resources/algorithms/eod_public/3.3/tables/thyroid_gland_thyroglossal_duct_21498.json deleted file mode 100644 index d27f5a863..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/thyroid_gland_thyroglossal_duct_21498.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "id" : "thyroid_gland_thyroglossal_duct_21498", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Discriminator 1", - "title" : "Schema Discriminator 1: Thyroid Gland/Thyroglossal Duct", - "description" : "Thyroid, NOS and thyroglossal duct have the same ICD-O topography code (C739) However, for purposes of the AJCC Staging Systems Thyroid and Thyroid Medullary stage groupings, Thyroid, NOS is applicable for AJCC staging while thyroglossal duct is not (Summary Stage only). A schema discriminator is necessary to distinguish between these primary sites so that the appropriate system/schema is used.", - "notes" : "**Note:** **Schema Discriminator for C739** \n\n* A schema discriminator is used to discriminate between thyroid gland and thyroglossal duct tumors with primary site code C739: Thyroid Gland. Code the site in which the tumor arose. \n\n* **Thyroid gland (see code 1)**\n\n Subsites include Thyroid, NOS\n\n* **Thyroglossal duct (see code 2)**", - "last_modified" : "2025-11-06T21:36:21.139Z", - "definition" : [ { - "key" : "discriminator_1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Thyroid gland\nThyroid, NOS" ], [ "2", "Thyroglossal duct cyst" ] ], - "additional_info" : "**Source documents:** pathology report, imaging, clinician's notes" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_deposits_40070.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_deposits_40070.json deleted file mode 100644 index 10fe2e913..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_deposits_40070.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "tumor_deposits_40070", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Deposits", - "title" : "Tumor Deposits", - "description" : "A tumor deposit is defined as a discrete nodule of cancer in pericolic/perirectal fat or in adjacent mesentery (mesocolic or rectal fat) within the lymph drainage area of the primary carcinoma, without identifiable lymph node tissue or identifiable vascular structure.\n\nTumor deposits are separate nodules or deposits of malignant cells in perirectal or pericolic fat without evidence of residual lymph node tissue. If present, tumor deposits may be found within the primary lymphatic drainage area of the tumor. \n\nThey are different from direct extension from the primary tumor and may be the result of lymphovascular invasion with extravascular extension, a totally replaced lymph node, or discontinuous spread. Nodules of tumor outside the primary lymphatic drainage area of the tumor are distant metastasis.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Tumor Deposits can be used to code this data item when no other information is available, provided the criteria for evaluation has been met (*see Note 2*).\n\n**Note 2:** **Criteria for evaluating Tumor Deposits**\n* A **surgical resection** must be done to evaluate tumor deposits\n* Do not use any evaluation of Tumor Deposits from imaging (MRI), or biopsy\n\n**Note 3:** **Tumor deposits vs Tumor budding**\n* **Tumor deposits** are separate nodules or deposits of malignant cells in perirectal or pericolic fat without evidence of residual lymph node tissue\n* **Tumor budding**: The presence of single cells or small clusters of less than five cells at the advancing front of the tumor is considered as peritumoral tumor budding. Numerous studies have shown that high tumor budding in adenocarcinoma arising in a polyp is a significant risk factor for nodal involvement\n * Information on tumor budding is not currently collected", - "last_modified" : "2025-11-06T17:54:19.494Z", - "definition" : [ { - "key" : "tumor_deposits", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "00", "No tumor deposits" ], [ "01-99", "1-99 Tumor deposits (TD) \n(Exact number of TD)" ], [ "X1", "100 or more Tumor Deposits" ], [ "X2", "Tumor Deposits identified, number unknown" ], [ "X8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code X8 may result in an edit error.)" ], [ "X9", "Not documented in medical record\nCannot be determined by the pathologist\nPathology report does not mention tumor deposits\nNo surgical resection done\nTumor Deposits not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** surgical pathology report\n\n**Other names include** discontinuous extramural extension, malignant tumor foci, malignant peritumoral deposits, satellite nodule\n\nFor further information, refer to the **Colon and Rectum** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Colon and Rectum*.", - "coding_guidelines" : "**Record the number of Tumor Deposits whether or not there are positive lymph nodes**.\n* Do not count involved lymph nodes in this field, only tumor deposits\n\n**1)** **Code 00** when the pathology report states that there are no tumor deposits.\n\n**2)** **Code 01-99** (for the exact number of tumor deposits reported in the pathology report) \n\n**3)** **Code X1** for 100 or more tumor deposits.\n\n**4)** **Code X2** if tumor deposits are mentioned but a number is not reported.\n\n**5)** **Code X9** when\n * Not documented in medical record\n * No surgical resection done\n * Pathology report not available\n * Surgical resection of the primary site is performed and there is no mention of tumor deposits\n * Tumor deposits not evaluated (not assessed)\n * Unknown if Tumor Deposits evaluated (assessed)", - "rationale" : "The presence of tumor deposits is a Registry Data Collection Variable in AJCC. It was previously collected as Colon and Rectum CS SSF #4." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_growth_pattern_31889.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_growth_pattern_31889.json deleted file mode 100644 index b65ea4cc6..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_growth_pattern_31889.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "tumor_growth_pattern_31889", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Growth Pattern", - "title" : "Tumor Growth Pattern", - "description" : "Tumor Growth Pattern refers to the growth pattern of intrahepatic cholangiocarcinoma.\n\nThe tumor growth patterns of intrahepatic cholangiocarcinoma include the mass forming type, the periductal infiltrating type, and a mixed type. \n* **Periductal infiltrating type** (20%): spreads along the duct in a diffuse manner that may be associated with poorer prognosis. This type of cholangiocarcinoma demonstrates a diffuse longitudinal growth pattern along the bile duct. Limited analyses suggest that the diffuse periductal infiltrating type is associated with a poor prognosis.\n* **Mass-forming** (60% of intrahepatic bile duct cases), which grows outward (radially) from the duct and invades the liver parenchyma in a well-defined mass.", - "notes" : "**Note:** **Physician Statement** \n* Physician statement of tumor growth pattern can be used to code this data item when no other information is available", - "last_modified" : "2025-11-06T18:15:43.046Z", - "definition" : [ { - "key" : "tumor_growth_pattern", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Mass-forming" ], [ "2", "Periductal infiltrating" ], [ "3", "Mixed mass-forming and periductal infiltrating" ], [ "8", "Not applicable: Information not collected for this case\n(If this information is required by your standard setter, use of code 8 may result in an edit error.)" ], [ "9", "Not documented in medical record\nRadiology and/or pathology report does not mention tumor growth pattern\nCannot be determined by the pathologist\nTumor growth pattern not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** radiology, surgery, or pathology report", - "coding_guidelines" : "**Record the specific type of tumor growth pattern.**\n\n**1)** **Code 1** when documentation describes the tumor as mass-forming only\n\n**2)** **Code 2** when documentation describes the tumor as periductal infiltrating only\n\n**3)** **Code 3** when documentation mentions mixed, mass forming and periductal infiltrating\n\n**4)** **Code 9** when\n* Not documented in the medical record\n* Tumor growth pattern not evaluated (assessed)\n* Unknown if Tumor Growth Pattern evaluated (assessed)", - "rationale" : "Tumor Growth Pattern is a Registry Data Collection Variable in AJCC. This data item was previously collected for Intrahepatic Bile Duct, SSF #10." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_48894.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_48894.json deleted file mode 100644 index abd36723b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_48894.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_clinical_48894", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Clinical", - "title" : "Tumor Size Clinical", - "notes" : "For this schema, Tumor Size is used with EOD Primary Tumor to derive EOD T. \n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:01:38.326Z", - "definition" : [ { - "key" : "size_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_60979.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_60979.json deleted file mode 100644 index bfbcb776f..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_60979.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_clinical_60979", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Clinical", - "title" : "Tumor Size Clinical", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:04:55.668Z", - "definition" : [ { - "key" : "size_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_breast_34385.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_breast_34385.json deleted file mode 100644 index bb61aef8e..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_breast_34385.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "tumor_size_clinical_breast_34385", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Clinical", - "title" : "Tumor Size Clinical", - "subtitle" : "Breast", - "notes" : "**Note:** Exception to rounding rules for **BREAST** primaries: Round tumor sizes greater than 1.0 mm and up to 2.4 mm to 2 mm (002). The purpose of this exception is so that the size recorded in the Tumor Size field will derive the correct AJCC TNM Primary Tumor (T) category for breast primaries. Do **not** apply this instruction to any other site.\n\nFor this schema, Tumor Size is used with EOD Primary Tumor to derive EOD T.\n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T19:58:32.892Z", - "definition" : [ { - "key" : "size_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "998", "Alternate descriptions of tumor size for specific sites:\n\nFamilial/multiple polyposis:\n- Rectosigmoid and rectum (C19.9, C20.9)\n- Colon (C18.0, C18.2-C18.9)\n\nIf no size is documented:\nCircumferential:\n- Esophagus (C15.0-C15.5, C15.8-C15.9)\n\nDiffuse; widespread: 3/4s or more; linitis plastica:\n- Stomach and Esophagus GE Junction (C16.0-C16.6, C16.8-C16.9)\n\nDiffuse, entire lung or NOS:\n- Lung and main stem bronchus (C34.0-C34.3, C34.8-C34.9)\n\nDiffuse:\n- Breast (C50.0-C50.6, C50.8-C50.9)" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_dna_64119.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_dna_64119.json deleted file mode 100644 index b242c4f55..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_dna_64119.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_clinical_dna_64119", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Clinical DNA", - "title" : "Tumor Size Clinical", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2020-05-19T20:50:17.197Z", - "definition" : [ { - "key" : "size_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "999", "Not applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_19656.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_19656.json deleted file mode 100644 index 101c0dc52..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_19656.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_clinical_full_19656", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Clinical full", - "title" : "Tumor Size Clinical", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:02:54.747Z", - "definition" : [ { - "key" : "size_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "998", "Alternate descriptions of tumor size for specific sites:\n\nFamilial/multiple polyposis:\n- Rectosigmoid and rectum (C19.9, C20.9)\n- Colon (C18.0, C18.2-C18.9)\n\nIf no size is documented:\nCircumferential:\n- Esophagus (C15.0-C15.5, C15.8-C15.9)\n\nDiffuse; widespread: 3/4s or more; linitis plastica:\n- Stomach and Esophagus GE Junction (C16.0-C16.6, C16.8-C16.9)\n\nDiffuse, entire lung or NOS:\n- Lung and main stem bronchus (C34.0-C34.3, C34.8-C34.9)\n\nDiffuse:\n- Breast (C50.0-C50.6, C50.8-C50.9)" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_74867.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_74867.json deleted file mode 100644 index 175f0b1c5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_clinical_full_74867.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_clinical_full_74867", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Clinical full", - "title" : "Tumor Size Clinical", - "notes" : "For this schema, Tumor Size is used with EOD Primary Tumor to derive EOD T. \n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:06:48.442Z", - "definition" : [ { - "key" : "size_clin", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "998", "Alternate descriptions of tumor size for specific sites:\n\nFamilial/multiple polyposis:\n- Rectosigmoid and rectum (C19.9, C20.9)\n- Colon (C18.0, C18.2-C18.9)\n\nIf no size is documented:\nCircumferential:\n- Esophagus (C15.0-C15.5, C15.8-C15.9)\n\nDiffuse; widespread: 3/4s or more; linitis plastica:\n- Stomach and Esophagus GE Junction (C16.0-C16.6, C16.8-C16.9)\n\nDiffuse, entire lung or NOS:\n- Lung and main stem bronchus (C34.0-C34.3, C34.8-C34.9)\n\nDiffuse:\n- Breast (C50.0-C50.6, C50.8-C50.9)" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_25597.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_25597.json deleted file mode 100644 index 22404e73b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_25597.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_pathological_25597", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Pathological", - "title" : "Tumor Size Pathological", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:05:08.762Z", - "definition" : [ { - "key" : "size_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_43328.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_43328.json deleted file mode 100644 index 60bd5a803..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_43328.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_pathological_43328", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Pathological", - "title" : "Tumor Size Pathological", - "notes" : "For this schema, Tumor Size is used with EOD Primary Tumor to derive EOD T. \n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:01:52.020Z", - "definition" : [ { - "key" : "size_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_breast_85445.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_breast_85445.json deleted file mode 100644 index d75b2b451..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_breast_85445.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "tumor_size_pathological_breast_85445", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Pathological", - "title" : "Tumor Size Pathological", - "subtitle" : "Breast", - "notes" : "**Note:** Exception to rounding rules for **BREAST** primaries: Round tumor sizes greater than 1.0 mm and up to 2.4 mm to 2 mm (002). The purpose of this exception is so that the size recorded in the Tumor Size field will derive the correct AJCC TNM Primary Tumor (T) category for breast primaries. Do **not** apply this instruction to any other site.\n\nFor this schema, Tumor Size is used with EOD Primary Tumor to derive EOD T.\n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:00:37.516Z", - "definition" : [ { - "key" : "size_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "998", "Alternate descriptions of tumor size for specific sites:\n\nFamilial/multiple polyposis:\n- Rectosigmoid and rectum (C19.9, C20.9)\n- Colon (C18.0, C18.2-C18.9)\n\nIf no size is documented:\nCircumferential:\n- Esophagus (C15.0-C15.5, C15.8-C15.9)\n\nDiffuse; widespread: 3/4s or more; linitis plastica:\n- Stomach and Esophagus GE Junction (C16.0-C16.6, C16.8-C16.9)\n\nDiffuse, entire lung or NOS:\n- Lung and main stem bronchus (C34.0-C34.3, C34.8-C34.9)\n\nDiffuse:\n- Breast (C50.0-C50.6, C50.8-C50.9)" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_dna_6742.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_dna_6742.json deleted file mode 100644 index a7ffd486c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_dna_6742.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_pathological_dna_6742", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Pathological DNA", - "title" : "Tumor Size Pathological", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2020-05-19T20:50:30.301Z", - "definition" : [ { - "key" : "size_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "999", "Not applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_62176.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_62176.json deleted file mode 100644 index a2557fd13..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_62176.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_pathological_full_62176", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Pathological full", - "title" : "Tumor Size Pathological", - "notes" : "For this schema, Tumor Size is used with EOD Primary Tumor to derive EOD T. \n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:07:03.723Z", - "definition" : [ { - "key" : "size_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "998", "Alternate descriptions of tumor size for specific sites:\n\nFamilial/multiple polyposis:\n- Rectosigmoid and rectum (C19.9, C20.9)\n- Colon (C18.0, C18.2-C18.9)\n\nIf no size is documented:\nCircumferential:\n- Esophagus (C15.0-C15.5, C15.8-C15.9)\n\nDiffuse; widespread: 3/4s or more; linitis plastica:\n- Stomach and Esophagus GE Junction (C16.0-C16.6, C16.8-C16.9)\n\nDiffuse, entire lung or NOS:\n- Lung and main stem bronchus (C34.0-C34.3, C34.8-C34.9)\n\nDiffuse:\n- Breast (C50.0-C50.6, C50.8-C50.9)" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_93442.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_93442.json deleted file mode 100644 index d0035a21a..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_pathological_full_93442.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_pathological_full_93442", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Pathological full", - "title" : "Tumor Size Pathological", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:03:12.006Z", - "definition" : [ { - "key" : "size_path", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "998", "Alternate descriptions of tumor size for specific sites:\n\nFamilial/multiple polyposis:\n- Rectosigmoid and rectum (C19.9, C20.9)\n- Colon (C18.0, C18.2-C18.9)\n\nIf no size is documented:\nCircumferential:\n- Esophagus (C15.0-C15.5, C15.8-C15.9)\n\nDiffuse; widespread: 3/4s or more; linitis plastica:\n- Stomach and Esophagus GE Junction (C16.0-C16.6, C16.8-C16.9)\n\nDiffuse, entire lung or NOS:\n- Lung and main stem bronchus (C34.0-C34.3, C34.8-C34.9)\n\nDiffuse:\n- Breast (C50.0-C50.6, C50.8-C50.9)" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_47973.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_47973.json deleted file mode 100644 index 0da834df8..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_47973.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_summary_47973", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Summary", - "title" : "Tumor Size Summary", - "notes" : "For this schema, Tumor Size is used with EOD Primary Tumor to derive EOD T. \n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:01:23.248Z", - "definition" : [ { - "key" : "size_summary", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_63115.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_63115.json deleted file mode 100644 index 3d7048a67..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_63115.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_summary_63115", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Summary", - "title" : "Tumor Size Summary", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:05:22.473Z", - "definition" : [ { - "key" : "size_summary", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_breast_14624.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_breast_14624.json deleted file mode 100644 index 5ab7fad21..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_breast_14624.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id" : "tumor_size_summary_breast_14624", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Summary", - "title" : "Tumor Size Summary", - "subtitle" : "Breast", - "notes" : "**Note:** Exception to rounding rules for **BREAST** primaries: Round tumor sizes greater than 1.0 mm and up to 2.4 mm to 2 mm (002). The purpose of this exception is so that the size recorded in the Tumor Size field will derive the correct AJCC TNM Primary Tumor (T) category for breast primaries. Do **not** apply this instruction to any other site.\n\nFor this schema, Tumor Size is used with EOD Primary Tumor to derive EOD T.\n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T19:58:04.152Z", - "definition" : [ { - "key" : "size_summary", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "998", "Alternate descriptions of tumor size for specific sites:\n\nFamilial/multiple polyposis:\n- Rectosigmoid and rectum (C19.9, C20.9)\n- Colon (C18.0, C18.2-C18.9)\n\nIf no size is documented:\nCircumferential:\n- Esophagus (C15.0-C15.5, C15.8-C15.9)\n\nDiffuse; widespread: 3/4s or more; linitis plastica:\n- Stomach and Esophagus GE Junction (C16.0-C16.6, C16.8-C16.9)\n\nDiffuse, entire lung or NOS:\n- Lung and main stem bronchus (C34.0-C34.3, C34.8-C34.9)\n\nDiffuse:\n- Breast (C50.0-C50.6, C50.8-C50.9)" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_dna_13275.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_dna_13275.json deleted file mode 100644 index a4dff097c..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_dna_13275.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_summary_dna_13275", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Summary DNA", - "title" : "Tumor Size Summary", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2020-05-19T20:50:43.676Z", - "definition" : [ { - "key" : "size_summary", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "999", "Not applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_15510.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_15510.json deleted file mode 100644 index ab53dec39..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_15510.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_summary_full_15510", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Summary full", - "title" : "Tumor Size Summary", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:03:23.830Z", - "definition" : [ { - "key" : "size_summary", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "998", "Alternate descriptions of tumor size for specific sites:\n\nFamilial/multiple polyposis:\n- Rectosigmoid and rectum (C19.9, C20.9)\n- Colon (C18.0, C18.2-C18.9)\n\nIf no size is documented:\nCircumferential:\n- Esophagus (C15.0-C15.5, C15.8-C15.9)\n\nDiffuse; widespread: 3/4s or more; linitis plastica:\n- Stomach and Esophagus GE Junction (C16.0-C16.6, C16.8-C16.9)\n\nDiffuse, entire lung or NOS:\n- Lung and main stem bronchus (C34.0-C34.3, C34.8-C34.9)\n\nDiffuse:\n- Breast (C50.0-C50.6, C50.8-C50.9)" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_31213.json b/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_31213.json deleted file mode 100644 index 846bc3d03..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/tumor_size_summary_full_31213.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "tumor_size_summary_full_31213", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Tumor Size Summary full", - "title" : "Tumor Size Summary", - "notes" : "For this schema, Tumor Size is used with EOD Primary Tumor to derive EOD T. \n\nSee the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2021-04-08T20:06:27.698Z", - "definition" : [ { - "key" : "size_summary", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Tumor Size Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "000", "No mass/tumor found" ], [ "001", "1 mm or described as less than 1 mm" ], [ "002-988", "Exact size in millimeters (2 mm to 988 mm)" ], [ "989", "989 millimeters or larger" ], [ "990", "Microscopic focus or foci only and no size of focus is given" ], [ "998", "Alternate descriptions of tumor size for specific sites:\n\nFamilial/multiple polyposis:\n- Rectosigmoid and rectum (C19.9, C20.9)\n- Colon (C18.0, C18.2-C18.9)\n\nIf no size is documented:\nCircumferential:\n- Esophagus (C15.0-C15.5, C15.8-C15.9)\n\nDiffuse; widespread: 3/4s or more; linitis plastica:\n- Stomach and Esophagus GE Junction (C16.0-C16.6, C16.8-C16.9)\n\nDiffuse, entire lung or NOS:\n- Lung and main stem bronchus (C34.0-C34.3, C34.8-C34.9)\n\nDiffuse:\n- Breast (C50.0-C50.6, C50.8-C50.9)" ], [ "999", "Unknown\nSize not stated\nNot documented in medical record\nSize of tumor cannot be assessed\nNot applicable" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/type_of_reporting_source_76696.json b/src/test/resources/algorithms/eod_public/3.3/tables/type_of_reporting_source_76696.json deleted file mode 100644 index 4d8cf13e5..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/type_of_reporting_source_76696.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "id" : "type_of_reporting_source_76696", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Type of Reporting Source", - "title" : "Type of Reporting Source", - "last_modified" : "2025-07-07T18:33:03.483Z", - "definition" : [ { - "key" : "reporting_source", - "name" : "Reporting Source", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Hospital inpatient; Managed health plans with comprehensive, unified medical records" ], [ "2", "Radiation Treatment Centers or Medical Oncology Centers (hospital-affiliated or independent)" ], [ "3", "Laboratory only (hospital-affiliated or independent)" ], [ "4", "Physician's office/private medical practitioner (LMD)" ], [ "5", "Nursing/convalescent home/hospice" ], [ "6", "Autopsy only" ], [ "7", "Death certificate only" ], [ "8", "Other hospital outpatient units/surgery centers" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/ulceration_5718.json b/src/test/resources/algorithms/eod_public/3.3/tables/ulceration_5718.json deleted file mode 100644 index 23b969edd..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/ulceration_5718.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id" : "ulceration_5718", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Ulceration", - "title" : "Ulceration", - "description" : "Ulceration, the absence of an intact epidermis overlying the primary melanoma based upon histopathological examination, is a prognostic factor for melanoma of the skin.\n\nUlceration is the formation of a break on the skin or on the surface of an organ. An ulcer forms when the surface cells die and are cast off. Ulcers may be associated with cancer and other diseases. \n\nPrimary tumor ulceration has been shown to be a dominant independent prognostic factor, and if present, changes the pT stage from T1a to T1b, T2a to T2b, etc., depending on the thickness of the tumor. \n\nThe presence or absence of ulceration must be confirmed on microscopic examination. Melanoma ulceration is defined as the combination of the following features \n* Full-thickness epidermal defect (including absence of stratum corneum and basement membrane)\n* Evidence of reactive changes (i.e., fibrin deposition, neutrophils); and thinning, effacement, or reactive hyperplasia of the surrounding epidermis in the absence of trauma or a recent surgical procedure\n* Ulcerated melanomas typically show invasion through the epidermis, whereas nonulcerated melanomas tend to lift the overlying epidermis", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of microscopically confirmed ulceration (e.g., based on biopsy or surgical resection) can be used to code this data item when no other information is available. \n\n**Note 2:** **Ulceration defined** \n* Melanoma ulceration is the absence of an intact epidermis overlying the primary melanoma based upon microscopic (histopathological) examination.\n* Ulceration can only be confirmed by microscopic examination. Do not use findings from physical exam. \n* It is possible for a patient to present with an ulcerated lesion noted on physical exam, but this is not the same thing as ulceration seen on a microscopic exam", - "last_modified" : "2025-11-06T18:45:44.881Z", - "definition" : [ { - "key" : "ulceration", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "Ulceration not identified/not present" ], [ "1", "Ulceration present" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nCannot be determined by the pathologist\nPathology report does not mention ulceration\nUlceration not assessed or unknown if assessed" ] ], - "additional_info" : "**Source documents:** pathology report\n\nFor further information, refer to the **Melanoma of the Skin** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Melanoma of the Skin*.", - "coding_guidelines" : "**1)** **Code 0** when\n* There is a statement in the pathology report that no ulceration is present\n* All specimens are negative OR one specimen is negative, and the other is unknown\n\n**2)** **Code 1** when \n* Any biopsy (punch, shave, excisional, etc.) or wide excision is positive for ulceration in the presence of an underlying melanoma\n* Ulceration must be caused by an underlying melanoma. \n * Ulceration caused by trauma from a previous procedure should not be coded as positive for this SSDI \n\n**3)** **Code 9** when\n* No information in the medical record\n* Pathology report is not available\n* Ulceration not evaluated (not assessed) \n* Unknown if Ulceration evaluated (assessed)\n* There is microscopic examination and there is no mention of ulceration.\n * This instruction **does** apply to non-invasive neoplasms (behavior /2)" -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/urethra_prostatic_urethra_30106.json b/src/test/resources/algorithms/eod_public/3.3/tables/urethra_prostatic_urethra_30106.json deleted file mode 100644 index d0c806404..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/urethra_prostatic_urethra_30106.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id" : "urethra_prostatic_urethra_30106", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Schema Discriminator 1", - "title" : "Schema Discriminator 1: Urethra/Prostatic Urethra", - "description" : "Urethra (male and female) and prostatic urethra have the same ICD-O topography code (C680). However, for purposes of stage grouping AJCC 8th edition, they each have different definitions for T or primary tumor extension. A schema discriminator is necessary to distinguish between these primary sites so that the appropriate sub(chapter)/schema is used.", - "notes" : "**Note:** **Schema discriminator for C680** \n* A schema discriminator is used to discriminate between urethra (male and female) and prostatic urethra. Code the site in which the tumor arose.\n\n* **Urethra: Male Penile Urethra and Female Urethra (see code 1)** \n\n Subsites include Urethra, NOS, Urethral Gland, Cowper gland\n\n* **Urethra: Prostatic Urethra (see code 2)**\n\n Subsites include Prostatic urethra, Prostatic utricle", - "last_modified" : "2025-11-06T21:25:02.755Z", - "definition" : [ { - "key" : "discriminator_1", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - }, { - "key" : "disease", - "name" : "Schema ID #/Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "1", "Male Penile Urethra\nFemale Urethra\nUrethral Gland\nCowper gland\n\nUrethra, NOS", "00631: Urethra" ], [ "2", "Males only\n- Prostatic urethra\n- Prostatic utricle", "00633: Urethra-Prostatic" ] ], - "additional_info" : "**Source documents:** Pathology report, imaging", - "rationale" : "A schema discriminator is used to assign AJCC ID when site and histology alone are insufficient to identify the applicable AJCC staging method and to assign Schema ID, which links each case to the appropriate SSDIs, Grade, Summary Stage and EOD data collection system." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/visceral_pleural_invasion_25940.json b/src/test/resources/algorithms/eod_public/3.3/tables/visceral_pleural_invasion_25940.json deleted file mode 100644 index 897d7d44b..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/visceral_pleural_invasion_25940.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id" : "visceral_pleural_invasion_25940", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Visceral and Parietal Pleural Invasion", - "title" : "Visceral and Parietal Pleural Invasion", - "description" : "Visceral and Parietal Pleural Invasion is defined as invasion beyond the elastic layer or to the surface of the visceral pleura. \n\nInvasion of one or more layers of the pleura covering the lung (visceral pleura), such as invasion beyond the elastic layer of the pleura. The elastic layer may be identified on hematoxylin and eosin (H&E) stains or by special stains looking for the elastic fibers. An elastic stain is not needed in most cases to assess the pleura for invasion, only in those cases where the distinction between PL0 and PL1 is unclear on H&E sections. Elastic stains may also be helpful in cases where the visceral and parietal pleura are adherent, making it difficult to identify the boundary between the visceral pleural surface and the parietal pleura.\n\nVPI is relevant for peripheral lung tumors. The presence of visceral pleural invasion by tumors smaller than 3 cm changes the T category from pT1 to pT2 and increases the stage from IA to IB in patients with no nodal disease or stage IIA to IIB in patients with peribronchial or hilar nodes. Studies have shown that tumors smaller than 3 cm that penetrate beyond the elastic layer of the visceral pleura behave similarly to similar-size tumors that extend to the visceral pleural surface. Visceral pleural invasion should therefore be considered present not only in tumors that extend to the visceral pleural surface, but also in tumors that penetrate beyond the elastic layer of the visceral pleura. Four to six layers of visceral pleura may be described by the pathologist.", - "notes" : "**Note 1:** **Physician Statement** \n* Physician statement of Visceral and Parietal Pleural Invasion can be used to code this data item when no other information is available.\n\n**Note 2:** **Criteria for coding** \n* A surgical resection **must** be done to determine if the visceral and/or parietal pleural is involved. \n * *Exception*: In situ tumors (/2) can be coded 0 based on biopsy or surgical resection\n* Do not use imaging findings to code this data item", - "last_modified" : "2025-11-05T21:58:39.742Z", - "definition" : [ { - "key" : "visceral_pleural_invasion", - "name" : "Code", - "type" : "INPUT" - }, { - "key" : "description", - "name" : "Description", - "type" : "DESCRIPTION" - } ], - "rows" : [ [ "0", "No evidence of visceral pleural invasion identified\nTumor does not completely traverse the elastic layer of the pleura\nStated as PL0\n\nPrimary tumor is in situ\nNon-invasive neoplasm (behavior /2)\nNo evidence of primary tumor" ], [ "4", "Invasion of visceral pleura present, NOS \nStated as PL1 or PL2" ], [ "5", "Tumor invades into or through the parietal pleura OR chest wall\nStated as PL3" ], [ "6", "Tumor extends to pleura, NOS; not stated if visceral or parietal" ], [ "8", "Not applicable: Information not collected for this case\n(If this item is required by your standard setter, use of code 8 will result in an edit error.)" ], [ "9", "Not documented in medical record\nNo surgical resection of primary site is performed\nVisceral Pleural Invasion not assessed or unknown if assessed or cannot be determined" ] ], - "additional_info" : "**Source documents:** pathology report\n\n**Other names include** VPI, PL (number)\n\nFor further information, refer to the **Lung** cancer protocol published by the College of American Pathologists for the AJCC Staging System *Lung*.", - "coding_guidelines" : "**1)** Record results of visceral pleural invasion as stated on pathology report. \n* Do not code separate pleural tumor foci or nodules in this field (discontinuous pleural metastasis). \n\n**2)** **Code 0** when \n* No evidence of visceral and parietal pleural invasion or described as PL0\n* Tumor does not penetrate beyond the elastic layer of the visceral pleura \n* Extends to the elastic layer\n* Non-invasive neoplasm (/2) neoplasms (surgical resection not required)\n\n**3)** **Code 4** when\n* Invasion of pleura without specifying visceral or parietal pleura\n* Uncertain whether elastic stain has been performed to identify visceral pleura invasion\n* Pathology report states PL1 or PL2\n\n**4)** **Code 5** when tumor extends to the parietal pleura (classified as T3) or described as PL3\n\n**5)** **Code 9** when \n* No information in the medical record\n* Only FNA performed (A FNA is not adequate to assess pleural layer invasion)\n* Surgical resection of the primary site is performed and there is no mention of visceral and/or parietal pleural invasion\n* Surgical pathology report is not available", - "rationale" : "Visceral and Parietal Pleural Invasion (previously called “pleural/elastic layer invasion (PL)”) is a Registry Data Collection Variable for AJCC. This data item was previously collected for Lung, SSF #2." -} \ No newline at end of file diff --git a/src/test/resources/algorithms/eod_public/3.3/tables/year_dx_validation.json b/src/test/resources/algorithms/eod_public/3.3/tables/year_dx_validation.json deleted file mode 100644 index 7b31c0c09..000000000 --- a/src/test/resources/algorithms/eod_public/3.3/tables/year_dx_validation.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id" : "year_dx_validation", - "algorithm" : "eod_public", - "version" : "3.3", - "name" : "Year DX Validation", - "title" : "Year of Diagnosis Validation", - "notes" : "See the [SEER Program Coding Manual](https://seer.cancer.gov/tools/codingmanuals/index.html) for coding instructions.", - "last_modified" : "2023-01-25T17:01:50.789Z", - "definition" : [ { - "key" : "year_dx", - "name" : "Year of Diagnosis", - "type" : "INPUT" - }, { - "key" : "result", - "name" : "Result", - "type" : "ENDPOINT" - } ], - "rows" : [ [ "2018-{{ctx_year_current}},9999", "MATCH" ], [ "", "MATCH" ] ] -} \ No newline at end of file diff --git a/src/test/resources/algorithms/pediatric-1.3.zip b/src/test/resources/algorithms/pediatric-1.3.zip new file mode 100644 index 0000000000000000000000000000000000000000..5f6e1c49184e57773d3151d3ca714a981a17d73e GIT binary patch literal 185948 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%0De_T~dX077lp#Gp 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%0A!cb6nfN^xmvHMrvZO_T=`>^tp^^+F7@U1p= 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Ξ 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%0D>F)goX;CpB6!q$>C(T%Ws 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¬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